@symerian/symi 2.8.3 → 2.8.5

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 (230) hide show
  1. package/dist/{agents-Qr0BDw_h.js → agents-DWuqUDaG.js} +4 -4
  2. package/dist/{agents.config-DIjsIDbS.js → agents.config-B8euVOOW.js} +1 -1
  3. package/dist/{agents.config-D0ih9tP3.js → agents.config-DWsjuONZ.js} +1 -1
  4. package/dist/{audio-preflight-DfALITTK.js → audio-preflight-BQaUmV6k.js} +5 -5
  5. package/dist/{audio-preflight-DJXj9QP9.js → audio-preflight-CKbpf-IL.js} +5 -5
  6. package/dist/{audit-DgAM_dWL.js → audit-BIeVybsA.js} +2 -2
  7. package/dist/{audit-DVUHZrf4.js → audit-DCOp_J5K.js} +2 -2
  8. package/dist/{auth-choice-PdYn-qiM.js → auth-choice-hKVjPWaU.js} +1 -1
  9. package/dist/{auth-choice-DhI8MW-5.js → auth-choice-kpk3L0TR.js} +1 -1
  10. package/dist/{banner-BQhYK_Ag.js → banner-C1RFNTRm.js} +1 -1
  11. package/dist/build-info.json +3 -3
  12. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  13. package/dist/{channel-options-CFwo8sFR.js → channel-options-Pit7RtN-.js} +1 -1
  14. package/dist/{channel-options-ZHpChVVk.js → channel-options-Vjegw-bn.js} +1 -1
  15. package/dist/{channel-web-UmRhDGhI.js → channel-web-BVm_UWyj.js} +3 -3
  16. package/dist/{channels-cli-CRDgQtex.js → channels-cli-Bh07AMec.js} +11 -11
  17. package/dist/{channels-cli-rzQvsXSw.js → channels-cli-CXws5tG8.js} +12 -12
  18. package/dist/{cli-CC9jaj6w.js → cli-D5qinxg-.js} +8 -8
  19. package/dist/{cli-DN6fX0Xu.js → cli-TABOKnEJ.js} +9 -9
  20. package/dist/{command-registry-qqb2gJ4P.js → command-registry-DEe4juCf.js} +9 -9
  21. package/dist/{completion-cli-g-Vdnude.js → completion-cli-D0j-46vF.js} +2 -2
  22. package/dist/{completion-cli-BX_yaiom.js → completion-cli-W3fyiL94.js} +1 -1
  23. package/dist/{config-cli-CsCvDCZV.js → config-cli-CajteLy8.js} +1 -1
  24. package/dist/{config-cli-CnFTSv-1.js → config-cli-DLBtnr_W.js} +1 -1
  25. package/dist/{config-guard-DsOhmFl6.js → config-guard-BJE6xSY9.js} +2 -2
  26. package/dist/{config-guard-CJ4iAPK5.js → config-guard-DjlYIjka.js} +1 -1
  27. package/dist/{configure-CAuW3YmR.js → configure-2PdZnKO6.js} +3 -3
  28. package/dist/{configure-BYd07Mo5.js → configure-B79KjBCS.js} +3 -3
  29. package/dist/control-ui/js/app.js +33 -6
  30. package/dist/control-ui/js/render.js +14 -4
  31. package/dist/{deliver-lG9ITE8w.js → deliver-CXpvGXqJ.js} +2 -2
  32. package/dist/{deliver-BLt_liXS.js → deliver-CiL9mQXH.js} +2 -2
  33. package/dist/{doctor-completion-Cqce5h2X.js → doctor-completion-DOnUbTdS.js} +1 -1
  34. package/dist/{doctor-completion-Dqfl4aR1.js → doctor-completion-mlj3aq0W.js} +1 -1
  35. package/dist/{doctor-config-flow-CN8seKLA.js → doctor-config-flow-BRB_O0jG.js} +1 -1
  36. package/dist/{doctor-config-flow-C81j0-sE.js → doctor-config-flow-DFk-NaP5.js} +1 -1
  37. package/dist/entry.js +1 -1
  38. package/dist/{gateway-cli-DA1fRZ5w.js → gateway-cli-D7jQypRh.js} +19 -19
  39. package/dist/{gateway-cli-BUqL_Yh6.js → gateway-cli-nHVe7vxD.js} +18 -18
  40. package/dist/{glass-ui-ws-Cm-WtdFI.js → glass-ui-ws-BgVPCNjg.js} +16 -16
  41. package/dist/{glass-ui-ws-BzBtCYP7.js → glass-ui-ws-CMMnvVpl.js} +15 -15
  42. package/dist/{health-Bx8UUqFA.js → health-DKxSHkOQ.js} +3 -3
  43. package/dist/{health-C7HtwYDj.js → health-DvkoG4Dw.js} +3 -3
  44. package/dist/{hooks-cli-5G9JN39f.js → hooks-cli-DV1GeJpO.js} +9 -9
  45. package/dist/{hooks-cli-DtVT3wM_.js → hooks-cli-DsWn_3um.js} +10 -10
  46. package/dist/{image-D_qN_IxA.js → image-C2IvljWU.js} +1 -1
  47. package/dist/{image-DXco5IYt.js → image-CJ_QZqzR.js} +1 -1
  48. package/dist/index.js +14 -14
  49. package/dist/{models-DQthIpnz.js → models-BohMMqeG.js} +2 -2
  50. package/dist/{models-cli-D8zc0jSg.js → models-cli-CJywE4w7.js} +11 -11
  51. package/dist/{models-cli-UaHeUaJq.js → models-cli-DabormMV.js} +9 -9
  52. package/dist/{onboard-sl1Xputw.js → onboard-CyuUucGA.js} +2 -2
  53. package/dist/{onboard-channels-CUUTFx1F.js → onboard-channels-DU6do-N5.js} +1 -1
  54. package/dist/{onboard-channels-HyGv2y5c.js → onboard-channels-DaY1NwXd.js} +1 -1
  55. package/dist/{onboard-C1GtzpAc.js → onboard-ygIcreY9.js} +2 -2
  56. package/dist/{onboarding-B4qg0ZYp.js → onboarding-BfeyfvK_.js} +4 -4
  57. package/dist/{onboarding-C89rTOOy.js → onboarding-Bqz1NgoR.js} +4 -4
  58. package/dist/{onboarding.finalize-ClJ1HBVt.js → onboarding.finalize-CG0xwhEw.js} +13 -13
  59. package/dist/{onboarding.finalize-CGk4vov2.js → onboarding.finalize-DzTo4LEo.js} +15 -15
  60. package/dist/{onboarding.gateway-config-TM8ERKyn.js → onboarding.gateway-config-7LGxdDrq.js} +1 -1
  61. package/dist/{onboarding.gateway-config-vGTQDqA6.js → onboarding.gateway-config-DJJRuyZ_.js} +1 -1
  62. package/dist/{pi-embedded-helpers-DpOccVre.js → pi-embedded-helpers-DiXXYmgo.js} +1 -1
  63. package/dist/{pi-embedded-helpers-DSscUmkR.js → pi-embedded-helpers-jo_kKs-Z.js} +1 -1
  64. package/dist/{pi-tools.policy-DOVQ8dDx.js → pi-tools.policy-CGVKAOoE.js} +1 -1
  65. package/dist/{pi-tools.policy-BpN-v9bT.js → pi-tools.policy-p7LLu64F.js} +1 -1
  66. package/dist/{plugin-registry-7MeuYUTG.js → plugin-registry-DG2IOSY3.js} +1 -1
  67. package/dist/{plugin-registry-Dx8MaVaX.js → plugin-registry-DTm-oyEP.js} +1 -1
  68. package/dist/plugin-sdk/{accounts-BToL3HlP.js → accounts-BtaOa4z_.js} +1 -1
  69. package/dist/plugin-sdk/{accounts-D9zGZU5t.js → accounts-Ddm33hQm.js} +3 -3
  70. package/dist/plugin-sdk/{accounts-Dtszw3Zn.js → accounts-s-AdhXVR.js} +1 -1
  71. package/dist/plugin-sdk/{active-listener-BRYwA2Ic.js → active-listener-BgwYQkdI.js} +1 -1
  72. package/dist/plugin-sdk/{agent-scope-C3gMMKCU.js → agent-scope-CYYpcO9W.js} +2 -2
  73. package/dist/plugin-sdk/{api-key-rotation-CBsLb_4V.js → api-key-rotation-DGJZ8SVa.js} +1 -1
  74. package/dist/plugin-sdk/{audio-preflight-B-Laxbmb.js → audio-preflight-pBBHur9T.js} +24 -24
  75. package/dist/plugin-sdk/{bindings-BbwoUGPx.js → bindings-C7hRtgYW.js} +2 -2
  76. package/dist/plugin-sdk/{channel-activity-Ji7f0gqq.js → channel-activity-DoC1xtDu.js} +1 -1
  77. package/dist/plugin-sdk/{channel-web-C6_r-2VI.js → channel-web-D-ct3FR3.js} +22 -22
  78. package/dist/plugin-sdk/{chrome-D9kN9org.js → chrome-CEqfiEs0.js} +3 -3
  79. package/dist/plugin-sdk/{chunk-jvk9axTQ.js → chunk-Dw2XBYXv.js} +1 -1
  80. package/dist/plugin-sdk/{command-format-DSdvQ_M5.js → command-format-GKSevep4.js} +1 -1
  81. package/dist/plugin-sdk/{commands-registry-By2smfUF.js → commands-registry-Be2qTyJK.js} +4 -4
  82. package/dist/plugin-sdk/{config-BzupW6LN.js → config-Ckum15iC.js} +9 -9
  83. package/dist/plugin-sdk/{deliver-CNuL0O4P.js → deliver-pjxCQeHb.js} +10 -10
  84. package/dist/plugin-sdk/{diagnostic-EyuCSUXO.js → diagnostic-W5975qL9.js} +1 -1
  85. package/dist/plugin-sdk/{image-BmU8yYnz.js → image-CvB1H1Oa.js} +4 -4
  86. package/dist/plugin-sdk/{image-ops-Bnp6LXEx.js → image-ops-BlQR__MN.js} +1 -1
  87. package/dist/plugin-sdk/index.js +54 -54
  88. package/dist/plugin-sdk/{ir-Fb3qpcis.js → ir-BJ6BHE5b.js} +4 -4
  89. package/dist/plugin-sdk/{local-roots-Ckk1QfzI.js → local-roots-BHLNSI8U.js} +3 -3
  90. package/dist/plugin-sdk/{login-eqtXmx21.js → login-BS724Asp.js} +7 -7
  91. package/dist/plugin-sdk/{login-qr-Cbt9KlK3.js → login-qr-DcD9oY98.js} +9 -9
  92. package/dist/plugin-sdk/{manager-Dc9yVyTt.js → manager-UQQc8UDq.js} +8 -8
  93. package/dist/plugin-sdk/{manifest-registry-hy3Bn-r9.js → manifest-registry-BRx4JDK0.js} +1 -1
  94. package/dist/plugin-sdk/{markdown-tables-Dfaqilz6.js → markdown-tables-BoYFajMu.js} +1 -1
  95. package/dist/plugin-sdk/{message-channel-BdI5Ra9S.js → message-channel-COTAJzHd.js} +1 -1
  96. package/dist/plugin-sdk/{model-selection-CtVwtb6y.js → model-selection-Bbs4XGPG.js} +4 -4
  97. package/dist/plugin-sdk/{outbound-ZcDVYNoy.js → outbound-Bgwpl10i.js} +7 -7
  98. package/dist/plugin-sdk/{outbound-attachment-DJ3CI92h.js → outbound-attachment-CqhMcNuS.js} +2 -2
  99. package/dist/plugin-sdk/{pi-auth-json-r2U9wDoc.js → pi-auth-json-B_aZna6j.js} +1 -1
  100. package/dist/plugin-sdk/{pi-embedded-helpers-BCNFLt_H.js → pi-embedded-helpers-C7fh8gtj.js} +17 -17
  101. package/dist/plugin-sdk/{plugins-BbAvhC25.js → plugins-BNByVCIH.js} +4 -4
  102. package/dist/plugin-sdk/{pw-ai-B3jHOSti.js → pw-ai-B3QctKIy.js} +8 -8
  103. package/dist/plugin-sdk/{qmd-manager-C6GM0Qik.js → qmd-manager-BZvD_Hd3.js} +4 -4
  104. package/dist/plugin-sdk/{registry--_pGht6S.js → registry-D0xTnUWt.js} +2 -2
  105. package/dist/plugin-sdk/{replies-DkGqfiO4.js → replies-BrD5w1DK.js} +3 -3
  106. package/dist/plugin-sdk/{reply-CIDYJYie.js → reply-Gpdxnjey.js} +79 -79
  107. package/dist/plugin-sdk/{reply-prefix-BHuV5t70.js → reply-prefix-uxfMZW4p.js} +1 -1
  108. package/dist/plugin-sdk/{resolve-outbound-target-BkCUbYGV.js → resolve-outbound-target-BiyAyTWz.js} +2 -2
  109. package/dist/plugin-sdk/{resolve-route-D3JH_D2N.js → resolve-route-B3CCBumQ.js} +3 -3
  110. package/dist/plugin-sdk/{retry-ilSJqnz9.js → retry-CwQ_iIj8.js} +1 -1
  111. package/dist/plugin-sdk/{runner-WzrwRCvL.js → runner-Blso4_CP.js} +9 -9
  112. package/dist/plugin-sdk/{send-BGE1fXlm.js → send-CI9BF7Rs.js} +6 -6
  113. package/dist/plugin-sdk/{send-7NqCWP0r.js → send-CMCTJG-m.js} +7 -7
  114. package/dist/plugin-sdk/{send-FFUmNt0K.js → send-CwRUaqoE.js} +10 -10
  115. package/dist/plugin-sdk/{send-ZhAe1nXO.js → send-Djq5IPRa.js} +10 -10
  116. package/dist/plugin-sdk/{send-BP5pSPaZ.js → send-fNRDT21N.js} +6 -6
  117. package/dist/plugin-sdk/{session-8vfTL_H6.js → session-_9Y0E4Ol.js} +4 -4
  118. package/dist/plugin-sdk/{skill-commands-DF3ouLEu.js → skill-commands-CuBIT3kO.js} +5 -5
  119. package/dist/plugin-sdk/{skills-C9DbB-Kp.js → skills-BfsaS1F9.js} +7 -7
  120. package/dist/plugin-sdk/{sqlite-Cq_7Cg4E.js → sqlite-CxAR5ttJ.js} +1 -1
  121. package/dist/plugin-sdk/{store-Do3t33-c.js → store-BdrNabcU.js} +2 -2
  122. package/dist/plugin-sdk/{subsystem-Coz2AgU8.js → subsystem-B2uDN3TV.js} +1 -1
  123. package/dist/plugin-sdk/{tables-DR0NmBeH.js → tables-DNwXwNFa.js} +1 -1
  124. package/dist/plugin-sdk/{target-errors-B7YyMnIi.js → target-errors-Paro1BjP.js} +2 -2
  125. package/dist/plugin-sdk/{thinking-DCNUIAHY.js → thinking-CXqf7WTe.js} +5 -5
  126. package/dist/plugin-sdk/{tokens-CWMflosr.js → tokens-bC3UVmVH.js} +1 -1
  127. package/dist/plugin-sdk/{tool-images-D7Lno-TE.js → tool-images-HJ2sfZDV.js} +2 -2
  128. package/dist/plugin-sdk/{tool-loop-detection-BAUvBvAO.js → tool-loop-detection-Dthxc7SC.js} +2 -2
  129. package/dist/plugin-sdk/web-BFa_GJSK.js +66 -0
  130. package/dist/plugin-sdk/{whatsapp-actions-0DfquiaD.js → whatsapp-actions-B8ZG7vfh.js} +21 -21
  131. package/dist/{plugins-cli-oatWFlGr.js → plugins-cli-BJpemLCS.js} +9 -9
  132. package/dist/{plugins-cli-bblxpPhT.js → plugins-cli-BrHhfpbX.js} +10 -10
  133. package/dist/{program-B4MbPh6k.js → program-CYzFuO3w.js} +16 -16
  134. package/dist/{program-context-BfdA1JM9.js → program-context-G2iHoB5D.js} +20 -20
  135. package/dist/{prompt-select-styled-bMJTZkj7.js → prompt-select-styled-P0KS75Rt.js} +7 -7
  136. package/dist/{prompt-select-styled-DNhjvdZL.js → prompt-select-styled-lVyrkSPI.js} +7 -7
  137. package/dist/{provider-auth-helpers-D9BOiQMP.js → provider-auth-helpers-CoYjxsb2.js} +1 -1
  138. package/dist/{provider-auth-helpers-CezJXPrZ.js → provider-auth-helpers-Cygsm5_L.js} +1 -1
  139. package/dist/{push-apns-CL2MBhWP.js → push-apns-BMfcGm-A.js} +1 -1
  140. package/dist/{push-apns-DUWtWoB-.js → push-apns-CHM_4e6x.js} +1 -1
  141. package/dist/{register.agent-B-v1ixge.js → register.agent-BTmY2MoW.js} +14 -14
  142. package/dist/{register.agent-Dms0oymW.js → register.agent-efba5ajU.js} +12 -12
  143. package/dist/{register.configure-CVct6y53.js → register.configure-DHSfWAqs.js} +14 -14
  144. package/dist/{register.configure-MY0P8ucP.js → register.configure-EQOE0vHS.js} +13 -13
  145. package/dist/{register.maintenance-DpSSW9tp.js → register.maintenance-CsczzIEq.js} +17 -17
  146. package/dist/{register.maintenance-Ciblsa6H.js → register.maintenance-CzcgKkH3.js} +15 -15
  147. package/dist/{register.message-FsBEsQeD.js → register.message-Bc3A_dfj.js} +9 -9
  148. package/dist/{register.message-Csn-WBH0.js → register.message-u6gwfQPX.js} +10 -10
  149. package/dist/{register.onboard-BQ-ciW9l.js → register.onboard-CtKNq5I_.js} +12 -12
  150. package/dist/{register.onboard-MIhaldvp.js → register.onboard-yDsskHey.js} +11 -11
  151. package/dist/{register.setup-M0O0Tp-n.js → register.setup-BJqk3N2q.js} +12 -12
  152. package/dist/{register.setup-DCTamI7u.js → register.setup-BPeB8JTw.js} +11 -11
  153. package/dist/{register.status-health-sessions-DzKtjfA-.js → register.status-health-sessions-CU6Uv3iO.js} +13 -13
  154. package/dist/{register.status-health-sessions-Drc5WQGq.js → register.status-health-sessions-KzzMJ0H1.js} +11 -11
  155. package/dist/{register.subclis-Btg8-Nnf.js → register.subclis-C_464foT.js} +12 -12
  156. package/dist/{reply-B0azB7WR.js → reply-kWKTXRkY.js} +14 -14
  157. package/dist/{run-main-DfxDXt2d.js → run-main-I-kj1_yf.js} +25 -25
  158. package/dist/{runner-CSdQSvE8.js → runner-BopCEjwB.js} +1 -1
  159. package/dist/{runner-C_BlQ2fG.js → runner-eBF6SlQ6.js} +1 -1
  160. package/dist/{sandbox-CDxHBl3I.js → sandbox-Cl2r-bXv.js} +1 -1
  161. package/dist/{sandbox-cli-BpfYaZBG.js → sandbox-cli-BH45SMwC.js} +2 -2
  162. package/dist/{sandbox-cli-0eu7BCa8.js → sandbox-cli-CZSrSTkk.js} +2 -2
  163. package/dist/{sandbox-BOVopTqv.js → sandbox-ooxzsj2D.js} +1 -1
  164. package/dist/{security-cli-CzWHkrqD.js → security-cli-Bz-Sv5-H.js} +4 -4
  165. package/dist/{security-cli-B5s73Le2.js → security-cli-CEI0zQJs.js} +4 -4
  166. package/dist/{server-methods-OJbQNjOJ.js → server-methods-DQHU-PVR.js} +11 -11
  167. package/dist/{server-methods-BcBroG6v.js → server-methods-DuXvSLX-.js} +10 -10
  168. package/dist/{server-node-events-AVxH5dXs.js → server-node-events-CwAM91fd.js} +9 -9
  169. package/dist/{server-node-events-Ba9K9DB9.js → server-node-events-ecaGjg5E.js} +10 -10
  170. package/dist/{session-utils-BPXkhuNM.js → session-utils-Dwt6eGX6.js} +1 -1
  171. package/dist/{sessions-NTd36-CO.js → sessions-DQxygr94.js} +2 -2
  172. package/dist/{sessions-BPD85pWA.js → sessions-Do060W3W.js} +3 -2
  173. package/dist/{sessions-BeYHj0gr.js → sessions-vYQs1OzE.js} +3 -2
  174. package/dist/{status-CpWkGj5h.js → status-CW9LMA2M.js} +1 -1
  175. package/dist/{status-DNxAYvxM.js → status-DNVKHGLC.js} +1 -1
  176. package/dist/{status-Ut-dfDT0.js → status-DsFAg-bK.js} +5 -5
  177. package/dist/{status-RlJA2XzQ.js → status-v8DOdpX6.js} +4 -4
  178. package/dist/{subagent-registry-CsYeP8wc.js → subagent-registry-C8UsZ8F0.js} +15 -15
  179. package/dist/{tui-DfPeXwah.js → tui-B61kHmM2.js} +2 -2
  180. package/dist/{tui-LZPdrFmK.js → tui-CiGfEtDa.js} +2 -2
  181. package/dist/{tui-cli-Bm3TJgXf.js → tui-cli-CwNXfDnk.js} +4 -4
  182. package/dist/{tui-cli-DFXZ7r1F.js → tui-cli-DHKMCeGp.js} +4 -4
  183. package/dist/{update-cli-Cm4ftHhu.js → update-cli-BwX8SW9m.js} +17 -17
  184. package/dist/{update-cli-Cb12PjyN.js → update-cli-DQOw6sqy.js} +15 -15
  185. package/dist/{update-runner-Cv6hDgKV.js → update-runner-BhXkq5Gw.js} +1 -1
  186. package/dist/{update-runner-BE6kDMsw.js → update-runner-C56OyqSE.js} +1 -1
  187. package/dist/{web-CYf5I3aU.js → web-CGicnDRL.js} +9 -9
  188. package/dist/{web-BOv3xM7W.js → web-NSGlkQEO.js} +9 -9
  189. package/extensions/bluebubbles/package.json +1 -1
  190. package/extensions/copilot-proxy/package.json +1 -1
  191. package/extensions/diagnostics-otel/package.json +1 -1
  192. package/extensions/discord/package.json +1 -1
  193. package/extensions/feishu/package.json +1 -1
  194. package/extensions/google-antigravity-auth/package.json +1 -1
  195. package/extensions/google-gemini-cli-auth/package.json +1 -1
  196. package/extensions/googlechat/package.json +1 -1
  197. package/extensions/imessage/package.json +1 -1
  198. package/extensions/irc/package.json +1 -1
  199. package/extensions/learning-loop/package.json +1 -1
  200. package/extensions/line/package.json +1 -1
  201. package/extensions/llm-task/package.json +1 -1
  202. package/extensions/matrix/CHANGELOG.md +12 -0
  203. package/extensions/matrix/package.json +1 -1
  204. package/extensions/mattermost/package.json +1 -1
  205. package/extensions/memory-core/package.json +1 -1
  206. package/extensions/memory-lancedb/package.json +1 -1
  207. package/extensions/minimax-portal-auth/package.json +1 -1
  208. package/extensions/msteams/CHANGELOG.md +12 -0
  209. package/extensions/msteams/package.json +1 -1
  210. package/extensions/nextcloud-talk/package.json +1 -1
  211. package/extensions/nostr/CHANGELOG.md +12 -0
  212. package/extensions/nostr/package.json +1 -1
  213. package/extensions/open-prose/package.json +1 -1
  214. package/extensions/outlook/package.json +1 -1
  215. package/extensions/pipeline/package.json +1 -1
  216. package/extensions/signal/package.json +1 -1
  217. package/extensions/slack/package.json +1 -1
  218. package/extensions/telegram/package.json +1 -1
  219. package/extensions/tlon/package.json +1 -1
  220. package/extensions/twitch/CHANGELOG.md +12 -0
  221. package/extensions/twitch/package.json +1 -1
  222. package/extensions/voice-call/CHANGELOG.md +12 -0
  223. package/extensions/voice-call/package.json +1 -1
  224. package/extensions/whatsapp/package.json +1 -1
  225. package/extensions/zalo/CHANGELOG.md +12 -0
  226. package/extensions/zalo/package.json +1 -1
  227. package/extensions/zalouser/CHANGELOG.md +12 -0
  228. package/extensions/zalouser/package.json +1 -1
  229. package/package.json +1 -1
  230. package/dist/plugin-sdk/web-CHKraWl6.js +0 -66
@@ -12,7 +12,7 @@ import "./env-DPCHYPeH.js";
12
12
  import "./message-channel-aT-I_DTX.js";
13
13
  import { o as readConfigFileSnapshot } from "./config-PXAJCHa5.js";
14
14
  import "./manifest-registry-BDSRH8nU.js";
15
- import "./sessions-BeYHj0gr.js";
15
+ import "./sessions-vYQs1OzE.js";
16
16
  import "./dock-BhS32F6E.js";
17
17
  import "./plugins-DKDeQZF0.js";
18
18
  import "./accounts-DDuIpcln.js";
@@ -26,7 +26,7 @@ import { c as shouldMigrateStateFromPath } from "./argv-B20UI_hB.js";
26
26
  import "./catalog-DX1l43Ru.js";
27
27
  import "./note-DQ9BvHF2.js";
28
28
  import "./plugin-auto-enable-BsGorrCZ.js";
29
- import { t as loadAndMaybeMigrateDoctorConfig } from "./doctor-config-flow-CN8seKLA.js";
29
+ import { t as loadAndMaybeMigrateDoctorConfig } from "./doctor-config-flow-BRB_O0jG.js";
30
30
 
31
31
  //#region src/cli/program/config-guard.ts
32
32
  const ALLOWED_INVALID_COMMANDS = new Set([
@@ -2,7 +2,7 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { Dt as theme, Et as isRich, Tt as colorize, lt as shortenHomePath, un as shouldMigrateStateFromPath } from "./entry.js";
3
3
  import { t as formatCliCommand } from "./command-format-BtYOfWxC.js";
4
4
  import { o as readConfigFileSnapshot } from "./config-DXt3pc08.js";
5
- import { t as loadAndMaybeMigrateDoctorConfig } from "./doctor-config-flow-C81j0-sE.js";
5
+ import { t as loadAndMaybeMigrateDoctorConfig } from "./doctor-config-flow-DFk-NaP5.js";
6
6
 
7
7
  //#region src/cli/program/config-guard.ts
8
8
  var config_guard_exports = /* @__PURE__ */ __exportAll({ ensureConfigReady: () => ensureConfigReady });
@@ -13,14 +13,14 @@ import { n as stylePromptMessage, r as stylePromptTitle, t as stylePromptHint }
13
13
  import { t as note$1 } from "./note-DQ9BvHF2.js";
14
14
  import { t as WizardCancelledError } from "./prompts-CfOu9uZi.js";
15
15
  import { t as createClackPrompter } from "./clack-prompter-DMuVyYP2.js";
16
- import { r as setupChannels, t as noteChannelStatus } from "./onboard-channels-CUUTFx1F.js";
16
+ import { r as setupChannels, t as noteChannelStatus } from "./onboard-channels-DU6do-N5.js";
17
17
  import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-BT1zC2PU.js";
18
18
  import { t as resolveGatewayService } from "./service-osK70kTZ.js";
19
- import { r as healthCommand } from "./health-Bx8UUqFA.js";
19
+ import { r as healthCommand } from "./health-DKxSHkOQ.js";
20
20
  import { t as ensureControlUiAssetsBuilt } from "./control-ui-assets-B7moDVHX.js";
21
21
  import { n as logConfigUpdated } from "./logging-KpicI3yD.js";
22
22
  import { n as promptAuthChoiceGrouped } from "./auth-choice-prompt-Cn6U3t8O.js";
23
- import { i as applyAuthChoice, n as resolvePreferredProviderForAuthChoice } from "./auth-choice-DhI8MW-5.js";
23
+ import { i as applyAuthChoice, n as resolvePreferredProviderForAuthChoice } from "./auth-choice-kpk3L0TR.js";
24
24
  import { a as promptDefaultModel, n as applyModelFallbacksFromSelection, o as promptModelAllowlist, r as applyPrimaryModel, t as applyModelAllowlist } from "./model-picker-D-n-rWyt.js";
25
25
  import { t as ensureSystemdUserLingerInteractive } from "./systemd-linger-DCskIKcx.js";
26
26
  import { a as promptCustomApiConfig } from "./onboard-custom-B3CBlZe5.js";
@@ -11,14 +11,14 @@ import { n as stylePromptMessage, r as stylePromptTitle, t as stylePromptHint }
11
11
  import { t as note$1 } from "./note-DDecZomM.js";
12
12
  import { t as WizardCancelledError } from "./prompts-m1IJwIAx.js";
13
13
  import { t as createClackPrompter } from "./clack-prompter-B1aVoXd5.js";
14
- import { r as setupChannels, t as noteChannelStatus } from "./onboard-channels-HyGv2y5c.js";
14
+ import { r as setupChannels, t as noteChannelStatus } from "./onboard-channels-DaY1NwXd.js";
15
15
  import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-BV78EN62.js";
16
16
  import { t as resolveGatewayService } from "./service-Cm9j9WzQ.js";
17
- import { r as healthCommand } from "./health-C7HtwYDj.js";
17
+ import { r as healthCommand } from "./health-DvkoG4Dw.js";
18
18
  import { t as ensureControlUiAssetsBuilt } from "./control-ui-assets-BseSWee1.js";
19
19
  import { n as logConfigUpdated } from "./logging-BGewRZy0.js";
20
20
  import { n as promptAuthChoiceGrouped } from "./auth-choice-prompt-DVcYPG2v.js";
21
- import { i as applyAuthChoice, n as resolvePreferredProviderForAuthChoice } from "./auth-choice-PdYn-qiM.js";
21
+ import { i as applyAuthChoice, n as resolvePreferredProviderForAuthChoice } from "./auth-choice-hKVjPWaU.js";
22
22
  import { a as promptDefaultModel, n as applyModelFallbacksFromSelection, o as promptModelAllowlist, r as applyPrimaryModel, t as applyModelAllowlist } from "./model-picker-RQfDGgfM.js";
23
23
  import { t as ensureSystemdUserLingerInteractive } from "./systemd-linger-DA_LW52P.js";
24
24
  import { a as promptCustomApiConfig } from "./onboard-custom-B1paBymW.js";
@@ -403,8 +403,17 @@ function renderHistory(messages) {
403
403
  continue;
404
404
  }
405
405
 
406
- // Route symipulse messages to dedicated Symipulse Panel
407
- if (typeof window.isSymipulseMessage === "function" && window.isSymipulseMessage(m)) {
406
+ // 2.8.4: user-role messages ALWAYS render in the main feed. Prior behaviour
407
+ // routed them to the Symipulse panel if the classifier matched (e.g. text
408
+ // contained "Read SYMIPULSE.md" as a user typing about the feature), which
409
+ // caused sandbox2 to silently drop user prompts on history reload. The
410
+ // symipulse panel classifier is designed for assistant-role noise, not for
411
+ // user input — trust the user-role signal over any pattern match.
412
+ if (
413
+ typeof window.isSymipulseMessage === "function" &&
414
+ m.role !== "user" &&
415
+ window.isSymipulseMessage(m)
416
+ ) {
408
417
  const txt = Array.isArray(m.content)
409
418
  ? m.content
410
419
  .filter((b) => b.type === "text")
@@ -418,7 +427,14 @@ function renderHistory(messages) {
418
427
  continue;
419
428
  }
420
429
 
421
- // Route plugin context user messages to Reasoning Panel
430
+ // Route plugin context user messages to Reasoning Panel.
431
+ // 2.8.5: the banner pattern must match the ENTIRE trimmed body, not just
432
+ // the prefix. Plugins (e.g. Outlook) use before_prompt_build + prependContext
433
+ // to prepend a banner like "[Outlook 365] Connected as X..." to every user
434
+ // turn's persisted text. The previous prefix-only regex dropped 100% of
435
+ // user messages on those sessions. Only divert when the banner IS the
436
+ // whole message (pure state-ping with no user content); if there's any
437
+ // real text after, fall through and render normally.
422
438
  if (m.role === "user") {
423
439
  const txt = Array.isArray(m.content)
424
440
  ? m.content
@@ -427,7 +443,7 @@ function renderHistory(messages) {
427
443
  .join("")
428
444
  .trim()
429
445
  : extractText(m.content).trim();
430
- if (/^\[.+\]\s+(Not connected|Connected as)\b/i.test(txt)) {
446
+ if (/^\[.+?\]\s+(Not connected|Connected as)\b[^\n]*$/i.test(txt)) {
431
447
  if (typeof window.appendToReasoningPanel === "function") {
432
448
  window.appendToReasoningPanel({ type: "text", text: "[Plugin context]" });
433
449
  }
@@ -444,11 +460,22 @@ function renderHistory(messages) {
444
460
  const hasContent = Array.isArray(m.content)
445
461
  ? m.content.some((b) => b.type === "text" && (b.text ?? "").trim())
446
462
  : extractText(m.content).trim();
463
+ // 2.8.4: never silently drop a user-role message. If it has no visible
464
+ // content (server-side stripper removed everything, or pi-agent wrote an
465
+ // empty wrapper), render a lightweight placeholder so the feed reflects
466
+ // the message sequence faithfully. Assistant messages still skip on empty.
467
+ let renderTarget = m;
447
468
  if (!hasContent) {
448
- continue;
469
+ if (m.role !== "user") {
470
+ continue;
471
+ }
472
+ renderTarget = {
473
+ ...m,
474
+ content: [{ type: "text", text: "[message content omitted]" }],
475
+ };
449
476
  }
450
477
 
451
- const el = window.renderMessage(m);
478
+ const el = window.renderMessage(renderTarget);
452
479
  if (!el) {
453
480
  continue;
454
481
  }
@@ -777,15 +777,25 @@ window.renderMessage = function (message) {
777
777
  .trim()
778
778
  : extractText(content).trim();
779
779
 
780
- // Symipulse messages → routed to Symipulse Panel by caller; guard here as safety net
781
- if (typeof window.isSymipulseMessage === "function" && window.isSymipulseMessage(message)) {
780
+ // Symipulse messages → routed to Symipulse Panel by caller; guard here as safety net.
781
+ // 2.8.4: user-role messages ALWAYS render in the main feed. The classifier is
782
+ // intended for assistant-role noise (symipulse acks, heartbeat replies) — user
783
+ // prompts that incidentally match a pattern should still be visible.
784
+ if (
785
+ typeof window.isSymipulseMessage === "function" &&
786
+ role !== "user" &&
787
+ window.isSymipulseMessage(message)
788
+ ) {
782
789
  return null;
783
790
  }
784
791
 
785
792
  // NOTE: Monologue suppression moved server-side to OutputNormalizer.
786
793
 
787
- // Plugin context messages (e.g. "[Outlook 365] Not connected...")
788
- if (role === "user" && /^\[.+\]\s+(Not connected|Connected as)\b/i.test(_msgText)) {
794
+ // Plugin context messages (e.g. "[Outlook 365] Not connected...").
795
+ // 2.8.5: match ENTIRE body, not just prefix — plugins like Outlook prepend
796
+ // their banner to real user text via before_prompt_build/prependContext.
797
+ // Only divert when the banner is the whole message; otherwise render normally.
798
+ if (role === "user" && /^\[.+?\]\s+(Not connected|Connected as)\b[^\n]*$/i.test(_msgText)) {
789
799
  if (typeof window.appendToReasoningPanel === "function") {
790
800
  window.appendToReasoningPanel({ type: "text", text: "[Plugin context]" });
791
801
  }
@@ -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-DpOccVre.js";
6
- import { i as resolveMirroredTranscriptText, r as appendAssistantMessageToSessionTranscript } from "./sessions-BeYHj0gr.js";
5
+ import { i as isMessagingToolDuplicate } from "./pi-embedded-helpers-DiXXYmgo.js";
6
+ import { i as resolveMirroredTranscriptText, r as appendAssistantMessageToSessionTranscript } from "./sessions-vYQs1OzE.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,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-BPD85pWA.js";
4
+ import { i as resolveMirroredTranscriptText, r as appendAssistantMessageToSessionTranscript } from "./sessions-Do060W3W.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-DSscUmkR.js";
7
+ import { i as isMessagingToolDuplicate } from "./pi-embedded-helpers-jo_kKs-Z.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,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-g-Vdnude.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";
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-BX_yaiom.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";
5
5
  import path from "node:path";
6
6
  import { spawnSync } from "node:child_process";
7
7
 
@@ -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-BeYHj0gr.js";
7
+ import { l as saveSessionStore, z as canonicalizeMainSessionAlias } from "./sessions-vYQs1OzE.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";
@@ -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-BPD85pWA.js";
6
+ import { M as canonicalizeMainSessionAlias, l as saveSessionStore } from "./sessions-Do060W3W.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";
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-DfxDXt2d.js").then(({ runCli }) => runCli(process$1.argv)).catch((error) => {
2503
+ import("./run-main-I-kj1_yf.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
  });
@@ -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-CsYeP8wc.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";
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";
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-BLt_liXS.js";
35
+ import { C as getGlobalHookRunner, T as runGlobalGatewayStopSafely, t as deliverOutboundPayloads } from "./deliver-CiL9mQXH.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-DSscUmkR.js";
42
- import { S as resolveToolProfilePolicy, _ as collectExplicitAllowlist, b as mergeAlsoAllowPolicy } from "./sandbox-CDxHBl3I.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";
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-DXco5IYt.js";
77
+ import "./image-CJ_QZqzR.js";
78
78
  import "./tool-display-CXwOC-qw.js";
79
- import { d as registerUnhandledRejectionHandler } from "./runner-CSdQSvE8.js";
79
+ import { d as registerUnhandledRejectionHandler } from "./runner-BopCEjwB.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-BPXkhuNM.js";
81
+ import { a as loadCombinedSessionStoreForGateway, i as listSessionsFromStore, o as loadSessionEntry, u as lookupContextTokens } from "./session-utils-Dwt6eGX6.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-DOVQ8dDx.js";
109
+ import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, r as resolveEffectiveToolPolicy } from "./pi-tools.policy-CGVKAOoE.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-DgAM_dWL.js";
132
+ import { c as probeGateway, s as resolveNodeCommandAllowlist } from "./audit-BIeVybsA.js";
133
133
  import { t as discoverGatewayBeacons } from "./bonjour-discovery-CA_XIzr_.js";
134
- import { i as pickGatewaySelfPresence } from "./status-Ut-dfDT0.js";
135
- import { a as styleHealthChannelLine, l as startHeartbeatRunner, n as getHealthSnapshot, s as runHeartbeatOnce, t as formatHealthChannelLines } from "./health-C7HtwYDj.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";
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-B4qg0ZYp.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-OJbQNjOJ.js";
140
- import { d as shouldLogWs, f as summarizeAgentEventForWsLog, l as formatForLog, p as setGatewayWsLogStyle, u as logWs } from "./push-apns-CL2MBhWP.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";
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-DIjsIDbS.js";
142
+ import "./agents.config-B8euVOOW.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-BE6kDMsw.js";
147
+ import "./update-runner-C56OyqSE.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-BLt_liXS.js").then((n) => n.n);
11884
+ const { deliverOutboundPayloads } = await import("./deliver-CiL9mQXH.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-Cm-WtdFI.js");
11957
+ const { createGlassUiBridge } = await import("./glass-ui-ws-BgVPCNjg.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-B0azB7WR.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";
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-C_BlQ2fG.js";
22
- import "./image-D_qN_IxA.js";
21
+ import { d as registerUnhandledRejectionHandler } from "./runner-eBF6SlQ6.js";
22
+ import "./image-C2IvljWU.js";
23
23
  import "./models-config-B91ShhoT.js";
24
24
  import "./pi-model-discovery-4uUnLc3n.js";
25
- import "./pi-embedded-helpers-DpOccVre.js";
26
- import { S as resolveToolProfilePolicy, _ as collectExplicitAllowlist, b as mergeAlsoAllowPolicy } from "./sandbox-BOVopTqv.js";
25
+ import "./pi-embedded-helpers-DiXXYmgo.js";
26
+ import { S as resolveToolProfilePolicy, _ as collectExplicitAllowlist, b as mergeAlsoAllowPolicy } from "./sandbox-ooxzsj2D.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-BeYHj0gr.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";
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-lG9ITE8w.js";
65
+ import { C as getGlobalHookRunner, T as runGlobalGatewayStopSafely, t as deliverOutboundPayloads } from "./deliver-CXpvGXqJ.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-BpN-v9bT.js";
109
+ import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, r as resolveEffectiveToolPolicy } from "./pi-tools.policy-p7LLu64F.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-DVUHZrf4.js";
137
+ import { c as probeGateway, s as resolveNodeCommandAllowlist } from "./audit-DCOp_J5K.js";
138
138
  import { t as discoverGatewayBeacons } from "./bonjour-discovery-DUQ6tE92.js";
139
- import { r as pickGatewaySelfPresence } from "./status-RlJA2XzQ.js";
140
- import { c as startHeartbeatRunner, i as styleHealthChannelLine, n as getHealthSnapshot, o as runHeartbeatOnce, t as formatHealthChannelLines } from "./health-Bx8UUqFA.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";
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-C89rTOOy.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-BcBroG6v.js";
145
- import { d as shouldLogWs, f as summarizeAgentEventForWsLog, l as formatForLog, p as setGatewayWsLogStyle, u as logWs } from "./push-apns-DUWtWoB-.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";
146
146
  import { T as resolveGmailHookRuntimeConfig, _ as buildGogWatchServeArgs, i as ensureTailscaleEndpoint, v as buildGogWatchStartArgs } from "./gmail-setup-utils-Dq6vwkWW.js";
147
- import "./agents.config-D0ih9tP3.js";
147
+ import "./agents.config-DWsjuONZ.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-Cv6hDgKV.js";
152
+ import "./update-runner-BhXkq5Gw.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-lG9ITE8w.js").then((n) => n.n);
11888
+ const { deliverOutboundPayloads } = await import("./deliver-CXpvGXqJ.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-BzBtCYP7.js");
11961
+ const { createGlassUiBridge } = await import("./glass-ui-ws-CMMnvVpl.js");
11962
11962
  glassUiBridgeCleanup = createGlassUiBridge({
11963
11963
  wss: glassUiWss,
11964
11964
  context: gatewayRequestContext,
@@ -14,8 +14,8 @@ import "./client-qUlxXXVJ.js";
14
14
  import "./call-BrRWr7Lj.js";
15
15
  import "./message-channel-C9dERklz.js";
16
16
  import "./pairing-token-Byh6drgn.js";
17
- import { Q as resolveModelProfile } from "./subagent-registry-CsYeP8wc.js";
18
- import "./sessions-BPD85pWA.js";
17
+ import { Q as resolveModelProfile } from "./subagent-registry-C8UsZ8F0.js";
18
+ import "./sessions-Do060W3W.js";
19
19
  import "./tokens-Csntmwwn.js";
20
20
  import "./plugins-CwSlLxM8.js";
21
21
  import "./accounts-D9ITgITj.js";
@@ -24,14 +24,14 @@ import "./logging-CFvkxgcX.js";
24
24
  import "./send-BcvVKfh2.js";
25
25
  import "./send-DnsTDCll.js";
26
26
  import "./with-timeout-BIXdW2Bg.js";
27
- import "./deliver-BLt_liXS.js";
27
+ import "./deliver-CiL9mQXH.js";
28
28
  import "./diagnostic-Ci8Xsc_Y.js";
29
29
  import "./diagnostic-session-state-CIjIGxEE.js";
30
30
  import "./accounts-D1eLj5t8.js";
31
31
  import "./send-CaUqpyyp.js";
32
32
  import "./image-ops-CUkaZz2F.js";
33
- import "./pi-embedded-helpers-DSscUmkR.js";
34
- import "./sandbox-CDxHBl3I.js";
33
+ import "./pi-embedded-helpers-jo_kKs-Z.js";
34
+ import "./sandbox-Cl2r-bXv.js";
35
35
  import "./chrome-D2ohnA09.js";
36
36
  import "./tailscale-CbbvYNVw.js";
37
37
  import "./auth-BfDMhFAj.js";
@@ -66,11 +66,11 @@ import "./ir-D-flMHhr.js";
66
66
  import "./render-e7fENCYH.js";
67
67
  import "./commands-CkrIpKCc.js";
68
68
  import "./commands-registry-CccyRhnX.js";
69
- import "./image-DXco5IYt.js";
69
+ import "./image-CJ_QZqzR.js";
70
70
  import "./tool-display-CXwOC-qw.js";
71
- import "./runner-CSdQSvE8.js";
71
+ import "./runner-BopCEjwB.js";
72
72
  import "./model-catalog-DKGSg6jF.js";
73
- import "./session-utils-BPXkhuNM.js";
73
+ import "./session-utils-Dwt6eGX6.js";
74
74
  import "./skill-commands-BSJONVkt.js";
75
75
  import "./workspace-dirs-CPNL2Acu.js";
76
76
  import "./pairing-store-NgA78L2g.js";
@@ -97,7 +97,7 @@ import "./replies-CsUBFXf6.js";
97
97
  import "./onboard-helpers-7H_XiJt-.js";
98
98
  import "./prompt-style-DwCXob2h.js";
99
99
  import "./pairing-labels-DwceB1dG.js";
100
- import "./pi-tools.policy-DOVQ8dDx.js";
100
+ import "./pi-tools.policy-CGVKAOoE.js";
101
101
  import "./dangerous-tools-B8QrxStA.js";
102
102
  import "./catalog-buoA8ik4.js";
103
103
  import "./install-safe-path-BK8js28D.js";
@@ -108,19 +108,19 @@ import "./systemd-DlMdyFDY.js";
108
108
  import "./service-Cm9j9WzQ.js";
109
109
  import "./diagnostics-CS1ov_hH.js";
110
110
  import "./table-D01d2GuY.js";
111
- import "./audit-DgAM_dWL.js";
112
- import "./status-Ut-dfDT0.js";
113
- import "./health-C7HtwYDj.js";
111
+ import "./audit-BIeVybsA.js";
112
+ import "./status-DsFAg-bK.js";
113
+ import "./health-DvkoG4Dw.js";
114
114
  import "./control-ui-assets-BseSWee1.js";
115
115
  import "./update-check-ZdimP1aU.js";
116
- import { n as handleGatewayRequest } from "./server-methods-OJbQNjOJ.js";
117
- import "./push-apns-CL2MBhWP.js";
118
- import "./agents.config-DIjsIDbS.js";
116
+ import { n as handleGatewayRequest } from "./server-methods-DQHU-PVR.js";
117
+ import "./push-apns-BMfcGm-A.js";
118
+ import "./agents.config-B8euVOOW.js";
119
119
  import "./dm-policy-shared-DF2uLfXk.js";
120
120
  import "./node-service-fcZExd22.js";
121
121
  import "./status.update-BGSQrlxW.js";
122
122
  import "./skills-install-Por3jP0P.js";
123
- import "./update-runner-BE6kDMsw.js";
123
+ import "./update-runner-C56OyqSE.js";
124
124
 
125
125
  //#region src/gateway/glass-ui-ws.ts
126
126
  const SESSION_KEY = "agent:main:main";