@symerian/symi 3.4.2 → 3.4.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (346) hide show
  1. package/dist/{agent-CDUpwXQX.js → agent-BaSGoKPq.js} +8 -8
  2. package/dist/{agent-BcHmIY_n.js → agent-C8IIjDyn.js} +18 -18
  3. package/dist/{agent-scope-CKTVXF_1.js → agent-scope-DIjW66iO.js} +18 -18
  4. package/dist/{agents-Dx_B11LV.js → agents-D6Ygz9ED.js} +8 -8
  5. package/dist/{agents.config-D6lBCMyT.js → agents.config-D1nFwU81.js} +1 -1
  6. package/dist/{audit-CMPCYnHv.js → audit-BI8Rbs5q.js} +21 -21
  7. package/dist/{audit-FMN4BTKc.js → audit-nqP-JeOr.js} +8 -8
  8. package/dist/{auth-choice-s1SGAS0u.js → auth-choice-BBrEzoy2.js} +8 -8
  9. package/dist/{auth-choice-BJgf7XV6.js → auth-choice-Bx4Duu6u.js} +6 -6
  10. package/dist/{auth-choice-options-B5NLwpLs.js → auth-choice-options-BBYiPleR.js} +1 -1
  11. package/dist/{auth-choice-options-EWUh0VM6.js → auth-choice-options-C5b4PCvw.js} +1 -1
  12. package/dist/{auth-choice-prompt-BkTmN4sy.js → auth-choice-prompt-D8GvjOBX.js} +1 -1
  13. package/dist/{auth-choice-prompt-CXcrToaB.js → auth-choice-prompt-DBfm0y9l.js} +1 -1
  14. package/dist/{auth-profiles-BDvJK1Bg.js → auth-profiles-BFSVvFKy.js} +9 -9
  15. package/dist/{auth-token-BKp_ClDP.js → auth-token-SebYuqfR.js} +1 -1
  16. package/dist/{banner-C1DH2kVa.js → banner-l9GjW5Rm.js} +1 -1
  17. package/dist/{browser-cli-DW3CxkSc.js → browser-cli-BAxOL41p.js} +9 -9
  18. package/dist/{browser-cli-C6G2Ql9l.js → browser-cli-Bk8DxxeA.js} +4 -4
  19. package/dist/build-info.json +3 -3
  20. package/dist/bundled/boot-md/handler.js +8 -8
  21. package/dist/bundled/session-memory/handler.js +7 -7
  22. package/dist/{call-Dy_T6f6d.js → call-5IE9ycvm.js} +2 -4
  23. package/dist/{call-BjHvYJx2.js → call-BPJn2_th.js} +9 -11
  24. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  25. package/dist/{channel-options-77nGDc70.js → channel-options-COanIUoQ.js} +1 -1
  26. package/dist/{channel-options-BMZyRh5E.js → channel-options-DGUqfnbP.js} +1 -1
  27. package/dist/{channels-cli-C048Z7h-.js → channels-cli-B1zmnm5a.js} +54 -54
  28. package/dist/{channels-cli-CjQ8Rfpv.js → channels-cli-CZ3M3yE1.js} +27 -27
  29. package/dist/{chrome-BxWRyWC_.js → chrome-B0wRtBRB.js} +1 -1
  30. package/dist/{chrome-C0vnHDyY.js → chrome-B4P7ycw5.js} +1 -1
  31. package/dist/{chrome-droANDig.js → chrome-CPSDqbK6.js} +8 -8
  32. package/dist/{chrome-BQoO4LXq.js → chrome-VbDUdW0_.js} +2 -2
  33. package/dist/{cli-CXAyZ9dx.js → cli-C7I5uEFC.js} +42 -42
  34. package/dist/{cli-CpmVizCT.js → cli-CC5GrdTI.js} +23 -23
  35. package/dist/{client-CAz5aPpp.js → client-Dp8LUTmF.js} +2 -5
  36. package/dist/{client-Bs2zB0rY.js → client-qjXXRKCO.js} +3 -6
  37. package/dist/{command-registry-B9TplwzB.js → command-registry-ByBvyNis.js} +11 -11
  38. package/dist/{commands-registry-CLePPNDW.js → commands-registry-BNCcZy2y.js} +1 -1
  39. package/dist/{completion-cli-Dv8CNTMW.js → completion-cli-BFBbL-u4.js} +2 -2
  40. package/dist/{completion-cli-ecfjoaIU.js → completion-cli-rzEsCzmE.js} +12 -12
  41. package/dist/{config-BEaq2Sb6.js → config-DqMsGcSQ.js} +2 -4
  42. package/dist/{config-cli-CAwWFZwh.js → config-cli-BqzjDmIH.js} +4 -4
  43. package/dist/{config-cli-zMpHOTSD.js → config-cli-DSDGwckX.js} +2 -2
  44. package/dist/{config-guard-29sjAeg8.js → config-guard-CJcSKMuP.js} +6 -6
  45. package/dist/{config-guard-B2j-KuUQ.js → config-guard-Cu-dwAgi.js} +2 -2
  46. package/dist/{config-Cw7uo7Dh.js → config-igdtSRrZ.js} +0 -2
  47. package/dist/{config-validation-Bp2AdKjN.js → config-validation-Bp2wJ610.js} +1 -1
  48. package/dist/{config-validation-MUkEKwbD.js → config-validation-Bs1Gp2oG.js} +1 -1
  49. package/dist/{configure-Bh0-A3hM.js → configure-BazJdwKU.js} +15 -15
  50. package/dist/{configure-DvVtZB1V.js → configure-Dl1f1Den.js} +18 -18
  51. package/dist/{consolidate-DeA11kIO.js → consolidate-7Usm-b2g.js} +6 -6
  52. package/dist/{control-service-BTydj9Kk.js → control-service-DO8FjrS6.js} +4 -4
  53. package/dist/{control-service-DhlgNQGb.js → control-service-Fn3d9AlH.js} +4 -4
  54. package/dist/{control-ui-assets-D22DSxhv.js → control-ui-assets-DUhvOLUL.js} +1 -1
  55. package/dist/{cron-cli-5souN2YC.js → cron-cli-DXgI5Lid.js} +7 -10
  56. package/dist/{cron-cli-Cr8hrEDQ.js → cron-cli-DZyH2BfZ.js} +10 -13
  57. package/dist/{daemon-cli-OZuuMobs.js → daemon-cli-C6FSROt1.js} +11 -11
  58. package/dist/{daemon-cli-AVJLjFd5.js → daemon-cli-DmMYx5Uf.js} +6 -6
  59. package/dist/daemon-cli.js +2 -9
  60. package/dist/{daemon-runtime-CkBw3gG5.js → daemon-runtime-2Y9RfgcP.js} +1 -1
  61. package/dist/{daemon-runtime-Dr_xKl0r.js → daemon-runtime-BpfA4d6Q.js} +10 -10
  62. package/dist/{deliver-BwcK0QD6.js → deliver-BkCYBlzi.js} +5 -5
  63. package/dist/{deliver-vzAN9mRl.js → deliver-Mqq3tgqB.js} +5 -5
  64. package/dist/{deliver-ccf_boim.js → deliver-RwovDEDy.js} +2 -2
  65. package/dist/{deliver-Cl2fWxx4.js → deliver-izdrXPr4.js} +1 -1
  66. package/dist/{deps-B6QYsl_-.js → deps-bCHNuszw.js} +1 -1
  67. package/dist/{devices-cli-DN3SH89Z.js → devices-cli-D6xXc9Ym.js} +6 -6
  68. package/dist/{devices-cli-BXaodSI7.js → devices-cli-IMv-0zor.js} +3 -3
  69. package/dist/{diagnostics-nLP2i_BY.js → diagnostics-DxdqTfpW.js} +5 -5
  70. package/dist/{directory-cli-cK6CHm4W.js → directory-cli-3wlYB9In.js} +1 -1
  71. package/dist/{directory-cli-B72WzWuP.js → directory-cli-ClbYhd6z.js} +3 -3
  72. package/dist/{dm-policy-shared-DiZ3lMtl.js → dm-policy-shared-5HLej1br.js} +1 -1
  73. package/dist/{dns-cli-DPO4AuUq.js → dns-cli-CY2voLuR.js} +3 -3
  74. package/dist/{dns-cli-D6uc55C9.js → dns-cli-CoVIqRWx.js} +1 -1
  75. package/dist/{docs-cli-C2BEC5yU.js → docs-cli-DjQ3SvBq.js} +1 -1
  76. package/dist/{doctor-completion-Cvu8koMQ.js → doctor-completion-B8cqL1A0.js} +2 -2
  77. package/dist/{doctor-completion-DwrIExJJ.js → doctor-completion-BqbhVdbe.js} +1 -1
  78. package/dist/{doctor-config-flow-Cu1ZuFHd.js → doctor-config-flow-CYDx1U0Z.js} +9 -9
  79. package/dist/{doctor-config-flow-BayEnbIy.js → doctor-config-flow-wvoEFNeZ.js} +2 -2
  80. package/dist/entry.js +1 -1
  81. package/dist/{exec-approvals-cli-BN5OFwrg.js → exec-approvals-cli-B_P-1zVp.js} +13 -13
  82. package/dist/{exec-approvals-cli-BI9yAGI5.js → exec-approvals-cli-Dy1jvh2M.js} +5 -5
  83. package/dist/extensionAPI.js +6 -6
  84. package/dist/{fs-safe-DjAKGGJ8.js → fs-safe-B6nMaZqV.js} +6 -6
  85. package/dist/{gateway-cli-C_wDspkm.js → gateway-cli-DYJxZ5dh.js} +377 -9751
  86. package/dist/{gateway-cli-uquFQTQW.js → gateway-cli-DfRlFuH-.js} +334 -9708
  87. package/dist/{gateway-rpc-B5_ZCiHW.js → gateway-rpc-C1xjWlxu.js} +1 -1
  88. package/dist/{gateway-rpc-fQLZhzRK.js → gateway-rpc-DD_aXogj.js} +1 -1
  89. package/dist/glass-ui-ws-BNJkhJrL.js +346 -0
  90. package/dist/glass-ui-ws-BZvH4MBO.js +341 -0
  91. package/dist/{health-DUulgHFK.js → health-D8cKia4i.js} +5 -61
  92. package/dist/{health-D2CsIdFz.js → health-DdzNc1yA.js} +4 -60
  93. package/dist/{hooks-cli-6UBBpeAz.js → hooks-cli-DkP3Y4ou.js} +58 -58
  94. package/dist/{hooks-cli-C6XdXNdl.js → hooks-cli-qO421UdO.js} +26 -26
  95. package/dist/{hooks-status-DGjgoBZt.js → hooks-status-COU9Cw9_.js} +1 -1
  96. package/dist/{hooks-status-BQAuzmwT.js → hooks-status-uaFS2SUa.js} +1 -1
  97. package/dist/{image-ops-c7_of0HT.js → image-ops-C-gIIp7Q.js} +10 -10
  98. package/dist/index.js +49 -49
  99. package/dist/{inspect-op0Ov-v4.js → inspect-BDzd6yBs.js} +4 -4
  100. package/dist/{install-safe-path-B73BkVO3.js → install-safe-path-CQXx3s9R.js} +11 -11
  101. package/dist/{installs-BzgwvqqQ.js → installs-DhSLZRT7.js} +10 -10
  102. package/dist/{internal-C3o_xyzP.js → internal-CHnZdvRy.js} +9 -9
  103. package/dist/{lifecycle-core-BmGPBj_P.js → lifecycle-core-BEmljRfh.js} +5 -5
  104. package/dist/{lifecycle-core-Dark4HHr.js → lifecycle-core-uN2bsrZs.js} +2 -2
  105. package/dist/llm-slug-generator.js +7 -7
  106. package/dist/{local-roots-CUKhHNCV.js → local-roots-BnDnugq3.js} +1 -1
  107. package/dist/{logs-cli-Dg7J424l.js → logs-cli-BB0Mq8D1.js} +4 -4
  108. package/dist/{logs-cli-BXBN6_Kf.js → logs-cli-Dbmzz8m_.js} +7 -7
  109. package/dist/{manager-WHZtXzz0.js → manager-BD_cpL9b.js} +1 -1
  110. package/dist/{manager-tYTYy-pH.js → manager-BQaZlWzK.js} +1 -1
  111. package/dist/{manager-C_5p8DxF.js → manager-DOiW-Koo.js} +14 -14
  112. package/dist/{manager-DOfc0hW0.js → manager-MbrGCH4o.js} +1 -1
  113. package/dist/{memory-CjpS9o50.js → memory-Cl4I_45k.js} +4 -4
  114. package/dist/{memory-cli-CbV91o_X.js → memory-cli-CszP57Ee.js} +3 -3
  115. package/dist/{memory-cli-4vj-LpgO.js → memory-cli-DkD_OD70.js} +12 -12
  116. package/dist/{memory-BZPO-RoX.js → memory-kIYeV9aO.js} +5 -5
  117. package/dist/{model-CbRy_3xW.js → model-BRcKPW49.js} +1 -1
  118. package/dist/{model-catalog-Ba4R_zVe.js → model-catalog-C2rNhRI4.js} +2 -2
  119. package/dist/{model-catalog-BrW9BL1p.js → model-catalog-CaGfL-2g.js} +4 -4
  120. package/dist/{model-picker-DAOOfQUH.js → model-picker-4NUXHy8M.js} +2 -2
  121. package/dist/{model-picker-UrQQVAuN.js → model-picker-CV56GE8A.js} +3 -3
  122. package/dist/{models-EthIDORJ.js → models-BYi0Fo1a.js} +13 -13
  123. package/dist/{models-cli-BRnmApgY.js → models-cli-Bn9M1TgO.js} +55 -55
  124. package/dist/{models-cli-DSW-aLCj.js → models-cli-EdjvkvFO.js} +29 -29
  125. package/dist/{models-config-Dh1tABIl.js → models-config-Unnduxgs.js} +7 -7
  126. package/dist/{models-config-C2OLw8vc.js → models-config-yKxNCn4V.js} +1 -1
  127. package/dist/{node-cli-DXCDRV3y.js → node-cli-39H0MZ8q.js} +28 -28
  128. package/dist/{node-cli-SMqarSas.js → node-cli-C8FYMIjN.js} +12 -12
  129. package/dist/{node-service-n6G8Ybbk.js → node-service-tPO_yUk7.js} +1 -1
  130. package/dist/{nodes-cli-Fyv-oG6A.js → nodes-cli-C-03nIJ0.js} +10 -10
  131. package/dist/{nodes-cli-BpG8jU6q.js → nodes-cli-CqxQexTU.js} +4 -4
  132. package/dist/{nodes-screen-CT94yu_w.js → nodes-screen-JELuBMBi.js} +4 -4
  133. package/dist/{npm-registry-spec-B8X06AqB.js → npm-registry-spec-BXw_6vF6.js} +9 -9
  134. package/dist/{onboard-CLSFAKKt.js → onboard-_3W1qIFk.js} +13 -13
  135. package/dist/{onboard-channels-LkgOp2vs.js → onboard-channels-B2l6OoMg.js} +1 -1
  136. package/dist/{onboard-channels-DqhDDHZ3.js → onboard-channels-D_uUQbem.js} +4 -4
  137. package/dist/{onboard-custom-BRFhBogJ.js → onboard-custom-B2fJvyxt.js} +3 -3
  138. package/dist/{onboard-custom-BD_6SIA8.js → onboard-custom-DcZ2SEUv.js} +2 -2
  139. package/dist/{onboard-helpers-C5YryU1N.js → onboard-helpers-Bm-oyLWy.js} +2 -2
  140. package/dist/{onboard-helpers-wgkj6qF2.js → onboard-helpers-CHfdRdZR.js} +8 -8
  141. package/dist/{onboard-hooks-CknstfLG.js → onboard-hooks-DBYkemjF.js} +3 -3
  142. package/dist/{onboard-hooks-DotvaUqG.js → onboard-hooks-DgRzMz0E.js} +2 -2
  143. package/dist/{onboard-CEyd79t_.js → onboard-kDOde8WJ.js} +16 -16
  144. package/dist/{onboard-remote-DR9mcFjZ.js → onboard-remote-ecyetiyL.js} +1 -1
  145. package/dist/{onboard-remote-B5rlIYUq.js → onboard-remote-z8XLK4M0.js} +1 -1
  146. package/dist/{onboard-skills-_6kHqhHz.js → onboard-skills-BLvL0KPR.js} +4 -4
  147. package/dist/{onboard-skills-5rA5bRSG.js → onboard-skills-C53RGq_5.js} +2 -2
  148. package/dist/{onboarding-CJuG6AyD.js → onboarding-BJ27gXxY.js} +15 -15
  149. package/dist/{onboarding-CREA0oQK.js → onboarding-CXaQnqxR.js} +16 -16
  150. package/dist/{onboarding.finalize-CkgL8Zde.js → onboarding.finalize-CSgYg74M.js} +32 -32
  151. package/dist/{onboarding.finalize-7iPylQyi.js → onboarding.finalize-CsyhJcuq.js} +19 -19
  152. package/dist/{onboarding.gateway-config-DtNG0As8.js → onboarding.gateway-config-3JMN1xRf.js} +9 -9
  153. package/dist/{onboarding.gateway-config-BzM2v2U5.js → onboarding.gateway-config-Ft3f6Jba.js} +6 -6
  154. package/dist/{openai-model-default-CSl0PZzK.js → openai-model-default-BVPmAuXK.js} +1 -1
  155. package/dist/{openai-model-default-DeTAMJKz.js → openai-model-default-CDDFpxUr.js} +2 -2
  156. package/dist/{outbound-send-deps-CBRh4LsL.js → outbound-send-deps-Dmc3B-LK.js} +1 -1
  157. package/dist/{pairing-cli-MwIIeBee.js → pairing-cli-B_icqS8Y.js} +1 -1
  158. package/dist/{pairing-cli-BvP6MoPZ.js → pairing-cli-CJGA4j6G.js} +4 -4
  159. package/dist/{pairing-store-S9CXOhSG.js → pairing-store-BGf29nPx.js} +1 -1
  160. package/dist/{pairing-token-DorpwP8O.js → pairing-token-CURbSHdi.js} +7 -7
  161. package/dist/{paths-DaQrPPet.js → paths-Dc6A9_vI.js} +1 -1
  162. package/dist/{pi-auth-json-CVwNh4rb.js → pi-auth-json-SHGGQzOL.js} +5 -5
  163. package/dist/{pi-embedded-B7_uthwZ.js → pi-embedded-8Zh_Y5ur.js} +20 -41
  164. package/dist/{pi-embedded-helpers-BbBfO9m_.js → pi-embedded-helpers-BwBjqJM5.js} +1 -1
  165. package/dist/{pi-embedded-helpers-DGW2untm.js → pi-embedded-helpers-CAdI9wJ5.js} +6 -6
  166. package/dist/{pi-tools.policy--USPnaLr.js → pi-tools.policy-BaRznBvu.js} +2 -2
  167. package/dist/{pi-tools.policy-BcTgKDG6.js → pi-tools.policy-Dyx3nBmp.js} +3 -3
  168. package/dist/{plugin-auto-enable-BDPdHiLS.js → plugin-auto-enable-D2TNEv3x.js} +1 -1
  169. package/dist/{plugin-registry-5aIoUu-O.js → plugin-registry-D7ACpV2Y.js} +2 -2
  170. package/dist/{plugin-registry-bskbnEuW.js → plugin-registry-d4hMhLLZ.js} +3 -3
  171. package/dist/plugin-sdk/agents/system-prompt.d.ts +1 -1
  172. package/dist/plugin-sdk/agents/unified-runner.d.ts +5 -5
  173. package/dist/plugin-sdk/auto-reply/reply/turn-middleware.d.ts +2 -2
  174. package/dist/plugin-sdk/channels/plugins/types.adapters.d.ts +1 -21
  175. package/dist/plugin-sdk/channels/plugins/types.core.d.ts +1 -5
  176. package/dist/plugin-sdk/channels/plugins/types.d.ts +2 -2
  177. package/dist/plugin-sdk/channels/plugins/types.plugin.d.ts +1 -2
  178. package/dist/plugin-sdk/commands/health.d.ts +0 -12
  179. package/dist/plugin-sdk/config/types.base.d.ts +0 -1
  180. package/dist/plugin-sdk/config/types.hooks.d.ts +0 -1
  181. package/dist/plugin-sdk/config/types.tools.d.ts +1 -1
  182. package/dist/plugin-sdk/config/zod-schema.d.ts +0 -2
  183. package/dist/plugin-sdk/config/zod-schema.hooks.d.ts +0 -1
  184. package/dist/plugin-sdk/cron/service/ops.d.ts +0 -1
  185. package/dist/plugin-sdk/cron/service/state.d.ts +1 -1
  186. package/dist/plugin-sdk/cron/service/timer.d.ts +0 -1
  187. package/dist/plugin-sdk/cron/service.d.ts +0 -1
  188. package/dist/plugin-sdk/cron/types.d.ts +1 -1
  189. package/dist/plugin-sdk/gateway/protocol/index.d.ts +1 -2
  190. package/dist/plugin-sdk/gateway/protocol/schema/agent.d.ts +0 -1
  191. package/dist/plugin-sdk/gateway/protocol/schema/cron.d.ts +3 -3
  192. package/dist/plugin-sdk/index.js +6 -8
  193. package/dist/plugin-sdk/plugin-sdk/index.d.ts +1 -1
  194. package/dist/{plugins-cli-LQUO7D2v.js → plugins-cli-CPf1hMaZ.js} +51 -51
  195. package/dist/{plugins-cli-DMCWSACj.js → plugins-cli-D1gd8p9T.js} +25 -25
  196. package/dist/{ports-ChuJYhEL.js → ports-DRHSHvqY.js} +1 -1
  197. package/dist/{ports-EAVAOFyK.js → ports-DqxP-bXz.js} +2 -2
  198. package/dist/{program-BgrmtnFn.js → program-BPcy7UBj.js} +31 -31
  199. package/dist/{program-context-C_uJXnZV.js → program-context-DYS38Clb.js} +39 -39
  200. package/dist/{prompt-select-styled-B3nTSykf.js → prompt-select-styled-Kgvc0-w2.js} +38 -37
  201. package/dist/{prompt-select-styled-CuGBQ9LO.js → prompt-select-styled-uUOSg6Qq.js} +20 -19
  202. package/dist/{provider-auth-helpers-MMYRbW_U.js → provider-auth-helpers-BUC4xGK9.js} +4 -4
  203. package/dist/{provider-auth-helpers-IsZNkaS0.js → provider-auth-helpers-DpRoNr_8.js} +6 -6
  204. package/dist/{push-apns-C7t2qAZ6.js → push-apns-Bm39oOO9.js} +4 -4
  205. package/dist/{push-apns-qCbh6Vhl.js → push-apns-DqmFEcqh.js} +1 -1
  206. package/dist/{pw-ai-DuPDo_Ia.js → pw-ai-B0-pgbYu.js} +2 -2
  207. package/dist/{pw-ai-YJhl5L-z.js → pw-ai-B2NuWIL7.js} +7 -7
  208. package/dist/{pw-ai-Bc5uzn_J.js → pw-ai-BsEf8C15.js} +2 -2
  209. package/dist/{pw-ai-Tm3pd-HP.js → pw-ai-w6Qalz1W.js} +2 -2
  210. package/dist/{qmd-manager-CrRvB46v.js → qmd-manager-358OTDns.js} +19 -19
  211. package/dist/{qr-cli-Bv4zF-WM.js → qr-cli-Cx7DYTSk.js} +1 -1
  212. package/dist/{qr-cli-D1U-qIkG.js → qr-cli-hPIeUYAT.js} +3 -3
  213. package/dist/{redact-identifier-QYENCXvy.js → redact-identifier-Cm1VfV7E.js} +1 -1
  214. package/dist/{register.agent-BblNQlzT.js → register.agent-CCKcgAXs.js} +66 -66
  215. package/dist/{register.agent-BWcxonR9.js → register.agent-DZuxoC0a.js} +37 -37
  216. package/dist/register.configure-CJErdFO_.js +129 -0
  217. package/dist/{register.configure-D0T0kOp7.js → register.configure-JT8T7HO5.js} +41 -41
  218. package/dist/{register.maintenance-DLJpeuc4.js → register.maintenance-BMswbbSL.js} +66 -66
  219. package/dist/{register.maintenance-w7sKxODf.js → register.maintenance-CNcd1-Vv.js} +38 -38
  220. package/dist/{register.message-CXEwBJ1O.js → register.message-CpOXi1rz.js} +45 -45
  221. package/dist/{register.message-C3dCPjVc.js → register.message-_bfhetTg.js} +25 -25
  222. package/dist/{register.onboard-DJmVC_6h.js → register.onboard-CRNjEhnQ.js} +19 -19
  223. package/dist/{register.onboard-B520Ixsd.js → register.onboard-DR2Wu59i.js} +24 -24
  224. package/dist/{register.setup-BTse4F3a.js → register.setup-Crrj2t2B.js} +26 -26
  225. package/dist/{register.setup-Br-aZ0qD.js → register.setup-Dbe-Z2xu.js} +18 -18
  226. package/dist/{register.status-health-sessions-Dbizirr2.js → register.status-health-sessions-DZnebsxZ.js} +38 -38
  227. package/dist/{register.status-health-sessions-4dxLj6hJ.js → register.status-health-sessions-DmX0DLAt.js} +22 -22
  228. package/dist/{register.subclis-CSJZQox4.js → register.subclis-BRPnstmu.js} +28 -28
  229. package/dist/{replies-CbipVshj.js → replies-B2O2eRh6.js} +1 -1
  230. package/dist/{replies-CH1VlYZQ.js → replies-Bnh0owwH.js} +1 -1
  231. package/dist/{replies-DIWartyA.js → replies-DIHkSwoW.js} +1 -1
  232. package/dist/{replies-CjSfYK97.js → replies-DU-fXkSk.js} +1 -1
  233. package/dist/{reply-prefix-DZQBodKF.js → reply-prefix-BOdARKaY.js} +1 -1
  234. package/dist/{resolve-route-BbUl3Hi7.js → resolve-route-CRWE36h5.js} +1 -1
  235. package/dist/{routes-DiqMB1cp.js → routes-BMShi_eY.js} +10 -10
  236. package/dist/{routes-CWYyvbxi.js → routes-Cio8is5Y.js} +3 -3
  237. package/dist/{rpc-DLfjbTSu.js → rpc-CEhoSTGo.js} +1 -1
  238. package/dist/{rpc-BcPBUUXl.js → rpc-D0Ldc6Hv.js} +1 -1
  239. package/dist/{run-main-DISYU1dh.js → run-main-CMQVjdht.js} +41 -41
  240. package/dist/{sandbox-B6P9-J8g.js → sandbox-B4RfQ7k1.js} +5 -5
  241. package/dist/{sandbox-DPn-s_K5.js → sandbox-C-UeHmuJ.js} +18 -18
  242. package/dist/{sandbox-cli-bOFig9Jd.js → sandbox-cli-B43FqqPT.js} +6 -6
  243. package/dist/{sandbox-cli-Bl5CMRjH.js → sandbox-cli-CNAPNXJ4.js} +13 -13
  244. package/dist/{security-cli-DuxEuSGr.js → security-cli-BSd8_Gsq.js} +28 -28
  245. package/dist/{security-cli-C7LBaB0e.js → security-cli-DDM0Z6IW.js} +11 -11
  246. package/dist/{send-6IYv-yRp.js → send-CGXxBSKh.js} +1 -1
  247. package/dist/{send-CYJucYob.js → send-DSK6O8SC.js} +7 -7
  248. package/dist/{send-C3ZXgOXw.js → send-EluKytgO.js} +1 -1
  249. package/dist/{server-context-Vd9sEFb9.js → server-context-CDTuNR-O.js} +5 -5
  250. package/dist/{server-context-BUbuOgNz.js → server-context-DFO6o83F.js} +5 -5
  251. package/dist/server-methods-Dz6NGEg3.js +9414 -0
  252. package/dist/server-methods-vp5zi6v5.js +9416 -0
  253. package/dist/{server-node-events-BH4-UlAH.js → server-node-events-4ufB_olv.js} +26 -26
  254. package/dist/{server-node-events-7ToqdaU5.js → server-node-events-B7UtUhkC.js} +46 -46
  255. package/dist/{service-9ItKCWWS.js → service-AP9pR9R5.js} +15 -15
  256. package/dist/session-dirs-Chh7bBGo.js +18 -0
  257. package/dist/session-dirs-Sl_x6tjD.js +18 -0
  258. package/dist/{session-utils-CqSXwGYa.js → session-utils-CgGDr4eh.js} +14 -14
  259. package/dist/{session-utils-CJfEkQQQ.js → session-utils-D1VcHni_.js} +5 -5
  260. package/dist/{sessions-BHrlpR92.js → sessions-BNEDanZO.js} +1 -1
  261. package/dist/{sessions-DorP6zY8.js → sessions-Dh88Kqd6.js} +11 -11
  262. package/dist/{sessions-Chjdz1Gx.js → sessions-iLfSd6VD.js} +3 -3
  263. package/dist/{shared-B-64oefu.js → shared-CIeW3aWF.js} +1 -1
  264. package/dist/{shared-ot5_jkpP.js → shared-DmYHvtn2.js} +1 -1
  265. package/dist/{shared-Z3KjnA8n.js → shared-_wwqvx84.js} +3 -3
  266. package/dist/{skill-commands-RbglvrSW.js → skill-commands-5QB5E8bv.js} +4 -4
  267. package/dist/{skill-scanner-CZK0TG9g.js → skill-scanner-YF2jR4RY.js} +5 -5
  268. package/dist/{skills-DS1Vdylm.js → skills-Bmjf5nFv.js} +4 -4
  269. package/dist/{skills-cli-DbhEEC78.js → skills-cli-BJDvUT_e.js} +1 -1
  270. package/dist/{skills-cli-BmIb-9--.js → skills-cli-Byp9MfZh.js} +7 -7
  271. package/dist/{skills-install-DcX1Txvp.js → skills-install-BB27sD4d.js} +3 -3
  272. package/dist/{skills-remote-BDSyRdyX.js → skills-remote-CqwR3Zvp.js} +3 -3
  273. package/dist/{skills-status-F7nlolZZ.js → skills-status-BNDqwHkP.js} +1 -1
  274. package/dist/{sqlite-BUXBg2yu.js → sqlite-DBEvS-Ne.js} +5 -5
  275. package/dist/{ssrf-CJor4ewC.js → ssrf-CBajKNWO.js} +0 -2
  276. package/dist/{ssrf-BzPY2FrA.js → ssrf-CeQ2Aub-.js} +0 -2
  277. package/dist/{status-CR4VgVZ0.js → status-B0HecH1s.js} +3 -3
  278. package/dist/{status-dHYcVtbb.js → status-BD8gFYKH.js} +14 -45
  279. package/dist/{status-Hf__QNbH.js → status-DEXnB1sw.js} +26 -57
  280. package/dist/{status-CeaJlVQK.js → status-MMLxoRgQ.js} +2 -2
  281. package/dist/{status.update-lna4Lub4.js → status.update-Be8PuHCh.js} +1 -1
  282. package/dist/{status.update-DOj5ifHZ.js → status.update-CB9e3eWW.js} +3 -3
  283. package/dist/{subagent-registry-BbQL79Gk.js → subagent-registry-C57PFGHU.js} +30 -46
  284. package/dist/{symi-root-0MUhiNlM.js → symi-root-DueRHNOE.js} +2 -2
  285. package/dist/{synthesis-CK0K7wFk.js → synthesis-CjsIBd8X.js} +42 -42
  286. package/dist/{synthesis-B4G0BnU5.js → synthesis-DSdF0vsi.js} +7 -7
  287. package/dist/{synthesis-C-IePZG6.js → synthesis-iB7TWRW4.js} +6 -6
  288. package/dist/{synthesis-DiPl8Usv.js → synthesis-j_kjlFo1.js} +23 -23
  289. package/dist/system-cli-BM8KbtUc.js +48 -0
  290. package/dist/system-cli-CQFH_HwX.js +43 -0
  291. package/dist/{systemd-8KKQdTO_.js → systemd-9LEEqibe.js} +5 -5
  292. package/dist/{systemd-hints-BefHB3bX.js → systemd-hints-A1W3AdVo.js} +6 -6
  293. package/dist/{systemd-hints-DQKA3tTS.js → systemd-hints-BejQ6J2Y.js} +1 -1
  294. package/dist/{systemd-linger-C0-G8yq4.js → systemd-linger-PqG8iGCt.js} +1 -1
  295. package/dist/{tui-C_yv1hvy.js → tui-B4Pd0T9l.js} +5 -15
  296. package/dist/{tui-BheB3rbE.js → tui-DBrpAw57.js} +7 -17
  297. package/dist/{tui-cli-D7wYLESM.js → tui-cli-B-obcHoZ.js} +10 -10
  298. package/dist/{tui-cli-BDcU-VgA.js → tui-cli-tbUaY-Pu.js} +19 -19
  299. package/dist/{unified-runner-BSdnT6eM.js → unified-runner-BNt7TQKM.js} +18 -39
  300. package/dist/{unified-runner-D6p4N2vu.js → unified-runner-DCiPB--z.js} +104 -120
  301. package/dist/{update-Djvyvehx.js → update-CjZgU686.js} +3 -3
  302. package/dist/{update-check-BdSIMYWq.js → update-check-CZxZhEXr.js} +5 -5
  303. package/dist/{update-cli-BmQuYKTw.js → update-cli-CUgElk5d.js} +42 -42
  304. package/dist/{update-cli-CwznFR5g.js → update-cli-Mpq0iwGk.js} +76 -76
  305. package/dist/{session-dirs-DONOhYc3.js → update-runner-Dq5UYQbo.js} +16 -30
  306. package/dist/{session-dirs-6atzU47U.js → update-runner-ENJw0Mco.js} +2 -16
  307. package/dist/{webhooks-cli-D_wAaLOU.js → webhooks-cli-Clx8DGfA.js} +5 -5
  308. package/dist/{webhooks-cli-B2_nrbvn.js → webhooks-cli-UfO_WffC.js} +2 -2
  309. package/dist/{with-timeout-CAUWEPmp.js → with-timeout-BE7lxhxW.js} +1 -1
  310. package/dist/{with-timeout-BhDKgIeU.js → with-timeout-BcL6qAbd.js} +1 -1
  311. package/dist/{workspace-dirs-QmSWJptJ.js → workspace-dirs-D5OnUmvw.js} +1 -1
  312. package/dist/{wsl-DO9usEVV.js → wsl-ZWGwnnKI.js} +2 -2
  313. package/package.json +1 -1
  314. package/dist/register.configure-BJ7xtOUZ.js +0 -129
  315. package/dist/system-cli-BKp2K0sb.js +0 -85
  316. package/dist/system-cli-C9uTFA4c.js +0 -80
  317. /package/dist/{agents.config-gkq5o5Hy.js → agents.config-D7cHU-OU.js} +0 -0
  318. /package/dist/{auth-choice-legacy-DlTku0W1.js → auth-choice-legacy-CsjluQCN.js} +0 -0
  319. /package/dist/{auth-choice-legacy-y8ZXjhDq.js → auth-choice-legacy-D9WcUI_J.js} +0 -0
  320. /package/dist/{auth-token-2yjfGFTo.js → auth-token-Brb1Askz.js} +0 -0
  321. /package/dist/{consolidate-CTKMVS1l.js → consolidate-D1GUJ5qq.js} +0 -0
  322. /package/dist/{dm-policy-shared-BcYwq7H9.js → dm-policy-shared-CSF4Tw_F.js} +0 -0
  323. /package/dist/{format-CUJQOEUj.js → format-BGzoTHhD.js} +0 -0
  324. /package/dist/{format-Cj8gNX2r.js → format-C-0EAOjI.js} +0 -0
  325. /package/dist/{gmail-setup-utils-C5QXoiTl.js → gmail-setup-utils-B1BYpISg.js} +0 -0
  326. /package/dist/{gmail-setup-utils-DO0-mXYp.js → gmail-setup-utils-fA1VaWLv.js} +0 -0
  327. /package/dist/{health-format-BQdYy0nL.js → health-format-39e76m9p.js} +0 -0
  328. /package/dist/{health-format-OIqaDZ2V.js → health-format-DaP03FBk.js} +0 -0
  329. /package/dist/{ipv4-CFw4fYIH.js → ipv4-CfVqgiTN.js} +0 -0
  330. /package/dist/{ipv4-DBwTCOBu.js → ipv4-DK4xoUQ-.js} +0 -0
  331. /package/dist/{logging-BA2NbxMy.js → logging-B96FQvnn.js} +0 -0
  332. /package/dist/{logging-Dt9kBzoO.js → logging-BeA4q4J_.js} +0 -0
  333. /package/dist/{model-param-b-CErLzOT8.js → model-param-b-B34yvxBN.js} +0 -0
  334. /package/dist/{model-param-b-DnsFCAGo.js → model-param-b-CmgmcGoJ.js} +0 -0
  335. /package/dist/{node-service-B7zf4WFE.js → node-service-DDDCEDdv.js} +0 -0
  336. /package/dist/{onboard-config-CIBKQuYV.js → onboard-config-Barp7MT9.js} +0 -0
  337. /package/dist/{onboard-config-D6L72_zg.js → onboard-config-DQkZqcyq.js} +0 -0
  338. /package/dist/{outbound-send-deps-pzO0D6kV.js → outbound-send-deps-BpziI1pC.js} +0 -0
  339. /package/dist/{ports-B3NnaSHu.js → ports-BAzQoIw0.js} +0 -0
  340. /package/dist/{qmd-manager-CX0jtKS5.js → qmd-manager--kGuC39q.js} +0 -0
  341. /package/dist/{skills-install-Q5hgZITy.js → skills-install-BzqoHn0x.js} +0 -0
  342. /package/dist/{system-run-command-XG1_P_la.js → system-run-command-QikSIqYG.js} +0 -0
  343. /package/dist/{systemd-linger-CoyAJEZx.js → systemd-linger-BM4qvprK.js} +0 -0
  344. /package/dist/{update-CbkItCeC.js → update-C1rkPV1C.js} +0 -0
  345. /package/dist/{workspace-2m2BLIbx.js → workspace-B3sO7QlN.js} +0 -0
  346. /package/dist/{workspace-CxAs2tsz.js → workspace-Bb1HX2I0.js} +0 -0
@@ -1,13 +1,13 @@
1
1
  import { A as isRich, j as theme, x as info } from "./registry-DKJLAPDB.js";
2
2
  import { o as normalizeAgentId } from "./session-key-B_ZVH1kE.js";
3
- import { l as resolveDefaultAgentId } from "./agent-scope-CKTVXF_1.js";
3
+ import { l as resolveDefaultAgentId } from "./agent-scope-DIjW66iO.js";
4
4
  import { t as isTruthyEnvValue } from "./env-B97Ms861.js";
5
- import { i as loadConfig } from "./config-BEaq2Sb6.js";
5
+ import { i as loadConfig } from "./config-DqMsGcSQ.js";
6
6
  import { n as formatErrorMessage } from "./errors-Z-WkF18Q.js";
7
- import { o as loadSessionStore } from "./sessions-DorP6zY8.js";
7
+ import { o as loadSessionStore } from "./sessions-Dh88Kqd6.js";
8
8
  import { n as listChannelPlugins, t as getChannelPlugin } from "./plugins-DuuHorqi.js";
9
9
  import { c as resolveStorePath } from "./paths-CJcw9nbZ.js";
10
- import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-BjHvYJx2.js";
10
+ import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-BPJn2_th.js";
11
11
  import { r as resolvePreferredAccountId, t as buildChannelAccountBindings } from "./bindings-9LSA3Jr1.js";
12
12
  import { n as withProgress } from "./progress-CyPyGCDn.js";
13
13
  import { t as resolveChannelDefaultAccountId } from "./helpers-BBypnAYf.js";
@@ -37,52 +37,6 @@ const DEFAULT_TIMEOUT_MS = 1e4;
37
37
  const debugHealth = (...args) => {
38
38
  if (isTruthyEnvValue(process.env.SYMI_DEBUG_HEALTH)) console.warn("[health:debug]", ...args);
39
39
  };
40
- const formatDurationParts = (ms) => {
41
- if (!Number.isFinite(ms)) return "unknown";
42
- if (ms < 1e3) return `${Math.max(0, Math.round(ms))}ms`;
43
- const units = [
44
- {
45
- label: "w",
46
- size: 10080 * 60 * 1e3
47
- },
48
- {
49
- label: "d",
50
- size: 1440 * 60 * 1e3
51
- },
52
- {
53
- label: "h",
54
- size: 3600 * 1e3
55
- },
56
- {
57
- label: "m",
58
- size: 60 * 1e3
59
- },
60
- {
61
- label: "s",
62
- size: 1e3
63
- }
64
- ];
65
- let remaining = Math.max(0, Math.floor(ms));
66
- const parts = [];
67
- for (const unit of units) {
68
- const value = Math.floor(remaining / unit.size);
69
- if (value > 0) {
70
- parts.push(`${value}${unit.label}`);
71
- remaining -= value * unit.size;
72
- }
73
- }
74
- if (parts.length === 0) return "0s";
75
- return parts.join(" ");
76
- };
77
- const resolveHeartbeatSummary = (_cfg, _agentId) => ({
78
- enabled: false,
79
- every: void 0,
80
- everyMs: null,
81
- prompt: "",
82
- target: "last",
83
- model: void 0,
84
- ackMaxChars: 0
85
- });
86
40
  const resolveAgentOrder = (cfg) => {
87
41
  const defaultAgentId = resolveDefaultAgentId(cfg);
88
42
  const entries = Array.isArray(cfg.agents?.list) ? cfg.agents.list : [];
@@ -244,13 +198,10 @@ async function getHealthSnapshot(params) {
244
198
  agentId: entry.id,
245
199
  name: entry.name,
246
200
  isDefault: entry.id === defaultAgentId,
247
- heartbeat: resolveHeartbeatSummary(cfg, entry.id),
248
201
  sessions
249
202
  };
250
203
  });
251
- const defaultAgent = agents.find((agent) => agent.isDefault) ?? agents[0];
252
- const heartbeatSeconds = defaultAgent?.heartbeat.everyMs ? Math.round(defaultAgent.heartbeat.everyMs / 1e3) : 0;
253
- const sessions = defaultAgent?.sessions ?? buildSessionSummary(resolveStorePath(cfg.session?.store, { agentId: defaultAgentId }));
204
+ const sessions = (agents.find((agent) => agent.isDefault) ?? agents[0])?.sessions ?? buildSessionSummary(resolveStorePath(cfg.session?.store, { agentId: defaultAgentId }));
254
205
  const start = Date.now();
255
206
  const cappedTimeout = timeoutMs === void 0 ? DEFAULT_TIMEOUT_MS : Math.max(50, timeoutMs);
256
207
  const doProbe = params?.probe !== false;
@@ -351,7 +302,6 @@ async function getHealthSnapshot(params) {
351
302
  channels,
352
303
  channelOrder,
353
304
  channelLabels,
354
- heartbeatSeconds,
355
305
  defaultAgentId,
356
306
  agents,
357
307
  sessions: {
@@ -391,7 +341,6 @@ async function healthCommand(opts, runtime) {
391
341
  agentId: entry.id,
392
342
  name: entry.name,
393
343
  isDefault: entry.id === localAgents.defaultAgentId,
394
- heartbeat: resolveHeartbeatSummary(cfg, entry.id),
395
344
  sessions: buildSessionSummary(storePath)
396
345
  };
397
346
  });
@@ -491,11 +440,6 @@ async function healthCommand(opts, runtime) {
491
440
  const agentLabels = resolvedAgents.map((agent) => agent.isDefault ? `${agent.agentId} (default)` : agent.agentId);
492
441
  runtime.log(info(`Agents: ${agentLabels.join(", ")}`));
493
442
  }
494
- const heartbeatParts = displayAgents.map((agent) => {
495
- const everyMs = agent.heartbeat?.everyMs;
496
- return `${everyMs ? formatDurationParts(everyMs) : "disabled"} (${agent.agentId})`;
497
- }).filter(Boolean);
498
- if (heartbeatParts.length > 0) runtime.log(info(`Heartbeat interval: ${heartbeatParts.join(", ")}`));
499
443
  if (displayAgents.length === 0) {
500
444
  runtime.log(info(`Session store: ${summary.sessions.path} (${summary.sessions.count} entries)`));
501
445
  if (summary.sessions.recent.length > 0) for (const r of summary.sessions.recent) runtime.log(`- ${r.key} (${r.updatedAt ? `${Math.round((Date.now() - r.updatedAt) / 6e4)}m ago` : "no activity"})`);
@@ -2,9 +2,9 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { H as info, Q as theme, Z as isRich, n as isTruthyEnvValue } from "./entry.js";
3
3
  import { o as normalizeAgentId } from "./session-key-BfskPVEs.js";
4
4
  import { l as resolveDefaultAgentId } from "./agent-scope-B6p555mP.js";
5
- import { i as loadConfig } from "./config-Cw7uo7Dh.js";
6
- import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-Dy_T6f6d.js";
7
- import { o as loadSessionStore } from "./sessions-BHrlpR92.js";
5
+ import { i as loadConfig } from "./config-igdtSRrZ.js";
6
+ import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-5IE9ycvm.js";
7
+ import { o as loadSessionStore } from "./sessions-BNEDanZO.js";
8
8
  import { n as listChannelPlugins, t as getChannelPlugin } from "./plugins-Bq-Msc8Z.js";
9
9
  import { n as formatErrorMessage } from "./errors-TVUWuVoP.js";
10
10
  import { c as resolveStorePath } from "./paths-CNexk5_o.js";
@@ -42,52 +42,6 @@ const DEFAULT_TIMEOUT_MS = 1e4;
42
42
  const debugHealth = (...args) => {
43
43
  if (isTruthyEnvValue(process.env.SYMI_DEBUG_HEALTH)) console.warn("[health:debug]", ...args);
44
44
  };
45
- const formatDurationParts = (ms) => {
46
- if (!Number.isFinite(ms)) return "unknown";
47
- if (ms < 1e3) return `${Math.max(0, Math.round(ms))}ms`;
48
- const units = [
49
- {
50
- label: "w",
51
- size: 10080 * 60 * 1e3
52
- },
53
- {
54
- label: "d",
55
- size: 1440 * 60 * 1e3
56
- },
57
- {
58
- label: "h",
59
- size: 3600 * 1e3
60
- },
61
- {
62
- label: "m",
63
- size: 60 * 1e3
64
- },
65
- {
66
- label: "s",
67
- size: 1e3
68
- }
69
- ];
70
- let remaining = Math.max(0, Math.floor(ms));
71
- const parts = [];
72
- for (const unit of units) {
73
- const value = Math.floor(remaining / unit.size);
74
- if (value > 0) {
75
- parts.push(`${value}${unit.label}`);
76
- remaining -= value * unit.size;
77
- }
78
- }
79
- if (parts.length === 0) return "0s";
80
- return parts.join(" ");
81
- };
82
- const resolveHeartbeatSummary = (_cfg, _agentId) => ({
83
- enabled: false,
84
- every: void 0,
85
- everyMs: null,
86
- prompt: "",
87
- target: "last",
88
- model: void 0,
89
- ackMaxChars: 0
90
- });
91
45
  const resolveAgentOrder = (cfg) => {
92
46
  const defaultAgentId = resolveDefaultAgentId(cfg);
93
47
  const entries = Array.isArray(cfg.agents?.list) ? cfg.agents.list : [];
@@ -249,13 +203,10 @@ async function getHealthSnapshot(params) {
249
203
  agentId: entry.id,
250
204
  name: entry.name,
251
205
  isDefault: entry.id === defaultAgentId,
252
- heartbeat: resolveHeartbeatSummary(cfg, entry.id),
253
206
  sessions
254
207
  };
255
208
  });
256
- const defaultAgent = agents.find((agent) => agent.isDefault) ?? agents[0];
257
- const heartbeatSeconds = defaultAgent?.heartbeat.everyMs ? Math.round(defaultAgent.heartbeat.everyMs / 1e3) : 0;
258
- const sessions = defaultAgent?.sessions ?? buildSessionSummary(resolveStorePath(cfg.session?.store, { agentId: defaultAgentId }));
209
+ const sessions = (agents.find((agent) => agent.isDefault) ?? agents[0])?.sessions ?? buildSessionSummary(resolveStorePath(cfg.session?.store, { agentId: defaultAgentId }));
259
210
  const start = Date.now();
260
211
  const cappedTimeout = timeoutMs === void 0 ? DEFAULT_TIMEOUT_MS : Math.max(50, timeoutMs);
261
212
  const doProbe = params?.probe !== false;
@@ -356,7 +307,6 @@ async function getHealthSnapshot(params) {
356
307
  channels,
357
308
  channelOrder,
358
309
  channelLabels,
359
- heartbeatSeconds,
360
310
  defaultAgentId,
361
311
  agents,
362
312
  sessions: {
@@ -396,7 +346,6 @@ async function healthCommand(opts, runtime) {
396
346
  agentId: entry.id,
397
347
  name: entry.name,
398
348
  isDefault: entry.id === localAgents.defaultAgentId,
399
- heartbeat: resolveHeartbeatSummary(cfg, entry.id),
400
349
  sessions: buildSessionSummary(storePath)
401
350
  };
402
351
  });
@@ -496,11 +445,6 @@ async function healthCommand(opts, runtime) {
496
445
  const agentLabels = resolvedAgents.map((agent) => agent.isDefault ? `${agent.agentId} (default)` : agent.agentId);
497
446
  runtime.log(info(`Agents: ${agentLabels.join(", ")}`));
498
447
  }
499
- const heartbeatParts = displayAgents.map((agent) => {
500
- const everyMs = agent.heartbeat?.everyMs;
501
- return `${everyMs ? formatDurationParts(everyMs) : "disabled"} (${agent.agentId})`;
502
- }).filter(Boolean);
503
- if (heartbeatParts.length > 0) runtime.log(info(`Heartbeat interval: ${heartbeatParts.join(", ")}`));
504
448
  if (displayAgents.length === 0) {
505
449
  runtime.log(info(`Session store: ${summary.sessions.path} (${summary.sessions.count} entries)`));
506
450
  if (summary.sessions.recent.length > 0) for (const r of summary.sessions.recent) runtime.log(`- ${r.key} (${r.updatedAt ? `${Math.round((Date.now() - r.updatedAt) / 6e4)}m ago` : "no activity"})`);
@@ -1,97 +1,97 @@
1
- import "./unified-runner-D6p4N2vu.js";
1
+ import "./unified-runner-DCiPB--z.js";
2
2
  import { j as theme } from "./registry-DKJLAPDB.js";
3
3
  import "./paths-BSzKwaxE.js";
4
4
  import { h as resolveUserPath, t as CONFIG_DIR, v as shortenHomePath } from "./utils-BU8jVQFM.js";
5
5
  import { f as defaultRuntime } from "./subsystem-CtH6J8AV.js";
6
- import "./auth-profiles-BDvJK1Bg.js";
6
+ import "./auth-profiles-BFSVvFKy.js";
7
7
  import { t as formatCliCommand } from "./command-format-BvAkTjTI.js";
8
8
  import "./exec-DKyLtSjm.js";
9
- import { c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-CKTVXF_1.js";
9
+ import { c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-DIjW66iO.js";
10
10
  import "./github-copilot-token-BTNK6Tcd.js";
11
11
  import "./boolean-Wzu0-e0P.js";
12
12
  import "./env-B97Ms861.js";
13
- import "./pi-embedded-helpers-DGW2untm.js";
14
- import { i as loadConfig, l as writeConfigFile } from "./config-BEaq2Sb6.js";
13
+ import "./pi-embedded-helpers-CAdI9wJ5.js";
14
+ import { i as loadConfig, l as writeConfigFile } from "./config-DqMsGcSQ.js";
15
15
  import "./manifest-registry-D_LsBSyt.js";
16
16
  import { a as isPathInsideWithRealpath, i as isPathInside, n as MANIFEST_KEY } from "./legacy-names-Catogrri.js";
17
- import "./sandbox-DPn-s_K5.js";
18
- import "./chrome-BQoO4LXq.js";
17
+ import "./sandbox-C-UeHmuJ.js";
18
+ import "./chrome-VbDUdW0_.js";
19
19
  import { u as promptYesNo } from "./tailscale-D7dC-5EX.js";
20
20
  import "./auth-BbwD4lRX.js";
21
- import "./server-context-BUbuOgNz.js";
21
+ import "./server-context-DFO6o83F.js";
22
22
  import "./frontmatter-CHu3sfCM.js";
23
- import "./skills-DS1Vdylm.js";
24
- import "./routes-DiqMB1cp.js";
23
+ import "./skills-Bmjf5nFv.js";
24
+ import "./routes-BMShi_eY.js";
25
25
  import "./redact-CSc_2Nka.js";
26
26
  import "./errors-Z-WkF18Q.js";
27
- import "./fs-safe-DjAKGGJ8.js";
28
- import "./paths-DaQrPPet.js";
27
+ import "./fs-safe-B6nMaZqV.js";
28
+ import "./paths-Dc6A9_vI.js";
29
29
  import "./ssrf-CC9kEPCT.js";
30
- import "./image-ops-c7_of0HT.js";
31
- import "./ports-EAVAOFyK.js";
30
+ import "./image-ops-C-gIIp7Q.js";
31
+ import "./ports-DqxP-bXz.js";
32
32
  import "./trash-BjVrPcAx.js";
33
- import "./sessions-DorP6zY8.js";
33
+ import "./sessions-Dh88Kqd6.js";
34
34
  import "./dock-CnGWTXL4.js";
35
35
  import "./message-channel-C_V8IAYx.js";
36
36
  import "./plugins-DuuHorqi.js";
37
- import "./send-CYJucYob.js";
37
+ import "./send-DSK6O8SC.js";
38
38
  import "./paths-CJcw9nbZ.js";
39
39
  import "./thinking-177f26eg.js";
40
40
  import "./tokens-BKbemuIk.js";
41
- import "./deliver-ccf_boim.js";
41
+ import "./deliver-RwovDEDy.js";
42
42
  import "./diagnostic-CwF3MnBL.js";
43
43
  import "./diagnostic-session-state-I4x9gPY4.js";
44
- import "./models-config-Dh1tABIl.js";
45
- import "./pi-auth-json-CVwNh4rb.js";
44
+ import "./models-config-Unnduxgs.js";
45
+ import "./pi-auth-json-SHGGQzOL.js";
46
46
  import "./session-cost-usage-DYcv40ss.js";
47
- import "./session-utils-CqSXwGYa.js";
48
- import "./with-timeout-CAUWEPmp.js";
49
- import "./reply-prefix-DZQBodKF.js";
50
- import "./memory-BZPO-RoX.js";
51
- import "./manager-C_5p8DxF.js";
52
- import "./sqlite-BUXBg2yu.js";
47
+ import "./session-utils-CgGDr4eh.js";
48
+ import "./with-timeout-BE7lxhxW.js";
49
+ import "./reply-prefix-BOdARKaY.js";
50
+ import "./memory-kIYeV9aO.js";
51
+ import "./manager-DOiW-Koo.js";
52
+ import "./sqlite-DBEvS-Ne.js";
53
53
  import "./chunk-DQGU0F8t.js";
54
54
  import "./markdown-tables-GTLvbzuR.js";
55
55
  import "./fetch-guard-DG6T0ZdL.js";
56
- import "./local-roots-CUKhHNCV.js";
56
+ import "./local-roots-BnDnugq3.js";
57
57
  import "./commands-B3UrgxIz.js";
58
- import "./commands-registry-CLePPNDW.js";
59
- import "./client-Bs2zB0rY.js";
60
- import "./call-BjHvYJx2.js";
61
- import "./pairing-token-DorpwP8O.js";
58
+ import "./commands-registry-BNCcZy2y.js";
59
+ import "./client-qjXXRKCO.js";
60
+ import "./call-BPJn2_th.js";
61
+ import "./pairing-token-CURbSHdi.js";
62
62
  import "./tool-display-Dr6VaTg5.js";
63
- import "./skills-remote-BDSyRdyX.js";
64
- import "./workspace-dirs-QmSWJptJ.js";
63
+ import "./skills-remote-CqwR3Zvp.js";
64
+ import "./workspace-dirs-D5OnUmvw.js";
65
65
  import "./pi-model-discovery-DdkUSfiI.js";
66
- import "./model-catalog-BrW9BL1p.js";
67
- import "./skill-commands-RbglvrSW.js";
68
- import "./pairing-store-S9CXOhSG.js";
66
+ import "./model-catalog-CaGfL-2g.js";
67
+ import "./skill-commands-5QB5E8bv.js";
68
+ import "./pairing-store-BGf29nPx.js";
69
69
  import "./exec-approvals-CZOc8M5w.js";
70
- import "./nodes-screen-CT94yu_w.js";
71
- import "./control-service-DhlgNQGb.js";
70
+ import "./nodes-screen-JELuBMBi.js";
71
+ import "./control-service-Fn3d9AlH.js";
72
72
  import "./stagger-BhvnarfO.js";
73
73
  import "./channel-selection-BvIcXQLj.js";
74
74
  import "./delivery-queue-DDs84baU.js";
75
75
  import "./bindings-9LSA3Jr1.js";
76
- import "./resolve-route-BbUl3Hi7.js";
76
+ import "./resolve-route-CRWE36h5.js";
77
77
  import { t as formatDocsLink } from "./links-CSaUKNKm.js";
78
78
  import "./cli-utils-CX1oQ81G.js";
79
79
  import "./help-format-BI_G2p1e.js";
80
80
  import "./progress-CyPyGCDn.js";
81
- import "./memory-cli-4vj-LpgO.js";
81
+ import "./memory-cli-DkD_OD70.js";
82
82
  import "./logging-B5YNzZB9.js";
83
- import "./replies-CbipVshj.js";
84
- import "./pi-tools.policy-BcTgKDG6.js";
85
- import "./model-CbRy_3xW.js";
86
- import { a as extractArchive, c as resolveArchiveKind, i as unscopedPackageName, l as resolvePackedRootDir, o as fileExists, s as readJsonFile, t as resolveSafeInstallDir } from "./install-safe-path-B73BkVO3.js";
87
- import { a as installPackageDir, i as withTempDir, n as installFromNpmSpecArchive, r as resolveArchiveSourcePath, t as validateRegistryNpmSpec } from "./npm-registry-spec-B8X06AqB.js";
83
+ import "./replies-B2O2eRh6.js";
84
+ import "./pi-tools.policy-Dyx3nBmp.js";
85
+ import "./model-BRcKPW49.js";
86
+ import { a as extractArchive, c as resolveArchiveKind, i as unscopedPackageName, l as resolvePackedRootDir, o as fileExists, s as readJsonFile, t as resolveSafeInstallDir } from "./install-safe-path-CQXx3s9R.js";
87
+ import { a as installPackageDir, i as withTempDir, n as installFromNpmSpecArchive, r as resolveArchiveSourcePath, t as validateRegistryNpmSpec } from "./npm-registry-spec-BXw_6vF6.js";
88
88
  import { t as renderTable } from "./table-DkAQzCOR.js";
89
- import { a as parseFrontmatter, t as loadWorkspaceHookEntries } from "./workspace-CxAs2tsz.js";
90
- import { t as buildWorkspaceHookStatus } from "./hooks-status-DGjgoBZt.js";
91
- import { t as buildPluginStatusReport } from "./status-CR4VgVZ0.js";
89
+ import { a as parseFrontmatter, t as loadWorkspaceHookEntries } from "./workspace-Bb1HX2I0.js";
90
+ import { t as buildWorkspaceHookStatus } from "./hooks-status-COU9Cw9_.js";
91
+ import { t as buildPluginStatusReport } from "./status-B0HecH1s.js";
92
92
  import path from "node:path";
93
93
  import fs from "node:fs";
94
- import fsPromises from "node:fs/promises";
94
+ import fs$1 from "node:fs/promises";
95
95
 
96
96
  //#region src/hooks/install.ts
97
97
  const defaultLogger = {};
@@ -135,7 +135,7 @@ function resolveTimedHookInstallModeOptions(params) {
135
135
  }
136
136
  async function resolveInstallTargetDir(id, hooksDir) {
137
137
  const baseHooksDir = hooksDir ? resolveUserPath(hooksDir) : path.join(CONFIG_DIR, "hooks");
138
- await fsPromises.mkdir(baseHooksDir, { recursive: true });
138
+ await fs$1.mkdir(baseHooksDir, { recursive: true });
139
139
  const targetDirResult = resolveSafeInstallDir({
140
140
  baseDir: baseHooksDir,
141
141
  id,
@@ -153,7 +153,7 @@ async function resolveInstallTargetDir(id, hooksDir) {
153
153
  async function resolveHookNameFromDir(hookDir) {
154
154
  const hookMdPath = path.join(hookDir, "HOOK.md");
155
155
  if (!await fileExists(hookMdPath)) throw new Error(`HOOK.md missing in ${hookDir}`);
156
- return parseFrontmatter(await fsPromises.readFile(hookMdPath, "utf-8")).name || path.basename(hookDir);
156
+ return parseFrontmatter(await fs$1.readFile(hookMdPath, "utf-8")).name || path.basename(hookDir);
157
157
  }
158
158
  async function validateHookDir(hookDir) {
159
159
  if (!await fileExists(path.join(hookDir, "HOOK.md"))) throw new Error(`HOOK.md missing in ${hookDir}`);
@@ -286,24 +286,24 @@ async function installHookFromDir(params) {
286
286
  let backupDir = null;
287
287
  if (mode === "update" && await fileExists(targetDir)) {
288
288
  backupDir = `${targetDir}.backup-${Date.now()}`;
289
- await fsPromises.rename(targetDir, backupDir);
289
+ await fs$1.rename(targetDir, backupDir);
290
290
  }
291
291
  try {
292
- await fsPromises.cp(params.hookDir, targetDir, { recursive: true });
292
+ await fs$1.cp(params.hookDir, targetDir, { recursive: true });
293
293
  } catch (err) {
294
294
  if (backupDir) {
295
- await fsPromises.rm(targetDir, {
295
+ await fs$1.rm(targetDir, {
296
296
  recursive: true,
297
297
  force: true
298
298
  }).catch(() => void 0);
299
- await fsPromises.rename(backupDir, targetDir).catch(() => void 0);
299
+ await fs$1.rename(backupDir, targetDir).catch(() => void 0);
300
300
  }
301
301
  return {
302
302
  ok: false,
303
303
  error: `failed to copy hook: ${String(err)}`
304
304
  };
305
305
  }
306
- if (backupDir) await fsPromises.rm(backupDir, {
306
+ if (backupDir) await fs$1.rm(backupDir, {
307
307
  recursive: true,
308
308
  force: true
309
309
  }).catch(() => void 0);
@@ -322,7 +322,7 @@ async function installHooksFromArchive(params) {
322
322
  const archivePath = archivePathResult.path;
323
323
  return await withTempDir("symi-hook-", async (tmpDir) => {
324
324
  const extractDir = path.join(tmpDir, "extract");
325
- await fsPromises.mkdir(extractDir, { recursive: true });
325
+ await fs$1.mkdir(extractDir, { recursive: true });
326
326
  logger.info?.(`Extracting ${archivePath}…`);
327
327
  try {
328
328
  await extractArchive({
@@ -408,7 +408,7 @@ async function installHooksFromPath(params) {
408
408
  ok: false,
409
409
  error: `path not found: ${resolved}`
410
410
  };
411
- if ((await fsPromises.stat(resolved)).isDirectory()) {
411
+ if ((await fs$1.stat(resolved)).isDirectory()) {
412
412
  if (await fileExists(path.join(resolved, "package.json"))) return await installHookPackageFromDir({
413
413
  packageDir: resolved,
414
414
  hooksDir: params.hooksDir,
@@ -557,7 +557,7 @@ function logGatewayRestartHint() {
557
557
  }
558
558
  async function readInstalledPackageVersion(dir) {
559
559
  try {
560
- const raw = await fsPromises.readFile(path.join(dir, "package.json"), "utf-8");
560
+ const raw = await fs$1.readFile(path.join(dir, "package.json"), "utf-8");
561
561
  const parsed = JSON.parse(raw);
562
562
  return typeof parsed.version === "string" ? parsed.version : void 0;
563
563
  } catch {
@@ -11,26 +11,26 @@ import "./frontmatter-B4levtVg.js";
11
11
  import { a as MANIFEST_KEY, n as isPathInside, r as isPathInsideWithRealpath } from "./scan-paths-BVaXDn8b.js";
12
12
  import "./skills-BP6p7GnN.js";
13
13
  import "./manifest-registry-DJcKcUQ9.js";
14
- import { i as loadConfig, l as writeConfigFile } from "./config-Cw7uo7Dh.js";
15
- import "./client-CAz5aPpp.js";
16
- import "./call-Dy_T6f6d.js";
14
+ import { i as loadConfig, l as writeConfigFile } from "./config-igdtSRrZ.js";
15
+ import "./client-Dp8LUTmF.js";
16
+ import "./call-5IE9ycvm.js";
17
17
  import "./message-channel-CNPAq1Tl.js";
18
18
  import "./pairing-token-Bnr7QjVF.js";
19
- import "./subagent-registry-BbQL79Gk.js";
20
- import "./sessions-BHrlpR92.js";
19
+ import "./subagent-registry-C57PFGHU.js";
20
+ import "./sessions-BNEDanZO.js";
21
21
  import "./plugins-Bq-Msc8Z.js";
22
- import "./send-C3ZXgOXw.js";
23
- import "./with-timeout-BhDKgIeU.js";
24
- import "./deliver-Cl2fWxx4.js";
22
+ import "./send-EluKytgO.js";
23
+ import "./with-timeout-BcL6qAbd.js";
24
+ import "./deliver-izdrXPr4.js";
25
25
  import "./diagnostic-BevbDWGa.js";
26
26
  import "./diagnostic-session-state-Zw87xFym.js";
27
- import "./pi-embedded-helpers-BbBfO9m_.js";
28
- import "./sandbox-B6P9-J8g.js";
29
- import "./chrome-BxWRyWC_.js";
27
+ import "./pi-embedded-helpers-BwBjqJM5.js";
28
+ import "./sandbox-B4RfQ7k1.js";
29
+ import "./chrome-B0wRtBRB.js";
30
30
  import { l as promptYesNo } from "./tailscale-BsA0YClX.js";
31
31
  import "./auth-DIdzV4_r.js";
32
- import "./server-context-Vd9sEFb9.js";
33
- import "./routes-CWYyvbxi.js";
32
+ import "./server-context-CDTuNR-O.js";
33
+ import "./routes-Cio8is5Y.js";
34
34
  import "./redact-KvsGzUFH.js";
35
35
  import "./errors-TVUWuVoP.js";
36
36
  import "./fs-safe-DzJT_iD4.js";
@@ -42,10 +42,10 @@ import "./trash-CF1G530Y.js";
42
42
  import "./dock-Cq5LxV1L.js";
43
43
  import "./paths-CNexk5_o.js";
44
44
  import "./thinking-BDh5LPh-.js";
45
- import "./models-config-C2OLw8vc.js";
45
+ import "./models-config-yKxNCn4V.js";
46
46
  import "./reply-prefix-B7pYEiW_.js";
47
- import "./memory-CjpS9o50.js";
48
- import "./manager-tYTYy-pH.js";
47
+ import "./memory-Cl4I_45k.js";
48
+ import "./manager-BQaZlWzK.js";
49
49
  import "./sqlite-l3CZYU6t.js";
50
50
  import "./chunk-BySyfaEr.js";
51
51
  import "./markdown-tables-CCOfinlW.js";
@@ -56,16 +56,16 @@ import "./commands-registry-Bccp0eH5.js";
56
56
  import "./tool-display-wSdT0Ynz.js";
57
57
  import "./tokens-K3kGchJA.js";
58
58
  import "./skills-remote-DHfuS68n.js";
59
- import "./redact-identifier-QYENCXvy.js";
59
+ import "./redact-identifier-Cm1VfV7E.js";
60
60
  import "./workspace-dirs-23IYtZj2.js";
61
- import "./model-catalog-Ba4R_zVe.js";
62
- import "./session-utils-CJfEkQQQ.js";
61
+ import "./model-catalog-C2rNhRI4.js";
62
+ import "./session-utils-D1VcHni_.js";
63
63
  import "./skill-commands-CcCCVblU.js";
64
64
  import "./pairing-store-CtBnCGHZ.js";
65
65
  import "./exec-approvals-B8n8es8o.js";
66
66
  import "./nodes-screen-Bkq2kswx.js";
67
67
  import "./session-cost-usage-Cj3vd7lZ.js";
68
- import "./control-service-BTydj9Kk.js";
68
+ import "./control-service-DO8FjrS6.js";
69
69
  import "./stagger-C2kEx8j9.js";
70
70
  import "./channel-selection-p35DYzAL.js";
71
71
  import "./delivery-queue-nheCYaMd.js";
@@ -75,16 +75,16 @@ import { t as formatDocsLink } from "./links-Db3Rw0Tg.js";
75
75
  import "./cli-utils-BqMwAlgf.js";
76
76
  import "./help-format-DbbIlOje.js";
77
77
  import "./progress-C4ck6JXh.js";
78
- import "./memory-cli-CbV91o_X.js";
78
+ import "./memory-cli-CszP57Ee.js";
79
79
  import "./logging-D0L9TWhE.js";
80
- import "./replies-DIWartyA.js";
81
- import "./pi-tools.policy--USPnaLr.js";
80
+ import "./replies-DIHkSwoW.js";
81
+ import "./pi-tools.policy-BaRznBvu.js";
82
82
  import { a as extractArchive, c as resolveArchiveKind, i as unscopedPackageName, l as resolvePackedRootDir, o as fileExists, s as readJsonFile, t as resolveSafeInstallDir } from "./install-safe-path-BiJP_bOf.js";
83
83
  import { a as installPackageDir, i as withTempDir, n as installFromNpmSpecArchive, r as resolveArchiveSourcePath, t as validateRegistryNpmSpec } from "./npm-registry-spec-NLo2PCol.js";
84
84
  import { t as renderTable } from "./table-CSEp22Mk.js";
85
- import { a as parseFrontmatter, t as loadWorkspaceHookEntries } from "./workspace-2m2BLIbx.js";
86
- import { t as buildWorkspaceHookStatus } from "./hooks-status-BQAuzmwT.js";
87
- import { t as buildPluginStatusReport } from "./status-CeaJlVQK.js";
85
+ import { a as parseFrontmatter, t as loadWorkspaceHookEntries } from "./workspace-B3sO7QlN.js";
86
+ import { t as buildWorkspaceHookStatus } from "./hooks-status-uaFS2SUa.js";
87
+ import { t as buildPluginStatusReport } from "./status-MMLxoRgQ.js";
88
88
  import path from "node:path";
89
89
  import fs from "node:fs";
90
90
  import fs$1 from "node:fs/promises";
@@ -1,7 +1,7 @@
1
1
  import { t as CONFIG_DIR } from "./utils-BU8jVQFM.js";
2
2
  import { d as hasBinary } from "./frontmatter-CHu3sfCM.js";
3
3
  import { t as evaluateEntryMetadataRequirementsForCurrentPlatform } from "./entry-status-B9ZXzXaN.js";
4
- import { n as isConfigPathTruthy, r as resolveHookConfig, t as loadWorkspaceHookEntries } from "./workspace-CxAs2tsz.js";
4
+ import { n as isConfigPathTruthy, r as resolveHookConfig, t as loadWorkspaceHookEntries } from "./workspace-Bb1HX2I0.js";
5
5
  import path from "node:path";
6
6
 
7
7
  //#region src/hooks/hooks-status.ts
@@ -1,7 +1,7 @@
1
1
  import { bt as CONFIG_DIR } from "./entry.js";
2
2
  import { t as evaluateEntryMetadataRequirementsForCurrentPlatform } from "./entry-status-BQkcejku.js";
3
3
  import { d as hasBinary } from "./frontmatter-B4levtVg.js";
4
- import { n as isConfigPathTruthy, r as resolveHookConfig, t as loadWorkspaceHookEntries } from "./workspace-2m2BLIbx.js";
4
+ import { n as isConfigPathTruthy, r as resolveHookConfig, t as loadWorkspaceHookEntries } from "./workspace-B3sO7QlN.js";
5
5
  import path from "node:path";
6
6
 
7
7
  //#region src/hooks/hooks-status.ts
@@ -1,7 +1,7 @@
1
1
  import { n as runExec } from "./exec-DKyLtSjm.js";
2
2
  import path from "node:path";
3
3
  import os from "node:os";
4
- import fsPromises from "node:fs/promises";
4
+ import fs from "node:fs/promises";
5
5
  import { fileTypeFromBuffer } from "file-type";
6
6
 
7
7
  //#region src/media/constants.ts
@@ -230,11 +230,11 @@ function readJpegExifOrientation(buffer) {
230
230
  return null;
231
231
  }
232
232
  async function withTempDir(fn) {
233
- const dir = await fsPromises.mkdtemp(path.join(os.tmpdir(), "symi-img-"));
233
+ const dir = await fs.mkdtemp(path.join(os.tmpdir(), "symi-img-"));
234
234
  try {
235
235
  return await fn(dir);
236
236
  } finally {
237
- await fsPromises.rm(dir, {
237
+ await fs.rm(dir, {
238
238
  recursive: true,
239
239
  force: true
240
240
  }).catch(() => {});
@@ -243,7 +243,7 @@ async function withTempDir(fn) {
243
243
  async function sipsMetadataFromBuffer(buffer) {
244
244
  return await withTempDir(async (dir) => {
245
245
  const input = path.join(dir, "in.img");
246
- await fsPromises.writeFile(input, buffer);
246
+ await fs.writeFile(input, buffer);
247
247
  const { stdout } = await runExec("/usr/bin/sips", [
248
248
  "-g",
249
249
  "pixelWidth",
@@ -271,7 +271,7 @@ async function sipsResizeToJpeg(params) {
271
271
  return await withTempDir(async (dir) => {
272
272
  const input = path.join(dir, "in.img");
273
273
  const output = path.join(dir, "out.jpg");
274
- await fsPromises.writeFile(input, params.buffer);
274
+ await fs.writeFile(input, params.buffer);
275
275
  await runExec("/usr/bin/sips", [
276
276
  "-Z",
277
277
  String(Math.max(1, Math.round(params.maxSide))),
@@ -288,14 +288,14 @@ async function sipsResizeToJpeg(params) {
288
288
  timeoutMs: 2e4,
289
289
  maxBuffer: 1024 * 1024
290
290
  });
291
- return await fsPromises.readFile(output);
291
+ return await fs.readFile(output);
292
292
  });
293
293
  }
294
294
  async function sipsConvertToJpeg(buffer) {
295
295
  return await withTempDir(async (dir) => {
296
296
  const input = path.join(dir, "in.heic");
297
297
  const output = path.join(dir, "out.jpg");
298
- await fsPromises.writeFile(input, buffer);
298
+ await fs.writeFile(input, buffer);
299
299
  await runExec("/usr/bin/sips", [
300
300
  "-s",
301
301
  "format",
@@ -307,7 +307,7 @@ async function sipsConvertToJpeg(buffer) {
307
307
  timeoutMs: 2e4,
308
308
  maxBuffer: 1024 * 1024
309
309
  });
310
- return await fsPromises.readFile(output);
310
+ return await fs.readFile(output);
311
311
  });
312
312
  }
313
313
  async function getImageMetadata(buffer) {
@@ -358,7 +358,7 @@ async function sipsApplyOrientation(buffer, orientation) {
358
358
  return await withTempDir(async (dir) => {
359
359
  const input = path.join(dir, "in.jpg");
360
360
  const output = path.join(dir, "out.jpg");
361
- await fsPromises.writeFile(input, buffer);
361
+ await fs.writeFile(input, buffer);
362
362
  await runExec("/usr/bin/sips", [
363
363
  ...ops,
364
364
  input,
@@ -368,7 +368,7 @@ async function sipsApplyOrientation(buffer, orientation) {
368
368
  timeoutMs: 2e4,
369
369
  maxBuffer: 1024 * 1024
370
370
  });
371
- return await fsPromises.readFile(output);
371
+ return await fs.readFile(output);
372
372
  });
373
373
  }
374
374
  async function resizeToJpeg(params) {