@symerian/symi 2.8.15 → 2.8.17

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 (220) hide show
  1. package/dist/{acp-cli-BgR7mxTS.js → acp-cli-BTu3_kZ1.js} +2 -2
  2. package/dist/{acp-cli-D1JYg9c1.js → acp-cli-Bav1bRj2.js} +2 -2
  3. package/dist/{agents-BhhAcFrX.js → agents-9cAyC5ED.js} +5 -5
  4. package/dist/{agents.config-BOvsz6E6.js → agents.config-Cu9zTq04.js} +1 -1
  5. package/dist/{agents.config-D967tgmP.js → agents.config-DuwhYjpi.js} +1 -1
  6. package/dist/{audio-preflight-NdNUAZ0y.js → audio-preflight-C6vpFnOG.js} +4 -4
  7. package/dist/{audio-preflight-Cb-T0r6e.js → audio-preflight-rjCWpcfE.js} +4 -4
  8. package/dist/{audit-xiwEIT96.js → audit-C9nq99IR.js} +2 -2
  9. package/dist/{audit-Dr_8rC6G.js → audit-CuKP86d_.js} +2 -2
  10. package/dist/{auth-choice-Pzy-t2mh.js → auth-choice-CPqyqc93.js} +2 -2
  11. package/dist/{auth-choice-DEKKbufH.js → auth-choice-DeNzlUAR.js} +2 -2
  12. package/dist/{banner-CiHQEfyr.js → banner-S1NGA6-s.js} +1 -1
  13. package/dist/{browser-cli-IXepRCZR.js → browser-cli-ClgQ-C8E.js} +3 -3
  14. package/dist/{browser-cli-BQeCPbES.js → browser-cli-DuPPIcuV.js} +3 -3
  15. package/dist/build-info.json +3 -3
  16. package/dist/bundled/boot-md/handler.js +7 -7
  17. package/dist/bundled/session-memory/handler.js +7 -7
  18. package/dist/{call-BkJK3eYP.js → call-DYfKEdwh.js} +2 -1
  19. package/dist/{call-CAGvQYXj.js → call-M4YyUnwu.js} +2 -1
  20. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  21. package/dist/{channel-options-_erlRi2w.js → channel-options-C0v4BJgp.js} +1 -1
  22. package/dist/{channel-options-DGuilErd.js → channel-options-C6y7Khvq.js} +1 -1
  23. package/dist/{channel-web-DwfovJKQ.js → channel-web-DirOFV_n.js} +1 -1
  24. package/dist/{channels-cli-DUsK2bXE.js → channels-cli-BhNHckMo.js} +9 -9
  25. package/dist/{channels-cli-B2Zf1oz9.js → channels-cli-By_SbriI.js} +9 -9
  26. package/dist/{chrome-ROtrXlNs.js → chrome-B14NNyfm.js} +5 -5
  27. package/dist/{chrome-BUT--ob3.js → chrome-C08Z0XAa.js} +5 -5
  28. package/dist/cli/daemon-cli.js +1 -1
  29. package/dist/{cli-DUiSlxsb.js → cli-B1QQv1cb.js} +6 -6
  30. package/dist/{cli-BpmyiZc9.js → cli-Bx4RQCuK.js} +6 -6
  31. package/dist/{client-Cmq13-uF.js → client-CJIMV1WD.js} +36 -1
  32. package/dist/{client-CYsBIR3j.js → client-pd8kwOFJ.js} +36 -1
  33. package/dist/{command-registry-B8LVEWW9.js → command-registry-uMOPbrbY.js} +11 -11
  34. package/dist/{completion-cli-DZeK6_ev.js → completion-cli-B6s_3rEE.js} +2 -2
  35. package/dist/{completion-cli-D-_MV8eA.js → completion-cli-DVD79pVj.js} +1 -1
  36. package/dist/{config-cli-B7ZvHIMY.js → config-cli-DCGgd-ZL.js} +1 -1
  37. package/dist/{config-cli-D_m0QL6c.js → config-cli-DzudcNAD.js} +1 -1
  38. package/dist/{configure-DXml-xDR.js → configure-BybpK_1N.js} +6 -6
  39. package/dist/{configure-DFg-N_i2.js → configure-CItWwZwI.js} +6 -6
  40. package/dist/control-ui/css/style.css +130 -0
  41. package/dist/control-ui/index.html +11 -0
  42. package/dist/control-ui/js/history.js +288 -8
  43. package/dist/{cron-cli-Dq2FEfK1.js → cron-cli-BEdmHCWZ.js} +3 -3
  44. package/dist/{cron-cli-CZCm3aLt.js → cron-cli-C8-Gv5dd.js} +3 -3
  45. package/dist/{daemon-cli-CweMes2K.js → daemon-cli-BFoJGCHZ.js} +2 -2
  46. package/dist/{daemon-cli-B2_uIgDM.js → daemon-cli-D6wyb9bo.js} +2 -2
  47. package/dist/daemon-cli.js +36 -0
  48. package/dist/{deliver-B_Q_nWJV.js → deliver-D0bWiRCg.js} +1 -1
  49. package/dist/{deliver-B0OUq6RP.js → deliver-qUx-eLKt.js} +1 -1
  50. package/dist/{devices-cli-DeoPyzAd.js → devices-cli-BXc6DPkC.js} +2 -2
  51. package/dist/{devices-cli-3ui-Wcaj.js → devices-cli-CHt4I-7e.js} +2 -2
  52. package/dist/{doctor-completion-Cu7DwgVw.js → doctor-completion-Bf6dN4D-.js} +1 -1
  53. package/dist/{doctor-completion-CQXl3jf4.js → doctor-completion-BkwgaO4G.js} +1 -1
  54. package/dist/entry.js +1 -1
  55. package/dist/{exec-approvals-cli-Bx9loYnQ.js → exec-approvals-cli-BBKVrFTj.js} +4 -4
  56. package/dist/{exec-approvals-cli-CTEn_Eu_.js → exec-approvals-cli-CKRDAo17.js} +4 -4
  57. package/dist/extensionAPI.js +7 -7
  58. package/dist/{gateway-cli-B2XchN3Y.js → gateway-cli-7CVmb3cX.js} +17 -16
  59. package/dist/{gateway-cli-P0olUhID.js → gateway-cli-eNV6kb1V.js} +17 -16
  60. package/dist/{gateway-rpc-DbSbyIcL.js → gateway-rpc-BEfosIsg.js} +1 -1
  61. package/dist/{gateway-rpc-QsFn5Zr1.js → gateway-rpc-DZrB7Sl_.js} +1 -1
  62. package/dist/{glass-ui-ws-Cs2jfN42.js → glass-ui-ws-B4fsBuHx.js} +13 -13
  63. package/dist/{glass-ui-ws-tIVOcdB2.js → glass-ui-ws-i91Ms6ts.js} +13 -13
  64. package/dist/{health-DMy1nA4K.js → health-C4tWTDu_.js} +2 -2
  65. package/dist/{health-Cs8wf7Hb.js → health-dA8r4WJ4.js} +2 -2
  66. package/dist/{hooks-cli-DIH-zxCG.js → hooks-cli-DYn9nXX0.js} +7 -7
  67. package/dist/{hooks-cli-D6awUCDl.js → hooks-cli-uGLWBIcW.js} +7 -7
  68. package/dist/{image-BuVL0jHI.js → image-C6rCON9L.js} +1 -1
  69. package/dist/{image-tzIqIuKx.js → image-MNvheU8U.js} +1 -1
  70. package/dist/index.js +11 -11
  71. package/dist/llm-slug-generator.js +7 -7
  72. package/dist/{logs-cli-R4WwQvR2.js → logs-cli-CsHpYc2M.js} +3 -3
  73. package/dist/{logs-cli-1hn28HCu.js → logs-cli-N5jQvJTm.js} +3 -3
  74. package/dist/{manager-D0_H4LHh.js → manager-BaSutzfz.js} +2 -2
  75. package/dist/{manager-B60Ncruq.js → manager-CgQo1mIM.js} +2 -2
  76. package/dist/{manager-B76ofKkW.js → manager-D6E6EGWa.js} +2 -2
  77. package/dist/{manager-wF-n_prX.js → manager-DhGfNqfc.js} +2 -2
  78. package/dist/{memory-cli-DRLrIa8h.js → memory-cli-BMb31chU.js} +3 -3
  79. package/dist/{memory-cli-eSWCbEiS.js → memory-cli-lJe72a5i.js} +3 -3
  80. package/dist/{models-B5H41UsH.js → models-BITN17gY.js} +3 -3
  81. package/dist/{models-cli-CVfq_g6h.js → models-cli-C6JJWWoI.js} +7 -7
  82. package/dist/{models-cli-CHFi2_kC.js → models-cli-CHjxevMe.js} +8 -8
  83. package/dist/{node-cli-BBN6PoOG.js → node-cli-BD4E-Y8a.js} +1 -1
  84. package/dist/{node-cli-BsAzTrAx.js → node-cli-CwnTjFkG.js} +1 -1
  85. package/dist/{nodes-cli-t3azniiS.js → nodes-cli-DUD8_q_Q.js} +3 -3
  86. package/dist/{nodes-cli-DE60dv81.js → nodes-cli-Dv0NXhCO.js} +3 -3
  87. package/dist/{onboard-DKK6UJjF.js → onboard-C8Si08MS.js} +3 -3
  88. package/dist/{onboard-DgPzeL3U.js → onboard-DdJV-Doq.js} +3 -3
  89. package/dist/{onboard-channels-BTuYOQO-.js → onboard-channels-Cb-bemSg.js} +1 -1
  90. package/dist/{onboard-channels-DvNwlvWZ.js → onboard-channels-PQP9wlk8.js} +1 -1
  91. package/dist/{onboard-helpers-B7jBYbCU.js → onboard-helpers-CBxazphs.js} +1 -1
  92. package/dist/{onboard-helpers-DjlGq6iG.js → onboard-helpers-DWDNKmkJ.js} +1 -1
  93. package/dist/{onboard-remote-D7wGqONm.js → onboard-remote-DoIKLWXA.js} +1 -1
  94. package/dist/{onboard-remote-CXuHbtrT.js → onboard-remote-cZrkePlK.js} +1 -1
  95. package/dist/{onboard-skills-ChQnpMi-.js → onboard-skills-BjGYTueQ.js} +1 -1
  96. package/dist/{onboard-skills-BDhqz3te.js → onboard-skills-zauvnEui.js} +1 -1
  97. package/dist/{onboarding-CeqXuQPm.js → onboarding-CAaoPaVQ.js} +7 -7
  98. package/dist/{onboarding-CCHq8fd9.js → onboarding-QAtuyHtA.js} +7 -7
  99. package/dist/{onboarding.finalize-Cw4TWelq.js → onboarding.finalize-BhlQmJlX.js} +12 -12
  100. package/dist/{onboarding.finalize-DxWVkNx9.js → onboarding.finalize-MuO2mvHv.js} +11 -11
  101. package/dist/{onboarding.gateway-config-Cm5jIfRz.js → onboarding.gateway-config-Dg12RcXA.js} +3 -3
  102. package/dist/{onboarding.gateway-config-wAyLcGRu.js → onboarding.gateway-config-uIRsaxMy.js} +3 -3
  103. package/dist/{pi-embedded-CGwqumSe.js → pi-embedded-BUYKq7Wv.js} +55 -19
  104. package/dist/{pi-embedded-helpers-D1_Sab0M.js → pi-embedded-helpers-P13adotN.js} +4 -4
  105. package/dist/{pi-embedded-helpers-DjSdA5BG.js → pi-embedded-helpers-TcYQOZAY.js} +4 -4
  106. package/dist/{plugin-registry-kiYkB_km.js → plugin-registry-DEhkDNDx.js} +1 -1
  107. package/dist/{plugin-registry-CJKHlm9W.js → plugin-registry-tXiHw0vr.js} +1 -1
  108. package/dist/plugin-sdk/{channel-web-C9SUmtjL.js → channel-web-C7aP_KKZ.js} +1 -1
  109. package/dist/plugin-sdk/gateway/protocol/index.d.ts +9 -3
  110. package/dist/plugin-sdk/gateway/protocol/schema/sessions.d.ts +39 -0
  111. package/dist/plugin-sdk/gateway/protocol/schema/types.d.ts +3 -1
  112. package/dist/plugin-sdk/index.js +3 -3
  113. package/dist/plugin-sdk/{manager-DUmxOoHb.js → manager-CvrDwB1Q.js} +2 -2
  114. package/dist/plugin-sdk/{reply-DwJ-3Et9.js → reply-BI7Rf3_S.js} +41 -5
  115. package/dist/plugin-sdk/{synthesis-BzYtaV97.js → synthesis-B3z0Jqt1.js} +2 -2
  116. package/dist/plugin-sdk/{web-BQzPfsd0.js → web-D2WrY-DI.js} +3 -3
  117. package/dist/{plugins-cli-DTI2yj-y.js → plugins-cli-ByG6o7D2.js} +7 -7
  118. package/dist/{plugins-cli-tV4C5XJc.js → plugins-cli-D1vPxTOQ.js} +7 -7
  119. package/dist/{program-8Zg4CY5d.js → program-Q44fKoq6.js} +12 -12
  120. package/dist/{program-context-BcKgBBit.js → program-context-C3QEc34t.js} +30 -30
  121. package/dist/{prompt-select-styled-DigPcXuk.js → prompt-select-styled-BSZrZcW2.js} +8 -8
  122. package/dist/{prompt-select-styled-CfKZlGfF.js → prompt-select-styled-DBVeLysq.js} +8 -8
  123. package/dist/{provider-auth-helpers-BH3oyYln.js → provider-auth-helpers-Bm4cf-Ms.js} +1 -1
  124. package/dist/{provider-auth-helpers-Db02DMW2.js → provider-auth-helpers-rH91VXG-.js} +1 -1
  125. package/dist/{push-apns-f_6DGP6z.js → push-apns-CRD9IH1s.js} +1 -1
  126. package/dist/{push-apns-7rC1ybp8.js → push-apns-Cj10sUbK.js} +1 -1
  127. package/dist/{pw-ai-CQtaPvM8.js → pw-ai-40Jf9QIb.js} +1 -1
  128. package/dist/{pw-ai-DWkC5eGA.js → pw-ai-CeWN4iD9.js} +1 -1
  129. package/dist/{register.agent-DETyFsMT.js → register.agent-DGDnsvVd.js} +10 -10
  130. package/dist/{register.agent-CocfT8Pk.js → register.agent-Dfu85lRL.js} +11 -11
  131. package/dist/{register.configure-BAiFzdYa.js → register.configure-BcdyiQui.js} +13 -13
  132. package/dist/{register.configure-VcTwHq1a.js → register.configure-FCTbPCwe.js} +13 -13
  133. package/dist/{register.maintenance-BajFgQEm.js → register.maintenance-DvDwpW6B.js} +12 -12
  134. package/dist/{register.maintenance-Bpr3QjJ1.js → register.maintenance-Y8P9AnLe.js} +13 -13
  135. package/dist/{register.message-96EL0HQW.js → register.message-C57ubt4f.js} +7 -7
  136. package/dist/{register.message-CXabSYfO.js → register.message-mTqwOntI.js} +7 -7
  137. package/dist/{register.onboard-mHEZSai5.js → register.onboard-MIChlygg.js} +9 -9
  138. package/dist/{register.onboard-2KClPynN.js → register.onboard-YCmMzAW-.js} +9 -9
  139. package/dist/{register.setup-Di6tWG-W.js → register.setup-DzUZ2x6y.js} +9 -9
  140. package/dist/{register.setup-B-piY6Vs.js → register.setup-sQeN5xag.js} +9 -9
  141. package/dist/{register.status-health-sessions-ZX2odxGg.js → register.status-health-sessions-DaPK2tow.js} +9 -9
  142. package/dist/{register.status-health-sessions-BhIYRApE.js → register.status-health-sessions-DsptpS7K.js} +9 -9
  143. package/dist/{register.subclis-CQtXpheE.js → register.subclis-17z5d7uO.js} +20 -20
  144. package/dist/{reply-D455A6SA.js → reply-2awhibgG.js} +7 -7
  145. package/dist/{rpc-St4eAsjR.js → rpc-BKlQ97aZ.js} +1 -1
  146. package/dist/{rpc-C3ZUAjXK.js → rpc-DC4ol5Xa.js} +1 -1
  147. package/dist/{run-main-CnqZnevI.js → run-main-CfVO6DFS.js} +20 -20
  148. package/dist/{runner-ecX1WzDt.js → runner-D633VT13.js} +1 -1
  149. package/dist/{runner-Dpjulwnm.js → runner-DFuAePEr.js} +1 -1
  150. package/dist/{security-cli-BSvxNP9m.js → security-cli-BfiJ3e0Y.js} +3 -3
  151. package/dist/{security-cli-B8gavsuQ.js → security-cli-CIB7kqEk.js} +3 -3
  152. package/dist/{server-methods-CYPSYbhs.js → server-methods-Bdgs89ve.js} +75 -14
  153. package/dist/{server-methods-DYjr-KwQ.js → server-methods-D_g3GJhv.js} +75 -14
  154. package/dist/{server-node-events-DqJIrx86.js → server-node-events-BZN3RZ8H.js} +7 -7
  155. package/dist/{server-node-events-C58gVs27.js → server-node-events-Cvgmf8fS.js} +7 -7
  156. package/dist/{status-Qt6QDFJ1.js → status-Ca_VZkZV.js} +6 -6
  157. package/dist/{status-B_zW9YJ8.js → status-CwqBkxi2.js} +1 -1
  158. package/dist/{status-sO6Y-c-v.js → status-DcxWlds6.js} +1 -1
  159. package/dist/{status-DjjA-TOx.js → status-Dkr4Celv.js} +6 -6
  160. package/dist/{subagent-registry-B1HJJs3Q.js → subagent-registry-CncIZPCd.js} +7 -7
  161. package/dist/{synthesis-DAUJa_9I.js → synthesis-CTC73eY9.js} +6 -6
  162. package/dist/{synthesis-BCSo0xoc.js → synthesis-CxvpkXBW.js} +6 -6
  163. package/dist/{synthesis-DzSo6S9Y.js → synthesis-DOmJ2Gay.js} +7 -7
  164. package/dist/{synthesis-Ch82MDG8.js → synthesis-lD0Vb_9q.js} +7 -7
  165. package/dist/{system-cli-BN9MXNk7.js → system-cli-BERSpUjO.js} +3 -3
  166. package/dist/{system-cli-CD5latLh.js → system-cli-C61hzNPk.js} +3 -3
  167. package/dist/{tui-DLkE0D7e.js → tui-CI_zqapL.js} +2 -2
  168. package/dist/{tui-Cu4TZK3I.js → tui-Dg_cvgVP.js} +2 -2
  169. package/dist/{tui-cli-DC9Bq-N_.js → tui-cli-BD1cbShC.js} +3 -3
  170. package/dist/{tui-cli-BfuEq3Q-.js → tui-cli-DtBW_VCL.js} +3 -3
  171. package/dist/{unified-runner-CpyVnelK.js → unified-runner-JQaSdhSg.js} +55 -19
  172. package/dist/{update-cli-CgDLDu8d.js → update-cli-BO1uw-SU.js} +14 -14
  173. package/dist/{update-cli-BLQsvLIy.js → update-cli-CplnPSZ5.js} +13 -13
  174. package/dist/{update-runner-B1vMjo7o.js → update-runner-DFp9PDMN.js} +1 -1
  175. package/dist/{update-runner-DUHTdrZ0.js → update-runner-Df4mjndq.js} +1 -1
  176. package/dist/{web-DpAeT8By.js → web-BEDc6iEz.js} +7 -7
  177. package/dist/{web-Dbg9lDZ4.js → web-CCEVjDcU.js} +6 -6
  178. package/dist/{web-PhjuzK8Y.js → web-CZoQ03ZE.js} +7 -7
  179. package/dist/{web-Dhh_eI3q.js → web-Dn33Cd3-.js} +7 -7
  180. package/extensions/bluebubbles/package.json +1 -1
  181. package/extensions/copilot-proxy/package.json +1 -1
  182. package/extensions/diagnostics-otel/package.json +1 -1
  183. package/extensions/discord/package.json +1 -1
  184. package/extensions/feishu/package.json +1 -1
  185. package/extensions/google-antigravity-auth/package.json +1 -1
  186. package/extensions/google-gemini-cli-auth/package.json +1 -1
  187. package/extensions/googlechat/package.json +1 -1
  188. package/extensions/imessage/package.json +1 -1
  189. package/extensions/irc/package.json +1 -1
  190. package/extensions/learning-loop/package.json +1 -1
  191. package/extensions/line/package.json +1 -1
  192. package/extensions/llm-task/package.json +1 -1
  193. package/extensions/matrix/CHANGELOG.md +12 -0
  194. package/extensions/matrix/package.json +1 -1
  195. package/extensions/mattermost/package.json +1 -1
  196. package/extensions/memory-core/package.json +1 -1
  197. package/extensions/memory-lancedb/package.json +1 -1
  198. package/extensions/minimax-portal-auth/package.json +1 -1
  199. package/extensions/msteams/CHANGELOG.md +12 -0
  200. package/extensions/msteams/package.json +1 -1
  201. package/extensions/nextcloud-talk/package.json +1 -1
  202. package/extensions/nostr/CHANGELOG.md +12 -0
  203. package/extensions/nostr/package.json +1 -1
  204. package/extensions/open-prose/package.json +1 -1
  205. package/extensions/outlook/package.json +1 -1
  206. package/extensions/pipeline/package.json +1 -1
  207. package/extensions/signal/package.json +1 -1
  208. package/extensions/slack/package.json +1 -1
  209. package/extensions/telegram/package.json +1 -1
  210. package/extensions/tlon/package.json +1 -1
  211. package/extensions/twitch/CHANGELOG.md +12 -0
  212. package/extensions/twitch/package.json +1 -1
  213. package/extensions/voice-call/CHANGELOG.md +12 -0
  214. package/extensions/voice-call/package.json +1 -1
  215. package/extensions/whatsapp/package.json +1 -1
  216. package/extensions/zalo/CHANGELOG.md +12 -0
  217. package/extensions/zalo/package.json +1 -1
  218. package/extensions/zalouser/CHANGELOG.md +12 -0
  219. package/extensions/zalouser/package.json +1 -1
  220. package/package.json +1 -1
@@ -34,7 +34,7 @@ async function requireRiskAcknowledgement(params) {
34
34
  })) throw new WizardCancelledError("risk not accepted");
35
35
  }
36
36
  async function runOnboardingWizard(opts, runtime = defaultRuntime, prompter) {
37
- const onboardHelpers = await import("./onboard-helpers-DjlGq6iG.js").then((n) => n.d);
37
+ const onboardHelpers = await import("./onboard-helpers-DWDNKmkJ.js").then((n) => n.d);
38
38
  onboardHelpers.printWizardHeader(runtime);
39
39
  await prompter.intro("Symi onboarding");
40
40
  await requireRiskAcknowledgement({
@@ -202,7 +202,7 @@ async function runOnboardingWizard(opts, runtime = defaultRuntime, prompter) {
202
202
  }]
203
203
  }));
204
204
  if (mode === "remote") {
205
- const { promptRemoteGatewayConfig } = await import("./onboard-remote-CXuHbtrT.js").then((n) => n.t);
205
+ const { promptRemoteGatewayConfig } = await import("./onboard-remote-cZrkePlK.js").then((n) => n.t);
206
206
  const { logConfigUpdated } = await import("./logging-PVQxLC6I.js").then((n) => n.r);
207
207
  let nextConfig = await promptRemoteGatewayConfig(baseConfig, prompter);
208
208
  nextConfig = onboardHelpers.applyWizardMetadata(nextConfig, {
@@ -223,7 +223,7 @@ async function runOnboardingWizard(opts, runtime = defaultRuntime, prompter) {
223
223
  const { ensureAuthProfileStore } = await import("./auth-profiles-BBniPGeS.js").then((n) => n.t);
224
224
  const { promptAuthChoiceGrouped } = await import("./auth-choice-prompt-DF6R_pgV.js").then((n) => n.t);
225
225
  const { promptCustomApiConfig } = await import("./onboard-custom-CJGSIPt3.js").then((n) => n.r);
226
- const { applyAuthChoice, resolvePreferredProviderForAuthChoice, warnIfModelConfigLooksOff } = await import("./auth-choice-DEKKbufH.js").then((n) => n.t);
226
+ const { applyAuthChoice, resolvePreferredProviderForAuthChoice, warnIfModelConfigLooksOff } = await import("./auth-choice-DeNzlUAR.js").then((n) => n.t);
227
227
  const { applyPrimaryModel, promptDefaultModel } = await import("./model-picker-n7beL1F5.js").then((n) => n.i);
228
228
  const authStore = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false });
229
229
  const authChoiceFromPrompt = opts.authChoice === void 0;
@@ -261,7 +261,7 @@ async function runOnboardingWizard(opts, runtime = defaultRuntime, prompter) {
261
261
  if (modelSelection.model) nextConfig = applyPrimaryModel(nextConfig, modelSelection.model);
262
262
  }
263
263
  await warnIfModelConfigLooksOff(nextConfig, prompter);
264
- const { configureGatewayForOnboarding } = await import("./onboarding.gateway-config-Cm5jIfRz.js");
264
+ const { configureGatewayForOnboarding } = await import("./onboarding.gateway-config-Dg12RcXA.js");
265
265
  const gateway = await configureGatewayForOnboarding({
266
266
  flow,
267
267
  baseConfig,
@@ -276,7 +276,7 @@ async function runOnboardingWizard(opts, runtime = defaultRuntime, prompter) {
276
276
  if (opts.skipChannels ?? opts.skipProviders) await prompter.note("Skipping channel setup.", "Channels");
277
277
  else {
278
278
  const { listChannelPlugins } = await import("./plugins-CwSlLxM8.js").then((n) => n.i);
279
- const { setupChannels } = await import("./onboard-channels-BTuYOQO-.js").then((n) => n.n);
279
+ const { setupChannels } = await import("./onboard-channels-Cb-bemSg.js").then((n) => n.n);
280
280
  const quickstartAllowFromChannels = flow === "quickstart" ? listChannelPlugins().filter((plugin) => plugin.meta.quickstartAllowFrom).map((plugin) => plugin.id) : [];
281
281
  nextConfig = await setupChannels(nextConfig, runtime, prompter, {
282
282
  allowSignalInstall: true,
@@ -292,7 +292,7 @@ async function runOnboardingWizard(opts, runtime = defaultRuntime, prompter) {
292
292
  await onboardHelpers.ensureWorkspaceAndSessions(workspaceDir, runtime, { skipBootstrap: Boolean(nextConfig.agents?.defaults?.skipBootstrap) });
293
293
  if (opts.skipSkills) await prompter.note("Skipping skills setup.", "Skills");
294
294
  else {
295
- const { setupSkills } = await import("./onboard-skills-BDhqz3te.js").then((n) => n.t);
295
+ const { setupSkills } = await import("./onboard-skills-zauvnEui.js").then((n) => n.t);
296
296
  nextConfig = await setupSkills(nextConfig, workspaceDir, runtime, prompter);
297
297
  }
298
298
  const { setupInternalHooks } = await import("./onboard-hooks-CITwJu39.js");
@@ -302,7 +302,7 @@ async function runOnboardingWizard(opts, runtime = defaultRuntime, prompter) {
302
302
  mode
303
303
  });
304
304
  await writeConfigFile(nextConfig);
305
- const { finalizeOnboardingWizard } = await import("./onboarding.finalize-Cw4TWelq.js");
305
+ const { finalizeOnboardingWizard } = await import("./onboarding.finalize-BhlQmJlX.js");
306
306
  const { launchedTui } = await finalizeOnboardingWizard({
307
307
  flow,
308
308
  opts,
@@ -36,7 +36,7 @@ async function requireRiskAcknowledgement(params) {
36
36
  })) throw new WizardCancelledError("risk not accepted");
37
37
  }
38
38
  async function runOnboardingWizard(opts, runtime = defaultRuntime, prompter) {
39
- const onboardHelpers = await import("./onboard-helpers-B7jBYbCU.js").then((n) => n.d);
39
+ const onboardHelpers = await import("./onboard-helpers-CBxazphs.js").then((n) => n.d);
40
40
  onboardHelpers.printWizardHeader(runtime);
41
41
  await prompter.intro("Symi onboarding");
42
42
  await requireRiskAcknowledgement({
@@ -204,7 +204,7 @@ async function runOnboardingWizard(opts, runtime = defaultRuntime, prompter) {
204
204
  }]
205
205
  }));
206
206
  if (mode === "remote") {
207
- const { promptRemoteGatewayConfig } = await import("./onboard-remote-D7wGqONm.js").then((n) => n.t);
207
+ const { promptRemoteGatewayConfig } = await import("./onboard-remote-DoIKLWXA.js").then((n) => n.t);
208
208
  const { logConfigUpdated } = await import("./logging-CZuxhCZR.js").then((n) => n.r);
209
209
  let nextConfig = await promptRemoteGatewayConfig(baseConfig, prompter);
210
210
  nextConfig = onboardHelpers.applyWizardMetadata(nextConfig, {
@@ -225,7 +225,7 @@ async function runOnboardingWizard(opts, runtime = defaultRuntime, prompter) {
225
225
  const { ensureAuthProfileStore } = await import("./model-selection-C-eIBa0H.js").then((n) => n.dt);
226
226
  const { promptAuthChoiceGrouped } = await import("./auth-choice-prompt-PeQmwVpp.js").then((n) => n.t);
227
227
  const { promptCustomApiConfig } = await import("./onboard-custom-Dk9cL3Uu.js").then((n) => n.r);
228
- const { applyAuthChoice, resolvePreferredProviderForAuthChoice, warnIfModelConfigLooksOff } = await import("./auth-choice-Pzy-t2mh.js").then((n) => n.t);
228
+ const { applyAuthChoice, resolvePreferredProviderForAuthChoice, warnIfModelConfigLooksOff } = await import("./auth-choice-CPqyqc93.js").then((n) => n.t);
229
229
  const { applyPrimaryModel, promptDefaultModel } = await import("./model-picker-BNWV-jU4.js").then((n) => n.i);
230
230
  const authStore = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false });
231
231
  const authChoiceFromPrompt = opts.authChoice === void 0;
@@ -263,7 +263,7 @@ async function runOnboardingWizard(opts, runtime = defaultRuntime, prompter) {
263
263
  if (modelSelection.model) nextConfig = applyPrimaryModel(nextConfig, modelSelection.model);
264
264
  }
265
265
  await warnIfModelConfigLooksOff(nextConfig, prompter);
266
- const { configureGatewayForOnboarding } = await import("./onboarding.gateway-config-wAyLcGRu.js");
266
+ const { configureGatewayForOnboarding } = await import("./onboarding.gateway-config-uIRsaxMy.js");
267
267
  const gateway = await configureGatewayForOnboarding({
268
268
  flow,
269
269
  baseConfig,
@@ -278,7 +278,7 @@ async function runOnboardingWizard(opts, runtime = defaultRuntime, prompter) {
278
278
  if (opts.skipChannels ?? opts.skipProviders) await prompter.note("Skipping channel setup.", "Channels");
279
279
  else {
280
280
  const { listChannelPlugins } = await import("./plugins-DKDeQZF0.js").then((n) => n.i);
281
- const { setupChannels } = await import("./onboard-channels-DvNwlvWZ.js").then((n) => n.n);
281
+ const { setupChannels } = await import("./onboard-channels-PQP9wlk8.js").then((n) => n.n);
282
282
  const quickstartAllowFromChannels = flow === "quickstart" ? listChannelPlugins().filter((plugin) => plugin.meta.quickstartAllowFrom).map((plugin) => plugin.id) : [];
283
283
  nextConfig = await setupChannels(nextConfig, runtime, prompter, {
284
284
  allowSignalInstall: true,
@@ -294,7 +294,7 @@ async function runOnboardingWizard(opts, runtime = defaultRuntime, prompter) {
294
294
  await onboardHelpers.ensureWorkspaceAndSessions(workspaceDir, runtime, { skipBootstrap: Boolean(nextConfig.agents?.defaults?.skipBootstrap) });
295
295
  if (opts.skipSkills) await prompter.note("Skipping skills setup.", "Skills");
296
296
  else {
297
- const { setupSkills } = await import("./onboard-skills-ChQnpMi-.js").then((n) => n.t);
297
+ const { setupSkills } = await import("./onboard-skills-BjGYTueQ.js").then((n) => n.t);
298
298
  nextConfig = await setupSkills(nextConfig, workspaceDir, runtime, prompter);
299
299
  }
300
300
  const { setupInternalHooks } = await import("./onboard-hooks-P3ryD_ay.js");
@@ -304,7 +304,7 @@ async function runOnboardingWizard(opts, runtime = defaultRuntime, prompter) {
304
304
  mode
305
305
  });
306
306
  await writeConfigFile(nextConfig);
307
- const { finalizeOnboardingWizard } = await import("./onboarding.finalize-DxWVkNx9.js");
307
+ const { finalizeOnboardingWizard } = await import("./onboarding.finalize-MuO2mvHv.js");
308
308
  const { launchedTui } = await finalizeOnboardingWizard({
309
309
  flow,
310
310
  opts,
@@ -11,11 +11,11 @@ import "./frontmatter-B8duUx_6.js";
11
11
  import "./skills-D_oCiaQn.js";
12
12
  import "./manifest-registry-D5bnO5uA.js";
13
13
  import "./config-DXt3pc08.js";
14
- import "./client-Cmq13-uF.js";
15
- import "./call-CAGvQYXj.js";
14
+ import "./client-CJIMV1WD.js";
15
+ import "./call-M4YyUnwu.js";
16
16
  import "./message-channel-C9dERklz.js";
17
17
  import "./pairing-token-Byh6drgn.js";
18
- import "./subagent-registry-B1HJJs3Q.js";
18
+ import "./subagent-registry-CncIZPCd.js";
19
19
  import "./sessions-BPD85pWA.js";
20
20
  import "./tokens-Csntmwwn.js";
21
21
  import "./plugins-CwSlLxM8.js";
@@ -53,8 +53,8 @@ import "./tool-images-CVLISeRT.js";
53
53
  import "./thinking-8sKPnzpp.js";
54
54
  import "./models-config-J1x_DaPn.js";
55
55
  import "./reply-prefix-BUN71nd5.js";
56
- import "./memory-cli-eSWCbEiS.js";
57
- import "./manager-B60Ncruq.js";
56
+ import "./memory-cli-lJe72a5i.js";
57
+ import "./manager-CgQo1mIM.js";
58
58
  import "./gemini-auth-DEakvf-D.js";
59
59
  import "./retry-C4Q_VPOo.js";
60
60
  import "./sqlite-BP8tiuca.js";
@@ -95,24 +95,24 @@ import "./cli-utils-CI_KkT8q.js";
95
95
  import "./help-format-nY42tGMB.js";
96
96
  import "./progress-HK2tT7Yf.js";
97
97
  import "./replies-Sxbew659.js";
98
- import { b as waitForGatewayReachable, f as openUrl, g as resolveControlUiLinks, i as detectBrowserOpenSupport, m as probeGatewayReachable, o as formatControlUiSshHint } from "./onboard-helpers-DjlGq6iG.js";
98
+ import { b as waitForGatewayReachable, f as openUrl, g as resolveControlUiLinks, i as detectBrowserOpenSupport, m as probeGatewayReachable, o as formatControlUiSshHint } from "./onboard-helpers-DWDNKmkJ.js";
99
99
  import "./prompt-style-BxVdnrLq.js";
100
100
  import "./pairing-labels-BHx_CdbP.js";
101
101
  import "./pi-tools.policy-o0ytjRqu.js";
102
102
  import "./note-DewoEWtc.js";
103
- import "./register.subclis-CQtXpheE.js";
104
- import "./command-registry-B8LVEWW9.js";
103
+ import "./register.subclis-17z5d7uO.js";
104
+ import "./command-registry-uMOPbrbY.js";
105
105
  import "./program-context-DeZ44oQ9.js";
106
- import { r as installCompletion } from "./completion-cli-DZeK6_ev.js";
106
+ import { r as installCompletion } from "./completion-cli-B6s_3rEE.js";
107
107
  import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-D_elkkFW.js";
108
108
  import "./runtime-guard-BofkqBu7.js";
109
109
  import { r as isSystemdUserServiceAvailable } from "./systemd-CJ5L2ee4.js";
110
110
  import { t as resolveGatewayService } from "./service-RxN7lQKN.js";
111
- import { r as healthCommand } from "./health-DMy1nA4K.js";
111
+ import { r as healthCommand } from "./health-C4tWTDu_.js";
112
112
  import { t as ensureControlUiAssetsBuilt } from "./control-ui-assets-Clf7H-Sm.js";
113
113
  import { t as formatHealthCheckFailure } from "./health-format-DkjSgkDx.js";
114
- import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-Cu7DwgVw.js";
115
- import { t as runTui } from "./tui-DLkE0D7e.js";
114
+ import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-Bf6dN4D-.js";
115
+ import { t as runTui } from "./tui-CI_zqapL.js";
116
116
  import os from "node:os";
117
117
  import path from "node:path";
118
118
  import fs from "node:fs/promises";
@@ -1,7 +1,7 @@
1
1
  import "./paths-Cqn-zk3M.js";
2
2
  import { h as pathExists, y as resolveUserPath } from "./utils-B-0b9bGM.js";
3
3
  import "./thinking-EAliFiVK.js";
4
- import "./reply-D455A6SA.js";
4
+ import "./reply-2awhibgG.js";
5
5
  import "./registry-Cja8eT7G.js";
6
6
  import { p as restoreTerminalState } from "./subsystem-D9vIQve0.js";
7
7
  import "./exec-CWkblSrI.js";
@@ -61,8 +61,8 @@ import "./diagnostic-session-state-CUslJyKP.js";
61
61
  import "./send-DpMnSIi5.js";
62
62
  import "./model-ECsJuJew.js";
63
63
  import "./reply-prefix-CE2YmmsD.js";
64
- import "./memory-cli-DRLrIa8h.js";
65
- import "./manager-wF-n_prX.js";
64
+ import "./memory-cli-BMb31chU.js";
65
+ import "./manager-DhGfNqfc.js";
66
66
  import "./retry-BoS4e4X_.js";
67
67
  import "./sqlite-D55gRQbH.js";
68
68
  import "./target-errors-C9e6dMU_.js";
@@ -72,8 +72,8 @@ import "./ir-jTXFdH5R.js";
72
72
  import "./render-Bwu_WxwA.js";
73
73
  import "./commands-vWB85AXk.js";
74
74
  import "./commands-registry-D_uByLpw.js";
75
- import "./client-CYsBIR3j.js";
76
- import "./call-BkJK3eYP.js";
75
+ import "./client-pd8kwOFJ.js";
76
+ import "./call-DYfKEdwh.js";
77
77
  import "./pairing-token-pooyuU2J.js";
78
78
  import "./channel-activity-CoTZV03i.js";
79
79
  import "./fetch-BECUf3wn.js";
@@ -94,7 +94,7 @@ import "./session-cost-usage-RPrhIvZF.js";
94
94
  import "./outbound-attachment-FbHNOB0s.js";
95
95
  import "./delivery-queue-D9i0qjI_.js";
96
96
  import "./send-SF7x1UHb.js";
97
- import { b as waitForGatewayReachable, f as openUrl, g as resolveControlUiLinks, i as detectBrowserOpenSupport, m as probeGatewayReachable, o as formatControlUiSshHint } from "./onboard-helpers-B7jBYbCU.js";
97
+ import { b as waitForGatewayReachable, f as openUrl, g as resolveControlUiLinks, i as detectBrowserOpenSupport, m as probeGatewayReachable, o as formatControlUiSshHint } from "./onboard-helpers-CBxazphs.js";
98
98
  import "./prompt-style-Y2J72w6p.js";
99
99
  import "./pairing-labels-CTL1gXZb.js";
100
100
  import "./exec-approvals-DEigTi7M.js";
@@ -104,17 +104,17 @@ import "./control-service-C0pRqIFv.js";
104
104
  import "./stagger-CZ1Rrj7O.js";
105
105
  import "./channel-selection-9fIQGtZy.js";
106
106
  import "./runtime-guard-BKFbNplo.js";
107
- import "./program-context-BcKgBBit.js";
107
+ import "./program-context-C3QEc34t.js";
108
108
  import "./note-ByDX0v9V.js";
109
- import { r as installCompletion } from "./completion-cli-D-_MV8eA.js";
109
+ import { r as installCompletion } from "./completion-cli-DVD79pVj.js";
110
110
  import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-Cp7obV7Q.js";
111
111
  import { r as isSystemdUserServiceAvailable } from "./systemd-Xs16roN5.js";
112
112
  import { t as resolveGatewayService } from "./service-DzLem5vL.js";
113
- import { r as healthCommand } from "./health-Cs8wf7Hb.js";
113
+ import { r as healthCommand } from "./health-dA8r4WJ4.js";
114
114
  import { t as ensureControlUiAssetsBuilt } from "./control-ui-assets-BrP31IQR.js";
115
115
  import { t as formatHealthCheckFailure } from "./health-format-Ct4VWeSk.js";
116
- import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-CQXl3jf4.js";
117
- import { t as runTui } from "./tui-Cu4TZK3I.js";
116
+ import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-BkwgaO4G.js";
117
+ import { t as runTui } from "./tui-Dg_cvgVP.js";
118
118
  import os from "node:os";
119
119
  import path from "node:path";
120
120
  import fs from "node:fs/promises";
@@ -4,8 +4,8 @@ import "./agent-scope-D-jRCY0d.js";
4
4
  import "./github-copilot-token-DuFIqfeC.js";
5
5
  import "./manifest-registry-D5bnO5uA.js";
6
6
  import "./config-DXt3pc08.js";
7
- import "./client-Cmq13-uF.js";
8
- import "./call-CAGvQYXj.js";
7
+ import "./client-CJIMV1WD.js";
8
+ import "./call-M4YyUnwu.js";
9
9
  import "./message-channel-C9dERklz.js";
10
10
  import "./pairing-token-Byh6drgn.js";
11
11
  import "./sessions-BPD85pWA.js";
@@ -18,7 +18,7 @@ import { a as findTailscaleBinary } from "./tailscale-CbbvYNVw.js";
18
18
  import "./dock-DKxQXuAg.js";
19
19
  import "./accounts-D51FXYdA.js";
20
20
  import "./paths-DNdWAq7b.js";
21
- import { h as randomToken, u as normalizeGatewayTokenInput, y as validateGatewayPasswordInput } from "./onboard-helpers-DjlGq6iG.js";
21
+ import { h as randomToken, u as normalizeGatewayTokenInput, y as validateGatewayPasswordInput } from "./onboard-helpers-DWDNKmkJ.js";
22
22
  import "./prompt-style-BxVdnrLq.js";
23
23
  import { i as TAILSCALE_MISSING_BIN_NOTE_LINES, n as TAILSCALE_DOCS_LINES, r as TAILSCALE_EXPOSURE_OPTIONS, t as validateIPv4AddressInput } from "./ipv4-DAd5TO2w.js";
24
24
 
@@ -21,10 +21,10 @@ import "./accounts-DyJN4_vR.js";
21
21
  import "./bindings-DFaVVCsf.js";
22
22
  import "./logging-w5jq5901.js";
23
23
  import "./paths-CyhzMxFA.js";
24
- import "./client-CYsBIR3j.js";
25
- import "./call-BkJK3eYP.js";
24
+ import "./client-pd8kwOFJ.js";
25
+ import "./call-DYfKEdwh.js";
26
26
  import "./pairing-token-pooyuU2J.js";
27
- import { h as randomToken, u as normalizeGatewayTokenInput, y as validateGatewayPasswordInput } from "./onboard-helpers-B7jBYbCU.js";
27
+ import { h as randomToken, u as normalizeGatewayTokenInput, y as validateGatewayPasswordInput } from "./onboard-helpers-CBxazphs.js";
28
28
  import "./prompt-style-Y2J72w6p.js";
29
29
  import { i as TAILSCALE_MISSING_BIN_NOTE_LINES, n as TAILSCALE_DOCS_LINES, r as TAILSCALE_EXPOSURE_OPTIONS, t as validateIPv4AddressInput } from "./ipv4-CnRMBm9H.js";
30
30
 
@@ -14,7 +14,7 @@ import { a as logoutWeb, i as logWebSelfId, l as readWebSelfId, p as webAuthExis
14
14
  import { t as normalizeChatType } from "./chat-type-DFDuk3FY.js";
15
15
  import { a as resolveSlackWebClientOptions, c as buildSlackBlocksFallbackText, i as createSlackWebClient, l as parseSlackTarget, o as parseSlackBlocksInput, s as validateSlackBlocksArray, t as sendMessageSlack, u as resolveSlackChannelId } from "./send-BaBv1rAU.js";
16
16
  import { $ as fetchChannelPermissionsDiscord, A as unpinMessageDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as resolveTimestampMs, D as pinMessageDiscord, Dt as normalizeChannelSlug, E as listThreadsDiscord, Et as buildChannelKeyCandidates, F as fetchMemberInfoDiscord, G as uploadStickerDiscord, H as timeoutMemberDiscord, I as fetchRoleInfoDiscord, J as editChannelDiscord, K as createChannelDiscord, L as fetchVoiceStatusDiscord, M as banMemberDiscord, N as createScheduledEventDiscord, O as readMessagesDiscord, Ot as resolveChannelEntryMatchWithFallback, P as fetchChannelInfoDiscord, Q as stripUndefinedFields, R as kickMemberDiscord, S as deleteMessageDiscord, St as resolveDiscordSystemLocation, T as listPinsDiscord, Tt as applyChannelMatchMeta, U as listGuildEmojisDiscord, V as removeRoleDiscord, W as uploadEmojiDiscord, X as removeChannelPermissionDiscord, Y as moveChannelDiscord, Z as setChannelPermissionDiscord, _ as sendPollDiscord, _t as resolveDiscordShouldRequireMention, a as removeReactionDiscord, at as resolveDiscordChannelId, b as sendWebhookMessageDiscord, bt as formatDiscordReactionEmoji, c as formatDiscordComponentEventText, ct as allowListMatches$1, d as parseDiscordModalCustomId, dt as normalizeDiscordSlug, et as hasAnyGuildPermissionDiscord, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordAllowListMatch, g as sendMessageDiscord, gt as resolveDiscordOwnerAllowFrom, h as resolveDiscordModalEntry, ht as resolveDiscordMemberAccessState, i as removeOwnReactionsDiscord, it as parseDiscordTarget, j as addRoleDiscord, k as searchMessagesDiscord, l as parseDiscordComponentCustomId, lt as isDiscordGroupAllowedByPolicy, m as resolveDiscordComponentEntry, mt as resolveDiscordGuildEntry, n as fetchReactionsDiscord, nt as createDiscordClient, o as sendDiscordComponentMessage, ot as listDiscordDirectoryGroupsLive, p as readDiscordComponentSpec, pt as resolveDiscordChannelConfigWithFallback, q as deleteChannelDiscord, r as reactMessageDiscord, rt as createDiscordRestClient, s as createDiscordFormModal, st as listDiscordDirectoryPeersLive, tt as chunkDiscordTextWithMode, u as parseDiscordComponentCustomIdForCarbon, ut as normalizeDiscordAllowList, v as sendStickerDiscord, vt as resolveGroupDmAllow, w as fetchMessageDiscord, wt as fetchDiscord, x as createThreadDiscord, xt as formatDiscordUserTag, y as sendVoiceMessageDiscord, yt as shouldEmitDiscordReactionNotification, z as listGuildChannelsDiscord } from "./send-DLVrnezL.js";
17
- import { C as getGlobalHookRunner, S as parseInlineDirectives$1, _ as normalizeTargetForProvider, a as normalizeOutboundPayloadsForJson, b as MEDIA_TOKEN_RE, c as applyReplyThreading, d as isRenderablePayload, f as shouldSuppressMessagingToolReplies, g as normalizeChannelTargetInput, h as buildTargetResolverSignature, i as normalizeOutboundPayloads, l as filterMessagingToolDuplicates, m as resolveReplyToMode, o as normalizeReplyPayloadsForDelivery, p as createReplyToModeFilterForChannel, r as formatOutboundPayloadLog, s as applyReplyTagsToPayload, t as deliverOutboundPayloads, u as filterMessagingToolMediaDuplicates, v as throwIfAborted, w as initializeGlobalHookRunner, x as splitMediaFromOutput, y as parseReplyDirectives } from "./deliver-B_Q_nWJV.js";
17
+ import { C as getGlobalHookRunner, S as parseInlineDirectives$1, _ as normalizeTargetForProvider, a as normalizeOutboundPayloadsForJson, b as MEDIA_TOKEN_RE, c as applyReplyThreading, d as isRenderablePayload, f as shouldSuppressMessagingToolReplies, g as normalizeChannelTargetInput, h as buildTargetResolverSignature, i as normalizeOutboundPayloads, l as filterMessagingToolDuplicates, m as resolveReplyToMode, o as normalizeReplyPayloadsForDelivery, p as createReplyToModeFilterForChannel, r as formatOutboundPayloadLog, s as applyReplyTagsToPayload, t as deliverOutboundPayloads, u as filterMessagingToolMediaDuplicates, v as throwIfAborted, w as initializeGlobalHookRunner, x as splitMediaFromOutput, y as parseReplyDirectives } from "./deliver-D0bWiRCg.js";
18
18
  import { a as logMessageProcessed, c as logWebhookError, d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, i as logLaneEnqueue, l as logWebhookProcessed, m as isDiagnosticsEnabled, o as logMessageQueued, p as emitDiagnosticEvent, r as logLaneDequeue, s as logSessionStateChange, t as diag, u as logWebhookReceived } from "./diagnostic-Kbl70eCP.js";
19
19
  import { r as getDiagnosticSessionState } from "./diagnostic-session-state-C1vRJs5w.js";
20
20
  import { n as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-8zZqL37v.js";
@@ -22,10 +22,10 @@ import { $ as isVoiceCompatibleAudio, A as extractTelegramLocation, B as normali
22
22
  import { d as detectMime, f as extensionForMime, g as isGifMedia, h as isAudioFileName, i as getImageMetadata, m as imageMimeFromFormat, s as resizeToJpeg, x as mediaKindFromMime, y as MAX_IMAGE_BYTES } from "./image-ops-ByaQt43P.js";
23
23
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-j5tVLINv.js";
24
24
  import { a as isMarkdownCapableMessageChannel, c as resolveGatewayMessageChannel, d as GATEWAY_CLIENT_MODES, f as GATEWAY_CLIENT_NAMES, i as isInternalMessageChannel, l as resolveMessageChannel, n as isDeliverableMessageChannel, o as listDeliverableMessageChannels, r as isGatewayMessageChannel, s as normalizeMessageChannel, t as INTERNAL_MESSAGE_CHANNEL, u as GATEWAY_CLIENT_IDS } from "./message-channel-BQINJQIT.js";
25
- import { $ as mergeDeliveryContext, A as isTransientHttpError, At as DEFAULT_UPLOAD_DIR, Bt as expandToolGroups, C as isContextOverflowError, Ct as resolveGroupSessionKey, D as isRateLimitAssistantError, Dt as registerBrowserRoutes, E as isLikelyContextOverflowError, Et as createBrowserRouteContext, F as resolveSandboxContext, Ft as resolveSandboxConfigForAgent, Gt as compileGlobPatterns, H as loadSessionStore, Ht as normalizeToolName, I as resolveSandboxRuntimeStatus, It as applyOwnerOnlyToolPolicy, J as updateSessionStoreEntry, Jt as ensureSessionHeader, K as updateLastRoute, Kt as matchesAnyGlobPattern, L as extractDeliveryInfo, Lt as buildPluginToolGroups, M as parseImageSizeError, Mt as getBridgeAuthForPort, N as sanitizeUserFacingText, Nt as ensureBrowserControlAuth, O as isRawApiErrorPayload, Ot as resolveBrowserConfig, P as ensureSandboxWorkspaceForSession, Pt as resolveBrowserControlAuth, Q as deliveryContextKey, R as parseSessionThreadInfo, Rt as collectExplicitAllowlist, S as isCompactionFailureError, St as deriveSessionMetaPatch, T as isFailoverErrorMessage, Tt as resolveSessionLockMaxHoldFromTimeout, U as readSessionUpdatedAt, Ut as resolveToolProfilePolicy, V as resolveAndPersistSessionFile, Vt as mergeAlsoAllowPolicy, W as recordSessionMetaFromInbound, Wt as stripPluginOnlyAllowlist, X as resolveCacheTtlMs$1, Xt as resolveBootstrapTotalMaxChars, Y as isCacheEnabled, Yt as resolveBootstrapMaxChars, Z as deliveryContextFromSession, Zt as sanitizeGoogleTurnOrdering, _ as formatRawAssistantErrorForUi, _t as DEFAULT_RESET_TRIGGERS, a as isMessagingToolDuplicateNormalized, at as countToolResults, b as isBillingAssistantError, bt as resolveExplicitAgentSessionKey, c as extractToolCallsFromAssistant, ct as applyInputProvenanceToUserMessage, d as isAntigravityClaude, dt as resolveSessionKey, et as normalizeDeliveryContext, f as isGoogleModelApi, ft as evaluateSessionFreshness, g as formatBillingErrorMessage, gt as resolveThreadFlag, h as formatAssistantErrorText, ht as resolveSessionResetType, it as capArrayByJsonBytes, j as parseImageDimensionError, jt as resolveExistingPathsWithinRoot, k as isTimeoutErrorMessage, kt as resolveProfile, l as extractToolResultId, lt as hasInterSessionUserProvenance, m as classifyFailoverReason, mt as resolveSessionResetPolicy, n as validateGeminiTurns, nt as normalizeAccountId$3, o as normalizeTextForComparison, ot as extractToolCallNames, p as BILLING_ERROR_USER_MESSAGE, pt as resolveChannelResetConfig, q as updateSessionStore, qt as buildBootstrapContextFiles, r as pickFallbackThinkingLevel, rt as archiveSessionTranscripts, s as sanitizeSessionMessagesImages, st as INPUT_PROVENANCE_KIND_VALUES, t as validateAnthropicTurns, tt as normalizeSessionDeliveryFields, u as downgradeOpenAIReasoningBlocks, ut as normalizeInputProvenance, v as getApiErrorPayloadFingerprint, vt as resolveFreshSessionTotalTokens, w as isFailoverAssistantError, wt as acquireSessionWriteLock, x as isCloudCodeAssistFormatError, xt as resolveMainSessionKey, y as isAuthAssistantError, yt as canonicalizeMainSessionAlias, z as appendAssistantMessageToSessionTranscript, zt as expandPolicyWithPluginGroups } from "./pi-embedded-helpers-DjSdA5BG.js";
25
+ import { $ as mergeDeliveryContext, A as isTransientHttpError, At as DEFAULT_UPLOAD_DIR, Bt as expandToolGroups, C as isContextOverflowError, Ct as resolveGroupSessionKey, D as isRateLimitAssistantError, Dt as registerBrowserRoutes, E as isLikelyContextOverflowError, Et as createBrowserRouteContext, F as resolveSandboxContext, Ft as resolveSandboxConfigForAgent, Gt as compileGlobPatterns, H as loadSessionStore, Ht as normalizeToolName, I as resolveSandboxRuntimeStatus, It as applyOwnerOnlyToolPolicy, J as updateSessionStoreEntry, Jt as ensureSessionHeader, K as updateLastRoute, Kt as matchesAnyGlobPattern, L as extractDeliveryInfo, Lt as buildPluginToolGroups, M as parseImageSizeError, Mt as getBridgeAuthForPort, N as sanitizeUserFacingText, Nt as ensureBrowserControlAuth, O as isRawApiErrorPayload, Ot as resolveBrowserConfig, P as ensureSandboxWorkspaceForSession, Pt as resolveBrowserControlAuth, Q as deliveryContextKey, R as parseSessionThreadInfo, Rt as collectExplicitAllowlist, S as isCompactionFailureError, St as deriveSessionMetaPatch, T as isFailoverErrorMessage, Tt as resolveSessionLockMaxHoldFromTimeout, U as readSessionUpdatedAt, Ut as resolveToolProfilePolicy, V as resolveAndPersistSessionFile, Vt as mergeAlsoAllowPolicy, W as recordSessionMetaFromInbound, Wt as stripPluginOnlyAllowlist, X as resolveCacheTtlMs$1, Xt as resolveBootstrapTotalMaxChars, Y as isCacheEnabled, Yt as resolveBootstrapMaxChars, Z as deliveryContextFromSession, Zt as sanitizeGoogleTurnOrdering, _ as formatRawAssistantErrorForUi, _t as DEFAULT_RESET_TRIGGERS, a as isMessagingToolDuplicateNormalized, at as countToolResults, b as isBillingAssistantError, bt as resolveExplicitAgentSessionKey, c as extractToolCallsFromAssistant, ct as applyInputProvenanceToUserMessage, d as isAntigravityClaude, dt as resolveSessionKey, et as normalizeDeliveryContext, f as isGoogleModelApi, ft as evaluateSessionFreshness, g as formatBillingErrorMessage, gt as resolveThreadFlag, h as formatAssistantErrorText, ht as resolveSessionResetType, it as capArrayByJsonBytes, j as parseImageDimensionError, jt as resolveExistingPathsWithinRoot, k as isTimeoutErrorMessage, kt as resolveProfile, l as extractToolResultId, lt as hasInterSessionUserProvenance, m as classifyFailoverReason, mt as resolveSessionResetPolicy, n as validateGeminiTurns, nt as normalizeAccountId$3, o as normalizeTextForComparison, ot as extractToolCallNames, p as BILLING_ERROR_USER_MESSAGE, pt as resolveChannelResetConfig, q as updateSessionStore, qt as buildBootstrapContextFiles, r as pickFallbackThinkingLevel, rt as archiveSessionTranscripts, s as sanitizeSessionMessagesImages, st as INPUT_PROVENANCE_KIND_VALUES, t as validateAnthropicTurns, tt as normalizeSessionDeliveryFields, u as downgradeOpenAIReasoningBlocks, ut as normalizeInputProvenance, v as getApiErrorPayloadFingerprint, vt as resolveFreshSessionTotalTokens, w as isFailoverAssistantError, wt as acquireSessionWriteLock, x as isCloudCodeAssistFormatError, xt as resolveMainSessionKey, y as isAuthAssistantError, yt as canonicalizeMainSessionAlias, z as appendAssistantMessageToSessionTranscript, zt as expandPolicyWithPluginGroups } from "./pi-embedded-helpers-TcYQOZAY.js";
26
26
  import { A as VERSION, C as getConfigValueAtPath, D as isSafeExecutableValue, E as unsetConfigValueAtPath, O as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, S as unsetConfigOverride, T as setConfigValueAtPath, _ as parseDurationMs, a as writeConfigFile, b as resetConfigOverrides, c as TELEGRAM_COMMAND_NAME_PATTERN, f as isInboundPathAllowed, g as normalizeScpRemoteHost, h as resolveIMessageRemoteAttachmentRoots, i as resolveConfigSnapshotHash, k as resolveAgentMaxConcurrent, l as normalizeTelegramCommandName, m as resolveIMessageAttachmentRoots, n as loadConfig, o as validateConfigObjectWithPlugins, r as readConfigFileSnapshot, u as resolveTelegramCustomCommands, v as validateJsonSchemaValue, w as parseConfigPath, x as setConfigOverride, y as getConfigOverrides } from "./config-BAVNLbja.js";
27
27
  import { c as normalizePluginsConfig, f as isPathInsideWithRealpath, i as safeStatSync, l as resolveEnableState, n as discoverSymiPlugins, p as isDangerousHostEnvVarName, r as isPathInside, s as applyTestPluginDefaults, t as loadPluginManifestRegistry, u as resolveMemorySlotDecision } from "./manifest-registry-DWdYdchb.js";
28
- import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-BUT--ob3.js";
28
+ import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-B14NNyfm.js";
29
29
  import { c as assertSandboxPath, d as resolveSandboxedMediaSource, f as applySkillEnvOverrides, i as resolveSkillsPromptForRun, l as resolveSandboxInputPath, n as buildWorkspaceSkillSnapshot, p as applySkillEnvOverridesFromSnapshot, r as loadWorkspaceSkillEntries, s as assertMediaNotDataUrl } from "./skills-XEbTRNYL.js";
30
30
  import { n as formatErrorMessage, r as formatUncaughtError } from "./errors-CPfngF0S.js";
31
31
  import { i as isBlockedHostnameOrIp, o as normalizeHostname, t as SsrFBlockedError } from "./ssrf-CxfFyMRZ.js";
@@ -36,8 +36,8 @@ import { t as resolveIMessageAccount } from "./accounts-DImOt9jX.js";
36
36
  import { i as resolveSessionTranscriptPath, n as resolveSessionFilePath, o as resolveSessionTranscriptsDirForAgent, r as resolveSessionFilePathOptions, s as resolveStorePath, t as resolveDefaultSessionStorePath } from "./paths-DkMamAQ-.js";
37
37
  import { t as emitSessionTranscriptUpdate } from "./transcript-events-C8Tqw4td.js";
38
38
  import { i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, r as sanitizeToolResultImages } from "./tool-images-ChC2CXaN.js";
39
- import { S as ensureSymiModelsJson, _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as stripReasoningTagsFromText, c as extractAssistantText$1, d as extractThinkingFromTaggedText, f as formatReasoningMessage, g as stripDowngradedToolCallText, h as promoteThinkingTagsToBlocks, i as coerceImageModelConfig, l as extractAssistantThinking, m as isAssistantMessage, o as resolveProviderVisionModelFromConfig, p as inferToolMetaFromArgs, r as coerceImageAssistantText, s as minimaxUnderstandImage, u as extractThinkingFromTaggedStream, v as stripThinkingTagsFromText, x as extractTextFromChatContent, y as resolveToolDisplay } from "./image-tzIqIuKx.js";
40
- import { a as resolveMemorySearchConfig, i as resolveOllamaBaseUrl, r as probeOllamaEmbeddingModels, t as MemoryIndexManager } from "./manager-B76ofKkW.js";
39
+ import { S as ensureSymiModelsJson, _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as stripReasoningTagsFromText, c as extractAssistantText$1, d as extractThinkingFromTaggedText, f as formatReasoningMessage, g as stripDowngradedToolCallText, h as promoteThinkingTagsToBlocks, i as coerceImageModelConfig, l as extractAssistantThinking, m as isAssistantMessage, o as resolveProviderVisionModelFromConfig, p as inferToolMetaFromArgs, r as coerceImageAssistantText, s as minimaxUnderstandImage, u as extractThinkingFromTaggedStream, v as stripThinkingTagsFromText, x as extractTextFromChatContent, y as resolveToolDisplay } from "./image-MNvheU8U.js";
40
+ import { a as resolveMemorySearchConfig, i as resolveOllamaBaseUrl, r as probeOllamaEmbeddingModels, t as MemoryIndexManager } from "./manager-D6E6EGWa.js";
41
41
  import { c as normalizeExtraMemoryPaths, f as runTasksWithConcurrency, s as listMemoryFiles } from "./internal-479FB0St.js";
42
42
  import { n as retryAsync } from "./retry-QGp0jvVi.js";
43
43
  import { a as createActionGate, c as jsonResult, d as readReactionParams, f as readStringArrayParam, l as parseAvailableTags, m as readStringParam, n as missingTargetError, o as imageResult, p as readStringOrNumberParam, r as unknownTargetError, s as imageResultFromFile, t as ambiguousTargetError, u as readNumberParam } from "./target-errors-Dm716SF3.js";
@@ -49,7 +49,7 @@ import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-0kwEfxD4.js";
49
49
  import { _ as resolveNativeCommandsEnabled, a as listChatCommandsForConfig, c as normalizeCommandBody, d as resolveCommandArgMenu, f as serializeCommandArgs, g as isRestartEnabled, h as isNativeCommandsExplicitlyDisabled, i as listChatCommands, l as parseCommandArgs, m as isCommandFlagEnabled, o as listNativeCommandSpecs, p as shouldHandleTextCommands, r as findCommandByNativeName, s as listNativeCommandSpecsForConfig, t as buildCommandTextFromArgs, u as resolveCommandArgChoices, v as resolveNativeSkillsEnabled } from "./commands-registry-ke7KirEH.js";
50
50
  import { c as getSkillsSnapshotVersion, d as createAsyncLock, f as readJsonFile, i as resolveSkillCommandInvocation, l as pruneExpiredPending, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, p as writeJsonAtomic, r as listSkillCommandsForWorkspace, s as ensureSkillsWatcher, t as listReservedChatSlashCommandNames, u as resolvePairingPaths } from "./skill-commands-CSF7Poen.js";
51
51
  import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-CgGv6nTy.js";
52
- import { _ as resolveMediaUnderstandingScope, a as resolveMediaAttachmentLocalRoots, c as loadModelCatalog, d as resolveAttachmentKind, f as buildRandomTempFilePath, g as normalizeMediaUnderstandingChatType, h as resolveTimeoutMs$1, i as resolveAutoImageModel, l as modelSupportsVision, m as resolveConcurrency, n as createMediaAttachmentCache, o as runCapability, p as registerUnhandledRejectionHandler, r as normalizeMediaAttachments, s as findModelInCatalog, t as buildProviderRegistry, v as CLI_OUTPUT_MAX_BUFFER, y as applyTemplate } from "./runner-Dpjulwnm.js";
52
+ import { _ as resolveMediaUnderstandingScope, a as resolveMediaAttachmentLocalRoots, c as loadModelCatalog, d as resolveAttachmentKind, f as buildRandomTempFilePath, g as normalizeMediaUnderstandingChatType, h as resolveTimeoutMs$1, i as resolveAutoImageModel, l as modelSupportsVision, m as resolveConcurrency, n as createMediaAttachmentCache, o as runCapability, p as registerUnhandledRejectionHandler, r as normalizeMediaAttachments, s as findModelInCatalog, t as buildProviderRegistry, v as CLI_OUTPUT_MAX_BUFFER, y as applyTemplate } from "./runner-DFuAePEr.js";
53
53
  import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-WLZaC77l.js";
54
54
  import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-BaoETsQI.js";
55
55
  import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-C-6tM-GK.js";
@@ -80,7 +80,7 @@ import { EdgeTTS } from "node-edge-tts";
80
80
  import AjvPkg from "ajv";
81
81
  import { createServer } from "node:http";
82
82
  import { ProxyAgent, fetch as fetch$1 } from "undici";
83
- import WebSocket$1, { WebSocket } from "ws";
83
+ import WebSocket, { WebSocket as WebSocket$1 } from "ws";
84
84
  import { Buffer as Buffer$1 } from "node:buffer";
85
85
  import { createJiti } from "jiti";
86
86
  import { Type } from "@sinclair/typebox";
@@ -3473,7 +3473,7 @@ async function getMemorySearchManager(params) {
3473
3473
  const wrapper = new FallbackMemoryManager({
3474
3474
  primary,
3475
3475
  fallbackFactory: async () => {
3476
- const { MemoryIndexManager } = await import("./manager-B76ofKkW.js").then((n) => n.n);
3476
+ const { MemoryIndexManager } = await import("./manager-D6E6EGWa.js").then((n) => n.n);
3477
3477
  return await MemoryIndexManager.get(params);
3478
3478
  }
3479
3479
  }, () => QMD_MANAGER_CACHE.delete(cacheKey));
@@ -3486,7 +3486,7 @@ async function getMemorySearchManager(params) {
3486
3486
  }
3487
3487
  }
3488
3488
  try {
3489
- const { MemoryIndexManager } = await import("./manager-B76ofKkW.js").then((n) => n.n);
3489
+ const { MemoryIndexManager } = await import("./manager-D6E6EGWa.js").then((n) => n.n);
3490
3490
  return { manager: await MemoryIndexManager.get(params) };
3491
3491
  } catch (err) {
3492
3492
  return {
@@ -5527,6 +5527,40 @@ const SessionsPreviewParamsSchema = Type.Object({
5527
5527
  limit: Type.Optional(Type.Integer({ minimum: 1 })),
5528
5528
  maxChars: Type.Optional(Type.Integer({ minimum: 20 }))
5529
5529
  }, { additionalProperties: false });
5530
+ /**
5531
+ * Hybrid (vector + FTS) search across session transcripts. Piggybacks on
5532
+ * the memory-search infrastructure with a `source = "sessions"` filter and
5533
+ * remaps the raw chunk path back to the owning session-key via the agent's
5534
+ * sessions.json index.
5535
+ */
5536
+ const SessionsSearchParamsSchema = Type.Object({
5537
+ query: Type.String({ minLength: 1 }),
5538
+ limit: Type.Optional(Type.Integer({
5539
+ minimum: 1,
5540
+ maximum: 50
5541
+ })),
5542
+ minScore: Type.Optional(Type.Number({
5543
+ minimum: 0,
5544
+ maximum: 1
5545
+ })),
5546
+ agentId: Type.Optional(NonEmptyString)
5547
+ }, { additionalProperties: false });
5548
+ const SessionsSearchMatchSchema = Type.Object({
5549
+ sessionKey: Type.Union([Type.String(), Type.Null()]),
5550
+ sessionId: Type.String(),
5551
+ file: Type.String(),
5552
+ lineStart: Type.Integer(),
5553
+ lineEnd: Type.Integer(),
5554
+ snippet: Type.String(),
5555
+ score: Type.Number(),
5556
+ label: Type.Optional(Type.String()),
5557
+ displayName: Type.Optional(Type.String()),
5558
+ updatedAt: Type.Optional(Type.Integer())
5559
+ }, { additionalProperties: false });
5560
+ const SessionsSearchResultSchema = Type.Object({
5561
+ matches: Type.Array(SessionsSearchMatchSchema),
5562
+ agentId: Type.String()
5563
+ }, { additionalProperties: false });
5530
5564
  const SessionsResolveParamsSchema = Type.Object({
5531
5565
  key: Type.Optional(NonEmptyString),
5532
5566
  sessionId: Type.Optional(NonEmptyString),
@@ -5739,6 +5773,7 @@ const validateNodeEventParams = ajv.compile(NodeEventParamsSchema);
5739
5773
  const validatePushTestParams = ajv.compile(PushTestParamsSchema);
5740
5774
  const validateSessionsListParams = ajv.compile(SessionsListParamsSchema);
5741
5775
  const validateSessionsPreviewParams = ajv.compile(SessionsPreviewParamsSchema);
5776
+ const validateSessionsSearchParams = ajv.compile(SessionsSearchParamsSchema);
5742
5777
  const validateSessionsResolveParams = ajv.compile(SessionsResolveParamsSchema);
5743
5778
  const validateSessionsPatchParams = ajv.compile(SessionsPatchParamsSchema);
5744
5779
  const validateSessionsResetParams = ajv.compile(SessionsResetParamsSchema);
@@ -5844,7 +5879,7 @@ var GatewayClient = class {
5844
5879
  if (fingerprint !== expected) return /* @__PURE__ */ new Error("gateway tls fingerprint mismatch");
5845
5880
  });
5846
5881
  }
5847
- this.ws = new WebSocket(url, wsOptions);
5882
+ this.ws = new WebSocket$1(url, wsOptions);
5848
5883
  this.ws.on("open", () => {
5849
5884
  if (url.startsWith("wss://") && this.opts.tlsFingerprint) {
5850
5885
  const tlsError = this.validateTlsFingerprint();
@@ -6063,7 +6098,7 @@ var GatewayClient = class {
6063
6098
  return null;
6064
6099
  }
6065
6100
  async request(method, params, opts) {
6066
- if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error("gateway not connected");
6101
+ if (!this.ws || this.ws.readyState !== WebSocket$1.OPEN) throw new Error("gateway not connected");
6067
6102
  const id = randomUUID();
6068
6103
  const frame = {
6069
6104
  type: "req",
@@ -6134,6 +6169,7 @@ const METHOD_SCOPE_GROUPS = {
6134
6169
  "voicewake.get",
6135
6170
  "sessions.list",
6136
6171
  "sessions.preview",
6172
+ "sessions.search",
6137
6173
  "sessions.resolve",
6138
6174
  "sessions.usage",
6139
6175
  "sessions.usage.timeseries",
@@ -7331,7 +7367,7 @@ async function routeReply(params) {
7331
7367
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
7332
7368
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
7333
7369
  try {
7334
- const { deliverOutboundPayloads } = await import("./deliver-B_Q_nWJV.js").then((n) => n.n);
7370
+ const { deliverOutboundPayloads } = await import("./deliver-D0bWiRCg.js").then((n) => n.n);
7335
7371
  return {
7336
7372
  ok: true,
7337
7373
  messageId: (await deliverOutboundPayloads({
@@ -51612,7 +51648,7 @@ async function deliverSessionMaintenanceWarning(params) {
51612
51648
  return;
51613
51649
  }
51614
51650
  try {
51615
- const { deliverOutboundPayloads } = await import("./deliver-B_Q_nWJV.js").then((n) => n.n);
51651
+ const { deliverOutboundPayloads } = await import("./deliver-D0bWiRCg.js").then((n) => n.n);
51616
51652
  await deliverOutboundPayloads({
51617
51653
  cfg: params.cfg,
51618
51654
  channel,
@@ -55058,7 +55094,7 @@ async function describeStickerImage(params) {
55058
55094
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
55059
55095
  try {
55060
55096
  const buffer = await fs$1.readFile(imagePath);
55061
- const { describeImageWithModel } = await import("./image-tzIqIuKx.js").then((n) => n.n);
55097
+ const { describeImageWithModel } = await import("./image-MNvheU8U.js").then((n) => n.n);
55062
55098
  return (await describeImageWithModel({
55063
55099
  buffer,
55064
55100
  fileName: "sticker.webp",
@@ -57807,7 +57843,7 @@ async function preflightDiscordMessage(params) {
57807
57843
  let preflightTranscript;
57808
57844
  const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
57809
57845
  if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
57810
- const { transcribeFirstAudio } = await import("./audio-preflight-NdNUAZ0y.js");
57846
+ const { transcribeFirstAudio } = await import("./audio-preflight-C6vpFnOG.js");
57811
57847
  const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
57812
57848
  if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
57813
57849
  ctx: {
@@ -61590,7 +61626,7 @@ function isVoiceChannelType(type) {
61590
61626
  function createDefaultDeps() {
61591
61627
  return {
61592
61628
  sendMessageWhatsApp: async (...args) => {
61593
- const { sendMessageWhatsApp } = await import("./web-PhjuzK8Y.js");
61629
+ const { sendMessageWhatsApp } = await import("./web-CZoQ03ZE.js");
61594
61630
  return await sendMessageWhatsApp(...args);
61595
61631
  },
61596
61632
  sendMessageTelegram: async (...args) => {
@@ -64495,7 +64531,7 @@ function createDiscordGatewayPlugin(params) {
64495
64531
  super(options);
64496
64532
  }
64497
64533
  createWebSocket(url) {
64498
- return new WebSocket$1(url, { agent });
64534
+ return new WebSocket(url, { agent });
64499
64535
  }
64500
64536
  }
64501
64537
  return new ProxyGatewayPlugin();
@@ -74713,7 +74749,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeAllowFro
74713
74749
  const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
74714
74750
  let preflightTranscript;
74715
74751
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
74716
- const { transcribeFirstAudio } = await import("./audio-preflight-NdNUAZ0y.js");
74752
+ const { transcribeFirstAudio } = await import("./audio-preflight-C6vpFnOG.js");
74717
74753
  preflightTranscript = await transcribeFirstAudio({
74718
74754
  ctx: {
74719
74755
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -76870,7 +76906,7 @@ function loadWebLoginQr() {
76870
76906
  return webLoginQrPromise;
76871
76907
  }
76872
76908
  function loadWebChannel() {
76873
- webChannelPromise ??= import("./web-PhjuzK8Y.js");
76909
+ webChannelPromise ??= import("./web-CZoQ03ZE.js");
76874
76910
  return webChannelPromise;
76875
76911
  }
76876
76912
  function loadWhatsAppActions() {
@@ -9,7 +9,7 @@ import { h as isPidAlive, m as resolveProcessScopedMap } from "./auth-profiles-C
9
9
  import { n as formatCliCommand } from "./env-BDXYbTKj.js";
10
10
  import { t as parseBooleanValue } from "./boolean-CE7i9tBR.js";
11
11
  import { _ as parseDurationMs, a as writeConfigFile, n as loadConfig, s as parseByteSize, t as createConfigIO } from "./config-BkZ9HOKT.js";
12
- import { A as DEFAULT_BROWSER_EVALUATE_ENABLED, D as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, E as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, M as DEFAULT_SYMI_BROWSER_ENABLED, N as DEFAULT_SYMI_BROWSER_PROFILE_NAME, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, S as stopChromeExtensionRelayServer, _ as fetchJson, a as resolveSymiUserDataDir, c as captureScreenshot, d as normalizeCdpWsUrl, f as snapshotAria, g as appendCdpPath, h as withBrowserNavigationPolicy, i as launchSymiChrome, j as DEFAULT_SYMI_BROWSER_COLOR, k as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, l as createTargetViaCdp, m as assertBrowserNavigationAllowed, n as isChromeCdpReady, o as stopSymiChrome, p as InvalidBrowserNavigationUrlError, r as isChromeReachable, s as resolveBrowserExecutableForPlatform, v as fetchOk, w as isLoopbackHost, x as ensureChromeExtensionRelayServer } from "./chrome-ROtrXlNs.js";
12
+ import { A as DEFAULT_BROWSER_EVALUATE_ENABLED, D as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, E as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, M as DEFAULT_SYMI_BROWSER_ENABLED, N as DEFAULT_SYMI_BROWSER_PROFILE_NAME, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, S as stopChromeExtensionRelayServer, _ as fetchJson, a as resolveSymiUserDataDir, c as captureScreenshot, d as normalizeCdpWsUrl, f as snapshotAria, g as appendCdpPath, h as withBrowserNavigationPolicy, i as launchSymiChrome, j as DEFAULT_SYMI_BROWSER_COLOR, k as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, l as createTargetViaCdp, m as assertBrowserNavigationAllowed, n as isChromeCdpReady, o as stopSymiChrome, p as InvalidBrowserNavigationUrlError, r as isChromeReachable, s as resolveBrowserExecutableForPlatform, v as fetchOk, w as isLoopbackHost, x as ensureChromeExtensionRelayServer } from "./chrome-C08Z0XAa.js";
13
13
  import { a as syncSkillsToWorkspace, l as resolveSandboxInputPath, m as sanitizeEnvVars, u as resolveSandboxPath } from "./skills-CXxrn_e2.js";
14
14
  import { n as formatErrorMessage, t as extractErrorCode } from "./errors-XIsvXeC-.js";
15
15
  import { b as openFileWithinRoot, i as getImageMetadata, n as buildImageResizeSideGrid, s as resizeToJpeg, t as IMAGE_REDUCE_QUALITY_STEPS, y as SafeOpenError } from "./image-ops-C7CauEK8.js";
@@ -940,7 +940,7 @@ function isModuleNotFoundError(err) {
940
940
  }
941
941
  async function loadPwAiModule(mode) {
942
942
  try {
943
- return await import("./pw-ai-DWkC5eGA.js");
943
+ return await import("./pw-ai-CeWN4iD9.js");
944
944
  } catch (err) {
945
945
  if (mode === "soft") return null;
946
946
  if (isModuleNotFoundError(err)) return null;
@@ -3480,11 +3480,11 @@ function createProfileContext(opts, profile) {
3480
3480
  const userDataDir = resolveSymiUserDataDir(profile.name);
3481
3481
  const profileState = getProfileState();
3482
3482
  if (await isHttpReachable(300) && !profileState.running) try {
3483
- await (await import("./pw-ai-DWkC5eGA.js")).closePlaywrightBrowserConnection();
3483
+ await (await import("./pw-ai-CeWN4iD9.js")).closePlaywrightBrowserConnection();
3484
3484
  } catch {}
3485
3485
  if (profileState.running) await stopRunningBrowser();
3486
3486
  try {
3487
- await (await import("./pw-ai-DWkC5eGA.js")).closePlaywrightBrowserConnection();
3487
+ await (await import("./pw-ai-CeWN4iD9.js")).closePlaywrightBrowserConnection();
3488
3488
  } catch {}
3489
3489
  if (!fs.existsSync(userDataDir)) return {
3490
3490
  moved: false,
@@ -10,7 +10,7 @@ import { t as normalizeChatType } from "./chat-type-DFDuk3FY.js";
10
10
  import { c as SafeOpenError, i as getImageMetadata, l as openFileWithinRoot, n as buildImageResizeSideGrid, s as resizeToJpeg, t as IMAGE_REDUCE_QUALITY_STEPS } from "./image-ops-ByaQt43P.js";
11
11
  import { o as listDeliverableMessageChannels, s as normalizeMessageChannel } from "./message-channel-BQINJQIT.js";
12
12
  import { _ as parseDurationMs, a as writeConfigFile, n as loadConfig, s as parseByteSize, t as createConfigIO } from "./config-BAVNLbja.js";
13
- import { A as DEFAULT_BROWSER_EVALUATE_ENABLED, D as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, E as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, M as DEFAULT_SYMI_BROWSER_ENABLED, N as DEFAULT_SYMI_BROWSER_PROFILE_NAME, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, S as stopChromeExtensionRelayServer, _ as fetchJson, a as resolveSymiUserDataDir, c as captureScreenshot, d as normalizeCdpWsUrl, f as snapshotAria, g as appendCdpPath, h as withBrowserNavigationPolicy, i as launchSymiChrome, j as DEFAULT_SYMI_BROWSER_COLOR, k as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, l as createTargetViaCdp, m as assertBrowserNavigationAllowed, n as isChromeCdpReady, o as stopSymiChrome, p as InvalidBrowserNavigationUrlError, r as isChromeReachable, s as resolveBrowserExecutableForPlatform, v as fetchOk, w as isLoopbackHost, x as ensureChromeExtensionRelayServer } from "./chrome-BUT--ob3.js";
13
+ import { A as DEFAULT_BROWSER_EVALUATE_ENABLED, D as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, E as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, M as DEFAULT_SYMI_BROWSER_ENABLED, N as DEFAULT_SYMI_BROWSER_PROFILE_NAME, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, S as stopChromeExtensionRelayServer, _ as fetchJson, a as resolveSymiUserDataDir, c as captureScreenshot, d as normalizeCdpWsUrl, f as snapshotAria, g as appendCdpPath, h as withBrowserNavigationPolicy, i as launchSymiChrome, j as DEFAULT_SYMI_BROWSER_COLOR, k as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, l as createTargetViaCdp, m as assertBrowserNavigationAllowed, n as isChromeCdpReady, o as stopSymiChrome, p as InvalidBrowserNavigationUrlError, r as isChromeReachable, s as resolveBrowserExecutableForPlatform, v as fetchOk, w as isLoopbackHost, x as ensureChromeExtensionRelayServer } from "./chrome-B14NNyfm.js";
14
14
  import { a as syncSkillsToWorkspace, l as resolveSandboxInputPath, m as sanitizeEnvVars, u as resolveSandboxPath } from "./skills-XEbTRNYL.js";
15
15
  import { n as formatErrorMessage, t as extractErrorCode } from "./errors-CPfngF0S.js";
16
16
  import { t as SsrFBlockedError } from "./ssrf-CxfFyMRZ.js";
@@ -938,7 +938,7 @@ function isModuleNotFoundError(err) {
938
938
  }
939
939
  async function loadPwAiModule(mode) {
940
940
  try {
941
- return await import("./pw-ai-CQtaPvM8.js");
941
+ return await import("./pw-ai-40Jf9QIb.js");
942
942
  } catch (err) {
943
943
  if (mode === "soft") return null;
944
944
  if (isModuleNotFoundError(err)) return null;
@@ -3478,11 +3478,11 @@ function createProfileContext(opts, profile) {
3478
3478
  const userDataDir = resolveSymiUserDataDir(profile.name);
3479
3479
  const profileState = getProfileState();
3480
3480
  if (await isHttpReachable(300) && !profileState.running) try {
3481
- await (await import("./pw-ai-CQtaPvM8.js")).closePlaywrightBrowserConnection();
3481
+ await (await import("./pw-ai-40Jf9QIb.js")).closePlaywrightBrowserConnection();
3482
3482
  } catch {}
3483
3483
  if (profileState.running) await stopRunningBrowser();
3484
3484
  try {
3485
- await (await import("./pw-ai-CQtaPvM8.js")).closePlaywrightBrowserConnection();
3485
+ await (await import("./pw-ai-40Jf9QIb.js")).closePlaywrightBrowserConnection();
3486
3486
  } catch {}
3487
3487
  if (!fs.existsSync(userDataDir)) return {
3488
3488
  moved: false,
@@ -2,7 +2,7 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { M as getActivePluginRegistry, o as createSubsystemLogger } from "./entry.js";
3
3
  import { c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-D-jRCY0d.js";
4
4
  import { i as loadConfig } from "./config-DXt3pc08.js";
5
- import { m as loadSymiPlugins } from "./subagent-registry-B1HJJs3Q.js";
5
+ import { m as loadSymiPlugins } from "./subagent-registry-CncIZPCd.js";
6
6
 
7
7
  //#region src/cli/plugin-registry.ts
8
8
  var plugin_registry_exports = /* @__PURE__ */ __exportAll({ ensurePluginRegistryLoaded: () => ensurePluginRegistryLoaded });
@@ -1,5 +1,5 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { pt as loadSymiPlugins } from "./reply-D455A6SA.js";
2
+ import { pt as loadSymiPlugins } from "./reply-2awhibgG.js";
3
3
  import { d as getActivePluginRegistry } from "./registry-Cja8eT7G.js";
4
4
  import { t as createSubsystemLogger } from "./subsystem-D9vIQve0.js";
5
5
  import { c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-CgUHAtCo.js";
@@ -1,6 +1,6 @@
1
1
  import { a as buildGroupHistoryKey, n as DEFAULT_MAIN_KEY, r as buildAgentMainSessionKey, s as normalizeAgentId } from "./session-key-C_0eELjb.js";
2
2
  import { f as readWebSelfId, o as getWebAuthAgeMs, r as resolveWhatsAppAccount } from "./accounts-D9zGZU5t.js";
3
- import { D as enqueueSystemEvent, G as shouldAckReactionForWhatsApp, K as resolveMentionGating, X as DEFAULT_GROUP_HISTORY_LIMIT, Z as buildHistoryContextFromEntries, _ as formatInboundEnvelope, b as shouldComputeCommandAuthorized, c as computeBackoff, d as buildPairingReply, f as formatDurationPrecise, g as resolveInboundDebounceMs, gt as createDedupeCache, h as createInboundDebouncer, it as normalizeMentionText, l as sleepWithAbort, n as normalizeGroupActivation, nt as recordPendingHistoryEntryIfEnabled, p as dispatchReplyWithBufferedBlockDispatcher, r as parseActivationCommand, rt as buildMentionRegexes, t as getReplyFromConfig, v as resolveEnvelopeFormatOptions, y as hasControlCommand } from "./reply-DwJ-3Et9.js";
3
+ import { D as enqueueSystemEvent, G as shouldAckReactionForWhatsApp, K as resolveMentionGating, X as DEFAULT_GROUP_HISTORY_LIMIT, Z as buildHistoryContextFromEntries, _ as formatInboundEnvelope, b as shouldComputeCommandAuthorized, c as computeBackoff, d as buildPairingReply, f as formatDurationPrecise, g as resolveInboundDebounceMs, gt as createDedupeCache, h as createInboundDebouncer, it as normalizeMentionText, l as sleepWithAbort, n as normalizeGroupActivation, nt as recordPendingHistoryEntryIfEnabled, p as dispatchReplyWithBufferedBlockDispatcher, r as parseActivationCommand, rt as buildMentionRegexes, t as getReplyFromConfig, v as resolveEnvelopeFormatOptions, y as hasControlCommand } from "./reply-BI7Rf3_S.js";
4
4
  import { A as normalizeE164, B as toWhatsappJid, K as logVerbose, N as resolveJidToE164, O as isSelfChatMode, R as sleep, Y as shouldLogVerbose, k as jidToE164, s as normalizeChatChannelId, tt as getChildLogger, x as clamp } from "./registry--_pGht6S.js";
5
5
  import { n as loadConfig } from "./config-BzupW6LN.js";
6
6
  import { i as defaultRuntime, t as createSubsystemLogger } from "./subsystem-Coz2AgU8.js";