@symerian/symi 2.0.0 → 2.0.1

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 (383) hide show
  1. package/dist/{accounts-Cd816n6l.js → accounts-DDuIpcln.js} +7 -7
  2. package/dist/{accounts-mN_EcgxC.js → accounts-DyJN4_vR.js} +1 -1
  3. package/dist/{accounts-CokRskCl.js → accounts-bK-Yqdwx.js} +1 -1
  4. package/dist/{acp-cli-o_sLVYUf.js → acp-cli-D54IzOnz.js} +6 -6
  5. package/dist/{agent-scope-BRwEc2pG.js → agent-scope-CgUHAtCo.js} +18 -18
  6. package/dist/{agents-fpLHaNi7.js → agents-DtoHlMPd.js} +4 -4
  7. package/dist/{agents.config-CsSO3wVx.js → agents.config-D42lZLmR.js} +1 -1
  8. package/dist/{agents.config-p7Y2nZHi.js → agents.config-DnUOlYlU.js} +2 -2
  9. package/dist/{api-key-rotation-Dbby3dlf.js → api-key-rotation-Do8JQqVN.js} +1 -1
  10. package/dist/{audio-preflight-79KNH7Tf.js → audio-preflight-CERzpj2b.js} +28 -28
  11. package/dist/{audio-preflight-DL5FZnXU.js → audio-preflight-Idsf-ZfU.js} +4 -4
  12. package/dist/{audit-BUu82PFi.js → audit-D8C59yOo.js} +23 -23
  13. package/dist/{auth-choice-CeNB3tht.js → auth-choice-C9otuJPA.js} +1 -1
  14. package/dist/{auth-choice-C5XKksbt.js → auth-choice-D5BDSGnl.js} +8 -8
  15. package/dist/{auth-token-D4sEkR38.js → auth-token-BszpreVL.js} +1 -1
  16. package/dist/{banner-Cf1EZP4s.js → banner-CF7C3krf.js} +1 -1
  17. package/dist/{bindings-ChzePa8q.js → bindings-DFaVVCsf.js} +1 -1
  18. package/dist/{browser-cli-VNgWKTmy.js → browser-cli-Bys7B4nj.js} +9 -9
  19. package/dist/build-info.json +3 -3
  20. package/dist/bundled/boot-md/handler.js +6 -6
  21. package/dist/bundled/session-memory/handler.js +6 -6
  22. package/dist/{call-DiLX2POZ.js → call-DAcmbtXf.js} +9 -9
  23. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  24. package/dist/{channel-options-cu6Y_a_F.js → channel-options-Csa-TtDi.js} +1 -1
  25. package/dist/{channel-options-B6UQDEaE.js → channel-options-DzhTX3wl.js} +2 -2
  26. package/dist/{channel-selection-DjfBv8kq.js → channel-selection-DuWs0Aak.js} +1 -1
  27. package/dist/{channel-web-Bi-6I1-W.js → channel-web-CjvCBPqU.js} +17 -17
  28. package/dist/{channels-cli-Bd5O4SA9.js → channels-cli-DDN_16Kv.js} +4 -4
  29. package/dist/{channels-cli-JCLUuFxJ.js → channels-cli-KlwkjyCS.js} +75 -75
  30. package/dist/{channels-status-issues-BoH1ZJPN.js → channels-status-issues-B_kBkl_u.js} +1 -1
  31. package/dist/{chrome-DuXtddnV.js → chrome-CVy4cA98.js} +7 -7
  32. package/dist/{chrome-CR4GU_ji.js → chrome-w5VRy_4h.js} +2 -2
  33. package/dist/cli/daemon-cli.js +1 -1
  34. package/dist/{cli-CDZec5HA.js → cli-B5hVys4U.js} +62 -62
  35. package/dist/{cli-nHMrloEB.js → cli-DJI_OS4-.js} +1 -1
  36. package/dist/{client-CIYHP9fS.js → client-Cnoh7nRo.js} +1 -1
  37. package/dist/{command-registry-DXb1lS7l.js → command-registry-DnZXmfQw.js} +9 -9
  38. package/dist/{commands-CtocZ4Lg.js → commands-BNLCWX6e.js} +1 -1
  39. package/dist/{commands-registry-BmO4ALva.js → commands-registry-FQYB6b0c.js} +3 -3
  40. package/dist/{completion-cli-BzDe-5CO.js → completion-cli-DCxqBDYi.js} +2 -2
  41. package/dist/{completion-cli-CZ0-L0Nx.js → completion-cli-DQL62fp3.js} +12 -12
  42. package/dist/{config-AVc1QpRD.js → config-HatzmzSF.js} +2 -2
  43. package/dist/{config-cli-BfsG-zzV.js → config-cli-BZ9IeSYB.js} +1 -1
  44. package/dist/{config-cli-BIUaw73M.js → config-cli-gykd9rl1.js} +4 -4
  45. package/dist/{config-guard-CPd-_Sug.js → config-guard-B_Oo29C_.js} +12 -12
  46. package/dist/{config-validation-QuKOX6cx.js → config-validation-DWRbfhqx.js} +1 -1
  47. package/dist/{configure-C1JhrX_n.js → configure-DaF95oCr.js} +3 -3
  48. package/dist/{configure-DpG3ItSi.js → configure-awU0fYIM.js} +15 -15
  49. package/dist/{control-service-CT6Tc8zz.js → control-service-su7ltHXJ.js} +4 -4
  50. package/dist/control-ui/css/revert-red-theme.md +141 -0
  51. package/dist/control-ui/css/style.css +23 -54
  52. package/dist/control-ui/css/style.css.backup-2026-03-03-162525 +3546 -0
  53. package/dist/control-ui/css/style.css.backup-before-red-2026-03-03-162525 +3546 -0
  54. package/dist/control-ui/css/style.css.backup-before-red-theme-2026-03-03-162530 +3546 -0
  55. package/dist/control-ui/css/style.css.red-theme +2999 -0
  56. package/dist/control-ui/index.html +5 -18
  57. package/dist/control-ui/js/app.js +1 -1
  58. package/dist/control-ui/js/models.js +35 -108
  59. package/dist/{control-ui-assets-DqGziq7x.js → control-ui-assets-Z947tKLt.js} +1 -1
  60. package/dist/{cron-cli-Dkt9uaVz.js → cron-cli-EwYM3Zhw.js} +10 -10
  61. package/dist/{daemon-cli-CK9BhScf.js → daemon-cli-gSfOKrXx.js} +11 -11
  62. package/dist/{daemon-runtime-CbWCEgFq.js → daemon-runtime-CNFxAJWo.js} +10 -10
  63. package/dist/{deliver-D7lL85xc.js → deliver-Ds9HRkSS.js} +1 -1
  64. package/dist/{deliver-BRZABn2h.js → deliver-Dt-RE3Vx.js} +7 -7
  65. package/dist/{devices-cli-Dt2dSPNN.js → devices-cli-B4Ml0nPd.js} +6 -6
  66. package/dist/{diagnostics-D2yUMZN1.js → diagnostics-BAMlsVVX.js} +5 -5
  67. package/dist/{directory-cli-Bd0yqzdX.js → directory-cli-Dr1AuGU_.js} +7 -7
  68. package/dist/{dm-policy-shared-BbBnj9fh.js → dm-policy-shared-B7mF98WG.js} +2 -2
  69. package/dist/{dns-cli-C8-wE4jg.js → dns-cli-BMuYSI5H.js} +3 -3
  70. package/dist/{dock-BYiRZSgZ.js → dock-BhS32F6E.js} +4 -4
  71. package/dist/{docs-cli-BfPfHTDs.js → docs-cli-BpnEOtJi.js} +1 -1
  72. package/dist/{doctor-completion-EiZoSgwZ.js → doctor-completion-CWxrDfTf.js} +2 -2
  73. package/dist/{doctor-completion-BUt4HQxm.js → doctor-completion-Dsc3BTPh.js} +1 -1
  74. package/dist/{doctor-config-flow-DVeRf3Nb.js → doctor-config-flow-CqkfYH5g.js} +10 -10
  75. package/dist/entry.js +1 -1
  76. package/dist/{exec-approvals-cli-_9YulN2v.js → exec-approvals-cli-Bjc1fnXd.js} +13 -13
  77. package/dist/extensionAPI.js +1 -1
  78. package/dist/{fs-safe-CTDvb1DF.js → fs-safe-CUjO1ca2.js} +6 -6
  79. package/dist/{gateway-cli-CEO3mZTr.js → gateway-cli-DE-6Dcty.js} +13 -10
  80. package/dist/{gateway-cli-BRuCMLHC.js → gateway-cli-ZjP8i4av.js} +117 -114
  81. package/dist/{gateway-rpc-CPJvpktM.js → gateway-rpc-fojfvlNM.js} +1 -1
  82. package/dist/{glass-ui-ws-BDGgl8ub.js → glass-ui-ws-D421doEO.js} +7 -7
  83. package/dist/{glass-ui-ws-DZBGtG3l.js → glass-ui-ws-DVJ8Jbb_.js} +82 -82
  84. package/dist/{health-JCH1-7ZC.js → health-6eO44S1z.js} +13 -13
  85. package/dist/{health-DOpwYIk9.js → health-Cg5ISkwP.js} +1 -1
  86. package/dist/{hooks-cli-C_swzA-Q.js → hooks-cli-CSudu0uW.js} +76 -76
  87. package/dist/{hooks-cli-8E0NEcp2.js → hooks-cli-DrJLLgya.js} +2 -2
  88. package/dist/{image-CMI-9eRz.js → image-BCpwZwMs.js} +3 -3
  89. package/dist/{image-Bw9ZjAgJ.js → image-CFJ6w7mA.js} +1 -1
  90. package/dist/{image-ops-DYbDWaIA.js → image-ops-1OJMSAUX.js} +10 -10
  91. package/dist/index.js +72 -72
  92. package/dist/{inspect-ZJkNX0WL.js → inspect-CllGjsWo.js} +4 -4
  93. package/dist/{install-safe-path-Qqr_t_tH.js → install-safe-path-tCLiMpmO.js} +11 -11
  94. package/dist/{installs-O9KlRu9h.js → installs-C1Cebk97.js} +10 -10
  95. package/dist/{ir-Dt4hOzxG.js → ir-DZam9q5M.js} +6 -6
  96. package/dist/{lifecycle-core-DJ99Nuea.js → lifecycle-core-D7yri0lq.js} +5 -5
  97. package/dist/llm-slug-generator.js +6 -6
  98. package/dist/{local-roots-BBeKX7PX.js → local-roots-aAFLQGkY.js} +2 -2
  99. package/dist/{login-BbKZ2DjB.js → login-DPZJ0dn5.js} +3 -3
  100. package/dist/{login-qr-DUMFnnHO.js → login-qr-1SS_KLmy.js} +5 -5
  101. package/dist/{logs-cli-Q9BjHa6r.js → logs-cli-DTv4zx9B.js} +7 -7
  102. package/dist/{manager-CMwIsp1s.js → manager-azRNiI63.js} +13 -13
  103. package/dist/{markdown-tables-ZwP14ydw.js → markdown-tables-CEbN0fEm.js} +1 -1
  104. package/dist/{memory-cli-BmVxmjsP.js → memory-cli-BbOD_MAm.js} +12 -12
  105. package/dist/{model-yOMXet9g.js → model-BqEwE-J2.js} +1 -1
  106. package/dist/{model-catalog-B2O_f8W3.js → model-catalog-DchCrtU_.js} +4 -4
  107. package/dist/{model-picker-Cza4RjM6.js → model-picker-kP9-zhYa.js} +3 -3
  108. package/dist/{model-selection-B7KLlkW9.js → model-selection-Bna6Ea2G.js} +9 -9
  109. package/dist/{models-DiSEm28S.js → models-BTRkvFtl.js} +2 -2
  110. package/dist/{models-cli-BNzrvtSd.js → models-cli-D2fJlrQk.js} +3 -3
  111. package/dist/{models-cli-mXtcSXES.js → models-cli-Dj8cNWRT.js} +72 -72
  112. package/dist/{models-config-BBYpnDiI.js → models-config-ClFXUp6F.js} +7 -7
  113. package/dist/{node-cli-0V_HpLpl.js → node-cli-NQpg02gK.js} +28 -28
  114. package/dist/{node-service-CJygtY5M.js → node-service-Cxz4e-Qd.js} +1 -1
  115. package/dist/{nodes-cli-CCcfRy8f.js → nodes-cli-Bb4xaKGj.js} +10 -10
  116. package/dist/{nodes-screen-C99kfE1u.js → nodes-screen-VBGXKdLk.js} +4 -4
  117. package/dist/{npm-registry-spec-DR_at_Hp.js → npm-registry-spec-C2JDdSZS.js} +9 -9
  118. package/dist/{onboard-L0M0Ovnd.js → onboard-CHEs4ExE.js} +2 -2
  119. package/dist/{onboard-t2R-9vg-.js → onboard-CK01iMWd.js} +13 -13
  120. package/dist/{onboard-channels-DUaPDyrm.js → onboard-channels-DRFYxuUu.js} +1 -1
  121. package/dist/{onboard-channels-C7WU9Iin.js → onboard-channels-wh9lIrOV.js} +5 -5
  122. package/dist/{onboard-custom-DPVbOEea.js → onboard-custom-CRCl78Cb.js} +3 -3
  123. package/dist/{onboard-helpers-KDMJj8FR.js → onboard-helpers-y4rvYrnW.js} +8 -8
  124. package/dist/{onboard-hooks-lsws7g2s.js → onboard-hooks-BAA8CoVv.js} +1 -1
  125. package/dist/{onboard-remote-BlAZ1eIO.js → onboard-remote-Jm1aS7bY.js} +1 -1
  126. package/dist/{onboard-skills-B_rjyFsX.js → onboard-skills-Cs350j4k.js} +4 -4
  127. package/dist/{onboarding-DXwjpA2U.js → onboarding-Bp1mnjrX.js} +13 -13
  128. package/dist/{onboarding-B70JwisU.js → onboarding-lUewk1wX.js} +3 -3
  129. package/dist/{onboarding.finalize-7Hj0Ns8P.js → onboarding.finalize-CMRmP9Gh.js} +6 -6
  130. package/dist/{onboarding.finalize-CfqZ4VMN.js → onboarding.finalize-CZdoYQ4E.js} +74 -74
  131. package/dist/{onboarding.gateway-config-DTociuRL.js → onboarding.gateway-config-BKBdInKw.js} +14 -14
  132. package/dist/{openai-model-default-qa2VGxV5.js → openai-model-default-VfhQkucT.js} +2 -2
  133. package/dist/{outbound-4_NH93LY.js → outbound-Bgf3-Xjf.js} +4 -4
  134. package/dist/{outbound-attachment-D62E0xDI.js → outbound-attachment-D_QuKi8U.js} +2 -2
  135. package/dist/{pairing-cli-BjylEroj.js → pairing-cli-DGZ81nF1.js} +8 -8
  136. package/dist/{pairing-labels-BTnwVbGk.js → pairing-labels-DqKysvKw.js} +1 -1
  137. package/dist/{pairing-store-GiI_Y6RI.js → pairing-store-BCNzdZKM.js} +2 -2
  138. package/dist/{pairing-token-AV-MMfVE.js → pairing-token-CX3NN_qj.js} +7 -7
  139. package/dist/{paths-CT6jsi4E.js → paths-BBm9fwuG.js} +1 -1
  140. package/dist/{pi-auth-json-B1BvsF_W.js → pi-auth-json-CZfGGhvs.js} +3 -3
  141. package/dist/{pi-embedded-DocZDkTo.js → pi-embedded-CS0wnHwK.js} +2 -11
  142. package/dist/{pi-embedded-D7ha4Og0.js → pi-embedded-_CVXk_1W.js} +16 -25
  143. package/dist/{pi-embedded-helpers-CMPwkzmk.js → pi-embedded-helpers-Ccv1YvCu.js} +4 -4
  144. package/dist/{pi-embedded-helpers-CwBUNbtz.js → pi-embedded-helpers-DTf21kBI.js} +6 -6
  145. package/dist/{pi-tools.policy-UOvl9TC5.js → pi-tools.policy-DzNBR_23.js} +4 -4
  146. package/dist/{plugin-auto-enable-DDZK_Dlb.js → plugin-auto-enable-DLa2EY7E.js} +2 -2
  147. package/dist/{plugin-registry-CdtWBNpp.js → plugin-registry-BbbgHAaN.js} +1 -1
  148. package/dist/{plugin-registry-CORXKvoW.js → plugin-registry-UAY71aAp.js} +3 -3
  149. package/dist/plugin-sdk/{accounts-BToL3HlP.js → accounts-BtaOa4z_.js} +1 -1
  150. package/dist/plugin-sdk/{accounts-D9zGZU5t.js → accounts-Ddm33hQm.js} +3 -3
  151. package/dist/plugin-sdk/{accounts-Dtszw3Zn.js → accounts-s-AdhXVR.js} +1 -1
  152. package/dist/plugin-sdk/{active-listener-bEk__wbB.js → active-listener-BXYeALs0.js} +1 -1
  153. package/dist/plugin-sdk/{agent-scope-C3gMMKCU.js → agent-scope-CYYpcO9W.js} +2 -2
  154. package/dist/plugin-sdk/{api-key-rotation-BYeOYbFa.js → api-key-rotation-Q2dih0d4.js} +1 -1
  155. package/dist/plugin-sdk/{audio-preflight-ZgYHV7zZ.js → audio-preflight-B3jftH89.js} +24 -24
  156. package/dist/plugin-sdk/{bindings-BbwoUGPx.js → bindings-C7hRtgYW.js} +2 -2
  157. package/dist/plugin-sdk/{channel-activity-Ji7f0gqq.js → channel-activity-DoC1xtDu.js} +1 -1
  158. package/dist/plugin-sdk/{channel-web-DMrXbXuB.js → channel-web-cl9GZI67.js} +22 -22
  159. package/dist/plugin-sdk/{chrome-aebG-57z.js → chrome-Dm5lVW6S.js} +3 -3
  160. package/dist/plugin-sdk/{chunk-jvk9axTQ.js → chunk-Dw2XBYXv.js} +1 -1
  161. package/dist/plugin-sdk/{command-format-DSdvQ_M5.js → command-format-GKSevep4.js} +1 -1
  162. package/dist/plugin-sdk/{commands-registry-C-40_AnX.js → commands-registry-CPpEN9Mp.js} +4 -4
  163. package/dist/plugin-sdk/{config-_mfvrqyn.js → config-BVu4isPG.js} +9 -9
  164. package/dist/plugin-sdk/{deliver-CjfwhaL4.js → deliver-DSY1Ey3q.js} +10 -10
  165. package/dist/plugin-sdk/{diagnostic-mFf4i4G9.js → diagnostic-05pm5Rxi.js} +1 -1
  166. package/dist/plugin-sdk/{image-BPKGNrho.js → image-GJ7myokS.js} +4 -4
  167. package/dist/plugin-sdk/{image-ops-Bnp6LXEx.js → image-ops-BlQR__MN.js} +1 -1
  168. package/dist/plugin-sdk/index.js +53 -53
  169. package/dist/plugin-sdk/{ir-Fb3qpcis.js → ir-BJ6BHE5b.js} +4 -4
  170. package/dist/plugin-sdk/{local-roots-Ckk1QfzI.js → local-roots-BHLNSI8U.js} +3 -3
  171. package/dist/plugin-sdk/{login-D7FDUOk4.js → login-O6IizOR2.js} +7 -7
  172. package/dist/plugin-sdk/{login-qr-T2-V0Xzo.js → login-qr-_OTg1XmP.js} +9 -9
  173. package/dist/plugin-sdk/{manager-BQMAFDKV.js → manager-DBUFLDPF.js} +8 -8
  174. package/dist/plugin-sdk/{manifest-registry-B3ugY9-f.js → manifest-registry-CPnHl_K3.js} +1 -1
  175. package/dist/plugin-sdk/{markdown-tables-Dfaqilz6.js → markdown-tables-BoYFajMu.js} +1 -1
  176. package/dist/plugin-sdk/{message-channel-BdI5Ra9S.js → message-channel-COTAJzHd.js} +1 -1
  177. package/dist/plugin-sdk/{model-selection-SoQVut2b.js → model-selection-DltSbjiW.js} +4 -4
  178. package/dist/plugin-sdk/{outbound-D6-dgoHk.js → outbound-CR8e3Z2m.js} +7 -7
  179. package/dist/plugin-sdk/{outbound-attachment-DnVQfTG2.js → outbound-attachment-CnslKL38.js} +2 -2
  180. package/dist/plugin-sdk/{pi-auth-json-BcG0RJ5m.js → pi-auth-json-BZWLIjB8.js} +5 -5
  181. package/dist/plugin-sdk/{pi-embedded-helpers-CoCKvCMg.js → pi-embedded-helpers-DP6QavXU.js} +17 -17
  182. package/dist/plugin-sdk/{plugins-BbAvhC25.js → plugins-BNByVCIH.js} +4 -4
  183. package/dist/plugin-sdk/{pw-ai-BtL_6nSQ.js → pw-ai--FUGpHYZ.js} +8 -8
  184. package/dist/plugin-sdk/{qmd-manager-mjKcdwVr.js → qmd-manager-CH0XbIHf.js} +4 -4
  185. package/dist/plugin-sdk/{registry--_pGht6S.js → registry-D0xTnUWt.js} +2 -2
  186. package/dist/plugin-sdk/{replies-DBhVchqS.js → replies-CbaarhX4.js} +3 -3
  187. package/dist/plugin-sdk/{reply-prefix-BHuV5t70.js → reply-prefix-uxfMZW4p.js} +1 -1
  188. package/dist/plugin-sdk/{reply-BAGhI0bM.js → reply-z8of-Etj.js} +78 -87
  189. package/dist/plugin-sdk/{resolve-outbound-target-BkCUbYGV.js → resolve-outbound-target-BiyAyTWz.js} +2 -2
  190. package/dist/plugin-sdk/{resolve-route-D3JH_D2N.js → resolve-route-B3CCBumQ.js} +3 -3
  191. package/dist/plugin-sdk/{retry-ilSJqnz9.js → retry-CwQ_iIj8.js} +1 -1
  192. package/dist/plugin-sdk/{runner-DI-v2QPz.js → runner-AJx8kwC8.js} +9 -9
  193. package/dist/plugin-sdk/{send-BXEvd9GG.js → send-B0ms2T8N.js} +6 -6
  194. package/dist/plugin-sdk/{send-BqfAkEXB.js → send-BqkPr3tk.js} +10 -10
  195. package/dist/plugin-sdk/{send-_NtbikAq.js → send-CQTQU2QA.js} +10 -10
  196. package/dist/plugin-sdk/{send-OeTV33Hw.js → send-CVgqxLOA.js} +6 -6
  197. package/dist/plugin-sdk/{send-BMFLy4AN.js → send-Czife03a.js} +7 -7
  198. package/dist/plugin-sdk/{session-fs4fyz3Q.js → session-Cj83K_4Y.js} +4 -4
  199. package/dist/plugin-sdk/{skill-commands-BHGE8qj7.js → skill-commands-BLr3yT6A.js} +5 -5
  200. package/dist/plugin-sdk/{skills-B1GeRYlu.js → skills-_yTP47Cd.js} +7 -7
  201. package/dist/plugin-sdk/{sqlite-Cq_7Cg4E.js → sqlite-CxAR5ttJ.js} +1 -1
  202. package/dist/plugin-sdk/{store-Do3t33-c.js → store-BdrNabcU.js} +2 -2
  203. package/dist/plugin-sdk/{subsystem-Coz2AgU8.js → subsystem-B2uDN3TV.js} +1 -1
  204. package/dist/plugin-sdk/{tables-DR0NmBeH.js → tables-DNwXwNFa.js} +1 -1
  205. package/dist/plugin-sdk/{target-errors-B7YyMnIi.js → target-errors-Paro1BjP.js} +2 -2
  206. package/dist/plugin-sdk/{thinking-DCNUIAHY.js → thinking-CXqf7WTe.js} +5 -5
  207. package/dist/plugin-sdk/{tokens-CWMflosr.js → tokens-bC3UVmVH.js} +1 -1
  208. package/dist/plugin-sdk/{tool-images-D7Lno-TE.js → tool-images-HJ2sfZDV.js} +2 -2
  209. package/dist/plugin-sdk/{tool-loop-detection-edmW8ZiF.js → tool-loop-detection-BVA6fax-.js} +2 -2
  210. package/dist/plugin-sdk/web-C3pizhFX.js +65 -0
  211. package/dist/plugin-sdk/{whatsapp-actions-BYyVUqQU.js → whatsapp-actions-nsnM4jgj.js} +21 -21
  212. package/dist/{plugins-BAyxWQSz.js → plugins-DKDeQZF0.js} +2 -2
  213. package/dist/{plugins-cli-CbYY2c02.js → plugins-cli-EwQ7OW8w.js} +2 -2
  214. package/dist/{plugins-cli-DZ6_6_9N.js → plugins-cli-XdoAm0EH.js} +71 -71
  215. package/dist/{ports-OZQlocB7.js → ports-BOmtxoTv.js} +2 -2
  216. package/dist/{ports-b36gHZbA.js → ports-BX0kKI0g.js} +1 -1
  217. package/dist/{program-C4255SbF.js → program-BU_8y1Dg.js} +7 -7
  218. package/dist/{program-context-CTjApG6i.js → program-context-wuhwrRCO.js} +39 -39
  219. package/dist/{prompt-select-styled-BwJ6oDuF.js → prompt-select-styled-C1ztGQs1.js} +4 -4
  220. package/dist/{prompt-select-styled-C9kVFhhN.js → prompt-select-styled-D1BkIe_s.js} +38 -38
  221. package/dist/{provider-auth-helpers-BhWko9CW.js → provider-auth-helpers-_5rSLUts.js} +1 -1
  222. package/dist/{provider-auth-helpers-Dh0Y9gRH.js → provider-auth-helpers-tpyE_YMw.js} +5 -5
  223. package/dist/{push-apns-Bc01EVHz.js → push-apns-CIcS3If1.js} +1 -1
  224. package/dist/{push-apns-CKA1Hybl.js → push-apns-zJAWgDEO.js} +4 -4
  225. package/dist/{pw-ai-DQ6HUvz0.js → pw-ai-COyYEUif.js} +1 -1
  226. package/dist/{pw-ai-jDxCE_me.js → pw-ai-hxKJoLPO.js} +7 -7
  227. package/dist/{qmd-manager-BP2r8b1D.js → qmd-manager-D85GJrir.js} +18 -18
  228. package/dist/{qr-cli-CqfILKdq.js → qr-cli-BevlQ0yQ.js} +3 -3
  229. package/dist/{register.agent-CjihKrgr.js → register.agent-DNcdFB4H.js} +81 -81
  230. package/dist/{register.agent-vJQWUB2a.js → register.agent-brAf6Dmv.js} +6 -6
  231. package/dist/register.configure-C76yU3JC.js +147 -0
  232. package/dist/{register.configure-CWkzQGtI.js → register.configure-DoJEj5YT.js} +6 -6
  233. package/dist/{register.maintenance-BIw99tAg.js → register.maintenance-CW2OCHRX.js} +8 -8
  234. package/dist/{register.maintenance-DSJfxKOM.js → register.maintenance-DYfYvEU8.js} +84 -84
  235. package/dist/{register.message-DYzHnVIl.js → register.message-CJZ0ZuHF.js} +2 -2
  236. package/dist/{register.message-Clc--Yw5.js → register.message-syMzQfo-.js} +63 -63
  237. package/dist/{register.onboard-BfUOVNll.js → register.onboard-DzZn1ZmN.js} +74 -74
  238. package/dist/{register.onboard-BHtw8kJf.js → register.onboard-dZyRfR6-.js} +4 -4
  239. package/dist/{register.setup-GFxvFYnK.js → register.setup-BbkD_3y3.js} +77 -77
  240. package/dist/{register.setup-DgSaVc_m.js → register.setup-XCPDMOgg.js} +4 -4
  241. package/dist/{register.status-health-sessions-BI-s8t9j.js → register.status-health-sessions-87LTzh7r.js} +3 -3
  242. package/dist/{register.status-health-sessions-D9SHcVWG.js → register.status-health-sessions-CPg2ES9O.js} +75 -75
  243. package/dist/{register.subclis-CY89gBXc.js → register.subclis-Bvb5TNzX.js} +9 -9
  244. package/dist/{replies-F62kkRDY.js → replies-Bqmvo_Kt.js} +1 -1
  245. package/dist/{reply-3UdAtBno.js → reply-D-tI2-6J.js} +131 -140
  246. package/dist/{reply-prefix-BLOOs1aW.js → reply-prefix-CE2YmmsD.js} +1 -1
  247. package/dist/{resolve-route-BcnaXYvh.js → resolve-route-BMoTaVAH.js} +2 -2
  248. package/dist/{routes-Byuu6IFb.js → routes-BTqP9I0j.js} +8 -8
  249. package/dist/{rpc-W2LE3Gsn.js → rpc-BWLVOOnl.js} +1 -1
  250. package/dist/{run-main-D1u34xwJ.js → run-main-Bt2x9hbu.js} +14 -14
  251. package/dist/{runner-BjY_9Mjp.js → runner-5jm68DaT.js} +20 -20
  252. package/dist/{runner-Duym_W6W.js → runner-D8jpl5qu.js} +1 -1
  253. package/dist/{sandbox-CZNPhRvt.js → sandbox-CI3HOlhZ.js} +18 -18
  254. package/dist/{sandbox-cli-DGr5ZbkP.js → sandbox-cli-XsQ7ytlP.js} +20 -20
  255. package/dist/{security-cli-sPaHQYwq.js → security-cli-CjP-MfW-.js} +36 -36
  256. package/dist/{send-Bq3a_Wnm.js → send-B6F9anOj.js} +6 -6
  257. package/dist/{send-D-WljKDl.js → send-Bdb6djZT.js} +6 -6
  258. package/dist/{send-BOpWKMA3.js → send-C-yyCp3G.js} +4 -4
  259. package/dist/{send-hUOxOHuS.js → send-CRQMds8q.js} +13 -13
  260. package/dist/{send-C-hO5d22.js → send-DCDHTHlP.js} +6 -6
  261. package/dist/{server-context-BvLdcVwk.js → server-context-XZaMhvsO.js} +5 -5
  262. package/dist/{server-methods-BJCrhJnd.js → server-methods-9BRiIiUB.js} +54 -54
  263. package/dist/{server-methods-D6_yT-Bb.js → server-methods-BaOFruL6.js} +7 -7
  264. package/dist/{server-node-events-CykWrHaN.js → server-node-events-CCOXKW9s.js} +63 -63
  265. package/dist/{server-node-events-tdraRFjy.js → server-node-events-DDEX2ugG.js} +2 -2
  266. package/dist/{service--qMN5DPm.js → service-Cl74hx8J.js} +15 -15
  267. package/dist/{session-CkpNcCi1.js → session-pB1anvds.js} +2 -2
  268. package/dist/{sessions-F_WFgwcy.js → sessions-Dg88xE66.js} +13 -13
  269. package/dist/{shared-Dj1vNdZR.js → shared-B811_S8D.js} +3 -3
  270. package/dist/{shared-Jm_QdQJQ.js → shared-BJvwnR5z.js} +1 -1
  271. package/dist/{skill-commands-CWFq0coF.js → skill-commands-D23OFeRU.js} +5 -5
  272. package/dist/{skill-scanner-CXg9eeyc.js → skill-scanner-CLs8u6vQ.js} +5 -5
  273. package/dist/{skills-DqQUtOph.js → skills-6jdJQ5ZL.js} +4 -4
  274. package/dist/{skills-cli-ZvR57mAe.js → skills-cli-Cr0T5ExG.js} +7 -7
  275. package/dist/{skills-install-DjcTy3CT.js → skills-install-D67isO1L.js} +3 -3
  276. package/dist/{skills-status-DS-NZQiq.js → skills-status-CURJKnyY.js} +1 -1
  277. package/dist/{sqlite-BV5ILFtC.js → sqlite-Dx3J_aSE.js} +12 -12
  278. package/dist/{status-P2xe2kB8.js → status-B_fSdR2z.js} +3 -3
  279. package/dist/{status-DpNpFHi8.js → status-Bhj6pODg.js} +2 -2
  280. package/dist/{status-bDX6eJeC.js → status-CHtXaQCL.js} +25 -25
  281. package/dist/{status-UTAzB6AW.js → status-DWYUBGDM.js} +1 -1
  282. package/dist/{status.update-FbG5gTPn.js → status.update-6yjKgcLs.js} +3 -3
  283. package/dist/{store-DvtcmOKj.js → store-r1DJSDq-.js} +5 -5
  284. package/dist/{subagent-registry-DW6V21LB.js → subagent-registry-C-rk8Ynb.js} +2 -11
  285. package/dist/{symi-root-MF6_6SCS.js → symi-root-CrGJbkzf.js} +2 -2
  286. package/dist/{system-cli-B13bcVd7.js → system-cli-D2Gy1uM8.js} +11 -11
  287. package/dist/{systemd-hints-CLsHKdY5.js → systemd-hints-TBjNlcr6.js} +6 -6
  288. package/dist/{systemd-linger-BXwqn1jL.js → systemd-linger-aQ75ZlXY.js} +1 -1
  289. package/dist/{systemd-AhJEsmIk.js → systemd-riq8uNJQ.js} +5 -5
  290. package/dist/{tables-C38rzF6E.js → tables-BEzT0Da4.js} +1 -1
  291. package/dist/{target-errors-CCz79CmV.js → target-errors-7AvoVa10.js} +4 -4
  292. package/dist/{tool-images-B-pqX3nX.js → tool-images-DvUBlqjX.js} +1 -1
  293. package/dist/{tui-9seSCxc3.js → tui-DdPONk1f.js} +7 -7
  294. package/dist/{tui-cli-DN4upjYg.js → tui-cli-BIUejAgV.js} +28 -28
  295. package/dist/{update-check-C0oYCI89.js → update-check-CtckACbb.js} +5 -5
  296. package/dist/{update-cli-BV-ydVs4.js → update-cli-BLezElt_.js} +8 -8
  297. package/dist/{update-cli-KxZVK_fV.js → update-cli-CCaYK9Sf.js} +94 -94
  298. package/dist/{update-runner-Bk1Dw23-.js → update-runner-Bq1u14RR.js} +1 -1
  299. package/dist/{update-runner-BU1pNjNR.js → update-runner-f9lbrrpe.js} +15 -15
  300. package/dist/{update-Df4sEKtI.js → update-rw7wJwHd.js} +3 -3
  301. package/dist/web-BJBlI9ZQ.js +109 -0
  302. package/dist/{web-CqNKJLiq.js → web-BzQURzi7.js} +1 -1
  303. package/dist/{web-CH5VMs5G.js → web-CP0DJI7i.js} +1 -1
  304. package/dist/{web-C9daLT-M.js → web-S8BbWMEn.js} +6 -6
  305. package/dist/{webhooks-cli-WXHppPGP.js → webhooks-cli-EjU4sMB6.js} +4 -4
  306. package/dist/{whatsapp-actions-CZxAV_jP.js → whatsapp-actions-CXbFvHGB.js} +15 -15
  307. package/dist/{with-timeout-B4dUX-ZK.js → with-timeout-CB59LniF.js} +1 -1
  308. package/dist/{workspace-dirs-DKu48umx.js → workspace-dirs-GpkFi6Kw.js} +1 -1
  309. package/dist/{wsl-BbXxnokd.js → wsl-C4424szg.js} +2 -2
  310. package/extensions/bluebubbles/node_modules/.bin/symi +4 -4
  311. package/extensions/bluebubbles/package.json +1 -1
  312. package/extensions/copilot-proxy/node_modules/.bin/symi +4 -4
  313. package/extensions/copilot-proxy/package.json +1 -1
  314. package/extensions/diagnostics-otel/node_modules/.bin/acorn +2 -2
  315. package/extensions/diagnostics-otel/node_modules/.bin/symi +4 -4
  316. package/extensions/diagnostics-otel/package.json +1 -1
  317. package/extensions/discord/node_modules/.bin/symi +4 -4
  318. package/extensions/discord/package.json +1 -1
  319. package/extensions/feishu/node_modules/.bin/symi +4 -4
  320. package/extensions/feishu/package.json +1 -1
  321. package/extensions/google-antigravity-auth/node_modules/.bin/symi +4 -4
  322. package/extensions/google-antigravity-auth/package.json +1 -1
  323. package/extensions/google-gemini-cli-auth/node_modules/.bin/symi +4 -4
  324. package/extensions/google-gemini-cli-auth/package.json +1 -1
  325. package/extensions/googlechat/node_modules/.bin/symi +4 -4
  326. package/extensions/googlechat/package.json +2 -2
  327. package/extensions/imessage/node_modules/.bin/symi +4 -4
  328. package/extensions/imessage/package.json +1 -1
  329. package/extensions/irc/node_modules/.bin/symi +4 -4
  330. package/extensions/irc/package.json +1 -1
  331. package/extensions/learning-loop/node_modules/.bin/symi +21 -0
  332. package/extensions/learning-loop/package.json +2 -2
  333. package/extensions/line/node_modules/.bin/symi +4 -4
  334. package/extensions/line/package.json +1 -1
  335. package/extensions/matrix/node_modules/.bin/markdown-it +2 -2
  336. package/extensions/matrix/node_modules/.bin/symi +4 -4
  337. package/extensions/matrix/package.json +1 -1
  338. package/extensions/mattermost/node_modules/.bin/symi +4 -4
  339. package/extensions/mattermost/package.json +1 -1
  340. package/extensions/memory-core/node_modules/.bin/symi +4 -4
  341. package/extensions/memory-core/package.json +2 -2
  342. package/extensions/memory-lancedb/node_modules/.bin/arrow2csv +2 -2
  343. package/extensions/memory-lancedb/node_modules/.bin/openai +2 -2
  344. package/extensions/memory-lancedb/node_modules/.bin/symi +4 -4
  345. package/extensions/memory-lancedb/package.json +1 -1
  346. package/extensions/minimax-portal-auth/node_modules/.bin/symi +4 -4
  347. package/extensions/minimax-portal-auth/package.json +1 -1
  348. package/extensions/msteams/node_modules/.bin/symi +4 -4
  349. package/extensions/msteams/package.json +1 -1
  350. package/extensions/nextcloud-talk/node_modules/.bin/symi +4 -4
  351. package/extensions/nextcloud-talk/package.json +1 -1
  352. package/extensions/nostr/node_modules/.bin/symi +4 -4
  353. package/extensions/nostr/node_modules/.bin/tsc +2 -2
  354. package/extensions/nostr/node_modules/.bin/tsserver +2 -2
  355. package/extensions/nostr/package.json +1 -1
  356. package/extensions/signal/node_modules/.bin/symi +4 -4
  357. package/extensions/signal/package.json +1 -1
  358. package/extensions/slack/node_modules/.bin/symi +4 -4
  359. package/extensions/slack/package.json +1 -1
  360. package/extensions/telegram/node_modules/.bin/symi +4 -4
  361. package/extensions/telegram/package.json +1 -1
  362. package/extensions/tlon/node_modules/.bin/symi +4 -4
  363. package/extensions/tlon/package.json +1 -1
  364. package/extensions/twitch/node_modules/.bin/symi +4 -4
  365. package/extensions/twitch/package.json +1 -1
  366. package/extensions/voice-call/node_modules/.bin/symi +4 -4
  367. package/extensions/voice-call/package.json +1 -1
  368. package/extensions/whatsapp/node_modules/.bin/symi +4 -4
  369. package/extensions/whatsapp/package.json +1 -1
  370. package/extensions/zalo/node_modules/.bin/symi +4 -4
  371. package/extensions/zalo/package.json +1 -1
  372. package/extensions/zalouser/node_modules/.bin/symi +4 -4
  373. package/extensions/zalouser/package.json +1 -1
  374. package/package.json +1 -2
  375. package/CHANGELOG.md +0 -2520
  376. package/LICENSE +0 -21
  377. package/dist/control-ui/vendor/highlight.css +0 -96
  378. package/dist/control-ui/vendor/highlight.min.js +0 -1244
  379. package/dist/control-ui/vendor/marked.min.js +0 -69
  380. package/dist/plugin-sdk/web-CxcoX0Wr.js +0 -65
  381. package/dist/register.configure-Bb7LY0Z4.js +0 -147
  382. package/dist/session-dirs-D3qlvucD.js +0 -18
  383. package/dist/web-BCk_WT8d.js +0 -109
@@ -1,11 +1,11 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { M as logVerbose } from "./utils-B-0b9bGM.js";
3
- import { i as loadConfig } from "./config-AVc1QpRD.js";
4
- import { f as resolveSlackAccount, h as resolveSlackBotToken } from "./plugins-BAyxWQSz.js";
3
+ import { i as loadConfig } from "./config-HatzmzSF.js";
4
+ import { f as resolveSlackAccount, h as resolveSlackBotToken } from "./plugins-DKDeQZF0.js";
5
5
  import { a as requireTargetKind, i as parseTargetPrefixes, n as ensureTargetId, r as parseTargetMention, t as buildMessagingTarget } from "./targets-bG1Q8FzV.js";
6
6
  import { c as resolveChunkMode, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit } from "./chunk-1dhPX1NK.js";
7
- import { n as resolveMarkdownTableMode } from "./markdown-tables-ZwP14ydw.js";
8
- import { a as loadWebMedia, n as markdownToIR, t as chunkMarkdownIR } from "./ir-Dt4hOzxG.js";
7
+ import { n as resolveMarkdownTableMode } from "./markdown-tables-CEbN0fEm.js";
8
+ import { a as loadWebMedia, n as markdownToIR, t as chunkMarkdownIR } from "./ir-DZam9q5M.js";
9
9
  import { t as renderMarkdownWithMarkers } from "./render-CXDO_kgw.js";
10
10
  import { WebClient } from "@slack/web-api";
11
11
 
@@ -1,19 +1,19 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { X as resolvePreferredSymiTmpDir } from "./utils-B-0b9bGM.js";
3
- import { i as loadConfig } from "./config-AVc1QpRD.js";
4
- import { _ as maxBytesForKind, l as extensionForMime } from "./image-ops-DYbDWaIA.js";
5
- import { v as resolveDiscordAccount, y as normalizeDiscordToken } from "./plugins-BAyxWQSz.js";
3
+ import { i as loadConfig } from "./config-HatzmzSF.js";
4
+ import { _ as maxBytesForKind, l as extensionForMime } from "./image-ops-1OJMSAUX.js";
5
+ import { v as resolveDiscordAccount, y as normalizeDiscordToken } from "./plugins-DKDeQZF0.js";
6
6
  import { a as requireTargetKind, i as parseTargetPrefixes, n as ensureTargetId, r as parseTargetMention, t as buildMessagingTarget } from "./targets-bG1Q8FzV.js";
7
7
  import { n as retryAsync, t as resolveRetryConfig } from "./retry-BoS4e4X_.js";
8
8
  import { c as resolveChunkMode, i as chunkMarkdownTextWithMode } from "./chunk-1dhPX1NK.js";
9
- import { n as resolveMarkdownTableMode } from "./markdown-tables-ZwP14ydw.js";
10
- import { a as loadWebMedia, o as loadWebMediaRaw } from "./ir-Dt4hOzxG.js";
9
+ import { n as resolveMarkdownTableMode } from "./markdown-tables-CEbN0fEm.js";
10
+ import { a as loadWebMedia, o as loadWebMediaRaw } from "./ir-DZam9q5M.js";
11
11
  import { n as normalizePollInput, t as normalizePollDurationHours } from "./polls-DhH5YkzN.js";
12
12
  import { n as recordChannelActivity, r as createDiscordRetryRunner } from "./channel-activity-BOiuJS3t.js";
13
13
  import { t as resolveFetch } from "./fetch-DTNGXEzX.js";
14
- import { t as convertMarkdownTables } from "./tables-C38rzF6E.js";
14
+ import { t as convertMarkdownTables } from "./tables-BEzT0Da4.js";
15
15
  import path from "node:path";
16
- import fsPromises from "node:fs/promises";
16
+ import fs from "node:fs/promises";
17
17
  import { execFile } from "node:child_process";
18
18
  import { promisify } from "node:util";
19
19
  import crypto from "node:crypto";
@@ -1524,7 +1524,7 @@ async function generateWaveformFromPcm(filePath) {
1524
1524
  "8000",
1525
1525
  tempPcm
1526
1526
  ]);
1527
- const pcmData = await fsPromises.readFile(tempPcm);
1527
+ const pcmData = await fs.readFile(tempPcm);
1528
1528
  const samples = new Int16Array(pcmData.buffer, pcmData.byteOffset, pcmData.byteLength / 2);
1529
1529
  const step = Math.max(1, Math.floor(samples.length / WAVEFORM_SAMPLES));
1530
1530
  const waveform = [];
@@ -1543,7 +1543,7 @@ async function generateWaveformFromPcm(filePath) {
1543
1543
  return Buffer.from(waveform).toString("base64");
1544
1544
  } finally {
1545
1545
  try {
1546
- await fsPromises.unlink(tempPcm);
1546
+ await fs.unlink(tempPcm);
1547
1547
  } catch {}
1548
1548
  }
1549
1549
  }
@@ -1855,7 +1855,7 @@ async function materializeVoiceMessageInput(mediaUrl) {
1855
1855
  const ext = extFromName || extFromMime || ".bin";
1856
1856
  const tempDir = resolvePreferredSymiTmpDir();
1857
1857
  const filePath = path.join(tempDir, `voice-src-${crypto.randomUUID()}${ext}`);
1858
- await fsPromises.writeFile(filePath, media.buffer, { mode: 384 });
1858
+ await fs.writeFile(filePath, media.buffer, { mode: 384 });
1859
1859
  return { filePath };
1860
1860
  }
1861
1861
  /**
@@ -1891,7 +1891,7 @@ async function sendVoiceMessageDiscord(to, audioPath, opts = {}) {
1891
1891
  oggPath = ogg.path;
1892
1892
  oggCleanup = ogg.cleanup;
1893
1893
  const metadata = await getVoiceMessageMetadata(oggPath);
1894
- const audioBuffer = await fsPromises.readFile(oggPath);
1894
+ const audioBuffer = await fs.readFile(oggPath);
1895
1895
  const result = await sendDiscordVoiceMessage(rest, channelId, audioBuffer, metadata, opts.replyTo, request, opts.silent);
1896
1896
  recordChannelActivity({
1897
1897
  channel: "discord",
@@ -1909,10 +1909,10 @@ async function sendVoiceMessageDiscord(to, audioPath, opts = {}) {
1909
1909
  throw err;
1910
1910
  } finally {
1911
1911
  if (oggCleanup && oggPath) try {
1912
- await fsPromises.unlink(oggPath);
1912
+ await fs.unlink(oggPath);
1913
1913
  } catch {}
1914
1914
  try {
1915
- await fsPromises.unlink(localInputPath);
1915
+ await fs.unlink(localInputPath);
1916
1916
  } catch {}
1917
1917
  }
1918
1918
  }
@@ -1,11 +1,11 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { m as normalizeE164, y as resolveUserPath } from "./utils-B-0b9bGM.js";
3
- import { i as loadConfig } from "./config-AVc1QpRD.js";
4
- import { v as mediaKindFromMime } from "./image-ops-DYbDWaIA.js";
5
- import { t as resolveIMessageAccount } from "./accounts-CokRskCl.js";
6
- import { n as resolveMarkdownTableMode } from "./markdown-tables-ZwP14ydw.js";
7
- import { t as convertMarkdownTables } from "./tables-C38rzF6E.js";
8
- import { t as resolveOutboundAttachmentFromUrl } from "./outbound-attachment-D62E0xDI.js";
3
+ import { i as loadConfig } from "./config-HatzmzSF.js";
4
+ import { v as mediaKindFromMime } from "./image-ops-1OJMSAUX.js";
5
+ import { t as resolveIMessageAccount } from "./accounts-bK-Yqdwx.js";
6
+ import { n as resolveMarkdownTableMode } from "./markdown-tables-CEbN0fEm.js";
7
+ import { t as convertMarkdownTables } from "./tables-BEzT0Da4.js";
8
+ import { t as resolveOutboundAttachmentFromUrl } from "./outbound-attachment-D_QuKi8U.js";
9
9
  import { spawn } from "node:child_process";
10
10
  import { createInterface } from "node:readline";
11
11
 
@@ -1,6 +1,6 @@
1
1
  import { u as resolveGatewayPort } from "./paths-Cqn-zk3M.js";
2
- import { i as loadConfig, l as writeConfigFile, r as createConfigIO } from "./config-AVc1QpRD.js";
3
- import { A as DEFAULT_SYMI_BROWSER_PROFILE_NAME, D as DEFAULT_BROWSER_EVALUATE_ENABLED, E as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, O as DEFAULT_SYMI_BROWSER_COLOR, S as stopChromeExtensionRelayServer, _ as fetchJson, a as resolveSymiUserDataDir, d as normalizeCdpWsUrl, g as appendCdpPath, h as withBrowserNavigationPolicy, i as launchSymiChrome, k as DEFAULT_SYMI_BROWSER_ENABLED, l as createTargetViaCdp, m as assertBrowserNavigationAllowed, n as isChromeCdpReady, o as stopSymiChrome, p as InvalidBrowserNavigationUrlError, r as isChromeReachable, v as fetchOk, x as ensureChromeExtensionRelayServer } from "./chrome-CR4GU_ji.js";
2
+ import { i as loadConfig, l as writeConfigFile, r as createConfigIO } from "./config-HatzmzSF.js";
3
+ import { A as DEFAULT_SYMI_BROWSER_PROFILE_NAME, D as DEFAULT_BROWSER_EVALUATE_ENABLED, E as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, O as DEFAULT_SYMI_BROWSER_COLOR, S as stopChromeExtensionRelayServer, _ as fetchJson, a as resolveSymiUserDataDir, d as normalizeCdpWsUrl, g as appendCdpPath, h as withBrowserNavigationPolicy, i as launchSymiChrome, k as DEFAULT_SYMI_BROWSER_ENABLED, l as createTargetViaCdp, m as assertBrowserNavigationAllowed, n as isChromeCdpReady, o as stopSymiChrome, p as InvalidBrowserNavigationUrlError, r as isChromeReachable, v as fetchOk, x as ensureChromeExtensionRelayServer } from "./chrome-w5VRy_4h.js";
4
4
  import { r as isLoopbackHost } from "./ws-C7EXRv8z.js";
5
5
  import { a as resolveGatewayAuth } from "./auth-B741uFtk.js";
6
6
  import { n as formatErrorMessage, t as extractErrorCode } from "./errors-BF3TeRH2.js";
@@ -152,7 +152,7 @@ function isModuleNotFoundError(err) {
152
152
  }
153
153
  async function loadPwAiModule(mode) {
154
154
  try {
155
- return await import("./pw-ai-jDxCE_me.js");
155
+ return await import("./pw-ai-hxKJoLPO.js");
156
156
  } catch (err) {
157
157
  if (mode === "soft") return null;
158
158
  if (isModuleNotFoundError(err)) return null;
@@ -775,11 +775,11 @@ function createProfileContext(opts, profile) {
775
775
  const userDataDir = resolveSymiUserDataDir(profile.name);
776
776
  const profileState = getProfileState();
777
777
  if (await isHttpReachable(300) && !profileState.running) try {
778
- await (await import("./pw-ai-jDxCE_me.js")).closePlaywrightBrowserConnection();
778
+ await (await import("./pw-ai-hxKJoLPO.js")).closePlaywrightBrowserConnection();
779
779
  } catch {}
780
780
  if (profileState.running) await stopRunningBrowser();
781
781
  try {
782
- await (await import("./pw-ai-jDxCE_me.js")).closePlaywrightBrowserConnection();
782
+ await (await import("./pw-ai-hxKJoLPO.js")).closePlaywrightBrowserConnection();
783
783
  } catch {}
784
784
  if (!fs.existsSync(userDataDir)) return {
785
785
  moved: false,
@@ -1,58 +1,58 @@
1
1
  import { g as resolveStateDir, t as CONFIG_PATH } from "./paths-Cqn-zk3M.js";
2
2
  import { D as isPlainObject, U as getResolvedLoggerSettings, r as clamp, y as resolveUserPath } from "./utils-B-0b9bGM.js";
3
3
  import { a as normalizeElevatedLevel, c as normalizeUsageDisplay, d as supportsXHighThinking, n as formatXHighModelHint, o as normalizeReasoningLevel, s as normalizeThinkLevel, t as formatThinkingLevels } from "./thinking-EAliFiVK.js";
4
- import { An as listSubagentRunsForRequester, At as agentCommand, Bn as getTtsProvider, Bt as resolveSendPolicy, C as pruneLegacyStoreKeys, Cn as isAbortTrigger, D as ensureOutboundSessionEntry, Gn as resolveTtsConfig, Hn as isTtsProviderConfigured, Ht as createOutboundSendDeps, It as resolveOutboundTarget, J as normalizeCronJobCreate, Jn as setTtsEnabled, K as writeRestartSentinel, Kn as resolveTtsPrefsPath, L as scheduleGatewaySigusr1Restart, Ln as onAgentEvent, Mr as resolveAgentTimeoutMs, Mt as resolveAgentDeliveryPlan, Nt as resolveAgentOutboundTarget, O as resolveOutboundSessionRoute, Qn as OPENAI_TTS_VOICES, Rn as registerAgentRunContext, S as loadSessionEntry, T as resolveSessionModelRef, Un as resolveTtsApiKey, V as formatDoctorNonInteractiveHint, Vn as isTtsEnabled, Wn as resolveTtsAutoMode, Xn as textToSpeech, Y as normalizeCronJobPatch, Yn as setTtsProvider, Zn as OPENAI_TTS_MODELS, _ as canonicalizeSpawnedByForAgent, _r as applyVerboseOverride, b as listSessionsFromStore, bn as formatZonedTimestamp, br as isSystemEventContextChanged, bt as loadProviderUsageSummary, c as clearSessionQueues, ct as applyBrowserProxyPaths, f as waitForEmbeddedPiRunEnd, fn as dispatchInboundMessage, gr as applyModelOverrideToSessionEntry, gt as loadSymiPlugins, kn as listDescendantRunsForRequester, lt as persistBrowserProxyFiles, n as BARE_SESSION_RESET_PROMPT, pn as createReplyDispatcher, qn as resolveTtsProviderOrder, rn as unbindThreadBindingsBySessionKey, u as abortEmbeddedPiRun, vr as parseVerboseOverride, vt as normalizeGroupActivation, w as resolveGatewaySessionStoreTarget, wn as stopSubagentsForRequester, x as loadCombinedSessionStoreForGateway, y as listAgentsForGateway, yr as enqueueSystemEvent, zn as resolveUserTimezone, zt as normalizeSendPolicy } from "./reply-3UdAtBno.js";
4
+ import { An as listSubagentRunsForRequester, At as agentCommand, Bn as getTtsProvider, Bt as resolveSendPolicy, C as pruneLegacyStoreKeys, Cn as isAbortTrigger, D as ensureOutboundSessionEntry, Gn as resolveTtsConfig, Hn as isTtsProviderConfigured, Ht as createOutboundSendDeps, It as resolveOutboundTarget, J as normalizeCronJobCreate, Jn as setTtsEnabled, K as writeRestartSentinel, Kn as resolveTtsPrefsPath, L as scheduleGatewaySigusr1Restart, Ln as onAgentEvent, Mr as resolveAgentTimeoutMs, Mt as resolveAgentDeliveryPlan, Nt as resolveAgentOutboundTarget, O as resolveOutboundSessionRoute, Qn as OPENAI_TTS_VOICES, Rn as registerAgentRunContext, S as loadSessionEntry, T as resolveSessionModelRef, Un as resolveTtsApiKey, V as formatDoctorNonInteractiveHint, Vn as isTtsEnabled, Wn as resolveTtsAutoMode, Xn as textToSpeech, Y as normalizeCronJobPatch, Yn as setTtsProvider, Zn as OPENAI_TTS_MODELS, _ as canonicalizeSpawnedByForAgent, _r as applyVerboseOverride, b as listSessionsFromStore, bn as formatZonedTimestamp, br as isSystemEventContextChanged, bt as loadProviderUsageSummary, c as clearSessionQueues, ct as applyBrowserProxyPaths, f as waitForEmbeddedPiRunEnd, fn as dispatchInboundMessage, gr as applyModelOverrideToSessionEntry, gt as loadSymiPlugins, kn as listDescendantRunsForRequester, lt as persistBrowserProxyFiles, n as BARE_SESSION_RESET_PROMPT, pn as createReplyDispatcher, qn as resolveTtsProviderOrder, rn as unbindThreadBindingsBySessionKey, u as abortEmbeddedPiRun, vr as parseVerboseOverride, vt as normalizeGroupActivation, w as resolveGatewaySessionStoreTarget, wn as stopSubagentsForRequester, x as loadCombinedSessionStoreForGateway, y as listAgentsForGateway, yr as enqueueSystemEvent, zn as resolveUserTimezone, zt as normalizeSendPolicy } from "./reply-D-tI2-6J.js";
5
5
  import { S as parseAgentSessionKey, l as resolveAgentIdFromSessionKey, m as DEFAULT_ACCOUNT_ID, o as classifySessionKeyShape, s as normalizeAgentId, t as DEFAULT_AGENT_ID, x as isSubagentSessionKey } from "./session-key-DCt45XZa.js";
6
- import { t as resolveSymiPackageRoot } from "./symi-root-MF6_6SCS.js";
6
+ import { t as resolveSymiPackageRoot } from "./symi-root-CrGJbkzf.js";
7
7
  import { C as createInternalHookEvent, T as triggerInternalHook, d as getActivePluginRegistry, r as DEFAULT_CHAT_CHANNEL, t as CHANNEL_IDS } from "./registry-Cja8eT7G.js";
8
8
  import { f as defaultRuntime, t as createSubsystemLogger } from "./subsystem-D9vIQve0.js";
9
- import { C as ensureAgentWorkspace, S as DEFAULT_USER_FILENAME, T as isWorkspaceOnboardingCompleted, _ as DEFAULT_MEMORY_ALT_FILENAME, b as DEFAULT_SYMIPULSE_FILENAME, c as resolveAgentWorkspaceDir, d as resolveSessionAgentId, g as DEFAULT_IDENTITY_FILENAME, h as DEFAULT_BOOTSTRAP_FILENAME, i as resolveAgentDir, l as resolveDefaultAgentId, n as listAgentIds, p as DEFAULT_AGENTS_FILENAME, t as listAgentEntries, v as DEFAULT_MEMORY_FILENAME, x as DEFAULT_TOOLS_FILENAME, y as DEFAULT_SYMICORE_FILENAME } from "./agent-scope-BRwEc2pG.js";
10
- import { Bt as normalizeSecretInput, _ as resolveSubagentConfiguredModelSelection, d as resolveAllowedModelRef, m as resolveDefaultModelForAgent, y as resolveThinkingDefault } from "./model-selection-B7KLlkW9.js";
9
+ import { C as ensureAgentWorkspace, S as DEFAULT_USER_FILENAME, T as isWorkspaceOnboardingCompleted, _ as DEFAULT_MEMORY_ALT_FILENAME, b as DEFAULT_SYMIPULSE_FILENAME, c as resolveAgentWorkspaceDir, d as resolveSessionAgentId, g as DEFAULT_IDENTITY_FILENAME, h as DEFAULT_BOOTSTRAP_FILENAME, i as resolveAgentDir, l as resolveDefaultAgentId, n as listAgentIds, p as DEFAULT_AGENTS_FILENAME, t as listAgentEntries, v as DEFAULT_MEMORY_FILENAME, x as DEFAULT_TOOLS_FILENAME, y as DEFAULT_SYMICORE_FILENAME } from "./agent-scope-CgUHAtCo.js";
10
+ import { Bt as normalizeSecretInput, _ as resolveSubagentConfiguredModelSelection, d as resolveAllowedModelRef, m as resolveDefaultModelForAgent, y as resolveThinkingDefault } from "./model-selection-Bna6Ea2G.js";
11
11
  import { f as GATEWAY_CLIENT_CAPS, g as hasGatewayClientCap, i as isGatewayMessageChannel, l as normalizeMessageChannel, n as isDeliverableMessageChannel, t as INTERNAL_MESSAGE_CHANNEL } from "./message-channel-aT-I_DTX.js";
12
- import { H as VERSION, N as applyMergePatch, P as applyLegacyMigrations, S as sensitive, U as resolveRuntimeServiceVersion, a as parseConfigJson5, c as resolveConfigSnapshotHash, d as SymiSchema, i as loadConfig, l as writeConfigFile, o as readConfigFileSnapshot, s as readConfigFileSnapshotForWrite, u as validateConfigObjectWithPlugins } from "./config-AVc1QpRD.js";
12
+ import { H as VERSION, N as applyMergePatch, P as applyLegacyMigrations, S as sensitive, U as resolveRuntimeServiceVersion, a as parseConfigJson5, c as resolveConfigSnapshotHash, d as SymiSchema, i as loadConfig, l as writeConfigFile, o as readConfigFileSnapshot, s as readConfigFileSnapshotForWrite, u as validateConfigObjectWithPlugins } from "./config-HatzmzSF.js";
13
13
  import { c as pickPrimaryLanIPv4 } from "./ws-C7EXRv8z.js";
14
- import { i as loadWorkspaceSkillEntries } from "./skills-DqQUtOph.js";
14
+ import { i as loadWorkspaceSkillEntries } from "./skills-6jdJQ5ZL.js";
15
15
  import { t as movePathToTrash } from "./trash-DcMh1i4B.js";
16
- import { B as resolveAgentMainSessionKey, C as capArrayByJsonBytes, D as resolveSessionTranscriptCandidates, G as snapshotSessionOrigin, H as resolveMainSessionKey, O as stripEnvelopeFromMessages, S as archiveSessionTranscripts, T as readSessionPreviewItemsFromTranscript, U as resolveMainSessionKeyFromConfig, V as resolveExplicitAgentSessionKey, d as updateSessionStore, o as loadSessionStore, t as extractDeliveryInfo, w as readSessionMessages, x as archiveFileOnDisk, y as normalizeSessionDeliveryFields } from "./sessions-F_WFgwcy.js";
17
- import { n as listChannelPlugins, r as normalizeChannelId, t as getChannelPlugin } from "./plugins-BAyxWQSz.js";
16
+ import { B as resolveAgentMainSessionKey, C as capArrayByJsonBytes, D as resolveSessionTranscriptCandidates, G as snapshotSessionOrigin, H as resolveMainSessionKey, O as stripEnvelopeFromMessages, S as archiveSessionTranscripts, T as readSessionPreviewItemsFromTranscript, U as resolveMainSessionKeyFromConfig, V as resolveExplicitAgentSessionKey, d as updateSessionStore, o as loadSessionStore, t as extractDeliveryInfo, w as readSessionMessages, x as archiveFileOnDisk, y as normalizeSessionDeliveryFields } from "./sessions-Dg88xE66.js";
17
+ import { n as listChannelPlugins, r as normalizeChannelId, t as getChannelPlugin } from "./plugins-DKDeQZF0.js";
18
18
  import { n as resolveSessionFilePath, r as resolveSessionFilePathOptions, s as resolveSessionTranscriptsDirForAgent } from "./paths-CyhzMxFA.js";
19
19
  import { i as normalizeInputProvenance } from "./input-provenance-BzbXHcaD.js";
20
- import { n as createBrowserRouteDispatcher } from "./with-timeout-B4dUX-ZK.js";
21
- import { C as getGlobalHookRunner, o as normalizeReplyPayloadsForDelivery, t as deliverOutboundPayloads } from "./deliver-BRZABn2h.js";
22
- import { a as resolveAgentIdentity, t as createReplyPrefixOptions } from "./reply-prefix-BLOOs1aW.js";
23
- import { $ as validateNodePairRejectParams, A as validateCronStatusParams, At as ErrorCodes, B as validateExecApprovalsGetParams, Bt as removePairedDevice, C as validateConfigSetParams, Ct as validateWebLoginStartParams, D as validateCronRemoveParams, Dt as validateWizardStartParams, E as validateCronListParams, Et as validateWizardNextParams, F as validateDevicePairRemoveParams, Ft as approveDevicePairing, G as validateModelsListParams, H as validateExecApprovalsNodeSetParams, Ht as revokeDeviceToken, I as validateDeviceTokenRevokeParams, J as validateNodeInvokeParams, K as validateNodeDescribeParams, L as validateDeviceTokenRotateParams, M as validateDevicePairApproveParams, N as validateDevicePairListParams, Nt as parseSessionLabel, O as validateCronRunParams, Ot as validateWizardStatusParams, P as validateDevicePairRejectParams, Q as validateNodePairListParams, Rt as listDevicePairing, S as validateConfigSchemaParams, St as validateWakeParams, T as validateCronAddParams, Tt as validateWizardCancelParams, U as validateExecApprovalsSetParams, Ut as rotateDeviceToken, V as validateExecApprovalsNodeGetParams, W as validateLogsTailParams, Wt as summarizeDeviceTokens, X as validateNodeListParams, Y as validateNodeInvokeResultParams, Z as validateNodePairApproveParams, _ as validateChatInjectParams, _t as validateSkillsStatusParams, a as validateAgentWaitParams, b as validateConfigGetParams, bt as validateTalkModeParams, c as validateAgentsFilesGetParams, ct as validateSessionsDeleteParams, d as validateAgentsListParams, dt as validateSessionsPreviewParams, et as validateNodePairRequestParams, f as validateAgentsUpdateParams, ft as validateSessionsResetParams, g as validateChatHistoryParams, gt as validateSkillsInstallParams, h as validateChatAbortParams, ht as validateSkillsBinsParams, i as validateAgentParams, it as validatePushTestParams, j as validateCronUpdateParams, jt as errorShape, k as validateCronRunsParams, l as validateAgentsFilesListParams, lt as validateSessionsListParams, m as validateChannelsStatusParams, mt as validateSessionsUsageParams, n as formatValidationErrors, nt as validateNodeRenameParams, o as validateAgentsCreateParams, ot as validateSendParams, p as validateChannelsLogoutParams, pt as validateSessionsResolveParams, q as validateNodeEventParams, r as validateAgentIdentityParams, rt as validatePollParams, s as validateAgentsDeleteParams, st as validateSessionsCompactParams, tt as validateNodePairVerifyParams, u as validateAgentsFilesSetParams, ut as validateSessionsPatchParams, v as validateChatSendParams, vt as validateSkillsUpdateParams, wt as validateWebLoginWaitParams, x as validateConfigPatchParams, xt as validateUpdateRunParams, y as validateConfigApplyParams, yt as validateTalkConfigParams, zt as rejectDevicePairing } from "./client-CIYHP9fS.js";
24
- import { l as authorizeOperatorScopesForMethod, s as ADMIN_SCOPE$2, u as isNodeRoleMethod } from "./call-DiLX2POZ.js";
25
- import { c as writeJsonAtomic, o as createAsyncLock, s as readJsonFile } from "./pairing-token-AV-MMfVE.js";
20
+ import { n as createBrowserRouteDispatcher } from "./with-timeout-CB59LniF.js";
21
+ import { C as getGlobalHookRunner, o as normalizeReplyPayloadsForDelivery, t as deliverOutboundPayloads } from "./deliver-Dt-RE3Vx.js";
22
+ import { a as resolveAgentIdentity, t as createReplyPrefixOptions } from "./reply-prefix-CE2YmmsD.js";
23
+ import { $ as validateNodePairRejectParams, A as validateCronStatusParams, At as ErrorCodes, B as validateExecApprovalsGetParams, Bt as removePairedDevice, C as validateConfigSetParams, Ct as validateWebLoginStartParams, D as validateCronRemoveParams, Dt as validateWizardStartParams, E as validateCronListParams, Et as validateWizardNextParams, F as validateDevicePairRemoveParams, Ft as approveDevicePairing, G as validateModelsListParams, H as validateExecApprovalsNodeSetParams, Ht as revokeDeviceToken, I as validateDeviceTokenRevokeParams, J as validateNodeInvokeParams, K as validateNodeDescribeParams, L as validateDeviceTokenRotateParams, M as validateDevicePairApproveParams, N as validateDevicePairListParams, Nt as parseSessionLabel, O as validateCronRunParams, Ot as validateWizardStatusParams, P as validateDevicePairRejectParams, Q as validateNodePairListParams, Rt as listDevicePairing, S as validateConfigSchemaParams, St as validateWakeParams, T as validateCronAddParams, Tt as validateWizardCancelParams, U as validateExecApprovalsSetParams, Ut as rotateDeviceToken, V as validateExecApprovalsNodeGetParams, W as validateLogsTailParams, Wt as summarizeDeviceTokens, X as validateNodeListParams, Y as validateNodeInvokeResultParams, Z as validateNodePairApproveParams, _ as validateChatInjectParams, _t as validateSkillsStatusParams, a as validateAgentWaitParams, b as validateConfigGetParams, bt as validateTalkModeParams, c as validateAgentsFilesGetParams, ct as validateSessionsDeleteParams, d as validateAgentsListParams, dt as validateSessionsPreviewParams, et as validateNodePairRequestParams, f as validateAgentsUpdateParams, ft as validateSessionsResetParams, g as validateChatHistoryParams, gt as validateSkillsInstallParams, h as validateChatAbortParams, ht as validateSkillsBinsParams, i as validateAgentParams, it as validatePushTestParams, j as validateCronUpdateParams, jt as errorShape, k as validateCronRunsParams, l as validateAgentsFilesListParams, lt as validateSessionsListParams, m as validateChannelsStatusParams, mt as validateSessionsUsageParams, n as formatValidationErrors, nt as validateNodeRenameParams, o as validateAgentsCreateParams, ot as validateSendParams, p as validateChannelsLogoutParams, pt as validateSessionsResolveParams, q as validateNodeEventParams, r as validateAgentIdentityParams, rt as validatePollParams, s as validateAgentsDeleteParams, st as validateSessionsCompactParams, tt as validateNodePairVerifyParams, u as validateAgentsFilesSetParams, ut as validateSessionsPatchParams, v as validateChatSendParams, vt as validateSkillsUpdateParams, wt as validateWebLoginWaitParams, x as validateConfigPatchParams, xt as validateUpdateRunParams, y as validateConfigApplyParams, yt as validateTalkConfigParams, zt as rejectDevicePairing } from "./client-Cnoh7nRo.js";
24
+ import { l as authorizeOperatorScopesForMethod, s as ADMIN_SCOPE$2, u as isNodeRoleMethod } from "./call-DAcmbtXf.js";
25
+ import { c as writeJsonAtomic, o as createAsyncLock, s as readJsonFile } from "./pairing-token-CX3NN_qj.js";
26
26
  import { n as normalizePollInput } from "./polls-DhH5YkzN.js";
27
27
  import { t as getChannelActivity } from "./channel-activity-BOiuJS3t.js";
28
- import { _ as requestNodePairing, g as renamePairedNode, h as rejectNodePairing, m as listNodePairing, o as getRemoteSkillEligibility, p as approveNodePairing, y as verifyNodeToken } from "./skill-commands-CWFq0coF.js";
29
- import { t as listAgentWorkspaceDirs } from "./workspace-dirs-DKu48umx.js";
28
+ import { _ as requestNodePairing, g as renamePairedNode, h as rejectNodePairing, m as listNodePairing, o as getRemoteSkillEligibility, p as approveNodePairing, y as verifyNodeToken } from "./skill-commands-D23OFeRU.js";
29
+ import { t as listAgentWorkspaceDirs } from "./workspace-dirs-GpkFi6Kw.js";
30
30
  import { i as loadSessionUsageTimeSeries, n as loadCostUsageSummary, r as loadSessionCostSummary, t as discoverAllSessions } from "./session-cost-usage-BG4AXrGN.js";
31
- import { w as resolveAssistantAvatarUrl } from "./onboard-helpers-KDMJj8FR.js";
31
+ import { w as resolveAssistantAvatarUrl } from "./onboard-helpers-y4rvYrnW.js";
32
32
  import { a as mergeExecApprovalsSocketDefaults, c as readExecApprovalsSnapshot, p as saveExecApprovals, r as ensureExecApprovals, s as normalizeExecApprovals } from "./exec-approvals-Kn31mBcW.js";
33
- import { n as createBrowserControlContext, r as startBrowserControlServiceFromConfig } from "./control-service-CT6Tc8zz.js";
33
+ import { n as createBrowserControlContext, r as startBrowserControlServiceFromConfig } from "./control-service-su7ltHXJ.js";
34
34
  import { i as parseAbsoluteTimeMs } from "./stagger-BUClb97_.js";
35
35
  import { r as getLastHeartbeatEvent } from "./heartbeat-visibility-U4BL57eQ.js";
36
36
  import { t as buildChannelUiCatalog } from "./catalog-RiADx7MA.js";
37
- import { t as buildWorkspaceSkillStatus } from "./skills-status-DS-NZQiq.js";
37
+ import { t as buildWorkspaceSkillStatus } from "./skills-status-CURJKnyY.js";
38
38
  import { t as WizardCancelledError } from "./prompts-Xu2Sveka.js";
39
39
  import { t as resolveChannelDefaultAccountId } from "./helpers-BcGbMZD1.js";
40
40
  import { t as buildChannelAccountSnapshot } from "./status-BrV-afZE.js";
41
- import { o as isNodeCommandAllowed, s as resolveNodeCommandAllowlist } from "./audit-BUu82PFi.js";
42
- import { n as getStatusSummary } from "./status-bDX6eJeC.js";
43
- import { s as setHeartbeatsEnabled } from "./health-JCH1-7ZC.js";
44
- import { m as normalizeUpdateChannel } from "./update-check-C0oYCI89.js";
45
- import { a as sendApnsAlert, c as parseMessageWithAttachments, i as resolveApnsAuthConfigFromEnv, l as formatForLog, n as normalizeApnsEnvironment, o as sendApnsBackgroundWake, s as normalizeRpcAttachmentsToChatAttachments, t as loadApnsRegistration } from "./push-apns-CKA1Hybl.js";
46
- import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-p7Y2nZHi.js";
41
+ import { o as isNodeCommandAllowed, s as resolveNodeCommandAllowlist } from "./audit-D8C59yOo.js";
42
+ import { n as getStatusSummary } from "./status-CHtXaQCL.js";
43
+ import { s as setHeartbeatsEnabled } from "./health-6eO44S1z.js";
44
+ import { m as normalizeUpdateChannel } from "./update-check-CtckACbb.js";
45
+ import { a as sendApnsAlert, c as parseMessageWithAttachments, i as resolveApnsAuthConfigFromEnv, l as formatForLog, n as normalizeApnsEnvironment, o as sendApnsBackgroundWake, s as normalizeRpcAttachmentsToChatAttachments, t as loadApnsRegistration } from "./push-apns-zJAWgDEO.js";
46
+ import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-DnUOlYlU.js";
47
47
  import { t as resolveSystemRunCommand } from "./system-run-command-ByVa3txU.js";
48
- import { t as installSkill } from "./skills-install-DjcTy3CT.js";
49
- import { t as runGatewayUpdate } from "./update-runner-BU1pNjNR.js";
50
- import * as fs$1 from "node:fs";
48
+ import { t as installSkill } from "./skills-install-D67isO1L.js";
49
+ import { t as runGatewayUpdate } from "./update-runner-f9lbrrpe.js";
50
+ import * as fs$2 from "node:fs";
51
51
  import fs from "node:fs";
52
52
  import * as os$1 from "node:os";
53
53
  import os from "node:os";
54
54
  import path from "node:path";
55
- import fsPromises from "node:fs/promises";
55
+ import fs$1 from "node:fs/promises";
56
56
  import { spawnSync } from "node:child_process";
57
57
  import crypto, { randomUUID } from "node:crypto";
58
58
  import { z } from "zod";
@@ -414,20 +414,20 @@ function resolveCronRunLogPath(params) {
414
414
  }
415
415
  const writesByPath = /* @__PURE__ */ new Map();
416
416
  async function pruneIfNeeded(filePath, opts) {
417
- const stat = await fsPromises.stat(filePath).catch(() => null);
417
+ const stat = await fs$1.stat(filePath).catch(() => null);
418
418
  if (!stat || stat.size <= opts.maxBytes) return;
419
- const lines = (await fsPromises.readFile(filePath, "utf-8").catch(() => "")).split("\n").map((l) => l.trim()).filter(Boolean);
419
+ const lines = (await fs$1.readFile(filePath, "utf-8").catch(() => "")).split("\n").map((l) => l.trim()).filter(Boolean);
420
420
  const kept = lines.slice(Math.max(0, lines.length - opts.keepLines));
421
421
  const { randomBytes } = await import("node:crypto");
422
422
  const tmp = `${filePath}.${process.pid}.${randomBytes(8).toString("hex")}.tmp`;
423
- await fsPromises.writeFile(tmp, `${kept.join("\n")}\n`, "utf-8");
424
- await fsPromises.rename(tmp, filePath);
423
+ await fs$1.writeFile(tmp, `${kept.join("\n")}\n`, "utf-8");
424
+ await fs$1.rename(tmp, filePath);
425
425
  }
426
426
  async function appendCronRunLog(filePath, entry, opts) {
427
427
  const resolved = path.resolve(filePath);
428
428
  const next = (writesByPath.get(resolved) ?? Promise.resolve()).catch(() => void 0).then(async () => {
429
- await fsPromises.mkdir(path.dirname(resolved), { recursive: true });
430
- await fsPromises.appendFile(resolved, `${JSON.stringify(entry)}\n`, "utf-8");
429
+ await fs$1.mkdir(path.dirname(resolved), { recursive: true });
430
+ await fs$1.appendFile(resolved, `${JSON.stringify(entry)}\n`, "utf-8");
431
431
  await pruneIfNeeded(resolved, {
432
432
  maxBytes: opts?.maxBytes ?? 2e6,
433
433
  keepLines: opts?.keepLines ?? 2e3
@@ -439,7 +439,7 @@ async function appendCronRunLog(filePath, entry, opts) {
439
439
  async function readCronRunLogEntries(filePath, opts) {
440
440
  const limit = Math.max(1, Math.min(5e3, Math.floor(opts?.limit ?? 200)));
441
441
  const jobId = opts?.jobId?.trim() || void 0;
442
- const raw = await fsPromises.readFile(path.resolve(filePath), "utf-8").catch(() => "");
442
+ const raw = await fs$1.readFile(path.resolve(filePath), "utf-8").catch(() => "");
443
443
  if (!raw.trim()) return [];
444
444
  const parsed = [];
445
445
  const lines = raw.split("\n");
@@ -2423,7 +2423,7 @@ function resolveAgentWorkspaceFileOrRespondError(params, respond) {
2423
2423
  }
2424
2424
  async function statFile(filePath) {
2425
2425
  try {
2426
- const stat = await fsPromises.stat(filePath);
2426
+ const stat = await fs$1.stat(filePath);
2427
2427
  if (!stat.isFile()) return null;
2428
2428
  return {
2429
2429
  size: stat.size,
@@ -2493,7 +2493,7 @@ function resolveOptionalStringParam(value) {
2493
2493
  async function moveToTrashBestEffort(pathname) {
2494
2494
  if (!pathname) return;
2495
2495
  try {
2496
- await fsPromises.access(pathname);
2496
+ await fs$1.access(pathname);
2497
2497
  } catch {
2498
2498
  return;
2499
2499
  }
@@ -2540,7 +2540,7 @@ const agentsHandlers = {
2540
2540
  dir: workspaceDir,
2541
2541
  ensureBootstrapFiles: !Boolean(nextConfig.agents?.defaults?.skipBootstrap)
2542
2542
  });
2543
- await fsPromises.mkdir(resolveSessionTranscriptsDirForAgent(agentId), { recursive: true });
2543
+ await fs$1.mkdir(resolveSessionTranscriptsDirForAgent(agentId), { recursive: true });
2544
2544
  await writeConfigFile(nextConfig);
2545
2545
  const safeName = sanitizeIdentityLine(rawName);
2546
2546
  const emoji = resolveOptionalStringParam(params.emoji);
@@ -2553,7 +2553,7 @@ const agentsHandlers = {
2553
2553
  ...avatar ? [`- Avatar: ${sanitizeIdentityLine(avatar)}`] : [],
2554
2554
  ""
2555
2555
  ];
2556
- await fsPromises.appendFile(identityPath, lines.join("\n"), "utf-8");
2556
+ await fs$1.appendFile(identityPath, lines.join("\n"), "utf-8");
2557
2557
  respond(true, {
2558
2558
  ok: true,
2559
2559
  agentId,
@@ -2588,9 +2588,9 @@ const agentsHandlers = {
2588
2588
  });
2589
2589
  if (avatar) {
2590
2590
  const workspace = workspaceDir ?? resolveAgentWorkspaceDir(nextConfig, agentId);
2591
- await fsPromises.mkdir(workspace, { recursive: true });
2591
+ await fs$1.mkdir(workspace, { recursive: true });
2592
2592
  const identityPath = path.join(workspace, DEFAULT_IDENTITY_FILENAME);
2593
- await fsPromises.appendFile(identityPath, `\n- Avatar: ${sanitizeIdentityLine(avatar)}\n`, "utf-8");
2593
+ await fs$1.appendFile(identityPath, `\n- Avatar: ${sanitizeIdentityLine(avatar)}\n`, "utf-8");
2594
2594
  }
2595
2595
  respond(true, {
2596
2596
  ok: true,
@@ -2673,7 +2673,7 @@ const agentsHandlers = {
2673
2673
  }, void 0);
2674
2674
  return;
2675
2675
  }
2676
- const content = await fsPromises.readFile(filePath, "utf-8");
2676
+ const content = await fs$1.readFile(filePath, "utf-8");
2677
2677
  respond(true, {
2678
2678
  agentId,
2679
2679
  workspace: workspaceDir,
@@ -2695,10 +2695,10 @@ const agentsHandlers = {
2695
2695
  const resolved = resolveAgentWorkspaceFileOrRespondError(params, respond);
2696
2696
  if (!resolved) return;
2697
2697
  const { agentId, workspaceDir, name } = resolved;
2698
- await fsPromises.mkdir(workspaceDir, { recursive: true });
2698
+ await fs$1.mkdir(workspaceDir, { recursive: true });
2699
2699
  const filePath = path.join(workspaceDir, name);
2700
2700
  const content = String(params.content ?? "");
2701
- await fsPromises.writeFile(filePath, content, "utf-8");
2701
+ await fs$1.writeFile(filePath, content, "utf-8");
2702
2702
  const meta = await statFile(filePath);
2703
2703
  respond(true, {
2704
2704
  ok: true,
@@ -5980,14 +5980,14 @@ function isRollingLogFile(file) {
5980
5980
  return ROLLING_LOG_RE.test(path.basename(file));
5981
5981
  }
5982
5982
  async function resolveLogFile(file) {
5983
- if (await fsPromises.stat(file).catch(() => null)) return file;
5983
+ if (await fs$1.stat(file).catch(() => null)) return file;
5984
5984
  if (!isRollingLogFile(file)) return file;
5985
5985
  const dir = path.dirname(file);
5986
- const entries = await fsPromises.readdir(dir, { withFileTypes: true }).catch(() => null);
5986
+ const entries = await fs$1.readdir(dir, { withFileTypes: true }).catch(() => null);
5987
5987
  if (!entries) return file;
5988
5988
  return (await Promise.all(entries.filter((entry) => entry.isFile() && ROLLING_LOG_RE.test(entry.name)).map(async (entry) => {
5989
5989
  const fullPath = path.join(dir, entry.name);
5990
- const fileStat = await fsPromises.stat(fullPath).catch(() => null);
5990
+ const fileStat = await fs$1.stat(fullPath).catch(() => null);
5991
5991
  return fileStat ? {
5992
5992
  path: fullPath,
5993
5993
  mtimeMs: fileStat.mtimeMs
@@ -5995,7 +5995,7 @@ async function resolveLogFile(file) {
5995
5995
  }))).filter((entry) => Boolean(entry)).toSorted((a, b) => b.mtimeMs - a.mtimeMs)[0]?.path ?? file;
5996
5996
  }
5997
5997
  async function readLogSlice(params) {
5998
- const stat = await fsPromises.stat(params.file).catch(() => null);
5998
+ const stat = await fs$1.stat(params.file).catch(() => null);
5999
5999
  if (!stat) return {
6000
6000
  cursor: 0,
6001
6001
  size: 0,
@@ -6033,7 +6033,7 @@ async function readLogSlice(params) {
6033
6033
  truncated,
6034
6034
  reset
6035
6035
  };
6036
- const handle = await fsPromises.open(params.file, "r");
6036
+ const handle = await fs$1.open(params.file, "r");
6037
6037
  try {
6038
6038
  let prefix = "";
6039
6039
  if (start > 0) {
@@ -6834,7 +6834,7 @@ const nodeHandlers = {
6834
6834
  const p = params;
6835
6835
  const payloadJSON = typeof p.payloadJSON === "string" ? p.payloadJSON : p.payload !== void 0 ? JSON.stringify(p.payload) : null;
6836
6836
  await respondUnavailableOnThrow(respond, async () => {
6837
- const { handleNodeEvent } = await import("./server-node-events-CykWrHaN.js");
6837
+ const { handleNodeEvent } = await import("./server-node-events-CCOXKW9s.js");
6838
6838
  const nodeId = client?.connect?.device?.id ?? client?.connect?.client?.id ?? "node";
6839
6839
  await handleNodeEvent({
6840
6840
  deps: context.deps,
@@ -7353,7 +7353,7 @@ function broadcastPresenceSnapshot(params) {
7353
7353
  let _prevCpu = null;
7354
7354
  function getCpuPercent() {
7355
7355
  try {
7356
- const parts = fs$1.readFileSync("/proc/stat", "utf8").split("\n")[0].trim().split(/\s+/).slice(1).map(Number);
7356
+ const parts = fs$2.readFileSync("/proc/stat", "utf8").split("\n")[0].trim().split(/\s+/).slice(1).map(Number);
7357
7357
  const [user, nice, sys, idle, iowait] = parts;
7358
7358
  const total = parts.reduce((a, b) => a + b, 0);
7359
7359
  const active = total - idle - (iowait || 0);
@@ -7377,7 +7377,7 @@ function getCpuPercent() {
7377
7377
  }
7378
7378
  function getMemInfo() {
7379
7379
  try {
7380
- const text = fs$1.readFileSync("/proc/meminfo", "utf8");
7380
+ const text = fs$2.readFileSync("/proc/meminfo", "utf8");
7381
7381
  const get = (key) => parseInt(text.match(new RegExp(`${key}:\\s+(\\d+)`))?.[1] ?? "0", 10) * 1024;
7382
7382
  const total = get("MemTotal");
7383
7383
  const used = total - get("MemAvailable");
@@ -7396,7 +7396,7 @@ function getMemInfo() {
7396
7396
  }
7397
7397
  function getDiskInfo() {
7398
7398
  try {
7399
- const stats = fs$1.statfsSync("/");
7399
+ const stats = fs$2.statfsSync("/");
7400
7400
  const total = stats.blocks * stats.bsize;
7401
7401
  const used = total - stats.bfree * stats.bsize;
7402
7402
  return {
@@ -12,7 +12,7 @@ import { f as GATEWAY_CLIENT_CAPS, g as hasGatewayClientCap, i as isGatewayMessa
12
12
  import { c as writeJsonAtomic, o as createAsyncLock, s as readJsonFile } from "./pairing-token-Byh6drgn.js";
13
13
  import { s as pickPrimaryLanIPv4 } from "./net-DZ5Ayk-W.js";
14
14
  import { i as normalizeInputProvenance } from "./input-provenance-D0lNkCf6.js";
15
- import { $n as resolveTtsPrefsPath, $t as normalizeGroupActivation, A as createOutboundSendDeps, D as resolveAgentOutboundTarget, E as resolveAgentDeliveryPlan, Hn as isAbortTrigger, Ht as applyBrowserProxyPaths, J as BARE_SESSION_RESET_PROMPT, Jn as isTtsEnabled, Kn as resolveUserTimezone, Pn as resolveAgentTimeoutMs, Qn as resolveTtsConfig, Qt as unbindThreadBindingsBySessionKey, Sn as isSystemEventContextChanged, Sr as registerAgentRunContext, St as writeRestartSentinel, Tt as normalizeCronJobPatch, U as dispatchInboundMessage, Un as stopSubagentsForRequester, Ut as persistBrowserProxyFiles, W as createReplyDispatcher, Xn as resolveTtsApiKey, Yn as isTtsProviderConfigured, Yt as scheduleGatewaySigusr1Restart, Zn as resolveTtsAutoMode, _ as loadSymiPlugins, _t as formatDoctorNonInteractiveHint, ar as OPENAI_TTS_VOICES, at as ensureOutboundSessionEntry, bn as parseVerboseOverride, d as waitForEmbeddedPiRunEnd, er as resolveTtsProviderOrder, fn as normalizeSendPolicy, i as listSubagentRunsForRequester, ir as OPENAI_TTS_MODELS, l as abortEmbeddedPiRun, lt as resolveOutboundTarget, nr as setTtsProvider, ot as resolveOutboundSessionRoute, pn as resolveSendPolicy, qn as getTtsProvider, r as listDescendantRunsForRequester, rr as textToSpeech, s as clearSessionQueues, tn as loadProviderUsageSummary, tr as setTtsEnabled, vn as applyModelOverrideToSessionEntry, w as agentCommand, wt as normalizeCronJobCreate, xn as enqueueSystemEvent, xr as onAgentEvent, yn as applyVerboseOverride, zn as formatZonedTimestamp } from "./subagent-registry-DW6V21LB.js";
15
+ import { $n as resolveTtsPrefsPath, $t as normalizeGroupActivation, A as createOutboundSendDeps, D as resolveAgentOutboundTarget, E as resolveAgentDeliveryPlan, Hn as isAbortTrigger, Ht as applyBrowserProxyPaths, J as BARE_SESSION_RESET_PROMPT, Jn as isTtsEnabled, Kn as resolveUserTimezone, Pn as resolveAgentTimeoutMs, Qn as resolveTtsConfig, Qt as unbindThreadBindingsBySessionKey, Sn as isSystemEventContextChanged, Sr as registerAgentRunContext, St as writeRestartSentinel, Tt as normalizeCronJobPatch, U as dispatchInboundMessage, Un as stopSubagentsForRequester, Ut as persistBrowserProxyFiles, W as createReplyDispatcher, Xn as resolveTtsApiKey, Yn as isTtsProviderConfigured, Yt as scheduleGatewaySigusr1Restart, Zn as resolveTtsAutoMode, _ as loadSymiPlugins, _t as formatDoctorNonInteractiveHint, ar as OPENAI_TTS_VOICES, at as ensureOutboundSessionEntry, bn as parseVerboseOverride, d as waitForEmbeddedPiRunEnd, er as resolveTtsProviderOrder, fn as normalizeSendPolicy, i as listSubagentRunsForRequester, ir as OPENAI_TTS_MODELS, l as abortEmbeddedPiRun, lt as resolveOutboundTarget, nr as setTtsProvider, ot as resolveOutboundSessionRoute, pn as resolveSendPolicy, qn as getTtsProvider, r as listDescendantRunsForRequester, rr as textToSpeech, s as clearSessionQueues, tn as loadProviderUsageSummary, tr as setTtsEnabled, vn as applyModelOverrideToSessionEntry, w as agentCommand, wt as normalizeCronJobCreate, xn as enqueueSystemEvent, xr as onAgentEvent, yn as applyVerboseOverride, zn as formatZonedTimestamp } from "./subagent-registry-C-rk8Ynb.js";
16
16
  import { F as resolveMainSessionKey, I as resolveMainSessionKeyFromConfig, J as normalizeSessionDeliveryFields, N as resolveAgentMainSessionKey, P as resolveExplicitAgentSessionKey, R as snapshotSessionOrigin, S as stripEnvelopeFromMessages, _ as capArrayByJsonBytes, d as updateSessionStore, g as archiveSessionTranscripts, h as archiveFileOnDisk, o as loadSessionStore, t as extractDeliveryInfo, v as readSessionMessages, x as resolveSessionTranscriptCandidates, y as readSessionPreviewItemsFromTranscript } from "./sessions-CxYrM08j.js";
17
17
  import { n as listChannelPlugins, r as normalizeChannelId, t as getChannelPlugin } from "./plugins-CwSlLxM8.js";
18
18
  import { n as createBrowserRouteDispatcher } from "./with-timeout-BhCDa50Z.js";
@@ -37,14 +37,14 @@ import { t as WizardCancelledError } from "./prompts-m1IJwIAx.js";
37
37
  import { t as resolveChannelDefaultAccountId } from "./helpers-cLP5YLeQ.js";
38
38
  import { t as buildChannelAccountSnapshot } from "./status-BUedPCLb.js";
39
39
  import { o as isNodeCommandAllowed, s as resolveNodeCommandAllowlist } from "./audit-DqA2sW9G.js";
40
- import { r as getStatusSummary } from "./status-DpNpFHi8.js";
41
- import { c as setHeartbeatsEnabled } from "./health-DOpwYIk9.js";
40
+ import { r as getStatusSummary } from "./status-Bhj6pODg.js";
41
+ import { c as setHeartbeatsEnabled } from "./health-Cg5ISkwP.js";
42
42
  import { m as normalizeUpdateChannel } from "./update-check-ZdimP1aU.js";
43
- import { a as sendApnsAlert, c as parseMessageWithAttachments, i as resolveApnsAuthConfigFromEnv, l as formatForLog, n as normalizeApnsEnvironment, o as sendApnsBackgroundWake, s as normalizeRpcAttachmentsToChatAttachments, t as loadApnsRegistration } from "./push-apns-Bc01EVHz.js";
44
- import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-CsSO3wVx.js";
43
+ import { a as sendApnsAlert, c as parseMessageWithAttachments, i as resolveApnsAuthConfigFromEnv, l as formatForLog, n as normalizeApnsEnvironment, o as sendApnsBackgroundWake, s as normalizeRpcAttachmentsToChatAttachments, t as loadApnsRegistration } from "./push-apns-CIcS3If1.js";
44
+ import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-D42lZLmR.js";
45
45
  import { t as resolveSystemRunCommand } from "./system-run-command-ByVa3txU.js";
46
46
  import { t as installSkill } from "./skills-install-1ZdwGTnh.js";
47
- import { t as runGatewayUpdate } from "./update-runner-Bk1Dw23-.js";
47
+ import { t as runGatewayUpdate } from "./update-runner-Bq1u14RR.js";
48
48
  import { spawnSync } from "node:child_process";
49
49
  import * as os$1 from "node:os";
50
50
  import os from "node:os";
@@ -6832,7 +6832,7 @@ const nodeHandlers = {
6832
6832
  const p = params;
6833
6833
  const payloadJSON = typeof p.payloadJSON === "string" ? p.payloadJSON : p.payload !== void 0 ? JSON.stringify(p.payload) : null;
6834
6834
  await respondUnavailableOnThrow(respond, async () => {
6835
- const { handleNodeEvent } = await import("./server-node-events-tdraRFjy.js");
6835
+ const { handleNodeEvent } = await import("./server-node-events-DDEX2ugG.js");
6836
6836
  const nodeId = client?.connect?.device?.id ?? client?.connect?.client?.id ?? "node";
6837
6837
  await handleNodeEvent({
6838
6838
  deps: context.deps,