activeclaw 2026.4.5 → 2026.4.9

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 (379) hide show
  1. package/dist/{acp-cli-DFNJuSr1.js → acp-cli-DAoO2PiM.js} +9 -9
  2. package/dist/{acp-cli-CYNmIkev.js → acp-cli-e3Nru-Yh.js} +5 -5
  3. package/dist/{agent-CCHm3dnF.js → agent-CMfazMZh.js} +11 -11
  4. package/dist/{agent-BLSLlPLk.js → agent-JPiOsp4w.js} +8 -8
  5. package/dist/{agent-scope-Dv5h0qQE.js → agent-scope-BrJT9Gf9.js} +17 -17
  6. package/dist/{agents-BxHLH0uE.js → agents-BFneTNaM.js} +7 -7
  7. package/dist/{agents.config-CxFlr00u.js → agents.config-63M2f6aF.js} +2 -2
  8. package/dist/{agents.config-BF0K3aA6.js → agents.config-CLmETqUQ.js} +1 -1
  9. package/dist/{api-key-rotation-cqcPDbSb.js → api-key-rotation--yH6WXh1.js} +1 -1
  10. package/dist/{api-key-rotation-BbIb9aas.js → api-key-rotation-BHAUzS3H.js} +2 -2
  11. package/dist/{api-key-rotation-Cyf-Q4MB.js → api-key-rotation-DeP9Nazr.js} +2 -2
  12. package/dist/{api-key-rotation-CpK2-BOi.js → api-key-rotation-ysMjkqBD.js} +1 -1
  13. package/dist/{audio-preflight-L-LZWSbn.js → audio-preflight-Bc4dihum.js} +16 -16
  14. package/dist/{audio-preflight-DRfaJpBd.js → audio-preflight-DPH8sex1.js} +8 -8
  15. package/dist/{audio-preflight-ugqpHAQh.js → audio-preflight-Dd3C7mtQ.js} +14 -14
  16. package/dist/{audio-preflight-BWsuQsJe.js → audio-preflight-DqbhN1m7.js} +4 -4
  17. package/dist/{audio-transcription-runner-Uz2dTIDx.js → audio-transcription-runner-B02iDYTW.js} +23 -23
  18. package/dist/{audio-transcription-runner-CovQeJJ8.js → audio-transcription-runner-B8jxT-MB.js} +6 -6
  19. package/dist/{audio-transcription-runner-BjxrFZhs.js → audio-transcription-runner-DIwGKsNI.js} +4 -4
  20. package/dist/{audio-transcription-runner-Bt0PplM9.js → audio-transcription-runner-TUBV75w0.js} +11 -11
  21. package/dist/{audit-CmbdapG_.js → audit-Cg4EdF12.js} +21 -21
  22. package/dist/{audit-membership-runtime-D-ZeUv63.js → audit-membership-runtime-DK2vsxHN.js} +6 -6
  23. package/dist/{audit-Dk_eftLe.js → audit-u873Aqoz.js} +7 -7
  24. package/dist/{auth-CCGOm7j4.js → auth-B7N969mv.js} +1 -1
  25. package/dist/{auth-Cp-1JzUb.js → auth-Bu24hYWH.js} +1 -1
  26. package/dist/{auth-choice-tokGZmzT.js → auth-choice-CBs23Eut.js} +13 -13
  27. package/dist/{auth-choice-DMcjsacO.js → auth-choice-DKqoMQkv.js} +14 -14
  28. package/dist/{auth-choice-CzIHMC2n.js → auth-choice-DWfkvDEv.js} +18 -18
  29. package/dist/{auth-choice-BOV3mxdG.js → auth-choice-LkLMeioa.js} +12 -12
  30. package/dist/{auth-choice.apply-helpers-alZH2ST_.js → auth-choice.apply-helpers-CJra1kZX.js} +1 -1
  31. package/dist/{auth-choice.apply-helpers-C0zKQkgn.js → auth-choice.apply-helpers-D_qbnasd.js} +1 -1
  32. package/dist/{auth-profiles-B5hyImOM.js → auth-profiles-D9Wn945p.js} +12 -0
  33. package/dist/{auth-token-BHnzfcUl.js → auth-token-BE6nISKT.js} +1 -1
  34. package/dist/{auth-token-Bzfws-T-.js → auth-token-DeLPA2C5.js} +1 -1
  35. package/dist/{banner-MJMqAYlg.js → banner-Ctm-KPnO.js} +1 -1
  36. package/dist/{bonjour-discovery-B4Fsf8u3.js → bonjour-discovery-CHN01_kY.js} +1 -1
  37. package/dist/{bonjour-discovery-LLqnJbvr.js → bonjour-discovery-Cak-jClv.js} +1 -1
  38. package/dist/build-info.json +3 -3
  39. package/dist/bundled/boot-md/handler.js +27 -27
  40. package/dist/bundled/bootstrap-extra-files/handler.js +5 -5
  41. package/dist/bundled/command-logger/handler.js +2 -2
  42. package/dist/bundled/session-memory/handler.js +26 -26
  43. package/dist/{call-CKFLqNkw.js → call-7be5mSn_.js} +9 -9
  44. package/dist/{call-5htJiVxi.js → call-Ce8vjHmH.js} +2 -2
  45. package/dist/{channel-account-context-BI023AHZ.js → channel-account-context-D9S5HJn4.js} +6 -6
  46. package/dist/{channel-account-context-CZgEeotA.js → channel-account-context-XxNxKPcm.js} +1 -1
  47. package/dist/{channel-options-DAKPziI3.js → channel-options-DbKTl72b.js} +2 -2
  48. package/dist/{channel-options-DiGuGjgV.js → channel-options-a0rwBOBp.js} +2 -2
  49. package/dist/{channel-selection-CrnnQqyM.js → channel-selection-Cz7kZ_dd.js} +1 -1
  50. package/dist/{channel-selection-Dh-j4PE7.js → channel-selection-DMlnEgJc.js} +1 -1
  51. package/dist/channels/plugins/actions/telegram.js +12 -0
  52. package/dist/{channels-cli-Lcff68v5.js → channels-cli-2VIPyG8m.js} +55 -55
  53. package/dist/{channels-cli-DvKsiDcY.js → channels-cli-BG1xCXaW.js} +40 -40
  54. package/dist/{chunk-cNotV828.js → chunk-B0PHAL_m.js} +1 -1
  55. package/dist/{chunk-DB_LA-72.js → chunk-BSmRwqjw.js} +2 -2
  56. package/dist/{chunk-I6GfHIkA.js → chunk-D4AO1AEe.js} +1 -1
  57. package/dist/{cleanup-utils-6oONTdk-.js → cleanup-utils-DuGSE7QL.js} +4 -4
  58. package/dist/cli/daemon-cli.js +1 -1
  59. package/dist/{cli-CX0-e1Do.js → cli-He5MwTZv.js} +31 -31
  60. package/dist/{cli-Nb2Rv2SE.js → cli-McCicHl-.js} +39 -39
  61. package/dist/{command-registry-B1NKrz1S.js → command-registry-B4XSKnqk.js} +12 -12
  62. package/dist/{command-secret-targets-DXU9DFeM.js → command-secret-targets-BQ5lbER9.js} +3 -3
  63. package/dist/{command-secret-targets-CpKxsR1T.js → command-secret-targets-lNjgc0CR.js} +3 -3
  64. package/dist/{compact-qJ63Ml29.js → compact-DBxHCU3Q.js} +44 -35
  65. package/dist/compact.runtime-D3MiFKq0.js +66 -0
  66. package/dist/{compact.runtime-Cl5rju7L.js → compact.runtime-DKQKkff5.js} +9 -9
  67. package/dist/{compact.runtime-B7P5LnIa.js → compact.runtime-DcTpLwZ5.js} +31 -31
  68. package/dist/compact.runtime-DvhVgC1j.js +28 -0
  69. package/dist/{completion-cli-BkGeOB0Y.js → completion-cli-BXlBKnlj.js} +2 -2
  70. package/dist/{completion-cli-DQ5HyrvM.js → completion-cli-C0IxNzBH.js} +12 -12
  71. package/dist/{config-cli-CiLzQLbQ.js → config-cli-C4ryG2Rf.js} +4 -4
  72. package/dist/{config-cli-BKXR8uQg.js → config-cli-rH6YNttY.js} +8 -8
  73. package/dist/{config-guard-DKS3Bjiu.js → config-guard-DpwVMnwc.js} +3 -3
  74. package/dist/{config-guard-C5v1W26E.js → config-guard-ahuxxM-z.js} +15 -15
  75. package/dist/{config-validation-DsiQ4Ig0.js → config-validation-C7b6auM4.js} +2 -2
  76. package/dist/{config-validation-BKR2V3xN.js → config-validation-CanHLJ8X.js} +2 -2
  77. package/dist/{configure-JCyEZ5Fd.js → configure-BfCm4pl9.js} +17 -17
  78. package/dist/{configure-B7kIEfSP.js → configure-CuFhFIhR.js} +12 -12
  79. package/dist/{connection-auth-DoyMyMj7.js → connection-auth-Uq6_taV8.js} +1 -1
  80. package/dist/{connection-auth-_DWNXAV0.js → connection-auth-tv7E7e3R.js} +1 -1
  81. package/dist/{cron-cli-_jyWnQpP.js → cron-cli-DeTrhoKQ.js} +4 -4
  82. package/dist/{cron-cli-BS6spxkO.js → cron-cli-gWy7x5uI.js} +8 -8
  83. package/dist/{daemon-cli-BtKr1oQT.js → daemon-cli-DhF5rs_a.js} +7 -7
  84. package/dist/{daemon-cli-Be1vZo5e.js → daemon-cli-qKu_98e8.js} +12 -12
  85. package/dist/daemon-cli.js +12 -0
  86. package/dist/{daemon-install-DL5tMI7L.js → daemon-install-C3mTkJtr.js} +13 -13
  87. package/dist/{daemon-install-CAzURxv-.js → daemon-install-DVTKAzGi.js} +6 -6
  88. package/dist/{deliver-kqa-lgew.js → deliver-BBYhSw-z.js} +4 -4
  89. package/dist/{deliver-DZveowc3.js → deliver-D2j_qrPV.js} +18 -18
  90. package/dist/{deliver-CODiAnbo.js → deliver-DIDeQhCe.js} +1 -1
  91. package/dist/{deliver-C1juSywI.js → deliver-DvOSE6dK.js} +3 -3
  92. package/dist/deliver-runtime-B_vg9NSW.js +14 -0
  93. package/dist/{deliver-runtime-C6qB5ZVb.js → deliver-runtime-C0Wbfid0.js} +4 -4
  94. package/dist/{deliver-runtime-BsHI7dwo.js → deliver-runtime-DT4PMHlo.js} +9 -9
  95. package/dist/{deliver-runtime-D7Dud7B5.js → deliver-runtime-JgwxHubA.js} +2 -2
  96. package/dist/{deps-CLLCZe9I.js → deps-Y7mMaM9D.js} +1 -1
  97. package/dist/{deps-send-telegram.runtime-JtJ6ati5.js → deps-send-telegram.runtime-BIAuW6ip.js} +6 -6
  98. package/dist/deps-send-telegram.runtime-BMbKZ8Sj.js +19 -0
  99. package/dist/{deps-send-telegram.runtime-oajdQ06q.js → deps-send-telegram.runtime-C3q7fofC.js} +13 -13
  100. package/dist/{diagnostic-BXoxaU4W.js → diagnostic-Bbd8nFqt.js} +1 -1
  101. package/dist/{diagnostic-Booor3n0.js → diagnostic-BgC5_P-R.js} +1 -1
  102. package/dist/{diagnostic-BpFQ24Me.js → diagnostic-DGCbVfrY.js} +1 -1
  103. package/dist/{diagnostic-xdfzrdaY.js → diagnostic-G-xDRRdG.js} +2 -2
  104. package/dist/{diagnostics-DU5X6chC.js → diagnostics-C-VDJRVJ.js} +5 -5
  105. package/dist/{directory-cli-BuAiyESe.js → directory-cli-C1uCNh_L.js} +2 -2
  106. package/dist/{directory-cli-CjmZMS9e.js → directory-cli-kNyyepbw.js} +6 -6
  107. package/dist/{dns-cli-VjcjpJaH.js → dns-cli-Bl34g-49.js} +6 -6
  108. package/dist/{dns-cli-C3NikSdN.js → dns-cli-C4NOhwp6.js} +2 -2
  109. package/dist/{docs-cli-Dnr7p-iL.js → docs-cli-Cg3LkXnq.js} +4 -4
  110. package/dist/{doctor-completion-Cd5Nl3yQ.js → doctor-completion-BMhNBLlZ.js} +2 -2
  111. package/dist/{doctor-completion-Cr_mm4ZQ.js → doctor-completion-Bhzly0Le.js} +1 -1
  112. package/dist/{doctor-config-flow-CACQt_iy.js → doctor-config-flow-BaPH3aqI.js} +6 -6
  113. package/dist/{doctor-config-flow-Cte0zkRl.js → doctor-config-flow-BcXzOsQs.js} +13 -13
  114. package/dist/{enable-Cf9rGPag.js → enable-DevEDLTp.js} +1 -1
  115. package/dist/{enable-DW4lKjBU.js → enable-yZG-yiAJ.js} +1 -1
  116. package/dist/entry.js +2 -2
  117. package/dist/{env-DGWeP3w5.js → env-Bhn5CLil.js} +1 -1
  118. package/dist/{errors-B27FlGCB.js → errors-Bqf8bSUd.js} +1 -1
  119. package/dist/{exec-approvals-allowlist-CWZm-Xjt.js → exec-approvals-allowlist-BSEL6MhC.js} +1 -1
  120. package/dist/{exec-approvals-allowlist-DnjttVeB.js → exec-approvals-allowlist-Be63T3oT.js} +1 -1
  121. package/dist/{exec-approvals-cli-BHD1xE9Q.js → exec-approvals-cli-BXOXf0aV.js} +5 -5
  122. package/dist/{exec-approvals-cli-BRCUDW6B.js → exec-approvals-cli-Ckca7X8L.js} +14 -14
  123. package/dist/{exec-safe-bin-runtime-policy-CObmLqq8.js → exec-safe-bin-runtime-policy-BnTNRx5O.js} +2 -2
  124. package/dist/{exec-safe-bin-runtime-policy-CjDG3QJD.js → exec-safe-bin-runtime-policy-DbbnAmrV.js} +2 -2
  125. package/dist/extensionAPI.js +9 -9
  126. package/dist/{fetch-aXWb4Ao5.js → fetch-BWClp-zV.js} +3 -3
  127. package/dist/{fetch-C-yIjbz-.js → fetch-DAiV9-bR.js} +1 -1
  128. package/dist/{fetch-3V1gxxYH.js → fetch-LN1gb6p0.js} +1 -1
  129. package/dist/{fetch-guard-DDQrBzBv.js → fetch-guard-Bd5oI7xu.js} +3 -3
  130. package/dist/{fetch-guard-Dsd8UoGA.js → fetch-guard-DGuF8Mhb.js} +1 -1
  131. package/dist/{fetch-guard-DkMZHPzY.js → fetch-guard-dTCN4rW8.js} +1 -1
  132. package/dist/{fetch-BXs0KCX9.js → fetch-hiM4UODI.js} +1 -1
  133. package/dist/{frontmatter-_kVsuvOa.js → frontmatter-CC95HXlE.js} +3 -3
  134. package/dist/{fs-safe-BLWbfoa6.js → fs-safe-B_UpcQBp.js} +34 -34
  135. package/dist/{fs-safe-DqIZh4BQ.js → fs-safe-hxxMXweE.js} +4 -4
  136. package/dist/{gateway-cli-BOZLG619.js → gateway-cli-X1ZtTIn1.js} +55 -55
  137. package/dist/{gateway-cli-C88jp3Aw.js → gateway-cli-nYAUoRqi.js} +99 -99
  138. package/dist/{gateway-install-token-BnQ74gB8.js → gateway-install-token-B7z4nya5.js} +4 -4
  139. package/dist/{gateway-install-token-qIxBiiV_.js → gateway-install-token-CVO9K6d2.js} +15 -15
  140. package/dist/{gateway-rpc-D5FI-w_h.js → gateway-rpc-ACgYuynD.js} +2 -2
  141. package/dist/{gateway-rpc-DZUx1OqN.js → gateway-rpc-DX5S8s8b.js} +2 -2
  142. package/dist/{github-copilot-token-DJKrUYl0.js → github-copilot-token-CLlAnyEf.js} +7 -7
  143. package/dist/{health-DhuzyE57.js → health-D22GmS6O.js} +4 -4
  144. package/dist/{health-DKId61cm.js → health-I2eelBJ0.js} +10 -10
  145. package/dist/{history-cli-BcwU3MKy.js → history-cli-D-sy-eCF.js} +25 -25
  146. package/dist/{history-cli-DPC2tW70.js → history-cli-HSiD9qOC.js} +11 -11
  147. package/dist/{hooks-cli-K9Olbeoq.js → hooks-cli-B8yce8aT.js} +46 -46
  148. package/dist/{hooks-cli-D4EdsaZd.js → hooks-cli-BpGVDC8n.js} +32 -32
  149. package/dist/{hooks-status-DFoUaWp1.js → hooks-status-0HInFKiT.js} +1 -1
  150. package/dist/{image-xmUgWF9P.js → image-B4HCDVUj.js} +3 -3
  151. package/dist/{image-DAEA1-oq.js → image-BUEhx-b4.js} +5 -5
  152. package/dist/{image-B-QmrXyQ.js → image-DHFliGoO.js} +4 -4
  153. package/dist/{image-Hryb3xjW.js → image-kqy5P4_2.js} +2 -2
  154. package/dist/{image-runtime-Bq4LW7no.js → image-runtime-8ygTiDaV.js} +3 -3
  155. package/dist/{image-runtime-EqNC780Y.js → image-runtime-BKnEMJR7.js} +7 -7
  156. package/dist/{image-runtime-CqQexlZf.js → image-runtime-BtQeLPdH.js} +2 -2
  157. package/dist/image-runtime-DYqTmna6.js +12 -0
  158. package/dist/index.js +47 -47
  159. package/dist/{inspect-3xM6J2Z_.js → inspect-0yj9c1e2.js} +9 -9
  160. package/dist/{inspect-5BGzxifc.js → inspect-CmvIDefh.js} +1 -1
  161. package/dist/{installs-Cg8kKBcv.js → installs-DPimnX51.js} +7 -7
  162. package/dist/{ipv4-DZ8ZOnQk.js → ipv4-DPsEPkzz.js} +1 -1
  163. package/dist/{ipv4-BllQnUqi.js → ipv4-DkllL_TQ.js} +1 -1
  164. package/dist/{issue-format-BnnZmmHz.js → issue-format-DbKknWy1.js} +1 -1
  165. package/dist/{issue-format-Dbw0ZKZU.js → issue-format-hszNX8Io.js} +1 -1
  166. package/dist/llm-slug-generator.js +26 -26
  167. package/dist/{local-roots-B0MExwb7.js → local-roots-BZvUgFKO.js} +1 -1
  168. package/dist/{local-roots-ysSrZ6CP.js → local-roots-CyRw91V8.js} +3 -3
  169. package/dist/{logger-3NSI7j4D.js → logger-BA9koAaC.js} +6 -6
  170. package/dist/{logging-CM1xI8yT.js → logging-4UnG2dJ0.js} +1 -1
  171. package/dist/{logging-B9OKCko2.js → logging-59CroxmQ.js} +2 -2
  172. package/dist/{logging-C7WfrX3j.js → logging-BHhuGbN8.js} +1 -1
  173. package/dist/{logs-cli-DogTg6BW.js → logs-cli-B3BYjCxR.js} +8 -8
  174. package/dist/{logs-cli-DEIVxAcb.js → logs-cli-CZ-nwWSh.js} +4 -4
  175. package/dist/{manager-CwuAu16U.js → manager-BLYILa5H.js} +14 -14
  176. package/dist/{manager-D4NBKxDJ.js → manager-BaDp-h4i.js} +23 -23
  177. package/dist/{manager-BTf5kl5K.js → manager-DF7UBoKp.js} +3 -3
  178. package/dist/{manager-CxuSPBL7.js → manager-DFiUW_Ha.js} +2 -2
  179. package/dist/{manager-runtime-BUGnXZoY.js → manager-runtime-BCkunkcv.js} +4 -4
  180. package/dist/{manager-runtime-DJeYdbHj.js → manager-runtime-CPUoaf4n.js} +3 -3
  181. package/dist/manager-runtime-DMIUcUdt.js +15 -0
  182. package/dist/{manager-runtime-CirDe6Yc.js → manager-runtime-DxOKojtv.js} +10 -10
  183. package/dist/{memory-qo2PyyGc.js → memory-adblmZ7U.js} +5 -5
  184. package/dist/{memory-cli-B3Wdf8cX.js → memory-cli-BLSGcKsi.js} +3 -3
  185. package/dist/{memory-cli-DhQM5b25.js → memory-cli-C5dGMHKl.js} +12 -12
  186. package/dist/{model-catalog-C6EpVMgn.js → model-catalog-BtBiWr2U.js} +3 -3
  187. package/dist/{model-catalog-C8EYz2dm.js → model-catalog-DlYPcFqP.js} +3 -3
  188. package/dist/{model-picker-C_xmxZQw.js → model-picker-BZvJOgpa.js} +4 -4
  189. package/dist/{model-picker-93hk8EPQ.js → model-picker-BdabNhjk.js} +3 -3
  190. package/dist/{model-selection-BrTh8v9L.js → model-selection-CvKAj7nY.js} +102 -90
  191. package/dist/{model-selection-CftqhKNS.js → model-selection-DU-DNNW7.js} +63 -51
  192. package/dist/{model-selection-CS_9NrTE.js → model-selection-PlvJPOJ9.js} +12 -0
  193. package/dist/{models-Bol0QzVD.js → models-BouiRS5o.js} +12 -12
  194. package/dist/{models-cli-kMKsts8T.js → models-cli-CXzAbJ5D.js} +38 -38
  195. package/dist/{models-cli-DrLVOzUK.js → models-cli-KmmlfVy4.js} +50 -50
  196. package/dist/{models-config-B9HFg-NI.js → models-config-Cg9vUkxp.js} +1 -1
  197. package/dist/{models-config-yo6Auh6b.js → models-config-xqqHZFkg.js} +7 -7
  198. package/dist/{npm-pack-install-BNF-iM37.js → npm-pack-install-BlYIroXs.js} +54 -54
  199. package/dist/{npm-resolution-BO6SGdLs.js → npm-resolution-Bn1LgQFf.js} +2 -2
  200. package/dist/{npm-resolution-Dc-9fZOQ.js → npm-resolution-BtQxqgSa.js} +4 -4
  201. package/dist/{ollama-setup-Bhphyk4x.js → ollama-setup-C0EKmICU.js} +2 -2
  202. package/dist/{ollama-setup-DrJZug5K.js → ollama-setup-bTrV2RqI.js} +2 -2
  203. package/dist/{onboard-DoZZHyp1.js → onboard-Cve2lx8Q.js} +7 -7
  204. package/dist/{onboard-C88F-Y13.js → onboard-DUlLUrme.js} +7 -7
  205. package/dist/{onboard-channels-D8cEPFj3.js → onboard-channels-C3Fr6P4C.js} +9 -9
  206. package/dist/{onboard-channels-CKg0sLah.js → onboard-channels-D9mYZZtF.js} +5 -5
  207. package/dist/{onboard-custom-CaacLXtg.js → onboard-custom-C3vRGHsc.js} +4 -4
  208. package/dist/{onboard-custom-CIE9LcFk.js → onboard-custom-W8wE0yre.js} +4 -4
  209. package/dist/{onboard-helpers-xbYuvLLu.js → onboard-helpers-C-tI0ORj.js} +8 -8
  210. package/dist/{onboard-helpers-B1g1N_R7.js → onboard-helpers-Dt3bHndL.js} +3 -3
  211. package/dist/{onboard-hooks-D2rz49Q8.js → onboard-hooks-BKK6FS_-.js} +4 -4
  212. package/dist/{onboard-remote-irbTZQ8D.js → onboard-remote-CnGUK4s9.js} +4 -4
  213. package/dist/{onboard-remote-DR0hiGln.js → onboard-remote-DUkT-5yX.js} +4 -4
  214. package/dist/{onboarding-CuMZLiwZ.js → onboarding-B47HB8MD.js} +14 -14
  215. package/dist/{onboarding-CGx-wanB.js → onboarding-Dj9u7X0q.js} +15 -15
  216. package/dist/{onboarding.finalize-4_qfJYB5.js → onboarding.finalize-C-pR8_RE.js} +52 -52
  217. package/dist/{onboarding.finalize-CT3LVJ86.js → onboarding.finalize-JG_vd8zz.js} +40 -40
  218. package/dist/{onboarding.gateway-config-BLn29YYn.js → onboarding.gateway-config-CllJn7mn.js} +11 -11
  219. package/dist/{onboarding.gateway-config-DBTVHN2e.js → onboarding.gateway-config-JJXnuJ29.js} +7 -7
  220. package/dist/{onboarding.secret-input-DSFE38xZ.js → onboarding.secret-input-Bmjiy8T4.js} +1 -1
  221. package/dist/{onboarding.secret-input-BI289pRS.js → onboarding.secret-input-DkAfkFVQ.js} +1 -1
  222. package/dist/{openai-codex-model-default-CvwSM6Hd.js → openai-codex-model-default-5GXfiA_D.js} +3 -3
  223. package/dist/{openai-codex-model-default-CNxuNGcG.js → openai-codex-model-default-BYIJH6vZ.js} +2 -2
  224. package/dist/{openai-model-default-BJAcSXF0.js → openai-model-default-DvF5RAGp.js} +2 -2
  225. package/dist/{openai-model-default-CHxnrkRk.js → openai-model-default-GgDZhvmV.js} +2 -2
  226. package/dist/{openclaw-root-B6cGCDGF.js → openclaw-root-DbbVtnL2.js} +8 -8
  227. package/dist/{outbound-send-deps-BfOiemtW.js → outbound-send-deps-ClezclXA.js} +1 -1
  228. package/dist/{outbound-send-deps-Ds9befoI.js → outbound-send-deps-DBVk1Se1.js} +1 -1
  229. package/dist/{pairing-cli-KQ0Gil81.js → pairing-cli-CYBWOxx2.js} +6 -6
  230. package/dist/{pairing-cli-DopHOckK.js → pairing-cli-rMFQX66I.js} +2 -2
  231. package/dist/{pairing-store-4ajjzoih.js → pairing-store-BeeSJLPy.js} +1 -1
  232. package/dist/{pairing-store-CGmLbKax.js → pairing-store-Dr8a_B6n.js} +1 -1
  233. package/dist/{path-alias-guards-DJQOJx9a.js → path-alias-guards-DBFU_Tqb.js} +3 -3
  234. package/dist/{path-safety-9zsLqD77.js → path-safety-CfDs7X4h.js} +1 -1
  235. package/dist/{paths-E3CbCLxE.js → paths-Bg_l6kdG.js} +7 -7
  236. package/dist/{paths-DHNo4U8q.js → paths-L_hqOE5A.js} +5 -5
  237. package/dist/{pi-embedded-Lk0-wBVJ.js → pi-embedded-XOWzcU4v.js} +29 -20
  238. package/dist/{pi-embedded-LWGrAjSd.js → pi-embedded-cW_upWzb.js} +125 -116
  239. package/dist/{pi-model-discovery-CocLN2I9.js → pi-model-discovery-7pqY2wzA.js} +1 -1
  240. package/dist/{pi-model-discovery-BfCU9u9n.js → pi-model-discovery-BOkx-R2x.js} +7 -7
  241. package/dist/{pi-model-discovery-DmsAxxli.js → pi-model-discovery-DFqVpswz.js} +1 -1
  242. package/dist/{pi-model-discovery-BHnYQuJe.js → pi-model-discovery-DQwd8eWZ.js} +1 -1
  243. package/dist/{pi-model-discovery-runtime-BB9O_19w.js → pi-model-discovery-runtime-BKwEjlY0.js} +6 -6
  244. package/dist/{pi-model-discovery-runtime-BM8W_E1B.js → pi-model-discovery-runtime-C_LjYTlu.js} +2 -2
  245. package/dist/{pi-model-discovery-runtime-DlSVUM4a.js → pi-model-discovery-runtime-DkNoyqZg.js} +2 -2
  246. package/dist/pi-model-discovery-runtime-uYSpi8_B.js +12 -0
  247. package/dist/{pi-tools.before-tool-call.runtime-YTBO0yhV.js → pi-tools.before-tool-call.runtime-CXBOjjBj.js} +2 -2
  248. package/dist/{pi-tools.before-tool-call.runtime-CbaZrfQj.js → pi-tools.before-tool-call.runtime-DfImcnUe.js} +2 -2
  249. package/dist/{pi-tools.before-tool-call.runtime-CZVSauJE.js → pi-tools.before-tool-call.runtime-gCJet3xa.js} +10 -10
  250. package/dist/{pi-tools.before-tool-call.runtime-yg3vl2rw.js → pi-tools.before-tool-call.runtime-mhmSMpSo.js} +6 -6
  251. package/dist/{pi-tools.policy-B8nfuYT3.js → pi-tools.policy-D6UiE_gG.js} +2 -2
  252. package/dist/{plugin-auto-enable-POm3kIKs.js → plugin-auto-enable-BYUBkHiG.js} +2 -2
  253. package/dist/{plugin-auto-enable-DKIdWd3o.js → plugin-auto-enable-fQ-uJndS.js} +1 -1
  254. package/dist/{plugin-install-plan-BhKQJYE9.js → plugin-install-plan-Dc8oPEOd.js} +1 -1
  255. package/dist/{plugin-registry-DMXyfhbZ.js → plugin-registry-B2Xg5cIZ.js} +2 -2
  256. package/dist/{plugin-registry-BLdJsHwq.js → plugin-registry-Cvr7jdxU.js} +3 -3
  257. package/dist/plugin-sdk/compat.js +12 -0
  258. package/dist/plugin-sdk/config/zod-schema.agent-defaults.d.ts +12 -0
  259. package/dist/plugin-sdk/config/zod-schema.agents.d.ts +12 -0
  260. package/dist/plugin-sdk/config/zod-schema.d.ts +12 -0
  261. package/dist/plugin-sdk/index.js +12 -0
  262. package/dist/plugin-sdk/telegram.js +12 -0
  263. package/dist/{plugins-cli-Mefrnu70.js → plugins-cli-B65JT-pj.js} +33 -33
  264. package/dist/{plugins-cli-Ckbdtcng.js → plugins-cli-Crxf_ppT.js} +49 -49
  265. package/dist/{ports-DoRPPhz1.js → ports-BKzkl2Nt.js} +2 -2
  266. package/dist/{ports-BgVXI3Be.js → ports-C6HO6zSD.js} +2 -2
  267. package/dist/{probe-auth-ClUveUpg.js → probe-auth-BhN3PhE1.js} +3 -3
  268. package/dist/{probe-auth-Dzz0uFIe.js → probe-auth-CBWjkGhd.js} +2 -2
  269. package/dist/{program-D992fHH9.js → program-Da383ALS.js} +38 -38
  270. package/dist/{program-context-CKwgiqKA.js → program-context-BCpzWqA0.js} +35 -35
  271. package/dist/{prompt-select-styled-8JBrpJWx.js → prompt-select-styled-CX2-E6Ws.js} +17 -17
  272. package/dist/{prompt-select-styled-Dj1guzwc.js → prompt-select-styled-DJXH3Ik2.js} +28 -28
  273. package/dist/{provider-auth-helpers-YFTUV89g.js → provider-auth-helpers-3K1-dUeB.js} +5 -5
  274. package/dist/{provider-auth-helpers-Bt0HFLar.js → provider-auth-helpers-CuFWByxX.js} +5 -5
  275. package/dist/{proxy-fetch-CuFiQFud.js → proxy-fetch-Spr_UMJ3.js} +1 -1
  276. package/dist/{qmd-manager-oxRfJV8J.js → qmd-manager-D5-UET4f.js} +7 -7
  277. package/dist/{qmd-manager-nnyEgnFp.js → qmd-manager-ZIMvAkMU.js} +20 -20
  278. package/dist/{query-expansion-CcJjpvgi.js → query-expansion-Czp8kqRG.js} +4 -4
  279. package/dist/{read-only-account-inspect-CWAyFOOe.js → read-only-account-inspect-sMyuBIwr.js} +3 -3
  280. package/dist/{redact-snapshot-CHOdPFBK.js → redact-snapshot-BhnwKwS_.js} +1 -1
  281. package/dist/{redact-snapshot-D2yDzyhm.js → redact-snapshot-esDYkCHN.js} +1 -1
  282. package/dist/{register.agent-DJ14KYnV.js → register.agent-C4BazelG.js} +65 -65
  283. package/dist/{register.agent-CDre9OAT.js → register.agent-F4PYdKIV.js} +49 -49
  284. package/dist/{register.backup-D0G-W10-.js → register.backup-DQtt76Pg.js} +1 -1
  285. package/dist/{register.backup-BDdG0ZZu.js → register.backup-DtwFlodN.js} +22 -22
  286. package/dist/register.configure-DuYlUfX0.js +117 -0
  287. package/dist/{register.configure-MZ2oMFlt.js → register.configure-uivoHsx6.js} +53 -53
  288. package/dist/{register.maintenance-8vlFCAL5.js → register.maintenance-CncGXJcn.js} +46 -46
  289. package/dist/{register.maintenance-CB5u00DB.js → register.maintenance-D1NhSg9p.js} +59 -59
  290. package/dist/{register.message-LPqeYXRd.js → register.message-CkSYWM9C.js} +33 -33
  291. package/dist/{register.message-B3Iqneie.js → register.message-pasYrjfU.js} +42 -42
  292. package/dist/{register.onboard-DHr-W74h.js → register.onboard-9kXyD5aU.js} +13 -13
  293. package/dist/{register.onboard-CTTwVj8d.js → register.onboard-CgARW4Sc.js} +8 -8
  294. package/dist/{register.setup-C3kh_TbN.js → register.setup-BtmboGlC.js} +16 -16
  295. package/dist/{register.setup-Dqfw5uEI.js → register.setup-D5oaiM2k.js} +8 -8
  296. package/dist/{register.status-health-sessions-QpojEQ9d.js → register.status-health-sessions-BaiIULJw.js} +52 -52
  297. package/dist/{register.status-health-sessions-DRKMAlro.js → register.status-health-sessions-QJWioUTw.js} +40 -40
  298. package/dist/{register.subclis-iSDvGATC.js → register.subclis-BJi9Wx12.js} +23 -23
  299. package/dist/{reply-Bf21Hr1C.js → reply-9_WxyHfF.js} +126 -117
  300. package/dist/{run-log-BqSHMnAd.js → run-log-D3XR2BLm.js} +13 -13
  301. package/dist/{run-log-CjYAiVe8.js → run-log-Q89iJgvA.js} +1 -1
  302. package/dist/{run-main-qumIkFEs.js → run-main--Va-DnXT.js} +51 -51
  303. package/dist/{runtime-B8hPSCRB.js → runtime-DpfmBWKQ.js} +2 -2
  304. package/dist/{runtime-CCYCyl1P.js → runtime-hakwcpul.js} +3 -3
  305. package/dist/{runtime-web-tools-gpT7ZniL.js → runtime-web-tools-BZcX_oAn.js} +2 -2
  306. package/dist/{runtime-web-tools-CRJ-iI9c.js → runtime-web-tools-CWlvqBpH.js} +2 -2
  307. package/dist/{sandbox-cli-cb2ui3Pc.js → sandbox-cli-BLBFMAgV.js} +1 -1
  308. package/dist/{sandbox-cli-BwX10ANz.js → sandbox-cli-CWgKwadY.js} +5 -5
  309. package/dist/{search-manager-CjC4g5lJ.js → search-manager-Bj4BRNiF.js} +1 -1
  310. package/dist/{secret-file-BaxohaZh.js → secret-file-9CYwZJSc.js} +1 -1
  311. package/dist/{secret-file-DcuJtucq.js → secret-file-BCAZa3Jw.js} +1 -1
  312. package/dist/{secrets-cli-BSv3yeQa.js → secrets-cli-B-LFbTtv.js} +10 -10
  313. package/dist/{secrets-cli-CYAGIMSW.js → secrets-cli-DOf7NbbB.js} +6 -6
  314. package/dist/{security-cli-Dk67sFGR.js → security-cli-B2iw16q9.js} +21 -21
  315. package/dist/{security-cli-CPjzUYo3.js → security-cli-DbRGAdz_.js} +10 -10
  316. package/dist/{send-DAr4cmzw.js → send-BeUTtwRC.js} +11 -11
  317. package/dist/{send-CP84wq9N.js → send-CU6MWFln.js} +28 -28
  318. package/dist/{send-CeA0VP-c.js → send-TlYsQWZw.js} +4 -4
  319. package/dist/{service-Cfk6VWeP.js → service-kXk8K3mn.js} +13 -13
  320. package/dist/{session-utils-G8TPVqDh.js → session-utils-5dTolcMA.js} +3 -3
  321. package/dist/{sessions-DghMB51-.js → sessions-CNRe8TkE.js} +2 -2
  322. package/dist/{shared-C6ksnJEO.js → shared-C_hG8rgh.js} +1 -1
  323. package/dist/{skill-scanner-B8J7JGHG.js → skill-scanner-djTgcKux.js} +7 -7
  324. package/dist/{skills-Mq1GCIyL.js → skills-D7xInzjY.js} +2 -2
  325. package/dist/{sqlite-DMwlw8gY.js → sqlite-BXiqNpZr.js} +14 -14
  326. package/dist/{status-BkoerIVk.js → status-BWvpeDQr.js} +1 -1
  327. package/dist/{status-DN1kwt_G.js → status-CjUDl8qO.js} +22 -22
  328. package/dist/{status-CLNIJHL1.js → status-DdFy329n.js} +13 -13
  329. package/dist/{status-C2lZy-Fn.js → status-DlhZNZRA.js} +1 -1
  330. package/dist/{status.update-CVnOl9T7.js → status.update-BC8_WNUD.js} +1 -1
  331. package/dist/{status.update-B7WMKBpu.js → status.update-s77gig85.js} +3 -3
  332. package/dist/subagent-registry-runtime-CrS70feQ.js +28 -0
  333. package/dist/{subagent-registry-runtime-BejBDRIf.js → subagent-registry-runtime-D68_xG8d.js} +9 -9
  334. package/dist/{subagent-registry-runtime-sAeDnTD0.js → subagent-registry-runtime-D8jeUc09.js} +31 -31
  335. package/dist/{subagent-registry-runtime-C2amjBau.js → subagent-registry-runtime-DLTR5fch.js} +39 -39
  336. package/dist/{subsystem-Br253I8q.js → subsystem-CDH9S_yW.js} +14 -14
  337. package/dist/{system-cli-C_xi1PG1.js → system-cli-CJfVDX21.js} +4 -4
  338. package/dist/{system-cli-CmjCyWeV.js → system-cli-CgYFKf5C.js} +8 -8
  339. package/dist/{systemd-linger-8q_0YAMa.js → systemd-linger-CQCpuIm8.js} +1 -1
  340. package/dist/{systemd-B5QGtWUt.js → systemd-lqHMKF03.js} +11 -11
  341. package/dist/{tailnet-BII1rF_F.js → tailnet-Dd530XEB.js} +1 -1
  342. package/dist/{tailnet-GA0Saj6K.js → tailnet-lUwvztzP.js} +1 -1
  343. package/dist/{update-cli-Cta7h1PN.js → update-cli-CTNv6NnW.js} +69 -69
  344. package/dist/{update-cli-DT51qYuH.js → update-cli-Ca6a5zyc.js} +49 -49
  345. package/dist/{update-B16VTBdW.js → update-lBwZcNEP.js} +2 -2
  346. package/dist/{update-runner-D0FkcfIv.js → update-runner-CSPTpzlG.js} +4 -4
  347. package/dist/{update-runner-Dk9ujIjY.js → update-runner-DgI58_4p.js} +16 -16
  348. package/dist/{webhooks-cli-DUi__sSq.js → webhooks-cli-D5ytuSnf.js} +1 -1
  349. package/dist/{webhooks-cli-fEwB1QWy.js → webhooks-cli-DGY-qrop.js} +5 -5
  350. package/dist/{workspace-DaDGuTlc.js → workspace-DY5PSKK1.js} +1 -1
  351. package/dist/{workspace-DRRA3YH5.js → workspace-DiYGwuGk.js} +20 -20
  352. package/dist/{writer-CBLUHPFY.js → writer-ChWOWmJt.js} +1 -1
  353. package/dist/{writer-DW7GwLNb.js → writer-Mpvw_WMM.js} +8 -8
  354. package/extensions/acpx/node_modules/.bin/acpx +3 -7
  355. package/extensions/diagnostics-otel/node_modules/.bin/acorn +3 -7
  356. package/extensions/diffs/node_modules/.bin/playwright-core +3 -7
  357. package/extensions/googlechat/node_modules/.bin/openclaw +17 -0
  358. package/extensions/hub/src/inbound.ts +16 -0
  359. package/extensions/matrix/node_modules/.bin/markdown-it +17 -0
  360. package/extensions/memory-core/node_modules/.bin/openclaw +17 -0
  361. package/extensions/memory-core/package.json +11 -0
  362. package/extensions/memory-lancedb/node_modules/.bin/arrow2csv +3 -7
  363. package/extensions/memory-lancedb/node_modules/.bin/openai +3 -7
  364. package/extensions/tlon/node_modules/.bin/tlon +17 -0
  365. package/package.json +2 -2
  366. package/dist/compact.runtime-B3XexHCz.js +0 -28
  367. package/dist/compact.runtime-BTNt86Cy.js +0 -66
  368. package/dist/deliver-runtime-DP7LMYJz.js +0 -14
  369. package/dist/deps-send-telegram.runtime-CNQMFHHL.js +0 -19
  370. package/dist/image-runtime-BKlmPwGz.js +0 -12
  371. package/dist/manager-runtime-BIERqG19.js +0 -15
  372. package/dist/pi-model-discovery-runtime-BRBH9-81.js +0 -12
  373. package/dist/register.configure-B6etuAnH.js +0 -117
  374. package/dist/subagent-registry-runtime-BBvfeFxp.js +0 -28
  375. package/extensions/google-antigravity-auth/node_modules/.bin/openclaw +0 -21
  376. package/extensions/memory-core/node_modules/.bin/nlc +0 -21
  377. package/extensions/memory-core/node_modules/.bin/node-llama-cpp +0 -21
  378. package/extensions/memory-core/node_modules/.bin/tsc +0 -21
  379. package/extensions/memory-core/node_modules/.bin/tsserver +0 -21
@@ -1,24 +1,24 @@
1
1
  import { f as resolveLegacyStateDirs, g as resolveStateDir, m as resolveOAuthDir, p as resolveNewStateDir, t as CONFIG_PATH } from "./paths-BJV7vkaX.js";
2
2
  import { d as isRecord, h as resolveHomeDir } from "./utils-CGU7Q77u.js";
3
- import { Ba as migrateLegacyConfig, Fs as resolveSlackStreamingMode, Is as resolveTelegramPreviewStreamMode, Ja as readConfigFileSnapshot, Kr as inspectTelegramAccount, Ms as formatSlackStreamingBooleanMigrationMessage, Ns as resolveDiscordPreviewStreamMode, Pr as canonicalizeMainSessionAlias, Ps as resolveSlackNativeStreaming, Un as saveSessionStore, Yr as listTelegramAccountIds, Zr as resolveTelegramAccount, ci as listRouteBindings, ei as formatChannelAccountsDefaultPath, js as formatSlackStreamModeMigrationMessage, ls as normalizeTrustedSafeBinDirs, ni as formatSetExplicitDefaultToConfiguredInstruction, os as getTrustedSafeBinDirs, ss as isTrustedSafeBinPath, ti as formatSetExplicitDefaultInstruction, to as OpenClawSchema, vs as resolveCommandResolutionFromArgv, za as parseToolsBySenderTypedKey } from "./model-selection-CftqhKNS.js";
4
- import { d as resolveDefaultAgentId } from "./agent-scope-Dv5h0qQE.js";
3
+ import { Ba as migrateLegacyConfig, Fs as resolveSlackStreamingMode, Is as resolveTelegramPreviewStreamMode, Ja as readConfigFileSnapshot, Kr as inspectTelegramAccount, Ms as formatSlackStreamingBooleanMigrationMessage, Ns as resolveDiscordPreviewStreamMode, Pr as canonicalizeMainSessionAlias, Ps as resolveSlackNativeStreaming, Un as saveSessionStore, Yr as listTelegramAccountIds, Zr as resolveTelegramAccount, ci as listRouteBindings, ei as formatChannelAccountsDefaultPath, js as formatSlackStreamModeMigrationMessage, ls as normalizeTrustedSafeBinDirs, ni as formatSetExplicitDefaultToConfiguredInstruction, os as getTrustedSafeBinDirs, ss as isTrustedSafeBinPath, ti as formatSetExplicitDefaultInstruction, to as OpenClawSchema, vs as resolveCommandResolutionFromArgv, za as parseToolsBySenderTypedKey } from "./model-selection-DU-DNNW7.js";
4
+ import { d as resolveDefaultAgentId } from "./agent-scope-BrJT9Gf9.js";
5
5
  import { _ as normalizeOptionalAccountId, g as normalizeAccountId, h as DEFAULT_ACCOUNT_ID, n as DEFAULT_MAIN_KEY, r as buildAgentMainSessionKey, s as normalizeAgentId } from "./session-key-VV3RvEri.js";
6
6
  import { i as formatCliCommand } from "./scan-paths-meOkBmZg.js";
7
7
  import { l as normalizeChatChannelId } from "./registry-BKJyEPHE.js";
8
- import { r as resolveMergedSafeBinProfileFixtures, t as listInterpreterLikeSafeBins } from "./exec-safe-bin-runtime-policy-CjDG3QJD.js";
9
- import { t as applyPluginAutoEnable } from "./plugin-auto-enable-POm3kIKs.js";
10
- import { i as readChannelAllowFromStore, o as resolveChannelAllowFromPath } from "./pairing-store-CGmLbKax.js";
11
- import { n as getChannelsCommandSecretTargetIds, o as resolveCommandSecretRefsViaGateway } from "./command-secret-targets-DXU9DFeM.js";
8
+ import { r as resolveMergedSafeBinProfileFixtures, t as listInterpreterLikeSafeBins } from "./exec-safe-bin-runtime-policy-DbbnAmrV.js";
9
+ import { t as applyPluginAutoEnable } from "./plugin-auto-enable-BYUBkHiG.js";
10
+ import { i as readChannelAllowFromStore, o as resolveChannelAllowFromPath } from "./pairing-store-Dr8a_B6n.js";
11
+ import { n as getChannelsCommandSecretTargetIds, o as resolveCommandSecretRefsViaGateway } from "./command-secret-targets-BQ5lbER9.js";
12
12
  import { i as shouldMoveSingleAccountChannelKey, t as fetchTelegramChatId } from "./api-DF0WBFAI.js";
13
13
  import { t as note } from "./note-BiaAdUTc.js";
14
- import { t as isWithinDir } from "./path-safety-9zsLqD77.js";
15
- import { n as formatConfigIssueLines } from "./issue-format-Dbw0ZKZU.js";
14
+ import { t as isWithinDir } from "./path-safety-CfDs7X4h.js";
15
+ import { n as formatConfigIssueLines } from "./issue-format-hszNX8Io.js";
16
16
  import { a as isMattermostMutableAllowEntry, i as isMSTeamsMutableAllowEntry, l as isNumericTelegramUserId, n as isGoogleChatMutableAllowEntry, o as isSlackMutableAllowEntry, r as isIrcMutableAllowEntry, s as collectProviderDangerousNameMatchingScopes, t as isDiscordMutableAllowEntry, u as normalizeTelegramAllowFromEntry } from "./mutable-allowlist-detectors-BZy6Qt78.js";
17
17
  import fs from "node:fs";
18
18
  import os from "node:os";
19
19
  import path from "node:path";
20
20
  import JSON5 from "json5";
21
- import fs$1 from "node:fs/promises";
21
+ import fsPromises from "node:fs/promises";
22
22
  //#region src/commands/doctor-config-analysis.ts
23
23
  function normalizeIssuePath(path) {
24
24
  return path.filter((part) => typeof part !== "symbol");
@@ -2155,7 +2155,7 @@ async function maybeMigrateLegacyConfig() {
2155
2155
  const targetDir = path.join(home, ".openclaw");
2156
2156
  const targetPath = path.join(targetDir, "openclaw.json");
2157
2157
  try {
2158
- await fs$1.access(targetPath);
2158
+ await fsPromises.access(targetPath);
2159
2159
  return changes;
2160
2160
  } catch {}
2161
2161
  const legacyCandidates = [
@@ -2165,14 +2165,14 @@ async function maybeMigrateLegacyConfig() {
2165
2165
  ];
2166
2166
  let legacyPath = null;
2167
2167
  for (const candidate of legacyCandidates) try {
2168
- await fs$1.access(candidate);
2168
+ await fsPromises.access(candidate);
2169
2169
  legacyPath = candidate;
2170
2170
  break;
2171
2171
  } catch {}
2172
2172
  if (!legacyPath) return changes;
2173
- await fs$1.mkdir(targetDir, { recursive: true });
2173
+ await fsPromises.mkdir(targetDir, { recursive: true });
2174
2174
  try {
2175
- await fs$1.copyFile(legacyPath, targetPath, fs$1.constants.COPYFILE_EXCL);
2175
+ await fsPromises.copyFile(legacyPath, targetPath, fsPromises.constants.COPYFILE_EXCL);
2176
2176
  changes.push(`Migrated legacy config: ${legacyPath} -> ${targetPath}`);
2177
2177
  } catch {}
2178
2178
  return changes;
@@ -1,5 +1,5 @@
1
1
  import { l as normalizeChatChannelId } from "./registry-BKJyEPHE.js";
2
- import { r as ensurePluginAllowlisted } from "./plugin-auto-enable-POm3kIKs.js";
2
+ import { r as ensurePluginAllowlisted } from "./plugin-auto-enable-BYUBkHiG.js";
3
3
  //#region src/plugins/toggle-config.ts
4
4
  function setPluginEnabledInConfig(config, pluginId, enabled) {
5
5
  const builtInChannelId = normalizeChatChannelId(pluginId);
@@ -1,5 +1,5 @@
1
1
  import { l as normalizeChatChannelId } from "./registry-CQHSaCtN.js";
2
- import { r as ensurePluginAllowlisted } from "./plugin-auto-enable-DKIdWd3o.js";
2
+ import { r as ensurePluginAllowlisted } from "./plugin-auto-enable-fQ-uJndS.js";
3
3
  //#region src/plugins/toggle-config.ts
4
4
  function setPluginEnabledInConfig(config, pluginId, enabled) {
5
5
  const builtInChannelId = normalizeChatChannelId(pluginId);
package/dist/entry.js CHANGED
@@ -327,7 +327,7 @@ if (!isMainModule({
327
327
  }
328
328
  function tryHandleRootHelpFastPath(argv) {
329
329
  if (!isRootHelpInvocation(argv)) return false;
330
- import("./program-D992fHH9.js").then(({ buildProgram }) => {
330
+ import("./program-Da383ALS.js").then(({ buildProgram }) => {
331
331
  buildProgram().outputHelp();
332
332
  }).catch((error) => {
333
333
  console.error("[openclaw] Failed to display help:", error instanceof Error ? error.stack ?? error.message : error);
@@ -345,7 +345,7 @@ if (!isMainModule({
345
345
  applyCliProfileEnv({ profile: parsed.profile });
346
346
  process$1.argv = parsed.argv;
347
347
  }
348
- if (!tryHandleRootVersionFastPath(process$1.argv) && !tryHandleRootHelpFastPath(process$1.argv)) import("./run-main-qumIkFEs.js").then(({ runCli }) => runCli(process$1.argv)).catch((error) => {
348
+ if (!tryHandleRootVersionFastPath(process$1.argv) && !tryHandleRootHelpFastPath(process$1.argv)) import("./run-main--Va-DnXT.js").then(({ runCli }) => runCli(process$1.argv)).catch((error) => {
349
349
  console.error("[openclaw] Failed to start CLI:", error instanceof Error ? error.stack ?? error.message : error);
350
350
  process$1.exitCode = 1;
351
351
  });
@@ -1,4 +1,4 @@
1
- import { t as createSubsystemLogger } from "./subsystem-Br253I8q.js";
1
+ import { t as createSubsystemLogger } from "./subsystem-CDH9S_yW.js";
2
2
  import { t as parseBooleanValue } from "./boolean-C7Ct_klp.js";
3
3
  createSubsystemLogger("env");
4
4
  function isTruthyEnvValue(value) {
@@ -1,4 +1,4 @@
1
- import { i as redactSensitiveText } from "./path-alias-guards-DJQOJx9a.js";
1
+ import { i as redactSensitiveText } from "./path-alias-guards-DBFU_Tqb.js";
2
2
  //#region src/infra/errors.ts
3
3
  function extractErrorCode(err) {
4
4
  if (!err || typeof err !== "object") return;
@@ -1,5 +1,5 @@
1
1
  import { _ as expandHomePrefix } from "./paths-BJV7vkaX.js";
2
- import { Cs as unwrapKnownShellMultiplexerInvocation, Ss as unwrapKnownDispatchWrapperInvocation, Ts as SAFE_BIN_PROFILES, _s as resolveAllowlistCandidatePath, bs as isDispatchWrapperExecutable, ds as analyzeShellCommand, gs as matchAllowlist, hs as DEFAULT_SAFE_BINS, ms as splitCommandChain, ps as isWindowsPlatform, ss as isTrustedSafeBinPath, us as validateSafeBinArgv, vs as resolveCommandResolutionFromArgv, xs as isShellWrapperExecutable, ys as extractShellWrapperInlineCommand } from "./model-selection-CftqhKNS.js";
2
+ import { Cs as unwrapKnownShellMultiplexerInvocation, Ss as unwrapKnownDispatchWrapperInvocation, Ts as SAFE_BIN_PROFILES, _s as resolveAllowlistCandidatePath, bs as isDispatchWrapperExecutable, ds as analyzeShellCommand, gs as matchAllowlist, hs as DEFAULT_SAFE_BINS, ms as splitCommandChain, ps as isWindowsPlatform, ss as isTrustedSafeBinPath, us as validateSafeBinArgv, vs as resolveCommandResolutionFromArgv, xs as isShellWrapperExecutable, ys as extractShellWrapperInlineCommand } from "./model-selection-DU-DNNW7.js";
3
3
  import path from "node:path";
4
4
  //#region src/infra/exec-approvals-allowlist.ts
5
5
  function hasShellLineContinuation(command) {
@@ -1,5 +1,5 @@
1
1
  import { _ as expandHomePrefix } from "./paths-BfR2LXbA.js";
2
- import { Ja as isTrustedSafeBinPath, Qa as analyzeShellCommand, Za as validateSafeBinArgv, ao as resolveCommandResolutionFromArgv, co as isShellWrapperExecutable, do as SAFE_BIN_PROFILES, eo as isWindowsPlatform, io as resolveAllowlistCandidatePath, lo as unwrapKnownDispatchWrapperInvocation, no as DEFAULT_SAFE_BINS, oo as extractShellWrapperInlineCommand, ro as matchAllowlist, so as isDispatchWrapperExecutable, to as splitCommandChain, uo as unwrapKnownShellMultiplexerInvocation } from "./auth-profiles-B5hyImOM.js";
2
+ import { Ja as isTrustedSafeBinPath, Qa as analyzeShellCommand, Za as validateSafeBinArgv, ao as resolveCommandResolutionFromArgv, co as isShellWrapperExecutable, do as SAFE_BIN_PROFILES, eo as isWindowsPlatform, io as resolveAllowlistCandidatePath, lo as unwrapKnownDispatchWrapperInvocation, no as DEFAULT_SAFE_BINS, oo as extractShellWrapperInlineCommand, ro as matchAllowlist, so as isDispatchWrapperExecutable, to as splitCommandChain, uo as unwrapKnownShellMultiplexerInvocation } from "./auth-profiles-D9Wn945p.js";
3
3
  import path from "node:path";
4
4
  //#region src/infra/exec-approvals-allowlist.ts
5
5
  function hasShellLineContinuation(command) {
@@ -1,7 +1,7 @@
1
1
  import { A as theme, k as isRich, p as defaultRuntime } from "./subsystem-BEF5zTJO.js";
2
2
  import "./paths-BfR2LXbA.js";
3
3
  import "./boolean-BHdNsbzF.js";
4
- import "./auth-profiles-B5hyImOM.js";
4
+ import "./auth-profiles-D9Wn945p.js";
5
5
  import "./agent-scope-OAwT1oHV.js";
6
6
  import "./utils-qah6hFG0.js";
7
7
  import "./boundary-file-read-BAjRF13y.js";
@@ -18,14 +18,14 @@ import "./path-alias-guards-DHv0a8uY.js";
18
18
  import "./plugins-DRDN4jFP.js";
19
19
  import "./paths-B-JdyKTL.js";
20
20
  import "./chat-envelope-t_PEbhWC.js";
21
- import "./exec-approvals-allowlist-DnjttVeB.js";
22
- import "./call-5htJiVxi.js";
23
- import "./tailnet-BII1rF_F.js";
21
+ import "./exec-approvals-allowlist-Be63T3oT.js";
22
+ import "./call-Ce8vjHmH.js";
23
+ import "./tailnet-Dd530XEB.js";
24
24
  import { t as formatTimeAgo } from "./format-relative-ciFDmLBH.js";
25
25
  import { f as readExecApprovalsSnapshot, g as saveExecApprovals } from "./exec-approvals-BVT7PLEI.js";
26
26
  import { t as formatDocsLink } from "./links-hlmnhfEU.js";
27
27
  import "./progress-DvzcL_95.js";
28
- import { n as callGatewayFromCli } from "./gateway-rpc-D5FI-w_h.js";
28
+ import { n as callGatewayFromCli } from "./gateway-rpc-ACgYuynD.js";
29
29
  import "./systemd-qW6d6kEI.js";
30
30
  import "./service-D91QofaA.js";
31
31
  import { n as renderTable, t as getTerminalTableWidth } from "./table-B-mQ0pe0.js";
@@ -1,9 +1,9 @@
1
1
  import "./paths-BJV7vkaX.js";
2
2
  import { A as theme, k as isRich, p as defaultRuntime } from "./subsystem-Dk5WUhC2.js";
3
3
  import "./utils-CGU7Q77u.js";
4
- import "./model-selection-CftqhKNS.js";
5
- import "./agent-scope-Dv5h0qQE.js";
6
- import "./openclaw-root-B6cGCDGF.js";
4
+ import "./model-selection-DU-DNNW7.js";
5
+ import "./agent-scope-BrJT9Gf9.js";
6
+ import "./openclaw-root-DbbVtnL2.js";
7
7
  import "./logger-m0MK99MT.js";
8
8
  import "./exec-B8ip-O6u.js";
9
9
  import "./github-copilot-token-D37fjdwy.js";
@@ -11,25 +11,25 @@ import "./boolean-CJxfhBkG.js";
11
11
  import "./env-6my-UEm4.js";
12
12
  import "./env-overrides-CSdE_DWV.js";
13
13
  import "./registry-BKJyEPHE.js";
14
- import "./skills-Mq1GCIyL.js";
14
+ import "./skills-D7xInzjY.js";
15
15
  import "./frontmatter-DTFXPyoL.js";
16
- import "./path-alias-guards-DJQOJx9a.js";
16
+ import "./path-alias-guards-DBFU_Tqb.js";
17
17
  import "./plugins-Delv1GbW.js";
18
18
  import "./paths-DHrunYJK.js";
19
19
  import "./chat-envelope-CKaJSmSH.js";
20
- import "./call-CKFLqNkw.js";
21
- import "./tailnet-GA0Saj6K.js";
22
- import "./exec-approvals-allowlist-CWZm-Xjt.js";
20
+ import "./call-7be5mSn_.js";
21
+ import "./tailnet-lUwvztzP.js";
22
+ import "./exec-approvals-allowlist-BSEL6MhC.js";
23
23
  import { _ as saveExecApprovals, p as readExecApprovalsSnapshot, t as formatTimeAgo } from "./format-relative-CsSUDXfJ.js";
24
24
  import { t as formatDocsLink } from "./links-BM5olEmW.js";
25
25
  import "./progress-DVG93Lop.js";
26
- import { n as callGatewayFromCli } from "./gateway-rpc-DZUx1OqN.js";
27
- import "./systemd-B5QGtWUt.js";
28
- import "./service-Cfk6VWeP.js";
26
+ import { n as callGatewayFromCli } from "./gateway-rpc-DX5S8s8b.js";
27
+ import "./systemd-lqHMKF03.js";
28
+ import "./service-kXk8K3mn.js";
29
29
  import { n as renderTable, t as getTerminalTableWidth } from "./table-ByNbkdzT.js";
30
- import { t as describeUnknownError } from "./shared-C6ksnJEO.js";
30
+ import { t as describeUnknownError } from "./shared-C_hG8rgh.js";
31
31
  import JSON5 from "json5";
32
- import fs from "node:fs/promises";
32
+ import fsPromises from "node:fs/promises";
33
33
  //#region src/cli/exec-approvals-cli.ts
34
34
  async function readStdin() {
35
35
  const chunks = [];
@@ -307,7 +307,7 @@ function registerExecApprovalsCli(program) {
307
307
  if (!opts.file && !opts.stdin) exitWithError("Provide --file or --stdin.");
308
308
  if (opts.file && opts.stdin) exitWithError("Use either --file or --stdin (not both).");
309
309
  const { source, targetLabel, baseHash } = await loadWritableSnapshotTarget(opts);
310
- const raw = opts.stdin ? await readStdin() : await fs.readFile(String(opts.file), "utf8");
310
+ const raw = opts.stdin ? await readStdin() : await fsPromises.readFile(String(opts.file), "utf8");
311
311
  let file;
312
312
  try {
313
313
  file = JSON5.parse(raw);
@@ -1,5 +1,5 @@
1
- import { Xa as normalizeTrustedSafeBinDirs, Ya as listWritableExplicitTrustedSafeBinDirs, fo as normalizeSafeBinProfileFixtures, po as resolveSafeBinProfiles, qa as getTrustedSafeBinDirs } from "./auth-profiles-B5hyImOM.js";
2
- import { r as resolveSafeBins } from "./exec-approvals-allowlist-DnjttVeB.js";
1
+ import { Xa as normalizeTrustedSafeBinDirs, Ya as listWritableExplicitTrustedSafeBinDirs, fo as normalizeSafeBinProfileFixtures, po as resolveSafeBinProfiles, qa as getTrustedSafeBinDirs } from "./auth-profiles-D9Wn945p.js";
2
+ import { r as resolveSafeBins } from "./exec-approvals-allowlist-Be63T3oT.js";
3
3
  //#region src/infra/exec-safe-bin-runtime-policy.ts
4
4
  const INTERPRETER_LIKE_SAFE_BINS = new Set([
5
5
  "ash",
@@ -1,5 +1,5 @@
1
- import { Ds as resolveSafeBinProfiles, Es as normalizeSafeBinProfileFixtures, cs as listWritableExplicitTrustedSafeBinDirs, ls as normalizeTrustedSafeBinDirs, os as getTrustedSafeBinDirs } from "./model-selection-CftqhKNS.js";
2
- import { r as resolveSafeBins } from "./exec-approvals-allowlist-CWZm-Xjt.js";
1
+ import { Ds as resolveSafeBinProfiles, Es as normalizeSafeBinProfileFixtures, cs as listWritableExplicitTrustedSafeBinDirs, ls as normalizeTrustedSafeBinDirs, os as getTrustedSafeBinDirs } from "./model-selection-DU-DNNW7.js";
2
+ import { r as resolveSafeBins } from "./exec-approvals-allowlist-BSEL6MhC.js";
3
3
  //#region src/infra/exec-safe-bin-runtime-policy.ts
4
4
  const INTERPRETER_LIKE_SAFE_BINS = new Set([
5
5
  "ash",
@@ -1,20 +1,20 @@
1
1
  import { O as resolveAgentWorkspaceDir, T as resolveAgentDir, V as ensureAgentWorkspace, n as resolveSessionFilePath, s as resolveStorePath } from "./paths-Mt14cg41.js";
2
2
  import "./paths-CDoTDY_s.js";
3
3
  import "./logger-Bxlcwvue.js";
4
- import { So as DEFAULT_PROVIDER, an as saveSessionStore, m as resolveThinkingDefault, tn as loadSessionStore, xo as DEFAULT_MODEL } from "./model-selection-CS_9NrTE.js";
5
- import { d as resolveAgentTimeoutMs, f as resolveAgentIdentity, t as runEmbeddedPiAgent } from "./pi-embedded-Lk0-wBVJ.js";
4
+ import { So as DEFAULT_PROVIDER, an as saveSessionStore, m as resolveThinkingDefault, tn as loadSessionStore, xo as DEFAULT_MODEL } from "./model-selection-PlvJPOJ9.js";
5
+ import { d as resolveAgentTimeoutMs, f as resolveAgentIdentity, t as runEmbeddedPiAgent } from "./pi-embedded-XOWzcU4v.js";
6
6
  import "./github-copilot-token-CxpwfC_T.js";
7
7
  import "./env-BFnrIO45.js";
8
- import "./deliver-CODiAnbo.js";
9
- import "./diagnostic-BpFQ24Me.js";
10
- import "./audio-transcription-runner-BjxrFZhs.js";
11
- import "./pi-model-discovery-BHnYQuJe.js";
12
- import "./image-Hryb3xjW.js";
8
+ import "./deliver-DIDeQhCe.js";
9
+ import "./diagnostic-DGCbVfrY.js";
10
+ import "./audio-transcription-runner-DIwGKsNI.js";
11
+ import "./pi-model-discovery-DQwd8eWZ.js";
12
+ import "./image-kqy5P4_2.js";
13
13
  import "./local-roots-RZoycic0.js";
14
- import "./api-key-rotation-CpK2-BOi.js";
14
+ import "./api-key-rotation-ysMjkqBD.js";
15
15
  import "./proxy-fetch-BG4Z45Re.js";
16
16
  import "./fetch-SMEiEXa2.js";
17
17
  import "./fs-safe-E1EY4Cks.js";
18
- import "./manager-CxuSPBL7.js";
18
+ import "./manager-DFiUW_Ha.js";
19
19
  import "./query-expansion-ksb5Ehoc.js";
20
20
  export { DEFAULT_MODEL, DEFAULT_PROVIDER, ensureAgentWorkspace, loadSessionStore, resolveAgentDir, resolveAgentIdentity, resolveAgentTimeoutMs, resolveAgentWorkspaceDir, resolveSessionFilePath, resolveStorePath, resolveThinkingDefault, runEmbeddedPiAgent, saveSessionStore };
@@ -1,7 +1,7 @@
1
- import { t as createSubsystemLogger } from "./subsystem-Br253I8q.js";
2
- import { t as isTruthyEnvValue } from "./env-DGWeP3w5.js";
1
+ import { t as createSubsystemLogger } from "./subsystem-CDH9S_yW.js";
2
+ import { t as isTruthyEnvValue } from "./env-Bhn5CLil.js";
3
3
  import { r as bindAbortRelay, t as hasEnvHttpProxyConfigured } from "./proxy-env-C-Ky4p9K.js";
4
- import { t as getProxyUrlFromFetch } from "./proxy-fetch-CuFiQFud.js";
4
+ import { t as getProxyUrlFromFetch } from "./proxy-fetch-Spr_UMJ3.js";
5
5
  import process$1 from "node:process";
6
6
  import { Agent, EnvHttpProxyAgent, ProxyAgent, fetch } from "undici";
7
7
  import * as dns from "node:dns";
@@ -1,4 +1,4 @@
1
- import { n as withStrictGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-Dsd8UoGA.js";
1
+ import { n as withStrictGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-DGuF8Mhb.js";
2
2
  import path from "node:path";
3
3
  import { fileTypeFromBuffer } from "file-type";
4
4
  //#region src/media/constants.ts
@@ -1,4 +1,4 @@
1
- import { n as withStrictGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-DkMZHPzY.js";
1
+ import { n as withStrictGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-Bd5oI7xu.js";
2
2
  import path from "node:path";
3
3
  import { fileTypeFromBuffer } from "file-type";
4
4
  //#region src/media/constants.ts
@@ -1,6 +1,6 @@
1
- import { _ as redactSensitiveText } from "./paths-E3CbCLxE.js";
2
- import { i as logWarn } from "./logger-3NSI7j4D.js";
3
- import { Fi as isBlockedSpecialUseIpv4Address, Ii as isBlockedSpecialUseIpv6Address, Li as isCanonicalDottedDecimalIPv4, Pi as extractEmbeddedIpv4FromIpv6, Ri as isIpv4Address, Ui as parseCanonicalIpAddress, Wi as parseLooseIpAddress, zi as isLegacyIpv4Literal } from "./model-selection-BrTh8v9L.js";
1
+ import { _ as redactSensitiveText } from "./paths-Bg_l6kdG.js";
2
+ import { i as logWarn } from "./logger-BA9koAaC.js";
3
+ import { Fi as isBlockedSpecialUseIpv4Address, Ii as isBlockedSpecialUseIpv6Address, Li as isCanonicalDottedDecimalIPv4, Pi as extractEmbeddedIpv4FromIpv6, Ri as isIpv4Address, Ui as parseCanonicalIpAddress, Wi as parseLooseIpAddress, zi as isLegacyIpv4Literal } from "./model-selection-CvKAj7nY.js";
4
4
  import { n as hasProxyEnvConfigured, r as bindAbortRelay } from "./proxy-env-C-Ky4p9K.js";
5
5
  import { Agent, EnvHttpProxyAgent } from "undici";
6
6
  import { lookup } from "node:dns";
@@ -1,4 +1,4 @@
1
- import { Ao as isBlockedSpecialUseIpv4Address, Bo as parseCanonicalIpAddress, Io as isLegacyIpv4Literal, Mo as isCanonicalDottedDecimalIPv4, Po as isIpv4Address, Vo as parseLooseIpAddress, jo as isBlockedSpecialUseIpv6Address, ko as extractEmbeddedIpv4FromIpv6 } from "./model-selection-CftqhKNS.js";
1
+ import { Ao as isBlockedSpecialUseIpv4Address, Bo as parseCanonicalIpAddress, Io as isLegacyIpv4Literal, Mo as isCanonicalDottedDecimalIPv4, Po as isIpv4Address, Vo as parseLooseIpAddress, jo as isBlockedSpecialUseIpv6Address, ko as extractEmbeddedIpv4FromIpv6 } from "./model-selection-DU-DNNW7.js";
2
2
  import { i as logWarn } from "./logger-m0MK99MT.js";
3
3
  import { t as bindAbortRelay } from "./fetch-timeout-oCOYl-9e.js";
4
4
  import { n as hasProxyEnvConfigured } from "./proxy-env-G6JgJlRw.js";
@@ -1,4 +1,4 @@
1
- import { Ca as isLegacyIpv4Literal, Da as parseCanonicalIpAddress, Oa as parseLooseIpAddress, _a as isBlockedSpecialUseIpv4Address, ga as extractEmbeddedIpv4FromIpv6, va as isBlockedSpecialUseIpv6Address, xa as isIpv4Address, ya as isCanonicalDottedDecimalIPv4 } from "./auth-profiles-B5hyImOM.js";
1
+ import { Ca as isLegacyIpv4Literal, Da as parseCanonicalIpAddress, Oa as parseLooseIpAddress, _a as isBlockedSpecialUseIpv4Address, ga as extractEmbeddedIpv4FromIpv6, va as isBlockedSpecialUseIpv6Address, xa as isIpv4Address, ya as isCanonicalDottedDecimalIPv4 } from "./auth-profiles-D9Wn945p.js";
2
2
  import { i as logWarn } from "./logger-BXPKfRxc.js";
3
3
  import { t as bindAbortRelay } from "./fetch-timeout-B0N_Hvgw.js";
4
4
  import { n as hasProxyEnvConfigured } from "./proxy-env-E75UnVcC.js";
@@ -1,4 +1,4 @@
1
- import { n as withStrictGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-DDQrBzBv.js";
1
+ import { n as withStrictGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-dTCN4rW8.js";
2
2
  import path from "node:path";
3
3
  import { fileTypeFromBuffer } from "file-type";
4
4
  //#region src/media/constants.ts
@@ -1,7 +1,7 @@
1
- import { t as createSubsystemLogger } from "./subsystem-Br253I8q.js";
1
+ import { t as createSubsystemLogger } from "./subsystem-CDH9S_yW.js";
2
2
  import { t as parseBooleanValue } from "./boolean-C7Ct_klp.js";
3
3
  import path from "node:path";
4
- import syncFs from "node:fs";
4
+ import fs from "node:fs";
5
5
  import JSON5 from "json5";
6
6
  import YAML from "yaml";
7
7
  //#region src/hooks/internal-hooks.ts
@@ -200,7 +200,7 @@ function hasBinary(bin) {
200
200
  for (const part of parts) for (const ext of extensions) {
201
201
  const candidate = path.join(part, bin + ext);
202
202
  try {
203
- syncFs.accessSync(candidate, syncFs.constants.X_OK);
203
+ fs.accessSync(candidate, fs.constants.X_OK);
204
204
  hasBinaryCache.set(bin, true);
205
205
  return true;
206
206
  } catch {}
@@ -1,11 +1,11 @@
1
1
  import { _ as expandHomePrefix } from "./paths-BJV7vkaX.js";
2
- import { d as hasNodeErrorCode, f as isNotFoundPathError, m as isSymlinkOpenError, p as isPathInside, s as sameFileIdentity } from "./openclaw-root-B6cGCDGF.js";
2
+ import { d as hasNodeErrorCode, f as isNotFoundPathError, m as isSymlinkOpenError, p as isPathInside, s as sameFileIdentity } from "./openclaw-root-DbbVtnL2.js";
3
3
  import { i as logWarn } from "./logger-m0MK99MT.js";
4
- import { n as assertNoPathAliasEscape } from "./path-alias-guards-DJQOJx9a.js";
4
+ import { n as assertNoPathAliasEscape } from "./path-alias-guards-DBFU_Tqb.js";
5
5
  import { constants } from "node:fs";
6
6
  import os from "node:os";
7
7
  import path from "node:path";
8
- import fs$1 from "node:fs/promises";
8
+ import fsPromises from "node:fs/promises";
9
9
  import { spawn } from "node:child_process";
10
10
  import { randomUUID } from "node:crypto";
11
11
  import { once } from "node:events";
@@ -165,24 +165,24 @@ async function runPinnedWriteHelper(params) {
165
165
  }
166
166
  async function runPinnedWriteFallback(params) {
167
167
  const parentPath = params.relativeParentPath ? path.join(params.rootPath, ...params.relativeParentPath.split("/")) : params.rootPath;
168
- if (params.mkdir) await fs$1.mkdir(parentPath, { recursive: true });
168
+ if (params.mkdir) await fsPromises.mkdir(parentPath, { recursive: true });
169
169
  const targetPath = path.join(parentPath, params.basename);
170
170
  const tempPath = path.join(parentPath, `.${params.basename}.fallback.tmp`);
171
- if (params.input.kind === "buffer") if (typeof params.input.data === "string") await fs$1.writeFile(tempPath, params.input.data, {
171
+ if (params.input.kind === "buffer") if (typeof params.input.data === "string") await fsPromises.writeFile(tempPath, params.input.data, {
172
172
  encoding: params.input.encoding ?? "utf8",
173
173
  mode: params.mode
174
174
  });
175
- else await fs$1.writeFile(tempPath, params.input.data, { mode: params.mode });
175
+ else await fsPromises.writeFile(tempPath, params.input.data, { mode: params.mode });
176
176
  else {
177
- const handle = await fs$1.open(tempPath, "w", params.mode);
177
+ const handle = await fsPromises.open(tempPath, "w", params.mode);
178
178
  try {
179
179
  await pipeline(params.input.stream, handle.createWriteStream());
180
180
  } finally {
181
181
  await handle.close().catch(() => {});
182
182
  }
183
183
  }
184
- await fs$1.rename(tempPath, targetPath);
185
- const stat = await fs$1.stat(targetPath);
184
+ await fsPromises.rename(tempPath, targetPath);
185
+ const stat = await fsPromises.stat(targetPath);
186
186
  return {
187
187
  dev: stat.dev,
188
188
  ino: stat.ino
@@ -207,19 +207,19 @@ const ensureTrailingSep = (value) => value.endsWith(path.sep) ? value : value +
207
207
  async function expandRelativePathWithHome(relativePath) {
208
208
  let home = process.env.HOME || process.env.USERPROFILE || os.homedir();
209
209
  try {
210
- home = await fs$1.realpath(home);
210
+ home = await fsPromises.realpath(home);
211
211
  } catch {}
212
212
  return expandHomePrefix(relativePath, { home });
213
213
  }
214
214
  async function openVerifiedLocalFile(filePath, options) {
215
215
  try {
216
- if ((await fs$1.lstat(filePath)).isDirectory()) throw new SafeOpenError("not-file", "not a file");
216
+ if ((await fsPromises.lstat(filePath)).isDirectory()) throw new SafeOpenError("not-file", "not a file");
217
217
  } catch (err) {
218
218
  if (err instanceof SafeOpenError) throw err;
219
219
  }
220
220
  let handle;
221
221
  try {
222
- handle = await fs$1.open(filePath, OPEN_READ_FLAGS);
222
+ handle = await fsPromises.open(filePath, OPEN_READ_FLAGS);
223
223
  } catch (err) {
224
224
  if (isNotFoundPathError(err)) throw new SafeOpenError("not-found", "file not found");
225
225
  if (isSymlinkOpenError(err)) throw new SafeOpenError("symlink", "symlink open blocked", { cause: err });
@@ -227,13 +227,13 @@ async function openVerifiedLocalFile(filePath, options) {
227
227
  throw err;
228
228
  }
229
229
  try {
230
- const [stat, lstat] = await Promise.all([handle.stat(), fs$1.lstat(filePath)]);
230
+ const [stat, lstat] = await Promise.all([handle.stat(), fsPromises.lstat(filePath)]);
231
231
  if (lstat.isSymbolicLink()) throw new SafeOpenError("symlink", "symlink not allowed");
232
232
  if (!stat.isFile()) throw new SafeOpenError("not-file", "not a file");
233
233
  if (options?.rejectHardlinks && stat.nlink > 1) throw new SafeOpenError("invalid-path", "hardlinked path not allowed");
234
234
  if (!sameFileIdentity(stat, lstat)) throw new SafeOpenError("path-mismatch", "path changed during read");
235
- const realPath = await fs$1.realpath(filePath);
236
- const realStat = await fs$1.stat(realPath);
235
+ const realPath = await fsPromises.realpath(filePath);
236
+ const realStat = await fsPromises.stat(realPath);
237
237
  if (options?.rejectHardlinks && realStat.nlink > 1) throw new SafeOpenError("invalid-path", "hardlinked path not allowed");
238
238
  if (!sameFileIdentity(stat, realStat)) throw new SafeOpenError("path-mismatch", "path mismatch");
239
239
  return {
@@ -251,7 +251,7 @@ async function openVerifiedLocalFile(filePath, options) {
251
251
  async function resolvePathWithinRoot(params) {
252
252
  let rootReal;
253
253
  try {
254
- rootReal = await fs$1.realpath(params.rootDir);
254
+ rootReal = await fsPromises.realpath(params.rootDir);
255
255
  } catch (err) {
256
256
  if (isNotFoundPathError(err)) throw new SafeOpenError("not-found", "root dir not found");
257
257
  throw err;
@@ -352,7 +352,7 @@ function buildAtomicWriteTempPath(targetPath) {
352
352
  return path.join(dir, `.${base}.${process.pid}.${randomUUID()}.tmp`);
353
353
  }
354
354
  async function writeTempFileForAtomicReplace(params) {
355
- const tempHandle = await fs$1.open(params.tempPath, OPEN_WRITE_CREATE_FLAGS, params.mode);
355
+ const tempHandle = await fsPromises.open(params.tempPath, OPEN_WRITE_CREATE_FLAGS, params.mode);
356
356
  try {
357
357
  if (typeof params.data === "string") await tempHandle.writeFile(params.data, params.encoding ?? "utf8");
358
358
  else await tempHandle.writeFile(params.data);
@@ -362,7 +362,7 @@ async function writeTempFileForAtomicReplace(params) {
362
362
  }
363
363
  }
364
364
  async function verifyAtomicWriteResult(params) {
365
- const rootWithSep = ensureTrailingSep(await fs$1.realpath(params.rootDir));
365
+ const rootWithSep = ensureTrailingSep(await fsPromises.realpath(params.rootDir));
366
366
  const opened = await openVerifiedLocalFile(params.targetPath, { rejectHardlinks: true });
367
367
  try {
368
368
  if (!sameFileIdentity(opened.stat, params.expectedIdentity)) throw new SafeOpenError("path-mismatch", "path changed during write");
@@ -373,13 +373,13 @@ async function verifyAtomicWriteResult(params) {
373
373
  }
374
374
  async function resolveOpenedFileRealPathForHandle(handle, ioPath) {
375
375
  try {
376
- return await fs$1.realpath(ioPath);
376
+ return await fsPromises.realpath(ioPath);
377
377
  } catch (err) {
378
378
  if (!isNotFoundPathError(err)) throw err;
379
379
  }
380
380
  const fdCandidates = process.platform === "linux" ? [`/proc/self/fd/${handle.fd}`, `/dev/fd/${handle.fd}`] : process.platform === "win32" ? [] : [`/dev/fd/${handle.fd}`];
381
381
  for (const fdPath of fdCandidates) try {
382
- return await fs$1.realpath(fdPath);
382
+ return await fsPromises.realpath(fdPath);
383
383
  } catch {}
384
384
  throw new SafeOpenError("path-mismatch", "unable to resolve opened file path");
385
385
  }
@@ -394,10 +394,10 @@ async function openWritableFileWithinRoot(params) {
394
394
  } catch (err) {
395
395
  throw new SafeOpenError("invalid-path", "path alias escape blocked", { cause: err });
396
396
  }
397
- if (params.mkdir !== false) await fs$1.mkdir(path.dirname(resolved), { recursive: true });
397
+ if (params.mkdir !== false) await fsPromises.mkdir(path.dirname(resolved), { recursive: true });
398
398
  let ioPath = resolved;
399
399
  try {
400
- const resolvedRealPath = await fs$1.realpath(resolved);
400
+ const resolvedRealPath = await fsPromises.realpath(resolved);
401
401
  if (!isPathInside(rootWithSep, resolvedRealPath)) throw new SafeOpenError("outside-workspace", "file is outside workspace root");
402
402
  ioPath = resolvedRealPath;
403
403
  } catch (err) {
@@ -411,10 +411,10 @@ async function openWritableFileWithinRoot(params) {
411
411
  const createFlags = params.append ? OPEN_APPEND_CREATE_FLAGS : OPEN_WRITE_CREATE_FLAGS;
412
412
  try {
413
413
  try {
414
- handle = await fs$1.open(ioPath, existingFlags, fileMode);
414
+ handle = await fsPromises.open(ioPath, existingFlags, fileMode);
415
415
  } catch (err) {
416
416
  if (!isNotFoundPathError(err)) throw err;
417
- handle = await fs$1.open(ioPath, createFlags, fileMode);
417
+ handle = await fsPromises.open(ioPath, createFlags, fileMode);
418
418
  createdForWrite = true;
419
419
  }
420
420
  } catch (err) {
@@ -428,7 +428,7 @@ async function openWritableFileWithinRoot(params) {
428
428
  if (!stat.isFile()) throw new SafeOpenError("invalid-path", "path is not a regular file under root");
429
429
  if (stat.nlink > 1) throw new SafeOpenError("invalid-path", "hardlinked path not allowed");
430
430
  try {
431
- const lstat = await fs$1.lstat(ioPath);
431
+ const lstat = await fsPromises.lstat(ioPath);
432
432
  if (lstat.isSymbolicLink() || !lstat.isFile()) throw new SafeOpenError("invalid-path", "path is not a regular file under root");
433
433
  if (!sameFileIdentity(stat, lstat)) throw new SafeOpenError("path-mismatch", "path changed during write");
434
434
  } catch (err) {
@@ -436,7 +436,7 @@ async function openWritableFileWithinRoot(params) {
436
436
  }
437
437
  const realPath = await resolveOpenedFileRealPathForHandle(handle, ioPath);
438
438
  openedRealPath = realPath;
439
- const realStat = await fs$1.stat(realPath);
439
+ const realStat = await fsPromises.stat(realPath);
440
440
  if (!sameFileIdentity(stat, realStat)) throw new SafeOpenError("path-mismatch", "path mismatch");
441
441
  if (realStat.nlink > 1) throw new SafeOpenError("invalid-path", "hardlinked path not allowed");
442
442
  if (!isPathInside(rootWithSep, realPath)) throw new SafeOpenError("outside-workspace", "file is outside workspace root");
@@ -451,7 +451,7 @@ async function openWritableFileWithinRoot(params) {
451
451
  const cleanupCreatedPath = createdForWrite && err instanceof SafeOpenError;
452
452
  const cleanupPath = openedRealPath ?? ioPath;
453
453
  await handle.close().catch(() => {});
454
- if (cleanupCreatedPath) await fs$1.rm(cleanupPath, { force: true }).catch(() => {});
454
+ if (cleanupCreatedPath) await fsPromises.rm(cleanupPath, { force: true }).catch(() => {});
455
455
  throw err;
456
456
  }
457
457
  }
@@ -629,7 +629,7 @@ async function writeFileWithinRootLegacy(params) {
629
629
  encoding: params.encoding,
630
630
  mode: targetMode || 384
631
631
  });
632
- await fs$1.rename(tempPath, destinationPath);
632
+ await fsPromises.rename(tempPath, destinationPath);
633
633
  tempPath = null;
634
634
  try {
635
635
  await verifyAtomicWriteResult({
@@ -642,7 +642,7 @@ async function writeFileWithinRootLegacy(params) {
642
642
  throw err;
643
643
  }
644
644
  } finally {
645
- if (tempPath) await fs$1.rm(tempPath, { force: true }).catch(() => {});
645
+ if (tempPath) await fsPromises.rm(tempPath, { force: true }).catch(() => {});
646
646
  }
647
647
  }
648
648
  async function copyFileWithinRootLegacy(params, source) {
@@ -664,7 +664,7 @@ async function copyFileWithinRootLegacy(params, source) {
664
664
  await target.handle.close().catch(() => {});
665
665
  targetClosedByUs = true;
666
666
  tempPath = buildAtomicWriteTempPath(destinationPath);
667
- tempHandle = await fs$1.open(tempPath, OPEN_WRITE_CREATE_FLAGS, targetMode || 384);
667
+ tempHandle = await fsPromises.open(tempPath, OPEN_WRITE_CREATE_FLAGS, targetMode || 384);
668
668
  const sourceStream = source.handle.createReadStream();
669
669
  const targetStream = tempHandle.createWriteStream();
670
670
  sourceStream.once("close", () => {
@@ -674,13 +674,13 @@ async function copyFileWithinRootLegacy(params, source) {
674
674
  tempClosedByStream = true;
675
675
  });
676
676
  await import("node:stream/promises").then(({ pipeline }) => pipeline(sourceStream, targetStream));
677
- const writtenStat = await fs$1.stat(tempPath);
677
+ const writtenStat = await fsPromises.stat(tempPath);
678
678
  if (!tempClosedByStream) {
679
679
  await tempHandle.close().catch(() => {});
680
680
  tempClosedByStream = true;
681
681
  }
682
682
  tempHandle = null;
683
- await fs$1.rename(tempPath, destinationPath);
683
+ await fsPromises.rename(tempPath, destinationPath);
684
684
  tempPath = null;
685
685
  try {
686
686
  await verifyAtomicWriteResult({
@@ -693,10 +693,10 @@ async function copyFileWithinRootLegacy(params, source) {
693
693
  throw err;
694
694
  }
695
695
  } catch (err) {
696
- if (target?.createdForWrite) await fs$1.rm(target.openedRealPath, { force: true }).catch(() => {});
696
+ if (target?.createdForWrite) await fsPromises.rm(target.openedRealPath, { force: true }).catch(() => {});
697
697
  throw err;
698
698
  } finally {
699
- if (tempPath) await fs$1.rm(tempPath, { force: true }).catch(() => {});
699
+ if (tempPath) await fsPromises.rm(tempPath, { force: true }).catch(() => {});
700
700
  if (!sourceClosedByStream) await source.handle.close().catch(() => {});
701
701
  if (tempHandle && !tempClosedByStream) await tempHandle.close().catch(() => {});
702
702
  if (target && !targetClosedByUs) await target.handle.close().catch(() => {});
@@ -1,7 +1,7 @@
1
- import { h as assertNoPathAliasEscape } from "./paths-E3CbCLxE.js";
2
- import { c as expandHomePrefix } from "./paths-DHNo4U8q.js";
3
- import { A as isPathInside, O as hasNodeErrorCode, j as isSymlinkOpenError, k as isNotFoundPathError, w as sameFileIdentity } from "./workspace-DRRA3YH5.js";
4
- import { i as logWarn } from "./logger-3NSI7j4D.js";
1
+ import { h as assertNoPathAliasEscape } from "./paths-Bg_l6kdG.js";
2
+ import { c as expandHomePrefix } from "./paths-L_hqOE5A.js";
3
+ import { A as isPathInside, O as hasNodeErrorCode, j as isSymlinkOpenError, k as isNotFoundPathError, w as sameFileIdentity } from "./workspace-DiYGwuGk.js";
4
+ import { i as logWarn } from "./logger-BA9koAaC.js";
5
5
  import fs from "node:fs/promises";
6
6
  import os from "node:os";
7
7
  import path from "node:path";