openclaw-multi-auto 1.6.6 → 1.6.7

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 (230) hide show
  1. package/dist/{accounts-4vg8osA5.js → accounts-BPt-s1cW.js} +7 -7
  2. package/dist/{accounts-BgOnManD.js → accounts-CC3alHma.js} +1 -1
  3. package/dist/{accounts-CXo4Ac3z.js → accounts-CNIODbBr.js} +1 -1
  4. package/dist/{acp-cli-B2w71bEK.js → acp-cli-DjB0ovMh.js} +8 -8
  5. package/dist/{agent-scope-BbO_VBbv.js → agent-scope-CNJUPFcR.js} +17 -17
  6. package/dist/{agents.config-y8kHMoox.js → agents.config-Dh5Lcv4N.js} +2 -2
  7. package/dist/{api-key-rotation-CzacqD3s.js → api-key-rotation-PzGuOQm_.js} +1 -1
  8. package/dist/{audio-preflight-CiANHFx-.js → audio-preflight-DOYiMo_d.js} +34 -34
  9. package/dist/{audio-transcription-runner-B9-J1DUd.js → audio-transcription-runner-sLK1yiya.js} +23 -23
  10. package/dist/{audit-BBbzzHkv.js → audit-BSvn3dTQ.js} +29 -29
  11. package/dist/{auth-B_YGaEcP.js → auth-C_LDvTxu.js} +1 -1
  12. package/dist/{auth-choice-CV87PVB8.js → auth-choice-Bu5kPuhF.js} +11 -11
  13. package/dist/{auth-choice-gf8aEhcg.js → auth-choice-fpoHu7pV.js} +13 -13
  14. package/dist/{auth-choice.apply-helpers-IK7zIZHi.js → auth-choice.apply-helpers-RNa-mjTS.js} +1 -1
  15. package/dist/{auth-token-D2V9CMur.js → auth-token-CktupXSw.js} +1 -1
  16. package/dist/{bonjour-discovery-BC_XEtg4.js → bonjour-discovery-DvVDs7rm.js} +1 -1
  17. package/dist/{browser-cli-BEWtuR6r.js → browser-cli-DuYjaYLJ.js} +12 -12
  18. package/dist/build-info.json +3 -3
  19. package/dist/{call-YJ9zjeji.js → call-eK-5ynwM.js} +10 -10
  20. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  21. package/dist/{channel-account-context-CJ_25Q5X.js → channel-account-context-BQD0zpuF.js} +5 -5
  22. package/dist/{channel-activity-BHb0aL0J.js → channel-activity-w-iWKqZg.js} +1 -1
  23. package/dist/{channel-options-8OGfdfdc.js → channel-options-o5oDDArl.js} +3 -3
  24. package/dist/{channel-selection-D21oKnM0.js → channel-selection-HaUsJ3kL.js} +1 -1
  25. package/dist/{channel-web-BXHQWjc6.js → channel-web-JuhY6j_M.js} +16 -16
  26. package/dist/{channels-cli-ByTcIaZC.js → channels-cli-aZhDWAhv.js} +92 -92
  27. package/dist/{channels-status-issues-Cva3QRlu.js → channels-status-issues-Bi69DlUp.js} +1 -1
  28. package/dist/{chrome-DBMFZ1ho.js → chrome-CQR5U4Oc.js} +4 -4
  29. package/dist/{clawbot-cli-DpZDxNOd.js → clawbot-cli-DJzN7m49.js} +11 -11
  30. package/dist/cli/daemon-cli.js +1 -1
  31. package/dist/{cli-bsDX2k8k.js → cli-fGEJw7Bh.js} +72 -72
  32. package/dist/{client-D9sBKoZI.js → client-BEwDNigg.js} +2 -2
  33. package/dist/{command-secret-targets-SH5qP5X_.js → command-secret-targets-qpSAI_K2.js} +4 -4
  34. package/dist/{commands-DUzVNM-Q.js → commands-BaXA2bSJ.js} +1 -1
  35. package/dist/{commands-registry-C2INbVUe.js → commands-registry-D-nkNP-x.js} +3 -3
  36. package/dist/{completion-cli-4GVy2WHG.js → completion-cli-D-Vt6klA.js} +12 -12
  37. package/dist/{config-cli-ByWpkmkG.js → config-cli-D7CkjeZo.js} +7 -7
  38. package/dist/{config-guard-ofLFxSQh.js → config-guard-B1hrQ4RG.js} +16 -16
  39. package/dist/{config-validation-9QNDxE74.js → config-validation-CZ59Kb8S.js} +3 -3
  40. package/dist/{configure-JiVnjIlt.js → configure-BTMq-WnT.js} +17 -17
  41. package/dist/{control-ui-assets-D7bG2PFs.js → control-ui-assets-DR9xNC3f.js} +1 -1
  42. package/dist/{cron-cli-DuHdcQFw.js → cron-cli-CvFNRfgv.js} +11 -11
  43. package/dist/{daemon-cli-Do_4dH0e.js → daemon-cli-Bb7Q2DPz.js} +15 -15
  44. package/dist/{daemon-install-helpers-Pex1FHrG.js → daemon-install-helpers-BYWgt_7u.js} +11 -11
  45. package/dist/{daemon-install-C0_0OAHU.js → daemon-install-mDWE60H-.js} +4 -4
  46. package/dist/{deliver-B05oD9oA.js → deliver-DuqANTNs.js} +7 -7
  47. package/dist/deliver-runtime-CBjIBIWj.js +61 -0
  48. package/dist/deps-send-discord.runtime-Ch7m0GFO.js +36 -0
  49. package/dist/deps-send-imessage.runtime-BBXNUMFu.js +35 -0
  50. package/dist/deps-send-signal.runtime-DVVQsW-M.js +34 -0
  51. package/dist/deps-send-slack.runtime-Bm60sFNH.js +32 -0
  52. package/dist/{deps-send-telegram.runtime-IVPYXaID.js → deps-send-telegram.runtime-TOpNwBFj.js} +16 -16
  53. package/dist/deps-send-whatsapp.runtime-B2i2JcV5.js +118 -0
  54. package/dist/{devices-cli-D0SxzElB.js → devices-cli-DVXzYwja.js} +8 -8
  55. package/dist/{diagnostic-v2TGEcgC.js → diagnostic-CL9h6IXx.js} +1 -1
  56. package/dist/{diagnostics-CBcbp7BB.js → diagnostics-CwWdfrvB.js} +5 -5
  57. package/dist/{directory-cli-A0q9Ftjc.js → directory-cli-DL2TKoz1.js} +7 -7
  58. package/dist/{dns-cli-hyt6Wvvq.js → dns-cli-DOHzu8H-.js} +5 -5
  59. package/dist/{dock-SpSqP4RS.js → dock-BR4hdehX.js} +4 -4
  60. package/dist/{docs-cli-CJfXaxzc.js → docs-cli-D1S8CZJy.js} +4 -4
  61. package/dist/{doctor-completion-CDRZEttH.js → doctor-completion-CkEHCVMO.js} +2 -2
  62. package/dist/{doctor-config-flow-kZl_wy2A.js → doctor-config-flow-DQNZsEku.js} +15 -15
  63. package/dist/{enable-B27E5MMW.js → enable-V7r6GCwn.js} +1 -1
  64. package/dist/{exec-approvals-allowlist-BOUCQu6B.js → exec-approvals-allowlist-CtUT02un.js} +1 -1
  65. package/dist/{exec-approvals-cli-_cqBqjTA.js → exec-approvals-cli-CsCqi3wl.js} +16 -16
  66. package/dist/{exec-safe-bin-runtime-policy-CkhpnueN.js → exec-safe-bin-runtime-policy-CSBwsuHS.js} +2 -2
  67. package/dist/{fetch-guard-NyNh7p-s.js → fetch-guard-Ca0W-yZr.js} +1 -1
  68. package/dist/{fs-safe-mG29clJ9.js → fs-safe-D_adQJX4.js} +24 -24
  69. package/dist/{gateway-cli-94YTdTAa.js → gateway-cli-C5cq5Fv9.js} +152 -152
  70. package/dist/{gateway-rpc-NhXLPpJx.js → gateway-rpc-C32KFHnD.js} +1 -1
  71. package/dist/{health-B99KJscL.js → health-yuGFUIWJ.js} +11 -11
  72. package/dist/{hooks-cli-C01QhY4h.js → hooks-cli-CXWcvFYo.js} +80 -80
  73. package/dist/{hooks-status-CZNGtyrM.js → hooks-status-Bjjm7teR.js} +1 -1
  74. package/dist/{image-BaqqhHHh.js → image-CDKYPK1-.js} +5 -5
  75. package/dist/{image-ops-CKnT_r12.js → image-ops-BTwvusXV.js} +10 -10
  76. package/dist/image-runtime-Csw6M1GE.js +55 -0
  77. package/dist/index.js +82 -82
  78. package/dist/{inspect-XHunUBlV.js → inspect-lNlGLW_c.js} +4 -4
  79. package/dist/{install-safe-path-om__n8TQ.js → install-safe-path-BNRYD-KJ.js} +25 -25
  80. package/dist/{installs-Z0VR0SY2.js → installs-BB_8nllr.js} +9 -9
  81. package/dist/{ipv4-NJiClroF.js → ipv4-CPzn5xIX.js} +1 -1
  82. package/dist/{ir-ChJe1hY6.js → ir-BdjoGJyL.js} +8 -8
  83. package/dist/{issue-format-G-7IkANX.js → issue-format-D_MHPECu.js} +1 -1
  84. package/dist/{json-files-D6M304Qd.js → json-files-DIEpaxUj.js} +8 -8
  85. package/dist/{lifecycle-core-BcIuIPMF.js → lifecycle-core-C2u5W-Xd.js} +5 -5
  86. package/dist/{local-roots-BCYAjsgu.js → local-roots-_noFNwvo.js} +3 -3
  87. package/dist/{login-D7cZyPrd.js → login-CbJ7lelX.js} +3 -3
  88. package/dist/{login-qr-DPVFxhjZ.js → login-qr-9cwofnkY.js} +6 -6
  89. package/dist/{logs-cli-CtEDxmDk.js → logs-cli-RYm8XZEC.js} +9 -9
  90. package/dist/{manager-CSnZM2Iw.js → manager-Dbz9CyPw.js} +14 -14
  91. package/dist/{manager-runtime-aMwRbhZ3.js → manager-runtime-DsniMUxY.js} +9 -9
  92. package/dist/{manifest-registry-D74D25g7.js → manifest-registry-QfHOpQrg.js} +1 -1
  93. package/dist/{memory-cli-CCMIlraX.js → memory-cli-CLBPPSow.js} +12 -12
  94. package/dist/{model-CnHxvu4o.js → model-CfB7nuUK.js} +2 -2
  95. package/dist/{model-catalog-QXAt20Vy.js → model-catalog-BH55qLYK.js} +3 -3
  96. package/dist/{model-picker-ByrLHc9_.js → model-picker-D3xDEPDv.js} +4 -4
  97. package/dist/{model-selection-DqSNdtby.js → model-selection-DZM1M4yx.js} +16 -16
  98. package/dist/{models-cli-C0mrlgSL.js → models-cli-DlFeSGXD.js} +81 -81
  99. package/dist/{models-config-5EhgxVMQ.js → models-config-BLJwyO9D.js} +6 -6
  100. package/dist/{node-cli-DdKfRYhS.js → node-cli-Dcn7Lxvr.js} +33 -33
  101. package/dist/{node-command-policy-D-hu0n3w.js → node-command-policy-DfcI_g5B.js} +1 -1
  102. package/dist/{node-service--hFCI8Ok.js → node-service-CIXWfpdM.js} +1 -1
  103. package/dist/{nodes-cli-BmjFvKQh.js → nodes-cli-CtIY3Wdi.js} +16 -16
  104. package/dist/{nodes-screen-CCNot0xV.js → nodes-screen-DgLXnfNX.js} +7 -7
  105. package/dist/{npm-pack-install-DSR8-nhr.js → npm-pack-install-BmT2Qku8.js} +18 -18
  106. package/dist/{npm-resolution-dr4H2dBm.js → npm-resolution-Ch4kSz-J.js} +4 -4
  107. package/dist/{onboard-channels-QzPuUsu5.js → onboard-channels-CZMeimvm.js} +21 -21
  108. package/dist/{onboard-custom-pyXzjp5z.js → onboard-custom-Bk9lP_gS.js} +4 -4
  109. package/dist/{onboard-helpers-ByC3v1-U.js → onboard-helpers-C51uqagK.js} +10 -10
  110. package/dist/{onboard-hooks-C2cFv3_-.js → onboard-hooks-B4RFbzBs.js} +4 -4
  111. package/dist/{onboard-CyDS1PdS.js → onboard-pvZeQwGW.js} +6 -6
  112. package/dist/{onboard-remote-DHZv5w4W.js → onboard-remote-CmB2v7g1.js} +4 -4
  113. package/dist/{onboard-skills-D_R383gZ.js → onboard-skills-B52kyElD.js} +4 -4
  114. package/dist/{onboarding-Df6qbE08.js → onboarding-BQS8Nd_E.js} +14 -14
  115. package/dist/{onboarding.finalize-DkEbxmLj.js → onboarding.finalize-1BqhSubV.js} +85 -85
  116. package/dist/{onboarding.gateway-config-DttU83Zb.js → onboarding.gateway-config-BIkI8VxE.js} +18 -18
  117. package/dist/{onboarding.secret-input-BJILGy22.js → onboarding.secret-input-Dz6lMbgK.js} +1 -1
  118. package/dist/{openai-model-default-uuDOWnTl.js → openai-model-default-LC7S-YJ9.js} +2 -2
  119. package/dist/{openclaw-root-DeEQQJyX.js → openclaw-root-DG6I1Pl4.js} +8 -8
  120. package/dist/{outbound-B0HGMG3V.js → outbound-C2sayF6_.js} +3 -3
  121. package/dist/{outbound-attachment-Ccf9O8B8.js → outbound-attachment-BMKxLFNL.js} +2 -2
  122. package/dist/{pairing-cli-L76jWxbm.js → pairing-cli-BiogXen1.js} +8 -8
  123. package/dist/{pairing-labels-D9vsJ1yc.js → pairing-labels-OxEX3p5e.js} +1 -1
  124. package/dist/{pairing-store-qlIFCeZB.js → pairing-store-CxcCXceV.js} +3 -3
  125. package/dist/{path-alias-guards-BzAaCM2k.js → path-alias-guards-CY88Htx_.js} +3 -3
  126. package/dist/{path-safety-BtMBl7vC.js → path-safety-dy_YlK3a.js} +1 -1
  127. package/dist/{paths-1ThfklTP.js → paths-C48pWRFv.js} +9 -9
  128. package/dist/{pi-embedded-helpers-DXrnVbBZ.js → pi-embedded-helpers-CuG0ngBL.js} +6 -6
  129. package/dist/{pi-model-discovery-BKbDxeIp.js → pi-model-discovery-Drm3mYtt.js} +1 -1
  130. package/dist/{pi-model-discovery-runtime-CpLmZvoC.js → pi-model-discovery-runtime-CCZ87Xog.js} +5 -5
  131. package/dist/{pi-tools.before-tool-call.runtime-81kH9GUj.js → pi-tools.before-tool-call.runtime-CxMxsbgT.js} +5 -5
  132. package/dist/{pi-tools.policy-BC7YGcon.js → pi-tools.policy-DaB-Ff9f.js} +5 -5
  133. package/dist/{plugin-auto-enable-CIeegxhY.js → plugin-auto-enable-DOlffoVt.js} +3 -3
  134. package/dist/{plugin-registry-D8JSGXQX.js → plugin-registry-DfKKSRKU.js} +3 -3
  135. package/dist/plugin-sdk/signal.js +2 -2
  136. package/dist/{plugins-TLur5wHC.js → plugins-DaN4Jp7R.js} +2 -2
  137. package/dist/{plugins-cli-e8svgZ6i.js → plugins-cli-540srne6.js} +82 -82
  138. package/dist/{ports-CfTWPxj9.js → ports-B6f6PDVD.js} +2 -2
  139. package/dist/{ports-BE9ZTYml.js → ports-DX1Cxj7W.js} +1 -1
  140. package/dist/{program-context-DNYbQrvx.js → program-context-iEkoyF3D.js} +41 -41
  141. package/dist/{prompt-select-styled-B7A4T4-F.js → prompt-select-styled-C1MS6ea1.js} +40 -40
  142. package/dist/{provider-auth-helpers-DolkcfyF.js → provider-auth-helpers-BeZKOpzW.js} +5 -5
  143. package/dist/{proxy-env-hdF2jCzB.js → proxy-env-R4DbTLy-.js} +1 -1
  144. package/dist/{push-apns-COJt9ulg.js → push-apns-wRpQOiqI.js} +5 -5
  145. package/dist/{pw-ai-CICkGw_S.js → pw-ai-DP_aLfwB.js} +18 -18
  146. package/dist/{qmd-manager-CT6j2ntm.js → qmd-manager-DP6UdQoL.js} +20 -20
  147. package/dist/{qr-cli-CKPDy5Oq.js → qr-cli-7lXeTSek.js} +2 -2
  148. package/dist/{query-expansion-DmxOigqX.js → query-expansion-bOaotSTR.js} +12 -12
  149. package/dist/{redact-snapshot-C6NRnnHx.js → redact-snapshot-D6W9dz8Q.js} +1 -1
  150. package/dist/{register.agent-D4BrsIbk.js → register.agent-Bjkfci3x.js} +97 -97
  151. package/dist/register.configure-BEkx9CQc.js +164 -0
  152. package/dist/{register.maintenance-x2-poSUG.js → register.maintenance-ErXA_uuU.js} +93 -93
  153. package/dist/{register.message-NeUR5N0O.js → register.message-vHhFsp94.js} +73 -73
  154. package/dist/{register.onboard-Cdh-N4A9.js → register.onboard-BgvfFczx.js} +18 -18
  155. package/dist/{register.setup-B3ADFeTG.js → register.setup-Bel3kQD6.js} +21 -21
  156. package/dist/{register.status-health-sessions-zRCJ2e-L.js → register.status-health-sessions-BEhwEKZV.js} +86 -86
  157. package/dist/{reply-BFrmGuXU.js → reply-9D8ZuOqr.js} +149 -149
  158. package/dist/{rpc-DUJUbW2t.js → rpc-BSqhmmbX.js} +1 -1
  159. package/dist/{runtime-DTxtPm0I.js → runtime-BHbS8ZHw.js} +3 -3
  160. package/dist/{runtime-config-collectors-BEvlZaJw.js → runtime-config-collectors-CXxR70dG.js} +1 -1
  161. package/dist/{runtime-whatsapp-login.runtime-DLNWSVqX.js → runtime-whatsapp-login.runtime-BkF8zMbl.js} +7 -7
  162. package/dist/runtime-whatsapp-outbound.runtime-CdzmGvC6.js +32 -0
  163. package/dist/{sandbox-C0HLb5d5.js → sandbox-HvaJFfqL.js} +18 -18
  164. package/dist/{sandbox-cli-CHpGeoro.js → sandbox-cli-Cyu9YZx0.js} +25 -25
  165. package/dist/{secrets-cli-DgQQmw65.js → secrets-cli-B-aLO0SY.js} +11 -11
  166. package/dist/{security-cli-W-7xXDn1.js → security-cli-DZTjYQ-D.js} +42 -42
  167. package/dist/{send-tsYgRPrs.js → send-7ekhdACO.js} +5 -5
  168. package/dist/{send-CJrrDXqE.js → send-BcAN5-hD.js} +11 -11
  169. package/dist/{send-BUFnD0eE.js → send-BlhxqBI9.js} +6 -6
  170. package/dist/{send-Ddtb8gLT.js → send-C9SevGlM.js} +4 -4
  171. package/dist/{send-D3BV3zCy.js → send-CVzWMFl1.js} +8 -8
  172. package/dist/{server-Bzgq55gk.js → server-ChrqZt3H.js} +20 -20
  173. package/dist/{server-context-DCpD_bA8.js → server-context-BhpOEoCB.js} +12 -12
  174. package/dist/{server-lifecycle-B2SzHMkK.js → server-lifecycle-BYHavdLd.js} +2 -2
  175. package/dist/{server-middleware-C_u_M_FK.js → server-middleware-BzsDWK_f.js} +1 -1
  176. package/dist/{server-node-events-BS0Yy6SL.js → server-node-events-CN7o3YoN.js} +73 -73
  177. package/dist/{service-DhcBUav5.js → service-qQCNqvmY.js} +15 -15
  178. package/dist/{session-D6FZ4tQ8.js → session-CdQJLohq.js} +1 -1
  179. package/dist/{sessions-CRTJuMXp.js → sessions-Fm2Lx117.js} +15 -15
  180. package/dist/{shared-DOUEV_Eq.js → shared-26KZSqMI.js} +1 -1
  181. package/dist/{shared-BXXG3vT8.js → shared-CWdEWtsZ.js} +3 -3
  182. package/dist/{skill-commands-BgzZkiJz.js → skill-commands-De4NUpNz.js} +5 -5
  183. package/dist/{skill-scanner-DcrwF2Fr.js → skill-scanner-BtrQE0gO.js} +6 -6
  184. package/dist/{skills-4CjDh8J_.js → skills-Sy3onNq_.js} +3 -3
  185. package/dist/{skills-cli-CRB7e30Z.js → skills-cli-DiN4xbFz.js} +5 -5
  186. package/dist/{skills-install-DOKJADrz.js → skills-install-DksQkSIq.js} +6 -6
  187. package/dist/{skills-status-BWqCvt0g.js → skills-status-BZptMdLx.js} +1 -1
  188. package/dist/{slash-commands.runtime-DSjg6jg8.js → slash-commands.runtime-Becs7mLt.js} +11 -11
  189. package/dist/slash-dispatch.runtime-BGHMR1xK.js +113 -0
  190. package/dist/{slash-skill-commands.runtime-DwvIfTev.js → slash-skill-commands.runtime-BqcgqTMM.js} +15 -15
  191. package/dist/{status-BiX1kbtY.js → status-CaG5OT-N.js} +26 -26
  192. package/dist/{status.update-QMbtfb38.js → status.update-DR8lt70f.js} +2 -2
  193. package/dist/{store-s4dlu9ZQ.js → store-B7o63XvV.js} +5 -5
  194. package/dist/subagent-registry-runtime-0qZtQB7_.js +113 -0
  195. package/dist/{system-cli-Dz6Xu0cZ.js → system-cli-CpyvQedP.js} +9 -9
  196. package/dist/{system-run-command-MvTaWm_5.js → system-run-command-B7_IasTx.js} +1 -1
  197. package/dist/{systemd-V-rr1rHU.js → systemd-DotMzkho.js} +9 -9
  198. package/dist/{systemd-hints-BanLoKAv.js → systemd-hints-B1n_Cmj7.js} +6 -6
  199. package/dist/{systemd-linger-CWkk4GBp.js → systemd-linger-la785pXY.js} +1 -1
  200. package/dist/{tables-D6c57Lrs.js → tables-B3d05drH.js} +1 -1
  201. package/dist/{tailnet-DuRcvzVE.js → tailnet-CSHZafwU.js} +1 -1
  202. package/dist/{target-errors-u7pjywIy.js → target-errors-CCgPtzPv.js} +4 -4
  203. package/dist/{tool-images-6ceVT7-i.js → tool-images-Bhog1Yix.js} +1 -1
  204. package/dist/{tui-DIVVG-0Y.js → tui-DoROfmXy.js} +6 -6
  205. package/dist/{tui-cli-DdB0uJii.js → tui-cli-Axgy0FU4.js} +32 -32
  206. package/dist/{update-cli-B0ekEE4A.js → update-cli-Dudao0uZ.js} +102 -102
  207. package/dist/{update-runner-gVTOOfSH.js → update-runner-B_J4-cY6.js} +16 -16
  208. package/dist/{update-C4nonzOq.js → update-xgJWkTh1.js} +3 -3
  209. package/dist/web-QKn04c6k.js +117 -0
  210. package/dist/{webhooks-cli-D2omOmfe.js → webhooks-cli-HRhGQtAq.js} +6 -6
  211. package/dist/{whatsapp-actions-Ds8L0msY.js → whatsapp-actions-s6qkgp-7.js} +17 -17
  212. package/dist/{with-timeout-DW6XbMi-.js → with-timeout-OltBBBXv.js} +3 -3
  213. package/dist/{workspace-B7XBLNce.js → workspace-B3uGN7Xe.js} +1 -1
  214. package/dist/{workspace-dirs-Ds-g-s99.js → workspace-dirs-0V-76Wmq.js} +1 -1
  215. package/dist/{ws-BNW54x9_.js → ws-BrCPoV7j.js} +2 -2
  216. package/dist/{wsl-CgxzAzRe.js → wsl-wYxPJ8EO.js} +2 -2
  217. package/package.json +1 -1
  218. package/scripts/create-instance.sh +58 -15
  219. package/dist/deliver-runtime-DGrrnFpY.js +0 -61
  220. package/dist/deps-send-discord.runtime-DAPWkSXf.js +0 -36
  221. package/dist/deps-send-imessage.runtime-DWqR6W7h.js +0 -35
  222. package/dist/deps-send-signal.runtime-Ce60L81Z.js +0 -34
  223. package/dist/deps-send-slack.runtime-s0pqdhHR.js +0 -32
  224. package/dist/deps-send-whatsapp.runtime-bRJ5Zed1.js +0 -118
  225. package/dist/image-runtime-D9iVXh4M.js +0 -55
  226. package/dist/register.configure-B8qyHllb.js +0 -164
  227. package/dist/runtime-whatsapp-outbound.runtime-bK_Rub3q.js +0 -32
  228. package/dist/slash-dispatch.runtime-DcGK4xow.js +0 -113
  229. package/dist/subagent-registry-runtime-D5KDyK6C.js +0 -113
  230. package/dist/web-C0Ki9gxL.js +0 -117
@@ -2,14 +2,14 @@ import { g as resolveStateDir, i as isNixMode, l as resolveGatewayLockDir, o as
2
2
  import { a as logVerbose, d as colorize, f as isRich, g as getResolvedLoggerSettings, h as getLogger, m as getChildLogger, p as theme, s as setVerbose } from "./globals-BawKHR8h.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-CokqDAE4.js";
4
4
  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-44rmAw5o.js";
5
- import { $ as normalizeOptionalSessionKey, $n as listDescendantRunsForRequester, $t as sleepWithAbort, A as resolveSessionModelRef, Ar as OPENAI_TTS_VOICES, B as triggerOpenClawRestart, Bt as createOutboundSendDeps$1, Cr as resolveTtsConfig, D as loadSessionEntry, Dn as createReplyDispatcher, Dr as setTtsProvider, Dt as readJsonBodyWithLimit, E as loadCombinedSessionStoreForGateway, En as dispatchInboundMessage, Er as setTtsEnabled, Et as handleSlackHttpRequest, F as isGatewaySigusr1RestartExternallyAllowed, Fr as resetAllLanes, Ft as resolveAgentOutboundTarget, G as summarizeRestartSentinel, H as formatDoctorNonInteractiveHint, Ht as getCliSessionId, I as markGatewaySigusr1RestartHandled, Ir as setCommandLaneConcurrency, It as createOutboundSendDeps, J as normalizeHttpWebhookUrl, Jn as countActiveDescendantRuns, Jt as resolveBootstrapWarningSignaturesSeen, Kn as isAbortRequestText, Kr as enqueueSystemEvent, L as scheduleGatewaySigusr1Restart, Ln as resolveOutboundTarget, Lr as waitForActiveTasks, Lt as applyVerboseOverride, M as consumeGatewaySigusr1RestartAuthorization, Mn as resolveOutboundSessionRoute, Mt as agentCommandFromIngress, N as deferGatewayRestartUntilIdle, Nr as getTotalQueueSize, O as pruneLegacyStoreKeys, On as getTotalPendingReplies, Or as textToSpeech, Ot as requestBodyErrorToText, P as emitGatewayRestart, Pr as markGatewayDraining, Pt as resolveAgentDeliveryPlan, Q as normalizeOptionalAgentId, Qt as computeBackoff, R as setGatewaySigusr1RestartPolicy, Rn as resolveSessionDeliveryTarget, Rr as CommandLane, Rt as parseVerboseOverride, S as canonicalizeSpawnedByForAgent, Sr as resolveTtsAutoMode, T as listSessionsFromStore, Tn as formatZonedTimestamp, Tr as resolveTtsProviderOrder, U as formatRestartSentinelMessage, Ur as stripHeartbeatToken, Ut as setCliSessionId, V as consumeRestartSentinel, Vn as resetDirectoryCache, Vt as runWithModelFallback, Wt as runCliAgent, X as normalizeCronJobPatch, Xr as requestHeartbeatNow, Xt as lookupContextTokens, Y as normalizeCronJobCreate, Yt as applyModelOverrideToSessionEntry, Z as inferLegacyName, Zn as initSubagentRegistry, _ as resolveCronStyleNow, _r as clearBootstrapSnapshot, ai as resolveSendPolicy, an as buildSafeExternalPrompt, ar as buildOutboundSessionContext, at as hasLegacyDeliveryHints, br as isTtsProviderConfigured, ci as DEFAULT_INPUT_MAX_REDIRECTS, cn as isExternalHookSession, cr as getAgentRunContext, ct as persistBrowserProxyFiles, di as extractImageContentFromSource, dr as resolveAgentIdentity, en as resolveSessionAuthProfileOverride, et as normalizeOptionalText, f as runEmbeddedPiAgent, fi as normalizeMimeList, ft as loadOpenClawPlugins, gt as normalizeGroupActivation, h as waitForEmbeddedPiRunEnd, hi as resolveAgentTimeoutMs, hr as resolveUserTimezone, ii as normalizeSendPolicy, ir as clearSessionQueues, it as buildDeliveryFromLegacyPayload, jn as ensureOutboundSessionEntry, jr as getActiveTaskCount, k as resolveGatewaySessionStoreTarget, kr as OPENAI_TTS_MODELS, li as DEFAULT_INPUT_TIMEOUT_MS, ln as createReplyPrefixOptions, lr as onAgentEvent, lt as getPluginToolMeta, m as getActiveEmbeddedRunCount, mn as buildHistoryContextFromEntries, n as buildBareSessionResetPrompt, ni as getAcpSessionManager, nr as resolveAnnounceTargetFromKey, nt as normalizeRequiredName, oi as DEFAULT_INPUT_IMAGE_MAX_BYTES, on as detectSuspiciousPatterns, or as clearAgentRunContext, ot as stripLegacyDeliveryFields, p as abortEmbeddedPiRun, pi as resolveInputFileLimits, pt as createPluginRuntime, q as writeRestartSentinel, qn as stopSubagentsForRequester, qr as isSystemEventContextChanged, ri as resolveAgentSessionDirs, rr as readLatestAssistantReply, rt as migrateLegacyCronPayload, si as DEFAULT_INPUT_IMAGE_MIMES, sn as getHookType, sr as emitAgentEvent, st as applyBrowserProxyPaths, ti as ACP_SESSION_IDENTITY_RENDERER_VERSION, tn as resolveAgentAvatar, tr as runSubagentAnnounceFlow, tt as normalizePayloadToSystemText, ui as extractFileContentFromSource, un as unbindThreadBindingsBySessionKey, ur as registerAgentRunContext, ut as resolvePluginTools, v as applyToolPolicyPipeline, vr as getTtsProvider, vt as loadProviderUsageSummary, w as listAgentsForGateway, wr as resolveTtsPrefsPath, wt as resolveAgentOutboundIdentity, x as createOpenClawTools, xr as resolveTtsApiKey, y as buildDefaultToolPolicyPipelineSteps, yr as isTtsEnabled, z as setPreRestartDeferralCheck, zn as resolveOutboundChannelPlugin, zr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, zt as createDefaultDeps } from "./reply-BFrmGuXU.js";
6
- 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-BbO_VBbv.js";
5
+ import { $ as normalizeOptionalSessionKey, $n as listDescendantRunsForRequester, $t as sleepWithAbort, A as resolveSessionModelRef, Ar as OPENAI_TTS_VOICES, B as triggerOpenClawRestart, Bt as createOutboundSendDeps$1, Cr as resolveTtsConfig, D as loadSessionEntry, Dn as createReplyDispatcher, Dr as setTtsProvider, Dt as readJsonBodyWithLimit, E as loadCombinedSessionStoreForGateway, En as dispatchInboundMessage, Er as setTtsEnabled, Et as handleSlackHttpRequest, F as isGatewaySigusr1RestartExternallyAllowed, Fr as resetAllLanes, Ft as resolveAgentOutboundTarget, G as summarizeRestartSentinel, H as formatDoctorNonInteractiveHint, Ht as getCliSessionId, I as markGatewaySigusr1RestartHandled, Ir as setCommandLaneConcurrency, It as createOutboundSendDeps, J as normalizeHttpWebhookUrl, Jn as countActiveDescendantRuns, Jt as resolveBootstrapWarningSignaturesSeen, Kn as isAbortRequestText, Kr as enqueueSystemEvent, L as scheduleGatewaySigusr1Restart, Ln as resolveOutboundTarget, Lr as waitForActiveTasks, Lt as applyVerboseOverride, M as consumeGatewaySigusr1RestartAuthorization, Mn as resolveOutboundSessionRoute, Mt as agentCommandFromIngress, N as deferGatewayRestartUntilIdle, Nr as getTotalQueueSize, O as pruneLegacyStoreKeys, On as getTotalPendingReplies, Or as textToSpeech, Ot as requestBodyErrorToText, P as emitGatewayRestart, Pr as markGatewayDraining, Pt as resolveAgentDeliveryPlan, Q as normalizeOptionalAgentId, Qt as computeBackoff, R as setGatewaySigusr1RestartPolicy, Rn as resolveSessionDeliveryTarget, Rr as CommandLane, Rt as parseVerboseOverride, S as canonicalizeSpawnedByForAgent, Sr as resolveTtsAutoMode, T as listSessionsFromStore, Tn as formatZonedTimestamp, Tr as resolveTtsProviderOrder, U as formatRestartSentinelMessage, Ur as stripHeartbeatToken, Ut as setCliSessionId, V as consumeRestartSentinel, Vn as resetDirectoryCache, Vt as runWithModelFallback, Wt as runCliAgent, X as normalizeCronJobPatch, Xr as requestHeartbeatNow, Xt as lookupContextTokens, Y as normalizeCronJobCreate, Yt as applyModelOverrideToSessionEntry, Z as inferLegacyName, Zn as initSubagentRegistry, _ as resolveCronStyleNow, _r as clearBootstrapSnapshot, ai as resolveSendPolicy, an as buildSafeExternalPrompt, ar as buildOutboundSessionContext, at as hasLegacyDeliveryHints, br as isTtsProviderConfigured, ci as DEFAULT_INPUT_MAX_REDIRECTS, cn as isExternalHookSession, cr as getAgentRunContext, ct as persistBrowserProxyFiles, di as extractImageContentFromSource, dr as resolveAgentIdentity, en as resolveSessionAuthProfileOverride, et as normalizeOptionalText, f as runEmbeddedPiAgent, fi as normalizeMimeList, ft as loadOpenClawPlugins, gt as normalizeGroupActivation, h as waitForEmbeddedPiRunEnd, hi as resolveAgentTimeoutMs, hr as resolveUserTimezone, ii as normalizeSendPolicy, ir as clearSessionQueues, it as buildDeliveryFromLegacyPayload, jn as ensureOutboundSessionEntry, jr as getActiveTaskCount, k as resolveGatewaySessionStoreTarget, kr as OPENAI_TTS_MODELS, li as DEFAULT_INPUT_TIMEOUT_MS, ln as createReplyPrefixOptions, lr as onAgentEvent, lt as getPluginToolMeta, m as getActiveEmbeddedRunCount, mn as buildHistoryContextFromEntries, n as buildBareSessionResetPrompt, ni as getAcpSessionManager, nr as resolveAnnounceTargetFromKey, nt as normalizeRequiredName, oi as DEFAULT_INPUT_IMAGE_MAX_BYTES, on as detectSuspiciousPatterns, or as clearAgentRunContext, ot as stripLegacyDeliveryFields, p as abortEmbeddedPiRun, pi as resolveInputFileLimits, pt as createPluginRuntime, q as writeRestartSentinel, qn as stopSubagentsForRequester, qr as isSystemEventContextChanged, ri as resolveAgentSessionDirs, rr as readLatestAssistantReply, rt as migrateLegacyCronPayload, si as DEFAULT_INPUT_IMAGE_MIMES, sn as getHookType, sr as emitAgentEvent, st as applyBrowserProxyPaths, ti as ACP_SESSION_IDENTITY_RENDERER_VERSION, tn as resolveAgentAvatar, tr as runSubagentAnnounceFlow, tt as normalizePayloadToSystemText, ui as extractFileContentFromSource, un as unbindThreadBindingsBySessionKey, ur as registerAgentRunContext, ut as resolvePluginTools, v as applyToolPolicyPipeline, vr as getTtsProvider, vt as loadProviderUsageSummary, w as listAgentsForGateway, wr as resolveTtsPrefsPath, wt as resolveAgentOutboundIdentity, x as createOpenClawTools, xr as resolveTtsApiKey, y as buildDefaultToolPolicyPipelineSteps, yr as isTtsEnabled, z as setPreRestartDeferralCheck, zn as resolveOutboundChannelPlugin, zr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, zt as createDefaultDeps } from "./reply-9D8ZuOqr.js";
6
+ 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-CNJUPFcR.js";
7
7
  import { a as setConsoleSubsystemFilter, d as defaultRuntime, n as runtimeForLogger, o as setConsoleTimestampPrefix, t as createSubsystemLogger } from "./subsystem-BiaB_3Ei.js";
8
8
  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-CIXZm7v4.js";
9
- 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-DeEQQJyX.js";
9
+ 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-DG6I1Pl4.js";
10
10
  import { i as logWarn, t as logDebug } from "./logger-fgPrvtjf.js";
11
11
  import { n as runExec, t as runCommandWithTimeout } from "./exec-Cu2obwh9.js";
12
- import { $t as loadConfig, Bi as DEFAULT_MODEL, Dn as parseDurationMs, Fi as normalizeSecretInput, Hr as applyLegacyMigrations, Kn as isAvatarHttpUrl, On as parseByteSize, Qt as createConfigIO, S as resolveThinkingDefault, Ur as ensureControlUiAllowedOriginsForNonLoopbackBind, Vi as DEFAULT_PROVIDER, Vr as applyMergePatch, Wn as AVATAR_MAX_BYTES, Xt as migrateLegacyConfig, Zn as looksLikeAvatarPath, _ as resolveHooksGmailModel, a as getModelRefStatus, an as writeConfigFile, b as resolveSubagentConfiguredModelSelection, ei as buildTalkConfigResponse, en as parseConfigJson5, g as resolveDefaultModelForAgent, h as resolveConfiguredModelRef, ki as isPidAlive, ni as resolveAgentMaxConcurrent, nn as readConfigFileSnapshotForWrite, on as validateConfigObjectWithPlugins, p as resolveAllowedModelRef, qn as isAvatarImageDataUrl, ri as resolveSubagentMaxConcurrent, rn as resolveConfigSnapshotHash, s as isCliProvider, sn as OpenClawSchema, t as buildAllowedModelSet, tn as readConfigFileSnapshot, u as normalizeModelSelection, zi as DEFAULT_CONTEXT_TOKENS } from "./model-selection-DqSNdtby.js";
12
+ import { $t as loadConfig, Bi as DEFAULT_MODEL, Dn as parseDurationMs, Fi as normalizeSecretInput, Hr as applyLegacyMigrations, Kn as isAvatarHttpUrl, On as parseByteSize, Qt as createConfigIO, S as resolveThinkingDefault, Ur as ensureControlUiAllowedOriginsForNonLoopbackBind, Vi as DEFAULT_PROVIDER, Vr as applyMergePatch, Wn as AVATAR_MAX_BYTES, Xt as migrateLegacyConfig, Zn as looksLikeAvatarPath, _ as resolveHooksGmailModel, a as getModelRefStatus, an as writeConfigFile, b as resolveSubagentConfiguredModelSelection, ei as buildTalkConfigResponse, en as parseConfigJson5, g as resolveDefaultModelForAgent, h as resolveConfiguredModelRef, ki as isPidAlive, ni as resolveAgentMaxConcurrent, nn as readConfigFileSnapshotForWrite, on as validateConfigObjectWithPlugins, p as resolveAllowedModelRef, qn as isAvatarImageDataUrl, ri as resolveSubagentMaxConcurrent, rn as resolveConfigSnapshotHash, s as isCliProvider, sn as OpenClawSchema, t as buildAllowedModelSet, tn as readConfigFileSnapshot, u as normalizeModelSelection, zi as DEFAULT_CONTEXT_TOKENS } from "./model-selection-DZM1M4yx.js";
13
13
  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-CTtrVpZB.js";
14
14
  import "./github-copilot-token-b6kJVrW-.js";
15
15
  import { t as formatCliCommand } from "./command-format-Gp1OUMPH.js";
@@ -17,150 +17,150 @@ import "./boolean-BsqeuxE6.js";
17
17
  import { n as logAcceptedEnvOption, t as isTruthyEnvValue } from "./env-CNF75H3c.js";
18
18
  import "./host-env-security-DkAVVuaw.js";
19
19
  import { i as resolveRuntimeServiceVersion, r as VERSION } from "./env-vars-ausEv-bN.js";
20
- import { u as isTestDefaultMemorySlotDisabled } from "./manifest-registry-D74D25g7.js";
21
- import "./dock-SpSqP4RS.js";
20
+ import { u as isTestDefaultMemorySlotDisabled } from "./manifest-registry-QfHOpQrg.js";
21
+ import "./dock-BR4hdehX.js";
22
22
  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-S2KEwruz.js";
23
- import "./send-CJrrDXqE.js";
24
- import { m as buildChannelAccountBindings, n as listChannelPlugins, r as normalizeChannelId, t as getChannelPlugin, w as normalizeWhatsAppTarget } from "./plugins-TLur5wHC.js";
25
- import { $ as resolveMainSessionKey, A as readSessionPreviewItemsFromTranscript, C as normalizeSessionDeliveryFields, D as capArrayByJsonBytes, E as archiveSessionTranscripts, I as stripInlineDirectiveTagsForDisplay, L as stripInlineDirectiveTagsFromMessageForDisplay, M as resolveSessionTranscriptCandidates, N as stripEnvelopeFromMessage, O as cleanupArchivedSessionTranscripts, P as stripEnvelopeFromMessages, Q as resolveExplicitAgentSessionKey, R as jsonUtf8Bytes, T as archiveFileOnDisk, U as resolveSessionResetPolicy, V as evaluateSessionFreshness, X as canonicalizeMainSessionAlias, Y as setSessionRuntimeModel, Z as resolveAgentMainSessionKey, ct as cleanStaleLockFiles, d as updateSessionStore, et as resolveMainSessionKeyFromConfig, k as readSessionMessages, n as parseSessionThreadInfo, nt as snapshotSessionOrigin, o as loadSessionStore, q as mergeSessionEntry, t as extractDeliveryInfo, x as mergeDeliveryContext, y as deliveryContextFromSession } from "./sessions-CRTJuMXp.js";
26
- import { u as registerUnhandledRejectionHandler } from "./audio-transcription-runner-B9-J1DUd.js";
27
- import { b as extractTextFromChatContent } from "./image-BaqqhHHh.js";
28
- import "./models-config-5EhgxVMQ.js";
29
- import "./pi-embedded-helpers-DXrnVbBZ.js";
30
- import { C as resolveToolProfilePolicy, _ as collectExplicitAllowlist, y as mergeAlsoAllowPolicy } from "./sandbox-C0HLb5d5.js";
23
+ import "./send-BcAN5-hD.js";
24
+ import { m as buildChannelAccountBindings, n as listChannelPlugins, r as normalizeChannelId, t as getChannelPlugin, w as normalizeWhatsAppTarget } from "./plugins-DaN4Jp7R.js";
25
+ import { $ as resolveMainSessionKey, A as readSessionPreviewItemsFromTranscript, C as normalizeSessionDeliveryFields, D as capArrayByJsonBytes, E as archiveSessionTranscripts, I as stripInlineDirectiveTagsForDisplay, L as stripInlineDirectiveTagsFromMessageForDisplay, M as resolveSessionTranscriptCandidates, N as stripEnvelopeFromMessage, O as cleanupArchivedSessionTranscripts, P as stripEnvelopeFromMessages, Q as resolveExplicitAgentSessionKey, R as jsonUtf8Bytes, T as archiveFileOnDisk, U as resolveSessionResetPolicy, V as evaluateSessionFreshness, X as canonicalizeMainSessionAlias, Y as setSessionRuntimeModel, Z as resolveAgentMainSessionKey, ct as cleanStaleLockFiles, d as updateSessionStore, et as resolveMainSessionKeyFromConfig, k as readSessionMessages, n as parseSessionThreadInfo, nt as snapshotSessionOrigin, o as loadSessionStore, q as mergeSessionEntry, t as extractDeliveryInfo, x as mergeDeliveryContext, y as deliveryContextFromSession } from "./sessions-Fm2Lx117.js";
26
+ import { u as registerUnhandledRejectionHandler } from "./audio-transcription-runner-sLK1yiya.js";
27
+ import { b as extractTextFromChatContent } from "./image-CDKYPK1-.js";
28
+ import "./models-config-BLJwyO9D.js";
29
+ import "./pi-embedded-helpers-CuG0ngBL.js";
30
+ import { C as resolveToolProfilePolicy, _ as collectExplicitAllowlist, y as mergeAlsoAllowPolicy } from "./sandbox-HvaJFfqL.js";
31
31
  import { i as listCoreToolSections, n as PROFILE_OPTIONS, o as resolveCoreToolProfiles } from "./tool-catalog-IBWCA-2a.js";
32
- import "./chrome-DBMFZ1ho.js";
32
+ import "./chrome-CQR5U4Oc.js";
33
33
  import { i as enableTailscaleServe, n as disableTailscaleServe, o as getTailnetHostname, r as enableTailscaleFunnel, t as disableTailscaleFunnel } from "./tailscale-OabIsy4o.js";
34
34
  import { t as safeEqualSecret } from "./secret-equal-B7oJEPub.js";
35
- import { n as pickPrimaryTailnetIPv4, r as pickPrimaryTailnetIPv6 } from "./tailnet-DuRcvzVE.js";
36
- 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-BNW54x9_.js";
37
- 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-B_YGaEcP.js";
38
- import { l as ensureGatewayStartupAuth, u as mergeGatewayTailscaleConfig } from "./server-context-DCpD_bA8.js";
35
+ import { n as pickPrimaryTailnetIPv4, r as pickPrimaryTailnetIPv6 } from "./tailnet-CSHZafwU.js";
36
+ 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-BrCPoV7j.js";
37
+ 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-C_LDvTxu.js";
38
+ import { l as ensureGatewayStartupAuth, u as mergeGatewayTailscaleConfig } from "./server-context-BhpOEoCB.js";
39
39
  import { d as hasBinary } from "./frontmatter-CPpXT7mj.js";
40
- import { i as loadWorkspaceSkillEntries, r as buildWorkspaceSkillSnapshot } from "./skills-4CjDh8J_.js";
41
- import { n as assertNoPathAliasEscape } from "./path-alias-guards-BzAaCM2k.js";
42
- import "./paths-1ThfklTP.js";
40
+ import { i as loadWorkspaceSkillEntries, r as buildWorkspaceSkillSnapshot } from "./skills-Sy3onNq_.js";
41
+ import { n as assertNoPathAliasEscape } from "./path-alias-guards-CY88Htx_.js";
42
+ import "./paths-C48pWRFv.js";
43
43
  import { a as testRegexWithBoundedInput, i as compileSafeRegex } from "./redact-sDsI6gV3.js";
44
44
  import { o as isErrno, r as formatErrorMessage } from "./errors-BkPBAjci.js";
45
- import { i as openFileWithinRoot, l as writeFileWithinRoot, s as readLocalFileSafely, t as SafeOpenError } from "./fs-safe-mG29clJ9.js";
46
- import { n as SsrFBlockedError } from "./proxy-env-hdF2jCzB.js";
47
- import { c as detectMime } from "./image-ops-CKnT_r12.js";
48
- import "./store-s4dlu9ZQ.js";
49
- import { a as inspectPortUsage, l as formatPortDiagnostics, r as ensurePortAvailable } from "./ports-CfTWPxj9.js";
45
+ import { i as openFileWithinRoot, l as writeFileWithinRoot, s as readLocalFileSafely, t as SafeOpenError } from "./fs-safe-D_adQJX4.js";
46
+ import { n as SsrFBlockedError } from "./proxy-env-R4DbTLy-.js";
47
+ import { c as detectMime } from "./image-ops-BTwvusXV.js";
48
+ import "./store-B7o63XvV.js";
49
+ import { a as inspectPortUsage, l as formatPortDiagnostics, r as ensurePortAvailable } from "./ports-B6f6PDVD.js";
50
50
  import { t as movePathToTrash } from "./trash--gw0enoo.js";
51
- import "./server-middleware-C_u_M_FK.js";
52
- import { n as readJsonFile, r as writeJsonAtomic, t as createAsyncLock } from "./json-files-D6M304Qd.js";
53
- import { i as resolveWhatsAppAccount } from "./accounts-4vg8osA5.js";
54
- import "./accounts-BgOnManD.js";
51
+ import "./server-middleware-BzsDWK_f.js";
52
+ import { n as readJsonFile, r as writeJsonAtomic, t as createAsyncLock } from "./json-files-DIEpaxUj.js";
53
+ import { i as resolveWhatsAppAccount } from "./accounts-BPt-s1cW.js";
54
+ import "./accounts-CC3alHma.js";
55
55
  import "./logging-D3KTM1pH.js";
56
- import "./accounts-CXo4Ac3z.js";
57
- import "./send-Ddtb8gLT.js";
56
+ import "./accounts-CNIODbBr.js";
57
+ import "./send-C9SevGlM.js";
58
58
  import { c as resolveStorePath, i as resolveSessionTranscriptPath, n as resolveSessionFilePath, r as resolveSessionFilePathOptions, s as resolveSessionTranscriptsDirForAgent } from "./paths-D24h0XR4.js";
59
59
  import { i as normalizeInputProvenance } from "./input-provenance-K1purPKY.js";
60
60
  import "./chat-envelope-DL2R5pK6.js";
61
- import "./tool-images-6ceVT7-i.js";
61
+ import "./tool-images-Bhog1Yix.js";
62
62
  import "./tool-display-D1uTM_Dm.js";
63
- import { t as fetchWithSsrFGuard } from "./fetch-guard-NyNh7p-s.js";
64
- import "./api-key-rotation-CzacqD3s.js";
65
- import "./local-roots-BCYAjsgu.js";
66
- import { n as loadModelCatalog } from "./model-catalog-QXAt20Vy.js";
63
+ import { t as fetchWithSsrFGuard } from "./fetch-guard-Ca0W-yZr.js";
64
+ import "./api-key-rotation-PzGuOQm_.js";
65
+ import "./local-roots-_noFNwvo.js";
66
+ import { n as loadModelCatalog } from "./model-catalog-BH55qLYK.js";
67
67
  import "./proxy-fetch-DVvCU_Cg.js";
68
68
  import { i as isSilentReplyText, n as SILENT_REPLY_TOKEN } from "./tokens-4XdPiPs_.js";
69
- import { j as runGlobalGatewayStopSafely, k as getGlobalHookRunner, o as normalizeReplyPayloadsForDelivery, t as deliverOutboundPayloads } from "./deliver-B05oD9oA.js";
70
- import { r as isRestartEnabled } from "./commands-DUzVNM-Q.js";
71
- import "./commands-registry-C2INbVUe.js";
72
- import { $ as validateNodePairRejectParams, $t as roleScopesAllow, A as validateCronStatusParams, At as validateWizardStartParams, B as validateExecApprovalsGetParams, C as validateConfigSetParams, Ct as validateToolsCatalogParams, D as validateCronRemoveParams, Dt as validateWebLoginWaitParams, E as validateCronListParams, Et as validateWebLoginStartParams, F as validateDevicePairRemoveParams, G as validateModelsListParams, Gt as rejectDevicePairing, H as validateExecApprovalsNodeSetParams, Ht as ensureDeviceToken, I as validateDeviceTokenRevokeParams, It as parseSessionLabel, J as validateNodeInvokeParams, Jt as revokeDeviceToken, K as validateNodeDescribeParams, Kt as removePairedDevice, L as validateDeviceTokenRotateParams, Lt as buildDeviceAuthPayload, M as validateDevicePairApproveParams, Mt as PROTOCOL_VERSION, N as validateDevicePairListParams, Nt as ErrorCodes, O as validateCronRunParams, Ot as validateWizardCancelParams, P as validateDevicePairRejectParams, Pt as errorShape, Q as validateNodePairListParams, Qt as verifyDeviceToken, R as validateExecApprovalRequestParams, Rt as buildDeviceAuthPayloadV3, S as validateConfigSchemaParams, St as validateTalkModeParams, T as validateCronAddParams, Tt as validateWakeParams, U as validateExecApprovalsSetParams, Ut as getPairedDevice, V as validateExecApprovalsNodeGetParams, Vt as approveDevicePairing, W as validateLogsTailParams, Wt as listDevicePairing, X as validateNodeListParams, Xt as summarizeDeviceTokens, Y as validateNodeInvokeResultParams, Yt as rotateDeviceToken, Z as validateNodePairApproveParams, Zt as updatePairedDeviceMetadata, _ as validateChatInjectParams, _t as validateSkillsBinsParams, a as validateAgentWaitParams, at as validateRequestFrame, b as validateConfigGetParams, bt as validateSkillsUpdateParams, c as validateAgentsFilesGetParams, ct as validateSendParams, d as validateAgentsListParams, dt as validateSessionsListParams, et as validateNodePairRequestParams, f as validateAgentsUpdateParams, ft as validateSessionsPatchParams, g as validateChatHistoryParams, gt as validateSessionsUsageParams, h as validateChatAbortParams, ht as validateSessionsResolveParams, i as validateAgentParams, in as verifyDeviceSignature, it as validatePushTestParams, j as validateCronUpdateParams, jt as validateWizardStatusParams, k as validateCronRunsParams, kt as validateWizardNextParams, l as validateAgentsFilesListParams, lt as validateSessionsCompactParams, m as validateChannelsStatusParams, mt as validateSessionsResetParams, n as formatValidationErrors, nt as validateNodeRenameParams, o as validateAgentsCreateParams, ot as validateSecretsResolveParams, p as validateChannelsLogoutParams, pt as validateSessionsPreviewParams, q as validateNodeEventParams, qt as requestDevicePairing, r as validateAgentIdentityParams, rn as normalizeDevicePublicKeyBase64Url, rt as validatePollParams, s as validateAgentsDeleteParams, st as validateSecretsResolveResult, tn as deriveDeviceIdFromPublicKey, tt as validateNodePairVerifyParams, u as validateAgentsFilesSetParams, ut as validateSessionsDeleteParams, v as validateChatSendParams, vt as validateSkillsInstallParams, w as validateConnectParams, wt as validateUpdateRunParams, x as validateConfigPatchParams, xt as validateTalkConfigParams, y as validateConfigApplyParams, yt as validateSkillsStatusParams, z as validateExecApprovalResolveParams, zt as normalizeDeviceMetadataForAuth } from "./client-D9sBKoZI.js";
73
- import { c as ADMIN_SCOPE$3, d as isNodeRoleMethod, n as callGateway, p as loadGatewayTlsRuntime$1, u as authorizeOperatorScopesForMethod } from "./call-YJ9zjeji.js";
69
+ import { j as runGlobalGatewayStopSafely, k as getGlobalHookRunner, o as normalizeReplyPayloadsForDelivery, t as deliverOutboundPayloads } from "./deliver-DuqANTNs.js";
70
+ import { r as isRestartEnabled } from "./commands-BaXA2bSJ.js";
71
+ import "./commands-registry-D-nkNP-x.js";
72
+ import { $ as validateNodePairRejectParams, $t as roleScopesAllow, A as validateCronStatusParams, At as validateWizardStartParams, B as validateExecApprovalsGetParams, C as validateConfigSetParams, Ct as validateToolsCatalogParams, D as validateCronRemoveParams, Dt as validateWebLoginWaitParams, E as validateCronListParams, Et as validateWebLoginStartParams, F as validateDevicePairRemoveParams, G as validateModelsListParams, Gt as rejectDevicePairing, H as validateExecApprovalsNodeSetParams, Ht as ensureDeviceToken, I as validateDeviceTokenRevokeParams, It as parseSessionLabel, J as validateNodeInvokeParams, Jt as revokeDeviceToken, K as validateNodeDescribeParams, Kt as removePairedDevice, L as validateDeviceTokenRotateParams, Lt as buildDeviceAuthPayload, M as validateDevicePairApproveParams, Mt as PROTOCOL_VERSION, N as validateDevicePairListParams, Nt as ErrorCodes, O as validateCronRunParams, Ot as validateWizardCancelParams, P as validateDevicePairRejectParams, Pt as errorShape, Q as validateNodePairListParams, Qt as verifyDeviceToken, R as validateExecApprovalRequestParams, Rt as buildDeviceAuthPayloadV3, S as validateConfigSchemaParams, St as validateTalkModeParams, T as validateCronAddParams, Tt as validateWakeParams, U as validateExecApprovalsSetParams, Ut as getPairedDevice, V as validateExecApprovalsNodeGetParams, Vt as approveDevicePairing, W as validateLogsTailParams, Wt as listDevicePairing, X as validateNodeListParams, Xt as summarizeDeviceTokens, Y as validateNodeInvokeResultParams, Yt as rotateDeviceToken, Z as validateNodePairApproveParams, Zt as updatePairedDeviceMetadata, _ as validateChatInjectParams, _t as validateSkillsBinsParams, a as validateAgentWaitParams, at as validateRequestFrame, b as validateConfigGetParams, bt as validateSkillsUpdateParams, c as validateAgentsFilesGetParams, ct as validateSendParams, d as validateAgentsListParams, dt as validateSessionsListParams, et as validateNodePairRequestParams, f as validateAgentsUpdateParams, ft as validateSessionsPatchParams, g as validateChatHistoryParams, gt as validateSessionsUsageParams, h as validateChatAbortParams, ht as validateSessionsResolveParams, i as validateAgentParams, in as verifyDeviceSignature, it as validatePushTestParams, j as validateCronUpdateParams, jt as validateWizardStatusParams, k as validateCronRunsParams, kt as validateWizardNextParams, l as validateAgentsFilesListParams, lt as validateSessionsCompactParams, m as validateChannelsStatusParams, mt as validateSessionsResetParams, n as formatValidationErrors, nt as validateNodeRenameParams, o as validateAgentsCreateParams, ot as validateSecretsResolveParams, p as validateChannelsLogoutParams, pt as validateSessionsPreviewParams, q as validateNodeEventParams, qt as requestDevicePairing, r as validateAgentIdentityParams, rn as normalizeDevicePublicKeyBase64Url, rt as validatePollParams, s as validateAgentsDeleteParams, st as validateSecretsResolveResult, tn as deriveDeviceIdFromPublicKey, tt as validateNodePairVerifyParams, u as validateAgentsFilesSetParams, ut as validateSessionsDeleteParams, v as validateChatSendParams, vt as validateSkillsInstallParams, w as validateConnectParams, wt as validateUpdateRunParams, x as validateConfigPatchParams, xt as validateTalkConfigParams, y as validateConfigApplyParams, yt as validateSkillsStatusParams, z as validateExecApprovalResolveParams, zt as normalizeDeviceMetadataForAuth } from "./client-BEwDNigg.js";
73
+ import { c as ADMIN_SCOPE$3, d as isNodeRoleMethod, n as callGateway, p as loadGatewayTlsRuntime$1, u as authorizeOperatorScopesForMethod } from "./call-eK-5ynwM.js";
74
74
  import "./pairing-token-9FncM-ur.js";
75
75
  import "./fetch-D6Usyaj-.js";
76
- import { a as readChannelAllowFromStoreSync } from "./pairing-store-qlIFCeZB.js";
76
+ import { a as readChannelAllowFromStoreSync } from "./pairing-store-CxcCXceV.js";
77
77
  import { a as mergeExecApprovalsSocketDefaults, c as readExecApprovalsSnapshot, p as saveExecApprovals, r as ensureExecApprovals, s as normalizeExecApprovals, t as DEFAULT_EXEC_APPROVAL_TIMEOUT_MS } from "./exec-approvals-QfWL5pgV.js";
78
- import "./exec-approvals-allowlist-BOUCQu6B.js";
79
- import "./exec-safe-bin-runtime-policy-CkhpnueN.js";
80
- import { _ as matchSystemRunApprovalBinding, g as buildSystemRunApprovalBinding, h as resolveSystemRunApprovalRuntimeContext, m as resolveSystemRunApprovalRequestContext, v as missingSystemRunApprovalBinding, y as toSystemRunApprovalMismatchError } from "./nodes-screen-CCNot0xV.js";
81
- import { a as ToolInputError } from "./target-errors-u7pjywIy.js";
82
- import { n as resolveSystemRunCommand } from "./system-run-command-MvTaWm_5.js";
83
- import { d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, m as isDiagnosticsEnabled } from "./diagnostic-v2TGEcgC.js";
84
- import { a as getMachineDisplayName, i as startBrowserControlServiceFromConfig, n as createBrowserRouteDispatcher, r as createBrowserControlContext } from "./with-timeout-DW6XbMi-.js";
85
- import { d as resolveCronStorePath, f as saveCronStore, u as loadCronStore } from "./send-D3BV3zCy.js";
86
- import "./model-CnHxvu4o.js";
87
- import "./pi-model-discovery-BKbDxeIp.js";
88
- import "./ir-ChJe1hY6.js";
78
+ import "./exec-approvals-allowlist-CtUT02un.js";
79
+ import "./exec-safe-bin-runtime-policy-CSBwsuHS.js";
80
+ import { _ as matchSystemRunApprovalBinding, g as buildSystemRunApprovalBinding, h as resolveSystemRunApprovalRuntimeContext, m as resolveSystemRunApprovalRequestContext, v as missingSystemRunApprovalBinding, y as toSystemRunApprovalMismatchError } from "./nodes-screen-DgLXnfNX.js";
81
+ import { a as ToolInputError } from "./target-errors-CCgPtzPv.js";
82
+ import { n as resolveSystemRunCommand } from "./system-run-command-B7_IasTx.js";
83
+ import { d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, m as isDiagnosticsEnabled } from "./diagnostic-CL9h6IXx.js";
84
+ import { a as getMachineDisplayName, i as startBrowserControlServiceFromConfig, n as createBrowserRouteDispatcher, r as createBrowserControlContext } from "./with-timeout-OltBBBXv.js";
85
+ import { d as resolveCronStorePath, f as saveCronStore, u as loadCronStore } from "./send-CVzWMFl1.js";
86
+ import "./model-CfB7nuUK.js";
87
+ import "./pi-model-discovery-Drm3mYtt.js";
88
+ import "./ir-BdjoGJyL.js";
89
89
  import "./render-Bwu_WxwA.js";
90
- import { n as resolveMessageChannelSelection } from "./channel-selection-D21oKnM0.js";
90
+ import { n as resolveMessageChannelSelection } from "./channel-selection-HaUsJ3kL.js";
91
91
  import { n as normalizePollInput } from "./polls-Dc-wk6Mc.js";
92
- import { i as buildChannelUiCatalog, t as applyPluginAutoEnable } from "./plugin-auto-enable-CIeegxhY.js";
93
- import "./send-tsYgRPrs.js";
94
- import "./outbound-attachment-Ccf9O8B8.js";
92
+ import { i as buildChannelUiCatalog, t as applyPluginAutoEnable } from "./plugin-auto-enable-DOlffoVt.js";
93
+ import "./send-7ekhdACO.js";
94
+ import "./outbound-attachment-BMKxLFNL.js";
95
95
  import "./delivery-queue-5cgQEnOW.js";
96
- import "./send-BUFnD0eE.js";
97
- import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, r as resolveEffectiveToolPolicy } from "./pi-tools.policy-BC7YGcon.js";
98
- import { t as getChannelActivity } from "./channel-activity-BHb0aL0J.js";
99
- import "./tables-D6c57Lrs.js";
96
+ import "./send-BlhxqBI9.js";
97
+ import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, r as resolveEffectiveToolPolicy } from "./pi-tools.policy-DaB-Ff9f.js";
98
+ import { t as getChannelActivity } from "./channel-activity-w-iWKqZg.js";
99
+ import "./tables-B3d05drH.js";
100
100
  import "./proxy-CzncRRd4.js";
101
- 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-BgzZkiJz.js";
102
- import { t as listAgentWorkspaceDirs } from "./workspace-dirs-Ds-g-s99.js";
103
- import { f as isKnownSecretTargetId, n as GATEWAY_AUTH_SURFACE_PATHS, r as evaluateGatewayAuthSurfaceStates } from "./runtime-config-collectors-BEvlZaJw.js";
104
- import "./command-secret-targets-SH5qP5X_.js";
101
+ 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-De4NUpNz.js";
102
+ import { t as listAgentWorkspaceDirs } from "./workspace-dirs-0V-76Wmq.js";
103
+ import { f as isKnownSecretTargetId, n as GATEWAY_AUTH_SURFACE_PATHS, r as evaluateGatewayAuthSurfaceStates } from "./runtime-config-collectors-CXxR70dG.js";
104
+ import "./command-secret-targets-qpSAI_K2.js";
105
105
  import { c as hasNonzeroUsage, i as loadSessionUsageTimeSeries, n as loadCostUsageSummary, r as loadSessionCostSummary, s as deriveSessionTotalTokens, t as discoverAllSessions } from "./session-cost-usage-BY7a_j5T.js";
106
- import { C as normalizeControlUiBasePath, S as buildControlUiAvatarUrl, c as handleReset, w as resolveAssistantAvatarUrl, x as CONTROL_UI_AVATAR_PREFIX } from "./onboard-helpers-ByC3v1-U.js";
106
+ import { C as normalizeControlUiBasePath, S as buildControlUiAvatarUrl, c as handleReset, w as resolveAssistantAvatarUrl, x as CONTROL_UI_AVATAR_PREFIX } from "./onboard-helpers-C51uqagK.js";
107
107
  import "./prompt-style-C7TXsSbx.js";
108
- import "./pairing-labels-D9vsJ1yc.js";
108
+ import "./pairing-labels-OxEX3p5e.js";
109
109
  import { n as formatTokenCount, r as formatUsd } from "./usage-format-CpAFclrX.js";
110
- import { i as resolveMemoryBackendConfig, r as getMemorySearchManager } from "./memory-cli-CCMIlraX.js";
111
- import { r as resolveMemorySearchConfig } from "./manager-CSnZM2Iw.js";
112
- import "./query-expansion-DmxOigqX.js";
110
+ import { i as resolveMemoryBackendConfig, r as getMemorySearchManager } from "./memory-cli-CLBPPSow.js";
111
+ import { r as resolveMemorySearchConfig } from "./manager-Dbz9CyPw.js";
112
+ import "./query-expansion-bOaotSTR.js";
113
113
  import { t as formatDocsLink } from "./links-3lq_eIAs.js";
114
114
  import { n as runCommandWithRuntime } from "./cli-utils-Ca0KE-dW.js";
115
115
  import { t as formatHelpExamples } from "./help-format-BBTgeZ6Z.js";
116
116
  import { n as withProgress } from "./progress-DSt-glE7.js";
117
- import "./server-lifecycle-B2SzHMkK.js";
117
+ import "./server-lifecycle-BYHavdLd.js";
118
118
  import { i as parseAbsoluteTimeMs, n as resolveCronStaggerMs, r as resolveDefaultCronStaggerMs, t as normalizeCronStaggerMs } from "./stagger-DL-XRpny.js";
119
119
  import { i as onHeartbeatEvent, r as getLastHeartbeatEvent, t as resolveHeartbeatVisibility } from "./heartbeat-visibility-D3fxcg9H.js";
120
120
  import { t as ensureOpenClawCliOnPath } from "./path-env-AnA7c9fb.js";
121
121
  import "./runtime-guard-DW_QSy-l.js";
122
- import { n as waitForPortBindable, t as forceFreePortAndWait } from "./ports-BE9ZTYml.js";
123
- import { t as buildWorkspaceSkillStatus } from "./skills-status-BWqCvt0g.js";
122
+ import { n as waitForPortBindable, t as forceFreePortAndWait } from "./ports-DX1Cxj7W.js";
123
+ import { t as buildWorkspaceSkillStatus } from "./skills-status-BZptMdLx.js";
124
124
  import { n as DEFAULT_GATEWAY_HTTP_TOOL_DENY } from "./dangerous-tools-D0u9YNYf.js";
125
125
  import { n as inheritOptionFromParent } from "./command-options-D0bXi5Pl.js";
126
126
  import { t as WizardCancelledError } from "./prompts-knTF_LVq.js";
127
127
  import { t as resolveChannelDefaultAccountId } from "./helpers-CvsgDup6.js";
128
- import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-y8kHMoox.js";
129
- import { t as isWithinDir } from "./path-safety-BtMBl7vC.js";
130
- import "./install-safe-path-om__n8TQ.js";
131
- import "./skill-scanner-DcrwF2Fr.js";
132
- import { n as formatConfigIssueLines } from "./issue-format-G-7IkANX.js";
128
+ import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-Dh5Lcv4N.js";
129
+ import { t as isWithinDir } from "./path-safety-dy_YlK3a.js";
130
+ import "./install-safe-path-BNRYD-KJ.js";
131
+ import "./skill-scanner-BtrQE0gO.js";
132
+ import { n as formatConfigIssueLines } from "./issue-format-D_MHPECu.js";
133
133
  import { t as buildChannelAccountSnapshot } from "./status-D98glect.js";
134
- import "./channels-status-issues-Cva3QRlu.js";
135
- 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-C6NRnnHx.js";
136
- import "./daemon-install-helpers-Pex1FHrG.js";
137
- import "./systemd-V-rr1rHU.js";
138
- import "./service-DhcBUav5.js";
139
- import "./lifecycle-core-BcIuIPMF.js";
140
- import "./systemd-hints-BanLoKAv.js";
134
+ import "./channels-status-issues-Bi69DlUp.js";
135
+ 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-D6W9dz8Q.js";
136
+ import "./daemon-install-helpers-BYWgt_7u.js";
137
+ import "./systemd-DotMzkho.js";
138
+ import "./service-qQCNqvmY.js";
139
+ import "./lifecycle-core-C2u5W-Xd.js";
140
+ import "./systemd-hints-B1n_Cmj7.js";
141
141
  import { t as parsePort$1 } from "./parse-port-OBGBQwYB.js";
142
- import { n as addGatewayServiceCommands } from "./daemon-cli-Do_4dH0e.js";
143
- import "./diagnostics-CBcbp7BB.js";
142
+ import { n as addGatewayServiceCommands } from "./daemon-cli-Bb7Q2DPz.js";
143
+ import "./diagnostics-CwWdfrvB.js";
144
144
  import "./table-BxVlk3qy.js";
145
145
  import { n as resolveWideAreaDiscoveryDomain, r as writeWideAreaGatewayZone } from "./widearea-dns-DbTB0sCD.js";
146
- import { i as toOptionString, n as extractGatewayMiskeys, r as maybeExplainGatewayServiceStop, t as describeUnknownError } from "./shared-DOUEV_Eq.js";
147
- import { a as probeGateway, n as collectEnabledInsecureOrDangerousFlags } from "./audit-BBbzzHkv.js";
148
- import { t as discoverGatewayBeacons } from "./bonjour-discovery-BC_XEtg4.js";
149
- import { n as getStatusSummary, r as pickGatewaySelfPresence } from "./status-BiX1kbtY.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-B99KJscL.js";
151
- import { a as resolveControlUiRootSync, i as resolveControlUiRootOverrideSync, t as ensureControlUiAssetsBuilt } from "./control-ui-assets-D7bG2PFs.js";
152
- import { h as normalizeUpdateChannel, l as DEFAULT_PACKAGE_CHANNEL, n as checkUpdateStatus, o as resolveNpmChannelTag, r as compareSemverStrings } from "./channel-account-context-CJ_25Q5X.js";
153
- import { a as resolveCommandSecretsFromActiveRuntimeSnapshot, i as prepareSecretsRuntimeSnapshot, n as clearSecretsRuntimeSnapshot, r as getActiveSecretsRuntimeSnapshot, t as activateSecretsRuntimeSnapshot } from "./runtime-DTxtPm0I.js";
154
- import "./onboarding.secret-input-BJILGy22.js";
155
- import { t as runOnboardingWizard } from "./onboarding-Df6qbE08.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-COJt9ulg.js";
146
+ import { i as toOptionString, n as extractGatewayMiskeys, r as maybeExplainGatewayServiceStop, t as describeUnknownError } from "./shared-26KZSqMI.js";
147
+ import { a as probeGateway, n as collectEnabledInsecureOrDangerousFlags } from "./audit-BSvn3dTQ.js";
148
+ import { t as discoverGatewayBeacons } from "./bonjour-discovery-DvVDs7rm.js";
149
+ import { n as getStatusSummary, r as pickGatewaySelfPresence } from "./status-CaG5OT-N.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-yuGFUIWJ.js";
151
+ import { a as resolveControlUiRootSync, i as resolveControlUiRootOverrideSync, t as ensureControlUiAssetsBuilt } from "./control-ui-assets-DR9xNC3f.js";
152
+ import { h as normalizeUpdateChannel, l as DEFAULT_PACKAGE_CHANNEL, n as checkUpdateStatus, o as resolveNpmChannelTag, r as compareSemverStrings } from "./channel-account-context-BQD0zpuF.js";
153
+ import { a as resolveCommandSecretsFromActiveRuntimeSnapshot, i as prepareSecretsRuntimeSnapshot, n as clearSecretsRuntimeSnapshot, r as getActiveSecretsRuntimeSnapshot, t as activateSecretsRuntimeSnapshot } from "./runtime-BHbS8ZHw.js";
154
+ import "./onboarding.secret-input-Dz6lMbgK.js";
155
+ import { t as runOnboardingWizard } from "./onboarding-BQS8Nd_E.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-wRpQOiqI.js";
157
157
  import { T as resolveGmailHookRuntimeConfig, _ as buildGogWatchServeArgs, i as ensureTailscaleEndpoint, v as buildGogWatchStartArgs } from "./gmail-setup-utils-g3tzdtGh.js";
158
- import { n as isNodeCommandAllowed, r as resolveNodeCommandAllowlist } from "./node-command-policy-D-hu0n3w.js";
159
- import "./node-service--hFCI8Ok.js";
160
- import "./status.update-QMbtfb38.js";
161
- import { t as installSkill } from "./skills-install-DOKJADrz.js";
162
- import { t as runGatewayUpdate } from "./update-runner-gVTOOfSH.js";
163
- import { i as shouldIncludeHook, r as resolveHookConfig, t as loadWorkspaceHookEntries } from "./workspace-B7XBLNce.js";
158
+ import { n as isNodeCommandAllowed, r as resolveNodeCommandAllowlist } from "./node-command-policy-DfcI_g5B.js";
159
+ import "./node-service-CIXWfpdM.js";
160
+ import "./status.update-DR8lt70f.js";
161
+ import { t as installSkill } from "./skills-install-DksQkSIq.js";
162
+ import { t as runGatewayUpdate } from "./update-runner-B_J4-cY6.js";
163
+ import { i as shouldIncludeHook, r as resolveHookConfig, t as loadWorkspaceHookEntries } from "./workspace-B3uGN7Xe.js";
164
164
  import { fileURLToPath, pathToFileURL } from "node:url";
165
165
  import * as fsSync from "node:fs";
166
166
  import fs from "node:fs";
@@ -168,7 +168,7 @@ import os from "node:os";
168
168
  import path from "node:path";
169
169
  import chalk from "chalk";
170
170
  import { isDeepStrictEqual } from "node:util";
171
- import fs$1 from "node:fs/promises";
171
+ import fsPromises from "node:fs/promises";
172
172
  import { spawn, spawnSync } from "node:child_process";
173
173
  import crypto, { createHash, randomBytes, randomUUID } from "node:crypto";
174
174
  import { z } from "zod";
@@ -1239,7 +1239,7 @@ function resolveCheckIntervalMs(cfg) {
1239
1239
  }
1240
1240
  async function readState(statePath) {
1241
1241
  try {
1242
- const raw = await fs$1.readFile(statePath, "utf-8");
1242
+ const raw = await fsPromises.readFile(statePath, "utf-8");
1243
1243
  const parsed = JSON.parse(raw);
1244
1244
  return parsed && typeof parsed === "object" ? parsed : {};
1245
1245
  } catch {
@@ -1320,7 +1320,7 @@ async function runAutoUpdateCommand(params) {
1320
1320
  path.join(params.root, "dist", "index.mjs")
1321
1321
  ];
1322
1322
  for (const candidate of candidates) try {
1323
- await fs$1.access(candidate);
1323
+ await fsPromises.access(candidate);
1324
1324
  argv.push(execPath, candidate, ...baseArgs);
1325
1325
  break;
1326
1326
  } catch {}
@@ -4451,20 +4451,20 @@ async function drainPendingWrite(filePath) {
4451
4451
  if (pending) await pending.catch(() => void 0);
4452
4452
  }
4453
4453
  async function pruneIfNeeded(filePath, opts) {
4454
- const stat = await fs$1.stat(filePath).catch(() => null);
4454
+ const stat = await fsPromises.stat(filePath).catch(() => null);
4455
4455
  if (!stat || stat.size <= opts.maxBytes) return;
4456
- const lines = (await fs$1.readFile(filePath, "utf-8").catch(() => "")).split("\n").map((l) => l.trim()).filter(Boolean);
4456
+ const lines = (await fsPromises.readFile(filePath, "utf-8").catch(() => "")).split("\n").map((l) => l.trim()).filter(Boolean);
4457
4457
  const kept = lines.slice(Math.max(0, lines.length - opts.keepLines));
4458
4458
  const { randomBytes } = await import("node:crypto");
4459
4459
  const tmp = `${filePath}.${process.pid}.${randomBytes(8).toString("hex")}.tmp`;
4460
- await fs$1.writeFile(tmp, `${kept.join("\n")}\n`, "utf-8");
4461
- await fs$1.rename(tmp, filePath);
4460
+ await fsPromises.writeFile(tmp, `${kept.join("\n")}\n`, "utf-8");
4461
+ await fsPromises.rename(tmp, filePath);
4462
4462
  }
4463
4463
  async function appendCronRunLog(filePath, entry, opts) {
4464
4464
  const resolved = path.resolve(filePath);
4465
4465
  const next = (writesByPath.get(resolved) ?? Promise.resolve()).catch(() => void 0).then(async () => {
4466
- await fs$1.mkdir(path.dirname(resolved), { recursive: true });
4467
- await fs$1.appendFile(resolved, `${JSON.stringify(entry)}\n`, "utf-8");
4466
+ await fsPromises.mkdir(path.dirname(resolved), { recursive: true });
4467
+ await fsPromises.appendFile(resolved, `${JSON.stringify(entry)}\n`, "utf-8");
4468
4468
  await pruneIfNeeded(resolved, {
4469
4469
  maxBytes: opts?.maxBytes ?? DEFAULT_CRON_RUN_LOG_MAX_BYTES,
4470
4470
  keepLines: opts?.keepLines ?? DEFAULT_CRON_RUN_LOG_KEEP_LINES
@@ -4558,7 +4558,7 @@ function filterRunLogEntries(entries, opts) {
4558
4558
  async function readCronRunLogEntriesPage(filePath, opts) {
4559
4559
  await drainPendingWrite(filePath);
4560
4560
  const limit = Math.max(1, Math.min(200, Math.floor(opts?.limit ?? 50)));
4561
- const raw = await fs$1.readFile(path.resolve(filePath), "utf-8").catch(() => "");
4561
+ const raw = await fsPromises.readFile(path.resolve(filePath), "utf-8").catch(() => "");
4562
4562
  const statuses = normalizeRunStatuses(opts);
4563
4563
  const deliveryStatuses = normalizeDeliveryStatuses(opts);
4564
4564
  const query = opts?.query?.trim().toLowerCase() ?? "";
@@ -4594,7 +4594,7 @@ async function readCronRunLogEntriesPageAll(opts) {
4594
4594
  const query = opts.query?.trim().toLowerCase() ?? "";
4595
4595
  const sortDir = opts.sortDir === "asc" ? "asc" : "desc";
4596
4596
  const runsDir = path.resolve(path.dirname(path.resolve(opts.storePath)), "runs");
4597
- 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));
4597
+ const jsonlFiles = (await fsPromises.readdir(runsDir, { withFileTypes: true }).catch(() => [])).filter((entry) => entry.isFile() && entry.name.endsWith(".jsonl")).map((entry) => path.join(runsDir, entry.name));
4598
4598
  if (jsonlFiles.length === 0) return {
4599
4599
  entries: [],
4600
4600
  total: 0,
@@ -4605,7 +4605,7 @@ async function readCronRunLogEntriesPageAll(opts) {
4605
4605
  };
4606
4606
  await Promise.all(jsonlFiles.map((f) => drainPendingWrite(f)));
4607
4607
  const filtered = filterRunLogEntries((await Promise.all(jsonlFiles.map(async (filePath) => {
4608
- return parseAllRunLogEntries(await fs$1.readFile(filePath, "utf-8").catch(() => ""));
4608
+ return parseAllRunLogEntries(await fsPromises.readFile(filePath, "utf-8").catch(() => ""));
4609
4609
  }))).flat(), {
4610
4610
  statuses,
4611
4611
  deliveryStatuses,
@@ -9834,7 +9834,7 @@ function resolveWorkspaceFilePathResultOrThrow(params) {
9834
9834
  }
9835
9835
  async function resolveWorkspaceRealPath(workspaceDir) {
9836
9836
  try {
9837
- return await fs$1.realpath(workspaceDir);
9837
+ return await fsPromises.realpath(workspaceDir);
9838
9838
  } catch {
9839
9839
  return path.resolve(workspaceDir);
9840
9840
  }
@@ -9863,7 +9863,7 @@ async function resolveAgentWorkspaceFilePath(params) {
9863
9863
  };
9864
9864
  let candidateLstat;
9865
9865
  try {
9866
- candidateLstat = await fs$1.lstat(candidatePath);
9866
+ candidateLstat = await fsPromises.lstat(candidatePath);
9867
9867
  } catch (err) {
9868
9868
  return resolveWorkspaceFilePathResultOrThrow({
9869
9869
  error: err,
@@ -9874,7 +9874,7 @@ async function resolveAgentWorkspaceFilePath(params) {
9874
9874
  if (candidateLstat.isSymbolicLink()) {
9875
9875
  let targetReal;
9876
9876
  try {
9877
- targetReal = await fs$1.realpath(candidatePath);
9877
+ targetReal = await fsPromises.realpath(candidatePath);
9878
9878
  } catch (err) {
9879
9879
  return resolveWorkspaceFilePathResultOrThrow({
9880
9880
  error: err,
@@ -9884,7 +9884,7 @@ async function resolveAgentWorkspaceFilePath(params) {
9884
9884
  }
9885
9885
  let targetStat;
9886
9886
  try {
9887
- targetStat = await fs$1.stat(targetReal);
9887
+ targetStat = await fsPromises.stat(targetReal);
9888
9888
  } catch (err) {
9889
9889
  return resolveWorkspaceFilePathResultOrThrow({
9890
9890
  error: err,
@@ -9922,13 +9922,13 @@ async function resolveAgentWorkspaceFilePath(params) {
9922
9922
  return {
9923
9923
  kind: "ready",
9924
9924
  requestPath,
9925
- ioPath: await fs$1.realpath(candidatePath).catch(() => candidatePath),
9925
+ ioPath: await fsPromises.realpath(candidatePath).catch(() => candidatePath),
9926
9926
  workspaceReal
9927
9927
  };
9928
9928
  }
9929
9929
  async function statFileSafely(filePath) {
9930
9930
  try {
9931
- const [stat, lstat] = await Promise.all([fs$1.stat(filePath), fs$1.lstat(filePath)]);
9931
+ const [stat, lstat] = await Promise.all([fsPromises.stat(filePath), fsPromises.lstat(filePath)]);
9932
9932
  if (lstat.isSymbolicLink() || !stat.isFile()) return null;
9933
9933
  if (stat.nlink > 1) return null;
9934
9934
  if (!sameFileIdentity(stat, lstat)) return null;
@@ -10022,7 +10022,7 @@ function respondAgentNotFound(respond, agentId) {
10022
10022
  async function moveToTrashBestEffort(pathname) {
10023
10023
  if (!pathname) return;
10024
10024
  try {
10025
- await fs$1.access(pathname);
10025
+ await fsPromises.access(pathname);
10026
10026
  } catch {
10027
10027
  return;
10028
10028
  }
@@ -10098,7 +10098,7 @@ const agentsHandlers = {
10098
10098
  dir: workspaceDir,
10099
10099
  ensureBootstrapFiles: !Boolean(nextConfig.agents?.defaults?.skipBootstrap)
10100
10100
  });
10101
- await fs$1.mkdir(resolveSessionTranscriptsDirForAgent(agentId), { recursive: true });
10101
+ await fsPromises.mkdir(resolveSessionTranscriptsDirForAgent(agentId), { recursive: true });
10102
10102
  await writeConfigFile(nextConfig);
10103
10103
  const safeName = sanitizeIdentityLine(rawName);
10104
10104
  const emoji = resolveOptionalStringParam(params.emoji);
@@ -10111,7 +10111,7 @@ const agentsHandlers = {
10111
10111
  ...avatar ? [`- Avatar: ${sanitizeIdentityLine(avatar)}`] : [],
10112
10112
  ""
10113
10113
  ];
10114
- await fs$1.appendFile(identityPath, lines.join("\n"), "utf-8");
10114
+ await fsPromises.appendFile(identityPath, lines.join("\n"), "utf-8");
10115
10115
  respond(true, {
10116
10116
  ok: true,
10117
10117
  agentId,
@@ -10146,9 +10146,9 @@ const agentsHandlers = {
10146
10146
  });
10147
10147
  if (avatar) {
10148
10148
  const workspace = workspaceDir ?? resolveAgentWorkspaceDir(nextConfig, agentId);
10149
- await fs$1.mkdir(workspace, { recursive: true });
10149
+ await fsPromises.mkdir(workspace, { recursive: true });
10150
10150
  const identityPath = path.join(workspace, DEFAULT_IDENTITY_FILENAME);
10151
- await fs$1.appendFile(identityPath, `\n- Avatar: ${sanitizeIdentityLine(avatar)}\n`, "utf-8");
10151
+ await fsPromises.appendFile(identityPath, `\n- Avatar: ${sanitizeIdentityLine(avatar)}\n`, "utf-8");
10152
10152
  }
10153
10153
  respond(true, {
10154
10154
  ok: true,
@@ -10272,7 +10272,7 @@ const agentsHandlers = {
10272
10272
  const resolved = resolveAgentWorkspaceFileOrRespondError(params, respond);
10273
10273
  if (!resolved) return;
10274
10274
  const { agentId, workspaceDir, name } = resolved;
10275
- await fs$1.mkdir(workspaceDir, { recursive: true });
10275
+ await fsPromises.mkdir(workspaceDir, { recursive: true });
10276
10276
  const filePath = path.join(workspaceDir, name);
10277
10277
  const resolvedPath = await resolveWorkspaceFilePathOrRespond({
10278
10278
  respond,
@@ -12591,14 +12591,14 @@ function isRollingLogFile(file) {
12591
12591
  return ROLLING_LOG_RE.test(path.basename(file));
12592
12592
  }
12593
12593
  async function resolveLogFile(file) {
12594
- if (await fs$1.stat(file).catch(() => null)) return file;
12594
+ if (await fsPromises.stat(file).catch(() => null)) return file;
12595
12595
  if (!isRollingLogFile(file)) return file;
12596
12596
  const dir = path.dirname(file);
12597
- const entries = await fs$1.readdir(dir, { withFileTypes: true }).catch(() => null);
12597
+ const entries = await fsPromises.readdir(dir, { withFileTypes: true }).catch(() => null);
12598
12598
  if (!entries) return file;
12599
12599
  return (await Promise.all(entries.filter((entry) => entry.isFile() && ROLLING_LOG_RE.test(entry.name)).map(async (entry) => {
12600
12600
  const fullPath = path.join(dir, entry.name);
12601
- const fileStat = await fs$1.stat(fullPath).catch(() => null);
12601
+ const fileStat = await fsPromises.stat(fullPath).catch(() => null);
12602
12602
  return fileStat ? {
12603
12603
  path: fullPath,
12604
12604
  mtimeMs: fileStat.mtimeMs
@@ -12606,7 +12606,7 @@ async function resolveLogFile(file) {
12606
12606
  }))).filter((entry) => Boolean(entry)).toSorted((a, b) => b.mtimeMs - a.mtimeMs)[0]?.path ?? file;
12607
12607
  }
12608
12608
  async function readLogSlice(params) {
12609
- const stat = await fs$1.stat(params.file).catch(() => null);
12609
+ const stat = await fsPromises.stat(params.file).catch(() => null);
12610
12610
  if (!stat) return {
12611
12611
  cursor: 0,
12612
12612
  size: 0,
@@ -12644,7 +12644,7 @@ async function readLogSlice(params) {
12644
12644
  truncated,
12645
12645
  reset
12646
12646
  };
12647
- const handle = await fs$1.open(params.file, "r");
12647
+ const handle = await fsPromises.open(params.file, "r");
12648
12648
  try {
12649
12649
  let prefix = "";
12650
12650
  if (start > 0) {
@@ -13626,7 +13626,7 @@ const nodeHandlers = {
13626
13626
  const p = params;
13627
13627
  const payloadJSON = typeof p.payloadJSON === "string" ? p.payloadJSON : p.payload !== void 0 ? JSON.stringify(p.payload) : null;
13628
13628
  await respondUnavailableOnThrow(respond, async () => {
13629
- const { handleNodeEvent } = await import("./server-node-events-BS0Yy6SL.js");
13629
+ const { handleNodeEvent } = await import("./server-node-events-CN7o3YoN.js");
13630
13630
  const nodeId = client?.connect?.device?.id ?? client?.connect?.client?.id ?? "node";
13631
13631
  await handleNodeEvent({
13632
13632
  deps: context.deps,
@@ -16657,7 +16657,7 @@ function normalizeAgentPayload(payload) {
16657
16657
  async function startBrowserControlServerIfEnabled() {
16658
16658
  if (isTruthyEnvValue(process.env.OPENCLAW_SKIP_BROWSER_CONTROL_SERVER)) return null;
16659
16659
  const override = process.env.OPENCLAW_BROWSER_CONTROL_MODULE?.trim();
16660
- const mod = override ? await import(override) : await import("./server-Bzgq55gk.js");
16660
+ const mod = override ? await import(override) : await import("./server-ChrqZt3H.js");
16661
16661
  const start = typeof mod.startBrowserControlServiceFromConfig === "function" ? mod.startBrowserControlServiceFromConfig : mod.startBrowserControlServerFromConfig;
16662
16662
  const stop = typeof mod.stopBrowserControlService === "function" ? mod.stopBrowserControlService : mod.stopBrowserControlServer;
16663
16663
  if (!start) return null;
@@ -16885,7 +16885,7 @@ async function resolveFileWithinRoot(rootReal, urlPath) {
16885
16885
  if (normalized.endsWith("/")) return await tryOpen(path.posix.join(rel, "index.html"));
16886
16886
  const candidate = path.join(rootReal, rel);
16887
16887
  try {
16888
- const st = await fs$1.lstat(candidate);
16888
+ const st = await fsPromises.lstat(candidate);
16889
16889
  if (st.isSymbolicLink()) return null;
16890
16890
  if (st.isDirectory()) return await tryOpen(path.posix.join(rel, "index.html"));
16891
16891
  } catch {}
@@ -16922,8 +16922,8 @@ async function resolveA2uiRoot() {
16922
16922
  for (const dir of candidates) try {
16923
16923
  const indexPath = path.join(dir, "index.html");
16924
16924
  const bundlePath = path.join(dir, "a2ui.bundle.js");
16925
- await fs$1.stat(indexPath);
16926
- await fs$1.stat(bundlePath);
16925
+ await fsPromises.stat(indexPath);
16926
+ await fsPromises.stat(bundlePath);
16927
16927
  return dir;
16928
16928
  } catch {}
16929
16929
  return null;
@@ -16932,7 +16932,7 @@ async function resolveA2uiRootReal() {
16932
16932
  if (cachedA2uiRootReal !== void 0 && (cachedA2uiRootReal !== null || Date.now() - cachedA2uiResolvedAtMs < A2UI_ROOT_RETRY_NULL_AFTER_MS)) return cachedA2uiRootReal;
16933
16933
  if (!resolvingA2uiRoot) resolvingA2uiRoot = (async () => {
16934
16934
  const root = await resolveA2uiRoot();
16935
- cachedA2uiRootReal = root ? await fs$1.realpath(root) : null;
16935
+ cachedA2uiRootReal = root ? await fsPromises.realpath(root) : null;
16936
16936
  cachedA2uiResolvedAtMs = Date.now();
16937
16937
  resolvingA2uiRoot = null;
16938
16938
  return cachedA2uiRootReal;
@@ -17153,13 +17153,13 @@ function normalizeBasePath(rawPath) {
17153
17153
  }
17154
17154
  async function prepareCanvasRoot(rootDir) {
17155
17155
  await ensureDir(rootDir);
17156
- const rootReal = await fs$1.realpath(rootDir);
17156
+ const rootReal = await fsPromises.realpath(rootDir);
17157
17157
  try {
17158
17158
  const indexPath = path.join(rootReal, "index.html");
17159
- await fs$1.stat(indexPath);
17159
+ await fsPromises.stat(indexPath);
17160
17160
  } catch {
17161
17161
  try {
17162
- await fs$1.writeFile(path.join(rootReal, "index.html"), defaultIndexHTML(), "utf8");
17162
+ await fsPromises.writeFile(path.join(rootReal, "index.html"), defaultIndexHTML(), "utf8");
17163
17163
  } catch {}
17164
17164
  }
17165
17165
  return rootReal;
@@ -20204,7 +20204,7 @@ async function resolveGatewayOwnerStatus(pid, payload, platform, port) {
20204
20204
  }
20205
20205
  async function readLockPayload(lockPath) {
20206
20206
  try {
20207
- const raw = await fs$1.readFile(lockPath, "utf8");
20207
+ const raw = await fsPromises.readFile(lockPath, "utf8");
20208
20208
  const parsed = JSON.parse(raw);
20209
20209
  if (typeof parsed.pid !== "number") return null;
20210
20210
  if (typeof parsed.createdAt !== "string") return null;
@@ -20239,11 +20239,11 @@ async function acquireGatewayLock(opts = {}) {
20239
20239
  const platform = opts.platform ?? process.platform;
20240
20240
  const port = opts.port;
20241
20241
  const { lockPath, configPath } = resolveGatewayLockPath(env);
20242
- await fs$1.mkdir(path.dirname(lockPath), { recursive: true });
20242
+ await fsPromises.mkdir(path.dirname(lockPath), { recursive: true });
20243
20243
  const startedAt = Date.now();
20244
20244
  let lastPayload = null;
20245
20245
  while (Date.now() - startedAt < timeoutMs) try {
20246
- const handle = await fs$1.open(lockPath, "wx");
20246
+ const handle = await fsPromises.open(lockPath, "wx");
20247
20247
  const startTime = platform === "linux" ? readLinuxStartTime(process.pid) : null;
20248
20248
  const payload = {
20249
20249
  pid: process.pid,
@@ -20257,7 +20257,7 @@ async function acquireGatewayLock(opts = {}) {
20257
20257
  configPath,
20258
20258
  release: async () => {
20259
20259
  await handle.close().catch(() => void 0);
20260
- await fs$1.rm(lockPath, { force: true });
20260
+ await fsPromises.rm(lockPath, { force: true });
20261
20261
  }
20262
20262
  };
20263
20263
  } catch (err) {
@@ -20266,7 +20266,7 @@ async function acquireGatewayLock(opts = {}) {
20266
20266
  const ownerPid = lastPayload?.pid;
20267
20267
  const ownerStatus = ownerPid ? await resolveGatewayOwnerStatus(ownerPid, lastPayload, platform, port) : "unknown";
20268
20268
  if (ownerStatus === "dead" && ownerPid) {
20269
- await fs$1.rm(lockPath, { force: true });
20269
+ await fsPromises.rm(lockPath, { force: true });
20270
20270
  continue;
20271
20271
  }
20272
20272
  if (ownerStatus !== "alive") {
@@ -20276,13 +20276,13 @@ async function acquireGatewayLock(opts = {}) {
20276
20276
  stale = Number.isFinite(createdAt) ? Date.now() - createdAt > staleMs : false;
20277
20277
  }
20278
20278
  if (!stale) try {
20279
- const st = await fs$1.stat(lockPath);
20279
+ const st = await fsPromises.stat(lockPath);
20280
20280
  stale = Date.now() - st.mtimeMs > staleMs;
20281
20281
  } catch {
20282
20282
  stale = false;
20283
20283
  }
20284
20284
  if (stale) {
20285
- await fs$1.rm(lockPath, { force: true });
20285
+ await fsPromises.rm(lockPath, { force: true });
20286
20286
  continue;
20287
20287
  }
20288
20288
  }
@@ -22634,7 +22634,7 @@ async function startGatewayServer(port = 18789, opts = {}) {
22634
22634
  if (!minimalTestGateway) cron.start().catch((err) => logCron.error(`failed to start: ${String(err)}`));
22635
22635
  if (!minimalTestGateway) (async () => {
22636
22636
  const { recoverPendingDeliveries } = await import("./delivery-queue-5cgQEnOW.js").then((n) => n.n);
22637
- const { deliverOutboundPayloads } = await import("./deliver-B05oD9oA.js").then((n) => n.n);
22637
+ const { deliverOutboundPayloads } = await import("./deliver-DuqANTNs.js").then((n) => n.n);
22638
22638
  await recoverPendingDeliveries({
22639
22639
  deliver: deliverOutboundPayloads,
22640
22640
  log: log.child("delivery-recovery"),