mirror of https://github.com/openclaw/openclaw.git
46 lines
1.2 KiB
Swift
46 lines
1.2 KiB
Swift
import ActivityKit
|
|
import Foundation
|
|
|
|
/// Shared schema used by iOS app + Live Activity widget extension.
|
|
struct OpenClawActivityAttributes: ActivityAttributes {
|
|
var agentName: String
|
|
var sessionKey: String
|
|
|
|
struct ContentState: Codable, Hashable {
|
|
var statusText: String
|
|
var isIdle: Bool
|
|
var isDisconnected: Bool
|
|
var isConnecting: Bool
|
|
var startedAt: Date
|
|
}
|
|
}
|
|
|
|
#if DEBUG
|
|
extension OpenClawActivityAttributes {
|
|
static let preview = OpenClawActivityAttributes(agentName: "main", sessionKey: "main")
|
|
}
|
|
|
|
extension OpenClawActivityAttributes.ContentState {
|
|
static let connecting = OpenClawActivityAttributes.ContentState(
|
|
statusText: "Connecting...",
|
|
isIdle: false,
|
|
isDisconnected: false,
|
|
isConnecting: true,
|
|
startedAt: .now)
|
|
|
|
static let idle = OpenClawActivityAttributes.ContentState(
|
|
statusText: "Idle",
|
|
isIdle: true,
|
|
isDisconnected: false,
|
|
isConnecting: false,
|
|
startedAt: .now)
|
|
|
|
static let disconnected = OpenClawActivityAttributes.ContentState(
|
|
statusText: "Disconnected",
|
|
isIdle: false,
|
|
isDisconnected: true,
|
|
isConnecting: false,
|
|
startedAt: .now)
|
|
}
|
|
#endif
|