mirror of
https://github.com/hansjone/oclaw.git
synced 2026-10-10 02:30:46 +08:00
同时收敛启动与运维脚本默认行为(含 wiki worker)、更新 Admin 可观测性与相关测试,降低首轮时延并提高运行稳定性。 Made-with: Cursor
34 lines
1.1 KiB
Swift
34 lines
1.1 KiB
Swift
import Foundation
|
|
import OpenClawKit
|
|
|
|
enum GatewayStatusBuilder {
|
|
@MainActor
|
|
static func build(appModel: NodeAppModel) -> StatusPill.GatewayState {
|
|
self.build(
|
|
gatewayServerName: appModel.gatewayServerName,
|
|
lastGatewayProblem: appModel.lastGatewayProblem,
|
|
gatewayStatusText: appModel.gatewayStatusText)
|
|
}
|
|
|
|
static func build(
|
|
gatewayServerName: String?,
|
|
lastGatewayProblem: GatewayConnectionProblem?,
|
|
gatewayStatusText: String) -> StatusPill.GatewayState
|
|
{
|
|
if gatewayServerName != nil { return .connected }
|
|
if let lastGatewayProblem, lastGatewayProblem.pauseReconnect { return .error }
|
|
|
|
let text = gatewayStatusText.trimmingCharacters(in: .whitespacesAndNewlines)
|
|
if text.localizedCaseInsensitiveContains("connecting") ||
|
|
text.localizedCaseInsensitiveContains("reconnecting")
|
|
{
|
|
return .connecting
|
|
}
|
|
|
|
if text.localizedCaseInsensitiveContains("error") {
|
|
return .error
|
|
}
|
|
|
|
return .disconnected
|
|
}
|
|
}
|