@symerian/symi 2.6.16 → 2.6.18

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 (116) hide show
  1. package/dist/{agents-DbDrceM_.js → agents-BEWe0DLk.js} +4 -4
  2. package/dist/{agents.config-AMrJVinF.js → agents.config-C76tSodQ.js} +1 -1
  3. package/dist/{agents.config-phBy3nbc.js → agents.config-DxYp0zoG.js} +1 -1
  4. package/dist/{audio-preflight-DHTaS5U1.js → audio-preflight-BVaaZWkg.js} +4 -4
  5. package/dist/{audio-preflight-C40mKAp7.js → audio-preflight-CPBOQV4I.js} +4 -4
  6. package/dist/{auth-choice-CmbfbR4q.js → auth-choice-DrYJKB8t.js} +1 -1
  7. package/dist/{auth-choice-DsGuT4Dk.js → auth-choice-EwOsmB_b.js} +1 -1
  8. package/dist/{banner-Ds_jDSsM.js → banner-CJyz7ro7.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-Del6IGRs.js → channel-options-D0NlH6Qb.js} +1 -1
  14. package/dist/{channel-options-BV6WyWWq.js → channel-options-tWyK68mk.js} +1 -1
  15. package/dist/{channel-web-Cuukem2c.js → channel-web-PvWA2ukO.js} +1 -1
  16. package/dist/{channels-cli-C3LiJhRT.js → channels-cli-B50IZ27a.js} +4 -4
  17. package/dist/{channels-cli-D-E-oHnC.js → channels-cli-BAXmmIxX.js} +4 -4
  18. package/dist/{chrome-DYZwl5Gv.js → chrome-D2SKJnR7.js} +5 -5
  19. package/dist/{chrome-CDJYxX5a.js → chrome-DkaXoP36.js} +5 -5
  20. package/dist/{cli-BavIfExj.js → cli-BW4igUHG.js} +1 -1
  21. package/dist/{cli-C53UJpN3.js → cli-CPKEDe6C.js} +1 -1
  22. package/dist/{command-registry-Dtn5iLgE.js → command-registry-DV-FTDz1.js} +9 -9
  23. package/dist/{completion-cli-DhhIPri-.js → completion-cli-BqzmOZg7.js} +1 -1
  24. package/dist/{completion-cli-DEFzGiNX.js → completion-cli-Cbr2b-rs.js} +2 -2
  25. package/dist/{config-cli-DW40utS2.js → config-cli-D5QqQi4y.js} +1 -1
  26. package/dist/{config-cli-CIhqgzOH.js → config-cli-DBjlHFwQ.js} +1 -1
  27. package/dist/{configure-SVzErXwX.js → configure-B4VAN-WJ.js} +3 -3
  28. package/dist/{configure-CkSODPmX.js → configure-DbTH7t_m.js} +3 -3
  29. package/dist/{deliver-BH0l3UKW.js → deliver-C-37cZUe.js} +1 -1
  30. package/dist/{deliver-dODxSv3b.js → deliver-C46-vyqg.js} +1 -1
  31. package/dist/{doctor-completion-BBki2Ufk.js → doctor-completion-Do0e0eZE.js} +1 -1
  32. package/dist/{doctor-completion-B-w1_lQk.js → doctor-completion-v8uq--hy.js} +1 -1
  33. package/dist/entry.js +1 -1
  34. package/dist/extensionAPI.js +6 -6
  35. package/dist/{gateway-cli-BVbhSSqh.js → gateway-cli-BAiFaCGg.js} +9 -9
  36. package/dist/{gateway-cli-BNYHujRR.js → gateway-cli-BkOe3JQ_.js} +9 -9
  37. package/dist/{glass-ui-ws-DfJEU59m.js → glass-ui-ws-B8V4Slwd.js} +7 -7
  38. package/dist/{glass-ui-ws-B-MkTkAC.js → glass-ui-ws-DFAQWoiK.js} +7 -7
  39. package/dist/{health-BU6f7W6a.js → health-8bTzq722.js} +1 -1
  40. package/dist/{health-wZyomt2k.js → health-B3pwVJ_N.js} +1 -1
  41. package/dist/{hooks-cli-DX4nLKqn.js → hooks-cli-D1Yhb7y5.js} +2 -2
  42. package/dist/{hooks-cli-CdoOvoX9.js → hooks-cli-Vqz0A84F.js} +2 -2
  43. package/dist/{image-CXu8W39c.js → image-CuzFLQWC.js} +1 -1
  44. package/dist/{image-CHzdaNJ4.js → image-DcpMiprB.js} +1 -1
  45. package/dist/index.js +6 -6
  46. package/dist/llm-slug-generator.js +6 -6
  47. package/dist/{models-mS0NbL8c.js → models-BQOnDzS9.js} +2 -2
  48. package/dist/{models-cli-Bc2k_maK.js → models-cli-BrDyN5KN.js} +3 -3
  49. package/dist/{models-cli-BeOo0gLs.js → models-cli-EP_U-tWq.js} +2 -2
  50. package/dist/{onboard-B6VpNEvT.js → onboard-BZNptre7.js} +2 -2
  51. package/dist/{onboard-Cl0aQccB.js → onboard-DM0BChC6.js} +2 -2
  52. package/dist/{onboard-channels-BnvM0w8_.js → onboard-channels-4jeB30Ty.js} +1 -1
  53. package/dist/{onboard-channels-BlmSvsPS.js → onboard-channels-C6dLmiYY.js} +1 -1
  54. package/dist/{onboarding-DwHp3u6V.js → onboarding-CDdiYaCC.js} +3 -3
  55. package/dist/{onboarding-BxBRG2z_.js → onboarding-DQJQ-k9A.js} +3 -3
  56. package/dist/{onboarding.finalize-BrbMUUi5.js → onboarding.finalize-B82xL12C.js} +6 -6
  57. package/dist/{onboarding.finalize-J7oUfYcz.js → onboarding.finalize-Bmd5TpyH.js} +5 -5
  58. package/dist/{pi-embedded-gKNapGKh.js → pi-embedded-Dtmwbds4.js} +72 -21
  59. package/dist/{pi-embedded-helpers-lgx_U5KS.js → pi-embedded-helpers-B8kqLWns.js} +4 -4
  60. package/dist/{pi-embedded-helpers-pubKo8HQ.js → pi-embedded-helpers-CfqDGQ9J.js} +4 -4
  61. package/dist/{plugin-registry-CMCHyYWB.js → plugin-registry-D7ylmzDw.js} +1 -1
  62. package/dist/{plugin-registry-thPK5K1z.js → plugin-registry-DG_WWCr9.js} +1 -1
  63. package/dist/plugin-sdk/{channel-web-Byw20uRC.js → channel-web-_efq-pM9.js} +1 -1
  64. package/dist/plugin-sdk/index.js +2 -2
  65. package/dist/plugin-sdk/{reply-DU2A_Mmx.js → reply-D2W7XCcz.js} +58 -7
  66. package/dist/plugin-sdk/{web-k5JssYD-.js → web-CmT3D7vj.js} +2 -2
  67. package/dist/{plugins-cli-B87kp0ad.js → plugins-cli-BUFrZlyR.js} +2 -2
  68. package/dist/{plugins-cli-DamE7XjD.js → plugins-cli-CMCwFRL9.js} +2 -2
  69. package/dist/{program-gbhreuEV.js → program-BdVazL5L.js} +7 -7
  70. package/dist/{program-context-DFKRAsbt.js → program-context-DZNOBe-u.js} +17 -17
  71. package/dist/{prompt-select-styled-B5bx2NEB.js → prompt-select-styled-XyOMjPBV.js} +4 -4
  72. package/dist/{prompt-select-styled-BICt4IW2.js → prompt-select-styled-uLoOKbdZ.js} +4 -4
  73. package/dist/{provider-auth-helpers-DmEnyFX5.js → provider-auth-helpers-CWf7gdZW.js} +1 -1
  74. package/dist/{provider-auth-helpers-BEu0e6yr.js → provider-auth-helpers-D01YbcHZ.js} +1 -1
  75. package/dist/{push-apns-tMnMeZX7.js → push-apns-B-zVLcnN.js} +1 -1
  76. package/dist/{push-apns-DVz2SkR5.js → push-apns-B2bxLda8.js} +1 -1
  77. package/dist/{pw-ai-De-KR9_s.js → pw-ai-1htA-NnS.js} +1 -1
  78. package/dist/{pw-ai-B5asscAD.js → pw-ai-m0mj2KWK.js} +1 -1
  79. package/dist/{register.agent-KI2e7rY8.js → register.agent-BF6_rPdM.js} +5 -5
  80. package/dist/{register.agent-BOvqehoy.js → register.agent-BYZEiWk1.js} +6 -6
  81. package/dist/{register.configure-D8DGPMv0.js → register.configure-4lt1A0NF.js} +6 -6
  82. package/dist/{register.configure-BpxsezsB.js → register.configure-B0g-yfDR.js} +6 -6
  83. package/dist/{register.maintenance-WRAU5DSR.js → register.maintenance-DXZyjFYw.js} +8 -8
  84. package/dist/{register.maintenance-BcIwMibz.js → register.maintenance-WBpgdygw.js} +7 -7
  85. package/dist/{register.message-CX_Dmuke.js → register.message-BHRBK4eH.js} +2 -2
  86. package/dist/{register.message-C0eMmAGL.js → register.message-CuoXu-_e.js} +2 -2
  87. package/dist/{register.onboard-ByB6oGQ-.js → register.onboard-D-P9Wc41.js} +4 -4
  88. package/dist/{register.onboard-BE87LPDH.js → register.onboard-D5-L8JYT.js} +4 -4
  89. package/dist/{register.setup-DSY9eAV8.js → register.setup-BzmkdzSO.js} +4 -4
  90. package/dist/{register.setup-D8DgDNnC.js → register.setup-D7NNQwXc.js} +4 -4
  91. package/dist/{register.status-health-sessions-TMJPmooX.js → register.status-health-sessions-BIwZhPIZ.js} +3 -3
  92. package/dist/{register.status-health-sessions-CW4DkAa1.js → register.status-health-sessions-DiCr003h.js} +3 -3
  93. package/dist/{register.subclis-BS-WgVMV.js → register.subclis-BxbyrMu1.js} +9 -9
  94. package/dist/{reply-B2Xur-75.js → reply-BgOOEOPX.js} +58 -7
  95. package/dist/{run-main-jFBqLwBJ.js → run-main-BW5eFi2Y.js} +14 -14
  96. package/dist/{runner-DUBExAb5.js → runner-BcQ0sF9T.js} +1 -1
  97. package/dist/{runner-WAG0M5s9.js → runner-CU9l0uJh.js} +1 -1
  98. package/dist/{server-methods-zgqyrRAq.js → server-methods-D-Gd1kMo.js} +7 -7
  99. package/dist/{server-methods-BqQeaixw.js → server-methods-Dp8iuEko.js} +7 -7
  100. package/dist/{server-node-events-8pINzbzg.js → server-node-events-B2_RCsYi.js} +2 -2
  101. package/dist/{server-node-events-Doln-zR2.js → server-node-events-CnjqDQbZ.js} +2 -2
  102. package/dist/{status-Bdqk3JgK.js → status-4PSvL6ui.js} +2 -2
  103. package/dist/{status-Bwvq4SPL.js → status-CGhoES6L.js} +1 -1
  104. package/dist/{status-BDABGQ7Y.js → status-CrVk9Tz5.js} +1 -1
  105. package/dist/{status-DFml_pIs.js → status-kFfqsras.js} +2 -2
  106. package/dist/{subagent-registry-CUXuFP-8.js → subagent-registry-M6DQwhYN.js} +58 -7
  107. package/dist/{unified-runner-CZhWh22N.js → unified-runner-DckayuEM.js} +72 -21
  108. package/dist/{update-cli-Pwrk83u-.js → update-cli-DCYkskZu.js} +8 -8
  109. package/dist/{update-cli-C6thJhZU.js → update-cli-x5YGUm9F.js} +7 -7
  110. package/dist/{update-runner-DgqFpUFr.js → update-runner-BIp88-4P.js} +1 -1
  111. package/dist/{update-runner-Bssy0nSl.js → update-runner-Dmki2xrH.js} +1 -1
  112. package/dist/{web-D1KyfkIV.js → web-1JPHv6du.js} +6 -6
  113. package/dist/{web-DHA8-PYV.js → web-C40boK8U.js} +6 -6
  114. package/dist/{web-BiK5cfMV.js → web-DWSTD7Gy.js} +1 -1
  115. package/dist/{web-BFY2FcFr.js → web-rShvuTx4.js} +2 -2
  116. package/package.json +1 -1
@@ -13,7 +13,7 @@ import "./client-DMBZpU6X.js";
13
13
  import "./call-BcE47FtD.js";
14
14
  import "./message-channel-C9dERklz.js";
15
15
  import "./pairing-token-Byh6drgn.js";
16
- import "./subagent-registry-CUXuFP-8.js";
16
+ import "./subagent-registry-M6DQwhYN.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-BU6f7W6a.js";
107
- import "./onboarding-DwHp3u6V.js";
106
+ import "./health-8bTzq722.js";
107
+ import "./onboarding-CDdiYaCC.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-B6VpNEvT.js";
116
+ import { n as ONBOARD_PROVIDER_AUTH_FLAGS, t as onboardCommand } from "./onboard-BZNptre7.js";
117
117
 
118
118
  //#region src/cli/program/register.onboard.ts
119
119
  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-CUXuFP-8.js";
16
+ import "./subagent-registry-M6DQwhYN.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-BU6f7W6a.js";
108
- import "./onboarding-DwHp3u6V.js";
107
+ import "./health-8bTzq722.js";
108
+ import "./onboarding-CDdiYaCC.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-B6VpNEvT.js";
116
+ import { t as onboardCommand } from "./onboard-BZNptre7.js";
117
117
  import JSON5 from "json5";
118
118
  import fs from "node:fs/promises";
119
119
 
@@ -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-B2Xur-75.js";
4
+ import "./reply-BgOOEOPX.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-wZyomt2k.js";
112
- import "./onboarding-BxBRG2z_.js";
111
+ import "./health-B3pwVJ_N.js";
112
+ import "./onboarding-DQJQ-k9A.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-Cl0aQccB.js";
120
+ import { t as onboardCommand } from "./onboard-DM0BChC6.js";
121
121
  import JSON5 from "json5";
122
122
  import fs from "node:fs/promises";
123
123
 
@@ -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-CUXuFP-8.js";
17
+ import "./subagent-registry-M6DQwhYN.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-DFml_pIs.js";
112
- import { r as healthCommand } from "./health-BU6f7W6a.js";
111
+ import { n as statusCommand } from "./status-kFfqsras.js";
112
+ import { r as healthCommand } from "./health-8bTzq722.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-B2Xur-75.js";
4
+ import { m as classifySessionKey, pr as lookupContextTokens, x as resolveSessionModelRef } from "./reply-BgOOEOPX.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-Bdqk3JgK.js";
118
- import { r as healthCommand } from "./health-wZyomt2k.js";
117
+ import { t as statusCommand } from "./status-4PSvL6ui.js";
118
+ import { r as healthCommand } from "./health-B3pwVJ_N.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-BVbhSSqh.js")).registerGatewayCli(program);
52
+ (await import("./gateway-cli-BAiFaCGg.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-Bc2k_maK.js")).registerModelsCli(program);
84
+ (await import("./models-cli-BrDyN5KN.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-CdoOvoX9.js")).registerHooksCli(program);
164
+ (await import("./hooks-cli-Vqz0A84F.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-BavIfExj.js");
188
+ const { registerPluginCliCommands } = await import("./cli-BW4igUHG.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-B87kp0ad.js")).registerPluginsCli(program);
199
- const { registerPluginCliCommands } = await import("./cli-BavIfExj.js");
198
+ (await import("./plugins-cli-BUFrZlyR.js")).registerPluginsCli(program);
199
+ const { registerPluginCliCommands } = await import("./cli-BW4igUHG.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-C3LiJhRT.js")).registerChannelsCli(program);
208
+ (await import("./channels-cli-B50IZ27a.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-Pwrk83u-.js")).registerUpdateCli(program);
240
+ (await import("./update-cli-DCYkskZu.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-DEFzGiNX.js").then((n) => n.n)).registerCompletionCli(program);
248
+ (await import("./completion-cli-Cbr2b-rs.js").then((n) => n.n)).registerCompletionCli(program);
249
249
  }
250
250
  }
251
251
  ];
@@ -3,7 +3,7 @@ import { g as resolveStateDir, r as STATE_DIR, u as resolveGatewayPort, y as res
3
3
  import { B as theme, C as sleep$1, D as isPlainObject, E as truncateUtf16Safe, F as shouldLogVerbose, J as normalizeLogLevel, L as warn, M as logVerbose, O as danger, S as shortenHomePath, V as getChildLogger, X as resolvePreferredSymiTmpDir, d as isRecord$1, i as clampInt, l as escapeRegExp, m as normalizeE164, t as CONFIG_DIR, w as sliceUtf16Safe, x as shortenHomeInString, y as resolveUserPath } from "./utils-B-0b9bGM.js";
4
4
  import { a as normalizeElevatedLevel, c as normalizeUsageDisplay, d as supportsXHighThinking, l as normalizeVerboseLevel, n as formatXHighModelHint, o as normalizeReasoningLevel, s as normalizeThinkLevel, t as formatThinkingLevels, u as resolveResponseUsageMode } from "./thinking-EAliFiVK.js";
5
5
  import { C as resolveThreadParentSessionKey, S as parseAgentSessionKey, _ as getSubagentDepth, b as isCronSessionKey, c as normalizeMainKey, d as sanitizeAgentId, h as normalizeAccountId$2, l as resolveAgentIdFromSessionKey, m as DEFAULT_ACCOUNT_ID, o as classifySessionKeyShape, r as buildAgentMainSessionKey, s as normalizeAgentId, t as DEFAULT_AGENT_ID, u as resolveThreadSessionKeys, v as isAcpSessionKey, x as isSubagentSessionKey, y as isCronRunSessionKey } from "./session-key-DCt45XZa.js";
6
- import { t as resolveSymiPackageRoot } from "./symi-root-CrGJbkzf.js";
6
+ import { n as resolveSymiPackageRootSync, t as resolveSymiPackageRoot } from "./symi-root-CrGJbkzf.js";
7
7
  import { C as createInternalHookEvent, T as triggerInternalHook, _ as clearPluginCommands, b as listPluginCommands, c as normalizeAnyChannelId, f as requireActivePluginRegistry, g as normalizePluginHttpPath, h as createPluginRegistry, l as normalizeChannelId, n as CHAT_CHANNEL_ORDER, p as setActivePluginRegistry, r as DEFAULT_CHAT_CHANNEL, v as executePluginCommand, x as matchPluginCommand, y as getPluginCommandSpecs } from "./registry-Cja8eT7G.js";
8
8
  import { d as createNonExitingRuntime, f as defaultRuntime, t as createSubsystemLogger } from "./subsystem-D9vIQve0.js";
9
9
  import { a as logError, i as logDebug, n as runExec, o as logInfo, r as spawnWithFallback, s as logWarn, t as runCommandWithTimeout } from "./exec-CWkblSrI.js";
@@ -22372,6 +22372,30 @@ async function runWithImageModelFallback(params) {
22372
22372
  //#endregion
22373
22373
  //#region src/config/model-profiles-builtin.ts
22374
22374
  /**
22375
+ * Starter pack — always-on context for models with tool arg corruption.
22376
+ * ~500 tokens. Prevents the most common failure patterns.
22377
+ * For detailed file modification guides, the self-inspect skill cascades from here.
22378
+ */
22379
+ const STARTER_PACK = [
22380
+ "",
22381
+ "YOUR FILES (use read tool directly on these paths — NEVER use exec to find or read files):",
22382
+ "- Glass UI CSS: <SYMI_ROOT>/dist/control-ui/css/style.css",
22383
+ "- Glass UI HTML: <SYMI_ROOT>/dist/control-ui/index.html",
22384
+ "- Glass UI JS: <SYMI_ROOT>/dist/control-ui/js/app.js, gateway.js, render.js, models.js, history.js, symipulse.js, debug.js",
22385
+ "- Package: <SYMI_ROOT>/package.json",
22386
+ "- Config: ~/.symi/symi.json | Sessions: ~/.symi/agents/main/sessions/ | Memory: ~/.symi/state/memory/",
22387
+ "- For detailed modification guides, read the self-inspect skill.",
22388
+ "",
22389
+ "TOOL RULES (mandatory):",
22390
+ "- read/write/edit: Always provide the full absolute path directly. NEVER use exec with cat, head, find, grep, or ls to view files.",
22391
+ "- exec/bash: Provide only valid shell syntax. No tags, no tokens, no markup. Spell commands exactly.",
22392
+ "- web_search: Always include query argument. Example: web_search({ query: \"search terms\" })",
22393
+ "- sessions_spawn: Always include task and mode. Example: sessions_spawn({ label: \"name\", mode: \"run\", task: \"description\" })",
22394
+ "",
22395
+ "KNOWN SHELL COMMANDS (use exact spelling):",
22396
+ "awk basename brew cargo cat chmod chown cp curl cut date dd df diff dig dirname docker du echo env find gcc git go grep gunzip gzip head hostname id ifconfig ip java javac journalctl kill killall launchctl less ln locate ls make man mkdir mktemp more mount mv nc netstat nice node nohup npm npx open paste pbcopy pbpaste ping pip pip3 plutil printf ps pwd python python3 readlink realpath rm rmdir rsync ruby scp sed sleep sort ssh stat strings sudo su sw_vers sysctl system_profiler systemctl tail tar tee test top touch tr type uname uniq unzip wc wget which xargs xz yes zip"
22397
+ ];
22398
+ /**
22375
22399
  * Built-in model profiles. Ordered from most-specific to least-specific so
22376
22400
  * that `resolveModelProfile` can return the first match.
22377
22401
  *
@@ -22414,7 +22438,8 @@ const BUILTIN_PROFILES = [
22414
22438
  "- Do not write 'Verification:', 'Requirements:', 'Status Check:', or 'Everything is correct'.",
22415
22439
  "- If you need to verify your work, do so before writing your response, not after.",
22416
22440
  "- Send brief progress updates on long tasks so the user knows you are active.",
22417
- "- When calling tools, provide arguments as clean values only. Never include <|, |>, or XML-like tags in tool argument values. For exec/bash commands, provide only valid shell syntax."
22441
+ "- When calling tools, provide arguments as clean values only. Never include <|, |>, or XML-like tags in tool argument values. For exec/bash commands, provide only valid shell syntax.",
22442
+ ...STARTER_PACK
22418
22443
  ],
22419
22444
  ui: {
22420
22445
  badge: "Local",
@@ -22486,7 +22511,8 @@ const BUILTIN_PROFILES = [
22486
22511
  "- If you need to verify your work, do so before writing your response, not after.",
22487
22512
  "- Keep planning and reasoning internal. Only speak when you have a result or need user input.",
22488
22513
  "- When working on multi-step tasks, send a brief one-line status update so the user knows you are active.",
22489
- "- When calling tools, provide arguments as clean values only. Never include <|, |>, or XML-like tags in tool argument values. For exec/bash commands, provide only valid shell syntax."
22514
+ "- When calling tools, provide arguments as clean values only. Never include <|, |>, or XML-like tags in tool argument values. For exec/bash commands, provide only valid shell syntax.",
22515
+ ...STARTER_PACK
22490
22516
  ],
22491
22517
  ui: {
22492
22518
  badge: "CoreWeave",
@@ -29818,7 +29844,18 @@ async function runEmbeddedAttempt(params) {
29818
29844
  const profileModelKey = params.modelId ?? "";
29819
29845
  const modelProfile = resolveModelProfile(profileModelKey, params.config?.models?.profiles);
29820
29846
  log$7.debug(`[profile] resolved: modelId=${profileModelKey} → profile=${modelProfile.label} validateToolArgs=${modelProfile.filters?.validateToolArgs ?? false}`);
29821
- const systemPromptText = createSystemPromptOverride(appendPrompt + (modelProfile.promptAdditions.length > 0 ? "\n\n" + modelProfile.promptAdditions.join("\n") : ""))();
29847
+ const systemPromptText = createSystemPromptOverride(appendPrompt + (() => {
29848
+ if (modelProfile.promptAdditions.length === 0) return "";
29849
+ let text = "\n\n" + modelProfile.promptAdditions.join("\n");
29850
+ if (text.includes("<SYMI_ROOT>")) {
29851
+ const symiRoot = resolveSymiPackageRootSync({
29852
+ moduleUrl: import.meta.url,
29853
+ argv1: process.argv[1]
29854
+ });
29855
+ if (symiRoot) text = text.replaceAll("<SYMI_ROOT>", symiRoot);
29856
+ }
29857
+ return text;
29858
+ })())();
29822
29859
  const sessionLock = await acquireSessionWriteLock({
29823
29860
  sessionFile: params.sessionFile,
29824
29861
  maxHoldMs: resolveSessionLockMaxHoldFromTimeout({ timeoutMs: params.timeoutMs })
@@ -30092,6 +30129,18 @@ async function runEmbeddedAttempt(params) {
30092
30129
  const TOOL_ERROR_ABORT_THRESHOLD = 5;
30093
30130
  const TOOL_ERROR_WARN_THRESHOLD = 3;
30094
30131
  let consecutiveToolErrors = 0;
30132
+ /** Detect exec/bash results that indicate a shell error (non-zero exit, command not found, etc.) */
30133
+ const isShellErrorResult = (result) => {
30134
+ if (!result || typeof result !== "object") return false;
30135
+ const content = result.content;
30136
+ if (!Array.isArray(content)) return false;
30137
+ const text = content.filter((b) => b && typeof b === "object" && b.type === "text").map((b) => {
30138
+ const t = b.text;
30139
+ return typeof t === "string" ? t : "";
30140
+ }).join("\n");
30141
+ if (!text) return false;
30142
+ return /exit code [1-9]\d*|command not found|No such file or directory|syntax error|parse error|Permission denied|not recognized|cannot execute/i.test(text);
30143
+ };
30095
30144
  const subscription = subscribeEmbeddedPiSession({
30096
30145
  session: activeSession,
30097
30146
  runId: params.runId,
@@ -30117,7 +30166,9 @@ async function runEmbeddedAttempt(params) {
30117
30166
  const phase = typeof evt.data?.phase === "string" ? evt.data.phase : "";
30118
30167
  const isError = evt.data?.isError === true;
30119
30168
  if (phase === "result") {
30120
- if (isError) consecutiveToolErrors++;
30169
+ const toolName = typeof evt.data?.name === "string" ? evt.data.name : "";
30170
+ const isExecShellError = !isError && (toolName === "exec" || toolName === "bash") && isShellErrorResult(evt.data?.result);
30171
+ if (isError || isExecShellError) consecutiveToolErrors++;
30121
30172
  else consecutiveToolErrors = 0;
30122
30173
  if (consecutiveToolErrors >= TOOL_ERROR_ABORT_THRESHOLD) {
30123
30174
  const toolName = typeof evt.data?.name === "string" ? evt.data.name : "unknown";
@@ -31624,7 +31675,7 @@ async function runAgentTurn(params) {
31624
31675
  function createDefaultDeps() {
31625
31676
  return {
31626
31677
  sendMessageWhatsApp: async (...args) => {
31627
- const { sendMessageWhatsApp } = await import("./web-BFY2FcFr.js");
31678
+ const { sendMessageWhatsApp } = await import("./web-rShvuTx4.js");
31628
31679
  return await sendMessageWhatsApp(...args);
31629
31680
  },
31630
31681
  sendMessageTelegram: async (...args) => {
@@ -50055,7 +50106,7 @@ function loadWebLoginQr() {
50055
50106
  return webLoginQrPromise;
50056
50107
  }
50057
50108
  function loadWebChannel() {
50058
- webChannelPromise ??= import("./web-BFY2FcFr.js");
50109
+ webChannelPromise ??= import("./web-rShvuTx4.js");
50059
50110
  return webChannelPromise;
50060
50111
  }
50061
50112
  function loadWhatsAppActions() {
@@ -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-CUXuFP-8.js";
16
+ import "./subagent-registry-M6DQwhYN.js";
17
17
  import "./sessions-CJXnZVjR.js";
18
18
  import "./tokens-Csntmwwn.js";
19
19
  import "./plugins-CwSlLxM8.js";
@@ -101,9 +101,9 @@ import { t as ensureSymiCliOnPath } from "./path-env-Bic_wXs9.js";
101
101
  import "./catalog-DLQFKucJ.js";
102
102
  import "./note-DDecZomM.js";
103
103
  import "./plugin-auto-enable-D6ENR3Xg.js";
104
- import { t as ensurePluginRegistryLoaded } from "./plugin-registry-thPK5K1z.js";
104
+ import { t as ensurePluginRegistryLoaded } from "./plugin-registry-DG_WWCr9.js";
105
105
  import { t as assertSupportedRuntime } from "./runtime-guard-D7waq_Ho.js";
106
- import { t as emitCliBanner } from "./banner-Ds_jDSsM.js";
106
+ import { t as emitCliBanner } from "./banner-CJyz7ro7.js";
107
107
  import "./doctor-config-flow-CA3eiKhd.js";
108
108
  import { n as ensureConfigReady } from "./config-guard-CPHvOzsC.js";
109
109
  import process$1 from "node:process";
@@ -118,7 +118,7 @@ const routeHealth = {
118
118
  const verbose = getVerboseFlag(argv, { includeDebug: true });
119
119
  const timeoutMs = getPositiveIntFlagValue(argv, "--timeout");
120
120
  if (timeoutMs === null) return false;
121
- const { healthCommand } = await import("./health-BU6f7W6a.js").then((n) => n.i);
121
+ const { healthCommand } = await import("./health-8bTzq722.js").then((n) => n.i);
122
122
  await healthCommand({
123
123
  json,
124
124
  timeoutMs,
@@ -138,7 +138,7 @@ const routeStatus = {
138
138
  const verbose = getVerboseFlag(argv, { includeDebug: true });
139
139
  const timeoutMs = getPositiveIntFlagValue(argv, "--timeout");
140
140
  if (timeoutMs === null) return false;
141
- const { statusCommand } = await import("./status-DFml_pIs.js").then((n) => n.t);
141
+ const { statusCommand } = await import("./status-kFfqsras.js").then((n) => n.t);
142
142
  await statusCommand({
143
143
  json,
144
144
  deep,
@@ -172,7 +172,7 @@ const routeAgentsList = {
172
172
  run: async (argv) => {
173
173
  const json = hasFlag(argv, "--json");
174
174
  const bindings = hasFlag(argv, "--bindings");
175
- const { agentsListCommand } = await import("./agents-DbDrceM_.js").then((n) => n.t);
175
+ const { agentsListCommand } = await import("./agents-BEWe0DLk.js").then((n) => n.t);
176
176
  await agentsListCommand({
177
177
  json,
178
178
  bindings
@@ -243,7 +243,7 @@ const routes = [
243
243
  const pathArg = getCommandPositionals(argv)[2];
244
244
  if (!pathArg) return false;
245
245
  const json = hasFlag(argv, "--json");
246
- const { runConfigGet } = await import("./config-cli-DW40utS2.js");
246
+ const { runConfigGet } = await import("./config-cli-D5QqQi4y.js");
247
247
  await runConfigGet({
248
248
  path: pathArg,
249
249
  json
@@ -256,7 +256,7 @@ const routes = [
256
256
  run: async (argv) => {
257
257
  const pathArg = getCommandPositionals(argv)[2];
258
258
  if (!pathArg) return false;
259
- const { runConfigUnset } = await import("./config-cli-DW40utS2.js");
259
+ const { runConfigUnset } = await import("./config-cli-D5QqQi4y.js");
260
260
  await runConfigUnset({ path: pathArg });
261
261
  return true;
262
262
  }
@@ -270,7 +270,7 @@ const routes = [
270
270
  const local = hasFlag(argv, "--local");
271
271
  const json = hasFlag(argv, "--json");
272
272
  const plain = hasFlag(argv, "--plain");
273
- const { modelsListCommand } = await import("./models-mS0NbL8c.js").then((n) => n.t);
273
+ const { modelsListCommand } = await import("./models-BQOnDzS9.js").then((n) => n.t);
274
274
  await modelsListCommand({
275
275
  all,
276
276
  local,
@@ -301,7 +301,7 @@ const routes = [
301
301
  const plain = hasFlag(argv, "--plain");
302
302
  const check = hasFlag(argv, "--check");
303
303
  const probe = hasFlag(argv, "--probe");
304
- const { modelsStatusCommand } = await import("./models-mS0NbL8c.js").then((n) => n.t);
304
+ const { modelsStatusCommand } = await import("./models-BQOnDzS9.js").then((n) => n.t);
305
305
  await modelsStatusCommand({
306
306
  json,
307
307
  plain,
@@ -379,7 +379,7 @@ async function runCli(argv = process$1.argv) {
379
379
  assertSupportedRuntime();
380
380
  if (await tryRouteCli(normalizedArgv)) return;
381
381
  enableConsoleCapture();
382
- const { buildProgram } = await import("./program-gbhreuEV.js");
382
+ const { buildProgram } = await import("./program-BdVazL5L.js");
383
383
  const program = buildProgram();
384
384
  installUnhandledRejectionHandler();
385
385
  process$1.on("uncaughtException", (error) => {
@@ -411,10 +411,10 @@ async function runCli(argv = process$1.argv) {
411
411
  const { getProgramContext } = await import("./program-context-CqzR_m-7.js").then((n) => n.n);
412
412
  const ctx = getProgramContext(program);
413
413
  if (ctx) {
414
- const { registerCoreCliByName } = await import("./command-registry-Dtn5iLgE.js").then((n) => n.t);
414
+ const { registerCoreCliByName } = await import("./command-registry-DV-FTDz1.js").then((n) => n.t);
415
415
  await registerCoreCliByName(program, ctx, primary, parseArgv);
416
416
  }
417
- const { registerSubCliByName } = await import("./register.subclis-BS-WgVMV.js").then((n) => n.a);
417
+ const { registerSubCliByName } = await import("./register.subclis-BxbyrMu1.js").then((n) => n.a);
418
418
  await registerSubCliByName(program, primary);
419
419
  }
420
420
  const hasBuiltinPrimary = primary !== null && program.commands.some((command) => command.name() === primary);
@@ -423,7 +423,7 @@ async function runCli(argv = process$1.argv) {
423
423
  primary,
424
424
  hasBuiltinPrimary
425
425
  })) {
426
- const { registerPluginCliCommands } = await import("./cli-BavIfExj.js");
426
+ const { registerPluginCliCommands } = await import("./cli-BW4igUHG.js");
427
427
  const { loadConfig } = await import("./config-DHBLS1Hl.js").then((n) => n.t);
428
428
  registerPluginCliCommands(program, loadConfig());
429
429
  }
@@ -4,7 +4,7 @@ import { G as resolveSymiAgentDir, T as resolveApiKeyForProvider, c as normalize
4
4
  import { t as normalizeChatType } from "./chat-type-DFDuk3FY.js";
5
5
  import { _ as kindFromMime, d as detectMime, h as isAudioFileName, p as getFileExtension } from "./image-ops-ByaQt43P.js";
6
6
  import { d as DEFAULT_IMESSAGE_ATTACHMENT_ROOTS, f as isInboundPathAllowed, m as resolveIMessageAttachmentRoots, n as loadConfig, p as mergeInboundPathRoots } from "./config-BmV60pPT.js";
7
- import { S as ensureSymiModelsJson, t as describeImageWithModel } from "./image-CHzdaNJ4.js";
7
+ import { S as ensureSymiModelsJson, t as describeImageWithModel } from "./image-DcpMiprB.js";
8
8
  import { n as collectProviderApiKeysForExecution, r as executeWithApiKeyRotation, t as parseGeminiAuth } from "./gemini-auth-CSlZZ1Pw.js";
9
9
  import { n as fetchWithTimeout } from "./fetch-timeout-BheTNyes.js";
10
10
  import { i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, o as fetchWithSsrFGuard, r as MediaFetchError } from "./local-roots-CC8jiKDk.js";
@@ -4,7 +4,7 @@ import { $ as resolveSymiAgentDir, A as normalizeGoogleModelId, B as resolveApiK
4
4
  import { d as DEFAULT_IMESSAGE_ATTACHMENT_ROOTS, f as isInboundPathAllowed, m as resolveIMessageAttachmentRoots, n as loadConfig, p as mergeInboundPathRoots } from "./config-5SdHIcHU.js";
5
5
  import { c as detectMime, f as isAudioFileName, m as kindFromMime, u as getFileExtension } from "./image-ops-C7CauEK8.js";
6
6
  import { t as normalizeChatType } from "./chat-type-3FRbbjbq.js";
7
- import { S as ensureSymiModelsJson, t as describeImageWithModel } from "./image-CXu8W39c.js";
7
+ import { S as ensureSymiModelsJson, t as describeImageWithModel } from "./image-CuzFLQWC.js";
8
8
  import { n as collectProviderApiKeysForExecution, r as executeWithApiKeyRotation, t as parseGeminiAuth } from "./gemini-auth-Dy12ZAH3.js";
9
9
  import { n as fetchWithTimeout } from "./fetch-timeout-DL3f_O53.js";
10
10
  import { i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, o as fetchWithSsrFGuard, r as MediaFetchError } from "./local-roots-DhZz0Ybs.js";
@@ -12,7 +12,7 @@ import { f as GATEWAY_CLIENT_CAPS, g as hasGatewayClientCap, i as isGatewayMessa
12
12
  import { c as writeJsonAtomic, o as createAsyncLock, s as readJsonFile } from "./pairing-token-Byh6drgn.js";
13
13
  import { s as pickPrimaryLanIPv4 } from "./net-DZ5Ayk-W.js";
14
14
  import { i as normalizeInputProvenance } from "./input-provenance-D0lNkCf6.js";
15
- import { $n as resolveTtsAutoMode, B as dispatchInboundMessage, C as resolveAgentDeliveryPlan, Cn as enqueueSystemEvent, Cr as onAgentEvent, D as createOutboundSendDeps, Dt as normalizeCronJobPatch, Et as normalizeCronJobCreate, G as BARE_SESSION_RESET_PROMPT, Gn as stopSubagentsForRequester, Gt as persistBrowserProxyFiles, In as resolveAgentTimeoutMs, Jn as resolveUserTimezone, Qn as resolveTtsApiKey, Sn as parseVerboseOverride, V as createReplyDispatcher, Vn as formatZonedTimestamp, Wn as isAbortTrigger, Wt as applyBrowserProxyPaths, Xn as isTtsEnabled, Y as abortEmbeddedPiRun, Yn as getTtsProvider, Z as waitForEmbeddedPiRunEnd, Zn as isTtsProviderConfigured, Zt as scheduleGatewaySigusr1Restart, a as listSubagentRunsForRequester, ar as textToSpeech, bn as applyModelOverrideToSessionEntry, c as clearSessionQueues, ct as resolveOutboundSessionRoute, dt as resolveOutboundTarget, en as unbindThreadBindingsBySessionKey, er as resolveTtsConfig, hn as resolveSendPolicy, i as listDescendantRunsForRequester, ir as setTtsProvider, m as loadSymiPlugins, mn as normalizeSendPolicy, nr as resolveTtsProviderOrder, or as OPENAI_TTS_MODELS, rn as loadProviderUsageSummary, rr as setTtsEnabled, sr as OPENAI_TTS_VOICES, st as ensureOutboundSessionEntry, tn as normalizeGroupActivation, tr as resolveTtsPrefsPath, w as resolveAgentOutboundTarget, wn as isSystemEventContextChanged, wr as registerAgentRunContext, wt as writeRestartSentinel, x as agentCommand, xn as applyVerboseOverride, yt as formatDoctorNonInteractiveHint } from "./subagent-registry-CUXuFP-8.js";
15
+ import { $n as resolveTtsAutoMode, B as dispatchInboundMessage, C as resolveAgentDeliveryPlan, Cn as enqueueSystemEvent, Cr as onAgentEvent, D as createOutboundSendDeps, Dt as normalizeCronJobPatch, Et as normalizeCronJobCreate, G as BARE_SESSION_RESET_PROMPT, Gn as stopSubagentsForRequester, Gt as persistBrowserProxyFiles, In as resolveAgentTimeoutMs, Jn as resolveUserTimezone, Qn as resolveTtsApiKey, Sn as parseVerboseOverride, V as createReplyDispatcher, Vn as formatZonedTimestamp, Wn as isAbortTrigger, Wt as applyBrowserProxyPaths, Xn as isTtsEnabled, Y as abortEmbeddedPiRun, Yn as getTtsProvider, Z as waitForEmbeddedPiRunEnd, Zn as isTtsProviderConfigured, Zt as scheduleGatewaySigusr1Restart, a as listSubagentRunsForRequester, ar as textToSpeech, bn as applyModelOverrideToSessionEntry, c as clearSessionQueues, ct as resolveOutboundSessionRoute, dt as resolveOutboundTarget, en as unbindThreadBindingsBySessionKey, er as resolveTtsConfig, hn as resolveSendPolicy, i as listDescendantRunsForRequester, ir as setTtsProvider, m as loadSymiPlugins, mn as normalizeSendPolicy, nr as resolveTtsProviderOrder, or as OPENAI_TTS_MODELS, rn as loadProviderUsageSummary, rr as setTtsEnabled, sr as OPENAI_TTS_VOICES, st as ensureOutboundSessionEntry, tn as normalizeGroupActivation, tr as resolveTtsPrefsPath, w as resolveAgentOutboundTarget, wn as isSystemEventContextChanged, wr as registerAgentRunContext, wt as writeRestartSentinel, x as agentCommand, xn as applyVerboseOverride, yt as formatDoctorNonInteractiveHint } from "./subagent-registry-M6DQwhYN.js";
16
16
  import { F as resolveMainSessionKey, I as resolveMainSessionKeyFromConfig, J as normalizeSessionDeliveryFields, N as resolveAgentMainSessionKey, P as resolveExplicitAgentSessionKey, R as snapshotSessionOrigin, S as stripEnvelopeFromMessages, _ as capArrayByJsonBytes, d as updateSessionStore, g as archiveSessionTranscripts, h as archiveFileOnDisk, o as loadSessionStore, t as extractDeliveryInfo, v as readSessionMessages, x as resolveSessionTranscriptCandidates, y as readSessionPreviewItemsFromTranscript } from "./sessions-CJXnZVjR.js";
17
17
  import { n as listChannelPlugins, r as normalizeChannelId, t as getChannelPlugin } from "./plugins-CwSlLxM8.js";
18
18
  import { n as createBrowserRouteDispatcher } from "./with-timeout-Di0nddLY.js";
@@ -37,14 +37,14 @@ import { t as WizardCancelledError } from "./prompts-m1IJwIAx.js";
37
37
  import { t as resolveChannelDefaultAccountId } from "./helpers-cLP5YLeQ.js";
38
38
  import { t as buildChannelAccountSnapshot } from "./status-BUedPCLb.js";
39
39
  import { o as isNodeCommandAllowed, s as resolveNodeCommandAllowlist } from "./audit-Byo5jCLN.js";
40
- import { r as getStatusSummary } from "./status-DFml_pIs.js";
41
- import { c as setHeartbeatsEnabled } from "./health-BU6f7W6a.js";
40
+ import { r as getStatusSummary } from "./status-kFfqsras.js";
41
+ import { c as setHeartbeatsEnabled } from "./health-8bTzq722.js";
42
42
  import { m as normalizeUpdateChannel } from "./update-check-ZdimP1aU.js";
43
- import { a as sendApnsAlert, c as parseMessageWithAttachments, i as resolveApnsAuthConfigFromEnv, l as formatForLog, n as normalizeApnsEnvironment, o as sendApnsBackgroundWake, s as normalizeRpcAttachmentsToChatAttachments, t as loadApnsRegistration } from "./push-apns-tMnMeZX7.js";
44
- import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-phBy3nbc.js";
43
+ import { a as sendApnsAlert, c as parseMessageWithAttachments, i as resolveApnsAuthConfigFromEnv, l as formatForLog, n as normalizeApnsEnvironment, o as sendApnsBackgroundWake, s as normalizeRpcAttachmentsToChatAttachments, t as loadApnsRegistration } from "./push-apns-B-zVLcnN.js";
44
+ import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-DxYp0zoG.js";
45
45
  import { t as resolveSystemRunCommand } from "./system-run-command-ByVa3txU.js";
46
46
  import { t as installSkill } from "./skills-install-1ZdwGTnh.js";
47
- import { t as runGatewayUpdate } from "./update-runner-DgqFpUFr.js";
47
+ import { t as runGatewayUpdate } from "./update-runner-BIp88-4P.js";
48
48
  import { spawnSync } from "node:child_process";
49
49
  import * as os$1 from "node:os";
50
50
  import os from "node:os";
@@ -6851,7 +6851,7 @@ const nodeHandlers = {
6851
6851
  const p = params;
6852
6852
  const payloadJSON = typeof p.payloadJSON === "string" ? p.payloadJSON : p.payload !== void 0 ? JSON.stringify(p.payload) : null;
6853
6853
  await respondUnavailableOnThrow(respond, async () => {
6854
- const { handleNodeEvent } = await import("./server-node-events-8pINzbzg.js");
6854
+ const { handleNodeEvent } = await import("./server-node-events-B2_RCsYi.js");
6855
6855
  const nodeId = client?.connect?.device?.id ?? client?.connect?.client?.id ?? "node";
6856
6856
  await handleNodeEvent({
6857
6857
  deps: context.deps,
@@ -1,7 +1,7 @@
1
1
  import { g as resolveStateDir, t as CONFIG_PATH } from "./paths-Cqn-zk3M.js";
2
2
  import { D as isPlainObject, U as getResolvedLoggerSettings, r as clamp, y as resolveUserPath } from "./utils-B-0b9bGM.js";
3
3
  import { a as normalizeElevatedLevel, c as normalizeUsageDisplay, d as supportsXHighThinking, n as formatXHighModelHint, o as normalizeReasoningLevel, s as normalizeThinkLevel, t as formatThinkingLevels } from "./thinking-EAliFiVK.js";
4
- import { $n as OPENAI_TTS_MODELS, Bn as registerAgentRunContext, Bt as abortEmbeddedPiRun, C as ensureOutboundSessionEntry, Et as agentCommand, Ft as normalizeSendPolicy, G as normalizeCronJobPatch, Gn as resolveTtsApiKey, H as writeRestartSentinel, Hn as getTtsProvider, Ht as waitForEmbeddedPiRunEnd, It as resolveSendPolicy, Jn as resolveTtsPrefsPath, Kn as resolveTtsAutoMode, L as formatDoctorNonInteractiveHint, Mn as listSubagentRunsForRequester, Mt as resolveOutboundTarget, N as scheduleGatewaySigusr1Restart, Ot as resolveAgentDeliveryPlan, Pr as resolveAgentTimeoutMs, Qn as textToSpeech, Rt as createOutboundSendDeps, Sr as isSystemEventContextChanged, Tn as stopSubagentsForRequester, Un as isTtsEnabled, Vn as resolveUserTimezone, W as normalizeCronJobCreate, Wn as isTtsProviderConfigured, Xn as setTtsEnabled, Yn as resolveTtsProviderOrder, Zn as setTtsProvider, _ as loadCombinedSessionStoreForGateway, at as persistBrowserProxyFiles, b as resolveGatewaySessionStoreTarget, br as parseVerboseOverride, c as clearSessionQueues, er as OPENAI_TTS_VOICES, ft as loadSymiPlugins, g as listSessionsFromStore, gt as loadProviderUsageSummary, h as listAgentsForGateway, in as unbindThreadBindingsBySessionKey, it as applyBrowserProxyPaths, jn as listDescendantRunsForRequester, kt as resolveAgentOutboundTarget, mn as createReplyDispatcher, mt as normalizeGroupActivation, n as BARE_SESSION_RESET_PROMPT, p as canonicalizeSpawnedByForAgent, pn as dispatchInboundMessage, qn as resolveTtsConfig, v as loadSessionEntry, vr as applyModelOverrideToSessionEntry, w as resolveOutboundSessionRoute, wn as isAbortTrigger, x as resolveSessionModelRef, xn as formatZonedTimestamp, xr as enqueueSystemEvent, y as pruneLegacyStoreKeys, yr as applyVerboseOverride, zn as onAgentEvent } from "./reply-B2Xur-75.js";
4
+ import { $n as OPENAI_TTS_MODELS, Bn as registerAgentRunContext, Bt as abortEmbeddedPiRun, C as ensureOutboundSessionEntry, Et as agentCommand, Ft as normalizeSendPolicy, G as normalizeCronJobPatch, Gn as resolveTtsApiKey, H as writeRestartSentinel, Hn as getTtsProvider, Ht as waitForEmbeddedPiRunEnd, It as resolveSendPolicy, Jn as resolveTtsPrefsPath, Kn as resolveTtsAutoMode, L as formatDoctorNonInteractiveHint, Mn as listSubagentRunsForRequester, Mt as resolveOutboundTarget, N as scheduleGatewaySigusr1Restart, Ot as resolveAgentDeliveryPlan, Pr as resolveAgentTimeoutMs, Qn as textToSpeech, Rt as createOutboundSendDeps, Sr as isSystemEventContextChanged, Tn as stopSubagentsForRequester, Un as isTtsEnabled, Vn as resolveUserTimezone, W as normalizeCronJobCreate, Wn as isTtsProviderConfigured, Xn as setTtsEnabled, Yn as resolveTtsProviderOrder, Zn as setTtsProvider, _ as loadCombinedSessionStoreForGateway, at as persistBrowserProxyFiles, b as resolveGatewaySessionStoreTarget, br as parseVerboseOverride, c as clearSessionQueues, er as OPENAI_TTS_VOICES, ft as loadSymiPlugins, g as listSessionsFromStore, gt as loadProviderUsageSummary, h as listAgentsForGateway, in as unbindThreadBindingsBySessionKey, it as applyBrowserProxyPaths, jn as listDescendantRunsForRequester, kt as resolveAgentOutboundTarget, mn as createReplyDispatcher, mt as normalizeGroupActivation, n as BARE_SESSION_RESET_PROMPT, p as canonicalizeSpawnedByForAgent, pn as dispatchInboundMessage, qn as resolveTtsConfig, v as loadSessionEntry, vr as applyModelOverrideToSessionEntry, w as resolveOutboundSessionRoute, wn as isAbortTrigger, x as resolveSessionModelRef, xn as formatZonedTimestamp, xr as enqueueSystemEvent, y as pruneLegacyStoreKeys, yr as applyVerboseOverride, zn as onAgentEvent } from "./reply-BgOOEOPX.js";
5
5
  import { S as parseAgentSessionKey, l as resolveAgentIdFromSessionKey, m as DEFAULT_ACCOUNT_ID, o as classifySessionKeyShape, s as normalizeAgentId, t as DEFAULT_AGENT_ID, x as isSubagentSessionKey } from "./session-key-DCt45XZa.js";
6
6
  import { t as resolveSymiPackageRoot } from "./symi-root-CrGJbkzf.js";
7
7
  import { C as createInternalHookEvent, T as triggerInternalHook, d as getActivePluginRegistry, r as DEFAULT_CHAT_CHANNEL, t as CHANNEL_IDS } from "./registry-Cja8eT7G.js";
@@ -39,14 +39,14 @@ import { t as WizardCancelledError } from "./prompts-Xu2Sveka.js";
39
39
  import { t as resolveChannelDefaultAccountId } from "./helpers-BcGbMZD1.js";
40
40
  import { t as buildChannelAccountSnapshot } from "./status-BrV-afZE.js";
41
41
  import { o as isNodeCommandAllowed, s as resolveNodeCommandAllowlist } from "./audit-CrITRV6w.js";
42
- import { n as getStatusSummary } from "./status-Bdqk3JgK.js";
43
- import { s as setHeartbeatsEnabled } from "./health-wZyomt2k.js";
42
+ import { n as getStatusSummary } from "./status-4PSvL6ui.js";
43
+ import { s as setHeartbeatsEnabled } from "./health-B3pwVJ_N.js";
44
44
  import { m as normalizeUpdateChannel } from "./update-check-CtckACbb.js";
45
- import { a as sendApnsAlert, c as parseMessageWithAttachments, i as resolveApnsAuthConfigFromEnv, l as formatForLog, n as normalizeApnsEnvironment, o as sendApnsBackgroundWake, s as normalizeRpcAttachmentsToChatAttachments, t as loadApnsRegistration } from "./push-apns-DVz2SkR5.js";
46
- import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-AMrJVinF.js";
45
+ import { a as sendApnsAlert, c as parseMessageWithAttachments, i as resolveApnsAuthConfigFromEnv, l as formatForLog, n as normalizeApnsEnvironment, o as sendApnsBackgroundWake, s as normalizeRpcAttachmentsToChatAttachments, t as loadApnsRegistration } from "./push-apns-B2bxLda8.js";
46
+ import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-C76tSodQ.js";
47
47
  import { t as resolveSystemRunCommand } from "./system-run-command-ByVa3txU.js";
48
48
  import { t as installSkill } from "./skills-install-D67isO1L.js";
49
- import { t as runGatewayUpdate } from "./update-runner-Bssy0nSl.js";
49
+ import { t as runGatewayUpdate } from "./update-runner-Dmki2xrH.js";
50
50
  import * as fs$2 from "node:fs";
51
51
  import fs from "node:fs";
52
52
  import * as os$1 from "node:os";
@@ -6853,7 +6853,7 @@ const nodeHandlers = {
6853
6853
  const p = params;
6854
6854
  const payloadJSON = typeof p.payloadJSON === "string" ? p.payloadJSON : p.payload !== void 0 ? JSON.stringify(p.payload) : null;
6855
6855
  await respondUnavailableOnThrow(respond, async () => {
6856
- const { handleNodeEvent } = await import("./server-node-events-Doln-zR2.js");
6856
+ const { handleNodeEvent } = await import("./server-node-events-CnjqDQbZ.js");
6857
6857
  const nodeId = client?.connect?.device?.id ?? client?.connect?.client?.id ?? "node";
6858
6858
  await handleNodeEvent({
6859
6859
  deps: context.deps,
@@ -14,7 +14,7 @@ import "./client-DMBZpU6X.js";
14
14
  import "./call-BcE47FtD.js";
15
15
  import "./message-channel-C9dERklz.js";
16
16
  import "./pairing-token-Byh6drgn.js";
17
- import { Cn as enqueueSystemEvent, T as createOutboundSendDeps, dn as requestHeartbeatNow, dt as resolveOutboundTarget, x as agentCommand } from "./subagent-registry-CUXuFP-8.js";
17
+ import { Cn as enqueueSystemEvent, T as createOutboundSendDeps, dn as requestHeartbeatNow, dt as resolveOutboundTarget, x as agentCommand } from "./subagent-registry-M6DQwhYN.js";
18
18
  import { d as updateSessionStore } from "./sessions-CJXnZVjR.js";
19
19
  import "./tokens-Csntmwwn.js";
20
20
  import { r as normalizeChannelId } from "./plugins-CwSlLxM8.js";
@@ -98,7 +98,7 @@ import "./onboard-helpers-_pit1NZW.js";
98
98
  import "./prompt-style-DwCXob2h.js";
99
99
  import "./pairing-labels-D1HDboV2.js";
100
100
  import "./pi-tools.policy-De00gPXt.js";
101
- import { c as parseMessageWithAttachments, l as formatForLog, r as registerApnsToken, s as normalizeRpcAttachmentsToChatAttachments } from "./push-apns-tMnMeZX7.js";
101
+ import { c as parseMessageWithAttachments, l as formatForLog, r as registerApnsToken, s as normalizeRpcAttachmentsToChatAttachments } from "./push-apns-B-zVLcnN.js";
102
102
  import { randomUUID } from "node:crypto";
103
103
 
104
104
  //#region src/gateway/server-node-events.ts
@@ -1,7 +1,7 @@
1
1
  import "./paths-Cqn-zk3M.js";
2
2
  import "./utils-B-0b9bGM.js";
3
3
  import "./thinking-EAliFiVK.js";
4
- import { Et as agentCommand, Mt as resolveOutboundTarget, Pt as createOutboundSendDeps, b as resolveGatewaySessionStoreTarget, st as requestHeartbeatNow, v as loadSessionEntry, xr as enqueueSystemEvent, y as pruneLegacyStoreKeys } from "./reply-B2Xur-75.js";
4
+ import { Et as agentCommand, Mt as resolveOutboundTarget, Pt as createOutboundSendDeps, b as resolveGatewaySessionStoreTarget, st as requestHeartbeatNow, v as loadSessionEntry, xr as enqueueSystemEvent, y as pruneLegacyStoreKeys } from "./reply-BgOOEOPX.js";
5
5
  import { c as normalizeMainKey } from "./session-key-DCt45XZa.js";
6
6
  import "./registry-Cja8eT7G.js";
7
7
  import { f as defaultRuntime } from "./subsystem-D9vIQve0.js";
@@ -102,7 +102,7 @@ import "./pi-tools.policy-CIDBbw6x.js";
102
102
  import "./control-service-Bz7rxLWq.js";
103
103
  import "./stagger-BUClb97_.js";
104
104
  import "./channel-selection-DuWs0Aak.js";
105
- import { c as parseMessageWithAttachments, l as formatForLog, r as registerApnsToken, s as normalizeRpcAttachmentsToChatAttachments } from "./push-apns-DVz2SkR5.js";
105
+ import { c as parseMessageWithAttachments, l as formatForLog, r as registerApnsToken, s as normalizeRpcAttachmentsToChatAttachments } from "./push-apns-B2bxLda8.js";
106
106
  import { randomUUID } from "node:crypto";
107
107
 
108
108
  //#region src/gateway/server-node-events.ts
@@ -1,6 +1,6 @@
1
1
  import { u as resolveGatewayPort } from "./paths-Cqn-zk3M.js";
2
2
  import { B as theme, k as info, z as isRich } from "./utils-B-0b9bGM.js";
3
- import { B as summarizeRestartSentinel, Jt as sha256HexPrefix, _t as formatUsageReportLines, a as buildChannelSummary, gt as loadProviderUsageSummary, h as listAgentsForGateway, m as classifySessionKey, o as buildChannelAccountSnapshot, pr as lookupContextTokens, s as formatChannelAllowFrom, wr as peekSystemEvents, x as resolveSessionModelRef, z as readRestartSentinel } from "./reply-B2Xur-75.js";
3
+ import { B as summarizeRestartSentinel, Jt as sha256HexPrefix, _t as formatUsageReportLines, a as buildChannelSummary, gt as loadProviderUsageSummary, h as listAgentsForGateway, m as classifySessionKey, o as buildChannelAccountSnapshot, pr as lookupContextTokens, s as formatChannelAllowFrom, wr as peekSystemEvents, x as resolveSessionModelRef, z as readRestartSentinel } from "./reply-BgOOEOPX.js";
4
4
  import { S as parseAgentSessionKey } from "./session-key-DCt45XZa.js";
5
5
  import { t as resolveSymiPackageRoot } from "./symi-root-CrGJbkzf.js";
6
6
  import { n as runExec } from "./exec-CWkblSrI.js";
@@ -28,7 +28,7 @@ import { t as formatRuntimeStatusWithDetails } from "./runtime-status-CR9445g5.j
28
28
  import { t as readLastGatewayErrorLine } from "./diagnostics-BAMlsVVX.js";
29
29
  import { t as renderTable } from "./table-BTgkRafz.js";
30
30
  import { a as resolveGatewayProbeAuth$1, c as probeGateway, t as runSecurityAudit } from "./audit-CrITRV6w.js";
31
- import { a as resolveHeartbeatSummaryForAgent, t as formatHealthChannelLines } from "./health-wZyomt2k.js";
31
+ import { a as resolveHeartbeatSummaryForAgent, t as formatHealthChannelLines } from "./health-B3pwVJ_N.js";
32
32
  import { g as resolveUpdateChannelDisplay, i as formatGitInstallLabel, m as normalizeUpdateChannel, t as checkUpdateStatus } from "./update-check-CtckACbb.js";
33
33
  import { t as resolveNodeService } from "./node-service-Cxz4e-Qd.js";
34
34
  import { n as redactSecrets, t as formatGatewayAuthUsed } from "./format-yQZNwAF2.js";
@@ -1,4 +1,4 @@
1
- import { dt as createPluginLoaderLogger, ft as loadSymiPlugins } from "./reply-B2Xur-75.js";
1
+ import { dt as createPluginLoaderLogger, ft as loadSymiPlugins } from "./reply-BgOOEOPX.js";
2
2
  import { t as createSubsystemLogger } from "./subsystem-D9vIQve0.js";
3
3
  import { D as resolveDefaultAgentWorkspaceDir, c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-CgUHAtCo.js";
4
4
  import { i as loadConfig } from "./config-CHwyw6l5.js";