wednesdayai 0.4.12-dev.733 → 0.4.12-dev.734

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 (409) hide show
  1. package/dist/{acp-cli-Ciw9I0uZ.js → acp-cli-u6BEMShe.js} +15 -15
  2. package/dist/{agent-scope-CVpiV9_p.js → agent-scope-B5BtLhIC.js} +2 -2
  3. package/dist/{agent-scope-Isfe_TTc.js → agent-scope-C7A_L0Z6.js} +21 -21
  4. package/dist/{agent-turn-enqueue-Dm0JENbl.js → agent-turn-enqueue-oYjYy4W3.js} +6 -6
  5. package/dist/{agent-turn-recovery-adapter-OfuCod26.js → agent-turn-recovery-adapter-Ba_u8tsH.js} +3 -3
  6. package/dist/{agent-turn-runner-D9oWYU1F.js → agent-turn-runner-DJaul1fs.js} +5 -5
  7. package/dist/{agent-turn-runner-CHoOKwsD.js → agent-turn-runner-DN-XHX0T.js} +4 -4
  8. package/dist/{agent-turn-runner-BV_PeLdX.js → agent-turn-runner-iiGV_xDS.js} +6 -6
  9. package/dist/{agents.config-DDNucPjd.js → agents.config-YgM6ypSW.js} +3 -3
  10. package/dist/{api-B8kTLa-V.js → api-DTIIemyw.js} +1 -1
  11. package/dist/{api-key-rotation-C-jZ2g9h.js → api-key-rotation-DLl0JScq.js} +1 -1
  12. package/dist/{api-key-rotation-BhNw79Bu.js → api-key-rotation-Vhef3tyV.js} +1 -1
  13. package/dist/{artifacts-D7xTEspu.js → artifacts-CSUzSsVF.js} +1 -1
  14. package/dist/{audio-preflight-Cj5N8Fbp.js → audio-preflight-BWqiB-Gv.js} +38 -38
  15. package/dist/{audio-preflight-B0-wpy5i.js → audio-preflight-BfVCaStC.js} +5 -5
  16. package/dist/{audio-preflight-zbZPSZeC.js → audio-preflight-DmuNG6iD.js} +25 -25
  17. package/dist/{audio-transcription-runner-BTMTo0Oh.js → audio-transcription-runner-BddwFNQF.js} +26 -26
  18. package/dist/{audio-transcription-runner-DU-4s9T-.js → audio-transcription-runner-DV97sIzf.js} +1 -1
  19. package/dist/{audio-transcription-runner-DQOhmZXw.js → audio-transcription-runner-DskeI69N.js} +12 -12
  20. package/dist/{audit-Ch0W6MYl.js → audit-BdvUbSJW.js} +31 -31
  21. package/dist/{auth-RqerQcVN.js → auth-Bpsbop7P.js} +4 -4
  22. package/dist/{auth-choice-DwMUQqPs.js → auth-choice-C-PuOQwZ.js} +13 -13
  23. package/dist/{auth-choice-BYuFP7T_.js → auth-choice-Ci58poKa.js} +18 -18
  24. package/dist/{auth-choice.apply-helpers-BMb44QwW.js → auth-choice.apply-helpers-DOUrHdHL.js} +1 -1
  25. package/dist/{auth-token-D_jEtete.js → auth-token-CNieP0C6.js} +2 -2
  26. package/dist/{bonjour-discovery-g2GjlMwG.js → bonjour-discovery-DcI9gUqF.js} +3 -3
  27. package/dist/{browser-cli-Bz6AxM_A.js → browser-cli-B38yP_6r.js} +22 -22
  28. package/dist/build-info.json +3 -3
  29. package/dist/bundled/boot-md/handler.js +56 -56
  30. package/dist/bundled/bootstrap-extra-files/handler.js +5 -5
  31. package/dist/bundled/command-logger/handler.js +1 -1
  32. package/dist/bundled/session-journal/handler.js +56 -56
  33. package/dist/bundled/session-memory/handler.js +56 -56
  34. package/dist/{call-CCfms07q.js → call-DcUNQRRs.js} +12 -12
  35. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  36. package/dist/{channel-account-context-DNIQLMZJ.js → channel-account-context-BLrrF35q.js} +7 -7
  37. package/dist/{channel-activity-sPbGjc5e.js → channel-activity-D6C30I8U.js} +2 -2
  38. package/dist/{channel-activity-CYX6jkoL.js → channel-activity-umvXZN1Q.js} +2 -2
  39. package/dist/{channel-options-BveWV11S.js → channel-options-GalVDUUs.js} +4 -4
  40. package/dist/{channel-selection-BRkNQi3I.js → channel-selection-BhS12YOf.js} +1 -1
  41. package/dist/{channels-cli-DAGiS54d.js → channels-cli-DG8Z_thL.js} +122 -122
  42. package/dist/{channels-status-issues-1yAXMoby.js → channels-status-issues-C3WZ-FHq.js} +1 -1
  43. package/dist/{chat-content-C9leVKVS.js → chat-content-CpbqvcYj.js} +13 -13
  44. package/dist/{chat-content-CBi2BuMN.js → chat-content-DTi4qPWl.js} +3 -3
  45. package/dist/{chrome-C6EL_Azx.js → chrome-3_0KrCjl.js} +8 -8
  46. package/dist/{chrome-K_3gICG0.js → chrome-BmOe128y.js} +6 -6
  47. package/dist/{chrome-B1W66RLB.js → chrome-QHHEijm4.js} +12 -12
  48. package/dist/{chunk-v83cSD3K.js → chunk-Cft1Qryu.js} +3 -3
  49. package/dist/{chunk-DsOlQSkR.js → chunk-DjzPpjFE.js} +3 -3
  50. package/dist/{clack-prompter-E1c9la4n.js → clack-prompter-5Rt5HC77.js} +5 -5
  51. package/dist/clawbot-cli-B_eFyFig.js +36 -0
  52. package/dist/cli/daemon-cli.js +1 -1
  53. package/dist/cli-Dgi81MlW.js +166 -0
  54. package/dist/{client-VFkIaJUE.js → client-CfK_daL3.js} +3 -3
  55. package/dist/{client-profiles-CofHU2-i.js → client-profiles-DXMSQ3LL.js} +2 -2
  56. package/dist/{clipboard-BFomxx0G.js → clipboard-CXNhYcRG.js} +1 -1
  57. package/dist/{command-queue-9omEZYIX.js → command-queue--qG4Wxve.js} +1 -1
  58. package/dist/{command-queue-Cz-yW8Fn.js → command-queue-BeqPo1FP.js} +1 -1
  59. package/dist/{command-queue-C6BVo5I0.js → command-queue-Bwh4Cjht.js} +1 -1
  60. package/dist/{command-secret-targets-DCV5FIY6.js → command-secret-targets-Gl-QK3RO.js} +4 -4
  61. package/dist/{commands-CTxKrS5w.js → commands-DpelJzCu.js} +1 -1
  62. package/dist/{commands-registry-DGtDGKmr.js → commands-registry-Ccpns1_9.js} +2 -2
  63. package/dist/{commands-registry-DISO8Rbf.js → commands-registry-DQp53oMc.js} +3 -3
  64. package/dist/{completion-cli-DFNOXLps.js → completion-cli-CdiynSEq.js} +15 -15
  65. package/dist/{config-cli-p03mh4YX.js → config-cli-p-8y2wLT.js} +13 -13
  66. package/dist/{config-guard-Dzau_M6-.js → config-guard-B07Pi5M4.js} +17 -17
  67. package/dist/{config-validation-xc_nQppc.js → config-validation-DWz89icD.js} +4 -4
  68. package/dist/{configure-DmydR0wt.js → configure-C103cYIE.js} +25 -25
  69. package/dist/{control-ui-assets-CX17hVrY.js → control-ui-assets-3-KmlKzl.js} +3 -3
  70. package/dist/{controller-Cf_Sh5y1.js → controller-CwG8Zp_n.js} +1 -1
  71. package/dist/{credentials-CpbaIISJ.js → credentials-gpmh64hA.js} +1 -1
  72. package/dist/{cron-cli-BvII3wJp.js → cron-cli-y-JG-HVt.js} +17 -17
  73. package/dist/{daemon-cli-BS4lzrlG.js → daemon-cli-ChjPuLhH.js} +19 -19
  74. package/dist/{daemon-install-BAolTW-k.js → daemon-install-Cs7LQnph.js} +11 -11
  75. package/dist/{daemon-install-helpers-BXatJyxv.js → daemon-install-helpers-6Xe4iL6g.js} +13 -13
  76. package/dist/{deliver-CtrRdP0I.js → deliver-Bm3KCC7N.js} +14 -14
  77. package/dist/{deliver-BilN6eHm.js → deliver-BmkcRFC9.js} +1 -1
  78. package/dist/{deliver-BeUjHsuQ.js → deliver-QPSbsYeP.js} +15 -15
  79. package/dist/{devices-cli-CtaHqDZx.js → devices-cli-ByoED8_c.js} +15 -15
  80. package/dist/{diagnostic-C3MkA2d5.js → diagnostic-CCR8brX6.js} +1 -1
  81. package/dist/{diagnostic-INswCh23.js → diagnostic-CGl139nm.js} +5 -5
  82. package/dist/{diagnostic-CkzxbMOl.js → diagnostic-Chf-opgf.js} +4 -4
  83. package/dist/{diagnostics-BL7MaHFG.js → diagnostics-feLr7_11.js} +5 -5
  84. package/dist/{directory-cli-DvgdYM7w.js → directory-cli-Dm6bdo-K.js} +14 -14
  85. package/dist/{dns-cli-D0Jjy9ct.js → dns-cli-BV3f81WF.js} +13 -13
  86. package/dist/{docs-cli-CFi2HDrN.js → docs-cli-CtYEOTf5.js} +12 -12
  87. package/dist/{doctor-completion-B1SsMlh-.js → doctor-completion-Bx6uvkY3.js} +3 -3
  88. package/dist/{doctor-config-flow-DU0u9ath.js → doctor-config-flow-CHpbeQ8M.js} +17 -17
  89. package/dist/{enable-BRot9Tbi.js → enable-CODu9xqV.js} +2 -2
  90. package/dist/{env-DwhxSLZz.js → env-uQrKrEGz.js} +1 -1
  91. package/dist/{exec-approvals-allowlist-CVeFyVcd.js → exec-approvals-allowlist-BxG5LK_B.js} +1 -1
  92. package/dist/{exec-approvals-cli-Bwc8M8YG.js → exec-approvals-cli-Cnn9uvon.js} +25 -25
  93. package/dist/{exec-approvals-BS3OjF4g.js → exec-approvals-sC6Vto0t.js} +2 -2
  94. package/dist/{exec-BNayx9Nm.js → exec-g-Nx0X6p.js} +2 -2
  95. package/dist/{exec-safe-bin-runtime-policy-OSqMfz70.js → exec-safe-bin-runtime-policy-Bd1hExM6.js} +2 -2
  96. package/dist/{extension-relay-auth-Dcu8wthB.js → extension-relay-auth-NxDK9Fke.js} +10 -10
  97. package/dist/extensionAPI.js +12 -12
  98. package/dist/{fetch-cEFmY5z9.js → fetch-fy8exuqj.js} +6 -6
  99. package/dist/{fetch-guard-EajwxXjX.js → fetch-guard-CfI8OeSj.js} +3 -3
  100. package/dist/{fetch-guard-CBYchbZq.js → fetch-guard-tWQjMK2l.js} +3 -3
  101. package/dist/{frontmatter-BxEA3xXS.js → frontmatter-AubDiZG0.js} +3 -3
  102. package/dist/{fs-safe-B7Enj5xC.js → fs-safe-Ckd0hSqX.js} +3 -3
  103. package/dist/{fs-safe-B3ZR2kik.js → fs-safe-LwswEc9h.js} +25 -25
  104. package/dist/{gateway-cli-D_-cQdWs.js → gateway-cli-D37cHpSz.js} +222 -222
  105. package/dist/{gateway-rpc-CQYm-HLi.js → gateway-rpc-CiALr93w.js} +3 -3
  106. package/dist/{gmail-setup-utils-hfaqpEZm.js → gmail-setup-utils-XnNYe7e4.js} +2 -2
  107. package/dist/{health-jv7pcI79.js → health-BovdETb-.js} +12 -12
  108. package/dist/{health-format-CT7biLM5.js → health-format-UGHgSjMo.js} +1 -1
  109. package/dist/{heartbeat-tick-CrLpacK5.js → heartbeat-tick-gDighXQe.js} +2 -2
  110. package/dist/{help-format-CLct84oR.js → help-format-RRPzsWkf.js} +1 -1
  111. package/dist/{helpers-DPLyPWvP.js → helpers-DGWfGS2H.js} +1 -1
  112. package/dist/{hooks-cli-B-xZu7If.js → hooks-cli-3CvgoXOf.js} +110 -110
  113. package/dist/{hooks-status-uQ6F_qa5.js → hooks-status-Bk4EXCkN.js} +2 -2
  114. package/dist/{image-ops-CbGvIbf3.js → image-ops-BM9FiJs0.js} +1 -1
  115. package/dist/{image-ops-CHN4z44F.js → image-ops-C0lTPxIN.js} +11 -11
  116. package/dist/{incident-install-Cfpzkmd6.js → incident-install-BU8QyJJi.js} +14 -14
  117. package/dist/index.js +109 -109
  118. package/dist/{inspect-BHcKD0Mh.js → inspect-CEi0vY67.js} +4 -4
  119. package/dist/{install-safe-path-C_UxxVRx.js → install-safe-path-Cv53fge9.js} +25 -25
  120. package/dist/{installs-DfXrCFr4.js → installs-BZ7QGLTH.js} +10 -10
  121. package/dist/{ipv4-pualJW3L.js → ipv4-6tmOAqee.js} +2 -2
  122. package/dist/{ir-BZC8jqmM.js → ir-BcCmcdpx.js} +8 -8
  123. package/dist/{ir-rvMyPCLn.js → ir-YDUZgbxp.js} +5 -5
  124. package/dist/{issue-format-CKVc879T.js → issue-format-CMvPuN7V.js} +1 -1
  125. package/dist/{legacy-names-CLlrMq8r.js → legacy-names-DnKoTzf4.js} +1 -1
  126. package/dist/{lifecycle-core-nH5DqDS2.js → lifecycle-core-hNAWQhZw.js} +9 -9
  127. package/dist/{links-DtYJaVFO.js → links-DA_gi3gE.js} +1 -1
  128. package/dist/{live-repair-CajZtMx4.js → live-repair-BvevhX8_.js} +13 -13
  129. package/dist/llm-slug-generator.js +56 -56
  130. package/dist/{local-roots-C0gTK4Bz.js → local-roots-7K5PLW70.js} +5 -5
  131. package/dist/{log-tail--H82JYgg.js → log-tail-FFb_BPrV.js} +7 -7
  132. package/dist/{logger-Bd6qOjzT.js → logger-BSEmTtz1.js} +2 -2
  133. package/dist/{logger-DNehzD_s.js → logger-uA4S-xj7.js} +1 -1
  134. package/dist/{logging-CoqZ22Bj.js → logging-2kovqtbn.js} +1 -1
  135. package/dist/{logs-cli-Cgvd5nIw.js → logs-cli-BT3Btt4i.js} +21 -21
  136. package/dist/{manager-yZu-7wGz.js → manager-CAhprKqm.js} +7 -7
  137. package/dist/{manager-DOXQa7gV.js → manager-CVY-YEjj.js} +18 -18
  138. package/dist/{manager-fEgy3Cc5.js → manager-CuWMoixZ.js} +10 -10
  139. package/dist/{markdown-tables-CxNf_QKN.js → markdown-tables-BIUAAmJj.js} +2 -2
  140. package/dist/{markdown-tables-Dr-mscCB.js → markdown-tables-BhZ9rtSx.js} +2 -2
  141. package/dist/{memory-cli-DactP3dr.js → memory-cli-Dw2sfKV7.js} +19 -19
  142. package/dist/{model-STLFfNgZ.js → model-DXt9qubu.js} +2 -2
  143. package/dist/{model-catalog-CJO7nU3v.js → model-catalog-DjGr6SKN.js} +4 -4
  144. package/dist/{model-picker-Qj1lwU0B.js → model-picker-CxN0ohVn.js} +4 -4
  145. package/dist/{model-selection-DeMoFayq.js → model-selection-RcRokpsG.js} +9 -9
  146. package/dist/{model-selection-D74qlS0C.js → model-selection-Xe4QEYsC.js} +55 -55
  147. package/dist/{models-cli-BKsNo3af.js → models-cli-BipY6LjO.js} +114 -114
  148. package/dist/{models-config-Dj7fr0nB.js → models-config-CZHJduVo.js} +7 -7
  149. package/dist/{models-config-DtvN5oDH.js → models-config-xlk6m7OT.js} +2 -2
  150. package/dist/{node-cli-CUBwMhvB.js → node-cli-O46I0NdJ.js} +45 -45
  151. package/dist/{node-command-policy-2ZSrWLtG.js → node-command-policy-xF0dwumy.js} +1 -1
  152. package/dist/{node-service-CsTzpewy.js → node-service-D4squ4p0.js} +1 -1
  153. package/dist/{nodes-cli-CGX5t4Yt.js → nodes-cli-59j_7aot.js} +27 -27
  154. package/dist/{nodes-screen-CBDClxW8.js → nodes-screen-CBvwtWTJ.js} +8 -8
  155. package/dist/{note-0__etBQU.js → note-DNloJfK7.js} +2 -2
  156. package/dist/{npm-pack-install-DJFWFkSH.js → npm-pack-install-BbOwlaHm.js} +23 -23
  157. package/dist/{npm-resolution-BcTXjcVL.js → npm-resolution-DMiDvLdW.js} +5 -5
  158. package/dist/{oauth-tls-preflight-DXqH3JiS.js → oauth-tls-preflight-DXcfBi5s.js} +1 -1
  159. package/dist/{onboard-D8c-kpMi.js → onboard-BqfhNjlR.js} +11 -11
  160. package/dist/{onboard-channels-BlEe4jeB.js → onboard-channels-C7p_IgYg.js} +24 -24
  161. package/dist/{onboard-custom-BtI1nikv.js → onboard-custom-Cxcj391N.js} +4 -4
  162. package/dist/{onboard-helpers-CHJgaSLe.js → onboard-helpers-BHshJeiH.js} +14 -14
  163. package/dist/{onboard-hooks--LATkv_I.js → onboard-hooks-Cu6T2rFj.js} +7 -7
  164. package/dist/{onboard-remote-BomxZvc8.js → onboard-remote-CvI5wlAJ.js} +5 -5
  165. package/dist/{onboard-skills-u_E2_0PO.js → onboard-skills-C65mTllM.js} +4 -4
  166. package/dist/{onboarding-NS4yZFU0.js → onboarding-Cu0Vnxce.js} +18 -18
  167. package/dist/{onboarding.finalize-B38zvHLn.js → onboarding.finalize-DaXgygU1.js} +117 -117
  168. package/dist/{onboarding.gateway-config-BFwfGimv.js → onboarding.gateway-config-V_rpPuAI.js} +19 -19
  169. package/dist/{onboarding.secret-input-CfTAY72X.js → onboarding.secret-input-DwOMM1C_.js} +1 -1
  170. package/dist/{openai-model-default-Baj13Ct-.js → openai-model-default-D_zYYe_9.js} +2 -2
  171. package/dist/{openclaw-root-B2l0kAM1.js → openclaw-root-BGUYWYDG.js} +2 -2
  172. package/dist/{operator-commands-8955-2ij.js → operator-commands-C1JSSS9_.js} +7 -7
  173. package/dist/{outbound-attachment-DXOLYhTE.js → outbound-attachment-DV8nfM5h.js} +2 -2
  174. package/dist/{outbound-attachment-CLvbW9Xc.js → outbound-attachment-papyIJq7.js} +2 -2
  175. package/dist/{outbound-message-hooks-B3d6x2bV.js → outbound-message-hooks-C4OaIRmC.js} +5 -5
  176. package/dist/{outbound-message-hooks-Cqp1e1kN.js → outbound-message-hooks-DJIHczZE.js} +5 -5
  177. package/dist/{pairing-cli-HlVxPH4p.js → pairing-cli-B3kETJVT.js} +13 -13
  178. package/dist/{pairing-labels-CzfCTcWR.js → pairing-labels-DwJGNsPY.js} +1 -1
  179. package/dist/{pairing-store-ClC923Wz.js → pairing-store-Deylvw9t.js} +3 -3
  180. package/dist/{path-alias-guards-Bj0l9f26.js → path-alias-guards-CM0vBH_Z.js} +1 -1
  181. package/dist/{path-alias-guards-BWeHJfpx.js → path-alias-guards-CgeH2aSH.js} +3 -3
  182. package/dist/{path-env-BBelmr45.js → path-env-BpMauqkY.js} +1 -1
  183. package/dist/{path-safety-DMAi6_-A.js → path-safety-BTAa9g_F.js} +1 -1
  184. package/dist/{pi-embedded-BMxexBYS.js → pi-embedded-MxBrZ5X7.js} +28 -28
  185. package/dist/{pi-embedded-wTLTzzic.js → pi-embedded-OmBDo0DF.js} +91 -91
  186. package/dist/{pi-embedded-helpers-58qqCaMi.js → pi-embedded-helpers-CjMOJlwL.js} +8 -8
  187. package/dist/{pi-embedded-recovery-adapter-JHx8Xn5G.js → pi-embedded-recovery-adapter-Ded_keBv.js} +35 -35
  188. package/dist/{pi-embedded-utils-BHzcjLyI.js → pi-embedded-utils-BI0V7Kv6.js} +2 -2
  189. package/dist/{pi-embedded-utils-fl8kob5O.js → pi-embedded-utils-BRaMXyni.js} +3 -3
  190. package/dist/{pi-embedded-utils-BxBSc2aN.js → pi-embedded-utils-D6Ee9Uyb.js} +1 -1
  191. package/dist/{pi-model-discovery-D-MvwJ9N.js → pi-model-discovery-BnKlqzf2.js} +1 -1
  192. package/dist/{pi-model-discovery-BEinSrd8.js → pi-model-discovery-RM-t2m70.js} +1 -1
  193. package/dist/{pi-tools.policy-CQBCu2m0.js → pi-tools.policy-CNWwkqR2.js} +5 -5
  194. package/dist/{pid-alive-CQpmBPPl.js → pid-alive-C3qbS2SA.js} +1 -1
  195. package/dist/{plugin-owned-work-recovery-adapter-Bn-F7Hfx.js → plugin-owned-work-recovery-adapter-tgBosC-H.js} +10 -10
  196. package/dist/{plugin-registry-D0fdIYR7.js → plugin-registry-ecUtEnu8.js} +4 -4
  197. package/dist/plugin-sdk/provider-media-understanding.js +7 -7
  198. package/dist/{plugins-cli--o_AZsyD.js → plugins-cli-D1q-BD8n.js} +113 -113
  199. package/dist/{polling-timeout-BfQqGdT2.js → polling-timeout-HyiW4Q3a.js} +3 -3
  200. package/dist/{ports-CcN3W_2z.js → ports-CmfLs9tb.js} +2 -2
  201. package/dist/{ports-Cp281kk8.js → ports-DJ_M8scl.js} +6 -6
  202. package/dist/{program-context-Bvfo3zMR.js → program-context-BCw1Yuns.js} +47 -47
  203. package/dist/{progress-D7S5GoOi.js → progress-Cbn-oYkW.js} +2 -2
  204. package/dist/{prompt-select-styled-C4VXJH2H.js → prompt-select-styled-CSDZSzXV.js} +51 -51
  205. package/dist/{prompt-style-o9ooijd1.js → prompt-style-B2xUetmj.js} +1 -1
  206. package/dist/{provider-auth-helpers-BiqgXxJP.js → provider-auth-helpers-DhziUI1g.js} +6 -6
  207. package/dist/{provider-image-C5-IlVG0.js → provider-image-BXyzJKFR.js} +1 -1
  208. package/dist/{provider-image-BbsxRTqB.js → provider-image-DpILAK4L.js} +6 -6
  209. package/dist/{provider-image-mZ4mWjfm.js → provider-image-RrciW1DD.js} +6 -6
  210. package/dist/{proxy-DIf6ZG9s.js → proxy-BaYXOmCA.js} +1 -1
  211. package/dist/{proxy-FZnR0j7S.js → proxy-CXiTHFXk.js} +1 -1
  212. package/dist/{proxy-env-DMj9RqDZ.js → proxy-env-B_4G-Zvx.js} +1 -1
  213. package/dist/{proxy-fetch-BSYUeKDC.js → proxy-fetch-BdB5Hb7r.js} +1 -1
  214. package/dist/{proxy-fetch-CeK1ZBeq.js → proxy-fetch-DxABZ-6S.js} +1 -1
  215. package/dist/{push-apns-BAZ2gS1A.js → push-apns-C_8RshML.js} +10 -10
  216. package/dist/{pw-ai-C1CsyDRn.js → pw-ai-B9xme0Pq.js} +1 -1
  217. package/dist/{pw-ai-DV1vh3L9.js → pw-ai-BJm46rii.js} +11 -11
  218. package/dist/{pw-ai-CVNyf8Ps.js → pw-ai-cXnI0RSD.js} +21 -21
  219. package/dist/{qmd-manager-ZfBaKzRa.js → qmd-manager-5DFozdW5.js} +8 -8
  220. package/dist/{qmd-manager-DiABKT7O.js → qmd-manager-BQrWBuxv.js} +25 -25
  221. package/dist/{qr-cli-DGTUy-aw.js → qr-cli-BCEk7nPF.js} +8 -8
  222. package/dist/{query-expansion-BcXh1Hyc.js → query-expansion-96au1v0j.js} +14 -14
  223. package/dist/{query-expansion-BHpPid-F.js → query-expansion-AnpCkyvK.js} +2 -2
  224. package/dist/{reconcile-bundled-B64Cy2I8.js → reconcile-bundled-BN_64UUh.js} +3 -3
  225. package/dist/{recorder-BiGPFc4h.js → recorder-BdRGbnWA.js} +4 -4
  226. package/dist/{recorder-wcIhZTuf.js → recorder-CQ4TEexc.js} +4 -4
  227. package/dist/{recovery-adapter-DXIa6Q_V.js → recovery-adapter-B2XqKqkY.js} +7 -7
  228. package/dist/{recovery-adapter-CLaKhchi.js → recovery-adapter-G2cG0rVa.js} +3 -3
  229. package/dist/{recovery-adapter-DdG68ESY.js → recovery-adapter-T9ng5nO9.js} +3 -3
  230. package/dist/{recovery-prompt-ksHwpSU2.js → recovery-prompt-9MKTTZMu.js} +1 -1
  231. package/dist/{redact-CNUi9G7H.js → redact-CFlw_DPT.js} +2 -2
  232. package/dist/{redact-snapshot-Blr7A6nM.js → redact-snapshot-Dea1X-KK.js} +2 -2
  233. package/dist/{register.agent-BftkCSzq.js → register.agent-70W8aMjZ.js} +128 -128
  234. package/dist/register.configure-Dw8LtvvS.js +170 -0
  235. package/dist/{register.maintenance-DLvVIgj7.js → register.maintenance-BUn0KquU.js} +129 -129
  236. package/dist/{register.message-BkfkSHmX.js → register.message-B90VvAa9.js} +103 -103
  237. package/dist/{register.onboard-CoQl5Y0I.js → register.onboard-CvtqqARL.js} +24 -24
  238. package/dist/{register.setup-DLKvWced.js → register.setup-NvomFGXG.js} +27 -27
  239. package/dist/{register.status-health-sessions-BXjWk0Rf.js → register.status-health-sessions-raLVwOhK.js} +120 -120
  240. package/dist/{replay-DEbuRxsV.js → replay-BNSm4qb0.js} +1 -1
  241. package/dist/{replies-BaVRDgoi.js → replies-CX9Xycso.js} +4 -4
  242. package/dist/{replies-sGMpONzr.js → replies-CyFLfpjN.js} +4 -4
  243. package/dist/{reply-B_ZnZCbr.js → reply-BBWUbEms.js} +189 -189
  244. package/dist/{reply-directives-VihT5tNP.js → reply-directives-Ba6CeI2G.js} +2 -2
  245. package/dist/{reply-directives-DAFMLUk3.js → reply-directives-MYQDM4s1.js} +2 -2
  246. package/dist/{reply-prefix-C9ItOkY0.js → reply-prefix-DIYk1Bw7.js} +1 -1
  247. package/dist/{reply-prefix-C_GmvupX.js → reply-prefix-JMlWztfO.js} +1 -1
  248. package/dist/{resolve-route-ESAi6vf5.js → resolve-route-CgDtn6OF.js} +5 -5
  249. package/dist/{resolve-route-DItBlJTa.js → resolve-route-D59i7uq2.js} +5 -5
  250. package/dist/{rpc-C7PAon6G.js → rpc-Bb2CwMXM.js} +3 -3
  251. package/dist/{runs-BAWrhAPG.js → runs-D22rrc2J.js} +8 -8
  252. package/dist/{runs-DAxZxrkH.js → runs-PqmTA3bR.js} +7 -7
  253. package/dist/{runs-kMwrTbuD.js → runs-s2c7mYPm.js} +3 -3
  254. package/dist/{runtime-C2XMT9jZ.js → runtime-9MDCiTo5.js} +4 -4
  255. package/dist/{runtime-config-collectors-D8giqZX1.js → runtime-config-collectors-DsDVTJ9L.js} +1 -1
  256. package/dist/{runtime-guard-Ce3hA73q.js → runtime-guard-aqfwJvKU.js} +1 -1
  257. package/dist/{sandbox-CaDaMuIS.js → sandbox-72tGhoFB.js} +19 -19
  258. package/dist/{sandbox-cli-D09-_MhG.js → sandbox-cli-P_SvHFh0.js} +29 -29
  259. package/dist/{secrets-cli-D1rwgI_i.js → secrets-cli-BfWs6PM7.js} +19 -19
  260. package/dist/{security-cli-DQbLcpvg.js → security-cli-bCnaX9U1.js} +46 -46
  261. package/dist/{send-st-VqnD1.js → send-BetYjLRt.js} +6 -6
  262. package/dist/{send-9_nNhllu.js → send-CgOqje6b.js} +14 -14
  263. package/dist/{send-CSeSlBgP.js → send-D3ylt51d.js} +13 -13
  264. package/dist/{send-BYpMIfkf.js → send-DFDs0YVo.js} +8 -8
  265. package/dist/{send-xSaCPdp5.js → send-DIo9GaAd.js} +6 -6
  266. package/dist/{send-n4HUnjJL.js → send-DQKTiyZo.js} +14 -14
  267. package/dist/{send-Dlz0xalZ.js → send-DQsInb-M.js} +6 -6
  268. package/dist/{send-BHuAEQE3.js → send-DoMFLnPv.js} +1 -1
  269. package/dist/{send-DbTOnKy8.js → send-EUMoqR5x.js} +6 -6
  270. package/dist/{send-CvwC56PP.js → send-NC1Swsc7.js} +7 -7
  271. package/dist/{send-CUUoNRjN.js → send-isYw7gNy.js} +7 -7
  272. package/dist/{server-DNrc5ufA.js → server-COf8596I.js} +27 -27
  273. package/dist/{server-context-hLmBApV6.js → server-context-DPXHpsDT.js} +12 -12
  274. package/dist/{server-lifecycle-CuLYk0SE.js → server-lifecycle-BiT2RK1-.js} +3 -3
  275. package/dist/{server-middleware-DGHNQp4r.js → server-middleware-CJid88Uz.js} +1 -1
  276. package/dist/{server-node-events-32NLKlcp.js → server-node-events-DmNKXZqH.js} +103 -103
  277. package/dist/{service-CjlQTRXS.js → service-BYi3UODF.js} +15 -15
  278. package/dist/{session-consumer-agents-Tp24W-mn.js → session-consumer-agents-BNkbq0X0.js} +1 -1
  279. package/dist/{session-consumer-claim-sweep-DTdZIrGU.js → session-consumer-claim-sweep-qTcERA_U.js} +10 -10
  280. package/dist/{session-cost-usage-C8x0Ma2X.js → session-cost-usage-BuaT9Epp.js} +3 -3
  281. package/dist/{session-key-DeVMAKRZ.js → session-key-BxmJDkEI.js} +1 -1
  282. package/dist/{session-key-resolution-bGrvOHtd.js → session-key-resolution-4d3BG0mA.js} +5 -5
  283. package/dist/{session-meta-B70hyZ6H.js → session-meta-B2VOXhYi.js} +2 -2
  284. package/dist/{session-meta-Dhf9REA2.js → session-meta-qJ09DaOQ.js} +2 -2
  285. package/dist/{session-storage-BKoYylot.js → session-storage-v3yHC3M6.js} +9 -9
  286. package/dist/{sessions-oXRiWY1z.js → sessions-D_Z9ewVp.js} +18 -18
  287. package/dist/{sessions-claims-status-COBv4-9y.js → sessions-claims-status-BlZz_25A.js} +14 -14
  288. package/dist/{shared-CdvXdH5h.js → shared-BxpBpS9X.js} +2 -2
  289. package/dist/{shared-BzyqCGAR.js → shared-C8TVt9Tv.js} +4 -4
  290. package/dist/{skill-commands-DFbO0Pwj.js → skill-commands-BjOR0izt.js} +5 -5
  291. package/dist/{skill-commands-CcC4TPnA.js → skill-commands-D3U8ty_X.js} +7 -7
  292. package/dist/{skill-scanner-CtZuUDBn.js → skill-scanner-XMBq6JrQ.js} +7 -7
  293. package/dist/{skills-DX80qJzU.js → skills-BJ7s0Wfe.js} +6 -6
  294. package/dist/{skills-CD8SFzX0.js → skills-DueobKPc.js} +6 -6
  295. package/dist/{skills-cli-7_VZ_au1.js → skills-cli-Dt-g2aoD.js} +12 -12
  296. package/dist/{skills-install-O8JPmNxm.js → skills-install-CQfmtCLR.js} +9 -9
  297. package/dist/{skills-status-BE_oa3Dd.js → skills-status-Du76K8bv.js} +3 -3
  298. package/dist/{ssrf-DjjqWxdp.js → ssrf-CUBo6TIZ.js} +1 -1
  299. package/dist/{status--Lvi3tz9.js → status-C3eqPaNb.js} +38 -38
  300. package/dist/{status.update-CWMFCByv.js → status.update-BlFaGKuA.js} +2 -2
  301. package/dist/{store-CGnsRznR.js → store-DS83zC6I.js} +7 -7
  302. package/dist/{store-DIKyCinG.js → store-DwfBHQl9.js} +2 -2
  303. package/dist/{subsystem-BCjklMkJ.js → subsystem-CnnjiGCl.js} +4 -4
  304. package/dist/{subsystem-DU1uzmTH.js → subsystem-Cwzs7yN0.js} +1 -1
  305. package/dist/{supervisor-8TdOYzAn.js → supervisor-BkHwVnJ0.js} +2 -2
  306. package/dist/{supervisor-recovery-adapter-DvR4we0D.js → supervisor-recovery-adapter-Cmw-7toT.js} +10 -10
  307. package/dist/{system-cli-BJG4flcz.js → system-cli-DZo_Xeus.js} +16 -16
  308. package/dist/{system-run-command-B9eoNN_E.js → system-run-command-BCygkYAm.js} +2 -2
  309. package/dist/{systemd-BuE-CYAD.js → systemd-BD_TMCHG.js} +11 -11
  310. package/dist/{systemd-hints-_4BTlat8.js → systemd-hints-hI4IEn0G.js} +9 -9
  311. package/dist/{systemd-linger-BCLLdRLW.js → systemd-linger-CzdYcYLi.js} +2 -2
  312. package/dist/{table-BZCTLfip.js → table-WoBQBfIP.js} +2 -2
  313. package/dist/{tables-BvxLmMF8.js → tables-CwG3ab8g.js} +1 -1
  314. package/dist/{tables-D07R1ft9.js → tables-Dzfx8UwI.js} +1 -1
  315. package/dist/{tailnet-DZu3euUT.js → tailnet-CQ7A44gN.js} +1 -1
  316. package/dist/{tailscale--cedl8k7.js → tailscale-DfhEC7E3.js} +3 -3
  317. package/dist/{task-pipeline-boot-vMI_gNlk.js → task-pipeline-boot-h8Guy4BE.js} +102 -102
  318. package/dist/{task-runlog-retention-BE0zP95z.js → task-runlog-retention-AeS4_zJ9.js} +5 -5
  319. package/dist/{tasks-BWHXch35.js → tasks-CA7n154j.js} +14 -14
  320. package/dist/{tokens-9Mla_HDp.js → tokens-CtSIDTuO.js} +1 -1
  321. package/dist/{tokens-BkGFSf77.js → tokens-D0Wagzn5.js} +1 -1
  322. package/dist/{tool-display-D2nTy2g3.js → tool-display-B_gL6TP4.js} +1 -1
  323. package/dist/{tool-loop-detection-dvzbYw_Z.js → tool-loop-detection-B_KXzW0J.js} +2 -2
  324. package/dist/{tool-loop-detection-8uvf8mSd.js → tool-loop-detection-CAixnaA2.js} +1 -1
  325. package/dist/{trash-DWehd5bk.js → trash-B2rgeHwV.js} +3 -3
  326. package/dist/{tui-BA_R7cVj.js → tui-BkUR35kr.js} +9 -9
  327. package/dist/{tui-cli-DhmKosuh.js → tui-cli-Dx8Rq2LS.js} +34 -34
  328. package/dist/{update-FpPZoisy.js → update-BD9vD-O3.js} +3 -3
  329. package/dist/{update-cli-DPr6FZQx.js → update-cli-CtGdmnAx.js} +139 -139
  330. package/dist/{update-runner-CP_x4nIG.js → update-runner-CRgsunyU.js} +18 -18
  331. package/dist/{user-run-recording-CB_RnvEh.js → user-run-recording-CboLnb8e.js} +2 -2
  332. package/dist/{user-run-recording-Bw40Tyil.js → user-run-recording-Cx6DoQwH.js} +2 -2
  333. package/dist/{utils-CfKD3xTt.js → utils-RlDPCeiE.js} +7 -7
  334. package/dist/{validation-cli-BLYVzQJW.js → validation-cli-CP7Wtoi4.js} +102 -102
  335. package/dist/{web-cli-DmXJYuSq.js → web-cli-Cqrw6g5k.js} +3 -3
  336. package/dist/{web-client-assets-CISlpYd9.js → web-client-assets-BC6Q9ril.js} +1 -1
  337. package/dist/{webhooks-cli-GjZJ14FF.js → webhooks-cli-DO81W6GV.js} +13 -13
  338. package/dist/{widearea-dns-FDkEBJ9c.js → widearea-dns-BfsfK5rQ.js} +1 -1
  339. package/dist/{with-timeout-D2Gp5kcM.js → with-timeout-Cpd_eIHB.js} +6 -6
  340. package/dist/{workspace-pXJaZvDa.js → workspace-Btbae6MM.js} +2 -2
  341. package/dist/{workspace-DwaGPsZ8.js → workspace-DpuyoXQY.js} +2 -2
  342. package/dist/{workspace-dirs-DWQAyUTc.js → workspace-dirs-De3z5PEp.js} +1 -1
  343. package/dist/{ws-BkTpOVYX.js → ws-1r6e9Dys.js} +2 -2
  344. package/dist/{wsl-ypAd8C-g.js → wsl-D6pCsktY.js} +2 -2
  345. package/extensions/acpx/package.json +1 -1
  346. package/extensions/anthropic/package.json +1 -1
  347. package/extensions/bifrost/package.json +1 -1
  348. package/extensions/bluebubbles/package.json +1 -1
  349. package/extensions/copilot-proxy/package.json +1 -1
  350. package/extensions/deepgram/package.json +1 -1
  351. package/extensions/deepinfra/package.json +1 -1
  352. package/extensions/diagnostics-otel/package.json +1 -1
  353. package/extensions/diffs/package.json +1 -1
  354. package/extensions/discord/package.json +1 -1
  355. package/extensions/dream-cycle/package.json +1 -1
  356. package/extensions/elevenlabs/package.json +1 -1
  357. package/extensions/feishu/package.json +1 -1
  358. package/extensions/gemini-search/package.json +1 -1
  359. package/extensions/google/package.json +1 -1
  360. package/extensions/google-gemini-cli-auth/package.json +1 -1
  361. package/extensions/googlechat/package.json +1 -1
  362. package/extensions/grok-search/package.json +1 -1
  363. package/extensions/groq/package.json +1 -1
  364. package/extensions/imessage/package.json +1 -1
  365. package/extensions/irc/package.json +1 -1
  366. package/extensions/kimi-search/package.json +1 -1
  367. package/extensions/learning-core/package.json +1 -1
  368. package/extensions/line/package.json +1 -1
  369. package/extensions/llm-task/package.json +1 -1
  370. package/extensions/lobster/package.json +1 -1
  371. package/extensions/matrix/CHANGELOG.md +1 -1
  372. package/extensions/matrix/package.json +1 -1
  373. package/extensions/mattermost/package.json +1 -1
  374. package/extensions/memory-core/package.json +1 -1
  375. package/extensions/memory-lancedb/package.json +1 -1
  376. package/extensions/minimax/package.json +1 -1
  377. package/extensions/minimax-portal-auth/package.json +1 -1
  378. package/extensions/mistral/package.json +1 -1
  379. package/extensions/moonshot/package.json +1 -1
  380. package/extensions/msteams/CHANGELOG.md +1 -1
  381. package/extensions/msteams/package.json +1 -1
  382. package/extensions/nextcloud-talk/package.json +1 -1
  383. package/extensions/nostr/CHANGELOG.md +1 -1
  384. package/extensions/nostr/package.json +1 -1
  385. package/extensions/open-prose/package.json +1 -1
  386. package/extensions/openai/package.json +1 -1
  387. package/extensions/openai-realtime/package.json +1 -1
  388. package/extensions/openrouter/package.json +1 -1
  389. package/extensions/perplexity-search/package.json +1 -1
  390. package/extensions/searxng-search/package.json +1 -1
  391. package/extensions/signal/package.json +1 -1
  392. package/extensions/slack/package.json +1 -1
  393. package/extensions/synology-chat/package.json +1 -1
  394. package/extensions/telegram/package.json +1 -1
  395. package/extensions/tlon/package.json +1 -1
  396. package/extensions/twitch/CHANGELOG.md +1 -1
  397. package/extensions/twitch/package.json +1 -1
  398. package/extensions/voice-call/CHANGELOG.md +1 -1
  399. package/extensions/voice-call/package.json +1 -1
  400. package/extensions/whatsapp/package.json +1 -1
  401. package/extensions/zai/package.json +1 -1
  402. package/extensions/zalo/CHANGELOG.md +1 -1
  403. package/extensions/zalo/package.json +1 -1
  404. package/extensions/zalouser/CHANGELOG.md +1 -1
  405. package/extensions/zalouser/package.json +1 -1
  406. package/package.json +1 -1
  407. package/dist/clawbot-cli-WGBrdTF4.js +0 -36
  408. package/dist/cli-NNNYfyG4.js +0 -166
  409. package/dist/register.configure-Dt0U1PJD.js +0 -170
@@ -1,135 +1,135 @@
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 { C as truncateUtf16Safe, I as theme, L as getChildLogger, N as warn, O as logVerbose, W as appendFileLog, Z as normalizeLogLevel, b as sleep$1, d as isRecord$1, dt as openBoundaryFileSync, f as normalizeE164, g as resolveUserPath, i as clampInt, j as shouldLogVerbose, jt as resolvePreferredOpenClawTmpDir, l as escapeRegExp, nt as INCLUDE_KEY, ot as isBlockedObjectKey, t as CONFIG_DIR, ut as openBoundaryFile, v as shortenHomeInString, w as danger, wt as isDangerousHostEnvVarName, x as sliceUtf16Safe, xt as normalizeWindowsPathForComparison, y as shortenHomePath } from "./utils-CfKD3xTt.js";
3
+ import { C as truncateUtf16Safe, I as theme, L as getChildLogger, N as warn, O as logVerbose, W as appendFileLog, Z as normalizeLogLevel, b as sleep$1, d as isRecord$1, dt as openBoundaryFileSync, f as normalizeE164, g as resolveUserPath, i as clampInt, j as shouldLogVerbose, jt as resolvePreferredOpenClawTmpDir, l as escapeRegExp, nt as INCLUDE_KEY, ot as isBlockedObjectKey, t as CONFIG_DIR, ut as openBoundaryFile, v as shortenHomeInString, w as danger, wt as isDangerousHostEnvVarName, x as sliceUtf16Safe, xt as normalizeWindowsPathForComparison, y as shortenHomePath } from "./utils-RlDPCeiE.js";
4
4
  import { t as isPlainObject } from "./plain-object-CLm2c5Nu.js";
5
5
  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-DDIdpLYh.js";
6
- 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-Isfe_TTc.js";
7
- import { m as defaultRuntime, p as createNonExitingRuntime, t as createSubsystemLogger } from "./subsystem-DU1uzmTH.js";
8
- import { A as deriveSessionChatType, D as BACKGROUND_SESSION_KEY_SEGMENT, E as normalizeOptionalAccountId, F as isSubagentSessionKey, I as parseAgentSessionKey, L as resolveThreadParentSessionKey, M as isAcpSessionKey, O as HEARTBEAT_SESSION_KEY_SEGMENT, P as isCronSessionKey, S as toAgentStoreSessionKey, T as normalizeAccountId$3, _ as resolveConfiguredCanonicalIdentity, a as buildAgentMainSessionKey, b as sanitizeAgentId, d as isKnownAgentMainSessionKey, f as isValidAgentId, g as resolveCanonicalIdentity, h as resolveAgentIdFromSessionKey, j as getSubagentDepth, k as WAKE_GATE_SESSION_KEY_SEGMENT, m as normalizeMainKey, p as normalizeAgentId, r as DEVICE_SENDER_PREFIX, s as classifySessionKeyShape, t as DEFAULT_AGENT_ID, w as DEFAULT_ACCOUNT_ID, y as resolveThreadSessionKeys } from "./session-key-DeVMAKRZ.js";
9
- import { i as logWarn, n as logError, r as logInfo, t as logDebug } from "./logger-Bd6qOjzT.js";
10
- import { n as runExec, t as runCommandWithTimeout } from "./exec-BNayx9Nm.js";
11
- import { n as resolveOpenClawPackageRoot } from "./openclaw-root-B2l0kAM1.js";
12
- import { $ as buildUsageWithNoCost, $a as emitSessionTranscriptUpdate, $c as setConfigValueAtPath, $n as isPathInside, $o as resolveSessionResetType, $u as normalizeSecretInput, Ai as archiveSessionTranscripts, Ao as createCurrentUserPromptEnvelope, As as resolveSlackAccount, Au as dedupeProfileIds, B as retryAsync, Ba as resolveMirroredTranscriptText, Bl as mapStreamingModeToSlackLegacyDraftStreamMode, Bn as BUNDLED_ENABLED_BY_DEFAULT, Bo as deriveSessionTotalTokens, Br as registerPluginCommand, Bt as validateConfigObjectWithPlugins, C as resolveThinkingDefault, Cc as normalizeHyphenSlug, Ci as deliveryContextFromSession, Cr as addRegisteredPluginApi, Cs as resolveTelegramAccount, Ct as resolveApiKeyForProfile, Di as normalizeSessionDeliveryFields, Ec as acquireSessionWriteLock, Ei as normalizeDeliveryContext, En as isAvatarHttpUrl, Er as createPluginRegistry, Fo as formatUtcTimestamp, Fr as clearPluginCommands, Ft as readConfigFileSnapshot, Gn as resolveEffectiveEnableState, Gs as createDiscordActionGate, Gu as resolveOpenClawAgentDir, Hl as resolveSlackNativeStreaming, Hn as isBundledChannelEnabledByChannelConfig, Ho as makeZeroUsageSnapshot, Ht as TELEGRAM_COMMAND_NAME_PATTERN, Ia as extractDeliveryInfo, In as loadPluginManifestRegistry, Io as formatZonedTimestamp, Ir as executePluginCommand, J as OLLAMA_NATIVE_BASE_URL, Ja as DB_SESSION_HYDRATION_LIMIT, Jc as resetConfigOverrides, Jo as resolveSessionKey, Jt as resolveIMessageAttachmentRoots, Ju as resolveAuthProfileDisplayLabel, Ka as createPrimaryWriteInterceptor, Kt as isInboundPathAllowed, La as parseSessionThreadInfo, Lc as discardBufferedPluginTaskPasses, Lo as resolveTimezone, Lr as getPluginCommandSpecs, Ls as resolveSignalAccount, Lu as ensureAuthProfileStore, Mo as toJsonValue$1, Mr as normalizePluginHttpPath, Ms as resolveSlackAppToken, Mu as markAuthProfileGood, Na as writeJsonAtomic, Nn as validateJsonSchemaValue, No as buildInboundMetaSystemPrompt, Nr as buildPluginHealthReport, Ns as resolveSlackBotToken, Nt as loadConfig, Oc as resolveSessionLockMaxHoldFromTimeout, Oi as normalizeAccountId$4, On as isPathWithinRoot, Oo as sanitizeJsonb, Ou as resolveOwnerDisplaySetting, Pa as parseDurationMs, Pl as applyMergePatch, Po as buildInboundUserContextPrefix, Ps as listEnabledSignalAccounts, Q as buildStreamErrorAssistantMessage, Qc as parseConfigPath, Qn as discoverOpenClawPlugins, Qo as resolveSessionResetPolicy, Qs as resolveChannelGroupRequireMention, Ra as appendAssistantMessageToSessionTranscript, Ro as resolveSenderLabel, Rr as listPluginCommands, Rs as isWhatsAppGroupJid, S as resolveSubagentSpawnModelSelection, Sc as normalizeAtHashSlug, Si as resolveCacheTtlMs$1, St as resolveProfilesUnavailableReason, Tc as normalizeStringEntriesLower, Ti as mergeDeliveryContext, Tn as isAvatarDataUrl, Ts as buildChannelAccountBindings, Tu as resolveShellEnvFallbackTimeoutMs, Ua as withPreservationWriterPermit, Ul as resolveSlackStreamingMode, Uo as normalizeUsage, Ut as normalizeTelegramCommandName, Va as resolveAndPersistSessionFile, Vc as replaceBufferedPluginTaskPasses, Vl as resolveDiscordPreviewStreamMode, Vn as applyTestPluginDefaults, Vo as hasNonzeroUsage, Vs as resolveWhatsAppAccount, Wa as isJsonlSessionBackend, Wc as RecoveryAdmissionError, Wn as normalizePluginsConfig, Ws as resolveIMessageAccount, Wt as resolveTelegramCustomCommands, Wu as resolveAuthStorePathForDisplay, X as buildAssistantMessage, Xa as parseInlineDirectives$1, Xc as unsetConfigOverride, Xs as normalizeDiscordToken, Xt as normalizeScpRemoteHost, Y as createOllamaStreamFn, Ya as hydrateSessionManagerFromDb, Yc as setConfigOverride, Yo as evaluateSessionFreshness, Yr as triggerInternalHook, Ys as resolveDiscordAccount, Yt as resolveIMessageRemoteAttachmentRoots, Z as buildAssistantMessageWithZeroUsage, Zc as getConfigValueAtPath, Zo as resolveChannelResetConfig, Zs as resolveChannelGroupPolicy, Zt as parseNonNegativeByteSize, _ as resolveDefaultModelForAgent, _c as GATEWAY_CLIENT_MODES, _i as syncConfiguredSessionTranscriptToRuntime, _s as listChannelDocks, _t as getSoonestCooldownExpiry, aa as hasInterSessionUserProvenance, ac as isDeliverableMessageChannel, ai as getConfiguredSessionStorageRuntime, ar as CHAT_CHANNEL_ORDER, as as canonicalizeMainSessionAlias, at as resolveEnvApiKey, b as resolveReasoningDefault, bi as updateSessionStoreEntry, bs as listEnabledTelegramAccounts, bt as markAuthProfileUsed, bu as resolveAgentMaxConcurrent, c as modelKey, cc as isInternalMessageChannel, cl as buildEnforcedShellCommand, cs as resolveMainSessionKey, d as normalizeProviderId, dc as listDeliverableMessageChannels, dd as DEFAULT_MODEL, di as readSessionUpdatedAt, dr as normalizeChannelId$1, ea as stripLeadingInboundMetadata, el as unsetConfigValueAtPath, eo as onSessionTranscriptUpdate, er as safeStatSync, es as resolveThreadFlag, et as getApiKeyForModel, fc as normalizeMessageChannel, fd as DEFAULT_PROVIDER, fi as recordSessionMetaFromInbound, fs as getChannelPlugin, g as resolveConfiguredModelRef, gc as GATEWAY_CLIENT_IDS, gr as getActivePluginRegistryKey, gs as getChannelDock, gt as resolveAuthProfileOrder, hr as getActivePluginRegistry, i as findNormalizedProviderValue, ia as applyInputProvenanceToUserMessage, ic as INTERNAL_MESSAGE_CHANNEL, ii as getActivePreservationLease, is as setSessionRuntimeModel, ji as capArrayByJsonBytes, jo as mergePromptContributions, js as resolveSlackReplyToMode, ju as listProfilesForProvider, kc as readTaskWorkStates, kn as isSupportedLocalAvatarExtension, ko as sha256, l as normalizeModelRef$2, lc as isMarkdownCapableMessageChannel, ld as splitTrailingAuthProfile, mc as resolveMessageChannel, mr as getActiveGatewayPluginRegistry, ms as normalizeChannelId$2, n as buildConfiguredAllowlistKeys, ns as mergeSessionEntry, nt as requireApiKey, oa as normalizeInputProvenance, od as normalizeResolvedSecretInputString, oi as isPreservationArmed, os as resolveAgentMainSessionKey, ot as resolveModelAuthMode, p as parseModelRef, pc as resolveGatewayMessageChannel, ps as listChannelPlugins, qa as drainPendingPrimaryWrites, qc as getConfigOverrides, qn as resolveMemorySlotDecision, qr as createInternalHookEvent, qs as listEnabledDiscordAccounts, qu as withFileLock, r as buildModelAliasIndex, rc as resolveGroupSessionKey, rn as resolveExecPolicyPreset, rs as resolveFreshSessionTotalTokens, rt as resolveApiKeyForProvider, s as isCliProvider, sa as jsonUtf8Bytes, sc as isGatewayMessageChannel, si as loadSessionStore, ss as resolveExplicitAgentSessionKey, t as buildAllowedModelSet, tc as resolveAccountEntry, ts as DEFAULT_RESET_TRIGGERS, tt as getCustomProviderApiKey, ud as DEFAULT_CONTEXT_TOKENS, ur as normalizeAnyChannelId, us as deriveSessionMetaPatch, vc as GATEWAY_CLIENT_NAMES, vi as updateLastRoute, vs as normalizeSignalMessagingTarget, vt as isProfileInCooldown, wc as normalizeStringEntries, wi as deliveryContextKey, wn as AVATAR_MAX_BYTES, wr as clearRegisteredPluginApis, ws as resolveTelegramToken, wu as getShellPathFromLoginShell, xi as isCacheEnabled, xr as setActivePluginRegistry, xs as listTelegramAccountIds, y as resolveModelRefFromString, yi as updateSessionStore, yr as requireActivePluginRegistry, ys as createTelegramActionGate, yt as markAuthProfileFailure, yu as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, zc as listBufferedPluginTaskPasses, zo as derivePromptTokens, zr as matchPluginCommand, zs as normalizeWhatsAppTarget, zt as writeConfigFile } from "./model-selection-D74qlS0C.js";
6
+ 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-C7A_L0Z6.js";
7
+ import { m as defaultRuntime, p as createNonExitingRuntime, t as createSubsystemLogger } from "./subsystem-Cwzs7yN0.js";
8
+ import { A as deriveSessionChatType, D as BACKGROUND_SESSION_KEY_SEGMENT, E as normalizeOptionalAccountId, F as isSubagentSessionKey, I as parseAgentSessionKey, L as resolveThreadParentSessionKey, M as isAcpSessionKey, O as HEARTBEAT_SESSION_KEY_SEGMENT, P as isCronSessionKey, S as toAgentStoreSessionKey, T as normalizeAccountId$3, _ as resolveConfiguredCanonicalIdentity, a as buildAgentMainSessionKey, b as sanitizeAgentId, d as isKnownAgentMainSessionKey, f as isValidAgentId, g as resolveCanonicalIdentity, h as resolveAgentIdFromSessionKey, j as getSubagentDepth, k as WAKE_GATE_SESSION_KEY_SEGMENT, m as normalizeMainKey, p as normalizeAgentId, r as DEVICE_SENDER_PREFIX, s as classifySessionKeyShape, t as DEFAULT_AGENT_ID, w as DEFAULT_ACCOUNT_ID, y as resolveThreadSessionKeys } from "./session-key-BxmJDkEI.js";
9
+ import { i as logWarn, n as logError, r as logInfo, t as logDebug } from "./logger-BSEmTtz1.js";
10
+ import { n as runExec, t as runCommandWithTimeout } from "./exec-g-Nx0X6p.js";
11
+ import { n as resolveOpenClawPackageRoot } from "./openclaw-root-BGUYWYDG.js";
12
+ import { $ as buildUsageWithNoCost, $a as emitSessionTranscriptUpdate, $c as setConfigValueAtPath, $n as isPathInside, $o as resolveSessionResetType, $u as normalizeSecretInput, Ai as archiveSessionTranscripts, Ao as createCurrentUserPromptEnvelope, As as resolveSlackAccount, Au as dedupeProfileIds, B as retryAsync, Ba as resolveMirroredTranscriptText, Bl as mapStreamingModeToSlackLegacyDraftStreamMode, Bn as BUNDLED_ENABLED_BY_DEFAULT, Bo as deriveSessionTotalTokens, Br as registerPluginCommand, Bt as validateConfigObjectWithPlugins, C as resolveThinkingDefault, Cc as normalizeHyphenSlug, Ci as deliveryContextFromSession, Cr as addRegisteredPluginApi, Cs as resolveTelegramAccount, Ct as resolveApiKeyForProfile, Di as normalizeSessionDeliveryFields, Ec as acquireSessionWriteLock, Ei as normalizeDeliveryContext, En as isAvatarHttpUrl, Er as createPluginRegistry, Fo as formatUtcTimestamp, Fr as clearPluginCommands, Ft as readConfigFileSnapshot, Gn as resolveEffectiveEnableState, Gs as createDiscordActionGate, Gu as resolveOpenClawAgentDir, Hl as resolveSlackNativeStreaming, Hn as isBundledChannelEnabledByChannelConfig, Ho as makeZeroUsageSnapshot, Ht as TELEGRAM_COMMAND_NAME_PATTERN, Ia as extractDeliveryInfo, In as loadPluginManifestRegistry, Io as formatZonedTimestamp, Ir as executePluginCommand, J as OLLAMA_NATIVE_BASE_URL, Ja as DB_SESSION_HYDRATION_LIMIT, Jc as resetConfigOverrides, Jo as resolveSessionKey, Jt as resolveIMessageAttachmentRoots, Ju as resolveAuthProfileDisplayLabel, Ka as createPrimaryWriteInterceptor, Kt as isInboundPathAllowed, La as parseSessionThreadInfo, Lc as discardBufferedPluginTaskPasses, Lo as resolveTimezone, Lr as getPluginCommandSpecs, Ls as resolveSignalAccount, Lu as ensureAuthProfileStore, Mo as toJsonValue$1, Mr as normalizePluginHttpPath, Ms as resolveSlackAppToken, Mu as markAuthProfileGood, Na as writeJsonAtomic, Nn as validateJsonSchemaValue, No as buildInboundMetaSystemPrompt, Nr as buildPluginHealthReport, Ns as resolveSlackBotToken, Nt as loadConfig, Oc as resolveSessionLockMaxHoldFromTimeout, Oi as normalizeAccountId$4, On as isPathWithinRoot, Oo as sanitizeJsonb, Ou as resolveOwnerDisplaySetting, Pa as parseDurationMs, Pl as applyMergePatch, Po as buildInboundUserContextPrefix, Ps as listEnabledSignalAccounts, Q as buildStreamErrorAssistantMessage, Qc as parseConfigPath, Qn as discoverOpenClawPlugins, Qo as resolveSessionResetPolicy, Qs as resolveChannelGroupRequireMention, Ra as appendAssistantMessageToSessionTranscript, Ro as resolveSenderLabel, Rr as listPluginCommands, Rs as isWhatsAppGroupJid, S as resolveSubagentSpawnModelSelection, Sc as normalizeAtHashSlug, Si as resolveCacheTtlMs$1, St as resolveProfilesUnavailableReason, Tc as normalizeStringEntriesLower, Ti as mergeDeliveryContext, Tn as isAvatarDataUrl, Ts as buildChannelAccountBindings, Tu as resolveShellEnvFallbackTimeoutMs, Ua as withPreservationWriterPermit, Ul as resolveSlackStreamingMode, Uo as normalizeUsage, Ut as normalizeTelegramCommandName, Va as resolveAndPersistSessionFile, Vc as replaceBufferedPluginTaskPasses, Vl as resolveDiscordPreviewStreamMode, Vn as applyTestPluginDefaults, Vo as hasNonzeroUsage, Vs as resolveWhatsAppAccount, Wa as isJsonlSessionBackend, Wc as RecoveryAdmissionError, Wn as normalizePluginsConfig, Ws as resolveIMessageAccount, Wt as resolveTelegramCustomCommands, Wu as resolveAuthStorePathForDisplay, X as buildAssistantMessage, Xa as parseInlineDirectives$1, Xc as unsetConfigOverride, Xs as normalizeDiscordToken, Xt as normalizeScpRemoteHost, Y as createOllamaStreamFn, Ya as hydrateSessionManagerFromDb, Yc as setConfigOverride, Yo as evaluateSessionFreshness, Yr as triggerInternalHook, Ys as resolveDiscordAccount, Yt as resolveIMessageRemoteAttachmentRoots, Z as buildAssistantMessageWithZeroUsage, Zc as getConfigValueAtPath, Zo as resolveChannelResetConfig, Zs as resolveChannelGroupPolicy, Zt as parseNonNegativeByteSize, _ as resolveDefaultModelForAgent, _c as GATEWAY_CLIENT_MODES, _i as syncConfiguredSessionTranscriptToRuntime, _s as listChannelDocks, _t as getSoonestCooldownExpiry, aa as hasInterSessionUserProvenance, ac as isDeliverableMessageChannel, ai as getConfiguredSessionStorageRuntime, ar as CHAT_CHANNEL_ORDER, as as canonicalizeMainSessionAlias, at as resolveEnvApiKey, b as resolveReasoningDefault, bi as updateSessionStoreEntry, bs as listEnabledTelegramAccounts, bt as markAuthProfileUsed, bu as resolveAgentMaxConcurrent, c as modelKey, cc as isInternalMessageChannel, cl as buildEnforcedShellCommand, cs as resolveMainSessionKey, d as normalizeProviderId, dc as listDeliverableMessageChannels, dd as DEFAULT_MODEL, di as readSessionUpdatedAt, dr as normalizeChannelId$1, ea as stripLeadingInboundMetadata, el as unsetConfigValueAtPath, eo as onSessionTranscriptUpdate, er as safeStatSync, es as resolveThreadFlag, et as getApiKeyForModel, fc as normalizeMessageChannel, fd as DEFAULT_PROVIDER, fi as recordSessionMetaFromInbound, fs as getChannelPlugin, g as resolveConfiguredModelRef, gc as GATEWAY_CLIENT_IDS, gr as getActivePluginRegistryKey, gs as getChannelDock, gt as resolveAuthProfileOrder, hr as getActivePluginRegistry, i as findNormalizedProviderValue, ia as applyInputProvenanceToUserMessage, ic as INTERNAL_MESSAGE_CHANNEL, ii as getActivePreservationLease, is as setSessionRuntimeModel, ji as capArrayByJsonBytes, jo as mergePromptContributions, js as resolveSlackReplyToMode, ju as listProfilesForProvider, kc as readTaskWorkStates, kn as isSupportedLocalAvatarExtension, ko as sha256, l as normalizeModelRef$2, lc as isMarkdownCapableMessageChannel, ld as splitTrailingAuthProfile, mc as resolveMessageChannel, mr as getActiveGatewayPluginRegistry, ms as normalizeChannelId$2, n as buildConfiguredAllowlistKeys, ns as mergeSessionEntry, nt as requireApiKey, oa as normalizeInputProvenance, od as normalizeResolvedSecretInputString, oi as isPreservationArmed, os as resolveAgentMainSessionKey, ot as resolveModelAuthMode, p as parseModelRef, pc as resolveGatewayMessageChannel, ps as listChannelPlugins, qa as drainPendingPrimaryWrites, qc as getConfigOverrides, qn as resolveMemorySlotDecision, qr as createInternalHookEvent, qs as listEnabledDiscordAccounts, qu as withFileLock, r as buildModelAliasIndex, rc as resolveGroupSessionKey, rn as resolveExecPolicyPreset, rs as resolveFreshSessionTotalTokens, rt as resolveApiKeyForProvider, s as isCliProvider, sa as jsonUtf8Bytes, sc as isGatewayMessageChannel, si as loadSessionStore, ss as resolveExplicitAgentSessionKey, t as buildAllowedModelSet, tc as resolveAccountEntry, ts as DEFAULT_RESET_TRIGGERS, tt as getCustomProviderApiKey, ud as DEFAULT_CONTEXT_TOKENS, ur as normalizeAnyChannelId, us as deriveSessionMetaPatch, vc as GATEWAY_CLIENT_NAMES, vi as updateLastRoute, vs as normalizeSignalMessagingTarget, vt as isProfileInCooldown, wc as normalizeStringEntries, wi as deliveryContextKey, wn as AVATAR_MAX_BYTES, wr as clearRegisteredPluginApis, ws as resolveTelegramToken, wu as getShellPathFromLoginShell, xi as isCacheEnabled, xr as setActivePluginRegistry, xs as listTelegramAccountIds, y as resolveModelRefFromString, yi as updateSessionStore, yr as requireActivePluginRegistry, ys as createTelegramActionGate, yt as markAuthProfileFailure, yu as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, zc as listBufferedPluginTaskPasses, zo as derivePromptTokens, zr as matchPluginCommand, zs as normalizeWhatsAppTarget, zt as writeConfigFile } from "./model-selection-Xe4QEYsC.js";
13
13
  import { a as saveJsonFile, i as loadJsonFile, r as resolveCopilotApiToken } from "./github-copilot-token-D9l3eOWF.js";
14
14
  import { t as parseBooleanValue$1 } from "./boolean-C6Pbt2Ue.js";
15
- import { t as isTruthyEnvValue } from "./env-DwhxSLZz.js";
15
+ import { t as isTruthyEnvValue } from "./env-uQrKrEGz.js";
16
16
  import { t as VERSION } from "./version-C459_ZQ5.js";
17
- import { c as resolveSessionFilePath, h as runTasksWithConcurrency, l as resolveSessionFilePathOptions, m as resolveStorePath, s as resolveDefaultSessionStorePath, u as resolveSessionTranscriptPath } from "./artifacts-D7xTEspu.js";
17
+ import { c as resolveSessionFilePath, h as runTasksWithConcurrency, l as resolveSessionFilePathOptions, m as resolveStorePath, s as resolveDefaultSessionStorePath, u as resolveSessionTranscriptPath } from "./artifacts-CSUzSsVF.js";
18
18
  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-FBwX2QEP.js";
19
19
  import { n as resolveConversationLabel, r as normalizeChatType } from "./conversation-label-Bpw8crN9.js";
20
20
  import { t as formatCliCommand } from "./command-format-CGUNQYjt.js";
21
- 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-CUUoNRjN.js";
22
- 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-9_nNhllu.js";
21
+ 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-isYw7gNy.js";
22
+ 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-CgOqje6b.js";
23
23
  import { c as isDiagnosticsEnabled, s as emitDiagnosticEvent } from "./task-run-types-B6n0W8Rb.js";
24
24
  import { a as testRegexWithBoundedInput, i as compileSafeRegex, n as redactSensitiveText } from "./redact-B7cMn_vp.js";
25
25
  import { a as formatUncaughtError, c as readErrorName, i as formatErrorMessage, o as hasErrnoCode, r as formatErrorChainMessage, t as collectErrorGraphCandidates } from "./errors-CtrilAlY.js";
26
- import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-BWeHJfpx.js";
27
- import { i as openFileWithinRoot, l as writeFileWithinRoot, n as copyFileWithinRoot, o as readFileWithinRoot, r as createRootScopedReadFile, t as SafeOpenError } from "./fs-safe-B3ZR2kik.js";
26
+ import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-CgeH2aSH.js";
27
+ import { i as openFileWithinRoot, l as writeFileWithinRoot, n as copyFileWithinRoot, o as readFileWithinRoot, r as createRootScopedReadFile, t as SafeOpenError } from "./fs-safe-LwswEc9h.js";
28
28
  import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-D9oODB5o.js";
29
- 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-BTMTo0Oh.js";
29
+ 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-BddwFNQF.js";
30
30
  import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-7nA25fTc.js";
31
- import { n as withStrictGuardedFetchMode, r as withTrustedEnvProxyGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-EajwxXjX.js";
32
- import { c as normalizeHostname, i as isBlockedHostnameOrIp, t as SsrFBlockedError } from "./ssrf-DjjqWxdp.js";
33
- import { r as makeProxyFetch } from "./proxy-fetch-CeK1ZBeq.js";
31
+ import { n as withStrictGuardedFetchMode, r as withTrustedEnvProxyGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-CfI8OeSj.js";
32
+ import { c as normalizeHostname, i as isBlockedHostnameOrIp, t as SsrFBlockedError } from "./ssrf-CUBo6TIZ.js";
33
+ import { r as makeProxyFetch } from "./proxy-fetch-DxABZ-6S.js";
34
34
  import { t as resolveNetworkSsrFPolicy } from "./ssrf-config-DhnW7HyB.js";
35
- 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-58qqCaMi.js";
36
- import { a as readResponseWithLimit, i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, r as MediaFetchError, t as getAgentScopedMediaLocalRoots } from "./local-roots-C0gTK4Bz.js";
37
- 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-CHN4z44F.js";
38
- import { t as ensureOpenClawModelsJson } from "./models-config-Dj7fr0nB.js";
39
- import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-CJO7nU3v.js";
35
+ 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-CjMOJlwL.js";
36
+ import { a as readResponseWithLimit, i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, r as MediaFetchError, t as getAgentScopedMediaLocalRoots } from "./local-roots-7K5PLW70.js";
37
+ 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-C0lTPxIN.js";
38
+ import { t as ensureOpenClawModelsJson } from "./models-config-CZHJduVo.js";
39
+ import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-DjGr6SKN.js";
40
40
  import { t as extractTextFromChatContent } from "./chat-content-_IbUtUxr.js";
41
- import { a as formatReasoningMessage, d as stripThinkingTagsFromText, f as stripReasoningTagsFromText, 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-BHzcjLyI.js";
42
- 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-CaDaMuIS.js";
43
- import { c as resolveExistingPathsWithinRoot, g as DEFAULT_AI_SNAPSHOT_MAX_CHARS, s as DEFAULT_UPLOAD_DIR } from "./extension-relay-auth-Dcu8wthB.js";
44
- import { i as isLoopbackHost, u as resolveClientIp } from "./ws-BkTpOVYX.js";
45
- import { r as trimToUndefined, t as resolveGatewayCredentialsFromConfig } from "./credentials-CpbaIISJ.js";
46
- import { a as resolveBrowserControlAuth } from "./server-context-hLmBApV6.js";
47
- import { a as resolveSkillsPromptForRun, d as assertSandboxPath, f as resolveSandboxInputPath, g as applySkillEnvOverridesFromSnapshot, h as applySkillEnvOverrides, i as loadWorkspaceSkillEntries, m as resolveSandboxedMediaSource, o as skillsSnapshotSourceDiffers, r as buildWorkspaceSkillSnapshot, u as assertMediaNotDataUrl } from "./skills-CD8SFzX0.js";
48
- import { i as saveMediaBuffer, r as getMediaDir, t as MEDIA_MAX_BYTES } from "./store-CGnsRznR.js";
49
- import { r as resolveBrowserConfig } from "./trash-DWehd5bk.js";
50
- import { s as resolveLsofCommandSync } from "./ports-Cp281kk8.js";
41
+ import { a as formatReasoningMessage, d as stripThinkingTagsFromText, f as stripReasoningTagsFromText, 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-BI0V7Kv6.js";
42
+ 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-72tGhoFB.js";
43
+ import { c as resolveExistingPathsWithinRoot, g as DEFAULT_AI_SNAPSHOT_MAX_CHARS, s as DEFAULT_UPLOAD_DIR } from "./extension-relay-auth-NxDK9Fke.js";
44
+ import { i as isLoopbackHost, u as resolveClientIp } from "./ws-1r6e9Dys.js";
45
+ import { r as trimToUndefined, t as resolveGatewayCredentialsFromConfig } from "./credentials-gpmh64hA.js";
46
+ import { a as resolveBrowserControlAuth } from "./server-context-DPXHpsDT.js";
47
+ import { a as resolveSkillsPromptForRun, d as assertSandboxPath, f as resolveSandboxInputPath, g as applySkillEnvOverridesFromSnapshot, h as applySkillEnvOverrides, i as loadWorkspaceSkillEntries, m as resolveSandboxedMediaSource, o as skillsSnapshotSourceDiffers, r as buildWorkspaceSkillSnapshot, u as assertMediaNotDataUrl } from "./skills-DueobKPc.js";
48
+ import { i as saveMediaBuffer, r as getMediaDir, t as MEDIA_MAX_BYTES } from "./store-DS83zC6I.js";
49
+ import { r as resolveBrowserConfig } from "./trash-B2rgeHwV.js";
50
+ import { s as resolveLsofCommandSync } from "./ports-DJ_M8scl.js";
51
51
  import { n as generateSecureUuid, t as generateSecureToken } from "./secure-random-CQlKt4_X.js";
52
- import { n as formatToolSummary, r as resolveToolDisplay } from "./tool-display-D2nTy2g3.js";
53
- import { a as coerceImageModelConfig, i as coerceImageAssistantText, o as decodeDataUrl, r as minimaxUnderstandImage, s as resolveProviderVisionModelFromConfig } from "./provider-image-BbsxRTqB.js";
54
- import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-D-MvwJ9N.js";
55
- import { a as stripSilentToken, i as isSilentReplyText, n as SILENT_REPLY_TOKEN, r as isSilentReplyPrefixText, t as HEARTBEAT_TOKEN } from "./tokens-BkGFSf77.js";
56
- 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-B3d6x2bV.js";
57
- import { a as resolveNativeSkillsEnabled, i as resolveNativeCommandsEnabled, n as isNativeCommandsExplicitlyDisabled, r as isRestartEnabled, t as isCommandFlagEnabled } from "./commands-CTxKrS5w.js";
58
- 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-DISO8Rbf.js";
52
+ import { n as formatToolSummary, r as resolveToolDisplay } from "./tool-display-B_gL6TP4.js";
53
+ import { a as coerceImageModelConfig, i as coerceImageAssistantText, o as decodeDataUrl, r as minimaxUnderstandImage, s as resolveProviderVisionModelFromConfig } from "./provider-image-DpILAK4L.js";
54
+ import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-BnKlqzf2.js";
55
+ import { a as stripSilentToken, i as isSilentReplyText, n as SILENT_REPLY_TOKEN, r as isSilentReplyPrefixText, t as HEARTBEAT_TOKEN } from "./tokens-D0Wagzn5.js";
56
+ 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-C4OaIRmC.js";
57
+ import { a as resolveNativeSkillsEnabled, i as resolveNativeCommandsEnabled, n as isNativeCommandsExplicitlyDisabled, r as isRestartEnabled, t as isCommandFlagEnabled } from "./commands-DpelJzCu.js";
58
+ 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-DQp53oMc.js";
59
59
  import { t as redactIdentifier } from "./redact-identifier-CSPL9LuH.js";
60
- 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-CkzxbMOl.js";
60
+ 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-Chf-opgf.js";
61
61
  import { d as redactChannelCorrelation, o as getDiagnosticSessionState } from "./diagnostic-session-state-7e_RsTs4.js";
62
62
  import { t as CommandLane } from "./lanes-S5fMj0tZ.js";
63
- import { i as enqueueCommandInLane, n as clearCommandLane, o as getCommandLaneSnapshots, s as getQueueSize, t as CommandLaneAbortedError, u as isQueuedCommandCancellation } from "./command-queue-Cz-yW8Fn.js";
64
- import { i as AGENT_LANE_SUBAGENT, r as AGENT_LANE_NESTED, t as startUserSessionRun } from "./user-run-recording-CB_RnvEh.js";
65
- import { a as resolveSessionRunStore, n as deriveSessionRunId, r as inferSessionRunKind, t as createSessionRunRecorder } from "./recorder-BiGPFc4h.js";
63
+ import { i as enqueueCommandInLane, n as clearCommandLane, o as getCommandLaneSnapshots, s as getQueueSize, t as CommandLaneAbortedError, u as isQueuedCommandCancellation } from "./command-queue-BeqPo1FP.js";
64
+ import { i as AGENT_LANE_SUBAGENT, r as AGENT_LANE_NESTED, t as startUserSessionRun } from "./user-run-recording-CboLnb8e.js";
65
+ import { a as resolveSessionRunStore, n as deriveSessionRunId, r as inferSessionRunKind, t as createSessionRunRecorder } from "./recorder-BdRGbnWA.js";
66
66
  import { t as withTimeout$4 } from "./with-timeout-_mEWvGRU.js";
67
- import { _ as AcpRuntimeError, c as validateRuntimeCwdInput, d as validateRuntimePermissionProfileInput, f as isSessionIdentityPending, g as ACP_TURN_INTERRUPTED_MESSAGE, h as requireAcpRuntimeBackend, i as resolveSessionStorePathForAcp, l as validateRuntimeModeInput, m as getAcpRuntimeBackend, o as parseRuntimeTimeoutSecondsInput, p as resolveSessionIdentityFromMeta, r as readAcpSessionEntry, s as validateRuntimeConfigOptionInput, t as getAcpSessionManager, u as validateRuntimeModelInput, v as toAcpRuntimeError } from "./manager-fEgy3Cc5.js";
67
+ import { _ as AcpRuntimeError, c as validateRuntimeCwdInput, d as validateRuntimePermissionProfileInput, f as isSessionIdentityPending, g as ACP_TURN_INTERRUPTED_MESSAGE, h as requireAcpRuntimeBackend, i as resolveSessionStorePathForAcp, l as validateRuntimeModeInput, m as getAcpRuntimeBackend, o as parseRuntimeTimeoutSecondsInput, p as resolveSessionIdentityFromMeta, r as readAcpSessionEntry, s as validateRuntimeConfigOptionInput, t as getAcpSessionManager, u as validateRuntimeModelInput, v as toAcpRuntimeError } from "./manager-CuWMoixZ.js";
68
68
  import { t as KeyedAsyncQueue } from "./keyed-async-queue-C8wMGzFN.js";
69
- import { bn as SESSION_LABEL_MAX_LENGTH, n as gatewayErrorReason, t as GatewayClient } from "./client-VFkIaJUE.js";
69
+ import { bn as SESSION_LABEL_MAX_LENGTH, n as gatewayErrorReason, t as GatewayClient } from "./client-CfK_daL3.js";
70
70
  import { n as docsSiteUrl, t as DOCS_SITE_URL } from "./docs-site-B2E7X0vG.js";
71
- import { b as resolveLeastPrivilegeOperatorScopesForMethod, i as callGatewayLeastPrivilege, n as callGateway, s as randomIdempotencyKey, t as buildGatewayConnectionDetails } from "./call-CCfms07q.js";
71
+ import { b as resolveLeastPrivilegeOperatorScopesForMethod, i as callGatewayLeastPrivilege, n as callGateway, s as randomIdempotencyKey, t as buildGatewayConnectionDetails } from "./call-DcUNQRRs.js";
72
72
  import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-D0NtPQAy.js";
73
73
  import { n as formatTimeAgo } from "./format-relative-AHuG0b0P.js";
74
- 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-ClC923Wz.js";
75
- 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-BS3OjF4g.js";
76
- import { n as evaluateShellAllowlist, r as resolveAllowAlwaysPatterns } from "./exec-approvals-allowlist-CVeFyVcd.js";
77
- import { n as resolveExecSafeBinRuntimePolicy, r as resolveMergedSafeBinProfileFixtures } from "./exec-safe-bin-runtime-policy-OSqMfz70.js";
78
- 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-CBDClxW8.js";
79
- import { a as detectRuntimeShell, c as sanitizeBinaryOutput, o as getShellConfig, s as killProcessTree, t as getProcessSupervisor } from "./supervisor-8TdOYzAn.js";
74
+ 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-Deylvw9t.js";
75
+ 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-sC6Vto0t.js";
76
+ import { n as evaluateShellAllowlist, r as resolveAllowAlwaysPatterns } from "./exec-approvals-allowlist-BxG5LK_B.js";
77
+ import { n as resolveExecSafeBinRuntimePolicy, r as resolveMergedSafeBinProfileFixtures } from "./exec-safe-bin-runtime-policy-Bd1hExM6.js";
78
+ 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-CBvwtWTJ.js";
79
+ import { a as detectRuntimeShell, c as sanitizeBinaryOutput, o as getShellConfig, s as killProcessTree, t as getProcessSupervisor } from "./supervisor-BkHwVnJ0.js";
80
80
  import { t as killProcessTree$1 } from "./kill-tree-BVHYs8Tj.js";
81
- import { n as formatExecCommand } from "./system-run-command-B9eoNN_E.js";
81
+ import { n as formatExecCommand } from "./system-run-command-BCygkYAm.js";
82
82
  import { i as parsePairingList, n as resolveNodeIdFromNodeList, r as parseNodeList, t as resolveNodeFromNodeList } from "./node-resolve-BUj5-uMK.js";
83
83
  import { i as formatDurationSeconds, r as formatDurationPrecise, t as formatDurationCompact$1 } from "./format-duration-Ctv1iCZX.js";
84
- import { c as enqueueAgentTurn, d as mergeDelayedAgentTurn, f as peekDelayedAgentTurn, i as agentTurnIdempotencyKey, l as isClaimableAgentTurnWorkId, m as WORKSPACE_LANE_DENIED_REASON, o as clearDelayedReleaseHold, p as setDelayedReleaseHold } from "./agent-turn-enqueue-Dm0JENbl.js";
85
- 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-BAWrhAPG.js";
86
- import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-C9ItOkY0.js";
87
- import { A as createReplyToModeFilterForChannel, C as applyReplyTagsToPayload, D as isRenderablePayload, E as filterMessagingToolMediaDuplicates, M as buildTargetResolverSignature, N as normalizeChannelTargetInput, O as shouldSuppressMessagingToolReplies, P as normalizeTargetForProvider, S as loadChannelOutboundAdapter, T as filterMessagingToolDuplicates, _ as lookupContextTokens, a as normalizeOutboundPayloadsForJson, b as sleepWithAbort, f as loadCombinedSessionStoreForGateway, i as normalizeOutboundPayloads, j as resolveReplyToMode, k as shouldSuppressReasoningPayload, o as normalizeReplyPayloadsForDelivery, r as formatOutboundPayloadLog, s as stampReplyActivity, t as deliverOutboundPayloads, v as resolveContextTokensForModel, w as applyReplyThreading, x as throwIfAborted, y as computeBackoff } from "./deliver-BeUjHsuQ.js";
88
- import { a as getMachineDisplayName, i as startBrowserControlServiceFromConfig, n as createBrowserRouteDispatcher, r as createBrowserControlContext, t as withTimeout$5 } from "./with-timeout-D2Gp5kcM.js";
89
- 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-n4HUnjJL.js";
90
- import { i as buildModelAliasLines, n as resolveModel } from "./model-STLFfNgZ.js";
91
- import { n as resolveLearningWorkspaceDir, t as resolveSessionConsumerAgentIds } from "./session-consumer-agents-Tp24W-mn.js";
84
+ import { c as enqueueAgentTurn, d as mergeDelayedAgentTurn, f as peekDelayedAgentTurn, i as agentTurnIdempotencyKey, l as isClaimableAgentTurnWorkId, m as WORKSPACE_LANE_DENIED_REASON, o as clearDelayedReleaseHold, p as setDelayedReleaseHold } from "./agent-turn-enqueue-oYjYy4W3.js";
85
+ 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-D22rrc2J.js";
86
+ import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-DIYk1Bw7.js";
87
+ import { A as createReplyToModeFilterForChannel, C as applyReplyTagsToPayload, D as isRenderablePayload, E as filterMessagingToolMediaDuplicates, M as buildTargetResolverSignature, N as normalizeChannelTargetInput, O as shouldSuppressMessagingToolReplies, P as normalizeTargetForProvider, S as loadChannelOutboundAdapter, T as filterMessagingToolDuplicates, _ as lookupContextTokens, a as normalizeOutboundPayloadsForJson, b as sleepWithAbort, f as loadCombinedSessionStoreForGateway, i as normalizeOutboundPayloads, j as resolveReplyToMode, k as shouldSuppressReasoningPayload, o as normalizeReplyPayloadsForDelivery, r as formatOutboundPayloadLog, s as stampReplyActivity, t as deliverOutboundPayloads, v as resolveContextTokensForModel, w as applyReplyThreading, x as throwIfAborted, y as computeBackoff } from "./deliver-QPSbsYeP.js";
88
+ import { a as getMachineDisplayName, i as startBrowserControlServiceFromConfig, n as createBrowserRouteDispatcher, r as createBrowserControlContext, t as withTimeout$5 } from "./with-timeout-Cpd_eIHB.js";
89
+ 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-DQKTiyZo.js";
90
+ import { i as buildModelAliasLines, n as resolveModel } from "./model-DXt9qubu.js";
91
+ import { n as resolveLearningWorkspaceDir, t as resolveSessionConsumerAgentIds } from "./session-consumer-agents-BNkbq0X0.js";
92
92
  import { i as resolveModelCostConfig, n as formatTokenCount$2, r as formatUsd, t as estimateUsageCost } from "./usage-format-eNPY7j3q.js";
93
93
  import { n as isSafeFenceBreak, r as parseFenceSpans, t as findFenceSpanAt } from "./fences-Be8v7ZuC.js";
94
- 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-v83cSD3K.js";
95
- import { n as resolveMarkdownTableMode } from "./markdown-tables-CxNf_QKN.js";
96
- import { a as loadWebMedia, i as getDefaultLocalRoots, o as loadWebMediaRaw } from "./ir-BZC8jqmM.js";
97
- import { n as splitMediaFromOutput, t as parseReplyDirectives } from "./reply-directives-DAFMLUk3.js";
98
- import { n as resolveMessageChannelSelection, t as listConfiguredMessageChannels } from "./channel-selection-BRkNQi3I.js";
99
- import { n as recordChannelActivity, o as normalizePollInput, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-CYX6jkoL.js";
100
- import { i as applyPluginAutoEnable, r as resolveTelegramPollingTimeout } from "./polling-timeout-BfQqGdT2.js";
101
- import { a as resolveSignalRpcContext, c as streamSignalEvents, n as sendReadReceiptSignal, o as signalCheck, r as sendTypingSignal, s as signalRpcRequest, t as sendMessageSignal } from "./send-DbTOnKy8.js";
94
+ 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-Cft1Qryu.js";
95
+ import { n as resolveMarkdownTableMode } from "./markdown-tables-BIUAAmJj.js";
96
+ import { a as loadWebMedia, i as getDefaultLocalRoots, o as loadWebMediaRaw } from "./ir-BcCmcdpx.js";
97
+ import { n as splitMediaFromOutput, t as parseReplyDirectives } from "./reply-directives-MYQDM4s1.js";
98
+ import { n as resolveMessageChannelSelection, t as listConfiguredMessageChannels } from "./channel-selection-BhS12YOf.js";
99
+ import { n as recordChannelActivity, o as normalizePollInput, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-umvXZN1Q.js";
100
+ import { i as applyPluginAutoEnable, r as resolveTelegramPollingTimeout } from "./polling-timeout-HyiW4Q3a.js";
101
+ import { a as resolveSignalRpcContext, c as streamSignalEvents, n as sendReadReceiptSignal, o as signalCheck, r as sendTypingSignal, s as signalRpcRequest, t as sendMessageSignal } from "./send-EUMoqR5x.js";
102
102
  import { t as buildOutboundMediaLoadOptions } from "./load-options-CDYtue-3.js";
103
- 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-Dlz0xalZ.js";
104
- import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-DItBlJTa.js";
103
+ 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-DQsInb-M.js";
104
+ import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-D59i7uq2.js";
105
105
  import { n as isSenderIdAllowed, r as mergeDmAllowFromSources, t as firstDefined$1 } from "./allow-from-DzfdGdp7.js";
106
- 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-CQBCu2m0.js";
107
- import { t as convertMarkdownTables } from "./tables-D07R1ft9.js";
108
- import { t as createTelegramPollingTransport } from "./proxy-FZnR0j7S.js";
106
+ 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-CNWwkqR2.js";
107
+ import { t as convertMarkdownTables } from "./tables-Dzfx8UwI.js";
108
+ import { t as createTelegramPollingTransport } from "./proxy-CXiTHFXk.js";
109
109
  import { n as isDangerousNameMatchingEnabled } from "./dangerous-name-matching-B4c-oh3H.js";
110
- import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-sGMpONzr.js";
111
- 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-CcC4TPnA.js";
112
- import { s as resolveCommandSecretRefsViaGateway, t as getAgentRuntimeCommandSecretTargetIds } from "./command-secret-targets-DCV5FIY6.js";
113
- import { r as detectBinary } from "./onboard-helpers-CHJgaSLe.js";
114
- import { t as resolvePairingIdLabel } from "./pairing-labels-CzfCTcWR.js";
115
- import { t as recordInboundSessionMetaSafe } from "./session-meta-B70hyZ6H.js";
116
- import { i as getAgentTurnRuntime, o as tryGetAgentTurnRuntime } from "./agent-turn-runner-D9oWYU1F.js";
117
- import { i as resolveMemoryBackendConfig, n as registerMemoryCli, r as getMemorySearchManager } from "./memory-cli-DactP3dr.js";
118
- import { r as resolveMemorySearchConfig } from "./manager-DOXQa7gV.js";
110
+ import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-CX9Xycso.js";
111
+ 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-D3U8ty_X.js";
112
+ import { s as resolveCommandSecretRefsViaGateway, t as getAgentRuntimeCommandSecretTargetIds } from "./command-secret-targets-Gl-QK3RO.js";
113
+ import { r as detectBinary } from "./onboard-helpers-BHshJeiH.js";
114
+ import { t as resolvePairingIdLabel } from "./pairing-labels-DwJGNsPY.js";
115
+ import { t as recordInboundSessionMetaSafe } from "./session-meta-B2VOXhYi.js";
116
+ import { i as getAgentTurnRuntime, o as tryGetAgentTurnRuntime } from "./agent-turn-runner-DJaul1fs.js";
117
+ import { i as resolveMemoryBackendConfig, n as registerMemoryCli, r as getMemorySearchManager } from "./memory-cli-Dw2sfKV7.js";
118
+ import { r as resolveMemorySearchConfig } from "./manager-CVY-YEjj.js";
119
119
  import { i as parseAbsoluteTimeMs, r as resolveDefaultCronStaggerMs, t as normalizeCronStaggerMs } from "./stagger-Bl55A6V9.js";
120
- import { a as normalizeHttpWebhookUrl, o as inferLegacyName, r as isPipelineHeartbeatInFlight } from "./heartbeat-tick-CrLpacK5.js";
120
+ import { a as normalizeHttpWebhookUrl, o as inferLegacyName, r as isPipelineHeartbeatInFlight } from "./heartbeat-tick-gDighXQe.js";
121
121
  import { p as resolveGatewaySystemdServiceName, u as resolveGatewayLaunchAgentLabel } from "./constants-C_Vu4yTn.js";
122
122
  import { t as parseTimeoutMs } from "./parse-timeout-U3P8xqXu.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-CLxA7ymv.js";
124
- import { t as redactConfigObject } from "./redact-snapshot-Blr7A6nM.js";
125
- import { n as loadCostUsageSummary, r as loadSessionCostSummary } from "./session-cost-usage-C8x0Ma2X.js";
124
+ import { t as redactConfigObject } from "./redact-snapshot-Dea1X-KK.js";
125
+ import { n as loadCostUsageSummary, r as loadSessionCostSummary } from "./session-cost-usage-BuaT9Epp.js";
126
126
  import { createRequire } from "node:module";
127
127
  import { fileURLToPath } from "node:url";
128
128
  import fs, { existsSync, mkdirSync, mkdtempSync, promises, readFileSync, renameSync, rmSync, statSync, unlinkSync, writeFileSync } from "node:fs";
129
129
  import os, { homedir } from "node:os";
130
130
  import path, { basename } 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";
@@ -744,7 +744,7 @@ function resolveWorkspaceLane(params) {
744
744
  }
745
745
  async function pathExists(targetPath) {
746
746
  try {
747
- await fsPromises.access(targetPath);
747
+ await fs$1.access(targetPath);
748
748
  return true;
749
749
  } catch {
750
750
  return false;
@@ -752,7 +752,7 @@ async function pathExists(targetPath) {
752
752
  }
753
753
  async function getExistingPathState(targetPath) {
754
754
  try {
755
- const stats = await fsPromises.lstat(targetPath);
755
+ const stats = await fs$1.lstat(targetPath);
756
756
  if (stats.isSymbolicLink()) return "other";
757
757
  return stats.isDirectory() ? "directory" : "other";
758
758
  } catch {
@@ -761,7 +761,7 @@ async function getExistingPathState(targetPath) {
761
761
  }
762
762
  async function pathLexicallyExists(targetPath) {
763
763
  try {
764
- await fsPromises.lstat(targetPath);
764
+ await fs$1.lstat(targetPath);
765
765
  return true;
766
766
  } catch {
767
767
  return false;
@@ -828,7 +828,7 @@ async function resolveWorkspaceLaneForTurn(params) {
828
828
  const config = resolveWorkspaceLaneConfig(params.cfg, resolution.agentId);
829
829
  if ((config?.create ?? "on-first-message") !== "on-first-message") return resolution;
830
830
  const existed = pathState === "directory";
831
- if (!existed) await fsPromises.mkdir(resolution.effectiveWorkspaceDir, { recursive: true });
831
+ if (!existed) await fs$1.mkdir(resolution.effectiveWorkspaceDir, { recursive: true });
832
832
  for (const file of config?.copiedOnCreate ?? DEFAULT_COPIED_ON_CREATE_FILES) {
833
833
  const decision = await copyIfMissing({
834
834
  sourceRoot: resolution.personaWorkspaceDir,
@@ -1350,7 +1350,7 @@ async function sendTranscriptEcho(params) {
1350
1350
  }
1351
1351
  const text = formatEchoTranscript(transcript, params.format ?? DEFAULT_ECHO_TRANSCRIPT_FORMAT);
1352
1352
  try {
1353
- const { deliverOutboundPayloads } = await import("./deliver-BeUjHsuQ.js").then((n) => n.n);
1353
+ const { deliverOutboundPayloads } = await import("./deliver-QPSbsYeP.js").then((n) => n.n);
1354
1354
  await deliverOutboundPayloads({
1355
1355
  cfg,
1356
1356
  channel: normalizedChannel,
@@ -6202,7 +6202,7 @@ async function resolveSandboxWorkdir(params) {
6202
6202
  cwd: process.cwd(),
6203
6203
  root: params.sandbox.workspaceDir
6204
6204
  });
6205
- if (!(await fsPromises.stat(resolved.resolved)).isDirectory()) throw new Error("workdir is not a directory");
6205
+ if (!(await fs$1.stat(resolved.resolved)).isDirectory()) throw new Error("workdir is not a directory");
6206
6206
  const relative = resolved.relative ? resolved.relative.split(path.sep).join(path.posix.sep) : "";
6207
6207
  const containerWorkdir = relative ? path.posix.join(params.sandbox.containerWorkdir, relative) : params.sandbox.containerWorkdir;
6208
6208
  return {
@@ -6802,7 +6802,7 @@ async function imageResult(params) {
6802
6802
  }, params.label, params.imageSanitization);
6803
6803
  }
6804
6804
  async function imageResultFromFile(params) {
6805
- const buf = await fsPromises.readFile(params.path);
6805
+ const buf = await fs$1.readFile(params.path);
6806
6806
  const mimeType = await detectMime({ buffer: buf.slice(0, 256) }) ?? "image/png";
6807
6807
  return await imageResult({
6808
6808
  label: params.label,
@@ -7610,13 +7610,13 @@ async function validateScriptFileForShellBleed(params) {
7610
7610
  cwd: params.workdir,
7611
7611
  root: params.workdir
7612
7612
  });
7613
- stat = await fsPromises.stat(absPath);
7613
+ stat = await fs$1.stat(absPath);
7614
7614
  } catch {
7615
7615
  return;
7616
7616
  }
7617
7617
  if (!stat.isFile()) return;
7618
7618
  if (stat.size > 512 * 1024) return;
7619
- const content = await fsPromises.readFile(absPath, "utf-8");
7619
+ const content = await fs$1.readFile(absPath, "utf-8");
7620
7620
  const first = /\$[A-Z_][A-Z0-9_]{1,}/g.exec(content);
7621
7621
  if (first) {
7622
7622
  const idx = first.index;
@@ -9644,7 +9644,7 @@ async function routeReply(params) {
9644
9644
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
9645
9645
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
9646
9646
  try {
9647
- const { deliverOutboundPayloads } = await import("./deliver-BeUjHsuQ.js").then((n) => n.n);
9647
+ const { deliverOutboundPayloads } = await import("./deliver-QPSbsYeP.js").then((n) => n.n);
9648
9648
  const outboundSession = buildOutboundSessionContext({
9649
9649
  cfg,
9650
9650
  agentId: resolvedAgentId,
@@ -12984,8 +12984,8 @@ const defaultDeps = {
12984
12984
  runEmbeddedPiAgent: (params) => runEmbeddedPiAgent(params),
12985
12985
  runDirectAnalysis,
12986
12986
  loadConfig,
12987
- mkdtemp: fsPromises.mkdtemp,
12988
- rm: fsPromises.rm,
12987
+ mkdtemp: fs$1.mkdtemp,
12988
+ rm: fs$1.rm,
12989
12989
  now: () => Date.now(),
12990
12990
  randomUUID: crypto.randomUUID
12991
12991
  };
@@ -22326,8 +22326,8 @@ async function describeStickerImage(params) {
22326
22326
  const { provider, model } = resolved;
22327
22327
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
22328
22328
  try {
22329
- const buffer = await fsPromises.readFile(imagePath);
22330
- const { describeImageWithModel } = await import("./provider-image-BbsxRTqB.js").then((n) => n.n);
22329
+ const buffer = await fs$1.readFile(imagePath);
22330
+ const { describeImageWithModel } = await import("./provider-image-DpILAK4L.js").then((n) => n.n);
22331
22331
  return (await describeImageWithModel({
22332
22332
  buffer,
22333
22333
  fileName: "sticker.webp",
@@ -23917,7 +23917,7 @@ async function resolveDiscordPreflightAudioMentionContext(params) {
23917
23917
  let transcript;
23918
23918
  let carry;
23919
23919
  if (needsPreflightTranscription) try {
23920
- const { transcribeFirstAudio } = await import("./audio-preflight-Cj5N8Fbp.js");
23920
+ const { transcribeFirstAudio } = await import("./audio-preflight-BWqiB-Gv.js");
23921
23921
  const uploadable = audioAttachments.filter((att) => typeof att.url === "string" && att.url.length > 0);
23922
23922
  if (uploadable.length > 0) {
23923
23923
  const preflight = await transcribeFirstAudio({
@@ -28058,7 +28058,7 @@ async function createModelSelectionState(params) {
28058
28058
  }
28059
28059
  }
28060
28060
  if (sessionEntry && sessionStore && sessionKey && sessionEntry.authProfileOverride) {
28061
- const { ensureAuthProfileStore } = await import("./model-selection-D74qlS0C.js").then((n) => n.ht);
28061
+ const { ensureAuthProfileStore } = await import("./model-selection-Xe4QEYsC.js").then((n) => n.ht);
28062
28062
  const profile = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false }).profiles[sessionEntry.authProfileOverride];
28063
28063
  const providerKey = normalizeProviderId(provider);
28064
28064
  if (!profile || normalizeProviderId(profile.provider) !== providerKey) await clearSessionAuthProfileOverride({
@@ -32316,18 +32316,18 @@ function appendImagePathsToPrompt(prompt, paths) {
32316
32316
  return `${trimmed}${trimmed ? "\n\n" : ""}${paths.join("\n")}`;
32317
32317
  }
32318
32318
  async function writeCliImages(images) {
32319
- const tempDir = await fsPromises.mkdtemp(path.join(os.tmpdir(), "openclaw-cli-images-"));
32319
+ const tempDir = await fs$1.mkdtemp(path.join(os.tmpdir(), "openclaw-cli-images-"));
32320
32320
  const paths = [];
32321
32321
  for (let i = 0; i < images.length; i += 1) {
32322
32322
  const image = images[i];
32323
32323
  const ext = resolveImageExtension(image.mimeType);
32324
32324
  const filePath = path.join(tempDir, `image-${i + 1}.${ext}`);
32325
32325
  const buffer = Buffer.from(image.data, "base64");
32326
- await fsPromises.writeFile(filePath, buffer, { mode: 384 });
32326
+ await fs$1.writeFile(filePath, buffer, { mode: 384 });
32327
32327
  paths.push(filePath);
32328
32328
  }
32329
32329
  const cleanup = async () => {
32330
- await fsPromises.rm(tempDir, {
32330
+ await fs$1.rm(tempDir, {
32331
32331
  recursive: true,
32332
32332
  force: true
32333
32333
  });
@@ -33227,23 +33227,23 @@ function createDefaultDeps() {
33227
33227
  };
33228
33228
  },
33229
33229
  sendMessageTelegram: async (...args) => {
33230
- const { sendMessageTelegram } = await import("./send-n4HUnjJL.js").then((n) => n.l);
33230
+ const { sendMessageTelegram } = await import("./send-DQKTiyZo.js").then((n) => n.l);
33231
33231
  return await sendMessageTelegram(...args);
33232
33232
  },
33233
33233
  sendMessageDiscord: async (...args) => {
33234
- const { sendMessageDiscord } = await import("./send-9_nNhllu.js").then((n) => n.t);
33234
+ const { sendMessageDiscord } = await import("./send-CgOqje6b.js").then((n) => n.t);
33235
33235
  return await sendMessageDiscord(...args);
33236
33236
  },
33237
33237
  sendMessageSlack: async (...args) => {
33238
- const { sendMessageSlack } = await import("./send-CUUoNRjN.js").then((n) => n.n);
33238
+ const { sendMessageSlack } = await import("./send-isYw7gNy.js").then((n) => n.n);
33239
33239
  return await sendMessageSlack(...args);
33240
33240
  },
33241
33241
  sendMessageSignal: async (...args) => {
33242
- const { sendMessageSignal } = await import("./send-DbTOnKy8.js").then((n) => n.i);
33242
+ const { sendMessageSignal } = await import("./send-EUMoqR5x.js").then((n) => n.i);
33243
33243
  return await sendMessageSignal(...args);
33244
33244
  },
33245
33245
  sendMessageIMessage: async (...args) => {
33246
- const { sendMessageIMessage } = await import("./send-Dlz0xalZ.js").then((n) => n.n);
33246
+ const { sendMessageIMessage } = await import("./send-DQsInb-M.js").then((n) => n.n);
33247
33247
  return await sendMessageIMessage(...args);
33248
33248
  }
33249
33249
  };
@@ -34363,9 +34363,9 @@ async function agentCommandInternal(requestedOpts, runtime = defaultRuntime, dep
34363
34363
  }
34364
34364
  }
34365
34365
  if (modelRun) {
34366
- modelRunScratchDir = await fsPromises.mkdtemp(path.join(resolvePreferredOpenClawTmpDir(), "openclaw-model-run-"));
34366
+ modelRunScratchDir = await fs$1.mkdtemp(path.join(resolvePreferredOpenClawTmpDir(), "openclaw-model-run-"));
34367
34367
  const scratchFile = path.join(modelRunScratchDir, "session.jsonl");
34368
- await fsPromises.copyFile(sessionFile, scratchFile).catch(() => {});
34368
+ await fs$1.copyFile(sessionFile, scratchFile).catch(() => {});
34369
34369
  sessionFile = scratchFile;
34370
34370
  }
34371
34371
  const startedAt = Date.now();
@@ -34482,7 +34482,7 @@ async function agentCommandInternal(requestedOpts, runtime = defaultRuntime, dep
34482
34482
  else if (!runThrew) if (result?.meta.error) await sessionRun?.fail(new Error(result.meta.error.message));
34483
34483
  else await sessionRun?.complete();
34484
34484
  clearAgentRunContext(runId);
34485
- if (modelRunScratchDir) await fsPromises.rm(modelRunScratchDir, {
34485
+ if (modelRunScratchDir) await fs$1.rm(modelRunScratchDir, {
34486
34486
  recursive: true,
34487
34487
  force: true,
34488
34488
  maxRetries: 10,
@@ -34636,10 +34636,10 @@ function estimateDurationSeconds(pcm) {
34636
34636
  return pcm.length / (bytesPerSample * SAMPLE_RATE);
34637
34637
  }
34638
34638
  async function writeWavFile(pcm) {
34639
- const tempDir = await fsPromises.mkdtemp(path.join(resolvePreferredOpenClawTmpDir(), "discord-voice-"));
34639
+ const tempDir = await fs$1.mkdtemp(path.join(resolvePreferredOpenClawTmpDir(), "discord-voice-"));
34640
34640
  const filePath = path.join(tempDir, `segment-${randomUUID()}.wav`);
34641
34641
  const wav = buildWavBuffer(pcm);
34642
- await fsPromises.writeFile(filePath, wav);
34642
+ await fs$1.writeFile(filePath, wav);
34643
34643
  scheduleTempCleanup(tempDir);
34644
34644
  return {
34645
34645
  path: filePath,
@@ -34648,7 +34648,7 @@ async function writeWavFile(pcm) {
34648
34648
  }
34649
34649
  function scheduleTempCleanup(tempDir, delayMs = 1800 * 1e3) {
34650
34650
  setTimeout(() => {
34651
- fsPromises.rm(tempDir, {
34651
+ fs$1.rm(tempDir, {
34652
34652
  recursive: true,
34653
34653
  force: true
34654
34654
  }).catch((err) => {
@@ -38977,7 +38977,7 @@ function normalizeAllowList$1(list) {
38977
38977
  async function detectRemoteHostFromCliPath(cliPath) {
38978
38978
  try {
38979
38979
  const expanded = cliPath.startsWith("~") ? cliPath.replace(/^~/, process.env.HOME ?? "") : cliPath;
38980
- const content = await fsPromises.readFile(expanded, "utf8");
38980
+ const content = await fs$1.readFile(expanded, "utf8");
38981
38981
  const userHostMatch = content.match(/\bssh\b[^\n]*?\s+([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+)/);
38982
38982
  if (userHostMatch) return userHostMatch[1];
38983
38983
  return content.match(/\bssh\b[^\n]*?\s+([a-zA-Z][a-zA-Z0-9._-]*)\s+\S*\bimsg\b/)?.[1];
@@ -45735,7 +45735,7 @@ function readSlackExternalArgMenuToken(raw) {
45735
45735
  }
45736
45736
  let commandsRegistry;
45737
45737
  async function getCommandsRegistry() {
45738
- if (!commandsRegistry) commandsRegistry = await import("./commands-registry-DISO8Rbf.js").then((n) => n.n);
45738
+ if (!commandsRegistry) commandsRegistry = await import("./commands-registry-DQp53oMc.js").then((n) => n.n);
45739
45739
  return commandsRegistry;
45740
45740
  }
45741
45741
  function encodeSlackCommandArgValue(parts) {
@@ -46065,14 +46065,14 @@ async function registerSlackMonitorSlashCommands(params) {
46065
46065
  const channelName = channelInfo?.name;
46066
46066
  const roomLabel = channelName ? `#${channelName}` : `#${command.channel_id}`;
46067
46067
  const [{ resolveAgentRoute }, { finalizeInboundContext }, { dispatchReplyWithDispatcher }] = await Promise.all([
46068
- import("./resolve-route-DItBlJTa.js").then((n) => n.r),
46068
+ import("./resolve-route-D59i7uq2.js").then((n) => n.r),
46069
46069
  import("./inbound-context-D9oODB5o.js").then((n) => n.n),
46070
46070
  Promise.resolve().then(() => provider_dispatcher_exports)
46071
46071
  ]);
46072
46072
  const [{ resolveConversationLabel }, { createReplyPrefixOptions }, { recordInboundSessionMetaSafe }] = await Promise.all([
46073
46073
  import("./conversation-label-Bpw8crN9.js").then((n) => n.t),
46074
- import("./reply-prefix-C9ItOkY0.js").then((n) => n.n),
46075
- import("./session-meta-B70hyZ6H.js").then((n) => n.n)
46074
+ import("./reply-prefix-DIYk1Bw7.js").then((n) => n.n),
46075
+ import("./session-meta-B2VOXhYi.js").then((n) => n.n)
46076
46076
  ]);
46077
46077
  const route = resolveAgentRoute({
46078
46078
  cfg,
@@ -46137,9 +46137,9 @@ async function registerSlackMonitorSlashCommands(params) {
46137
46137
  });
46138
46138
  const deliverSlashPayloads = async (replies) => {
46139
46139
  const [{ deliverSlackSlashReplies }, { resolveChunkMode, resolveChunkNewlinePacking }, { resolveMarkdownTableMode }] = await Promise.all([
46140
- import("./replies-sGMpONzr.js").then((n) => n.r),
46141
- import("./chunk-v83cSD3K.js").then((n) => n.s),
46142
- import("./markdown-tables-CxNf_QKN.js").then((n) => n.t)
46140
+ import("./replies-CX9Xycso.js").then((n) => n.r),
46141
+ import("./chunk-Cft1Qryu.js").then((n) => n.s),
46142
+ import("./markdown-tables-BIUAAmJj.js").then((n) => n.t)
46143
46143
  ]);
46144
46144
  await deliverSlackSlashReplies({
46145
46145
  replies,
@@ -46193,7 +46193,7 @@ async function registerSlackMonitorSlashCommands(params) {
46193
46193
  let nativeCommands = [];
46194
46194
  if (nativeEnabled) {
46195
46195
  reg = await getCommandsRegistry();
46196
- const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-CcC4TPnA.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
46196
+ const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-D3U8ty_X.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
46197
46197
  nativeCommands = reg.listNativeCommandSpecsForConfig(cfg, {
46198
46198
  skillCommands,
46199
46199
  provider: "slack"
@@ -46712,7 +46712,7 @@ async function auditTelegramGroupMembership(params) {
46712
46712
  groups: [],
46713
46713
  elapsedMs: Date.now() - started
46714
46714
  };
46715
- const fetcher = params.proxyUrl ? (await import("./proxy-FZnR0j7S.js").then((n) => n.n)).makeProxyFetch(params.proxyUrl) : fetch;
46715
+ const fetcher = params.proxyUrl ? (await import("./proxy-CXiTHFXk.js").then((n) => n.n)).makeProxyFetch(params.proxyUrl) : fetch;
46716
46716
  const { fetchWithTimeout } = await import("./fetch-timeout-7nA25fTc.js").then((n) => n.r);
46717
46717
  const base = `${TELEGRAM_API_BASE$1}/bot${token}`;
46718
46718
  const groups = [];
@@ -51922,7 +51922,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, replyMedia =
51922
51922
  let audioPreflightCarry;
51923
51923
  const audioConfigEnabled = cfg.tools?.media?.audio && cfg.tools.media.audio.enabled !== false;
51924
51924
  if (hasAudio && !hasUserText && !disableAudioPreflight && (isGroup && requireMention && mentionRegexes.length > 0 || audioConfigEnabled === true)) try {
51925
- const { transcribeFirstAudio } = await import("./audio-preflight-Cj5N8Fbp.js");
51925
+ const { transcribeFirstAudio } = await import("./audio-preflight-BWqiB-Gv.js");
51926
51926
  const preflight = await transcribeFirstAudio({
51927
51927
  ctx: {
51928
51928
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -53393,7 +53393,7 @@ function resolveCommandHashPath(accountId, botIdentity) {
53393
53393
  }
53394
53394
  async function readCachedCommandHash(accountId, botIdentity) {
53395
53395
  try {
53396
- return (await fsPromises.readFile(resolveCommandHashPath(accountId, botIdentity), "utf-8")).trim();
53396
+ return (await fs$1.readFile(resolveCommandHashPath(accountId, botIdentity), "utf-8")).trim();
53397
53397
  } catch {
53398
53398
  return null;
53399
53399
  }
@@ -53401,8 +53401,8 @@ async function readCachedCommandHash(accountId, botIdentity) {
53401
53401
  async function writeCachedCommandHash(accountId, botIdentity, hash) {
53402
53402
  const filePath = resolveCommandHashPath(accountId, botIdentity);
53403
53403
  try {
53404
- await fsPromises.mkdir(path.dirname(filePath), { recursive: true });
53405
- await fsPromises.writeFile(filePath, hash, "utf-8");
53404
+ await fs$1.mkdir(path.dirname(filePath), { recursive: true });
53405
+ await fs$1.writeFile(filePath, hash, "utf-8");
53406
53406
  } catch {}
53407
53407
  }
53408
53408
  function syncTelegramMenuCommands(params) {
@@ -54586,7 +54586,7 @@ function safeParseState(raw) {
54586
54586
  async function readTelegramUpdateOffset(params) {
54587
54587
  const filePath = resolveTelegramUpdateOffsetPath(params.accountId, params.env);
54588
54588
  try {
54589
- const parsed = safeParseState(await fsPromises.readFile(filePath, "utf-8"));
54589
+ const parsed = safeParseState(await fs$1.readFile(filePath, "utf-8"));
54590
54590
  const expectedBotId = extractBotIdFromToken(params.botToken);
54591
54591
  if (expectedBotId && parsed?.botId && parsed.botId !== expectedBotId) return null;
54592
54592
  if (expectedBotId && parsed?.botId === null) return null;
@@ -54610,7 +54610,7 @@ async function writeTelegramUpdateOffset(params) {
54610
54610
  async function deleteTelegramUpdateOffset(params) {
54611
54611
  const filePath = resolveTelegramUpdateOffsetPath(params.accountId, params.env);
54612
54612
  try {
54613
- await fsPromises.unlink(filePath);
54613
+ await fs$1.unlink(filePath);
54614
54614
  } catch (err) {
54615
54615
  if (err.code === "ENOENT") return;
54616
54616
  throw err;
@@ -57092,7 +57092,7 @@ function createPluginRuntime(options = {}) {
57092
57092
  workStates: readTaskWorkStates
57093
57093
  },
57094
57094
  resolveLearningWorkspaceDir: (agentId) => resolveLearningWorkspaceDir(loadConfig(), agentId),
57095
- sessions: { startUserRun: async (params) => (await import("./user-run-recording-CB_RnvEh.js").then((n) => n.n)).startUserSessionRun(params) }
57095
+ sessions: { startUserRun: async (params) => (await import("./user-run-recording-CboLnb8e.js").then((n) => n.n)).startUserSessionRun(params) }
57096
57096
  };
57097
57097
  Object.defineProperty(runtime, "analysis", {
57098
57098
  enumerable: true,
@@ -58002,7 +58002,7 @@ function resolvePluginWebSearchProviders(params) {
58002
58002
  //#endregion
58003
58003
  //#region src/agents/apply-patch-update.ts
58004
58004
  async function defaultReadFile(filePath) {
58005
- return fsPromises.readFile(filePath, "utf8");
58005
+ return fs$1.readFile(filePath, "utf8");
58006
58006
  }
58007
58007
  async function applyUpdateHunk(filePath, chunks, options) {
58008
58008
  const originalLines = (await (options?.readFile ?? defaultReadFile)(filePath).catch((err) => {
@@ -58323,7 +58323,7 @@ function resolvePatchFileOps(options) {
58323
58323
  const workspaceOnly = options.workspaceOnly !== false;
58324
58324
  return {
58325
58325
  readFile: async (filePath) => {
58326
- if (!workspaceOnly) return await fsPromises.readFile(filePath, "utf8");
58326
+ if (!workspaceOnly) return await fs$1.readFile(filePath, "utf8");
58327
58327
  const opened = await openBoundaryFile({
58328
58328
  absolutePath: filePath,
58329
58329
  rootPath: options.cwd,
@@ -58338,7 +58338,7 @@ function resolvePatchFileOps(options) {
58338
58338
  },
58339
58339
  writeFile: async (filePath, content) => {
58340
58340
  if (!workspaceOnly) {
58341
- await fsPromises.writeFile(filePath, content, "utf8");
58341
+ await fs$1.writeFile(filePath, content, "utf8");
58342
58342
  return;
58343
58343
  }
58344
58344
  const relative = toRelativeSandboxPath(options.cwd, filePath);
@@ -58349,8 +58349,8 @@ function resolvePatchFileOps(options) {
58349
58349
  encoding: "utf8"
58350
58350
  });
58351
58351
  },
58352
- remove: (filePath) => fsPromises.rm(filePath),
58353
- mkdirp: (dir) => fsPromises.mkdir(dir, { recursive: true }).then(() => {})
58352
+ remove: (filePath) => fs$1.rm(filePath),
58353
+ mkdirp: (dir) => fs$1.mkdir(dir, { recursive: true }).then(() => {})
58354
58354
  };
58355
58355
  }
58356
58356
  async function ensureDir(filePath, ops) {
@@ -59785,7 +59785,7 @@ async function readJsonlFromPath(jsonlPath) {
59785
59785
  if (shouldLogVerbose()) logVerbose(`Blocked canvas jsonlPath outside allowed roots: ${resolved}`);
59786
59786
  throw new Error("jsonlPath outside allowed roots");
59787
59787
  }
59788
- const canonical = await fsPromises.realpath(resolved).catch(() => resolved);
59788
+ const canonical = await fs$1.realpath(resolved).catch(() => resolved);
59789
59789
  if (!isInboundPathAllowed({
59790
59790
  filePath: canonical,
59791
59791
  roots
@@ -59793,7 +59793,7 @@ async function readJsonlFromPath(jsonlPath) {
59793
59793
  if (shouldLogVerbose()) logVerbose(`Blocked canvas jsonlPath outside allowed roots: ${canonical}`);
59794
59794
  throw new Error("jsonlPath outside allowed roots");
59795
59795
  }
59796
- return await fsPromises.readFile(canonical, "utf8");
59796
+ return await fs$1.readFile(canonical, "utf8");
59797
59797
  }
59798
59798
  const CanvasToolSchema = Type.Object({
59799
59799
  action: stringEnum(CANVAS_ACTIONS),
@@ -60644,27 +60644,27 @@ function resolveRestartSentinelPath(env = process.env) {
60644
60644
  }
60645
60645
  async function writeRestartSentinel(payload, env = process.env) {
60646
60646
  const filePath = resolveRestartSentinelPath(env);
60647
- await fsPromises.mkdir(path.dirname(filePath), { recursive: true });
60647
+ await fs$1.mkdir(path.dirname(filePath), { recursive: true });
60648
60648
  const data = {
60649
60649
  version: 1,
60650
60650
  payload
60651
60651
  };
60652
- await fsPromises.writeFile(filePath, `${JSON.stringify(data, null, 2)}\n`, "utf-8");
60652
+ await fs$1.writeFile(filePath, `${JSON.stringify(data, null, 2)}\n`, "utf-8");
60653
60653
  return filePath;
60654
60654
  }
60655
60655
  async function readRestartSentinel(env = process.env) {
60656
60656
  const filePath = resolveRestartSentinelPath(env);
60657
60657
  try {
60658
- const raw = await fsPromises.readFile(filePath, "utf-8");
60658
+ const raw = await fs$1.readFile(filePath, "utf-8");
60659
60659
  let parsed;
60660
60660
  try {
60661
60661
  parsed = JSON.parse(raw);
60662
60662
  } catch {
60663
- await fsPromises.unlink(filePath).catch(() => {});
60663
+ await fs$1.unlink(filePath).catch(() => {});
60664
60664
  return null;
60665
60665
  }
60666
60666
  if (!parsed || parsed.version !== 1 || !parsed.payload) {
60667
- await fsPromises.unlink(filePath).catch(() => {});
60667
+ await fs$1.unlink(filePath).catch(() => {});
60668
60668
  return null;
60669
60669
  }
60670
60670
  return parsed;
@@ -60676,7 +60676,7 @@ async function consumeRestartSentinel(env = process.env) {
60676
60676
  const filePath = resolveRestartSentinelPath(env);
60677
60677
  const parsed = await readRestartSentinel(env);
60678
60678
  if (!parsed) return null;
60679
- await fsPromises.unlink(filePath).catch(() => {});
60679
+ await fs$1.unlink(filePath).catch(() => {});
60680
60680
  return parsed;
60681
60681
  }
60682
60682
  function formatRestartSentinelMessage(payload) {
@@ -67461,7 +67461,7 @@ async function recordLoopOutcome(args) {
67461
67461
  if (!args.ctx?.sessionKey) return;
67462
67462
  try {
67463
67463
  const { getDiagnosticSessionState } = await import("./diagnostic-session-state-7e_RsTs4.js").then((n) => n.n);
67464
- const { recordToolCallOutcome } = await import("./tool-loop-detection-dvzbYw_Z.js");
67464
+ const { recordToolCallOutcome } = await import("./tool-loop-detection-B_KXzW0J.js");
67465
67465
  recordToolCallOutcome(getDiagnosticSessionState({
67466
67466
  sessionKey: args.ctx.sessionKey,
67467
67467
  sessionId: args.ctx?.agentId
@@ -67488,8 +67488,8 @@ async function runBeforeToolCallHook(args) {
67488
67488
  const params = args.params;
67489
67489
  if (args.ctx?.sessionKey) {
67490
67490
  const { getDiagnosticSessionState } = await import("./diagnostic-session-state-7e_RsTs4.js").then((n) => n.n);
67491
- const { logToolLoopAction } = await import("./diagnostic-CkzxbMOl.js").then((n) => n.r);
67492
- const { detectToolCallLoop, recordToolCall } = await import("./tool-loop-detection-dvzbYw_Z.js");
67491
+ const { logToolLoopAction } = await import("./diagnostic-Chf-opgf.js").then((n) => n.r);
67492
+ const { detectToolCallLoop, recordToolCall } = await import("./tool-loop-detection-B_KXzW0J.js");
67493
67493
  const sessionState = getDiagnosticSessionState({
67494
67494
  sessionKey: args.ctx.sessionKey,
67495
67495
  sessionId: args.ctx?.agentId
@@ -67707,7 +67707,7 @@ function wrapHostEditToolWithPostWriteRecovery(base, root) {
67707
67707
  if (!pathParam || !newText) throw err;
67708
67708
  try {
67709
67709
  const absolutePath = resolveHostEditPath(root, pathParam);
67710
- const content = await fsPromises.readFile(absolutePath, "utf-8");
67710
+ const content = await fs$1.readFile(absolutePath, "utf-8");
67711
67711
  const hasNew = content.includes(newText);
67712
67712
  const stillHasOld = oldText !== void 0 && oldText.length > 0 && content.includes(oldText);
67713
67713
  if (hasNew && !stillHasOld) return {
@@ -68178,14 +68178,14 @@ function createSandboxEditOperations(params) {
68178
68178
  }
68179
68179
  async function writeHostFile(absolutePath, content) {
68180
68180
  const resolved = path.resolve(absolutePath);
68181
- await fsPromises.mkdir(path.dirname(resolved), { recursive: true });
68182
- await fsPromises.writeFile(resolved, content, "utf-8");
68181
+ await fs$1.mkdir(path.dirname(resolved), { recursive: true });
68182
+ await fs$1.writeFile(resolved, content, "utf-8");
68183
68183
  }
68184
68184
  function createHostWriteOperations(root, options) {
68185
68185
  if (!(options?.workspaceOnly ?? false)) return {
68186
68186
  mkdir: async (dir) => {
68187
68187
  const resolved = path.resolve(dir);
68188
- await fsPromises.mkdir(resolved, { recursive: true });
68188
+ await fs$1.mkdir(resolved, { recursive: true });
68189
68189
  },
68190
68190
  writeFile: writeHostFile
68191
68191
  };
@@ -68198,7 +68198,7 @@ function createHostWriteOperations(root, options) {
68198
68198
  cwd: root,
68199
68199
  root
68200
68200
  });
68201
- await fsPromises.mkdir(resolved, { recursive: true });
68201
+ await fs$1.mkdir(resolved, { recursive: true });
68202
68202
  },
68203
68203
  writeFile: async (absolutePath, content) => {
68204
68204
  await writeFileWithinRoot({
@@ -68214,12 +68214,12 @@ function createHostEditOperations(root, options) {
68214
68214
  if (!(options?.workspaceOnly ?? false)) return {
68215
68215
  readFile: async (absolutePath) => {
68216
68216
  const resolved = path.resolve(absolutePath);
68217
- return await fsPromises.readFile(resolved);
68217
+ return await fs$1.readFile(resolved);
68218
68218
  },
68219
68219
  writeFile: writeHostFile,
68220
68220
  access: async (absolutePath) => {
68221
68221
  const resolved = path.resolve(absolutePath);
68222
- await fsPromises.access(resolved);
68222
+ await fs$1.access(resolved);
68223
68223
  }
68224
68224
  };
68225
68225
  return {
@@ -69155,7 +69155,7 @@ async function repairSessionFileIfNeeded(params) {
69155
69155
  };
69156
69156
  let content;
69157
69157
  try {
69158
- content = await fsPromises.readFile(sessionFile, "utf-8");
69158
+ content = await fs$1.readFile(sessionFile, "utf-8");
69159
69159
  } catch (err) {
69160
69160
  if (err?.code === "ENOENT") return {
69161
69161
  repaired: false,
@@ -69203,15 +69203,15 @@ async function repairSessionFileIfNeeded(params) {
69203
69203
  const backupPath = `${sessionFile}.bak-${process.pid}-${Date.now()}`;
69204
69204
  const tmpPath = `${sessionFile}.repair-${process.pid}-${Date.now()}.tmp`;
69205
69205
  try {
69206
- const stat = await fsPromises.stat(sessionFile).catch(() => null);
69207
- await fsPromises.writeFile(backupPath, content, "utf-8");
69208
- if (stat) await fsPromises.chmod(backupPath, stat.mode);
69209
- await fsPromises.writeFile(tmpPath, cleaned, "utf-8");
69210
- if (stat) await fsPromises.chmod(tmpPath, stat.mode);
69211
- await fsPromises.rename(tmpPath, sessionFile);
69206
+ const stat = await fs$1.stat(sessionFile).catch(() => null);
69207
+ await fs$1.writeFile(backupPath, content, "utf-8");
69208
+ if (stat) await fs$1.chmod(backupPath, stat.mode);
69209
+ await fs$1.writeFile(tmpPath, cleaned, "utf-8");
69210
+ if (stat) await fs$1.chmod(tmpPath, stat.mode);
69211
+ await fs$1.rename(tmpPath, sessionFile);
69212
69212
  } catch (err) {
69213
69213
  try {
69214
- await fsPromises.unlink(tmpPath);
69214
+ await fs$1.unlink(tmpPath);
69215
69215
  } catch (cleanupErr) {
69216
69216
  params.warn?.(`session file repair cleanup failed: ${cleanupErr instanceof Error ? cleanupErr.message : "unknown error"} (${path.basename(tmpPath)})`);
69217
69217
  }
@@ -71549,7 +71549,7 @@ async function prewarmSessionFile(sessionFile) {
71549
71549
  if (!isSessionManagerCacheEnabled()) return;
71550
71550
  if (isSessionManagerCached(sessionFile)) return;
71551
71551
  try {
71552
- const handle = await fsPromises.open(sessionFile, "r");
71552
+ const handle = await fs$1.open(sessionFile, "r");
71553
71553
  try {
71554
71554
  const buffer = Buffer$1.alloc(4096);
71555
71555
  await handle.read(buffer, 0, buffer.length, 0);
@@ -72302,7 +72302,7 @@ async function compactEmbeddedPiSessionDirect(params) {
72302
72302
  } catch (err) {
72303
72303
  return fail(describeUnknownError(err));
72304
72304
  }
72305
- await fsPromises.mkdir(resolvedWorkspace, { recursive: true });
72305
+ await fs$1.mkdir(resolvedWorkspace, { recursive: true });
72306
72306
  const sandboxSessionKey = params.sessionKey?.trim() || params.sessionId;
72307
72307
  const sandbox = await resolveSandboxContext({
72308
72308
  config: params.config,
@@ -72311,7 +72311,7 @@ async function compactEmbeddedPiSessionDirect(params) {
72311
72311
  workspaceLane: params.workspaceLane
72312
72312
  });
72313
72313
  const effectiveWorkspace = sandbox?.enabled ? sandbox.workspaceAccess === "rw" ? resolvedWorkspace : sandbox.workspaceDir : resolvedWorkspace;
72314
- await fsPromises.mkdir(effectiveWorkspace, { recursive: true });
72314
+ await fs$1.mkdir(effectiveWorkspace, { recursive: true });
72315
72315
  if (!(isPreservationArmed() || !isJsonlSessionBackend())) await ensureSessionHeader({
72316
72316
  sessionFile: params.sessionFile,
72317
72317
  sessionId: params.sessionId,
@@ -76061,7 +76061,7 @@ async function prepareSessionManagerForRun(params) {
76061
76061
  header.id = params.sessionId;
76062
76062
  header.cwd = params.cwd;
76063
76063
  sm.sessionId = params.sessionId;
76064
- await fsPromises.writeFile(params.sessionFile, "", "utf-8");
76064
+ await fs$1.writeFile(params.sessionFile, "", "utf-8");
76065
76065
  sm.flushed = false;
76066
76066
  }
76067
76067
  }
@@ -77749,7 +77749,7 @@ async function runEmbeddedAttempt(params) {
77749
77749
  const runAbortController = new AbortController();
77750
77750
  const currentUserTurnForStorage = resolveCurrentUserTurnForStorage(params);
77751
77751
  log$28.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"}`);
77752
- await fsPromises.mkdir(resolvedWorkspace, { recursive: true });
77752
+ await fs$1.mkdir(resolvedWorkspace, { recursive: true });
77753
77753
  const sandboxSessionKey = params.sessionKey?.trim() || params.sessionId;
77754
77754
  const toolSessionKey = params.toolSessionKey?.trim() || sandboxSessionKey;
77755
77755
  const sandbox = params.skipSandbox ? null : await resolveSandboxContext({
@@ -77759,7 +77759,7 @@ async function runEmbeddedAttempt(params) {
77759
77759
  workspaceLane: params.workspaceLane
77760
77760
  });
77761
77761
  const effectiveWorkspace = sandbox?.enabled ? sandbox.workspaceAccess === "rw" ? resolvedWorkspace : sandbox.workspaceDir : resolvedWorkspace;
77762
- await fsPromises.mkdir(effectiveWorkspace, { recursive: true });
77762
+ await fs$1.mkdir(effectiveWorkspace, { recursive: true });
77763
77763
  let restoreSkillEnv;
77764
77764
  const releaseWorkspaceCwd = params.skipCwdChange ? void 0 : acquireWorkspaceCwd(effectiveWorkspace);
77765
77765
  try {
@@ -78145,7 +78145,7 @@ async function runEmbeddedAttempt(params) {
78145
78145
  sessionFile: params.sessionFile,
78146
78146
  warn: (message) => log$28.warn(message)
78147
78147
  });
78148
- const hadSessionFile = await fsPromises.stat(params.sessionFile).then(() => true).catch(() => false);
78148
+ const hadSessionFile = await fs$1.stat(params.sessionFile).then(() => true).catch(() => false);
78149
78149
  if (!params.skipSessionManagerCache) await prewarmSessionFile(params.sessionFile);
78150
78150
  sessionManager = guardSessionManager(SessionManager.open(params.sessionFile), {
78151
78151
  agentId: sessionAgentId,
@@ -79554,7 +79554,7 @@ async function runEmbeddedPiAgent(params) {
79554
79554
  const copilotAuthRetry = authRetryPending;
79555
79555
  authRetryPending = false;
79556
79556
  attemptedThinking.add(thinkLevel);
79557
- await fsPromises.mkdir(resolvedWorkspace, { recursive: true });
79557
+ await fs$1.mkdir(resolvedWorkspace, { recursive: true });
79558
79558
  const prompt = provider === "anthropic" ? scrubAnthropicRefusalMagic(params.prompt) : params.prompt;
79559
79559
  const attempt = await runEmbeddedAttempt({
79560
79560
  sessionId: params.sessionId,
@@ -80787,7 +80787,7 @@ async function runModelGate(spec, ctx) {
80787
80787
  const isolatedSessionId = randomNonce;
80788
80788
  const isolatedRunId = randomNonce;
80789
80789
  const tmpBaseDir = resolvePreferredOpenClawTmpDir();
80790
- tmpDir = await fsPromises.mkdtemp(path.join(tmpBaseDir, "wake-gate-"));
80790
+ tmpDir = await fs$1.mkdtemp(path.join(tmpBaseDir, "wake-gate-"));
80791
80791
  const sessionFile = path.join(tmpDir, "session.json");
80792
80792
  const workspaceDir = tmpDir;
80793
80793
  const prompt = spec.prompt ?? DEFAULT_MODEL_PROMPT;
@@ -80846,7 +80846,7 @@ async function runModelGate(spec, ctx) {
80846
80846
  log$7.warn("model gate error", { error: err instanceof Error ? err.message : String(err) });
80847
80847
  return { wake: false };
80848
80848
  } finally {
80849
- if (tmpDir) await fsPromises.rm(tmpDir, {
80849
+ if (tmpDir) await fs$1.rm(tmpDir, {
80850
80850
  recursive: true,
80851
80851
  force: true
80852
80852
  }).catch(() => void 0);
@@ -81145,7 +81145,7 @@ async function pruneHeartbeatTranscript(params) {
81145
81145
  if (!transcriptPath || typeof preHeartbeatSize !== "number" || preHeartbeatSize < 0) return;
81146
81146
  const pruneEnd = typeof postHeartbeatWriteSize === "number" && postHeartbeatWriteSize >= preHeartbeatSize ? postHeartbeatWriteSize : void 0;
81147
81147
  try {
81148
- const content = await fsPromises.readFile(transcriptPath, "utf8");
81148
+ const content = await fs$1.readFile(transcriptPath, "utf8");
81149
81149
  const currentBytes = Buffer.byteLength(content, "utf8");
81150
81150
  if (currentBytes <= preHeartbeatSize) return;
81151
81151
  const buf = Buffer.from(content, "utf8");
@@ -81173,10 +81173,10 @@ async function pruneHeartbeatTranscript(params) {
81173
81173
  const rewritten = preText + (keptRegionLines.length > 0 ? keptRegionLines.join("\n") + (heartbeatRegion.endsWith("\n") ? "\n" : "") : "") + concurrentTail;
81174
81174
  const tmp = `${transcriptPath}.${process.pid}.${randomBytes(8).toString("hex")}.tmp`;
81175
81175
  try {
81176
- await fsPromises.writeFile(tmp, rewritten, "utf8");
81177
- await fsPromises.rename(tmp, transcriptPath);
81176
+ await fs$1.writeFile(tmp, rewritten, "utf8");
81177
+ await fs$1.rename(tmp, transcriptPath);
81178
81178
  } catch (err) {
81179
- await fsPromises.unlink(tmp).catch(() => {});
81179
+ await fs$1.unlink(tmp).catch(() => {});
81180
81180
  throw err;
81181
81181
  }
81182
81182
  } catch (err) {
@@ -81198,7 +81198,7 @@ async function captureTranscriptState(params) {
81198
81198
  });
81199
81199
  return {
81200
81200
  transcriptPath,
81201
- preHeartbeatSize: (await fsPromises.stat(transcriptPath)).size
81201
+ preHeartbeatSize: (await fs$1.stat(transcriptPath)).size
81202
81202
  };
81203
81203
  } catch {
81204
81204
  return {};
@@ -81212,7 +81212,7 @@ async function captureTranscriptState(params) {
81212
81212
  async function withPostHeartbeatWriteSize(transcriptState) {
81213
81213
  if (!transcriptState.transcriptPath) return transcriptState;
81214
81214
  try {
81215
- const stat = await fsPromises.stat(transcriptState.transcriptPath);
81215
+ const stat = await fs$1.stat(transcriptState.transcriptPath);
81216
81216
  return {
81217
81217
  ...transcriptState,
81218
81218
  postHeartbeatWriteSize: stat.size
@@ -81334,7 +81334,7 @@ async function resolveHeartbeatPreflight(params) {
81334
81334
  const workspaceDir = resolveAgentWorkspaceDir(params.cfg, params.agentId);
81335
81335
  const heartbeatFilePath = path.join(workspaceDir, DEFAULT_HEARTBEAT_FILENAME);
81336
81336
  try {
81337
- if (isHeartbeatContentEffectivelyEmpty(await fsPromises.readFile(heartbeatFilePath, "utf-8"))) return {
81337
+ if (isHeartbeatContentEffectivelyEmpty(await fs$1.readFile(heartbeatFilePath, "utf-8"))) return {
81338
81338
  ...basePreflight,
81339
81339
  skipReason: "empty-heartbeat-file"
81340
81340
  };
@@ -87452,7 +87452,7 @@ async function emitResetCommandHooks(params) {
87452
87452
  try {
87453
87453
  const messages = [];
87454
87454
  if (sessionFile) {
87455
- const content = await fsPromises.readFile(sessionFile, "utf-8");
87455
+ const content = await fs$1.readFile(sessionFile, "utf-8");
87456
87456
  for (const line of content.split("\n")) {
87457
87457
  if (!line.trim()) continue;
87458
87458
  try {
@@ -92805,7 +92805,7 @@ async function deliverSessionMaintenanceWarning(params) {
92805
92805
  return;
92806
92806
  }
92807
92807
  try {
92808
- const { deliverOutboundPayloads } = await import("./deliver-BeUjHsuQ.js").then((n) => n.n);
92808
+ const { deliverOutboundPayloads } = await import("./deliver-QPSbsYeP.js").then((n) => n.n);
92809
92809
  const outboundSession = buildOutboundSessionContext({
92810
92810
  cfg: params.cfg,
92811
92811
  sessionKey: params.sessionKey
@@ -93628,7 +93628,7 @@ async function stageSandboxMedia(params) {
93628
93628
  const remoteMediaCacheDir = ctx.MediaRemoteHost ? path.join(workspaceDir, ".openclaw", "media", "remote-cache", sessionKey) : null;
93629
93629
  const effectiveWorkspaceDir = sandbox?.workspaceDir ?? remoteMediaCacheDir;
93630
93630
  if (!effectiveWorkspaceDir) return;
93631
- await fsPromises.mkdir(effectiveWorkspaceDir, { recursive: true });
93631
+ await fs$1.mkdir(effectiveWorkspaceDir, { recursive: true });
93632
93632
  const remoteAttachmentRoots = resolveIMessageRemoteAttachmentRoots({
93633
93633
  cfg,
93634
93634
  accountId: ctx.AccountId
@@ -93687,8 +93687,8 @@ async function stageLocalFileIntoRoot(params) {
93687
93687
  }
93688
93688
  async function stageRemoteFileIntoRoot(params) {
93689
93689
  const tmpRoot = resolvePreferredOpenClawTmpDir();
93690
- await fsPromises.mkdir(tmpRoot, { recursive: true });
93691
- const tmpDir = await fsPromises.mkdtemp(path.join(tmpRoot, "stage-sandbox-media-"));
93690
+ await fs$1.mkdir(tmpRoot, { recursive: true });
93691
+ const tmpDir = await fs$1.mkdtemp(path.join(tmpRoot, "stage-sandbox-media-"));
93692
93692
  const tmpPath = path.join(tmpDir, "download");
93693
93693
  try {
93694
93694
  await scpFile(params.remoteHost, params.remotePath, tmpPath);
@@ -93699,7 +93699,7 @@ async function stageRemoteFileIntoRoot(params) {
93699
93699
  maxBytes: params.maxBytes
93700
93700
  });
93701
93701
  } finally {
93702
- await fsPromises.rm(tmpDir, {
93702
+ await fs$1.rm(tmpDir, {
93703
93703
  recursive: true,
93704
93704
  force: true
93705
93705
  }).catch(() => {});