@symerian/symi 2.9.2 → 2.9.3

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 (172) hide show
  1. package/dist/{agents-DTl30WoB.js → agents-D6V_7iZL.js} +4 -4
  2. package/dist/{agents.config-CZ3GFxPg.js → agents.config-B-NRTvyi.js} +1 -1
  3. package/dist/{agents.config-CO8F9mkD.js → agents.config-BeX0kxT3.js} +1 -1
  4. package/dist/{audio-preflight-DQR2Ivi-.js → audio-preflight-CbyJ_yDs.js} +4 -4
  5. package/dist/{auth-choice-BYDGn7lJ.js → auth-choice-4lzxjIcf.js} +1 -1
  6. package/dist/{auth-choice-BoOyy-ZT.js → auth-choice-BJQjxe_Y.js} +1 -1
  7. package/dist/{banner-D4MiyUnv.js → banner-Q3fjWWy3.js} +1 -1
  8. package/dist/build-info.json +3 -3
  9. package/dist/bundled/boot-md/handler.js +7 -7
  10. package/dist/bundled/session-memory/handler.js +7 -7
  11. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  12. package/dist/{channel-options-BiSSYYQC.js → channel-options-CQ0Q0xZr.js} +1 -1
  13. package/dist/{channel-options-B6qP-vR-.js → channel-options-D6U_Dpa2.js} +1 -1
  14. package/dist/{channel-web-DP97EUhx.js → channel-web-D6aolbVC.js} +1 -1
  15. package/dist/{channels-cli-CE_A3Hai.js → channels-cli-By4y_t51.js} +6 -6
  16. package/dist/{channels-cli-6LNvJQPb.js → channels-cli-CxuKeNkr.js} +6 -6
  17. package/dist/{chrome-BaMQiegP.js → chrome-CJHOBnUB.js} +7 -7
  18. package/dist/{cli-DwQ3mqhI.js → cli-41r_BAjv.js} +3 -3
  19. package/dist/{cli-D4j_JTug.js → cli-B1gtEojq.js} +3 -3
  20. package/dist/{command-registry-b62Qpsi2.js → command-registry-FJWuYmEn.js} +10 -10
  21. package/dist/{completion-cli-RQyC3L-t.js → completion-cli-C20c_vzO.js} +1 -1
  22. package/dist/{completion-cli-DUT2XYgK.js → completion-cli-DWVW4P54.js} +2 -2
  23. package/dist/{config-cli-Di8VOhbp.js → config-cli-CJQ-12f7.js} +1 -1
  24. package/dist/{config-cli-H52N8rp1.js → config-cli-CLXuCFJc.js} +1 -1
  25. package/dist/{configure-DQxuawe-.js → configure-DrIhqYYW.js} +3 -3
  26. package/dist/{configure-BF9crM5K.js → configure-I99ztt2Y.js} +3 -3
  27. package/dist/{deliver-Dx39g9ey.js → deliver-D5655IkX.js} +1 -1
  28. package/dist/{doctor-completion-BKXQ50ee.js → doctor-completion-B4pjrehH.js} +1 -1
  29. package/dist/{doctor-completion-BS2JEeZy.js → doctor-completion-C9A7E6Wb.js} +1 -1
  30. package/dist/entry.js +1 -1
  31. package/dist/extensionAPI.js +2 -2
  32. package/dist/{gateway-cli-Do9KUPqe.js → gateway-cli-BByLEck3.js} +11 -11
  33. package/dist/{gateway-cli-moPf-zP5.js → gateway-cli-cZpbavO4.js} +11 -11
  34. package/dist/{glass-ui-ws-D53pvIov.js → glass-ui-ws-09XXkYnX.js} +9 -9
  35. package/dist/{glass-ui-ws-Dfro-3R8.js → glass-ui-ws-DUHaC6lE.js} +9 -9
  36. package/dist/{health-CV741PBg.js → health-Bvo3NXZK.js} +1 -1
  37. package/dist/{health-BQGRC0xh.js → health-CYHbTw04.js} +1 -1
  38. package/dist/{hooks-cli-CWXGIL9L.js → hooks-cli-BwFW4lKC.js} +4 -4
  39. package/dist/{hooks-cli-CG-PDY2U.js → hooks-cli-CiFs-0g0.js} +4 -4
  40. package/dist/{image-C-JvPPpM.js → image-BqpivNGG.js} +1 -1
  41. package/dist/index.js +8 -8
  42. package/dist/llm-slug-generator.js +7 -7
  43. package/dist/{manager-CLPHK-qG.js → manager-Bj8GFlcZ.js} +1 -1
  44. package/dist/{manager-yrUe0KOT.js → manager-BsfrsBPw.js} +1 -1
  45. package/dist/{manager-B_2KzUSI.js → manager-CB20PmUH.js} +1 -1
  46. package/dist/{manager-Bc-MeMho.js → manager-CMB15ft8.js} +1 -1
  47. package/dist/{memory-cli-BKNnDIdx.js → memory-cli-CoTkaEhh.js} +3 -3
  48. package/dist/{memory-cli-3RSIw4no.js → memory-cli-Cuhhh4qN.js} +3 -3
  49. package/dist/{models-D_C2JFPw.js → models-CdIe1IJX.js} +2 -2
  50. package/dist/{models-cli-DQE60EtL.js → models-cli-CZcMWBL0.js} +5 -5
  51. package/dist/{models-cli-j2O4e1Lu.js → models-cli-o07a-fh5.js} +4 -4
  52. package/dist/{onboard-Ckw89oRF.js → onboard-44op-88v.js} +2 -2
  53. package/dist/{onboard-DUIZfWqa.js → onboard-Cjlal6-V.js} +2 -2
  54. package/dist/{onboard-channels-B8Ouc5sR.js → onboard-channels-BseAErC9.js} +1 -1
  55. package/dist/{onboard-channels-Oa9IlsGt.js → onboard-channels-Lt1TlRrb.js} +1 -1
  56. package/dist/{onboarding-JFWHlqAb.js → onboarding-DODsq7cg.js} +3 -3
  57. package/dist/{onboarding-Cjh-Y8ha.js → onboarding-DYJYybkl.js} +3 -3
  58. package/dist/{onboarding.finalize-CkGLgiEA.js → onboarding.finalize-BX-xeFu7.js} +7 -7
  59. package/dist/{onboarding.finalize-spzEoVkm.js → onboarding.finalize-DhhWr8GR.js} +8 -8
  60. package/dist/{pi-embedded-D6Zi01El.js → pi-embedded-UMBd-Mrj.js} +69 -54
  61. package/dist/{pi-embedded-helpers-B1P8lkqj.js → pi-embedded-helpers-CU-kYRrF.js} +4 -4
  62. package/dist/{plugin-registry-zGF6HUkQ.js → plugin-registry-Di_isjUm.js} +1 -1
  63. package/dist/{plugin-registry-CYglC746.js → plugin-registry-HrZC-Iww.js} +1 -1
  64. package/dist/plugin-sdk/agents/pi-embedded-runner/system-prompt.d.ts +9 -0
  65. package/dist/plugin-sdk/agents/system-prompt.d.ts +17 -0
  66. package/dist/plugin-sdk/{channel-web-eeGSjU9N.js → channel-web-CzZZsS3O.js} +1 -1
  67. package/dist/plugin-sdk/config/types.symi.d.ts +7 -0
  68. package/dist/plugin-sdk/index.js +3 -3
  69. package/dist/plugin-sdk/{manager-DZ5-lr4s.js → manager-BiRYpsW7.js} +1 -1
  70. package/dist/plugin-sdk/{reply-BRGoceel.js → reply-DYEklKOc.js} +69 -54
  71. package/dist/plugin-sdk/{synthesis-DVsG2Tbp.js → synthesis-CaDiVumM.js} +2 -2
  72. package/dist/plugin-sdk/{web-7u3fdT2S.js → web-DU4xaLZf.js} +3 -3
  73. package/dist/{plugins-cli-CLb_0vH6.js → plugins-cli-BlBz4J4q.js} +4 -4
  74. package/dist/{plugins-cli-ndIGvW38.js → plugins-cli-CMz1ww6G.js} +4 -4
  75. package/dist/{program-context-mFSRQPMm.js → program-context-ByWsh-2T.js} +18 -18
  76. package/dist/{program-BovNsUAh.js → program-dFZ5CYgD.js} +9 -9
  77. package/dist/{prompt-select-styled-DlKhnnDV.js → prompt-select-styled-BkwnTGjt.js} +6 -6
  78. package/dist/{prompt-select-styled-vhI0kQYd.js → prompt-select-styled-nywEyQoQ.js} +6 -6
  79. package/dist/{provider-auth-helpers-DXlKD0hY.js → provider-auth-helpers-CQ604vQz.js} +1 -1
  80. package/dist/{provider-auth-helpers-U0t5YhCn.js → provider-auth-helpers-CgJE4rvP.js} +1 -1
  81. package/dist/{push-apns-rDsc17-c.js → push-apns-CQlSAman.js} +1 -1
  82. package/dist/{push-apns-hN0N3Wcu.js → push-apns-CbjqnCIn.js} +1 -1
  83. package/dist/{pw-ai-BlWK9Tr3.js → pw-ai-BjfsUmjw.js} +1 -1
  84. package/dist/{register.agent-Cyij2g-g.js → register.agent-BaLgPcGg.js} +7 -7
  85. package/dist/{register.agent-B1liWWB3.js → register.agent-Hw7FS0tf.js} +8 -8
  86. package/dist/{register.configure-CoYKlH75.js → register.configure-BC-jW4EY.js} +8 -8
  87. package/dist/{register.configure-keWh1w1p.js → register.configure-D6bKnyeR.js} +8 -8
  88. package/dist/{register.maintenance-CsA9QQRE.js → register.maintenance-7LeID6wA.js} +10 -10
  89. package/dist/{register.maintenance-CvY-Yar9.js → register.maintenance-DQ73gAH0.js} +9 -9
  90. package/dist/{register.message-DltuBwIg.js → register.message-D2Ubr7KY.js} +4 -4
  91. package/dist/{register.message-D7815_7Y.js → register.message-odamuJP5.js} +4 -4
  92. package/dist/{register.onboard-CY50To_-.js → register.onboard-Bv3BjuIZ.js} +6 -6
  93. package/dist/{register.onboard-FcZymlrx.js → register.onboard-DwYvxoBx.js} +6 -6
  94. package/dist/{register.setup-X011Evir.js → register.setup-B6ylBd_s.js} +6 -6
  95. package/dist/{register.setup-8dkIizGs.js → register.setup-BvNMj7Tn.js} +6 -6
  96. package/dist/{register.status-health-sessions-u9ZbWWea.js → register.status-health-sessions-Bx0oTY_P.js} +5 -5
  97. package/dist/{register.status-health-sessions-DRkIaw1q.js → register.status-health-sessions-Cr65vOYW.js} +5 -5
  98. package/dist/{register.subclis-vTS3UwIU.js → register.subclis-BzbNYOC6.js} +9 -9
  99. package/dist/{reply-Dx9DWIO2.js → reply-Bymjl4wV.js} +68 -53
  100. package/dist/{run-main-BQKf71Kt.js → run-main-BAaL6QjO.js} +17 -17
  101. package/dist/{runner-C4opGXAA.js → runner-DzNo-GCz.js} +1 -1
  102. package/dist/{server-methods-1TzYth88.js → server-methods-C4j7W_qQ.js} +8 -8
  103. package/dist/{server-methods-DeIwhdBv.js → server-methods-Ds4i0Q2F.js} +8 -8
  104. package/dist/{server-node-events-DF_ks0oa.js → server-node-events-D0gNq3h6.js} +4 -4
  105. package/dist/{server-node-events-CFMtnBFU.js → server-node-events-tbjGwgHF.js} +4 -4
  106. package/dist/{status-CvElSWg2.js → status-BdkVcIDX.js} +1 -1
  107. package/dist/{status-vO4-v0vI.js → status-BfNSBvnp.js} +3 -3
  108. package/dist/{status-CwZgLSfx.js → status-CGabcN-L.js} +3 -3
  109. package/dist/{status-DEQAH4oA.js → status-DpVc9DSG.js} +1 -1
  110. package/dist/{subagent-registry-K1lQH7iR.js → subagent-registry-0D_yjdW5.js} +68 -53
  111. package/dist/{synthesis-DazoL-DI.js → synthesis-1f-yGtS7.js} +3 -3
  112. package/dist/{synthesis-AYqn8_O8.js → synthesis-A2SfvBRN.js} +3 -3
  113. package/dist/{synthesis-DhxkkJq7.js → synthesis-Bf2XnlvP.js} +2 -2
  114. package/dist/{synthesis-CZhOC8n4.js → synthesis-DFQ_rjEF.js} +7 -7
  115. package/dist/{unified-runner-CavADnkK.js → unified-runner-j_Vn4K8X.js} +83 -68
  116. package/dist/{update-cli-DmxFKAmJ.js → update-cli-B3t4yUU6.js} +9 -9
  117. package/dist/{update-cli-DPf2vrJK.js → update-cli-CWMGbbPM.js} +10 -10
  118. package/dist/{update-runner-D4UIv_1p.js → update-runner-CfzHxbsu.js} +1 -1
  119. package/dist/{update-runner-XU-jPEg_.js → update-runner-UfVHKth_.js} +1 -1
  120. package/dist/{web-BJIv_6uQ.js → web-BSf9H0_w.js} +7 -7
  121. package/dist/{web-BBbVbRTg.js → web-DCTvbYTy.js} +3 -3
  122. package/dist/{web-C-E-O8iP.js → web-DIDhNbES.js} +4 -4
  123. package/dist/{web-CIj8erCe.js → web-DaChMSyM.js} +2 -2
  124. package/docs/capabilities.md +153 -0
  125. package/extensions/bluebubbles/package.json +1 -1
  126. package/extensions/copilot-proxy/package.json +1 -1
  127. package/extensions/diagnostics-otel/package.json +1 -1
  128. package/extensions/discord/package.json +1 -1
  129. package/extensions/feishu/package.json +1 -1
  130. package/extensions/google-antigravity-auth/package.json +1 -1
  131. package/extensions/google-gemini-cli-auth/package.json +1 -1
  132. package/extensions/googlechat/package.json +1 -1
  133. package/extensions/imessage/package.json +1 -1
  134. package/extensions/irc/package.json +1 -1
  135. package/extensions/learning-loop/package.json +1 -1
  136. package/extensions/line/package.json +1 -1
  137. package/extensions/llm-task/package.json +1 -1
  138. package/extensions/matrix/CHANGELOG.md +6 -0
  139. package/extensions/matrix/package.json +1 -1
  140. package/extensions/mattermost/package.json +1 -1
  141. package/extensions/memory-core/package.json +1 -1
  142. package/extensions/memory-lancedb/package.json +1 -1
  143. package/extensions/minimax-portal-auth/package.json +1 -1
  144. package/extensions/msteams/CHANGELOG.md +6 -0
  145. package/extensions/msteams/package.json +1 -1
  146. package/extensions/nextcloud-talk/package.json +1 -1
  147. package/extensions/nostr/CHANGELOG.md +6 -0
  148. package/extensions/nostr/package.json +1 -1
  149. package/extensions/open-prose/package.json +1 -1
  150. package/extensions/outlook/package.json +1 -1
  151. package/extensions/pipeline/package.json +1 -1
  152. package/extensions/signal/package.json +1 -1
  153. package/extensions/slack/package.json +1 -1
  154. package/extensions/telegram/package.json +1 -1
  155. package/extensions/tlon/package.json +1 -1
  156. package/extensions/twitch/CHANGELOG.md +6 -0
  157. package/extensions/twitch/package.json +1 -1
  158. package/extensions/voice-call/CHANGELOG.md +6 -0
  159. package/extensions/voice-call/package.json +1 -1
  160. package/extensions/whatsapp/package.json +1 -1
  161. package/extensions/zalo/CHANGELOG.md +6 -0
  162. package/extensions/zalo/package.json +1 -1
  163. package/extensions/zalouser/CHANGELOG.md +6 -0
  164. package/extensions/zalouser/package.json +1 -1
  165. package/package.json +1 -1
  166. package/skills/channel-routing/SKILL.md +42 -0
  167. package/skills/document-generation/SKILL.md +64 -0
  168. package/skills/reactions-extensive/SKILL.md +30 -0
  169. package/skills/reactions-minimal/SKILL.md +31 -0
  170. package/skills/safe-edit/SKILL.md +51 -0
  171. package/skills/tool-narration/SKILL.md +40 -0
  172. package/skills/verify-output/SKILL.md +47 -0
@@ -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-Gfhqs66L.js";
8
- import { j as parseIdentityMarkdown, k as identityHasValues } from "./subagent-registry-K1lQH7iR.js";
8
+ import { j as parseIdentityMarkdown, k as identityHasValues } from "./subagent-registry-0D_yjdW5.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-Ca4KojJF.js";
12
12
  import { t as WizardCancelledError } from "./prompts-DbHSz44H.js";
13
13
  import { t as createClackPrompter } from "./clack-prompter-CTPf_777.js";
14
14
  import { t as resolveChannelDefaultAccountId } from "./helpers-gWnZ9zWR.js";
15
- import { r as setupChannels } from "./onboard-channels-B8Ouc5sR.js";
15
+ import { r as setupChannels } from "./onboard-channels-BseAErC9.js";
16
16
  import { t as requireValidConfigSnapshot } from "./config-validation-B6GnatLw.js";
17
- import { a as pruneAgentConfig, i as loadAgentIdentity, n as buildAgentSummaries, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-CO8F9mkD.js";
17
+ import { a as pruneAgentConfig, i as loadAgentIdentity, n as buildAgentSummaries, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-BeX0kxT3.js";
18
18
  import { n as logConfigUpdated } from "./logging-PVQxLC6I.js";
19
19
  import { n as promptAuthChoiceGrouped } from "./auth-choice-prompt-DF6R_pgV.js";
20
- import { i as applyAuthChoice, r as warnIfModelConfigLooksOff } from "./auth-choice-BYDGn7lJ.js";
20
+ import { i as applyAuthChoice, r as warnIfModelConfigLooksOff } from "./auth-choice-4lzxjIcf.js";
21
21
  import path from "node:path";
22
22
  import fs from "node:fs/promises";
23
23
 
@@ -1,4 +1,4 @@
1
- import { $t as loadAgentIdentityFromWorkspace, Qt as identityHasValues } from "./reply-Dx9DWIO2.js";
1
+ import { $t as loadAgentIdentityFromWorkspace, Qt as identityHasValues } from "./reply-Bymjl4wV.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
 
@@ -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-K1lQH7iR.js";
3
+ import { A as loadAgentIdentityFromWorkspace, k as identityHasValues } from "./subagent-registry-0D_yjdW5.js";
4
4
 
5
5
  //#region src/commands/agents.config.ts
6
6
  function findAgentEntryIndex(list, agentId) {
@@ -8,10 +8,10 @@ import "./auth-profiles-C2vj6htZ.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-B1P8lkqj.js";
11
+ import "./pi-embedded-helpers-CU-kYRrF.js";
12
12
  import "./config-Do4JxgLI.js";
13
13
  import "./manifest-registry-CBCGTsIb.js";
14
- import "./chrome-BaMQiegP.js";
14
+ import "./chrome-CJHOBnUB.js";
15
15
  import "./frontmatter-CTR5f_Ez.js";
16
16
  import "./skills-CXxrn_e2.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-C-JvPPpM.js";
30
+ import "./image-BqpivNGG.js";
31
31
  import "./pi-model-discovery-CuZX_Q4t.js";
32
32
  import "./gemini-auth-BefM10YB.js";
33
33
  import "./local-roots-ClipCZ9s.js";
34
- import { a as resolveMediaAttachmentLocalRoots, n as createMediaAttachmentCache, o as runCapability, r as normalizeMediaAttachments, t as buildProviderRegistry, u as isAudioAttachment } from "./runner-C4opGXAA.js";
34
+ import { a as resolveMediaAttachmentLocalRoots, n as createMediaAttachmentCache, o as runCapability, r as normalizeMediaAttachments, t as buildProviderRegistry, u as isAudioAttachment } from "./runner-DzNo-GCz.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-DRqmevpR.js";
6
6
  import { f as openUrl } from "./onboard-helpers-Ca4KojJF.js";
7
7
  import { t as enablePluginInConfig } from "./enable-CBGVOpes.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-ce8PBZwF.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-U0t5YhCn.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-CgJE4rvP.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-CMi-OF15.js";
11
11
  import { c as OPENAI_CODEX_DEFAULT_MODEL, l as applyOpenAICodexModelDefault, r as applyPrimaryModel, s as promptAndConfigureVllm } from "./model-picker-DhsG4iZa.js";
12
12
  import { loginOpenAICodex } from "@mariozechner/pi-ai";
@@ -6,7 +6,7 @@ import { n as loadModelCatalog } from "./model-catalog-BFJW_s3i.js";
6
6
  import { f as openUrl } from "./onboard-helpers-BiCrYw-N.js";
7
7
  import { t as enablePluginInConfig } from "./enable-55n-WSsE.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-Cq0R-Q6i.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-DXlKD0hY.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-CQ604vQz.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-D5FwfJqN.js";
11
11
  import { c as OPENAI_CODEX_DEFAULT_MODEL, l as applyOpenAICodexModelDefault, r as applyPrimaryModel, s as promptAndConfigureVllm } from "./model-picker-BT8MumhL.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 { dn as resolveCommitHash } from "./subagent-registry-K1lQH7iR.js";
2
+ import { dn as resolveCommitHash } from "./subagent-registry-0D_yjdW5.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.9.2",
3
- "commit": "22df41bc0782f928eba6895291c998f230e9ec5e",
4
- "builtAt": "2026-04-29T01:49:14.354Z"
2
+ "version": "2.9.3",
3
+ "commit": "a5ab71b9678fdcbb190bbf01567ada956a950631",
4
+ "builtAt": "2026-04-29T02:01:50.191Z"
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-CavADnkK.js";
7
+ import { a as createDefaultDeps, i as agentCommand } from "../../unified-runner-j_Vn4K8X.js";
8
8
  import { s as resolveStorePath } from "../../paths-CbQV9WEg.js";
9
9
  import "../../auth-profiles-C2vj6htZ.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-B1P8lkqj.js";
13
+ import { H as loadSessionStore, K as updateSessionStore, xt as resolveMainSessionKey, yt as resolveAgentMainSessionKey } from "../../pi-embedded-helpers-CU-kYRrF.js";
14
14
  import "../../config-Do4JxgLI.js";
15
15
  import "../../manifest-registry-CBCGTsIb.js";
16
- import "../../chrome-BaMQiegP.js";
16
+ import "../../chrome-CJHOBnUB.js";
17
17
  import "../../frontmatter-CTR5f_Ez.js";
18
18
  import "../../skills-CXxrn_e2.js";
19
19
  import "../../redact-BDMXB06K.js";
@@ -31,16 +31,16 @@ import "../../bindings-BsHoBLIE.js";
31
31
  import "../../send-B7kMNQ-T.js";
32
32
  import "../../send-9ktd0CBZ.js";
33
33
  import "../../tool-images-SqqWIT22.js";
34
- import "../../deliver-Dx39g9ey.js";
34
+ import "../../deliver-D5655IkX.js";
35
35
  import "../../diagnostic-BUcR3Meg.js";
36
36
  import "../../diagnostic-session-state-Zw87xFym.js";
37
- import "../../image-C-JvPPpM.js";
37
+ import "../../image-BqpivNGG.js";
38
38
  import "../../pi-auth-json-RXOlh8ar.js";
39
39
  import { n as SILENT_REPLY_TOKEN } from "../../tokens-W0JzCJJM.js";
40
40
  import "../../send-90t8KM2a.js";
41
41
  import "../../pi-model-discovery-CuZX_Q4t.js";
42
42
  import "../../reply-prefix-CvEIl6_d.js";
43
- import "../../manager-Bc-MeMho.js";
43
+ import "../../manager-CMB15ft8.js";
44
44
  import "../../gemini-auth-BefM10YB.js";
45
45
  import "../../retry-B-y5suGA.js";
46
46
  import "../../sqlite-BN_hIcmu.js";
@@ -51,7 +51,7 @@ import "../../local-roots-ClipCZ9s.js";
51
51
  import "../../ir-7tMVY7D_.js";
52
52
  import "../../render-D1xvLuGo.js";
53
53
  import "../../commands-registry-DxbSTLNQ.js";
54
- import "../../runner-C4opGXAA.js";
54
+ import "../../runner-DzNo-GCz.js";
55
55
  import "../../skill-commands-DG2lcozb.js";
56
56
  import "../../fetch-ClslA6GS.js";
57
57
  import "../../channel-activity-D8QD7GoV.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-CavADnkK.js";
7
+ import "../../unified-runner-j_Vn4K8X.js";
8
8
  import "../../paths-CbQV9WEg.js";
9
9
  import "../../auth-profiles-C2vj6htZ.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-B1P8lkqj.js";
13
+ import { ct as hasInterSessionUserProvenance } from "../../pi-embedded-helpers-CU-kYRrF.js";
14
14
  import "../../config-Do4JxgLI.js";
15
15
  import "../../manifest-registry-CBCGTsIb.js";
16
- import "../../chrome-BaMQiegP.js";
16
+ import "../../chrome-CJHOBnUB.js";
17
17
  import "../../frontmatter-CTR5f_Ez.js";
18
18
  import "../../skills-CXxrn_e2.js";
19
19
  import "../../redact-BDMXB06K.js";
@@ -31,16 +31,16 @@ import "../../bindings-BsHoBLIE.js";
31
31
  import "../../send-B7kMNQ-T.js";
32
32
  import "../../send-9ktd0CBZ.js";
33
33
  import "../../tool-images-SqqWIT22.js";
34
- import "../../deliver-Dx39g9ey.js";
34
+ import "../../deliver-D5655IkX.js";
35
35
  import "../../diagnostic-BUcR3Meg.js";
36
36
  import "../../diagnostic-session-state-Zw87xFym.js";
37
- import "../../image-C-JvPPpM.js";
37
+ import "../../image-BqpivNGG.js";
38
38
  import "../../pi-auth-json-RXOlh8ar.js";
39
39
  import "../../tokens-W0JzCJJM.js";
40
40
  import "../../send-90t8KM2a.js";
41
41
  import "../../pi-model-discovery-CuZX_Q4t.js";
42
42
  import "../../reply-prefix-CvEIl6_d.js";
43
- import "../../manager-Bc-MeMho.js";
43
+ import "../../manager-CMB15ft8.js";
44
44
  import "../../gemini-auth-BefM10YB.js";
45
45
  import "../../retry-B-y5suGA.js";
46
46
  import "../../sqlite-BN_hIcmu.js";
@@ -51,7 +51,7 @@ import "../../local-roots-ClipCZ9s.js";
51
51
  import "../../ir-7tMVY7D_.js";
52
52
  import "../../render-D1xvLuGo.js";
53
53
  import "../../commands-registry-DxbSTLNQ.js";
54
- import "../../runner-C4opGXAA.js";
54
+ import "../../runner-DzNo-GCz.js";
55
55
  import "../../skill-commands-DG2lcozb.js";
56
56
  import "../../fetch-ClslA6GS.js";
57
57
  import "../../channel-activity-D8QD7GoV.js";
@@ -1 +1 @@
1
- 159047d987dd03598a291dc09869188eaa499a61402fbc6ed3ebc82d646f232a
1
+ 287652e5857ba343c3b6ed32403286c0e6f97989826c216091cecf3cc54f0436
@@ -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-KW3oyt3k.js";
5
- import { t as ensurePluginRegistryLoaded } from "./plugin-registry-CYglC746.js";
5
+ import { t as ensurePluginRegistryLoaded } from "./plugin-registry-HrZC-Iww.js";
6
6
 
7
7
  //#region src/cli/channel-options.ts
8
8
  function dedupe(values) {
@@ -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-KcLvtTfa.js";
4
- import { t as ensurePluginRegistryLoaded } from "./plugin-registry-zGF6HUkQ.js";
4
+ import { t as ensurePluginRegistryLoaded } from "./plugin-registry-Di_isjUm.js";
5
5
 
6
6
  //#region src/cli/channel-options.ts
7
7
  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 hasControlCommand, Dn as buildMentionRegexes, Et as sleepWithAbort, On as normalizeMentionText, Sr as enqueueSystemEvent, Tt as computeBackoff, _n as createDedupeCache, bn as formatInboundEnvelope, cn as DEFAULT_GROUP_HISTORY_LIMIT, dn as shouldAckReactionForWhatsApp, fn as dispatchReplyWithBufferedBlockDispatcher, gt as parseActivationCommand, ht as normalizeGroupActivation, ln as buildHistoryContextFromEntries, on as buildPairingReply, sn as resolveMentionGating, t as getReplyFromConfig, un as recordPendingHistoryEntryIfEnabled, vn as createInboundDebouncer, wn as shouldComputeCommandAuthorized, xn as resolveEnvelopeFormatOptions, yn as resolveInboundDebounceMs } from "./reply-Dx9DWIO2.js";
2
+ import { Cn as hasControlCommand, Dn as buildMentionRegexes, Et as sleepWithAbort, On as normalizeMentionText, Sr as enqueueSystemEvent, Tt as computeBackoff, _n as createDedupeCache, bn as formatInboundEnvelope, cn as DEFAULT_GROUP_HISTORY_LIMIT, dn as shouldAckReactionForWhatsApp, fn as dispatchReplyWithBufferedBlockDispatcher, gt as parseActivationCommand, ht as normalizeGroupActivation, ln as buildHistoryContextFromEntries, on as buildPairingReply, sn as resolveMentionGating, t as getReplyFromConfig, un as recordPendingHistoryEntryIfEnabled, vn as createInboundDebouncer, wn as shouldComputeCommandAuthorized, xn as resolveEnvelopeFormatOptions, yn as resolveInboundDebounceMs } from "./reply-Bymjl4wV.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";
@@ -16,7 +16,7 @@ import "./client-CJIMV1WD.js";
16
16
  import { n as callGateway } from "./call-BCTAmPye.js";
17
17
  import "./message-channel-C9dERklz.js";
18
18
  import "./pairing-token-Byh6drgn.js";
19
- import { an as formatUsageReportLines, h as deleteTelegramUpdateOffset, in as loadProviderUsageSummary } from "./subagent-registry-K1lQH7iR.js";
19
+ import { an as formatUsageReportLines, h as deleteTelegramUpdateOffset, in as loadProviderUsageSummary } from "./subagent-registry-0D_yjdW5.js";
20
20
  import "./sessions-CpDbQNFu.js";
21
21
  import "./tokens-Csntmwwn.js";
22
22
  import { n as listChannelPlugins, r as normalizeChannelId, t as getChannelPlugin, u as resolveTelegramAccount } from "./plugins-CwSlLxM8.js";
@@ -54,8 +54,8 @@ import "./tool-images-CVLISeRT.js";
54
54
  import "./thinking-8sKPnzpp.js";
55
55
  import "./models-config-frWb8fDT.js";
56
56
  import "./reply-prefix-BUN71nd5.js";
57
- import "./memory-cli-3RSIw4no.js";
58
- import "./manager-yrUe0KOT.js";
57
+ import "./memory-cli-Cuhhh4qN.js";
58
+ import "./manager-BsfrsBPw.js";
59
59
  import "./gemini-auth-DEakvf-D.js";
60
60
  import "./retry-C4Q_VPOo.js";
61
61
  import "./sqlite-BP8tiuca.js";
@@ -111,13 +111,13 @@ import "./install-safe-path-C__62m3G.js";
111
111
  import "./npm-registry-spec-PuS2I1Em.js";
112
112
  import "./skill-scanner-BV3QHmsf.js";
113
113
  import "./installs-B4sNNRaW.js";
114
- import { a as reloadOnboardingPluginRegistry, i as ensureOnboardingPluginInstalled, r as setupChannels } from "./onboard-channels-B8Ouc5sR.js";
114
+ import { a as reloadOnboardingPluginRegistry, i as ensureOnboardingPluginInstalled, r as setupChannels } from "./onboard-channels-BseAErC9.js";
115
115
  import { t as requireValidConfigSnapshot } from "./config-validation-B6GnatLw.js";
116
116
  import { t as buildChannelAccountSnapshot } from "./status-B8TZsG0t.js";
117
117
  import { t as parseLogLine } from "./parse-log-line-C2bNfwG3.js";
118
118
  import { t as collectChannelStatusIssues } from "./channels-status-issues-B-ssmZ8E.js";
119
- import "./plugin-registry-zGF6HUkQ.js";
120
- import { t as formatCliChannelOptions } from "./channel-options-B6qP-vR-.js";
119
+ import "./plugin-registry-Di_isjUm.js";
120
+ import { t as formatCliChannelOptions } from "./channel-options-D6U_Dpa2.js";
121
121
  import fs from "node:fs/promises";
122
122
 
123
123
  //#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 loadProviderUsageSummary, mt as deleteTelegramUpdateOffset, vt as formatUsageReportLines } from "./reply-Dx9DWIO2.js";
4
+ import { _t as loadProviderUsageSummary, mt as deleteTelegramUpdateOffset, vt as formatUsageReportLines } from "./reply-Bymjl4wV.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";
@@ -62,8 +62,8 @@ import "./diagnostic-session-state-CUslJyKP.js";
62
62
  import "./send-aXMPprv9.js";
63
63
  import "./model-ECsJuJew.js";
64
64
  import "./reply-prefix-CE2YmmsD.js";
65
- import "./memory-cli-BKNnDIdx.js";
66
- import "./manager-B_2KzUSI.js";
65
+ import "./memory-cli-CoTkaEhh.js";
66
+ import "./manager-CB20PmUH.js";
67
67
  import "./retry-BoS4e4X_.js";
68
68
  import "./sqlite-D55gRQbH.js";
69
69
  import "./target-errors-C9e6dMU_.js";
@@ -106,8 +106,8 @@ import "./control-service-BkyH7qkF.js";
106
106
  import "./stagger-CZ1Rrj7O.js";
107
107
  import { n as resolveMessageChannelSelection } from "./channel-selection-9fIQGtZy.js";
108
108
  import { r as listChannelPluginCatalogEntries } from "./catalog-KW3oyt3k.js";
109
- import "./plugin-registry-CYglC746.js";
110
- import { t as formatCliChannelOptions } from "./channel-options-BiSSYYQC.js";
109
+ import "./plugin-registry-HrZC-Iww.js";
110
+ import { t as formatCliChannelOptions } from "./channel-options-CQ0Q0xZr.js";
111
111
  import { t as hasExplicitOptions } from "./command-options-DOOvAdsg.js";
112
112
  import "./note-ByDX0v9V.js";
113
113
  import { t as createClackPrompter } from "./clack-prompter-CM5UgVAv.js";
@@ -117,7 +117,7 @@ import "./install-safe-path-Cx0jIhFX.js";
117
117
  import "./npm-registry-spec-B98RgVZF.js";
118
118
  import "./skill-scanner-BTgjeQBf.js";
119
119
  import "./installs-BPZKRjsO.js";
120
- import { a as reloadOnboardingPluginRegistry, i as ensureOnboardingPluginInstalled, r as setupChannels } from "./onboard-channels-Oa9IlsGt.js";
120
+ import { a as reloadOnboardingPluginRegistry, i as ensureOnboardingPluginInstalled, r as setupChannels } from "./onboard-channels-Lt1TlRrb.js";
121
121
  import { t as requireValidConfigSnapshot } from "./config-validation-UMq2H_tR.js";
122
122
  import { t as buildChannelAccountSnapshot } from "./status-TtGsgDjP.js";
123
123
  import { t as parseLogLine } from "./parse-log-line-C7ynn72M.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, { WebSocketServer } from "ws";
13
+ import WebSocket$1, { 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.OPEN) throw new Error("Chrome extension not connected");
181
+ if (!ws || ws.readyState !== WebSocket$1.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.OPEN) continue;
198
+ if (ws.readyState !== WebSocket$1.OPEN) continue;
199
199
  ws.send(msg);
200
200
  }
201
201
  };
202
202
  const sendResponseToCdp = (ws, res) => {
203
- if (ws.readyState !== WebSocket.OPEN) return;
203
+ if (ws.readyState !== WebSocket$1.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.OPEN) return;
428
+ if (ws.readyState !== WebSocket$1.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(wsUrl, {
746
+ const ws = new WebSocket$1(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(wsUrl, {
1640
+ const ws = new WebSocket$1(wsUrl, {
1641
1641
  handshakeTimeout: timeoutMs,
1642
1642
  ...Object.keys(headers).length ? { headers } : {}
1643
1643
  });
@@ -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 { pt as loadSymiPlugins } from "./reply-Dx9DWIO2.js";
4
+ import { pt as loadSymiPlugins } from "./reply-Bymjl4wV.js";
5
5
  import "./registry-Cja8eT7G.js";
6
6
  import { t as createSubsystemLogger } from "./subsystem-D9vIQve0.js";
7
7
  import "./exec-CWkblSrI.js";
@@ -60,8 +60,8 @@ import "./diagnostic-session-state-CUslJyKP.js";
60
60
  import "./send-aXMPprv9.js";
61
61
  import "./model-ECsJuJew.js";
62
62
  import "./reply-prefix-CE2YmmsD.js";
63
- import "./memory-cli-BKNnDIdx.js";
64
- import "./manager-B_2KzUSI.js";
63
+ import "./memory-cli-CoTkaEhh.js";
64
+ import "./manager-CB20PmUH.js";
65
65
  import "./retry-BoS4e4X_.js";
66
66
  import "./sqlite-D55gRQbH.js";
67
67
  import "./target-errors-C9e6dMU_.js";
@@ -14,7 +14,7 @@ import "./client-CJIMV1WD.js";
14
14
  import "./call-BCTAmPye.js";
15
15
  import "./message-channel-C9dERklz.js";
16
16
  import "./pairing-token-Byh6drgn.js";
17
- import { m as loadSymiPlugins } from "./subagent-registry-K1lQH7iR.js";
17
+ import { m as loadSymiPlugins } from "./subagent-registry-0D_yjdW5.js";
18
18
  import "./sessions-CpDbQNFu.js";
19
19
  import "./tokens-Csntmwwn.js";
20
20
  import "./plugins-CwSlLxM8.js";
@@ -52,8 +52,8 @@ import "./tool-images-CVLISeRT.js";
52
52
  import "./thinking-8sKPnzpp.js";
53
53
  import "./models-config-frWb8fDT.js";
54
54
  import "./reply-prefix-BUN71nd5.js";
55
- import "./memory-cli-3RSIw4no.js";
56
- import "./manager-yrUe0KOT.js";
55
+ import "./memory-cli-Cuhhh4qN.js";
56
+ import "./manager-BsfrsBPw.js";
57
57
  import "./gemini-auth-DEakvf-D.js";
58
58
  import "./retry-C4Q_VPOo.js";
59
59
  import "./sqlite-BP8tiuca.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-vTS3UwIU.js";
3
+ import { i as registerSubCliCommands, o as reparseProgramFromActionArgs } from "./register.subclis-BzbNYOC6.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-8dkIizGs.js")).registerSetupCommand(program);
25
+ (await import("./register.setup-BvNMj7Tn.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-FcZymlrx.js")).registerOnboardCommand(program);
35
+ (await import("./register.onboard-DwYvxoBx.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-keWh1w1p.js")).registerConfigureCommand(program);
45
+ (await import("./register.configure-D6bKnyeR.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-H52N8rp1.js")).registerConfigCli(program);
55
+ (await import("./config-cli-CLXuCFJc.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-CsA9QQRE.js")).registerMaintenanceCommands(program);
82
+ (await import("./register.maintenance-7LeID6wA.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-D7815_7Y.js")).registerMessageCommands(program, ctx);
92
+ (await import("./register.message-odamuJP5.js")).registerMessageCommands(program, ctx);
93
93
  }
94
94
  },
95
95
  {
@@ -99,7 +99,7 @@ const coreEntries = [
99
99
  hasSubcommands: true
100
100
  }],
101
101
  register: async ({ program }) => {
102
- (await import("./memory-cli-3RSIw4no.js").then((n) => n.t)).registerMemoryCli(program);
102
+ (await import("./memory-cli-Cuhhh4qN.js").then((n) => n.t)).registerMemoryCli(program);
103
103
  }
104
104
  },
105
105
  {
@@ -113,7 +113,7 @@ const coreEntries = [
113
113
  hasSubcommands: true
114
114
  }],
115
115
  register: async ({ program, ctx }) => {
116
- (await import("./register.agent-B1liWWB3.js")).registerAgentCommands(program, { agentChannelOptions: ctx.agentChannelOptions });
116
+ (await import("./register.agent-Hw7FS0tf.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-DRkIaw1q.js")).registerStatusHealthSessionsCommands(program);
138
+ (await import("./register.status-health-sessions-Cr65vOYW.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-mFSRQPMm.js";
5
+ import { a as registerCoreCliByName, c as getSubCliEntries, l as registerSubCliByName, r as getCoreCliCommandNames, t as getProgramContext } from "./program-context-ByWsh-2T.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-vTS3UwIU.js";
4
- import { i as registerCoreCliByName, n as getCoreCliCommandNames } from "./command-registry-b62Qpsi2.js";
3
+ import { n as getSubCliEntries, r as registerSubCliByName } from "./register.subclis-BzbNYOC6.js";
4
+ import { i as registerCoreCliByName, n as getCoreCliCommandNames } from "./command-registry-FJWuYmEn.js";
5
5
  import { t as getProgramContext } from "./program-context-DeZ44oQ9.js";
6
6
  import os from "node:os";
7
7
  import path from "node:path";
@@ -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-BF9crM5K.js").then((n) => n.t);
209
+ const { configureCommandFromSectionsArg } = await import("./configure-I99ztt2Y.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-DQxuawe-.js").then((n) => n.t);
204
+ const { configureCommandFromSectionsArg } = await import("./configure-DrIhqYYW.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) => {
@@ -11,14 +11,14 @@ import { n as stylePromptMessage, r as stylePromptTitle, t as stylePromptHint }
11
11
  import { t as note$1 } from "./note-DewoEWtc.js";
12
12
  import { t as WizardCancelledError } from "./prompts-DbHSz44H.js";
13
13
  import { t as createClackPrompter } from "./clack-prompter-CTPf_777.js";
14
- import { r as setupChannels, t as noteChannelStatus } from "./onboard-channels-B8Ouc5sR.js";
14
+ import { r as setupChannels, t as noteChannelStatus } from "./onboard-channels-BseAErC9.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-C86WnKU5.js";
16
16
  import { t as resolveGatewayService } from "./service-RxN7lQKN.js";
17
- import { r as healthCommand } from "./health-CV741PBg.js";
17
+ import { r as healthCommand } from "./health-Bvo3NXZK.js";
18
18
  import { t as ensureControlUiAssetsBuilt } from "./control-ui-assets-Clf7H-Sm.js";
19
19
  import { n as logConfigUpdated } from "./logging-PVQxLC6I.js";
20
20
  import { n as promptAuthChoiceGrouped } from "./auth-choice-prompt-DF6R_pgV.js";
21
- import { i as applyAuthChoice, n as resolvePreferredProviderForAuthChoice } from "./auth-choice-BYDGn7lJ.js";
21
+ import { i as applyAuthChoice, n as resolvePreferredProviderForAuthChoice } from "./auth-choice-4lzxjIcf.js";
22
22
  import { a as promptDefaultModel, n as applyModelFallbacksFromSelection, o as promptModelAllowlist, r as applyPrimaryModel, t as applyModelAllowlist } from "./model-picker-DhsG4iZa.js";
23
23
  import { t as ensureSystemdUserLingerInteractive } from "./systemd-linger-ipoPa7o0.js";
24
24
  import { a as promptCustomApiConfig } from "./onboard-custom-Bb3xuH0G.js";
@@ -13,14 +13,14 @@ import { n as stylePromptMessage, r as stylePromptTitle, t as stylePromptHint }
13
13
  import { t as note$1 } from "./note-ByDX0v9V.js";
14
14
  import { t as WizardCancelledError } from "./prompts-NOUgk6FH.js";
15
15
  import { t as createClackPrompter } from "./clack-prompter-CM5UgVAv.js";
16
- import { r as setupChannels, t as noteChannelStatus } from "./onboard-channels-Oa9IlsGt.js";
16
+ import { r as setupChannels, t as noteChannelStatus } from "./onboard-channels-Lt1TlRrb.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-C-Mwepv_.js";
18
18
  import { t as resolveGatewayService } from "./service-DzLem5vL.js";
19
- import { r as healthCommand } from "./health-BQGRC0xh.js";
19
+ import { r as healthCommand } from "./health-CYHbTw04.js";
20
20
  import { t as ensureControlUiAssetsBuilt } from "./control-ui-assets-BrP31IQR.js";
21
21
  import { n as logConfigUpdated } from "./logging-CZuxhCZR.js";
22
22
  import { n as promptAuthChoiceGrouped } from "./auth-choice-prompt-PeQmwVpp.js";
23
- import { i as applyAuthChoice, n as resolvePreferredProviderForAuthChoice } from "./auth-choice-BoOyy-ZT.js";
23
+ import { i as applyAuthChoice, n as resolvePreferredProviderForAuthChoice } from "./auth-choice-BJQjxe_Y.js";
24
24
  import { a as promptDefaultModel, n as applyModelFallbacksFromSelection, o as promptModelAllowlist, r as applyPrimaryModel, t as applyModelAllowlist } from "./model-picker-BT8MumhL.js";
25
25
  import { t as ensureSystemdUserLingerInteractive } from "./systemd-linger-0C265XKH.js";
26
26
  import { a as promptCustomApiConfig } from "./onboard-custom-7TON2w6b.js";
@@ -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-B1P8lkqj.js";
6
+ import { B as resolveMirroredTranscriptText, i as isMessagingToolDuplicate, z as appendAssistantMessageToSessionTranscript } from "./pi-embedded-helpers-CU-kYRrF.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-W0JzCJJM.js";