openclaw-multi-auto 1.7.5 → 1.7.6

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 (196) hide show
  1. package/dist/{acp-cli-D2FsuxI4.js → acp-cli-DMujSgSt.js} +11 -11
  2. package/dist/{agent-B8D73rdQ.js → agent-CaQagdQ7.js} +8 -8
  3. package/dist/{agent-BomWJjOy.js → agent-QkWi9ww5.js} +7 -7
  4. package/dist/{agent-scope-DmTcOjk4.js → agent-scope-sd1-3XH0.js} +16 -16
  5. package/dist/{agents.config-Crwrvv0Y.js → agents.config-DpC62EoF.js} +3 -3
  6. package/dist/{audio-preflight-CZHCr2-5.js → audio-preflight-CKN-13f6.js} +1 -1
  7. package/dist/{audio-preflight-DUZyiet9.js → audio-preflight-CxMkqmsz.js} +10 -10
  8. package/dist/{audit-CX3KlHoS.js → audit-COOnp_TQ.js} +18 -18
  9. package/dist/{audit-membership-runtime-DOqwbA7L.js → audit-membership-runtime-o16tAd90.js} +1 -1
  10. package/dist/{auth-choice-DZC8_SXk.js → auth-choice-B7hFRxC4.js} +19 -19
  11. package/dist/{auth-choice-CuOI0DLZ.js → auth-choice-CgIbQGAr.js} +8 -8
  12. package/dist/{auth-choice-options-C_poWj2I.js → auth-choice-options-CaiEtgdy.js} +1 -1
  13. package/dist/{auth-choice-prompt-Bjt463U7.js → auth-choice-prompt-CyE2_iHL.js} +1 -1
  14. package/dist/{auth-choice.apply-helpers-BFZ8hPRq.js → auth-choice.apply-helpers-BwI7_FDv.js} +2 -2
  15. package/dist/{auth-choice.preferred-provider-CzDq9Lvp.js → auth-choice.preferred-provider-BJFK05is.js} +5 -5
  16. package/dist/{auth-profiles.runtime-DNqCx0L5.js → auth-profiles.runtime-DHFZjArZ.js} +1 -1
  17. package/dist/{auth-profiles.runtime-BWD0iDWZ.js → auth-profiles.runtime-firEabaJ.js} +10 -10
  18. package/dist/{auth-token-CnWG4-cB.js → auth-token-Ca2ISBq6.js} +1 -1
  19. package/dist/{bonjour-discovery-Cnl-PHZ4.js → bonjour-discovery-CgQeXj94.js} +1 -1
  20. package/dist/{browser-cli-DLSYDvK2.js → browser-cli-DfrP5czU.js} +11 -11
  21. package/dist/build-info.json +3 -3
  22. package/dist/bundled/boot-md/handler.js +2 -2
  23. package/dist/bundled/session-memory/handler.js +1 -1
  24. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  25. package/dist/{channel-account-context-DMK0G0sK.js → channel-account-context-F18H2wEh.js} +7 -7
  26. package/dist/{channel-options-CsQMEhUD.js → channel-options-DR0IjcQw.js} +3 -3
  27. package/dist/{channel-web-D7txUcfH.js → channel-web-B3yCvpab.js} +4 -4
  28. package/dist/{channels-cli-DK-EFHka.js → channels-cli-C9jvVDlM.js} +33 -33
  29. package/dist/{channels-status-issues-B-PoQaOZ.js → channels-status-issues-C6mRI9nP.js} +1 -1
  30. package/dist/{clack-prompter-COY2Efgu.js → clack-prompter-CakorHf3.js} +1 -1
  31. package/dist/{clawbot-cli-CYVkuLnO.js → clawbot-cli-De1V5wKt.js} +12 -12
  32. package/dist/{cleanup-utils-DksMdp7C.js → cleanup-utils-DZ-HVi66.js} +4 -4
  33. package/dist/cli/daemon-cli.js +1 -1
  34. package/dist/{cli-BXEJJp6e.js → cli-5Ap2oull.js} +10 -10
  35. package/dist/{cmd-argv-BdNFwuhe.js → cmd-argv-Dz5qUtqp.js} +1 -1
  36. package/dist/{compact.runtime-Do9SwMzP.js → compact.runtime-Bi0KAZxx.js} +10 -10
  37. package/dist/{compact.runtime-pgjSlzSY.js → compact.runtime-DoEYdXjJ.js} +1 -1
  38. package/dist/{completion-cli-BnHZnvaD.js → completion-cli-DetW6vGx.js} +12 -12
  39. package/dist/{config-cli-BTyfFTwL.js → config-cli-JmabBPbR.js} +13 -13
  40. package/dist/{config-guard-DXvConn_.js → config-guard-D0ly1tu3.js} +12 -12
  41. package/dist/{config-validation-ZC7mw4HJ.js → config-validation-DtOoaTl7.js} +3 -3
  42. package/dist/{configure--3s3LTcF.js → configure-DNZVKth2.js} +52 -52
  43. package/dist/{control-ui-assets-D5CuaZfV.js → control-ui-assets-B9I2TpME.js} +1 -1
  44. package/dist/{cron-cli-BTeTdxk8.js → cron-cli-hA-3anvP.js} +11 -11
  45. package/dist/{daemon-cli-TvT5eeIP.js → daemon-cli-CgEObThe.js} +13 -13
  46. package/dist/{daemon-install-CUvnebOQ.js → daemon-install-e324s4no.js} +16 -16
  47. package/dist/{daemon-install-plan.shared-BfFSRwqA.js → daemon-install-plan.shared-g5FPfccc.js} +12 -12
  48. package/dist/{deliver-runtime-CRO5x8jL.js → deliver-runtime-CI-THBhi.js} +10 -10
  49. package/dist/{deliver-runtime-D4aWAXZ9.js → deliver-runtime-CqyJiuFQ.js} +1 -1
  50. package/dist/{deps-Cgw7M-k3.js → deps-B6HgPp5e.js} +6 -6
  51. package/dist/{device-bootstrap-DSXbseT6.js → device-bootstrap-oW1bwgs7.js} +1 -1
  52. package/dist/{device-pairing-RZV6Mnep.js → device-pairing-CMxl0D-M.js} +1 -1
  53. package/dist/{devices-cli-DnvmJ-Sg.js → devices-cli-BPpKKc7g.js} +11 -11
  54. package/dist/{diagnostics-1AwcyuKi.js → diagnostics-iZHasrpQ.js} +5 -5
  55. package/dist/{directory-cli-CO5of3mT.js → directory-cli-BP8WHXBG.js} +10 -10
  56. package/dist/{dns-cli-s2wuP3H0.js → dns-cli-CQl7AkL3.js} +10 -10
  57. package/dist/{docs-cli-CZA-gAQf.js → docs-cli-BWb05s-1.js} +3 -3
  58. package/dist/{doctor-completion-DvnTlsPK.js → doctor-completion-CA3Zcz0O.js} +2 -2
  59. package/dist/{doctor-config-flow-DOEjAAYV.js → doctor-config-flow-C53lW8fK.js} +10 -10
  60. package/dist/{enable-BSbXEyXD.js → enable-CmddFDJP.js} +1 -1
  61. package/dist/{exec-approvals-cli-CsNqvj8p.js → exec-approvals-cli-Cyhhh2cy.js} +18 -18
  62. package/dist/{fetch-CGW2R_wh.js → fetch-ggeyBJ4j.js} +2 -2
  63. package/dist/{gateway-cli-Bq7xXLEB.js → gateway-cli-vQfsLSPv.js} +101 -101
  64. package/dist/{gateway-install-token-C40ge2lh.js → gateway-install-token-CQHd6wSt.js} +3 -3
  65. package/dist/{gateway-rpc-DUJcLoxb.js → gateway-rpc-DrDqntyT.js} +1 -1
  66. package/dist/{health-D_dD9-ET.js → health-CTOG7Tdy.js} +7 -7
  67. package/dist/{hooks-cli-YvIgaujr.js → hooks-cli-CvrIbP3A.js} +18 -18
  68. package/dist/{hooks-status-C3wWva3H.js → hooks-status-BiuMKGQP.js} +1 -1
  69. package/dist/{image-runtime-Cx4HaqrI.js → image-runtime-Cen4jnt5.js} +10 -10
  70. package/dist/{image-runtime-Brryt_BU.js → image-runtime-DuwNoMsX.js} +1 -1
  71. package/dist/index.js +21 -21
  72. package/dist/{inspect-D3lV5ful.js → inspect-C0iPD7zZ.js} +4 -4
  73. package/dist/{install-safe-path-BvwKN_9n.js → install-safe-path-CnIWvuEU.js} +33 -33
  74. package/dist/{installs-BC5ieRDB.js → installs-BcQMkw3V.js} +8 -8
  75. package/dist/{ipv4-CwqOzc5W.js → ipv4-DHZnIX-K.js} +1 -1
  76. package/dist/{issue-format-34LidjQQ.js → issue-format-CtBob7pd.js} +1 -1
  77. package/dist/{launchd-BLFV2ME0.js → launchd-D7vxtTg7.js} +13 -13
  78. package/dist/{lifecycle-core-C07n1IOr.js → lifecycle-core-CKec6MyM.js} +6 -6
  79. package/dist/llm-slug-generator.js +1 -1
  80. package/dist/{logging-DPEdtuNl.js → logging-B7i4YBpx.js} +1 -1
  81. package/dist/{login-BLC4Op_m.js → login-CQ5pGFeF.js} +3 -3
  82. package/dist/{login-CKmmxErc.js → login-DC00cCmn.js} +2 -2
  83. package/dist/{login-qr-DpxxtTBd.js → login-qr-C8iDYxXx.js} +11 -11
  84. package/dist/{login-qr-KVA4wuh0.js → login-qr-DB7lXNdD.js} +2 -2
  85. package/dist/{logs-cli-BKhTgUSN.js → logs-cli-B8u30MKC.js} +11 -11
  86. package/dist/{manager-runtime-D9AEoM1M.js → manager-runtime-C04JB-55.js} +1 -1
  87. package/dist/{manager-runtime-B4ZbE6hq.js → manager-runtime-DDc_xR6t.js} +10 -10
  88. package/dist/{manager.runtime-lHLhN5ro.js → manager.runtime-sDKQexj4.js} +16 -16
  89. package/dist/{manager.runtime-BV-CBNb2.js → manager.runtime-y1RqEqxK.js} +2 -2
  90. package/dist/{model-picker-C5sQCeTo.js → model-picker-iMZicrZb.js} +5 -5
  91. package/dist/{model-selection-CNRMBWfR.js → model-selection-Coo7zMJO.js} +43 -43
  92. package/dist/{models-cli-B7OdTj93.js → models-cli-CHWqnmnX.js} +21 -21
  93. package/dist/{node-cli-ArOhWB3h.js → node-cli-D2EGwHd2.js} +22 -22
  94. package/dist/{node-command-policy-BVIbeciX.js → node-command-policy-C9YoIlNR.js} +1 -1
  95. package/dist/{node-service-ESc5ToCS.js → node-service-D7xRD6Op.js} +1 -1
  96. package/dist/{nodes-cli-BLneGv8c.js → nodes-cli-BaWA_a27.js} +13 -13
  97. package/dist/{npm-pack-install-DI_0G-Ju.js → npm-pack-install-C7ntuYO8.js} +23 -23
  98. package/dist/{npm-resolution-DowD_x7i.js → npm-resolution-BL-LzQ8q.js} +3 -3
  99. package/dist/{onboard-Da0Gqg8E.js → onboard-1Vbkq-0q.js} +10 -10
  100. package/dist/{onboard-channels-Dub92d1X.js → onboard-channels-C_RZQliP.js} +16 -16
  101. package/dist/{onboard-custom-iC39HaRY.js → onboard-custom-CyUm7NIR.js} +5 -5
  102. package/dist/{onboard-hooks-DUll1iq8.js → onboard-hooks-Bx20a5uy.js} +4 -4
  103. package/dist/{onboard-remote-Cyc407f2.js → onboard-remote-Dtm07eUX.js} +3 -3
  104. package/dist/{onboard-skills-BqnqjDI3.js → onboard-skills-BOBtFqTc.js} +3 -3
  105. package/dist/{onboarding-BgeTWLi_.js → onboarding-CAQDdLGu.js} +17 -17
  106. package/dist/{onboarding.finalize-C4jEsWtC.js → onboarding.finalize-BAUMJZlu.js} +25 -25
  107. package/dist/{onboarding.gateway-config-C2XdEUF3.js → onboarding.gateway-config-BRSWuajr.js} +14 -14
  108. package/dist/{onboarding.secret-input-OwIXA7An.js → onboarding.secret-input-D75Xjj5j.js} +1 -1
  109. package/dist/{openai-codex-oauth-BUnBFHjs.js → openai-codex-oauth-BjOz2DJZ.js} +3 -3
  110. package/dist/{openclaw-root-B5jXk2td.js → openclaw-root-dlCz9toZ.js} +8 -8
  111. package/dist/{outbound-send-deps-dRaNZNE7.js → outbound-send-deps-Bid3Xegx.js} +1 -1
  112. package/dist/{pairing-cli-pEJPQw6E.js → pairing-cli-Dm_fH3zm.js} +10 -10
  113. package/dist/{path-alias-guards-BEqdGdn9.js → path-alias-guards-B6owPyQX.js} +3 -3
  114. package/dist/{path-safety-TRhr8lhQ.js → path-safety-DN7L46Yk.js} +1 -1
  115. package/dist/{pi-model-discovery-runtime-BkRq7f9h.js → pi-model-discovery-runtime-BRs3OnbK.js} +10 -10
  116. package/dist/{pi-model-discovery-runtime-CDKkuBYh.js → pi-model-discovery-runtime-DsZRIFOj.js} +1 -1
  117. package/dist/{pi-tools.before-tool-call.runtime-Dt7ZWya_.js → pi-tools.before-tool-call.runtime-Cz99nK1_.js} +10 -10
  118. package/dist/{pi-tools.before-tool-call.runtime-DgAiY2la.js → pi-tools.before-tool-call.runtime-l0nSxXys.js} +1 -1
  119. package/dist/{plugin-install-plan-q0pKUAmp.js → plugin-install-plan-tegfcs_j.js} +1 -1
  120. package/dist/{plugin-registry-DrrKSvdi.js → plugin-registry-D1UVdXNl.js} +2 -2
  121. package/dist/{plugins-om7vnHk0.js → plugins-BVbKGpQJ.js} +9 -9
  122. package/dist/{plugins-cli-BWuwmlNA.js → plugins-cli-DMTK-3PI.js} +21 -21
  123. package/dist/{ports-CVD9jTxH.js → ports-CrZzXxTl.js} +2 -2
  124. package/dist/{probe-auth-CRm2yob0.js → probe-auth-H1_HjX3c.js} +1 -1
  125. package/dist/{program-context-BnNrq2_o.js → program-context--XQiK-Vv.js} +42 -42
  126. package/dist/{prompt-select-styled-FpCuoi_9.js → prompt-select-styled-BzWw9bIh.js} +32 -32
  127. package/dist/{provider-auth-helpers-Dzq3SbTh.js → provider-auth-helpers-B5U-h2Ob.js} +4 -4
  128. package/dist/{provider-wizard-CRYUkbUG.js → provider-wizard-BgHYhBzK.js} +1 -1
  129. package/dist/{push-apns-6Yefl4vF.js → push-apns-DQdHdrq8.js} +3 -3
  130. package/dist/{pw-ai-Brk_ehKR.js → pw-ai-8OpaEmr4.js} +15 -15
  131. package/dist/{pw-ai-3ual6adI.js → pw-ai-R41XeePP.js} +1 -1
  132. package/dist/{qmd-manager-Clny9vcj.js → qmd-manager-BMkECKpc.js} +19 -19
  133. package/dist/{qr-cli-TsbdBlkh.js → qr-cli-CZy0bldy.js} +11 -11
  134. package/dist/{query-expansion-BNb6Vys6.js → query-expansion-AnOnkIqf.js} +48 -48
  135. package/dist/{redact-snapshot-sudZsVoX.js → redact-snapshot-lCMXNHo3.js} +1 -1
  136. package/dist/{register.agent-BcYbZ3eF.js → register.agent-2yZ4uAHT.js} +43 -43
  137. package/dist/{register.backup-DbtBtW_J.js → register.backup-Byyque4N.js} +26 -26
  138. package/dist/register.configure-CrATD0tr.js +87 -0
  139. package/dist/{register.maintenance-Cdn2TwrI.js → register.maintenance-BZ_V3Ubt.js} +33 -33
  140. package/dist/{register.message-cHCXxeA6.js → register.message-CJwTd37H.js} +13 -13
  141. package/dist/{register.onboard-Dbig7G2G.js → register.onboard-BY0T1WHb.js} +17 -17
  142. package/dist/{register.setup-DjHUcAcm.js → register.setup-CA3ZUrN-.js} +18 -18
  143. package/dist/{register.status-health-sessions-BMxJK45p.js → register.status-health-sessions-PN0jxAPA.js} +26 -26
  144. package/dist/{reply-Cf5Mm7vB.js → reply-gX1XTS9Y.js} +226 -226
  145. package/dist/{restart-stale-pids-ZfbSMILU.js → restart-stale-pids-B6E7QavX.js} +2 -2
  146. package/dist/{rpc-8YrBMBoD.js → rpc-B2PO3N0W.js} +1 -1
  147. package/dist/{runtime-whatsapp-login.runtime-Br3SxDXL.js → runtime-whatsapp-login.runtime-C_E260pb.js} +3 -3
  148. package/dist/{runtime-whatsapp-login.runtime-Bo1HalYB.js → runtime-whatsapp-login.runtime-DKMtq6l9.js} +12 -12
  149. package/dist/{runtime-whatsapp-outbound.runtime-L3Qkst0n.js → runtime-whatsapp-outbound.runtime-BdHcgl-R.js} +2 -2
  150. package/dist/{runtime-whatsapp-outbound.runtime-Ch2o56Ey.js → runtime-whatsapp-outbound.runtime-Dv1HN4ha.js} +11 -11
  151. package/dist/{sandbox-cli-CoRe21Si.js → sandbox-cli-SCYkP_qN.js} +10 -10
  152. package/dist/{secret-file-7smmAVRV.js → secret-file-CuiwToxK.js} +1 -1
  153. package/dist/{secrets-cli-CHT1AjCX.js → secrets-cli-C5O6Jw_4.js} +11 -11
  154. package/dist/{security-cli-DRqdmCtr.js → security-cli-CL4qtb9H.js} +20 -20
  155. package/dist/{send-CXnKWzde.js → send-BvAlpSvh.js} +1 -1
  156. package/dist/{send-CHZ7WuOb.js → send-hZxe8sP9.js} +2 -2
  157. package/dist/{server-DiTziwvC.js → server-Cnc4lO11.js} +10 -10
  158. package/dist/{server-node-events-p5ykMQz-.js → server-node-events-aTSoNGTe.js} +14 -14
  159. package/dist/{service-RXVSlLiU.js → service-LNrViUVb.js} +13 -13
  160. package/dist/{session-CXOhppV3.js → session-CndmPe2D.js} +2 -2
  161. package/dist/{session-kt-bqE_z.js → session-D7nweu0t.js} +1 -1
  162. package/dist/{shared-CoL161wD.js → shared-c6JUv5At.js} +1 -1
  163. package/dist/{skill-scanner-BzjuMMKN.js → skill-scanner-DaUNX-tW.js} +6 -6
  164. package/dist/{skills-cli-YajvWbjO.js → skills-cli-YqsScIM5.js} +11 -11
  165. package/dist/{skills-install-DFkV3GsC.js → skills-install-BnRu7wO4.js} +6 -6
  166. package/dist/{skills-status-PMeXzDbC.js → skills-status-DHMQ6A2H.js} +1 -1
  167. package/dist/{skills-Jz-BSwRd.js → skills-vhlUaliH.js} +2 -2
  168. package/dist/{slash-commands.runtime-BYfxn_xu.js → slash-commands.runtime-AZCJXo7S.js} +1 -1
  169. package/dist/{slash-commands.runtime-_LrsMaI1.js → slash-commands.runtime-D9GHahMO.js} +10 -10
  170. package/dist/{slash-dispatch.runtime-neG4499W.js → slash-dispatch.runtime-DcISuJb0.js} +10 -10
  171. package/dist/{slash-dispatch.runtime-Cu8ghe1h.js → slash-dispatch.runtime-DyUU1AG5.js} +1 -1
  172. package/dist/{slash-skill-commands.runtime-8dS5PTaH.js → slash-skill-commands.runtime-Cv1NPjj6.js} +1 -1
  173. package/dist/{slash-skill-commands.runtime-D0ohJN-V.js → slash-skill-commands.runtime-Dt6QQJcX.js} +10 -10
  174. package/dist/{status-1patzIRq.js → status-D9mVTxuB.js} +1 -1
  175. package/dist/{status-BaLZ1uQV.js → status-QQiIsfFq.js} +21 -21
  176. package/dist/{status.update-DrzJ1YWu.js → status.update-DY13od-q.js} +3 -3
  177. package/dist/{subagent-registry-runtime-BTW1zlrG.js → subagent-registry-runtime-CoeW8s2P.js} +10 -10
  178. package/dist/{subagent-registry-runtime-Z0fdsGSq.js → subagent-registry-runtime-N50VG-ay.js} +1 -1
  179. package/dist/{system-cli-CndWL3sF.js → system-cli-DMu6SZhn.js} +11 -11
  180. package/dist/{systemd-D47rkLi7.js → systemd-DSK6B3bg.js} +11 -11
  181. package/dist/{systemd-hints-DHfXVo8k.js → systemd-hints-DsQTPBGt.js} +6 -6
  182. package/dist/{systemd-linger-DwmFZpci.js → systemd-linger-BPISBIWJ.js} +1 -1
  183. package/dist/{tui-CzYnfJxE.js → tui-DzNNH2rc.js} +2 -2
  184. package/dist/{tui-cli-D47N0Kfm.js → tui-cli-D5JgcWb9.js} +11 -11
  185. package/dist/{update-BiUnc38r.js → update-DL_359AR.js} +2 -2
  186. package/dist/{update-cli-CeqH2oQ-.js → update-cli-BfjWjK3A.js} +45 -45
  187. package/dist/{update-runner-oqYBjs5t.js → update-runner-CfkBU1BA.js} +16 -16
  188. package/dist/{web-CXyjF_si.js → web-B4n02Xhe.js} +4 -4
  189. package/dist/{web-BRvkjVpk.js → web-BHO-XtPY.js} +14 -14
  190. package/dist/{webhooks-cli-CnTKcfvh.js → webhooks-cli-C0kgprJJ.js} +10 -10
  191. package/dist/{whatsapp-actions-BXO9Bi7a.js → whatsapp-actions-BC06Ug_d.js} +11 -11
  192. package/dist/{whatsapp-actions-BUvGEDSk.js → whatsapp-actions-JJEG8eF3.js} +2 -2
  193. package/dist/{workspace-CWne7yqK.js → workspace-BTsqd19h.js} +1 -1
  194. package/package.json +8 -8
  195. package/scripts/create-instance.sh +29 -46
  196. package/dist/register.configure-CPWCrXrC.js +0 -87
@@ -1,10 +1,10 @@
1
1
  import { g as resolveStateDir, i as isNixMode, l as resolveGatewayLockDir, o as resolveConfigPath, r as STATE_DIR, t as CONFIG_PATH, u as resolveGatewayPort } from "./paths-tuenh9TL.js";
2
2
  import { A as theme, M as getLogger, N as getResolvedLoggerSettings, O as colorize, S as logVerbose, a as setConsoleSubsystemFilter, c as sanitizeForLog, j as getChildLogger, k as isRich, n as runtimeForLogger, o as setConsoleTimestampPrefix, p as defaultRuntime, t as createSubsystemLogger, w as setVerbose } from "./subsystem-G54saDcg.js";
3
3
  import { C as sleep, D as isPlainObject, E as truncateUtf16Safe, S as shortenHomePath, c as ensureDir, r as clamp, y as resolveUserPath } from "./utils-B8zCe27d.js";
4
- import { $c as parseSessionLabel, $h as isTrustedProxyAddress, $i as buildOutboundSessionContext, $l as enqueueCommandInLane, $p as resolveAgentMainSessionKey, $s as validateDeviceTokenRotateParams, $t as getRemoteSkillEligibility, Aa as triggerOpenClawRestart, Ac as validateSessionsListParams, Ad as normalizePollInput, Ai as resolveAgentIdentity, Am as cleanStaleLockFiles, Ap as archiveFileOnDisk, Ar as runBeforeToolCallHook, As as validateChatHistoryParams, Ba as normalizeCronJobPatch, Bc as validateTalkConfigParams, Bd as setTtsProvider, Bn as dispatchInboundMessage, Bo as resolveSystemRunApprovalRuntimeContext, Bp as stripInlineDirectiveTagsFromMessageForDisplay, Bs as validateConnectParams, Ca as deferGatewayRestartUntilIdle, Cc as validatePushTestParams, Cg as collectExplicitAllowlist, Ci as lookupContextTokens, Cl as ensureExecApprovals, Cm as GATEWAY_CLIENT_IDS, Cr as buildDefaultToolPolicyPipelineSteps, Cs as validateAgentsFilesListParams, Cu as stripHeartbeatToken, Da as scheduleGatewaySigusr1Restart, Dc as validateSendParams, Dh as mergeGatewayTailscaleConfig, Dm as normalizeGatewayClientMode, Dp as mergeDeliveryContext, Dr as resolveGroupToolPolicy, Ds as validateChannelsLogoutParams, Du as isSilentReplyText, E_ as parseByteSize, Ea as markGatewaySigusr1RestartHandled, Ec as validateSecretsResolveResult, Eg as PROFILE_OPTIONS, Eh as mergeGatewayAuthConfig, Ei as sleepWithAbort, El as mergeExecApprovalsSocketDefaults, Em as hasGatewayClientCap, Ep as deliveryContextFromSession, Er as resolveEffectiveToolPolicy, Es as validateAgentsUpdateParams, F as resolveDefaultModelForAgent, F_ as looksLikeAvatarPath, Fa as summarizeRestartSentinel, Fc as validateSessionsUsageParams, Fd as resolveTtsAutoMode, Fh as authorizeWsControlUiGatewayConnect, Fp as readSessionPreviewItemsFromTranscript, Fr as initSubagentRegistry, Fs as validateConfigPatchParams, G as withProgress, Ga as normalizeOptionalAgentId, Gc as validateWebLoginStartParams, Gh as AUTH_RATE_LIMIT_SCOPE_HOOK_AUTH, Gn as DEFAULT_INPUT_TIMEOUT_MS, Go as missingSystemRunApprovalBinding, Gr as resolveIngressWorkspaceOverrideForSpawnedRun, Gs as validateCronRunsParams, Gt as resolveAssistantAvatarUrl, Gv as normalizeThinkLevel, H as createPluginRuntime, Ha as resolveCronStaggerMs, Hc as validateToolsCatalogParams, Hd as OPENAI_TTS_MODELS, Hh as readGatewayTokenEnv, Hn as getTotalPendingReplies, Ho as resolveSystemRunCommandRequest, Hp as jsonUtf8Bytes, Hr as resolveAgentTimeoutMs, Hs as validateCronListParams, Ht as CONTROL_UI_AVATAR_PREFIX, Hv as normalizeElevatedLevel, I as resolveHooksGmailModel, Ic as validateSkillsBinsParams, Id as resolveTtsConfig, Ih as isLocalDirectRequest, Il as saveExecApprovals, In as buildHistoryContextFromEntries, Ip as resolveSessionTranscriptCandidates, Is as validateConfigSchemaLookupParams, Iv as DEFAULT_MODEL, Ja as normalizePayloadToSystemText, Jc as validateWizardNextParams, Jh as normalizeRateLimitClientIp, Jl as resolveUserTimezone, Jm as createBrowserRouteDispatcher, Jn as normalizeMimeList, Jr as getAgentRunContext, Js as validateDevicePairApproveParams, Jt as resolveExecApprovalCommandDisplay, Ka as normalizeOptionalSessionKey, Kc as validateWebLoginWaitParams, Kh as AUTH_RATE_LIMIT_SCOPE_SHARED_SECRET, Kn as extractFileContentFromSource, Kr as clearAgentRunContext, Ks as validateCronStatusParams, Kv as normalizeUsageDisplay, La as writeRestartSentinel, Lc as validateSkillsInstallParams, Ld as resolveTtsPrefsPath, Lh as resolveGatewayAuth, Lp as stripEnvelopeFromMessage, Lr as listDescendantRunsForRequester, Ls as validateConfigSchemaLookupResult, Lu as isRestartEnabled, Lv as DEFAULT_PROVIDER, M as resolveAllowedModelRef, M_ as AVATAR_MAX_BYTES, Ma as formatDoctorNonInteractiveHint, Mc as validateSessionsPreviewParams, Md as isTtsEnabled, Mm as readJsonFile, Mp as capArrayByJsonBytes, Mr as countActiveDescendantRuns, Ms as validateChatSendParams, N_ as isAvatarHttpUrl, Na as formatRestartSentinelMessage, Nc as validateSessionsResetParams, Nd as isTtsProviderConfigured, Nh as assertGatewayAuthConfigured, Nm as writeJsonAtomic, Np as cleanupArchivedSessionTranscripts, Ns as validateConfigApplyParams, Oa as setGatewaySigusr1RestartPolicy, Oc as validateSessionsCompactParams, Og as listCoreToolSections, Oh as resolveConfiguredSecretInputString, Oi as clearSessionQueues, Ol as normalizeExecApprovals, On as resolveAgentAvatar, Op as normalizeSessionDeliveryFields, Or as resolveSubagentToolPolicy, Os as validateChannelsStatusParams, Ou as getAcpSessionManager, P as resolveConfiguredModelRef, P_ as isAvatarImageDataUrl, Pc as validateSessionsResolveParams, Pd as resolveTtsApiKey, Ph as authorizeHttpGatewayConnect, Pi as normalizeGroupActivation, Pn as createReplyPrefixOptions, Pp as readSessionMessages, Ps as validateConfigGetParams, Pv as normalizeSecretInput, Q_ as ensureControlUiAllowedOriginsForNonLoopbackBind, Qa as normalizeLegacyDeliveryInput, Qc as errorShape, Qi as resolveSessionDeliveryTarget, Qn as resolveSendPolicy, Qp as canonicalizeMainSessionAlias, Qs as validateDeviceTokenRevokeParams, R as resolveSubagentConfiguredModelSelection, Ra as normalizeHttpWebhookUrl, Rc as validateSkillsStatusParams, Rd as resolveTtsProviderOrder, Rl as getPluginToolMeta, Rp as stripEnvelopeFromMessages, Rs as validateConfigSchemaParams, Rv as formatThinkingLevels, Sa as consumeGatewaySigusr1RestartAuthorization, Sc as validatePollParams, Sf as runGlobalGatewayStopSafely, Sh as SsrFBlockedError, Sm as GATEWAY_CLIENT_CAPS, So as evaluateGatewayAuthSurfaceStates, Sr as applyToolPolicyPipeline, Ss as validateAgentsFilesGetParams, T as isCliProvider, T_ as parseDurationMs, Ta as isGatewaySigusr1RestartExternallyAllowed, Tc as validateSecretsResolveParams, Tg as resolveToolProfilePolicy, Th as ensureGatewayStartupAuth, Ti as computeBackoff, Tm as GATEWAY_CLIENT_NAMES, Tn as unbindThreadBindingsBySessionKey, To as isKnownSecretTargetId, Ts as validateAgentsListParams, Tu as SILENT_REPLY_TOKEN, Ua as resolveDefaultCronStaggerMs, Uc as validateUpdateRunParams, Ud as OPENAI_TTS_VOICES, Ui as ensureOutboundSessionEntry, Un as DEFAULT_INPUT_IMAGE_MAX_BYTES, Uo as buildSystemRunApprovalBinding, Us as validateCronRemoveParams, Ut as buildControlUiAvatarUrl, Uv as normalizeFastMode, V as loadOpenClawPlugins, Va as normalizeCronStaggerMs, Vc as validateTalkModeParams, Vd as textToSpeech, Vh as readGatewayPasswordEnv, Vi as parseTimeoutMsWithFallback, Vn as createReplyDispatcher, Vp as normalizeInputProvenance, Vs as validateCronAddParams, Wc as validateWakeParams, Wh as AUTH_RATE_LIMIT_SCOPE_DEVICE_TOKEN, Wi as resolveOutboundSessionRoute, Wn as DEFAULT_INPUT_IMAGE_MIMES, Wo as matchSystemRunApprovalBinding, Wr as normalizeSpawnedRunMetadata, Ws as validateCronRunParams, Wt as normalizeControlUiBasePath, Wv as normalizeReasoningLevel, X_ as applyMergePatch, Xc as validateWizardStatusParams, Xh as isLoopbackAddress, Xm as startBrowserControlServiceFromConfig, Xr as registerAgentRunContext, Xs as validateDevicePairRejectParams, Xu as readChannelAllowFromStoreSync, Ya as normalizeRequiredName, Yc as validateWizardStartParams, Yh as isLocalishHost, Ym as createBrowserControlContext, Yn as resolveInputFileLimits, Yo as buildExecApprovalPendingReplyPayload, Yp as mergeSessionEntry, Yr as onAgentEvent, Ys as validateDevicePairListParams, Yt as sanitizeExecApprovalDisplayText, Yv as supportsXHighThinking, Z_ as applyLegacyMigrations, Za as parseAbsoluteTimeMs, Zc as ErrorCodes, Zh as isLoopbackHost, Zi as resolveOutboundTarget, Zl as clearBootstrapSnapshot, Zn as normalizeSendPolicy, Zo as ToolInputError, Zp as setSessionRuntimeModel, Zs as validateDevicePairRemoveParams, _c as validateNodePairVerifyParams, _i as migrateAndPruneGatewaySessionStoreKey, _l as requestHeartbeatNow, _m as isGatewayMessageChannel, _o as clearSecretsRuntimeSnapshot, _p as loadSessionStore, _s as validateAgentIdentityParams, _t as handleSlackHttpRequest, a as runCliAgent, aa as normalizeReplyPayloadsForDelivery, ac as validateExecApprovalsSetParams, ad as enqueueSystemEvent, ag as resolveGatewayListenHosts, ai as resolvePreferredSessionKeyForSessionIdMatches, al as normalizeDeviceMetadataForAuth, an as setSkillsRemoteRegistry, au as setCommandLaneConcurrency, b_ as OpenClawSchema, bc as validateNodePendingEnqueueParams, bm as normalizeMessageChannel, bn as registerSkillsChangeListener, bo as resolveCommandSecretsFromActiveRuntimeSnapshot, bs as validateAgentsCreateParams, bu as getMachineDisplayName, ca as applyPluginAutoEnable, cc as validateNodeDescribeParams, cg as pickPrimaryTailnetIPv4, cl as loadGatewayTlsRuntime$1, cn as rejectNodePairing, cs as ADMIN_SCOPE$3, ct as loadCronStore, cv as buildTalkConfigResponse, d as parseVerboseOverride, d_ as loadConfig, da as buildChannelUiCatalog, dc as validateNodeInvokeResultParams, dg as disableTailscaleFunnel, di as canonicalizeSpawnedByForAgent, dl as normalizeDevicePublicKeyBase64Url, dn as updatePairedNodeMetadata, do as getHookType, dp as resolveAgentSessionDirs, dr as waitForActiveEmbeddedRuns, dt as buildTelegramExecApprovalButtons, dv as VERSION, ea as deliverOutboundPayloads, ec as validateExecApprovalRequestParams, eg as isValidIPv4, eh as movePathToTrash, ei as readLatestAssistantReply, el as ConnectErrorDetailCodes, em as resolveExplicitAgentSessionKey, en as primeRemoteSkillsCache, eu as getActiveTaskCount, f_ as parseConfigJson5, fc as validateNodeListParams, ff as loadModelCatalog, fg as disableTailscaleServe, fl as publicKeyRawBase64UrlFromPem, fn as verifyNodeToken, fo as isExternalHookSession, fr as waitForEmbeddedPiRunEnd, fs as WRITE_SCOPE, ft as resolveExecApprovalSessionTarget, fu as isDiagnosticsEnabled, fv as resolveRuntimeServiceVersion, g_ as resolveConfigSnapshotHash, ga as resolveMessageChannelSelection, gc as validateNodePairRequestParams, gg as getTailnetHostname, gi as loadSessionEntry, gm as isGatewayCliClient, go as activateSecretsRuntimeSnapshot, gp as archiveRemovedSessionTranscripts, gr as resolveFastModeState, gs as formatValidationErrors, h_ as readConfigFileSnapshotForWrite, ha as resetDirectoryCache, hc as validateNodePairRejectParams, hd as getChannelActivity, hi as loadCombinedSessionStoreForGateway, hm as isDeliverableMessageChannel, ho as persistBrowserProxyFiles, hr as resolveBootstrapWarningSignaturesSeen, i as setCliSessionId, ic as validateExecApprovalsNodeSetParams, ig as resolveGatewayBindHost, ii as resolveNestedAgentLane, il as buildDeviceAuthPayloadV3, in as removeRemoteNodeInfo, ip as estimateBase64DecodedBytes, ir as stopSubagentsForRequester, iu as resetAllLanes, ja as consumeRestartSentinel, jc as validateSessionsPatchParams, jd as getTtsProvider, jl as readExecApprovalsSnapshot, jm as createAsyncLock, jp as archiveSessionTranscripts, jr as createOpenClawTools, js as validateChatInjectParams, k as normalizeModelSelection, ka as setPreRestartDeferralCheck, kc as validateSessionsDeleteParams, kg as resolveCoreToolProfiles, ks as validateChatAbortParams, kt as handleReset, kv as isPidAlive, l_ as migrateLegacyConfig, lc as validateNodeEventParams, lf as registerUnhandledRejectionHandler, lg as pickPrimaryTailnetIPv6, ll as deriveDeviceIdFromPublicKey, ln as renamePairedNode, lo as buildSafeExternalPrompt, lr as abortEmbeddedPiRun, ls as APPROVALS_SCOPE$1, lt as resolveCronStorePath, lu as startDiagnosticHeartbeat, lv as resolveAgentMaxConcurrent, m_ as readConfigFileSnapshot, ma as maybeResolveIdLikeTarget, mc as validateNodePairListParams, mg as enableTailscaleServe, mi as listSessionsFromStore, ml as verifyDeviceSignature, mm as INTERNAL_MESSAGE_CHANNEL, mo as applyBrowserProxyPaths, mp as parseSessionThreadInfo, ms as isNodeRoleMethod, mt as resolveAgentOutboundIdentity, mu as resolveMemoryBackendConfig, n as buildBareSessionResetPrompt, nc as validateExecApprovalsGetParams, ng as pickPrimaryLanIPv4, nl as resolveDeviceAuthConnectErrorDetailCode, nm as resolveMainSessionKeyFromConfig, nn as refreshRemoteBinsForConnectedNodes, nu as getTotalQueueSize, oc as validateLogsTailParams, od as isSystemEventContextChanged, of as extractTextFromChatContent, og as resolveRequestClientIp, oh as rawDataToString, oi as applyModelOverrideToSessionEntry, on as approveNodePairing, ot as sendTypingTelegram, ou as waitForActiveTasks, p_ as readBestEffortConfig, pc as validateNodePairApproveParams, pg as enableTailscaleFunnel, pi as listAgentsForGateway, po as closeTrackedBrowserTabsForSessions, pp as extractDeliveryInfo, ps as authorizeOperatorScopesForMethod, pu as getMemorySearchManager, q as formatHelpExamples, qa as normalizeOptionalText$1, qc as validateWizardCancelParams, qh as createAuthRateLimiter, qn as extractImageContentFromSource, qo as toSystemRunApprovalMismatchError, qr as emitAgentEvent, qs as validateCronUpdateParams, qv as normalizeVerboseLevel, r as getCliSessionId, rc as validateExecApprovalsNodeGetParams, rg as resolveClientIp, rl as buildDeviceAuthPayload, rm as snapshotSessionOrigin, rn as refreshRemoteNodeBins, rr as isAbortRequestText, rs as callGateway, ru as markGatewayDraining, sa as resolveOutboundChannelPlugin, sc as validateModelsListParams, sf as fetchWithSsrFGuard, sh as cleanOldMedia, si as loadProviderUsageSummary, sl as normalizeDeviceAuthScopes, sn as listNodePairing, sr as runEmbeddedPiAgent, su as CommandLane, tc as validateExecApprovalResolveParams, tg as normalizeHostHeader, ti as resolveAnnounceTargetFromKey, tl as resolveAuthConnectErrorDetailCode, tm as resolveMainSessionKey, tn as recordRemoteNodeInfo, u as applyVerboseOverride, u_ as createConfigIO, uc as validateNodeInvokeParams, ug as safeEqualSecret, ul as loadOrCreateDeviceIdentity, un as requestNodePairing, uo as detectSuspiciousPatterns, ur as getActiveEmbeddedRunCount, us as PAIRING_SCOPE$1, ut as saveCronStore, uu as stopDiagnosticHeartbeat, uv as resolveSubagentMaxConcurrent, v_ as writeConfigFile, va as runWithModelFallback, vc as validateNodePendingAckParams, vi as resolveGatewaySessionStoreTarget, vn as listAgentWorkspaceDirs, vo as getActiveSecretsRuntimeSnapshot, vs as validateAgentParams, w as getModelRefStatus, wa as emitGatewayRestart, wc as validateRequestFrame, wg as mergeAlsoAllowPolicy, wm as GATEWAY_CLIENT_MODES, wn as resolveSessionAuthProfileOverride, ws as validateAgentsFilesSetParams, x as buildAllowedModelSet, xa as resolveFailoverReasonFromError, xc as validateNodeRenameParams, xf as getGlobalHookRunner, xl as DEFAULT_EXEC_APPROVAL_TIMEOUT_MS, xo as GATEWAY_AUTH_SURFACE_PATHS, xp as updateSessionStore, xr as resolveToolLoopDetectionConfig, xs as validateAgentsDeleteParams, y_ as validateConfigObjectWithPlugins, yc as validateNodePendingDrainParams, yi as resolveSessionModelRef, yl as setHeartbeatsEnabled, ym as isWebchatClient, yn as getSkillsSnapshotVersion, yo as prepareSecretsRuntimeSnapshot, yr as resolveCronStyleNow, ys as validateAgentWaitParams, yu as resolveMemorySearchConfig, z as resolveThinkingDefault, za as normalizeCronJobCreate, zc as validateSkillsUpdateParams, zd as setTtsEnabled, zl as resolvePluginTools, zn as formatZonedTimestamp, zo as resolveSystemRunApprovalRequestContext, zp as stripInlineDirectiveTagsForDisplay, zs as validateConfigSetParams, zv as formatXHighModelHint } from "./reply-Cf5Mm7vB.js";
5
- import { C as DEFAULT_MEMORY_FILENAME, D as ensureAgentWorkspace, E as DEFAULT_USER_FILENAME, M as resolveWorkspaceTemplateDir, S as DEFAULT_MEMORY_ALT_FILENAME, T as DEFAULT_TOOLS_FILENAME, _ as DEFAULT_AGENTS_FILENAME, a as resolveAgentDir, b as DEFAULT_HEARTBEAT_FILENAME, d as resolveAgentWorkspaceDir, f as resolveDefaultAgentId, h as resolveSessionAgentId, i as resolveAgentConfig, j as resolveDefaultAgentWorkspaceDir, k as isWorkspaceOnboardingCompleted, l as resolveAgentModelFallbacksOverride, n as listAgentEntries, r as listAgentIds, u as resolveAgentSkillsFilter, w as DEFAULT_SOUL_FILENAME, x as DEFAULT_IDENTITY_FILENAME, y as DEFAULT_BOOTSTRAP_FILENAME } from "./agent-scope-DmTcOjk4.js";
4
+ import { $c as parseSessionLabel, $h as isTrustedProxyAddress, $i as buildOutboundSessionContext, $l as enqueueCommandInLane, $p as resolveAgentMainSessionKey, $s as validateDeviceTokenRotateParams, $t as getRemoteSkillEligibility, Aa as triggerOpenClawRestart, Ac as validateSessionsListParams, Ad as normalizePollInput, Ai as resolveAgentIdentity, Am as cleanStaleLockFiles, Ap as archiveFileOnDisk, Ar as runBeforeToolCallHook, As as validateChatHistoryParams, Ba as normalizeCronJobPatch, Bc as validateTalkConfigParams, Bd as setTtsProvider, Bn as dispatchInboundMessage, Bo as resolveSystemRunApprovalRuntimeContext, Bp as stripInlineDirectiveTagsFromMessageForDisplay, Bs as validateConnectParams, Ca as deferGatewayRestartUntilIdle, Cc as validatePushTestParams, Cg as collectExplicitAllowlist, Ci as lookupContextTokens, Cl as ensureExecApprovals, Cm as GATEWAY_CLIENT_IDS, Cr as buildDefaultToolPolicyPipelineSteps, Cs as validateAgentsFilesListParams, Cu as stripHeartbeatToken, Da as scheduleGatewaySigusr1Restart, Dc as validateSendParams, Dh as mergeGatewayTailscaleConfig, Dm as normalizeGatewayClientMode, Dp as mergeDeliveryContext, Dr as resolveGroupToolPolicy, Ds as validateChannelsLogoutParams, Du as isSilentReplyText, E_ as parseByteSize, Ea as markGatewaySigusr1RestartHandled, Ec as validateSecretsResolveResult, Eg as PROFILE_OPTIONS, Eh as mergeGatewayAuthConfig, Ei as sleepWithAbort, El as mergeExecApprovalsSocketDefaults, Em as hasGatewayClientCap, Ep as deliveryContextFromSession, Er as resolveEffectiveToolPolicy, Es as validateAgentsUpdateParams, F as resolveDefaultModelForAgent, F_ as looksLikeAvatarPath, Fa as summarizeRestartSentinel, Fc as validateSessionsUsageParams, Fd as resolveTtsAutoMode, Fh as authorizeWsControlUiGatewayConnect, Fp as readSessionPreviewItemsFromTranscript, Fr as initSubagentRegistry, Fs as validateConfigPatchParams, G as withProgress, Ga as normalizeOptionalAgentId, Gc as validateWebLoginStartParams, Gh as AUTH_RATE_LIMIT_SCOPE_HOOK_AUTH, Gn as DEFAULT_INPUT_TIMEOUT_MS, Go as missingSystemRunApprovalBinding, Gr as resolveIngressWorkspaceOverrideForSpawnedRun, Gs as validateCronRunsParams, Gt as resolveAssistantAvatarUrl, Gv as normalizeThinkLevel, H as createPluginRuntime, Ha as resolveCronStaggerMs, Hc as validateToolsCatalogParams, Hd as OPENAI_TTS_MODELS, Hh as readGatewayTokenEnv, Hn as getTotalPendingReplies, Ho as resolveSystemRunCommandRequest, Hp as jsonUtf8Bytes, Hr as resolveAgentTimeoutMs, Hs as validateCronListParams, Ht as CONTROL_UI_AVATAR_PREFIX, Hv as normalizeElevatedLevel, I as resolveHooksGmailModel, Ic as validateSkillsBinsParams, Id as resolveTtsConfig, Ih as isLocalDirectRequest, Il as saveExecApprovals, In as buildHistoryContextFromEntries, Ip as resolveSessionTranscriptCandidates, Is as validateConfigSchemaLookupParams, Iv as DEFAULT_MODEL, Ja as normalizePayloadToSystemText, Jc as validateWizardNextParams, Jh as normalizeRateLimitClientIp, Jl as resolveUserTimezone, Jm as createBrowserRouteDispatcher, Jn as normalizeMimeList, Jr as getAgentRunContext, Js as validateDevicePairApproveParams, Jt as resolveExecApprovalCommandDisplay, Ka as normalizeOptionalSessionKey, Kc as validateWebLoginWaitParams, Kh as AUTH_RATE_LIMIT_SCOPE_SHARED_SECRET, Kn as extractFileContentFromSource, Kr as clearAgentRunContext, Ks as validateCronStatusParams, Kv as normalizeUsageDisplay, La as writeRestartSentinel, Lc as validateSkillsInstallParams, Ld as resolveTtsPrefsPath, Lh as resolveGatewayAuth, Lp as stripEnvelopeFromMessage, Lr as listDescendantRunsForRequester, Ls as validateConfigSchemaLookupResult, Lu as isRestartEnabled, Lv as DEFAULT_PROVIDER, M as resolveAllowedModelRef, M_ as AVATAR_MAX_BYTES, Ma as formatDoctorNonInteractiveHint, Mc as validateSessionsPreviewParams, Md as isTtsEnabled, Mm as readJsonFile, Mp as capArrayByJsonBytes, Mr as countActiveDescendantRuns, Ms as validateChatSendParams, N_ as isAvatarHttpUrl, Na as formatRestartSentinelMessage, Nc as validateSessionsResetParams, Nd as isTtsProviderConfigured, Nh as assertGatewayAuthConfigured, Nm as writeJsonAtomic, Np as cleanupArchivedSessionTranscripts, Ns as validateConfigApplyParams, Oa as setGatewaySigusr1RestartPolicy, Oc as validateSessionsCompactParams, Og as listCoreToolSections, Oh as resolveConfiguredSecretInputString, Oi as clearSessionQueues, Ol as normalizeExecApprovals, On as resolveAgentAvatar, Op as normalizeSessionDeliveryFields, Or as resolveSubagentToolPolicy, Os as validateChannelsStatusParams, Ou as getAcpSessionManager, P as resolveConfiguredModelRef, P_ as isAvatarImageDataUrl, Pc as validateSessionsResolveParams, Pd as resolveTtsApiKey, Ph as authorizeHttpGatewayConnect, Pi as normalizeGroupActivation, Pn as createReplyPrefixOptions, Pp as readSessionMessages, Ps as validateConfigGetParams, Pv as normalizeSecretInput, Q_ as ensureControlUiAllowedOriginsForNonLoopbackBind, Qa as normalizeLegacyDeliveryInput, Qc as errorShape, Qi as resolveSessionDeliveryTarget, Qn as resolveSendPolicy, Qp as canonicalizeMainSessionAlias, Qs as validateDeviceTokenRevokeParams, R as resolveSubagentConfiguredModelSelection, Ra as normalizeHttpWebhookUrl, Rc as validateSkillsStatusParams, Rd as resolveTtsProviderOrder, Rl as getPluginToolMeta, Rp as stripEnvelopeFromMessages, Rs as validateConfigSchemaParams, Rv as formatThinkingLevels, Sa as consumeGatewaySigusr1RestartAuthorization, Sc as validatePollParams, Sf as runGlobalGatewayStopSafely, Sh as SsrFBlockedError, Sm as GATEWAY_CLIENT_CAPS, So as evaluateGatewayAuthSurfaceStates, Sr as applyToolPolicyPipeline, Ss as validateAgentsFilesGetParams, T as isCliProvider, T_ as parseDurationMs, Ta as isGatewaySigusr1RestartExternallyAllowed, Tc as validateSecretsResolveParams, Tg as resolveToolProfilePolicy, Th as ensureGatewayStartupAuth, Ti as computeBackoff, Tm as GATEWAY_CLIENT_NAMES, Tn as unbindThreadBindingsBySessionKey, To as isKnownSecretTargetId, Ts as validateAgentsListParams, Tu as SILENT_REPLY_TOKEN, Ua as resolveDefaultCronStaggerMs, Uc as validateUpdateRunParams, Ud as OPENAI_TTS_VOICES, Ui as ensureOutboundSessionEntry, Un as DEFAULT_INPUT_IMAGE_MAX_BYTES, Uo as buildSystemRunApprovalBinding, Us as validateCronRemoveParams, Ut as buildControlUiAvatarUrl, Uv as normalizeFastMode, V as loadOpenClawPlugins, Va as normalizeCronStaggerMs, Vc as validateTalkModeParams, Vd as textToSpeech, Vh as readGatewayPasswordEnv, Vi as parseTimeoutMsWithFallback, Vn as createReplyDispatcher, Vp as normalizeInputProvenance, Vs as validateCronAddParams, Wc as validateWakeParams, Wh as AUTH_RATE_LIMIT_SCOPE_DEVICE_TOKEN, Wi as resolveOutboundSessionRoute, Wn as DEFAULT_INPUT_IMAGE_MIMES, Wo as matchSystemRunApprovalBinding, Wr as normalizeSpawnedRunMetadata, Ws as validateCronRunParams, Wt as normalizeControlUiBasePath, Wv as normalizeReasoningLevel, X_ as applyMergePatch, Xc as validateWizardStatusParams, Xh as isLoopbackAddress, Xm as startBrowserControlServiceFromConfig, Xr as registerAgentRunContext, Xs as validateDevicePairRejectParams, Xu as readChannelAllowFromStoreSync, Ya as normalizeRequiredName, Yc as validateWizardStartParams, Yh as isLocalishHost, Ym as createBrowserControlContext, Yn as resolveInputFileLimits, Yo as buildExecApprovalPendingReplyPayload, Yp as mergeSessionEntry, Yr as onAgentEvent, Ys as validateDevicePairListParams, Yt as sanitizeExecApprovalDisplayText, Yv as supportsXHighThinking, Z_ as applyLegacyMigrations, Za as parseAbsoluteTimeMs, Zc as ErrorCodes, Zh as isLoopbackHost, Zi as resolveOutboundTarget, Zl as clearBootstrapSnapshot, Zn as normalizeSendPolicy, Zo as ToolInputError, Zp as setSessionRuntimeModel, Zs as validateDevicePairRemoveParams, _c as validateNodePairVerifyParams, _i as migrateAndPruneGatewaySessionStoreKey, _l as requestHeartbeatNow, _m as isGatewayMessageChannel, _o as clearSecretsRuntimeSnapshot, _p as loadSessionStore, _s as validateAgentIdentityParams, _t as handleSlackHttpRequest, a as runCliAgent, aa as normalizeReplyPayloadsForDelivery, ac as validateExecApprovalsSetParams, ad as enqueueSystemEvent, ag as resolveGatewayListenHosts, ai as resolvePreferredSessionKeyForSessionIdMatches, al as normalizeDeviceMetadataForAuth, an as setSkillsRemoteRegistry, au as setCommandLaneConcurrency, b_ as OpenClawSchema, bc as validateNodePendingEnqueueParams, bm as normalizeMessageChannel, bn as registerSkillsChangeListener, bo as resolveCommandSecretsFromActiveRuntimeSnapshot, bs as validateAgentsCreateParams, bu as getMachineDisplayName, ca as applyPluginAutoEnable, cc as validateNodeDescribeParams, cg as pickPrimaryTailnetIPv4, cl as loadGatewayTlsRuntime$1, cn as rejectNodePairing, cs as ADMIN_SCOPE$3, ct as loadCronStore, cv as buildTalkConfigResponse, d as parseVerboseOverride, d_ as loadConfig, da as buildChannelUiCatalog, dc as validateNodeInvokeResultParams, dg as disableTailscaleFunnel, di as canonicalizeSpawnedByForAgent, dl as normalizeDevicePublicKeyBase64Url, dn as updatePairedNodeMetadata, do as getHookType, dp as resolveAgentSessionDirs, dr as waitForActiveEmbeddedRuns, dt as buildTelegramExecApprovalButtons, dv as VERSION, ea as deliverOutboundPayloads, ec as validateExecApprovalRequestParams, eg as isValidIPv4, eh as movePathToTrash, ei as readLatestAssistantReply, el as ConnectErrorDetailCodes, em as resolveExplicitAgentSessionKey, en as primeRemoteSkillsCache, eu as getActiveTaskCount, f_ as parseConfigJson5, fc as validateNodeListParams, ff as loadModelCatalog, fg as disableTailscaleServe, fl as publicKeyRawBase64UrlFromPem, fn as verifyNodeToken, fo as isExternalHookSession, fr as waitForEmbeddedPiRunEnd, fs as WRITE_SCOPE, ft as resolveExecApprovalSessionTarget, fu as isDiagnosticsEnabled, fv as resolveRuntimeServiceVersion, g_ as resolveConfigSnapshotHash, ga as resolveMessageChannelSelection, gc as validateNodePairRequestParams, gg as getTailnetHostname, gi as loadSessionEntry, gm as isGatewayCliClient, go as activateSecretsRuntimeSnapshot, gp as archiveRemovedSessionTranscripts, gr as resolveFastModeState, gs as formatValidationErrors, h_ as readConfigFileSnapshotForWrite, ha as resetDirectoryCache, hc as validateNodePairRejectParams, hd as getChannelActivity, hi as loadCombinedSessionStoreForGateway, hm as isDeliverableMessageChannel, ho as persistBrowserProxyFiles, hr as resolveBootstrapWarningSignaturesSeen, i as setCliSessionId, ic as validateExecApprovalsNodeSetParams, ig as resolveGatewayBindHost, ii as resolveNestedAgentLane, il as buildDeviceAuthPayloadV3, in as removeRemoteNodeInfo, ip as estimateBase64DecodedBytes, ir as stopSubagentsForRequester, iu as resetAllLanes, ja as consumeRestartSentinel, jc as validateSessionsPatchParams, jd as getTtsProvider, jl as readExecApprovalsSnapshot, jm as createAsyncLock, jp as archiveSessionTranscripts, jr as createOpenClawTools, js as validateChatInjectParams, k as normalizeModelSelection, ka as setPreRestartDeferralCheck, kc as validateSessionsDeleteParams, kg as resolveCoreToolProfiles, ks as validateChatAbortParams, kt as handleReset, kv as isPidAlive, l_ as migrateLegacyConfig, lc as validateNodeEventParams, lf as registerUnhandledRejectionHandler, lg as pickPrimaryTailnetIPv6, ll as deriveDeviceIdFromPublicKey, ln as renamePairedNode, lo as buildSafeExternalPrompt, lr as abortEmbeddedPiRun, ls as APPROVALS_SCOPE$1, lt as resolveCronStorePath, lu as startDiagnosticHeartbeat, lv as resolveAgentMaxConcurrent, m_ as readConfigFileSnapshot, ma as maybeResolveIdLikeTarget, mc as validateNodePairListParams, mg as enableTailscaleServe, mi as listSessionsFromStore, ml as verifyDeviceSignature, mm as INTERNAL_MESSAGE_CHANNEL, mo as applyBrowserProxyPaths, mp as parseSessionThreadInfo, ms as isNodeRoleMethod, mt as resolveAgentOutboundIdentity, mu as resolveMemoryBackendConfig, n as buildBareSessionResetPrompt, nc as validateExecApprovalsGetParams, ng as pickPrimaryLanIPv4, nl as resolveDeviceAuthConnectErrorDetailCode, nm as resolveMainSessionKeyFromConfig, nn as refreshRemoteBinsForConnectedNodes, nu as getTotalQueueSize, oc as validateLogsTailParams, od as isSystemEventContextChanged, of as extractTextFromChatContent, og as resolveRequestClientIp, oh as rawDataToString, oi as applyModelOverrideToSessionEntry, on as approveNodePairing, ot as sendTypingTelegram, ou as waitForActiveTasks, p_ as readBestEffortConfig, pc as validateNodePairApproveParams, pg as enableTailscaleFunnel, pi as listAgentsForGateway, po as closeTrackedBrowserTabsForSessions, pp as extractDeliveryInfo, ps as authorizeOperatorScopesForMethod, pu as getMemorySearchManager, q as formatHelpExamples, qa as normalizeOptionalText$1, qc as validateWizardCancelParams, qh as createAuthRateLimiter, qn as extractImageContentFromSource, qo as toSystemRunApprovalMismatchError, qr as emitAgentEvent, qs as validateCronUpdateParams, qv as normalizeVerboseLevel, r as getCliSessionId, rc as validateExecApprovalsNodeGetParams, rg as resolveClientIp, rl as buildDeviceAuthPayload, rm as snapshotSessionOrigin, rn as refreshRemoteNodeBins, rr as isAbortRequestText, rs as callGateway, ru as markGatewayDraining, sa as resolveOutboundChannelPlugin, sc as validateModelsListParams, sf as fetchWithSsrFGuard, sh as cleanOldMedia, si as loadProviderUsageSummary, sl as normalizeDeviceAuthScopes, sn as listNodePairing, sr as runEmbeddedPiAgent, su as CommandLane, tc as validateExecApprovalResolveParams, tg as normalizeHostHeader, ti as resolveAnnounceTargetFromKey, tl as resolveAuthConnectErrorDetailCode, tm as resolveMainSessionKey, tn as recordRemoteNodeInfo, u as applyVerboseOverride, u_ as createConfigIO, uc as validateNodeInvokeParams, ug as safeEqualSecret, ul as loadOrCreateDeviceIdentity, un as requestNodePairing, uo as detectSuspiciousPatterns, ur as getActiveEmbeddedRunCount, us as PAIRING_SCOPE$1, ut as saveCronStore, uu as stopDiagnosticHeartbeat, uv as resolveSubagentMaxConcurrent, v_ as writeConfigFile, va as runWithModelFallback, vc as validateNodePendingAckParams, vi as resolveGatewaySessionStoreTarget, vn as listAgentWorkspaceDirs, vo as getActiveSecretsRuntimeSnapshot, vs as validateAgentParams, w as getModelRefStatus, wa as emitGatewayRestart, wc as validateRequestFrame, wg as mergeAlsoAllowPolicy, wm as GATEWAY_CLIENT_MODES, wn as resolveSessionAuthProfileOverride, ws as validateAgentsFilesSetParams, x as buildAllowedModelSet, xa as resolveFailoverReasonFromError, xc as validateNodeRenameParams, xf as getGlobalHookRunner, xl as DEFAULT_EXEC_APPROVAL_TIMEOUT_MS, xo as GATEWAY_AUTH_SURFACE_PATHS, xp as updateSessionStore, xr as resolveToolLoopDetectionConfig, xs as validateAgentsDeleteParams, y_ as validateConfigObjectWithPlugins, yc as validateNodePendingDrainParams, yi as resolveSessionModelRef, yl as setHeartbeatsEnabled, ym as isWebchatClient, yn as getSkillsSnapshotVersion, yo as prepareSecretsRuntimeSnapshot, yr as resolveCronStyleNow, ys as validateAgentWaitParams, yu as resolveMemorySearchConfig, z as resolveThinkingDefault, za as normalizeCronJobCreate, zc as validateSkillsUpdateParams, zd as setTtsEnabled, zl as resolvePluginTools, zn as formatZonedTimestamp, zo as resolveSystemRunApprovalRequestContext, zp as stripInlineDirectiveTagsForDisplay, zs as validateConfigSetParams, zv as formatXHighModelHint } from "./reply-gX1XTS9Y.js";
5
+ import { C as DEFAULT_MEMORY_FILENAME, D as ensureAgentWorkspace, E as DEFAULT_USER_FILENAME, M as resolveWorkspaceTemplateDir, S as DEFAULT_MEMORY_ALT_FILENAME, T as DEFAULT_TOOLS_FILENAME, _ as DEFAULT_AGENTS_FILENAME, a as resolveAgentDir, b as DEFAULT_HEARTBEAT_FILENAME, d as resolveAgentWorkspaceDir, f as resolveDefaultAgentId, h as resolveSessionAgentId, i as resolveAgentConfig, j as resolveDefaultAgentWorkspaceDir, k as isWorkspaceOnboardingCompleted, l as resolveAgentModelFallbacksOverride, n as listAgentEntries, r as listAgentIds, u as resolveAgentSkillsFilter, w as DEFAULT_SOUL_FILENAME, x as DEFAULT_IDENTITY_FILENAME, y as DEFAULT_BOOTSTRAP_FILENAME } from "./agent-scope-sd1-3XH0.js";
6
6
  import { C as isCronRunSessionKey, E as parseAgentSessionKey, S as isAcpSessionKey, 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, v as normalizeOptionalAccountId } from "./session-key-DjKQluAa.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-B5jXk2td.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-dlCz9toZ.js";
8
8
  import { i as logWarn, t as logDebug } from "./logger-BohkHL0S.js";
9
9
  import { n as runExec, t as runCommandWithTimeout } from "./exec-CNtAq7Md.js";
10
10
  import { a as hasConfiguredSecretInput } from "./types.secrets-d7ZFrG7U.js";
@@ -14,16 +14,16 @@ import "./boolean-B938tROv.js";
14
14
  import { n as logAcceptedEnvOption, t as isTruthyEnvValue } from "./env-CQxWwTMn.js";
15
15
  import "./env-overrides-BYyMsIvB.js";
16
16
  import { A as triggerInternalHook, D as clearInternalHooks, O as createInternalHookEvent, b as canonicalizePathVariant, h as createEmptyPluginRegistry, k as registerInternalHook, t as CHANNEL_IDS, u as getActivePluginRegistry, v as PROTECTED_PLUGIN_ROUTE_PREFIXES, y as canonicalizePathForSecurity } from "./registry-aHEgjCIQ.js";
17
- import { T as isTestDefaultMemorySlotDisabled, i as loadWorkspaceSkillEntries, r as buildWorkspaceSkillSnapshot } from "./skills-Jz-BSwRd.js";
17
+ import { T as isTestDefaultMemorySlotDisabled, i as loadWorkspaceSkillEntries, r as buildWorkspaceSkillSnapshot } from "./skills-vhlUaliH.js";
18
18
  import { f as hasBinary } from "./frontmatter-BngyYhS0.js";
19
- import { Y as buildChannelAccountBindings, b as resolveWhatsAppAccount, bt as resolveAccountEntry, g as resolveChannelDefaultAccountId, m as normalizeWhatsAppTarget, n as listChannelPlugins, r as normalizeChannelId, t as getChannelPlugin } from "./plugins-om7vnHk0.js";
20
- import { $ as writeFileWithinRoot, J as openFileWithinRoot, N as detectMime, W as SafeOpenError, Z as readLocalFileSafely } from "./query-expansion-BNb6Vys6.js";
19
+ import { Y as buildChannelAccountBindings, b as resolveWhatsAppAccount, bt as resolveAccountEntry, g as resolveChannelDefaultAccountId, m as normalizeWhatsAppTarget, n as listChannelPlugins, r as normalizeChannelId, t as getChannelPlugin } from "./plugins-BVbKGpQJ.js";
20
+ import { $ as writeFileWithinRoot, J as openFileWithinRoot, N as detectMime, W as SafeOpenError, Z as readLocalFileSafely } from "./query-expansion-AnOnkIqf.js";
21
21
  import { a as testRegexWithBoundedInput, i as compileSafeRegex } from "./redact-owRpqMhM.js";
22
- import { n as assertNoPathAliasEscape } from "./path-alias-guards-BEqdGdn9.js";
23
- import "./fetch-CGW2R_wh.js";
22
+ import { n as assertNoPathAliasEscape } from "./path-alias-guards-B6owPyQX.js";
23
+ import "./fetch-ggeyBJ4j.js";
24
24
  import { o as isErrno, r as formatErrorMessage } from "./errors-DNKaAVHN.js";
25
- import { d as inspectPortUsage, l as ensurePortAvailable, m as formatPortDiagnostics } from "./cmd-argv-BdNFwuhe.js";
26
- import { t as cleanStaleGatewayProcessesSync } from "./restart-stale-pids-ZfbSMILU.js";
25
+ import { d as inspectPortUsage, l as ensurePortAvailable, m as formatPortDiagnostics } from "./cmd-argv-Dz5qUtqp.js";
26
+ import { t as cleanStaleGatewayProcessesSync } from "./restart-stale-pids-B6E7QavX.js";
27
27
  import "./delivery-queue-B7zSt4zY.js";
28
28
  import { a as resolveSessionTranscriptPath, c as resolveSessionTranscriptsDirForAgent, i as resolveSessionFilePathOptions, l as resolveStorePath, r as resolveSessionFilePath } from "./paths-CfmKJcO5.js";
29
29
  import { c as formatUsd, d as deriveSessionTotalTokens, f as hasNonzeroUsage, i as loadSessionUsageTimeSeries, n as loadCostUsageSummary, r as loadSessionCostSummary, s as formatTokenCount, t as discoverAllSessions } from "./session-cost-usage-C2jrTKxW.js";
@@ -31,59 +31,59 @@ import "./prompt-style-DlcWUCNR.js";
31
31
  import { t as formatDocsLink } from "./links-BpKafJs4.js";
32
32
  import { n as runCommandWithRuntime } from "./cli-utils-BSURvrmb.js";
33
33
  import { i as onHeartbeatEvent, r as getLastHeartbeatEvent, t as resolveHeartbeatVisibility } from "./heartbeat-visibility-DRnbwSep.js";
34
- import { n as createOutboundSendDeps, t as createDefaultDeps } from "./deps-Cgw7M-k3.js";
34
+ import { n as createOutboundSendDeps, t as createDefaultDeps } from "./deps-B6HgPp5e.js";
35
35
  import { t as ensureOpenClawCliOnPath } from "./path-env-_M4X1ggC.js";
36
36
  import "./runtime-guard-C4h47dl7.js";
37
- import { n as waitForPortBindable, t as forceFreePortAndWait } from "./ports-CVD9jTxH.js";
38
- import { t as createOutboundSendDeps$1 } from "./outbound-send-deps-dRaNZNE7.js";
39
- import { a as resolveAgentOutboundTarget, i as resolveAgentDeliveryPlan, n as agentCommandFromIngress } from "./agent-B8D73rdQ.js";
40
- import { t as buildWorkspaceSkillStatus } from "./skills-status-PMeXzDbC.js";
37
+ import { n as waitForPortBindable, t as forceFreePortAndWait } from "./ports-CrZzXxTl.js";
38
+ import { t as createOutboundSendDeps$1 } from "./outbound-send-deps-Bid3Xegx.js";
39
+ import { a as resolveAgentOutboundTarget, i as resolveAgentDeliveryPlan, n as agentCommandFromIngress } from "./agent-CaQagdQ7.js";
40
+ import { t as buildWorkspaceSkillStatus } from "./skills-status-DHMQ6A2H.js";
41
41
  import { n as DEFAULT_GATEWAY_HTTP_TOOL_DENY } from "./dangerous-tools-GYTW9RSz.js";
42
- import { t as readSecretFromFile } from "./secret-file-7smmAVRV.js";
42
+ import { t as readSecretFromFile } from "./secret-file-CuiwToxK.js";
43
43
  import { n as inheritOptionFromParent } from "./command-options-B_WRgMFd.js";
44
44
  import { t as WizardCancelledError } from "./prompts-88Dfc7Av.js";
45
- import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-Crwrvv0Y.js";
46
- import { t as isWithinDir } from "./path-safety-TRhr8lhQ.js";
47
- import "./install-safe-path-BvwKN_9n.js";
48
- import "./skill-scanner-BzjuMMKN.js";
49
- import { n as formatConfigIssueLines } from "./issue-format-34LidjQQ.js";
50
- import { t as buildChannelAccountSnapshot } from "./status-1patzIRq.js";
51
- import "./channels-status-issues-B-PoQaOZ.js";
52
- import { n as verifyDeviceBootstrapToken } from "./device-bootstrap-DSXbseT6.js";
53
- 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-sudZsVoX.js";
54
- import "./daemon-install-plan.shared-BfFSRwqA.js";
55
- import "./gateway-install-token-C40ge2lh.js";
45
+ import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-DpC62EoF.js";
46
+ import { t as isWithinDir } from "./path-safety-DN7L46Yk.js";
47
+ import "./install-safe-path-CnIWvuEU.js";
48
+ import "./skill-scanner-DaUNX-tW.js";
49
+ import { n as formatConfigIssueLines } from "./issue-format-CtBob7pd.js";
50
+ import { t as buildChannelAccountSnapshot } from "./status-D9mVTxuB.js";
51
+ import "./channels-status-issues-C6mRI9nP.js";
52
+ import { n as verifyDeviceBootstrapToken } from "./device-bootstrap-oW1bwgs7.js";
53
+ 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-lCMXNHo3.js";
54
+ import "./daemon-install-plan.shared-g5FPfccc.js";
55
+ import "./gateway-install-token-CQHd6wSt.js";
56
56
  import "./runtime-parse-l56zRsXX.js";
57
- import { p as scheduleDetachedLaunchdRestartHandoff } from "./launchd-BLFV2ME0.js";
58
- import { c as isGatewayArgv, l as parseProcCmdline } from "./service-RXVSlLiU.js";
59
- import "./systemd-D47rkLi7.js";
60
- import "./lifecycle-core-C07n1IOr.js";
61
- import "./systemd-hints-DHfXVo8k.js";
57
+ import { p as scheduleDetachedLaunchdRestartHandoff } from "./launchd-D7vxtTg7.js";
58
+ import { c as isGatewayArgv, l as parseProcCmdline } from "./service-LNrViUVb.js";
59
+ import "./systemd-DSK6B3bg.js";
60
+ import "./lifecycle-core-CKec6MyM.js";
61
+ import "./systemd-hints-DsQTPBGt.js";
62
62
  import { t as parsePort$1 } from "./parse-port-C_3w9_cU.js";
63
- import { n as addGatewayServiceCommands } from "./daemon-cli-TvT5eeIP.js";
64
- import { r as probeGateway } from "./probe-auth-CRm2yob0.js";
65
- import "./diagnostics-1AwcyuKi.js";
66
- import "./inspect-D3lV5ful.js";
67
- import { a as rejectDevicePairing, c as revokeDeviceToken, d as updatePairedDeviceMetadata, f as verifyDeviceToken, i as listDevicePairing, l as rotateDeviceToken, n as ensureDeviceToken, o as removePairedDevice, p as roleScopesAllow, r as getPairedDevice, s as requestDevicePairing, t as approveDevicePairing, u as summarizeDeviceTokens } from "./device-pairing-RZV6Mnep.js";
63
+ import { n as addGatewayServiceCommands } from "./daemon-cli-CgEObThe.js";
64
+ import { r as probeGateway } from "./probe-auth-H1_HjX3c.js";
65
+ import "./diagnostics-iZHasrpQ.js";
66
+ import "./inspect-C0iPD7zZ.js";
67
+ import { a as rejectDevicePairing, c as revokeDeviceToken, d as updatePairedDeviceMetadata, f as verifyDeviceToken, i as listDevicePairing, l as rotateDeviceToken, n as ensureDeviceToken, o as removePairedDevice, p as roleScopesAllow, r as getPairedDevice, s as requestDevicePairing, t as approveDevicePairing, u as summarizeDeviceTokens } from "./device-pairing-CMxl0D-M.js";
68
68
  import "./table-DpnYa9iY.js";
69
69
  import { n as resolveWideAreaDiscoveryDomain, r as writeWideAreaGatewayZone } from "./widearea-dns-clEQGTnj.js";
70
- import { i as toOptionString, n as extractGatewayMiskeys, r as maybeExplainGatewayServiceStop, t as describeUnknownError } from "./shared-CoL161wD.js";
71
- import { t as discoverGatewayBeacons } from "./bonjour-discovery-Cnl-PHZ4.js";
72
- import { n as getStatusSummary, r as pickGatewaySelfPresence } from "./status-BaLZ1uQV.js";
73
- import { a as styleHealthChannelLine, c as startHeartbeatRunner, l as resolveCronSession, n as getHealthSnapshot, s as runHeartbeatOnce, t as formatHealthChannelLines } from "./health-D_dD9-ET.js";
74
- import { a as resolveControlUiRootOverrideSync, n as isPackageProvenControlUiRootSync, o as resolveControlUiRootSync, t as ensureControlUiAssetsBuilt } from "./control-ui-assets-D5CuaZfV.js";
75
- import { m as normalizeUpdateChannel, n as checkUpdateStatus, o as resolveNpmChannelTag, r as compareSemverStrings } from "./channel-account-context-DMK0G0sK.js";
76
- import "./onboarding.secret-input-OwIXA7An.js";
77
- import { t as runOnboardingWizard } from "./onboarding-BgeTWLi_.js";
78
- import { a as resolveApnsAuthConfigFromEnv, c as shouldClearStoredApnsRegistration, d as parseMessageWithAttachments, f as formatForLog, g as setGatewayWsLogStyle, h as summarizeAgentEventForWsLog, l as resolveApnsRelayConfigFromEnv, m as shouldLogWs, n as loadApnsRegistration, o as sendApnsAlert, p as logWs, r as normalizeApnsEnvironment, s as sendApnsBackgroundWake, t as clearApnsRegistrationIfCurrent, u as normalizeRpcAttachmentsToChatAttachments } from "./push-apns-6Yefl4vF.js";
70
+ import { i as toOptionString, n as extractGatewayMiskeys, r as maybeExplainGatewayServiceStop, t as describeUnknownError } from "./shared-c6JUv5At.js";
71
+ import { t as discoverGatewayBeacons } from "./bonjour-discovery-CgQeXj94.js";
72
+ import { n as getStatusSummary, r as pickGatewaySelfPresence } from "./status-QQiIsfFq.js";
73
+ import { a as styleHealthChannelLine, c as startHeartbeatRunner, l as resolveCronSession, n as getHealthSnapshot, s as runHeartbeatOnce, t as formatHealthChannelLines } from "./health-CTOG7Tdy.js";
74
+ import { a as resolveControlUiRootOverrideSync, n as isPackageProvenControlUiRootSync, o as resolveControlUiRootSync, t as ensureControlUiAssetsBuilt } from "./control-ui-assets-B9I2TpME.js";
75
+ import { m as normalizeUpdateChannel, n as checkUpdateStatus, o as resolveNpmChannelTag, r as compareSemverStrings } from "./channel-account-context-F18H2wEh.js";
76
+ import "./onboarding.secret-input-D75Xjj5j.js";
77
+ import { t as runOnboardingWizard } from "./onboarding-CAQDdLGu.js";
78
+ import { a as resolveApnsAuthConfigFromEnv, c as shouldClearStoredApnsRegistration, d as parseMessageWithAttachments, f as formatForLog, g as setGatewayWsLogStyle, h as summarizeAgentEventForWsLog, l as resolveApnsRelayConfigFromEnv, m as shouldLogWs, n as loadApnsRegistration, o as sendApnsAlert, p as logWs, r as normalizeApnsEnvironment, s as sendApnsBackgroundWake, t as clearApnsRegistrationIfCurrent, u as normalizeRpcAttachmentsToChatAttachments } from "./push-apns-DQdHdrq8.js";
79
79
  import { _ as buildGogWatchStartArgs, g as buildGogWatchServeArgs, i as ensureTailscaleEndpoint, w as resolveGmailHookRuntimeConfig } from "./gmail-setup-utils-CzxzkzZ7.js";
80
- import { f as normalizeStoredCronJobs, h as computePreviousRunAtMs, m as computeNextRunAtMs, p as coerceFiniteScheduleNumber, t as runGatewayUpdate } from "./update-runner-oqYBjs5t.js";
81
- import { n as isNodeCommandAllowed, r as resolveNodeCommandAllowlist } from "./node-command-policy-BVIbeciX.js";
82
- import { _ as resolveHookTargetAgentId, a as getHookAgentPolicyError, b as resolveFunctionModuleExport, c as normalizeAgentPayload, d as normalizeWakePayload, f as readJsonBody, g as resolveHookSessionKey, h as resolveHookIdempotencyKey, i as extractHookToken, l as normalizeHookDispatchSessionKey, m as resolveHookDeliver, n as collectEnabledInsecureOrDangerousFlags, o as getHookChannelError, p as resolveHookChannel, s as isHookAgentAllowed, u as normalizeHookHeaders, v as resolveHooksConfig, y as applyHookMappings } from "./audit-CX3KlHoS.js";
83
- import "./node-service-ESc5ToCS.js";
84
- import "./status.update-DrzJ1YWu.js";
85
- import { t as installSkill } from "./skills-install-DFkV3GsC.js";
86
- import { i as shouldIncludeHook, r as resolveHookConfig, t as loadWorkspaceHookEntries } from "./workspace-CWne7yqK.js";
80
+ import { f as normalizeStoredCronJobs, h as computePreviousRunAtMs, m as computeNextRunAtMs, p as coerceFiniteScheduleNumber, t as runGatewayUpdate } from "./update-runner-CfkBU1BA.js";
81
+ import { n as isNodeCommandAllowed, r as resolveNodeCommandAllowlist } from "./node-command-policy-C9YoIlNR.js";
82
+ import { _ as resolveHookTargetAgentId, a as getHookAgentPolicyError, b as resolveFunctionModuleExport, c as normalizeAgentPayload, d as normalizeWakePayload, f as readJsonBody, g as resolveHookSessionKey, h as resolveHookIdempotencyKey, i as extractHookToken, l as normalizeHookDispatchSessionKey, m as resolveHookDeliver, n as collectEnabledInsecureOrDangerousFlags, o as getHookChannelError, p as resolveHookChannel, s as isHookAgentAllowed, u as normalizeHookHeaders, v as resolveHooksConfig, y as applyHookMappings } from "./audit-COOnp_TQ.js";
83
+ import "./node-service-D7xRD6Op.js";
84
+ import "./status.update-DY13od-q.js";
85
+ import { t as installSkill } from "./skills-install-BnRu7wO4.js";
86
+ import { i as shouldIncludeHook, r as resolveHookConfig, t as loadWorkspaceHookEntries } from "./workspace-BTsqd19h.js";
87
87
  import { fileURLToPath, pathToFileURL } from "node:url";
88
88
  import * as fsSync from "node:fs";
89
89
  import fs from "node:fs";
@@ -91,7 +91,7 @@ import os from "node:os";
91
91
  import path from "node:path";
92
92
  import chalk from "chalk";
93
93
  import { isDeepStrictEqual } from "node:util";
94
- import fs$1 from "node:fs/promises";
94
+ import fsPromises from "node:fs/promises";
95
95
  import { exec, spawn, spawnSync } from "node:child_process";
96
96
  import crypto, { createHash, randomBytes, randomUUID } from "node:crypto";
97
97
  import { z } from "zod";
@@ -1272,7 +1272,7 @@ function resolveCheckIntervalMs(cfg) {
1272
1272
  }
1273
1273
  async function readState(statePath) {
1274
1274
  try {
1275
- const raw = await fs$1.readFile(statePath, "utf-8");
1275
+ const raw = await fsPromises.readFile(statePath, "utf-8");
1276
1276
  const parsed = JSON.parse(raw);
1277
1277
  return parsed && typeof parsed === "object" ? parsed : {};
1278
1278
  } catch {
@@ -1353,7 +1353,7 @@ async function runAutoUpdateCommand(params) {
1353
1353
  path.join(params.root, "dist", "index.mjs")
1354
1354
  ];
1355
1355
  for (const candidate of candidates) try {
1356
- await fs$1.access(candidate);
1356
+ await fsPromises.access(candidate);
1357
1357
  argv.push(execPath, candidate, ...baseArgs);
1358
1358
  break;
1359
1359
  } catch {}
@@ -4687,7 +4687,7 @@ function resolveCronRunLogPath(params) {
4687
4687
  }
4688
4688
  const writesByPath = /* @__PURE__ */ new Map();
4689
4689
  async function setSecureFileMode(filePath) {
4690
- await fs$1.chmod(filePath, 384).catch(() => void 0);
4690
+ await fsPromises.chmod(filePath, 384).catch(() => void 0);
4691
4691
  }
4692
4692
  const DEFAULT_CRON_RUN_LOG_MAX_BYTES = 2e6;
4693
4693
  const DEFAULT_CRON_RUN_LOG_KEEP_LINES = 2e3;
@@ -4711,30 +4711,30 @@ async function drainPendingWrite(filePath) {
4711
4711
  if (pending) await pending.catch(() => void 0);
4712
4712
  }
4713
4713
  async function pruneIfNeeded(filePath, opts) {
4714
- const stat = await fs$1.stat(filePath).catch(() => null);
4714
+ const stat = await fsPromises.stat(filePath).catch(() => null);
4715
4715
  if (!stat || stat.size <= opts.maxBytes) return;
4716
- const lines = (await fs$1.readFile(filePath, "utf-8").catch(() => "")).split("\n").map((l) => l.trim()).filter(Boolean);
4716
+ const lines = (await fsPromises.readFile(filePath, "utf-8").catch(() => "")).split("\n").map((l) => l.trim()).filter(Boolean);
4717
4717
  const kept = lines.slice(Math.max(0, lines.length - opts.keepLines));
4718
4718
  const { randomBytes } = await import("node:crypto");
4719
4719
  const tmp = `${filePath}.${process.pid}.${randomBytes(8).toString("hex")}.tmp`;
4720
- await fs$1.writeFile(tmp, `${kept.join("\n")}\n`, {
4720
+ await fsPromises.writeFile(tmp, `${kept.join("\n")}\n`, {
4721
4721
  encoding: "utf-8",
4722
4722
  mode: 384
4723
4723
  });
4724
4724
  await setSecureFileMode(tmp);
4725
- await fs$1.rename(tmp, filePath);
4725
+ await fsPromises.rename(tmp, filePath);
4726
4726
  await setSecureFileMode(filePath);
4727
4727
  }
4728
4728
  async function appendCronRunLog(filePath, entry, opts) {
4729
4729
  const resolved = path.resolve(filePath);
4730
4730
  const next = (writesByPath.get(resolved) ?? Promise.resolve()).catch(() => void 0).then(async () => {
4731
4731
  const runDir = path.dirname(resolved);
4732
- await fs$1.mkdir(runDir, {
4732
+ await fsPromises.mkdir(runDir, {
4733
4733
  recursive: true,
4734
4734
  mode: 448
4735
4735
  });
4736
- await fs$1.chmod(runDir, 448).catch(() => void 0);
4737
- await fs$1.appendFile(resolved, `${JSON.stringify(entry)}\n`, {
4736
+ await fsPromises.chmod(runDir, 448).catch(() => void 0);
4737
+ await fsPromises.appendFile(resolved, `${JSON.stringify(entry)}\n`, {
4738
4738
  encoding: "utf-8",
4739
4739
  mode: 384
4740
4740
  });
@@ -4832,7 +4832,7 @@ function filterRunLogEntries(entries, opts) {
4832
4832
  async function readCronRunLogEntriesPage(filePath, opts) {
4833
4833
  await drainPendingWrite(filePath);
4834
4834
  const limit = Math.max(1, Math.min(200, Math.floor(opts?.limit ?? 50)));
4835
- const raw = await fs$1.readFile(path.resolve(filePath), "utf-8").catch(() => "");
4835
+ const raw = await fsPromises.readFile(path.resolve(filePath), "utf-8").catch(() => "");
4836
4836
  const statuses = normalizeRunStatuses(opts);
4837
4837
  const deliveryStatuses = normalizeDeliveryStatuses(opts);
4838
4838
  const query = opts?.query?.trim().toLowerCase() ?? "";
@@ -4868,7 +4868,7 @@ async function readCronRunLogEntriesPageAll(opts) {
4868
4868
  const query = opts.query?.trim().toLowerCase() ?? "";
4869
4869
  const sortDir = opts.sortDir === "asc" ? "asc" : "desc";
4870
4870
  const runsDir = path.resolve(path.dirname(path.resolve(opts.storePath)), "runs");
4871
- 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));
4871
+ const jsonlFiles = (await fsPromises.readdir(runsDir, { withFileTypes: true }).catch(() => [])).filter((entry) => entry.isFile() && entry.name.endsWith(".jsonl")).map((entry) => path.join(runsDir, entry.name));
4872
4872
  if (jsonlFiles.length === 0) return {
4873
4873
  entries: [],
4874
4874
  total: 0,
@@ -4879,7 +4879,7 @@ async function readCronRunLogEntriesPageAll(opts) {
4879
4879
  };
4880
4880
  await Promise.all(jsonlFiles.map((f) => drainPendingWrite(f)));
4881
4881
  const filtered = filterRunLogEntries((await Promise.all(jsonlFiles.map(async (filePath) => {
4882
- return parseAllRunLogEntries(await fs$1.readFile(filePath, "utf-8").catch(() => ""));
4882
+ return parseAllRunLogEntries(await fsPromises.readFile(filePath, "utf-8").catch(() => ""));
4883
4883
  }))).flat(), {
4884
4884
  statuses,
4885
4885
  deliveryStatuses,
@@ -9380,7 +9380,7 @@ function resolveWorkspaceFilePathResultOrThrow(params) {
9380
9380
  }
9381
9381
  async function resolveWorkspaceRealPath(workspaceDir) {
9382
9382
  try {
9383
- return await fs$1.realpath(workspaceDir);
9383
+ return await fsPromises.realpath(workspaceDir);
9384
9384
  } catch {
9385
9385
  return path.resolve(workspaceDir);
9386
9386
  }
@@ -9409,7 +9409,7 @@ async function resolveAgentWorkspaceFilePath(params) {
9409
9409
  };
9410
9410
  let candidateLstat;
9411
9411
  try {
9412
- candidateLstat = await fs$1.lstat(candidatePath);
9412
+ candidateLstat = await fsPromises.lstat(candidatePath);
9413
9413
  } catch (err) {
9414
9414
  return resolveWorkspaceFilePathResultOrThrow({
9415
9415
  error: err,
@@ -9420,7 +9420,7 @@ async function resolveAgentWorkspaceFilePath(params) {
9420
9420
  if (candidateLstat.isSymbolicLink()) {
9421
9421
  let targetReal;
9422
9422
  try {
9423
- targetReal = await fs$1.realpath(candidatePath);
9423
+ targetReal = await fsPromises.realpath(candidatePath);
9424
9424
  } catch (err) {
9425
9425
  return resolveWorkspaceFilePathResultOrThrow({
9426
9426
  error: err,
@@ -9430,7 +9430,7 @@ async function resolveAgentWorkspaceFilePath(params) {
9430
9430
  }
9431
9431
  let targetStat;
9432
9432
  try {
9433
- targetStat = await fs$1.stat(targetReal);
9433
+ targetStat = await fsPromises.stat(targetReal);
9434
9434
  } catch (err) {
9435
9435
  return resolveWorkspaceFilePathResultOrThrow({
9436
9436
  error: err,
@@ -9468,13 +9468,13 @@ async function resolveAgentWorkspaceFilePath(params) {
9468
9468
  return {
9469
9469
  kind: "ready",
9470
9470
  requestPath,
9471
- ioPath: await fs$1.realpath(candidatePath).catch(() => candidatePath),
9471
+ ioPath: await fsPromises.realpath(candidatePath).catch(() => candidatePath),
9472
9472
  workspaceReal
9473
9473
  };
9474
9474
  }
9475
9475
  async function statFileSafely(filePath) {
9476
9476
  try {
9477
- const [stat, lstat] = await Promise.all([fs$1.stat(filePath), fs$1.lstat(filePath)]);
9477
+ const [stat, lstat] = await Promise.all([fsPromises.stat(filePath), fsPromises.lstat(filePath)]);
9478
9478
  if (lstat.isSymbolicLink() || !stat.isFile()) return null;
9479
9479
  if (stat.nlink > 1) return null;
9480
9480
  if (!sameFileIdentity(stat, lstat)) return null;
@@ -9568,7 +9568,7 @@ function respondAgentNotFound(respond, agentId) {
9568
9568
  async function moveToTrashBestEffort(pathname) {
9569
9569
  if (!pathname) return;
9570
9570
  try {
9571
- await fs$1.access(pathname);
9571
+ await fsPromises.access(pathname);
9572
9572
  } catch {
9573
9573
  return;
9574
9574
  }
@@ -9644,7 +9644,7 @@ const agentsHandlers = {
9644
9644
  dir: workspaceDir,
9645
9645
  ensureBootstrapFiles: !Boolean(nextConfig.agents?.defaults?.skipBootstrap)
9646
9646
  });
9647
- await fs$1.mkdir(resolveSessionTranscriptsDirForAgent(agentId), { recursive: true });
9647
+ await fsPromises.mkdir(resolveSessionTranscriptsDirForAgent(agentId), { recursive: true });
9648
9648
  await writeConfigFile(nextConfig);
9649
9649
  const safeName = sanitizeIdentityLine(rawName);
9650
9650
  const emoji = resolveOptionalStringParam(params.emoji);
@@ -9657,7 +9657,7 @@ const agentsHandlers = {
9657
9657
  ...avatar ? [`- Avatar: ${sanitizeIdentityLine(avatar)}`] : [],
9658
9658
  ""
9659
9659
  ];
9660
- await fs$1.appendFile(identityPath, lines.join("\n"), "utf-8");
9660
+ await fsPromises.appendFile(identityPath, lines.join("\n"), "utf-8");
9661
9661
  respond(true, {
9662
9662
  ok: true,
9663
9663
  agentId,
@@ -9692,9 +9692,9 @@ const agentsHandlers = {
9692
9692
  });
9693
9693
  if (avatar) {
9694
9694
  const workspace = workspaceDir ?? resolveAgentWorkspaceDir(nextConfig, agentId);
9695
- await fs$1.mkdir(workspace, { recursive: true });
9695
+ await fsPromises.mkdir(workspace, { recursive: true });
9696
9696
  const identityPath = path.join(workspace, DEFAULT_IDENTITY_FILENAME);
9697
- await fs$1.appendFile(identityPath, `\n- Avatar: ${sanitizeIdentityLine(avatar)}\n`, "utf-8");
9697
+ await fsPromises.appendFile(identityPath, `\n- Avatar: ${sanitizeIdentityLine(avatar)}\n`, "utf-8");
9698
9698
  }
9699
9699
  respond(true, {
9700
9700
  ok: true,
@@ -9818,7 +9818,7 @@ const agentsHandlers = {
9818
9818
  const resolved = resolveAgentWorkspaceFileOrRespondError(params, respond);
9819
9819
  if (!resolved) return;
9820
9820
  const { agentId, workspaceDir, name } = resolved;
9821
- await fs$1.mkdir(workspaceDir, { recursive: true });
9821
+ await fsPromises.mkdir(workspaceDir, { recursive: true });
9822
9822
  const filePath = path.join(workspaceDir, name);
9823
9823
  const resolvedPath = await resolveWorkspaceFilePathOrRespond({
9824
9824
  respond,
@@ -12633,14 +12633,14 @@ function isRollingLogFile(file) {
12633
12633
  return ROLLING_LOG_RE.test(path.basename(file));
12634
12634
  }
12635
12635
  async function resolveLogFile(file) {
12636
- if (await fs$1.stat(file).catch(() => null)) return file;
12636
+ if (await fsPromises.stat(file).catch(() => null)) return file;
12637
12637
  if (!isRollingLogFile(file)) return file;
12638
12638
  const dir = path.dirname(file);
12639
- const entries = await fs$1.readdir(dir, { withFileTypes: true }).catch(() => null);
12639
+ const entries = await fsPromises.readdir(dir, { withFileTypes: true }).catch(() => null);
12640
12640
  if (!entries) return file;
12641
12641
  return (await Promise.all(entries.filter((entry) => entry.isFile() && ROLLING_LOG_RE.test(entry.name)).map(async (entry) => {
12642
12642
  const fullPath = path.join(dir, entry.name);
12643
- const fileStat = await fs$1.stat(fullPath).catch(() => null);
12643
+ const fileStat = await fsPromises.stat(fullPath).catch(() => null);
12644
12644
  return fileStat ? {
12645
12645
  path: fullPath,
12646
12646
  mtimeMs: fileStat.mtimeMs
@@ -12648,7 +12648,7 @@ async function resolveLogFile(file) {
12648
12648
  }))).filter((entry) => Boolean(entry)).toSorted((a, b) => b.mtimeMs - a.mtimeMs)[0]?.path ?? file;
12649
12649
  }
12650
12650
  async function readLogSlice(params) {
12651
- const stat = await fs$1.stat(params.file).catch(() => null);
12651
+ const stat = await fsPromises.stat(params.file).catch(() => null);
12652
12652
  if (!stat) return {
12653
12653
  cursor: 0,
12654
12654
  size: 0,
@@ -12686,7 +12686,7 @@ async function readLogSlice(params) {
12686
12686
  truncated,
12687
12687
  reset
12688
12688
  };
12689
- const handle = await fs$1.open(params.file, "r");
12689
+ const handle = await fsPromises.open(params.file, "r");
12690
12690
  try {
12691
12691
  let prefix = "";
12692
12692
  if (start > 0) {
@@ -13983,7 +13983,7 @@ const nodeHandlers = {
13983
13983
  const p = params;
13984
13984
  const payloadJSON = typeof p.payloadJSON === "string" ? p.payloadJSON : p.payload !== void 0 ? JSON.stringify(p.payload) : null;
13985
13985
  await respondUnavailableOnThrow(respond, async () => {
13986
- const { handleNodeEvent } = await import("./server-node-events-p5ykMQz-.js");
13986
+ const { handleNodeEvent } = await import("./server-node-events-aTSoNGTe.js");
13987
13987
  const nodeId = client?.connect?.device?.id ?? client?.connect?.client?.id ?? "node";
13988
13988
  await handleNodeEvent({
13989
13989
  deps: context.deps,
@@ -17404,7 +17404,7 @@ async function startGmailWatcherWithLogs(params) {
17404
17404
  async function startBrowserControlServerIfEnabled() {
17405
17405
  if (isTruthyEnvValue(process.env.OPENCLAW_SKIP_BROWSER_CONTROL_SERVER)) return null;
17406
17406
  const override = process.env.OPENCLAW_BROWSER_CONTROL_MODULE?.trim();
17407
- const mod = override ? await import(override) : await import("./server-DiTziwvC.js");
17407
+ const mod = override ? await import(override) : await import("./server-Cnc4lO11.js");
17408
17408
  const start = typeof mod.startBrowserControlServiceFromConfig === "function" ? mod.startBrowserControlServiceFromConfig : mod.startBrowserControlServerFromConfig;
17409
17409
  const stop = typeof mod.stopBrowserControlService === "function" ? mod.stopBrowserControlService : mod.stopBrowserControlServer;
17410
17410
  if (!start) return null;
@@ -17436,7 +17436,7 @@ async function resolveFileWithinRoot(rootReal, urlPath) {
17436
17436
  if (normalized.endsWith("/")) return await tryOpen(path.posix.join(rel, "index.html"));
17437
17437
  const candidate = path.join(rootReal, rel);
17438
17438
  try {
17439
- const st = await fs$1.lstat(candidate);
17439
+ const st = await fsPromises.lstat(candidate);
17440
17440
  if (st.isSymbolicLink()) return null;
17441
17441
  if (st.isDirectory()) return await tryOpen(path.posix.join(rel, "index.html"));
17442
17442
  } catch {}
@@ -17472,8 +17472,8 @@ async function resolveA2uiRoot() {
17472
17472
  for (const dir of candidates) try {
17473
17473
  const indexPath = path.join(dir, "index.html");
17474
17474
  const bundlePath = path.join(dir, "a2ui.bundle.js");
17475
- await fs$1.stat(indexPath);
17476
- await fs$1.stat(bundlePath);
17475
+ await fsPromises.stat(indexPath);
17476
+ await fsPromises.stat(bundlePath);
17477
17477
  return dir;
17478
17478
  } catch {}
17479
17479
  return null;
@@ -17482,7 +17482,7 @@ async function resolveA2uiRootReal() {
17482
17482
  if (cachedA2uiRootReal !== void 0 && (cachedA2uiRootReal !== null || Date.now() - cachedA2uiResolvedAtMs < A2UI_ROOT_RETRY_NULL_AFTER_MS)) return cachedA2uiRootReal;
17483
17483
  if (!resolvingA2uiRoot) resolvingA2uiRoot = (async () => {
17484
17484
  const root = await resolveA2uiRoot();
17485
- cachedA2uiRootReal = root ? await fs$1.realpath(root) : null;
17485
+ cachedA2uiRootReal = root ? await fsPromises.realpath(root) : null;
17486
17486
  cachedA2uiResolvedAtMs = Date.now();
17487
17487
  resolvingA2uiRoot = null;
17488
17488
  return cachedA2uiRootReal;
@@ -20892,13 +20892,13 @@ function normalizeBasePath(rawPath) {
20892
20892
  }
20893
20893
  async function prepareCanvasRoot(rootDir) {
20894
20894
  await ensureDir(rootDir);
20895
- const rootReal = await fs$1.realpath(rootDir);
20895
+ const rootReal = await fsPromises.realpath(rootDir);
20896
20896
  try {
20897
20897
  const indexPath = path.join(rootReal, "index.html");
20898
- await fs$1.stat(indexPath);
20898
+ await fsPromises.stat(indexPath);
20899
20899
  } catch {
20900
20900
  try {
20901
- await fs$1.writeFile(path.join(rootReal, "index.html"), defaultIndexHTML(), "utf8");
20901
+ await fsPromises.writeFile(path.join(rootReal, "index.html"), defaultIndexHTML(), "utf8");
20902
20902
  } catch {}
20903
20903
  }
20904
20904
  return rootReal;
@@ -21198,7 +21198,7 @@ async function resolveGatewayOwnerStatus(pid, payload, platform, port) {
21198
21198
  }
21199
21199
  async function readLockPayload(lockPath) {
21200
21200
  try {
21201
- const raw = await fs$1.readFile(lockPath, "utf8");
21201
+ const raw = await fsPromises.readFile(lockPath, "utf8");
21202
21202
  const parsed = JSON.parse(raw);
21203
21203
  if (typeof parsed.pid !== "number") return null;
21204
21204
  if (typeof parsed.createdAt !== "string") return null;
@@ -21233,11 +21233,11 @@ async function acquireGatewayLock(opts = {}) {
21233
21233
  const platform = opts.platform ?? process.platform;
21234
21234
  const port = opts.port;
21235
21235
  const { lockPath, configPath } = resolveGatewayLockPath(env);
21236
- await fs$1.mkdir(path.dirname(lockPath), { recursive: true });
21236
+ await fsPromises.mkdir(path.dirname(lockPath), { recursive: true });
21237
21237
  const startedAt = Date.now();
21238
21238
  let lastPayload = null;
21239
21239
  while (Date.now() - startedAt < timeoutMs) try {
21240
- const handle = await fs$1.open(lockPath, "wx");
21240
+ const handle = await fsPromises.open(lockPath, "wx");
21241
21241
  const startTime = platform === "linux" ? readLinuxStartTime(process.pid) : null;
21242
21242
  const payload = {
21243
21243
  pid: process.pid,
@@ -21251,7 +21251,7 @@ async function acquireGatewayLock(opts = {}) {
21251
21251
  configPath,
21252
21252
  release: async () => {
21253
21253
  await handle.close().catch(() => void 0);
21254
- await fs$1.rm(lockPath, { force: true });
21254
+ await fsPromises.rm(lockPath, { force: true });
21255
21255
  }
21256
21256
  };
21257
21257
  } catch (err) {
@@ -21260,7 +21260,7 @@ async function acquireGatewayLock(opts = {}) {
21260
21260
  const ownerPid = lastPayload?.pid;
21261
21261
  const ownerStatus = ownerPid ? await resolveGatewayOwnerStatus(ownerPid, lastPayload, platform, port) : "unknown";
21262
21262
  if (ownerStatus === "dead" && ownerPid) {
21263
- await fs$1.rm(lockPath, { force: true });
21263
+ await fsPromises.rm(lockPath, { force: true });
21264
21264
  continue;
21265
21265
  }
21266
21266
  if (ownerStatus !== "alive") {
@@ -21270,13 +21270,13 @@ async function acquireGatewayLock(opts = {}) {
21270
21270
  stale = Number.isFinite(createdAt) ? Date.now() - createdAt > staleMs : false;
21271
21271
  }
21272
21272
  if (!stale) try {
21273
- const st = await fs$1.stat(lockPath);
21273
+ const st = await fsPromises.stat(lockPath);
21274
21274
  stale = Date.now() - st.mtimeMs > staleMs;
21275
21275
  } catch {
21276
21276
  stale = false;
21277
21277
  }
21278
21278
  if (stale) {
21279
- await fs$1.rm(lockPath, { force: true });
21279
+ await fsPromises.rm(lockPath, { force: true });
21280
21280
  continue;
21281
21281
  }
21282
21282
  }
@@ -23793,7 +23793,7 @@ async function startGatewayServer(port = 18789, opts = {}) {
23793
23793
  if (!minimalTestGateway) cron.start().catch((err) => logCron.error(`failed to start: ${String(err)}`));
23794
23794
  if (!minimalTestGateway) (async () => {
23795
23795
  const { recoverPendingDeliveries } = await import("./delivery-queue-B7zSt4zY.js").then((n) => n.n);
23796
- const { deliverOutboundPayloads } = await import("./reply-Cf5Mm7vB.js").then((n) => n.ta);
23796
+ const { deliverOutboundPayloads } = await import("./reply-gX1XTS9Y.js").then((n) => n.ta);
23797
23797
  await recoverPendingDeliveries({
23798
23798
  deliver: deliverOutboundPayloads,
23799
23799
  log: log.child("delivery-recovery"),
@@ -1,9 +1,9 @@
1
- import { Hh as readGatewayTokenEnv, It as randomToken, Kg as resolveSecretRefValues, Lh as resolveGatewayAuth, Mh as hasAmbiguousGatewayAuthModeConfig, m_ as readConfigFileSnapshot, sv as collectConfigServiceEnvVars, v_ as writeConfigFile, wv as loadAuthProfileStoreForSecretsRuntime } from "./reply-Cf5Mm7vB.js";
1
+ import { Hh as readGatewayTokenEnv, It as randomToken, Kg as resolveSecretRefValues, Lh as resolveGatewayAuth, Mh as hasAmbiguousGatewayAuthModeConfig, m_ as readConfigFileSnapshot, sv as collectConfigServiceEnvVars, v_ as writeConfigFile, wv as loadAuthProfileStoreForSecretsRuntime } from "./reply-gX1XTS9Y.js";
2
2
  import { a as hasConfiguredSecretInput, d as resolveSecretInputRef } from "./types.secrets-d7ZFrG7U.js";
3
3
  import { t as formatCliCommand } from "./command-format-p_4ya3m0.js";
4
- import { Mt as secretRefKey } from "./plugins-om7vnHk0.js";
4
+ import { Mt as secretRefKey } from "./plugins-BVbKGpQJ.js";
5
5
  import { l as resolveGatewayLaunchAgentLabel } from "./constants-D-pfuSKJ.js";
6
- import { f as resolveGatewayProgramArguments, n as resolveDaemonInstallRuntimeInputs, t as emitDaemonInstallRuntimeWarning, u as buildServiceEnvironment } from "./daemon-install-plan.shared-BfFSRwqA.js";
6
+ import { f as resolveGatewayProgramArguments, n as resolveDaemonInstallRuntimeInputs, t as emitDaemonInstallRuntimeWarning, u as buildServiceEnvironment } from "./daemon-install-plan.shared-g5FPfccc.js";
7
7
  //#region src/commands/daemon-install-helpers.ts
8
8
  function collectAuthProfileServiceEnvVars(params) {
9
9
  const authStore = params.authStore ?? loadAuthProfileStoreForSecretsRuntime();
@@ -1,4 +1,4 @@
1
- import { G as withProgress, Tm as GATEWAY_CLIENT_NAMES, rs as callGateway, wm as GATEWAY_CLIENT_MODES } from "./reply-Cf5Mm7vB.js";
1
+ import { G as withProgress, Tm as GATEWAY_CLIENT_NAMES, rs as callGateway, wm as GATEWAY_CLIENT_MODES } from "./reply-gX1XTS9Y.js";
2
2
  //#region src/cli/gateway-rpc.ts
3
3
  function addGatewayClientOptions(cmd) {
4
4
  return cmd.option("--url <url>", "Gateway WebSocket URL (defaults to gateway.remote.url when configured)").option("--token <token>", "Gateway token (if required)").option("--timeout <ms>", "Timeout in ms", "30000").option("--expect-final", "Wait for final response (agent)", false);