1780 lines
44 KiB
Swift
1780 lines
44 KiB
Swift
// Generated by scripts/protocol-gen-swift.ts — do not edit by hand
|
|
import Foundation
|
|
|
|
public let GATEWAY_PROTOCOL_VERSION = 3
|
|
|
|
public enum ErrorCode: String, Codable, Sendable {
|
|
case notLinked = "NOT_LINKED"
|
|
case agentTimeout = "AGENT_TIMEOUT"
|
|
case invalidRequest = "INVALID_REQUEST"
|
|
case unavailable = "UNAVAILABLE"
|
|
}
|
|
|
|
public struct ConnectParams: Codable, Sendable {
|
|
public let minprotocol: Int
|
|
public let maxprotocol: Int
|
|
public let client: [String: AnyCodable]
|
|
public let caps: [String]?
|
|
public let auth: [String: AnyCodable]?
|
|
public let locale: String?
|
|
public let useragent: String?
|
|
|
|
public init(
|
|
minprotocol: Int,
|
|
maxprotocol: Int,
|
|
client: [String: AnyCodable],
|
|
caps: [String]?,
|
|
auth: [String: AnyCodable]?,
|
|
locale: String?,
|
|
useragent: String?
|
|
) {
|
|
self.minprotocol = minprotocol
|
|
self.maxprotocol = maxprotocol
|
|
self.client = client
|
|
self.caps = caps
|
|
self.auth = auth
|
|
self.locale = locale
|
|
self.useragent = useragent
|
|
}
|
|
private enum CodingKeys: String, CodingKey {
|
|
case minprotocol = "minProtocol"
|
|
case maxprotocol = "maxProtocol"
|
|
case client
|
|
case caps
|
|
case auth
|
|
case locale
|
|
case useragent = "userAgent"
|
|
}
|
|
}
|
|
|
|
public struct HelloOk: Codable, Sendable {
|
|
public let type: String
|
|
public let _protocol: Int
|
|
public let server: [String: AnyCodable]
|
|
public let features: [String: AnyCodable]
|
|
public let snapshot: Snapshot
|
|
public let canvashosturl: String?
|
|
public let policy: [String: AnyCodable]
|
|
|
|
public init(
|
|
type: String,
|
|
_protocol: Int,
|
|
server: [String: AnyCodable],
|
|
features: [String: AnyCodable],
|
|
snapshot: Snapshot,
|
|
canvashosturl: String?,
|
|
policy: [String: AnyCodable]
|
|
) {
|
|
self.type = type
|
|
self._protocol = _protocol
|
|
self.server = server
|
|
self.features = features
|
|
self.snapshot = snapshot
|
|
self.canvashosturl = canvashosturl
|
|
self.policy = policy
|
|
}
|
|
private enum CodingKeys: String, CodingKey {
|
|
case type
|
|
case _protocol = "protocol"
|
|
case server
|
|
case features
|
|
case snapshot
|
|
case canvashosturl = "canvasHostUrl"
|
|
case policy
|
|
}
|
|
}
|
|
|
|
public struct RequestFrame: Codable, Sendable {
|
|
public let type: String
|
|
public let id: String
|
|
public let method: String
|
|
public let params: AnyCodable?
|
|
|
|
public init(
|
|
type: String,
|
|
id: String,
|
|
method: String,
|
|
params: AnyCodable?
|
|
) {
|
|
self.type = type
|
|
self.id = id
|
|
self.method = method
|
|
self.params = params
|
|
}
|
|
private enum CodingKeys: String, CodingKey {
|
|
case type
|
|
case id
|
|
case method
|
|
case params
|
|
}
|
|
}
|
|
|
|
public struct ResponseFrame: Codable, Sendable {
|
|
public let type: String
|
|
public let id: String
|
|
public let ok: Bool
|
|
public let payload: AnyCodable?
|
|
public let error: [String: AnyCodable]?
|
|
|
|
public init(
|
|
type: String,
|
|
id: String,
|
|
ok: Bool,
|
|
payload: AnyCodable?,
|
|
error: [String: AnyCodable]?
|
|
) {
|
|
self.type = type
|
|
self.id = id
|
|
self.ok = ok
|
|
self.payload = payload
|
|
self.error = error
|
|
}
|
|
private enum CodingKeys: String, CodingKey {
|
|
case type
|
|
case id
|
|
case ok
|
|
case payload
|
|
case error
|
|
}
|
|
}
|
|
|
|
public struct EventFrame: Codable, Sendable {
|
|
public let type: String
|
|
public let event: String
|
|
public let payload: AnyCodable?
|
|
public let seq: Int?
|
|
public let stateversion: [String: AnyCodable]?
|
|
|
|
public init(
|
|
type: String,
|
|
event: String,
|
|
payload: AnyCodable?,
|
|
seq: Int?,
|
|
stateversion: [String: AnyCodable]?
|
|
) {
|
|
self.type = type
|
|
self.event = event
|
|
self.payload = payload
|
|
self.seq = seq
|
|
self.stateversion = stateversion
|
|
}
|
|
private enum CodingKeys: String, CodingKey {
|
|
case type
|
|
case event
|
|
case payload
|
|
case seq
|
|
case stateversion = "stateVersion"
|
|
}
|
|
}
|
|
|
|
public struct PresenceEntry: Codable, Sendable {
|
|
public let host: String?
|
|
public let ip: String?
|
|
public let version: String?
|
|
public let platform: String?
|
|
public let devicefamily: String?
|
|
public let modelidentifier: String?
|
|
public let mode: String?
|
|
public let lastinputseconds: Int?
|
|
public let reason: String?
|
|
public let tags: [String]?
|
|
public let text: String?
|
|
public let ts: Int
|
|
public let instanceid: String?
|
|
|
|
public init(
|
|
host: String?,
|
|
ip: String?,
|
|
version: String?,
|
|
platform: String?,
|
|
devicefamily: String?,
|
|
modelidentifier: String?,
|
|
mode: String?,
|
|
lastinputseconds: Int?,
|
|
reason: String?,
|
|
tags: [String]?,
|
|
text: String?,
|
|
ts: Int,
|
|
instanceid: String?
|
|
) {
|
|
self.host = host
|
|
self.ip = ip
|
|
self.version = version
|
|
self.platform = platform
|
|
self.devicefamily = devicefamily
|
|
self.modelidentifier = modelidentifier
|
|
self.mode = mode
|
|
self.lastinputseconds = lastinputseconds
|
|
self.reason = reason
|
|
self.tags = tags
|
|
self.text = text
|
|
self.ts = ts
|
|
self.instanceid = instanceid
|
|
}
|
|
private enum CodingKeys: String, CodingKey {
|
|
case host
|
|
case ip
|
|
case version
|
|
case platform
|
|
case devicefamily = "deviceFamily"
|
|
case modelidentifier = "modelIdentifier"
|
|
case mode
|
|
case lastinputseconds = "lastInputSeconds"
|
|
case reason
|
|
case tags
|
|
case text
|
|
case ts
|
|
case instanceid = "instanceId"
|
|
}
|
|
}
|
|
|
|
public struct StateVersion: Codable, Sendable {
|
|
public let presence: Int
|
|
public let health: Int
|
|
|
|
public init(
|
|
presence: Int,
|
|
health: Int
|
|
) {
|
|
self.presence = presence
|
|
self.health = health
|
|
}
|
|
private enum CodingKeys: String, CodingKey {
|
|
case presence
|
|
case health
|
|
}
|
|
}
|
|
|
|
public struct Snapshot: Codable, Sendable {
|
|
public let presence: [PresenceEntry]
|
|
public let health: AnyCodable
|
|
public let stateversion: StateVersion
|
|
public let uptimems: Int
|
|
public let configpath: String?
|
|
public let statedir: String?
|
|
|
|
public init(
|
|
presence: [PresenceEntry],
|
|
health: AnyCodable,
|
|
stateversion: StateVersion,
|
|
uptimems: Int,
|
|
configpath: String?,
|
|
statedir: String?
|
|
) {
|
|
self.presence = presence
|
|
self.health = health
|
|
self.stateversion = stateversion
|
|
self.uptimems = uptimems
|
|
self.configpath = configpath
|
|
self.statedir = statedir
|
|
}
|
|
private enum CodingKeys: String, CodingKey {
|
|
case presence
|
|
case health
|
|
case stateversion = "stateVersion"
|
|
case uptimems = "uptimeMs"
|
|
case configpath = "configPath"
|
|
case statedir = "stateDir"
|
|
}
|
|
}
|
|
|
|
public struct ErrorShape: Codable, Sendable {
|
|
public let code: String
|
|
public let message: String
|
|
public let details: AnyCodable?
|
|
public let retryable: Bool?
|
|
public let retryafterms: Int?
|
|
|
|
public init(
|
|
code: String,
|
|
message: String,
|
|
details: AnyCodable?,
|
|
retryable: Bool?,
|
|
retryafterms: Int?
|
|
) {
|
|
self.code = code
|
|
self.message = message
|
|
self.details = details
|
|
self.retryable = retryable
|
|
self.retryafterms = retryafterms
|
|
}
|
|
private enum CodingKeys: String, CodingKey {
|
|
case code
|
|
case message
|
|
case details
|
|
case retryable
|
|
case retryafterms = "retryAfterMs"
|
|
}
|
|
}
|
|
|
|
public struct AgentEvent: Codable, Sendable {
|
|
public let runid: String
|
|
public let seq: Int
|
|
public let stream: String
|
|
public let ts: Int
|
|
public let data: [String: AnyCodable]
|
|
|
|
public init(
|
|
runid: String,
|
|
seq: Int,
|
|
stream: String,
|
|
ts: Int,
|
|
data: [String: AnyCodable]
|
|
) {
|
|
self.runid = runid
|
|
self.seq = seq
|
|
self.stream = stream
|
|
self.ts = ts
|
|
self.data = data
|
|
}
|
|
private enum CodingKeys: String, CodingKey {
|
|
case runid = "runId"
|
|
case seq
|
|
case stream
|
|
case ts
|
|
case data
|
|
}
|
|
}
|
|
|
|
public struct SendParams: Codable, Sendable {
|
|
public let to: String
|
|
public let message: String
|
|
public let mediaurl: String?
|
|
public let gifplayback: Bool?
|
|
public let provider: String?
|
|
public let accountid: String?
|
|
public let idempotencykey: String
|
|
|
|
public init(
|
|
to: String,
|
|
message: String,
|
|
mediaurl: String?,
|
|
gifplayback: Bool?,
|
|
provider: String?,
|
|
accountid: String?,
|
|
idempotencykey: String
|
|
) {
|
|
self.to = to
|
|
self.message = message
|
|
self.mediaurl = mediaurl
|
|
self.gifplayback = gifplayback
|
|
self.provider = provider
|
|
self.accountid = accountid
|
|
self.idempotencykey = idempotencykey
|
|
}
|
|
private enum CodingKeys: String, CodingKey {
|
|
case to
|
|
case message
|
|
case mediaurl = "mediaUrl"
|
|
case gifplayback = "gifPlayback"
|
|
case provider
|
|
case accountid = "accountId"
|
|
case idempotencykey = "idempotencyKey"
|
|
}
|
|
}
|
|
|
|
public struct PollParams: Codable, Sendable {
|
|
public let to: String
|
|
public let question: String
|
|
public let options: [String]
|
|
public let maxselections: Int?
|
|
public let durationhours: Int?
|
|
public let provider: String?
|
|
public let accountid: String?
|
|
public let idempotencykey: String
|
|
|
|
public init(
|
|
to: String,
|
|
question: String,
|
|
options: [String],
|
|
maxselections: Int?,
|
|
durationhours: Int?,
|
|
provider: String?,
|
|
accountid: String?,
|
|
idempotencykey: String
|
|
) {
|
|
self.to = to
|
|
self.question = question
|
|
self.options = options
|
|
self.maxselections = maxselections
|
|
self.durationhours = durationhours
|
|
self.provider = provider
|
|
self.accountid = accountid
|
|
self.idempotencykey = idempotencykey
|
|
}
|
|
private enum CodingKeys: String, CodingKey {
|
|
case to
|
|
case question
|
|
case options
|
|
case maxselections = "maxSelections"
|
|
case durationhours = "durationHours"
|
|
case provider
|
|
case accountid = "accountId"
|
|
case idempotencykey = "idempotencyKey"
|
|
}
|
|
}
|
|
|
|
public struct AgentParams: Codable, Sendable {
|
|
public let message: String
|
|
public let to: String?
|
|
public let sessionid: String?
|
|
public let sessionkey: String?
|
|
public let thinking: String?
|
|
public let deliver: Bool?
|
|
public let attachments: [AnyCodable]?
|
|
public let provider: String?
|
|
public let timeout: Int?
|
|
public let lane: String?
|
|
public let extrasystemprompt: String?
|
|
public let idempotencykey: String
|
|
public let label: String?
|
|
public let spawnedby: String?
|
|
|
|
public init(
|
|
message: String,
|
|
to: String?,
|
|
sessionid: String?,
|
|
sessionkey: String?,
|
|
thinking: String?,
|
|
deliver: Bool?,
|
|
attachments: [AnyCodable]?,
|
|
provider: String?,
|
|
timeout: Int?,
|
|
lane: String?,
|
|
extrasystemprompt: String?,
|
|
idempotencykey: String,
|
|
label: String?,
|
|
spawnedby: String?
|
|
) {
|
|
self.message = message
|
|
self.to = to
|
|
self.sessionid = sessionid
|
|
self.sessionkey = sessionkey
|
|
self.thinking = thinking
|
|
self.deliver = deliver
|
|
self.attachments = attachments
|
|
self.provider = provider
|
|
self.timeout = timeout
|
|
self.lane = lane
|
|
self.extrasystemprompt = extrasystemprompt
|
|
self.idempotencykey = idempotencykey
|
|
self.label = label
|
|
self.spawnedby = spawnedby
|
|
}
|
|
private enum CodingKeys: String, CodingKey {
|
|
case message
|
|
case to
|
|
case sessionid = "sessionId"
|
|
case sessionkey = "sessionKey"
|
|
case thinking
|
|
case deliver
|
|
case attachments
|
|
case provider
|
|
case timeout
|
|
case lane
|
|
case extrasystemprompt = "extraSystemPrompt"
|
|
case idempotencykey = "idempotencyKey"
|
|
case label
|
|
case spawnedby = "spawnedBy"
|
|
}
|
|
}
|
|
|
|
public struct AgentWaitParams: Codable, Sendable {
|
|
public let runid: String
|
|
public let timeoutms: Int?
|
|
|
|
public init(
|
|
runid: String,
|
|
timeoutms: Int?
|
|
) {
|
|
self.runid = runid
|
|
self.timeoutms = timeoutms
|
|
}
|
|
private enum CodingKeys: String, CodingKey {
|
|
case runid = "runId"
|
|
case timeoutms = "timeoutMs"
|
|
}
|
|
}
|
|
|
|
public struct WakeParams: Codable, Sendable {
|
|
public let mode: AnyCodable
|
|
public let text: String
|
|
|
|
public init(
|
|
mode: AnyCodable,
|
|
text: String
|
|
) {
|
|
self.mode = mode
|
|
self.text = text
|
|
}
|
|
private enum CodingKeys: String, CodingKey {
|
|
case mode
|
|
case text
|
|
}
|
|
}
|
|
|
|
public struct NodePairRequestParams: Codable, Sendable {
|
|
public let nodeid: String
|
|
public let displayname: String?
|
|
public let platform: String?
|
|
public let version: String?
|
|
public let devicefamily: String?
|
|
public let modelidentifier: String?
|
|
public let caps: [String]?
|
|
public let commands: [String]?
|
|
public let remoteip: String?
|
|
public let silent: Bool?
|
|
|
|
public init(
|
|
nodeid: String,
|
|
displayname: String?,
|
|
platform: String?,
|
|
version: String?,
|
|
devicefamily: String?,
|
|
modelidentifier: String?,
|
|
caps: [String]?,
|
|
commands: [String]?,
|
|
remoteip: String?,
|
|
silent: Bool?
|
|
) {
|
|
self.nodeid = nodeid
|
|
self.displayname = displayname
|
|
self.platform = platform
|
|
self.version = version
|
|
self.devicefamily = devicefamily
|
|
self.modelidentifier = modelidentifier
|
|
self.caps = caps
|
|
self.commands = commands
|
|
self.remoteip = remoteip
|
|
self.silent = silent
|
|
}
|
|
private enum CodingKeys: String, CodingKey {
|
|
case nodeid = "nodeId"
|
|
case displayname = "displayName"
|
|
case platform
|
|
case version
|
|
case devicefamily = "deviceFamily"
|
|
case modelidentifier = "modelIdentifier"
|
|
case caps
|
|
case commands
|
|
case remoteip = "remoteIp"
|
|
case silent
|
|
}
|
|
}
|
|
|
|
public struct NodePairListParams: Codable, Sendable {
|
|
}
|
|
|
|
public struct NodePairApproveParams: Codable, Sendable {
|
|
public let requestid: String
|
|
|
|
public init(
|
|
requestid: String
|
|
) {
|
|
self.requestid = requestid
|
|
}
|
|
private enum CodingKeys: String, CodingKey {
|
|
case requestid = "requestId"
|
|
}
|
|
}
|
|
|
|
public struct NodePairRejectParams: Codable, Sendable {
|
|
public let requestid: String
|
|
|
|
public init(
|
|
requestid: String
|
|
) {
|
|
self.requestid = requestid
|
|
}
|
|
private enum CodingKeys: String, CodingKey {
|
|
case requestid = "requestId"
|
|
}
|
|
}
|
|
|
|
public struct NodePairVerifyParams: Codable, Sendable {
|
|
public let nodeid: String
|
|
public let token: String
|
|
|
|
public init(
|
|
nodeid: String,
|
|
token: String
|
|
) {
|
|
self.nodeid = nodeid
|
|
self.token = token
|
|
}
|
|
private enum CodingKeys: String, CodingKey {
|
|
case nodeid = "nodeId"
|
|
case token
|
|
}
|
|
}
|
|
|
|
public struct NodeRenameParams: Codable, Sendable {
|
|
public let nodeid: String
|
|
public let displayname: String
|
|
|
|
public init(
|
|
nodeid: String,
|
|
displayname: String
|
|
) {
|
|
self.nodeid = nodeid
|
|
self.displayname = displayname
|
|
}
|
|
private enum CodingKeys: String, CodingKey {
|
|
case nodeid = "nodeId"
|
|
case displayname = "displayName"
|
|
}
|
|
}
|
|
|
|
public struct NodeListParams: Codable, Sendable {
|
|
}
|
|
|
|
public struct NodeDescribeParams: Codable, Sendable {
|
|
public let nodeid: String
|
|
|
|
public init(
|
|
nodeid: String
|
|
) {
|
|
self.nodeid = nodeid
|
|
}
|
|
private enum CodingKeys: String, CodingKey {
|
|
case nodeid = "nodeId"
|
|
}
|
|
}
|
|
|
|
public struct NodeInvokeParams: Codable, Sendable {
|
|
public let nodeid: String
|
|
public let command: String
|
|
public let params: AnyCodable?
|
|
public let timeoutms: Int?
|
|
public let idempotencykey: String
|
|
|
|
public init(
|
|
nodeid: String,
|
|
command: String,
|
|
params: AnyCodable?,
|
|
timeoutms: Int?,
|
|
idempotencykey: String
|
|
) {
|
|
self.nodeid = nodeid
|
|
self.command = command
|
|
self.params = params
|
|
self.timeoutms = timeoutms
|
|
self.idempotencykey = idempotencykey
|
|
}
|
|
private enum CodingKeys: String, CodingKey {
|
|
case nodeid = "nodeId"
|
|
case command
|
|
case params
|
|
case timeoutms = "timeoutMs"
|
|
case idempotencykey = "idempotencyKey"
|
|
}
|
|
}
|
|
|
|
public struct SessionsListParams: Codable, Sendable {
|
|
public let limit: Int?
|
|
public let activeminutes: Int?
|
|
public let includeglobal: Bool?
|
|
public let includeunknown: Bool?
|
|
public let label: String?
|
|
public let spawnedby: String?
|
|
public let agentid: String?
|
|
|
|
public init(
|
|
limit: Int?,
|
|
activeminutes: Int?,
|
|
includeglobal: Bool?,
|
|
includeunknown: Bool?,
|
|
label: String?,
|
|
spawnedby: String?,
|
|
agentid: String?
|
|
) {
|
|
self.limit = limit
|
|
self.activeminutes = activeminutes
|
|
self.includeglobal = includeglobal
|
|
self.includeunknown = includeunknown
|
|
self.label = label
|
|
self.spawnedby = spawnedby
|
|
self.agentid = agentid
|
|
}
|
|
private enum CodingKeys: String, CodingKey {
|
|
case limit
|
|
case activeminutes = "activeMinutes"
|
|
case includeglobal = "includeGlobal"
|
|
case includeunknown = "includeUnknown"
|
|
case label
|
|
case spawnedby = "spawnedBy"
|
|
case agentid = "agentId"
|
|
}
|
|
}
|
|
|
|
public struct SessionsResolveParams: Codable, Sendable {
|
|
public let key: String?
|
|
public let label: String?
|
|
public let agentid: String?
|
|
public let spawnedby: String?
|
|
public let includeglobal: Bool?
|
|
public let includeunknown: Bool?
|
|
|
|
public init(
|
|
key: String?,
|
|
label: String?,
|
|
agentid: String?,
|
|
spawnedby: String?,
|
|
includeglobal: Bool?,
|
|
includeunknown: Bool?
|
|
) {
|
|
self.key = key
|
|
self.label = label
|
|
self.agentid = agentid
|
|
self.spawnedby = spawnedby
|
|
self.includeglobal = includeglobal
|
|
self.includeunknown = includeunknown
|
|
}
|
|
private enum CodingKeys: String, CodingKey {
|
|
case key
|
|
case label
|
|
case agentid = "agentId"
|
|
case spawnedby = "spawnedBy"
|
|
case includeglobal = "includeGlobal"
|
|
case includeunknown = "includeUnknown"
|
|
}
|
|
}
|
|
|
|
public struct SessionsPatchParams: Codable, Sendable {
|
|
public let key: String
|
|
public let label: AnyCodable?
|
|
public let thinkinglevel: AnyCodable?
|
|
public let verboselevel: AnyCodable?
|
|
public let reasoninglevel: AnyCodable?
|
|
public let responseusage: AnyCodable?
|
|
public let elevatedlevel: AnyCodable?
|
|
public let model: AnyCodable?
|
|
public let spawnedby: AnyCodable?
|
|
public let sendpolicy: AnyCodable?
|
|
public let groupactivation: AnyCodable?
|
|
|
|
public init(
|
|
key: String,
|
|
label: AnyCodable?,
|
|
thinkinglevel: AnyCodable?,
|
|
verboselevel: AnyCodable?,
|
|
reasoninglevel: AnyCodable?,
|
|
responseusage: AnyCodable?,
|
|
elevatedlevel: AnyCodable?,
|
|
model: AnyCodable?,
|
|
spawnedby: AnyCodable?,
|
|
sendpolicy: AnyCodable?,
|
|
groupactivation: AnyCodable?
|
|
) {
|
|
self.key = key
|
|
self.label = label
|
|
self.thinkinglevel = thinkinglevel
|
|
self.verboselevel = verboselevel
|
|
self.reasoninglevel = reasoninglevel
|
|
self.responseusage = responseusage
|
|
self.elevatedlevel = elevatedlevel
|
|
self.model = model
|
|
self.spawnedby = spawnedby
|
|
self.sendpolicy = sendpolicy
|
|
self.groupactivation = groupactivation
|
|
}
|
|
private enum CodingKeys: String, CodingKey {
|
|
case key
|
|
case label
|
|
case thinkinglevel = "thinkingLevel"
|
|
case verboselevel = "verboseLevel"
|
|
case reasoninglevel = "reasoningLevel"
|
|
case responseusage = "responseUsage"
|
|
case elevatedlevel = "elevatedLevel"
|
|
case model
|
|
case spawnedby = "spawnedBy"
|
|
case sendpolicy = "sendPolicy"
|
|
case groupactivation = "groupActivation"
|
|
}
|
|
}
|
|
|
|
public struct SessionsResetParams: Codable, Sendable {
|
|
public let key: String
|
|
|
|
public init(
|
|
key: String
|
|
) {
|
|
self.key = key
|
|
}
|
|
private enum CodingKeys: String, CodingKey {
|
|
case key
|
|
}
|
|
}
|
|
|
|
public struct SessionsDeleteParams: Codable, Sendable {
|
|
public let key: String
|
|
public let deletetranscript: Bool?
|
|
|
|
public init(
|
|
key: String,
|
|
deletetranscript: Bool?
|
|
) {
|
|
self.key = key
|
|
self.deletetranscript = deletetranscript
|
|
}
|
|
private enum CodingKeys: String, CodingKey {
|
|
case key
|
|
case deletetranscript = "deleteTranscript"
|
|
}
|
|
}
|
|
|
|
public struct SessionsCompactParams: Codable, Sendable {
|
|
public let key: String
|
|
public let maxlines: Int?
|
|
|
|
public init(
|
|
key: String,
|
|
maxlines: Int?
|
|
) {
|
|
self.key = key
|
|
self.maxlines = maxlines
|
|
}
|
|
private enum CodingKeys: String, CodingKey {
|
|
case key
|
|
case maxlines = "maxLines"
|
|
}
|
|
}
|
|
|
|
public struct ConfigGetParams: Codable, Sendable {
|
|
}
|
|
|
|
public struct ConfigSetParams: Codable, Sendable {
|
|
public let raw: String
|
|
|
|
public init(
|
|
raw: String
|
|
) {
|
|
self.raw = raw
|
|
}
|
|
private enum CodingKeys: String, CodingKey {
|
|
case raw
|
|
}
|
|
}
|
|
|
|
public struct ConfigApplyParams: Codable, Sendable {
|
|
public let raw: String
|
|
public let sessionkey: String?
|
|
public let note: String?
|
|
public let restartdelayms: Int?
|
|
|
|
public init(
|
|
raw: String,
|
|
sessionkey: String?,
|
|
note: String?,
|
|
restartdelayms: Int?
|
|
) {
|
|
self.raw = raw
|
|
self.sessionkey = sessionkey
|
|
self.note = note
|
|
self.restartdelayms = restartdelayms
|
|
}
|
|
private enum CodingKeys: String, CodingKey {
|
|
case raw
|
|
case sessionkey = "sessionKey"
|
|
case note
|
|
case restartdelayms = "restartDelayMs"
|
|
}
|
|
}
|
|
|
|
public struct ConfigSchemaParams: Codable, Sendable {
|
|
}
|
|
|
|
public struct ConfigSchemaResponse: Codable, Sendable {
|
|
public let schema: AnyCodable
|
|
public let uihints: [String: AnyCodable]
|
|
public let version: String
|
|
public let generatedat: String
|
|
|
|
public init(
|
|
schema: AnyCodable,
|
|
uihints: [String: AnyCodable],
|
|
version: String,
|
|
generatedat: String
|
|
) {
|
|
self.schema = schema
|
|
self.uihints = uihints
|
|
self.version = version
|
|
self.generatedat = generatedat
|
|
}
|
|
private enum CodingKeys: String, CodingKey {
|
|
case schema
|
|
case uihints = "uiHints"
|
|
case version
|
|
case generatedat = "generatedAt"
|
|
}
|
|
}
|
|
|
|
public struct WizardStartParams: Codable, Sendable {
|
|
public let mode: AnyCodable?
|
|
public let workspace: String?
|
|
|
|
public init(
|
|
mode: AnyCodable?,
|
|
workspace: String?
|
|
) {
|
|
self.mode = mode
|
|
self.workspace = workspace
|
|
}
|
|
private enum CodingKeys: String, CodingKey {
|
|
case mode
|
|
case workspace
|
|
}
|
|
}
|
|
|
|
public struct WizardNextParams: Codable, Sendable {
|
|
public let sessionid: String
|
|
public let answer: [String: AnyCodable]?
|
|
|
|
public init(
|
|
sessionid: String,
|
|
answer: [String: AnyCodable]?
|
|
) {
|
|
self.sessionid = sessionid
|
|
self.answer = answer
|
|
}
|
|
private enum CodingKeys: String, CodingKey {
|
|
case sessionid = "sessionId"
|
|
case answer
|
|
}
|
|
}
|
|
|
|
public struct WizardCancelParams: Codable, Sendable {
|
|
public let sessionid: String
|
|
|
|
public init(
|
|
sessionid: String
|
|
) {
|
|
self.sessionid = sessionid
|
|
}
|
|
private enum CodingKeys: String, CodingKey {
|
|
case sessionid = "sessionId"
|
|
}
|
|
}
|
|
|
|
public struct WizardStatusParams: Codable, Sendable {
|
|
public let sessionid: String
|
|
|
|
public init(
|
|
sessionid: String
|
|
) {
|
|
self.sessionid = sessionid
|
|
}
|
|
private enum CodingKeys: String, CodingKey {
|
|
case sessionid = "sessionId"
|
|
}
|
|
}
|
|
|
|
public struct WizardStep: Codable, Sendable {
|
|
public let id: String
|
|
public let type: AnyCodable
|
|
public let title: String?
|
|
public let message: String?
|
|
public let options: [[String: AnyCodable]]?
|
|
public let initialvalue: AnyCodable?
|
|
public let placeholder: String?
|
|
public let sensitive: Bool?
|
|
public let executor: AnyCodable?
|
|
|
|
public init(
|
|
id: String,
|
|
type: AnyCodable,
|
|
title: String?,
|
|
message: String?,
|
|
options: [[String: AnyCodable]]?,
|
|
initialvalue: AnyCodable?,
|
|
placeholder: String?,
|
|
sensitive: Bool?,
|
|
executor: AnyCodable?
|
|
) {
|
|
self.id = id
|
|
self.type = type
|
|
self.title = title
|
|
self.message = message
|
|
self.options = options
|
|
self.initialvalue = initialvalue
|
|
self.placeholder = placeholder
|
|
self.sensitive = sensitive
|
|
self.executor = executor
|
|
}
|
|
private enum CodingKeys: String, CodingKey {
|
|
case id
|
|
case type
|
|
case title
|
|
case message
|
|
case options
|
|
case initialvalue = "initialValue"
|
|
case placeholder
|
|
case sensitive
|
|
case executor
|
|
}
|
|
}
|
|
|
|
public struct WizardNextResult: Codable, Sendable {
|
|
public let done: Bool
|
|
public let step: [String: AnyCodable]?
|
|
public let status: AnyCodable?
|
|
public let error: String?
|
|
|
|
public init(
|
|
done: Bool,
|
|
step: [String: AnyCodable]?,
|
|
status: AnyCodable?,
|
|
error: String?
|
|
) {
|
|
self.done = done
|
|
self.step = step
|
|
self.status = status
|
|
self.error = error
|
|
}
|
|
private enum CodingKeys: String, CodingKey {
|
|
case done
|
|
case step
|
|
case status
|
|
case error
|
|
}
|
|
}
|
|
|
|
public struct WizardStartResult: Codable, Sendable {
|
|
public let sessionid: String
|
|
public let done: Bool
|
|
public let step: [String: AnyCodable]?
|
|
public let status: AnyCodable?
|
|
public let error: String?
|
|
|
|
public init(
|
|
sessionid: String,
|
|
done: Bool,
|
|
step: [String: AnyCodable]?,
|
|
status: AnyCodable?,
|
|
error: String?
|
|
) {
|
|
self.sessionid = sessionid
|
|
self.done = done
|
|
self.step = step
|
|
self.status = status
|
|
self.error = error
|
|
}
|
|
private enum CodingKeys: String, CodingKey {
|
|
case sessionid = "sessionId"
|
|
case done
|
|
case step
|
|
case status
|
|
case error
|
|
}
|
|
}
|
|
|
|
public struct WizardStatusResult: Codable, Sendable {
|
|
public let status: AnyCodable
|
|
public let error: String?
|
|
|
|
public init(
|
|
status: AnyCodable,
|
|
error: String?
|
|
) {
|
|
self.status = status
|
|
self.error = error
|
|
}
|
|
private enum CodingKeys: String, CodingKey {
|
|
case status
|
|
case error
|
|
}
|
|
}
|
|
|
|
public struct TalkModeParams: Codable, Sendable {
|
|
public let enabled: Bool
|
|
public let phase: String?
|
|
|
|
public init(
|
|
enabled: Bool,
|
|
phase: String?
|
|
) {
|
|
self.enabled = enabled
|
|
self.phase = phase
|
|
}
|
|
private enum CodingKeys: String, CodingKey {
|
|
case enabled
|
|
case phase
|
|
}
|
|
}
|
|
|
|
public struct ProvidersStatusParams: Codable, Sendable {
|
|
public let probe: Bool?
|
|
public let timeoutms: Int?
|
|
|
|
public init(
|
|
probe: Bool?,
|
|
timeoutms: Int?
|
|
) {
|
|
self.probe = probe
|
|
self.timeoutms = timeoutms
|
|
}
|
|
private enum CodingKeys: String, CodingKey {
|
|
case probe
|
|
case timeoutms = "timeoutMs"
|
|
}
|
|
}
|
|
|
|
public struct ProvidersStatusResult: Codable, Sendable {
|
|
public let ts: Int
|
|
public let providerorder: [String]
|
|
public let providerlabels: [String: AnyCodable]
|
|
public let providers: [String: AnyCodable]
|
|
public let provideraccounts: [String: AnyCodable]
|
|
public let providerdefaultaccountid: [String: AnyCodable]
|
|
|
|
public init(
|
|
ts: Int,
|
|
providerorder: [String],
|
|
providerlabels: [String: AnyCodable],
|
|
providers: [String: AnyCodable],
|
|
provideraccounts: [String: AnyCodable],
|
|
providerdefaultaccountid: [String: AnyCodable]
|
|
) {
|
|
self.ts = ts
|
|
self.providerorder = providerorder
|
|
self.providerlabels = providerlabels
|
|
self.providers = providers
|
|
self.provideraccounts = provideraccounts
|
|
self.providerdefaultaccountid = providerdefaultaccountid
|
|
}
|
|
private enum CodingKeys: String, CodingKey {
|
|
case ts
|
|
case providerorder = "providerOrder"
|
|
case providerlabels = "providerLabels"
|
|
case providers
|
|
case provideraccounts = "providerAccounts"
|
|
case providerdefaultaccountid = "providerDefaultAccountId"
|
|
}
|
|
}
|
|
|
|
public struct ProvidersLogoutParams: Codable, Sendable {
|
|
public let provider: String
|
|
public let accountid: String?
|
|
|
|
public init(
|
|
provider: String,
|
|
accountid: String?
|
|
) {
|
|
self.provider = provider
|
|
self.accountid = accountid
|
|
}
|
|
private enum CodingKeys: String, CodingKey {
|
|
case provider
|
|
case accountid = "accountId"
|
|
}
|
|
}
|
|
|
|
public struct WebLoginStartParams: Codable, Sendable {
|
|
public let force: Bool?
|
|
public let timeoutms: Int?
|
|
public let verbose: Bool?
|
|
public let accountid: String?
|
|
|
|
public init(
|
|
force: Bool?,
|
|
timeoutms: Int?,
|
|
verbose: Bool?,
|
|
accountid: String?
|
|
) {
|
|
self.force = force
|
|
self.timeoutms = timeoutms
|
|
self.verbose = verbose
|
|
self.accountid = accountid
|
|
}
|
|
private enum CodingKeys: String, CodingKey {
|
|
case force
|
|
case timeoutms = "timeoutMs"
|
|
case verbose
|
|
case accountid = "accountId"
|
|
}
|
|
}
|
|
|
|
public struct WebLoginWaitParams: Codable, Sendable {
|
|
public let timeoutms: Int?
|
|
public let accountid: String?
|
|
|
|
public init(
|
|
timeoutms: Int?,
|
|
accountid: String?
|
|
) {
|
|
self.timeoutms = timeoutms
|
|
self.accountid = accountid
|
|
}
|
|
private enum CodingKeys: String, CodingKey {
|
|
case timeoutms = "timeoutMs"
|
|
case accountid = "accountId"
|
|
}
|
|
}
|
|
|
|
public struct AgentSummary: Codable, Sendable {
|
|
public let id: String
|
|
public let name: String?
|
|
|
|
public init(
|
|
id: String,
|
|
name: String?
|
|
) {
|
|
self.id = id
|
|
self.name = name
|
|
}
|
|
private enum CodingKeys: String, CodingKey {
|
|
case id
|
|
case name
|
|
}
|
|
}
|
|
|
|
public struct AgentsListParams: Codable, Sendable {
|
|
}
|
|
|
|
public struct AgentsListResult: Codable, Sendable {
|
|
public let defaultid: String
|
|
public let mainkey: String
|
|
public let scope: AnyCodable
|
|
public let agents: [AgentSummary]
|
|
|
|
public init(
|
|
defaultid: String,
|
|
mainkey: String,
|
|
scope: AnyCodable,
|
|
agents: [AgentSummary]
|
|
) {
|
|
self.defaultid = defaultid
|
|
self.mainkey = mainkey
|
|
self.scope = scope
|
|
self.agents = agents
|
|
}
|
|
private enum CodingKeys: String, CodingKey {
|
|
case defaultid = "defaultId"
|
|
case mainkey = "mainKey"
|
|
case scope
|
|
case agents
|
|
}
|
|
}
|
|
|
|
public struct ModelChoice: Codable, Sendable {
|
|
public let id: String
|
|
public let name: String
|
|
public let provider: String
|
|
public let contextwindow: Int?
|
|
public let reasoning: Bool?
|
|
|
|
public init(
|
|
id: String,
|
|
name: String,
|
|
provider: String,
|
|
contextwindow: Int?,
|
|
reasoning: Bool?
|
|
) {
|
|
self.id = id
|
|
self.name = name
|
|
self.provider = provider
|
|
self.contextwindow = contextwindow
|
|
self.reasoning = reasoning
|
|
}
|
|
private enum CodingKeys: String, CodingKey {
|
|
case id
|
|
case name
|
|
case provider
|
|
case contextwindow = "contextWindow"
|
|
case reasoning
|
|
}
|
|
}
|
|
|
|
public struct ModelsListParams: Codable, Sendable {
|
|
}
|
|
|
|
public struct ModelsListResult: Codable, Sendable {
|
|
public let models: [ModelChoice]
|
|
|
|
public init(
|
|
models: [ModelChoice]
|
|
) {
|
|
self.models = models
|
|
}
|
|
private enum CodingKeys: String, CodingKey {
|
|
case models
|
|
}
|
|
}
|
|
|
|
public struct SkillsStatusParams: Codable, Sendable {
|
|
}
|
|
|
|
public struct SkillsInstallParams: Codable, Sendable {
|
|
public let name: String
|
|
public let installid: String
|
|
public let timeoutms: Int?
|
|
|
|
public init(
|
|
name: String,
|
|
installid: String,
|
|
timeoutms: Int?
|
|
) {
|
|
self.name = name
|
|
self.installid = installid
|
|
self.timeoutms = timeoutms
|
|
}
|
|
private enum CodingKeys: String, CodingKey {
|
|
case name
|
|
case installid = "installId"
|
|
case timeoutms = "timeoutMs"
|
|
}
|
|
}
|
|
|
|
public struct SkillsUpdateParams: Codable, Sendable {
|
|
public let skillkey: String
|
|
public let enabled: Bool?
|
|
public let apikey: String?
|
|
public let env: [String: AnyCodable]?
|
|
|
|
public init(
|
|
skillkey: String,
|
|
enabled: Bool?,
|
|
apikey: String?,
|
|
env: [String: AnyCodable]?
|
|
) {
|
|
self.skillkey = skillkey
|
|
self.enabled = enabled
|
|
self.apikey = apikey
|
|
self.env = env
|
|
}
|
|
private enum CodingKeys: String, CodingKey {
|
|
case skillkey = "skillKey"
|
|
case enabled
|
|
case apikey = "apiKey"
|
|
case env
|
|
}
|
|
}
|
|
|
|
public struct CronJob: Codable, Sendable {
|
|
public let id: String
|
|
public let agentid: String?
|
|
public let name: String
|
|
public let description: String?
|
|
public let enabled: Bool
|
|
public let createdatms: Int
|
|
public let updatedatms: Int
|
|
public let schedule: AnyCodable
|
|
public let sessiontarget: AnyCodable
|
|
public let wakemode: AnyCodable
|
|
public let payload: AnyCodable
|
|
public let isolation: [String: AnyCodable]?
|
|
public let state: [String: AnyCodable]
|
|
|
|
public init(
|
|
id: String,
|
|
agentid: String?,
|
|
name: String,
|
|
description: String?,
|
|
enabled: Bool,
|
|
createdatms: Int,
|
|
updatedatms: Int,
|
|
schedule: AnyCodable,
|
|
sessiontarget: AnyCodable,
|
|
wakemode: AnyCodable,
|
|
payload: AnyCodable,
|
|
isolation: [String: AnyCodable]?,
|
|
state: [String: AnyCodable]
|
|
) {
|
|
self.id = id
|
|
self.agentid = agentid
|
|
self.name = name
|
|
self.description = description
|
|
self.enabled = enabled
|
|
self.createdatms = createdatms
|
|
self.updatedatms = updatedatms
|
|
self.schedule = schedule
|
|
self.sessiontarget = sessiontarget
|
|
self.wakemode = wakemode
|
|
self.payload = payload
|
|
self.isolation = isolation
|
|
self.state = state
|
|
}
|
|
private enum CodingKeys: String, CodingKey {
|
|
case id
|
|
case agentid = "agentId"
|
|
case name
|
|
case description
|
|
case enabled
|
|
case createdatms = "createdAtMs"
|
|
case updatedatms = "updatedAtMs"
|
|
case schedule
|
|
case sessiontarget = "sessionTarget"
|
|
case wakemode = "wakeMode"
|
|
case payload
|
|
case isolation
|
|
case state
|
|
}
|
|
}
|
|
|
|
public struct CronListParams: Codable, Sendable {
|
|
public let includedisabled: Bool?
|
|
|
|
public init(
|
|
includedisabled: Bool?
|
|
) {
|
|
self.includedisabled = includedisabled
|
|
}
|
|
private enum CodingKeys: String, CodingKey {
|
|
case includedisabled = "includeDisabled"
|
|
}
|
|
}
|
|
|
|
public struct CronStatusParams: Codable, Sendable {
|
|
}
|
|
|
|
public struct CronAddParams: Codable, Sendable {
|
|
public let name: String
|
|
public let agentid: AnyCodable?
|
|
public let description: String?
|
|
public let enabled: Bool?
|
|
public let schedule: AnyCodable
|
|
public let sessiontarget: AnyCodable
|
|
public let wakemode: AnyCodable
|
|
public let payload: AnyCodable
|
|
public let isolation: [String: AnyCodable]?
|
|
|
|
public init(
|
|
name: String,
|
|
agentid: AnyCodable?,
|
|
description: String?,
|
|
enabled: Bool?,
|
|
schedule: AnyCodable,
|
|
sessiontarget: AnyCodable,
|
|
wakemode: AnyCodable,
|
|
payload: AnyCodable,
|
|
isolation: [String: AnyCodable]?
|
|
) {
|
|
self.name = name
|
|
self.agentid = agentid
|
|
self.description = description
|
|
self.enabled = enabled
|
|
self.schedule = schedule
|
|
self.sessiontarget = sessiontarget
|
|
self.wakemode = wakemode
|
|
self.payload = payload
|
|
self.isolation = isolation
|
|
}
|
|
private enum CodingKeys: String, CodingKey {
|
|
case name
|
|
case agentid = "agentId"
|
|
case description
|
|
case enabled
|
|
case schedule
|
|
case sessiontarget = "sessionTarget"
|
|
case wakemode = "wakeMode"
|
|
case payload
|
|
case isolation
|
|
}
|
|
}
|
|
|
|
public struct CronRunLogEntry: Codable, Sendable {
|
|
public let ts: Int
|
|
public let jobid: String
|
|
public let action: String
|
|
public let status: AnyCodable?
|
|
public let error: String?
|
|
public let summary: String?
|
|
public let runatms: Int?
|
|
public let durationms: Int?
|
|
public let nextrunatms: Int?
|
|
|
|
public init(
|
|
ts: Int,
|
|
jobid: String,
|
|
action: String,
|
|
status: AnyCodable?,
|
|
error: String?,
|
|
summary: String?,
|
|
runatms: Int?,
|
|
durationms: Int?,
|
|
nextrunatms: Int?
|
|
) {
|
|
self.ts = ts
|
|
self.jobid = jobid
|
|
self.action = action
|
|
self.status = status
|
|
self.error = error
|
|
self.summary = summary
|
|
self.runatms = runatms
|
|
self.durationms = durationms
|
|
self.nextrunatms = nextrunatms
|
|
}
|
|
private enum CodingKeys: String, CodingKey {
|
|
case ts
|
|
case jobid = "jobId"
|
|
case action
|
|
case status
|
|
case error
|
|
case summary
|
|
case runatms = "runAtMs"
|
|
case durationms = "durationMs"
|
|
case nextrunatms = "nextRunAtMs"
|
|
}
|
|
}
|
|
|
|
public struct LogsTailParams: Codable, Sendable {
|
|
public let cursor: Int?
|
|
public let limit: Int?
|
|
public let maxbytes: Int?
|
|
|
|
public init(
|
|
cursor: Int?,
|
|
limit: Int?,
|
|
maxbytes: Int?
|
|
) {
|
|
self.cursor = cursor
|
|
self.limit = limit
|
|
self.maxbytes = maxbytes
|
|
}
|
|
private enum CodingKeys: String, CodingKey {
|
|
case cursor
|
|
case limit
|
|
case maxbytes = "maxBytes"
|
|
}
|
|
}
|
|
|
|
public struct LogsTailResult: Codable, Sendable {
|
|
public let file: String
|
|
public let cursor: Int
|
|
public let size: Int
|
|
public let lines: [String]
|
|
public let truncated: Bool?
|
|
public let reset: Bool?
|
|
|
|
public init(
|
|
file: String,
|
|
cursor: Int,
|
|
size: Int,
|
|
lines: [String],
|
|
truncated: Bool?,
|
|
reset: Bool?
|
|
) {
|
|
self.file = file
|
|
self.cursor = cursor
|
|
self.size = size
|
|
self.lines = lines
|
|
self.truncated = truncated
|
|
self.reset = reset
|
|
}
|
|
private enum CodingKeys: String, CodingKey {
|
|
case file
|
|
case cursor
|
|
case size
|
|
case lines
|
|
case truncated
|
|
case reset
|
|
}
|
|
}
|
|
|
|
public struct ChatHistoryParams: Codable, Sendable {
|
|
public let sessionkey: String
|
|
public let limit: Int?
|
|
|
|
public init(
|
|
sessionkey: String,
|
|
limit: Int?
|
|
) {
|
|
self.sessionkey = sessionkey
|
|
self.limit = limit
|
|
}
|
|
private enum CodingKeys: String, CodingKey {
|
|
case sessionkey = "sessionKey"
|
|
case limit
|
|
}
|
|
}
|
|
|
|
public struct ChatSendParams: Codable, Sendable {
|
|
public let sessionkey: String
|
|
public let message: String
|
|
public let thinking: String?
|
|
public let deliver: Bool?
|
|
public let attachments: [AnyCodable]?
|
|
public let timeoutms: Int?
|
|
public let idempotencykey: String
|
|
|
|
public init(
|
|
sessionkey: String,
|
|
message: String,
|
|
thinking: String?,
|
|
deliver: Bool?,
|
|
attachments: [AnyCodable]?,
|
|
timeoutms: Int?,
|
|
idempotencykey: String
|
|
) {
|
|
self.sessionkey = sessionkey
|
|
self.message = message
|
|
self.thinking = thinking
|
|
self.deliver = deliver
|
|
self.attachments = attachments
|
|
self.timeoutms = timeoutms
|
|
self.idempotencykey = idempotencykey
|
|
}
|
|
private enum CodingKeys: String, CodingKey {
|
|
case sessionkey = "sessionKey"
|
|
case message
|
|
case thinking
|
|
case deliver
|
|
case attachments
|
|
case timeoutms = "timeoutMs"
|
|
case idempotencykey = "idempotencyKey"
|
|
}
|
|
}
|
|
|
|
public struct ChatAbortParams: Codable, Sendable {
|
|
public let sessionkey: String
|
|
public let runid: String?
|
|
|
|
public init(
|
|
sessionkey: String,
|
|
runid: String?
|
|
) {
|
|
self.sessionkey = sessionkey
|
|
self.runid = runid
|
|
}
|
|
private enum CodingKeys: String, CodingKey {
|
|
case sessionkey = "sessionKey"
|
|
case runid = "runId"
|
|
}
|
|
}
|
|
|
|
public struct ChatEvent: Codable, Sendable {
|
|
public let runid: String
|
|
public let sessionkey: String
|
|
public let seq: Int
|
|
public let state: AnyCodable
|
|
public let message: AnyCodable?
|
|
public let errormessage: String?
|
|
public let usage: AnyCodable?
|
|
public let stopreason: String?
|
|
|
|
public init(
|
|
runid: String,
|
|
sessionkey: String,
|
|
seq: Int,
|
|
state: AnyCodable,
|
|
message: AnyCodable?,
|
|
errormessage: String?,
|
|
usage: AnyCodable?,
|
|
stopreason: String?
|
|
) {
|
|
self.runid = runid
|
|
self.sessionkey = sessionkey
|
|
self.seq = seq
|
|
self.state = state
|
|
self.message = message
|
|
self.errormessage = errormessage
|
|
self.usage = usage
|
|
self.stopreason = stopreason
|
|
}
|
|
private enum CodingKeys: String, CodingKey {
|
|
case runid = "runId"
|
|
case sessionkey = "sessionKey"
|
|
case seq
|
|
case state
|
|
case message
|
|
case errormessage = "errorMessage"
|
|
case usage
|
|
case stopreason = "stopReason"
|
|
}
|
|
}
|
|
|
|
public struct UpdateRunParams: Codable, Sendable {
|
|
public let sessionkey: String?
|
|
public let note: String?
|
|
public let restartdelayms: Int?
|
|
public let timeoutms: Int?
|
|
|
|
public init(
|
|
sessionkey: String?,
|
|
note: String?,
|
|
restartdelayms: Int?,
|
|
timeoutms: Int?
|
|
) {
|
|
self.sessionkey = sessionkey
|
|
self.note = note
|
|
self.restartdelayms = restartdelayms
|
|
self.timeoutms = timeoutms
|
|
}
|
|
private enum CodingKeys: String, CodingKey {
|
|
case sessionkey = "sessionKey"
|
|
case note
|
|
case restartdelayms = "restartDelayMs"
|
|
case timeoutms = "timeoutMs"
|
|
}
|
|
}
|
|
|
|
public struct TickEvent: Codable, Sendable {
|
|
public let ts: Int
|
|
|
|
public init(
|
|
ts: Int
|
|
) {
|
|
self.ts = ts
|
|
}
|
|
private enum CodingKeys: String, CodingKey {
|
|
case ts
|
|
}
|
|
}
|
|
|
|
public struct ShutdownEvent: Codable, Sendable {
|
|
public let reason: String
|
|
public let restartexpectedms: Int?
|
|
|
|
public init(
|
|
reason: String,
|
|
restartexpectedms: Int?
|
|
) {
|
|
self.reason = reason
|
|
self.restartexpectedms = restartexpectedms
|
|
}
|
|
private enum CodingKeys: String, CodingKey {
|
|
case reason
|
|
case restartexpectedms = "restartExpectedMs"
|
|
}
|
|
}
|
|
|
|
public enum GatewayFrame: Codable, Sendable {
|
|
case req(RequestFrame)
|
|
case res(ResponseFrame)
|
|
case event(EventFrame)
|
|
case unknown(type: String, raw: [String: AnyCodable])
|
|
|
|
private enum CodingKeys: String, CodingKey {
|
|
case type
|
|
}
|
|
|
|
public init(from decoder: Decoder) throws {
|
|
let typeContainer = try decoder.container(keyedBy: CodingKeys.self)
|
|
let type = try typeContainer.decode(String.self, forKey: .type)
|
|
switch type {
|
|
case "req":
|
|
self = .req(try RequestFrame(from: decoder))
|
|
case "res":
|
|
self = .res(try ResponseFrame(from: decoder))
|
|
case "event":
|
|
self = .event(try EventFrame(from: decoder))
|
|
default:
|
|
let container = try decoder.singleValueContainer()
|
|
let raw = try container.decode([String: AnyCodable].self)
|
|
self = .unknown(type: type, raw: raw)
|
|
}
|
|
}
|
|
|
|
public func encode(to encoder: Encoder) throws {
|
|
switch self {
|
|
case .req(let v): try v.encode(to: encoder)
|
|
case .res(let v): try v.encode(to: encoder)
|
|
case .event(let v): try v.encode(to: encoder)
|
|
case .unknown(_, let raw):
|
|
var container = encoder.singleValueContainer()
|
|
try container.encode(raw)
|
|
}
|
|
}
|
|
|
|
}
|