@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 { h as pathExists, y as resolveUserPath } 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 { p as restoreTerminalState } from "./subsystem-D9vIQve0.js";
7
7
  import "./exec-CWkblSrI.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";
@@ -104,16 +104,16 @@ import "./control-service-BkyH7qkF.js";
104
104
  import "./stagger-CZ1Rrj7O.js";
105
105
  import "./channel-selection-9fIQGtZy.js";
106
106
  import "./runtime-guard-BKFbNplo.js";
107
- import "./program-context-ByWsh-2T.js";
107
+ import "./program-context-BFvY5D79.js";
108
108
  import "./note-ByDX0v9V.js";
109
- import { r as installCompletion } from "./completion-cli-C20c_vzO.js";
109
+ import { r as installCompletion } from "./completion-cli-euUBlC-J.js";
110
110
  import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-C-Mwepv_.js";
111
111
  import { r as isSystemdUserServiceAvailable } from "./systemd-Xs16roN5.js";
112
112
  import { t as resolveGatewayService } from "./service-DzLem5vL.js";
113
- import { r as healthCommand } from "./health-CYHbTw04.js";
113
+ import { r as healthCommand } from "./health-BFlZuHVH.js";
114
114
  import { t as ensureControlUiAssetsBuilt } from "./control-ui-assets-BrP31IQR.js";
115
115
  import { t as formatHealthCheckFailure } from "./health-format-Ct4VWeSk.js";
116
- import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-B4pjrehH.js";
116
+ import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-B-Oak4dP.js";
117
117
  import { t as runTui } from "./tui-Cc1L4YuN.js";
118
118
  import os from "node:os";
119
119
  import path from "node:path";
@@ -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";
@@ -100,18 +100,18 @@ import "./prompt-style-BxVdnrLq.js";
100
100
  import "./pairing-labels-BHx_CdbP.js";
101
101
  import "./pi-tools.policy-BFsWV2pS.js";
102
102
  import "./note-DewoEWtc.js";
103
- import "./register.subclis-BzbNYOC6.js";
104
- import "./command-registry-FJWuYmEn.js";
103
+ import "./register.subclis-DHLF7LUE.js";
104
+ import "./command-registry-iESIIBvf.js";
105
105
  import "./program-context-DeZ44oQ9.js";
106
- import { r as installCompletion } from "./completion-cli-DWVW4P54.js";
106
+ import { r as installCompletion } from "./completion-cli-BEddBU3C.js";
107
107
  import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-C86WnKU5.js";
108
108
  import "./runtime-guard-BofkqBu7.js";
109
109
  import { r as isSystemdUserServiceAvailable } from "./systemd-CJ5L2ee4.js";
110
110
  import { t as resolveGatewayService } from "./service-RxN7lQKN.js";
111
- import { r as healthCommand } from "./health-Bvo3NXZK.js";
111
+ import { r as healthCommand } from "./health-C5cdo2e_.js";
112
112
  import { t as ensureControlUiAssetsBuilt } from "./control-ui-assets-Clf7H-Sm.js";
113
113
  import { t as formatHealthCheckFailure } from "./health-format-DkjSgkDx.js";
114
- import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-C9A7E6Wb.js";
114
+ import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-BGriRzaq.js";
115
115
  import { t as runTui } from "./tui-D5we2kr7.js";
116
116
  import os from "node:os";
117
117
  import path from "node:path";
@@ -37,7 +37,7 @@ import { i as resolveSessionTranscriptPath, n as resolveSessionFilePath, o as re
37
37
  import { t as emitSessionTranscriptUpdate } from "./transcript-events-C8Tqw4td.js";
38
38
  import { i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, r as sanitizeToolResultImages } from "./tool-images-ChC2CXaN.js";
39
39
  import { S as ensureSymiModelsJson, _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as stripReasoningTagsFromText, c as extractAssistantText$1, d as extractThinkingFromTaggedText, f as formatReasoningMessage, g as stripDowngradedToolCallText, h as promoteThinkingTagsToBlocks, i as coerceImageModelConfig, l as extractAssistantThinking, m as isAssistantMessage, o as resolveProviderVisionModelFromConfig, p as inferToolMetaFromArgs, r as coerceImageAssistantText, s as minimaxUnderstandImage, u as extractThinkingFromTaggedStream, v as stripThinkingTagsFromText, x as extractTextFromChatContent, y as resolveToolDisplay } from "./image-BjyeKf1c.js";
40
- import { a as resolveMemorySearchConfig, i as resolveOllamaBaseUrl, r as probeOllamaEmbeddingModels, t as MemoryIndexManager } from "./manager-Bj8GFlcZ.js";
40
+ import { a as resolveMemorySearchConfig, i as resolveOllamaBaseUrl, r as probeOllamaEmbeddingModels, t as MemoryIndexManager } from "./manager-SbxZtjEc.js";
41
41
  import { c as normalizeExtraMemoryPaths, f as runTasksWithConcurrency, s as listMemoryFiles } from "./internal-479FB0St.js";
42
42
  import { n as retryAsync } from "./retry-QGp0jvVi.js";
43
43
  import { a as createActionGate, c as jsonResult, d as readReactionParams, f as readStringArrayParam, l as parseAvailableTags, m as readStringParam, n as missingTargetError, o as imageResult, p as readStringOrNumberParam, r as unknownTargetError, s as imageResultFromFile, t as ambiguousTargetError, u as readNumberParam } from "./target-errors-Dm716SF3.js";
@@ -3473,7 +3473,7 @@ async function getMemorySearchManager(params) {
3473
3473
  const wrapper = new FallbackMemoryManager({
3474
3474
  primary,
3475
3475
  fallbackFactory: async () => {
3476
- const { MemoryIndexManager } = await import("./manager-Bj8GFlcZ.js").then((n) => n.n);
3476
+ const { MemoryIndexManager } = await import("./manager-SbxZtjEc.js").then((n) => n.n);
3477
3477
  return await MemoryIndexManager.get(params);
3478
3478
  }
3479
3479
  }, () => QMD_MANAGER_CACHE.delete(cacheKey));
@@ -3486,7 +3486,7 @@ async function getMemorySearchManager(params) {
3486
3486
  }
3487
3487
  }
3488
3488
  try {
3489
- const { MemoryIndexManager } = await import("./manager-Bj8GFlcZ.js").then((n) => n.n);
3489
+ const { MemoryIndexManager } = await import("./manager-SbxZtjEc.js").then((n) => n.n);
3490
3490
  return { manager: await MemoryIndexManager.get(params) };
3491
3491
  } catch (err) {
3492
3492
  return {
@@ -18691,6 +18691,41 @@ async function executeNodeHostCommand(params) {
18691
18691
 
18692
18692
  //#endregion
18693
18693
  //#region src/agents/bash-tools.exec.ts
18694
+ let cachedSymiNodeModules;
18695
+ /**
18696
+ * Returns the absolute path to Symi's bundled `node_modules` directory, so
18697
+ * gateway-host node scripts can `require()` packages that ship with Symi
18698
+ * (docx / exceljs / pptxgenjs / pdfkit for the document-generation skill,
18699
+ * plus any future bundled npm dep). Cached for the process lifetime.
18700
+ *
18701
+ * Returns null when Symi's package root can't be resolved (development
18702
+ * setups outside a package, broken installs).
18703
+ */
18704
+ function resolveSymiNodeModulesPath() {
18705
+ if (cachedSymiNodeModules !== void 0) return cachedSymiNodeModules;
18706
+ const root = resolveSymiPackageRootSync({});
18707
+ cachedSymiNodeModules = root ? path.join(root, "node_modules") : null;
18708
+ return cachedSymiNodeModules;
18709
+ }
18710
+ /**
18711
+ * Append Symi's bundled node_modules path to NODE_PATH so gateway-host
18712
+ * scripts (run via the `exec` tool with `host: "gateway"`) can resolve
18713
+ * Symi-bundled npm packages from any cwd. Existing NODE_PATH (user
18714
+ * override or test fixture) is preserved by appending, not replacing.
18715
+ */
18716
+ function applySymiNodePath(env) {
18717
+ const symiModules = resolveSymiNodeModulesPath();
18718
+ if (!symiModules) return;
18719
+ const existing = env.NODE_PATH?.trim();
18720
+ if (!existing) {
18721
+ env.NODE_PATH = symiModules;
18722
+ return;
18723
+ }
18724
+ const sep = path.delimiter;
18725
+ const segments = existing.split(sep).filter(Boolean);
18726
+ if (!segments.includes(symiModules)) segments.push(symiModules);
18727
+ env.NODE_PATH = segments.join(sep);
18728
+ }
18694
18729
  function extractScriptTargetFromCommand(command) {
18695
18730
  const raw = command.trim();
18696
18731
  if (!raw) return null;
@@ -18840,6 +18875,7 @@ function createExecTool(defaults) {
18840
18875
  env: process.env,
18841
18876
  timeoutMs: resolveShellEnvFallbackTimeoutMs(process.env)
18842
18877
  }));
18878
+ if (!sandbox && host === "gateway") applySymiNodePath(env);
18843
18879
  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.");
18844
18880
  else applyPathPrepend(env, defaultPathPrepend);
18845
18881
  if (host === "node") return executeNodeHostCommand({
@@ -62055,7 +62091,7 @@ function isVoiceChannelType(type) {
62055
62091
  function createDefaultDeps() {
62056
62092
  return {
62057
62093
  sendMessageWhatsApp: async (...args) => {
62058
- const { sendMessageWhatsApp } = await import("./web-DaChMSyM.js");
62094
+ const { sendMessageWhatsApp } = await import("./web-DcZB_7Fo.js");
62059
62095
  return await sendMessageWhatsApp(...args);
62060
62096
  },
62061
62097
  sendMessageTelegram: async (...args) => {
@@ -77335,7 +77371,7 @@ function loadWebLoginQr() {
77335
77371
  return webLoginQrPromise;
77336
77372
  }
77337
77373
  function loadWebChannel() {
77338
- webChannelPromise ??= import("./web-DaChMSyM.js");
77374
+ webChannelPromise ??= import("./web-DcZB_7Fo.js");
77339
77375
  return webChannelPromise;
77340
77376
  }
77341
77377
  function loadWhatsAppActions() {
@@ -1,5 +1,5 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { pt as loadSymiPlugins } from "./reply-Bymjl4wV.js";
2
+ import { pt as loadSymiPlugins } from "./reply-DaLBaxTg.js";
3
3
  import { d as getActivePluginRegistry } from "./registry-Cja8eT7G.js";
4
4
  import { t as createSubsystemLogger } from "./subsystem-D9vIQve0.js";
5
5
  import { c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-CgUHAtCo.js";
@@ -2,7 +2,7 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { M as getActivePluginRegistry, o as createSubsystemLogger } from "./entry.js";
3
3
  import { c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-D-jRCY0d.js";
4
4
  import { i as loadConfig } from "./config-Gfhqs66L.js";
5
- import { m as loadSymiPlugins } from "./subagent-registry-0D_yjdW5.js";
5
+ import { m as loadSymiPlugins } from "./subagent-registry--ttOPMLH.js";
6
6
 
7
7
  //#region src/cli/plugin-registry.ts
8
8
  var plugin_registry_exports = /* @__PURE__ */ __exportAll({ ensurePluginRegistryLoaded: () => ensurePluginRegistryLoaded });
@@ -1,6 +1,6 @@
1
1
  import { a as buildGroupHistoryKey, n as DEFAULT_MAIN_KEY, r as buildAgentMainSessionKey, s as normalizeAgentId } from "./session-key-C_0eELjb.js";
2
2
  import { f as readWebSelfId, o as getWebAuthAgeMs, r as resolveWhatsAppAccount } from "./accounts-D9zGZU5t.js";
3
- import { D as enqueueSystemEvent, G as shouldAckReactionForWhatsApp, K as resolveMentionGating, X as DEFAULT_GROUP_HISTORY_LIMIT, Z as buildHistoryContextFromEntries, _ as formatInboundEnvelope, b as shouldComputeCommandAuthorized, c as computeBackoff, d as buildPairingReply, f as formatDurationPrecise, g as resolveInboundDebounceMs, gt as createDedupeCache, h as createInboundDebouncer, it as normalizeMentionText, l as sleepWithAbort, n as normalizeGroupActivation, nt as recordPendingHistoryEntryIfEnabled, p as dispatchReplyWithBufferedBlockDispatcher, r as parseActivationCommand, rt as buildMentionRegexes, t as getReplyFromConfig, v as resolveEnvelopeFormatOptions, y as hasControlCommand } from "./reply-DYEklKOc.js";
3
+ import { D as enqueueSystemEvent, G as shouldAckReactionForWhatsApp, K as resolveMentionGating, X as DEFAULT_GROUP_HISTORY_LIMIT, Z as buildHistoryContextFromEntries, _ as formatInboundEnvelope, b as shouldComputeCommandAuthorized, c as computeBackoff, d as buildPairingReply, f as formatDurationPrecise, g as resolveInboundDebounceMs, gt as createDedupeCache, h as createInboundDebouncer, it as normalizeMentionText, l as sleepWithAbort, n as normalizeGroupActivation, nt as recordPendingHistoryEntryIfEnabled, p as dispatchReplyWithBufferedBlockDispatcher, r as parseActivationCommand, rt as buildMentionRegexes, t as getReplyFromConfig, v as resolveEnvelopeFormatOptions, y as hasControlCommand } from "./reply-Bfy77FPA.js";
4
4
  import { A as normalizeE164, B as toWhatsappJid, K as logVerbose, N as resolveJidToE164, O as isSelfChatMode, R as sleep, Y as shouldLogVerbose, k as jidToE164, s as normalizeChatChannelId, tt as getChildLogger, x as clamp } from "./registry--_pGht6S.js";
5
5
  import { n as loadConfig } from "./config-Cf-PzD3r.js";
6
6
  import { i as defaultRuntime, t as createSubsystemLogger } from "./subsystem-Coz2AgU8.js";
@@ -1,6 +1,6 @@
1
1
  import { f as DEFAULT_ACCOUNT_ID, p as normalizeAccountId } from "./session-key-C_0eELjb.js";
2
2
  import { _ as createAccountListHelpers, i as resolveWhatsAppAuthDir, n as resolveDefaultWhatsAppAccountId, r as resolveWhatsAppAccount, t as listWhatsAppAccountIds } from "./accounts-D9zGZU5t.js";
3
- import { $ as clearHistoryEntries, A as detectBinary, At as CHANNEL_MESSAGE_ACTION_NAMES, B as logInboundDrop, C as processLineMessage, Ct as listThreadBindingsBySessionKey, Dt as BLUEBUBBLES_ACTIONS, E as attachFooterText, Et as resolveAllowlistMatchSimple, F as optionalStringEnum, G as shouldAckReactionForWhatsApp, H as createTypingCallbacks, I as stringEnum, J as mergeAllowlist, K as resolveMentionGating, L as recordInboundSession, M as resolveDiscordChannelAllowlist, N as collectDiscordAuditChannelIds, O as resolveSlackUserAllowlist, Ot as BLUEBUBBLES_ACTION_NAMES, P as formatDocsLink, Q as buildPendingHistoryContextFromMap, R as resolveControlCommandGate, S as hasMarkdownToConvert, St as autoBindSpawnedDiscordSubagent, T as createReceiptCard, Tt as formatAllowlistMatchMeta, U as removeAckReactionAfterReply, V as logTypingFailure, W as shouldAckReaction, X as DEFAULT_GROUP_HISTORY_LIMIT, Y as summarizeMapping, _t as approveDevicePairing, a as normalizeAccountId$1, at as isWSL2Sync, bt as extractToolSend, ct as DEFAULT_WEBHOOK_BODY_TIMEOUT_MS, dt as installRequestBodyLimitGuard, et as clearHistoryEntriesIfEnabled, ft as isRequestBodyLimitError, gt as createDedupeCache, ht as requestBodyErrorToText, i as listLineAccountIds, j as resolveDiscordUserAllowlist, k as resolveSlackChannelAllowlist, kt as BLUEBUBBLES_GROUP_ACTIONS, lt as DEFAULT_WEBHOOK_MAX_BODY_BYTES, mt as readRequestBodyWithLimit, nt as recordPendingHistoryEntryIfEnabled, o as resolveDefaultLineAccountId, ot as isWSLEnv, pt as readJsonBodyWithLimit, q as resolveMentionGatingWithBypass, s as resolveLineAccount, st as isWSLSync, tt as recordPendingHistoryEntry, ut as RequestBodyLimitError, vt as listDevicePairing, w as stripMarkdown, wt as unbindThreadBindingsBySessionKey, xt as registerPluginHttpRoute, yt as rejectDevicePairing, z as logAckFailure } from "./reply-DYEklKOc.js";
3
+ import { $ as clearHistoryEntries, A as detectBinary, At as CHANNEL_MESSAGE_ACTION_NAMES, B as logInboundDrop, C as processLineMessage, Ct as listThreadBindingsBySessionKey, Dt as BLUEBUBBLES_ACTIONS, E as attachFooterText, Et as resolveAllowlistMatchSimple, F as optionalStringEnum, G as shouldAckReactionForWhatsApp, H as createTypingCallbacks, I as stringEnum, J as mergeAllowlist, K as resolveMentionGating, L as recordInboundSession, M as resolveDiscordChannelAllowlist, N as collectDiscordAuditChannelIds, O as resolveSlackUserAllowlist, Ot as BLUEBUBBLES_ACTION_NAMES, P as formatDocsLink, Q as buildPendingHistoryContextFromMap, R as resolveControlCommandGate, S as hasMarkdownToConvert, St as autoBindSpawnedDiscordSubagent, T as createReceiptCard, Tt as formatAllowlistMatchMeta, U as removeAckReactionAfterReply, V as logTypingFailure, W as shouldAckReaction, X as DEFAULT_GROUP_HISTORY_LIMIT, Y as summarizeMapping, _t as approveDevicePairing, a as normalizeAccountId$1, at as isWSL2Sync, bt as extractToolSend, ct as DEFAULT_WEBHOOK_BODY_TIMEOUT_MS, dt as installRequestBodyLimitGuard, et as clearHistoryEntriesIfEnabled, ft as isRequestBodyLimitError, gt as createDedupeCache, ht as requestBodyErrorToText, i as listLineAccountIds, j as resolveDiscordUserAllowlist, k as resolveSlackChannelAllowlist, kt as BLUEBUBBLES_GROUP_ACTIONS, lt as DEFAULT_WEBHOOK_MAX_BODY_BYTES, mt as readRequestBodyWithLimit, nt as recordPendingHistoryEntryIfEnabled, o as resolveDefaultLineAccountId, ot as isWSLEnv, pt as readJsonBodyWithLimit, q as resolveMentionGatingWithBypass, s as resolveLineAccount, st as isWSLSync, tt as recordPendingHistoryEntry, ut as RequestBodyLimitError, vt as listDevicePairing, w as stripMarkdown, wt as unbindThreadBindingsBySessionKey, xt as registerPluginHttpRoute, yt as rejectDevicePairing, z as logAckFailure } from "./reply-Bfy77FPA.js";
4
4
  import "./paths-DR2yt_mP.js";
5
5
  import "./github-copilot-token-D9X2phUj.js";
6
6
  import { D as resolveSlackAccount, E as resolveDefaultSlackAccountId, F as resolveDiscordAccount, M as listDiscordAccountIds, O as resolveSlackReplyToMode, P as resolveDefaultDiscordAccountId, S as resolveTelegramAccount, T as listSlackAccountIds, _ as normalizeWhatsAppTarget, a as listDiscordDirectoryPeersFromConfig, b as listTelegramAccountIds, c as listTelegramDirectoryGroupsFromConfig, d as listWhatsAppDirectoryPeersFromConfig, f as looksLikeSlackTargetId, g as isWhatsAppGroupJid, i as listDiscordDirectoryGroupsFromConfig, l as listTelegramDirectoryPeersFromConfig, o as listSlackDirectoryGroupsFromConfig, p as normalizeSlackMessagingTarget, s as listSlackDirectoryPeersFromConfig, u as listWhatsAppDirectoryGroupsFromConfig, w as listEnabledSlackAccounts, x as resolveDefaultTelegramAccountId } from "./plugins-BbAvhC25.js";
@@ -47,12 +47,12 @@ import "./paths-A0xdf3yk.js";
47
47
  import { h as onDiagnosticEvent, m as isDiagnosticsEnabled, p as emitDiagnosticEvent } from "./diagnostic-_oc91gNi.js";
48
48
  import { n as extractOriginalFilename } from "./store-Do3t33-c.js";
49
49
  import { t as resolveWhatsAppOutboundTarget } from "./resolve-outbound-target-BkCUbYGV.js";
50
- import { r as resolveWhatsAppHeartbeatRecipients } from "./channel-web-CzZZsS3O.js";
50
+ import { r as resolveWhatsAppHeartbeatRecipients } from "./channel-web-DYJYy4et.js";
51
51
  import "./image-CS95I-I5.js";
52
52
  import "./pi-model-discovery-LbcEa65a.js";
53
53
  import "./api-key-rotation-CBsLb_4V.js";
54
54
  import "./diagnostic-session-state-Wd5tNeQG.js";
55
- import "./manager-BiRYpsW7.js";
55
+ import "./manager-Ca0_Buoj.js";
56
56
  import "./sqlite-CmVrFEYD.js";
57
57
  import "./commands-registry-BuYpmEx-.js";
58
58
  import "./send-BfqyNBU1.js";
@@ -3970,7 +3970,7 @@ var MemoryIndexManager = class MemoryIndexManager extends MemoryManagerEmbedding
3970
3970
  * to bypass the min-interval guard (CLI use).
3971
3971
  */
3972
3972
  async runL3CycleIfDue(params) {
3973
- const [{ runL3Cycle, runL3CycleIfDue }, { createSynthesizer }] = await Promise.all([import("./consolidate-CafShdsH.js"), import("./synthesis-CaDiVumM.js")]);
3973
+ const [{ runL3Cycle, runL3CycleIfDue }, { createSynthesizer }] = await Promise.all([import("./consolidate-CafShdsH.js"), import("./synthesis-D9SmRgqU.js")]);
3974
3974
  const synthesize = createSynthesizer({
3975
3975
  cfg: this.cfg,
3976
3976
  agentId: this.agentId,
@@ -53,7 +53,7 @@ import { S as minimaxUnderstandImage, _ as stripThinkingTagsFromText, a as decod
53
53
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-LbcEa65a.js";
54
54
  import { c as normalizeExtraMemoryPaths, m as runTasksWithConcurrency, s as listMemoryFiles } from "./internal-Qi-tyvHh.js";
55
55
  import { r as getDiagnosticSessionState } from "./diagnostic-session-state-Wd5tNeQG.js";
56
- import { a as resolveMemorySearchConfig, i as resolveOllamaBaseUrl, r as probeOllamaEmbeddingModels, t as MemoryIndexManager } from "./manager-BiRYpsW7.js";
56
+ import { a as resolveMemorySearchConfig, i as resolveOllamaBaseUrl, r as probeOllamaEmbeddingModels, t as MemoryIndexManager } from "./manager-Ca0_Buoj.js";
57
57
  import { _ as resolveNativeCommandsEnabled, a as listChatCommandsForConfig, c as normalizeCommandBody, d as resolveCommandArgMenu, f as serializeCommandArgs, g as isRestartEnabled, h as isNativeCommandsExplicitlyDisabled, i as listChatCommands, l as parseCommandArgs, m as isCommandFlagEnabled, o as listNativeCommandSpecs, p as shouldHandleTextCommands, r as findCommandByNativeName, s as listNativeCommandSpecsForConfig, t as buildCommandTextFromArgs, u as resolveCommandArgChoices, v as resolveNativeSkillsEnabled } from "./commands-registry-BuYpmEx-.js";
58
58
  import { c as signalRpcRequest, l as streamSignalEvents, n as sendReadReceiptSignal, o as resolveSignalRpcContext, r as sendTypingSignal, s as signalCheck, t as sendMessageSignal } from "./send-BfqyNBU1.js";
59
59
  import { t as makeProxyFetch } from "./proxy-D27OUbrW.js";
@@ -11638,7 +11638,7 @@ async function getMemorySearchManager(params) {
11638
11638
  const wrapper = new FallbackMemoryManager({
11639
11639
  primary,
11640
11640
  fallbackFactory: async () => {
11641
- const { MemoryIndexManager } = await import("./manager-BiRYpsW7.js").then((n) => n.n);
11641
+ const { MemoryIndexManager } = await import("./manager-Ca0_Buoj.js").then((n) => n.n);
11642
11642
  return await MemoryIndexManager.get(params);
11643
11643
  }
11644
11644
  }, () => QMD_MANAGER_CACHE.delete(cacheKey));
@@ -11651,7 +11651,7 @@ async function getMemorySearchManager(params) {
11651
11651
  }
11652
11652
  }
11653
11653
  try {
11654
- const { MemoryIndexManager } = await import("./manager-BiRYpsW7.js").then((n) => n.n);
11654
+ const { MemoryIndexManager } = await import("./manager-Ca0_Buoj.js").then((n) => n.n);
11655
11655
  return { manager: await MemoryIndexManager.get(params) };
11656
11656
  } catch (err) {
11657
11657
  return {
@@ -37297,7 +37297,7 @@ async function runAgentTurn(params) {
37297
37297
  function createDefaultDeps() {
37298
37298
  return {
37299
37299
  sendMessageWhatsApp: async (...args) => {
37300
- const { sendMessageWhatsApp } = await import("./web-DU4xaLZf.js");
37300
+ const { sendMessageWhatsApp } = await import("./web-qvuO3y6z.js");
37301
37301
  return await sendMessageWhatsApp(...args);
37302
37302
  },
37303
37303
  sendMessageTelegram: async (...args) => {
@@ -54735,7 +54735,7 @@ function loadWebLoginQr() {
54735
54735
  return webLoginQrPromise;
54736
54736
  }
54737
54737
  function loadWebChannel() {
54738
- webChannelPromise ??= import("./web-DU4xaLZf.js");
54738
+ webChannelPromise ??= import("./web-qvuO3y6z.js");
54739
54739
  return webChannelPromise;
54740
54740
  }
54741
54741
  function loadWhatsAppActions() {
@@ -59012,6 +59012,41 @@ async function executeNodeHostCommand(params) {
59012
59012
 
59013
59013
  //#endregion
59014
59014
  //#region src/agents/bash-tools.exec.ts
59015
+ let cachedSymiNodeModules;
59016
+ /**
59017
+ * Returns the absolute path to Symi's bundled `node_modules` directory, so
59018
+ * gateway-host node scripts can `require()` packages that ship with Symi
59019
+ * (docx / exceljs / pptxgenjs / pdfkit for the document-generation skill,
59020
+ * plus any future bundled npm dep). Cached for the process lifetime.
59021
+ *
59022
+ * Returns null when Symi's package root can't be resolved (development
59023
+ * setups outside a package, broken installs).
59024
+ */
59025
+ function resolveSymiNodeModulesPath() {
59026
+ if (cachedSymiNodeModules !== void 0) return cachedSymiNodeModules;
59027
+ const root = resolveSymiPackageRootSync({});
59028
+ cachedSymiNodeModules = root ? path.join(root, "node_modules") : null;
59029
+ return cachedSymiNodeModules;
59030
+ }
59031
+ /**
59032
+ * Append Symi's bundled node_modules path to NODE_PATH so gateway-host
59033
+ * scripts (run via the `exec` tool with `host: "gateway"`) can resolve
59034
+ * Symi-bundled npm packages from any cwd. Existing NODE_PATH (user
59035
+ * override or test fixture) is preserved by appending, not replacing.
59036
+ */
59037
+ function applySymiNodePath(env) {
59038
+ const symiModules = resolveSymiNodeModulesPath();
59039
+ if (!symiModules) return;
59040
+ const existing = env.NODE_PATH?.trim();
59041
+ if (!existing) {
59042
+ env.NODE_PATH = symiModules;
59043
+ return;
59044
+ }
59045
+ const sep = path.delimiter;
59046
+ const segments = existing.split(sep).filter(Boolean);
59047
+ if (!segments.includes(symiModules)) segments.push(symiModules);
59048
+ env.NODE_PATH = segments.join(sep);
59049
+ }
59015
59050
  function extractScriptTargetFromCommand(command) {
59016
59051
  const raw = command.trim();
59017
59052
  if (!raw) return null;
@@ -59161,6 +59196,7 @@ function createExecTool(defaults) {
59161
59196
  env: process.env,
59162
59197
  timeoutMs: resolveShellEnvFallbackTimeoutMs(process.env)
59163
59198
  }));
59199
+ if (!sandbox && host === "gateway") applySymiNodePath(env);
59164
59200
  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.");
59165
59201
  else applyPathPrepend(env, defaultPathPrepend);
59166
59202
  if (host === "node") return executeNodeHostCommand({
@@ -1,5 +1,5 @@
1
1
  import "./accounts-D9zGZU5t.js";
2
- import { u as runAgentTurn } from "./reply-DYEklKOc.js";
2
+ import { u as runAgentTurn } from "./reply-Bfy77FPA.js";
3
3
  import "./paths-DR2yt_mP.js";
4
4
  import "./github-copilot-token-D9X2phUj.js";
5
5
  import "./plugins-BbAvhC25.js";
@@ -49,7 +49,7 @@ import "./image-CS95I-I5.js";
49
49
  import "./pi-model-discovery-LbcEa65a.js";
50
50
  import "./api-key-rotation-CBsLb_4V.js";
51
51
  import "./diagnostic-session-state-Wd5tNeQG.js";
52
- import "./manager-BiRYpsW7.js";
52
+ import "./manager-Ca0_Buoj.js";
53
53
  import "./sqlite-CmVrFEYD.js";
54
54
  import "./commands-registry-BuYpmEx-.js";
55
55
  import "./send-BfqyNBU1.js";
@@ -1,5 +1,5 @@
1
1
  import { a as WA_WEB_AUTH_DIR, g as webAuthExists, s as logWebSelfId, u as pickWebChannel } from "./accounts-D9zGZU5t.js";
2
- import "./reply-DYEklKOc.js";
2
+ import "./reply-Bfy77FPA.js";
3
3
  import "./paths-DR2yt_mP.js";
4
4
  import "./github-copilot-token-D9X2phUj.js";
5
5
  import "./plugins-BbAvhC25.js";
@@ -45,12 +45,12 @@ import "./pi-embedded-helpers-6EL59cK1.js";
45
45
  import "./paths-A0xdf3yk.js";
46
46
  import "./diagnostic-_oc91gNi.js";
47
47
  import "./store-Do3t33-c.js";
48
- import { n as monitorWebInbox, t as monitorWebChannel } from "./channel-web-CzZZsS3O.js";
48
+ import { n as monitorWebInbox, t as monitorWebChannel } from "./channel-web-DYJYy4et.js";
49
49
  import "./image-CS95I-I5.js";
50
50
  import "./pi-model-discovery-LbcEa65a.js";
51
51
  import "./api-key-rotation-CBsLb_4V.js";
52
52
  import "./diagnostic-session-state-Wd5tNeQG.js";
53
- import "./manager-BiRYpsW7.js";
53
+ import "./manager-Ca0_Buoj.js";
54
54
  import "./sqlite-CmVrFEYD.js";
55
55
  import "./commands-registry-BuYpmEx-.js";
56
56
  import "./send-BfqyNBU1.js";
@@ -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";
@@ -103,7 +103,7 @@ import "./npm-registry-spec-PuS2I1Em.js";
103
103
  import "./skill-scanner-BV3QHmsf.js";
104
104
  import { i as resolvePluginInstallDir, n as installPluginFromNpmSpec, r as installPluginFromPath, t as recordPluginInstall } from "./installs-B4sNNRaW.js";
105
105
  import { t as renderTable } from "./table-Bka4fasy.js";
106
- import { t as buildPluginStatusReport } from "./status-DpVc9DSG.js";
106
+ import { t as buildPluginStatusReport } from "./status-Cet2zu6k.js";
107
107
  import { n as updateNpmInstalledPlugins } from "./update-DticqU4-.js";
108
108
  import os from "node:os";
109
109
  import path from "node:path";
@@ -1,7 +1,7 @@
1
1
  import { g as resolveStateDir } from "./paths-Cqn-zk3M.js";
2
2
  import { B as theme, S as shortenHomePath, g as resolveConfigDir, x as shortenHomeInString, y as resolveUserPath } 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";
@@ -107,7 +107,7 @@ import "./npm-registry-spec-B98RgVZF.js";
107
107
  import "./skill-scanner-BTgjeQBf.js";
108
108
  import { i as resolvePluginInstallDir, n as installPluginFromNpmSpec, r as installPluginFromPath, t as recordPluginInstall } from "./installs-BPZKRjsO.js";
109
109
  import { t as renderTable } from "./table-BWuvjnmY.js";
110
- import { t as buildPluginStatusReport } from "./status-BdkVcIDX.js";
110
+ import { t as buildPluginStatusReport } from "./status-BwKYtKTR.js";
111
111
  import { n as updateNpmInstalledPlugins } from "./update-D4uLu0dv.js";
112
112
  import fs from "node:fs";
113
113
  import os from "node:os";
@@ -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";
@@ -100,13 +100,13 @@ import "./prompt-style-BxVdnrLq.js";
100
100
  import "./pairing-labels-BHx_CdbP.js";
101
101
  import "./pi-tools.policy-BFsWV2pS.js";
102
102
  import "./catalog-KcLvtTfa.js";
103
- import "./plugin-registry-Di_isjUm.js";
104
- import { n as resolveCliChannelOptions } from "./channel-options-D6U_Dpa2.js";
105
- import { t as getSubCliCommandsWithSubcommands } from "./register.subclis-BzbNYOC6.js";
106
- import { a as registerProgramCommands, r as getCoreCliCommandsWithSubcommands } from "./command-registry-FJWuYmEn.js";
103
+ import "./plugin-registry-BmdLxUZd.js";
104
+ import { n as resolveCliChannelOptions } from "./channel-options-CqEImsEx.js";
105
+ import { t as getSubCliCommandsWithSubcommands } from "./register.subclis-DHLF7LUE.js";
106
+ import { a as registerProgramCommands, r as getCoreCliCommandsWithSubcommands } from "./command-registry-iESIIBvf.js";
107
107
  import { r as setProgramContext } from "./program-context-DeZ44oQ9.js";
108
108
  import { t as forceFreePort } from "./ports-DQg7kV5s.js";
109
- import { n as formatCliBannerLine, r as hasEmittedCliBanner, t as emitCliBanner } from "./banner-Q3fjWWy3.js";
109
+ import { n as formatCliBannerLine, r as hasEmittedCliBanner, t as emitCliBanner } from "./banner-4mmBVDxd.js";
110
110
  import { Command } from "commander";
111
111
 
112
112
  //#region src/cli/program/context.ts
@@ -214,7 +214,7 @@ function registerPreActionHooks(program, programVersion) {
214
214
  commandPath
215
215
  });
216
216
  if (PLUGIN_REQUIRED_COMMANDS.has(commandPath[0])) {
217
- const { ensurePluginRegistryLoaded } = await import("./plugin-registry-Di_isjUm.js").then((n) => n.n);
217
+ const { ensurePluginRegistryLoaded } = await import("./plugin-registry-BmdLxUZd.js").then((n) => n.n);
218
218
  ensurePluginRegistryLoaded();
219
219
  }
220
220
  });
@@ -43,7 +43,7 @@ const entries = [
43
43
  description: "Run, inspect, and query the WebSocket Gateway",
44
44
  hasSubcommands: true,
45
45
  register: async (program) => {
46
- (await import("./gateway-cli-BByLEck3.js")).registerGatewayCli(program);
46
+ (await import("./gateway-cli-CPligm4B.js")).registerGatewayCli(program);
47
47
  }
48
48
  },
49
49
  {
@@ -75,7 +75,7 @@ const entries = [
75
75
  description: "Discover, scan, and configure models",
76
76
  hasSubcommands: true,
77
77
  register: async (program) => {
78
- (await import("./models-cli-o07a-fh5.js")).registerModelsCli(program);
78
+ (await import("./models-cli-CjcsH00X.js")).registerModelsCli(program);
79
79
  }
80
80
  },
81
81
  {
@@ -155,7 +155,7 @@ const entries = [
155
155
  description: "Manage internal agent hooks",
156
156
  hasSubcommands: true,
157
157
  register: async (program) => {
158
- (await import("./hooks-cli-BwFW4lKC.js")).registerHooksCli(program);
158
+ (await import("./hooks-cli-DFDzJIQJ.js")).registerHooksCli(program);
159
159
  }
160
160
  },
161
161
  {
@@ -179,7 +179,7 @@ const entries = [
179
179
  description: "Secure DM pairing (approve inbound requests)",
180
180
  hasSubcommands: true,
181
181
  register: async (program) => {
182
- const { registerPluginCliCommands } = await import("./cli-41r_BAjv.js");
182
+ const { registerPluginCliCommands } = await import("./cli-CjgvXavV.js");
183
183
  registerPluginCliCommands(program, await loadConfig());
184
184
  (await import("./pairing-cli-CfuG75IW.js")).registerPairingCli(program);
185
185
  }
@@ -189,8 +189,8 @@ const entries = [
189
189
  description: "Manage Symi plugins and extensions",
190
190
  hasSubcommands: true,
191
191
  register: async (program) => {
192
- (await import("./plugins-cli-BlBz4J4q.js")).registerPluginsCli(program);
193
- const { registerPluginCliCommands } = await import("./cli-41r_BAjv.js");
192
+ (await import("./plugins-cli-Dhcj3Mah.js")).registerPluginsCli(program);
193
+ const { registerPluginCliCommands } = await import("./cli-CjgvXavV.js");
194
194
  registerPluginCliCommands(program, await loadConfig());
195
195
  }
196
196
  },
@@ -199,7 +199,7 @@ const entries = [
199
199
  description: "Manage connected chat channels (Telegram, Discord, etc.)",
200
200
  hasSubcommands: true,
201
201
  register: async (program) => {
202
- (await import("./channels-cli-CxuKeNkr.js")).registerChannelsCli(program);
202
+ (await import("./channels-cli-CqtSKE5p.js")).registerChannelsCli(program);
203
203
  }
204
204
  },
205
205
  {
@@ -231,7 +231,7 @@ const entries = [
231
231
  description: "Update Symi and inspect update channel status",
232
232
  hasSubcommands: true,
233
233
  register: async (program) => {
234
- (await import("./update-cli-B3t4yUU6.js")).registerUpdateCli(program);
234
+ (await import("./update-cli-DAP38iFd.js")).registerUpdateCli(program);
235
235
  }
236
236
  },
237
237
  {
@@ -239,7 +239,7 @@ const entries = [
239
239
  description: "Generate shell completion script",
240
240
  hasSubcommands: false,
241
241
  register: async (program) => {
242
- (await import("./completion-cli-C20c_vzO.js").then((n) => n.n)).registerCompletionCli(program);
242
+ (await import("./completion-cli-euUBlC-J.js").then((n) => n.n)).registerCompletionCli(program);
243
243
  }
244
244
  }
245
245
  ];
@@ -302,7 +302,7 @@ const coreEntries = [
302
302
  hasSubcommands: false
303
303
  }],
304
304
  register: async ({ program }) => {
305
- (await import("./register.setup-B6ylBd_s.js")).registerSetupCommand(program);
305
+ (await import("./register.setup-jLBfOyYo.js")).registerSetupCommand(program);
306
306
  }
307
307
  },
308
308
  {
@@ -312,7 +312,7 @@ const coreEntries = [
312
312
  hasSubcommands: false
313
313
  }],
314
314
  register: async ({ program }) => {
315
- (await import("./register.onboard-Bv3BjuIZ.js")).registerOnboardCommand(program);
315
+ (await import("./register.onboard-B0zHMGtr.js")).registerOnboardCommand(program);
316
316
  }
317
317
  },
318
318
  {
@@ -322,7 +322,7 @@ const coreEntries = [
322
322
  hasSubcommands: false
323
323
  }],
324
324
  register: async ({ program }) => {
325
- (await import("./register.configure-BC-jW4EY.js")).registerConfigureCommand(program);
325
+ (await import("./register.configure-CtXnzNAk.js")).registerConfigureCommand(program);
326
326
  }
327
327
  },
328
328
  {
@@ -332,7 +332,7 @@ const coreEntries = [
332
332
  hasSubcommands: true
333
333
  }],
334
334
  register: async ({ program }) => {
335
- (await import("./config-cli-CJQ-12f7.js")).registerConfigCli(program);
335
+ (await import("./config-cli-CAl0wtaC.js")).registerConfigCli(program);
336
336
  }
337
337
  },
338
338
  {
@@ -359,7 +359,7 @@ const coreEntries = [
359
359
  }
360
360
  ],
361
361
  register: async ({ program }) => {
362
- (await import("./register.maintenance-DQ73gAH0.js")).registerMaintenanceCommands(program);
362
+ (await import("./register.maintenance-mVD8OA1V.js")).registerMaintenanceCommands(program);
363
363
  }
364
364
  },
365
365
  {
@@ -369,7 +369,7 @@ const coreEntries = [
369
369
  hasSubcommands: true
370
370
  }],
371
371
  register: async ({ program, ctx }) => {
372
- (await import("./register.message-D2Ubr7KY.js")).registerMessageCommands(program, ctx);
372
+ (await import("./register.message-ZHGwfsV9.js")).registerMessageCommands(program, ctx);
373
373
  }
374
374
  },
375
375
  {
@@ -379,7 +379,7 @@ const coreEntries = [
379
379
  hasSubcommands: true
380
380
  }],
381
381
  register: async ({ program }) => {
382
- (await import("./memory-cli-CoTkaEhh.js").then((n) => n.t)).registerMemoryCli(program);
382
+ (await import("./memory-cli-xSpyRUEV.js").then((n) => n.t)).registerMemoryCli(program);
383
383
  }
384
384
  },
385
385
  {
@@ -393,7 +393,7 @@ const coreEntries = [
393
393
  hasSubcommands: true
394
394
  }],
395
395
  register: async ({ program, ctx }) => {
396
- (await import("./register.agent-BaLgPcGg.js")).registerAgentCommands(program, { agentChannelOptions: ctx.agentChannelOptions });
396
+ (await import("./register.agent-tfizhRlb.js")).registerAgentCommands(program, { agentChannelOptions: ctx.agentChannelOptions });
397
397
  }
398
398
  },
399
399
  {
@@ -415,7 +415,7 @@ const coreEntries = [
415
415
  }
416
416
  ],
417
417
  register: async ({ program }) => {
418
- (await import("./register.status-health-sessions-Bx0oTY_P.js")).registerStatusHealthSessionsCommands(program);
418
+ (await import("./register.status-health-sessions-Ym9Z__5q.js")).registerStatusHealthSessionsCommands(program);
419
419
  }
420
420
  },
421
421
  {