activeclaw 2026.4.5 → 2026.4.6

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 (378) 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-BLSLlPLk.js → agent-d5Dwm5Vr.js} +8 -8
  4. package/dist/{agent-CCHm3dnF.js → agent-o_NVopFC.js} +11 -11
  5. package/dist/{agent-scope-Dv5h0qQE.js → agent-scope-BrJT9Gf9.js} +17 -17
  6. package/dist/{agents-BxHLH0uE.js → agents-BSbsIbCx.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-DMcjsacO.js → auth-choice-DKqoMQkv.js} +14 -14
  27. package/dist/{auth-choice-tokGZmzT.js → auth-choice-DPZZulXs.js} +13 -13
  28. package/dist/{auth-choice-CzIHMC2n.js → auth-choice-DWfkvDEv.js} +18 -18
  29. package/dist/{auth-choice-BOV3mxdG.js → auth-choice-fWWNZ0CE.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 +2 -2
  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-D3pcpSuK.js} +2 -2
  48. package/dist/{channel-options-DiGuGjgV.js → channel-options-mvX8L4o1.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-CUZNu153.js} +55 -55
  53. package/dist/{channels-cli-DvKsiDcY.js → channels-cli-D8giagPE.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-Nb2Rv2SE.js → cli-6tWBn9Hf.js} +39 -39
  60. package/dist/{cli-CX0-e1Do.js → cli-BTBoxnnI.js} +31 -31
  61. package/dist/{command-registry-B1NKrz1S.js → command-registry-dPZvDdl5.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-DpN1Nt0S.js} +34 -34
  65. package/dist/{compact.runtime-Cl5rju7L.js → compact.runtime-BFTC4NQ_.js} +9 -9
  66. package/dist/compact.runtime-BPuV_fJX.js +66 -0
  67. package/dist/{compact.runtime-B7P5LnIa.js → compact.runtime-BZd2c9ir.js} +31 -31
  68. package/dist/compact.runtime-Cdc-_-I8.js +28 -0
  69. package/dist/{completion-cli-DQ5HyrvM.js → completion-cli-BBsE2_OZ.js} +12 -12
  70. package/dist/{completion-cli-BkGeOB0Y.js → completion-cli-BWNkPwVM.js} +2 -2
  71. package/dist/{config-cli-BKXR8uQg.js → config-cli-BgEWgmJQ.js} +8 -8
  72. package/dist/{config-cli-CiLzQLbQ.js → config-cli-tykH1hkE.js} +4 -4
  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-ODmru9jh.js} +17 -17
  78. package/dist/{configure-B7kIEfSP.js → configure-gLnacCZu.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-COnwyNVJ.js} +2 -2
  111. package/dist/{doctor-completion-Cr_mm4ZQ.js → doctor-completion-Dmg5bIZZ.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-C88jp3Aw.js → gateway-cli-DYQv0bbi.js} +99 -99
  137. package/dist/{gateway-cli-BOZLG619.js → gateway-cli-bTP1IILL.js} +55 -55
  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-BPWpRQaJ.js} +4 -4
  144. package/dist/{health-DKId61cm.js → health-TMNIIFvC.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-BarLlSI-.js} +46 -46
  148. package/dist/{hooks-cli-D4EdsaZd.js → hooks-cli-DzToC2dS.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-B2oGZOi7.js} +12 -12
  194. package/dist/{models-cli-kMKsts8T.js → models-cli-BGxdkTHM.js} +38 -38
  195. package/dist/{models-cli-DrLVOzUK.js → models-cli-Dr7f4M9k.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-Dc-9fZOQ.js → npm-resolution-CPR5hN9l.js} +4 -4
  200. package/dist/{npm-resolution-BO6SGdLs.js → npm-resolution-rTNTkWiL.js} +2 -2
  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-CD3xyxv4.js} +7 -7
  204. package/dist/{onboard-C88F-Y13.js → onboard-Clal53cK.js} +7 -7
  205. package/dist/{onboard-channels-CKg0sLah.js → onboard-channels-CIp5xU1C.js} +5 -5
  206. package/dist/{onboard-channels-D8cEPFj3.js → onboard-channels-DoXdjnDu.js} +9 -9
  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-CGx-wanB.js → onboarding-BXIBW9kp.js} +15 -15
  215. package/dist/{onboarding-CuMZLiwZ.js → onboarding-x5l1g4q6.js} +14 -14
  216. package/dist/{onboarding.finalize-CT3LVJ86.js → onboarding.finalize-B9dNdZ8n.js} +40 -40
  217. package/dist/{onboarding.finalize-4_qfJYB5.js → onboarding.finalize-CidZPV2S.js} +52 -52
  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-0VIfw7tV.js} +19 -19
  238. package/dist/{pi-embedded-LWGrAjSd.js → pi-embedded-DbOc1rhk.js} +115 -115
  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-BLdJsHwq.js → plugin-registry-D5bAzbQy.js} +3 -3
  256. package/dist/{plugin-registry-DMXyfhbZ.js → plugin-registry-FMZRN3Ae.js} +2 -2
  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 +14 -2
  262. package/dist/plugin-sdk/telegram.js +14 -2
  263. package/dist/{plugins-cli-Mefrnu70.js → plugins-cli-N0WJ-bcK.js} +33 -33
  264. package/dist/{plugins-cli-Ckbdtcng.js → plugins-cli-Rgx--0P6.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-B8-8_sev.js} +38 -38
  270. package/dist/{program-context-CKwgiqKA.js → program-context-DFu0VnTR.js} +35 -35
  271. package/dist/{prompt-select-styled-8JBrpJWx.js → prompt-select-styled-BRbUYwP5.js} +17 -17
  272. package/dist/{prompt-select-styled-Dj1guzwc.js → prompt-select-styled-CtJff3Gr.js} +28 -28
  273. package/dist/{provider-auth-helpers-YFTUV89g.js → provider-auth-helpers-BosQdg02.js} +5 -5
  274. package/dist/{provider-auth-helpers-Bt0HFLar.js → provider-auth-helpers-DOEJVM8b.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-CDre9OAT.js → register.agent-BLoojMSb.js} +49 -49
  283. package/dist/{register.agent-DJ14KYnV.js → register.agent-WN58ukFs.js} +65 -65
  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-DBV1cDMO.js +117 -0
  287. package/dist/{register.configure-MZ2oMFlt.js → register.configure-iqLpf_vJ.js} +53 -53
  288. package/dist/{register.maintenance-8vlFCAL5.js → register.maintenance--G4Ezr1u.js} +46 -46
  289. package/dist/{register.maintenance-CB5u00DB.js → register.maintenance-JmxWnFLm.js} +59 -59
  290. package/dist/{register.message-B3Iqneie.js → register.message-B2Mo2hx9.js} +42 -42
  291. package/dist/{register.message-LPqeYXRd.js → register.message-DMa5MRsS.js} +33 -33
  292. package/dist/{register.onboard-DHr-W74h.js → register.onboard-B89iRFyV.js} +13 -13
  293. package/dist/{register.onboard-CTTwVj8d.js → register.onboard-iNt0A322.js} +8 -8
  294. package/dist/{register.setup-Dqfw5uEI.js → register.setup-CBwr4_Ob.js} +8 -8
  295. package/dist/{register.setup-C3kh_TbN.js → register.setup-DQ-uaQd4.js} +16 -16
  296. package/dist/{register.status-health-sessions-QpojEQ9d.js → register.status-health-sessions-B-2y3jIc.js} +52 -52
  297. package/dist/{register.status-health-sessions-DRKMAlro.js → register.status-health-sessions-CrW3NDOK.js} +40 -40
  298. package/dist/{register.subclis-iSDvGATC.js → register.subclis-DF5yhf7D.js} +23 -23
  299. package/dist/{reply-Bf21Hr1C.js → reply-OIc7wENR.js} +116 -116
  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-CbzvI1iB.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-C2lZy-Fn.js → status-DlhZNZRA.js} +1 -1
  328. package/dist/{status-DN1kwt_G.js → status-XHz3g6hB.js} +22 -22
  329. package/dist/{status-CLNIJHL1.js → status-_r2NL6m9.js} +13 -13
  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-4Iq7_pTU.js +28 -0
  333. package/dist/{subagent-registry-runtime-BejBDRIf.js → subagent-registry-runtime-CEms3TqA.js} +9 -9
  334. package/dist/{subagent-registry-runtime-C2amjBau.js → subagent-registry-runtime-CqZrbR_5.js} +39 -39
  335. package/dist/{subagent-registry-runtime-sAeDnTD0.js → subagent-registry-runtime-HMP_iPKA.js} +31 -31
  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-TBdp8aQn.js} +69 -69
  344. package/dist/{update-cli-DT51qYuH.js → update-cli-obZZqciv.js} +49 -49
  345. package/dist/{update-B16VTBdW.js → update-lBwZcNEP.js} +2 -2
  346. package/dist/{update-runner-Dk9ujIjY.js → update-runner-Dh84Ivzm.js} +16 -16
  347. package/dist/{update-runner-D0FkcfIv.js → update-runner-DwRQE_g4.js} +4 -4
  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/matrix/node_modules/.bin/markdown-it +17 -0
  359. package/extensions/memory-core/node_modules/.bin/openclaw +17 -0
  360. package/extensions/memory-core/package.json +11 -0
  361. package/extensions/memory-lancedb/node_modules/.bin/arrow2csv +3 -7
  362. package/extensions/memory-lancedb/node_modules/.bin/openai +3 -7
  363. package/extensions/tlon/node_modules/.bin/tlon +17 -0
  364. package/package.json +2 -2
  365. package/dist/compact.runtime-B3XexHCz.js +0 -28
  366. package/dist/compact.runtime-BTNt86Cy.js +0 -66
  367. package/dist/deliver-runtime-DP7LMYJz.js +0 -14
  368. package/dist/deps-send-telegram.runtime-CNQMFHHL.js +0 -19
  369. package/dist/image-runtime-BKlmPwGz.js +0 -12
  370. package/dist/manager-runtime-BIERqG19.js +0 -15
  371. package/dist/pi-model-discovery-runtime-BRBH9-81.js +0 -12
  372. package/dist/register.configure-B6etuAnH.js +0 -117
  373. package/dist/subagent-registry-runtime-BBvfeFxp.js +0 -28
  374. package/extensions/google-antigravity-auth/node_modules/.bin/openclaw +0 -21
  375. package/extensions/memory-core/node_modules/.bin/nlc +0 -21
  376. package/extensions/memory-core/node_modules/.bin/node-llama-cpp +0 -21
  377. package/extensions/memory-core/node_modules/.bin/tsc +0 -21
  378. package/extensions/memory-core/node_modules/.bin/tsserver +0 -21
@@ -1,11 +1,11 @@
1
1
  import { g as resolveStateDir, r as STATE_DIR, u as resolveGatewayPort, y as resolveRequiredHomeDir } from "./paths-BJV7vkaX.js";
2
2
  import { A as theme, D as warn, R as normalizeLogLevel, S as logVerbose, T as shouldLogVerbose, V as resolvePreferredOpenClawTmpDir, X as consumeRootOptionToken, c as sanitizeForLog, f as createNonExitingRuntime, j as getChildLogger, p as defaultRuntime, t as createSubsystemLogger, v as danger } from "./subsystem-Dk5WUhC2.js";
3
3
  import { C as truncateUtf16Safe, b as sleep, d as isRecord, g as resolveUserPath, i as clampInt, l as escapeRegExp, m as resolveConfigDir, t as CONFIG_DIR, v as shortenHomeInString, w as isPlainObject, x as sliceUtf16Safe, y as shortenHomePath } from "./utils-CGU7Q77u.js";
4
- import { $a as writeConfigFile, $n as deliveryContextFromSession, $o as resetConfigOverrides, $r as resolveTelegramToken, $t as sanitizeToolCallIdsForCloudCodeAssist, A as resolveApiKeyForProvider, Ac as normalizeReasoningLevel, Ai as GATEWAY_CLIENT_IDS, An as appendAssistantMessageToSessionTranscript, Ar as DEFAULT_RESET_TRIGGERS, At as resolveProfilesUnavailableReason, Bi as writeJsonAtomic, Bn as readSessionUpdatedAt, Bt as sanitizeSessionMessagesImages, Cc as DEFAULT_CONTEXT_TOKENS, Ci as isMarkdownCapableMessageChannel, Cn as sanitizeUserFacingText, Dc as formatXHighModelHint, Di as resolveGatewayMessageChannel, Dn as ensureSandboxWorkspaceForSession, Do as parseDurationMs, Dr as resolveSessionResetPolicy, Dt as markAuthProfileFailure, E as getApiKeyForModel, Ec as formatThinkingLevels, Ei as normalizeMessageChannel, Er as resolveChannelResetConfig, Et as isProfileInCooldown, Fc as supportsXHighThinking, Fi as acquireSessionWriteLock, Fr as resolveAgentMainSessionKey, Ft as validateGeminiTurns, Gi as buildPluginToolGroups, Gn as updateSessionStore, Gt as getImageMetadata, Hn as resolveSessionStoreEntry, Ho as AVATAR_MAX_BYTES, Hr as listChannelDocks, Hs as resolveAgentMaxConcurrent, Ht as sanitizeToolResultImages, In as emitSessionTranscriptUpdate, It as pickFallbackThinkingLevel, Ja as readConfigFileSnapshot, Ji as mergeAlsoAllowPolicy, Jo as isWorkspaceRelativeAvatarPath, Jr as listEnabledTelegramAccounts, Js as getShellPathFromLoginShell, Jt as resizeToJpeg, Ki as collectExplicitAllowlist, Kn as updateSessionStoreEntry, Ko as isPathWithinRoot, Li as resolveSessionLockMaxHoldFromTimeout, Ln as onSessionTranscriptUpdate, Lr as resolveMainSessionKey, M as resolveEnvApiKey, Mc as normalizeUsageDisplay, Mi as GATEWAY_CLIENT_NAMES, Mn as resolveSessionTranscriptFile, Mr as resolveFreshSessionTotalTokens, Mt as buildTextObservationFields, N as resolveModelAuthMode, Nc as normalizeVerboseLevel, Nn as resolveAndPersistSessionFile, Nt as sanitizeForConsole, Oc as listThinkingLevels, Oi as resolveMessageChannel, On as resolveSandboxContext, Or as resolveSessionResetType, Os as applyMergePatch, Ot as markAuthProfileUsed, P as resolveUsableCustomProviderApiKey, Pc as resolveResponseUsageMode, Pn as extractDeliveryInfo, Pr as canonicalizeMainSessionAlias, Pt as validateAnthropicTurns, Qi as resolveToolProfilePolicy, Qn as resolveCacheTtlMs$1, Qo as getConfigOverrides, Qr as resolveTelegramPollActionGateState, Qs as resolveOwnerDisplaySetting, Qt as extractToolResultId, Rt as isMessagingToolDuplicateNormalized, S as resolveThinkingDefault, Sc as splitTrailingAuthProfile, Si as isInternalMessageChannel, Sn as parseImageSizeError, Sr as jsonUtf8Bytes, Tc as DEFAULT_PROVIDER, Ti as listDeliverableMessageChannels, Tr as evaluateSessionFreshness, Tt as getSoonestCooldownExpiry, Uo as isAvatarDataUrl, Ur as resolveChannelGroupPolicy, Ut as resolveImageSanitizationLimits, Vi as resolveSandboxConfigForAgent, Vn as recordSessionMetaFromInbound, Vr as getChannelDock, Vt as sanitizeImageBlocks, Wa as loadConfig, Wi as applyOwnerOnlyToolPolicy, Wn as updateLastRoute, Wo as isAvatarHttpUrl, Wr as resolveChannelGroupRequireMention, Ws as VERSION, Wt as convertHeicToJpeg, Xa as resolveConfigSnapshotHash, Xo as resolveAvatarMime, Xt as estimateBase64DecodedBytes, Yi as stripPluginOnlyAllowlist, Yr as listTelegramAccountIds, Ys as resolveShellEnvFallbackTimeoutMs, Yt as canonicalizeBase64, Zi as normalizeToolName, Zn as isCacheEnabled, Zo as validateJsonSchemaValue, Zr as resolveTelegramAccount, Zt as extractToolCallsFromAssistant, _a as resolveTokenExpiryState, _c as resolveAuthProfileDisplayLabel, _i as resolveGroupSessionKey, _n as isLikelyContextOverflowError, an as classifyFailoverReasonFromHttpStatus, as as unsetConfigValueAtPath, bn as isTransientHttpError, br as hasInterSessionUserProvenance, c as modelKey, ca as ensureSessionHeader, cn as formatRawAssistantErrorForUi, d as normalizeProviderId, da as resolveBootstrapTotalMaxChars, dn as isBillingAssistantError, do as parseNonNegativeByteSize, dr as readSessionTitleFieldsFromTranscript, dt as buildAssistantMessage, ec as dedupeProfileIds, en as downgradeOpenAIFunctionCallReasoningPairs, eo as validateConfigObjectWithPlugins, er as deliveryContextKey, es as setConfigOverride, et as retryAsync, f as parseModelRef, fa as sanitizeGoogleTurnOrdering, fi as mapAllowFromEntries, fn as isCloudCodeAssistFormatError, fs as buildEnforcedShellCommand, ft as buildAssistantMessageWithZeroUsage, g as resolveDefaultModelForAgent, ga as evaluateStoredCredentialEligibility, gi as buildGroupDisplayName, gn as isFailoverErrorMessage, gt as isSecretRefHeaderValueMarker, h as resolveConfiguredModelRef, ha as resolveApiKeyForProfile, hi as normalizeChatType, hn as isFailoverAssistantError, hr as parseInlineDirectives$1, ht as isNonSecretApiKeyMarker, i as findNormalizedProviderValue, ia as matchesAnyGlobPattern, ii as listBindings, in as classifyFailoverReason, io as resolveTelegramCustomCommands, is as setConfigValueAtPath, jc as normalizeThinkLevel, ji as GATEWAY_CLIENT_MODES, jr as mergeSessionEntry, jt as buildApiErrorObservationFields, k as requireApiKey, kc as normalizeElevatedLevel, kn as resolveSandboxRuntimeStatus, kr as resolveThreadFlag, l as normalizeModelRef$1, la as resolveBootstrapMaxChars, li as resolveAccountEntry, ln as getApiErrorPayloadFingerprint, lo as resolveIMessageRemoteAttachmentRoots, mc as resolveOpenClawAgentDir, mi as resolveConversationLabel, mn as isContextOverflowError, mt as buildUsageWithNoCost, n as buildConfiguredAllowlistKeys, nc as markAuthProfileGood, nn as isGoogleModelApi, no as TELEGRAM_COMMAND_NAME_PATTERN, nr as normalizeDeliveryContext, ns as getConfigValueAtPath, o as inferUniqueProviderFromConfiguredModels, on as formatAssistantErrorText, oo as isInboundPathAllowed, or as archiveSessionTranscripts, pa as redactIdentifier, pc as resolveAuthStorePathForDisplay, pn as isCompactionFailureError, pt as buildStreamErrorAssistantMessage, qi as expandPolicyWithPluginGroups, qr as createTelegramActionGate, r as buildModelAliasIndex, ra as compileGlobPatterns, ri as buildChannelAccountBindings, rn as BILLING_ERROR_USER_MESSAGE, ro as normalizeTelegramCommandName, rr as normalizeSessionDeliveryFields, rs as parseConfigPath, s as isCliProvider, sa as buildBootstrapContextFiles, sc as ensureAuthProfileStore, si as listAcpBindings, sn as formatBillingErrorMessage, sr as capArrayByJsonBytes, t as buildAllowedModelSet, tc as listProfilesForProvider, tn as downgradeOpenAIReasoningBlocks, tr as mergeDeliveryContext, ts as unsetConfigOverride, ua as resolveBootstrapPromptTruncationWarningMode, un as isAuthAssistantError, uo as normalizeScpRemoteHost, ut as createConfiguredOllamaStreamFn, v as resolveModelRefFromString, vi as INTERNAL_MESSAGE_CHANNEL, vn as isRateLimitAssistantError, wc as DEFAULT_MODEL, wn as isTimeoutErrorMessage, wr as resolveSessionKey, wt as resolveAuthProfileOrder, x as resolveSubagentSpawnModelSelection, xc as normalizeSecretInput, xn as parseImageDimensionError, xr as normalizeInputProvenance, y as resolveReasoningDefault, yi as isDeliverableMessageChannel, yn as isRawApiErrorPayload, yr as applyInputProvenanceToUserMessage, zn as loadSessionStore, zr as deriveSessionMetaPatch, zt as normalizeTextForComparison } from "./model-selection-CftqhKNS.js";
5
- import { D as filterBootstrapFilesForSession, E as ensureAgentWorkspace, M as resolveAgentModelFallbackValues, N as resolveAgentModelPrimaryValue, P as toAgentModelListLike, _ as DEFAULT_AGENT_WORKSPACE_DIR, a as resolveAgentDir, d as resolveDefaultAgentId, h as resolveSessionAgentIds, i as resolveAgentConfig, k as loadWorkspaceBootstrapFiles, l as resolveAgentSkillsFilter, m as resolveSessionAgentId, p as resolveRunModelFallbacksOverride, r as listAgentIds, t as hasConfiguredModelFallbacks, u as resolveAgentWorkspaceDir } from "./agent-scope-Dv5h0qQE.js";
4
+ import { $a as writeConfigFile, $n as deliveryContextFromSession, $o as resetConfigOverrides, $r as resolveTelegramToken, $t as sanitizeToolCallIdsForCloudCodeAssist, A as resolveApiKeyForProvider, Ac as normalizeReasoningLevel, Ai as GATEWAY_CLIENT_IDS, An as appendAssistantMessageToSessionTranscript, Ar as DEFAULT_RESET_TRIGGERS, At as resolveProfilesUnavailableReason, Bi as writeJsonAtomic, Bn as readSessionUpdatedAt, Bt as sanitizeSessionMessagesImages, Cc as DEFAULT_CONTEXT_TOKENS, Ci as isMarkdownCapableMessageChannel, Cn as sanitizeUserFacingText, Dc as formatXHighModelHint, Di as resolveGatewayMessageChannel, Dn as ensureSandboxWorkspaceForSession, Do as parseDurationMs, Dr as resolveSessionResetPolicy, Dt as markAuthProfileFailure, E as getApiKeyForModel, Ec as formatThinkingLevels, Ei as normalizeMessageChannel, Er as resolveChannelResetConfig, Et as isProfileInCooldown, Fc as supportsXHighThinking, Fi as acquireSessionWriteLock, Fr as resolveAgentMainSessionKey, Ft as validateGeminiTurns, Gi as buildPluginToolGroups, Gn as updateSessionStore, Gt as getImageMetadata, Hn as resolveSessionStoreEntry, Ho as AVATAR_MAX_BYTES, Hr as listChannelDocks, Hs as resolveAgentMaxConcurrent, Ht as sanitizeToolResultImages, In as emitSessionTranscriptUpdate, It as pickFallbackThinkingLevel, Ja as readConfigFileSnapshot, Ji as mergeAlsoAllowPolicy, Jo as isWorkspaceRelativeAvatarPath, Jr as listEnabledTelegramAccounts, Js as getShellPathFromLoginShell, Jt as resizeToJpeg, Ki as collectExplicitAllowlist, Kn as updateSessionStoreEntry, Ko as isPathWithinRoot, Li as resolveSessionLockMaxHoldFromTimeout, Ln as onSessionTranscriptUpdate, Lr as resolveMainSessionKey, M as resolveEnvApiKey, Mc as normalizeUsageDisplay, Mi as GATEWAY_CLIENT_NAMES, Mn as resolveSessionTranscriptFile, Mr as resolveFreshSessionTotalTokens, Mt as buildTextObservationFields, N as resolveModelAuthMode, Nc as normalizeVerboseLevel, Nn as resolveAndPersistSessionFile, Nt as sanitizeForConsole, Oc as listThinkingLevels, Oi as resolveMessageChannel, On as resolveSandboxContext, Or as resolveSessionResetType, Os as applyMergePatch, Ot as markAuthProfileUsed, P as resolveUsableCustomProviderApiKey, Pc as resolveResponseUsageMode, Pn as extractDeliveryInfo, Pr as canonicalizeMainSessionAlias, Pt as validateAnthropicTurns, Qi as resolveToolProfilePolicy, Qn as resolveCacheTtlMs$1, Qo as getConfigOverrides, Qr as resolveTelegramPollActionGateState, Qs as resolveOwnerDisplaySetting, Qt as extractToolResultId, Rt as isMessagingToolDuplicateNormalized, S as resolveThinkingDefault, Sc as splitTrailingAuthProfile, Si as isInternalMessageChannel, Sn as parseImageSizeError, Sr as jsonUtf8Bytes, Tc as DEFAULT_PROVIDER, Ti as listDeliverableMessageChannels, Tr as evaluateSessionFreshness, Tt as getSoonestCooldownExpiry, Uo as isAvatarDataUrl, Ur as resolveChannelGroupPolicy, Ut as resolveImageSanitizationLimits, Vi as resolveSandboxConfigForAgent, Vn as recordSessionMetaFromInbound, Vr as getChannelDock, Vt as sanitizeImageBlocks, Wa as loadConfig, Wi as applyOwnerOnlyToolPolicy, Wn as updateLastRoute, Wo as isAvatarHttpUrl, Wr as resolveChannelGroupRequireMention, Ws as VERSION, Wt as convertHeicToJpeg, Xa as resolveConfigSnapshotHash, Xo as resolveAvatarMime, Xt as estimateBase64DecodedBytes, Yi as stripPluginOnlyAllowlist, Yr as listTelegramAccountIds, Ys as resolveShellEnvFallbackTimeoutMs, Yt as canonicalizeBase64, Zi as normalizeToolName, Zn as isCacheEnabled, Zo as validateJsonSchemaValue, Zr as resolveTelegramAccount, Zt as extractToolCallsFromAssistant, _a as resolveTokenExpiryState, _c as resolveAuthProfileDisplayLabel, _i as resolveGroupSessionKey, _n as isLikelyContextOverflowError, an as classifyFailoverReasonFromHttpStatus, as as unsetConfigValueAtPath, bn as isTransientHttpError, br as hasInterSessionUserProvenance, c as modelKey, ca as ensureSessionHeader, cn as formatRawAssistantErrorForUi, d as normalizeProviderId, da as resolveBootstrapTotalMaxChars, dn as isBillingAssistantError, do as parseNonNegativeByteSize, dr as readSessionTitleFieldsFromTranscript, dt as buildAssistantMessage, ec as dedupeProfileIds, en as downgradeOpenAIFunctionCallReasoningPairs, eo as validateConfigObjectWithPlugins, er as deliveryContextKey, es as setConfigOverride, et as retryAsync, f as parseModelRef, fa as sanitizeGoogleTurnOrdering, fi as mapAllowFromEntries, fn as isCloudCodeAssistFormatError, fs as buildEnforcedShellCommand, ft as buildAssistantMessageWithZeroUsage, g as resolveDefaultModelForAgent, ga as evaluateStoredCredentialEligibility, gi as buildGroupDisplayName, gn as isFailoverErrorMessage, gt as isSecretRefHeaderValueMarker, h as resolveConfiguredModelRef, ha as resolveApiKeyForProfile, hi as normalizeChatType, hn as isFailoverAssistantError, hr as parseInlineDirectives$1, ht as isNonSecretApiKeyMarker, i as findNormalizedProviderValue, ia as matchesAnyGlobPattern, ii as listBindings, in as classifyFailoverReason, io as resolveTelegramCustomCommands, is as setConfigValueAtPath, jc as normalizeThinkLevel, ji as GATEWAY_CLIENT_MODES, jr as mergeSessionEntry, jt as buildApiErrorObservationFields, k as requireApiKey, kc as normalizeElevatedLevel, kn as resolveSandboxRuntimeStatus, kr as resolveThreadFlag, l as normalizeModelRef$1, la as resolveBootstrapMaxChars, li as resolveAccountEntry, ln as getApiErrorPayloadFingerprint, lo as resolveIMessageRemoteAttachmentRoots, mc as resolveOpenClawAgentDir, mi as resolveConversationLabel, mn as isContextOverflowError, mt as buildUsageWithNoCost, n as buildConfiguredAllowlistKeys, nc as markAuthProfileGood, nn as isGoogleModelApi, no as TELEGRAM_COMMAND_NAME_PATTERN, nr as normalizeDeliveryContext, ns as getConfigValueAtPath, o as inferUniqueProviderFromConfiguredModels, on as formatAssistantErrorText, oo as isInboundPathAllowed, or as archiveSessionTranscripts, pa as redactIdentifier, pc as resolveAuthStorePathForDisplay, pn as isCompactionFailureError, pt as buildStreamErrorAssistantMessage, qi as expandPolicyWithPluginGroups, qr as createTelegramActionGate, r as buildModelAliasIndex, ra as compileGlobPatterns, ri as buildChannelAccountBindings, rn as BILLING_ERROR_USER_MESSAGE, ro as normalizeTelegramCommandName, rr as normalizeSessionDeliveryFields, rs as parseConfigPath, s as isCliProvider, sa as buildBootstrapContextFiles, sc as ensureAuthProfileStore, si as listAcpBindings, sn as formatBillingErrorMessage, sr as capArrayByJsonBytes, t as buildAllowedModelSet, tc as listProfilesForProvider, tn as downgradeOpenAIReasoningBlocks, tr as mergeDeliveryContext, ts as unsetConfigOverride, ua as resolveBootstrapPromptTruncationWarningMode, un as isAuthAssistantError, uo as normalizeScpRemoteHost, ut as createConfiguredOllamaStreamFn, v as resolveModelRefFromString, vi as INTERNAL_MESSAGE_CHANNEL, vn as isRateLimitAssistantError, wc as DEFAULT_MODEL, wn as isTimeoutErrorMessage, wr as resolveSessionKey, wt as resolveAuthProfileOrder, x as resolveSubagentSpawnModelSelection, xc as normalizeSecretInput, xn as parseImageDimensionError, xr as normalizeInputProvenance, y as resolveReasoningDefault, yi as isDeliverableMessageChannel, yn as isRawApiErrorPayload, yr as applyInputProvenanceToUserMessage, zn as loadSessionStore, zr as deriveSessionMetaPatch, zt as normalizeTextForComparison } from "./model-selection-DU-DNNW7.js";
5
+ import { D as filterBootstrapFilesForSession, E as ensureAgentWorkspace, M as resolveAgentModelFallbackValues, N as resolveAgentModelPrimaryValue, P as toAgentModelListLike, _ as DEFAULT_AGENT_WORKSPACE_DIR, a as resolveAgentDir, d as resolveDefaultAgentId, h as resolveSessionAgentIds, i as resolveAgentConfig, k as loadWorkspaceBootstrapFiles, l as resolveAgentSkillsFilter, m as resolveSessionAgentId, p as resolveRunModelFallbacksOverride, r as listAgentIds, t as hasConfiguredModelFallbacks, u as resolveAgentWorkspaceDir } from "./agent-scope-BrJT9Gf9.js";
6
6
  import { C as isCronSessionKey, E as resolveThreadParentSessionKey, S as isCronRunSessionKey, T as parseAgentSessionKey, _ as normalizeOptionalAccountId, a as classifySessionKeyShape, c as normalizeMainKey, d as sanitizeAgentId, f as scopedHeartbeatWakeOptions, g as normalizeAccountId$1, h as DEFAULT_ACCOUNT_ID, i as buildAgentPeerSessionKey, l as resolveAgentIdFromSessionKey, n as DEFAULT_MAIN_KEY, o as isValidAgentId, r as buildAgentMainSessionKey, s as normalizeAgentId, t as DEFAULT_AGENT_ID, u as resolveThreadSessionKeys, v as isBlockedObjectKey, w as isSubagentSessionKey, x as isAcpSessionKey, y as deriveSessionChatType } from "./session-key-VV3RvEri.js";
7
7
  import { r as normalizeStringEntries, t as normalizeAtHashSlug } from "./string-normalization-B7Qb9jnK.js";
8
- import { a as openBoundaryFileSync, h as normalizeWindowsPathForComparison, i as openBoundaryFile, n as resolveOpenClawPackageRootSync, t as resolveOpenClawPackageRoot } from "./openclaw-root-B6cGCDGF.js";
8
+ import { a as openBoundaryFileSync, h as normalizeWindowsPathForComparison, i as openBoundaryFile, n as resolveOpenClawPackageRootSync, t as resolveOpenClawPackageRoot } from "./openclaw-root-DbbVtnL2.js";
9
9
  import { i as logWarn, n as logError, r as logInfo, t as logDebug } from "./logger-m0MK99MT.js";
10
10
  import { n as runExec, r as spawnWithFallback, t as runCommandWithTimeout } from "./exec-B8ip-O6u.js";
11
11
  import { c as normalizeResolvedSecretInputString, i as coerceSecretRef } from "./types.secrets-ZqKzSyNC.js";
@@ -15,61 +15,61 @@ import { t as parseBooleanValue$1 } from "./boolean-CJxfhBkG.js";
15
15
  import { t as isTruthyEnvValue } from "./env-6my-UEm4.js";
16
16
  import { n as applySkillEnvOverridesFromSnapshot, t as applySkillEnvOverrides, v as isDangerousHostEnvVarName } from "./env-overrides-CSdE_DWV.js";
17
17
  import { A as resolveContextEngine, C as listPluginCommands, E as createInternalHookEvent, N as isSupportedChannelId, O as triggerInternalHook, S as getPluginCommandSpecs, b as clearPluginCommands, c as normalizeChannelId$1, d as getActivePluginRegistryKey, g as createPluginRegistry, k as registerContextEngine, m as setActivePluginRegistry, n as CHAT_CHANNEL_ORDER, s as normalizeAnyChannelId, u as getActivePluginRegistry, w as matchPluginCommand, x as executePluginCommand } from "./registry-BKJyEPHE.js";
18
- import { C as resolveEffectiveEnableState, S as normalizePluginsConfig, b as applyTestPluginDefaults, c as resolveSandboxInputPath, f as loadPluginManifestRegistry, g as safeStatSync, h as isPathInside, m as discoverOpenClawPlugins, n as buildWorkspaceSkillCommandSpecs, o as assertMediaNotDataUrl, r as loadWorkspaceSkillEntries, s as assertSandboxPath, u as resolveSandboxedMediaSource, w as resolveMemorySlotDecision } from "./skills-Mq1GCIyL.js";
18
+ import { C as resolveEffectiveEnableState, S as normalizePluginsConfig, b as applyTestPluginDefaults, c as resolveSandboxInputPath, f as loadPluginManifestRegistry, g as safeStatSync, h as isPathInside, m as discoverOpenClawPlugins, n as buildWorkspaceSkillCommandSpecs, o as assertMediaNotDataUrl, r as loadWorkspaceSkillEntries, s as assertSandboxPath, u as resolveSandboxedMediaSource, w as resolveMemorySlotDecision } from "./skills-D7xInzjY.js";
19
19
  import { s as runTasksWithConcurrency } from "./artifacts-BVEmBB-K.js";
20
- import { i as redactSensitiveText, o as compileSafeRegex, s as testRegexWithBoundedInput, t as PATH_ALIAS_POLICIES } from "./path-alias-guards-DJQOJx9a.js";
20
+ import { i as redactSensitiveText, o as compileSafeRegex, s as testRegexWithBoundedInput, t as PATH_ALIAS_POLICIES } from "./path-alias-guards-DBFU_Tqb.js";
21
21
  import { n as listChannelPlugins, r as normalizeChannelId$2, t as getChannelPlugin } from "./plugins-Delv1GbW.js";
22
22
  import { c as resolveStorePath, i as resolveSessionTranscriptPath, n as resolveSessionFilePath, r as resolveSessionFilePathOptions, t as resolveDefaultSessionStorePath } from "./paths-DHrunYJK.js";
23
23
  import { t as parseFiniteNumber$1 } from "./parse-finite-number-Drzqkcy7.js";
24
- import { _ as resolveMediaUnderstandingScope, a as resolveAutoImageModel, b as DEFAULT_IMAGE_MODELS, d as normalizeAttachmentPath, f as normalizeAttachments, g as normalizeMediaUnderstandingChatType, h as resolveTimeoutMs$1, i as normalizeMediaAttachments, l as registerUnhandledRejectionHandler, m as resolveConcurrency, n as buildProviderRegistry, o as resolveMediaAttachmentLocalRoots, p as resolveAttachmentKind, r as createMediaAttachmentCache, s as runCapability, t as runAudioTranscription, v as AUTO_IMAGE_KEY_PROVIDERS, x as applyTemplate, y as CLI_OUTPUT_MAX_BUFFER } from "./audio-transcription-runner-Uz2dTIDx.js";
25
- import { C as extractTextFromChatContent, E as minimaxUnderstandImage, S as isInsideCode, T as isMinimaxVlmProvider, _ as stripThinkingTagsFromText, a as resolveProviderVisionModelFromConfig, b as stripReasoningTagsFromText, c as extractThinkingFromTaggedStream, d as inferToolMetaFromArgs, f as isAssistantMessage, g as stripModelSpecialTokens, h as stripMinimaxToolCallXml, i as decodeDataUrl, l as extractThinkingFromTaggedText, m as stripDowngradedToolCallText, n as coerceImageAssistantText, o as extractAssistantText$2, p as promoteThinkingTagsToBlocks, r as coerceImageModelConfig, s as extractAssistantThinking, u as formatReasoningMessage, v as formatToolSummary, w as isMinimaxVlmModel, x as findCodeRegions, y as resolveToolDisplay } from "./image-DAEA1-oq.js";
26
- import { t as ensureOpenClawModelsJson } from "./models-config-yo6Auh6b.js";
24
+ import { _ as resolveMediaUnderstandingScope, a as resolveAutoImageModel, b as DEFAULT_IMAGE_MODELS, d as normalizeAttachmentPath, f as normalizeAttachments, g as normalizeMediaUnderstandingChatType, h as resolveTimeoutMs$1, i as normalizeMediaAttachments, l as registerUnhandledRejectionHandler, m as resolveConcurrency, n as buildProviderRegistry, o as resolveMediaAttachmentLocalRoots, p as resolveAttachmentKind, r as createMediaAttachmentCache, s as runCapability, t as runAudioTranscription, v as AUTO_IMAGE_KEY_PROVIDERS, x as applyTemplate, y as CLI_OUTPUT_MAX_BUFFER } from "./audio-transcription-runner-B02iDYTW.js";
25
+ import { C as extractTextFromChatContent, E as minimaxUnderstandImage, S as isInsideCode, T as isMinimaxVlmProvider, _ as stripThinkingTagsFromText, a as resolveProviderVisionModelFromConfig, b as stripReasoningTagsFromText, c as extractThinkingFromTaggedStream, d as inferToolMetaFromArgs, f as isAssistantMessage, g as stripModelSpecialTokens, h as stripMinimaxToolCallXml, i as decodeDataUrl, l as extractThinkingFromTaggedText, m as stripDowngradedToolCallText, n as coerceImageAssistantText, o as extractAssistantText$2, p as promoteThinkingTagsToBlocks, r as coerceImageModelConfig, s as extractAssistantThinking, u as formatReasoningMessage, v as formatToolSummary, w as isMinimaxVlmModel, x as findCodeRegions, y as resolveToolDisplay } from "./image-BUEhx-b4.js";
26
+ import { t as ensureOpenClawModelsJson } from "./models-config-xqqHZFkg.js";
27
27
  import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-oCOYl-9e.js";
28
28
  import { t as hasEnvHttpProxyConfigured } from "./proxy-env-G6JgJlRw.js";
29
- import { a as isBlockedHostnameOrIp, i as SsrFBlockedError, n as withStrictGuardedFetchMode, r as withTrustedEnvProxyGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-Dsd8UoGA.js";
30
- import { a as extensionForMime, c as isGifMedia, d as MAX_IMAGE_BYTES, i as detectMime, l as kindFromMime, n as fetchRemoteMedia, p as mediaKindFromMime, r as readResponseWithLimit, s as isAudioFileName, t as MediaFetchError } from "./fetch-C-yIjbz-.js";
31
- import { i as formatUncaughtError, r as formatErrorMessage, s as readErrorName } from "./errors-B27FlGCB.js";
32
- import { t as getAgentScopedMediaLocalRoots } from "./local-roots-B0MExwb7.js";
33
- import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-C6EpVMgn.js";
29
+ import { a as isBlockedHostnameOrIp, i as SsrFBlockedError, n as withStrictGuardedFetchMode, r as withTrustedEnvProxyGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-DGuF8Mhb.js";
30
+ import { a as extensionForMime, c as isGifMedia, d as MAX_IMAGE_BYTES, i as detectMime, l as kindFromMime, n as fetchRemoteMedia, p as mediaKindFromMime, r as readResponseWithLimit, s as isAudioFileName, t as MediaFetchError } from "./fetch-DAiV9-bR.js";
31
+ import { i as formatUncaughtError, r as formatErrorMessage, s as readErrorName } from "./errors-Bqf8bSUd.js";
32
+ import { t as getAgentScopedMediaLocalRoots } from "./local-roots-BZvUgFKO.js";
33
+ import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-BtBiWr2U.js";
34
34
  import { n as makeProxyFetch } from "./proxy-fetch-Cbsa1-1O.js";
35
- import { A as throwIfAborted, B as isSilentReplyText, C as toPluginMessageReceivedEvent, D as buildTargetResolverSignature, I as joinPresentTextSegments, L as HEARTBEAT_TOKEN, M as splitMediaFromOutput, N as getGlobalHookRunner, O as normalizeChannelTargetInput, P as initializeGlobalHookRunner, R as SILENT_REPLY_TOKEN, S as toPluginMessageContext, T as fireAndForgetHook, V as stripSilentToken, _ as deriveInboundMessageHookContext, b as toInternalMessageSentContext, c as applyReplyThreading, d as isRenderablePayload, f as shouldSuppressMessagingToolReplies, g as buildCanonicalSentMessageHookContext, h as resolveReplyToMode, j as parseReplyDirectives, k as normalizeTargetForProvider, l as filterMessagingToolDuplicates, m as createReplyToModeFilterForChannel, o as normalizeReplyPayloadsForDelivery, p as shouldSuppressReasoningPayload, s as applyReplyTagsToPayload, t as deliverOutboundPayloads, u as filterMessagingToolMediaDuplicates, v as toInternalMessagePreprocessedContext, w as toPluginMessageSentEvent, x as toInternalMessageTranscribedContext, y as toInternalMessageReceivedContext, z as isSilentReplyPrefixText } from "./deliver-kqa-lgew.js";
35
+ import { A as throwIfAborted, B as isSilentReplyText, C as toPluginMessageReceivedEvent, D as buildTargetResolverSignature, I as joinPresentTextSegments, L as HEARTBEAT_TOKEN, M as splitMediaFromOutput, N as getGlobalHookRunner, O as normalizeChannelTargetInput, P as initializeGlobalHookRunner, R as SILENT_REPLY_TOKEN, S as toPluginMessageContext, T as fireAndForgetHook, V as stripSilentToken, _ as deriveInboundMessageHookContext, b as toInternalMessageSentContext, c as applyReplyThreading, d as isRenderablePayload, f as shouldSuppressMessagingToolReplies, g as buildCanonicalSentMessageHookContext, h as resolveReplyToMode, j as parseReplyDirectives, k as normalizeTargetForProvider, l as filterMessagingToolDuplicates, m as createReplyToModeFilterForChannel, o as normalizeReplyPayloadsForDelivery, p as shouldSuppressReasoningPayload, s as applyReplyTagsToPayload, t as deliverOutboundPayloads, u as filterMessagingToolMediaDuplicates, v as toInternalMessagePreprocessedContext, w as toPluginMessageSentEvent, x as toInternalMessageTranscribedContext, y as toInternalMessageReceivedContext, z as isSilentReplyPrefixText } from "./deliver-BBYhSw-z.js";
36
36
  import { a as resolveNativeSkillsEnabled, i as resolveNativeCommandsEnabled, n as isNativeCommandsExplicitlyDisabled, r as isRestartEnabled, t as isCommandFlagEnabled } from "./commands-CH9PY2Dm.js";
37
- import { a as chunkText, c as resolveTextChunkLimit, d as parseFenceSpans, h as resolveTelegramTargetChatType, i as chunkMarkdownTextWithMode, l as findFenceSpanAt, m as parseTelegramTarget, o as chunkTextWithMode, r as chunkMarkdownText, s as resolveChunkMode, t as chunkByNewline, u as isSafeFenceBreak } from "./chunk-I6GfHIkA.js";
38
- import { T as GatewayClient, h as resolveGatewayCredentialsFromConfig, i as randomIdempotencyKey, n as callGateway, p as resolveLeastPrivilegeOperatorScopesForMethod, r as callGatewayLeastPrivilege, t as buildGatewayConnectionDetails, w as trimToUndefined } from "./call-CKFLqNkw.js";
39
- import { b as getSubagentDepthFromSessionStore, c as resolveOpenProviderRuntimeGroupPolicy, d as filterToolsByPolicy, f as isToolAllowedByPolicies, g as resolveSubagentToolPolicyForSession, i as projectSafeChannelAccountSnapshotFields, l as resolveCommandAuthorizedFromAuthorizers, m as resolveGroupToolPolicy, n as hasConfiguredUnavailableCredentialStatus, o as resolvePinnedMainDmOwnerFromAllowlist, p as resolveEffectiveToolPolicy, r as hasResolvedCredentialValue, s as evaluateMatchedGroupAccessForPolicy, t as inspectReadOnlyChannelAccount, u as resolveControlCommandGate, v as resolveStoredSubagentCapabilities, y as resolveSubagentCapabilities } from "./read-only-account-inspect-CWAyFOOe.js";
40
- import { $ as formatLocationText, A as buildSenderName, B as hasBotMention, C as withTelegramApiErrorLogging, D as resolveMarkdownTableMode, E as recordChannelActivity, F as buildTypingThreadParams, G as resolveTelegramMediaPlaceholder, H as resolveTelegramDirectPeerId, I as describeReplyTarget, J as resolveTelegramThreadSpec, K as resolveTelegramReplyId, L as expandTextLinks, M as buildTelegramGroupPeerId, N as buildTelegramParentPeer, O as buildGroupLabel, P as buildTelegramThreadParams, Q as resolveSenderAllowMatch, R as extractTelegramLocation, S as splitTelegramCaption, T as getChannelActivity, U as resolveTelegramForumThreadId, V as normalizeForwardedContext, W as resolveTelegramGroupAllowFromContext, X as normalizeAllowFrom$1, Y as isSenderAllowed, Z as normalizeDmAllowFromWithStore, _ as markdownToTelegramHtml, a as editMessageTelegram, at as loadWebMediaRaw, b as renderMarkdownWithMarkers, c as sendPollTelegram, d as resolveTelegramVoiceSend, et as toLocationContext, f as wasSentByBot, g as markdownToTelegramChunks, h as isTelegramClientRejection, i as editMessageReplyMarkupTelegram, it as loadWebMedia, j as buildTelegramGroupFrom, k as buildSenderLabel, l as sendStickerTelegram, m as isSafeToRetrySendError, n as createForumTopicTelegram, nt as resolvePollMaxSelections, o as reactMessageTelegram, ot as isVoiceCompatibleAudio, p as isRecoverableTelegramNetworkError, q as resolveTelegramStreamMode, r as deleteMessageTelegram, rt as getDefaultLocalRoots, s as sendMessageTelegram, t as buildInlineKeyboard, tt as normalizePollInput, u as sendTypingTelegram, v as renderTelegramHtmlText, w as buildOutboundMediaLoadOptions, x as markdownToIRWithMeta, y as wrapFileReferencesInHtml, z as getTelegramTextParts } from "./send-DAr4cmzw.js";
41
- import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-CocLN2I9.js";
37
+ import { a as chunkText, c as resolveTextChunkLimit, d as parseFenceSpans, h as resolveTelegramTargetChatType, i as chunkMarkdownTextWithMode, l as findFenceSpanAt, m as parseTelegramTarget, o as chunkTextWithMode, r as chunkMarkdownText, s as resolveChunkMode, t as chunkByNewline, u as isSafeFenceBreak } from "./chunk-D4AO1AEe.js";
38
+ import { T as GatewayClient, h as resolveGatewayCredentialsFromConfig, i as randomIdempotencyKey, n as callGateway, p as resolveLeastPrivilegeOperatorScopesForMethod, r as callGatewayLeastPrivilege, t as buildGatewayConnectionDetails, w as trimToUndefined } from "./call-7be5mSn_.js";
39
+ import { b as getSubagentDepthFromSessionStore, c as resolveOpenProviderRuntimeGroupPolicy, d as filterToolsByPolicy, f as isToolAllowedByPolicies, g as resolveSubagentToolPolicyForSession, i as projectSafeChannelAccountSnapshotFields, l as resolveCommandAuthorizedFromAuthorizers, m as resolveGroupToolPolicy, n as hasConfiguredUnavailableCredentialStatus, o as resolvePinnedMainDmOwnerFromAllowlist, p as resolveEffectiveToolPolicy, r as hasResolvedCredentialValue, s as evaluateMatchedGroupAccessForPolicy, t as inspectReadOnlyChannelAccount, u as resolveControlCommandGate, v as resolveStoredSubagentCapabilities, y as resolveSubagentCapabilities } from "./read-only-account-inspect-sMyuBIwr.js";
40
+ import { $ as formatLocationText, A as buildSenderName, B as hasBotMention, C as withTelegramApiErrorLogging, D as resolveMarkdownTableMode, E as recordChannelActivity, F as buildTypingThreadParams, G as resolveTelegramMediaPlaceholder, H as resolveTelegramDirectPeerId, I as describeReplyTarget, J as resolveTelegramThreadSpec, K as resolveTelegramReplyId, L as expandTextLinks, M as buildTelegramGroupPeerId, N as buildTelegramParentPeer, O as buildGroupLabel, P as buildTelegramThreadParams, Q as resolveSenderAllowMatch, R as extractTelegramLocation, S as splitTelegramCaption, T as getChannelActivity, U as resolveTelegramForumThreadId, V as normalizeForwardedContext, W as resolveTelegramGroupAllowFromContext, X as normalizeAllowFrom$1, Y as isSenderAllowed, Z as normalizeDmAllowFromWithStore, _ as markdownToTelegramHtml, a as editMessageTelegram, at as loadWebMediaRaw, b as renderMarkdownWithMarkers, c as sendPollTelegram, d as resolveTelegramVoiceSend, et as toLocationContext, f as wasSentByBot, g as markdownToTelegramChunks, h as isTelegramClientRejection, i as editMessageReplyMarkupTelegram, it as loadWebMedia, j as buildTelegramGroupFrom, k as buildSenderLabel, l as sendStickerTelegram, m as isSafeToRetrySendError, n as createForumTopicTelegram, nt as resolvePollMaxSelections, o as reactMessageTelegram, ot as isVoiceCompatibleAudio, p as isRecoverableTelegramNetworkError, q as resolveTelegramStreamMode, r as deleteMessageTelegram, rt as getDefaultLocalRoots, s as sendMessageTelegram, t as buildInlineKeyboard, tt as normalizePollInput, u as sendTypingTelegram, v as renderTelegramHtmlText, w as buildOutboundMediaLoadOptions, x as markdownToIRWithMeta, y as wrapFileReferencesInHtml, z as getTelegramTextParts } from "./send-BeUTtwRC.js";
41
+ import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-7pqY2wzA.js";
42
42
  import { a as generateSecureToken, o as generateSecureUuid } from "./delivery-queue-BjDC-rSc.js";
43
- import { a as logMessageQueued, c as logWebhookError, d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, h as isDiagnosticsEnabled, i as logMessageProcessed, l as logWebhookProcessed, m as emitDiagnosticEvent, n as logLaneDequeue, o as logSessionStateChange, p as getDiagnosticSessionState, r as logLaneEnqueue, t as diag, u as logWebhookReceived } from "./diagnostic-Booor3n0.js";
43
+ import { a as logMessageQueued, c as logWebhookError, d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, h as isDiagnosticsEnabled, i as logMessageProcessed, l as logWebhookProcessed, m as emitDiagnosticEvent, n as logLaneDequeue, o as logSessionStateChange, p as getDiagnosticSessionState, r as logLaneEnqueue, t as diag, u as logWebhookReceived } from "./diagnostic-BgC5_P-R.js";
44
44
  import { i as resolveContextWindowInfo, n as CONTEXT_WINDOW_WARN_BELOW_TOKENS, r as evaluateContextWindowGuard, t as CONTEXT_WINDOW_HARD_MIN_TOKENS } from "./context-window-guard-CgKnVebN.js";
45
- import { n as resolveAllowAlwaysPatterns, t as evaluateShellAllowlist } from "./exec-approvals-allowlist-CWZm-Xjt.js";
46
- import { n as resolveExecSafeBinRuntimePolicy, r as resolveMergedSafeBinProfileFixtures } from "./exec-safe-bin-runtime-policy-CjDG3QJD.js";
47
- import { a as openFileWithinRoot, i as createRootScopedReadFile, n as appendFileWithinRoot, r as copyFileWithinRoot, s as readFileWithinRoot, t as SafeOpenError, u as writeFileWithinRoot } from "./fs-safe-BLWbfoa6.js";
45
+ import { n as resolveAllowAlwaysPatterns, t as evaluateShellAllowlist } from "./exec-approvals-allowlist-BSEL6MhC.js";
46
+ import { n as resolveExecSafeBinRuntimePolicy, r as resolveMergedSafeBinProfileFixtures } from "./exec-safe-bin-runtime-policy-DbbnAmrV.js";
47
+ import { a as openFileWithinRoot, i as createRootScopedReadFile, n as appendFileWithinRoot, r as copyFileWithinRoot, s as readFileWithinRoot, t as SafeOpenError, u as writeFileWithinRoot } from "./fs-safe-B_UpcQBp.js";
48
48
  import { a as loadExecApprovals, c as minSecurity, d as normalizeExecHost$1, f as normalizeExecSecurity$1, g as resolveExecApprovals, h as requiresExecApproval, m as recordAllowlistUse, o as maxAsk, r as addAllowlistEntry, t as formatTimeAgo, u as normalizeExecAsk$1 } from "./format-relative-CsSUDXfJ.js";
49
- import { l as triggerOpenClawRestart, m as killProcessTree$1, o as scheduleGatewaySigusr1Restart } from "./logging-B9OKCko2.js";
49
+ import { l as triggerOpenClawRestart, m as killProcessTree$1, o as scheduleGatewaySigusr1Restart } from "./logging-59CroxmQ.js";
50
50
  import { r as formatDurationPrecise, t as formatDurationCompact$1 } from "./format-duration-B3_eTatE.js";
51
51
  import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-_MyzaWr5.js";
52
- import { r as getActiveRuntimeWebToolsMetadata } from "./runtime-CCYCyl1P.js";
52
+ import { r as getActiveRuntimeWebToolsMetadata } from "./runtime-hakwcpul.js";
53
53
  import { i as parseAbsoluteTimeMs, r as resolveDefaultCronStaggerMs, t as normalizeCronStaggerMs } from "./stagger-BtegmH1U.js";
54
- import { n as resolveMessageChannelSelection, t as listConfiguredMessageChannels } from "./channel-selection-CrnnQqyM.js";
55
- import { t as applyPluginAutoEnable } from "./plugin-auto-enable-POm3kIKs.js";
56
- import { a as removeChannelAllowFromStoreEntry, i as readChannelAllowFromStore, l as listPairingChannels, s as upsertChannelPairingRequest, t as addChannelAllowFromStoreEntry } from "./pairing-store-CGmLbKax.js";
54
+ import { n as resolveMessageChannelSelection, t as listConfiguredMessageChannels } from "./channel-selection-Cz7kZ_dd.js";
55
+ import { t as applyPluginAutoEnable } from "./plugin-auto-enable-BYUBkHiG.js";
56
+ import { a as removeChannelAllowFromStoreEntry, i as readChannelAllowFromStore, l as listPairingChannels, s as upsertChannelPairingRequest, t as addChannelAllowFromStoreEntry } from "./pairing-store-Dr8a_B6n.js";
57
57
  import { t as firstDefined } from "./allow-from-6PZpjJrk.js";
58
58
  import { c as formatUsd, d as deriveSessionTotalTokens, f as hasNonzeroUsage, l as resolveModelCostConfig, m as normalizeUsage, n as loadCostUsageSummary, o as estimateUsageCost, p as makeZeroUsageSnapshot, r as loadSessionCostSummary, s as formatTokenCount$2, u as derivePromptTokens } from "./session-cost-usage-1EN6nQFQ.js";
59
59
  import { n as resolveFetch, t as resolveTelegramFetch } from "./fetch-CLE5aXgx.js";
60
- import { C as isQueryStopWordToken, S as extractKeywords } from "./sqlite-DMwlw8gY.js";
60
+ import { C as isQueryStopWordToken, S as extractKeywords } from "./sqlite-BXiqNpZr.js";
61
61
  import { n as resolveCronStorePath, t as loadCronStore } from "./store-BYAXpd4r.js";
62
- import { t as resolveGatewayConnectionAuth } from "./connection-auth-_DWNXAV0.js";
63
- import { n as getMemorySearchManager, r as resolveMemoryBackendConfig } from "./memory-qo2PyyGc.js";
64
- import { c as isDegradedMemoryStatus, l as shortDiagnosticFingerprint, s as resolveMemorySearchConfig, u as summarizeMemoryStatus } from "./manager-D4NBKxDJ.js";
65
- import { n as registerMemoryCli } from "./memory-cli-DhQM5b25.js";
62
+ import { t as resolveGatewayConnectionAuth } from "./connection-auth-tv7E7e3R.js";
63
+ import { n as getMemorySearchManager, r as resolveMemoryBackendConfig } from "./memory-adblmZ7U.js";
64
+ import { c as isDegradedMemoryStatus, l as shortDiagnosticFingerprint, s as resolveMemorySearchConfig, u as summarizeMemoryStatus } from "./manager-BaDp-h4i.js";
65
+ import { n as registerMemoryCli } from "./memory-cli-C5dGMHKl.js";
66
66
  import { createRequire } from "node:module";
67
67
  import { fileURLToPath } from "node:url";
68
68
  import fs, { existsSync, mkdirSync, mkdtempSync, promises, readFileSync, renameSync, rmSync, statSync, unlinkSync, writeFileSync } from "node:fs";
69
69
  import os, { homedir } from "node:os";
70
70
  import path, { isAbsolute } from "node:path";
71
71
  import { promisify } from "node:util";
72
- import fs$1, { appendFile, mkdir } from "node:fs/promises";
72
+ import fsPromises, { appendFile, mkdir } from "node:fs/promises";
73
73
  import { execFile, execFileSync, spawn } from "node:child_process";
74
74
  import crypto, { createHash, createHmac, randomBytes, randomUUID } from "node:crypto";
75
75
  import { CURRENT_SESSION_VERSION, DefaultResourceLoader, SessionManager, SettingsManager, codingTools, createAgentSession, createEditTool, createReadTool, createWriteTool, estimateTokens, generateSummary, readTool } from "@mariozechner/pi-coding-agent";
@@ -1072,7 +1072,7 @@ async function runWithConcurrency(tasks, limit) {
1072
1072
  //#region src/media-understanding/echo-transcript.ts
1073
1073
  let deliverRuntimePromise$2 = null;
1074
1074
  function loadDeliverRuntime$2() {
1075
- deliverRuntimePromise$2 ??= import("./deliver-runtime-BsHI7dwo.js");
1075
+ deliverRuntimePromise$2 ??= import("./deliver-runtime-DT4PMHlo.js");
1076
1076
  return deliverRuntimePromise$2;
1077
1077
  }
1078
1078
  function formatEchoTranscript(transcript, format) {
@@ -2414,7 +2414,7 @@ async function resolveAgentSessionDirs(stateDir) {
2414
2414
  const agentsDir = path.join(stateDir, "agents");
2415
2415
  let entries = [];
2416
2416
  try {
2417
- entries = await fs$1.readdir(agentsDir, { withFileTypes: true });
2417
+ entries = await fsPromises.readdir(agentsDir, { withFileTypes: true });
2418
2418
  } catch (err) {
2419
2419
  if (err.code === "ENOENT") return [];
2420
2420
  throw err;
@@ -6316,7 +6316,7 @@ var LegacyContextEngine = class {
6316
6316
  }
6317
6317
  async afterTurn(_params) {}
6318
6318
  async compact(params) {
6319
- const { compactEmbeddedPiSessionDirect } = await import("./compact.runtime-BTNt86Cy.js");
6319
+ const { compactEmbeddedPiSessionDirect } = await import("./compact.runtime-BPuV_fJX.js");
6320
6320
  const runtimeContext = params.runtimeContext ?? {};
6321
6321
  const result = await compactEmbeddedPiSessionDirect({
6322
6322
  ...runtimeContext,
@@ -9196,7 +9196,7 @@ function resolvePluginTools(params) {
9196
9196
  //#endregion
9197
9197
  //#region src/agents/apply-patch-update.ts
9198
9198
  async function defaultReadFile(filePath) {
9199
- return fs$1.readFile(filePath, "utf8");
9199
+ return fsPromises.readFile(filePath, "utf8");
9200
9200
  }
9201
9201
  async function applyUpdateHunk(filePath, chunks, options) {
9202
9202
  const originalLines = (await (options?.readFile ?? defaultReadFile)(filePath).catch((err) => {
@@ -9521,7 +9521,7 @@ function resolvePatchFileOps(options) {
9521
9521
  const workspaceOnly = options.workspaceOnly !== false;
9522
9522
  return {
9523
9523
  readFile: async (filePath) => {
9524
- if (!workspaceOnly) return await fs$1.readFile(filePath, "utf8");
9524
+ if (!workspaceOnly) return await fsPromises.readFile(filePath, "utf8");
9525
9525
  const opened = await openBoundaryFile({
9526
9526
  absolutePath: filePath,
9527
9527
  rootPath: options.cwd,
@@ -9536,7 +9536,7 @@ function resolvePatchFileOps(options) {
9536
9536
  },
9537
9537
  writeFile: async (filePath, content) => {
9538
9538
  if (!workspaceOnly) {
9539
- await fs$1.writeFile(filePath, content, "utf8");
9539
+ await fsPromises.writeFile(filePath, content, "utf8");
9540
9540
  return;
9541
9541
  }
9542
9542
  const relative = toRelativeSandboxPath(options.cwd, filePath);
@@ -9547,8 +9547,8 @@ function resolvePatchFileOps(options) {
9547
9547
  encoding: "utf8"
9548
9548
  });
9549
9549
  },
9550
- remove: (filePath) => fs$1.rm(filePath),
9551
- mkdirp: (dir) => fs$1.mkdir(dir, { recursive: true }).then(() => {})
9550
+ remove: (filePath) => fsPromises.rm(filePath),
9551
+ mkdirp: (dir) => fsPromises.mkdir(dir, { recursive: true }).then(() => {})
9552
9552
  };
9553
9553
  }
9554
9554
  async function ensureDir(filePath, ops) {
@@ -11596,7 +11596,7 @@ async function resolveSandboxWorkdir(params) {
11596
11596
  cwd: process.cwd(),
11597
11597
  root: params.sandbox.workspaceDir
11598
11598
  });
11599
- if (!(await fs$1.stat(resolved.resolved)).isDirectory()) throw new Error("workdir is not a directory");
11599
+ if (!(await fsPromises.stat(resolved.resolved)).isDirectory()) throw new Error("workdir is not a directory");
11600
11600
  const relative = resolved.relative ? resolved.relative.split(path.sep).join(path.posix.sep) : "";
11601
11601
  const containerWorkdir = relative ? path.posix.join(params.sandbox.containerWorkdir, relative) : params.sandbox.containerWorkdir;
11602
11602
  return {
@@ -12527,13 +12527,13 @@ async function validateScriptFileForShellBleed(params) {
12527
12527
  cwd: params.workdir,
12528
12528
  root: params.workdir
12529
12529
  });
12530
- stat = await fs$1.stat(absPath);
12530
+ stat = await fsPromises.stat(absPath);
12531
12531
  } catch {
12532
12532
  return;
12533
12533
  }
12534
12534
  if (!stat.isFile()) return;
12535
12535
  if (stat.size > 512 * 1024) return;
12536
- const content = await fs$1.readFile(absPath, "utf-8");
12536
+ const content = await fsPromises.readFile(absPath, "utf-8");
12537
12537
  const first = /\$[A-Z_][A-Z0-9_]{1,}/g.exec(content);
12538
12538
  if (first) {
12539
12539
  const idx = first.index;
@@ -14764,27 +14764,27 @@ function resolveRestartSentinelPath(env = process.env) {
14764
14764
  }
14765
14765
  async function writeRestartSentinel(payload, env = process.env) {
14766
14766
  const filePath = resolveRestartSentinelPath(env);
14767
- await fs$1.mkdir(path.dirname(filePath), { recursive: true });
14767
+ await fsPromises.mkdir(path.dirname(filePath), { recursive: true });
14768
14768
  const data = {
14769
14769
  version: 1,
14770
14770
  payload
14771
14771
  };
14772
- await fs$1.writeFile(filePath, `${JSON.stringify(data, null, 2)}\n`, "utf-8");
14772
+ await fsPromises.writeFile(filePath, `${JSON.stringify(data, null, 2)}\n`, "utf-8");
14773
14773
  return filePath;
14774
14774
  }
14775
14775
  async function readRestartSentinel(env = process.env) {
14776
14776
  const filePath = resolveRestartSentinelPath(env);
14777
14777
  try {
14778
- const raw = await fs$1.readFile(filePath, "utf-8");
14778
+ const raw = await fsPromises.readFile(filePath, "utf-8");
14779
14779
  let parsed;
14780
14780
  try {
14781
14781
  parsed = JSON.parse(raw);
14782
14782
  } catch {
14783
- await fs$1.unlink(filePath).catch(() => {});
14783
+ await fsPromises.unlink(filePath).catch(() => {});
14784
14784
  return null;
14785
14785
  }
14786
14786
  if (!parsed || parsed.version !== 1 || !parsed.payload) {
14787
- await fs$1.unlink(filePath).catch(() => {});
14787
+ await fsPromises.unlink(filePath).catch(() => {});
14788
14788
  return null;
14789
14789
  }
14790
14790
  return parsed;
@@ -14796,7 +14796,7 @@ async function consumeRestartSentinel(env = process.env) {
14796
14796
  const filePath = resolveRestartSentinelPath(env);
14797
14797
  const parsed = await readRestartSentinel(env);
14798
14798
  if (!parsed) return null;
14799
- await fs$1.unlink(filePath).catch(() => {});
14799
+ await fsPromises.unlink(filePath).catch(() => {});
14800
14800
  return parsed;
14801
14801
  }
14802
14802
  function formatRestartSentinelMessage(payload) {
@@ -19671,7 +19671,7 @@ function normalizeReplyPayload(payload, opts = {}) {
19671
19671
  */
19672
19672
  let deliverRuntimePromise$1 = null;
19673
19673
  function loadDeliverRuntime$1() {
19674
- deliverRuntimePromise$1 ??= import("./deliver-runtime-BsHI7dwo.js");
19674
+ deliverRuntimePromise$1 ??= import("./deliver-runtime-DT4PMHlo.js");
19675
19675
  return deliverRuntimePromise$1;
19676
19676
  }
19677
19677
  /**
@@ -20226,7 +20226,7 @@ function ensureContextWindowCacheLoaded() {
20226
20226
  await ensureOpenClawModelsJson(cfg);
20227
20227
  } catch {}
20228
20228
  try {
20229
- const { discoverAuthStorage, discoverModels } = await import("./pi-model-discovery-CocLN2I9.js").then((n) => n.r);
20229
+ const { discoverAuthStorage, discoverModels } = await import("./pi-model-discovery-7pqY2wzA.js").then((n) => n.r);
20230
20230
  const agentDir = resolveOpenClawAgentDir();
20231
20231
  const modelRegistry = discoverModels(discoverAuthStorage(agentDir), agentDir);
20232
20232
  applyDiscoveredContextWindows({
@@ -25095,7 +25095,7 @@ const DEFAULT_SUBAGENT_ANNOUNCE_TIMEOUT_MS = 6e4;
25095
25095
  const MAX_TIMER_SAFE_TIMEOUT_MS = 2147e6;
25096
25096
  let subagentRegistryRuntimePromise = null;
25097
25097
  function loadSubagentRegistryRuntime() {
25098
- subagentRegistryRuntimePromise ??= import("./subagent-registry-runtime-C2amjBau.js");
25098
+ subagentRegistryRuntimePromise ??= import("./subagent-registry-runtime-CqZrbR_5.js");
25099
25099
  return subagentRegistryRuntimePromise;
25100
25100
  }
25101
25101
  const DIRECT_ANNOUNCE_TRANSIENT_RETRY_DELAYS_MS = FAST_TEST_MODE ? [
@@ -30022,7 +30022,7 @@ const LOOP_WARNING_BUCKET_SIZE = 10;
30022
30022
  const MAX_LOOP_WARNING_KEYS = 256;
30023
30023
  let beforeToolCallRuntimePromise = null;
30024
30024
  function loadBeforeToolCallRuntime() {
30025
- beforeToolCallRuntimePromise ??= import("./pi-tools.before-tool-call.runtime-yg3vl2rw.js");
30025
+ beforeToolCallRuntimePromise ??= import("./pi-tools.before-tool-call.runtime-mhmSMpSo.js");
30026
30026
  return beforeToolCallRuntimePromise;
30027
30027
  }
30028
30028
  function buildAdjustedParamsKey(params) {
@@ -30258,7 +30258,7 @@ function wrapHostEditToolWithPostWriteRecovery(base, root) {
30258
30258
  if (!pathParam || !newText) throw err;
30259
30259
  try {
30260
30260
  const absolutePath = resolveHostEditPath(root, pathParam);
30261
- const content = await fs$1.readFile(absolutePath, "utf-8");
30261
+ const content = await fsPromises.readFile(absolutePath, "utf-8");
30262
30262
  const hasNew = content.includes(newText);
30263
30263
  const stillHasOld = oldText !== void 0 && oldText.length > 0 && content.includes(oldText);
30264
30264
  if (hasNew && !stillHasOld) return {
@@ -30639,7 +30639,7 @@ async function readOptionalUtf8File(params) {
30639
30639
  signal: params.signal
30640
30640
  })).toString("utf-8");
30641
30641
  }
30642
- return await fs$1.readFile(params.absolutePath, "utf-8");
30642
+ return await fsPromises.readFile(params.absolutePath, "utf-8");
30643
30643
  } catch (error) {
30644
30644
  if (error?.code === "ENOENT") return "";
30645
30645
  throw error;
@@ -30679,8 +30679,8 @@ async function appendMemoryFlushContent(params) {
30679
30679
  });
30680
30680
  return;
30681
30681
  }
30682
- await fs$1.mkdir(path.dirname(params.absolutePath), { recursive: true });
30683
- await fs$1.writeFile(params.absolutePath, next, "utf-8");
30682
+ await fsPromises.mkdir(path.dirname(params.absolutePath), { recursive: true });
30683
+ await fsPromises.writeFile(params.absolutePath, next, "utf-8");
30684
30684
  }
30685
30685
  function wrapToolMemoryFlushAppendOnlyWrite(tool, options) {
30686
30686
  const allowedAbsolutePath = path.resolve(options.root, options.relativePath);
@@ -30838,14 +30838,14 @@ function createSandboxEditOperations(params) {
30838
30838
  }
30839
30839
  async function writeHostFile(absolutePath, content) {
30840
30840
  const resolved = path.resolve(absolutePath);
30841
- await fs$1.mkdir(path.dirname(resolved), { recursive: true });
30842
- await fs$1.writeFile(resolved, content, "utf-8");
30841
+ await fsPromises.mkdir(path.dirname(resolved), { recursive: true });
30842
+ await fsPromises.writeFile(resolved, content, "utf-8");
30843
30843
  }
30844
30844
  function createHostWriteOperations(root, options) {
30845
30845
  if (!(options?.workspaceOnly ?? false)) return {
30846
30846
  mkdir: async (dir) => {
30847
30847
  const resolved = path.resolve(dir);
30848
- await fs$1.mkdir(resolved, { recursive: true });
30848
+ await fsPromises.mkdir(resolved, { recursive: true });
30849
30849
  },
30850
30850
  writeFile: writeHostFile
30851
30851
  };
@@ -30858,7 +30858,7 @@ function createHostWriteOperations(root, options) {
30858
30858
  cwd: root,
30859
30859
  root
30860
30860
  });
30861
- await fs$1.mkdir(resolved, { recursive: true });
30861
+ await fsPromises.mkdir(resolved, { recursive: true });
30862
30862
  },
30863
30863
  writeFile: async (absolutePath, content) => {
30864
30864
  await writeFileWithinRoot({
@@ -30874,12 +30874,12 @@ function createHostEditOperations(root, options) {
30874
30874
  if (!(options?.workspaceOnly ?? false)) return {
30875
30875
  readFile: async (absolutePath) => {
30876
30876
  const resolved = path.resolve(absolutePath);
30877
- return await fs$1.readFile(resolved);
30877
+ return await fsPromises.readFile(resolved);
30878
30878
  },
30879
30879
  writeFile: writeHostFile,
30880
30880
  access: async (absolutePath) => {
30881
30881
  const resolved = path.resolve(absolutePath);
30882
- await fs$1.access(resolved);
30882
+ await fsPromises.access(resolved);
30883
30883
  }
30884
30884
  };
30885
30885
  return {
@@ -31735,7 +31735,7 @@ async function repairSessionFileIfNeeded(params) {
31735
31735
  };
31736
31736
  let content;
31737
31737
  try {
31738
- content = await fs$1.readFile(sessionFile, "utf-8");
31738
+ content = await fsPromises.readFile(sessionFile, "utf-8");
31739
31739
  } catch (err) {
31740
31740
  if (err?.code === "ENOENT") return {
31741
31741
  repaired: false,
@@ -31783,15 +31783,15 @@ async function repairSessionFileIfNeeded(params) {
31783
31783
  const backupPath = `${sessionFile}.bak-${process.pid}-${Date.now()}`;
31784
31784
  const tmpPath = `${sessionFile}.repair-${process.pid}-${Date.now()}.tmp`;
31785
31785
  try {
31786
- const stat = await fs$1.stat(sessionFile).catch(() => null);
31787
- await fs$1.writeFile(backupPath, content, "utf-8");
31788
- if (stat) await fs$1.chmod(backupPath, stat.mode);
31789
- await fs$1.writeFile(tmpPath, cleaned, "utf-8");
31790
- if (stat) await fs$1.chmod(tmpPath, stat.mode);
31791
- await fs$1.rename(tmpPath, sessionFile);
31786
+ const stat = await fsPromises.stat(sessionFile).catch(() => null);
31787
+ await fsPromises.writeFile(backupPath, content, "utf-8");
31788
+ if (stat) await fsPromises.chmod(backupPath, stat.mode);
31789
+ await fsPromises.writeFile(tmpPath, cleaned, "utf-8");
31790
+ if (stat) await fsPromises.chmod(tmpPath, stat.mode);
31791
+ await fsPromises.rename(tmpPath, sessionFile);
31792
31792
  } catch (err) {
31793
31793
  try {
31794
- await fs$1.unlink(tmpPath);
31794
+ await fsPromises.unlink(tmpPath);
31795
31795
  } catch (cleanupErr) {
31796
31796
  params.warn?.(`session file repair cleanup failed: ${cleanupErr instanceof Error ? cleanupErr.message : "unknown error"} (${path.basename(tmpPath)})`);
31797
31797
  }
@@ -34708,7 +34708,7 @@ async function prewarmSessionFile(sessionFile) {
34708
34708
  if (!isSessionManagerCacheEnabled()) return;
34709
34709
  if (isSessionManagerCached(sessionFile)) return;
34710
34710
  try {
34711
- const handle = await fs$1.open(sessionFile, "r");
34711
+ const handle = await fsPromises.open(sessionFile, "r");
34712
34712
  try {
34713
34713
  const buffer = Buffer$1.alloc(4096);
34714
34714
  await handle.read(buffer, 0, buffer.length, 0);
@@ -35518,7 +35518,7 @@ async function compactEmbeddedPiSessionDirect(params) {
35518
35518
  } catch (err) {
35519
35519
  return fail(describeUnknownError(err));
35520
35520
  }
35521
- await fs$1.mkdir(resolvedWorkspace, { recursive: true });
35521
+ await fsPromises.mkdir(resolvedWorkspace, { recursive: true });
35522
35522
  const sandboxSessionKey = params.sessionKey?.trim() || params.sessionId;
35523
35523
  const sandbox = await resolveSandboxContext({
35524
35524
  config: params.config,
@@ -35526,7 +35526,7 @@ async function compactEmbeddedPiSessionDirect(params) {
35526
35526
  workspaceDir: resolvedWorkspace
35527
35527
  });
35528
35528
  const effectiveWorkspace = sandbox?.enabled ? sandbox.workspaceAccess === "rw" ? resolvedWorkspace : sandbox.workspaceDir : resolvedWorkspace;
35529
- await fs$1.mkdir(effectiveWorkspace, { recursive: true });
35529
+ await fsPromises.mkdir(effectiveWorkspace, { recursive: true });
35530
35530
  await ensureSessionHeader({
35531
35531
  sessionFile: params.sessionFile,
35532
35532
  sessionId: params.sessionId,
@@ -37239,12 +37239,12 @@ function getQueuedFileWriter(writers, filePath) {
37239
37239
  const existing = writers.get(filePath);
37240
37240
  if (existing) return existing;
37241
37241
  const dir = path.dirname(filePath);
37242
- const ready = fs$1.mkdir(dir, { recursive: true }).catch(() => void 0);
37242
+ const ready = fsPromises.mkdir(dir, { recursive: true }).catch(() => void 0);
37243
37243
  let queue = Promise.resolve();
37244
37244
  const writer = {
37245
37245
  filePath,
37246
37246
  write: (line) => {
37247
- queue = queue.then(() => ready).then(() => fs$1.appendFile(filePath, line, "utf8")).catch(() => void 0);
37247
+ queue = queue.then(() => ready).then(() => fsPromises.appendFile(filePath, line, "utf8")).catch(() => void 0);
37248
37248
  }
37249
37249
  };
37250
37250
  writers.set(filePath, writer);
@@ -40861,7 +40861,7 @@ async function prepareSessionManagerForRun(params) {
40861
40861
  return;
40862
40862
  }
40863
40863
  if (params.hadSessionFile && header && !hasAssistant) {
40864
- await fs$1.writeFile(params.sessionFile, "", "utf-8");
40864
+ await fsPromises.writeFile(params.sessionFile, "", "utf-8");
40865
40865
  sm.fileEntries = [header];
40866
40866
  sm.byId?.clear?.();
40867
40867
  sm.labelsById?.clear?.();
@@ -41717,7 +41717,7 @@ async function runEmbeddedAttempt(params) {
41717
41717
  ensureGlobalUndiciEnvProxyDispatcher();
41718
41718
  ensureGlobalUndiciStreamTimeouts();
41719
41719
  log$11.debug(`embedded run start: runId=${params.runId} sessionId=${params.sessionId} provider=${params.provider} model=${params.modelId} thinking=${params.thinkLevel} messageChannel=${params.messageChannel ?? params.messageProvider ?? "unknown"}`);
41720
- await fs$1.mkdir(resolvedWorkspace, { recursive: true });
41720
+ await fsPromises.mkdir(resolvedWorkspace, { recursive: true });
41721
41721
  const sandboxSessionKey = params.sessionKey?.trim() || params.sessionId;
41722
41722
  const sandbox = await resolveSandboxContext({
41723
41723
  config: params.config,
@@ -41725,7 +41725,7 @@ async function runEmbeddedAttempt(params) {
41725
41725
  workspaceDir: resolvedWorkspace
41726
41726
  });
41727
41727
  const effectiveWorkspace = sandbox?.enabled ? sandbox.workspaceAccess === "rw" ? resolvedWorkspace : sandbox.workspaceDir : resolvedWorkspace;
41728
- await fs$1.mkdir(effectiveWorkspace, { recursive: true });
41728
+ await fsPromises.mkdir(effectiveWorkspace, { recursive: true });
41729
41729
  let restoreSkillEnv;
41730
41730
  process.chdir(effectiveWorkspace);
41731
41731
  try {
@@ -41981,7 +41981,7 @@ async function runEmbeddedAttempt(params) {
41981
41981
  sessionFile: params.sessionFile,
41982
41982
  warn: (message) => log$11.warn(message)
41983
41983
  });
41984
- const hadSessionFile = await fs$1.stat(params.sessionFile).then(() => true).catch(() => false);
41984
+ const hadSessionFile = await fsPromises.stat(params.sessionFile).then(() => true).catch(() => false);
41985
41985
  const transcriptPolicy = resolveTranscriptPolicy({
41986
41986
  modelApi: params.model?.api,
41987
41987
  provider: params.provider,
@@ -43371,7 +43371,7 @@ async function runEmbeddedPiAgent(params) {
43371
43371
  const copilotAuthRetry = authRetryPending;
43372
43372
  authRetryPending = false;
43373
43373
  attemptedThinking.add(thinkLevel);
43374
- await fs$1.mkdir(resolvedWorkspace, { recursive: true });
43374
+ await fsPromises.mkdir(resolvedWorkspace, { recursive: true });
43375
43375
  const prompt = provider === "anthropic" ? scrubAnthropicRefusalMagic(params.prompt) : params.prompt;
43376
43376
  const attempt = await runEmbeddedAttempt({
43377
43377
  sessionId: params.sessionId,
@@ -45200,12 +45200,12 @@ async function resolveAcpAttachments(ctx) {
45200
45200
  const filePath = normalizeAttachmentPath(attachment.path);
45201
45201
  if (!filePath) continue;
45202
45202
  try {
45203
- const stat = await fs$1.stat(filePath);
45203
+ const stat = await fsPromises.stat(filePath);
45204
45204
  if (stat.size > ACP_ATTACHMENT_MAX_BYTES) {
45205
45205
  logVerbose(`dispatch-acp: skipping attachment ${filePath} (${stat.size} bytes exceeds ${ACP_ATTACHMENT_MAX_BYTES} byte limit)`);
45206
45206
  continue;
45207
45207
  }
45208
- const buf = await fs$1.readFile(filePath);
45208
+ const buf = await fsPromises.readFile(filePath);
45209
45209
  results.push({
45210
45210
  mediaType,
45211
45211
  data: buf.toString("base64")
@@ -46388,7 +46388,7 @@ function getCacheStats() {
46388
46388
  const STICKER_DESCRIPTION_PROMPT = "Describe this sticker image in 1-2 sentences. Focus on what the sticker depicts (character, object, action, emotion). Be concise and objective.";
46389
46389
  let imageRuntimePromise = null;
46390
46390
  function loadImageRuntime() {
46391
- imageRuntimePromise ??= import("./image-runtime-EqNC780Y.js");
46391
+ imageRuntimePromise ??= import("./image-runtime-BKnEMJR7.js");
46392
46392
  return imageRuntimePromise;
46393
46393
  }
46394
46394
  /**
@@ -46454,7 +46454,7 @@ async function describeStickerImage(params) {
46454
46454
  const { provider, model } = resolved;
46455
46455
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
46456
46456
  try {
46457
- const buffer = await fs$1.readFile(imagePath);
46457
+ const buffer = await fsPromises.readFile(imagePath);
46458
46458
  const { describeImageWithModel } = await loadImageRuntime();
46459
46459
  return (await describeImageWithModel({
46460
46460
  buffer,
@@ -47110,7 +47110,7 @@ function getMediaDir() {
47110
47110
  }
47111
47111
  async function ensureMediaDir() {
47112
47112
  const mediaDir = resolveMediaDir();
47113
- await fs$1.mkdir(mediaDir, {
47113
+ await fsPromises.mkdir(mediaDir, {
47114
47114
  recursive: true,
47115
47115
  mode: 448
47116
47116
  });
@@ -47124,7 +47124,7 @@ async function retryAfterRecreatingDir(dir, run) {
47124
47124
  return await run();
47125
47125
  } catch (err) {
47126
47126
  if (!isMissingPathError(err)) throw err;
47127
- await fs$1.mkdir(dir, {
47127
+ await fsPromises.mkdir(dir, {
47128
47128
  recursive: true,
47129
47129
  mode: 448
47130
47130
  });
@@ -47137,41 +47137,41 @@ async function cleanOldMedia(ttlMs = DEFAULT_TTL_MS, options = {}) {
47137
47137
  const recursive = options.recursive ?? false;
47138
47138
  const pruneEmptyDirs = recursive && (options.pruneEmptyDirs ?? false);
47139
47139
  const removeExpiredFilesInDir = async (dir) => {
47140
- const dirEntries = await fs$1.readdir(dir).catch(() => null);
47140
+ const dirEntries = await fsPromises.readdir(dir).catch(() => null);
47141
47141
  if (!dirEntries) return false;
47142
47142
  for (const entry of dirEntries) {
47143
47143
  const fullPath = path.join(dir, entry);
47144
- const stat = await fs$1.lstat(fullPath).catch(() => null);
47144
+ const stat = await fsPromises.lstat(fullPath).catch(() => null);
47145
47145
  if (!stat || stat.isSymbolicLink()) continue;
47146
47146
  if (stat.isDirectory()) {
47147
47147
  if (recursive) {
47148
- if (await removeExpiredFilesInDir(fullPath)) await fs$1.rmdir(fullPath).catch(() => {});
47148
+ if (await removeExpiredFilesInDir(fullPath)) await fsPromises.rmdir(fullPath).catch(() => {});
47149
47149
  }
47150
47150
  continue;
47151
47151
  }
47152
47152
  if (!stat.isFile()) continue;
47153
- if (now - stat.mtimeMs > ttlMs) await fs$1.rm(fullPath, { force: true }).catch(() => {});
47153
+ if (now - stat.mtimeMs > ttlMs) await fsPromises.rm(fullPath, { force: true }).catch(() => {});
47154
47154
  }
47155
47155
  if (!pruneEmptyDirs) return false;
47156
- const remainingEntries = await fs$1.readdir(dir).catch(() => null);
47156
+ const remainingEntries = await fsPromises.readdir(dir).catch(() => null);
47157
47157
  return remainingEntries !== null && remainingEntries.length === 0;
47158
47158
  };
47159
- const entries = await fs$1.readdir(mediaDir).catch(() => []);
47159
+ const entries = await fsPromises.readdir(mediaDir).catch(() => []);
47160
47160
  for (const file of entries) {
47161
47161
  const full = path.join(mediaDir, file);
47162
- const stat = await fs$1.lstat(full).catch(() => null);
47162
+ const stat = await fsPromises.lstat(full).catch(() => null);
47163
47163
  if (!stat || stat.isSymbolicLink()) continue;
47164
47164
  if (stat.isDirectory()) {
47165
- if (await removeExpiredFilesInDir(full)) await fs$1.rmdir(full).catch(() => {});
47165
+ if (await removeExpiredFilesInDir(full)) await fsPromises.rmdir(full).catch(() => {});
47166
47166
  continue;
47167
47167
  }
47168
- if (stat.isFile() && now - stat.mtimeMs > ttlMs) await fs$1.rm(full, { force: true }).catch(() => {});
47168
+ if (stat.isFile() && now - stat.mtimeMs > ttlMs) await fsPromises.rm(full, { force: true }).catch(() => {});
47169
47169
  }
47170
47170
  }
47171
47171
  async function saveMediaBuffer(buffer, contentType, subdir = "inbound", maxBytes = MAX_BYTES, originalFilename) {
47172
47172
  if (buffer.byteLength > maxBytes) throw new Error(`Media exceeds ${(maxBytes / (1024 * 1024)).toFixed(0)}MB limit`);
47173
47173
  const dir = path.join(resolveMediaDir(), subdir);
47174
- await fs$1.mkdir(dir, {
47174
+ await fsPromises.mkdir(dir, {
47175
47175
  recursive: true,
47176
47176
  mode: 448
47177
47177
  });
@@ -47189,7 +47189,7 @@ async function saveMediaBuffer(buffer, contentType, subdir = "inbound", maxBytes
47189
47189
  id = sanitized ? `${sanitized}---${uuid}${ext}` : `${uuid}${ext}`;
47190
47190
  } else id = ext ? `${uuid}${ext}` : uuid;
47191
47191
  const dest = path.join(dir, id);
47192
- await retryAfterRecreatingDir(dir, () => fs$1.writeFile(dest, buffer, { mode: MEDIA_FILE_MODE }));
47192
+ await retryAfterRecreatingDir(dir, () => fsPromises.writeFile(dest, buffer, { mode: MEDIA_FILE_MODE }));
47193
47193
  return {
47194
47194
  id,
47195
47195
  path: dest,
@@ -49206,7 +49206,7 @@ async function createModelSelectionState(params) {
49206
49206
  }
49207
49207
  }
49208
49208
  if (sessionEntry && sessionStore && sessionKey && sessionEntry.authProfileOverride) {
49209
- const { ensureAuthProfileStore } = await import("./model-selection-CftqhKNS.js").then((n) => n.St);
49209
+ const { ensureAuthProfileStore } = await import("./model-selection-DU-DNNW7.js").then((n) => n.St);
49210
49210
  const profile = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false }).profiles[sessionEntry.authProfileOverride];
49211
49211
  const providerKey = normalizeProviderId(provider);
49212
49212
  if (!profile || normalizeProviderId(profile.provider) !== providerKey) await clearSessionAuthProfileOverride({
@@ -52009,7 +52009,7 @@ async function resolveTelegramInboundBody(params) {
52009
52009
  const disableAudioPreflight = (topicConfig?.disableAudioPreflight ?? groupConfig?.disableAudioPreflight) === true;
52010
52010
  let preflightTranscript;
52011
52011
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0 && !disableAudioPreflight) try {
52012
- const { transcribeFirstAudio } = await import("./audio-preflight-ugqpHAQh.js");
52012
+ const { transcribeFirstAudio } = await import("./audio-preflight-Dd3C7mtQ.js");
52013
52013
  preflightTranscript = await transcribeFirstAudio({
52014
52014
  ctx: {
52015
52015
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -54430,7 +54430,7 @@ function resolveCommandHashPath(accountId, botIdentity) {
54430
54430
  }
54431
54431
  async function readCachedCommandHash(accountId, botIdentity) {
54432
54432
  try {
54433
- return (await fs$1.readFile(resolveCommandHashPath(accountId, botIdentity), "utf-8")).trim();
54433
+ return (await fsPromises.readFile(resolveCommandHashPath(accountId, botIdentity), "utf-8")).trim();
54434
54434
  } catch {
54435
54435
  return null;
54436
54436
  }
@@ -54438,8 +54438,8 @@ async function readCachedCommandHash(accountId, botIdentity) {
54438
54438
  async function writeCachedCommandHash(accountId, botIdentity, hash) {
54439
54439
  const filePath = resolveCommandHashPath(accountId, botIdentity);
54440
54440
  try {
54441
- await fs$1.mkdir(path.dirname(filePath), { recursive: true });
54442
- await fs$1.writeFile(filePath, hash, "utf-8");
54441
+ await fsPromises.mkdir(path.dirname(filePath), { recursive: true });
54442
+ await fsPromises.writeFile(filePath, hash, "utf-8");
54443
54443
  } catch {}
54444
54444
  }
54445
54445
  function syncTelegramMenuCommands(params) {
@@ -56012,7 +56012,7 @@ function safeParseState(raw) {
56012
56012
  async function readTelegramUpdateOffset(params) {
56013
56013
  const filePath = resolveTelegramUpdateOffsetPath(params.accountId, params.env);
56014
56014
  try {
56015
- const parsed = safeParseState(await fs$1.readFile(filePath, "utf-8"));
56015
+ const parsed = safeParseState(await fsPromises.readFile(filePath, "utf-8"));
56016
56016
  const expectedBotId = extractBotIdFromToken(params.botToken);
56017
56017
  if (expectedBotId && parsed?.botId && parsed.botId !== expectedBotId) return null;
56018
56018
  if (expectedBotId && parsed?.botId === null) return null;
@@ -56037,7 +56037,7 @@ async function writeTelegramUpdateOffset(params) {
56037
56037
  async function deleteTelegramUpdateOffset(params) {
56038
56038
  const filePath = resolveTelegramUpdateOffsetPath(params.accountId, params.env);
56039
56039
  try {
56040
- await fs$1.unlink(filePath);
56040
+ await fsPromises.unlink(filePath);
56041
56041
  } catch (err) {
56042
56042
  if (err.code === "ENOENT") return;
56043
56043
  throw err;
@@ -62575,7 +62575,7 @@ async function emitResetCommandHooks(params) {
62575
62575
  try {
62576
62576
  const messages = [];
62577
62577
  if (sessionFile) {
62578
- const content = await fs$1.readFile(sessionFile, "utf-8");
62578
+ const content = await fsPromises.readFile(sessionFile, "utf-8");
62579
62579
  for (const line of content.split("\n")) {
62580
62580
  if (!line.trim()) continue;
62581
62581
  try {
@@ -65591,18 +65591,18 @@ function appendImagePathsToPrompt(prompt, paths) {
65591
65591
  return `${trimmed}${trimmed ? "\n\n" : ""}${paths.join("\n")}`;
65592
65592
  }
65593
65593
  async function writeCliImages(images) {
65594
- const tempDir = await fs$1.mkdtemp(path.join(os.tmpdir(), "openclaw-cli-images-"));
65594
+ const tempDir = await fsPromises.mkdtemp(path.join(os.tmpdir(), "openclaw-cli-images-"));
65595
65595
  const paths = [];
65596
65596
  for (let i = 0; i < images.length; i += 1) {
65597
65597
  const image = images[i];
65598
65598
  const ext = resolveImageExtension(image.mimeType);
65599
65599
  const filePath = path.join(tempDir, `image-${i + 1}.${ext}`);
65600
65600
  const buffer = Buffer.from(image.data, "base64");
65601
- await fs$1.writeFile(filePath, buffer, { mode: 384 });
65601
+ await fsPromises.writeFile(filePath, buffer, { mode: 384 });
65602
65602
  paths.push(filePath);
65603
65603
  }
65604
65604
  const cleanup = async () => {
65605
- await fs$1.rm(tempDir, {
65605
+ await fsPromises.rm(tempDir, {
65606
65606
  recursive: true,
65607
65607
  force: true
65608
65608
  });
@@ -69031,7 +69031,7 @@ const warnedContexts = /* @__PURE__ */ new Map();
69031
69031
  const log$1 = createSubsystemLogger("session-maintenance-warning");
69032
69032
  let deliverRuntimePromise = null;
69033
69033
  function loadDeliverRuntime() {
69034
- deliverRuntimePromise ??= import("./deliver-runtime-BsHI7dwo.js");
69034
+ deliverRuntimePromise ??= import("./deliver-runtime-DT4PMHlo.js");
69035
69035
  return deliverRuntimePromise;
69036
69036
  }
69037
69037
  function shouldSendWarning() {
@@ -69712,7 +69712,7 @@ async function stageSandboxMedia(params) {
69712
69712
  const remoteMediaCacheDir = ctx.MediaRemoteHost ? path.join(CONFIG_DIR, "media", "remote-cache", sessionKey) : null;
69713
69713
  const effectiveWorkspaceDir = sandbox?.workspaceDir ?? remoteMediaCacheDir;
69714
69714
  if (!effectiveWorkspaceDir) return;
69715
- await fs$1.mkdir(effectiveWorkspaceDir, { recursive: true });
69715
+ await fsPromises.mkdir(effectiveWorkspaceDir, { recursive: true });
69716
69716
  const remoteAttachmentRoots = resolveIMessageRemoteAttachmentRoots({
69717
69717
  cfg,
69718
69718
  accountId: ctx.AccountId
@@ -69771,8 +69771,8 @@ async function stageLocalFileIntoRoot(params) {
69771
69771
  }
69772
69772
  async function stageRemoteFileIntoRoot(params) {
69773
69773
  const tmpRoot = resolvePreferredOpenClawTmpDir();
69774
- await fs$1.mkdir(tmpRoot, { recursive: true });
69775
- const tmpDir = await fs$1.mkdtemp(path.join(tmpRoot, "stage-sandbox-media-"));
69774
+ await fsPromises.mkdir(tmpRoot, { recursive: true });
69775
+ const tmpDir = await fsPromises.mkdtemp(path.join(tmpRoot, "stage-sandbox-media-"));
69776
69776
  const tmpPath = path.join(tmpDir, "download");
69777
69777
  try {
69778
69778
  await scpFile(params.remoteHost, params.remotePath, tmpPath);
@@ -69783,7 +69783,7 @@ async function stageRemoteFileIntoRoot(params) {
69783
69783
  maxBytes: params.maxBytes
69784
69784
  });
69785
69785
  } finally {
69786
- await fs$1.rm(tmpDir, {
69786
+ await fsPromises.rm(tmpDir, {
69787
69787
  recursive: true,
69788
69788
  force: true
69789
69789
  }).catch(() => {});