import Foundation public enum OpenClawWatchCommand: String, Codable, Sendable { case status = "watch.status" case notify = "watch.notify" } public enum OpenClawWatchRisk: String, Codable, Sendable, Equatable { case low case medium case high } public struct OpenClawWatchAction: Codable, Sendable, Equatable { public var id: String public var label: String public var style: String? public init(id: String, label: String, style: String? = nil) { self.id = id self.label = label self.style = style } } public struct OpenClawWatchStatusPayload: Codable, Sendable, Equatable { public var supported: Bool public var paired: Bool public var appInstalled: Bool public var reachable: Bool public var activationState: String public init( supported: Bool, paired: Bool, appInstalled: Bool, reachable: Bool, activationState: String) { self.supported = supported self.paired = paired self.appInstalled = appInstalled self.reachable = reachable self.activationState = activationState } } public struct OpenClawWatchNotifyParams: Codable, Sendable, Equatable { public var title: String public var body: String public var priority: OpenClawNotificationPriority? public var promptId: String? public var sessionKey: String? public var kind: String? public var details: String? public var expiresAtMs: Int? public var risk: OpenClawWatchRisk? public var actions: [OpenClawWatchAction]? public init( title: String, body: String, priority: OpenClawNotificationPriority? = nil, promptId: String? = nil, sessionKey: String? = nil, kind: String? = nil, details: String? = nil, expiresAtMs: Int? = nil, risk: OpenClawWatchRisk? = nil, actions: [OpenClawWatchAction]? = nil) { self.title = title self.body = body self.priority = priority self.promptId = promptId self.sessionKey = sessionKey self.kind = kind self.details = details self.expiresAtMs = expiresAtMs self.risk = risk self.actions = actions } } public struct OpenClawWatchNotifyPayload: Codable, Sendable, Equatable { public var deliveredImmediately: Bool public var queuedForDelivery: Bool public var transport: String public init(deliveredImmediately: Bool, queuedForDelivery: Bool, transport: String) { self.deliveredImmediately = deliveredImmediately self.queuedForDelivery = queuedForDelivery self.transport = transport } }