@yuf1011/openclaw 2026.3.1 → 2026.3.2

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 (288) hide show
  1. package/dist/{accounts-DmPvlCpt.js → accounts-1yld8BY0.js} +1 -1
  2. package/dist/{accounts-UyfWuXKC.js → accounts-Bgjrmxdu.js} +1 -1
  3. package/dist/{accounts-9Q07LhiR.js → accounts-Bj4Z7jBB.js} +7 -7
  4. package/dist/{acp-cli-nchqxQfx.js → acp-cli-CmC_BH_F.js} +9 -9
  5. package/dist/{agent-scope-CaXaKovT.js → agent-scope-B33Scyaw.js} +17 -17
  6. package/dist/{agents-Bp-on4Ol.js → agents-C1kcu676.js} +14 -14
  7. package/dist/{agents.config-FcpuK_oH.js → agents.config-bWKr_efI.js} +2 -2
  8. package/dist/{audio-preflight-HamJvwTU.js → audio-preflight-DrlqJTSX.js} +36 -36
  9. package/dist/{audio-preflight-O-Z_sN2r.js → audio-preflight-DwqzIQik.js} +4 -4
  10. package/dist/{audit-BNH972H2.js → audit-BJB-Xpuo.js} +23 -23
  11. package/dist/{auth-DHBdjHjv.js → auth-D3lXwd01.js} +1 -1
  12. package/dist/{auth-choice-C9nuVlg2.js → auth-choice-CLaOH6QA.js} +11 -11
  13. package/dist/{auth-choice-DcdZx6iq.js → auth-choice-DvgigM9u.js} +12 -12
  14. package/dist/{auth-choice.apply-helpers-CLLeqgyP.js → auth-choice.apply-helpers-DAtOrGrN.js} +1 -1
  15. package/dist/{auth-profiles-qnck2ozy.js → auth-profiles-D3FyYUSG.js} +16 -16
  16. package/dist/{auth-token-D7uxXxRA.js → auth-token-5Yewb0K8.js} +1 -1
  17. package/dist/{banner-KQwBaYzV.js → banner-BBj7LBMv.js} +1 -1
  18. package/dist/{bindings-vuIL-APZ.js → bindings-CWyuSfs6.js} +1 -1
  19. package/dist/{bonjour-discovery-BTitpiD_.js → bonjour-discovery-BZKMSZbv.js} +1 -1
  20. package/dist/{browser-cli-mVm8SiTf.js → browser-cli-Dae28dnV.js} +13 -13
  21. package/dist/build-info.json +3 -3
  22. package/dist/bundled/boot-md/handler.js +6 -6
  23. package/dist/bundled/session-memory/handler.js +6 -6
  24. package/dist/{call-C-oZgsJl.js → call-BZSWeS2x.js} +10 -10
  25. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  26. package/dist/{channel-account-context-BJEFFNm5.js → channel-account-context-CvN7490K.js} +5 -5
  27. package/dist/{channel-options-C16VfUrO.js → channel-options-C-f-M1qF.js} +3 -3
  28. package/dist/{channel-selection-D7I4uyOc.js → channel-selection-DYEAZFR_.js} +1 -1
  29. package/dist/{channel-web-B1GNR2Dq.js → channel-web-DZsn-oXm.js} +18 -18
  30. package/dist/{channels-cli-CoYoUIpQ.js → channels-cli-D4rNipxg.js} +94 -94
  31. package/dist/{channels-status-issues-BDFtJFM3.js → channels-status-issues-BU67pzdy.js} +1 -1
  32. package/dist/{chrome-BO_XI6hR.js → chrome-CmcvtOeC.js} +4 -4
  33. package/dist/{chrome-C9dZ_OUB.js → chrome-rCogzAbu.js} +9 -9
  34. package/dist/{clawbot-cli-DvFI6yxU.js → clawbot-cli-z2dtXuJD.js} +5 -5
  35. package/dist/cli-CRcQGL-0.js +156 -0
  36. package/dist/{client-BBiFerkj.js → client-CdetOJti.js} +2 -2
  37. package/dist/{command-registry-CA18iTa1.js → command-registry-DpWSR6vE.js} +11 -11
  38. package/dist/{commands-CPLAkZQx.js → commands-DvATdC6x.js} +1 -1
  39. package/dist/{commands-registry-C9Mi0U--.js → commands-registry-CxF5UuEv.js} +3 -3
  40. package/dist/{completion-cli-f2rJo_UJ.js → completion-cli-8XhBe_hV.js} +13 -13
  41. package/dist/{config-cli-D3Kk9KK5.js → config-cli-KR_BJlS_.js} +6 -6
  42. package/dist/{config-guard-DOLjY0Fe.js → config-guard-CCUlwUmY.js} +2 -2
  43. package/dist/{config-validation-krJ4BOp0.js → config-validation-DM5GZr_k.js} +2 -2
  44. package/dist/{configure-BJLfFfRf.js → configure-Cijg4qS_.js} +17 -17
  45. package/dist/{control-ui-assets-DwsjxukL.js → control-ui-assets-D3JoK4hu.js} +1 -1
  46. package/dist/{cron-cli-C35CLkzi.js → cron-cli-D9M9O2W6.js} +13 -13
  47. package/dist/{daemon-cli-YUZ4wWO5.js → daemon-cli-CV7F4tGh.js} +14 -14
  48. package/dist/{daemon-install-CvpZhhVu.js → daemon-install-DoY06atb.js} +4 -4
  49. package/dist/{daemon-install-helpers-2MdByqYP.js → daemon-install-helpers-BbDloeys.js} +9 -9
  50. package/dist/{deliver-B7mNw8Vu.js → deliver-CZEKwM5v.js} +7 -7
  51. package/dist/{deliver-D1fs1S3v.js → deliver-vfoVGjjK.js} +1 -1
  52. package/dist/{devices-cli-D62t6AOQ.js → devices-cli-DO3kZZY9.js} +9 -9
  53. package/dist/{diagnostic-CJIq8gp_.js → diagnostic-Bc4KUKvc.js} +1 -1
  54. package/dist/{diagnostics-B_N_47d8.js → diagnostics-Cwm6yj6S.js} +5 -5
  55. package/dist/{directory-cli-gpg8jejU.js → directory-cli-CxHr8BB9.js} +8 -8
  56. package/dist/{dns-cli-AJOUY2RK.js → dns-cli-D4tVpUzw.js} +5 -5
  57. package/dist/{dock-BYLdmpt5.js → dock-SjEhga7i.js} +4 -4
  58. package/dist/{docs-cli-B8nNTRqk.js → docs-cli-Dfg5DloZ.js} +4 -4
  59. package/dist/{doctor-completion-C8_UEBvL.js → doctor-completion-Cx1hTz2p.js} +2 -2
  60. package/dist/{doctor-config-flow-BoMU70Ko.js → doctor-config-flow-AkAVT_nE.js} +14 -14
  61. package/dist/{enable-BIW6JnCC.js → enable-D8_8_z2E.js} +1 -1
  62. package/dist/entry.js +2 -2
  63. package/dist/{exec-approvals-allowlist-CklJrJwI.js → exec-approvals-allowlist-CjjR0Lj9.js} +1 -1
  64. package/dist/{exec-approvals-cli-tXCzQbvW.js → exec-approvals-cli-DzUDeKvk.js} +17 -17
  65. package/dist/{exec-safe-bin-runtime-policy-BCQlhcV7.js → exec-safe-bin-runtime-policy-BQ4FXdVM.js} +2 -2
  66. package/dist/{fetch-guard-qBXlHXD_.js → fetch-guard-Cm1MSHHV.js} +1 -1
  67. package/dist/{fs-safe-Dr8G7a6P.js → fs-safe-CCDIEBbt.js} +16 -16
  68. package/dist/{gateway-cli-Bl2PLo3y.js → gateway-cli-CZD2FTCR.js} +154 -154
  69. package/dist/{gateway-rpc-BTAI1-VC.js → gateway-rpc-D_B_ulqD.js} +1 -1
  70. package/dist/{gemini-auth-DLd8nbvG.js → gemini-auth-i82BVqPg.js} +1 -1
  71. package/dist/{health-C2cEnW7K.js → health-BayXWmty.js} +13 -13
  72. package/dist/{hooks-cli-D8BwaEoO.js → hooks-cli-BPDlubbK.js} +90 -90
  73. package/dist/{hooks-status-Bk97nvaD.js → hooks-status-0v40xw4Q.js} +1 -1
  74. package/dist/{image-CEFy-HTg.js → image-dzsBaMmN.js} +1 -1
  75. package/dist/{plugin-sdk/image-ops-CVCbKZRn.js → image-ops-Z3_QkQPj.js} +2 -2
  76. package/dist/{image-QYMqJ_Cu.js → image-w5Vu5G__.js} +5 -5
  77. package/dist/{inspect-CmMfTMbw.js → inspect-Br6JEUTm.js} +4 -4
  78. package/dist/{install-safe-path-DXJW8Vo3.js → install-safe-path-DGYbxO86.js} +19 -19
  79. package/dist/{installs-Dn2iXOnd.js → installs-Bg1jGMwd.js} +10 -10
  80. package/dist/{ipv4-CrhBNcyo.js → ipv4-BBc3Sa_a.js} +1 -1
  81. package/dist/{ir-DYUcUO1t.js → ir-Dhd5EWHO.js} +6 -6
  82. package/dist/{lifecycle-core-CkOjXGl1.js → lifecycle-core-DrcOD7_e.js} +5 -5
  83. package/dist/llm-slug-generator.js +6 -6
  84. package/dist/{local-roots-iKHeLTM9.js → local-roots-Cyat99dT.js} +3 -3
  85. package/dist/{login-BdEIPD3M.js → login-CbEdSE8o.js} +3 -3
  86. package/dist/{login-qr-BCrD2_fy.js → login-qr-DK2E0Fk5.js} +6 -6
  87. package/dist/{logs-cli-BUI8frD6.js → logs-cli-DX5sTx_Z.js} +10 -10
  88. package/dist/{manager-SsdELHU2.js → manager-DdwvQQ2A.js} +14 -14
  89. package/dist/{manifest-registry-YC37UceR.js → manifest-registry-DRMtnPEQ.js} +1 -1
  90. package/dist/{markdown-tables-BvxYO6Nz.js → markdown-tables-DhrZVWff.js} +1 -1
  91. package/dist/{memory-cli-DPD3Jnkc.js → memory-cli-CdB1ptzd.js} +12 -12
  92. package/dist/{model-2aL8NZKc.js → model-AKh96s7h.js} +2 -2
  93. package/dist/{model-catalog-BL39Jul_.js → model-catalog-el1FVV5q.js} +3 -3
  94. package/dist/{model-picker-wenGgGVr.js → model-picker-BzzwN4eR.js} +4 -4
  95. package/dist/{models-BGvQqrQE.js → models-CyBxXuv1.js} +17 -17
  96. package/dist/{models-cli-fQ4IbjQs.js → models-cli-q5yywUVm.js} +80 -80
  97. package/dist/{models-config-1JCLlVs8.js → models-config-CGGxd1w2.js} +6 -6
  98. package/dist/{net-CWUwrVfz.js → net-C63UEjlQ.js} +2 -2
  99. package/dist/{node-cli-DHw9Zenb.js → node-cli-DeauKipI.js} +36 -36
  100. package/dist/{node-service-sJ_Rmbk7.js → node-service-CVNXtZeJ.js} +1 -1
  101. package/dist/{nodes-cli-BgDJY7us.js → nodes-cli-QVwX4ULT.js} +15 -15
  102. package/dist/{nodes-screen-BV63eC7o.js → nodes-screen-CHgcakcH.js} +5 -5
  103. package/dist/{npm-pack-install-C2E_zBU6.js → npm-pack-install-ChrCCIJD.js} +16 -16
  104. package/dist/{npm-resolution-B6xDbagk.js → npm-resolution-CvPKK0T0.js} +3 -3
  105. package/dist/{onboard-BBEWORGd.js → onboard-G39xAbGJ.js} +6 -6
  106. package/dist/{onboard-channels-DwWwZbhS.js → onboard-channels-BfGGowDI.js} +20 -20
  107. package/dist/{onboard-custom-CFuF05H2.js → onboard-custom-D_J_UV_B.js} +4 -4
  108. package/dist/{onboard-helpers-BnUKgDFe.js → onboard-helpers-CzMlu78H.js} +10 -10
  109. package/dist/{onboard-hooks-Te3_nPpe.js → onboard-hooks-gniWP7px.js} +4 -4
  110. package/dist/{onboard-remote-BgO_SWWa.js → onboard-remote-BpvvuHBw.js} +3 -3
  111. package/dist/{onboard-skills-CbTLB4cs.js → onboard-skills-CTY-DPhb.js} +4 -4
  112. package/dist/{onboarding-1PceVUnc.js → onboarding-BVt6sz-b.js} +13 -13
  113. package/dist/{onboarding.finalize-B4cr4Txq.js → onboarding.finalize-UFHE8pEj.js} +89 -89
  114. package/dist/{onboarding.gateway-config-BwYXTzcK.js → onboarding.gateway-config-1awD8XGu.js} +18 -18
  115. package/dist/{openai-model-default-CUxaHKMh.js → openai-model-default-Dy_e_lUy.js} +2 -2
  116. package/dist/{openclaw-root-DW-p-saf.js → openclaw-root-Cw_9FXUV.js} +8 -8
  117. package/dist/{plugin-sdk/outbound-attachment-BXtgutRQ.js → outbound-attachment-DmkmJ2Lc.js} +2 -2
  118. package/dist/{outbound-DXu6wxmi.js → outbound-m3MjDRvf.js} +4 -4
  119. package/dist/{pairing-cli-tFQQnCAT.js → pairing-cli-GoI4I4if.js} +9 -9
  120. package/dist/{pairing-labels-rAuS5aeV.js → pairing-labels-ZYWr_HV3.js} +1 -1
  121. package/dist/{pairing-store-_x0NQEfq.js → pairing-store-C49WkfCi.js} +2 -2
  122. package/dist/{pairing-token-PHk3tBUz.js → pairing-token-CtND5y_8.js} +7 -7
  123. package/dist/{path-alias-guards-z2hGNiIs.js → path-alias-guards-DEakBSGU.js} +3 -3
  124. package/dist/{path-safety-DBBDWKy1.js → path-safety-DeVxBPre.js} +1 -1
  125. package/dist/{paths-rIq72jC_.js → paths-BVyklYXR.js} +9 -9
  126. package/dist/{pi-embedded-fLS3EStS.js → pi-embedded-BCr5zWiT.js} +21 -21
  127. package/dist/{pi-embedded-helpers-BUce0Iqb.js → pi-embedded-helpers-BYXUXgYn.js} +6 -6
  128. package/dist/{pi-embedded-helpers-C_cbk2KW.js → pi-embedded-helpers-Dv3HZWfJ.js} +4 -4
  129. package/dist/{pi-model-discovery-BvGj4Ik8.js → pi-model-discovery-iNwnGd3m.js} +1 -1
  130. package/dist/{pi-tools.policy-oE4ZdHFF.js → pi-tools.policy-B5HqMPIq.js} +5 -5
  131. package/dist/{plugin-auto-enable-B2Kx-xH3.js → plugin-auto-enable-gT66Wggm.js} +3 -3
  132. package/dist/{plugin-registry-Cct_UdcP.js → plugin-registry-w2gqdvm-.js} +3 -3
  133. package/dist/plugin-sdk/{accounts-DFBfxw6M.js → accounts-DCDKnmrW.js} +1 -1
  134. package/dist/plugin-sdk/{accounts-WdYXo32T.js → accounts-DcjX_Olt.js} +1 -1
  135. package/dist/plugin-sdk/{accounts-CK8zoDbM.js → accounts-wG7sdxrI.js} +2 -2
  136. package/dist/plugin-sdk/{active-listener-PQ_Tmkac.js → active-listener-CZu4-ue_.js} +1 -1
  137. package/dist/plugin-sdk/{agent-scope-Mc1svPAJ.js → agent-scope-wi2hKUar.js} +1 -1
  138. package/dist/plugin-sdk/{api-key-rotation-0R4c0BKy.js → api-key-rotation-C50AZ4HQ.js} +2 -2
  139. package/dist/plugin-sdk/{audio-preflight-DeKzW6t7.js → audio-preflight-CWobJe2m.js} +29 -29
  140. package/dist/plugin-sdk/{bindings-Doyw0dbC.js → bindings-B2InXUgN.js} +2 -2
  141. package/dist/plugin-sdk/{channel-activity-WTkBRQhD.js → channel-activity-DhlOJslm.js} +3 -3
  142. package/dist/plugin-sdk/{channel-web-O8qsWnj-.js → channel-web-b5Y6qjaX.js} +21 -21
  143. package/dist/plugin-sdk/{chrome-DBhifTKw.js → chrome-BE2vPym_.js} +6 -6
  144. package/dist/plugin-sdk/{chunk-1puCfOZX.js → chunk-BKXLkSr_.js} +1 -1
  145. package/dist/plugin-sdk/{command-format-Bf4OYMmN.js → command-format-D4smYdZ1.js} +1 -1
  146. package/dist/plugin-sdk/{commands-registry-Bv5URQN-.js → commands-registry-CRAjZbMZ.js} +4 -4
  147. package/dist/plugin-sdk/{config-CCVvq2-2.js → config-CuVxnKd5.js} +8 -8
  148. package/dist/plugin-sdk/{deliver-Du8jMk_2.js → deliver-C-QqkAxt.js} +10 -10
  149. package/dist/plugin-sdk/{diagnostic-8HfhvtLS.js → diagnostic-DF5kk6Ha.js} +2 -2
  150. package/dist/plugin-sdk/{dock-1qTnXc22.js → dock-B6o_YOXU.js} +5 -5
  151. package/dist/plugin-sdk/{errors-D6sYxFmI.js → errors--NHuiZti.js} +1 -1
  152. package/dist/plugin-sdk/{fetch-guard-CfkACfHH.js → fetch-guard-IzK0s4EP.js} +2 -2
  153. package/dist/plugin-sdk/{fs-safe-DOZJUWUV.js → fs-safe-DCNfFQXN.js} +2 -2
  154. package/dist/plugin-sdk/{image-p3JhFE-q.js → image-Ckh39rIc.js} +6 -6
  155. package/dist/{image-ops-toDXWGMw.js → plugin-sdk/image-ops-c8-5iEn1.js} +12 -12
  156. package/dist/plugin-sdk/index.js +58 -58
  157. package/dist/plugin-sdk/{ir-EtEIlzCl.js → ir-KJ8B3heg.js} +5 -5
  158. package/dist/plugin-sdk/{local-roots-DcjujrLt.js → local-roots-oFw9xB3W.js} +4 -4
  159. package/dist/plugin-sdk/{login-CaiyG7fL.js → login-BpSGWRAn.js} +6 -6
  160. package/dist/plugin-sdk/{login-qr-qR_0F2uz.js → login-qr-BcEHe2l6.js} +6 -6
  161. package/dist/plugin-sdk/{manager-DHHJPm4z.js → manager-Mk7Al8tR.js} +9 -9
  162. package/dist/plugin-sdk/{markdown-tables-DfInfLzW.js → markdown-tables-CgoIgjwH.js} +1 -1
  163. package/dist/plugin-sdk/{message-channel-CTmZmMGO.js → message-channel-B_avrhM-.js} +1 -1
  164. package/dist/plugin-sdk/{outbound-Csej8W-L.js → outbound-5ejc0abd.js} +6 -6
  165. package/dist/{outbound-attachment-Bi7QWVn5.js → plugin-sdk/outbound-attachment-DJZwfefq.js} +2 -2
  166. package/dist/plugin-sdk/{path-alias-guards-mPZl8VD3.js → path-alias-guards-dQJhySnm.js} +1 -1
  167. package/dist/plugin-sdk/{pi-embedded-helpers-C9JVi9wk.js → pi-embedded-helpers-ChvwOu5y.js} +16 -16
  168. package/dist/plugin-sdk/{pi-model-discovery-BS3RfvIw.js → pi-model-discovery-DgYhmlNG.js} +1 -1
  169. package/dist/plugin-sdk/{plugins-kAeBKYoU.js → plugins-43A_vro3.js} +4 -4
  170. package/dist/plugin-sdk/{pw-ai-DczkhBlG.js → pw-ai-B_Eskool.js} +10 -10
  171. package/dist/plugin-sdk/{qmd-manager-QzGHpfme.js → qmd-manager-D8hOneSc.js} +4 -4
  172. package/dist/plugin-sdk/{query-expansion-asHSnsMm.js → query-expansion-Dy2RqhGj.js} +2 -2
  173. package/dist/plugin-sdk/{redact-Bd2SiHkr.js → redact-C1cyUA71.js} +1 -1
  174. package/dist/plugin-sdk/{replies-FfnAJgf7.js → replies-CnQaxnV4.js} +3 -3
  175. package/dist/plugin-sdk/{reply-COGOw5Ek.js → reply-BwE-soc9.js} +86 -86
  176. package/dist/plugin-sdk/{reply-prefix-CrfFpZVa.js → reply-prefix-DCQtho4T.js} +1 -1
  177. package/dist/plugin-sdk/{resolve-outbound-target-BVT4EVrH.js → resolve-outbound-target-Dq9I2GaW.js} +2 -2
  178. package/dist/plugin-sdk/{resolve-route-CXAS6e8J.js → resolve-route-CJvtv5t9.js} +3 -3
  179. package/dist/plugin-sdk/{retry-9m7s9V95.js → retry-C-lOGVgE.js} +1 -1
  180. package/dist/plugin-sdk/{runner-C6ylai6Z.js → runner-DsccFtkb.js} +9 -9
  181. package/dist/plugin-sdk/{send-CxsVHVAX.js → send-2gyvX72Q.js} +12 -12
  182. package/dist/plugin-sdk/{send-D_ho4big.js → send-BMhePV_4.js} +10 -10
  183. package/dist/plugin-sdk/{send-alW6jFu1.js → send-BeYIngcm.js} +6 -6
  184. package/dist/plugin-sdk/{send-BnfdAJbL.js → send-BlEAcyDg.js} +8 -8
  185. package/dist/plugin-sdk/{send-CSOzYSNF.js → send-DeNtjymi.js} +7 -7
  186. package/dist/plugin-sdk/{session-Bqv8qF6e.js → session-D2AiJJYy.js} +4 -4
  187. package/dist/plugin-sdk/{sessions-BuxRaCyw.js → sessions-zmPjX-cD.js} +5 -5
  188. package/dist/plugin-sdk/{skill-commands-BpaJj_N6.js → skill-commands-BTNdJ6Cr.js} +4 -4
  189. package/dist/plugin-sdk/{skills-BFujt10E.js → skills-BkGa5_yy.js} +7 -7
  190. package/dist/plugin-sdk/{ssrf-Q9AqFBuw.js → ssrf-B_Q2k5gm.js} +1 -1
  191. package/dist/plugin-sdk/{store-BKCEQ-Gy.js → store-DlIx0Ljh.js} +2 -2
  192. package/dist/plugin-sdk/{subsystem-Dv9ZY_DW.js → subsystem-D7KkLxSJ.js} +2 -2
  193. package/dist/plugin-sdk/{tables-CiLC1-xu.js → tables-BbXRskgD.js} +1 -1
  194. package/dist/plugin-sdk/{target-errors-D28xCQm8.js → target-errors-BvPFqIjq.js} +2 -2
  195. package/dist/plugin-sdk/{tokens-V3CP7Ge2.js → tokens-CVvkQM_V.js} +1 -1
  196. package/dist/plugin-sdk/{tool-images-Cog7Gmdl.js → tool-images-aK1slaVl.js} +2 -2
  197. package/dist/plugin-sdk/{tool-loop-detection-DG_vuYxb.js → tool-loop-detection-BP9LIuuY.js} +1 -1
  198. package/dist/plugin-sdk/web-CH6ZZsT2.js +67 -0
  199. package/dist/plugin-sdk/{whatsapp-actions-WLB-KfIA.js → whatsapp-actions-ChLODgBj.js} +22 -22
  200. package/dist/{plugins-CiBXm-v1.js → plugins-Cb8JznN4.js} +2 -2
  201. package/dist/{plugins-cli-BGpk_mxe.js → plugins-cli-BQAyU_if.js} +86 -86
  202. package/dist/{ports-Z6QFaVRW.js → ports-4J8-_4SF.js} +2 -2
  203. package/dist/{ports-DMnEiLQa.js → ports-Ds33lE1B.js} +1 -1
  204. package/dist/{program-Aj-MXGpl.js → program-D5ThaA_K.js} +84 -84
  205. package/dist/{prompt-select-styled-g85rM8c_.js → prompt-select-styled-B1xopDJb.js} +39 -39
  206. package/dist/{provider-auth-helpers-JeXDbyPW.js → provider-auth-helpers-C-Vm3aEA.js} +5 -5
  207. package/dist/{push-apns-BsK6rZMS.js → push-apns-C0YjpY9N.js} +5 -5
  208. package/dist/{pw-ai-CoN0pihK.js → pw-ai-DloIDud2.js} +16 -16
  209. package/dist/{pw-ai-BDzqpsq_.js → pw-ai-PpF146vO.js} +1 -1
  210. package/dist/{qmd-manager-D8eAzrZY.js → qmd-manager-Du0tEQ-8.js} +19 -19
  211. package/dist/{qr-cli-ovb8Q1J9.js → qr-cli-DJ6LqChA.js} +1 -1
  212. package/dist/{query-expansion-B3FVYwN6.js → query-expansion-CwyL4z9j.js} +12 -12
  213. package/dist/{redact-snapshot-zDjp0HRV.js → redact-snapshot-W7mO-kGu.js} +1 -1
  214. package/dist/{register.agent-Bcd3jYoI.js → register.agent-CdV5WCcn.js} +96 -96
  215. package/dist/register.configure-265nQbq2.js +162 -0
  216. package/dist/{register.maintenance-DE9PWWja.js → register.maintenance-_pksRHI5.js} +97 -97
  217. package/dist/{register.message-CNcokMYT.js → register.message-BIuzvBK0.js} +77 -77
  218. package/dist/{register.onboard-lN_aaVOZ.js → register.onboard-DEl8fY1G.js} +19 -19
  219. package/dist/{register.setup-B6EaaMq4.js → register.setup-Ig_gGvdF.js} +22 -22
  220. package/dist/{register.status-health-sessions-CboXR8WN.js → register.status-health-sessions-DdHiFiQ8.js} +89 -89
  221. package/dist/{register.subclis-BkGATlmp.js → register.subclis-FZKDXxxL.js} +31 -31
  222. package/dist/{replies-COLVQezU.js → replies-BAqKfdVk.js} +1 -1
  223. package/dist/{reply-prefix-BLgL5eLu.js → reply-prefix-Q23IMgrt.js} +1 -1
  224. package/dist/{resolve-route-B0u78v_W.js → resolve-route-DvJmdJ7B.js} +2 -2
  225. package/dist/{rpc-BWpHds0n.js → rpc-u34pBflj.js} +1 -1
  226. package/dist/{run-main-dqrwXIoU.js → run-main-CAQXzgkK.js} +94 -94
  227. package/dist/{runner-DcvLsEbZ.js → runner-C9RTcw_0.js} +21 -21
  228. package/dist/{runner-CsGs9PzD.js → runner-Q4wBIACO.js} +1 -1
  229. package/dist/{runtime-x5BqK1kr.js → runtime-CnfENRVM.js} +2 -2
  230. package/dist/{sandbox-B-wAH3en.js → sandbox-BCxHjLQS.js} +22 -22
  231. package/dist/{sandbox-cli-CegfJFAq.js → sandbox-cli-DnMnYrDy.js} +26 -26
  232. package/dist/{secrets-cli-CAIsSLya.js → secrets-cli-Bj6VgalW.js} +11 -11
  233. package/dist/{security-cli-DESlyONm.js → security-cli-DctG0oZz.js} +43 -43
  234. package/dist/{send-sEXu0p87.js → send-CVj6uOGI.js} +7 -7
  235. package/dist/{send-CgATYx8D.js → send-DE17gd7F.js} +6 -6
  236. package/dist/{send-DZ9JXWaZ.js → send-oJraTp-6.js} +6 -6
  237. package/dist/{send-DY7qzDta.js → send-snKm1H4E.js} +13 -13
  238. package/dist/{send-OJbtfeWf.js → send-zp5AuaHE.js} +5 -5
  239. package/dist/{server-C9NDdRkP.js → server-CRa1oZfY.js} +19 -19
  240. package/dist/{server-context-YevsHXaf.js → server-context-RDkXuB9P.js} +13 -13
  241. package/dist/{server-lifecycle-BVWplIzw.js → server-lifecycle-CQk8mryT.js} +2 -2
  242. package/dist/{server-middleware-DJQVLZmo.js → server-middleware-DSIQAJZd.js} +1 -1
  243. package/dist/{server-node-events-DH8c0jEn.js → server-node-events-DqzBAn3Q.js} +77 -77
  244. package/dist/{service-oBfCq-qK.js → service-B0CzjIz2.js} +15 -15
  245. package/dist/{session-C8fYTfkG.js → session-Crum9mSn.js} +1 -1
  246. package/dist/{session-utils-Bt_Cx0zH.js → session-utils-dd1SrJKT.js} +6 -6
  247. package/dist/{sessions-DWdz1xc4.js → sessions-9J-stFWk.js} +4 -4
  248. package/dist/{sessions-IKxRT_G9.js → sessions-aGmwHv0g.js} +14 -14
  249. package/dist/{shared-Q1aRCgme.js → shared-5VPKZal4.js} +1 -1
  250. package/dist/{shared-BqFzJLjd.js → shared-CnARKvCa.js} +2 -2
  251. package/dist/{skill-commands-KdMeqg8g.js → skill-commands-B4-CgHlk.js} +5 -5
  252. package/dist/{skill-scanner-YaxFgz1o.js → skill-scanner-DW9hSz_J.js} +5 -5
  253. package/dist/{skills-DjfCNN-j.js → skills-BkqPPXlw.js} +3 -3
  254. package/dist/{skills-cli-6EDVmjHz.js → skills-cli-DPSjkS2r.js} +5 -5
  255. package/dist/{skills-install-CdZGnrOv.js → skills-install-m034GRjq.js} +5 -5
  256. package/dist/{skills-status-DZfbtXdy.js → skills-status--02_4mXJ.js} +1 -1
  257. package/dist/{ssrf-6Hb9TNxM.js → ssrf-DQPhGAdC.js} +1 -1
  258. package/dist/{status-CN8vEkdO.js → status-DA7gKGeU.js} +25 -25
  259. package/dist/{status.update-B0a3iQjj.js → status.update-DEPhS3kj.js} +2 -2
  260. package/dist/{store-DVxkLZrN.js → store-BnsBHp0V.js} +5 -5
  261. package/dist/{subagent-registry-CY8NG6Io.js → subagent-registry-CrbLe3Kg.js} +153 -153
  262. package/dist/{system-cli-CWbpLljA.js → system-cli-DwVWo2kb.js} +10 -10
  263. package/dist/{system-run-command-h3aZvaIL.js → system-run-command-BD_JuCLP.js} +1 -1
  264. package/dist/{systemd-DpV5A3Tl.js → systemd-B48mxZjg.js} +9 -9
  265. package/dist/{systemd-hints-OqRJ_OnZ.js → systemd-hints-CupZgKik.js} +6 -6
  266. package/dist/{systemd-linger-vRX-cxeO.js → systemd-linger-663aGc_T.js} +1 -1
  267. package/dist/{tables-CsW7naec.js → tables-CuPXwWh2.js} +1 -1
  268. package/dist/{tailnet-D3oqrI3q.js → tailnet-DRVktntg.js} +1 -1
  269. package/dist/{target-errors-yilhMKWi.js → target-errors-D4aLwsCU.js} +4 -4
  270. package/dist/{tool-images-Bo0IcPMG.js → tool-images-0PIXjd8w.js} +1 -1
  271. package/dist/{tui-2gCoYUUs.js → tui-14zIh3zr.js} +6 -6
  272. package/dist/{tui-cli-BNY2WcIM.js → tui-cli-BjHx8K12.js} +34 -34
  273. package/dist/{update-NahlryOD.js → update-VaL_prKP.js} +3 -3
  274. package/dist/{update-cli-By_RMYHj.js → update-cli-ZVB5K666.js} +106 -106
  275. package/dist/{update-runner-BoksUWgy.js → update-runner-sefNoN9G.js} +15 -15
  276. package/dist/web-BsX8l9H1.js +116 -0
  277. package/dist/{web-3ZvmLaE3.js → web-Ch0JHP2x.js} +6 -6
  278. package/dist/{webhooks-cli-C3a8VMoI.js → webhooks-cli-BUVjs-bx.js} +6 -6
  279. package/dist/{whatsapp-actions-D69bEFbN.js → whatsapp-actions-D-q8r2i5.js} +19 -19
  280. package/dist/{with-timeout-DOYJYBpu.js → with-timeout-ChQUbgyO.js} +3 -3
  281. package/dist/{workspace-BhsnAjlE.js → workspace-B-5q5HFZ.js} +1 -1
  282. package/dist/{workspace-dirs-BC9tU92n.js → workspace-dirs-Mb8gX4pT.js} +1 -1
  283. package/dist/{wsl-Din03sl7.js → wsl-D9-kubbW.js} +2 -2
  284. package/package.json +1 -1
  285. package/dist/cli-BfrcQXmk.js +0 -156
  286. package/dist/plugin-sdk/web-DPBNX3_v.js +0 -67
  287. package/dist/register.configure-15nzK_2U.js +0 -162
  288. package/dist/web-BTc3UuX6.js +0 -116
@@ -1,114 +1,114 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { $ as isRecord$1, $t as resolveStateDir, A as normalizeChannelId$1, B as executePluginCommand, Bt as STATE_DIR, Ct as shouldLogVerbose, F as setActivePluginRegistry, Ft as normalizeLogLevel, H as listPluginCommands, K as clampInt, L as createPluginRegistry, Lt as resolvePreferredOpenClawTmpDir, M as getActivePluginRegistry, N as getActivePluginRegistryKey, Ot as theme, P as requireActivePluginRegistry, R as normalizePluginHttpPath, Tt as warn, U as matchPluginCommand, V as getPluginCommandSpecs, W as CONFIG_DIR, Z as escapeRegExp, _ as createNonExitingRuntime, bt as logVerbose, dt as sleep$1, ft as sliceUtf16Safe, gt as danger, ht as isPlainObject, k as normalizeAnyChannelId, kt as getChildLogger, lt as shortenHomeInString, mt as truncateUtf16Safe, nt as normalizeE164, o as parseBooleanValue$1, qt as resolveGatewayPort, r as isTruthyEnvValue, rn as triggerInternalHook, s as createSubsystemLogger, sn as resolveRequiredHomeDir, st as resolveUserPath, tn as createInternalHookEvent, ut as shortenHomePath, v as defaultRuntime, w as CHAT_CHANNEL_ORDER, z as clearPluginCommands } from "./entry.js";
3
- import { An as dedupeProfileIds, At as getConfigOverrides, B as TELEGRAM_COMMAND_NAME_PATTERN, Br as createOllamaStreamFn, F as resolveConfigSnapshotHash, Ft as parseConfigPath, Gn as withFileLock, Gt as buildEnforcedShellCommand, H as resolveTelegramCustomCommands, Hr as getCustomProviderApiKey, It as setConfigValueAtPath, J as normalizeScpRemoteHost, Jn as buildAllowedModelSet, K as resolveIMessageAttachmentRoots, Kr as resolveEnvApiKey, L as writeConfigFile, Ln as ensureAuthProfileStore, Lt as unsetConfigValueAtPath, Mn as markAuthProfileGood, Mt as setConfigOverride, N as readConfigFileSnapshot, Nt as unsetConfigOverride, On as resolveOwnerDisplaySetting, Pt as getConfigValueAtPath, R as validateConfigObjectWithPlugins, St as isAvatarHttpUrl, Tn as resolveAgentMaxConcurrent, Tt as isSupportedLocalAvatarExtension, Un as resolveAuthStorePathForDisplay, Ur as requireApiKey, V as normalizeTelegramCommandName, Vr as getApiKeyForModel, W as isInboundPathAllowed, Wn as resolveOpenClawAgentDir, Wr as resolveApiKeyForProvider, Xn as buildModelAliasIndex, Xr as resolveShellEnvFallbackTimeoutMs, Y as parseNonNegativeByteSize, Yn as buildConfiguredAllowlistKeys, Yr as getShellPathFromLoginShell, Zn as findNormalizedProviderValue, _i as resolveAuthProfileDisplayLabel, _n as resolveDiscordPreviewStreamMode, a as markAuthProfileFailure, bt as AVATAR_MAX_BYTES, c as resolveProfilesUnavailableReason, cr as resolveConfiguredModelRef, dr as resolveModelRefFromString, er as isCliProvider, fn as applyMergePatch, fr as resolveReasoningDefault, gi as DEFAULT_PROVIDER, gn as mapStreamingModeToSlackLegacyDraftStreamMode, hi as DEFAULT_MODEL, hr as resolveThinkingDefault, i as isProfileInCooldown, ir as normalizeProviderId, it as parseDurationMs, j as loadConfig, jn as listProfilesForProvider, jt as resetConfigOverrides, kt as validateJsonSchemaValue, l as resolveApiKeyForProfile, lr as resolveDefaultModelForAgent, mi as DEFAULT_CONTEXT_TOKENS, mr as resolveSubagentSpawnModelSelection, n as resolveAuthProfileOrder, nr as normalizeModelRef$2, o as markAuthProfileUsed, pi as splitTrailingAuthProfile, q as resolveIMessageRemoteAttachmentRoots, qr as resolveModelAuthMode, r as getSoonestCooldownExpiry, si as normalizeSecretInput, tr as modelKey, vn as resolveSlackNativeStreaming, wn as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, wt as isPathWithinRoot, xt as isAvatarDataUrl, yn as resolveSlackStreamingMode, zr as OLLAMA_NATIVE_BASE_URL } from "./auth-profiles-qnck2ozy.js";
3
+ import { An as dedupeProfileIds, At as getConfigOverrides, B as TELEGRAM_COMMAND_NAME_PATTERN, Br as createOllamaStreamFn, F as resolveConfigSnapshotHash, Ft as parseConfigPath, Gn as withFileLock, Gt as buildEnforcedShellCommand, H as resolveTelegramCustomCommands, Hr as getCustomProviderApiKey, It as setConfigValueAtPath, J as normalizeScpRemoteHost, Jn as buildAllowedModelSet, K as resolveIMessageAttachmentRoots, Kr as resolveEnvApiKey, L as writeConfigFile, Ln as ensureAuthProfileStore, Lt as unsetConfigValueAtPath, Mn as markAuthProfileGood, Mt as setConfigOverride, N as readConfigFileSnapshot, Nt as unsetConfigOverride, On as resolveOwnerDisplaySetting, Pt as getConfigValueAtPath, R as validateConfigObjectWithPlugins, St as isAvatarHttpUrl, Tn as resolveAgentMaxConcurrent, Tt as isSupportedLocalAvatarExtension, Un as resolveAuthStorePathForDisplay, Ur as requireApiKey, V as normalizeTelegramCommandName, Vr as getApiKeyForModel, W as isInboundPathAllowed, Wn as resolveOpenClawAgentDir, Wr as resolveApiKeyForProvider, Xn as buildModelAliasIndex, Xr as resolveShellEnvFallbackTimeoutMs, Y as parseNonNegativeByteSize, Yn as buildConfiguredAllowlistKeys, Yr as getShellPathFromLoginShell, Zn as findNormalizedProviderValue, _i as resolveAuthProfileDisplayLabel, _n as resolveDiscordPreviewStreamMode, a as markAuthProfileFailure, bt as AVATAR_MAX_BYTES, c as resolveProfilesUnavailableReason, cr as resolveConfiguredModelRef, dr as resolveModelRefFromString, er as isCliProvider, fn as applyMergePatch, fr as resolveReasoningDefault, gi as DEFAULT_PROVIDER, gn as mapStreamingModeToSlackLegacyDraftStreamMode, hi as DEFAULT_MODEL, hr as resolveThinkingDefault, i as isProfileInCooldown, ir as normalizeProviderId, it as parseDurationMs, j as loadConfig, jn as listProfilesForProvider, jt as resetConfigOverrides, kt as validateJsonSchemaValue, l as resolveApiKeyForProfile, lr as resolveDefaultModelForAgent, mi as DEFAULT_CONTEXT_TOKENS, mr as resolveSubagentSpawnModelSelection, n as resolveAuthProfileOrder, nr as normalizeModelRef$2, o as markAuthProfileUsed, pi as splitTrailingAuthProfile, q as resolveIMessageRemoteAttachmentRoots, qr as resolveModelAuthMode, r as getSoonestCooldownExpiry, si as normalizeSecretInput, tr as modelKey, vn as resolveSlackNativeStreaming, wn as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, wt as isPathWithinRoot, xt as isAvatarDataUrl, yn as resolveSlackStreamingMode, zr as OLLAMA_NATIVE_BASE_URL } from "./auth-profiles-D3FyYUSG.js";
4
4
  import { t as formatCliCommand } from "./command-format-BYm_a0tW.js";
5
- import { D as filterBootstrapFilesForSession, E as ensureAgentWorkspace, M as resolveAgentModelFallbackValues, N as resolveAgentModelPrimaryValue, P as toAgentModelListLike, _ as DEFAULT_AGENT_WORKSPACE_DIR, a as resolveAgentDir, 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 } from "./agent-scope-CaXaKovT.js";
5
+ import { D as filterBootstrapFilesForSession, E as ensureAgentWorkspace, M as resolveAgentModelFallbackValues, N as resolveAgentModelPrimaryValue, P as toAgentModelListLike, _ as DEFAULT_AGENT_WORKSPACE_DIR, a as resolveAgentDir, 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 } from "./agent-scope-B33Scyaw.js";
6
6
  import { C as isSubagentSessionKey, S as isCronSessionKey, T as resolveThreadParentSessionKey, _ as isBlockedObjectKey, b as isAcpSessionKey, c as normalizeMainKey, d as sanitizeAgentId, g as normalizeOptionalAccountId, h as normalizeAccountId$2, l as resolveAgentIdFromSessionKey, m as DEFAULT_ACCOUNT_ID, o as classifySessionKeyShape, r as buildAgentMainSessionKey, s as normalizeAgentId, t as DEFAULT_AGENT_ID, u as resolveThreadSessionKeys, v as deriveSessionChatType, w as parseAgentSessionKey, y as getSubagentDepth } from "./session-key-qmb11-mH.js";
7
- import { a as openBoundaryFileSync, i as openBoundaryFile, t as resolveOpenClawPackageRoot } from "./openclaw-root-DW-p-saf.js";
7
+ import { a as openBoundaryFileSync, i as openBoundaryFile, t as resolveOpenClawPackageRoot } from "./openclaw-root-Cw_9FXUV.js";
8
8
  import { a as logError, i as logDebug, n as runExec, o as logInfo, r as spawnWithFallback, s as logWarn, t as runCommandWithTimeout } from "./exec-BhaMholX.js";
9
9
  import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-DKRiM6oj.js";
10
10
  import { n as isDangerousHostEnvVarName } from "./host-env-security-BM8ktVlo.js";
11
11
  import { t as VERSION } from "./version-CFqP9tDG.js";
12
- import { a as safeStatSync, c as applyTestPluginDefaults, d as resolveEffectiveEnableState, f as resolveMemorySlotDecision, i as isPathInside, n as loadPluginManifestRegistry, r as discoverOpenClawPlugins, u as normalizePluginsConfig } from "./manifest-registry-YC37UceR.js";
13
- import { a as resolveChannelGroupRequireMention, c as normalizeHyphenSlug, i as resolveChannelGroupPolicy, l as normalizeStringEntries, n as listChannelDocks, r as normalizeSignalMessagingTarget, s as normalizeAtHashSlug, t as getChannelDock, u as normalizeStringEntriesLower } from "./dock-BYLdmpt5.js";
12
+ import { a as safeStatSync, c as applyTestPluginDefaults, d as resolveEffectiveEnableState, f as resolveMemorySlotDecision, i as isPathInside, n as loadPluginManifestRegistry, r as discoverOpenClawPlugins, u as normalizePluginsConfig } from "./manifest-registry-DRMtnPEQ.js";
13
+ import { a as resolveChannelGroupRequireMention, c as normalizeHyphenSlug, i as resolveChannelGroupPolicy, l as normalizeStringEntries, n as listChannelDocks, r as normalizeSignalMessagingTarget, s as normalizeAtHashSlug, t as getChannelDock, u as normalizeStringEntriesLower } from "./dock-SjEhga7i.js";
14
14
  import { t as runTasksWithConcurrency } from "./run-with-concurrency-4EZo9Co2.js";
15
15
  import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-BnSsQYoI.js";
16
- import { n as resolveModel, o as buildModelAliasLines } from "./model-2aL8NZKc.js";
17
- import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-BvGj4Ik8.js";
18
- import { a as resolveSkillsPromptForRun, d as resolveSandboxInputPath, h as applySkillEnvOverridesFromSnapshot, i as loadWorkspaceSkillEntries, l as assertMediaNotDataUrl, m as applySkillEnvOverrides, p as resolveSandboxedMediaSource, r as buildWorkspaceSkillSnapshot, u as assertSandboxPath } from "./skills-DjfCNN-j.js";
19
- import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-z2hGNiIs.js";
16
+ import { n as resolveModel, o as buildModelAliasLines } from "./model-AKh96s7h.js";
17
+ import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-iNwnGd3m.js";
18
+ import { a as resolveSkillsPromptForRun, d as resolveSandboxInputPath, h as applySkillEnvOverridesFromSnapshot, i as loadWorkspaceSkillEntries, l as assertMediaNotDataUrl, m as applySkillEnvOverrides, p as resolveSandboxedMediaSource, r as buildWorkspaceSkillSnapshot, u as assertSandboxPath } from "./skills-BkqPPXlw.js";
19
+ import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-DEakBSGU.js";
20
20
  import { a as isInternalMessageChannel, c as listDeliverableMessageChannels, d as resolveMessageChannel, h as GATEWAY_CLIENT_NAMES, i as isGatewayMessageChannel, l as normalizeMessageChannel, m as GATEWAY_CLIENT_MODES, n as isDeliverableMessageChannel, o as isMarkdownCapableMessageChannel, p as GATEWAY_CLIENT_IDS, t as INTERNAL_MESSAGE_CHANNEL, u as resolveGatewayMessageChannel } from "./message-channel-CIQTys4Q.js";
21
- import { C as normalizeDeliveryContext, D as archiveSessionTranscripts, G as resolveSessionResetPolicy, H as resolveSessionKey, I as parseInlineDirectives$1, J as DEFAULT_RESET_TRIGGERS, K as resolveSessionResetType, O as capArrayByJsonBytes, S as mergeDeliveryContext, T as normalizeAccountId$3, U as evaluateSessionFreshness, V as resolveSessionLockMaxHoldFromTimeout, W as resolveChannelResetConfig, X as resolveFreshSessionTotalTokens, Y as mergeSessionEntry, Z as setSessionRuntimeModel, b as deliveryContextFromSession, c as loadSessionStore, ct as resolveGroupSessionKey, d as recordSessionMetaFromInbound, et as resolveExplicitAgentSessionKey, g as updateSessionStoreEntry, h as updateSessionStore, i as appendAssistantMessageToSessionTranscript, m as updateLastRoute, n as extractDeliveryInfo, o as resolveAndPersistSessionFile, q as resolveThreadFlag, r as parseSessionThreadInfo, rt as deriveSessionMetaPatch, tt as resolveMainSessionKey, u as readSessionUpdatedAt, v as isCacheEnabled, w as normalizeSessionDeliveryFields, x as deliveryContextKey, y as resolveCacheTtlMs$1, z as acquireSessionWriteLock } from "./sessions-IKxRT_G9.js";
21
+ import { C as normalizeDeliveryContext, D as archiveSessionTranscripts, G as resolveSessionResetPolicy, H as resolveSessionKey, I as parseInlineDirectives$1, J as DEFAULT_RESET_TRIGGERS, K as resolveSessionResetType, O as capArrayByJsonBytes, S as mergeDeliveryContext, T as normalizeAccountId$3, U as evaluateSessionFreshness, V as resolveSessionLockMaxHoldFromTimeout, W as resolveChannelResetConfig, X as resolveFreshSessionTotalTokens, Y as mergeSessionEntry, Z as setSessionRuntimeModel, b as deliveryContextFromSession, c as loadSessionStore, ct as resolveGroupSessionKey, d as recordSessionMetaFromInbound, et as resolveExplicitAgentSessionKey, g as updateSessionStoreEntry, h as updateSessionStore, i as appendAssistantMessageToSessionTranscript, m as updateLastRoute, n as extractDeliveryInfo, o as resolveAndPersistSessionFile, q as resolveThreadFlag, r as parseSessionThreadInfo, rt as deriveSessionMetaPatch, tt as resolveMainSessionKey, u as readSessionUpdatedAt, v as isCacheEnabled, w as normalizeSessionDeliveryFields, x as deliveryContextKey, y as resolveCacheTtlMs$1, z as acquireSessionWriteLock } from "./sessions-aGmwHv0g.js";
22
22
  import { t as normalizeChatType } from "./chat-type-B5__aQIT.js";
23
23
  import { n as resolveConversationLabel } from "./conversation-label-CRfq0YMA.js";
24
24
  import { t as resolveAccountEntry } from "./account-lookup-9wuXWwa_.js";
25
- import { C as resolveDiscordAccount, _ as resolveSlackAppToken, a as isWhatsAppGroupJid, c as listEnabledTelegramAccounts, d as resolveTelegramAccount, f as resolveTelegramToken, g as resolveSlackReplyToMode, h as resolveSlackAccount, l as listTelegramAccountIds, n as listChannelPlugins, o as normalizeWhatsAppTarget, r as normalizeChannelId$2, s as createTelegramActionGate, t as getChannelPlugin, v as resolveSlackBotToken, w as normalizeDiscordToken, x as listEnabledDiscordAccounts, y as createDiscordActionGate } from "./plugins-CiBXm-v1.js";
26
- import { _ as webAuthExists, c as logWebSelfId, i as resolveWhatsAppAccount, l as logoutWeb, p as readWebSelfId, s as getWebAuthAgeMs } from "./accounts-9Q07LhiR.js";
27
- import { r as resolveIMessageAccount } from "./accounts-UyfWuXKC.js";
28
- import { i as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-DmPvlCpt.js";
29
- import { t as buildChannelAccountBindings } from "./bindings-vuIL-APZ.js";
30
- import { a as resolveSlackWebClientOptions, c as buildSlackBlocksFallbackText, i as createSlackWebClient, l as parseSlackTarget, o as parseSlackBlocksInput, s as validateSlackBlocksArray, t as sendMessageSlack, u as resolveSlackChannelId } from "./send-OJbtfeWf.js";
31
- 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 allowListMatches$1, d as parseDiscordModalCustomId, dt as normalizeDiscordSlug, et as hasAnyGuildPermissionDiscord, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordAllowListMatch, g as sendMessageDiscord, gt as resolveDiscordOwnerAllowFrom, h as resolveDiscordModalEntry, ht as resolveDiscordMemberAccessState, i as removeOwnReactionsDiscord, it as parseDiscordTarget, j as addRoleDiscord, k as searchMessagesDiscord, l as parseDiscordComponentCustomId, lt as isDiscordGroupAllowedByPolicy, m as resolveDiscordComponentEntry, mt as resolveDiscordGuildEntry, n as fetchReactionsDiscord, nt as createDiscordClient, o as sendDiscordComponentMessage, ot as listDiscordDirectoryGroupsLive, p as readDiscordComponentSpec, pt as resolveDiscordChannelConfigWithFallback, q as deleteChannelDiscord, r as reactMessageDiscord, rt as createDiscordRestClient, s as createDiscordFormModal, st as listDiscordDirectoryPeersLive, tt as chunkDiscordTextWithMode, u as parseDiscordComponentCustomIdForCarbon, ut as normalizeDiscordAllowList, 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-DY7qzDta.js";
25
+ import { C as resolveDiscordAccount, _ as resolveSlackAppToken, a as isWhatsAppGroupJid, c as listEnabledTelegramAccounts, d as resolveTelegramAccount, f as resolveTelegramToken, g as resolveSlackReplyToMode, h as resolveSlackAccount, l as listTelegramAccountIds, n as listChannelPlugins, o as normalizeWhatsAppTarget, r as normalizeChannelId$2, s as createTelegramActionGate, t as getChannelPlugin, v as resolveSlackBotToken, w as normalizeDiscordToken, x as listEnabledDiscordAccounts, y as createDiscordActionGate } from "./plugins-Cb8JznN4.js";
26
+ import { _ as webAuthExists, c as logWebSelfId, i as resolveWhatsAppAccount, l as logoutWeb, p as readWebSelfId, s as getWebAuthAgeMs } from "./accounts-Bj4Z7jBB.js";
27
+ import { r as resolveIMessageAccount } from "./accounts-Bgjrmxdu.js";
28
+ import { i as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-1yld8BY0.js";
29
+ import { t as buildChannelAccountBindings } from "./bindings-CWyuSfs6.js";
30
+ import { a as resolveSlackWebClientOptions, c as buildSlackBlocksFallbackText, i as createSlackWebClient, l as parseSlackTarget, o as parseSlackBlocksInput, s as validateSlackBlocksArray, t as sendMessageSlack, u as resolveSlackChannelId } from "./send-zp5AuaHE.js";
31
+ 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 allowListMatches$1, d as parseDiscordModalCustomId, dt as normalizeDiscordSlug, et as hasAnyGuildPermissionDiscord, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordAllowListMatch, g as sendMessageDiscord, gt as resolveDiscordOwnerAllowFrom, h as resolveDiscordModalEntry, ht as resolveDiscordMemberAccessState, i as removeOwnReactionsDiscord, it as parseDiscordTarget, j as addRoleDiscord, k as searchMessagesDiscord, l as parseDiscordComponentCustomId, lt as isDiscordGroupAllowedByPolicy, m as resolveDiscordComponentEntry, mt as resolveDiscordGuildEntry, n as fetchReactionsDiscord, nt as createDiscordClient, o as sendDiscordComponentMessage, ot as listDiscordDirectoryGroupsLive, p as readDiscordComponentSpec, pt as resolveDiscordChannelConfigWithFallback, q as deleteChannelDiscord, r as reactMessageDiscord, rt as createDiscordRestClient, s as createDiscordFormModal, st as listDiscordDirectoryPeersLive, tt as chunkDiscordTextWithMode, u as parseDiscordComponentCustomIdForCarbon, ut as normalizeDiscordAllowList, 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-snKm1H4E.js";
32
32
  import { a as resolveSessionTranscriptPath, i as resolveSessionFilePathOptions, l as resolveStorePath, n as resolveDefaultSessionStorePath, r as resolveSessionFilePath } from "./paths-4nKmwJd-.js";
33
33
  import { i as normalizeInputProvenance, n as applyInputProvenanceToUserMessage, r as hasInterSessionUserProvenance } from "./input-provenance-C6EIah7A.js";
34
34
  import { t as emitSessionTranscriptUpdate } from "./transcript-events-CZ8CG4ht.js";
35
- import { Nt as SESSION_LABEL_MAX_LENGTH, t as GatewayClient } from "./client-BBiFerkj.js";
36
- import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege, t as buildGatewayConnectionDetails } from "./call-C-oZgsJl.js";
37
- import { r as isLoopbackHost } from "./net-CWUwrVfz.js";
35
+ import { Nt as SESSION_LABEL_MAX_LENGTH, t as GatewayClient } from "./client-CdetOJti.js";
36
+ import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege, t as buildGatewayConnectionDetails } from "./call-BZSWeS2x.js";
37
+ import { r as isLoopbackHost } from "./net-C63UEjlQ.js";
38
38
  import { r as trimToUndefined, t as resolveGatewayCredentialsFromConfig } from "./credentials-DQGpxZLN.js";
39
39
  import { i as isSilentReplyText, n as SILENT_REPLY_TOKEN, r as isSilentReplyPrefixText, t as HEARTBEAT_TOKEN } from "./tokens-DytUXmpb.js";
40
- import { a as getMachineDisplayName, i as startBrowserControlServiceFromConfig, n as createBrowserRouteDispatcher, r as createBrowserControlContext, t as withTimeout$4 } from "./with-timeout-DOYJYBpu.js";
40
+ import { a as getMachineDisplayName, i as startBrowserControlServiceFromConfig, n as createBrowserRouteDispatcher, r as createBrowserControlContext, t as withTimeout$4 } from "./with-timeout-ChQUbgyO.js";
41
41
  import { n as generateSecureUuid, t as generateSecureToken } from "./secure-random-B3f7Ri2X.js";
42
- import { C as initializeGlobalHookRunner, S as getGlobalHookRunner, _ as createReplyToModeFilterForChannel, a as normalizeOutboundPayloadsForJson, b as normalizeChannelTargetInput, c as parseReplyDirectives, d as applyReplyThreading, f as filterMessagingToolDuplicates, g as shouldSuppressReasoningPayload, h as shouldSuppressMessagingToolReplies, i as normalizeOutboundPayloads, l as splitMediaFromOutput, m as isRenderablePayload, o as normalizeReplyPayloadsForDelivery, p as filterMessagingToolMediaDuplicates, r as formatOutboundPayloadLog, s as throwIfAborted, t as deliverOutboundPayloads, u as applyReplyTagsToPayload, v as resolveReplyToMode, x as normalizeTargetForProvider, y as buildTargetResolverSignature } from "./deliver-B7mNw8Vu.js";
43
- import { a as logMessageProcessed, c as logWebhookError, d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, i as logLaneEnqueue, l as logWebhookProcessed, m as isDiagnosticsEnabled, o as logMessageQueued, p as emitDiagnosticEvent, r as logLaneDequeue, s as logSessionStateChange, t as diag, u as logWebhookReceived } from "./diagnostic-CJIq8gp_.js";
42
+ import { C as initializeGlobalHookRunner, S as getGlobalHookRunner, _ as createReplyToModeFilterForChannel, a as normalizeOutboundPayloadsForJson, b as normalizeChannelTargetInput, c as parseReplyDirectives, d as applyReplyThreading, f as filterMessagingToolDuplicates, g as shouldSuppressReasoningPayload, h as shouldSuppressMessagingToolReplies, i as normalizeOutboundPayloads, l as splitMediaFromOutput, m as isRenderablePayload, o as normalizeReplyPayloadsForDelivery, p as filterMessagingToolMediaDuplicates, r as formatOutboundPayloadLog, s as throwIfAborted, t as deliverOutboundPayloads, u as applyReplyTagsToPayload, v as resolveReplyToMode, x as normalizeTargetForProvider, y as buildTargetResolverSignature } from "./deliver-CZEKwM5v.js";
43
+ import { a as logMessageProcessed, c as logWebhookError, d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, i as logLaneEnqueue, l as logWebhookProcessed, m as isDiagnosticsEnabled, o as logMessageQueued, p as emitDiagnosticEvent, r as logLaneDequeue, s as logSessionStateChange, t as diag, u as logWebhookReceived } from "./diagnostic-Bc4KUKvc.js";
44
44
  import { r as getDiagnosticSessionState } from "./diagnostic-session-state-Cw3EMvZy.js";
45
- import { A as buildTypingThreadParams, B as resolveTelegramStreamMode, C as buildGroupLabel, D as buildTelegramGroupPeerId, E as buildTelegramGroupFrom, F as normalizeForwardedContext, G as resolveSenderAllowMatch$1, H as isSenderAllowed$1, I as resolveTelegramForumThreadId, J as isVoiceCompatibleAudio, K as formatLocationText, L as resolveTelegramGroupAllowFromContext, M as expandTextLinks, N as extractTelegramLocation, O as buildTelegramParentPeer, P as hasBotMention, R as resolveTelegramMediaPlaceholder, S as withTelegramApiErrorLogging, T as buildSenderName, U as normalizeAllowFrom$2, V as resolveTelegramThreadSpec, W as normalizeDmAllowFromWithStore$1, X as resolveTelegramTargetChatType, Y as parseTelegramTarget, _ as markdownToTelegramHtml, a as reactMessageTelegram, b as resolveTelegramFetch, c as sendStickerTelegram, g as markdownToTelegramChunks, h as isRecoverableTelegramNetworkError, i as editMessageTelegram, j as describeReplyTarget, k as buildTelegramThreadParams, m as wasSentByBot, n as createForumTopicTelegram, o as sendMessageTelegram, q as toLocationContext, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, u as resolveTelegramVoiceSend, v as renderTelegramHtmlText, w as buildSenderLabel, x as splitTelegramCaption, y as wrapFileReferencesInHtml, z as resolveTelegramReplyId } from "./send-sEXu0p87.js";
46
- import { c as detectMime, d as imageMimeFromFormat, f as isAudioFileName, g as MAX_IMAGE_BYTES, i as getImageMetadata, l as extensionForMime, p as isGifMedia, s as resizeToJpeg, v as mediaKindFromMime } from "./image-ops-toDXWGMw.js";
47
- import { A as isTimeoutErrorMessage, C as isCompactionFailureError, D as isLikelyContextOverflowError, E as isFailoverErrorMessage, F as buildBootstrapContextFiles, I as ensureSessionHeader, L as resolveBootstrapMaxChars, M as parseImageDimensionError, N as parseImageSizeError, O as isRateLimitAssistantError, P as sanitizeUserFacingText, R as resolveBootstrapTotalMaxChars, S as isCloudCodeAssistFormatError, T as isFailoverAssistantError, _ as formatRawAssistantErrorForUi, a as isMessagingToolDuplicateNormalized, b as isAuthPermanentErrorMessage, c as extractToolCallsFromAssistant, d as downgradeOpenAIReasoningBlocks, f as isGoogleModelApi, g as formatBillingErrorMessage, h as formatAssistantErrorText, j as isTransientHttpError, k as isRawApiErrorPayload, l as extractToolResultId, m as classifyFailoverReason, n as validateGeminiTurns, o as normalizeTextForComparison, p as BILLING_ERROR_USER_MESSAGE, r as pickFallbackThinkingLevel, s as sanitizeSessionMessagesImages, t as validateAnthropicTurns, u as sanitizeToolCallIdsForCloudCodeAssist, v as getApiErrorPayloadFingerprint, w as isContextOverflowError, x as isBillingAssistantError, y as isAuthAssistantError, z as sanitizeGoogleTurnOrdering } from "./pi-embedded-helpers-BUce0Iqb.js";
48
- 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, y as mergeAlsoAllowPolicy } from "./sandbox-B-wAH3en.js";
49
- import { E as DEFAULT_AI_SNAPSHOT_MAX_CHARS } from "./chrome-BO_XI6hR.js";
50
- import { i as resolveBrowserConfig, s as resolveBrowserControlAuth } from "./server-context-YevsHXaf.js";
51
- import { i as resolveExistingPathsWithinRoot, r as DEFAULT_UPLOAD_DIR } from "./paths-rIq72jC_.js";
45
+ import { A as buildTypingThreadParams, B as resolveTelegramStreamMode, C as buildGroupLabel, D as buildTelegramGroupPeerId, E as buildTelegramGroupFrom, F as normalizeForwardedContext, G as resolveSenderAllowMatch$1, H as isSenderAllowed$1, I as resolveTelegramForumThreadId, J as isVoiceCompatibleAudio, K as formatLocationText, L as resolveTelegramGroupAllowFromContext, M as expandTextLinks, N as extractTelegramLocation, O as buildTelegramParentPeer, P as hasBotMention, R as resolveTelegramMediaPlaceholder, S as withTelegramApiErrorLogging, T as buildSenderName, U as normalizeAllowFrom$2, V as resolveTelegramThreadSpec, W as normalizeDmAllowFromWithStore$1, X as resolveTelegramTargetChatType, Y as parseTelegramTarget, _ as markdownToTelegramHtml, a as reactMessageTelegram, b as resolveTelegramFetch, c as sendStickerTelegram, g as markdownToTelegramChunks, h as isRecoverableTelegramNetworkError, i as editMessageTelegram, j as describeReplyTarget, k as buildTelegramThreadParams, m as wasSentByBot, n as createForumTopicTelegram, o as sendMessageTelegram, q as toLocationContext, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, u as resolveTelegramVoiceSend, v as renderTelegramHtmlText, w as buildSenderLabel, x as splitTelegramCaption, y as wrapFileReferencesInHtml, z as resolveTelegramReplyId } from "./send-CVj6uOGI.js";
46
+ import { c as detectMime, d as imageMimeFromFormat, f as isAudioFileName, g as MAX_IMAGE_BYTES, i as getImageMetadata, l as extensionForMime, p as isGifMedia, s as resizeToJpeg, v as mediaKindFromMime } from "./image-ops-Z3_QkQPj.js";
47
+ import { A as isTimeoutErrorMessage, C as isCompactionFailureError, D as isLikelyContextOverflowError, E as isFailoverErrorMessage, F as buildBootstrapContextFiles, I as ensureSessionHeader, L as resolveBootstrapMaxChars, M as parseImageDimensionError, N as parseImageSizeError, O as isRateLimitAssistantError, P as sanitizeUserFacingText, R as resolveBootstrapTotalMaxChars, S as isCloudCodeAssistFormatError, T as isFailoverAssistantError, _ as formatRawAssistantErrorForUi, a as isMessagingToolDuplicateNormalized, b as isAuthPermanentErrorMessage, c as extractToolCallsFromAssistant, d as downgradeOpenAIReasoningBlocks, f as isGoogleModelApi, g as formatBillingErrorMessage, h as formatAssistantErrorText, j as isTransientHttpError, k as isRawApiErrorPayload, l as extractToolResultId, m as classifyFailoverReason, n as validateGeminiTurns, o as normalizeTextForComparison, p as BILLING_ERROR_USER_MESSAGE, r as pickFallbackThinkingLevel, s as sanitizeSessionMessagesImages, t as validateAnthropicTurns, u as sanitizeToolCallIdsForCloudCodeAssist, v as getApiErrorPayloadFingerprint, w as isContextOverflowError, x as isBillingAssistantError, y as isAuthAssistantError, z as sanitizeGoogleTurnOrdering } from "./pi-embedded-helpers-BYXUXgYn.js";
48
+ 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, y as mergeAlsoAllowPolicy } from "./sandbox-BCxHjLQS.js";
49
+ import { E as DEFAULT_AI_SNAPSHOT_MAX_CHARS } from "./chrome-CmcvtOeC.js";
50
+ import { i as resolveBrowserConfig, s as resolveBrowserControlAuth } from "./server-context-RDkXuB9P.js";
51
+ import { i as resolveExistingPathsWithinRoot, r as DEFAULT_UPLOAD_DIR } from "./paths-BVyklYXR.js";
52
52
  import { i as compileSafeRegex, n as redactSensitiveText } from "./redact-Dcypez3H.js";
53
53
  import { n as formatErrorMessage, r as formatUncaughtError } from "./errors-Cu3BYw29.js";
54
- import { i as readFileWithinRoot, n as createRootScopedReadFile, o as writeFileWithinRoot, r as openFileWithinRoot, t as SafeOpenError } from "./fs-safe-Dr8G7a6P.js";
55
- import { i as isBlockedHostnameOrIp, o as normalizeHostname, t as SsrFBlockedError } from "./ssrf-6Hb9TNxM.js";
56
- import { n as getMediaDir, r as saveMediaBuffer } from "./store-DVxkLZrN.js";
57
- import { i as resolveLsofCommandSync } from "./ports-Z6QFaVRW.js";
58
- import { a as canonicalizeBase64, i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, o as estimateBase64DecodedBytes, r as sanitizeToolResultImages } from "./tool-images-Bo0IcPMG.js";
54
+ import { i as readFileWithinRoot, n as createRootScopedReadFile, o as writeFileWithinRoot, r as openFileWithinRoot, t as SafeOpenError } from "./fs-safe-CCDIEBbt.js";
55
+ import { i as isBlockedHostnameOrIp, o as normalizeHostname, t as SsrFBlockedError } from "./ssrf-DQPhGAdC.js";
56
+ import { n as getMediaDir, r as saveMediaBuffer } from "./store-BnsBHp0V.js";
57
+ import { i as resolveLsofCommandSync } from "./ports-4J8-_4SF.js";
58
+ import { a as canonicalizeBase64, i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, o as estimateBase64DecodedBytes, r as sanitizeToolResultImages } from "./tool-images-0PIXjd8w.js";
59
59
  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-DW6CKWyf.js";
60
- import { t as ensureOpenClawModelsJson } from "./models-config-1JCLlVs8.js";
61
- import { n as evaluateShellAllowlist, r as resolveAllowAlwaysPatterns } from "./exec-approvals-allowlist-CklJrJwI.js";
62
- import { n as resolveExecSafeBinRuntimePolicy, r as resolveMergedSafeBinProfileFixtures } from "./exec-safe-bin-runtime-policy-BCQlhcV7.js";
63
- import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-BLgL5eLu.js";
64
- import { i as resolveMemoryBackendConfig, n as registerMemoryCli, r as getMemorySearchManager } from "./memory-cli-DPD3Jnkc.js";
65
- import { n as resolveMemorySearchConfig } from "./manager-SsdELHU2.js";
60
+ import { t as ensureOpenClawModelsJson } from "./models-config-CGGxd1w2.js";
61
+ import { n as evaluateShellAllowlist, r as resolveAllowAlwaysPatterns } from "./exec-approvals-allowlist-CjjR0Lj9.js";
62
+ import { n as resolveExecSafeBinRuntimePolicy, r as resolveMergedSafeBinProfileFixtures } from "./exec-safe-bin-runtime-policy-BQ4FXdVM.js";
63
+ import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-Q23IMgrt.js";
64
+ import { i as resolveMemoryBackendConfig, n as registerMemoryCli, r as getMemorySearchManager } from "./memory-cli-CdB1ptzd.js";
65
+ import { n as resolveMemorySearchConfig } from "./manager-DdwvQQ2A.js";
66
66
  import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-Meg2TxSF.js";
67
- import { t as fetchWithSsrFGuard } from "./fetch-guard-qBXlHXD_.js";
67
+ import { t as fetchWithSsrFGuard } from "./fetch-guard-Cm1MSHHV.js";
68
68
  import { n as retryAsync } from "./retry-DRMxSLyf.js";
69
- import { c as imageResultFromFile, d as readNumberParam, f as readReactionParams, h as readStringParam, l as jsonResult, m as readStringOrNumberParam, n as missingTargetError, o as createActionGate, p as readStringArrayParam, r as unknownTargetError, s as imageResult, t as ambiguousTargetError, u as parseAvailableTags } from "./target-errors-yilhMKWi.js";
70
- import { a as readResponseWithLimit, i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, r as MediaFetchError, t as getAgentScopedMediaLocalRoots } from "./local-roots-iKHeLTM9.js";
69
+ import { c as imageResultFromFile, d as readNumberParam, f as readReactionParams, h as readStringParam, l as jsonResult, m as readStringOrNumberParam, n as missingTargetError, o as createActionGate, p as readStringArrayParam, r as unknownTargetError, s as imageResult, t as ambiguousTargetError, u as parseAvailableTags } from "./target-errors-D4aLwsCU.js";
70
+ import { a as readResponseWithLimit, i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, r as MediaFetchError, t as getAgentScopedMediaLocalRoots } from "./local-roots-Cyat99dT.js";
71
71
  import { a as chunkText, c as resolveChunkMode, d as isSafeFenceBreak, f as parseFenceSpans, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, o as chunkTextWithMode, r as chunkMarkdownText, t as chunkByNewline, u as findFenceSpanAt } from "./chunk-C1ApS_WL.js";
72
- import { n as resolveMarkdownTableMode } from "./markdown-tables-BvxYO6Nz.js";
73
- import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-DYUcUO1t.js";
74
- import { a as resolveNativeSkillsEnabled, i as resolveNativeCommandsEnabled, n as isNativeCommandsExplicitlyDisabled, r as isRestartEnabled, t as isCommandFlagEnabled } from "./commands-CPLAkZQx.js";
75
- 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-C9Mi0U--.js";
76
- import { S as extractTextFromChatContent, _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as findCodeRegions, c as extractAssistantText$1, d as extractThinkingFromTaggedText, f as formatReasoningMessage, g as stripDowngradedToolCallText, h as promoteThinkingTagsToBlocks, i as coerceImageModelConfig, l as extractAssistantThinking, m as isAssistantMessage, o as resolveProviderVisionModelFromConfig, p as inferToolMetaFromArgs, r as coerceImageAssistantText, s as minimaxUnderstandImage, u as extractThinkingFromTaggedStream, v as stripThinkingTagsFromText, x as isInsideCode, y as stripReasoningTagsFromText } from "./image-QYMqJ_Cu.js";
72
+ import { n as resolveMarkdownTableMode } from "./markdown-tables-DhrZVWff.js";
73
+ import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-Dhd5EWHO.js";
74
+ import { a as resolveNativeSkillsEnabled, i as resolveNativeCommandsEnabled, n as isNativeCommandsExplicitlyDisabled, r as isRestartEnabled, t as isCommandFlagEnabled } from "./commands-DvATdC6x.js";
75
+ 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-CxF5UuEv.js";
76
+ import { S as extractTextFromChatContent, _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as findCodeRegions, c as extractAssistantText$1, d as extractThinkingFromTaggedText, f as formatReasoningMessage, g as stripDowngradedToolCallText, h as promoteThinkingTagsToBlocks, i as coerceImageModelConfig, l as extractAssistantThinking, m as isAssistantMessage, o as resolveProviderVisionModelFromConfig, p as inferToolMetaFromArgs, r as coerceImageAssistantText, s as minimaxUnderstandImage, u as extractThinkingFromTaggedStream, v as stripThinkingTagsFromText, x as isInsideCode, y as stripReasoningTagsFromText } from "./image-w5Vu5G__.js";
77
77
  import { n as formatToolSummary, r as resolveToolDisplay } from "./tool-display-DvjkoW7B.js";
78
78
  import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-C_YBQth9.js";
79
- import { _ as applyTemplate, a as resolveMediaAttachmentLocalRoots, c as resolveAttachmentKind, d as registerUnhandledRejectionHandler, f as resolveConcurrency, g as CLI_OUTPUT_MAX_BUFFER, h as resolveMediaUnderstandingScope, i as resolveAutoImageModel, l as buildRandomTempFilePath, m as normalizeMediaUnderstandingChatType, n as createMediaAttachmentCache, o as runCapability, p as resolveTimeoutMs$1, r as normalizeMediaAttachments, t as buildProviderRegistry } from "./runner-DcvLsEbZ.js";
80
- import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-BL39Jul_.js";
79
+ import { _ as applyTemplate, a as resolveMediaAttachmentLocalRoots, c as resolveAttachmentKind, d as registerUnhandledRejectionHandler, f as resolveConcurrency, g as CLI_OUTPUT_MAX_BUFFER, h as resolveMediaUnderstandingScope, i as resolveAutoImageModel, l as buildRandomTempFilePath, m as normalizeMediaUnderstandingChatType, n as createMediaAttachmentCache, o as runCapability, p as resolveTimeoutMs$1, r as normalizeMediaAttachments, t as buildProviderRegistry } from "./runner-C9RTcw_0.js";
80
+ import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-el1FVV5q.js";
81
81
  import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-CgA7FwwB.js";
82
82
  import { n as formatTimeAgo } from "./format-relative-CLDwoKCS.js";
83
- 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-_x0NQEfq.js";
83
+ 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-C49WkfCi.js";
84
84
  import { d as resolveExecApprovals, f as resolveExecApprovalsFromFile, i as maxAsk, l as recordAllowlistUse, n as addAllowlistEntry, o as minSecurity, u as requiresExecApproval } from "./exec-approvals-DJC4eXS0.js";
85
- import { C as normalizePathPrepend, S as mergePathPrepend, a as canvasSnapshotTempPath, b as buildNodeShellCommand, c as parseCameraClipPayload, d as writeCameraClipPayloadToFile, f as writeUrlToFile, 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, x as applyPathPrepend } from "./nodes-screen-BV63eC7o.js";
86
- import { t as formatExecCommand } from "./system-run-command-h3aZvaIL.js";
85
+ import { C as normalizePathPrepend, S as mergePathPrepend, a as canvasSnapshotTempPath, b as buildNodeShellCommand, c as parseCameraClipPayload, d as writeCameraClipPayloadToFile, f as writeUrlToFile, 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, x as applyPathPrepend } from "./nodes-screen-CHgcakcH.js";
86
+ import { t as formatExecCommand } from "./system-run-command-BD_JuCLP.js";
87
87
  import { n as parseNodeList, r as parsePairingList, t as resolveNodeIdFromCandidates } from "./node-match-DYgQsxAu.js";
88
88
  import { i as formatDurationSeconds, r as formatDurationPrecise, t as formatDurationCompact$1 } from "./format-duration-pIcWg99c.js";
89
- import { a as loadCombinedSessionStoreForGateway, d as resolveContextTokensForModel, u as lookupContextTokens } from "./session-utils-Bt_Cx0zH.js";
89
+ import { a as loadCombinedSessionStoreForGateway, d as resolveContextTokensForModel, u as lookupContextTokens } from "./session-utils-dd1SrJKT.js";
90
90
  import { c as hasNonzeroUsage, l as makeZeroUsageSnapshot, n as loadCostUsageSummary, o as derivePromptTokens, r as loadSessionCostSummary, s as deriveSessionTotalTokens, u as normalizeUsage } from "./session-cost-usage-D-OIYYal.js";
91
91
  import { i as resolveModelCostConfig, n as formatTokenCount$2, r as formatUsd, t as estimateUsageCost } from "./usage-format-CD4HobuY.js";
92
- 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-KdMeqg8g.js";
92
+ 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-B4-CgHlk.js";
93
93
  import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-CmnAG-Z9.js";
94
94
  import { n as normalizePollInput } from "./polls-CzQVxIg5.js";
95
- import { t as convertMarkdownTables } from "./tables-CsW7naec.js";
95
+ import { t as convertMarkdownTables } from "./tables-CuPXwWh2.js";
96
96
  import { f as resolveGatewaySystemdServiceName, l as resolveGatewayLaunchAgentLabel } from "./constants-B6D1y3V2.js";
97
97
  import { i as parseAbsoluteTimeMs, r as resolveDefaultCronStaggerMs, t as normalizeCronStaggerMs } from "./stagger-wClkZ9EC.js";
98
- import { n as resolveMessageChannelSelection, t as listConfiguredMessageChannels } from "./channel-selection-D7I4uyOc.js";
99
- import { t as applyPluginAutoEnable } from "./plugin-auto-enable-B2Kx-xH3.js";
100
- import { a as resolveSignalRpcContext, c as streamSignalEvents, n as sendReadReceiptSignal, o as signalCheck, r as sendTypingSignal, s as signalRpcRequest, t as sendMessageSignal } from "./send-CgATYx8D.js";
101
- 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-DZ9JXWaZ.js";
102
- import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-B0u78v_W.js";
98
+ import { n as resolveMessageChannelSelection, t as listConfiguredMessageChannels } from "./channel-selection-DYEAZFR_.js";
99
+ import { t as applyPluginAutoEnable } from "./plugin-auto-enable-gT66Wggm.js";
100
+ import { a as resolveSignalRpcContext, c as streamSignalEvents, n as sendReadReceiptSignal, o as signalCheck, r as sendTypingSignal, s as signalRpcRequest, t as sendMessageSignal } from "./send-DE17gd7F.js";
101
+ 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-oJraTp-6.js";
102
+ import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-DvJmdJ7B.js";
103
103
  import { n as isSenderIdAllowed, r as mergeDmAllowFromSources, t as firstDefined$1 } from "./allow-from-CAjnA3Zh.js";
104
104
  import { t as parseTimeoutMs } from "./parse-timeout-0MQgb7pc.js";
105
105
  import { i as redactIdentifier, t as getActiveWebListener } from "./active-listener-BuPMj005.js";
106
- import { a as resolveSubagentToolPolicy, c as readStoreAllowFromForDmPolicy, d as resolveDmGroupAccessWithLists, f as resolveCommandAuthorizedFromAuthorizers, i as resolveGroupToolPolicy, n as isToolAllowedByPolicies, p as resolveControlCommandGate, r as resolveEffectiveToolPolicy, s as DM_GROUP_ACCESS_REASON, t as filterToolsByPolicy } from "./pi-tools.policy-oE4ZdHFF.js";
106
+ import { a as resolveSubagentToolPolicy, c as readStoreAllowFromForDmPolicy, d as resolveDmGroupAccessWithLists, f as resolveCommandAuthorizedFromAuthorizers, i as resolveGroupToolPolicy, n as isToolAllowedByPolicies, p as resolveControlCommandGate, r as resolveEffectiveToolPolicy, s as DM_GROUP_ACCESS_REASON, t as filterToolsByPolicy } from "./pi-tools.policy-B5HqMPIq.js";
107
107
  import { t as makeProxyFetch } from "./proxy-C-FYeH9g.js";
108
108
  import { n as isDangerousNameMatchingEnabled } from "./dangerous-name-matching-C2i9AEgf.js";
109
- import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-COLVQezU.js";
110
- import { r as detectBinary } from "./onboard-helpers-BnUKgDFe.js";
111
- import { t as resolvePairingIdLabel } from "./pairing-labels-rAuS5aeV.js";
109
+ import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-BAqKfdVk.js";
110
+ import { r as detectBinary } from "./onboard-helpers-CzMlu78H.js";
111
+ import { t as resolvePairingIdLabel } from "./pairing-labels-ZYWr_HV3.js";
112
112
  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-DWefqk3s.js";
113
113
  import { createRequire } from "node:module";
114
114
  import { execFileSync, spawn, spawnSync } from "node:child_process";
@@ -118,7 +118,7 @@ import path, { isAbsolute } from "node:path";
118
118
  import fs, { existsSync, mkdirSync, mkdtempSync, readFileSync, renameSync, rmSync, statSync, unlinkSync, writeFileSync } from "node:fs";
119
119
  import JSON5 from "json5";
120
120
  import { inspect } from "node:util";
121
- import fsPromises from "node:fs/promises";
121
+ import fs$1 from "node:fs/promises";
122
122
  import { complete, completeSimple, createAssistantMessageEventStream, streamSimple } from "@mariozechner/pi-ai";
123
123
  import crypto, { createHash, createHmac, randomBytes, randomUUID } from "node:crypto";
124
124
  import { CURRENT_SESSION_VERSION, DefaultResourceLoader, SessionManager, SettingsManager, codingTools, createAgentSession, createEditTool, createReadTool, createWriteTool, estimateTokens, generateSummary, readTool } from "@mariozechner/pi-coding-agent";
@@ -5115,7 +5115,7 @@ async function resolveAgentSessionDirs(stateDir) {
5115
5115
  const agentsDir = path.join(stateDir, "agents");
5116
5116
  let entries = [];
5117
5117
  try {
5118
- entries = await fsPromises.readdir(agentsDir, { withFileTypes: true });
5118
+ entries = await fs$1.readdir(agentsDir, { withFileTypes: true });
5119
5119
  } catch (err) {
5120
5120
  if (err.code === "ENOENT") return [];
5121
5121
  throw err;
@@ -12913,7 +12913,7 @@ async function resolveSandboxWorkdir(params) {
12913
12913
  cwd: process.cwd(),
12914
12914
  root: params.sandbox.workspaceDir
12915
12915
  });
12916
- if (!(await fsPromises.stat(resolved.resolved)).isDirectory()) throw new Error("workdir is not a directory");
12916
+ if (!(await fs$1.stat(resolved.resolved)).isDirectory()) throw new Error("workdir is not a directory");
12917
12917
  const relative = resolved.relative ? resolved.relative.split(path.sep).join(path.posix.sep) : "";
12918
12918
  const containerWorkdir = relative ? path.posix.join(params.sandbox.containerWorkdir, relative) : params.sandbox.containerWorkdir;
12919
12919
  return {
@@ -14096,13 +14096,13 @@ async function validateScriptFileForShellBleed(params) {
14096
14096
  cwd: params.workdir,
14097
14097
  root: params.workdir
14098
14098
  });
14099
- stat = await fsPromises.stat(absPath);
14099
+ stat = await fs$1.stat(absPath);
14100
14100
  } catch {
14101
14101
  return;
14102
14102
  }
14103
14103
  if (!stat.isFile()) return;
14104
14104
  if (stat.size > 512 * 1024) return;
14105
- const content = await fsPromises.readFile(absPath, "utf-8");
14105
+ const content = await fs$1.readFile(absPath, "utf-8");
14106
14106
  const first = /\$[A-Z_][A-Z0-9_]{1,}/g.exec(content);
14107
14107
  if (first) {
14108
14108
  const idx = first.index;
@@ -22935,7 +22935,7 @@ async function routeReply(params) {
22935
22935
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
22936
22936
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
22937
22937
  try {
22938
- const { deliverOutboundPayloads } = await import("./deliver-B7mNw8Vu.js").then((n) => n.n);
22938
+ const { deliverOutboundPayloads } = await import("./deliver-CZEKwM5v.js").then((n) => n.n);
22939
22939
  const outboundSession = buildOutboundSessionContext({
22940
22940
  cfg,
22941
22941
  agentId: resolvedAgentId,
@@ -23013,7 +23013,7 @@ async function emitResetCommandHooks(params) {
23013
23013
  try {
23014
23014
  const messages = [];
23015
23015
  if (sessionFile) {
23016
- const content = await fsPromises.readFile(sessionFile, "utf-8");
23016
+ const content = await fs$1.readFile(sessionFile, "utf-8");
23017
23017
  for (const line of content.split("\n")) {
23018
23018
  if (!line.trim()) continue;
23019
23019
  try {
@@ -23799,7 +23799,7 @@ async function createModelSelectionState(params) {
23799
23799
  }
23800
23800
  }
23801
23801
  if (sessionEntry && sessionStore && sessionKey && sessionEntry.authProfileOverride) {
23802
- const { ensureAuthProfileStore } = await import("./auth-profiles-qnck2ozy.js").then((n) => n.t);
23802
+ const { ensureAuthProfileStore } = await import("./auth-profiles-D3FyYUSG.js").then((n) => n.t);
23803
23803
  const profile = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false }).profiles[sessionEntry.authProfileOverride];
23804
23804
  const providerKey = normalizeProviderId(provider);
23805
23805
  if (!profile || normalizeProviderId(profile.provider) !== providerKey) await clearSessionAuthProfileOverride({
@@ -27276,7 +27276,7 @@ async function readJsonlFromPath(jsonlPath) {
27276
27276
  if (shouldLogVerbose()) logVerbose(`Blocked canvas jsonlPath outside allowed roots: ${resolved}`);
27277
27277
  throw new Error("jsonlPath outside allowed roots");
27278
27278
  }
27279
- const canonical = await fsPromises.realpath(resolved).catch(() => resolved);
27279
+ const canonical = await fs$1.realpath(resolved).catch(() => resolved);
27280
27280
  if (!isInboundPathAllowed({
27281
27281
  filePath: canonical,
27282
27282
  roots
@@ -27284,7 +27284,7 @@ async function readJsonlFromPath(jsonlPath) {
27284
27284
  if (shouldLogVerbose()) logVerbose(`Blocked canvas jsonlPath outside allowed roots: ${canonical}`);
27285
27285
  throw new Error("jsonlPath outside allowed roots");
27286
27286
  }
27287
- return await fsPromises.readFile(canonical, "utf8");
27287
+ return await fs$1.readFile(canonical, "utf8");
27288
27288
  }
27289
27289
  const CanvasToolSchema = Type.Object({
27290
27290
  action: stringEnum(CANVAS_ACTIONS),
@@ -28075,27 +28075,27 @@ function resolveRestartSentinelPath(env = process.env) {
28075
28075
  }
28076
28076
  async function writeRestartSentinel(payload, env = process.env) {
28077
28077
  const filePath = resolveRestartSentinelPath(env);
28078
- await fsPromises.mkdir(path.dirname(filePath), { recursive: true });
28078
+ await fs$1.mkdir(path.dirname(filePath), { recursive: true });
28079
28079
  const data = {
28080
28080
  version: 1,
28081
28081
  payload
28082
28082
  };
28083
- await fsPromises.writeFile(filePath, `${JSON.stringify(data, null, 2)}\n`, "utf-8");
28083
+ await fs$1.writeFile(filePath, `${JSON.stringify(data, null, 2)}\n`, "utf-8");
28084
28084
  return filePath;
28085
28085
  }
28086
28086
  async function readRestartSentinel(env = process.env) {
28087
28087
  const filePath = resolveRestartSentinelPath(env);
28088
28088
  try {
28089
- const raw = await fsPromises.readFile(filePath, "utf-8");
28089
+ const raw = await fs$1.readFile(filePath, "utf-8");
28090
28090
  let parsed;
28091
28091
  try {
28092
28092
  parsed = JSON.parse(raw);
28093
28093
  } catch {
28094
- await fsPromises.unlink(filePath).catch(() => {});
28094
+ await fs$1.unlink(filePath).catch(() => {});
28095
28095
  return null;
28096
28096
  }
28097
28097
  if (!parsed || parsed.version !== 1 || !parsed.payload) {
28098
- await fsPromises.unlink(filePath).catch(() => {});
28098
+ await fs$1.unlink(filePath).catch(() => {});
28099
28099
  return null;
28100
28100
  }
28101
28101
  return parsed;
@@ -28107,7 +28107,7 @@ async function consumeRestartSentinel(env = process.env) {
28107
28107
  const filePath = resolveRestartSentinelPath(env);
28108
28108
  const parsed = await readRestartSentinel(env);
28109
28109
  if (!parsed) return null;
28110
- await fsPromises.unlink(filePath).catch(() => {});
28110
+ await fs$1.unlink(filePath).catch(() => {});
28111
28111
  return parsed;
28112
28112
  }
28113
28113
  function formatRestartSentinelMessage(payload) {
@@ -37653,18 +37653,18 @@ function appendImagePathsToPrompt(prompt, paths) {
37653
37653
  return `${trimmed}${trimmed ? "\n\n" : ""}${paths.join("\n")}`;
37654
37654
  }
37655
37655
  async function writeCliImages(images) {
37656
- const tempDir = await fsPromises.mkdtemp(path.join(os.tmpdir(), "openclaw-cli-images-"));
37656
+ const tempDir = await fs$1.mkdtemp(path.join(os.tmpdir(), "openclaw-cli-images-"));
37657
37657
  const paths = [];
37658
37658
  for (let i = 0; i < images.length; i += 1) {
37659
37659
  const image = images[i];
37660
37660
  const ext = resolveImageExtension(image.mimeType);
37661
37661
  const filePath = path.join(tempDir, `image-${i + 1}.${ext}`);
37662
37662
  const buffer = Buffer.from(image.data, "base64");
37663
- await fsPromises.writeFile(filePath, buffer, { mode: 384 });
37663
+ await fs$1.writeFile(filePath, buffer, { mode: 384 });
37664
37664
  paths.push(filePath);
37665
37665
  }
37666
37666
  const cleanup = async () => {
37667
- await fsPromises.rm(tempDir, {
37667
+ await fs$1.rm(tempDir, {
37668
37668
  recursive: true,
37669
37669
  force: true
37670
37670
  });
@@ -41441,7 +41441,7 @@ async function deliverSessionMaintenanceWarning(params) {
41441
41441
  return;
41442
41442
  }
41443
41443
  try {
41444
- const { deliverOutboundPayloads } = await import("./deliver-B7mNw8Vu.js").then((n) => n.n);
41444
+ const { deliverOutboundPayloads } = await import("./deliver-CZEKwM5v.js").then((n) => n.n);
41445
41445
  const outboundSession = buildOutboundSessionContext({
41446
41446
  cfg: params.cfg,
41447
41447
  sessionKey: params.sessionKey
@@ -41907,7 +41907,7 @@ async function stageSandboxMedia(params) {
41907
41907
  };
41908
41908
  try {
41909
41909
  const destDir = sandbox ? path.join(effectiveWorkspaceDir, "media", "inbound") : effectiveWorkspaceDir;
41910
- await fsPromises.mkdir(destDir, { recursive: true });
41910
+ await fs$1.mkdir(destDir, { recursive: true });
41911
41911
  const remoteAttachmentRoots = resolveIMessageRemoteAttachmentRoots({
41912
41912
  cfg,
41913
41913
  accountId: ctx.AccountId
@@ -41957,7 +41957,7 @@ async function stageSandboxMedia(params) {
41957
41957
  usedNames.add(fileName);
41958
41958
  const dest = path.join(destDir, fileName);
41959
41959
  if (ctx.MediaRemoteHost) await scpFile(ctx.MediaRemoteHost, source, dest);
41960
- else await fsPromises.copyFile(source, dest);
41960
+ else await fs$1.copyFile(source, dest);
41961
41961
  const stagedPath = sandbox ? path.posix.join("media", "inbound", fileName) : dest;
41962
41962
  staged.set(source, stagedPath);
41963
41963
  }
@@ -46284,8 +46284,8 @@ async function describeStickerImage(params) {
46284
46284
  const { provider, model } = resolved;
46285
46285
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
46286
46286
  try {
46287
- const buffer = await fsPromises.readFile(imagePath);
46288
- const { describeImageWithModel } = await import("./image-QYMqJ_Cu.js").then((n) => n.n);
46287
+ const buffer = await fs$1.readFile(imagePath);
46288
+ const { describeImageWithModel } = await import("./image-w5Vu5G__.js").then((n) => n.n);
46289
46289
  return (await describeImageWithModel({
46290
46290
  buffer,
46291
46291
  fileName: "sticker.webp",
@@ -46739,7 +46739,7 @@ function createWhatsAppLoginTool() {
46739
46739
  force: Type.Optional(Type.Boolean())
46740
46740
  }),
46741
46741
  execute: async (_toolCallId, args) => {
46742
- const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-BCrD2_fy.js");
46742
+ const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-DK2E0Fk5.js");
46743
46743
  if ((args?.action ?? "start") === "wait") {
46744
46744
  const result = await waitForWebLogin({ timeoutMs: typeof args.timeoutMs === "number" ? args.timeoutMs : void 0 });
46745
46745
  return {
@@ -48477,7 +48477,7 @@ async function preflightDiscordMessage(params) {
48477
48477
  let preflightTranscript;
48478
48478
  const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
48479
48479
  if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
48480
- const { transcribeFirstAudio } = await import("./audio-preflight-HamJvwTU.js");
48480
+ const { transcribeFirstAudio } = await import("./audio-preflight-DrlqJTSX.js");
48481
48481
  const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
48482
48482
  if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
48483
48483
  ctx: {
@@ -52433,27 +52433,27 @@ function createOutboundSendDepsFromCliSource(deps) {
52433
52433
  function createDefaultDeps() {
52434
52434
  return {
52435
52435
  sendMessageWhatsApp: async (...args) => {
52436
- const { sendMessageWhatsApp } = await import("./web-BTc3UuX6.js");
52436
+ const { sendMessageWhatsApp } = await import("./web-BsX8l9H1.js");
52437
52437
  return await sendMessageWhatsApp(...args);
52438
52438
  },
52439
52439
  sendMessageTelegram: async (...args) => {
52440
- const { sendMessageTelegram } = await import("./send-sEXu0p87.js").then((n) => n.l);
52440
+ const { sendMessageTelegram } = await import("./send-CVj6uOGI.js").then((n) => n.l);
52441
52441
  return await sendMessageTelegram(...args);
52442
52442
  },
52443
52443
  sendMessageDiscord: async (...args) => {
52444
- const { sendMessageDiscord } = await import("./send-DY7qzDta.js").then((n) => n.t);
52444
+ const { sendMessageDiscord } = await import("./send-snKm1H4E.js").then((n) => n.t);
52445
52445
  return await sendMessageDiscord(...args);
52446
52446
  },
52447
52447
  sendMessageSlack: async (...args) => {
52448
- const { sendMessageSlack } = await import("./send-OJbtfeWf.js").then((n) => n.n);
52448
+ const { sendMessageSlack } = await import("./send-zp5AuaHE.js").then((n) => n.n);
52449
52449
  return await sendMessageSlack(...args);
52450
52450
  },
52451
52451
  sendMessageSignal: async (...args) => {
52452
- const { sendMessageSignal } = await import("./send-CgATYx8D.js").then((n) => n.i);
52452
+ const { sendMessageSignal } = await import("./send-DE17gd7F.js").then((n) => n.i);
52453
52453
  return await sendMessageSignal(...args);
52454
52454
  },
52455
52455
  sendMessageIMessage: async (...args) => {
52456
- const { sendMessageIMessage } = await import("./send-DZ9JXWaZ.js").then((n) => n.n);
52456
+ const { sendMessageIMessage } = await import("./send-oJraTp-6.js").then((n) => n.n);
52457
52457
  return await sendMessageIMessage(...args);
52458
52458
  }
52459
52459
  };
@@ -53596,10 +53596,10 @@ function estimateDurationSeconds(pcm) {
53596
53596
  return pcm.length / (bytesPerSample * SAMPLE_RATE);
53597
53597
  }
53598
53598
  async function writeWavFile(pcm) {
53599
- const tempDir = await fsPromises.mkdtemp(path.join(resolvePreferredOpenClawTmpDir(), "discord-voice-"));
53599
+ const tempDir = await fs$1.mkdtemp(path.join(resolvePreferredOpenClawTmpDir(), "discord-voice-"));
53600
53600
  const filePath = path.join(tempDir, `segment-${randomUUID()}.wav`);
53601
53601
  const wav = buildWavBuffer(pcm);
53602
- await fsPromises.writeFile(filePath, wav);
53602
+ await fs$1.writeFile(filePath, wav);
53603
53603
  scheduleTempCleanup(tempDir);
53604
53604
  return {
53605
53605
  path: filePath,
@@ -53608,7 +53608,7 @@ async function writeWavFile(pcm) {
53608
53608
  }
53609
53609
  function scheduleTempCleanup(tempDir, delayMs = 1800 * 1e3) {
53610
53610
  setTimeout(() => {
53611
- fsPromises.rm(tempDir, {
53611
+ fs$1.rm(tempDir, {
53612
53612
  recursive: true,
53613
53613
  force: true
53614
53614
  }).catch((err) => {
@@ -57766,7 +57766,7 @@ function normalizeAllowList$1(list) {
57766
57766
  async function detectRemoteHostFromCliPath(cliPath) {
57767
57767
  try {
57768
57768
  const expanded = cliPath.startsWith("~") ? cliPath.replace(/^~/, process.env.HOME ?? "") : cliPath;
57769
- const content = await fsPromises.readFile(expanded, "utf8");
57769
+ const content = await fs$1.readFile(expanded, "utf8");
57770
57770
  const userHostMatch = content.match(/\bssh\b[^\n]*?\s+([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+)/);
57771
57771
  if (userHostMatch) return userHostMatch[1];
57772
57772
  return content.match(/\bssh\b[^\n]*?\s+([a-zA-Z][a-zA-Z0-9._-]*)\s+\S*\bimsg\b/)?.[1];
@@ -64000,7 +64000,7 @@ function readSlackExternalArgMenuToken(raw) {
64000
64000
  }
64001
64001
  let commandsRegistry;
64002
64002
  async function getCommandsRegistry() {
64003
- if (!commandsRegistry) commandsRegistry = await import("./commands-registry-C9Mi0U--.js").then((n) => n.n);
64003
+ if (!commandsRegistry) commandsRegistry = await import("./commands-registry-CxF5UuEv.js").then((n) => n.n);
64004
64004
  return commandsRegistry;
64005
64005
  }
64006
64006
  function encodeSlackCommandArgValue(parts) {
@@ -64329,14 +64329,14 @@ async function registerSlackMonitorSlashCommands(params) {
64329
64329
  const channelName = channelInfo?.name;
64330
64330
  const roomLabel = channelName ? `#${channelName}` : `#${command.channel_id}`;
64331
64331
  const [{ resolveAgentRoute }, { finalizeInboundContext }, { dispatchReplyWithDispatcher }] = await Promise.all([
64332
- import("./resolve-route-B0u78v_W.js").then((n) => n.r),
64332
+ import("./resolve-route-DvJmdJ7B.js").then((n) => n.r),
64333
64333
  import("./inbound-context-C_YBQth9.js").then((n) => n.n),
64334
64334
  Promise.resolve().then(() => provider_dispatcher_exports)
64335
64335
  ]);
64336
64336
  const [{ resolveConversationLabel }, { createReplyPrefixOptions }, { recordSessionMetaFromInbound, resolveStorePath }] = await Promise.all([
64337
64337
  import("./conversation-label-CRfq0YMA.js").then((n) => n.t),
64338
- import("./reply-prefix-BLgL5eLu.js").then((n) => n.n),
64339
- import("./sessions-IKxRT_G9.js").then((n) => n.t)
64338
+ import("./reply-prefix-Q23IMgrt.js").then((n) => n.n),
64339
+ import("./sessions-aGmwHv0g.js").then((n) => n.t)
64340
64340
  ]);
64341
64341
  const route = resolveAgentRoute({
64342
64342
  cfg,
@@ -64404,9 +64404,9 @@ async function registerSlackMonitorSlashCommands(params) {
64404
64404
  });
64405
64405
  const deliverSlashPayloads = async (replies) => {
64406
64406
  const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
64407
- import("./replies-COLVQezU.js").then((n) => n.r),
64407
+ import("./replies-BAqKfdVk.js").then((n) => n.r),
64408
64408
  import("./chunk-C1ApS_WL.js").then((n) => n.s),
64409
- import("./markdown-tables-BvxYO6Nz.js").then((n) => n.t)
64409
+ import("./markdown-tables-DhrZVWff.js").then((n) => n.t)
64410
64410
  ]);
64411
64411
  await deliverSlackSlashReplies({
64412
64412
  replies,
@@ -64459,7 +64459,7 @@ async function registerSlackMonitorSlashCommands(params) {
64459
64459
  let nativeCommands = [];
64460
64460
  if (nativeEnabled) {
64461
64461
  reg = await getCommandsRegistry();
64462
- const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-KdMeqg8g.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
64462
+ const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-B4-CgHlk.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
64463
64463
  nativeCommands = reg.listNativeCommandSpecsForConfig(cfg, {
64464
64464
  skillCommands,
64465
64465
  provider: "slack"
@@ -67044,7 +67044,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, replyMedia =
67044
67044
  const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
67045
67045
  let preflightTranscript;
67046
67046
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
67047
- const { transcribeFirstAudio } = await import("./audio-preflight-HamJvwTU.js");
67047
+ const { transcribeFirstAudio } = await import("./audio-preflight-DrlqJTSX.js");
67048
67048
  preflightTranscript = await transcribeFirstAudio({
67049
67049
  ctx: {
67050
67050
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -69095,7 +69095,7 @@ function safeParseState(raw) {
69095
69095
  async function readTelegramUpdateOffset(params) {
69096
69096
  const filePath = resolveTelegramUpdateOffsetPath(params.accountId, params.env);
69097
69097
  try {
69098
- const parsed = safeParseState(await fsPromises.readFile(filePath, "utf-8"));
69098
+ const parsed = safeParseState(await fs$1.readFile(filePath, "utf-8"));
69099
69099
  const expectedBotId = extractBotIdFromToken(params.botToken);
69100
69100
  if (expectedBotId && parsed?.botId && parsed.botId !== expectedBotId) return null;
69101
69101
  if (expectedBotId && parsed?.botId === null) return null;
@@ -69108,7 +69108,7 @@ async function readTelegramUpdateOffset(params) {
69108
69108
  async function writeTelegramUpdateOffset(params) {
69109
69109
  const filePath = resolveTelegramUpdateOffsetPath(params.accountId, params.env);
69110
69110
  const dir = path.dirname(filePath);
69111
- await fsPromises.mkdir(dir, {
69111
+ await fs$1.mkdir(dir, {
69112
69112
  recursive: true,
69113
69113
  mode: 448
69114
69114
  });
@@ -69118,14 +69118,14 @@ async function writeTelegramUpdateOffset(params) {
69118
69118
  lastUpdateId: params.updateId,
69119
69119
  botId: extractBotIdFromToken(params.botToken)
69120
69120
  };
69121
- await fsPromises.writeFile(tmp, `${JSON.stringify(payload, null, 2)}\n`, { encoding: "utf-8" });
69122
- await fsPromises.chmod(tmp, 384);
69123
- await fsPromises.rename(tmp, filePath);
69121
+ await fs$1.writeFile(tmp, `${JSON.stringify(payload, null, 2)}\n`, { encoding: "utf-8" });
69122
+ await fs$1.chmod(tmp, 384);
69123
+ await fs$1.rename(tmp, filePath);
69124
69124
  }
69125
69125
  async function deleteTelegramUpdateOffset(params) {
69126
69126
  const filePath = resolveTelegramUpdateOffsetPath(params.accountId, params.env);
69127
69127
  try {
69128
- await fsPromises.unlink(filePath);
69128
+ await fs$1.unlink(filePath);
69129
69129
  } catch (err) {
69130
69130
  if (err.code === "ENOENT") return;
69131
69131
  throw err;
@@ -69639,23 +69639,23 @@ let webLoginQrPromise = null;
69639
69639
  let webChannelPromise = null;
69640
69640
  let whatsappActionsPromise = null;
69641
69641
  function loadWebOutbound() {
69642
- webOutboundPromise ??= import("./outbound-DXu6wxmi.js").then((n) => n.t);
69642
+ webOutboundPromise ??= import("./outbound-m3MjDRvf.js").then((n) => n.t);
69643
69643
  return webOutboundPromise;
69644
69644
  }
69645
69645
  function loadWebLogin() {
69646
- webLoginPromise ??= import("./login-BdEIPD3M.js").then((n) => n.n);
69646
+ webLoginPromise ??= import("./login-CbEdSE8o.js").then((n) => n.n);
69647
69647
  return webLoginPromise;
69648
69648
  }
69649
69649
  function loadWebLoginQr() {
69650
- webLoginQrPromise ??= import("./login-qr-BCrD2_fy.js");
69650
+ webLoginQrPromise ??= import("./login-qr-DK2E0Fk5.js");
69651
69651
  return webLoginQrPromise;
69652
69652
  }
69653
69653
  function loadWebChannel() {
69654
- webChannelPromise ??= import("./web-BTc3UuX6.js");
69654
+ webChannelPromise ??= import("./web-BsX8l9H1.js");
69655
69655
  return webChannelPromise;
69656
69656
  }
69657
69657
  function loadWhatsAppActions() {
69658
- whatsappActionsPromise ??= import("./whatsapp-actions-D69bEFbN.js");
69658
+ whatsappActionsPromise ??= import("./whatsapp-actions-D-q8r2i5.js");
69659
69659
  return whatsappActionsPromise;
69660
69660
  }
69661
69661
  function createPluginRuntime() {
@@ -70470,7 +70470,7 @@ function resolvePluginTools(params) {
70470
70470
  //#endregion
70471
70471
  //#region src/agents/apply-patch-update.ts
70472
70472
  async function defaultReadFile(filePath) {
70473
- return fsPromises.readFile(filePath, "utf8");
70473
+ return fs$1.readFile(filePath, "utf8");
70474
70474
  }
70475
70475
  async function applyUpdateHunk(filePath, chunks, options) {
70476
70476
  const originalLines = (await (options?.readFile ?? defaultReadFile)(filePath).catch((err) => {
@@ -70716,7 +70716,7 @@ function resolvePatchFileOps(options) {
70716
70716
  const workspaceOnly = options.workspaceOnly !== false;
70717
70717
  return {
70718
70718
  readFile: async (filePath) => {
70719
- if (!workspaceOnly) return await fsPromises.readFile(filePath, "utf8");
70719
+ if (!workspaceOnly) return await fs$1.readFile(filePath, "utf8");
70720
70720
  const opened = await openBoundaryFile({
70721
70721
  absolutePath: filePath,
70722
70722
  rootPath: options.cwd,
@@ -70731,7 +70731,7 @@ function resolvePatchFileOps(options) {
70731
70731
  },
70732
70732
  writeFile: async (filePath, content) => {
70733
70733
  if (!workspaceOnly) {
70734
- await fsPromises.writeFile(filePath, content, "utf8");
70734
+ await fs$1.writeFile(filePath, content, "utf8");
70735
70735
  return;
70736
70736
  }
70737
70737
  const relative = toRelativeWorkspacePath(options.cwd, filePath);
@@ -70742,8 +70742,8 @@ function resolvePatchFileOps(options) {
70742
70742
  encoding: "utf8"
70743
70743
  });
70744
70744
  },
70745
- remove: (filePath) => fsPromises.rm(filePath),
70746
- mkdirp: (dir) => fsPromises.mkdir(dir, { recursive: true }).then(() => {})
70745
+ remove: (filePath) => fs$1.rm(filePath),
70746
+ mkdirp: (dir) => fs$1.mkdir(dir, { recursive: true }).then(() => {})
70747
70747
  };
70748
70748
  }
70749
70749
  async function ensureDir(filePath, ops) {
@@ -71049,7 +71049,7 @@ async function runBeforeToolCallHook(args) {
71049
71049
  const params = args.params;
71050
71050
  if (args.ctx?.sessionKey) {
71051
71051
  const { getDiagnosticSessionState } = await import("./diagnostic-session-state-Cw3EMvZy.js").then((n) => n.n);
71052
- const { logToolLoopAction } = await import("./diagnostic-CJIq8gp_.js").then((n) => n.n);
71052
+ const { logToolLoopAction } = await import("./diagnostic-Bc4KUKvc.js").then((n) => n.n);
71053
71053
  const { detectToolCallLoop, recordToolCall } = await import("./tool-loop-detection-BpwyXfYY.js");
71054
71054
  const sessionState = getDiagnosticSessionState({
71055
71055
  sessionKey: args.ctx.sessionKey,
@@ -71667,13 +71667,13 @@ function createHostWriteOperations(root, options) {
71667
71667
  if (!(options?.workspaceOnly !== false)) return {
71668
71668
  mkdir: async (dir) => {
71669
71669
  const resolved = path.resolve(dir);
71670
- await fsPromises.mkdir(resolved, { recursive: true });
71670
+ await fs$1.mkdir(resolved, { recursive: true });
71671
71671
  },
71672
71672
  writeFile: async (absolutePath, content) => {
71673
71673
  const resolved = path.resolve(absolutePath);
71674
71674
  const dir = path.dirname(resolved);
71675
- await fsPromises.mkdir(dir, { recursive: true });
71676
- await fsPromises.writeFile(resolved, content, "utf-8");
71675
+ await fs$1.mkdir(dir, { recursive: true });
71676
+ await fs$1.writeFile(resolved, content, "utf-8");
71677
71677
  }
71678
71678
  };
71679
71679
  return {
@@ -71685,7 +71685,7 @@ function createHostWriteOperations(root, options) {
71685
71685
  cwd: root,
71686
71686
  root
71687
71687
  });
71688
- await fsPromises.mkdir(resolved, { recursive: true });
71688
+ await fs$1.mkdir(resolved, { recursive: true });
71689
71689
  },
71690
71690
  writeFile: async (absolutePath, content) => {
71691
71691
  await writeFileWithinRoot({
@@ -71701,17 +71701,17 @@ function createHostEditOperations(root, options) {
71701
71701
  if (!(options?.workspaceOnly !== false)) return {
71702
71702
  readFile: async (absolutePath) => {
71703
71703
  const resolved = path.resolve(absolutePath);
71704
- return await fsPromises.readFile(resolved);
71704
+ return await fs$1.readFile(resolved);
71705
71705
  },
71706
71706
  writeFile: async (absolutePath, content) => {
71707
71707
  const resolved = path.resolve(absolutePath);
71708
71708
  const dir = path.dirname(resolved);
71709
- await fsPromises.mkdir(dir, { recursive: true });
71710
- await fsPromises.writeFile(resolved, content, "utf-8");
71709
+ await fs$1.mkdir(dir, { recursive: true });
71710
+ await fs$1.writeFile(resolved, content, "utf-8");
71711
71711
  },
71712
71712
  access: async (absolutePath) => {
71713
71713
  const resolved = path.resolve(absolutePath);
71714
- await fsPromises.access(resolved);
71714
+ await fs$1.access(resolved);
71715
71715
  }
71716
71716
  };
71717
71717
  return {
@@ -72516,7 +72516,7 @@ async function repairSessionFileIfNeeded(params) {
72516
72516
  };
72517
72517
  let content;
72518
72518
  try {
72519
- content = await fsPromises.readFile(sessionFile, "utf-8");
72519
+ content = await fs$1.readFile(sessionFile, "utf-8");
72520
72520
  } catch (err) {
72521
72521
  if (err?.code === "ENOENT") return {
72522
72522
  repaired: false,
@@ -72564,15 +72564,15 @@ async function repairSessionFileIfNeeded(params) {
72564
72564
  const backupPath = `${sessionFile}.bak-${process.pid}-${Date.now()}`;
72565
72565
  const tmpPath = `${sessionFile}.repair-${process.pid}-${Date.now()}.tmp`;
72566
72566
  try {
72567
- const stat = await fsPromises.stat(sessionFile).catch(() => null);
72568
- await fsPromises.writeFile(backupPath, content, "utf-8");
72569
- if (stat) await fsPromises.chmod(backupPath, stat.mode);
72570
- await fsPromises.writeFile(tmpPath, cleaned, "utf-8");
72571
- if (stat) await fsPromises.chmod(tmpPath, stat.mode);
72572
- await fsPromises.rename(tmpPath, sessionFile);
72567
+ const stat = await fs$1.stat(sessionFile).catch(() => null);
72568
+ await fs$1.writeFile(backupPath, content, "utf-8");
72569
+ if (stat) await fs$1.chmod(backupPath, stat.mode);
72570
+ await fs$1.writeFile(tmpPath, cleaned, "utf-8");
72571
+ if (stat) await fs$1.chmod(tmpPath, stat.mode);
72572
+ await fs$1.rename(tmpPath, sessionFile);
72573
72573
  } catch (err) {
72574
72574
  try {
72575
- await fsPromises.unlink(tmpPath);
72575
+ await fs$1.unlink(tmpPath);
72576
72576
  } catch (cleanupErr) {
72577
72577
  params.warn?.(`session file repair cleanup failed: ${cleanupErr instanceof Error ? cleanupErr.message : "unknown error"} (${path.basename(tmpPath)})`);
72578
72578
  }
@@ -74137,7 +74137,7 @@ async function prewarmSessionFile(sessionFile) {
74137
74137
  if (!isSessionManagerCacheEnabled()) return;
74138
74138
  if (isSessionManagerCached(sessionFile)) return;
74139
74139
  try {
74140
- const handle = await fsPromises.open(sessionFile, "r");
74140
+ const handle = await fs$1.open(sessionFile, "r");
74141
74141
  try {
74142
74142
  const buffer = Buffer$1.alloc(4096);
74143
74143
  await handle.read(buffer, 0, buffer.length, 0);
@@ -74517,7 +74517,7 @@ async function compactEmbeddedPiSessionDirect(params) {
74517
74517
  } catch (err) {
74518
74518
  return fail(describeUnknownError(err));
74519
74519
  }
74520
- await fsPromises.mkdir(resolvedWorkspace, { recursive: true });
74520
+ await fs$1.mkdir(resolvedWorkspace, { recursive: true });
74521
74521
  const sandboxSessionKey = params.sessionKey?.trim() || params.sessionId;
74522
74522
  const sandbox = await resolveSandboxContext({
74523
74523
  config: params.config,
@@ -74525,7 +74525,7 @@ async function compactEmbeddedPiSessionDirect(params) {
74525
74525
  workspaceDir: resolvedWorkspace
74526
74526
  });
74527
74527
  const effectiveWorkspace = sandbox?.enabled ? sandbox.workspaceAccess === "rw" ? resolvedWorkspace : sandbox.workspaceDir : resolvedWorkspace;
74528
- await fsPromises.mkdir(effectiveWorkspace, { recursive: true });
74528
+ await fs$1.mkdir(effectiveWorkspace, { recursive: true });
74529
74529
  await ensureSessionHeader({
74530
74530
  sessionFile: params.sessionFile,
74531
74531
  sessionId: params.sessionId,
@@ -75331,12 +75331,12 @@ function getQueuedFileWriter(writers, filePath) {
75331
75331
  const existing = writers.get(filePath);
75332
75332
  if (existing) return existing;
75333
75333
  const dir = path.dirname(filePath);
75334
- const ready = fsPromises.mkdir(dir, { recursive: true }).catch(() => void 0);
75334
+ const ready = fs$1.mkdir(dir, { recursive: true }).catch(() => void 0);
75335
75335
  let queue = Promise.resolve();
75336
75336
  const writer = {
75337
75337
  filePath,
75338
75338
  write: (line) => {
75339
- queue = queue.then(() => ready).then(() => fsPromises.appendFile(filePath, line, "utf8")).catch(() => void 0);
75339
+ queue = queue.then(() => ready).then(() => fs$1.appendFile(filePath, line, "utf8")).catch(() => void 0);
75340
75340
  }
75341
75341
  };
75342
75342
  writers.set(filePath, writer);
@@ -78311,7 +78311,7 @@ async function prepareSessionManagerForRun(params) {
78311
78311
  return;
78312
78312
  }
78313
78313
  if (params.hadSessionFile && header && !hasAssistant) {
78314
- await fsPromises.writeFile(params.sessionFile, "", "utf-8");
78314
+ await fs$1.writeFile(params.sessionFile, "", "utf-8");
78315
78315
  sm.fileEntries = [header];
78316
78316
  sm.byId?.clear?.();
78317
78317
  sm.labelsById?.clear?.();
@@ -78967,7 +78967,7 @@ async function runEmbeddedAttempt(params) {
78967
78967
  const prevCwd = process.cwd();
78968
78968
  const runAbortController = new AbortController();
78969
78969
  log$3.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"}`);
78970
- await fsPromises.mkdir(resolvedWorkspace, { recursive: true });
78970
+ await fs$1.mkdir(resolvedWorkspace, { recursive: true });
78971
78971
  const sandboxSessionKey = params.sessionKey?.trim() || params.sessionId;
78972
78972
  const sandbox = await resolveSandboxContext({
78973
78973
  config: params.config,
@@ -78975,7 +78975,7 @@ async function runEmbeddedAttempt(params) {
78975
78975
  workspaceDir: resolvedWorkspace
78976
78976
  });
78977
78977
  const effectiveWorkspace = sandbox?.enabled ? sandbox.workspaceAccess === "rw" ? resolvedWorkspace : sandbox.workspaceDir : resolvedWorkspace;
78978
- await fsPromises.mkdir(effectiveWorkspace, { recursive: true });
78978
+ await fs$1.mkdir(effectiveWorkspace, { recursive: true });
78979
78979
  let restoreSkillEnv;
78980
78980
  process.chdir(effectiveWorkspace);
78981
78981
  try {
@@ -79215,7 +79215,7 @@ async function runEmbeddedAttempt(params) {
79215
79215
  sessionFile: params.sessionFile,
79216
79216
  warn: (message) => log$3.warn(message)
79217
79217
  });
79218
- const hadSessionFile = await fsPromises.stat(params.sessionFile).then(() => true).catch(() => false);
79218
+ const hadSessionFile = await fs$1.stat(params.sessionFile).then(() => true).catch(() => false);
79219
79219
  const transcriptPolicy = resolveTranscriptPolicy({
79220
79220
  modelApi: params.model?.api,
79221
79221
  provider: params.provider,
@@ -80225,7 +80225,7 @@ async function runEmbeddedPiAgent(params) {
80225
80225
  }
80226
80226
  runLoopIterations += 1;
80227
80227
  attemptedThinking.add(thinkLevel);
80228
- await fsPromises.mkdir(resolvedWorkspace, { recursive: true });
80228
+ await fs$1.mkdir(resolvedWorkspace, { recursive: true });
80229
80229
  const prompt = provider === "anthropic" ? scrubAnthropicRefusalMagic(params.prompt) : params.prompt;
80230
80230
  const attempt = await runEmbeddedAttempt({
80231
80231
  sessionId: params.sessionId,