From 13ea3d43b0538b5cf1b0b01366d6df2bb555413d Mon Sep 17 00:00:00 2001 From: Val Alexander Date: Tue, 10 Mar 2026 21:18:39 -0500 Subject: [PATCH] fix(ci): repair pr branch checks --- .../OpenClawProtocol/GatewayModels.swift | 12 +++++++++-- .../OpenClawProtocol/GatewayModels.swift | 12 +++++++++-- package.json | 2 +- pnpm-lock.yaml | 18 ++++++++-------- src/cli/daemon-cli/lifecycle.test.ts | 21 +++++++++---------- src/config/types.gateway.ts | 2 ++ src/cron/isolated-agent/run.ts | 4 ++-- ui/src/ui/chat/slash-command-executor.ts | 10 +++------ ui/src/ui/chat/slash-commands.ts | 16 +++++++------- 9 files changed, 55 insertions(+), 42 deletions(-) diff --git a/apps/macos/Sources/OpenClawProtocol/GatewayModels.swift b/apps/macos/Sources/OpenClawProtocol/GatewayModels.swift index cf69609e673..ea85e6c1511 100644 --- a/apps/macos/Sources/OpenClawProtocol/GatewayModels.swift +++ b/apps/macos/Sources/OpenClawProtocol/GatewayModels.swift @@ -1337,6 +1337,8 @@ public struct SessionsPatchParams: Codable, Sendable { public let model: AnyCodable? public let spawnedby: AnyCodable? public let spawndepth: AnyCodable? + public let subagentrole: AnyCodable? + public let subagentcontrolscope: AnyCodable? public let sendpolicy: AnyCodable? public let groupactivation: AnyCodable? @@ -1355,6 +1357,8 @@ public struct SessionsPatchParams: Codable, Sendable { model: AnyCodable?, spawnedby: AnyCodable?, spawndepth: AnyCodable?, + subagentrole: AnyCodable?, + subagentcontrolscope: AnyCodable?, sendpolicy: AnyCodable?, groupactivation: AnyCodable?) { @@ -1372,6 +1376,8 @@ public struct SessionsPatchParams: Codable, Sendable { self.model = model self.spawnedby = spawnedby self.spawndepth = spawndepth + self.subagentrole = subagentrole + self.subagentcontrolscope = subagentcontrolscope self.sendpolicy = sendpolicy self.groupactivation = groupactivation } @@ -1391,6 +1397,8 @@ public struct SessionsPatchParams: Codable, Sendable { case model case spawnedby = "spawnedBy" case spawndepth = "spawnDepth" + case subagentrole = "subagentRole" + case subagentcontrolscope = "subagentControlScope" case sendpolicy = "sendPolicy" case groupactivation = "groupActivation" } @@ -3046,7 +3054,7 @@ public struct ExecApprovalsSnapshot: Codable, Sendable { public struct ExecApprovalRequestParams: Codable, Sendable { public let id: String? - public let command: String + public let command: String? public let commandargv: [String]? public let systemrunplan: [String: AnyCodable]? public let env: [String: AnyCodable]? @@ -3067,7 +3075,7 @@ public struct ExecApprovalRequestParams: Codable, Sendable { public init( id: String?, - command: String, + command: String?, commandargv: [String]?, systemrunplan: [String: AnyCodable]?, env: [String: AnyCodable]?, diff --git a/apps/shared/OpenClawKit/Sources/OpenClawProtocol/GatewayModels.swift b/apps/shared/OpenClawKit/Sources/OpenClawProtocol/GatewayModels.swift index cf69609e673..ea85e6c1511 100644 --- a/apps/shared/OpenClawKit/Sources/OpenClawProtocol/GatewayModels.swift +++ b/apps/shared/OpenClawKit/Sources/OpenClawProtocol/GatewayModels.swift @@ -1337,6 +1337,8 @@ public struct SessionsPatchParams: Codable, Sendable { public let model: AnyCodable? public let spawnedby: AnyCodable? public let spawndepth: AnyCodable? + public let subagentrole: AnyCodable? + public let subagentcontrolscope: AnyCodable? public let sendpolicy: AnyCodable? public let groupactivation: AnyCodable? @@ -1355,6 +1357,8 @@ public struct SessionsPatchParams: Codable, Sendable { model: AnyCodable?, spawnedby: AnyCodable?, spawndepth: AnyCodable?, + subagentrole: AnyCodable?, + subagentcontrolscope: AnyCodable?, sendpolicy: AnyCodable?, groupactivation: AnyCodable?) { @@ -1372,6 +1376,8 @@ public struct SessionsPatchParams: Codable, Sendable { self.model = model self.spawnedby = spawnedby self.spawndepth = spawndepth + self.subagentrole = subagentrole + self.subagentcontrolscope = subagentcontrolscope self.sendpolicy = sendpolicy self.groupactivation = groupactivation } @@ -1391,6 +1397,8 @@ public struct SessionsPatchParams: Codable, Sendable { case model case spawnedby = "spawnedBy" case spawndepth = "spawnDepth" + case subagentrole = "subagentRole" + case subagentcontrolscope = "subagentControlScope" case sendpolicy = "sendPolicy" case groupactivation = "groupActivation" } @@ -3046,7 +3054,7 @@ public struct ExecApprovalsSnapshot: Codable, Sendable { public struct ExecApprovalRequestParams: Codable, Sendable { public let id: String? - public let command: String + public let command: String? public let commandargv: [String]? public let systemrunplan: [String: AnyCodable]? public let env: [String: AnyCodable]? @@ -3067,7 +3075,7 @@ public struct ExecApprovalRequestParams: Codable, Sendable { public init( id: String?, - command: String, + command: String?, commandargv: [String]?, systemrunplan: [String: AnyCodable]?, env: [String: AnyCodable]?, diff --git a/package.json b/package.json index 695bad9d076..24a35f22741 100644 --- a/package.json +++ b/package.json @@ -432,7 +432,7 @@ "qs": "6.14.2", "node-domexception": "npm:@nolyfill/domexception@^1.0.28", "@sinclair/typebox": "0.34.48", - "tar": "7.5.10", + "tar": "7.5.11", "tough-cookie": "4.1.3" }, "onlyBuiltDependencies": [ diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7b3028f61eb..0cbf9ffc93d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -15,7 +15,7 @@ overrides: qs: 6.14.2 node-domexception: npm:@nolyfill/domexception@^1.0.28 '@sinclair/typebox': 0.34.48 - tar: 7.5.10 + tar: 7.5.11 tough-cookie: 4.1.3 packageExtensionsChecksum: sha256-n+P/SQo4Pf+dHYpYn1Y6wL4cJEVoVzZ835N0OEp4TM8= @@ -172,8 +172,8 @@ importers: specifier: 0.1.7-alpha.2 version: 0.1.7-alpha.2 tar: - specifier: 7.5.10 - version: 7.5.10 + specifier: 7.5.11 + version: 7.5.11 tslog: specifier: ^4.10.2 version: 4.10.2 @@ -6121,8 +6121,8 @@ packages: tar-stream@3.1.7: resolution: {integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==} - tar@7.5.10: - resolution: {integrity: sha512-8mOPs1//5q/rlkNSPcCegA6hiHJYDmSLEI8aMH/CdSQJNWztHC9WHNam5zdQlfpTwB9Xp7IBEsHfV5LKMJGVAw==} + tar@7.5.11: + resolution: {integrity: sha512-ChjMH33/KetonMTAtpYdgUFr0tbz69Fp2v7zWxQfYZX4g5ZN2nOBXm1R2xyA+lMIKrLKIoKAwFj93jE/avX9cQ==} engines: {node: '>=18'} text-decoder@1.2.7: @@ -7642,7 +7642,7 @@ snapshots: npmlog: 5.0.1 rimraf: 3.0.2 semver: 7.7.4 - tar: 7.5.10 + tar: 7.5.11 transitivePeerDependencies: - encoding - supports-color @@ -10720,7 +10720,7 @@ snapshots: node-api-headers: 1.8.0 rc: 1.2.8 semver: 7.7.4 - tar: 7.5.10 + tar: 7.5.11 url-join: 4.0.1 which: 6.0.1 yargs: 17.7.2 @@ -12360,7 +12360,7 @@ snapshots: qrcode-terminal: 0.12.0 sharp: 0.34.5 sqlite-vec: 0.1.7-alpha.2 - tar: 7.5.10 + tar: 7.5.11 tslog: 4.10.2 undici: 7.22.0 ws: 8.19.0 @@ -13388,7 +13388,7 @@ snapshots: - bare-abort-controller - react-native-b4a - tar@7.5.10: + tar@7.5.11: dependencies: '@isaacs/fs-minipass': 4.0.1 chownr: 3.0.0 diff --git a/src/cli/daemon-cli/lifecycle.test.ts b/src/cli/daemon-cli/lifecycle.test.ts index 3f0ed6d531c..f1e87fc4938 100644 --- a/src/cli/daemon-cli/lifecycle.test.ts +++ b/src/cli/daemon-cli/lifecycle.test.ts @@ -36,17 +36,16 @@ const renderGatewayPortHealthDiagnostics = vi.fn(() => ["diag: unhealthy port"]) const renderRestartDiagnostics = vi.fn(() => ["diag: unhealthy runtime"]); const resolveGatewayPort = vi.fn(() => 18789); const findGatewayPidsOnPortSync = vi.fn<(port: number) => number[]>(() => []); -const probeGateway = - vi.fn< - (opts: { - url: string; - auth?: { token?: string; password?: string }; - timeoutMs: number; - }) => Promise<{ - ok: boolean; - configSnapshot: unknown; - }> - >(); +const probeGateway = vi.fn< + (opts: { + url: string; + auth?: { token?: string; password?: string }; + timeoutMs: number; + }) => Promise<{ + ok: boolean; + configSnapshot: unknown; + }> +>(); const isRestartEnabled = vi.fn<(config?: { commands?: unknown }) => boolean>(() => true); const loadConfig = vi.fn(() => ({})); diff --git a/src/config/types.gateway.ts b/src/config/types.gateway.ts index 58b061682a1..422bbc82eed 100644 --- a/src/config/types.gateway.ts +++ b/src/config/types.gateway.ts @@ -186,6 +186,8 @@ export type GatewayTailscaleConfig = { }; export type GatewayRemoteConfig = { + /** Whether remote gateway surfaces are enabled. Default: true when absent. */ + enabled?: boolean; /** Remote Gateway WebSocket URL (ws:// or wss://). */ url?: string; /** Transport for macOS remote connections (ssh tunnel or direct WS). */ diff --git a/src/cron/isolated-agent/run.ts b/src/cron/isolated-agent/run.ts index 4db6b88b57f..32d729f9879 100644 --- a/src/cron/isolated-agent/run.ts +++ b/src/cron/isolated-agent/run.ts @@ -12,7 +12,6 @@ import { getCliSessionId, setCliSessionId } from "../../agents/cli-session.js"; import { lookupContextTokens } from "../../agents/context.js"; import { resolveCronStyleNow } from "../../agents/current-time.js"; import { DEFAULT_CONTEXT_TOKENS, DEFAULT_MODEL, DEFAULT_PROVIDER } from "../../agents/defaults.js"; -import { resolveNestedAgentLane } from "../../agents/lanes.js"; import { loadModelCatalog } from "../../agents/model-catalog.js"; import { runWithModelFallback } from "../../agents/model-fallback.js"; import { @@ -47,6 +46,7 @@ import { import type { AgentDefaultsConfig } from "../../config/types.js"; import { registerAgentRunContext } from "../../infra/agent-events.js"; import { logWarn } from "../../logger.js"; +import { CommandLane } from "../../process/lanes.js"; import { normalizeAgentId } from "../../routing/session-key.js"; import { buildSafeExternalPrompt, @@ -621,7 +621,7 @@ export async function runCronIsolatedAgentTurn(params: { config: cfgWithAgentDefaults, skillsSnapshot, prompt: promptText, - lane: resolveNestedAgentLane(params.lane), + lane: resolveCronEmbeddedAgentLane(params.lane), provider: providerOverride, model: modelOverride, authProfileId, diff --git a/ui/src/ui/chat/slash-command-executor.ts b/ui/src/ui/chat/slash-command-executor.ts index c7ddced286d..ce2a43a8f41 100644 --- a/ui/src/ui/chat/slash-command-executor.ts +++ b/ui/src/ui/chat/slash-command-executor.ts @@ -3,6 +3,8 @@ * Calls gateway RPC methods and returns formatted results. */ +import type { ModelCatalogEntry } from "../../../../src/agents/model-catalog.js"; +import type { HealthSummary } from "../../../../src/commands/health.js"; import { DEFAULT_AGENT_ID, DEFAULT_MAIN_KEY, @@ -10,13 +12,7 @@ import { parseAgentSessionKey, } from "../../../../src/routing/session-key.js"; import type { GatewayBrowserClient } from "../gateway.ts"; -import type { - AgentsListResult, - GatewaySessionRow, - HealthSummary, - ModelCatalogEntry, - SessionsListResult, -} from "../types.ts"; +import type { AgentsListResult, GatewaySessionRow, SessionsListResult } from "../types.ts"; import { SLASH_COMMANDS } from "./slash-commands.ts"; export type SlashCommandResult = { diff --git a/ui/src/ui/chat/slash-commands.ts b/ui/src/ui/chat/slash-commands.ts index d26a82e1544..7fc4fd6a7c0 100644 --- a/ui/src/ui/chat/slash-commands.ts +++ b/ui/src/ui/chat/slash-commands.ts @@ -21,14 +21,14 @@ export const SLASH_COMMANDS: SlashCommandDef[] = [ { name: "new", description: "Start a new session", - icon: "plus", + icon: "circle", category: "session", executeLocal: true, }, { name: "reset", description: "Reset current session", - icon: "refresh", + icon: "loader", category: "session", executeLocal: true, }, @@ -42,21 +42,21 @@ export const SLASH_COMMANDS: SlashCommandDef[] = [ { name: "stop", description: "Stop current run", - icon: "stop", + icon: "x", category: "session", executeLocal: true, }, { name: "clear", description: "Clear chat history", - icon: "trash", + icon: "x", category: "session", executeLocal: true, }, { name: "focus", description: "Toggle focus mode", - icon: "eye", + icon: "search", category: "session", executeLocal: true, }, @@ -83,7 +83,7 @@ export const SLASH_COMMANDS: SlashCommandDef[] = [ name: "verbose", description: "Toggle verbose mode", args: "", - icon: "terminal", + icon: "fileCode", category: "model", executeLocal: true, argOptions: ["on", "off", "full"], @@ -107,7 +107,7 @@ export const SLASH_COMMANDS: SlashCommandDef[] = [ { name: "export", description: "Export session to Markdown", - icon: "download", + icon: "arrowDown", category: "tools", executeLocal: true, }, @@ -146,7 +146,7 @@ export const SLASH_COMMANDS: SlashCommandDef[] = [ name: "steer", description: "Steer a sub-agent", args: " ", - icon: "send", + icon: "zap", category: "agents", }, ];