@symerian/symi 2.9.3 → 2.9.4

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 (157) hide show
  1. package/dist/{agents-D6V_7iZL.js → agents-CMoRbMNW.js} +4 -4
  2. package/dist/{agents.config-BeX0kxT3.js → agents.config-BLuBIvek.js} +1 -1
  3. package/dist/{agents.config-B-NRTvyi.js → agents.config-Ebtya9aN.js} +1 -1
  4. package/dist/{auth-choice-4lzxjIcf.js → auth-choice-C_lflrPV.js} +1 -1
  5. package/dist/{auth-choice-BJQjxe_Y.js → auth-choice-DAMY302C.js} +1 -1
  6. package/dist/{banner-Q3fjWWy3.js → banner-4mmBVDxd.js} +1 -1
  7. package/dist/build-info.json +3 -3
  8. package/dist/bundled/boot-md/handler.js +2 -2
  9. package/dist/bundled/session-memory/handler.js +2 -2
  10. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  11. package/dist/{channel-options-D6U_Dpa2.js → channel-options-CqEImsEx.js} +1 -1
  12. package/dist/{channel-options-CQ0Q0xZr.js → channel-options-lJBshQMV.js} +1 -1
  13. package/dist/{channel-web-D6aolbVC.js → channel-web-CBC2RSBF.js} +1 -1
  14. package/dist/{channels-cli-By4y_t51.js → channels-cli-BqW1HbHG.js} +6 -6
  15. package/dist/{channels-cli-CxuKeNkr.js → channels-cli-CqtSKE5p.js} +6 -6
  16. package/dist/{cli-B1gtEojq.js → cli-B1Dxc2DT.js} +3 -3
  17. package/dist/{cli-41r_BAjv.js → cli-CjgvXavV.js} +3 -3
  18. package/dist/{command-registry-FJWuYmEn.js → command-registry-iESIIBvf.js} +10 -10
  19. package/dist/{completion-cli-DWVW4P54.js → completion-cli-BEddBU3C.js} +2 -2
  20. package/dist/{completion-cli-C20c_vzO.js → completion-cli-euUBlC-J.js} +1 -1
  21. package/dist/{config-cli-CJQ-12f7.js → config-cli-CAl0wtaC.js} +1 -1
  22. package/dist/{config-cli-CLXuCFJc.js → config-cli-DG8UgJ6z.js} +1 -1
  23. package/dist/{configure-I99ztt2Y.js → configure-B3AtbkbP.js} +3 -3
  24. package/dist/{configure-DrIhqYYW.js → configure-CtYsABUS.js} +3 -3
  25. package/dist/{doctor-completion-B4pjrehH.js → doctor-completion-B-Oak4dP.js} +1 -1
  26. package/dist/{doctor-completion-C9A7E6Wb.js → doctor-completion-BGriRzaq.js} +1 -1
  27. package/dist/entry.js +1 -1
  28. package/dist/extensionAPI.js +2 -2
  29. package/dist/{gateway-cli-BByLEck3.js → gateway-cli-CPligm4B.js} +11 -11
  30. package/dist/{gateway-cli-cZpbavO4.js → gateway-cli-CrgMw50H.js} +11 -11
  31. package/dist/{glass-ui-ws-DUHaC6lE.js → glass-ui-ws-BmrBGwq0.js} +9 -9
  32. package/dist/{glass-ui-ws-09XXkYnX.js → glass-ui-ws-JoAL8aXB.js} +9 -9
  33. package/dist/{health-CYHbTw04.js → health-BFlZuHVH.js} +1 -1
  34. package/dist/{health-Bvo3NXZK.js → health-C5cdo2e_.js} +1 -1
  35. package/dist/{hooks-cli-CiFs-0g0.js → hooks-cli-BHOi35KU.js} +4 -4
  36. package/dist/{hooks-cli-BwFW4lKC.js → hooks-cli-DFDzJIQJ.js} +4 -4
  37. package/dist/index.js +8 -8
  38. package/dist/llm-slug-generator.js +2 -2
  39. package/dist/{manager-CB20PmUH.js → manager-Ca7NOWdK.js} +1 -1
  40. package/dist/{manager-BsfrsBPw.js → manager-DNxvT0P-.js} +1 -1
  41. package/dist/{manager-CMB15ft8.js → manager-DlNP6Nui.js} +1 -1
  42. package/dist/{manager-Bj8GFlcZ.js → manager-SbxZtjEc.js} +1 -1
  43. package/dist/{memory-cli-Cuhhh4qN.js → memory-cli-D2LaloPq.js} +3 -3
  44. package/dist/{memory-cli-CoTkaEhh.js → memory-cli-xSpyRUEV.js} +3 -3
  45. package/dist/{models-CdIe1IJX.js → models-C6MaesB8.js} +2 -2
  46. package/dist/{models-cli-CZcMWBL0.js → models-cli-4IVFNhw8.js} +5 -5
  47. package/dist/{models-cli-o07a-fh5.js → models-cli-CjcsH00X.js} +4 -4
  48. package/dist/{onboard-Cjlal6-V.js → onboard-BoXWv3OF.js} +2 -2
  49. package/dist/{onboard-44op-88v.js → onboard-Dk5UFbaj.js} +2 -2
  50. package/dist/{onboard-channels-BseAErC9.js → onboard-channels-BQ-TPkl5.js} +1 -1
  51. package/dist/{onboard-channels-Lt1TlRrb.js → onboard-channels-DSIBGif0.js} +1 -1
  52. package/dist/{onboarding-DYJYybkl.js → onboarding-CvCh0fyS.js} +3 -3
  53. package/dist/{onboarding-DODsq7cg.js → onboarding-p3SCUopW.js} +3 -3
  54. package/dist/{onboarding.finalize-BX-xeFu7.js → onboarding.finalize-CrmmBrzK.js} +7 -7
  55. package/dist/{onboarding.finalize-DhhWr8GR.js → onboarding.finalize-l2qeYvn5.js} +8 -8
  56. package/dist/{pi-embedded-UMBd-Mrj.js → pi-embedded-DaTqseIp.js} +41 -5
  57. package/dist/{plugin-registry-HrZC-Iww.js → plugin-registry-B_IeViDg.js} +1 -1
  58. package/dist/{plugin-registry-Di_isjUm.js → plugin-registry-BmdLxUZd.js} +1 -1
  59. package/dist/plugin-sdk/{channel-web-CzZZsS3O.js → channel-web-DYJYy4et.js} +1 -1
  60. package/dist/plugin-sdk/index.js +3 -3
  61. package/dist/plugin-sdk/{manager-BiRYpsW7.js → manager-Ca0_Buoj.js} +1 -1
  62. package/dist/plugin-sdk/{reply-DYEklKOc.js → reply-Bfy77FPA.js} +41 -5
  63. package/dist/plugin-sdk/{synthesis-CaDiVumM.js → synthesis-D9SmRgqU.js} +2 -2
  64. package/dist/plugin-sdk/{web-DU4xaLZf.js → web-qvuO3y6z.js} +3 -3
  65. package/dist/{plugins-cli-CMz1ww6G.js → plugins-cli-CAp8Hyam.js} +4 -4
  66. package/dist/{plugins-cli-BlBz4J4q.js → plugins-cli-Dhcj3Mah.js} +4 -4
  67. package/dist/{program-dFZ5CYgD.js → program-UlEVhGTo.js} +9 -9
  68. package/dist/{program-context-ByWsh-2T.js → program-context-BFvY5D79.js} +18 -18
  69. package/dist/{prompt-select-styled-nywEyQoQ.js → prompt-select-styled-BehvQU7S.js} +6 -6
  70. package/dist/{prompt-select-styled-BkwnTGjt.js → prompt-select-styled-Bf47U3gY.js} +6 -6
  71. package/dist/{provider-auth-helpers-CQ604vQz.js → provider-auth-helpers-CEstUTnU.js} +1 -1
  72. package/dist/{provider-auth-helpers-CgJE4rvP.js → provider-auth-helpers-l2_9mB3E.js} +1 -1
  73. package/dist/{push-apns-CbjqnCIn.js → push-apns-Be_K61Y3.js} +1 -1
  74. package/dist/{push-apns-CQlSAman.js → push-apns-Cr9FKn9_.js} +1 -1
  75. package/dist/{register.agent-Hw7FS0tf.js → register.agent-DXzkaRw1.js} +8 -8
  76. package/dist/{register.agent-BaLgPcGg.js → register.agent-tfizhRlb.js} +7 -7
  77. package/dist/{register.configure-BC-jW4EY.js → register.configure-CtXnzNAk.js} +8 -8
  78. package/dist/{register.configure-D6bKnyeR.js → register.configure-DsBKnmY3.js} +8 -8
  79. package/dist/{register.maintenance-7LeID6wA.js → register.maintenance-BZJLuSs7.js} +10 -10
  80. package/dist/{register.maintenance-DQ73gAH0.js → register.maintenance-mVD8OA1V.js} +9 -9
  81. package/dist/{register.message-odamuJP5.js → register.message-C7Mfqk6i.js} +4 -4
  82. package/dist/{register.message-D2Ubr7KY.js → register.message-ZHGwfsV9.js} +4 -4
  83. package/dist/{register.onboard-Bv3BjuIZ.js → register.onboard-B0zHMGtr.js} +6 -6
  84. package/dist/{register.onboard-DwYvxoBx.js → register.onboard-bPMjH-cM.js} +6 -6
  85. package/dist/{register.setup-BvNMj7Tn.js → register.setup-aVvT34-g.js} +6 -6
  86. package/dist/{register.setup-B6ylBd_s.js → register.setup-jLBfOyYo.js} +6 -6
  87. package/dist/{register.status-health-sessions-Cr65vOYW.js → register.status-health-sessions-Bbp4B0t_.js} +5 -5
  88. package/dist/{register.status-health-sessions-Bx0oTY_P.js → register.status-health-sessions-Ym9Z__5q.js} +5 -5
  89. package/dist/{register.subclis-BzbNYOC6.js → register.subclis-DHLF7LUE.js} +9 -9
  90. package/dist/{reply-Bymjl4wV.js → reply-DaLBaxTg.js} +40 -4
  91. package/dist/{run-main-BAaL6QjO.js → run-main-i-0RAGWP.js} +17 -17
  92. package/dist/{server-methods-Ds4i0Q2F.js → server-methods-9ygcQLBv.js} +8 -8
  93. package/dist/{server-methods-C4j7W_qQ.js → server-methods-BTBqGPE0.js} +8 -8
  94. package/dist/{server-node-events-tbjGwgHF.js → server-node-events-Dwq8UMWp.js} +4 -4
  95. package/dist/{server-node-events-D0gNq3h6.js → server-node-events-v-YRyTWm.js} +4 -4
  96. package/dist/{status-CGabcN-L.js → status-87Am-dN6.js} +3 -3
  97. package/dist/{status-BdkVcIDX.js → status-BwKYtKTR.js} +1 -1
  98. package/dist/{status-DpVc9DSG.js → status-Cet2zu6k.js} +1 -1
  99. package/dist/{status-BfNSBvnp.js → status-vF06cYz7.js} +3 -3
  100. package/dist/{subagent-registry-0D_yjdW5.js → subagent-registry--ttOPMLH.js} +40 -4
  101. package/dist/{synthesis-Bf2XnlvP.js → synthesis-9GndKT3K.js} +2 -2
  102. package/dist/{synthesis-DFQ_rjEF.js → synthesis-DH0gSv7o.js} +2 -2
  103. package/dist/{synthesis-1f-yGtS7.js → synthesis-JzS-852N.js} +3 -3
  104. package/dist/{synthesis-A2SfvBRN.js → synthesis-aBsVjLIL.js} +3 -3
  105. package/dist/{unified-runner-j_Vn4K8X.js → unified-runner-C0OC_Ay0.js} +41 -5
  106. package/dist/{update-cli-CWMGbbPM.js → update-cli-BWulAC_Y.js} +10 -10
  107. package/dist/{update-cli-B3t4yUU6.js → update-cli-DAP38iFd.js} +9 -9
  108. package/dist/{update-runner-CfzHxbsu.js → update-runner-Bl0Y3ndR.js} +1 -1
  109. package/dist/{update-runner-UfVHKth_.js → update-runner-DV6ov2uA.js} +1 -1
  110. package/dist/{web-BSf9H0_w.js → web-Cl-3dkwx.js} +2 -2
  111. package/dist/{web-DaChMSyM.js → web-DcZB_7Fo.js} +2 -2
  112. package/dist/{web-DIDhNbES.js → web-DhjVLurg.js} +4 -4
  113. package/dist/{web-DCTvbYTy.js → web-K_bPrtFT.js} +3 -3
  114. package/docs/capabilities.md +36 -36
  115. package/extensions/bluebubbles/package.json +1 -1
  116. package/extensions/copilot-proxy/package.json +1 -1
  117. package/extensions/diagnostics-otel/package.json +1 -1
  118. package/extensions/discord/package.json +1 -1
  119. package/extensions/feishu/package.json +1 -1
  120. package/extensions/google-antigravity-auth/package.json +1 -1
  121. package/extensions/google-gemini-cli-auth/package.json +1 -1
  122. package/extensions/googlechat/package.json +1 -1
  123. package/extensions/imessage/package.json +1 -1
  124. package/extensions/irc/package.json +1 -1
  125. package/extensions/learning-loop/package.json +1 -1
  126. package/extensions/line/package.json +1 -1
  127. package/extensions/llm-task/package.json +1 -1
  128. package/extensions/matrix/CHANGELOG.md +6 -0
  129. package/extensions/matrix/package.json +1 -1
  130. package/extensions/mattermost/package.json +1 -1
  131. package/extensions/memory-core/package.json +1 -1
  132. package/extensions/memory-lancedb/package.json +1 -1
  133. package/extensions/minimax-portal-auth/package.json +1 -1
  134. package/extensions/msteams/CHANGELOG.md +6 -0
  135. package/extensions/msteams/package.json +1 -1
  136. package/extensions/nextcloud-talk/package.json +1 -1
  137. package/extensions/nostr/CHANGELOG.md +6 -0
  138. package/extensions/nostr/package.json +1 -1
  139. package/extensions/open-prose/package.json +1 -1
  140. package/extensions/outlook/node_modules/.bin/symi +21 -0
  141. package/extensions/outlook/package.json +1 -1
  142. package/extensions/pipeline/package.json +1 -1
  143. package/extensions/signal/package.json +1 -1
  144. package/extensions/slack/package.json +1 -1
  145. package/extensions/telegram/package.json +1 -1
  146. package/extensions/tlon/package.json +1 -1
  147. package/extensions/twitch/CHANGELOG.md +6 -0
  148. package/extensions/twitch/package.json +1 -1
  149. package/extensions/voice-call/CHANGELOG.md +6 -0
  150. package/extensions/voice-call/package.json +1 -1
  151. package/extensions/whatsapp/package.json +1 -1
  152. package/extensions/zalo/CHANGELOG.md +6 -0
  153. package/extensions/zalo/package.json +1 -1
  154. package/extensions/zalouser/CHANGELOG.md +6 -0
  155. package/extensions/zalouser/package.json +1 -1
  156. package/package.json +5 -1
  157. package/skills/document-generation/SKILL.md +37 -18
@@ -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-Bymjl4wV.js";
4
+ import "./reply-DaLBaxTg.js";
5
5
  import "./registry-Cja8eT7G.js";
6
6
  import { f as defaultRuntime } from "./subsystem-D9vIQve0.js";
7
7
  import "./exec-CWkblSrI.js";
@@ -60,8 +60,8 @@ import "./diagnostic-session-state-CUslJyKP.js";
60
60
  import "./send-aXMPprv9.js";
61
61
  import "./model-ECsJuJew.js";
62
62
  import "./reply-prefix-CE2YmmsD.js";
63
- import "./memory-cli-CoTkaEhh.js";
64
- import "./manager-CB20PmUH.js";
63
+ import "./memory-cli-xSpyRUEV.js";
64
+ import "./manager-Ca7NOWdK.js";
65
65
  import "./retry-BoS4e4X_.js";
66
66
  import "./sqlite-D55gRQbH.js";
67
67
  import "./target-errors-C9e6dMU_.js";
@@ -109,8 +109,8 @@ import "./clack-prompter-CM5UgVAv.js";
109
109
  import "./daemon-runtime-C-Mwepv_.js";
110
110
  import "./systemd-Xs16roN5.js";
111
111
  import "./service-DzLem5vL.js";
112
- import "./health-CYHbTw04.js";
113
- import "./onboarding-DYJYybkl.js";
112
+ import "./health-BFlZuHVH.js";
113
+ import "./onboarding-CvCh0fyS.js";
114
114
  import "./shared-DHpMu95O.js";
115
115
  import "./auth-token-Cq0R-Q6i.js";
116
116
  import { n as logConfigUpdated, t as formatConfigPath } from "./logging-CZuxhCZR.js";
@@ -118,7 +118,7 @@ import "./openai-model-default-D5FwfJqN.js";
118
118
  import "./model-picker-BT8MumhL.js";
119
119
  import "./systemd-linger-0C265XKH.js";
120
120
  import "./onboard-custom-7TON2w6b.js";
121
- import { t as onboardCommand } from "./onboard-44op-88v.js";
121
+ import { t as onboardCommand } from "./onboard-Dk5UFbaj.js";
122
122
  import JSON5 from "json5";
123
123
  import fs from "node:fs/promises";
124
124
 
@@ -15,7 +15,7 @@ import "./client-CJIMV1WD.js";
15
15
  import "./call-BCTAmPye.js";
16
16
  import "./message-channel-C9dERklz.js";
17
17
  import "./pairing-token-Byh6drgn.js";
18
- import "./subagent-registry-0D_yjdW5.js";
18
+ import "./subagent-registry--ttOPMLH.js";
19
19
  import "./sessions-CpDbQNFu.js";
20
20
  import "./tokens-Csntmwwn.js";
21
21
  import "./plugins-CwSlLxM8.js";
@@ -53,8 +53,8 @@ import "./tool-images-CVLISeRT.js";
53
53
  import "./thinking-8sKPnzpp.js";
54
54
  import "./models-config-frWb8fDT.js";
55
55
  import "./reply-prefix-BUN71nd5.js";
56
- import "./memory-cli-Cuhhh4qN.js";
57
- import "./manager-BsfrsBPw.js";
56
+ import "./memory-cli-D2LaloPq.js";
57
+ import "./manager-DNxvT0P-.js";
58
58
  import "./gemini-auth-DEakvf-D.js";
59
59
  import "./retry-C4Q_VPOo.js";
60
60
  import "./sqlite-BP8tiuca.js";
@@ -109,8 +109,8 @@ import "./service-RxN7lQKN.js";
109
109
  import "./diagnostics-C6xPE2ln.js";
110
110
  import "./table-Bka4fasy.js";
111
111
  import "./audit-DGwhL71Q.js";
112
- import { n as statusCommand } from "./status-CGabcN-L.js";
113
- import { r as healthCommand } from "./health-Bvo3NXZK.js";
112
+ import { n as statusCommand } from "./status-87Am-dN6.js";
113
+ import { r as healthCommand } from "./health-C5cdo2e_.js";
114
114
  import "./update-check-BNjupSIM.js";
115
115
  import "./dm-policy-shared-JiSNSaKz.js";
116
116
  import "./node-service-B-qdOCNb.js";
@@ -1,7 +1,7 @@
1
1
  import "./paths-Cqn-zk3M.js";
2
2
  import { B as theme, P as setVerbose, k as info, z as isRich } from "./utils-B-0b9bGM.js";
3
3
  import "./thinking-EAliFiVK.js";
4
- import { S as resolveSessionModelRef, h as classifySessionKey, mr as lookupContextTokens } from "./reply-Bymjl4wV.js";
4
+ import { S as resolveSessionModelRef, h as classifySessionKey, mr as lookupContextTokens } from "./reply-DaLBaxTg.js";
5
5
  import { S as parseAgentSessionKey } from "./session-key-DCt45XZa.js";
6
6
  import "./registry-Cja8eT7G.js";
7
7
  import { f as defaultRuntime } from "./subsystem-D9vIQve0.js";
@@ -61,8 +61,8 @@ import "./diagnostic-session-state-CUslJyKP.js";
61
61
  import "./send-aXMPprv9.js";
62
62
  import "./model-ECsJuJew.js";
63
63
  import "./reply-prefix-CE2YmmsD.js";
64
- import "./memory-cli-CoTkaEhh.js";
65
- import "./manager-CB20PmUH.js";
64
+ import "./memory-cli-xSpyRUEV.js";
65
+ import "./manager-Ca7NOWdK.js";
66
66
  import "./retry-BoS4e4X_.js";
67
67
  import "./sqlite-D55gRQbH.js";
68
68
  import "./target-errors-C9e6dMU_.js";
@@ -115,8 +115,8 @@ import "./service-DzLem5vL.js";
115
115
  import "./diagnostics-1uBuB9IE.js";
116
116
  import "./table-BWuvjnmY.js";
117
117
  import "./audit-OPWWS900.js";
118
- import { t as statusCommand } from "./status-BfNSBvnp.js";
119
- import { r as healthCommand } from "./health-CYHbTw04.js";
118
+ import { t as statusCommand } from "./status-vF06cYz7.js";
119
+ import { r as healthCommand } from "./health-BFlZuHVH.js";
120
120
  import "./update-check-Bbvpax6u.js";
121
121
  import "./dm-policy-shared-KlzpDeT_.js";
122
122
  import "./node-service-DxPZ_ZFk.js";
@@ -49,7 +49,7 @@ const entries = [
49
49
  description: "Run, inspect, and query the WebSocket Gateway",
50
50
  hasSubcommands: true,
51
51
  register: async (program) => {
52
- (await import("./gateway-cli-cZpbavO4.js")).registerGatewayCli(program);
52
+ (await import("./gateway-cli-CrgMw50H.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-CZcMWBL0.js")).registerModelsCli(program);
84
+ (await import("./models-cli-4IVFNhw8.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-CiFs-0g0.js")).registerHooksCli(program);
164
+ (await import("./hooks-cli-BHOi35KU.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-B1gtEojq.js");
188
+ const { registerPluginCliCommands } = await import("./cli-B1Dxc2DT.js");
189
189
  registerPluginCliCommands(program, await loadConfig());
190
190
  (await import("./pairing-cli-K09J3MIl.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-CMz1ww6G.js")).registerPluginsCli(program);
199
- const { registerPluginCliCommands } = await import("./cli-B1gtEojq.js");
198
+ (await import("./plugins-cli-CAp8Hyam.js")).registerPluginsCli(program);
199
+ const { registerPluginCliCommands } = await import("./cli-B1Dxc2DT.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-By4y_t51.js")).registerChannelsCli(program);
208
+ (await import("./channels-cli-BqW1HbHG.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-CWMGbbPM.js")).registerUpdateCli(program);
240
+ (await import("./update-cli-BWulAC_Y.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-DWVW4P54.js").then((n) => n.n)).registerCompletionCli(program);
248
+ (await import("./completion-cli-BEddBU3C.js").then((n) => n.n)).registerCompletionCli(program);
249
249
  }
250
250
  }
251
251
  ];
@@ -61,8 +61,8 @@ import { r as getDiagnosticSessionState } from "./diagnostic-session-state-CUslJ
61
61
  import { A as hasBotMention, B as resolveSenderAllowMatch, C as buildTelegramGroupPeerId, D as describeReplyTarget, E as buildTypingThreadParams, F as resolveTelegramReplyId, G as toLocationContext, H as isSenderIdAllowed, I as resolveTelegramStreamMode, J as parseTelegramTarget, K as withTelegramApiErrorLogging, L as resolveTelegramThreadSpec, M as resolveTelegramForumThreadId, N as resolveTelegramGroupAllowFromContext, O as expandTextLinks, P as resolveTelegramMediaPlaceholder, R as isSenderAllowed$1, S as buildTelegramGroupFrom, T as buildTelegramThreadParams, U as mergeAllowFromSources, V as firstDefined$1, W as formatLocationText, Y as resolveTelegramTargetChatType, _ as resolveTelegramFetch, a as reactMessageTelegram, b as buildSenderLabel, c as sendStickerTelegram, d as wasSentByBot, f as isRecoverableTelegramNetworkError, g as wrapFileReferencesInHtml, h as renderTelegramHtmlText, i as editMessageTelegram, j as normalizeForwardedContext, k as extractTelegramLocation, m as markdownToTelegramHtml, n as createForumTopicTelegram, o as sendMessageTelegram, p as markdownToTelegramChunks, q as isVoiceCompatibleAudio, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildTelegramParentPeer, x as buildSenderName, y as buildGroupLabel, z as normalizeAllowFromWithStore$1 } from "./send-aXMPprv9.js";
62
62
  import { a as buildModelAliasLines, n as resolveModel } from "./model-ECsJuJew.js";
63
63
  import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-CE2YmmsD.js";
64
- import { i as resolveMemoryBackendConfig, n as registerMemoryCli, r as getMemorySearchManager } from "./memory-cli-CoTkaEhh.js";
65
- import { a as resolveMemorySearchConfig, t as MemoryIndexManager } from "./manager-CB20PmUH.js";
64
+ import { i as resolveMemoryBackendConfig, n as registerMemoryCli, r as getMemorySearchManager } from "./memory-cli-xSpyRUEV.js";
65
+ import { a as resolveMemorySearchConfig, t as MemoryIndexManager } from "./manager-Ca7NOWdK.js";
66
66
  import { n as retryAsync } from "./retry-BoS4e4X_.js";
67
67
  import { c as imageResultFromFile, d as readNumberParam, f as readReactionParams, h as readStringParam, l as jsonResult, m as readStringOrNumberParam, n as missingTargetError, o as createActionGate, p as readStringArrayParam, r as unknownTargetError, s as imageResult, t as ambiguousTargetError, u as parseAvailableTags } from "./target-errors-C9e6dMU_.js";
68
68
  import { a as chunkText, c as resolveChunkMode, d as isSafeFenceBreak, f as parseFenceSpans, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, o as chunkTextWithMode, r as chunkMarkdownText, t as chunkByNewline, u as findFenceSpanAt } from "./chunk-DIi9uyC6.js";
@@ -32332,7 +32332,7 @@ async function runAgentTurn(params) {
32332
32332
  function createDefaultDeps() {
32333
32333
  return {
32334
32334
  sendMessageWhatsApp: async (...args) => {
32335
- const { sendMessageWhatsApp } = await import("./web-DIDhNbES.js");
32335
+ const { sendMessageWhatsApp } = await import("./web-DhjVLurg.js");
32336
32336
  return await sendMessageWhatsApp(...args);
32337
32337
  },
32338
32338
  sendMessageTelegram: async (...args) => {
@@ -50763,7 +50763,7 @@ function loadWebLoginQr() {
50763
50763
  return webLoginQrPromise;
50764
50764
  }
50765
50765
  function loadWebChannel() {
50766
- webChannelPromise ??= import("./web-DIDhNbES.js");
50766
+ webChannelPromise ??= import("./web-DhjVLurg.js");
50767
50767
  return webChannelPromise;
50768
50768
  }
50769
50769
  function loadWhatsAppActions() {
@@ -53459,6 +53459,41 @@ async function executeNodeHostCommand(params) {
53459
53459
 
53460
53460
  //#endregion
53461
53461
  //#region src/agents/bash-tools.exec.ts
53462
+ let cachedSymiNodeModules;
53463
+ /**
53464
+ * Returns the absolute path to Symi's bundled `node_modules` directory, so
53465
+ * gateway-host node scripts can `require()` packages that ship with Symi
53466
+ * (docx / exceljs / pptxgenjs / pdfkit for the document-generation skill,
53467
+ * plus any future bundled npm dep). Cached for the process lifetime.
53468
+ *
53469
+ * Returns null when Symi's package root can't be resolved (development
53470
+ * setups outside a package, broken installs).
53471
+ */
53472
+ function resolveSymiNodeModulesPath() {
53473
+ if (cachedSymiNodeModules !== void 0) return cachedSymiNodeModules;
53474
+ const root = resolveSymiPackageRootSync({});
53475
+ cachedSymiNodeModules = root ? path.join(root, "node_modules") : null;
53476
+ return cachedSymiNodeModules;
53477
+ }
53478
+ /**
53479
+ * Append Symi's bundled node_modules path to NODE_PATH so gateway-host
53480
+ * scripts (run via the `exec` tool with `host: "gateway"`) can resolve
53481
+ * Symi-bundled npm packages from any cwd. Existing NODE_PATH (user
53482
+ * override or test fixture) is preserved by appending, not replacing.
53483
+ */
53484
+ function applySymiNodePath(env) {
53485
+ const symiModules = resolveSymiNodeModulesPath();
53486
+ if (!symiModules) return;
53487
+ const existing = env.NODE_PATH?.trim();
53488
+ if (!existing) {
53489
+ env.NODE_PATH = symiModules;
53490
+ return;
53491
+ }
53492
+ const sep = path.delimiter;
53493
+ const segments = existing.split(sep).filter(Boolean);
53494
+ if (!segments.includes(symiModules)) segments.push(symiModules);
53495
+ env.NODE_PATH = segments.join(sep);
53496
+ }
53462
53497
  function extractScriptTargetFromCommand(command) {
53463
53498
  const raw = command.trim();
53464
53499
  if (!raw) return null;
@@ -53608,6 +53643,7 @@ function createExecTool(defaults) {
53608
53643
  env: process.env,
53609
53644
  timeoutMs: resolveShellEnvFallbackTimeoutMs(process.env)
53610
53645
  }));
53646
+ if (!sandbox && host === "gateway") applySymiNodePath(env);
53611
53647
  if (host === "node" && defaultPathPrepend.length > 0) warnings.push("Warning: tools.exec.pathPrepend is ignored for host=node. Configure PATH on the node host/service instead.");
53612
53648
  else applyPathPrepend(env, defaultPathPrepend);
53613
53649
  if (host === "node") return executeNodeHostCommand({
@@ -14,7 +14,7 @@ import "./client-CJIMV1WD.js";
14
14
  import "./call-BCTAmPye.js";
15
15
  import "./message-channel-C9dERklz.js";
16
16
  import "./pairing-token-Byh6drgn.js";
17
- import "./subagent-registry-0D_yjdW5.js";
17
+ import "./subagent-registry--ttOPMLH.js";
18
18
  import "./sessions-CpDbQNFu.js";
19
19
  import "./tokens-Csntmwwn.js";
20
20
  import "./plugins-CwSlLxM8.js";
@@ -52,8 +52,8 @@ import "./tool-images-CVLISeRT.js";
52
52
  import "./thinking-8sKPnzpp.js";
53
53
  import "./models-config-frWb8fDT.js";
54
54
  import "./reply-prefix-BUN71nd5.js";
55
- import "./memory-cli-Cuhhh4qN.js";
56
- import "./manager-BsfrsBPw.js";
55
+ import "./memory-cli-D2LaloPq.js";
56
+ import "./manager-DNxvT0P-.js";
57
57
  import "./gemini-auth-DEakvf-D.js";
58
58
  import "./retry-C4Q_VPOo.js";
59
59
  import "./sqlite-BP8tiuca.js";
@@ -102,9 +102,9 @@ import { t as ensureSymiCliOnPath } from "./path-env-CaiY2aOj.js";
102
102
  import "./catalog-KcLvtTfa.js";
103
103
  import "./note-DewoEWtc.js";
104
104
  import "./plugin-auto-enable-pQEg2Mly.js";
105
- import { t as ensurePluginRegistryLoaded } from "./plugin-registry-Di_isjUm.js";
105
+ import { t as ensurePluginRegistryLoaded } from "./plugin-registry-BmdLxUZd.js";
106
106
  import { t as assertSupportedRuntime } from "./runtime-guard-BofkqBu7.js";
107
- import { t as emitCliBanner } from "./banner-Q3fjWWy3.js";
107
+ import { t as emitCliBanner } from "./banner-4mmBVDxd.js";
108
108
  import "./doctor-config-flow-l2aPNzHP.js";
109
109
  import { n as ensureConfigReady } from "./config-guard-BLcbR_sH.js";
110
110
  import process$1 from "node:process";
@@ -119,7 +119,7 @@ const routeHealth = {
119
119
  const verbose = getVerboseFlag(argv, { includeDebug: true });
120
120
  const timeoutMs = getPositiveIntFlagValue(argv, "--timeout");
121
121
  if (timeoutMs === null) return false;
122
- const { healthCommand } = await import("./health-Bvo3NXZK.js").then((n) => n.i);
122
+ const { healthCommand } = await import("./health-C5cdo2e_.js").then((n) => n.i);
123
123
  await healthCommand({
124
124
  json,
125
125
  timeoutMs,
@@ -139,7 +139,7 @@ const routeStatus = {
139
139
  const verbose = getVerboseFlag(argv, { includeDebug: true });
140
140
  const timeoutMs = getPositiveIntFlagValue(argv, "--timeout");
141
141
  if (timeoutMs === null) return false;
142
- const { statusCommand } = await import("./status-CGabcN-L.js").then((n) => n.t);
142
+ const { statusCommand } = await import("./status-87Am-dN6.js").then((n) => n.t);
143
143
  await statusCommand({
144
144
  json,
145
145
  deep,
@@ -173,7 +173,7 @@ const routeAgentsList = {
173
173
  run: async (argv) => {
174
174
  const json = hasFlag(argv, "--json");
175
175
  const bindings = hasFlag(argv, "--bindings");
176
- const { agentsListCommand } = await import("./agents-D6V_7iZL.js").then((n) => n.t);
176
+ const { agentsListCommand } = await import("./agents-CMoRbMNW.js").then((n) => n.t);
177
177
  await agentsListCommand({
178
178
  json,
179
179
  bindings
@@ -190,7 +190,7 @@ const routeMemoryStatus = {
190
190
  const deep = hasFlag(argv, "--deep");
191
191
  const index = hasFlag(argv, "--index");
192
192
  const verbose = hasFlag(argv, "--verbose");
193
- const { runMemoryStatus } = await import("./memory-cli-Cuhhh4qN.js").then((n) => n.t);
193
+ const { runMemoryStatus } = await import("./memory-cli-D2LaloPq.js").then((n) => n.t);
194
194
  await runMemoryStatus({
195
195
  agent,
196
196
  json,
@@ -244,7 +244,7 @@ const routes = [
244
244
  const pathArg = getCommandPositionals(argv)[2];
245
245
  if (!pathArg) return false;
246
246
  const json = hasFlag(argv, "--json");
247
- const { runConfigGet } = await import("./config-cli-CLXuCFJc.js");
247
+ const { runConfigGet } = await import("./config-cli-DG8UgJ6z.js");
248
248
  await runConfigGet({
249
249
  path: pathArg,
250
250
  json
@@ -257,7 +257,7 @@ const routes = [
257
257
  run: async (argv) => {
258
258
  const pathArg = getCommandPositionals(argv)[2];
259
259
  if (!pathArg) return false;
260
- const { runConfigUnset } = await import("./config-cli-CLXuCFJc.js");
260
+ const { runConfigUnset } = await import("./config-cli-DG8UgJ6z.js");
261
261
  await runConfigUnset({ path: pathArg });
262
262
  return true;
263
263
  }
@@ -271,7 +271,7 @@ const routes = [
271
271
  const local = hasFlag(argv, "--local");
272
272
  const json = hasFlag(argv, "--json");
273
273
  const plain = hasFlag(argv, "--plain");
274
- const { modelsListCommand } = await import("./models-CdIe1IJX.js").then((n) => n.t);
274
+ const { modelsListCommand } = await import("./models-C6MaesB8.js").then((n) => n.t);
275
275
  await modelsListCommand({
276
276
  all,
277
277
  local,
@@ -302,7 +302,7 @@ const routes = [
302
302
  const plain = hasFlag(argv, "--plain");
303
303
  const check = hasFlag(argv, "--check");
304
304
  const probe = hasFlag(argv, "--probe");
305
- const { modelsStatusCommand } = await import("./models-CdIe1IJX.js").then((n) => n.t);
305
+ const { modelsStatusCommand } = await import("./models-C6MaesB8.js").then((n) => n.t);
306
306
  await modelsStatusCommand({
307
307
  json,
308
308
  plain,
@@ -380,7 +380,7 @@ async function runCli(argv = process$1.argv) {
380
380
  assertSupportedRuntime();
381
381
  if (await tryRouteCli(normalizedArgv)) return;
382
382
  enableConsoleCapture();
383
- const { buildProgram } = await import("./program-dFZ5CYgD.js");
383
+ const { buildProgram } = await import("./program-UlEVhGTo.js");
384
384
  const program = buildProgram();
385
385
  installUnhandledRejectionHandler();
386
386
  process$1.on("uncaughtException", (error) => {
@@ -412,10 +412,10 @@ async function runCli(argv = process$1.argv) {
412
412
  const { getProgramContext } = await import("./program-context-DeZ44oQ9.js").then((n) => n.n);
413
413
  const ctx = getProgramContext(program);
414
414
  if (ctx) {
415
- const { registerCoreCliByName } = await import("./command-registry-FJWuYmEn.js").then((n) => n.t);
415
+ const { registerCoreCliByName } = await import("./command-registry-iESIIBvf.js").then((n) => n.t);
416
416
  await registerCoreCliByName(program, ctx, primary, parseArgv);
417
417
  }
418
- const { registerSubCliByName } = await import("./register.subclis-BzbNYOC6.js").then((n) => n.a);
418
+ const { registerSubCliByName } = await import("./register.subclis-DHLF7LUE.js").then((n) => n.a);
419
419
  await registerSubCliByName(program, primary);
420
420
  }
421
421
  const hasBuiltinPrimary = primary !== null && program.commands.some((command) => command.name() === primary);
@@ -424,7 +424,7 @@ async function runCli(argv = process$1.argv) {
424
424
  primary,
425
425
  hasBuiltinPrimary
426
426
  })) {
427
- const { registerPluginCliCommands } = await import("./cli-B1gtEojq.js");
427
+ const { registerPluginCliCommands } = await import("./cli-B1Dxc2DT.js");
428
428
  const { loadConfig } = await import("./config-Gfhqs66L.js").then((n) => n.t);
429
429
  registerPluginCliCommands(program, loadConfig());
430
430
  }
@@ -1,7 +1,7 @@
1
1
  import { g as resolveStateDir, t as CONFIG_PATH } from "./paths-Cqn-zk3M.js";
2
2
  import { D as isPlainObject, U as getResolvedLoggerSettings, r as clamp, y as resolveUserPath } from "./utils-B-0b9bGM.js";
3
3
  import { a as normalizeElevatedLevel, c as normalizeUsageDisplay, d as supportsXHighThinking, n as formatXHighModelHint, o as normalizeReasoningLevel, s as normalizeThinkLevel, t as formatThinkingLevels } from "./thinking-EAliFiVK.js";
4
- import { $n as textToSpeech, At as resolveAgentOutboundTarget, Bn as onAgentEvent, Cr as isSystemEventContextChanged, Dt as agentCommand, En as stopSubagentsForRequester, Fr as resolveAgentTimeoutMs, G as normalizeCronJobCreate, Gn as isTtsProviderConfigured, Hn as resolveUserTimezone, It as normalizeSendPolicy, Jn as resolveTtsConfig, K as normalizeCronJobPatch, Kn as resolveTtsApiKey, Lt as resolveSendPolicy, Mn as listDescendantRunsForRequester, Nn as listSubagentRunsForRequester, Nt as resolveOutboundTarget, P as scheduleGatewaySigusr1Restart, Qn as setTtsProvider, R as formatDoctorNonInteractiveHint, S as resolveSessionModelRef, Sn as formatZonedTimestamp, Sr as enqueueSystemEvent, T as resolveOutboundSessionRoute, Tn as isAbortTrigger, U as writeRestartSentinel, Un as getTtsProvider, Ut as waitForEmbeddedPiRunEnd, Vn as registerAgentRunContext, Vt as abortEmbeddedPiRun, Wn as isTtsEnabled, Xn as resolveTtsProviderOrder, Yn as resolveTtsPrefsPath, Zn as setTtsEnabled, _ as listSessionsFromStore, _t as loadProviderUsageSummary, an as unbindThreadBindingsBySessionKey, at as applyBrowserProxyPaths, b as pruneLegacyStoreKeys, br as applyVerboseOverride, c as clearSessionQueues, er as OPENAI_TTS_MODELS, f as listTasksInWorkdir, g as listAgentsForGateway, hn as createReplyDispatcher, ht as normalizeGroupActivation, kt as resolveAgentDeliveryPlan, m as canonicalizeSpawnedByForAgent, mn as dispatchInboundMessage, n as BARE_SESSION_RESET_PROMPT, ot as persistBrowserProxyFiles, pt as loadSymiPlugins, qn as resolveTtsAutoMode, tr as OPENAI_TTS_VOICES, v as loadCombinedSessionStoreForGateway, w as ensureOutboundSessionEntry, x as resolveGatewaySessionStoreTarget, xr as parseVerboseOverride, y as loadSessionEntry, yr as applyModelOverrideToSessionEntry, zt as createOutboundSendDeps } from "./reply-Bymjl4wV.js";
4
+ import { $n as textToSpeech, At as resolveAgentOutboundTarget, Bn as onAgentEvent, Cr as isSystemEventContextChanged, Dt as agentCommand, En as stopSubagentsForRequester, Fr as resolveAgentTimeoutMs, G as normalizeCronJobCreate, Gn as isTtsProviderConfigured, Hn as resolveUserTimezone, It as normalizeSendPolicy, Jn as resolveTtsConfig, K as normalizeCronJobPatch, Kn as resolveTtsApiKey, Lt as resolveSendPolicy, Mn as listDescendantRunsForRequester, Nn as listSubagentRunsForRequester, Nt as resolveOutboundTarget, P as scheduleGatewaySigusr1Restart, Qn as setTtsProvider, R as formatDoctorNonInteractiveHint, S as resolveSessionModelRef, Sn as formatZonedTimestamp, Sr as enqueueSystemEvent, T as resolveOutboundSessionRoute, Tn as isAbortTrigger, U as writeRestartSentinel, Un as getTtsProvider, Ut as waitForEmbeddedPiRunEnd, Vn as registerAgentRunContext, Vt as abortEmbeddedPiRun, Wn as isTtsEnabled, Xn as resolveTtsProviderOrder, Yn as resolveTtsPrefsPath, Zn as setTtsEnabled, _ as listSessionsFromStore, _t as loadProviderUsageSummary, an as unbindThreadBindingsBySessionKey, at as applyBrowserProxyPaths, b as pruneLegacyStoreKeys, br as applyVerboseOverride, c as clearSessionQueues, er as OPENAI_TTS_MODELS, f as listTasksInWorkdir, g as listAgentsForGateway, hn as createReplyDispatcher, ht as normalizeGroupActivation, kt as resolveAgentDeliveryPlan, m as canonicalizeSpawnedByForAgent, mn as dispatchInboundMessage, n as BARE_SESSION_RESET_PROMPT, ot as persistBrowserProxyFiles, pt as loadSymiPlugins, qn as resolveTtsAutoMode, tr as OPENAI_TTS_VOICES, v as loadCombinedSessionStoreForGateway, w as ensureOutboundSessionEntry, x as resolveGatewaySessionStoreTarget, xr as parseVerboseOverride, y as loadSessionEntry, yr as applyModelOverrideToSessionEntry, zt as createOutboundSendDeps } from "./reply-DaLBaxTg.js";
5
5
  import { S as parseAgentSessionKey, l as resolveAgentIdFromSessionKey, m as DEFAULT_ACCOUNT_ID, o as classifySessionKeyShape, s as normalizeAgentId, t as DEFAULT_AGENT_ID, x as isSubagentSessionKey } from "./session-key-DCt45XZa.js";
6
6
  import { t as resolveSymiPackageRoot } from "./symi-root-CrGJbkzf.js";
7
7
  import { C as createInternalHookEvent, T as triggerInternalHook, d as getActivePluginRegistry, r as DEFAULT_CHAT_CHANNEL, t as CHANNEL_IDS } from "./registry-Cja8eT7G.js";
@@ -20,7 +20,7 @@ import { i as normalizeInputProvenance } from "./input-provenance-BzbXHcaD.js";
20
20
  import { n as createBrowserRouteDispatcher } from "./with-timeout-7M4c248g.js";
21
21
  import { C as getGlobalHookRunner, o as normalizeReplyPayloadsForDelivery, t as deliverOutboundPayloads } from "./deliver-DrgHcdVo.js";
22
22
  import { a as resolveAgentIdentity, t as createReplyPrefixOptions } from "./reply-prefix-CE2YmmsD.js";
23
- import { r as getMemorySearchManager } from "./memory-cli-CoTkaEhh.js";
23
+ import { r as getMemorySearchManager } from "./memory-cli-xSpyRUEV.js";
24
24
  import { $ as validateNodePairRejectParams, A as validateCronStatusParams, At as validateWebLoginWaitParams, B as validateExecApprovalsGetParams, C as validateConfigSetParams, Ct as validateSkillsUpdateParams, D as validateCronRemoveParams, Dt as validateUpdateRunParams, E as validateCronListParams, Et as validateTasksListParams, F as validateDevicePairRemoveParams, G as validateModelsListParams, Gt as rejectDevicePairing, H as validateExecApprovalsNodeSetParams, I as validateDeviceTokenRevokeParams, It as ErrorCodes, J as validateNodeInvokeParams, Jt as revokeDeviceToken, K as validateNodeDescribeParams, Kt as removePairedDevice, L as validateDeviceTokenRotateParams, Lt as errorShape, M as validateDevicePairApproveParams, Mt as validateWizardNextParams, N as validateDevicePairListParams, Nt as validateWizardStartParams, O as validateCronRunParams, Ot as validateWakeParams, P as validateDevicePairRejectParams, Pt as validateWizardStatusParams, Q as validateNodePairListParams, S as validateConfigSchemaParams, St as validateSkillsStatusParams, T as validateCronAddParams, Tt as validateTalkModeParams, U as validateExecApprovalsSetParams, V as validateExecApprovalsNodeGetParams, Vt as approveDevicePairing, W as validateLogsTailParams, Wt as listDevicePairing, X as validateNodeListParams, Xt as summarizeDeviceTokens, Y as validateNodeInvokeResultParams, Yt as rotateDeviceToken, Z as validateNodePairApproveParams, _ as validateChatInjectParams, _t as validateSessionsRestoreParams, a as validateAgentWaitParams, b as validateConfigGetParams, bt as validateSkillsBinsParams, c as validateAgentsFilesGetParams, ct as validateSessionsCompactParams, d as validateAgentsListParams, dt as validateSessionsFavoriteFileParams, et as validateNodePairRequestParams, f as validateAgentsUpdateParams, ft as validateSessionsListParams, g as validateChatHistoryParams, gt as validateSessionsResolveParams, h as validateChatAbortParams, ht as validateSessionsResetParams, i as validateAgentParams, it as validatePushTestParams, j as validateCronUpdateParams, jt as validateWizardCancelParams, k as validateCronRunsParams, kt as validateWebLoginStartParams, l as validateAgentsFilesListParams, lt as validateSessionsDeleteFileParams, m as validateChannelsStatusParams, mt as validateSessionsPreviewParams, n as formatValidationErrors, nt as validateNodeRenameParams, o as validateAgentsCreateParams, ot as validateSendParams, p as validateChannelsLogoutParams, pt as validateSessionsPatchParams, q as validateNodeEventParams, r as validateAgentIdentityParams, rt as validatePollParams, s as validateAgentsDeleteParams, st as validateSessionsAdoptFileParams, tt as validateNodePairVerifyParams, u as validateAgentsFilesSetParams, ut as validateSessionsDeleteParams, v as validateChatSendParams, vt as validateSessionsSearchParams, wt as validateTalkConfigParams, x as validateConfigPatchParams, xt as validateSkillsInstallParams, y as validateConfigApplyParams, yt as validateSessionsUsageParams, zt as parseSessionLabel } from "./client-pd8kwOFJ.js";
25
25
  import { l as authorizeOperatorScopesForMethod, s as ADMIN_SCOPE$2, u as isNodeRoleMethod } from "./call-BIETyST6.js";
26
26
  import { c as writeJsonAtomic, o as createAsyncLock, s as readJsonFile } from "./pairing-token-pooyuU2J.js";
@@ -40,14 +40,14 @@ import { t as WizardCancelledError } from "./prompts-NOUgk6FH.js";
40
40
  import { t as resolveChannelDefaultAccountId } from "./helpers-D-MrrYmt.js";
41
41
  import { t as buildChannelAccountSnapshot } from "./status-TtGsgDjP.js";
42
42
  import { o as isNodeCommandAllowed, s as resolveNodeCommandAllowlist } from "./audit-OPWWS900.js";
43
- import { n as getStatusSummary } from "./status-BfNSBvnp.js";
44
- import { s as setHeartbeatsEnabled } from "./health-CYHbTw04.js";
43
+ import { n as getStatusSummary } from "./status-vF06cYz7.js";
44
+ import { s as setHeartbeatsEnabled } from "./health-BFlZuHVH.js";
45
45
  import { m as normalizeUpdateChannel } from "./update-check-Bbvpax6u.js";
46
- import { a as sendApnsAlert, c as parseMessageWithAttachments, i as resolveApnsAuthConfigFromEnv, l as formatForLog, n as normalizeApnsEnvironment, o as sendApnsBackgroundWake, s as normalizeRpcAttachmentsToChatAttachments, t as loadApnsRegistration } from "./push-apns-CbjqnCIn.js";
47
- import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-B-NRTvyi.js";
46
+ import { a as sendApnsAlert, c as parseMessageWithAttachments, i as resolveApnsAuthConfigFromEnv, l as formatForLog, n as normalizeApnsEnvironment, o as sendApnsBackgroundWake, s as normalizeRpcAttachmentsToChatAttachments, t as loadApnsRegistration } from "./push-apns-Be_K61Y3.js";
47
+ import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-Ebtya9aN.js";
48
48
  import { t as resolveSystemRunCommand } from "./system-run-command-DKiCEPJc.js";
49
49
  import { t as installSkill } from "./skills-install-B8r7cGKR.js";
50
- import { t as runGatewayUpdate } from "./update-runner-UfVHKth_.js";
50
+ import { t as runGatewayUpdate } from "./update-runner-DV6ov2uA.js";
51
51
  import * as fs$2 from "node:fs";
52
52
  import fs from "node:fs";
53
53
  import * as os$1 from "node:os";
@@ -7509,7 +7509,7 @@ const nodeHandlers = {
7509
7509
  const p = params;
7510
7510
  const payloadJSON = typeof p.payloadJSON === "string" ? p.payloadJSON : p.payload !== void 0 ? JSON.stringify(p.payload) : null;
7511
7511
  await respondUnavailableOnThrow(respond, async () => {
7512
- const { handleNodeEvent } = await import("./server-node-events-D0gNq3h6.js");
7512
+ const { handleNodeEvent } = await import("./server-node-events-v-YRyTWm.js");
7513
7513
  const nodeId = client?.connect?.device?.id ?? client?.connect?.client?.id ?? "node";
7514
7514
  await handleNodeEvent({
7515
7515
  deps: context.deps,
@@ -12,7 +12,7 @@ import { f as GATEWAY_CLIENT_CAPS, g as hasGatewayClientCap, i as isGatewayMessa
12
12
  import { c as writeJsonAtomic, o as createAsyncLock, s as readJsonFile } from "./pairing-token-Byh6drgn.js";
13
13
  import { s as pickPrimaryLanIPv4 } from "./net-DZ5Ayk-W.js";
14
14
  import { i as normalizeInputProvenance } from "./input-provenance-D0lNkCf6.js";
15
- import { $n as resolveTtsApiKey, B as dispatchInboundMessage, C as resolveAgentDeliveryPlan, Cn as parseVerboseOverride, D as createOutboundSendDeps, Dt as normalizeCronJobCreate, G as BARE_SESSION_RESET_PROMPT, Gn as isAbortTrigger, Gt as applyBrowserProxyPaths, Hn as formatZonedTimestamp, Kn as stopSubagentsForRequester, Kt as persistBrowserProxyFiles, Ln as resolveAgentTimeoutMs, Ot as normalizeCronJobPatch, Qn as isTtsProviderConfigured, Qt as scheduleGatewaySigusr1Restart, Sn as applyVerboseOverride, Tn as isSystemEventContextChanged, Tr as registerAgentRunContext, Tt as writeRestartSentinel, V as createReplyDispatcher, Xn as getTtsProvider, Y as abortEmbeddedPiRun, Yn as resolveUserTimezone, Z as waitForEmbeddedPiRunEnd, Zn as isTtsEnabled, a as listSubagentRunsForRequester, ar as setTtsProvider, bt as formatDoctorNonInteractiveHint, c as clearSessionQueues, cr as OPENAI_TTS_VOICES, ct as ensureOutboundSessionEntry, er as resolveTtsAutoMode, ft as resolveOutboundTarget, gn as resolveSendPolicy, hn as normalizeSendPolicy, i as listDescendantRunsForRequester, in as loadProviderUsageSummary, ir as setTtsEnabled, it as listTasksInWorkdir, lt as resolveOutboundSessionRoute, m as loadSymiPlugins, nn as normalizeGroupActivation, nr as resolveTtsPrefsPath, or as textToSpeech, rr as resolveTtsProviderOrder, sr as OPENAI_TTS_MODELS, tn as unbindThreadBindingsBySessionKey, tr as resolveTtsConfig, w as resolveAgentOutboundTarget, wn as enqueueSystemEvent, wr as onAgentEvent, x as agentCommand, xn as applyModelOverrideToSessionEntry } from "./subagent-registry-0D_yjdW5.js";
15
+ import { $n as resolveTtsApiKey, B as dispatchInboundMessage, C as resolveAgentDeliveryPlan, Cn as parseVerboseOverride, D as createOutboundSendDeps, Dt as normalizeCronJobCreate, G as BARE_SESSION_RESET_PROMPT, Gn as isAbortTrigger, Gt as applyBrowserProxyPaths, Hn as formatZonedTimestamp, Kn as stopSubagentsForRequester, Kt as persistBrowserProxyFiles, Ln as resolveAgentTimeoutMs, Ot as normalizeCronJobPatch, Qn as isTtsProviderConfigured, Qt as scheduleGatewaySigusr1Restart, Sn as applyVerboseOverride, Tn as isSystemEventContextChanged, Tr as registerAgentRunContext, Tt as writeRestartSentinel, V as createReplyDispatcher, Xn as getTtsProvider, Y as abortEmbeddedPiRun, Yn as resolveUserTimezone, Z as waitForEmbeddedPiRunEnd, Zn as isTtsEnabled, a as listSubagentRunsForRequester, ar as setTtsProvider, bt as formatDoctorNonInteractiveHint, c as clearSessionQueues, cr as OPENAI_TTS_VOICES, ct as ensureOutboundSessionEntry, er as resolveTtsAutoMode, ft as resolveOutboundTarget, gn as resolveSendPolicy, hn as normalizeSendPolicy, i as listDescendantRunsForRequester, in as loadProviderUsageSummary, ir as setTtsEnabled, it as listTasksInWorkdir, lt as resolveOutboundSessionRoute, m as loadSymiPlugins, nn as normalizeGroupActivation, nr as resolveTtsPrefsPath, or as textToSpeech, rr as resolveTtsProviderOrder, sr as OPENAI_TTS_MODELS, tn as unbindThreadBindingsBySessionKey, tr as resolveTtsConfig, w as resolveAgentOutboundTarget, wn as enqueueSystemEvent, wr as onAgentEvent, x as agentCommand, xn as applyModelOverrideToSessionEntry } from "./subagent-registry--ttOPMLH.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-CpDbQNFu.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-BWETfI9T.js";
@@ -21,7 +21,7 @@ import { t as movePathToTrash } from "./trash-CWQQXWX3.js";
21
21
  import { c as resolveStorePath, n as resolveSessionFilePath, r as resolveSessionFilePathOptions, s as resolveSessionTranscriptsDirForAgent } from "./paths-DNdWAq7b.js";
22
22
  import { a as normalizeElevatedLevel, c as normalizeUsageDisplay, d as supportsXHighThinking, n as formatXHighModelHint, o as normalizeReasoningLevel, s as normalizeThinkLevel, t as formatThinkingLevels } from "./thinking-8sKPnzpp.js";
23
23
  import { a as resolveAgentIdentity, t as createReplyPrefixOptions } from "./reply-prefix-BUN71nd5.js";
24
- import { r as getMemorySearchManager } from "./memory-cli-Cuhhh4qN.js";
24
+ import { r as getMemorySearchManager } from "./memory-cli-D2LaloPq.js";
25
25
  import { a as loadCombinedSessionStoreForGateway, c as resolveGatewaySessionStoreTarget, i as listSessionsFromStore, l as resolveSessionModelRef, o as loadSessionEntry, r as listAgentsForGateway, s as pruneLegacyStoreKeys, t as canonicalizeSpawnedByForAgent } from "./session-utils--1xVj2BC.js";
26
26
  import { _ as requestNodePairing, g as renamePairedNode, h as rejectNodePairing, m as listNodePairing, o as getRemoteSkillEligibility, p as approveNodePairing, y as verifyNodeToken } from "./skill-commands-DrX4xCNq.js";
27
27
  import { t as listAgentWorkspaceDirs } from "./workspace-dirs-DVn-uDvF.js";
@@ -38,14 +38,14 @@ import { t as WizardCancelledError } from "./prompts-DbHSz44H.js";
38
38
  import { t as resolveChannelDefaultAccountId } from "./helpers-gWnZ9zWR.js";
39
39
  import { t as buildChannelAccountSnapshot } from "./status-B8TZsG0t.js";
40
40
  import { o as isNodeCommandAllowed, s as resolveNodeCommandAllowlist } from "./audit-DGwhL71Q.js";
41
- import { r as getStatusSummary } from "./status-CGabcN-L.js";
42
- import { c as setHeartbeatsEnabled } from "./health-Bvo3NXZK.js";
41
+ import { r as getStatusSummary } from "./status-87Am-dN6.js";
42
+ import { c as setHeartbeatsEnabled } from "./health-C5cdo2e_.js";
43
43
  import { m as normalizeUpdateChannel } from "./update-check-BNjupSIM.js";
44
- 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-CQlSAman.js";
45
- import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-BeX0kxT3.js";
44
+ 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-Cr9FKn9_.js";
45
+ import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-BLuBIvek.js";
46
46
  import { t as resolveSystemRunCommand } from "./system-run-command-B_qw8CXP.js";
47
47
  import { t as installSkill } from "./skills-install-BnEN_qla.js";
48
- import { t as runGatewayUpdate } from "./update-runner-CfzHxbsu.js";
48
+ import { t as runGatewayUpdate } from "./update-runner-Bl0Y3ndR.js";
49
49
  import { spawnSync } from "node:child_process";
50
50
  import * as os$1 from "node:os";
51
51
  import os from "node:os";
@@ -7507,7 +7507,7 @@ const nodeHandlers = {
7507
7507
  const p = params;
7508
7508
  const payloadJSON = typeof p.payloadJSON === "string" ? p.payloadJSON : p.payload !== void 0 ? JSON.stringify(p.payload) : null;
7509
7509
  await respondUnavailableOnThrow(respond, async () => {
7510
- const { handleNodeEvent } = await import("./server-node-events-tbjGwgHF.js");
7510
+ const { handleNodeEvent } = await import("./server-node-events-Dwq8UMWp.js");
7511
7511
  const nodeId = client?.connect?.device?.id ?? client?.connect?.client?.id ?? "node";
7512
7512
  await handleNodeEvent({
7513
7513
  deps: context.deps,
@@ -15,7 +15,7 @@ import "./client-CJIMV1WD.js";
15
15
  import "./call-BCTAmPye.js";
16
16
  import "./message-channel-C9dERklz.js";
17
17
  import "./pairing-token-Byh6drgn.js";
18
- import { T as createOutboundSendDeps, fn as requestHeartbeatNow, ft as resolveOutboundTarget, wn as enqueueSystemEvent, x as agentCommand } from "./subagent-registry-0D_yjdW5.js";
18
+ import { T as createOutboundSendDeps, fn as requestHeartbeatNow, ft as resolveOutboundTarget, wn as enqueueSystemEvent, x as agentCommand } from "./subagent-registry--ttOPMLH.js";
19
19
  import { d as updateSessionStore } from "./sessions-CpDbQNFu.js";
20
20
  import "./tokens-Csntmwwn.js";
21
21
  import { r as normalizeChannelId } from "./plugins-CwSlLxM8.js";
@@ -53,8 +53,8 @@ import "./tool-images-CVLISeRT.js";
53
53
  import "./thinking-8sKPnzpp.js";
54
54
  import "./models-config-frWb8fDT.js";
55
55
  import "./reply-prefix-BUN71nd5.js";
56
- import "./memory-cli-Cuhhh4qN.js";
57
- import "./manager-BsfrsBPw.js";
56
+ import "./memory-cli-D2LaloPq.js";
57
+ import "./manager-DNxvT0P-.js";
58
58
  import "./gemini-auth-DEakvf-D.js";
59
59
  import "./retry-C4Q_VPOo.js";
60
60
  import "./sqlite-BP8tiuca.js";
@@ -99,7 +99,7 @@ import "./onboard-helpers-Ca4KojJF.js";
99
99
  import "./prompt-style-BxVdnrLq.js";
100
100
  import "./pairing-labels-BHx_CdbP.js";
101
101
  import "./pi-tools.policy-BFsWV2pS.js";
102
- import { c as parseMessageWithAttachments, l as formatForLog, r as registerApnsToken, s as normalizeRpcAttachmentsToChatAttachments } from "./push-apns-CQlSAman.js";
102
+ import { c as parseMessageWithAttachments, l as formatForLog, r as registerApnsToken, s as normalizeRpcAttachmentsToChatAttachments } from "./push-apns-Cr9FKn9_.js";
103
103
  import { randomUUID } from "node:crypto";
104
104
 
105
105
  //#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 { Dt as agentCommand, Ft as createOutboundSendDeps, Nt as resolveOutboundTarget, Sr as enqueueSystemEvent, b as pruneLegacyStoreKeys, ct as requestHeartbeatNow, x as resolveGatewaySessionStoreTarget, y as loadSessionEntry } from "./reply-Bymjl4wV.js";
4
+ import { Dt as agentCommand, Ft as createOutboundSendDeps, Nt as resolveOutboundTarget, Sr as enqueueSystemEvent, b as pruneLegacyStoreKeys, ct as requestHeartbeatNow, x as resolveGatewaySessionStoreTarget, y as loadSessionEntry } from "./reply-DaLBaxTg.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";
@@ -61,8 +61,8 @@ import "./diagnostic-session-state-CUslJyKP.js";
61
61
  import "./send-aXMPprv9.js";
62
62
  import "./model-ECsJuJew.js";
63
63
  import "./reply-prefix-CE2YmmsD.js";
64
- import "./memory-cli-CoTkaEhh.js";
65
- import "./manager-CB20PmUH.js";
64
+ import "./memory-cli-xSpyRUEV.js";
65
+ import "./manager-Ca7NOWdK.js";
66
66
  import "./retry-BoS4e4X_.js";
67
67
  import "./sqlite-D55gRQbH.js";
68
68
  import "./target-errors-C9e6dMU_.js";
@@ -103,7 +103,7 @@ import "./pi-tools.policy-54ABEJtH.js";
103
103
  import "./control-service-BkyH7qkF.js";
104
104
  import "./stagger-CZ1Rrj7O.js";
105
105
  import "./channel-selection-9fIQGtZy.js";
106
- import { c as parseMessageWithAttachments, l as formatForLog, r as registerApnsToken, s as normalizeRpcAttachmentsToChatAttachments } from "./push-apns-CbjqnCIn.js";
106
+ import { c as parseMessageWithAttachments, l as formatForLog, r as registerApnsToken, s as normalizeRpcAttachmentsToChatAttachments } from "./push-apns-Be_K61Y3.js";
107
107
  import { randomUUID } from "node:crypto";
108
108
 
109
109
  //#region src/gateway/server-node-events.ts
@@ -9,13 +9,13 @@ import { c as resolveAgentWorkspaceDir } from "./agent-scope-D-jRCY0d.js";
9
9
  import { t as buildWorkspaceSkillStatus } from "./skills-status-DODCG6UU.js";
10
10
  import { H as VERSION, i as loadConfig, o as readConfigFileSnapshot } from "./config-Gfhqs66L.js";
11
11
  import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-BCTAmPye.js";
12
- import { Ct as summarizeRestartSentinel, Dn as peekSystemEvents, St as readRestartSentinel, an as formatUsageReportLines, cn as buildChannelSummary, in as loadProviderUsageSummary, ln as buildChannelAccountSnapshot, nt as sha256HexPrefix, un as formatChannelAllowFrom } from "./subagent-registry-0D_yjdW5.js";
12
+ import { Ct as summarizeRestartSentinel, Dn as peekSystemEvents, St as readRestartSentinel, an as formatUsageReportLines, cn as buildChannelSummary, in as loadProviderUsageSummary, ln as buildChannelAccountSnapshot, nt as sha256HexPrefix, un as formatChannelAllowFrom } from "./subagent-registry--ttOPMLH.js";
13
13
  import { F as resolveMainSessionKey, j as resolveFreshSessionTotalTokens, o as loadSessionStore } from "./sessions-CpDbQNFu.js";
14
14
  import { n as listChannelPlugins } from "./plugins-CwSlLxM8.js";
15
15
  import { o as getTailnetHostname, s as readTailscaleStatusJson } from "./tailscale-CbbvYNVw.js";
16
16
  import { i as formatPortDiagnostics, n as inspectPortUsage } from "./ports-2xFXbwLq.js";
17
17
  import { c as resolveStorePath } from "./paths-DNdWAq7b.js";
18
- import { r as getMemorySearchManager } from "./memory-cli-Cuhhh4qN.js";
18
+ import { r as getMemorySearchManager } from "./memory-cli-D2LaloPq.js";
19
19
  import { n as formatTimeAgo } from "./format-relative-BDwAggS5.js";
20
20
  import { l as resolveSessionModelRef, n as classifySessionKey, r as listAgentsForGateway, u as lookupContextTokens } from "./session-utils--1xVj2BC.js";
21
21
  import { o as getRemoteSkillEligibility } from "./skill-commands-DrX4xCNq.js";
@@ -29,7 +29,7 @@ import { t as formatRuntimeStatusWithDetails } from "./runtime-status-DJYthOLz.j
29
29
  import { t as readLastGatewayErrorLine } from "./diagnostics-C6xPE2ln.js";
30
30
  import { t as renderTable } from "./table-Bka4fasy.js";
31
31
  import { a as resolveGatewayProbeAuth$1, c as probeGateway, t as runSecurityAudit } from "./audit-DGwhL71Q.js";
32
- import { o as resolveHeartbeatSummaryForAgent, t as formatHealthChannelLines } from "./health-Bvo3NXZK.js";
32
+ import { o as resolveHeartbeatSummaryForAgent, t as formatHealthChannelLines } from "./health-C5cdo2e_.js";
33
33
  import { g as resolveUpdateChannelDisplay, i as formatGitInstallLabel, m as normalizeUpdateChannel, t as checkUpdateStatus } from "./update-check-BNjupSIM.js";
34
34
  import { t as resolveNodeService } from "./node-service-B-qdOCNb.js";
35
35
  import { n as redactSecrets, t as formatGatewayAuthUsed } from "./format-yQZNwAF2.js";
@@ -1,4 +1,4 @@
1
- import { ft as createPluginLoaderLogger, pt as loadSymiPlugins } from "./reply-Bymjl4wV.js";
1
+ import { ft as createPluginLoaderLogger, pt as loadSymiPlugins } from "./reply-DaLBaxTg.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-CitI_jxW.js";
@@ -1,7 +1,7 @@
1
1
  import { o as createSubsystemLogger } from "./entry.js";
2
2
  import { D as resolveDefaultAgentWorkspaceDir, c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-D-jRCY0d.js";
3
3
  import { i as loadConfig } from "./config-Gfhqs66L.js";
4
- import { m as loadSymiPlugins, p as createPluginLoaderLogger } from "./subagent-registry-0D_yjdW5.js";
4
+ import { m as loadSymiPlugins, p as createPluginLoaderLogger } from "./subagent-registry--ttOPMLH.js";
5
5
 
6
6
  //#region src/plugins/status.ts
7
7
  const log = createSubsystemLogger("plugins");