@symerian/symi 2.3.3 → 2.4.0

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 (255) 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-BgyJMtqt.js → acp-cli-Cu4icbJT.js} +6 -6
  5. package/dist/{agent-scope-BRwEc2pG.js → agent-scope-CgUHAtCo.js} +18 -18
  6. package/dist/{agents-DjLt6jc3.js → agents-CI3xxYc_.js} +4 -4
  7. package/dist/{agents.config-u_ibObha.js → agents.config-DCE3RGr9.js} +2 -2
  8. package/dist/{agents.config-Dt7B_P5o.js → agents.config-DTUAM1AG.js} +1 -1
  9. package/dist/{api-key-rotation-CEr3lKih.js → api-key-rotation-CzuPlV2t.js} +1 -1
  10. package/dist/{audio-preflight-CPBOQV4I.js → audio-preflight-C40mKAp7.js} +4 -4
  11. package/dist/{audio-preflight-CjysqO8U.js → audio-preflight-CWnxkaac.js} +28 -28
  12. package/dist/{audio-preflight-D02HwB-I.js → audio-preflight-O3ASWbaG.js} +4 -4
  13. package/dist/{audit-BSB9NPSO.js → audit-CrITRV6w.js} +23 -23
  14. package/dist/{auth-choice-DmSG7c8J.js → auth-choice-DuQwRfJc.js} +8 -8
  15. package/dist/{auth-choice-DUUu6Nhg.js → auth-choice-IiIysHGO.js} +1 -1
  16. package/dist/{auth-token-DC5w1WoS.js → auth-token-BnOynwk4.js} +1 -1
  17. package/dist/{banner-BiAcdT2T.js → banner-xhDZu_ZJ.js} +1 -1
  18. package/dist/{bindings-ChzePa8q.js → bindings-DFaVVCsf.js} +1 -1
  19. package/dist/{browser-cli-C4D9Ql3c.js → browser-cli-BG4qPxpM.js} +9 -9
  20. package/dist/build-info.json +3 -3
  21. package/dist/bundled/boot-md/handler.js +6 -6
  22. package/dist/bundled/session-memory/handler.js +6 -6
  23. package/dist/{call-Dd7-bkfG.js → call-CJaS1iRF.js} +9 -9
  24. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  25. package/dist/{channel-options-vQREpu-n.js → channel-options-D3gGVwBd.js} +2 -2
  26. package/dist/{channel-options-ClfXE1B7.js → channel-options-Dvxd7eJY.js} +1 -1
  27. package/dist/{channel-selection-DjfBv8kq.js → channel-selection-DuWs0Aak.js} +1 -1
  28. package/dist/{channel-web-y6pd_GHr.js → channel-web-a5tX1YI3.js} +17 -17
  29. package/dist/{channels-cli-CjYD1_OO.js → channels-cli-BLUkl5Li.js} +75 -75
  30. package/dist/{channels-cli-suXRcyfF.js → channels-cli-C9wBYmDe.js} +4 -4
  31. package/dist/{channels-status-issues-BoH1ZJPN.js → channels-status-issues-B_kBkl_u.js} +1 -1
  32. package/dist/{chrome-EyvdASWt.js → chrome-BFekevcE.js} +7 -7
  33. package/dist/{chrome-D2SKJnR7.js → chrome-CDJYxX5a.js} +7 -7
  34. package/dist/{chrome-r4RThPxq.js → chrome-DtPkPq9T.js} +2 -2
  35. package/dist/cli/daemon-cli.js +1 -1
  36. package/dist/{cli-mbfUlFn3.js → cli-CaEE46xi.js} +1 -1
  37. package/dist/{cli-B-911QZL.js → cli-Cw45F0yJ.js} +62 -62
  38. package/dist/{client-BsrZnuSi.js → client-CQSyCS4M.js} +1 -1
  39. package/dist/{command-registry-y8CXSD5O.js → command-registry-ea9SD1eA.js} +9 -9
  40. package/dist/{commands-CtocZ4Lg.js → commands-BNLCWX6e.js} +1 -1
  41. package/dist/{commands-registry-BZ0ZSQpM.js → commands-registry-BT0-zzs3.js} +3 -3
  42. package/dist/{completion-cli-BLrwUAyo.js → completion-cli-CMJmUQbI.js} +12 -12
  43. package/dist/{completion-cli-2Mi5hts2.js → completion-cli-DVkiEAEA.js} +2 -2
  44. package/dist/{config-CJMcIRQM.js → config-CHwyw6l5.js} +2 -2
  45. package/dist/{config-cli-CF-wdLkO.js → config-cli-B2d28_hb.js} +4 -4
  46. package/dist/{config-cli-tYZAnvgQ.js → config-cli-VIg0PSyq.js} +1 -1
  47. package/dist/{config-guard-C1Rs8NZG.js → config-guard-BflmO0t7.js} +12 -12
  48. package/dist/{config-validation-ChQQVndI.js → config-validation-CmimHAES.js} +1 -1
  49. package/dist/{configure-si19m30s.js → configure-C_TVBt76.js} +3 -3
  50. package/dist/{configure-BHKdqhLb.js → configure-D-3FiJbK.js} +15 -15
  51. package/dist/{control-service-B8H3Bqpv.js → control-service-Bz7rxLWq.js} +4 -4
  52. package/dist/{control-ui-assets-DqGziq7x.js → control-ui-assets-Z947tKLt.js} +1 -1
  53. package/dist/{cron-cli-YrMWJCkm.js → cron-cli-DBIlCvp3.js} +10 -10
  54. package/dist/{daemon-cli-Dx4SXRyp.js → daemon-cli-DscwlsKW.js} +11 -11
  55. package/dist/{daemon-runtime--RiRUx_2.js → daemon-runtime-2mwX-jqj.js} +10 -10
  56. package/dist/{deliver-C-37cZUe.js → deliver-BH0l3UKW.js} +1 -1
  57. package/dist/{deliver-Um8yyhRA.js → deliver-CceEhg3d.js} +7 -7
  58. package/dist/{deliver-D1ZN6-fl.js → deliver-CvCK5Mm9.js} +1 -1
  59. package/dist/{devices-cli-DAJ84AOe.js → devices-cli-Dds-25Ve.js} +6 -6
  60. package/dist/{diagnostics-D2yUMZN1.js → diagnostics-BAMlsVVX.js} +5 -5
  61. package/dist/{directory-cli-C4h8KQLH.js → directory-cli-CpUByQew.js} +7 -7
  62. package/dist/{dm-policy-shared-BCSw0GJS.js → dm-policy-shared-Bh3TbexU.js} +2 -2
  63. package/dist/{dns-cli-s0ZWvTPm.js → dns-cli-Beyzdh3S.js} +3 -3
  64. package/dist/{dock-BYiRZSgZ.js → dock-BhS32F6E.js} +4 -4
  65. package/dist/{docs-cli-BfPfHTDs.js → docs-cli-BpnEOtJi.js} +1 -1
  66. package/dist/{doctor-completion-C19QYsQN.js → doctor-completion-CJHJYIwQ.js} +2 -2
  67. package/dist/{doctor-completion-Dn_Kn4gz.js → doctor-completion-DeRX6gkI.js} +1 -1
  68. package/dist/{doctor-config-flow-D05HlWdn.js → doctor-config-flow-QnaBd8kL.js} +10 -10
  69. package/dist/entry.js +1 -1
  70. package/dist/{exec-approvals-cli-Df1lyRyE.js → exec-approvals-cli-BliRl8VB.js} +13 -13
  71. package/dist/extensionAPI.js +6 -6
  72. package/dist/{fs-safe-CTDvb1DF.js → fs-safe-CUjO1ca2.js} +6 -6
  73. package/dist/{gateway-cli-B7khyAHs.js → gateway-cli-BDDHBfYP.js} +126 -121
  74. package/dist/{gateway-cli-DG_Mdw0H.js → gateway-cli-DiDJ6Z2d.js} +22 -17
  75. package/dist/{gateway-rpc-DFeD8pZh.js → gateway-rpc-BxkKeCZ0.js} +1 -1
  76. package/dist/{glass-ui-ws-BmQAULMj.js → glass-ui-ws-Bj1IuJXt.js} +82 -82
  77. package/dist/{glass-ui-ws-BAub_JoN.js → glass-ui-ws-rGIAkViC.js} +7 -7
  78. package/dist/{health-CboWXJkq.js → health-Bst5HnLF.js} +1 -1
  79. package/dist/{health-DkKXiUEF.js → health-CypF_2ZD.js} +13 -13
  80. package/dist/{hooks-cli-DLM_5caf.js → hooks-cli-CDMcqTy4.js} +2 -2
  81. package/dist/{hooks-cli-BrO_9pas.js → hooks-cli-CfsqqxPX.js} +76 -76
  82. package/dist/{image-Cp3JDEBB.js → image-B0wGflxA.js} +1 -1
  83. package/dist/{image-DcpMiprB.js → image-CHzdaNJ4.js} +1 -1
  84. package/dist/{image-BiY-PfMh.js → image-D9uvDTrc.js} +3 -3
  85. package/dist/{image-ops-DYbDWaIA.js → image-ops-1OJMSAUX.js} +10 -10
  86. package/dist/index.js +72 -72
  87. package/dist/{inspect-ZJkNX0WL.js → inspect-CllGjsWo.js} +4 -4
  88. package/dist/{install-safe-path-Qqr_t_tH.js → install-safe-path-tCLiMpmO.js} +11 -11
  89. package/dist/{installs-O9KlRu9h.js → installs-C1Cebk97.js} +10 -10
  90. package/dist/{ir-Dt4hOzxG.js → ir-DZam9q5M.js} +6 -6
  91. package/dist/{lifecycle-core-BkPSoGM2.js → lifecycle-core-D6LYXpFj.js} +5 -5
  92. package/dist/llm-slug-generator.js +6 -6
  93. package/dist/{local-roots-BBeKX7PX.js → local-roots-aAFLQGkY.js} +2 -2
  94. package/dist/{login-1sleXoB4.js → login-dIlDkG4X.js} +3 -3
  95. package/dist/{login-qr-wCWBOMwB.js → login-qr-pbXdFORv.js} +5 -5
  96. package/dist/{logs-cli-DVeEdUCU.js → logs-cli-xOzIPrHm.js} +7 -7
  97. package/dist/{manager-C1CfGzZ2.js → manager-D4LJSRyZ.js} +13 -13
  98. package/dist/{markdown-tables-ZwP14ydw.js → markdown-tables-CEbN0fEm.js} +1 -1
  99. package/dist/{memory-cli-lk6fRiwy.js → memory-cli-Ca5r9AUb.js} +14 -14
  100. package/dist/{model-catalog-C3NLvWC2.js → model-catalog-DvBJ8pMD.js} +4 -4
  101. package/dist/{model-picker-LKZLY2DL.js → model-picker-Ddo3jHe-.js} +3 -3
  102. package/dist/{model-selection-X1oLh3CE.js → model-selection-CyFvYcRt.js} +9 -9
  103. package/dist/{model-CeeOcylL.js → model-tWhwnFf8.js} +1 -1
  104. package/dist/{models-BmiRYEVd.js → models-ZEOGlFx7.js} +2 -2
  105. package/dist/{models-cli-Tf61I97Q.js → models-cli-BM1QyeXr.js} +3 -3
  106. package/dist/{models-cli-4vQrbW6G.js → models-cli-BwOQhZ_c.js} +72 -72
  107. package/dist/{models-config-CqDdkHJq.js → models-config-qyOXrOli.js} +7 -7
  108. package/dist/{node-cli-Jj2LTGzF.js → node-cli-C_G-Q3h-.js} +28 -28
  109. package/dist/{node-service-CJygtY5M.js → node-service-Cxz4e-Qd.js} +1 -1
  110. package/dist/{nodes-cli-C43ifECe.js → nodes-cli-BcnuJajV.js} +10 -10
  111. package/dist/{nodes-screen-C99kfE1u.js → nodes-screen-VBGXKdLk.js} +4 -4
  112. package/dist/{npm-registry-spec-DR_at_Hp.js → npm-registry-spec-C2JDdSZS.js} +9 -9
  113. package/dist/{onboard-FpptSqHZ.js → onboard-CU-pntZD.js} +2 -2
  114. package/dist/{onboard-D8uxVvMq.js → onboard-DQ34giB5.js} +13 -13
  115. package/dist/{onboard-channels-DOKid2w1.js → onboard-channels-BOBxxhHX.js} +5 -5
  116. package/dist/{onboard-channels-Q_xxgZ8O.js → onboard-channels-g5cvwJpx.js} +1 -1
  117. package/dist/{onboard-custom-DPJiy9aT.js → onboard-custom-C7O-zfQ1.js} +3 -3
  118. package/dist/{onboard-helpers-Dixh6cNh.js → onboard-helpers-ZmZYzlq3.js} +8 -8
  119. package/dist/{onboard-hooks-lsws7g2s.js → onboard-hooks-BAA8CoVv.js} +1 -1
  120. package/dist/{onboard-remote-B66ZWtkN.js → onboard-remote-zUjD7UtM.js} +1 -1
  121. package/dist/{onboard-skills-B0IA09ig.js → onboard-skills-BB0YhUmF.js} +4 -4
  122. package/dist/{onboarding-CdlGKa0U.js → onboarding-CXWUjdM5.js} +13 -13
  123. package/dist/{onboarding-DhIEUmp5.js → onboarding-DWs6tHZ9.js} +3 -3
  124. package/dist/{onboarding.finalize-CEYLIXkq.js → onboarding.finalize-CAYf88mf.js} +6 -6
  125. package/dist/{onboarding.finalize-DyBsPxXJ.js → onboarding.finalize-vupGASMK.js} +74 -74
  126. package/dist/{onboarding.gateway-config-CCJqI0kw.js → onboarding.gateway-config-CJUgDC6Y.js} +14 -14
  127. package/dist/{openai-model-default-BJ1IZ3TN.js → openai-model-default-DMjQRsb1.js} +2 -2
  128. package/dist/{outbound-NJCy0h4x.js → outbound-DB5Zus0-.js} +4 -4
  129. package/dist/{outbound-attachment-D62E0xDI.js → outbound-attachment-D_QuKi8U.js} +2 -2
  130. package/dist/{pairing-cli-CcW0ndhB.js → pairing-cli-CBLfGvqW.js} +8 -8
  131. package/dist/{pairing-labels-27SOKDzJ.js → pairing-labels-2S6x2UoV.js} +1 -1
  132. package/dist/{pairing-store-B8ktu-6j.js → pairing-store-CK726Dzq.js} +2 -2
  133. package/dist/{pairing-token-AV-MMfVE.js → pairing-token-CX3NN_qj.js} +7 -7
  134. package/dist/{paths-CT6jsi4E.js → paths-BBm9fwuG.js} +1 -1
  135. package/dist/{pi-auth-json-CCneTXUh.js → pi-auth-json-DayrlDg_.js} +3 -3
  136. package/dist/{pi-embedded-wr4HXhzm.js → pi-embedded-CJsSOG2j.js} +147 -185
  137. package/dist/{pi-embedded-BThV36aG.js → pi-embedded-DwbQz0MC.js} +147 -185
  138. package/dist/{pi-embedded-helpers-DO6u9K2t.js → pi-embedded-helpers-CNPyv_ax.js} +6 -6
  139. package/dist/{pi-embedded-helpers-ag2bosuj.js → pi-embedded-helpers-DLFjnVBb.js} +4 -4
  140. package/dist/{pi-embedded-helpers-B8kqLWns.js → pi-embedded-helpers-lgx_U5KS.js} +4 -4
  141. package/dist/{pi-tools.policy-juZV2uUv.js → pi-tools.policy-CIDBbw6x.js} +4 -4
  142. package/dist/{plugin-auto-enable-Bbm7MwFV.js → plugin-auto-enable-BzX1uAKy.js} +2 -2
  143. package/dist/{plugin-registry-DvWWctC9.js → plugin-registry-BDpdOTei.js} +1 -1
  144. package/dist/{plugin-registry-lWWSu9UD.js → plugin-registry-CZeHSx_c.js} +3 -3
  145. package/dist/plugin-sdk/agents/model-aware-stream.d.ts +41 -0
  146. package/dist/plugin-sdk/agents/model-token-filter.d.ts +11 -0
  147. package/dist/plugin-sdk/agents/pi-embedded-runner/extra-params.d.ts +13 -0
  148. package/dist/plugin-sdk/{channel-web-BnrTC55Y.js → channel-web-uUypcT9Q.js} +1 -1
  149. package/dist/plugin-sdk/index.js +2 -2
  150. package/dist/plugin-sdk/{reply-kuMxu6Q4.js → reply-DTKTuCrn.js} +133 -171
  151. package/dist/plugin-sdk/{web-TMIhKQyF.js → web-Dh6Youzv.js} +2 -2
  152. package/dist/{plugins-BAyxWQSz.js → plugins-DKDeQZF0.js} +2 -2
  153. package/dist/{plugins-cli-BHfzYAq6.js → plugins-cli-CCQ3skeQ.js} +71 -71
  154. package/dist/{plugins-cli-wlWRx4Oj.js → plugins-cli-D_RzeRoE.js} +2 -2
  155. package/dist/{ports-OZQlocB7.js → ports-BOmtxoTv.js} +2 -2
  156. package/dist/{ports-b36gHZbA.js → ports-BX0kKI0g.js} +1 -1
  157. package/dist/{program-CKy7s-bm.js → program-Cl9i8ubQ.js} +7 -7
  158. package/dist/{program-context-D4gbh6dg.js → program-context-BbmYGW-V.js} +39 -39
  159. package/dist/{prompt-select-styled-bh0GLMiQ.js → prompt-select-styled-BN0T6GxF.js} +4 -4
  160. package/dist/{prompt-select-styled-DlGPNq9c.js → prompt-select-styled-BfuyvChh.js} +38 -38
  161. package/dist/{provider-auth-helpers-B-YsKbwc.js → provider-auth-helpers-CkmLFHXL.js} +1 -1
  162. package/dist/{provider-auth-helpers-Bd5VVReu.js → provider-auth-helpers-CuT5EHza.js} +5 -5
  163. package/dist/{push-apns-ByyOJyDl.js → push-apns-CFkFVwEz.js} +1 -1
  164. package/dist/{push-apns-0et2AR44.js → push-apns-DeJt9kAO.js} +4 -4
  165. package/dist/{pw-ai-Ch7liUOW.js → pw-ai-BnAKvSuw.js} +1 -1
  166. package/dist/{pw-ai-1htA-NnS.js → pw-ai-De-KR9_s.js} +1 -1
  167. package/dist/{pw-ai-MVzi113V.js → pw-ai-DqL87js3.js} +7 -7
  168. package/dist/{qmd-manager-BP2r8b1D.js → qmd-manager-D85GJrir.js} +18 -18
  169. package/dist/{qr-cli-17laLZm_.js → qr-cli-jd9LdZpq.js} +3 -3
  170. package/dist/{register.agent-oKma6YjU.js → register.agent-BQm4YmZp.js} +6 -6
  171. package/dist/{register.agent-Dhijhxr5.js → register.agent-BygseJ7t.js} +81 -81
  172. package/dist/register.configure-C2fhjZze.js +147 -0
  173. package/dist/{register.configure-BX8vQ2Np.js → register.configure-Cj95vB2U.js} +6 -6
  174. package/dist/{register.maintenance-OJCduNdt.js → register.maintenance-CClfXq5e.js} +8 -8
  175. package/dist/{register.maintenance-B3TPb969.js → register.maintenance-K1x3E7OS.js} +84 -84
  176. package/dist/{register.message-CX8C_Fds.js → register.message-BSr-kUvJ.js} +2 -2
  177. package/dist/{register.message-D0aswsGo.js → register.message-CSRzBl-c.js} +63 -63
  178. package/dist/{register.onboard-CSepiSPt.js → register.onboard-Bd6wPydW.js} +4 -4
  179. package/dist/{register.onboard-BHTyEs6d.js → register.onboard-TsU21RR7.js} +74 -74
  180. package/dist/{register.setup-uhpgkBjU.js → register.setup-C9gu0W5l.js} +77 -77
  181. package/dist/{register.setup-lZSHKiGQ.js → register.setup-DK-zsne2.js} +4 -4
  182. package/dist/{register.status-health-sessions-Cbavf8do.js → register.status-health-sessions-DN5Ui3V0.js} +3 -3
  183. package/dist/{register.status-health-sessions-v1KN3eEp.js → register.status-health-sessions-rZsuoqtr.js} +75 -75
  184. package/dist/{register.subclis-DBEv5xOP.js → register.subclis-DnzHFtLz.js} +9 -9
  185. package/dist/{replies-BL7IBg12.js → replies-vgss3_QA.js} +1 -1
  186. package/dist/{reply-DVxU0AMq.js → reply-Ca3slrA3.js} +262 -300
  187. package/dist/{reply-prefix-BLOOs1aW.js → reply-prefix-CE2YmmsD.js} +1 -1
  188. package/dist/{resolve-route-BcnaXYvh.js → resolve-route-BMoTaVAH.js} +2 -2
  189. package/dist/{routes-CE-ohckF.js → routes-Ba9CUQ8M.js} +8 -8
  190. package/dist/{rpc-wovSCB5v.js → rpc-BfhojW8g.js} +1 -1
  191. package/dist/{run-main-DspjiCY1.js → run-main-DlHh5iOO.js} +14 -14
  192. package/dist/{runner-Cen70krW.js → runner-CUglpiFP.js} +20 -20
  193. package/dist/{runner-BcQ0sF9T.js → runner-DUBExAb5.js} +1 -1
  194. package/dist/{runner-D0QUGA_X.js → runner-odEv83vv.js} +1 -1
  195. package/dist/{sandbox-BzNrUHpt.js → sandbox-C-T6hOMv.js} +18 -18
  196. package/dist/{sandbox-cli-CZrMO34w.js → sandbox-cli-BllVdQzR.js} +20 -20
  197. package/dist/{security-cli-CeBoEmeN.js → security-cli-BFLtWWHy.js} +36 -36
  198. package/dist/{send-dH0xroTu.js → send-CPF8hSFp.js} +4 -4
  199. package/dist/{send-C95ZRvja.js → send-CXxQ_f7L.js} +6 -6
  200. package/dist/{send-BnuIB59F.js → send-CZr1hVHY.js} +13 -13
  201. package/dist/{send-BEeuDXqy.js → send-Cutb0ZDY.js} +6 -6
  202. package/dist/{send-BjdAgYLu.js → send-tanEMpHN.js} +6 -6
  203. package/dist/{server-context-DUXqnh6l.js → server-context-CEpFjqSk.js} +5 -5
  204. package/dist/{server-methods-BgBq7KRL.js → server-methods-BYOkyf-q.js} +54 -54
  205. package/dist/{server-methods-B9alalq5.js → server-methods-b_Qod4tt.js} +7 -7
  206. package/dist/{server-node-events-BrBsrcCd.js → server-node-events-60nWpTh1.js} +63 -63
  207. package/dist/{server-node-events-DWG81_Fo.js → server-node-events-oU4Amei7.js} +2 -2
  208. package/dist/{service--qMN5DPm.js → service-Cl74hx8J.js} +15 -15
  209. package/dist/{session-CsIk0Sqq.js → session-DIBTkyvE.js} +2 -2
  210. package/dist/{sessions-D5a7H247.js → sessions-DgYpBvse.js} +13 -13
  211. package/dist/{shared-Jm_QdQJQ.js → shared-BJvwnR5z.js} +1 -1
  212. package/dist/{shared-Gi3l7nlY.js → shared-Knv1hy6h.js} +3 -3
  213. package/dist/{skill-commands-ZXbEITKi.js → skill-commands-Cxw-jNxU.js} +5 -5
  214. package/dist/{skill-scanner-CXg9eeyc.js → skill-scanner-CLs8u6vQ.js} +5 -5
  215. package/dist/{skills-DqQUtOph.js → skills-6jdJQ5ZL.js} +4 -4
  216. package/dist/{skills-cli-D1JL_utC.js → skills-cli-BZTBLQTt.js} +7 -7
  217. package/dist/{skills-install-DjcTy3CT.js → skills-install-D67isO1L.js} +3 -3
  218. package/dist/{skills-status-DS-NZQiq.js → skills-status-CURJKnyY.js} +1 -1
  219. package/dist/{sqlite-BV5ILFtC.js → sqlite-Dx3J_aSE.js} +12 -12
  220. package/dist/{status-CgPPKk09.js → status-BXW5l4sd.js} +25 -25
  221. package/dist/{status-DxodHhzX.js → status-BxbbINLV.js} +2 -2
  222. package/dist/{status-DqMwkAnF.js → status-D3-lP2_9.js} +1 -1
  223. package/dist/{status-CkJV2sl6.js → status-kdz9P3tw.js} +3 -3
  224. package/dist/{status.update-CmGpjKSr.js → status.update-DtwCUTf-.js} +3 -3
  225. package/dist/{store-DvtcmOKj.js → store-r1DJSDq-.js} +5 -5
  226. package/dist/{subagent-registry-CBklD0OL.js → subagent-registry-CbTbJKLs.js} +133 -171
  227. package/dist/{symi-root-MF6_6SCS.js → symi-root-CrGJbkzf.js} +2 -2
  228. package/dist/{system-cli-Buhvt_H5.js → system-cli-UMsMEurS.js} +11 -11
  229. package/dist/{systemd-hints-Db0oImvK.js → systemd-hints-BR6gChwm.js} +6 -6
  230. package/dist/{systemd-linger-BXwqn1jL.js → systemd-linger-aQ75ZlXY.js} +1 -1
  231. package/dist/{systemd-AhJEsmIk.js → systemd-riq8uNJQ.js} +5 -5
  232. package/dist/{tables-C38rzF6E.js → tables-BEzT0Da4.js} +1 -1
  233. package/dist/{target-errors-CCz79CmV.js → target-errors-7AvoVa10.js} +4 -4
  234. package/dist/{tool-images-B-pqX3nX.js → tool-images-DvUBlqjX.js} +1 -1
  235. package/dist/{tui-C0A9W969.js → tui-CriznorL.js} +7 -7
  236. package/dist/{tui-cli-tCnkNdSx.js → tui-cli-CSIdfCTR.js} +28 -28
  237. package/dist/{update-check-C0oYCI89.js → update-check-CtckACbb.js} +5 -5
  238. package/dist/{update-cli-DYrpyu4a.js → update-cli-B5TI650v.js} +94 -94
  239. package/dist/{update-cli-BqdgQuYp.js → update-cli-Cy0gdWRf.js} +8 -8
  240. package/dist/{update-runner-CmZW3aeK.js → update-runner-B0NdgPvD.js} +1 -1
  241. package/dist/{update-runner-BgzyPjF5.js → update-runner-Bacq0oLK.js} +15 -15
  242. package/dist/{update-Df4sEKtI.js → update-rw7wJwHd.js} +3 -3
  243. package/dist/{web-GL_nqURg.js → web-D-oCzJTU.js} +1 -1
  244. package/dist/{web-CfZp0Jv6.js → web-DWNtg4iV.js} +6 -6
  245. package/dist/web-DmED3zDP.js +109 -0
  246. package/dist/{web-DNQzo8ao.js → web-QVwKg99Q.js} +6 -6
  247. package/dist/{webhooks-cli-Bp-7Rs2Y.js → webhooks-cli-cD58DWAE.js} +4 -4
  248. package/dist/{whatsapp-actions-CFXNPLco.js → whatsapp-actions-DbcsdOH3.js} +15 -15
  249. package/dist/{with-timeout-Cs6_LnHB.js → with-timeout-gmK6RciS.js} +1 -1
  250. package/dist/{workspace-dirs-DKu48umx.js → workspace-dirs-GpkFi6Kw.js} +1 -1
  251. package/dist/{wsl-BbXxnokd.js → wsl-C4424szg.js} +2 -2
  252. package/package.json +1 -1
  253. package/dist/register.configure-BcZ-7Yir.js +0 -147
  254. package/dist/session-dirs-D3qlvucD.js +0 -18
  255. package/dist/web-DsCqmzyk.js +0 -109
@@ -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-CJMcIRQM.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-CHwyw6l5.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,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-CJMcIRQM.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-CHwyw6l5.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
  }
@@ -2,18 +2,18 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { M as logVerbose, O as danger } from "./utils-B-0b9bGM.js";
3
3
  import { t as createSubsystemLogger } from "./subsystem-D9vIQve0.js";
4
4
  import { t as isTruthyEnvValue } from "./env-DPCHYPeH.js";
5
- import { i as loadConfig } from "./config-CJMcIRQM.js";
5
+ import { i as loadConfig } from "./config-CHwyw6l5.js";
6
6
  import { n as redactSensitiveText } from "./redact-f-Q-hFt_.js";
7
7
  import { n as formatErrorMessage, r as formatUncaughtError, t as extractErrorCode } from "./errors-BF3TeRH2.js";
8
- import { h as normalizeMimeType, p as isGifMedia, u as getFileExtension, v as mediaKindFromMime } from "./image-ops-DYbDWaIA.js";
9
- import { u as resolveTelegramAccount } from "./plugins-BAyxWQSz.js";
10
- import { n as resolveMarkdownTableMode } from "./markdown-tables-ZwP14ydw.js";
11
- import { a as loadWebMedia, n as markdownToIR, t as chunkMarkdownIR } from "./ir-Dt4hOzxG.js";
8
+ import { h as normalizeMimeType, p as isGifMedia, u as getFileExtension, v as mediaKindFromMime } from "./image-ops-1OJMSAUX.js";
9
+ import { u as resolveTelegramAccount } from "./plugins-DKDeQZF0.js";
10
+ import { n as resolveMarkdownTableMode } from "./markdown-tables-CEbN0fEm.js";
11
+ import { a as loadWebMedia, n as markdownToIR, t as chunkMarkdownIR } from "./ir-DZam9q5M.js";
12
12
  import { t as renderMarkdownWithMarkers } from "./render-CXDO_kgw.js";
13
13
  import { n as normalizePollInput } from "./polls-DhH5YkzN.js";
14
14
  import { i as createTelegramRetryRunner, n as recordChannelActivity } from "./channel-activity-BOiuJS3t.js";
15
15
  import { t as resolveFetch } from "./fetch-DTNGXEzX.js";
16
- import { i as readChannelAllowFromStore } from "./pairing-store-B8ktu-6j.js";
16
+ import { i as readChannelAllowFromStore } from "./pairing-store-CK726Dzq.js";
17
17
  import { t as makeProxyFetch } from "./proxy-DU7W9XSc.js";
18
18
  import process$1 from "node:process";
19
19
  import * as net$1 from "node:net";
@@ -1,12 +1,12 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { i as loadConfig } from "./config-CJMcIRQM.js";
3
- import { v as mediaKindFromMime } from "./image-ops-DYbDWaIA.js";
4
- import { n as resolveSignalAccount } from "./accounts-mN_EcgxC.js";
2
+ import { i as loadConfig } from "./config-CHwyw6l5.js";
3
+ import { v as mediaKindFromMime } from "./image-ops-1OJMSAUX.js";
4
+ import { n as resolveSignalAccount } from "./accounts-DyJN4_vR.js";
5
5
  import { n as fetchWithTimeout } from "./fetch-timeout-Db3da8yR.js";
6
- import { n as resolveMarkdownTableMode } from "./markdown-tables-ZwP14ydw.js";
7
- import { n as markdownToIR, t as chunkMarkdownIR } from "./ir-Dt4hOzxG.js";
6
+ import { n as resolveMarkdownTableMode } from "./markdown-tables-CEbN0fEm.js";
7
+ import { n as markdownToIR, t as chunkMarkdownIR } from "./ir-DZam9q5M.js";
8
8
  import { t as resolveFetch } from "./fetch-DTNGXEzX.js";
9
- import { t as resolveOutboundAttachmentFromUrl } from "./outbound-attachment-D62E0xDI.js";
9
+ import { t as resolveOutboundAttachmentFromUrl } from "./outbound-attachment-D_QuKi8U.js";
10
10
  import { randomUUID } from "node:crypto";
11
11
 
12
12
  //#region src/signal/client.ts
@@ -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-CJMcIRQM.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-r4RThPxq.js";
2
+ import { i as loadConfig, l as writeConfigFile, r as createConfigIO } from "./config-CHwyw6l5.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-DtPkPq9T.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-MVzi113V.js");
155
+ return await import("./pw-ai-DqL87js3.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-MVzi113V.js")).closePlaywrightBrowserConnection();
778
+ await (await import("./pw-ai-DqL87js3.js")).closePlaywrightBrowserConnection();
779
779
  } catch {}
780
780
  if (profileState.running) await stopRunningBrowser();
781
781
  try {
782
- await (await import("./pw-ai-MVzi113V.js")).closePlaywrightBrowserConnection();
782
+ await (await import("./pw-ai-DqL87js3.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 { $n as textToSpeech, Bn as onAgentEvent, C as loadSessionEntry, Cr as isSystemEventContextChanged, E as resolveSessionModelRef, En as stopSubagentsForRequester, Fr as resolveAgentTimeoutMs, Ft as resolveAgentOutboundTarget, Gn as isTtsProviderConfigured, H as formatDoctorNonInteractiveHint, Hn as resolveUserTimezone, Ht as resolveSendPolicy, Jn as resolveTtsConfig, Kn as resolveTtsApiKey, Mn as listDescendantRunsForRequester, Mt as agentCommand, Nn as listSubagentRunsForRequester, O as ensureOutboundSessionEntry, Pt as resolveAgentDeliveryPlan, Qn as setTtsProvider, R as scheduleGatewaySigusr1Restart, Rt as resolveOutboundTarget, S as loadCombinedSessionStoreForGateway, Sn as formatZonedTimestamp, Sr as enqueueSystemEvent, St as loadProviderUsageSummary, T as resolveGatewaySessionStoreTarget, Tn as isAbortTrigger, Un as getTtsProvider, Vn as registerAgentRunContext, Vt as normalizeSendPolicy, Wn as isTtsEnabled, Wt as createOutboundSendDeps, X as normalizeCronJobPatch, Xn as resolveTtsProviderOrder, Y as normalizeCronJobCreate, Yn as resolveTtsPrefsPath, Zn as setTtsEnabled, an as unbindThreadBindingsBySessionKey, b as listAgentsForGateway, br as applyVerboseOverride, bt as normalizeGroupActivation, c as clearSessionQueues, er as OPENAI_TTS_MODELS, f as waitForEmbeddedPiRunEnd, hn as createReplyDispatcher, k as resolveOutboundSessionRoute, lt as applyBrowserProxyPaths, mn as dispatchInboundMessage, n as BARE_SESSION_RESET_PROMPT, q as writeRestartSentinel, qn as resolveTtsAutoMode, tr as OPENAI_TTS_VOICES, u as abortEmbeddedPiRun, ut as persistBrowserProxyFiles, v as canonicalizeSpawnedByForAgent, vt as loadSymiPlugins, w as pruneLegacyStoreKeys, x as listSessionsFromStore, xr as parseVerboseOverride, yr as applyModelOverrideToSessionEntry } from "./reply-DVxU0AMq.js";
4
+ import { $n as textToSpeech, Bn as onAgentEvent, C as loadSessionEntry, Cr as isSystemEventContextChanged, E as resolveSessionModelRef, En as stopSubagentsForRequester, Fr as resolveAgentTimeoutMs, Ft as resolveAgentOutboundTarget, Gn as isTtsProviderConfigured, H as formatDoctorNonInteractiveHint, Hn as resolveUserTimezone, Ht as resolveSendPolicy, Jn as resolveTtsConfig, Kn as resolveTtsApiKey, Mn as listDescendantRunsForRequester, Mt as agentCommand, Nn as listSubagentRunsForRequester, O as ensureOutboundSessionEntry, Pt as resolveAgentDeliveryPlan, Qn as setTtsProvider, R as scheduleGatewaySigusr1Restart, Rt as resolveOutboundTarget, S as loadCombinedSessionStoreForGateway, Sn as formatZonedTimestamp, Sr as enqueueSystemEvent, St as loadProviderUsageSummary, T as resolveGatewaySessionStoreTarget, Tn as isAbortTrigger, Un as getTtsProvider, Vn as registerAgentRunContext, Vt as normalizeSendPolicy, Wn as isTtsEnabled, Wt as createOutboundSendDeps, X as normalizeCronJobPatch, Xn as resolveTtsProviderOrder, Y as normalizeCronJobCreate, Yn as resolveTtsPrefsPath, Zn as setTtsEnabled, an as unbindThreadBindingsBySessionKey, b as listAgentsForGateway, br as applyVerboseOverride, bt as normalizeGroupActivation, c as clearSessionQueues, er as OPENAI_TTS_MODELS, f as waitForEmbeddedPiRunEnd, hn as createReplyDispatcher, k as resolveOutboundSessionRoute, lt as applyBrowserProxyPaths, mn as dispatchInboundMessage, n as BARE_SESSION_RESET_PROMPT, q as writeRestartSentinel, qn as resolveTtsAutoMode, tr as OPENAI_TTS_VOICES, u as abortEmbeddedPiRun, ut as persistBrowserProxyFiles, v as canonicalizeSpawnedByForAgent, vt as loadSymiPlugins, w as pruneLegacyStoreKeys, x as listSessionsFromStore, xr as parseVerboseOverride, yr as applyModelOverrideToSessionEntry } from "./reply-Ca3slrA3.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-X1oLh3CE.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-CyFvYcRt.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-CJMcIRQM.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-CHwyw6l5.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-D5a7H247.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-DgYpBvse.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-Cs6_LnHB.js";
21
- import { C as getGlobalHookRunner, o as normalizeReplyPayloadsForDelivery, t as deliverOutboundPayloads } from "./deliver-Um8yyhRA.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-BsrZnuSi.js";
24
- import { l as authorizeOperatorScopesForMethod, s as ADMIN_SCOPE$2, u as isNodeRoleMethod } from "./call-Dd7-bkfG.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-gmK6RciS.js";
21
+ import { C as getGlobalHookRunner, o as normalizeReplyPayloadsForDelivery, t as deliverOutboundPayloads } from "./deliver-CceEhg3d.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-CQSyCS4M.js";
24
+ import { l as authorizeOperatorScopesForMethod, s as ADMIN_SCOPE$2, u as isNodeRoleMethod } from "./call-CJaS1iRF.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-ZXbEITKi.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-Cxw-jNxU.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-Dixh6cNh.js";
31
+ import { w as resolveAssistantAvatarUrl } from "./onboard-helpers-ZmZYzlq3.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-B8H3Bqpv.js";
33
+ import { n as createBrowserControlContext, r as startBrowserControlServiceFromConfig } from "./control-service-Bz7rxLWq.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-BSB9NPSO.js";
42
- import { n as getStatusSummary } from "./status-CgPPKk09.js";
43
- import { s as setHeartbeatsEnabled } from "./health-DkKXiUEF.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-0et2AR44.js";
46
- import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-u_ibObha.js";
41
+ import { o as isNodeCommandAllowed, s as resolveNodeCommandAllowlist } from "./audit-CrITRV6w.js";
42
+ import { n as getStatusSummary } from "./status-BXW5l4sd.js";
43
+ import { s as setHeartbeatsEnabled } from "./health-CypF_2ZD.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-DeJt9kAO.js";
46
+ import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-DCE3RGr9.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-BgzyPjF5.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-Bacq0oLK.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,
@@ -5999,14 +5999,14 @@ function isRollingLogFile(file) {
5999
5999
  return ROLLING_LOG_RE.test(path.basename(file));
6000
6000
  }
6001
6001
  async function resolveLogFile(file) {
6002
- if (await fsPromises.stat(file).catch(() => null)) return file;
6002
+ if (await fs$1.stat(file).catch(() => null)) return file;
6003
6003
  if (!isRollingLogFile(file)) return file;
6004
6004
  const dir = path.dirname(file);
6005
- const entries = await fsPromises.readdir(dir, { withFileTypes: true }).catch(() => null);
6005
+ const entries = await fs$1.readdir(dir, { withFileTypes: true }).catch(() => null);
6006
6006
  if (!entries) return file;
6007
6007
  return (await Promise.all(entries.filter((entry) => entry.isFile() && ROLLING_LOG_RE.test(entry.name)).map(async (entry) => {
6008
6008
  const fullPath = path.join(dir, entry.name);
6009
- const fileStat = await fsPromises.stat(fullPath).catch(() => null);
6009
+ const fileStat = await fs$1.stat(fullPath).catch(() => null);
6010
6010
  return fileStat ? {
6011
6011
  path: fullPath,
6012
6012
  mtimeMs: fileStat.mtimeMs
@@ -6014,7 +6014,7 @@ async function resolveLogFile(file) {
6014
6014
  }))).filter((entry) => Boolean(entry)).toSorted((a, b) => b.mtimeMs - a.mtimeMs)[0]?.path ?? file;
6015
6015
  }
6016
6016
  async function readLogSlice(params) {
6017
- const stat = await fsPromises.stat(params.file).catch(() => null);
6017
+ const stat = await fs$1.stat(params.file).catch(() => null);
6018
6018
  if (!stat) return {
6019
6019
  cursor: 0,
6020
6020
  size: 0,
@@ -6052,7 +6052,7 @@ async function readLogSlice(params) {
6052
6052
  truncated,
6053
6053
  reset
6054
6054
  };
6055
- const handle = await fsPromises.open(params.file, "r");
6055
+ const handle = await fs$1.open(params.file, "r");
6056
6056
  try {
6057
6057
  let prefix = "";
6058
6058
  if (start > 0) {
@@ -6853,7 +6853,7 @@ const nodeHandlers = {
6853
6853
  const p = params;
6854
6854
  const payloadJSON = typeof p.payloadJSON === "string" ? p.payloadJSON : p.payload !== void 0 ? JSON.stringify(p.payload) : null;
6855
6855
  await respondUnavailableOnThrow(respond, async () => {
6856
- const { handleNodeEvent } = await import("./server-node-events-BrBsrcCd.js");
6856
+ const { handleNodeEvent } = await import("./server-node-events-60nWpTh1.js");
6857
6857
  const nodeId = client?.connect?.device?.id ?? client?.connect?.client?.id ?? "node";
6858
6858
  await handleNodeEvent({
6859
6859
  deps: context.deps,
@@ -7372,7 +7372,7 @@ function broadcastPresenceSnapshot(params) {
7372
7372
  let _prevCpu = null;
7373
7373
  function getCpuPercent() {
7374
7374
  try {
7375
- const parts = fs$1.readFileSync("/proc/stat", "utf8").split("\n")[0].trim().split(/\s+/).slice(1).map(Number);
7375
+ const parts = fs$2.readFileSync("/proc/stat", "utf8").split("\n")[0].trim().split(/\s+/).slice(1).map(Number);
7376
7376
  const [user, nice, sys, idle, iowait] = parts;
7377
7377
  const total = parts.reduce((a, b) => a + b, 0);
7378
7378
  const active = total - idle - (iowait || 0);
@@ -7396,7 +7396,7 @@ function getCpuPercent() {
7396
7396
  }
7397
7397
  function getMemInfo() {
7398
7398
  try {
7399
- const text = fs$1.readFileSync("/proc/meminfo", "utf8");
7399
+ const text = fs$2.readFileSync("/proc/meminfo", "utf8");
7400
7400
  const get = (key) => parseInt(text.match(new RegExp(`${key}:\\s+(\\d+)`))?.[1] ?? "0", 10) * 1024;
7401
7401
  const total = get("MemTotal");
7402
7402
  const used = total - get("MemAvailable");
@@ -7415,7 +7415,7 @@ function getMemInfo() {
7415
7415
  }
7416
7416
  function getDiskInfo() {
7417
7417
  try {
7418
- const stats = fs$1.statfsSync("/");
7418
+ const stats = fs$2.statfsSync("/");
7419
7419
  const total = stats.blocks * stats.bsize;
7420
7420
  const used = total - stats.bfree * stats.bsize;
7421
7421
  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 resolveTtsApiKey, A as resolveAgentOutboundTarget, Cn as parseVerboseOverride, D as agentCommand, Dt as normalizeCronJobCreate, Gn as isAbortTrigger, Gt as applyBrowserProxyPaths, Hn as formatZonedTimestamp, K as dispatchInboundMessage, Kn as stopSubagentsForRequester, Kt as persistBrowserProxyFiles, Ln as resolveAgentTimeoutMs, N as createOutboundSendDeps, Ot as normalizeCronJobPatch, Qn as isTtsProviderConfigured, Qt as scheduleGatewaySigusr1Restart, Sn as applyVerboseOverride, Tn as isSystemEventContextChanged, Tr as registerAgentRunContext, Tt as writeRestartSentinel, Xn as getTtsProvider, Yn as resolveUserTimezone, Z as BARE_SESSION_RESET_PROMPT, Zn as isTtsEnabled, a as listSubagentRunsForRequester, ar as setTtsProvider, b as loadSymiPlugins, bt as formatDoctorNonInteractiveHint, c as clearSessionQueues, cr as OPENAI_TTS_VOICES, ct as ensureOutboundSessionEntry, er as resolveTtsAutoMode, f as waitForEmbeddedPiRunEnd, ft as resolveOutboundTarget, gn as resolveSendPolicy, hn as normalizeSendPolicy, i as listDescendantRunsForRequester, in as loadProviderUsageSummary, ir as setTtsEnabled, k as resolveAgentDeliveryPlan, lt as resolveOutboundSessionRoute, nn as normalizeGroupActivation, nr as resolveTtsPrefsPath, or as textToSpeech, q as createReplyDispatcher, rr as resolveTtsProviderOrder, sr as OPENAI_TTS_MODELS, tn as unbindThreadBindingsBySessionKey, tr as resolveTtsConfig, u as abortEmbeddedPiRun, wn as enqueueSystemEvent, wr as onAgentEvent, xn as applyModelOverrideToSessionEntry } from "./subagent-registry-CBklD0OL.js";
15
+ import { $n as resolveTtsApiKey, A as resolveAgentOutboundTarget, Cn as parseVerboseOverride, D as agentCommand, Dt as normalizeCronJobCreate, Gn as isAbortTrigger, Gt as applyBrowserProxyPaths, Hn as formatZonedTimestamp, K as dispatchInboundMessage, Kn as stopSubagentsForRequester, Kt as persistBrowserProxyFiles, Ln as resolveAgentTimeoutMs, N as createOutboundSendDeps, Ot as normalizeCronJobPatch, Qn as isTtsProviderConfigured, Qt as scheduleGatewaySigusr1Restart, Sn as applyVerboseOverride, Tn as isSystemEventContextChanged, Tr as registerAgentRunContext, Tt as writeRestartSentinel, Xn as getTtsProvider, Yn as resolveUserTimezone, Z as BARE_SESSION_RESET_PROMPT, Zn as isTtsEnabled, a as listSubagentRunsForRequester, ar as setTtsProvider, b as loadSymiPlugins, bt as formatDoctorNonInteractiveHint, c as clearSessionQueues, cr as OPENAI_TTS_VOICES, ct as ensureOutboundSessionEntry, er as resolveTtsAutoMode, f as waitForEmbeddedPiRunEnd, ft as resolveOutboundTarget, gn as resolveSendPolicy, hn as normalizeSendPolicy, i as listDescendantRunsForRequester, in as loadProviderUsageSummary, ir as setTtsEnabled, k as resolveAgentDeliveryPlan, lt as resolveOutboundSessionRoute, nn as normalizeGroupActivation, nr as resolveTtsPrefsPath, or as textToSpeech, q as createReplyDispatcher, rr as resolveTtsProviderOrder, sr as OPENAI_TTS_MODELS, tn as unbindThreadBindingsBySessionKey, tr as resolveTtsConfig, u as abortEmbeddedPiRun, wn as enqueueSystemEvent, wr as onAgentEvent, xn as applyModelOverrideToSessionEntry } from "./subagent-registry-CbTbJKLs.js";
16
16
  import { F as resolveMainSessionKey, I as resolveMainSessionKeyFromConfig, J as normalizeSessionDeliveryFields, N as resolveAgentMainSessionKey, P as resolveExplicitAgentSessionKey, R as snapshotSessionOrigin, S as stripEnvelopeFromMessages, _ as capArrayByJsonBytes, d as updateSessionStore, g as archiveSessionTranscripts, h as archiveFileOnDisk, o as loadSessionStore, t as extractDeliveryInfo, v as readSessionMessages, x as resolveSessionTranscriptCandidates, y as readSessionPreviewItemsFromTranscript } from "./sessions-CJXnZVjR.js";
17
17
  import { n as listChannelPlugins, r as normalizeChannelId, t as getChannelPlugin } from "./plugins-CwSlLxM8.js";
18
18
  import { n as createBrowserRouteDispatcher } from "./with-timeout-Di0nddLY.js";
@@ -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-Byo5jCLN.js";
40
- import { r as getStatusSummary } from "./status-DxodHhzX.js";
41
- import { c as setHeartbeatsEnabled } from "./health-CboWXJkq.js";
40
+ import { r as getStatusSummary } from "./status-BxbbINLV.js";
41
+ import { c as setHeartbeatsEnabled } from "./health-Bst5HnLF.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-ByyOJyDl.js";
44
- import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-Dt7B_P5o.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-CFkFVwEz.js";
44
+ import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-DTUAM1AG.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-CmZW3aeK.js";
47
+ import { t as runGatewayUpdate } from "./update-runner-B0NdgPvD.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";
@@ -6851,7 +6851,7 @@ const nodeHandlers = {
6851
6851
  const p = params;
6852
6852
  const payloadJSON = typeof p.payloadJSON === "string" ? p.payloadJSON : p.payload !== void 0 ? JSON.stringify(p.payload) : null;
6853
6853
  await respondUnavailableOnThrow(respond, async () => {
6854
- const { handleNodeEvent } = await import("./server-node-events-DWG81_Fo.js");
6854
+ const { handleNodeEvent } = await import("./server-node-events-oU4Amei7.js");
6855
6855
  const nodeId = client?.connect?.device?.id ?? client?.connect?.client?.id ?? "node";
6856
6856
  await handleNodeEvent({
6857
6857
  deps: context.deps,