chore: apply upstream autostash
This commit is contained in:
parent
d6933b074a
commit
39e482414a
@ -68,7 +68,7 @@ dependencies {
|
||||
implementation("androidx.core:core-ktx:1.17.0")
|
||||
implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.10.0")
|
||||
implementation("androidx.activity:activity-compose:1.12.2")
|
||||
implementation("androidx.webkit:webkit:1.14.0")
|
||||
implementation("androidx.webkit:webkit:1.15.0")
|
||||
|
||||
implementation("androidx.compose.ui:ui")
|
||||
implementation("androidx.compose.ui:ui-tooling-preview")
|
||||
@ -101,7 +101,7 @@ dependencies {
|
||||
testImplementation("io.kotest:kotest-runner-junit5-jvm:6.0.7")
|
||||
testImplementation("io.kotest:kotest-assertions-core-jvm:6.0.7")
|
||||
testImplementation("org.robolectric:robolectric:4.16")
|
||||
testRuntimeOnly("org.junit.vintage:junit-vintage-engine:5.13.3")
|
||||
testRuntimeOnly("org.junit.vintage:junit-vintage-engine:6.0.1")
|
||||
}
|
||||
|
||||
tasks.withType<Test>().configureEach {
|
||||
|
||||
@ -515,7 +515,6 @@ class NodeRuntime(context: Context) {
|
||||
}
|
||||
|
||||
private fun hasBackgroundLocationPermission(): Boolean {
|
||||
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) return true
|
||||
return (
|
||||
ContextCompat.checkSelfPermission(appContext, Manifest.permission.ACCESS_BACKGROUND_LOCATION) ==
|
||||
PackageManager.PERMISSION_GRANTED
|
||||
|
||||
@ -1,10 +1,12 @@
|
||||
package com.clawdbot.android.node
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.Manifest
|
||||
import android.content.Context
|
||||
import android.content.pm.PackageManager
|
||||
import android.location.Location
|
||||
import android.location.LocationManager
|
||||
import android.os.CancellationSignal
|
||||
import androidx.core.content.ContextCompat
|
||||
import java.time.Instant
|
||||
import java.time.format.DateTimeFormatter
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
@ -64,6 +66,15 @@ class LocationCaptureManager(private val context: Context) {
|
||||
providers: List<String>,
|
||||
maxAgeMs: Long?,
|
||||
): Location? {
|
||||
val fineOk =
|
||||
ContextCompat.checkSelfPermission(context, Manifest.permission.ACCESS_FINE_LOCATION) ==
|
||||
PackageManager.PERMISSION_GRANTED
|
||||
val coarseOk =
|
||||
ContextCompat.checkSelfPermission(context, Manifest.permission.ACCESS_COARSE_LOCATION) ==
|
||||
PackageManager.PERMISSION_GRANTED
|
||||
if (!fineOk && !coarseOk) {
|
||||
throw IllegalStateException("LOCATION_PERMISSION_REQUIRED: grant Location permission")
|
||||
}
|
||||
val now = System.currentTimeMillis()
|
||||
val candidates =
|
||||
providers.mapNotNull { provider -> manager.getLastKnownLocation(provider) }
|
||||
@ -72,12 +83,20 @@ class LocationCaptureManager(private val context: Context) {
|
||||
return freshest
|
||||
}
|
||||
|
||||
@SuppressLint("MissingPermission")
|
||||
private suspend fun requestCurrent(
|
||||
manager: LocationManager,
|
||||
providers: List<String>,
|
||||
timeoutMs: Long,
|
||||
): Location {
|
||||
val fineOk =
|
||||
ContextCompat.checkSelfPermission(context, Manifest.permission.ACCESS_FINE_LOCATION) ==
|
||||
PackageManager.PERMISSION_GRANTED
|
||||
val coarseOk =
|
||||
ContextCompat.checkSelfPermission(context, Manifest.permission.ACCESS_COARSE_LOCATION) ==
|
||||
PackageManager.PERMISSION_GRANTED
|
||||
if (!fineOk && !coarseOk) {
|
||||
throw IllegalStateException("LOCATION_PERMISSION_REQUIRED: grant Location permission")
|
||||
}
|
||||
val resolved =
|
||||
providers.firstOrNull { manager.isProviderEnabled(it) }
|
||||
?: throw IllegalStateException("LOCATION_UNAVAILABLE: no providers available")
|
||||
|
||||
@ -133,7 +133,7 @@ fun SettingsSheet(viewModel: MainViewModel) {
|
||||
|
||||
if (requestedMode != null) {
|
||||
viewModel.setLocationMode(requestedMode)
|
||||
if (requestedMode == LocationMode.Always && Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
|
||||
if (requestedMode == LocationMode.Always) {
|
||||
val backgroundOk =
|
||||
ContextCompat.checkSelfPermission(context, Manifest.permission.ACCESS_BACKGROUND_LOCATION) ==
|
||||
PackageManager.PERMISSION_GRANTED
|
||||
@ -191,7 +191,7 @@ fun SettingsSheet(viewModel: MainViewModel) {
|
||||
PackageManager.PERMISSION_GRANTED
|
||||
if (fineOk || coarseOk) {
|
||||
viewModel.setLocationMode(targetMode)
|
||||
if (targetMode == LocationMode.Always && Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
|
||||
if (targetMode == LocationMode.Always) {
|
||||
val backgroundOk =
|
||||
ContextCompat.checkSelfPermission(context, Manifest.permission.ACCESS_BACKGROUND_LOCATION) ==
|
||||
PackageManager.PERMISSION_GRANTED
|
||||
|
||||
@ -28,9 +28,9 @@ import androidx.compose.ui.unit.dp
|
||||
fun StatusPill(
|
||||
bridge: BridgeState,
|
||||
voiceEnabled: Boolean,
|
||||
activity: StatusActivity? = null,
|
||||
onClick: () -> Unit,
|
||||
modifier: Modifier = Modifier,
|
||||
activity: StatusActivity? = null,
|
||||
) {
|
||||
Surface(
|
||||
onClick = onClick,
|
||||
|
||||
@ -26,8 +26,8 @@ public struct ConnectParams: Codable, Sendable {
|
||||
caps: [String]?,
|
||||
auth: [String: AnyCodable]?,
|
||||
locale: String?,
|
||||
useragent: String?
|
||||
) {
|
||||
useragent: String?)
|
||||
{
|
||||
self.minprotocol = minprotocol
|
||||
self.maxprotocol = maxprotocol
|
||||
self.client = client
|
||||
@ -36,6 +36,7 @@ public struct ConnectParams: Codable, Sendable {
|
||||
self.locale = locale
|
||||
self.useragent = useragent
|
||||
}
|
||||
|
||||
private enum CodingKeys: String, CodingKey {
|
||||
case minprotocol = "minProtocol"
|
||||
case maxprotocol = "maxProtocol"
|
||||
@ -63,8 +64,8 @@ public struct HelloOk: Codable, Sendable {
|
||||
features: [String: AnyCodable],
|
||||
snapshot: Snapshot,
|
||||
canvashosturl: String?,
|
||||
policy: [String: AnyCodable]
|
||||
) {
|
||||
policy: [String: AnyCodable])
|
||||
{
|
||||
self.type = type
|
||||
self._protocol = _protocol
|
||||
self.server = server
|
||||
@ -73,6 +74,7 @@ public struct HelloOk: Codable, Sendable {
|
||||
self.canvashosturl = canvashosturl
|
||||
self.policy = policy
|
||||
}
|
||||
|
||||
private enum CodingKeys: String, CodingKey {
|
||||
case type
|
||||
case _protocol = "protocol"
|
||||
@ -94,13 +96,14 @@ public struct RequestFrame: Codable, Sendable {
|
||||
type: String,
|
||||
id: String,
|
||||
method: String,
|
||||
params: AnyCodable?
|
||||
) {
|
||||
params: AnyCodable?)
|
||||
{
|
||||
self.type = type
|
||||
self.id = id
|
||||
self.method = method
|
||||
self.params = params
|
||||
}
|
||||
|
||||
private enum CodingKeys: String, CodingKey {
|
||||
case type
|
||||
case id
|
||||
@ -121,14 +124,15 @@ public struct ResponseFrame: Codable, Sendable {
|
||||
id: String,
|
||||
ok: Bool,
|
||||
payload: AnyCodable?,
|
||||
error: [String: 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
|
||||
@ -150,14 +154,15 @@ public struct EventFrame: Codable, Sendable {
|
||||
event: String,
|
||||
payload: AnyCodable?,
|
||||
seq: Int?,
|
||||
stateversion: [String: AnyCodable]?
|
||||
) {
|
||||
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
|
||||
@ -195,8 +200,8 @@ public struct PresenceEntry: Codable, Sendable {
|
||||
tags: [String]?,
|
||||
text: String?,
|
||||
ts: Int,
|
||||
instanceid: String?
|
||||
) {
|
||||
instanceid: String?)
|
||||
{
|
||||
self.host = host
|
||||
self.ip = ip
|
||||
self.version = version
|
||||
@ -211,6 +216,7 @@ public struct PresenceEntry: Codable, Sendable {
|
||||
self.ts = ts
|
||||
self.instanceid = instanceid
|
||||
}
|
||||
|
||||
private enum CodingKeys: String, CodingKey {
|
||||
case host
|
||||
case ip
|
||||
@ -234,11 +240,12 @@ public struct StateVersion: Codable, Sendable {
|
||||
|
||||
public init(
|
||||
presence: Int,
|
||||
health: Int
|
||||
) {
|
||||
health: Int)
|
||||
{
|
||||
self.presence = presence
|
||||
self.health = health
|
||||
}
|
||||
|
||||
private enum CodingKeys: String, CodingKey {
|
||||
case presence
|
||||
case health
|
||||
@ -259,8 +266,8 @@ public struct Snapshot: Codable, Sendable {
|
||||
stateversion: StateVersion,
|
||||
uptimems: Int,
|
||||
configpath: String?,
|
||||
statedir: String?
|
||||
) {
|
||||
statedir: String?)
|
||||
{
|
||||
self.presence = presence
|
||||
self.health = health
|
||||
self.stateversion = stateversion
|
||||
@ -268,6 +275,7 @@ public struct Snapshot: Codable, Sendable {
|
||||
self.configpath = configpath
|
||||
self.statedir = statedir
|
||||
}
|
||||
|
||||
private enum CodingKeys: String, CodingKey {
|
||||
case presence
|
||||
case health
|
||||
@ -290,14 +298,15 @@ public struct ErrorShape: Codable, Sendable {
|
||||
message: String,
|
||||
details: AnyCodable?,
|
||||
retryable: Bool?,
|
||||
retryafterms: Int?
|
||||
) {
|
||||
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
|
||||
@ -319,14 +328,15 @@ public struct AgentEvent: Codable, Sendable {
|
||||
seq: Int,
|
||||
stream: String,
|
||||
ts: Int,
|
||||
data: [String: AnyCodable]
|
||||
) {
|
||||
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
|
||||
@ -350,8 +360,8 @@ public struct SendParams: Codable, Sendable {
|
||||
mediaurl: String?,
|
||||
gifplayback: Bool?,
|
||||
provider: String?,
|
||||
idempotencykey: String
|
||||
) {
|
||||
idempotencykey: String)
|
||||
{
|
||||
self.to = to
|
||||
self.message = message
|
||||
self.mediaurl = mediaurl
|
||||
@ -359,6 +369,7 @@ public struct SendParams: Codable, Sendable {
|
||||
self.provider = provider
|
||||
self.idempotencykey = idempotencykey
|
||||
}
|
||||
|
||||
private enum CodingKeys: String, CodingKey {
|
||||
case to
|
||||
case message
|
||||
@ -393,8 +404,8 @@ public struct AgentParams: Codable, Sendable {
|
||||
timeout: Int?,
|
||||
lane: String?,
|
||||
extrasystemprompt: String?,
|
||||
idempotencykey: String
|
||||
) {
|
||||
idempotencykey: String)
|
||||
{
|
||||
self.message = message
|
||||
self.to = to
|
||||
self.sessionid = sessionid
|
||||
@ -407,6 +418,7 @@ public struct AgentParams: Codable, Sendable {
|
||||
self.extrasystemprompt = extrasystemprompt
|
||||
self.idempotencykey = idempotencykey
|
||||
}
|
||||
|
||||
private enum CodingKeys: String, CodingKey {
|
||||
case message
|
||||
case to
|
||||
@ -430,12 +442,13 @@ public struct AgentWaitParams: Codable, Sendable {
|
||||
public init(
|
||||
runid: String,
|
||||
afterms: Int?,
|
||||
timeoutms: Int?
|
||||
) {
|
||||
timeoutms: Int?)
|
||||
{
|
||||
self.runid = runid
|
||||
self.afterms = afterms
|
||||
self.timeoutms = timeoutms
|
||||
}
|
||||
|
||||
private enum CodingKeys: String, CodingKey {
|
||||
case runid = "runId"
|
||||
case afterms = "afterMs"
|
||||
@ -449,11 +462,12 @@ public struct WakeParams: Codable, Sendable {
|
||||
|
||||
public init(
|
||||
mode: AnyCodable,
|
||||
text: String
|
||||
) {
|
||||
text: String)
|
||||
{
|
||||
self.mode = mode
|
||||
self.text = text
|
||||
}
|
||||
|
||||
private enum CodingKeys: String, CodingKey {
|
||||
case mode
|
||||
case text
|
||||
@ -482,8 +496,8 @@ public struct NodePairRequestParams: Codable, Sendable {
|
||||
caps: [String]?,
|
||||
commands: [String]?,
|
||||
remoteip: String?,
|
||||
silent: Bool?
|
||||
) {
|
||||
silent: Bool?)
|
||||
{
|
||||
self.nodeid = nodeid
|
||||
self.displayname = displayname
|
||||
self.platform = platform
|
||||
@ -495,6 +509,7 @@ public struct NodePairRequestParams: Codable, Sendable {
|
||||
self.remoteip = remoteip
|
||||
self.silent = silent
|
||||
}
|
||||
|
||||
private enum CodingKeys: String, CodingKey {
|
||||
case nodeid = "nodeId"
|
||||
case displayname = "displayName"
|
||||
@ -511,15 +526,19 @@ public struct NodePairRequestParams: Codable, Sendable {
|
||||
|
||||
public struct NodePairListParams: Codable, Sendable {
|
||||
}
|
||||
||||||| Stash base
|
||||
public struct NodePairListParams: Codable {
|
||||
}
|
||||
|
||||
public struct NodePairApproveParams: Codable, Sendable {
|
||||
public let requestid: String
|
||||
|
||||
public init(
|
||||
requestid: String
|
||||
) {
|
||||
requestid: String)
|
||||
{
|
||||
self.requestid = requestid
|
||||
}
|
||||
|
||||
private enum CodingKeys: String, CodingKey {
|
||||
case requestid = "requestId"
|
||||
}
|
||||
@ -529,10 +548,11 @@ public struct NodePairRejectParams: Codable, Sendable {
|
||||
public let requestid: String
|
||||
|
||||
public init(
|
||||
requestid: String
|
||||
) {
|
||||
requestid: String)
|
||||
{
|
||||
self.requestid = requestid
|
||||
}
|
||||
|
||||
private enum CodingKeys: String, CodingKey {
|
||||
case requestid = "requestId"
|
||||
}
|
||||
@ -544,11 +564,12 @@ public struct NodePairVerifyParams: Codable, Sendable {
|
||||
|
||||
public init(
|
||||
nodeid: String,
|
||||
token: String
|
||||
) {
|
||||
token: String)
|
||||
{
|
||||
self.nodeid = nodeid
|
||||
self.token = token
|
||||
}
|
||||
|
||||
private enum CodingKeys: String, CodingKey {
|
||||
case nodeid = "nodeId"
|
||||
case token
|
||||
@ -561,11 +582,12 @@ public struct NodeRenameParams: Codable, Sendable {
|
||||
|
||||
public init(
|
||||
nodeid: String,
|
||||
displayname: String
|
||||
) {
|
||||
displayname: String)
|
||||
{
|
||||
self.nodeid = nodeid
|
||||
self.displayname = displayname
|
||||
}
|
||||
|
||||
private enum CodingKeys: String, CodingKey {
|
||||
case nodeid = "nodeId"
|
||||
case displayname = "displayName"
|
||||
@ -574,15 +596,19 @@ public struct NodeRenameParams: Codable, Sendable {
|
||||
|
||||
public struct NodeListParams: Codable, Sendable {
|
||||
}
|
||||
||||||| Stash base
|
||||
public struct NodeListParams: Codable {
|
||||
}
|
||||
|
||||
public struct NodeDescribeParams: Codable, Sendable {
|
||||
public let nodeid: String
|
||||
|
||||
public init(
|
||||
nodeid: String
|
||||
) {
|
||||
nodeid: String)
|
||||
{
|
||||
self.nodeid = nodeid
|
||||
}
|
||||
|
||||
private enum CodingKeys: String, CodingKey {
|
||||
case nodeid = "nodeId"
|
||||
}
|
||||
@ -600,14 +626,15 @@ public struct NodeInvokeParams: Codable, Sendable {
|
||||
command: String,
|
||||
params: AnyCodable?,
|
||||
timeoutms: Int?,
|
||||
idempotencykey: String
|
||||
) {
|
||||
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
|
||||
@ -627,13 +654,14 @@ public struct SessionsListParams: Codable, Sendable {
|
||||
limit: Int?,
|
||||
activeminutes: Int?,
|
||||
includeglobal: Bool?,
|
||||
includeunknown: Bool?
|
||||
) {
|
||||
includeunknown: Bool?)
|
||||
{
|
||||
self.limit = limit
|
||||
self.activeminutes = activeminutes
|
||||
self.includeglobal = includeglobal
|
||||
self.includeunknown = includeunknown
|
||||
}
|
||||
|
||||
private enum CodingKeys: String, CodingKey {
|
||||
case limit
|
||||
case activeminutes = "activeMinutes"
|
||||
@ -658,8 +686,8 @@ public struct SessionsPatchParams: Codable, Sendable {
|
||||
elevatedlevel: AnyCodable?,
|
||||
model: AnyCodable?,
|
||||
sendpolicy: AnyCodable?,
|
||||
groupactivation: AnyCodable?
|
||||
) {
|
||||
groupactivation: AnyCodable?)
|
||||
{
|
||||
self.key = key
|
||||
self.thinkinglevel = thinkinglevel
|
||||
self.verboselevel = verboselevel
|
||||
@ -668,6 +696,7 @@ public struct SessionsPatchParams: Codable, Sendable {
|
||||
self.sendpolicy = sendpolicy
|
||||
self.groupactivation = groupactivation
|
||||
}
|
||||
|
||||
private enum CodingKeys: String, CodingKey {
|
||||
case key
|
||||
case thinkinglevel = "thinkingLevel"
|
||||
@ -683,10 +712,11 @@ public struct SessionsResetParams: Codable, Sendable {
|
||||
public let key: String
|
||||
|
||||
public init(
|
||||
key: String
|
||||
) {
|
||||
key: String)
|
||||
{
|
||||
self.key = key
|
||||
}
|
||||
|
||||
private enum CodingKeys: String, CodingKey {
|
||||
case key
|
||||
}
|
||||
@ -698,11 +728,12 @@ public struct SessionsDeleteParams: Codable, Sendable {
|
||||
|
||||
public init(
|
||||
key: String,
|
||||
deletetranscript: Bool?
|
||||
) {
|
||||
deletetranscript: Bool?)
|
||||
{
|
||||
self.key = key
|
||||
self.deletetranscript = deletetranscript
|
||||
}
|
||||
|
||||
private enum CodingKeys: String, CodingKey {
|
||||
case key
|
||||
case deletetranscript = "deleteTranscript"
|
||||
@ -715,11 +746,12 @@ public struct SessionsCompactParams: Codable, Sendable {
|
||||
|
||||
public init(
|
||||
key: String,
|
||||
maxlines: Int?
|
||||
) {
|
||||
maxlines: Int?)
|
||||
{
|
||||
self.key = key
|
||||
self.maxlines = maxlines
|
||||
}
|
||||
|
||||
private enum CodingKeys: String, CodingKey {
|
||||
case key
|
||||
case maxlines = "maxLines"
|
||||
@ -728,15 +760,19 @@ public struct SessionsCompactParams: Codable, Sendable {
|
||||
|
||||
public struct ConfigGetParams: Codable, Sendable {
|
||||
}
|
||||
||||||| Stash base
|
||||
public struct ConfigGetParams: Codable {
|
||||
}
|
||||
|
||||
public struct ConfigSetParams: Codable, Sendable {
|
||||
public let raw: String
|
||||
|
||||
public init(
|
||||
raw: String
|
||||
) {
|
||||
raw: String)
|
||||
{
|
||||
self.raw = raw
|
||||
}
|
||||
|
||||
private enum CodingKeys: String, CodingKey {
|
||||
case raw
|
||||
}
|
||||
@ -744,6 +780,9 @@ public struct ConfigSetParams: Codable, Sendable {
|
||||
|
||||
public struct ConfigSchemaParams: Codable, Sendable {
|
||||
}
|
||||
||||||| Stash base
|
||||
public struct ConfigSchemaParams: Codable {
|
||||
}
|
||||
|
||||
public struct ConfigSchemaResponse: Codable, Sendable {
|
||||
public let schema: AnyCodable
|
||||
@ -755,13 +794,14 @@ public struct ConfigSchemaResponse: Codable, Sendable {
|
||||
schema: AnyCodable,
|
||||
uihints: [String: AnyCodable],
|
||||
version: String,
|
||||
generatedat: 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"
|
||||
@ -776,11 +816,12 @@ public struct WizardStartParams: Codable, Sendable {
|
||||
|
||||
public init(
|
||||
mode: AnyCodable?,
|
||||
workspace: String?
|
||||
) {
|
||||
workspace: String?)
|
||||
{
|
||||
self.mode = mode
|
||||
self.workspace = workspace
|
||||
}
|
||||
|
||||
private enum CodingKeys: String, CodingKey {
|
||||
case mode
|
||||
case workspace
|
||||
@ -793,11 +834,12 @@ public struct WizardNextParams: Codable, Sendable {
|
||||
|
||||
public init(
|
||||
sessionid: String,
|
||||
answer: [String: AnyCodable]?
|
||||
) {
|
||||
answer: [String: AnyCodable]?)
|
||||
{
|
||||
self.sessionid = sessionid
|
||||
self.answer = answer
|
||||
}
|
||||
|
||||
private enum CodingKeys: String, CodingKey {
|
||||
case sessionid = "sessionId"
|
||||
case answer
|
||||
@ -808,10 +850,11 @@ public struct WizardCancelParams: Codable, Sendable {
|
||||
public let sessionid: String
|
||||
|
||||
public init(
|
||||
sessionid: String
|
||||
) {
|
||||
sessionid: String)
|
||||
{
|
||||
self.sessionid = sessionid
|
||||
}
|
||||
|
||||
private enum CodingKeys: String, CodingKey {
|
||||
case sessionid = "sessionId"
|
||||
}
|
||||
@ -821,10 +864,11 @@ public struct WizardStatusParams: Codable, Sendable {
|
||||
public let sessionid: String
|
||||
|
||||
public init(
|
||||
sessionid: String
|
||||
) {
|
||||
sessionid: String)
|
||||
{
|
||||
self.sessionid = sessionid
|
||||
}
|
||||
|
||||
private enum CodingKeys: String, CodingKey {
|
||||
case sessionid = "sessionId"
|
||||
}
|
||||
@ -850,8 +894,8 @@ public struct WizardStep: Codable, Sendable {
|
||||
initialvalue: AnyCodable?,
|
||||
placeholder: String?,
|
||||
sensitive: Bool?,
|
||||
executor: AnyCodable?
|
||||
) {
|
||||
executor: AnyCodable?)
|
||||
{
|
||||
self.id = id
|
||||
self.type = type
|
||||
self.title = title
|
||||
@ -862,6 +906,7 @@ public struct WizardStep: Codable, Sendable {
|
||||
self.sensitive = sensitive
|
||||
self.executor = executor
|
||||
}
|
||||
|
||||
private enum CodingKeys: String, CodingKey {
|
||||
case id
|
||||
case type
|
||||
@ -885,13 +930,14 @@ public struct WizardNextResult: Codable, Sendable {
|
||||
done: Bool,
|
||||
step: [String: AnyCodable]?,
|
||||
status: AnyCodable?,
|
||||
error: String?
|
||||
) {
|
||||
error: String?)
|
||||
{
|
||||
self.done = done
|
||||
self.step = step
|
||||
self.status = status
|
||||
self.error = error
|
||||
}
|
||||
|
||||
private enum CodingKeys: String, CodingKey {
|
||||
case done
|
||||
case step
|
||||
@ -912,14 +958,15 @@ public struct WizardStartResult: Codable, Sendable {
|
||||
done: Bool,
|
||||
step: [String: AnyCodable]?,
|
||||
status: AnyCodable?,
|
||||
error: String?
|
||||
) {
|
||||
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
|
||||
@ -935,11 +982,12 @@ public struct WizardStatusResult: Codable, Sendable {
|
||||
|
||||
public init(
|
||||
status: AnyCodable,
|
||||
error: String?
|
||||
) {
|
||||
error: String?)
|
||||
{
|
||||
self.status = status
|
||||
self.error = error
|
||||
}
|
||||
|
||||
private enum CodingKeys: String, CodingKey {
|
||||
case status
|
||||
case error
|
||||
@ -952,11 +1000,12 @@ public struct TalkModeParams: Codable, Sendable {
|
||||
|
||||
public init(
|
||||
enabled: Bool,
|
||||
phase: String?
|
||||
) {
|
||||
phase: String?)
|
||||
{
|
||||
self.enabled = enabled
|
||||
self.phase = phase
|
||||
}
|
||||
|
||||
private enum CodingKeys: String, CodingKey {
|
||||
case enabled
|
||||
case phase
|
||||
@ -969,11 +1018,12 @@ public struct ProvidersStatusParams: Codable, Sendable {
|
||||
|
||||
public init(
|
||||
probe: Bool?,
|
||||
timeoutms: Int?
|
||||
) {
|
||||
timeoutms: Int?)
|
||||
{
|
||||
self.probe = probe
|
||||
self.timeoutms = timeoutms
|
||||
}
|
||||
|
||||
private enum CodingKeys: String, CodingKey {
|
||||
case probe
|
||||
case timeoutms = "timeoutMs"
|
||||
@ -988,12 +1038,13 @@ public struct WebLoginStartParams: Codable, Sendable {
|
||||
public init(
|
||||
force: Bool?,
|
||||
timeoutms: Int?,
|
||||
verbose: Bool?
|
||||
) {
|
||||
verbose: Bool?)
|
||||
{
|
||||
self.force = force
|
||||
self.timeoutms = timeoutms
|
||||
self.verbose = verbose
|
||||
}
|
||||
|
||||
private enum CodingKeys: String, CodingKey {
|
||||
case force
|
||||
case timeoutms = "timeoutMs"
|
||||
@ -1005,10 +1056,11 @@ public struct WebLoginWaitParams: Codable, Sendable {
|
||||
public let timeoutms: Int?
|
||||
|
||||
public init(
|
||||
timeoutms: Int?
|
||||
) {
|
||||
timeoutms: Int?)
|
||||
{
|
||||
self.timeoutms = timeoutms
|
||||
}
|
||||
|
||||
private enum CodingKeys: String, CodingKey {
|
||||
case timeoutms = "timeoutMs"
|
||||
}
|
||||
@ -1026,14 +1078,15 @@ public struct ModelChoice: Codable, Sendable {
|
||||
name: String,
|
||||
provider: String,
|
||||
contextwindow: Int?,
|
||||
reasoning: Bool?
|
||||
) {
|
||||
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
|
||||
@ -1045,15 +1098,19 @@ public struct ModelChoice: Codable, Sendable {
|
||||
|
||||
public struct ModelsListParams: Codable, Sendable {
|
||||
}
|
||||
||||||| Stash base
|
||||
public struct ModelsListParams: Codable {
|
||||
}
|
||||
|
||||
public struct ModelsListResult: Codable, Sendable {
|
||||
public let models: [ModelChoice]
|
||||
|
||||
public init(
|
||||
models: [ModelChoice]
|
||||
) {
|
||||
models: [ModelChoice])
|
||||
{
|
||||
self.models = models
|
||||
}
|
||||
|
||||
private enum CodingKeys: String, CodingKey {
|
||||
case models
|
||||
}
|
||||
@ -1061,6 +1118,9 @@ public struct ModelsListResult: Codable, Sendable {
|
||||
|
||||
public struct SkillsStatusParams: Codable, Sendable {
|
||||
}
|
||||
||||||| Stash base
|
||||
public struct SkillsStatusParams: Codable {
|
||||
}
|
||||
|
||||
public struct SkillsInstallParams: Codable, Sendable {
|
||||
public let name: String
|
||||
@ -1070,12 +1130,13 @@ public struct SkillsInstallParams: Codable, Sendable {
|
||||
public init(
|
||||
name: String,
|
||||
installid: String,
|
||||
timeoutms: Int?
|
||||
) {
|
||||
timeoutms: Int?)
|
||||
{
|
||||
self.name = name
|
||||
self.installid = installid
|
||||
self.timeoutms = timeoutms
|
||||
}
|
||||
|
||||
private enum CodingKeys: String, CodingKey {
|
||||
case name
|
||||
case installid = "installId"
|
||||
@ -1093,13 +1154,14 @@ public struct SkillsUpdateParams: Codable, Sendable {
|
||||
skillkey: String,
|
||||
enabled: Bool?,
|
||||
apikey: String?,
|
||||
env: [String: AnyCodable]?
|
||||
) {
|
||||
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
|
||||
@ -1134,8 +1196,8 @@ public struct CronJob: Codable, Sendable {
|
||||
wakemode: AnyCodable,
|
||||
payload: AnyCodable,
|
||||
isolation: [String: AnyCodable]?,
|
||||
state: [String: AnyCodable]
|
||||
) {
|
||||
state: [String: AnyCodable])
|
||||
{
|
||||
self.id = id
|
||||
self.name = name
|
||||
self.description = description
|
||||
@ -1149,6 +1211,7 @@ public struct CronJob: Codable, Sendable {
|
||||
self.isolation = isolation
|
||||
self.state = state
|
||||
}
|
||||
|
||||
private enum CodingKeys: String, CodingKey {
|
||||
case id
|
||||
case name
|
||||
@ -1169,10 +1232,11 @@ public struct CronListParams: Codable, Sendable {
|
||||
public let includedisabled: Bool?
|
||||
|
||||
public init(
|
||||
includedisabled: Bool?
|
||||
) {
|
||||
includedisabled: Bool?)
|
||||
{
|
||||
self.includedisabled = includedisabled
|
||||
}
|
||||
|
||||
private enum CodingKeys: String, CodingKey {
|
||||
case includedisabled = "includeDisabled"
|
||||
}
|
||||
@ -1180,6 +1244,9 @@ public struct CronListParams: Codable, Sendable {
|
||||
|
||||
public struct CronStatusParams: Codable, Sendable {
|
||||
}
|
||||
||||||| Stash base
|
||||
public struct CronStatusParams: Codable {
|
||||
}
|
||||
|
||||
public struct CronAddParams: Codable, Sendable {
|
||||
public let name: String
|
||||
@ -1199,8 +1266,8 @@ public struct CronAddParams: Codable, Sendable {
|
||||
sessiontarget: AnyCodable,
|
||||
wakemode: AnyCodable,
|
||||
payload: AnyCodable,
|
||||
isolation: [String: AnyCodable]?
|
||||
) {
|
||||
isolation: [String: AnyCodable]?)
|
||||
{
|
||||
self.name = name
|
||||
self.description = description
|
||||
self.enabled = enabled
|
||||
@ -1210,6 +1277,7 @@ public struct CronAddParams: Codable, Sendable {
|
||||
self.payload = payload
|
||||
self.isolation = isolation
|
||||
}
|
||||
|
||||
private enum CodingKeys: String, CodingKey {
|
||||
case name
|
||||
case description
|
||||
@ -1228,11 +1296,12 @@ public struct CronUpdateParams: Codable, Sendable {
|
||||
|
||||
public init(
|
||||
id: String,
|
||||
patch: [String: AnyCodable]
|
||||
) {
|
||||
patch: [String: AnyCodable])
|
||||
{
|
||||
self.id = id
|
||||
self.patch = patch
|
||||
}
|
||||
|
||||
private enum CodingKeys: String, CodingKey {
|
||||
case id
|
||||
case patch
|
||||
@ -1243,10 +1312,11 @@ public struct CronRemoveParams: Codable, Sendable {
|
||||
public let id: String
|
||||
|
||||
public init(
|
||||
id: String
|
||||
) {
|
||||
id: String)
|
||||
{
|
||||
self.id = id
|
||||
}
|
||||
|
||||
private enum CodingKeys: String, CodingKey {
|
||||
case id
|
||||
}
|
||||
@ -1258,11 +1328,12 @@ public struct CronRunParams: Codable, Sendable {
|
||||
|
||||
public init(
|
||||
id: String,
|
||||
mode: AnyCodable?
|
||||
) {
|
||||
mode: AnyCodable?)
|
||||
{
|
||||
self.id = id
|
||||
self.mode = mode
|
||||
}
|
||||
|
||||
private enum CodingKeys: String, CodingKey {
|
||||
case id
|
||||
case mode
|
||||
@ -1275,11 +1346,12 @@ public struct CronRunsParams: Codable, Sendable {
|
||||
|
||||
public init(
|
||||
id: String,
|
||||
limit: Int?
|
||||
) {
|
||||
limit: Int?)
|
||||
{
|
||||
self.id = id
|
||||
self.limit = limit
|
||||
}
|
||||
|
||||
private enum CodingKeys: String, CodingKey {
|
||||
case id
|
||||
case limit
|
||||
@ -1306,8 +1378,8 @@ public struct CronRunLogEntry: Codable, Sendable {
|
||||
summary: String?,
|
||||
runatms: Int?,
|
||||
durationms: Int?,
|
||||
nextrunatms: Int?
|
||||
) {
|
||||
nextrunatms: Int?)
|
||||
{
|
||||
self.ts = ts
|
||||
self.jobid = jobid
|
||||
self.action = action
|
||||
@ -1318,6 +1390,7 @@ public struct CronRunLogEntry: Codable, Sendable {
|
||||
self.durationms = durationms
|
||||
self.nextrunatms = nextrunatms
|
||||
}
|
||||
|
||||
private enum CodingKeys: String, CodingKey {
|
||||
case ts
|
||||
case jobid = "jobId"
|
||||
@ -1337,11 +1410,12 @@ public struct ChatHistoryParams: Codable, Sendable {
|
||||
|
||||
public init(
|
||||
sessionkey: String,
|
||||
limit: Int?
|
||||
) {
|
||||
limit: Int?)
|
||||
{
|
||||
self.sessionkey = sessionkey
|
||||
self.limit = limit
|
||||
}
|
||||
|
||||
private enum CodingKeys: String, CodingKey {
|
||||
case sessionkey = "sessionKey"
|
||||
case limit
|
||||
@ -1364,8 +1438,8 @@ public struct ChatSendParams: Codable, Sendable {
|
||||
deliver: Bool?,
|
||||
attachments: [AnyCodable]?,
|
||||
timeoutms: Int?,
|
||||
idempotencykey: String
|
||||
) {
|
||||
idempotencykey: String)
|
||||
{
|
||||
self.sessionkey = sessionkey
|
||||
self.message = message
|
||||
self.thinking = thinking
|
||||
@ -1374,6 +1448,7 @@ public struct ChatSendParams: Codable, Sendable {
|
||||
self.timeoutms = timeoutms
|
||||
self.idempotencykey = idempotencykey
|
||||
}
|
||||
|
||||
private enum CodingKeys: String, CodingKey {
|
||||
case sessionkey = "sessionKey"
|
||||
case message
|
||||
@ -1391,11 +1466,12 @@ public struct ChatAbortParams: Codable, Sendable {
|
||||
|
||||
public init(
|
||||
sessionkey: String,
|
||||
runid: String
|
||||
) {
|
||||
runid: String)
|
||||
{
|
||||
self.sessionkey = sessionkey
|
||||
self.runid = runid
|
||||
}
|
||||
|
||||
private enum CodingKeys: String, CodingKey {
|
||||
case sessionkey = "sessionKey"
|
||||
case runid = "runId"
|
||||
@ -1420,8 +1496,8 @@ public struct ChatEvent: Codable, Sendable {
|
||||
message: AnyCodable?,
|
||||
errormessage: String?,
|
||||
usage: AnyCodable?,
|
||||
stopreason: String?
|
||||
) {
|
||||
stopreason: String?)
|
||||
{
|
||||
self.runid = runid
|
||||
self.sessionkey = sessionkey
|
||||
self.seq = seq
|
||||
@ -1431,6 +1507,7 @@ public struct ChatEvent: Codable, Sendable {
|
||||
self.usage = usage
|
||||
self.stopreason = stopreason
|
||||
}
|
||||
|
||||
private enum CodingKeys: String, CodingKey {
|
||||
case runid = "runId"
|
||||
case sessionkey = "sessionKey"
|
||||
@ -1447,10 +1524,11 @@ public struct TickEvent: Codable, Sendable {
|
||||
public let ts: Int
|
||||
|
||||
public init(
|
||||
ts: Int
|
||||
) {
|
||||
ts: Int)
|
||||
{
|
||||
self.ts = ts
|
||||
}
|
||||
|
||||
private enum CodingKeys: String, CodingKey {
|
||||
case ts
|
||||
}
|
||||
@ -1462,11 +1540,12 @@ public struct ShutdownEvent: Codable, Sendable {
|
||||
|
||||
public init(
|
||||
reason: String,
|
||||
restartexpectedms: Int?
|
||||
) {
|
||||
restartexpectedms: Int?)
|
||||
{
|
||||
self.reason = reason
|
||||
self.restartexpectedms = restartexpectedms
|
||||
}
|
||||
|
||||
private enum CodingKeys: String, CodingKey {
|
||||
case reason
|
||||
case restartexpectedms = "restartExpectedMs"
|
||||
@ -1488,11 +1567,11 @@ public enum GatewayFrame: Codable, Sendable {
|
||||
let type = try typeContainer.decode(String.self, forKey: .type)
|
||||
switch type {
|
||||
case "req":
|
||||
self = .req(try RequestFrame(from: decoder))
|
||||
self = try .req(RequestFrame(from: decoder))
|
||||
case "res":
|
||||
self = .res(try ResponseFrame(from: decoder))
|
||||
self = try .res(ResponseFrame(from: decoder))
|
||||
case "event":
|
||||
self = .event(try EventFrame(from: decoder))
|
||||
self = try .event(EventFrame(from: decoder))
|
||||
default:
|
||||
let container = try decoder.singleValueContainer()
|
||||
let raw = try container.decode([String: AnyCodable].self)
|
||||
@ -1502,13 +1581,12 @@ public enum GatewayFrame: Codable, Sendable {
|
||||
|
||||
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):
|
||||
case let .req(v): try v.encode(to: encoder)
|
||||
case let .res(v): try v.encode(to: encoder)
|
||||
case let .event(v): try v.encode(to: encoder)
|
||||
case let .unknown(_, raw):
|
||||
var container = encoder.singleValueContainer()
|
||||
try container.encode(raw)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -1 +1,3 @@
|
||||
68f18193053997f3dee16de6b0be0bcd97dc70ff8200c77f687479e8b19b78e1
|
||||
||||||| Stash base
|
||||
7daf1cbf58ef395b74c2690c439ac7b3cb536e8eb124baf72ad41da4f542204d
|
||||
|
||||
Loading…
Reference in New Issue
Block a user