wednesdayai 0.4.12-dev.711 → 0.4.12-dev.715

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 (425) hide show
  1. package/dist/{acp-cli-DrXF9X9v.js → acp-cli-BYoOiK6T.js} +13 -13
  2. package/dist/{agent-scope-BAXIXdUR.js → agent-scope-CWTkr4pS.js} +20 -20
  3. package/dist/{agent-turn-enqueue-BQ4JOmUN.js → agent-turn-enqueue-Dwz_R_DW.js} +5 -5
  4. package/dist/{agent-turn-recovery-adapter-BRVxIXJY.js → agent-turn-recovery-adapter-DF3vdyE5.js} +3 -3
  5. package/dist/{agent-turn-runner-BGmkN_A8.js → agent-turn-runner-DFZxbjaC.js} +4 -4
  6. package/dist/{agents.config-BnEJCj-p.js → agents.config-C-pTu-0T.js} +2 -2
  7. package/dist/{api-key-rotation-BEJklVjh.js → api-key-rotation-BEt1ZchD.js} +1 -1
  8. package/dist/{audio-preflight-C3XXSW_q.js → audio-preflight-nrbQcAOS.js} +36 -36
  9. package/dist/{audio-transcription-runner-DbLu4y_x.js → audio-transcription-runner-D-d42kdt.js} +26 -26
  10. package/dist/{audit-DIH0DO00.js → audit-C_g-UVNn.js} +29 -29
  11. package/dist/{auth-CO4L12L5.js → auth-DeLQvx-N.js} +4 -4
  12. package/dist/{auth-choice-DvG3v5sy.js → auth-choice-Be8iuCdY.js} +16 -16
  13. package/dist/{auth-choice-pem6VE1T.js → auth-choice-ZsDU-57A.js} +13 -13
  14. package/dist/{auth-choice.apply-helpers-CLYswf6f.js → auth-choice.apply-helpers-CMHfbKNY.js} +1 -1
  15. package/dist/{auth-token-C4PqndxM.js → auth-token-DK8X73K5.js} +2 -2
  16. package/dist/{bonjour-discovery-BBOJN88F.js → bonjour-discovery-C517Q6gA.js} +3 -3
  17. package/dist/{browser-cli-BI1mfCKP.js → browser-cli-DvjIut0z.js} +20 -20
  18. package/dist/build-info.json +3 -3
  19. package/dist/{call-CMjUSitZ.js → call-Cl6Q0T5z.js} +12 -12
  20. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  21. package/dist/{channel-account-context-Dc7AMtZ7.js → channel-account-context-C9otZxLF.js} +6 -6
  22. package/dist/{channel-activity-etjAZzDh.js → channel-activity-CE3dhlxR.js} +2 -2
  23. package/dist/{channel-options-BrBZqoUe.js → channel-options-CdXOmeJN.js} +4 -4
  24. package/dist/{channel-selection-WlHA0Mjg.js → channel-selection-zg0Iqza4.js} +1 -1
  25. package/dist/{channels-cli-DldYF6sZ.js → channels-cli-CBBGSlVe.js} +114 -114
  26. package/dist/{channels-status-issues-CyJj51t4.js → channels-status-issues-C6LrjLpF.js} +1 -1
  27. package/dist/{chrome-CBrgxie9.js → chrome-DXHMnxHS.js} +6 -6
  28. package/dist/{chunk-BTTi6And.js → chunk-BDQQgsxn.js} +2 -2
  29. package/dist/{clack-prompter-CbMy5Zvz.js → clack-prompter-CcVX4jId.js} +5 -5
  30. package/dist/{clawbot-cli-B-d0ta-h.js → clawbot-cli-C-wEI2Wc.js} +16 -16
  31. package/dist/cli-BtY_juql.js +164 -0
  32. package/dist/{client-MNVuOIDb.js → client-BbpMX08n.js} +3 -3
  33. package/dist/{client-profiles-BAQWDfq6.js → client-profiles-BNQu4_Z_.js} +2 -2
  34. package/dist/{clipboard-q7q26OPS.js → clipboard-DcxpnFIc.js} +1 -1
  35. package/dist/{command-queue-Banup9vQ.js → command-queue-B1RxJ6bM.js} +1 -1
  36. package/dist/{command-secret-targets-84-Vq1Kn.js → command-secret-targets-DtDJB3vv.js} +4 -4
  37. package/dist/{commands-registry-DY2vMgw6.js → commands-registry-BMswme6t.js} +3 -3
  38. package/dist/{commands-CpMRpWle.js → commands-tFdLuF5k.js} +1 -1
  39. package/dist/{completion-cli-C0m7BZi2.js → completion-cli-Dbszfn8D.js} +15 -15
  40. package/dist/{config-cli-CLZB8EiO.js → config-cli-3a-9iNyI.js} +11 -11
  41. package/dist/{config-guard-a0CqCfhq.js → config-guard-BwLGp24P.js} +15 -15
  42. package/dist/{config-validation-D1W4dKAT.js → config-validation-DDtU1EJP.js} +2 -2
  43. package/dist/{configure-BoJEz3Lg.js → configure-Dld8IaT8.js} +25 -25
  44. package/dist/{control-ui-assets-D-_OfiOV.js → control-ui-assets-DonecnKL.js} +3 -3
  45. package/dist/{controller-Z7o2nxni.js → controller-0fS4uYcF.js} +1 -1
  46. package/dist/{credentials-DgZP7kxk.js → credentials-Hn2dA0oB.js} +1 -1
  47. package/dist/{cron-cli-BA4vsm3K.js → cron-cli-BuO3qskK.js} +14 -14
  48. package/dist/{daemon-cli-UPL01HBu.js → daemon-cli-C5cAb15Z.js} +19 -19
  49. package/dist/{daemon-install-btuIR9OH.js → daemon-install-CBIxgo4p.js} +11 -11
  50. package/dist/{daemon-install-helpers-CG4IZ_7L.js → daemon-install-helpers-C8mJ0UpL.js} +13 -13
  51. package/dist/{deliver-BpzzrBKl.js → deliver-Bhlx9VG9.js} +9 -9
  52. package/dist/{devices-cli-gtCGUgQz.js → devices-cli-HXNfviPB.js} +13 -13
  53. package/dist/{diagnostic-BRYj59Hw.js → diagnostic-BTSirPP0.js} +3 -3
  54. package/dist/{diagnostics-BTeays6z.js → diagnostics-FIcvxigK.js} +5 -5
  55. package/dist/{directory-cli-DtgQeMLi.js → directory-cli-A6e49xZw.js} +11 -11
  56. package/dist/{dns-cli-QXa894v2.js → dns-cli-BZvwwprO.js} +11 -11
  57. package/dist/{docs-cli-C5Q8gAsv.js → docs-cli-BQ8oTRz4.js} +10 -10
  58. package/dist/{doctor-completion-B19G-I8Y.js → doctor-completion-Ca_SREXp.js} +3 -3
  59. package/dist/{doctor-config-flow-BTbRx17L.js → doctor-config-flow-BSKd49U6.js} +14 -14
  60. package/dist/{enable-BF67ibhx.js → enable-BIAeEt0I.js} +2 -2
  61. package/dist/{env-DtoMyFfk.js → env-ESh4ZX9l.js} +1 -1
  62. package/dist/{exec-Cg_eKCg0.js → exec-CHq-p5L0.js} +2 -2
  63. package/dist/{exec-approvals-C-_jrhwb.js → exec-approvals-D8Tqfo34.js} +1 -1
  64. package/dist/{exec-approvals-allowlist-B2foVOBU.js → exec-approvals-allowlist-0xON2SZW.js} +1 -1
  65. package/dist/{exec-approvals-cli-CwwxNa7v.js → exec-approvals-cli-DsXabPF_.js} +23 -23
  66. package/dist/{exec-safe-bin-runtime-policy-CfsF46fx.js → exec-safe-bin-runtime-policy-KSPaR73B.js} +2 -2
  67. package/dist/{extension-relay-auth-IPIDjhZx.js → extension-relay-auth-C-1c9CZk.js} +10 -10
  68. package/dist/{fetch-guard-BCFGxdCb.js → fetch-guard-CjyGDRXN.js} +3 -3
  69. package/dist/{fs-safe-D3vN4fQ5.js → fs-safe-DD7KXuvI.js} +25 -25
  70. package/dist/{gateway-cli-BtV-wVjj.js → gateway-cli-BTuK5wC4.js} +210 -210
  71. package/dist/{gateway-rpc-CgAHXoCu.js → gateway-rpc-DNsG0xAN.js} +3 -3
  72. package/dist/{gmail-setup-utils-DWxTEPL5.js → gmail-setup-utils-CRvbl5q3.js} +2 -2
  73. package/dist/{health-CDGk5xDG.js → health-DFWpyp9O.js} +9 -9
  74. package/dist/{health-format-B9nTs2HW.js → health-format-_VGfj3fm.js} +1 -1
  75. package/dist/{heartbeat-tick-RHab8Aje.js → heartbeat-tick-CsyeD75h.js} +1 -1
  76. package/dist/{help-format-BC4GRIFN.js → help-format-DqpZruAs.js} +1 -1
  77. package/dist/{hooks-cli-BT0kyUWU.js → hooks-cli-DKZeKlmX.js} +105 -105
  78. package/dist/{hooks-status-Dv9XGWQ9.js → hooks-status-D20U_9R-.js} +2 -2
  79. package/dist/{plugin-sdk/image-ops-DY_SZfXk.js → image-ops-DcqCZEUY.js} +2 -2
  80. package/dist/{incident-install-BdXMiCuu.js → incident-install-cGBLZhud.js} +12 -12
  81. package/dist/index.js +104 -104
  82. package/dist/{inspect-CdQNUkBH.js → inspect-DVHAPbcZ.js} +4 -4
  83. package/dist/{install-safe-path-67wN9WdC.js → install-safe-path-DjFYmzeb.js} +25 -25
  84. package/dist/{installs-BlKgbSFc.js → installs-CnAcm0ba.js} +10 -10
  85. package/dist/{ipv4-m0FxF_em.js → ipv4-PE-rqUZG.js} +2 -2
  86. package/dist/{ir-D--2OWCl.js → ir-DDAVSgbQ.js} +8 -8
  87. package/dist/{issue-format-B1dmuNNd.js → issue-format-D0G927lb.js} +1 -1
  88. package/dist/{lifecycle-core-DfYD23X_.js → lifecycle-core-B3-ezmTx.js} +9 -9
  89. package/dist/{links-DZMDihQ-.js → links-BhLGjTwm.js} +1 -1
  90. package/dist/{live-repair-BGbr6jGR.js → live-repair-RXzcIxWc.js} +11 -11
  91. package/dist/{local-roots-DrpBY-AE.js → local-roots-_qt4-Ma5.js} +5 -5
  92. package/dist/{log-tail-COb9xmHL.js → log-tail-BAg8b5Wq.js} +7 -7
  93. package/dist/{logger-BCqJpXqF.js → logger-0VqfDbvM.js} +2 -2
  94. package/dist/{logging-CuKoRd0b.js → logging-DcZLtf7P.js} +1 -1
  95. package/dist/{logs-cli-BTCW2CK0.js → logs-cli-BdR6-Q3U.js} +19 -19
  96. package/dist/{manager-LX1QQ8aK.js → manager-DehDxi2A.js} +17 -17
  97. package/dist/{markdown-tables-pIjKFnaZ.js → markdown-tables-BEZ0s08w.js} +1 -1
  98. package/dist/{memory-cli-CFyBR_Pp.js → memory-cli-DZyEfnsr.js} +18 -18
  99. package/dist/{model-CR-oCFb_.js → model-BI6n6kVo.js} +2 -2
  100. package/dist/{model-catalog-C300CH2M.js → model-catalog-C7itJJDM.js} +4 -4
  101. package/dist/{model-picker-CFbPs-vi.js → model-picker-Bt7fcUKH.js} +4 -4
  102. package/dist/{model-selection-C8GCtGby.js → model-selection-k68XU4oS.js} +52 -52
  103. package/dist/{models-cli-D0T4sJZO.js → models-cli-C7bSvLGL.js} +109 -109
  104. package/dist/{models-config-CcPjsQTv.js → models-config-Burwt3mB.js} +7 -7
  105. package/dist/{node-cli-BAmgr8kO.js → node-cli-CPo0jR3t.js} +43 -43
  106. package/dist/{node-command-policy-CggBPF1a.js → node-command-policy-B9A0wAU6.js} +1 -1
  107. package/dist/{node-service-yxlqFzdT.js → node-service-BnwLXY5x.js} +1 -1
  108. package/dist/{nodes-cli-Tth7cV2w.js → nodes-cli-D9vz6Yaa.js} +25 -25
  109. package/dist/{nodes-screen-Bu5K5Iky.js → nodes-screen-BRZLdw3g.js} +8 -8
  110. package/dist/{note-xK3tzN__.js → note-DCbCarQS.js} +2 -2
  111. package/dist/{npm-pack-install-Cbcm8AtO.js → npm-pack-install-CFiN84Qw.js} +24 -24
  112. package/dist/{npm-resolution-CD79ResX.js → npm-resolution-B7regLLc.js} +5 -5
  113. package/dist/{oauth-tls-preflight-Ow3-5CVf.js → oauth-tls-preflight-B5akdNNh.js} +1 -1
  114. package/dist/{onboard-DUd7yo33.js → onboard-B_6H9HpS.js} +11 -11
  115. package/dist/{onboard-channels-CEercm9o.js → onboard-channels-CxiuviBR.js} +21 -21
  116. package/dist/{onboard-custom-Cu_HKMT1.js → onboard-custom-x_zbf7qu.js} +4 -4
  117. package/dist/{onboard-helpers-Dxgs6IKs.js → onboard-helpers-ziqfw3UR.js} +13 -13
  118. package/dist/{onboard-hooks-iOe4YWKj.js → onboard-hooks-BaZe-xl6.js} +7 -7
  119. package/dist/{onboard-remote-DEBKk92p.js → onboard-remote-BsnRgDQj.js} +5 -5
  120. package/dist/{onboard-skills-rEFqAB8T.js → onboard-skills-DwbAJ4nt.js} +4 -4
  121. package/dist/{onboarding-Bd05RKZ7.js → onboarding-D9VO9_5U.js} +18 -18
  122. package/dist/{onboarding.finalize-DPQPP-Aj.js → onboarding.finalize-DeJ35Prz.js} +112 -112
  123. package/dist/{onboarding.gateway-config-CgdJWu5V.js → onboarding.gateway-config-DOvEzkIo.js} +17 -17
  124. package/dist/{onboarding.secret-input-BOKPA83p.js → onboarding.secret-input-BCxy1JxD.js} +1 -1
  125. package/dist/{openai-model-default-C4QfTJob.js → openai-model-default-CpqJmHpI.js} +2 -2
  126. package/dist/{openclaw-root-B2l0kAM1.js → openclaw-root-BGUYWYDG.js} +2 -2
  127. package/dist/{operator-commands-B0t7kxcZ.js → operator-commands-BRKxpjt9.js} +5 -5
  128. package/dist/{outbound-attachment-BqIKnptw.js → outbound-attachment-Bg7WvYcG.js} +2 -2
  129. package/dist/{outbound-message-hooks-DOSD8zCU.js → outbound-message-hooks-t1DDjQX_.js} +4 -4
  130. package/dist/{pairing-cli-D9NWToyR.js → pairing-cli-Cmlyczsc.js} +11 -11
  131. package/dist/{pairing-labels-BCnxr7Pt.js → pairing-labels-CGUWaZ3f.js} +1 -1
  132. package/dist/{pairing-store-CL-UFd1J.js → pairing-store-CQ7fjFFo.js} +2 -2
  133. package/dist/{path-alias-guards-DaLVcmyn.js → path-alias-guards-BSmwo1rT.js} +3 -3
  134. package/dist/{path-env-CQ3HfD18.js → path-env-IcDKkMPr.js} +1 -1
  135. package/dist/{path-safety-DSl6BwW9.js → path-safety-DAKUyD-v.js} +1 -1
  136. package/dist/{pi-embedded-helpers-DxQslB8x.js → pi-embedded-helpers-DEHXX7Dr.js} +8 -8
  137. package/dist/{pi-embedded-recovery-adapter-DRzWCwVb.js → pi-embedded-recovery-adapter-MaU4SQ3X.js} +3 -3
  138. package/dist/pi-embedded-recovery-adapter-ZV9u5snz.js +61 -0
  139. package/dist/{pi-embedded-utils-39kuXd-l.js → pi-embedded-utils-BhOMYPQU.js} +2 -2
  140. package/dist/{pi-model-discovery-B9wn9y4o.js → pi-model-discovery-CfUi22Es.js} +1 -1
  141. package/dist/{pi-tools.policy-BViSZbge.js → pi-tools.policy-4GqIom7_.js} +4 -4
  142. package/dist/{plugin-owned-work-recovery-adapter-CnQZf19o.js → plugin-owned-work-recovery-adapter-DHYQi-Bq.js} +8 -8
  143. package/dist/{plugin-registry-DBsuekLm.js → plugin-registry-alYBvHFE.js} +4 -4
  144. package/dist/plugin-sdk/{agent-scope-BYp_CjdU.js → agent-scope-BLF4nZUv.js} +2 -2
  145. package/dist/plugin-sdk/agent-turn-execute-C4MQxaT2.js +61 -0
  146. package/dist/plugin-sdk/{agent-turn-runner-CeC9JbVM.js → agent-turn-runner-YBWX_qXk.js} +6 -6
  147. package/dist/plugin-sdk/agent-turn-runner-e_lJzDgA.js +11 -0
  148. package/dist/plugin-sdk/{api-key-rotation-CDNf_4cI.js → api-key-rotation-XDUKz2gd.js} +2 -2
  149. package/dist/plugin-sdk/{artifacts-BMLMg3MG.js → artifacts-HAYpGlG1.js} +1 -1
  150. package/dist/plugin-sdk/{audio-preflight-BmKL6FNP.js → audio-preflight-BS29OWk3.js} +2 -2
  151. package/dist/plugin-sdk/audio-preflight-DE04bi4M.js +28 -0
  152. package/dist/plugin-sdk/{audio-transcription-runner-TBjJv_mZ.js → audio-transcription-runner-BNafitZj.js} +10 -10
  153. package/dist/plugin-sdk/{auth-profiles-DHZjW8Vk.js → auth-profiles-CCJQoedi.js} +5 -5
  154. package/dist/plugin-sdk/{channel-activity-Dr4PYej7.js → channel-activity-BKwRzYJb.js} +3 -3
  155. package/dist/plugin-sdk/{chrome-BDy1zYAr.js → chrome-D0eLSqkP.js} +4 -4
  156. package/dist/plugin-sdk/{chunk-DGQdf0JN.js → chunk-CDvvv9SU.js} +3 -3
  157. package/dist/plugin-sdk/{chunk-BTSnO1wn.js → chunk-DI-5pBck.js} +6 -6
  158. package/dist/plugin-sdk/{command-detection-w_6bwXGh.js → command-detection-B3xgM_Na.js} +85 -85
  159. package/dist/plugin-sdk/{command-queue-CeaLVs8O.js → command-queue-BnJsJc_w.js} +8 -8
  160. package/dist/plugin-sdk/{command-queue-DFSOdqCK.js → command-queue-CHiQj9Ji.js} +1 -1
  161. package/dist/plugin-sdk/{commands-registry-8sy0wsK_.js → commands-registry-Do_g2It_.js} +6 -6
  162. package/dist/plugin-sdk/{commands-registry-N6f_lsxF.js → commands-registry-DpLk11E7.js} +2 -2
  163. package/dist/plugin-sdk/{config-Biusjzx-.js → config-CQNfmIC8.js} +7 -7
  164. package/dist/plugin-sdk/deliver-D4fWK65M.js +32 -0
  165. package/dist/plugin-sdk/{deliver-BgHA8c9F.js → deliver-L6eu6zyG.js} +11 -11
  166. package/dist/plugin-sdk/{diagnostic-D6hSjxiv.js → diagnostic-C7lPoqyv.js} +5 -5
  167. package/dist/plugin-sdk/{diagnostic-Bni_8VyY.js → diagnostic-DfxuMWHd.js} +7 -7
  168. package/dist/plugin-sdk/{fetch-guard-C1a1KfEb.js → fetch-guard-CZT8FU1i.js} +3 -3
  169. package/dist/plugin-sdk/{fs-safe-CbZ6uRVv.js → fs-safe-B0JgGdXa.js} +3 -3
  170. package/dist/plugin-sdk/{hook-runner-global-BvxlnAyu.js → hook-runner-global-WRI53ibi.js} +3 -3
  171. package/dist/{image-ops-D-__yDh-.js → plugin-sdk/image-ops-kuILYHZv.js} +12 -12
  172. package/dist/plugin-sdk/index.js +54 -54
  173. package/dist/plugin-sdk/{ir-BNohi6ZW.js → ir-Bm7oqkwT.js} +5 -5
  174. package/dist/plugin-sdk/{local-roots-Bm7nDW20.js → local-roots-D-CHzVr1.js} +7 -7
  175. package/dist/plugin-sdk/{logger-D6KsqbNW.js → logger-BSK-0Yjx.js} +1 -1
  176. package/dist/plugin-sdk/manager-BlYRVNJI.js +16 -0
  177. package/dist/plugin-sdk/{manager-B_vK9MbM.js → manager-D2jffdjH.js} +8 -8
  178. package/dist/plugin-sdk/{markdown-tables-G4vK24xc.js → markdown-tables-DIWQQ2W1.js} +2 -2
  179. package/dist/plugin-sdk/markdown-tables-cZSKCBuW.js +10 -0
  180. package/dist/plugin-sdk/{outbound-attachment-Cw7T2Mrt.js → outbound-attachment-CtKKNyms.js} +2 -2
  181. package/dist/plugin-sdk/{path-alias-guards-CVybi_GQ.js → path-alias-guards-CHfCMaeX.js} +1 -1
  182. package/dist/plugin-sdk/{pi-embedded-helpers-B_jgacW8.js → pi-embedded-helpers-BRymkO_1.js} +11 -11
  183. package/dist/plugin-sdk/{pi-embedded-utils-DOXEm_H8.js → pi-embedded-utils-BHmc3RVS.js} +3 -3
  184. package/dist/plugin-sdk/{pi-model-discovery-DWw1ReX-.js → pi-model-discovery-4X7_2_nP.js} +6 -6
  185. package/dist/plugin-sdk/{pi-model-discovery-DWUrLRLg.js → pi-model-discovery-6BBajZds.js} +1 -1
  186. package/dist/plugin-sdk/provider-dispatcher-D7bchiJq.js +61 -0
  187. package/dist/plugin-sdk/provider-image-CNlYbRab.js +22 -0
  188. package/dist/plugin-sdk/{provider-image-CEQrHWYz.js → provider-image-DBye3Ln5.js} +5 -5
  189. package/dist/plugin-sdk/proxy-D2uiu68M.js +7 -0
  190. package/dist/plugin-sdk/{proxy-BWc9guJs.js → proxy-DJ2nskkh.js} +1 -1
  191. package/dist/{proxy-fetch-k-wYHddO.js → plugin-sdk/proxy-fetch-CuQpjpkI.js} +1 -1
  192. package/dist/plugin-sdk/{pw-ai-DQv6Xhce.js → pw-ai-BJrhPMHJ.js} +10 -10
  193. package/dist/plugin-sdk/{qmd-manager-CpV0SFnY.js → qmd-manager-DhW_frb3.js} +8 -8
  194. package/dist/plugin-sdk/{query-expansion-CwmHvvV_.js → query-expansion-NpBeKA8F.js} +3 -3
  195. package/dist/plugin-sdk/{recorder-BXZMRSjO.js → recorder-DdbAQ2HO.js} +4 -4
  196. package/dist/plugin-sdk/{redact-C88Ryyfs.js → redact-CUjmZn2Y.js} +1 -1
  197. package/dist/plugin-sdk/{replies-l2hZAzbt.js → replies-Dw3jvqpR.js} +4 -4
  198. package/dist/plugin-sdk/replies-XUkqz_7S.js +25 -0
  199. package/dist/plugin-sdk/{reply-directives-BwxzQXmX.js → reply-directives-BS8Ge06Z.js} +2 -2
  200. package/dist/plugin-sdk/{reply-prefix-qLQRxqrf.js → reply-prefix-Dt1hESHJ.js} +1 -1
  201. package/dist/plugin-sdk/reply-prefix-MU3uY52y.js +7 -0
  202. package/dist/plugin-sdk/{resolve-route-50KoArP9.js → resolve-route-BpLuk-wC.js} +4 -4
  203. package/dist/plugin-sdk/{resolve-route-6v1HVvWk.js → resolve-route-DiQTL1qI.js} +6 -6
  204. package/dist/plugin-sdk/{runs-CiohhBb8.js → runs-D6fAvItC.js} +7 -7
  205. package/dist/plugin-sdk/runs-R28wdt7j.js +25 -0
  206. package/dist/plugin-sdk/{send-Cv2CGnsK.js → send-BDwTyH6I.js} +8 -8
  207. package/dist/plugin-sdk/{send-DM6RpDCL.js → send-CE_6VOiQ.js} +7 -7
  208. package/dist/plugin-sdk/{send-Cx6gHjnA.js → send-Ce2XBaKF.js} +6 -6
  209. package/dist/plugin-sdk/send-Cg2VXcO0.js +27 -0
  210. package/dist/plugin-sdk/{send-BMSqETcU.js → send-CpXGZgrS.js} +6 -6
  211. package/dist/plugin-sdk/send-DAs6FmWB.js +23 -0
  212. package/dist/plugin-sdk/{send-DO0C4Uva.js → send-GMYUhBtJ.js} +19 -19
  213. package/dist/plugin-sdk/{send-DG4MQPPm.js → send-R0HB1-l-.js} +13 -13
  214. package/dist/plugin-sdk/send-UIQH_kN6.js +25 -0
  215. package/dist/plugin-sdk/send-tASIQF-Q.js +24 -0
  216. package/dist/plugin-sdk/{session-meta-CiqJP0pO.js → session-meta-BU2WXD0N.js} +2 -2
  217. package/dist/plugin-sdk/session-meta-Dd1ZONel.js +10 -0
  218. package/dist/plugin-sdk/{skill-commands-CE_SkRQk.js → skill-commands-BYfWIPfV.js} +5 -5
  219. package/dist/plugin-sdk/skill-commands-C7ZE3rKj.js +14 -0
  220. package/dist/plugin-sdk/{skills-CjW6uGTa.js → skills-BuJjEYto.js} +6 -6
  221. package/dist/plugin-sdk/{ssrf-BUCEDxp5.js → ssrf-DiAz1Z_z.js} +2 -2
  222. package/dist/plugin-sdk/{store-yBNTHg3N.js → store-Bl3Yjf_w.js} +2 -2
  223. package/dist/plugin-sdk/subagent-registry-2P8D5Trx.js +61 -0
  224. package/dist/plugin-sdk/{subsystem-CUUKL6Fr.js → subsystem-B2x33s9h.js} +4 -4
  225. package/dist/plugin-sdk/{tables-DKYi6grj.js → tables-CTmQQyfU.js} +1 -1
  226. package/dist/plugin-sdk/{tokens-ysZUkYZZ.js → tokens-DxJSOoJn.js} +1 -1
  227. package/dist/plugin-sdk/{tool-loop-detection-LsvZ1dIY.js → tool-loop-detection-Buouaxew.js} +1 -1
  228. package/dist/plugin-sdk/user-run-recording-BMikDBXR.js +11 -0
  229. package/dist/plugin-sdk/{user-run-recording-BMaK7jNR.js → user-run-recording-juCW_uQ-.js} +2 -2
  230. package/dist/{plugins-cli-Dr8MUuiG.js → plugins-cli-DnMc_Sn3.js} +108 -108
  231. package/dist/{polling-timeout-DQakFlgy.js → polling-timeout-lNYd7owP.js} +2 -2
  232. package/dist/{ports-D_uxJ7Lw.js → ports-BTxrPqTm.js} +2 -2
  233. package/dist/{ports-CmgxsJei.js → ports-CX4cOSom.js} +6 -6
  234. package/dist/{program-context-Bl-xFa6k.js → program-context-CJuzphrY.js} +47 -47
  235. package/dist/{progress-DVj1IfDI.js → progress-DRMfDm7h.js} +2 -2
  236. package/dist/{prompt-select-styled-BpNRj_0c.js → prompt-select-styled-C-FwsHQX.js} +48 -48
  237. package/dist/{prompt-style-DdJb0dOL.js → prompt-style-D0wRuIYC.js} +1 -1
  238. package/dist/{provider-auth-helpers-DUu-jv0m.js → provider-auth-helpers-DsfkAslg.js} +6 -6
  239. package/dist/{provider-image-GVjHOAmk.js → provider-image-RxbXQIow.js} +6 -6
  240. package/dist/{proxy-XUweXx3b.js → proxy-Df2WAHRA.js} +1 -1
  241. package/dist/{plugin-sdk/proxy-fetch-BYkGxQnh.js → proxy-fetch-Czv8kxaL.js} +1 -1
  242. package/dist/{push-apns--BFmn4qT.js → push-apns-Mp5OOpUH.js} +8 -8
  243. package/dist/{pw-ai-DcOIsodu.js → pw-ai-DmE1ofBV.js} +19 -19
  244. package/dist/{qmd-manager-Cl4D1wtV.js → qmd-manager-DvoTSplw.js} +23 -23
  245. package/dist/{qr-cli-DDaJ5f3a.js → qr-cli-BCIfpQUF.js} +8 -8
  246. package/dist/{query-expansion-DNw0oY0W.js → query-expansion-BD3CL_NZ.js} +13 -13
  247. package/dist/{reconcile-bundled-CoL_d96f.js → reconcile-bundled-BMWDZl32.js} +3 -3
  248. package/dist/{recorder-B9RfsO1r.js → recorder-BntUAL0_.js} +2 -2
  249. package/dist/{recovery-adapter-Bokfvz7s.js → recovery-adapter-BF5ESanQ.js} +2 -2
  250. package/dist/{recovery-adapter-B6QLivR9.js → recovery-adapter-BMqm3Nm4.js} +35 -35
  251. package/dist/{recovery-adapter-CMFB03AL.js → recovery-adapter-NtvPZ47M.js} +4 -4
  252. package/dist/{recovery-prompt-B1_BcmiM.js → recovery-prompt-SkkJ8aCp.js} +1 -1
  253. package/dist/{redact-snapshot-BtpCwP1X.js → redact-snapshot-Cm6wsMRx.js} +2 -2
  254. package/dist/{register.agent-Bv1bLbKG.js → register.agent-B5_L0CjL.js} +121 -121
  255. package/dist/register.configure-BbDac1C1.js +168 -0
  256. package/dist/{register.maintenance-C8FDl5FT.js → register.maintenance-Co2DeyQ1.js} +124 -124
  257. package/dist/{register.message-CAfCYwJP.js → register.message-BWeca9Pc.js} +98 -98
  258. package/dist/{register.onboard-cFRLSpET.js → register.onboard-4mSx6LtC.js} +22 -22
  259. package/dist/{register.setup-Bzi-36J6.js → register.setup-DCRrXbdT.js} +25 -25
  260. package/dist/{register.status-health-sessions-DV7xRpuM.js → register.status-health-sessions-DK12_BeX.js} +114 -114
  261. package/dist/{replay-DzQXXHrC.js → replay-BHfUVVHN.js} +1 -1
  262. package/dist/{replies-Bg8KJkdJ.js → replies-DoejQAqN.js} +4 -4
  263. package/dist/{reply-BsDGtY7Y.js → reply-BIZ2zaUq.js} +186 -186
  264. package/dist/{reply-directives-HkwESo_w.js → reply-directives-D5wW1el3.js} +2 -2
  265. package/dist/{reply-prefix-Cur1savb.js → reply-prefix-D0xrt6Z-.js} +1 -1
  266. package/dist/{resolve-route-C7CVSjFi.js → resolve-route-DnhX9nWr.js} +4 -4
  267. package/dist/{rpc-C1SlEDeI.js → rpc-B2GRFhpM.js} +3 -3
  268. package/dist/{runs-B3mLUDEo.js → runs-Yajg-SST.js} +7 -7
  269. package/dist/{runtime-Dp2vE941.js → runtime-Ch9itsH4.js} +4 -4
  270. package/dist/{runtime-config-collectors-CwBbdMqb.js → runtime-config-collectors-B4N79pBu.js} +1 -1
  271. package/dist/{runtime-guard-kynCEcXy.js → runtime-guard-DYUXYZIl.js} +1 -1
  272. package/dist/{sandbox-BnwxiNjx.js → sandbox-Ft7cM-PQ.js} +18 -18
  273. package/dist/{sandbox-cli-0Umoh6lR.js → sandbox-cli-DvMqiG0-.js} +26 -26
  274. package/dist/{secrets-cli-uctHYxxr.js → secrets-cli-mfGtyiPb.js} +16 -16
  275. package/dist/{security-cli-DgE-l1dY.js → security-cli-p_5UwabW.js} +43 -43
  276. package/dist/{send-BXSNB2Gu.js → send-26KAC8EW.js} +6 -6
  277. package/dist/{send-DkVvmrg9.js → send-9toI8d1j.js} +6 -6
  278. package/dist/{send-ZT3Ekuty.js → send-BA9PXvuC.js} +7 -7
  279. package/dist/{send-DweRAIgI.js → send-Cy2xiH02.js} +13 -13
  280. package/dist/{send-CgTUSkhw.js → send-DQQFc4N0.js} +14 -14
  281. package/dist/{server-context-qqDarnk8.js → server-context-Dezs5R_M.js} +12 -12
  282. package/dist/{server-BiyBJMEv.js → server-l9oy68N_.js} +25 -25
  283. package/dist/{server-lifecycle-E2HPe1NZ.js → server-lifecycle-DcVZS1ln.js} +3 -3
  284. package/dist/{server-middleware-CHvpqowx.js → server-middleware-BND1EkTO.js} +1 -1
  285. package/dist/{server-node-events-uGHyBXqP.js → server-node-events-BaFY8QcO.js} +97 -97
  286. package/dist/{service-CH9BWwSD.js → service-Hy5BSgmp.js} +15 -15
  287. package/dist/{session-consumer-agents-D_hiCJHw.js → session-consumer-agents-DWh7Mygv.js} +1 -1
  288. package/dist/{session-consumer-claim-sweep-aKULSjxA.js → session-consumer-claim-sweep-Bc4Qq0rB.js} +8 -8
  289. package/dist/{session-key-resolution-BlwVEVt_.js → session-key-resolution-DDJD1XYy.js} +4 -4
  290. package/dist/{session-meta-CXWLeYOC.js → session-meta-DzjDKcgW.js} +1 -1
  291. package/dist/{session-storage-DYSvotxA.js → session-storage-D3bntc9N.js} +7 -7
  292. package/dist/{sessions-C6bPQgaD.js → sessions-BQYQBpX0.js} +15 -15
  293. package/dist/{sessions-claims-status-DSufSy2u.js → sessions-claims-status-Bt9unG8h.js} +12 -12
  294. package/dist/{shared-CRF96lZH.js → shared-Bc-7t0_-.js} +2 -2
  295. package/dist/{shared-BFbMaMtM.js → shared-DyT9yMRI.js} +3 -3
  296. package/dist/{skill-commands-D0sJs3ds.js → skill-commands-Be2Bqqsm.js} +7 -7
  297. package/dist/{skill-scanner-D7Edx-Uz.js → skill-scanner-BA3h34y0.js} +7 -7
  298. package/dist/{skills-DT7dF3Z_.js → skills-Buc1RWDY.js} +6 -6
  299. package/dist/{skills-cli-CINDQ2Qe.js → skills-cli-DHvoBCEx.js} +10 -10
  300. package/dist/{skills-install-BUqzygk8.js → skills-install-DqCRPwE1.js} +9 -9
  301. package/dist/{skills-status-K-JYoR_J.js → skills-status-Dufi5_o3.js} +3 -3
  302. package/dist/{ssrf-BsWmJWfu.js → ssrf-B85AIIOO.js} +1 -1
  303. package/dist/{status-CYumLEox.js → status-BYesh62t.js} +34 -34
  304. package/dist/{status.update-CDd1OP3p.js → status.update-BOB92yBQ.js} +2 -2
  305. package/dist/{store-BKJfMltr.js → store-DoqX9VsZ.js} +7 -7
  306. package/dist/{subsystem-DRdkfGsB.js → subsystem-DDZBycwS.js} +1 -1
  307. package/dist/{supervisor-recovery-adapter-BxLO7wjD.js → supervisor-recovery-adapter-CTaDRl_d.js} +8 -8
  308. package/dist/{system-cli-DJd5Vz-h.js → system-cli-B-THY8xp.js} +14 -14
  309. package/dist/{system-run-command-uuNBjw5D.js → system-run-command-AF8TLlEl.js} +2 -2
  310. package/dist/{systemd-LaMffSwB.js → systemd-DsBMxUv1.js} +11 -11
  311. package/dist/{systemd-hints-Cq7MC9oh.js → systemd-hints-WHzM5Tf8.js} +7 -7
  312. package/dist/{systemd-linger-Cv1mTB1q.js → systemd-linger-EvpJ4ZxF.js} +2 -2
  313. package/dist/{table-BntrQEtu.js → table-DoIju7rh.js} +2 -2
  314. package/dist/{tables-CI3gYRvQ.js → tables-CzW-cMQN.js} +1 -1
  315. package/dist/{tailnet-CA8Lq90p.js → tailnet-G5phL2pY.js} +1 -1
  316. package/dist/{tailscale-C-_dOj1h.js → tailscale-DbsrfsUT.js} +3 -3
  317. package/dist/{task-pipeline-boot-nWDIjt5K.js → task-pipeline-boot-CaVeITev.js} +97 -97
  318. package/dist/{task-runlog-retention-BlMTtOsA.js → task-runlog-retention-BZrnJGL1.js} +3 -3
  319. package/dist/{tasks-NzeWQU_K.js → tasks-DXPXCFmn.js} +12 -12
  320. package/dist/{tokens-C6a47LiJ.js → tokens-BvecxQYg.js} +1 -1
  321. package/dist/{tool-display-CwPZlMoS.js → tool-display-D63I3y22.js} +1 -1
  322. package/dist/{tool-loop-detection-BUuXGw31.js → tool-loop-detection-3zBgQ3Bx.js} +2 -2
  323. package/dist/{trash-CYaie1Ci.js → trash-BcRk_NVC.js} +3 -3
  324. package/dist/{tui-CPb7mIZu.js → tui-Bo4LZvgz.js} +8 -8
  325. package/dist/{tui-cli-Csu-daF-.js → tui-cli-hVvCHoLU.js} +32 -32
  326. package/dist/{update-BqKLo08q.js → update-CXf5cJ0D.js} +3 -3
  327. package/dist/{update-cli-DjE99d_9.js → update-cli-BB7ybH-w.js} +134 -134
  328. package/dist/{update-runner-CrNSgmGV.js → update-runner-BYv_ec3N.js} +18 -18
  329. package/dist/{user-run-recording-DjkX5Mx3.js → user-run-recording-CTVI96gC.js} +2 -2
  330. package/dist/{utils-CmAaKeiM.js → utils-CMEUUHmM.js} +7 -7
  331. package/dist/{validation-cli-BRxfq9qy.js → validation-cli-CGimO4ZJ.js} +97 -97
  332. package/dist/{web-cli-DINMU0iQ.js → web-cli-KjTxS3h8.js} +3 -3
  333. package/dist/{web-client-assets-O1Zun47I.js → web-client-assets-CJyKwFRS.js} +1 -1
  334. package/dist/{webhooks-cli-YjIqpt4M.js → webhooks-cli-DJhGZcBz.js} +11 -11
  335. package/dist/{widearea-dns-DZj5625G.js → widearea-dns-DgeeMUtJ.js} +1 -1
  336. package/dist/{with-timeout-6n6HxT65.js → with-timeout-NhJMC1fC.js} +6 -6
  337. package/dist/{workspace-CgJWyvaY.js → workspace-CcKQx_l1.js} +2 -2
  338. package/dist/{workspace-dirs-B9yugPA_.js → workspace-dirs-_vJAsBIN.js} +1 -1
  339. package/dist/{ws-E-wJFDgg.js → ws-BuVK_u9S.js} +2 -2
  340. package/dist/{wsl-CMayUQxI.js → wsl-Baz9nyoY.js} +2 -2
  341. package/extensions/acpx/package.json +1 -1
  342. package/extensions/anthropic/package.json +1 -1
  343. package/extensions/bifrost/package.json +1 -1
  344. package/extensions/bluebubbles/package.json +1 -1
  345. package/extensions/copilot-proxy/package.json +1 -1
  346. package/extensions/deepgram/package.json +1 -1
  347. package/extensions/deepinfra/package.json +1 -1
  348. package/extensions/diagnostics-otel/package.json +1 -1
  349. package/extensions/diffs/package.json +1 -1
  350. package/extensions/discord/package.json +1 -1
  351. package/extensions/dream-cycle/package.json +1 -1
  352. package/extensions/elevenlabs/package.json +1 -1
  353. package/extensions/feishu/package.json +1 -1
  354. package/extensions/gemini-search/package.json +1 -1
  355. package/extensions/google/package.json +1 -1
  356. package/extensions/google-gemini-cli-auth/package.json +1 -1
  357. package/extensions/googlechat/package.json +1 -1
  358. package/extensions/grok-search/package.json +1 -1
  359. package/extensions/groq/package.json +1 -1
  360. package/extensions/imessage/package.json +1 -1
  361. package/extensions/irc/package.json +1 -1
  362. package/extensions/kimi-search/package.json +1 -1
  363. package/extensions/learning-core/package.json +1 -1
  364. package/extensions/line/package.json +1 -1
  365. package/extensions/llm-task/package.json +1 -1
  366. package/extensions/lobster/package.json +1 -1
  367. package/extensions/matrix/CHANGELOG.md +1 -1
  368. package/extensions/matrix/package.json +1 -1
  369. package/extensions/mattermost/package.json +1 -1
  370. package/extensions/memory-core/package.json +1 -1
  371. package/extensions/memory-lancedb/package.json +1 -1
  372. package/extensions/minimax/package.json +1 -1
  373. package/extensions/minimax-portal-auth/package.json +1 -1
  374. package/extensions/mistral/package.json +1 -1
  375. package/extensions/moonshot/package.json +1 -1
  376. package/extensions/msteams/CHANGELOG.md +1 -1
  377. package/extensions/msteams/package.json +1 -1
  378. package/extensions/nextcloud-talk/package.json +1 -1
  379. package/extensions/nostr/CHANGELOG.md +1 -1
  380. package/extensions/nostr/package.json +1 -1
  381. package/extensions/open-prose/package.json +1 -1
  382. package/extensions/openai/package.json +1 -1
  383. package/extensions/openai-realtime/package.json +1 -1
  384. package/extensions/openrouter/package.json +1 -1
  385. package/extensions/perplexity-search/package.json +1 -1
  386. package/extensions/searxng-search/package.json +1 -1
  387. package/extensions/signal/package.json +1 -1
  388. package/extensions/slack/package.json +1 -1
  389. package/extensions/synology-chat/package.json +1 -1
  390. package/extensions/telegram/package.json +1 -1
  391. package/extensions/tlon/package.json +1 -1
  392. package/extensions/twitch/CHANGELOG.md +1 -1
  393. package/extensions/twitch/package.json +1 -1
  394. package/extensions/voice-call/CHANGELOG.md +1 -1
  395. package/extensions/voice-call/package.json +1 -1
  396. package/extensions/whatsapp/package.json +1 -1
  397. package/extensions/zai/package.json +1 -1
  398. package/extensions/zalo/CHANGELOG.md +1 -1
  399. package/extensions/zalo/package.json +1 -1
  400. package/extensions/zalouser/CHANGELOG.md +1 -1
  401. package/extensions/zalouser/package.json +1 -1
  402. package/package.json +3 -2
  403. package/dist/cli-BLPnNVZp.js +0 -164
  404. package/dist/pi-embedded-recovery-adapter-CB8bcT6A.js +0 -61
  405. package/dist/plugin-sdk/agent-turn-execute-DYtSZF3l.js +0 -61
  406. package/dist/plugin-sdk/agent-turn-runner-P-MKFb_i.js +0 -11
  407. package/dist/plugin-sdk/audio-preflight-DlGohKMs.js +0 -28
  408. package/dist/plugin-sdk/deliver-DBCz1GqU.js +0 -32
  409. package/dist/plugin-sdk/manager-ByaW_O4Y.js +0 -16
  410. package/dist/plugin-sdk/markdown-tables-J4hZ7eWU.js +0 -10
  411. package/dist/plugin-sdk/provider-dispatcher-Co_hyl4q.js +0 -61
  412. package/dist/plugin-sdk/provider-image-B_dJDOl5.js +0 -22
  413. package/dist/plugin-sdk/proxy-DwbYzxBy.js +0 -7
  414. package/dist/plugin-sdk/replies-B9uDLFOE.js +0 -25
  415. package/dist/plugin-sdk/reply-prefix-BQMEQam1.js +0 -7
  416. package/dist/plugin-sdk/runs-BQhYekhr.js +0 -25
  417. package/dist/plugin-sdk/send-CeWqZTK0.js +0 -23
  418. package/dist/plugin-sdk/send-CzcKgBBf.js +0 -25
  419. package/dist/plugin-sdk/send-Dvna5ey-.js +0 -27
  420. package/dist/plugin-sdk/send-xPV0QIjh.js +0 -24
  421. package/dist/plugin-sdk/session-meta-n4SCcAbJ.js +0 -10
  422. package/dist/plugin-sdk/skill-commands-BOV3NIbU.js +0 -14
  423. package/dist/plugin-sdk/subagent-registry-jIsL_HVh.js +0 -61
  424. package/dist/plugin-sdk/user-run-recording-DiKcNdjn.js +0 -11
  425. package/dist/register.configure-nGWw6mGM.js +0 -168
@@ -1,127 +1,127 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { g as resolveStateDir, r as STATE_DIR, u as resolveGatewayPort, y as resolveRequiredHomeDir } from "./paths-BBP4yd-2.js";
3
- import { At as resolvePreferredOpenClawTmpDir, C as truncateUtf16Safe, Ct as isDangerousHostEnvVarName, I as theme, L as getChildLogger, N as warn, O as logVerbose, W as appendFileLog, Z as normalizeLogLevel, b as sleep$1, bt as normalizeWindowsPathForComparison, d as isRecord$1, f as normalizeE164, g as resolveUserPath, i as clampInt, j as shouldLogVerbose, l as escapeRegExp, lt as openBoundaryFile, nt as INCLUDE_KEY, t as CONFIG_DIR, ut as openBoundaryFileSync, v as shortenHomeInString, w as danger, x as sliceUtf16Safe, y as shortenHomePath } from "./utils-CmAaKeiM.js";
3
+ import { At as resolvePreferredOpenClawTmpDir, C as truncateUtf16Safe, Ct as isDangerousHostEnvVarName, I as theme, L as getChildLogger, N as warn, O as logVerbose, W as appendFileLog, Z as normalizeLogLevel, b as sleep$1, bt as normalizeWindowsPathForComparison, d as isRecord$1, f as normalizeE164, g as resolveUserPath, i as clampInt, j as shouldLogVerbose, l as escapeRegExp, lt as openBoundaryFile, nt as INCLUDE_KEY, t as CONFIG_DIR, ut as openBoundaryFileSync, v as shortenHomeInString, w as danger, x as sliceUtf16Safe, y as shortenHomePath } from "./utils-CMEUUHmM.js";
4
4
  import { t as isBlockedObjectKey } from "./prototype-keys-CHjE1dyx.js";
5
5
  import { t as isPlainObject } from "./plain-object-DHRdTVMa.js";
6
6
  import { a as normalizeElevatedLevel, c as normalizeUsageDisplay, d as supportsXHighThinking, l as normalizeVerboseLevel, n as formatXHighModelHint, o as normalizeReasoningLevel, s as normalizeThinkLevel, t as formatThinkingLevels, u as resolveResponseUsageMode } from "./thinking-DDYFn78t.js";
7
- import { D as filterBootstrapFilesForSession, E as ensureAgentWorkspace, F as resolveAgentModelPrimaryValue, I as toAgentModelListLike, P as resolveAgentModelFallbackValues, _ as DEFAULT_AGENT_WORKSPACE_DIR, a as resolveAgentDir, b as DEFAULT_IDENTITY_FILENAME, d as resolveDefaultAgentId, f as resolveEffectiveModelFallbacks, 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, v as DEFAULT_BOOTSTRAP_FILENAME, y as DEFAULT_HEARTBEAT_FILENAME } from "./agent-scope-BAXIXdUR.js";
8
- import { m as defaultRuntime, p as createNonExitingRuntime, t as createSubsystemLogger } from "./subsystem-DRdkfGsB.js";
7
+ import { D as filterBootstrapFilesForSession, E as ensureAgentWorkspace, F as resolveAgentModelPrimaryValue, I as toAgentModelListLike, P as resolveAgentModelFallbackValues, _ as DEFAULT_AGENT_WORKSPACE_DIR, a as resolveAgentDir, b as DEFAULT_IDENTITY_FILENAME, d as resolveDefaultAgentId, f as resolveEffectiveModelFallbacks, 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, v as DEFAULT_BOOTSTRAP_FILENAME, y as DEFAULT_HEARTBEAT_FILENAME } from "./agent-scope-CWTkr4pS.js";
8
+ import { m as defaultRuntime, p as createNonExitingRuntime, t as createSubsystemLogger } from "./subsystem-DDZBycwS.js";
9
9
  import { A as isCronRunSessionKey, C as normalizeOptionalAccountId, D as deriveSessionChatType, E as WAKE_GATE_SESSION_KEY_SEGMENT, M as isSubagentSessionKey, N as parseAgentSessionKey, O as getSubagentDepth, P as resolveThreadParentSessionKey, S as normalizeAccountId$3, T as HEARTBEAT_SESSION_KEY_SEGMENT, _ as resolveThreadSessionKeys, a as classifySessionKeyShape, b as toAgentStoreSessionKey, d as normalizeAgentId, f as normalizeMainKey, g as resolveLinkedPeerIdForChannel, h as resolveConfiguredCanonicalIdentity, j as isCronSessionKey, k as isAcpSessionKey, l as isKnownAgentMainSessionKey, m as resolveCanonicalIdentity, p as resolveAgentIdFromSessionKey, r as buildAgentMainSessionKey, t as DEFAULT_AGENT_ID, u as isValidAgentId, v as sanitizeAgentId, w as BACKGROUND_SESSION_KEY_SEGMENT, x as DEFAULT_ACCOUNT_ID } from "./session-key-B1wN38jV.js";
10
- import { i as logWarn, n as logError, r as logInfo, t as logDebug } from "./logger-BCqJpXqF.js";
11
- import { n as runExec, r as spawnWithFallback, t as runCommandWithTimeout } from "./exec-Cg_eKCg0.js";
12
- import { n as resolveOpenClawPackageRoot } from "./openclaw-root-B2l0kAM1.js";
13
- import { $ as buildUsageWithNoCost, $n as isPathInside, $s as listDeliverableMessageChannels, $u as splitTrailingAuthProfile, Aa as parseDurationMs, Ai as capArrayByJsonBytes, Al as resolveSlackNativeStreaming, An as isWorkspaceRelativeAvatarPath, Ao as resolveTimezone, B as retryAsync, Ba as isJsonlSessionBackend, Bc as parseConfigPath, Bn as BUNDLED_ENABLED_BY_DEFAULT, Bo as resolveSessionResetPolicy, Br as registerPluginCommand, Bs as resolveChannelGroupRequireMention, Bt as validateConfigObjectWithPlugins, C as resolveThinkingDefault, Ci as deliveryContextKey, Co as createCurrentUserPromptEnvelope, Cr as addRegisteredPluginApi, Ct as resolveApiKeyForProfile, Dc as listBufferedPluginTaskPasses, Di as normalizeAccountId$4, Do as buildInboundUserContextPrefix, Ds as normalizeWhatsAppTarget, Ei as normalizeSessionDeliveryFields, En as isAvatarHttpUrl, Eo as buildInboundMetaSystemPrompt, Er as createPluginRegistry, Es as isWhatsAppGroupJid, Fc as getConfigOverrides, Fi as readFirstUserMessageFromTranscript, Fr as clearPluginCommands, Fs as listEnabledDiscordAccounts, Ft as readConfigFileSnapshot, Fu as withFileLock, Ga as hydrateSessionManagerFromDb, Gn as resolveEffectiveEnableState, Go as resolveFreshSessionTotalTokens, Gs as resolveGroupSessionKey, Ha as createPrimaryWriteInterceptor, Hc as unsetConfigValueAtPath, Hn as isBundledChannelEnabledByChannelConfig, Ho as resolveThreadFlag, Ht as TELEGRAM_COMMAND_NAME_PATTERN, Ic as resetConfigOverrides, Ii as readLastMessagePreviewFromBackend, In as loadPluginManifestRegistry, Io as resolveSessionKey, Ir as executePluginCommand, J as OLLAMA_NATIVE_BASE_URL, Jo as resolveAgentMainSessionKey, Jt as resolveIMessageAttachmentRoots, Ka as emitSessionTranscriptUpdate, Ko as setSessionRuntimeModel, Ks as INTERNAL_MESSAGE_CHANNEL, Kt as isInboundPathAllowed, La as resolveAndPersistSessionFile, Lc as setConfigOverride, Li as readLastMessagePreviewFromTranscript, Lo as evaluateSessionFreshness, Lr as getPluginCommandSpecs, Ls as resolveDiscordAccount, Ma as extractDeliveryInfo, Mc as RecoveryAdmissionError, Mn as resolveAvatarMime, Mr as normalizePluginHttpPath, Ms as resolveIMessageAccount, Mu as resolveAuthStorePathForDisplay, Na as parseSessionThreadInfo, Nn as validateJsonSchemaValue, Nr as buildPluginHealthReport, Ns as createDiscordActionGate, Nt as loadConfig, Nu as resolveOpenClawAgentDir, Ol as mapStreamingModeToSlackLegacyDraftStreamMode, On as isPathWithinRoot, Oo as formatUtcTimestamp, Pa as appendAssistantMessageToSessionTranscript, Pi as readFirstUserMessageFromBackend, Q as buildStreamErrorAssistantMessage, Qn as discoverOpenClawPlugins, Qo as deriveSessionMetaPatch, Rc as unsetConfigOverride, Rr as listPluginCommands, Rs as normalizeDiscordToken, Ru as resolveAuthProfileDisplayLabel, S as resolveSubagentSpawnModelSelection, Si as deliveryContextFromSession, Sl as applyMergePatch, So as sha256, Ss as listEnabledSignalAccounts, St as resolveProfilesUnavailableReason, Tc as discardBufferedPluginTaskPasses, Ti as normalizeDeliveryContext, Tn as isAvatarDataUrl, To as toJsonValue$1, Ts as resolveSignalAccount, Tu as ensureAuthProfileStore, Ua as drainPendingPrimaryWrites, Uo as DEFAULT_RESET_TRIGGERS, Us as resolveAccountEntry, Ut as normalizeTelegramCommandName, Uu as normalizeSecretInput, Vc as setConfigValueAtPath, Vn as applyTestPluginDefaults, Vo as resolveSessionResetType, Wa as DB_SESSION_HYDRATION_LIMIT, Wn as normalizePluginsConfig, Wo as mergeSessionEntry, Ws as buildGroupDisplayName, Wt as resolveTelegramCustomCommands, X as buildAssistantMessage, Xc as buildEnforcedShellCommand, Xi as parseInlineDirectives$1, Xo as resolveMainSessionKey, Xs as isInternalMessageChannel, Xt as normalizeScpRemoteHost, Xu as normalizeResolvedSecretInputString, Y as createOllamaStreamFn, Yo as resolveExplicitAgentSessionKey, Yr as triggerInternalHook, Ys as isGatewayMessageChannel, Yt as resolveIMessageRemoteAttachmentRoots, Z as buildAssistantMessageWithZeroUsage, Zs as isMarkdownCapableMessageChannel, Zt as parseNonNegativeByteSize, _ as resolveDefaultModelForAgent, _c as readTaskWorkStates, _i as updateLastRoute, _t as getSoonestCooldownExpiry, ac as GATEWAY_CLIENT_MODES, ai as isPreservationArmed, ar as CHAT_CHANNEL_ORDER, as as listChannelDocks, at as resolveEnvApiKey, b as resolveReasoningDefault, bi as isCacheEnabled, bs as resolveSlackAppToken, bt as markAuthProfileUsed, bu as markAuthProfileGood, c as modelKey, cs as listEnabledTelegramAccounts, cu as resolveAgentMaxConcurrent, d as normalizeProviderId, dc as normalizeHyphenSlug, di as recordSessionMetaFromInbound, dr as normalizeChannelId$1, ds as resolveTelegramAccount, ea as applyInputProvenanceToUserMessage, ec as normalizeMessageChannel, ed as DEFAULT_CONTEXT_TOKENS, er as safeStatSync, es as getChannelPlugin, et as getApiKeyForModel, fc as normalizeStringEntries, fs as resolveTelegramToken, fu as getShellPathFromLoginShell, g as resolveConfiguredModelRef, gc as resolveSessionLockMaxHoldFromTimeout, gi as syncConfiguredSessionTranscriptToRuntime, gr as getActivePluginRegistryKey, gt as resolveAuthProfileOrder, gu as resolveOwnerDisplaySetting, hr as getActivePluginRegistry, i as findNormalizedProviderValue, ic as GATEWAY_CLIENT_IDS, ii as getConfiguredSessionStorageRuntime, is as getChannelDock, jl as resolveSlackStreamingMode, jo as resolveSenderLabel, ka as writeJsonAtomic, kc as replaceBufferedPluginTaskPasses, ki as archiveSessionTranscripts, kl as resolveDiscordPreviewStreamMode, kn as isSupportedLocalAvatarExtension, ko as formatZonedTimestamp, ks as resolveWhatsAppAccount, l as normalizeModelRef$2, ls as listTelegramAccountIds, mc as acquireSessionWriteLock, mr as getActiveGatewayPluginRegistry, n as buildConfiguredAllowlistKeys, na as normalizeInputProvenance, nc as resolveMessageChannel, nd as DEFAULT_PROVIDER, ns as normalizeChannelId$2, nt as requireApiKey, o as inferUniqueProviderFromConfiguredModels, oc as GATEWAY_CLIENT_NAMES, oi as loadSessionStore, os as normalizeSignalMessagingTarget, ot as resolveModelAuthMode, p as parseModelRef, pc as normalizeStringEntriesLower, ps as buildChannelAccountBindings, pu as resolveShellEnvFallbackTimeoutMs, qa as onSessionTranscriptUpdate, qn as resolveMemorySlotDecision, qo as canonicalizeMainSessionAlias, qr as createInternalHookEvent, qs as isDeliverableMessageChannel, r as buildModelAliasIndex, ra as jsonUtf8Bytes, ri as getActivePreservationLease, rn as resolveExecPolicyPreset, rt as resolveApiKeyForProvider, s as isCliProvider, ss as createTelegramActionGate, su as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, t as buildAllowedModelSet, ta as hasInterSessionUserProvenance, tc as resolveGatewayMessageChannel, td as DEFAULT_MODEL, ts as listChannelPlugins, tt as getCustomProviderApiKey, uc as normalizeAtHashSlug, ui as readSessionUpdatedAt, ur as normalizeAnyChannelId, vi as updateSessionStore, vs as resolveSlackAccount, vt as isProfileInCooldown, vu as dedupeProfileIds, wi as mergeDeliveryContext, wn as AVATAR_MAX_BYTES, wo as mergePromptContributions, wr as clearRegisteredPluginApis, xi as resolveCacheTtlMs$1, xo as sanitizeJsonb, xr as setActivePluginRegistry, xs as resolveSlackBotToken, y as resolveModelRefFromString, yi as updateSessionStoreEntry, yr as requireActivePluginRegistry, ys as resolveSlackReplyToMode, yt as markAuthProfileFailure, yu as listProfilesForProvider, za as withPreservationWriterPermit, zc as getConfigValueAtPath, zo as resolveChannelResetConfig, zr as matchPluginCommand, zs as resolveChannelGroupPolicy, zt as writeConfigFile } from "./model-selection-C8GCtGby.js";
10
+ import { i as logWarn, n as logError, r as logInfo, t as logDebug } from "./logger-0VqfDbvM.js";
11
+ import { n as runExec, r as spawnWithFallback, t as runCommandWithTimeout } from "./exec-CHq-p5L0.js";
12
+ import { n as resolveOpenClawPackageRoot } from "./openclaw-root-BGUYWYDG.js";
13
+ import { $ as buildUsageWithNoCost, $n as isPathInside, $s as listDeliverableMessageChannels, $u as splitTrailingAuthProfile, Aa as parseDurationMs, Ai as capArrayByJsonBytes, Al as resolveSlackNativeStreaming, An as isWorkspaceRelativeAvatarPath, Ao as resolveTimezone, B as retryAsync, Ba as isJsonlSessionBackend, Bc as parseConfigPath, Bn as BUNDLED_ENABLED_BY_DEFAULT, Bo as resolveSessionResetPolicy, Br as registerPluginCommand, Bs as resolveChannelGroupRequireMention, Bt as validateConfigObjectWithPlugins, C as resolveThinkingDefault, Ci as deliveryContextKey, Co as createCurrentUserPromptEnvelope, Cr as addRegisteredPluginApi, Ct as resolveApiKeyForProfile, Dc as listBufferedPluginTaskPasses, Di as normalizeAccountId$4, Do as buildInboundUserContextPrefix, Ds as normalizeWhatsAppTarget, Ei as normalizeSessionDeliveryFields, En as isAvatarHttpUrl, Eo as buildInboundMetaSystemPrompt, Er as createPluginRegistry, Es as isWhatsAppGroupJid, Fc as getConfigOverrides, Fi as readFirstUserMessageFromTranscript, Fr as clearPluginCommands, Fs as listEnabledDiscordAccounts, Ft as readConfigFileSnapshot, Fu as withFileLock, Ga as hydrateSessionManagerFromDb, Gn as resolveEffectiveEnableState, Go as resolveFreshSessionTotalTokens, Gs as resolveGroupSessionKey, Ha as createPrimaryWriteInterceptor, Hc as unsetConfigValueAtPath, Hn as isBundledChannelEnabledByChannelConfig, Ho as resolveThreadFlag, Ht as TELEGRAM_COMMAND_NAME_PATTERN, Ic as resetConfigOverrides, Ii as readLastMessagePreviewFromBackend, In as loadPluginManifestRegistry, Io as resolveSessionKey, Ir as executePluginCommand, J as OLLAMA_NATIVE_BASE_URL, Jo as resolveAgentMainSessionKey, Jt as resolveIMessageAttachmentRoots, Ka as emitSessionTranscriptUpdate, Ko as setSessionRuntimeModel, Ks as INTERNAL_MESSAGE_CHANNEL, Kt as isInboundPathAllowed, La as resolveAndPersistSessionFile, Lc as setConfigOverride, Li as readLastMessagePreviewFromTranscript, Lo as evaluateSessionFreshness, Lr as getPluginCommandSpecs, Ls as resolveDiscordAccount, Ma as extractDeliveryInfo, Mc as RecoveryAdmissionError, Mn as resolveAvatarMime, Mr as normalizePluginHttpPath, Ms as resolveIMessageAccount, Mu as resolveAuthStorePathForDisplay, Na as parseSessionThreadInfo, Nn as validateJsonSchemaValue, Nr as buildPluginHealthReport, Ns as createDiscordActionGate, Nt as loadConfig, Nu as resolveOpenClawAgentDir, Ol as mapStreamingModeToSlackLegacyDraftStreamMode, On as isPathWithinRoot, Oo as formatUtcTimestamp, Pa as appendAssistantMessageToSessionTranscript, Pi as readFirstUserMessageFromBackend, Q as buildStreamErrorAssistantMessage, Qn as discoverOpenClawPlugins, Qo as deriveSessionMetaPatch, Rc as unsetConfigOverride, Rr as listPluginCommands, Rs as normalizeDiscordToken, Ru as resolveAuthProfileDisplayLabel, S as resolveSubagentSpawnModelSelection, Si as deliveryContextFromSession, Sl as applyMergePatch, So as sha256, Ss as listEnabledSignalAccounts, St as resolveProfilesUnavailableReason, Tc as discardBufferedPluginTaskPasses, Ti as normalizeDeliveryContext, Tn as isAvatarDataUrl, To as toJsonValue$1, Ts as resolveSignalAccount, Tu as ensureAuthProfileStore, Ua as drainPendingPrimaryWrites, Uo as DEFAULT_RESET_TRIGGERS, Us as resolveAccountEntry, Ut as normalizeTelegramCommandName, Uu as normalizeSecretInput, Vc as setConfigValueAtPath, Vn as applyTestPluginDefaults, Vo as resolveSessionResetType, Wa as DB_SESSION_HYDRATION_LIMIT, Wn as normalizePluginsConfig, Wo as mergeSessionEntry, Ws as buildGroupDisplayName, Wt as resolveTelegramCustomCommands, X as buildAssistantMessage, Xc as buildEnforcedShellCommand, Xi as parseInlineDirectives$1, Xo as resolveMainSessionKey, Xs as isInternalMessageChannel, Xt as normalizeScpRemoteHost, Xu as normalizeResolvedSecretInputString, Y as createOllamaStreamFn, Yo as resolveExplicitAgentSessionKey, Yr as triggerInternalHook, Ys as isGatewayMessageChannel, Yt as resolveIMessageRemoteAttachmentRoots, Z as buildAssistantMessageWithZeroUsage, Zs as isMarkdownCapableMessageChannel, Zt as parseNonNegativeByteSize, _ as resolveDefaultModelForAgent, _c as readTaskWorkStates, _i as updateLastRoute, _t as getSoonestCooldownExpiry, ac as GATEWAY_CLIENT_MODES, ai as isPreservationArmed, ar as CHAT_CHANNEL_ORDER, as as listChannelDocks, at as resolveEnvApiKey, b as resolveReasoningDefault, bi as isCacheEnabled, bs as resolveSlackAppToken, bt as markAuthProfileUsed, bu as markAuthProfileGood, c as modelKey, cs as listEnabledTelegramAccounts, cu as resolveAgentMaxConcurrent, d as normalizeProviderId, dc as normalizeHyphenSlug, di as recordSessionMetaFromInbound, dr as normalizeChannelId$1, ds as resolveTelegramAccount, ea as applyInputProvenanceToUserMessage, ec as normalizeMessageChannel, ed as DEFAULT_CONTEXT_TOKENS, er as safeStatSync, es as getChannelPlugin, et as getApiKeyForModel, fc as normalizeStringEntries, fs as resolveTelegramToken, fu as getShellPathFromLoginShell, g as resolveConfiguredModelRef, gc as resolveSessionLockMaxHoldFromTimeout, gi as syncConfiguredSessionTranscriptToRuntime, gr as getActivePluginRegistryKey, gt as resolveAuthProfileOrder, gu as resolveOwnerDisplaySetting, hr as getActivePluginRegistry, i as findNormalizedProviderValue, ic as GATEWAY_CLIENT_IDS, ii as getConfiguredSessionStorageRuntime, is as getChannelDock, jl as resolveSlackStreamingMode, jo as resolveSenderLabel, ka as writeJsonAtomic, kc as replaceBufferedPluginTaskPasses, ki as archiveSessionTranscripts, kl as resolveDiscordPreviewStreamMode, kn as isSupportedLocalAvatarExtension, ko as formatZonedTimestamp, ks as resolveWhatsAppAccount, l as normalizeModelRef$2, ls as listTelegramAccountIds, mc as acquireSessionWriteLock, mr as getActiveGatewayPluginRegistry, n as buildConfiguredAllowlistKeys, na as normalizeInputProvenance, nc as resolveMessageChannel, nd as DEFAULT_PROVIDER, ns as normalizeChannelId$2, nt as requireApiKey, o as inferUniqueProviderFromConfiguredModels, oc as GATEWAY_CLIENT_NAMES, oi as loadSessionStore, os as normalizeSignalMessagingTarget, ot as resolveModelAuthMode, p as parseModelRef, pc as normalizeStringEntriesLower, ps as buildChannelAccountBindings, pu as resolveShellEnvFallbackTimeoutMs, qa as onSessionTranscriptUpdate, qn as resolveMemorySlotDecision, qo as canonicalizeMainSessionAlias, qr as createInternalHookEvent, qs as isDeliverableMessageChannel, r as buildModelAliasIndex, ra as jsonUtf8Bytes, ri as getActivePreservationLease, rn as resolveExecPolicyPreset, rt as resolveApiKeyForProvider, s as isCliProvider, ss as createTelegramActionGate, su as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, t as buildAllowedModelSet, ta as hasInterSessionUserProvenance, tc as resolveGatewayMessageChannel, td as DEFAULT_MODEL, ts as listChannelPlugins, tt as getCustomProviderApiKey, uc as normalizeAtHashSlug, ui as readSessionUpdatedAt, ur as normalizeAnyChannelId, vi as updateSessionStore, vs as resolveSlackAccount, vt as isProfileInCooldown, vu as dedupeProfileIds, wi as mergeDeliveryContext, wn as AVATAR_MAX_BYTES, wo as mergePromptContributions, wr as clearRegisteredPluginApis, xi as resolveCacheTtlMs$1, xo as sanitizeJsonb, xr as setActivePluginRegistry, xs as resolveSlackBotToken, y as resolveModelRefFromString, yi as updateSessionStoreEntry, yr as requireActivePluginRegistry, ys as resolveSlackReplyToMode, yt as markAuthProfileFailure, yu as listProfilesForProvider, za as withPreservationWriterPermit, zc as getConfigValueAtPath, zo as resolveChannelResetConfig, zr as matchPluginCommand, zs as resolveChannelGroupPolicy, zt as writeConfigFile } from "./model-selection-k68XU4oS.js";
14
14
  import { a as saveJsonFile, i as loadJsonFile, r as resolveCopilotApiToken } from "./github-copilot-token-D9l3eOWF.js";
15
15
  import { t as parseBooleanValue$1 } from "./boolean-BsqeuxE6.js";
16
- import { t as isTruthyEnvValue } from "./env-DtoMyFfk.js";
16
+ import { t as isTruthyEnvValue } from "./env-ESh4ZX9l.js";
17
17
  import { t as VERSION } from "./version-D7fFgMO6.js";
18
18
  import { t as runTasksWithConcurrency } from "./run-with-concurrency-CJzkJoeg.js";
19
19
  import { c as optionalStringEnum, f as applyTargetToParams, l as stringEnum, m as actionRequiresTarget, o as channelTargetSchema, p as actionHasTarget, s as channelTargetsSchema } from "./retry-policy-BIRWkDiU.js";
20
20
  import { c as resolveSessionFilePath, l as resolveSessionFilePathOptions, m as resolveStorePath, s as resolveDefaultSessionStorePath, u as resolveSessionTranscriptPath } from "./artifacts-qv_OgPMd.js";
21
21
  import { n as resolveConversationLabel, r as normalizeChatType } from "./conversation-label-Bpw8crN9.js";
22
22
  import { t as formatCliCommand } from "./command-format-CGUNQYjt.js";
23
- import { a as parseSlackBlocksInput, c as createSlackWebClient, d as resolveSlackChannelId, i as normalizeSlackOutboundText, l as resolveSlackWebClientOptions, o as validateSlackBlocksArray, s as buildSlackBlocksFallbackText, t as sendMessageSlack, u as parseSlackTarget } from "./send-ZT3Ekuty.js";
24
- import { $ as fetchChannelPermissionsDiscord, A as unpinMessageDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as resolveTimestampMs, D as pinMessageDiscord, Dt as normalizeChannelSlug, E as listThreadsDiscord, Et as buildChannelKeyCandidates, F as fetchMemberInfoDiscord, G as uploadStickerDiscord, H as timeoutMemberDiscord, I as fetchRoleInfoDiscord, J as editChannelDiscord, K as createChannelDiscord, L as fetchVoiceStatusDiscord, M as banMemberDiscord, N as createScheduledEventDiscord, O as readMessagesDiscord, Ot as resolveChannelEntryMatchWithFallback, P as fetchChannelInfoDiscord, Q as stripUndefinedFields, R as kickMemberDiscord, S as deleteMessageDiscord, St as resolveDiscordSystemLocation, T as listPinsDiscord, Tt as applyChannelMatchMeta, U as listGuildEmojisDiscord, V as removeRoleDiscord, W as uploadEmojiDiscord, X as removeChannelPermissionDiscord, Y as moveChannelDiscord, Z as setChannelPermissionDiscord, _ as sendPollDiscord, _t as resolveDiscordShouldRequireMention, a as removeReactionDiscord, at as resolveDiscordChannelId, b as sendWebhookMessageDiscord, bt as formatDiscordReactionEmoji, c as formatDiscordComponentEventText, ct as isDiscordGroupAllowedByPolicy, d as parseDiscordModalCustomId, dt as resolveDiscordAllowListMatch, et as hasAnyGuildPermissionDiscord, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordChannelConfigWithFallback, g as sendMessageDiscord, gt as resolveDiscordOwnerAllowFrom, h as resolveDiscordModalEntry, ht as resolveDiscordOwnerAccess, i as removeOwnReactionsDiscord, it as parseDiscordTarget, j as addRoleDiscord, k as searchMessagesDiscord, l as parseDiscordComponentCustomId, lt as normalizeDiscordAllowList, m as resolveDiscordComponentEntry, mt as resolveDiscordMemberAccessState, n as fetchReactionsDiscord, nt as createDiscordRestClient, o as sendDiscordComponentMessage, ot as listDiscordDirectoryGroupsLive, p as readDiscordComponentSpec, pt as resolveDiscordGuildEntry, q as deleteChannelDiscord, r as reactMessageDiscord, rt as chunkDiscordTextWithMode, s as createDiscordFormModal, st as listDiscordDirectoryPeersLive, tt as createDiscordClient, u as parseDiscordComponentCustomIdForCarbon, ut as normalizeDiscordSlug, v as sendStickerDiscord, vt as resolveGroupDmAllow, w as fetchMessageDiscord, wt as fetchDiscord, x as createThreadDiscord, xt as formatDiscordUserTag, y as sendVoiceMessageDiscord, yt as shouldEmitDiscordReactionNotification, z as listGuildChannelsDiscord } from "./send-CgTUSkhw.js";
23
+ import { a as parseSlackBlocksInput, c as createSlackWebClient, d as resolveSlackChannelId, i as normalizeSlackOutboundText, l as resolveSlackWebClientOptions, o as validateSlackBlocksArray, s as buildSlackBlocksFallbackText, t as sendMessageSlack, u as parseSlackTarget } from "./send-BA9PXvuC.js";
24
+ import { $ as fetchChannelPermissionsDiscord, A as unpinMessageDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as resolveTimestampMs, D as pinMessageDiscord, Dt as normalizeChannelSlug, E as listThreadsDiscord, Et as buildChannelKeyCandidates, F as fetchMemberInfoDiscord, G as uploadStickerDiscord, H as timeoutMemberDiscord, I as fetchRoleInfoDiscord, J as editChannelDiscord, K as createChannelDiscord, L as fetchVoiceStatusDiscord, M as banMemberDiscord, N as createScheduledEventDiscord, O as readMessagesDiscord, Ot as resolveChannelEntryMatchWithFallback, P as fetchChannelInfoDiscord, Q as stripUndefinedFields, R as kickMemberDiscord, S as deleteMessageDiscord, St as resolveDiscordSystemLocation, T as listPinsDiscord, Tt as applyChannelMatchMeta, U as listGuildEmojisDiscord, V as removeRoleDiscord, W as uploadEmojiDiscord, X as removeChannelPermissionDiscord, Y as moveChannelDiscord, Z as setChannelPermissionDiscord, _ as sendPollDiscord, _t as resolveDiscordShouldRequireMention, a as removeReactionDiscord, at as resolveDiscordChannelId, b as sendWebhookMessageDiscord, bt as formatDiscordReactionEmoji, c as formatDiscordComponentEventText, ct as isDiscordGroupAllowedByPolicy, d as parseDiscordModalCustomId, dt as resolveDiscordAllowListMatch, et as hasAnyGuildPermissionDiscord, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordChannelConfigWithFallback, g as sendMessageDiscord, gt as resolveDiscordOwnerAllowFrom, h as resolveDiscordModalEntry, ht as resolveDiscordOwnerAccess, i as removeOwnReactionsDiscord, it as parseDiscordTarget, j as addRoleDiscord, k as searchMessagesDiscord, l as parseDiscordComponentCustomId, lt as normalizeDiscordAllowList, m as resolveDiscordComponentEntry, mt as resolveDiscordMemberAccessState, n as fetchReactionsDiscord, nt as createDiscordRestClient, o as sendDiscordComponentMessage, ot as listDiscordDirectoryGroupsLive, p as readDiscordComponentSpec, pt as resolveDiscordGuildEntry, q as deleteChannelDiscord, r as reactMessageDiscord, rt as chunkDiscordTextWithMode, s as createDiscordFormModal, st as listDiscordDirectoryPeersLive, tt as createDiscordClient, u as parseDiscordComponentCustomIdForCarbon, ut as normalizeDiscordSlug, v as sendStickerDiscord, vt as resolveGroupDmAllow, w as fetchMessageDiscord, wt as fetchDiscord, x as createThreadDiscord, xt as formatDiscordUserTag, y as sendVoiceMessageDiscord, yt as shouldEmitDiscordReactionNotification, z as listGuildChannelsDiscord } from "./send-DQQFc4N0.js";
25
25
  import { c as derivePromptTokens, d as makeZeroUsageSnapshot, f as normalizeUsage, l as deriveSessionTotalTokens, u as hasNonzeroUsage } from "./chat-envelope-DOpfcKGq.js";
26
26
  import { c as isDiagnosticsEnabled, s as emitDiagnosticEvent } from "./task-run-types-B5uIC1Y7.js";
27
- import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-DaLVcmyn.js";
28
- import { i as openFileWithinRoot, l as writeFileWithinRoot, n as copyFileWithinRoot, o as readFileWithinRoot, r as createRootScopedReadFile, t as SafeOpenError } from "./fs-safe-D3vN4fQ5.js";
27
+ import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-BSmwo1rT.js";
28
+ import { i as openFileWithinRoot, l as writeFileWithinRoot, n as copyFileWithinRoot, o as readFileWithinRoot, r as createRootScopedReadFile, t as SafeOpenError } from "./fs-safe-DD7KXuvI.js";
29
29
  import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-nliZzhkW.js";
30
- import { C as normalizeMediaUnderstandingChatType, O as CLI_OUTPUT_MAX_BUFFER, S as resolveTimeoutMs$1, a as resolveAutoImageModel, b as resolveConcurrency, f as stripCarriedTranscriptFromBody, g as registerUnhandledRejectionHandler, i as normalizeMediaAttachments, k as applyTemplate, n as buildProviderRegistry, o as resolveMediaAttachmentLocalRoots, p as buildRandomTempFilePath, r as createMediaAttachmentCache, s as runCapability, t as runAudioTranscription, v as resolveAttachmentKind, w as resolveMediaUnderstandingScope } from "./audio-transcription-runner-DbLu4y_x.js";
30
+ import { C as normalizeMediaUnderstandingChatType, O as CLI_OUTPUT_MAX_BUFFER, S as resolveTimeoutMs$1, a as resolveAutoImageModel, b as resolveConcurrency, f as stripCarriedTranscriptFromBody, g as registerUnhandledRejectionHandler, i as normalizeMediaAttachments, k as applyTemplate, n as buildProviderRegistry, o as resolveMediaAttachmentLocalRoots, p as buildRandomTempFilePath, r as createMediaAttachmentCache, s as runCapability, t as runAudioTranscription, v as resolveAttachmentKind, w as resolveMediaUnderstandingScope } from "./audio-transcription-runner-D-d42kdt.js";
31
31
  import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-DwpMsAKA.js";
32
- import { n as withStrictGuardedFetchMode, r as withTrustedEnvProxyGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-BCFGxdCb.js";
33
- import { c as normalizeHostname, i as isBlockedHostnameOrIp, t as SsrFBlockedError } from "./ssrf-BsWmJWfu.js";
34
- import { r as makeProxyFetch } from "./proxy-fetch-k-wYHddO.js";
32
+ import { n as withStrictGuardedFetchMode, r as withTrustedEnvProxyGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-CjyGDRXN.js";
33
+ import { c as normalizeHostname, i as isBlockedHostnameOrIp, t as SsrFBlockedError } from "./ssrf-B85AIIOO.js";
34
+ import { r as makeProxyFetch } from "./proxy-fetch-Czv8kxaL.js";
35
35
  import { t as resolveNetworkSsrFPolicy } from "./ssrf-config-BXebcnwh.js";
36
- import { A as isLikelyContextOverflowError, B as ensureSessionHeader, C as isAuthAssistantError, D as isContextOverflowError, E as isCompactionFailureError, F as parseImageSizeError, G as estimateBase64DecodedBytes, H as resolveBootstrapTotalMaxChars, I as sanitizeUserFacingText, L as isAuthPermanentErrorMessage, M as isRawApiErrorPayload, N as isTransientHttpError, O as isFailoverAssistantError, P as parseImageDimensionError, R as isTimeoutErrorMessage, S as getApiErrorPayloadFingerprint, T as isCloudCodeAssistFormatError, U as sanitizeGoogleTurnOrdering, V as resolveBootstrapMaxChars, W as canonicalizeBase64, _ as BILLING_ERROR_USER_MESSAGE, a as isMessagingToolDuplicateNormalized, b as formatBillingErrorMessage, c as sanitizeImageBlocks, d as extractToolCallsFromAssistant, f as extractToolResultId, g as isGoogleModelApi, h as downgradeOpenAIReasoningBlocks, j as isRateLimitAssistantError, k as isFailoverErrorMessage, l as sanitizeToolResultImages, m as downgradeOpenAIFunctionCallReasoningPairs, n as validateGeminiTurns, o as normalizeTextForComparison, p as sanitizeToolCallIdsForCloudCodeAssist, r as pickFallbackThinkingLevel, s as sanitizeSessionMessagesImages, t as validateAnthropicTurns, u as resolveImageSanitizationLimits, v as classifyFailoverReason, w as isBillingAssistantError, x as formatRawAssistantErrorForUi, y as formatAssistantErrorText, z as buildBootstrapContextFiles } from "./pi-embedded-helpers-DxQslB8x.js";
37
- import { a as readResponseWithLimit, i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, r as MediaFetchError, t as getAgentScopedMediaLocalRoots } from "./local-roots-DrpBY-AE.js";
38
- import { c as detectMime, d as imageMimeFromFormat, f as isAudioFileName, g as MAX_IMAGE_BYTES, i as getImageMetadata, l as extensionForMime, m as kindFromMime, p as isGifMedia, s as resizeToJpeg, v as mediaKindFromMime } from "./image-ops-D-__yDh-.js";
36
+ import { A as isLikelyContextOverflowError, B as ensureSessionHeader, C as isAuthAssistantError, D as isContextOverflowError, E as isCompactionFailureError, F as parseImageSizeError, G as estimateBase64DecodedBytes, H as resolveBootstrapTotalMaxChars, I as sanitizeUserFacingText, L as isAuthPermanentErrorMessage, M as isRawApiErrorPayload, N as isTransientHttpError, O as isFailoverAssistantError, P as parseImageDimensionError, R as isTimeoutErrorMessage, S as getApiErrorPayloadFingerprint, T as isCloudCodeAssistFormatError, U as sanitizeGoogleTurnOrdering, V as resolveBootstrapMaxChars, W as canonicalizeBase64, _ as BILLING_ERROR_USER_MESSAGE, a as isMessagingToolDuplicateNormalized, b as formatBillingErrorMessage, c as sanitizeImageBlocks, d as extractToolCallsFromAssistant, f as extractToolResultId, g as isGoogleModelApi, h as downgradeOpenAIReasoningBlocks, j as isRateLimitAssistantError, k as isFailoverErrorMessage, l as sanitizeToolResultImages, m as downgradeOpenAIFunctionCallReasoningPairs, n as validateGeminiTurns, o as normalizeTextForComparison, p as sanitizeToolCallIdsForCloudCodeAssist, r as pickFallbackThinkingLevel, s as sanitizeSessionMessagesImages, t as validateAnthropicTurns, u as resolveImageSanitizationLimits, v as classifyFailoverReason, w as isBillingAssistantError, x as formatRawAssistantErrorForUi, y as formatAssistantErrorText, z as buildBootstrapContextFiles } from "./pi-embedded-helpers-DEHXX7Dr.js";
37
+ import { a as readResponseWithLimit, i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, r as MediaFetchError, t as getAgentScopedMediaLocalRoots } from "./local-roots-_qt4-Ma5.js";
38
+ import { c as detectMime, d as imageMimeFromFormat, f as isAudioFileName, g as MAX_IMAGE_BYTES, i as getImageMetadata, l as extensionForMime, m as kindFromMime, p as isGifMedia, s as resizeToJpeg, v as mediaKindFromMime } from "./image-ops-DcqCZEUY.js";
39
39
  import { a as testRegexWithBoundedInput, i as compileSafeRegex, n as redactSensitiveText } from "./redact-CQtYLB4a.js";
40
40
  import { a as formatUncaughtError, c as readErrorName, i as formatErrorMessage, o as hasErrnoCode, r as formatErrorChainMessage, t as collectErrorGraphCandidates } from "./errors-z_JCBnTo.js";
41
- import { t as ensureOpenClawModelsJson } from "./models-config-CcPjsQTv.js";
42
- import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-C300CH2M.js";
43
- import { a as decodeDataUrl, i as coerceImageModelConfig, o as resolveProviderVisionModelFromConfig, r as coerceImageAssistantText, s as minimaxUnderstandImage } from "./provider-image-GVjHOAmk.js";
44
- import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-B9wn9y4o.js";
45
- import { a as formatReasoningMessage, d as stripThinkingTagsFromText, f as stripReasoningTagsFromText, h as extractTextFromChatContent, l as stripDowngradedToolCallText, m as isInsideCode, n as extractAssistantThinking, o as inferToolMetaFromArgs, p as findCodeRegions, s as isAssistantMessage, t as extractAssistantText$1, u as stripMinimaxToolCallXml } from "./pi-embedded-utils-39kuXd-l.js";
46
- import { C as resolveToolProfilePolicy, S as normalizeToolName, T as matchesAnyGlobPattern, _ as collectExplicitAllowlist, a as ensureSandboxWorkspaceForSession, b as stripPluginOnlyAllowlist, c as resolveSandboxRuntimeStatus, d as getBridgeAuthForPort, f as resolveSandboxConfigForAgent, g as buildPluginToolGroups, h as applyOwnerOnlyToolPolicy, o as resolveSandboxContext, v as expandPolicyWithPluginGroups, w as compileGlobPatterns, x as expandToolGroups, y as mergeAlsoAllowPolicy } from "./sandbox-BnwxiNjx.js";
47
- import { c as resolveExistingPathsWithinRoot, g as DEFAULT_AI_SNAPSHOT_MAX_CHARS, s as DEFAULT_UPLOAD_DIR } from "./extension-relay-auth-IPIDjhZx.js";
48
- import { i as isLoopbackHost, u as resolveClientIp } from "./ws-E-wJFDgg.js";
49
- import { r as trimToUndefined, t as resolveGatewayCredentialsFromConfig } from "./credentials-DgZP7kxk.js";
50
- import { a as resolveBrowserControlAuth } from "./server-context-qqDarnk8.js";
51
- import { a as resolveSkillsPromptForRun, d as resolveSandboxInputPath, h as applySkillEnvOverridesFromSnapshot, i as loadWorkspaceSkillEntries, l as assertMediaNotDataUrl, m as applySkillEnvOverrides, p as resolveSandboxedMediaSource, r as buildWorkspaceSkillSnapshot, u as assertSandboxPath } from "./skills-DT7dF3Z_.js";
52
- import { i as saveMediaBuffer, r as getMediaDir, t as MEDIA_MAX_BYTES } from "./store-BKJfMltr.js";
53
- import { r as resolveBrowserConfig } from "./trash-CYaie1Ci.js";
54
- import { s as resolveLsofCommandSync } from "./ports-CmgxsJei.js";
41
+ import { t as ensureOpenClawModelsJson } from "./models-config-Burwt3mB.js";
42
+ import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-C7itJJDM.js";
43
+ import { a as decodeDataUrl, i as coerceImageModelConfig, o as resolveProviderVisionModelFromConfig, r as coerceImageAssistantText, s as minimaxUnderstandImage } from "./provider-image-RxbXQIow.js";
44
+ import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-CfUi22Es.js";
45
+ import { a as formatReasoningMessage, d as stripThinkingTagsFromText, f as stripReasoningTagsFromText, h as extractTextFromChatContent, l as stripDowngradedToolCallText, m as isInsideCode, n as extractAssistantThinking, o as inferToolMetaFromArgs, p as findCodeRegions, s as isAssistantMessage, t as extractAssistantText$1, u as stripMinimaxToolCallXml } from "./pi-embedded-utils-BhOMYPQU.js";
46
+ import { C as resolveToolProfilePolicy, S as normalizeToolName, T as matchesAnyGlobPattern, _ as collectExplicitAllowlist, a as ensureSandboxWorkspaceForSession, b as stripPluginOnlyAllowlist, c as resolveSandboxRuntimeStatus, d as getBridgeAuthForPort, f as resolveSandboxConfigForAgent, g as buildPluginToolGroups, h as applyOwnerOnlyToolPolicy, o as resolveSandboxContext, v as expandPolicyWithPluginGroups, w as compileGlobPatterns, x as expandToolGroups, y as mergeAlsoAllowPolicy } from "./sandbox-Ft7cM-PQ.js";
47
+ import { c as resolveExistingPathsWithinRoot, g as DEFAULT_AI_SNAPSHOT_MAX_CHARS, s as DEFAULT_UPLOAD_DIR } from "./extension-relay-auth-C-1c9CZk.js";
48
+ import { i as isLoopbackHost, u as resolveClientIp } from "./ws-BuVK_u9S.js";
49
+ import { r as trimToUndefined, t as resolveGatewayCredentialsFromConfig } from "./credentials-Hn2dA0oB.js";
50
+ import { a as resolveBrowserControlAuth } from "./server-context-Dezs5R_M.js";
51
+ import { a as resolveSkillsPromptForRun, d as resolveSandboxInputPath, h as applySkillEnvOverridesFromSnapshot, i as loadWorkspaceSkillEntries, l as assertMediaNotDataUrl, m as applySkillEnvOverrides, p as resolveSandboxedMediaSource, r as buildWorkspaceSkillSnapshot, u as assertSandboxPath } from "./skills-Buc1RWDY.js";
52
+ import { i as saveMediaBuffer, r as getMediaDir, t as MEDIA_MAX_BYTES } from "./store-DoqX9VsZ.js";
53
+ import { r as resolveBrowserConfig } from "./trash-BcRk_NVC.js";
54
+ import { s as resolveLsofCommandSync } from "./ports-CX4cOSom.js";
55
55
  import { n as generateSecureUuid, t as generateSecureToken } from "./secure-random-C5PtFEje.js";
56
- import { n as formatToolSummary, r as resolveToolDisplay } from "./tool-display-CwPZlMoS.js";
57
- import { a as stripSilentToken, i as isSilentReplyText, n as SILENT_REPLY_TOKEN, r as isSilentReplyPrefixText, t as HEARTBEAT_TOKEN } from "./tokens-C6a47LiJ.js";
58
- import { _ as buildPluginRuntimeIdentity, a as toInternalMessageReceivedContext, b as resolveProviderRuntimeIdentity, c as toPluginMessageReceivedEvent, d as resolveOutboundSessionId, f as getGlobalHookRunner, g as promptBuildResultToContribution, i as toInternalMessagePreprocessedContext, l as fireAndForgetHook, n as createMessageSentEmitter, o as toInternalMessageTranscribedContext, p as initializeGlobalHookRunner, r as deriveInboundMessageHookContext, s as toPluginMessageContext, t as applyMessageSendingHook, u as buildOutboundSessionContext, v as buildPluginTurnIdentity, y as resolveProviderPromptCacheKey } from "./outbound-message-hooks-DOSD8zCU.js";
59
- import { a as resolveNativeSkillsEnabled, i as resolveNativeCommandsEnabled, n as isNativeCommandsExplicitlyDisabled, r as isRestartEnabled, t as isCommandFlagEnabled } from "./commands-CpMRpWle.js";
60
- import { a as listChatCommands, c as listNativeCommandSpecsForConfig, d as parseCommandArgs, f as resolveCommandArgChoices, h as shouldHandleTextCommands, i as isCommandEnabled, l as maybeResolveTextAlias, m as serializeCommandArgs, o as listChatCommandsForConfig, p as resolveCommandArgMenu, r as findCommandByNativeName, s as listNativeCommandSpecs, t as buildCommandTextFromArgs, u as normalizeCommandBody } from "./commands-registry-DY2vMgw6.js";
56
+ import { n as formatToolSummary, r as resolveToolDisplay } from "./tool-display-D63I3y22.js";
57
+ import { a as stripSilentToken, i as isSilentReplyText, n as SILENT_REPLY_TOKEN, r as isSilentReplyPrefixText, t as HEARTBEAT_TOKEN } from "./tokens-BvecxQYg.js";
58
+ import { _ as buildPluginRuntimeIdentity, a as toInternalMessageReceivedContext, b as resolveProviderRuntimeIdentity, c as toPluginMessageReceivedEvent, d as resolveOutboundSessionId, f as getGlobalHookRunner, g as promptBuildResultToContribution, i as toInternalMessagePreprocessedContext, l as fireAndForgetHook, n as createMessageSentEmitter, o as toInternalMessageTranscribedContext, p as initializeGlobalHookRunner, r as deriveInboundMessageHookContext, s as toPluginMessageContext, t as applyMessageSendingHook, u as buildOutboundSessionContext, v as buildPluginTurnIdentity, y as resolveProviderPromptCacheKey } from "./outbound-message-hooks-t1DDjQX_.js";
59
+ import { a as resolveNativeSkillsEnabled, i as resolveNativeCommandsEnabled, n as isNativeCommandsExplicitlyDisabled, r as isRestartEnabled, t as isCommandFlagEnabled } from "./commands-tFdLuF5k.js";
60
+ import { a as listChatCommands, c as listNativeCommandSpecsForConfig, d as parseCommandArgs, f as resolveCommandArgChoices, h as shouldHandleTextCommands, i as isCommandEnabled, l as maybeResolveTextAlias, m as serializeCommandArgs, o as listChatCommandsForConfig, p as resolveCommandArgMenu, r as findCommandByNativeName, s as listNativeCommandSpecs, t as buildCommandTextFromArgs, u as normalizeCommandBody } from "./commands-registry-BMswme6t.js";
61
61
  import { t as redactIdentifier } from "./redact-identifier-CSPL9LuH.js";
62
62
  import { a as AcpRuntimeError, i as ACP_ERROR_CODES, n as requireAcpRuntimeBackend, o as toAcpRuntimeError, r as waitForAcpRuntimeBackendHealthy, s as withAcpRuntimeErrorBoundary, t as getAcpRuntimeBackend } from "./registry-D9ygkK-J.js";
63
- import { c as enqueueAgentTurn, d as mergeDelayedAgentTurn, f as peekDelayedAgentTurn, i as agentTurnIdempotencyKey, l as isClaimableAgentTurnWorkId, m as KeyedAsyncQueue, o as clearDelayedReleaseHold, p as setDelayedReleaseHold } from "./agent-turn-enqueue-BQ4JOmUN.js";
64
- import { t as GatewayClient, yn as SESSION_LABEL_MAX_LENGTH } from "./client-MNVuOIDb.js";
63
+ import { c as enqueueAgentTurn, d as mergeDelayedAgentTurn, f as peekDelayedAgentTurn, i as agentTurnIdempotencyKey, l as isClaimableAgentTurnWorkId, m as KeyedAsyncQueue, o as clearDelayedReleaseHold, p as setDelayedReleaseHold } from "./agent-turn-enqueue-Dwz_R_DW.js";
64
+ import { t as GatewayClient, yn as SESSION_LABEL_MAX_LENGTH } from "./client-BbpMX08n.js";
65
65
  import { n as docsSiteUrl, t as DOCS_SITE_URL } from "./docs-site-CQKzDXJz.js";
66
- import { b as resolveLeastPrivilegeOperatorScopesForMethod, i as callGatewayLeastPrivilege, n as callGateway, s as randomIdempotencyKey, t as buildGatewayConnectionDetails } from "./call-CMjUSitZ.js";
66
+ import { b as resolveLeastPrivilegeOperatorScopesForMethod, i as callGatewayLeastPrivilege, n as callGateway, s as randomIdempotencyKey, t as buildGatewayConnectionDetails } from "./call-Cl6Q0T5z.js";
67
67
  import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-CY39qjQT.js";
68
68
  import { n as formatTimeAgo } from "./format-relative-cIsCN8mB.js";
69
- import { c as readJsonFileWithFallback, d as listPairingChannels, i as readChannelAllowFromStore, l as writeJsonFileAtomically, o as removeChannelAllowFromStoreEntry, s as upsertChannelPairingRequest, t as addChannelAllowFromStoreEntry } from "./pairing-store-CL-UFd1J.js";
70
- import { a as maxAsk, d as requiresExecApproval, f as resolveExecApprovals, n as addAllowlistEntry, p as resolveExecApprovalsFromFile, s as minSecurity, u as recordAllowlistUse } from "./exec-approvals-C-_jrhwb.js";
71
- import { n as evaluateShellAllowlist, r as resolveAllowAlwaysPatterns } from "./exec-approvals-allowlist-B2foVOBU.js";
72
- import { n as resolveExecSafeBinRuntimePolicy, r as resolveMergedSafeBinProfileFixtures } from "./exec-safe-bin-runtime-policy-CfsF46fx.js";
73
- import { C as mergePathPrepend, S as findPathKey, a as canvasSnapshotTempPath, b as buildNodeShellCommand, c as parseCameraClipPayload, d as writeCameraClipPayloadToFile, f as writeCameraPayloadToFile, i as parseEnvPairs, l as parseCameraSnapPayload, n as screenRecordTempPath, o as parseCanvasSnapshotPayload, p as parsePreparedSystemRunPayload, r as writeScreenRecordToFile, s as cameraTempPath, t as parseScreenRecordPayload, u as writeBase64ToFile, w as normalizePathPrepend, x as applyPathPrepend } from "./nodes-screen-Bu5K5Iky.js";
69
+ import { c as readJsonFileWithFallback, d as listPairingChannels, i as readChannelAllowFromStore, l as writeJsonFileAtomically, o as removeChannelAllowFromStoreEntry, s as upsertChannelPairingRequest, t as addChannelAllowFromStoreEntry } from "./pairing-store-CQ7fjFFo.js";
70
+ import { a as maxAsk, d as requiresExecApproval, f as resolveExecApprovals, n as addAllowlistEntry, p as resolveExecApprovalsFromFile, s as minSecurity, u as recordAllowlistUse } from "./exec-approvals-D8Tqfo34.js";
71
+ import { n as evaluateShellAllowlist, r as resolveAllowAlwaysPatterns } from "./exec-approvals-allowlist-0xON2SZW.js";
72
+ import { n as resolveExecSafeBinRuntimePolicy, r as resolveMergedSafeBinProfileFixtures } from "./exec-safe-bin-runtime-policy-KSPaR73B.js";
73
+ import { C as mergePathPrepend, S as findPathKey, a as canvasSnapshotTempPath, b as buildNodeShellCommand, c as parseCameraClipPayload, d as writeCameraClipPayloadToFile, f as writeCameraPayloadToFile, i as parseEnvPairs, l as parseCameraSnapPayload, n as screenRecordTempPath, o as parseCanvasSnapshotPayload, p as parsePreparedSystemRunPayload, r as writeScreenRecordToFile, s as cameraTempPath, t as parseScreenRecordPayload, u as writeBase64ToFile, w as normalizePathPrepend, x as applyPathPrepend } from "./nodes-screen-BRZLdw3g.js";
74
74
  import { t as killProcessTree$1 } from "./kill-tree-BMza2Svy.js";
75
- import { n as formatExecCommand } from "./system-run-command-uuNBjw5D.js";
75
+ import { n as formatExecCommand } from "./system-run-command-AF8TLlEl.js";
76
76
  import { i as parsePairingList, n as resolveNodeIdFromNodeList, r as parseNodeList, t as resolveNodeFromNodeList } from "./node-resolve-BeyCAGYI.js";
77
77
  import { i as formatDurationSeconds, r as formatDurationPrecise, t as formatDurationCompact$1 } from "./format-duration-XLSvPvzN.js";
78
78
  import { d as redactChannelCorrelation, o as getDiagnosticSessionState } from "./diagnostic-session-state-C6JXU3l4.js";
79
- import { C as logToolExecutionStarted, D as recordSystemPromptHashComparison, E as logWebhookReceived, F as resetCommandPollCount, M as stopDiagnosticHeartbeat, N as boundDiagnosticContent, O as refreshRunProgress, P as recordCommandPoll, S as logToolExecutionCompleted, T as logWebhookProcessed, c as logMessageQueued, f as logRunCompleted, j as startDiagnosticHeartbeat, m as logSessionStateChange, p as logRunStarted, s as logMessageProcessed, u as logModelCallError, w as logWebhookError, x as logToolExecutionBlocked } from "./diagnostic-BRYj59Hw.js";
79
+ import { C as logToolExecutionStarted, D as recordSystemPromptHashComparison, E as logWebhookReceived, F as resetCommandPollCount, M as stopDiagnosticHeartbeat, N as boundDiagnosticContent, O as refreshRunProgress, P as recordCommandPoll, S as logToolExecutionCompleted, T as logWebhookProcessed, c as logMessageQueued, f as logRunCompleted, j as startDiagnosticHeartbeat, m as logSessionStateChange, p as logRunStarted, s as logMessageProcessed, u as logModelCallError, w as logWebhookError, x as logToolExecutionBlocked } from "./diagnostic-BTSirPP0.js";
80
80
  import { t as CommandLane } from "./lanes-DA0g5tPR.js";
81
- import { C as endModelCall, D as onAgentEvent, O as registerAgentRunContext, S as createInlineCodeState, T as emitAgentEvent, _ as handleMessageEnd, b as emitEmbeddedAgentEvent, g as waitForEmbeddedPiRunEnd, h as setActiveEmbeddedRun, i as endInFlightEmbeddedAttempt, n as beginInFlightEmbeddedAttempt, p as queueEmbeddedPiMessage, r as clearActiveEmbeddedRun, s as isEmbeddedPiRunActive, t as abortEmbeddedPiRun, u as isEmbeddedPiRunStreaming, v as handleMessageStart, w as clearAgentRunContext, x as buildCodeSpanIndex, y as handleMessageUpdate } from "./runs-B3mLUDEo.js";
82
- import { i as enqueueCommandInLane, n as clearCommandLane, o as getCommandLaneSnapshots, s as getQueueSize, t as CommandLaneAbortedError } from "./command-queue-Banup9vQ.js";
83
- import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-Cur1savb.js";
84
- import { _ as resolveReplyToMode, a as normalizeOutboundPayloadsForJson, b as normalizeTargetForProvider, c as loadChannelOutboundAdapter, d as filterMessagingToolDuplicates, f as filterMessagingToolMediaDuplicates, g as createReplyToModeFilterForChannel, h as shouldSuppressReasoningPayload, i as normalizeOutboundPayloads, l as applyReplyTagsToPayload, m as shouldSuppressMessagingToolReplies, o as normalizeReplyPayloadsForDelivery, p as isRenderablePayload, r as formatOutboundPayloadLog, s as throwIfAborted, t as deliverOutboundPayloads, u as applyReplyThreading, v as buildTargetResolverSignature, y as normalizeChannelTargetInput } from "./deliver-BpzzrBKl.js";
85
- import { a as getMachineDisplayName, i as startBrowserControlServiceFromConfig, n as createBrowserRouteDispatcher, r as createBrowserControlContext, t as withTimeout$4 } from "./with-timeout-6n6HxT65.js";
86
- import { $ as resolveTelegramMediaPlaceholder, A as recordUpdate, B as buildTelegramGroupFrom, C as renderTelegramHtmlText, D as getTelegramFleetSupervisor, E as fingerprintTelegramToken, F as splitTelegramCaption, G as describeReplyTarget, H as buildTelegramParentPeer, I as withTelegramApiErrorLogging, J as hasBotMention, K as expandTextLinks, L as buildGroupLabel, M as registerAccount, N as releaseAccountOwner, O as recordApiRequest, P as resolveTelegramFetch, Q as resolveTelegramGroupAllowFromContext, R as buildSenderLabel, S as markdownToTelegramHtml, U as buildTelegramThreadParams, V as buildTelegramGroupPeerId, W as buildTypingThreadParams, X as resolveTelegramDirectPeerId, Y as normalizeForwardedContext, Z as resolveTelegramForumThreadId, _ as isRecoverableTelegramNetworkError, a as reactMessageTelegram, at as normalizeDmAllowFromWithStore$1, b as isTelegramEditMayHaveLandedError, c as sendStickerTelegram, ct as toLocationContext, d as loadCronStore, dt as resolveTelegramTargetChatType, et as resolveTelegramReplyId, f as resolveCronStorePath, g as isDefiniteTelegramRequestNonDeliveryError, h as extractTelegramErrorText, i as editMessageTelegram, it as normalizeAllowFrom$2, j as recordWebhook, k as recordState, lt as isVoiceCompatibleAudio, m as wasSentByBot, n as createForumTopicTelegram, nt as resolveTelegramThreadSpec, o as sendMessageTelegram, ot as resolveSenderAllowMatch$1, q as extractTelegramLocation, r as deleteMessageTelegram, rt as isSenderAllowed$1, s as sendPollTelegram, st as formatLocationText, t as buildInlineKeyboard, tt as resolveTelegramStreamMode, u as resolveTelegramVoiceSend, ut as parseTelegramTarget, v as isSafeToRetrySendError, w as wrapFileReferencesInHtml, x as markdownToTelegramChunks, y as isTelegramClientRejection, z as buildSenderName } from "./send-DweRAIgI.js";
87
- import { i as buildModelAliasLines, n as resolveModel } from "./model-CR-oCFb_.js";
88
- import { n as resolveLearningWorkspaceDir, t as resolveSessionConsumerAgentIds } from "./session-consumer-agents-D_hiCJHw.js";
81
+ import { C as endModelCall, D as onAgentEvent, O as registerAgentRunContext, S as createInlineCodeState, T as emitAgentEvent, _ as handleMessageEnd, b as emitEmbeddedAgentEvent, g as waitForEmbeddedPiRunEnd, h as setActiveEmbeddedRun, i as endInFlightEmbeddedAttempt, n as beginInFlightEmbeddedAttempt, p as queueEmbeddedPiMessage, r as clearActiveEmbeddedRun, s as isEmbeddedPiRunActive, t as abortEmbeddedPiRun, u as isEmbeddedPiRunStreaming, v as handleMessageStart, w as clearAgentRunContext, x as buildCodeSpanIndex, y as handleMessageUpdate } from "./runs-Yajg-SST.js";
82
+ import { i as enqueueCommandInLane, n as clearCommandLane, o as getCommandLaneSnapshots, s as getQueueSize, t as CommandLaneAbortedError } from "./command-queue-B1RxJ6bM.js";
83
+ import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-D0xrt6Z-.js";
84
+ import { _ as resolveReplyToMode, a as normalizeOutboundPayloadsForJson, b as normalizeTargetForProvider, c as loadChannelOutboundAdapter, d as filterMessagingToolDuplicates, f as filterMessagingToolMediaDuplicates, g as createReplyToModeFilterForChannel, h as shouldSuppressReasoningPayload, i as normalizeOutboundPayloads, l as applyReplyTagsToPayload, m as shouldSuppressMessagingToolReplies, o as normalizeReplyPayloadsForDelivery, p as isRenderablePayload, r as formatOutboundPayloadLog, s as throwIfAborted, t as deliverOutboundPayloads, u as applyReplyThreading, v as buildTargetResolverSignature, y as normalizeChannelTargetInput } from "./deliver-Bhlx9VG9.js";
85
+ import { a as getMachineDisplayName, i as startBrowserControlServiceFromConfig, n as createBrowserRouteDispatcher, r as createBrowserControlContext, t as withTimeout$4 } from "./with-timeout-NhJMC1fC.js";
86
+ import { $ as resolveTelegramMediaPlaceholder, A as recordUpdate, B as buildTelegramGroupFrom, C as renderTelegramHtmlText, D as getTelegramFleetSupervisor, E as fingerprintTelegramToken, F as splitTelegramCaption, G as describeReplyTarget, H as buildTelegramParentPeer, I as withTelegramApiErrorLogging, J as hasBotMention, K as expandTextLinks, L as buildGroupLabel, M as registerAccount, N as releaseAccountOwner, O as recordApiRequest, P as resolveTelegramFetch, Q as resolveTelegramGroupAllowFromContext, R as buildSenderLabel, S as markdownToTelegramHtml, U as buildTelegramThreadParams, V as buildTelegramGroupPeerId, W as buildTypingThreadParams, X as resolveTelegramDirectPeerId, Y as normalizeForwardedContext, Z as resolveTelegramForumThreadId, _ as isRecoverableTelegramNetworkError, a as reactMessageTelegram, at as normalizeDmAllowFromWithStore$1, b as isTelegramEditMayHaveLandedError, c as sendStickerTelegram, ct as toLocationContext, d as loadCronStore, dt as resolveTelegramTargetChatType, et as resolveTelegramReplyId, f as resolveCronStorePath, g as isDefiniteTelegramRequestNonDeliveryError, h as extractTelegramErrorText, i as editMessageTelegram, it as normalizeAllowFrom$2, j as recordWebhook, k as recordState, lt as isVoiceCompatibleAudio, m as wasSentByBot, n as createForumTopicTelegram, nt as resolveTelegramThreadSpec, o as sendMessageTelegram, ot as resolveSenderAllowMatch$1, q as extractTelegramLocation, r as deleteMessageTelegram, rt as isSenderAllowed$1, s as sendPollTelegram, st as formatLocationText, t as buildInlineKeyboard, tt as resolveTelegramStreamMode, u as resolveTelegramVoiceSend, ut as parseTelegramTarget, v as isSafeToRetrySendError, w as wrapFileReferencesInHtml, x as markdownToTelegramChunks, y as isTelegramClientRejection, z as buildSenderName } from "./send-Cy2xiH02.js";
87
+ import { i as buildModelAliasLines, n as resolveModel } from "./model-BI6n6kVo.js";
88
+ import { n as resolveLearningWorkspaceDir, t as resolveSessionConsumerAgentIds } from "./session-consumer-agents-DWh7Mygv.js";
89
89
  import { i as resolveModelCostConfig, n as formatTokenCount$2, r as formatUsd, t as estimateUsageCost } from "./usage-format-F-4FwfCE.js";
90
90
  import { n as isSafeFenceBreak, r as parseFenceSpans, t as findFenceSpanAt } from "./fences-BiHXyT3j.js";
91
- import { a as chunkText, c as resolveChunkDelivery, d as resolveTextChunkLimit, i as chunkMarkdownTextWithMode, l as resolveChunkMode, o as chunkTextWithMode, r as chunkMarkdownText, t as chunkByNewline, u as resolveChunkNewlinePacking } from "./chunk-BTTi6And.js";
92
- import { n as resolveMarkdownTableMode } from "./markdown-tables-pIjKFnaZ.js";
93
- import { a as loadWebMedia, i as getDefaultLocalRoots, o as loadWebMediaRaw } from "./ir-D--2OWCl.js";
94
- import { n as splitMediaFromOutput, t as parseReplyDirectives } from "./reply-directives-HkwESo_w.js";
95
- import { n as resolveMessageChannelSelection, t as listConfiguredMessageChannels } from "./channel-selection-WlHA0Mjg.js";
96
- import { n as recordChannelActivity, o as normalizePollInput, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-etjAZzDh.js";
97
- import { i as applyPluginAutoEnable, r as resolveTelegramPollingTimeout } from "./polling-timeout-DQakFlgy.js";
98
- import { a as resolveSignalRpcContext, c as streamSignalEvents, n as sendReadReceiptSignal, o as signalCheck, r as sendTypingSignal, s as signalRpcRequest, t as sendMessageSignal } from "./send-DkVvmrg9.js";
91
+ import { a as chunkText, c as resolveChunkDelivery, d as resolveTextChunkLimit, i as chunkMarkdownTextWithMode, l as resolveChunkMode, o as chunkTextWithMode, r as chunkMarkdownText, t as chunkByNewline, u as resolveChunkNewlinePacking } from "./chunk-BDQQgsxn.js";
92
+ import { n as resolveMarkdownTableMode } from "./markdown-tables-BEZ0s08w.js";
93
+ import { a as loadWebMedia, i as getDefaultLocalRoots, o as loadWebMediaRaw } from "./ir-DDAVSgbQ.js";
94
+ import { n as splitMediaFromOutput, t as parseReplyDirectives } from "./reply-directives-D5wW1el3.js";
95
+ import { n as resolveMessageChannelSelection, t as listConfiguredMessageChannels } from "./channel-selection-zg0Iqza4.js";
96
+ import { n as recordChannelActivity, o as normalizePollInput, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-CE3dhlxR.js";
97
+ import { i as applyPluginAutoEnable, r as resolveTelegramPollingTimeout } from "./polling-timeout-lNYd7owP.js";
98
+ import { a as resolveSignalRpcContext, c as streamSignalEvents, n as sendReadReceiptSignal, o as signalCheck, r as sendTypingSignal, s as signalRpcRequest, t as sendMessageSignal } from "./send-9toI8d1j.js";
99
99
  import { t as buildOutboundMediaLoadOptions } from "./load-options-Ct6g-e1R.js";
100
- import { a as formatIMessageChatTarget, c as parseIMessageTarget, i as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, o as isAllowedIMessageSender, r as createIMessageRpcClient, s as normalizeIMessageHandle, t as sendMessageIMessage } from "./send-BXSNB2Gu.js";
101
- import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-C7CVSjFi.js";
100
+ import { a as formatIMessageChatTarget, c as parseIMessageTarget, i as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, o as isAllowedIMessageSender, r as createIMessageRpcClient, s as normalizeIMessageHandle, t as sendMessageIMessage } from "./send-26KAC8EW.js";
101
+ import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-DnhX9nWr.js";
102
102
  import { n as isSenderIdAllowed, r as mergeDmAllowFromSources, t as firstDefined$1 } from "./allow-from-CSMqKzZa.js";
103
- import { a as resolveSubagentToolPolicy, c as readStoreAllowFromForDmPolicy, d as resolvePinnedMainDmOwnerFromAllowlist, f as resolveCommandAuthorizedFromAuthorizers, i as resolveGroupToolPolicy, n as isToolAllowedByPolicies, p as resolveControlCommandGate, r as resolveEffectiveToolPolicy, s as DM_GROUP_ACCESS_REASON, t as filterToolsByPolicy, u as resolveDmGroupAccessWithLists } from "./pi-tools.policy-BViSZbge.js";
104
- import { t as convertMarkdownTables } from "./tables-CI3gYRvQ.js";
105
- import { t as createTelegramPollingTransport } from "./proxy-XUweXx3b.js";
103
+ import { a as resolveSubagentToolPolicy, c as readStoreAllowFromForDmPolicy, d as resolvePinnedMainDmOwnerFromAllowlist, f as resolveCommandAuthorizedFromAuthorizers, i as resolveGroupToolPolicy, n as isToolAllowedByPolicies, p as resolveControlCommandGate, r as resolveEffectiveToolPolicy, s as DM_GROUP_ACCESS_REASON, t as filterToolsByPolicy, u as resolveDmGroupAccessWithLists } from "./pi-tools.policy-4GqIom7_.js";
104
+ import { t as convertMarkdownTables } from "./tables-CzW-cMQN.js";
105
+ import { t as createTelegramPollingTransport } from "./proxy-Df2WAHRA.js";
106
106
  import { n as isDangerousNameMatchingEnabled } from "./dangerous-name-matching-BtJNZJcz.js";
107
- import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-Bg8KJkdJ.js";
107
+ import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-DoejQAqN.js";
108
108
  import { t as withTimeout$5 } from "./with-timeout-Dd0HqRl4.js";
109
- import { b as ensureSkillsWatcher, i as resolveSkillCommandInvocation, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, r as listSkillCommandsForWorkspace, t as listReservedChatSlashCommandNames, x as getSkillsSnapshotVersion } from "./skill-commands-D0sJs3ds.js";
110
- import { i as AGENT_LANE_SUBAGENT, r as AGENT_LANE_NESTED, t as startUserSessionRun } from "./user-run-recording-DjkX5Mx3.js";
111
- import { s as resolveCommandSecretRefsViaGateway, t as getAgentRuntimeCommandSecretTargetIds } from "./command-secret-targets-84-Vq1Kn.js";
112
- import { o as resolveSessionRunStore, r as inferSessionRunKind, t as createSessionRunRecorder } from "./recorder-B9RfsO1r.js";
113
- import { r as detectBinary } from "./onboard-helpers-Dxgs6IKs.js";
114
- import { t as resolvePairingIdLabel } from "./pairing-labels-BCnxr7Pt.js";
115
- import { t as recordInboundSessionMetaSafe } from "./session-meta-CXWLeYOC.js";
116
- import { i as getAgentTurnRuntime, o as tryGetAgentTurnRuntime } from "./agent-turn-runner-BGmkN_A8.js";
117
- import { i as resolveMemoryBackendConfig, n as registerMemoryCli, r as getMemorySearchManager } from "./memory-cli-CFyBR_Pp.js";
118
- import { r as resolveMemorySearchConfig } from "./manager-LX1QQ8aK.js";
109
+ import { b as ensureSkillsWatcher, i as resolveSkillCommandInvocation, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, r as listSkillCommandsForWorkspace, t as listReservedChatSlashCommandNames, x as getSkillsSnapshotVersion } from "./skill-commands-Be2Bqqsm.js";
110
+ import { i as AGENT_LANE_SUBAGENT, r as AGENT_LANE_NESTED, t as startUserSessionRun } from "./user-run-recording-CTVI96gC.js";
111
+ import { s as resolveCommandSecretRefsViaGateway, t as getAgentRuntimeCommandSecretTargetIds } from "./command-secret-targets-DtDJB3vv.js";
112
+ import { o as resolveSessionRunStore, r as inferSessionRunKind, t as createSessionRunRecorder } from "./recorder-BntUAL0_.js";
113
+ import { r as detectBinary } from "./onboard-helpers-ziqfw3UR.js";
114
+ import { t as resolvePairingIdLabel } from "./pairing-labels-CGUWaZ3f.js";
115
+ import { t as recordInboundSessionMetaSafe } from "./session-meta-DzjDKcgW.js";
116
+ import { i as getAgentTurnRuntime, o as tryGetAgentTurnRuntime } from "./agent-turn-runner-DFZxbjaC.js";
117
+ import { i as resolveMemoryBackendConfig, n as registerMemoryCli, r as getMemorySearchManager } from "./memory-cli-DZyEfnsr.js";
118
+ import { r as resolveMemorySearchConfig } from "./manager-DehDxi2A.js";
119
119
  import { i as parseAbsoluteTimeMs, r as resolveDefaultCronStaggerMs, t as normalizeCronStaggerMs } from "./stagger-BIZMWR_z.js";
120
- import { a as normalizeHttpWebhookUrl, o as inferLegacyName, r as isPipelineHeartbeatInFlight } from "./heartbeat-tick-RHab8Aje.js";
120
+ import { a as normalizeHttpWebhookUrl, o as inferLegacyName, r as isPipelineHeartbeatInFlight } from "./heartbeat-tick-CsyeD75h.js";
121
121
  import { p as resolveGatewaySystemdServiceName, u as resolveGatewayLaunchAgentLabel } from "./constants-CDczneMo.js";
122
122
  import { t as parseTimeoutMs } from "./parse-timeout-DrSLkPL_.js";
123
123
  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-Bcqt3nbu.js";
124
- import { t as redactConfigObject } from "./redact-snapshot-BtpCwP1X.js";
124
+ import { t as redactConfigObject } from "./redact-snapshot-Cm6wsMRx.js";
125
125
  import { n as loadCostUsageSummary, r as loadSessionCostSummary } from "./session-cost-usage-pjXSgi_U.js";
126
126
  import { createRequire } from "node:module";
127
127
  import { fileURLToPath } from "node:url";
@@ -129,7 +129,7 @@ import fs, { existsSync, mkdirSync, mkdtempSync, promises, readFileSync, renameS
129
129
  import os, { homedir } from "node:os";
130
130
  import path, { basename, isAbsolute } from "node:path";
131
131
  import JSON5 from "json5";
132
- import fsPromises from "node:fs/promises";
132
+ import fs$1 from "node:fs/promises";
133
133
  import { inspect } from "node:util";
134
134
  import { execFileSync, spawn, spawnSync } from "node:child_process";
135
135
  import crypto, { createHash, createHmac, randomBytes, randomUUID, timingSafeEqual } from "node:crypto";
@@ -737,7 +737,7 @@ function resolveWorkspaceLane(params) {
737
737
  }
738
738
  async function pathExists(targetPath) {
739
739
  try {
740
- await fsPromises.access(targetPath);
740
+ await fs$1.access(targetPath);
741
741
  return true;
742
742
  } catch {
743
743
  return false;
@@ -745,7 +745,7 @@ async function pathExists(targetPath) {
745
745
  }
746
746
  async function getExistingPathState(targetPath) {
747
747
  try {
748
- const stats = await fsPromises.lstat(targetPath);
748
+ const stats = await fs$1.lstat(targetPath);
749
749
  if (stats.isSymbolicLink()) return "other";
750
750
  return stats.isDirectory() ? "directory" : "other";
751
751
  } catch {
@@ -754,7 +754,7 @@ async function getExistingPathState(targetPath) {
754
754
  }
755
755
  async function pathLexicallyExists(targetPath) {
756
756
  try {
757
- await fsPromises.lstat(targetPath);
757
+ await fs$1.lstat(targetPath);
758
758
  return true;
759
759
  } catch {
760
760
  return false;
@@ -816,7 +816,7 @@ async function resolveWorkspaceLaneForTurn(params) {
816
816
  reason: "workspace lane path exists and is not a directory"
817
817
  });
818
818
  const existed = pathState === "directory";
819
- if (!existed) await fsPromises.mkdir(resolution.effectiveWorkspaceDir, { recursive: true });
819
+ if (!existed) await fs$1.mkdir(resolution.effectiveWorkspaceDir, { recursive: true });
820
820
  for (const file of config?.copiedOnCreate ?? DEFAULT_COPIED_ON_CREATE_FILES) {
821
821
  const decision = await copyIfMissing({
822
822
  sourceRoot: resolution.personaWorkspaceDir,
@@ -1383,7 +1383,7 @@ async function sendTranscriptEcho(params) {
1383
1383
  }
1384
1384
  const text = formatEchoTranscript(transcript, params.format ?? DEFAULT_ECHO_TRANSCRIPT_FORMAT);
1385
1385
  try {
1386
- const { deliverOutboundPayloads } = await import("./deliver-BpzzrBKl.js").then((n) => n.n);
1386
+ const { deliverOutboundPayloads } = await import("./deliver-Bhlx9VG9.js").then((n) => n.n);
1387
1387
  await deliverOutboundPayloads({
1388
1388
  cfg,
1389
1389
  channel: normalizedChannel,
@@ -2631,7 +2631,7 @@ async function resolveAgentSessionDirs(stateDir) {
2631
2631
  const agentsDir = path.join(stateDir, "agents");
2632
2632
  let entries = [];
2633
2633
  try {
2634
- entries = await fsPromises.readdir(agentsDir, { withFileTypes: true });
2634
+ entries = await fs$1.readdir(agentsDir, { withFileTypes: true });
2635
2635
  } catch (err) {
2636
2636
  if (err.code === "ENOENT") return [];
2637
2637
  throw err;
@@ -8581,7 +8581,7 @@ async function resolveSandboxWorkdir(params) {
8581
8581
  cwd: process.cwd(),
8582
8582
  root: params.sandbox.workspaceDir
8583
8583
  });
8584
- if (!(await fsPromises.stat(resolved.resolved)).isDirectory()) throw new Error("workdir is not a directory");
8584
+ if (!(await fs$1.stat(resolved.resolved)).isDirectory()) throw new Error("workdir is not a directory");
8585
8585
  const relative = resolved.relative ? resolved.relative.split(path.sep).join(path.posix.sep) : "";
8586
8586
  const containerWorkdir = relative ? path.posix.join(params.sandbox.containerWorkdir, relative) : params.sandbox.containerWorkdir;
8587
8587
  return {
@@ -9181,7 +9181,7 @@ async function imageResult(params) {
9181
9181
  }, params.label, params.imageSanitization);
9182
9182
  }
9183
9183
  async function imageResultFromFile(params) {
9184
- const buf = await fsPromises.readFile(params.path);
9184
+ const buf = await fs$1.readFile(params.path);
9185
9185
  const mimeType = await detectMime({ buffer: buf.slice(0, 256) }) ?? "image/png";
9186
9186
  return await imageResult({
9187
9187
  label: params.label,
@@ -9989,13 +9989,13 @@ async function validateScriptFileForShellBleed(params) {
9989
9989
  cwd: params.workdir,
9990
9990
  root: params.workdir
9991
9991
  });
9992
- stat = await fsPromises.stat(absPath);
9992
+ stat = await fs$1.stat(absPath);
9993
9993
  } catch {
9994
9994
  return;
9995
9995
  }
9996
9996
  if (!stat.isFile()) return;
9997
9997
  if (stat.size > 512 * 1024) return;
9998
- const content = await fsPromises.readFile(absPath, "utf-8");
9998
+ const content = await fs$1.readFile(absPath, "utf-8");
9999
9999
  const first = /\$[A-Z_][A-Z0-9_]{1,}/g.exec(content);
10000
10000
  if (first) {
10001
10001
  const idx = first.index;
@@ -12023,7 +12023,7 @@ async function routeReply(params) {
12023
12023
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
12024
12024
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
12025
12025
  try {
12026
- const { deliverOutboundPayloads } = await import("./deliver-BpzzrBKl.js").then((n) => n.n);
12026
+ const { deliverOutboundPayloads } = await import("./deliver-Bhlx9VG9.js").then((n) => n.n);
12027
12027
  const outboundSession = buildOutboundSessionContext({
12028
12028
  cfg,
12029
12029
  agentId: resolvedAgentId,
@@ -15261,8 +15261,8 @@ const defaultDeps = {
15261
15261
  runEmbeddedPiAgent: (params) => runEmbeddedPiAgent(params),
15262
15262
  runDirectAnalysis,
15263
15263
  loadConfig,
15264
- mkdtemp: fsPromises.mkdtemp,
15265
- rm: fsPromises.rm,
15264
+ mkdtemp: fs$1.mkdtemp,
15265
+ rm: fs$1.rm,
15266
15266
  now: () => Date.now(),
15267
15267
  randomUUID: crypto.randomUUID
15268
15268
  };
@@ -24397,8 +24397,8 @@ async function describeStickerImage(params) {
24397
24397
  const { provider, model } = resolved;
24398
24398
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
24399
24399
  try {
24400
- const buffer = await fsPromises.readFile(imagePath);
24401
- const { describeImageWithModel } = await import("./provider-image-GVjHOAmk.js").then((n) => n.n);
24400
+ const buffer = await fs$1.readFile(imagePath);
24401
+ const { describeImageWithModel } = await import("./provider-image-RxbXQIow.js").then((n) => n.n);
24402
24402
  return (await describeImageWithModel({
24403
24403
  buffer,
24404
24404
  fileName: "sticker.webp",
@@ -25988,7 +25988,7 @@ async function resolveDiscordPreflightAudioMentionContext(params) {
25988
25988
  let transcript;
25989
25989
  let carry;
25990
25990
  if (needsPreflightTranscription) try {
25991
- const { transcribeFirstAudio } = await import("./audio-preflight-C3XXSW_q.js");
25991
+ const { transcribeFirstAudio } = await import("./audio-preflight-nrbQcAOS.js");
25992
25992
  const uploadable = audioAttachments.filter((att) => typeof att.url === "string" && att.url.length > 0);
25993
25993
  if (uploadable.length > 0) {
25994
25994
  const preflight = await transcribeFirstAudio({
@@ -29922,7 +29922,7 @@ function ensureContextWindowCacheLoaded() {
29922
29922
  await ensureOpenClawModelsJson(cfg);
29923
29923
  } catch {}
29924
29924
  try {
29925
- const { discoverAuthStorage, discoverModels } = await import("./pi-model-discovery-B9wn9y4o.js").then((n) => n.r);
29925
+ const { discoverAuthStorage, discoverModels } = await import("./pi-model-discovery-CfUi22Es.js").then((n) => n.r);
29926
29926
  const agentDir = resolveOpenClawAgentDir();
29927
29927
  const modelRegistry = discoverModels(discoverAuthStorage(agentDir), agentDir);
29928
29928
  applyDiscoveredContextWindows({
@@ -30267,7 +30267,7 @@ async function createModelSelectionState(params) {
30267
30267
  }
30268
30268
  }
30269
30269
  if (sessionEntry && sessionStore && sessionKey && sessionEntry.authProfileOverride) {
30270
- const { ensureAuthProfileStore } = await import("./model-selection-C8GCtGby.js").then((n) => n.ht);
30270
+ const { ensureAuthProfileStore } = await import("./model-selection-k68XU4oS.js").then((n) => n.ht);
30271
30271
  const profile = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false }).profiles[sessionEntry.authProfileOverride];
30272
30272
  const providerKey = normalizeProviderId(provider);
30273
30273
  if (!profile || normalizeProviderId(profile.provider) !== providerKey) await clearSessionAuthProfileOverride({
@@ -34520,18 +34520,18 @@ function appendImagePathsToPrompt(prompt, paths) {
34520
34520
  return `${trimmed}${trimmed ? "\n\n" : ""}${paths.join("\n")}`;
34521
34521
  }
34522
34522
  async function writeCliImages(images) {
34523
- const tempDir = await fsPromises.mkdtemp(path.join(os.tmpdir(), "openclaw-cli-images-"));
34523
+ const tempDir = await fs$1.mkdtemp(path.join(os.tmpdir(), "openclaw-cli-images-"));
34524
34524
  const paths = [];
34525
34525
  for (let i = 0; i < images.length; i += 1) {
34526
34526
  const image = images[i];
34527
34527
  const ext = resolveImageExtension(image.mimeType);
34528
34528
  const filePath = path.join(tempDir, `image-${i + 1}.${ext}`);
34529
34529
  const buffer = Buffer.from(image.data, "base64");
34530
- await fsPromises.writeFile(filePath, buffer, { mode: 384 });
34530
+ await fs$1.writeFile(filePath, buffer, { mode: 384 });
34531
34531
  paths.push(filePath);
34532
34532
  }
34533
34533
  const cleanup = async () => {
34534
- await fsPromises.rm(tempDir, {
34534
+ await fs$1.rm(tempDir, {
34535
34535
  recursive: true,
34536
34536
  force: true
34537
34537
  });
@@ -35426,23 +35426,23 @@ function createDefaultDeps() {
35426
35426
  };
35427
35427
  },
35428
35428
  sendMessageTelegram: async (...args) => {
35429
- const { sendMessageTelegram } = await import("./send-DweRAIgI.js").then((n) => n.l);
35429
+ const { sendMessageTelegram } = await import("./send-Cy2xiH02.js").then((n) => n.l);
35430
35430
  return await sendMessageTelegram(...args);
35431
35431
  },
35432
35432
  sendMessageDiscord: async (...args) => {
35433
- const { sendMessageDiscord } = await import("./send-CgTUSkhw.js").then((n) => n.t);
35433
+ const { sendMessageDiscord } = await import("./send-DQQFc4N0.js").then((n) => n.t);
35434
35434
  return await sendMessageDiscord(...args);
35435
35435
  },
35436
35436
  sendMessageSlack: async (...args) => {
35437
- const { sendMessageSlack } = await import("./send-ZT3Ekuty.js").then((n) => n.n);
35437
+ const { sendMessageSlack } = await import("./send-BA9PXvuC.js").then((n) => n.n);
35438
35438
  return await sendMessageSlack(...args);
35439
35439
  },
35440
35440
  sendMessageSignal: async (...args) => {
35441
- const { sendMessageSignal } = await import("./send-DkVvmrg9.js").then((n) => n.i);
35441
+ const { sendMessageSignal } = await import("./send-9toI8d1j.js").then((n) => n.i);
35442
35442
  return await sendMessageSignal(...args);
35443
35443
  },
35444
35444
  sendMessageIMessage: async (...args) => {
35445
- const { sendMessageIMessage } = await import("./send-BXSNB2Gu.js").then((n) => n.n);
35445
+ const { sendMessageIMessage } = await import("./send-26KAC8EW.js").then((n) => n.n);
35446
35446
  return await sendMessageIMessage(...args);
35447
35447
  }
35448
35448
  };
@@ -36409,9 +36409,9 @@ async function agentCommandInternal(requestedOpts, runtime = defaultRuntime, dep
36409
36409
  }
36410
36410
  }
36411
36411
  if (modelRun) {
36412
- modelRunScratchDir = await fsPromises.mkdtemp(path.join(resolvePreferredOpenClawTmpDir(), "openclaw-model-run-"));
36412
+ modelRunScratchDir = await fs$1.mkdtemp(path.join(resolvePreferredOpenClawTmpDir(), "openclaw-model-run-"));
36413
36413
  const scratchFile = path.join(modelRunScratchDir, "session.jsonl");
36414
- await fsPromises.copyFile(sessionFile, scratchFile).catch(() => {});
36414
+ await fs$1.copyFile(sessionFile, scratchFile).catch(() => {});
36415
36415
  sessionFile = scratchFile;
36416
36416
  }
36417
36417
  const startedAt = Date.now();
@@ -36528,7 +36528,7 @@ async function agentCommandInternal(requestedOpts, runtime = defaultRuntime, dep
36528
36528
  else if (!runThrew) if (result?.meta.error) await sessionRun?.fail(new Error(result.meta.error.message));
36529
36529
  else await sessionRun?.complete();
36530
36530
  clearAgentRunContext(runId);
36531
- if (modelRunScratchDir) await fsPromises.rm(modelRunScratchDir, {
36531
+ if (modelRunScratchDir) await fs$1.rm(modelRunScratchDir, {
36532
36532
  recursive: true,
36533
36533
  force: true,
36534
36534
  maxRetries: 10,
@@ -36682,10 +36682,10 @@ function estimateDurationSeconds(pcm) {
36682
36682
  return pcm.length / (bytesPerSample * SAMPLE_RATE);
36683
36683
  }
36684
36684
  async function writeWavFile(pcm) {
36685
- const tempDir = await fsPromises.mkdtemp(path.join(resolvePreferredOpenClawTmpDir(), "discord-voice-"));
36685
+ const tempDir = await fs$1.mkdtemp(path.join(resolvePreferredOpenClawTmpDir(), "discord-voice-"));
36686
36686
  const filePath = path.join(tempDir, `segment-${randomUUID()}.wav`);
36687
36687
  const wav = buildWavBuffer(pcm);
36688
- await fsPromises.writeFile(filePath, wav);
36688
+ await fs$1.writeFile(filePath, wav);
36689
36689
  scheduleTempCleanup(tempDir);
36690
36690
  return {
36691
36691
  path: filePath,
@@ -36694,7 +36694,7 @@ async function writeWavFile(pcm) {
36694
36694
  }
36695
36695
  function scheduleTempCleanup(tempDir, delayMs = 1800 * 1e3) {
36696
36696
  setTimeout(() => {
36697
- fsPromises.rm(tempDir, {
36697
+ fs$1.rm(tempDir, {
36698
36698
  recursive: true,
36699
36699
  force: true
36700
36700
  }).catch((err) => {
@@ -41018,7 +41018,7 @@ function normalizeAllowList$1(list) {
41018
41018
  async function detectRemoteHostFromCliPath(cliPath) {
41019
41019
  try {
41020
41020
  const expanded = cliPath.startsWith("~") ? cliPath.replace(/^~/, process.env.HOME ?? "") : cliPath;
41021
- const content = await fsPromises.readFile(expanded, "utf8");
41021
+ const content = await fs$1.readFile(expanded, "utf8");
41022
41022
  const userHostMatch = content.match(/\bssh\b[^\n]*?\s+([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+)/);
41023
41023
  if (userHostMatch) return userHostMatch[1];
41024
41024
  return content.match(/\bssh\b[^\n]*?\s+([a-zA-Z][a-zA-Z0-9._-]*)\s+\S*\bimsg\b/)?.[1];
@@ -47772,7 +47772,7 @@ function readSlackExternalArgMenuToken(raw) {
47772
47772
  }
47773
47773
  let commandsRegistry;
47774
47774
  async function getCommandsRegistry() {
47775
- if (!commandsRegistry) commandsRegistry = await import("./commands-registry-DY2vMgw6.js").then((n) => n.n);
47775
+ if (!commandsRegistry) commandsRegistry = await import("./commands-registry-BMswme6t.js").then((n) => n.n);
47776
47776
  return commandsRegistry;
47777
47777
  }
47778
47778
  function encodeSlackCommandArgValue(parts) {
@@ -48102,14 +48102,14 @@ async function registerSlackMonitorSlashCommands(params) {
48102
48102
  const channelName = channelInfo?.name;
48103
48103
  const roomLabel = channelName ? `#${channelName}` : `#${command.channel_id}`;
48104
48104
  const [{ resolveAgentRoute }, { finalizeInboundContext }, { dispatchReplyWithDispatcher }] = await Promise.all([
48105
- import("./resolve-route-C7CVSjFi.js").then((n) => n.r),
48105
+ import("./resolve-route-DnhX9nWr.js").then((n) => n.r),
48106
48106
  import("./inbound-context-nliZzhkW.js").then((n) => n.n),
48107
48107
  Promise.resolve().then(() => provider_dispatcher_exports)
48108
48108
  ]);
48109
48109
  const [{ resolveConversationLabel }, { createReplyPrefixOptions }, { recordInboundSessionMetaSafe }] = await Promise.all([
48110
48110
  import("./conversation-label-Bpw8crN9.js").then((n) => n.t),
48111
- import("./reply-prefix-Cur1savb.js").then((n) => n.n),
48112
- import("./session-meta-CXWLeYOC.js").then((n) => n.n)
48111
+ import("./reply-prefix-D0xrt6Z-.js").then((n) => n.n),
48112
+ import("./session-meta-DzjDKcgW.js").then((n) => n.n)
48113
48113
  ]);
48114
48114
  const route = resolveAgentRoute({
48115
48115
  cfg,
@@ -48174,9 +48174,9 @@ async function registerSlackMonitorSlashCommands(params) {
48174
48174
  });
48175
48175
  const deliverSlashPayloads = async (replies) => {
48176
48176
  const [{ deliverSlackSlashReplies }, { resolveChunkMode, resolveChunkNewlinePacking }, { resolveMarkdownTableMode }] = await Promise.all([
48177
- import("./replies-Bg8KJkdJ.js").then((n) => n.r),
48178
- import("./chunk-BTTi6And.js").then((n) => n.s),
48179
- import("./markdown-tables-pIjKFnaZ.js").then((n) => n.t)
48177
+ import("./replies-DoejQAqN.js").then((n) => n.r),
48178
+ import("./chunk-BDQQgsxn.js").then((n) => n.s),
48179
+ import("./markdown-tables-BEZ0s08w.js").then((n) => n.t)
48180
48180
  ]);
48181
48181
  await deliverSlackSlashReplies({
48182
48182
  replies,
@@ -48230,7 +48230,7 @@ async function registerSlackMonitorSlashCommands(params) {
48230
48230
  let nativeCommands = [];
48231
48231
  if (nativeEnabled) {
48232
48232
  reg = await getCommandsRegistry();
48233
- const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-D0sJs3ds.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
48233
+ const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-Be2Bqqsm.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
48234
48234
  nativeCommands = reg.listNativeCommandSpecsForConfig(cfg, {
48235
48235
  skillCommands,
48236
48236
  provider: "slack"
@@ -48749,7 +48749,7 @@ async function auditTelegramGroupMembership(params) {
48749
48749
  groups: [],
48750
48750
  elapsedMs: Date.now() - started
48751
48751
  };
48752
- const fetcher = params.proxyUrl ? (await import("./proxy-XUweXx3b.js").then((n) => n.n)).makeProxyFetch(params.proxyUrl) : fetch;
48752
+ const fetcher = params.proxyUrl ? (await import("./proxy-Df2WAHRA.js").then((n) => n.n)).makeProxyFetch(params.proxyUrl) : fetch;
48753
48753
  const { fetchWithTimeout } = await import("./fetch-timeout-DwpMsAKA.js").then((n) => n.r);
48754
48754
  const base = `${TELEGRAM_API_BASE$1}/bot${token}`;
48755
48755
  const groups = [];
@@ -53876,7 +53876,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, replyMedia =
53876
53876
  let audioPreflightCarry;
53877
53877
  const audioConfigEnabled = cfg.tools?.media?.audio && cfg.tools.media.audio.enabled !== false;
53878
53878
  if (hasAudio && !hasUserText && !disableAudioPreflight && (isGroup && requireMention && mentionRegexes.length > 0 || audioConfigEnabled === true)) try {
53879
- const { transcribeFirstAudio } = await import("./audio-preflight-C3XXSW_q.js");
53879
+ const { transcribeFirstAudio } = await import("./audio-preflight-nrbQcAOS.js");
53880
53880
  const preflight = await transcribeFirstAudio({
53881
53881
  ctx: {
53882
53882
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -55347,7 +55347,7 @@ function resolveCommandHashPath(accountId, botIdentity) {
55347
55347
  }
55348
55348
  async function readCachedCommandHash(accountId, botIdentity) {
55349
55349
  try {
55350
- return (await fsPromises.readFile(resolveCommandHashPath(accountId, botIdentity), "utf-8")).trim();
55350
+ return (await fs$1.readFile(resolveCommandHashPath(accountId, botIdentity), "utf-8")).trim();
55351
55351
  } catch {
55352
55352
  return null;
55353
55353
  }
@@ -55355,8 +55355,8 @@ async function readCachedCommandHash(accountId, botIdentity) {
55355
55355
  async function writeCachedCommandHash(accountId, botIdentity, hash) {
55356
55356
  const filePath = resolveCommandHashPath(accountId, botIdentity);
55357
55357
  try {
55358
- await fsPromises.mkdir(path.dirname(filePath), { recursive: true });
55359
- await fsPromises.writeFile(filePath, hash, "utf-8");
55358
+ await fs$1.mkdir(path.dirname(filePath), { recursive: true });
55359
+ await fs$1.writeFile(filePath, hash, "utf-8");
55360
55360
  } catch {}
55361
55361
  }
55362
55362
  function syncTelegramMenuCommands(params) {
@@ -56540,7 +56540,7 @@ function safeParseState(raw) {
56540
56540
  async function readTelegramUpdateOffset(params) {
56541
56541
  const filePath = resolveTelegramUpdateOffsetPath(params.accountId, params.env);
56542
56542
  try {
56543
- const parsed = safeParseState(await fsPromises.readFile(filePath, "utf-8"));
56543
+ const parsed = safeParseState(await fs$1.readFile(filePath, "utf-8"));
56544
56544
  const expectedBotId = extractBotIdFromToken(params.botToken);
56545
56545
  if (expectedBotId && parsed?.botId && parsed.botId !== expectedBotId) return null;
56546
56546
  if (expectedBotId && parsed?.botId === null) return null;
@@ -56564,7 +56564,7 @@ async function writeTelegramUpdateOffset(params) {
56564
56564
  async function deleteTelegramUpdateOffset(params) {
56565
56565
  const filePath = resolveTelegramUpdateOffsetPath(params.accountId, params.env);
56566
56566
  try {
56567
- await fsPromises.unlink(filePath);
56567
+ await fs$1.unlink(filePath);
56568
56568
  } catch (err) {
56569
56569
  if (err.code === "ENOENT") return;
56570
56570
  throw err;
@@ -59043,7 +59043,7 @@ function createPluginRuntime(options = {}) {
59043
59043
  workStates: readTaskWorkStates
59044
59044
  },
59045
59045
  resolveLearningWorkspaceDir: (agentId) => resolveLearningWorkspaceDir(loadConfig(), agentId),
59046
- sessions: { startUserRun: async (params) => (await import("./user-run-recording-DjkX5Mx3.js").then((n) => n.n)).startUserSessionRun(params) }
59046
+ sessions: { startUserRun: async (params) => (await import("./user-run-recording-CTVI96gC.js").then((n) => n.n)).startUserSessionRun(params) }
59047
59047
  };
59048
59048
  Object.defineProperty(runtime, "analysis", {
59049
59049
  enumerable: true,
@@ -59928,7 +59928,7 @@ function resolvePluginWebSearchProviders(params) {
59928
59928
  //#endregion
59929
59929
  //#region src/agents/apply-patch-update.ts
59930
59930
  async function defaultReadFile(filePath) {
59931
- return fsPromises.readFile(filePath, "utf8");
59931
+ return fs$1.readFile(filePath, "utf8");
59932
59932
  }
59933
59933
  async function applyUpdateHunk(filePath, chunks, options) {
59934
59934
  const originalLines = (await (options?.readFile ?? defaultReadFile)(filePath).catch((err) => {
@@ -60249,7 +60249,7 @@ function resolvePatchFileOps(options) {
60249
60249
  const workspaceOnly = options.workspaceOnly !== false;
60250
60250
  return {
60251
60251
  readFile: async (filePath) => {
60252
- if (!workspaceOnly) return await fsPromises.readFile(filePath, "utf8");
60252
+ if (!workspaceOnly) return await fs$1.readFile(filePath, "utf8");
60253
60253
  const opened = await openBoundaryFile({
60254
60254
  absolutePath: filePath,
60255
60255
  rootPath: options.cwd,
@@ -60264,7 +60264,7 @@ function resolvePatchFileOps(options) {
60264
60264
  },
60265
60265
  writeFile: async (filePath, content) => {
60266
60266
  if (!workspaceOnly) {
60267
- await fsPromises.writeFile(filePath, content, "utf8");
60267
+ await fs$1.writeFile(filePath, content, "utf8");
60268
60268
  return;
60269
60269
  }
60270
60270
  const relative = toRelativeSandboxPath(options.cwd, filePath);
@@ -60275,8 +60275,8 @@ function resolvePatchFileOps(options) {
60275
60275
  encoding: "utf8"
60276
60276
  });
60277
60277
  },
60278
- remove: (filePath) => fsPromises.rm(filePath),
60279
- mkdirp: (dir) => fsPromises.mkdir(dir, { recursive: true }).then(() => {})
60278
+ remove: (filePath) => fs$1.rm(filePath),
60279
+ mkdirp: (dir) => fs$1.mkdir(dir, { recursive: true }).then(() => {})
60280
60280
  };
60281
60281
  }
60282
60282
  async function ensureDir(filePath, ops) {
@@ -61711,7 +61711,7 @@ async function readJsonlFromPath(jsonlPath) {
61711
61711
  if (shouldLogVerbose()) logVerbose(`Blocked canvas jsonlPath outside allowed roots: ${resolved}`);
61712
61712
  throw new Error("jsonlPath outside allowed roots");
61713
61713
  }
61714
- const canonical = await fsPromises.realpath(resolved).catch(() => resolved);
61714
+ const canonical = await fs$1.realpath(resolved).catch(() => resolved);
61715
61715
  if (!isInboundPathAllowed({
61716
61716
  filePath: canonical,
61717
61717
  roots
@@ -61719,7 +61719,7 @@ async function readJsonlFromPath(jsonlPath) {
61719
61719
  if (shouldLogVerbose()) logVerbose(`Blocked canvas jsonlPath outside allowed roots: ${canonical}`);
61720
61720
  throw new Error("jsonlPath outside allowed roots");
61721
61721
  }
61722
- return await fsPromises.readFile(canonical, "utf8");
61722
+ return await fs$1.readFile(canonical, "utf8");
61723
61723
  }
61724
61724
  const CanvasToolSchema = Type.Object({
61725
61725
  action: stringEnum(CANVAS_ACTIONS),
@@ -62548,27 +62548,27 @@ function resolveRestartSentinelPath(env = process.env) {
62548
62548
  }
62549
62549
  async function writeRestartSentinel(payload, env = process.env) {
62550
62550
  const filePath = resolveRestartSentinelPath(env);
62551
- await fsPromises.mkdir(path.dirname(filePath), { recursive: true });
62551
+ await fs$1.mkdir(path.dirname(filePath), { recursive: true });
62552
62552
  const data = {
62553
62553
  version: 1,
62554
62554
  payload
62555
62555
  };
62556
- await fsPromises.writeFile(filePath, `${JSON.stringify(data, null, 2)}\n`, "utf-8");
62556
+ await fs$1.writeFile(filePath, `${JSON.stringify(data, null, 2)}\n`, "utf-8");
62557
62557
  return filePath;
62558
62558
  }
62559
62559
  async function readRestartSentinel(env = process.env) {
62560
62560
  const filePath = resolveRestartSentinelPath(env);
62561
62561
  try {
62562
- const raw = await fsPromises.readFile(filePath, "utf-8");
62562
+ const raw = await fs$1.readFile(filePath, "utf-8");
62563
62563
  let parsed;
62564
62564
  try {
62565
62565
  parsed = JSON.parse(raw);
62566
62566
  } catch {
62567
- await fsPromises.unlink(filePath).catch(() => {});
62567
+ await fs$1.unlink(filePath).catch(() => {});
62568
62568
  return null;
62569
62569
  }
62570
62570
  if (!parsed || parsed.version !== 1 || !parsed.payload) {
62571
- await fsPromises.unlink(filePath).catch(() => {});
62571
+ await fs$1.unlink(filePath).catch(() => {});
62572
62572
  return null;
62573
62573
  }
62574
62574
  return parsed;
@@ -62580,7 +62580,7 @@ async function consumeRestartSentinel(env = process.env) {
62580
62580
  const filePath = resolveRestartSentinelPath(env);
62581
62581
  const parsed = await readRestartSentinel(env);
62582
62582
  if (!parsed) return null;
62583
- await fsPromises.unlink(filePath).catch(() => {});
62583
+ await fs$1.unlink(filePath).catch(() => {});
62584
62584
  return parsed;
62585
62585
  }
62586
62586
  function formatRestartSentinelMessage(payload) {
@@ -70053,7 +70053,7 @@ async function recordLoopOutcome(args) {
70053
70053
  if (!args.ctx?.sessionKey) return;
70054
70054
  try {
70055
70055
  const { getDiagnosticSessionState } = await import("./diagnostic-session-state-C6JXU3l4.js").then((n) => n.n);
70056
- const { recordToolCallOutcome } = await import("./tool-loop-detection-BUuXGw31.js");
70056
+ const { recordToolCallOutcome } = await import("./tool-loop-detection-3zBgQ3Bx.js");
70057
70057
  recordToolCallOutcome(getDiagnosticSessionState({
70058
70058
  sessionKey: args.ctx.sessionKey,
70059
70059
  sessionId: args.ctx?.agentId
@@ -70080,8 +70080,8 @@ async function runBeforeToolCallHook(args) {
70080
70080
  const params = args.params;
70081
70081
  if (args.ctx?.sessionKey) {
70082
70082
  const { getDiagnosticSessionState } = await import("./diagnostic-session-state-C6JXU3l4.js").then((n) => n.n);
70083
- const { logToolLoopAction } = await import("./diagnostic-BRYj59Hw.js").then((n) => n.r);
70084
- const { detectToolCallLoop, recordToolCall } = await import("./tool-loop-detection-BUuXGw31.js");
70083
+ const { logToolLoopAction } = await import("./diagnostic-BTSirPP0.js").then((n) => n.r);
70084
+ const { detectToolCallLoop, recordToolCall } = await import("./tool-loop-detection-3zBgQ3Bx.js");
70085
70085
  const sessionState = getDiagnosticSessionState({
70086
70086
  sessionKey: args.ctx.sessionKey,
70087
70087
  sessionId: args.ctx?.agentId
@@ -70311,7 +70311,7 @@ function wrapHostEditToolWithPostWriteRecovery(base, root) {
70311
70311
  if (!pathParam || !newText) throw err;
70312
70312
  try {
70313
70313
  const absolutePath = resolveHostEditPath(root, pathParam);
70314
- const content = await fsPromises.readFile(absolutePath, "utf-8");
70314
+ const content = await fs$1.readFile(absolutePath, "utf-8");
70315
70315
  const hasNew = content.includes(newText);
70316
70316
  const stillHasOld = oldText !== void 0 && oldText.length > 0 && content.includes(oldText);
70317
70317
  if (hasNew && !stillHasOld) return {
@@ -70802,14 +70802,14 @@ function createSandboxEditOperations(params) {
70802
70802
  }
70803
70803
  async function writeHostFile(absolutePath, content) {
70804
70804
  const resolved = path.resolve(absolutePath);
70805
- await fsPromises.mkdir(path.dirname(resolved), { recursive: true });
70806
- await fsPromises.writeFile(resolved, content, "utf-8");
70805
+ await fs$1.mkdir(path.dirname(resolved), { recursive: true });
70806
+ await fs$1.writeFile(resolved, content, "utf-8");
70807
70807
  }
70808
70808
  function createHostWriteOperations(root, options) {
70809
70809
  if (!(options?.workspaceOnly ?? false)) return {
70810
70810
  mkdir: async (dir) => {
70811
70811
  const resolved = path.resolve(dir);
70812
- await fsPromises.mkdir(resolved, { recursive: true });
70812
+ await fs$1.mkdir(resolved, { recursive: true });
70813
70813
  },
70814
70814
  writeFile: writeHostFile
70815
70815
  };
@@ -70822,7 +70822,7 @@ function createHostWriteOperations(root, options) {
70822
70822
  cwd: root,
70823
70823
  root
70824
70824
  });
70825
- await fsPromises.mkdir(resolved, { recursive: true });
70825
+ await fs$1.mkdir(resolved, { recursive: true });
70826
70826
  },
70827
70827
  writeFile: async (absolutePath, content) => {
70828
70828
  await writeFileWithinRoot({
@@ -70838,12 +70838,12 @@ function createHostEditOperations(root, options) {
70838
70838
  if (!(options?.workspaceOnly ?? false)) return {
70839
70839
  readFile: async (absolutePath) => {
70840
70840
  const resolved = path.resolve(absolutePath);
70841
- return await fsPromises.readFile(resolved);
70841
+ return await fs$1.readFile(resolved);
70842
70842
  },
70843
70843
  writeFile: writeHostFile,
70844
70844
  access: async (absolutePath) => {
70845
70845
  const resolved = path.resolve(absolutePath);
70846
- await fsPromises.access(resolved);
70846
+ await fs$1.access(resolved);
70847
70847
  }
70848
70848
  };
70849
70849
  return {
@@ -71778,7 +71778,7 @@ async function repairSessionFileIfNeeded(params) {
71778
71778
  };
71779
71779
  let content;
71780
71780
  try {
71781
- content = await fsPromises.readFile(sessionFile, "utf-8");
71781
+ content = await fs$1.readFile(sessionFile, "utf-8");
71782
71782
  } catch (err) {
71783
71783
  if (err?.code === "ENOENT") return {
71784
71784
  repaired: false,
@@ -71826,15 +71826,15 @@ async function repairSessionFileIfNeeded(params) {
71826
71826
  const backupPath = `${sessionFile}.bak-${process.pid}-${Date.now()}`;
71827
71827
  const tmpPath = `${sessionFile}.repair-${process.pid}-${Date.now()}.tmp`;
71828
71828
  try {
71829
- const stat = await fsPromises.stat(sessionFile).catch(() => null);
71830
- await fsPromises.writeFile(backupPath, content, "utf-8");
71831
- if (stat) await fsPromises.chmod(backupPath, stat.mode);
71832
- await fsPromises.writeFile(tmpPath, cleaned, "utf-8");
71833
- if (stat) await fsPromises.chmod(tmpPath, stat.mode);
71834
- await fsPromises.rename(tmpPath, sessionFile);
71829
+ const stat = await fs$1.stat(sessionFile).catch(() => null);
71830
+ await fs$1.writeFile(backupPath, content, "utf-8");
71831
+ if (stat) await fs$1.chmod(backupPath, stat.mode);
71832
+ await fs$1.writeFile(tmpPath, cleaned, "utf-8");
71833
+ if (stat) await fs$1.chmod(tmpPath, stat.mode);
71834
+ await fs$1.rename(tmpPath, sessionFile);
71835
71835
  } catch (err) {
71836
71836
  try {
71837
- await fsPromises.unlink(tmpPath);
71837
+ await fs$1.unlink(tmpPath);
71838
71838
  } catch (cleanupErr) {
71839
71839
  params.warn?.(`session file repair cleanup failed: ${cleanupErr instanceof Error ? cleanupErr.message : "unknown error"} (${path.basename(tmpPath)})`);
71840
71840
  }
@@ -74170,7 +74170,7 @@ async function prewarmSessionFile(sessionFile) {
74170
74170
  if (!isSessionManagerCacheEnabled()) return;
74171
74171
  if (isSessionManagerCached(sessionFile)) return;
74172
74172
  try {
74173
- const handle = await fsPromises.open(sessionFile, "r");
74173
+ const handle = await fs$1.open(sessionFile, "r");
74174
74174
  try {
74175
74175
  const buffer = Buffer$1.alloc(4096);
74176
74176
  await handle.read(buffer, 0, buffer.length, 0);
@@ -74921,7 +74921,7 @@ async function compactEmbeddedPiSessionDirect(params) {
74921
74921
  } catch (err) {
74922
74922
  return fail(describeUnknownError(err));
74923
74923
  }
74924
- await fsPromises.mkdir(resolvedWorkspace, { recursive: true });
74924
+ await fs$1.mkdir(resolvedWorkspace, { recursive: true });
74925
74925
  const sandboxSessionKey = params.sessionKey?.trim() || params.sessionId;
74926
74926
  const sandbox = await resolveSandboxContext({
74927
74927
  config: params.config,
@@ -74930,7 +74930,7 @@ async function compactEmbeddedPiSessionDirect(params) {
74930
74930
  workspaceLane: params.workspaceLane
74931
74931
  });
74932
74932
  const effectiveWorkspace = sandbox?.enabled ? sandbox.workspaceAccess === "rw" ? resolvedWorkspace : sandbox.workspaceDir : resolvedWorkspace;
74933
- await fsPromises.mkdir(effectiveWorkspace, { recursive: true });
74933
+ await fs$1.mkdir(effectiveWorkspace, { recursive: true });
74934
74934
  if (!(isPreservationArmed() || !isJsonlSessionBackend())) await ensureSessionHeader({
74935
74935
  sessionFile: params.sessionFile,
74936
74936
  sessionId: params.sessionId,
@@ -78748,7 +78748,7 @@ async function prepareSessionManagerForRun(params) {
78748
78748
  header.id = params.sessionId;
78749
78749
  header.cwd = params.cwd;
78750
78750
  sm.sessionId = params.sessionId;
78751
- await fsPromises.writeFile(params.sessionFile, "", "utf-8");
78751
+ await fs$1.writeFile(params.sessionFile, "", "utf-8");
78752
78752
  sm.flushed = false;
78753
78753
  }
78754
78754
  }
@@ -80405,7 +80405,7 @@ async function runEmbeddedAttempt(params) {
80405
80405
  const runAbortController = new AbortController();
80406
80406
  const currentUserTurnForStorage = resolveCurrentUserTurnForStorage(params);
80407
80407
  log$15.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"}`);
80408
- await fsPromises.mkdir(resolvedWorkspace, { recursive: true });
80408
+ await fs$1.mkdir(resolvedWorkspace, { recursive: true });
80409
80409
  const sandboxSessionKey = params.sessionKey?.trim() || params.sessionId;
80410
80410
  const toolSessionKey = params.toolSessionKey?.trim() || sandboxSessionKey;
80411
80411
  const sandbox = params.skipSandbox ? null : await resolveSandboxContext({
@@ -80415,7 +80415,7 @@ async function runEmbeddedAttempt(params) {
80415
80415
  workspaceLane: params.workspaceLane
80416
80416
  });
80417
80417
  const effectiveWorkspace = sandbox?.enabled ? sandbox.workspaceAccess === "rw" ? resolvedWorkspace : sandbox.workspaceDir : resolvedWorkspace;
80418
- await fsPromises.mkdir(effectiveWorkspace, { recursive: true });
80418
+ await fs$1.mkdir(effectiveWorkspace, { recursive: true });
80419
80419
  let restoreSkillEnv;
80420
80420
  const releaseWorkspaceCwd = params.skipCwdChange ? void 0 : acquireWorkspaceCwd(effectiveWorkspace);
80421
80421
  try {
@@ -80798,7 +80798,7 @@ async function runEmbeddedAttempt(params) {
80798
80798
  sessionFile: params.sessionFile,
80799
80799
  warn: (message) => log$15.warn(message)
80800
80800
  });
80801
- const hadSessionFile = await fsPromises.stat(params.sessionFile).then(() => true).catch(() => false);
80801
+ const hadSessionFile = await fs$1.stat(params.sessionFile).then(() => true).catch(() => false);
80802
80802
  if (!params.skipSessionManagerCache) await prewarmSessionFile(params.sessionFile);
80803
80803
  sessionManager = guardSessionManager(SessionManager.open(params.sessionFile), {
80804
80804
  agentId: sessionAgentId,
@@ -82203,7 +82203,7 @@ async function runEmbeddedPiAgent(params) {
82203
82203
  const copilotAuthRetry = authRetryPending;
82204
82204
  authRetryPending = false;
82205
82205
  attemptedThinking.add(thinkLevel);
82206
- await fsPromises.mkdir(resolvedWorkspace, { recursive: true });
82206
+ await fs$1.mkdir(resolvedWorkspace, { recursive: true });
82207
82207
  const prompt = provider === "anthropic" ? scrubAnthropicRefusalMagic(params.prompt) : params.prompt;
82208
82208
  const attempt = await runEmbeddedAttempt({
82209
82209
  sessionId: params.sessionId,
@@ -83438,7 +83438,7 @@ async function runModelGate(spec, ctx) {
83438
83438
  const isolatedSessionId = randomNonce;
83439
83439
  const isolatedRunId = randomNonce;
83440
83440
  const tmpBaseDir = resolvePreferredOpenClawTmpDir();
83441
- tmpDir = await fsPromises.mkdtemp(path.join(tmpBaseDir, "wake-gate-"));
83441
+ tmpDir = await fs$1.mkdtemp(path.join(tmpBaseDir, "wake-gate-"));
83442
83442
  const sessionFile = path.join(tmpDir, "session.json");
83443
83443
  const workspaceDir = tmpDir;
83444
83444
  const prompt = spec.prompt ?? DEFAULT_MODEL_PROMPT;
@@ -83497,7 +83497,7 @@ async function runModelGate(spec, ctx) {
83497
83497
  log$5.warn("model gate error", { error: err instanceof Error ? err.message : String(err) });
83498
83498
  return { wake: false };
83499
83499
  } finally {
83500
- if (tmpDir) await fsPromises.rm(tmpDir, {
83500
+ if (tmpDir) await fs$1.rm(tmpDir, {
83501
83501
  recursive: true,
83502
83502
  force: true
83503
83503
  }).catch(() => void 0);
@@ -83796,7 +83796,7 @@ async function pruneHeartbeatTranscript(params) {
83796
83796
  if (!transcriptPath || typeof preHeartbeatSize !== "number" || preHeartbeatSize < 0) return;
83797
83797
  const pruneEnd = typeof postHeartbeatWriteSize === "number" && postHeartbeatWriteSize >= preHeartbeatSize ? postHeartbeatWriteSize : void 0;
83798
83798
  try {
83799
- const content = await fsPromises.readFile(transcriptPath, "utf8");
83799
+ const content = await fs$1.readFile(transcriptPath, "utf8");
83800
83800
  const currentBytes = Buffer.byteLength(content, "utf8");
83801
83801
  if (currentBytes <= preHeartbeatSize) return;
83802
83802
  const buf = Buffer.from(content, "utf8");
@@ -83824,10 +83824,10 @@ async function pruneHeartbeatTranscript(params) {
83824
83824
  const rewritten = preText + (keptRegionLines.length > 0 ? keptRegionLines.join("\n") + (heartbeatRegion.endsWith("\n") ? "\n" : "") : "") + concurrentTail;
83825
83825
  const tmp = `${transcriptPath}.${process.pid}.${randomBytes(8).toString("hex")}.tmp`;
83826
83826
  try {
83827
- await fsPromises.writeFile(tmp, rewritten, "utf8");
83828
- await fsPromises.rename(tmp, transcriptPath);
83827
+ await fs$1.writeFile(tmp, rewritten, "utf8");
83828
+ await fs$1.rename(tmp, transcriptPath);
83829
83829
  } catch (err) {
83830
- await fsPromises.unlink(tmp).catch(() => {});
83830
+ await fs$1.unlink(tmp).catch(() => {});
83831
83831
  throw err;
83832
83832
  }
83833
83833
  } catch (err) {
@@ -83849,7 +83849,7 @@ async function captureTranscriptState(params) {
83849
83849
  });
83850
83850
  return {
83851
83851
  transcriptPath,
83852
- preHeartbeatSize: (await fsPromises.stat(transcriptPath)).size
83852
+ preHeartbeatSize: (await fs$1.stat(transcriptPath)).size
83853
83853
  };
83854
83854
  } catch {
83855
83855
  return {};
@@ -83863,7 +83863,7 @@ async function captureTranscriptState(params) {
83863
83863
  async function withPostHeartbeatWriteSize(transcriptState) {
83864
83864
  if (!transcriptState.transcriptPath) return transcriptState;
83865
83865
  try {
83866
- const stat = await fsPromises.stat(transcriptState.transcriptPath);
83866
+ const stat = await fs$1.stat(transcriptState.transcriptPath);
83867
83867
  return {
83868
83868
  ...transcriptState,
83869
83869
  postHeartbeatWriteSize: stat.size
@@ -83985,7 +83985,7 @@ async function resolveHeartbeatPreflight(params) {
83985
83985
  const workspaceDir = resolveAgentWorkspaceDir(params.cfg, params.agentId);
83986
83986
  const heartbeatFilePath = path.join(workspaceDir, DEFAULT_HEARTBEAT_FILENAME);
83987
83987
  try {
83988
- if (isHeartbeatContentEffectivelyEmpty(await fsPromises.readFile(heartbeatFilePath, "utf-8"))) return {
83988
+ if (isHeartbeatContentEffectivelyEmpty(await fs$1.readFile(heartbeatFilePath, "utf-8"))) return {
83989
83989
  ...basePreflight,
83990
83990
  skipReason: "empty-heartbeat-file"
83991
83991
  };
@@ -90037,7 +90037,7 @@ async function emitResetCommandHooks(params) {
90037
90037
  try {
90038
90038
  const messages = [];
90039
90039
  if (sessionFile) {
90040
- const content = await fsPromises.readFile(sessionFile, "utf-8");
90040
+ const content = await fs$1.readFile(sessionFile, "utf-8");
90041
90041
  for (const line of content.split("\n")) {
90042
90042
  if (!line.trim()) continue;
90043
90043
  try {
@@ -95455,7 +95455,7 @@ async function deliverSessionMaintenanceWarning(params) {
95455
95455
  return;
95456
95456
  }
95457
95457
  try {
95458
- const { deliverOutboundPayloads } = await import("./deliver-BpzzrBKl.js").then((n) => n.n);
95458
+ const { deliverOutboundPayloads } = await import("./deliver-Bhlx9VG9.js").then((n) => n.n);
95459
95459
  const outboundSession = buildOutboundSessionContext({
95460
95460
  cfg: params.cfg,
95461
95461
  sessionKey: params.sessionKey
@@ -95988,7 +95988,7 @@ async function stageSandboxMedia(params) {
95988
95988
  const remoteMediaCacheDir = ctx.MediaRemoteHost ? path.join(workspaceDir, ".openclaw", "media", "remote-cache", sessionKey) : null;
95989
95989
  const effectiveWorkspaceDir = sandbox?.workspaceDir ?? remoteMediaCacheDir;
95990
95990
  if (!effectiveWorkspaceDir) return;
95991
- await fsPromises.mkdir(effectiveWorkspaceDir, { recursive: true });
95991
+ await fs$1.mkdir(effectiveWorkspaceDir, { recursive: true });
95992
95992
  const remoteAttachmentRoots = resolveIMessageRemoteAttachmentRoots({
95993
95993
  cfg,
95994
95994
  accountId: ctx.AccountId
@@ -96047,8 +96047,8 @@ async function stageLocalFileIntoRoot(params) {
96047
96047
  }
96048
96048
  async function stageRemoteFileIntoRoot(params) {
96049
96049
  const tmpRoot = resolvePreferredOpenClawTmpDir();
96050
- await fsPromises.mkdir(tmpRoot, { recursive: true });
96051
- const tmpDir = await fsPromises.mkdtemp(path.join(tmpRoot, "stage-sandbox-media-"));
96050
+ await fs$1.mkdir(tmpRoot, { recursive: true });
96051
+ const tmpDir = await fs$1.mkdtemp(path.join(tmpRoot, "stage-sandbox-media-"));
96052
96052
  const tmpPath = path.join(tmpDir, "download");
96053
96053
  try {
96054
96054
  await scpFile(params.remoteHost, params.remotePath, tmpPath);
@@ -96059,7 +96059,7 @@ async function stageRemoteFileIntoRoot(params) {
96059
96059
  maxBytes: params.maxBytes
96060
96060
  });
96061
96061
  } finally {
96062
- await fsPromises.rm(tmpDir, {
96062
+ await fs$1.rm(tmpDir, {
96063
96063
  recursive: true,
96064
96064
  force: true
96065
96065
  }).catch(() => {});