@symerian/symi 2.8.17 → 2.9.0
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-9cAyC5ED.js → agents-CvNeiuSB.js} +4 -4
- package/dist/{agents.config-Cu9zTq04.js → agents.config-BCgY5FjE.js} +1 -1
- package/dist/{agents.config-DuwhYjpi.js → agents.config-Ct64cGQ8.js} +1 -1
- package/dist/{audio-preflight-rjCWpcfE.js → audio-preflight-Cb-T0r6e.js} +4 -4
- package/dist/{auth-choice-CPqyqc93.js → auth-choice-ChFU9OCF.js} +1 -1
- package/dist/{auth-choice-DeNzlUAR.js → auth-choice-DmMyKZX4.js} +1 -1
- package/dist/{banner-S1NGA6-s.js → banner-Bf46tqiY.js} +1 -1
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +7 -7
- package/dist/bundled/session-memory/handler.js +7 -7
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{channel-options-C0v4BJgp.js → channel-options-Bqc2VCgt.js} +1 -1
- package/dist/{channel-options-C6y7Khvq.js → channel-options-D4a0ZJ72.js} +1 -1
- package/dist/{channel-web-DirOFV_n.js → channel-web-YNC2xS5K.js} +1 -1
- package/dist/{channels-cli-BhNHckMo.js → channels-cli-BFJcNLbB.js} +6 -6
- package/dist/{channels-cli-By_SbriI.js → channels-cli-h3GnmmM9.js} +6 -6
- package/dist/{chrome-C08Z0XAa.js → chrome-ROtrXlNs.js} +7 -7
- package/dist/{cli-B1QQv1cb.js → cli-BX54CAM7.js} +3 -3
- package/dist/{cli-Bx4RQCuK.js → cli-BpQlSGVs.js} +3 -3
- package/dist/{command-registry-uMOPbrbY.js → command-registry-BiRjJ2Sy.js} +10 -10
- package/dist/{completion-cli-B6s_3rEE.js → completion-cli-BYXofVqv.js} +2 -2
- package/dist/{completion-cli-DVD79pVj.js → completion-cli-C8K5J1ld.js} +1 -1
- package/dist/{config-cli-DzudcNAD.js → config-cli-BPPD3xqE.js} +1 -1
- package/dist/{config-cli-DCGgd-ZL.js → config-cli-Deoo6r2K.js} +1 -1
- package/dist/{configure-BybpK_1N.js → configure-BKHxUAAh.js} +3 -3
- package/dist/{configure-CItWwZwI.js → configure-D4f0P3bH.js} +3 -3
- package/dist/{deliver-qUx-eLKt.js → deliver-B0OUq6RP.js} +1 -1
- package/dist/{doctor-completion-BkwgaO4G.js → doctor-completion-gMWymNcA.js} +1 -1
- package/dist/{doctor-completion-Bf6dN4D-.js → doctor-completion-woDYSVtY.js} +1 -1
- package/dist/entry.js +1 -1
- package/dist/extensionAPI.js +2 -2
- package/dist/{gateway-cli-eNV6kb1V.js → gateway-cli-Bnh42-56.js} +85 -41
- package/dist/{gateway-cli-7CVmb3cX.js → gateway-cli-DsnkTUOp.js} +85 -41
- package/dist/{glass-ui-ws-i91Ms6ts.js → glass-ui-ws-0Y0KsBvU.js} +9 -9
- package/dist/{glass-ui-ws-B4fsBuHx.js → glass-ui-ws-uj3DRmL8.js} +9 -9
- package/dist/{health-C4tWTDu_.js → health-CcV5nKIK.js} +1 -1
- package/dist/{health-dA8r4WJ4.js → health-Dl2WRoTa.js} +1 -1
- package/dist/{hooks-cli-DYn9nXX0.js → hooks-cli-CTcHtm_0.js} +4 -4
- package/dist/{hooks-cli-uGLWBIcW.js → hooks-cli-DEJe3dUH.js} +4 -4
- package/dist/{image-C6rCON9L.js → image-BuVL0jHI.js} +1 -1
- package/dist/index.js +8 -8
- package/dist/llm-slug-generator.js +7 -7
- package/dist/{manager-DhGfNqfc.js → manager-9Mni2AA9.js} +1 -1
- package/dist/{manager-D6E6EGWa.js → manager-C-H0XXJq.js} +1 -1
- package/dist/{manager-BaSutzfz.js → manager-CjW8kPVc.js} +1 -1
- package/dist/{manager-CgQo1mIM.js → manager-QPF0UtOC.js} +1 -1
- package/dist/{memory-cli-BMb31chU.js → memory-cli-BTByRgM0.js} +3 -3
- package/dist/{memory-cli-lJe72a5i.js → memory-cli-OW9XfyYu.js} +3 -3
- package/dist/{models-BITN17gY.js → models-Q1jV8ArL.js} +2 -2
- package/dist/{models-cli-CHjxevMe.js → models-cli-Cy6H1sFq.js} +5 -5
- package/dist/{models-cli-C6JJWWoI.js → models-cli-pfVmmgpv.js} +4 -4
- package/dist/{onboard-C8Si08MS.js → onboard-CvpyaUQd.js} +2 -2
- package/dist/{onboard-DdJV-Doq.js → onboard-EL8foMiP.js} +2 -2
- package/dist/{onboard-channels-Cb-bemSg.js → onboard-channels-BRoSUijQ.js} +1 -1
- package/dist/{onboard-channels-PQP9wlk8.js → onboard-channels-Bupbm6zh.js} +1 -1
- package/dist/{onboarding-QAtuyHtA.js → onboarding-Ch8WSJ3j.js} +3 -3
- package/dist/{onboarding-CAaoPaVQ.js → onboarding-Dg5ydWSh.js} +3 -3
- package/dist/{onboarding.finalize-MuO2mvHv.js → onboarding.finalize-Bo8-8TtH.js} +7 -7
- package/dist/{onboarding.finalize-BhlQmJlX.js → onboarding.finalize-CCTaCp2s.js} +8 -8
- package/dist/{pi-embedded-BUYKq7Wv.js → pi-embedded-Bl3YkBkI.js} +149 -35
- package/dist/{pi-embedded-helpers-P13adotN.js → pi-embedded-helpers-D1_Sab0M.js} +4 -4
- package/dist/{plugin-registry-tXiHw0vr.js → plugin-registry-BVYZLxmo.js} +1 -1
- package/dist/{plugin-registry-DEhkDNDx.js → plugin-registry-Bn9Mj8mP.js} +1 -1
- package/dist/plugin-sdk/agents/pi-tools.read-edit-guard.d.ts +5 -0
- package/dist/plugin-sdk/agents/pi-tools.read-edit-tracker.d.ts +26 -0
- package/dist/plugin-sdk/{channel-web-C7aP_KKZ.js → channel-web-BhqGIC7q.js} +1 -1
- package/dist/plugin-sdk/index.js +3 -3
- package/dist/plugin-sdk/{manager-CvrDwB1Q.js → manager-DdOb0Em2.js} +1 -1
- package/dist/plugin-sdk/{reply-BI7Rf3_S.js → reply-Cjjf4VYT.js} +149 -35
- package/dist/plugin-sdk/{synthesis-B3z0Jqt1.js → synthesis-CZ8BYNXP.js} +2 -2
- package/dist/plugin-sdk/{web-D2WrY-DI.js → web-B8upqMUo.js} +3 -3
- package/dist/{plugins-cli-ByG6o7D2.js → plugins-cli-3h1N5N8n.js} +4 -4
- package/dist/{plugins-cli-D1vPxTOQ.js → plugins-cli-CYOQh2DM.js} +4 -4
- package/dist/{program-Q44fKoq6.js → program-D3_xE9BL.js} +9 -9
- package/dist/{program-context-C3QEc34t.js → program-context-COwsYCbf.js} +18 -18
- package/dist/{prompt-select-styled-DBVeLysq.js → prompt-select-styled-D88AWCeM.js} +6 -6
- package/dist/{prompt-select-styled-BSZrZcW2.js → prompt-select-styled-rKPBDv7n.js} +6 -6
- package/dist/{provider-auth-helpers-Bm4cf-Ms.js → provider-auth-helpers-CyZyVx-V.js} +1 -1
- package/dist/{provider-auth-helpers-rH91VXG-.js → provider-auth-helpers-rff7s_gC.js} +1 -1
- package/dist/{push-apns-CRD9IH1s.js → push-apns-BNzgqUl3.js} +1 -1
- package/dist/{push-apns-Cj10sUbK.js → push-apns-d9qKGKPe.js} +1 -1
- package/dist/{pw-ai-CeWN4iD9.js → pw-ai-DWkC5eGA.js} +1 -1
- package/dist/{register.agent-DGDnsvVd.js → register.agent-BjaqQA02.js} +7 -7
- package/dist/{register.agent-Dfu85lRL.js → register.agent-D_MON8p-.js} +8 -8
- package/dist/{register.configure-FCTbPCwe.js → register.configure-BWkkQhpH.js} +8 -8
- package/dist/{register.configure-BcdyiQui.js → register.configure-UJi9sfNv.js} +8 -8
- package/dist/{register.maintenance-Y8P9AnLe.js → register.maintenance-ChskcWGz.js} +10 -10
- package/dist/{register.maintenance-DvDwpW6B.js → register.maintenance-DJptz3DR.js} +9 -9
- package/dist/{register.message-mTqwOntI.js → register.message-BDTsiyrW.js} +4 -4
- package/dist/{register.message-C57ubt4f.js → register.message-CiadI_oS.js} +4 -4
- package/dist/{register.onboard-MIChlygg.js → register.onboard-BflOE1jy.js} +6 -6
- package/dist/{register.onboard-YCmMzAW-.js → register.onboard-KR_-4TLY.js} +6 -6
- package/dist/{register.setup-sQeN5xag.js → register.setup-Cl0sD25T.js} +6 -6
- package/dist/{register.setup-DzUZ2x6y.js → register.setup-W-oNfOp0.js} +6 -6
- package/dist/{register.status-health-sessions-DaPK2tow.js → register.status-health-sessions-CCQs235z.js} +5 -5
- package/dist/{register.status-health-sessions-DsptpS7K.js → register.status-health-sessions-CT_SmmOH.js} +5 -5
- package/dist/{register.subclis-17z5d7uO.js → register.subclis-ByZAz4st.js} +9 -9
- package/dist/{reply-2awhibgG.js → reply-CgyjcoxC.js} +148 -34
- package/dist/{run-main-CfVO6DFS.js → run-main-xmWpjZL9.js} +17 -17
- package/dist/{runner-D633VT13.js → runner-ecX1WzDt.js} +1 -1
- package/dist/{server-methods-Bdgs89ve.js → server-methods-CBn954AO.js} +8 -8
- package/dist/{server-methods-D_g3GJhv.js → server-methods-DDpCXuOU.js} +8 -8
- package/dist/{server-node-events-BZN3RZ8H.js → server-node-events-BBEMSKVE.js} +4 -4
- package/dist/{server-node-events-Cvgmf8fS.js → server-node-events-BUEZ3py9.js} +4 -4
- package/dist/{status-CwqBkxi2.js → status-BjMiGq0n.js} +1 -1
- package/dist/{status-Dkr4Celv.js → status-CG5iHUJ6.js} +3 -3
- package/dist/{status-DcxWlds6.js → status-CpvzoCOC.js} +1 -1
- package/dist/{status-Ca_VZkZV.js → status-PfvX-BjO.js} +3 -3
- package/dist/{subagent-registry-CncIZPCd.js → subagent-registry-D0IYimMO.js} +148 -34
- package/dist/{synthesis-CxvpkXBW.js → synthesis-BVZ5RJLg.js} +3 -3
- package/dist/{synthesis-lD0Vb_9q.js → synthesis-CBwKBuLy.js} +7 -7
- package/dist/{synthesis-CTC73eY9.js → synthesis-D55QrjAJ.js} +3 -3
- package/dist/{synthesis-DOmJ2Gay.js → synthesis-itgrzpuj.js} +2 -2
- package/dist/{unified-runner-JQaSdhSg.js → unified-runner-BhnvjB1J.js} +163 -49
- package/dist/{update-cli-BO1uw-SU.js → update-cli-CL1_LPBS.js} +10 -10
- package/dist/{update-cli-CplnPSZ5.js → update-cli-D3K4mhrr.js} +9 -9
- package/dist/{update-runner-Df4mjndq.js → update-runner-Bmq67eos.js} +1 -1
- package/dist/{update-runner-DFp9PDMN.js → update-runner-DMucmRlv.js} +1 -1
- package/dist/{web-CCEVjDcU.js → web-B0lZdBBl.js} +3 -3
- package/dist/{web-CZoQ03ZE.js → web-C1HPdY_D.js} +2 -2
- package/dist/{web-BEDc6iEz.js → web-DCO_YCRw.js} +7 -7
- package/dist/{web-Dn33Cd3-.js → web-DmgQtLx3.js} +4 -4
- package/extensions/bluebubbles/package.json +1 -1
- package/extensions/copilot-proxy/package.json +1 -1
- package/extensions/diagnostics-otel/package.json +1 -1
- package/extensions/discord/package.json +1 -1
- package/extensions/feishu/package.json +1 -1
- package/extensions/google-antigravity-auth/package.json +1 -1
- package/extensions/google-gemini-cli-auth/package.json +1 -1
- package/extensions/googlechat/package.json +1 -1
- package/extensions/imessage/package.json +1 -1
- package/extensions/irc/package.json +1 -1
- package/extensions/learning-loop/package.json +1 -1
- package/extensions/line/package.json +1 -1
- package/extensions/llm-task/package.json +1 -1
- package/extensions/matrix/CHANGELOG.md +6 -0
- package/extensions/matrix/package.json +1 -1
- package/extensions/mattermost/package.json +1 -1
- package/extensions/memory-core/package.json +1 -1
- package/extensions/memory-lancedb/package.json +1 -1
- package/extensions/minimax-portal-auth/package.json +1 -1
- package/extensions/msteams/CHANGELOG.md +6 -0
- package/extensions/msteams/package.json +1 -1
- package/extensions/nextcloud-talk/package.json +1 -1
- package/extensions/nostr/CHANGELOG.md +6 -0
- package/extensions/nostr/package.json +1 -1
- package/extensions/open-prose/package.json +1 -1
- package/extensions/outlook/package.json +1 -1
- package/extensions/pipeline/package.json +1 -1
- package/extensions/signal/package.json +1 -1
- package/extensions/slack/package.json +1 -1
- package/extensions/telegram/package.json +1 -1
- package/extensions/tlon/package.json +1 -1
- package/extensions/twitch/CHANGELOG.md +6 -0
- package/extensions/twitch/package.json +1 -1
- package/extensions/voice-call/CHANGELOG.md +6 -0
- package/extensions/voice-call/package.json +1 -1
- package/extensions/whatsapp/package.json +1 -1
- package/extensions/zalo/CHANGELOG.md +6 -0
- package/extensions/zalo/package.json +1 -1
- package/extensions/zalouser/CHANGELOG.md +6 -0
- package/extensions/zalouser/package.json +1 -1
- package/package.json +1 -1
|
@@ -15,7 +15,7 @@ import "./client-CJIMV1WD.js";
|
|
|
15
15
|
import "./call-M4YyUnwu.js";
|
|
16
16
|
import "./message-channel-C9dERklz.js";
|
|
17
17
|
import "./pairing-token-Byh6drgn.js";
|
|
18
|
-
import "./subagent-registry-
|
|
18
|
+
import "./subagent-registry-D0IYimMO.js";
|
|
19
19
|
import "./sessions-BPD85pWA.js";
|
|
20
20
|
import "./tokens-Csntmwwn.js";
|
|
21
21
|
import "./plugins-CwSlLxM8.js";
|
|
@@ -53,8 +53,8 @@ import "./tool-images-CVLISeRT.js";
|
|
|
53
53
|
import "./thinking-8sKPnzpp.js";
|
|
54
54
|
import "./models-config-J1x_DaPn.js";
|
|
55
55
|
import "./reply-prefix-BUN71nd5.js";
|
|
56
|
-
import "./memory-cli-
|
|
57
|
-
import "./manager-
|
|
56
|
+
import "./memory-cli-OW9XfyYu.js";
|
|
57
|
+
import "./manager-QPF0UtOC.js";
|
|
58
58
|
import "./gemini-auth-DEakvf-D.js";
|
|
59
59
|
import "./retry-C4Q_VPOo.js";
|
|
60
60
|
import "./sqlite-BP8tiuca.js";
|
|
@@ -109,8 +109,8 @@ import "./service-RxN7lQKN.js";
|
|
|
109
109
|
import "./diagnostics-C6xPE2ln.js";
|
|
110
110
|
import "./table-Bka4fasy.js";
|
|
111
111
|
import "./audit-CuKP86d_.js";
|
|
112
|
-
import { n as statusCommand } from "./status-
|
|
113
|
-
import { r as healthCommand } from "./health-
|
|
112
|
+
import { n as statusCommand } from "./status-PfvX-BjO.js";
|
|
113
|
+
import { r as healthCommand } from "./health-CcV5nKIK.js";
|
|
114
114
|
import "./update-check-BNjupSIM.js";
|
|
115
115
|
import "./dm-policy-shared-JiSNSaKz.js";
|
|
116
116
|
import "./node-service-B-qdOCNb.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import "./paths-Cqn-zk3M.js";
|
|
2
2
|
import { B as theme, P as setVerbose, k as info, z as isRich } from "./utils-B-0b9bGM.js";
|
|
3
3
|
import "./thinking-EAliFiVK.js";
|
|
4
|
-
import { S as resolveSessionModelRef, h as classifySessionKey, mr as lookupContextTokens } from "./reply-
|
|
4
|
+
import { S as resolveSessionModelRef, h as classifySessionKey, mr as lookupContextTokens } from "./reply-CgyjcoxC.js";
|
|
5
5
|
import { S as parseAgentSessionKey } from "./session-key-DCt45XZa.js";
|
|
6
6
|
import "./registry-Cja8eT7G.js";
|
|
7
7
|
import { f as defaultRuntime } from "./subsystem-D9vIQve0.js";
|
|
@@ -61,8 +61,8 @@ import "./diagnostic-session-state-CUslJyKP.js";
|
|
|
61
61
|
import "./send-DpMnSIi5.js";
|
|
62
62
|
import "./model-ECsJuJew.js";
|
|
63
63
|
import "./reply-prefix-CE2YmmsD.js";
|
|
64
|
-
import "./memory-cli-
|
|
65
|
-
import "./manager-
|
|
64
|
+
import "./memory-cli-BTByRgM0.js";
|
|
65
|
+
import "./manager-9Mni2AA9.js";
|
|
66
66
|
import "./retry-BoS4e4X_.js";
|
|
67
67
|
import "./sqlite-D55gRQbH.js";
|
|
68
68
|
import "./target-errors-C9e6dMU_.js";
|
|
@@ -115,8 +115,8 @@ import "./service-DzLem5vL.js";
|
|
|
115
115
|
import "./diagnostics-1uBuB9IE.js";
|
|
116
116
|
import "./table-BWuvjnmY.js";
|
|
117
117
|
import "./audit-C9nq99IR.js";
|
|
118
|
-
import { t as statusCommand } from "./status-
|
|
119
|
-
import { r as healthCommand } from "./health-
|
|
118
|
+
import { t as statusCommand } from "./status-CG5iHUJ6.js";
|
|
119
|
+
import { r as healthCommand } from "./health-Dl2WRoTa.js";
|
|
120
120
|
import "./update-check-Bbvpax6u.js";
|
|
121
121
|
import "./dm-policy-shared-KlzpDeT_.js";
|
|
122
122
|
import "./node-service-DxPZ_ZFk.js";
|
|
@@ -49,7 +49,7 @@ const entries = [
|
|
|
49
49
|
description: "Run, inspect, and query the WebSocket Gateway",
|
|
50
50
|
hasSubcommands: true,
|
|
51
51
|
register: async (program) => {
|
|
52
|
-
(await import("./gateway-cli-
|
|
52
|
+
(await import("./gateway-cli-Bnh42-56.js")).registerGatewayCli(program);
|
|
53
53
|
}
|
|
54
54
|
},
|
|
55
55
|
{
|
|
@@ -81,7 +81,7 @@ const entries = [
|
|
|
81
81
|
description: "Discover, scan, and configure models",
|
|
82
82
|
hasSubcommands: true,
|
|
83
83
|
register: async (program) => {
|
|
84
|
-
(await import("./models-cli-
|
|
84
|
+
(await import("./models-cli-Cy6H1sFq.js")).registerModelsCli(program);
|
|
85
85
|
}
|
|
86
86
|
},
|
|
87
87
|
{
|
|
@@ -161,7 +161,7 @@ const entries = [
|
|
|
161
161
|
description: "Manage internal agent hooks",
|
|
162
162
|
hasSubcommands: true,
|
|
163
163
|
register: async (program) => {
|
|
164
|
-
(await import("./hooks-cli-
|
|
164
|
+
(await import("./hooks-cli-CTcHtm_0.js")).registerHooksCli(program);
|
|
165
165
|
}
|
|
166
166
|
},
|
|
167
167
|
{
|
|
@@ -185,7 +185,7 @@ const entries = [
|
|
|
185
185
|
description: "Secure DM pairing (approve inbound requests)",
|
|
186
186
|
hasSubcommands: true,
|
|
187
187
|
register: async (program) => {
|
|
188
|
-
const { registerPluginCliCommands } = await import("./cli-
|
|
188
|
+
const { registerPluginCliCommands } = await import("./cli-BX54CAM7.js");
|
|
189
189
|
registerPluginCliCommands(program, await loadConfig());
|
|
190
190
|
(await import("./pairing-cli-7X1qlhzF.js")).registerPairingCli(program);
|
|
191
191
|
}
|
|
@@ -195,8 +195,8 @@ const entries = [
|
|
|
195
195
|
description: "Manage Symi plugins and extensions",
|
|
196
196
|
hasSubcommands: true,
|
|
197
197
|
register: async (program) => {
|
|
198
|
-
(await import("./plugins-cli-
|
|
199
|
-
const { registerPluginCliCommands } = await import("./cli-
|
|
198
|
+
(await import("./plugins-cli-3h1N5N8n.js")).registerPluginsCli(program);
|
|
199
|
+
const { registerPluginCliCommands } = await import("./cli-BX54CAM7.js");
|
|
200
200
|
registerPluginCliCommands(program, await loadConfig());
|
|
201
201
|
}
|
|
202
202
|
},
|
|
@@ -205,7 +205,7 @@ const entries = [
|
|
|
205
205
|
description: "Manage connected chat channels (Telegram, Discord, etc.)",
|
|
206
206
|
hasSubcommands: true,
|
|
207
207
|
register: async (program) => {
|
|
208
|
-
(await import("./channels-cli-
|
|
208
|
+
(await import("./channels-cli-h3GnmmM9.js")).registerChannelsCli(program);
|
|
209
209
|
}
|
|
210
210
|
},
|
|
211
211
|
{
|
|
@@ -237,7 +237,7 @@ const entries = [
|
|
|
237
237
|
description: "Update Symi and inspect update channel status",
|
|
238
238
|
hasSubcommands: true,
|
|
239
239
|
register: async (program) => {
|
|
240
|
-
(await import("./update-cli-
|
|
240
|
+
(await import("./update-cli-CL1_LPBS.js")).registerUpdateCli(program);
|
|
241
241
|
}
|
|
242
242
|
},
|
|
243
243
|
{
|
|
@@ -245,7 +245,7 @@ const entries = [
|
|
|
245
245
|
description: "Generate shell completion script",
|
|
246
246
|
hasSubcommands: false,
|
|
247
247
|
register: async (program) => {
|
|
248
|
-
(await import("./completion-cli-
|
|
248
|
+
(await import("./completion-cli-BYXofVqv.js").then((n) => n.n)).registerCompletionCli(program);
|
|
249
249
|
}
|
|
250
250
|
}
|
|
251
251
|
];
|
|
@@ -60,8 +60,8 @@ import { r as getDiagnosticSessionState } from "./diagnostic-session-state-CUslJ
|
|
|
60
60
|
import { A as hasBotMention, B as resolveSenderAllowMatch, C as buildTelegramGroupPeerId, D as describeReplyTarget, E as buildTypingThreadParams, F as resolveTelegramReplyId, G as toLocationContext, H as isSenderIdAllowed, I as resolveTelegramStreamMode, J as parseTelegramTarget, K as withTelegramApiErrorLogging, L as resolveTelegramThreadSpec, M as resolveTelegramForumThreadId, N as resolveTelegramGroupAllowFromContext, O as expandTextLinks, P as resolveTelegramMediaPlaceholder, R as isSenderAllowed$1, S as buildTelegramGroupFrom, T as buildTelegramThreadParams, U as mergeAllowFromSources, V as firstDefined$1, W as formatLocationText, Y as resolveTelegramTargetChatType, _ as resolveTelegramFetch, a as reactMessageTelegram, b as buildSenderLabel, c as sendStickerTelegram, d as wasSentByBot, f as isRecoverableTelegramNetworkError, g as wrapFileReferencesInHtml, h as renderTelegramHtmlText, i as editMessageTelegram, j as normalizeForwardedContext, k as extractTelegramLocation, m as markdownToTelegramHtml, n as createForumTopicTelegram, o as sendMessageTelegram, p as markdownToTelegramChunks, q as isVoiceCompatibleAudio, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildTelegramParentPeer, x as buildSenderName, y as buildGroupLabel, z as normalizeAllowFromWithStore$1 } from "./send-DpMnSIi5.js";
|
|
61
61
|
import { a as buildModelAliasLines, n as resolveModel } from "./model-ECsJuJew.js";
|
|
62
62
|
import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-CE2YmmsD.js";
|
|
63
|
-
import { i as resolveMemoryBackendConfig, n as registerMemoryCli, r as getMemorySearchManager } from "./memory-cli-
|
|
64
|
-
import { a as resolveMemorySearchConfig, t as MemoryIndexManager } from "./manager-
|
|
63
|
+
import { i as resolveMemoryBackendConfig, n as registerMemoryCli, r as getMemorySearchManager } from "./memory-cli-BTByRgM0.js";
|
|
64
|
+
import { a as resolveMemorySearchConfig, t as MemoryIndexManager } from "./manager-9Mni2AA9.js";
|
|
65
65
|
import { n as retryAsync } from "./retry-BoS4e4X_.js";
|
|
66
66
|
import { c as imageResultFromFile, d as readNumberParam, f as readReactionParams, h as readStringParam, l as jsonResult, m as readStringOrNumberParam, n as missingTargetError, o as createActionGate, p as readStringArrayParam, r as unknownTargetError, s as imageResult, t as ambiguousTargetError, u as parseAvailableTags } from "./target-errors-C9e6dMU_.js";
|
|
67
67
|
import { a as chunkText, c as resolveChunkMode, d as isSafeFenceBreak, f as parseFenceSpans, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, o as chunkTextWithMode, r as chunkMarkdownText, t as chunkByNewline, u as findFenceSpanAt } from "./chunk-DIi9uyC6.js";
|
|
@@ -9782,16 +9782,16 @@ function shouldComputeCommandAuthorized(text, cfg, options) {
|
|
|
9782
9782
|
|
|
9783
9783
|
//#endregion
|
|
9784
9784
|
//#region src/channels/sender-label.ts
|
|
9785
|
-
function normalize(value) {
|
|
9785
|
+
function normalize$1(value) {
|
|
9786
9786
|
const trimmed = value?.trim();
|
|
9787
9787
|
return trimmed ? trimmed : void 0;
|
|
9788
9788
|
}
|
|
9789
9789
|
function resolveSenderLabel(params) {
|
|
9790
|
-
const name = normalize(params.name);
|
|
9791
|
-
const username = normalize(params.username);
|
|
9792
|
-
const tag = normalize(params.tag);
|
|
9793
|
-
const e164 = normalize(params.e164);
|
|
9794
|
-
const id = normalize(params.id);
|
|
9790
|
+
const name = normalize$1(params.name);
|
|
9791
|
+
const username = normalize$1(params.username);
|
|
9792
|
+
const tag = normalize$1(params.tag);
|
|
9793
|
+
const e164 = normalize$1(params.e164);
|
|
9794
|
+
const id = normalize$1(params.id);
|
|
9795
9795
|
const display = name ?? username ?? tag ?? "";
|
|
9796
9796
|
const idPart = e164 ?? id ?? "";
|
|
9797
9797
|
if (display && idPart && display !== idPart) return `${display} (${idPart})`;
|
|
@@ -31935,7 +31935,7 @@ async function runAgentTurn(params) {
|
|
|
31935
31935
|
function createDefaultDeps() {
|
|
31936
31936
|
return {
|
|
31937
31937
|
sendMessageWhatsApp: async (...args) => {
|
|
31938
|
-
const { sendMessageWhatsApp } = await import("./web-
|
|
31938
|
+
const { sendMessageWhatsApp } = await import("./web-DmgQtLx3.js");
|
|
31939
31939
|
return await sendMessageWhatsApp(...args);
|
|
31940
31940
|
},
|
|
31941
31941
|
sendMessageTelegram: async (...args) => {
|
|
@@ -50366,7 +50366,7 @@ function loadWebLoginQr() {
|
|
|
50366
50366
|
return webLoginQrPromise;
|
|
50367
50367
|
}
|
|
50368
50368
|
function loadWebChannel() {
|
|
50369
|
-
webChannelPromise ??= import("./web-
|
|
50369
|
+
webChannelPromise ??= import("./web-DmgQtLx3.js");
|
|
50370
50370
|
return webChannelPromise;
|
|
50371
50371
|
}
|
|
50372
50372
|
function loadWhatsAppActions() {
|
|
@@ -54060,6 +54060,91 @@ function wrapToolWithAbortSignal(tool, abortSignal) {
|
|
|
54060
54060
|
};
|
|
54061
54061
|
}
|
|
54062
54062
|
|
|
54063
|
+
//#endregion
|
|
54064
|
+
//#region src/agents/pi-tools.read-edit-guard.ts
|
|
54065
|
+
const RETRY_GUIDANCE_SUFFIX$1 = " Read the file first, then retry the edit.";
|
|
54066
|
+
function readGuardError(filePath) {
|
|
54067
|
+
return /* @__PURE__ */ new Error(`Edit refused: '${filePath}' has not been read in this session. The edit tool requires the agent to read the file first so oldText can match real content rather than hallucinated content.${RETRY_GUIDANCE_SUFFIX$1}`);
|
|
54068
|
+
}
|
|
54069
|
+
function extractPath(args) {
|
|
54070
|
+
if (!args || typeof args !== "object") return;
|
|
54071
|
+
const record = args;
|
|
54072
|
+
const candidate = record.path ?? record.file_path;
|
|
54073
|
+
if (typeof candidate !== "string") return;
|
|
54074
|
+
const trimmed = candidate.trim();
|
|
54075
|
+
return trimmed.length > 0 ? trimmed : void 0;
|
|
54076
|
+
}
|
|
54077
|
+
function wrapReadToolWithTracker(tool, tracker) {
|
|
54078
|
+
return {
|
|
54079
|
+
...tool,
|
|
54080
|
+
execute: async (toolCallId, args, signal, onUpdate) => {
|
|
54081
|
+
const result = await tool.execute(toolCallId, args, signal, onUpdate);
|
|
54082
|
+
if (!(!!result && typeof result === "object" && result.isError === true)) {
|
|
54083
|
+
const filePath = extractPath(args);
|
|
54084
|
+
if (filePath) tracker.recordRead(filePath);
|
|
54085
|
+
}
|
|
54086
|
+
return result;
|
|
54087
|
+
}
|
|
54088
|
+
};
|
|
54089
|
+
}
|
|
54090
|
+
function wrapWriteToolWithTracker(tool, tracker) {
|
|
54091
|
+
return {
|
|
54092
|
+
...tool,
|
|
54093
|
+
execute: async (toolCallId, args, signal, onUpdate) => {
|
|
54094
|
+
const result = await tool.execute(toolCallId, args, signal, onUpdate);
|
|
54095
|
+
if (!(!!result && typeof result === "object" && result.isError === true)) {
|
|
54096
|
+
const filePath = extractPath(args);
|
|
54097
|
+
if (filePath) tracker.recordWrite(filePath);
|
|
54098
|
+
}
|
|
54099
|
+
return result;
|
|
54100
|
+
}
|
|
54101
|
+
};
|
|
54102
|
+
}
|
|
54103
|
+
function wrapEditToolWithGuard(tool, tracker) {
|
|
54104
|
+
return {
|
|
54105
|
+
...tool,
|
|
54106
|
+
execute: async (toolCallId, args, signal, onUpdate) => {
|
|
54107
|
+
const filePath = extractPath(args);
|
|
54108
|
+
if (filePath && !tracker.hasObserved(filePath)) throw readGuardError(filePath);
|
|
54109
|
+
return tool.execute(toolCallId, args, signal, onUpdate);
|
|
54110
|
+
}
|
|
54111
|
+
};
|
|
54112
|
+
}
|
|
54113
|
+
|
|
54114
|
+
//#endregion
|
|
54115
|
+
//#region src/agents/pi-tools.read-edit-tracker.ts
|
|
54116
|
+
function normalize(filePath, workspaceRoot) {
|
|
54117
|
+
if (!workspaceRoot) return filePath;
|
|
54118
|
+
if (path.isAbsolute(filePath)) return path.normalize(filePath);
|
|
54119
|
+
return path.resolve(workspaceRoot, filePath);
|
|
54120
|
+
}
|
|
54121
|
+
function createReadEditTracker(opts = {}) {
|
|
54122
|
+
const observed = /* @__PURE__ */ new Map();
|
|
54123
|
+
const record = (filePath, kind) => {
|
|
54124
|
+
if (typeof filePath !== "string" || !filePath.trim()) return;
|
|
54125
|
+
const key = normalize(filePath.trim(), opts.workspaceRoot);
|
|
54126
|
+
const prior = observed.get(key);
|
|
54127
|
+
if (kind === "written" || prior !== "written") observed.set(key, kind);
|
|
54128
|
+
};
|
|
54129
|
+
return {
|
|
54130
|
+
recordRead: (filePath) => record(filePath, "read"),
|
|
54131
|
+
recordWrite: (filePath) => record(filePath, "written"),
|
|
54132
|
+
observation: (filePath) => {
|
|
54133
|
+
if (typeof filePath !== "string" || !filePath.trim()) return null;
|
|
54134
|
+
const key = normalize(filePath.trim(), opts.workspaceRoot);
|
|
54135
|
+
return observed.get(key) ?? null;
|
|
54136
|
+
},
|
|
54137
|
+
hasObserved: (filePath) => {
|
|
54138
|
+
if (typeof filePath !== "string" || !filePath.trim()) return false;
|
|
54139
|
+
const key = normalize(filePath.trim(), opts.workspaceRoot);
|
|
54140
|
+
return observed.has(key);
|
|
54141
|
+
},
|
|
54142
|
+
reset: () => {
|
|
54143
|
+
observed.clear();
|
|
54144
|
+
}
|
|
54145
|
+
};
|
|
54146
|
+
}
|
|
54147
|
+
|
|
54063
54148
|
//#endregion
|
|
54064
54149
|
//#region src/media/sniff-mime-from-base64.ts
|
|
54065
54150
|
async function sniffMimeFromBase64(base64) {
|
|
@@ -56961,8 +57046,39 @@ const GatewayToolSchema = Type.Object({
|
|
|
56961
57046
|
baseHash: Type.Optional(Type.String()),
|
|
56962
57047
|
sessionKey: Type.Optional(Type.String()),
|
|
56963
57048
|
note: Type.Optional(Type.String()),
|
|
56964
|
-
restartDelayMs: Type.Optional(Type.Number())
|
|
57049
|
+
restartDelayMs: Type.Optional(Type.Number()),
|
|
57050
|
+
userRequestAcknowledgment: Type.Optional(Type.String())
|
|
56965
57051
|
});
|
|
57052
|
+
/** Actions that mutate gateway state and require explicit user authorization. */
|
|
57053
|
+
const DESTRUCTIVE_ACTIONS = new Set([
|
|
57054
|
+
"config.apply",
|
|
57055
|
+
"config.patch",
|
|
57056
|
+
"update.run"
|
|
57057
|
+
]);
|
|
57058
|
+
/** Minimum length for a meaningful authorization message. */
|
|
57059
|
+
const MIN_AUTHORIZATION_LENGTH = 10;
|
|
57060
|
+
/**
|
|
57061
|
+
* Asserts the user's request was explicitly acknowledged for destructive
|
|
57062
|
+
* actions. Throws a descriptive error if the acknowledgment is missing,
|
|
57063
|
+
* empty, or trivially short.
|
|
57064
|
+
*
|
|
57065
|
+
* NOTE: This is defense-in-depth, not a hard barrier. A determined model
|
|
57066
|
+
* could still populate the field with fabricated text. The barrier exists
|
|
57067
|
+
* to:
|
|
57068
|
+
* 1. Force the agent to deliberately compose a justification (vs. blind
|
|
57069
|
+
* tool invocation).
|
|
57070
|
+
* 2. Provide an audit trail (the acknowledgment is logged with the tool
|
|
57071
|
+
* call args).
|
|
57072
|
+
* 3. Surface for future tightening (e.g., matching against real session
|
|
57073
|
+
* history).
|
|
57074
|
+
*/
|
|
57075
|
+
function assertUserAuthorization(action, params) {
|
|
57076
|
+
if (!DESTRUCTIVE_ACTIONS.has(action)) return;
|
|
57077
|
+
const ack = params.userRequestAcknowledgment;
|
|
57078
|
+
const trimmed = typeof ack === "string" ? ack.trim() : "";
|
|
57079
|
+
if (!trimmed) throw new Error(`Action '${action}' requires an explicit user authorization. Pass userRequestAcknowledgment with a paraphrase of the user's request (e.g., "user said: please update Symi"). If the user did not explicitly request this action, ask them first instead of invoking it.`);
|
|
57080
|
+
if (trimmed.length < MIN_AUTHORIZATION_LENGTH) throw new Error(`Action '${action}' requires a substantive userRequestAcknowledgment (minimum ${MIN_AUTHORIZATION_LENGTH} characters describing the user's request). Received: ${JSON.stringify(trimmed)}.`);
|
|
57081
|
+
}
|
|
56966
57082
|
function createGatewayTool(opts) {
|
|
56967
57083
|
return {
|
|
56968
57084
|
label: "Gateway",
|
|
@@ -56973,6 +57089,7 @@ function createGatewayTool(opts) {
|
|
|
56973
57089
|
execute: async (_toolCallId, args) => {
|
|
56974
57090
|
const params = args;
|
|
56975
57091
|
const action = readStringParam(params, "action", { required: true });
|
|
57092
|
+
assertUserAuthorization(action, params);
|
|
56976
57093
|
if (action === "restart") {
|
|
56977
57094
|
if (!isRestartEnabled(opts?.config)) throw new Error("Gateway restart is disabled (commands.restart=false).");
|
|
56978
57095
|
const sessionKey = typeof params.sessionKey === "string" && params.sessionKey.trim() ? params.sessionKey.trim() : opts?.agentSessionKey?.trim() || void 0;
|
|
@@ -65265,33 +65382,34 @@ function createSymiCodingTools(options) {
|
|
|
65265
65382
|
});
|
|
65266
65383
|
if (sandboxRoot && !sandboxFsBridge) throw new Error("Sandbox filesystem bridge is unavailable.");
|
|
65267
65384
|
const imageSanitization = resolveImageSanitizationLimits(options?.config);
|
|
65385
|
+
const readEditTracker = createReadEditTracker({ workspaceRoot: sandboxRoot ?? workspaceRoot });
|
|
65268
65386
|
const base = codingTools.flatMap((tool) => {
|
|
65269
65387
|
if (tool.name === readTool.name) {
|
|
65270
65388
|
if (sandboxRoot) {
|
|
65271
|
-
const
|
|
65389
|
+
const tracked = wrapReadToolWithTracker(createSandboxedReadTool({
|
|
65272
65390
|
root: sandboxRoot,
|
|
65273
65391
|
bridge: sandboxFsBridge,
|
|
65274
65392
|
modelContextWindowTokens: options?.modelContextWindowTokens,
|
|
65275
65393
|
imageSanitization
|
|
65276
|
-
});
|
|
65277
|
-
return [workspaceOnly ? wrapToolWorkspaceRootGuard(
|
|
65394
|
+
}), readEditTracker);
|
|
65395
|
+
return [workspaceOnly ? wrapToolWorkspaceRootGuard(tracked, sandboxRoot) : tracked];
|
|
65278
65396
|
}
|
|
65279
|
-
const
|
|
65397
|
+
const tracked = wrapReadToolWithTracker(createSymiReadTool(createReadTool(workspaceRoot), {
|
|
65280
65398
|
modelContextWindowTokens: options?.modelContextWindowTokens,
|
|
65281
65399
|
imageSanitization
|
|
65282
|
-
});
|
|
65283
|
-
return [workspaceOnly ? wrapToolWorkspaceRootGuard(
|
|
65400
|
+
}), readEditTracker);
|
|
65401
|
+
return [workspaceOnly ? wrapToolWorkspaceRootGuard(tracked, workspaceRoot) : tracked];
|
|
65284
65402
|
}
|
|
65285
65403
|
if (tool.name === "bash" || tool.name === execToolName) return [];
|
|
65286
65404
|
if (tool.name === "write") {
|
|
65287
65405
|
if (sandboxRoot) return [];
|
|
65288
|
-
const
|
|
65289
|
-
return [workspaceOnly ? wrapToolWorkspaceRootGuard(
|
|
65406
|
+
const tracked = wrapWriteToolWithTracker(wrapToolParamNormalization(createWriteTool(workspaceRoot), CLAUDE_PARAM_GROUPS.write), readEditTracker);
|
|
65407
|
+
return [workspaceOnly ? wrapToolWorkspaceRootGuard(tracked, workspaceRoot) : tracked];
|
|
65290
65408
|
}
|
|
65291
65409
|
if (tool.name === "edit") {
|
|
65292
65410
|
if (sandboxRoot) return [];
|
|
65293
|
-
const
|
|
65294
|
-
return [workspaceOnly ? wrapToolWorkspaceRootGuard(
|
|
65411
|
+
const guarded = wrapEditToolWithGuard(wrapToolParamNormalization(createEditTool(workspaceRoot), CLAUDE_PARAM_GROUPS.edit), readEditTracker);
|
|
65412
|
+
return [workspaceOnly ? wrapToolWorkspaceRootGuard(guarded, workspaceRoot) : guarded];
|
|
65295
65413
|
}
|
|
65296
65414
|
return [tool];
|
|
65297
65415
|
});
|
|
@@ -65334,22 +65452,18 @@ function createSymiCodingTools(options) {
|
|
|
65334
65452
|
} : void 0,
|
|
65335
65453
|
workspaceOnly: applyPatchWorkspaceOnly
|
|
65336
65454
|
});
|
|
65455
|
+
const sandboxedEditTool = sandboxRoot ? wrapEditToolWithGuard(createSandboxedEditTool({
|
|
65456
|
+
root: sandboxRoot,
|
|
65457
|
+
bridge: sandboxFsBridge
|
|
65458
|
+
}), readEditTracker) : null;
|
|
65459
|
+
const sandboxedWriteTool = sandboxRoot ? wrapWriteToolWithTracker(createSandboxedWriteTool({
|
|
65460
|
+
root: sandboxRoot,
|
|
65461
|
+
bridge: sandboxFsBridge
|
|
65462
|
+
}), readEditTracker) : null;
|
|
65337
65463
|
const withHooks = applyToolPolicyPipeline({
|
|
65338
65464
|
tools: applyOwnerOnlyToolPolicy([
|
|
65339
65465
|
...base,
|
|
65340
|
-
...sandboxRoot ? allowWorkspaceWrites ? [workspaceOnly ? wrapToolWorkspaceRootGuard(
|
|
65341
|
-
root: sandboxRoot,
|
|
65342
|
-
bridge: sandboxFsBridge
|
|
65343
|
-
}), sandboxRoot) : createSandboxedEditTool({
|
|
65344
|
-
root: sandboxRoot,
|
|
65345
|
-
bridge: sandboxFsBridge
|
|
65346
|
-
}), workspaceOnly ? wrapToolWorkspaceRootGuard(createSandboxedWriteTool({
|
|
65347
|
-
root: sandboxRoot,
|
|
65348
|
-
bridge: sandboxFsBridge
|
|
65349
|
-
}), sandboxRoot) : createSandboxedWriteTool({
|
|
65350
|
-
root: sandboxRoot,
|
|
65351
|
-
bridge: sandboxFsBridge
|
|
65352
|
-
})] : [] : [],
|
|
65466
|
+
...sandboxRoot ? allowWorkspaceWrites && sandboxedEditTool && sandboxedWriteTool ? [workspaceOnly ? wrapToolWorkspaceRootGuard(sandboxedEditTool, sandboxRoot) : sandboxedEditTool, workspaceOnly ? wrapToolWorkspaceRootGuard(sandboxedWriteTool, sandboxRoot) : sandboxedWriteTool] : [] : [],
|
|
65353
65467
|
...applyPatchTool ? [applyPatchTool] : [],
|
|
65354
65468
|
execTool,
|
|
65355
65469
|
processTool,
|
|
@@ -14,7 +14,7 @@ import "./client-CJIMV1WD.js";
|
|
|
14
14
|
import "./call-M4YyUnwu.js";
|
|
15
15
|
import "./message-channel-C9dERklz.js";
|
|
16
16
|
import "./pairing-token-Byh6drgn.js";
|
|
17
|
-
import "./subagent-registry-
|
|
17
|
+
import "./subagent-registry-D0IYimMO.js";
|
|
18
18
|
import "./sessions-BPD85pWA.js";
|
|
19
19
|
import "./tokens-Csntmwwn.js";
|
|
20
20
|
import "./plugins-CwSlLxM8.js";
|
|
@@ -52,8 +52,8 @@ import "./tool-images-CVLISeRT.js";
|
|
|
52
52
|
import "./thinking-8sKPnzpp.js";
|
|
53
53
|
import "./models-config-J1x_DaPn.js";
|
|
54
54
|
import "./reply-prefix-BUN71nd5.js";
|
|
55
|
-
import "./memory-cli-
|
|
56
|
-
import "./manager-
|
|
55
|
+
import "./memory-cli-OW9XfyYu.js";
|
|
56
|
+
import "./manager-QPF0UtOC.js";
|
|
57
57
|
import "./gemini-auth-DEakvf-D.js";
|
|
58
58
|
import "./retry-C4Q_VPOo.js";
|
|
59
59
|
import "./sqlite-BP8tiuca.js";
|
|
@@ -102,9 +102,9 @@ import { t as ensureSymiCliOnPath } from "./path-env-CaiY2aOj.js";
|
|
|
102
102
|
import "./catalog-KcLvtTfa.js";
|
|
103
103
|
import "./note-DewoEWtc.js";
|
|
104
104
|
import "./plugin-auto-enable-pQEg2Mly.js";
|
|
105
|
-
import { t as ensurePluginRegistryLoaded } from "./plugin-registry-
|
|
105
|
+
import { t as ensurePluginRegistryLoaded } from "./plugin-registry-Bn9Mj8mP.js";
|
|
106
106
|
import { t as assertSupportedRuntime } from "./runtime-guard-BofkqBu7.js";
|
|
107
|
-
import { t as emitCliBanner } from "./banner-
|
|
107
|
+
import { t as emitCliBanner } from "./banner-Bf46tqiY.js";
|
|
108
108
|
import "./doctor-config-flow-B2dVxbL7.js";
|
|
109
109
|
import { n as ensureConfigReady } from "./config-guard-BvqCjFPk.js";
|
|
110
110
|
import process$1 from "node:process";
|
|
@@ -119,7 +119,7 @@ const routeHealth = {
|
|
|
119
119
|
const verbose = getVerboseFlag(argv, { includeDebug: true });
|
|
120
120
|
const timeoutMs = getPositiveIntFlagValue(argv, "--timeout");
|
|
121
121
|
if (timeoutMs === null) return false;
|
|
122
|
-
const { healthCommand } = await import("./health-
|
|
122
|
+
const { healthCommand } = await import("./health-CcV5nKIK.js").then((n) => n.i);
|
|
123
123
|
await healthCommand({
|
|
124
124
|
json,
|
|
125
125
|
timeoutMs,
|
|
@@ -139,7 +139,7 @@ const routeStatus = {
|
|
|
139
139
|
const verbose = getVerboseFlag(argv, { includeDebug: true });
|
|
140
140
|
const timeoutMs = getPositiveIntFlagValue(argv, "--timeout");
|
|
141
141
|
if (timeoutMs === null) return false;
|
|
142
|
-
const { statusCommand } = await import("./status-
|
|
142
|
+
const { statusCommand } = await import("./status-PfvX-BjO.js").then((n) => n.t);
|
|
143
143
|
await statusCommand({
|
|
144
144
|
json,
|
|
145
145
|
deep,
|
|
@@ -173,7 +173,7 @@ const routeAgentsList = {
|
|
|
173
173
|
run: async (argv) => {
|
|
174
174
|
const json = hasFlag(argv, "--json");
|
|
175
175
|
const bindings = hasFlag(argv, "--bindings");
|
|
176
|
-
const { agentsListCommand } = await import("./agents-
|
|
176
|
+
const { agentsListCommand } = await import("./agents-CvNeiuSB.js").then((n) => n.t);
|
|
177
177
|
await agentsListCommand({
|
|
178
178
|
json,
|
|
179
179
|
bindings
|
|
@@ -190,7 +190,7 @@ const routeMemoryStatus = {
|
|
|
190
190
|
const deep = hasFlag(argv, "--deep");
|
|
191
191
|
const index = hasFlag(argv, "--index");
|
|
192
192
|
const verbose = hasFlag(argv, "--verbose");
|
|
193
|
-
const { runMemoryStatus } = await import("./memory-cli-
|
|
193
|
+
const { runMemoryStatus } = await import("./memory-cli-OW9XfyYu.js").then((n) => n.t);
|
|
194
194
|
await runMemoryStatus({
|
|
195
195
|
agent,
|
|
196
196
|
json,
|
|
@@ -244,7 +244,7 @@ const routes = [
|
|
|
244
244
|
const pathArg = getCommandPositionals(argv)[2];
|
|
245
245
|
if (!pathArg) return false;
|
|
246
246
|
const json = hasFlag(argv, "--json");
|
|
247
|
-
const { runConfigGet } = await import("./config-cli-
|
|
247
|
+
const { runConfigGet } = await import("./config-cli-Deoo6r2K.js");
|
|
248
248
|
await runConfigGet({
|
|
249
249
|
path: pathArg,
|
|
250
250
|
json
|
|
@@ -257,7 +257,7 @@ const routes = [
|
|
|
257
257
|
run: async (argv) => {
|
|
258
258
|
const pathArg = getCommandPositionals(argv)[2];
|
|
259
259
|
if (!pathArg) return false;
|
|
260
|
-
const { runConfigUnset } = await import("./config-cli-
|
|
260
|
+
const { runConfigUnset } = await import("./config-cli-Deoo6r2K.js");
|
|
261
261
|
await runConfigUnset({ path: pathArg });
|
|
262
262
|
return true;
|
|
263
263
|
}
|
|
@@ -271,7 +271,7 @@ const routes = [
|
|
|
271
271
|
const local = hasFlag(argv, "--local");
|
|
272
272
|
const json = hasFlag(argv, "--json");
|
|
273
273
|
const plain = hasFlag(argv, "--plain");
|
|
274
|
-
const { modelsListCommand } = await import("./models-
|
|
274
|
+
const { modelsListCommand } = await import("./models-Q1jV8ArL.js").then((n) => n.t);
|
|
275
275
|
await modelsListCommand({
|
|
276
276
|
all,
|
|
277
277
|
local,
|
|
@@ -302,7 +302,7 @@ const routes = [
|
|
|
302
302
|
const plain = hasFlag(argv, "--plain");
|
|
303
303
|
const check = hasFlag(argv, "--check");
|
|
304
304
|
const probe = hasFlag(argv, "--probe");
|
|
305
|
-
const { modelsStatusCommand } = await import("./models-
|
|
305
|
+
const { modelsStatusCommand } = await import("./models-Q1jV8ArL.js").then((n) => n.t);
|
|
306
306
|
await modelsStatusCommand({
|
|
307
307
|
json,
|
|
308
308
|
plain,
|
|
@@ -380,7 +380,7 @@ async function runCli(argv = process$1.argv) {
|
|
|
380
380
|
assertSupportedRuntime();
|
|
381
381
|
if (await tryRouteCli(normalizedArgv)) return;
|
|
382
382
|
enableConsoleCapture();
|
|
383
|
-
const { buildProgram } = await import("./program-
|
|
383
|
+
const { buildProgram } = await import("./program-D3_xE9BL.js");
|
|
384
384
|
const program = buildProgram();
|
|
385
385
|
installUnhandledRejectionHandler();
|
|
386
386
|
process$1.on("uncaughtException", (error) => {
|
|
@@ -412,10 +412,10 @@ async function runCli(argv = process$1.argv) {
|
|
|
412
412
|
const { getProgramContext } = await import("./program-context-DeZ44oQ9.js").then((n) => n.n);
|
|
413
413
|
const ctx = getProgramContext(program);
|
|
414
414
|
if (ctx) {
|
|
415
|
-
const { registerCoreCliByName } = await import("./command-registry-
|
|
415
|
+
const { registerCoreCliByName } = await import("./command-registry-BiRjJ2Sy.js").then((n) => n.t);
|
|
416
416
|
await registerCoreCliByName(program, ctx, primary, parseArgv);
|
|
417
417
|
}
|
|
418
|
-
const { registerSubCliByName } = await import("./register.subclis-
|
|
418
|
+
const { registerSubCliByName } = await import("./register.subclis-ByZAz4st.js").then((n) => n.a);
|
|
419
419
|
await registerSubCliByName(program, primary);
|
|
420
420
|
}
|
|
421
421
|
const hasBuiltinPrimary = primary !== null && program.commands.some((command) => command.name() === primary);
|
|
@@ -424,7 +424,7 @@ async function runCli(argv = process$1.argv) {
|
|
|
424
424
|
primary,
|
|
425
425
|
hasBuiltinPrimary
|
|
426
426
|
})) {
|
|
427
|
-
const { registerPluginCliCommands } = await import("./cli-
|
|
427
|
+
const { registerPluginCliCommands } = await import("./cli-BX54CAM7.js");
|
|
428
428
|
const { loadConfig } = await import("./config-DXt3pc08.js").then((n) => n.t);
|
|
429
429
|
registerPluginCliCommands(program, loadConfig());
|
|
430
430
|
}
|
|
@@ -4,7 +4,7 @@ import { A as normalizeGoogleModelId, B as resolveApiKeyForProvider, C as normal
|
|
|
4
4
|
import { d as DEFAULT_IMESSAGE_ATTACHMENT_ROOTS, f as isInboundPathAllowed, m as resolveIMessageAttachmentRoots, n as loadConfig, p as mergeInboundPathRoots } from "./config-BkZ9HOKT.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-BuVL0jHI.js";
|
|
8
8
|
import { n as collectProviderApiKeysForExecution, r as executeWithApiKeyRotation, t as parseGeminiAuth } from "./gemini-auth-BefM10YB.js";
|
|
9
9
|
import { n as fetchWithTimeout } from "./fetch-timeout-CVCBkyv1.js";
|
|
10
10
|
import { i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, o as fetchWithSsrFGuard, r as MediaFetchError } from "./local-roots-ClipCZ9s.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 textToSpeech, At as resolveAgentOutboundTarget, Bn as onAgentEvent, Cr as isSystemEventContextChanged, Dt as agentCommand, En as stopSubagentsForRequester, Fr as resolveAgentTimeoutMs, G as normalizeCronJobCreate, Gn as isTtsProviderConfigured, Hn as resolveUserTimezone, It as normalizeSendPolicy, Jn as resolveTtsConfig, K as normalizeCronJobPatch, Kn as resolveTtsApiKey, Lt as resolveSendPolicy, Mn as listDescendantRunsForRequester, Nn as listSubagentRunsForRequester, Nt as resolveOutboundTarget, P as scheduleGatewaySigusr1Restart, Qn as setTtsProvider, R as formatDoctorNonInteractiveHint, S as resolveSessionModelRef, Sn as formatZonedTimestamp, Sr as enqueueSystemEvent, T as resolveOutboundSessionRoute, Tn as isAbortTrigger, U as writeRestartSentinel, Un as getTtsProvider, Ut as waitForEmbeddedPiRunEnd, Vn as registerAgentRunContext, Vt as abortEmbeddedPiRun, Wn as isTtsEnabled, Xn as resolveTtsProviderOrder, Yn as resolveTtsPrefsPath, Zn as setTtsEnabled, _ as listSessionsFromStore, _t as loadProviderUsageSummary, an as unbindThreadBindingsBySessionKey, at as applyBrowserProxyPaths, b as pruneLegacyStoreKeys, br as applyVerboseOverride, c as clearSessionQueues, er as OPENAI_TTS_MODELS, f as listTasksInWorkdir, g as listAgentsForGateway, hn as createReplyDispatcher, ht as normalizeGroupActivation, kt as resolveAgentDeliveryPlan, m as canonicalizeSpawnedByForAgent, mn as dispatchInboundMessage, n as BARE_SESSION_RESET_PROMPT, ot as persistBrowserProxyFiles, pt as loadSymiPlugins, qn as resolveTtsAutoMode, tr as OPENAI_TTS_VOICES, v as loadCombinedSessionStoreForGateway, w as ensureOutboundSessionEntry, x as resolveGatewaySessionStoreTarget, xr as parseVerboseOverride, y as loadSessionEntry, yr as applyModelOverrideToSessionEntry, zt as createOutboundSendDeps } from "./reply-
|
|
4
|
+
import { $n as textToSpeech, At as resolveAgentOutboundTarget, Bn as onAgentEvent, Cr as isSystemEventContextChanged, Dt as agentCommand, En as stopSubagentsForRequester, Fr as resolveAgentTimeoutMs, G as normalizeCronJobCreate, Gn as isTtsProviderConfigured, Hn as resolveUserTimezone, It as normalizeSendPolicy, Jn as resolveTtsConfig, K as normalizeCronJobPatch, Kn as resolveTtsApiKey, Lt as resolveSendPolicy, Mn as listDescendantRunsForRequester, Nn as listSubagentRunsForRequester, Nt as resolveOutboundTarget, P as scheduleGatewaySigusr1Restart, Qn as setTtsProvider, R as formatDoctorNonInteractiveHint, S as resolveSessionModelRef, Sn as formatZonedTimestamp, Sr as enqueueSystemEvent, T as resolveOutboundSessionRoute, Tn as isAbortTrigger, U as writeRestartSentinel, Un as getTtsProvider, Ut as waitForEmbeddedPiRunEnd, Vn as registerAgentRunContext, Vt as abortEmbeddedPiRun, Wn as isTtsEnabled, Xn as resolveTtsProviderOrder, Yn as resolveTtsPrefsPath, Zn as setTtsEnabled, _ as listSessionsFromStore, _t as loadProviderUsageSummary, an as unbindThreadBindingsBySessionKey, at as applyBrowserProxyPaths, b as pruneLegacyStoreKeys, br as applyVerboseOverride, c as clearSessionQueues, er as OPENAI_TTS_MODELS, f as listTasksInWorkdir, g as listAgentsForGateway, hn as createReplyDispatcher, ht as normalizeGroupActivation, kt as resolveAgentDeliveryPlan, m as canonicalizeSpawnedByForAgent, mn as dispatchInboundMessage, n as BARE_SESSION_RESET_PROMPT, ot as persistBrowserProxyFiles, pt as loadSymiPlugins, qn as resolveTtsAutoMode, tr as OPENAI_TTS_VOICES, v as loadCombinedSessionStoreForGateway, w as ensureOutboundSessionEntry, x as resolveGatewaySessionStoreTarget, xr as parseVerboseOverride, y as loadSessionEntry, yr as applyModelOverrideToSessionEntry, zt as createOutboundSendDeps } from "./reply-CgyjcoxC.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";
|
|
@@ -20,7 +20,7 @@ import { i as normalizeInputProvenance } from "./input-provenance-BzbXHcaD.js";
|
|
|
20
20
|
import { n as createBrowserRouteDispatcher } from "./with-timeout-DwriPEWn.js";
|
|
21
21
|
import { C as getGlobalHookRunner, o as normalizeReplyPayloadsForDelivery, t as deliverOutboundPayloads } from "./deliver-D7BQXt0l.js";
|
|
22
22
|
import { a as resolveAgentIdentity, t as createReplyPrefixOptions } from "./reply-prefix-CE2YmmsD.js";
|
|
23
|
-
import { r as getMemorySearchManager } from "./memory-cli-
|
|
23
|
+
import { r as getMemorySearchManager } from "./memory-cli-BTByRgM0.js";
|
|
24
24
|
import { $ as validateNodePairRejectParams, A as validateCronStatusParams, At as validateWebLoginWaitParams, B as validateExecApprovalsGetParams, C as validateConfigSetParams, Ct as validateSkillsUpdateParams, D as validateCronRemoveParams, Dt as validateUpdateRunParams, E as validateCronListParams, Et as validateTasksListParams, F as validateDevicePairRemoveParams, G as validateModelsListParams, Gt as rejectDevicePairing, H as validateExecApprovalsNodeSetParams, I as validateDeviceTokenRevokeParams, It as ErrorCodes, J as validateNodeInvokeParams, Jt as revokeDeviceToken, K as validateNodeDescribeParams, Kt as removePairedDevice, L as validateDeviceTokenRotateParams, Lt as errorShape, M as validateDevicePairApproveParams, Mt as validateWizardNextParams, N as validateDevicePairListParams, Nt as validateWizardStartParams, O as validateCronRunParams, Ot as validateWakeParams, P as validateDevicePairRejectParams, Pt as validateWizardStatusParams, Q as validateNodePairListParams, S as validateConfigSchemaParams, St as validateSkillsStatusParams, T as validateCronAddParams, Tt as validateTalkModeParams, U as validateExecApprovalsSetParams, V as validateExecApprovalsNodeGetParams, Vt as approveDevicePairing, W as validateLogsTailParams, Wt as listDevicePairing, X as validateNodeListParams, Xt as summarizeDeviceTokens, Y as validateNodeInvokeResultParams, Yt as rotateDeviceToken, Z as validateNodePairApproveParams, _ as validateChatInjectParams, _t as validateSessionsRestoreParams, a as validateAgentWaitParams, b as validateConfigGetParams, bt as validateSkillsBinsParams, c as validateAgentsFilesGetParams, ct as validateSessionsCompactParams, d as validateAgentsListParams, dt as validateSessionsFavoriteFileParams, et as validateNodePairRequestParams, f as validateAgentsUpdateParams, ft as validateSessionsListParams, g as validateChatHistoryParams, gt as validateSessionsResolveParams, h as validateChatAbortParams, ht as validateSessionsResetParams, i as validateAgentParams, it as validatePushTestParams, j as validateCronUpdateParams, jt as validateWizardCancelParams, k as validateCronRunsParams, kt as validateWebLoginStartParams, l as validateAgentsFilesListParams, lt as validateSessionsDeleteFileParams, m as validateChannelsStatusParams, mt as validateSessionsPreviewParams, n as formatValidationErrors, nt as validateNodeRenameParams, o as validateAgentsCreateParams, ot as validateSendParams, p as validateChannelsLogoutParams, pt as validateSessionsPatchParams, q as validateNodeEventParams, r as validateAgentIdentityParams, rt as validatePollParams, s as validateAgentsDeleteParams, st as validateSessionsAdoptFileParams, tt as validateNodePairVerifyParams, u as validateAgentsFilesSetParams, ut as validateSessionsDeleteParams, v as validateChatSendParams, vt as validateSessionsSearchParams, wt as validateTalkConfigParams, x as validateConfigPatchParams, xt as validateSkillsInstallParams, y as validateConfigApplyParams, yt as validateSessionsUsageParams, zt as parseSessionLabel } from "./client-pd8kwOFJ.js";
|
|
25
25
|
import { l as authorizeOperatorScopesForMethod, s as ADMIN_SCOPE$2, u as isNodeRoleMethod } from "./call-DYfKEdwh.js";
|
|
26
26
|
import { c as writeJsonAtomic, o as createAsyncLock, s as readJsonFile } from "./pairing-token-pooyuU2J.js";
|
|
@@ -40,14 +40,14 @@ import { t as WizardCancelledError } from "./prompts-NOUgk6FH.js";
|
|
|
40
40
|
import { t as resolveChannelDefaultAccountId } from "./helpers-D-MrrYmt.js";
|
|
41
41
|
import { t as buildChannelAccountSnapshot } from "./status-TtGsgDjP.js";
|
|
42
42
|
import { o as isNodeCommandAllowed, s as resolveNodeCommandAllowlist } from "./audit-C9nq99IR.js";
|
|
43
|
-
import { n as getStatusSummary } from "./status-
|
|
44
|
-
import { s as setHeartbeatsEnabled } from "./health-
|
|
43
|
+
import { n as getStatusSummary } from "./status-CG5iHUJ6.js";
|
|
44
|
+
import { s as setHeartbeatsEnabled } from "./health-Dl2WRoTa.js";
|
|
45
45
|
import { m as normalizeUpdateChannel } from "./update-check-Bbvpax6u.js";
|
|
46
|
-
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-
|
|
47
|
-
import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-
|
|
46
|
+
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-BNzgqUl3.js";
|
|
47
|
+
import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-Ct64cGQ8.js";
|
|
48
48
|
import { t as resolveSystemRunCommand } from "./system-run-command-DKiCEPJc.js";
|
|
49
49
|
import { t as installSkill } from "./skills-install-B8r7cGKR.js";
|
|
50
|
-
import { t as runGatewayUpdate } from "./update-runner-
|
|
50
|
+
import { t as runGatewayUpdate } from "./update-runner-DMucmRlv.js";
|
|
51
51
|
import * as fs$2 from "node:fs";
|
|
52
52
|
import fs from "node:fs";
|
|
53
53
|
import * as os$1 from "node:os";
|
|
@@ -7509,7 +7509,7 @@ const nodeHandlers = {
|
|
|
7509
7509
|
const p = params;
|
|
7510
7510
|
const payloadJSON = typeof p.payloadJSON === "string" ? p.payloadJSON : p.payload !== void 0 ? JSON.stringify(p.payload) : null;
|
|
7511
7511
|
await respondUnavailableOnThrow(respond, async () => {
|
|
7512
|
-
const { handleNodeEvent } = await import("./server-node-events-
|
|
7512
|
+
const { handleNodeEvent } = await import("./server-node-events-BUEZ3py9.js");
|
|
7513
7513
|
const nodeId = client?.connect?.device?.id ?? client?.connect?.client?.id ?? "node";
|
|
7514
7514
|
await handleNodeEvent({
|
|
7515
7515
|
deps: context.deps,
|