@symerian/symi 2.6.28 → 2.6.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (274) hide show
  1. package/dist/{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-CfHHV2SU.js → active-listener-DFUTUjxt.js} +1 -1
  5. package/dist/{agent-scope-CpEJ0B88.js → agent-scope-D68_xfTL.js} +3 -3
  6. package/dist/{agents-ST-RelE_.js → agents-F62kqpkn.js} +4 -4
  7. package/dist/{agents.config-BJqym5bg.js → agents.config-Bra6UznM.js} +1 -1
  8. package/dist/{agents.config-Dz-OLfrK.js → agents.config-CQ90zDyI.js} +1 -1
  9. package/dist/{audio-preflight-BVaaZWkg.js → audio-preflight-Bdbm4htn.js} +29 -29
  10. package/dist/{audio-preflight-C40mKAp7.js → audio-preflight-CPBOQV4I.js} +4 -4
  11. package/dist/{auth-choice-r5NHQXLW.js → auth-choice-D1uIw27C.js} +1 -1
  12. package/dist/{auth-choice-D8h_fABj.js → auth-choice-X1P4E-3Z.js} +1 -1
  13. package/dist/{auth-profiles-DdK1Hxaa.js → auth-profiles-Bl9aU7fc.js} +17 -17
  14. package/dist/{banner-Bn_I7g2w.js → banner-BabW0wLs.js} +1 -1
  15. package/dist/{bindings-BsHoBLIE.js → bindings-Bat2RnAR.js} +2 -2
  16. package/dist/build-info.json +3 -3
  17. package/dist/bundled/boot-md/handler.js +53 -53
  18. package/dist/bundled/bootstrap-extra-files/handler.js +5 -5
  19. package/dist/bundled/command-logger/handler.js +1 -1
  20. package/dist/bundled/session-memory/handler.js +53 -53
  21. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  22. package/dist/{channel-activity-B6G1jnQT.js → channel-activity-DK0AV-r9.js} +1 -1
  23. package/dist/{channel-options-I_uoOZoj.js → channel-options-C64unDdQ.js} +1 -1
  24. package/dist/{channel-options-DwvK56mc.js → channel-options-CX-LE2dk.js} +1 -1
  25. package/dist/{channel-web-b0CCqrmj.js → channel-web-GzdyP40j.js} +1 -1
  26. package/dist/{channels-cli-BuYlQcEc.js → channels-cli-CQrhnixR.js} +4 -4
  27. package/dist/{channels-cli-TWQv4Aur.js → channels-cli-OymBYTkK.js} +4 -4
  28. package/dist/{chrome-DkaXoP36.js → chrome-BdQhP7bg.js} +21 -21
  29. package/dist/{chrome-CDJYxX5a.js → chrome-D2SKJnR7.js} +7 -7
  30. package/dist/{chunk-09egQapi.js → chunk-DR8ukp6r.js} +1 -1
  31. package/dist/{cli-CVwt1Fg7.js → cli-C1RjRVMT.js} +1 -1
  32. package/dist/{cli-Dul8S9oW.js → cli-zchCoTxI.js} +1 -1
  33. package/dist/{command-registry--BVAkymo.js → command-registry-D9xmmn9v.js} +9 -9
  34. package/dist/{commands-registry-Bfc7Uz0o.js → commands-registry-DIakZUZb.js} +4 -4
  35. package/dist/{completion-cli-CMPF-UWB.js → completion-cli-CdMbiAwX.js} +2 -2
  36. package/dist/{completion-cli-LSZGfNYt.js → completion-cli-CfhJhArh.js} +1 -1
  37. package/dist/{config-5SdHIcHU.js → config-CvmE3Yx1.js} +12 -12
  38. package/dist/{config-cli-CGl36qcO.js → config-cli-BWhToRSW.js} +1 -1
  39. package/dist/{config-cli-Ba5_OYLK.js → config-cli-De0w9QFu.js} +1 -1
  40. package/dist/{configure-BkxvX0D4.js → configure-DBPxwVXT.js} +3 -3
  41. package/dist/{configure-52avjwpv.js → configure-iCtE2gdv.js} +3 -3
  42. package/dist/control-ui/js/symipulse.js +4 -0
  43. package/dist/{deliver-C46-vyqg.js → deliver-BD6kFk6p.js} +20 -20
  44. package/dist/{deliver-BH0l3UKW.js → deliver-C-37cZUe.js} +1 -1
  45. package/dist/{diagnostic-rPhsBoZz.js → diagnostic-spWOtH_g.js} +1 -1
  46. package/dist/{doctor-completion-3JibMuKJ.js → doctor-completion-Cuy1NwzL.js} +1 -1
  47. package/dist/{doctor-completion-C8TRMeH9.js → doctor-completion-htc4kMhg.js} +1 -1
  48. package/dist/entry.js +1 -1
  49. package/dist/{env-BDXYbTKj.js → env-xmBFQPBP.js} +1 -1
  50. package/dist/extensionAPI.js +6 -6
  51. package/dist/{frontmatter-CTR5f_Ez.js → frontmatter-CV0YkjoY.js} +2 -2
  52. package/dist/{gateway-cli-CcBKPe7-.js → gateway-cli-DxSUgxx3.js} +9 -9
  53. package/dist/{gateway-cli-CRAuYms0.js → gateway-cli-pIBNUJhN.js} +9 -9
  54. package/dist/{gemini-auth-Dy12ZAH3.js → gemini-auth-C6Z-2T42.js} +1 -1
  55. package/dist/{github-copilot-token-cCYzSU9h.js → github-copilot-token-B8B2pmph.js} +7 -7
  56. package/dist/{glass-ui-ws-B2LHyjWF.js → glass-ui-ws-B5Iw-tYt.js} +7 -7
  57. package/dist/{glass-ui-ws-odUDh4Ax.js → glass-ui-ws-BVcaUJ4x.js} +7 -7
  58. package/dist/{health-cAOv8KHf.js → health-DK1EhshZ.js} +1 -1
  59. package/dist/{health-DU1f-Ruq.js → health-qWkLoxz7.js} +1 -1
  60. package/dist/{hooks-cli-BRlCeWiG.js → hooks-cli-Bt_pfMq8.js} +2 -2
  61. package/dist/{hooks-cli-Dtyjf26K.js → hooks-cli-QmJBRt0j.js} +2 -2
  62. package/dist/{image-CuzFLQWC.js → image-CE0mENPo.js} +4 -4
  63. package/dist/{image-CHzdaNJ4.js → image-DcpMiprB.js} +1 -1
  64. package/dist/{image-ops-C7CauEK8.js → image-ops-M5agStZn.js} +16 -16
  65. package/dist/index.js +6 -6
  66. package/dist/{ir-CTiz95Vb.js → ir-B-XXcYFe.js} +4 -4
  67. package/dist/llm-slug-generator.js +53 -53
  68. package/dist/{local-roots-DhZz0Ybs.js → local-roots-CdXg5-Cx.js} +5 -5
  69. package/dist/{login-ul8zaw_S.js → login-BHUrERYo.js} +7 -7
  70. package/dist/{login-qr-AP9agO-i.js → login-qr-BKIOHn1V.js} +12 -12
  71. package/dist/{manager-PprhCvO_.js → manager-DW3JqFpY.js} +22 -22
  72. package/dist/{manifest-registry-yb7sAlu4.js → manifest-registry-0J48biqr.js} +19 -19
  73. package/dist/{markdown-tables-C-BmIap8.js → markdown-tables-tW9bGjLM.js} +1 -1
  74. package/dist/{plugin-sdk/message-channel-BdI5Ra9S.js → message-channel-DwDSKGn4.js} +1 -1
  75. package/dist/{models-BQL1Rx8A.js → models-CBAKijCe.js} +2 -2
  76. package/dist/{models-cli-iXoriT4a.js → models-cli-CtWHHvR0.js} +3 -3
  77. package/dist/{models-cli-BWNnBUiT.js → models-cli-DkNjxGZ8.js} +2 -2
  78. package/dist/{onboard-dIjmiymZ.js → onboard-BmK2-tfb.js} +2 -2
  79. package/dist/{onboard-channels-99ZIc6U9.js → onboard-channels-CcoMVcOs.js} +1 -1
  80. package/dist/{onboard-channels-C87IzN9d.js → onboard-channels-CnNA3U8_.js} +1 -1
  81. package/dist/{onboard-D8IHkR2A.js → onboard-wJCi24zf.js} +2 -2
  82. package/dist/{onboarding-DCPTymIi.js → onboarding-Cs7XncoX.js} +3 -3
  83. package/dist/{onboarding-B-J8KGlq.js → onboarding-GGE9UgcE.js} +3 -3
  84. package/dist/{onboarding.finalize-DYrKwuL6.js → onboarding.finalize-BEMefoBu.js} +6 -6
  85. package/dist/{onboarding.finalize-CqnM29uP.js → onboarding.finalize-CawqY9YT.js} +5 -5
  86. package/dist/{outbound-CtMCmwxR.js → outbound-CIVsLpJK.js} +7 -7
  87. package/dist/{outbound-attachment-DJldbweZ.js → outbound-attachment-CHcmlip8.js} +2 -2
  88. package/dist/paths-CYmyCDsE.js +212 -0
  89. package/dist/{paths-CbQV9WEg.js → paths-DEuVuViW.js} +1 -1
  90. package/dist/{pi-auth-json-Bk8ERadJ.js → pi-auth-json-BYuCWAs0.js} +8 -8
  91. package/dist/{pi-embedded-BpqY8Naf.js → pi-embedded-eCY-k0yS.js} +20 -18
  92. package/dist/{pi-embedded-helpers-lgx_U5KS.js → pi-embedded-helpers-B8kqLWns.js} +4 -4
  93. package/dist/{pi-embedded-helpers-CfqDGQ9J.js → pi-embedded-helpers-Pnxzi8V5.js} +73 -73
  94. package/dist/{plugin-registry-Cp2i5y4t.js → plugin-registry-BqSezGzv.js} +1 -1
  95. package/dist/{plugin-registry-D54PM8pM.js → plugin-registry-C-RHl6z7.js} +1 -1
  96. package/dist/plugin-sdk/{accounts-BToL3HlP.js → accounts-BtaOa4z_.js} +1 -1
  97. package/dist/plugin-sdk/{accounts-D9zGZU5t.js → accounts-Ddm33hQm.js} +3 -3
  98. package/dist/plugin-sdk/{accounts-Dtszw3Zn.js → accounts-s-AdhXVR.js} +1 -1
  99. package/dist/plugin-sdk/{active-listener-bEk__wbB.js → active-listener-BXYeALs0.js} +1 -1
  100. package/dist/plugin-sdk/{agent-scope-C3gMMKCU.js → agent-scope-CYYpcO9W.js} +2 -2
  101. package/dist/plugin-sdk/{api-key-rotation-CVBMpnPc.js → api-key-rotation-D_sMvI5W.js} +1 -1
  102. package/dist/plugin-sdk/{audio-preflight-DoQQKlxa.js → audio-preflight-VpItkiy3.js} +24 -24
  103. package/dist/plugin-sdk/{bindings-BbwoUGPx.js → bindings-C7hRtgYW.js} +2 -2
  104. package/dist/plugin-sdk/{channel-activity-Ji7f0gqq.js → channel-activity-DoC1xtDu.js} +1 -1
  105. package/dist/plugin-sdk/{channel-web-DSd2f31z.js → channel-web-BOFr3AaP.js} +22 -22
  106. package/dist/plugin-sdk/{chrome-C7c_0I5M.js → chrome-B7RdxmJ0.js} +3 -3
  107. package/dist/plugin-sdk/{chunk-jvk9axTQ.js → chunk-Dw2XBYXv.js} +1 -1
  108. package/dist/plugin-sdk/{command-format-DSdvQ_M5.js → command-format-GKSevep4.js} +1 -1
  109. package/dist/plugin-sdk/{commands-registry-CQFbmUMs.js → commands-registry-COIaslGl.js} +4 -4
  110. package/dist/plugin-sdk/{config-DDkdiUOR.js → config-KlTNfkFF.js} +9 -9
  111. package/dist/plugin-sdk/{deliver-BZ6iNLl7.js → deliver-BZ99UKQq.js} +10 -10
  112. package/dist/plugin-sdk/{diagnostic-mFf4i4G9.js → diagnostic-05pm5Rxi.js} +1 -1
  113. package/dist/plugin-sdk/{image-BOYy0Ump.js → image-CLOPx7yW.js} +4 -4
  114. package/dist/plugin-sdk/{image-ops-Bnp6LXEx.js → image-ops-BlQR__MN.js} +1 -1
  115. package/dist/plugin-sdk/index.js +53 -53
  116. package/dist/plugin-sdk/{ir-Fb3qpcis.js → ir-BJ6BHE5b.js} +4 -4
  117. package/dist/plugin-sdk/{local-roots-Ckk1QfzI.js → local-roots-BHLNSI8U.js} +3 -3
  118. package/dist/plugin-sdk/{login-Bh3DZPam.js → login-DQMXuxOk.js} +7 -7
  119. package/dist/plugin-sdk/{login-qr-DbR7odSr.js → login-qr-BjVZSoCi.js} +9 -9
  120. package/dist/plugin-sdk/{manager-DckktAQ3.js → manager-CBSBFuFz.js} +8 -8
  121. package/dist/plugin-sdk/{manifest-registry-B3ugY9-f.js → manifest-registry-CPnHl_K3.js} +1 -1
  122. package/dist/plugin-sdk/{markdown-tables-Dfaqilz6.js → markdown-tables-BoYFajMu.js} +1 -1
  123. package/dist/{message-channel-OlFBYAw8.js → plugin-sdk/message-channel-COTAJzHd.js} +1 -1
  124. package/dist/plugin-sdk/{model-selection-OpU8HN50.js → model-selection-CsbEfrS0.js} +4 -4
  125. package/dist/plugin-sdk/{outbound-rF6G8Xpr.js → outbound-B0e8KdaR.js} +7 -7
  126. package/dist/plugin-sdk/{outbound-attachment-DnVQfTG2.js → outbound-attachment-CnslKL38.js} +2 -2
  127. package/dist/plugin-sdk/{pi-auth-json-CJk8t14T.js → pi-auth-json-qWi7ZIYV.js} +5 -5
  128. package/dist/plugin-sdk/{pi-embedded-helpers-BveUP4hk.js → pi-embedded-helpers-CW630epe.js} +17 -17
  129. package/dist/plugin-sdk/{plugins-BbAvhC25.js → plugins-BNByVCIH.js} +4 -4
  130. package/dist/plugin-sdk/{pw-ai-DjGUsee-.js → pw-ai-CnbPIPY9.js} +8 -8
  131. package/dist/plugin-sdk/{qmd-manager-mjKcdwVr.js → qmd-manager-CH0XbIHf.js} +4 -4
  132. package/dist/plugin-sdk/{registry--_pGht6S.js → registry-D0xTnUWt.js} +2 -2
  133. package/dist/plugin-sdk/{replies-fI39rPGa.js → replies-LLcQL3w6.js} +3 -3
  134. package/dist/plugin-sdk/{reply-XQCt49hi.js → reply-B7rSYofo.js} +82 -80
  135. package/dist/plugin-sdk/{reply-prefix-BHuV5t70.js → reply-prefix-uxfMZW4p.js} +1 -1
  136. package/dist/plugin-sdk/{resolve-outbound-target-BkCUbYGV.js → resolve-outbound-target-BiyAyTWz.js} +2 -2
  137. package/dist/plugin-sdk/{resolve-route-D3JH_D2N.js → resolve-route-B3CCBumQ.js} +3 -3
  138. package/dist/plugin-sdk/{retry-ilSJqnz9.js → retry-CwQ_iIj8.js} +1 -1
  139. package/dist/plugin-sdk/{runner-BVqnEfNe.js → runner-CGBT7tgF.js} +9 -9
  140. package/dist/plugin-sdk/{send-BtANzsAo.js → send-B2CEnVLL.js} +6 -6
  141. package/dist/plugin-sdk/{send-BHbXh8Ly.js → send-C5h_YxNb.js} +7 -7
  142. package/dist/plugin-sdk/{send-D6LMZJ_h.js → send-CRsR8-vO.js} +10 -10
  143. package/dist/plugin-sdk/{send-Bxdu6ZZy.js → send-CjOBB3Vo.js} +10 -10
  144. package/dist/plugin-sdk/{send-BMfJIhCk.js → send-pYqe432l.js} +6 -6
  145. package/dist/plugin-sdk/{session-kI0tzViQ.js → session-BsOrxiMj.js} +4 -4
  146. package/dist/plugin-sdk/{skill-commands-DCNXVERE.js → skill-commands-ff_01_r3.js} +5 -5
  147. package/dist/plugin-sdk/{skills-B1GeRYlu.js → skills-_yTP47Cd.js} +7 -7
  148. package/dist/plugin-sdk/{sqlite-Cq_7Cg4E.js → sqlite-CxAR5ttJ.js} +1 -1
  149. package/dist/plugin-sdk/{store-Do3t33-c.js → store-BdrNabcU.js} +2 -2
  150. package/dist/plugin-sdk/{subsystem-Coz2AgU8.js → subsystem-B2uDN3TV.js} +1 -1
  151. package/dist/plugin-sdk/{tables-DR0NmBeH.js → tables-DNwXwNFa.js} +1 -1
  152. package/dist/plugin-sdk/{target-errors-B7YyMnIi.js → target-errors-Paro1BjP.js} +2 -2
  153. package/dist/plugin-sdk/{thinking-DCNUIAHY.js → thinking-CXqf7WTe.js} +5 -5
  154. package/dist/{tokens-Bux9Y_xD.js → plugin-sdk/tokens-bC3UVmVH.js} +1 -1
  155. package/dist/{tool-images-SqqWIT22.js → plugin-sdk/tool-images-HJ2sfZDV.js} +2 -2
  156. package/dist/plugin-sdk/{tool-loop-detection-DU5sTIKg.js → tool-loop-detection-at_K42K7.js} +2 -2
  157. package/dist/plugin-sdk/web-iaHlqNQD.js +65 -0
  158. package/dist/plugin-sdk/{whatsapp-actions-CcBzDuL-.js → whatsapp-actions-DfseosPO.js} +21 -21
  159. package/dist/{plugins-BzmbgY7s.js → plugins-Bkr5ZdYs.js} +9 -9
  160. package/dist/{plugins-cli-BK2oAIgt.js → plugins-cli-D5l8DCUo.js} +2 -2
  161. package/dist/{plugins-cli-DPVj7Ll8.js → plugins-cli-DIKVN1j-.js} +2 -2
  162. package/dist/{program-Cs6SC0Y3.js → program-DKp_gWvH.js} +7 -7
  163. package/dist/{program-context-9l2VE3gk.js → program-context-CJO5zWl7.js} +17 -17
  164. package/dist/{prompt-select-styled-BEblj71P.js → prompt-select-styled-CuDVrio_.js} +4 -4
  165. package/dist/{prompt-select-styled-0rN-Bjc0.js → prompt-select-styled-Drbf4MLf.js} +4 -4
  166. package/dist/{provider-auth-helpers-BMmt5mEA.js → provider-auth-helpers-D0JrH_QE.js} +1 -1
  167. package/dist/{provider-auth-helpers-K5FZKmUs.js → provider-auth-helpers-ku70HLId.js} +1 -1
  168. package/dist/{push-apns-DkYs830G.js → push-apns-DWLiMsGQ.js} +1 -1
  169. package/dist/{push-apns-c1qXclcv.js → push-apns-DZvXSHuB.js} +1 -1
  170. package/dist/{pw-ai-De-KR9_s.js → pw-ai-1htA-NnS.js} +1 -1
  171. package/dist/{pw-ai-m0mj2KWK.js → pw-ai-BA-fJnJc.js} +11 -11
  172. package/dist/{qmd-manager-iDLSiI4Z.js → qmd-manager-BKu9rOuB.js} +7 -7
  173. package/dist/{register.agent-CMteZ9CA.js → register.agent-CW-Jt26a.js} +5 -5
  174. package/dist/{register.agent-B39c6eVV.js → register.agent-Dr-AvNVj.js} +6 -6
  175. package/dist/{register.configure-DNdw3aHr.js → register.configure-CPykN4LB.js} +6 -6
  176. package/dist/{register.configure-BPxWBOcN.js → register.configure-D3_5DZTq.js} +6 -6
  177. package/dist/{register.maintenance-BpLQ73q6.js → register.maintenance-BOxfAudK.js} +7 -7
  178. package/dist/{register.maintenance-DnLb4_pC.js → register.maintenance-BValTiSe.js} +8 -8
  179. package/dist/{register.message-CeZGfAG1.js → register.message-BzVaP85q.js} +2 -2
  180. package/dist/{register.message-DFEhBqvI.js → register.message-lbfcALgz.js} +2 -2
  181. package/dist/{register.onboard-Bbu2o5v-.js → register.onboard-B_CORRMq.js} +4 -4
  182. package/dist/{register.onboard-XELS-V90.js → register.onboard-CxhJjGFr.js} +4 -4
  183. package/dist/{register.setup-BbBvDDru.js → register.setup-CYeKu0ru.js} +4 -4
  184. package/dist/{register.setup-CLE7PdHv.js → register.setup-DeT-WyJj.js} +4 -4
  185. package/dist/{register.status-health-sessions-7zhAiHx0.js → register.status-health-sessions-BrNEfd3r.js} +3 -3
  186. package/dist/{register.status-health-sessions-D4qCiL0J.js → register.status-health-sessions-CYwrV6QO.js} +3 -3
  187. package/dist/{register.subclis-DovpQkAb.js → register.subclis-BCcY1GJC.js} +9 -9
  188. package/dist/{registry-DYq1AYOv.js → registry-UkL38jvt.js} +17 -17
  189. package/dist/{replies-LSmuwOhA.js → replies-mfnbLu2p.js} +3 -3
  190. package/dist/{reply-TUgh96BH.js → reply-BNLTgD0A.js} +6 -4
  191. package/dist/{reply-prefix-DpqZu44Z.js → reply-prefix-DkGsdyBm.js} +1 -1
  192. package/dist/{resolve-route-C4_I4GFI.js → resolve-route-q8AFnU5c.js} +4 -4
  193. package/dist/{retry-BBVXkKBV.js → retry-CqMeDhyp.js} +1 -1
  194. package/dist/{run-main-BPf5aLAC.js → run-main-BVSVpxZ3.js} +14 -14
  195. package/dist/{runner-DUBExAb5.js → runner-BcQ0sF9T.js} +1 -1
  196. package/dist/{runner-CU9l0uJh.js → runner-BnAUcMiq.js} +22 -22
  197. package/dist/{send-DYj_o4_F.js → send-B7z8CDbr.js} +18 -18
  198. package/dist/{send-CQAKg_12.js → send-Cd81AY_Z.js} +7 -7
  199. package/dist/{send-CvhXrdgS.js → send-D3zDmQim.js} +10 -10
  200. package/dist/{send-DAN9hA5h.js → send-XRUYukww.js} +6 -6
  201. package/dist/{send-CVMyYPQw.js → send-qItpAHcI.js} +6 -6
  202. package/dist/{server-methods-DAkx0Jqj.js → server-methods-BYcfPp30.js} +7 -7
  203. package/dist/{server-methods-DFuRwfyn.js → server-methods-BhRjuKEM.js} +7 -7
  204. package/dist/{server-node-events-CwxdrTiK.js → server-node-events-BEzZn2VI.js} +2 -2
  205. package/dist/{server-node-events-BiFHrjUb.js → server-node-events-BsPi-QDx.js} +2 -2
  206. package/dist/{session-DSU1vxxi.js → session-Dh2wWQkD.js} +8 -8
  207. package/dist/{skill-commands-DcVwOafC.js → skill-commands-B_f8uGi7.js} +16 -16
  208. package/dist/{skills-Bs0AW1g3.js → skills-CGHRETGF.js} +24 -24
  209. package/dist/{sqlite-D_mz1_-y.js → sqlite-Bv87EXeg.js} +16 -16
  210. package/dist/{status-QRydo-7w.js → status-BB7l5YGy.js} +2 -2
  211. package/dist/{status-C42zRdTE.js → status-BZgA_AUW.js} +1 -1
  212. package/dist/{status-DLT_0K6s.js → status-C7VswIJF.js} +1 -1
  213. package/dist/{status-v1fz4XO0.js → status-D9MVzUtM.js} +2 -2
  214. package/dist/{store-01F_JM7O.js → store-Ea3zM6xK.js} +6 -6
  215. package/dist/{subagent-registry-btvK-uGU.js → subagent-registry-CT87UyVy.js} +6 -4
  216. package/dist/{subsystem-BjyjJF-d.js → subsystem-DN75fnEF.js} +1 -1
  217. package/dist/{tables-qMwbq29u.js → tables-BX7_aBvN.js} +1 -1
  218. package/dist/{target-errors-Bbr9rlzN.js → target-errors-7KhTCTdS.js} +2 -2
  219. package/dist/{thinking-BprCy23Z.js → thinking-C9-JAUzD.js} +5 -5
  220. package/dist/{plugin-sdk/tokens-CWMflosr.js → tokens-BZGy4v--.js} +1 -1
  221. package/dist/{plugin-sdk/tool-images-D7Lno-TE.js → tool-images-B1qVCntj.js} +2 -2
  222. package/dist/{tool-loop-detection-DR_rrIA1.js → tool-loop-detection-C8FBZVVx.js} +3 -3
  223. package/dist/{unified-runner-BzcXoZmB.js → unified-runner-LSPKHmvx.js} +228 -226
  224. package/dist/{update-cli-CCo0jjlD.js → update-cli-DEbsukOW.js} +8 -8
  225. package/dist/{update-cli-JXIAh9-v.js → update-cli-Dyg_WetV.js} +7 -7
  226. package/dist/{update-runner-CNBdOfqY.js → update-runner-3-pTGczW.js} +1 -1
  227. package/dist/{update-runner-Dy2tM0ZX.js → update-runner-DYuIPErv.js} +1 -1
  228. package/dist/{web-PvQddZps.js → web-Bu_faeV-.js} +6 -6
  229. package/dist/{web-Bn27WNAv.js → web-CB7FYstW.js} +1 -1
  230. package/dist/{web-Bhv2j2Bf.js → web-DyvSF1Pu.js} +57 -57
  231. package/dist/{web-BB6PGgjn.js → web-Q47zU0qb.js} +2 -2
  232. package/dist/{whatsapp-actions-BIeSWsCF.js → whatsapp-actions-SXenaJIn.js} +23 -23
  233. package/dist/{workspace-DscDraUb.js → workspace-DqJ5h-ZB.js} +27 -27
  234. package/extensions/bluebubbles/node_modules/.bin/symi +0 -0
  235. package/extensions/copilot-proxy/node_modules/.bin/symi +0 -0
  236. package/extensions/diagnostics-otel/node_modules/.bin/acorn +0 -0
  237. package/extensions/diagnostics-otel/node_modules/.bin/symi +0 -0
  238. package/extensions/discord/node_modules/.bin/symi +0 -0
  239. package/extensions/feishu/node_modules/.bin/symi +0 -0
  240. package/extensions/google-antigravity-auth/node_modules/.bin/symi +0 -0
  241. package/extensions/google-gemini-cli-auth/node_modules/.bin/symi +0 -0
  242. package/extensions/googlechat/node_modules/.bin/symi +0 -0
  243. package/extensions/imessage/node_modules/.bin/symi +0 -0
  244. package/extensions/irc/node_modules/.bin/symi +0 -0
  245. package/extensions/learning-loop/node_modules/.bin/symi +0 -0
  246. package/extensions/line/node_modules/.bin/symi +0 -0
  247. package/extensions/matrix/node_modules/.bin/markdown-it +0 -0
  248. package/extensions/matrix/node_modules/.bin/symi +0 -0
  249. package/extensions/mattermost/node_modules/.bin/symi +0 -0
  250. package/extensions/memory-core/node_modules/.bin/symi +0 -0
  251. package/extensions/memory-lancedb/node_modules/.bin/arrow2csv +0 -0
  252. package/extensions/memory-lancedb/node_modules/.bin/openai +0 -0
  253. package/extensions/memory-lancedb/node_modules/.bin/symi +0 -0
  254. package/extensions/minimax-portal-auth/node_modules/.bin/symi +0 -0
  255. package/extensions/msteams/node_modules/.bin/symi +0 -0
  256. package/extensions/nextcloud-talk/node_modules/.bin/symi +0 -0
  257. package/extensions/nostr/node_modules/.bin/symi +0 -0
  258. package/extensions/nostr/node_modules/.bin/tsc +0 -0
  259. package/extensions/nostr/node_modules/.bin/tsserver +0 -0
  260. package/extensions/signal/node_modules/.bin/symi +0 -0
  261. package/extensions/slack/node_modules/.bin/symi +0 -0
  262. package/extensions/telegram/node_modules/.bin/symi +0 -0
  263. package/extensions/tlon/node_modules/.bin/symi +0 -0
  264. package/extensions/twitch/node_modules/.bin/symi +0 -0
  265. package/extensions/voice-call/node_modules/.bin/symi +0 -0
  266. package/extensions/whatsapp/node_modules/.bin/symi +0 -0
  267. package/extensions/zalo/node_modules/.bin/symi +0 -0
  268. package/extensions/zalouser/node_modules/.bin/symi +0 -0
  269. package/package.json +113 -83
  270. package/skills/nano-banana-pro/scripts/generate_image.py +0 -0
  271. package/skills/sherpa-onnx-tts/bin/sherpa-onnx-tts +0 -0
  272. package/skills/tmux/scripts/find-sessions.sh +0 -0
  273. package/skills/tmux/scripts/wait-for-text.sh +0 -0
  274. package/dist/plugin-sdk/web--1cVrQ1K.js +0 -65
@@ -201,7 +201,7 @@ async function runConfigUnset(opts) {
201
201
  }
202
202
  function registerConfigCli(program) {
203
203
  const cmd = program.command("config").description("Non-interactive config helpers (get/set/unset). Run without subcommand for the setup wizard.").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/config", "docs.symi.ai/cli/config")}\n`).option("--section <section>", "Configure wizard sections (repeatable). Use with no subcommand.", (value, previous) => [...previous, value], []).action(async (opts) => {
204
- const { configureCommandFromSectionsArg } = await import("./configure-BkxvX0D4.js").then((n) => n.t);
204
+ const { configureCommandFromSectionsArg } = await import("./configure-DBPxwVXT.js").then((n) => n.t);
205
205
  await configureCommandFromSectionsArg(opts.section, defaultRuntime);
206
206
  });
207
207
  cmd.command("get").description("Get a config value by dot path").argument("<path>", "Config path (dot or bracket notation)").option("--json", "Output JSON", false).action(async (path, opts) => {
@@ -206,7 +206,7 @@ async function runConfigUnset(opts) {
206
206
  }
207
207
  function registerConfigCli(program) {
208
208
  const cmd = program.command("config").description("Non-interactive config helpers (get/set/unset). Run without subcommand for the setup wizard.").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/config", "docs.symi.ai/cli/config")}\n`).option("--section <section>", "Configure wizard sections (repeatable). Use with no subcommand.", (value, previous) => [...previous, value], []).action(async (opts) => {
209
- const { configureCommandFromSectionsArg } = await import("./configure-52avjwpv.js").then((n) => n.t);
209
+ const { configureCommandFromSectionsArg } = await import("./configure-iCtE2gdv.js").then((n) => n.t);
210
210
  await configureCommandFromSectionsArg(opts.section, defaultRuntime);
211
211
  });
212
212
  cmd.command("get").description("Get a config value by dot path").argument("<path>", "Config path (dot or bracket notation)").option("--json", "Output JSON", false).action(async (path, opts) => {
@@ -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-99ZIc6U9.js";
14
+ import { r as setupChannels, t as noteChannelStatus } from "./onboard-channels-CcoMVcOs.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-CfRwa6qh.js";
16
16
  import { t as resolveGatewayService } from "./service-Cm9j9WzQ.js";
17
- import { r as healthCommand } from "./health-DU1f-Ruq.js";
17
+ import { r as healthCommand } from "./health-qWkLoxz7.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-D8h_fABj.js";
21
+ import { i as applyAuthChoice, n as resolvePreferredProviderForAuthChoice } from "./auth-choice-X1P4E-3Z.js";
22
22
  import { a as promptDefaultModel, n as applyModelFallbacksFromSelection, o as promptModelAllowlist, r as applyPrimaryModel, t as applyModelAllowlist } from "./model-picker-D5nCutGW.js";
23
23
  import { t as ensureSystemdUserLingerInteractive } from "./systemd-linger-DA_LW52P.js";
24
24
  import { a as promptCustomApiConfig } from "./onboard-custom-DdWPfzJO.js";
@@ -13,14 +13,14 @@ import { n as stylePromptMessage, r as stylePromptTitle, t as stylePromptHint }
13
13
  import { t as note$1 } from "./note-DeHoW7xO.js";
14
14
  import { t as WizardCancelledError } from "./prompts-Xu2Sveka.js";
15
15
  import { t as createClackPrompter } from "./clack-prompter-B7pN13HV.js";
16
- import { r as setupChannels, t as noteChannelStatus } from "./onboard-channels-C87IzN9d.js";
16
+ import { r as setupChannels, t as noteChannelStatus } from "./onboard-channels-CnNA3U8_.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-2mwX-jqj.js";
18
18
  import { t as resolveGatewayService } from "./service-Cl74hx8J.js";
19
- import { r as healthCommand } from "./health-cAOv8KHf.js";
19
+ import { r as healthCommand } from "./health-DK1EhshZ.js";
20
20
  import { t as ensureControlUiAssetsBuilt } from "./control-ui-assets-Z947tKLt.js";
21
21
  import { n as logConfigUpdated } from "./logging-BzzwiKjv.js";
22
22
  import { n as promptAuthChoiceGrouped } from "./auth-choice-prompt-BLzEBA1v.js";
23
- import { i as applyAuthChoice, n as resolvePreferredProviderForAuthChoice } from "./auth-choice-r5NHQXLW.js";
23
+ import { i as applyAuthChoice, n as resolvePreferredProviderForAuthChoice } from "./auth-choice-D1uIw27C.js";
24
24
  import { a as promptDefaultModel, n as applyModelFallbacksFromSelection, o as promptModelAllowlist, r as applyPrimaryModel, t as applyModelAllowlist } from "./model-picker-Ddo3jHe-.js";
25
25
  import { t as ensureSystemdUserLingerInteractive } from "./systemd-linger-aQ75ZlXY.js";
26
26
  import { a as promptCustomApiConfig } from "./onboard-custom-C7O-zfQ1.js";
@@ -53,6 +53,10 @@ window.isSymipulseMessage = function (message) {
53
53
  if (/Logged to \d{4}-\d{2}-\d{2}\.md/i.test(txt)) {
54
54
  return true;
55
55
  }
56
+ // Heartbeat log acknowledgments — "Logged." followed by status text
57
+ if (/^Logged\./i.test(txt)) {
58
+ return true;
59
+ }
56
60
  }
57
61
 
58
62
  if (role === "user") {
@@ -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-CfqDGQ9J.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-Bux9Y_xD.js";
10
- import { c as resolveChunkMode, f as parseFenceSpans, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, n as chunkByParagraph } from "./chunk-09egQapi.js";
11
- import { n as resolveMarkdownTableMode } from "./markdown-tables-C-BmIap8.js";
12
- import { t as getAgentScopedMediaLocalRoots } from "./local-roots-DhZz0Ybs.js";
13
- import { l as markdownToSignalTextChunks, t as sendMessageSignal } from "./send-DAN9hA5h.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-Pnxzi8V5.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-BZGy4v--.js";
10
+ import { c as resolveChunkMode, f as parseFenceSpans, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, n as chunkByParagraph } from "./chunk-DR8ukp6r.js";
11
+ import { n as resolveMarkdownTableMode } from "./markdown-tables-tW9bGjLM.js";
12
+ import { t as getAgentScopedMediaLocalRoots } from "./local-roots-CdXg5-Cx.js";
13
+ import { l as markdownToSignalTextChunks, t as sendMessageSignal } from "./send-XRUYukww.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-lgx_U5KS.js";
8
+ import { B as resolveMirroredTranscriptText, i as isMessagingToolDuplicate, z as appendAssistantMessageToSessionTranscript } from "./pi-embedded-helpers-B8kqLWns.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";
@@ -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 { 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-DeHoW7xO.js";
4
- import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-LSZGfNYt.js";
4
+ import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-CfhJhArh.js";
5
5
  import path from "node:path";
6
6
  import { spawnSync } from "node:child_process";
7
7
 
@@ -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-CMPF-UWB.js";
4
+ import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-CdMbiAwX.js";
5
5
  import { spawnSync } from "node:child_process";
6
6
  import path from "node:path";
7
7
 
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-BPf5aLAC.js").then(({ runCli }) => runCli(process$1.argv)).catch((error) => {
2503
+ import("./run-main-BVSVpxZ3.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-BpqY8Naf.js";
10
+ import { D as resolveAgentTimeoutMs, p as runEmbeddedPiAgent } from "./pi-embedded-eCY-k0yS.js";
11
11
  import "./plugins-71oIavrF.js";
12
12
  import "./accounts-DDEyGwby.js";
13
13
  import "./bindings-DYVakimr.js";
14
14
  import "./send-D-hWrHoH.js";
15
15
  import "./send-C1IYd3g7.js";
16
- import "./deliver-BH0l3UKW.js";
16
+ import "./deliver-C-37cZUe.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-C4Ucr8ep.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-lgx_U5KS.js";
24
+ import { G as saveSessionStore, H as loadSessionStore } from "./pi-embedded-helpers-B8kqLWns.js";
25
25
  import "./config-BmV60pPT.js";
26
26
  import "./manifest-registry-D-mTF1cj.js";
27
- import "./chrome-CDJYxX5a.js";
27
+ import "./chrome-D2SKJnR7.js";
28
28
  import "./skills-BNpGMnp-.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-CHzdaNJ4.js";
37
+ import "./image-DcpMiprB.js";
38
38
  import "./manager-jpn5vRTY.js";
39
39
  import "./gemini-auth-CSlZZ1Pw.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-C_aYUwpl.js";
49
49
  import "./skill-commands-DklY7Cj7.js";
50
- import "./runner-DUBExAb5.js";
50
+ import "./runner-BcQ0sF9T.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 {}
@@ -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-TUgh96BH.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-BNLTgD0A.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";
@@ -135,20 +135,20 @@ import { n as resolveWideAreaDiscoveryDomain, r as writeWideAreaGatewayZone } fr
135
135
  import { i as toOptionString, n as extractGatewayMiskeys, r as maybeExplainGatewayServiceStop, t as describeUnknownError } from "./shared-BJvwnR5z.js";
136
136
  import { c as probeGateway, s as resolveNodeCommandAllowlist } from "./audit-CrITRV6w.js";
137
137
  import { t as discoverGatewayBeacons } from "./bonjour-discovery-BHTF5p0X.js";
138
- import { r as pickGatewaySelfPresence } from "./status-v1fz4XO0.js";
139
- import { c as startHeartbeatRunner, i as styleHealthChannelLine, n as getHealthSnapshot, o as runHeartbeatOnce, t as formatHealthChannelLines } from "./health-cAOv8KHf.js";
138
+ import { r as pickGatewaySelfPresence } from "./status-D9MVzUtM.js";
139
+ import { c as startHeartbeatRunner, i as styleHealthChannelLine, n as getHealthSnapshot, o as runHeartbeatOnce, t as formatHealthChannelLines } from "./health-DK1EhshZ.js";
140
140
  import { a as resolveControlUiRootSync, i as resolveControlUiRootOverrideSync, t as ensureControlUiAssetsBuilt } from "./control-ui-assets-Z947tKLt.js";
141
141
  import { a as resolveNpmChannelTag, c as DEFAULT_PACKAGE_CHANNEL, m as normalizeUpdateChannel, n as compareSemverStrings, t as checkUpdateStatus } from "./update-check-CtckACbb.js";
142
- import { t as runOnboardingWizard } from "./onboarding-B-J8KGlq.js";
143
- import { _ as getHandshakeTimeoutMs, a as DEFAULT_ASSISTANT_IDENTITY, b as resolveCronRunLogPath, c as upsertPresence, d as DEDUPE_MAX, f as DEDUPE_TTL_MS, g as TICK_INTERVAL_MS, h as MAX_PAYLOAD_BYTES, i as safeParseJson, l as formatError, m as MAX_BUFFERED_BYTES, n as handleGatewayRequest, o as resolveAssistantIdentity, p as HEALTH_REFRESH_INTERVAL_MS, r as broadcastPresenceSnapshot, s as listSystemPresence, t as coreGatewayHandlers, u as loadVoiceWakeConfig, v as abortChatRunById, x as startGatewayConfigReloader, y as appendCronRunLog } from "./server-methods-DAkx0Jqj.js";
144
- import { d as shouldLogWs, f as summarizeAgentEventForWsLog, l as formatForLog, p as setGatewayWsLogStyle, u as logWs } from "./push-apns-c1qXclcv.js";
142
+ import { t as runOnboardingWizard } from "./onboarding-GGE9UgcE.js";
143
+ import { _ as getHandshakeTimeoutMs, a as DEFAULT_ASSISTANT_IDENTITY, b as resolveCronRunLogPath, c as upsertPresence, d as DEDUPE_MAX, f as DEDUPE_TTL_MS, g as TICK_INTERVAL_MS, h as MAX_PAYLOAD_BYTES, i as safeParseJson, l as formatError, m as MAX_BUFFERED_BYTES, n as handleGatewayRequest, o as resolveAssistantIdentity, p as HEALTH_REFRESH_INTERVAL_MS, r as broadcastPresenceSnapshot, s as listSystemPresence, t as coreGatewayHandlers, u as loadVoiceWakeConfig, v as abortChatRunById, x as startGatewayConfigReloader, y as appendCronRunLog } from "./server-methods-BYcfPp30.js";
144
+ import { d as shouldLogWs, f as summarizeAgentEventForWsLog, l as formatForLog, p as setGatewayWsLogStyle, u as logWs } from "./push-apns-DZvXSHuB.js";
145
145
  import { T as resolveGmailHookRuntimeConfig, _ as buildGogWatchServeArgs, i as ensureTailscaleEndpoint, v as buildGogWatchStartArgs } from "./gmail-setup-utils-Bv0M7ka7.js";
146
- import "./agents.config-BJqym5bg.js";
146
+ import "./agents.config-Bra6UznM.js";
147
147
  import "./dm-policy-shared-Bh3TbexU.js";
148
148
  import "./node-service-Cxz4e-Qd.js";
149
149
  import "./status.update-DtwCUTf-.js";
150
150
  import "./skills-install-D67isO1L.js";
151
- import "./update-runner-CNBdOfqY.js";
151
+ import "./update-runner-3-pTGczW.js";
152
152
  import { t as resolveAgentSessionDirs } from "./session-dirs-DWgIYmAt.js";
153
153
  import { i as shouldIncludeHook, r as resolveHookConfig, t as loadWorkspaceHookEntries } from "./workspace-CYxdoAlY.js";
154
154
  import { fileURLToPath, pathToFileURL } from "node:url";
@@ -11839,7 +11839,7 @@ async function startGatewayServer(port = 18789, opts = {}) {
11839
11839
  });
11840
11840
  let glassUiBridgeCleanup = null;
11841
11841
  if (!minimalTestGateway) {
11842
- const { createGlassUiBridge } = await import("./glass-ui-ws-odUDh4Ax.js");
11842
+ const { createGlassUiBridge } = await import("./glass-ui-ws-BVcaUJ4x.js");
11843
11843
  glassUiBridgeCleanup = createGlassUiBridge({
11844
11844
  wss: glassUiWss,
11845
11845
  context: gatewayRequestContext,
@@ -21,7 +21,7 @@ import "./pairing-token-Byh6drgn.js";
21
21
  import { t as safeEqualSecret } from "./secret-equal-CbntzRkh.js";
22
22
  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";
23
23
  import { n as pickPrimaryTailnetIPv4, r as pickPrimaryTailnetIPv6 } from "./tailnet-Cmumpn76.js";
24
- 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-btvK-uGU.js";
24
+ 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-CT87UyVy.js";
25
25
  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-CJXnZVjR.js";
26
26
  import { a as isSilentReplyText, n as SILENT_REPLY_TOKEN } from "./tokens-Csntmwwn.js";
27
27
  import { n as listChannelPlugins, o as normalizeWhatsAppTarget, r as normalizeChannelId, t as getChannelPlugin } from "./plugins-CwSlLxM8.js";
@@ -130,20 +130,20 @@ import { n as resolveWideAreaDiscoveryDomain, r as writeWideAreaGatewayZone } fr
130
130
  import { i as toOptionString, n as extractGatewayMiskeys, r as maybeExplainGatewayServiceStop, t as describeUnknownError } from "./shared-BtG9rny3.js";
131
131
  import { c as probeGateway, s as resolveNodeCommandAllowlist } from "./audit-Byo5jCLN.js";
132
132
  import { t as discoverGatewayBeacons } from "./bonjour-discovery-CA_XIzr_.js";
133
- import { i as pickGatewaySelfPresence } from "./status-QRydo-7w.js";
134
- import { a as styleHealthChannelLine, l as startHeartbeatRunner, n as getHealthSnapshot, s as runHeartbeatOnce, t as formatHealthChannelLines } from "./health-DU1f-Ruq.js";
133
+ import { i as pickGatewaySelfPresence } from "./status-BB7l5YGy.js";
134
+ import { a as styleHealthChannelLine, l as startHeartbeatRunner, n as getHealthSnapshot, s as runHeartbeatOnce, t as formatHealthChannelLines } from "./health-qWkLoxz7.js";
135
135
  import { a as resolveControlUiRootSync, i as resolveControlUiRootOverrideSync, t as ensureControlUiAssetsBuilt } from "./control-ui-assets-BseSWee1.js";
136
136
  import { a as resolveNpmChannelTag, c as DEFAULT_PACKAGE_CHANNEL, m as normalizeUpdateChannel, n as compareSemverStrings, t as checkUpdateStatus } from "./update-check-ZdimP1aU.js";
137
- import { t as runOnboardingWizard } from "./onboarding-DCPTymIi.js";
138
- import { _ as getHandshakeTimeoutMs, a as DEFAULT_ASSISTANT_IDENTITY, b as resolveCronRunLogPath, c as upsertPresence, d as DEDUPE_MAX, f as DEDUPE_TTL_MS, g as TICK_INTERVAL_MS, h as MAX_PAYLOAD_BYTES, i as safeParseJson, l as formatError, m as MAX_BUFFERED_BYTES, n as handleGatewayRequest, o as resolveAssistantIdentity, p as HEALTH_REFRESH_INTERVAL_MS, r as broadcastPresenceSnapshot, s as listSystemPresence, t as coreGatewayHandlers, u as loadVoiceWakeConfig, v as abortChatRunById, x as startGatewayConfigReloader, y as appendCronRunLog } from "./server-methods-DFuRwfyn.js";
139
- import { d as shouldLogWs, f as summarizeAgentEventForWsLog, l as formatForLog, p as setGatewayWsLogStyle, u as logWs } from "./push-apns-DkYs830G.js";
137
+ import { t as runOnboardingWizard } from "./onboarding-Cs7XncoX.js";
138
+ import { _ as getHandshakeTimeoutMs, a as DEFAULT_ASSISTANT_IDENTITY, b as resolveCronRunLogPath, c as upsertPresence, d as DEDUPE_MAX, f as DEDUPE_TTL_MS, g as TICK_INTERVAL_MS, h as MAX_PAYLOAD_BYTES, i as safeParseJson, l as formatError, m as MAX_BUFFERED_BYTES, n as handleGatewayRequest, o as resolveAssistantIdentity, p as HEALTH_REFRESH_INTERVAL_MS, r as broadcastPresenceSnapshot, s as listSystemPresence, t as coreGatewayHandlers, u as loadVoiceWakeConfig, v as abortChatRunById, x as startGatewayConfigReloader, y as appendCronRunLog } from "./server-methods-BhRjuKEM.js";
139
+ import { d as shouldLogWs, f as summarizeAgentEventForWsLog, l as formatForLog, p as setGatewayWsLogStyle, u as logWs } from "./push-apns-DWLiMsGQ.js";
140
140
  import { T as resolveGmailHookRuntimeConfig, _ as buildGogWatchServeArgs, i as ensureTailscaleEndpoint, v as buildGogWatchStartArgs } from "./gmail-setup-utils-CzWeiE-Y.js";
141
- import "./agents.config-Dz-OLfrK.js";
141
+ import "./agents.config-CQ90zDyI.js";
142
142
  import "./dm-policy-shared-DJ-61hCT.js";
143
143
  import "./node-service-fcZExd22.js";
144
144
  import "./status.update-DbmZz0Aq.js";
145
145
  import "./skills-install-1ZdwGTnh.js";
146
- import "./update-runner-Dy2tM0ZX.js";
146
+ import "./update-runner-DYuIPErv.js";
147
147
  import { t as resolveAgentSessionDirs } from "./session-dirs-DWgIYmAt.js";
148
148
  import { i as shouldIncludeHook, r as resolveHookConfig, t as loadWorkspaceHookEntries } from "./workspace-B51TF6q3.js";
149
149
  import { n as forceFreePortAndWait } from "./ports-Dn122MUd.js";
@@ -11835,7 +11835,7 @@ async function startGatewayServer(port = 18789, opts = {}) {
11835
11835
  });
11836
11836
  let glassUiBridgeCleanup = null;
11837
11837
  if (!minimalTestGateway) {
11838
- const { createGlassUiBridge } = await import("./glass-ui-ws-B2LHyjWF.js");
11838
+ const { createGlassUiBridge } = await import("./glass-ui-ws-B5Iw-tYt.js");
11839
11839
  glassUiBridgeCleanup = createGlassUiBridge({
11840
11840
  wss: glassUiWss,
11841
11841
  context: gatewayRequestContext,
@@ -1,4 +1,4 @@
1
- import { C as normalizeProviderId } from "./auth-profiles-DdK1Hxaa.js";
1
+ import { C as normalizeProviderId } from "./auth-profiles-Bl9aU7fc.js";
2
2
  import { n as formatErrorMessage } from "./errors-XIsvXeC-.js";
3
3
 
4
4
  //#region src/agents/live-auth-keys.ts
@@ -1,13 +1,13 @@
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 path from "node:path";
4
- import fs from "node:fs";
4
+ import fsSync from "node:fs";
5
5
 
6
6
  //#region src/infra/json-file.ts
7
7
  function loadJsonFile(pathname) {
8
8
  try {
9
- if (!fs.existsSync(pathname)) return;
10
- const raw = fs.readFileSync(pathname, "utf8");
9
+ if (!fsSync.existsSync(pathname)) return;
10
+ const raw = fsSync.readFileSync(pathname, "utf8");
11
11
  return JSON.parse(raw);
12
12
  } catch {
13
13
  return;
@@ -15,12 +15,12 @@ function loadJsonFile(pathname) {
15
15
  }
16
16
  function saveJsonFile(pathname, data) {
17
17
  const dir = path.dirname(pathname);
18
- if (!fs.existsSync(dir)) fs.mkdirSync(dir, {
18
+ if (!fsSync.existsSync(dir)) fsSync.mkdirSync(dir, {
19
19
  recursive: true,
20
20
  mode: 448
21
21
  });
22
- fs.writeFileSync(pathname, `${JSON.stringify(data, null, 2)}\n`, "utf8");
23
- fs.chmodSync(pathname, 384);
22
+ fsSync.writeFileSync(pathname, `${JSON.stringify(data, null, 2)}\n`, "utf8");
23
+ fsSync.chmodSync(pathname, 384);
24
24
  }
25
25
 
26
26
  //#endregion
@@ -13,7 +13,7 @@ import "./client-DMBZpU6X.js";
13
13
  import "./call-BcE47FtD.js";
14
14
  import "./message-channel-C9dERklz.js";
15
15
  import "./pairing-token-Byh6drgn.js";
16
- import "./subagent-registry-btvK-uGU.js";
16
+ import "./subagent-registry-CT87UyVy.js";
17
17
  import "./sessions-CJXnZVjR.js";
18
18
  import "./tokens-Csntmwwn.js";
19
19
  import "./plugins-CwSlLxM8.js";
@@ -108,18 +108,18 @@ import "./service-Cm9j9WzQ.js";
108
108
  import "./diagnostics-CS1ov_hH.js";
109
109
  import "./table-D01d2GuY.js";
110
110
  import "./audit-Byo5jCLN.js";
111
- import "./status-QRydo-7w.js";
112
- import "./health-DU1f-Ruq.js";
111
+ import "./status-BB7l5YGy.js";
112
+ import "./health-qWkLoxz7.js";
113
113
  import "./control-ui-assets-BseSWee1.js";
114
114
  import "./update-check-ZdimP1aU.js";
115
- import { n as handleGatewayRequest } from "./server-methods-DFuRwfyn.js";
116
- import "./push-apns-DkYs830G.js";
117
- import "./agents.config-Dz-OLfrK.js";
115
+ import { n as handleGatewayRequest } from "./server-methods-BhRjuKEM.js";
116
+ import "./push-apns-DWLiMsGQ.js";
117
+ import "./agents.config-CQ90zDyI.js";
118
118
  import "./dm-policy-shared-DJ-61hCT.js";
119
119
  import "./node-service-fcZExd22.js";
120
120
  import "./status.update-DbmZz0Aq.js";
121
121
  import "./skills-install-1ZdwGTnh.js";
122
- import "./update-runner-Dy2tM0ZX.js";
122
+ import "./update-runner-DYuIPErv.js";
123
123
 
124
124
  //#region src/gateway/glass-ui-ws.ts
125
125
  const SESSION_KEY = "agent:main:main";
@@ -1,7 +1,7 @@
1
1
  import "./paths-Cqn-zk3M.js";
2
2
  import "./utils-B-0b9bGM.js";
3
3
  import "./thinking-EAliFiVK.js";
4
- import "./reply-TUgh96BH.js";
4
+ import "./reply-BNLTgD0A.js";
5
5
  import "./registry-Cja8eT7G.js";
6
6
  import "./subsystem-D9vIQve0.js";
7
7
  import "./exec-CWkblSrI.js";
@@ -113,18 +113,18 @@ import "./service-Cl74hx8J.js";
113
113
  import "./diagnostics-BAMlsVVX.js";
114
114
  import "./table-BTgkRafz.js";
115
115
  import "./audit-CrITRV6w.js";
116
- import "./status-v1fz4XO0.js";
117
- import "./health-cAOv8KHf.js";
116
+ import "./status-D9MVzUtM.js";
117
+ import "./health-DK1EhshZ.js";
118
118
  import "./control-ui-assets-Z947tKLt.js";
119
119
  import "./update-check-CtckACbb.js";
120
- import { n as handleGatewayRequest } from "./server-methods-DAkx0Jqj.js";
121
- import "./push-apns-c1qXclcv.js";
122
- import "./agents.config-BJqym5bg.js";
120
+ import { n as handleGatewayRequest } from "./server-methods-BYcfPp30.js";
121
+ import "./push-apns-DZvXSHuB.js";
122
+ import "./agents.config-Bra6UznM.js";
123
123
  import "./dm-policy-shared-Bh3TbexU.js";
124
124
  import "./node-service-Cxz4e-Qd.js";
125
125
  import "./status.update-DtwCUTf-.js";
126
126
  import "./skills-install-D67isO1L.js";
127
- import "./update-runner-CNBdOfqY.js";
127
+ import "./update-runner-3-pTGczW.js";
128
128
 
129
129
  //#region src/gateway/glass-ui-ws.ts
130
130
  const SESSION_KEY = "agent:main:main";
@@ -1,5 +1,5 @@
1
1
  import { B as theme, k as info, l as escapeRegExp, z as isRich } from "./utils-B-0b9bGM.js";
2
- import { At as resolveHeartbeatDeliveryTarget, Cr as peekSystemEventEntries, Vn as resolveUserTimezone, cr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, ct as setHeartbeatWakeHandler, dr as resolveHeartbeatPrompt$1, fr as stripHeartbeatToken, jt as resolveHeartbeatSenderContext, lr as DEFAULT_HEARTBEAT_EVERY, lt as resolveHeartbeatReasonKind, nr as getQueueSize, r as appendCronStyleCurrentTimeLine, sr as CommandLane, st as requestHeartbeatNow, t as getReplyFromConfig, ur as isHeartbeatContentEffectivelyEmpty } from "./reply-TUgh96BH.js";
2
+ import { At as resolveHeartbeatDeliveryTarget, Cr as peekSystemEventEntries, Vn as resolveUserTimezone, cr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, ct as setHeartbeatWakeHandler, dr as resolveHeartbeatPrompt$1, fr as stripHeartbeatToken, jt as resolveHeartbeatSenderContext, lr as DEFAULT_HEARTBEAT_EVERY, lt as resolveHeartbeatReasonKind, nr as getQueueSize, r as appendCronStyleCurrentTimeLine, sr as CommandLane, st as requestHeartbeatNow, t as getReplyFromConfig, ur as isHeartbeatContentEffectivelyEmpty } from "./reply-BNLTgD0A.js";
3
3
  import { l as resolveAgentIdFromSessionKey, p as toAgentStoreSessionKey, s as normalizeAgentId } from "./session-key-DCt45XZa.js";
4
4
  import { f as defaultRuntime, t as createSubsystemLogger } from "./subsystem-D9vIQve0.js";
5
5
  import { b as DEFAULT_SYMIPULSE_FILENAME, c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId, r as resolveAgentConfig } from "./agent-scope-CgUHAtCo.js";
@@ -4,7 +4,7 @@ import { l as resolveAgentIdFromSessionKey, p as toAgentStoreSessionKey, s as no
4
4
  import { b as DEFAULT_SYMIPULSE_FILENAME, c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId, r as resolveAgentConfig } from "./agent-scope-D-jRCY0d.js";
5
5
  import { C as parseDurationMs, i as loadConfig } from "./config-DHBLS1Hl.js";
6
6
  import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-BcE47FtD.js";
7
- import { Jn as resolveUserTimezone, K as appendCronStyleCurrentTimeLine, Tn as peekSystemEventEntries, W as getReplyFromConfig, _r as isHeartbeatContentEffectivelyEmpty, dn as requestHeartbeatNow, fn as setHeartbeatWakeHandler, gr as DEFAULT_HEARTBEAT_EVERY, hr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, lr as getQueueSize, lt as resolveHeartbeatDeliveryTarget, mr as CommandLane, pn as resolveHeartbeatReasonKind, ut as resolveHeartbeatSenderContext, vr as resolveHeartbeatPrompt$1, yr as stripHeartbeatToken } from "./subagent-registry-btvK-uGU.js";
7
+ import { Jn as resolveUserTimezone, K as appendCronStyleCurrentTimeLine, Tn as peekSystemEventEntries, W as getReplyFromConfig, _r as isHeartbeatContentEffectivelyEmpty, dn as requestHeartbeatNow, fn as setHeartbeatWakeHandler, gr as DEFAULT_HEARTBEAT_EVERY, hr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, lr as getQueueSize, lt as resolveHeartbeatDeliveryTarget, mr as CommandLane, pn as resolveHeartbeatReasonKind, ut as resolveHeartbeatSenderContext, vr as resolveHeartbeatPrompt$1, yr as stripHeartbeatToken } from "./subagent-registry-CT87UyVy.js";
8
8
  import { M as canonicalizeMainSessionAlias, N as resolveAgentMainSessionKey, d as updateSessionStore, l as saveSessionStore, o as loadSessionStore } from "./sessions-CJXnZVjR.js";
9
9
  import { r as SYMIPULSE_TOKEN } from "./tokens-Csntmwwn.js";
10
10
  import { n as listChannelPlugins, t as getChannelPlugin } from "./plugins-CwSlLxM8.js";
@@ -15,7 +15,7 @@ import "./client-DMBZpU6X.js";
15
15
  import "./call-BcE47FtD.js";
16
16
  import "./message-channel-C9dERklz.js";
17
17
  import "./pairing-token-Byh6drgn.js";
18
- import "./subagent-registry-btvK-uGU.js";
18
+ import "./subagent-registry-CT87UyVy.js";
19
19
  import "./sessions-CJXnZVjR.js";
20
20
  import "./tokens-Csntmwwn.js";
21
21
  import "./plugins-CwSlLxM8.js";
@@ -104,7 +104,7 @@ import { a as installPackageDir, i as withTempDir, n as installFromNpmSpecArchiv
104
104
  import { t as renderTable } from "./table-D01d2GuY.js";
105
105
  import { a as parseFrontmatter, t as loadWorkspaceHookEntries } from "./workspace-B51TF6q3.js";
106
106
  import { t as buildWorkspaceHookStatus } from "./hooks-status-CEoLdlyb.js";
107
- import { t as buildPluginStatusReport } from "./status-DLT_0K6s.js";
107
+ import { t as buildPluginStatusReport } from "./status-C7VswIJF.js";
108
108
  import path from "node:path";
109
109
  import fs from "node:fs";
110
110
  import fs$1 from "node:fs/promises";
@@ -1,7 +1,7 @@
1
1
  import "./paths-Cqn-zk3M.js";
2
2
  import { B as theme, S as shortenHomePath, t as CONFIG_DIR, y as resolveUserPath } from "./utils-B-0b9bGM.js";
3
3
  import "./thinking-EAliFiVK.js";
4
- import "./reply-TUgh96BH.js";
4
+ import "./reply-BNLTgD0A.js";
5
5
  import "./registry-Cja8eT7G.js";
6
6
  import { f as defaultRuntime } from "./subsystem-D9vIQve0.js";
7
7
  import "./exec-CWkblSrI.js";
@@ -108,7 +108,7 @@ import { a as installPackageDir, i as withTempDir, n as installFromNpmSpecArchiv
108
108
  import { t as renderTable } from "./table-BTgkRafz.js";
109
109
  import { a as parseFrontmatter, t as loadWorkspaceHookEntries } from "./workspace-CYxdoAlY.js";
110
110
  import { t as buildWorkspaceHookStatus } from "./hooks-status-BqLZtMLa.js";
111
- import { t as buildPluginStatusReport } from "./status-C42zRdTE.js";
111
+ import { t as buildPluginStatusReport } from "./status-BZgA_AUW.js";
112
112
  import fs from "node:fs";
113
113
  import path from "node:path";
114
114
  import fs$1 from "node:fs/promises";
@@ -1,8 +1,8 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { R as shortenHomeInString, k as isRecord } from "./registry-DYq1AYOv.js";
3
- import { $ as resolveSymiAgentDir, L as getApiKeyForModel, M as resolveImplicitBedrockProvider, N as resolveImplicitCopilotProvider, P as resolveImplicitProviders, U as normalizeSecretInput, j as normalizeProviders, z as requireApiKey } from "./auth-profiles-DdK1Hxaa.js";
4
- import { N as sanitizeUserFacingText } from "./pi-embedded-helpers-CfqDGQ9J.js";
5
- import { n as loadConfig } from "./config-5SdHIcHU.js";
2
+ import { R as shortenHomeInString, k as isRecord } from "./registry-UkL38jvt.js";
3
+ import { $ as resolveSymiAgentDir, L as getApiKeyForModel, M as resolveImplicitBedrockProvider, N as resolveImplicitCopilotProvider, P as resolveImplicitProviders, U as normalizeSecretInput, j as normalizeProviders, z as requireApiKey } from "./auth-profiles-Bl9aU7fc.js";
4
+ import { N as sanitizeUserFacingText } from "./pi-embedded-helpers-Pnxzi8V5.js";
5
+ import { n as loadConfig } from "./config-CvmE3Yx1.js";
6
6
  import { n as redactToolDetail } from "./redact-BDMXB06K.js";
7
7
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-Bv5YDJc8.js";
8
8
  import path from "node:path";
@@ -2,7 +2,7 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { D as isRecord, I as shortenHomeInString } from "./registry-BhoUuugi.js";
3
3
  import { G as resolveSymiAgentDir, S as getApiKeyForModel, Y as normalizeSecretInput, _ as resolveImplicitBedrockProvider, g as normalizeProviders, v as resolveImplicitCopilotProvider, w as requireApiKey, y as resolveImplicitProviders } from "./model-selection-BQCG9ah0.js";
4
4
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-j5tVLINv.js";
5
- import { N as sanitizeUserFacingText } from "./pi-embedded-helpers-lgx_U5KS.js";
5
+ import { N as sanitizeUserFacingText } from "./pi-embedded-helpers-B8kqLWns.js";
6
6
  import { n as loadConfig } from "./config-BmV60pPT.js";
7
7
  import { n as redactToolDetail } from "./redact-1NGYV_8p.js";
8
8
  import path from "node:path";