mirror of
https://github.com/hansjone/oclaw.git
synced 2026-10-10 02:30:46 +08:00
同时收敛启动与运维脚本默认行为(含 wiki worker)、更新 Admin 可观测性与相关测试,降低首轮时延并提高运行稳定性。 Made-with: Cursor
74 lines
1.5 KiB
Swift
74 lines
1.5 KiB
Swift
import Foundation
|
|
import OpenClawProtocol
|
|
|
|
struct SkillsStatusReport: Codable {
|
|
let workspaceDir: String
|
|
let managedSkillsDir: String
|
|
let skills: [SkillStatus]
|
|
}
|
|
|
|
struct SkillStatus: Codable, Identifiable {
|
|
let name: String
|
|
let description: String
|
|
let source: String
|
|
let filePath: String
|
|
let baseDir: String
|
|
let skillKey: String
|
|
let primaryEnv: String?
|
|
let emoji: String?
|
|
let homepage: String?
|
|
let always: Bool
|
|
let disabled: Bool
|
|
let eligible: Bool
|
|
let requirements: SkillRequirements
|
|
let missing: SkillMissing
|
|
let configChecks: [SkillStatusConfigCheck]
|
|
let install: [SkillInstallOption]
|
|
|
|
var id: String {
|
|
self.name
|
|
}
|
|
}
|
|
|
|
struct SkillRequirements: Codable {
|
|
let bins: [String]
|
|
let env: [String]
|
|
let config: [String]
|
|
}
|
|
|
|
struct SkillMissing: Codable {
|
|
let bins: [String]
|
|
let env: [String]
|
|
let config: [String]
|
|
}
|
|
|
|
struct SkillStatusConfigCheck: Codable, Identifiable {
|
|
let path: String
|
|
let value: AnyCodable?
|
|
let satisfied: Bool
|
|
|
|
var id: String {
|
|
self.path
|
|
}
|
|
}
|
|
|
|
struct SkillInstallOption: Codable, Identifiable {
|
|
let id: String
|
|
let kind: String
|
|
let label: String
|
|
let bins: [String]
|
|
}
|
|
|
|
struct SkillInstallResult: Codable {
|
|
let ok: Bool
|
|
let message: String
|
|
let stdout: String?
|
|
let stderr: String?
|
|
let code: Int?
|
|
}
|
|
|
|
struct SkillUpdateResult: Codable {
|
|
let ok: Bool
|
|
let skillKey: String
|
|
let config: [String: AnyCodable]?
|
|
}
|