@guadskill/openclaw-proxy 2026.3.7 → 2026.3.9

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 (296) hide show
  1. package/dist/{accounts-BAXPpGUT.js → accounts-B_Mf6Ybe.js} +1 -1
  2. package/dist/{accounts-DDk7Alkl.js → accounts-CGMgxUfN.js} +7 -7
  3. package/dist/{accounts-DIGnwOCI.js → accounts-NKTm9o4M.js} +1 -1
  4. package/dist/{acp-cli-CL-bRMaF.js → acp-cli-BKb3AGdK.js} +8 -8
  5. package/dist/{agent-scope-CT92dyCK.js → agent-scope-Dd2_TNoB.js} +17 -17
  6. package/dist/{agents-Ux5TCgO6.js → agents-yZG80_Bk.js} +14 -14
  7. package/dist/{agents.config-7ZBT3aJH.js → agents.config-iby7tWX6.js} +3 -3
  8. package/dist/{api-key-rotation-D7uyLcCV.js → api-key-rotation-DsHx0Ttu.js} +1 -1
  9. package/dist/{audio-preflight-CqbpJICd.js → audio-preflight-DbDIZaaN.js} +4 -4
  10. package/dist/{audio-preflight-B0sj35Ce.js → audio-preflight-Ot_1VrgG.js} +34 -34
  11. package/dist/{audio-transcription-runner-Cdvz7bpD.js → audio-transcription-runner-Cl9Pu_e3.js} +23 -23
  12. package/dist/{audio-transcription-runner-EQqd2K8L.js → audio-transcription-runner-DX0Waokh.js} +1 -1
  13. package/dist/{audit-qqRogHSL.js → audit-DtKtvGnO.js} +29 -29
  14. package/dist/{auth-DfEti-nH.js → auth-DkciOmKe.js} +1 -1
  15. package/dist/{auth-choice-BjQ5BF_A.js → auth-choice-CDiDpyjK.js} +12 -12
  16. package/dist/{auth-choice-C4XhKa87.js → auth-choice-mCitki7b.js} +13 -13
  17. package/dist/{auth-choice.apply-helpers-BJLWC6EX.js → auth-choice.apply-helpers-DFO2u4vW.js} +1 -1
  18. package/dist/{auth-profiles-Bh2dHooQ.js → auth-profiles-QXvcpjIT.js} +16 -16
  19. package/dist/{auth-token-qGutIUyw.js → auth-token-4Y8dUkki.js} +1 -1
  20. package/dist/{banner-D3w3334V.js → banner-BIxf18aP.js} +2 -2
  21. package/dist/{bonjour-discovery-Dk22JKmo.js → bonjour-discovery-DBClG9uw.js} +1 -1
  22. package/dist/{browser-cli-C1NkBy0u.js → browser-cli-B0KE9qxO.js} +12 -12
  23. package/dist/build-info.json +3 -3
  24. package/dist/{call-Bl8osGeS.js → call-B56A9tyz.js} +10 -10
  25. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  26. package/dist/{channel-account-context-Bkq8Tao4.js → channel-account-context-CkpkengK.js} +5 -5
  27. package/dist/{channel-activity-DFfVKdMC.js → channel-activity-ClJu0F_1.js} +1 -1
  28. package/dist/{channel-options-Ddq9nbjL.js → channel-options-BGF--IMr.js} +3 -3
  29. package/dist/{channel-selection-TEB-oKFB.js → channel-selection-DHlVN8Pr.js} +1 -1
  30. package/dist/{channel-web-BRc8grVl.js → channel-web-CJ_qOhFv.js} +17 -17
  31. package/dist/{channels-cli-0uHlhl_q.js → channels-cli-CdmEguK_.js} +93 -93
  32. package/dist/{channels-status-issues-CHYRNB54.js → channels-status-issues-CmDh358n.js} +1 -1
  33. package/dist/{chrome-BKmthESk.js → chrome-CMibSHuV.js} +8 -8
  34. package/dist/{chrome-8g2ppizL.js → chrome-CjADilJt.js} +4 -4
  35. package/dist/{clawbot-cli-C40Lz65o.js → clawbot-cli-CYI_p-Ig.js} +11 -11
  36. package/dist/cli/daemon-cli.js +1 -1
  37. package/dist/{cli-B4cqtuy2.js → cli-C7HjUgZL.js} +72 -72
  38. package/dist/{client-IQ7AZ1A-.js → client-DaFloLVI.js} +3 -3
  39. package/dist/{command-registry-CufWvKi3.js → command-registry-CrsK0cpv.js} +11 -11
  40. package/dist/{command-secret-targets-B1PuKXnU.js → command-secret-targets-CsIlET0p.js} +4 -4
  41. package/dist/{commands-DP7Bcuo2.js → commands-C-YxTe08.js} +1 -1
  42. package/dist/{commands-registry-B5lrLxcS.js → commands-registry-WI8KXlO7.js} +3 -3
  43. package/dist/{compact-SZ3BDWQp.js → compact-BBdhRYXH.js} +149 -149
  44. package/dist/compact.runtime-DDxAzGC2.js +110 -0
  45. package/dist/{compact.runtime-CMZ_UYyk.js → compact.runtime-DdbMKiHW.js} +6 -6
  46. package/dist/{completion-cli-B0f-xBOC.js → completion-cli-Bg8nShmO.js} +1 -1
  47. package/dist/{completion-cli-DQ2oZ0Xm.js → completion-cli-D1eUD4z0.js} +13 -13
  48. package/dist/{config-cli-CC2671nv.js → config-cli-C8aGIdsa.js} +7 -7
  49. package/dist/{config-cli-C0Z8l_cH.js → config-cli-DfABZZJ1.js} +1 -1
  50. package/dist/{config-guard-THCtF7SH.js → config-guard-CdbAZXqh.js} +3 -3
  51. package/dist/{config-validation-BgjGiBwk.js → config-validation-Bn0atyWE.js} +3 -3
  52. package/dist/{configure-CyhJDi-o.js → configure-PWOO1SWf.js} +19 -19
  53. package/dist/{configure-CwCN7C4J.js → configure-tNoPV8AJ.js} +1 -1
  54. package/dist/{control-ui-assets-DIBwwDAL.js → control-ui-assets-B1qVA62q.js} +1 -1
  55. package/dist/{cron-cli-DEWQQAZg.js → cron-cli-BWWBn58q.js} +11 -11
  56. package/dist/{daemon-cli-fixQtS_3.js → daemon-cli-Ckhi3S0x.js} +5 -5
  57. package/dist/{daemon-cli-DDOlXF-y.js → daemon-cli-Di0mFZWs.js} +16 -16
  58. package/dist/daemon-cli.js +9 -4
  59. package/dist/{daemon-install-C4AKaLdy.js → daemon-install-B2fT93a3.js} +21 -21
  60. package/dist/{daemon-install-D0yIgdZW.js → daemon-install-CWpghW8k.js} +1 -1
  61. package/dist/{daemon-install-helpers-CVfc_ZXM.js → daemon-install-helpers-BWyx8Sx7.js} +12 -12
  62. package/dist/{deliver-754C3f2C.js → deliver-BSlI6o2D.js} +7 -7
  63. package/dist/{deliver-D-x487kv.js → deliver-DBsYfyHP.js} +1 -1
  64. package/dist/deliver-runtime-BjkTIwlL.js +57 -0
  65. package/dist/{deliver-runtime-gs8PEJHW.js → deliver-runtime-Yz8xsseU.js} +3 -3
  66. package/dist/deps-send-discord.runtime-COZDJ4kj.js +31 -0
  67. package/dist/deps-send-imessage.runtime-CrUNGLpB.js +30 -0
  68. package/dist/deps-send-signal.runtime-BdIsLRiH.js +29 -0
  69. package/dist/deps-send-slack.runtime-haEMGbWP.js +27 -0
  70. package/dist/deps-send-telegram.runtime-TdOBj1BE.js +33 -0
  71. package/dist/deps-send-whatsapp.runtime-Bf8yUhOp.js +115 -0
  72. package/dist/{deps-send-whatsapp.runtime-D9cBUcGe.js → deps-send-whatsapp.runtime-Mb5nI79S.js} +7 -7
  73. package/dist/{devices-cli-quvV3Kka.js → devices-cli-D78eahM0.js} +8 -8
  74. package/dist/{diagnostic-D0TftuxK.js → diagnostic-CFCd8W0m.js} +1 -1
  75. package/dist/{diagnostics-BrA18SV4.js → diagnostics-CJLP-HQK.js} +5 -5
  76. package/dist/{diagnostics-CKEVHs7n.js → diagnostics-g4kCl3Wr.js} +1 -1
  77. package/dist/{directory-cli-CRRwqLtU.js → directory-cli-CchmjuDY.js} +7 -7
  78. package/dist/{dns-cli-LufK6hHQ.js → dns-cli-C73_Y0ZB.js} +5 -5
  79. package/dist/{dock-tPqNmtNL.js → dock-wtxEAACu.js} +4 -4
  80. package/dist/{docs-cli-BJb-cOpV.js → docs-cli-CdYaag66.js} +4 -4
  81. package/dist/{doctor-completion-DDK1pAvc.js → doctor-completion-B7MotNqQ.js} +1 -1
  82. package/dist/{doctor-completion-CbB8sBAb.js → doctor-completion-DmWeZX0M.js} +2 -2
  83. package/dist/{doctor-config-flow-qCvK2k4B.js → doctor-config-flow-CLlEO2jJ.js} +16 -16
  84. package/dist/{enable-DfvB7o85.js → enable-Dk8s7RC7.js} +1 -1
  85. package/dist/entry.js +2 -2
  86. package/dist/{exec-approvals-allowlist-BKsPjl3W.js → exec-approvals-allowlist-BTePmA7R.js} +1 -1
  87. package/dist/{exec-approvals-cli-raoktoDD.js → exec-approvals-cli-DzmNRLok.js} +16 -16
  88. package/dist/{exec-approvals-cli-DKUcKVKU.js → exec-approvals-cli-sNZ1MCrZ.js} +2 -2
  89. package/dist/{exec-safe-bin-runtime-policy-Cm7TKqpY.js → exec-safe-bin-runtime-policy-B8a4-DkO.js} +2 -2
  90. package/dist/extensionAPI.js +6 -6
  91. package/dist/{fetch-OsQusEch.js → fetch-CLpizcRC.js} +3 -3
  92. package/dist/{fetch-guard-CYvHLcm1.js → fetch-guard-CTJIkmOy.js} +1 -1
  93. package/dist/{fs-safe-CgWykA_r.js → fs-safe-DZPN9PEp.js} +24 -24
  94. package/dist/{gateway-cli-FCR2v3fN.js → gateway-cli-B-C_BUeg.js} +158 -158
  95. package/dist/{gateway-cli-CQfPJGkv.js → gateway-cli-DuJgUJEo.js} +9 -9
  96. package/dist/{gateway-install-token-DpBkW5NL.js → gateway-install-token-DUJ-X-CS.js} +3 -3
  97. package/dist/{gateway-rpc-vqmfnd4e.js → gateway-rpc-CZWffg-J.js} +1 -1
  98. package/dist/{health-CX11t-Su.js → health-CqfjbU3N.js} +11 -11
  99. package/dist/{hooks-cli-D9dqop-W.js → hooks-cli-CwrgdWfU.js} +80 -80
  100. package/dist/{hooks-status-wJu8Rm9x.js → hooks-status-41E49JnH.js} +1 -1
  101. package/dist/{image-gKRn4k2T.js → image-C-OScNLH.js} +5 -5
  102. package/dist/{image-BH87HyHn.js → image-Nk4Z8dsI.js} +1 -1
  103. package/dist/{image-ops-Dt4M7xkd.js → image-ops-sooGTpsU.js} +10 -10
  104. package/dist/image-runtime-CvfZqzwb.js +51 -0
  105. package/dist/{image-runtime-RUsR--QR.js → image-runtime-koB5Zl5s.js} +3 -3
  106. package/dist/index.js +1 -1
  107. package/dist/{inspect-DYLkh7ux.js → inspect-BESssF_o.js} +1 -1
  108. package/dist/{inspect-Bg11sSfy.js → inspect-BLDaR51z.js} +4 -4
  109. package/dist/{install-safe-path-Brs51UVy.js → install-safe-path-NpGSerww.js} +25 -25
  110. package/dist/{installs-XHd3fauV.js → installs-CLaVeEP2.js} +8 -8
  111. package/dist/{ipv4-s-bz8E7J.js → ipv4-oTVR6LLm.js} +1 -1
  112. package/dist/{ir-DTl0TSQX.js → ir-MJchm-P0.js} +8 -8
  113. package/dist/{issue-format-8vbMtP-9.js → issue-format-BhYUpe8G.js} +1 -1
  114. package/dist/{json-files-Byf92VOl.js → json-files-D-hzuOc8.js} +8 -8
  115. package/dist/{lifecycle-core-D57bmaEM.js → lifecycle-core-BDRJ-gZl.js} +5 -5
  116. package/dist/{lifecycle-core-Bh-Jy8dW.js → lifecycle-core-Cuioj9RE.js} +2 -2
  117. package/dist/{login-BcTfGveb.js → login-BrAq_fE9.js} +3 -3
  118. package/dist/{login-qr-DxsNtFb-.js → login-qr-w8g9Wssr.js} +6 -6
  119. package/dist/{logs-cli-C1mQ6jm1.js → logs-cli-Dm95Nvw2.js} +9 -9
  120. package/dist/{manager-DyZ-LIQS.js → manager-Mu3eMmUj.js} +14 -14
  121. package/dist/manager-runtime-Cj9Hvway.js +21 -0
  122. package/dist/{manifest-registry-DjjgwuVC.js → manifest-registry-C_atL4ID.js} +1 -1
  123. package/dist/{memory-cli-CXFqQMtN.js → memory-cli-DjSgQlDO.js} +12 -12
  124. package/dist/{model-catalog-CyL_QlZd.js → model-catalog-Crm5h6fz.js} +3 -3
  125. package/dist/{model-picker-DqYwIby0.js → model-picker-RWaJDIbf.js} +4 -4
  126. package/dist/{models-BryKzxGG.js → models-Dm0hzS3D.js} +15 -15
  127. package/dist/{models-cli-BU89hunh.js → models-cli-TrSDz03D.js} +77 -77
  128. package/dist/{models-config-Do_bkbr3.js → models-config-ioRkhhh4.js} +6 -6
  129. package/dist/{node-cli-CA1SvH73.js → node-cli-C9unxcj_.js} +33 -33
  130. package/dist/{node-cli-CfmQ2Qof.js → node-cli-DCokZ5VQ.js} +4 -4
  131. package/dist/{node-command-policy-Bqp9nIUg.js → node-command-policy-DdF7xJQa.js} +1 -1
  132. package/dist/{node-service-BirxNntZ.js → node-service-DCfQospz.js} +1 -1
  133. package/dist/{node-service-BUERUsa_.js → node-service-DhooZn04.js} +1 -1
  134. package/dist/{nodes-cli-DLtFA23h.js → nodes-cli-ZdvlYwxX.js} +16 -16
  135. package/dist/{nodes-screen-gvENU0qT.js → nodes-screen-B7eOQ14A.js} +7 -7
  136. package/dist/{npm-pack-install-2dbksMMb.js → npm-pack-install-Dz4wJtRd.js} +18 -18
  137. package/dist/{npm-resolution-DafKZYAM.js → npm-resolution-BFE8ihLy.js} +4 -4
  138. package/dist/{onboard-CpYQ6i29.js → onboard-CI27VpfB.js} +6 -6
  139. package/dist/{onboard-DCljJSci.js → onboard-DQpNrN8f.js} +2 -2
  140. package/dist/{onboard-channels-lyZUxSJ-.js → onboard-channels-BBkxHyWU.js} +21 -21
  141. package/dist/{onboard-custom-BYAJVMrS.js → onboard-custom-CLwjPxwD.js} +4 -4
  142. package/dist/{onboard-helpers-BqSYoJSO.js → onboard-helpers-BJ2MHcp9.js} +10 -10
  143. package/dist/{onboard-hooks-B4f4qUvf.js → onboard-hooks-OrZtfoSC.js} +4 -4
  144. package/dist/{onboard-remote-5YZ2k5qA.js → onboard-remote-wY_bxC1W.js} +4 -4
  145. package/dist/{onboard-skills-P7WUXQqb.js → onboard-skills-CdhTiJIU.js} +4 -4
  146. package/dist/{onboarding-C2ZQIZ5e.js → onboarding-BV3dioI3.js} +14 -14
  147. package/dist/{onboarding-TLgFqsJ0.js → onboarding-bSVnEk-q.js} +1 -1
  148. package/dist/{onboarding.finalize-C0dSrRMy.js → onboarding.finalize-CthILcfJ.js} +88 -88
  149. package/dist/{onboarding.finalize-BKLMwDpS.js → onboarding.finalize-V311LPsU.js} +4 -4
  150. package/dist/{onboarding.gateway-config-DOjylmTf.js → onboarding.gateway-config-DWG9D6GI.js} +19 -19
  151. package/dist/{onboarding.secret-input-D28tCmCi.js → onboarding.secret-input-yXmtdEMi.js} +1 -1
  152. package/dist/{openai-codex-model-default-Dh0Anrx7.js → openai-codex-model-default-BnNc6l4d.js} +3 -3
  153. package/dist/{openai-model-default-JIrv3HNj.js → openai-model-default-PyAlsRPb.js} +2 -2
  154. package/dist/{openclaw-root-Dh_Sm1l8.js → openclaw-root-Gv7Ob-5V.js} +8 -8
  155. package/dist/{outbound-attachment-BE3KAIhc.js → outbound-attachment-Bui79r_g.js} +2 -2
  156. package/dist/{outbound-EIL02rQd.js → outbound-owi6Cvj_.js} +4 -4
  157. package/dist/{pairing-cli-DYFTC4OI.js → pairing-cli-y8L4PLm3.js} +8 -8
  158. package/dist/{pairing-labels-c6cTWTzi.js → pairing-labels-DvrRVH1N.js} +1 -1
  159. package/dist/{pairing-store-gcbFdvn2.js → pairing-store-BsYNiJyH.js} +3 -3
  160. package/dist/{path-alias-guards-OAUIyvyc.js → path-alias-guards-BndjEKU2.js} +3 -3
  161. package/dist/{path-safety-h4lG_U1h.js → path-safety-FANXxHHr.js} +1 -1
  162. package/dist/{paths-C6-x9jb-.js → paths-B-3rcnCY.js} +9 -9
  163. package/dist/{pi-embedded-NHtVbVqt.js → pi-embedded-DhjXWD5O.js} +25 -25
  164. package/dist/{pi-embedded-helpers-C1kbyX9C.js → pi-embedded-helpers-BUubsAcJ.js} +6 -6
  165. package/dist/{pi-embedded-helpers-o22sdqT_.js → pi-embedded-helpers-CSodYzr7.js} +3 -3
  166. package/dist/{pi-model-discovery-BJyAkuau.js → pi-model-discovery-qGBDJI9t.js} +1 -1
  167. package/dist/{pi-model-discovery-runtime-D_6fWmk1.js → pi-model-discovery-runtime-B8XjnAyy.js} +5 -5
  168. package/dist/{pi-tools.before-tool-call.runtime-LDkkLRSe.js → pi-tools.before-tool-call.runtime-CDfXf9XL.js} +5 -5
  169. package/dist/{pi-tools.policy-dFXahmgF.js → pi-tools.policy-CSPrerKx.js} +6 -6
  170. package/dist/{plugin-auto-enable-CPLdiF-6.js → plugin-auto-enable-BAHkcVP4.js} +3 -3
  171. package/dist/{plugin-registry-BA0j17R1.js → plugin-registry-bnANTUyV.js} +3 -3
  172. package/dist/plugin-sdk/bluebubbles.js +2 -2
  173. package/dist/plugin-sdk/imessage.js +2 -2
  174. package/dist/plugin-sdk/slack.js +2 -2
  175. package/dist/plugin-sdk/telegram.js +2 -2
  176. package/dist/plugin-sdk/tlon.js +2 -2
  177. package/dist/plugin-sdk/twitch.js +2 -2
  178. package/dist/{plugins-BB30X9Wg.js → plugins-Bv9ZfJVO.js} +2 -2
  179. package/dist/{plugins-cli-Do7-62o7.js → plugins-cli-BnD810PB.js} +82 -82
  180. package/dist/{ports-CrkPY1HU.js → ports-CFvWMNlt.js} +1 -1
  181. package/dist/{ports-CRHQM_CU.js → ports-JXKx9QTu.js} +2 -2
  182. package/dist/{probe-B01qwW3t.js → probe-BSiLGREe.js} +2 -2
  183. package/dist/{program-DibN7S7t.js → program-DslcDMLC.js} +80 -80
  184. package/dist/{program-context-QLGv1wVR.js → program-context-BCkMeZ0D.js} +12 -12
  185. package/dist/{prompt-select-styled-DeQQQ0QA.js → prompt-select-styled-C0PnL2-4.js} +41 -41
  186. package/dist/{prompt-select-styled-BLaCMb3d.js → prompt-select-styled-DtsNnfFy.js} +5 -5
  187. package/dist/{provider-auth-helpers-Bu3NP92x.js → provider-auth-helpers-Bo68RFgl.js} +5 -5
  188. package/dist/{proxy-env-CHINy-_C.js → proxy-env-C4Sv8mbU.js} +1 -1
  189. package/dist/{push-apns-Dv9W1mnb.js → push-apns-JhqWOAwU.js} +5 -5
  190. package/dist/{pw-ai-DNjwFfSW.js → pw-ai-BL-cDtw0.js} +18 -18
  191. package/dist/{pw-ai-MWIrQHO4.js → pw-ai-DZOmcrIm.js} +1 -1
  192. package/dist/{qmd-manager-BFlQuEU2.js → qmd-manager-CXJXujXb.js} +20 -20
  193. package/dist/{qr-cli-CDRdlfTz.js → qr-cli-IKWtasYO.js} +2 -2
  194. package/dist/{redact-snapshot-DfzfKriI.js → redact-snapshot-sxLRRmfh.js} +1 -1
  195. package/dist/{register.agent-DZcC5FDy.js → register.agent-BhE6O5kz.js} +93 -93
  196. package/dist/{register.configure-Dmv99pKW.js → register.configure-COPz8XYt.js} +2 -2
  197. package/dist/register.configure-NmyxXY5V.js +164 -0
  198. package/dist/{register.maintenance-BNVvn7VP.js → register.maintenance-CEk4B6v4.js} +95 -95
  199. package/dist/{register.maintenance-By_ZStHt.js → register.maintenance-CyYEm7iS.js} +7 -7
  200. package/dist/{register.message-DcsEcis4.js → register.message-6oUodJEa.js} +73 -73
  201. package/dist/{register.onboard-wGV8LHCW.js → register.onboard-2PhRDQTS.js} +18 -18
  202. package/dist/{register.onboard-rxQ8R21T.js → register.onboard-BP9GuZks.js} +2 -2
  203. package/dist/{register.setup-DoDh05A7.js → register.setup-CprZSMEV.js} +21 -21
  204. package/dist/{register.setup-e2gy3YmS.js → register.setup-Ni4737D9.js} +2 -2
  205. package/dist/{register.status-health-sessions-CFPRa6iq.js → register.status-health-sessions-BpTP5AfU.js} +88 -88
  206. package/dist/{register.status-health-sessions-BoG2-Twd.js → register.status-health-sessions-HgeTqr9l.js} +4 -4
  207. package/dist/{register.subclis-Dperszpc.js → register.subclis-CXGjQuPd.js} +31 -31
  208. package/dist/{resolve-configured-secret-input-string-BdkI2Dl0.js → resolve-configured-secret-input-string-DvKJxAtp.js} +1 -1
  209. package/dist/{rpc-CM5MI1Km.js → rpc-CQs3IjG7.js} +1 -1
  210. package/dist/{run-main-BcAftmJ6.js → run-main-CHHrSCWI.js} +91 -91
  211. package/dist/{runtime-DIn_d_mi.js → runtime-BC8kvHYq.js} +3 -3
  212. package/dist/{runtime-config-collectors-DVZ-fK7E.js → runtime-config-collectors-DM4YW0m9.js} +1 -1
  213. package/dist/{runtime-whatsapp-login.runtime-C2Hz6tBD.js → runtime-whatsapp-login.runtime-Dj6jyYEL.js} +7 -7
  214. package/dist/runtime-whatsapp-outbound.runtime-CboIijG_.js +27 -0
  215. package/dist/{sandbox-QUwr5BiV.js → sandbox-Ey0spRTA.js} +18 -18
  216. package/dist/{sandbox-cli-BHPtvNZP.js → sandbox-cli-WnhAHtf7.js} +25 -25
  217. package/dist/{secrets-cli-BirGeLI0.js → secrets-cli-CxRF1ol0.js} +11 -11
  218. package/dist/{security-cli-BdtTg2un.js → security-cli-EJK_t_Hu.js} +43 -43
  219. package/dist/{send-DR8brNFF.js → send-Cms8uhN1.js} +5 -5
  220. package/dist/{send-DsIy0owU.js → send-DExcQWAf.js} +4 -4
  221. package/dist/{send-D0TbCIOU.js → send-DgUi3bl8.js} +8 -8
  222. package/dist/{send-BRb_0Ibb.js → send-Dlp3HAiX.js} +6 -6
  223. package/dist/{send-CHUBkOx4.js → send-Don_FZgW.js} +11 -11
  224. package/dist/{server-CsG3vwY6.js → server-DUXr6A6B.js} +20 -20
  225. package/dist/{server-context-BOMErxlB.js → server-context-DDDYJ1E5.js} +12 -12
  226. package/dist/{server-lifecycle-Bz_tILpw.js → server-lifecycle-5QwrD-pI.js} +2 -2
  227. package/dist/{server-middleware-COJNPqNx.js → server-middleware-CUHXrp2x.js} +1 -1
  228. package/dist/{server-node-events-Bkfa7nls.js → server-node-events-D8EKx-Ef.js} +73 -73
  229. package/dist/{service-BqHBIJsE.js → service-CkeyjKgU.js} +9 -4
  230. package/dist/{service-A9LH2cqi.js → service-VB8hrx3m.js} +24 -19
  231. package/dist/{session-B78ElRuv.js → session-DLkD-iwM.js} +1 -1
  232. package/dist/{session-utils-HmD-1G9e.js → session-utils-DqcL4tRB.js} +6 -6
  233. package/dist/{sessions-TCNQfcSW.js → sessions-BJu8U8kz.js} +15 -15
  234. package/dist/{sessions-CteOs-Xa.js → sessions-DGFe_VH1.js} +4 -4
  235. package/dist/{shared-0ohfVTdd.js → shared-Bto9UlKB.js} +1 -1
  236. package/dist/{shared-CiWwdWaM.js → shared-DFIymKVc.js} +1 -1
  237. package/dist/{skill-commands-BvomqRJm.js → skill-commands-C7_32HvU.js} +5 -5
  238. package/dist/{skill-scanner-B_VveqAF.js → skill-scanner-CTA9_1Ad.js} +6 -6
  239. package/dist/{skills-Bme_5_Wh.js → skills-C3DzmT-s.js} +3 -3
  240. package/dist/{skills-cli-DMOEU-Kf.js → skills-cli-C2MW9QVA.js} +5 -5
  241. package/dist/{skills-install-jgMttMiG.js → skills-install-xhIs9n_2.js} +6 -6
  242. package/dist/{skills-status-DDy1p1bH.js → skills-status-n9vgDHer.js} +1 -1
  243. package/dist/{slash-commands.runtime-kurmXJKo.js → slash-commands.runtime-BrlJHzZ0.js} +11 -11
  244. package/dist/{slash-dispatch.runtime-Du0T-jw8.js → slash-dispatch.runtime--1geVpWH.js} +6 -6
  245. package/dist/slash-dispatch.runtime-BPzR4clK.js +110 -0
  246. package/dist/slash-skill-commands.runtime-C3MY6G1s.js +29 -0
  247. package/dist/{sqlite-CVpjz_Fn.js → sqlite-B6J7wlgb.js} +12 -12
  248. package/dist/{status-DGNyj-My.js → status-BvATDhyx.js} +29 -29
  249. package/dist/{status-CZmvZ4Du.js → status-CzDUyBhZ.js} +1 -1
  250. package/dist/{status-CcDhfT7z.js → status-gmvLzqWY.js} +3 -3
  251. package/dist/{status.update-CMY8gTu2.js → status.update-DndHNWm3.js} +2 -2
  252. package/dist/{store-dO9FxwIh.js → store-BxDf7hdp.js} +15 -15
  253. package/dist/{subagent-registry-runtime-BX7PeNcG.js → subagent-registry-runtime-BF8LA25p.js} +6 -6
  254. package/dist/subagent-registry-runtime-CTIJfGw5.js +110 -0
  255. package/dist/{system-cli-C5W2hXEn.js → system-cli-Be_6EDGU.js} +9 -9
  256. package/dist/{system-run-command-B6YFaIn3.js → system-run-command-BlvZfJeb.js} +1 -1
  257. package/dist/{systemd-DunyHHc7.js → systemd-QfmEIyC_.js} +10 -10
  258. package/dist/{systemd-hints-DNCfudm3.js → systemd-hints-B1wK4V9O.js} +1 -1
  259. package/dist/{systemd-hints-Cc1WoU1g.js → systemd-hints-C8DMAujY.js} +6 -6
  260. package/dist/{systemd-linger-C8eA-s3i.js → systemd-linger-D_EygRlf.js} +1 -1
  261. package/dist/{tables-Ckhi6C4h.js → tables-DVqUjPRa.js} +1 -1
  262. package/dist/{tailnet-CcjaRS5e.js → tailnet-CoMmrqa1.js} +1 -1
  263. package/dist/{target-errors-018oJFiB.js → target-errors-N10oAD8K.js} +4 -4
  264. package/dist/{tool-images-C1FdHV43.js → tool-images-ByGbgP3W.js} +1 -1
  265. package/dist/{tui-cli-DImVjijU.js → tui-cli-A2qCvBWw.js} +33 -33
  266. package/dist/{tui-CsIlN_Go.js → tui-o3M_Bbq1.js} +7 -7
  267. package/dist/{update-CDOtvt7K.js → update-Mc1LqzY6.js} +3 -3
  268. package/dist/{update-cli-Dq8uIRxF.js → update-cli-BKMUoIZY.js} +105 -105
  269. package/dist/{update-cli-CazqKKsR.js → update-cli-ByxIfOIf.js} +9 -9
  270. package/dist/{update-runner-BSMIDJ-p.js → update-runner-CCB_wRmi.js} +16 -16
  271. package/dist/web-BblTI04D.js +114 -0
  272. package/dist/{web-CuWkibTO.js → web-DUmwaFF8.js} +6 -6
  273. package/dist/{webhooks-cli-5lNqCVtQ.js → webhooks-cli-B1O1xKF7.js} +6 -6
  274. package/dist/{whatsapp-actions-BXDIsy-2.js → whatsapp-actions-P1s1gYIT.js} +17 -17
  275. package/dist/{with-timeout-xWhqcPuu.js → with-timeout-gotbjCau.js} +3 -3
  276. package/dist/{workspace-Ct8qaDh3.js → workspace-ST8Op53v.js} +1 -1
  277. package/dist/{workspace-dirs-Ch8qs0UH.js → workspace-dirs--0e3kMf7.js} +1 -1
  278. package/dist/{ws-DUfuK8DQ.js → ws-DrZBk8aE.js} +2 -2
  279. package/dist/{wsl-DLw4LET-.js → wsl-Dd7vjPIH.js} +2 -2
  280. package/package.json +1 -1
  281. package/dist/compact.runtime-Cs7M1NjN.js +0 -110
  282. package/dist/deliver-runtime-BSN3wlW_.js +0 -57
  283. package/dist/deps-send-discord.runtime-DD-RWrwG.js +0 -31
  284. package/dist/deps-send-imessage.runtime-gAWYnB6p.js +0 -30
  285. package/dist/deps-send-signal.runtime-Ry6Voc2R.js +0 -29
  286. package/dist/deps-send-slack.runtime-CcCvO5a7.js +0 -27
  287. package/dist/deps-send-telegram.runtime-97vMMh1v.js +0 -33
  288. package/dist/deps-send-whatsapp.runtime-B8nhC5lk.js +0 -115
  289. package/dist/image-runtime-3d_07I1J.js +0 -51
  290. package/dist/manager-runtime-DDmFvXWq.js +0 -21
  291. package/dist/register.configure-C_xciKz5.js +0 -164
  292. package/dist/runtime-whatsapp-outbound.runtime-BpuvPdTK.js +0 -27
  293. package/dist/slash-dispatch.runtime-BDYuFlr9.js +0 -110
  294. package/dist/slash-skill-commands.runtime-CRatiVfd.js +0 -29
  295. package/dist/subagent-registry-runtime-CqAEqqbS.js +0 -110
  296. package/dist/web-CNj08Zq-.js +0 -114
@@ -1,10 +1,10 @@
1
1
  import { $ as resolveGatewayLockDir, E as logVerbose, F as getChildLogger, G as CONFIG_PATH, I as getLogger, J as isNixMode, L as getResolvedLoggerSettings, M as colorize, N as isRich, O as setVerbose, P as theme, X as resolveConfigPath, _ as defaultRuntime, c as runtimeForLogger, d as setConsoleSubsystemFilter, et as resolveGatewayPort, f as setConsoleTimestampPrefix, i as logAcceptedEnvOption, ot as resolveStateDir, q as STATE_DIR, r as isTruthyEnvValue, s as createSubsystemLogger } from "./entry.js";
2
- import { An as ensureControlUiAllowedOriginsForNonLoopbackBind, Ar as resolveDefaultModelForAgent, B as loadConfig, Bi as DEFAULT_PROVIDER, Dr as resolveAllowedModelRef, Gn as resolveAgentMaxConcurrent, H as readConfigFileSnapshot, Ir as resolveThinkingDefault, J as OpenClawSchema, K as writeConfigFile, Kn as resolveSubagentMaxConcurrent, L as migrateLegacyConfig, Nt as isAvatarHttpUrl, On as applyMergePatch, Pi as normalizeSecretInput, Pr as resolveSubagentConfiguredModelSelection, Pt as isAvatarImageDataUrl, Ri as DEFAULT_CONTEXT_TOKENS, Rt as looksLikeAvatarPath, U as readConfigFileSnapshotForWrite, Un as buildTalkConfigResponse, V as parseConfigJson5, W as resolveConfigSnapshotHash, hr as buildAllowedModelSet, ht as parseByteSize, jr as resolveHooksGmailModel, jt as AVATAR_MAX_BYTES, kn as applyLegacyMigrations, kr as resolveConfiguredModelRef, mr as isPidAlive, mt as parseDurationMs, q as validateConfigObjectWithPlugins, wr as normalizeModelSelection, xr as isCliProvider, yr as getModelRefStatus, z as createConfigIO, zi as DEFAULT_MODEL } from "./auth-profiles-Bh2dHooQ.js";
2
+ import { An as ensureControlUiAllowedOriginsForNonLoopbackBind, Ar as resolveDefaultModelForAgent, B as loadConfig, Bi as DEFAULT_PROVIDER, Dr as resolveAllowedModelRef, Gn as resolveAgentMaxConcurrent, H as readConfigFileSnapshot, Ir as resolveThinkingDefault, J as OpenClawSchema, K as writeConfigFile, Kn as resolveSubagentMaxConcurrent, L as migrateLegacyConfig, Nt as isAvatarHttpUrl, On as applyMergePatch, Pi as normalizeSecretInput, Pr as resolveSubagentConfiguredModelSelection, Pt as isAvatarImageDataUrl, Ri as DEFAULT_CONTEXT_TOKENS, Rt as looksLikeAvatarPath, U as readConfigFileSnapshotForWrite, Un as buildTalkConfigResponse, V as parseConfigJson5, W as resolveConfigSnapshotHash, hr as buildAllowedModelSet, ht as parseByteSize, jr as resolveHooksGmailModel, jt as AVATAR_MAX_BYTES, kn as applyLegacyMigrations, kr as resolveConfiguredModelRef, mr as isPidAlive, mt as parseDurationMs, q as validateConfigObjectWithPlugins, wr as normalizeModelSelection, xr as isCliProvider, yr as getModelRefStatus, z as createConfigIO, zi as DEFAULT_MODEL } from "./auth-profiles-QXvcpjIT.js";
3
3
  import { t as formatCliCommand } from "./command-format-DdHwx_z_.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-CT92dyCK.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-Dd2_TNoB.js";
5
5
  import { C as isCronRunSessionKey, E as parseAgentSessionKey, T as isSubagentSessionKey, _ as normalizeAccountId$1, c as normalizeAgentId, g as DEFAULT_ACCOUNT_ID, h as toAgentStoreSessionKey, l as normalizeMainKey, m as toAgentRequestSessionKey, o as classifySessionKeyShape, r as buildAgentMainSessionKey, t as DEFAULT_AGENT_ID, u as resolveAgentIdFromSessionKey } from "./session-key-9-yI-GU_.js";
6
6
  import { E as isPlainObject, S as sleep, T as truncateUtf16Safe, n as clamp, s as ensureDir, v as resolveUserPath, x as shortenHomePath } from "./utils-DanSccFf.js";
7
- import { a as openBoundaryFileSync, f as isNotFoundPathError, g as matchesSkillFilter, i as openBoundaryFile, o as openVerifiedFileSync, s as sameFileIdentity, t as resolveOpenClawPackageRoot } from "./openclaw-root-Dh_Sm1l8.js";
7
+ import { a as openBoundaryFileSync, f as isNotFoundPathError, g as matchesSkillFilter, i as openBoundaryFile, o as openVerifiedFileSync, s as sameFileIdentity, t as resolveOpenClawPackageRoot } from "./openclaw-root-Gv7Ob-5V.js";
8
8
  import { i as logWarn, t as logDebug } from "./logger-BcqRk323.js";
9
9
  import { n as runExec, t as runCommandWithTimeout } from "./exec-OWC_Lkz4.js";
10
10
  import { a as hasConfiguredSecretInput } from "./types.secrets-CZ26uLlg.js";
@@ -12,157 +12,157 @@ import "./github-copilot-token-DHTToceK.js";
12
12
  import "./host-env-security-CIiLt2Mi.js";
13
13
  import { n as resolveRuntimeServiceVersion, t as VERSION } from "./version-BKzmSBiX.js";
14
14
  import { C as clearInternalHooks, E as triggerInternalHook, T as registerInternalHook, h as createEmptyPluginRegistry, t as CHANNEL_IDS, u as getActivePluginRegistry, w as createInternalHookEvent } from "./registry-CZbmSOj8.js";
15
- import { u as isTestDefaultMemorySlotDisabled } from "./manifest-registry-DjjgwuVC.js";
16
- import "./dock-tPqNmtNL.js";
15
+ import { u as isTestDefaultMemorySlotDisabled } from "./manifest-registry-C_atL4ID.js";
16
+ import "./dock-wtxEAACu.js";
17
17
  import { i as isSilentReplyText, n as SILENT_REPLY_TOKEN } from "./tokens-Df74FoY2.js";
18
- import { $ as buildBareSessionResetPrompt, $t as consumeGatewaySigusr1RestartAuthorization, Ar as resolveAgentIdentity, At as normalizePayloadToSystemText, Bn as normalizeMimeList, Br as isTtsProviderConfigured, Bt as getHookType, C as resolveAgentDeliveryPlan, Cn as isSystemEventContextChanged, Cr as registerAgentRunContext, Ct as normalizeHttpWebhookUrl, D as createOutboundSendDeps$1, Dt as normalizeOptionalAgentId, E as createDefaultDeps, En as requestHeartbeatNow, Er as resolveBootstrapWarningSignaturesSeen, Et as inferLegacyName, F as createReplyPrefixOptions, Fn as DEFAULT_INPUT_IMAGE_MIMES, Ft as stripLegacyDeliveryFields, Gr as resolveTtsProviderOrder, Gt as resolveSessionAuthProfileOverride, Hr as resolveTtsAutoMode, Ht as closeTrackedBrowserTabsForSessions, In as DEFAULT_INPUT_MAX_REDIRECTS, Ir as clearBootstrapSnapshot, J as dispatchInboundMessage, Jn as stopSubagentsForRequester, Jr as textToSpeech, Kr as setTtsEnabled, L as buildHistoryContextFromEntries, Ln as DEFAULT_INPUT_TIMEOUT_MS, Lr as clearBootstrapSnapshotOnSessionRollover, Mt as migrateLegacyCronPayload, Nt as buildDeliveryFromLegacyPayload, Or as getAcpSessionManager, Ot as normalizeOptionalSessionKey, Pn as DEFAULT_INPUT_IMAGE_MAX_BYTES, Pr as resolveUserTimezone, Pt as hasLegacyDeliveryHints, Qr as getActiveTaskCount, Qt as parseVerboseOverride, Rn as extractFileContentFromSource, Rr as getTtsProvider, Rt as buildSafeExternalPrompt, Sn as enqueueSystemEvent, Sr as onAgentEvent, St as writeRestartSentinel, T as createOutboundSendDeps, Tt as normalizeCronJobPatch, Un as normalizeSendPolicy, Ur as resolveTtsConfig, Ut as applyBrowserProxyPaths, Vn as resolveInputFileLimits, Vr as resolveTtsApiKey, Vt as isExternalHookSession, Wn as resolveSendPolicy, Wr as resolveTtsPrefsPath, Wt as persistBrowserProxyFiles, X as getTotalPendingReplies, Xr as OPENAI_TTS_VOICES, Xt as applyModelOverrideToSessionEntry, Y as createReplyDispatcher, Yr as OPENAI_TTS_MODELS, Zn as countActiveDescendantRuns, Zt as applyVerboseOverride, _ as requestBodyErrorToText, _t as formatDoctorNonInteractiveHint, a as getPluginToolMeta, ai as CommandLane, an as setGatewaySigusr1RestartPolicy, at as ensureOutboundSessionEntry, br as emitAgentEvent, bt as summarizeRestartSentinel, c as loadOpenClawPlugins, cn as unbindThreadBindingsBySessionKey, cr as runSubagentAnnounceFlow, dn as loadProviderUsageSummary, dr as clearSessionQueues, dt as resolveOutboundChannelPlugin, ei as getTotalQueueSize, en as deferGatewayRestartUntilIdle, er as initSubagentRegistry, et as getCliSessionId, fr as buildOutboundSessionContext, g as readJsonBodyWithLimit, gr as waitForEmbeddedPiRunEnd, gt as consumeRestartSentinel, h as handleSlackHttpRequest, hn as formatZonedTimestamp, hr as getActiveEmbeddedRunCount, ht as runWithModelFallback, ii as waitForActiveTasks, in as scheduleGatewaySigusr1Restart, j as resolveAgentAvatar, jn as ACP_SESSION_IDENTITY_RENDERER_VERSION, jt as normalizeRequiredName, kr as resolveAgentSessionDirs, kt as normalizeOptionalText, l as createPluginRuntime, ln as normalizeGroupActivation, lr as resolveAnnounceTargetFromKey, lt as resolveOutboundTarget, mr as abortEmbeddedPiRun, n as applyToolPolicyPipeline, ni as resetAllLanes, nn as isGatewaySigusr1RestartExternallyAllowed, nr as listDescendantRunsForRequester, nt as runCliAgent, o as resolvePluginTools, oi as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, on as setPreRestartDeferralCheck, ot as resolveOutboundSessionRoute, p as resolveAgentOutboundIdentity, pr as runEmbeddedPiAgent, pt as resetDirectoryCache, qn as isAbortRequestText, qr as setTtsProvider, r as buildDefaultToolPolicyPipelineSteps, ri as setCommandLaneConcurrency, rn as markGatewaySigusr1RestartHandled, rt as createOpenClawTools, sn as triggerOpenClawRestart, sr as resolveAgentTimeoutMs, ti as markGatewayDraining, tn as emitGatewayRestart, tt as setCliSessionId, ui as stripHeartbeatToken, ur as readLatestAssistantReply, ut as resolveSessionDeliveryTarget, vr as resolveCronStyleNow, vt as formatRestartSentinelMessage, w as resolveAgentOutboundTarget, wt as normalizeCronJobCreate, x as agentCommandFromIngress, xr as getAgentRunContext, yr as clearAgentRunContext, zn as extractImageContentFromSource, zr as isTtsEnabled, zt as detectSuspiciousPatterns } from "./compact-SZ3BDWQp.js";
19
- import { i as resolveWhatsAppAccount } from "./accounts-DDk7Alkl.js";
20
- import { n as listChannelPlugins, o as normalizeWhatsAppTarget, r as normalizeChannelId, t as getChannelPlugin, v as buildChannelAccountBindings } from "./plugins-BB30X9Wg.js";
18
+ import { $ as buildBareSessionResetPrompt, $t as consumeGatewaySigusr1RestartAuthorization, Ar as resolveAgentIdentity, At as normalizePayloadToSystemText, Bn as normalizeMimeList, Br as isTtsProviderConfigured, Bt as getHookType, C as resolveAgentDeliveryPlan, Cn as isSystemEventContextChanged, Cr as registerAgentRunContext, Ct as normalizeHttpWebhookUrl, D as createOutboundSendDeps$1, Dt as normalizeOptionalAgentId, E as createDefaultDeps, En as requestHeartbeatNow, Er as resolveBootstrapWarningSignaturesSeen, Et as inferLegacyName, F as createReplyPrefixOptions, Fn as DEFAULT_INPUT_IMAGE_MIMES, Ft as stripLegacyDeliveryFields, Gr as resolveTtsProviderOrder, Gt as resolveSessionAuthProfileOverride, Hr as resolveTtsAutoMode, Ht as closeTrackedBrowserTabsForSessions, In as DEFAULT_INPUT_MAX_REDIRECTS, Ir as clearBootstrapSnapshot, J as dispatchInboundMessage, Jn as stopSubagentsForRequester, Jr as textToSpeech, Kr as setTtsEnabled, L as buildHistoryContextFromEntries, Ln as DEFAULT_INPUT_TIMEOUT_MS, Lr as clearBootstrapSnapshotOnSessionRollover, Mt as migrateLegacyCronPayload, Nt as buildDeliveryFromLegacyPayload, Or as getAcpSessionManager, Ot as normalizeOptionalSessionKey, Pn as DEFAULT_INPUT_IMAGE_MAX_BYTES, Pr as resolveUserTimezone, Pt as hasLegacyDeliveryHints, Qr as getActiveTaskCount, Qt as parseVerboseOverride, Rn as extractFileContentFromSource, Rr as getTtsProvider, Rt as buildSafeExternalPrompt, Sn as enqueueSystemEvent, Sr as onAgentEvent, St as writeRestartSentinel, T as createOutboundSendDeps, Tt as normalizeCronJobPatch, Un as normalizeSendPolicy, Ur as resolveTtsConfig, Ut as applyBrowserProxyPaths, Vn as resolveInputFileLimits, Vr as resolveTtsApiKey, Vt as isExternalHookSession, Wn as resolveSendPolicy, Wr as resolveTtsPrefsPath, Wt as persistBrowserProxyFiles, X as getTotalPendingReplies, Xr as OPENAI_TTS_VOICES, Xt as applyModelOverrideToSessionEntry, Y as createReplyDispatcher, Yr as OPENAI_TTS_MODELS, Zn as countActiveDescendantRuns, Zt as applyVerboseOverride, _ as requestBodyErrorToText, _t as formatDoctorNonInteractiveHint, a as getPluginToolMeta, ai as CommandLane, an as setGatewaySigusr1RestartPolicy, at as ensureOutboundSessionEntry, br as emitAgentEvent, bt as summarizeRestartSentinel, c as loadOpenClawPlugins, cn as unbindThreadBindingsBySessionKey, cr as runSubagentAnnounceFlow, dn as loadProviderUsageSummary, dr as clearSessionQueues, dt as resolveOutboundChannelPlugin, ei as getTotalQueueSize, en as deferGatewayRestartUntilIdle, er as initSubagentRegistry, et as getCliSessionId, fr as buildOutboundSessionContext, g as readJsonBodyWithLimit, gr as waitForEmbeddedPiRunEnd, gt as consumeRestartSentinel, h as handleSlackHttpRequest, hn as formatZonedTimestamp, hr as getActiveEmbeddedRunCount, ht as runWithModelFallback, ii as waitForActiveTasks, in as scheduleGatewaySigusr1Restart, j as resolveAgentAvatar, jn as ACP_SESSION_IDENTITY_RENDERER_VERSION, jt as normalizeRequiredName, kr as resolveAgentSessionDirs, kt as normalizeOptionalText, l as createPluginRuntime, ln as normalizeGroupActivation, lr as resolveAnnounceTargetFromKey, lt as resolveOutboundTarget, mr as abortEmbeddedPiRun, n as applyToolPolicyPipeline, ni as resetAllLanes, nn as isGatewaySigusr1RestartExternallyAllowed, nr as listDescendantRunsForRequester, nt as runCliAgent, o as resolvePluginTools, oi as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, on as setPreRestartDeferralCheck, ot as resolveOutboundSessionRoute, p as resolveAgentOutboundIdentity, pr as runEmbeddedPiAgent, pt as resetDirectoryCache, qn as isAbortRequestText, qr as setTtsProvider, r as buildDefaultToolPolicyPipelineSteps, ri as setCommandLaneConcurrency, rn as markGatewaySigusr1RestartHandled, rt as createOpenClawTools, sn as triggerOpenClawRestart, sr as resolveAgentTimeoutMs, ti as markGatewayDraining, tn as emitGatewayRestart, tt as setCliSessionId, ui as stripHeartbeatToken, ur as readLatestAssistantReply, ut as resolveSessionDeliveryTarget, vr as resolveCronStyleNow, vt as formatRestartSentinelMessage, w as resolveAgentOutboundTarget, wt as normalizeCronJobCreate, x as agentCommandFromIngress, xr as getAgentRunContext, yr as clearAgentRunContext, zn as extractImageContentFromSource, zr as isTtsEnabled, zt as detectSuspiciousPatterns } from "./compact-BBdhRYXH.js";
19
+ import { i as resolveWhatsAppAccount } from "./accounts-CGMgxUfN.js";
20
+ import { n as listChannelPlugins, o as normalizeWhatsAppTarget, r as normalizeChannelId, t as getChannelPlugin, v as buildChannelAccountBindings } from "./plugins-Bv9ZfJVO.js";
21
21
  import "./logging-BdnOSVPD.js";
22
- import "./send-DsIy0owU.js";
23
- import "./send-CHUBkOx4.js";
24
- import { a as getMachineDisplayName, i as startBrowserControlServiceFromConfig, n as createBrowserRouteDispatcher, r as createBrowserControlContext } from "./with-timeout-xWhqcPuu.js";
25
- import { j as runGlobalGatewayStopSafely, k as getGlobalHookRunner, o as normalizeReplyPayloadsForDelivery, t as deliverOutboundPayloads } from "./deliver-754C3f2C.js";
26
- import { d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, h as isDiagnosticsEnabled } from "./diagnostic-D0TftuxK.js";
27
- import "./accounts-BAXPpGUT.js";
28
- import { c as detectMime } from "./image-ops-Dt4M7xkd.js";
29
- import { b as resolveCronStorePath, x as saveCronStore, y as loadCronStore } from "./send-D0TbCIOU.js";
30
- import "./pi-model-discovery-BJyAkuau.js";
22
+ import "./send-DExcQWAf.js";
23
+ import "./send-Don_FZgW.js";
24
+ import { a as getMachineDisplayName, i as startBrowserControlServiceFromConfig, n as createBrowserRouteDispatcher, r as createBrowserControlContext } from "./with-timeout-gotbjCau.js";
25
+ import { j as runGlobalGatewayStopSafely, k as getGlobalHookRunner, o as normalizeReplyPayloadsForDelivery, t as deliverOutboundPayloads } from "./deliver-BSlI6o2D.js";
26
+ import { d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, h as isDiagnosticsEnabled } from "./diagnostic-CFCd8W0m.js";
27
+ import "./accounts-B_Mf6Ybe.js";
28
+ import { c as detectMime } from "./image-ops-sooGTpsU.js";
29
+ import { b as resolveCronStorePath, x as saveCronStore, y as loadCronStore } from "./send-DgUi3bl8.js";
30
+ import "./pi-model-discovery-qGBDJI9t.js";
31
31
  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-6rkF5KkO.js";
32
- import "./pi-embedded-helpers-C1kbyX9C.js";
33
- import { C as resolveToolProfilePolicy, _ as collectExplicitAllowlist, y as mergeAlsoAllowPolicy } from "./sandbox-QUwr5BiV.js";
32
+ import "./pi-embedded-helpers-BUubsAcJ.js";
33
+ import { C as resolveToolProfilePolicy, _ as collectExplicitAllowlist, y as mergeAlsoAllowPolicy } from "./sandbox-Ey0spRTA.js";
34
34
  import { i as listCoreToolSections, n as PROFILE_OPTIONS, o as resolveCoreToolProfiles } from "./tool-catalog-BCkWN5F6.js";
35
- import "./chrome-8g2ppizL.js";
35
+ import "./chrome-CjADilJt.js";
36
36
  import { i as enableTailscaleServe, n as disableTailscaleServe, o as getTailnetHostname, r as enableTailscaleFunnel, t as disableTailscaleFunnel } from "./tailscale-BRTAbJuN.js";
37
37
  import { t as safeEqualSecret } from "./secret-equal-C6Ey0YcX.js";
38
- import { n as pickPrimaryTailnetIPv4, r as pickPrimaryTailnetIPv6 } from "./tailnet-CcjaRS5e.js";
39
- import { c as normalizeHostHeader, d as resolveGatewayBindHost, f as resolveGatewayListenHosts, i as isLoopbackHost, l as pickPrimaryLanIPv4, n as isLocalishHost, o as isTrustedProxyAddress, r as isLoopbackAddress, s as isValidIPv4, t as rawDataToString, u as resolveClientIp } from "./ws-DUfuK8DQ.js";
40
- 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-DfEti-nH.js";
41
- import { d as mergeGatewayTailscaleConfig, l as ensureGatewayStartupAuth, u as mergeGatewayAuthConfig } from "./server-context-BOMErxlB.js";
38
+ import { n as pickPrimaryTailnetIPv4, r as pickPrimaryTailnetIPv6 } from "./tailnet-CoMmrqa1.js";
39
+ import { c as normalizeHostHeader, d as resolveGatewayBindHost, f as resolveGatewayListenHosts, i as isLoopbackHost, l as pickPrimaryLanIPv4, n as isLocalishHost, o as isTrustedProxyAddress, r as isLoopbackAddress, s as isValidIPv4, t as rawDataToString, u as resolveClientIp } from "./ws-DrZBk8aE.js";
40
+ 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-DkciOmKe.js";
41
+ import { d as mergeGatewayTailscaleConfig, l as ensureGatewayStartupAuth, u as mergeGatewayAuthConfig } from "./server-context-DDDYJ1E5.js";
42
42
  import { f as hasBinary } from "./frontmatter-ukO4UPgE.js";
43
43
  import "./env-overrides-DliONB2B.js";
44
- import { n as assertNoPathAliasEscape } from "./path-alias-guards-OAUIyvyc.js";
45
- import { i as loadWorkspaceSkillEntries, r as buildWorkspaceSkillSnapshot } from "./skills-Bme_5_Wh.js";
46
- import "./paths-C6-x9jb-.js";
44
+ import { n as assertNoPathAliasEscape } from "./path-alias-guards-BndjEKU2.js";
45
+ import { i as loadWorkspaceSkillEntries, r as buildWorkspaceSkillSnapshot } from "./skills-C3DzmT-s.js";
46
+ import "./paths-B-3rcnCY.js";
47
47
  import { a as testRegexWithBoundedInput, i as compileSafeRegex } from "./redact-BCIqtHJW.js";
48
48
  import { o as isErrno, r as formatErrorMessage } from "./errors-DMBofubI.js";
49
- import { i as openFileWithinRoot, l as writeFileWithinRoot, s as readLocalFileSafely, t as SafeOpenError } from "./fs-safe-CgWykA_r.js";
50
- import { n as SsrFBlockedError } from "./proxy-env-CHINy-_C.js";
51
- import { n as cleanOldMedia } from "./store-dO9FxwIh.js";
52
- import { n as inspectPortUsage, o as formatPortDiagnostics, t as ensurePortAvailable } from "./ports-CRHQM_CU.js";
49
+ import { i as openFileWithinRoot, l as writeFileWithinRoot, s as readLocalFileSafely, t as SafeOpenError } from "./fs-safe-DZPN9PEp.js";
50
+ import { n as SsrFBlockedError } from "./proxy-env-C4Sv8mbU.js";
51
+ import { n as cleanOldMedia } from "./store-BxDf7hdp.js";
52
+ import { n as inspectPortUsage, o as formatPortDiagnostics, t as ensurePortAvailable } from "./ports-JXKx9QTu.js";
53
53
  import { t as movePathToTrash } from "./trash-BvQCk4Sz.js";
54
- import "./server-middleware-COJNPqNx.js";
55
- import { n as readJsonFile, r as writeJsonAtomic, t as createAsyncLock } from "./json-files-Byf92VOl.js";
56
- import { $ as resolveExplicitAgentSessionKey, A as cleanupArchivedSessionTranscripts, B as jsonUtf8Bytes, C as mergeDeliveryContext, D as archiveFileOnDisk, F as stripEnvelopeFromMessage, H as evaluateSessionFreshness, I as stripEnvelopeFromMessages, J as mergeSessionEntry, M as readSessionPreviewItemsFromTranscript, O as archiveSessionTranscripts, P as resolveSessionTranscriptCandidates, Q as resolveAgentMainSessionKey, R as stripInlineDirectiveTagsForDisplay, T as normalizeSessionDeliveryFields, W as resolveSessionResetPolicy, X as setSessionRuntimeModel, Z as canonicalizeMainSessionAlias, et as resolveMainSessionKey, j as readSessionMessages, k as capArrayByJsonBytes, n as parseSessionThreadInfo, o as archiveRemovedSessionTranscripts, p as updateSessionStore, rt as snapshotSessionOrigin, s as loadSessionStore, t as extractDeliveryInfo, tt as resolveMainSessionKeyFromConfig, ut as cleanStaleLockFiles, x as deliveryContextFromSession, z as stripInlineDirectiveTagsFromMessageForDisplay } from "./sessions-TCNQfcSW.js";
57
- import "./accounts-DIGnwOCI.js";
54
+ import "./server-middleware-CUHXrp2x.js";
55
+ import { n as readJsonFile, r as writeJsonAtomic, t as createAsyncLock } from "./json-files-D-hzuOc8.js";
56
+ import { $ as resolveExplicitAgentSessionKey, A as cleanupArchivedSessionTranscripts, B as jsonUtf8Bytes, C as mergeDeliveryContext, D as archiveFileOnDisk, F as stripEnvelopeFromMessage, H as evaluateSessionFreshness, I as stripEnvelopeFromMessages, J as mergeSessionEntry, M as readSessionPreviewItemsFromTranscript, O as archiveSessionTranscripts, P as resolveSessionTranscriptCandidates, Q as resolveAgentMainSessionKey, R as stripInlineDirectiveTagsForDisplay, T as normalizeSessionDeliveryFields, W as resolveSessionResetPolicy, X as setSessionRuntimeModel, Z as canonicalizeMainSessionAlias, et as resolveMainSessionKey, j as readSessionMessages, k as capArrayByJsonBytes, n as parseSessionThreadInfo, o as archiveRemovedSessionTranscripts, p as updateSessionStore, rt as snapshotSessionOrigin, s as loadSessionStore, t as extractDeliveryInfo, tt as resolveMainSessionKeyFromConfig, ut as cleanStaleLockFiles, x as deliveryContextFromSession, z as stripInlineDirectiveTagsFromMessageForDisplay } from "./sessions-BJu8U8kz.js";
57
+ import "./accounts-NKTm9o4M.js";
58
58
  import { c as resolveStorePath, i as resolveSessionTranscriptPath, n as resolveSessionFilePath, r as resolveSessionFilePathOptions, s as resolveSessionTranscriptsDirForAgent } from "./paths-CA9zLiBI.js";
59
59
  import { i as normalizeInputProvenance } from "./input-provenance-CFnw8yhY.js";
60
60
  import "./chat-envelope-Ccu0M1Es.js";
61
- import { o as estimateBase64DecodedBytes } from "./tool-images-C1FdHV43.js";
61
+ import { o as estimateBase64DecodedBytes } from "./tool-images-ByGbgP3W.js";
62
62
  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-Bkhiq_gH.js";
63
- import "./models-config-Do_bkbr3.js";
64
- import "./exec-approvals-allowlist-BKsPjl3W.js";
65
- import "./exec-safe-bin-runtime-policy-Cm7TKqpY.js";
66
- import { n as loadModelCatalog } from "./model-catalog-CyL_QlZd.js";
67
- import "./fetch-OsQusEch.js";
68
- import { g as registerUnhandledRejectionHandler } from "./audio-transcription-runner-Cdvz7bpD.js";
69
- import { t as fetchWithSsrFGuard } from "./fetch-guard-CYvHLcm1.js";
70
- import { b as extractTextFromChatContent } from "./image-gKRn4k2T.js";
63
+ import "./models-config-ioRkhhh4.js";
64
+ import "./exec-approvals-allowlist-BTePmA7R.js";
65
+ import "./exec-safe-bin-runtime-policy-B8a4-DkO.js";
66
+ import { n as loadModelCatalog } from "./model-catalog-Crm5h6fz.js";
67
+ import "./fetch-CLpizcRC.js";
68
+ import { g as registerUnhandledRejectionHandler } from "./audio-transcription-runner-Cl9Pu_e3.js";
69
+ import { t as fetchWithSsrFGuard } from "./fetch-guard-CTJIkmOy.js";
70
+ import { b as extractTextFromChatContent } from "./image-C-OScNLH.js";
71
71
  import "./tool-display-C82F9dil.js";
72
- import "./api-key-rotation-D7uyLcCV.js";
72
+ import "./api-key-rotation-DsHx0Ttu.js";
73
73
  import "./proxy-fetch-D5sLhh0l.js";
74
- import "./ir-DTl0TSQX.js";
74
+ import "./ir-MJchm-P0.js";
75
75
  import "./render-CumKrTIx.js";
76
- import { a as ToolInputError } from "./target-errors-018oJFiB.js";
77
- import { r as isRestartEnabled } from "./commands-DP7Bcuo2.js";
78
- import "./commands-registry-B5lrLxcS.js";
76
+ import { a as ToolInputError } from "./target-errors-N10oAD8K.js";
77
+ import { r as isRestartEnabled } from "./commands-C-YxTe08.js";
78
+ import "./commands-registry-WI8KXlO7.js";
79
79
  import { c as hasNonzeroUsage, i as loadSessionUsageTimeSeries, n as loadCostUsageSummary, r as loadSessionCostSummary, s as deriveSessionTotalTokens, t as discoverAllSessions } from "./session-cost-usage-cBObXwSm.js";
80
- import { a as loadCombinedSessionStoreForGateway, c as resolveGatewaySessionStoreTarget, f as computeBackoff, i as listSessionsFromStore, l as resolveSessionModelRef, o as loadSessionEntry, p as sleepWithAbort, r as listAgentsForGateway, s as pruneLegacyStoreKeys, t as canonicalizeSpawnedByForAgent, u as lookupContextTokens } from "./session-utils-HmD-1G9e.js";
81
- import "./sqlite-CVpjz_Fn.js";
82
- import { $ as validateNodePairApproveParams, $t as summarizeDeviceTokens, A as validateCronRunParams, At as validateWizardCancelParams, B as validateExecApprovalRequestParams, Bt as buildDeviceAuthPayload, C as validateConfigSchemaLookupResult, Ct as validateTalkConfigParams, D as validateCronAddParams, Dt as validateWakeParams, E as validateConnectParams, Et as validateUpdateRunParams, F as validateDevicePairListParams, Ft as ErrorCodes, G as validateExecApprovalsSetParams, Gt as ensureDeviceToken, H as validateExecApprovalsGetParams, Ht as normalizeDeviceMetadataForAuth, I as validateDevicePairRejectParams, It as errorShape, J as validateNodeDescribeParams, Jt as rejectDevicePairing, K as validateLogsTailParams, Kt as getPairedDevice, L as validateDevicePairRemoveParams, Lt as CHAT_SEND_SESSION_KEY_MAX_LENGTH, M as validateCronStatusParams, Mt as validateWizardStartParams, N as validateCronUpdateParams, Nt as validateWizardStatusParams, O as validateCronListParams, Ot as validateWebLoginStartParams, P as validateDevicePairApproveParams, Pt as PROTOCOL_VERSION, Q as validateNodeListParams, Qt as rotateDeviceToken, R as validateDeviceTokenRevokeParams, S as validateConfigSchemaLookupParams, St as validateSkillsUpdateParams, T as validateConfigSetParams, Tt as validateToolsCatalogParams, U as validateExecApprovalsNodeGetParams, V as validateExecApprovalResolveParams, Vt as buildDeviceAuthPayloadV3, W as validateExecApprovalsNodeSetParams, Wt as approveDevicePairing, X as validateNodeInvokeParams, Xt as requestDevicePairing, Y as validateNodeEventParams, Yt as removePairedDevice, Z as validateNodeInvokeResultParams, Zt as revokeDeviceToken, _ as validateChatInjectParams, _t as validateSessionsResolveParams, a as validateAgentWaitParams, an as deriveDeviceIdFromPublicKey, at as validatePollParams, b as validateConfigGetParams, bt as validateSkillsInstallParams, c as validateAgentsFilesGetParams, cn as verifyDeviceSignature, ct as validateSecretsResolveParams, d as validateAgentsListParams, dt as validateSessionsCompactParams, en as updatePairedDeviceMetadata, et as validateNodePairListParams, f as validateAgentsUpdateParams, ft as validateSessionsDeleteParams, g as validateChatHistoryParams, gt as validateSessionsResetParams, h as validateChatAbortParams, ht as validateSessionsPreviewParams, i as validateAgentParams, it as validateNodeRenameParams, j as validateCronRunsParams, jt as validateWizardNextParams, k as validateCronRemoveParams, kt as validateWebLoginWaitParams, l as validateAgentsFilesListParams, lt as validateSecretsResolveResult, m as validateChannelsStatusParams, mt as validateSessionsPatchParams, n as formatValidationErrors, nn as roleScopesAllow, nt as validateNodePairRequestParams, o as validateAgentsCreateParams, ot as validatePushTestParams, p as validateChannelsLogoutParams, pt as validateSessionsListParams, q as validateModelsListParams, qt as listDevicePairing, r as validateAgentIdentityParams, rt as validateNodePairVerifyParams, s as validateAgentsDeleteParams, sn as normalizeDevicePublicKeyBase64Url, st as validateRequestFrame, tn as verifyDeviceToken, tt as validateNodePairRejectParams, u as validateAgentsFilesSetParams, ut as validateSendParams, v as validateChatSendParams, vt as validateSessionsUsageParams, w as validateConfigSchemaParams, wt as validateTalkModeParams, x as validateConfigPatchParams, xt as validateSkillsStatusParams, y as validateConfigApplyParams, yt as validateSkillsBinsParams, z as validateDeviceTokenRotateParams, zt as parseSessionLabel } from "./client-IQ7AZ1A-.js";
83
- import { c as ADMIN_SCOPE$3, d as isNodeRoleMethod, n as callGateway, p as loadGatewayTlsRuntime$1, u as authorizeOperatorScopesForMethod } from "./call-Bl8osGeS.js";
80
+ import { a as loadCombinedSessionStoreForGateway, c as resolveGatewaySessionStoreTarget, f as computeBackoff, i as listSessionsFromStore, l as resolveSessionModelRef, o as loadSessionEntry, p as sleepWithAbort, r as listAgentsForGateway, s as pruneLegacyStoreKeys, t as canonicalizeSpawnedByForAgent, u as lookupContextTokens } from "./session-utils-DqcL4tRB.js";
81
+ import "./sqlite-B6J7wlgb.js";
82
+ import { $ as validateNodePairApproveParams, $t as summarizeDeviceTokens, A as validateCronRunParams, At as validateWizardCancelParams, B as validateExecApprovalRequestParams, Bt as buildDeviceAuthPayload, C as validateConfigSchemaLookupResult, Ct as validateTalkConfigParams, D as validateCronAddParams, Dt as validateWakeParams, E as validateConnectParams, Et as validateUpdateRunParams, F as validateDevicePairListParams, Ft as ErrorCodes, G as validateExecApprovalsSetParams, Gt as ensureDeviceToken, H as validateExecApprovalsGetParams, Ht as normalizeDeviceMetadataForAuth, I as validateDevicePairRejectParams, It as errorShape, J as validateNodeDescribeParams, Jt as rejectDevicePairing, K as validateLogsTailParams, Kt as getPairedDevice, L as validateDevicePairRemoveParams, Lt as CHAT_SEND_SESSION_KEY_MAX_LENGTH, M as validateCronStatusParams, Mt as validateWizardStartParams, N as validateCronUpdateParams, Nt as validateWizardStatusParams, O as validateCronListParams, Ot as validateWebLoginStartParams, P as validateDevicePairApproveParams, Pt as PROTOCOL_VERSION, Q as validateNodeListParams, Qt as rotateDeviceToken, R as validateDeviceTokenRevokeParams, S as validateConfigSchemaLookupParams, St as validateSkillsUpdateParams, T as validateConfigSetParams, Tt as validateToolsCatalogParams, U as validateExecApprovalsNodeGetParams, V as validateExecApprovalResolveParams, Vt as buildDeviceAuthPayloadV3, W as validateExecApprovalsNodeSetParams, Wt as approveDevicePairing, X as validateNodeInvokeParams, Xt as requestDevicePairing, Y as validateNodeEventParams, Yt as removePairedDevice, Z as validateNodeInvokeResultParams, Zt as revokeDeviceToken, _ as validateChatInjectParams, _t as validateSessionsResolveParams, a as validateAgentWaitParams, an as deriveDeviceIdFromPublicKey, at as validatePollParams, b as validateConfigGetParams, bt as validateSkillsInstallParams, c as validateAgentsFilesGetParams, cn as verifyDeviceSignature, ct as validateSecretsResolveParams, d as validateAgentsListParams, dt as validateSessionsCompactParams, en as updatePairedDeviceMetadata, et as validateNodePairListParams, f as validateAgentsUpdateParams, ft as validateSessionsDeleteParams, g as validateChatHistoryParams, gt as validateSessionsResetParams, h as validateChatAbortParams, ht as validateSessionsPreviewParams, i as validateAgentParams, it as validateNodeRenameParams, j as validateCronRunsParams, jt as validateWizardNextParams, k as validateCronRemoveParams, kt as validateWebLoginWaitParams, l as validateAgentsFilesListParams, lt as validateSecretsResolveResult, m as validateChannelsStatusParams, mt as validateSessionsPatchParams, n as formatValidationErrors, nn as roleScopesAllow, nt as validateNodePairRequestParams, o as validateAgentsCreateParams, ot as validatePushTestParams, p as validateChannelsLogoutParams, pt as validateSessionsListParams, q as validateModelsListParams, qt as listDevicePairing, r as validateAgentIdentityParams, rt as validateNodePairVerifyParams, s as validateAgentsDeleteParams, sn as normalizeDevicePublicKeyBase64Url, st as validateRequestFrame, tn as verifyDeviceToken, tt as validateNodePairRejectParams, u as validateAgentsFilesSetParams, ut as validateSendParams, v as validateChatSendParams, vt as validateSessionsUsageParams, w as validateConfigSchemaParams, wt as validateTalkModeParams, x as validateConfigPatchParams, xt as validateSkillsStatusParams, y as validateConfigApplyParams, yt as validateSkillsBinsParams, z as validateDeviceTokenRotateParams, zt as parseSessionLabel } from "./client-DaFloLVI.js";
83
+ import { c as ADMIN_SCOPE$3, d as isNodeRoleMethod, n as callGateway, p as loadGatewayTlsRuntime$1, u as authorizeOperatorScopesForMethod } from "./call-B56A9tyz.js";
84
84
  import "./pairing-token-fl66UgDc.js";
85
85
  import "./fetch-CT-djTs1.js";
86
- import { a as readChannelAllowFromStoreSync } from "./pairing-store-gcbFdvn2.js";
86
+ import { a as readChannelAllowFromStoreSync } from "./pairing-store-BsYNiJyH.js";
87
87
  import { a as mergeExecApprovalsSocketDefaults, d as readExecApprovalsSnapshot, g as saveExecApprovals, r as ensureExecApprovals, s as normalizeExecApprovals, t as DEFAULT_EXEC_APPROVAL_TIMEOUT_MS } from "./exec-approvals-C9sQPnw_.js";
88
- import { _ as matchSystemRunApprovalBinding, g as buildSystemRunApprovalBinding, h as resolveSystemRunApprovalRuntimeContext, m as resolveSystemRunApprovalRequestContext, v as missingSystemRunApprovalBinding, y as toSystemRunApprovalMismatchError } from "./nodes-screen-gvENU0qT.js";
89
- import { n as resolveSystemRunCommand } from "./system-run-command-B6YFaIn3.js";
88
+ import { _ as matchSystemRunApprovalBinding, g as buildSystemRunApprovalBinding, h as resolveSystemRunApprovalRuntimeContext, m as resolveSystemRunApprovalRequestContext, v as missingSystemRunApprovalBinding, y as toSystemRunApprovalMismatchError } from "./nodes-screen-B7eOQ14A.js";
89
+ import { n as resolveSystemRunCommand } from "./system-run-command-BlvZfJeb.js";
90
90
  import { n as formatTokenCount, r as formatUsd } from "./usage-format-EdDmn0JB.js";
91
- import { _ as updatePairedNodeMetadata, a as getRemoteSkillEligibility, b as getSkillsSnapshotVersion, c as refreshRemoteBinsForConnectedNodes, d as setSkillsRemoteRegistry, f as approveNodePairing, g as requestNodePairing, h as renamePairedNode, l as refreshRemoteNodeBins, m as rejectNodePairing, o as primeRemoteSkillsCache, p as listNodePairing, s as recordRemoteNodeInfo, u as removeRemoteNodeInfo, v as verifyNodeToken, x as registerSkillsChangeListener } from "./skill-commands-BvomqRJm.js";
92
- import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, r as resolveEffectiveToolPolicy } from "./pi-tools.policy-dFXahmgF.js";
93
- import { t as listAgentWorkspaceDirs } from "./workspace-dirs-Ch8qs0UH.js";
94
- import { t as getChannelActivity } from "./channel-activity-DFfVKdMC.js";
91
+ import { _ as updatePairedNodeMetadata, a as getRemoteSkillEligibility, b as getSkillsSnapshotVersion, c as refreshRemoteBinsForConnectedNodes, d as setSkillsRemoteRegistry, f as approveNodePairing, g as requestNodePairing, h as renamePairedNode, l as refreshRemoteNodeBins, m as rejectNodePairing, o as primeRemoteSkillsCache, p as listNodePairing, s as recordRemoteNodeInfo, u as removeRemoteNodeInfo, v as verifyNodeToken, x as registerSkillsChangeListener } from "./skill-commands-C7_32HvU.js";
92
+ import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, r as resolveEffectiveToolPolicy } from "./pi-tools.policy-CSPrerKx.js";
93
+ import { t as listAgentWorkspaceDirs } from "./workspace-dirs--0e3kMf7.js";
94
+ import { t as getChannelActivity } from "./channel-activity-ClJu0F_1.js";
95
95
  import { n as normalizePollInput } from "./polls-CPccP3Bz.js";
96
- import "./tables-Ckhi6C4h.js";
97
- import "./server-lifecycle-Bz_tILpw.js";
96
+ import "./tables-DVqUjPRa.js";
97
+ import "./server-lifecycle-5QwrD-pI.js";
98
98
  import { i as parseAbsoluteTimeMs, n as resolveCronStaggerMs, r as resolveDefaultCronStaggerMs, t as normalizeCronStaggerMs } from "./stagger-CiDn7D2Z.js";
99
- import { n as resolveMessageChannelSelection } from "./channel-selection-TEB-oKFB.js";
100
- import { i as buildChannelUiCatalog, t as applyPluginAutoEnable } from "./plugin-auto-enable-CPLdiF-6.js";
101
- import "./send-DR8brNFF.js";
102
- import "./outbound-attachment-BE3KAIhc.js";
99
+ import { n as resolveMessageChannelSelection } from "./channel-selection-DHlVN8Pr.js";
100
+ import { i as buildChannelUiCatalog, t as applyPluginAutoEnable } from "./plugin-auto-enable-BAHkcVP4.js";
101
+ import "./send-Cms8uhN1.js";
102
+ import "./outbound-attachment-Bui79r_g.js";
103
103
  import "./delivery-queue-B_HOp2X3.js";
104
- import "./send-BRb_0Ibb.js";
104
+ import "./send-Dlp3HAiX.js";
105
105
  import "./proxy-CUsDSClP.js";
106
106
  import "./timeouts-DEnpCqGd.js";
107
- import { n as GATEWAY_AUTH_SURFACE_PATHS, p as isKnownSecretTargetId, r as evaluateGatewayAuthSurfaceStates } from "./runtime-config-collectors-DVZ-fK7E.js";
108
- import "./command-secret-targets-B1PuKXnU.js";
109
- import { C as normalizeControlUiBasePath, S as buildControlUiAvatarUrl, c as handleReset, w as resolveAssistantAvatarUrl, x as CONTROL_UI_AVATAR_PREFIX } from "./onboard-helpers-BqSYoJSO.js";
107
+ import { n as GATEWAY_AUTH_SURFACE_PATHS, p as isKnownSecretTargetId, r as evaluateGatewayAuthSurfaceStates } from "./runtime-config-collectors-DM4YW0m9.js";
108
+ import "./command-secret-targets-CsIlET0p.js";
109
+ import { C as normalizeControlUiBasePath, S as buildControlUiAvatarUrl, c as handleReset, w as resolveAssistantAvatarUrl, x as CONTROL_UI_AVATAR_PREFIX } from "./onboard-helpers-BJ2MHcp9.js";
110
110
  import "./prompt-style-ezqCM_Sr.js";
111
- import "./pairing-labels-c6cTWTzi.js";
112
- import { i as resolveMemoryBackendConfig, r as getMemorySearchManager } from "./memory-cli-CXFqQMtN.js";
113
- import { i as resolveMemorySearchConfig } from "./manager-DyZ-LIQS.js";
111
+ import "./pairing-labels-DvrRVH1N.js";
112
+ import { i as resolveMemoryBackendConfig, r as getMemorySearchManager } from "./memory-cli-DjSgQlDO.js";
113
+ import { i as resolveMemorySearchConfig } from "./manager-Mu3eMmUj.js";
114
114
  import { t as formatDocsLink } from "./links-BUkYLQQF.js";
115
115
  import { n as runCommandWithRuntime } from "./cli-utils-CI_KkT8q.js";
116
116
  import { t as formatHelpExamples } from "./help-format-B08o9IQj.js";
117
117
  import { n as withProgress } from "./progress-BNL5DRrQ.js";
118
- import { t as buildWorkspaceSkillStatus } from "./skills-status-DDy1p1bH.js";
118
+ import { t as buildWorkspaceSkillStatus } from "./skills-status-n9vgDHer.js";
119
119
  import { i as onHeartbeatEvent, r as getLastHeartbeatEvent, t as resolveHeartbeatVisibility } from "./heartbeat-visibility-B3tx2v3N.js";
120
120
  import { t as ensureOpenClawCliOnPath } from "./path-env-CYGiAYuP.js";
121
121
  import { n as DEFAULT_GATEWAY_HTTP_TOOL_DENY } from "./dangerous-tools-DYhQ651h.js";
122
122
  import { n as inheritOptionFromParent } from "./command-options-DEPpN8NK.js";
123
123
  import { t as WizardCancelledError } from "./prompts-ULYkmWPj.js";
124
124
  import { t as resolveChannelDefaultAccountId } from "./helpers-BAv58r5B.js";
125
- import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-7ZBT3aJH.js";
126
- import { t as isWithinDir } from "./path-safety-h4lG_U1h.js";
127
- import "./install-safe-path-Brs51UVy.js";
128
- import "./skill-scanner-B_VveqAF.js";
129
- import { n as formatConfigIssueLines } from "./issue-format-8vbMtP-9.js";
130
- import { t as buildChannelAccountSnapshot } from "./status-CZmvZ4Du.js";
131
- import "./channels-status-issues-CHYRNB54.js";
132
- 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-DfzfKriI.js";
133
- import "./daemon-install-helpers-CVfc_ZXM.js";
125
+ import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-iby7tWX6.js";
126
+ import { t as isWithinDir } from "./path-safety-FANXxHHr.js";
127
+ import "./install-safe-path-NpGSerww.js";
128
+ import "./skill-scanner-CTA9_1Ad.js";
129
+ import { n as formatConfigIssueLines } from "./issue-format-BhYUpe8G.js";
130
+ import { t as buildChannelAccountSnapshot } from "./status-CzDUyBhZ.js";
131
+ import "./channels-status-issues-CmDh358n.js";
132
+ 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-sxLRRmfh.js";
133
+ import "./daemon-install-helpers-BWyx8Sx7.js";
134
134
  import "./runtime-guard-kzIyHhvr.js";
135
- import "./gateway-install-token-DpBkW5NL.js";
136
- import "./systemd-DunyHHc7.js";
137
- import "./service-A9LH2cqi.js";
138
- import "./lifecycle-core-D57bmaEM.js";
139
- import "./systemd-hints-Cc1WoU1g.js";
135
+ import "./gateway-install-token-DUJ-X-CS.js";
136
+ import "./systemd-QfmEIyC_.js";
137
+ import "./service-VB8hrx3m.js";
138
+ import "./lifecycle-core-BDRJ-gZl.js";
139
+ import "./systemd-hints-C8DMAujY.js";
140
140
  import { t as parsePort$1 } from "./parse-port-DnJYkByg.js";
141
- import { n as addGatewayServiceCommands } from "./daemon-cli-DDOlXF-y.js";
142
- import { t as probeGateway } from "./probe-B01qwW3t.js";
143
- import "./diagnostics-BrA18SV4.js";
141
+ import { n as addGatewayServiceCommands } from "./daemon-cli-Di0mFZWs.js";
142
+ import { t as probeGateway } from "./probe-BSiLGREe.js";
143
+ import "./diagnostics-CJLP-HQK.js";
144
144
  import "./table-n1r43DsC.js";
145
145
  import { n as resolveWideAreaDiscoveryDomain, r as writeWideAreaGatewayZone } from "./widearea-dns-e4-5Q3_T.js";
146
- import { i as toOptionString, n as extractGatewayMiskeys, r as maybeExplainGatewayServiceStop, t as describeUnknownError } from "./shared-0ohfVTdd.js";
147
- import { t as discoverGatewayBeacons } from "./bonjour-discovery-Dk22JKmo.js";
148
- import { t as resolveConfiguredSecretInputString } from "./resolve-configured-secret-input-string-BdkI2Dl0.js";
149
- import { i as pickGatewaySelfPresence, r as getStatusSummary } from "./status-DGNyj-My.js";
150
- import { a as styleHealthChannelLine, c as setHeartbeatsEnabled, l as startHeartbeatRunner, n as getHealthSnapshot, s as runHeartbeatOnce, t as formatHealthChannelLines, u as isCronSystemEvent } from "./health-CX11t-Su.js";
151
- import { a as resolveControlUiRootSync, i as resolveControlUiRootOverrideSync, t as ensureControlUiAssetsBuilt } from "./control-ui-assets-DIBwwDAL.js";
152
- import { h as normalizeUpdateChannel, l as DEFAULT_PACKAGE_CHANNEL, n as checkUpdateStatus, o as resolveNpmChannelTag, r as compareSemverStrings } from "./channel-account-context-Bkq8Tao4.js";
153
- import { a as resolveCommandSecretsFromActiveRuntimeSnapshot, i as prepareSecretsRuntimeSnapshot, n as clearSecretsRuntimeSnapshot, r as getActiveSecretsRuntimeSnapshot, t as activateSecretsRuntimeSnapshot } from "./runtime-DIn_d_mi.js";
154
- import "./onboarding.secret-input-D28tCmCi.js";
155
- import { t as runOnboardingWizard } from "./onboarding-C2ZQIZ5e.js";
156
- 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-Dv9W1mnb.js";
146
+ import { i as toOptionString, n as extractGatewayMiskeys, r as maybeExplainGatewayServiceStop, t as describeUnknownError } from "./shared-Bto9UlKB.js";
147
+ import { t as discoverGatewayBeacons } from "./bonjour-discovery-DBClG9uw.js";
148
+ import { t as resolveConfiguredSecretInputString } from "./resolve-configured-secret-input-string-DvKJxAtp.js";
149
+ import { i as pickGatewaySelfPresence, r as getStatusSummary } from "./status-BvATDhyx.js";
150
+ import { a as styleHealthChannelLine, c as setHeartbeatsEnabled, l as startHeartbeatRunner, n as getHealthSnapshot, s as runHeartbeatOnce, t as formatHealthChannelLines, u as isCronSystemEvent } from "./health-CqfjbU3N.js";
151
+ import { a as resolveControlUiRootSync, i as resolveControlUiRootOverrideSync, t as ensureControlUiAssetsBuilt } from "./control-ui-assets-B1qVA62q.js";
152
+ import { h as normalizeUpdateChannel, l as DEFAULT_PACKAGE_CHANNEL, n as checkUpdateStatus, o as resolveNpmChannelTag, r as compareSemverStrings } from "./channel-account-context-CkpkengK.js";
153
+ import { a as resolveCommandSecretsFromActiveRuntimeSnapshot, i as prepareSecretsRuntimeSnapshot, n as clearSecretsRuntimeSnapshot, r as getActiveSecretsRuntimeSnapshot, t as activateSecretsRuntimeSnapshot } from "./runtime-BC8kvHYq.js";
154
+ import "./onboarding.secret-input-yXmtdEMi.js";
155
+ import { t as runOnboardingWizard } from "./onboarding-BV3dioI3.js";
156
+ 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-JhqWOAwU.js";
157
157
  import { T as resolveGmailHookRuntimeConfig, _ as buildGogWatchServeArgs, i as ensureTailscaleEndpoint, v as buildGogWatchStartArgs } from "./gmail-setup-utils-C9AnxMKs.js";
158
- import { n as isNodeCommandAllowed, r as resolveNodeCommandAllowlist } from "./node-command-policy-Bqp9nIUg.js";
159
- import { n as collectEnabledInsecureOrDangerousFlags } from "./audit-qqRogHSL.js";
160
- import "./node-service-BirxNntZ.js";
161
- import "./status.update-CMY8gTu2.js";
162
- import { t as installSkill } from "./skills-install-jgMttMiG.js";
163
- import { t as runGatewayUpdate } from "./update-runner-BSMIDJ-p.js";
164
- import { i as shouldIncludeHook, r as resolveHookConfig, t as loadWorkspaceHookEntries } from "./workspace-Ct8qaDh3.js";
165
- import { n as forceFreePortAndWait, r as waitForPortBindable } from "./ports-CrkPY1HU.js";
158
+ import { n as isNodeCommandAllowed, r as resolveNodeCommandAllowlist } from "./node-command-policy-DdF7xJQa.js";
159
+ import { n as collectEnabledInsecureOrDangerousFlags } from "./audit-DtKtvGnO.js";
160
+ import "./node-service-DCfQospz.js";
161
+ import "./status.update-DndHNWm3.js";
162
+ import { t as installSkill } from "./skills-install-xhIs9n_2.js";
163
+ import { t as runGatewayUpdate } from "./update-runner-CCB_wRmi.js";
164
+ import { i as shouldIncludeHook, r as resolveHookConfig, t as loadWorkspaceHookEntries } from "./workspace-ST8Op53v.js";
165
+ import { n as forceFreePortAndWait, r as waitForPortBindable } from "./ports-CFvWMNlt.js";
166
166
  import { spawn, spawnSync } from "node:child_process";
167
167
  import { fileURLToPath, pathToFileURL } from "node:url";
168
168
  import os from "node:os";
@@ -171,7 +171,7 @@ import * as fsSync from "node:fs";
171
171
  import fs from "node:fs";
172
172
  import chalk from "chalk";
173
173
  import { isDeepStrictEqual } from "node:util";
174
- import fs$1 from "node:fs/promises";
174
+ import fsPromises from "node:fs/promises";
175
175
  import crypto, { createHash, randomBytes, randomUUID } from "node:crypto";
176
176
  import { z } from "zod";
177
177
  import { CURRENT_SESSION_VERSION, SessionManager } from "@mariozechner/pi-coding-agent";
@@ -1313,7 +1313,7 @@ function resolveCheckIntervalMs(cfg) {
1313
1313
  }
1314
1314
  async function readState(statePath) {
1315
1315
  try {
1316
- const raw = await fs$1.readFile(statePath, "utf-8");
1316
+ const raw = await fsPromises.readFile(statePath, "utf-8");
1317
1317
  const parsed = JSON.parse(raw);
1318
1318
  return parsed && typeof parsed === "object" ? parsed : {};
1319
1319
  } catch {
@@ -1394,7 +1394,7 @@ async function runAutoUpdateCommand(params) {
1394
1394
  path.join(params.root, "dist", "index.mjs")
1395
1395
  ];
1396
1396
  for (const candidate of candidates) try {
1397
- await fs$1.access(candidate);
1397
+ await fsPromises.access(candidate);
1398
1398
  argv.push(execPath, candidate, ...baseArgs);
1399
1399
  break;
1400
1400
  } catch {}
@@ -4620,7 +4620,7 @@ function resolveCronRunLogPath(params) {
4620
4620
  }
4621
4621
  const writesByPath = /* @__PURE__ */ new Map();
4622
4622
  async function setSecureFileMode(filePath) {
4623
- await fs$1.chmod(filePath, 384).catch(() => void 0);
4623
+ await fsPromises.chmod(filePath, 384).catch(() => void 0);
4624
4624
  }
4625
4625
  const DEFAULT_CRON_RUN_LOG_MAX_BYTES = 2e6;
4626
4626
  const DEFAULT_CRON_RUN_LOG_KEEP_LINES = 2e3;
@@ -4644,30 +4644,30 @@ async function drainPendingWrite(filePath) {
4644
4644
  if (pending) await pending.catch(() => void 0);
4645
4645
  }
4646
4646
  async function pruneIfNeeded(filePath, opts) {
4647
- const stat = await fs$1.stat(filePath).catch(() => null);
4647
+ const stat = await fsPromises.stat(filePath).catch(() => null);
4648
4648
  if (!stat || stat.size <= opts.maxBytes) return;
4649
- const lines = (await fs$1.readFile(filePath, "utf-8").catch(() => "")).split("\n").map((l) => l.trim()).filter(Boolean);
4649
+ const lines = (await fsPromises.readFile(filePath, "utf-8").catch(() => "")).split("\n").map((l) => l.trim()).filter(Boolean);
4650
4650
  const kept = lines.slice(Math.max(0, lines.length - opts.keepLines));
4651
4651
  const { randomBytes } = await import("node:crypto");
4652
4652
  const tmp = `${filePath}.${process.pid}.${randomBytes(8).toString("hex")}.tmp`;
4653
- await fs$1.writeFile(tmp, `${kept.join("\n")}\n`, {
4653
+ await fsPromises.writeFile(tmp, `${kept.join("\n")}\n`, {
4654
4654
  encoding: "utf-8",
4655
4655
  mode: 384
4656
4656
  });
4657
4657
  await setSecureFileMode(tmp);
4658
- await fs$1.rename(tmp, filePath);
4658
+ await fsPromises.rename(tmp, filePath);
4659
4659
  await setSecureFileMode(filePath);
4660
4660
  }
4661
4661
  async function appendCronRunLog(filePath, entry, opts) {
4662
4662
  const resolved = path.resolve(filePath);
4663
4663
  const next = (writesByPath.get(resolved) ?? Promise.resolve()).catch(() => void 0).then(async () => {
4664
4664
  const runDir = path.dirname(resolved);
4665
- await fs$1.mkdir(runDir, {
4665
+ await fsPromises.mkdir(runDir, {
4666
4666
  recursive: true,
4667
4667
  mode: 448
4668
4668
  });
4669
- await fs$1.chmod(runDir, 448).catch(() => void 0);
4670
- await fs$1.appendFile(resolved, `${JSON.stringify(entry)}\n`, {
4669
+ await fsPromises.chmod(runDir, 448).catch(() => void 0);
4670
+ await fsPromises.appendFile(resolved, `${JSON.stringify(entry)}\n`, {
4671
4671
  encoding: "utf-8",
4672
4672
  mode: 384
4673
4673
  });
@@ -4765,7 +4765,7 @@ function filterRunLogEntries(entries, opts) {
4765
4765
  async function readCronRunLogEntriesPage(filePath, opts) {
4766
4766
  await drainPendingWrite(filePath);
4767
4767
  const limit = Math.max(1, Math.min(200, Math.floor(opts?.limit ?? 50)));
4768
- const raw = await fs$1.readFile(path.resolve(filePath), "utf-8").catch(() => "");
4768
+ const raw = await fsPromises.readFile(path.resolve(filePath), "utf-8").catch(() => "");
4769
4769
  const statuses = normalizeRunStatuses(opts);
4770
4770
  const deliveryStatuses = normalizeDeliveryStatuses(opts);
4771
4771
  const query = opts?.query?.trim().toLowerCase() ?? "";
@@ -4801,7 +4801,7 @@ async function readCronRunLogEntriesPageAll(opts) {
4801
4801
  const query = opts.query?.trim().toLowerCase() ?? "";
4802
4802
  const sortDir = opts.sortDir === "asc" ? "asc" : "desc";
4803
4803
  const runsDir = path.resolve(path.dirname(path.resolve(opts.storePath)), "runs");
4804
- 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));
4804
+ const jsonlFiles = (await fsPromises.readdir(runsDir, { withFileTypes: true }).catch(() => [])).filter((entry) => entry.isFile() && entry.name.endsWith(".jsonl")).map((entry) => path.join(runsDir, entry.name));
4805
4805
  if (jsonlFiles.length === 0) return {
4806
4806
  entries: [],
4807
4807
  total: 0,
@@ -4812,7 +4812,7 @@ async function readCronRunLogEntriesPageAll(opts) {
4812
4812
  };
4813
4813
  await Promise.all(jsonlFiles.map((f) => drainPendingWrite(f)));
4814
4814
  const filtered = filterRunLogEntries((await Promise.all(jsonlFiles.map(async (filePath) => {
4815
- return parseAllRunLogEntries(await fs$1.readFile(filePath, "utf-8").catch(() => ""));
4815
+ return parseAllRunLogEntries(await fsPromises.readFile(filePath, "utf-8").catch(() => ""));
4816
4816
  }))).flat(), {
4817
4817
  statuses,
4818
4818
  deliveryStatuses,
@@ -10390,7 +10390,7 @@ function resolveWorkspaceFilePathResultOrThrow(params) {
10390
10390
  }
10391
10391
  async function resolveWorkspaceRealPath(workspaceDir) {
10392
10392
  try {
10393
- return await fs$1.realpath(workspaceDir);
10393
+ return await fsPromises.realpath(workspaceDir);
10394
10394
  } catch {
10395
10395
  return path.resolve(workspaceDir);
10396
10396
  }
@@ -10419,7 +10419,7 @@ async function resolveAgentWorkspaceFilePath(params) {
10419
10419
  };
10420
10420
  let candidateLstat;
10421
10421
  try {
10422
- candidateLstat = await fs$1.lstat(candidatePath);
10422
+ candidateLstat = await fsPromises.lstat(candidatePath);
10423
10423
  } catch (err) {
10424
10424
  return resolveWorkspaceFilePathResultOrThrow({
10425
10425
  error: err,
@@ -10430,7 +10430,7 @@ async function resolveAgentWorkspaceFilePath(params) {
10430
10430
  if (candidateLstat.isSymbolicLink()) {
10431
10431
  let targetReal;
10432
10432
  try {
10433
- targetReal = await fs$1.realpath(candidatePath);
10433
+ targetReal = await fsPromises.realpath(candidatePath);
10434
10434
  } catch (err) {
10435
10435
  return resolveWorkspaceFilePathResultOrThrow({
10436
10436
  error: err,
@@ -10440,7 +10440,7 @@ async function resolveAgentWorkspaceFilePath(params) {
10440
10440
  }
10441
10441
  let targetStat;
10442
10442
  try {
10443
- targetStat = await fs$1.stat(targetReal);
10443
+ targetStat = await fsPromises.stat(targetReal);
10444
10444
  } catch (err) {
10445
10445
  return resolveWorkspaceFilePathResultOrThrow({
10446
10446
  error: err,
@@ -10478,13 +10478,13 @@ async function resolveAgentWorkspaceFilePath(params) {
10478
10478
  return {
10479
10479
  kind: "ready",
10480
10480
  requestPath,
10481
- ioPath: await fs$1.realpath(candidatePath).catch(() => candidatePath),
10481
+ ioPath: await fsPromises.realpath(candidatePath).catch(() => candidatePath),
10482
10482
  workspaceReal
10483
10483
  };
10484
10484
  }
10485
10485
  async function statFileSafely(filePath) {
10486
10486
  try {
10487
- const [stat, lstat] = await Promise.all([fs$1.stat(filePath), fs$1.lstat(filePath)]);
10487
+ const [stat, lstat] = await Promise.all([fsPromises.stat(filePath), fsPromises.lstat(filePath)]);
10488
10488
  if (lstat.isSymbolicLink() || !stat.isFile()) return null;
10489
10489
  if (stat.nlink > 1) return null;
10490
10490
  if (!sameFileIdentity(stat, lstat)) return null;
@@ -10578,7 +10578,7 @@ function respondAgentNotFound(respond, agentId) {
10578
10578
  async function moveToTrashBestEffort(pathname) {
10579
10579
  if (!pathname) return;
10580
10580
  try {
10581
- await fs$1.access(pathname);
10581
+ await fsPromises.access(pathname);
10582
10582
  } catch {
10583
10583
  return;
10584
10584
  }
@@ -10654,7 +10654,7 @@ const agentsHandlers = {
10654
10654
  dir: workspaceDir,
10655
10655
  ensureBootstrapFiles: !Boolean(nextConfig.agents?.defaults?.skipBootstrap)
10656
10656
  });
10657
- await fs$1.mkdir(resolveSessionTranscriptsDirForAgent(agentId), { recursive: true });
10657
+ await fsPromises.mkdir(resolveSessionTranscriptsDirForAgent(agentId), { recursive: true });
10658
10658
  await writeConfigFile(nextConfig);
10659
10659
  const safeName = sanitizeIdentityLine(rawName);
10660
10660
  const emoji = resolveOptionalStringParam(params.emoji);
@@ -10667,7 +10667,7 @@ const agentsHandlers = {
10667
10667
  ...avatar ? [`- Avatar: ${sanitizeIdentityLine(avatar)}`] : [],
10668
10668
  ""
10669
10669
  ];
10670
- await fs$1.appendFile(identityPath, lines.join("\n"), "utf-8");
10670
+ await fsPromises.appendFile(identityPath, lines.join("\n"), "utf-8");
10671
10671
  respond(true, {
10672
10672
  ok: true,
10673
10673
  agentId,
@@ -10702,9 +10702,9 @@ const agentsHandlers = {
10702
10702
  });
10703
10703
  if (avatar) {
10704
10704
  const workspace = workspaceDir ?? resolveAgentWorkspaceDir(nextConfig, agentId);
10705
- await fs$1.mkdir(workspace, { recursive: true });
10705
+ await fsPromises.mkdir(workspace, { recursive: true });
10706
10706
  const identityPath = path.join(workspace, DEFAULT_IDENTITY_FILENAME);
10707
- await fs$1.appendFile(identityPath, `\n- Avatar: ${sanitizeIdentityLine(avatar)}\n`, "utf-8");
10707
+ await fsPromises.appendFile(identityPath, `\n- Avatar: ${sanitizeIdentityLine(avatar)}\n`, "utf-8");
10708
10708
  }
10709
10709
  respond(true, {
10710
10710
  ok: true,
@@ -10828,7 +10828,7 @@ const agentsHandlers = {
10828
10828
  const resolved = resolveAgentWorkspaceFileOrRespondError(params, respond);
10829
10829
  if (!resolved) return;
10830
10830
  const { agentId, workspaceDir, name } = resolved;
10831
- await fs$1.mkdir(workspaceDir, { recursive: true });
10831
+ await fsPromises.mkdir(workspaceDir, { recursive: true });
10832
10832
  const filePath = path.join(workspaceDir, name);
10833
10833
  const resolvedPath = await resolveWorkspaceFilePathOrRespond({
10834
10834
  respond,
@@ -13392,14 +13392,14 @@ function isRollingLogFile(file) {
13392
13392
  return ROLLING_LOG_RE.test(path.basename(file));
13393
13393
  }
13394
13394
  async function resolveLogFile(file) {
13395
- if (await fs$1.stat(file).catch(() => null)) return file;
13395
+ if (await fsPromises.stat(file).catch(() => null)) return file;
13396
13396
  if (!isRollingLogFile(file)) return file;
13397
13397
  const dir = path.dirname(file);
13398
- const entries = await fs$1.readdir(dir, { withFileTypes: true }).catch(() => null);
13398
+ const entries = await fsPromises.readdir(dir, { withFileTypes: true }).catch(() => null);
13399
13399
  if (!entries) return file;
13400
13400
  return (await Promise.all(entries.filter((entry) => entry.isFile() && ROLLING_LOG_RE.test(entry.name)).map(async (entry) => {
13401
13401
  const fullPath = path.join(dir, entry.name);
13402
- const fileStat = await fs$1.stat(fullPath).catch(() => null);
13402
+ const fileStat = await fsPromises.stat(fullPath).catch(() => null);
13403
13403
  return fileStat ? {
13404
13404
  path: fullPath,
13405
13405
  mtimeMs: fileStat.mtimeMs
@@ -13407,7 +13407,7 @@ async function resolveLogFile(file) {
13407
13407
  }))).filter((entry) => Boolean(entry)).toSorted((a, b) => b.mtimeMs - a.mtimeMs)[0]?.path ?? file;
13408
13408
  }
13409
13409
  async function readLogSlice(params) {
13410
- const stat = await fs$1.stat(params.file).catch(() => null);
13410
+ const stat = await fsPromises.stat(params.file).catch(() => null);
13411
13411
  if (!stat) return {
13412
13412
  cursor: 0,
13413
13413
  size: 0,
@@ -13445,7 +13445,7 @@ async function readLogSlice(params) {
13445
13445
  truncated,
13446
13446
  reset
13447
13447
  };
13448
- const handle = await fs$1.open(params.file, "r");
13448
+ const handle = await fsPromises.open(params.file, "r");
13449
13449
  try {
13450
13450
  let prefix = "";
13451
13451
  if (start > 0) {
@@ -14428,7 +14428,7 @@ const nodeHandlers = {
14428
14428
  const p = params;
14429
14429
  const payloadJSON = typeof p.payloadJSON === "string" ? p.payloadJSON : p.payload !== void 0 ? JSON.stringify(p.payload) : null;
14430
14430
  await respondUnavailableOnThrow(respond, async () => {
14431
- const { handleNodeEvent } = await import("./server-node-events-Bkfa7nls.js");
14431
+ const { handleNodeEvent } = await import("./server-node-events-D8EKx-Ef.js");
14432
14432
  const nodeId = client?.connect?.device?.id ?? client?.connect?.client?.id ?? "node";
14433
14433
  await handleNodeEvent({
14434
14434
  deps: context.deps,
@@ -17567,7 +17567,7 @@ function normalizeAgentPayload(payload) {
17567
17567
  async function startBrowserControlServerIfEnabled() {
17568
17568
  if (isTruthyEnvValue(process.env.OPENCLAW_SKIP_BROWSER_CONTROL_SERVER)) return null;
17569
17569
  const override = process.env.OPENCLAW_BROWSER_CONTROL_MODULE?.trim();
17570
- const mod = override ? await import(override) : await import("./server-CsG3vwY6.js");
17570
+ const mod = override ? await import(override) : await import("./server-DUXr6A6B.js");
17571
17571
  const start = typeof mod.startBrowserControlServiceFromConfig === "function" ? mod.startBrowserControlServiceFromConfig : mod.startBrowserControlServerFromConfig;
17572
17572
  const stop = typeof mod.stopBrowserControlService === "function" ? mod.stopBrowserControlService : mod.stopBrowserControlServer;
17573
17573
  if (!start) return null;
@@ -17800,7 +17800,7 @@ async function resolveFileWithinRoot(rootReal, urlPath) {
17800
17800
  if (normalized.endsWith("/")) return await tryOpen(path.posix.join(rel, "index.html"));
17801
17801
  const candidate = path.join(rootReal, rel);
17802
17802
  try {
17803
- const st = await fs$1.lstat(candidate);
17803
+ const st = await fsPromises.lstat(candidate);
17804
17804
  if (st.isSymbolicLink()) return null;
17805
17805
  if (st.isDirectory()) return await tryOpen(path.posix.join(rel, "index.html"));
17806
17806
  } catch {}
@@ -17837,8 +17837,8 @@ async function resolveA2uiRoot() {
17837
17837
  for (const dir of candidates) try {
17838
17838
  const indexPath = path.join(dir, "index.html");
17839
17839
  const bundlePath = path.join(dir, "a2ui.bundle.js");
17840
- await fs$1.stat(indexPath);
17841
- await fs$1.stat(bundlePath);
17840
+ await fsPromises.stat(indexPath);
17841
+ await fsPromises.stat(bundlePath);
17842
17842
  return dir;
17843
17843
  } catch {}
17844
17844
  return null;
@@ -17847,7 +17847,7 @@ async function resolveA2uiRootReal() {
17847
17847
  if (cachedA2uiRootReal !== void 0 && (cachedA2uiRootReal !== null || Date.now() - cachedA2uiResolvedAtMs < A2UI_ROOT_RETRY_NULL_AFTER_MS)) return cachedA2uiRootReal;
17848
17848
  if (!resolvingA2uiRoot) resolvingA2uiRoot = (async () => {
17849
17849
  const root = await resolveA2uiRoot();
17850
- cachedA2uiRootReal = root ? await fs$1.realpath(root) : null;
17850
+ cachedA2uiRootReal = root ? await fsPromises.realpath(root) : null;
17851
17851
  cachedA2uiResolvedAtMs = Date.now();
17852
17852
  resolvingA2uiRoot = null;
17853
17853
  return cachedA2uiRootReal;
@@ -18068,13 +18068,13 @@ function normalizeBasePath(rawPath) {
18068
18068
  }
18069
18069
  async function prepareCanvasRoot(rootDir) {
18070
18070
  await ensureDir(rootDir);
18071
- const rootReal = await fs$1.realpath(rootDir);
18071
+ const rootReal = await fsPromises.realpath(rootDir);
18072
18072
  try {
18073
18073
  const indexPath = path.join(rootReal, "index.html");
18074
- await fs$1.stat(indexPath);
18074
+ await fsPromises.stat(indexPath);
18075
18075
  } catch {
18076
18076
  try {
18077
- await fs$1.writeFile(path.join(rootReal, "index.html"), defaultIndexHTML(), "utf8");
18077
+ await fsPromises.writeFile(path.join(rootReal, "index.html"), defaultIndexHTML(), "utf8");
18078
18078
  } catch {}
18079
18079
  }
18080
18080
  return rootReal;
@@ -21309,7 +21309,7 @@ async function resolveGatewayOwnerStatus(pid, payload, platform, port) {
21309
21309
  }
21310
21310
  async function readLockPayload(lockPath) {
21311
21311
  try {
21312
- const raw = await fs$1.readFile(lockPath, "utf8");
21312
+ const raw = await fsPromises.readFile(lockPath, "utf8");
21313
21313
  const parsed = JSON.parse(raw);
21314
21314
  if (typeof parsed.pid !== "number") return null;
21315
21315
  if (typeof parsed.createdAt !== "string") return null;
@@ -21344,11 +21344,11 @@ async function acquireGatewayLock(opts = {}) {
21344
21344
  const platform = opts.platform ?? process.platform;
21345
21345
  const port = opts.port;
21346
21346
  const { lockPath, configPath } = resolveGatewayLockPath(env);
21347
- await fs$1.mkdir(path.dirname(lockPath), { recursive: true });
21347
+ await fsPromises.mkdir(path.dirname(lockPath), { recursive: true });
21348
21348
  const startedAt = Date.now();
21349
21349
  let lastPayload = null;
21350
21350
  while (Date.now() - startedAt < timeoutMs) try {
21351
- const handle = await fs$1.open(lockPath, "wx");
21351
+ const handle = await fsPromises.open(lockPath, "wx");
21352
21352
  const startTime = platform === "linux" ? readLinuxStartTime(process.pid) : null;
21353
21353
  const payload = {
21354
21354
  pid: process.pid,
@@ -21362,7 +21362,7 @@ async function acquireGatewayLock(opts = {}) {
21362
21362
  configPath,
21363
21363
  release: async () => {
21364
21364
  await handle.close().catch(() => void 0);
21365
- await fs$1.rm(lockPath, { force: true });
21365
+ await fsPromises.rm(lockPath, { force: true });
21366
21366
  }
21367
21367
  };
21368
21368
  } catch (err) {
@@ -21371,7 +21371,7 @@ async function acquireGatewayLock(opts = {}) {
21371
21371
  const ownerPid = lastPayload?.pid;
21372
21372
  const ownerStatus = ownerPid ? await resolveGatewayOwnerStatus(ownerPid, lastPayload, platform, port) : "unknown";
21373
21373
  if (ownerStatus === "dead" && ownerPid) {
21374
- await fs$1.rm(lockPath, { force: true });
21374
+ await fsPromises.rm(lockPath, { force: true });
21375
21375
  continue;
21376
21376
  }
21377
21377
  if (ownerStatus !== "alive") {
@@ -21381,13 +21381,13 @@ async function acquireGatewayLock(opts = {}) {
21381
21381
  stale = Number.isFinite(createdAt) ? Date.now() - createdAt > staleMs : false;
21382
21382
  }
21383
21383
  if (!stale) try {
21384
- const st = await fs$1.stat(lockPath);
21384
+ const st = await fsPromises.stat(lockPath);
21385
21385
  stale = Date.now() - st.mtimeMs > staleMs;
21386
21386
  } catch {
21387
21387
  stale = false;
21388
21388
  }
21389
21389
  if (stale) {
21390
- await fs$1.rm(lockPath, { force: true });
21390
+ await fsPromises.rm(lockPath, { force: true });
21391
21391
  continue;
21392
21392
  }
21393
21393
  }
@@ -23825,7 +23825,7 @@ async function startGatewayServer(port = 18789, opts = {}) {
23825
23825
  if (!minimalTestGateway) cron.start().catch((err) => logCron.error(`failed to start: ${String(err)}`));
23826
23826
  if (!minimalTestGateway) (async () => {
23827
23827
  const { recoverPendingDeliveries } = await import("./delivery-queue-B_HOp2X3.js").then((n) => n.n);
23828
- const { deliverOutboundPayloads } = await import("./deliver-754C3f2C.js").then((n) => n.n);
23828
+ const { deliverOutboundPayloads } = await import("./deliver-BSlI6o2D.js").then((n) => n.n);
23829
23829
  await recoverPendingDeliveries({
23830
23830
  deliver: deliverOutboundPayloads,
23831
23831
  log: log.child("delivery-recovery"),