@symerian/symi 2.6.36 → 2.6.37

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 (274) hide show
  1. package/dist/{acp-cli-NJzARaHq.js → acp-cli-EqE2uipx.js} +2 -2
  2. package/dist/{acp-cli-Cu4icbJT.js → acp-cli-gr5XIPZf.js} +2 -2
  3. package/dist/{agents-BIAaMNSb.js → agents-BDKvA-fr.js} +5 -5
  4. package/dist/{agents.config-BKjYekzK.js → agents.config-DP7J1Yxi.js} +1 -1
  5. package/dist/{agents.config-BDtgUDFp.js → agents.config-SvdnvFsa.js} +1 -1
  6. package/dist/{audio-preflight-DHTaS5U1.js → audio-preflight-BVaaZWkg.js} +4 -4
  7. package/dist/{audio-preflight-CPBOQV4I.js → audio-preflight-C40mKAp7.js} +4 -4
  8. package/dist/{audio-preflight-CWnxkaac.js → audio-preflight-COe9clRU.js} +2 -2
  9. package/dist/{audit-Byo5jCLN.js → audit-Cgd5-Y7W.js} +2 -2
  10. package/dist/{audit-CrITRV6w.js → audit-DCDNPsGr.js} +2 -2
  11. package/dist/{auth-choice-Cw2rldnf.js → auth-choice-CinzPjY5.js} +4 -4
  12. package/dist/{auth-choice-C7BrC95t.js → auth-choice-DeTIgQiQ.js} +2 -2
  13. package/dist/{banner-DCF8IifK.js → banner-DlzlZSHv.js} +1 -1
  14. package/dist/{browser-cli-CPcnnsJJ.js → browser-cli-Dun4KSp2.js} +3 -3
  15. package/dist/{browser-cli-BG4qPxpM.js → browser-cli-FNGt_E96.js} +3 -3
  16. package/dist/build-info.json +3 -3
  17. package/dist/bundled/boot-md/handler.js +6 -6
  18. package/dist/bundled/session-memory/handler.js +6 -6
  19. package/dist/{call-CJaS1iRF.js → call-CFhGTNtt.js} +1 -1
  20. package/dist/{call-BcE47FtD.js → call-DIDhYlsx.js} +1 -1
  21. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  22. package/dist/{channel-options-BaC3G5sc.js → channel-options-38j3QjH3.js} +1 -1
  23. package/dist/{channel-options-DHSRuD2s.js → channel-options-D7Lp2WmW.js} +1 -1
  24. package/dist/{channel-web-YXrZZHRE.js → channel-web-DoJWvCSG.js} +2 -2
  25. package/dist/{channels-cli-CfMJGgBp.js → channels-cli-CMMBVrwz.js} +7 -7
  26. package/dist/{channels-cli-DODlfOu4.js → channels-cli-DmvAljR1.js} +9 -9
  27. package/dist/{chrome-D2SKJnR7.js → chrome-CDJYxX5a.js} +7 -7
  28. package/dist/{chrome-DYZwl5Gv.js → chrome-DkaXoP36.js} +7 -7
  29. package/dist/cli/daemon-cli.js +1 -1
  30. package/dist/{cli-CSlDsUKl.js → cli-Cd4B5FyU.js} +6 -6
  31. package/dist/{cli-CVqXnzze.js → cli-D9LYX6lB.js} +4 -4
  32. package/dist/{client-DMBZpU6X.js → client-T3qcxXru.js} +6 -1
  33. package/dist/{client-CQSyCS4M.js → client-jI1oE0_k.js} +6 -1
  34. package/dist/{command-registry-CrYpGtIt.js → command-registry-CARx8WBf.js} +10 -10
  35. package/dist/{completion-cli-GqPGf3Kq.js → completion-cli-DCO3bMjl.js} +2 -2
  36. package/dist/{completion-cli-BmYBAxqM.js → completion-cli-LYcBopv1.js} +1 -1
  37. package/dist/{config-cli-BxSBpwuL.js → config-cli-9rTAv29s.js} +1 -1
  38. package/dist/{config-cli-BjXnB1c7.js → config-cli-BCiQhEoA.js} +1 -1
  39. package/dist/{configure-De-0b4bB.js → configure-BeKcXpvL.js} +6 -6
  40. package/dist/{configure-CIFt3G-c.js → configure-RmJWWP1i.js} +8 -8
  41. package/dist/control-ui/css/style.css +23 -0
  42. package/dist/control-ui/js/app.js +45 -0
  43. package/dist/control-ui/js/history.js +38 -0
  44. package/dist/{cron-cli-BP24xl6n.js → cron-cli-C-gg6wfO.js} +3 -3
  45. package/dist/{cron-cli-DBIlCvp3.js → cron-cli-KYTOQ6d9.js} +3 -3
  46. package/dist/{daemon-cli-wWnBIQtk.js → daemon-cli-0RLS-CwL.js} +2 -2
  47. package/dist/{daemon-cli-DscwlsKW.js → daemon-cli-CJJ8Vueq.js} +2 -2
  48. package/dist/daemon-cli.js +5 -0
  49. package/dist/{deliver-C-37cZUe.js → deliver-BH0l3UKW.js} +1 -1
  50. package/dist/{deliver-dODxSv3b.js → deliver-C46-vyqg.js} +1 -1
  51. package/dist/{devices-cli-BHiPx2c2.js → devices-cli-CI2TOoP1.js} +2 -2
  52. package/dist/{devices-cli-Dds-25Ve.js → devices-cli-j0f38zcG.js} +2 -2
  53. package/dist/{doctor-completion-CL0NHlCA.js → doctor-completion-BlysSk9e.js} +1 -1
  54. package/dist/{doctor-completion-4SDl6ZEA.js → doctor-completion-CfPhNCUx.js} +1 -1
  55. package/dist/entry.js +1 -1
  56. package/dist/{exec-approvals-cli-BliRl8VB.js → exec-approvals-cli-2BfYmO4M.js} +4 -4
  57. package/dist/{exec-approvals-cli--zyXYrNY.js → exec-approvals-cli-wesKZNXl.js} +4 -4
  58. package/dist/extensionAPI.js +6 -6
  59. package/dist/{gateway-cli-D98LL9Yi.js → gateway-cli-B1AI4M7v.js} +17 -16
  60. package/dist/{gateway-cli-CqHk7Nfm.js → gateway-cli-D2MuH-Vj.js} +15 -14
  61. package/dist/{gateway-rpc-BxkKeCZ0.js → gateway-rpc-5aGm8LwU.js} +1 -1
  62. package/dist/{gateway-rpc-DfZSz5JF.js → gateway-rpc-BkB6xEaM.js} +1 -1
  63. package/dist/{glass-ui-ws-z-ryIbt7.js → glass-ui-ws-cB1R6KOh.js} +13 -13
  64. package/dist/{glass-ui-ws-vx0iMfPn.js → glass-ui-ws-xbRlW2Pz.js} +11 -11
  65. package/dist/{health-BNxdveY8.js → health-By4_Yu9p.js} +2 -2
  66. package/dist/{health-pFcca1cU.js → health-DjUN4OFC.js} +2 -2
  67. package/dist/{hooks-cli-DefzmbZl.js → hooks-cli-BENuuN6Y.js} +7 -7
  68. package/dist/{hooks-cli-Dqe7WVzD.js → hooks-cli-CGrOzATb.js} +5 -5
  69. package/dist/{image-DcpMiprB.js → image-CHzdaNJ4.js} +1 -1
  70. package/dist/{image-CXu8W39c.js → image-CuzFLQWC.js} +1 -1
  71. package/dist/index.js +11 -11
  72. package/dist/llm-slug-generator.js +6 -6
  73. package/dist/{logs-cli-xOzIPrHm.js → logs-cli-C0FZokFv.js} +3 -3
  74. package/dist/{logs-cli-Du8FCgKK.js → logs-cli-Dvs8e7u9.js} +3 -3
  75. package/dist/{model-catalog-DvBJ8pMD.js → model-catalog-DsFLN-ua.js} +1 -1
  76. package/dist/{model-picker-Ddo3jHe-.js → model-picker-BzIRY_aM.js} +1 -1
  77. package/dist/{models-c9cOxxrP.js → models-D1mOj_fd.js} +3 -3
  78. package/dist/{models-cli-BhOA86hd.js → models-cli-Blg1YDNe.js} +6 -6
  79. package/dist/{models-cli-Cosjljgg.js → models-cli-DhanAXLt.js} +8 -8
  80. package/dist/{node-cli-DSEhcjUV.js → node-cli-C4b1vFcY.js} +1 -1
  81. package/dist/{node-cli-C_G-Q3h-.js → node-cli-DUi87xSB.js} +1 -1
  82. package/dist/{nodes-cli-BIPA9B8G.js → nodes-cli-alQ9Bv_-.js} +3 -3
  83. package/dist/{nodes-cli-BcnuJajV.js → nodes-cli-wgJi8nLG.js} +3 -3
  84. package/dist/{onboard-DzfTelta.js → onboard-BKl9tvd9.js} +5 -5
  85. package/dist/{onboard-Cy_CK0Ng.js → onboard-DIjwRWbY.js} +3 -3
  86. package/dist/{onboard-channels-BjUx6cZ7.js → onboard-channels-CW1DBHfJ.js} +1 -1
  87. package/dist/{onboard-channels-BAEFSSqU.js → onboard-channels-wd_fR_EA.js} +1 -1
  88. package/dist/{onboard-custom-C7O-zfQ1.js → onboard-custom-BPvHqbtj.js} +1 -1
  89. package/dist/{onboard-helpers-ZmZYzlq3.js → onboard-helpers-Ci50bfCW.js} +1 -1
  90. package/dist/{onboard-helpers-_pit1NZW.js → onboard-helpers-DASpwgat.js} +1 -1
  91. package/dist/{onboard-remote-zUjD7UtM.js → onboard-remote-I9QVs0MQ.js} +1 -1
  92. package/dist/{onboard-remote-R1g6st9i.js → onboard-remote-xXi061GI.js} +1 -1
  93. package/dist/{onboard-skills-ByO_wSN5.js → onboard-skills-Bn2T6lze.js} +1 -1
  94. package/dist/{onboard-skills-BB0YhUmF.js → onboard-skills-DX7L1thH.js} +1 -1
  95. package/dist/{onboarding-B9RTmYiC.js → onboarding-Ban5B7QD.js} +9 -9
  96. package/dist/{onboarding-CerjrLp1.js → onboarding-DnhVdzx6.js} +7 -7
  97. package/dist/{onboarding.finalize-CGGB37q-.js → onboarding.finalize-QCZDp4AW.js} +10 -10
  98. package/dist/{onboarding.finalize-CLQL7PKW.js → onboarding.finalize-YbnkoDuN.js} +11 -11
  99. package/dist/{onboarding.gateway-config-CJUgDC6Y.js → onboarding.gateway-config-CJU7Hzrn.js} +3 -3
  100. package/dist/{onboarding.gateway-config-BQFO9a_h.js → onboarding.gateway-config-D6SN3HBb.js} +3 -3
  101. package/dist/{pi-auth-json-DayrlDg_.js → pi-auth-json-DhTX6MBO.js} +1 -1
  102. package/dist/{pi-embedded-liyRigX2.js → pi-embedded-DG6dQt8v.js} +21 -16
  103. package/dist/{pi-embedded-helpers-pubKo8HQ.js → pi-embedded-helpers-CfqDGQ9J.js} +4 -4
  104. package/dist/{pi-embedded-helpers-B8kqLWns.js → pi-embedded-helpers-lgx_U5KS.js} +4 -4
  105. package/dist/{plugin-registry-Ls_YGsWz.js → plugin-registry-BdvMB68i.js} +1 -1
  106. package/dist/{plugin-registry-BkFixq63.js → plugin-registry-DfODDpUe.js} +1 -1
  107. package/dist/plugin-sdk/{accounts-BToL3HlP.js → accounts-BtaOa4z_.js} +1 -1
  108. package/dist/plugin-sdk/{accounts-D9zGZU5t.js → accounts-Ddm33hQm.js} +3 -3
  109. package/dist/plugin-sdk/{accounts-Dtszw3Zn.js → accounts-s-AdhXVR.js} +1 -1
  110. package/dist/plugin-sdk/{active-listener-bEk__wbB.js → active-listener-BXYeALs0.js} +1 -1
  111. package/dist/plugin-sdk/{agent-scope-C3gMMKCU.js → agent-scope-CYYpcO9W.js} +2 -2
  112. package/dist/plugin-sdk/{api-key-rotation-CVBMpnPc.js → api-key-rotation-D_sMvI5W.js} +1 -1
  113. package/dist/plugin-sdk/{audio-preflight-DoQQKlxa.js → audio-preflight-VpItkiy3.js} +24 -24
  114. package/dist/plugin-sdk/{bindings-BbwoUGPx.js → bindings-C7hRtgYW.js} +2 -2
  115. package/dist/plugin-sdk/{channel-activity-Ji7f0gqq.js → channel-activity-DoC1xtDu.js} +1 -1
  116. package/dist/plugin-sdk/{channel-web-CP1OgJFj.js → channel-web-DHcmAnVa.js} +22 -22
  117. package/dist/plugin-sdk/{chrome-C7c_0I5M.js → chrome-B7RdxmJ0.js} +3 -3
  118. package/dist/plugin-sdk/{chunk-jvk9axTQ.js → chunk-Dw2XBYXv.js} +1 -1
  119. package/dist/plugin-sdk/{command-format-DSdvQ_M5.js → command-format-GKSevep4.js} +1 -1
  120. package/dist/plugin-sdk/{commands-registry-CQFbmUMs.js → commands-registry-COIaslGl.js} +4 -4
  121. package/dist/plugin-sdk/{config-DDkdiUOR.js → config-KlTNfkFF.js} +9 -9
  122. package/dist/plugin-sdk/{deliver-BZ6iNLl7.js → deliver-BZ99UKQq.js} +10 -10
  123. package/dist/plugin-sdk/{diagnostic-mFf4i4G9.js → diagnostic-05pm5Rxi.js} +1 -1
  124. package/dist/plugin-sdk/gateway/protocol/index.d.ts +6 -2
  125. package/dist/plugin-sdk/gateway/protocol/schema/sessions.d.ts +4 -0
  126. package/dist/plugin-sdk/gateway/protocol/schema/types.d.ts +2 -1
  127. package/dist/plugin-sdk/{image-BOYy0Ump.js → image-CLOPx7yW.js} +4 -4
  128. package/dist/plugin-sdk/{image-ops-Bnp6LXEx.js → image-ops-BlQR__MN.js} +1 -1
  129. package/dist/plugin-sdk/index.js +53 -53
  130. package/dist/plugin-sdk/{ir-Fb3qpcis.js → ir-BJ6BHE5b.js} +4 -4
  131. package/dist/plugin-sdk/{local-roots-Ckk1QfzI.js → local-roots-BHLNSI8U.js} +3 -3
  132. package/dist/plugin-sdk/{login-Bh3DZPam.js → login-DQMXuxOk.js} +7 -7
  133. package/dist/plugin-sdk/{login-qr-DbR7odSr.js → login-qr-BjVZSoCi.js} +9 -9
  134. package/dist/plugin-sdk/{manager-DckktAQ3.js → manager-CBSBFuFz.js} +8 -8
  135. package/dist/plugin-sdk/{manifest-registry-B3ugY9-f.js → manifest-registry-CPnHl_K3.js} +1 -1
  136. package/dist/plugin-sdk/{markdown-tables-Dfaqilz6.js → markdown-tables-BoYFajMu.js} +1 -1
  137. package/dist/plugin-sdk/{message-channel-BdI5Ra9S.js → message-channel-COTAJzHd.js} +1 -1
  138. package/dist/plugin-sdk/{model-selection-OpU8HN50.js → model-selection-CsbEfrS0.js} +4 -4
  139. package/dist/plugin-sdk/{outbound-rF6G8Xpr.js → outbound-B0e8KdaR.js} +7 -7
  140. package/dist/plugin-sdk/{outbound-attachment-DnVQfTG2.js → outbound-attachment-CnslKL38.js} +2 -2
  141. package/dist/plugin-sdk/{pi-auth-json-CJk8t14T.js → pi-auth-json-qWi7ZIYV.js} +5 -5
  142. package/dist/plugin-sdk/{pi-embedded-helpers-BveUP4hk.js → pi-embedded-helpers-CW630epe.js} +17 -17
  143. package/dist/plugin-sdk/{plugins-BbAvhC25.js → plugins-BNByVCIH.js} +4 -4
  144. package/dist/plugin-sdk/{pw-ai-DjGUsee-.js → pw-ai-CnbPIPY9.js} +8 -8
  145. package/dist/plugin-sdk/{qmd-manager-mjKcdwVr.js → qmd-manager-CH0XbIHf.js} +4 -4
  146. package/dist/plugin-sdk/{registry--_pGht6S.js → registry-D0xTnUWt.js} +2 -2
  147. package/dist/plugin-sdk/{replies-fI39rPGa.js → replies-LLcQL3w6.js} +3 -3
  148. package/dist/plugin-sdk/{reply-CBkEQFTX.js → reply-CeoL_D-u.js} +83 -78
  149. package/dist/plugin-sdk/{reply-prefix-BHuV5t70.js → reply-prefix-uxfMZW4p.js} +1 -1
  150. package/dist/plugin-sdk/{resolve-outbound-target-BkCUbYGV.js → resolve-outbound-target-BiyAyTWz.js} +2 -2
  151. package/dist/plugin-sdk/{resolve-route-D3JH_D2N.js → resolve-route-B3CCBumQ.js} +3 -3
  152. package/dist/plugin-sdk/{retry-ilSJqnz9.js → retry-CwQ_iIj8.js} +1 -1
  153. package/dist/plugin-sdk/{runner-BVqnEfNe.js → runner-CGBT7tgF.js} +9 -9
  154. package/dist/plugin-sdk/{send-BtANzsAo.js → send-B2CEnVLL.js} +6 -6
  155. package/dist/plugin-sdk/{send-BHbXh8Ly.js → send-C5h_YxNb.js} +7 -7
  156. package/dist/plugin-sdk/{send-D6LMZJ_h.js → send-CRsR8-vO.js} +10 -10
  157. package/dist/plugin-sdk/{send-Bxdu6ZZy.js → send-CjOBB3Vo.js} +10 -10
  158. package/dist/plugin-sdk/{send-BMfJIhCk.js → send-pYqe432l.js} +6 -6
  159. package/dist/plugin-sdk/{session-kI0tzViQ.js → session-BsOrxiMj.js} +4 -4
  160. package/dist/plugin-sdk/{skill-commands-DCNXVERE.js → skill-commands-ff_01_r3.js} +5 -5
  161. package/dist/plugin-sdk/{skills-B1GeRYlu.js → skills-_yTP47Cd.js} +7 -7
  162. package/dist/plugin-sdk/{sqlite-Cq_7Cg4E.js → sqlite-CxAR5ttJ.js} +1 -1
  163. package/dist/plugin-sdk/{store-Do3t33-c.js → store-BdrNabcU.js} +2 -2
  164. package/dist/plugin-sdk/{subsystem-Coz2AgU8.js → subsystem-B2uDN3TV.js} +1 -1
  165. package/dist/plugin-sdk/{tables-DR0NmBeH.js → tables-DNwXwNFa.js} +1 -1
  166. package/dist/plugin-sdk/{target-errors-B7YyMnIi.js → target-errors-Paro1BjP.js} +2 -2
  167. package/dist/plugin-sdk/{thinking-DCNUIAHY.js → thinking-CXqf7WTe.js} +5 -5
  168. package/dist/plugin-sdk/{tokens-CWMflosr.js → tokens-bC3UVmVH.js} +1 -1
  169. package/dist/plugin-sdk/{tool-images-D7Lno-TE.js → tool-images-HJ2sfZDV.js} +2 -2
  170. package/dist/plugin-sdk/{tool-loop-detection-DU5sTIKg.js → tool-loop-detection-at_K42K7.js} +2 -2
  171. package/dist/plugin-sdk/web-qmzvsQZn.js +65 -0
  172. package/dist/plugin-sdk/{whatsapp-actions-CcBzDuL-.js → whatsapp-actions-DfseosPO.js} +21 -21
  173. package/dist/{plugins-cli-CJLJsr_L.js → plugins-cli-DMxHIMNz.js} +5 -5
  174. package/dist/{plugins-cli-DXiakDnC.js → plugins-cli-Dcd56Auo.js} +7 -7
  175. package/dist/{program-B6KpKryX.js → program-CK6pb4lq.js} +10 -10
  176. package/dist/{program-context-Dm-BSkOd.js → program-context-0dr-H7wo.js} +29 -29
  177. package/dist/{prompt-select-styled-Dk8_YofB.js → prompt-select-styled-Bi9q87ml.js} +7 -7
  178. package/dist/{prompt-select-styled-DszNP9MV.js → prompt-select-styled-uYsTGG3x.js} +6 -6
  179. package/dist/{provider-auth-helpers-Bi5oeREh.js → provider-auth-helpers-BC24Uzzu.js} +1 -1
  180. package/dist/{provider-auth-helpers-B_Rtgt-w.js → provider-auth-helpers-BUorkQUD.js} +1 -1
  181. package/dist/{push-apns-BzIW-JHE.js → push-apns-BQckoz9S.js} +1 -1
  182. package/dist/{push-apns-Bmd6SdxC.js → push-apns-BwHZ2F7j.js} +1 -1
  183. package/dist/{pw-ai-1htA-NnS.js → pw-ai-De-KR9_s.js} +1 -1
  184. package/dist/{pw-ai-B5asscAD.js → pw-ai-m0mj2KWK.js} +1 -1
  185. package/dist/{register.agent-Vc2Bu3J4.js → register.agent-Ffw952Cm.js} +11 -11
  186. package/dist/{register.agent-kKtKgmcO.js → register.agent-wv_0IcpN.js} +9 -9
  187. package/dist/{register.configure-BnNPTLBI.js → register.configure-BMkj8T9e.js} +15 -15
  188. package/dist/{register.configure-D-o-geWg.js → register.configure-BTKXkVgp.js} +11 -11
  189. package/dist/{register.maintenance-jMmXJ1NK.js → register.maintenance-CRu_hm_x.js} +11 -11
  190. package/dist/{register.maintenance-0L5VAVCA.js → register.maintenance-D1xEYvHY.js} +12 -12
  191. package/dist/{register.message-CdCHhVND.js → register.message-DD5LEq6t.js} +5 -5
  192. package/dist/{register.message-C9zVQOWl.js → register.message-f-91gZI8.js} +7 -7
  193. package/dist/{register.onboard-pKq2v5Fh.js → register.onboard-BRTil6DH.js} +11 -11
  194. package/dist/{register.onboard-BN7J8vyx.js → register.onboard-BetMbk4D.js} +7 -7
  195. package/dist/{register.setup-J_GQSh-T.js → register.setup-C0XLhwPd.js} +11 -11
  196. package/dist/{register.setup-BKYxHrcB.js → register.setup-DX01Qmwr.js} +7 -7
  197. package/dist/{register.status-health-sessions-BLA4yUC4.js → register.status-health-sessions-CMF93G-p.js} +7 -7
  198. package/dist/{register.status-health-sessions-BtGRpngz.js → register.status-health-sessions-Dqh15XbO.js} +9 -9
  199. package/dist/{register.subclis-DcBHO9E8.js → register.subclis-D_HoHaB7.js} +20 -20
  200. package/dist/{reply-C68F3IMq.js → reply-CMb-m0ZJ.js} +9 -9
  201. package/dist/{rpc-BjLadgzu.js → rpc--E7i90bk.js} +1 -1
  202. package/dist/{rpc-BfhojW8g.js → rpc-_E0CZJKf.js} +1 -1
  203. package/dist/{run-main-DkcjdsAo.js → run-main-e6LI0zRf.js} +17 -17
  204. package/dist/{runner-CUglpiFP.js → runner-BSzJIT-z.js} +1 -1
  205. package/dist/{runner-WAG0M5s9.js → runner-CU9l0uJh.js} +1 -1
  206. package/dist/{runner-BcQ0sF9T.js → runner-DUBExAb5.js} +1 -1
  207. package/dist/{security-cli-BFLtWWHy.js → security-cli-BSZ1_9R3.js} +3 -3
  208. package/dist/{security-cli-Dmb1k47A.js → security-cli-KxA9AZ3q.js} +3 -3
  209. package/dist/{server-methods-B4IR7jcD.js → server-methods-CZJHMB_M.js} +102 -11
  210. package/dist/{server-methods-n5oCz2e0.js → server-methods-D5X0JrXg.js} +102 -11
  211. package/dist/{server-node-events-C3hHerD3.js → server-node-events-BpNyybGF.js} +5 -5
  212. package/dist/{server-node-events---jWWBKN.js → server-node-events-Cu_8g2ws.js} +7 -7
  213. package/dist/{status-8CbQSAEF.js → status-C2iQbl7T.js} +1 -1
  214. package/dist/{status-CwhHbhUv.js → status-CL1xQrpW.js} +5 -5
  215. package/dist/{status-ITRlj7e_.js → status-CXib3MSE.js} +5 -5
  216. package/dist/{status-ClvXAaHZ.js → status-iJUy8byq.js} +1 -1
  217. package/dist/{subagent-registry-BXI3DyAX.js → subagent-registry-Cdiios3w.js} +5 -5
  218. package/dist/{system-cli-UMsMEurS.js → system-cli-C4A3Udil.js} +3 -3
  219. package/dist/{system-cli-D_EIZpBm.js → system-cli-CECNjZdB.js} +3 -3
  220. package/dist/{tui-BJB80muc.js → tui-2nWOvxxE.js} +2 -2
  221. package/dist/{tui-CriznorL.js → tui-D14a9N3F.js} +2 -2
  222. package/dist/{tui-cli-C7Q9lK8Q.js → tui-cli-B-Nl_8uj.js} +3 -3
  223. package/dist/{tui-cli-CSIdfCTR.js → tui-cli-Bg4YuRSd.js} +3 -3
  224. package/dist/{unified-runner-Dy2eq7ZO.js → unified-runner-dSVvVx1y.js} +21 -16
  225. package/dist/{update-cli-JS-KTMc8.js → update-cli-B5q0ErXF.js} +12 -12
  226. package/dist/{update-cli-B0H4ITiR.js → update-cli-CSWxJ-hA.js} +13 -13
  227. package/dist/{update-runner-C17bqGvO.js → update-runner-BB5A0jnW.js} +1 -1
  228. package/dist/{update-runner-e_ChofHM.js → update-runner-jvpPI7iP.js} +1 -1
  229. package/dist/{web-Dr9gUjHz.js → web-BsEbA9Ur.js} +4 -4
  230. package/dist/{web-8YLJpHFc.js → web-BuHFfZp7.js} +6 -6
  231. package/dist/{web-CP9nUIj0.js → web-DDmkA8-N.js} +6 -6
  232. package/dist/{web-Cih6rPbV.js → web-DsdmLxAP.js} +7 -7
  233. package/extensions/bluebubbles/package.json +1 -1
  234. package/extensions/copilot-proxy/package.json +1 -1
  235. package/extensions/diagnostics-otel/package.json +1 -1
  236. package/extensions/discord/package.json +1 -1
  237. package/extensions/feishu/package.json +1 -1
  238. package/extensions/google-antigravity-auth/package.json +1 -1
  239. package/extensions/google-gemini-cli-auth/package.json +1 -1
  240. package/extensions/googlechat/package.json +1 -1
  241. package/extensions/imessage/package.json +1 -1
  242. package/extensions/irc/package.json +1 -1
  243. package/extensions/learning-loop/package.json +1 -1
  244. package/extensions/line/package.json +1 -1
  245. package/extensions/llm-task/package.json +1 -1
  246. package/extensions/matrix/CHANGELOG.md +6 -0
  247. package/extensions/matrix/package.json +1 -1
  248. package/extensions/mattermost/package.json +1 -1
  249. package/extensions/memory-core/package.json +1 -1
  250. package/extensions/memory-lancedb/package.json +1 -1
  251. package/extensions/minimax-portal-auth/package.json +1 -1
  252. package/extensions/msteams/CHANGELOG.md +6 -0
  253. package/extensions/msteams/package.json +1 -1
  254. package/extensions/nextcloud-talk/package.json +1 -1
  255. package/extensions/nostr/CHANGELOG.md +6 -0
  256. package/extensions/nostr/package.json +1 -1
  257. package/extensions/open-prose/package.json +1 -1
  258. package/extensions/outlook/package.json +1 -1
  259. package/extensions/pipeline/package.json +1 -1
  260. package/extensions/signal/package.json +1 -1
  261. package/extensions/slack/package.json +1 -1
  262. package/extensions/telegram/package.json +1 -1
  263. package/extensions/tlon/package.json +1 -1
  264. package/extensions/twitch/CHANGELOG.md +6 -0
  265. package/extensions/twitch/package.json +1 -1
  266. package/extensions/voice-call/CHANGELOG.md +6 -0
  267. package/extensions/voice-call/package.json +1 -1
  268. package/extensions/whatsapp/package.json +1 -1
  269. package/extensions/zalo/CHANGELOG.md +6 -0
  270. package/extensions/zalo/package.json +1 -1
  271. package/extensions/zalouser/CHANGELOG.md +6 -0
  272. package/extensions/zalouser/package.json +1 -1
  273. package/package.json +1 -1
  274. package/dist/plugin-sdk/web-CId35Am_.js +0 -65
@@ -41,7 +41,7 @@ const entries = [
41
41
  description: "Agent Control Protocol tools",
42
42
  hasSubcommands: true,
43
43
  register: async (program) => {
44
- (await import("./acp-cli-NJzARaHq.js")).registerAcpCli(program);
44
+ (await import("./acp-cli-EqE2uipx.js")).registerAcpCli(program);
45
45
  }
46
46
  },
47
47
  {
@@ -49,7 +49,7 @@ const entries = [
49
49
  description: "Run, inspect, and query the WebSocket Gateway",
50
50
  hasSubcommands: true,
51
51
  register: async (program) => {
52
- (await import("./gateway-cli-CqHk7Nfm.js")).registerGatewayCli(program);
52
+ (await import("./gateway-cli-D2MuH-Vj.js")).registerGatewayCli(program);
53
53
  }
54
54
  },
55
55
  {
@@ -57,7 +57,7 @@ const entries = [
57
57
  description: "Gateway service (legacy alias)",
58
58
  hasSubcommands: true,
59
59
  register: async (program) => {
60
- (await import("./daemon-cli-wWnBIQtk.js").then((n) => n.t)).registerDaemonCli(program);
60
+ (await import("./daemon-cli-0RLS-CwL.js").then((n) => n.t)).registerDaemonCli(program);
61
61
  }
62
62
  },
63
63
  {
@@ -65,7 +65,7 @@ const entries = [
65
65
  description: "Tail gateway file logs via RPC",
66
66
  hasSubcommands: false,
67
67
  register: async (program) => {
68
- (await import("./logs-cli-Du8FCgKK.js")).registerLogsCli(program);
68
+ (await import("./logs-cli-Dvs8e7u9.js")).registerLogsCli(program);
69
69
  }
70
70
  },
71
71
  {
@@ -73,7 +73,7 @@ const entries = [
73
73
  description: "System events, heartbeat, and presence",
74
74
  hasSubcommands: true,
75
75
  register: async (program) => {
76
- (await import("./system-cli-D_EIZpBm.js")).registerSystemCli(program);
76
+ (await import("./system-cli-CECNjZdB.js")).registerSystemCli(program);
77
77
  }
78
78
  },
79
79
  {
@@ -81,7 +81,7 @@ const entries = [
81
81
  description: "Discover, scan, and configure models",
82
82
  hasSubcommands: true,
83
83
  register: async (program) => {
84
- (await import("./models-cli-BhOA86hd.js")).registerModelsCli(program);
84
+ (await import("./models-cli-Blg1YDNe.js")).registerModelsCli(program);
85
85
  }
86
86
  },
87
87
  {
@@ -89,7 +89,7 @@ const entries = [
89
89
  description: "Manage exec approvals (gateway or node host)",
90
90
  hasSubcommands: true,
91
91
  register: async (program) => {
92
- (await import("./exec-approvals-cli--zyXYrNY.js")).registerExecApprovalsCli(program);
92
+ (await import("./exec-approvals-cli-wesKZNXl.js")).registerExecApprovalsCli(program);
93
93
  }
94
94
  },
95
95
  {
@@ -97,7 +97,7 @@ const entries = [
97
97
  description: "Manage gateway-owned node pairing and node commands",
98
98
  hasSubcommands: true,
99
99
  register: async (program) => {
100
- (await import("./nodes-cli-BIPA9B8G.js")).registerNodesCli(program);
100
+ (await import("./nodes-cli-alQ9Bv_-.js")).registerNodesCli(program);
101
101
  }
102
102
  },
103
103
  {
@@ -105,7 +105,7 @@ const entries = [
105
105
  description: "Device pairing + token management",
106
106
  hasSubcommands: true,
107
107
  register: async (program) => {
108
- (await import("./devices-cli-BHiPx2c2.js")).registerDevicesCli(program);
108
+ (await import("./devices-cli-CI2TOoP1.js")).registerDevicesCli(program);
109
109
  }
110
110
  },
111
111
  {
@@ -113,7 +113,7 @@ const entries = [
113
113
  description: "Run and manage the headless node host service",
114
114
  hasSubcommands: true,
115
115
  register: async (program) => {
116
- (await import("./node-cli-DSEhcjUV.js")).registerNodeCli(program);
116
+ (await import("./node-cli-C4b1vFcY.js")).registerNodeCli(program);
117
117
  }
118
118
  },
119
119
  {
@@ -129,7 +129,7 @@ const entries = [
129
129
  description: "Open a terminal UI connected to the Gateway",
130
130
  hasSubcommands: false,
131
131
  register: async (program) => {
132
- (await import("./tui-cli-C7Q9lK8Q.js")).registerTuiCli(program);
132
+ (await import("./tui-cli-B-Nl_8uj.js")).registerTuiCli(program);
133
133
  }
134
134
  },
135
135
  {
@@ -137,7 +137,7 @@ const entries = [
137
137
  description: "Manage cron jobs via the Gateway scheduler",
138
138
  hasSubcommands: true,
139
139
  register: async (program) => {
140
- (await import("./cron-cli-BP24xl6n.js")).registerCronCli(program);
140
+ (await import("./cron-cli-C-gg6wfO.js")).registerCronCli(program);
141
141
  }
142
142
  },
143
143
  {
@@ -161,7 +161,7 @@ const entries = [
161
161
  description: "Manage internal agent hooks",
162
162
  hasSubcommands: true,
163
163
  register: async (program) => {
164
- (await import("./hooks-cli-Dqe7WVzD.js")).registerHooksCli(program);
164
+ (await import("./hooks-cli-CGrOzATb.js")).registerHooksCli(program);
165
165
  }
166
166
  },
167
167
  {
@@ -185,7 +185,7 @@ const entries = [
185
185
  description: "Secure DM pairing (approve inbound requests)",
186
186
  hasSubcommands: true,
187
187
  register: async (program) => {
188
- const { registerPluginCliCommands } = await import("./cli-CVqXnzze.js");
188
+ const { registerPluginCliCommands } = await import("./cli-D9LYX6lB.js");
189
189
  registerPluginCliCommands(program, await loadConfig());
190
190
  (await import("./pairing-cli-CQRAnpvm.js")).registerPairingCli(program);
191
191
  }
@@ -195,8 +195,8 @@ const entries = [
195
195
  description: "Manage Symi plugins and extensions",
196
196
  hasSubcommands: true,
197
197
  register: async (program) => {
198
- (await import("./plugins-cli-CJLJsr_L.js")).registerPluginsCli(program);
199
- const { registerPluginCliCommands } = await import("./cli-CVqXnzze.js");
198
+ (await import("./plugins-cli-DMxHIMNz.js")).registerPluginsCli(program);
199
+ const { registerPluginCliCommands } = await import("./cli-D9LYX6lB.js");
200
200
  registerPluginCliCommands(program, await loadConfig());
201
201
  }
202
202
  },
@@ -205,7 +205,7 @@ const entries = [
205
205
  description: "Manage connected chat channels (Telegram, Discord, etc.)",
206
206
  hasSubcommands: true,
207
207
  register: async (program) => {
208
- (await import("./channels-cli-CfMJGgBp.js")).registerChannelsCli(program);
208
+ (await import("./channels-cli-CMMBVrwz.js")).registerChannelsCli(program);
209
209
  }
210
210
  },
211
211
  {
@@ -221,7 +221,7 @@ const entries = [
221
221
  description: "Security tools and local config audits",
222
222
  hasSubcommands: true,
223
223
  register: async (program) => {
224
- (await import("./security-cli-Dmb1k47A.js")).registerSecurityCli(program);
224
+ (await import("./security-cli-KxA9AZ3q.js")).registerSecurityCli(program);
225
225
  }
226
226
  },
227
227
  {
@@ -237,7 +237,7 @@ const entries = [
237
237
  description: "Update Symi and inspect update channel status",
238
238
  hasSubcommands: true,
239
239
  register: async (program) => {
240
- (await import("./update-cli-JS-KTMc8.js")).registerUpdateCli(program);
240
+ (await import("./update-cli-B5q0ErXF.js")).registerUpdateCli(program);
241
241
  }
242
242
  },
243
243
  {
@@ -245,7 +245,7 @@ const entries = [
245
245
  description: "Generate shell completion script",
246
246
  hasSubcommands: false,
247
247
  register: async (program) => {
248
- (await import("./completion-cli-GqPGf3Kq.js").then((n) => n.n)).registerCompletionCli(program);
248
+ (await import("./completion-cli-DCO3bMjl.js").then((n) => n.n)).registerCompletionCli(program);
249
249
  }
250
250
  }
251
251
  ];
@@ -21,7 +21,7 @@ import { a as isPathInsideWithRealpath } from "./legacy-names-Be3msDZo.js";
21
21
  import { t as normalizeChatType } from "./chat-type-DyovJwCt.js";
22
22
  import { n as resolveConversationLabel } from "./conversation-label-Bn5j3lUT.js";
23
23
  import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-CmmmT8IP.js";
24
- import { _ as applyTemplate, a as resolveMediaAttachmentLocalRoots, c as resolveAttachmentKind, d as registerUnhandledRejectionHandler, f as resolveConcurrency, g as CLI_OUTPUT_MAX_BUFFER, h as resolveMediaUnderstandingScope, i as resolveAutoImageModel, l as buildRandomTempFilePath, m as normalizeMediaUnderstandingChatType, n as createMediaAttachmentCache, o as runCapability, p as resolveTimeoutMs, r as normalizeMediaAttachments, t as buildProviderRegistry } from "./runner-CUglpiFP.js";
24
+ import { _ as applyTemplate, a as resolveMediaAttachmentLocalRoots, c as resolveAttachmentKind, d as registerUnhandledRejectionHandler, f as resolveConcurrency, g as CLI_OUTPUT_MAX_BUFFER, h as resolveMediaUnderstandingScope, i as resolveAutoImageModel, l as buildRandomTempFilePath, m as normalizeMediaUnderstandingChatType, n as createMediaAttachmentCache, o as runCapability, p as resolveTimeoutMs, r as normalizeMediaAttachments, t as buildProviderRegistry } from "./runner-BSzJIT-z.js";
25
25
  import { _ as stripThinkingTagsFromText, a as decodeDataUrl, b as minimaxUnderstandImage, c as extractAssistantThinking, d as formatReasoningMessage, f as inferToolMetaFromArgs, g as stripMinimaxToolCallXml, h as stripDowngradedToolCallText, i as coerceImageModelConfig, l as extractThinkingFromTaggedStream, m as promoteThinkingTagsToBlocks, o as resolveProviderVisionModelFromConfig, p as isAssistantMessage, r as coerceImageAssistantText, s as extractAssistantText$1, u as extractThinkingFromTaggedText, v as stripReasoningTagsFromText, y as extractTextFromChatContent } from "./image-D9uvDTrc.js";
26
26
  import { t as ensureSymiModelsJson } from "./models-config-qyOXrOli.js";
27
27
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-4uUnLc3n.js";
@@ -51,7 +51,7 @@ import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-Db3d
51
51
  import { t as fetchWithSsrFGuard } from "./fetch-guard-DOPkVbh3.js";
52
52
  import { a as readResponseWithLimit, i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, t as getAgentScopedMediaLocalRoots } from "./local-roots-aAFLQGkY.js";
53
53
  import { v as runTasksWithConcurrency } from "./sqlite-Dx3J_aSE.js";
54
- import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-DvBJ8pMD.js";
54
+ import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-DsFLN-ua.js";
55
55
  import { a as isSilentReplyText, i as isSilentReplyPrefixText, n as SILENT_REPLY_TOKEN, r as SYMIPULSE_TOKEN, t as HEARTBEAT_TOKEN } from "./tokens-BuceUQDl.js";
56
56
  import { n as createBrowserRouteDispatcher, r as getMachineDisplayName, t as withTimeout$4 } from "./with-timeout-gmK6RciS.js";
57
57
  import { C as getGlobalHookRunner, S as parseInlineDirectives$1, _ as normalizeChannelTargetInput, a as normalizeOutboundPayloadsForJson, b as MEDIA_TOKEN_RE, c as applyReplyThreading, d as isRenderablePayload, f as shouldSuppressMessagingToolReplies, g as buildTargetResolverSignature, h as throwIfAborted, 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 normalizeTargetForProvider, w as initializeGlobalHookRunner, x as splitMediaFromOutput, y as parseReplyDirectives } from "./deliver-CWR_98sK.js";
@@ -69,8 +69,8 @@ import { n as resolveMarkdownTableMode } from "./markdown-tables-CEbN0fEm.js";
69
69
  import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-DZam9q5M.js";
70
70
  import { a as resolveNativeSkillsEnabled, i as resolveNativeCommandsEnabled, n as isNativeCommandsExplicitlyDisabled, r as isRestartEnabled, t as isCommandFlagEnabled } from "./commands-BNLCWX6e.js";
71
71
  import { a as listChatCommandsForConfig, c as normalizeCommandBody, d as resolveCommandArgMenu, f as serializeCommandArgs, i as listChatCommands, l as parseCommandArgs, o as listNativeCommandSpecs, p as shouldHandleTextCommands, r as findCommandByNativeName, s as listNativeCommandSpecsForConfig, t as buildCommandTextFromArgs, u as resolveCommandArgChoices } from "./commands-registry-BT0-zzs3.js";
72
- import { Mt as SESSION_LABEL_MAX_LENGTH, t as GatewayClient } from "./client-CQSyCS4M.js";
73
- import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege, t as buildGatewayConnectionDetails } from "./call-CJaS1iRF.js";
72
+ import { Nt as SESSION_LABEL_MAX_LENGTH, t as GatewayClient } from "./client-jI1oE0_k.js";
73
+ import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege, t as buildGatewayConnectionDetails } from "./call-CFhGTNtt.js";
74
74
  import { n as formatTimeAgo } from "./format-relative-BXoxEQVN.js";
75
75
  import { n as normalizePollInput } from "./polls-DhH5YkzN.js";
76
76
  import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-BOiuJS3t.js";
@@ -85,7 +85,7 @@ import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliv
85
85
  import { b as ensureSkillsWatcher, i as resolveSkillCommandInvocation, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, r as listSkillCommandsForWorkspace, t as listReservedChatSlashCommandNames, x as getSkillsSnapshotVersion } from "./skill-commands-Cxw-jNxU.js";
86
86
  import { c as hasNonzeroUsage, l as normalizeUsage, n as loadCostUsageSummary, o as derivePromptTokens, r as loadSessionCostSummary, s as deriveSessionTotalTokens } from "./session-cost-usage-UxUgrslM.js";
87
87
  import { a as normalizeIMessageHandle, c as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, i as isAllowedIMessageSender, o as parseIMessageTarget, r as formatIMessageChatTarget, s as createIMessageRpcClient, t as sendMessageIMessage } from "./send-DWYkPSUs.js";
88
- import { r as detectBinary } from "./onboard-helpers-ZmZYzlq3.js";
88
+ import { r as detectBinary } from "./onboard-helpers-Ci50bfCW.js";
89
89
  import { t as resolvePairingIdLabel } from "./pairing-labels-2S6x2UoV.js";
90
90
  import { i as resolveModelCostConfig, n as formatTokenCount$2, r as formatUsd, t as estimateUsageCost } from "./usage-format-BzKEDn0q.js";
91
91
  import { t as getActiveWebListener } from "./active-listener-kvXhlgwu.js";
@@ -15604,7 +15604,7 @@ async function preflightDiscordMessage(params) {
15604
15604
  let preflightTranscript;
15605
15605
  const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
15606
15606
  if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
15607
- const { transcribeFirstAudio } = await import("./audio-preflight-CWnxkaac.js");
15607
+ const { transcribeFirstAudio } = await import("./audio-preflight-COe9clRU.js");
15608
15608
  const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
15609
15609
  if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
15610
15610
  ctx: {
@@ -31487,7 +31487,7 @@ async function runAgentTurn(params) {
31487
31487
  function createDefaultDeps() {
31488
31488
  return {
31489
31489
  sendMessageWhatsApp: async (...args) => {
31490
- const { sendMessageWhatsApp } = await import("./web-Cih6rPbV.js");
31490
+ const { sendMessageWhatsApp } = await import("./web-DsdmLxAP.js");
31491
31491
  return await sendMessageWhatsApp(...args);
31492
31492
  },
31493
31493
  sendMessageTelegram: async (...args) => {
@@ -47752,7 +47752,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeAllowFro
47752
47752
  const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
47753
47753
  let preflightTranscript;
47754
47754
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
47755
- const { transcribeFirstAudio } = await import("./audio-preflight-CWnxkaac.js");
47755
+ const { transcribeFirstAudio } = await import("./audio-preflight-COe9clRU.js");
47756
47756
  preflightTranscript = await transcribeFirstAudio({
47757
47757
  ctx: {
47758
47758
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -49918,7 +49918,7 @@ function loadWebLoginQr() {
49918
49918
  return webLoginQrPromise;
49919
49919
  }
49920
49920
  function loadWebChannel() {
49921
- webChannelPromise ??= import("./web-Cih6rPbV.js");
49921
+ webChannelPromise ??= import("./web-DsdmLxAP.js");
49922
49922
  return webChannelPromise;
49923
49923
  }
49924
49924
  function loadWhatsAppActions() {
@@ -1,4 +1,4 @@
1
- import { a as randomIdempotencyKey, n as callGateway } from "./call-BcE47FtD.js";
1
+ import { a as randomIdempotencyKey, n as callGateway } from "./call-DIDhYlsx.js";
2
2
  import { h as GATEWAY_CLIENT_NAMES, m as GATEWAY_CLIENT_MODES } from "./message-channel-C9dERklz.js";
3
3
  import { n as parseNodeList, r as parsePairingList, t as resolveNodeIdFromCandidates } from "./node-match-DKGjoxbG.js";
4
4
  import { n as withProgress } from "./progress-BAHiAaDW.js";
@@ -1,5 +1,5 @@
1
1
  import { h as GATEWAY_CLIENT_NAMES, m as GATEWAY_CLIENT_MODES } from "./message-channel-aT-I_DTX.js";
2
- import { a as randomIdempotencyKey, n as callGateway } from "./call-CJaS1iRF.js";
2
+ import { a as randomIdempotencyKey, n as callGateway } from "./call-CFhGTNtt.js";
3
3
  import { n as withProgress } from "./progress-jIePzvGA.js";
4
4
  import { n as parseNodeList, r as parsePairingList, t as resolveNodeIdFromCandidates } from "./node-match-CN8o4Vi3.js";
5
5
 
@@ -9,11 +9,11 @@ import "./frontmatter-B8duUx_6.js";
9
9
  import "./skills-hAdgFdrv.js";
10
10
  import "./manifest-registry-Czr39pxG.js";
11
11
  import { H as VERSION, W as loadDotEnv } from "./config-DHBLS1Hl.js";
12
- import "./client-DMBZpU6X.js";
13
- import "./call-BcE47FtD.js";
12
+ import "./client-T3qcxXru.js";
13
+ import "./call-DIDhYlsx.js";
14
14
  import "./message-channel-C9dERklz.js";
15
15
  import "./pairing-token-Byh6drgn.js";
16
- import "./subagent-registry-BXI3DyAX.js";
16
+ import "./subagent-registry-Cdiios3w.js";
17
17
  import "./sessions-CJXnZVjR.js";
18
18
  import "./tokens-Csntmwwn.js";
19
19
  import "./plugins-CwSlLxM8.js";
@@ -93,7 +93,7 @@ import "./cli-utils-CCaEbxAz.js";
93
93
  import "./help-format-B0pWGnZs.js";
94
94
  import "./progress-BAHiAaDW.js";
95
95
  import "./replies-DO80zq73.js";
96
- import "./onboard-helpers-_pit1NZW.js";
96
+ import "./onboard-helpers-DASpwgat.js";
97
97
  import "./prompt-style-DwCXob2h.js";
98
98
  import "./pairing-labels-D1HDboV2.js";
99
99
  import "./pi-tools.policy-De00gPXt.js";
@@ -101,9 +101,9 @@ import { t as ensureSymiCliOnPath } from "./path-env-Bic_wXs9.js";
101
101
  import "./catalog-DLQFKucJ.js";
102
102
  import "./note-DDecZomM.js";
103
103
  import "./plugin-auto-enable-D6ENR3Xg.js";
104
- import { t as ensurePluginRegistryLoaded } from "./plugin-registry-BkFixq63.js";
104
+ import { t as ensurePluginRegistryLoaded } from "./plugin-registry-DfODDpUe.js";
105
105
  import { t as assertSupportedRuntime } from "./runtime-guard-D7waq_Ho.js";
106
- import { t as emitCliBanner } from "./banner-DCF8IifK.js";
106
+ import { t as emitCliBanner } from "./banner-DlzlZSHv.js";
107
107
  import "./doctor-config-flow-CA3eiKhd.js";
108
108
  import { n as ensureConfigReady } from "./config-guard-CPHvOzsC.js";
109
109
  import process$1 from "node:process";
@@ -118,7 +118,7 @@ const routeHealth = {
118
118
  const verbose = getVerboseFlag(argv, { includeDebug: true });
119
119
  const timeoutMs = getPositiveIntFlagValue(argv, "--timeout");
120
120
  if (timeoutMs === null) return false;
121
- const { healthCommand } = await import("./health-BNxdveY8.js").then((n) => n.i);
121
+ const { healthCommand } = await import("./health-By4_Yu9p.js").then((n) => n.i);
122
122
  await healthCommand({
123
123
  json,
124
124
  timeoutMs,
@@ -138,7 +138,7 @@ const routeStatus = {
138
138
  const verbose = getVerboseFlag(argv, { includeDebug: true });
139
139
  const timeoutMs = getPositiveIntFlagValue(argv, "--timeout");
140
140
  if (timeoutMs === null) return false;
141
- const { statusCommand } = await import("./status-CwhHbhUv.js").then((n) => n.t);
141
+ const { statusCommand } = await import("./status-CL1xQrpW.js").then((n) => n.t);
142
142
  await statusCommand({
143
143
  json,
144
144
  deep,
@@ -172,7 +172,7 @@ const routeAgentsList = {
172
172
  run: async (argv) => {
173
173
  const json = hasFlag(argv, "--json");
174
174
  const bindings = hasFlag(argv, "--bindings");
175
- const { agentsListCommand } = await import("./agents-BIAaMNSb.js").then((n) => n.t);
175
+ const { agentsListCommand } = await import("./agents-BDKvA-fr.js").then((n) => n.t);
176
176
  await agentsListCommand({
177
177
  json,
178
178
  bindings
@@ -243,7 +243,7 @@ const routes = [
243
243
  const pathArg = getCommandPositionals(argv)[2];
244
244
  if (!pathArg) return false;
245
245
  const json = hasFlag(argv, "--json");
246
- const { runConfigGet } = await import("./config-cli-BjXnB1c7.js");
246
+ const { runConfigGet } = await import("./config-cli-BCiQhEoA.js");
247
247
  await runConfigGet({
248
248
  path: pathArg,
249
249
  json
@@ -256,7 +256,7 @@ const routes = [
256
256
  run: async (argv) => {
257
257
  const pathArg = getCommandPositionals(argv)[2];
258
258
  if (!pathArg) return false;
259
- const { runConfigUnset } = await import("./config-cli-BjXnB1c7.js");
259
+ const { runConfigUnset } = await import("./config-cli-BCiQhEoA.js");
260
260
  await runConfigUnset({ path: pathArg });
261
261
  return true;
262
262
  }
@@ -270,7 +270,7 @@ const routes = [
270
270
  const local = hasFlag(argv, "--local");
271
271
  const json = hasFlag(argv, "--json");
272
272
  const plain = hasFlag(argv, "--plain");
273
- const { modelsListCommand } = await import("./models-c9cOxxrP.js").then((n) => n.t);
273
+ const { modelsListCommand } = await import("./models-D1mOj_fd.js").then((n) => n.t);
274
274
  await modelsListCommand({
275
275
  all,
276
276
  local,
@@ -301,7 +301,7 @@ const routes = [
301
301
  const plain = hasFlag(argv, "--plain");
302
302
  const check = hasFlag(argv, "--check");
303
303
  const probe = hasFlag(argv, "--probe");
304
- const { modelsStatusCommand } = await import("./models-c9cOxxrP.js").then((n) => n.t);
304
+ const { modelsStatusCommand } = await import("./models-D1mOj_fd.js").then((n) => n.t);
305
305
  await modelsStatusCommand({
306
306
  json,
307
307
  plain,
@@ -379,7 +379,7 @@ async function runCli(argv = process$1.argv) {
379
379
  assertSupportedRuntime();
380
380
  if (await tryRouteCli(normalizedArgv)) return;
381
381
  enableConsoleCapture();
382
- const { buildProgram } = await import("./program-B6KpKryX.js");
382
+ const { buildProgram } = await import("./program-CK6pb4lq.js");
383
383
  const program = buildProgram();
384
384
  installUnhandledRejectionHandler();
385
385
  process$1.on("uncaughtException", (error) => {
@@ -411,10 +411,10 @@ async function runCli(argv = process$1.argv) {
411
411
  const { getProgramContext } = await import("./program-context-CqzR_m-7.js").then((n) => n.n);
412
412
  const ctx = getProgramContext(program);
413
413
  if (ctx) {
414
- const { registerCoreCliByName } = await import("./command-registry-CrYpGtIt.js").then((n) => n.t);
414
+ const { registerCoreCliByName } = await import("./command-registry-CARx8WBf.js").then((n) => n.t);
415
415
  await registerCoreCliByName(program, ctx, primary, parseArgv);
416
416
  }
417
- const { registerSubCliByName } = await import("./register.subclis-DcBHO9E8.js").then((n) => n.a);
417
+ const { registerSubCliByName } = await import("./register.subclis-D_HoHaB7.js").then((n) => n.a);
418
418
  await registerSubCliByName(program, primary);
419
419
  }
420
420
  const hasBuiltinPrimary = primary !== null && program.commands.some((command) => command.name() === primary);
@@ -423,7 +423,7 @@ async function runCli(argv = process$1.argv) {
423
423
  primary,
424
424
  hasBuiltinPrimary
425
425
  })) {
426
- const { registerPluginCliCommands } = await import("./cli-CVqXnzze.js");
426
+ const { registerPluginCliCommands } = await import("./cli-D9LYX6lB.js");
427
427
  const { loadConfig } = await import("./config-DHBLS1Hl.js").then((n) => n.t);
428
428
  registerPluginCliCommands(program, loadConfig());
429
429
  }
@@ -10,7 +10,7 @@ import { n as fetchWithTimeout } from "./fetch-timeout-Db3da8yR.js";
10
10
  import { t as fetchWithSsrFGuard } from "./fetch-guard-DOPkVbh3.js";
11
11
  import { n as executeWithApiKeyRotation, r as parseGeminiAuth, t as collectProviderApiKeysForExecution } from "./api-key-rotation-CzuPlV2t.js";
12
12
  import { i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, r as MediaFetchError } from "./local-roots-aAFLQGkY.js";
13
- import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-DvBJ8pMD.js";
13
+ import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-DsFLN-ua.js";
14
14
  import process$1 from "node:process";
15
15
  import { fileURLToPath } from "node:url";
16
16
  import { constants } from "node:fs";
@@ -4,7 +4,7 @@ import { $ as resolveSymiAgentDir, A as normalizeGoogleModelId, B as resolveApiK
4
4
  import { d as DEFAULT_IMESSAGE_ATTACHMENT_ROOTS, f as isInboundPathAllowed, m as resolveIMessageAttachmentRoots, n as loadConfig, p as mergeInboundPathRoots } from "./config-5SdHIcHU.js";
5
5
  import { c as detectMime, f as isAudioFileName, m as kindFromMime, u as getFileExtension } from "./image-ops-C7CauEK8.js";
6
6
  import { t as normalizeChatType } from "./chat-type-3FRbbjbq.js";
7
- import { S as ensureSymiModelsJson, t as describeImageWithModel } from "./image-CXu8W39c.js";
7
+ import { S as ensureSymiModelsJson, t as describeImageWithModel } from "./image-CuzFLQWC.js";
8
8
  import { n as collectProviderApiKeysForExecution, r as executeWithApiKeyRotation, t as parseGeminiAuth } from "./gemini-auth-Dy12ZAH3.js";
9
9
  import { n as fetchWithTimeout } from "./fetch-timeout-DL3f_O53.js";
10
10
  import { i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, o as fetchWithSsrFGuard, r as MediaFetchError } from "./local-roots-DhZz0Ybs.js";
@@ -4,7 +4,7 @@ import { G as resolveSymiAgentDir, T as resolveApiKeyForProvider, c as normalize
4
4
  import { t as normalizeChatType } from "./chat-type-DFDuk3FY.js";
5
5
  import { _ as kindFromMime, d as detectMime, h as isAudioFileName, p as getFileExtension } from "./image-ops-ByaQt43P.js";
6
6
  import { d as DEFAULT_IMESSAGE_ATTACHMENT_ROOTS, f as isInboundPathAllowed, m as resolveIMessageAttachmentRoots, n as loadConfig, p as mergeInboundPathRoots } from "./config-BmV60pPT.js";
7
- import { S as ensureSymiModelsJson, t as describeImageWithModel } from "./image-DcpMiprB.js";
7
+ import { S as ensureSymiModelsJson, t as describeImageWithModel } from "./image-CHzdaNJ4.js";
8
8
  import { n as collectProviderApiKeysForExecution, r as executeWithApiKeyRotation, t as parseGeminiAuth } from "./gemini-auth-CSlZZ1Pw.js";
9
9
  import { n as fetchWithTimeout } from "./fetch-timeout-BheTNyes.js";
10
10
  import { i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, o as fetchWithSsrFGuard, r as MediaFetchError } from "./local-roots-CC8jiKDk.js";
@@ -40,8 +40,8 @@ import "./bindings-DFaVVCsf.js";
40
40
  import "./logging-w5jq5901.js";
41
41
  import "./paths-CyhzMxFA.js";
42
42
  import "./commands-BNLCWX6e.js";
43
- import "./client-CQSyCS4M.js";
44
- import "./call-CJaS1iRF.js";
43
+ import "./client-jI1oE0_k.js";
44
+ import "./call-CFhGTNtt.js";
45
45
  import "./pairing-token-CX3NN_qj.js";
46
46
  import { i as readChannelAllowFromStore } from "./pairing-store-CK726Dzq.js";
47
47
  import { t as formatDocsLink } from "./links-3i1eUga4.js";
@@ -50,7 +50,7 @@ import "./workspace-dirs-GpkFi6Kw.js";
50
50
  import "./pi-tools.policy-CIDBbw6x.js";
51
51
  import "./dangerous-tools-BL-M3lPt.js";
52
52
  import "./skill-scanner-CLs8u6vQ.js";
53
- import { i as collectIncludePathsRecursive, n as createIcaclsResetCommand, r as formatIcaclsResetCommand, t as runSecurityAudit } from "./audit-CrITRV6w.js";
53
+ import { i as collectIncludePathsRecursive, n as createIcaclsResetCommand, r as formatIcaclsResetCommand, t as runSecurityAudit } from "./audit-DCDNPsGr.js";
54
54
  import "./dm-policy-shared-Bh3TbexU.js";
55
55
  import path from "node:path";
56
56
  import fs from "node:fs/promises";
@@ -9,8 +9,8 @@ import "./frontmatter-B8duUx_6.js";
9
9
  import "./skills-hAdgFdrv.js";
10
10
  import "./manifest-registry-Czr39pxG.js";
11
11
  import { i as loadConfig, r as createConfigIO } from "./config-DHBLS1Hl.js";
12
- import "./client-DMBZpU6X.js";
13
- import "./call-BcE47FtD.js";
12
+ import "./client-T3qcxXru.js";
13
+ import "./call-DIDhYlsx.js";
14
14
  import "./message-channel-C9dERklz.js";
15
15
  import "./pairing-token-Byh6drgn.js";
16
16
  import "./sessions-CJXnZVjR.js";
@@ -45,7 +45,7 @@ import { t as formatHelpExamples } from "./help-format-B0pWGnZs.js";
45
45
  import "./pi-tools.policy-De00gPXt.js";
46
46
  import "./dangerous-tools-B8QrxStA.js";
47
47
  import "./skill-scanner-BGWOBqLY.js";
48
- import { i as collectIncludePathsRecursive, n as createIcaclsResetCommand, r as formatIcaclsResetCommand, t as runSecurityAudit } from "./audit-Byo5jCLN.js";
48
+ import { i as collectIncludePathsRecursive, n as createIcaclsResetCommand, r as formatIcaclsResetCommand, t as runSecurityAudit } from "./audit-Cgd5-Y7W.js";
49
49
  import "./dm-policy-shared-DJ-61hCT.js";
50
50
  import path from "node:path";
51
51
  import fs from "node:fs/promises";
@@ -6,13 +6,13 @@ import { C as ensureAgentWorkspace, S as DEFAULT_USER_FILENAME, T as isWorkspace
6
6
  import { i as loadWorkspaceSkillEntries } from "./skills-hAdgFdrv.js";
7
7
  import { t as buildWorkspaceSkillStatus } from "./skills-status-DKXJ-tbi.js";
8
8
  import { H as VERSION, N as applyMergePatch, P as applyLegacyMigrations, S as sensitive, U as resolveRuntimeServiceVersion, a as parseConfigJson5, c as resolveConfigSnapshotHash, d as SymiSchema, i as loadConfig, l as writeConfigFile, o as readConfigFileSnapshot, s as readConfigFileSnapshotForWrite, u as validateConfigObjectWithPlugins } from "./config-DHBLS1Hl.js";
9
- import { $ as validateNodePairRejectParams, A as validateCronStatusParams, At as ErrorCodes, B as validateExecApprovalsGetParams, Bt as removePairedDevice, C as validateConfigSetParams, Ct as validateWebLoginStartParams, D as validateCronRemoveParams, Dt as validateWizardStartParams, E as validateCronListParams, Et as validateWizardNextParams, F as validateDevicePairRemoveParams, Ft as approveDevicePairing, G as validateModelsListParams, H as validateExecApprovalsNodeSetParams, Ht as revokeDeviceToken, I as validateDeviceTokenRevokeParams, J as validateNodeInvokeParams, K as validateNodeDescribeParams, L as validateDeviceTokenRotateParams, M as validateDevicePairApproveParams, N as validateDevicePairListParams, Nt as parseSessionLabel, O as validateCronRunParams, Ot as validateWizardStatusParams, P as validateDevicePairRejectParams, Q as validateNodePairListParams, Rt as listDevicePairing, S as validateConfigSchemaParams, St as validateWakeParams, T as validateCronAddParams, Tt as validateWizardCancelParams, U as validateExecApprovalsSetParams, Ut as rotateDeviceToken, V as validateExecApprovalsNodeGetParams, W as validateLogsTailParams, Wt as summarizeDeviceTokens, X as validateNodeListParams, Y as validateNodeInvokeResultParams, Z as validateNodePairApproveParams, _ as validateChatInjectParams, _t as validateSkillsStatusParams, a as validateAgentWaitParams, b as validateConfigGetParams, bt as validateTalkModeParams, c as validateAgentsFilesGetParams, ct as validateSessionsDeleteParams, d as validateAgentsListParams, dt as validateSessionsPreviewParams, et as validateNodePairRequestParams, f as validateAgentsUpdateParams, ft as validateSessionsResetParams, g as validateChatHistoryParams, gt as validateSkillsInstallParams, h as validateChatAbortParams, ht as validateSkillsBinsParams, i as validateAgentParams, it as validatePushTestParams, j as validateCronUpdateParams, jt as errorShape, k as validateCronRunsParams, l as validateAgentsFilesListParams, lt as validateSessionsListParams, m as validateChannelsStatusParams, mt as validateSessionsUsageParams, n as formatValidationErrors, nt as validateNodeRenameParams, o as validateAgentsCreateParams, ot as validateSendParams, p as validateChannelsLogoutParams, pt as validateSessionsResolveParams, q as validateNodeEventParams, r as validateAgentIdentityParams, rt as validatePollParams, s as validateAgentsDeleteParams, st as validateSessionsCompactParams, tt as validateNodePairVerifyParams, u as validateAgentsFilesSetParams, ut as validateSessionsPatchParams, v as validateChatSendParams, vt as validateSkillsUpdateParams, wt as validateWebLoginWaitParams, x as validateConfigPatchParams, xt as validateUpdateRunParams, y as validateConfigApplyParams, yt as validateTalkConfigParams, zt as rejectDevicePairing } from "./client-DMBZpU6X.js";
10
- import { l as authorizeOperatorScopesForMethod, s as ADMIN_SCOPE$2, u as isNodeRoleMethod } from "./call-BcE47FtD.js";
9
+ import { $ as validateNodePairRejectParams, A as validateCronStatusParams, B as validateExecApprovalsGetParams, Bt as rejectDevicePairing, C as validateConfigSetParams, Ct as validateWakeParams, D as validateCronRemoveParams, Dt as validateWizardNextParams, E as validateCronListParams, Et as validateWizardCancelParams, F as validateDevicePairRemoveParams, G as validateModelsListParams, Gt as summarizeDeviceTokens, H as validateExecApprovalsNodeSetParams, I as validateDeviceTokenRevokeParams, It as approveDevicePairing, J as validateNodeInvokeParams, K as validateNodeDescribeParams, L as validateDeviceTokenRotateParams, M as validateDevicePairApproveParams, Mt as errorShape, N as validateDevicePairListParams, O as validateCronRunParams, Ot as validateWizardStartParams, P as validateDevicePairRejectParams, Pt as parseSessionLabel, Q as validateNodePairListParams, S as validateConfigSchemaParams, St as validateUpdateRunParams, T as validateCronAddParams, Tt as validateWebLoginWaitParams, U as validateExecApprovalsSetParams, Ut as revokeDeviceToken, V as validateExecApprovalsNodeGetParams, Vt as removePairedDevice, W as validateLogsTailParams, Wt as rotateDeviceToken, X as validateNodeListParams, Y as validateNodeInvokeResultParams, Z as validateNodePairApproveParams, _ as validateChatInjectParams, _t as validateSkillsInstallParams, a as validateAgentWaitParams, b as validateConfigGetParams, bt as validateTalkConfigParams, c as validateAgentsFilesGetParams, ct as validateSessionsDeleteParams, d as validateAgentsListParams, dt as validateSessionsPreviewParams, et as validateNodePairRequestParams, f as validateAgentsUpdateParams, ft as validateSessionsResetParams, g as validateChatHistoryParams, gt as validateSkillsBinsParams, h as validateChatAbortParams, ht as validateSessionsUsageParams, i as validateAgentParams, it as validatePushTestParams, j as validateCronUpdateParams, jt as ErrorCodes, k as validateCronRunsParams, kt as validateWizardStatusParams, l as validateAgentsFilesListParams, lt as validateSessionsListParams, m as validateChannelsStatusParams, mt as validateSessionsRestoreParams, n as formatValidationErrors, nt as validateNodeRenameParams, o as validateAgentsCreateParams, ot as validateSendParams, p as validateChannelsLogoutParams, pt as validateSessionsResolveParams, q as validateNodeEventParams, r as validateAgentIdentityParams, rt as validatePollParams, s as validateAgentsDeleteParams, st as validateSessionsCompactParams, tt as validateNodePairVerifyParams, u as validateAgentsFilesSetParams, ut as validateSessionsPatchParams, v as validateChatSendParams, vt as validateSkillsStatusParams, wt as validateWebLoginStartParams, x as validateConfigPatchParams, xt as validateTalkModeParams, y as validateConfigApplyParams, yt as validateSkillsUpdateParams, zt as listDevicePairing } from "./client-T3qcxXru.js";
10
+ import { l as authorizeOperatorScopesForMethod, s as ADMIN_SCOPE$2, u as isNodeRoleMethod } from "./call-DIDhYlsx.js";
11
11
  import { f as GATEWAY_CLIENT_CAPS, g as hasGatewayClientCap, i as isGatewayMessageChannel, l as normalizeMessageChannel, n as isDeliverableMessageChannel, t as INTERNAL_MESSAGE_CHANNEL } from "./message-channel-C9dERklz.js";
12
12
  import { c as writeJsonAtomic, o as createAsyncLock, s as readJsonFile } from "./pairing-token-Byh6drgn.js";
13
13
  import { s as pickPrimaryLanIPv4 } from "./net-DZ5Ayk-W.js";
14
14
  import { i as normalizeInputProvenance } from "./input-provenance-D0lNkCf6.js";
15
- import { $n as resolveTtsAutoMode, B as dispatchInboundMessage, C as resolveAgentDeliveryPlan, Cn as enqueueSystemEvent, Cr as onAgentEvent, D as createOutboundSendDeps, Dt as normalizeCronJobPatch, Et as normalizeCronJobCreate, G as BARE_SESSION_RESET_PROMPT, Gn as stopSubagentsForRequester, Gt as persistBrowserProxyFiles, In as resolveAgentTimeoutMs, Jn as resolveUserTimezone, Qn as resolveTtsApiKey, Sn as parseVerboseOverride, V as createReplyDispatcher, Vn as formatZonedTimestamp, Wn as isAbortTrigger, Wt as applyBrowserProxyPaths, Xn as isTtsEnabled, Y as abortEmbeddedPiRun, Yn as getTtsProvider, Z as waitForEmbeddedPiRunEnd, Zn as isTtsProviderConfigured, Zt as scheduleGatewaySigusr1Restart, a as listSubagentRunsForRequester, ar as textToSpeech, bn as applyModelOverrideToSessionEntry, c as clearSessionQueues, ct as resolveOutboundSessionRoute, dt as resolveOutboundTarget, en as unbindThreadBindingsBySessionKey, er as resolveTtsConfig, hn as resolveSendPolicy, i as listDescendantRunsForRequester, ir as setTtsProvider, m as loadSymiPlugins, mn as normalizeSendPolicy, nr as resolveTtsProviderOrder, or as OPENAI_TTS_MODELS, rn as loadProviderUsageSummary, rr as setTtsEnabled, sr as OPENAI_TTS_VOICES, st as ensureOutboundSessionEntry, tn as normalizeGroupActivation, tr as resolveTtsPrefsPath, w as resolveAgentOutboundTarget, wn as isSystemEventContextChanged, wr as registerAgentRunContext, wt as writeRestartSentinel, x as agentCommand, xn as applyVerboseOverride, yt as formatDoctorNonInteractiveHint } from "./subagent-registry-BXI3DyAX.js";
15
+ import { $n as resolveTtsAutoMode, B as dispatchInboundMessage, C as resolveAgentDeliveryPlan, Cn as enqueueSystemEvent, Cr as onAgentEvent, D as createOutboundSendDeps, Dt as normalizeCronJobPatch, Et as normalizeCronJobCreate, G as BARE_SESSION_RESET_PROMPT, Gn as stopSubagentsForRequester, Gt as persistBrowserProxyFiles, In as resolveAgentTimeoutMs, Jn as resolveUserTimezone, Qn as resolveTtsApiKey, Sn as parseVerboseOverride, V as createReplyDispatcher, Vn as formatZonedTimestamp, Wn as isAbortTrigger, Wt as applyBrowserProxyPaths, Xn as isTtsEnabled, Y as abortEmbeddedPiRun, Yn as getTtsProvider, Z as waitForEmbeddedPiRunEnd, Zn as isTtsProviderConfigured, Zt as scheduleGatewaySigusr1Restart, a as listSubagentRunsForRequester, ar as textToSpeech, bn as applyModelOverrideToSessionEntry, c as clearSessionQueues, ct as resolveOutboundSessionRoute, dt as resolveOutboundTarget, en as unbindThreadBindingsBySessionKey, er as resolveTtsConfig, hn as resolveSendPolicy, i as listDescendantRunsForRequester, ir as setTtsProvider, m as loadSymiPlugins, mn as normalizeSendPolicy, nr as resolveTtsProviderOrder, or as OPENAI_TTS_MODELS, rn as loadProviderUsageSummary, rr as setTtsEnabled, sr as OPENAI_TTS_VOICES, st as ensureOutboundSessionEntry, tn as normalizeGroupActivation, tr as resolveTtsPrefsPath, w as resolveAgentOutboundTarget, wn as isSystemEventContextChanged, wr as registerAgentRunContext, wt as writeRestartSentinel, x as agentCommand, xn as applyVerboseOverride, yt as formatDoctorNonInteractiveHint } from "./subagent-registry-Cdiios3w.js";
16
16
  import { F as resolveMainSessionKey, I as resolveMainSessionKeyFromConfig, J as normalizeSessionDeliveryFields, N as resolveAgentMainSessionKey, P as resolveExplicitAgentSessionKey, R as snapshotSessionOrigin, S as stripEnvelopeFromMessages, _ as capArrayByJsonBytes, d as updateSessionStore, g as archiveSessionTranscripts, h as archiveFileOnDisk, o as loadSessionStore, t as extractDeliveryInfo, v as readSessionMessages, x as resolveSessionTranscriptCandidates, y as readSessionPreviewItemsFromTranscript } from "./sessions-CJXnZVjR.js";
17
17
  import { n as listChannelPlugins, r as normalizeChannelId, t as getChannelPlugin } from "./plugins-CwSlLxM8.js";
18
18
  import { n as createBrowserRouteDispatcher } from "./with-timeout-Di0nddLY.js";
@@ -30,21 +30,21 @@ import { t as getChannelActivity } from "./channel-activity-myOnmDZi.js";
30
30
  import { n as normalizePollInput } from "./polls-DXeUmcgz.js";
31
31
  import { n as createBrowserControlContext, r as startBrowserControlServiceFromConfig } from "./control-service-DEVN6FRR.js";
32
32
  import { i as parseAbsoluteTimeMs } from "./stagger-CQar2eKe.js";
33
- import { w as resolveAssistantAvatarUrl } from "./onboard-helpers-_pit1NZW.js";
33
+ import { w as resolveAssistantAvatarUrl } from "./onboard-helpers-DASpwgat.js";
34
34
  import { r as getLastHeartbeatEvent } from "./heartbeat-visibility-B8TDjqpW.js";
35
35
  import { t as buildChannelUiCatalog } from "./catalog-DLQFKucJ.js";
36
36
  import { t as WizardCancelledError } from "./prompts-m1IJwIAx.js";
37
37
  import { t as resolveChannelDefaultAccountId } from "./helpers-cLP5YLeQ.js";
38
38
  import { t as buildChannelAccountSnapshot } from "./status-BUedPCLb.js";
39
- import { o as isNodeCommandAllowed, s as resolveNodeCommandAllowlist } from "./audit-Byo5jCLN.js";
40
- import { r as getStatusSummary } from "./status-CwhHbhUv.js";
41
- import { c as setHeartbeatsEnabled } from "./health-BNxdveY8.js";
39
+ import { o as isNodeCommandAllowed, s as resolveNodeCommandAllowlist } from "./audit-Cgd5-Y7W.js";
40
+ import { r as getStatusSummary } from "./status-CL1xQrpW.js";
41
+ import { c as setHeartbeatsEnabled } from "./health-By4_Yu9p.js";
42
42
  import { m as normalizeUpdateChannel } from "./update-check-ZdimP1aU.js";
43
- import { a as sendApnsAlert, c as parseMessageWithAttachments, i as resolveApnsAuthConfigFromEnv, l as formatForLog, n as normalizeApnsEnvironment, o as sendApnsBackgroundWake, s as normalizeRpcAttachmentsToChatAttachments, t as loadApnsRegistration } from "./push-apns-BzIW-JHE.js";
44
- import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-BDtgUDFp.js";
43
+ import { a as sendApnsAlert, c as parseMessageWithAttachments, i as resolveApnsAuthConfigFromEnv, l as formatForLog, n as normalizeApnsEnvironment, o as sendApnsBackgroundWake, s as normalizeRpcAttachmentsToChatAttachments, t as loadApnsRegistration } from "./push-apns-BQckoz9S.js";
44
+ import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-SvdnvFsa.js";
45
45
  import { t as resolveSystemRunCommand } from "./system-run-command-ByVa3txU.js";
46
46
  import { t as installSkill } from "./skills-install-1ZdwGTnh.js";
47
- import { t as runGatewayUpdate } from "./update-runner-e_ChofHM.js";
47
+ import { t as runGatewayUpdate } from "./update-runner-jvpPI7iP.js";
48
48
  import { spawnSync } from "node:child_process";
49
49
  import * as os$1 from "node:os";
50
50
  import os from "node:os";
@@ -1830,6 +1830,97 @@ const sessionsHandlers = {
1830
1830
  entry: next
1831
1831
  }, void 0);
1832
1832
  },
1833
+ "sessions.restore": async ({ params, respond }) => {
1834
+ if (!assertValidParams(params, validateSessionsRestoreParams, "sessions.restore", respond)) return;
1835
+ const p = params;
1836
+ const key = requireSessionKey(p.key, respond);
1837
+ if (!key) return;
1838
+ const targetBasename = path.basename(p.targetFile);
1839
+ if (targetBasename !== p.targetFile || targetBasename.includes("..")) {
1840
+ respond(false, void 0, errorShape(ErrorCodes.INVALID_REQUEST, "Invalid target file name."));
1841
+ return;
1842
+ }
1843
+ const { cfg, target, storePath } = resolveGatewaySessionTargetFromKey(key);
1844
+ const sessionsDir = path.dirname(storePath);
1845
+ const targetPath = path.join(sessionsDir, targetBasename);
1846
+ if (!fs.existsSync(targetPath)) {
1847
+ respond(false, void 0, errorShape(ErrorCodes.INVALID_REQUEST, `Target file not found: ${targetBasename}`));
1848
+ return;
1849
+ }
1850
+ let restoredSessionId;
1851
+ try {
1852
+ const firstLine = fs.readFileSync(targetPath, "utf8").split("\n")[0];
1853
+ const header = JSON.parse(firstLine);
1854
+ if (!header.id || header.type !== "session") throw new Error("invalid session header");
1855
+ restoredSessionId = header.id;
1856
+ } catch {
1857
+ respond(false, void 0, errorShape(ErrorCodes.INVALID_REQUEST, "Target file is not a valid session transcript."));
1858
+ return;
1859
+ }
1860
+ const { entry } = loadSessionEntry(key);
1861
+ const sessionId = entry?.sessionId;
1862
+ const cleanupError = await ensureSessionRuntimeCleanup({
1863
+ cfg,
1864
+ key,
1865
+ target,
1866
+ sessionId
1867
+ });
1868
+ if (cleanupError) {
1869
+ respond(false, void 0, cleanupError);
1870
+ return;
1871
+ }
1872
+ const oldSessionId = entry?.sessionId;
1873
+ const oldSessionFile = entry?.sessionFile;
1874
+ archiveSessionTranscriptsForSession({
1875
+ sessionId: oldSessionId,
1876
+ storePath,
1877
+ sessionFile: oldSessionFile,
1878
+ agentId: target.agentId,
1879
+ reason: "reset"
1880
+ });
1881
+ const restoredFileName = `${restoredSessionId}.jsonl`;
1882
+ const restoredPath = path.join(sessionsDir, restoredFileName);
1883
+ if (targetPath !== restoredPath) fs.renameSync(targetPath, restoredPath);
1884
+ const next = await updateSessionStore(storePath, (store) => {
1885
+ const { primaryKey } = migrateAndPruneSessionStoreKey({
1886
+ cfg,
1887
+ key,
1888
+ store
1889
+ });
1890
+ const existingEntry = store[primaryKey];
1891
+ const nextEntry = {
1892
+ sessionId: restoredSessionId,
1893
+ sessionFile: restoredPath,
1894
+ updatedAt: Date.now(),
1895
+ systemSent: false,
1896
+ abortedLastRun: false,
1897
+ thinkingLevel: existingEntry?.thinkingLevel,
1898
+ verboseLevel: existingEntry?.verboseLevel,
1899
+ reasoningLevel: existingEntry?.reasoningLevel,
1900
+ responseUsage: existingEntry?.responseUsage,
1901
+ model: existingEntry?.model,
1902
+ contextTokens: existingEntry?.contextTokens,
1903
+ sendPolicy: existingEntry?.sendPolicy,
1904
+ label: existingEntry?.label,
1905
+ origin: snapshotSessionOrigin(existingEntry),
1906
+ lastChannel: existingEntry?.lastChannel,
1907
+ lastTo: existingEntry?.lastTo,
1908
+ skillsSnapshot: existingEntry?.skillsSnapshot,
1909
+ inputTokens: 0,
1910
+ outputTokens: 0,
1911
+ totalTokens: 0,
1912
+ totalTokensFresh: true
1913
+ };
1914
+ store[primaryKey] = nextEntry;
1915
+ return nextEntry;
1916
+ });
1917
+ respond(true, {
1918
+ ok: true,
1919
+ key: target.canonicalKey,
1920
+ sessionId: restoredSessionId,
1921
+ entry: next
1922
+ }, void 0);
1923
+ },
1833
1924
  "sessions.delete": async ({ params, respond, client, isWebchatConnect }) => {
1834
1925
  if (!assertValidParams(params, validateSessionsDeleteParams, "sessions.delete", respond)) return;
1835
1926
  const p = params;
@@ -6851,7 +6942,7 @@ const nodeHandlers = {
6851
6942
  const p = params;
6852
6943
  const payloadJSON = typeof p.payloadJSON === "string" ? p.payloadJSON : p.payload !== void 0 ? JSON.stringify(p.payload) : null;
6853
6944
  await respondUnavailableOnThrow(respond, async () => {
6854
- const { handleNodeEvent } = await import("./server-node-events-C3hHerD3.js");
6945
+ const { handleNodeEvent } = await import("./server-node-events-BpNyybGF.js");
6855
6946
  const nodeId = client?.connect?.device?.id ?? client?.connect?.client?.id ?? "node";
6856
6947
  await handleNodeEvent({
6857
6948
  deps: context.deps,