activeclaw 2026.4.5 → 2026.4.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (379) hide show
  1. package/dist/{acp-cli-DFNJuSr1.js → acp-cli-DAoO2PiM.js} +9 -9
  2. package/dist/{acp-cli-CYNmIkev.js → acp-cli-e3Nru-Yh.js} +5 -5
  3. package/dist/{agent-CCHm3dnF.js → agent-CMfazMZh.js} +11 -11
  4. package/dist/{agent-BLSLlPLk.js → agent-JPiOsp4w.js} +8 -8
  5. package/dist/{agent-scope-Dv5h0qQE.js → agent-scope-BrJT9Gf9.js} +17 -17
  6. package/dist/{agents-BxHLH0uE.js → agents-BFneTNaM.js} +7 -7
  7. package/dist/{agents.config-CxFlr00u.js → agents.config-63M2f6aF.js} +2 -2
  8. package/dist/{agents.config-BF0K3aA6.js → agents.config-CLmETqUQ.js} +1 -1
  9. package/dist/{api-key-rotation-cqcPDbSb.js → api-key-rotation--yH6WXh1.js} +1 -1
  10. package/dist/{api-key-rotation-BbIb9aas.js → api-key-rotation-BHAUzS3H.js} +2 -2
  11. package/dist/{api-key-rotation-Cyf-Q4MB.js → api-key-rotation-DeP9Nazr.js} +2 -2
  12. package/dist/{api-key-rotation-CpK2-BOi.js → api-key-rotation-ysMjkqBD.js} +1 -1
  13. package/dist/{audio-preflight-L-LZWSbn.js → audio-preflight-Bc4dihum.js} +16 -16
  14. package/dist/{audio-preflight-DRfaJpBd.js → audio-preflight-DPH8sex1.js} +8 -8
  15. package/dist/{audio-preflight-ugqpHAQh.js → audio-preflight-Dd3C7mtQ.js} +14 -14
  16. package/dist/{audio-preflight-BWsuQsJe.js → audio-preflight-DqbhN1m7.js} +4 -4
  17. package/dist/{audio-transcription-runner-Uz2dTIDx.js → audio-transcription-runner-B02iDYTW.js} +23 -23
  18. package/dist/{audio-transcription-runner-CovQeJJ8.js → audio-transcription-runner-B8jxT-MB.js} +6 -6
  19. package/dist/{audio-transcription-runner-BjxrFZhs.js → audio-transcription-runner-DIwGKsNI.js} +4 -4
  20. package/dist/{audio-transcription-runner-Bt0PplM9.js → audio-transcription-runner-TUBV75w0.js} +11 -11
  21. package/dist/{audit-CmbdapG_.js → audit-Cg4EdF12.js} +21 -21
  22. package/dist/{audit-membership-runtime-D-ZeUv63.js → audit-membership-runtime-DK2vsxHN.js} +6 -6
  23. package/dist/{audit-Dk_eftLe.js → audit-u873Aqoz.js} +7 -7
  24. package/dist/{auth-CCGOm7j4.js → auth-B7N969mv.js} +1 -1
  25. package/dist/{auth-Cp-1JzUb.js → auth-Bu24hYWH.js} +1 -1
  26. package/dist/{auth-choice-tokGZmzT.js → auth-choice-CBs23Eut.js} +13 -13
  27. package/dist/{auth-choice-DMcjsacO.js → auth-choice-DKqoMQkv.js} +14 -14
  28. package/dist/{auth-choice-CzIHMC2n.js → auth-choice-DWfkvDEv.js} +18 -18
  29. package/dist/{auth-choice-BOV3mxdG.js → auth-choice-LkLMeioa.js} +12 -12
  30. package/dist/{auth-choice.apply-helpers-alZH2ST_.js → auth-choice.apply-helpers-CJra1kZX.js} +1 -1
  31. package/dist/{auth-choice.apply-helpers-C0zKQkgn.js → auth-choice.apply-helpers-D_qbnasd.js} +1 -1
  32. package/dist/{auth-profiles-B5hyImOM.js → auth-profiles-D9Wn945p.js} +12 -0
  33. package/dist/{auth-token-BHnzfcUl.js → auth-token-BE6nISKT.js} +1 -1
  34. package/dist/{auth-token-Bzfws-T-.js → auth-token-DeLPA2C5.js} +1 -1
  35. package/dist/{banner-MJMqAYlg.js → banner-Ctm-KPnO.js} +1 -1
  36. package/dist/{bonjour-discovery-B4Fsf8u3.js → bonjour-discovery-CHN01_kY.js} +1 -1
  37. package/dist/{bonjour-discovery-LLqnJbvr.js → bonjour-discovery-Cak-jClv.js} +1 -1
  38. package/dist/build-info.json +3 -3
  39. package/dist/bundled/boot-md/handler.js +27 -27
  40. package/dist/bundled/bootstrap-extra-files/handler.js +5 -5
  41. package/dist/bundled/command-logger/handler.js +2 -2
  42. package/dist/bundled/session-memory/handler.js +26 -26
  43. package/dist/{call-CKFLqNkw.js → call-7be5mSn_.js} +9 -9
  44. package/dist/{call-5htJiVxi.js → call-Ce8vjHmH.js} +2 -2
  45. package/dist/{channel-account-context-BI023AHZ.js → channel-account-context-D9S5HJn4.js} +6 -6
  46. package/dist/{channel-account-context-CZgEeotA.js → channel-account-context-XxNxKPcm.js} +1 -1
  47. package/dist/{channel-options-DAKPziI3.js → channel-options-DbKTl72b.js} +2 -2
  48. package/dist/{channel-options-DiGuGjgV.js → channel-options-a0rwBOBp.js} +2 -2
  49. package/dist/{channel-selection-CrnnQqyM.js → channel-selection-Cz7kZ_dd.js} +1 -1
  50. package/dist/{channel-selection-Dh-j4PE7.js → channel-selection-DMlnEgJc.js} +1 -1
  51. package/dist/channels/plugins/actions/telegram.js +12 -0
  52. package/dist/{channels-cli-Lcff68v5.js → channels-cli-2VIPyG8m.js} +55 -55
  53. package/dist/{channels-cli-DvKsiDcY.js → channels-cli-BG1xCXaW.js} +40 -40
  54. package/dist/{chunk-cNotV828.js → chunk-B0PHAL_m.js} +1 -1
  55. package/dist/{chunk-DB_LA-72.js → chunk-BSmRwqjw.js} +2 -2
  56. package/dist/{chunk-I6GfHIkA.js → chunk-D4AO1AEe.js} +1 -1
  57. package/dist/{cleanup-utils-6oONTdk-.js → cleanup-utils-DuGSE7QL.js} +4 -4
  58. package/dist/cli/daemon-cli.js +1 -1
  59. package/dist/{cli-CX0-e1Do.js → cli-He5MwTZv.js} +31 -31
  60. package/dist/{cli-Nb2Rv2SE.js → cli-McCicHl-.js} +39 -39
  61. package/dist/{command-registry-B1NKrz1S.js → command-registry-B4XSKnqk.js} +12 -12
  62. package/dist/{command-secret-targets-DXU9DFeM.js → command-secret-targets-BQ5lbER9.js} +3 -3
  63. package/dist/{command-secret-targets-CpKxsR1T.js → command-secret-targets-lNjgc0CR.js} +3 -3
  64. package/dist/{compact-qJ63Ml29.js → compact-DBxHCU3Q.js} +44 -35
  65. package/dist/compact.runtime-D3MiFKq0.js +66 -0
  66. package/dist/{compact.runtime-Cl5rju7L.js → compact.runtime-DKQKkff5.js} +9 -9
  67. package/dist/{compact.runtime-B7P5LnIa.js → compact.runtime-DcTpLwZ5.js} +31 -31
  68. package/dist/compact.runtime-DvhVgC1j.js +28 -0
  69. package/dist/{completion-cli-BkGeOB0Y.js → completion-cli-BXlBKnlj.js} +2 -2
  70. package/dist/{completion-cli-DQ5HyrvM.js → completion-cli-C0IxNzBH.js} +12 -12
  71. package/dist/{config-cli-CiLzQLbQ.js → config-cli-C4ryG2Rf.js} +4 -4
  72. package/dist/{config-cli-BKXR8uQg.js → config-cli-rH6YNttY.js} +8 -8
  73. package/dist/{config-guard-DKS3Bjiu.js → config-guard-DpwVMnwc.js} +3 -3
  74. package/dist/{config-guard-C5v1W26E.js → config-guard-ahuxxM-z.js} +15 -15
  75. package/dist/{config-validation-DsiQ4Ig0.js → config-validation-C7b6auM4.js} +2 -2
  76. package/dist/{config-validation-BKR2V3xN.js → config-validation-CanHLJ8X.js} +2 -2
  77. package/dist/{configure-JCyEZ5Fd.js → configure-BfCm4pl9.js} +17 -17
  78. package/dist/{configure-B7kIEfSP.js → configure-CuFhFIhR.js} +12 -12
  79. package/dist/{connection-auth-DoyMyMj7.js → connection-auth-Uq6_taV8.js} +1 -1
  80. package/dist/{connection-auth-_DWNXAV0.js → connection-auth-tv7E7e3R.js} +1 -1
  81. package/dist/{cron-cli-_jyWnQpP.js → cron-cli-DeTrhoKQ.js} +4 -4
  82. package/dist/{cron-cli-BS6spxkO.js → cron-cli-gWy7x5uI.js} +8 -8
  83. package/dist/{daemon-cli-BtKr1oQT.js → daemon-cli-DhF5rs_a.js} +7 -7
  84. package/dist/{daemon-cli-Be1vZo5e.js → daemon-cli-qKu_98e8.js} +12 -12
  85. package/dist/daemon-cli.js +12 -0
  86. package/dist/{daemon-install-DL5tMI7L.js → daemon-install-C3mTkJtr.js} +13 -13
  87. package/dist/{daemon-install-CAzURxv-.js → daemon-install-DVTKAzGi.js} +6 -6
  88. package/dist/{deliver-kqa-lgew.js → deliver-BBYhSw-z.js} +4 -4
  89. package/dist/{deliver-DZveowc3.js → deliver-D2j_qrPV.js} +18 -18
  90. package/dist/{deliver-CODiAnbo.js → deliver-DIDeQhCe.js} +1 -1
  91. package/dist/{deliver-C1juSywI.js → deliver-DvOSE6dK.js} +3 -3
  92. package/dist/deliver-runtime-B_vg9NSW.js +14 -0
  93. package/dist/{deliver-runtime-C6qB5ZVb.js → deliver-runtime-C0Wbfid0.js} +4 -4
  94. package/dist/{deliver-runtime-BsHI7dwo.js → deliver-runtime-DT4PMHlo.js} +9 -9
  95. package/dist/{deliver-runtime-D7Dud7B5.js → deliver-runtime-JgwxHubA.js} +2 -2
  96. package/dist/{deps-CLLCZe9I.js → deps-Y7mMaM9D.js} +1 -1
  97. package/dist/{deps-send-telegram.runtime-JtJ6ati5.js → deps-send-telegram.runtime-BIAuW6ip.js} +6 -6
  98. package/dist/deps-send-telegram.runtime-BMbKZ8Sj.js +19 -0
  99. package/dist/{deps-send-telegram.runtime-oajdQ06q.js → deps-send-telegram.runtime-C3q7fofC.js} +13 -13
  100. package/dist/{diagnostic-BXoxaU4W.js → diagnostic-Bbd8nFqt.js} +1 -1
  101. package/dist/{diagnostic-Booor3n0.js → diagnostic-BgC5_P-R.js} +1 -1
  102. package/dist/{diagnostic-BpFQ24Me.js → diagnostic-DGCbVfrY.js} +1 -1
  103. package/dist/{diagnostic-xdfzrdaY.js → diagnostic-G-xDRRdG.js} +2 -2
  104. package/dist/{diagnostics-DU5X6chC.js → diagnostics-C-VDJRVJ.js} +5 -5
  105. package/dist/{directory-cli-BuAiyESe.js → directory-cli-C1uCNh_L.js} +2 -2
  106. package/dist/{directory-cli-CjmZMS9e.js → directory-cli-kNyyepbw.js} +6 -6
  107. package/dist/{dns-cli-VjcjpJaH.js → dns-cli-Bl34g-49.js} +6 -6
  108. package/dist/{dns-cli-C3NikSdN.js → dns-cli-C4NOhwp6.js} +2 -2
  109. package/dist/{docs-cli-Dnr7p-iL.js → docs-cli-Cg3LkXnq.js} +4 -4
  110. package/dist/{doctor-completion-Cd5Nl3yQ.js → doctor-completion-BMhNBLlZ.js} +2 -2
  111. package/dist/{doctor-completion-Cr_mm4ZQ.js → doctor-completion-Bhzly0Le.js} +1 -1
  112. package/dist/{doctor-config-flow-CACQt_iy.js → doctor-config-flow-BaPH3aqI.js} +6 -6
  113. package/dist/{doctor-config-flow-Cte0zkRl.js → doctor-config-flow-BcXzOsQs.js} +13 -13
  114. package/dist/{enable-Cf9rGPag.js → enable-DevEDLTp.js} +1 -1
  115. package/dist/{enable-DW4lKjBU.js → enable-yZG-yiAJ.js} +1 -1
  116. package/dist/entry.js +2 -2
  117. package/dist/{env-DGWeP3w5.js → env-Bhn5CLil.js} +1 -1
  118. package/dist/{errors-B27FlGCB.js → errors-Bqf8bSUd.js} +1 -1
  119. package/dist/{exec-approvals-allowlist-CWZm-Xjt.js → exec-approvals-allowlist-BSEL6MhC.js} +1 -1
  120. package/dist/{exec-approvals-allowlist-DnjttVeB.js → exec-approvals-allowlist-Be63T3oT.js} +1 -1
  121. package/dist/{exec-approvals-cli-BHD1xE9Q.js → exec-approvals-cli-BXOXf0aV.js} +5 -5
  122. package/dist/{exec-approvals-cli-BRCUDW6B.js → exec-approvals-cli-Ckca7X8L.js} +14 -14
  123. package/dist/{exec-safe-bin-runtime-policy-CObmLqq8.js → exec-safe-bin-runtime-policy-BnTNRx5O.js} +2 -2
  124. package/dist/{exec-safe-bin-runtime-policy-CjDG3QJD.js → exec-safe-bin-runtime-policy-DbbnAmrV.js} +2 -2
  125. package/dist/extensionAPI.js +9 -9
  126. package/dist/{fetch-aXWb4Ao5.js → fetch-BWClp-zV.js} +3 -3
  127. package/dist/{fetch-C-yIjbz-.js → fetch-DAiV9-bR.js} +1 -1
  128. package/dist/{fetch-3V1gxxYH.js → fetch-LN1gb6p0.js} +1 -1
  129. package/dist/{fetch-guard-DDQrBzBv.js → fetch-guard-Bd5oI7xu.js} +3 -3
  130. package/dist/{fetch-guard-Dsd8UoGA.js → fetch-guard-DGuF8Mhb.js} +1 -1
  131. package/dist/{fetch-guard-DkMZHPzY.js → fetch-guard-dTCN4rW8.js} +1 -1
  132. package/dist/{fetch-BXs0KCX9.js → fetch-hiM4UODI.js} +1 -1
  133. package/dist/{frontmatter-_kVsuvOa.js → frontmatter-CC95HXlE.js} +3 -3
  134. package/dist/{fs-safe-BLWbfoa6.js → fs-safe-B_UpcQBp.js} +34 -34
  135. package/dist/{fs-safe-DqIZh4BQ.js → fs-safe-hxxMXweE.js} +4 -4
  136. package/dist/{gateway-cli-BOZLG619.js → gateway-cli-X1ZtTIn1.js} +55 -55
  137. package/dist/{gateway-cli-C88jp3Aw.js → gateway-cli-nYAUoRqi.js} +99 -99
  138. package/dist/{gateway-install-token-BnQ74gB8.js → gateway-install-token-B7z4nya5.js} +4 -4
  139. package/dist/{gateway-install-token-qIxBiiV_.js → gateway-install-token-CVO9K6d2.js} +15 -15
  140. package/dist/{gateway-rpc-D5FI-w_h.js → gateway-rpc-ACgYuynD.js} +2 -2
  141. package/dist/{gateway-rpc-DZUx1OqN.js → gateway-rpc-DX5S8s8b.js} +2 -2
  142. package/dist/{github-copilot-token-DJKrUYl0.js → github-copilot-token-CLlAnyEf.js} +7 -7
  143. package/dist/{health-DhuzyE57.js → health-D22GmS6O.js} +4 -4
  144. package/dist/{health-DKId61cm.js → health-I2eelBJ0.js} +10 -10
  145. package/dist/{history-cli-BcwU3MKy.js → history-cli-D-sy-eCF.js} +25 -25
  146. package/dist/{history-cli-DPC2tW70.js → history-cli-HSiD9qOC.js} +11 -11
  147. package/dist/{hooks-cli-K9Olbeoq.js → hooks-cli-B8yce8aT.js} +46 -46
  148. package/dist/{hooks-cli-D4EdsaZd.js → hooks-cli-BpGVDC8n.js} +32 -32
  149. package/dist/{hooks-status-DFoUaWp1.js → hooks-status-0HInFKiT.js} +1 -1
  150. package/dist/{image-xmUgWF9P.js → image-B4HCDVUj.js} +3 -3
  151. package/dist/{image-DAEA1-oq.js → image-BUEhx-b4.js} +5 -5
  152. package/dist/{image-B-QmrXyQ.js → image-DHFliGoO.js} +4 -4
  153. package/dist/{image-Hryb3xjW.js → image-kqy5P4_2.js} +2 -2
  154. package/dist/{image-runtime-Bq4LW7no.js → image-runtime-8ygTiDaV.js} +3 -3
  155. package/dist/{image-runtime-EqNC780Y.js → image-runtime-BKnEMJR7.js} +7 -7
  156. package/dist/{image-runtime-CqQexlZf.js → image-runtime-BtQeLPdH.js} +2 -2
  157. package/dist/image-runtime-DYqTmna6.js +12 -0
  158. package/dist/index.js +47 -47
  159. package/dist/{inspect-3xM6J2Z_.js → inspect-0yj9c1e2.js} +9 -9
  160. package/dist/{inspect-5BGzxifc.js → inspect-CmvIDefh.js} +1 -1
  161. package/dist/{installs-Cg8kKBcv.js → installs-DPimnX51.js} +7 -7
  162. package/dist/{ipv4-DZ8ZOnQk.js → ipv4-DPsEPkzz.js} +1 -1
  163. package/dist/{ipv4-BllQnUqi.js → ipv4-DkllL_TQ.js} +1 -1
  164. package/dist/{issue-format-BnnZmmHz.js → issue-format-DbKknWy1.js} +1 -1
  165. package/dist/{issue-format-Dbw0ZKZU.js → issue-format-hszNX8Io.js} +1 -1
  166. package/dist/llm-slug-generator.js +26 -26
  167. package/dist/{local-roots-B0MExwb7.js → local-roots-BZvUgFKO.js} +1 -1
  168. package/dist/{local-roots-ysSrZ6CP.js → local-roots-CyRw91V8.js} +3 -3
  169. package/dist/{logger-3NSI7j4D.js → logger-BA9koAaC.js} +6 -6
  170. package/dist/{logging-CM1xI8yT.js → logging-4UnG2dJ0.js} +1 -1
  171. package/dist/{logging-B9OKCko2.js → logging-59CroxmQ.js} +2 -2
  172. package/dist/{logging-C7WfrX3j.js → logging-BHhuGbN8.js} +1 -1
  173. package/dist/{logs-cli-DogTg6BW.js → logs-cli-B3BYjCxR.js} +8 -8
  174. package/dist/{logs-cli-DEIVxAcb.js → logs-cli-CZ-nwWSh.js} +4 -4
  175. package/dist/{manager-CwuAu16U.js → manager-BLYILa5H.js} +14 -14
  176. package/dist/{manager-D4NBKxDJ.js → manager-BaDp-h4i.js} +23 -23
  177. package/dist/{manager-BTf5kl5K.js → manager-DF7UBoKp.js} +3 -3
  178. package/dist/{manager-CxuSPBL7.js → manager-DFiUW_Ha.js} +2 -2
  179. package/dist/{manager-runtime-BUGnXZoY.js → manager-runtime-BCkunkcv.js} +4 -4
  180. package/dist/{manager-runtime-DJeYdbHj.js → manager-runtime-CPUoaf4n.js} +3 -3
  181. package/dist/manager-runtime-DMIUcUdt.js +15 -0
  182. package/dist/{manager-runtime-CirDe6Yc.js → manager-runtime-DxOKojtv.js} +10 -10
  183. package/dist/{memory-qo2PyyGc.js → memory-adblmZ7U.js} +5 -5
  184. package/dist/{memory-cli-B3Wdf8cX.js → memory-cli-BLSGcKsi.js} +3 -3
  185. package/dist/{memory-cli-DhQM5b25.js → memory-cli-C5dGMHKl.js} +12 -12
  186. package/dist/{model-catalog-C6EpVMgn.js → model-catalog-BtBiWr2U.js} +3 -3
  187. package/dist/{model-catalog-C8EYz2dm.js → model-catalog-DlYPcFqP.js} +3 -3
  188. package/dist/{model-picker-C_xmxZQw.js → model-picker-BZvJOgpa.js} +4 -4
  189. package/dist/{model-picker-93hk8EPQ.js → model-picker-BdabNhjk.js} +3 -3
  190. package/dist/{model-selection-BrTh8v9L.js → model-selection-CvKAj7nY.js} +102 -90
  191. package/dist/{model-selection-CftqhKNS.js → model-selection-DU-DNNW7.js} +63 -51
  192. package/dist/{model-selection-CS_9NrTE.js → model-selection-PlvJPOJ9.js} +12 -0
  193. package/dist/{models-Bol0QzVD.js → models-BouiRS5o.js} +12 -12
  194. package/dist/{models-cli-kMKsts8T.js → models-cli-CXzAbJ5D.js} +38 -38
  195. package/dist/{models-cli-DrLVOzUK.js → models-cli-KmmlfVy4.js} +50 -50
  196. package/dist/{models-config-B9HFg-NI.js → models-config-Cg9vUkxp.js} +1 -1
  197. package/dist/{models-config-yo6Auh6b.js → models-config-xqqHZFkg.js} +7 -7
  198. package/dist/{npm-pack-install-BNF-iM37.js → npm-pack-install-BlYIroXs.js} +54 -54
  199. package/dist/{npm-resolution-BO6SGdLs.js → npm-resolution-Bn1LgQFf.js} +2 -2
  200. package/dist/{npm-resolution-Dc-9fZOQ.js → npm-resolution-BtQxqgSa.js} +4 -4
  201. package/dist/{ollama-setup-Bhphyk4x.js → ollama-setup-C0EKmICU.js} +2 -2
  202. package/dist/{ollama-setup-DrJZug5K.js → ollama-setup-bTrV2RqI.js} +2 -2
  203. package/dist/{onboard-DoZZHyp1.js → onboard-Cve2lx8Q.js} +7 -7
  204. package/dist/{onboard-C88F-Y13.js → onboard-DUlLUrme.js} +7 -7
  205. package/dist/{onboard-channels-D8cEPFj3.js → onboard-channels-C3Fr6P4C.js} +9 -9
  206. package/dist/{onboard-channels-CKg0sLah.js → onboard-channels-D9mYZZtF.js} +5 -5
  207. package/dist/{onboard-custom-CaacLXtg.js → onboard-custom-C3vRGHsc.js} +4 -4
  208. package/dist/{onboard-custom-CIE9LcFk.js → onboard-custom-W8wE0yre.js} +4 -4
  209. package/dist/{onboard-helpers-xbYuvLLu.js → onboard-helpers-C-tI0ORj.js} +8 -8
  210. package/dist/{onboard-helpers-B1g1N_R7.js → onboard-helpers-Dt3bHndL.js} +3 -3
  211. package/dist/{onboard-hooks-D2rz49Q8.js → onboard-hooks-BKK6FS_-.js} +4 -4
  212. package/dist/{onboard-remote-irbTZQ8D.js → onboard-remote-CnGUK4s9.js} +4 -4
  213. package/dist/{onboard-remote-DR0hiGln.js → onboard-remote-DUkT-5yX.js} +4 -4
  214. package/dist/{onboarding-CuMZLiwZ.js → onboarding-B47HB8MD.js} +14 -14
  215. package/dist/{onboarding-CGx-wanB.js → onboarding-Dj9u7X0q.js} +15 -15
  216. package/dist/{onboarding.finalize-4_qfJYB5.js → onboarding.finalize-C-pR8_RE.js} +52 -52
  217. package/dist/{onboarding.finalize-CT3LVJ86.js → onboarding.finalize-JG_vd8zz.js} +40 -40
  218. package/dist/{onboarding.gateway-config-BLn29YYn.js → onboarding.gateway-config-CllJn7mn.js} +11 -11
  219. package/dist/{onboarding.gateway-config-DBTVHN2e.js → onboarding.gateway-config-JJXnuJ29.js} +7 -7
  220. package/dist/{onboarding.secret-input-DSFE38xZ.js → onboarding.secret-input-Bmjiy8T4.js} +1 -1
  221. package/dist/{onboarding.secret-input-BI289pRS.js → onboarding.secret-input-DkAfkFVQ.js} +1 -1
  222. package/dist/{openai-codex-model-default-CvwSM6Hd.js → openai-codex-model-default-5GXfiA_D.js} +3 -3
  223. package/dist/{openai-codex-model-default-CNxuNGcG.js → openai-codex-model-default-BYIJH6vZ.js} +2 -2
  224. package/dist/{openai-model-default-BJAcSXF0.js → openai-model-default-DvF5RAGp.js} +2 -2
  225. package/dist/{openai-model-default-CHxnrkRk.js → openai-model-default-GgDZhvmV.js} +2 -2
  226. package/dist/{openclaw-root-B6cGCDGF.js → openclaw-root-DbbVtnL2.js} +8 -8
  227. package/dist/{outbound-send-deps-BfOiemtW.js → outbound-send-deps-ClezclXA.js} +1 -1
  228. package/dist/{outbound-send-deps-Ds9befoI.js → outbound-send-deps-DBVk1Se1.js} +1 -1
  229. package/dist/{pairing-cli-KQ0Gil81.js → pairing-cli-CYBWOxx2.js} +6 -6
  230. package/dist/{pairing-cli-DopHOckK.js → pairing-cli-rMFQX66I.js} +2 -2
  231. package/dist/{pairing-store-4ajjzoih.js → pairing-store-BeeSJLPy.js} +1 -1
  232. package/dist/{pairing-store-CGmLbKax.js → pairing-store-Dr8a_B6n.js} +1 -1
  233. package/dist/{path-alias-guards-DJQOJx9a.js → path-alias-guards-DBFU_Tqb.js} +3 -3
  234. package/dist/{path-safety-9zsLqD77.js → path-safety-CfDs7X4h.js} +1 -1
  235. package/dist/{paths-E3CbCLxE.js → paths-Bg_l6kdG.js} +7 -7
  236. package/dist/{paths-DHNo4U8q.js → paths-L_hqOE5A.js} +5 -5
  237. package/dist/{pi-embedded-Lk0-wBVJ.js → pi-embedded-XOWzcU4v.js} +29 -20
  238. package/dist/{pi-embedded-LWGrAjSd.js → pi-embedded-cW_upWzb.js} +125 -116
  239. package/dist/{pi-model-discovery-CocLN2I9.js → pi-model-discovery-7pqY2wzA.js} +1 -1
  240. package/dist/{pi-model-discovery-BfCU9u9n.js → pi-model-discovery-BOkx-R2x.js} +7 -7
  241. package/dist/{pi-model-discovery-DmsAxxli.js → pi-model-discovery-DFqVpswz.js} +1 -1
  242. package/dist/{pi-model-discovery-BHnYQuJe.js → pi-model-discovery-DQwd8eWZ.js} +1 -1
  243. package/dist/{pi-model-discovery-runtime-BB9O_19w.js → pi-model-discovery-runtime-BKwEjlY0.js} +6 -6
  244. package/dist/{pi-model-discovery-runtime-BM8W_E1B.js → pi-model-discovery-runtime-C_LjYTlu.js} +2 -2
  245. package/dist/{pi-model-discovery-runtime-DlSVUM4a.js → pi-model-discovery-runtime-DkNoyqZg.js} +2 -2
  246. package/dist/pi-model-discovery-runtime-uYSpi8_B.js +12 -0
  247. package/dist/{pi-tools.before-tool-call.runtime-YTBO0yhV.js → pi-tools.before-tool-call.runtime-CXBOjjBj.js} +2 -2
  248. package/dist/{pi-tools.before-tool-call.runtime-CbaZrfQj.js → pi-tools.before-tool-call.runtime-DfImcnUe.js} +2 -2
  249. package/dist/{pi-tools.before-tool-call.runtime-CZVSauJE.js → pi-tools.before-tool-call.runtime-gCJet3xa.js} +10 -10
  250. package/dist/{pi-tools.before-tool-call.runtime-yg3vl2rw.js → pi-tools.before-tool-call.runtime-mhmSMpSo.js} +6 -6
  251. package/dist/{pi-tools.policy-B8nfuYT3.js → pi-tools.policy-D6UiE_gG.js} +2 -2
  252. package/dist/{plugin-auto-enable-POm3kIKs.js → plugin-auto-enable-BYUBkHiG.js} +2 -2
  253. package/dist/{plugin-auto-enable-DKIdWd3o.js → plugin-auto-enable-fQ-uJndS.js} +1 -1
  254. package/dist/{plugin-install-plan-BhKQJYE9.js → plugin-install-plan-Dc8oPEOd.js} +1 -1
  255. package/dist/{plugin-registry-DMXyfhbZ.js → plugin-registry-B2Xg5cIZ.js} +2 -2
  256. package/dist/{plugin-registry-BLdJsHwq.js → plugin-registry-Cvr7jdxU.js} +3 -3
  257. package/dist/plugin-sdk/compat.js +12 -0
  258. package/dist/plugin-sdk/config/zod-schema.agent-defaults.d.ts +12 -0
  259. package/dist/plugin-sdk/config/zod-schema.agents.d.ts +12 -0
  260. package/dist/plugin-sdk/config/zod-schema.d.ts +12 -0
  261. package/dist/plugin-sdk/index.js +12 -0
  262. package/dist/plugin-sdk/telegram.js +12 -0
  263. package/dist/{plugins-cli-Mefrnu70.js → plugins-cli-B65JT-pj.js} +33 -33
  264. package/dist/{plugins-cli-Ckbdtcng.js → plugins-cli-Crxf_ppT.js} +49 -49
  265. package/dist/{ports-DoRPPhz1.js → ports-BKzkl2Nt.js} +2 -2
  266. package/dist/{ports-BgVXI3Be.js → ports-C6HO6zSD.js} +2 -2
  267. package/dist/{probe-auth-ClUveUpg.js → probe-auth-BhN3PhE1.js} +3 -3
  268. package/dist/{probe-auth-Dzz0uFIe.js → probe-auth-CBWjkGhd.js} +2 -2
  269. package/dist/{program-D992fHH9.js → program-Da383ALS.js} +38 -38
  270. package/dist/{program-context-CKwgiqKA.js → program-context-BCpzWqA0.js} +35 -35
  271. package/dist/{prompt-select-styled-8JBrpJWx.js → prompt-select-styled-CX2-E6Ws.js} +17 -17
  272. package/dist/{prompt-select-styled-Dj1guzwc.js → prompt-select-styled-DJXH3Ik2.js} +28 -28
  273. package/dist/{provider-auth-helpers-YFTUV89g.js → provider-auth-helpers-3K1-dUeB.js} +5 -5
  274. package/dist/{provider-auth-helpers-Bt0HFLar.js → provider-auth-helpers-CuFWByxX.js} +5 -5
  275. package/dist/{proxy-fetch-CuFiQFud.js → proxy-fetch-Spr_UMJ3.js} +1 -1
  276. package/dist/{qmd-manager-oxRfJV8J.js → qmd-manager-D5-UET4f.js} +7 -7
  277. package/dist/{qmd-manager-nnyEgnFp.js → qmd-manager-ZIMvAkMU.js} +20 -20
  278. package/dist/{query-expansion-CcJjpvgi.js → query-expansion-Czp8kqRG.js} +4 -4
  279. package/dist/{read-only-account-inspect-CWAyFOOe.js → read-only-account-inspect-sMyuBIwr.js} +3 -3
  280. package/dist/{redact-snapshot-CHOdPFBK.js → redact-snapshot-BhnwKwS_.js} +1 -1
  281. package/dist/{redact-snapshot-D2yDzyhm.js → redact-snapshot-esDYkCHN.js} +1 -1
  282. package/dist/{register.agent-DJ14KYnV.js → register.agent-C4BazelG.js} +65 -65
  283. package/dist/{register.agent-CDre9OAT.js → register.agent-F4PYdKIV.js} +49 -49
  284. package/dist/{register.backup-D0G-W10-.js → register.backup-DQtt76Pg.js} +1 -1
  285. package/dist/{register.backup-BDdG0ZZu.js → register.backup-DtwFlodN.js} +22 -22
  286. package/dist/register.configure-DuYlUfX0.js +117 -0
  287. package/dist/{register.configure-MZ2oMFlt.js → register.configure-uivoHsx6.js} +53 -53
  288. package/dist/{register.maintenance-8vlFCAL5.js → register.maintenance-CncGXJcn.js} +46 -46
  289. package/dist/{register.maintenance-CB5u00DB.js → register.maintenance-D1NhSg9p.js} +59 -59
  290. package/dist/{register.message-LPqeYXRd.js → register.message-CkSYWM9C.js} +33 -33
  291. package/dist/{register.message-B3Iqneie.js → register.message-pasYrjfU.js} +42 -42
  292. package/dist/{register.onboard-DHr-W74h.js → register.onboard-9kXyD5aU.js} +13 -13
  293. package/dist/{register.onboard-CTTwVj8d.js → register.onboard-CgARW4Sc.js} +8 -8
  294. package/dist/{register.setup-C3kh_TbN.js → register.setup-BtmboGlC.js} +16 -16
  295. package/dist/{register.setup-Dqfw5uEI.js → register.setup-D5oaiM2k.js} +8 -8
  296. package/dist/{register.status-health-sessions-QpojEQ9d.js → register.status-health-sessions-BaiIULJw.js} +52 -52
  297. package/dist/{register.status-health-sessions-DRKMAlro.js → register.status-health-sessions-QJWioUTw.js} +40 -40
  298. package/dist/{register.subclis-iSDvGATC.js → register.subclis-BJi9Wx12.js} +23 -23
  299. package/dist/{reply-Bf21Hr1C.js → reply-9_WxyHfF.js} +126 -117
  300. package/dist/{run-log-BqSHMnAd.js → run-log-D3XR2BLm.js} +13 -13
  301. package/dist/{run-log-CjYAiVe8.js → run-log-Q89iJgvA.js} +1 -1
  302. package/dist/{run-main-qumIkFEs.js → run-main--Va-DnXT.js} +51 -51
  303. package/dist/{runtime-B8hPSCRB.js → runtime-DpfmBWKQ.js} +2 -2
  304. package/dist/{runtime-CCYCyl1P.js → runtime-hakwcpul.js} +3 -3
  305. package/dist/{runtime-web-tools-gpT7ZniL.js → runtime-web-tools-BZcX_oAn.js} +2 -2
  306. package/dist/{runtime-web-tools-CRJ-iI9c.js → runtime-web-tools-CWlvqBpH.js} +2 -2
  307. package/dist/{sandbox-cli-cb2ui3Pc.js → sandbox-cli-BLBFMAgV.js} +1 -1
  308. package/dist/{sandbox-cli-BwX10ANz.js → sandbox-cli-CWgKwadY.js} +5 -5
  309. package/dist/{search-manager-CjC4g5lJ.js → search-manager-Bj4BRNiF.js} +1 -1
  310. package/dist/{secret-file-BaxohaZh.js → secret-file-9CYwZJSc.js} +1 -1
  311. package/dist/{secret-file-DcuJtucq.js → secret-file-BCAZa3Jw.js} +1 -1
  312. package/dist/{secrets-cli-BSv3yeQa.js → secrets-cli-B-LFbTtv.js} +10 -10
  313. package/dist/{secrets-cli-CYAGIMSW.js → secrets-cli-DOf7NbbB.js} +6 -6
  314. package/dist/{security-cli-Dk67sFGR.js → security-cli-B2iw16q9.js} +21 -21
  315. package/dist/{security-cli-CPjzUYo3.js → security-cli-DbRGAdz_.js} +10 -10
  316. package/dist/{send-DAr4cmzw.js → send-BeUTtwRC.js} +11 -11
  317. package/dist/{send-CP84wq9N.js → send-CU6MWFln.js} +28 -28
  318. package/dist/{send-CeA0VP-c.js → send-TlYsQWZw.js} +4 -4
  319. package/dist/{service-Cfk6VWeP.js → service-kXk8K3mn.js} +13 -13
  320. package/dist/{session-utils-G8TPVqDh.js → session-utils-5dTolcMA.js} +3 -3
  321. package/dist/{sessions-DghMB51-.js → sessions-CNRe8TkE.js} +2 -2
  322. package/dist/{shared-C6ksnJEO.js → shared-C_hG8rgh.js} +1 -1
  323. package/dist/{skill-scanner-B8J7JGHG.js → skill-scanner-djTgcKux.js} +7 -7
  324. package/dist/{skills-Mq1GCIyL.js → skills-D7xInzjY.js} +2 -2
  325. package/dist/{sqlite-DMwlw8gY.js → sqlite-BXiqNpZr.js} +14 -14
  326. package/dist/{status-BkoerIVk.js → status-BWvpeDQr.js} +1 -1
  327. package/dist/{status-DN1kwt_G.js → status-CjUDl8qO.js} +22 -22
  328. package/dist/{status-CLNIJHL1.js → status-DdFy329n.js} +13 -13
  329. package/dist/{status-C2lZy-Fn.js → status-DlhZNZRA.js} +1 -1
  330. package/dist/{status.update-CVnOl9T7.js → status.update-BC8_WNUD.js} +1 -1
  331. package/dist/{status.update-B7WMKBpu.js → status.update-s77gig85.js} +3 -3
  332. package/dist/subagent-registry-runtime-CrS70feQ.js +28 -0
  333. package/dist/{subagent-registry-runtime-BejBDRIf.js → subagent-registry-runtime-D68_xG8d.js} +9 -9
  334. package/dist/{subagent-registry-runtime-sAeDnTD0.js → subagent-registry-runtime-D8jeUc09.js} +31 -31
  335. package/dist/{subagent-registry-runtime-C2amjBau.js → subagent-registry-runtime-DLTR5fch.js} +39 -39
  336. package/dist/{subsystem-Br253I8q.js → subsystem-CDH9S_yW.js} +14 -14
  337. package/dist/{system-cli-C_xi1PG1.js → system-cli-CJfVDX21.js} +4 -4
  338. package/dist/{system-cli-CmjCyWeV.js → system-cli-CgYFKf5C.js} +8 -8
  339. package/dist/{systemd-linger-8q_0YAMa.js → systemd-linger-CQCpuIm8.js} +1 -1
  340. package/dist/{systemd-B5QGtWUt.js → systemd-lqHMKF03.js} +11 -11
  341. package/dist/{tailnet-BII1rF_F.js → tailnet-Dd530XEB.js} +1 -1
  342. package/dist/{tailnet-GA0Saj6K.js → tailnet-lUwvztzP.js} +1 -1
  343. package/dist/{update-cli-Cta7h1PN.js → update-cli-CTNv6NnW.js} +69 -69
  344. package/dist/{update-cli-DT51qYuH.js → update-cli-Ca6a5zyc.js} +49 -49
  345. package/dist/{update-B16VTBdW.js → update-lBwZcNEP.js} +2 -2
  346. package/dist/{update-runner-D0FkcfIv.js → update-runner-CSPTpzlG.js} +4 -4
  347. package/dist/{update-runner-Dk9ujIjY.js → update-runner-DgI58_4p.js} +16 -16
  348. package/dist/{webhooks-cli-DUi__sSq.js → webhooks-cli-D5ytuSnf.js} +1 -1
  349. package/dist/{webhooks-cli-fEwB1QWy.js → webhooks-cli-DGY-qrop.js} +5 -5
  350. package/dist/{workspace-DaDGuTlc.js → workspace-DY5PSKK1.js} +1 -1
  351. package/dist/{workspace-DRRA3YH5.js → workspace-DiYGwuGk.js} +20 -20
  352. package/dist/{writer-CBLUHPFY.js → writer-ChWOWmJt.js} +1 -1
  353. package/dist/{writer-DW7GwLNb.js → writer-Mpvw_WMM.js} +8 -8
  354. package/extensions/acpx/node_modules/.bin/acpx +3 -7
  355. package/extensions/diagnostics-otel/node_modules/.bin/acorn +3 -7
  356. package/extensions/diffs/node_modules/.bin/playwright-core +3 -7
  357. package/extensions/googlechat/node_modules/.bin/openclaw +17 -0
  358. package/extensions/hub/src/inbound.ts +16 -0
  359. package/extensions/matrix/node_modules/.bin/markdown-it +17 -0
  360. package/extensions/memory-core/node_modules/.bin/openclaw +17 -0
  361. package/extensions/memory-core/package.json +11 -0
  362. package/extensions/memory-lancedb/node_modules/.bin/arrow2csv +3 -7
  363. package/extensions/memory-lancedb/node_modules/.bin/openai +3 -7
  364. package/extensions/tlon/node_modules/.bin/tlon +17 -0
  365. package/package.json +2 -2
  366. package/dist/compact.runtime-B3XexHCz.js +0 -28
  367. package/dist/compact.runtime-BTNt86Cy.js +0 -66
  368. package/dist/deliver-runtime-DP7LMYJz.js +0 -14
  369. package/dist/deps-send-telegram.runtime-CNQMFHHL.js +0 -19
  370. package/dist/image-runtime-BKlmPwGz.js +0 -12
  371. package/dist/manager-runtime-BIERqG19.js +0 -15
  372. package/dist/pi-model-discovery-runtime-BRBH9-81.js +0 -12
  373. package/dist/register.configure-B6etuAnH.js +0 -117
  374. package/dist/subagent-registry-runtime-BBvfeFxp.js +0 -28
  375. package/extensions/google-antigravity-auth/node_modules/.bin/openclaw +0 -21
  376. package/extensions/memory-core/node_modules/.bin/nlc +0 -21
  377. package/extensions/memory-core/node_modules/.bin/node-llama-cpp +0 -21
  378. package/extensions/memory-core/node_modules/.bin/tsc +0 -21
  379. package/extensions/memory-core/node_modules/.bin/tsserver +0 -21
@@ -1,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";
@@ -522,7 +522,16 @@ function resolveChannelModelOverride(params) {
522
522
  const providerEntries = resolveProviderEntry(modelByChannel, channel);
523
523
  if (!providerEntries) return null;
524
524
  const candidates = buildChannelCandidates(params);
525
- if (candidates.length === 0) return null;
525
+ if (candidates.length === 0) {
526
+ const wildcardModel = typeof providerEntries["*"] === "string" ? providerEntries["*"].trim() : void 0;
527
+ if (!wildcardModel) return null;
528
+ return {
529
+ channel: normalizeMessageChannel(channel) ?? channel.trim().toLowerCase(),
530
+ model: wildcardModel,
531
+ matchKey: "*",
532
+ matchSource: "wildcard"
533
+ };
534
+ }
526
535
  const match = resolveChannelEntryMatchWithFallback({
527
536
  entries: providerEntries,
528
537
  keys: candidates,
@@ -1072,7 +1081,7 @@ async function runWithConcurrency(tasks, limit) {
1072
1081
  //#region src/media-understanding/echo-transcript.ts
1073
1082
  let deliverRuntimePromise$2 = null;
1074
1083
  function loadDeliverRuntime$2() {
1075
- deliverRuntimePromise$2 ??= import("./deliver-runtime-BsHI7dwo.js");
1084
+ deliverRuntimePromise$2 ??= import("./deliver-runtime-DT4PMHlo.js");
1076
1085
  return deliverRuntimePromise$2;
1077
1086
  }
1078
1087
  function formatEchoTranscript(transcript, format) {
@@ -2414,7 +2423,7 @@ async function resolveAgentSessionDirs(stateDir) {
2414
2423
  const agentsDir = path.join(stateDir, "agents");
2415
2424
  let entries = [];
2416
2425
  try {
2417
- entries = await fs$1.readdir(agentsDir, { withFileTypes: true });
2426
+ entries = await fsPromises.readdir(agentsDir, { withFileTypes: true });
2418
2427
  } catch (err) {
2419
2428
  if (err.code === "ENOENT") return [];
2420
2429
  throw err;
@@ -6316,7 +6325,7 @@ var LegacyContextEngine = class {
6316
6325
  }
6317
6326
  async afterTurn(_params) {}
6318
6327
  async compact(params) {
6319
- const { compactEmbeddedPiSessionDirect } = await import("./compact.runtime-BTNt86Cy.js");
6328
+ const { compactEmbeddedPiSessionDirect } = await import("./compact.runtime-D3MiFKq0.js");
6320
6329
  const runtimeContext = params.runtimeContext ?? {};
6321
6330
  const result = await compactEmbeddedPiSessionDirect({
6322
6331
  ...runtimeContext,
@@ -9196,7 +9205,7 @@ function resolvePluginTools(params) {
9196
9205
  //#endregion
9197
9206
  //#region src/agents/apply-patch-update.ts
9198
9207
  async function defaultReadFile(filePath) {
9199
- return fs$1.readFile(filePath, "utf8");
9208
+ return fsPromises.readFile(filePath, "utf8");
9200
9209
  }
9201
9210
  async function applyUpdateHunk(filePath, chunks, options) {
9202
9211
  const originalLines = (await (options?.readFile ?? defaultReadFile)(filePath).catch((err) => {
@@ -9521,7 +9530,7 @@ function resolvePatchFileOps(options) {
9521
9530
  const workspaceOnly = options.workspaceOnly !== false;
9522
9531
  return {
9523
9532
  readFile: async (filePath) => {
9524
- if (!workspaceOnly) return await fs$1.readFile(filePath, "utf8");
9533
+ if (!workspaceOnly) return await fsPromises.readFile(filePath, "utf8");
9525
9534
  const opened = await openBoundaryFile({
9526
9535
  absolutePath: filePath,
9527
9536
  rootPath: options.cwd,
@@ -9536,7 +9545,7 @@ function resolvePatchFileOps(options) {
9536
9545
  },
9537
9546
  writeFile: async (filePath, content) => {
9538
9547
  if (!workspaceOnly) {
9539
- await fs$1.writeFile(filePath, content, "utf8");
9548
+ await fsPromises.writeFile(filePath, content, "utf8");
9540
9549
  return;
9541
9550
  }
9542
9551
  const relative = toRelativeSandboxPath(options.cwd, filePath);
@@ -9547,8 +9556,8 @@ function resolvePatchFileOps(options) {
9547
9556
  encoding: "utf8"
9548
9557
  });
9549
9558
  },
9550
- remove: (filePath) => fs$1.rm(filePath),
9551
- mkdirp: (dir) => fs$1.mkdir(dir, { recursive: true }).then(() => {})
9559
+ remove: (filePath) => fsPromises.rm(filePath),
9560
+ mkdirp: (dir) => fsPromises.mkdir(dir, { recursive: true }).then(() => {})
9552
9561
  };
9553
9562
  }
9554
9563
  async function ensureDir(filePath, ops) {
@@ -11596,7 +11605,7 @@ async function resolveSandboxWorkdir(params) {
11596
11605
  cwd: process.cwd(),
11597
11606
  root: params.sandbox.workspaceDir
11598
11607
  });
11599
- if (!(await fs$1.stat(resolved.resolved)).isDirectory()) throw new Error("workdir is not a directory");
11608
+ if (!(await fsPromises.stat(resolved.resolved)).isDirectory()) throw new Error("workdir is not a directory");
11600
11609
  const relative = resolved.relative ? resolved.relative.split(path.sep).join(path.posix.sep) : "";
11601
11610
  const containerWorkdir = relative ? path.posix.join(params.sandbox.containerWorkdir, relative) : params.sandbox.containerWorkdir;
11602
11611
  return {
@@ -12527,13 +12536,13 @@ async function validateScriptFileForShellBleed(params) {
12527
12536
  cwd: params.workdir,
12528
12537
  root: params.workdir
12529
12538
  });
12530
- stat = await fs$1.stat(absPath);
12539
+ stat = await fsPromises.stat(absPath);
12531
12540
  } catch {
12532
12541
  return;
12533
12542
  }
12534
12543
  if (!stat.isFile()) return;
12535
12544
  if (stat.size > 512 * 1024) return;
12536
- const content = await fs$1.readFile(absPath, "utf-8");
12545
+ const content = await fsPromises.readFile(absPath, "utf-8");
12537
12546
  const first = /\$[A-Z_][A-Z0-9_]{1,}/g.exec(content);
12538
12547
  if (first) {
12539
12548
  const idx = first.index;
@@ -14764,27 +14773,27 @@ function resolveRestartSentinelPath(env = process.env) {
14764
14773
  }
14765
14774
  async function writeRestartSentinel(payload, env = process.env) {
14766
14775
  const filePath = resolveRestartSentinelPath(env);
14767
- await fs$1.mkdir(path.dirname(filePath), { recursive: true });
14776
+ await fsPromises.mkdir(path.dirname(filePath), { recursive: true });
14768
14777
  const data = {
14769
14778
  version: 1,
14770
14779
  payload
14771
14780
  };
14772
- await fs$1.writeFile(filePath, `${JSON.stringify(data, null, 2)}\n`, "utf-8");
14781
+ await fsPromises.writeFile(filePath, `${JSON.stringify(data, null, 2)}\n`, "utf-8");
14773
14782
  return filePath;
14774
14783
  }
14775
14784
  async function readRestartSentinel(env = process.env) {
14776
14785
  const filePath = resolveRestartSentinelPath(env);
14777
14786
  try {
14778
- const raw = await fs$1.readFile(filePath, "utf-8");
14787
+ const raw = await fsPromises.readFile(filePath, "utf-8");
14779
14788
  let parsed;
14780
14789
  try {
14781
14790
  parsed = JSON.parse(raw);
14782
14791
  } catch {
14783
- await fs$1.unlink(filePath).catch(() => {});
14792
+ await fsPromises.unlink(filePath).catch(() => {});
14784
14793
  return null;
14785
14794
  }
14786
14795
  if (!parsed || parsed.version !== 1 || !parsed.payload) {
14787
- await fs$1.unlink(filePath).catch(() => {});
14796
+ await fsPromises.unlink(filePath).catch(() => {});
14788
14797
  return null;
14789
14798
  }
14790
14799
  return parsed;
@@ -14796,7 +14805,7 @@ async function consumeRestartSentinel(env = process.env) {
14796
14805
  const filePath = resolveRestartSentinelPath(env);
14797
14806
  const parsed = await readRestartSentinel(env);
14798
14807
  if (!parsed) return null;
14799
- await fs$1.unlink(filePath).catch(() => {});
14808
+ await fsPromises.unlink(filePath).catch(() => {});
14800
14809
  return parsed;
14801
14810
  }
14802
14811
  function formatRestartSentinelMessage(payload) {
@@ -19671,7 +19680,7 @@ function normalizeReplyPayload(payload, opts = {}) {
19671
19680
  */
19672
19681
  let deliverRuntimePromise$1 = null;
19673
19682
  function loadDeliverRuntime$1() {
19674
- deliverRuntimePromise$1 ??= import("./deliver-runtime-BsHI7dwo.js");
19683
+ deliverRuntimePromise$1 ??= import("./deliver-runtime-DT4PMHlo.js");
19675
19684
  return deliverRuntimePromise$1;
19676
19685
  }
19677
19686
  /**
@@ -20226,7 +20235,7 @@ function ensureContextWindowCacheLoaded() {
20226
20235
  await ensureOpenClawModelsJson(cfg);
20227
20236
  } catch {}
20228
20237
  try {
20229
- const { discoverAuthStorage, discoverModels } = await import("./pi-model-discovery-CocLN2I9.js").then((n) => n.r);
20238
+ const { discoverAuthStorage, discoverModels } = await import("./pi-model-discovery-7pqY2wzA.js").then((n) => n.r);
20230
20239
  const agentDir = resolveOpenClawAgentDir();
20231
20240
  const modelRegistry = discoverModels(discoverAuthStorage(agentDir), agentDir);
20232
20241
  applyDiscoveredContextWindows({
@@ -25095,7 +25104,7 @@ const DEFAULT_SUBAGENT_ANNOUNCE_TIMEOUT_MS = 6e4;
25095
25104
  const MAX_TIMER_SAFE_TIMEOUT_MS = 2147e6;
25096
25105
  let subagentRegistryRuntimePromise = null;
25097
25106
  function loadSubagentRegistryRuntime() {
25098
- subagentRegistryRuntimePromise ??= import("./subagent-registry-runtime-C2amjBau.js");
25107
+ subagentRegistryRuntimePromise ??= import("./subagent-registry-runtime-DLTR5fch.js");
25099
25108
  return subagentRegistryRuntimePromise;
25100
25109
  }
25101
25110
  const DIRECT_ANNOUNCE_TRANSIENT_RETRY_DELAYS_MS = FAST_TEST_MODE ? [
@@ -30022,7 +30031,7 @@ const LOOP_WARNING_BUCKET_SIZE = 10;
30022
30031
  const MAX_LOOP_WARNING_KEYS = 256;
30023
30032
  let beforeToolCallRuntimePromise = null;
30024
30033
  function loadBeforeToolCallRuntime() {
30025
- beforeToolCallRuntimePromise ??= import("./pi-tools.before-tool-call.runtime-yg3vl2rw.js");
30034
+ beforeToolCallRuntimePromise ??= import("./pi-tools.before-tool-call.runtime-mhmSMpSo.js");
30026
30035
  return beforeToolCallRuntimePromise;
30027
30036
  }
30028
30037
  function buildAdjustedParamsKey(params) {
@@ -30258,7 +30267,7 @@ function wrapHostEditToolWithPostWriteRecovery(base, root) {
30258
30267
  if (!pathParam || !newText) throw err;
30259
30268
  try {
30260
30269
  const absolutePath = resolveHostEditPath(root, pathParam);
30261
- const content = await fs$1.readFile(absolutePath, "utf-8");
30270
+ const content = await fsPromises.readFile(absolutePath, "utf-8");
30262
30271
  const hasNew = content.includes(newText);
30263
30272
  const stillHasOld = oldText !== void 0 && oldText.length > 0 && content.includes(oldText);
30264
30273
  if (hasNew && !stillHasOld) return {
@@ -30639,7 +30648,7 @@ async function readOptionalUtf8File(params) {
30639
30648
  signal: params.signal
30640
30649
  })).toString("utf-8");
30641
30650
  }
30642
- return await fs$1.readFile(params.absolutePath, "utf-8");
30651
+ return await fsPromises.readFile(params.absolutePath, "utf-8");
30643
30652
  } catch (error) {
30644
30653
  if (error?.code === "ENOENT") return "";
30645
30654
  throw error;
@@ -30679,8 +30688,8 @@ async function appendMemoryFlushContent(params) {
30679
30688
  });
30680
30689
  return;
30681
30690
  }
30682
- await fs$1.mkdir(path.dirname(params.absolutePath), { recursive: true });
30683
- await fs$1.writeFile(params.absolutePath, next, "utf-8");
30691
+ await fsPromises.mkdir(path.dirname(params.absolutePath), { recursive: true });
30692
+ await fsPromises.writeFile(params.absolutePath, next, "utf-8");
30684
30693
  }
30685
30694
  function wrapToolMemoryFlushAppendOnlyWrite(tool, options) {
30686
30695
  const allowedAbsolutePath = path.resolve(options.root, options.relativePath);
@@ -30838,14 +30847,14 @@ function createSandboxEditOperations(params) {
30838
30847
  }
30839
30848
  async function writeHostFile(absolutePath, content) {
30840
30849
  const resolved = path.resolve(absolutePath);
30841
- await fs$1.mkdir(path.dirname(resolved), { recursive: true });
30842
- await fs$1.writeFile(resolved, content, "utf-8");
30850
+ await fsPromises.mkdir(path.dirname(resolved), { recursive: true });
30851
+ await fsPromises.writeFile(resolved, content, "utf-8");
30843
30852
  }
30844
30853
  function createHostWriteOperations(root, options) {
30845
30854
  if (!(options?.workspaceOnly ?? false)) return {
30846
30855
  mkdir: async (dir) => {
30847
30856
  const resolved = path.resolve(dir);
30848
- await fs$1.mkdir(resolved, { recursive: true });
30857
+ await fsPromises.mkdir(resolved, { recursive: true });
30849
30858
  },
30850
30859
  writeFile: writeHostFile
30851
30860
  };
@@ -30858,7 +30867,7 @@ function createHostWriteOperations(root, options) {
30858
30867
  cwd: root,
30859
30868
  root
30860
30869
  });
30861
- await fs$1.mkdir(resolved, { recursive: true });
30870
+ await fsPromises.mkdir(resolved, { recursive: true });
30862
30871
  },
30863
30872
  writeFile: async (absolutePath, content) => {
30864
30873
  await writeFileWithinRoot({
@@ -30874,12 +30883,12 @@ function createHostEditOperations(root, options) {
30874
30883
  if (!(options?.workspaceOnly ?? false)) return {
30875
30884
  readFile: async (absolutePath) => {
30876
30885
  const resolved = path.resolve(absolutePath);
30877
- return await fs$1.readFile(resolved);
30886
+ return await fsPromises.readFile(resolved);
30878
30887
  },
30879
30888
  writeFile: writeHostFile,
30880
30889
  access: async (absolutePath) => {
30881
30890
  const resolved = path.resolve(absolutePath);
30882
- await fs$1.access(resolved);
30891
+ await fsPromises.access(resolved);
30883
30892
  }
30884
30893
  };
30885
30894
  return {
@@ -31735,7 +31744,7 @@ async function repairSessionFileIfNeeded(params) {
31735
31744
  };
31736
31745
  let content;
31737
31746
  try {
31738
- content = await fs$1.readFile(sessionFile, "utf-8");
31747
+ content = await fsPromises.readFile(sessionFile, "utf-8");
31739
31748
  } catch (err) {
31740
31749
  if (err?.code === "ENOENT") return {
31741
31750
  repaired: false,
@@ -31783,15 +31792,15 @@ async function repairSessionFileIfNeeded(params) {
31783
31792
  const backupPath = `${sessionFile}.bak-${process.pid}-${Date.now()}`;
31784
31793
  const tmpPath = `${sessionFile}.repair-${process.pid}-${Date.now()}.tmp`;
31785
31794
  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);
31795
+ const stat = await fsPromises.stat(sessionFile).catch(() => null);
31796
+ await fsPromises.writeFile(backupPath, content, "utf-8");
31797
+ if (stat) await fsPromises.chmod(backupPath, stat.mode);
31798
+ await fsPromises.writeFile(tmpPath, cleaned, "utf-8");
31799
+ if (stat) await fsPromises.chmod(tmpPath, stat.mode);
31800
+ await fsPromises.rename(tmpPath, sessionFile);
31792
31801
  } catch (err) {
31793
31802
  try {
31794
- await fs$1.unlink(tmpPath);
31803
+ await fsPromises.unlink(tmpPath);
31795
31804
  } catch (cleanupErr) {
31796
31805
  params.warn?.(`session file repair cleanup failed: ${cleanupErr instanceof Error ? cleanupErr.message : "unknown error"} (${path.basename(tmpPath)})`);
31797
31806
  }
@@ -34708,7 +34717,7 @@ async function prewarmSessionFile(sessionFile) {
34708
34717
  if (!isSessionManagerCacheEnabled()) return;
34709
34718
  if (isSessionManagerCached(sessionFile)) return;
34710
34719
  try {
34711
- const handle = await fs$1.open(sessionFile, "r");
34720
+ const handle = await fsPromises.open(sessionFile, "r");
34712
34721
  try {
34713
34722
  const buffer = Buffer$1.alloc(4096);
34714
34723
  await handle.read(buffer, 0, buffer.length, 0);
@@ -35518,7 +35527,7 @@ async function compactEmbeddedPiSessionDirect(params) {
35518
35527
  } catch (err) {
35519
35528
  return fail(describeUnknownError(err));
35520
35529
  }
35521
- await fs$1.mkdir(resolvedWorkspace, { recursive: true });
35530
+ await fsPromises.mkdir(resolvedWorkspace, { recursive: true });
35522
35531
  const sandboxSessionKey = params.sessionKey?.trim() || params.sessionId;
35523
35532
  const sandbox = await resolveSandboxContext({
35524
35533
  config: params.config,
@@ -35526,7 +35535,7 @@ async function compactEmbeddedPiSessionDirect(params) {
35526
35535
  workspaceDir: resolvedWorkspace
35527
35536
  });
35528
35537
  const effectiveWorkspace = sandbox?.enabled ? sandbox.workspaceAccess === "rw" ? resolvedWorkspace : sandbox.workspaceDir : resolvedWorkspace;
35529
- await fs$1.mkdir(effectiveWorkspace, { recursive: true });
35538
+ await fsPromises.mkdir(effectiveWorkspace, { recursive: true });
35530
35539
  await ensureSessionHeader({
35531
35540
  sessionFile: params.sessionFile,
35532
35541
  sessionId: params.sessionId,
@@ -37239,12 +37248,12 @@ function getQueuedFileWriter(writers, filePath) {
37239
37248
  const existing = writers.get(filePath);
37240
37249
  if (existing) return existing;
37241
37250
  const dir = path.dirname(filePath);
37242
- const ready = fs$1.mkdir(dir, { recursive: true }).catch(() => void 0);
37251
+ const ready = fsPromises.mkdir(dir, { recursive: true }).catch(() => void 0);
37243
37252
  let queue = Promise.resolve();
37244
37253
  const writer = {
37245
37254
  filePath,
37246
37255
  write: (line) => {
37247
- queue = queue.then(() => ready).then(() => fs$1.appendFile(filePath, line, "utf8")).catch(() => void 0);
37256
+ queue = queue.then(() => ready).then(() => fsPromises.appendFile(filePath, line, "utf8")).catch(() => void 0);
37248
37257
  }
37249
37258
  };
37250
37259
  writers.set(filePath, writer);
@@ -40861,7 +40870,7 @@ async function prepareSessionManagerForRun(params) {
40861
40870
  return;
40862
40871
  }
40863
40872
  if (params.hadSessionFile && header && !hasAssistant) {
40864
- await fs$1.writeFile(params.sessionFile, "", "utf-8");
40873
+ await fsPromises.writeFile(params.sessionFile, "", "utf-8");
40865
40874
  sm.fileEntries = [header];
40866
40875
  sm.byId?.clear?.();
40867
40876
  sm.labelsById?.clear?.();
@@ -41717,7 +41726,7 @@ async function runEmbeddedAttempt(params) {
41717
41726
  ensureGlobalUndiciEnvProxyDispatcher();
41718
41727
  ensureGlobalUndiciStreamTimeouts();
41719
41728
  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 });
41729
+ await fsPromises.mkdir(resolvedWorkspace, { recursive: true });
41721
41730
  const sandboxSessionKey = params.sessionKey?.trim() || params.sessionId;
41722
41731
  const sandbox = await resolveSandboxContext({
41723
41732
  config: params.config,
@@ -41725,7 +41734,7 @@ async function runEmbeddedAttempt(params) {
41725
41734
  workspaceDir: resolvedWorkspace
41726
41735
  });
41727
41736
  const effectiveWorkspace = sandbox?.enabled ? sandbox.workspaceAccess === "rw" ? resolvedWorkspace : sandbox.workspaceDir : resolvedWorkspace;
41728
- await fs$1.mkdir(effectiveWorkspace, { recursive: true });
41737
+ await fsPromises.mkdir(effectiveWorkspace, { recursive: true });
41729
41738
  let restoreSkillEnv;
41730
41739
  process.chdir(effectiveWorkspace);
41731
41740
  try {
@@ -41981,7 +41990,7 @@ async function runEmbeddedAttempt(params) {
41981
41990
  sessionFile: params.sessionFile,
41982
41991
  warn: (message) => log$11.warn(message)
41983
41992
  });
41984
- const hadSessionFile = await fs$1.stat(params.sessionFile).then(() => true).catch(() => false);
41993
+ const hadSessionFile = await fsPromises.stat(params.sessionFile).then(() => true).catch(() => false);
41985
41994
  const transcriptPolicy = resolveTranscriptPolicy({
41986
41995
  modelApi: params.model?.api,
41987
41996
  provider: params.provider,
@@ -43371,7 +43380,7 @@ async function runEmbeddedPiAgent(params) {
43371
43380
  const copilotAuthRetry = authRetryPending;
43372
43381
  authRetryPending = false;
43373
43382
  attemptedThinking.add(thinkLevel);
43374
- await fs$1.mkdir(resolvedWorkspace, { recursive: true });
43383
+ await fsPromises.mkdir(resolvedWorkspace, { recursive: true });
43375
43384
  const prompt = provider === "anthropic" ? scrubAnthropicRefusalMagic(params.prompt) : params.prompt;
43376
43385
  const attempt = await runEmbeddedAttempt({
43377
43386
  sessionId: params.sessionId,
@@ -45200,12 +45209,12 @@ async function resolveAcpAttachments(ctx) {
45200
45209
  const filePath = normalizeAttachmentPath(attachment.path);
45201
45210
  if (!filePath) continue;
45202
45211
  try {
45203
- const stat = await fs$1.stat(filePath);
45212
+ const stat = await fsPromises.stat(filePath);
45204
45213
  if (stat.size > ACP_ATTACHMENT_MAX_BYTES) {
45205
45214
  logVerbose(`dispatch-acp: skipping attachment ${filePath} (${stat.size} bytes exceeds ${ACP_ATTACHMENT_MAX_BYTES} byte limit)`);
45206
45215
  continue;
45207
45216
  }
45208
- const buf = await fs$1.readFile(filePath);
45217
+ const buf = await fsPromises.readFile(filePath);
45209
45218
  results.push({
45210
45219
  mediaType,
45211
45220
  data: buf.toString("base64")
@@ -46388,7 +46397,7 @@ function getCacheStats() {
46388
46397
  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
46398
  let imageRuntimePromise = null;
46390
46399
  function loadImageRuntime() {
46391
- imageRuntimePromise ??= import("./image-runtime-EqNC780Y.js");
46400
+ imageRuntimePromise ??= import("./image-runtime-BKnEMJR7.js");
46392
46401
  return imageRuntimePromise;
46393
46402
  }
46394
46403
  /**
@@ -46454,7 +46463,7 @@ async function describeStickerImage(params) {
46454
46463
  const { provider, model } = resolved;
46455
46464
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
46456
46465
  try {
46457
- const buffer = await fs$1.readFile(imagePath);
46466
+ const buffer = await fsPromises.readFile(imagePath);
46458
46467
  const { describeImageWithModel } = await loadImageRuntime();
46459
46468
  return (await describeImageWithModel({
46460
46469
  buffer,
@@ -47110,7 +47119,7 @@ function getMediaDir() {
47110
47119
  }
47111
47120
  async function ensureMediaDir() {
47112
47121
  const mediaDir = resolveMediaDir();
47113
- await fs$1.mkdir(mediaDir, {
47122
+ await fsPromises.mkdir(mediaDir, {
47114
47123
  recursive: true,
47115
47124
  mode: 448
47116
47125
  });
@@ -47124,7 +47133,7 @@ async function retryAfterRecreatingDir(dir, run) {
47124
47133
  return await run();
47125
47134
  } catch (err) {
47126
47135
  if (!isMissingPathError(err)) throw err;
47127
- await fs$1.mkdir(dir, {
47136
+ await fsPromises.mkdir(dir, {
47128
47137
  recursive: true,
47129
47138
  mode: 448
47130
47139
  });
@@ -47137,41 +47146,41 @@ async function cleanOldMedia(ttlMs = DEFAULT_TTL_MS, options = {}) {
47137
47146
  const recursive = options.recursive ?? false;
47138
47147
  const pruneEmptyDirs = recursive && (options.pruneEmptyDirs ?? false);
47139
47148
  const removeExpiredFilesInDir = async (dir) => {
47140
- const dirEntries = await fs$1.readdir(dir).catch(() => null);
47149
+ const dirEntries = await fsPromises.readdir(dir).catch(() => null);
47141
47150
  if (!dirEntries) return false;
47142
47151
  for (const entry of dirEntries) {
47143
47152
  const fullPath = path.join(dir, entry);
47144
- const stat = await fs$1.lstat(fullPath).catch(() => null);
47153
+ const stat = await fsPromises.lstat(fullPath).catch(() => null);
47145
47154
  if (!stat || stat.isSymbolicLink()) continue;
47146
47155
  if (stat.isDirectory()) {
47147
47156
  if (recursive) {
47148
- if (await removeExpiredFilesInDir(fullPath)) await fs$1.rmdir(fullPath).catch(() => {});
47157
+ if (await removeExpiredFilesInDir(fullPath)) await fsPromises.rmdir(fullPath).catch(() => {});
47149
47158
  }
47150
47159
  continue;
47151
47160
  }
47152
47161
  if (!stat.isFile()) continue;
47153
- if (now - stat.mtimeMs > ttlMs) await fs$1.rm(fullPath, { force: true }).catch(() => {});
47162
+ if (now - stat.mtimeMs > ttlMs) await fsPromises.rm(fullPath, { force: true }).catch(() => {});
47154
47163
  }
47155
47164
  if (!pruneEmptyDirs) return false;
47156
- const remainingEntries = await fs$1.readdir(dir).catch(() => null);
47165
+ const remainingEntries = await fsPromises.readdir(dir).catch(() => null);
47157
47166
  return remainingEntries !== null && remainingEntries.length === 0;
47158
47167
  };
47159
- const entries = await fs$1.readdir(mediaDir).catch(() => []);
47168
+ const entries = await fsPromises.readdir(mediaDir).catch(() => []);
47160
47169
  for (const file of entries) {
47161
47170
  const full = path.join(mediaDir, file);
47162
- const stat = await fs$1.lstat(full).catch(() => null);
47171
+ const stat = await fsPromises.lstat(full).catch(() => null);
47163
47172
  if (!stat || stat.isSymbolicLink()) continue;
47164
47173
  if (stat.isDirectory()) {
47165
- if (await removeExpiredFilesInDir(full)) await fs$1.rmdir(full).catch(() => {});
47174
+ if (await removeExpiredFilesInDir(full)) await fsPromises.rmdir(full).catch(() => {});
47166
47175
  continue;
47167
47176
  }
47168
- if (stat.isFile() && now - stat.mtimeMs > ttlMs) await fs$1.rm(full, { force: true }).catch(() => {});
47177
+ if (stat.isFile() && now - stat.mtimeMs > ttlMs) await fsPromises.rm(full, { force: true }).catch(() => {});
47169
47178
  }
47170
47179
  }
47171
47180
  async function saveMediaBuffer(buffer, contentType, subdir = "inbound", maxBytes = MAX_BYTES, originalFilename) {
47172
47181
  if (buffer.byteLength > maxBytes) throw new Error(`Media exceeds ${(maxBytes / (1024 * 1024)).toFixed(0)}MB limit`);
47173
47182
  const dir = path.join(resolveMediaDir(), subdir);
47174
- await fs$1.mkdir(dir, {
47183
+ await fsPromises.mkdir(dir, {
47175
47184
  recursive: true,
47176
47185
  mode: 448
47177
47186
  });
@@ -47189,7 +47198,7 @@ async function saveMediaBuffer(buffer, contentType, subdir = "inbound", maxBytes
47189
47198
  id = sanitized ? `${sanitized}---${uuid}${ext}` : `${uuid}${ext}`;
47190
47199
  } else id = ext ? `${uuid}${ext}` : uuid;
47191
47200
  const dest = path.join(dir, id);
47192
- await retryAfterRecreatingDir(dir, () => fs$1.writeFile(dest, buffer, { mode: MEDIA_FILE_MODE }));
47201
+ await retryAfterRecreatingDir(dir, () => fsPromises.writeFile(dest, buffer, { mode: MEDIA_FILE_MODE }));
47193
47202
  return {
47194
47203
  id,
47195
47204
  path: dest,
@@ -49206,7 +49215,7 @@ async function createModelSelectionState(params) {
49206
49215
  }
49207
49216
  }
49208
49217
  if (sessionEntry && sessionStore && sessionKey && sessionEntry.authProfileOverride) {
49209
- const { ensureAuthProfileStore } = await import("./model-selection-CftqhKNS.js").then((n) => n.St);
49218
+ const { ensureAuthProfileStore } = await import("./model-selection-DU-DNNW7.js").then((n) => n.St);
49210
49219
  const profile = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false }).profiles[sessionEntry.authProfileOverride];
49211
49220
  const providerKey = normalizeProviderId(provider);
49212
49221
  if (!profile || normalizeProviderId(profile.provider) !== providerKey) await clearSessionAuthProfileOverride({
@@ -52009,7 +52018,7 @@ async function resolveTelegramInboundBody(params) {
52009
52018
  const disableAudioPreflight = (topicConfig?.disableAudioPreflight ?? groupConfig?.disableAudioPreflight) === true;
52010
52019
  let preflightTranscript;
52011
52020
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0 && !disableAudioPreflight) try {
52012
- const { transcribeFirstAudio } = await import("./audio-preflight-ugqpHAQh.js");
52021
+ const { transcribeFirstAudio } = await import("./audio-preflight-Dd3C7mtQ.js");
52013
52022
  preflightTranscript = await transcribeFirstAudio({
52014
52023
  ctx: {
52015
52024
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -54430,7 +54439,7 @@ function resolveCommandHashPath(accountId, botIdentity) {
54430
54439
  }
54431
54440
  async function readCachedCommandHash(accountId, botIdentity) {
54432
54441
  try {
54433
- return (await fs$1.readFile(resolveCommandHashPath(accountId, botIdentity), "utf-8")).trim();
54442
+ return (await fsPromises.readFile(resolveCommandHashPath(accountId, botIdentity), "utf-8")).trim();
54434
54443
  } catch {
54435
54444
  return null;
54436
54445
  }
@@ -54438,8 +54447,8 @@ async function readCachedCommandHash(accountId, botIdentity) {
54438
54447
  async function writeCachedCommandHash(accountId, botIdentity, hash) {
54439
54448
  const filePath = resolveCommandHashPath(accountId, botIdentity);
54440
54449
  try {
54441
- await fs$1.mkdir(path.dirname(filePath), { recursive: true });
54442
- await fs$1.writeFile(filePath, hash, "utf-8");
54450
+ await fsPromises.mkdir(path.dirname(filePath), { recursive: true });
54451
+ await fsPromises.writeFile(filePath, hash, "utf-8");
54443
54452
  } catch {}
54444
54453
  }
54445
54454
  function syncTelegramMenuCommands(params) {
@@ -56012,7 +56021,7 @@ function safeParseState(raw) {
56012
56021
  async function readTelegramUpdateOffset(params) {
56013
56022
  const filePath = resolveTelegramUpdateOffsetPath(params.accountId, params.env);
56014
56023
  try {
56015
- const parsed = safeParseState(await fs$1.readFile(filePath, "utf-8"));
56024
+ const parsed = safeParseState(await fsPromises.readFile(filePath, "utf-8"));
56016
56025
  const expectedBotId = extractBotIdFromToken(params.botToken);
56017
56026
  if (expectedBotId && parsed?.botId && parsed.botId !== expectedBotId) return null;
56018
56027
  if (expectedBotId && parsed?.botId === null) return null;
@@ -56037,7 +56046,7 @@ async function writeTelegramUpdateOffset(params) {
56037
56046
  async function deleteTelegramUpdateOffset(params) {
56038
56047
  const filePath = resolveTelegramUpdateOffsetPath(params.accountId, params.env);
56039
56048
  try {
56040
- await fs$1.unlink(filePath);
56049
+ await fsPromises.unlink(filePath);
56041
56050
  } catch (err) {
56042
56051
  if (err.code === "ENOENT") return;
56043
56052
  throw err;
@@ -62575,7 +62584,7 @@ async function emitResetCommandHooks(params) {
62575
62584
  try {
62576
62585
  const messages = [];
62577
62586
  if (sessionFile) {
62578
- const content = await fs$1.readFile(sessionFile, "utf-8");
62587
+ const content = await fsPromises.readFile(sessionFile, "utf-8");
62579
62588
  for (const line of content.split("\n")) {
62580
62589
  if (!line.trim()) continue;
62581
62590
  try {
@@ -65591,18 +65600,18 @@ function appendImagePathsToPrompt(prompt, paths) {
65591
65600
  return `${trimmed}${trimmed ? "\n\n" : ""}${paths.join("\n")}`;
65592
65601
  }
65593
65602
  async function writeCliImages(images) {
65594
- const tempDir = await fs$1.mkdtemp(path.join(os.tmpdir(), "openclaw-cli-images-"));
65603
+ const tempDir = await fsPromises.mkdtemp(path.join(os.tmpdir(), "openclaw-cli-images-"));
65595
65604
  const paths = [];
65596
65605
  for (let i = 0; i < images.length; i += 1) {
65597
65606
  const image = images[i];
65598
65607
  const ext = resolveImageExtension(image.mimeType);
65599
65608
  const filePath = path.join(tempDir, `image-${i + 1}.${ext}`);
65600
65609
  const buffer = Buffer.from(image.data, "base64");
65601
- await fs$1.writeFile(filePath, buffer, { mode: 384 });
65610
+ await fsPromises.writeFile(filePath, buffer, { mode: 384 });
65602
65611
  paths.push(filePath);
65603
65612
  }
65604
65613
  const cleanup = async () => {
65605
- await fs$1.rm(tempDir, {
65614
+ await fsPromises.rm(tempDir, {
65606
65615
  recursive: true,
65607
65616
  force: true
65608
65617
  });
@@ -69031,7 +69040,7 @@ const warnedContexts = /* @__PURE__ */ new Map();
69031
69040
  const log$1 = createSubsystemLogger("session-maintenance-warning");
69032
69041
  let deliverRuntimePromise = null;
69033
69042
  function loadDeliverRuntime() {
69034
- deliverRuntimePromise ??= import("./deliver-runtime-BsHI7dwo.js");
69043
+ deliverRuntimePromise ??= import("./deliver-runtime-DT4PMHlo.js");
69035
69044
  return deliverRuntimePromise;
69036
69045
  }
69037
69046
  function shouldSendWarning() {
@@ -69712,7 +69721,7 @@ async function stageSandboxMedia(params) {
69712
69721
  const remoteMediaCacheDir = ctx.MediaRemoteHost ? path.join(CONFIG_DIR, "media", "remote-cache", sessionKey) : null;
69713
69722
  const effectiveWorkspaceDir = sandbox?.workspaceDir ?? remoteMediaCacheDir;
69714
69723
  if (!effectiveWorkspaceDir) return;
69715
- await fs$1.mkdir(effectiveWorkspaceDir, { recursive: true });
69724
+ await fsPromises.mkdir(effectiveWorkspaceDir, { recursive: true });
69716
69725
  const remoteAttachmentRoots = resolveIMessageRemoteAttachmentRoots({
69717
69726
  cfg,
69718
69727
  accountId: ctx.AccountId
@@ -69771,8 +69780,8 @@ async function stageLocalFileIntoRoot(params) {
69771
69780
  }
69772
69781
  async function stageRemoteFileIntoRoot(params) {
69773
69782
  const tmpRoot = resolvePreferredOpenClawTmpDir();
69774
- await fs$1.mkdir(tmpRoot, { recursive: true });
69775
- const tmpDir = await fs$1.mkdtemp(path.join(tmpRoot, "stage-sandbox-media-"));
69783
+ await fsPromises.mkdir(tmpRoot, { recursive: true });
69784
+ const tmpDir = await fsPromises.mkdtemp(path.join(tmpRoot, "stage-sandbox-media-"));
69776
69785
  const tmpPath = path.join(tmpDir, "download");
69777
69786
  try {
69778
69787
  await scpFile(params.remoteHost, params.remotePath, tmpPath);
@@ -69783,7 +69792,7 @@ async function stageRemoteFileIntoRoot(params) {
69783
69792
  maxBytes: params.maxBytes
69784
69793
  });
69785
69794
  } finally {
69786
- await fs$1.rm(tmpDir, {
69795
+ await fsPromises.rm(tmpDir, {
69787
69796
  recursive: true,
69788
69797
  force: true
69789
69798
  }).catch(() => {});