@symerian/symi 2.6.19 → 2.6.21

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 (171) hide show
  1. package/dist/{agents-CrSpoNsS.js → agents-CZaT6WIB.js} +4 -4
  2. package/dist/{agents.config-Co1CO8fA.js → agents.config-5CYVA8Hd.js} +1 -1
  3. package/dist/{agents.config-B3GILTs5.js → agents.config-DMGQYe5Q.js} +1 -1
  4. package/dist/{audio-preflight-BVaaZWkg.js → audio-preflight-DHTaS5U1.js} +4 -4
  5. package/dist/{auth-choice-BBmXnDnK.js → auth-choice-BZ-VvXy8.js} +1 -1
  6. package/dist/{auth-choice-BHWxDJh7.js → auth-choice-CPp0BHDW.js} +1 -1
  7. package/dist/{banner-RLiOIu-3.js → banner-DnIUGyR6.js} +1 -1
  8. package/dist/build-info.json +3 -3
  9. package/dist/bundled/boot-md/handler.js +6 -6
  10. package/dist/bundled/session-memory/handler.js +6 -6
  11. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  12. package/dist/{channel-options-BCK41AON.js → channel-options-C8jRwsJ_.js} +1 -1
  13. package/dist/{channel-options-PDf46S-K.js → channel-options-DdOD0YNT.js} +1 -1
  14. package/dist/{channel-web-C3XZ7c2q.js → channel-web-CcHnfKee.js} +1 -1
  15. package/dist/{channels-cli-723vy6L6.js → channels-cli-BRYQ2M9c.js} +4 -4
  16. package/dist/{channels-cli-CUWuD7qf.js → channels-cli-BT9ku2d9.js} +4 -4
  17. package/dist/{chrome-DkaXoP36.js → chrome-DYZwl5Gv.js} +7 -7
  18. package/dist/{cli-CAzmrOs0.js → cli-Ce52IuiN.js} +1 -1
  19. package/dist/{cli-DYdRSi_j.js → cli-Dci3THZr.js} +1 -1
  20. package/dist/{command-registry-B2aO0Q7_.js → command-registry-S9YUi0ss.js} +9 -9
  21. package/dist/{completion-cli-BKm12loU.js → completion-cli-3BdNxUMh.js} +1 -1
  22. package/dist/{completion-cli-BsKD_vBb.js → completion-cli-_BrPWIk6.js} +2 -2
  23. package/dist/{config-cli-Bynmd81Q.js → config-cli-CpwArAa6.js} +1 -1
  24. package/dist/{config-cli-D47lU7kU.js → config-cli-N-3Rs_EV.js} +1 -1
  25. package/dist/{configure-B3vS2Iz5.js → configure-BSQ1A_u4.js} +3 -3
  26. package/dist/{configure-Df6GmKAR.js → configure-CqzJZ6cW.js} +3 -3
  27. package/dist/control-ui/js/models.js +2 -2
  28. package/dist/control-ui/js/render.js +12 -6
  29. package/dist/{deliver-C46-vyqg.js → deliver-dODxSv3b.js} +1 -1
  30. package/dist/{doctor-completion-SEerte2S.js → doctor-completion-BXq5WO3e.js} +1 -1
  31. package/dist/{doctor-completion-DyiRkYT4.js → doctor-completion-BckdZxb9.js} +1 -1
  32. package/dist/entry.js +1 -1
  33. package/dist/extensionAPI.js +1 -1
  34. package/dist/{gateway-cli-k19iT2vJ.js → gateway-cli-BKTA2AwU.js} +9 -9
  35. package/dist/{gateway-cli-PjmG0pFo.js → gateway-cli-DzogxqEL.js} +9 -9
  36. package/dist/{glass-ui-ws-iCEtluQU.js → glass-ui-ws-BMBCZSmn.js} +7 -7
  37. package/dist/{glass-ui-ws-D0Yv090T.js → glass-ui-ws-C-g_dxDZ.js} +7 -7
  38. package/dist/{health-B32Q-KYM.js → health-DyYKe0PU.js} +1 -1
  39. package/dist/{health-CXjAtn1-.js → health-dUpSaCiK.js} +1 -1
  40. package/dist/{hooks-cli-DA6zOGNz.js → hooks-cli-DO27Q0Tl.js} +2 -2
  41. package/dist/{hooks-cli-DfRmFenH.js → hooks-cli-DaZZtW3X.js} +2 -2
  42. package/dist/{image-CuzFLQWC.js → image-CXu8W39c.js} +1 -1
  43. package/dist/index.js +6 -6
  44. package/dist/llm-slug-generator.js +6 -6
  45. package/dist/{models-zowe4LXa.js → models-DWuFQk1_.js} +2 -2
  46. package/dist/{models-cli-CbJUD_L1.js → models-cli-BysbDjT_.js} +3 -3
  47. package/dist/{models-cli-BgCUViRO.js → models-cli-DgmYQV8m.js} +2 -2
  48. package/dist/{onboard-CYvIpUXQ.js → onboard-BhopF_nb.js} +2 -2
  49. package/dist/{onboard-DsKgcThj.js → onboard-OD8essgN.js} +2 -2
  50. package/dist/{onboard-channels-DLiV4Y0t.js → onboard-channels-BxvQtyYH.js} +1 -1
  51. package/dist/{onboard-channels-DxCGWgB0.js → onboard-channels-z4Uti7yg.js} +1 -1
  52. package/dist/{onboarding-DioGtMFo.js → onboarding-BLjfVkjR.js} +3 -3
  53. package/dist/{onboarding-BA5v1JEG.js → onboarding-wOaqG71g.js} +3 -3
  54. package/dist/{onboarding.finalize-CAbRXb0h.js → onboarding.finalize-7nDfLTbn.js} +5 -5
  55. package/dist/{onboarding.finalize-DMXCA49f.js → onboarding.finalize-D3HOebIf.js} +6 -6
  56. package/dist/{pi-embedded-CFFnZEcA.js → pi-embedded-YVZKY_Fx.js} +38 -2
  57. package/dist/{pi-embedded-helpers-CfqDGQ9J.js → pi-embedded-helpers-pubKo8HQ.js} +4 -4
  58. package/dist/{plugin-registry-HFOrv3KN.js → plugin-registry-BJzkHJ7r.js} +1 -1
  59. package/dist/{plugin-registry-Bt5YCgFq.js → plugin-registry-Dxq6zQv-.js} +1 -1
  60. package/dist/plugin-sdk/{accounts-BtaOa4z_.js → accounts-BToL3HlP.js} +1 -1
  61. package/dist/plugin-sdk/{accounts-Ddm33hQm.js → accounts-D9zGZU5t.js} +3 -3
  62. package/dist/plugin-sdk/{accounts-s-AdhXVR.js → accounts-Dtszw3Zn.js} +1 -1
  63. package/dist/plugin-sdk/{active-listener-BXYeALs0.js → active-listener-bEk__wbB.js} +1 -1
  64. package/dist/plugin-sdk/{agent-scope-CYYpcO9W.js → agent-scope-C3gMMKCU.js} +2 -2
  65. package/dist/plugin-sdk/{api-key-rotation-D_sMvI5W.js → api-key-rotation-CVBMpnPc.js} +1 -1
  66. package/dist/plugin-sdk/{audio-preflight-VpItkiy3.js → audio-preflight-DoQQKlxa.js} +24 -24
  67. package/dist/plugin-sdk/{bindings-C7hRtgYW.js → bindings-BbwoUGPx.js} +2 -2
  68. package/dist/plugin-sdk/{channel-activity-DoC1xtDu.js → channel-activity-Ji7f0gqq.js} +1 -1
  69. package/dist/plugin-sdk/{channel-web-E56yV1OA.js → channel-web-y5QaX6GR.js} +22 -22
  70. package/dist/plugin-sdk/{chrome-B7RdxmJ0.js → chrome-C7c_0I5M.js} +3 -3
  71. package/dist/plugin-sdk/{chunk-Dw2XBYXv.js → chunk-jvk9axTQ.js} +1 -1
  72. package/dist/plugin-sdk/{command-format-GKSevep4.js → command-format-DSdvQ_M5.js} +1 -1
  73. package/dist/plugin-sdk/{commands-registry-COIaslGl.js → commands-registry-CQFbmUMs.js} +4 -4
  74. package/dist/plugin-sdk/{config-KlTNfkFF.js → config-DDkdiUOR.js} +9 -9
  75. package/dist/plugin-sdk/{deliver-BZ99UKQq.js → deliver-BZ6iNLl7.js} +10 -10
  76. package/dist/plugin-sdk/{diagnostic-05pm5Rxi.js → diagnostic-mFf4i4G9.js} +1 -1
  77. package/dist/plugin-sdk/{image-CLOPx7yW.js → image-BOYy0Ump.js} +4 -4
  78. package/dist/plugin-sdk/{image-ops-BlQR__MN.js → image-ops-Bnp6LXEx.js} +1 -1
  79. package/dist/plugin-sdk/index.js +53 -53
  80. package/dist/plugin-sdk/{ir-BJ6BHE5b.js → ir-Fb3qpcis.js} +4 -4
  81. package/dist/plugin-sdk/{local-roots-BHLNSI8U.js → local-roots-Ckk1QfzI.js} +3 -3
  82. package/dist/plugin-sdk/{login-DQMXuxOk.js → login-Bh3DZPam.js} +7 -7
  83. package/dist/plugin-sdk/{login-qr-BjVZSoCi.js → login-qr-DbR7odSr.js} +9 -9
  84. package/dist/plugin-sdk/{manager-CBSBFuFz.js → manager-DckktAQ3.js} +8 -8
  85. package/dist/plugin-sdk/{manifest-registry-CPnHl_K3.js → manifest-registry-B3ugY9-f.js} +1 -1
  86. package/dist/plugin-sdk/{markdown-tables-BoYFajMu.js → markdown-tables-Dfaqilz6.js} +1 -1
  87. package/dist/plugin-sdk/{message-channel-COTAJzHd.js → message-channel-BdI5Ra9S.js} +1 -1
  88. package/dist/plugin-sdk/{model-selection-CsbEfrS0.js → model-selection-OpU8HN50.js} +4 -4
  89. package/dist/plugin-sdk/{outbound-attachment-CnslKL38.js → outbound-attachment-DnVQfTG2.js} +2 -2
  90. package/dist/plugin-sdk/{outbound-B0e8KdaR.js → outbound-rF6G8Xpr.js} +7 -7
  91. package/dist/plugin-sdk/{pi-auth-json-qWi7ZIYV.js → pi-auth-json-CJk8t14T.js} +5 -5
  92. package/dist/plugin-sdk/{pi-embedded-helpers-CW630epe.js → pi-embedded-helpers-BveUP4hk.js} +17 -17
  93. package/dist/plugin-sdk/{plugins-BNByVCIH.js → plugins-BbAvhC25.js} +4 -4
  94. package/dist/plugin-sdk/{pw-ai-CnbPIPY9.js → pw-ai-DjGUsee-.js} +8 -8
  95. package/dist/plugin-sdk/{qmd-manager-CH0XbIHf.js → qmd-manager-mjKcdwVr.js} +4 -4
  96. package/dist/plugin-sdk/{registry-D0xTnUWt.js → registry--_pGht6S.js} +2 -2
  97. package/dist/plugin-sdk/{replies-LLcQL3w6.js → replies-fI39rPGa.js} +3 -3
  98. package/dist/plugin-sdk/{reply-pPqvSkWb.js → reply-Dsz8SoyG.js} +114 -78
  99. package/dist/plugin-sdk/{reply-prefix-uxfMZW4p.js → reply-prefix-BHuV5t70.js} +1 -1
  100. package/dist/plugin-sdk/{resolve-outbound-target-BiyAyTWz.js → resolve-outbound-target-BkCUbYGV.js} +2 -2
  101. package/dist/plugin-sdk/{resolve-route-B3CCBumQ.js → resolve-route-D3JH_D2N.js} +3 -3
  102. package/dist/plugin-sdk/{retry-CwQ_iIj8.js → retry-ilSJqnz9.js} +1 -1
  103. package/dist/plugin-sdk/{runner-CGBT7tgF.js → runner-BVqnEfNe.js} +9 -9
  104. package/dist/plugin-sdk/{send-C5h_YxNb.js → send-BHbXh8Ly.js} +7 -7
  105. package/dist/plugin-sdk/{send-pYqe432l.js → send-BMfJIhCk.js} +6 -6
  106. package/dist/plugin-sdk/{send-B2CEnVLL.js → send-BtANzsAo.js} +6 -6
  107. package/dist/plugin-sdk/{send-CjOBB3Vo.js → send-Bxdu6ZZy.js} +10 -10
  108. package/dist/plugin-sdk/{send-CRsR8-vO.js → send-D6LMZJ_h.js} +10 -10
  109. package/dist/plugin-sdk/{session-BsOrxiMj.js → session-kI0tzViQ.js} +4 -4
  110. package/dist/plugin-sdk/{skill-commands-ff_01_r3.js → skill-commands-DCNXVERE.js} +5 -5
  111. package/dist/plugin-sdk/{skills-_yTP47Cd.js → skills-B1GeRYlu.js} +7 -7
  112. package/dist/plugin-sdk/{sqlite-CxAR5ttJ.js → sqlite-Cq_7Cg4E.js} +1 -1
  113. package/dist/plugin-sdk/{store-BdrNabcU.js → store-Do3t33-c.js} +2 -2
  114. package/dist/plugin-sdk/{subsystem-B2uDN3TV.js → subsystem-Coz2AgU8.js} +1 -1
  115. package/dist/plugin-sdk/{tables-DNwXwNFa.js → tables-DR0NmBeH.js} +1 -1
  116. package/dist/plugin-sdk/{target-errors-Paro1BjP.js → target-errors-B7YyMnIi.js} +2 -2
  117. package/dist/plugin-sdk/{thinking-CXqf7WTe.js → thinking-DCNUIAHY.js} +5 -5
  118. package/dist/plugin-sdk/{tokens-bC3UVmVH.js → tokens-CWMflosr.js} +1 -1
  119. package/dist/plugin-sdk/{tool-images-HJ2sfZDV.js → tool-images-D7Lno-TE.js} +2 -2
  120. package/dist/plugin-sdk/{tool-loop-detection-at_K42K7.js → tool-loop-detection-DU5sTIKg.js} +2 -2
  121. package/dist/plugin-sdk/web--95Tj_hv.js +65 -0
  122. package/dist/plugin-sdk/{whatsapp-actions-DfseosPO.js → whatsapp-actions-CcBzDuL-.js} +21 -21
  123. package/dist/{plugins-cli-C7xTf9NV.js → plugins-cli-B4KWysEg.js} +2 -2
  124. package/dist/{plugins-cli-CXz_UApK.js → plugins-cli-BEGdBzkV.js} +2 -2
  125. package/dist/{program-8hWr4qGZ.js → program-Oc5snxnS.js} +7 -7
  126. package/dist/{program-context-BBtSJunF.js → program-context-CSpR6ryN.js} +17 -17
  127. package/dist/{prompt-select-styled-DUXeA9Zp.js → prompt-select-styled-Cqj_1K21.js} +4 -4
  128. package/dist/{prompt-select-styled-CwfroEHp.js → prompt-select-styled-gHjx_jUt.js} +4 -4
  129. package/dist/{provider-auth-helpers-Dc7jBEOA.js → provider-auth-helpers-BZs4hnfR.js} +1 -1
  130. package/dist/{provider-auth-helpers-DhLHWjNU.js → provider-auth-helpers-BevVP3-V.js} +1 -1
  131. package/dist/{push-apns-CflJh75N.js → push-apns-Br1gW9_d.js} +1 -1
  132. package/dist/{push-apns-CVZe5WVN.js → push-apns-DFL18MGz.js} +1 -1
  133. package/dist/{pw-ai-m0mj2KWK.js → pw-ai-B5asscAD.js} +1 -1
  134. package/dist/{register.agent-DV7IR1rI.js → register.agent-C6S0QEWo.js} +5 -5
  135. package/dist/{register.agent-BnuJQ5lg.js → register.agent-CB6rW5Zg.js} +6 -6
  136. package/dist/{register.configure-BhncI0ij.js → register.configure-CbH1hJ_1.js} +6 -6
  137. package/dist/{register.configure-DaIrJXWo.js → register.configure-DqsXKWga.js} +6 -6
  138. package/dist/{register.maintenance-DK_p-7so.js → register.maintenance-Bf2gxts7.js} +8 -8
  139. package/dist/{register.maintenance-BO1XWhVb.js → register.maintenance-DeZoxJIW.js} +7 -7
  140. package/dist/{register.message-B194ue2R.js → register.message-BKpaTg-S.js} +2 -2
  141. package/dist/{register.message-B4CGCAn_.js → register.message-BUvXx9br.js} +2 -2
  142. package/dist/{register.onboard-DidMCka8.js → register.onboard-C5eHpvtL.js} +4 -4
  143. package/dist/{register.onboard-Dt53qGB5.js → register.onboard-CYU37dmi.js} +4 -4
  144. package/dist/{register.setup-CLV1kk2-.js → register.setup-B9CBQjEN.js} +4 -4
  145. package/dist/{register.setup-DgUxMRZR.js → register.setup-CHVvh2PQ.js} +4 -4
  146. package/dist/{register.status-health-sessions-TvGuwVoR.js → register.status-health-sessions-B_jOF8uD.js} +3 -3
  147. package/dist/{register.status-health-sessions-CB10JLY6.js → register.status-health-sessions-PIMw1UCn.js} +3 -3
  148. package/dist/{register.subclis-elNdyQio.js → register.subclis-DuPaRiS4.js} +9 -9
  149. package/dist/{reply-DUZvOCsG.js → reply-BlBH8dSQ.js} +38 -2
  150. package/dist/{run-main-gBPGqO8r.js → run-main-CGov6IAe.js} +14 -14
  151. package/dist/{runner-CU9l0uJh.js → runner-WAG0M5s9.js} +1 -1
  152. package/dist/{server-methods-BG0N79yY.js → server-methods-CBqxBVGT.js} +7 -7
  153. package/dist/{server-methods-dgW-8gC7.js → server-methods-DFW_3AHP.js} +7 -7
  154. package/dist/{server-node-events-ZtQKBPo3.js → server-node-events-CxJPK9FR.js} +2 -2
  155. package/dist/{server-node-events-B_hsQw_N.js → server-node-events-Wzxr7YBf.js} +2 -2
  156. package/dist/{status-BqhJ-HsW.js → status-B36MB5zR.js} +1 -1
  157. package/dist/{status-Cd9-xWsZ.js → status-Dxjiiwky.js} +2 -2
  158. package/dist/{status-D4Lr90yH.js → status-ZFwGChtz.js} +1 -1
  159. package/dist/{status-D-IvYfjk.js → status-rn33Fd13.js} +2 -2
  160. package/dist/{subagent-registry-J2pIBQF7.js → subagent-registry-Bo9roElD.js} +38 -2
  161. package/dist/{unified-runner-oH9Pt-cO.js → unified-runner-D-hgUX36.js} +52 -16
  162. package/dist/{update-cli-B7TLu25J.js → update-cli-CuXMzC8-.js} +8 -8
  163. package/dist/{update-cli-D8nA6U7C.js → update-cli-D9cq8N1u.js} +7 -7
  164. package/dist/{update-runner-D8AFB8Oi.js → update-runner-CE9ZcI8F.js} +1 -1
  165. package/dist/{update-runner-DvZOsoQs.js → update-runner-CJ1spiae.js} +1 -1
  166. package/dist/{web-mQInjWbW.js → web-B6vw5hrG.js} +1 -1
  167. package/dist/{web-CAy-xQv2.js → web-BBSSSOl9.js} +1 -1
  168. package/dist/{web-DDiOPIdv.js → web-BJaoBL8P.js} +2 -2
  169. package/dist/{web-0xZpP0WA.js → web-Byte6Exg.js} +6 -6
  170. package/package.json +1 -1
  171. package/dist/plugin-sdk/web-Msnzya6B.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 { j as parseIdentityMarkdown, k as identityHasValues } from "./subagent-registry-J2pIBQF7.js";
8
+ import { j as parseIdentityMarkdown, k as identityHasValues } from "./subagent-registry-Bo9roElD.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-DLiV4Y0t.js";
15
+ import { r as setupChannels } from "./onboard-channels-BxvQtyYH.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-Co1CO8fA.js";
17
+ import { a as pruneAgentConfig, i as loadAgentIdentity, n as buildAgentSummaries, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-5CYVA8Hd.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-BBmXnDnK.js";
20
+ import { i as applyAuthChoice, r as warnIfModelConfigLooksOff } from "./auth-choice-BZ-VvXy8.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 { A as loadAgentIdentityFromWorkspace, k as identityHasValues } from "./subagent-registry-J2pIBQF7.js";
3
+ import { A as loadAgentIdentityFromWorkspace, k as identityHasValues } from "./subagent-registry-Bo9roElD.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-DUZvOCsG.js";
1
+ import { Qt as loadAgentIdentityFromWorkspace, Zt as identityHasValues } from "./reply-BlBH8dSQ.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
 
@@ -8,10 +8,10 @@ import "./auth-profiles-DdK1Hxaa.js";
8
8
  import "./env-BDXYbTKj.js";
9
9
  import "./github-copilot-token-cCYzSU9h.js";
10
10
  import "./boolean-CE7i9tBR.js";
11
- import "./pi-embedded-helpers-CfqDGQ9J.js";
11
+ import "./pi-embedded-helpers-pubKo8HQ.js";
12
12
  import "./config-5SdHIcHU.js";
13
13
  import "./manifest-registry-yb7sAlu4.js";
14
- import "./chrome-DkaXoP36.js";
14
+ import "./chrome-DYZwl5Gv.js";
15
15
  import "./frontmatter-CTR5f_Ez.js";
16
16
  import "./skills-Bs0AW1g3.js";
17
17
  import "./redact-BDMXB06K.js";
@@ -27,11 +27,11 @@ import "./accounts-3dCrO3oZ.js";
27
27
  import "./accounts-BuZxOb3B.js";
28
28
  import "./bindings-BsHoBLIE.js";
29
29
  import "./tool-images-SqqWIT22.js";
30
- import "./image-CuzFLQWC.js";
30
+ import "./image-CXu8W39c.js";
31
31
  import "./pi-model-discovery-Bv5YDJc8.js";
32
32
  import "./gemini-auth-Dy12ZAH3.js";
33
33
  import "./local-roots-DhZz0Ybs.js";
34
- import { a as resolveMediaAttachmentLocalRoots, n as createMediaAttachmentCache, o as runCapability, r as normalizeMediaAttachments, t as buildProviderRegistry, u as isAudioAttachment } from "./runner-CU9l0uJh.js";
34
+ import { a as resolveMediaAttachmentLocalRoots, n as createMediaAttachmentCache, o as runCapability, r as normalizeMediaAttachments, t as buildProviderRegistry, u as isAudioAttachment } from "./runner-WAG0M5s9.js";
35
35
 
36
36
  //#region src/media-understanding/audio-preflight.ts
37
37
  /**
@@ -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-Dc7jBEOA.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-BZs4hnfR.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-DhLHWjNU.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-BevVP3-V.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-J2pIBQF7.js";
2
+ import { un as resolveCommitHash } from "./subagent-registry-Bo9roElD.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.6.19",
3
- "commit": "a22d229a0ceb9c482f2d0a55a975dd6ed5f99d49",
4
- "builtAt": "2026-04-13T01:17:59.959Z"
2
+ "version": "2.6.21",
3
+ "commit": "21f21823f3bce0b64f68937710f0bb71662382f9",
4
+ "builtAt": "2026-04-13T17:10:13.801Z"
5
5
  }
@@ -4,16 +4,16 @@ import { b as isGatewayStartupEvent } from "../../registry-DYq1AYOv.js";
4
4
  import { s as resolveAgentWorkspaceDir, t as listAgentIds } from "../../agent-scope-CpEJ0B88.js";
5
5
  import { r as defaultRuntime, t as createSubsystemLogger } from "../../subsystem-BjyjJF-d.js";
6
6
  import "../../workspace-DscDraUb.js";
7
- import { a as createDefaultDeps, i as agentCommand } from "../../unified-runner-oH9Pt-cO.js";
7
+ import { a as createDefaultDeps, i as agentCommand } from "../../unified-runner-D-hgUX36.js";
8
8
  import { s as resolveStorePath } from "../../paths-CbQV9WEg.js";
9
9
  import "../../auth-profiles-DdK1Hxaa.js";
10
10
  import "../../env-BDXYbTKj.js";
11
11
  import "../../github-copilot-token-cCYzSU9h.js";
12
12
  import "../../boolean-CE7i9tBR.js";
13
- import { H as loadSessionStore, K as updateSessionStore, xt as resolveMainSessionKey, yt as resolveAgentMainSessionKey } from "../../pi-embedded-helpers-CfqDGQ9J.js";
13
+ import { H as loadSessionStore, K as updateSessionStore, xt as resolveMainSessionKey, yt as resolveAgentMainSessionKey } from "../../pi-embedded-helpers-pubKo8HQ.js";
14
14
  import "../../config-5SdHIcHU.js";
15
15
  import "../../manifest-registry-yb7sAlu4.js";
16
- import "../../chrome-DkaXoP36.js";
16
+ import "../../chrome-DYZwl5Gv.js";
17
17
  import "../../frontmatter-CTR5f_Ez.js";
18
18
  import "../../skills-Bs0AW1g3.js";
19
19
  import "../../redact-BDMXB06K.js";
@@ -31,10 +31,10 @@ import "../../bindings-BsHoBLIE.js";
31
31
  import "../../send-CVMyYPQw.js";
32
32
  import "../../send-CvhXrdgS.js";
33
33
  import "../../tool-images-SqqWIT22.js";
34
- import "../../deliver-C46-vyqg.js";
34
+ import "../../deliver-dODxSv3b.js";
35
35
  import "../../diagnostic-rPhsBoZz.js";
36
36
  import "../../diagnostic-session-state-Zw87xFym.js";
37
- import "../../image-CuzFLQWC.js";
37
+ import "../../image-CXu8W39c.js";
38
38
  import { n as SILENT_REPLY_TOKEN } from "../../tokens-Bux9Y_xD.js";
39
39
  import "../../send-DYj_o4_F.js";
40
40
  import "../../pi-model-discovery-Bv5YDJc8.js";
@@ -50,7 +50,7 @@ import "../../local-roots-DhZz0Ybs.js";
50
50
  import "../../ir-CTiz95Vb.js";
51
51
  import "../../render-CDCvpfhh.js";
52
52
  import "../../commands-registry-Bfc7Uz0o.js";
53
- import "../../runner-CU9l0uJh.js";
53
+ import "../../runner-WAG0M5s9.js";
54
54
  import "../../skill-commands-DcVwOafC.js";
55
55
  import "../../fetch-Bso4i15F.js";
56
56
  import "../../channel-activity-B6G1jnQT.js";
@@ -4,16 +4,16 @@ import "../../registry-DYq1AYOv.js";
4
4
  import { s as resolveAgentWorkspaceDir } from "../../agent-scope-CpEJ0B88.js";
5
5
  import { t as createSubsystemLogger } from "../../subsystem-BjyjJF-d.js";
6
6
  import "../../workspace-DscDraUb.js";
7
- import "../../unified-runner-oH9Pt-cO.js";
7
+ import "../../unified-runner-D-hgUX36.js";
8
8
  import "../../paths-CbQV9WEg.js";
9
9
  import "../../auth-profiles-DdK1Hxaa.js";
10
10
  import "../../env-BDXYbTKj.js";
11
11
  import "../../github-copilot-token-cCYzSU9h.js";
12
12
  import "../../boolean-CE7i9tBR.js";
13
- import { ct as hasInterSessionUserProvenance } from "../../pi-embedded-helpers-CfqDGQ9J.js";
13
+ import { ct as hasInterSessionUserProvenance } from "../../pi-embedded-helpers-pubKo8HQ.js";
14
14
  import "../../config-5SdHIcHU.js";
15
15
  import "../../manifest-registry-yb7sAlu4.js";
16
- import "../../chrome-DkaXoP36.js";
16
+ import "../../chrome-DYZwl5Gv.js";
17
17
  import "../../frontmatter-CTR5f_Ez.js";
18
18
  import "../../skills-Bs0AW1g3.js";
19
19
  import "../../redact-BDMXB06K.js";
@@ -31,10 +31,10 @@ import "../../bindings-BsHoBLIE.js";
31
31
  import "../../send-CVMyYPQw.js";
32
32
  import "../../send-CvhXrdgS.js";
33
33
  import "../../tool-images-SqqWIT22.js";
34
- import "../../deliver-C46-vyqg.js";
34
+ import "../../deliver-dODxSv3b.js";
35
35
  import "../../diagnostic-rPhsBoZz.js";
36
36
  import "../../diagnostic-session-state-Zw87xFym.js";
37
- import "../../image-CuzFLQWC.js";
37
+ import "../../image-CXu8W39c.js";
38
38
  import "../../tokens-Bux9Y_xD.js";
39
39
  import "../../send-DYj_o4_F.js";
40
40
  import "../../pi-model-discovery-Bv5YDJc8.js";
@@ -50,7 +50,7 @@ import "../../local-roots-DhZz0Ybs.js";
50
50
  import "../../ir-CTiz95Vb.js";
51
51
  import "../../render-CDCvpfhh.js";
52
52
  import "../../commands-registry-Bfc7Uz0o.js";
53
- import "../../runner-CU9l0uJh.js";
53
+ import "../../runner-WAG0M5s9.js";
54
54
  import "../../skill-commands-DcVwOafC.js";
55
55
  import "../../fetch-Bso4i15F.js";
56
56
  import "../../channel-activity-B6G1jnQT.js";
@@ -1 +1 @@
1
- 304bb61df43fe366cf04deccca122e2633cc4d8e7cf4133ae87fbe0906e50cca
1
+ 6c9e2de1e8766e0d811232e0805648d207968879a9a7436105fa9f0623fbab39
@@ -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-Bt5YCgFq.js";
4
+ import { t as ensurePluginRegistryLoaded } from "./plugin-registry-Dxq6zQv-.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-HFOrv3KN.js";
5
+ import { t as ensurePluginRegistryLoaded } from "./plugin-registry-BJzkHJ7r.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-DUZvOCsG.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-BlBH8dSQ.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";
@@ -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-J2pIBQF7.js";
18
+ import { h as deleteTelegramUpdateOffset, in as formatUsageReportLines, rn as loadProviderUsageSummary } from "./subagent-registry-Bo9roElD.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-DLiV4Y0t.js";
113
+ import { a as reloadOnboardingPluginRegistry, i as ensureOnboardingPluginInstalled, r as setupChannels } from "./onboard-channels-BxvQtyYH.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-Bt5YCgFq.js";
119
- import { t as formatCliChannelOptions } from "./channel-options-BCK41AON.js";
118
+ import "./plugin-registry-Dxq6zQv-.js";
119
+ import { t as formatCliChannelOptions } from "./channel-options-C8jRwsJ_.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 { 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-DUZvOCsG.js";
4
+ import { _t as formatUsageReportLines, gt as loadProviderUsageSummary, pt as deleteTelegramUpdateOffset } from "./reply-BlBH8dSQ.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-HFOrv3KN.js";
109
- import { t as formatCliChannelOptions } from "./channel-options-PDf46S-K.js";
108
+ import "./plugin-registry-BJzkHJ7r.js";
109
+ import { t as formatCliChannelOptions } from "./channel-options-DdOD0YNT.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-DxCGWgB0.js";
119
+ import { a as reloadOnboardingPluginRegistry, i as ensureOnboardingPluginInstalled, r as setupChannels } from "./onboard-channels-z4Uti7yg.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";
@@ -10,7 +10,7 @@ import fs$1 from "node:fs/promises";
10
10
  import { execFileSync, spawn } from "node:child_process";
11
11
  import net from "node:net";
12
12
  import { createServer } from "node:http";
13
- import WebSocket$1, { WebSocketServer } from "ws";
13
+ import WebSocket, { WebSocketServer } from "ws";
14
14
  import { Buffer as Buffer$1 } from "node:buffer";
15
15
 
16
16
  //#region src/browser/constants.ts
@@ -178,7 +178,7 @@ async function ensureChromeExtensionRelayServer(opts) {
178
178
  let nextExtensionId = 1;
179
179
  const sendToExtension = async (payload) => {
180
180
  const ws = extensionWs;
181
- if (!ws || ws.readyState !== WebSocket$1.OPEN) throw new Error("Chrome extension not connected");
181
+ if (!ws || ws.readyState !== WebSocket.OPEN) throw new Error("Chrome extension not connected");
182
182
  ws.send(JSON.stringify(payload));
183
183
  return await new Promise((resolve, reject) => {
184
184
  const timer = setTimeout(() => {
@@ -195,12 +195,12 @@ async function ensureChromeExtensionRelayServer(opts) {
195
195
  const broadcastToCdpClients = (evt) => {
196
196
  const msg = JSON.stringify(evt);
197
197
  for (const ws of cdpClients) {
198
- if (ws.readyState !== WebSocket$1.OPEN) continue;
198
+ if (ws.readyState !== WebSocket.OPEN) continue;
199
199
  ws.send(msg);
200
200
  }
201
201
  };
202
202
  const sendResponseToCdp = (ws, res) => {
203
- if (ws.readyState !== WebSocket$1.OPEN) return;
203
+ if (ws.readyState !== WebSocket.OPEN) return;
204
204
  ws.send(JSON.stringify(res));
205
205
  };
206
206
  const ensureTargetEventsForClient = (ws, mode) => {
@@ -425,7 +425,7 @@ async function ensureChromeExtensionRelayServer(opts) {
425
425
  wssExtension.on("connection", (ws) => {
426
426
  extensionWs = ws;
427
427
  const ping = setInterval(() => {
428
- if (ws.readyState !== WebSocket$1.OPEN) return;
428
+ if (ws.readyState !== WebSocket.OPEN) return;
429
429
  ws.send(JSON.stringify({ method: "ping" }));
430
430
  }, 5e3);
431
431
  ws.on("message", (data) => {
@@ -743,7 +743,7 @@ async function fetchOk(url, timeoutMs = 1500, init) {
743
743
  }
744
744
  async function withCdpSocket(wsUrl, fn, opts) {
745
745
  const headers = getHeadersWithAuth(wsUrl, opts?.headers ?? {});
746
- const ws = new WebSocket$1(wsUrl, {
746
+ const ws = new WebSocket(wsUrl, {
747
747
  handshakeTimeout: typeof opts?.handshakeTimeoutMs === "number" && Number.isFinite(opts.handshakeTimeoutMs) ? Math.max(1, Math.floor(opts.handshakeTimeoutMs)) : 5e3,
748
748
  ...Object.keys(headers).length ? { headers } : {}
749
749
  });
@@ -1637,7 +1637,7 @@ async function getChromeWebSocketUrl(cdpUrl, timeoutMs = 500) {
1637
1637
  async function canOpenWebSocket(wsUrl, timeoutMs = 800) {
1638
1638
  return await new Promise((resolve) => {
1639
1639
  const headers = getHeadersWithAuth(wsUrl);
1640
- const ws = new WebSocket$1(wsUrl, {
1640
+ const ws = new WebSocket(wsUrl, {
1641
1641
  handshakeTimeout: timeoutMs,
1642
1642
  ...Object.keys(headers).length ? { headers } : {}
1643
1643
  });
@@ -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-J2pIBQF7.js";
16
+ import { m as loadSymiPlugins } from "./subagent-registry-Bo9roElD.js";
17
17
  import "./sessions-CJXnZVjR.js";
18
18
  import "./tokens-Csntmwwn.js";
19
19
  import "./plugins-CwSlLxM8.js";
@@ -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-DUZvOCsG.js";
4
+ import { ft as loadSymiPlugins } from "./reply-BlBH8dSQ.js";
5
5
  import "./registry-Cja8eT7G.js";
6
6
  import { t as createSubsystemLogger } from "./subsystem-D9vIQve0.js";
7
7
  import "./exec-CWkblSrI.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-elNdyQio.js";
3
+ import { i as registerSubCliCommands, o as reparseProgramFromActionArgs } from "./register.subclis-DuPaRiS4.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-CLV1kk2-.js")).registerSetupCommand(program);
25
+ (await import("./register.setup-B9CBQjEN.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-DidMCka8.js")).registerOnboardCommand(program);
35
+ (await import("./register.onboard-C5eHpvtL.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-DaIrJXWo.js")).registerConfigureCommand(program);
45
+ (await import("./register.configure-DqsXKWga.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-Bynmd81Q.js")).registerConfigCli(program);
55
+ (await import("./config-cli-CpwArAa6.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-DK_p-7so.js")).registerMaintenanceCommands(program);
82
+ (await import("./register.maintenance-Bf2gxts7.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-B4CGCAn_.js")).registerMessageCommands(program, ctx);
92
+ (await import("./register.message-BUvXx9br.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-BnuJQ5lg.js")).registerAgentCommands(program, { agentChannelOptions: ctx.agentChannelOptions });
116
+ (await import("./register.agent-CB6rW5Zg.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-CB10JLY6.js")).registerStatusHealthSessionsCommands(program);
138
+ (await import("./register.status-health-sessions-PIMw1UCn.js")).registerStatusHealthSessionsCommands(program);
139
139
  }
140
140
  },
141
141
  {
@@ -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-BBtSJunF.js";
5
+ import { a as registerCoreCliByName, c as getSubCliEntries, l as registerSubCliByName, r as getCoreCliCommandNames, t as getProgramContext } from "./program-context-CSpR6ryN.js";
6
6
  import os from "node:os";
7
7
  import path from "node:path";
8
8
  import fs from "node:fs/promises";
@@ -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-elNdyQio.js";
4
- import { i as registerCoreCliByName, n as getCoreCliCommandNames } from "./command-registry-B2aO0Q7_.js";
3
+ import { n as getSubCliEntries, r as registerSubCliByName } from "./register.subclis-DuPaRiS4.js";
4
+ import { i as registerCoreCliByName, n as getCoreCliCommandNames } from "./command-registry-S9YUi0ss.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";
@@ -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-B3vS2Iz5.js").then((n) => n.t);
204
+ const { configureCommandFromSectionsArg } = await import("./configure-BSQ1A_u4.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) => {
@@ -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-Df6GmKAR.js").then((n) => n.t);
209
+ const { configureCommandFromSectionsArg } = await import("./configure-CqzJZ6cW.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) => {
@@ -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-DLiV4Y0t.js";
14
+ import { r as setupChannels, t as noteChannelStatus } from "./onboard-channels-BxvQtyYH.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-CXjAtn1-.js";
17
+ import { r as healthCommand } from "./health-dUpSaCiK.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-BBmXnDnK.js";
21
+ import { i as applyAuthChoice, n as resolvePreferredProviderForAuthChoice } from "./auth-choice-BZ-VvXy8.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";
@@ -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-DxCGWgB0.js";
16
+ import { r as setupChannels, t as noteChannelStatus } from "./onboard-channels-z4Uti7yg.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-B32Q-KYM.js";
19
+ import { r as healthCommand } from "./health-DyYKe0PU.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-BHWxDJh7.js";
23
+ import { i as applyAuthChoice, n as resolvePreferredProviderForAuthChoice } from "./auth-choice-CPp0BHDW.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";
@@ -1,9 +1,9 @@
1
1
  // ── Model Routing Toggle ─────────────────────────────────────────────
2
- // Three-state toggle: Local (ollama/redblack) ↔ CoreWeave (vLLM) ↔ API (anthropic)
2
+ // Three-state toggle: Local (nemotron/CoreWeave) ↔ CoreWeave (vLLM) ↔ API (anthropic)
3
3
 
4
4
  (function () {
5
5
  const MODELS = {
6
- local: "ollama/gemma4:31b-128k",
6
+ local: "nemotron/nemotron-3-super-120b",
7
7
  redsand: "redsand/gemma-4-31b",
8
8
  api: "anthropic/claude-sonnet-4-6",
9
9
  };
@@ -289,7 +289,11 @@ window.copyCode = async (btn) => {
289
289
  };
290
290
 
291
291
  // ── Model token stripping (defense-in-depth for server-side filter) ──
292
- const ALWAYS_STRIP_TOKENS = [
292
+ // These patterns are Gemma-specific control tokens. Only apply when the
293
+ // active profile does NOT have structured thinking (i.e. Gemma/Ollama).
294
+ // Models with native thinking (Claude, Nemotron) don't leak these tokens
295
+ // and the regexes can corrupt legitimate output if applied blindly.
296
+ const GEMMA_STRIP_TOKENS = [
293
297
  /<\|channel>\w*/gi,
294
298
  /<channel\|>/gi,
295
299
  /<start_of_turn>(?:model|user)?/gi,
@@ -299,16 +303,18 @@ const ALWAYS_STRIP_TOKENS = [
299
303
  ];
300
304
 
301
305
  function stripModelTokensClient(text) {
306
+ const profile = window.activeModelProfile;
302
307
  let cleaned = text;
303
308
 
304
- // Always strip known control tokens (defense in depth)
305
- for (const re of ALWAYS_STRIP_TOKENS) {
306
- re.lastIndex = 0;
307
- cleaned = cleaned.replace(re, "");
309
+ // Only strip Gemma control tokens for models that need it
310
+ if (!profile?.filters?.hasStructuredThinking) {
311
+ for (const re of GEMMA_STRIP_TOKENS) {
312
+ re.lastIndex = 0;
313
+ cleaned = cleaned.replace(re, "");
314
+ }
308
315
  }
309
316
 
310
317
  // Profile-specific patterns on top
311
- const profile = window.activeModelProfile;
312
318
  if (profile?.filters?.stripPatterns?.length) {
313
319
  for (const pat of profile.filters.stripPatterns) {
314
320
  try {
@@ -3,7 +3,7 @@ import { s as resolveStateDir } from "./paths-CE7eVGHg.js";
3
3
  import { m as normalizeOptionalAccountId, p as normalizeAccountId } from "./session-key-BCzIW1Y2.js";
4
4
  import { c as getActivePluginRegistry, v as createInternalHookEvent, x as triggerInternalHook } from "./registry-DYq1AYOv.js";
5
5
  import { t as createSubsystemLogger } from "./subsystem-BjyjJF-d.js";
6
- import { B as resolveMirroredTranscriptText, i as isMessagingToolDuplicate, z as appendAssistantMessageToSessionTranscript } from "./pi-embedded-helpers-CfqDGQ9J.js";
6
+ import { B as resolveMirroredTranscriptText, i as isMessagingToolDuplicate, z as appendAssistantMessageToSessionTranscript } from "./pi-embedded-helpers-pubKo8HQ.js";
7
7
  import { d as getChannelDock } from "./thinking-BprCy23Z.js";
8
8
  import { r as normalizeChannelId, t as getChannelPlugin } from "./plugins-BzmbgY7s.js";
9
9
  import { a as isSilentReplyText, n as SILENT_REPLY_TOKEN } from "./tokens-Bux9Y_xD.js";
@@ -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-BKm12loU.js";
4
+ import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-3BdNxUMh.js";
5
5
  import path from "node:path";
6
6
  import { spawnSync } from "node:child_process";
7
7