activeclaw 2026.2.9 → 2026.2.10

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 (225) hide show
  1. package/dist/{accounts-C2elk6PC.js → accounts-xJh3pJei.js} +9 -9
  2. package/dist/{acp-cli-BHTkhOOK.js → acp-cli-BpJwIyLl.js} +4 -4
  3. package/dist/{acp-cli-BOqmKps_.js → acp-cli-D_40K9Gr.js} +15 -15
  4. package/dist/{agent-CVe9csik.js → agent-DkZpDQJb.js} +12 -12
  5. package/dist/{agent-DplJM2iA.js → agent-FTQXFOHA.js} +10 -10
  6. package/dist/{agent-scope-GWSAY_lJ.js → agent-scope-BEf5crnU.js} +1 -1
  7. package/dist/{agent-scope-bNHJh30H.js → agent-scope-CPiO6Aw7.js} +12 -12
  8. package/dist/{agent-scope-3Vx285VQ.js → agent-scope-D8miw9q_.js} +1 -1
  9. package/dist/{agent-scope-D3me2AZa.js → agent-scope-DQuy3dwI.js} +1 -1
  10. package/dist/{archive-CXhvR9nU.js → archive-BixfOVSf.js} +9 -9
  11. package/dist/{audit-VCa9vZUY.js → audit-CGlFTiEB.js} +23 -23
  12. package/dist/{audit-DZUtH-Nt.js → audit-CY-yopxa.js} +8 -8
  13. package/dist/{auth-BvIPpm7G.js → auth-D_PS9etv.js} +1 -1
  14. package/dist/{auth-health-CToniips.js → auth-health-BGd7tGq0.js} +1 -1
  15. package/dist/{auth-health-Cx5exPMV.js → auth-health-d7BMZlWG.js} +1 -1
  16. package/dist/{auth-profiles-FJ3VY25a.js → auth-profiles-Bv1AEm-Y.js} +1 -1
  17. package/dist/build-info.json +3 -3
  18. package/dist/bundled/boot-md/handler.js +10 -10
  19. package/dist/bundled/session-memory/handler.js +10 -10
  20. package/dist/{call-BLDHRggD.js → call-7yrB6v4I.js} +1 -1
  21. package/dist/{call-LDoK5_Jv.js → call-Ccyb4kQR.js} +11 -11
  22. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  23. package/dist/{channel-options-_MKOfqan.js → channel-options-DwA7SVbf.js} +7 -7
  24. package/dist/{channel-options-ByiQNOTJ.js → channel-options-DwTe763m.js} +3 -3
  25. package/dist/{channel-selection-DqqM1jFv.js → channel-selection-La1tQIxQ.js} +2 -2
  26. package/dist/{channel-selection-DAHCVAX4.js → channel-selection-RZimme3j.js} +1 -1
  27. package/dist/{channels-cli-Cc7g9t97.js → channels-cli-CsLF44Xf.js} +26 -26
  28. package/dist/{channels-cli-dHm4C9tg.js → channels-cli-ENsD3dK4.js} +48 -48
  29. package/dist/{channels-status-issues-CIvi5Dko.js → channels-status-issues-B3KkflfR.js} +1 -1
  30. package/dist/{channels-status-issues-DFhI_u0p.js → channels-status-issues-DmIFbKRs.js} +1 -1
  31. package/dist/{chrome-CF16STk9.js → chrome-BN9o1yns.js} +7 -7
  32. package/dist/{chrome-UrBfjc6F.js → chrome-Db7w64LF.js} +7 -7
  33. package/dist/{chrome-Dm-EgOjJ.js → chrome-XHJ9uNgs.js} +5 -5
  34. package/dist/{clack-prompter-BCiBkJVr.js → clack-prompter-IfLZ3uDJ.js} +4 -4
  35. package/dist/cli/daemon-cli.js +1 -1
  36. package/dist/{cli-BXVQxcpm.js → cli-CBL6jLH_.js} +21 -21
  37. package/dist/{cli-ChBVn7aR.js → cli-Dxi8xMCj.js} +36 -36
  38. package/dist/{client-6xKrRC-1.js → client-Cam-Cwyu.js} +2 -2
  39. package/dist/{command-options-Zeat4Qbm.js → command-options-_12DJE1t.js} +3 -3
  40. package/dist/{commands-BFfaY2r9.js → commands-CjEGXOZ_.js} +3 -3
  41. package/dist/{completion-cli-BYQOTb3_.js → completion-cli-DZlpcsto.js} +40 -40
  42. package/dist/{completion-cli-DyCmQ6EC.js → completion-cli-DeeDoOCJ.js} +1 -1
  43. package/dist/{config-DuOV0jZh.js → config-B00lvFac.js} +2 -2
  44. package/dist/{config-C6Od01-b.js → config-BqGVMf1y.js} +2 -2
  45. package/dist/{config-5nrp_Vu5.js → config-DiNnQcwe.js} +10 -10
  46. package/dist/{config-DssMzgXt.js → config-XBdA0ciN.js} +2 -2
  47. package/dist/{config-guard-DJuKG5j3.js → config-guard-CmgZJTGV.js} +21 -21
  48. package/dist/{configure-BsYuK_Kc.js → configure-89VjxHbW.js} +18 -18
  49. package/dist/{configure-DAraHgDw.js → configure-DB_qIT8D.js} +8 -8
  50. package/dist/{control-service-BNpv08hT.js → control-service-CAXvnE0u.js} +5 -5
  51. package/dist/{control-service-BL9NP7JP.js → control-service-IRAmbcbN.js} +1 -1
  52. package/dist/{cron-cli-E_r-cKMN.js → cron-cli-DKp-JxRS.js} +16 -16
  53. package/dist/{cron-cli-CyYUj-LH.js → cron-cli-DhUWcYdk.js} +6 -6
  54. package/dist/{daemon-cli-DZDIZ0M-.js → daemon-cli-Ctp4o7qg.js} +16 -16
  55. package/dist/{daemon-cli-MGPsiBcm.js → daemon-cli-DfLos4-7.js} +7 -7
  56. package/dist/{daemon-runtime-DJzKTLqv.js → daemon-runtime-CVte5WIX.js} +11 -11
  57. package/dist/{daemon-runtime-CxQ1vIcj.js → daemon-runtime-c0uXH4Dl.js} +1 -1
  58. package/dist/{deliver-DD8Syx3t.js → deliver-B-MU3Szq.js} +10 -10
  59. package/dist/{deliver-ClNVlrrz.js → deliver-BXVnDeja.js} +3 -3
  60. package/dist/{deliver-DRy_Piku.js → deliver-CT6KiDqO.js} +2 -2
  61. package/dist/{deliver-CUzkySCA.js → deliver-hf-WKyWd.js} +5 -5
  62. package/dist/{deps-CMw5TIE3.js → deps-BoJcAXaY.js} +2 -2
  63. package/dist/{deps-C0FUEdGv.js → deps-CaDXl7AZ.js} +2 -2
  64. package/dist/{devices-cli-B343ESvy.js → devices-cli-Cm7U1py9.js} +4 -4
  65. package/dist/{devices-cli-Dlpp2Bpf.js → devices-cli-DQJuKnqz.js} +13 -13
  66. package/dist/{directory-cli-DgdU5RWy.js → directory-cli-67kzd4I5.js} +5 -5
  67. package/dist/{directory-cli-DStVmSxy.js → directory-cli-BqVg6pQq.js} +14 -14
  68. package/dist/{dispatcher-BMY38O6j.js → dispatcher-Rf7W2dBd.js} +4 -4
  69. package/dist/{dns-cli-C1-d9JM_.js → dns-cli-BXAWgd6S.js} +11 -11
  70. package/dist/{dns-cli-edebp5SN.js → dns-cli-Dqj7O6Q_.js} +3 -3
  71. package/dist/{docs-cli-BxHh0OdP.js → docs-cli-CamBqzb5.js} +1 -1
  72. package/dist/{docs-cli-krgDVS3d.js → docs-cli-NONeCqqB.js} +6 -6
  73. package/dist/{doctor-B5xT9CV4.js → doctor-BkGTzeZj.js} +43 -43
  74. package/dist/{doctor-DuML_miY.js → doctor-Bytc7n21.js} +18 -18
  75. package/dist/entry.js +1 -1
  76. package/dist/{env-BxRc6wWv.js → env-DqiOM57_.js} +1 -1
  77. package/dist/{exec-Cv_Ofd1m.js → exec-BSMwiIMp.js} +1 -1
  78. package/dist/{exec-approvals-cli-QKMXtfNU.js → exec-approvals-cli-Bn-YY4Vi.js} +23 -23
  79. package/dist/{exec-approvals-cli-CmXG5_Q5.js → exec-approvals-cli-DhXj3hQX.js} +6 -6
  80. package/dist/extensionAPI.js +22 -22
  81. package/dist/{gateway-cli-V_dvW_hJ.js → gateway-cli-DRJQ8rTD.js} +135 -135
  82. package/dist/{gateway-cli-BpaPqRTM.js → gateway-cli-KkK4A0D8.js} +44 -44
  83. package/dist/{gateway-rpc-BHAE9xXJ.js → gateway-rpc-3B5y445n.js} +1 -1
  84. package/dist/{gateway-rpc-B4Wurkir.js → gateway-rpc-sLO5Psk7.js} +3 -3
  85. package/dist/{github-copilot-auth-CmgVG7Gb.js → github-copilot-auth-BJOEuPdX.js} +8 -8
  86. package/dist/{github-copilot-auth-BenHcDDG.js → github-copilot-auth-BtMu5l0m.js} +5 -5
  87. package/dist/{gmail-setup-utils-DSktB6l0.js → gmail-setup-utils-CHcssBOA.js} +1 -1
  88. package/dist/{gmail-setup-utils-TwmZ8mMs.js → gmail-setup-utils-CTDfMXTW.js} +3 -3
  89. package/dist/{health-format-DFhzeh1b.js → health-format-D6ogrdc9.js} +8 -8
  90. package/dist/{health-format-D151p64n.js → health-format-I_hcV0x3.js} +14 -14
  91. package/dist/{help-format-DAj7l5uV.js → help-format-rtF4QeRM.js} +1 -1
  92. package/dist/{hooks-cli-mEq9e_de.js → hooks-cli-BbeYZaya.js} +23 -23
  93. package/dist/{hooks-cli-CUjjzKcp.js → hooks-cli-rwazn-4_.js} +61 -61
  94. package/dist/{hooks-status-U2JQ8wza.js → hooks-status-B3y3_Ypf.js} +5 -5
  95. package/dist/{hooks-status-BrIvQK2p.js → hooks-status-Br-2bK2G.js} +1 -1
  96. package/dist/{image-BGhlwUcs.js → image-BVLNmAgW.js} +3 -3
  97. package/dist/{image-BByTK3t0.js → image-Ds4NLGPR.js} +3 -3
  98. package/dist/{image-k4cY_IKa.js → image-DxmrpIUn.js} +10 -10
  99. package/dist/{image-CHRalJF2.js → image-rOFfK3PJ.js} +3 -3
  100. package/dist/index.js +88 -88
  101. package/dist/{installs-CRSjQxbR.js → installs-C9WW834H.js} +21 -21
  102. package/dist/{links-C591fM9M.js → links-D6CUlrWZ.js} +1 -1
  103. package/dist/llm-slug-generator.js +10 -10
  104. package/dist/{loader-BTR4VGE9.js → loader-CZRfriRQ.js} +29 -29
  105. package/dist/{logging-MMRGFxGI.js → logging-BhXRnaAc.js} +1 -1
  106. package/dist/{login-qr-CYGosTZf.js → login-qr-CGEu5TU-.js} +1 -1
  107. package/dist/{login-qr-DxwM3Wcw.js → login-qr-CPEsT6dN.js} +1 -1
  108. package/dist/{login-qr-C2zCFC0_.js → login-qr-DH150tTp.js} +1 -1
  109. package/dist/{login-qr-CQLEtsFG.js → login-qr-DXiuhBc8.js} +5 -5
  110. package/dist/{logs-cli-D065Q9Ej.js → logs-cli-ClgkHnfT.js} +5 -5
  111. package/dist/{logs-cli-BJm2UpZ1.js → logs-cli-CoWZ_Lzs.js} +14 -14
  112. package/dist/{manager-CMTN4ZRM.js → manager-CcVYv0N5.js} +2 -2
  113. package/dist/{manager-C6GZI3No.js → manager-D6EbxDV4.js} +4 -4
  114. package/dist/{manager-BHbv6kNQ.js → manager-DOqexxfO.js} +15 -15
  115. package/dist/{manager-DM_QdSUV.js → manager-DYo4PlVM.js} +2 -2
  116. package/dist/{manifest-registry-3It8Z8yN.js → manifest-registry-C0ApY9d8.js} +1 -1
  117. package/dist/{message-channel-Cu61-7H6.js → message-channel-DIvXZ2w4.js} +1 -1
  118. package/dist/{model-auth-SZQ9GSFA.js → model-auth-ioeR_zLX.js} +1 -1
  119. package/dist/{model-selection-DSXkS3Uu.js → model-selection-CezC36lH.js} +1 -1
  120. package/dist/{model-selection-NPMD6wNp.js → model-selection-lT7g9ysC.js} +4 -4
  121. package/dist/{models-cli-BtWKT0MB.js → models-cli-C0_ekrlc.js} +45 -45
  122. package/dist/{models-cli-DcuyUIwv.js → models-cli-CwqJkYET.js} +23 -23
  123. package/dist/{node-cli-CO2WOpKq.js → node-cli-BxBGSuPE.js} +7 -7
  124. package/dist/{node-cli-CTm9wM4m.js → node-cli-SEsdX8-y.js} +29 -29
  125. package/dist/{node-service-CM5vkdIo.js → node-service-OjXvN5Ee.js} +1 -1
  126. package/dist/{nodes-cli-CCcFmR_s.js → nodes-cli-By6yeCTB.js} +5 -5
  127. package/dist/{nodes-cli-C8Lamzfr.js → nodes-cli-jihJL52P.js} +18 -18
  128. package/dist/{nodes-screen-lykd2cny.js → nodes-screen-A8K8mlHX.js} +2 -2
  129. package/dist/{note-5WqioBRA.js → note-B5QlVszL.js} +2 -2
  130. package/dist/{onboard-channels-B_k5nbDK.js → onboard-channels-DNlBXz4a.js} +7 -7
  131. package/dist/{onboard-channels-B_nZbDqG.js → onboard-channels-DYUwMESI.js} +4 -4
  132. package/dist/{onboard-skills-BeyUY0aV.js → onboard-skills-Djn43Fx2.js} +12 -12
  133. package/dist/{onboard-skills-BXZ4QIB4.js → onboard-skills-DwIf2ayU.js} +8 -8
  134. package/dist/{onboarding-C0eU8uVL.js → onboarding-DzjDuLJ0.js} +37 -37
  135. package/dist/{openclaw-root-9ILYSmJ9.js → openclaw-root-CBSq79BF.js} +5 -5
  136. package/dist/{openclaw-root-93W6UrUK.js → openclaw-root-Dw6gumSU.js} +3 -3
  137. package/dist/{pairing-cli-j81iKxmQ.js → pairing-cli-CRQDpj8f.js} +6 -6
  138. package/dist/{pairing-cli-CV3Fi8Ul.js → pairing-cli-XrcX3iD7.js} +14 -14
  139. package/dist/{pairing-labels-C1gYNpBx.js → pairing-labels-CWFEtSc3.js} +1 -1
  140. package/dist/{pairing-labels-CHxlh3tT.js → pairing-labels-K_6MMQA_.js} +1 -1
  141. package/dist/{pairing-store-C5bI2uOn.js → pairing-store-C6EhvkMA.js} +2 -2
  142. package/dist/{pairing-store-CO6umWFP.js → pairing-store-CgXR3ZWJ.js} +1 -1
  143. package/dist/{path-env-BgLvMbz_.js → path-env-CvL55Ntz.js} +1 -1
  144. package/dist/{paths-BIFtPbjx.js → paths-DL6EIRTw.js} +1 -1
  145. package/dist/{pi-embedded-CLZcbynY.js → pi-embedded-BtNK8X-L.js} +20 -20
  146. package/dist/{pi-embedded-helpers-DswdoKvB.js → pi-embedded-helpers-BbWRSUnc.js} +7 -7
  147. package/dist/{pi-embedded-helpers-aRE0ahwI.js → pi-embedded-helpers-Bkpd4fTr.js} +2 -2
  148. package/dist/{pi-embedded-helpers-C-Q-0H33.js → pi-embedded-helpers-Dx2dOx7N.js} +8 -8
  149. package/dist/{pi-embedded-helpers-DDVMJlkH.js → pi-embedded-helpers-WA1Uq3tV.js} +7 -7
  150. package/dist/{pi-tools.policy-B5XNSHCf.js → pi-tools.policy-CCQVTuZw.js} +4 -4
  151. package/dist/{plugin-auto-enable-DOx-bCgl.js → plugin-auto-enable-BvBr0yMV.js} +5 -5
  152. package/dist/{plugin-auto-enable-DwytyoHT.js → plugin-auto-enable-lZwe2yX5.js} +1 -1
  153. package/dist/{plugins-CXDOnert.js → plugins-5W5E71Ut.js} +4 -4
  154. package/dist/{plugins-B7F0Ly9G.js → plugins-Db5BiELK.js} +1 -1
  155. package/dist/{plugins-cli-CjittBBs.js → plugins-cli-l1TkWMZx.js} +42 -42
  156. package/dist/{plugins-cli-trxh13-k.js → plugins-cli-mSMFtuzL.js} +22 -22
  157. package/dist/{program-c0kZz_nN.js → program-CaHfkQ0p.js} +46 -46
  158. package/dist/{progress-DIQJt9Va.js → progress-COZ_ycun.js} +1 -1
  159. package/dist/{prompt-style-CjQRlDx4.js → prompt-style-CghhrkxS.js} +1 -1
  160. package/dist/{pw-ai-COWYvUfG.js → pw-ai-BtArcIEo.js} +7 -7
  161. package/dist/{pw-ai-C9e4lsYZ.js → pw-ai-BxJ-KCIy.js} +1 -1
  162. package/dist/{pw-ai-CsvaObGM.js → pw-ai-DMeydD_d.js} +1 -1
  163. package/dist/{qmd-manager-CAXjRwd6.js → qmd-manager-2PsT4eTr.js} +19 -19
  164. package/dist/{qmd-manager-BQh8e-46.js → qmd-manager-BzY2LQTT.js} +3 -3
  165. package/dist/{qmd-manager-BM-1x46_.js → qmd-manager-C9YWFeG6.js} +1 -1
  166. package/dist/{qmd-manager-Bs18wYIN.js → qmd-manager-CpsjQyaZ.js} +1 -1
  167. package/dist/{register.subclis-CFcnR7W8.js → register.subclis-C0SIOLju.js} +28 -28
  168. package/dist/{reply-BUHI5pXf.js → reply-swCg9iXH.js} +127 -127
  169. package/dist/{routes-CSlSTRsY.js → routes-B4QQiFju.js} +1 -1
  170. package/dist/{routes-CserrUab.js → routes-BqZyywjQ.js} +19 -19
  171. package/dist/{rpc-Bag0Uule.js → rpc-Blt6MJ4F.js} +1 -1
  172. package/dist/{rpc-C3XyDrXa.js → rpc-D_Pp8HB_.js} +3 -3
  173. package/dist/{run-main-DN34y3WG.js → run-main-D9PO9-U8.js} +49 -49
  174. package/dist/{sandbox-CTZxQzEn.js → sandbox-Aks-9EcZ.js} +5 -5
  175. package/dist/{sandbox-CGlEY-RT.js → sandbox-DxAKZfZd.js} +26 -26
  176. package/dist/{sandbox-cli-BzGe2cWN.js → sandbox-cli-149xhJPJ.js} +18 -18
  177. package/dist/{sandbox-cli-Cb18XBXE.js → sandbox-cli-C99Thxi8.js} +7 -7
  178. package/dist/{security-cli-BUg11RRK.js → security-cli-BclMtAZ6.js} +33 -33
  179. package/dist/{security-cli-CXyvz9Fo.js → security-cli-iqYLMOz3.js} +11 -11
  180. package/dist/{server-context-8Qt35QdF.js → server-context-DT3SRl5J.js} +5 -5
  181. package/dist/{server-node-events-BNw4w95N.js → server-node-events-BbWvPZe5.js} +23 -23
  182. package/dist/{server-node-events-D5itxoZj.js → server-node-events-CUQHYPok.js} +39 -39
  183. package/dist/{service-Cd4BxKuo.js → service-DPsnpYzk.js} +16 -16
  184. package/dist/{service-audit-BRMQq36C.js → service-audit-DWlZlYl6.js} +13 -13
  185. package/dist/{service-audit-BpQrn5Ks.js → service-audit-x6jCN-6a.js} +1 -1
  186. package/dist/{shared-ILguacOr.js → shared-DQO8Xdjp.js} +2 -2
  187. package/dist/{shared-gOyV38rM.js → shared-DvAp_MsR.js} +2 -2
  188. package/dist/{skill-scanner-DrVEHfC6.js → skill-scanner-zYmZ2Coy.js} +5 -5
  189. package/dist/{skills-C_rNI0Jc.js → skills-D5UZZZSY.js} +1 -1
  190. package/dist/{skills-cli-DHghbc62.js → skills-cli-3PxJU4R0.js} +12 -12
  191. package/dist/{skills-cli-vaRLo4cS.js → skills-cli-ggyLBtAY.js} +5 -5
  192. package/dist/{skills-Bau1zXIA.js → skills-pqbmJf1e.js} +6 -6
  193. package/dist/{skills-status-CJMt5NLm.js → skills-status-DjtPPMnY.js} +1 -1
  194. package/dist/{skills-status-BkAjWh29.js → skills-status-d-tVLIaC.js} +3 -3
  195. package/dist/{sqlite-Btrgi7-j.js → sqlite-CDfAET9Y.js} +12 -12
  196. package/dist/{sqlite-BSGTqtyx.js → sqlite-HepBVDoX.js} +1 -1
  197. package/dist/{status-DZ9rJ3dY.js → status-BoK_Exgh.js} +20 -20
  198. package/dist/{status-BjRAcHpu.js → status-DADQEBbg.js} +3 -3
  199. package/dist/{status-BiwDwls4.js → status-DJYrqIJa.js} +4 -4
  200. package/dist/{subsystem-Bh1Y_6Uv.js → subsystem-BbfPHMjH.js} +2 -2
  201. package/dist/{system-cli-CdXY44WQ.js → system-cli-Clqsx8U5.js} +5 -5
  202. package/dist/{system-cli-DVES5fvn.js → system-cli-JNECg6i0.js} +14 -14
  203. package/dist/{systemd-D6wTPnHi.js → systemd-Dd6y2wnN.js} +7 -7
  204. package/dist/{systemd-linger-BxjTrgoH.js → systemd-linger-CblmG_UI.js} +2 -2
  205. package/dist/{table-DEnmtvl5.js → table-DTm1PXe-.js} +2 -2
  206. package/dist/{tailscale-Cu-2HNvU.js → tailscale-WFi900xf.js} +2 -2
  207. package/dist/{tool-display-DskiU8Kt.js → tool-display-DwOJbBjC.js} +1 -1
  208. package/dist/{tui-Dvvu-l5k.js → tui-BdJWZdto.js} +5 -5
  209. package/dist/{tui-_kotMBV7.js → tui-CJPKiYWz.js} +9 -9
  210. package/dist/{tui-cli-Cr_Ne_S0.js → tui-cli-D3n-O9zB.js} +11 -11
  211. package/dist/{tui-cli-BenxYvT_.js → tui-cli-DuNJ1OqY.js} +23 -23
  212. package/dist/{tui-formatters-B4pCnF0N.js → tui-formatters-C-dAVvRi.js} +4 -4
  213. package/dist/{tui-formatters-BxM6uwtn.js → tui-formatters-C3NarH24.js} +3 -3
  214. package/dist/{update-JB16aPIY.js → update-DymgbepH.js} +5 -5
  215. package/dist/{update-cli-C-TWZbOn.js → update-cli-AcMtIZbG.js} +69 -69
  216. package/dist/{update-cli-BHKdzY2U.js → update-cli-B-3XbteQ.js} +36 -36
  217. package/dist/{update-runner-7YSPb3A4.js → update-runner-B7twibOm.js} +8 -8
  218. package/dist/{update-runner-D0k9HftN.js → update-runner-BiHI3sto.js} +29 -29
  219. package/dist/{utils-es4ygvQ-.js → utils-l-o5S4c-.js} +1 -1
  220. package/dist/{webhooks-cli-BvkUb4ZO.js → webhooks-cli-CVIE9TtX.js} +5 -5
  221. package/dist/{webhooks-cli-CZKnZxrS.js → webhooks-cli-DjdfcB16.js} +11 -11
  222. package/dist/{widearea-dns-2ah0bkAj.js → widearea-dns-mquEd9kr.js} +1 -1
  223. package/dist/{ws-log-D7MkvKhg.js → ws-log-B2H596h5.js} +1 -1
  224. package/dist/{wsl-uqfIGnkl.js → wsl-Cwo7X0Un.js} +1 -1
  225. package/package.json +1 -1
@@ -1,103 +1,103 @@
1
1
  import { _ as expandHomePrefix, g as resolveStateDir, i as isNixMode, l as resolveGatewayLockDir, o as resolveConfigPath, r as STATE_DIR, t as CONFIG_PATH, u as resolveGatewayPort } from "./paths-DVBShlw6.js";
2
- import { B as getLogger, C as getActivePluginRegistry, I as colorize, L as isRich, M as setVerbose, R as theme, V as getResolvedLoggerSettings, a as setConsoleTimestampPrefix, c as defaultRuntime, h as DEFAULT_CHAT_CHANNEL, i as setConsoleSubsystemFilter, n as runtimeForLogger, p as CHANNEL_IDS, t as createSubsystemLogger, z as getChildLogger } from "./subsystem-Bh1Y_6Uv.js";
3
- import { C as shortenHomePath, D as truncateUtf16Safe, b as resolveUserPath, c as ensureDir, d as isPlainObject, r as clamp, t as CONFIG_DIR } from "./utils-es4ygvQ-.js";
4
- import { B as normalizeElevatedLevel, H as normalizeThinkLevel, I as formatThinkingLevels, K as supportsXHighThinking, L as formatXHighModelHint, U as normalizeUsageDisplay, V as normalizeReasoningLevel, W as normalizeVerboseLevel } from "./pi-embedded-helpers-DDVMJlkH.js";
5
- import { $ as inferLegacyName, $n as isTtsEnabled, $t as getSkillsSnapshotVersion, An as runSubagentAnnounceFlow, Ar as registerUnhandledRejectionHandler, B as consumeGatewaySigusr1RestartAuthorization, Br as DEFAULT_INPUT_TIMEOUT_MS, Bt as getRemoteSkillEligibility, C as readSessionMessages, Cr as applyVerboseOverride, Dn as isAbortTrigger, E as stripEnvelopeFromMessages, En as formatZonedTimestamp, Er as isSystemEventContextChanged, F as resetDirectoryCache, Fn as onAgentEvent, Fr as DEFAULT_INPUT_IMAGE_MIMES, G as formatDoctorNonInteractiveHint, Gn as resolveUserTimezone, Gr as resolveAgentTimeoutMs, Gt as setSkillsRemoteRegistry, H as scheduleGatewaySigusr1Restart, Hn as resolveMemoryBackendConfig, Hr as extractImageContentFromSource, Ht as recordRemoteNodeInfo, In as registerAgentRunContext, Ir as DEFAULT_INPUT_MAX_REDIRECTS, It as CONTROL_UI_AVATAR_PREFIX, J as summarizeRestartSentinel, Jn as registerInternalHook, Jt as rejectNodePairing, K as formatRestartSentinelMessage, Kn as clearInternalHooks, Kt as approveNodePairing, L as runWithModelFallback, Lr as DEFAULT_INPUT_PDF_MAX_PAGES, Lt as buildControlUiAvatarUrl, M as resolveOutboundTarget, Mn as clearAgentRunContext, Mr as DEFAULT_INPUT_FILE_MAX_CHARS, N as resolveSessionDeliveryTarget, Nn as emitAgentEvent, Nr as DEFAULT_INPUT_FILE_MIMES, O as ensureOutboundSessionEntry, On as stopSubagentsForRequester, Or as loadModelCatalog, Pn as getAgentRunContext, Pr as DEFAULT_INPUT_IMAGE_MAX_BYTES, Q as normalizeCronJobPatch, Qn as getTtsProvider, Qt as verifyNodeToken, Rn as normalizePollInput, Rr as DEFAULT_INPUT_PDF_MAX_PIXELS, Rt as normalizeControlUiBasePath, S as capArrayByJsonBytes, Sr as applyModelOverrideToSessionEntry, T as resolveSessionTranscriptCandidates, Tn as createReplyDispatcher, Tr as enqueueSystemEvent, Tt as handleReset, U as setGatewaySigusr1RestartPolicy, Un as resolveAgentIdentity, Ur as normalizeMimeList, Ut as refreshRemoteBinsForConnectedNodes, V as isGatewaySigusr1RestartExternallyAllowed, Vn as getMemorySearchManager, Vr as extractFileContentFromSource, Vt as primeRemoteSkillsCache, W as consumeRestartSentinel, Wt as refreshRemoteNodeBins, X as writeRestartSentinel, Xn as OPENAI_TTS_MODELS, Xt as requestNodePairing, Yn as triggerInternalHook, Yt as renamePairedNode, Z as normalizeCronJobCreate, Zn as OPENAI_TTS_VOICES, Zt as updatePairedNodeMetadata, _ as loadCombinedSessionStoreForGateway, ar as resolveTtsProviderOrder, b as resolveSessionModelRef, br as lookupContextTokens, c as clearSessionQueues, cn as createReplyPrefixOptions, cr as textToSpeech, d as waitForEmbeddedPiRunEnd, dn as buildHistoryContextFromEntries, dr as CommandLane, dt as loadProviderUsageSummary, en as registerSkillsChangeListener, er as isTtsProviderConfigured, et as normalizeOptionalAgentId, fn as resolveHeartbeatVisibility, fr as startDiagnosticHeartbeat, g as listSessionsFromStore, gt as handleSlackHttpRequest, h as listAgentsForGateway, hn as onHeartbeatEvent, hr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, i as runCliAgent, in as isExternalHookSession, ir as resolveTtsPrefsPath, it as migrateLegacyCronPayload, jr as DEFAULT_INPUT_FILE_MAX_BYTES, k as resolveOutboundSessionRoute, kn as initSubagentRegistry, l as runEmbeddedPiAgent, ln as normalizeGroupActivation, lt as getPluginToolMeta, m as resolveAnnounceTargetFromKey, mn as getLastHeartbeatEvent, mr as isDiagnosticsEnabled, n as getCliSessionId, nn as detectSuspiciousPatterns, nr as resolveTtsAutoMode, nt as normalizePayloadToSystemText, o as normalizeSendPolicy, or as setTtsEnabled, p as createOpenClawTools, pr as stopDiagnosticHeartbeat, qn as createInternalHookEvent, qt as listNodePairing, r as setCliSessionId, rn as getHookType, rr as resolveTtsConfig, rt as normalizeRequiredName, s as resolveSendPolicy, sr as setTtsProvider, st as requestHeartbeatNow, tn as buildSafeExternalPrompt, tr as resolveTtsApiKey, tt as normalizeOptionalText, u as abortEmbeddedPiRun, ur as setCommandLaneConcurrency, ut as loadOpenClawPlugins, v as loadSessionEntry, vn as resolveCronStyleNow, w as readSessionPreviewItemsFromTranscript, wn as dispatchInboundMessage, wr as parseVerboseOverride, x as archiveFileOnDisk, xn as getChannelActivity, y as resolveGatewaySessionStoreTarget, yr as stripHeartbeatToken, z as authorizeGatewaySigusr1Restart, zr as DEFAULT_INPUT_PDF_MIN_TEXT_CHARS, zt as resolveAssistantAvatarUrl } from "./reply-BUHI5pXf.js";
2
+ import { B as getLogger, C as getActivePluginRegistry, I as colorize, L as isRich, M as setVerbose, R as theme, V as getResolvedLoggerSettings, a as setConsoleTimestampPrefix, c as defaultRuntime, h as DEFAULT_CHAT_CHANNEL, i as setConsoleSubsystemFilter, n as runtimeForLogger, p as CHANNEL_IDS, t as createSubsystemLogger, z as getChildLogger } from "./subsystem-BbfPHMjH.js";
3
+ import { C as shortenHomePath, D as truncateUtf16Safe, b as resolveUserPath, c as ensureDir, d as isPlainObject, r as clamp, t as CONFIG_DIR } from "./utils-l-o5S4c-.js";
4
+ import { B as normalizeElevatedLevel, H as normalizeThinkLevel, I as formatThinkingLevels, K as supportsXHighThinking, L as formatXHighModelHint, U as normalizeUsageDisplay, V as normalizeReasoningLevel, W as normalizeVerboseLevel } from "./pi-embedded-helpers-WA1Uq3tV.js";
5
+ import { $ as inferLegacyName, $n as isTtsEnabled, $t as getSkillsSnapshotVersion, An as runSubagentAnnounceFlow, Ar as registerUnhandledRejectionHandler, B as consumeGatewaySigusr1RestartAuthorization, Br as DEFAULT_INPUT_TIMEOUT_MS, Bt as getRemoteSkillEligibility, C as readSessionMessages, Cr as applyVerboseOverride, Dn as isAbortTrigger, E as stripEnvelopeFromMessages, En as formatZonedTimestamp, Er as isSystemEventContextChanged, F as resetDirectoryCache, Fn as onAgentEvent, Fr as DEFAULT_INPUT_IMAGE_MIMES, G as formatDoctorNonInteractiveHint, Gn as resolveUserTimezone, Gr as resolveAgentTimeoutMs, Gt as setSkillsRemoteRegistry, H as scheduleGatewaySigusr1Restart, Hn as resolveMemoryBackendConfig, Hr as extractImageContentFromSource, Ht as recordRemoteNodeInfo, In as registerAgentRunContext, Ir as DEFAULT_INPUT_MAX_REDIRECTS, It as CONTROL_UI_AVATAR_PREFIX, J as summarizeRestartSentinel, Jn as registerInternalHook, Jt as rejectNodePairing, K as formatRestartSentinelMessage, Kn as clearInternalHooks, Kt as approveNodePairing, L as runWithModelFallback, Lr as DEFAULT_INPUT_PDF_MAX_PAGES, Lt as buildControlUiAvatarUrl, M as resolveOutboundTarget, Mn as clearAgentRunContext, Mr as DEFAULT_INPUT_FILE_MAX_CHARS, N as resolveSessionDeliveryTarget, Nn as emitAgentEvent, Nr as DEFAULT_INPUT_FILE_MIMES, O as ensureOutboundSessionEntry, On as stopSubagentsForRequester, Or as loadModelCatalog, Pn as getAgentRunContext, Pr as DEFAULT_INPUT_IMAGE_MAX_BYTES, Q as normalizeCronJobPatch, Qn as getTtsProvider, Qt as verifyNodeToken, Rn as normalizePollInput, Rr as DEFAULT_INPUT_PDF_MAX_PIXELS, Rt as normalizeControlUiBasePath, S as capArrayByJsonBytes, Sr as applyModelOverrideToSessionEntry, T as resolveSessionTranscriptCandidates, Tn as createReplyDispatcher, Tr as enqueueSystemEvent, Tt as handleReset, U as setGatewaySigusr1RestartPolicy, Un as resolveAgentIdentity, Ur as normalizeMimeList, Ut as refreshRemoteBinsForConnectedNodes, V as isGatewaySigusr1RestartExternallyAllowed, Vn as getMemorySearchManager, Vr as extractFileContentFromSource, Vt as primeRemoteSkillsCache, W as consumeRestartSentinel, Wt as refreshRemoteNodeBins, X as writeRestartSentinel, Xn as OPENAI_TTS_MODELS, Xt as requestNodePairing, Yn as triggerInternalHook, Yt as renamePairedNode, Z as normalizeCronJobCreate, Zn as OPENAI_TTS_VOICES, Zt as updatePairedNodeMetadata, _ as loadCombinedSessionStoreForGateway, ar as resolveTtsProviderOrder, b as resolveSessionModelRef, br as lookupContextTokens, c as clearSessionQueues, cn as createReplyPrefixOptions, cr as textToSpeech, d as waitForEmbeddedPiRunEnd, dn as buildHistoryContextFromEntries, dr as CommandLane, dt as loadProviderUsageSummary, en as registerSkillsChangeListener, er as isTtsProviderConfigured, et as normalizeOptionalAgentId, fn as resolveHeartbeatVisibility, fr as startDiagnosticHeartbeat, g as listSessionsFromStore, gt as handleSlackHttpRequest, h as listAgentsForGateway, hn as onHeartbeatEvent, hr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, i as runCliAgent, in as isExternalHookSession, ir as resolveTtsPrefsPath, it as migrateLegacyCronPayload, jr as DEFAULT_INPUT_FILE_MAX_BYTES, k as resolveOutboundSessionRoute, kn as initSubagentRegistry, l as runEmbeddedPiAgent, ln as normalizeGroupActivation, lt as getPluginToolMeta, m as resolveAnnounceTargetFromKey, mn as getLastHeartbeatEvent, mr as isDiagnosticsEnabled, n as getCliSessionId, nn as detectSuspiciousPatterns, nr as resolveTtsAutoMode, nt as normalizePayloadToSystemText, o as normalizeSendPolicy, or as setTtsEnabled, p as createOpenClawTools, pr as stopDiagnosticHeartbeat, qn as createInternalHookEvent, qt as listNodePairing, r as setCliSessionId, rn as getHookType, rr as resolveTtsConfig, rt as normalizeRequiredName, s as resolveSendPolicy, sr as setTtsProvider, st as requestHeartbeatNow, tn as buildSafeExternalPrompt, tr as resolveTtsApiKey, tt as normalizeOptionalText, u as abortEmbeddedPiRun, ur as setCommandLaneConcurrency, ut as loadOpenClawPlugins, v as loadSessionEntry, vn as resolveCronStyleNow, w as readSessionPreviewItemsFromTranscript, wn as dispatchInboundMessage, wr as parseVerboseOverride, x as archiveFileOnDisk, xn as getChannelActivity, y as resolveGatewaySessionStoreTarget, yr as stripHeartbeatToken, z as authorizeGatewaySigusr1Restart, zr as DEFAULT_INPUT_PDF_MIN_TEXT_CHARS, zt as resolveAssistantAvatarUrl } from "./reply-swCg9iXH.js";
6
6
  import { _ as isCronRunSessionKey, d as resolveAgentIdFromSessionKey, i as buildAgentMainSessionKey, l as normalizeAgentId, m as toAgentRequestSessionKey, n as DEFAULT_AGENT_ID, t as DEFAULT_ACCOUNT_ID, u as normalizeMainKey, v as isSubagentSessionKey, y as parseAgentSessionKey } from "./session-key-BWxPj0z_.js";
7
- import { a as logDebug, c as logWarn, n as runExec, t as runCommandWithTimeout } from "./exec-Cv_Ofd1m.js";
8
- import { t as resolveOpenClawPackageRoot } from "./openclaw-root-93W6UrUK.js";
9
- import { T as resolveWorkspaceTemplateDir, _ as DEFAULT_MEMORY_FILENAME, b as DEFAULT_USER_FILENAME, c as resolveDefaultAgentId, d as DEFAULT_AGENTS_FILENAME, g as DEFAULT_MEMORY_ALT_FILENAME, h as DEFAULT_IDENTITY_FILENAME, i as resolveAgentModelFallbacksOverride, l as resolveSessionAgentId, m as DEFAULT_HEARTBEAT_FILENAME, n as resolveAgentConfig, p as DEFAULT_BOOTSTRAP_FILENAME, r as resolveAgentDir, s as resolveAgentWorkspaceDir, t as listAgentIds, v as DEFAULT_SOUL_FILENAME, w as resolveDefaultAgentWorkspaceDir, x as ensureAgentWorkspace, y as DEFAULT_TOOLS_FILENAME } from "./agent-scope-bNHJh30H.js";
10
- import { Dt as DEFAULT_MODEL, Et as DEFAULT_CONTEXT_TOKENS, Ot as DEFAULT_PROVIDER, St as normalizeSecretInput, a as isCliProvider, d as resolveConfiguredModelRef, f as resolveDefaultModelForAgent, h as resolveThinkingDefault, i as getModelRefStatus, l as resolveAllowedModelRef, p as resolveHooksGmailModel } from "./model-selection-NPMD6wNp.js";
7
+ import { a as logDebug, c as logWarn, n as runExec, t as runCommandWithTimeout } from "./exec-BSMwiIMp.js";
8
+ import { t as resolveOpenClawPackageRoot } from "./openclaw-root-CBSq79BF.js";
9
+ import { T as resolveWorkspaceTemplateDir, _ as DEFAULT_MEMORY_FILENAME, b as DEFAULT_USER_FILENAME, c as resolveDefaultAgentId, d as DEFAULT_AGENTS_FILENAME, g as DEFAULT_MEMORY_ALT_FILENAME, h as DEFAULT_IDENTITY_FILENAME, i as resolveAgentModelFallbacksOverride, l as resolveSessionAgentId, m as DEFAULT_HEARTBEAT_FILENAME, n as resolveAgentConfig, p as DEFAULT_BOOTSTRAP_FILENAME, r as resolveAgentDir, s as resolveAgentWorkspaceDir, t as listAgentIds, v as DEFAULT_SOUL_FILENAME, w as resolveDefaultAgentWorkspaceDir, x as ensureAgentWorkspace, y as DEFAULT_TOOLS_FILENAME } from "./agent-scope-CPiO6Aw7.js";
10
+ import { Dt as DEFAULT_MODEL, Et as DEFAULT_CONTEXT_TOKENS, Ot as DEFAULT_PROVIDER, St as normalizeSecretInput, a as isCliProvider, d as resolveConfiguredModelRef, f as resolveDefaultModelForAgent, h as resolveThinkingDefault, i as getModelRefStatus, l as resolveAllowedModelRef, p as resolveHooksGmailModel } from "./model-selection-lT7g9ysC.js";
11
11
  import "./github-copilot-token-BW-SEg7E.js";
12
12
  import { t as formatCliCommand } from "./command-format-ChfKqObn.js";
13
13
  import "./boolean-BgXe2hyu.js";
14
- import { n as logAcceptedEnvOption, t as isTruthyEnvValue } from "./env-BxRc6wWv.js";
15
- import { A as resolveAgentMaxConcurrent, E as applyLegacyMigrations, M as VERSION, a as parseConfigJson5, c as writeConfigFile, g as parseDurationMs, i as loadConfig, j as resolveSubagentMaxConcurrent, l as validateConfigObjectWithPlugins, n as migrateLegacyConfig, o as readConfigFileSnapshot, r as createConfigIO, s as resolveConfigSnapshotHash, u as OpenClawSchema } from "./config-5nrp_Vu5.js";
16
- import { s as isTestDefaultMemorySlotDisabled } from "./manifest-registry-3It8Z8yN.js";
17
- import { n as listChannelPlugins, r as normalizeChannelId, t as getChannelPlugin } from "./plugins-CXDOnert.js";
18
- import { B as snapshotSessionOrigin, F as resolveAgentMainSessionKey, I as resolveExplicitAgentSessionKey, L as resolveMainSessionKey, R as resolveMainSessionKeyFromConfig, S as mergeDeliveryContext, at as normalizeToolName, b as deliveryContextFromSession, d as loadSessionStore, g as updateSessionStore, nt as collectExplicitAllowlist, ot as resolveToolProfilePolicy, rt as expandPolicyWithPluginGroups, st as stripPluginOnlyAllowlist, tt as buildPluginToolGroups, w as normalizeSessionDeliveryFields } from "./sandbox-CGlEY-RT.js";
19
- import "./image-k4cY_IKa.js";
14
+ import { n as logAcceptedEnvOption, t as isTruthyEnvValue } from "./env-DqiOM57_.js";
15
+ import { A as resolveAgentMaxConcurrent, E as applyLegacyMigrations, M as VERSION, a as parseConfigJson5, c as writeConfigFile, g as parseDurationMs, i as loadConfig, j as resolveSubagentMaxConcurrent, l as validateConfigObjectWithPlugins, n as migrateLegacyConfig, o as readConfigFileSnapshot, r as createConfigIO, s as resolveConfigSnapshotHash, u as OpenClawSchema } from "./config-DiNnQcwe.js";
16
+ import { s as isTestDefaultMemorySlotDisabled } from "./manifest-registry-C0ApY9d8.js";
17
+ import { n as listChannelPlugins, r as normalizeChannelId, t as getChannelPlugin } from "./plugins-5W5E71Ut.js";
18
+ import { B as snapshotSessionOrigin, F as resolveAgentMainSessionKey, I as resolveExplicitAgentSessionKey, L as resolveMainSessionKey, R as resolveMainSessionKeyFromConfig, S as mergeDeliveryContext, at as normalizeToolName, b as deliveryContextFromSession, d as loadSessionStore, g as updateSessionStore, nt as collectExplicitAllowlist, ot as resolveToolProfilePolicy, rt as expandPolicyWithPluginGroups, st as stripPluginOnlyAllowlist, tt as buildPluginToolGroups, w as normalizeSessionDeliveryFields } from "./sandbox-DxAKZfZd.js";
19
+ import "./image-DxmrpIUn.js";
20
20
  import "./pi-model-discovery-CV2V1HHz.js";
21
- import { d as inspectPortUsage, l as ensurePortAvailable, p as formatPortDiagnostics } from "./chrome-Dm-EgOjJ.js";
22
- import { d as hasBinary, i as loadWorkspaceSkillEntries, r as buildWorkspaceSkillSnapshot } from "./skills-Bau1zXIA.js";
23
- import { c as saveMediaBuffer, l as detectMime } from "./routes-CserrUab.js";
21
+ import { d as inspectPortUsage, l as ensurePortAvailable, p as formatPortDiagnostics } from "./chrome-XHJ9uNgs.js";
22
+ import { d as hasBinary, i as loadWorkspaceSkillEntries, r as buildWorkspaceSkillSnapshot } from "./skills-pqbmJf1e.js";
23
+ import { c as saveMediaBuffer, l as detectMime } from "./routes-BqZyywjQ.js";
24
24
  import { a as isErrno, n as formatErrorMessage } from "./errors-B0eT3jVv.js";
25
- import { n as movePathToTrash } from "./server-context-8Qt35QdF.js";
25
+ import { n as movePathToTrash } from "./server-context-DT3SRl5J.js";
26
26
  import { n as pickPrimaryTailnetIPv6, t as pickPrimaryTailnetIPv4 } from "./tailnet-DGRSvYuQ.js";
27
27
  import { c as resolveGatewayBindHost, i as isTrustedProxyAddress, l as resolveGatewayClientIp, n as isLoopbackAddress, r as isLoopbackHost, t as rawDataToString, u as resolveGatewayListenHosts } from "./ws-DtDKpbLR.js";
28
- import { 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-Cu61-7H6.js";
28
+ import { 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-DIvXZ2w4.js";
29
29
  import "./logging-BzvBIA3Y.js";
30
- import "./accounts-C2elk6PC.js";
30
+ import "./accounts-xJh3pJei.js";
31
31
  import { a as resolveSessionTranscriptsDirForAgent, n as resolveSessionFilePath, o as resolveStorePath, r as resolveSessionTranscriptPath } from "./paths-Bkhd_qY8.js";
32
32
  import "./redact-DAKeu7PA.js";
33
- import "./tool-display-DskiU8Kt.js";
34
- import { o as normalizeReplyPayloadsForDelivery, t as deliverOutboundPayloads } from "./deliver-DD8Syx3t.js";
35
- import { i as getMachineDisplayName, t as createBrowserRouteDispatcher } from "./dispatcher-BMY38O6j.js";
36
- import "./manager-BHbv6kNQ.js";
37
- import "./sqlite-Btrgi7-j.js";
38
- import "./tui-formatters-B4pCnF0N.js";
39
- import { $ as validateNodePairRequestParams, A as validateCronStatusParams, At as parseSessionLabel, B as validateExecApprovalsNodeGetParams, C as validateConfigSetParams, Ct as validateWizardNextParams, D as validateCronRemoveParams, Dt as ErrorCodes, E as validateCronListParams, Et as PROTOCOL_VERSION, F as validateDeviceTokenRevokeParams, Ft as normalizeDevicePublicKeyBase64Url, G as validateNodeDescribeParams, H as validateExecApprovalsSetParams, I as validateDeviceTokenRotateParams, It as verifyDeviceSignature, J as validateNodeInvokeResultParams, K as validateNodeEventParams, L as validateExecApprovalRequestParams, M as validateDevicePairApproveParams, N as validateDevicePairListParams, Nt as deriveDeviceIdFromPublicKey, O as validateCronRunParams, Ot as errorShape, P as validateDevicePairRejectParams, Q as validateNodePairRejectParams, R as validateExecApprovalResolveParams, S as validateConfigSchemaParams, St as validateWizardCancelParams, T as validateCronAddParams, Tt as validateWizardStatusParams, U as validateLogsTailParams, V as validateExecApprovalsNodeSetParams, W as validateModelsListParams, X as validateNodePairApproveParams, Y as validateNodeListParams, Z as validateNodePairListParams, _ as validateChatInjectParams, _t as validateTalkModeParams, a as validateAgentWaitParams, at as validateSessionsCompactParams, b as validateConfigGetParams, bt as validateWebLoginStartParams, c as validateAgentsFilesGetParams, ct as validateSessionsPatchParams, d as validateAgentsListParams, dt as validateSessionsResolveParams, et as validateNodePairVerifyParams, f as validateAgentsUpdateParams, ft as validateSessionsUsageParams, g as validateChatHistoryParams, gt as validateSkillsUpdateParams, h as validateChatAbortParams, ht as validateSkillsStatusParams, i as validateAgentParams, it as validateSendParams, j as validateCronUpdateParams, jt as buildDeviceAuthPayload, k as validateCronRunsParams, l as validateAgentsFilesListParams, lt as validateSessionsPreviewParams, m as validateChannelsStatusParams, mt as validateSkillsInstallParams, n as formatValidationErrors, nt as validatePollParams, o as validateAgentsCreateParams, ot as validateSessionsDeleteParams, p as validateChannelsLogoutParams, pt as validateSkillsBinsParams, q as validateNodeInvokeParams, r as validateAgentIdentityParams, rt as validateRequestFrame, s as validateAgentsDeleteParams, st as validateSessionsListParams, tt as validateNodeRenameParams, u as validateAgentsFilesSetParams, ut as validateSessionsResetParams, v as validateChatSendParams, vt as validateUpdateRunParams, w as validateConnectParams, wt as validateWizardStartParams, x as validateConfigPatchParams, xt as validateWebLoginWaitParams, y as validateConfigApplyParams, yt as validateWakeParams, z as validateExecApprovalsGetParams } from "./client-6xKrRC-1.js";
40
- import { n as callGateway, o as loadGatewayTlsRuntime$1 } from "./call-LDoK5_Jv.js";
41
- import "./login-qr-CQLEtsFG.js";
42
- import "./pairing-store-C5bI2uOn.js";
43
- import { t as formatDocsLink } from "./links-C591fM9M.js";
33
+ import "./tool-display-DwOJbBjC.js";
34
+ import { o as normalizeReplyPayloadsForDelivery, t as deliverOutboundPayloads } from "./deliver-B-MU3Szq.js";
35
+ import { i as getMachineDisplayName, t as createBrowserRouteDispatcher } from "./dispatcher-Rf7W2dBd.js";
36
+ import "./manager-DOqexxfO.js";
37
+ import "./sqlite-CDfAET9Y.js";
38
+ import "./tui-formatters-C-dAVvRi.js";
39
+ import { $ as validateNodePairRequestParams, A as validateCronStatusParams, At as parseSessionLabel, B as validateExecApprovalsNodeGetParams, C as validateConfigSetParams, Ct as validateWizardNextParams, D as validateCronRemoveParams, Dt as ErrorCodes, E as validateCronListParams, Et as PROTOCOL_VERSION, F as validateDeviceTokenRevokeParams, Ft as normalizeDevicePublicKeyBase64Url, G as validateNodeDescribeParams, H as validateExecApprovalsSetParams, I as validateDeviceTokenRotateParams, It as verifyDeviceSignature, J as validateNodeInvokeResultParams, K as validateNodeEventParams, L as validateExecApprovalRequestParams, M as validateDevicePairApproveParams, N as validateDevicePairListParams, Nt as deriveDeviceIdFromPublicKey, O as validateCronRunParams, Ot as errorShape, P as validateDevicePairRejectParams, Q as validateNodePairRejectParams, R as validateExecApprovalResolveParams, S as validateConfigSchemaParams, St as validateWizardCancelParams, T as validateCronAddParams, Tt as validateWizardStatusParams, U as validateLogsTailParams, V as validateExecApprovalsNodeSetParams, W as validateModelsListParams, X as validateNodePairApproveParams, Y as validateNodeListParams, Z as validateNodePairListParams, _ as validateChatInjectParams, _t as validateTalkModeParams, a as validateAgentWaitParams, at as validateSessionsCompactParams, b as validateConfigGetParams, bt as validateWebLoginStartParams, c as validateAgentsFilesGetParams, ct as validateSessionsPatchParams, d as validateAgentsListParams, dt as validateSessionsResolveParams, et as validateNodePairVerifyParams, f as validateAgentsUpdateParams, ft as validateSessionsUsageParams, g as validateChatHistoryParams, gt as validateSkillsUpdateParams, h as validateChatAbortParams, ht as validateSkillsStatusParams, i as validateAgentParams, it as validateSendParams, j as validateCronUpdateParams, jt as buildDeviceAuthPayload, k as validateCronRunsParams, l as validateAgentsFilesListParams, lt as validateSessionsPreviewParams, m as validateChannelsStatusParams, mt as validateSkillsInstallParams, n as formatValidationErrors, nt as validatePollParams, o as validateAgentsCreateParams, ot as validateSessionsDeleteParams, p as validateChannelsLogoutParams, pt as validateSkillsBinsParams, q as validateNodeInvokeParams, r as validateAgentIdentityParams, rt as validateRequestFrame, s as validateAgentsDeleteParams, st as validateSessionsListParams, tt as validateNodeRenameParams, u as validateAgentsFilesSetParams, ut as validateSessionsResetParams, v as validateChatSendParams, vt as validateUpdateRunParams, w as validateConnectParams, wt as validateWizardStartParams, x as validateConfigPatchParams, xt as validateWebLoginWaitParams, y as validateConfigApplyParams, yt as validateWakeParams, z as validateExecApprovalsGetParams } from "./client-Cam-Cwyu.js";
40
+ import { n as callGateway, o as loadGatewayTlsRuntime$1 } from "./call-Ccyb4kQR.js";
41
+ import "./login-qr-DXiuhBc8.js";
42
+ import "./pairing-store-C6EhvkMA.js";
43
+ import { t as formatDocsLink } from "./links-D6CUlrWZ.js";
44
44
  import { n as runCommandWithRuntime } from "./cli-utils-R-ECs5cY.js";
45
- import { n as withProgress } from "./progress-DIQJt9Va.js";
46
- import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, r as resolveEffectiveToolPolicy, t as filterToolsByPolicy } from "./pi-tools.policy-B5XNSHCf.js";
47
- import "./prompt-style-CjQRlDx4.js";
48
- import "./pairing-labels-C1gYNpBx.js";
45
+ import { n as withProgress } from "./progress-COZ_ycun.js";
46
+ import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, r as resolveEffectiveToolPolicy, t as filterToolsByPolicy } from "./pi-tools.policy-CCQVTuZw.js";
47
+ import "./prompt-style-CghhrkxS.js";
48
+ import "./pairing-labels-K_6MMQA_.js";
49
49
  import { i as loadSessionUsageTimeSeries, l as deriveSessionTotalTokens, n as loadCostUsageSummary, r as loadSessionCostSummary, t as discoverAllSessions, u as hasNonzeroUsage } from "./session-cost-usage-PvyVZz-g.js";
50
50
  import { n as formatTokenCount, r as formatUsd } from "./usage-format-hd37en6b.js";
51
51
  import { c as normalizeExecApprovals, g as saveExecApprovals, l as readExecApprovalsSnapshot, m as resolveExecApprovalsSocketPath, r as ensureExecApprovals } from "./exec-approvals-DGPTjO0N.js";
52
- import { n as createBrowserControlContext, r as startBrowserControlServiceFromConfig } from "./control-service-BNpv08hT.js";
52
+ import { n as createBrowserControlContext, r as startBrowserControlServiceFromConfig } from "./control-service-CAXvnE0u.js";
53
53
  import { t as parseAbsoluteTimeMs } from "./parse-DqAvJRIf.js";
54
- import { n as resolveMessageChannelSelection } from "./channel-selection-DqqM1jFv.js";
55
- import { n as createOutboundSendDeps, t as createDefaultDeps } from "./deps-C0FUEdGv.js";
56
- import { i as enableTailscaleServe, n as disableTailscaleServe, o as getTailnetHostname, r as enableTailscaleFunnel, t as disableTailscaleFunnel } from "./tailscale-Cu-2HNvU.js";
57
- import { t as ensureOpenClawCliOnPath } from "./path-env-BgLvMbz_.js";
58
- import "./daemon-runtime-DJzKTLqv.js";
59
- import { c as loadAgentIdentity, d as loadAgentIdentityFromWorkspace, i as applyAgentConfig, l as pruneAgentConfig, o as findAgentEntryIndex, p as forceFreePortAndWait, r as getStatusSummary, s as listAgentEntries, t as runOnboardingWizard } from "./onboarding-C0eU8uVL.js";
54
+ import { n as resolveMessageChannelSelection } from "./channel-selection-La1tQIxQ.js";
55
+ import { n as createOutboundSendDeps, t as createDefaultDeps } from "./deps-CaDXl7AZ.js";
56
+ import { i as enableTailscaleServe, n as disableTailscaleServe, o as getTailnetHostname, r as enableTailscaleFunnel, t as disableTailscaleFunnel } from "./tailscale-WFi900xf.js";
57
+ import { t as ensureOpenClawCliOnPath } from "./path-env-CvL55Ntz.js";
58
+ import "./daemon-runtime-CVte5WIX.js";
59
+ import { c as loadAgentIdentity, d as loadAgentIdentityFromWorkspace, i as applyAgentConfig, l as pruneAgentConfig, o as findAgentEntryIndex, p as forceFreePortAndWait, r as getStatusSummary, s as listAgentEntries, t as runOnboardingWizard } from "./onboarding-DzjDuLJ0.js";
60
60
  import { t as resolveChannelDefaultAccountId } from "./helpers-C89IG08W.js";
61
- import "./logging-MMRGFxGI.js";
62
- import "./note-5WqioBRA.js";
61
+ import "./logging-BhXRnaAc.js";
62
+ import "./note-B5QlVszL.js";
63
63
  import { t as WizardCancelledError } from "./prompts--d-6l5Ln.js";
64
- import { i as discoverGatewayBeacons, n as installSkill } from "./onboard-skills-BeyUY0aV.js";
65
- import "./github-copilot-auth-CmgVG7Gb.js";
66
- import "./onboard-channels-B_k5nbDK.js";
67
- import { r as buildChannelUiCatalog, t as applyPluginAutoEnable } from "./plugin-auto-enable-DOx-bCgl.js";
68
- import "./archive-CXhvR9nU.js";
69
- import "./skill-scanner-DrVEHfC6.js";
70
- import "./installs-CRSjQxbR.js";
71
- import { a as resolveControlUiRootOverrideSync, c as getHealthSnapshot, d as runHeartbeatOnce, f as setHeartbeatsEnabled, n as ensureControlUiAssetsBuilt, o as resolveControlUiRootSync, p as startHeartbeatRunner, s as formatHealthChannelLines } from "./health-format-D151p64n.js";
72
- import { S as normalizeUpdateChannel, _ as resolveNpmChannelTag, h as compareSemverStrings, m as checkUpdateStatus, t as runGatewayUpdate, y as DEFAULT_PACKAGE_CHANNEL } from "./update-runner-D0k9HftN.js";
73
- import { i as resolveGatewayAuth, n as authorizeGatewayConnect, r as isLocalDirectRequest, t as assertGatewayAuthConfigured } from "./auth-BvIPpm7G.js";
74
- import { i as probeGateway } from "./audit-VCa9vZUY.js";
75
- import "./table-DEnmtvl5.js";
76
- import { t as buildWorkspaceSkillStatus } from "./skills-status-BkAjWh29.js";
77
- import "./service-Cd4BxKuo.js";
78
- import "./systemd-D6wTPnHi.js";
79
- import "./service-audit-BRMQq36C.js";
80
- import "./node-service-CM5vkdIo.js";
81
- import "./channels-status-issues-CIvi5Dko.js";
82
- import "./completion-cli-BYQOTb3_.js";
83
- import { a as createOutboundSendDeps$1, i as resolveAgentOutboundTarget, r as resolveAgentDeliveryPlan, t as agentCommand } from "./agent-CVe9csik.js";
84
- import { n as resolveWideAreaDiscoveryDomain, r as writeWideAreaGatewayZone } from "./widearea-dns-2ah0bkAj.js";
85
- import { i as shouldIncludeHook, n as loadWorkspaceHookEntries, r as resolveHookConfig } from "./hooks-status-U2JQ8wza.js";
86
- import "./tui-_kotMBV7.js";
64
+ import { i as discoverGatewayBeacons, n as installSkill } from "./onboard-skills-Djn43Fx2.js";
65
+ import "./github-copilot-auth-BJOEuPdX.js";
66
+ import "./onboard-channels-DNlBXz4a.js";
67
+ import { r as buildChannelUiCatalog, t as applyPluginAutoEnable } from "./plugin-auto-enable-BvBr0yMV.js";
68
+ import "./archive-BixfOVSf.js";
69
+ import "./skill-scanner-zYmZ2Coy.js";
70
+ import "./installs-C9WW834H.js";
71
+ import { a as resolveControlUiRootOverrideSync, c as getHealthSnapshot, d as runHeartbeatOnce, f as setHeartbeatsEnabled, n as ensureControlUiAssetsBuilt, o as resolveControlUiRootSync, p as startHeartbeatRunner, s as formatHealthChannelLines } from "./health-format-I_hcV0x3.js";
72
+ import { S as normalizeUpdateChannel, _ as resolveNpmChannelTag, h as compareSemverStrings, m as checkUpdateStatus, t as runGatewayUpdate, y as DEFAULT_PACKAGE_CHANNEL } from "./update-runner-BiHI3sto.js";
73
+ import { i as resolveGatewayAuth, n as authorizeGatewayConnect, r as isLocalDirectRequest, t as assertGatewayAuthConfigured } from "./auth-D_PS9etv.js";
74
+ import { i as probeGateway } from "./audit-CGlFTiEB.js";
75
+ import "./table-DTm1PXe-.js";
76
+ import { t as buildWorkspaceSkillStatus } from "./skills-status-d-tVLIaC.js";
77
+ import "./service-DPsnpYzk.js";
78
+ import "./systemd-Dd6y2wnN.js";
79
+ import "./service-audit-DWlZlYl6.js";
80
+ import "./node-service-OjXvN5Ee.js";
81
+ import "./channels-status-issues-DmIFbKRs.js";
82
+ import "./completion-cli-DZlpcsto.js";
83
+ import { a as createOutboundSendDeps$1, i as resolveAgentOutboundTarget, r as resolveAgentDeliveryPlan, t as agentCommand } from "./agent-DkZpDQJb.js";
84
+ import { n as resolveWideAreaDiscoveryDomain, r as writeWideAreaGatewayZone } from "./widearea-dns-mquEd9kr.js";
85
+ import { i as shouldIncludeHook, n as loadWorkspaceHookEntries, r as resolveHookConfig } from "./hooks-status-B3y3_Ypf.js";
86
+ import "./tui-CJPKiYWz.js";
87
87
  import { t as buildChannelAccountSnapshot } from "./status-Cv36yYdi.js";
88
- import "./shared-gOyV38rM.js";
89
- import { a as runDaemonStop, i as runDaemonStart, n as runDaemonStatus, o as runDaemonUninstall, r as runDaemonRestart, s as runDaemonInstall } from "./daemon-cli-DZDIZ0M-.js";
90
- import { a as toOptionString, i as parsePort$1, n as extractGatewayMiskeys, r as maybeExplainGatewayServiceStop, t as describeUnknownError } from "./shared-ILguacOr.js";
91
- import { i as setGatewayWsLogStyle, n as logWs, r as summarizeAgentEventForWsLog, t as formatForLog } from "./ws-log-D7MkvKhg.js";
92
- import { T as resolveGmailHookRuntimeConfig, _ as buildGogWatchServeArgs, i as ensureTailscaleEndpoint, v as buildGogWatchStartArgs } from "./gmail-setup-utils-TwmZ8mMs.js";
88
+ import "./shared-DvAp_MsR.js";
89
+ import { a as runDaemonStop, i as runDaemonStart, n as runDaemonStatus, o as runDaemonUninstall, r as runDaemonRestart, s as runDaemonInstall } from "./daemon-cli-Ctp4o7qg.js";
90
+ import { a as toOptionString, i as parsePort$1, n as extractGatewayMiskeys, r as maybeExplainGatewayServiceStop, t as describeUnknownError } from "./shared-DQO8Xdjp.js";
91
+ import { i as setGatewayWsLogStyle, n as logWs, r as summarizeAgentEventForWsLog, t as formatForLog } from "./ws-log-B2H596h5.js";
92
+ import { T as resolveGmailHookRuntimeConfig, _ as buildGogWatchServeArgs, i as ensureTailscaleEndpoint, v as buildGogWatchStartArgs } from "./gmail-setup-utils-CTDfMXTW.js";
93
93
  import { fileURLToPath, pathToFileURL } from "node:url";
94
94
  import * as fsSync from "node:fs";
95
95
  import fs, { constants } from "node:fs";
96
96
  import os from "node:os";
97
97
  import path from "node:path";
98
- import JSON5 from "json5";
98
+ import json5 from "json5";
99
99
  import chalk from "chalk";
100
- import fs$1 from "node:fs/promises";
100
+ import fsPromises from "node:fs/promises";
101
101
  import { spawn, spawnSync } from "node:child_process";
102
102
  import crypto, { createHash, randomUUID } from "node:crypto";
103
103
  import { z } from "zod";
@@ -1095,7 +1095,7 @@ function shouldSkipCheck(allowInTests) {
1095
1095
  }
1096
1096
  async function readState(statePath) {
1097
1097
  try {
1098
- const raw = await fs$1.readFile(statePath, "utf-8");
1098
+ const raw = await fsPromises.readFile(statePath, "utf-8");
1099
1099
  const parsed = JSON.parse(raw);
1100
1100
  return parsed && typeof parsed === "object" ? parsed : {};
1101
1101
  } catch {
@@ -1103,8 +1103,8 @@ async function readState(statePath) {
1103
1103
  }
1104
1104
  }
1105
1105
  async function writeState(statePath, state) {
1106
- await fs$1.mkdir(path.dirname(statePath), { recursive: true });
1107
- await fs$1.writeFile(statePath, JSON.stringify(state, null, 2), "utf-8");
1106
+ await fsPromises.mkdir(path.dirname(statePath), { recursive: true });
1107
+ await fsPromises.writeFile(statePath, JSON.stringify(state, null, 2), "utf-8");
1108
1108
  }
1109
1109
  async function runGatewayUpdateCheck(params) {
1110
1110
  if (shouldSkipCheck(Boolean(params.allowInTests))) return;
@@ -2961,19 +2961,19 @@ function resolveCronRunLogPath(params) {
2961
2961
  }
2962
2962
  const writesByPath = /* @__PURE__ */ new Map();
2963
2963
  async function pruneIfNeeded(filePath, opts) {
2964
- const stat = await fs$1.stat(filePath).catch(() => null);
2964
+ const stat = await fsPromises.stat(filePath).catch(() => null);
2965
2965
  if (!stat || stat.size <= opts.maxBytes) return;
2966
- const lines = (await fs$1.readFile(filePath, "utf-8").catch(() => "")).split("\n").map((l) => l.trim()).filter(Boolean);
2966
+ const lines = (await fsPromises.readFile(filePath, "utf-8").catch(() => "")).split("\n").map((l) => l.trim()).filter(Boolean);
2967
2967
  const kept = lines.slice(Math.max(0, lines.length - opts.keepLines));
2968
2968
  const tmp = `${filePath}.${process.pid}.${Math.random().toString(16).slice(2)}.tmp`;
2969
- await fs$1.writeFile(tmp, `${kept.join("\n")}\n`, "utf-8");
2970
- await fs$1.rename(tmp, filePath);
2969
+ await fsPromises.writeFile(tmp, `${kept.join("\n")}\n`, "utf-8");
2970
+ await fsPromises.rename(tmp, filePath);
2971
2971
  }
2972
2972
  async function appendCronRunLog(filePath, entry, opts) {
2973
2973
  const resolved = path.resolve(filePath);
2974
2974
  const next = (writesByPath.get(resolved) ?? Promise.resolve()).catch(() => void 0).then(async () => {
2975
- await fs$1.mkdir(path.dirname(resolved), { recursive: true });
2976
- await fs$1.appendFile(resolved, `${JSON.stringify(entry)}\n`, "utf-8");
2975
+ await fsPromises.mkdir(path.dirname(resolved), { recursive: true });
2976
+ await fsPromises.appendFile(resolved, `${JSON.stringify(entry)}\n`, "utf-8");
2977
2977
  await pruneIfNeeded(resolved, {
2978
2978
  maxBytes: opts?.maxBytes ?? 2e6,
2979
2979
  keepLines: opts?.keepLines ?? 2e3
@@ -2985,7 +2985,7 @@ async function appendCronRunLog(filePath, entry, opts) {
2985
2985
  async function readCronRunLogEntries(filePath, opts) {
2986
2986
  const limit = Math.max(1, Math.min(5e3, Math.floor(opts?.limit ?? 200)));
2987
2987
  const jobId = opts?.jobId?.trim() || void 0;
2988
- const raw = await fs$1.readFile(path.resolve(filePath), "utf-8").catch(() => "");
2988
+ const raw = await fsPromises.readFile(path.resolve(filePath), "utf-8").catch(() => "");
2989
2989
  if (!raw.trim()) return [];
2990
2990
  const parsed = [];
2991
2991
  const lines = raw.split("\n");
@@ -3327,7 +3327,7 @@ async function loadCronStore(storePath) {
3327
3327
  const raw = await fs.promises.readFile(storePath, "utf-8");
3328
3328
  let parsed;
3329
3329
  try {
3330
- parsed = JSON5.parse(raw);
3330
+ parsed = json5.parse(raw);
3331
3331
  } catch (err) {
3332
3332
  throw new Error(`Failed to parse cron store at ${storePath}: ${String(err)}`, { cause: err });
3333
3333
  }
@@ -4817,7 +4817,7 @@ function sanitizeTriggers(triggers) {
4817
4817
  }
4818
4818
  async function readJSON$1(filePath) {
4819
4819
  try {
4820
- const raw = await fs$1.readFile(filePath, "utf8");
4820
+ const raw = await fsPromises.readFile(filePath, "utf8");
4821
4821
  return JSON.parse(raw);
4822
4822
  } catch {
4823
4823
  return null;
@@ -4825,10 +4825,10 @@ async function readJSON$1(filePath) {
4825
4825
  }
4826
4826
  async function writeJSONAtomic$1(filePath, value) {
4827
4827
  const dir = path.dirname(filePath);
4828
- await fs$1.mkdir(dir, { recursive: true });
4828
+ await fsPromises.mkdir(dir, { recursive: true });
4829
4829
  const tmp = `${filePath}.${randomUUID()}.tmp`;
4830
- await fs$1.writeFile(tmp, JSON.stringify(value, null, 2), "utf8");
4831
- await fs$1.rename(tmp, filePath);
4830
+ await fsPromises.writeFile(tmp, JSON.stringify(value, null, 2), "utf8");
4831
+ await fsPromises.rename(tmp, filePath);
4832
4832
  }
4833
4833
  let lock$1 = Promise.resolve();
4834
4834
  async function withLock$1(fn) {
@@ -5937,7 +5937,7 @@ const MEMORY_FILE_NAMES = [DEFAULT_MEMORY_FILENAME, DEFAULT_MEMORY_ALT_FILENAME]
5937
5937
  const ALLOWED_FILE_NAMES = new Set([...BOOTSTRAP_FILE_NAMES, ...MEMORY_FILE_NAMES]);
5938
5938
  async function statFile(filePath) {
5939
5939
  try {
5940
- const stat = await fs$1.stat(filePath);
5940
+ const stat = await fsPromises.stat(filePath);
5941
5941
  if (!stat.isFile()) return null;
5942
5942
  return {
5943
5943
  size: stat.size,
@@ -6006,7 +6006,7 @@ function resolveOptionalStringParam(value) {
6006
6006
  async function moveToTrashBestEffort(pathname) {
6007
6007
  if (!pathname) return;
6008
6008
  try {
6009
- await fs$1.access(pathname);
6009
+ await fsPromises.access(pathname);
6010
6010
  } catch {
6011
6011
  return;
6012
6012
  }
@@ -6053,7 +6053,7 @@ const agentsHandlers = {
6053
6053
  dir: workspaceDir,
6054
6054
  ensureBootstrapFiles: !Boolean(nextConfig.agents?.defaults?.skipBootstrap)
6055
6055
  });
6056
- await fs$1.mkdir(resolveSessionTranscriptsDirForAgent(agentId), { recursive: true });
6056
+ await fsPromises.mkdir(resolveSessionTranscriptsDirForAgent(agentId), { recursive: true });
6057
6057
  await writeConfigFile(nextConfig);
6058
6058
  const safeName = sanitizeIdentityLine(rawName);
6059
6059
  const emoji = resolveOptionalStringParam(params.emoji);
@@ -6066,7 +6066,7 @@ const agentsHandlers = {
6066
6066
  ...avatar ? [`- Avatar: ${sanitizeIdentityLine(avatar)}`] : [],
6067
6067
  ""
6068
6068
  ];
6069
- await fs$1.appendFile(identityPath, lines.join("\n"), "utf-8");
6069
+ await fsPromises.appendFile(identityPath, lines.join("\n"), "utf-8");
6070
6070
  respond(true, {
6071
6071
  ok: true,
6072
6072
  agentId,
@@ -6101,9 +6101,9 @@ const agentsHandlers = {
6101
6101
  });
6102
6102
  if (avatar) {
6103
6103
  const workspace = workspaceDir ?? resolveAgentWorkspaceDir(nextConfig, agentId);
6104
- await fs$1.mkdir(workspace, { recursive: true });
6104
+ await fsPromises.mkdir(workspace, { recursive: true });
6105
6105
  const identityPath = path.join(workspace, DEFAULT_IDENTITY_FILENAME);
6106
- await fs$1.appendFile(identityPath, `\n- Avatar: ${sanitizeIdentityLine(avatar)}\n`, "utf-8");
6106
+ await fsPromises.appendFile(identityPath, `\n- Avatar: ${sanitizeIdentityLine(avatar)}\n`, "utf-8");
6107
6107
  }
6108
6108
  respond(true, {
6109
6109
  ok: true,
@@ -6191,7 +6191,7 @@ const agentsHandlers = {
6191
6191
  }, void 0);
6192
6192
  return;
6193
6193
  }
6194
- const content = await fs$1.readFile(filePath, "utf-8");
6194
+ const content = await fsPromises.readFile(filePath, "utf-8");
6195
6195
  respond(true, {
6196
6196
  agentId,
6197
6197
  workspace: workspaceDir,
@@ -6222,10 +6222,10 @@ const agentsHandlers = {
6222
6222
  return;
6223
6223
  }
6224
6224
  const workspaceDir = resolveAgentWorkspaceDir(cfg, agentId);
6225
- await fs$1.mkdir(workspaceDir, { recursive: true });
6225
+ await fsPromises.mkdir(workspaceDir, { recursive: true });
6226
6226
  const filePath = path.join(workspaceDir, name);
6227
6227
  const content = String(params.content ?? "");
6228
- await fs$1.writeFile(filePath, content, "utf-8");
6228
+ await fsPromises.writeFile(filePath, content, "utf-8");
6229
6229
  const meta = await statFile(filePath);
6230
6230
  respond(true, {
6231
6231
  ok: true,
@@ -8666,7 +8666,7 @@ function resolvePaths(baseDir) {
8666
8666
  }
8667
8667
  async function readJSON(filePath) {
8668
8668
  try {
8669
- const raw = await fs$1.readFile(filePath, "utf8");
8669
+ const raw = await fsPromises.readFile(filePath, "utf8");
8670
8670
  return JSON.parse(raw);
8671
8671
  } catch {
8672
8672
  return null;
@@ -8674,15 +8674,15 @@ async function readJSON(filePath) {
8674
8674
  }
8675
8675
  async function writeJSONAtomic(filePath, value) {
8676
8676
  const dir = path.dirname(filePath);
8677
- await fs$1.mkdir(dir, { recursive: true });
8677
+ await fsPromises.mkdir(dir, { recursive: true });
8678
8678
  const tmp = `${filePath}.${randomUUID()}.tmp`;
8679
- await fs$1.writeFile(tmp, JSON.stringify(value, null, 2), "utf8");
8679
+ await fsPromises.writeFile(tmp, JSON.stringify(value, null, 2), "utf8");
8680
8680
  try {
8681
- await fs$1.chmod(tmp, 384);
8681
+ await fsPromises.chmod(tmp, 384);
8682
8682
  } catch {}
8683
- await fs$1.rename(tmp, filePath);
8683
+ await fsPromises.rename(tmp, filePath);
8684
8684
  try {
8685
- await fs$1.chmod(filePath, 384);
8685
+ await fsPromises.chmod(filePath, 384);
8686
8686
  } catch {}
8687
8687
  }
8688
8688
  function pruneExpiredPending(pendingById, nowMs) {
@@ -9305,14 +9305,14 @@ function isRollingLogFile(file) {
9305
9305
  return ROLLING_LOG_RE.test(path.basename(file));
9306
9306
  }
9307
9307
  async function resolveLogFile(file) {
9308
- if (await fs$1.stat(file).catch(() => null)) return file;
9308
+ if (await fsPromises.stat(file).catch(() => null)) return file;
9309
9309
  if (!isRollingLogFile(file)) return file;
9310
9310
  const dir = path.dirname(file);
9311
- const entries = await fs$1.readdir(dir, { withFileTypes: true }).catch(() => null);
9311
+ const entries = await fsPromises.readdir(dir, { withFileTypes: true }).catch(() => null);
9312
9312
  if (!entries) return file;
9313
9313
  return (await Promise.all(entries.filter((entry) => entry.isFile() && ROLLING_LOG_RE.test(entry.name)).map(async (entry) => {
9314
9314
  const fullPath = path.join(dir, entry.name);
9315
- const fileStat = await fs$1.stat(fullPath).catch(() => null);
9315
+ const fileStat = await fsPromises.stat(fullPath).catch(() => null);
9316
9316
  return fileStat ? {
9317
9317
  path: fullPath,
9318
9318
  mtimeMs: fileStat.mtimeMs
@@ -9320,7 +9320,7 @@ async function resolveLogFile(file) {
9320
9320
  }))).filter((entry) => Boolean(entry)).toSorted((a, b) => b.mtimeMs - a.mtimeMs)[0]?.path ?? file;
9321
9321
  }
9322
9322
  async function readLogSlice(params) {
9323
- const stat = await fs$1.stat(params.file).catch(() => null);
9323
+ const stat = await fsPromises.stat(params.file).catch(() => null);
9324
9324
  if (!stat) return {
9325
9325
  cursor: 0,
9326
9326
  size: 0,
@@ -9358,7 +9358,7 @@ async function readLogSlice(params) {
9358
9358
  truncated,
9359
9359
  reset
9360
9360
  };
9361
- const handle = await fs$1.open(params.file, "r");
9361
+ const handle = await fsPromises.open(params.file, "r");
9362
9362
  try {
9363
9363
  let prefix = "";
9364
9364
  if (start > 0) {
@@ -9784,7 +9784,7 @@ const nodeHandlers = {
9784
9784
  const p = params;
9785
9785
  const payloadJSON = typeof p.payloadJSON === "string" ? p.payloadJSON : p.payload !== void 0 ? JSON.stringify(p.payload) : null;
9786
9786
  await respondUnavailableOnThrow(respond, async () => {
9787
- const { handleNodeEvent } = await import("./server-node-events-D5itxoZj.js");
9787
+ const { handleNodeEvent } = await import("./server-node-events-CUQHYPok.js");
9788
9788
  const nodeId = client?.connect?.device?.id ?? client?.connect?.client?.id ?? "node";
9789
9789
  await handleNodeEvent({
9790
9790
  deps: context.deps,
@@ -12864,7 +12864,7 @@ function normalizeAgentPayload(payload, opts) {
12864
12864
  async function startBrowserControlServerIfEnabled() {
12865
12865
  if (isTruthyEnvValue(process.env.OPENCLAW_SKIP_BROWSER_CONTROL_SERVER)) return null;
12866
12866
  const override = process.env.OPENCLAW_BROWSER_CONTROL_MODULE?.trim();
12867
- const mod = override ? await import(override) : await import("./control-service-BNpv08hT.js").then((n) => n.t);
12867
+ const mod = override ? await import(override) : await import("./control-service-CAXvnE0u.js").then((n) => n.t);
12868
12868
  const start = typeof mod.startBrowserControlServiceFromConfig === "function" ? mod.startBrowserControlServiceFromConfig : mod.startBrowserControlServerFromConfig;
12869
12869
  const stop = typeof mod.stopBrowserControlService === "function" ? mod.stopBrowserControlService : mod.stopBrowserControlServer;
12870
12870
  if (!start) return null;
@@ -13027,8 +13027,8 @@ async function resolveA2uiRoot() {
13027
13027
  for (const dir of candidates) try {
13028
13028
  const indexPath = path.join(dir, "index.html");
13029
13029
  const bundlePath = path.join(dir, "a2ui.bundle.js");
13030
- await fs$1.stat(indexPath);
13031
- await fs$1.stat(bundlePath);
13030
+ await fsPromises.stat(indexPath);
13031
+ await fsPromises.stat(bundlePath);
13032
13032
  return dir;
13033
13033
  } catch {}
13034
13034
  return null;
@@ -13037,7 +13037,7 @@ async function resolveA2uiRootReal() {
13037
13037
  if (cachedA2uiRootReal !== void 0) return cachedA2uiRootReal;
13038
13038
  if (!resolvingA2uiRoot) resolvingA2uiRoot = (async () => {
13039
13039
  const root = await resolveA2uiRoot();
13040
- cachedA2uiRootReal = root ? await fs$1.realpath(root) : null;
13040
+ cachedA2uiRootReal = root ? await fsPromises.realpath(root) : null;
13041
13041
  return cachedA2uiRootReal;
13042
13042
  })();
13043
13043
  return resolvingA2uiRoot;
@@ -13054,12 +13054,12 @@ async function resolveA2uiFilePath(rootReal, urlPath) {
13054
13054
  let candidate = path.join(rootReal, rel);
13055
13055
  if (normalized.endsWith("/")) candidate = path.join(candidate, "index.html");
13056
13056
  try {
13057
- if ((await fs$1.stat(candidate)).isDirectory()) candidate = path.join(candidate, "index.html");
13057
+ if ((await fsPromises.stat(candidate)).isDirectory()) candidate = path.join(candidate, "index.html");
13058
13058
  } catch {}
13059
13059
  const rootPrefix = rootReal.endsWith(path.sep) ? rootReal : `${rootReal}${path.sep}`;
13060
13060
  try {
13061
- if ((await fs$1.lstat(candidate)).isSymbolicLink()) return null;
13062
- const real = await fs$1.realpath(candidate);
13061
+ if ((await fsPromises.lstat(candidate)).isSymbolicLink()) return null;
13062
+ const real = await fsPromises.realpath(candidate);
13063
13063
  if (!real.startsWith(rootPrefix)) return null;
13064
13064
  return real;
13065
13065
  } catch {
@@ -13151,13 +13151,13 @@ async function handleA2uiHttpRequest(req, res) {
13151
13151
  const mime = lower.endsWith(".html") || lower.endsWith(".htm") ? "text/html" : await detectMime({ filePath }) ?? "application/octet-stream";
13152
13152
  res.setHeader("Cache-Control", "no-store");
13153
13153
  if (mime === "text/html") {
13154
- const html = await fs$1.readFile(filePath, "utf8");
13154
+ const html = await fsPromises.readFile(filePath, "utf8");
13155
13155
  res.setHeader("Content-Type", "text/html; charset=utf-8");
13156
13156
  res.end(injectCanvasLiveReload(html));
13157
13157
  return true;
13158
13158
  }
13159
13159
  res.setHeader("Content-Type", mime);
13160
- res.end(await fs$1.readFile(filePath));
13160
+ res.end(await fsPromises.readFile(filePath));
13161
13161
  return true;
13162
13162
  }
13163
13163
 
@@ -13178,7 +13178,7 @@ const isSymlinkOpenError = (err) => isNodeError(err) && (err.code === "ELOOP" ||
13178
13178
  async function openFileWithinRoot(params) {
13179
13179
  let rootReal;
13180
13180
  try {
13181
- rootReal = await fs$1.realpath(params.rootDir);
13181
+ rootReal = await fsPromises.realpath(params.rootDir);
13182
13182
  } catch (err) {
13183
13183
  if (isNotFoundError(err)) throw new SafeOpenError("not-found", "root dir not found");
13184
13184
  throw err;
@@ -13190,19 +13190,19 @@ async function openFileWithinRoot(params) {
13190
13190
  const flags = constants.O_RDONLY | (supportsNoFollow ? constants.O_NOFOLLOW : 0);
13191
13191
  let handle;
13192
13192
  try {
13193
- handle = await fs$1.open(resolved, flags);
13193
+ handle = await fsPromises.open(resolved, flags);
13194
13194
  } catch (err) {
13195
13195
  if (isNotFoundError(err)) throw new SafeOpenError("not-found", "file not found");
13196
13196
  if (isSymlinkOpenError(err)) throw new SafeOpenError("invalid-path", "symlink open blocked");
13197
13197
  throw err;
13198
13198
  }
13199
13199
  try {
13200
- if ((await fs$1.lstat(resolved).catch(() => null))?.isSymbolicLink()) throw new SafeOpenError("invalid-path", "symlink not allowed");
13201
- const realPath = await fs$1.realpath(resolved);
13200
+ if ((await fsPromises.lstat(resolved).catch(() => null))?.isSymbolicLink()) throw new SafeOpenError("invalid-path", "symlink not allowed");
13201
+ const realPath = await fsPromises.realpath(resolved);
13202
13202
  if (!realPath.startsWith(rootWithSep)) throw new SafeOpenError("invalid-path", "path escapes root");
13203
13203
  const stat = await handle.stat();
13204
13204
  if (!stat.isFile()) throw new SafeOpenError("invalid-path", "not a file");
13205
- const realStat = await fs$1.stat(realPath);
13205
+ const realStat = await fsPromises.stat(realPath);
13206
13206
  if (stat.ino !== realStat.ino || stat.dev !== realStat.dev) throw new SafeOpenError("invalid-path", "path mismatch");
13207
13207
  return {
13208
13208
  handle,
@@ -13335,7 +13335,7 @@ async function resolveFilePath(rootReal, urlPath) {
13335
13335
  if (normalized.endsWith("/")) return await tryOpen(path.posix.join(rel, "index.html"));
13336
13336
  const candidate = path.join(rootReal, rel);
13337
13337
  try {
13338
- const st = await fs$1.lstat(candidate);
13338
+ const st = await fsPromises.lstat(candidate);
13339
13339
  if (st.isSymbolicLink()) return null;
13340
13340
  if (st.isDirectory()) return await tryOpen(path.posix.join(rel, "index.html"));
13341
13341
  } catch {}
@@ -13354,13 +13354,13 @@ function normalizeBasePath(rawPath) {
13354
13354
  }
13355
13355
  async function prepareCanvasRoot(rootDir) {
13356
13356
  await ensureDir(rootDir);
13357
- const rootReal = await fs$1.realpath(rootDir);
13357
+ const rootReal = await fsPromises.realpath(rootDir);
13358
13358
  try {
13359
13359
  const indexPath = path.join(rootReal, "index.html");
13360
- await fs$1.stat(indexPath);
13360
+ await fsPromises.stat(indexPath);
13361
13361
  } catch {
13362
13362
  try {
13363
- await fs$1.writeFile(path.join(rootReal, "index.html"), defaultIndexHTML(), "utf8");
13363
+ await fsPromises.writeFile(path.join(rootReal, "index.html"), defaultIndexHTML(), "utf8");
13364
13364
  } catch {}
13365
13365
  }
13366
13366
  return rootReal;
@@ -15759,7 +15759,7 @@ function resolveGatewayOwnerStatus(pid, payload, platform) {
15759
15759
  }
15760
15760
  async function readLockPayload(lockPath) {
15761
15761
  try {
15762
- const raw = await fs$1.readFile(lockPath, "utf8");
15762
+ const raw = await fsPromises.readFile(lockPath, "utf8");
15763
15763
  const parsed = JSON.parse(raw);
15764
15764
  if (typeof parsed.pid !== "number") return null;
15765
15765
  if (typeof parsed.createdAt !== "string") return null;
@@ -15793,11 +15793,11 @@ async function acquireGatewayLock(opts = {}) {
15793
15793
  const staleMs = opts.staleMs ?? DEFAULT_STALE_MS;
15794
15794
  const platform = opts.platform ?? process.platform;
15795
15795
  const { lockPath, configPath } = resolveGatewayLockPath(env);
15796
- await fs$1.mkdir(path.dirname(lockPath), { recursive: true });
15796
+ await fsPromises.mkdir(path.dirname(lockPath), { recursive: true });
15797
15797
  const startedAt = Date.now();
15798
15798
  let lastPayload = null;
15799
15799
  while (Date.now() - startedAt < timeoutMs) try {
15800
- const handle = await fs$1.open(lockPath, "wx");
15800
+ const handle = await fsPromises.open(lockPath, "wx");
15801
15801
  const startTime = platform === "linux" ? readLinuxStartTime(process.pid) : null;
15802
15802
  const payload = {
15803
15803
  pid: process.pid,
@@ -15811,7 +15811,7 @@ async function acquireGatewayLock(opts = {}) {
15811
15811
  configPath,
15812
15812
  release: async () => {
15813
15813
  await handle.close().catch(() => void 0);
15814
- await fs$1.rm(lockPath, { force: true });
15814
+ await fsPromises.rm(lockPath, { force: true });
15815
15815
  }
15816
15816
  };
15817
15817
  } catch (err) {
@@ -15820,7 +15820,7 @@ async function acquireGatewayLock(opts = {}) {
15820
15820
  const ownerPid = lastPayload?.pid;
15821
15821
  const ownerStatus = ownerPid ? resolveGatewayOwnerStatus(ownerPid, lastPayload, platform) : "unknown";
15822
15822
  if (ownerStatus === "dead" && ownerPid) {
15823
- await fs$1.rm(lockPath, { force: true });
15823
+ await fsPromises.rm(lockPath, { force: true });
15824
15824
  continue;
15825
15825
  }
15826
15826
  if (ownerStatus !== "alive") {
@@ -15830,13 +15830,13 @@ async function acquireGatewayLock(opts = {}) {
15830
15830
  stale = Number.isFinite(createdAt) ? Date.now() - createdAt > staleMs : false;
15831
15831
  }
15832
15832
  if (!stale) try {
15833
- const st = await fs$1.stat(lockPath);
15833
+ const st = await fsPromises.stat(lockPath);
15834
15834
  stale = Date.now() - st.mtimeMs > staleMs;
15835
15835
  } catch {
15836
15836
  stale = true;
15837
15837
  }
15838
15838
  if (stale) {
15839
- await fs$1.rm(lockPath, { force: true });
15839
+ await fsPromises.rm(lockPath, { force: true });
15840
15840
  continue;
15841
15841
  }
15842
15842
  }