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,17 +1,17 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-DUslC3ob.js";
2
- import { A as resolveDefaultAgentId, B as resolveAgentModelPrimaryValue, E as resolveAgentEffectiveModelPrimary, F as normalizeSkillFilter, L as normalizeHyphenSlug, N as resolveSessionAgentId, R as normalizeStringEntries, V as toAgentModelListLike, _ as redactSensitiveText, a as resolveSessionTranscriptPathInDir, c as formatSessionArchiveTimestamp, d as parseSessionArchiveTimestamp, f as materializeWindowsSpawnProgram, g as getDefaultRedactPatterns, h as assertNoPathAliasEscape, i as resolveSessionTranscriptPath, k as resolveAgentWorkspaceDir, l as isPrimarySessionTranscriptFileName, m as PATH_ALIAS_POLICIES, n as resolveSessionFilePath, p as resolveWindowsSpawnProgram, r as resolveSessionFilePathOptions, s as resolveStorePath, t as resolveDefaultSessionStorePath, u as isSessionArchiveArtifactName, w as resolveAgentConfig, x as runTasksWithConcurrency } from "./paths-E3CbCLxE.js";
3
- import { c as expandHomePrefix, n as resolveConfigPath, o as resolveOAuthPath, r as resolveDefaultConfigCandidates, s as resolveStateDir, t as STATE_DIR, u as resolveRequiredHomeDir } from "./paths-DHNo4U8q.js";
4
- import { C as readLoggingConfig, a as defaultRuntime, d as logVerbose, n as sanitizeForLog, r as stripAnsi, t as createSubsystemLogger, w as resolvePreferredOpenClawTmpDir } from "./subsystem-Br253I8q.js";
5
- import { A as isPathInside$2, B as normalizeMainKey, C as openVerifiedFileSync, D as resolvePathViaExistingAncestorSync, F as buildAgentMainSessionKey, J as normalizeOptionalAccountId, K as DEFAULT_ACCOUNT_ID, N as DEFAULT_AGENT_ID, S as openBoundaryFileSync, V as resolveAgentIdFromSessionKey, Y as isBlockedObjectKey, _ as runExec, a as DEFAULT_IDENTITY_FILENAME, b as canUseBoundaryFileOpen, c as DEFAULT_USER_FILENAME, h as resolveOpenClawPackageRootSync, i as DEFAULT_HEARTBEAT_FILENAME, l as ensureAgentWorkspace, n as DEFAULT_AGENT_WORKSPACE_DIR, o as DEFAULT_SOUL_FILENAME, q as normalizeAccountId$1, r as DEFAULT_BOOTSTRAP_FILENAME, s as DEFAULT_TOOLS_FILENAME, t as DEFAULT_AGENTS_FILENAME, x as openBoundaryFile, y as markOpenClawExecEnv, z as normalizeAgentId } from "./workspace-DRRA3YH5.js";
6
- import { S as isPlainObject$2, a as CONFIG_DIR, d as isRecord$4, f as normalizeE164, h as resolveUserPath, m as resolveConfigDir, o as clampInt, x as truncateUtf16Safe, y as sleep } from "./logger-3NSI7j4D.js";
7
- import { a as saveJsonFile, i as loadJsonFile, r as resolveCopilotApiToken, t as DEFAULT_COPILOT_API_BASE_URL } from "./github-copilot-token-DJKrUYl0.js";
8
- import { t as isTruthyEnvValue } from "./env-DGWeP3w5.js";
9
- import { a as parseOpenClawManifestInstallBase, c as resolveOpenClawManifestOs, d as evaluateRuntimeEligibility, f as hasBinary, i as parseFrontmatterBool, l as resolveOpenClawManifestRequires, m as MANIFEST_KEY, n as getFrontmatterString, o as resolveOpenClawManifestBlock, p as isConfigPathTruthyWithDefaults, r as normalizeStringList$1, s as resolveOpenClawManifestInstall, t as applyOpenClawManifestInstallCommonFields, u as parseFrontmatterBlock, v as registerInternalHook } from "./frontmatter-_kVsuvOa.js";
2
+ import { A as resolveDefaultAgentId, B as resolveAgentModelPrimaryValue, E as resolveAgentEffectiveModelPrimary, F as normalizeSkillFilter, L as normalizeHyphenSlug, N as resolveSessionAgentId, R as normalizeStringEntries, V as toAgentModelListLike, _ as redactSensitiveText, a as resolveSessionTranscriptPathInDir, c as formatSessionArchiveTimestamp, d as parseSessionArchiveTimestamp, f as materializeWindowsSpawnProgram, g as getDefaultRedactPatterns, h as assertNoPathAliasEscape, i as resolveSessionTranscriptPath, k as resolveAgentWorkspaceDir, l as isPrimarySessionTranscriptFileName, m as PATH_ALIAS_POLICIES, n as resolveSessionFilePath, p as resolveWindowsSpawnProgram, r as resolveSessionFilePathOptions, s as resolveStorePath, t as resolveDefaultSessionStorePath, u as isSessionArchiveArtifactName, w as resolveAgentConfig, x as runTasksWithConcurrency } from "./paths-Bg_l6kdG.js";
3
+ import { c as expandHomePrefix, n as resolveConfigPath, o as resolveOAuthPath, r as resolveDefaultConfigCandidates, s as resolveStateDir, t as STATE_DIR, u as resolveRequiredHomeDir } from "./paths-L_hqOE5A.js";
4
+ import { C as readLoggingConfig, a as defaultRuntime, d as logVerbose, n as sanitizeForLog, r as stripAnsi, t as createSubsystemLogger, w as resolvePreferredOpenClawTmpDir } from "./subsystem-CDH9S_yW.js";
5
+ import { A as isPathInside$2, B as normalizeMainKey, C as openVerifiedFileSync, D as resolvePathViaExistingAncestorSync, F as buildAgentMainSessionKey, J as normalizeOptionalAccountId, K as DEFAULT_ACCOUNT_ID, N as DEFAULT_AGENT_ID, S as openBoundaryFileSync, V as resolveAgentIdFromSessionKey, Y as isBlockedObjectKey, _ as runExec, a as DEFAULT_IDENTITY_FILENAME, b as canUseBoundaryFileOpen, c as DEFAULT_USER_FILENAME, h as resolveOpenClawPackageRootSync, i as DEFAULT_HEARTBEAT_FILENAME, l as ensureAgentWorkspace, n as DEFAULT_AGENT_WORKSPACE_DIR, o as DEFAULT_SOUL_FILENAME, q as normalizeAccountId$1, r as DEFAULT_BOOTSTRAP_FILENAME, s as DEFAULT_TOOLS_FILENAME, t as DEFAULT_AGENTS_FILENAME, x as openBoundaryFile, y as markOpenClawExecEnv, z as normalizeAgentId } from "./workspace-DiYGwuGk.js";
6
+ import { S as isPlainObject$2, a as CONFIG_DIR, d as isRecord$4, f as normalizeE164, h as resolveUserPath, m as resolveConfigDir, o as clampInt, x as truncateUtf16Safe, y as sleep } from "./logger-BA9koAaC.js";
7
+ import { a as saveJsonFile, i as loadJsonFile, r as resolveCopilotApiToken, t as DEFAULT_COPILOT_API_BASE_URL } from "./github-copilot-token-CLlAnyEf.js";
8
+ import { t as isTruthyEnvValue } from "./env-Bhn5CLil.js";
9
+ import { a as parseOpenClawManifestInstallBase, c as resolveOpenClawManifestOs, d as evaluateRuntimeEligibility, f as hasBinary, i as parseFrontmatterBool, l as resolveOpenClawManifestRequires, m as MANIFEST_KEY, n as getFrontmatterString, o as resolveOpenClawManifestBlock, p as isConfigPathTruthyWithDefaults, r as normalizeStringList$1, s as resolveOpenClawManifestInstall, t as applyOpenClawManifestInstallCommonFields, u as parseFrontmatterBlock, v as registerInternalHook } from "./frontmatter-CC95HXlE.js";
10
10
  import { createRequire } from "node:module";
11
11
  import fs from "node:fs/promises";
12
12
  import os from "node:os";
13
13
  import path, { posix } from "node:path";
14
- import syncFs from "node:fs";
14
+ import fs$1 from "node:fs";
15
15
  import JSON5 from "json5";
16
16
  import util, { isDeepStrictEqual } from "node:util";
17
17
  import { execFileSync, spawn } from "node:child_process";
@@ -236,7 +236,7 @@ function isValidPid(pid) {
236
236
  function isZombieProcess(pid) {
237
237
  if (process.platform !== "linux") return false;
238
238
  try {
239
- return syncFs.readFileSync(`/proc/${pid}/status`, "utf8").match(/^State:\s+(\S)/m)?.[1] === "Z";
239
+ return fs$1.readFileSync(`/proc/${pid}/status`, "utf8").match(/^State:\s+(\S)/m)?.[1] === "Z";
240
240
  } catch {
241
241
  return false;
242
242
  }
@@ -263,7 +263,7 @@ function getProcessStartTime(pid) {
263
263
  if (process.platform !== "linux") return null;
264
264
  if (!isValidPid(pid)) return null;
265
265
  try {
266
- const stat = syncFs.readFileSync(`/proc/${pid}/stat`, "utf8");
266
+ const stat = fs$1.readFileSync(`/proc/${pid}/stat`, "utf8");
267
267
  const commEndIndex = stat.lastIndexOf(")");
268
268
  if (commEndIndex < 0) return null;
269
269
  const fields = stat.slice(commEndIndex + 1).trimStart().split(/\s+/);
@@ -524,7 +524,7 @@ function resolveAuthStorePathForDisplay(agentDir) {
524
524
  return pathname.startsWith("~") ? pathname : resolveUserPath(pathname);
525
525
  }
526
526
  function ensureAuthStoreFile(pathname) {
527
- if (syncFs.existsSync(pathname)) return;
527
+ if (fs$1.existsSync(pathname)) return;
528
528
  saveJsonFile(pathname, {
529
529
  version: 1,
530
530
  profiles: {}
@@ -785,7 +785,7 @@ function loadAuthProfileStoreForAgent(agentDir, options) {
785
785
  if (shouldWrite && legacy !== null) {
786
786
  const legacyPath = resolveLegacyAuthStorePath(agentDir);
787
787
  try {
788
- syncFs.unlinkSync(legacyPath);
788
+ fs$1.unlinkSync(legacyPath);
789
789
  } catch (err) {
790
790
  if (err?.code !== "ENOENT") log$18.warn("failed to delete legacy auth.json after migration", {
791
791
  err,
@@ -968,7 +968,7 @@ function loadDotEnv(opts) {
968
968
  const quiet = opts?.quiet ?? true;
969
969
  dotenv.config({ quiet });
970
970
  const globalEnvPath = path.join(resolveConfigDir(process.env), ".env");
971
- if (!syncFs.existsSync(globalEnvPath)) return;
971
+ if (!fs$1.existsSync(globalEnvPath)) return;
972
972
  dotenv.config({
973
973
  quiet,
974
974
  path: globalEnvPath,
@@ -1117,7 +1117,7 @@ function resolveTimeoutMs(timeoutMs) {
1117
1117
  function readEtcShells() {
1118
1118
  if (cachedEtcShells !== void 0) return cachedEtcShells;
1119
1119
  try {
1120
- const entries = syncFs.readFileSync("/etc/shells", "utf8").split(/\r?\n/).map((line) => line.trim()).filter((line) => line.length > 0 && !line.startsWith("#") && path.isAbsolute(line));
1120
+ const entries = fs$1.readFileSync("/etc/shells", "utf8").split(/\r?\n/).map((line) => line.trim()).filter((line) => line.length > 0 && !line.startsWith("#") && path.isAbsolute(line));
1121
1121
  cachedEtcShells = new Set(entries);
1122
1122
  } catch {
1123
1123
  cachedEtcShells = null;
@@ -1604,7 +1604,7 @@ function resolveActiveTalkProviderConfig(talk) {
1604
1604
  };
1605
1605
  }
1606
1606
  function readTalkApiKeyFromProfile(deps = {}) {
1607
- const fsImpl = deps.fs ?? syncFs;
1607
+ const fsImpl = deps.fs ?? fs$1;
1608
1608
  const osImpl = deps.os ?? os;
1609
1609
  const pathImpl = deps.path ?? path;
1610
1610
  const home = osImpl.homedir();
@@ -2254,7 +2254,7 @@ function isPathInside$1(basePath, candidatePath) {
2254
2254
  }
2255
2255
  function safeRealpathSync$1(filePath) {
2256
2256
  try {
2257
- return syncFs.realpathSync(filePath);
2257
+ return fs$1.realpathSync(filePath);
2258
2258
  } catch {
2259
2259
  return null;
2260
2260
  }
@@ -2361,7 +2361,7 @@ var IncludeProcessor = class IncludeProcessor {
2361
2361
  const normalized = path.normalize(resolved);
2362
2362
  if (!isPathInside$1(this.rootDir, normalized)) throw new ConfigIncludeError(`Include path escapes config directory: ${includePath} (root: ${this.rootDir})`, includePath);
2363
2363
  try {
2364
- const real = syncFs.realpathSync(normalized);
2364
+ const real = fs$1.realpathSync(normalized);
2365
2365
  if (!isPathInside$1(this.rootRealDir, real)) throw new ConfigIncludeError(`Include path resolves outside config directory (symlink): ${includePath} (root: ${this.rootDir})`, includePath);
2366
2366
  } catch (err) {
2367
2367
  if (err instanceof ConfigIncludeError) throw err;
@@ -2403,13 +2403,13 @@ var IncludeProcessor = class IncludeProcessor {
2403
2403
  };
2404
2404
  function safeRealpath(target) {
2405
2405
  try {
2406
- return syncFs.realpathSync(target);
2406
+ return fs$1.realpathSync(target);
2407
2407
  } catch {
2408
2408
  return target;
2409
2409
  }
2410
2410
  }
2411
2411
  function readConfigIncludeFileWithGuards(params) {
2412
- const ioFs = params.ioFs ?? syncFs;
2412
+ const ioFs = params.ioFs ?? fs$1;
2413
2413
  const maxBytes = params.maxBytes ?? 2097152;
2414
2414
  if (!canUseBoundaryFileOpen(ioFs)) return ioFs.readFileSync(params.resolvedPath, "utf-8");
2415
2415
  const opened = openBoundaryFileSync({
@@ -2432,7 +2432,7 @@ function readConfigIncludeFileWithGuards(params) {
2432
2432
  }
2433
2433
  }
2434
2434
  const defaultResolver = {
2435
- readFile: (p) => syncFs.readFileSync(p, "utf-8"),
2435
+ readFile: (p) => fs$1.readFileSync(p, "utf-8"),
2436
2436
  readFileWithGuards: ({ includePath, resolvedPath, rootRealDir }) => readConfigIncludeFileWithGuards({
2437
2437
  includePath,
2438
2438
  resolvedPath,
@@ -4020,7 +4020,7 @@ function normalizeMatchTarget(value) {
4020
4020
  }
4021
4021
  function tryRealpath$1(value) {
4022
4022
  try {
4023
- return syncFs.realpathSync(value);
4023
+ return fs$1.realpathSync(value);
4024
4024
  } catch {
4025
4025
  return null;
4026
4026
  }
@@ -4578,8 +4578,8 @@ function resolveWindowsExecutableExtensions(executable, env) {
4578
4578
  }
4579
4579
  function isExecutableFile(filePath) {
4580
4580
  try {
4581
- if (!syncFs.statSync(filePath).isFile()) return false;
4582
- if (process.platform !== "win32") syncFs.accessSync(filePath, syncFs.constants.X_OK);
4581
+ if (!fs$1.statSync(filePath).isFile()) return false;
4582
+ if (process.platform !== "win32") fs$1.accessSync(filePath, fs$1.constants.X_OK);
4583
4583
  return true;
4584
4584
  } catch {
4585
4585
  return false;
@@ -4617,7 +4617,7 @@ const DEFAULT_SAFE_BINS = [
4617
4617
  function tryResolveRealpath(filePath) {
4618
4618
  if (!filePath) return;
4619
4619
  try {
4620
- return syncFs.realpathSync(filePath);
4620
+ return fs$1.realpathSync(filePath);
4621
4621
  } catch {
4622
4622
  return;
4623
4623
  }
@@ -5497,7 +5497,7 @@ function listWritableExplicitTrustedSafeBinDirs(entries) {
5497
5497
  for (const dir of resolved) {
5498
5498
  let stat;
5499
5499
  try {
5500
- stat = syncFs.statSync(dir);
5500
+ stat = fs$1.statSync(dir);
5501
5501
  } catch {
5502
5502
  continue;
5503
5503
  }
@@ -6698,13 +6698,13 @@ function resolveBundledPluginsDir() {
6698
6698
  try {
6699
6699
  const execDir = path.dirname(process.execPath);
6700
6700
  const sibling = path.join(execDir, "extensions");
6701
- if (syncFs.existsSync(sibling)) return sibling;
6701
+ if (fs$1.existsSync(sibling)) return sibling;
6702
6702
  } catch {}
6703
6703
  try {
6704
6704
  let cursor = path.dirname(fileURLToPath(import.meta.url));
6705
6705
  for (let i = 0; i < 6; i += 1) {
6706
6706
  const candidate = path.join(cursor, "extensions");
6707
- if (syncFs.existsSync(candidate)) return candidate;
6707
+ if (fs$1.existsSync(candidate)) return candidate;
6708
6708
  const parent = path.dirname(cursor);
6709
6709
  if (parent === cursor) break;
6710
6710
  cursor = parent;
@@ -6722,7 +6722,7 @@ function normalizeStringList(value) {
6722
6722
  function resolvePluginManifestPath(rootDir) {
6723
6723
  for (const filename of PLUGIN_MANIFEST_FILENAMES) {
6724
6724
  const candidate = path.join(rootDir, filename);
6725
- if (syncFs.existsSync(candidate)) return candidate;
6725
+ if (fs$1.existsSync(candidate)) return candidate;
6726
6726
  }
6727
6727
  return path.join(rootDir, PLUGIN_MANIFEST_FILENAME);
6728
6728
  }
@@ -6748,7 +6748,7 @@ function loadPluginManifest(rootDir, rejectHardlinks = true) {
6748
6748
  }
6749
6749
  let raw;
6750
6750
  try {
6751
- raw = JSON.parse(syncFs.readFileSync(opened.fd, "utf-8"));
6751
+ raw = JSON.parse(fs$1.readFileSync(opened.fd, "utf-8"));
6752
6752
  } catch (err) {
6753
6753
  return {
6754
6754
  ok: false,
@@ -6756,7 +6756,7 @@ function loadPluginManifest(rootDir, rejectHardlinks = true) {
6756
6756
  manifestPath
6757
6757
  };
6758
6758
  } finally {
6759
- syncFs.closeSync(opened.fd);
6759
+ fs$1.closeSync(opened.fd);
6760
6760
  }
6761
6761
  if (!isRecord$4(raw)) return {
6762
6762
  ok: false,
@@ -6836,7 +6836,7 @@ function safeRealpathSync(targetPath, cache) {
6836
6836
  const cached = cache?.get(targetPath);
6837
6837
  if (cached) return cached;
6838
6838
  try {
6839
- const resolved = syncFs.realpathSync(targetPath);
6839
+ const resolved = fs$1.realpathSync(targetPath);
6840
6840
  cache?.set(targetPath, resolved);
6841
6841
  return resolved;
6842
6842
  } catch {
@@ -6845,7 +6845,7 @@ function safeRealpathSync(targetPath, cache) {
6845
6845
  }
6846
6846
  function safeStatSync(targetPath) {
6847
6847
  try {
6848
- return syncFs.statSync(targetPath);
6848
+ return fs$1.statSync(targetPath);
6849
6849
  } catch {
6850
6850
  return null;
6851
6851
  }
@@ -6994,12 +6994,12 @@ function readPackageManifest(dir, rejectHardlinks = true) {
6994
6994
  });
6995
6995
  if (!opened.ok) return null;
6996
6996
  try {
6997
- const raw = syncFs.readFileSync(opened.fd, "utf-8");
6997
+ const raw = fs$1.readFileSync(opened.fd, "utf-8");
6998
6998
  return JSON.parse(raw);
6999
6999
  } catch {
7000
7000
  return null;
7001
7001
  } finally {
7002
- syncFs.closeSync(opened.fd);
7002
+ fs$1.closeSync(opened.fd);
7003
7003
  }
7004
7004
  }
7005
7005
  function deriveIdHint(params) {
@@ -7052,14 +7052,14 @@ function resolvePackageEntrySource(params) {
7052
7052
  return null;
7053
7053
  }
7054
7054
  const safeSource = opened.path;
7055
- syncFs.closeSync(opened.fd);
7055
+ fs$1.closeSync(opened.fd);
7056
7056
  return safeSource;
7057
7057
  }
7058
7058
  function discoverInDirectory(params) {
7059
- if (!syncFs.existsSync(params.dir)) return;
7059
+ if (!fs$1.existsSync(params.dir)) return;
7060
7060
  let entries = [];
7061
7061
  try {
7062
- entries = syncFs.readdirSync(params.dir, { withFileTypes: true });
7062
+ entries = fs$1.readdirSync(params.dir, { withFileTypes: true });
7063
7063
  } catch (err) {
7064
7064
  params.diagnostics.push({
7065
7065
  level: "warn",
@@ -7120,7 +7120,7 @@ function discoverInDirectory(params) {
7120
7120
  }
7121
7121
  continue;
7122
7122
  }
7123
- const indexFile = [...DEFAULT_PLUGIN_ENTRY_CANDIDATES].map((candidate) => path.join(fullPath, candidate)).find((candidate) => syncFs.existsSync(candidate));
7123
+ const indexFile = [...DEFAULT_PLUGIN_ENTRY_CANDIDATES].map((candidate) => path.join(fullPath, candidate)).find((candidate) => fs$1.existsSync(candidate));
7124
7124
  if (indexFile && isExtensionFile(indexFile)) addCandidate({
7125
7125
  candidates: params.candidates,
7126
7126
  diagnostics: params.diagnostics,
@@ -7138,7 +7138,7 @@ function discoverInDirectory(params) {
7138
7138
  }
7139
7139
  function discoverFromPath(params) {
7140
7140
  const resolved = resolveUserPath(params.rawPath);
7141
- if (!syncFs.existsSync(resolved)) {
7141
+ if (!fs$1.existsSync(resolved)) {
7142
7142
  params.diagnostics.push({
7143
7143
  level: "error",
7144
7144
  message: `plugin path not found: ${resolved}`,
@@ -7146,7 +7146,7 @@ function discoverFromPath(params) {
7146
7146
  });
7147
7147
  return;
7148
7148
  }
7149
- const stat = syncFs.statSync(resolved);
7149
+ const stat = fs$1.statSync(resolved);
7150
7150
  if (stat.isFile()) {
7151
7151
  if (!isExtensionFile(resolved)) {
7152
7152
  params.diagnostics.push({
@@ -7204,7 +7204,7 @@ function discoverFromPath(params) {
7204
7204
  }
7205
7205
  return;
7206
7206
  }
7207
- const indexFile = [...DEFAULT_PLUGIN_ENTRY_CANDIDATES].map((candidate) => path.join(resolved, candidate)).find((candidate) => syncFs.existsSync(candidate));
7207
+ const indexFile = [...DEFAULT_PLUGIN_ENTRY_CANDIDATES].map((candidate) => path.join(resolved, candidate)).find((candidate) => fs$1.existsSync(candidate));
7208
7208
  if (indexFile && isExtensionFile(indexFile)) {
7209
7209
  addCandidate({
7210
7210
  candidates: params.candidates,
@@ -7336,7 +7336,7 @@ function buildCacheKey$1(params) {
7336
7336
  }
7337
7337
  function safeStatMtimeMs(filePath) {
7338
7338
  try {
7339
- return syncFs.statSync(filePath).mtimeMs;
7339
+ return fs$1.statSync(filePath).mtimeMs;
7340
7340
  } catch {
7341
7341
  return null;
7342
7342
  }
@@ -9135,6 +9135,18 @@ const AgentDefaultsSchema = z.object({
9135
9135
  contextTokens: z.number().int().positive().optional(),
9136
9136
  cliBackends: z.record(z.string(), CliBackendSchema).optional(),
9137
9137
  memorySearch: MemorySearchSchema,
9138
+ memoryRecall: z.object({
9139
+ enabled: z.boolean().optional(),
9140
+ minMessageLength: z.number().int().nonnegative().optional(),
9141
+ maxResults: z.number().int().positive().optional(),
9142
+ minScore: z.number().min(0).max(1).optional(),
9143
+ maxTokens: z.number().int().positive().optional(),
9144
+ skipHeartbeats: z.boolean().optional(),
9145
+ skipCron: z.boolean().optional(),
9146
+ excludeBootstrapped: z.boolean().optional(),
9147
+ randomSlot: z.boolean().optional(),
9148
+ respectTemporalDecay: z.boolean().optional()
9149
+ }).strict().optional(),
9138
9150
  history: HistorySchema,
9139
9151
  contextPruning: z.object({
9140
9152
  mode: z.union([z.literal("off"), z.literal("cache-ttl")]).optional(),
@@ -12655,7 +12667,7 @@ function resolveConfigPathForDeps(deps) {
12655
12667
  }
12656
12668
  function normalizeDeps(overrides = {}) {
12657
12669
  return {
12658
- fs: overrides.fs ?? syncFs,
12670
+ fs: overrides.fs ?? fs$1,
12659
12671
  json5: overrides.json5 ?? JSON5,
12660
12672
  env: overrides.env ?? process.env,
12661
12673
  homedir: overrides.homedir ?? (() => resolveRequiredHomeDir(overrides.env ?? process.env, os.homedir)),
@@ -15858,13 +15870,13 @@ function shortPath(value) {
15858
15870
  //#region src/agents/skills/bundled-dir.ts
15859
15871
  function looksLikeSkillsDir(dir) {
15860
15872
  try {
15861
- const entries = syncFs.readdirSync(dir, { withFileTypes: true });
15873
+ const entries = fs$1.readdirSync(dir, { withFileTypes: true });
15862
15874
  for (const entry of entries) {
15863
15875
  if (entry.name.startsWith(".")) continue;
15864
15876
  const fullPath = path.join(dir, entry.name);
15865
15877
  if (entry.isFile() && entry.name.endsWith(".md")) return true;
15866
15878
  if (entry.isDirectory()) {
15867
- if (syncFs.existsSync(path.join(fullPath, "SKILL.md"))) return true;
15879
+ if (fs$1.existsSync(path.join(fullPath, "SKILL.md"))) return true;
15868
15880
  }
15869
15881
  }
15870
15882
  } catch {
@@ -15879,7 +15891,7 @@ function resolveBundledSkillsDir(opts = {}) {
15879
15891
  const execPath = opts.execPath ?? process.execPath;
15880
15892
  const execDir = path.dirname(execPath);
15881
15893
  const sibling = path.join(execDir, "skills");
15882
- if (syncFs.existsSync(sibling)) return sibling;
15894
+ if (fs$1.existsSync(sibling)) return sibling;
15883
15895
  } catch {}
15884
15896
  try {
15885
15897
  const moduleUrl = opts.moduleUrl ?? import.meta.url;
@@ -15941,7 +15953,7 @@ function resolvePluginSkillDirs(params) {
15941
15953
  const trimmed = raw.trim();
15942
15954
  if (!trimmed) continue;
15943
15955
  const candidate = path.resolve(record.rootDir, trimmed);
15944
- if (!syncFs.existsSync(candidate)) {
15956
+ if (!fs$1.existsSync(candidate)) {
15945
15957
  log$15.warn(`plugin skill path not found (${record.id}): ${candidate}`);
15946
15958
  continue;
15947
15959
  }
@@ -15970,7 +15982,7 @@ async function serializeByKey(key, task) {
15970
15982
  }
15971
15983
  //#endregion
15972
15984
  //#region src/agents/skills/workspace.ts
15973
- const fsp = syncFs.promises;
15985
+ const fsp = fs$1.promises;
15974
15986
  const skillsLogger = createSubsystemLogger("skills");
15975
15987
  const skillCommandDebugOnce = /* @__PURE__ */ new Set();
15976
15988
  function debugSkillCommandOnce(messageKey, message, meta) {
@@ -16028,7 +16040,7 @@ function resolveSkillsLimits(config) {
16028
16040
  }
16029
16041
  function listChildDirectories(dir) {
16030
16042
  try {
16031
- const entries = syncFs.readdirSync(dir, { withFileTypes: true });
16043
+ const entries = fs$1.readdirSync(dir, { withFileTypes: true });
16032
16044
  const dirs = [];
16033
16045
  for (const entry of entries) {
16034
16046
  if (entry.name.startsWith(".")) continue;
@@ -16039,7 +16051,7 @@ function listChildDirectories(dir) {
16039
16051
  continue;
16040
16052
  }
16041
16053
  if (entry.isSymbolicLink()) try {
16042
- if (syncFs.statSync(fullPath).isDirectory()) dirs.push(entry.name);
16054
+ if (fs$1.statSync(fullPath).isDirectory()) dirs.push(entry.name);
16043
16055
  } catch {}
16044
16056
  }
16045
16057
  return dirs;
@@ -16049,7 +16061,7 @@ function listChildDirectories(dir) {
16049
16061
  }
16050
16062
  function tryRealpath(filePath) {
16051
16063
  try {
16052
- return syncFs.realpathSync(filePath);
16064
+ return fs$1.realpathSync(filePath);
16053
16065
  } catch {
16054
16066
  return null;
16055
16067
  }
@@ -16094,7 +16106,7 @@ function filterLoadedSkillsInsideRoot(params) {
16094
16106
  function resolveNestedSkillsRoot(dir, opts) {
16095
16107
  const nested = path.join(dir, "skills");
16096
16108
  try {
16097
- if (!syncFs.existsSync(nested) || !syncFs.statSync(nested).isDirectory()) return { baseDir: dir };
16109
+ if (!fs$1.existsSync(nested) || !fs$1.statSync(nested).isDirectory()) return { baseDir: dir };
16098
16110
  } catch {
16099
16111
  return { baseDir: dir };
16100
16112
  }
@@ -16103,7 +16115,7 @@ function resolveNestedSkillsRoot(dir, opts) {
16103
16115
  const toScan = scanLimit === 0 ? [] : nestedDirs.slice(0, Math.min(nestedDirs.length, scanLimit));
16104
16116
  for (const name of toScan) {
16105
16117
  const skillMd = path.join(nested, name, "SKILL.md");
16106
- if (syncFs.existsSync(skillMd)) return {
16118
+ if (fs$1.existsSync(skillMd)) return {
16107
16119
  baseDir: nested,
16108
16120
  note: `Detected nested skills root at ${nested}`
16109
16121
  };
@@ -16132,7 +16144,7 @@ function loadSkillEntries(workspaceDir, opts) {
16132
16144
  });
16133
16145
  if (!baseDirRealPath) return [];
16134
16146
  const rootSkillMd = path.join(baseDir, "SKILL.md");
16135
- if (syncFs.existsSync(rootSkillMd)) {
16147
+ if (fs$1.existsSync(rootSkillMd)) {
16136
16148
  const rootSkillRealPath = resolveContainedSkillPath({
16137
16149
  source: params.source,
16138
16150
  rootDir,
@@ -16141,7 +16153,7 @@ function loadSkillEntries(workspaceDir, opts) {
16141
16153
  });
16142
16154
  if (!rootSkillRealPath) return [];
16143
16155
  try {
16144
- const size = syncFs.statSync(rootSkillRealPath).size;
16156
+ const size = fs$1.statSync(rootSkillRealPath).size;
16145
16157
  if (size > limits.maxSkillFileBytes) {
16146
16158
  skillsLogger.warn("Skipping skills root due to oversized SKILL.md.", {
16147
16159
  dir: baseDir,
@@ -16191,7 +16203,7 @@ function loadSkillEntries(workspaceDir, opts) {
16191
16203
  candidatePath: skillDir
16192
16204
  })) continue;
16193
16205
  const skillMd = path.join(skillDir, "SKILL.md");
16194
- if (!syncFs.existsSync(skillMd)) continue;
16206
+ if (!fs$1.existsSync(skillMd)) continue;
16195
16207
  const skillMdRealPath = resolveContainedSkillPath({
16196
16208
  source: params.source,
16197
16209
  rootDir,
@@ -16200,7 +16212,7 @@ function loadSkillEntries(workspaceDir, opts) {
16200
16212
  });
16201
16213
  if (!skillMdRealPath) continue;
16202
16214
  try {
16203
- const size = syncFs.statSync(skillMdRealPath).size;
16215
+ const size = fs$1.statSync(skillMdRealPath).size;
16204
16216
  if (size > limits.maxSkillFileBytes) {
16205
16217
  skillsLogger.warn("Skipping skill due to oversized SKILL.md.", {
16206
16218
  skill: name,
@@ -16273,7 +16285,7 @@ function loadSkillEntries(workspaceDir, opts) {
16273
16285
  return Array.from(merged.values()).map((skill) => {
16274
16286
  let frontmatter = {};
16275
16287
  try {
16276
- frontmatter = parseFrontmatter(syncFs.readFileSync(skill.filePath, "utf-8"));
16288
+ frontmatter = parseFrontmatter(fs$1.readFileSync(skill.filePath, "utf-8"));
16277
16289
  } catch {}
16278
16290
  return {
16279
16291
  skill,
@@ -16558,7 +16570,7 @@ function releaseAllLocksSync() {
16558
16570
  if (typeof held.handle.close === "function") held.handle.close().catch(() => {});
16559
16571
  } catch {}
16560
16572
  try {
16561
- syncFs.rmSync(held.lockPath, { force: true });
16573
+ fs$1.rmSync(held.lockPath, { force: true });
16562
16574
  } catch {}
16563
16575
  HELD_LOCKS.delete(sessionFile);
16564
16576
  }
@@ -17807,7 +17819,7 @@ var SandboxFsPathGuard = class {
17807
17819
  if (guarded.reason !== "path") {
17808
17820
  if (!(options.allowedType === "directory" && this.pathIsExistingDirectory(target.hostPath))) throw guarded.error instanceof Error ? guarded.error : /* @__PURE__ */ new Error(`Sandbox boundary checks failed; cannot ${options.action}: ${target.containerPath}`);
17809
17821
  }
17810
- } else syncFs.closeSync(guarded.fd);
17822
+ } else fs$1.closeSync(guarded.fd);
17811
17823
  const canonicalContainerPath = await this.resolveCanonicalContainerPath({
17812
17824
  containerPath: target.containerPath,
17813
17825
  allowFinalSymlinkForUnlink: options.aliasPolicy?.allowFinalSymlinkForUnlink === true
@@ -17849,7 +17861,7 @@ var SandboxFsPathGuard = class {
17849
17861
  }
17850
17862
  pathIsExistingDirectory(hostPath) {
17851
17863
  try {
17852
- return syncFs.statSync(hostPath).isDirectory();
17864
+ return fs$1.statSync(hostPath).isDirectory();
17853
17865
  } catch {
17854
17866
  return false;
17855
17867
  }
@@ -18198,9 +18210,9 @@ var SandboxFsBridgeImpl = class {
18198
18210
  async readPinnedFile(target) {
18199
18211
  const opened = await this.pathGuard.openReadableFile(target);
18200
18212
  try {
18201
- return syncFs.readFileSync(opened.fd);
18213
+ return fs$1.readFileSync(opened.fd);
18202
18214
  } finally {
18203
- syncFs.closeSync(opened.fd);
18215
+ fs$1.closeSync(opened.fd);
18204
18216
  }
18205
18217
  }
18206
18218
  async runCheckedCommand(plan) {
@@ -18476,7 +18488,7 @@ function loadSecretFileSync(filePath, label, options = {}) {
18476
18488
  const maxBytes = options.maxBytes ?? 16384;
18477
18489
  let previewStat;
18478
18490
  try {
18479
- previewStat = syncFs.lstatSync(resolvedPath);
18491
+ previewStat = fs$1.lstatSync(resolvedPath);
18480
18492
  } catch (error) {
18481
18493
  return {
18482
18494
  ok: false,
@@ -18515,7 +18527,7 @@ function loadSecretFileSync(filePath, label, options = {}) {
18515
18527
  };
18516
18528
  }
18517
18529
  try {
18518
- const secret = syncFs.readFileSync(opened.fd, "utf8").trim();
18530
+ const secret = fs$1.readFileSync(opened.fd, "utf8").trim();
18519
18531
  if (!secret) return {
18520
18532
  ok: false,
18521
18533
  resolvedPath,
@@ -18534,7 +18546,7 @@ function loadSecretFileSync(filePath, label, options = {}) {
18534
18546
  message: `Failed to read ${label} file at ${resolvedPath}: ${String(error)}`
18535
18547
  };
18536
18548
  } finally {
18537
- syncFs.closeSync(opened.fd);
18549
+ fs$1.closeSync(opened.fd);
18538
18550
  }
18539
18551
  }
18540
18552
  function tryReadSecretFileSync(filePath, label, options = {}) {
@@ -19941,14 +19953,14 @@ function resolveSessionTranscriptCandidates(sessionId, storePath, sessionFile, a
19941
19953
  function canonicalizePathForComparison$1(filePath) {
19942
19954
  const resolved = path.resolve(filePath);
19943
19955
  try {
19944
- return syncFs.realpathSync(resolved);
19956
+ return fs$1.realpathSync(resolved);
19945
19957
  } catch {
19946
19958
  return resolved;
19947
19959
  }
19948
19960
  }
19949
19961
  function archiveFileOnDisk(filePath, reason) {
19950
19962
  const archived = `${filePath}.${reason}.${formatSessionArchiveTimestamp()}`;
19951
- syncFs.renameSync(filePath, archived);
19963
+ fs$1.renameSync(filePath, archived);
19952
19964
  return archived;
19953
19965
  }
19954
19966
  /**
@@ -19964,7 +19976,7 @@ function archiveSessionTranscripts(opts) {
19964
19976
  const relative = path.relative(storeDir, candidatePath);
19965
19977
  if (!relative || relative.startsWith("..") || path.isAbsolute(relative)) continue;
19966
19978
  }
19967
- if (!syncFs.existsSync(candidatePath)) continue;
19979
+ if (!fs$1.existsSync(candidatePath)) continue;
19968
19980
  try {
19969
19981
  archived.push(archiveFileOnDisk(candidatePath, opts.reason));
19970
19982
  } catch {}
@@ -19982,15 +19994,15 @@ async function cleanupArchivedSessionTranscripts(opts) {
19982
19994
  let removed = 0;
19983
19995
  let scanned = 0;
19984
19996
  for (const dir of directories) {
19985
- const entries = await syncFs.promises.readdir(dir).catch(() => []);
19997
+ const entries = await fs$1.promises.readdir(dir).catch(() => []);
19986
19998
  for (const entry of entries) {
19987
19999
  const timestamp = parseSessionArchiveTimestamp(entry, reason);
19988
20000
  if (timestamp == null) continue;
19989
20001
  scanned += 1;
19990
20002
  if (now - timestamp <= opts.olderThanMs) continue;
19991
20003
  const fullPath = path.join(dir, entry);
19992
- if (!(await syncFs.promises.stat(fullPath).catch(() => null))?.isFile()) continue;
19993
- await syncFs.promises.rm(fullPath).catch(() => void 0);
20004
+ if (!(await fs$1.promises.stat(fullPath).catch(() => null))?.isFile()) continue;
20005
+ await fs$1.promises.rm(fullPath).catch(() => void 0);
19994
20006
  removed += 1;
19995
20007
  }
19996
20008
  }
@@ -20137,7 +20149,7 @@ function isCacheEnabled(ttlMs) {
20137
20149
  }
20138
20150
  function getFileStatSnapshot(filePath) {
20139
20151
  try {
20140
- const stats = syncFs.statSync(filePath);
20152
+ const stats = fs$1.statSync(filePath);
20141
20153
  return {
20142
20154
  mtimeMs: stats.mtimeMs,
20143
20155
  sizeBytes: stats.size
@@ -20155,7 +20167,7 @@ const NOOP_LOGGER = {
20155
20167
  function canonicalizePathForComparison(filePath) {
20156
20168
  const resolved = path.resolve(filePath);
20157
20169
  try {
20158
- return syncFs.realpathSync(resolved);
20170
+ return fs$1.realpathSync(resolved);
20159
20171
  } catch {
20160
20172
  return resolved;
20161
20173
  }
@@ -20213,12 +20225,12 @@ function resolveReferencedSessionTranscriptPaths(params) {
20213
20225
  return referenced;
20214
20226
  }
20215
20227
  async function readSessionsDirFiles(sessionsDir) {
20216
- const dirEntries = await syncFs.promises.readdir(sessionsDir, { withFileTypes: true }).catch(() => []);
20228
+ const dirEntries = await fs$1.promises.readdir(sessionsDir, { withFileTypes: true }).catch(() => []);
20217
20229
  const files = [];
20218
20230
  for (const dirent of dirEntries) {
20219
20231
  if (!dirent.isFile()) continue;
20220
20232
  const filePath = path.join(sessionsDir, dirent.name);
20221
- const stat = await syncFs.promises.stat(filePath).catch(() => null);
20233
+ const stat = await fs$1.promises.stat(filePath).catch(() => null);
20222
20234
  if (!stat?.isFile()) continue;
20223
20235
  files.push({
20224
20236
  path: filePath,
@@ -20231,9 +20243,9 @@ async function readSessionsDirFiles(sessionsDir) {
20231
20243
  return files;
20232
20244
  }
20233
20245
  async function removeFileIfExists(filePath) {
20234
- const stat = await syncFs.promises.stat(filePath).catch(() => null);
20246
+ const stat = await fs$1.promises.stat(filePath).catch(() => null);
20235
20247
  if (!stat?.isFile()) return 0;
20236
- await syncFs.promises.rm(filePath, { force: true }).catch(() => void 0);
20248
+ await fs$1.promises.rm(filePath, { force: true }).catch(() => void 0);
20237
20249
  return stat.size;
20238
20250
  }
20239
20251
  async function removeFileForBudget(params) {
@@ -20590,7 +20602,7 @@ function capEntryCount(store, overrideMax, opts = {}) {
20590
20602
  }
20591
20603
  async function getSessionFileSize(storePath) {
20592
20604
  try {
20593
- return (await syncFs.promises.stat(storePath)).size;
20605
+ return (await fs$1.promises.stat(storePath)).size;
20594
20606
  } catch {
20595
20607
  return null;
20596
20608
  }
@@ -20607,7 +20619,7 @@ async function rotateSessionFile(storePath, overrideBytes) {
20607
20619
  if (fileSize <= maxBytes) return false;
20608
20620
  const backupPath = `${storePath}.bak.${Date.now()}`;
20609
20621
  try {
20610
- await syncFs.promises.rename(storePath, backupPath);
20622
+ await fs$1.promises.rename(storePath, backupPath);
20611
20623
  log$12.info("rotated session store file", {
20612
20624
  backupPath: path.basename(backupPath),
20613
20625
  sizeBytes: fileSize
@@ -20618,11 +20630,11 @@ async function rotateSessionFile(storePath, overrideBytes) {
20618
20630
  try {
20619
20631
  const dir = path.dirname(storePath);
20620
20632
  const baseName = path.basename(storePath);
20621
- const backups = (await syncFs.promises.readdir(dir)).filter((f) => f.startsWith(`${baseName}.bak.`)).toSorted().toReversed();
20633
+ const backups = (await fs$1.promises.readdir(dir)).filter((f) => f.startsWith(`${baseName}.bak.`)).toSorted().toReversed();
20622
20634
  const maxBackups = 3;
20623
20635
  if (backups.length > maxBackups) {
20624
20636
  const toDelete = backups.slice(maxBackups);
20625
- for (const old of toDelete) await syncFs.promises.unlink(path.join(dir, old)).catch(() => void 0);
20637
+ for (const old of toDelete) await fs$1.promises.unlink(path.join(dir, old)).catch(() => void 0);
20626
20638
  log$12.info("cleaned up old session store backups", { deleted: toDelete.length });
20627
20639
  }
20628
20640
  } catch {}
@@ -20743,7 +20755,7 @@ function loadSessionStore(storePath, opts = {}) {
20743
20755
  const maxReadAttempts = process.platform === "win32" ? 3 : 1;
20744
20756
  const retryBuf = maxReadAttempts > 1 ? new Int32Array(new SharedArrayBuffer(4)) : void 0;
20745
20757
  for (let attempt = 0; attempt < maxReadAttempts; attempt++) try {
20746
- const raw = syncFs.readFileSync(storePath, "utf-8");
20758
+ const raw = fs$1.readFileSync(storePath, "utf-8");
20747
20759
  if (raw.length === 0 && attempt < maxReadAttempts - 1) {
20748
20760
  Atomics.wait(retryBuf, 0, 0, 50);
20749
20761
  continue;
@@ -20893,7 +20905,7 @@ async function saveSessionStoreUnlocked(storePath, store, opts) {
20893
20905
  });
20894
20906
  }
20895
20907
  }
20896
- await syncFs.promises.mkdir(path.dirname(storePath), { recursive: true });
20908
+ await fs$1.promises.mkdir(path.dirname(storePath), { recursive: true });
20897
20909
  const json = JSON.stringify(store, null, 2);
20898
20910
  if (getSerializedSessionStore(storePath) === json) {
20899
20911
  updateSessionStoreWriteCaches({
@@ -21302,8 +21314,8 @@ function resolveMirroredTranscriptText(params) {
21302
21314
  return trimmed ? trimmed : null;
21303
21315
  }
21304
21316
  async function ensureSessionHeader(params) {
21305
- if (syncFs.existsSync(params.sessionFile)) return;
21306
- await syncFs.promises.mkdir(path.dirname(params.sessionFile), { recursive: true });
21317
+ if (fs$1.existsSync(params.sessionFile)) return;
21318
+ await fs$1.promises.mkdir(path.dirname(params.sessionFile), { recursive: true });
21307
21319
  const header = {
21308
21320
  type: "session",
21309
21321
  version: CURRENT_SESSION_VERSION,
@@ -21311,7 +21323,7 @@ async function ensureSessionHeader(params) {
21311
21323
  timestamp: (/* @__PURE__ */ new Date()).toISOString(),
21312
21324
  cwd: process.cwd()
21313
21325
  };
21314
- await syncFs.promises.writeFile(params.sessionFile, `${JSON.stringify(header)}\n`, {
21326
+ await fs$1.promises.writeFile(params.sessionFile, `${JSON.stringify(header)}\n`, {
21315
21327
  encoding: "utf-8",
21316
21328
  mode: 384
21317
21329
  });
@@ -21529,13 +21541,13 @@ async function ensureSandboxWorkspace(workspaceDir, seedFrom, skipBootstrap) {
21529
21541
  });
21530
21542
  if (!opened.ok) continue;
21531
21543
  try {
21532
- const content = syncFs.readFileSync(opened.fd, "utf-8");
21544
+ const content = fs$1.readFileSync(opened.fd, "utf-8");
21533
21545
  await fs.writeFile(dest, content, {
21534
21546
  encoding: "utf-8",
21535
21547
  flag: "wx"
21536
21548
  });
21537
21549
  } finally {
21538
- syncFs.closeSync(opened.fd);
21550
+ fs$1.closeSync(opened.fd);
21539
21551
  }
21540
21552
  } catch {}
21541
21553
  }