wednesdayai 0.5.1-dev.39 → 0.5.1-dev.40

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 (437) hide show
  1. package/dist/{acp-cli-FvVddEAm.js → acp-cli-aZDU1frr.js} +11 -11
  2. package/dist/{agent-scope-Daay3L1Q.js → agent-scope-m37qEcFM.js} +21 -21
  3. package/dist/{agent-turn-enqueue-BZJZetmF.js → agent-turn-enqueue-DICnRqYY.js} +6 -6
  4. package/dist/{agent-turn-execute-YF3BodXZ.js → agent-turn-execute-idltAVtu.js} +153 -153
  5. package/dist/{agent-turn-recovery-adapter-DpTeUI2V.js → agent-turn-recovery-adapter-fTCIh1kZ.js} +3 -3
  6. package/dist/{agent-turn-runner-IggLai-e.js → agent-turn-runner-C2jDvczc.js} +4 -4
  7. package/dist/{agent-turn-runner-BkWusthz.js → agent-turn-runner-y0WL6xuI.js} +3 -3
  8. package/dist/{agents-CM1pS2Gw.js → agents-CM1SDvAA.js} +21 -21
  9. package/dist/{agents.config-DPUNT-LY.js → agents.config-CNN6GFa9.js} +3 -3
  10. package/dist/{api-key-rotation-1GnreUfv.js → api-key-rotation-DAI1NT_a.js} +1 -1
  11. package/dist/{api-key-rotation-DBvdlVZw.js → api-key-rotation-JDh9X_oP.js} +1 -1
  12. package/dist/{audio-preflight-cWE_jPq7.js → audio-preflight-Bdn8EyXv.js} +14 -14
  13. package/dist/{audio-preflight-Dla8ErAP.js → audio-preflight-DcoXRAvR.js} +37 -37
  14. package/dist/{audio-transcription-runner-D-jGvvSi.js → audio-transcription-runner-BQbTpN83.js} +27 -27
  15. package/dist/{audio-transcription-runner-Bk1wu6OC.js → audio-transcription-runner-MJ65xlDX.js} +8 -8
  16. package/dist/{audit-B-WWadhu.js → audit-DsSNKdtK.js} +31 -31
  17. package/dist/{auth-BqrOQ_rt.js → auth-BCzU-mkD.js} +4 -4
  18. package/dist/{auth-choice-C7C2BFeF.js → auth-choice-BR3YA6Mc.js} +15 -15
  19. package/dist/{auth-choice-D4Z3C7W8.js → auth-choice-kNhTqhAF.js} +13 -13
  20. package/dist/{auth-choice.apply-helpers-CtM1Z7Em.js → auth-choice.apply-helpers-BEawC8Rx.js} +1 -1
  21. package/dist/{auth-token-BmZQfp0T.js → auth-token-QyM5OJpI.js} +2 -2
  22. package/dist/{banner-CDY_Ds3F.js → banner-DmQcTDRN.js} +4 -4
  23. package/dist/{bonjour-discovery-C-DjmVp8.js → bonjour-discovery-DPLZj45w.js} +3 -3
  24. package/dist/{browser-cli-C_ysZk2K.js → browser-cli-D_sIwOM-.js} +19 -19
  25. package/dist/build-info.json +3 -3
  26. package/dist/{call-BoiZy1oh.js → call-BltQb5p8.js} +12 -12
  27. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  28. package/dist/{channel-account-context-D16G9MZx.js → channel-account-context-DjoVP8k0.js} +7 -7
  29. package/dist/{channel-options-C8_k7q2k.js → channel-options-C9RuntH_.js} +3 -3
  30. package/dist/{channel-selection-CA6-fSME.js → channel-selection-BdOi2As8.js} +1 -1
  31. package/dist/{channels-cli-BgcxCCUW.js → channels-cli-B1ZhJIfE.js} +120 -120
  32. package/dist/{channels-status-issues-DaVFqfbT.js → channels-status-issues-CW2LsBxa.js} +1 -1
  33. package/dist/{chat-content-B7yKTLAY.js → chat-content-DtaSiJ_7.js} +9 -9
  34. package/dist/{chrome-DQ2kyZpc.js → chrome-BRVJGvQa.js} +11 -11
  35. package/dist/{chrome-CCOk3IVv.js → chrome-DJfXPpfx.js} +6 -6
  36. package/dist/{chunk-BBj2TedD.js → chunk-CGvXEMAJ.js} +1 -1
  37. package/dist/{chunk-5HmJ90W0.js → chunk-CIpxqo8a.js} +3 -3
  38. package/dist/{clack-prompter-DFrQWP5u.js → clack-prompter-6u8Btte5.js} +5 -5
  39. package/dist/{clawbot-cli-BTRGXKZN.js → clawbot-cli-DjesCpeb.js} +15 -15
  40. package/dist/cli/daemon-cli.js +1 -1
  41. package/dist/cli-BNVYrkVg.js +166 -0
  42. package/dist/{client-D7BnGRYO.js → client-BMDbXMKo.js} +4 -4
  43. package/dist/{client-profiles-By5MHi9v.js → client-profiles-D9p55R2E.js} +4 -4
  44. package/dist/{clipboard-B_ObYCKi.js → clipboard-Dd6cdwPv.js} +1 -1
  45. package/dist/{command-queue-B7AMiRYq.js → command-queue-C17N9gab.js} +1 -1
  46. package/dist/{command-registry-CqEc_uI9.js → command-registry-xYf1aBOy.js} +14 -14
  47. package/dist/{command-secret-targets-a_Y_ddO2.js → command-secret-targets-BZ1SboqY.js} +4 -4
  48. package/dist/{commands-DntOebNQ.js → commands-SeKi2OWl.js} +1 -1
  49. package/dist/{commands-registry-b4F_78R4.js → commands-registry-BO2o7Un9.js} +1 -1
  50. package/dist/{commands-registry-9P9_RD2k.js → commands-registry-uKHucCpf.js} +3 -3
  51. package/dist/{completion-cli-7QKrFXPK.js → completion-cli-od6mAB_x.js} +16 -16
  52. package/dist/{config-cli-zzSy_DYX.js → config-cli-L7VXG9dV.js} +10 -10
  53. package/dist/{config-guard-I78sPe0z.js → config-guard-Bd7KfAne.js} +4 -4
  54. package/dist/{config-validation-B2xjdpzg.js → config-validation-cJ4tgFlH.js} +4 -4
  55. package/dist/{configure-BstDEG38.js → configure-BFB-zOMn.js} +25 -25
  56. package/dist/{control-ui-assets-BqcYXNl2.js → control-ui-assets-B9zlkA6l.js} +3 -3
  57. package/dist/{controller-Bgcz2hp7.js → controller--hEOQw7y.js} +1 -1
  58. package/dist/{credentials-CGW31DO4.js → credentials-DtepevRH.js} +1 -1
  59. package/dist/{credentials-U5jLZxJ-.js → credentials-GPboJeMC.js} +1 -1
  60. package/dist/{cron-cli-yj7QGj7J.js → cron-cli-DhhEvg8T.js} +14 -14
  61. package/dist/{daemon-cli-CFnbJrol.js → daemon-cli-BFqtJkJL.js} +19 -19
  62. package/dist/{daemon-install-BeS6QtA5.js → daemon-install-1kaH7Ifb.js} +10 -10
  63. package/dist/{daemon-install-helpers-CLiiJ-d1.js → daemon-install-helpers-B1yjUwDb.js} +13 -13
  64. package/dist/{delete-agent-sessions-LydtqnI4.js → delete-agent-sessions-aupo65L2.js} +1 -1
  65. package/dist/{deliver-3GS-gU8r.js → deliver-BPWNdSsP.js} +12 -12
  66. package/dist/{deliver-BQSIZZRd.js → deliver-x1MM90HA.js} +11 -11
  67. package/dist/{devices-cli-CZA7ZWS3.js → devices-cli-Bx2srMmX.js} +13 -13
  68. package/dist/{diagnostic-Dm2wAiB0.js → diagnostic-C0AOXO65.js} +4 -4
  69. package/dist/{diagnostics-CZjOjqpi.js → diagnostics-B5xln2o0.js} +5 -5
  70. package/dist/{directory-cli-DR0IqfE5.js → directory-cli-TI0sLZsH.js} +11 -11
  71. package/dist/{dm-policy-shared-C5ZRDHnc.js → dm-policy-shared-5u9bRZcn.js} +5 -5
  72. package/dist/{dns-cli-B5CpAvKH.js → dns-cli-BlPAMRTw.js} +10 -10
  73. package/dist/{docs-cli-B_D5SYd9.js → docs-cli-CoU4kznK.js} +9 -9
  74. package/dist/{doctor-completion-BMLEMc2J.js → doctor-completion-xR-LI2Kc.js} +3 -3
  75. package/dist/{doctor-config-flow-0PWt4HFH.js → doctor-config-flow-DKprHJgK.js} +17 -17
  76. package/dist/{enable-DckLGORZ.js → enable-WclAjZTI.js} +2 -2
  77. package/dist/entry.js +4 -4
  78. package/dist/{exec-DgfbhlVq.js → exec-BadOxgw_.js} +2 -2
  79. package/dist/{exec-approvals-allowlist-2Cys5vGY.js → exec-approvals-allowlist-B9t8qYRi.js} +1 -1
  80. package/dist/{exec-approvals-BauC8NzH.js → exec-approvals-bsuh4PHE.js} +2 -2
  81. package/dist/{exec-approvals-cli-DfFiniWb.js → exec-approvals-cli-BKUHTsDE.js} +22 -22
  82. package/dist/{exec-safe-bin-runtime-policy-SvaIPWXZ.js → exec-safe-bin-runtime-policy-DLnEvKn8.js} +2 -2
  83. package/dist/{extension-relay-auth-D_MKrcDE.js → extension-relay-auth-DPPoRrd5.js} +10 -10
  84. package/dist/extensionAPI.js +40 -40
  85. package/dist/{fetch-JiVpsY-F.js → fetch-BzeUsif1.js} +2 -2
  86. package/dist/{fetch-DQjTi7nc.js → fetch-Cpgrvssj.js} +1 -1
  87. package/dist/{fetch-D-b-uXX7.js → fetch-KUu9BT-y.js} +5 -5
  88. package/dist/{fetch-guard-BbFS87gt.js → fetch-guard-Bn23GnZQ.js} +2 -2
  89. package/dist/{fetch-guard-Dn6Z6n6a.js → fetch-guard-D49piGJ5.js} +1 -1
  90. package/dist/{fs-safe-lC1ILeyM.js → fs-safe-BqogKG9V.js} +25 -25
  91. package/dist/{gateway-cli-BAEQ_NGs.js → gateway-cli-BRUhDHZW.js} +198 -198
  92. package/dist/{gateway-rpc-CQq2vr6O.js → gateway-rpc-C7kAjboF.js} +3 -3
  93. package/dist/{globals-BRyHSrWD.js → globals-3lUHnZas.js} +7 -7
  94. package/dist/{gmail-setup-utils-SXyKBvLp.js → gmail-setup-utils-GO9rZVbj.js} +2 -2
  95. package/dist/{health-225PH5Li.js → health-C8v6lJQm.js} +11 -11
  96. package/dist/{health-format-BJNDw72X.js → health-format-CLs9zsB3.js} +1 -1
  97. package/dist/{heartbeat-tick-CA6ounlL.js → heartbeat-tick-Cn6Mm71L.js} +1 -1
  98. package/dist/{help-format-CYvwXoTF.js → help-format-DszGjSGq.js} +1 -1
  99. package/dist/{helpers-DGzbDtFa.js → helpers-BXVreVqM.js} +1 -1
  100. package/dist/{hooks-cli-x_66pIcE.js → hooks-cli-CVOiI_Gk.js} +108 -108
  101. package/dist/{hooks-status-B09UI8cu.js → hooks-status-DVlBWsZg.js} +2 -2
  102. package/dist/{plugin-sdk/image-ops-1WkFRYfC.js → image-ops-BiZX2JoM.js} +12 -12
  103. package/dist/{inspect-BYjJ-TxP.js → inspect-CQp_st3r.js} +4 -4
  104. package/dist/{install-safe-path-Bg4S4UtE.js → install-safe-path-CpaP5QP8.js} +25 -25
  105. package/dist/{installs-DauOPt1U.js → installs-iBWWAsyM.js} +10 -10
  106. package/dist/{ipv4-CDDNg0CB.js → ipv4-DVlWqpAi.js} +2 -2
  107. package/dist/{ir-YVBetd9e.js → ir-DBTx0EHu.js} +8 -8
  108. package/dist/{ir-Bra81NIe.js → ir-vVwcX8JG.js} +2 -2
  109. package/dist/{issue-format-DSEmDva0.js → issue-format-Dsb7vnfa.js} +1 -1
  110. package/dist/{jobs-B8LHXwxB.js → jobs-CHw5Ov3b.js} +3 -3
  111. package/dist/{json-files-XjEDt0Xv.js → json-files-oQZMk9pX.js} +7 -7
  112. package/dist/{lifecycle-core-DHrEntr4.js → lifecycle-core-CjLnS05H.js} +9 -9
  113. package/dist/{links-PUWFmh-v.js → links-CuEUTasJ.js} +1 -1
  114. package/dist/{log-tail-hSKJOSyz.js → log-tail-C_ThPK9g.js} +7 -7
  115. package/dist/{logging-B9NMVHxl.js → logging-D0Hd8mDh.js} +1 -1
  116. package/dist/{logs-cli-DUbebsRd.js → logs-cli-CEophOLi.js} +18 -18
  117. package/dist/{manager-DIIInXxQ.js → manager-DRfrqzWR.js} +4 -4
  118. package/dist/{manager-BfbMJ-zg.js → manager-D_fFKFjl.js} +14 -14
  119. package/dist/{manager-BVdZypmH.js → manager-LeFDfER8.js} +9 -9
  120. package/dist/{markdown-tables-C6xdzDiz.js → markdown-tables-BmOshwHx.js} +2 -2
  121. package/dist/{markdown-tables-7TebvIj0.js → markdown-tables-CzhZ9VCB.js} +1 -1
  122. package/dist/{memory-cli-BFmPf1vX.js → memory-cli-Di1UAOeP.js} +19 -19
  123. package/dist/{model-BdtGsU0w.js → model-LUi1O3vn.js} +2 -2
  124. package/dist/{model-catalog-BFpUFk9P.js → model-catalog-CILu9Z2R.js} +4 -4
  125. package/dist/{model-picker-DfPEPmyG.js → model-picker-DEtgkAeg.js} +4 -4
  126. package/dist/{model-selection-DFW5CGMj.js → model-selection-DkRYDpst.js} +1 -1
  127. package/dist/{models-BFA4HNWZ.js → models-DNB4wkv9.js} +22 -22
  128. package/dist/{models-cli-Dr6xsf9u.js → models-cli-3UYYFe4J.js} +108 -108
  129. package/dist/{models-config-tNRAxYqz.js → models-config-BaSANr-E.js} +1 -1
  130. package/dist/{models-config-DeFWUZZ4.js → models-config-CpqLFZ0C.js} +7 -7
  131. package/dist/{node-cli-CwZAQhJF.js → node-cli-C5EoWnG2.js} +43 -43
  132. package/dist/{node-command-policy-DI3ORiR8.js → node-command-policy-Du4mYUDU.js} +1 -1
  133. package/dist/{node-service-BzjqnGwX.js → node-service-1KIfvVTH.js} +1 -1
  134. package/dist/{nodes-cli-B8IwLLk_.js → nodes-cli-iZMsO1rK.js} +23 -23
  135. package/dist/{nodes-screen-_oGcI1Qk.js → nodes-screen-Bt0pPjvM.js} +8 -8
  136. package/dist/{note-Cx7zfzxq.js → note-D_lQmF8n.js} +2 -2
  137. package/dist/{npm-pack-install-DGHHbtvq.js → npm-pack-install-H0t8obmJ.js} +23 -23
  138. package/dist/{npm-resolution-Bs1-SlpJ.js → npm-resolution-BsmgpsD3.js} +5 -5
  139. package/dist/{nudge-BM2vjxIV.js → nudge-Ba6E2hnD.js} +9 -9
  140. package/dist/{nudge-DklIe0bB.js → nudge-Chvj0Rw2.js} +10 -10
  141. package/dist/{oauth-tls-preflight-XZUNc0t9.js → oauth-tls-preflight-Bz0HopcL.js} +1 -1
  142. package/dist/{onboard-DqzWdVBc.js → onboard-CYQVIEKp.js} +11 -11
  143. package/dist/{onboard-channels-BPG2HZnB.js → onboard-channels-8Z1BL5sc.js} +24 -24
  144. package/dist/{onboard-custom-C3M6Ycoy.js → onboard-custom-D8bIuPDq.js} +4 -4
  145. package/dist/{onboard-helpers-fXPeNVOY.js → onboard-helpers-BK8DRSuP.js} +13 -13
  146. package/dist/{onboard-hooks-BK716f_m.js → onboard-hooks-DEfvWRZ_.js} +6 -6
  147. package/dist/{onboard-remote-CHQaWjXK.js → onboard-remote-DUj7hiE1.js} +5 -5
  148. package/dist/{onboard-skills-UwDpxppX.js → onboard-skills-B3GstrRp.js} +4 -4
  149. package/dist/{onboarding-Bzi7Xv7r.js → onboarding-CDHMZKiy.js} +18 -18
  150. package/dist/{onboarding.finalize-SNascoiv.js → onboarding.finalize-D3hX9K5R.js} +116 -116
  151. package/dist/{onboarding.gateway-config-CAJLJZuY.js → onboarding.gateway-config-By-4hBj8.js} +21 -21
  152. package/dist/{onboarding.secret-input-BdYZJX40.js → onboarding.secret-input-CGZRLs69.js} +1 -1
  153. package/dist/{openai-model-default-CKLjgg0u.js → openai-model-default-CDCQe0bT.js} +2 -2
  154. package/dist/{openclaw-root-C3plUO0H.js → openclaw-root-Bh3xNyXD.js} +2 -2
  155. package/dist/{operator-commands-Dk778q2i.js → operator-commands-DdzvHG_L.js} +6 -6
  156. package/dist/{outbound-attachment-CPlIqfXt.js → outbound-attachment-CM00ZAId.js} +2 -2
  157. package/dist/{outbound-attachment-BeSAM8qU.js → outbound-attachment-DegoJUYB.js} +1 -1
  158. package/dist/{outbound-message-hooks-C1IptFSi.js → outbound-message-hooks-ClMNzy21.js} +5 -5
  159. package/dist/{outbound-message-hooks-CrrbzX7U.js → outbound-message-hooks-bMw-LLuz.js} +2 -2
  160. package/dist/{pairing-cli-44MnMOK-.js → pairing-cli-ZEOWHCym.js} +10 -10
  161. package/dist/{pairing-labels-BUXv00_M.js → pairing-labels-DGG9rR88.js} +1 -1
  162. package/dist/{pairing-store-Bt8dPEgN.js → pairing-store-3I6u3yrD.js} +4 -4
  163. package/dist/{path-alias-guards-DKZW3qVC.js → path-alias-guards-tEWiWfoS.js} +3 -3
  164. package/dist/{path-safety-CDLqkmsu.js → path-safety-DPn_Xy80.js} +1 -1
  165. package/dist/{pi-embedded-CL5jkXds.js → pi-embedded-BSVP6xD2.js} +64 -64
  166. package/dist/{pi-embedded-helpers-CsBOkBvA.js → pi-embedded-helpers-DJo9j-U6.js} +6 -6
  167. package/dist/{pi-embedded-recovery-adapter-DTp5q5z6.js → pi-embedded-recovery-adapter-lqZa1SR7.js} +37 -37
  168. package/dist/{pi-embedded-utils-D9zLeiKy.js → pi-embedded-utils-BF4B99Db.js} +1 -1
  169. package/dist/{pi-embedded-utils-D2xq0Dlg.js → pi-embedded-utils-BOUhZp06.js} +2 -2
  170. package/dist/{pi-model-discovery-DiGB5xAq.js → pi-model-discovery-B5oKc4R3.js} +1 -1
  171. package/dist/{pi-model-discovery-CmI-ZSqs.js → pi-model-discovery-CigFHOOz.js} +1 -1
  172. package/dist/{pid-alive-SdfUhiUL.js → pid-alive-dd2LsB9B.js} +1 -1
  173. package/dist/{plugin-auto-enable-Di22jxHz.js → plugin-auto-enable-DWc-XmZz.js} +2 -2
  174. package/dist/{plugin-owned-work-recovery-adapter-CcRAG_7s.js → plugin-owned-work-recovery-adapter-DGWAcSir.js} +7 -7
  175. package/dist/{plugin-registry-m6okOYJK.js → plugin-registry-Cb2wBZSl.js} +4 -4
  176. package/dist/plugin-sdk/{agent-scope-BnbrZIzh.js → agent-scope-Cy5bPtkD.js} +1 -1
  177. package/dist/plugin-sdk/{agent-turn-execute-Bj1_MqWi.js → agent-turn-execute-Cr_GYkDb.js} +79 -79
  178. package/dist/plugin-sdk/{agent-turn-runner-zbex5xar.js → agent-turn-runner-CBR6kAt-.js} +6 -6
  179. package/dist/plugin-sdk/{api-key-rotation-Dpyf5O6z.js → api-key-rotation-BKcVxTy8.js} +2 -2
  180. package/dist/plugin-sdk/{audio-preflight-DlNHpUpW.js → audio-preflight-BVKGoA22.js} +23 -23
  181. package/dist/plugin-sdk/{audio-transcription-runner-BNWmQAJ3.js → audio-transcription-runner-Cvfignlt.js} +10 -10
  182. package/dist/plugin-sdk/{chrome-DwoV5WFU.js → chrome-Djvom4Ij.js} +6 -6
  183. package/dist/plugin-sdk/{chunk-CBTJQenE.js → chunk-Bh4ffo9K.js} +3 -3
  184. package/dist/plugin-sdk/{command-queue-hSL_BIod.js → command-queue-DxcAKezg.js} +1 -1
  185. package/dist/plugin-sdk/{commands-registry-vhM5U22x.js → commands-registry-CCiWhIrU.js} +2 -2
  186. package/dist/plugin-sdk/{credentials-oF38Hm9r.js → credentials-BFdx8hCQ.js} +1 -1
  187. package/dist/plugin-sdk/{deliver-CkQB8s_s.js → deliver-Cf-VdZA7.js} +14 -14
  188. package/dist/plugin-sdk/{diagnostic-nUTVaBEe.js → diagnostic-BpXW-Rhw.js} +3 -3
  189. package/dist/plugin-sdk/{errors-BcCM5PTR.js → errors-BH3DYZVB.js} +1 -1
  190. package/dist/plugin-sdk/{fetch-DV_cKD5m.js → fetch-B9WuvLLv.js} +7 -7
  191. package/dist/plugin-sdk/{fetch-BNHoA66Z.js → fetch-BxGJD3sH.js} +1 -1
  192. package/dist/plugin-sdk/{fetch-guard-Dpd7hJ0h.js → fetch-guard-CJhIVznN.js} +2 -2
  193. package/dist/plugin-sdk/{fs-safe-CnAPtYPG.js → fs-safe-BQ8e0fFk.js} +3 -3
  194. package/dist/{image-ops-BKyJ_gQP.js → plugin-sdk/image-ops-CqatVl0e.js} +2 -2
  195. package/dist/plugin-sdk/{ir-BnNIPrDz.js → ir-C1cLQG0N.js} +5 -5
  196. package/dist/plugin-sdk/{manager-uIw894nB.js → manager-xGWNrW5i.js} +7 -7
  197. package/dist/plugin-sdk/{markdown-tables-D6Jl1s9s.js → markdown-tables-DnMUQn1V.js} +2 -2
  198. package/dist/plugin-sdk/{model-auth-Beiv1ujI.js → model-auth-pNsZhRxq.js} +7 -7
  199. package/dist/plugin-sdk/{models-config-DrzOHxl5.js → models-config-d-LFEKVs.js} +2 -2
  200. package/dist/plugin-sdk/{nudge-czM3OOTT.js → nudge-BvirROp6.js} +8 -8
  201. package/dist/plugin-sdk/{openai-compatible-video-Dy57wpNv.js → openai-compatible-video-BxPbkLMy.js} +7 -7
  202. package/dist/plugin-sdk/{outbound-attachment-BoSR20RK.js → outbound-attachment-DkIWM5yK.js} +2 -2
  203. package/dist/plugin-sdk/{outbound-message-hooks-eUNVCJ0m.js → outbound-message-hooks-DsAvrOUy.js} +4 -4
  204. package/dist/plugin-sdk/{path-alias-guards-D1I2TIj4.js → path-alias-guards-CF0cvXKB.js} +1 -1
  205. package/dist/plugin-sdk/{pi-embedded-helpers-BRSkUtFR.js → pi-embedded-helpers-Ctve63Vr.js} +15 -15
  206. package/dist/plugin-sdk/{pi-embedded-utils-DcsHTJ1m.js → pi-embedded-utils-cecBA96E.js} +3 -3
  207. package/dist/plugin-sdk/{pi-model-discovery-HVno_0HD.js → pi-model-discovery-CMOEq078.js} +1 -1
  208. package/dist/plugin-sdk/provider-media-understanding.js +20 -20
  209. package/dist/plugin-sdk/{pw-ai-B1OqkFDb.js → pw-ai-Bl2Z9GYg.js} +10 -10
  210. package/dist/plugin-sdk/{qmd-manager-Ip6QnhA7.js → qmd-manager-DY9c1S_2.js} +8 -8
  211. package/dist/plugin-sdk/{qmd-scope-DMNjwnEQ.js → qmd-scope-C3rw3Qjd.js} +1 -1
  212. package/dist/plugin-sdk/{query-expansion-DV-ECmRb.js → query-expansion-BhXha2GI.js} +2 -2
  213. package/dist/plugin-sdk/{recorder-XQ8ZjG7j.js → recorder-DccHbgBz.js} +2 -2
  214. package/dist/plugin-sdk/{redact-C3T6IWmQ.js → redact-CXDVzhSq.js} +1 -1
  215. package/dist/{replies-BV9swQ1C.js → plugin-sdk/replies-CyyZdjYH.js} +5 -5
  216. package/dist/plugin-sdk/{reply-directives-Bn4oBJnk.js → reply-directives-CXKYiQC1.js} +2 -2
  217. package/dist/{reply-prefix-dFOjKRtQ.js → plugin-sdk/reply-prefix-DL3DiQEo.js} +1 -1
  218. package/dist/plugin-sdk/{resolve-route-Djrs4IWv.js → resolve-route-CsiTWvoi.js} +3 -3
  219. package/dist/plugin-sdk/{runs-DN-UxJ44.js → runs-ByM3uA8B.js} +8 -8
  220. package/dist/plugin-sdk/{send-DnJb7LiP.js → send-BwuMsQ_p.js} +8 -8
  221. package/dist/plugin-sdk/{send-AstP-BDn.js → send-D0UAWWai.js} +8 -8
  222. package/dist/plugin-sdk/{send-D3hVSNy0.js → send-Dgf6n9kX.js} +6 -6
  223. package/dist/plugin-sdk/{send-D5C72eu6.js → send-qUR5w2lM.js} +7 -7
  224. package/dist/plugin-sdk/{session-meta-pKpwf1nQ.js → session-meta-B_alDqcD.js} +1 -1
  225. package/dist/plugin-sdk/{sessions-BfBjVuaP.js → sessions-CkJfRajZ.js} +4 -4
  226. package/dist/plugin-sdk/{skill-commands-Bk_STwKa.js → skill-commands-D5O0FXiW.js} +4 -4
  227. package/dist/plugin-sdk/{skills-BArFQgKX.js → skills-ByCpoIW7.js} +6 -6
  228. package/dist/plugin-sdk/{ssrf-B2UnPTf3.js → ssrf-aLKAjCHj.js} +1 -1
  229. package/dist/plugin-sdk/{store-D8eITlWs.js → store-KaVQ5gHj.js} +2 -2
  230. package/dist/plugin-sdk/{subsystem-Btq0amiz.js → subsystem-DGPv0F8I.js} +4 -4
  231. package/dist/plugin-sdk/{tables-Bj_zeTwr.js → tables-CONj5xDV.js} +1 -1
  232. package/dist/plugin-sdk/{tokens-mfZMXas7.js → tokens-DUGBy1gM.js} +1 -1
  233. package/dist/plugin-sdk/{tool-loop-detection-CnFqoQKh.js → tool-loop-detection-Cl4-Vsd_.js} +1 -1
  234. package/dist/plugin-sdk/{user-run-recording-DQBPNzif.js → user-run-recording--8aaZMPs.js} +2 -2
  235. package/dist/plugin-sdk/{ws-DN6RmfyQ.js → ws-C7BGsi5P.js} +1 -1
  236. package/dist/{plugins-cli-DbSExy8A.js → plugins-cli-DtiaGIyb.js} +111 -111
  237. package/dist/{plugins-hJwhsniN.js → plugins-jkI2QMUK.js} +32 -32
  238. package/dist/{ports-X8s27uv3.js → ports-B4L6rn9E.js} +2 -2
  239. package/dist/{ports-CTICGXug.js → ports-BtguoLP4.js} +3 -3
  240. package/dist/{program-CksGKwx_.js → program-CcLb8Psv.js} +107 -107
  241. package/dist/{progress-BjZYY1Uu.js → progress-FkWSD-ms.js} +2 -2
  242. package/dist/{prompt-select-styled-Ba2czW3-.js → prompt-select-styled-DUTH4ST5.js} +48 -48
  243. package/dist/{prompt-style-cCsJsI34.js → prompt-style-CKvOU02-.js} +1 -1
  244. package/dist/{provider-auth-helpers-Cco1DT9-.js → provider-auth-helpers-BIoESstO.js} +6 -6
  245. package/dist/{proxy-env-D1_K1XbP.js → proxy-env-BjF-dsmA.js} +1 -1
  246. package/dist/{proxy-env-RzbogHFe.js → proxy-env-C0UK-5dm.js} +1 -1
  247. package/dist/{push-apns-BgM09-fX.js → push-apns-BnRCjqCx.js} +10 -10
  248. package/dist/{pw-ai-D55f0Pr9.js → pw-ai-8QlHyDLL.js} +4 -4
  249. package/dist/{pw-ai-BRt2VuwS.js → pw-ai-loi9x_qC.js} +17 -17
  250. package/dist/{qmd-manager-C4rOtrQS.js → qmd-manager-B_ED_NmL.js} +2 -2
  251. package/dist/{qmd-manager-BE2jOEtY.js → qmd-manager-DE17I-GG.js} +25 -25
  252. package/dist/{qmd-scope-CCUmVM52.js → qmd-scope-C7RZSmjF.js} +1 -1
  253. package/dist/{qr-cli-DWJQyq6f.js → qr-cli-C21aeT7a.js} +9 -9
  254. package/dist/{query-expansion-Dm_RIg6M.js → query-expansion-BVj0lCGG.js} +1 -1
  255. package/dist/{query-expansion-DiS55fL8.js → query-expansion-Bt2T2t1J.js} +10 -10
  256. package/dist/{reconcile-bundled-CS-YCQMj.js → reconcile-bundled-C2O6l6xl.js} +3 -3
  257. package/dist/{recorder-DRV1SIKe.js → recorder-BowlGHGe.js} +1 -1
  258. package/dist/{recorder-sONRpmXO.js → recorder-MkhBoIQ8.js} +2 -2
  259. package/dist/{recovery-adapter-QihxBJX1.js → recovery-adapter-DFSy8tM2.js} +3 -3
  260. package/dist/{recovery-adapter-CE-CS8gT.js → recovery-adapter-DLmjnZui.js} +7 -7
  261. package/dist/{recovery-adapter-hQc2OlhS.js → recovery-adapter-LXEXe9qT.js} +2 -2
  262. package/dist/{recovery-prompt-DOrSuDNr.js → recovery-prompt-BZciroCj.js} +1 -1
  263. package/dist/{redact-snapshot-ZwtXuqkJ.js → redact-snapshot-DrvZI2y8.js} +2 -2
  264. package/dist/{register.agent-Ryj1Y3cF.js → register.agent-C9Q4TbJV.js} +122 -122
  265. package/dist/register.configure-BjZmfKDU.js +170 -0
  266. package/dist/{register.maintenance-ADp9HkB5.js → register.maintenance-CFd160fT.js} +130 -130
  267. package/dist/{register.message-CJJI5stq.js → register.message-3kx8P86J.js} +101 -101
  268. package/dist/{register.onboard-CgC5-Vgb.js → register.onboard-C-lkIY7d.js} +26 -26
  269. package/dist/{register.setup-DOXh2Bsp.js → register.setup-BAiTfEey.js} +29 -29
  270. package/dist/{register.status-health-sessions-Gb6bT4z7.js → register.status-health-sessions-DOrDm-yG.js} +120 -120
  271. package/dist/{register.subclis-B1TmGIjo.js → register.subclis-3YVvoBSB.js} +34 -34
  272. package/dist/{replies-BL7cHT2h.js → replies-7qxW8HcU.js} +4 -4
  273. package/dist/{plugin-sdk/replies-HCqRS_IF.js → replies-v8JTcIK3.js} +5 -5
  274. package/dist/{reply-directives-AfKRCqZx.js → reply-directives-BSDOTSgY.js} +2 -2
  275. package/dist/{reply-directives-D4Hftiqp.js → reply-directives-DarQZxqY.js} +1 -1
  276. package/dist/{plugin-sdk/reply-prefix-CCyygbH2.js → reply-prefix-CJ_JdsYa.js} +1 -1
  277. package/dist/{reset-DVYPRsdq.js → reset-Dnw4nNtL.js} +1 -1
  278. package/dist/{resolve-route-D96zWGGF.js → resolve-route-B15qdahX.js} +1 -1
  279. package/dist/{resolve-route-jsfvjnjM.js → resolve-route-ChrD30tC.js} +5 -5
  280. package/dist/{rpc-B-JqtZFU.js → rpc-CZkdcSAv.js} +3 -3
  281. package/dist/{run-main-BiXsCL7k.js → run-main-BBLzm5df.js} +120 -120
  282. package/dist/{runs-CAO_rrxJ.js → runs-5zWtWfx5.js} +5 -5
  283. package/dist/{runs-D3pvYlI5.js → runs-lJqVvQpF.js} +7 -7
  284. package/dist/{runtime-CX9Ouo4d.js → runtime-C6jPY8mC.js} +4 -4
  285. package/dist/{runtime-config-BlJKzsfR.js → runtime-config-C3elfZ8o.js} +1 -1
  286. package/dist/{runtime-config-collectors-L3B3v-vc.js → runtime-config-collectors-CpQCtgl-.js} +1 -1
  287. package/dist/{runtime-guard-BqXbX2C8.js → runtime-guard-9X-WolTn.js} +1 -1
  288. package/dist/{sandbox-pDe2U_mh.js → sandbox-B1zZvKcw.js} +21 -21
  289. package/dist/{sandbox-cli-30QRIK2J.js → sandbox-cli-DzmoYlMv.js} +33 -33
  290. package/dist/{secrets-cli-DqMBExeW.js → secrets-cli-DfVOcY7E.js} +16 -16
  291. package/dist/{security-cli-Bggbv_hS.js → security-cli-DEsAfTtt.js} +47 -47
  292. package/dist/{send-DHil3Tj6.js → send-C8YuqL0X.js} +6 -6
  293. package/dist/{send-Dv__vEQx.js → send-Cl-ugSMv.js} +5 -5
  294. package/dist/{send-Co8hK60n.js → send-D1F9bQCi.js} +13 -13
  295. package/dist/{send-FQrlCKRx.js → send-DJypuRge.js} +6 -6
  296. package/dist/{send-T9aTnSyS.js → send-DdyIJ_uy.js} +4 -4
  297. package/dist/{send-CS1yI0B4.js → send-Dy4zxtn3.js} +6 -6
  298. package/dist/{send-BCxn7V3E.js → send-THRoEbTj.js} +7 -7
  299. package/dist/{send-SCUE8Q1y.js → send-hay_ikCy.js} +6 -6
  300. package/dist/{server-NcbcM2wV.js → server-CyC0JY7y.js} +23 -23
  301. package/dist/{server-context-Dbo6G7sv.js → server-context-BHTq-BWT.js} +12 -12
  302. package/dist/{server-lifecycle-B_stkYoe.js → server-lifecycle-yrYTmjE-.js} +3 -3
  303. package/dist/{server-middleware-B_2l7R1r.js → server-middleware-ZUs-xzRz.js} +1 -1
  304. package/dist/{server-node-events-B6FtiNSg.js → server-node-events-CkTQV9Az.js} +101 -101
  305. package/dist/{service-Dqk7p14H.js → service-Zezrymwp.js} +15 -15
  306. package/dist/{session-consumer-agents-CvPuQmfS.js → session-consumer-agents-BRMrM2o-.js} +1 -1
  307. package/dist/{session-consumer-claim-sweep-DhVmxqQy.js → session-consumer-claim-sweep-_oL2rxfz.js} +9 -9
  308. package/dist/{session-key-DCnSJLJC.js → session-key-D0gYNgj1.js} +1 -1
  309. package/dist/{session-meta-dUXgzHbR.js → session-meta-DaUsOxk7.js} +1 -1
  310. package/dist/{session-meta-CyokAxEY.js → session-meta-DgpwY0ah.js} +1 -1
  311. package/dist/{session-storage-CjIKP2NZ.js → session-storage-BfU-kuLQ.js} +22 -22
  312. package/dist/{session-storage-owner-CO5jNlHE.js → session-storage-owner-D_Fi2Wk6.js} +53 -53
  313. package/dist/{session-store-targets-BGJ8yVsf.js → session-store-targets-hkH2SdUu.js} +3 -3
  314. package/dist/{session-utils-c3U4yjnJ.js → session-utils-Cdb2eB8x.js} +9 -9
  315. package/dist/{sessions-A1wDmvXO.js → sessions-B-dL4q0P.js} +1 -1
  316. package/dist/{sessions-BvaQTQmu.js → sessions-BM-Q49zJ.js} +5 -5
  317. package/dist/{sessions-BiELuq5_.js → sessions-C2ZQ1A-F.js} +17 -17
  318. package/dist/{sessions-DnaVJUbG.js → sessions-CvMRmh8w.js} +6 -6
  319. package/dist/{sessions-claims-status-qsIZrqkF.js → sessions-claims-status-Dfbt3tnB.js} +11 -11
  320. package/dist/{sessions-maintenance-core-DEdXmfR_.js → sessions-maintenance-core-BW8CjGZC.js} +8 -8
  321. package/dist/{setup-helpers-Diezeqg_.js → setup-helpers-pNb4G258.js} +1 -1
  322. package/dist/{shared-B3ocxh66.js → shared-BP-zD7jL.js} +4 -4
  323. package/dist/{shared-B6U3uuAo.js → shared-CAhli5Ov.js} +2 -2
  324. package/dist/{skill-commands-CZ8IAEbM.js → skill-commands-1Axnvvz6.js} +2 -2
  325. package/dist/{skill-commands-BETnQ4BY.js → skill-commands-BkpzU1Pe.js} +7 -7
  326. package/dist/{skill-scanner-DXsZ33dg.js → skill-scanner-CfYJtlhU.js} +7 -7
  327. package/dist/{skills-D7jLGkoP.js → skills-CMwL1GBr.js} +1 -1
  328. package/dist/{skills-B5z9ZsEq.js → skills-DL1ojgrn.js} +6 -6
  329. package/dist/{skills-cli-HYs8JFCk.js → skills-cli-CIpQS5R0.js} +9 -9
  330. package/dist/{skills-install-87RyWiU6.js → skills-install-CVPzCve4.js} +9 -9
  331. package/dist/{skills-status-VTzFS62-.js → skills-status-yGkSyL5Y.js} +3 -3
  332. package/dist/{status-6Pto7ZBs.js → status-5ghaY4vw.js} +49 -49
  333. package/dist/{status.update-8Y1m_3ee.js → status.update-CP6-2fA7.js} +2 -2
  334. package/dist/{storage-config-0A4GJ9dw.js → storage-config-Bnq9G52N.js} +4 -4
  335. package/dist/{store-fP8MzUS1.js → store-cV4bbDty.js} +7 -7
  336. package/dist/{subsystem-BNf8H-Zm.js → subsystem-xTuYkxuQ.js} +1 -1
  337. package/dist/{supervisor-CCaYPH_3.js → supervisor-RSmYlWKn.js} +2 -2
  338. package/dist/{system-cli-DHhkZXhu.js → system-cli-Ba8Cksuh.js} +13 -13
  339. package/dist/{system-run-command-BOMgaFVw.js → system-run-command-B6oEb0S7.js} +2 -2
  340. package/dist/{systemd-z2RhFRaN.js → systemd-BVSb7hmO.js} +11 -11
  341. package/dist/{systemd-hints-BZZDCrDu.js → systemd-hints-QF9bOgxF.js} +9 -9
  342. package/dist/{systemd-linger-wlGX54dO.js → systemd-linger-C3vWGByc.js} +2 -2
  343. package/dist/{table-B9NKM7QS.js → table-BlAgr2Pf.js} +2 -2
  344. package/dist/{tables-DIX5n_bD.js → tables-BRQFx6QN.js} +1 -1
  345. package/dist/{tables-BFlTcF5k.js → tables-rCzAF-en.js} +1 -1
  346. package/dist/{tailnet-jp0meR1r.js → tailnet-BrtA9p9W.js} +1 -1
  347. package/dist/{tailscale-C8Mp_8WD.js → tailscale-N0qH8IeI.js} +2 -2
  348. package/dist/{task-pipeline-boot-BECY3KSk.js → task-pipeline-boot-Bhs2KtgV.js} +101 -101
  349. package/dist/{task-runlog-retention-PxLOGqDm.js → task-runlog-retention-BbfPrVTF.js} +5 -5
  350. package/dist/{tasks-CTVdDpmg.js → tasks-B4ZWGApJ.js} +11 -11
  351. package/dist/{tokens-DN7qBY5z.js → tokens-DB7GfarG.js} +1 -1
  352. package/dist/{tool-display-CiO2G0my.js → tool-display-geiQFcY0.js} +1 -1
  353. package/dist/{tool-loop-detection-DQjVlWYY.js → tool-loop-detection-FPHHn6dc.js} +2 -2
  354. package/dist/{trash-LrcyZ91F.js → trash-DdUKVsNs.js} +3 -3
  355. package/dist/{tui-xf8IgnqM.js → tui-BOtfvVU1.js} +9 -9
  356. package/dist/{tui-cli-DHuAZ4Tn.js → tui-cli-BimiaKdT.js} +35 -35
  357. package/dist/{update-D7SZ97V0.js → update-DtLchPKN.js} +3 -3
  358. package/dist/{update-cli-DCOpiuuc.js → update-cli-D4CRTu-Y.js} +140 -140
  359. package/dist/{update-runner-CAqinp0p.js → update-runner-RF2NcyRl.js} +18 -18
  360. package/dist/{user-run-recording-CTOXtrSm.js → user-run-recording-Bax2KSZY.js} +1 -1
  361. package/dist/{user-run-recording-Dyk-akZz.js → user-run-recording-D5nQiSUv.js} +2 -2
  362. package/dist/{validation-cli-BfqKMFuW.js → validation-cli-cKBnF9Ls.js} +100 -100
  363. package/dist/{web-cli-DjtxcVT4.js → web-cli-BZ0Zc6-w.js} +3 -3
  364. package/dist/{webhooks-cli-DyJgkjfJ.js → webhooks-cli-D4_kaUZ9.js} +10 -10
  365. package/dist/{widearea-dns-DVcwi8Gl.js → widearea-dns-yEJeCMxo.js} +1 -1
  366. package/dist/{with-timeout-FupCoEUw.js → with-timeout-DsMQOfWA.js} +6 -6
  367. package/dist/{workspace-CW_EbF1c.js → workspace-YBHCWOnL.js} +2 -2
  368. package/dist/{workspace-dirs-BBODHFtF.js → workspace-dirs-fmaX57pQ.js} +1 -1
  369. package/dist/{ws-CQigqc-W.js → ws-CWxX8WDm.js} +1 -1
  370. package/dist/{ws-XBuRX9zR.js → ws-DL02xZ7p.js} +2 -2
  371. package/dist/{wsl-BUAmcNIB.js → wsl-DCCrtVjw.js} +2 -2
  372. package/extensions/acpx/package.json +1 -1
  373. package/extensions/anthropic/package.json +1 -1
  374. package/extensions/bifrost/package.json +1 -1
  375. package/extensions/bluebubbles/package.json +1 -1
  376. package/extensions/copilot-proxy/package.json +1 -1
  377. package/extensions/deepgram/package.json +1 -1
  378. package/extensions/deepinfra/package.json +1 -1
  379. package/extensions/diagnostics-otel/package.json +1 -1
  380. package/extensions/diffs/package.json +1 -1
  381. package/extensions/discord/package.json +1 -1
  382. package/extensions/dream-cycle/package.json +1 -1
  383. package/extensions/elevenlabs/package.json +1 -1
  384. package/extensions/feishu/package.json +1 -1
  385. package/extensions/gemini-search/package.json +1 -1
  386. package/extensions/google/package.json +1 -1
  387. package/extensions/google-gemini-cli-auth/package.json +1 -1
  388. package/extensions/googlechat/package.json +1 -1
  389. package/extensions/grok-search/package.json +1 -1
  390. package/extensions/groq/package.json +1 -1
  391. package/extensions/imessage/package.json +1 -1
  392. package/extensions/irc/package.json +1 -1
  393. package/extensions/kimi-search/package.json +1 -1
  394. package/extensions/kokoro/package.json +1 -1
  395. package/extensions/learning-core/package.json +1 -1
  396. package/extensions/line/package.json +1 -1
  397. package/extensions/llm-task/package.json +1 -1
  398. package/extensions/lobster/package.json +1 -1
  399. package/extensions/matrix/CHANGELOG.md +1 -1
  400. package/extensions/matrix/package.json +1 -1
  401. package/extensions/mattermost/package.json +1 -1
  402. package/extensions/memory-core/package.json +1 -1
  403. package/extensions/memory-lancedb/package.json +1 -1
  404. package/extensions/minimax/package.json +1 -1
  405. package/extensions/minimax-portal-auth/package.json +1 -1
  406. package/extensions/mistral/package.json +1 -1
  407. package/extensions/moonshot/package.json +1 -1
  408. package/extensions/msteams/CHANGELOG.md +1 -1
  409. package/extensions/msteams/package.json +1 -1
  410. package/extensions/nextcloud-talk/package.json +1 -1
  411. package/extensions/nostr/CHANGELOG.md +1 -1
  412. package/extensions/nostr/package.json +1 -1
  413. package/extensions/open-prose/package.json +1 -1
  414. package/extensions/openai/package.json +1 -1
  415. package/extensions/openai-realtime/package.json +1 -1
  416. package/extensions/openrouter/package.json +1 -1
  417. package/extensions/perplexity-search/package.json +1 -1
  418. package/extensions/searxng-search/package.json +1 -1
  419. package/extensions/signal/package.json +1 -1
  420. package/extensions/slack/package.json +1 -1
  421. package/extensions/synology-chat/package.json +1 -1
  422. package/extensions/telegram/package.json +1 -1
  423. package/extensions/tlon/package.json +1 -1
  424. package/extensions/twitch/CHANGELOG.md +1 -1
  425. package/extensions/twitch/package.json +1 -1
  426. package/extensions/ui-surfaces/package.json +1 -1
  427. package/extensions/voice-call/CHANGELOG.md +1 -1
  428. package/extensions/voice-call/package.json +1 -1
  429. package/extensions/whatsapp/package.json +1 -1
  430. package/extensions/zai/package.json +1 -1
  431. package/extensions/zalo/CHANGELOG.md +1 -1
  432. package/extensions/zalo/package.json +1 -1
  433. package/extensions/zalouser/CHANGELOG.md +1 -1
  434. package/extensions/zalouser/package.json +1 -1
  435. package/package.json +1 -1
  436. package/dist/cli-BLM45Ywj.js +0 -166
  437. package/dist/register.configure-CTCrUI3p.js +0 -170
@@ -1,8 +1,8 @@
1
- import { X as isPathInside, Y as isNotFoundPathError } from "./globals-BRyHSrWD.js";
2
- import { a as openWritableFileWithinRoot, t as SafeOpenError } from "./fs-safe-lC1ILeyM.js";
3
- import { n as resolveSafeBaseDir } from "./path-safety-CDLqkmsu.js";
1
+ import { X as isPathInside, Y as isNotFoundPathError } from "./globals-3lUHnZas.js";
2
+ import { a as openWritableFileWithinRoot, t as SafeOpenError } from "./fs-safe-BqogKG9V.js";
3
+ import { n as resolveSafeBaseDir } from "./path-safety-DPn_Xy80.js";
4
4
  import path from "node:path";
5
- import fs from "node:fs/promises";
5
+ import fsPromises from "node:fs/promises";
6
6
  import { createHash } from "node:crypto";
7
7
  import { pipeline } from "node:stream/promises";
8
8
  import { Readable, Transform } from "node:stream";
@@ -78,9 +78,9 @@ function resolveArchiveKind(filePath) {
78
78
  async function resolvePackedRootDir(extractDir) {
79
79
  const direct = path.join(extractDir, "package");
80
80
  try {
81
- if ((await fs.stat(direct)).isDirectory()) return direct;
81
+ if ((await fsPromises.stat(direct)).isDirectory()) return direct;
82
82
  } catch {}
83
- const dirs = (await fs.readdir(extractDir, { withFileTypes: true })).filter((entry) => entry.isDirectory()).map((entry) => entry.name);
83
+ const dirs = (await fsPromises.readdir(extractDir, { withFileTypes: true })).filter((entry) => entry.isDirectory()).map((entry) => entry.name);
84
84
  if (dirs.length !== 1) throw new Error(`unexpected archive layout (dirs: ${dirs.join(", ")})`);
85
85
  const onlyDir = dirs[0];
86
86
  if (!onlyDir) throw new Error("unexpected archive layout (no package dir found)");
@@ -150,10 +150,10 @@ function symlinkTraversalError(originalPath) {
150
150
  return new ArchiveSecurityError("destination-symlink-traversal", `${ERROR_ARCHIVE_ENTRY_TRAVERSES_SYMLINK}: ${originalPath}`);
151
151
  }
152
152
  async function assertDestinationDirReady(destDir) {
153
- const stat = await fs.lstat(destDir);
153
+ const stat = await fsPromises.lstat(destDir);
154
154
  if (stat.isSymbolicLink()) throw new ArchiveSecurityError("destination-symlink", "archive destination is a symlink");
155
155
  if (!stat.isDirectory()) throw new ArchiveSecurityError("destination-not-directory", "archive destination is not a directory");
156
- return await fs.realpath(destDir);
156
+ return await fsPromises.realpath(destDir);
157
157
  }
158
158
  async function assertNoSymlinkTraversal(params) {
159
159
  const parts = params.relPath.split("/").filter(Boolean);
@@ -162,7 +162,7 @@ async function assertNoSymlinkTraversal(params) {
162
162
  current = path.join(current, part);
163
163
  let stat;
164
164
  try {
165
- stat = await fs.lstat(current);
165
+ stat = await fsPromises.lstat(current);
166
166
  } catch (err) {
167
167
  if (isNotFoundPathError(err)) continue;
168
168
  throw err;
@@ -173,7 +173,7 @@ async function assertNoSymlinkTraversal(params) {
173
173
  async function assertResolvedInsideDestination(params) {
174
174
  let resolved;
175
175
  try {
176
- resolved = await fs.realpath(params.targetPath);
176
+ resolved = await fsPromises.realpath(params.targetPath);
177
177
  } catch (err) {
178
178
  if (isNotFoundPathError(err)) return;
179
179
  throw err;
@@ -196,12 +196,12 @@ async function openZipOutputFile(params) {
196
196
  async function cleanupPartialRegularFile(filePath) {
197
197
  let stat;
198
198
  try {
199
- stat = await fs.lstat(filePath);
199
+ stat = await fsPromises.lstat(filePath);
200
200
  } catch (err) {
201
201
  if (isNotFoundPathError(err)) return;
202
202
  throw err;
203
203
  }
204
- if (stat.isFile()) await fs.unlink(filePath).catch(() => void 0);
204
+ if (stat.isFile()) await fsPromises.unlink(filePath).catch(() => void 0);
205
205
  }
206
206
  async function readZipEntryStream(entry) {
207
207
  if (typeof entry.nodeStream === "function") return entry.nodeStream();
@@ -229,7 +229,7 @@ async function prepareZipOutputPath(params) {
229
229
  originalPath: params.originalPath
230
230
  });
231
231
  if (params.isDirectory) {
232
- await fs.mkdir(params.outPath, { recursive: true });
232
+ await fsPromises.mkdir(params.outPath, { recursive: true });
233
233
  await assertResolvedInsideDestination({
234
234
  destinationRealDir: params.destinationRealDir,
235
235
  targetPath: params.outPath,
@@ -238,7 +238,7 @@ async function prepareZipOutputPath(params) {
238
238
  return;
239
239
  }
240
240
  const parentDir = path.dirname(params.outPath);
241
- await fs.mkdir(parentDir, { recursive: true });
241
+ await fsPromises.mkdir(parentDir, { recursive: true });
242
242
  await assertResolvedInsideDestination({
243
243
  destinationRealDir: params.destinationRealDir,
244
244
  targetPath: parentDir,
@@ -261,7 +261,7 @@ async function writeZipFileEntry(params) {
261
261
  try {
262
262
  await pipeline(readable, createExtractBudgetTransform({ onChunkBytes: params.budget.addBytes }), writable);
263
263
  } catch (err) {
264
- if (opened.createdForWrite) await fs.rm(opened.openedRealPath, { force: true }).catch(() => void 0);
264
+ if (opened.createdForWrite) await fsPromises.rm(opened.openedRealPath, { force: true }).catch(() => void 0);
265
265
  else await cleanupPartialRegularFile(opened.openedRealPath).catch(() => void 0);
266
266
  throw err;
267
267
  } finally {
@@ -269,14 +269,14 @@ async function writeZipFileEntry(params) {
269
269
  }
270
270
  if (typeof params.entry.unixPermissions === "number") {
271
271
  const mode = params.entry.unixPermissions & 511;
272
- if (mode !== 0) await fs.chmod(opened.openedRealPath, mode).catch(() => void 0);
272
+ if (mode !== 0) await fsPromises.chmod(opened.openedRealPath, mode).catch(() => void 0);
273
273
  }
274
274
  }
275
275
  async function extractZip(params) {
276
276
  const limits = resolveExtractLimits(params.limits);
277
277
  const destinationRealDir = await assertDestinationDirReady(params.destDir);
278
- if ((await fs.stat(params.archivePath)).size > limits.maxArchiveBytes) throw new Error(ERROR_ARCHIVE_SIZE_EXCEEDS_LIMIT);
279
- const buffer = await fs.readFile(params.archivePath);
278
+ if ((await fsPromises.stat(params.archivePath)).size > limits.maxArchiveBytes) throw new Error(ERROR_ARCHIVE_SIZE_EXCEEDS_LIMIT);
279
+ const buffer = await fsPromises.readFile(params.archivePath);
280
280
  const zip = await JSZip.loadAsync(buffer);
281
281
  const entries = Object.values(zip.files);
282
282
  const strip = Math.max(0, Math.floor(params.stripComponents ?? 0));
@@ -349,7 +349,7 @@ async function extractArchive(params) {
349
349
  const label = kind === "zip" ? "extract zip" : "extract tar";
350
350
  if (kind === "tar") {
351
351
  const limits = resolveExtractLimits(params.limits);
352
- if ((await fs.stat(params.archivePath)).size > limits.maxArchiveBytes) throw new Error(ERROR_ARCHIVE_SIZE_EXCEEDS_LIMIT);
352
+ if ((await fsPromises.stat(params.archivePath)).size > limits.maxArchiveBytes) throw new Error(ERROR_ARCHIVE_SIZE_EXCEEDS_LIMIT);
353
353
  const checkTarEntrySafety = createTarEntrySafetyChecker({
354
354
  rootDir: params.destDir,
355
355
  stripComponents: params.stripComponents,
@@ -382,14 +382,14 @@ async function extractArchive(params) {
382
382
  }
383
383
  async function fileExists(filePath) {
384
384
  try {
385
- await fs.stat(filePath);
385
+ await fsPromises.stat(filePath);
386
386
  return true;
387
387
  } catch {
388
388
  return false;
389
389
  }
390
390
  }
391
391
  async function readJsonFile(filePath) {
392
- const raw = await fs.readFile(filePath, "utf-8");
392
+ const raw = await fsPromises.readFile(filePath, "utf-8");
393
393
  return JSON.parse(raw);
394
394
  }
395
395
 
@@ -433,13 +433,13 @@ async function assertCanonicalPathWithinBase(params) {
433
433
  const baseDir = path.resolve(params.baseDir);
434
434
  const candidatePath = path.resolve(params.candidatePath);
435
435
  if (!isPathInside(baseDir, candidatePath)) throw new Error(`Invalid path: must stay within ${params.boundaryLabel}`);
436
- const baseLstat = await fs.lstat(baseDir);
436
+ const baseLstat = await fsPromises.lstat(baseDir);
437
437
  if (!baseLstat.isDirectory() || baseLstat.isSymbolicLink()) throw new Error(`Invalid ${params.boundaryLabel}: base directory must be a real directory`);
438
- const baseRealPath = await fs.realpath(baseDir);
438
+ const baseRealPath = await fsPromises.realpath(baseDir);
439
439
  const validateDirectory = async (dirPath) => {
440
- const dirLstat = await fs.lstat(dirPath);
440
+ const dirLstat = await fsPromises.lstat(dirPath);
441
441
  if (!dirLstat.isDirectory() || dirLstat.isSymbolicLink()) throw new Error(`Invalid path: must stay within ${params.boundaryLabel}`);
442
- if (!isPathInside(baseRealPath, await fs.realpath(dirPath))) throw new Error(`Invalid path: must stay within ${params.boundaryLabel}`);
442
+ if (!isPathInside(baseRealPath, await fsPromises.realpath(dirPath))) throw new Error(`Invalid path: must stay within ${params.boundaryLabel}`);
443
443
  };
444
444
  try {
445
445
  await validateDirectory(candidatePath);
@@ -1,14 +1,14 @@
1
- import { R as extensionUsesSkippedScannerPath, St as resolveUserPath, ct as CONFIG_DIR, z as isPathInside } from "./globals-BRyHSrWD.js";
2
- import { Cs as loadPluginManifest, os as checkPluginVersionCompat, ws as resolvePackageExtensionEntries } from "./plugins-hJwhsniN.js";
1
+ import { R as extensionUsesSkippedScannerPath, St as resolveUserPath, ct as CONFIG_DIR, z as isPathInside } from "./globals-3lUHnZas.js";
2
+ import { Cs as loadPluginManifest, os as checkPluginVersionCompat, ws as resolvePackageExtensionEntries } from "./plugins-jkI2QMUK.js";
3
3
  import { n as resolveHostVersionInfo } from "./version-BdUvZ8Ep.js";
4
- import { C as validateRegistryNpmSpec } from "./skills-B5z9ZsEq.js";
5
- import { c as writeFileFromPathWithinRoot } from "./fs-safe-lC1ILeyM.js";
4
+ import { C as validateRegistryNpmSpec } from "./skills-DL1ojgrn.js";
5
+ import { c as writeFileFromPathWithinRoot } from "./fs-safe-BqogKG9V.js";
6
6
  import { n as docsSiteUrl } from "./docs-site-Bx-VRaE-.js";
7
- import { a as unscopedPackageName, c as fileExists, l as readJsonFile, n as resolveSafeInstallDir, r as safeDirName, u as resolveArchiveKind } from "./install-safe-path-Bg4S4UtE.js";
8
- import { a as installPackageDir, c as resolveTimedInstallModeOptions, d as buildNpmResolutionFields, f as resolveArchiveSourcePath, i as resolveCanonicalInstallTarget, l as resolveExistingInstallPath, n as installFromNpmSpecArchiveWithInstaller, r as ensureInstallTargetAvailable, s as resolveInstallModeOptions, t as finalizeNpmSpecArchiveInstall, u as withExtractedArchiveRoot } from "./npm-pack-install-DGHHbtvq.js";
9
- import { t as scanDirectoryWithSummary } from "./skill-scanner-DXsZ33dg.js";
7
+ import { a as unscopedPackageName, c as fileExists, l as readJsonFile, n as resolveSafeInstallDir, r as safeDirName, u as resolveArchiveKind } from "./install-safe-path-CpaP5QP8.js";
8
+ import { a as installPackageDir, c as resolveTimedInstallModeOptions, d as buildNpmResolutionFields, f as resolveArchiveSourcePath, i as resolveCanonicalInstallTarget, l as resolveExistingInstallPath, n as installFromNpmSpecArchiveWithInstaller, r as ensureInstallTargetAvailable, s as resolveInstallModeOptions, t as finalizeNpmSpecArchiveInstall, u as withExtractedArchiveRoot } from "./npm-pack-install-H0t8obmJ.js";
9
+ import { t as scanDirectoryWithSummary } from "./skill-scanner-CfYJtlhU.js";
10
10
  import path from "node:path";
11
- import fs from "node:fs/promises";
11
+ import fsPromises from "node:fs/promises";
12
12
 
13
13
  //#region src/plugins/install.ts
14
14
  const MISSING_EXTENSIONS_ERROR = "package.json missing openclaw.extensions; update the plugin package to include openclaw.extensions (for example [\"./dist/index.js\"]). See " + docsSiteUrl("users/help/troubleshooting#plugin-install-fails-with-missing-openclaw-extensions");
@@ -254,7 +254,7 @@ async function installPluginFromDir(params) {
254
254
  ok: false,
255
255
  error: `directory not found: ${dirPath}`
256
256
  };
257
- if (!(await fs.stat(dirPath)).isDirectory()) return {
257
+ if (!(await fsPromises.stat(dirPath)).isDirectory()) return {
258
258
  ok: false,
259
259
  error: `not a directory: ${dirPath}`
260
260
  };
@@ -271,7 +271,7 @@ async function installPluginFromFile(params) {
271
271
  error: `file not found: ${filePath}`
272
272
  };
273
273
  const extensionsDir = params.extensionsDir ? resolveUserPath(params.extensionsDir) : path.join(CONFIG_DIR, "extensions");
274
- await fs.mkdir(extensionsDir, { recursive: true });
274
+ await fsPromises.mkdir(extensionsDir, { recursive: true });
275
275
  const pluginId = path.basename(filePath, path.extname(filePath)) || "plugin";
276
276
  const pluginIdError = validatePluginId(pluginId);
277
277
  if (pluginIdError) return {
@@ -1,5 +1,5 @@
1
- import { Fo as isIpv6Address, Vo as parseCanonicalIpAddress, jo as isCanonicalDottedDecimalIPv4 } from "./plugins-hJwhsniN.js";
2
- import { o as getTailnetHostname } from "./tailscale-C8Mp_8WD.js";
1
+ import { Fo as isIpv6Address, Vo as parseCanonicalIpAddress, jo as isCanonicalDottedDecimalIPv4 } from "./plugins-jkI2QMUK.js";
2
+ import { o as getTailnetHostname } from "./tailscale-N0qH8IeI.js";
3
3
  import { n as docsSiteUrl } from "./docs-site-Bx-VRaE-.js";
4
4
 
5
5
  //#region src/gateway/gateway-config-prompts.shared.ts
@@ -1,11 +1,11 @@
1
- import { St as resolveUserPath, a as logVerbose, c as shouldLogVerbose } from "./globals-BRyHSrWD.js";
2
- import { s as readLocalFileSafely, t as SafeOpenError } from "./fs-safe-lC1ILeyM.js";
3
- import { a as hasAlphaChannel, c as detectMime, g as maxBytesForKind, l as extensionForMime, o as optimizeImageToPng, p as kindFromMime, r as convertHeicToJpeg, s as resizeToJpeg } from "./image-ops-BKyJ_gQP.js";
4
- import { a as getDefaultMediaLocalRoots, n as fetchRemoteMedia } from "./fetch-D-b-uXX7.js";
5
- import { a as chunkText } from "./chunk-5HmJ90W0.js";
1
+ import { St as resolveUserPath, a as logVerbose, c as shouldLogVerbose } from "./globals-3lUHnZas.js";
2
+ import { s as readLocalFileSafely, t as SafeOpenError } from "./fs-safe-BqogKG9V.js";
3
+ import { a as hasAlphaChannel, c as detectMime, g as maxBytesForKind, l as extensionForMime, o as optimizeImageToPng, p as kindFromMime, r as convertHeicToJpeg, s as resizeToJpeg } from "./image-ops-BiZX2JoM.js";
4
+ import { a as getDefaultMediaLocalRoots, n as fetchRemoteMedia } from "./fetch-KUu9BT-y.js";
5
+ import { a as chunkText } from "./chunk-CIpxqo8a.js";
6
6
  import { fileURLToPath } from "node:url";
7
7
  import path from "node:path";
8
- import fs from "node:fs/promises";
8
+ import fsPromises from "node:fs/promises";
9
9
  import MarkdownIt from "markdown-it";
10
10
 
11
11
  //#region src/media/web-media.ts
@@ -36,7 +36,7 @@ async function assertLocalMediaAllowed(mediaPath, localRoots) {
36
36
  const roots = localRoots ?? getDefaultLocalRoots();
37
37
  let resolved;
38
38
  try {
39
- resolved = await fs.realpath(mediaPath);
39
+ resolved = await fsPromises.realpath(mediaPath);
40
40
  } catch {
41
41
  resolved = path.resolve(mediaPath);
42
42
  }
@@ -53,7 +53,7 @@ async function assertLocalMediaAllowed(mediaPath, localRoots) {
53
53
  for (const root of roots) {
54
54
  let resolvedRoot;
55
55
  try {
56
- resolvedRoot = await fs.realpath(root);
56
+ resolvedRoot = await fsPromises.realpath(root);
57
57
  } catch {
58
58
  resolvedRoot = path.resolve(root);
59
59
  }
@@ -1,8 +1,8 @@
1
1
  import { f as logVerbose, h as shouldLogVerbose, st as resolveUserPath } from "./subsystem-DynBFcQj.js";
2
2
  import { a as hasAlphaChannel, c as detectMime, g as maxBytesForKind, l as extensionForMime, o as optimizeImageToPng, p as kindFromMime, r as convertHeicToJpeg, s as resizeToJpeg } from "./image-ops-Dk3eDp_u.js";
3
3
  import { o as readLocalFileSafely, t as SafeOpenError } from "./fs-safe-CFEZK0gv.js";
4
- import { a as getDefaultMediaLocalRoots, n as fetchRemoteMedia } from "./fetch-JiVpsY-F.js";
5
- import { a as chunkText } from "./chunk-BBj2TedD.js";
4
+ import { a as getDefaultMediaLocalRoots, n as fetchRemoteMedia } from "./fetch-BzeUsif1.js";
5
+ import { a as chunkText } from "./chunk-CGvXEMAJ.js";
6
6
  import path from "node:path";
7
7
  import fs from "node:fs/promises";
8
8
  import { fileURLToPath } from "node:url";
@@ -1,4 +1,4 @@
1
- import { ns as sanitizeTerminalText } from "./plugins-hJwhsniN.js";
1
+ import { ns as sanitizeTerminalText } from "./plugins-jkI2QMUK.js";
2
2
 
3
3
  //#region src/config/issue-format.ts
4
4
  function normalizeConfigIssuePath(path) {
@@ -1,6 +1,6 @@
1
- import { Ot as truncateUtf16Safe } from "./globals-BRyHSrWD.js";
2
- import { t as createSubsystemLogger } from "./subsystem-BNf8H-Zm.js";
3
- import { p as normalizeAgentId, t as DEFAULT_AGENT_ID } from "./session-key-DCnSJLJC.js";
1
+ import { Ot as truncateUtf16Safe } from "./globals-3lUHnZas.js";
2
+ import { t as createSubsystemLogger } from "./subsystem-xTuYkxuQ.js";
3
+ import { p as normalizeAgentId, t as DEFAULT_AGENT_ID } from "./session-key-D0gYNgj1.js";
4
4
  import { i as parseAbsoluteTimeMs, n as resolveCronStaggerMs, r as resolveDefaultCronStaggerMs, t as normalizeCronStaggerMs } from "./stagger-DeKW3Z4c.js";
5
5
  import crypto, { randomUUID } from "node:crypto";
6
6
  import { Cron } from "croner";
@@ -1,11 +1,11 @@
1
1
  import path from "node:path";
2
- import fs from "node:fs/promises";
2
+ import fsPromises from "node:fs/promises";
3
3
  import { randomUUID } from "node:crypto";
4
4
 
5
5
  //#region src/infra/json-files.ts
6
6
  async function readJsonFile(filePath) {
7
7
  try {
8
- const raw = await fs.readFile(filePath, "utf8");
8
+ const raw = await fsPromises.readFile(filePath, "utf8");
9
9
  return JSON.parse(raw);
10
10
  } catch {
11
11
  return null;
@@ -20,7 +20,7 @@ async function writeJsonAtomic(filePath, value, options) {
20
20
  }
21
21
  async function chmodIfSupported(filePath, mode) {
22
22
  try {
23
- await fs.chmod(filePath, mode);
23
+ await fsPromises.chmod(filePath, mode);
24
24
  } catch (err) {
25
25
  if (process.platform === "win32") return;
26
26
  throw err;
@@ -31,18 +31,18 @@ async function writeTextAtomic(filePath, content, options) {
31
31
  const payload = options?.appendTrailingNewline && !content.endsWith("\n") ? `${content}\n` : content;
32
32
  const mkdirOptions = { recursive: true };
33
33
  if (typeof options?.ensureDirMode === "number") mkdirOptions.mode = options.ensureDirMode;
34
- await fs.mkdir(path.dirname(filePath), mkdirOptions);
34
+ await fsPromises.mkdir(path.dirname(filePath), mkdirOptions);
35
35
  const tmp = `${filePath}.${randomUUID()}.tmp`;
36
36
  try {
37
- await fs.writeFile(tmp, payload, {
37
+ await fsPromises.writeFile(tmp, payload, {
38
38
  encoding: "utf8",
39
39
  mode
40
40
  });
41
41
  await chmodIfSupported(tmp, mode);
42
- await fs.rename(tmp, filePath);
42
+ await fsPromises.rename(tmp, filePath);
43
43
  await chmodIfSupported(filePath, mode);
44
44
  } finally {
45
- await fs.rm(tmp, { force: true }).catch(() => void 0);
45
+ await fsPromises.rm(tmp, { force: true }).catch(() => void 0);
46
46
  }
47
47
  }
48
48
  function createAsyncLock() {
@@ -1,15 +1,15 @@
1
- import { Tt as shortenHomePath, d as colorize, f as isRich, g as getResolvedLoggerSettings, p as theme } from "./globals-BRyHSrWD.js";
1
+ import { Tt as shortenHomePath, d as colorize, f as isRich, g as getResolvedLoggerSettings, p as theme } from "./globals-3lUHnZas.js";
2
2
  import { d as resolveIsNixMode } from "./paths-BMo6kTge.js";
3
- import { m as defaultRuntime } from "./subsystem-BNf8H-Zm.js";
4
- import { ar as readConfigFileSnapshot, rr as loadConfig } from "./plugins-hJwhsniN.js";
3
+ import { m as defaultRuntime } from "./subsystem-xTuYkxuQ.js";
4
+ import { ar as readConfigFileSnapshot, rr as loadConfig } from "./plugins-jkI2QMUK.js";
5
5
  import { t as formatCliCommand } from "./command-format-C8lewPDO.js";
6
- import { t as resolveGatewayCredentialsFromConfig } from "./credentials-CGW31DO4.js";
6
+ import { t as resolveGatewayCredentialsFromConfig } from "./credentials-DtepevRH.js";
7
7
  import { m as resolveGatewayWindowsTaskName, p as resolveGatewaySystemdServiceName, u as resolveGatewayLaunchAgentLabel } from "./constants-DUAhnQFX.js";
8
- import { t as isWSL } from "./wsl-BUAmcNIB.js";
9
- import { n as formatConfigIssueLines } from "./issue-format-DSEmDva0.js";
10
- import { s as resolveGatewayLogPaths } from "./service-Dqk7p14H.js";
11
- import { r as isSystemdUserServiceAvailable } from "./systemd-z2RhFRaN.js";
12
- import { a as checkTokenDrift, n as renderSystemdUnavailableHints } from "./systemd-hints-BZZDCrDu.js";
8
+ import { t as isWSL } from "./wsl-DCCrtVjw.js";
9
+ import { n as formatConfigIssueLines } from "./issue-format-Dsb7vnfa.js";
10
+ import { s as resolveGatewayLogPaths } from "./service-Zezrymwp.js";
11
+ import { r as isSystemdUserServiceAvailable } from "./systemd-BVSb7hmO.js";
12
+ import { a as checkTokenDrift, n as renderSystemdUnavailableHints } from "./systemd-hints-QF9bOgxF.js";
13
13
  import { t as parsePort } from "./parse-port-DSdUR1RE.js";
14
14
  import { Writable } from "node:stream";
15
15
 
@@ -1,4 +1,4 @@
1
- import { gt as formatTerminalLink } from "./globals-BRyHSrWD.js";
1
+ import { gt as formatTerminalLink } from "./globals-3lUHnZas.js";
2
2
  import { n as docsSiteUrl } from "./docs-site-Bx-VRaE-.js";
3
3
 
4
4
  //#region src/terminal/links.ts
@@ -1,6 +1,6 @@
1
- import { b as formatLocalDate, lt as clamp } from "./globals-BRyHSrWD.js";
1
+ import { b as formatLocalDate, lt as clamp } from "./globals-3lUHnZas.js";
2
2
  import path from "node:path";
3
- import fs from "node:fs/promises";
3
+ import fsPromises from "node:fs/promises";
4
4
 
5
5
  //#region src/logging/log-tail.ts
6
6
  const MAX_LIMIT = 5e3;
@@ -10,14 +10,14 @@ function isRollingLogFile(file) {
10
10
  return ROLLING_LOG_RE.test(path.basename(file));
11
11
  }
12
12
  async function resolveActiveLogFile(file) {
13
- if (await fs.stat(file).catch(() => null)) return file;
13
+ if (await fsPromises.stat(file).catch(() => null)) return file;
14
14
  if (!isRollingLogFile(file)) return file;
15
15
  const dir = path.dirname(file);
16
- const entries = await fs.readdir(dir, { withFileTypes: true }).catch(() => null);
16
+ const entries = await fsPromises.readdir(dir, { withFileTypes: true }).catch(() => null);
17
17
  if (!entries) return file;
18
18
  return (await Promise.all(entries.filter((entry) => entry.isFile() && ROLLING_LOG_RE.test(entry.name)).map(async (entry) => {
19
19
  const fullPath = path.join(dir, entry.name);
20
- const fileStat = await fs.stat(fullPath).catch(() => null);
20
+ const fileStat = await fsPromises.stat(fullPath).catch(() => null);
21
21
  return fileStat ? {
22
22
  path: fullPath,
23
23
  mtimeMs: fileStat.mtimeMs
@@ -25,7 +25,7 @@ async function resolveActiveLogFile(file) {
25
25
  }))).filter((entry) => Boolean(entry)).toSorted((a, b) => b.mtimeMs - a.mtimeMs)[0]?.path ?? file;
26
26
  }
27
27
  async function readLogSlice(params) {
28
- const stat = await fs.stat(params.file).catch(() => null);
28
+ const stat = await fsPromises.stat(params.file).catch(() => null);
29
29
  if (!stat) return {
30
30
  cursor: 0,
31
31
  size: 0,
@@ -33,7 +33,7 @@ async function readLogSlice(params) {
33
33
  truncated: false,
34
34
  reset: false
35
35
  };
36
- const handle = await fs.open(params.file, "r");
36
+ const handle = await fsPromises.open(params.file, "r");
37
37
  try {
38
38
  return await readLogSliceFromHandle(handle, stat.size, params);
39
39
  } finally {
@@ -1,5 +1,5 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { ft as displayPath } from "./globals-BRyHSrWD.js";
2
+ import { ft as displayPath } from "./globals-3lUHnZas.js";
3
3
  import { t as CONFIG_PATH } from "./paths-BMo6kTge.js";
4
4
 
5
5
  //#region src/config/logging.ts
@@ -1,28 +1,28 @@
1
- import { d as colorize, f as isRich, g as getResolvedLoggerSettings, p as theme, v as formatLocalIsoWithOffset, y as isValidTimeZone } from "./globals-BRyHSrWD.js";
1
+ import { d as colorize, f as isRich, g as getResolvedLoggerSettings, p as theme, v as formatLocalIsoWithOffset, y as isValidTimeZone } from "./globals-3lUHnZas.js";
2
2
  import "./paths-BMo6kTge.js";
3
- import { g as clearActiveProgressLine } from "./subsystem-BNf8H-Zm.js";
3
+ import { g as clearActiveProgressLine } from "./subsystem-xTuYkxuQ.js";
4
4
  import "./boolean-C71HJEcH.js";
5
- import { rr as loadConfig } from "./plugins-hJwhsniN.js";
5
+ import { rr as loadConfig } from "./plugins-jkI2QMUK.js";
6
6
  import "./retry-policy-By-oqFVH.js";
7
7
  import "./version-BdUvZ8Ep.js";
8
- import "./agent-scope-Daay3L1Q.js";
9
- import "./exec-DgfbhlVq.js";
8
+ import "./agent-scope-m37qEcFM.js";
9
+ import "./exec-BadOxgw_.js";
10
10
  import "./github-copilot-token-CmScvpk-.js";
11
- import "./pid-alive-SdfUhiUL.js";
11
+ import "./pid-alive-dd2LsB9B.js";
12
12
  import "./static-app-y2aJYHKZ.js";
13
13
  import { t as formatCliCommand } from "./command-format-C8lewPDO.js";
14
- import "./tailnet-jp0meR1r.js";
15
- import "./ws-XBuRX9zR.js";
14
+ import "./tailnet-BrtA9p9W.js";
15
+ import "./ws-DL02xZ7p.js";
16
16
  import "./task-run-types-Bt-7ZJU6.js";
17
- import "./client-D7BnGRYO.js";
18
- import { b as resolveLeastPrivilegeOperatorScopesForMethod, t as buildGatewayConnectionDetails } from "./call-BoiZy1oh.js";
17
+ import "./client-BMDbXMKo.js";
18
+ import { b as resolveLeastPrivilegeOperatorScopesForMethod, t as buildGatewayConnectionDetails } from "./call-BltQb5p8.js";
19
19
  import "./pairing-token-C8aCkuns.js";
20
- import { t as formatDocsLink } from "./links-PUWFmh-v.js";
21
- import "./progress-BjZYY1Uu.js";
22
- import { n as callGatewayFromCli, r as openGatewayCliSessionFromCli, t as addGatewayClientOptions } from "./gateway-rpc-CQq2vr6O.js";
20
+ import { t as formatDocsLink } from "./links-CuEUTasJ.js";
21
+ import "./progress-FkWSD-ms.js";
22
+ import { n as callGatewayFromCli, r as openGatewayCliSessionFromCli, t as addGatewayClientOptions } from "./gateway-rpc-C7kAjboF.js";
23
23
  import { t as parseLogLine } from "./parse-log-line-BY9Vz72K.js";
24
- import { i as resolveActiveLogFile, r as readLogSliceFromHandle, t as createLogFileResolver } from "./log-tail-hSKJOSyz.js";
25
- import fs from "node:fs/promises";
24
+ import { i as resolveActiveLogFile, r as readLogSliceFromHandle, t as createLogFileResolver } from "./log-tail-C_ThPK9g.js";
25
+ import fsPromises from "node:fs/promises";
26
26
  import { setTimeout } from "node:timers/promises";
27
27
  import { StringDecoder } from "node:string_decoder";
28
28
 
@@ -33,7 +33,7 @@ const MAX_PARTIAL_BYTES = 1048576;
33
33
  async function tryOpen(file) {
34
34
  let handle;
35
35
  try {
36
- handle = await fs.open(file, "r");
36
+ handle = await fsPromises.open(file, "r");
37
37
  } catch {
38
38
  return null;
39
39
  }
@@ -159,7 +159,7 @@ async function followLogFile(opts, emit) {
159
159
  break;
160
160
  }
161
161
  const target = await opts.resolveFile();
162
- const st = await fs.stat(target).catch(() => null);
162
+ const st = await fsPromises.stat(target).catch(() => null);
163
163
  if (!state.handle) {
164
164
  if (st) {
165
165
  const opened = await tryOpen(target);
@@ -407,7 +407,7 @@ async function resolveFollowSource(opts) {
407
407
  const configuredFile = getResolvedLoggerSettings().file;
408
408
  try {
409
409
  const resolved = await resolveActiveLogFile(configuredFile);
410
- await fs.access(resolved, fs.constants.R_OK);
410
+ await fsPromises.access(resolved, fsPromises.constants.R_OK);
411
411
  return {
412
412
  kind: "file",
413
413
  configuredFile
@@ -2,13 +2,13 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { i as resolveAgentDir, r as resolveAgentConfig, s as resolveAgentWorkspaceDir } from "./agent-scope-Js3kUihf.js";
3
3
  import { l as resolveStateDir } from "./paths-B_gs59ga.js";
4
4
  import { $ as clampNumber, Q as clampInt, pt as truncateUtf16Safe, st as resolveUserPath, t as createSubsystemLogger } from "./subsystem-DynBFcQj.js";
5
- import { A as requireApiKey, Ca as normalizeOptionalSecretInput, Da as normalizeResolvedSecretInputString, M as resolveEnvApiKey, U as loadConfig, Yn as resolveSessionTranscriptsDirForAgent, j as resolveApiKeyForProvider, ua as isTruthyEnvValue, x as retryAsync } from "./model-selection-DFW5CGMj.js";
5
+ import { A as requireApiKey, Ca as normalizeOptionalSecretInput, Da as normalizeResolvedSecretInputString, M as resolveEnvApiKey, U as loadConfig, Yn as resolveSessionTranscriptsDirForAgent, j as resolveApiKeyForProvider, ua as isTruthyEnvValue, x as retryAsync } from "./model-selection-DkRYDpst.js";
6
6
  import { n as onSessionTranscriptUpdate } from "./transcript-events-Cg5s4YcQ.js";
7
7
  import { r as formatErrorMessage } from "./errors-B_bbUZmd.js";
8
8
  import { t as resolveNetworkSsrFPolicy } from "./ssrf-config-CWMxbvLB.js";
9
- import { t as fetchWithSsrFGuard } from "./fetch-guard-Dn6Z6n6a.js";
10
- import { n as executeWithApiKeyRotation, t as collectProviderApiKeysForExecution } from "./api-key-rotation-1GnreUfv.js";
11
- import { _ as runWithConcurrency, a as resolveSessionMemoryStores, c as chunkMarkdown, d as hashText, f as isMemoryPath, g as remapChunkLines, h as parseEmbedding, i as listSessionMemoryRows, l as cosineSimilarity, m as normalizeExtraMemoryPaths, n as requireNodeSqlite, o as sessionMemorySourceId, p as listMemoryFiles, r as buildSessionMemoryEntry, s as buildFileEntry, t as extractKeywords, u as ensureDir, v as isFileMissingError, y as statRegularFile } from "./query-expansion-Dm_RIg6M.js";
9
+ import { t as fetchWithSsrFGuard } from "./fetch-guard-D49piGJ5.js";
10
+ import { n as executeWithApiKeyRotation, t as collectProviderApiKeysForExecution } from "./api-key-rotation-DAI1NT_a.js";
11
+ import { _ as runWithConcurrency, a as resolveSessionMemoryStores, c as chunkMarkdown, d as hashText, f as isMemoryPath, g as remapChunkLines, h as parseEmbedding, i as listSessionMemoryRows, l as cosineSimilarity, m as normalizeExtraMemoryPaths, n as requireNodeSqlite, o as sessionMemorySourceId, p as listMemoryFiles, r as buildSessionMemoryEntry, s as buildFileEntry, t as extractKeywords, u as ensureDir, v as isFileMissingError, y as statRegularFile } from "./query-expansion-BVj0lCGG.js";
12
12
  import path from "node:path";
13
13
  import syncFs from "node:fs";
14
14
  import os from "node:os";
@@ -1,20 +1,20 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { Ot as truncateUtf16Safe, St as resolveUserPath, dt as clampNumber, ut as clampInt } from "./globals-BRyHSrWD.js";
2
+ import { Ot as truncateUtf16Safe, St as resolveUserPath, dt as clampNumber, ut as clampInt } from "./globals-3lUHnZas.js";
3
3
  import { g as resolveStateDir } from "./paths-BMo6kTge.js";
4
- import { t as createSubsystemLogger } from "./subsystem-BNf8H-Zm.js";
4
+ import { t as createSubsystemLogger } from "./subsystem-xTuYkxuQ.js";
5
5
  import { r as isTruthyEnvValue } from "./entry.js";
6
- import { Mc as normalizeResolvedSecretInputString, Pt as resolveSessionTranscriptsDirForAgent, Ri as requireApiKey, Si as retryAsync, Vi as resolveEnvApiKey, rr as loadConfig, wc as normalizeOptionalSecretInput, zi as resolveApiKeyForProvider } from "./plugins-hJwhsniN.js";
7
- import { a as resolveAgentDir, i as resolveAgentConfig, u as resolveAgentWorkspaceDir } from "./agent-scope-Daay3L1Q.js";
6
+ import { Mc as normalizeResolvedSecretInputString, Pt as resolveSessionTranscriptsDirForAgent, Ri as requireApiKey, Si as retryAsync, Vi as resolveEnvApiKey, rr as loadConfig, wc as normalizeOptionalSecretInput, zi as resolveApiKeyForProvider } from "./plugins-jkI2QMUK.js";
7
+ import { a as resolveAgentDir, i as resolveAgentConfig, u as resolveAgentWorkspaceDir } from "./agent-scope-m37qEcFM.js";
8
8
  import { i as formatErrorMessage } from "./errors-DvKWUPmm.js";
9
9
  import { t as resolveNetworkSsrFPolicy } from "./ssrf-config-DXdQgrgM.js";
10
10
  import { n as onSessionTranscriptUpdate } from "./transcript-events-CQg2xO7E.js";
11
- import { t as fetchWithSsrFGuard } from "./fetch-guard-BbFS87gt.js";
12
- import { n as executeWithApiKeyRotation, t as collectProviderApiKeysForExecution } from "./api-key-rotation-DBvdlVZw.js";
13
- import { _ as runWithConcurrency, a as resolveSessionMemoryStores, c as chunkMarkdown, d as hashText, f as isMemoryPath, g as remapChunkLines, h as parseEmbedding, i as listSessionMemoryRows, l as cosineSimilarity, m as normalizeExtraMemoryPaths, n as requireNodeSqlite, o as sessionMemorySourceId, p as listMemoryFiles, r as buildSessionMemoryEntry, s as buildFileEntry, t as extractKeywords, u as ensureDir, v as isFileMissingError, y as statRegularFile } from "./query-expansion-DiS55fL8.js";
11
+ import { t as fetchWithSsrFGuard } from "./fetch-guard-Bn23GnZQ.js";
12
+ import { n as executeWithApiKeyRotation, t as collectProviderApiKeysForExecution } from "./api-key-rotation-JDh9X_oP.js";
13
+ import { _ as runWithConcurrency, a as resolveSessionMemoryStores, c as chunkMarkdown, d as hashText, f as isMemoryPath, g as remapChunkLines, h as parseEmbedding, i as listSessionMemoryRows, l as cosineSimilarity, m as normalizeExtraMemoryPaths, n as requireNodeSqlite, o as sessionMemorySourceId, p as listMemoryFiles, r as buildSessionMemoryEntry, s as buildFileEntry, t as extractKeywords, u as ensureDir, v as isFileMissingError, y as statRegularFile } from "./query-expansion-Bt2T2t1J.js";
14
14
  import os from "node:os";
15
15
  import path from "node:path";
16
16
  import fs from "node:fs";
17
- import fs$1 from "node:fs/promises";
17
+ import fsPromises from "node:fs/promises";
18
18
  import { randomUUID } from "node:crypto";
19
19
  import chokidar from "chokidar";
20
20
  import { createInterface } from "node:readline";
@@ -1078,7 +1078,7 @@ async function extractTimestamp(params) {
1078
1078
  if (!params.workspaceDir) return null;
1079
1079
  const absolutePath = path.isAbsolute(params.filePath) ? params.filePath : path.resolve(params.workspaceDir, params.filePath);
1080
1080
  try {
1081
- const stat = await fs$1.stat(absolutePath);
1081
+ const stat = await fsPromises.stat(absolutePath);
1082
1082
  if (!Number.isFinite(stat.mtimeMs)) return null;
1083
1083
  return new Date(stat.mtimeMs);
1084
1084
  } catch {
@@ -2249,7 +2249,7 @@ var MemoryManagerSyncOps = class {
2249
2249
  const source = `${sourceBase}${suffix}`;
2250
2250
  const target = `${targetBase}${suffix}`;
2251
2251
  try {
2252
- await fs$1.rename(source, target);
2252
+ await fsPromises.rename(source, target);
2253
2253
  } catch (err) {
2254
2254
  if (err.code !== "ENOENT") throw err;
2255
2255
  }
@@ -2260,7 +2260,7 @@ var MemoryManagerSyncOps = class {
2260
2260
  "",
2261
2261
  "-wal",
2262
2262
  "-shm"
2263
- ].map((suffix) => fs$1.rm(`${basePath}${suffix}`, { force: true })));
2263
+ ].map((suffix) => fsPromises.rm(`${basePath}${suffix}`, { force: true })));
2264
2264
  }
2265
2265
  ensureSchema() {
2266
2266
  const result = ensureMemoryIndexSchema({
@@ -3307,7 +3307,7 @@ var MemoryManagerEmbeddingOps = class extends MemoryManagerSyncOps {
3307
3307
  });
3308
3308
  return;
3309
3309
  }
3310
- const content = options.content ?? ("absPath" in entry ? await fs$1.readFile(entry.absPath, "utf-8") : void 0);
3310
+ const content = options.content ?? ("absPath" in entry ? await fsPromises.readFile(entry.absPath, "utf-8") : void 0);
3311
3311
  if (content === void 0) throw new Error(`memory index: session source ${entry.path} produced no content`);
3312
3312
  const chunks = enforceEmbeddingMaxInputTokens(this.provider, chunkMarkdown(content, this.settings.chunking).filter((chunk) => chunk.text.trim().length > 0), EMBEDDING_BATCH_MAX_TOKENS);
3313
3313
  if (options.source === "sessions" && "lineMap" in entry) remapChunkLines(chunks, entry.lineMap);
@@ -3747,7 +3747,7 @@ var MemoryIndexManager = class MemoryIndexManager extends MemoryManagerEmbedding
3747
3747
  if (!allowedWorkspace && this.settings.extraPaths.length > 0) {
3748
3748
  const additionalPaths = normalizeExtraMemoryPaths(this.workspaceDir, this.settings.extraPaths);
3749
3749
  for (const additionalPath of additionalPaths) try {
3750
- const stat = await fs$1.lstat(additionalPath);
3750
+ const stat = await fsPromises.lstat(additionalPath);
3751
3751
  if (stat.isSymbolicLink()) continue;
3752
3752
  if (stat.isDirectory()) {
3753
3753
  if (absPath === additionalPath || absPath.startsWith(`${additionalPath}${path.sep}`)) {
@@ -3772,7 +3772,7 @@ var MemoryIndexManager = class MemoryIndexManager extends MemoryManagerEmbedding
3772
3772
  };
3773
3773
  let content;
3774
3774
  try {
3775
- content = await fs$1.readFile(absPath, "utf-8");
3775
+ content = await fsPromises.readFile(absPath, "utf-8");
3776
3776
  } catch (err) {
3777
3777
  if (isFileMissingError(err)) return {
3778
3778
  text: "",
@@ -1,17 +1,17 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { a as logVerbose } from "./globals-BRyHSrWD.js";
2
+ import { a as logVerbose } from "./globals-3lUHnZas.js";
3
3
  import { g as resolveStateDir } from "./paths-BMo6kTge.js";
4
- import { t as createSubsystemLogger } from "./subsystem-BNf8H-Zm.js";
5
- import { Ct as parseSessionIndexRecordKey, Ft as resolveStorePath, ft as updateSessionStore, gt as mergeSessionEntry, it as loadSessionStore, nt as getConfiguredSessionStorageRuntime, rr as loadConfig } from "./plugins-hJwhsniN.js";
6
- import { F as isAcpSessionKey, V as parseAgentSessionKey, p as normalizeAgentId } from "./session-key-DCnSJLJC.js";
7
- import { m as resolveSessionAgentId, r as listAgentIds } from "./agent-scope-Daay3L1Q.js";
4
+ import { t as createSubsystemLogger } from "./subsystem-xTuYkxuQ.js";
5
+ import { Ct as parseSessionIndexRecordKey, Ft as resolveStorePath, ft as updateSessionStore, gt as mergeSessionEntry, it as loadSessionStore, nt as getConfiguredSessionStorageRuntime, rr as loadConfig } from "./plugins-jkI2QMUK.js";
6
+ import { F as isAcpSessionKey, V as parseAgentSessionKey, p as normalizeAgentId } from "./session-key-D0gYNgj1.js";
7
+ import { m as resolveSessionAgentId, r as listAgentIds } from "./agent-scope-m37qEcFM.js";
8
8
  import { t as redactIdentifier } from "./redact-identifier-BZPmEwN1.js";
9
9
  import { t as KeyedAsyncQueue } from "./keyed-async-queue-C3QwnlR9.js";
10
- import { d as isGatewayDraining } from "./command-queue-B7AMiRYq.js";
11
- import { t as startUserSessionRun } from "./user-run-recording-Dyk-akZz.js";
10
+ import { d as isGatewayDraining } from "./command-queue-C17N9gab.js";
11
+ import { t as startUserSessionRun } from "./user-run-recording-D5nQiSUv.js";
12
12
  import { t as withTimeout } from "./with-timeout-DSF2eoCh.js";
13
13
  import path, { isAbsolute } from "node:path";
14
- import fs from "node:fs/promises";
14
+ import fsPromises from "node:fs/promises";
15
15
 
16
16
  //#region src/acp/runtime/errors.ts
17
17
  const ACP_ERROR_CODES = [
@@ -634,7 +634,7 @@ async function resolveAgentSessionDirs(stateDir) {
634
634
  const agentsDir = path.join(stateDir, "agents");
635
635
  let entries = [];
636
636
  try {
637
- entries = await fs.readdir(agentsDir, { withFileTypes: true });
637
+ entries = await fsPromises.readdir(agentsDir, { withFileTypes: true });
638
638
  } catch (err) {
639
639
  if (err.code === "ENOENT") return [];
640
640
  throw err;
@@ -1,6 +1,6 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { Sn as resolveAccountEntry, r as normalizeChannelId } from "./plugins-hJwhsniN.js";
3
- import { k as normalizeAccountId } from "./session-key-DCnSJLJC.js";
2
+ import { Sn as resolveAccountEntry, r as normalizeChannelId } from "./plugins-jkI2QMUK.js";
3
+ import { k as normalizeAccountId } from "./session-key-D0gYNgj1.js";
4
4
 
5
5
  //#region src/config/markdown-tables.ts
6
6
  var markdown_tables_exports = /* @__PURE__ */ __exportAll({ resolveMarkdownTableMode: () => resolveMarkdownTableMode });