@symerian/symi 2.5.2 → 2.5.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 (163) hide show
  1. package/dist/{agents-DfyzZKBc.js → agents-CTPFuwCu.js} +4 -4
  2. package/dist/{agents.config-VjZQr5GP.js → agents.config-CQVRXowo.js} +1 -1
  3. package/dist/{agents.config-Dzr8Us0l.js → agents.config-CVlanyIt.js} +1 -1
  4. package/dist/{auth-choice-C01glnpg.js → auth-choice-AlA3IixA.js} +1 -1
  5. package/dist/{auth-choice-BJPRC23V.js → auth-choice-BKmjyPNC.js} +1 -1
  6. package/dist/{banner-B4wP-CCZ.js → banner-8_qXSW1S.js} +1 -1
  7. package/dist/build-info.json +3 -3
  8. package/dist/bundled/boot-md/handler.js +1 -1
  9. package/dist/bundled/session-memory/handler.js +1 -1
  10. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  11. package/dist/{channel-options-DRK05uet.js → channel-options-CMm67N4v.js} +1 -1
  12. package/dist/{channel-options-Bb2WRpn4.js → channel-options-nfXd5NWO.js} +1 -1
  13. package/dist/{channel-web-Cv1L-jTo.js → channel-web-D6t5UK5A.js} +1 -1
  14. package/dist/{channels-cli-Dnwswsi2.js → channels-cli-BA9QVK8Q.js} +4 -4
  15. package/dist/{channels-cli-CPvaBiNE.js → channels-cli-B_iBgjWh.js} +4 -4
  16. package/dist/{cli-CgQySW2m.js → cli-BF2nSOtU.js} +1 -1
  17. package/dist/{cli-hT0g_Q65.js → cli-DyI0-h78.js} +1 -1
  18. package/dist/{command-registry-D7MjQKMD.js → command-registry-Be3hDEmx.js} +9 -9
  19. package/dist/{completion-cli-Bcv09Yuh.js → completion-cli-C3hbO0zE.js} +2 -2
  20. package/dist/{completion-cli-BLYlpN4p.js → completion-cli-DxditxWW.js} +1 -1
  21. package/dist/{config-cli-CIkKTucr.js → config-cli-7yzVs6sD.js} +1 -1
  22. package/dist/{config-cli-CtKkpyHu.js → config-cli-9MIL9tVq.js} +1 -1
  23. package/dist/{configure-BP4M7T_e.js → configure-BWIGtf_8.js} +3 -3
  24. package/dist/{configure-Bhm7x3Ri.js → configure-rs23A6dR.js} +3 -3
  25. package/dist/control-ui/js/app.js +2 -1
  26. package/dist/{doctor-completion-bTUb2Em4.js → doctor-completion-CRgIetEl.js} +1 -1
  27. package/dist/{doctor-completion-DVs_xVw4.js → doctor-completion-DKL7Fzep.js} +1 -1
  28. package/dist/entry.js +1 -1
  29. package/dist/extensionAPI.js +1 -1
  30. package/dist/{gateway-cli-CY_R8dGA.js → gateway-cli-CEWIFRt0.js} +9 -9
  31. package/dist/{gateway-cli-BPf1OUhU.js → gateway-cli-q04qp27D.js} +9 -9
  32. package/dist/{glass-ui-ws-Cx9mt64o.js → glass-ui-ws-0yPnNh0o.js} +37 -19
  33. package/dist/{glass-ui-ws-DMQldmwk.js → glass-ui-ws-DtFvFNZp.js} +37 -19
  34. package/dist/{health-vuMM-FAs.js → health-CGJe8xON.js} +1 -1
  35. package/dist/{health-CM3gPoYN.js → health-R_6vQfbY.js} +1 -1
  36. package/dist/{hooks-cli-tLOOQscu.js → hooks-cli-CUTMGbml.js} +2 -2
  37. package/dist/{hooks-cli-B8kuyvML.js → hooks-cli-Cvc0R8C2.js} +2 -2
  38. package/dist/index.js +6 -6
  39. package/dist/llm-slug-generator.js +1 -1
  40. package/dist/{models-CBtd5YaQ.js → models-DPk6zVF5.js} +2 -2
  41. package/dist/{models-cli-B8Fq0Of1.js → models-cli-1hWA7FrI.js} +2 -2
  42. package/dist/{models-cli-CIp8mElS.js → models-cli-BhijD6uM.js} +3 -3
  43. package/dist/{onboard-DBCSZwxu.js → onboard-FadtPlJX.js} +2 -2
  44. package/dist/{onboard-CjSHwvTP.js → onboard-Ob6VUhMj.js} +2 -2
  45. package/dist/{onboard-channels-BgMpB9vX.js → onboard-channels-D680exuN.js} +1 -1
  46. package/dist/{onboard-channels-eCCJophA.js → onboard-channels-r6Gvo5Cd.js} +1 -1
  47. package/dist/{onboarding-3iCiOVeb.js → onboarding-BL5h6kMP.js} +3 -3
  48. package/dist/{onboarding-ztTrPGQa.js → onboarding-CeLx4VEB.js} +3 -3
  49. package/dist/{onboarding.finalize-DsOBEKtX.js → onboarding.finalize-EOjEh487.js} +6 -6
  50. package/dist/{onboarding.finalize-bcSfd4yw.js → onboarding.finalize-y1rlw-1v.js} +5 -5
  51. package/dist/{pi-embedded-Ch-LcMWg.js → pi-embedded-Cuoz1LlF.js} +20 -8
  52. package/dist/{pi-embedded-CpI5F8DC.js → pi-embedded-D7S6Iuxk.js} +20 -8
  53. package/dist/{plugin-registry-CL--iTFl.js → plugin-registry-BtIkzwfi.js} +1 -1
  54. package/dist/{plugin-registry-BfqJjw6d.js → plugin-registry-DZ4m64Mr.js} +1 -1
  55. package/dist/plugin-sdk/{accounts-BToL3HlP.js → accounts-BtaOa4z_.js} +1 -1
  56. package/dist/plugin-sdk/{accounts-D9zGZU5t.js → accounts-Ddm33hQm.js} +3 -3
  57. package/dist/plugin-sdk/{accounts-Dtszw3Zn.js → accounts-s-AdhXVR.js} +1 -1
  58. package/dist/plugin-sdk/{active-listener-bEk__wbB.js → active-listener-BXYeALs0.js} +1 -1
  59. package/dist/plugin-sdk/{agent-scope-C3gMMKCU.js → agent-scope-CYYpcO9W.js} +2 -2
  60. package/dist/plugin-sdk/{api-key-rotation-CVBMpnPc.js → api-key-rotation-D_sMvI5W.js} +1 -1
  61. package/dist/plugin-sdk/{audio-preflight-DoQQKlxa.js → audio-preflight-VpItkiy3.js} +24 -24
  62. package/dist/plugin-sdk/{bindings-BbwoUGPx.js → bindings-C7hRtgYW.js} +2 -2
  63. package/dist/plugin-sdk/{channel-activity-Ji7f0gqq.js → channel-activity-DoC1xtDu.js} +1 -1
  64. package/dist/plugin-sdk/{channel-web-mO5qO05p.js → channel-web-CkBYE0D-.js} +22 -22
  65. package/dist/plugin-sdk/{chrome-C7c_0I5M.js → chrome-B7RdxmJ0.js} +3 -3
  66. package/dist/plugin-sdk/{chunk-jvk9axTQ.js → chunk-Dw2XBYXv.js} +1 -1
  67. package/dist/plugin-sdk/{command-format-DSdvQ_M5.js → command-format-GKSevep4.js} +1 -1
  68. package/dist/plugin-sdk/{commands-registry-CQFbmUMs.js → commands-registry-COIaslGl.js} +4 -4
  69. package/dist/plugin-sdk/{config-DDkdiUOR.js → config-KlTNfkFF.js} +9 -9
  70. package/dist/plugin-sdk/{deliver-BZ6iNLl7.js → deliver-BZ99UKQq.js} +10 -10
  71. package/dist/plugin-sdk/{diagnostic-mFf4i4G9.js → diagnostic-05pm5Rxi.js} +1 -1
  72. package/dist/plugin-sdk/{image-BOYy0Ump.js → image-CLOPx7yW.js} +4 -4
  73. package/dist/plugin-sdk/{image-ops-Bnp6LXEx.js → image-ops-BlQR__MN.js} +1 -1
  74. package/dist/plugin-sdk/index.js +53 -53
  75. package/dist/plugin-sdk/{ir-Fb3qpcis.js → ir-BJ6BHE5b.js} +4 -4
  76. package/dist/plugin-sdk/{local-roots-Ckk1QfzI.js → local-roots-BHLNSI8U.js} +3 -3
  77. package/dist/plugin-sdk/{login-Bh3DZPam.js → login-DQMXuxOk.js} +7 -7
  78. package/dist/plugin-sdk/{login-qr-DbR7odSr.js → login-qr-BjVZSoCi.js} +9 -9
  79. package/dist/plugin-sdk/{manager-DckktAQ3.js → manager-CBSBFuFz.js} +8 -8
  80. package/dist/plugin-sdk/{manifest-registry-B3ugY9-f.js → manifest-registry-CPnHl_K3.js} +1 -1
  81. package/dist/plugin-sdk/{markdown-tables-Dfaqilz6.js → markdown-tables-BoYFajMu.js} +1 -1
  82. package/dist/plugin-sdk/{message-channel-BdI5Ra9S.js → message-channel-COTAJzHd.js} +1 -1
  83. package/dist/plugin-sdk/{model-selection-OpU8HN50.js → model-selection-CsbEfrS0.js} +4 -4
  84. package/dist/plugin-sdk/{outbound-rF6G8Xpr.js → outbound-B0e8KdaR.js} +7 -7
  85. package/dist/plugin-sdk/{outbound-attachment-DnVQfTG2.js → outbound-attachment-CnslKL38.js} +2 -2
  86. package/dist/plugin-sdk/{pi-auth-json-CJk8t14T.js → pi-auth-json-qWi7ZIYV.js} +5 -5
  87. package/dist/plugin-sdk/{pi-embedded-helpers-BveUP4hk.js → pi-embedded-helpers-CW630epe.js} +17 -17
  88. package/dist/plugin-sdk/{plugins-BbAvhC25.js → plugins-BNByVCIH.js} +4 -4
  89. package/dist/plugin-sdk/{pw-ai-DjGUsee-.js → pw-ai-CnbPIPY9.js} +8 -8
  90. package/dist/plugin-sdk/{qmd-manager-mjKcdwVr.js → qmd-manager-CH0XbIHf.js} +4 -4
  91. package/dist/plugin-sdk/{registry--_pGht6S.js → registry-D0xTnUWt.js} +2 -2
  92. package/dist/plugin-sdk/{replies-fI39rPGa.js → replies-LLcQL3w6.js} +3 -3
  93. package/dist/plugin-sdk/{reply-B4uPw1l4.js → reply-DCiyoHqU.js} +96 -84
  94. package/dist/plugin-sdk/{reply-prefix-BHuV5t70.js → reply-prefix-uxfMZW4p.js} +1 -1
  95. package/dist/plugin-sdk/{resolve-outbound-target-BkCUbYGV.js → resolve-outbound-target-BiyAyTWz.js} +2 -2
  96. package/dist/plugin-sdk/{resolve-route-D3JH_D2N.js → resolve-route-B3CCBumQ.js} +3 -3
  97. package/dist/plugin-sdk/{retry-ilSJqnz9.js → retry-CwQ_iIj8.js} +1 -1
  98. package/dist/plugin-sdk/{runner-BVqnEfNe.js → runner-CGBT7tgF.js} +9 -9
  99. package/dist/plugin-sdk/{send-BtANzsAo.js → send-B2CEnVLL.js} +6 -6
  100. package/dist/plugin-sdk/{send-BHbXh8Ly.js → send-C5h_YxNb.js} +7 -7
  101. package/dist/plugin-sdk/{send-D6LMZJ_h.js → send-CRsR8-vO.js} +10 -10
  102. package/dist/plugin-sdk/{send-Bxdu6ZZy.js → send-CjOBB3Vo.js} +10 -10
  103. package/dist/plugin-sdk/{send-BMfJIhCk.js → send-pYqe432l.js} +6 -6
  104. package/dist/plugin-sdk/{session-kI0tzViQ.js → session-BsOrxiMj.js} +4 -4
  105. package/dist/plugin-sdk/{skill-commands-DCNXVERE.js → skill-commands-ff_01_r3.js} +5 -5
  106. package/dist/plugin-sdk/{skills-B1GeRYlu.js → skills-_yTP47Cd.js} +7 -7
  107. package/dist/plugin-sdk/{sqlite-Cq_7Cg4E.js → sqlite-CxAR5ttJ.js} +1 -1
  108. package/dist/plugin-sdk/{store-Do3t33-c.js → store-BdrNabcU.js} +2 -2
  109. package/dist/plugin-sdk/{subsystem-Coz2AgU8.js → subsystem-B2uDN3TV.js} +1 -1
  110. package/dist/plugin-sdk/{tables-DR0NmBeH.js → tables-DNwXwNFa.js} +1 -1
  111. package/dist/plugin-sdk/{target-errors-B7YyMnIi.js → target-errors-Paro1BjP.js} +2 -2
  112. package/dist/plugin-sdk/{thinking-DCNUIAHY.js → thinking-CXqf7WTe.js} +5 -5
  113. package/dist/plugin-sdk/{tokens-CWMflosr.js → tokens-bC3UVmVH.js} +1 -1
  114. package/dist/plugin-sdk/{tool-images-D7Lno-TE.js → tool-images-HJ2sfZDV.js} +2 -2
  115. package/dist/plugin-sdk/{tool-loop-detection-edmW8ZiF.js → tool-loop-detection-BVA6fax-.js} +2 -2
  116. package/dist/plugin-sdk/web-DMTBKWMU.js +65 -0
  117. package/dist/plugin-sdk/{whatsapp-actions-CcBzDuL-.js → whatsapp-actions-DfseosPO.js} +21 -21
  118. package/dist/{plugins-cli-DVLIR6IN.js → plugins-cli-CRb9nRFi.js} +2 -2
  119. package/dist/{plugins-cli-MaXVJ6uV.js → plugins-cli-DqE-InfX.js} +2 -2
  120. package/dist/{program-v4cRnLjP.js → program-Dh_NkeL_.js} +7 -7
  121. package/dist/{program-context-C0vN6LYk.js → program-context-C6OueMej.js} +17 -17
  122. package/dist/{prompt-select-styled-D48W5rxp.js → prompt-select-styled-B_XU_pph.js} +4 -4
  123. package/dist/{prompt-select-styled-CEmtUvNV.js → prompt-select-styled-CmbX-Peb.js} +4 -4
  124. package/dist/{provider-auth-helpers-CPbCxhvj.js → provider-auth-helpers-BDN3x0AU.js} +1 -1
  125. package/dist/{provider-auth-helpers-C4-EqP9W.js → provider-auth-helpers-CwUeZ41c.js} +1 -1
  126. package/dist/{push-apns-DpdcOumU.js → push-apns-BBaXO4aV.js} +1 -1
  127. package/dist/{push-apns-glbAu-g9.js → push-apns-CgmHr336.js} +1 -1
  128. package/dist/{register.agent-2jRwf1Rt.js → register.agent-BDIn4sRN.js} +5 -5
  129. package/dist/{register.agent-DrocnT2d.js → register.agent-zqbU35_d.js} +6 -6
  130. package/dist/{register.configure-yy5Qb8fJ.js → register.configure-B9Atehb4.js} +6 -6
  131. package/dist/{register.configure-DULdexW6.js → register.configure-CBWMCe2I.js} +6 -6
  132. package/dist/{register.maintenance-CI3D-c8a.js → register.maintenance-CzdnuWVy.js} +8 -8
  133. package/dist/{register.maintenance-v_G9yCLf.js → register.maintenance-aLrIiGjI.js} +7 -7
  134. package/dist/{register.message-DkwXioit.js → register.message-B6KDPfgh.js} +2 -2
  135. package/dist/{register.message-UoA7D74J.js → register.message-Dg0Q8NL0.js} +2 -2
  136. package/dist/{register.onboard-DFe3IAjB.js → register.onboard-B_0R2fhe.js} +4 -4
  137. package/dist/{register.onboard-D3qTCyiW.js → register.onboard-DY6yrdh6.js} +4 -4
  138. package/dist/{register.setup-DXT4OS3N.js → register.setup-BMEEidVS.js} +4 -4
  139. package/dist/{register.setup-DO3vwGHY.js → register.setup-DUBzMFHd.js} +4 -4
  140. package/dist/{register.status-health-sessions-DGLfWuS4.js → register.status-health-sessions-C3M6B_3w.js} +3 -3
  141. package/dist/{register.status-health-sessions-C5IRI7-t.js → register.status-health-sessions-DL9QESHL.js} +3 -3
  142. package/dist/{register.subclis-PQ2Ulz3J.js → register.subclis-CWosGlSy.js} +9 -9
  143. package/dist/{reply-kuehpmXb.js → reply-ahHa59uT.js} +20 -8
  144. package/dist/{run-main-BHKGY1KH.js → run-main-ChZAqQNU.js} +14 -14
  145. package/dist/{server-methods-BHjqwsiI.js → server-methods-B9ZPWP0q.js} +7 -7
  146. package/dist/{server-methods-rmWST_iV.js → server-methods-CGVoOkf3.js} +7 -7
  147. package/dist/{server-node-events-za7_iA-n.js → server-node-events-CjoofPGv.js} +2 -2
  148. package/dist/{server-node-events-KVX4S5Md.js → server-node-events-DzlyRIPt.js} +2 -2
  149. package/dist/{status-BJITmlhZ.js → status-Csa1fdSW.js} +2 -2
  150. package/dist/{status-DJhmJYSu.js → status-DNRd5-AN.js} +1 -1
  151. package/dist/{status-Bow6kS56.js → status-Dd3-6fq5.js} +2 -2
  152. package/dist/{status-CRuOmtVo.js → status-TUjwchut.js} +1 -1
  153. package/dist/{subagent-registry-BxM7J5m6.js → subagent-registry-DfimjEyh.js} +20 -8
  154. package/dist/{update-cli-Dqh498qQ.js → update-cli-B8TIn1_v.js} +7 -7
  155. package/dist/{update-cli-BfGdSZRk.js → update-cli-_VRN7Kfv.js} +8 -8
  156. package/dist/{update-runner-YRJPtj9J.js → update-runner-C0hYiaj2.js} +1 -1
  157. package/dist/{update-runner-C0iELmzo.js → update-runner-CB0M0lum.js} +1 -1
  158. package/dist/{web-9AS0DiSZ.js → web-BMLeQ_Ql.js} +1 -1
  159. package/dist/{web-CVAyVZBT.js → web-BUrK0rTE.js} +2 -2
  160. package/dist/{web-CubghJNN.js → web-DEbB7-Xr.js} +1 -1
  161. package/dist/{web-DFqKskm8.js → web-ysMm0Pnv.js} +1 -1
  162. package/package.json +1 -1
  163. package/dist/plugin-sdk/web-BkEJ_MjB.js +0 -65
@@ -5,19 +5,19 @@ import { t as formatCliCommand } from "./command-format-BtYOfWxC.js";
5
5
  import { m as DEFAULT_ACCOUNT_ID, s as normalizeAgentId, t as DEFAULT_AGENT_ID } from "./session-key-DjZ7Z1hW.js";
6
6
  import { c as resolveAgentWorkspaceDir, g as DEFAULT_IDENTITY_FILENAME, i as resolveAgentDir, l as resolveDefaultAgentId, t as listAgentEntries } from "./agent-scope-D-jRCY0d.js";
7
7
  import { l as writeConfigFile } from "./config-DHBLS1Hl.js";
8
- import { I as parseIdentityMarkdown, P as identityHasValues } from "./subagent-registry-BxM7J5m6.js";
8
+ import { I as parseIdentityMarkdown, P as identityHasValues } from "./subagent-registry-DfimjEyh.js";
9
9
  import { n as listChannelPlugins, r as normalizeChannelId, t as getChannelPlugin } from "./plugins-CwSlLxM8.js";
10
10
  import { s as resolveSessionTranscriptsDirForAgent } from "./paths-DNdWAq7b.js";
11
11
  import { a as ensureWorkspaceAndSessions, l as moveToTrash } from "./onboard-helpers-_pit1NZW.js";
12
12
  import { t as WizardCancelledError } from "./prompts-m1IJwIAx.js";
13
13
  import { t as createClackPrompter } from "./clack-prompter-B1aVoXd5.js";
14
14
  import { t as resolveChannelDefaultAccountId } from "./helpers-cLP5YLeQ.js";
15
- import { r as setupChannels } from "./onboard-channels-eCCJophA.js";
15
+ import { r as setupChannels } from "./onboard-channels-r6Gvo5Cd.js";
16
16
  import { t as requireValidConfigSnapshot } from "./config-validation-BITwrsxY.js";
17
- import { a as pruneAgentConfig, i as loadAgentIdentity, n as buildAgentSummaries, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-VjZQr5GP.js";
17
+ import { a as pruneAgentConfig, i as loadAgentIdentity, n as buildAgentSummaries, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-CQVRXowo.js";
18
18
  import { n as logConfigUpdated } from "./logging-BGewRZy0.js";
19
19
  import { n as promptAuthChoiceGrouped } from "./auth-choice-prompt-DVcYPG2v.js";
20
- import { i as applyAuthChoice, r as warnIfModelConfigLooksOff } from "./auth-choice-C01glnpg.js";
20
+ import { i as applyAuthChoice, r as warnIfModelConfigLooksOff } from "./auth-choice-AlA3IixA.js";
21
21
  import path from "node:path";
22
22
  import fs from "node:fs/promises";
23
23
 
@@ -1,6 +1,6 @@
1
1
  import { s as normalizeAgentId } from "./session-key-DjZ7Z1hW.js";
2
2
  import { c as resolveAgentWorkspaceDir, i as resolveAgentDir, l as resolveDefaultAgentId, t as listAgentEntries } from "./agent-scope-D-jRCY0d.js";
3
- import { F as loadAgentIdentityFromWorkspace, P as identityHasValues } from "./subagent-registry-BxM7J5m6.js";
3
+ import { F as loadAgentIdentityFromWorkspace, P as identityHasValues } from "./subagent-registry-DfimjEyh.js";
4
4
 
5
5
  //#region src/commands/agents.config.ts
6
6
  function findAgentEntryIndex(list, agentId) {
@@ -1,4 +1,4 @@
1
- import { Qt as loadAgentIdentityFromWorkspace, Zt as identityHasValues } from "./reply-kuehpmXb.js";
1
+ import { Qt as loadAgentIdentityFromWorkspace, Zt as identityHasValues } from "./reply-ahHa59uT.js";
2
2
  import { s as normalizeAgentId } from "./session-key-DCt45XZa.js";
3
3
  import { c as resolveAgentWorkspaceDir, i as resolveAgentDir, l as resolveDefaultAgentId, t as listAgentEntries } from "./agent-scope-CgUHAtCo.js";
4
4
 
@@ -6,7 +6,7 @@ import { n as loadModelCatalog } from "./model-catalog-CqCsARJX.js";
6
6
  import { f as openUrl } from "./onboard-helpers-_pit1NZW.js";
7
7
  import { t as enablePluginInConfig } from "./enable-CknE1f0w.js";
8
8
  import { $ as setHuggingfaceApiKey, A as applyXaiConfig, B as applyVercelAiGatewayConfig, C as applyQianfanProviderConfig, D as applyTogetherProviderConfig, E as applyTogetherConfig, F as applyZaiProviderConfig, G as OPENROUTER_DEFAULT_MODEL_REF, H as applyAgentDefaultModelPrimary, I as applyLitellmConfig, J as XIAOMI_DEFAULT_MODEL_REF, K as TOGETHER_DEFAULT_MODEL_REF, L as applyLitellmProviderConfig, M as applyXiaomiConfig, N as applyXiaomiProviderConfig, O as applyVeniceConfig, P as applyZaiConfig, Q as setGeminiApiKey, R as applyCloudflareAiGatewayConfig, S as applyQianfanConfig, T as applySyntheticProviderConfig, U as HUGGINGFACE_DEFAULT_MODEL_REF, V as applyVercelAiGatewayProviderConfig, W as LITELLM_DEFAULT_MODEL_REF, X as setAnthropicApiKey, Y as ZAI_DEFAULT_MODEL_REF, Z as setCloudflareAiGatewayConfig, _ as applyMoonshotConfigCn, _t as QIANFAN_DEFAULT_MODEL_REF, a as applyMinimaxApiConfig, at as setOpenrouterApiKey, b as applyOpenrouterConfig, c as applyMinimaxApiProviderConfigCn, ct as setTogetherApiKey, d as applyAuthProfileConfig, dt as setXaiApiKey, et as setKimiCodingApiKey, ft as setXiaomiApiKey, g as applyMoonshotConfig, gt as MOONSHOT_DEFAULT_MODEL_REF, h as applyKimiCodeProviderConfig, ht as KIMI_CODING_MODEL_REF, i as applyOpencodeZenProviderConfig, it as setOpencodeZenApiKey, j as applyXaiProviderConfig, k as applyVeniceProviderConfig, l as applyMinimaxConfig, lt as setVeniceApiKey, m as applyKimiCodeConfig, mt as writeOAuthCredentials, n as validateAnthropicSetupToken, nt as setMinimaxApiKey, o as applyMinimaxApiConfigCn, ot as setQianfanApiKey, p as applyHuggingfaceProviderConfig, pt as setZaiApiKey, q as VERCEL_AI_GATEWAY_DEFAULT_MODEL_REF, r as applyOpencodeZenConfig, rt as setMoonshotApiKey, s as applyMinimaxApiProviderConfig, st as setSyntheticApiKey, t as buildTokenProfileId, tt as setLitellmApiKey, u as applyMinimaxProviderConfig, ut as setVercelAiGatewayApiKey, v as applyMoonshotProviderConfig, vt as XAI_DEFAULT_MODEL_REF, w as applySyntheticConfig, x as applyOpenrouterProviderConfig, y as applyMoonshotProviderConfigCn, z as applyCloudflareAiGatewayProviderConfig } from "./auth-token-Cmrk2TPo.js";
9
- import { a as createVpsAwareOAuthHandlers, c as githubCopilotLoginCommand, i as resolveProviderMatch, n as mergeConfigPatch, o as isRemoteEnvironment, r as pickAuthMethod, s as resolvePluginProviders, t as applyDefaultModel } from "./provider-auth-helpers-CPbCxhvj.js";
9
+ import { a as createVpsAwareOAuthHandlers, c as githubCopilotLoginCommand, i as resolveProviderMatch, n as mergeConfigPatch, o as isRemoteEnvironment, r as pickAuthMethod, s as resolvePluginProviders, t as applyDefaultModel } from "./provider-auth-helpers-BDN3x0AU.js";
10
10
  import { a as detectZaiEndpoint, c as ensureModelAllowlistEntry, i as upsertSharedEnvVar, n as applyOpenAIConfig, o as GOOGLE_GEMINI_DEFAULT_MODEL, r as applyOpenAIProviderConfig, s as applyGoogleGeminiModelDefault, t as OPENAI_DEFAULT_MODEL } from "./openai-model-default-DAwnTUcK.js";
11
11
  import { c as OPENAI_CODEX_DEFAULT_MODEL, l as applyOpenAICodexModelDefault, r as applyPrimaryModel, s as promptAndConfigureVllm } from "./model-picker-D5nCutGW.js";
12
12
  import { loginOpenAICodex } from "@mariozechner/pi-ai";
@@ -6,7 +6,7 @@ import { n as loadModelCatalog } from "./model-catalog-DvBJ8pMD.js";
6
6
  import { f as openUrl } from "./onboard-helpers-ZmZYzlq3.js";
7
7
  import { t as enablePluginInConfig } from "./enable-HSYin9n7.js";
8
8
  import { $ as setHuggingfaceApiKey, A as applyXaiConfig, B as applyVercelAiGatewayConfig, C as applyQianfanProviderConfig, D as applyTogetherProviderConfig, E as applyTogetherConfig, F as applyZaiProviderConfig, G as OPENROUTER_DEFAULT_MODEL_REF, H as applyAgentDefaultModelPrimary, I as applyLitellmConfig, J as XIAOMI_DEFAULT_MODEL_REF, K as TOGETHER_DEFAULT_MODEL_REF, L as applyLitellmProviderConfig, M as applyXiaomiConfig, N as applyXiaomiProviderConfig, O as applyVeniceConfig, P as applyZaiConfig, Q as setGeminiApiKey, R as applyCloudflareAiGatewayConfig, S as applyQianfanConfig, T as applySyntheticProviderConfig, U as HUGGINGFACE_DEFAULT_MODEL_REF, V as applyVercelAiGatewayProviderConfig, W as LITELLM_DEFAULT_MODEL_REF, X as setAnthropicApiKey, Y as ZAI_DEFAULT_MODEL_REF, Z as setCloudflareAiGatewayConfig, _ as applyMoonshotConfigCn, _t as QIANFAN_DEFAULT_MODEL_REF, a as applyMinimaxApiConfig, at as setOpenrouterApiKey, b as applyOpenrouterConfig, c as applyMinimaxApiProviderConfigCn, ct as setTogetherApiKey, d as applyAuthProfileConfig, dt as setXaiApiKey, et as setKimiCodingApiKey, ft as setXiaomiApiKey, g as applyMoonshotConfig, gt as MOONSHOT_DEFAULT_MODEL_REF, h as applyKimiCodeProviderConfig, ht as KIMI_CODING_MODEL_REF, i as applyOpencodeZenProviderConfig, it as setOpencodeZenApiKey, j as applyXaiProviderConfig, k as applyVeniceProviderConfig, l as applyMinimaxConfig, lt as setVeniceApiKey, m as applyKimiCodeConfig, mt as writeOAuthCredentials, n as validateAnthropicSetupToken, nt as setMinimaxApiKey, o as applyMinimaxApiConfigCn, ot as setQianfanApiKey, p as applyHuggingfaceProviderConfig, pt as setZaiApiKey, q as VERCEL_AI_GATEWAY_DEFAULT_MODEL_REF, r as applyOpencodeZenConfig, rt as setMoonshotApiKey, s as applyMinimaxApiProviderConfig, st as setSyntheticApiKey, t as buildTokenProfileId, tt as setLitellmApiKey, u as applyMinimaxProviderConfig, ut as setVercelAiGatewayApiKey, v as applyMoonshotProviderConfig, vt as XAI_DEFAULT_MODEL_REF, w as applySyntheticConfig, x as applyOpenrouterProviderConfig, y as applyMoonshotProviderConfigCn, z as applyCloudflareAiGatewayProviderConfig } from "./auth-token-BnOynwk4.js";
9
- import { a as createVpsAwareOAuthHandlers, c as githubCopilotLoginCommand, i as resolveProviderMatch, n as mergeConfigPatch, o as isRemoteEnvironment, r as pickAuthMethod, s as resolvePluginProviders, t as applyDefaultModel } from "./provider-auth-helpers-C4-EqP9W.js";
9
+ import { a as createVpsAwareOAuthHandlers, c as githubCopilotLoginCommand, i as resolveProviderMatch, n as mergeConfigPatch, o as isRemoteEnvironment, r as pickAuthMethod, s as resolvePluginProviders, t as applyDefaultModel } from "./provider-auth-helpers-CwUeZ41c.js";
10
10
  import { a as detectZaiEndpoint, c as ensureModelAllowlistEntry, i as upsertSharedEnvVar, n as applyOpenAIConfig, o as GOOGLE_GEMINI_DEFAULT_MODEL, r as applyOpenAIProviderConfig, s as applyGoogleGeminiModelDefault, t as OPENAI_DEFAULT_MODEL } from "./openai-model-default-DMjQRsb1.js";
11
11
  import { c as OPENAI_CODEX_DEFAULT_MODEL, l as applyOpenAICodexModelDefault, r as applyPrimaryModel, s as promptAndConfigureVllm } from "./model-picker-Ddo3jHe-.js";
12
12
  import { randomBytes } from "node:crypto";
@@ -1,5 +1,5 @@
1
1
  import { Dt as theme, Et as isRich, h as visibleWidth, ln as hasRootVersionAlias } from "./entry.js";
2
- import { un as resolveCommitHash } from "./subagent-registry-BxM7J5m6.js";
2
+ import { un as resolveCommitHash } from "./subagent-registry-DfimjEyh.js";
3
3
 
4
4
  //#region src/cli/tagline.ts
5
5
  const DEFAULT_TAGLINE = "All your chats, one Symi.";
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "2.5.2",
3
- "commit": "ccaaf1f2cee92288e213120aa65f87ab1b47e70c",
4
- "builtAt": "2026-04-12T03:03:07.903Z"
2
+ "version": "2.5.4",
3
+ "commit": "189a76ea79e89b6be30669d31b7d734a246cc231",
4
+ "builtAt": "2026-04-12T03:15:37.306Z"
5
5
  }
@@ -5,7 +5,7 @@ import { s as resolveAgentWorkspaceDir, t as listAgentIds } from "../../agent-sc
5
5
  import { r as defaultRuntime, t as createSubsystemLogger } from "../../subsystem-Bs9YvKLa.js";
6
6
  import "../../workspace-wAaHI8-5.js";
7
7
  import { n as SILENT_REPLY_TOKEN } from "../../tokens-H1H1LiSQ.js";
8
- import { i as createDefaultDeps, r as agentCommand } from "../../pi-embedded-Ch-LcMWg.js";
8
+ import { i as createDefaultDeps, r as agentCommand } from "../../pi-embedded-Cuoz1LlF.js";
9
9
  import "../../plugins-DQYI3Fr-.js";
10
10
  import "../../accounts-tNElYrCH.js";
11
11
  import "../../boolean-B8-BqKGQ.js";
@@ -5,7 +5,7 @@ import { s as resolveAgentWorkspaceDir } from "../../agent-scope-BxoUQqgM.js";
5
5
  import { t as createSubsystemLogger } from "../../subsystem-Bs9YvKLa.js";
6
6
  import "../../workspace-wAaHI8-5.js";
7
7
  import "../../tokens-H1H1LiSQ.js";
8
- import "../../pi-embedded-Ch-LcMWg.js";
8
+ import "../../pi-embedded-Cuoz1LlF.js";
9
9
  import "../../plugins-DQYI3Fr-.js";
10
10
  import "../../accounts-tNElYrCH.js";
11
11
  import "../../boolean-B8-BqKGQ.js";
@@ -1 +1 @@
1
- c26b3e7b1cd2210c336c26c52bc8621cfe72cb09f5f48f57d9a7732bf80c6ec3
1
+ 209c3e331acb7ef06d0091998455c829b1d9d578ca46f5e60ee2ee2376a90b31
@@ -1,7 +1,7 @@
1
1
  import { C as CHAT_CHANNEL_ORDER, n as isTruthyEnvValue } from "./entry.js";
2
2
  import { n as listChannelPlugins } from "./plugins-CwSlLxM8.js";
3
3
  import { r as listChannelPluginCatalogEntries } from "./catalog-DLQFKucJ.js";
4
- import { t as ensurePluginRegistryLoaded } from "./plugin-registry-CL--iTFl.js";
4
+ import { t as ensurePluginRegistryLoaded } from "./plugin-registry-BtIkzwfi.js";
5
5
 
6
6
  //#region src/cli/channel-options.ts
7
7
  function dedupe(values) {
@@ -2,7 +2,7 @@ import { n as CHAT_CHANNEL_ORDER } from "./registry-Cja8eT7G.js";
2
2
  import { t as isTruthyEnvValue } from "./env-DPCHYPeH.js";
3
3
  import { n as listChannelPlugins } from "./plugins-DKDeQZF0.js";
4
4
  import { r as listChannelPluginCatalogEntries } from "./catalog-RiADx7MA.js";
5
- import { t as ensurePluginRegistryLoaded } from "./plugin-registry-BfqJjw6d.js";
5
+ import { t as ensurePluginRegistryLoaded } from "./plugin-registry-DZ4m64Mr.js";
6
6
 
7
7
  //#region src/cli/channel-options.ts
8
8
  function dedupe(values) {
@@ -1,5 +1,5 @@
1
1
  import { C as sleep, F as shouldLogVerbose, M as logVerbose, T as toWhatsappJid, V as getChildLogger, f as isSelfChatMode, m as normalizeE164, p as jidToE164, r as clamp, v as resolveJidToE164 } from "./utils-B-0b9bGM.js";
2
- import { Cn as shouldComputeCommandAuthorized, Dn as normalizeMentionText, En as buildMentionRegexes, Sn as hasControlCommand, Tt as sleepWithAbort, _n as createInboundDebouncer, an as buildPairingReply, bn as resolveEnvelopeFormatOptions, cn as buildHistoryContextFromEntries, dn as dispatchReplyWithBufferedBlockDispatcher, gn as createDedupeCache, ht as parseActivationCommand, ln as recordPendingHistoryEntryIfEnabled, mt as normalizeGroupActivation, on as resolveMentionGating, sn as DEFAULT_GROUP_HISTORY_LIMIT, t as getReplyFromConfig, un as shouldAckReactionForWhatsApp, vn as resolveInboundDebounceMs, wt as computeBackoff, xr as enqueueSystemEvent, yn as formatInboundEnvelope } from "./reply-kuehpmXb.js";
2
+ import { Cn as shouldComputeCommandAuthorized, Dn as normalizeMentionText, En as buildMentionRegexes, Sn as hasControlCommand, Tt as sleepWithAbort, _n as createInboundDebouncer, an as buildPairingReply, bn as resolveEnvelopeFormatOptions, cn as buildHistoryContextFromEntries, dn as dispatchReplyWithBufferedBlockDispatcher, gn as createDedupeCache, ht as parseActivationCommand, ln as recordPendingHistoryEntryIfEnabled, mt as normalizeGroupActivation, on as resolveMentionGating, sn as DEFAULT_GROUP_HISTORY_LIMIT, t as getReplyFromConfig, un as shouldAckReactionForWhatsApp, vn as resolveInboundDebounceMs, wt as computeBackoff, xr as enqueueSystemEvent, yn as formatInboundEnvelope } from "./reply-ahHa59uT.js";
3
3
  import { a as buildGroupHistoryKey, n as DEFAULT_MAIN_KEY, r as buildAgentMainSessionKey, s as normalizeAgentId } from "./session-key-DCt45XZa.js";
4
4
  import { f as defaultRuntime, t as createSubsystemLogger } from "./subsystem-D9vIQve0.js";
5
5
  import { t as formatCliCommand } from "./command-format-COaS-S7B.js";
@@ -1,7 +1,7 @@
1
1
  import "./paths-Cqn-zk3M.js";
2
2
  import { B as theme, O as danger, P as setVerbose, U as getResolvedLoggerSettings, d as isRecord } from "./utils-B-0b9bGM.js";
3
3
  import "./thinking-EAliFiVK.js";
4
- import { _t as formatUsageReportLines, gt as loadProviderUsageSummary, pt as deleteTelegramUpdateOffset } from "./reply-kuehpmXb.js";
4
+ import { _t as formatUsageReportLines, gt as loadProviderUsageSummary, pt as deleteTelegramUpdateOffset } from "./reply-ahHa59uT.js";
5
5
  import { h as normalizeAccountId, m as DEFAULT_ACCOUNT_ID } from "./session-key-DCt45XZa.js";
6
6
  import { r as DEFAULT_CHAT_CHANNEL } from "./registry-Cja8eT7G.js";
7
7
  import { f as defaultRuntime } from "./subsystem-D9vIQve0.js";
@@ -105,8 +105,8 @@ import "./control-service-Bz7rxLWq.js";
105
105
  import "./stagger-BUClb97_.js";
106
106
  import { n as resolveMessageChannelSelection } from "./channel-selection-DuWs0Aak.js";
107
107
  import { r as listChannelPluginCatalogEntries } from "./catalog-RiADx7MA.js";
108
- import "./plugin-registry-BfqJjw6d.js";
109
- import { t as formatCliChannelOptions } from "./channel-options-Bb2WRpn4.js";
108
+ import "./plugin-registry-DZ4m64Mr.js";
109
+ import { t as formatCliChannelOptions } from "./channel-options-nfXd5NWO.js";
110
110
  import { t as hasExplicitOptions } from "./command-options-BtDai3oC.js";
111
111
  import "./note-DeHoW7xO.js";
112
112
  import { t as createClackPrompter } from "./clack-prompter-B7pN13HV.js";
@@ -116,7 +116,7 @@ import "./install-safe-path-tCLiMpmO.js";
116
116
  import "./npm-registry-spec-C2JDdSZS.js";
117
117
  import "./skill-scanner-CLs8u6vQ.js";
118
118
  import "./installs-C1Cebk97.js";
119
- import { a as reloadOnboardingPluginRegistry, i as ensureOnboardingPluginInstalled, r as setupChannels } from "./onboard-channels-BgMpB9vX.js";
119
+ import { a as reloadOnboardingPluginRegistry, i as ensureOnboardingPluginInstalled, r as setupChannels } from "./onboard-channels-D680exuN.js";
120
120
  import { t as requireValidConfigSnapshot } from "./config-validation-CmimHAES.js";
121
121
  import { t as buildChannelAccountSnapshot } from "./status-BrV-afZE.js";
122
122
  import { t as parseLogLine } from "./parse-log-line-BHCUQaF3.js";
@@ -15,7 +15,7 @@ import "./client-DMBZpU6X.js";
15
15
  import { n as callGateway } from "./call-BcE47FtD.js";
16
16
  import "./message-channel-C9dERklz.js";
17
17
  import "./pairing-token-Byh6drgn.js";
18
- import { h as deleteTelegramUpdateOffset, in as formatUsageReportLines, rn as loadProviderUsageSummary } from "./subagent-registry-BxM7J5m6.js";
18
+ import { h as deleteTelegramUpdateOffset, in as formatUsageReportLines, rn as loadProviderUsageSummary } from "./subagent-registry-DfimjEyh.js";
19
19
  import "./sessions-CJXnZVjR.js";
20
20
  import "./tokens-Csntmwwn.js";
21
21
  import { n as listChannelPlugins, r as normalizeChannelId, t as getChannelPlugin, u as resolveTelegramAccount } from "./plugins-CwSlLxM8.js";
@@ -110,13 +110,13 @@ import "./install-safe-path-BK8js28D.js";
110
110
  import "./npm-registry-spec-DkaZNHAW.js";
111
111
  import "./skill-scanner-BGWOBqLY.js";
112
112
  import "./installs-CgQpVncj.js";
113
- import { a as reloadOnboardingPluginRegistry, i as ensureOnboardingPluginInstalled, r as setupChannels } from "./onboard-channels-eCCJophA.js";
113
+ import { a as reloadOnboardingPluginRegistry, i as ensureOnboardingPluginInstalled, r as setupChannels } from "./onboard-channels-r6Gvo5Cd.js";
114
114
  import { t as requireValidConfigSnapshot } from "./config-validation-BITwrsxY.js";
115
115
  import { t as buildChannelAccountSnapshot } from "./status-BUedPCLb.js";
116
116
  import { t as parseLogLine } from "./parse-log-line-C6yJx969.js";
117
117
  import { t as collectChannelStatusIssues } from "./channels-status-issues-c7qZbYG5.js";
118
- import "./plugin-registry-CL--iTFl.js";
119
- import { t as formatCliChannelOptions } from "./channel-options-DRK05uet.js";
118
+ import "./plugin-registry-BtIkzwfi.js";
119
+ import { t as formatCliChannelOptions } from "./channel-options-CMm67N4v.js";
120
120
  import fs from "node:fs/promises";
121
121
 
122
122
  //#region src/commands/channels/add-mutators.ts
@@ -1,7 +1,7 @@
1
1
  import "./paths-Cqn-zk3M.js";
2
2
  import "./utils-B-0b9bGM.js";
3
3
  import "./thinking-EAliFiVK.js";
4
- import { ft as loadSymiPlugins } from "./reply-kuehpmXb.js";
4
+ import { ft as loadSymiPlugins } from "./reply-ahHa59uT.js";
5
5
  import "./registry-Cja8eT7G.js";
6
6
  import { t as createSubsystemLogger } from "./subsystem-D9vIQve0.js";
7
7
  import "./exec-CWkblSrI.js";
@@ -13,7 +13,7 @@ import "./client-DMBZpU6X.js";
13
13
  import "./call-BcE47FtD.js";
14
14
  import "./message-channel-C9dERklz.js";
15
15
  import "./pairing-token-Byh6drgn.js";
16
- import { m as loadSymiPlugins } from "./subagent-registry-BxM7J5m6.js";
16
+ import { m as loadSymiPlugins } from "./subagent-registry-DfimjEyh.js";
17
17
  import "./sessions-CJXnZVjR.js";
18
18
  import "./tokens-Csntmwwn.js";
19
19
  import "./plugins-CwSlLxM8.js";
@@ -1,6 +1,6 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { an as getPrimaryCommand, cn as hasHelpOrVersion } from "./entry.js";
3
- import { i as registerSubCliCommands, o as reparseProgramFromActionArgs } from "./register.subclis-PQ2Ulz3J.js";
3
+ import { i as registerSubCliCommands, o as reparseProgramFromActionArgs } from "./register.subclis-CWosGlSy.js";
4
4
 
5
5
  //#region src/cli/program/command-registry.ts
6
6
  var command_registry_exports = /* @__PURE__ */ __exportAll({
@@ -22,7 +22,7 @@ const coreEntries = [
22
22
  hasSubcommands: false
23
23
  }],
24
24
  register: async ({ program }) => {
25
- (await import("./register.setup-DXT4OS3N.js")).registerSetupCommand(program);
25
+ (await import("./register.setup-BMEEidVS.js")).registerSetupCommand(program);
26
26
  }
27
27
  },
28
28
  {
@@ -32,7 +32,7 @@ const coreEntries = [
32
32
  hasSubcommands: false
33
33
  }],
34
34
  register: async ({ program }) => {
35
- (await import("./register.onboard-DFe3IAjB.js")).registerOnboardCommand(program);
35
+ (await import("./register.onboard-B_0R2fhe.js")).registerOnboardCommand(program);
36
36
  }
37
37
  },
38
38
  {
@@ -42,7 +42,7 @@ const coreEntries = [
42
42
  hasSubcommands: false
43
43
  }],
44
44
  register: async ({ program }) => {
45
- (await import("./register.configure-DULdexW6.js")).registerConfigureCommand(program);
45
+ (await import("./register.configure-CBWMCe2I.js")).registerConfigureCommand(program);
46
46
  }
47
47
  },
48
48
  {
@@ -52,7 +52,7 @@ const coreEntries = [
52
52
  hasSubcommands: true
53
53
  }],
54
54
  register: async ({ program }) => {
55
- (await import("./config-cli-CtKkpyHu.js")).registerConfigCli(program);
55
+ (await import("./config-cli-9MIL9tVq.js")).registerConfigCli(program);
56
56
  }
57
57
  },
58
58
  {
@@ -79,7 +79,7 @@ const coreEntries = [
79
79
  }
80
80
  ],
81
81
  register: async ({ program }) => {
82
- (await import("./register.maintenance-CI3D-c8a.js")).registerMaintenanceCommands(program);
82
+ (await import("./register.maintenance-CzdnuWVy.js")).registerMaintenanceCommands(program);
83
83
  }
84
84
  },
85
85
  {
@@ -89,7 +89,7 @@ const coreEntries = [
89
89
  hasSubcommands: true
90
90
  }],
91
91
  register: async ({ program, ctx }) => {
92
- (await import("./register.message-DkwXioit.js")).registerMessageCommands(program, ctx);
92
+ (await import("./register.message-B6KDPfgh.js")).registerMessageCommands(program, ctx);
93
93
  }
94
94
  },
95
95
  {
@@ -113,7 +113,7 @@ const coreEntries = [
113
113
  hasSubcommands: true
114
114
  }],
115
115
  register: async ({ program, ctx }) => {
116
- (await import("./register.agent-DrocnT2d.js")).registerAgentCommands(program, { agentChannelOptions: ctx.agentChannelOptions });
116
+ (await import("./register.agent-zqbU35_d.js")).registerAgentCommands(program, { agentChannelOptions: ctx.agentChannelOptions });
117
117
  }
118
118
  },
119
119
  {
@@ -135,7 +135,7 @@ const coreEntries = [
135
135
  }
136
136
  ],
137
137
  register: async ({ program }) => {
138
- (await import("./register.status-health-sessions-DGLfWuS4.js")).registerStatusHealthSessionsCommands(program);
138
+ (await import("./register.status-health-sessions-C3M6B_3w.js")).registerStatusHealthSessionsCommands(program);
139
139
  }
140
140
  },
141
141
  {
@@ -1,7 +1,7 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { Yt as resolveStateDir, l as routeLogsToStderr, nt as pathExists } from "./entry.js";
3
- import { n as getSubCliEntries, r as registerSubCliByName } from "./register.subclis-PQ2Ulz3J.js";
4
- import { i as registerCoreCliByName, n as getCoreCliCommandNames } from "./command-registry-D7MjQKMD.js";
3
+ import { n as getSubCliEntries, r as registerSubCliByName } from "./register.subclis-CWosGlSy.js";
4
+ import { i as registerCoreCliByName, n as getCoreCliCommandNames } from "./command-registry-Be3hDEmx.js";
5
5
  import { t as getProgramContext } from "./program-context-CqzR_m-7.js";
6
6
  import os from "node:os";
7
7
  import path from "node:path";
@@ -2,7 +2,7 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { g as resolveStateDir } from "./paths-Cqn-zk3M.js";
3
3
  import { h as pathExists } from "./utils-B-0b9bGM.js";
4
4
  import { i as routeLogsToStderr } from "./subsystem-D9vIQve0.js";
5
- import { a as registerCoreCliByName, c as getSubCliEntries, l as registerSubCliByName, r as getCoreCliCommandNames, t as getProgramContext } from "./program-context-C0vN6LYk.js";
5
+ import { a as registerCoreCliByName, c as getSubCliEntries, l as registerSubCliByName, r as getCoreCliCommandNames, t as getProgramContext } from "./program-context-C6OueMej.js";
6
6
  import os from "node:os";
7
7
  import path from "node:path";
8
8
  import fs from "node:fs/promises";
@@ -206,7 +206,7 @@ async function runConfigUnset(opts) {
206
206
  }
207
207
  function registerConfigCli(program) {
208
208
  const cmd = program.command("config").description("Non-interactive config helpers (get/set/unset). Run without subcommand for the setup wizard.").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/config", "docs.symi.ai/cli/config")}\n`).option("--section <section>", "Configure wizard sections (repeatable). Use with no subcommand.", (value, previous) => [...previous, value], []).action(async (opts) => {
209
- const { configureCommandFromSectionsArg } = await import("./configure-BP4M7T_e.js").then((n) => n.t);
209
+ const { configureCommandFromSectionsArg } = await import("./configure-BWIGtf_8.js").then((n) => n.t);
210
210
  await configureCommandFromSectionsArg(opts.section, defaultRuntime);
211
211
  });
212
212
  cmd.command("get").description("Get a config value by dot path").argument("<path>", "Config path (dot or bracket notation)").option("--json", "Output JSON", false).action(async (path, opts) => {
@@ -201,7 +201,7 @@ async function runConfigUnset(opts) {
201
201
  }
202
202
  function registerConfigCli(program) {
203
203
  const cmd = program.command("config").description("Non-interactive config helpers (get/set/unset). Run without subcommand for the setup wizard.").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/config", "docs.symi.ai/cli/config")}\n`).option("--section <section>", "Configure wizard sections (repeatable). Use with no subcommand.", (value, previous) => [...previous, value], []).action(async (opts) => {
204
- const { configureCommandFromSectionsArg } = await import("./configure-Bhm7x3Ri.js").then((n) => n.t);
204
+ const { configureCommandFromSectionsArg } = await import("./configure-rs23A6dR.js").then((n) => n.t);
205
205
  await configureCommandFromSectionsArg(opts.section, defaultRuntime);
206
206
  });
207
207
  cmd.command("get").description("Get a config value by dot path").argument("<path>", "Config path (dot or bracket notation)").option("--json", "Output JSON", false).action(async (path, opts) => {
@@ -13,14 +13,14 @@ import { n as stylePromptMessage, r as stylePromptTitle, t as stylePromptHint }
13
13
  import { t as note$1 } from "./note-DeHoW7xO.js";
14
14
  import { t as WizardCancelledError } from "./prompts-Xu2Sveka.js";
15
15
  import { t as createClackPrompter } from "./clack-prompter-B7pN13HV.js";
16
- import { r as setupChannels, t as noteChannelStatus } from "./onboard-channels-BgMpB9vX.js";
16
+ import { r as setupChannels, t as noteChannelStatus } from "./onboard-channels-D680exuN.js";
17
17
  import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-2mwX-jqj.js";
18
18
  import { t as resolveGatewayService } from "./service-Cl74hx8J.js";
19
- import { r as healthCommand } from "./health-CM3gPoYN.js";
19
+ import { r as healthCommand } from "./health-R_6vQfbY.js";
20
20
  import { t as ensureControlUiAssetsBuilt } from "./control-ui-assets-Z947tKLt.js";
21
21
  import { n as logConfigUpdated } from "./logging-BzzwiKjv.js";
22
22
  import { n as promptAuthChoiceGrouped } from "./auth-choice-prompt-BLzEBA1v.js";
23
- import { i as applyAuthChoice, n as resolvePreferredProviderForAuthChoice } from "./auth-choice-BJPRC23V.js";
23
+ import { i as applyAuthChoice, n as resolvePreferredProviderForAuthChoice } from "./auth-choice-BKmjyPNC.js";
24
24
  import { a as promptDefaultModel, n as applyModelFallbacksFromSelection, o as promptModelAllowlist, r as applyPrimaryModel, t as applyModelAllowlist } from "./model-picker-Ddo3jHe-.js";
25
25
  import { t as ensureSystemdUserLingerInteractive } from "./systemd-linger-aQ75ZlXY.js";
26
26
  import { a as promptCustomApiConfig } from "./onboard-custom-C7O-zfQ1.js";
@@ -11,14 +11,14 @@ import { n as stylePromptMessage, r as stylePromptTitle, t as stylePromptHint }
11
11
  import { t as note$1 } from "./note-DDecZomM.js";
12
12
  import { t as WizardCancelledError } from "./prompts-m1IJwIAx.js";
13
13
  import { t as createClackPrompter } from "./clack-prompter-B1aVoXd5.js";
14
- import { r as setupChannels, t as noteChannelStatus } from "./onboard-channels-eCCJophA.js";
14
+ import { r as setupChannels, t as noteChannelStatus } from "./onboard-channels-r6Gvo5Cd.js";
15
15
  import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-CfRwa6qh.js";
16
16
  import { t as resolveGatewayService } from "./service-Cm9j9WzQ.js";
17
- import { r as healthCommand } from "./health-vuMM-FAs.js";
17
+ import { r as healthCommand } from "./health-CGJe8xON.js";
18
18
  import { t as ensureControlUiAssetsBuilt } from "./control-ui-assets-BseSWee1.js";
19
19
  import { n as logConfigUpdated } from "./logging-BGewRZy0.js";
20
20
  import { n as promptAuthChoiceGrouped } from "./auth-choice-prompt-DVcYPG2v.js";
21
- import { i as applyAuthChoice, n as resolvePreferredProviderForAuthChoice } from "./auth-choice-C01glnpg.js";
21
+ import { i as applyAuthChoice, n as resolvePreferredProviderForAuthChoice } from "./auth-choice-AlA3IixA.js";
22
22
  import { a as promptDefaultModel, n as applyModelFallbacksFromSelection, o as promptModelAllowlist, r as applyPrimaryModel, t as applyModelAllowlist } from "./model-picker-D5nCutGW.js";
23
23
  import { t as ensureSystemdUserLingerInteractive } from "./systemd-linger-DA_LW52P.js";
24
24
  import { a as promptCustomApiConfig } from "./onboard-custom-DdWPfzJO.js";
@@ -31,7 +31,8 @@ let WATCHDOG_MS = 300000; // 300 seconds of silence → failure (profile-overrid
31
31
 
32
32
  // ── Model profile state (updated via "profile" gateway event) ────
33
33
  let activeProfile = null;
34
- const _seenMessageIds = new Set(); // dedup guard for reconnect replays (future)
34
+ // NOTE: Client-side dedup removed server-side per-client seq tracking in
35
+ // glass-ui-ws.ts prevents duplicate broadcasts. See Phase 5 of v3 plan.
35
36
 
36
37
  // ── Utility ───────────────────────────────────────────────────────
37
38
  const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
@@ -1,7 +1,7 @@
1
1
  import { r as resolveCliName } from "./command-format-BtYOfWxC.js";
2
2
  import { t as resolveSymiPackageRoot } from "./symi-root-BNuQ4lAT.js";
3
3
  import { t as note } from "./note-DDecZomM.js";
4
- import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-Bcv09Yuh.js";
4
+ import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-C3hbO0zE.js";
5
5
  import { spawnSync } from "node:child_process";
6
6
  import path from "node:path";
7
7
 
@@ -1,7 +1,7 @@
1
1
  import { t as resolveSymiPackageRoot } from "./symi-root-CrGJbkzf.js";
2
2
  import { r as resolveCliName } from "./command-format-COaS-S7B.js";
3
3
  import { t as note } from "./note-DeHoW7xO.js";
4
- import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-BLYlpN4p.js";
4
+ import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-DxditxWW.js";
5
5
  import path from "node:path";
6
6
  import { spawnSync } from "node:child_process";
7
7
 
package/dist/entry.js CHANGED
@@ -2500,7 +2500,7 @@ if (!ensureExperimentalWarningSuppressed()) {
2500
2500
  applyCliProfileEnv({ profile: parsed.profile });
2501
2501
  process$1.argv = parsed.argv;
2502
2502
  }
2503
- import("./run-main-BHKGY1KH.js").then(({ runCli }) => runCli(process$1.argv)).catch((error) => {
2503
+ import("./run-main-ChZAqQNU.js").then(({ runCli }) => runCli(process$1.argv)).catch((error) => {
2504
2504
  console.error("[symi] Failed to start CLI:", error instanceof Error ? error.stack ?? error.message : error);
2505
2505
  process$1.exitCode = 1;
2506
2506
  });
@@ -7,7 +7,7 @@ import { a as resolveAgentIdentity } from "./reply-prefix-K_J_nfgx.js";
7
7
  import "./github-copilot-token-BbsJ0Qbo.js";
8
8
  import "./env-CQ_DQOwT.js";
9
9
  import "./tokens-Cn6drXx2.js";
10
- import { D as resolveAgentTimeoutMs, r as runEmbeddedPiAgent } from "./pi-embedded-CpI5F8DC.js";
10
+ import { D as resolveAgentTimeoutMs, r as runEmbeddedPiAgent } from "./pi-embedded-D7S6Iuxk.js";
11
11
  import "./plugins-71oIavrF.js";
12
12
  import "./accounts-DDEyGwby.js";
13
13
  import "./bindings-DYVakimr.js";
@@ -21,7 +21,7 @@ import "./pairing-token-Byh6drgn.js";
21
21
  import { t as safeEqualSecret } from "./secret-equal-CbntzRkh.js";
22
22
  import { a as isValidIPv4, c as resolveClientIp, d as resolveHostName, f as rawDataToString, i as isTrustedProxyAddress, l as resolveGatewayBindHost, n as isLoopbackHost, o as normalizeHostHeader, t as isLoopbackAddress, u as resolveGatewayListenHosts } from "./net-DZ5Ayk-W.js";
23
23
  import { n as pickPrimaryTailnetIPv4, r as pickPrimaryTailnetIPv6 } from "./tailnet-Cmumpn76.js";
24
- import { $ as getCliSessionId, $t as setPreRestartDeferralCheck, A as getActiveEmbeddedRunCount, An as DEFAULT_INPUT_TIMEOUT_MS, At as normalizeOptionalSessionKey, B as buildHistoryContextFromEntries, Bt as buildSafeExternalPrompt, Cn as enqueueSystemEvent, Cr as onAgentEvent, Dn as DEFAULT_INPUT_IMAGE_MAX_BYTES, E as createDefaultDeps, Ft as buildDeliveryFromLegacyPayload, Ht as getHookType, In as resolveAgentTimeoutMs, It as hasLegacyDeliveryHints, Jt as emitGatewayRestart, Kt as consumeGatewaySigusr1RestartAuthorization, Lt as stripLegacyDeliveryFields, M as resolveModelProfile, Mn as extractImageContentFromSource, Mt as normalizePayloadToSystemText, N as resolveAgentAvatar, Nn as normalizeMimeList, Nt as normalizeRequiredName, O as runEmbeddedPiAgent, On as DEFAULT_INPUT_IMAGE_MIMES, Ot as inferLegacyName, Pn as resolveInputFileLimits, Pt as migrateLegacyCronPayload, Q as resolveCronStyleNow, Qt as setGatewaySigusr1RestartPolicy, Sr as getAgentRunContext, St as summarizeRestartSentinel, T as createOutboundSendDeps, Tt as normalizeHttpWebhookUrl, Ut as isExternalHookSession, Vt as detectSuspiciousPatterns, Xt as markGatewaySigusr1RestartHandled, Yt as isGatewaySigusr1RestartExternallyAllowed, _ as readJsonBodyWithLimit, at as resolveAnnounceTargetFromKey, b as sleepWithAbort, br as clearAgentRunContext, bt as formatRestartSentinelMessage, cr as getActiveTaskCount, ct as resolveOutboundSessionRoute, dn as requestHeartbeatNow, dr as resetAllLanes, dt as resolveOutboundTarget, et as setCliSessionId, f as getPluginToolMeta, fr as setCommandLaneConcurrency, ft as resolveSessionDeliveryTarget, g as handleSlackHttpRequest, gt as runWithModelFallback, hr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, i as listDescendantRunsForRequester, it as readLatestAssistantReply, jn as extractFileContentFromSource, jt as normalizeOptionalText, kn as DEFAULT_INPUT_MAX_REDIRECTS, kt as normalizeOptionalAgentId, l as applyToolPolicyPipeline, m as loadSymiPlugins, mr as CommandLane, mt as resetDirectoryCache, n as countActiveRunsForSession, pr as waitForActiveTasks, q as getTotalPendingReplies, qt as deferGatewayRestartUntilIdle, r as initSubagentRegistry, rt as createSymiTools, s as runSubagentAnnounceFlow, t as countActiveDescendantRuns, tt as runCliAgent, u as buildDefaultToolPolicyPipelineSteps, ur as getTotalQueueSize, v as requestBodyErrorToText, vt as consumeRestartSentinel, wr as registerAgentRunContext, x as agentCommand, xr as emitAgentEvent, y as computeBackoff, yr as stripHeartbeatToken } from "./subagent-registry-BxM7J5m6.js";
24
+ import { $ as getCliSessionId, $t as setPreRestartDeferralCheck, A as getActiveEmbeddedRunCount, An as DEFAULT_INPUT_TIMEOUT_MS, At as normalizeOptionalSessionKey, B as buildHistoryContextFromEntries, Bt as buildSafeExternalPrompt, Cn as enqueueSystemEvent, Cr as onAgentEvent, Dn as DEFAULT_INPUT_IMAGE_MAX_BYTES, E as createDefaultDeps, Ft as buildDeliveryFromLegacyPayload, Ht as getHookType, In as resolveAgentTimeoutMs, It as hasLegacyDeliveryHints, Jt as emitGatewayRestart, Kt as consumeGatewaySigusr1RestartAuthorization, Lt as stripLegacyDeliveryFields, M as resolveModelProfile, Mn as extractImageContentFromSource, Mt as normalizePayloadToSystemText, N as resolveAgentAvatar, Nn as normalizeMimeList, Nt as normalizeRequiredName, O as runEmbeddedPiAgent, On as DEFAULT_INPUT_IMAGE_MIMES, Ot as inferLegacyName, Pn as resolveInputFileLimits, Pt as migrateLegacyCronPayload, Q as resolveCronStyleNow, Qt as setGatewaySigusr1RestartPolicy, Sr as getAgentRunContext, St as summarizeRestartSentinel, T as createOutboundSendDeps, Tt as normalizeHttpWebhookUrl, Ut as isExternalHookSession, Vt as detectSuspiciousPatterns, Xt as markGatewaySigusr1RestartHandled, Yt as isGatewaySigusr1RestartExternallyAllowed, _ as readJsonBodyWithLimit, at as resolveAnnounceTargetFromKey, b as sleepWithAbort, br as clearAgentRunContext, bt as formatRestartSentinelMessage, cr as getActiveTaskCount, ct as resolveOutboundSessionRoute, dn as requestHeartbeatNow, dr as resetAllLanes, dt as resolveOutboundTarget, et as setCliSessionId, f as getPluginToolMeta, fr as setCommandLaneConcurrency, ft as resolveSessionDeliveryTarget, g as handleSlackHttpRequest, gt as runWithModelFallback, hr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, i as listDescendantRunsForRequester, it as readLatestAssistantReply, jn as extractFileContentFromSource, jt as normalizeOptionalText, kn as DEFAULT_INPUT_MAX_REDIRECTS, kt as normalizeOptionalAgentId, l as applyToolPolicyPipeline, m as loadSymiPlugins, mr as CommandLane, mt as resetDirectoryCache, n as countActiveRunsForSession, pr as waitForActiveTasks, q as getTotalPendingReplies, qt as deferGatewayRestartUntilIdle, r as initSubagentRegistry, rt as createSymiTools, s as runSubagentAnnounceFlow, t as countActiveDescendantRuns, tt as runCliAgent, u as buildDefaultToolPolicyPipelineSteps, ur as getTotalQueueSize, v as requestBodyErrorToText, vt as consumeRestartSentinel, wr as registerAgentRunContext, x as agentCommand, xr as emitAgentEvent, y as computeBackoff, yr as stripHeartbeatToken } from "./subagent-registry-DfimjEyh.js";
25
25
  import { D as resolveSessionResetPolicy, F as resolveMainSessionKey, H as cleanStaleLockFiles, I as resolveMainSessionKeyFromConfig, K as mergeDeliveryContext, M as canonicalizeMainSessionAlias, N as resolveAgentMainSessionKey, T as evaluateSessionFreshness, W as deliveryContextFromSession, d as updateSessionStore, n as parseSessionThreadInfo, o as loadSessionStore } from "./sessions-CJXnZVjR.js";
26
26
  import { a as isSilentReplyText, n as SILENT_REPLY_TOKEN } from "./tokens-Csntmwwn.js";
27
27
  import { n as listChannelPlugins, o as normalizeWhatsAppTarget, r as normalizeChannelId, t as getChannelPlugin } from "./plugins-CwSlLxM8.js";
@@ -130,20 +130,20 @@ import { n as resolveWideAreaDiscoveryDomain, r as writeWideAreaGatewayZone } fr
130
130
  import { i as toOptionString, n as extractGatewayMiskeys, r as maybeExplainGatewayServiceStop, t as describeUnknownError } from "./shared-BtG9rny3.js";
131
131
  import { c as probeGateway, s as resolveNodeCommandAllowlist } from "./audit-Byo5jCLN.js";
132
132
  import { t as discoverGatewayBeacons } from "./bonjour-discovery-CA_XIzr_.js";
133
- import { i as pickGatewaySelfPresence } from "./status-BJITmlhZ.js";
134
- import { a as styleHealthChannelLine, l as startHeartbeatRunner, n as getHealthSnapshot, s as runHeartbeatOnce, t as formatHealthChannelLines } from "./health-vuMM-FAs.js";
133
+ import { i as pickGatewaySelfPresence } from "./status-Csa1fdSW.js";
134
+ import { a as styleHealthChannelLine, l as startHeartbeatRunner, n as getHealthSnapshot, s as runHeartbeatOnce, t as formatHealthChannelLines } from "./health-CGJe8xON.js";
135
135
  import { a as resolveControlUiRootSync, i as resolveControlUiRootOverrideSync, t as ensureControlUiAssetsBuilt } from "./control-ui-assets-BseSWee1.js";
136
136
  import { a as resolveNpmChannelTag, c as DEFAULT_PACKAGE_CHANNEL, m as normalizeUpdateChannel, n as compareSemverStrings, t as checkUpdateStatus } from "./update-check-ZdimP1aU.js";
137
- import { t as runOnboardingWizard } from "./onboarding-3iCiOVeb.js";
138
- import { _ as getHandshakeTimeoutMs, a as DEFAULT_ASSISTANT_IDENTITY, b as resolveCronRunLogPath, c as upsertPresence, d as DEDUPE_MAX, f as DEDUPE_TTL_MS, g as TICK_INTERVAL_MS, h as MAX_PAYLOAD_BYTES, i as safeParseJson, l as formatError, m as MAX_BUFFERED_BYTES, n as handleGatewayRequest, o as resolveAssistantIdentity, p as HEALTH_REFRESH_INTERVAL_MS, r as broadcastPresenceSnapshot, s as listSystemPresence, t as coreGatewayHandlers, u as loadVoiceWakeConfig, v as abortChatRunById, x as startGatewayConfigReloader, y as appendCronRunLog } from "./server-methods-rmWST_iV.js";
139
- import { d as shouldLogWs, f as summarizeAgentEventForWsLog, l as formatForLog, p as setGatewayWsLogStyle, u as logWs } from "./push-apns-DpdcOumU.js";
137
+ import { t as runOnboardingWizard } from "./onboarding-BL5h6kMP.js";
138
+ import { _ as getHandshakeTimeoutMs, a as DEFAULT_ASSISTANT_IDENTITY, b as resolveCronRunLogPath, c as upsertPresence, d as DEDUPE_MAX, f as DEDUPE_TTL_MS, g as TICK_INTERVAL_MS, h as MAX_PAYLOAD_BYTES, i as safeParseJson, l as formatError, m as MAX_BUFFERED_BYTES, n as handleGatewayRequest, o as resolveAssistantIdentity, p as HEALTH_REFRESH_INTERVAL_MS, r as broadcastPresenceSnapshot, s as listSystemPresence, t as coreGatewayHandlers, u as loadVoiceWakeConfig, v as abortChatRunById, x as startGatewayConfigReloader, y as appendCronRunLog } from "./server-methods-CGVoOkf3.js";
139
+ import { d as shouldLogWs, f as summarizeAgentEventForWsLog, l as formatForLog, p as setGatewayWsLogStyle, u as logWs } from "./push-apns-BBaXO4aV.js";
140
140
  import { T as resolveGmailHookRuntimeConfig, _ as buildGogWatchServeArgs, i as ensureTailscaleEndpoint, v as buildGogWatchStartArgs } from "./gmail-setup-utils-CzWeiE-Y.js";
141
- import "./agents.config-VjZQr5GP.js";
141
+ import "./agents.config-CQVRXowo.js";
142
142
  import "./dm-policy-shared-DJ-61hCT.js";
143
143
  import "./node-service-fcZExd22.js";
144
144
  import "./status.update-DbmZz0Aq.js";
145
145
  import "./skills-install-1ZdwGTnh.js";
146
- import "./update-runner-YRJPtj9J.js";
146
+ import "./update-runner-C0hYiaj2.js";
147
147
  import { t as resolveAgentSessionDirs } from "./session-dirs-DWgIYmAt.js";
148
148
  import { i as shouldIncludeHook, r as resolveHookConfig, t as loadWorkspaceHookEntries } from "./workspace-B51TF6q3.js";
149
149
  import { n as forceFreePortAndWait } from "./ports-Dn122MUd.js";
@@ -11695,7 +11695,7 @@ async function startGatewayServer(port = 18789, opts = {}) {
11695
11695
  });
11696
11696
  let glassUiBridgeCleanup = null;
11697
11697
  if (!minimalTestGateway) {
11698
- const { createGlassUiBridge } = await import("./glass-ui-ws-DMQldmwk.js");
11698
+ const { createGlassUiBridge } = await import("./glass-ui-ws-DtFvFNZp.js");
11699
11699
  glassUiBridgeCleanup = createGlassUiBridge({
11700
11700
  wss: glassUiWss,
11701
11701
  context: gatewayRequestContext,
@@ -1,7 +1,7 @@
1
1
  import { _ as expandHomePrefix, g as resolveStateDir, i as isNixMode, l as resolveGatewayLockDir, o as resolveConfigPath, r as STATE_DIR, t as CONFIG_PATH, u as resolveGatewayPort } from "./paths-Cqn-zk3M.js";
2
2
  import { B as theme, E as truncateUtf16Safe, H as getLogger, P as setVerbose, R as colorize, S as shortenHomePath, U as getResolvedLoggerSettings, V as getChildLogger, c as ensureDir, t as CONFIG_DIR, y as resolveUserPath, z as isRich } from "./utils-B-0b9bGM.js";
3
3
  import { d as supportsXHighThinking, l as normalizeVerboseLevel, s as normalizeThinkLevel } from "./thinking-EAliFiVK.js";
4
- import { $ as buildDeliveryFromLegacyPayload, A as emitGatewayRestart, An as initSubagentRegistry, Ar as extractImageContentFromSource, B as summarizeRestartSentinel, Bn as registerAgentRunContext, Ct as requestBodyErrorToText, Dr as DEFAULT_INPUT_MAX_REDIRECTS, E as resetDirectoryCache, Er as DEFAULT_INPUT_IMAGE_MIMES, Et as agentCommand, F as setPreRestartDeferralCheck, Fn as readLatestAssistantReply, Gt as getCliSessionId, I as consumeRestartSentinel, In as clearAgentRunContext, J as normalizeOptionalSessionKey, K as inferLegacyName, Kt as setCliSessionId, Ln as emitAgentEvent, Lt as createDefaultDeps, M as markGatewaySigusr1RestartHandled, Mr as resolveInputFileLimits, Mt as resolveOutboundTarget, Nt as resolveSessionDeliveryTarget, O as consumeGatewaySigusr1RestartAuthorization, On as countActiveDescendantRuns, Or as DEFAULT_INPUT_TIMEOUT_MS, P as setGatewaySigusr1RestartPolicy, Pn as runSubagentAnnounceFlow, Pr as resolveAgentTimeoutMs, Pt as createOutboundSendDeps, Q as migrateLegacyCronPayload, R as formatRestartSentinelMessage, Rn as getAgentRunContext, St as readJsonBodyWithLimit, Tr as DEFAULT_INPUT_IMAGE_MAX_BYTES, Tt as sleepWithAbort, U as normalizeHttpWebhookUrl, Ut as resolveModelProfile, Vt as getActiveEmbeddedRunCount, Wt as runWithModelFallback, X as normalizePayloadToSystemText, Xt as resolveAgentAvatar, Y as normalizeOptionalText, Z as normalizeRequiredName, ar as setCommandLaneConcurrency, cn as buildHistoryContextFromEntries, cr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, d as createSymiTools, en as buildSafeExternalPrompt, et as hasLegacyDeliveryHints, f as resolveAnnounceTargetFromKey, fr as stripHeartbeatToken, ft as loadSymiPlugins, hn as getTotalPendingReplies, i as resolveCronStyleNow, ir as resetAllLanes, j as isGatewaySigusr1RestartExternallyAllowed, jn as listDescendantRunsForRequester, jr as normalizeMimeList, k as deferGatewayRestartUntilIdle, kn as countActiveRunsForSession, kr as extractFileContentFromSource, l as applyToolPolicyPipeline, nn as getHookType, or as waitForActiveTasks, pr as lookupContextTokens, q as normalizeOptionalAgentId, qt as runCliAgent, rn as isExternalHookSession, rr as getTotalQueueSize, sr as CommandLane, st as requestHeartbeatNow, tn as detectSuspiciousPatterns, tr as getActiveTaskCount, tt as stripLegacyDeliveryFields, u as buildDefaultToolPolicyPipelineSteps, ut as getPluginToolMeta, v as loadSessionEntry, w as resolveOutboundSessionRoute, wt as computeBackoff, xr as enqueueSystemEvent, xt as handleSlackHttpRequest, zn as onAgentEvent, zt as runEmbeddedPiAgent } from "./reply-kuehpmXb.js";
4
+ import { $ as buildDeliveryFromLegacyPayload, A as emitGatewayRestart, An as initSubagentRegistry, Ar as extractImageContentFromSource, B as summarizeRestartSentinel, Bn as registerAgentRunContext, Ct as requestBodyErrorToText, Dr as DEFAULT_INPUT_MAX_REDIRECTS, E as resetDirectoryCache, Er as DEFAULT_INPUT_IMAGE_MIMES, Et as agentCommand, F as setPreRestartDeferralCheck, Fn as readLatestAssistantReply, Gt as getCliSessionId, I as consumeRestartSentinel, In as clearAgentRunContext, J as normalizeOptionalSessionKey, K as inferLegacyName, Kt as setCliSessionId, Ln as emitAgentEvent, Lt as createDefaultDeps, M as markGatewaySigusr1RestartHandled, Mr as resolveInputFileLimits, Mt as resolveOutboundTarget, Nt as resolveSessionDeliveryTarget, O as consumeGatewaySigusr1RestartAuthorization, On as countActiveDescendantRuns, Or as DEFAULT_INPUT_TIMEOUT_MS, P as setGatewaySigusr1RestartPolicy, Pn as runSubagentAnnounceFlow, Pr as resolveAgentTimeoutMs, Pt as createOutboundSendDeps, Q as migrateLegacyCronPayload, R as formatRestartSentinelMessage, Rn as getAgentRunContext, St as readJsonBodyWithLimit, Tr as DEFAULT_INPUT_IMAGE_MAX_BYTES, Tt as sleepWithAbort, U as normalizeHttpWebhookUrl, Ut as resolveModelProfile, Vt as getActiveEmbeddedRunCount, Wt as runWithModelFallback, X as normalizePayloadToSystemText, Xt as resolveAgentAvatar, Y as normalizeOptionalText, Z as normalizeRequiredName, ar as setCommandLaneConcurrency, cn as buildHistoryContextFromEntries, cr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, d as createSymiTools, en as buildSafeExternalPrompt, et as hasLegacyDeliveryHints, f as resolveAnnounceTargetFromKey, fr as stripHeartbeatToken, ft as loadSymiPlugins, hn as getTotalPendingReplies, i as resolveCronStyleNow, ir as resetAllLanes, j as isGatewaySigusr1RestartExternallyAllowed, jn as listDescendantRunsForRequester, jr as normalizeMimeList, k as deferGatewayRestartUntilIdle, kn as countActiveRunsForSession, kr as extractFileContentFromSource, l as applyToolPolicyPipeline, nn as getHookType, or as waitForActiveTasks, pr as lookupContextTokens, q as normalizeOptionalAgentId, qt as runCliAgent, rn as isExternalHookSession, rr as getTotalQueueSize, sr as CommandLane, st as requestHeartbeatNow, tn as detectSuspiciousPatterns, tr as getActiveTaskCount, tt as stripLegacyDeliveryFields, u as buildDefaultToolPolicyPipelineSteps, ut as getPluginToolMeta, v as loadSessionEntry, w as resolveOutboundSessionRoute, wt as computeBackoff, xr as enqueueSystemEvent, xt as handleSlackHttpRequest, zn as onAgentEvent, zt as runEmbeddedPiAgent } from "./reply-ahHa59uT.js";
5
5
  import { S as parseAgentSessionKey, c as normalizeMainKey, f as toAgentRequestSessionKey, l as resolveAgentIdFromSessionKey, m as DEFAULT_ACCOUNT_ID, p as toAgentStoreSessionKey, r as buildAgentMainSessionKey, s as normalizeAgentId, t as DEFAULT_AGENT_ID, x as isSubagentSessionKey, y as isCronRunSessionKey } from "./session-key-DCt45XZa.js";
6
6
  import { r as matchesSkillFilter, t as resolveSymiPackageRoot } from "./symi-root-CrGJbkzf.js";
7
7
  import { C as createInternalHookEvent, S as clearInternalHooks, T as triggerInternalHook, m as createEmptyPluginRegistry, r as DEFAULT_CHAT_CHANNEL, w as registerInternalHook } from "./registry-Cja8eT7G.js";
@@ -135,20 +135,20 @@ import { n as resolveWideAreaDiscoveryDomain, r as writeWideAreaGatewayZone } fr
135
135
  import { i as toOptionString, n as extractGatewayMiskeys, r as maybeExplainGatewayServiceStop, t as describeUnknownError } from "./shared-BJvwnR5z.js";
136
136
  import { c as probeGateway, s as resolveNodeCommandAllowlist } from "./audit-CrITRV6w.js";
137
137
  import { t as discoverGatewayBeacons } from "./bonjour-discovery-BHTF5p0X.js";
138
- import { r as pickGatewaySelfPresence } from "./status-Bow6kS56.js";
139
- import { c as startHeartbeatRunner, i as styleHealthChannelLine, n as getHealthSnapshot, o as runHeartbeatOnce, t as formatHealthChannelLines } from "./health-CM3gPoYN.js";
138
+ import { r as pickGatewaySelfPresence } from "./status-Dd3-6fq5.js";
139
+ import { c as startHeartbeatRunner, i as styleHealthChannelLine, n as getHealthSnapshot, o as runHeartbeatOnce, t as formatHealthChannelLines } from "./health-R_6vQfbY.js";
140
140
  import { a as resolveControlUiRootSync, i as resolveControlUiRootOverrideSync, t as ensureControlUiAssetsBuilt } from "./control-ui-assets-Z947tKLt.js";
141
141
  import { a as resolveNpmChannelTag, c as DEFAULT_PACKAGE_CHANNEL, m as normalizeUpdateChannel, n as compareSemverStrings, t as checkUpdateStatus } from "./update-check-CtckACbb.js";
142
- import { t as runOnboardingWizard } from "./onboarding-ztTrPGQa.js";
143
- import { _ as getHandshakeTimeoutMs, a as DEFAULT_ASSISTANT_IDENTITY, b as resolveCronRunLogPath, c as upsertPresence, d as DEDUPE_MAX, f as DEDUPE_TTL_MS, g as TICK_INTERVAL_MS, h as MAX_PAYLOAD_BYTES, i as safeParseJson, l as formatError, m as MAX_BUFFERED_BYTES, n as handleGatewayRequest, o as resolveAssistantIdentity, p as HEALTH_REFRESH_INTERVAL_MS, r as broadcastPresenceSnapshot, s as listSystemPresence, t as coreGatewayHandlers, u as loadVoiceWakeConfig, v as abortChatRunById, x as startGatewayConfigReloader, y as appendCronRunLog } from "./server-methods-BHjqwsiI.js";
144
- import { d as shouldLogWs, f as summarizeAgentEventForWsLog, l as formatForLog, p as setGatewayWsLogStyle, u as logWs } from "./push-apns-glbAu-g9.js";
142
+ import { t as runOnboardingWizard } from "./onboarding-CeLx4VEB.js";
143
+ import { _ as getHandshakeTimeoutMs, a as DEFAULT_ASSISTANT_IDENTITY, b as resolveCronRunLogPath, c as upsertPresence, d as DEDUPE_MAX, f as DEDUPE_TTL_MS, g as TICK_INTERVAL_MS, h as MAX_PAYLOAD_BYTES, i as safeParseJson, l as formatError, m as MAX_BUFFERED_BYTES, n as handleGatewayRequest, o as resolveAssistantIdentity, p as HEALTH_REFRESH_INTERVAL_MS, r as broadcastPresenceSnapshot, s as listSystemPresence, t as coreGatewayHandlers, u as loadVoiceWakeConfig, v as abortChatRunById, x as startGatewayConfigReloader, y as appendCronRunLog } from "./server-methods-B9ZPWP0q.js";
144
+ import { d as shouldLogWs, f as summarizeAgentEventForWsLog, l as formatForLog, p as setGatewayWsLogStyle, u as logWs } from "./push-apns-CgmHr336.js";
145
145
  import { T as resolveGmailHookRuntimeConfig, _ as buildGogWatchServeArgs, i as ensureTailscaleEndpoint, v as buildGogWatchStartArgs } from "./gmail-setup-utils-Bv0M7ka7.js";
146
- import "./agents.config-Dzr8Us0l.js";
146
+ import "./agents.config-CVlanyIt.js";
147
147
  import "./dm-policy-shared-Bh3TbexU.js";
148
148
  import "./node-service-Cxz4e-Qd.js";
149
149
  import "./status.update-DtwCUTf-.js";
150
150
  import "./skills-install-D67isO1L.js";
151
- import "./update-runner-C0iELmzo.js";
151
+ import "./update-runner-CB0M0lum.js";
152
152
  import { t as resolveAgentSessionDirs } from "./session-dirs-DWgIYmAt.js";
153
153
  import { i as shouldIncludeHook, r as resolveHookConfig, t as loadWorkspaceHookEntries } from "./workspace-CYxdoAlY.js";
154
154
  import { fileURLToPath, pathToFileURL } from "node:url";
@@ -11699,7 +11699,7 @@ async function startGatewayServer(port = 18789, opts = {}) {
11699
11699
  });
11700
11700
  let glassUiBridgeCleanup = null;
11701
11701
  if (!minimalTestGateway) {
11702
- const { createGlassUiBridge } = await import("./glass-ui-ws-Cx9mt64o.js");
11702
+ const { createGlassUiBridge } = await import("./glass-ui-ws-0yPnNh0o.js");
11703
11703
  glassUiBridgeCleanup = createGlassUiBridge({
11704
11704
  wss: glassUiWss,
11705
11705
  context: gatewayRequestContext,