wednesdayai 0.4.12-dev.729 → 0.4.12-dev.730

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 (443) hide show
  1. package/dist/{acp-cli-I7YUgqCR.js → acp-cli-BP69XOSe.js} +13 -13
  2. package/dist/{agent-scope-Ppgyx_kd.js → agent-scope-CxydHZjT.js} +21 -21
  3. package/dist/{agent-turn-enqueue-CW_401rj.js → agent-turn-enqueue-D-72TPFG.js} +5 -5
  4. package/dist/{agent-turn-enqueue-DoWWsxog.js → agent-turn-enqueue-DKRQcdxb.js} +6 -6
  5. package/dist/{agent-turn-execute-A0TURQhp.js → agent-turn-execute-Bh97uBaG.js} +194 -194
  6. package/dist/{agent-turn-recovery-adapter-BNI0O8Mj.js → agent-turn-recovery-adapter-DZsBJig8.js} +3 -3
  7. package/dist/{agent-turn-recovery-adapter-CJ4g6khf.js → agent-turn-recovery-adapter-TZIfB8s6.js} +1 -1
  8. package/dist/{agent-turn-runner-BVBnEVO0.js → agent-turn-runner-Bv9LuLHR.js} +2 -2
  9. package/dist/{agent-turn-runner-B10CqZVv.js → agent-turn-runner-Cea0N8hZ.js} +5 -5
  10. package/dist/{agent-turn-runner-CM3MQTJU.js → agent-turn-runner-DtRDx5nj.js} +1 -1
  11. package/dist/{agent-turn-runner-DzGi5c4M.js → agent-turn-runner-rlaI8UZh.js} +2 -2
  12. package/dist/{agents-CqGOYUmk.js → agents-CcRZaVIM.js} +20 -20
  13. package/dist/{agents.config-CfQTsYDc.js → agents.config-BIAN7yD0.js} +3 -3
  14. package/dist/{agents.config-iuJI5Qb7.js → agents.config-BR-2_pQX.js} +1 -1
  15. package/dist/{api-uxkyeSmH.js → api-CoJEjegK.js} +1 -1
  16. package/dist/{api-key-rotation-CtZSwE0N.js → api-key-rotation-BfX7mRma.js} +1 -1
  17. package/dist/{artifacts-BjWykx-p.js → artifacts-mmiw3Aqi.js} +1 -1
  18. package/dist/{audio-preflight-BYkASiuL.js → audio-preflight-BeM0QH9O.js} +38 -38
  19. package/dist/{audio-preflight-CLEofd1a.js → audio-preflight-CPGaMcl9.js} +6 -6
  20. package/dist/{audio-transcription-runner-C6aQCxFd.js → audio-transcription-runner-1caiMqoM.js} +1 -1
  21. package/dist/{audio-transcription-runner-0S6456vW.js → audio-transcription-runner-BQ-xozUJ.js} +26 -26
  22. package/dist/{audit-DdxXEcHv.js → audit-DEW5Bp17.js} +33 -33
  23. package/dist/{audit-D7HwuhC3.js → audit-vLZ-GPkj.js} +3 -3
  24. package/dist/{auth-CZ7-R3rC.js → auth-CzqOUm43.js} +4 -4
  25. package/dist/{auth-choice-rhHVvoEZ.js → auth-choice-BgRokiZf.js} +17 -17
  26. package/dist/{auth-choice-_Ngg8dJn.js → auth-choice-DG23ZlyE.js} +13 -13
  27. package/dist/{auth-choice-DzVb3c4S.js → auth-choice-DIu_6W5c.js} +1 -1
  28. package/dist/{auth-choice.apply-helpers-BMrtYUQo.js → auth-choice.apply-helpers-BuqGJPas.js} +1 -1
  29. package/dist/{auth-token-DFBrANaQ.js → auth-token-Die78Dee.js} +2 -2
  30. package/dist/{banner-BqEUBSwB.js → banner-CpVH8pYW.js} +4 -4
  31. package/dist/{bonjour-discovery-CojQUMEO.js → bonjour-discovery-DsPDdJ75.js} +3 -3
  32. package/dist/{browser-cli-BOoKWbUB.js → browser-cli-Cfne-bZg.js} +21 -21
  33. package/dist/build-info.json +3 -3
  34. package/dist/bundled/boot-md/handler.js +2 -2
  35. package/dist/bundled/session-journal/handler.js +2 -2
  36. package/dist/bundled/session-memory/handler.js +2 -2
  37. package/dist/{call-BGJB7J3q.js → call-5i352x9j.js} +12 -12
  38. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  39. package/dist/{channel-account-context-B0BYG0hd.js → channel-account-context-BRw1RtQ_.js} +7 -7
  40. package/dist/{channel-activity-CUFBYpfH.js → channel-activity-C08pUdDN.js} +2 -2
  41. package/dist/{channel-options-C3u2Sg1X.js → channel-options-BAPGXbiT.js} +3 -3
  42. package/dist/{channel-options-C1IIAhgv.js → channel-options-Cz9kTenL.js} +1 -1
  43. package/dist/{channel-selection-A64KNpWH.js → channel-selection-EeyjFzad.js} +1 -1
  44. package/dist/{channels-cli-YNVo_J7T.js → channels-cli-BidTgEPd.js} +123 -123
  45. package/dist/{channels-cli-Dz1fY7Ks.js → channels-cli-DRrzM0ls.js} +22 -22
  46. package/dist/{channels-status-issues-BLHnC4d_.js → channels-status-issues-Cab9ixM6.js} +1 -1
  47. package/dist/{chrome-93M6AryA.js → chrome-BLqsc9fh.js} +6 -6
  48. package/dist/{chunk-BIErRWoV.js → chunk-CyVpre5Y.js} +3 -3
  49. package/dist/{clack-prompter-shjXV_CK.js → clack-prompter-ThJZQZ7f.js} +5 -5
  50. package/dist/{clawbot-cli-Cts0cOiE.js → clawbot-cli-wZlRKczI.js} +17 -17
  51. package/dist/cli/daemon-cli.js +1 -1
  52. package/dist/cli-BdacdmTo.js +166 -0
  53. package/dist/{cli-DKuWVT_o.js → cli-CmSRQF8z.js} +18 -18
  54. package/dist/{client-CcJEvW7d.js → client-EEggbMMG.js} +3 -3
  55. package/dist/{client-profiles-CDNULV1v.js → client-profiles-L4VajtTA.js} +2 -2
  56. package/dist/{clipboard-ueGeqjzM.js → clipboard-DHS-_ANO.js} +1 -1
  57. package/dist/{command-queue-g1tNC8Vs.js → command-queue-C9EZpC0r.js} +1 -1
  58. package/dist/{command-queue-BXX9dOOY.js → command-queue-Df8m2C14.js} +1 -1
  59. package/dist/{command-registry-D7a2MHeF.js → command-registry-DJ2RcG6i.js} +14 -14
  60. package/dist/{command-secret-targets-BX0CPQr-.js → command-secret-targets-BLUddYry.js} +4 -4
  61. package/dist/{commands-B4ce9Pyw.js → commands-DcCuNsWv.js} +1 -1
  62. package/dist/{commands-registry-CcbNhUWz.js → commands-registry-Dh2bmHYX.js} +3 -3
  63. package/dist/{completion-cli-Bw457ikU.js → completion-cli-CF1KcRLT.js} +16 -16
  64. package/dist/{completion-cli-BDOVwJNU.js → completion-cli-CSlJsSsc.js} +1 -1
  65. package/dist/{config-B_l7dU75.js → config-Wy1wQZjq.js} +58 -58
  66. package/dist/{config-cli-DdgtqEUK.js → config-cli-CeTT4CIX.js} +1 -1
  67. package/dist/{config-cli-BS_Dn2U3.js → config-cli-DzLfLd1l.js} +15 -15
  68. package/dist/{config-guard-D8pceOYu.js → config-guard-CxJY7cYj.js} +4 -4
  69. package/dist/{config-validation-bWS01yvf.js → config-validation-tSgClPKz.js} +4 -4
  70. package/dist/{configure-DyjgsBKI.js → configure-BvTYT92W.js} +3 -3
  71. package/dist/{configure-B3bu-lE9.js → configure-DY6FxXGJ.js} +25 -25
  72. package/dist/{control-ui-assets-Dz1n0dDI.js → control-ui-assets-CUNJ-wZT.js} +3 -3
  73. package/dist/{controller-CqvurxyG.js → controller-BSfjG3lf.js} +1 -1
  74. package/dist/{credentials-DcWx5UdN.js → credentials-CZpBSFEO.js} +1 -1
  75. package/dist/{cron-cli-stdpJx8z.js → cron-cli-CaLjTgrD.js} +16 -16
  76. package/dist/{daemon-cli-C2KlymGb.js → daemon-cli-kHqIPg4E.js} +19 -19
  77. package/dist/{daemon-install-Bb0jLWtP.js → daemon-install-D6QY6h-a.js} +11 -11
  78. package/dist/{daemon-install-helpers-D9sQQxjq.js → daemon-install-helpers-BpCzt6Hc.js} +13 -13
  79. package/dist/{deliver-DUBuu2uJ.js → deliver-CKHf6BfA.js} +11 -11
  80. package/dist/{deliver-C2Wz9PWj.js → deliver-iL5dyQ_w.js} +1 -1
  81. package/dist/{devices-cli-BhvJltFw.js → devices-cli-ysWdBZx4.js} +14 -14
  82. package/dist/{diagnostic-DuMnWlrO.js → diagnostic-CsiKdkkn.js} +4 -4
  83. package/dist/{diagnostic-C5wYymNQ.js → diagnostic-DBsNslQA.js} +1 -1
  84. package/dist/{diagnostics-brY1xU9j.js → diagnostics-DXe05OkI.js} +5 -5
  85. package/dist/{directory-cli-Brg7vqSd.js → directory-cli-Cnuwint-.js} +13 -13
  86. package/dist/{dm-policy-shared-yJEiBvgY.js → dm-policy-shared-BFynL_iX.js} +5 -5
  87. package/dist/{dns-cli-LuV21OdM.js → dns-cli-NCsBWdX6.js} +12 -12
  88. package/dist/{docs-cli-DjorWzOU.js → docs-cli-N_pc80nZ.js} +12 -12
  89. package/dist/{doctor-completion-C3mNG21F.js → doctor-completion-B1eLtCOM.js} +3 -3
  90. package/dist/{doctor-completion-BJHSi6k4.js → doctor-completion-B1qmR3tQ.js} +1 -1
  91. package/dist/{doctor-config-flow-CTSGH57H.js → doctor-config-flow-DDN0ovwf.js} +19 -19
  92. package/dist/{enable-Cg6VGOzr.js → enable-B1kzYvA6.js} +2 -2
  93. package/dist/entry.js +4 -4
  94. package/dist/{exec-B6VJhiff.js → exec-DtX60IXR.js} +2 -2
  95. package/dist/{exec-approvals-BsebcahG.js → exec-approvals-C4CZ1V0m.js} +2 -2
  96. package/dist/{exec-approvals-allowlist-BJCk_TPq.js → exec-approvals-allowlist-DlF01Fkm.js} +1 -1
  97. package/dist/{exec-approvals-cli-CpZFCJhK.js → exec-approvals-cli-DDsgcVGo.js} +26 -26
  98. package/dist/{exec-safe-bin-runtime-policy-DNVd_94E.js → exec-safe-bin-runtime-policy-BH45jyJz.js} +2 -2
  99. package/dist/{extension-relay-auth-Dicdw7Xi.js → extension-relay-auth-DeehlFvz.js} +10 -10
  100. package/dist/extensionAPI.js +2 -2
  101. package/dist/{fetch-B6tx3m8j.js → fetch-COk8GnL3.js} +5 -5
  102. package/dist/{fetch-guard-D9Baq9VL.js → fetch-guard-BpcmLYcl.js} +3 -3
  103. package/dist/{frontmatter-DTtFYkCc.js → frontmatter-pi3glMFx.js} +2 -2
  104. package/dist/{fs-safe-DDz2ygyq.js → fs-safe-DSWE-pxQ.js} +25 -25
  105. package/dist/{gateway-cli-DNzVSEgi.js → gateway-cli-BeaoqfXG.js} +41 -41
  106. package/dist/{gateway-cli-DCEGccnP.js → gateway-cli-yWMVCCLt.js} +222 -222
  107. package/dist/{gateway-rpc-c8XzfYDl.js → gateway-rpc-C2PqTIDi.js} +3 -3
  108. package/dist/{globals-NHZhvbUb.js → globals-DzEfsMsj.js} +11 -11
  109. package/dist/{gmail-setup-utils-D4Dn4Vqi.js → gmail-setup-utils-uAAzkjJP.js} +3 -3
  110. package/dist/{health-CohIvGFu.js → health-DDFoa_vd.js} +11 -11
  111. package/dist/{health-B9kSP1yr.js → health-DFxVZQP8.js} +2 -2
  112. package/dist/{health-format-BS-M5J8K.js → health-format-B1ElAx-F.js} +1 -1
  113. package/dist/{heartbeat-tick-CNXKuUx8.js → heartbeat-tick-CVUubxop.js} +2 -2
  114. package/dist/{help-format-Bsgr8mqL.js → help-format-aPNS9ayu.js} +1 -1
  115. package/dist/{helpers-BYFW2nSK.js → helpers-BNMarGmo.js} +1 -1
  116. package/dist/{hooks-cli-BC7PXwrl.js → hooks-cli-Il6c46Hj.js} +111 -111
  117. package/dist/{hooks-cli-UgeEAR7U.js → hooks-cli-WT_iEJLp.js} +19 -19
  118. package/dist/{hooks-status-n4KWKh1Y.js → hooks-status-xDCStRjI.js} +3 -3
  119. package/dist/{image-ops-BXRKcOTd.js → image-ops-CAEEQmlt.js} +11 -11
  120. package/dist/{incident-install-DRZu7hrx.js → incident-install-K_JM0Dou.js} +13 -13
  121. package/dist/index.js +22 -22
  122. package/dist/{inspect-C2g9LrbN.js → inspect-DNbhm85u.js} +4 -4
  123. package/dist/{install-safe-path-BqxzjzC-.js → install-safe-path-D7s18Vq0.js} +25 -25
  124. package/dist/{installs-yixcXYPn.js → installs-ttC39JR4.js} +10 -10
  125. package/dist/{ipv4-BcWFaVPH.js → ipv4-vPs-MXPy.js} +2 -2
  126. package/dist/{ir-CnD8edWb.js → ir-DkcivUQx.js} +8 -8
  127. package/dist/{issue-format-YjkCmJ-x.js → issue-format-C5dvpWCs.js} +1 -1
  128. package/dist/{lifecycle-core-BH4dnQtI.js → lifecycle-core-D4FpkyNE.js} +9 -9
  129. package/dist/{links-DtN6Zip4.js → links-DMJmXnBC.js} +1 -1
  130. package/dist/{live-repair-CbBURFc-.js → live-repair-Bz_jXKsv.js} +12 -12
  131. package/dist/llm-slug-generator.js +2 -2
  132. package/dist/{log-tail-DSgUyVuy.js → log-tail-3lDge34F.js} +7 -7
  133. package/dist/{logger-TMWfboh4.js → logger-BH0Ng0XL.js} +2 -2
  134. package/dist/{logging-DXugoHqu.js → logging-CSynrPc7.js} +1 -1
  135. package/dist/{logs-cli-BhvP6zOH.js → logs-cli-BpRiX5pm.js} +20 -20
  136. package/dist/{manager-DeJU6IQ3.js → manager-B9U2B9ZD.js} +17 -17
  137. package/dist/{manager-B2ZPvPP9.js → manager-CJIpzjld.js} +10 -10
  138. package/dist/{manager-Bw3BvR19.js → manager-DPzBUqR_.js} +1 -1
  139. package/dist/{markdown-tables-Cvm3FY0g.js → markdown-tables-DDn13kBS.js} +2 -2
  140. package/dist/{memory-cli-DWRwQYct.js → memory-cli-DhTo1Zod.js} +19 -19
  141. package/dist/{model-iLCMc1K1.js → model-DK1--R8G.js} +2 -2
  142. package/dist/{model-catalog-IZAm7vxT.js → model-catalog-Bo-Fyihc.js} +4 -4
  143. package/dist/{model-picker-TEQP1kqG.js → model-picker-yfyn372D.js} +4 -4
  144. package/dist/{models-C8nsMRLQ.js → models-DQ8P8kP3.js} +24 -24
  145. package/dist/{models-cli-C_tHirnw.js → models-cli-BgcR4Exx.js} +18 -18
  146. package/dist/{models-cli-B4xLIOFc.js → models-cli-DYWhxPkO.js} +111 -111
  147. package/dist/{models-config-COyV_5JN.js → models-config-DJTO7ngW.js} +7 -7
  148. package/dist/{node-cli-1r7DXmyR.js → node-cli-DWicnGBi.js} +3 -3
  149. package/dist/{node-cli-CcOYQNYG.js → node-cli-TVPaLcV6.js} +43 -43
  150. package/dist/{node-command-policy-DQ3xpsxF.js → node-command-policy-DXW0gACZ.js} +1 -1
  151. package/dist/{node-service-D4loK5LL.js → node-service-B2PMocVE.js} +1 -1
  152. package/dist/{nodes-cli-duW7tvW5.js → nodes-cli-D7zwQnbg.js} +26 -26
  153. package/dist/{nodes-screen-Cj7gGqy5.js → nodes-screen-BNh2me3N.js} +8 -8
  154. package/dist/{note-CzdXZOFH.js → note-CIEfvmda.js} +2 -2
  155. package/dist/{npm-pack-install-DC954ztS.js → npm-pack-install-DcfhfmQD.js} +23 -23
  156. package/dist/{npm-resolution-DjNRsPrE.js → npm-resolution-CfUBQFfN.js} +1 -1
  157. package/dist/{npm-resolution-7CvMNako.js → npm-resolution-D4Qm28gZ.js} +5 -5
  158. package/dist/{oauth-tls-preflight-D5qAcith.js → oauth-tls-preflight-S1P1M9Ik.js} +1 -1
  159. package/dist/{onboard-BRwdSaEZ.js → onboard-BvD9jey6.js} +2 -2
  160. package/dist/{onboard-DOq-9xkW.js → onboard-CBNCu0qo.js} +11 -11
  161. package/dist/{onboard-channels-DtFBZO3K.js → onboard-channels-Cfm1xNhD.js} +1 -1
  162. package/dist/{onboard-channels-RKPslaou.js → onboard-channels-F6-jE9Q4.js} +24 -24
  163. package/dist/{onboard-custom-B_IbBJHN.js → onboard-custom-DOGTl-wh.js} +4 -4
  164. package/dist/{onboard-helpers-CV2_sx_X.js → onboard-helpers-CrNbGK-_.js} +14 -14
  165. package/dist/{onboard-hooks-PDzAZcds.js → onboard-hooks-HF8fUNGq.js} +8 -8
  166. package/dist/{onboard-remote-Cc7ortQZ.js → onboard-remote-C3wAKiOr.js} +5 -5
  167. package/dist/{onboard-skills-D2WP55Qf.js → onboard-skills-_Y4g6XMV.js} +4 -4
  168. package/dist/{onboarding-CZB-jEDP.js → onboarding-D7zNU656.js} +18 -18
  169. package/dist/{onboarding-CUNJUHYe.js → onboarding-DAAosO4y.js} +3 -3
  170. package/dist/{onboarding.finalize-tQDsF0Ht.js → onboarding.finalize-DRyZQ35t.js} +23 -23
  171. package/dist/{onboarding.finalize-zo8Tr42K.js → onboarding.finalize-DswgDFUV.js} +119 -119
  172. package/dist/{onboarding.gateway-config-CcAYavIB.js → onboarding.gateway-config-B966E_Je.js} +18 -18
  173. package/dist/{onboarding.secret-input-hdMynEhM.js → onboarding.secret-input-rEXj_hwb.js} +1 -1
  174. package/dist/{openai-model-default-DgwEDHMc.js → openai-model-default-C7JSp9AY.js} +2 -2
  175. package/dist/{openclaw-root-CboPaWH8.js → openclaw-root-COWNwQGN.js} +2 -2
  176. package/dist/{operator-commands-DPTwKc1Q.js → operator-commands-Bt-GMvlt.js} +7 -7
  177. package/dist/{operator-commands-5zFJBNls.js → operator-commands-WclkbpNn.js} +2 -2
  178. package/dist/{outbound-attachment-eSRdTa0O.js → outbound-attachment-BqLrqvUz.js} +2 -2
  179. package/dist/{outbound-message-hooks-DCmApMZ7.js → outbound-message-hooks-BaL31mgo.js} +5 -5
  180. package/dist/{pairing-cli-BwAqmcbZ.js → pairing-cli--mX6NBbQ.js} +12 -12
  181. package/dist/{pairing-labels-Cmy5jzFo.js → pairing-labels-Cga04_F-.js} +1 -1
  182. package/dist/{pairing-store-C_emmXE4.js → pairing-store-baQ6verU.js} +3 -3
  183. package/dist/{path-alias-guards-Dn6kxDaO.js → path-alias-guards-CwFH4u4Y.js} +3 -3
  184. package/dist/{path-safety-BevSBibF.js → path-safety-bfKwXs6i.js} +1 -1
  185. package/dist/{pi-embedded-BXlLe43L.js → pi-embedded-C9hhorcY.js} +4 -4
  186. package/dist/{pi-embedded-w8WHdwfz.js → pi-embedded-DnsjQY9z.js} +4 -4
  187. package/dist/{pi-embedded-helpers-DIrkDh67.js → pi-embedded-helpers-BN8Yurrq.js} +8 -8
  188. package/dist/{pi-embedded-helpers-CGmQ4q3V.js → pi-embedded-helpers-CTXJgU8t.js} +1 -1
  189. package/dist/{pi-embedded-recovery-adapter-C-NuyPbb.js → pi-embedded-recovery-adapter-DZGloafF.js} +7 -7
  190. package/dist/{pi-embedded-recovery-adapter-B2XOvHxn.js → pi-embedded-recovery-adapter-bRl54qXI.js} +35 -35
  191. package/dist/{pi-embedded-utils-BdxZbV9G.js → pi-embedded-utils-CKNzzRk4.js} +1 -1
  192. package/dist/{pi-embedded-utils-CPX6p6Wq.js → pi-embedded-utils-DbCTbP_M.js} +2 -2
  193. package/dist/{pi-model-discovery-xwVo_Za1.js → pi-model-discovery-YsMuufO6.js} +1 -1
  194. package/dist/{pi-tools.policy-CeC8xqRL.js → pi-tools.policy-D4DT9S9M.js} +1 -1
  195. package/dist/{pid-alive-C13jc975.js → pid-alive-BkVX-P5U.js} +1 -1
  196. package/dist/{plugin-owned-work-recovery-adapter-CTpAqPxI.js → plugin-owned-work-recovery-adapter-qw7iAOXJ.js} +9 -9
  197. package/dist/{plugin-registry-B2PFGUgH.js → plugin-registry-Bb5cRSlw.js} +1 -1
  198. package/dist/{plugin-registry-B9UcnywB.js → plugin-registry-CctiIjXS.js} +4 -4
  199. package/dist/plugin-sdk/{agent-turn-execute-CvcGPIWd.js → agent-turn-execute-DLOD3wIK.js} +12 -12
  200. package/dist/plugin-sdk/{agent-turn-execute-Du5-PizP.js → agent-turn-execute-DiYinYcI.js} +2 -2
  201. package/dist/plugin-sdk/{agent-turn-runner-Dy2l1QuN.js → agent-turn-runner-BB3xBOkd.js} +3 -3
  202. package/dist/plugin-sdk/{agent-turn-runner-L6nWVyBs.js → agent-turn-runner-CP3CvHV_.js} +4 -4
  203. package/dist/plugin-sdk/{agent-turn-runner-BeIHlu2z.js → agent-turn-runner-Dz8mhXhJ.js} +1 -1
  204. package/dist/plugin-sdk/{audio-preflight-CVnT3CVi.js → audio-preflight-CdnIoP9g.js} +5 -5
  205. package/dist/plugin-sdk/{audio-transcription-runner-ff3d2MOe.js → audio-transcription-runner-ErPyMiHI.js} +1 -1
  206. package/dist/plugin-sdk/{chrome-D_wgFXHF.js → chrome-2r09CGaD.js} +8 -8
  207. package/dist/plugin-sdk/{command-detection-BRxqdaeL.js → command-detection-BHkl3aqL.js} +8 -8
  208. package/dist/plugin-sdk/{command-queue-CoRZcHy1.js → command-queue-BBOur699.js} +1 -1
  209. package/dist/plugin-sdk/{deliver-Cysu3ebt.js → deliver-0l2lZQiz.js} +3 -3
  210. package/dist/plugin-sdk/{deliver-BPg9MhVY.js → deliver-oSzFg9Zh.js} +1 -1
  211. package/dist/plugin-sdk/{diagnostic-CxHjTbyN.js → diagnostic-DQU_mY9i.js} +1 -1
  212. package/dist/plugin-sdk/index.js +2 -2
  213. package/dist/plugin-sdk/{pi-embedded-helpers-3gQz4b-b.js → pi-embedded-helpers-CNresdUf.js} +3 -3
  214. package/dist/plugin-sdk/{pi-embedded-utils-B49ia5m9.js → pi-embedded-utils-BEsRXBxc.js} +1 -1
  215. package/dist/plugin-sdk/{provider-dispatcher-B6b1Tdf0.js → provider-dispatcher-B8jJvLuR.js} +12 -12
  216. package/dist/plugin-sdk/{provider-dispatcher-B_iAXu2L.js → provider-dispatcher-hEp4znDa.js} +2 -2
  217. package/dist/plugin-sdk/{provider-image-VB9UOYSc.js → provider-image-CLWV4QQx.js} +4 -4
  218. package/dist/plugin-sdk/{provider-image-BKK0zQaJ.js → provider-image-WXG9I5WJ.js} +1 -1
  219. package/dist/plugin-sdk/{pw-ai-Zbmk8kti.js → pw-ai-kQB2ywnc.js} +1 -1
  220. package/dist/plugin-sdk/{runs-BmnkOAK5.js → runs-BcvvvV1J.js} +5 -5
  221. package/dist/plugin-sdk/{runs-Cr3XjmfA.js → runs-DE0G2LLI.js} +3 -3
  222. package/dist/plugin-sdk/{send-BrY7hRBo.js → send-CAiazzHI.js} +1 -1
  223. package/dist/plugin-sdk/{send-BcjKhfe8.js → send-Cn7YLM0P.js} +2 -2
  224. package/dist/plugin-sdk/{subagent-registry-BKwSNawW.js → subagent-registry-DD2djKv0.js} +2 -2
  225. package/dist/plugin-sdk/{subagent-registry-CIa1HABo.js → subagent-registry-UCbHoVJ2.js} +12 -12
  226. package/dist/plugin-sdk/testing.js +12 -12
  227. package/dist/plugin-sdk/{tools-DaFWYu0p.js → tools-yY7tjcsw.js} +35 -35
  228. package/dist/{plugins-cli-1_-Vf-1l.js → plugins-cli-6xqfmKxn.js} +114 -114
  229. package/dist/{plugins-cli-DksAX0ZH.js → plugins-cli-BhFLmnOz.js} +19 -19
  230. package/dist/{polling-timeout-CkFkpq_s.js → polling-timeout-x98FlzJG.js} +3 -3
  231. package/dist/{ports-dAGF3BJj.js → ports-B3y3yrTs.js} +2 -2
  232. package/dist/{ports-CLSVg-y-.js → ports-BzAUXaPL.js} +3 -3
  233. package/dist/{program-CBA0lcpg.js → program-C9Qgghl2.js} +110 -110
  234. package/dist/{program-context-DT5nb3SH.js → program-context-1o3YvOVB.js} +22 -22
  235. package/dist/{progress-C9R_51fN.js → progress-B5oGktxz.js} +2 -2
  236. package/dist/{prompt-select-styled-6JwLDntm.js → prompt-select-styled-BQSHxNZN.js} +50 -50
  237. package/dist/{prompt-select-styled-NPt5vMpO.js → prompt-select-styled-Nu1AAYTo.js} +7 -7
  238. package/dist/{prompt-style-B28wDUyJ.js → prompt-style-0wL61aMk.js} +1 -1
  239. package/dist/{provider-auth-helpers-CEgvqik4.js → provider-auth-helpers-SxWqAhy1.js} +6 -6
  240. package/dist/{provider-image-g7zj1qnV.js → provider-image-BNv43756.js} +1 -1
  241. package/dist/{provider-image-aaxt6RAc.js → provider-image-GRI3ijiz.js} +6 -6
  242. package/dist/{proxy-CkTukFRT.js → proxy-ZTZCSX-m.js} +1 -1
  243. package/dist/{proxy-env-C4AxlnMs.js → proxy-env-CCYLPZqe.js} +1 -1
  244. package/dist/{proxy-fetch-1FMAlfeR.js → proxy-fetch-CZr5_YhZ.js} +1 -1
  245. package/dist/{push-apns-CFg1Pls0.js → push-apns-BBk7vMkD.js} +2 -2
  246. package/dist/{push-apns-CzI1yOz3.js → push-apns-CQyCSGes.js} +10 -10
  247. package/dist/{pw-ai-CdFOuZvs.js → pw-ai-DbW_Bkcx.js} +1 -1
  248. package/dist/{pw-ai-Dt33khMR.js → pw-ai-ge-z9mqK.js} +20 -20
  249. package/dist/{qmd-manager-BhetUUi5.js → qmd-manager-CUcr1mRz.js} +25 -25
  250. package/dist/{qr-cli-B_Pgraov.js → qr-cli-DGwCKU0G.js} +8 -8
  251. package/dist/{query-expansion-DMbjUCTJ.js → query-expansion-B4NP6yYt.js} +14 -14
  252. package/dist/{reconcile-bundled-BoVqHall.js → reconcile-bundled-4XBos81c.js} +3 -3
  253. package/dist/{recorder-BvsmIV06.js → recorder-B0k_MKgq.js} +4 -4
  254. package/dist/{recovery-adapter-B4vChz-g.js → recovery-adapter-BIlkWPdE.js} +3 -3
  255. package/dist/{recovery-adapter-CKVSN97E.js → recovery-adapter-Bo68TZ6b.js} +2 -2
  256. package/dist/{recovery-adapter-CceBubi1.js → recovery-adapter-Ch6Lpdvn.js} +3 -3
  257. package/dist/{recovery-adapter-mRcci7h2.js → recovery-adapter-DwNfvaLJ.js} +1 -1
  258. package/dist/{recovery-adapter-AyGJinhV.js → recovery-adapter-oenmjmOn.js} +7 -7
  259. package/dist/{recovery-prompt-DqlKavmj.js → recovery-prompt-TDeXDlMW.js} +1 -1
  260. package/dist/{redact-snapshot-DN2rZBNX.js → redact-snapshot-A7NLIiwR.js} +5 -5
  261. package/dist/{register.agent-DutRzrDw.js → register.agent-B9Hg0vf2.js} +21 -21
  262. package/dist/{register.agent-Bn9JYMpq.js → register.agent-D3_1aKeG.js} +124 -124
  263. package/dist/register.configure-4XbHAmwj.js +170 -0
  264. package/dist/{register.configure-xWvz_EH_.js → register.configure-DAnWVJBA.js} +22 -22
  265. package/dist/{register.maintenance-C-WBHuPN.js → register.maintenance-CC3S9JmF.js} +131 -131
  266. package/dist/{register.maintenance-CVWnFB5G.js → register.maintenance-Chb5KnZ1.js} +24 -24
  267. package/dist/{register.message-DeS_ZYNe.js → register.message-Bq38RXah.js} +104 -104
  268. package/dist/{register.message-CAfIrnM2.js → register.message-DLtovAgJ.js} +19 -19
  269. package/dist/{register.onboard-C0OyLZD3.js → register.onboard-4vT5Xjc4.js} +2 -2
  270. package/dist/{register.onboard-DD2wOgqE.js → register.onboard-BMXxAu95.js} +23 -23
  271. package/dist/{register.setup-BbohcO_k.js → register.setup-D2bCcb0v.js} +2 -2
  272. package/dist/{register.setup-CBDKdAuo.js → register.setup-fpmCv1_b.js} +28 -28
  273. package/dist/{register.status-health-sessions-B6c4a4og.js → register.status-health-sessions-Ds4IsnQw.js} +121 -121
  274. package/dist/{register.status-health-sessions-8pYJLyOn.js → register.status-health-sessions-RCBhd23C.js} +21 -21
  275. package/dist/{register.subclis-Cl9g9lxA.js → register.subclis-BkKWZGVK.js} +34 -34
  276. package/dist/{replay-DTUqQwQf.js → replay-SxJXbQMf.js} +1 -1
  277. package/dist/{replies-zxrU3Tlk.js → replies-CI-WAhGv.js} +4 -4
  278. package/dist/{reply-CBqjA8n7.js → reply-Ct_Nttkg.js} +27 -27
  279. package/dist/{reply-directives-C7J_kRAY.js → reply-directives-DjJmEA55.js} +2 -2
  280. package/dist/{reply-prefix-DQs4kcQX.js → reply-prefix-EVut-MnZ.js} +1 -1
  281. package/dist/{resolve-route-c5P6_dQM.js → resolve-route-B5nwCVT3.js} +5 -5
  282. package/dist/{rpc-DzvZPivH.js → rpc-Dg7Qb-TD.js} +3 -3
  283. package/dist/{run-main-D4QMp_dA.js → run-main-DFrkQ_9h.js} +123 -123
  284. package/dist/{runs-aQfLgwCB.js → runs-DD81n7Ms.js} +3 -3
  285. package/dist/{runs-DSFjMpng.js → runs-fddM4kFw.js} +7 -7
  286. package/dist/{runtime-Cr79MQoI.js → runtime-B9bvj6Qk.js} +4 -4
  287. package/dist/{runtime-config-collectors-do8FUpaL.js → runtime-config-collectors-0bUIcOaI.js} +1 -1
  288. package/dist/{runtime-guard-B1qwuALe.js → runtime-guard-D9TCGAy5.js} +1 -1
  289. package/dist/{sandbox-BWNy2kKu.js → sandbox-CTl9v7Zl.js} +19 -19
  290. package/dist/{sandbox-Cwa9IoDE.js → sandbox-DOTsK9wx.js} +1 -1
  291. package/dist/{sandbox-cli-OzJuP-NO.js → sandbox-cli-Dbco2fmj.js} +29 -29
  292. package/dist/{sandbox-cli-D7bBMoyk.js → sandbox-cli-Dni8o7vC.js} +2 -2
  293. package/dist/{secrets-cli-CuDyP904.js → secrets-cli-DF_Gm1ne.js} +18 -18
  294. package/dist/{security-cli-DG2tPUA1.js → security-cli-Csr_oecn.js} +4 -4
  295. package/dist/{security-cli-CuUjDnHc.js → security-cli-PByAeZXI.js} +46 -46
  296. package/dist/{send-DnUxCZe9.js → send-BgWc92i5.js} +7 -7
  297. package/dist/{send-2z5d8MNL.js → send-Byoa_3gu.js} +1 -1
  298. package/dist/{send-CCM9Q6bQ.js → send-CrP3wO_5.js} +15 -15
  299. package/dist/{send-D7jSVo_g.js → send-DLkrlosm.js} +6 -6
  300. package/dist/{send-B7qZuE28.js → send-DiY7W1su.js} +14 -14
  301. package/dist/{send-D20u05DD.js → send-wFJCwq2b.js} +6 -6
  302. package/dist/{server-DwmiIbpy.js → server-BL9VNWdw.js} +26 -26
  303. package/dist/{server-C7fLuSa8.js → server-CDY9yWOl.js} +4 -4
  304. package/dist/{server-context-DynQOaQg.js → server-context-9rNFuDom.js} +12 -12
  305. package/dist/{server-context-8stiwx24.js → server-context-Bj1ur5Oz.js} +2 -2
  306. package/dist/{server-lifecycle-BIVcQYRv.js → server-lifecycle-Bp3jx730.js} +1 -1
  307. package/dist/{server-lifecycle-D6K5clGz.js → server-lifecycle-DSO272t7.js} +3 -3
  308. package/dist/{server-middleware-v9W3NbYv.js → server-middleware-DYNp96xm.js} +1 -1
  309. package/dist/{server-node-events-BMt_M17o.js → server-node-events-BwK321yc.js} +104 -104
  310. package/dist/{server-node-events-BSBNXNIr.js → server-node-events-DgxhwOwJ.js} +19 -19
  311. package/dist/{service-sEfdnvlL.js → service-Bgu5Jb1v.js} +15 -15
  312. package/dist/{session-consumer-agents-UmHVjny8.js → session-consumer-agents-DAH-kXNx.js} +1 -1
  313. package/dist/{session-consumer-claim-sweep-Cj9dsF9C.js → session-consumer-claim-sweep-BSXd3X9B.js} +9 -9
  314. package/dist/{session-cost-usage-LPAN7gwx.js → session-cost-usage-EMOsv4X6.js} +3 -3
  315. package/dist/{session-key-DOZk0n1g.js → session-key-DUkQn_1S.js} +1 -1
  316. package/dist/{session-key-resolution-hIMY6OcY.js → session-key-resolution-CJwcMEFa.js} +5 -5
  317. package/dist/{session-meta-BDUMkHJb.js → session-meta-fp99Ucj0.js} +2 -2
  318. package/dist/{session-storage-Q7_7zqHG.js → session-storage-Cv--6bmD.js} +8 -8
  319. package/dist/{session-utils-DgeX06NV.js → session-utils-CqNuZUiP.js} +8 -8
  320. package/dist/{session-visibility-nhFy_Gw1.js → session-visibility-DDVDfSgP.js} +1 -1
  321. package/dist/{sessions-BxMxYroM.js → sessions-07wpEhac.js} +6 -6
  322. package/dist/{sessions-DZ8P5diO.js → sessions-BZDMSv9h.js} +18 -18
  323. package/dist/{sessions-C_jFLMEh.js → sessions-BwZJJVht.js} +6 -6
  324. package/dist/{sessions-claims-status-t1wpfQOP.js → sessions-claims-status-oxEV_8dP.js} +13 -13
  325. package/dist/{shared-CJ6JfVC4.js → shared-CMnRp0WD.js} +4 -4
  326. package/dist/{shared-obDhggWf.js → shared-D-BmVOFv.js} +2 -2
  327. package/dist/{skill-commands-B7CuemwQ.js → skill-commands-D8oby-tg.js} +7 -7
  328. package/dist/{skill-scanner-BxTzIAOh.js → skill-scanner-CZtMQPss.js} +7 -7
  329. package/dist/{skills-cli-BbHYlMC7.js → skills-cli-n5H-N1cq.js} +11 -11
  330. package/dist/{skills-install-DVhyMvdI.js → skills-install--byu1k9q.js} +10 -10
  331. package/dist/{skills-DeS5IuN9.js → skills-is3ptAyK.js} +7 -7
  332. package/dist/{skills-status-C7Zpodqv.js → skills-status-W21GYLbg.js} +4 -4
  333. package/dist/{status-B_6KFA2c.js → status-BfyTowAG.js} +38 -38
  334. package/dist/{status-KfElvy9J.js → status-D4HIujTf.js} +5 -5
  335. package/dist/{status.update-BMspb099.js → status.update-B1eq7pdk.js} +2 -2
  336. package/dist/{store-DJzisOaQ.js → store-DhI4pUSq.js} +7 -7
  337. package/dist/{subsystem-CnWdoPKw.js → subsystem-hb8IlZoK.js} +1 -1
  338. package/dist/{supervisor-BQDbdMGN.js → supervisor-Zyuzbqyy.js} +2 -2
  339. package/dist/{supervisor-recovery-adapter-N6EUk8-8.js → supervisor-recovery-adapter-DTYM-NtU.js} +9 -9
  340. package/dist/{system-cli-B0-oIiYA.js → system-cli-_hIBzh2q.js} +15 -15
  341. package/dist/{system-run-command-CM2z0iTS.js → system-run-command-s2Tv4J5i.js} +2 -2
  342. package/dist/{systemd-5fQ38YAS.js → systemd-T59ZX7hx.js} +11 -11
  343. package/dist/{systemd-hints-Bg_lvqW1.js → systemd-hints-CvSycleX.js} +9 -9
  344. package/dist/{systemd-linger-C20mA76T.js → systemd-linger-DO8CH_6c.js} +2 -2
  345. package/dist/{table-Dh1-mIyu.js → table-D3ffCcko.js} +2 -2
  346. package/dist/{tables-DR5pT4X-.js → tables-B4TgPkaN.js} +1 -1
  347. package/dist/{tailnet-CzWmlGVj.js → tailnet-WoH6OAwd.js} +1 -1
  348. package/dist/{tailscale-CvPUJvZS.js → tailscale-CZstSM_6.js} +2 -2
  349. package/dist/{task-pipeline-boot-Ce3PbnWC.js → task-pipeline-boot-KeVASmJb.js} +19 -19
  350. package/dist/{task-pipeline-boot-BrIBh2as.js → task-pipeline-boot-fQcIficV.js} +103 -103
  351. package/dist/{task-runlog-retention-Ccy6500r.js → task-runlog-retention-BL9X61tX.js} +2 -2
  352. package/dist/{task-runlog-retention-CKaDA84s.js → task-runlog-retention-_NAHcblu.js} +5 -5
  353. package/dist/{tasks-Bb8K1o9w.js → tasks-COKlHjUw.js} +13 -13
  354. package/dist/{tokens-ZXYKMPyD.js → tokens-Cv29oi2m.js} +1 -1
  355. package/dist/{tool-display-DorcgRYO.js → tool-display-C4RBYVSp.js} +1 -1
  356. package/dist/{tool-loop-detection-I5BtAA42.js → tool-loop-detection-HY9HSq9r.js} +2 -2
  357. package/dist/{trash-n9DbVlPq.js → trash-C7Ej284e.js} +3 -3
  358. package/dist/{tui-ryPvmZxo.js → tui-cfhCpw02.js} +9 -9
  359. package/dist/{tui-cli-CUysqEul.js → tui-cli-B2wBAyhp.js} +4 -4
  360. package/dist/{tui-cli-DWng-d8I.js → tui-cli-BWFTsmKk.js} +34 -34
  361. package/dist/{tui-AmM0FZrJ.js → tui-kMJhhJ7-.js} +1 -1
  362. package/dist/{update-DHDJZALz.js → update-DuRR-bjT.js} +3 -3
  363. package/dist/{update-cli-BiiWrX-b.js → update-cli-BVU7mNge.js} +141 -141
  364. package/dist/{update-cli-BoBS_5AA.js → update-cli-DcR4OrvV.js} +24 -24
  365. package/dist/{update-runner-tH30mnIz.js → update-runner-BChTTDr6.js} +18 -18
  366. package/dist/{update-runner-W_Tfzgw5.js → update-runner-Bv7o_DkR.js} +1 -1
  367. package/dist/{user-run-recording-8SPArkeP.js → user-run-recording-CXcaMyeC.js} +2 -2
  368. package/dist/{validation-cli-DHYbbZSf.js → validation-cli-BtMLqpQV.js} +103 -103
  369. package/dist/{validation-cli-lq97iRX5.js → validation-cli-DWr4aaEj.js} +19 -19
  370. package/dist/{web-cli-DI1nu_Wf.js → web-cli-BaKAD5an.js} +3 -3
  371. package/dist/{web-client-assets-OrZLUEre.js → web-client-assets-QQcA7AGj.js} +1 -1
  372. package/dist/{webhooks-cli-hHB0C7Z_.js → webhooks-cli-DskNYYRT.js} +13 -13
  373. package/dist/{widearea-dns-C8y2THbl.js → widearea-dns-B-wnhlHs.js} +1 -1
  374. package/dist/{with-timeout-DaYVHGfP.js → with-timeout-CQ_KubTO.js} +2 -2
  375. package/dist/{with-timeout-CJixlkca.js → with-timeout-CumbEUij.js} +6 -6
  376. package/dist/{workspace-sbrDBGDT.js → workspace-CbjGomBJ.js} +3 -3
  377. package/dist/{workspace-dirs-BHMnsvJx.js → workspace-dirs-DTAkF1kC.js} +1 -1
  378. package/dist/{ws-DIjS49am.js → ws-Bq_zwewv.js} +2 -2
  379. package/dist/{wsl-BJW8nTyL.js → wsl-CgXDjE09.js} +2 -2
  380. package/extensions/acpx/package.json +1 -1
  381. package/extensions/anthropic/package.json +1 -1
  382. package/extensions/bifrost/package.json +1 -1
  383. package/extensions/bluebubbles/package.json +1 -1
  384. package/extensions/copilot-proxy/package.json +1 -1
  385. package/extensions/deepgram/package.json +1 -1
  386. package/extensions/deepinfra/package.json +1 -1
  387. package/extensions/diagnostics-otel/package.json +1 -1
  388. package/extensions/diffs/package.json +1 -1
  389. package/extensions/discord/package.json +1 -1
  390. package/extensions/dream-cycle/package.json +1 -1
  391. package/extensions/elevenlabs/package.json +1 -1
  392. package/extensions/feishu/package.json +1 -1
  393. package/extensions/gemini-search/package.json +1 -1
  394. package/extensions/google/package.json +1 -1
  395. package/extensions/google-gemini-cli-auth/package.json +1 -1
  396. package/extensions/googlechat/package.json +1 -1
  397. package/extensions/grok-search/package.json +1 -1
  398. package/extensions/groq/package.json +1 -1
  399. package/extensions/imessage/package.json +1 -1
  400. package/extensions/irc/package.json +1 -1
  401. package/extensions/kimi-search/package.json +1 -1
  402. package/extensions/learning-core/package.json +1 -1
  403. package/extensions/line/package.json +1 -1
  404. package/extensions/llm-task/package.json +1 -1
  405. package/extensions/lobster/package.json +1 -1
  406. package/extensions/matrix/CHANGELOG.md +1 -1
  407. package/extensions/matrix/package.json +1 -1
  408. package/extensions/mattermost/package.json +1 -1
  409. package/extensions/memory-core/package.json +1 -1
  410. package/extensions/memory-lancedb/package.json +1 -1
  411. package/extensions/minimax/package.json +1 -1
  412. package/extensions/minimax-portal-auth/package.json +1 -1
  413. package/extensions/mistral/package.json +1 -1
  414. package/extensions/moonshot/package.json +1 -1
  415. package/extensions/msteams/CHANGELOG.md +1 -1
  416. package/extensions/msteams/package.json +1 -1
  417. package/extensions/nextcloud-talk/package.json +1 -1
  418. package/extensions/nostr/CHANGELOG.md +1 -1
  419. package/extensions/nostr/package.json +1 -1
  420. package/extensions/open-prose/package.json +1 -1
  421. package/extensions/openai/package.json +1 -1
  422. package/extensions/openai-realtime/package.json +1 -1
  423. package/extensions/openrouter/package.json +1 -1
  424. package/extensions/perplexity-search/package.json +1 -1
  425. package/extensions/searxng-search/package.json +1 -1
  426. package/extensions/signal/package.json +1 -1
  427. package/extensions/slack/package.json +1 -1
  428. package/extensions/synology-chat/package.json +1 -1
  429. package/extensions/telegram/package.json +1 -1
  430. package/extensions/tlon/package.json +1 -1
  431. package/extensions/twitch/CHANGELOG.md +1 -1
  432. package/extensions/twitch/package.json +1 -1
  433. package/extensions/voice-call/CHANGELOG.md +1 -1
  434. package/extensions/voice-call/package.json +1 -1
  435. package/extensions/whatsapp/package.json +1 -1
  436. package/extensions/zai/package.json +1 -1
  437. package/extensions/zalo/CHANGELOG.md +1 -1
  438. package/extensions/zalo/package.json +1 -1
  439. package/extensions/zalouser/CHANGELOG.md +1 -1
  440. package/extensions/zalouser/package.json +1 -1
  441. package/package.json +1 -1
  442. package/dist/cli-Bao_Zkv0.js +0 -166
  443. package/dist/register.configure-CE9sH5t0.js +0 -170
@@ -1,7 +1,7 @@
1
- import { n as runExec } from "./exec-B6VJhiff.js";
1
+ import { n as runExec } from "./exec-DtX60IXR.js";
2
2
  import os from "node:os";
3
3
  import path from "node:path";
4
- import fs from "node:fs/promises";
4
+ import fsPromises from "node:fs/promises";
5
5
  import { fileTypeFromBuffer } from "file-type";
6
6
 
7
7
  //#region src/media/constants.ts
@@ -237,11 +237,11 @@ function readJpegExifOrientation(buffer) {
237
237
  return null;
238
238
  }
239
239
  async function withTempDir(fn) {
240
- const dir = await fs.mkdtemp(path.join(os.tmpdir(), "openclaw-img-"));
240
+ const dir = await fsPromises.mkdtemp(path.join(os.tmpdir(), "openclaw-img-"));
241
241
  try {
242
242
  return await fn(dir);
243
243
  } finally {
244
- await fs.rm(dir, {
244
+ await fsPromises.rm(dir, {
245
245
  recursive: true,
246
246
  force: true
247
247
  }).catch(() => {});
@@ -250,7 +250,7 @@ async function withTempDir(fn) {
250
250
  async function sipsMetadataFromBuffer(buffer) {
251
251
  return await withTempDir(async (dir) => {
252
252
  const input = path.join(dir, "in.img");
253
- await fs.writeFile(input, buffer);
253
+ await fsPromises.writeFile(input, buffer);
254
254
  const { stdout } = await runExec("/usr/bin/sips", [
255
255
  "-g",
256
256
  "pixelWidth",
@@ -278,7 +278,7 @@ async function sipsResizeToJpeg(params) {
278
278
  return await withTempDir(async (dir) => {
279
279
  const input = path.join(dir, "in.img");
280
280
  const output = path.join(dir, "out.jpg");
281
- await fs.writeFile(input, params.buffer);
281
+ await fsPromises.writeFile(input, params.buffer);
282
282
  await runExec("/usr/bin/sips", [
283
283
  "-Z",
284
284
  String(Math.max(1, Math.round(params.maxSide))),
@@ -295,14 +295,14 @@ async function sipsResizeToJpeg(params) {
295
295
  timeoutMs: 2e4,
296
296
  maxBuffer: 1024 * 1024
297
297
  });
298
- return await fs.readFile(output);
298
+ return await fsPromises.readFile(output);
299
299
  });
300
300
  }
301
301
  async function sipsConvertToJpeg(buffer) {
302
302
  return await withTempDir(async (dir) => {
303
303
  const input = path.join(dir, "in.heic");
304
304
  const output = path.join(dir, "out.jpg");
305
- await fs.writeFile(input, buffer);
305
+ await fsPromises.writeFile(input, buffer);
306
306
  await runExec("/usr/bin/sips", [
307
307
  "-s",
308
308
  "format",
@@ -314,7 +314,7 @@ async function sipsConvertToJpeg(buffer) {
314
314
  timeoutMs: 2e4,
315
315
  maxBuffer: 1024 * 1024
316
316
  });
317
- return await fs.readFile(output);
317
+ return await fsPromises.readFile(output);
318
318
  });
319
319
  }
320
320
  async function getImageMetadata(buffer) {
@@ -365,7 +365,7 @@ async function sipsApplyOrientation(buffer, orientation) {
365
365
  return await withTempDir(async (dir) => {
366
366
  const input = path.join(dir, "in.jpg");
367
367
  const output = path.join(dir, "out.jpg");
368
- await fs.writeFile(input, buffer);
368
+ await fsPromises.writeFile(input, buffer);
369
369
  await runExec("/usr/bin/sips", [
370
370
  ...ops,
371
371
  input,
@@ -375,7 +375,7 @@ async function sipsApplyOrientation(buffer, orientation) {
375
375
  timeoutMs: 2e4,
376
376
  maxBuffer: 1024 * 1024
377
377
  });
378
- return await fs.readFile(output);
378
+ return await fsPromises.readFile(output);
379
379
  });
380
380
  }
381
381
  async function resizeToJpeg(params) {
@@ -1,24 +1,24 @@
1
- import "./globals-NHZhvbUb.js";
1
+ import "./globals-DzEfsMsj.js";
2
2
  import "./paths-BMo6kTge.js";
3
- import { t as createSubsystemLogger } from "./subsystem-CnWdoPKw.js";
3
+ import { t as createSubsystemLogger } from "./subsystem-hb8IlZoK.js";
4
4
  import "./boolean-C71HJEcH.js";
5
- import { $r as assetMarkerPath, Wr as FROZEN_INCIDENT_PHASES, Xr as registerManifest, ai as writeAssetMarker, ei as dispositionPath, oi as writeDisposition, qr as discoverManifests, ri as readDisposition } from "./config-B_l7dU75.js";
5
+ import { $r as assetMarkerPath, Wr as FROZEN_INCIDENT_PHASES, Xr as registerManifest, ai as writeAssetMarker, ei as dispositionPath, oi as writeDisposition, qr as discoverManifests, ri as readDisposition } from "./config-Wy1wQZjq.js";
6
6
  import "./version-D_9__Xw6.js";
7
- import "./agent-scope-Ppgyx_kd.js";
8
- import "./logger-TMWfboh4.js";
9
- import "./exec-B6VJhiff.js";
7
+ import "./agent-scope-CxydHZjT.js";
8
+ import "./logger-BH0Ng0XL.js";
9
+ import "./exec-DtX60IXR.js";
10
10
  import "./github-copilot-token-DS1iTsaA.js";
11
- import "./pid-alive-C13jc975.js";
12
- import { a as SAFE_SESSION_ID_RE, p as resolveSessionTranscriptsDirForAgent, r as isSessionArchiveArtifactName, t as formatSessionArchiveTimestamp } from "./artifacts-BjWykx-p.js";
11
+ import "./pid-alive-BkVX-P5U.js";
12
+ import { a as SAFE_SESSION_ID_RE, p as resolveSessionTranscriptsDirForAgent, r as isSessionArchiveArtifactName, t as formatSessionArchiveTimestamp } from "./artifacts-mmiw3Aqi.js";
13
13
  import "./retry-policy-FBwX2QEP.js";
14
14
  import "./task-run-types-B6n0W8Rb.js";
15
15
  import "./redact-dcExQ0l1.js";
16
16
  import "./errors-DZFFjLFB.js";
17
17
  import "./static-server-CSKym6UB.js";
18
18
  import { t as issueGenerationId } from "./generation-id-Cfm5-_X3.js";
19
- import { n as createRecoverySessionKeyResolver } from "./session-key-resolution-hIMY6OcY.js";
19
+ import { n as createRecoverySessionKeyResolver } from "./session-key-resolution-CJwcMEFa.js";
20
20
  import path from "node:path";
21
- import fs from "node:fs/promises";
21
+ import fsPromises from "node:fs/promises";
22
22
  import { createHash } from "node:crypto";
23
23
 
24
24
  //#region src/config/sessions/recovery-incident-manifest-2026-08-27.json
@@ -102,7 +102,7 @@ async function readSource(filePath) {
102
102
  try {
103
103
  return {
104
104
  status: "ok",
105
- bytes: await fs.readFile(filePath)
105
+ bytes: await fsPromises.readFile(filePath)
106
106
  };
107
107
  } catch (error) {
108
108
  if (error.code === "ENOENT") return { status: "absent" };
@@ -127,7 +127,7 @@ async function verifyRow(row, locator) {
127
127
  const prefix = `${row.sessionId}.jsonl.`;
128
128
  let names;
129
129
  try {
130
- names = (await fs.readdir(sessionsDir)).toSorted();
130
+ names = (await fsPromises.readdir(sessionsDir)).toSorted();
131
131
  } catch {
132
132
  names = [];
133
133
  }
@@ -195,7 +195,7 @@ async function writeRowDisposition(stateDir, sessionId, disposition, reason) {
195
195
  }
196
196
  async function assetMarkerPresent(stateDir) {
197
197
  try {
198
- await fs.readFile(assetMarkerPath(stateDir, INCIDENT_ASSET_ID));
198
+ await fsPromises.readFile(assetMarkerPath(stateDir, INCIDENT_ASSET_ID));
199
199
  return true;
200
200
  } catch (error) {
201
201
  if (error.code === "ENOENT") return false;
package/dist/index.js CHANGED
@@ -2,7 +2,7 @@
2
2
  import "./paths-BBP4yd-2.js";
3
3
  import { A as setVerbose, F as isRich, Ft as getVerboseFlag, I as theme, It as hasFlag, Lt as hasHelpOrVersion, Nt as getCommandPathWithRootOptions, Q as tryParseLogLevel, Rt as hasRootVersionAlias, S as toWhatsappJid, Y as ALLOWED_LOG_LEVELS, f as normalizeE164, l as escapeRegExp, n as assertWebChannel, zt as isJsonOutputMode } from "./utils-RlDPCeiE.js";
4
4
  import "./thinking-DDIdpLYh.js";
5
- import { At as resolveCommitHash, Gt as createDefaultDeps, t as getReplyFromConfig } from "./reply-CBqjA8n7.js";
5
+ import { At as resolveCommitHash, Gt as createDefaultDeps, t as getReplyFromConfig } from "./reply-Ct_Nttkg.js";
6
6
  import "./agent-scope-C7A_L0Z6.js";
7
7
  import { a as routeSubsystemLogsToStderr, m as defaultRuntime, r as enableConsoleCapture, u as visibleWidth } from "./subsystem-Cwzs7yN0.js";
8
8
  import "./logger-BSEmTtz1.js";
@@ -24,24 +24,24 @@ import { a as formatUncaughtError } from "./errors-CtrilAlY.js";
24
24
  import "./static-server-DQBHPXOZ.js";
25
25
  import "./path-alias-guards-CgeH2aSH.js";
26
26
  import "./fs-safe-LwswEc9h.js";
27
- import { k as applyTemplate, m as installUnhandledRejectionHandler } from "./audio-transcription-runner-C6aQCxFd.js";
27
+ import { k as applyTemplate, m as installUnhandledRejectionHandler } from "./audio-transcription-runner-1caiMqoM.js";
28
28
  import "./fetch-guard-EWeZskb8.js";
29
29
  import "./ssrf-sqmKbJf5.js";
30
30
  import "./proxy-fetch-DxABZ-6S.js";
31
- import "./pi-embedded-helpers-CGmQ4q3V.js";
31
+ import "./pi-embedded-helpers-CTXJgU8t.js";
32
32
  import "./local-roots-ByB0R-Qf.js";
33
33
  import "./image-ops-C0lTPxIN.js";
34
34
  import "./models-config-DjkL5qRx.js";
35
35
  import "./model-catalog-CmIymsnH.js";
36
- import "./pi-embedded-utils-BdxZbV9G.js";
37
- import "./sandbox-Cwa9IoDE.js";
36
+ import "./pi-embedded-utils-CKNzzRk4.js";
37
+ import "./sandbox-DOTsK9wx.js";
38
38
  import "./tool-catalog-CnoKmmOb.js";
39
39
  import "./extension-relay-auth-DwReIDDr.js";
40
40
  import { l as ensureBinary, u as promptYesNo } from "./tailscale-DfhEC7E3.js";
41
41
  import "./tailnet-CE87X9ww.js";
42
42
  import "./ws-CGr0AxvH.js";
43
43
  import "./auth-eCrnJfQt.js";
44
- import "./server-context-8stiwx24.js";
44
+ import "./server-context-Bj1ur5Oz.js";
45
45
  import "./frontmatter-DMHQ51Yr.js";
46
46
  import "./skills-Cq5-KMvg.js";
47
47
  import "./store-DS83zC6I.js";
@@ -50,20 +50,20 @@ import "./trash-CNcuxlLQ.js";
50
50
  import { i as handlePortError, n as describePortOwner, r as ensurePortAvailable, t as PortInUseError } from "./ports-DJ_M8scl.js";
51
51
  import "./server-middleware-D3C4S6EF.js";
52
52
  import "./tool-display-B_gL6TP4.js";
53
- import "./provider-image-g7zj1qnV.js";
53
+ import "./provider-image-BNv43756.js";
54
54
  import "./api-key-rotation-BClplT6U.js";
55
55
  import "./pi-model-discovery-CjAu4pM8.js";
56
56
  import "./tokens-D0Wagzn5.js";
57
57
  import "./outbound-message-hooks-DmFBIF5B.js";
58
58
  import "./commands-DVRzSu7-.js";
59
59
  import "./commands-registry-Dqqikbet.js";
60
- import "./diagnostic-C5wYymNQ.js";
60
+ import "./diagnostic-DBsNslQA.js";
61
61
  import "./diagnostic-session-state-7e_RsTs4.js";
62
- import "./command-queue-BXX9dOOY.js";
62
+ import "./command-queue-Df8m2C14.js";
63
63
  import "./user-run-recording-m9vxbJOm.js";
64
64
  import "./recorder-BMfhPrFu.js";
65
65
  import "./gateway-instance-id-BbiOFq3_.js";
66
- import "./manager-Bw3BvR19.js";
66
+ import "./manager-DPzBUqR_.js";
67
67
  import "./client-C4ozGoku.js";
68
68
  import "./call-a7AvxJQQ.js";
69
69
  import "./pairing-token-BgE_TsqE.js";
@@ -75,12 +75,12 @@ import "./exec-safe-bin-runtime-policy-cTNDgEAz.js";
75
75
  import "./nodes-screen-DUyAoPUL.js";
76
76
  import "./supervisor-BkHwVnJ0.js";
77
77
  import "./system-run-command-J1LzN3d-.js";
78
- import "./agent-turn-enqueue-CW_401rj.js";
79
- import "./runs-aQfLgwCB.js";
78
+ import "./agent-turn-enqueue-D-72TPFG.js";
79
+ import "./runs-DD81n7Ms.js";
80
80
  import "./reply-prefix-DIYk1Bw7.js";
81
- import "./deliver-C2Wz9PWj.js";
82
- import "./with-timeout-DaYVHGfP.js";
83
- import "./send-2z5d8MNL.js";
81
+ import "./deliver-iL5dyQ_w.js";
82
+ import "./with-timeout-CQ_KubTO.js";
83
+ import "./send-Byoa_3gu.js";
84
84
  import "./model-CtYfcxHz.js";
85
85
  import "./session-consumer-agents-BNkbq0X0.js";
86
86
  import "./chunk-D0HfW1IJ.js";
@@ -96,7 +96,7 @@ import "./outbound-attachment-BwZuBxzu.js";
96
96
  import "./delivery-queue-BXm5aLNn.js";
97
97
  import "./send-B_3LfPuP.js";
98
98
  import "./resolve-route-BokDZLNR.js";
99
- import "./pi-tools.policy-CeC8xqRL.js";
99
+ import "./pi-tools.policy-D4DT9S9M.js";
100
100
  import "./tables-Dqnau6P3.js";
101
101
  import "./proxy-CXiTHFXk.js";
102
102
  import "./replies-BRGceVgc.js";
@@ -108,7 +108,7 @@ import "./onboard-helpers-CnOMGyei.js";
108
108
  import "./prompt-style-B2xUetmj.js";
109
109
  import "./pairing-labels-CRjKUUZA.js";
110
110
  import "./session-meta-C16eXNhy.js";
111
- import "./agent-turn-runner-CM3MQTJU.js";
111
+ import "./agent-turn-runner-DtRDx5nj.js";
112
112
  import "./memory-cli-Ccz-NMTp.js";
113
113
  import "./manager-BhQRQgyk.js";
114
114
  import "./query-expansion-96au1v0j.js";
@@ -116,7 +116,7 @@ import { t as formatDocsLink } from "./links-DA_gi3gE.js";
116
116
  import "./cli-utils-CH2y4E2f.js";
117
117
  import "./help-format-RRPzsWkf.js";
118
118
  import "./progress-Cbn-oYkW.js";
119
- import "./server-lifecycle-BIVcQYRv.js";
119
+ import "./server-lifecycle-Bp3jx730.js";
120
120
  import "./stagger-Bl55A6V9.js";
121
121
  import "./heartbeat-tick-gDighXQe.js";
122
122
  import "./redact-snapshot-Cfbs1msA.js";
@@ -125,9 +125,9 @@ import { t as isMainModule } from "./is-main-DMW049m8.js";
125
125
  import { t as ensureOpenClawCliOnPath } from "./path-env-BpMauqkY.js";
126
126
  import { t as assertSupportedRuntime } from "./runtime-guard-aqfwJvKU.js";
127
127
  import "./ports-CmfLs9tb.js";
128
- import { i as getCoreCliCommandsWithSubcommands, n as setProgramContext, o as registerProgramCommands, s as getSubCliCommandsWithSubcommands } from "./program-context-DT5nb3SH.js";
129
- import "./plugin-registry-B2PFGUgH.js";
130
- import { n as resolveCliChannelOptions } from "./channel-options-C1IIAhgv.js";
128
+ import { i as getCoreCliCommandsWithSubcommands, n as setProgramContext, o as registerProgramCommands, s as getSubCliCommandsWithSubcommands } from "./program-context-1o3YvOVB.js";
129
+ import "./plugin-registry-Bb5cRSlw.js";
130
+ import { n as resolveCliChannelOptions } from "./channel-options-Cz9kTenL.js";
131
131
  import process$1 from "node:process";
132
132
  import { fileURLToPath } from "node:url";
133
133
  import { Command, InvalidArgumentError } from "commander";
@@ -591,7 +591,7 @@ function loadConfigGuardModule() {
591
591
  return configGuardModulePromise;
592
592
  }
593
593
  function loadPluginRegistryModule() {
594
- pluginRegistryModulePromise ??= import("./plugin-registry-B2PFGUgH.js").then((n) => n.n);
594
+ pluginRegistryModulePromise ??= import("./plugin-registry-Bb5cRSlw.js").then((n) => n.n);
595
595
  return pluginRegistryModulePromise;
596
596
  }
597
597
  function getRootCommand(command) {
@@ -1,8 +1,8 @@
1
1
  import { l as normalizeGatewayProfile, m as resolveGatewayWindowsTaskName, n as GATEWAY_SERVICE_KIND, p as resolveGatewaySystemdServiceName, r as GATEWAY_SERVICE_MARKER, u as resolveGatewayLaunchAgentLabel } from "./constants-DfoluqrP.js";
2
2
  import { t as execFileUtf8 } from "./exec-file-BZSfHyp0.js";
3
- import { n as execSchtasks } from "./service-sEfdnvlL.js";
3
+ import { n as execSchtasks } from "./service-Bgu5Jb1v.js";
4
4
  import path from "node:path";
5
- import fs from "node:fs/promises";
5
+ import fsPromises from "node:fs/promises";
6
6
 
7
7
  //#region src/daemon/inspect.ts
8
8
  function renderDetectedServiceCleanupHints(svc) {
@@ -92,14 +92,14 @@ function tryExtractPlistLabel(contents) {
92
92
  }
93
93
  async function readDirEntries(dir) {
94
94
  try {
95
- return await fs.readdir(dir);
95
+ return await fsPromises.readdir(dir);
96
96
  } catch {
97
97
  return [];
98
98
  }
99
99
  }
100
100
  async function readUtf8File(filePath) {
101
101
  try {
102
- return await fs.readFile(filePath, "utf8");
102
+ return await fsPromises.readFile(filePath, "utf8");
103
103
  } catch {
104
104
  return null;
105
105
  }
@@ -1,8 +1,8 @@
1
- import { X as isPathInside, Y as isNotFoundPathError } from "./globals-NHZhvbUb.js";
2
- import { a as openWritableFileWithinRoot, t as SafeOpenError } from "./fs-safe-DDz2ygyq.js";
3
- import { n as resolveSafeBaseDir } from "./path-safety-BevSBibF.js";
1
+ import { X as isPathInside, Y as isNotFoundPathError } from "./globals-DzEfsMsj.js";
2
+ import { a as openWritableFileWithinRoot, t as SafeOpenError } from "./fs-safe-DSWE-pxQ.js";
3
+ import { n as resolveSafeBaseDir } from "./path-safety-bfKwXs6i.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-NHZhvbUb.js";
2
- import { Ot as loadPluginManifest, dt as checkPluginVersionCompat, kt as resolvePackageExtensionEntries } from "./config-B_l7dU75.js";
1
+ import { R as extensionUsesSkippedScannerPath, St as resolveUserPath, ct as CONFIG_DIR, z as isPathInside } from "./globals-DzEfsMsj.js";
2
+ import { Ot as loadPluginManifest, dt as checkPluginVersionCompat, kt as resolvePackageExtensionEntries } from "./config-Wy1wQZjq.js";
3
3
  import { n as resolveHostVersionInfo } from "./version-D_9__Xw6.js";
4
- import { C as validateRegistryNpmSpec } from "./skills-DeS5IuN9.js";
5
- import { c as writeFileFromPathWithinRoot } from "./fs-safe-DDz2ygyq.js";
4
+ import { C as validateRegistryNpmSpec } from "./skills-is3ptAyK.js";
5
+ import { c as writeFileFromPathWithinRoot } from "./fs-safe-DSWE-pxQ.js";
6
6
  import { n as docsSiteUrl } from "./docs-site-CaMj3dUw.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-BqxzjzC-.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-DC954ztS.js";
9
- import { t as scanDirectoryWithSummary } from "./skill-scanner-BxTzIAOh.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-D7s18Vq0.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-DcfhfmQD.js";
9
+ import { t as scanDirectoryWithSummary } from "./skill-scanner-CZtMQPss.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 { U as isIpv6Address, Y as parseCanonicalIpAddress, z as isCanonicalDottedDecimalIPv4 } from "./config-B_l7dU75.js";
2
- import { o as getTailnetHostname } from "./tailscale-CvPUJvZS.js";
1
+ import { U as isIpv6Address, Y as parseCanonicalIpAddress, z as isCanonicalDottedDecimalIPv4 } from "./config-Wy1wQZjq.js";
2
+ import { o as getTailnetHostname } from "./tailscale-CZstSM_6.js";
3
3
  import { n as docsSiteUrl } from "./docs-site-CaMj3dUw.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-NHZhvbUb.js";
2
- import { s as readLocalFileSafely, t as SafeOpenError } from "./fs-safe-DDz2ygyq.js";
3
- import { _ as maxBytesForKind, a as hasAlphaChannel, c as detectMime, l as extensionForMime, m as kindFromMime, o as optimizeImageToPng, r as convertHeicToJpeg, s as resizeToJpeg } from "./image-ops-BXRKcOTd.js";
4
- import { a as getDefaultMediaLocalRoots, n as fetchRemoteMedia } from "./fetch-B6tx3m8j.js";
5
- import { a as chunkText } from "./chunk-BIErRWoV.js";
1
+ import { St as resolveUserPath, a as logVerbose, c as shouldLogVerbose } from "./globals-DzEfsMsj.js";
2
+ import { s as readLocalFileSafely, t as SafeOpenError } from "./fs-safe-DSWE-pxQ.js";
3
+ import { _ as maxBytesForKind, a as hasAlphaChannel, c as detectMime, l as extensionForMime, m as kindFromMime, o as optimizeImageToPng, r as convertHeicToJpeg, s as resizeToJpeg } from "./image-ops-CAEEQmlt.js";
4
+ import { a as getDefaultMediaLocalRoots, n as fetchRemoteMedia } from "./fetch-COk8GnL3.js";
5
+ import { a as chunkText } from "./chunk-CyVpre5Y.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,4 +1,4 @@
1
- import { st as sanitizeTerminalText } from "./config-B_l7dU75.js";
1
+ import { st as sanitizeTerminalText } from "./config-Wy1wQZjq.js";
2
2
 
3
3
  //#region src/config/issue-format.ts
4
4
  function normalizeConfigIssuePath(path) {
@@ -1,15 +1,15 @@
1
- import { Tt as shortenHomePath, d as colorize, f as isRich, g as getResolvedLoggerSettings, p as theme } from "./globals-NHZhvbUb.js";
1
+ import { Tt as shortenHomePath, d as colorize, f as isRich, g as getResolvedLoggerSettings, p as theme } from "./globals-DzEfsMsj.js";
2
2
  import { d as resolveIsNixMode } from "./paths-BMo6kTge.js";
3
- import { m as defaultRuntime } from "./subsystem-CnWdoPKw.js";
4
- import { c as readConfigFileSnapshot, o as loadConfig } from "./config-B_l7dU75.js";
3
+ import { m as defaultRuntime } from "./subsystem-hb8IlZoK.js";
4
+ import { c as readConfigFileSnapshot, o as loadConfig } from "./config-Wy1wQZjq.js";
5
5
  import { t as formatCliCommand } from "./command-format-CUvskdil.js";
6
- import { t as resolveGatewayCredentialsFromConfig } from "./credentials-DcWx5UdN.js";
6
+ import { t as resolveGatewayCredentialsFromConfig } from "./credentials-CZpBSFEO.js";
7
7
  import { m as resolveGatewayWindowsTaskName, p as resolveGatewaySystemdServiceName, u as resolveGatewayLaunchAgentLabel } from "./constants-DfoluqrP.js";
8
- import { t as isWSL } from "./wsl-BJW8nTyL.js";
9
- import { n as formatConfigIssueLines } from "./issue-format-YjkCmJ-x.js";
10
- import { s as resolveGatewayLogPaths } from "./service-sEfdnvlL.js";
11
- import { r as isSystemdUserServiceAvailable } from "./systemd-5fQ38YAS.js";
12
- import { a as checkTokenDrift, n as renderSystemdUnavailableHints } from "./systemd-hints-Bg_lvqW1.js";
8
+ import { t as isWSL } from "./wsl-CgXDjE09.js";
9
+ import { n as formatConfigIssueLines } from "./issue-format-C5dvpWCs.js";
10
+ import { s as resolveGatewayLogPaths } from "./service-Bgu5Jb1v.js";
11
+ import { r as isSystemdUserServiceAvailable } from "./systemd-T59ZX7hx.js";
12
+ import { a as checkTokenDrift, n as renderSystemdUnavailableHints } from "./systemd-hints-CvSycleX.js";
13
13
  import { t as parsePort } from "./parse-port-DSX0K_8q.js";
14
14
  import { Writable } from "node:stream";
15
15
 
@@ -1,4 +1,4 @@
1
- import { gt as formatTerminalLink } from "./globals-NHZhvbUb.js";
1
+ import { gt as formatTerminalLink } from "./globals-DzEfsMsj.js";
2
2
  import { n as docsSiteUrl } from "./docs-site-CaMj3dUw.js";
3
3
 
4
4
  //#region src/terminal/links.ts
@@ -1,23 +1,23 @@
1
- import "./globals-NHZhvbUb.js";
1
+ import "./globals-DzEfsMsj.js";
2
2
  import "./paths-BMo6kTge.js";
3
- import { t as createSubsystemLogger } from "./subsystem-CnWdoPKw.js";
3
+ import { t as createSubsystemLogger } from "./subsystem-hb8IlZoK.js";
4
4
  import "./boolean-C71HJEcH.js";
5
- import { Gr as advancePhase, Kr as clearManifest, Qr as resumeManifests, Ur as archiveReplayedSource, oi as writeDisposition } from "./config-B_l7dU75.js";
5
+ import { Gr as advancePhase, Kr as clearManifest, Qr as resumeManifests, Ur as archiveReplayedSource, oi as writeDisposition } from "./config-Wy1wQZjq.js";
6
6
  import "./version-D_9__Xw6.js";
7
- import "./agent-scope-Ppgyx_kd.js";
8
- import "./logger-TMWfboh4.js";
9
- import "./exec-B6VJhiff.js";
7
+ import "./agent-scope-CxydHZjT.js";
8
+ import "./logger-BH0Ng0XL.js";
9
+ import "./exec-DtX60IXR.js";
10
10
  import "./github-copilot-token-DS1iTsaA.js";
11
- import "./pid-alive-C13jc975.js";
12
- import "./artifacts-BjWykx-p.js";
11
+ import "./pid-alive-BkVX-P5U.js";
12
+ import "./artifacts-mmiw3Aqi.js";
13
13
  import "./retry-policy-FBwX2QEP.js";
14
14
  import "./task-run-types-B6n0W8Rb.js";
15
15
  import "./redact-dcExQ0l1.js";
16
16
  import "./errors-DZFFjLFB.js";
17
17
  import "./static-server-CSKym6UB.js";
18
- import { o as replaySource } from "./replay-DTUqQwQf.js";
18
+ import { o as replaySource } from "./replay-SxJXbQMf.js";
19
19
  import path from "node:path";
20
- import fs from "node:fs/promises";
20
+ import fsPromises from "node:fs/promises";
21
21
  import { createHash } from "node:crypto";
22
22
 
23
23
  //#region src/config/sessions/recovery/live-repair.ts
@@ -48,7 +48,7 @@ function identityKeyOf(record) {
48
48
  async function fileIdentity(filePath) {
49
49
  let bytes;
50
50
  try {
51
- bytes = await fs.readFile(filePath);
51
+ bytes = await fsPromises.readFile(filePath);
52
52
  } catch {
53
53
  return null;
54
54
  }
@@ -142,7 +142,7 @@ async function runLiveRepair(deps) {
142
142
  });
143
143
  };
144
144
  const replayRow = async (record) => {
145
- const raw = await fs.readFile(record.canonicalPath, "utf8");
145
+ const raw = await fsPromises.readFile(record.canonicalPath, "utf8");
146
146
  return (await replaySource({
147
147
  ctxStore: conversationStore,
148
148
  manifest: record,