@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.
Files changed (117) hide show
  1. package/dist/{agents-DPdRUY_O.js → agents-yeSooTtP.js} +4 -4
  2. package/dist/{agents.config-DIumfxnN.js → agents.config-DoTRueo1.js} +1 -1
  3. package/dist/{agents.config-Cr6DcdaD.js → agents.config-XOcM83Bx.js} +1 -1
  4. package/dist/{audio-preflight-CPBOQV4I.js → audio-preflight-C40mKAp7.js} +4 -4
  5. package/dist/{audio-preflight-BVaaZWkg.js → audio-preflight-DHTaS5U1.js} +4 -4
  6. package/dist/{auth-choice-z3-Baeyd.js → auth-choice-6h5vk1cG.js} +1 -1
  7. package/dist/{auth-choice-C5etRQcH.js → auth-choice-CSfG00oW.js} +1 -1
  8. package/dist/{banner-om7BRUIc.js → banner-C2tjwP2M.js} +1 -1
  9. package/dist/build-info.json +3 -3
  10. package/dist/bundled/boot-md/handler.js +6 -6
  11. package/dist/bundled/session-memory/handler.js +6 -6
  12. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  13. package/dist/{channel-options-BqnokE7_.js → channel-options-5wdTOBFJ.js} +1 -1
  14. package/dist/{channel-options-Cb1PgfNV.js → channel-options-CHyjRl0C.js} +1 -1
  15. package/dist/{channel-web-DztB2W6w.js → channel-web-VYYpZqcw.js} +1 -1
  16. package/dist/{channels-cli-R2PHQWVd.js → channels-cli-CNS4BcpR.js} +4 -4
  17. package/dist/{channels-cli-xlZ2mjBu.js → channels-cli-Dm1d93Oy.js} +4 -4
  18. package/dist/{chrome-DkaXoP36.js → chrome-CDJYxX5a.js} +5 -5
  19. package/dist/{chrome-D2SKJnR7.js → chrome-DYZwl5Gv.js} +5 -5
  20. package/dist/{cli-DNGrFH7L.js → cli-D4MEJZ7W.js} +1 -1
  21. package/dist/{cli-DLly6H0w.js → cli-DqQ3teJy.js} +1 -1
  22. package/dist/{command-registry-DJbyskBr.js → command-registry-yzABgrim.js} +9 -9
  23. package/dist/{completion-cli-Dfw9JhkN.js → completion-cli-DDCDJyTb.js} +2 -2
  24. package/dist/{completion-cli-DosOadUD.js → completion-cli-zI_h8pr3.js} +1 -1
  25. package/dist/{config-cli-BaH8OVQ-.js → config-cli-Bth4qEO1.js} +1 -1
  26. package/dist/{config-cli-CbdeNt0M.js → config-cli-vqQE9gkx.js} +1 -1
  27. package/dist/{configure-BmNOfGox.js → configure-DU1IcIoq.js} +3 -3
  28. package/dist/{configure-D5dSJprr.js → configure-DyeOg2hp.js} +3 -3
  29. package/dist/{deliver-C-37cZUe.js → deliver-BH0l3UKW.js} +1 -1
  30. package/dist/{deliver-C46-vyqg.js → deliver-dODxSv3b.js} +1 -1
  31. package/dist/{doctor-completion-Xx92Sz9s.js → doctor-completion-BbWijhz0.js} +1 -1
  32. package/dist/{doctor-completion-DRucwWSo.js → doctor-completion-R-1oda1v.js} +1 -1
  33. package/dist/entry.js +1 -1
  34. package/dist/extensionAPI.js +6 -6
  35. package/dist/{gateway-cli-SlbXm0f7.js → gateway-cli-BFWLsB3b.js} +9 -9
  36. package/dist/{gateway-cli-D3kGHw5M.js → gateway-cli-DGKFkUrv.js} +9 -9
  37. package/dist/{glass-ui-ws-Cj9wbO1L.js → glass-ui-ws-DDgLRQXa.js} +7 -7
  38. package/dist/{glass-ui-ws-B7V2wHEu.js → glass-ui-ws-DFRu8a15.js} +7 -7
  39. package/dist/{health-DUKLANXu.js → health-BxPSqsO6.js} +1 -1
  40. package/dist/{health-BPOuBmYt.js → health-CJ7Y6Rln.js} +1 -1
  41. package/dist/{hooks-cli-BF0mbqlZ.js → hooks-cli-BAVmPXDl.js} +2 -2
  42. package/dist/{hooks-cli-BpfIySkB.js → hooks-cli-elIqdnzb.js} +2 -2
  43. package/dist/{image-DcpMiprB.js → image-CHzdaNJ4.js} +1 -1
  44. package/dist/{image-CuzFLQWC.js → image-CXu8W39c.js} +1 -1
  45. package/dist/index.js +6 -6
  46. package/dist/llm-slug-generator.js +6 -6
  47. package/dist/{models-Bt8lm_nD.js → models-CIUYv1__.js} +2 -2
  48. package/dist/{models-cli-bHYoiL5x.js → models-cli-DmffFgOZ.js} +2 -2
  49. package/dist/{models-cli-BmBmBUgl.js → models-cli-ydxkD2B-.js} +3 -3
  50. package/dist/{onboard-DFkXqe5P.js → onboard-BBZMfGdo.js} +2 -2
  51. package/dist/{onboard-DlY7trcj.js → onboard-DhJBvsPB.js} +2 -2
  52. package/dist/{onboard-channels-D0RHtaJE.js → onboard-channels-0wtc-NTC.js} +1 -1
  53. package/dist/{onboard-channels-DEFF3Rjo.js → onboard-channels-LCDTtAGK.js} +1 -1
  54. package/dist/{onboarding-mXPGwLNG.js → onboarding-Bm11jSTl.js} +3 -3
  55. package/dist/{onboarding-BEDqTyYQ.js → onboarding-Bs7a2RIn.js} +3 -3
  56. package/dist/{onboarding.finalize-DmeEphAd.js → onboarding.finalize-DOpAnwny.js} +5 -5
  57. package/dist/{onboarding.finalize-Ca-aQ6eE.js → onboarding.finalize-fdahnZvf.js} +6 -6
  58. package/dist/{pi-embedded-DPXbVwW0.js → pi-embedded-BwQa2XMa.js} +69 -68
  59. package/dist/{pi-embedded-helpers-B8kqLWns.js → pi-embedded-helpers-lgx_U5KS.js} +4 -4
  60. package/dist/{pi-embedded-helpers-CfqDGQ9J.js → pi-embedded-helpers-pubKo8HQ.js} +4 -4
  61. package/dist/{plugin-registry-CDIOKK_i.js → plugin-registry-CQCjMWVC.js} +1 -1
  62. package/dist/{plugin-registry-C1ghjhOE.js → plugin-registry-D3CP_n5q.js} +1 -1
  63. package/dist/plugin-sdk/agents/pi-tools.validate-wrapper.d.ts +8 -8
  64. package/dist/plugin-sdk/{channel-web-CxwLjrWk.js → channel-web-B76ttiD9.js} +1 -1
  65. package/dist/plugin-sdk/index.js +2 -2
  66. package/dist/plugin-sdk/{reply-CyZfsjrl.js → reply-CQPVXorK.js} +55 -54
  67. package/dist/plugin-sdk/{web-C2OyRvIo.js → web-DtkJFFr4.js} +2 -2
  68. package/dist/{plugins-cli-jv-Bqq1t.js → plugins-cli-D_r2gFIY.js} +2 -2
  69. package/dist/{plugins-cli-BFCJyRBX.js → plugins-cli-FUQHZ6tU.js} +2 -2
  70. package/dist/{program-T144qFaw.js → program-DwrSPQU4.js} +7 -7
  71. package/dist/{program-context-xpDrT9eG.js → program-context-CN4mNmYa.js} +17 -17
  72. package/dist/{prompt-select-styled-Bn4zyJmn.js → prompt-select-styled-BQW1Ropv.js} +4 -4
  73. package/dist/{prompt-select-styled-BN0aOmtR.js → prompt-select-styled-CK3VsV2a.js} +4 -4
  74. package/dist/{provider-auth-helpers-CqDTEFnD.js → provider-auth-helpers-Bg07iIOF.js} +1 -1
  75. package/dist/{provider-auth-helpers-CfBPNN7J.js → provider-auth-helpers-CY8preuC.js} +1 -1
  76. package/dist/{push-apns-CVRC-O3Q.js → push-apns-6u2NUzOH.js} +1 -1
  77. package/dist/{push-apns-CHIVwHRD.js → push-apns-D2hExRgY.js} +1 -1
  78. package/dist/{pw-ai-m0mj2KWK.js → pw-ai-B5asscAD.js} +1 -1
  79. package/dist/{pw-ai-1htA-NnS.js → pw-ai-De-KR9_s.js} +1 -1
  80. package/dist/{register.agent-DD2QErXm.js → register.agent-BhM4QQqa.js} +5 -5
  81. package/dist/{register.agent-B0ExzmtM.js → register.agent-BqRVkePg.js} +6 -6
  82. package/dist/{register.configure-DpHCcS5d.js → register.configure-0qzVn1Z5.js} +6 -6
  83. package/dist/{register.configure-ByNKeAo7.js → register.configure-BtnhfP3M.js} +6 -6
  84. package/dist/{register.maintenance-C9K829tk.js → register.maintenance-BNqMCfLm.js} +7 -7
  85. package/dist/{register.maintenance-Ck1jwY_N.js → register.maintenance-DrijKQoQ.js} +8 -8
  86. package/dist/{register.message-DZ45n1GX.js → register.message-2iSjsSI-.js} +2 -2
  87. package/dist/{register.message-BveFb6IW.js → register.message-CGexab2Y.js} +2 -2
  88. package/dist/{register.onboard-Byt2S-D0.js → register.onboard-D1b3xhDD.js} +4 -4
  89. package/dist/{register.onboard-BHUh0Xk1.js → register.onboard-DIAkE9FI.js} +4 -4
  90. package/dist/{register.setup-DCG9bst7.js → register.setup-Bvv5sUpg.js} +4 -4
  91. package/dist/{register.setup-BvB9oNh3.js → register.setup-Clq3FwZo.js} +4 -4
  92. package/dist/{register.status-health-sessions-CMJ_l4rs.js → register.status-health-sessions-IPxdVhoD.js} +3 -3
  93. package/dist/{register.status-health-sessions-DgNzHYE-.js → register.status-health-sessions-JHfNAhk3.js} +3 -3
  94. package/dist/{register.subclis-DnWR9l5V.js → register.subclis-C5wTDVDa.js} +9 -9
  95. package/dist/{reply-DcyKvFor.js → reply-dzRBlsmK.js} +55 -54
  96. package/dist/{run-main-B1aB8I5W.js → run-main-jPbs3Gm5.js} +14 -14
  97. package/dist/{runner-BcQ0sF9T.js → runner-DUBExAb5.js} +1 -1
  98. package/dist/{runner-CU9l0uJh.js → runner-WAG0M5s9.js} +1 -1
  99. package/dist/{server-methods-BdXCfO_O.js → server-methods-CJbZTdch.js} +7 -7
  100. package/dist/{server-methods-D1W-tViM.js → server-methods-DuaVOb2k.js} +7 -7
  101. package/dist/{server-node-events-DqVmWjof.js → server-node-events-BgFWyVCV.js} +2 -2
  102. package/dist/{server-node-events-BwGehjys.js → server-node-events-DesNIafd.js} +2 -2
  103. package/dist/{status-BvnWSBQl.js → status-BV22IA25.js} +1 -1
  104. package/dist/{status-BY4CnB2O.js → status-BxfE61b4.js} +2 -2
  105. package/dist/{status-kPaSg3RB.js → status-Bxkdy4Dq.js} +1 -1
  106. package/dist/{status-CfLq5R5j.js → status-DOB2UmDg.js} +2 -2
  107. package/dist/{subagent-registry-CVQOC9Jw.js → subagent-registry-DEdqc42m.js} +55 -54
  108. package/dist/{unified-runner-CxscxYKm.js → unified-runner-BIj2b1Y-.js} +69 -68
  109. package/dist/{update-cli-Bgrhor0g.js → update-cli-CNlljdlx.js} +8 -8
  110. package/dist/{update-cli-D5QWigS0.js → update-cli-D4OgWd1l.js} +7 -7
  111. package/dist/{update-runner-DdPdhkw5.js → update-runner-CZd6ajL6.js} +1 -1
  112. package/dist/{update-runner-CPOm0f_6.js → update-runner-Dtay-1lf.js} +1 -1
  113. package/dist/{web-DGLeD0Lo.js → web-B-E-mzTK.js} +6 -6
  114. package/dist/{web-DShKO-0L.js → web-DP9s1zzp.js} +6 -6
  115. package/dist/{web-ZnFT5LP9.js → web-DUi3cu-p.js} +1 -1
  116. package/dist/{web-DqjNQqGK.js → web-qJRZWEaD.js} +2 -2
  117. package/package.json +1 -1
@@ -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 "./subagent-registry-CVQOC9Jw.js";
17
+ import "./subagent-registry-DEdqc42m.js";
18
18
  import "./sessions-CJXnZVjR.js";
19
19
  import "./tokens-Csntmwwn.js";
20
20
  import "./plugins-CwSlLxM8.js";
@@ -106,24 +106,24 @@ import "./install-safe-path-BK8js28D.js";
106
106
  import "./npm-registry-spec-DkaZNHAW.js";
107
107
  import "./skill-scanner-BGWOBqLY.js";
108
108
  import "./installs-CgQpVncj.js";
109
- import "./onboard-channels-DEFF3Rjo.js";
109
+ import "./onboard-channels-LCDTtAGK.js";
110
110
  import "./daemon-runtime-CfRwa6qh.js";
111
111
  import "./runtime-guard-D7waq_Ho.js";
112
112
  import "./systemd-DlMdyFDY.js";
113
113
  import "./service-Cm9j9WzQ.js";
114
114
  import "./widearea-dns-CsKTEo__.js";
115
115
  import "./bonjour-discovery-CA_XIzr_.js";
116
- import "./health-DUKLANXu.js";
116
+ import "./health-BxPSqsO6.js";
117
117
  import "./control-ui-assets-BseSWee1.js";
118
118
  import "./skills-install-1ZdwGTnh.js";
119
119
  import "./shared-D8K9MkWg.js";
120
120
  import "./auth-token-Cmrk2TPo.js";
121
121
  import "./logging-BGewRZy0.js";
122
- import "./provider-auth-helpers-CqDTEFnD.js";
123
- import "./auth-choice-C5etRQcH.js";
122
+ import "./provider-auth-helpers-Bg07iIOF.js";
123
+ import "./auth-choice-CSfG00oW.js";
124
124
  import "./openai-model-default-DAwnTUcK.js";
125
125
  import "./model-picker-D5nCutGW.js";
126
- import { n as configureCommandFromSectionsArg, r as CONFIGURE_WIZARD_SECTIONS } from "./configure-D5dSJprr.js";
126
+ import { n as configureCommandFromSectionsArg, r as CONFIGURE_WIZARD_SECTIONS } from "./configure-DyeOg2hp.js";
127
127
  import "./systemd-linger-DA_LW52P.js";
128
128
  import "./onboard-custom-DdWPfzJO.js";
129
129
  import "./health-format-CzgUHmmX.js";
@@ -1,7 +1,7 @@
1
1
  import { g as resolveStateDir, i as isNixMode, m as resolveOAuthDir, o as resolveConfigPath, u as resolveGatewayPort } from "./paths-Cqn-zk3M.js";
2
2
  import { B as theme, _ as resolveHomeDir, x as shortenHomeInString, y as resolveUserPath } from "./utils-B-0b9bGM.js";
3
3
  import "./thinking-EAliFiVK.js";
4
- import "./reply-DcyKvFor.js";
4
+ import "./reply-dzRBlsmK.js";
5
5
  import "./registry-Cja8eT7G.js";
6
6
  import { f as defaultRuntime } from "./subsystem-D9vIQve0.js";
7
7
  import "./exec-CWkblSrI.js";
@@ -103,30 +103,30 @@ import "./control-service-Bz7rxLWq.js";
103
103
  import "./stagger-BUClb97_.js";
104
104
  import "./channel-selection-DuWs0Aak.js";
105
105
  import "./runtime-guard-B37eizu-.js";
106
- import "./program-context-xpDrT9eG.js";
106
+ import "./program-context-CN4mNmYa.js";
107
107
  import "./catalog-RiADx7MA.js";
108
108
  import "./skills-status-CURJKnyY.js";
109
109
  import { t as copyToClipboard } from "./clipboard-Cg3cin13.js";
110
110
  import "./note-DeHoW7xO.js";
111
111
  import "./plugin-auto-enable-BzX1uAKy.js";
112
112
  import "./channels-status-issues-B_kBkl_u.js";
113
- import "./completion-cli-DosOadUD.js";
113
+ import "./completion-cli-zI_h8pr3.js";
114
114
  import "./daemon-runtime-2mwX-jqj.js";
115
115
  import "./systemd-riq8uNJQ.js";
116
116
  import { t as resolveGatewayService } from "./service-Cl74hx8J.js";
117
117
  import "./systemd-hints-BR6gChwm.js";
118
118
  import "./diagnostics-BAMlsVVX.js";
119
- import "./health-BPOuBmYt.js";
119
+ import "./health-CJ7Y6Rln.js";
120
120
  import "./control-ui-assets-Z947tKLt.js";
121
121
  import "./update-check-CtckACbb.js";
122
122
  import "./dm-policy-shared-Bh3TbexU.js";
123
- import "./update-runner-CPOm0f_6.js";
123
+ import "./update-runner-Dtay-1lf.js";
124
124
  import "./logging-BzzwiKjv.js";
125
125
  import "./doctor-config-flow-QnaBd8kL.js";
126
126
  import "./systemd-linger-aQ75ZlXY.js";
127
127
  import "./health-format-DSwnXZPU.js";
128
- import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-BN0aOmtR.js";
129
- import "./doctor-completion-DRucwWSo.js";
128
+ import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-CK3VsV2a.js";
129
+ import "./doctor-completion-R-1oda1v.js";
130
130
  import path from "node:path";
131
131
  import fs from "node:fs/promises";
132
132
  import { cancel, confirm, isCancel, multiselect } from "@clack/prompts";
@@ -15,7 +15,7 @@ import "./client-DMBZpU6X.js";
15
15
  import "./call-BcE47FtD.js";
16
16
  import "./message-channel-C9dERklz.js";
17
17
  import "./pairing-token-Byh6drgn.js";
18
- import "./subagent-registry-CVQOC9Jw.js";
18
+ import "./subagent-registry-DEdqc42m.js";
19
19
  import "./sessions-CJXnZVjR.js";
20
20
  import "./tokens-Csntmwwn.js";
21
21
  import "./plugins-CwSlLxM8.js";
@@ -104,27 +104,27 @@ import "./catalog-DLQFKucJ.js";
104
104
  import "./note-DDecZomM.js";
105
105
  import "./plugin-auto-enable-D6ENR3Xg.js";
106
106
  import "./channels-status-issues-c7qZbYG5.js";
107
- import "./register.subclis-DnWR9l5V.js";
108
- import "./command-registry-DJbyskBr.js";
107
+ import "./register.subclis-C5wTDVDa.js";
108
+ import "./command-registry-yzABgrim.js";
109
109
  import "./program-context-CqzR_m-7.js";
110
- import "./completion-cli-Dfw9JhkN.js";
110
+ import "./completion-cli-DDCDJyTb.js";
111
111
  import "./daemon-runtime-CfRwa6qh.js";
112
112
  import "./runtime-guard-D7waq_Ho.js";
113
113
  import "./systemd-DlMdyFDY.js";
114
114
  import { t as resolveGatewayService } from "./service-Cm9j9WzQ.js";
115
115
  import "./systemd-hints-sQipWGd1.js";
116
116
  import "./diagnostics-CS1ov_hH.js";
117
- import "./health-DUKLANXu.js";
117
+ import "./health-BxPSqsO6.js";
118
118
  import "./control-ui-assets-BseSWee1.js";
119
119
  import "./update-check-ZdimP1aU.js";
120
120
  import "./dm-policy-shared-DJ-61hCT.js";
121
- import "./update-runner-DdPdhkw5.js";
121
+ import "./update-runner-CZd6ajL6.js";
122
122
  import "./logging-BGewRZy0.js";
123
123
  import "./doctor-config-flow-CA3eiKhd.js";
124
124
  import "./systemd-linger-DA_LW52P.js";
125
125
  import "./health-format-CzgUHmmX.js";
126
- import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-Bn4zyJmn.js";
127
- import "./doctor-completion-Xx92Sz9s.js";
126
+ import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-BQW1Ropv.js";
127
+ import "./doctor-completion-BbWijhz0.js";
128
128
  import path from "node:path";
129
129
  import fs from "node:fs/promises";
130
130
  import { cancel, confirm, isCancel, multiselect } from "@clack/prompts";
@@ -1,7 +1,7 @@
1
1
  import "./paths-Cqn-zk3M.js";
2
2
  import { B as theme, O as danger, P as setVerbose, z as isRich } from "./utils-B-0b9bGM.js";
3
3
  import "./thinking-EAliFiVK.js";
4
- import { D as CHANNEL_MESSAGE_ACTION_NAMES, Lt as createDefaultDeps, Pt as createOutboundSendDeps, S as runMessageAction, T as formatTargetDisplay, nt as CHANNEL_TARGETS_DESCRIPTION, rt as CHANNEL_TARGET_DESCRIPTION } from "./reply-DcyKvFor.js";
4
+ import { D as CHANNEL_MESSAGE_ACTION_NAMES, Lt as createDefaultDeps, Pt as createOutboundSendDeps, S as runMessageAction, T as formatTargetDisplay, nt as CHANNEL_TARGETS_DESCRIPTION, rt as CHANNEL_TARGET_DESCRIPTION } from "./reply-dzRBlsmK.js";
5
5
  import { o as getChatChannelMeta, u as normalizeChatChannelId } from "./registry-Cja8eT7G.js";
6
6
  import { f as defaultRuntime } from "./subsystem-D9vIQve0.js";
7
7
  import "./exec-CWkblSrI.js";
@@ -102,7 +102,7 @@ import "./control-service-Bz7rxLWq.js";
102
102
  import "./stagger-BUClb97_.js";
103
103
  import "./channel-selection-DuWs0Aak.js";
104
104
  import { t as collectOption } from "./helpers-By2rxBQ5.js";
105
- import { t as ensurePluginRegistryLoaded } from "./plugin-registry-CDIOKK_i.js";
105
+ import { t as ensurePluginRegistryLoaded } from "./plugin-registry-CQCjMWVC.js";
106
106
  import { t as renderTable } from "./table-BTgkRafz.js";
107
107
 
108
108
  //#region src/infra/outbound/format.ts
@@ -13,7 +13,7 @@ import "./client-DMBZpU6X.js";
13
13
  import "./call-BcE47FtD.js";
14
14
  import { h as GATEWAY_CLIENT_NAMES, m as GATEWAY_CLIENT_MODES } from "./message-channel-C9dERklz.js";
15
15
  import "./pairing-token-Byh6drgn.js";
16
- import { E as createDefaultDeps, Rt as CHANNEL_TARGETS_DESCRIPTION, T as createOutboundSendDeps, ht as CHANNEL_MESSAGE_ACTION_NAMES, ot as runMessageAction, pt as formatTargetDisplay, zt as CHANNEL_TARGET_DESCRIPTION } from "./subagent-registry-CVQOC9Jw.js";
16
+ import { E as createDefaultDeps, Rt as CHANNEL_TARGETS_DESCRIPTION, T as createOutboundSendDeps, ht as CHANNEL_MESSAGE_ACTION_NAMES, ot as runMessageAction, pt as formatTargetDisplay, zt as CHANNEL_TARGET_DESCRIPTION } from "./subagent-registry-DEdqc42m.js";
17
17
  import "./sessions-CJXnZVjR.js";
18
18
  import "./tokens-Csntmwwn.js";
19
19
  import { t as getChannelPlugin } from "./plugins-CwSlLxM8.js";
@@ -97,7 +97,7 @@ import "./onboard-helpers-_pit1NZW.js";
97
97
  import "./prompt-style-DwCXob2h.js";
98
98
  import "./pairing-labels-D1HDboV2.js";
99
99
  import "./pi-tools.policy-De00gPXt.js";
100
- import { t as ensurePluginRegistryLoaded } from "./plugin-registry-C1ghjhOE.js";
100
+ import { t as ensurePluginRegistryLoaded } from "./plugin-registry-D3CP_n5q.js";
101
101
  import { t as collectOption } from "./helpers-ITexi1_a.js";
102
102
  import { t as renderTable } from "./table-D01d2GuY.js";
103
103
 
@@ -1,7 +1,7 @@
1
1
  import "./paths-Cqn-zk3M.js";
2
2
  import { B as theme } from "./utils-B-0b9bGM.js";
3
3
  import "./thinking-EAliFiVK.js";
4
- import "./reply-DcyKvFor.js";
4
+ import "./reply-dzRBlsmK.js";
5
5
  import "./registry-Cja8eT7G.js";
6
6
  import { f as defaultRuntime } from "./subsystem-D9vIQve0.js";
7
7
  import "./exec-CWkblSrI.js";
@@ -107,8 +107,8 @@ import "./clack-prompter-B7pN13HV.js";
107
107
  import "./daemon-runtime-2mwX-jqj.js";
108
108
  import "./systemd-riq8uNJQ.js";
109
109
  import "./service-Cl74hx8J.js";
110
- import "./health-BPOuBmYt.js";
111
- import "./onboarding-BEDqTyYQ.js";
110
+ import "./health-CJ7Y6Rln.js";
111
+ import "./onboarding-Bs7a2RIn.js";
112
112
  import "./shared-Knv1hy6h.js";
113
113
  import "./auth-token-BnOynwk4.js";
114
114
  import "./logging-BzzwiKjv.js";
@@ -117,7 +117,7 @@ import "./openai-model-default-DMjQRsb1.js";
117
117
  import "./model-picker-Ddo3jHe-.js";
118
118
  import "./systemd-linger-aQ75ZlXY.js";
119
119
  import "./onboard-custom-C7O-zfQ1.js";
120
- import { n as ONBOARD_PROVIDER_AUTH_FLAGS, t as onboardCommand } from "./onboard-DlY7trcj.js";
120
+ import { n as ONBOARD_PROVIDER_AUTH_FLAGS, t as onboardCommand } from "./onboard-DhJBvsPB.js";
121
121
 
122
122
  //#region src/cli/program/register.onboard.ts
123
123
  function resolveInstallDaemonFlag(command, opts) {
@@ -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-CVQOC9Jw.js";
16
+ import "./subagent-registry-DEdqc42m.js";
17
17
  import "./sessions-CJXnZVjR.js";
18
18
  import "./tokens-Csntmwwn.js";
19
19
  import "./plugins-CwSlLxM8.js";
@@ -103,8 +103,8 @@ import "./daemon-runtime-CfRwa6qh.js";
103
103
  import "./runtime-guard-D7waq_Ho.js";
104
104
  import "./systemd-DlMdyFDY.js";
105
105
  import "./service-Cm9j9WzQ.js";
106
- import "./health-DUKLANXu.js";
107
- import "./onboarding-mXPGwLNG.js";
106
+ import "./health-BxPSqsO6.js";
107
+ import "./onboarding-Bm11jSTl.js";
108
108
  import "./shared-D8K9MkWg.js";
109
109
  import "./auth-token-Cmrk2TPo.js";
110
110
  import "./logging-BGewRZy0.js";
@@ -113,7 +113,7 @@ import "./openai-model-default-DAwnTUcK.js";
113
113
  import "./model-picker-D5nCutGW.js";
114
114
  import "./systemd-linger-DA_LW52P.js";
115
115
  import "./onboard-custom-DdWPfzJO.js";
116
- import { n as ONBOARD_PROVIDER_AUTH_FLAGS, t as onboardCommand } from "./onboard-DFkXqe5P.js";
116
+ import { n as ONBOARD_PROVIDER_AUTH_FLAGS, t as onboardCommand } from "./onboard-BBZMfGdo.js";
117
117
 
118
118
  //#region src/cli/program/register.onboard.ts
119
119
  function resolveInstallDaemonFlag(command, opts) {
@@ -1,7 +1,7 @@
1
1
  import "./paths-Cqn-zk3M.js";
2
2
  import { B as theme, S as shortenHomePath } from "./utils-B-0b9bGM.js";
3
3
  import "./thinking-EAliFiVK.js";
4
- import "./reply-DcyKvFor.js";
4
+ import "./reply-dzRBlsmK.js";
5
5
  import "./registry-Cja8eT7G.js";
6
6
  import { f as defaultRuntime } from "./subsystem-D9vIQve0.js";
7
7
  import "./exec-CWkblSrI.js";
@@ -108,8 +108,8 @@ import "./clack-prompter-B7pN13HV.js";
108
108
  import "./daemon-runtime-2mwX-jqj.js";
109
109
  import "./systemd-riq8uNJQ.js";
110
110
  import "./service-Cl74hx8J.js";
111
- import "./health-BPOuBmYt.js";
112
- import "./onboarding-BEDqTyYQ.js";
111
+ import "./health-CJ7Y6Rln.js";
112
+ import "./onboarding-Bs7a2RIn.js";
113
113
  import "./shared-Knv1hy6h.js";
114
114
  import "./auth-token-BnOynwk4.js";
115
115
  import { n as logConfigUpdated, t as formatConfigPath } from "./logging-BzzwiKjv.js";
@@ -117,7 +117,7 @@ import "./openai-model-default-DMjQRsb1.js";
117
117
  import "./model-picker-Ddo3jHe-.js";
118
118
  import "./systemd-linger-aQ75ZlXY.js";
119
119
  import "./onboard-custom-C7O-zfQ1.js";
120
- import { t as onboardCommand } from "./onboard-DlY7trcj.js";
120
+ import { t as onboardCommand } from "./onboard-DhJBvsPB.js";
121
121
  import JSON5 from "json5";
122
122
  import fs from "node:fs/promises";
123
123
 
@@ -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-CVQOC9Jw.js";
16
+ import "./subagent-registry-DEdqc42m.js";
17
17
  import "./sessions-CJXnZVjR.js";
18
18
  import "./tokens-Csntmwwn.js";
19
19
  import "./plugins-CwSlLxM8.js";
@@ -104,8 +104,8 @@ import "./daemon-runtime-CfRwa6qh.js";
104
104
  import "./runtime-guard-D7waq_Ho.js";
105
105
  import "./systemd-DlMdyFDY.js";
106
106
  import "./service-Cm9j9WzQ.js";
107
- import "./health-DUKLANXu.js";
108
- import "./onboarding-mXPGwLNG.js";
107
+ import "./health-BxPSqsO6.js";
108
+ import "./onboarding-Bm11jSTl.js";
109
109
  import "./shared-D8K9MkWg.js";
110
110
  import "./auth-token-Cmrk2TPo.js";
111
111
  import { n as logConfigUpdated, t as formatConfigPath } from "./logging-BGewRZy0.js";
@@ -113,7 +113,7 @@ import "./openai-model-default-DAwnTUcK.js";
113
113
  import "./model-picker-D5nCutGW.js";
114
114
  import "./systemd-linger-DA_LW52P.js";
115
115
  import "./onboard-custom-DdWPfzJO.js";
116
- import { t as onboardCommand } from "./onboard-DFkXqe5P.js";
116
+ import { t as onboardCommand } from "./onboard-BBZMfGdo.js";
117
117
  import JSON5 from "json5";
118
118
  import fs from "node:fs/promises";
119
119
 
@@ -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 "./subagent-registry-CVQOC9Jw.js";
17
+ import "./subagent-registry-DEdqc42m.js";
18
18
  import "./sessions-CJXnZVjR.js";
19
19
  import "./tokens-Csntmwwn.js";
20
20
  import "./plugins-CwSlLxM8.js";
@@ -108,8 +108,8 @@ import "./service-Cm9j9WzQ.js";
108
108
  import "./diagnostics-CS1ov_hH.js";
109
109
  import "./table-D01d2GuY.js";
110
110
  import "./audit-Byo5jCLN.js";
111
- import { n as statusCommand } from "./status-CfLq5R5j.js";
112
- import { r as healthCommand } from "./health-DUKLANXu.js";
111
+ import { n as statusCommand } from "./status-DOB2UmDg.js";
112
+ import { r as healthCommand } from "./health-BxPSqsO6.js";
113
113
  import "./update-check-ZdimP1aU.js";
114
114
  import "./dm-policy-shared-DJ-61hCT.js";
115
115
  import "./node-service-fcZExd22.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 { m as classifySessionKey, pr as lookupContextTokens, x as resolveSessionModelRef } from "./reply-DcyKvFor.js";
4
+ import { m as classifySessionKey, pr as lookupContextTokens, x as resolveSessionModelRef } from "./reply-dzRBlsmK.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";
@@ -114,8 +114,8 @@ import "./service-Cl74hx8J.js";
114
114
  import "./diagnostics-BAMlsVVX.js";
115
115
  import "./table-BTgkRafz.js";
116
116
  import "./audit-CrITRV6w.js";
117
- import { t as statusCommand } from "./status-BY4CnB2O.js";
118
- import { r as healthCommand } from "./health-BPOuBmYt.js";
117
+ import { t as statusCommand } from "./status-BxfE61b4.js";
118
+ import { r as healthCommand } from "./health-CJ7Y6Rln.js";
119
119
  import "./update-check-CtckACbb.js";
120
120
  import "./dm-policy-shared-Bh3TbexU.js";
121
121
  import "./node-service-Cxz4e-Qd.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-D3kGHw5M.js")).registerGatewayCli(program);
52
+ (await import("./gateway-cli-DGKFkUrv.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-BmBmBUgl.js")).registerModelsCli(program);
84
+ (await import("./models-cli-ydxkD2B-.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-BpfIySkB.js")).registerHooksCli(program);
164
+ (await import("./hooks-cli-elIqdnzb.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-DNGrFH7L.js");
188
+ const { registerPluginCliCommands } = await import("./cli-D4MEJZ7W.js");
189
189
  registerPluginCliCommands(program, await loadConfig());
190
190
  (await import("./pairing-cli-CQRAnpvm.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-jv-Bqq1t.js")).registerPluginsCli(program);
199
- const { registerPluginCliCommands } = await import("./cli-DNGrFH7L.js");
198
+ (await import("./plugins-cli-D_r2gFIY.js")).registerPluginsCli(program);
199
+ const { registerPluginCliCommands } = await import("./cli-D4MEJZ7W.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-R2PHQWVd.js")).registerChannelsCli(program);
208
+ (await import("./channels-cli-CNS4BcpR.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-Bgrhor0g.js")).registerUpdateCli(program);
240
+ (await import("./update-cli-CNlljdlx.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-Dfw9JhkN.js").then((n) => n.n)).registerCompletionCli(program);
248
+ (await import("./completion-cli-DDCDJyTb.js").then((n) => n.n)).registerCompletionCli(program);
249
249
  }
250
250
  }
251
251
  ];
@@ -23212,13 +23212,19 @@ function normalizeEvent(event, normalizer) {
23212
23212
  const tc = event.toolCall;
23213
23213
  if (tc.arguments && typeof tc.arguments === "object") {
23214
23214
  const cleanedArgs = normalizer.normalizeToolArgs(tc.arguments);
23215
- return { event: {
23215
+ const patchedEvent = {
23216
23216
  ...event,
23217
23217
  toolCall: {
23218
23218
  ...tc,
23219
23219
  arguments: cleanedArgs
23220
23220
  }
23221
- } };
23221
+ };
23222
+ const partial = patchedEvent.partial;
23223
+ if (partial && typeof partial === "object" && Array.isArray(partial.content)) {
23224
+ const content = partial.content;
23225
+ for (const block of content) if (block.type === "toolCall" && block.id === tc.id) block.arguments = cleanedArgs;
23226
+ }
23227
+ return { event: patchedEvent };
23222
23228
  }
23223
23229
  return { event };
23224
23230
  }
@@ -25474,25 +25480,10 @@ function validateShellCommand(command) {
25474
25480
  //#region src/agents/pi-tools.validate-wrapper.ts
25475
25481
  const log$3 = createSubsystemLogger("agents/tool-validate");
25476
25482
  const EXEC_TOOL_NAMES = new Set(["exec", "bash"]);
25477
- const FILE_TOOL_NAMES = new Set([
25478
- "write",
25479
- "read",
25480
- "edit",
25481
- "patch",
25482
- "file_write",
25483
- "file_edit",
25484
- "write_file",
25485
- "edit_file",
25486
- "create_file"
25487
- ]);
25488
- const FILE_PATH_KEYS = [
25489
- "file_path",
25490
- "path",
25491
- "filePath"
25492
- ];
25483
+ const GEMMA_MODEL_ID = "gemma";
25493
25484
  /**
25494
- * Wrap tools with argument validation. Exec/bash commands and file paths
25495
- * are validated. Other tools pass through unchanged.
25485
+ * Wrap ALL tools with universal string argument sanitization.
25486
+ * Exec/bash tools get additional structural command validation.
25496
25487
  *
25497
25488
  * Call this AFTER tools are created and the model profile is resolved.
25498
25489
  */
@@ -25502,44 +25493,64 @@ function wrapToolsWithArgValidation(tools, profile) {
25502
25493
  return tools;
25503
25494
  }
25504
25495
  const wrapped = tools.map((tool) => wrapToolWithArgValidation(tool));
25505
- const wrappedNames = wrapped.filter((t, i) => t !== tools[i]).map((t) => t.name);
25506
- log$3.debug(`[validate] applied to ${wrappedNames.length} tools: ${wrappedNames.join(",") || "(none matched)"}`);
25496
+ log$3.debug(`[validate] universal sanitizer applied to ${wrapped.length} tools`);
25507
25497
  return wrapped;
25508
25498
  }
25509
25499
  /**
25510
- * Clean a file path by stripping control token fragments.
25511
- * Returns null if the path is irreparably corrupted (empty after cleanup).
25500
+ * Sanitize a single string value: strip control tokens + residual fragments.
25501
+ * Returns the cleaned string, or the original if no changes needed.
25512
25502
  */
25513
- function cleanFilePath(filePath) {
25514
- let cleaned = filePath.replace(/<\|[^|>]*(?:\|>)?/g, "");
25515
- cleaned = cleanResidualTokenFragments(cleaned);
25516
- cleaned = cleaned.trim();
25517
- if (!cleaned || !/[a-zA-Z0-9/._~-]/.test(cleaned)) return {
25518
- valid: false,
25519
- cleaned
25520
- };
25503
+ function sanitizeString(value) {
25504
+ return cleanResidualTokenFragments(stripModelTokensAggressive(value, GEMMA_MODEL_ID));
25505
+ }
25506
+ /**
25507
+ * Check if a string contains control token patterns that need sanitization.
25508
+ * Fast check to avoid unnecessary work on clean strings.
25509
+ */
25510
+ function needsSanitization(value) {
25511
+ return value.includes("<|") || value.includes("|>") || /^[<"|]/.test(value);
25512
+ }
25513
+ /**
25514
+ * Recursively sanitize all string values in a params object.
25515
+ * Returns a new object if any values were changed, or the original if clean.
25516
+ */
25517
+ function sanitizeParams(params) {
25518
+ let changed = false;
25519
+ const cleaned = {};
25520
+ for (const [key, value] of Object.entries(params)) {
25521
+ if (typeof value === "string" && needsSanitization(value)) {
25522
+ const sanitized = sanitizeString(value);
25523
+ if (sanitized !== value) {
25524
+ cleaned[key] = sanitized;
25525
+ changed = true;
25526
+ continue;
25527
+ }
25528
+ }
25529
+ cleaned[key] = value;
25530
+ }
25521
25531
  return {
25522
- valid: true,
25523
- cleaned
25532
+ cleaned,
25533
+ changed
25524
25534
  };
25525
25535
  }
25526
25536
  /**
25527
- * Wrap a single tool with argument validation.
25537
+ * Wrap a single tool with universal argument sanitization.
25528
25538
  */
25529
25539
  function wrapToolWithArgValidation(tool) {
25530
25540
  const toolName = (tool.name ?? "").toLowerCase().trim();
25531
25541
  const isExecTool = EXEC_TOOL_NAMES.has(toolName);
25532
- const isFileTool = FILE_TOOL_NAMES.has(toolName);
25533
- if (!isExecTool && !isFileTool) return tool;
25534
25542
  const originalExecute = tool.execute;
25535
25543
  return {
25536
25544
  ...tool,
25537
25545
  execute(toolCallId, params, ...rest) {
25546
+ const { cleaned, changed } = sanitizeParams(params);
25547
+ if (changed) log$3.debug(`[validate] sanitized args for ${toolName}: ${Object.keys(params).filter((k) => cleaned[k] !== params[k]).join(",")}`);
25548
+ const effectiveParams = changed ? cleaned : params;
25538
25549
  if (isExecTool) {
25539
- const command = params.command ?? params.cmd;
25550
+ const command = effectiveParams.command ?? effectiveParams.cmd;
25540
25551
  if (typeof command !== "string") {
25541
- log$3.debug(`[validate] exec called without string command: keys=${Object.keys(params).join(",")}`);
25542
- return originalExecute.call(tool, toolCallId, params, ...rest);
25552
+ log$3.debug(`[validate] exec called without string command: keys=${Object.keys(effectiveParams).join(",")}`);
25553
+ return originalExecute.call(tool, toolCallId, effectiveParams, ...rest);
25543
25554
  }
25544
25555
  const result = validateShellCommand(command);
25545
25556
  if (!result.valid) {
@@ -25549,22 +25560,12 @@ function wrapToolWithArgValidation(tool) {
25549
25560
  if (result.cleaned !== command) {
25550
25561
  log$3.debug(`[validate] exec command cleaned: raw=${command.slice(0, 80)} → cleaned=${result.cleaned.slice(0, 80)}`);
25551
25562
  return originalExecute.call(tool, toolCallId, {
25552
- ...params,
25563
+ ...effectiveParams,
25553
25564
  command: result.cleaned
25554
25565
  }, ...rest);
25555
25566
  }
25556
- return originalExecute.call(tool, toolCallId, params, ...rest);
25557
25567
  }
25558
- const pathKey = FILE_PATH_KEYS.find((k) => typeof params[k] === "string");
25559
- if (!pathKey) return originalExecute.call(tool, toolCallId, params, ...rest);
25560
- const rawPath = params[pathKey];
25561
- if (!rawPath.includes("<|") && !rawPath.includes("|>") && !/^[<"|]/.test(rawPath)) return originalExecute.call(tool, toolCallId, params, ...rest);
25562
- const pathResult = cleanFilePath(rawPath);
25563
- 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.` });
25564
- return originalExecute.call(tool, toolCallId, {
25565
- ...params,
25566
- [pathKey]: pathResult.cleaned
25567
- }, ...rest);
25568
+ return originalExecute.call(tool, toolCallId, effectiveParams, ...rest);
25568
25569
  }
25569
25570
  };
25570
25571
  }
@@ -31400,7 +31401,7 @@ async function runAgentTurn(params) {
31400
31401
  function createDefaultDeps() {
31401
31402
  return {
31402
31403
  sendMessageWhatsApp: async (...args) => {
31403
- const { sendMessageWhatsApp } = await import("./web-DqjNQqGK.js");
31404
+ const { sendMessageWhatsApp } = await import("./web-qJRZWEaD.js");
31404
31405
  return await sendMessageWhatsApp(...args);
31405
31406
  },
31406
31407
  sendMessageTelegram: async (...args) => {
@@ -49831,7 +49832,7 @@ function loadWebLoginQr() {
49831
49832
  return webLoginQrPromise;
49832
49833
  }
49833
49834
  function loadWebChannel() {
49834
- webChannelPromise ??= import("./web-DqjNQqGK.js");
49835
+ webChannelPromise ??= import("./web-qJRZWEaD.js");
49835
49836
  return webChannelPromise;
49836
49837
  }
49837
49838
  function loadWhatsAppActions() {