@symerian/symi 2.3.3 → 2.3.4

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 (253) 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-E_Ere0qU.js} +4 -4
  7. package/dist/{agents.config-u_ibObha.js → agents.config-Cv_wsBXL.js} +2 -2
  8. package/dist/{agents.config-Dt7B_P5o.js → agents.config-DJTb7Jka.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-DUUu6Nhg.js → auth-choice-B3D_jLQw.js} +1 -1
  15. package/dist/{auth-choice-DmSG7c8J.js → auth-choice-D8ynWABO.js} +8 -8
  16. package/dist/{auth-token-DC5w1WoS.js → auth-token-BnOynwk4.js} +1 -1
  17. package/dist/{banner-BiAcdT2T.js → banner-ChYzCy5p.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-BYUiEgev.js} +2 -2
  26. package/dist/{channel-options-ClfXE1B7.js → channel-options-CMNzHg4p.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-C-HLPbLL.js} +17 -17
  29. package/dist/{channels-cli-CjYD1_OO.js → channels-cli-CcCmH-Tp.js} +75 -75
  30. package/dist/{channels-cli-suXRcyfF.js → channels-cli-CyhXPEWq.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-B-911QZL.js → cli-Cp-NQ7yu.js} +62 -62
  37. package/dist/{cli-mbfUlFn3.js → cli-Gcuf3NTF.js} +1 -1
  38. package/dist/{client-BsrZnuSi.js → client-CQSyCS4M.js} +1 -1
  39. package/dist/{command-registry-y8CXSD5O.js → command-registry-Cvr_dlLY.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-2Mi5hts2.js → completion-cli-DDlYn0ya.js} +2 -2
  43. package/dist/{completion-cli-BLrwUAyo.js → completion-cli-DaOHSXM3.js} +12 -12
  44. package/dist/{config-CJMcIRQM.js → config-CHwyw6l5.js} +2 -2
  45. package/dist/{config-cli-tYZAnvgQ.js → config-cli-BcuAsDOu.js} +1 -1
  46. package/dist/{config-cli-CF-wdLkO.js → config-cli-CmUPAVUz.js} +4 -4
  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-Ctwt1377.js} +3 -3
  50. package/dist/{configure-BHKdqhLb.js → configure-OxYdT2hU.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-D7ShsgUp.js} +2 -2
  67. package/dist/{doctor-completion-Dn_Kn4gz.js → doctor-completion-Dw78bQaQ.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-Bd7u0krH.js} +126 -121
  74. package/dist/{gateway-cli-DG_Mdw0H.js → gateway-cli-D7nxPtEc.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-CzH0ikhI.js} +82 -82
  77. package/dist/{glass-ui-ws-BAub_JoN.js → glass-ui-ws-DBivjzVA.js} +7 -7
  78. package/dist/{health-CboWXJkq.js → health-BSOMI4B6.js} +1 -1
  79. package/dist/{health-DkKXiUEF.js → health-rR61mwm3.js} +13 -13
  80. package/dist/{hooks-cli-DLM_5caf.js → hooks-cli-BbiA-gGi.js} +2 -2
  81. package/dist/{hooks-cli-BrO_9pas.js → hooks-cli-dS4fMEKE.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-DqE1s0YL.js} +2 -2
  105. package/dist/{models-cli-Tf61I97Q.js → models-cli-6v9jkDxp.js} +3 -3
  106. package/dist/{models-cli-4vQrbW6G.js → models-cli-BWC7jYp4.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-D8uxVvMq.js → onboard-BUEYf2m9.js} +13 -13
  114. package/dist/{onboard-FpptSqHZ.js → onboard-Bxoibs4p.js} +2 -2
  115. package/dist/{onboard-channels-Q_xxgZ8O.js → onboard-channels-C3UYzZNC.js} +1 -1
  116. package/dist/{onboard-channels-DOKid2w1.js → onboard-channels-af6Cu6fT.js} +5 -5
  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-DhIEUmp5.js → onboarding-CDdMZbov.js} +3 -3
  123. package/dist/{onboarding-CdlGKa0U.js → onboarding-DW-7o6Ln.js} +13 -13
  124. package/dist/{onboarding.finalize-CEYLIXkq.js → onboarding.finalize-29jsMLO2.js} +6 -6
  125. package/dist/{onboarding.finalize-DyBsPxXJ.js → onboarding.finalize-BI70KOeI.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-BThV36aG.js → pi-embedded-JXvD5-F-.js} +46 -19
  137. package/dist/{pi-embedded-wr4HXhzm.js → pi-embedded-PkSwAmVq.js} +46 -19
  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-B7AdPXfF.js} +1 -1
  144. package/dist/{plugin-registry-lWWSu9UD.js → plugin-registry-Reem6P3K.js} +3 -3
  145. package/dist/plugin-sdk/agents/model-token-filter.d.ts +11 -0
  146. package/dist/plugin-sdk/{channel-web-BnrTC55Y.js → channel-web-CM7A3Y7G.js} +1 -1
  147. package/dist/plugin-sdk/index.js +2 -2
  148. package/dist/plugin-sdk/{reply-kuMxu6Q4.js → reply-CDloTGFF.js} +32 -5
  149. package/dist/plugin-sdk/{web-TMIhKQyF.js → web-CWNoMlnF.js} +2 -2
  150. package/dist/{plugins-BAyxWQSz.js → plugins-DKDeQZF0.js} +2 -2
  151. package/dist/{plugins-cli-wlWRx4Oj.js → plugins-cli-B-6wVg3A.js} +2 -2
  152. package/dist/{plugins-cli-BHfzYAq6.js → plugins-cli-V8mTTTnD.js} +71 -71
  153. package/dist/{ports-OZQlocB7.js → ports-BOmtxoTv.js} +2 -2
  154. package/dist/{ports-b36gHZbA.js → ports-BX0kKI0g.js} +1 -1
  155. package/dist/{program-CKy7s-bm.js → program-DBtlRiFS.js} +7 -7
  156. package/dist/{program-context-D4gbh6dg.js → program-context-BHPNVgg2.js} +39 -39
  157. package/dist/{prompt-select-styled-bh0GLMiQ.js → prompt-select-styled-Bh-zAqW1.js} +4 -4
  158. package/dist/{prompt-select-styled-DlGPNq9c.js → prompt-select-styled-Cup1c9RJ.js} +38 -38
  159. package/dist/{provider-auth-helpers-Bd5VVReu.js → provider-auth-helpers-BNmU48Ez.js} +5 -5
  160. package/dist/{provider-auth-helpers-B-YsKbwc.js → provider-auth-helpers-CiuLdUK3.js} +1 -1
  161. package/dist/{push-apns-ByyOJyDl.js → push-apns-8VJkVSdh.js} +1 -1
  162. package/dist/{push-apns-0et2AR44.js → push-apns-9zUNNHgy.js} +4 -4
  163. package/dist/{pw-ai-Ch7liUOW.js → pw-ai-BnAKvSuw.js} +1 -1
  164. package/dist/{pw-ai-1htA-NnS.js → pw-ai-De-KR9_s.js} +1 -1
  165. package/dist/{pw-ai-MVzi113V.js → pw-ai-DqL87js3.js} +7 -7
  166. package/dist/{qmd-manager-BP2r8b1D.js → qmd-manager-D85GJrir.js} +18 -18
  167. package/dist/{qr-cli-17laLZm_.js → qr-cli-jd9LdZpq.js} +3 -3
  168. package/dist/{register.agent-oKma6YjU.js → register.agent-BtNmleKV.js} +6 -6
  169. package/dist/{register.agent-Dhijhxr5.js → register.agent-DnglG42G.js} +81 -81
  170. package/dist/{register.configure-BX8vQ2Np.js → register.configure-CLW9tdE4.js} +6 -6
  171. package/dist/register.configure-DfQOfV1W.js +147 -0
  172. package/dist/{register.maintenance-OJCduNdt.js → register.maintenance-BQfMsgo7.js} +8 -8
  173. package/dist/{register.maintenance-B3TPb969.js → register.maintenance-jFYcRLEN.js} +84 -84
  174. package/dist/{register.message-D0aswsGo.js → register.message-BhoZYcqM.js} +63 -63
  175. package/dist/{register.message-CX8C_Fds.js → register.message-DUsBvFSF.js} +2 -2
  176. package/dist/{register.onboard-CSepiSPt.js → register.onboard-BBwhoeoE.js} +4 -4
  177. package/dist/{register.onboard-BHTyEs6d.js → register.onboard-DQOkpYBY.js} +74 -74
  178. package/dist/{register.setup-lZSHKiGQ.js → register.setup-6jlL3L1h.js} +4 -4
  179. package/dist/{register.setup-uhpgkBjU.js → register.setup-Ca6khTSz.js} +77 -77
  180. package/dist/{register.status-health-sessions-Cbavf8do.js → register.status-health-sessions-DQDXZYI3.js} +3 -3
  181. package/dist/{register.status-health-sessions-v1KN3eEp.js → register.status-health-sessions-DsYNMl06.js} +75 -75
  182. package/dist/{register.subclis-DBEv5xOP.js → register.subclis-DJf3ihsW.js} +9 -9
  183. package/dist/{replies-BL7IBg12.js → replies-vgss3_QA.js} +1 -1
  184. package/dist/{reply-DVxU0AMq.js → reply-DSjeqLEz.js} +161 -134
  185. package/dist/{reply-prefix-BLOOs1aW.js → reply-prefix-CE2YmmsD.js} +1 -1
  186. package/dist/{resolve-route-BcnaXYvh.js → resolve-route-BMoTaVAH.js} +2 -2
  187. package/dist/{routes-CE-ohckF.js → routes-Ba9CUQ8M.js} +8 -8
  188. package/dist/{rpc-wovSCB5v.js → rpc-BfhojW8g.js} +1 -1
  189. package/dist/{run-main-DspjiCY1.js → run-main-B2coomPj.js} +14 -14
  190. package/dist/{runner-Cen70krW.js → runner-CUglpiFP.js} +20 -20
  191. package/dist/{runner-BcQ0sF9T.js → runner-DUBExAb5.js} +1 -1
  192. package/dist/{runner-D0QUGA_X.js → runner-odEv83vv.js} +1 -1
  193. package/dist/{sandbox-BzNrUHpt.js → sandbox-C-T6hOMv.js} +18 -18
  194. package/dist/{sandbox-cli-CZrMO34w.js → sandbox-cli-BllVdQzR.js} +20 -20
  195. package/dist/{security-cli-CeBoEmeN.js → security-cli-BFLtWWHy.js} +36 -36
  196. package/dist/{send-dH0xroTu.js → send-CPF8hSFp.js} +4 -4
  197. package/dist/{send-C95ZRvja.js → send-CXxQ_f7L.js} +6 -6
  198. package/dist/{send-BnuIB59F.js → send-CZr1hVHY.js} +13 -13
  199. package/dist/{send-BEeuDXqy.js → send-Cutb0ZDY.js} +6 -6
  200. package/dist/{send-BjdAgYLu.js → send-tanEMpHN.js} +6 -6
  201. package/dist/{server-context-DUXqnh6l.js → server-context-CEpFjqSk.js} +5 -5
  202. package/dist/{server-methods-B9alalq5.js → server-methods-DHo5e8Gj.js} +7 -7
  203. package/dist/{server-methods-BgBq7KRL.js → server-methods-QNBQbsvr.js} +54 -54
  204. package/dist/{server-node-events-DWG81_Fo.js → server-node-events-CJOo8WcL.js} +2 -2
  205. package/dist/{server-node-events-BrBsrcCd.js → server-node-events-D_S0NRCQ.js} +63 -63
  206. package/dist/{service--qMN5DPm.js → service-Cl74hx8J.js} +15 -15
  207. package/dist/{session-CsIk0Sqq.js → session-DIBTkyvE.js} +2 -2
  208. package/dist/{sessions-D5a7H247.js → sessions-DgYpBvse.js} +13 -13
  209. package/dist/{shared-Jm_QdQJQ.js → shared-BJvwnR5z.js} +1 -1
  210. package/dist/{shared-Gi3l7nlY.js → shared-Knv1hy6h.js} +3 -3
  211. package/dist/{skill-commands-ZXbEITKi.js → skill-commands-Cxw-jNxU.js} +5 -5
  212. package/dist/{skill-scanner-CXg9eeyc.js → skill-scanner-CLs8u6vQ.js} +5 -5
  213. package/dist/{skills-DqQUtOph.js → skills-6jdJQ5ZL.js} +4 -4
  214. package/dist/{skills-cli-D1JL_utC.js → skills-cli-BZTBLQTt.js} +7 -7
  215. package/dist/{skills-install-DjcTy3CT.js → skills-install-D67isO1L.js} +3 -3
  216. package/dist/{skills-status-DS-NZQiq.js → skills-status-CURJKnyY.js} +1 -1
  217. package/dist/{sqlite-BV5ILFtC.js → sqlite-Dx3J_aSE.js} +12 -12
  218. package/dist/{status-DxodHhzX.js → status-4DaGE8j5.js} +2 -2
  219. package/dist/{status-CgPPKk09.js → status-B8yaGk2o.js} +25 -25
  220. package/dist/{status-DqMwkAnF.js → status-D_J6qcC1.js} +1 -1
  221. package/dist/{status-CkJV2sl6.js → status-kfEtYX22.js} +3 -3
  222. package/dist/{status.update-CmGpjKSr.js → status.update-DtwCUTf-.js} +3 -3
  223. package/dist/{store-DvtcmOKj.js → store-r1DJSDq-.js} +5 -5
  224. package/dist/{subagent-registry-CBklD0OL.js → subagent-registry-CyW0EDWw.js} +32 -5
  225. package/dist/{symi-root-MF6_6SCS.js → symi-root-CrGJbkzf.js} +2 -2
  226. package/dist/{system-cli-Buhvt_H5.js → system-cli-UMsMEurS.js} +11 -11
  227. package/dist/{systemd-hints-Db0oImvK.js → systemd-hints-BR6gChwm.js} +6 -6
  228. package/dist/{systemd-linger-BXwqn1jL.js → systemd-linger-aQ75ZlXY.js} +1 -1
  229. package/dist/{systemd-AhJEsmIk.js → systemd-riq8uNJQ.js} +5 -5
  230. package/dist/{tables-C38rzF6E.js → tables-BEzT0Da4.js} +1 -1
  231. package/dist/{target-errors-CCz79CmV.js → target-errors-7AvoVa10.js} +4 -4
  232. package/dist/{tool-images-B-pqX3nX.js → tool-images-DvUBlqjX.js} +1 -1
  233. package/dist/{tui-C0A9W969.js → tui-CriznorL.js} +7 -7
  234. package/dist/{tui-cli-tCnkNdSx.js → tui-cli-CSIdfCTR.js} +28 -28
  235. package/dist/{update-check-C0oYCI89.js → update-check-CtckACbb.js} +5 -5
  236. package/dist/{update-cli-BqdgQuYp.js → update-cli-C-ZGqknl.js} +8 -8
  237. package/dist/{update-cli-DYrpyu4a.js → update-cli-DJupxo-f.js} +94 -94
  238. package/dist/{update-runner-BgzyPjF5.js → update-runner-AiIhp7fw.js} +15 -15
  239. package/dist/{update-runner-CmZW3aeK.js → update-runner-BF5UULe-.js} +1 -1
  240. package/dist/{update-Df4sEKtI.js → update-rw7wJwHd.js} +3 -3
  241. package/dist/{web-GL_nqURg.js → web-6026eRzJ.js} +1 -1
  242. package/dist/{web-DNQzo8ao.js → web-6vYYN17n.js} +6 -6
  243. package/dist/{web-CfZp0Jv6.js → web-CryqKXT4.js} +6 -6
  244. package/dist/web-HeObJp6A.js +109 -0
  245. package/dist/{webhooks-cli-Bp-7Rs2Y.js → webhooks-cli-cD58DWAE.js} +4 -4
  246. package/dist/{whatsapp-actions-CFXNPLco.js → whatsapp-actions-DbcsdOH3.js} +15 -15
  247. package/dist/{with-timeout-Cs6_LnHB.js → with-timeout-gmK6RciS.js} +1 -1
  248. package/dist/{workspace-dirs-DKu48umx.js → workspace-dirs-GpkFi6Kw.js} +1 -1
  249. package/dist/{wsl-BbXxnokd.js → wsl-C4424szg.js} +2 -2
  250. package/package.json +1 -1
  251. package/dist/register.configure-BcZ-7Yir.js +0 -147
  252. package/dist/session-dirs-D3qlvucD.js +0 -18
  253. package/dist/web-DsCqmzyk.js +0 -109
@@ -1,9 +1,9 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { d as isRecord } from "./utils-B-0b9bGM.js";
3
- import { Bt as normalizeSecretInput, K as requireApiKey, W as getApiKeyForModel } from "./model-selection-X1oLh3CE.js";
4
- import { t as ensureSymiModelsJson } from "./models-config-CqDdkHJq.js";
3
+ import { Bt as normalizeSecretInput, K as requireApiKey, W as getApiKeyForModel } from "./model-selection-CyFvYcRt.js";
4
+ import { t as ensureSymiModelsJson } from "./models-config-qyOXrOli.js";
5
5
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-4uUnLc3n.js";
6
- import { N as sanitizeUserFacingText } from "./pi-embedded-helpers-DO6u9K2t.js";
6
+ import { N as sanitizeUserFacingText } from "./pi-embedded-helpers-CNPyv_ax.js";
7
7
  import { n as resolveToolDisplay, t as formatToolDetail } from "./tool-display-D8N3rsYt.js";
8
8
  import { complete } from "@mariozechner/pi-ai";
9
9
 
@@ -1,7 +1,7 @@
1
1
  import { n as runExec } from "./exec-CWkblSrI.js";
2
2
  import os from "node:os";
3
3
  import path from "node:path";
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
@@ -234,11 +234,11 @@ function readJpegExifOrientation(buffer) {
234
234
  return null;
235
235
  }
236
236
  async function withTempDir(fn) {
237
- const dir = await fsPromises.mkdtemp(path.join(os.tmpdir(), "symi-img-"));
237
+ const dir = await fs.mkdtemp(path.join(os.tmpdir(), "symi-img-"));
238
238
  try {
239
239
  return await fn(dir);
240
240
  } finally {
241
- await fsPromises.rm(dir, {
241
+ await fs.rm(dir, {
242
242
  recursive: true,
243
243
  force: true
244
244
  }).catch(() => {});
@@ -247,7 +247,7 @@ async function withTempDir(fn) {
247
247
  async function sipsMetadataFromBuffer(buffer) {
248
248
  return await withTempDir(async (dir) => {
249
249
  const input = path.join(dir, "in.img");
250
- await fsPromises.writeFile(input, buffer);
250
+ await fs.writeFile(input, buffer);
251
251
  const { stdout } = await runExec("/usr/bin/sips", [
252
252
  "-g",
253
253
  "pixelWidth",
@@ -275,7 +275,7 @@ async function sipsResizeToJpeg(params) {
275
275
  return await withTempDir(async (dir) => {
276
276
  const input = path.join(dir, "in.img");
277
277
  const output = path.join(dir, "out.jpg");
278
- await fsPromises.writeFile(input, params.buffer);
278
+ await fs.writeFile(input, params.buffer);
279
279
  await runExec("/usr/bin/sips", [
280
280
  "-Z",
281
281
  String(Math.max(1, Math.round(params.maxSide))),
@@ -292,14 +292,14 @@ async function sipsResizeToJpeg(params) {
292
292
  timeoutMs: 2e4,
293
293
  maxBuffer: 1024 * 1024
294
294
  });
295
- return await fsPromises.readFile(output);
295
+ return await fs.readFile(output);
296
296
  });
297
297
  }
298
298
  async function sipsConvertToJpeg(buffer) {
299
299
  return await withTempDir(async (dir) => {
300
300
  const input = path.join(dir, "in.heic");
301
301
  const output = path.join(dir, "out.jpg");
302
- await fsPromises.writeFile(input, buffer);
302
+ await fs.writeFile(input, buffer);
303
303
  await runExec("/usr/bin/sips", [
304
304
  "-s",
305
305
  "format",
@@ -311,7 +311,7 @@ async function sipsConvertToJpeg(buffer) {
311
311
  timeoutMs: 2e4,
312
312
  maxBuffer: 1024 * 1024
313
313
  });
314
- return await fsPromises.readFile(output);
314
+ return await fs.readFile(output);
315
315
  });
316
316
  }
317
317
  async function getImageMetadata(buffer) {
@@ -362,7 +362,7 @@ async function sipsApplyOrientation(buffer, orientation) {
362
362
  return await withTempDir(async (dir) => {
363
363
  const input = path.join(dir, "in.jpg");
364
364
  const output = path.join(dir, "out.jpg");
365
- await fsPromises.writeFile(input, buffer);
365
+ await fs.writeFile(input, buffer);
366
366
  await runExec("/usr/bin/sips", [
367
367
  ...ops,
368
368
  input,
@@ -372,7 +372,7 @@ async function sipsApplyOrientation(buffer, orientation) {
372
372
  timeoutMs: 2e4,
373
373
  maxBuffer: 1024 * 1024
374
374
  });
375
- return await fsPromises.readFile(output);
375
+ return await fs.readFile(output);
376
376
  });
377
377
  }
378
378
  async function resizeToJpeg(params) {
package/dist/index.js CHANGED
@@ -2,120 +2,120 @@
2
2
  import "./paths-Cqn-zk3M.js";
3
3
  import { B as theme, P as setVerbose, T as toWhatsappJid, l as escapeRegExp, m as normalizeE164, n as assertWebChannel, z as isRich } from "./utils-B-0b9bGM.js";
4
4
  import "./thinking-EAliFiVK.js";
5
- import { Et as resolveCommitHash, Ut as createDefaultDeps, t as getReplyFromConfig } from "./reply-DVxU0AMq.js";
5
+ import { Et as resolveCommitHash, Ut as createDefaultDeps, t as getReplyFromConfig } from "./reply-DSjeqLEz.js";
6
6
  import "./registry-Cja8eT7G.js";
7
7
  import { f as defaultRuntime, r as enableConsoleCapture, u as visibleWidth } from "./subsystem-D9vIQve0.js";
8
8
  import { n as runExec, t as runCommandWithTimeout } from "./exec-CWkblSrI.js";
9
- import "./agent-scope-BRwEc2pG.js";
10
- import "./model-selection-X1oLh3CE.js";
9
+ import "./agent-scope-CgUHAtCo.js";
10
+ import "./model-selection-CyFvYcRt.js";
11
11
  import "./github-copilot-token-DAu1a6BX.js";
12
12
  import { n as replaceCliName, r as resolveCliName } from "./command-format-COaS-S7B.js";
13
13
  import "./boolean-BsqeuxE6.js";
14
14
  import { r as normalizeEnv, t as isTruthyEnvValue } from "./env-DPCHYPeH.js";
15
15
  import "./message-channel-aT-I_DTX.js";
16
- import "./send-BnuIB59F.js";
17
- import { H as VERSION, W as loadDotEnv, i as loadConfig } from "./config-CJMcIRQM.js";
16
+ import "./send-CZr1hVHY.js";
17
+ import { H as VERSION, W as loadDotEnv, i as loadConfig } from "./config-CHwyw6l5.js";
18
18
  import "./manifest-registry-C4BxOMWX.js";
19
- import { _ as applyTemplate, u as installUnhandledRejectionHandler } from "./runner-Cen70krW.js";
20
- import "./image-BiY-PfMh.js";
21
- import "./models-config-CqDdkHJq.js";
19
+ import { _ as applyTemplate, u as installUnhandledRejectionHandler } from "./runner-CUglpiFP.js";
20
+ import "./image-D9uvDTrc.js";
21
+ import "./models-config-qyOXrOli.js";
22
22
  import "./pi-model-discovery-4uUnLc3n.js";
23
- import "./pi-embedded-helpers-DO6u9K2t.js";
24
- import "./sandbox-BzNrUHpt.js";
25
- import "./chrome-r4RThPxq.js";
23
+ import "./pi-embedded-helpers-CNPyv_ax.js";
24
+ import "./sandbox-C-T6hOMv.js";
25
+ import "./chrome-DtPkPq9T.js";
26
26
  import { l as ensureBinary, u as promptYesNo } from "./tailscale-D5dKabOc.js";
27
27
  import "./auth-B741uFtk.js";
28
- import "./server-context-DUXqnh6l.js";
28
+ import "./server-context-CEpFjqSk.js";
29
29
  import "./frontmatter-DWQhtOo7.js";
30
- import "./skills-DqQUtOph.js";
31
- import "./routes-CE-ohckF.js";
30
+ import "./skills-6jdJQ5ZL.js";
31
+ import "./routes-Ba9CUQ8M.js";
32
32
  import "./redact-f-Q-hFt_.js";
33
33
  import { r as formatUncaughtError } from "./errors-BF3TeRH2.js";
34
- import "./fs-safe-CTDvb1DF.js";
35
- import "./paths-CT6jsi4E.js";
34
+ import "./fs-safe-CUjO1ca2.js";
35
+ import "./paths-BBm9fwuG.js";
36
36
  import "./ssrf-BCYMnxkM.js";
37
- import "./image-ops-DYbDWaIA.js";
38
- import "./store-DvtcmOKj.js";
39
- import { i as handlePortError, n as describePortOwner, r as ensurePortAvailable, t as PortInUseError } from "./ports-OZQlocB7.js";
37
+ import "./image-ops-1OJMSAUX.js";
38
+ import "./store-r1DJSDq-.js";
39
+ import { i as handlePortError, n as describePortOwner, r as ensurePortAvailable, t as PortInUseError } from "./ports-BOmtxoTv.js";
40
40
  import "./trash-DcMh1i4B.js";
41
- import { A as deriveSessionKey, j as resolveSessionKey, l as saveSessionStore, o as loadSessionStore } from "./sessions-D5a7H247.js";
42
- import "./dock-BYiRZSgZ.js";
43
- import "./plugins-BAyxWQSz.js";
44
- import "./accounts-Cd816n6l.js";
45
- import "./accounts-CokRskCl.js";
46
- import "./accounts-mN_EcgxC.js";
47
- import "./bindings-ChzePa8q.js";
41
+ import { A as deriveSessionKey, j as resolveSessionKey, l as saveSessionStore, o as loadSessionStore } from "./sessions-DgYpBvse.js";
42
+ import "./dock-BhS32F6E.js";
43
+ import "./plugins-DKDeQZF0.js";
44
+ import "./accounts-DDuIpcln.js";
45
+ import "./accounts-bK-Yqdwx.js";
46
+ import "./accounts-DyJN4_vR.js";
47
+ import "./bindings-DFaVVCsf.js";
48
48
  import "./logging-w5jq5901.js";
49
- import "./send-dH0xroTu.js";
49
+ import "./send-CPF8hSFp.js";
50
50
  import { c as resolveStorePath } from "./paths-CyhzMxFA.js";
51
- import "./tool-images-B-pqX3nX.js";
51
+ import "./tool-images-DvUBlqjX.js";
52
52
  import "./tool-display-D8N3rsYt.js";
53
53
  import "./fetch-guard-DOPkVbh3.js";
54
- import "./api-key-rotation-CEr3lKih.js";
55
- import "./local-roots-BBeKX7PX.js";
56
- import "./sqlite-BV5ILFtC.js";
57
- import "./model-catalog-C3NLvWC2.js";
54
+ import "./api-key-rotation-CzuPlV2t.js";
55
+ import "./local-roots-aAFLQGkY.js";
56
+ import "./sqlite-Dx3J_aSE.js";
57
+ import "./model-catalog-DvBJ8pMD.js";
58
58
  import "./tokens-BuceUQDl.js";
59
- import "./with-timeout-Cs6_LnHB.js";
60
- import "./deliver-Um8yyhRA.js";
59
+ import "./with-timeout-gmK6RciS.js";
60
+ import "./deliver-CceEhg3d.js";
61
61
  import "./diagnostic-DjBRPfu9.js";
62
62
  import "./diagnostic-session-state-CUslJyKP.js";
63
- import "./send-BEeuDXqy.js";
64
- import "./model-CeeOcylL.js";
65
- import "./reply-prefix-BLOOs1aW.js";
66
- import "./memory-cli-lk6fRiwy.js";
67
- import "./manager-C1CfGzZ2.js";
63
+ import "./send-Cutb0ZDY.js";
64
+ import "./model-tWhwnFf8.js";
65
+ import "./reply-prefix-CE2YmmsD.js";
66
+ import "./memory-cli-Ca5r9AUb.js";
67
+ import "./manager-D4LJSRyZ.js";
68
68
  import "./retry-BoS4e4X_.js";
69
- import "./target-errors-CCz79CmV.js";
69
+ import "./target-errors-7AvoVa10.js";
70
70
  import "./chunk-1dhPX1NK.js";
71
- import "./markdown-tables-ZwP14ydw.js";
72
- import "./ir-Dt4hOzxG.js";
71
+ import "./markdown-tables-CEbN0fEm.js";
72
+ import "./ir-DZam9q5M.js";
73
73
  import "./render-CXDO_kgw.js";
74
- import "./commands-CtocZ4Lg.js";
75
- import "./commands-registry-BZ0ZSQpM.js";
76
- import "./client-BsrZnuSi.js";
77
- import "./call-Dd7-bkfG.js";
78
- import "./pairing-token-AV-MMfVE.js";
74
+ import "./commands-BNLCWX6e.js";
75
+ import "./commands-registry-BT0-zzs3.js";
76
+ import "./client-CQSyCS4M.js";
77
+ import "./call-CJaS1iRF.js";
78
+ import "./pairing-token-CX3NN_qj.js";
79
79
  import "./channel-activity-BOiuJS3t.js";
80
80
  import "./fetch-DTNGXEzX.js";
81
- import "./tables-C38rzF6E.js";
82
- import "./send-BjdAgYLu.js";
83
- import "./pairing-store-B8ktu-6j.js";
81
+ import "./tables-BEzT0Da4.js";
82
+ import "./send-tanEMpHN.js";
83
+ import "./pairing-store-CK726Dzq.js";
84
84
  import "./proxy-DU7W9XSc.js";
85
85
  import { t as formatDocsLink } from "./links-3i1eUga4.js";
86
86
  import "./cli-utils-DN_hM6ov.js";
87
87
  import "./help-format-B_-M23wP.js";
88
88
  import "./progress-jIePzvGA.js";
89
- import "./resolve-route-BcnaXYvh.js";
90
- import "./replies-BL7IBg12.js";
91
- import "./skill-commands-ZXbEITKi.js";
92
- import "./workspace-dirs-DKu48umx.js";
93
- import "./outbound-attachment-D62E0xDI.js";
89
+ import "./resolve-route-BMoTaVAH.js";
90
+ import "./replies-vgss3_QA.js";
91
+ import "./skill-commands-Cxw-jNxU.js";
92
+ import "./workspace-dirs-GpkFi6Kw.js";
93
+ import "./outbound-attachment-D_QuKi8U.js";
94
94
  import "./delivery-queue-Df1uodAG.js";
95
95
  import "./session-cost-usage-BG4AXrGN.js";
96
- import "./send-C95ZRvja.js";
97
- import "./onboard-helpers-Dixh6cNh.js";
96
+ import "./send-CXxQ_f7L.js";
97
+ import "./onboard-helpers-ZmZYzlq3.js";
98
98
  import "./prompt-style-8JqOYj0q.js";
99
- import "./pairing-labels-27SOKDzJ.js";
99
+ import "./pairing-labels-2S6x2UoV.js";
100
100
  import "./exec-approvals-Kn31mBcW.js";
101
- import "./nodes-screen-C99kfE1u.js";
102
- import "./pi-tools.policy-juZV2uUv.js";
103
- import "./control-service-B8H3Bqpv.js";
101
+ import "./nodes-screen-VBGXKdLk.js";
102
+ import "./pi-tools.policy-CIDBbw6x.js";
103
+ import "./control-service-Bz7rxLWq.js";
104
104
  import "./stagger-BUClb97_.js";
105
- import "./channel-selection-DjfBv8kq.js";
106
- import { r as waitForever, t as monitorWebChannel } from "./channel-web-y6pd_GHr.js";
107
- import "./outbound-NJCy0h4x.js";
108
- import "./session-CsIk0Sqq.js";
109
- import "./login-1sleXoB4.js";
105
+ import "./channel-selection-DuWs0Aak.js";
106
+ import { r as waitForever, t as monitorWebChannel } from "./channel-web-C-HLPbLL.js";
107
+ import "./outbound-DB5Zus0-.js";
108
+ import "./session-DIBTkyvE.js";
109
+ import "./login-dIlDkG4X.js";
110
110
  import { t as isMainModule } from "./is-main-DrpmTCqv.js";
111
111
  import { t as ensureSymiCliOnPath } from "./path-env-MnzRq6nD.js";
112
112
  import { t as assertSupportedRuntime } from "./runtime-guard-B37eizu-.js";
113
- import "./ports-b36gHZbA.js";
113
+ import "./ports-BX0kKI0g.js";
114
114
  import { a as hasFlag, i as getVerboseFlag, n as getCommandPath, o as hasHelpOrVersion, s as hasRootVersionAlias } from "./argv-C6ovOie2.js";
115
- import { i as getCoreCliCommandsWithSubcommands, n as setProgramContext, o as registerProgramCommands, s as getSubCliCommandsWithSubcommands } from "./program-context-D4gbh6dg.js";
115
+ import { i as getCoreCliCommandsWithSubcommands, n as setProgramContext, o as registerProgramCommands, s as getSubCliCommandsWithSubcommands } from "./program-context-BHPNVgg2.js";
116
116
  import "./catalog-RiADx7MA.js";
117
- import "./plugin-registry-lWWSu9UD.js";
118
- import { n as resolveCliChannelOptions } from "./channel-options-vQREpu-n.js";
117
+ import "./plugin-registry-Reem6P3K.js";
118
+ import { n as resolveCliChannelOptions } from "./channel-options-BYUiEgev.js";
119
119
  import process$1 from "node:process";
120
120
  import { fileURLToPath } from "node:url";
121
121
  import { Command } from "commander";
@@ -509,13 +509,13 @@ function registerPreActionHooks(program, programVersion) {
509
509
  setVerbose(verbose);
510
510
  if (!verbose) process.env.NODE_NO_WARNINGS ??= "1";
511
511
  if (commandPath[0] === "doctor" || commandPath[0] === "completion") return;
512
- const { ensureConfigReady } = await import("./config-guard-C1Rs8NZG.js");
512
+ const { ensureConfigReady } = await import("./config-guard-BflmO0t7.js");
513
513
  await ensureConfigReady({
514
514
  runtime: defaultRuntime,
515
515
  commandPath
516
516
  });
517
517
  if (PLUGIN_REQUIRED_COMMANDS.has(commandPath[0])) {
518
- const { ensurePluginRegistryLoaded } = await import("./plugin-registry-lWWSu9UD.js").then((n) => n.n);
518
+ const { ensurePluginRegistryLoaded } = await import("./plugin-registry-Reem6P3K.js").then((n) => n.n);
519
519
  ensurePluginRegistryLoaded();
520
520
  }
521
521
  });
@@ -1,7 +1,7 @@
1
1
  import { c as resolveGatewayLaunchAgentLabel, d as resolveGatewaySystemdServiceName, f as resolveGatewayWindowsTaskName, n as GATEWAY_SERVICE_KIND, r as GATEWAY_SERVICE_MARKER } from "./constants-C8_BLnaW.js";
2
- import { n as execSchtasks } from "./service--qMN5DPm.js";
2
+ import { n as execSchtasks } from "./service-Cl74hx8J.js";
3
3
  import path from "node:path";
4
- import fsPromises from "node:fs/promises";
4
+ import fs from "node:fs/promises";
5
5
 
6
6
  //#region src/daemon/inspect.ts
7
7
  const EXTRA_MARKERS = [
@@ -76,14 +76,14 @@ function isLegacyLabel(label) {
76
76
  }
77
77
  async function readDirEntries(dir) {
78
78
  try {
79
- return await fsPromises.readdir(dir);
79
+ return await fs.readdir(dir);
80
80
  } catch {
81
81
  return [];
82
82
  }
83
83
  }
84
84
  async function readUtf8File(filePath) {
85
85
  try {
86
- return await fsPromises.readFile(filePath, "utf8");
86
+ return await fs.readFile(filePath, "utf8");
87
87
  } catch {
88
88
  return null;
89
89
  }
@@ -1,7 +1,7 @@
1
1
  import { n as resolveSafeBaseDir } from "./path-safety-BqPJ8DDQ.js";
2
2
  import { createWriteStream } from "node:fs";
3
3
  import path from "node:path";
4
- import fsPromises from "node:fs/promises";
4
+ import fs$1 from "node:fs/promises";
5
5
  import { createHash } from "node:crypto";
6
6
  import { pipeline } from "node:stream/promises";
7
7
  import { Readable, Transform } from "node:stream";
@@ -69,9 +69,9 @@ function resolveArchiveKind(filePath) {
69
69
  async function resolvePackedRootDir(extractDir) {
70
70
  const direct = path.join(extractDir, "package");
71
71
  try {
72
- if ((await fsPromises.stat(direct)).isDirectory()) return direct;
72
+ if ((await fs$1.stat(direct)).isDirectory()) return direct;
73
73
  } catch {}
74
- const dirs = (await fsPromises.readdir(extractDir, { withFileTypes: true })).filter((entry) => entry.isDirectory()).map((entry) => entry.name);
74
+ const dirs = (await fs$1.readdir(extractDir, { withFileTypes: true })).filter((entry) => entry.isDirectory()).map((entry) => entry.name);
75
75
  if (dirs.length !== 1) throw new Error(`unexpected archive layout (dirs: ${dirs.join(", ")})`);
76
76
  const onlyDir = dirs[0];
77
77
  if (!onlyDir) throw new Error("unexpected archive layout (no package dir found)");
@@ -144,8 +144,8 @@ async function readZipEntryStream(entry) {
144
144
  }
145
145
  async function extractZip(params) {
146
146
  const limits = resolveExtractLimits(params.limits);
147
- if ((await fsPromises.stat(params.archivePath)).size > limits.maxArchiveBytes) throw new Error(ERROR_ARCHIVE_SIZE_EXCEEDS_LIMIT);
148
- const buffer = await fsPromises.readFile(params.archivePath);
147
+ if ((await fs$1.stat(params.archivePath)).size > limits.maxArchiveBytes) throw new Error(ERROR_ARCHIVE_SIZE_EXCEEDS_LIMIT);
148
+ const buffer = await fs$1.readFile(params.archivePath);
149
149
  const zip = await JSZip.loadAsync(buffer);
150
150
  const entries = Object.values(zip.files);
151
151
  const strip = Math.max(0, Math.floor(params.stripComponents ?? 0));
@@ -162,21 +162,21 @@ async function extractZip(params) {
162
162
  originalPath: entry.name
163
163
  });
164
164
  if (entry.dir) {
165
- await fsPromises.mkdir(outPath, { recursive: true });
165
+ await fs$1.mkdir(outPath, { recursive: true });
166
166
  continue;
167
167
  }
168
- await fsPromises.mkdir(path.dirname(outPath), { recursive: true });
168
+ await fs$1.mkdir(path.dirname(outPath), { recursive: true });
169
169
  budget.startEntry();
170
170
  const readable = await readZipEntryStream(entry);
171
171
  try {
172
172
  await pipeline(readable, createExtractBudgetTransform({ onChunkBytes: budget.addBytes }), createWriteStream(outPath));
173
173
  } catch (err) {
174
- await fsPromises.unlink(outPath).catch(() => void 0);
174
+ await fs$1.unlink(outPath).catch(() => void 0);
175
175
  throw err;
176
176
  }
177
177
  if (typeof entry.unixPermissions === "number") {
178
178
  const mode = entry.unixPermissions & 511;
179
- if (mode !== 0) await fsPromises.chmod(outPath, mode).catch(() => void 0);
179
+ if (mode !== 0) await fs$1.chmod(outPath, mode).catch(() => void 0);
180
180
  }
181
181
  }
182
182
  }
@@ -236,14 +236,14 @@ async function extractArchive(params) {
236
236
  }
237
237
  async function fileExists(filePath) {
238
238
  try {
239
- await fsPromises.stat(filePath);
239
+ await fs$1.stat(filePath);
240
240
  return true;
241
241
  } catch {
242
242
  return false;
243
243
  }
244
244
  }
245
245
  async function readJsonFile(filePath) {
246
- const raw = await fsPromises.readFile(filePath, "utf-8");
246
+ const raw = await fs$1.readFile(filePath, "utf-8");
247
247
  return JSON.parse(raw);
248
248
  }
249
249
 
@@ -1,10 +1,10 @@
1
1
  import { t as CONFIG_DIR, y as resolveUserPath } from "./utils-B-0b9bGM.js";
2
2
  import { i as isPathInside, n as MANIFEST_KEY, r as extensionUsesSkippedScannerPath } from "./legacy-names-Be3msDZo.js";
3
- import { a as extractArchive, c as resolveArchiveKind, i as unscopedPackageName, l as resolvePackedRootDir, n as safeDirName, o as fileExists, s as readJsonFile, t as resolveSafeInstallDir } from "./install-safe-path-Qqr_t_tH.js";
4
- import { a as installPackageDir, i as withTempDir, n as installFromNpmSpecArchive, r as resolveArchiveSourcePath, t as validateRegistryNpmSpec } from "./npm-registry-spec-DR_at_Hp.js";
5
- import { t as scanDirectoryWithSummary } from "./skill-scanner-CXg9eeyc.js";
3
+ import { a as extractArchive, c as resolveArchiveKind, i as unscopedPackageName, l as resolvePackedRootDir, n as safeDirName, o as fileExists, s as readJsonFile, t as resolveSafeInstallDir } from "./install-safe-path-tCLiMpmO.js";
4
+ import { a as installPackageDir, i as withTempDir, n as installFromNpmSpecArchive, r as resolveArchiveSourcePath, t as validateRegistryNpmSpec } from "./npm-registry-spec-C2JDdSZS.js";
5
+ import { t as scanDirectoryWithSummary } from "./skill-scanner-CLs8u6vQ.js";
6
6
  import path from "node:path";
7
- import fsPromises from "node:fs/promises";
7
+ import fs from "node:fs/promises";
8
8
 
9
9
  //#region src/plugins/install.ts
10
10
  const defaultLogger = {};
@@ -116,7 +116,7 @@ async function installPluginFromPackageDir(params) {
116
116
  logger.warn?.(`Plugin "${pluginId}" code safety scan failed (${String(err)}). Installation continues; run "symi security audit --deep" after install.`);
117
117
  }
118
118
  const extensionsDir = params.extensionsDir ? resolveUserPath(params.extensionsDir) : path.join(CONFIG_DIR, "extensions");
119
- await fsPromises.mkdir(extensionsDir, { recursive: true });
119
+ await fs.mkdir(extensionsDir, { recursive: true });
120
120
  const targetDirResult = resolveSafeInstallDir({
121
121
  baseDir: extensionsDir,
122
122
  id: pluginId,
@@ -180,7 +180,7 @@ async function installPluginFromArchive(params) {
180
180
  const archivePath = archivePathResult.path;
181
181
  return await withTempDir("symi-plugin-", async (tmpDir) => {
182
182
  const extractDir = path.join(tmpDir, "extract");
183
- await fsPromises.mkdir(extractDir, { recursive: true });
183
+ await fs.mkdir(extractDir, { recursive: true });
184
184
  logger.info?.(`Extracting ${archivePath}…`);
185
185
  try {
186
186
  await extractArchive({
@@ -221,7 +221,7 @@ async function installPluginFromDir(params) {
221
221
  ok: false,
222
222
  error: `directory not found: ${dirPath}`
223
223
  };
224
- if (!(await fsPromises.stat(dirPath)).isDirectory()) return {
224
+ if (!(await fs.stat(dirPath)).isDirectory()) return {
225
225
  ok: false,
226
226
  error: `not a directory: ${dirPath}`
227
227
  };
@@ -243,7 +243,7 @@ async function installPluginFromFile(params) {
243
243
  error: `file not found: ${filePath}`
244
244
  };
245
245
  const extensionsDir = params.extensionsDir ? resolveUserPath(params.extensionsDir) : path.join(CONFIG_DIR, "extensions");
246
- await fsPromises.mkdir(extensionsDir, { recursive: true });
246
+ await fs.mkdir(extensionsDir, { recursive: true });
247
247
  const pluginId = path.basename(filePath, path.extname(filePath)) || "plugin";
248
248
  const pluginIdError = validatePluginId(pluginId);
249
249
  if (pluginIdError) return {
@@ -257,7 +257,7 @@ async function installPluginFromFile(params) {
257
257
  };
258
258
  if (dryRun) return buildFileInstallResult(pluginId, targetFile);
259
259
  logger.info?.(`Installing to ${targetFile}…`);
260
- await fsPromises.copyFile(filePath, targetFile);
260
+ await fs.copyFile(filePath, targetFile);
261
261
  return buildFileInstallResult(pluginId, targetFile);
262
262
  }
263
263
  async function installPluginFromNpmSpec(params) {
@@ -303,7 +303,7 @@ async function installPluginFromPath(params) {
303
303
  ok: false,
304
304
  error: `path not found: ${resolved}`
305
305
  };
306
- if ((await fsPromises.stat(resolved)).isDirectory()) return await installPluginFromDir({
306
+ if ((await fs.stat(resolved)).isDirectory()) return await installPluginFromDir({
307
307
  dirPath: resolved,
308
308
  extensionsDir: params.extensionsDir,
309
309
  timeoutMs: params.timeoutMs,
@@ -1,11 +1,11 @@
1
1
  import { F as shouldLogVerbose, M as logVerbose, y as resolveUserPath } from "./utils-B-0b9bGM.js";
2
- import { r as readLocalFileSafely, t as SafeOpenError } from "./fs-safe-CTDvb1DF.js";
3
- import { _ as maxBytesForKind, a as hasAlphaChannel, c as detectMime, l as extensionForMime, o as optimizeImageToPng, r as convertHeicToJpeg, s as resizeToJpeg, v as mediaKindFromMime } from "./image-ops-DYbDWaIA.js";
4
- import { i as fetchRemoteMedia, n as getDefaultMediaLocalRoots } from "./local-roots-BBeKX7PX.js";
2
+ import { r as readLocalFileSafely, t as SafeOpenError } from "./fs-safe-CUjO1ca2.js";
3
+ import { _ as maxBytesForKind, a as hasAlphaChannel, c as detectMime, l as extensionForMime, o as optimizeImageToPng, r as convertHeicToJpeg, s as resizeToJpeg, v as mediaKindFromMime } from "./image-ops-1OJMSAUX.js";
4
+ import { i as fetchRemoteMedia, n as getDefaultMediaLocalRoots } from "./local-roots-aAFLQGkY.js";
5
5
  import { a as chunkText } from "./chunk-1dhPX1NK.js";
6
6
  import { fileURLToPath } from "node:url";
7
7
  import path from "node:path";
8
- import fsPromises from "node:fs/promises";
8
+ import fs from "node:fs/promises";
9
9
  import MarkdownIt from "markdown-it";
10
10
 
11
11
  //#region src/web/media.ts
@@ -24,7 +24,7 @@ async function assertLocalMediaAllowed(mediaPath, localRoots) {
24
24
  const roots = localRoots ?? getDefaultLocalRoots();
25
25
  let resolved;
26
26
  try {
27
- resolved = await fsPromises.realpath(mediaPath);
27
+ resolved = await fs.realpath(mediaPath);
28
28
  } catch {
29
29
  resolved = path.resolve(mediaPath);
30
30
  }
@@ -41,7 +41,7 @@ async function assertLocalMediaAllowed(mediaPath, localRoots) {
41
41
  for (const root of roots) {
42
42
  let resolvedRoot;
43
43
  try {
44
- resolvedRoot = await fsPromises.realpath(root);
44
+ resolvedRoot = await fs.realpath(root);
45
45
  } catch {
46
46
  resolvedRoot = path.resolve(root);
47
47
  }
@@ -2,13 +2,13 @@ import { d as resolveIsNixMode } from "./paths-Cqn-zk3M.js";
2
2
  import { B as theme, R as colorize, U as getResolvedLoggerSettings, z as isRich } from "./utils-B-0b9bGM.js";
3
3
  import { f as defaultRuntime } from "./subsystem-D9vIQve0.js";
4
4
  import { t as formatCliCommand } from "./command-format-COaS-S7B.js";
5
- import { i as loadConfig } from "./config-CJMcIRQM.js";
5
+ import { i as loadConfig } from "./config-CHwyw6l5.js";
6
6
  import { c as pickPrimaryLanIPv4 } from "./ws-C7EXRv8z.js";
7
- import { t as isWSL } from "./wsl-BbXxnokd.js";
7
+ import { t as isWSL } from "./wsl-C4424szg.js";
8
8
  import { c as resolveGatewayLaunchAgentLabel, d as resolveGatewaySystemdServiceName, f as resolveGatewayWindowsTaskName } from "./constants-C8_BLnaW.js";
9
- import { r as isSystemdUserServiceAvailable } from "./systemd-AhJEsmIk.js";
10
- import { s as resolveGatewayLogPaths } from "./service--qMN5DPm.js";
11
- import { a as checkTokenDrift, n as renderSystemdUnavailableHints } from "./systemd-hints-Db0oImvK.js";
9
+ import { r as isSystemdUserServiceAvailable } from "./systemd-riq8uNJQ.js";
10
+ import { s as resolveGatewayLogPaths } from "./service-Cl74hx8J.js";
11
+ import { a as checkTokenDrift, n as renderSystemdUnavailableHints } from "./systemd-hints-BR6gChwm.js";
12
12
  import { t as parsePort } from "./parse-port-Vm8F7Kus.js";
13
13
  import { Writable } from "node:stream";
14
14
 
@@ -4,7 +4,7 @@ import { c as resolveDefaultAgentId, r as resolveAgentDir, s as resolveAgentWork
4
4
  import "./subsystem-Bs9YvKLa.js";
5
5
  import "./workspace-wAaHI8-5.js";
6
6
  import "./tokens-H1H1LiSQ.js";
7
- import { t as runEmbeddedPiAgent } from "./pi-embedded-wr4HXhzm.js";
7
+ import { t as runEmbeddedPiAgent } from "./pi-embedded-PkSwAmVq.js";
8
8
  import "./plugins-DQYI3Fr-.js";
9
9
  import "./accounts-tNElYrCH.js";
10
10
  import "./boolean-B8-BqKGQ.js";
@@ -12,7 +12,7 @@ import "./command-format-BaxDnULz.js";
12
12
  import "./bindings-B7Ke6LJi.js";
13
13
  import "./send-DeFniOjh.js";
14
14
  import "./send-CiTGOvEc.js";
15
- import "./deliver-D1ZN6-fl.js";
15
+ import "./deliver-CvCK5Mm9.js";
16
16
  import "./diagnostic-CI0kRQkt.js";
17
17
  import "./diagnostic-session-state-Bxo4UHOL.js";
18
18
  import "./accounts-CWktKM8a.js";
@@ -22,10 +22,10 @@ import "./model-auth-DK43VicI.js";
22
22
  import "./github-copilot-token-C_qUP7p5.js";
23
23
  import "./pi-model-discovery-DaNAekda.js";
24
24
  import "./message-channel-Dz5lr5b0.js";
25
- import "./pi-embedded-helpers-ag2bosuj.js";
25
+ import "./pi-embedded-helpers-DLFjnVBb.js";
26
26
  import "./config-DRbjHIwD.js";
27
27
  import "./manifest-registry-D0IQ3WuX.js";
28
- import "./chrome-EyvdASWt.js";
28
+ import "./chrome-BFekevcE.js";
29
29
  import "./frontmatter-C_bv_0P8.js";
30
30
  import "./skills-BFekKL7i.js";
31
31
  import "./redact-jSxx6Ep2.js";
@@ -36,7 +36,7 @@ import "./thinking-CdlENGRW.js";
36
36
  import "./accounts-qtxJ-6em.js";
37
37
  import "./paths-DLyHUt31.js";
38
38
  import "./tool-images-DXB7tqWi.js";
39
- import "./image-Cp3JDEBB.js";
39
+ import "./image-B0wGflxA.js";
40
40
  import "./reply-prefix-XlyuyChD.js";
41
41
  import "./manager-D_LwXbc6.js";
42
42
  import "./gemini-auth-CdSPHuLl.js";
@@ -50,7 +50,7 @@ import "./ir-DccrnjsE.js";
50
50
  import "./render-CDCvpfhh.js";
51
51
  import "./commands-registry-D7CTCQPm.js";
52
52
  import "./skill-commands-BJMb_psG.js";
53
- import "./runner-D0QUGA_X.js";
53
+ import "./runner-odEv83vv.js";
54
54
  import "./fetch-Bso4i15F.js";
55
55
  import "./channel-activity-CsM_hJ_s.js";
56
56
  import "./tables-DuZspiBu.js";
@@ -1,7 +1,7 @@
1
1
  import { g as resolveStateDir } from "./paths-Cqn-zk3M.js";
2
2
  import { X as resolvePreferredSymiTmpDir } from "./utils-B-0b9bGM.js";
3
- import { c as resolveAgentWorkspaceDir } from "./agent-scope-BRwEc2pG.js";
4
- import { c as detectMime, l as extensionForMime } from "./image-ops-DYbDWaIA.js";
3
+ import { c as resolveAgentWorkspaceDir } from "./agent-scope-CgUHAtCo.js";
4
+ import { c as detectMime, l as extensionForMime } from "./image-ops-1OJMSAUX.js";
5
5
  import { t as fetchWithSsrFGuard } from "./fetch-guard-DOPkVbh3.js";
6
6
  import path from "node:path";
7
7
 
@@ -3,9 +3,9 @@ import { I as success, O as danger, k as info } from "./utils-B-0b9bGM.js";
3
3
  import { f as defaultRuntime } from "./subsystem-D9vIQve0.js";
4
4
  import { o as logInfo } from "./exec-CWkblSrI.js";
5
5
  import { t as formatCliCommand } from "./command-format-COaS-S7B.js";
6
- import { i as loadConfig } from "./config-CJMcIRQM.js";
7
- import { n as resolveWhatsAppAccount, o as logoutWeb } from "./accounts-Cd816n6l.js";
8
- import { i as waitForWaConnection, n as formatError, t as createWaSocket } from "./session-CsIk0Sqq.js";
6
+ import { i as loadConfig } from "./config-CHwyw6l5.js";
7
+ import { n as resolveWhatsAppAccount, o as logoutWeb } from "./accounts-DDuIpcln.js";
8
+ import { i as waitForWaConnection, n as formatError, t as createWaSocket } from "./session-DIBTkyvE.js";
9
9
  import { DisconnectReason } from "@whiskeysockets/baileys";
10
10
 
11
11
  //#region src/web/login.ts
@@ -3,16 +3,16 @@ import { I as success, O as danger, k as info } from "./utils-B-0b9bGM.js";
3
3
  import "./registry-Cja8eT7G.js";
4
4
  import { f as defaultRuntime } from "./subsystem-D9vIQve0.js";
5
5
  import { o as logInfo } from "./exec-CWkblSrI.js";
6
- import "./agent-scope-BRwEc2pG.js";
7
- import "./model-selection-X1oLh3CE.js";
6
+ import "./agent-scope-CgUHAtCo.js";
7
+ import "./model-selection-CyFvYcRt.js";
8
8
  import "./github-copilot-token-DAu1a6BX.js";
9
9
  import "./boolean-BsqeuxE6.js";
10
10
  import "./env-DPCHYPeH.js";
11
- import { i as loadConfig } from "./config-CJMcIRQM.js";
11
+ import { i as loadConfig } from "./config-CHwyw6l5.js";
12
12
  import "./manifest-registry-C4BxOMWX.js";
13
- import { m as webAuthExists, n as resolveWhatsAppAccount, o as logoutWeb, u as readWebSelfId } from "./accounts-Cd816n6l.js";
13
+ import { m as webAuthExists, n as resolveWhatsAppAccount, o as logoutWeb, u as readWebSelfId } from "./accounts-DDuIpcln.js";
14
14
  import "./logging-w5jq5901.js";
15
- import { i as waitForWaConnection, n as formatError, r as getStatusCode, t as createWaSocket } from "./session-CsIk0Sqq.js";
15
+ import { i as waitForWaConnection, n as formatError, r as getStatusCode, t as createWaSocket } from "./session-DIBTkyvE.js";
16
16
  import { randomUUID } from "node:crypto";
17
17
  import { DisconnectReason } from "@whiskeysockets/baileys";
18
18
  import QRCodeModule from "qrcode-terminal/vendor/QRCode/index.js";