@symerian/symi 2.6.7 → 2.6.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{agents-DPdRUY_O.js → agents-yeSooTtP.js} +4 -4
- package/dist/{agents.config-DIumfxnN.js → agents.config-DoTRueo1.js} +1 -1
- package/dist/{agents.config-Cr6DcdaD.js → agents.config-XOcM83Bx.js} +1 -1
- package/dist/{audio-preflight-CPBOQV4I.js → audio-preflight-C40mKAp7.js} +4 -4
- package/dist/{audio-preflight-BVaaZWkg.js → audio-preflight-DHTaS5U1.js} +4 -4
- package/dist/{auth-choice-z3-Baeyd.js → auth-choice-6h5vk1cG.js} +1 -1
- package/dist/{auth-choice-C5etRQcH.js → auth-choice-CSfG00oW.js} +1 -1
- package/dist/{banner-om7BRUIc.js → banner-C2tjwP2M.js} +1 -1
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +6 -6
- package/dist/bundled/session-memory/handler.js +6 -6
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{channel-options-BqnokE7_.js → channel-options-5wdTOBFJ.js} +1 -1
- package/dist/{channel-options-Cb1PgfNV.js → channel-options-CHyjRl0C.js} +1 -1
- package/dist/{channel-web-DztB2W6w.js → channel-web-VYYpZqcw.js} +1 -1
- package/dist/{channels-cli-R2PHQWVd.js → channels-cli-CNS4BcpR.js} +4 -4
- package/dist/{channels-cli-xlZ2mjBu.js → channels-cli-Dm1d93Oy.js} +4 -4
- package/dist/{chrome-DkaXoP36.js → chrome-CDJYxX5a.js} +5 -5
- package/dist/{chrome-D2SKJnR7.js → chrome-DYZwl5Gv.js} +5 -5
- package/dist/{cli-DNGrFH7L.js → cli-D4MEJZ7W.js} +1 -1
- package/dist/{cli-DLly6H0w.js → cli-DqQ3teJy.js} +1 -1
- package/dist/{command-registry-DJbyskBr.js → command-registry-yzABgrim.js} +9 -9
- package/dist/{completion-cli-Dfw9JhkN.js → completion-cli-DDCDJyTb.js} +2 -2
- package/dist/{completion-cli-DosOadUD.js → completion-cli-zI_h8pr3.js} +1 -1
- package/dist/{config-cli-BaH8OVQ-.js → config-cli-Bth4qEO1.js} +1 -1
- package/dist/{config-cli-CbdeNt0M.js → config-cli-vqQE9gkx.js} +1 -1
- package/dist/{configure-BmNOfGox.js → configure-DU1IcIoq.js} +3 -3
- package/dist/{configure-D5dSJprr.js → configure-DyeOg2hp.js} +3 -3
- package/dist/{deliver-C-37cZUe.js → deliver-BH0l3UKW.js} +1 -1
- package/dist/{deliver-C46-vyqg.js → deliver-dODxSv3b.js} +1 -1
- package/dist/{doctor-completion-Xx92Sz9s.js → doctor-completion-BbWijhz0.js} +1 -1
- package/dist/{doctor-completion-DRucwWSo.js → doctor-completion-R-1oda1v.js} +1 -1
- package/dist/entry.js +1 -1
- package/dist/extensionAPI.js +6 -6
- package/dist/{gateway-cli-SlbXm0f7.js → gateway-cli-BFWLsB3b.js} +9 -9
- package/dist/{gateway-cli-D3kGHw5M.js → gateway-cli-DGKFkUrv.js} +9 -9
- package/dist/{glass-ui-ws-Cj9wbO1L.js → glass-ui-ws-DDgLRQXa.js} +7 -7
- package/dist/{glass-ui-ws-B7V2wHEu.js → glass-ui-ws-DFRu8a15.js} +7 -7
- package/dist/{health-DUKLANXu.js → health-BxPSqsO6.js} +1 -1
- package/dist/{health-BPOuBmYt.js → health-CJ7Y6Rln.js} +1 -1
- package/dist/{hooks-cli-BF0mbqlZ.js → hooks-cli-BAVmPXDl.js} +2 -2
- package/dist/{hooks-cli-BpfIySkB.js → hooks-cli-elIqdnzb.js} +2 -2
- package/dist/{image-DcpMiprB.js → image-CHzdaNJ4.js} +1 -1
- package/dist/{image-CuzFLQWC.js → image-CXu8W39c.js} +1 -1
- package/dist/index.js +6 -6
- package/dist/llm-slug-generator.js +6 -6
- package/dist/{models-Bt8lm_nD.js → models-CIUYv1__.js} +2 -2
- package/dist/{models-cli-bHYoiL5x.js → models-cli-DmffFgOZ.js} +2 -2
- package/dist/{models-cli-BmBmBUgl.js → models-cli-ydxkD2B-.js} +3 -3
- package/dist/{onboard-DFkXqe5P.js → onboard-BBZMfGdo.js} +2 -2
- package/dist/{onboard-DlY7trcj.js → onboard-DhJBvsPB.js} +2 -2
- package/dist/{onboard-channels-D0RHtaJE.js → onboard-channels-0wtc-NTC.js} +1 -1
- package/dist/{onboard-channels-DEFF3Rjo.js → onboard-channels-LCDTtAGK.js} +1 -1
- package/dist/{onboarding-mXPGwLNG.js → onboarding-Bm11jSTl.js} +3 -3
- package/dist/{onboarding-BEDqTyYQ.js → onboarding-Bs7a2RIn.js} +3 -3
- package/dist/{onboarding.finalize-DmeEphAd.js → onboarding.finalize-DOpAnwny.js} +5 -5
- package/dist/{onboarding.finalize-Ca-aQ6eE.js → onboarding.finalize-fdahnZvf.js} +6 -6
- package/dist/{pi-embedded-DPXbVwW0.js → pi-embedded-BwQa2XMa.js} +69 -68
- package/dist/{pi-embedded-helpers-B8kqLWns.js → pi-embedded-helpers-lgx_U5KS.js} +4 -4
- package/dist/{pi-embedded-helpers-CfqDGQ9J.js → pi-embedded-helpers-pubKo8HQ.js} +4 -4
- package/dist/{plugin-registry-CDIOKK_i.js → plugin-registry-CQCjMWVC.js} +1 -1
- package/dist/{plugin-registry-C1ghjhOE.js → plugin-registry-D3CP_n5q.js} +1 -1
- package/dist/plugin-sdk/agents/pi-tools.validate-wrapper.d.ts +8 -8
- package/dist/plugin-sdk/{channel-web-CxwLjrWk.js → channel-web-B76ttiD9.js} +1 -1
- package/dist/plugin-sdk/index.js +2 -2
- package/dist/plugin-sdk/{reply-CyZfsjrl.js → reply-CQPVXorK.js} +55 -54
- package/dist/plugin-sdk/{web-C2OyRvIo.js → web-DtkJFFr4.js} +2 -2
- package/dist/{plugins-cli-jv-Bqq1t.js → plugins-cli-D_r2gFIY.js} +2 -2
- package/dist/{plugins-cli-BFCJyRBX.js → plugins-cli-FUQHZ6tU.js} +2 -2
- package/dist/{program-T144qFaw.js → program-DwrSPQU4.js} +7 -7
- package/dist/{program-context-xpDrT9eG.js → program-context-CN4mNmYa.js} +17 -17
- package/dist/{prompt-select-styled-Bn4zyJmn.js → prompt-select-styled-BQW1Ropv.js} +4 -4
- package/dist/{prompt-select-styled-BN0aOmtR.js → prompt-select-styled-CK3VsV2a.js} +4 -4
- package/dist/{provider-auth-helpers-CqDTEFnD.js → provider-auth-helpers-Bg07iIOF.js} +1 -1
- package/dist/{provider-auth-helpers-CfBPNN7J.js → provider-auth-helpers-CY8preuC.js} +1 -1
- package/dist/{push-apns-CVRC-O3Q.js → push-apns-6u2NUzOH.js} +1 -1
- package/dist/{push-apns-CHIVwHRD.js → push-apns-D2hExRgY.js} +1 -1
- package/dist/{pw-ai-m0mj2KWK.js → pw-ai-B5asscAD.js} +1 -1
- package/dist/{pw-ai-1htA-NnS.js → pw-ai-De-KR9_s.js} +1 -1
- package/dist/{register.agent-DD2QErXm.js → register.agent-BhM4QQqa.js} +5 -5
- package/dist/{register.agent-B0ExzmtM.js → register.agent-BqRVkePg.js} +6 -6
- package/dist/{register.configure-DpHCcS5d.js → register.configure-0qzVn1Z5.js} +6 -6
- package/dist/{register.configure-ByNKeAo7.js → register.configure-BtnhfP3M.js} +6 -6
- package/dist/{register.maintenance-C9K829tk.js → register.maintenance-BNqMCfLm.js} +7 -7
- package/dist/{register.maintenance-Ck1jwY_N.js → register.maintenance-DrijKQoQ.js} +8 -8
- package/dist/{register.message-DZ45n1GX.js → register.message-2iSjsSI-.js} +2 -2
- package/dist/{register.message-BveFb6IW.js → register.message-CGexab2Y.js} +2 -2
- package/dist/{register.onboard-Byt2S-D0.js → register.onboard-D1b3xhDD.js} +4 -4
- package/dist/{register.onboard-BHUh0Xk1.js → register.onboard-DIAkE9FI.js} +4 -4
- package/dist/{register.setup-DCG9bst7.js → register.setup-Bvv5sUpg.js} +4 -4
- package/dist/{register.setup-BvB9oNh3.js → register.setup-Clq3FwZo.js} +4 -4
- package/dist/{register.status-health-sessions-CMJ_l4rs.js → register.status-health-sessions-IPxdVhoD.js} +3 -3
- package/dist/{register.status-health-sessions-DgNzHYE-.js → register.status-health-sessions-JHfNAhk3.js} +3 -3
- package/dist/{register.subclis-DnWR9l5V.js → register.subclis-C5wTDVDa.js} +9 -9
- package/dist/{reply-DcyKvFor.js → reply-dzRBlsmK.js} +55 -54
- package/dist/{run-main-B1aB8I5W.js → run-main-jPbs3Gm5.js} +14 -14
- package/dist/{runner-BcQ0sF9T.js → runner-DUBExAb5.js} +1 -1
- package/dist/{runner-CU9l0uJh.js → runner-WAG0M5s9.js} +1 -1
- package/dist/{server-methods-BdXCfO_O.js → server-methods-CJbZTdch.js} +7 -7
- package/dist/{server-methods-D1W-tViM.js → server-methods-DuaVOb2k.js} +7 -7
- package/dist/{server-node-events-DqVmWjof.js → server-node-events-BgFWyVCV.js} +2 -2
- package/dist/{server-node-events-BwGehjys.js → server-node-events-DesNIafd.js} +2 -2
- package/dist/{status-BvnWSBQl.js → status-BV22IA25.js} +1 -1
- package/dist/{status-BY4CnB2O.js → status-BxfE61b4.js} +2 -2
- package/dist/{status-kPaSg3RB.js → status-Bxkdy4Dq.js} +1 -1
- package/dist/{status-CfLq5R5j.js → status-DOB2UmDg.js} +2 -2
- package/dist/{subagent-registry-CVQOC9Jw.js → subagent-registry-DEdqc42m.js} +55 -54
- package/dist/{unified-runner-CxscxYKm.js → unified-runner-BIj2b1Y-.js} +69 -68
- package/dist/{update-cli-Bgrhor0g.js → update-cli-CNlljdlx.js} +8 -8
- package/dist/{update-cli-D5QWigS0.js → update-cli-D4OgWd1l.js} +7 -7
- package/dist/{update-runner-DdPdhkw5.js → update-runner-CZd6ajL6.js} +1 -1
- package/dist/{update-runner-CPOm0f_6.js → update-runner-Dtay-1lf.js} +1 -1
- package/dist/{web-DGLeD0Lo.js → web-B-E-mzTK.js} +6 -6
- package/dist/{web-DShKO-0L.js → web-DP9s1zzp.js} +6 -6
- package/dist/{web-ZnFT5LP9.js → web-DUi3cu-p.js} +1 -1
- package/dist/{web-DqjNQqGK.js → web-qJRZWEaD.js} +2 -2
- package/package.json +1 -1
|
@@ -13,7 +13,7 @@ import "./client-DMBZpU6X.js";
|
|
|
13
13
|
import "./call-BcE47FtD.js";
|
|
14
14
|
import "./message-channel-C9dERklz.js";
|
|
15
15
|
import "./pairing-token-Byh6drgn.js";
|
|
16
|
-
import "./subagent-registry-
|
|
16
|
+
import "./subagent-registry-DEdqc42m.js";
|
|
17
17
|
import "./sessions-CJXnZVjR.js";
|
|
18
18
|
import "./tokens-Csntmwwn.js";
|
|
19
19
|
import "./plugins-CwSlLxM8.js";
|
|
@@ -101,9 +101,9 @@ import { t as ensureSymiCliOnPath } from "./path-env-Bic_wXs9.js";
|
|
|
101
101
|
import "./catalog-DLQFKucJ.js";
|
|
102
102
|
import "./note-DDecZomM.js";
|
|
103
103
|
import "./plugin-auto-enable-D6ENR3Xg.js";
|
|
104
|
-
import { t as ensurePluginRegistryLoaded } from "./plugin-registry-
|
|
104
|
+
import { t as ensurePluginRegistryLoaded } from "./plugin-registry-D3CP_n5q.js";
|
|
105
105
|
import { t as assertSupportedRuntime } from "./runtime-guard-D7waq_Ho.js";
|
|
106
|
-
import { t as emitCliBanner } from "./banner-
|
|
106
|
+
import { t as emitCliBanner } from "./banner-C2tjwP2M.js";
|
|
107
107
|
import "./doctor-config-flow-CA3eiKhd.js";
|
|
108
108
|
import { n as ensureConfigReady } from "./config-guard-CPHvOzsC.js";
|
|
109
109
|
import process$1 from "node:process";
|
|
@@ -118,7 +118,7 @@ const routeHealth = {
|
|
|
118
118
|
const verbose = getVerboseFlag(argv, { includeDebug: true });
|
|
119
119
|
const timeoutMs = getPositiveIntFlagValue(argv, "--timeout");
|
|
120
120
|
if (timeoutMs === null) return false;
|
|
121
|
-
const { healthCommand } = await import("./health-
|
|
121
|
+
const { healthCommand } = await import("./health-BxPSqsO6.js").then((n) => n.i);
|
|
122
122
|
await healthCommand({
|
|
123
123
|
json,
|
|
124
124
|
timeoutMs,
|
|
@@ -138,7 +138,7 @@ const routeStatus = {
|
|
|
138
138
|
const verbose = getVerboseFlag(argv, { includeDebug: true });
|
|
139
139
|
const timeoutMs = getPositiveIntFlagValue(argv, "--timeout");
|
|
140
140
|
if (timeoutMs === null) return false;
|
|
141
|
-
const { statusCommand } = await import("./status-
|
|
141
|
+
const { statusCommand } = await import("./status-DOB2UmDg.js").then((n) => n.t);
|
|
142
142
|
await statusCommand({
|
|
143
143
|
json,
|
|
144
144
|
deep,
|
|
@@ -172,7 +172,7 @@ const routeAgentsList = {
|
|
|
172
172
|
run: async (argv) => {
|
|
173
173
|
const json = hasFlag(argv, "--json");
|
|
174
174
|
const bindings = hasFlag(argv, "--bindings");
|
|
175
|
-
const { agentsListCommand } = await import("./agents-
|
|
175
|
+
const { agentsListCommand } = await import("./agents-yeSooTtP.js").then((n) => n.t);
|
|
176
176
|
await agentsListCommand({
|
|
177
177
|
json,
|
|
178
178
|
bindings
|
|
@@ -243,7 +243,7 @@ const routes = [
|
|
|
243
243
|
const pathArg = getCommandPositionals(argv)[2];
|
|
244
244
|
if (!pathArg) return false;
|
|
245
245
|
const json = hasFlag(argv, "--json");
|
|
246
|
-
const { runConfigGet } = await import("./config-cli-
|
|
246
|
+
const { runConfigGet } = await import("./config-cli-Bth4qEO1.js");
|
|
247
247
|
await runConfigGet({
|
|
248
248
|
path: pathArg,
|
|
249
249
|
json
|
|
@@ -256,7 +256,7 @@ const routes = [
|
|
|
256
256
|
run: async (argv) => {
|
|
257
257
|
const pathArg = getCommandPositionals(argv)[2];
|
|
258
258
|
if (!pathArg) return false;
|
|
259
|
-
const { runConfigUnset } = await import("./config-cli-
|
|
259
|
+
const { runConfigUnset } = await import("./config-cli-Bth4qEO1.js");
|
|
260
260
|
await runConfigUnset({ path: pathArg });
|
|
261
261
|
return true;
|
|
262
262
|
}
|
|
@@ -270,7 +270,7 @@ const routes = [
|
|
|
270
270
|
const local = hasFlag(argv, "--local");
|
|
271
271
|
const json = hasFlag(argv, "--json");
|
|
272
272
|
const plain = hasFlag(argv, "--plain");
|
|
273
|
-
const { modelsListCommand } = await import("./models-
|
|
273
|
+
const { modelsListCommand } = await import("./models-CIUYv1__.js").then((n) => n.t);
|
|
274
274
|
await modelsListCommand({
|
|
275
275
|
all,
|
|
276
276
|
local,
|
|
@@ -301,7 +301,7 @@ const routes = [
|
|
|
301
301
|
const plain = hasFlag(argv, "--plain");
|
|
302
302
|
const check = hasFlag(argv, "--check");
|
|
303
303
|
const probe = hasFlag(argv, "--probe");
|
|
304
|
-
const { modelsStatusCommand } = await import("./models-
|
|
304
|
+
const { modelsStatusCommand } = await import("./models-CIUYv1__.js").then((n) => n.t);
|
|
305
305
|
await modelsStatusCommand({
|
|
306
306
|
json,
|
|
307
307
|
plain,
|
|
@@ -379,7 +379,7 @@ async function runCli(argv = process$1.argv) {
|
|
|
379
379
|
assertSupportedRuntime();
|
|
380
380
|
if (await tryRouteCli(normalizedArgv)) return;
|
|
381
381
|
enableConsoleCapture();
|
|
382
|
-
const { buildProgram } = await import("./program-
|
|
382
|
+
const { buildProgram } = await import("./program-DwrSPQU4.js");
|
|
383
383
|
const program = buildProgram();
|
|
384
384
|
installUnhandledRejectionHandler();
|
|
385
385
|
process$1.on("uncaughtException", (error) => {
|
|
@@ -411,10 +411,10 @@ async function runCli(argv = process$1.argv) {
|
|
|
411
411
|
const { getProgramContext } = await import("./program-context-CqzR_m-7.js").then((n) => n.n);
|
|
412
412
|
const ctx = getProgramContext(program);
|
|
413
413
|
if (ctx) {
|
|
414
|
-
const { registerCoreCliByName } = await import("./command-registry-
|
|
414
|
+
const { registerCoreCliByName } = await import("./command-registry-yzABgrim.js").then((n) => n.t);
|
|
415
415
|
await registerCoreCliByName(program, ctx, primary, parseArgv);
|
|
416
416
|
}
|
|
417
|
-
const { registerSubCliByName } = await import("./register.subclis-
|
|
417
|
+
const { registerSubCliByName } = await import("./register.subclis-C5wTDVDa.js").then((n) => n.a);
|
|
418
418
|
await registerSubCliByName(program, primary);
|
|
419
419
|
}
|
|
420
420
|
const hasBuiltinPrimary = primary !== null && program.commands.some((command) => command.name() === primary);
|
|
@@ -423,7 +423,7 @@ async function runCli(argv = process$1.argv) {
|
|
|
423
423
|
primary,
|
|
424
424
|
hasBuiltinPrimary
|
|
425
425
|
})) {
|
|
426
|
-
const { registerPluginCliCommands } = await import("./cli-
|
|
426
|
+
const { registerPluginCliCommands } = await import("./cli-D4MEJZ7W.js");
|
|
427
427
|
const { loadConfig } = await import("./config-DHBLS1Hl.js").then((n) => n.t);
|
|
428
428
|
registerPluginCliCommands(program, loadConfig());
|
|
429
429
|
}
|
|
@@ -4,7 +4,7 @@ import { G as resolveSymiAgentDir, T as resolveApiKeyForProvider, c as normalize
|
|
|
4
4
|
import { t as normalizeChatType } from "./chat-type-DFDuk3FY.js";
|
|
5
5
|
import { _ as kindFromMime, d as detectMime, h as isAudioFileName, p as getFileExtension } from "./image-ops-ByaQt43P.js";
|
|
6
6
|
import { d as DEFAULT_IMESSAGE_ATTACHMENT_ROOTS, f as isInboundPathAllowed, m as resolveIMessageAttachmentRoots, n as loadConfig, p as mergeInboundPathRoots } from "./config-BmV60pPT.js";
|
|
7
|
-
import { S as ensureSymiModelsJson, t as describeImageWithModel } from "./image-
|
|
7
|
+
import { S as ensureSymiModelsJson, t as describeImageWithModel } from "./image-CHzdaNJ4.js";
|
|
8
8
|
import { n as collectProviderApiKeysForExecution, r as executeWithApiKeyRotation, t as parseGeminiAuth } from "./gemini-auth-CSlZZ1Pw.js";
|
|
9
9
|
import { n as fetchWithTimeout } from "./fetch-timeout-BheTNyes.js";
|
|
10
10
|
import { i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, o as fetchWithSsrFGuard, r as MediaFetchError } from "./local-roots-CC8jiKDk.js";
|
|
@@ -4,7 +4,7 @@ import { $ as resolveSymiAgentDir, A as normalizeGoogleModelId, B as resolveApiK
|
|
|
4
4
|
import { d as DEFAULT_IMESSAGE_ATTACHMENT_ROOTS, f as isInboundPathAllowed, m as resolveIMessageAttachmentRoots, n as loadConfig, p as mergeInboundPathRoots } from "./config-5SdHIcHU.js";
|
|
5
5
|
import { c as detectMime, f as isAudioFileName, m as kindFromMime, u as getFileExtension } from "./image-ops-C7CauEK8.js";
|
|
6
6
|
import { t as normalizeChatType } from "./chat-type-3FRbbjbq.js";
|
|
7
|
-
import { S as ensureSymiModelsJson, t as describeImageWithModel } from "./image-
|
|
7
|
+
import { S as ensureSymiModelsJson, t as describeImageWithModel } from "./image-CXu8W39c.js";
|
|
8
8
|
import { n as collectProviderApiKeysForExecution, r as executeWithApiKeyRotation, t as parseGeminiAuth } from "./gemini-auth-Dy12ZAH3.js";
|
|
9
9
|
import { n as fetchWithTimeout } from "./fetch-timeout-DL3f_O53.js";
|
|
10
10
|
import { i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, o as fetchWithSsrFGuard, r as MediaFetchError } from "./local-roots-DhZz0Ybs.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { g as resolveStateDir, t as CONFIG_PATH } from "./paths-Cqn-zk3M.js";
|
|
2
2
|
import { D as isPlainObject, U as getResolvedLoggerSettings, r as clamp, y as resolveUserPath } from "./utils-B-0b9bGM.js";
|
|
3
3
|
import { a as normalizeElevatedLevel, c as normalizeUsageDisplay, d as supportsXHighThinking, n as formatXHighModelHint, o as normalizeReasoningLevel, s as normalizeThinkLevel, t as formatThinkingLevels } from "./thinking-EAliFiVK.js";
|
|
4
|
-
import { $n as OPENAI_TTS_MODELS, Bn as registerAgentRunContext, Bt as abortEmbeddedPiRun, C as ensureOutboundSessionEntry, Et as agentCommand, Ft as normalizeSendPolicy, G as normalizeCronJobPatch, Gn as resolveTtsApiKey, H as writeRestartSentinel, Hn as getTtsProvider, Ht as waitForEmbeddedPiRunEnd, It as resolveSendPolicy, Jn as resolveTtsPrefsPath, Kn as resolveTtsAutoMode, L as formatDoctorNonInteractiveHint, Mn as listSubagentRunsForRequester, Mt as resolveOutboundTarget, N as scheduleGatewaySigusr1Restart, Ot as resolveAgentDeliveryPlan, Pr as resolveAgentTimeoutMs, Qn as textToSpeech, Rt as createOutboundSendDeps, Sr as isSystemEventContextChanged, Tn as stopSubagentsForRequester, Un as isTtsEnabled, Vn as resolveUserTimezone, W as normalizeCronJobCreate, Wn as isTtsProviderConfigured, Xn as setTtsEnabled, Yn as resolveTtsProviderOrder, Zn as setTtsProvider, _ as loadCombinedSessionStoreForGateway, at as persistBrowserProxyFiles, b as resolveGatewaySessionStoreTarget, br as parseVerboseOverride, c as clearSessionQueues, er as OPENAI_TTS_VOICES, ft as loadSymiPlugins, g as listSessionsFromStore, gt as loadProviderUsageSummary, h as listAgentsForGateway, in as unbindThreadBindingsBySessionKey, it as applyBrowserProxyPaths, jn as listDescendantRunsForRequester, kt as resolveAgentOutboundTarget, mn as createReplyDispatcher, mt as normalizeGroupActivation, n as BARE_SESSION_RESET_PROMPT, p as canonicalizeSpawnedByForAgent, pn as dispatchInboundMessage, qn as resolveTtsConfig, v as loadSessionEntry, vr as applyModelOverrideToSessionEntry, w as resolveOutboundSessionRoute, wn as isAbortTrigger, x as resolveSessionModelRef, xn as formatZonedTimestamp, xr as enqueueSystemEvent, y as pruneLegacyStoreKeys, yr as applyVerboseOverride, zn as onAgentEvent } from "./reply-
|
|
4
|
+
import { $n as OPENAI_TTS_MODELS, Bn as registerAgentRunContext, Bt as abortEmbeddedPiRun, C as ensureOutboundSessionEntry, Et as agentCommand, Ft as normalizeSendPolicy, G as normalizeCronJobPatch, Gn as resolveTtsApiKey, H as writeRestartSentinel, Hn as getTtsProvider, Ht as waitForEmbeddedPiRunEnd, It as resolveSendPolicy, Jn as resolveTtsPrefsPath, Kn as resolveTtsAutoMode, L as formatDoctorNonInteractiveHint, Mn as listSubagentRunsForRequester, Mt as resolveOutboundTarget, N as scheduleGatewaySigusr1Restart, Ot as resolveAgentDeliveryPlan, Pr as resolveAgentTimeoutMs, Qn as textToSpeech, Rt as createOutboundSendDeps, Sr as isSystemEventContextChanged, Tn as stopSubagentsForRequester, Un as isTtsEnabled, Vn as resolveUserTimezone, W as normalizeCronJobCreate, Wn as isTtsProviderConfigured, Xn as setTtsEnabled, Yn as resolveTtsProviderOrder, Zn as setTtsProvider, _ as loadCombinedSessionStoreForGateway, at as persistBrowserProxyFiles, b as resolveGatewaySessionStoreTarget, br as parseVerboseOverride, c as clearSessionQueues, er as OPENAI_TTS_VOICES, ft as loadSymiPlugins, g as listSessionsFromStore, gt as loadProviderUsageSummary, h as listAgentsForGateway, in as unbindThreadBindingsBySessionKey, it as applyBrowserProxyPaths, jn as listDescendantRunsForRequester, kt as resolveAgentOutboundTarget, mn as createReplyDispatcher, mt as normalizeGroupActivation, n as BARE_SESSION_RESET_PROMPT, p as canonicalizeSpawnedByForAgent, pn as dispatchInboundMessage, qn as resolveTtsConfig, v as loadSessionEntry, vr as applyModelOverrideToSessionEntry, w as resolveOutboundSessionRoute, wn as isAbortTrigger, x as resolveSessionModelRef, xn as formatZonedTimestamp, xr as enqueueSystemEvent, y as pruneLegacyStoreKeys, yr as applyVerboseOverride, zn as onAgentEvent } from "./reply-dzRBlsmK.js";
|
|
5
5
|
import { S as parseAgentSessionKey, l as resolveAgentIdFromSessionKey, m as DEFAULT_ACCOUNT_ID, o as classifySessionKeyShape, s as normalizeAgentId, t as DEFAULT_AGENT_ID, x as isSubagentSessionKey } from "./session-key-DCt45XZa.js";
|
|
6
6
|
import { t as resolveSymiPackageRoot } from "./symi-root-CrGJbkzf.js";
|
|
7
7
|
import { C as createInternalHookEvent, T as triggerInternalHook, d as getActivePluginRegistry, r as DEFAULT_CHAT_CHANNEL, t as CHANNEL_IDS } from "./registry-Cja8eT7G.js";
|
|
@@ -39,14 +39,14 @@ import { t as WizardCancelledError } from "./prompts-Xu2Sveka.js";
|
|
|
39
39
|
import { t as resolveChannelDefaultAccountId } from "./helpers-BcGbMZD1.js";
|
|
40
40
|
import { t as buildChannelAccountSnapshot } from "./status-BrV-afZE.js";
|
|
41
41
|
import { o as isNodeCommandAllowed, s as resolveNodeCommandAllowlist } from "./audit-CrITRV6w.js";
|
|
42
|
-
import { n as getStatusSummary } from "./status-
|
|
43
|
-
import { s as setHeartbeatsEnabled } from "./health-
|
|
42
|
+
import { n as getStatusSummary } from "./status-BxfE61b4.js";
|
|
43
|
+
import { s as setHeartbeatsEnabled } from "./health-CJ7Y6Rln.js";
|
|
44
44
|
import { m as normalizeUpdateChannel } from "./update-check-CtckACbb.js";
|
|
45
|
-
import { a as sendApnsAlert, c as parseMessageWithAttachments, i as resolveApnsAuthConfigFromEnv, l as formatForLog, n as normalizeApnsEnvironment, o as sendApnsBackgroundWake, s as normalizeRpcAttachmentsToChatAttachments, t as loadApnsRegistration } from "./push-apns-
|
|
46
|
-
import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-
|
|
45
|
+
import { a as sendApnsAlert, c as parseMessageWithAttachments, i as resolveApnsAuthConfigFromEnv, l as formatForLog, n as normalizeApnsEnvironment, o as sendApnsBackgroundWake, s as normalizeRpcAttachmentsToChatAttachments, t as loadApnsRegistration } from "./push-apns-D2hExRgY.js";
|
|
46
|
+
import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-XOcM83Bx.js";
|
|
47
47
|
import { t as resolveSystemRunCommand } from "./system-run-command-ByVa3txU.js";
|
|
48
48
|
import { t as installSkill } from "./skills-install-D67isO1L.js";
|
|
49
|
-
import { t as runGatewayUpdate } from "./update-runner-
|
|
49
|
+
import { t as runGatewayUpdate } from "./update-runner-Dtay-1lf.js";
|
|
50
50
|
import * as fs$2 from "node:fs";
|
|
51
51
|
import fs from "node:fs";
|
|
52
52
|
import * as os$1 from "node:os";
|
|
@@ -6853,7 +6853,7 @@ const nodeHandlers = {
|
|
|
6853
6853
|
const p = params;
|
|
6854
6854
|
const payloadJSON = typeof p.payloadJSON === "string" ? p.payloadJSON : p.payload !== void 0 ? JSON.stringify(p.payload) : null;
|
|
6855
6855
|
await respondUnavailableOnThrow(respond, async () => {
|
|
6856
|
-
const { handleNodeEvent } = await import("./server-node-events-
|
|
6856
|
+
const { handleNodeEvent } = await import("./server-node-events-BgFWyVCV.js");
|
|
6857
6857
|
const nodeId = client?.connect?.device?.id ?? client?.connect?.client?.id ?? "node";
|
|
6858
6858
|
await handleNodeEvent({
|
|
6859
6859
|
deps: context.deps,
|
|
@@ -12,7 +12,7 @@ import { f as GATEWAY_CLIENT_CAPS, g as hasGatewayClientCap, i as isGatewayMessa
|
|
|
12
12
|
import { c as writeJsonAtomic, o as createAsyncLock, s as readJsonFile } from "./pairing-token-Byh6drgn.js";
|
|
13
13
|
import { s as pickPrimaryLanIPv4 } from "./net-DZ5Ayk-W.js";
|
|
14
14
|
import { i as normalizeInputProvenance } from "./input-provenance-D0lNkCf6.js";
|
|
15
|
-
import { $n as resolveTtsAutoMode, B as dispatchInboundMessage, C as resolveAgentDeliveryPlan, Cn as enqueueSystemEvent, Cr as onAgentEvent, D as createOutboundSendDeps, Dt as normalizeCronJobPatch, Et as normalizeCronJobCreate, G as BARE_SESSION_RESET_PROMPT, Gn as stopSubagentsForRequester, Gt as persistBrowserProxyFiles, In as resolveAgentTimeoutMs, Jn as resolveUserTimezone, Qn as resolveTtsApiKey, Sn as parseVerboseOverride, V as createReplyDispatcher, Vn as formatZonedTimestamp, Wn as isAbortTrigger, Wt as applyBrowserProxyPaths, Xn as isTtsEnabled, Y as abortEmbeddedPiRun, Yn as getTtsProvider, Z as waitForEmbeddedPiRunEnd, Zn as isTtsProviderConfigured, Zt as scheduleGatewaySigusr1Restart, a as listSubagentRunsForRequester, ar as textToSpeech, bn as applyModelOverrideToSessionEntry, c as clearSessionQueues, ct as resolveOutboundSessionRoute, dt as resolveOutboundTarget, en as unbindThreadBindingsBySessionKey, er as resolveTtsConfig, hn as resolveSendPolicy, i as listDescendantRunsForRequester, ir as setTtsProvider, m as loadSymiPlugins, mn as normalizeSendPolicy, nr as resolveTtsProviderOrder, or as OPENAI_TTS_MODELS, rn as loadProviderUsageSummary, rr as setTtsEnabled, sr as OPENAI_TTS_VOICES, st as ensureOutboundSessionEntry, tn as normalizeGroupActivation, tr as resolveTtsPrefsPath, w as resolveAgentOutboundTarget, wn as isSystemEventContextChanged, wr as registerAgentRunContext, wt as writeRestartSentinel, x as agentCommand, xn as applyVerboseOverride, yt as formatDoctorNonInteractiveHint } from "./subagent-registry-
|
|
15
|
+
import { $n as resolveTtsAutoMode, B as dispatchInboundMessage, C as resolveAgentDeliveryPlan, Cn as enqueueSystemEvent, Cr as onAgentEvent, D as createOutboundSendDeps, Dt as normalizeCronJobPatch, Et as normalizeCronJobCreate, G as BARE_SESSION_RESET_PROMPT, Gn as stopSubagentsForRequester, Gt as persistBrowserProxyFiles, In as resolveAgentTimeoutMs, Jn as resolveUserTimezone, Qn as resolveTtsApiKey, Sn as parseVerboseOverride, V as createReplyDispatcher, Vn as formatZonedTimestamp, Wn as isAbortTrigger, Wt as applyBrowserProxyPaths, Xn as isTtsEnabled, Y as abortEmbeddedPiRun, Yn as getTtsProvider, Z as waitForEmbeddedPiRunEnd, Zn as isTtsProviderConfigured, Zt as scheduleGatewaySigusr1Restart, a as listSubagentRunsForRequester, ar as textToSpeech, bn as applyModelOverrideToSessionEntry, c as clearSessionQueues, ct as resolveOutboundSessionRoute, dt as resolveOutboundTarget, en as unbindThreadBindingsBySessionKey, er as resolveTtsConfig, hn as resolveSendPolicy, i as listDescendantRunsForRequester, ir as setTtsProvider, m as loadSymiPlugins, mn as normalizeSendPolicy, nr as resolveTtsProviderOrder, or as OPENAI_TTS_MODELS, rn as loadProviderUsageSummary, rr as setTtsEnabled, sr as OPENAI_TTS_VOICES, st as ensureOutboundSessionEntry, tn as normalizeGroupActivation, tr as resolveTtsPrefsPath, w as resolveAgentOutboundTarget, wn as isSystemEventContextChanged, wr as registerAgentRunContext, wt as writeRestartSentinel, x as agentCommand, xn as applyVerboseOverride, yt as formatDoctorNonInteractiveHint } from "./subagent-registry-DEdqc42m.js";
|
|
16
16
|
import { F as resolveMainSessionKey, I as resolveMainSessionKeyFromConfig, J as normalizeSessionDeliveryFields, N as resolveAgentMainSessionKey, P as resolveExplicitAgentSessionKey, R as snapshotSessionOrigin, S as stripEnvelopeFromMessages, _ as capArrayByJsonBytes, d as updateSessionStore, g as archiveSessionTranscripts, h as archiveFileOnDisk, o as loadSessionStore, t as extractDeliveryInfo, v as readSessionMessages, x as resolveSessionTranscriptCandidates, y as readSessionPreviewItemsFromTranscript } from "./sessions-CJXnZVjR.js";
|
|
17
17
|
import { n as listChannelPlugins, r as normalizeChannelId, t as getChannelPlugin } from "./plugins-CwSlLxM8.js";
|
|
18
18
|
import { n as createBrowserRouteDispatcher } from "./with-timeout-Di0nddLY.js";
|
|
@@ -37,14 +37,14 @@ import { t as WizardCancelledError } from "./prompts-m1IJwIAx.js";
|
|
|
37
37
|
import { t as resolveChannelDefaultAccountId } from "./helpers-cLP5YLeQ.js";
|
|
38
38
|
import { t as buildChannelAccountSnapshot } from "./status-BUedPCLb.js";
|
|
39
39
|
import { o as isNodeCommandAllowed, s as resolveNodeCommandAllowlist } from "./audit-Byo5jCLN.js";
|
|
40
|
-
import { r as getStatusSummary } from "./status-
|
|
41
|
-
import { c as setHeartbeatsEnabled } from "./health-
|
|
40
|
+
import { r as getStatusSummary } from "./status-DOB2UmDg.js";
|
|
41
|
+
import { c as setHeartbeatsEnabled } from "./health-BxPSqsO6.js";
|
|
42
42
|
import { m as normalizeUpdateChannel } from "./update-check-ZdimP1aU.js";
|
|
43
|
-
import { a as sendApnsAlert, c as parseMessageWithAttachments, i as resolveApnsAuthConfigFromEnv, l as formatForLog, n as normalizeApnsEnvironment, o as sendApnsBackgroundWake, s as normalizeRpcAttachmentsToChatAttachments, t as loadApnsRegistration } from "./push-apns-
|
|
44
|
-
import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-
|
|
43
|
+
import { a as sendApnsAlert, c as parseMessageWithAttachments, i as resolveApnsAuthConfigFromEnv, l as formatForLog, n as normalizeApnsEnvironment, o as sendApnsBackgroundWake, s as normalizeRpcAttachmentsToChatAttachments, t as loadApnsRegistration } from "./push-apns-6u2NUzOH.js";
|
|
44
|
+
import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-DoTRueo1.js";
|
|
45
45
|
import { t as resolveSystemRunCommand } from "./system-run-command-ByVa3txU.js";
|
|
46
46
|
import { t as installSkill } from "./skills-install-1ZdwGTnh.js";
|
|
47
|
-
import { t as runGatewayUpdate } from "./update-runner-
|
|
47
|
+
import { t as runGatewayUpdate } from "./update-runner-CZd6ajL6.js";
|
|
48
48
|
import { spawnSync } from "node:child_process";
|
|
49
49
|
import * as os$1 from "node:os";
|
|
50
50
|
import os from "node:os";
|
|
@@ -6851,7 +6851,7 @@ const nodeHandlers = {
|
|
|
6851
6851
|
const p = params;
|
|
6852
6852
|
const payloadJSON = typeof p.payloadJSON === "string" ? p.payloadJSON : p.payload !== void 0 ? JSON.stringify(p.payload) : null;
|
|
6853
6853
|
await respondUnavailableOnThrow(respond, async () => {
|
|
6854
|
-
const { handleNodeEvent } = await import("./server-node-events-
|
|
6854
|
+
const { handleNodeEvent } = await import("./server-node-events-DesNIafd.js");
|
|
6855
6855
|
const nodeId = client?.connect?.device?.id ?? client?.connect?.client?.id ?? "node";
|
|
6856
6856
|
await handleNodeEvent({
|
|
6857
6857
|
deps: context.deps,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import "./paths-Cqn-zk3M.js";
|
|
2
2
|
import "./utils-B-0b9bGM.js";
|
|
3
3
|
import "./thinking-EAliFiVK.js";
|
|
4
|
-
import { Et as agentCommand, Mt as resolveOutboundTarget, Pt as createOutboundSendDeps, b as resolveGatewaySessionStoreTarget, st as requestHeartbeatNow, v as loadSessionEntry, xr as enqueueSystemEvent, y as pruneLegacyStoreKeys } from "./reply-
|
|
4
|
+
import { Et as agentCommand, Mt as resolveOutboundTarget, Pt as createOutboundSendDeps, b as resolveGatewaySessionStoreTarget, st as requestHeartbeatNow, v as loadSessionEntry, xr as enqueueSystemEvent, y as pruneLegacyStoreKeys } from "./reply-dzRBlsmK.js";
|
|
5
5
|
import { c as normalizeMainKey } from "./session-key-DCt45XZa.js";
|
|
6
6
|
import "./registry-Cja8eT7G.js";
|
|
7
7
|
import { f as defaultRuntime } from "./subsystem-D9vIQve0.js";
|
|
@@ -102,7 +102,7 @@ import "./pi-tools.policy-CIDBbw6x.js";
|
|
|
102
102
|
import "./control-service-Bz7rxLWq.js";
|
|
103
103
|
import "./stagger-BUClb97_.js";
|
|
104
104
|
import "./channel-selection-DuWs0Aak.js";
|
|
105
|
-
import { c as parseMessageWithAttachments, l as formatForLog, r as registerApnsToken, s as normalizeRpcAttachmentsToChatAttachments } from "./push-apns-
|
|
105
|
+
import { c as parseMessageWithAttachments, l as formatForLog, r as registerApnsToken, s as normalizeRpcAttachmentsToChatAttachments } from "./push-apns-D2hExRgY.js";
|
|
106
106
|
import { randomUUID } from "node:crypto";
|
|
107
107
|
|
|
108
108
|
//#region src/gateway/server-node-events.ts
|
|
@@ -14,7 +14,7 @@ import "./client-DMBZpU6X.js";
|
|
|
14
14
|
import "./call-BcE47FtD.js";
|
|
15
15
|
import "./message-channel-C9dERklz.js";
|
|
16
16
|
import "./pairing-token-Byh6drgn.js";
|
|
17
|
-
import { Cn as enqueueSystemEvent, T as createOutboundSendDeps, dn as requestHeartbeatNow, dt as resolveOutboundTarget, x as agentCommand } from "./subagent-registry-
|
|
17
|
+
import { Cn as enqueueSystemEvent, T as createOutboundSendDeps, dn as requestHeartbeatNow, dt as resolveOutboundTarget, x as agentCommand } from "./subagent-registry-DEdqc42m.js";
|
|
18
18
|
import { d as updateSessionStore } from "./sessions-CJXnZVjR.js";
|
|
19
19
|
import "./tokens-Csntmwwn.js";
|
|
20
20
|
import { r as normalizeChannelId } from "./plugins-CwSlLxM8.js";
|
|
@@ -98,7 +98,7 @@ import "./onboard-helpers-_pit1NZW.js";
|
|
|
98
98
|
import "./prompt-style-DwCXob2h.js";
|
|
99
99
|
import "./pairing-labels-D1HDboV2.js";
|
|
100
100
|
import "./pi-tools.policy-De00gPXt.js";
|
|
101
|
-
import { c as parseMessageWithAttachments, l as formatForLog, r as registerApnsToken, s as normalizeRpcAttachmentsToChatAttachments } from "./push-apns-
|
|
101
|
+
import { c as parseMessageWithAttachments, l as formatForLog, r as registerApnsToken, s as normalizeRpcAttachmentsToChatAttachments } from "./push-apns-6u2NUzOH.js";
|
|
102
102
|
import { randomUUID } from "node:crypto";
|
|
103
103
|
|
|
104
104
|
//#region src/gateway/server-node-events.ts
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { dt as createPluginLoaderLogger, ft as loadSymiPlugins } from "./reply-
|
|
1
|
+
import { dt as createPluginLoaderLogger, ft as loadSymiPlugins } from "./reply-dzRBlsmK.js";
|
|
2
2
|
import { t as createSubsystemLogger } from "./subsystem-D9vIQve0.js";
|
|
3
3
|
import { D as resolveDefaultAgentWorkspaceDir, c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-CgUHAtCo.js";
|
|
4
4
|
import { i as loadConfig } from "./config-CHwyw6l5.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { u as resolveGatewayPort } from "./paths-Cqn-zk3M.js";
|
|
2
2
|
import { B as theme, k as info, z as isRich } from "./utils-B-0b9bGM.js";
|
|
3
|
-
import { B as summarizeRestartSentinel, Jt as sha256HexPrefix, _t as formatUsageReportLines, a as buildChannelSummary, gt as loadProviderUsageSummary, h as listAgentsForGateway, m as classifySessionKey, o as buildChannelAccountSnapshot, pr as lookupContextTokens, s as formatChannelAllowFrom, wr as peekSystemEvents, x as resolveSessionModelRef, z as readRestartSentinel } from "./reply-
|
|
3
|
+
import { B as summarizeRestartSentinel, Jt as sha256HexPrefix, _t as formatUsageReportLines, a as buildChannelSummary, gt as loadProviderUsageSummary, h as listAgentsForGateway, m as classifySessionKey, o as buildChannelAccountSnapshot, pr as lookupContextTokens, s as formatChannelAllowFrom, wr as peekSystemEvents, x as resolveSessionModelRef, z as readRestartSentinel } from "./reply-dzRBlsmK.js";
|
|
4
4
|
import { S as parseAgentSessionKey } from "./session-key-DCt45XZa.js";
|
|
5
5
|
import { t as resolveSymiPackageRoot } from "./symi-root-CrGJbkzf.js";
|
|
6
6
|
import { n as runExec } from "./exec-CWkblSrI.js";
|
|
@@ -28,7 +28,7 @@ import { t as formatRuntimeStatusWithDetails } from "./runtime-status-CR9445g5.j
|
|
|
28
28
|
import { t as readLastGatewayErrorLine } from "./diagnostics-BAMlsVVX.js";
|
|
29
29
|
import { t as renderTable } from "./table-BTgkRafz.js";
|
|
30
30
|
import { a as resolveGatewayProbeAuth$1, c as probeGateway, t as runSecurityAudit } from "./audit-CrITRV6w.js";
|
|
31
|
-
import { a as resolveHeartbeatSummaryForAgent, t as formatHealthChannelLines } from "./health-
|
|
31
|
+
import { a as resolveHeartbeatSummaryForAgent, t as formatHealthChannelLines } from "./health-CJ7Y6Rln.js";
|
|
32
32
|
import { g as resolveUpdateChannelDisplay, i as formatGitInstallLabel, m as normalizeUpdateChannel, t as checkUpdateStatus } from "./update-check-CtckACbb.js";
|
|
33
33
|
import { t as resolveNodeService } from "./node-service-Cxz4e-Qd.js";
|
|
34
34
|
import { n as redactSecrets, t as formatGatewayAuthUsed } from "./format-yQZNwAF2.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { o as createSubsystemLogger } from "./entry.js";
|
|
2
2
|
import { D as resolveDefaultAgentWorkspaceDir, c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-D-jRCY0d.js";
|
|
3
3
|
import { i as loadConfig } from "./config-DHBLS1Hl.js";
|
|
4
|
-
import { m as loadSymiPlugins, p as createPluginLoaderLogger } from "./subagent-registry-
|
|
4
|
+
import { m as loadSymiPlugins, p as createPluginLoaderLogger } from "./subagent-registry-DEdqc42m.js";
|
|
5
5
|
|
|
6
6
|
//#region src/plugins/status.ts
|
|
7
7
|
const log = createSubsystemLogger("plugins");
|
|
@@ -9,7 +9,7 @@ import { c as resolveAgentWorkspaceDir } from "./agent-scope-D-jRCY0d.js";
|
|
|
9
9
|
import { t as buildWorkspaceSkillStatus } from "./skills-status-DKXJ-tbi.js";
|
|
10
10
|
import { H as VERSION, i as loadConfig, o as readConfigFileSnapshot } from "./config-DHBLS1Hl.js";
|
|
11
11
|
import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-BcE47FtD.js";
|
|
12
|
-
import { En as peekSystemEvents, St as summarizeRestartSentinel, cn as buildChannelAccountSnapshot, in as formatUsageReportLines, ln as formatChannelAllowFrom, nt as sha256HexPrefix, rn as loadProviderUsageSummary, sn as buildChannelSummary, xt as readRestartSentinel } from "./subagent-registry-
|
|
12
|
+
import { En as peekSystemEvents, St as summarizeRestartSentinel, cn as buildChannelAccountSnapshot, in as formatUsageReportLines, ln as formatChannelAllowFrom, nt as sha256HexPrefix, rn as loadProviderUsageSummary, sn as buildChannelSummary, xt as readRestartSentinel } from "./subagent-registry-DEdqc42m.js";
|
|
13
13
|
import { F as resolveMainSessionKey, j as resolveFreshSessionTotalTokens, o as loadSessionStore } from "./sessions-CJXnZVjR.js";
|
|
14
14
|
import { n as listChannelPlugins } from "./plugins-CwSlLxM8.js";
|
|
15
15
|
import { o as getTailnetHostname, s as readTailscaleStatusJson } from "./tailscale-CbbvYNVw.js";
|
|
@@ -29,7 +29,7 @@ import { t as formatRuntimeStatusWithDetails } from "./runtime-status-hFVEC3wO.j
|
|
|
29
29
|
import { t as readLastGatewayErrorLine } from "./diagnostics-CS1ov_hH.js";
|
|
30
30
|
import { t as renderTable } from "./table-D01d2GuY.js";
|
|
31
31
|
import { a as resolveGatewayProbeAuth$1, c as probeGateway, t as runSecurityAudit } from "./audit-Byo5jCLN.js";
|
|
32
|
-
import { o as resolveHeartbeatSummaryForAgent, t as formatHealthChannelLines } from "./health-
|
|
32
|
+
import { o as resolveHeartbeatSummaryForAgent, t as formatHealthChannelLines } from "./health-BxPSqsO6.js";
|
|
33
33
|
import { g as resolveUpdateChannelDisplay, i as formatGitInstallLabel, m as normalizeUpdateChannel, t as checkUpdateStatus } from "./update-check-ZdimP1aU.js";
|
|
34
34
|
import { t as resolveNodeService } from "./node-service-fcZExd22.js";
|
|
35
35
|
import { n as redactSecrets, t as formatGatewayAuthUsed } from "./format-DVLB9DNB.js";
|
|
@@ -33137,13 +33137,19 @@ function normalizeEvent(event, normalizer) {
|
|
|
33137
33137
|
const tc = event.toolCall;
|
|
33138
33138
|
if (tc.arguments && typeof tc.arguments === "object") {
|
|
33139
33139
|
const cleanedArgs = normalizer.normalizeToolArgs(tc.arguments);
|
|
33140
|
-
|
|
33140
|
+
const patchedEvent = {
|
|
33141
33141
|
...event,
|
|
33142
33142
|
toolCall: {
|
|
33143
33143
|
...tc,
|
|
33144
33144
|
arguments: cleanedArgs
|
|
33145
33145
|
}
|
|
33146
|
-
}
|
|
33146
|
+
};
|
|
33147
|
+
const partial = patchedEvent.partial;
|
|
33148
|
+
if (partial && typeof partial === "object" && Array.isArray(partial.content)) {
|
|
33149
|
+
const content = partial.content;
|
|
33150
|
+
for (const block of content) if (block.type === "toolCall" && block.id === tc.id) block.arguments = cleanedArgs;
|
|
33151
|
+
}
|
|
33152
|
+
return { event: patchedEvent };
|
|
33147
33153
|
}
|
|
33148
33154
|
return { event };
|
|
33149
33155
|
}
|
|
@@ -35609,25 +35615,10 @@ function validateShellCommand(command) {
|
|
|
35609
35615
|
//#region src/agents/pi-tools.validate-wrapper.ts
|
|
35610
35616
|
const log$1 = createSubsystemLogger("agents/tool-validate");
|
|
35611
35617
|
const EXEC_TOOL_NAMES = new Set(["exec", "bash"]);
|
|
35612
|
-
const
|
|
35613
|
-
"write",
|
|
35614
|
-
"read",
|
|
35615
|
-
"edit",
|
|
35616
|
-
"patch",
|
|
35617
|
-
"file_write",
|
|
35618
|
-
"file_edit",
|
|
35619
|
-
"write_file",
|
|
35620
|
-
"edit_file",
|
|
35621
|
-
"create_file"
|
|
35622
|
-
]);
|
|
35623
|
-
const FILE_PATH_KEYS = [
|
|
35624
|
-
"file_path",
|
|
35625
|
-
"path",
|
|
35626
|
-
"filePath"
|
|
35627
|
-
];
|
|
35618
|
+
const GEMMA_MODEL_ID = "gemma";
|
|
35628
35619
|
/**
|
|
35629
|
-
* Wrap tools with argument
|
|
35630
|
-
*
|
|
35620
|
+
* Wrap ALL tools with universal string argument sanitization.
|
|
35621
|
+
* Exec/bash tools get additional structural command validation.
|
|
35631
35622
|
*
|
|
35632
35623
|
* Call this AFTER tools are created and the model profile is resolved.
|
|
35633
35624
|
*/
|
|
@@ -35637,44 +35628,64 @@ function wrapToolsWithArgValidation(tools, profile) {
|
|
|
35637
35628
|
return tools;
|
|
35638
35629
|
}
|
|
35639
35630
|
const wrapped = tools.map((tool) => wrapToolWithArgValidation(tool));
|
|
35640
|
-
|
|
35641
|
-
log$1.debug(`[validate] applied to ${wrappedNames.length} tools: ${wrappedNames.join(",") || "(none matched)"}`);
|
|
35631
|
+
log$1.debug(`[validate] universal sanitizer applied to ${wrapped.length} tools`);
|
|
35642
35632
|
return wrapped;
|
|
35643
35633
|
}
|
|
35644
35634
|
/**
|
|
35645
|
-
*
|
|
35646
|
-
* Returns
|
|
35635
|
+
* Sanitize a single string value: strip control tokens + residual fragments.
|
|
35636
|
+
* Returns the cleaned string, or the original if no changes needed.
|
|
35647
35637
|
*/
|
|
35648
|
-
function
|
|
35649
|
-
|
|
35650
|
-
|
|
35651
|
-
|
|
35652
|
-
|
|
35653
|
-
|
|
35654
|
-
|
|
35655
|
-
|
|
35638
|
+
function sanitizeString(value) {
|
|
35639
|
+
return cleanResidualTokenFragments(stripModelTokensAggressive(value, GEMMA_MODEL_ID));
|
|
35640
|
+
}
|
|
35641
|
+
/**
|
|
35642
|
+
* Check if a string contains control token patterns that need sanitization.
|
|
35643
|
+
* Fast check to avoid unnecessary work on clean strings.
|
|
35644
|
+
*/
|
|
35645
|
+
function needsSanitization(value) {
|
|
35646
|
+
return value.includes("<|") || value.includes("|>") || /^[<"|]/.test(value);
|
|
35647
|
+
}
|
|
35648
|
+
/**
|
|
35649
|
+
* Recursively sanitize all string values in a params object.
|
|
35650
|
+
* Returns a new object if any values were changed, or the original if clean.
|
|
35651
|
+
*/
|
|
35652
|
+
function sanitizeParams(params) {
|
|
35653
|
+
let changed = false;
|
|
35654
|
+
const cleaned = {};
|
|
35655
|
+
for (const [key, value] of Object.entries(params)) {
|
|
35656
|
+
if (typeof value === "string" && needsSanitization(value)) {
|
|
35657
|
+
const sanitized = sanitizeString(value);
|
|
35658
|
+
if (sanitized !== value) {
|
|
35659
|
+
cleaned[key] = sanitized;
|
|
35660
|
+
changed = true;
|
|
35661
|
+
continue;
|
|
35662
|
+
}
|
|
35663
|
+
}
|
|
35664
|
+
cleaned[key] = value;
|
|
35665
|
+
}
|
|
35656
35666
|
return {
|
|
35657
|
-
|
|
35658
|
-
|
|
35667
|
+
cleaned,
|
|
35668
|
+
changed
|
|
35659
35669
|
};
|
|
35660
35670
|
}
|
|
35661
35671
|
/**
|
|
35662
|
-
* Wrap a single tool with argument
|
|
35672
|
+
* Wrap a single tool with universal argument sanitization.
|
|
35663
35673
|
*/
|
|
35664
35674
|
function wrapToolWithArgValidation(tool) {
|
|
35665
35675
|
const toolName = (tool.name ?? "").toLowerCase().trim();
|
|
35666
35676
|
const isExecTool = EXEC_TOOL_NAMES.has(toolName);
|
|
35667
|
-
const isFileTool = FILE_TOOL_NAMES.has(toolName);
|
|
35668
|
-
if (!isExecTool && !isFileTool) return tool;
|
|
35669
35677
|
const originalExecute = tool.execute;
|
|
35670
35678
|
return {
|
|
35671
35679
|
...tool,
|
|
35672
35680
|
execute(toolCallId, params, ...rest) {
|
|
35681
|
+
const { cleaned, changed } = sanitizeParams(params);
|
|
35682
|
+
if (changed) log$1.debug(`[validate] sanitized args for ${toolName}: ${Object.keys(params).filter((k) => cleaned[k] !== params[k]).join(",")}`);
|
|
35683
|
+
const effectiveParams = changed ? cleaned : params;
|
|
35673
35684
|
if (isExecTool) {
|
|
35674
|
-
const command =
|
|
35685
|
+
const command = effectiveParams.command ?? effectiveParams.cmd;
|
|
35675
35686
|
if (typeof command !== "string") {
|
|
35676
|
-
log$1.debug(`[validate] exec called without string command: keys=${Object.keys(
|
|
35677
|
-
return originalExecute.call(tool, toolCallId,
|
|
35687
|
+
log$1.debug(`[validate] exec called without string command: keys=${Object.keys(effectiveParams).join(",")}`);
|
|
35688
|
+
return originalExecute.call(tool, toolCallId, effectiveParams, ...rest);
|
|
35678
35689
|
}
|
|
35679
35690
|
const result = validateShellCommand(command);
|
|
35680
35691
|
if (!result.valid) {
|
|
@@ -35684,22 +35695,12 @@ function wrapToolWithArgValidation(tool) {
|
|
|
35684
35695
|
if (result.cleaned !== command) {
|
|
35685
35696
|
log$1.debug(`[validate] exec command cleaned: raw=${command.slice(0, 80)} → cleaned=${result.cleaned.slice(0, 80)}`);
|
|
35686
35697
|
return originalExecute.call(tool, toolCallId, {
|
|
35687
|
-
...
|
|
35698
|
+
...effectiveParams,
|
|
35688
35699
|
command: result.cleaned
|
|
35689
35700
|
}, ...rest);
|
|
35690
35701
|
}
|
|
35691
|
-
return originalExecute.call(tool, toolCallId, params, ...rest);
|
|
35692
35702
|
}
|
|
35693
|
-
|
|
35694
|
-
if (!pathKey) return originalExecute.call(tool, toolCallId, params, ...rest);
|
|
35695
|
-
const rawPath = params[pathKey];
|
|
35696
|
-
if (!rawPath.includes("<|") && !rawPath.includes("|>") && !/^[<"|]/.test(rawPath)) return originalExecute.call(tool, toolCallId, params, ...rest);
|
|
35697
|
-
const pathResult = cleanFilePath(rawPath);
|
|
35698
|
-
if (!pathResult.valid) return Promise.resolve({ output: `Error: file path "${rawPath}" contains model control tokens and could not be cleaned. Please provide a clean file path without any <|, |>, or XML-like tags.` });
|
|
35699
|
-
return originalExecute.call(tool, toolCallId, {
|
|
35700
|
-
...params,
|
|
35701
|
-
[pathKey]: pathResult.cleaned
|
|
35702
|
-
}, ...rest);
|
|
35703
|
+
return originalExecute.call(tool, toolCallId, effectiveParams, ...rest);
|
|
35703
35704
|
}
|
|
35704
35705
|
};
|
|
35705
35706
|
}
|
|
@@ -53025,7 +53026,7 @@ function isVoiceChannelType(type) {
|
|
|
53025
53026
|
function createDefaultDeps() {
|
|
53026
53027
|
return {
|
|
53027
53028
|
sendMessageWhatsApp: async (...args) => {
|
|
53028
|
-
const { sendMessageWhatsApp } = await import("./web-
|
|
53029
|
+
const { sendMessageWhatsApp } = await import("./web-DUi3cu-p.js");
|
|
53029
53030
|
return await sendMessageWhatsApp(...args);
|
|
53030
53031
|
},
|
|
53031
53032
|
sendMessageTelegram: async (...args) => {
|
|
@@ -68339,7 +68340,7 @@ function loadWebLoginQr() {
|
|
|
68339
68340
|
return webLoginQrPromise;
|
|
68340
68341
|
}
|
|
68341
68342
|
function loadWebChannel() {
|
|
68342
|
-
webChannelPromise ??= import("./web-
|
|
68343
|
+
webChannelPromise ??= import("./web-DUi3cu-p.js");
|
|
68343
68344
|
return webChannelPromise;
|
|
68344
68345
|
}
|
|
68345
68346
|
function loadWhatsAppActions() {
|