@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,162 +1,162 @@
1
1
  import { $t as resolveStateDir, At as getLogger, Bt as STATE_DIR, C as CHANNEL_IDS, Dt as isRich, Et as colorize, G as clamp, I as createEmptyPluginRegistry, Kt as resolveGatewayLockDir, M as getActivePluginRegistry, Ot as theme, Rt as CONFIG_PATH, St as setVerbose, Ut as resolveConfigPath, Vt as isNixMode, X as ensureDir, bt as logVerbose, c as runtimeForLogger, d as setConsoleSubsystemFilter, en as clearInternalHooks, f as setConsoleTimestampPrefix, ht as isPlainObject, i as logAcceptedEnvOption, jt as getResolvedLoggerSettings, kt as getChildLogger, mt as truncateUtf16Safe, nn as registerInternalHook, qt as resolveGatewayPort, r as isTruthyEnvValue, rn as triggerInternalHook, s as createSubsystemLogger, st as resolveUserPath, tn as createInternalHookEvent, ut as shortenHomePath, v as defaultRuntime } from "./entry.js";
2
- import { A as createConfigIO, Cn as buildTalkConfigResponse, Ct as isAvatarImageDataUrl, Dt as looksLikeAvatarPath, En as resolveSubagentMaxConcurrent, F as resolveConfigSnapshotHash, Jn as buildAllowedModelSet, L as writeConfigFile, M as parseConfigJson5, N as readConfigFileSnapshot, O as migrateLegacyConfig, P as readConfigFileSnapshotForWrite, Qn as getModelRefStatus, R as validateConfigObjectWithPlugins, St as isAvatarHttpUrl, Tn as resolveAgentMaxConcurrent, at as parseByteSize, bt as AVATAR_MAX_BYTES, cr as resolveConfiguredModelRef, er as isCliProvider, fn as applyMergePatch, gi as DEFAULT_PROVIDER, hi as DEFAULT_MODEL, hr as resolveThinkingDefault, it as parseDurationMs, j as loadConfig, lr as resolveDefaultModelForAgent, mi as DEFAULT_CONTEXT_TOKENS, mn as ensureControlUiAllowedOriginsForNonLoopbackBind, or as resolveAllowedModelRef, pn as applyLegacyMigrations, pr as resolveSubagentConfiguredModelSelection, qn as isPidAlive, rr as normalizeModelSelection, si as normalizeSecretInput, ur as resolveHooksGmailModel, z as OpenClawSchema } from "./auth-profiles-qnck2ozy.js";
2
+ import { A as createConfigIO, Cn as buildTalkConfigResponse, Ct as isAvatarImageDataUrl, Dt as looksLikeAvatarPath, En as resolveSubagentMaxConcurrent, F as resolveConfigSnapshotHash, Jn as buildAllowedModelSet, L as writeConfigFile, M as parseConfigJson5, N as readConfigFileSnapshot, O as migrateLegacyConfig, P as readConfigFileSnapshotForWrite, Qn as getModelRefStatus, R as validateConfigObjectWithPlugins, St as isAvatarHttpUrl, Tn as resolveAgentMaxConcurrent, at as parseByteSize, bt as AVATAR_MAX_BYTES, cr as resolveConfiguredModelRef, er as isCliProvider, fn as applyMergePatch, gi as DEFAULT_PROVIDER, hi as DEFAULT_MODEL, hr as resolveThinkingDefault, it as parseDurationMs, j as loadConfig, lr as resolveDefaultModelForAgent, mi as DEFAULT_CONTEXT_TOKENS, mn as ensureControlUiAllowedOriginsForNonLoopbackBind, or as resolveAllowedModelRef, pn as applyLegacyMigrations, pr as resolveSubagentConfiguredModelSelection, qn as isPidAlive, rr as normalizeModelSelection, si as normalizeSecretInput, ur as resolveHooksGmailModel, z as OpenClawSchema } from "./auth-profiles-D3FyYUSG.js";
3
3
  import { t as formatCliCommand } from "./command-format-BYm_a0tW.js";
4
- import { A as resolveDefaultAgentWorkspaceDir, C as DEFAULT_SOUL_FILENAME, E as ensureAgentWorkspace, O as isWorkspaceOnboardingCompleted, S as DEFAULT_MEMORY_FILENAME, T as DEFAULT_USER_FILENAME, a as resolveAgentDir, b as DEFAULT_IDENTITY_FILENAME, c as resolveAgentModelFallbacksOverride, d as resolveDefaultAgentId, g as DEFAULT_AGENTS_FILENAME, i as resolveAgentConfig, j as resolveWorkspaceTemplateDir, l as resolveAgentSkillsFilter, m as resolveSessionAgentId, n as listAgentEntries, r as listAgentIds, u as resolveAgentWorkspaceDir, v as DEFAULT_BOOTSTRAP_FILENAME, w as DEFAULT_TOOLS_FILENAME, x as DEFAULT_MEMORY_ALT_FILENAME, y as DEFAULT_HEARTBEAT_FILENAME } from "./agent-scope-CaXaKovT.js";
4
+ import { A as resolveDefaultAgentWorkspaceDir, C as DEFAULT_SOUL_FILENAME, E as ensureAgentWorkspace, O as isWorkspaceOnboardingCompleted, S as DEFAULT_MEMORY_FILENAME, T as DEFAULT_USER_FILENAME, a as resolveAgentDir, b as DEFAULT_IDENTITY_FILENAME, c as resolveAgentModelFallbacksOverride, d as resolveDefaultAgentId, g as DEFAULT_AGENTS_FILENAME, i as resolveAgentConfig, j as resolveWorkspaceTemplateDir, l as resolveAgentSkillsFilter, m as resolveSessionAgentId, n as listAgentEntries, r as listAgentIds, u as resolveAgentWorkspaceDir, v as DEFAULT_BOOTSTRAP_FILENAME, w as DEFAULT_TOOLS_FILENAME, x as DEFAULT_MEMORY_ALT_FILENAME, y as DEFAULT_HEARTBEAT_FILENAME } from "./agent-scope-B33Scyaw.js";
5
5
  import { C as isSubagentSessionKey, c as normalizeMainKey, f as toAgentRequestSessionKey, h as normalizeAccountId$1, l as resolveAgentIdFromSessionKey, m as DEFAULT_ACCOUNT_ID, o as classifySessionKeyShape, p as toAgentStoreSessionKey, r as buildAgentMainSessionKey, s as normalizeAgentId, t as DEFAULT_AGENT_ID, w as parseAgentSessionKey, x as isCronRunSessionKey } from "./session-key-qmb11-mH.js";
6
- import { a as openBoundaryFileSync, d as isNotFoundPathError, i as openBoundaryFile, m as matchesSkillFilter, o as openVerifiedFileSync, s as sameFileIdentity, t as resolveOpenClawPackageRoot } from "./openclaw-root-DW-p-saf.js";
6
+ import { a as openBoundaryFileSync, d as isNotFoundPathError, i as openBoundaryFile, m as matchesSkillFilter, o as openVerifiedFileSync, s as sameFileIdentity, t as resolveOpenClawPackageRoot } from "./openclaw-root-Cw_9FXUV.js";
7
7
  import { i as logDebug, n as runExec, s as logWarn, t as runCommandWithTimeout } from "./exec-BhaMholX.js";
8
8
  import "./github-copilot-token-DKRiM6oj.js";
9
9
  import "./host-env-security-BM8ktVlo.js";
10
10
  import { n as resolveRuntimeServiceVersion, t as VERSION } from "./version-CFqP9tDG.js";
11
11
  import "./env-vars-kURZgejA.js";
12
- import { l as isTestDefaultMemorySlotDisabled } from "./manifest-registry-YC37UceR.js";
13
- import "./dock-BYLdmpt5.js";
14
- import "./model-2aL8NZKc.js";
15
- import "./pi-model-discovery-BvGj4Ik8.js";
12
+ import { l as isTestDefaultMemorySlotDisabled } from "./manifest-registry-DRMtnPEQ.js";
13
+ import "./dock-SjEhga7i.js";
14
+ import "./model-AKh96s7h.js";
15
+ import "./pi-model-discovery-iNwnGd3m.js";
16
16
  import { d as hasBinary } from "./frontmatter-CA3PbX1f.js";
17
- import { i as loadWorkspaceSkillEntries, r as buildWorkspaceSkillSnapshot } from "./skills-DjfCNN-j.js";
18
- import { n as assertNoPathAliasEscape } from "./path-alias-guards-z2hGNiIs.js";
19
- import { t as buildWorkspaceSkillStatus } from "./skills-status-DZfbtXdy.js";
17
+ import { i as loadWorkspaceSkillEntries, r as buildWorkspaceSkillSnapshot } from "./skills-BkqPPXlw.js";
18
+ import { n as assertNoPathAliasEscape } from "./path-alias-guards-DEakBSGU.js";
19
+ import { t as buildWorkspaceSkillStatus } from "./skills-status--02_4mXJ.js";
20
20
  import { _ as normalizeGatewayClientMode, f as GATEWAY_CLIENT_CAPS, g as hasGatewayClientCap, h as GATEWAY_CLIENT_NAMES, i as isGatewayMessageChannel, l as normalizeMessageChannel, m as GATEWAY_CLIENT_MODES, n as isDeliverableMessageChannel, p as GATEWAY_CLIENT_IDS, r as isGatewayCliClient, s as isWebchatClient, t as INTERNAL_MESSAGE_CHANNEL } from "./message-channel-CIQTys4Q.js";
21
- import { $ as resolveAgentMainSessionKey, A as readSessionMessages, B as cleanStaleLockFiles, D as archiveSessionTranscripts, E as archiveFileOnDisk, F as stripEnvelopeFromMessages, G as resolveSessionResetPolicy, L as stripInlineDirectiveTagsForDisplay, N as resolveSessionTranscriptCandidates, O as capArrayByJsonBytes, P as stripEnvelopeFromMessage, Q as canonicalizeMainSessionAlias, R as stripInlineDirectiveTagsFromMessageForDisplay, S as mergeDeliveryContext, U as evaluateSessionFreshness, Y as mergeSessionEntry, Z as setSessionRuntimeModel, b as deliveryContextFromSession, c as loadSessionStore, et as resolveExplicitAgentSessionKey, h as updateSessionStore, it as snapshotSessionOrigin, j as readSessionPreviewItemsFromTranscript, k as cleanupArchivedSessionTranscripts, n as extractDeliveryInfo, nt as resolveMainSessionKeyFromConfig, r as parseSessionThreadInfo, tt as resolveMainSessionKey, w as normalizeSessionDeliveryFields } from "./sessions-IKxRT_G9.js";
22
- import { n as listChannelPlugins, o as normalizeWhatsAppTarget, r as normalizeChannelId, t as getChannelPlugin } from "./plugins-CiBXm-v1.js";
23
- import { i as resolveWhatsAppAccount } from "./accounts-9Q07LhiR.js";
24
- import "./accounts-UyfWuXKC.js";
25
- import "./accounts-DmPvlCpt.js";
26
- import { t as buildChannelAccountBindings } from "./bindings-vuIL-APZ.js";
21
+ import { $ as resolveAgentMainSessionKey, A as readSessionMessages, B as cleanStaleLockFiles, D as archiveSessionTranscripts, E as archiveFileOnDisk, F as stripEnvelopeFromMessages, G as resolveSessionResetPolicy, L as stripInlineDirectiveTagsForDisplay, N as resolveSessionTranscriptCandidates, O as capArrayByJsonBytes, P as stripEnvelopeFromMessage, Q as canonicalizeMainSessionAlias, R as stripInlineDirectiveTagsFromMessageForDisplay, S as mergeDeliveryContext, U as evaluateSessionFreshness, Y as mergeSessionEntry, Z as setSessionRuntimeModel, b as deliveryContextFromSession, c as loadSessionStore, et as resolveExplicitAgentSessionKey, h as updateSessionStore, it as snapshotSessionOrigin, j as readSessionPreviewItemsFromTranscript, k as cleanupArchivedSessionTranscripts, n as extractDeliveryInfo, nt as resolveMainSessionKeyFromConfig, r as parseSessionThreadInfo, tt as resolveMainSessionKey, w as normalizeSessionDeliveryFields } from "./sessions-aGmwHv0g.js";
22
+ import { n as listChannelPlugins, o as normalizeWhatsAppTarget, r as normalizeChannelId, t as getChannelPlugin } from "./plugins-Cb8JznN4.js";
23
+ import { i as resolveWhatsAppAccount } from "./accounts-Bj4Z7jBB.js";
24
+ import "./accounts-Bgjrmxdu.js";
25
+ import "./accounts-1yld8BY0.js";
26
+ import { t as buildChannelAccountBindings } from "./bindings-CWyuSfs6.js";
27
27
  import "./logging-CFvkxgcX.js";
28
- import "./send-OJbtfeWf.js";
29
- import "./send-DY7qzDta.js";
30
- import { $ as dispatchInboundMessage, $n as isAbortRequestText, $t as persistBrowserProxyFiles, A as resolveAgentOutboundTarget, An as enqueueSystemEvent, At as summarizeRestartSentinel, Bn as DEFAULT_INPUT_IMAGE_MAX_BYTES, Bt as normalizePayloadToSystemText, C as requestBodyErrorToText, Cr as markGatewayDraining, D as agentCommand, Dr as CommandLane, Dt as formatDoctorNonInteractiveHint, Er as waitForActiveTasks, Et as consumeRestartSentinel, Fr as getAgentRunContext, Ft as normalizeCronJobPatch, Gn as extractImageContentFromSource, Gt as stripLegacyDeliveryFields, Hn as DEFAULT_INPUT_MAX_REDIRECTS, Ht as migrateLegacyCronPayload, Ir as onAgentEvent, It as inferLegacyName, Jn as resolveAgentTimeoutMs, Jt as buildSafeExternalPrompt, Kn as normalizeMimeList, Lr as registerAgentRunContext, Lt as normalizeOptionalAgentId, M as createDefaultDeps, Mr as stripHeartbeatToken, Mt as writeRestartSentinel, N as createOutboundSendDeps$1, Nr as clearAgentRunContext, Nt as normalizeHttpWebhookUrl, Or as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, Ot as formatRestartSentinelMessage, P as resolveAgentAvatar, Pn as requestHeartbeatNow, Pr as emitAgentEvent, Pt as normalizeCronJobCreate, Qt as applyBrowserProxyPaths, Rt as normalizeOptionalSessionKey, S as readJsonBodyWithLimit, Sr as getTotalQueueSize, St as resetDirectoryCache, T as sleepWithAbort, Tn as formatZonedTimestamp, Tr as setCommandLaneConcurrency, Un as DEFAULT_INPUT_TIMEOUT_MS, Ut as buildDeliveryFromLegacyPayload, V as buildHistoryContextFromEntries, Vn as DEFAULT_INPUT_IMAGE_MIMES, Vt as normalizeRequiredName, Wn as extractFileContentFromSource, Wt as hasLegacyDeliveryHints, Xn as resolveSendPolicy, Xt as getHookType, Yn as normalizeSendPolicy, Yt as detectSuspiciousPatterns, Zt as isExternalHookSession, _ as loadOpenClawPlugins, _n as unbindThreadBindingsBySessionKey, _r as textToSpeech, a as runSubagentAnnounceFlow, an as applyVerboseOverride, ar as resolveUserTimezone, bn as loadProviderUsageSummary, br as getActiveTaskCount, bt as resolveOutboundChannelPlugin, c as abortEmbeddedPiRun, cn as consumeGatewaySigusr1RestartAuthorization, cr as isTtsEnabled, ct as setCliSessionId, d as applyToolPolicyPipeline, dn as isGatewaySigusr1RestartExternallyAllowed, dr as resolveTtsAutoMode, dt as readLatestAssistantReply, en as resolveSessionAuthProfileOverride, er as stopSubagentsForRequester, et as createReplyDispatcher, f as buildDefaultToolPolicyPipelineSteps, fn as markGatewaySigusr1RestartHandled, fr as resolveTtsConfig, ft as resolveAnnounceTargetFromKey, gn as triggerOpenClawRestart, gr as setTtsProvider, h as resolvePluginTools, hn as setPreRestartDeferralCheck, hr as setTtsEnabled, ht as resolveOutboundSessionRoute, in as applyModelOverrideToSessionEntry, ir as resolveAgentSessionDirs, it as BARE_SESSION_RESET_PROMPT, j as createOutboundSendDeps, jn as isSystemEventContextChanged, k as resolveAgentDeliveryPlan, l as getActiveEmbeddedRunCount, ln as deferGatewayRestartUntilIdle, lr as isTtsProviderConfigured, lt as runCliAgent, m as getPluginToolMeta, mn as setGatewaySigusr1RestartPolicy, mr as resolveTtsProviderOrder, mt as ensureOutboundSessionEntry, n as initSubagentRegistry, o as clearSessionQueues, on as parseVerboseOverride, or as clearBootstrapSnapshot, ot as resolveCronStyleNow, pn as scheduleGatewaySigusr1Restart, pr as resolveTtsPrefsPath, qn as resolveInputFileLimits, r as listDescendantRunsForRequester, rr as getAcpSessionManager, s as runEmbeddedPiAgent, sn as buildOutboundSessionContext, sr as getTtsProvider, st as getCliSessionId, t as countActiveDescendantRuns, tt as getTotalPendingReplies, u as waitForEmbeddedPiRunEnd, un as emitGatewayRestart, ur as resolveTtsApiKey, ut as createOpenClawTools, vn as normalizeGroupActivation, vr as OPENAI_TTS_MODELS, vt as resolveOutboundTarget, w as computeBackoff, wr as resetAllLanes, wt as runWithModelFallback, x as handleSlackHttpRequest, y as resolveAgentOutboundIdentity, yr as OPENAI_TTS_VOICES, yt as resolveSessionDeliveryTarget, zn as ACP_SESSION_IDENTITY_RENDERER_VERSION, zt as normalizeOptionalText } from "./subagent-registry-CY8NG6Io.js";
28
+ import "./send-zp5AuaHE.js";
29
+ import "./send-snKm1H4E.js";
30
+ import { $ as dispatchInboundMessage, $n as isAbortRequestText, $t as persistBrowserProxyFiles, A as resolveAgentOutboundTarget, An as enqueueSystemEvent, At as summarizeRestartSentinel, Bn as DEFAULT_INPUT_IMAGE_MAX_BYTES, Bt as normalizePayloadToSystemText, C as requestBodyErrorToText, Cr as markGatewayDraining, D as agentCommand, Dr as CommandLane, Dt as formatDoctorNonInteractiveHint, Er as waitForActiveTasks, Et as consumeRestartSentinel, Fr as getAgentRunContext, Ft as normalizeCronJobPatch, Gn as extractImageContentFromSource, Gt as stripLegacyDeliveryFields, Hn as DEFAULT_INPUT_MAX_REDIRECTS, Ht as migrateLegacyCronPayload, Ir as onAgentEvent, It as inferLegacyName, Jn as resolveAgentTimeoutMs, Jt as buildSafeExternalPrompt, Kn as normalizeMimeList, Lr as registerAgentRunContext, Lt as normalizeOptionalAgentId, M as createDefaultDeps, Mr as stripHeartbeatToken, Mt as writeRestartSentinel, N as createOutboundSendDeps$1, Nr as clearAgentRunContext, Nt as normalizeHttpWebhookUrl, Or as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, Ot as formatRestartSentinelMessage, P as resolveAgentAvatar, Pn as requestHeartbeatNow, Pr as emitAgentEvent, Pt as normalizeCronJobCreate, Qt as applyBrowserProxyPaths, Rt as normalizeOptionalSessionKey, S as readJsonBodyWithLimit, Sr as getTotalQueueSize, St as resetDirectoryCache, T as sleepWithAbort, Tn as formatZonedTimestamp, Tr as setCommandLaneConcurrency, Un as DEFAULT_INPUT_TIMEOUT_MS, Ut as buildDeliveryFromLegacyPayload, V as buildHistoryContextFromEntries, Vn as DEFAULT_INPUT_IMAGE_MIMES, Vt as normalizeRequiredName, Wn as extractFileContentFromSource, Wt as hasLegacyDeliveryHints, Xn as resolveSendPolicy, Xt as getHookType, Yn as normalizeSendPolicy, Yt as detectSuspiciousPatterns, Zt as isExternalHookSession, _ as loadOpenClawPlugins, _n as unbindThreadBindingsBySessionKey, _r as textToSpeech, a as runSubagentAnnounceFlow, an as applyVerboseOverride, ar as resolveUserTimezone, bn as loadProviderUsageSummary, br as getActiveTaskCount, bt as resolveOutboundChannelPlugin, c as abortEmbeddedPiRun, cn as consumeGatewaySigusr1RestartAuthorization, cr as isTtsEnabled, ct as setCliSessionId, d as applyToolPolicyPipeline, dn as isGatewaySigusr1RestartExternallyAllowed, dr as resolveTtsAutoMode, dt as readLatestAssistantReply, en as resolveSessionAuthProfileOverride, er as stopSubagentsForRequester, et as createReplyDispatcher, f as buildDefaultToolPolicyPipelineSteps, fn as markGatewaySigusr1RestartHandled, fr as resolveTtsConfig, ft as resolveAnnounceTargetFromKey, gn as triggerOpenClawRestart, gr as setTtsProvider, h as resolvePluginTools, hn as setPreRestartDeferralCheck, hr as setTtsEnabled, ht as resolveOutboundSessionRoute, in as applyModelOverrideToSessionEntry, ir as resolveAgentSessionDirs, it as BARE_SESSION_RESET_PROMPT, j as createOutboundSendDeps, jn as isSystemEventContextChanged, k as resolveAgentDeliveryPlan, l as getActiveEmbeddedRunCount, ln as deferGatewayRestartUntilIdle, lr as isTtsProviderConfigured, lt as runCliAgent, m as getPluginToolMeta, mn as setGatewaySigusr1RestartPolicy, mr as resolveTtsProviderOrder, mt as ensureOutboundSessionEntry, n as initSubagentRegistry, o as clearSessionQueues, on as parseVerboseOverride, or as clearBootstrapSnapshot, ot as resolveCronStyleNow, pn as scheduleGatewaySigusr1Restart, pr as resolveTtsPrefsPath, qn as resolveInputFileLimits, r as listDescendantRunsForRequester, rr as getAcpSessionManager, s as runEmbeddedPiAgent, sn as buildOutboundSessionContext, sr as getTtsProvider, st as getCliSessionId, t as countActiveDescendantRuns, tt as getTotalPendingReplies, u as waitForEmbeddedPiRunEnd, un as emitGatewayRestart, ur as resolveTtsApiKey, ut as createOpenClawTools, vn as normalizeGroupActivation, vr as OPENAI_TTS_MODELS, vt as resolveOutboundTarget, w as computeBackoff, wr as resetAllLanes, wt as runWithModelFallback, x as handleSlackHttpRequest, y as resolveAgentOutboundIdentity, yr as OPENAI_TTS_VOICES, yt as resolveSessionDeliveryTarget, zn as ACP_SESSION_IDENTITY_RENDERER_VERSION, zt as normalizeOptionalText } from "./subagent-registry-CrbLe3Kg.js";
31
31
  import { a as resolveSessionTranscriptPath, c as resolveSessionTranscriptsDirForAgent, i as resolveSessionFilePathOptions, l as resolveStorePath, r as resolveSessionFilePath } from "./paths-4nKmwJd-.js";
32
32
  import { i as normalizeInputProvenance } from "./input-provenance-C6EIah7A.js";
33
33
  import "./chat-envelope-BHg8VU61.js";
34
- import { $ as validateNodePairRejectParams, $t as deriveDeviceIdFromPublicKey, A as validateCronStatusParams, At as PROTOCOL_VERSION, B as validateExecApprovalsGetParams, Bt as ensureDeviceToken, C as validateConfigSetParams, Ct as validateWakeParams, D as validateCronRemoveParams, Dt as validateWizardNextParams, E as validateCronListParams, Et as validateWizardCancelParams, F as validateDevicePairRemoveParams, Ft as buildDeviceAuthPayload, G as validateModelsListParams, Gt as requestDevicePairing, H as validateExecApprovalsNodeSetParams, Ht as listDevicePairing, I as validateDeviceTokenRevokeParams, It as buildDeviceAuthPayloadV3, J as validateNodeInvokeParams, Jt as summarizeDeviceTokens, K as validateNodeDescribeParams, Kt as revokeDeviceToken, L as validateDeviceTokenRotateParams, Lt as normalizeDeviceMetadataForAuth, M as validateDevicePairApproveParams, Mt as errorShape, N as validateDevicePairListParams, O as validateCronRunParams, Ot as validateWizardStartParams, P as validateDevicePairRejectParams, Pt as parseSessionLabel, Q as validateNodePairListParams, R as validateExecApprovalRequestParams, S as validateConfigSchemaParams, St as validateUpdateRunParams, T as validateCronAddParams, Tt as validateWebLoginWaitParams, U as validateExecApprovalsSetParams, Ut as rejectDevicePairing, V as validateExecApprovalsNodeGetParams, Vt as getPairedDevice, W as validateLogsTailParams, Wt as removePairedDevice, X as validateNodeListParams, Xt as verifyDeviceToken, Y as validateNodeInvokeResultParams, Yt as updatePairedDeviceMetadata, Z as validateNodePairApproveParams, Zt as roleScopesAllow, _ as validateChatInjectParams, _t as validateSkillsStatusParams, a as validateAgentWaitParams, at as validateRequestFrame, b as validateConfigGetParams, bt as validateTalkModeParams, c as validateAgentsFilesGetParams, ct as validateSessionsDeleteParams, d as validateAgentsListParams, dt as validateSessionsPreviewParams, et as validateNodePairRequestParams, f as validateAgentsUpdateParams, ft as validateSessionsResetParams, g as validateChatHistoryParams, gt as validateSkillsInstallParams, h as validateChatAbortParams, ht as validateSkillsBinsParams, i as validateAgentParams, it as validatePushTestParams, j as validateCronUpdateParams, jt as ErrorCodes, k as validateCronRunsParams, kt as validateWizardStatusParams, l as validateAgentsFilesListParams, lt as validateSessionsListParams, m as validateChannelsStatusParams, mt as validateSessionsUsageParams, n as formatValidationErrors, nn as verifyDeviceSignature, nt as validateNodeRenameParams, o as validateAgentsCreateParams, ot as validateSendParams, p as validateChannelsLogoutParams, pt as validateSessionsResolveParams, q as validateNodeEventParams, qt as rotateDeviceToken, r as validateAgentIdentityParams, rt as validatePollParams, s as validateAgentsDeleteParams, st as validateSessionsCompactParams, tn as normalizeDevicePublicKeyBase64Url, tt as validateNodePairVerifyParams, u as validateAgentsFilesSetParams, ut as validateSessionsPatchParams, v as validateChatSendParams, vt as validateSkillsUpdateParams, w as validateConnectParams, wt as validateWebLoginStartParams, x as validateConfigPatchParams, xt as validateToolsCatalogParams, y as validateConfigApplyParams, yt as validateTalkConfigParams, z as validateExecApprovalResolveParams, zt as approveDevicePairing } from "./client-BBiFerkj.js";
35
- import { f as loadGatewayTlsRuntime$1, l as authorizeOperatorScopesForMethod, n as callGateway, s as ADMIN_SCOPE$3, u as isNodeRoleMethod } from "./call-C-oZgsJl.js";
36
- import { c as readJsonFile, l as writeJsonAtomic, s as createAsyncLock } from "./pairing-token-PHk3tBUz.js";
34
+ import { $ as validateNodePairRejectParams, $t as deriveDeviceIdFromPublicKey, A as validateCronStatusParams, At as PROTOCOL_VERSION, B as validateExecApprovalsGetParams, Bt as ensureDeviceToken, C as validateConfigSetParams, Ct as validateWakeParams, D as validateCronRemoveParams, Dt as validateWizardNextParams, E as validateCronListParams, Et as validateWizardCancelParams, F as validateDevicePairRemoveParams, Ft as buildDeviceAuthPayload, G as validateModelsListParams, Gt as requestDevicePairing, H as validateExecApprovalsNodeSetParams, Ht as listDevicePairing, I as validateDeviceTokenRevokeParams, It as buildDeviceAuthPayloadV3, J as validateNodeInvokeParams, Jt as summarizeDeviceTokens, K as validateNodeDescribeParams, Kt as revokeDeviceToken, L as validateDeviceTokenRotateParams, Lt as normalizeDeviceMetadataForAuth, M as validateDevicePairApproveParams, Mt as errorShape, N as validateDevicePairListParams, O as validateCronRunParams, Ot as validateWizardStartParams, P as validateDevicePairRejectParams, Pt as parseSessionLabel, Q as validateNodePairListParams, R as validateExecApprovalRequestParams, S as validateConfigSchemaParams, St as validateUpdateRunParams, T as validateCronAddParams, Tt as validateWebLoginWaitParams, U as validateExecApprovalsSetParams, Ut as rejectDevicePairing, V as validateExecApprovalsNodeGetParams, Vt as getPairedDevice, W as validateLogsTailParams, Wt as removePairedDevice, X as validateNodeListParams, Xt as verifyDeviceToken, Y as validateNodeInvokeResultParams, Yt as updatePairedDeviceMetadata, Z as validateNodePairApproveParams, Zt as roleScopesAllow, _ as validateChatInjectParams, _t as validateSkillsStatusParams, a as validateAgentWaitParams, at as validateRequestFrame, b as validateConfigGetParams, bt as validateTalkModeParams, c as validateAgentsFilesGetParams, ct as validateSessionsDeleteParams, d as validateAgentsListParams, dt as validateSessionsPreviewParams, et as validateNodePairRequestParams, f as validateAgentsUpdateParams, ft as validateSessionsResetParams, g as validateChatHistoryParams, gt as validateSkillsInstallParams, h as validateChatAbortParams, ht as validateSkillsBinsParams, i as validateAgentParams, it as validatePushTestParams, j as validateCronUpdateParams, jt as ErrorCodes, k as validateCronRunsParams, kt as validateWizardStatusParams, l as validateAgentsFilesListParams, lt as validateSessionsListParams, m as validateChannelsStatusParams, mt as validateSessionsUsageParams, n as formatValidationErrors, nn as verifyDeviceSignature, nt as validateNodeRenameParams, o as validateAgentsCreateParams, ot as validateSendParams, p as validateChannelsLogoutParams, pt as validateSessionsResolveParams, q as validateNodeEventParams, qt as rotateDeviceToken, r as validateAgentIdentityParams, rt as validatePollParams, s as validateAgentsDeleteParams, st as validateSessionsCompactParams, tn as normalizeDevicePublicKeyBase64Url, tt as validateNodePairVerifyParams, u as validateAgentsFilesSetParams, ut as validateSessionsPatchParams, v as validateChatSendParams, vt as validateSkillsUpdateParams, w as validateConnectParams, wt as validateWebLoginStartParams, x as validateConfigPatchParams, xt as validateToolsCatalogParams, y as validateConfigApplyParams, yt as validateTalkConfigParams, z as validateExecApprovalResolveParams, zt as approveDevicePairing } from "./client-CdetOJti.js";
35
+ import { f as loadGatewayTlsRuntime$1, l as authorizeOperatorScopesForMethod, n as callGateway, s as ADMIN_SCOPE$3, u as isNodeRoleMethod } from "./call-BZSWeS2x.js";
36
+ import { c as readJsonFile, l as writeJsonAtomic, s as createAsyncLock } from "./pairing-token-CtND5y_8.js";
37
37
  import { t as safeEqualSecret } from "./secret-equal-DRMKpDYs.js";
38
- import { a as isTrustedProxyAddress, c as pickPrimaryLanIPv4, d as resolveGatewayListenHosts, f as resolveHostName, l as resolveClientIp, n as isLoopbackAddress, o as isValidIPv4, p as rawDataToString, r as isLoopbackHost, s as normalizeHostHeader, t as isLocalishHost, u as resolveGatewayBindHost } from "./net-CWUwrVfz.js";
39
- import { n as pickPrimaryTailnetIPv4, r as pickPrimaryTailnetIPv6 } from "./tailnet-D3oqrI3q.js";
38
+ import { a as isTrustedProxyAddress, c as pickPrimaryLanIPv4, d as resolveGatewayListenHosts, f as resolveHostName, l as resolveClientIp, n as isLoopbackAddress, o as isValidIPv4, p as rawDataToString, r as isLoopbackHost, s as normalizeHostHeader, t as isLocalishHost, u as resolveGatewayBindHost } from "./net-C63UEjlQ.js";
39
+ import { n as pickPrimaryTailnetIPv4, r as pickPrimaryTailnetIPv6 } from "./tailnet-DRVktntg.js";
40
40
  import { i as isSilentReplyText, n as SILENT_REPLY_TOKEN } from "./tokens-DytUXmpb.js";
41
- import { a as getMachineDisplayName, i as startBrowserControlServiceFromConfig, n as createBrowserRouteDispatcher, r as createBrowserControlContext } from "./with-timeout-DOYJYBpu.js";
42
- import { S as getGlobalHookRunner, o as normalizeReplyPayloadsForDelivery, t as deliverOutboundPayloads, w as runGlobalGatewayStopSafely } from "./deliver-B7mNw8Vu.js";
43
- import { d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, m as isDiagnosticsEnabled } from "./diagnostic-CJIq8gp_.js";
41
+ import { a as getMachineDisplayName, i as startBrowserControlServiceFromConfig, n as createBrowserRouteDispatcher, r as createBrowserControlContext } from "./with-timeout-ChQUbgyO.js";
42
+ import { S as getGlobalHookRunner, o as normalizeReplyPayloadsForDelivery, t as deliverOutboundPayloads, w as runGlobalGatewayStopSafely } from "./deliver-CZEKwM5v.js";
43
+ import { d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, m as isDiagnosticsEnabled } from "./diagnostic-Bc4KUKvc.js";
44
44
  import "./diagnostic-session-state-Cw3EMvZy.js";
45
- import { d as loadCronStore, f as resolveCronStorePath, p as saveCronStore } from "./send-sEXu0p87.js";
46
- import { c as detectMime } from "./image-ops-toDXWGMw.js";
47
- import "./pi-embedded-helpers-BUce0Iqb.js";
48
- import { C as resolveToolProfilePolicy, _ as collectExplicitAllowlist, y as mergeAlsoAllowPolicy } from "./sandbox-B-wAH3en.js";
45
+ import { d as loadCronStore, f as resolveCronStorePath, p as saveCronStore } from "./send-CVj6uOGI.js";
46
+ import { c as detectMime } from "./image-ops-Z3_QkQPj.js";
47
+ import "./pi-embedded-helpers-BYXUXgYn.js";
48
+ import { C as resolveToolProfilePolicy, _ as collectExplicitAllowlist, y as mergeAlsoAllowPolicy } from "./sandbox-BCxHjLQS.js";
49
49
  import { i as listCoreToolSections, n as PROFILE_OPTIONS, o as resolveCoreToolProfiles } from "./tool-catalog-DABanDxl.js";
50
- import "./chrome-BO_XI6hR.js";
50
+ import "./chrome-CmcvtOeC.js";
51
51
  import { i as enableTailscaleServe, n as disableTailscaleServe, o as getTailnetHostname, r as enableTailscaleFunnel, t as disableTailscaleFunnel } from "./tailscale-Cz0j5H8x.js";
52
- import { a as resolveGatewayAuth, c as AUTH_RATE_LIMIT_SCOPE_SHARED_SECRET, i as isLocalDirectRequest, l as createAuthRateLimiter, n as authorizeHttpGatewayConnect, o as AUTH_RATE_LIMIT_SCOPE_DEVICE_TOKEN, r as authorizeWsControlUiGatewayConnect, s as AUTH_RATE_LIMIT_SCOPE_HOOK_AUTH, t as assertGatewayAuthConfigured, u as normalizeRateLimitClientIp } from "./auth-DHBdjHjv.js";
53
- import { c as ensureGatewayStartupAuth, l as mergeGatewayTailscaleConfig } from "./server-context-YevsHXaf.js";
54
- import "./paths-rIq72jC_.js";
52
+ import { a as resolveGatewayAuth, c as AUTH_RATE_LIMIT_SCOPE_SHARED_SECRET, i as isLocalDirectRequest, l as createAuthRateLimiter, n as authorizeHttpGatewayConnect, o as AUTH_RATE_LIMIT_SCOPE_DEVICE_TOKEN, r as authorizeWsControlUiGatewayConnect, s as AUTH_RATE_LIMIT_SCOPE_HOOK_AUTH, t as assertGatewayAuthConfigured, u as normalizeRateLimitClientIp } from "./auth-D3lXwd01.js";
53
+ import { c as ensureGatewayStartupAuth, l as mergeGatewayTailscaleConfig } from "./server-context-RDkXuB9P.js";
54
+ import "./paths-BVyklYXR.js";
55
55
  import { i as compileSafeRegex } from "./redact-Dcypez3H.js";
56
56
  import { a as isErrno, n as formatErrorMessage } from "./errors-Cu3BYw29.js";
57
- import { a as readLocalFileSafely, o as writeFileWithinRoot, r as openFileWithinRoot, t as SafeOpenError } from "./fs-safe-Dr8G7a6P.js";
58
- import { t as SsrFBlockedError } from "./ssrf-6Hb9TNxM.js";
59
- import "./store-DVxkLZrN.js";
60
- import { n as inspectPortUsage, o as formatPortDiagnostics, t as ensurePortAvailable } from "./ports-Z6QFaVRW.js";
57
+ import { a as readLocalFileSafely, o as writeFileWithinRoot, r as openFileWithinRoot, t as SafeOpenError } from "./fs-safe-CCDIEBbt.js";
58
+ import { t as SsrFBlockedError } from "./ssrf-DQPhGAdC.js";
59
+ import "./store-BnsBHp0V.js";
60
+ import { n as inspectPortUsage, o as formatPortDiagnostics, t as ensurePortAvailable } from "./ports-4J8-_4SF.js";
61
61
  import { t as movePathToTrash } from "./trash-C8oZT55U.js";
62
- import "./server-middleware-DJQVLZmo.js";
63
- import "./tool-images-Bo0IcPMG.js";
62
+ import "./server-middleware-DSIQAJZd.js";
63
+ import "./tool-images-0PIXjd8w.js";
64
64
  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 } from "./thinking-DW6CKWyf.js";
65
- import "./models-config-1JCLlVs8.js";
66
- import "./exec-approvals-allowlist-CklJrJwI.js";
67
- import "./exec-safe-bin-runtime-policy-BCQlhcV7.js";
68
- import { a as resolveAgentIdentity, t as createReplyPrefixOptions } from "./reply-prefix-BLgL5eLu.js";
69
- import { i as resolveMemoryBackendConfig, r as getMemorySearchManager } from "./memory-cli-DPD3Jnkc.js";
70
- import { n as resolveMemorySearchConfig } from "./manager-SsdELHU2.js";
71
- import "./gemini-auth-DLd8nbvG.js";
72
- import { t as fetchWithSsrFGuard } from "./fetch-guard-qBXlHXD_.js";
73
- import "./query-expansion-B3FVYwN6.js";
65
+ import "./models-config-CGGxd1w2.js";
66
+ import "./exec-approvals-allowlist-CjjR0Lj9.js";
67
+ import "./exec-safe-bin-runtime-policy-BQ4FXdVM.js";
68
+ import { a as resolveAgentIdentity, t as createReplyPrefixOptions } from "./reply-prefix-Q23IMgrt.js";
69
+ import { i as resolveMemoryBackendConfig, r as getMemorySearchManager } from "./memory-cli-CdB1ptzd.js";
70
+ import { n as resolveMemorySearchConfig } from "./manager-DdwvQQ2A.js";
71
+ import "./gemini-auth-i82BVqPg.js";
72
+ import { t as fetchWithSsrFGuard } from "./fetch-guard-Cm1MSHHV.js";
73
+ import "./query-expansion-CwyL4z9j.js";
74
74
  import "./retry-DRMxSLyf.js";
75
- import { a as ToolInputError } from "./target-errors-yilhMKWi.js";
76
- import "./local-roots-iKHeLTM9.js";
75
+ import { a as ToolInputError } from "./target-errors-D4aLwsCU.js";
76
+ import "./local-roots-Cyat99dT.js";
77
77
  import "./chunk-C1ApS_WL.js";
78
- import "./markdown-tables-BvxYO6Nz.js";
79
- import "./ir-DYUcUO1t.js";
78
+ import "./markdown-tables-DhrZVWff.js";
79
+ import "./ir-Dhd5EWHO.js";
80
80
  import "./render-C1H8wE-4.js";
81
- import { r as isRestartEnabled } from "./commands-CPLAkZQx.js";
82
- import "./commands-registry-C9Mi0U--.js";
83
- import { S as extractTextFromChatContent } from "./image-QYMqJ_Cu.js";
81
+ import { r as isRestartEnabled } from "./commands-DvATdC6x.js";
82
+ import "./commands-registry-CxF5UuEv.js";
83
+ import { S as extractTextFromChatContent } from "./image-w5Vu5G__.js";
84
84
  import "./tool-display-DvjkoW7B.js";
85
- import { d as registerUnhandledRejectionHandler } from "./runner-DcvLsEbZ.js";
86
- import { n as loadModelCatalog } from "./model-catalog-BL39Jul_.js";
85
+ import { d as registerUnhandledRejectionHandler } from "./runner-C9RTcw_0.js";
86
+ import { n as loadModelCatalog } from "./model-catalog-el1FVV5q.js";
87
87
  import "./fetch-CgA7FwwB.js";
88
- import { a as readChannelAllowFromStoreSync } from "./pairing-store-_x0NQEfq.js";
88
+ import { a as readChannelAllowFromStoreSync } from "./pairing-store-C49WkfCi.js";
89
89
  import { a as mergeExecApprovalsSocketDefaults, c as readExecApprovalsSnapshot, p as saveExecApprovals, r as ensureExecApprovals, s as normalizeExecApprovals, t as DEFAULT_EXEC_APPROVAL_TIMEOUT_MS } from "./exec-approvals-DJC4eXS0.js";
90
- import { _ as matchSystemRunApprovalBinding, g as buildSystemRunApprovalBinding, h as resolveSystemRunApprovalRuntimeContext, m as resolveSystemRunApprovalRequestContext, v as missingSystemRunApprovalBinding, y as toSystemRunApprovalMismatchError } from "./nodes-screen-BV63eC7o.js";
91
- import { n as resolveSystemRunCommand } from "./system-run-command-h3aZvaIL.js";
92
- import { a as loadCombinedSessionStoreForGateway, c as resolveGatewaySessionStoreTarget, i as listSessionsFromStore, l as resolveSessionModelRef, o as loadSessionEntry, r as listAgentsForGateway, s as pruneLegacyStoreKeys, t as canonicalizeSpawnedByForAgent, u as lookupContextTokens } from "./session-utils-Bt_Cx0zH.js";
90
+ import { _ as matchSystemRunApprovalBinding, g as buildSystemRunApprovalBinding, h as resolveSystemRunApprovalRuntimeContext, m as resolveSystemRunApprovalRequestContext, v as missingSystemRunApprovalBinding, y as toSystemRunApprovalMismatchError } from "./nodes-screen-CHgcakcH.js";
91
+ import { n as resolveSystemRunCommand } from "./system-run-command-BD_JuCLP.js";
92
+ import { a as loadCombinedSessionStoreForGateway, c as resolveGatewaySessionStoreTarget, i as listSessionsFromStore, l as resolveSessionModelRef, o as loadSessionEntry, r as listAgentsForGateway, s as pruneLegacyStoreKeys, t as canonicalizeSpawnedByForAgent, u as lookupContextTokens } from "./session-utils-dd1SrJKT.js";
93
93
  import { c as hasNonzeroUsage, i as loadSessionUsageTimeSeries, n as loadCostUsageSummary, r as loadSessionCostSummary, s as deriveSessionTotalTokens, t as discoverAllSessions } from "./session-cost-usage-D-OIYYal.js";
94
94
  import { n as formatTokenCount, r as formatUsd } from "./usage-format-CD4HobuY.js";
95
- import { S as registerSkillsChangeListener, _ as requestNodePairing, c as recordRemoteNodeInfo, d as removeRemoteNodeInfo, f as setSkillsRemoteRegistry, g as renamePairedNode, h as rejectNodePairing, l as refreshRemoteBinsForConnectedNodes, m as listNodePairing, o as getRemoteSkillEligibility, p as approveNodePairing, s as primeRemoteSkillsCache, u as refreshRemoteNodeBins, v as updatePairedNodeMetadata, x as getSkillsSnapshotVersion, y as verifyNodeToken } from "./skill-commands-KdMeqg8g.js";
96
- import { t as listAgentWorkspaceDirs } from "./workspace-dirs-BC9tU92n.js";
95
+ import { S as registerSkillsChangeListener, _ as requestNodePairing, c as recordRemoteNodeInfo, d as removeRemoteNodeInfo, f as setSkillsRemoteRegistry, g as renamePairedNode, h as rejectNodePairing, l as refreshRemoteBinsForConnectedNodes, m as listNodePairing, o as getRemoteSkillEligibility, p as approveNodePairing, s as primeRemoteSkillsCache, u as refreshRemoteNodeBins, v as updatePairedNodeMetadata, x as getSkillsSnapshotVersion, y as verifyNodeToken } from "./skill-commands-B4-CgHlk.js";
96
+ import { t as listAgentWorkspaceDirs } from "./workspace-dirs-Mb8gX4pT.js";
97
97
  import { t as getChannelActivity } from "./channel-activity-CmnAG-Z9.js";
98
98
  import { n as normalizePollInput } from "./polls-CzQVxIg5.js";
99
- import "./tables-CsW7naec.js";
100
- import "./server-lifecycle-BVWplIzw.js";
99
+ import "./tables-CuPXwWh2.js";
100
+ import "./server-lifecycle-CQk8mryT.js";
101
101
  import { i as parseAbsoluteTimeMs, n as resolveCronStaggerMs, r as resolveDefaultCronStaggerMs, t as normalizeCronStaggerMs } from "./stagger-wClkZ9EC.js";
102
- import { n as resolveMessageChannelSelection } from "./channel-selection-D7I4uyOc.js";
103
- import { i as buildChannelUiCatalog, t as applyPluginAutoEnable } from "./plugin-auto-enable-B2Kx-xH3.js";
104
- import "./send-CgATYx8D.js";
105
- import "./outbound-attachment-Bi7QWVn5.js";
102
+ import { n as resolveMessageChannelSelection } from "./channel-selection-DYEAZFR_.js";
103
+ import { i as buildChannelUiCatalog, t as applyPluginAutoEnable } from "./plugin-auto-enable-gT66Wggm.js";
104
+ import "./send-DE17gd7F.js";
105
+ import "./outbound-attachment-DmkmJ2Lc.js";
106
106
  import "./delivery-queue-CpA_Z7vE.js";
107
- import "./send-DZ9JXWaZ.js";
108
- import "./resolve-route-B0u78v_W.js";
109
- import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, r as resolveEffectiveToolPolicy } from "./pi-tools.policy-oE4ZdHFF.js";
107
+ import "./send-oJraTp-6.js";
108
+ import "./resolve-route-DvJmdJ7B.js";
109
+ import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, r as resolveEffectiveToolPolicy } from "./pi-tools.policy-B5HqMPIq.js";
110
110
  import "./proxy-C-FYeH9g.js";
111
111
  import { t as formatDocsLink } from "./links-yQMT2QcX.js";
112
112
  import { n as runCommandWithRuntime } from "./cli-utils-CKDCmKAq.js";
113
113
  import { t as formatHelpExamples } from "./help-format-Du-bXlH0.js";
114
114
  import { n as withProgress } from "./progress-bvyZjsUc.js";
115
- import "./replies-COLVQezU.js";
116
- import { C as normalizeControlUiBasePath, S as buildControlUiAvatarUrl, c as handleReset, w as resolveAssistantAvatarUrl, x as CONTROL_UI_AVATAR_PREFIX } from "./onboard-helpers-BnUKgDFe.js";
115
+ import "./replies-BAqKfdVk.js";
116
+ import { C as normalizeControlUiBasePath, S as buildControlUiAvatarUrl, c as handleReset, w as resolveAssistantAvatarUrl, x as CONTROL_UI_AVATAR_PREFIX } from "./onboard-helpers-CzMlu78H.js";
117
117
  import "./prompt-style-wsroINzm.js";
118
- import "./pairing-labels-rAuS5aeV.js";
118
+ import "./pairing-labels-ZYWr_HV3.js";
119
119
  import { i as onHeartbeatEvent, r as getLastHeartbeatEvent, t as resolveHeartbeatVisibility } from "./heartbeat-visibility-CyUGZxub.js";
120
120
  import { t as ensureOpenClawCliOnPath } from "./path-env-B8mwPGBj.js";
121
121
  import { n as DEFAULT_GATEWAY_HTTP_TOOL_DENY } from "./dangerous-tools-D2c4akyc.js";
122
122
  import { n as inheritOptionFromParent } from "./command-options-BtDai3oC.js";
123
123
  import { t as WizardCancelledError } from "./prompts-CfOu9uZi.js";
124
124
  import { t as resolveChannelDefaultAccountId } from "./helpers-BgzIw8DX.js";
125
- import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-FcpuK_oH.js";
126
- import { t as isWithinDir } from "./path-safety-DBBDWKy1.js";
127
- import "./install-safe-path-DXJW8Vo3.js";
128
- import "./skill-scanner-YaxFgz1o.js";
125
+ import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-bWKr_efI.js";
126
+ import { t as isWithinDir } from "./path-safety-DeVxBPre.js";
127
+ import "./install-safe-path-DGYbxO86.js";
128
+ import "./skill-scanner-DW9hSz_J.js";
129
129
  import { t as buildChannelAccountSnapshot } from "./status-BrV-afZE.js";
130
- import "./channels-status-issues-BDFtJFM3.js";
131
- import { a as buildBaseHints, i as applySensitiveHints, n as redactConfigSnapshot, o as mapSensitivePaths, r as restoreRedactedValues, s as applyDerivedTags, t as redactConfigObject } from "./redact-snapshot-zDjp0HRV.js";
132
- import "./daemon-install-helpers-2MdByqYP.js";
130
+ import "./channels-status-issues-BU67pzdy.js";
131
+ import { a as buildBaseHints, i as applySensitiveHints, n as redactConfigSnapshot, o as mapSensitivePaths, r as restoreRedactedValues, s as applyDerivedTags, t as redactConfigObject } from "./redact-snapshot-W7mO-kGu.js";
132
+ import "./daemon-install-helpers-BbDloeys.js";
133
133
  import "./runtime-guard-jjhyM3bE.js";
134
- import "./systemd-DpV5A3Tl.js";
135
- import "./service-oBfCq-qK.js";
136
- import "./lifecycle-core-CkOjXGl1.js";
137
- import "./systemd-hints-OqRJ_OnZ.js";
134
+ import "./systemd-B48mxZjg.js";
135
+ import "./service-B0CzjIz2.js";
136
+ import "./lifecycle-core-DrcOD7_e.js";
137
+ import "./systemd-hints-CupZgKik.js";
138
138
  import { t as parsePort$1 } from "./parse-port-DSCrRotM.js";
139
- import { n as addGatewayServiceCommands } from "./daemon-cli-YUZ4wWO5.js";
140
- import "./diagnostics-B_N_47d8.js";
139
+ import { n as addGatewayServiceCommands } from "./daemon-cli-CV7F4tGh.js";
140
+ import "./diagnostics-Cwm6yj6S.js";
141
141
  import "./table-D7QRfQ5S.js";
142
142
  import { n as resolveWideAreaDiscoveryDomain, r as writeWideAreaGatewayZone } from "./widearea-dns-Ah8QpopA.js";
143
- import { i as toOptionString, n as extractGatewayMiskeys, r as maybeExplainGatewayServiceStop, t as describeUnknownError } from "./shared-Q1aRCgme.js";
144
- import { a as isNodeCommandAllowed, n as collectEnabledInsecureOrDangerousFlags, o as resolveNodeCommandAllowlist, s as probeGateway } from "./audit-BNH972H2.js";
145
- import { t as discoverGatewayBeacons } from "./bonjour-discovery-BTitpiD_.js";
146
- import { i as pickGatewaySelfPresence, r as getStatusSummary } from "./status-CN8vEkdO.js";
147
- import { a as styleHealthChannelLine, c as setHeartbeatsEnabled, l as startHeartbeatRunner, n as getHealthSnapshot, s as runHeartbeatOnce, t as formatHealthChannelLines } from "./health-C2cEnW7K.js";
148
- import { a as resolveControlUiRootSync, i as resolveControlUiRootOverrideSync, t as ensureControlUiAssetsBuilt } from "./control-ui-assets-DwsjxukL.js";
149
- import { h as normalizeUpdateChannel, l as DEFAULT_PACKAGE_CHANNEL, n as checkUpdateStatus, o as resolveNpmChannelTag, r as compareSemverStrings } from "./channel-account-context-BJEFFNm5.js";
150
- import { i as prepareSecretsRuntimeSnapshot, n as clearSecretsRuntimeSnapshot, r as getActiveSecretsRuntimeSnapshot, t as activateSecretsRuntimeSnapshot } from "./runtime-x5BqK1kr.js";
151
- import { t as runOnboardingWizard } from "./onboarding-1PceVUnc.js";
152
- import { a as sendApnsAlert, c as parseMessageWithAttachments, d as shouldLogWs, f as summarizeAgentEventForWsLog, i as resolveApnsAuthConfigFromEnv, l as formatForLog, n as normalizeApnsEnvironment, o as sendApnsBackgroundWake, p as setGatewayWsLogStyle, s as normalizeRpcAttachmentsToChatAttachments, t as loadApnsRegistration, u as logWs } from "./push-apns-BsK6rZMS.js";
143
+ import { i as toOptionString, n as extractGatewayMiskeys, r as maybeExplainGatewayServiceStop, t as describeUnknownError } from "./shared-5VPKZal4.js";
144
+ import { a as isNodeCommandAllowed, n as collectEnabledInsecureOrDangerousFlags, o as resolveNodeCommandAllowlist, s as probeGateway } from "./audit-BJB-Xpuo.js";
145
+ import { t as discoverGatewayBeacons } from "./bonjour-discovery-BZKMSZbv.js";
146
+ import { i as pickGatewaySelfPresence, r as getStatusSummary } from "./status-DA7gKGeU.js";
147
+ import { a as styleHealthChannelLine, c as setHeartbeatsEnabled, l as startHeartbeatRunner, n as getHealthSnapshot, s as runHeartbeatOnce, t as formatHealthChannelLines } from "./health-BayXWmty.js";
148
+ import { a as resolveControlUiRootSync, i as resolveControlUiRootOverrideSync, t as ensureControlUiAssetsBuilt } from "./control-ui-assets-D3JoK4hu.js";
149
+ import { h as normalizeUpdateChannel, l as DEFAULT_PACKAGE_CHANNEL, n as checkUpdateStatus, o as resolveNpmChannelTag, r as compareSemverStrings } from "./channel-account-context-CvN7490K.js";
150
+ import { i as prepareSecretsRuntimeSnapshot, n as clearSecretsRuntimeSnapshot, r as getActiveSecretsRuntimeSnapshot, t as activateSecretsRuntimeSnapshot } from "./runtime-CnfENRVM.js";
151
+ import { t as runOnboardingWizard } from "./onboarding-BVt6sz-b.js";
152
+ import { a as sendApnsAlert, c as parseMessageWithAttachments, d as shouldLogWs, f as summarizeAgentEventForWsLog, i as resolveApnsAuthConfigFromEnv, l as formatForLog, n as normalizeApnsEnvironment, o as sendApnsBackgroundWake, p as setGatewayWsLogStyle, s as normalizeRpcAttachmentsToChatAttachments, t as loadApnsRegistration, u as logWs } from "./push-apns-C0YjpY9N.js";
153
153
  import { T as resolveGmailHookRuntimeConfig, _ as buildGogWatchServeArgs, i as ensureTailscaleEndpoint, v as buildGogWatchStartArgs } from "./gmail-setup-utils-3rwoqfQD.js";
154
- import "./node-service-sJ_Rmbk7.js";
155
- import "./status.update-B0a3iQjj.js";
156
- import { t as installSkill } from "./skills-install-CdZGnrOv.js";
157
- import { t as runGatewayUpdate } from "./update-runner-BoksUWgy.js";
158
- import { i as shouldIncludeHook, r as resolveHookConfig, t as loadWorkspaceHookEntries } from "./workspace-BhsnAjlE.js";
159
- import { n as forceFreePortAndWait } from "./ports-DMnEiLQa.js";
154
+ import "./node-service-CVNXtZeJ.js";
155
+ import "./status.update-DEPhS3kj.js";
156
+ import { t as installSkill } from "./skills-install-m034GRjq.js";
157
+ import { t as runGatewayUpdate } from "./update-runner-sefNoN9G.js";
158
+ import { i as shouldIncludeHook, r as resolveHookConfig, t as loadWorkspaceHookEntries } from "./workspace-B-5q5HFZ.js";
159
+ import { n as forceFreePortAndWait } from "./ports-Ds33lE1B.js";
160
160
  import { spawn, spawnSync } from "node:child_process";
161
161
  import { fileURLToPath, pathToFileURL } from "node:url";
162
162
  import os from "node:os";
@@ -165,7 +165,7 @@ import * as fsSync from "node:fs";
165
165
  import fs from "node:fs";
166
166
  import chalk from "chalk";
167
167
  import { isDeepStrictEqual } from "node:util";
168
- import fsPromises from "node:fs/promises";
168
+ import fs$1 from "node:fs/promises";
169
169
  import crypto, { createHash, randomBytes, randomUUID } from "node:crypto";
170
170
  import { z } from "zod";
171
171
  import { CURRENT_SESSION_VERSION, SessionManager } from "@mariozechner/pi-coding-agent";
@@ -1235,7 +1235,7 @@ function resolveCheckIntervalMs(cfg) {
1235
1235
  }
1236
1236
  async function readState(statePath) {
1237
1237
  try {
1238
- const raw = await fsPromises.readFile(statePath, "utf-8");
1238
+ const raw = await fs$1.readFile(statePath, "utf-8");
1239
1239
  const parsed = JSON.parse(raw);
1240
1240
  return parsed && typeof parsed === "object" ? parsed : {};
1241
1241
  } catch {
@@ -1243,8 +1243,8 @@ async function readState(statePath) {
1243
1243
  }
1244
1244
  }
1245
1245
  async function writeState(statePath, state) {
1246
- await fsPromises.mkdir(path.dirname(statePath), { recursive: true });
1247
- await fsPromises.writeFile(statePath, JSON.stringify(state, null, 2), "utf-8");
1246
+ await fs$1.mkdir(path.dirname(statePath), { recursive: true });
1247
+ await fs$1.writeFile(statePath, JSON.stringify(state, null, 2), "utf-8");
1248
1248
  }
1249
1249
  function sameUpdateAvailable(a, b) {
1250
1250
  if (a === b) return true;
@@ -1317,7 +1317,7 @@ async function runAutoUpdateCommand(params) {
1317
1317
  path.join(params.root, "dist", "index.mjs")
1318
1318
  ];
1319
1319
  for (const candidate of candidates) try {
1320
- await fsPromises.access(candidate);
1320
+ await fs$1.access(candidate);
1321
1321
  argv.push(execPath, candidate, ...baseArgs);
1322
1322
  break;
1323
1323
  } catch {}
@@ -4195,20 +4195,20 @@ async function drainPendingWrite(filePath) {
4195
4195
  if (pending) await pending.catch(() => void 0);
4196
4196
  }
4197
4197
  async function pruneIfNeeded(filePath, opts) {
4198
- const stat = await fsPromises.stat(filePath).catch(() => null);
4198
+ const stat = await fs$1.stat(filePath).catch(() => null);
4199
4199
  if (!stat || stat.size <= opts.maxBytes) return;
4200
- const lines = (await fsPromises.readFile(filePath, "utf-8").catch(() => "")).split("\n").map((l) => l.trim()).filter(Boolean);
4200
+ const lines = (await fs$1.readFile(filePath, "utf-8").catch(() => "")).split("\n").map((l) => l.trim()).filter(Boolean);
4201
4201
  const kept = lines.slice(Math.max(0, lines.length - opts.keepLines));
4202
4202
  const { randomBytes } = await import("node:crypto");
4203
4203
  const tmp = `${filePath}.${process.pid}.${randomBytes(8).toString("hex")}.tmp`;
4204
- await fsPromises.writeFile(tmp, `${kept.join("\n")}\n`, "utf-8");
4205
- await fsPromises.rename(tmp, filePath);
4204
+ await fs$1.writeFile(tmp, `${kept.join("\n")}\n`, "utf-8");
4205
+ await fs$1.rename(tmp, filePath);
4206
4206
  }
4207
4207
  async function appendCronRunLog(filePath, entry, opts) {
4208
4208
  const resolved = path.resolve(filePath);
4209
4209
  const next = (writesByPath.get(resolved) ?? Promise.resolve()).catch(() => void 0).then(async () => {
4210
- await fsPromises.mkdir(path.dirname(resolved), { recursive: true });
4211
- await fsPromises.appendFile(resolved, `${JSON.stringify(entry)}\n`, "utf-8");
4210
+ await fs$1.mkdir(path.dirname(resolved), { recursive: true });
4211
+ await fs$1.appendFile(resolved, `${JSON.stringify(entry)}\n`, "utf-8");
4212
4212
  await pruneIfNeeded(resolved, {
4213
4213
  maxBytes: opts?.maxBytes ?? DEFAULT_CRON_RUN_LOG_MAX_BYTES,
4214
4214
  keepLines: opts?.keepLines ?? DEFAULT_CRON_RUN_LOG_KEEP_LINES
@@ -4302,7 +4302,7 @@ function filterRunLogEntries(entries, opts) {
4302
4302
  async function readCronRunLogEntriesPage(filePath, opts) {
4303
4303
  await drainPendingWrite(filePath);
4304
4304
  const limit = Math.max(1, Math.min(200, Math.floor(opts?.limit ?? 50)));
4305
- const raw = await fsPromises.readFile(path.resolve(filePath), "utf-8").catch(() => "");
4305
+ const raw = await fs$1.readFile(path.resolve(filePath), "utf-8").catch(() => "");
4306
4306
  const statuses = normalizeRunStatuses(opts);
4307
4307
  const deliveryStatuses = normalizeDeliveryStatuses(opts);
4308
4308
  const query = opts?.query?.trim().toLowerCase() ?? "";
@@ -4338,7 +4338,7 @@ async function readCronRunLogEntriesPageAll(opts) {
4338
4338
  const query = opts.query?.trim().toLowerCase() ?? "";
4339
4339
  const sortDir = opts.sortDir === "asc" ? "asc" : "desc";
4340
4340
  const runsDir = path.resolve(path.dirname(path.resolve(opts.storePath)), "runs");
4341
- const jsonlFiles = (await fsPromises.readdir(runsDir, { withFileTypes: true }).catch(() => [])).filter((entry) => entry.isFile() && entry.name.endsWith(".jsonl")).map((entry) => path.join(runsDir, entry.name));
4341
+ const jsonlFiles = (await fs$1.readdir(runsDir, { withFileTypes: true }).catch(() => [])).filter((entry) => entry.isFile() && entry.name.endsWith(".jsonl")).map((entry) => path.join(runsDir, entry.name));
4342
4342
  if (jsonlFiles.length === 0) return {
4343
4343
  entries: [],
4344
4344
  total: 0,
@@ -4349,7 +4349,7 @@ async function readCronRunLogEntriesPageAll(opts) {
4349
4349
  };
4350
4350
  await Promise.all(jsonlFiles.map((f) => drainPendingWrite(f)));
4351
4351
  const filtered = filterRunLogEntries((await Promise.all(jsonlFiles.map(async (filePath) => {
4352
- return parseAllRunLogEntries(await fsPromises.readFile(filePath, "utf-8").catch(() => ""));
4352
+ return parseAllRunLogEntries(await fs$1.readFile(filePath, "utf-8").catch(() => ""));
4353
4353
  }))).flat(), {
4354
4354
  statuses,
4355
4355
  deliveryStatuses,
@@ -9310,7 +9310,7 @@ function resolveAgentWorkspaceFileOrRespondError(params, respond) {
9310
9310
  }
9311
9311
  async function resolveWorkspaceRealPath(workspaceDir) {
9312
9312
  try {
9313
- return await fsPromises.realpath(workspaceDir);
9313
+ return await fs$1.realpath(workspaceDir);
9314
9314
  } catch {
9315
9315
  return path.resolve(workspaceDir);
9316
9316
  }
@@ -9334,7 +9334,7 @@ async function resolveAgentWorkspaceFilePath(params) {
9334
9334
  }
9335
9335
  let candidateLstat;
9336
9336
  try {
9337
- candidateLstat = await fsPromises.lstat(candidatePath);
9337
+ candidateLstat = await fs$1.lstat(candidatePath);
9338
9338
  } catch (err) {
9339
9339
  if (isNotFoundPathError(err)) {
9340
9340
  if (params.allowMissing) return {
@@ -9354,7 +9354,7 @@ async function resolveAgentWorkspaceFilePath(params) {
9354
9354
  if (candidateLstat.isSymbolicLink()) {
9355
9355
  let targetReal;
9356
9356
  try {
9357
- targetReal = await fsPromises.realpath(candidatePath);
9357
+ targetReal = await fs$1.realpath(candidatePath);
9358
9358
  } catch (err) {
9359
9359
  if (isNotFoundPathError(err)) {
9360
9360
  if (params.allowMissing) return {
@@ -9373,7 +9373,7 @@ async function resolveAgentWorkspaceFilePath(params) {
9373
9373
  }
9374
9374
  let targetStat;
9375
9375
  try {
9376
- targetStat = await fsPromises.stat(targetReal);
9376
+ targetStat = await fs$1.stat(targetReal);
9377
9377
  } catch (err) {
9378
9378
  if (isNotFoundPathError(err)) {
9379
9379
  if (params.allowMissing) return {
@@ -9420,13 +9420,13 @@ async function resolveAgentWorkspaceFilePath(params) {
9420
9420
  return {
9421
9421
  kind: "ready",
9422
9422
  requestPath,
9423
- ioPath: await fsPromises.realpath(candidatePath).catch(() => candidatePath),
9423
+ ioPath: await fs$1.realpath(candidatePath).catch(() => candidatePath),
9424
9424
  workspaceReal
9425
9425
  };
9426
9426
  }
9427
9427
  async function statFileSafely(filePath) {
9428
9428
  try {
9429
- const [stat, lstat] = await Promise.all([fsPromises.stat(filePath), fsPromises.lstat(filePath)]);
9429
+ const [stat, lstat] = await Promise.all([fs$1.stat(filePath), fs$1.lstat(filePath)]);
9430
9430
  if (lstat.isSymbolicLink() || !stat.isFile()) return null;
9431
9431
  if (stat.nlink > 1) return null;
9432
9432
  if (!sameFileIdentity(stat, lstat)) return null;
@@ -9511,7 +9511,7 @@ function resolveOptionalStringParam(value) {
9511
9511
  async function moveToTrashBestEffort(pathname) {
9512
9512
  if (!pathname) return;
9513
9513
  try {
9514
- await fsPromises.access(pathname);
9514
+ await fs$1.access(pathname);
9515
9515
  } catch {
9516
9516
  return;
9517
9517
  }
@@ -9558,7 +9558,7 @@ const agentsHandlers = {
9558
9558
  dir: workspaceDir,
9559
9559
  ensureBootstrapFiles: !Boolean(nextConfig.agents?.defaults?.skipBootstrap)
9560
9560
  });
9561
- await fsPromises.mkdir(resolveSessionTranscriptsDirForAgent(agentId), { recursive: true });
9561
+ await fs$1.mkdir(resolveSessionTranscriptsDirForAgent(agentId), { recursive: true });
9562
9562
  await writeConfigFile(nextConfig);
9563
9563
  const safeName = sanitizeIdentityLine(rawName);
9564
9564
  const emoji = resolveOptionalStringParam(params.emoji);
@@ -9571,7 +9571,7 @@ const agentsHandlers = {
9571
9571
  ...avatar ? [`- Avatar: ${sanitizeIdentityLine(avatar)}`] : [],
9572
9572
  ""
9573
9573
  ];
9574
- await fsPromises.appendFile(identityPath, lines.join("\n"), "utf-8");
9574
+ await fs$1.appendFile(identityPath, lines.join("\n"), "utf-8");
9575
9575
  respond(true, {
9576
9576
  ok: true,
9577
9577
  agentId,
@@ -9606,9 +9606,9 @@ const agentsHandlers = {
9606
9606
  });
9607
9607
  if (avatar) {
9608
9608
  const workspace = workspaceDir ?? resolveAgentWorkspaceDir(nextConfig, agentId);
9609
- await fsPromises.mkdir(workspace, { recursive: true });
9609
+ await fs$1.mkdir(workspace, { recursive: true });
9610
9610
  const identityPath = path.join(workspace, DEFAULT_IDENTITY_FILENAME);
9611
- await fsPromises.appendFile(identityPath, `\n- Avatar: ${sanitizeIdentityLine(avatar)}\n`, "utf-8");
9611
+ await fs$1.appendFile(identityPath, `\n- Avatar: ${sanitizeIdentityLine(avatar)}\n`, "utf-8");
9612
9612
  }
9613
9613
  respond(true, {
9614
9614
  ok: true,
@@ -9739,7 +9739,7 @@ const agentsHandlers = {
9739
9739
  const resolved = resolveAgentWorkspaceFileOrRespondError(params, respond);
9740
9740
  if (!resolved) return;
9741
9741
  const { agentId, workspaceDir, name } = resolved;
9742
- await fsPromises.mkdir(workspaceDir, { recursive: true });
9742
+ await fs$1.mkdir(workspaceDir, { recursive: true });
9743
9743
  const filePath = path.join(workspaceDir, name);
9744
9744
  const resolvedPath = await resolveAgentWorkspaceFilePath({
9745
9745
  workspaceDir,
@@ -11960,14 +11960,14 @@ function isRollingLogFile(file) {
11960
11960
  return ROLLING_LOG_RE.test(path.basename(file));
11961
11961
  }
11962
11962
  async function resolveLogFile(file) {
11963
- if (await fsPromises.stat(file).catch(() => null)) return file;
11963
+ if (await fs$1.stat(file).catch(() => null)) return file;
11964
11964
  if (!isRollingLogFile(file)) return file;
11965
11965
  const dir = path.dirname(file);
11966
- const entries = await fsPromises.readdir(dir, { withFileTypes: true }).catch(() => null);
11966
+ const entries = await fs$1.readdir(dir, { withFileTypes: true }).catch(() => null);
11967
11967
  if (!entries) return file;
11968
11968
  return (await Promise.all(entries.filter((entry) => entry.isFile() && ROLLING_LOG_RE.test(entry.name)).map(async (entry) => {
11969
11969
  const fullPath = path.join(dir, entry.name);
11970
- const fileStat = await fsPromises.stat(fullPath).catch(() => null);
11970
+ const fileStat = await fs$1.stat(fullPath).catch(() => null);
11971
11971
  return fileStat ? {
11972
11972
  path: fullPath,
11973
11973
  mtimeMs: fileStat.mtimeMs
@@ -11975,7 +11975,7 @@ async function resolveLogFile(file) {
11975
11975
  }))).filter((entry) => Boolean(entry)).toSorted((a, b) => b.mtimeMs - a.mtimeMs)[0]?.path ?? file;
11976
11976
  }
11977
11977
  async function readLogSlice(params) {
11978
- const stat = await fsPromises.stat(params.file).catch(() => null);
11978
+ const stat = await fs$1.stat(params.file).catch(() => null);
11979
11979
  if (!stat) return {
11980
11980
  cursor: 0,
11981
11981
  size: 0,
@@ -12013,7 +12013,7 @@ async function readLogSlice(params) {
12013
12013
  truncated,
12014
12014
  reset
12015
12015
  };
12016
- const handle = await fsPromises.open(params.file, "r");
12016
+ const handle = await fs$1.open(params.file, "r");
12017
12017
  try {
12018
12018
  let prefix = "";
12019
12019
  if (start > 0) {
@@ -12995,7 +12995,7 @@ const nodeHandlers = {
12995
12995
  const p = params;
12996
12996
  const payloadJSON = typeof p.payloadJSON === "string" ? p.payloadJSON : p.payload !== void 0 ? JSON.stringify(p.payload) : null;
12997
12997
  await respondUnavailableOnThrow(respond, async () => {
12998
- const { handleNodeEvent } = await import("./server-node-events-DH8c0jEn.js");
12998
+ const { handleNodeEvent } = await import("./server-node-events-DqzBAn3Q.js");
12999
12999
  const nodeId = client?.connect?.device?.id ?? client?.connect?.client?.id ?? "node";
13000
13000
  await handleNodeEvent({
13001
13001
  deps: context.deps,
@@ -15985,7 +15985,7 @@ function normalizeAgentPayload(payload) {
15985
15985
  async function startBrowserControlServerIfEnabled() {
15986
15986
  if (isTruthyEnvValue(process.env.OPENCLAW_SKIP_BROWSER_CONTROL_SERVER)) return null;
15987
15987
  const override = process.env.OPENCLAW_BROWSER_CONTROL_MODULE?.trim();
15988
- const mod = override ? await import(override) : await import("./server-C9NDdRkP.js");
15988
+ const mod = override ? await import(override) : await import("./server-CRa1oZfY.js");
15989
15989
  const start = typeof mod.startBrowserControlServiceFromConfig === "function" ? mod.startBrowserControlServiceFromConfig : mod.startBrowserControlServerFromConfig;
15990
15990
  const stop = typeof mod.stopBrowserControlService === "function" ? mod.stopBrowserControlService : mod.stopBrowserControlServer;
15991
15991
  if (!start) return null;
@@ -16208,7 +16208,7 @@ async function resolveFileWithinRoot(rootReal, urlPath) {
16208
16208
  if (normalized.endsWith("/")) return await tryOpen(path.posix.join(rel, "index.html"));
16209
16209
  const candidate = path.join(rootReal, rel);
16210
16210
  try {
16211
- const st = await fsPromises.lstat(candidate);
16211
+ const st = await fs$1.lstat(candidate);
16212
16212
  if (st.isSymbolicLink()) return null;
16213
16213
  if (st.isDirectory()) return await tryOpen(path.posix.join(rel, "index.html"));
16214
16214
  } catch {}
@@ -16245,8 +16245,8 @@ async function resolveA2uiRoot() {
16245
16245
  for (const dir of candidates) try {
16246
16246
  const indexPath = path.join(dir, "index.html");
16247
16247
  const bundlePath = path.join(dir, "a2ui.bundle.js");
16248
- await fsPromises.stat(indexPath);
16249
- await fsPromises.stat(bundlePath);
16248
+ await fs$1.stat(indexPath);
16249
+ await fs$1.stat(bundlePath);
16250
16250
  return dir;
16251
16251
  } catch {}
16252
16252
  return null;
@@ -16255,7 +16255,7 @@ async function resolveA2uiRootReal() {
16255
16255
  if (cachedA2uiRootReal !== void 0 && (cachedA2uiRootReal !== null || Date.now() - cachedA2uiResolvedAtMs < A2UI_ROOT_RETRY_NULL_AFTER_MS)) return cachedA2uiRootReal;
16256
16256
  if (!resolvingA2uiRoot) resolvingA2uiRoot = (async () => {
16257
16257
  const root = await resolveA2uiRoot();
16258
- cachedA2uiRootReal = root ? await fsPromises.realpath(root) : null;
16258
+ cachedA2uiRootReal = root ? await fs$1.realpath(root) : null;
16259
16259
  cachedA2uiResolvedAtMs = Date.now();
16260
16260
  resolvingA2uiRoot = null;
16261
16261
  return cachedA2uiRootReal;
@@ -16476,13 +16476,13 @@ function normalizeBasePath(rawPath) {
16476
16476
  }
16477
16477
  async function prepareCanvasRoot(rootDir) {
16478
16478
  await ensureDir(rootDir);
16479
- const rootReal = await fsPromises.realpath(rootDir);
16479
+ const rootReal = await fs$1.realpath(rootDir);
16480
16480
  try {
16481
16481
  const indexPath = path.join(rootReal, "index.html");
16482
- await fsPromises.stat(indexPath);
16482
+ await fs$1.stat(indexPath);
16483
16483
  } catch {
16484
16484
  try {
16485
- await fsPromises.writeFile(path.join(rootReal, "index.html"), defaultIndexHTML(), "utf8");
16485
+ await fs$1.writeFile(path.join(rootReal, "index.html"), defaultIndexHTML(), "utf8");
16486
16486
  } catch {}
16487
16487
  }
16488
16488
  return rootReal;
@@ -19304,7 +19304,7 @@ async function resolveGatewayOwnerStatus(pid, payload, platform, port) {
19304
19304
  }
19305
19305
  async function readLockPayload(lockPath) {
19306
19306
  try {
19307
- const raw = await fsPromises.readFile(lockPath, "utf8");
19307
+ const raw = await fs$1.readFile(lockPath, "utf8");
19308
19308
  const parsed = JSON.parse(raw);
19309
19309
  if (typeof parsed.pid !== "number") return null;
19310
19310
  if (typeof parsed.createdAt !== "string") return null;
@@ -19339,11 +19339,11 @@ async function acquireGatewayLock(opts = {}) {
19339
19339
  const platform = opts.platform ?? process.platform;
19340
19340
  const port = opts.port;
19341
19341
  const { lockPath, configPath } = resolveGatewayLockPath(env);
19342
- await fsPromises.mkdir(path.dirname(lockPath), { recursive: true });
19342
+ await fs$1.mkdir(path.dirname(lockPath), { recursive: true });
19343
19343
  const startedAt = Date.now();
19344
19344
  let lastPayload = null;
19345
19345
  while (Date.now() - startedAt < timeoutMs) try {
19346
- const handle = await fsPromises.open(lockPath, "wx");
19346
+ const handle = await fs$1.open(lockPath, "wx");
19347
19347
  const startTime = platform === "linux" ? readLinuxStartTime(process.pid) : null;
19348
19348
  const payload = {
19349
19349
  pid: process.pid,
@@ -19357,7 +19357,7 @@ async function acquireGatewayLock(opts = {}) {
19357
19357
  configPath,
19358
19358
  release: async () => {
19359
19359
  await handle.close().catch(() => void 0);
19360
- await fsPromises.rm(lockPath, { force: true });
19360
+ await fs$1.rm(lockPath, { force: true });
19361
19361
  }
19362
19362
  };
19363
19363
  } catch (err) {
@@ -19366,7 +19366,7 @@ async function acquireGatewayLock(opts = {}) {
19366
19366
  const ownerPid = lastPayload?.pid;
19367
19367
  const ownerStatus = ownerPid ? await resolveGatewayOwnerStatus(ownerPid, lastPayload, platform, port) : "unknown";
19368
19368
  if (ownerStatus === "dead" && ownerPid) {
19369
- await fsPromises.rm(lockPath, { force: true });
19369
+ await fs$1.rm(lockPath, { force: true });
19370
19370
  continue;
19371
19371
  }
19372
19372
  if (ownerStatus !== "alive") {
@@ -19376,13 +19376,13 @@ async function acquireGatewayLock(opts = {}) {
19376
19376
  stale = Number.isFinite(createdAt) ? Date.now() - createdAt > staleMs : false;
19377
19377
  }
19378
19378
  if (!stale) try {
19379
- const st = await fsPromises.stat(lockPath);
19379
+ const st = await fs$1.stat(lockPath);
19380
19380
  stale = Date.now() - st.mtimeMs > staleMs;
19381
19381
  } catch {
19382
19382
  stale = false;
19383
19383
  }
19384
19384
  if (stale) {
19385
- await fsPromises.rm(lockPath, { force: true });
19385
+ await fs$1.rm(lockPath, { force: true });
19386
19386
  continue;
19387
19387
  }
19388
19388
  }
@@ -21709,7 +21709,7 @@ async function startGatewayServer(port = 18789, opts = {}) {
21709
21709
  if (!minimalTestGateway) cron.start().catch((err) => logCron.error(`failed to start: ${String(err)}`));
21710
21710
  if (!minimalTestGateway) (async () => {
21711
21711
  const { recoverPendingDeliveries } = await import("./delivery-queue-CpA_Z7vE.js").then((n) => n.n);
21712
- const { deliverOutboundPayloads } = await import("./deliver-B7mNw8Vu.js").then((n) => n.n);
21712
+ const { deliverOutboundPayloads } = await import("./deliver-CZEKwM5v.js").then((n) => n.n);
21713
21713
  await recoverPendingDeliveries({
21714
21714
  deliver: deliverOutboundPayloads,
21715
21715
  log: log.child("delivery-recovery"),