@symerian/symi 2.9.2 → 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 (173) hide show
  1. package/dist/{agents-DTl30WoB.js → agents-CMoRbMNW.js} +4 -4
  2. package/dist/{agents.config-CO8F9mkD.js → agents.config-BLuBIvek.js} +1 -1
  3. package/dist/{agents.config-CZ3GFxPg.js → agents.config-Ebtya9aN.js} +1 -1
  4. package/dist/{audio-preflight-DQR2Ivi-.js → audio-preflight-CbyJ_yDs.js} +4 -4
  5. package/dist/{auth-choice-BYDGn7lJ.js → auth-choice-C_lflrPV.js} +1 -1
  6. package/dist/{auth-choice-BoOyy-ZT.js → auth-choice-DAMY302C.js} +1 -1
  7. package/dist/{banner-D4MiyUnv.js → banner-4mmBVDxd.js} +1 -1
  8. package/dist/build-info.json +3 -3
  9. package/dist/bundled/boot-md/handler.js +7 -7
  10. package/dist/bundled/session-memory/handler.js +7 -7
  11. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  12. package/dist/{channel-options-B6qP-vR-.js → channel-options-CqEImsEx.js} +1 -1
  13. package/dist/{channel-options-BiSSYYQC.js → channel-options-lJBshQMV.js} +1 -1
  14. package/dist/{channel-web-DP97EUhx.js → channel-web-CBC2RSBF.js} +1 -1
  15. package/dist/{channels-cli-CE_A3Hai.js → channels-cli-BqW1HbHG.js} +6 -6
  16. package/dist/{channels-cli-6LNvJQPb.js → channels-cli-CqtSKE5p.js} +6 -6
  17. package/dist/{chrome-BaMQiegP.js → chrome-CJHOBnUB.js} +7 -7
  18. package/dist/{cli-D4j_JTug.js → cli-B1Dxc2DT.js} +3 -3
  19. package/dist/{cli-DwQ3mqhI.js → cli-CjgvXavV.js} +3 -3
  20. package/dist/{command-registry-b62Qpsi2.js → command-registry-iESIIBvf.js} +10 -10
  21. package/dist/{completion-cli-DUT2XYgK.js → completion-cli-BEddBU3C.js} +2 -2
  22. package/dist/{completion-cli-RQyC3L-t.js → completion-cli-euUBlC-J.js} +1 -1
  23. package/dist/{config-cli-Di8VOhbp.js → config-cli-CAl0wtaC.js} +1 -1
  24. package/dist/{config-cli-H52N8rp1.js → config-cli-DG8UgJ6z.js} +1 -1
  25. package/dist/{configure-BF9crM5K.js → configure-B3AtbkbP.js} +3 -3
  26. package/dist/{configure-DQxuawe-.js → configure-CtYsABUS.js} +3 -3
  27. package/dist/{deliver-Dx39g9ey.js → deliver-D5655IkX.js} +1 -1
  28. package/dist/{doctor-completion-BKXQ50ee.js → doctor-completion-B-Oak4dP.js} +1 -1
  29. package/dist/{doctor-completion-BS2JEeZy.js → doctor-completion-BGriRzaq.js} +1 -1
  30. package/dist/entry.js +1 -1
  31. package/dist/extensionAPI.js +2 -2
  32. package/dist/{gateway-cli-Do9KUPqe.js → gateway-cli-CPligm4B.js} +11 -11
  33. package/dist/{gateway-cli-moPf-zP5.js → gateway-cli-CrgMw50H.js} +11 -11
  34. package/dist/{glass-ui-ws-Dfro-3R8.js → glass-ui-ws-BmrBGwq0.js} +9 -9
  35. package/dist/{glass-ui-ws-D53pvIov.js → glass-ui-ws-JoAL8aXB.js} +9 -9
  36. package/dist/{health-BQGRC0xh.js → health-BFlZuHVH.js} +1 -1
  37. package/dist/{health-CV741PBg.js → health-C5cdo2e_.js} +1 -1
  38. package/dist/{hooks-cli-CG-PDY2U.js → hooks-cli-BHOi35KU.js} +4 -4
  39. package/dist/{hooks-cli-CWXGIL9L.js → hooks-cli-DFDzJIQJ.js} +4 -4
  40. package/dist/{image-C-JvPPpM.js → image-BqpivNGG.js} +1 -1
  41. package/dist/index.js +8 -8
  42. package/dist/llm-slug-generator.js +7 -7
  43. package/dist/{manager-B_2KzUSI.js → manager-Ca7NOWdK.js} +1 -1
  44. package/dist/{manager-yrUe0KOT.js → manager-DNxvT0P-.js} +1 -1
  45. package/dist/{manager-Bc-MeMho.js → manager-DlNP6Nui.js} +1 -1
  46. package/dist/{manager-CLPHK-qG.js → manager-SbxZtjEc.js} +1 -1
  47. package/dist/{memory-cli-3RSIw4no.js → memory-cli-D2LaloPq.js} +3 -3
  48. package/dist/{memory-cli-BKNnDIdx.js → memory-cli-xSpyRUEV.js} +3 -3
  49. package/dist/{models-D_C2JFPw.js → models-C6MaesB8.js} +2 -2
  50. package/dist/{models-cli-DQE60EtL.js → models-cli-4IVFNhw8.js} +5 -5
  51. package/dist/{models-cli-j2O4e1Lu.js → models-cli-CjcsH00X.js} +4 -4
  52. package/dist/{onboard-DUIZfWqa.js → onboard-BoXWv3OF.js} +2 -2
  53. package/dist/{onboard-Ckw89oRF.js → onboard-Dk5UFbaj.js} +2 -2
  54. package/dist/{onboard-channels-B8Ouc5sR.js → onboard-channels-BQ-TPkl5.js} +1 -1
  55. package/dist/{onboard-channels-Oa9IlsGt.js → onboard-channels-DSIBGif0.js} +1 -1
  56. package/dist/{onboarding-Cjh-Y8ha.js → onboarding-CvCh0fyS.js} +3 -3
  57. package/dist/{onboarding-JFWHlqAb.js → onboarding-p3SCUopW.js} +3 -3
  58. package/dist/{onboarding.finalize-CkGLgiEA.js → onboarding.finalize-CrmmBrzK.js} +7 -7
  59. package/dist/{onboarding.finalize-spzEoVkm.js → onboarding.finalize-l2qeYvn5.js} +8 -8
  60. package/dist/{pi-embedded-D6Zi01El.js → pi-embedded-DaTqseIp.js} +105 -54
  61. package/dist/{pi-embedded-helpers-B1P8lkqj.js → pi-embedded-helpers-CU-kYRrF.js} +4 -4
  62. package/dist/{plugin-registry-CYglC746.js → plugin-registry-B_IeViDg.js} +1 -1
  63. package/dist/{plugin-registry-zGF6HUkQ.js → plugin-registry-BmdLxUZd.js} +1 -1
  64. package/dist/plugin-sdk/agents/pi-embedded-runner/system-prompt.d.ts +9 -0
  65. package/dist/plugin-sdk/agents/system-prompt.d.ts +17 -0
  66. package/dist/plugin-sdk/{channel-web-eeGSjU9N.js → channel-web-DYJYy4et.js} +1 -1
  67. package/dist/plugin-sdk/config/types.symi.d.ts +7 -0
  68. package/dist/plugin-sdk/index.js +3 -3
  69. package/dist/plugin-sdk/{manager-DZ5-lr4s.js → manager-Ca0_Buoj.js} +1 -1
  70. package/dist/plugin-sdk/{reply-BRGoceel.js → reply-Bfy77FPA.js} +105 -54
  71. package/dist/plugin-sdk/{synthesis-DVsG2Tbp.js → synthesis-D9SmRgqU.js} +2 -2
  72. package/dist/plugin-sdk/{web-7u3fdT2S.js → web-qvuO3y6z.js} +3 -3
  73. package/dist/{plugins-cli-ndIGvW38.js → plugins-cli-CAp8Hyam.js} +4 -4
  74. package/dist/{plugins-cli-CLb_0vH6.js → plugins-cli-Dhcj3Mah.js} +4 -4
  75. package/dist/{program-BovNsUAh.js → program-UlEVhGTo.js} +9 -9
  76. package/dist/{program-context-mFSRQPMm.js → program-context-BFvY5D79.js} +18 -18
  77. package/dist/{prompt-select-styled-vhI0kQYd.js → prompt-select-styled-BehvQU7S.js} +6 -6
  78. package/dist/{prompt-select-styled-DlKhnnDV.js → prompt-select-styled-Bf47U3gY.js} +6 -6
  79. package/dist/{provider-auth-helpers-DXlKD0hY.js → provider-auth-helpers-CEstUTnU.js} +1 -1
  80. package/dist/{provider-auth-helpers-U0t5YhCn.js → provider-auth-helpers-l2_9mB3E.js} +1 -1
  81. package/dist/{push-apns-hN0N3Wcu.js → push-apns-Be_K61Y3.js} +1 -1
  82. package/dist/{push-apns-rDsc17-c.js → push-apns-Cr9FKn9_.js} +1 -1
  83. package/dist/{pw-ai-BlWK9Tr3.js → pw-ai-BjfsUmjw.js} +1 -1
  84. package/dist/{register.agent-B1liWWB3.js → register.agent-DXzkaRw1.js} +8 -8
  85. package/dist/{register.agent-Cyij2g-g.js → register.agent-tfizhRlb.js} +7 -7
  86. package/dist/{register.configure-CoYKlH75.js → register.configure-CtXnzNAk.js} +8 -8
  87. package/dist/{register.configure-keWh1w1p.js → register.configure-DsBKnmY3.js} +8 -8
  88. package/dist/{register.maintenance-CsA9QQRE.js → register.maintenance-BZJLuSs7.js} +10 -10
  89. package/dist/{register.maintenance-CvY-Yar9.js → register.maintenance-mVD8OA1V.js} +9 -9
  90. package/dist/{register.message-D7815_7Y.js → register.message-C7Mfqk6i.js} +4 -4
  91. package/dist/{register.message-DltuBwIg.js → register.message-ZHGwfsV9.js} +4 -4
  92. package/dist/{register.onboard-CY50To_-.js → register.onboard-B0zHMGtr.js} +6 -6
  93. package/dist/{register.onboard-FcZymlrx.js → register.onboard-bPMjH-cM.js} +6 -6
  94. package/dist/{register.setup-8dkIizGs.js → register.setup-aVvT34-g.js} +6 -6
  95. package/dist/{register.setup-X011Evir.js → register.setup-jLBfOyYo.js} +6 -6
  96. package/dist/{register.status-health-sessions-DRkIaw1q.js → register.status-health-sessions-Bbp4B0t_.js} +5 -5
  97. package/dist/{register.status-health-sessions-u9ZbWWea.js → register.status-health-sessions-Ym9Z__5q.js} +5 -5
  98. package/dist/{register.subclis-vTS3UwIU.js → register.subclis-DHLF7LUE.js} +9 -9
  99. package/dist/{reply-Dx9DWIO2.js → reply-DaLBaxTg.js} +104 -53
  100. package/dist/{run-main-BQKf71Kt.js → run-main-i-0RAGWP.js} +17 -17
  101. package/dist/{runner-C4opGXAA.js → runner-DzNo-GCz.js} +1 -1
  102. package/dist/{server-methods-DeIwhdBv.js → server-methods-9ygcQLBv.js} +8 -8
  103. package/dist/{server-methods-1TzYth88.js → server-methods-BTBqGPE0.js} +8 -8
  104. package/dist/{server-node-events-CFMtnBFU.js → server-node-events-Dwq8UMWp.js} +4 -4
  105. package/dist/{server-node-events-DF_ks0oa.js → server-node-events-v-YRyTWm.js} +4 -4
  106. package/dist/{status-CwZgLSfx.js → status-87Am-dN6.js} +3 -3
  107. package/dist/{status-CvElSWg2.js → status-BwKYtKTR.js} +1 -1
  108. package/dist/{status-DEQAH4oA.js → status-Cet2zu6k.js} +1 -1
  109. package/dist/{status-vO4-v0vI.js → status-vF06cYz7.js} +3 -3
  110. package/dist/{subagent-registry-K1lQH7iR.js → subagent-registry--ttOPMLH.js} +104 -53
  111. package/dist/{synthesis-DhxkkJq7.js → synthesis-9GndKT3K.js} +2 -2
  112. package/dist/{synthesis-CZhOC8n4.js → synthesis-DH0gSv7o.js} +7 -7
  113. package/dist/{synthesis-DazoL-DI.js → synthesis-JzS-852N.js} +3 -3
  114. package/dist/{synthesis-AYqn8_O8.js → synthesis-aBsVjLIL.js} +3 -3
  115. package/dist/{unified-runner-CavADnkK.js → unified-runner-C0OC_Ay0.js} +119 -68
  116. package/dist/{update-cli-DPf2vrJK.js → update-cli-BWulAC_Y.js} +10 -10
  117. package/dist/{update-cli-DmxFKAmJ.js → update-cli-DAP38iFd.js} +9 -9
  118. package/dist/{update-runner-D4UIv_1p.js → update-runner-Bl0Y3ndR.js} +1 -1
  119. package/dist/{update-runner-XU-jPEg_.js → update-runner-DV6ov2uA.js} +1 -1
  120. package/dist/{web-BJIv_6uQ.js → web-Cl-3dkwx.js} +7 -7
  121. package/dist/{web-CIj8erCe.js → web-DcZB_7Fo.js} +2 -2
  122. package/dist/{web-C-E-O8iP.js → web-DhjVLurg.js} +4 -4
  123. package/dist/{web-BBbVbRTg.js → web-K_bPrtFT.js} +3 -3
  124. package/docs/capabilities.md +153 -0
  125. package/extensions/bluebubbles/package.json +1 -1
  126. package/extensions/copilot-proxy/package.json +1 -1
  127. package/extensions/diagnostics-otel/package.json +1 -1
  128. package/extensions/discord/package.json +1 -1
  129. package/extensions/feishu/package.json +1 -1
  130. package/extensions/google-antigravity-auth/package.json +1 -1
  131. package/extensions/google-gemini-cli-auth/package.json +1 -1
  132. package/extensions/googlechat/package.json +1 -1
  133. package/extensions/imessage/package.json +1 -1
  134. package/extensions/irc/package.json +1 -1
  135. package/extensions/learning-loop/package.json +1 -1
  136. package/extensions/line/package.json +1 -1
  137. package/extensions/llm-task/package.json +1 -1
  138. package/extensions/matrix/CHANGELOG.md +12 -0
  139. package/extensions/matrix/package.json +1 -1
  140. package/extensions/mattermost/package.json +1 -1
  141. package/extensions/memory-core/package.json +1 -1
  142. package/extensions/memory-lancedb/package.json +1 -1
  143. package/extensions/minimax-portal-auth/package.json +1 -1
  144. package/extensions/msteams/CHANGELOG.md +12 -0
  145. package/extensions/msteams/package.json +1 -1
  146. package/extensions/nextcloud-talk/package.json +1 -1
  147. package/extensions/nostr/CHANGELOG.md +12 -0
  148. package/extensions/nostr/package.json +1 -1
  149. package/extensions/open-prose/package.json +1 -1
  150. package/extensions/outlook/node_modules/.bin/symi +21 -0
  151. package/extensions/outlook/package.json +1 -1
  152. package/extensions/pipeline/package.json +1 -1
  153. package/extensions/signal/package.json +1 -1
  154. package/extensions/slack/package.json +1 -1
  155. package/extensions/telegram/package.json +1 -1
  156. package/extensions/tlon/package.json +1 -1
  157. package/extensions/twitch/CHANGELOG.md +12 -0
  158. package/extensions/twitch/package.json +1 -1
  159. package/extensions/voice-call/CHANGELOG.md +12 -0
  160. package/extensions/voice-call/package.json +1 -1
  161. package/extensions/whatsapp/package.json +1 -1
  162. package/extensions/zalo/CHANGELOG.md +12 -0
  163. package/extensions/zalo/package.json +1 -1
  164. package/extensions/zalouser/CHANGELOG.md +12 -0
  165. package/extensions/zalouser/package.json +1 -1
  166. package/package.json +5 -1
  167. package/skills/channel-routing/SKILL.md +42 -0
  168. package/skills/document-generation/SKILL.md +83 -0
  169. package/skills/reactions-extensive/SKILL.md +30 -0
  170. package/skills/reactions-minimal/SKILL.md +31 -0
  171. package/skills/safe-edit/SKILL.md +51 -0
  172. package/skills/tool-narration/SKILL.md +40 -0
  173. package/skills/verify-output/SKILL.md +47 -0
@@ -1,7 +1,7 @@
1
1
  import "./paths-Cqn-zk3M.js";
2
2
  import { B as theme } from "./utils-B-0b9bGM.js";
3
3
  import "./thinking-EAliFiVK.js";
4
- import "./reply-Dx9DWIO2.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-BKNnDIdx.js";
64
- import "./manager-B_2KzUSI.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";
@@ -108,8 +108,8 @@ import "./clack-prompter-CM5UgVAv.js";
108
108
  import "./daemon-runtime-C-Mwepv_.js";
109
109
  import "./systemd-Xs16roN5.js";
110
110
  import "./service-DzLem5vL.js";
111
- import "./health-BQGRC0xh.js";
112
- import "./onboarding-Cjh-Y8ha.js";
111
+ import "./health-BFlZuHVH.js";
112
+ import "./onboarding-CvCh0fyS.js";
113
113
  import "./shared-DHpMu95O.js";
114
114
  import "./auth-token-Cq0R-Q6i.js";
115
115
  import "./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 { n as ONBOARD_PROVIDER_AUTH_FLAGS, t as onboardCommand } from "./onboard-Ckw89oRF.js";
121
+ import { n as ONBOARD_PROVIDER_AUTH_FLAGS, t as onboardCommand } from "./onboard-Dk5UFbaj.js";
122
122
 
123
123
  //#region src/cli/program/register.onboard.ts
124
124
  function resolveInstallDaemonFlag(command, opts) {
@@ -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-K1lQH7iR.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-3RSIw4no.js";
56
- import "./manager-yrUe0KOT.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";
@@ -104,8 +104,8 @@ import "./daemon-runtime-C86WnKU5.js";
104
104
  import "./runtime-guard-BofkqBu7.js";
105
105
  import "./systemd-CJ5L2ee4.js";
106
106
  import "./service-RxN7lQKN.js";
107
- import "./health-CV741PBg.js";
108
- import "./onboarding-JFWHlqAb.js";
107
+ import "./health-C5cdo2e_.js";
108
+ import "./onboarding-p3SCUopW.js";
109
109
  import "./shared-NCp143fJ.js";
110
110
  import "./auth-token-ce8PBZwF.js";
111
111
  import "./logging-PVQxLC6I.js";
@@ -114,7 +114,7 @@ import "./openai-model-default-CMi-OF15.js";
114
114
  import "./model-picker-DhsG4iZa.js";
115
115
  import "./systemd-linger-ipoPa7o0.js";
116
116
  import "./onboard-custom-Bb3xuH0G.js";
117
- import { n as ONBOARD_PROVIDER_AUTH_FLAGS, t as onboardCommand } from "./onboard-DUIZfWqa.js";
117
+ import { n as ONBOARD_PROVIDER_AUTH_FLAGS, t as onboardCommand } from "./onboard-BoXWv3OF.js";
118
118
 
119
119
  //#region src/cli/program/register.onboard.ts
120
120
  function resolveInstallDaemonFlag(command, opts) {
@@ -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-K1lQH7iR.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-3RSIw4no.js";
56
- import "./manager-yrUe0KOT.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";
@@ -105,8 +105,8 @@ import "./daemon-runtime-C86WnKU5.js";
105
105
  import "./runtime-guard-BofkqBu7.js";
106
106
  import "./systemd-CJ5L2ee4.js";
107
107
  import "./service-RxN7lQKN.js";
108
- import "./health-CV741PBg.js";
109
- import "./onboarding-JFWHlqAb.js";
108
+ import "./health-C5cdo2e_.js";
109
+ import "./onboarding-p3SCUopW.js";
110
110
  import "./shared-NCp143fJ.js";
111
111
  import "./auth-token-ce8PBZwF.js";
112
112
  import { n as logConfigUpdated, t as formatConfigPath } from "./logging-PVQxLC6I.js";
@@ -114,7 +114,7 @@ import "./openai-model-default-CMi-OF15.js";
114
114
  import "./model-picker-DhsG4iZa.js";
115
115
  import "./systemd-linger-ipoPa7o0.js";
116
116
  import "./onboard-custom-Bb3xuH0G.js";
117
- import { t as onboardCommand } from "./onboard-DUIZfWqa.js";
117
+ import { t as onboardCommand } from "./onboard-BoXWv3OF.js";
118
118
  import JSON5 from "json5";
119
119
  import fs from "node:fs/promises";
120
120
 
@@ -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-Dx9DWIO2.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-BKNnDIdx.js";
64
- import "./manager-B_2KzUSI.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-BQGRC0xh.js";
113
- import "./onboarding-Cjh-Y8ha.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-Ckw89oRF.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-K1lQH7iR.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-3RSIw4no.js";
57
- import "./manager-yrUe0KOT.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-CwZgLSfx.js";
113
- import { r as healthCommand } from "./health-CV741PBg.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-Dx9DWIO2.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-BKNnDIdx.js";
65
- import "./manager-B_2KzUSI.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-vO4-v0vI.js";
119
- import { r as healthCommand } from "./health-BQGRC0xh.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-moPf-zP5.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-DQE60EtL.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-CG-PDY2U.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-D4j_JTug.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-ndIGvW38.js")).registerPluginsCli(program);
199
- const { registerPluginCliCommands } = await import("./cli-D4j_JTug.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-CE_A3Hai.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-DPf2vrJK.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-DUT2XYgK.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-BKNnDIdx.js";
65
- import { a as resolveMemorySearchConfig, t as MemoryIndexManager } from "./manager-B_2KzUSI.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";
@@ -20968,6 +20968,7 @@ function sanitizeForPromptLiteral(value) {
20968
20968
  //#region src/agents/system-prompt.ts
20969
20969
  function buildSkillsSection(params) {
20970
20970
  if (params.isMinimal) return [];
20971
+ if (params.dropCatalog) return [];
20971
20972
  const trimmed = params.skillsPrompt?.trim();
20972
20973
  if (!trimmed) return [];
20973
20974
  return [
@@ -21072,7 +21073,7 @@ function buildVoiceSection(params) {
21072
21073
  ];
21073
21074
  }
21074
21075
  function buildVerifyYourWorkSection(params) {
21075
- if (params.isMinimal) return [];
21076
+ if (params.isMinimal || params.compactMode) return [];
21076
21077
  const exec = params.execToolName;
21077
21078
  const read = params.readToolName;
21078
21079
  return [
@@ -21261,6 +21262,7 @@ function buildAgentSystemPrompt(params) {
21261
21262
  const promptMode = params.promptMode ?? "full";
21262
21263
  const isMinimal = promptMode === "minimal" || promptMode === "none";
21263
21264
  const isCoding = promptMode === "coding";
21265
+ const compactMode = params.compactMode === true;
21264
21266
  const sandboxContainerWorkspace = params.sandboxInfo?.containerWorkspaceDir?.trim();
21265
21267
  const sanitizedWorkspaceDir = sanitizeForPromptLiteral(params.workspaceDir);
21266
21268
  const sanitizedSandboxContainerWorkspace = sandboxContainerWorkspace ? sanitizeForPromptLiteral(sandboxContainerWorkspace) : "";
@@ -21276,7 +21278,8 @@ function buildAgentSystemPrompt(params) {
21276
21278
  const skillsSection = buildSkillsSection({
21277
21279
  skillsPrompt,
21278
21280
  isMinimal,
21279
- readToolName
21281
+ readToolName,
21282
+ dropCatalog: compactMode && (params.skillsDiscoveryMode === "jit" || params.skillsDiscoveryMode === "hybrid")
21280
21283
  });
21281
21284
  const memorySection = buildMemorySection({
21282
21285
  isMinimal,
@@ -21319,39 +21322,43 @@ function buildAgentSystemPrompt(params) {
21319
21322
  "If a task is more complex or takes longer, spawn a sub-agent. Completion is push-based: it will auto-announce when done.",
21320
21323
  "Do not poll `subagents list` / `sessions_list` in a loop; only check status on-demand (for intervention, debugging, or when explicitly asked).",
21321
21324
  "",
21322
- "## Tool Call Style",
21323
- "Default: do not narrate routine, low-risk tool calls (just call the tool).",
21324
- "Narrate only when it helps: multi-step work, complex/challenging problems, sensitive actions (e.g., deletions), or when the user explicitly asks.",
21325
- "Keep narration brief and value-dense; avoid repeating obvious steps.",
21326
- "Use plain human language for narration unless in a technical context.",
21327
- "",
21328
- "## Edit Tool Best Practices",
21329
- "When using the edit tool, the oldText must match the file EXACTLY (whitespace, indentation, and all).",
21330
- "To avoid match failures:",
21331
- "- Use the SHORTEST unique snippet that identifies the edit location (1-3 lines). Do NOT paste large blocks.",
21332
- "- ALWAYS read the file first, then copy the exact text from the read output for oldText.",
21333
- "- If an edit fails with 'Could not find the exact text', re-read the file and retry with the exact text from the fresh read. Do NOT move on or fix a different issue.",
21334
- "- Prefer lines with distinctive content (function names, unique strings) over generic code (braces, blank lines).",
21335
- "",
21325
+ ...compactMode ? [] : [
21326
+ "## Tool Call Style",
21327
+ "Default: do not narrate routine, low-risk tool calls (just call the tool).",
21328
+ "Narrate only when it helps: multi-step work, complex/challenging problems, sensitive actions (e.g., deletions), or when the user explicitly asks.",
21329
+ "Keep narration brief and value-dense; avoid repeating obvious steps.",
21330
+ "Use plain human language for narration unless in a technical context.",
21331
+ "",
21332
+ "## Edit Tool Best Practices",
21333
+ "When using the edit tool, the oldText must match the file EXACTLY (whitespace, indentation, and all).",
21334
+ "To avoid match failures:",
21335
+ "- Use the SHORTEST unique snippet that identifies the edit location (1-3 lines). Do NOT paste large blocks.",
21336
+ "- ALWAYS read the file first, then copy the exact text from the read output for oldText.",
21337
+ "- If an edit fails with 'Could not find the exact text', re-read the file and retry with the exact text from the fresh read. Do NOT move on or fix a different issue.",
21338
+ "- Prefer lines with distinctive content (function names, unique strings) over generic code (braces, blank lines).",
21339
+ ""
21340
+ ],
21336
21341
  ...safetySection,
21337
- "## Symi CLI Quick Reference",
21338
- "Symi is controlled via subcommands. Do not invent commands.",
21339
- "To manage the Gateway daemon service (start/stop/restart):",
21340
- "- symi gateway status",
21341
- "- symi gateway start",
21342
- "- symi gateway stop",
21343
- "- symi gateway restart",
21344
- "If unsure, ask the user to run `symi help` (or `symi gateway --help`) and paste the output.",
21345
- "",
21342
+ ...compactMode ? ["For Symi CLI commands, ask the user to run `symi help` and paste the output.", ""] : [
21343
+ "## Symi CLI Quick Reference",
21344
+ "Symi is controlled via subcommands. Do not invent commands.",
21345
+ "To manage the Gateway daemon service (start/stop/restart):",
21346
+ "- symi gateway status",
21347
+ "- symi gateway start",
21348
+ "- symi gateway stop",
21349
+ "- symi gateway restart",
21350
+ "If unsure, ask the user to run `symi help` (or `symi gateway --help`) and paste the output.",
21351
+ ""
21352
+ ],
21346
21353
  ...skillsSection,
21347
21354
  ...memorySection,
21348
- hasGateway && !isMinimal && !isCoding ? "## Symi Self-Update" : "",
21349
- hasGateway && !isMinimal && !isCoding ? [
21355
+ hasGateway && !isMinimal && !isCoding && !compactMode ? "## Symi Self-Update" : "",
21356
+ hasGateway && !isMinimal && !isCoding && !compactMode ? [
21350
21357
  "Get Updates (self-update) is ONLY allowed when the user explicitly asks for it.",
21351
21358
  "Do not run config.apply or update.run unless the user explicitly requests an update or config change; if it's not explicit, ask first.",
21352
21359
  "Actions: config.get, config.schema, config.apply (validate + write full config, then restart), update.run (update deps or git, then restart).",
21353
21360
  "After restart, Symi pings the last active session automatically."
21354
- ].join("\n") : "",
21361
+ ].join("\n") : hasGateway && !isMinimal && !isCoding && compactMode ? "Gateway destructive actions (config.apply, config.patch, update.run) require explicit user authorization via userRequestAcknowledgment — never invoke speculatively." : "",
21355
21362
  hasGateway && !isMinimal && !isCoding ? "" : "",
21356
21363
  "",
21357
21364
  params.modelAliasLines && params.modelAliasLines.length > 0 && !isMinimal && !isCoding ? "## Model Aliases" : "",
@@ -21368,7 +21375,8 @@ function buildAgentSystemPrompt(params) {
21368
21375
  ...buildVerifyYourWorkSection({
21369
21376
  isMinimal,
21370
21377
  execToolName,
21371
- readToolName
21378
+ readToolName,
21379
+ compactMode
21372
21380
  }),
21373
21381
  params.sandboxInfo?.enabled ? "## Sandbox" : "",
21374
21382
  params.sandboxInfo?.enabled ? [
@@ -21414,23 +21422,26 @@ function buildAgentSystemPrompt(params) {
21414
21422
  }
21415
21423
  if (params.reactionGuidance) {
21416
21424
  const { level, channel } = params.reactionGuidance;
21417
- const guidanceText = level === "minimal" ? [
21418
- `Reactions are enabled for ${channel} in MINIMAL mode.`,
21419
- "React ONLY when truly relevant:",
21420
- "- Acknowledge important user requests or confirmations",
21421
- "- Express genuine sentiment (humor, appreciation) sparingly",
21422
- "- Avoid reacting to routine messages or your own replies",
21423
- "Guideline: at most 1 reaction per 5-10 exchanges."
21424
- ].join("\n") : [
21425
- `Reactions are enabled for ${channel} in EXTENSIVE mode.`,
21426
- "Feel free to react liberally:",
21427
- "- Acknowledge messages with appropriate emojis",
21428
- "- Express sentiment and personality through reactions",
21429
- "- React to interesting content, humor, or notable events",
21430
- "- Use reactions to confirm understanding or agreement",
21431
- "Guideline: react whenever it feels natural."
21432
- ].join("\n");
21433
- lines.push("## Reactions", guidanceText, "");
21425
+ if (compactMode) lines.push("## Reactions", `Reactions for ${channel} are in ${level.toUpperCase()} mode — see the reactions-${level} skill (auto-loaded).`, "");
21426
+ else {
21427
+ const guidanceText = level === "minimal" ? [
21428
+ `Reactions are enabled for ${channel} in MINIMAL mode.`,
21429
+ "React ONLY when truly relevant:",
21430
+ "- Acknowledge important user requests or confirmations",
21431
+ "- Express genuine sentiment (humor, appreciation) sparingly",
21432
+ "- Avoid reacting to routine messages or your own replies",
21433
+ "Guideline: at most 1 reaction per 5-10 exchanges."
21434
+ ].join("\n") : [
21435
+ `Reactions are enabled for ${channel} in EXTENSIVE mode.`,
21436
+ "Feel free to react liberally:",
21437
+ "- Acknowledge messages with appropriate emojis",
21438
+ "- Express sentiment and personality through reactions",
21439
+ "- React to interesting content, humor, or notable events",
21440
+ "- Use reactions to confirm understanding or agreement",
21441
+ "Guideline: react whenever it feels natural."
21442
+ ].join("\n");
21443
+ lines.push("## Reactions", guidanceText, "");
21444
+ }
21434
21445
  }
21435
21446
  if (reasoningHint) lines.push("## Reasoning Format", reasoningHint, "");
21436
21447
  const validContextFiles = (params.contextFiles ?? []).filter((file) => typeof file.path === "string" && file.path.trim().length > 0);
@@ -29632,7 +29643,9 @@ function buildEmbeddedSystemPrompt(params) {
29632
29643
  userTime: params.userTime,
29633
29644
  userTimeFormat: params.userTimeFormat,
29634
29645
  contextFiles: params.contextFiles,
29635
- memoryCitationsMode: params.memoryCitationsMode
29646
+ memoryCitationsMode: params.memoryCitationsMode,
29647
+ compactMode: params.compactMode,
29648
+ skillsDiscoveryMode: params.skillsDiscoveryMode
29636
29649
  });
29637
29650
  const promptMode = params.promptMode ?? "full";
29638
29651
  const isMinimal = promptMode === "minimal" || promptMode === "none";
@@ -30438,7 +30451,8 @@ async function runEmbeddedAttempt(params) {
30438
30451
  autoLoadInlineSkills: params.config?.skills?.autoLoadInline,
30439
30452
  skillsDiscoveryMode: params.config?.skills?.discoveryMode,
30440
30453
  skillsAnchorList: params.config?.skills?.anchorList,
30441
- currentUserMessage: params.prompt
30454
+ currentUserMessage: params.prompt,
30455
+ compactMode: params.config?.prompt?.compactMode
30442
30456
  });
30443
30457
  const systemPromptReport = buildSystemPromptReport({
30444
30458
  source: "run",
@@ -32318,7 +32332,7 @@ async function runAgentTurn(params) {
32318
32332
  function createDefaultDeps() {
32319
32333
  return {
32320
32334
  sendMessageWhatsApp: async (...args) => {
32321
- const { sendMessageWhatsApp } = await import("./web-C-E-O8iP.js");
32335
+ const { sendMessageWhatsApp } = await import("./web-DhjVLurg.js");
32322
32336
  return await sendMessageWhatsApp(...args);
32323
32337
  },
32324
32338
  sendMessageTelegram: async (...args) => {
@@ -50749,7 +50763,7 @@ function loadWebLoginQr() {
50749
50763
  return webLoginQrPromise;
50750
50764
  }
50751
50765
  function loadWebChannel() {
50752
- webChannelPromise ??= import("./web-C-E-O8iP.js");
50766
+ webChannelPromise ??= import("./web-DhjVLurg.js");
50753
50767
  return webChannelPromise;
50754
50768
  }
50755
50769
  function loadWhatsAppActions() {
@@ -53445,6 +53459,41 @@ async function executeNodeHostCommand(params) {
53445
53459
 
53446
53460
  //#endregion
53447
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
+ }
53448
53497
  function extractScriptTargetFromCommand(command) {
53449
53498
  const raw = command.trim();
53450
53499
  if (!raw) return null;
@@ -53594,6 +53643,7 @@ function createExecTool(defaults) {
53594
53643
  env: process.env,
53595
53644
  timeoutMs: resolveShellEnvFallbackTimeoutMs(process.env)
53596
53645
  }));
53646
+ if (!sandbox && host === "gateway") applySymiNodePath(env);
53597
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.");
53598
53648
  else applyPathPrepend(env, defaultPathPrepend);
53599
53649
  if (host === "node") return executeNodeHostCommand({
@@ -66253,7 +66303,8 @@ async function compactEmbeddedPiSessionDirect(params) {
66253
66303
  autoLoadInlineSkills: params.config?.skills?.autoLoadInline,
66254
66304
  skillsDiscoveryMode: params.config?.skills?.discoveryMode,
66255
66305
  skillsAnchorList: params.config?.skills?.anchorList,
66256
- currentUserMessage: void 0
66306
+ currentUserMessage: void 0,
66307
+ compactMode: params.config?.prompt?.compactMode
66257
66308
  }));
66258
66309
  const sessionLock = await acquireSessionWriteLock({
66259
66310
  sessionFile: params.sessionFile,