@symerian/symi 2.8.6 → 2.8.7

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 (251) hide show
  1. package/dist/{accounts-BRw8yhIW.js → accounts-D1r2dq1t.js} +21 -21
  2. package/dist/{accounts-3dCrO3oZ.js → accounts-dRUMQQrB.js} +1 -1
  3. package/dist/{accounts-BuZxOb3B.js → accounts-wSphH5gv.js} +1 -1
  4. package/dist/{active-listener-Br2FcRv7.js → active-listener-C3pfJhdC.js} +1 -1
  5. package/dist/{agent-scope-CpEJ0B88.js → agent-scope-D68_xfTL.js} +3 -3
  6. package/dist/{agents-DWuqUDaG.js → agents-CKqrLbBd.js} +4 -4
  7. package/dist/{agents.config-DWsjuONZ.js → agents.config-D17kikNs.js} +1 -1
  8. package/dist/{agents.config-B8euVOOW.js → agents.config-DnEa79_a.js} +1 -1
  9. package/dist/{audio-preflight-D0nJ1LEt.js → audio-preflight-DFLcuVNn.js} +29 -29
  10. package/dist/{audio-preflight-CKbpf-IL.js → audio-preflight-DJXj9QP9.js} +5 -5
  11. package/dist/{audio-preflight-BQaUmV6k.js → audio-preflight-DfALITTK.js} +5 -5
  12. package/dist/{audio-preflight-D_g9Duqw.js → audio-preflight-lr-WPpc9.js} +4 -4
  13. package/dist/{audit-DCOp_J5K.js → audit-DVUHZrf4.js} +2 -2
  14. package/dist/{audit-BIeVybsA.js → audit-DgAM_dWL.js} +2 -2
  15. package/dist/{auth-choice-kpk3L0TR.js → auth-choice-KEir_3i_.js} +1 -1
  16. package/dist/{auth-choice-hKVjPWaU.js → auth-choice-obR6mZqe.js} +1 -1
  17. package/dist/{auth-profiles-C2vj6htZ.js → auth-profiles-aJfgABnE.js} +17 -17
  18. package/dist/{banner-C1RFNTRm.js → banner-BEYICVDD.js} +1 -1
  19. package/dist/{bindings-BsHoBLIE.js → bindings-Bat2RnAR.js} +2 -2
  20. package/dist/build-info.json +3 -3
  21. package/dist/bundled/boot-md/handler.js +54 -54
  22. package/dist/bundled/bootstrap-extra-files/handler.js +5 -5
  23. package/dist/bundled/command-logger/handler.js +1 -1
  24. package/dist/bundled/session-memory/handler.js +54 -54
  25. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  26. package/dist/{channel-activity-D-kw83R0.js → channel-activity-Cm1OJRbv.js} +1 -1
  27. package/dist/{channel-options-Vjegw-bn.js → channel-options-D9g8Ji5_.js} +1 -1
  28. package/dist/{channel-options-Pit7RtN-.js → channel-options-H9pR0AWZ.js} +1 -1
  29. package/dist/{channel-web-BVm_UWyj.js → channel-web-B9-EHnds.js} +3 -3
  30. package/dist/{channels-cli-Bh07AMec.js → channels-cli-C_YU5GaO.js} +11 -11
  31. package/dist/{channels-cli-CXws5tG8.js → channels-cli-mCf_KwBC.js} +12 -12
  32. package/dist/{chrome-C08Z0XAa.js → chrome-B0yKTuIS.js} +21 -21
  33. package/dist/{chrome-BUT--ob3.js → chrome-B14NNyfm.js} +7 -7
  34. package/dist/{chunk-BHW8Yu5A.js → chunk-B9x_1qSr.js} +1 -1
  35. package/dist/{cli-D5qinxg-.js → cli-D8xchhQH.js} +8 -8
  36. package/dist/{cli-TABOKnEJ.js → cli-WAg9Zydm.js} +9 -9
  37. package/dist/{command-registry-DEe4juCf.js → command-registry-nSYGDoue.js} +9 -9
  38. package/dist/{commands-registry-CfoYlMQB.js → commands-registry-CeBC8Vy2.js} +4 -4
  39. package/dist/{completion-cli-W3fyiL94.js → completion-cli-BzV4_BVf.js} +1 -1
  40. package/dist/{completion-cli-D0j-46vF.js → completion-cli-CR5v_bKh.js} +2 -2
  41. package/dist/{config-BkZ9HOKT.js → config-Dp67YMkg.js} +12 -12
  42. package/dist/{config-cli-DLBtnr_W.js → config-cli-DFXYnUAB.js} +1 -1
  43. package/dist/{config-cli-CajteLy8.js → config-cli-wcQ2PQ2b.js} +1 -1
  44. package/dist/{config-guard-DjlYIjka.js → config-guard-CJ4iAPK5.js} +1 -1
  45. package/dist/{config-guard-BJE6xSY9.js → config-guard-DsOhmFl6.js} +2 -2
  46. package/dist/{configure-B79KjBCS.js → configure-CCux4ZEl.js} +3 -3
  47. package/dist/{configure-2PdZnKO6.js → configure-DSXgdzrp.js} +3 -3
  48. package/dist/control-ui/js/app.js +13 -60
  49. package/dist/control-ui/js/render.js +4 -72
  50. package/dist/{deliver-CiL9mQXH.js → deliver-BLt_liXS.js} +2 -2
  51. package/dist/{deliver-CLZGlRZt.js → deliver-DPWY9adX.js} +20 -20
  52. package/dist/{deliver-B36OzmeP.js → deliver-DrC7tG6s.js} +1 -1
  53. package/dist/{deliver-CXpvGXqJ.js → deliver-lG9ITE8w.js} +2 -2
  54. package/dist/{diagnostic-CQiU0O8b.js → diagnostic-DIKKFHpP.js} +1 -1
  55. package/dist/{doctor-completion-DOnUbTdS.js → doctor-completion-D-deyczv.js} +1 -1
  56. package/dist/{doctor-completion-mlj3aq0W.js → doctor-completion-jev9bFib.js} +1 -1
  57. package/dist/{doctor-config-flow-DFk-NaP5.js → doctor-config-flow-C81j0-sE.js} +1 -1
  58. package/dist/{doctor-config-flow-BRB_O0jG.js → doctor-config-flow-CN8seKLA.js} +1 -1
  59. package/dist/entry.js +1 -1
  60. package/dist/{env-BDXYbTKj.js → env-xmBFQPBP.js} +1 -1
  61. package/dist/extensionAPI.js +6 -6
  62. package/dist/{frontmatter-CTR5f_Ez.js → frontmatter-CV0YkjoY.js} +2 -2
  63. package/dist/{gateway-cli-D7jQypRh.js → gateway-cli-BJvattWu.js} +19 -19
  64. package/dist/{gateway-cli-nHVe7vxD.js → gateway-cli-_BIiMqiD.js} +18 -18
  65. package/dist/{gemini-auth-BefM10YB.js → gemini-auth-JP7SzVpY.js} +1 -1
  66. package/dist/{github-copilot-token-cCYzSU9h.js → github-copilot-token-B8B2pmph.js} +7 -7
  67. package/dist/{glass-ui-ws-BgVPCNjg.js → glass-ui-ws-BHVpfzRg.js} +16 -16
  68. package/dist/{glass-ui-ws-CMMnvVpl.js → glass-ui-ws-DRWpg6Qb.js} +15 -15
  69. package/dist/{health-DvkoG4Dw.js → health-7ZvWXkvm.js} +3 -3
  70. package/dist/{health-DKxSHkOQ.js → health-D1L94KKE.js} +3 -3
  71. package/dist/{hooks-cli-DV1GeJpO.js → hooks-cli-B-JbgOoq.js} +9 -9
  72. package/dist/{hooks-cli-DsWn_3um.js → hooks-cli-BjYy0UUP.js} +10 -10
  73. package/dist/{image-BHhzdmbq.js → image-CKeN0xJL.js} +1 -1
  74. package/dist/{image-BnO8X_hj.js → image-DCB54N2j.js} +4 -4
  75. package/dist/{image-CJ_QZqzR.js → image-DXco5IYt.js} +1 -1
  76. package/dist/{image-C2IvljWU.js → image-D_qN_IxA.js} +1 -1
  77. package/dist/{image-ops-C7CauEK8.js → image-ops-M5agStZn.js} +16 -16
  78. package/dist/index.js +14 -14
  79. package/dist/{ir-JAy_3A3B.js → ir-Z9axTYHx.js} +4 -4
  80. package/dist/llm-slug-generator.js +54 -54
  81. package/dist/{local-roots-Se92wAN5.js → local-roots-Bh5xx9IO.js} +5 -5
  82. package/dist/{login-CksRbu5D.js → login-Z-O7e3RD.js} +7 -7
  83. package/dist/{login-qr-COIr6FGZ.js → login-qr-Cqe-9-jf.js} +12 -12
  84. package/dist/{manager-DXyJKTj7.js → manager-ayAJucg2.js} +22 -22
  85. package/dist/{manifest-registry-CBCGTsIb.js → manifest-registry-QT5_77XA.js} +19 -19
  86. package/dist/{markdown-tables-Dnj2LQUc.js → markdown-tables-DuRhvVpP.js} +1 -1
  87. package/dist/{message-channel-OlFBYAw8.js → message-channel-DwDSKGn4.js} +1 -1
  88. package/dist/{models-BohMMqeG.js → models-PeKQE2ct.js} +2 -2
  89. package/dist/{models-cli-DabormMV.js → models-cli-ChoXOtnk.js} +9 -9
  90. package/dist/{models-cli-CJywE4w7.js → models-cli-lSGGkLeL.js} +11 -11
  91. package/dist/{onboard-ygIcreY9.js → onboard-9PT0Wv1A.js} +2 -2
  92. package/dist/{onboard-CyuUucGA.js → onboard-B8q4Vpz1.js} +2 -2
  93. package/dist/{onboard-channels-DU6do-N5.js → onboard-channels-CN0qvsHO.js} +1 -1
  94. package/dist/{onboard-channels-DaY1NwXd.js → onboard-channels-Cg4bD8ps.js} +1 -1
  95. package/dist/{onboarding-Bqz1NgoR.js → onboarding-BAn2oNRB.js} +4 -4
  96. package/dist/{onboarding-BfeyfvK_.js → onboarding-hJaI3u5t.js} +4 -4
  97. package/dist/{onboarding.finalize-CG0xwhEw.js → onboarding.finalize-BPZZr8Cm.js} +13 -13
  98. package/dist/{onboarding.finalize-DzTo4LEo.js → onboarding.finalize-BTrhVcW5.js} +15 -15
  99. package/dist/{onboarding.gateway-config-7LGxdDrq.js → onboarding.gateway-config-TM8ERKyn.js} +1 -1
  100. package/dist/{onboarding.gateway-config-DJJRuyZ_.js → onboarding.gateway-config-vGTQDqA6.js} +1 -1
  101. package/dist/{outbound-attachment-BzwVH4Pn.js → outbound-attachment-BOy-OY4-.js} +2 -2
  102. package/dist/{outbound-CX-uuDet.js → outbound-xWV2AYDD.js} +7 -7
  103. package/dist/paths-CYmyCDsE.js +212 -0
  104. package/dist/{paths-CbQV9WEg.js → paths-DEuVuViW.js} +1 -1
  105. package/dist/{pi-auth-json-RXOlh8ar.js → pi-auth-json-Q3FwtPeJ.js} +1 -1
  106. package/dist/{pi-embedded-BaNpG0Aq.js → pi-embedded-F3kbSP7M.js} +20 -16
  107. package/dist/{pi-embedded-helpers-DcN8GHTt.js → pi-embedded-helpers-CFTCaByg.js} +73 -73
  108. package/dist/{pi-embedded-helpers-BET359cH.js → pi-embedded-helpers-D8YgtMdl.js} +4 -4
  109. package/dist/{pi-embedded-helpers-jo_kKs-Z.js → pi-embedded-helpers-DSscUmkR.js} +1 -1
  110. package/dist/{pi-embedded-helpers-DiXXYmgo.js → pi-embedded-helpers-DpOccVre.js} +1 -1
  111. package/dist/{pi-tools.policy-p7LLu64F.js → pi-tools.policy-BpN-v9bT.js} +1 -1
  112. package/dist/{pi-tools.policy-CGVKAOoE.js → pi-tools.policy-DOVQ8dDx.js} +1 -1
  113. package/dist/{plugin-registry-DG2IOSY3.js → plugin-registry-BVoIgv-5.js} +1 -1
  114. package/dist/{plugin-registry-DTm-oyEP.js → plugin-registry-DFPTE_HO.js} +1 -1
  115. package/dist/plugin-sdk/{channel-web-D-ct3FR3.js → channel-web-BNGOwMat.js} +1 -1
  116. package/dist/plugin-sdk/index.js +2 -2
  117. package/dist/plugin-sdk/{reply-Gpdxnjey.js → reply-DcNZU8lj.js} +6 -2
  118. package/dist/plugin-sdk/{web-BFa_GJSK.js → web-CeR-wf-N.js} +2 -2
  119. package/dist/{plugins-BzmbgY7s.js → plugins-Bkr5ZdYs.js} +9 -9
  120. package/dist/{plugins-cli-BrHhfpbX.js → plugins-cli-BwM4f91E.js} +10 -10
  121. package/dist/{plugins-cli-BJpemLCS.js → plugins-cli-uoGDkhOc.js} +9 -9
  122. package/dist/{program-CYzFuO3w.js → program-DhBZLOgJ.js} +16 -16
  123. package/dist/{program-context-G2iHoB5D.js → program-context-BJEZcvA2.js} +20 -20
  124. package/dist/{prompt-select-styled-lVyrkSPI.js → prompt-select-styled-CJjLDUCj.js} +7 -7
  125. package/dist/{prompt-select-styled-P0KS75Rt.js → prompt-select-styled-CMBgFELR.js} +7 -7
  126. package/dist/{provider-auth-helpers-CoYjxsb2.js → provider-auth-helpers-DeWQHkRc.js} +1 -1
  127. package/dist/{provider-auth-helpers-Cygsm5_L.js → provider-auth-helpers-S2j3hcBK.js} +1 -1
  128. package/dist/{push-apns-CHM_4e6x.js → push-apns-CJ2CpgRB.js} +1 -1
  129. package/dist/{push-apns-BMfcGm-A.js → push-apns-YD8SuIy0.js} +1 -1
  130. package/dist/{pw-ai-B476LzSK.js → pw-ai-DHoYzirP.js} +11 -11
  131. package/dist/{pw-ai-DE8wmtet.js → pw-ai-DTmHAKPA.js} +1 -1
  132. package/dist/{qmd-manager-lBS9mT9w.js → qmd-manager-8-Z3Cdpt.js} +7 -7
  133. package/dist/{register.agent-BTmY2MoW.js → register.agent-B2u3ouKf.js} +14 -14
  134. package/dist/{register.agent-efba5ajU.js → register.agent-gMPMyFRj.js} +12 -12
  135. package/dist/{register.configure-DHSfWAqs.js → register.configure-C6mVcNay.js} +14 -14
  136. package/dist/{register.configure-EQOE0vHS.js → register.configure-DncWEkhU.js} +13 -13
  137. package/dist/{register.maintenance-CzcgKkH3.js → register.maintenance-Cz1IOILv.js} +15 -15
  138. package/dist/{register.maintenance-CsczzIEq.js → register.maintenance-D5oV0fjR.js} +17 -17
  139. package/dist/{register.message-Bc3A_dfj.js → register.message-B6hxm3rn.js} +9 -9
  140. package/dist/{register.message-u6gwfQPX.js → register.message-QejTHJGQ.js} +10 -10
  141. package/dist/{register.onboard-CtKNq5I_.js → register.onboard-CA06T3Jp.js} +12 -12
  142. package/dist/{register.onboard-yDsskHey.js → register.onboard-kJuHrfio.js} +11 -11
  143. package/dist/{register.setup-BPeB8JTw.js → register.setup-BD8QKVsT.js} +11 -11
  144. package/dist/{register.setup-BJqk3N2q.js → register.setup-C11edfdp.js} +12 -12
  145. package/dist/{register.status-health-sessions-CU6Uv3iO.js → register.status-health-sessions-257I77oA.js} +13 -13
  146. package/dist/{register.status-health-sessions-KzzMJ0H1.js → register.status-health-sessions-CrTiF0_d.js} +11 -11
  147. package/dist/{register.subclis-C_464foT.js → register.subclis-CnOalkYH.js} +12 -12
  148. package/dist/{registry-DYq1AYOv.js → registry-UkL38jvt.js} +17 -17
  149. package/dist/{replies-BWgZR_w5.js → replies-CWH084Xr.js} +3 -3
  150. package/dist/{reply-kWKTXRkY.js → reply-o0IEwJ_P.js} +18 -14
  151. package/dist/{reply-prefix-CvEIl6_d.js → reply-prefix-ZnX2V-k9.js} +1 -1
  152. package/dist/{resolve-route-DX7xcMsD.js → resolve-route-gl0ZOOKR.js} +4 -4
  153. package/dist/{retry-B-y5suGA.js → retry-D25Z8MVS.js} +1 -1
  154. package/dist/{run-main-I-kj1_yf.js → run-main-BuVFHsuQ.js} +25 -25
  155. package/dist/{runner-D5nFF9E6.js → runner-C-ygJOAu.js} +22 -22
  156. package/dist/{runner-BVgCl6yZ.js → runner-COpebDew.js} +1 -1
  157. package/dist/{runner-BopCEjwB.js → runner-CSdQSvE8.js} +1 -1
  158. package/dist/{runner-eBF6SlQ6.js → runner-C_BlQ2fG.js} +1 -1
  159. package/dist/{sandbox-ooxzsj2D.js → sandbox-BOVopTqv.js} +1 -1
  160. package/dist/{sandbox-Cl2r-bXv.js → sandbox-CDxHBl3I.js} +1 -1
  161. package/dist/{sandbox-cli-CZSrSTkk.js → sandbox-cli-0eu7BCa8.js} +2 -2
  162. package/dist/{sandbox-cli-BH45SMwC.js → sandbox-cli-BpfYaZBG.js} +2 -2
  163. package/dist/{security-cli-CEI0zQJs.js → security-cli-B5s73Le2.js} +4 -4
  164. package/dist/{security-cli-Bz-Sv5-H.js → security-cli-CzWHkrqD.js} +4 -4
  165. package/dist/{send-CCmxHtaA.js → send-BJhQtCyM.js} +6 -6
  166. package/dist/{send-xTfsDEE2.js → send-CF_nzDHe.js} +18 -18
  167. package/dist/{send-vqwluhp3.js → send-Cf47Nas6.js} +7 -7
  168. package/dist/{send-B7aHpAco.js → send-DERqzyba.js} +6 -6
  169. package/dist/{send-Yzy50T1h.js → send-DQoKXmre.js} +10 -10
  170. package/dist/{server-methods-DuXvSLX-.js → server-methods-D0laPfTZ.js} +10 -10
  171. package/dist/{server-methods-DQHU-PVR.js → server-methods-D1eF0-Yu.js} +11 -11
  172. package/dist/{server-node-events-CwAM91fd.js → server-node-events-D3iV_wDf.js} +9 -9
  173. package/dist/{server-node-events-ecaGjg5E.js → server-node-events-b7X9bVIS.js} +10 -10
  174. package/dist/{session-BTLA3Rm7.js → session-C1eFu8k4.js} +8 -8
  175. package/dist/{session-utils-Dwt6eGX6.js → session-utils-BPXkhuNM.js} +1 -1
  176. package/dist/{sessions-Do060W3W.js → sessions-BPD85pWA.js} +2 -3
  177. package/dist/{sessions-vYQs1OzE.js → sessions-BeYHj0gr.js} +2 -3
  178. package/dist/{sessions-DQxygr94.js → sessions-NTd36-CO.js} +2 -2
  179. package/dist/{skill-commands-D1hG6Ikz.js → skill-commands-CKXkvl80.js} +16 -16
  180. package/dist/{skills-CXxrn_e2.js → skills-DxmX9HVT.js} +24 -24
  181. package/dist/{sqlite-BHWvOATS.js → sqlite-JHY-uOmS.js} +16 -16
  182. package/dist/{status-v8DOdpX6.js → status-Cv3PcsRo.js} +4 -4
  183. package/dist/{status-DNVKHGLC.js → status-CwrFTb4t.js} +1 -1
  184. package/dist/{status-CW9LMA2M.js → status-K22ODH_m.js} +1 -1
  185. package/dist/{status-DsFAg-bK.js → status-eVKjxfUO.js} +5 -5
  186. package/dist/{store-01F_JM7O.js → store-Ea3zM6xK.js} +6 -6
  187. package/dist/{subagent-registry-C8UsZ8F0.js → subagent-registry-4XZvxwX0.js} +19 -15
  188. package/dist/{subsystem-BjyjJF-d.js → subsystem-DN75fnEF.js} +1 -1
  189. package/dist/{tables-BuM4FKR3.js → tables-Dkg9O8rv.js} +1 -1
  190. package/dist/{target-errors-BEugWC4F.js → target-errors-Pr77jao5.js} +2 -2
  191. package/dist/{thinking-BprCy23Z.js → thinking-C9-JAUzD.js} +5 -5
  192. package/dist/{tokens-W0JzCJJM.js → tokens-CCZl4YHT.js} +1 -1
  193. package/dist/{tool-images-SqqWIT22.js → tool-images-B1qVCntj.js} +2 -2
  194. package/dist/{tool-loop-detection-D5mBY7AC.js → tool-loop-detection-C33wf43N.js} +3 -3
  195. package/dist/{tui-B61kHmM2.js → tui-DfPeXwah.js} +2 -2
  196. package/dist/{tui-CiGfEtDa.js → tui-LZPdrFmK.js} +2 -2
  197. package/dist/{tui-cli-CwNXfDnk.js → tui-cli-Bm3TJgXf.js} +4 -4
  198. package/dist/{tui-cli-DHKMCeGp.js → tui-cli-DFXZ7r1F.js} +4 -4
  199. package/dist/{unified-runner-BojeuKIk.js → unified-runner-BL7URnpP.js} +235 -231
  200. package/dist/{update-cli-BwX8SW9m.js → update-cli-Bf-HR0_b.js} +17 -17
  201. package/dist/{update-cli-DQOw6sqy.js → update-cli-CjtzOlMZ.js} +15 -15
  202. package/dist/{update-runner-BhXkq5Gw.js → update-runner-CxuU59aU.js} +1 -1
  203. package/dist/{update-runner-C56OyqSE.js → update-runner-i95oVXRi.js} +1 -1
  204. package/dist/{web-Dxkxcp7P.js → web-B3QBvAid.js} +58 -58
  205. package/dist/{web-CGicnDRL.js → web-CTog1mw0.js} +9 -9
  206. package/dist/{web-f1xT-H2y.js → web-D6aUh_IC.js} +6 -6
  207. package/dist/{web-NSGlkQEO.js → web-D_WLAogr.js} +9 -9
  208. package/dist/{whatsapp-actions-CiXMwRR8.js → whatsapp-actions-pddprZ8J.js} +23 -23
  209. package/dist/{workspace-DscDraUb.js → workspace-DqJ5h-ZB.js} +27 -27
  210. package/extensions/bluebubbles/package.json +1 -1
  211. package/extensions/copilot-proxy/package.json +1 -1
  212. package/extensions/diagnostics-otel/package.json +1 -1
  213. package/extensions/discord/package.json +1 -1
  214. package/extensions/feishu/package.json +1 -1
  215. package/extensions/google-antigravity-auth/package.json +1 -1
  216. package/extensions/google-gemini-cli-auth/package.json +1 -1
  217. package/extensions/googlechat/package.json +1 -1
  218. package/extensions/imessage/package.json +1 -1
  219. package/extensions/irc/package.json +1 -1
  220. package/extensions/learning-loop/package.json +1 -1
  221. package/extensions/line/package.json +1 -1
  222. package/extensions/llm-task/package.json +1 -1
  223. package/extensions/matrix/CHANGELOG.md +6 -0
  224. package/extensions/matrix/package.json +1 -1
  225. package/extensions/mattermost/package.json +1 -1
  226. package/extensions/memory-core/package.json +1 -1
  227. package/extensions/memory-lancedb/package.json +1 -1
  228. package/extensions/minimax-portal-auth/package.json +1 -1
  229. package/extensions/msteams/CHANGELOG.md +6 -0
  230. package/extensions/msteams/package.json +1 -1
  231. package/extensions/nextcloud-talk/package.json +1 -1
  232. package/extensions/nostr/CHANGELOG.md +6 -0
  233. package/extensions/nostr/package.json +1 -1
  234. package/extensions/open-prose/package.json +1 -1
  235. package/extensions/outlook/index.ts +1 -1
  236. package/extensions/outlook/package.json +1 -1
  237. package/extensions/pipeline/package.json +1 -1
  238. package/extensions/signal/package.json +1 -1
  239. package/extensions/slack/package.json +1 -1
  240. package/extensions/telegram/package.json +1 -1
  241. package/extensions/tlon/package.json +1 -1
  242. package/extensions/twitch/CHANGELOG.md +6 -0
  243. package/extensions/twitch/package.json +1 -1
  244. package/extensions/voice-call/CHANGELOG.md +6 -0
  245. package/extensions/voice-call/package.json +1 -1
  246. package/extensions/whatsapp/package.json +1 -1
  247. package/extensions/zalo/CHANGELOG.md +6 -0
  248. package/extensions/zalo/package.json +1 -1
  249. package/extensions/zalouser/CHANGELOG.md +6 -0
  250. package/extensions/zalouser/package.json +1 -1
  251. package/package.json +1 -1
@@ -764,65 +764,7 @@ window.extractThinkingText = function (content) {
764
764
  };
765
765
 
766
766
  // ── Main render function — builds a full message element ──────────────
767
- // 2.8.6: strip plugin banner + leading timestamp envelope from user message
768
- // text before display. Plugins (e.g. Outlook) prepend their banner to every
769
- // user turn via before_prompt_build/prependContext, and the auto-reply
770
- // pipeline prepends a "[Wed 2026-04-22 01:21 CDT]" channel envelope — both
771
- // end up baked into the persisted JSONL. They're useful to the model but
772
- // pure noise in the UI. Stripping here fixes history reload without touching
773
- // live-send path (which already has the user's clean typed text).
774
- //
775
- // Non-destructive: only touches strings that start with the specific banner
776
- // or envelope patterns. User text that happens to open with "[something]"
777
- // falls through unchanged unless the brackets contain a date-time or the
778
- // literal "Connected as"/"Not connected" keywords.
779
- const USER_PLUGIN_BANNER_RE = /^\[.+?\]\s+(Not connected|Connected as)\b[^\n]*\n?/i;
780
- const USER_TIMESTAMP_ENVELOPE_RE = /^\[[^\]]*\b\d{4}-\d{2}-\d{2}\s+\d{2}:\d{2}\b[^\]]*\]\s*/;
781
- window.cleanUserMessageText = function (text) {
782
- if (typeof text !== "string" || !text) {
783
- return text;
784
- }
785
- let cleaned = text.replace(USER_PLUGIN_BANNER_RE, "");
786
- cleaned = cleaned.replace(/^\s+/, "");
787
- cleaned = cleaned.replace(USER_TIMESTAMP_ENVELOPE_RE, "");
788
- return cleaned;
789
- };
790
-
791
- // Returns a message with user-role text blocks cleaned of plugin banners and
792
- // timestamp envelopes. Returns the original reference if nothing changed.
793
- window.cleanUserMessageForDisplay = function (message) {
794
- if (!message || message.role !== "user") {
795
- return message;
796
- }
797
- if (typeof message.content === "string") {
798
- const cleaned = window.cleanUserMessageText(message.content);
799
- if (cleaned === message.content) {
800
- return message;
801
- }
802
- return { ...message, content: cleaned };
803
- }
804
- if (!Array.isArray(message.content)) {
805
- return message;
806
- }
807
- let changed = false;
808
- const nextContent = message.content.map((block) => {
809
- if (!block || block.type !== "text" || typeof block.text !== "string") {
810
- return block;
811
- }
812
- const cleaned = window.cleanUserMessageText(block.text);
813
- if (cleaned === block.text) {
814
- return block;
815
- }
816
- changed = true;
817
- return { ...block, text: cleaned };
818
- });
819
- return changed ? { ...message, content: nextContent } : message;
820
- };
821
-
822
767
  window.renderMessage = function (message) {
823
- // 2.8.6: clean plugin banner + timestamp envelope out of user messages first,
824
- // so downstream filters and renderers see the user's actual content.
825
- message = window.cleanUserMessageForDisplay(message);
826
768
  const { role, content, timestamp } = message;
827
769
  const isUser = role === "user";
828
770
 
@@ -835,25 +777,15 @@ window.renderMessage = function (message) {
835
777
  .trim()
836
778
  : extractText(content).trim();
837
779
 
838
- // Symipulse messages → routed to Symipulse Panel by caller; guard here as safety net.
839
- // 2.8.4: user-role messages ALWAYS render in the main feed. The classifier is
840
- // intended for assistant-role noise (symipulse acks, heartbeat replies) — user
841
- // prompts that incidentally match a pattern should still be visible.
842
- if (
843
- typeof window.isSymipulseMessage === "function" &&
844
- role !== "user" &&
845
- window.isSymipulseMessage(message)
846
- ) {
780
+ // Symipulse messages → routed to Symipulse Panel by caller; guard here as safety net
781
+ if (typeof window.isSymipulseMessage === "function" && window.isSymipulseMessage(message)) {
847
782
  return null;
848
783
  }
849
784
 
850
785
  // NOTE: Monologue suppression moved server-side to OutputNormalizer.
851
786
 
852
- // Plugin context messages (e.g. "[Outlook 365] Not connected...").
853
- // 2.8.5: match ENTIRE body, not just prefix — plugins like Outlook prepend
854
- // their banner to real user text via before_prompt_build/prependContext.
855
- // Only divert when the banner is the whole message; otherwise render normally.
856
- if (role === "user" && /^\[.+?\]\s+(Not connected|Connected as)\b[^\n]*$/i.test(_msgText)) {
787
+ // Plugin context messages (e.g. "[Outlook 365] Not connected...")
788
+ if (role === "user" && /^\[.+\]\s+(Not connected|Connected as)\b/i.test(_msgText)) {
857
789
  if (typeof window.appendToReasoningPanel === "function") {
858
790
  window.appendToReasoningPanel({ type: "text", text: "[Plugin context]" });
859
791
  }
@@ -1,10 +1,10 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { $t as triggerInternalHook, M as getActivePluginRegistry, Zt as createInternalHookEvent, o as createSubsystemLogger } from "./entry.js";
3
3
  import { g as normalizeOptionalAccountId, h as normalizeAccountId } from "./session-key-DjZ7Z1hW.js";
4
- import { i as resolveMirroredTranscriptText, r as appendAssistantMessageToSessionTranscript } from "./sessions-Do060W3W.js";
4
+ import { i as resolveMirroredTranscriptText, r as appendAssistantMessageToSessionTranscript } from "./sessions-BPD85pWA.js";
5
5
  import { a as isSilentReplyText, n as SILENT_REPLY_TOKEN } from "./tokens-Csntmwwn.js";
6
6
  import { r as normalizeChannelId, t as getChannelPlugin } from "./plugins-CwSlLxM8.js";
7
- import { i as isMessagingToolDuplicate } from "./pi-embedded-helpers-jo_kKs-Z.js";
7
+ import { i as isMessagingToolDuplicate } from "./pi-embedded-helpers-DSscUmkR.js";
8
8
  import { t as getChannelDock } from "./dock-DKxQXuAg.js";
9
9
  import { c as resolveChunkMode, f as parseFenceSpans, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, n as chunkByParagraph } from "./chunk-CQyUJNtc.js";
10
10
  import { n as resolveMarkdownTableMode } from "./markdown-tables-D82z_Ahc.js";
@@ -1,18 +1,18 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { s as resolveStateDir } from "./paths-CE7eVGHg.js";
2
+ import { s as resolveStateDir } from "./paths-CYmyCDsE.js";
3
3
  import { m as normalizeOptionalAccountId, p as normalizeAccountId } from "./session-key-BCzIW1Y2.js";
4
- import { c as getActivePluginRegistry, v as createInternalHookEvent, x as triggerInternalHook } from "./registry-DYq1AYOv.js";
5
- import { t as createSubsystemLogger } from "./subsystem-BjyjJF-d.js";
6
- import { B as resolveMirroredTranscriptText, i as isMessagingToolDuplicate, z as appendAssistantMessageToSessionTranscript } from "./pi-embedded-helpers-DcN8GHTt.js";
7
- import { d as getChannelDock } from "./thinking-BprCy23Z.js";
8
- import { r as normalizeChannelId, t as getChannelPlugin } from "./plugins-BzmbgY7s.js";
9
- import { a as isSilentReplyText, n as SILENT_REPLY_TOKEN } from "./tokens-W0JzCJJM.js";
10
- import { c as resolveChunkMode, f as parseFenceSpans, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, n as chunkByParagraph } from "./chunk-BHW8Yu5A.js";
11
- import { n as resolveMarkdownTableMode } from "./markdown-tables-Dnj2LQUc.js";
12
- import { t as getAgentScopedMediaLocalRoots } from "./local-roots-Se92wAN5.js";
13
- import { l as markdownToSignalTextChunks, t as sendMessageSignal } from "./send-CCmxHtaA.js";
4
+ import { c as getActivePluginRegistry, v as createInternalHookEvent, x as triggerInternalHook } from "./registry-UkL38jvt.js";
5
+ import { t as createSubsystemLogger } from "./subsystem-DN75fnEF.js";
6
+ import { B as resolveMirroredTranscriptText, i as isMessagingToolDuplicate, z as appendAssistantMessageToSessionTranscript } from "./pi-embedded-helpers-CFTCaByg.js";
7
+ import { d as getChannelDock } from "./thinking-C9-JAUzD.js";
8
+ import { r as normalizeChannelId, t as getChannelPlugin } from "./plugins-Bkr5ZdYs.js";
9
+ import { a as isSilentReplyText, n as SILENT_REPLY_TOKEN } from "./tokens-CCZl4YHT.js";
10
+ import { c as resolveChunkMode, f as parseFenceSpans, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, n as chunkByParagraph } from "./chunk-B9x_1qSr.js";
11
+ import { n as resolveMarkdownTableMode } from "./markdown-tables-DuRhvVpP.js";
12
+ import { t as getAgentScopedMediaLocalRoots } from "./local-roots-Bh5xx9IO.js";
13
+ import { l as markdownToSignalTextChunks, t as sendMessageSignal } from "./send-BJhQtCyM.js";
14
14
  import path from "node:path";
15
- import fs from "node:fs";
15
+ import fsSync from "node:fs";
16
16
  import crypto from "node:crypto";
17
17
 
18
18
  //#region src/plugins/hooks.ts
@@ -721,11 +721,11 @@ function resolveFailedDir(stateDir) {
721
721
  /** Ensure the queue directory (and failed/ subdirectory) exist. */
722
722
  async function ensureQueueDir(stateDir) {
723
723
  const queueDir = resolveQueueDir(stateDir);
724
- await fs.promises.mkdir(queueDir, {
724
+ await fsSync.promises.mkdir(queueDir, {
725
725
  recursive: true,
726
726
  mode: 448
727
727
  });
728
- await fs.promises.mkdir(resolveFailedDir(stateDir), {
728
+ await fsSync.promises.mkdir(resolveFailedDir(stateDir), {
729
729
  recursive: true,
730
730
  mode: 448
731
731
  });
@@ -752,18 +752,18 @@ async function enqueueDelivery(params, stateDir) {
752
752
  const filePath = path.join(queueDir, `${id}.json`);
753
753
  const tmp = `${filePath}.${process.pid}.tmp`;
754
754
  const json = JSON.stringify(entry, null, 2);
755
- await fs.promises.writeFile(tmp, json, {
755
+ await fsSync.promises.writeFile(tmp, json, {
756
756
  encoding: "utf-8",
757
757
  mode: 384
758
758
  });
759
- await fs.promises.rename(tmp, filePath);
759
+ await fsSync.promises.rename(tmp, filePath);
760
760
  return id;
761
761
  }
762
762
  /** Remove a successfully delivered entry from the queue. */
763
763
  async function ackDelivery(id, stateDir) {
764
764
  const filePath = path.join(resolveQueueDir(stateDir), `${id}.json`);
765
765
  try {
766
- await fs.promises.unlink(filePath);
766
+ await fsSync.promises.unlink(filePath);
767
767
  } catch (err) {
768
768
  if ((err && typeof err === "object" && "code" in err ? String(err.code) : null) !== "ENOENT") throw err;
769
769
  }
@@ -771,16 +771,16 @@ async function ackDelivery(id, stateDir) {
771
771
  /** Update a queue entry after a failed delivery attempt. */
772
772
  async function failDelivery(id, error, stateDir) {
773
773
  const filePath = path.join(resolveQueueDir(stateDir), `${id}.json`);
774
- const raw = await fs.promises.readFile(filePath, "utf-8");
774
+ const raw = await fsSync.promises.readFile(filePath, "utf-8");
775
775
  const entry = JSON.parse(raw);
776
776
  entry.retryCount += 1;
777
777
  entry.lastError = error;
778
778
  const tmp = `${filePath}.${process.pid}.tmp`;
779
- await fs.promises.writeFile(tmp, JSON.stringify(entry, null, 2), {
779
+ await fsSync.promises.writeFile(tmp, JSON.stringify(entry, null, 2), {
780
780
  encoding: "utf-8",
781
781
  mode: 384
782
782
  });
783
- await fs.promises.rename(tmp, filePath);
783
+ await fsSync.promises.rename(tmp, filePath);
784
784
  }
785
785
 
786
786
  //#endregion
@@ -5,7 +5,7 @@ import { c as getActivePluginRegistry, v as createInternalHookEvent, y as trigge
5
5
  import { t as createSubsystemLogger } from "./subsystem-CZixfwU8.js";
6
6
  import { a as isSilentReplyText, n as SILENT_REPLY_TOKEN } from "./tokens-Cn6drXx2.js";
7
7
  import { r as normalizeChannelId, t as getChannelPlugin } from "./plugins-71oIavrF.js";
8
- import { B as resolveMirroredTranscriptText, i as isMessagingToolDuplicate, z as appendAssistantMessageToSessionTranscript } from "./pi-embedded-helpers-BET359cH.js";
8
+ import { B as resolveMirroredTranscriptText, i as isMessagingToolDuplicate, z as appendAssistantMessageToSessionTranscript } from "./pi-embedded-helpers-D8YgtMdl.js";
9
9
  import { d as getChannelDock } from "./thinking-W85Rb32m.js";
10
10
  import { c as resolveChunkMode, f as parseFenceSpans, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, n as chunkByParagraph } from "./chunk-DTMTDXwE.js";
11
11
  import { n as resolveMarkdownTableMode } from "./markdown-tables-DawaaZEe.js";
@@ -2,8 +2,8 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { g as normalizeOptionalAccountId, h as normalizeAccountId } from "./session-key-DCt45XZa.js";
3
3
  import { C as createInternalHookEvent, T as triggerInternalHook, d as getActivePluginRegistry } from "./registry-Cja8eT7G.js";
4
4
  import { t as createSubsystemLogger } from "./subsystem-D9vIQve0.js";
5
- import { i as isMessagingToolDuplicate } from "./pi-embedded-helpers-DiXXYmgo.js";
6
- import { i as resolveMirroredTranscriptText, r as appendAssistantMessageToSessionTranscript } from "./sessions-vYQs1OzE.js";
5
+ import { i as isMessagingToolDuplicate } from "./pi-embedded-helpers-DpOccVre.js";
6
+ import { i as resolveMirroredTranscriptText, r as appendAssistantMessageToSessionTranscript } from "./sessions-BeYHj0gr.js";
7
7
  import { t as getChannelDock } from "./dock-BhS32F6E.js";
8
8
  import { r as normalizeChannelId, t as getChannelPlugin } from "./plugins-DKDeQZF0.js";
9
9
  import { t as getAgentScopedMediaLocalRoots } from "./local-roots-aAFLQGkY.js";
@@ -1,5 +1,5 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { t as createSubsystemLogger } from "./subsystem-BjyjJF-d.js";
2
+ import { t as createSubsystemLogger } from "./subsystem-DN75fnEF.js";
3
3
  import { i as pruneDiagnosticSessionStates, r as getDiagnosticSessionState, t as diagnosticSessionStates } from "./diagnostic-session-state-Zw87xFym.js";
4
4
 
5
5
  //#region src/infra/diagnostic-events.ts
@@ -1,7 +1,7 @@
1
1
  import { r as resolveCliName } from "./command-format-BtYOfWxC.js";
2
2
  import { t as resolveSymiPackageRoot } from "./symi-root-BNuQ4lAT.js";
3
3
  import { t as note } from "./note-DDecZomM.js";
4
- import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-D0j-46vF.js";
4
+ import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-CR5v_bKh.js";
5
5
  import { spawnSync } from "node:child_process";
6
6
  import path from "node:path";
7
7
 
@@ -1,7 +1,7 @@
1
1
  import { t as resolveSymiPackageRoot } from "./symi-root-CrGJbkzf.js";
2
2
  import { r as resolveCliName } from "./command-format-COaS-S7B.js";
3
3
  import { t as note } from "./note-DQ9BvHF2.js";
4
- import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-W3fyiL94.js";
4
+ import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-BzV4_BVf.js";
5
5
  import path from "node:path";
6
6
  import { spawnSync } from "node:child_process";
7
7
 
@@ -3,7 +3,7 @@ import { t as formatCliCommand } from "./command-format-BtYOfWxC.js";
3
3
  import { m as DEFAULT_ACCOUNT_ID, n as DEFAULT_MAIN_KEY, r as buildAgentMainSessionKey, s as normalizeAgentId } from "./session-key-DjZ7Z1hW.js";
4
4
  import { l as resolveDefaultAgentId } from "./agent-scope-D-jRCY0d.js";
5
5
  import { d as SymiSchema, n as migrateLegacyConfig, o as readConfigFileSnapshot } from "./config-DXt3pc08.js";
6
- import { M as canonicalizeMainSessionAlias, l as saveSessionStore } from "./sessions-Do060W3W.js";
6
+ import { M as canonicalizeMainSessionAlias, l as saveSessionStore } from "./sessions-BPD85pWA.js";
7
7
  import { l as listTelegramAccountIds, u as resolveTelegramAccount } from "./plugins-CwSlLxM8.js";
8
8
  import { t as note } from "./note-DDecZomM.js";
9
9
  import { t as applyPluginAutoEnable } from "./plugin-auto-enable-BvmQklg-.js";
@@ -4,7 +4,7 @@ import { m as DEFAULT_ACCOUNT_ID, n as DEFAULT_MAIN_KEY, r as buildAgentMainSess
4
4
  import { l as resolveDefaultAgentId } from "./agent-scope-CgUHAtCo.js";
5
5
  import { t as formatCliCommand } from "./command-format-COaS-S7B.js";
6
6
  import { d as SymiSchema, n as migrateLegacyConfig, o as readConfigFileSnapshot } from "./config-PXAJCHa5.js";
7
- import { l as saveSessionStore, z as canonicalizeMainSessionAlias } from "./sessions-vYQs1OzE.js";
7
+ import { l as saveSessionStore, z as canonicalizeMainSessionAlias } from "./sessions-BeYHj0gr.js";
8
8
  import { l as listTelegramAccountIds, u as resolveTelegramAccount } from "./plugins-DKDeQZF0.js";
9
9
  import { t as note } from "./note-DQ9BvHF2.js";
10
10
  import { t as applyPluginAutoEnable } from "./plugin-auto-enable-BsGorrCZ.js";
package/dist/entry.js CHANGED
@@ -2500,7 +2500,7 @@ if (!ensureExperimentalWarningSuppressed()) {
2500
2500
  applyCliProfileEnv({ profile: parsed.profile });
2501
2501
  process$1.argv = parsed.argv;
2502
2502
  }
2503
- import("./run-main-I-kj1_yf.js").then(({ runCli }) => runCli(process$1.argv)).catch((error) => {
2503
+ import("./run-main-BuVFHsuQ.js").then(({ runCli }) => runCli(process$1.argv)).catch((error) => {
2504
2504
  console.error("[symi] Failed to start CLI:", error instanceof Error ? error.stack ?? error.message : error);
2505
2505
  process$1.exitCode = 1;
2506
2506
  });
@@ -1,4 +1,4 @@
1
- import { t as createSubsystemLogger } from "./subsystem-BjyjJF-d.js";
1
+ import { t as createSubsystemLogger } from "./subsystem-DN75fnEF.js";
2
2
  import { t as parseBooleanValue } from "./boolean-CE7i9tBR.js";
3
3
  import path from "node:path";
4
4
 
@@ -7,13 +7,13 @@ import { a as resolveAgentIdentity } from "./reply-prefix-K_J_nfgx.js";
7
7
  import "./github-copilot-token-BbsJ0Qbo.js";
8
8
  import "./env-CQ_DQOwT.js";
9
9
  import "./tokens-Cn6drXx2.js";
10
- import { D as resolveAgentTimeoutMs, p as runEmbeddedPiAgent } from "./pi-embedded-BaNpG0Aq.js";
10
+ import { D as resolveAgentTimeoutMs, p as runEmbeddedPiAgent } from "./pi-embedded-F3kbSP7M.js";
11
11
  import "./plugins-71oIavrF.js";
12
12
  import "./accounts-DDEyGwby.js";
13
13
  import "./bindings-DYVakimr.js";
14
14
  import "./send-BuJyyJe7.js";
15
15
  import "./send-D8AIYNR_.js";
16
- import "./deliver-B36OzmeP.js";
16
+ import "./deliver-DrC7tG6s.js";
17
17
  import "./diagnostic-D0xmLpej.js";
18
18
  import "./diagnostic-session-state-C1vRJs5w.js";
19
19
  import "./accounts-8zZqL37v.js";
@@ -21,10 +21,10 @@ import "./send-C0K_2AUP.js";
21
21
  import "./image-ops-ByaQt43P.js";
22
22
  import "./pi-model-discovery-j5tVLINv.js";
23
23
  import "./message-channel-BQINJQIT.js";
24
- import { G as saveSessionStore, H as loadSessionStore } from "./pi-embedded-helpers-BET359cH.js";
24
+ import { G as saveSessionStore, H as loadSessionStore } from "./pi-embedded-helpers-D8YgtMdl.js";
25
25
  import "./config-BAVNLbja.js";
26
26
  import "./manifest-registry-DWdYdchb.js";
27
- import "./chrome-BUT--ob3.js";
27
+ import "./chrome-B14NNyfm.js";
28
28
  import "./skills-XEbTRNYL.js";
29
29
  import "./redact-1NGYV_8p.js";
30
30
  import "./errors-CPfngF0S.js";
@@ -34,7 +34,7 @@ import "./thinking-W85Rb32m.js";
34
34
  import "./accounts-DImOt9jX.js";
35
35
  import { n as resolveSessionFilePath, s as resolveStorePath } from "./paths-DkMamAQ-.js";
36
36
  import "./tool-images-ChC2CXaN.js";
37
- import "./image-BHhzdmbq.js";
37
+ import "./image-CKeN0xJL.js";
38
38
  import "./manager-B0BFUVEs.js";
39
39
  import "./gemini-auth-DVcG-42i.js";
40
40
  import "./sqlite-BNh23mUR.js";
@@ -47,7 +47,7 @@ import "./ir-F0moAwIl.js";
47
47
  import "./render-B1VqYyvo.js";
48
48
  import "./commands-registry-D9ZzWaEz.js";
49
49
  import "./skill-commands-CkqZdod4.js";
50
- import "./runner-BVgCl6yZ.js";
50
+ import "./runner-COpebDew.js";
51
51
  import "./fetch-DtLn7YU3.js";
52
52
  import "./channel-activity-D9q-fIPB.js";
53
53
  import "./tables-COnZ169v.js";
@@ -1,7 +1,7 @@
1
1
  import { t as parseBooleanValue } from "./boolean-CE7i9tBR.js";
2
2
  import { n as MANIFEST_KEY, t as LEGACY_MANIFEST_KEYS } from "./legacy-names-CePMUvus.js";
3
3
  import path from "node:path";
4
- import fs from "node:fs";
4
+ import fsSync from "node:fs";
5
5
  import JSON5 from "json5";
6
6
  import YAML from "yaml";
7
7
 
@@ -79,7 +79,7 @@ function hasBinary(bin) {
79
79
  for (const part of parts) for (const ext of extensions) {
80
80
  const candidate = path.join(part, bin + ext);
81
81
  try {
82
- fs.accessSync(candidate, fs.constants.X_OK);
82
+ fsSync.accessSync(candidate, fsSync.constants.X_OK);
83
83
  hasBinaryCache.set(bin, true);
84
84
  return true;
85
85
  } catch {}
@@ -22,8 +22,8 @@ import "./pairing-token-Byh6drgn.js";
22
22
  import { t as safeEqualSecret } from "./secret-equal-CbntzRkh.js";
23
23
  import { a as isValidIPv4, c as resolveClientIp, d as resolveHostName, f as rawDataToString, i as isTrustedProxyAddress, l as resolveGatewayBindHost, n as isLoopbackHost, o as normalizeHostHeader, t as isLoopbackAddress, u as resolveGatewayListenHosts } from "./net-DZ5Ayk-W.js";
24
24
  import { n as pickPrimaryTailnetIPv4, r as pickPrimaryTailnetIPv6 } from "./tailnet-Cmumpn76.js";
25
- import { $ as getCliSessionId, $t as setPreRestartDeferralCheck, An as DEFAULT_INPUT_TIMEOUT_MS, At as normalizeOptionalSessionKey, Bt as buildSafeExternalPrompt, Cn as enqueueSystemEvent, Cr as onAgentEvent, Dn as DEFAULT_INPUT_IMAGE_MAX_BYTES, E as createDefaultDeps, F as buildHistoryContextFromEntries, Ft as buildDeliveryFromLegacyPayload, H as getTotalPendingReplies, Ht as getHookType, In as resolveAgentTimeoutMs, It as hasLegacyDeliveryHints, J as runAgentTurn, Jt as emitGatewayRestart, Kt as consumeGatewaySigusr1RestartAuthorization, Lt as stripLegacyDeliveryFields, Mn as extractImageContentFromSource, Mt as normalizePayloadToSystemText, Nn as normalizeMimeList, Nt as normalizeRequiredName, O as resolveAgentAvatar, On as DEFAULT_INPUT_IMAGE_MIMES, Ot as inferLegacyName, Pn as resolveInputFileLimits, Pt as migrateLegacyCronPayload, Q as resolveModelProfile, Qt as setGatewaySigusr1RestartPolicy, Sr as getAgentRunContext, St as summarizeRestartSentinel, T as createOutboundSendDeps, Tt as normalizeHttpWebhookUrl, Ut as isExternalHookSession, Vt as detectSuspiciousPatterns, X as getActiveEmbeddedRunCount, Xt as markGatewaySigusr1RestartHandled, Yt as isGatewaySigusr1RestartExternallyAllowed, _ as readJsonBodyWithLimit, at as resolveAnnounceTargetFromKey, b as sleepWithAbort, br as clearAgentRunContext, bt as formatRestartSentinelMessage, cr as getActiveTaskCount, ct as resolveOutboundSessionRoute, dn as requestHeartbeatNow, dr as resetAllLanes, dt as resolveOutboundTarget, et as setCliSessionId, f as getPluginToolMeta, fr as setCommandLaneConcurrency, ft as resolveSessionDeliveryTarget, g as handleSlackHttpRequest, gt as runWithModelFallback, hr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, i as listDescendantRunsForRequester, it as readLatestAssistantReply, jn as extractFileContentFromSource, jt as normalizeOptionalText, kn as DEFAULT_INPUT_MAX_REDIRECTS, kt as normalizeOptionalAgentId, l as applyToolPolicyPipeline, m as loadSymiPlugins, mr as CommandLane, mt as resetDirectoryCache, n as countActiveRunsForSession, pr as waitForActiveTasks, q as resolveCronStyleNow, qt as deferGatewayRestartUntilIdle, r as initSubagentRegistry, rt as createSymiTools, s as runSubagentAnnounceFlow, t as countActiveDescendantRuns, tt as runCliAgent, u as buildDefaultToolPolicyPipelineSteps, ur as getTotalQueueSize, v as requestBodyErrorToText, vt as consumeRestartSentinel, wr as registerAgentRunContext, x as agentCommand, xr as emitAgentEvent, y as computeBackoff, yr as stripHeartbeatToken } from "./subagent-registry-C8UsZ8F0.js";
26
- import { D as resolveSessionResetPolicy, F as resolveMainSessionKey, H as cleanStaleLockFiles, I as resolveMainSessionKeyFromConfig, K as mergeDeliveryContext, M as canonicalizeMainSessionAlias, N as resolveAgentMainSessionKey, T as evaluateSessionFreshness, W as deliveryContextFromSession, d as updateSessionStore, n as parseSessionThreadInfo, o as loadSessionStore } from "./sessions-Do060W3W.js";
25
+ import { $ as getCliSessionId, $t as setPreRestartDeferralCheck, An as DEFAULT_INPUT_TIMEOUT_MS, At as normalizeOptionalSessionKey, Bt as buildSafeExternalPrompt, Cn as enqueueSystemEvent, Cr as onAgentEvent, Dn as DEFAULT_INPUT_IMAGE_MAX_BYTES, E as createDefaultDeps, F as buildHistoryContextFromEntries, Ft as buildDeliveryFromLegacyPayload, H as getTotalPendingReplies, Ht as getHookType, In as resolveAgentTimeoutMs, It as hasLegacyDeliveryHints, J as runAgentTurn, Jt as emitGatewayRestart, Kt as consumeGatewaySigusr1RestartAuthorization, Lt as stripLegacyDeliveryFields, Mn as extractImageContentFromSource, Mt as normalizePayloadToSystemText, Nn as normalizeMimeList, Nt as normalizeRequiredName, O as resolveAgentAvatar, On as DEFAULT_INPUT_IMAGE_MIMES, Ot as inferLegacyName, Pn as resolveInputFileLimits, Pt as migrateLegacyCronPayload, Q as resolveModelProfile, Qt as setGatewaySigusr1RestartPolicy, Sr as getAgentRunContext, St as summarizeRestartSentinel, T as createOutboundSendDeps, Tt as normalizeHttpWebhookUrl, Ut as isExternalHookSession, Vt as detectSuspiciousPatterns, X as getActiveEmbeddedRunCount, Xt as markGatewaySigusr1RestartHandled, Yt as isGatewaySigusr1RestartExternallyAllowed, _ as readJsonBodyWithLimit, at as resolveAnnounceTargetFromKey, b as sleepWithAbort, br as clearAgentRunContext, bt as formatRestartSentinelMessage, cr as getActiveTaskCount, ct as resolveOutboundSessionRoute, dn as requestHeartbeatNow, dr as resetAllLanes, dt as resolveOutboundTarget, et as setCliSessionId, f as getPluginToolMeta, fr as setCommandLaneConcurrency, ft as resolveSessionDeliveryTarget, g as handleSlackHttpRequest, gt as runWithModelFallback, hr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, i as listDescendantRunsForRequester, it as readLatestAssistantReply, jn as extractFileContentFromSource, jt as normalizeOptionalText, kn as DEFAULT_INPUT_MAX_REDIRECTS, kt as normalizeOptionalAgentId, l as applyToolPolicyPipeline, m as loadSymiPlugins, mr as CommandLane, mt as resetDirectoryCache, n as countActiveRunsForSession, pr as waitForActiveTasks, q as resolveCronStyleNow, qt as deferGatewayRestartUntilIdle, r as initSubagentRegistry, rt as createSymiTools, s as runSubagentAnnounceFlow, t as countActiveDescendantRuns, tt as runCliAgent, u as buildDefaultToolPolicyPipelineSteps, ur as getTotalQueueSize, v as requestBodyErrorToText, vt as consumeRestartSentinel, wr as registerAgentRunContext, x as agentCommand, xr as emitAgentEvent, y as computeBackoff, yr as stripHeartbeatToken } from "./subagent-registry-4XZvxwX0.js";
26
+ import { D as resolveSessionResetPolicy, F as resolveMainSessionKey, H as cleanStaleLockFiles, I as resolveMainSessionKeyFromConfig, K as mergeDeliveryContext, M as canonicalizeMainSessionAlias, N as resolveAgentMainSessionKey, T as evaluateSessionFreshness, W as deliveryContextFromSession, d as updateSessionStore, n as parseSessionThreadInfo, o as loadSessionStore } from "./sessions-BPD85pWA.js";
27
27
  import { a as isSilentReplyText, n as SILENT_REPLY_TOKEN } from "./tokens-Csntmwwn.js";
28
28
  import { n as listChannelPlugins, o as normalizeWhatsAppTarget, r as normalizeChannelId, t as getChannelPlugin } from "./plugins-CwSlLxM8.js";
29
29
  import { n as resolveWhatsAppAccount } from "./accounts-D9ITgITj.js";
@@ -32,14 +32,14 @@ import "./logging-CFvkxgcX.js";
32
32
  import "./send-BcvVKfh2.js";
33
33
  import "./send-DnsTDCll.js";
34
34
  import { r as getMachineDisplayName } from "./with-timeout-BIXdW2Bg.js";
35
- import { C as getGlobalHookRunner, T as runGlobalGatewayStopSafely, t as deliverOutboundPayloads } from "./deliver-CiL9mQXH.js";
35
+ import { C as getGlobalHookRunner, T as runGlobalGatewayStopSafely, t as deliverOutboundPayloads } from "./deliver-BLt_liXS.js";
36
36
  import { d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, m as isDiagnosticsEnabled } from "./diagnostic-Ci8Xsc_Y.js";
37
37
  import "./diagnostic-session-state-CIjIGxEE.js";
38
38
  import "./accounts-D1eLj5t8.js";
39
39
  import "./send-CaUqpyyp.js";
40
40
  import { c as detectMime } from "./image-ops-CUkaZz2F.js";
41
- import "./pi-embedded-helpers-jo_kKs-Z.js";
42
- import { S as resolveToolProfilePolicy, _ as collectExplicitAllowlist, b as mergeAlsoAllowPolicy } from "./sandbox-Cl2r-bXv.js";
41
+ import "./pi-embedded-helpers-DSscUmkR.js";
42
+ import { S as resolveToolProfilePolicy, _ as collectExplicitAllowlist, b as mergeAlsoAllowPolicy } from "./sandbox-CDxHBl3I.js";
43
43
  import "./chrome-D2ohnA09.js";
44
44
  import { i as enableTailscaleServe, n as disableTailscaleServe, o as getTailnetHostname, r as enableTailscaleFunnel, t as disableTailscaleFunnel } from "./tailscale-CbbvYNVw.js";
45
45
  import { a as resolveGatewayAuth, c as createAuthRateLimiter, i as isLocalDirectRequest, n as authorizeHttpGatewayConnect, o as AUTH_RATE_LIMIT_SCOPE_DEVICE_TOKEN, r as authorizeWsControlUiGatewayConnect, s as AUTH_RATE_LIMIT_SCOPE_SHARED_SECRET, t as assertGatewayAuthConfigured } from "./auth-BfDMhFAj.js";
@@ -74,11 +74,11 @@ import "./ir-D-flMHhr.js";
74
74
  import "./render-e7fENCYH.js";
75
75
  import { r as isRestartEnabled } from "./commands-CkrIpKCc.js";
76
76
  import "./commands-registry-CccyRhnX.js";
77
- import "./image-CJ_QZqzR.js";
77
+ import "./image-DXco5IYt.js";
78
78
  import "./tool-display-CXwOC-qw.js";
79
- import { d as registerUnhandledRejectionHandler } from "./runner-BopCEjwB.js";
79
+ import { d as registerUnhandledRejectionHandler } from "./runner-CSdQSvE8.js";
80
80
  import { n as loadModelCatalog } from "./model-catalog-DKGSg6jF.js";
81
- import { a as loadCombinedSessionStoreForGateway, i as listSessionsFromStore, o as loadSessionEntry, u as lookupContextTokens } from "./session-utils-Dwt6eGX6.js";
81
+ import { a as loadCombinedSessionStoreForGateway, i as listSessionsFromStore, o as loadSessionEntry, u as lookupContextTokens } from "./session-utils-BPXkhuNM.js";
82
82
  import { S as registerSkillsChangeListener, c as recordRemoteNodeInfo, d as removeRemoteNodeInfo, f as setSkillsRemoteRegistry, l as refreshRemoteBinsForConnectedNodes, o as getRemoteSkillEligibility, s as primeRemoteSkillsCache, u as refreshRemoteNodeBins, v as updatePairedNodeMetadata, x as getSkillsSnapshotVersion } from "./skill-commands-BSJONVkt.js";
83
83
  import "./workspace-dirs-CPNL2Acu.js";
84
84
  import { a as readChannelAllowFromStoreSync } from "./pairing-store-NgA78L2g.js";
@@ -106,7 +106,7 @@ import "./replies-CsUBFXf6.js";
106
106
  import { C as normalizeControlUiBasePath, S as buildControlUiAvatarUrl, c as handleReset, w as resolveAssistantAvatarUrl, x as CONTROL_UI_AVATAR_PREFIX } from "./onboard-helpers-7H_XiJt-.js";
107
107
  import "./prompt-style-DwCXob2h.js";
108
108
  import "./pairing-labels-DwceB1dG.js";
109
- import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, r as resolveEffectiveToolPolicy } from "./pi-tools.policy-CGVKAOoE.js";
109
+ import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, r as resolveEffectiveToolPolicy } from "./pi-tools.policy-DOVQ8dDx.js";
110
110
  import { i as onHeartbeatEvent, t as resolveHeartbeatVisibility } from "./heartbeat-visibility-B8TDjqpW.js";
111
111
  import { t as ensureSymiCliOnPath } from "./path-env-Bic_wXs9.js";
112
112
  import { n as DEFAULT_GATEWAY_HTTP_TOOL_DENY } from "./dangerous-tools-B8QrxStA.js";
@@ -129,22 +129,22 @@ import "./diagnostics-CS1ov_hH.js";
129
129
  import "./table-D01d2GuY.js";
130
130
  import { n as resolveWideAreaDiscoveryDomain, r as writeWideAreaGatewayZone } from "./widearea-dns-CsKTEo__.js";
131
131
  import { i as toOptionString, n as extractGatewayMiskeys, r as maybeExplainGatewayServiceStop, t as describeUnknownError } from "./shared-BtG9rny3.js";
132
- import { c as probeGateway, s as resolveNodeCommandAllowlist } from "./audit-BIeVybsA.js";
132
+ import { c as probeGateway, s as resolveNodeCommandAllowlist } from "./audit-DgAM_dWL.js";
133
133
  import { t as discoverGatewayBeacons } from "./bonjour-discovery-CA_XIzr_.js";
134
- import { i as pickGatewaySelfPresence } from "./status-DsFAg-bK.js";
135
- import { a as styleHealthChannelLine, l as startHeartbeatRunner, n as getHealthSnapshot, s as runHeartbeatOnce, t as formatHealthChannelLines } from "./health-DvkoG4Dw.js";
134
+ import { i as pickGatewaySelfPresence } from "./status-eVKjxfUO.js";
135
+ import { a as styleHealthChannelLine, l as startHeartbeatRunner, n as getHealthSnapshot, s as runHeartbeatOnce, t as formatHealthChannelLines } from "./health-7ZvWXkvm.js";
136
136
  import { a as resolveControlUiRootSync, i as resolveControlUiRootOverrideSync, t as ensureControlUiAssetsBuilt } from "./control-ui-assets-BseSWee1.js";
137
137
  import { a as resolveNpmChannelTag, c as DEFAULT_PACKAGE_CHANNEL, m as normalizeUpdateChannel, n as compareSemverStrings, t as checkUpdateStatus } from "./update-check-ZdimP1aU.js";
138
- import { t as runOnboardingWizard } from "./onboarding-BfeyfvK_.js";
139
- import { C as startGatewayConfigReloader, S as resolveCronRunLogPath, _ as MAX_PAYLOAD_BYTES, a as loadFavoritesSet, b as abortChatRunById, c as resolveAssistantIdentity, d as formatError, f as loadVoiceWakeConfig, g as MAX_BUFFERED_BYTES, h as HEALTH_REFRESH_INTERVAL_MS, i as safeParseJson, l as listSystemPresence, m as DEDUPE_TTL_MS, n as handleGatewayRequest, o as reconcileFavorites, p as DEDUPE_MAX, r as broadcastPresenceSnapshot, s as DEFAULT_ASSISTANT_IDENTITY, t as coreGatewayHandlers, u as upsertPresence, v as TICK_INTERVAL_MS, x as appendCronRunLog, y as getHandshakeTimeoutMs } from "./server-methods-DQHU-PVR.js";
140
- import { d as shouldLogWs, f as summarizeAgentEventForWsLog, l as formatForLog, p as setGatewayWsLogStyle, u as logWs } from "./push-apns-BMfcGm-A.js";
138
+ import { t as runOnboardingWizard } from "./onboarding-hJaI3u5t.js";
139
+ import { C as startGatewayConfigReloader, S as resolveCronRunLogPath, _ as MAX_PAYLOAD_BYTES, a as loadFavoritesSet, b as abortChatRunById, c as resolveAssistantIdentity, d as formatError, f as loadVoiceWakeConfig, g as MAX_BUFFERED_BYTES, h as HEALTH_REFRESH_INTERVAL_MS, i as safeParseJson, l as listSystemPresence, m as DEDUPE_TTL_MS, n as handleGatewayRequest, o as reconcileFavorites, p as DEDUPE_MAX, r as broadcastPresenceSnapshot, s as DEFAULT_ASSISTANT_IDENTITY, t as coreGatewayHandlers, u as upsertPresence, v as TICK_INTERVAL_MS, x as appendCronRunLog, y as getHandshakeTimeoutMs } from "./server-methods-D1eF0-Yu.js";
140
+ import { d as shouldLogWs, f as summarizeAgentEventForWsLog, l as formatForLog, p as setGatewayWsLogStyle, u as logWs } from "./push-apns-YD8SuIy0.js";
141
141
  import { T as resolveGmailHookRuntimeConfig, _ as buildGogWatchServeArgs, i as ensureTailscaleEndpoint, v as buildGogWatchStartArgs } from "./gmail-setup-utils-CzWeiE-Y.js";
142
- import "./agents.config-B8euVOOW.js";
142
+ import "./agents.config-DnEa79_a.js";
143
143
  import "./dm-policy-shared-DF2uLfXk.js";
144
144
  import "./node-service-fcZExd22.js";
145
145
  import "./status.update-BGSQrlxW.js";
146
146
  import "./skills-install-Por3jP0P.js";
147
- import "./update-runner-C56OyqSE.js";
147
+ import "./update-runner-i95oVXRi.js";
148
148
  import { t as resolveAgentSessionDirs } from "./session-dirs-DWgIYmAt.js";
149
149
  import { i as shouldIncludeHook, r as resolveHookConfig, t as loadWorkspaceHookEntries } from "./workspace-B51TF6q3.js";
150
150
  import { n as forceFreePortAndWait } from "./ports-Dn122MUd.js";
@@ -11881,7 +11881,7 @@ async function startGatewayServer(port = 18789, opts = {}) {
11881
11881
  if (!minimalTestGateway) cron.start().catch((err) => logCron.error(`failed to start: ${String(err)}`));
11882
11882
  if (!minimalTestGateway) (async () => {
11883
11883
  const { recoverPendingDeliveries } = await import("./delivery-queue-CzNZXd1M.js").then((n) => n.n);
11884
- const { deliverOutboundPayloads } = await import("./deliver-CiL9mQXH.js").then((n) => n.n);
11884
+ const { deliverOutboundPayloads } = await import("./deliver-BLt_liXS.js").then((n) => n.n);
11885
11885
  await recoverPendingDeliveries({
11886
11886
  deliver: deliverOutboundPayloads,
11887
11887
  log: log.child("delivery-recovery"),
@@ -11954,7 +11954,7 @@ async function startGatewayServer(port = 18789, opts = {}) {
11954
11954
  });
11955
11955
  let glassUiBridgeCleanup = null;
11956
11956
  if (!minimalTestGateway) {
11957
- const { createGlassUiBridge } = await import("./glass-ui-ws-BgVPCNjg.js");
11957
+ const { createGlassUiBridge } = await import("./glass-ui-ws-BHVpfzRg.js");
11958
11958
  glassUiBridgeCleanup = createGlassUiBridge({
11959
11959
  wss: glassUiWss,
11960
11960
  context: gatewayRequestContext,
@@ -1,7 +1,7 @@
1
1
  import { _ as expandHomePrefix, g as resolveStateDir, i as isNixMode, l as resolveGatewayLockDir, o as resolveConfigPath, r as STATE_DIR, t as CONFIG_PATH, u as resolveGatewayPort } from "./paths-Cqn-zk3M.js";
2
2
  import { B as theme, E as truncateUtf16Safe, H as getLogger, P as setVerbose, R as colorize, S as shortenHomePath, U as getResolvedLoggerSettings, V as getChildLogger, c as ensureDir, t as CONFIG_DIR, y as resolveUserPath, z as isRich } from "./utils-B-0b9bGM.js";
3
3
  import { d as supportsXHighThinking, l as normalizeVerboseLevel, s as normalizeThinkLevel } from "./thinking-EAliFiVK.js";
4
- import { $ as buildDeliveryFromLegacyPayload, A as emitGatewayRestart, An as initSubagentRegistry, Ar as extractImageContentFromSource, B as summarizeRestartSentinel, Bn as registerAgentRunContext, Ct as requestBodyErrorToText, Dr as DEFAULT_INPUT_MAX_REDIRECTS, E as resetDirectoryCache, Er as DEFAULT_INPUT_IMAGE_MIMES, Et as agentCommand, F as setPreRestartDeferralCheck, Fn as readLatestAssistantReply, Gt as getCliSessionId, I as consumeRestartSentinel, In as clearAgentRunContext, J as normalizeOptionalSessionKey, K as inferLegacyName, Kt as setCliSessionId, Ln as emitAgentEvent, Lt as createDefaultDeps, M as markGatewaySigusr1RestartHandled, Mr as resolveInputFileLimits, Mt as resolveOutboundTarget, Nt as resolveSessionDeliveryTarget, O as consumeGatewaySigusr1RestartAuthorization, On as countActiveDescendantRuns, Or as DEFAULT_INPUT_TIMEOUT_MS, P as setGatewaySigusr1RestartPolicy, Pn as runSubagentAnnounceFlow, Pr as resolveAgentTimeoutMs, Pt as createOutboundSendDeps, Q as migrateLegacyCronPayload, R as formatRestartSentinelMessage, Rn as getAgentRunContext, St as readJsonBodyWithLimit, Tr as DEFAULT_INPUT_IMAGE_MAX_BYTES, Tt as sleepWithAbort, U as normalizeHttpWebhookUrl, Ut as resolveModelProfile, Vt as getActiveEmbeddedRunCount, Wt as runWithModelFallback, X as normalizePayloadToSystemText, Xt as resolveAgentAvatar, Y as normalizeOptionalText, Z as normalizeRequiredName, _ as loadCombinedSessionStoreForGateway, ar as setCommandLaneConcurrency, cn as buildHistoryContextFromEntries, cr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, d as createSymiTools, en as buildSafeExternalPrompt, et as hasLegacyDeliveryHints, f as resolveAnnounceTargetFromKey, fr as stripHeartbeatToken, ft as loadSymiPlugins, g as listSessionsFromStore, hn as getTotalPendingReplies, i as resolveCronStyleNow, ir as resetAllLanes, j as isGatewaySigusr1RestartExternallyAllowed, jn as listDescendantRunsForRequester, jr as normalizeMimeList, k as deferGatewayRestartUntilIdle, kn as countActiveRunsForSession, kr as extractFileContentFromSource, l as applyToolPolicyPipeline, nn as getHookType, or as waitForActiveTasks, pr as lookupContextTokens, q as normalizeOptionalAgentId, qt as runCliAgent, rn as isExternalHookSession, rr as getTotalQueueSize, sr as CommandLane, st as requestHeartbeatNow, tn as detectSuspiciousPatterns, tr as getActiveTaskCount, tt as stripLegacyDeliveryFields, u as buildDefaultToolPolicyPipelineSteps, ut as getPluginToolMeta, v as loadSessionEntry, w as resolveOutboundSessionRoute, wt as computeBackoff, xr as enqueueSystemEvent, xt as handleSlackHttpRequest, zn as onAgentEvent, zt as runAgentTurn } from "./reply-kWKTXRkY.js";
4
+ import { $ as buildDeliveryFromLegacyPayload, A as emitGatewayRestart, An as initSubagentRegistry, Ar as extractImageContentFromSource, B as summarizeRestartSentinel, Bn as registerAgentRunContext, Ct as requestBodyErrorToText, Dr as DEFAULT_INPUT_MAX_REDIRECTS, E as resetDirectoryCache, Er as DEFAULT_INPUT_IMAGE_MIMES, Et as agentCommand, F as setPreRestartDeferralCheck, Fn as readLatestAssistantReply, Gt as getCliSessionId, I as consumeRestartSentinel, In as clearAgentRunContext, J as normalizeOptionalSessionKey, K as inferLegacyName, Kt as setCliSessionId, Ln as emitAgentEvent, Lt as createDefaultDeps, M as markGatewaySigusr1RestartHandled, Mr as resolveInputFileLimits, Mt as resolveOutboundTarget, Nt as resolveSessionDeliveryTarget, O as consumeGatewaySigusr1RestartAuthorization, On as countActiveDescendantRuns, Or as DEFAULT_INPUT_TIMEOUT_MS, P as setGatewaySigusr1RestartPolicy, Pn as runSubagentAnnounceFlow, Pr as resolveAgentTimeoutMs, Pt as createOutboundSendDeps, Q as migrateLegacyCronPayload, R as formatRestartSentinelMessage, Rn as getAgentRunContext, St as readJsonBodyWithLimit, Tr as DEFAULT_INPUT_IMAGE_MAX_BYTES, Tt as sleepWithAbort, U as normalizeHttpWebhookUrl, Ut as resolveModelProfile, Vt as getActiveEmbeddedRunCount, Wt as runWithModelFallback, X as normalizePayloadToSystemText, Xt as resolveAgentAvatar, Y as normalizeOptionalText, Z as normalizeRequiredName, _ as loadCombinedSessionStoreForGateway, ar as setCommandLaneConcurrency, cn as buildHistoryContextFromEntries, cr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, d as createSymiTools, en as buildSafeExternalPrompt, et as hasLegacyDeliveryHints, f as resolveAnnounceTargetFromKey, fr as stripHeartbeatToken, ft as loadSymiPlugins, g as listSessionsFromStore, hn as getTotalPendingReplies, i as resolveCronStyleNow, ir as resetAllLanes, j as isGatewaySigusr1RestartExternallyAllowed, jn as listDescendantRunsForRequester, jr as normalizeMimeList, k as deferGatewayRestartUntilIdle, kn as countActiveRunsForSession, kr as extractFileContentFromSource, l as applyToolPolicyPipeline, nn as getHookType, or as waitForActiveTasks, pr as lookupContextTokens, q as normalizeOptionalAgentId, qt as runCliAgent, rn as isExternalHookSession, rr as getTotalQueueSize, sr as CommandLane, st as requestHeartbeatNow, tn as detectSuspiciousPatterns, tr as getActiveTaskCount, tt as stripLegacyDeliveryFields, u as buildDefaultToolPolicyPipelineSteps, ut as getPluginToolMeta, v as loadSessionEntry, w as resolveOutboundSessionRoute, wt as computeBackoff, xr as enqueueSystemEvent, xt as handleSlackHttpRequest, zn as onAgentEvent, zt as runAgentTurn } from "./reply-o0IEwJ_P.js";
5
5
  import { S as parseAgentSessionKey, c as normalizeMainKey, f as toAgentRequestSessionKey, l as resolveAgentIdFromSessionKey, m as DEFAULT_ACCOUNT_ID, p as toAgentStoreSessionKey, r as buildAgentMainSessionKey, s as normalizeAgentId, t as DEFAULT_AGENT_ID, x as isSubagentSessionKey, y as isCronRunSessionKey } from "./session-key-DCt45XZa.js";
6
6
  import { r as matchesSkillFilter, t as resolveSymiPackageRoot } from "./symi-root-CrGJbkzf.js";
7
7
  import { C as createInternalHookEvent, S as clearInternalHooks, T as triggerInternalHook, m as createEmptyPluginRegistry, r as DEFAULT_CHAT_CHANNEL, w as registerInternalHook } from "./registry-Cja8eT7G.js";
@@ -18,12 +18,12 @@ import "./send-BKhluIbb.js";
18
18
  import { B as resolveAgentMaxConcurrent, C as parseDurationMs, H as VERSION, U as resolveRuntimeServiceVersion, V as resolveSubagentMaxConcurrent, i as loadConfig, l as writeConfigFile, n as migrateLegacyConfig, o as readConfigFileSnapshot, r as createConfigIO } from "./config-PXAJCHa5.js";
19
19
  import { l as isTestDefaultMemorySlotDisabled } from "./manifest-registry-BDSRH8nU.js";
20
20
  import { a as isPathInsideWithRealpath } from "./legacy-names-Be3msDZo.js";
21
- import { d as registerUnhandledRejectionHandler } from "./runner-eBF6SlQ6.js";
22
- import "./image-C2IvljWU.js";
21
+ import { d as registerUnhandledRejectionHandler } from "./runner-C_BlQ2fG.js";
22
+ import "./image-D_qN_IxA.js";
23
23
  import "./models-config-B91ShhoT.js";
24
24
  import "./pi-model-discovery-4uUnLc3n.js";
25
- import "./pi-embedded-helpers-DiXXYmgo.js";
26
- import { S as resolveToolProfilePolicy, _ as collectExplicitAllowlist, b as mergeAlsoAllowPolicy } from "./sandbox-ooxzsj2D.js";
25
+ import "./pi-embedded-helpers-DpOccVre.js";
26
+ import { S as resolveToolProfilePolicy, _ as collectExplicitAllowlist, b as mergeAlsoAllowPolicy } from "./sandbox-BOVopTqv.js";
27
27
  import "./chrome-BJvuH-NZ.js";
28
28
  import { i as enableTailscaleServe, n as disableTailscaleServe, o as getTailnetHostname, r as enableTailscaleFunnel, t as disableTailscaleFunnel } from "./tailscale-D5dKabOc.js";
29
29
  import { t as safeEqualSecret } from "./secret-equal-D7A3Bol7.js";
@@ -43,7 +43,7 @@ import { c as detectMime } from "./image-ops-1OJMSAUX.js";
43
43
  import "./store-r1DJSDq-.js";
44
44
  import { a as inspectPortUsage, r as ensurePortAvailable, s as formatPortDiagnostics } from "./ports-BOmtxoTv.js";
45
45
  import "./trash-DcMh1i4B.js";
46
- import { B as resolveAgentMainSessionKey, H as resolveMainSessionKey, M as evaluateSessionFreshness, P as resolveSessionResetPolicy, U as resolveMainSessionKeyFromConfig, Y as cleanStaleLockFiles, _ as mergeDeliveryContext, d as updateSessionStore, h as deliveryContextFromSession, n as parseSessionThreadInfo, o as loadSessionStore, z as canonicalizeMainSessionAlias } from "./sessions-vYQs1OzE.js";
46
+ import { B as resolveAgentMainSessionKey, H as resolveMainSessionKey, M as evaluateSessionFreshness, P as resolveSessionResetPolicy, U as resolveMainSessionKeyFromConfig, Y as cleanStaleLockFiles, _ as mergeDeliveryContext, d as updateSessionStore, h as deliveryContextFromSession, n as parseSessionThreadInfo, o as loadSessionStore, z as canonicalizeMainSessionAlias } from "./sessions-BeYHj0gr.js";
47
47
  import "./dock-BhS32F6E.js";
48
48
  import { n as listChannelPlugins, o as normalizeWhatsAppTarget, r as normalizeChannelId, t as getChannelPlugin } from "./plugins-DKDeQZF0.js";
49
49
  import { n as resolveWhatsAppAccount } from "./accounts-DDuIpcln.js";
@@ -62,7 +62,7 @@ import "./sqlite-Dx3J_aSE.js";
62
62
  import { n as loadModelCatalog } from "./model-catalog-Dex2EDUJ.js";
63
63
  import { a as isSilentReplyText, n as SILENT_REPLY_TOKEN } from "./tokens-BuceUQDl.js";
64
64
  import { r as getMachineDisplayName } from "./with-timeout-emS7y-kf.js";
65
- import { C as getGlobalHookRunner, T as runGlobalGatewayStopSafely, t as deliverOutboundPayloads } from "./deliver-CXpvGXqJ.js";
65
+ import { C as getGlobalHookRunner, T as runGlobalGatewayStopSafely, t as deliverOutboundPayloads } from "./deliver-lG9ITE8w.js";
66
66
  import { d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, m as isDiagnosticsEnabled } from "./diagnostic-CH0skkp6.js";
67
67
  import "./diagnostic-session-state-CUslJyKP.js";
68
68
  import "./send-DFftzTHo.js";
@@ -106,7 +106,7 @@ import "./pairing-labels-BScqzHEx.js";
106
106
  import { n as formatTokenCount, r as formatUsd } from "./usage-format-BgUx3Bm4.js";
107
107
  import { t as DEFAULT_EXEC_APPROVAL_TIMEOUT_MS } from "./exec-approvals-DXM2pQYL.js";
108
108
  import "./nodes-screen-8Bq7DiSa.js";
109
- import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, r as resolveEffectiveToolPolicy } from "./pi-tools.policy-p7LLu64F.js";
109
+ import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, r as resolveEffectiveToolPolicy } from "./pi-tools.policy-BpN-v9bT.js";
110
110
  import "./control-service-D0IdaeI8.js";
111
111
  import { i as parseAbsoluteTimeMs, n as resolveCronStaggerMs, r as resolveDefaultCronStaggerMs, t as normalizeCronStaggerMs } from "./stagger-CvFURHzt.js";
112
112
  import { n as resolveMessageChannelSelection } from "./channel-selection-V2xDgw16.js";
@@ -134,22 +134,22 @@ import "./diagnostics-BRwihzJG.js";
134
134
  import "./table-BKlH0YlA.js";
135
135
  import { n as resolveWideAreaDiscoveryDomain, r as writeWideAreaGatewayZone } from "./widearea-dns-CyVOLgNE.js";
136
136
  import { i as toOptionString, n as extractGatewayMiskeys, r as maybeExplainGatewayServiceStop, t as describeUnknownError } from "./shared-DnmJ0ABB.js";
137
- import { c as probeGateway, s as resolveNodeCommandAllowlist } from "./audit-DCOp_J5K.js";
137
+ import { c as probeGateway, s as resolveNodeCommandAllowlist } from "./audit-DVUHZrf4.js";
138
138
  import { t as discoverGatewayBeacons } from "./bonjour-discovery-DUQ6tE92.js";
139
- import { r as pickGatewaySelfPresence } from "./status-v8DOdpX6.js";
140
- import { c as startHeartbeatRunner, i as styleHealthChannelLine, n as getHealthSnapshot, o as runHeartbeatOnce, t as formatHealthChannelLines } from "./health-DKxSHkOQ.js";
139
+ import { r as pickGatewaySelfPresence } from "./status-Cv3PcsRo.js";
140
+ import { c as startHeartbeatRunner, i as styleHealthChannelLine, n as getHealthSnapshot, o as runHeartbeatOnce, t as formatHealthChannelLines } from "./health-D1L94KKE.js";
141
141
  import { a as resolveControlUiRootSync, i as resolveControlUiRootOverrideSync, t as ensureControlUiAssetsBuilt } from "./control-ui-assets-B7moDVHX.js";
142
142
  import { a as resolveNpmChannelTag, c as DEFAULT_PACKAGE_CHANNEL, m as normalizeUpdateChannel, n as compareSemverStrings, t as checkUpdateStatus } from "./update-check-7EzEjSzb.js";
143
- import { t as runOnboardingWizard } from "./onboarding-Bqz1NgoR.js";
144
- import { C as startGatewayConfigReloader, S as resolveCronRunLogPath, _ as MAX_PAYLOAD_BYTES, a as loadFavoritesSet, b as abortChatRunById, c as resolveAssistantIdentity, d as formatError, f as loadVoiceWakeConfig, g as MAX_BUFFERED_BYTES, h as HEALTH_REFRESH_INTERVAL_MS, i as safeParseJson, l as listSystemPresence, m as DEDUPE_TTL_MS, n as handleGatewayRequest, o as reconcileFavorites, p as DEDUPE_MAX, r as broadcastPresenceSnapshot, s as DEFAULT_ASSISTANT_IDENTITY, t as coreGatewayHandlers, u as upsertPresence, v as TICK_INTERVAL_MS, x as appendCronRunLog, y as getHandshakeTimeoutMs } from "./server-methods-DuXvSLX-.js";
145
- import { d as shouldLogWs, f as summarizeAgentEventForWsLog, l as formatForLog, p as setGatewayWsLogStyle, u as logWs } from "./push-apns-CHM_4e6x.js";
143
+ import { t as runOnboardingWizard } from "./onboarding-BAn2oNRB.js";
144
+ import { C as startGatewayConfigReloader, S as resolveCronRunLogPath, _ as MAX_PAYLOAD_BYTES, a as loadFavoritesSet, b as abortChatRunById, c as resolveAssistantIdentity, d as formatError, f as loadVoiceWakeConfig, g as MAX_BUFFERED_BYTES, h as HEALTH_REFRESH_INTERVAL_MS, i as safeParseJson, l as listSystemPresence, m as DEDUPE_TTL_MS, n as handleGatewayRequest, o as reconcileFavorites, p as DEDUPE_MAX, r as broadcastPresenceSnapshot, s as DEFAULT_ASSISTANT_IDENTITY, t as coreGatewayHandlers, u as upsertPresence, v as TICK_INTERVAL_MS, x as appendCronRunLog, y as getHandshakeTimeoutMs } from "./server-methods-D0laPfTZ.js";
145
+ import { d as shouldLogWs, f as summarizeAgentEventForWsLog, l as formatForLog, p as setGatewayWsLogStyle, u as logWs } from "./push-apns-CJ2CpgRB.js";
146
146
  import { T as resolveGmailHookRuntimeConfig, _ as buildGogWatchServeArgs, i as ensureTailscaleEndpoint, v as buildGogWatchStartArgs } from "./gmail-setup-utils-Dq6vwkWW.js";
147
- import "./agents.config-DWsjuONZ.js";
147
+ import "./agents.config-D17kikNs.js";
148
148
  import "./dm-policy-shared-DwFEXR-I.js";
149
149
  import "./node-service-CD47Qpf1.js";
150
150
  import "./status.update-C1I_7XIo.js";
151
151
  import "./skills-install-D8JjjETa.js";
152
- import "./update-runner-BhXkq5Gw.js";
152
+ import "./update-runner-CxuU59aU.js";
153
153
  import { t as resolveAgentSessionDirs } from "./session-dirs-Dgz7kkUM.js";
154
154
  import { i as shouldIncludeHook, r as resolveHookConfig, t as loadWorkspaceHookEntries } from "./workspace-B4H-2N8y.js";
155
155
  import { fileURLToPath, pathToFileURL } from "node:url";
@@ -11885,7 +11885,7 @@ async function startGatewayServer(port = 18789, opts = {}) {
11885
11885
  if (!minimalTestGateway) cron.start().catch((err) => logCron.error(`failed to start: ${String(err)}`));
11886
11886
  if (!minimalTestGateway) (async () => {
11887
11887
  const { recoverPendingDeliveries } = await import("./delivery-queue-CAxX6nGq.js").then((n) => n.n);
11888
- const { deliverOutboundPayloads } = await import("./deliver-CXpvGXqJ.js").then((n) => n.n);
11888
+ const { deliverOutboundPayloads } = await import("./deliver-lG9ITE8w.js").then((n) => n.n);
11889
11889
  await recoverPendingDeliveries({
11890
11890
  deliver: deliverOutboundPayloads,
11891
11891
  log: log.child("delivery-recovery"),
@@ -11958,7 +11958,7 @@ async function startGatewayServer(port = 18789, opts = {}) {
11958
11958
  });
11959
11959
  let glassUiBridgeCleanup = null;
11960
11960
  if (!minimalTestGateway) {
11961
- const { createGlassUiBridge } = await import("./glass-ui-ws-CMMnvVpl.js");
11961
+ const { createGlassUiBridge } = await import("./glass-ui-ws-DRWpg6Qb.js");
11962
11962
  glassUiBridgeCleanup = createGlassUiBridge({
11963
11963
  wss: glassUiWss,
11964
11964
  context: gatewayRequestContext,
@@ -1,4 +1,4 @@
1
- import { C as normalizeProviderId } from "./auth-profiles-C2vj6htZ.js";
1
+ import { C as normalizeProviderId } from "./auth-profiles-aJfgABnE.js";
2
2
  import { n as formatErrorMessage } from "./errors-XIsvXeC-.js";
3
3
 
4
4
  //#region src/agents/live-auth-keys.ts