wednesdayai 0.4.12-dev.711 → 0.4.12-dev.715

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 (425) hide show
  1. package/dist/{acp-cli-DrXF9X9v.js → acp-cli-BYoOiK6T.js} +13 -13
  2. package/dist/{agent-scope-BAXIXdUR.js → agent-scope-CWTkr4pS.js} +20 -20
  3. package/dist/{agent-turn-enqueue-BQ4JOmUN.js → agent-turn-enqueue-Dwz_R_DW.js} +5 -5
  4. package/dist/{agent-turn-recovery-adapter-BRVxIXJY.js → agent-turn-recovery-adapter-DF3vdyE5.js} +3 -3
  5. package/dist/{agent-turn-runner-BGmkN_A8.js → agent-turn-runner-DFZxbjaC.js} +4 -4
  6. package/dist/{agents.config-BnEJCj-p.js → agents.config-C-pTu-0T.js} +2 -2
  7. package/dist/{api-key-rotation-BEJklVjh.js → api-key-rotation-BEt1ZchD.js} +1 -1
  8. package/dist/{audio-preflight-C3XXSW_q.js → audio-preflight-nrbQcAOS.js} +36 -36
  9. package/dist/{audio-transcription-runner-DbLu4y_x.js → audio-transcription-runner-D-d42kdt.js} +26 -26
  10. package/dist/{audit-DIH0DO00.js → audit-C_g-UVNn.js} +29 -29
  11. package/dist/{auth-CO4L12L5.js → auth-DeLQvx-N.js} +4 -4
  12. package/dist/{auth-choice-DvG3v5sy.js → auth-choice-Be8iuCdY.js} +16 -16
  13. package/dist/{auth-choice-pem6VE1T.js → auth-choice-ZsDU-57A.js} +13 -13
  14. package/dist/{auth-choice.apply-helpers-CLYswf6f.js → auth-choice.apply-helpers-CMHfbKNY.js} +1 -1
  15. package/dist/{auth-token-C4PqndxM.js → auth-token-DK8X73K5.js} +2 -2
  16. package/dist/{bonjour-discovery-BBOJN88F.js → bonjour-discovery-C517Q6gA.js} +3 -3
  17. package/dist/{browser-cli-BI1mfCKP.js → browser-cli-DvjIut0z.js} +20 -20
  18. package/dist/build-info.json +3 -3
  19. package/dist/{call-CMjUSitZ.js → call-Cl6Q0T5z.js} +12 -12
  20. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  21. package/dist/{channel-account-context-Dc7AMtZ7.js → channel-account-context-C9otZxLF.js} +6 -6
  22. package/dist/{channel-activity-etjAZzDh.js → channel-activity-CE3dhlxR.js} +2 -2
  23. package/dist/{channel-options-BrBZqoUe.js → channel-options-CdXOmeJN.js} +4 -4
  24. package/dist/{channel-selection-WlHA0Mjg.js → channel-selection-zg0Iqza4.js} +1 -1
  25. package/dist/{channels-cli-DldYF6sZ.js → channels-cli-CBBGSlVe.js} +114 -114
  26. package/dist/{channels-status-issues-CyJj51t4.js → channels-status-issues-C6LrjLpF.js} +1 -1
  27. package/dist/{chrome-CBrgxie9.js → chrome-DXHMnxHS.js} +6 -6
  28. package/dist/{chunk-BTTi6And.js → chunk-BDQQgsxn.js} +2 -2
  29. package/dist/{clack-prompter-CbMy5Zvz.js → clack-prompter-CcVX4jId.js} +5 -5
  30. package/dist/{clawbot-cli-B-d0ta-h.js → clawbot-cli-C-wEI2Wc.js} +16 -16
  31. package/dist/cli-BtY_juql.js +164 -0
  32. package/dist/{client-MNVuOIDb.js → client-BbpMX08n.js} +3 -3
  33. package/dist/{client-profiles-BAQWDfq6.js → client-profiles-BNQu4_Z_.js} +2 -2
  34. package/dist/{clipboard-q7q26OPS.js → clipboard-DcxpnFIc.js} +1 -1
  35. package/dist/{command-queue-Banup9vQ.js → command-queue-B1RxJ6bM.js} +1 -1
  36. package/dist/{command-secret-targets-84-Vq1Kn.js → command-secret-targets-DtDJB3vv.js} +4 -4
  37. package/dist/{commands-registry-DY2vMgw6.js → commands-registry-BMswme6t.js} +3 -3
  38. package/dist/{commands-CpMRpWle.js → commands-tFdLuF5k.js} +1 -1
  39. package/dist/{completion-cli-C0m7BZi2.js → completion-cli-Dbszfn8D.js} +15 -15
  40. package/dist/{config-cli-CLZB8EiO.js → config-cli-3a-9iNyI.js} +11 -11
  41. package/dist/{config-guard-a0CqCfhq.js → config-guard-BwLGp24P.js} +15 -15
  42. package/dist/{config-validation-D1W4dKAT.js → config-validation-DDtU1EJP.js} +2 -2
  43. package/dist/{configure-BoJEz3Lg.js → configure-Dld8IaT8.js} +25 -25
  44. package/dist/{control-ui-assets-D-_OfiOV.js → control-ui-assets-DonecnKL.js} +3 -3
  45. package/dist/{controller-Z7o2nxni.js → controller-0fS4uYcF.js} +1 -1
  46. package/dist/{credentials-DgZP7kxk.js → credentials-Hn2dA0oB.js} +1 -1
  47. package/dist/{cron-cli-BA4vsm3K.js → cron-cli-BuO3qskK.js} +14 -14
  48. package/dist/{daemon-cli-UPL01HBu.js → daemon-cli-C5cAb15Z.js} +19 -19
  49. package/dist/{daemon-install-btuIR9OH.js → daemon-install-CBIxgo4p.js} +11 -11
  50. package/dist/{daemon-install-helpers-CG4IZ_7L.js → daemon-install-helpers-C8mJ0UpL.js} +13 -13
  51. package/dist/{deliver-BpzzrBKl.js → deliver-Bhlx9VG9.js} +9 -9
  52. package/dist/{devices-cli-gtCGUgQz.js → devices-cli-HXNfviPB.js} +13 -13
  53. package/dist/{diagnostic-BRYj59Hw.js → diagnostic-BTSirPP0.js} +3 -3
  54. package/dist/{diagnostics-BTeays6z.js → diagnostics-FIcvxigK.js} +5 -5
  55. package/dist/{directory-cli-DtgQeMLi.js → directory-cli-A6e49xZw.js} +11 -11
  56. package/dist/{dns-cli-QXa894v2.js → dns-cli-BZvwwprO.js} +11 -11
  57. package/dist/{docs-cli-C5Q8gAsv.js → docs-cli-BQ8oTRz4.js} +10 -10
  58. package/dist/{doctor-completion-B19G-I8Y.js → doctor-completion-Ca_SREXp.js} +3 -3
  59. package/dist/{doctor-config-flow-BTbRx17L.js → doctor-config-flow-BSKd49U6.js} +14 -14
  60. package/dist/{enable-BF67ibhx.js → enable-BIAeEt0I.js} +2 -2
  61. package/dist/{env-DtoMyFfk.js → env-ESh4ZX9l.js} +1 -1
  62. package/dist/{exec-Cg_eKCg0.js → exec-CHq-p5L0.js} +2 -2
  63. package/dist/{exec-approvals-C-_jrhwb.js → exec-approvals-D8Tqfo34.js} +1 -1
  64. package/dist/{exec-approvals-allowlist-B2foVOBU.js → exec-approvals-allowlist-0xON2SZW.js} +1 -1
  65. package/dist/{exec-approvals-cli-CwwxNa7v.js → exec-approvals-cli-DsXabPF_.js} +23 -23
  66. package/dist/{exec-safe-bin-runtime-policy-CfsF46fx.js → exec-safe-bin-runtime-policy-KSPaR73B.js} +2 -2
  67. package/dist/{extension-relay-auth-IPIDjhZx.js → extension-relay-auth-C-1c9CZk.js} +10 -10
  68. package/dist/{fetch-guard-BCFGxdCb.js → fetch-guard-CjyGDRXN.js} +3 -3
  69. package/dist/{fs-safe-D3vN4fQ5.js → fs-safe-DD7KXuvI.js} +25 -25
  70. package/dist/{gateway-cli-BtV-wVjj.js → gateway-cli-BTuK5wC4.js} +210 -210
  71. package/dist/{gateway-rpc-CgAHXoCu.js → gateway-rpc-DNsG0xAN.js} +3 -3
  72. package/dist/{gmail-setup-utils-DWxTEPL5.js → gmail-setup-utils-CRvbl5q3.js} +2 -2
  73. package/dist/{health-CDGk5xDG.js → health-DFWpyp9O.js} +9 -9
  74. package/dist/{health-format-B9nTs2HW.js → health-format-_VGfj3fm.js} +1 -1
  75. package/dist/{heartbeat-tick-RHab8Aje.js → heartbeat-tick-CsyeD75h.js} +1 -1
  76. package/dist/{help-format-BC4GRIFN.js → help-format-DqpZruAs.js} +1 -1
  77. package/dist/{hooks-cli-BT0kyUWU.js → hooks-cli-DKZeKlmX.js} +105 -105
  78. package/dist/{hooks-status-Dv9XGWQ9.js → hooks-status-D20U_9R-.js} +2 -2
  79. package/dist/{plugin-sdk/image-ops-DY_SZfXk.js → image-ops-DcqCZEUY.js} +2 -2
  80. package/dist/{incident-install-BdXMiCuu.js → incident-install-cGBLZhud.js} +12 -12
  81. package/dist/index.js +104 -104
  82. package/dist/{inspect-CdQNUkBH.js → inspect-DVHAPbcZ.js} +4 -4
  83. package/dist/{install-safe-path-67wN9WdC.js → install-safe-path-DjFYmzeb.js} +25 -25
  84. package/dist/{installs-BlKgbSFc.js → installs-CnAcm0ba.js} +10 -10
  85. package/dist/{ipv4-m0FxF_em.js → ipv4-PE-rqUZG.js} +2 -2
  86. package/dist/{ir-D--2OWCl.js → ir-DDAVSgbQ.js} +8 -8
  87. package/dist/{issue-format-B1dmuNNd.js → issue-format-D0G927lb.js} +1 -1
  88. package/dist/{lifecycle-core-DfYD23X_.js → lifecycle-core-B3-ezmTx.js} +9 -9
  89. package/dist/{links-DZMDihQ-.js → links-BhLGjTwm.js} +1 -1
  90. package/dist/{live-repair-BGbr6jGR.js → live-repair-RXzcIxWc.js} +11 -11
  91. package/dist/{local-roots-DrpBY-AE.js → local-roots-_qt4-Ma5.js} +5 -5
  92. package/dist/{log-tail-COb9xmHL.js → log-tail-BAg8b5Wq.js} +7 -7
  93. package/dist/{logger-BCqJpXqF.js → logger-0VqfDbvM.js} +2 -2
  94. package/dist/{logging-CuKoRd0b.js → logging-DcZLtf7P.js} +1 -1
  95. package/dist/{logs-cli-BTCW2CK0.js → logs-cli-BdR6-Q3U.js} +19 -19
  96. package/dist/{manager-LX1QQ8aK.js → manager-DehDxi2A.js} +17 -17
  97. package/dist/{markdown-tables-pIjKFnaZ.js → markdown-tables-BEZ0s08w.js} +1 -1
  98. package/dist/{memory-cli-CFyBR_Pp.js → memory-cli-DZyEfnsr.js} +18 -18
  99. package/dist/{model-CR-oCFb_.js → model-BI6n6kVo.js} +2 -2
  100. package/dist/{model-catalog-C300CH2M.js → model-catalog-C7itJJDM.js} +4 -4
  101. package/dist/{model-picker-CFbPs-vi.js → model-picker-Bt7fcUKH.js} +4 -4
  102. package/dist/{model-selection-C8GCtGby.js → model-selection-k68XU4oS.js} +52 -52
  103. package/dist/{models-cli-D0T4sJZO.js → models-cli-C7bSvLGL.js} +109 -109
  104. package/dist/{models-config-CcPjsQTv.js → models-config-Burwt3mB.js} +7 -7
  105. package/dist/{node-cli-BAmgr8kO.js → node-cli-CPo0jR3t.js} +43 -43
  106. package/dist/{node-command-policy-CggBPF1a.js → node-command-policy-B9A0wAU6.js} +1 -1
  107. package/dist/{node-service-yxlqFzdT.js → node-service-BnwLXY5x.js} +1 -1
  108. package/dist/{nodes-cli-Tth7cV2w.js → nodes-cli-D9vz6Yaa.js} +25 -25
  109. package/dist/{nodes-screen-Bu5K5Iky.js → nodes-screen-BRZLdw3g.js} +8 -8
  110. package/dist/{note-xK3tzN__.js → note-DCbCarQS.js} +2 -2
  111. package/dist/{npm-pack-install-Cbcm8AtO.js → npm-pack-install-CFiN84Qw.js} +24 -24
  112. package/dist/{npm-resolution-CD79ResX.js → npm-resolution-B7regLLc.js} +5 -5
  113. package/dist/{oauth-tls-preflight-Ow3-5CVf.js → oauth-tls-preflight-B5akdNNh.js} +1 -1
  114. package/dist/{onboard-DUd7yo33.js → onboard-B_6H9HpS.js} +11 -11
  115. package/dist/{onboard-channels-CEercm9o.js → onboard-channels-CxiuviBR.js} +21 -21
  116. package/dist/{onboard-custom-Cu_HKMT1.js → onboard-custom-x_zbf7qu.js} +4 -4
  117. package/dist/{onboard-helpers-Dxgs6IKs.js → onboard-helpers-ziqfw3UR.js} +13 -13
  118. package/dist/{onboard-hooks-iOe4YWKj.js → onboard-hooks-BaZe-xl6.js} +7 -7
  119. package/dist/{onboard-remote-DEBKk92p.js → onboard-remote-BsnRgDQj.js} +5 -5
  120. package/dist/{onboard-skills-rEFqAB8T.js → onboard-skills-DwbAJ4nt.js} +4 -4
  121. package/dist/{onboarding-Bd05RKZ7.js → onboarding-D9VO9_5U.js} +18 -18
  122. package/dist/{onboarding.finalize-DPQPP-Aj.js → onboarding.finalize-DeJ35Prz.js} +112 -112
  123. package/dist/{onboarding.gateway-config-CgdJWu5V.js → onboarding.gateway-config-DOvEzkIo.js} +17 -17
  124. package/dist/{onboarding.secret-input-BOKPA83p.js → onboarding.secret-input-BCxy1JxD.js} +1 -1
  125. package/dist/{openai-model-default-C4QfTJob.js → openai-model-default-CpqJmHpI.js} +2 -2
  126. package/dist/{openclaw-root-B2l0kAM1.js → openclaw-root-BGUYWYDG.js} +2 -2
  127. package/dist/{operator-commands-B0t7kxcZ.js → operator-commands-BRKxpjt9.js} +5 -5
  128. package/dist/{outbound-attachment-BqIKnptw.js → outbound-attachment-Bg7WvYcG.js} +2 -2
  129. package/dist/{outbound-message-hooks-DOSD8zCU.js → outbound-message-hooks-t1DDjQX_.js} +4 -4
  130. package/dist/{pairing-cli-D9NWToyR.js → pairing-cli-Cmlyczsc.js} +11 -11
  131. package/dist/{pairing-labels-BCnxr7Pt.js → pairing-labels-CGUWaZ3f.js} +1 -1
  132. package/dist/{pairing-store-CL-UFd1J.js → pairing-store-CQ7fjFFo.js} +2 -2
  133. package/dist/{path-alias-guards-DaLVcmyn.js → path-alias-guards-BSmwo1rT.js} +3 -3
  134. package/dist/{path-env-CQ3HfD18.js → path-env-IcDKkMPr.js} +1 -1
  135. package/dist/{path-safety-DSl6BwW9.js → path-safety-DAKUyD-v.js} +1 -1
  136. package/dist/{pi-embedded-helpers-DxQslB8x.js → pi-embedded-helpers-DEHXX7Dr.js} +8 -8
  137. package/dist/{pi-embedded-recovery-adapter-DRzWCwVb.js → pi-embedded-recovery-adapter-MaU4SQ3X.js} +3 -3
  138. package/dist/pi-embedded-recovery-adapter-ZV9u5snz.js +61 -0
  139. package/dist/{pi-embedded-utils-39kuXd-l.js → pi-embedded-utils-BhOMYPQU.js} +2 -2
  140. package/dist/{pi-model-discovery-B9wn9y4o.js → pi-model-discovery-CfUi22Es.js} +1 -1
  141. package/dist/{pi-tools.policy-BViSZbge.js → pi-tools.policy-4GqIom7_.js} +4 -4
  142. package/dist/{plugin-owned-work-recovery-adapter-CnQZf19o.js → plugin-owned-work-recovery-adapter-DHYQi-Bq.js} +8 -8
  143. package/dist/{plugin-registry-DBsuekLm.js → plugin-registry-alYBvHFE.js} +4 -4
  144. package/dist/plugin-sdk/{agent-scope-BYp_CjdU.js → agent-scope-BLF4nZUv.js} +2 -2
  145. package/dist/plugin-sdk/agent-turn-execute-C4MQxaT2.js +61 -0
  146. package/dist/plugin-sdk/{agent-turn-runner-CeC9JbVM.js → agent-turn-runner-YBWX_qXk.js} +6 -6
  147. package/dist/plugin-sdk/agent-turn-runner-e_lJzDgA.js +11 -0
  148. package/dist/plugin-sdk/{api-key-rotation-CDNf_4cI.js → api-key-rotation-XDUKz2gd.js} +2 -2
  149. package/dist/plugin-sdk/{artifacts-BMLMg3MG.js → artifacts-HAYpGlG1.js} +1 -1
  150. package/dist/plugin-sdk/{audio-preflight-BmKL6FNP.js → audio-preflight-BS29OWk3.js} +2 -2
  151. package/dist/plugin-sdk/audio-preflight-DE04bi4M.js +28 -0
  152. package/dist/plugin-sdk/{audio-transcription-runner-TBjJv_mZ.js → audio-transcription-runner-BNafitZj.js} +10 -10
  153. package/dist/plugin-sdk/{auth-profiles-DHZjW8Vk.js → auth-profiles-CCJQoedi.js} +5 -5
  154. package/dist/plugin-sdk/{channel-activity-Dr4PYej7.js → channel-activity-BKwRzYJb.js} +3 -3
  155. package/dist/plugin-sdk/{chrome-BDy1zYAr.js → chrome-D0eLSqkP.js} +4 -4
  156. package/dist/plugin-sdk/{chunk-DGQdf0JN.js → chunk-CDvvv9SU.js} +3 -3
  157. package/dist/plugin-sdk/{chunk-BTSnO1wn.js → chunk-DI-5pBck.js} +6 -6
  158. package/dist/plugin-sdk/{command-detection-w_6bwXGh.js → command-detection-B3xgM_Na.js} +85 -85
  159. package/dist/plugin-sdk/{command-queue-CeaLVs8O.js → command-queue-BnJsJc_w.js} +8 -8
  160. package/dist/plugin-sdk/{command-queue-DFSOdqCK.js → command-queue-CHiQj9Ji.js} +1 -1
  161. package/dist/plugin-sdk/{commands-registry-8sy0wsK_.js → commands-registry-Do_g2It_.js} +6 -6
  162. package/dist/plugin-sdk/{commands-registry-N6f_lsxF.js → commands-registry-DpLk11E7.js} +2 -2
  163. package/dist/plugin-sdk/{config-Biusjzx-.js → config-CQNfmIC8.js} +7 -7
  164. package/dist/plugin-sdk/deliver-D4fWK65M.js +32 -0
  165. package/dist/plugin-sdk/{deliver-BgHA8c9F.js → deliver-L6eu6zyG.js} +11 -11
  166. package/dist/plugin-sdk/{diagnostic-D6hSjxiv.js → diagnostic-C7lPoqyv.js} +5 -5
  167. package/dist/plugin-sdk/{diagnostic-Bni_8VyY.js → diagnostic-DfxuMWHd.js} +7 -7
  168. package/dist/plugin-sdk/{fetch-guard-C1a1KfEb.js → fetch-guard-CZT8FU1i.js} +3 -3
  169. package/dist/plugin-sdk/{fs-safe-CbZ6uRVv.js → fs-safe-B0JgGdXa.js} +3 -3
  170. package/dist/plugin-sdk/{hook-runner-global-BvxlnAyu.js → hook-runner-global-WRI53ibi.js} +3 -3
  171. package/dist/{image-ops-D-__yDh-.js → plugin-sdk/image-ops-kuILYHZv.js} +12 -12
  172. package/dist/plugin-sdk/index.js +54 -54
  173. package/dist/plugin-sdk/{ir-BNohi6ZW.js → ir-Bm7oqkwT.js} +5 -5
  174. package/dist/plugin-sdk/{local-roots-Bm7nDW20.js → local-roots-D-CHzVr1.js} +7 -7
  175. package/dist/plugin-sdk/{logger-D6KsqbNW.js → logger-BSK-0Yjx.js} +1 -1
  176. package/dist/plugin-sdk/manager-BlYRVNJI.js +16 -0
  177. package/dist/plugin-sdk/{manager-B_vK9MbM.js → manager-D2jffdjH.js} +8 -8
  178. package/dist/plugin-sdk/{markdown-tables-G4vK24xc.js → markdown-tables-DIWQQ2W1.js} +2 -2
  179. package/dist/plugin-sdk/markdown-tables-cZSKCBuW.js +10 -0
  180. package/dist/plugin-sdk/{outbound-attachment-Cw7T2Mrt.js → outbound-attachment-CtKKNyms.js} +2 -2
  181. package/dist/plugin-sdk/{path-alias-guards-CVybi_GQ.js → path-alias-guards-CHfCMaeX.js} +1 -1
  182. package/dist/plugin-sdk/{pi-embedded-helpers-B_jgacW8.js → pi-embedded-helpers-BRymkO_1.js} +11 -11
  183. package/dist/plugin-sdk/{pi-embedded-utils-DOXEm_H8.js → pi-embedded-utils-BHmc3RVS.js} +3 -3
  184. package/dist/plugin-sdk/{pi-model-discovery-DWw1ReX-.js → pi-model-discovery-4X7_2_nP.js} +6 -6
  185. package/dist/plugin-sdk/{pi-model-discovery-DWUrLRLg.js → pi-model-discovery-6BBajZds.js} +1 -1
  186. package/dist/plugin-sdk/provider-dispatcher-D7bchiJq.js +61 -0
  187. package/dist/plugin-sdk/provider-image-CNlYbRab.js +22 -0
  188. package/dist/plugin-sdk/{provider-image-CEQrHWYz.js → provider-image-DBye3Ln5.js} +5 -5
  189. package/dist/plugin-sdk/proxy-D2uiu68M.js +7 -0
  190. package/dist/plugin-sdk/{proxy-BWc9guJs.js → proxy-DJ2nskkh.js} +1 -1
  191. package/dist/{proxy-fetch-k-wYHddO.js → plugin-sdk/proxy-fetch-CuQpjpkI.js} +1 -1
  192. package/dist/plugin-sdk/{pw-ai-DQv6Xhce.js → pw-ai-BJrhPMHJ.js} +10 -10
  193. package/dist/plugin-sdk/{qmd-manager-CpV0SFnY.js → qmd-manager-DhW_frb3.js} +8 -8
  194. package/dist/plugin-sdk/{query-expansion-CwmHvvV_.js → query-expansion-NpBeKA8F.js} +3 -3
  195. package/dist/plugin-sdk/{recorder-BXZMRSjO.js → recorder-DdbAQ2HO.js} +4 -4
  196. package/dist/plugin-sdk/{redact-C88Ryyfs.js → redact-CUjmZn2Y.js} +1 -1
  197. package/dist/plugin-sdk/{replies-l2hZAzbt.js → replies-Dw3jvqpR.js} +4 -4
  198. package/dist/plugin-sdk/replies-XUkqz_7S.js +25 -0
  199. package/dist/plugin-sdk/{reply-directives-BwxzQXmX.js → reply-directives-BS8Ge06Z.js} +2 -2
  200. package/dist/plugin-sdk/{reply-prefix-qLQRxqrf.js → reply-prefix-Dt1hESHJ.js} +1 -1
  201. package/dist/plugin-sdk/reply-prefix-MU3uY52y.js +7 -0
  202. package/dist/plugin-sdk/{resolve-route-50KoArP9.js → resolve-route-BpLuk-wC.js} +4 -4
  203. package/dist/plugin-sdk/{resolve-route-6v1HVvWk.js → resolve-route-DiQTL1qI.js} +6 -6
  204. package/dist/plugin-sdk/{runs-CiohhBb8.js → runs-D6fAvItC.js} +7 -7
  205. package/dist/plugin-sdk/runs-R28wdt7j.js +25 -0
  206. package/dist/plugin-sdk/{send-Cv2CGnsK.js → send-BDwTyH6I.js} +8 -8
  207. package/dist/plugin-sdk/{send-DM6RpDCL.js → send-CE_6VOiQ.js} +7 -7
  208. package/dist/plugin-sdk/{send-Cx6gHjnA.js → send-Ce2XBaKF.js} +6 -6
  209. package/dist/plugin-sdk/send-Cg2VXcO0.js +27 -0
  210. package/dist/plugin-sdk/{send-BMSqETcU.js → send-CpXGZgrS.js} +6 -6
  211. package/dist/plugin-sdk/send-DAs6FmWB.js +23 -0
  212. package/dist/plugin-sdk/{send-DO0C4Uva.js → send-GMYUhBtJ.js} +19 -19
  213. package/dist/plugin-sdk/{send-DG4MQPPm.js → send-R0HB1-l-.js} +13 -13
  214. package/dist/plugin-sdk/send-UIQH_kN6.js +25 -0
  215. package/dist/plugin-sdk/send-tASIQF-Q.js +24 -0
  216. package/dist/plugin-sdk/{session-meta-CiqJP0pO.js → session-meta-BU2WXD0N.js} +2 -2
  217. package/dist/plugin-sdk/session-meta-Dd1ZONel.js +10 -0
  218. package/dist/plugin-sdk/{skill-commands-CE_SkRQk.js → skill-commands-BYfWIPfV.js} +5 -5
  219. package/dist/plugin-sdk/skill-commands-C7ZE3rKj.js +14 -0
  220. package/dist/plugin-sdk/{skills-CjW6uGTa.js → skills-BuJjEYto.js} +6 -6
  221. package/dist/plugin-sdk/{ssrf-BUCEDxp5.js → ssrf-DiAz1Z_z.js} +2 -2
  222. package/dist/plugin-sdk/{store-yBNTHg3N.js → store-Bl3Yjf_w.js} +2 -2
  223. package/dist/plugin-sdk/subagent-registry-2P8D5Trx.js +61 -0
  224. package/dist/plugin-sdk/{subsystem-CUUKL6Fr.js → subsystem-B2x33s9h.js} +4 -4
  225. package/dist/plugin-sdk/{tables-DKYi6grj.js → tables-CTmQQyfU.js} +1 -1
  226. package/dist/plugin-sdk/{tokens-ysZUkYZZ.js → tokens-DxJSOoJn.js} +1 -1
  227. package/dist/plugin-sdk/{tool-loop-detection-LsvZ1dIY.js → tool-loop-detection-Buouaxew.js} +1 -1
  228. package/dist/plugin-sdk/user-run-recording-BMikDBXR.js +11 -0
  229. package/dist/plugin-sdk/{user-run-recording-BMaK7jNR.js → user-run-recording-juCW_uQ-.js} +2 -2
  230. package/dist/{plugins-cli-Dr8MUuiG.js → plugins-cli-DnMc_Sn3.js} +108 -108
  231. package/dist/{polling-timeout-DQakFlgy.js → polling-timeout-lNYd7owP.js} +2 -2
  232. package/dist/{ports-D_uxJ7Lw.js → ports-BTxrPqTm.js} +2 -2
  233. package/dist/{ports-CmgxsJei.js → ports-CX4cOSom.js} +6 -6
  234. package/dist/{program-context-Bl-xFa6k.js → program-context-CJuzphrY.js} +47 -47
  235. package/dist/{progress-DVj1IfDI.js → progress-DRMfDm7h.js} +2 -2
  236. package/dist/{prompt-select-styled-BpNRj_0c.js → prompt-select-styled-C-FwsHQX.js} +48 -48
  237. package/dist/{prompt-style-DdJb0dOL.js → prompt-style-D0wRuIYC.js} +1 -1
  238. package/dist/{provider-auth-helpers-DUu-jv0m.js → provider-auth-helpers-DsfkAslg.js} +6 -6
  239. package/dist/{provider-image-GVjHOAmk.js → provider-image-RxbXQIow.js} +6 -6
  240. package/dist/{proxy-XUweXx3b.js → proxy-Df2WAHRA.js} +1 -1
  241. package/dist/{plugin-sdk/proxy-fetch-BYkGxQnh.js → proxy-fetch-Czv8kxaL.js} +1 -1
  242. package/dist/{push-apns--BFmn4qT.js → push-apns-Mp5OOpUH.js} +8 -8
  243. package/dist/{pw-ai-DcOIsodu.js → pw-ai-DmE1ofBV.js} +19 -19
  244. package/dist/{qmd-manager-Cl4D1wtV.js → qmd-manager-DvoTSplw.js} +23 -23
  245. package/dist/{qr-cli-DDaJ5f3a.js → qr-cli-BCIfpQUF.js} +8 -8
  246. package/dist/{query-expansion-DNw0oY0W.js → query-expansion-BD3CL_NZ.js} +13 -13
  247. package/dist/{reconcile-bundled-CoL_d96f.js → reconcile-bundled-BMWDZl32.js} +3 -3
  248. package/dist/{recorder-B9RfsO1r.js → recorder-BntUAL0_.js} +2 -2
  249. package/dist/{recovery-adapter-Bokfvz7s.js → recovery-adapter-BF5ESanQ.js} +2 -2
  250. package/dist/{recovery-adapter-B6QLivR9.js → recovery-adapter-BMqm3Nm4.js} +35 -35
  251. package/dist/{recovery-adapter-CMFB03AL.js → recovery-adapter-NtvPZ47M.js} +4 -4
  252. package/dist/{recovery-prompt-B1_BcmiM.js → recovery-prompt-SkkJ8aCp.js} +1 -1
  253. package/dist/{redact-snapshot-BtpCwP1X.js → redact-snapshot-Cm6wsMRx.js} +2 -2
  254. package/dist/{register.agent-Bv1bLbKG.js → register.agent-B5_L0CjL.js} +121 -121
  255. package/dist/register.configure-BbDac1C1.js +168 -0
  256. package/dist/{register.maintenance-C8FDl5FT.js → register.maintenance-Co2DeyQ1.js} +124 -124
  257. package/dist/{register.message-CAfCYwJP.js → register.message-BWeca9Pc.js} +98 -98
  258. package/dist/{register.onboard-cFRLSpET.js → register.onboard-4mSx6LtC.js} +22 -22
  259. package/dist/{register.setup-Bzi-36J6.js → register.setup-DCRrXbdT.js} +25 -25
  260. package/dist/{register.status-health-sessions-DV7xRpuM.js → register.status-health-sessions-DK12_BeX.js} +114 -114
  261. package/dist/{replay-DzQXXHrC.js → replay-BHfUVVHN.js} +1 -1
  262. package/dist/{replies-Bg8KJkdJ.js → replies-DoejQAqN.js} +4 -4
  263. package/dist/{reply-BsDGtY7Y.js → reply-BIZ2zaUq.js} +186 -186
  264. package/dist/{reply-directives-HkwESo_w.js → reply-directives-D5wW1el3.js} +2 -2
  265. package/dist/{reply-prefix-Cur1savb.js → reply-prefix-D0xrt6Z-.js} +1 -1
  266. package/dist/{resolve-route-C7CVSjFi.js → resolve-route-DnhX9nWr.js} +4 -4
  267. package/dist/{rpc-C1SlEDeI.js → rpc-B2GRFhpM.js} +3 -3
  268. package/dist/{runs-B3mLUDEo.js → runs-Yajg-SST.js} +7 -7
  269. package/dist/{runtime-Dp2vE941.js → runtime-Ch9itsH4.js} +4 -4
  270. package/dist/{runtime-config-collectors-CwBbdMqb.js → runtime-config-collectors-B4N79pBu.js} +1 -1
  271. package/dist/{runtime-guard-kynCEcXy.js → runtime-guard-DYUXYZIl.js} +1 -1
  272. package/dist/{sandbox-BnwxiNjx.js → sandbox-Ft7cM-PQ.js} +18 -18
  273. package/dist/{sandbox-cli-0Umoh6lR.js → sandbox-cli-DvMqiG0-.js} +26 -26
  274. package/dist/{secrets-cli-uctHYxxr.js → secrets-cli-mfGtyiPb.js} +16 -16
  275. package/dist/{security-cli-DgE-l1dY.js → security-cli-p_5UwabW.js} +43 -43
  276. package/dist/{send-BXSNB2Gu.js → send-26KAC8EW.js} +6 -6
  277. package/dist/{send-DkVvmrg9.js → send-9toI8d1j.js} +6 -6
  278. package/dist/{send-ZT3Ekuty.js → send-BA9PXvuC.js} +7 -7
  279. package/dist/{send-DweRAIgI.js → send-Cy2xiH02.js} +13 -13
  280. package/dist/{send-CgTUSkhw.js → send-DQQFc4N0.js} +14 -14
  281. package/dist/{server-context-qqDarnk8.js → server-context-Dezs5R_M.js} +12 -12
  282. package/dist/{server-BiyBJMEv.js → server-l9oy68N_.js} +25 -25
  283. package/dist/{server-lifecycle-E2HPe1NZ.js → server-lifecycle-DcVZS1ln.js} +3 -3
  284. package/dist/{server-middleware-CHvpqowx.js → server-middleware-BND1EkTO.js} +1 -1
  285. package/dist/{server-node-events-uGHyBXqP.js → server-node-events-BaFY8QcO.js} +97 -97
  286. package/dist/{service-CH9BWwSD.js → service-Hy5BSgmp.js} +15 -15
  287. package/dist/{session-consumer-agents-D_hiCJHw.js → session-consumer-agents-DWh7Mygv.js} +1 -1
  288. package/dist/{session-consumer-claim-sweep-aKULSjxA.js → session-consumer-claim-sweep-Bc4Qq0rB.js} +8 -8
  289. package/dist/{session-key-resolution-BlwVEVt_.js → session-key-resolution-DDJD1XYy.js} +4 -4
  290. package/dist/{session-meta-CXWLeYOC.js → session-meta-DzjDKcgW.js} +1 -1
  291. package/dist/{session-storage-DYSvotxA.js → session-storage-D3bntc9N.js} +7 -7
  292. package/dist/{sessions-C6bPQgaD.js → sessions-BQYQBpX0.js} +15 -15
  293. package/dist/{sessions-claims-status-DSufSy2u.js → sessions-claims-status-Bt9unG8h.js} +12 -12
  294. package/dist/{shared-CRF96lZH.js → shared-Bc-7t0_-.js} +2 -2
  295. package/dist/{shared-BFbMaMtM.js → shared-DyT9yMRI.js} +3 -3
  296. package/dist/{skill-commands-D0sJs3ds.js → skill-commands-Be2Bqqsm.js} +7 -7
  297. package/dist/{skill-scanner-D7Edx-Uz.js → skill-scanner-BA3h34y0.js} +7 -7
  298. package/dist/{skills-DT7dF3Z_.js → skills-Buc1RWDY.js} +6 -6
  299. package/dist/{skills-cli-CINDQ2Qe.js → skills-cli-DHvoBCEx.js} +10 -10
  300. package/dist/{skills-install-BUqzygk8.js → skills-install-DqCRPwE1.js} +9 -9
  301. package/dist/{skills-status-K-JYoR_J.js → skills-status-Dufi5_o3.js} +3 -3
  302. package/dist/{ssrf-BsWmJWfu.js → ssrf-B85AIIOO.js} +1 -1
  303. package/dist/{status-CYumLEox.js → status-BYesh62t.js} +34 -34
  304. package/dist/{status.update-CDd1OP3p.js → status.update-BOB92yBQ.js} +2 -2
  305. package/dist/{store-BKJfMltr.js → store-DoqX9VsZ.js} +7 -7
  306. package/dist/{subsystem-DRdkfGsB.js → subsystem-DDZBycwS.js} +1 -1
  307. package/dist/{supervisor-recovery-adapter-BxLO7wjD.js → supervisor-recovery-adapter-CTaDRl_d.js} +8 -8
  308. package/dist/{system-cli-DJd5Vz-h.js → system-cli-B-THY8xp.js} +14 -14
  309. package/dist/{system-run-command-uuNBjw5D.js → system-run-command-AF8TLlEl.js} +2 -2
  310. package/dist/{systemd-LaMffSwB.js → systemd-DsBMxUv1.js} +11 -11
  311. package/dist/{systemd-hints-Cq7MC9oh.js → systemd-hints-WHzM5Tf8.js} +7 -7
  312. package/dist/{systemd-linger-Cv1mTB1q.js → systemd-linger-EvpJ4ZxF.js} +2 -2
  313. package/dist/{table-BntrQEtu.js → table-DoIju7rh.js} +2 -2
  314. package/dist/{tables-CI3gYRvQ.js → tables-CzW-cMQN.js} +1 -1
  315. package/dist/{tailnet-CA8Lq90p.js → tailnet-G5phL2pY.js} +1 -1
  316. package/dist/{tailscale-C-_dOj1h.js → tailscale-DbsrfsUT.js} +3 -3
  317. package/dist/{task-pipeline-boot-nWDIjt5K.js → task-pipeline-boot-CaVeITev.js} +97 -97
  318. package/dist/{task-runlog-retention-BlMTtOsA.js → task-runlog-retention-BZrnJGL1.js} +3 -3
  319. package/dist/{tasks-NzeWQU_K.js → tasks-DXPXCFmn.js} +12 -12
  320. package/dist/{tokens-C6a47LiJ.js → tokens-BvecxQYg.js} +1 -1
  321. package/dist/{tool-display-CwPZlMoS.js → tool-display-D63I3y22.js} +1 -1
  322. package/dist/{tool-loop-detection-BUuXGw31.js → tool-loop-detection-3zBgQ3Bx.js} +2 -2
  323. package/dist/{trash-CYaie1Ci.js → trash-BcRk_NVC.js} +3 -3
  324. package/dist/{tui-CPb7mIZu.js → tui-Bo4LZvgz.js} +8 -8
  325. package/dist/{tui-cli-Csu-daF-.js → tui-cli-hVvCHoLU.js} +32 -32
  326. package/dist/{update-BqKLo08q.js → update-CXf5cJ0D.js} +3 -3
  327. package/dist/{update-cli-DjE99d_9.js → update-cli-BB7ybH-w.js} +134 -134
  328. package/dist/{update-runner-CrNSgmGV.js → update-runner-BYv_ec3N.js} +18 -18
  329. package/dist/{user-run-recording-DjkX5Mx3.js → user-run-recording-CTVI96gC.js} +2 -2
  330. package/dist/{utils-CmAaKeiM.js → utils-CMEUUHmM.js} +7 -7
  331. package/dist/{validation-cli-BRxfq9qy.js → validation-cli-CGimO4ZJ.js} +97 -97
  332. package/dist/{web-cli-DINMU0iQ.js → web-cli-KjTxS3h8.js} +3 -3
  333. package/dist/{web-client-assets-O1Zun47I.js → web-client-assets-CJyKwFRS.js} +1 -1
  334. package/dist/{webhooks-cli-YjIqpt4M.js → webhooks-cli-DJhGZcBz.js} +11 -11
  335. package/dist/{widearea-dns-DZj5625G.js → widearea-dns-DgeeMUtJ.js} +1 -1
  336. package/dist/{with-timeout-6n6HxT65.js → with-timeout-NhJMC1fC.js} +6 -6
  337. package/dist/{workspace-CgJWyvaY.js → workspace-CcKQx_l1.js} +2 -2
  338. package/dist/{workspace-dirs-B9yugPA_.js → workspace-dirs-_vJAsBIN.js} +1 -1
  339. package/dist/{ws-E-wJFDgg.js → ws-BuVK_u9S.js} +2 -2
  340. package/dist/{wsl-CMayUQxI.js → wsl-Baz9nyoY.js} +2 -2
  341. package/extensions/acpx/package.json +1 -1
  342. package/extensions/anthropic/package.json +1 -1
  343. package/extensions/bifrost/package.json +1 -1
  344. package/extensions/bluebubbles/package.json +1 -1
  345. package/extensions/copilot-proxy/package.json +1 -1
  346. package/extensions/deepgram/package.json +1 -1
  347. package/extensions/deepinfra/package.json +1 -1
  348. package/extensions/diagnostics-otel/package.json +1 -1
  349. package/extensions/diffs/package.json +1 -1
  350. package/extensions/discord/package.json +1 -1
  351. package/extensions/dream-cycle/package.json +1 -1
  352. package/extensions/elevenlabs/package.json +1 -1
  353. package/extensions/feishu/package.json +1 -1
  354. package/extensions/gemini-search/package.json +1 -1
  355. package/extensions/google/package.json +1 -1
  356. package/extensions/google-gemini-cli-auth/package.json +1 -1
  357. package/extensions/googlechat/package.json +1 -1
  358. package/extensions/grok-search/package.json +1 -1
  359. package/extensions/groq/package.json +1 -1
  360. package/extensions/imessage/package.json +1 -1
  361. package/extensions/irc/package.json +1 -1
  362. package/extensions/kimi-search/package.json +1 -1
  363. package/extensions/learning-core/package.json +1 -1
  364. package/extensions/line/package.json +1 -1
  365. package/extensions/llm-task/package.json +1 -1
  366. package/extensions/lobster/package.json +1 -1
  367. package/extensions/matrix/CHANGELOG.md +1 -1
  368. package/extensions/matrix/package.json +1 -1
  369. package/extensions/mattermost/package.json +1 -1
  370. package/extensions/memory-core/package.json +1 -1
  371. package/extensions/memory-lancedb/package.json +1 -1
  372. package/extensions/minimax/package.json +1 -1
  373. package/extensions/minimax-portal-auth/package.json +1 -1
  374. package/extensions/mistral/package.json +1 -1
  375. package/extensions/moonshot/package.json +1 -1
  376. package/extensions/msteams/CHANGELOG.md +1 -1
  377. package/extensions/msteams/package.json +1 -1
  378. package/extensions/nextcloud-talk/package.json +1 -1
  379. package/extensions/nostr/CHANGELOG.md +1 -1
  380. package/extensions/nostr/package.json +1 -1
  381. package/extensions/open-prose/package.json +1 -1
  382. package/extensions/openai/package.json +1 -1
  383. package/extensions/openai-realtime/package.json +1 -1
  384. package/extensions/openrouter/package.json +1 -1
  385. package/extensions/perplexity-search/package.json +1 -1
  386. package/extensions/searxng-search/package.json +1 -1
  387. package/extensions/signal/package.json +1 -1
  388. package/extensions/slack/package.json +1 -1
  389. package/extensions/synology-chat/package.json +1 -1
  390. package/extensions/telegram/package.json +1 -1
  391. package/extensions/tlon/package.json +1 -1
  392. package/extensions/twitch/CHANGELOG.md +1 -1
  393. package/extensions/twitch/package.json +1 -1
  394. package/extensions/voice-call/CHANGELOG.md +1 -1
  395. package/extensions/voice-call/package.json +1 -1
  396. package/extensions/whatsapp/package.json +1 -1
  397. package/extensions/zai/package.json +1 -1
  398. package/extensions/zalo/CHANGELOG.md +1 -1
  399. package/extensions/zalo/package.json +1 -1
  400. package/extensions/zalouser/CHANGELOG.md +1 -1
  401. package/extensions/zalouser/package.json +1 -1
  402. package/package.json +3 -2
  403. package/dist/cli-BLPnNVZp.js +0 -164
  404. package/dist/pi-embedded-recovery-adapter-CB8bcT6A.js +0 -61
  405. package/dist/plugin-sdk/agent-turn-execute-DYtSZF3l.js +0 -61
  406. package/dist/plugin-sdk/agent-turn-runner-P-MKFb_i.js +0 -11
  407. package/dist/plugin-sdk/audio-preflight-DlGohKMs.js +0 -28
  408. package/dist/plugin-sdk/deliver-DBCz1GqU.js +0 -32
  409. package/dist/plugin-sdk/manager-ByaW_O4Y.js +0 -16
  410. package/dist/plugin-sdk/markdown-tables-J4hZ7eWU.js +0 -10
  411. package/dist/plugin-sdk/provider-dispatcher-Co_hyl4q.js +0 -61
  412. package/dist/plugin-sdk/provider-image-B_dJDOl5.js +0 -22
  413. package/dist/plugin-sdk/proxy-DwbYzxBy.js +0 -7
  414. package/dist/plugin-sdk/replies-B9uDLFOE.js +0 -25
  415. package/dist/plugin-sdk/reply-prefix-BQMEQam1.js +0 -7
  416. package/dist/plugin-sdk/runs-BQhYekhr.js +0 -25
  417. package/dist/plugin-sdk/send-CeWqZTK0.js +0 -23
  418. package/dist/plugin-sdk/send-CzcKgBBf.js +0 -25
  419. package/dist/plugin-sdk/send-Dvna5ey-.js +0 -27
  420. package/dist/plugin-sdk/send-xPV0QIjh.js +0 -24
  421. package/dist/plugin-sdk/session-meta-n4SCcAbJ.js +0 -10
  422. package/dist/plugin-sdk/skill-commands-BOV3NIbU.js +0 -14
  423. package/dist/plugin-sdk/subagent-registry-jIsL_HVh.js +0 -61
  424. package/dist/plugin-sdk/user-run-recording-DiKcNdjn.js +0 -11
  425. package/dist/register.configure-nGWw6mGM.js +0 -168
@@ -1,188 +1,188 @@
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-BBP4yd-2.js";
2
- import { $ as readLoggingConfig, A as setVerbose, At as resolvePreferredOpenClawTmpDir, C as truncateUtf16Safe, F as isRich, I as theme, K as resolveFileLogProfile, L as getChildLogger, P as colorize, R as getLogger, W as appendFileLog, _t as isNotFoundPathError, c as ensureDir, dt as openVerifiedFileSync, ft as sameFileIdentity, g as resolveUserPath, lt as openBoundaryFile, t as CONFIG_DIR, ut as openBoundaryFileSync, vt as isPathInside, y as shortenHomePath, z as getResolvedLoggerSettings } from "./utils-CmAaKeiM.js";
2
+ import { $ as readLoggingConfig, A as setVerbose, At as resolvePreferredOpenClawTmpDir, C as truncateUtf16Safe, F as isRich, I as theme, K as resolveFileLogProfile, L as getChildLogger, P as colorize, R as getLogger, W as appendFileLog, _t as isNotFoundPathError, c as ensureDir, dt as openVerifiedFileSync, ft as sameFileIdentity, g as resolveUserPath, lt as openBoundaryFile, t as CONFIG_DIR, ut as openBoundaryFileSync, vt as isPathInside, y as shortenHomePath, z as getResolvedLoggerSettings } from "./utils-CMEUUHmM.js";
3
3
  import { t as isPlainObject } from "./plain-object-DHRdTVMa.js";
4
4
  import { d as supportsXHighThinking, l as normalizeVerboseLevel, s as normalizeThinkLevel } from "./thinking-DDYFn78t.js";
5
- import { $ as deferGatewayRestartUntilIdle, $n as OPENAI_TTS_MODELS, $t as createOutboundSendDeps$1, A as resolveCronSession, An as resolveHeartbeatDeliveryTarget, At as requestNudge, B as readLatestAssistantReply, Bn as resolveUserTimezone, Bt as handleSlackHttpRequest, C as startHeartbeatRunner, Cn as dispatchInboundMessage, Cr as DEFAULT_INPUT_TIMEOUT_MS, Ct as resolvePluginTools, D as onHeartbeatEvent, Dr as resolveInputFileLimits, Dt as loadOpenClawPlugins, E as getLastHeartbeatEvent, En as getTotalPendingReplies, Er as normalizeMimeList, Et as getLoadedAnalysisConcurrency, F as resolveExecConfig, Fn as resetDirectoryCache, Gn as resolveTtsApiKey, Gt as agentCommandFromIngress, H as canonicalizeSpawnedByForAgent, Hn as getTtsProvider, Ht as requestBodyErrorToText, I as applyToolPolicyPipeline, In as isAbortRequestText, J as pruneLegacyStoreKeys, Jn as resolveTtsPrefsPath, Jt as resolveAgentOutboundTarget, K as loadCombinedSessionStoreForGateway, Kn as resolveTtsAutoMode, L as buildDefaultToolPolicyPipelineSteps, M as runEmbeddedPiAgent, Mn as resolveSessionDeliveryTarget, N as prepareSessionManagerForRun, Nn as resolveOutboundChannelPlugin, Nt as loadProviderUsageSummary, O as redactSensitiveHeartbeatEvent, On as ensureOutboundSessionEntry, Or as resolveAgentTimeoutMs, Ot as takePendingActivationMigration, Q as consumeGatewaySigusr1RestartAuthorization, Qn as textToSpeech, Qt as createDefaultDeps, Rn as setTaskPipelineStatus, Rt as resolveAgentOutboundIdentity, S as setHeartbeatsEnabled, Sr as DEFAULT_INPUT_MAX_REDIRECTS, St as getPluginToolMeta, T as resolveHeartbeatVisibility, Tn as createReplyDispatcher, Tr as extractImageContentFromSource, Tt as clearPluginRegistryCaches, Un as isTtsEnabled, V as resolveAnnounceTargetFromKey, Vt as readJsonBodyWithLimit, W as listAgentsForGateway, Wn as isTtsProviderConfigured, X as resolveSessionModelRef, Xn as setTtsEnabled, Y as resolveGatewaySessionStoreTarget, Yn as resolveTtsProviderOrder, Yt as createOutboundSendDeps, Zn as setTtsProvider, _ as runMainAgentTurn, _n as detectSuspiciousPatterns, _r as resolveAgentSessionDirs, _t as buildDeliveryFromLegacyPayload, ar as stripHeartbeatToken, at as setPreRestartDeferralCheck, b as runHeartbeatOnce, br as DEFAULT_INPUT_IMAGE_MAX_BYTES, bt as applyBrowserProxyPaths, cr as isSystemEventContextChanged, ct as formatDoctorNonInteractiveHint, d as countActiveDescendantRuns, dn as resolveSessionAuthProfileOverride, dt as summarizeRestartSentinel, en as runWithModelFallback, er as OPENAI_TTS_VOICES, et as emitGatewayRestart, f as initSubagentRegistry, fn as resolveAgentAvatar, fr as requestHeartbeatNow, gn as buildSafeExternalPrompt, gr as getAcpSessionManager, gt as migrateLegacyCronPayload, h as runSubagentAnnounceFlow, hr as ACP_SESSION_IDENTITY_RENDERER_VERSION, ht as normalizeCronJobPatch, ir as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, it as setGatewaySigusr1RestartPolicy, j as resolveCronStyleNow, jn as resolveOutboundTarget, k as isCronSystemEvent, kn as resolveOutboundSessionRoute, kt as createPluginRuntime, ln as computeBackoff, lt as formatRestartSentinelMessage, mt as normalizeCronJobCreate, nn as setCliSessionId, nr as getExistingFollowupQueue, nt as markGatewaySigusr1RestartHandled, o as resolveChannelAccountEnabled, or as ToolInputError, ot as triggerOpenClawRestart, p as listDescendantRunsForRequester, pt as writeRestartSentinel, q as loadSessionEntry, qn as resolveTtsConfig, qt as resolveAgentDeliveryPlan, rn as runCliAgent, rr as removeQueuedFollowupRun, rt as scheduleGatewaySigusr1Restart, s as BARE_SESSION_RESET_PROMPT, sn as lookupContextTokens, sr as enqueueSystemEvent, st as consumeRestartSentinel, tn as getCliSessionId, tr as clearSessionQueues, tt as isGatewaySigusr1RestartExternallyAllowed, un as sleepWithAbort, v as resolveHeartbeatConfig, vn as getHookType, vt as hasLegacyDeliveryHints, w as runWakeGate, wn as setDispatchInboundAdmissionRejectionFor, wr as extractFileContentFromSource, xn as buildHistoryContextFromEntries, xr as DEFAULT_INPUT_IMAGE_MIMES, xt as persistBrowserProxyFiles, y as resolveHeartbeatSummaryForAgent, yn as isExternalHookSession, yr as resolveSendPolicy, yt as stripLegacyDeliveryFields, z as createOpenClawTools, zn as DEFAULT_MAX_PARALLEL } from "./reply-BsDGtY7Y.js";
6
- import { A as resolveDefaultAgentWorkspaceDir, C as DEFAULT_SOUL_FILENAME, E as ensureAgentWorkspace, M as matchesSkillFilter, 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-BAXIXdUR.js";
7
- import { m as defaultRuntime, n as runtimeForLogger, o as setConsoleSubsystemFilter, s as setConsoleTimestampPrefix, t as createSubsystemLogger } from "./subsystem-DRdkfGsB.js";
5
+ import { $ as deferGatewayRestartUntilIdle, $n as OPENAI_TTS_MODELS, $t as createOutboundSendDeps$1, A as resolveCronSession, An as resolveHeartbeatDeliveryTarget, At as requestNudge, B as readLatestAssistantReply, Bn as resolveUserTimezone, Bt as handleSlackHttpRequest, C as startHeartbeatRunner, Cn as dispatchInboundMessage, Cr as DEFAULT_INPUT_TIMEOUT_MS, Ct as resolvePluginTools, D as onHeartbeatEvent, Dr as resolveInputFileLimits, Dt as loadOpenClawPlugins, E as getLastHeartbeatEvent, En as getTotalPendingReplies, Er as normalizeMimeList, Et as getLoadedAnalysisConcurrency, F as resolveExecConfig, Fn as resetDirectoryCache, Gn as resolveTtsApiKey, Gt as agentCommandFromIngress, H as canonicalizeSpawnedByForAgent, Hn as getTtsProvider, Ht as requestBodyErrorToText, I as applyToolPolicyPipeline, In as isAbortRequestText, J as pruneLegacyStoreKeys, Jn as resolveTtsPrefsPath, Jt as resolveAgentOutboundTarget, K as loadCombinedSessionStoreForGateway, Kn as resolveTtsAutoMode, L as buildDefaultToolPolicyPipelineSteps, M as runEmbeddedPiAgent, Mn as resolveSessionDeliveryTarget, N as prepareSessionManagerForRun, Nn as resolveOutboundChannelPlugin, Nt as loadProviderUsageSummary, O as redactSensitiveHeartbeatEvent, On as ensureOutboundSessionEntry, Or as resolveAgentTimeoutMs, Ot as takePendingActivationMigration, Q as consumeGatewaySigusr1RestartAuthorization, Qn as textToSpeech, Qt as createDefaultDeps, Rn as setTaskPipelineStatus, Rt as resolveAgentOutboundIdentity, S as setHeartbeatsEnabled, Sr as DEFAULT_INPUT_MAX_REDIRECTS, St as getPluginToolMeta, T as resolveHeartbeatVisibility, Tn as createReplyDispatcher, Tr as extractImageContentFromSource, Tt as clearPluginRegistryCaches, Un as isTtsEnabled, V as resolveAnnounceTargetFromKey, Vt as readJsonBodyWithLimit, W as listAgentsForGateway, Wn as isTtsProviderConfigured, X as resolveSessionModelRef, Xn as setTtsEnabled, Y as resolveGatewaySessionStoreTarget, Yn as resolveTtsProviderOrder, Yt as createOutboundSendDeps, Zn as setTtsProvider, _ as runMainAgentTurn, _n as detectSuspiciousPatterns, _r as resolveAgentSessionDirs, _t as buildDeliveryFromLegacyPayload, ar as stripHeartbeatToken, at as setPreRestartDeferralCheck, b as runHeartbeatOnce, br as DEFAULT_INPUT_IMAGE_MAX_BYTES, bt as applyBrowserProxyPaths, cr as isSystemEventContextChanged, ct as formatDoctorNonInteractiveHint, d as countActiveDescendantRuns, dn as resolveSessionAuthProfileOverride, dt as summarizeRestartSentinel, en as runWithModelFallback, er as OPENAI_TTS_VOICES, et as emitGatewayRestart, f as initSubagentRegistry, fn as resolveAgentAvatar, fr as requestHeartbeatNow, gn as buildSafeExternalPrompt, gr as getAcpSessionManager, gt as migrateLegacyCronPayload, h as runSubagentAnnounceFlow, hr as ACP_SESSION_IDENTITY_RENDERER_VERSION, ht as normalizeCronJobPatch, ir as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, it as setGatewaySigusr1RestartPolicy, j as resolveCronStyleNow, jn as resolveOutboundTarget, k as isCronSystemEvent, kn as resolveOutboundSessionRoute, kt as createPluginRuntime, ln as computeBackoff, lt as formatRestartSentinelMessage, mt as normalizeCronJobCreate, nn as setCliSessionId, nr as getExistingFollowupQueue, nt as markGatewaySigusr1RestartHandled, o as resolveChannelAccountEnabled, or as ToolInputError, ot as triggerOpenClawRestart, p as listDescendantRunsForRequester, pt as writeRestartSentinel, q as loadSessionEntry, qn as resolveTtsConfig, qt as resolveAgentDeliveryPlan, rn as runCliAgent, rr as removeQueuedFollowupRun, rt as scheduleGatewaySigusr1Restart, s as BARE_SESSION_RESET_PROMPT, sn as lookupContextTokens, sr as enqueueSystemEvent, st as consumeRestartSentinel, tn as getCliSessionId, tr as clearSessionQueues, tt as isGatewaySigusr1RestartExternallyAllowed, un as sleepWithAbort, v as resolveHeartbeatConfig, vn as getHookType, vt as hasLegacyDeliveryHints, w as runWakeGate, wn as setDispatchInboundAdmissionRejectionFor, wr as extractFileContentFromSource, xn as buildHistoryContextFromEntries, xr as DEFAULT_INPUT_IMAGE_MIMES, xt as persistBrowserProxyFiles, y as resolveHeartbeatSummaryForAgent, yn as isExternalHookSession, yr as resolveSendPolicy, yt as stripLegacyDeliveryFields, z as createOpenClawTools, zn as DEFAULT_MAX_PARALLEL } from "./reply-BIZ2zaUq.js";
6
+ import { A as resolveDefaultAgentWorkspaceDir, C as DEFAULT_SOUL_FILENAME, E as ensureAgentWorkspace, M as matchesSkillFilter, 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-CWTkr4pS.js";
7
+ import { m as defaultRuntime, n as runtimeForLogger, o as setConsoleSubsystemFilter, s as setConsoleTimestampPrefix, t as createSubsystemLogger } from "./subsystem-DDZBycwS.js";
8
8
  import { A as isCronRunSessionKey, M as isSubagentSessionKey, N as parseAgentSessionKey, S as normalizeAccountId$1, a as classifySessionKeyShape, b as toAgentStoreSessionKey, d as normalizeAgentId, f as normalizeMainKey, g as resolveLinkedPeerIdForChannel, h as resolveConfiguredCanonicalIdentity, p as resolveAgentIdFromSessionKey, r as buildAgentMainSessionKey, t as DEFAULT_AGENT_ID, x as DEFAULT_ACCOUNT_ID, y as toAgentRequestSessionKey } from "./session-key-B1wN38jV.js";
9
- import { i as logWarn, t as logDebug } from "./logger-BCqJpXqF.js";
10
- import { n as runExec, t as runCommandWithTimeout } from "./exec-Cg_eKCg0.js";
11
- import { n as resolveOpenClawPackageRoot } from "./openclaw-root-B2l0kAM1.js";
12
- import { $a as clientResumeRecordArtifactId, $r as closeConfiguredSessionStorageRuntime, Aa as parseDurationMs, Ac as setPluginTaskAdmissionRejectionFor, Ai as capArrayByJsonBytes, At as advanceRuntimeConfigSnapshot, Ba as isJsonlSessionBackend, Bt as validateConfigObjectWithPlugins, C as resolveThinkingDefault, Cl as applyLegacyMigrations, Da as createAsyncLock, Dn as isAvatarImageDataUrl, Dr as getRegisteredPluginApis, Ds as normalizeWhatsAppTarget, Du as loadAuthProfileStoreForRuntime, Ei as normalizeSessionDeliveryFields, En as isAvatarHttpUrl, Fl as normalizeTalkSection, Ft as readConfigFileSnapshot, Gr as listRealtimeVoiceProviders, Hr as getRegisteredRealtimeTranscriptionProviders, Il as resolveActiveTalkProviderConfig, It as readConfigFileSnapshotForWrite, Ja as createSessionStorageRuntimeFromConfig, Ji as stripEnvelopeFromMessage, Jo as resolveAgentMainSessionKey, Jr as registerInternalHook, Js as isGatewayCliClient, Ki as buildReplyContextPayload, Ko as setSessionRuntimeModel, Kr as clearInternalHooks, Ks as INTERNAL_MESSAGE_CHANNEL, Ll as resolveTalkCatalogApiKeyStatus, Lt as resolveConfigSnapshotHash, Lu as isPidAlive, Ma as extractDeliveryInfo, Mc as RecoveryAdmissionError, Mi as findNewestMessageEntryIdInTranscript, Mt as createConfigIO, Na as parseSessionThreadInfo, Nc as composeRestartDeferralWithAdmission, Ni as findTranscriptMessageEntryById, Nl as DEFAULT_TALK_CONVERSATION_MODEL_ID, No as decodeKeysetCursor, Nt as loadConfig, Oa as readJsonFile, Or as listRestartRecoveryAdapters, Pc as createRootWorkAdmission, Pl as buildTalkConfigResponse, Po as encodeKeysetCursor, Pr as emitStartupPluginHealthReport, Pt as parseConfigJson5, Qa as CLIENT_RESUME_RECORD_KIND, Qi as stripInlineDirectiveTagsFromMessageForDisplay, Qr as activateConfiguredSessionStorageRuntime, Qs as isWebchatClient, Ra as createPreservationLeaseService, Rl as resolveTalkConversationConfig, Ru as resolveAuthProfileDisplayLabel, Si as deliveryContextFromSession, Sl as applyMergePatch, Sr as setGatewayPluginRegistry, Tr as createEmptyPluginRegistry, Un as isTestDefaultMemorySlotDisabled, Ur as getRegisteredRealtimeVoiceProviders, Uu as normalizeSecretInput, Va as hydrateAndAppendToBackend, Vr as getRealtimeVoiceProvider, Vt as OpenClawSchema, Wi as REPLY_CONTEXT_CUSTOM_TYPE, Wo as mergeSessionEntry, Wr as getRegisteredStreamingSpeechProviders, Xo as resolveMainSessionKey, Xr as StorageReadAccessError, Ya as resolveSessionStorageConfig, Yi as stripEnvelopeFromMessages, Yn as defaultSlotIdForKey, Yo as resolveExplicitAgentSessionKey, Yr as triggerInternalHook, Ys as isGatewayMessageChannel, Za as validateCtxStorage, Zi as stripInlineDirectiveTagsForDisplay, Zo as resolveMainSessionKeyFromConfig, _ as resolveDefaultModelForAgent, a as getModelRefStatus, ac as GATEWAY_CLIENT_MODES, ai as isPreservationArmed, al as resolveExecutablePath, ao as PASS_METRICS_MAX_BYTES, ci as mirrorPreparedConfiguredSessionStorageRuntimeRecord, co as onRunInvalidation, cu as resolveAgentMaxConcurrent, do as diffManifestOwnedReconcileIndexRecords, ec as normalizeMessageChannel, ed as DEFAULT_CONTEXT_TOKENS, ei as closeReplacedConfiguredSessionStorageRuntime, eo as isVerificationStoreError, es as getChannelPlugin, et as getApiKeyForModel, f as normalizeProviderIdForAuth, fi as refreshPreparedConfiguredSessionStorageRuntimeActivation, fo as fingerprintReconcileIndexRecords, g as resolveConfiguredModelRef, gi as syncConfiguredSessionTranscriptToRuntime, hc as cleanStaleLockFiles, ho as reconcileSessionIndex, hr as getActivePluginRegistry, ic as GATEWAY_CLIENT_IDS, ii as getConfiguredSessionStorageRuntime, io as PASS_MEASUREMENT_SCHEMA_VERSION, ir as CHANNEL_IDS, ja as parseByteSize, ji as cleanupArchivedSessionTranscripts, jn as looksLikeAvatarPath, jr as setSessionWorkAvailableNotifier, ka as writeJsonAtomic, ki as archiveSessionTranscripts, ko as formatZonedTimestamp, ks as resolveWhatsAppAccount, kt as migrateLegacyConfig, lc as normalizeGatewayClientMode, li as prepareConfiguredSessionStorageRuntimeActivation, lu as resolveNestedAgentMaxConcurrent, m as resolveAllowedModelRef, mi as setActivePreservationLease, mo as projectManifestOwnedReconcileIndexRecords, na as normalizeInputProvenance, nd as DEFAULT_PROVIDER, ni as createJsonlSessionStorageFallbackRuntime, nn as EXEC_POLICY_PRESET_IDS, ns as normalizeChannelId, oc as GATEWAY_CLIENT_NAMES, oi as loadSessionStore, ps as buildChannelAccountBindings, qo as canonicalizeMainSessionAlias, qr as createInternalHookEvent, qs as isDeliverableMessageChannel, ra as jsonUtf8Bytes, rc as GATEWAY_CLIENT_CAPS, ri as getActivePreservationLease, ro as PASS_ITEMS_MAX_KEYS, rt as resolveApiKeyForProvider, s as isCliProvider, sc as hasGatewayClientCap, si as loadSessionStoreFromDisk, sn as resolveGatewayWebClientBasePath, so as isPassIdentifier, t as buildAllowedModelSet, td as DEFAULT_MODEL, ti as commitPreparedConfiguredSessionStorageRuntimeActivation, tn as coerceIdentityValue, ts as listChannelPlugins, u as normalizeModelSelection, uo as applyReconcileSessionIndex, uu as resolveSubagentMaxConcurrent, v as resolveHooksGmailModel, vi as updateSessionStore, vo as serializeSessionIndexRecordKey, wi as mergeDeliveryContext, wl as ensureControlUiAllowedOriginsForNonLoopbackBind, wn as AVATAR_MAX_BYTES, xt as resolveProfileUnusableUntilForDisplay, za as withPreservationWriterPermit, zl as resolveTalkProviderConfigApiKey, zt as writeConfigFile } from "./model-selection-C8GCtGby.js";
9
+ import { i as logWarn, t as logDebug } from "./logger-0VqfDbvM.js";
10
+ import { n as runExec, t as runCommandWithTimeout } from "./exec-CHq-p5L0.js";
11
+ import { n as resolveOpenClawPackageRoot } from "./openclaw-root-BGUYWYDG.js";
12
+ import { $a as clientResumeRecordArtifactId, $r as closeConfiguredSessionStorageRuntime, Aa as parseDurationMs, Ac as setPluginTaskAdmissionRejectionFor, Ai as capArrayByJsonBytes, At as advanceRuntimeConfigSnapshot, Ba as isJsonlSessionBackend, Bt as validateConfigObjectWithPlugins, C as resolveThinkingDefault, Cl as applyLegacyMigrations, Da as createAsyncLock, Dn as isAvatarImageDataUrl, Dr as getRegisteredPluginApis, Ds as normalizeWhatsAppTarget, Du as loadAuthProfileStoreForRuntime, Ei as normalizeSessionDeliveryFields, En as isAvatarHttpUrl, Fl as normalizeTalkSection, Ft as readConfigFileSnapshot, Gr as listRealtimeVoiceProviders, Hr as getRegisteredRealtimeTranscriptionProviders, Il as resolveActiveTalkProviderConfig, It as readConfigFileSnapshotForWrite, Ja as createSessionStorageRuntimeFromConfig, Ji as stripEnvelopeFromMessage, Jo as resolveAgentMainSessionKey, Jr as registerInternalHook, Js as isGatewayCliClient, Ki as buildReplyContextPayload, Ko as setSessionRuntimeModel, Kr as clearInternalHooks, Ks as INTERNAL_MESSAGE_CHANNEL, Ll as resolveTalkCatalogApiKeyStatus, Lt as resolveConfigSnapshotHash, Lu as isPidAlive, Ma as extractDeliveryInfo, Mc as RecoveryAdmissionError, Mi as findNewestMessageEntryIdInTranscript, Mt as createConfigIO, Na as parseSessionThreadInfo, Nc as composeRestartDeferralWithAdmission, Ni as findTranscriptMessageEntryById, Nl as DEFAULT_TALK_CONVERSATION_MODEL_ID, No as decodeKeysetCursor, Nt as loadConfig, Oa as readJsonFile, Or as listRestartRecoveryAdapters, Pc as createRootWorkAdmission, Pl as buildTalkConfigResponse, Po as encodeKeysetCursor, Pr as emitStartupPluginHealthReport, Pt as parseConfigJson5, Qa as CLIENT_RESUME_RECORD_KIND, Qi as stripInlineDirectiveTagsFromMessageForDisplay, Qr as activateConfiguredSessionStorageRuntime, Qs as isWebchatClient, Ra as createPreservationLeaseService, Rl as resolveTalkConversationConfig, Ru as resolveAuthProfileDisplayLabel, Si as deliveryContextFromSession, Sl as applyMergePatch, Sr as setGatewayPluginRegistry, Tr as createEmptyPluginRegistry, Un as isTestDefaultMemorySlotDisabled, Ur as getRegisteredRealtimeVoiceProviders, Uu as normalizeSecretInput, Va as hydrateAndAppendToBackend, Vr as getRealtimeVoiceProvider, Vt as OpenClawSchema, Wi as REPLY_CONTEXT_CUSTOM_TYPE, Wo as mergeSessionEntry, Wr as getRegisteredStreamingSpeechProviders, Xo as resolveMainSessionKey, Xr as StorageReadAccessError, Ya as resolveSessionStorageConfig, Yi as stripEnvelopeFromMessages, Yn as defaultSlotIdForKey, Yo as resolveExplicitAgentSessionKey, Yr as triggerInternalHook, Ys as isGatewayMessageChannel, Za as validateCtxStorage, Zi as stripInlineDirectiveTagsForDisplay, Zo as resolveMainSessionKeyFromConfig, _ as resolveDefaultModelForAgent, a as getModelRefStatus, ac as GATEWAY_CLIENT_MODES, ai as isPreservationArmed, al as resolveExecutablePath, ao as PASS_METRICS_MAX_BYTES, ci as mirrorPreparedConfiguredSessionStorageRuntimeRecord, co as onRunInvalidation, cu as resolveAgentMaxConcurrent, do as diffManifestOwnedReconcileIndexRecords, ec as normalizeMessageChannel, ed as DEFAULT_CONTEXT_TOKENS, ei as closeReplacedConfiguredSessionStorageRuntime, eo as isVerificationStoreError, es as getChannelPlugin, et as getApiKeyForModel, f as normalizeProviderIdForAuth, fi as refreshPreparedConfiguredSessionStorageRuntimeActivation, fo as fingerprintReconcileIndexRecords, g as resolveConfiguredModelRef, gi as syncConfiguredSessionTranscriptToRuntime, hc as cleanStaleLockFiles, ho as reconcileSessionIndex, hr as getActivePluginRegistry, ic as GATEWAY_CLIENT_IDS, ii as getConfiguredSessionStorageRuntime, io as PASS_MEASUREMENT_SCHEMA_VERSION, ir as CHANNEL_IDS, ja as parseByteSize, ji as cleanupArchivedSessionTranscripts, jn as looksLikeAvatarPath, jr as setSessionWorkAvailableNotifier, ka as writeJsonAtomic, ki as archiveSessionTranscripts, ko as formatZonedTimestamp, ks as resolveWhatsAppAccount, kt as migrateLegacyConfig, lc as normalizeGatewayClientMode, li as prepareConfiguredSessionStorageRuntimeActivation, lu as resolveNestedAgentMaxConcurrent, m as resolveAllowedModelRef, mi as setActivePreservationLease, mo as projectManifestOwnedReconcileIndexRecords, na as normalizeInputProvenance, nd as DEFAULT_PROVIDER, ni as createJsonlSessionStorageFallbackRuntime, nn as EXEC_POLICY_PRESET_IDS, ns as normalizeChannelId, oc as GATEWAY_CLIENT_NAMES, oi as loadSessionStore, ps as buildChannelAccountBindings, qo as canonicalizeMainSessionAlias, qr as createInternalHookEvent, qs as isDeliverableMessageChannel, ra as jsonUtf8Bytes, rc as GATEWAY_CLIENT_CAPS, ri as getActivePreservationLease, ro as PASS_ITEMS_MAX_KEYS, rt as resolveApiKeyForProvider, s as isCliProvider, sc as hasGatewayClientCap, si as loadSessionStoreFromDisk, sn as resolveGatewayWebClientBasePath, so as isPassIdentifier, t as buildAllowedModelSet, td as DEFAULT_MODEL, ti as commitPreparedConfiguredSessionStorageRuntimeActivation, tn as coerceIdentityValue, ts as listChannelPlugins, u as normalizeModelSelection, uo as applyReconcileSessionIndex, uu as resolveSubagentMaxConcurrent, v as resolveHooksGmailModel, vi as updateSessionStore, vo as serializeSessionIndexRecordKey, wi as mergeDeliveryContext, wl as ensureControlUiAllowedOriginsForNonLoopbackBind, wn as AVATAR_MAX_BYTES, xt as resolveProfileUnusableUntilForDisplay, za as withPreservationWriterPermit, zl as resolveTalkProviderConfigApiKey, zt as writeConfigFile } from "./model-selection-k68XU4oS.js";
13
13
  import { r as resolveCopilotApiToken } from "./github-copilot-token-D9l3eOWF.js";
14
14
  import "./boolean-BsqeuxE6.js";
15
- import { n as logAcceptedEnvOption, t as isTruthyEnvValue } from "./env-DtoMyFfk.js";
15
+ import { n as logAcceptedEnvOption, t as isTruthyEnvValue } from "./env-ESh4ZX9l.js";
16
16
  import { r as resolveRuntimeServiceVersion, t as VERSION } from "./version-D7fFgMO6.js";
17
17
  import { c as optionalStringEnum, l as stringEnum } from "./retry-policy-BIRWkDiU.js";
18
18
  import { c as resolveSessionFilePath, l as resolveSessionFilePathOptions, m as resolveStorePath, p as resolveSessionTranscriptsDirForAgent, u as resolveSessionTranscriptPath } from "./artifacts-qv_OgPMd.js";
19
19
  import { t as formatCliCommand } from "./command-format-CGUNQYjt.js";
20
- import "./send-ZT3Ekuty.js";
21
- import "./send-CgTUSkhw.js";
20
+ import "./send-BA9PXvuC.js";
21
+ import "./send-DQQFc4N0.js";
22
22
  import { l as deriveSessionTotalTokens, u as hasNonzeroUsage } from "./chat-envelope-DOpfcKGq.js";
23
23
  import { c as isDiagnosticsEnabled, l as onDiagnosticEvent, s as emitDiagnosticEvent } from "./task-run-types-B5uIC1Y7.js";
24
24
  import { n as USER_CLIENT_ID, o as buildUserClientRuntimeConfig, s as handleUserClientHttpRequest } from "./static-server-C-iTMRyz.js";
25
- import { n as assertNoPathAliasEscape } from "./path-alias-guards-DaLVcmyn.js";
26
- import { i as openFileWithinRoot, l as writeFileWithinRoot, s as readLocalFileSafely, t as SafeOpenError } from "./fs-safe-D3vN4fQ5.js";
27
- import { D as normalizeMediaProviderId, E as listAutoDetectableProviders, T as getProviderDeclaredEnvVars, c as transcribeBufferedPcmWithMediaUnderstanding, g as registerUnhandledRejectionHandler, n as buildProviderRegistry, x as resolveModelEntries, y as resolveCapabilityConfig } from "./audio-transcription-runner-DbLu4y_x.js";
28
- import { t as fetchWithSsrFGuard } from "./fetch-guard-BCFGxdCb.js";
29
- import { t as SsrFBlockedError } from "./ssrf-BsWmJWfu.js";
30
- import "./proxy-fetch-k-wYHddO.js";
25
+ import { n as assertNoPathAliasEscape } from "./path-alias-guards-BSmwo1rT.js";
26
+ import { i as openFileWithinRoot, l as writeFileWithinRoot, s as readLocalFileSafely, t as SafeOpenError } from "./fs-safe-DD7KXuvI.js";
27
+ import { D as normalizeMediaProviderId, E as listAutoDetectableProviders, T as getProviderDeclaredEnvVars, c as transcribeBufferedPcmWithMediaUnderstanding, g as registerUnhandledRejectionHandler, n as buildProviderRegistry, x as resolveModelEntries, y as resolveCapabilityConfig } from "./audio-transcription-runner-D-d42kdt.js";
28
+ import { t as fetchWithSsrFGuard } from "./fetch-guard-CjyGDRXN.js";
29
+ import { t as SsrFBlockedError } from "./ssrf-B85AIIOO.js";
30
+ import "./proxy-fetch-Czv8kxaL.js";
31
31
  import { t as resolveNetworkSsrFPolicy } from "./ssrf-config-BXebcnwh.js";
32
- import "./pi-embedded-helpers-DxQslB8x.js";
33
- import "./local-roots-DrpBY-AE.js";
34
- import { c as detectMime } from "./image-ops-D-__yDh-.js";
32
+ import "./pi-embedded-helpers-DEHXX7Dr.js";
33
+ import "./local-roots-_qt4-Ma5.js";
34
+ import { c as detectMime } from "./image-ops-DcqCZEUY.js";
35
35
  import { a as testRegexWithBoundedInput, i as compileSafeRegex } from "./redact-CQtYLB4a.js";
36
36
  import { i as formatErrorMessage, o as hasErrnoCode, s as isErrno } from "./errors-z_JCBnTo.js";
37
- import "./models-config-CcPjsQTv.js";
38
- import { n as loadModelCatalog } from "./model-catalog-C300CH2M.js";
39
- import "./api-key-rotation-BEJklVjh.js";
40
- import "./provider-image-GVjHOAmk.js";
41
- import "./pi-model-discovery-B9wn9y4o.js";
42
- import { h as extractTextFromChatContent } from "./pi-embedded-utils-39kuXd-l.js";
43
- import { C as resolveToolProfilePolicy, _ as collectExplicitAllowlist, y as mergeAlsoAllowPolicy } from "./sandbox-BnwxiNjx.js";
37
+ import "./models-config-Burwt3mB.js";
38
+ import { n as loadModelCatalog } from "./model-catalog-C7itJJDM.js";
39
+ import "./api-key-rotation-BEt1ZchD.js";
40
+ import "./provider-image-RxbXQIow.js";
41
+ import "./pi-model-discovery-CfUi22Es.js";
42
+ import { h as extractTextFromChatContent } from "./pi-embedded-utils-BhOMYPQU.js";
43
+ import { C as resolveToolProfilePolicy, _ as collectExplicitAllowlist, y as mergeAlsoAllowPolicy } from "./sandbox-Ft7cM-PQ.js";
44
44
  import { i as listCoreToolSections, n as PROFILE_OPTIONS, o as resolveCoreToolProfiles } from "./tool-catalog-B6wH7-iE.js";
45
- import { i as resolveRelayAuthTokenForPort, n as resolveGatewayRelayToken } from "./extension-relay-auth-IPIDjhZx.js";
46
- import { i as enableTailscaleServe, n as disableTailscaleServe, o as getTailnetHostname, r as enableTailscaleFunnel, t as disableTailscaleFunnel } from "./tailscale-C-_dOj1h.js";
45
+ import { i as resolveRelayAuthTokenForPort, n as resolveGatewayRelayToken } from "./extension-relay-auth-C-1c9CZk.js";
46
+ import { i as enableTailscaleServe, n as disableTailscaleServe, o as getTailnetHostname, r as enableTailscaleFunnel, t as disableTailscaleFunnel } from "./tailscale-DbsrfsUT.js";
47
47
  import { t as safeEqualSecret } from "./secret-equal-DyYamV7h.js";
48
- import { n as pickPrimaryTailnetIPv4, r as pickPrimaryTailnetIPv6 } from "./tailnet-CA8Lq90p.js";
49
- 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-E-wJFDgg.js";
50
- import { a as isDirectLoopbackProvenance, c as AUTH_RATE_LIMIT_SCOPE_BROWSER_EXTENSION, d as AUTH_RATE_LIMIT_SCOPE_SHARED_SECRET, f as createAuthRateLimiter, i as captureTransportProvenance, l as AUTH_RATE_LIMIT_SCOPE_DEVICE_TOKEN, n as authorizeHttpGatewayConnect, o as isLocalDirectRequest, p as normalizeRateLimitClientIp, r as authorizeWsControlUiGatewayConnect, s as resolveGatewayAuth, t as assertGatewayAuthConfigured, u as AUTH_RATE_LIMIT_SCOPE_HOOK_AUTH } from "./auth-CO4L12L5.js";
51
- import { o as ensureGatewayStartupAuth, s as mergeGatewayTailscaleConfig } from "./server-context-qqDarnk8.js";
48
+ import { n as pickPrimaryTailnetIPv4, r as pickPrimaryTailnetIPv6 } from "./tailnet-G5phL2pY.js";
49
+ 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-BuVK_u9S.js";
50
+ import { a as isDirectLoopbackProvenance, c as AUTH_RATE_LIMIT_SCOPE_BROWSER_EXTENSION, d as AUTH_RATE_LIMIT_SCOPE_SHARED_SECRET, f as createAuthRateLimiter, i as captureTransportProvenance, l as AUTH_RATE_LIMIT_SCOPE_DEVICE_TOKEN, n as authorizeHttpGatewayConnect, o as isLocalDirectRequest, p as normalizeRateLimitClientIp, r as authorizeWsControlUiGatewayConnect, s as resolveGatewayAuth, t as assertGatewayAuthConfigured, u as AUTH_RATE_LIMIT_SCOPE_HOOK_AUTH } from "./auth-DeLQvx-N.js";
51
+ import { o as ensureGatewayStartupAuth, s as mergeGatewayTailscaleConfig } from "./server-context-Dezs5R_M.js";
52
52
  import { d as hasBinary } from "./frontmatter-B8Zb_8go.js";
53
- import { i as loadWorkspaceSkillEntries, r as buildWorkspaceSkillSnapshot } from "./skills-DT7dF3Z_.js";
54
- import "./store-BKJfMltr.js";
55
- import { S as ensureChromeExtensionRelayServer } from "./chrome-CBrgxie9.js";
56
- import { i as resolveProfile, r as resolveBrowserConfig, t as movePathToTrash } from "./trash-CYaie1Ci.js";
57
- import { a as inspectPortUsage, l as formatPortDiagnostics, r as ensurePortAvailable } from "./ports-CmgxsJei.js";
58
- import "./server-middleware-CHvpqowx.js";
59
- import "./tool-display-CwPZlMoS.js";
60
- import { i as isSilentReplyText, n as SILENT_REPLY_TOKEN } from "./tokens-C6a47LiJ.js";
61
- import { f as getGlobalHookRunner, h as runGlobalGatewayStopSafely, m as resetGlobalHookRunner, u as buildOutboundSessionContext } from "./outbound-message-hooks-DOSD8zCU.js";
62
- import { r as isRestartEnabled } from "./commands-CpMRpWle.js";
63
- import "./commands-registry-DY2vMgw6.js";
53
+ import { i as loadWorkspaceSkillEntries, r as buildWorkspaceSkillSnapshot } from "./skills-Buc1RWDY.js";
54
+ import "./store-DoqX9VsZ.js";
55
+ import { S as ensureChromeExtensionRelayServer } from "./chrome-DXHMnxHS.js";
56
+ import { i as resolveProfile, r as resolveBrowserConfig, t as movePathToTrash } from "./trash-BcRk_NVC.js";
57
+ import { a as inspectPortUsage, l as formatPortDiagnostics, r as ensurePortAvailable } from "./ports-CX4cOSom.js";
58
+ import "./server-middleware-BND1EkTO.js";
59
+ import "./tool-display-D63I3y22.js";
60
+ import { i as isSilentReplyText, n as SILENT_REPLY_TOKEN } from "./tokens-BvecxQYg.js";
61
+ import { f as getGlobalHookRunner, h as runGlobalGatewayStopSafely, m as resetGlobalHookRunner, u as buildOutboundSessionContext } from "./outbound-message-hooks-t1DDjQX_.js";
62
+ import { r as isRestartEnabled } from "./commands-tFdLuF5k.js";
63
+ import "./commands-registry-BMswme6t.js";
64
64
  import { t as redactIdentifier } from "./redact-identifier-CSPL9LuH.js";
65
65
  import "./registry-D9ygkK-J.js";
66
- import { a as cancelDelayedAgentTurnWaiters, c as enqueueAgentTurn, i as agentTurnIdempotencyKey, l as isClaimableAgentTurnWorkId, r as AGENT_TURN_TOPIC, s as createRecoveryAgentTurnStager } from "./agent-turn-enqueue-BQ4JOmUN.js";
67
- import { $ as validateNodeListParams, $t as validateTalkSessionCreateParams, A as validateCronRunParams, B as validateExecApprovalRequestParams, Bn as verifyDeviceToken, Bt as validateTalkConfigParams, C as validateConfigPatchParams, Cn as normalizeDeviceMetadataForAuth, D as validateCronAddParams, Dn as consumeDeviceBootstrapToken, E as validateConnectParams, En as approveDevicePairing, F as validateDevicePairListParams, Fn as revokeDeviceToken, Ft as validateSkillsBinsParams, G as validateExecApprovalsSetParams, Gt as validateTalkRealtimeSessionParams, H as validateExecApprovalsGetParams, Ht as validateTalkRealtimeAudioParams, I as validateDevicePairRejectParams, In as rotateDeviceToken, It as validateSkillsInstallParams, J as validateModelsListParams, Jt as validateTalkRealtimeToolResultParams, K as validateLogsTailParams, Kt as validateTalkRealtimeStatusParams, L as validateDevicePairRemoveParams, Ln as summarizeDeviceTokens, Lt as validateSkillsStatusParams, M as validateCronStatusParams, Mn as rejectDevicePairing, N as validateCronUpdateParams, Nn as removePairedDevice, Nt as validateSessionsTitlePrepareParams, O as validateCronListParams, On as ensureDeviceToken, P as validateDevicePairApproveParams, Pn as requestDevicePairing, Pt as validateSessionsUsageParams, Q as validateNodeInvokeResultParams, Qt as validateTalkSessionCloseParams, R as validateDeviceTokenRevokeParams, Rn as updatePairedDeviceMetadata, Rt as validateSkillsUpdateParams, S as validateConfigGetParams, Sn as buildDeviceAuthPayloadV3, T as validateConfigSetParams, Tn as approveBootstrapDevicePairing, U as validateExecApprovalsNodeGetParams, Un as operatorScopeSatisfied, Ut as validateTalkRealtimeBargeInParams, V as validateExecApprovalResolveParams, Vt as validateTalkModeParams, W as validateExecApprovalsNodeSetParams, Wn as roleScopesAllow, Wt as validateTalkRealtimeMarkParams, X as validateNodeEventParams, Xn as verifyDeviceSignature, Xt as validateTalkSessionBargeInParams, Y as validateNodeDescribeParams, Yn as normalizeDevicePublicKeyBase64Url, Yt as validateTalkSessionAppendAudioParams, Z as validateNodeInvokeParams, Zt as validateTalkSessionCancelTurnParams, _ as validateChatAbortParams, _n as ErrorCodes, a as validateAgentNudgeParams, an as validateToolsCatalogParams, at as validateNodeRenameParams, b as validateChatSendParams, c as validateAgentsCreateParams, cn as validateWebLoginStartParams, ct as validateRequestFrame, d as validateAgentsFilesListParams, dn as validateWizardNextParams, dt as validateSendParams, en as validateTalkSessionMarkParams, et as validateNodePairApproveParams, f as validateAgentsFilesSetParams, fn as validateWizardStartParams, ft as validateSessionsAbortParams, g as validateChannelsStatusParams, h as validateChannelsLogoutParams, hn as RUNS_INVALIDATED_EVENT, i as validateAgentIdentityParams, in as validateTasksRunsListParams, it as validateNodePairVerifyParams, j as validateCronRunsParams, jn as listDevicePairing, jt as validateSessionsSteerParams, k as validateCronRemoveParams, kn as getPairedDevice, l as validateAgentsDeleteParams, ln as validateWebLoginWaitParams, lt as validateSecretsResolveParams, m as validateAgentsUpdateParams, mn as PROTOCOL_VERSION, nn as validateTasksRunsEventsParams, nt as validateNodePairRejectParams, o as validateAgentParams, on as validateUpdateRunParams, ot as validatePollParams, p as validateAgentsListParams, pn as validateWizardStatusParams, q as validateModelsAuthStatusParams, qn as deriveDeviceIdFromPublicKey, qt as validateTalkRealtimeStopParams, r as formatValidationErrors, rn as validateTasksRunsGetParams, rt as validateNodePairRequestParams, s as validateAgentWaitParams, sn as validateWakeParams, st as validatePushTestParams, tn as validateTasksRunEventsParams, tt as validateNodePairListParams, u as validateAgentsFilesGetParams, un as validateWizardCancelParams, ut as validateSecretsResolveResult, v as validateChatHistoryParams, vn as errorShape, w as validateConfigSchemaParams, x as validateConfigApplyParams, xn as buildDeviceAuthPayload, y as validateChatInjectParams, z as validateDeviceTokenRotateParams, zn as verifyDeviceBootstrapToken, zt as validateTalkCatalogParams } from "./client-MNVuOIDb.js";
68
- import { _ as hasNarrowSessionScope, d as APPROVALS_SCOPE, f as PAIRING_SCOPE, g as authorizeOperatorScopesForMethod, h as WRITE_SCOPE, m as SESSION_READ_SCOPE, n as callGateway, p as READ_SCOPE, u as ADMIN_SCOPE$1, v as isHealthProbeAllowedForScopes, x as loadGatewayTlsRuntime$1, y as isNodeRoleMethod } from "./call-CMjUSitZ.js";
66
+ import { a as cancelDelayedAgentTurnWaiters, c as enqueueAgentTurn, i as agentTurnIdempotencyKey, l as isClaimableAgentTurnWorkId, r as AGENT_TURN_TOPIC, s as createRecoveryAgentTurnStager } from "./agent-turn-enqueue-Dwz_R_DW.js";
67
+ import { $ as validateNodeListParams, $t as validateTalkSessionCreateParams, A as validateCronRunParams, B as validateExecApprovalRequestParams, Bn as verifyDeviceToken, Bt as validateTalkConfigParams, C as validateConfigPatchParams, Cn as normalizeDeviceMetadataForAuth, D as validateCronAddParams, Dn as consumeDeviceBootstrapToken, E as validateConnectParams, En as approveDevicePairing, F as validateDevicePairListParams, Fn as revokeDeviceToken, Ft as validateSkillsBinsParams, G as validateExecApprovalsSetParams, Gt as validateTalkRealtimeSessionParams, H as validateExecApprovalsGetParams, Ht as validateTalkRealtimeAudioParams, I as validateDevicePairRejectParams, In as rotateDeviceToken, It as validateSkillsInstallParams, J as validateModelsListParams, Jt as validateTalkRealtimeToolResultParams, K as validateLogsTailParams, Kt as validateTalkRealtimeStatusParams, L as validateDevicePairRemoveParams, Ln as summarizeDeviceTokens, Lt as validateSkillsStatusParams, M as validateCronStatusParams, Mn as rejectDevicePairing, N as validateCronUpdateParams, Nn as removePairedDevice, Nt as validateSessionsTitlePrepareParams, O as validateCronListParams, On as ensureDeviceToken, P as validateDevicePairApproveParams, Pn as requestDevicePairing, Pt as validateSessionsUsageParams, Q as validateNodeInvokeResultParams, Qt as validateTalkSessionCloseParams, R as validateDeviceTokenRevokeParams, Rn as updatePairedDeviceMetadata, Rt as validateSkillsUpdateParams, S as validateConfigGetParams, Sn as buildDeviceAuthPayloadV3, T as validateConfigSetParams, Tn as approveBootstrapDevicePairing, U as validateExecApprovalsNodeGetParams, Un as operatorScopeSatisfied, Ut as validateTalkRealtimeBargeInParams, V as validateExecApprovalResolveParams, Vt as validateTalkModeParams, W as validateExecApprovalsNodeSetParams, Wn as roleScopesAllow, Wt as validateTalkRealtimeMarkParams, X as validateNodeEventParams, Xn as verifyDeviceSignature, Xt as validateTalkSessionBargeInParams, Y as validateNodeDescribeParams, Yn as normalizeDevicePublicKeyBase64Url, Yt as validateTalkSessionAppendAudioParams, Z as validateNodeInvokeParams, Zt as validateTalkSessionCancelTurnParams, _ as validateChatAbortParams, _n as ErrorCodes, a as validateAgentNudgeParams, an as validateToolsCatalogParams, at as validateNodeRenameParams, b as validateChatSendParams, c as validateAgentsCreateParams, cn as validateWebLoginStartParams, ct as validateRequestFrame, d as validateAgentsFilesListParams, dn as validateWizardNextParams, dt as validateSendParams, en as validateTalkSessionMarkParams, et as validateNodePairApproveParams, f as validateAgentsFilesSetParams, fn as validateWizardStartParams, ft as validateSessionsAbortParams, g as validateChannelsStatusParams, h as validateChannelsLogoutParams, hn as RUNS_INVALIDATED_EVENT, i as validateAgentIdentityParams, in as validateTasksRunsListParams, it as validateNodePairVerifyParams, j as validateCronRunsParams, jn as listDevicePairing, jt as validateSessionsSteerParams, k as validateCronRemoveParams, kn as getPairedDevice, l as validateAgentsDeleteParams, ln as validateWebLoginWaitParams, lt as validateSecretsResolveParams, m as validateAgentsUpdateParams, mn as PROTOCOL_VERSION, nn as validateTasksRunsEventsParams, nt as validateNodePairRejectParams, o as validateAgentParams, on as validateUpdateRunParams, ot as validatePollParams, p as validateAgentsListParams, pn as validateWizardStatusParams, q as validateModelsAuthStatusParams, qn as deriveDeviceIdFromPublicKey, qt as validateTalkRealtimeStopParams, r as formatValidationErrors, rn as validateTasksRunsGetParams, rt as validateNodePairRequestParams, s as validateAgentWaitParams, sn as validateWakeParams, st as validatePushTestParams, tn as validateTasksRunEventsParams, tt as validateNodePairListParams, u as validateAgentsFilesGetParams, un as validateWizardCancelParams, ut as validateSecretsResolveResult, v as validateChatHistoryParams, vn as errorShape, w as validateConfigSchemaParams, x as validateConfigApplyParams, xn as buildDeviceAuthPayload, y as validateChatInjectParams, z as validateDeviceTokenRotateParams, zn as verifyDeviceBootstrapToken, zt as validateTalkCatalogParams } from "./client-BbpMX08n.js";
68
+ import { _ as hasNarrowSessionScope, d as APPROVALS_SCOPE, f as PAIRING_SCOPE, g as authorizeOperatorScopesForMethod, h as WRITE_SCOPE, m as SESSION_READ_SCOPE, n as callGateway, p as READ_SCOPE, u as ADMIN_SCOPE$1, v as isHealthProbeAllowedForScopes, x as loadGatewayTlsRuntime$1, y as isNodeRoleMethod } from "./call-Cl6Q0T5z.js";
69
69
  import "./pairing-token-A_0lRJCJ.js";
70
70
  import "./fetch-CY39qjQT.js";
71
- import { a as readChannelAllowFromStoreSync } from "./pairing-store-CL-UFd1J.js";
72
- import { a as maxAsk, c as normalizeExecApprovals, g as saveExecApprovalsV2, h as saveExecApprovals, i as loadExecApprovalsV2, l as readExecApprovalsSnapshot, m as resolveExecApprovalsReadOnly, o as mergeExecApprovalsSocketDefaults, r as ensureExecApprovals, s as minSecurity, t as DEFAULT_EXEC_APPROVAL_TIMEOUT_MS } from "./exec-approvals-C-_jrhwb.js";
73
- import { i as resolveSafeBins } from "./exec-approvals-allowlist-B2foVOBU.js";
74
- import "./exec-safe-bin-runtime-policy-CfsF46fx.js";
75
- import { _ as matchSystemRunApprovalBinding, g as buildSystemRunApprovalBinding, h as resolveSystemRunApprovalRuntimeContext, m as resolveSystemRunApprovalRequestContext, v as missingSystemRunApprovalBinding, y as toSystemRunApprovalMismatchError } from "./nodes-screen-Bu5K5Iky.js";
76
- import { r as resolveSystemRunCommand, t as canonicalizeLegacySystemRunParams } from "./system-run-command-uuNBjw5D.js";
71
+ import { a as readChannelAllowFromStoreSync } from "./pairing-store-CQ7fjFFo.js";
72
+ import { a as maxAsk, c as normalizeExecApprovals, g as saveExecApprovalsV2, h as saveExecApprovals, i as loadExecApprovalsV2, l as readExecApprovalsSnapshot, m as resolveExecApprovalsReadOnly, o as mergeExecApprovalsSocketDefaults, r as ensureExecApprovals, s as minSecurity, t as DEFAULT_EXEC_APPROVAL_TIMEOUT_MS } from "./exec-approvals-D8Tqfo34.js";
73
+ import { i as resolveSafeBins } from "./exec-approvals-allowlist-0xON2SZW.js";
74
+ import "./exec-safe-bin-runtime-policy-KSPaR73B.js";
75
+ import { _ as matchSystemRunApprovalBinding, g as buildSystemRunApprovalBinding, h as resolveSystemRunApprovalRuntimeContext, m as resolveSystemRunApprovalRequestContext, v as missingSystemRunApprovalBinding, y as toSystemRunApprovalMismatchError } from "./nodes-screen-BRZLdw3g.js";
76
+ import { r as resolveSystemRunCommand, t as canonicalizeLegacySystemRunParams } from "./system-run-command-AF8TLlEl.js";
77
77
  import { u as snapshotActiveRuns } from "./diagnostic-session-state-C6JXU3l4.js";
78
- import { A as setActiveRunProbe, M as stopDiagnosticHeartbeat, j as startDiagnosticHeartbeat, k as resolveStuckSessionWarnMs, t as clearActiveRunProbe } from "./diagnostic-BRYj59Hw.js";
78
+ import { A as setActiveRunProbe, M as stopDiagnosticHeartbeat, j as startDiagnosticHeartbeat, k as resolveStuckSessionWarnMs, t as clearActiveRunProbe } from "./diagnostic-BTSirPP0.js";
79
79
  import { t as CommandLane } from "./lanes-DA0g5tPR.js";
80
- import { D as onAgentEvent, E as getAgentRunContext, O as registerAgentRunContext, T as emitAgentEvent, a as getActiveEmbeddedRunCount, c as isEmbeddedPiRunInFlight, d as isInFlightVoiceAttempt, f as peekActiveEmbeddedRun, g as waitForEmbeddedPiRunEnd, l as isEmbeddedPiRunSteerable, o as getActiveEmbeddedRunOwner, r as clearActiveEmbeddedRun, s as isEmbeddedPiRunActive, t as abortEmbeddedPiRun, w as clearAgentRunContext } from "./runs-B3mLUDEo.js";
81
- import { a as getActiveTaskCount, c as getTotalQueueSize, d as setCommandLaneConcurrency, f as setGatewayDrainState, l as markGatewayDraining, p as waitForActiveTasks, u as resetAllLanes } from "./command-queue-Banup9vQ.js";
82
- import { a as resolveAgentIdentity, t as createReplyPrefixOptions } from "./reply-prefix-Cur1savb.js";
83
- import { o as normalizeReplyPayloadsForDelivery, t as deliverOutboundPayloads } from "./deliver-BpzzrBKl.js";
84
- import { a as getMachineDisplayName, i as startBrowserControlServiceFromConfig, n as createBrowserRouteDispatcher, r as createBrowserControlContext } from "./with-timeout-6n6HxT65.js";
85
- import { T as collectTelegramDuplicatePollerDiagnostics, d as loadCronStore, f as resolveCronStorePath, p as saveCronStore } from "./send-DweRAIgI.js";
86
- import { n as resolveModel } from "./model-CR-oCFb_.js";
87
- import "./session-consumer-agents-D_hiCJHw.js";
80
+ import { D as onAgentEvent, E as getAgentRunContext, O as registerAgentRunContext, T as emitAgentEvent, a as getActiveEmbeddedRunCount, c as isEmbeddedPiRunInFlight, d as isInFlightVoiceAttempt, f as peekActiveEmbeddedRun, g as waitForEmbeddedPiRunEnd, l as isEmbeddedPiRunSteerable, o as getActiveEmbeddedRunOwner, r as clearActiveEmbeddedRun, s as isEmbeddedPiRunActive, t as abortEmbeddedPiRun, w as clearAgentRunContext } from "./runs-Yajg-SST.js";
81
+ import { a as getActiveTaskCount, c as getTotalQueueSize, d as setCommandLaneConcurrency, f as setGatewayDrainState, l as markGatewayDraining, p as waitForActiveTasks, u as resetAllLanes } from "./command-queue-B1RxJ6bM.js";
82
+ import { a as resolveAgentIdentity, t as createReplyPrefixOptions } from "./reply-prefix-D0xrt6Z-.js";
83
+ import { o as normalizeReplyPayloadsForDelivery, t as deliverOutboundPayloads } from "./deliver-Bhlx9VG9.js";
84
+ import { a as getMachineDisplayName, i as startBrowserControlServiceFromConfig, n as createBrowserRouteDispatcher, r as createBrowserControlContext } from "./with-timeout-NhJMC1fC.js";
85
+ import { T as collectTelegramDuplicatePollerDiagnostics, d as loadCronStore, f as resolveCronStorePath, p as saveCronStore } from "./send-Cy2xiH02.js";
86
+ import { n as resolveModel } from "./model-BI6n6kVo.js";
87
+ import "./session-consumer-agents-DWh7Mygv.js";
88
88
  import { n as formatTokenCount, r as formatUsd } from "./usage-format-F-4FwfCE.js";
89
- import "./chunk-BTTi6And.js";
90
- import "./markdown-tables-pIjKFnaZ.js";
91
- import "./ir-D--2OWCl.js";
89
+ import "./chunk-BDQQgsxn.js";
90
+ import "./markdown-tables-BEZ0s08w.js";
91
+ import "./ir-DDAVSgbQ.js";
92
92
  import "./render-B5HNUbes.js";
93
- import "./reply-directives-HkwESo_w.js";
94
- import { n as resolveMessageChannelSelection } from "./channel-selection-WlHA0Mjg.js";
95
- import { o as normalizePollInput, t as getChannelActivity } from "./channel-activity-etjAZzDh.js";
96
- import { i as applyPluginAutoEnable, n as collectUnsafeTelegramPollingTimeouts, s as buildChannelUiCatalog } from "./polling-timeout-DQakFlgy.js";
97
- import "./send-DkVvmrg9.js";
98
- import "./outbound-attachment-BqIKnptw.js";
93
+ import "./reply-directives-D5wW1el3.js";
94
+ import { n as resolveMessageChannelSelection } from "./channel-selection-zg0Iqza4.js";
95
+ import { o as normalizePollInput, t as getChannelActivity } from "./channel-activity-CE3dhlxR.js";
96
+ import { i as applyPluginAutoEnable, n as collectUnsafeTelegramPollingTimeouts, s as buildChannelUiCatalog } from "./polling-timeout-lNYd7owP.js";
97
+ import "./send-9toI8d1j.js";
98
+ import "./outbound-attachment-Bg7WvYcG.js";
99
99
  import "./delivery-queue-DhBE3s1K.js";
100
- import "./send-BXSNB2Gu.js";
101
- import "./resolve-route-C7CVSjFi.js";
102
- import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, r as resolveEffectiveToolPolicy } from "./pi-tools.policy-BViSZbge.js";
103
- import "./tables-CI3gYRvQ.js";
104
- import "./proxy-XUweXx3b.js";
105
- import "./replies-Bg8KJkdJ.js";
106
- import { S as registerSkillsChangeListener, _ as requestNodePairing, c as recordRemoteNodeInfo, d as removeRemoteNodeInfo, f as setSkillsRemoteRegistry, g as renamePairedNode, h as rejectNodePairing, l as refreshRemoteBinsForConnectedNodes, m as listNodePairing, o as getRemoteSkillEligibility, p as approveNodePairing, s as primeRemoteSkillsCache, u as refreshRemoteNodeBins, v as updatePairedNodeMetadata, x as getSkillsSnapshotVersion, y as verifyNodeToken } from "./skill-commands-D0sJs3ds.js";
107
- import { t as listAgentWorkspaceDirs } from "./workspace-dirs-B9yugPA_.js";
108
- import "./user-run-recording-DjkX5Mx3.js";
109
- import { n as GATEWAY_AUTH_SURFACE_PATHS, p as isKnownSecretTargetId, r as evaluateGatewayAuthSurfaceStates } from "./runtime-config-collectors-CwBbdMqb.js";
110
- import "./command-secret-targets-84-Vq1Kn.js";
111
- import { a as getGatewayInstanceId, o as resolveSessionRunStore, t as createSessionRunRecorder } from "./recorder-B9RfsO1r.js";
112
- import { C as normalizeControlUiBasePath, S as buildControlUiAvatarUrl, c as handleReset, w as resolveAssistantAvatarUrl, x as CONTROL_UI_AVATAR_PREFIX } from "./onboard-helpers-Dxgs6IKs.js";
113
- import "./prompt-style-DdJb0dOL.js";
114
- import "./pairing-labels-BCnxr7Pt.js";
115
- import "./session-meta-CXWLeYOC.js";
116
- import { A as registerBeforeCreate, C as artifactTokenFor, D as markRemoved, E as markClientRemovedAcknowledged, M as buildVerificationEnvelope, N as redactVerificationProjection, O as markRetained, P as verificationEnvelopeFingerprint, S as accountSessionArtifactsAtTerminalSweep, T as listSessionArtifacts, _ as requireProcessBootIdentityPair, a as setAgentTurnRuntime, b as installGatewayRestartRecoveryRuntime, d as isSoakError, f as readTrustedBuildInfo, g as isBootIdentityError, h as deriveBootIdentityPair, i as getAgentTurnRuntime, j as VERIFICATION_CONFIG_SCENARIO, k as redactArtifactLogId, l as buildSoakDeploymentRecord, m as armBarrier, n as createAgentTurnRuntimeFromStorage, o as tryGetAgentTurnRuntime, p as acceptSuccessorExecution, r as getActiveAgentTurnCount, u as evaluateSoak, v as clearGatewayRestartRecoveryRuntimeIf, w as isArtifactRegistrationError, x as RETAINED_ARTIFACT_KIND, y as getGatewayRestartRecoveryRuntime } from "./agent-turn-runner-BGmkN_A8.js";
117
- import { i as resolveMemoryBackendConfig, r as getMemorySearchManager } from "./memory-cli-CFyBR_Pp.js";
118
- import { r as resolveMemorySearchConfig } from "./manager-LX1QQ8aK.js";
119
- import "./query-expansion-DNw0oY0W.js";
120
- import { t as formatDocsLink } from "./links-DZMDihQ-.js";
100
+ import "./send-26KAC8EW.js";
101
+ import "./resolve-route-DnhX9nWr.js";
102
+ import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, r as resolveEffectiveToolPolicy } from "./pi-tools.policy-4GqIom7_.js";
103
+ import "./tables-CzW-cMQN.js";
104
+ import "./proxy-Df2WAHRA.js";
105
+ import "./replies-DoejQAqN.js";
106
+ import { S as registerSkillsChangeListener, _ as requestNodePairing, c as recordRemoteNodeInfo, d as removeRemoteNodeInfo, f as setSkillsRemoteRegistry, g as renamePairedNode, h as rejectNodePairing, l as refreshRemoteBinsForConnectedNodes, m as listNodePairing, o as getRemoteSkillEligibility, p as approveNodePairing, s as primeRemoteSkillsCache, u as refreshRemoteNodeBins, v as updatePairedNodeMetadata, x as getSkillsSnapshotVersion, y as verifyNodeToken } from "./skill-commands-Be2Bqqsm.js";
107
+ import { t as listAgentWorkspaceDirs } from "./workspace-dirs-_vJAsBIN.js";
108
+ import "./user-run-recording-CTVI96gC.js";
109
+ import { n as GATEWAY_AUTH_SURFACE_PATHS, p as isKnownSecretTargetId, r as evaluateGatewayAuthSurfaceStates } from "./runtime-config-collectors-B4N79pBu.js";
110
+ import "./command-secret-targets-DtDJB3vv.js";
111
+ import { a as getGatewayInstanceId, o as resolveSessionRunStore, t as createSessionRunRecorder } from "./recorder-BntUAL0_.js";
112
+ import { C as normalizeControlUiBasePath, S as buildControlUiAvatarUrl, c as handleReset, w as resolveAssistantAvatarUrl, x as CONTROL_UI_AVATAR_PREFIX } from "./onboard-helpers-ziqfw3UR.js";
113
+ import "./prompt-style-D0wRuIYC.js";
114
+ import "./pairing-labels-CGUWaZ3f.js";
115
+ import "./session-meta-DzjDKcgW.js";
116
+ import { A as registerBeforeCreate, C as artifactTokenFor, D as markRemoved, E as markClientRemovedAcknowledged, M as buildVerificationEnvelope, N as redactVerificationProjection, O as markRetained, P as verificationEnvelopeFingerprint, S as accountSessionArtifactsAtTerminalSweep, T as listSessionArtifacts, _ as requireProcessBootIdentityPair, a as setAgentTurnRuntime, b as installGatewayRestartRecoveryRuntime, d as isSoakError, f as readTrustedBuildInfo, g as isBootIdentityError, h as deriveBootIdentityPair, i as getAgentTurnRuntime, j as VERIFICATION_CONFIG_SCENARIO, k as redactArtifactLogId, l as buildSoakDeploymentRecord, m as armBarrier, n as createAgentTurnRuntimeFromStorage, o as tryGetAgentTurnRuntime, p as acceptSuccessorExecution, r as getActiveAgentTurnCount, u as evaluateSoak, v as clearGatewayRestartRecoveryRuntimeIf, w as isArtifactRegistrationError, x as RETAINED_ARTIFACT_KIND, y as getGatewayRestartRecoveryRuntime } from "./agent-turn-runner-DFZxbjaC.js";
117
+ import { i as resolveMemoryBackendConfig, r as getMemorySearchManager } from "./memory-cli-DZyEfnsr.js";
118
+ import { r as resolveMemorySearchConfig } from "./manager-DehDxi2A.js";
119
+ import "./query-expansion-BD3CL_NZ.js";
120
+ import { t as formatDocsLink } from "./links-BhLGjTwm.js";
121
121
  import { n as runCommandWithRuntime } from "./cli-utils-DWSfnwCw.js";
122
- import { t as formatHelpExamples } from "./help-format-BC4GRIFN.js";
123
- import { n as withProgress } from "./progress-DVj1IfDI.js";
124
- import "./server-lifecycle-E2HPe1NZ.js";
122
+ import { t as formatHelpExamples } from "./help-format-DqpZruAs.js";
123
+ import { n as withProgress } from "./progress-DRMfDm7h.js";
124
+ import "./server-lifecycle-DcVZS1ln.js";
125
125
  import { i as parseAbsoluteTimeMs, r as resolveDefaultCronStaggerMs, t as normalizeCronStaggerMs } from "./stagger-BIZMWR_z.js";
126
- import { a as normalizeHttpWebhookUrl, l as normalizeOptionalText, o as inferLegacyName } from "./heartbeat-tick-RHab8Aje.js";
127
- 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-BtpCwP1X.js";
126
+ import { a as normalizeHttpWebhookUrl, l as normalizeOptionalText, o as inferLegacyName } from "./heartbeat-tick-CsyeD75h.js";
127
+ 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-Cm6wsMRx.js";
128
128
  import { i as loadSessionUsageTimeSeries, n as loadCostUsageSummary, r as loadSessionCostSummary, t as discoverAllSessions } from "./session-cost-usage-pjXSgi_U.js";
129
- import { t as ensureOpenClawCliOnPath } from "./path-env-CQ3HfD18.js";
130
- import "./runtime-guard-kynCEcXy.js";
131
- import { t as forceFreePortAndWait } from "./ports-D_uxJ7Lw.js";
132
- import "./recovery-prompt-B1_BcmiM.js";
133
- import { c as OwnerLockHeldError, d as createOwnerIdentity, f as RecoveryJournalError, i as REASON_PRIOR_OWNER_UNPROVEN, l as PriorOwnerLiveError, n as REASON_JOURNAL_UNWRITABLE, o as createRestartRecoveryController, p as openRecoveryJournal, r as REASON_OWNER_LOCK_HELD, s as OwnerFenceLostError, t as REASON_JOURNAL_CORRUPT, u as acquireOwnerFence } from "./controller-Z7o2nxni.js";
134
- import { t as buildWorkspaceSkillStatus } from "./skills-status-K-JYoR_J.js";
129
+ import { t as ensureOpenClawCliOnPath } from "./path-env-IcDKkMPr.js";
130
+ import "./runtime-guard-DYUXYZIl.js";
131
+ import { t as forceFreePortAndWait } from "./ports-BTxrPqTm.js";
132
+ import "./recovery-prompt-SkkJ8aCp.js";
133
+ import { c as OwnerLockHeldError, d as createOwnerIdentity, f as RecoveryJournalError, i as REASON_PRIOR_OWNER_UNPROVEN, l as PriorOwnerLiveError, n as REASON_JOURNAL_UNWRITABLE, o as createRestartRecoveryController, p as openRecoveryJournal, r as REASON_OWNER_LOCK_HELD, s as OwnerFenceLostError, t as REASON_JOURNAL_CORRUPT, u as acquireOwnerFence } from "./controller-0fS4uYcF.js";
134
+ import { t as buildWorkspaceSkillStatus } from "./skills-status-Dufi5_o3.js";
135
135
  import { n as DEFAULT_GATEWAY_HTTP_TOOL_DENY } from "./dangerous-tools-gv_rp-w_.js";
136
136
  import { n as inheritOptionFromParent } from "./command-options-6wdtBBWB.js";
137
137
  import { t as WizardCancelledError } from "./prompts-m1IJwIAx.js";
138
138
  import { t as resolveChannelDefaultAccountId } from "./helpers-CU6_xh9V.js";
139
- import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-BnEJCj-p.js";
140
- import { t as isWithinDir } from "./path-safety-DSl6BwW9.js";
141
- import "./install-safe-path-67wN9WdC.js";
142
- import "./npm-pack-install-Cbcm8AtO.js";
143
- import "./skill-scanner-D7Edx-Uz.js";
144
- import "./installs-BlKgbSFc.js";
145
- import { n as formatConfigIssueLines } from "./issue-format-B1dmuNNd.js";
139
+ import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-C-pTu-0T.js";
140
+ import { t as isWithinDir } from "./path-safety-DAKUyD-v.js";
141
+ import "./install-safe-path-DjFYmzeb.js";
142
+ import "./npm-pack-install-CFiN84Qw.js";
143
+ import "./skill-scanner-BA3h34y0.js";
144
+ import "./installs-CnAcm0ba.js";
145
+ import { n as formatConfigIssueLines } from "./issue-format-D0G927lb.js";
146
146
  import { t as buildChannelAccountSnapshot } from "./status-B8TZsG0t.js";
147
- import "./channels-status-issues-CyJj51t4.js";
148
- import { i as resolveGatewayClientProfile, t as WEB_CLIENT_ALLOWED_ORIGINS_CONFIG_KEY } from "./client-profiles-BAQWDfq6.js";
149
- import "./daemon-install-helpers-CG4IZ_7L.js";
150
- import "./service-CH9BWwSD.js";
151
- import "./systemd-LaMffSwB.js";
152
- import "./lifecycle-core-DfYD23X_.js";
153
- import "./systemd-hints-Cq7MC9oh.js";
147
+ import "./channels-status-issues-C6LrjLpF.js";
148
+ import { i as resolveGatewayClientProfile, t as WEB_CLIENT_ALLOWED_ORIGINS_CONFIG_KEY } from "./client-profiles-BNQu4_Z_.js";
149
+ import "./daemon-install-helpers-C8mJ0UpL.js";
150
+ import "./service-Hy5BSgmp.js";
151
+ import "./systemd-DsBMxUv1.js";
152
+ import "./lifecycle-core-B3-ezmTx.js";
153
+ import "./systemd-hints-WHzM5Tf8.js";
154
154
  import { t as parsePort$1 } from "./parse-port-p0PJP2nG.js";
155
- import { n as addGatewayServiceCommands } from "./daemon-cli-UPL01HBu.js";
156
- import "./diagnostics-BTeays6z.js";
157
- import "./table-BntrQEtu.js";
158
- import { n as resolveWideAreaDiscoveryDomain, r as writeWideAreaGatewayZone } from "./widearea-dns-DZj5625G.js";
159
- import { i as toOptionString, n as extractGatewayMiskeys, r as maybeExplainGatewayServiceStop, t as describeUnknownError } from "./shared-CRF96lZH.js";
160
- import { a as probeGateway, n as collectEnabledInsecureOrDangerousFlags } from "./audit-DIH0DO00.js";
161
- import { t as discoverGatewayBeacons } from "./bonjour-discovery-BBOJN88F.js";
162
- import { a as noteStorageReplayResult, i as getStorageV1Snapshot, n as getStatusSummary, o as noteStorageRestartRequired, r as createStorageSupervisor, s as pickGatewaySelfPresence } from "./status-CYumLEox.js";
163
- import { c as redactOwner, d as redactSensitiveHealthSummary, f as styleHealthChannelLine, n as getHealthSnapshot, t as formatHealthChannelLines } from "./health-CDGk5xDG.js";
164
- import { a as readPostQuiesceTranscriptDelta, i as readBulkTranscriptLines, o as replaySource, r as mergeBulkTranscriptSnapshotAndDelta, t as ReplayRowConflictError } from "./replay-DzQXXHrC.js";
165
- import "./session-key-resolution-BlwVEVt_.js";
166
- import { c as waitForStopDrain, l as withTimeout, o as tasksHandlers, r as getTaskOperatorRegistry, s as retryDelayMs, t as DEFAULT_RETENTION_DAYS } from "./task-runlog-retention-BlMTtOsA.js";
167
- import { a as resolveControlUiRootSync, i as resolveControlUiRootOverrideSync, t as ensureControlUiAssetsBuilt } from "./control-ui-assets-D-_OfiOV.js";
168
- import { h as normalizeUpdateChannel, l as DEFAULT_PACKAGE_CHANNEL, n as checkUpdateStatus, o as resolveNpmChannelTag, r as compareSemverStrings } from "./channel-account-context-Dc7AMtZ7.js";
169
- import { t as reconcileBundledInstalls } from "./reconcile-bundled-CoL_d96f.js";
170
- import { a as resolveCommandSecretsFromActiveRuntimeSnapshot, i as prepareSecretsRuntimeSnapshot, n as clearSecretsRuntimeSnapshot, r as getActiveSecretsRuntimeSnapshot, t as activateSecretsRuntimeSnapshot } from "./runtime-Dp2vE941.js";
171
- import "./onboarding.secret-input-BOKPA83p.js";
172
- import { t as runOnboardingWizard } from "./onboarding-Bd05RKZ7.js";
173
- import { a as computeJobNextRunAtMs, c as findJobOrThrow, d as recomputeNextRuns, f as recomputeNextRunsForMaintenance, h as produceCronAgentTurn, i as applyJobPatch, l as isJobDue, m as resolveJobPayloadTextForMain, o as createJob, p as recordScheduleComputeError, r as resolveStaleClaimAdoptionMs, s as cronShapeSupportsIdentity, t as CRON_HEARTBEAT_ADAPTER_ID, u as nextWakeAtMs } from "./recovery-adapter-Bokfvz7s.js";
174
- 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--BFmn4qT.js";
175
- import { T as resolveGmailHookRuntimeConfig, _ as buildGogWatchServeArgs, i as ensureTailscaleEndpoint, v as buildGogWatchStartArgs } from "./gmail-setup-utils-DWxTEPL5.js";
176
- import { a as readChatHistoryPage, c as unsubscribeSessionChanges, i as decodeHistoryCursor, l as assertValidParams, o as resolveDbLeafEntryId, r as InvalidHistoryCursorError, s as resolveDbMessageEntryById, t as sessionsHandlers } from "./sessions-C6bPQgaD.js";
177
- import { n as isNodeCommandAllowed, r as resolveNodeCommandAllowlist } from "./node-command-policy-CggBPF1a.js";
178
- import "./node-service-yxlqFzdT.js";
179
- import "./status.update-CDd1OP3p.js";
180
- import { i as resolveActiveLogFile, n as readLogSlice } from "./log-tail-COb9xmHL.js";
181
- import { t as installSkill } from "./skills-install-BUqzygk8.js";
182
- import { r as runGatewayUpdate } from "./update-runner-CrNSgmGV.js";
183
- import { n as resolveWebClientPackagedRootSync, t as WEB_CLIENT_BUNDLE_MISSING_MESSAGE } from "./web-client-assets-O1Zun47I.js";
184
- import { i as shouldIncludeHook, r as resolveHookConfig, t as loadWorkspaceHookEntries } from "./workspace-CgJWyvaY.js";
185
- import { c as heartbeatProbeRunArtifactId, d as runIsolatedHeartbeatProbe, i as HEARTBEAT_PROBE_REASON, l as isHeartbeatProbeError, o as assertHeartbeatProbeDeliveryIsSafe, p as readValidationActivation, r as HEARTBEAT_PROBE_ALLOWED_TARGET, s as assertHeartbeatProbeParamsAreClosed, t as VALIDATION_ABORT_COMMAND, u as probeSessionKey$1 } from "./operator-commands-B0t7kxcZ.js";
155
+ import { n as addGatewayServiceCommands } from "./daemon-cli-C5cAb15Z.js";
156
+ import "./diagnostics-FIcvxigK.js";
157
+ import "./table-DoIju7rh.js";
158
+ import { n as resolveWideAreaDiscoveryDomain, r as writeWideAreaGatewayZone } from "./widearea-dns-DgeeMUtJ.js";
159
+ import { i as toOptionString, n as extractGatewayMiskeys, r as maybeExplainGatewayServiceStop, t as describeUnknownError } from "./shared-Bc-7t0_-.js";
160
+ import { a as probeGateway, n as collectEnabledInsecureOrDangerousFlags } from "./audit-C_g-UVNn.js";
161
+ import { t as discoverGatewayBeacons } from "./bonjour-discovery-C517Q6gA.js";
162
+ import { a as noteStorageReplayResult, i as getStorageV1Snapshot, n as getStatusSummary, o as noteStorageRestartRequired, r as createStorageSupervisor, s as pickGatewaySelfPresence } from "./status-BYesh62t.js";
163
+ import { c as redactOwner, d as redactSensitiveHealthSummary, f as styleHealthChannelLine, n as getHealthSnapshot, t as formatHealthChannelLines } from "./health-DFWpyp9O.js";
164
+ import { a as readPostQuiesceTranscriptDelta, i as readBulkTranscriptLines, o as replaySource, r as mergeBulkTranscriptSnapshotAndDelta, t as ReplayRowConflictError } from "./replay-BHfUVVHN.js";
165
+ import "./session-key-resolution-DDJD1XYy.js";
166
+ import { c as waitForStopDrain, l as withTimeout, o as tasksHandlers, r as getTaskOperatorRegistry, s as retryDelayMs, t as DEFAULT_RETENTION_DAYS } from "./task-runlog-retention-BZrnJGL1.js";
167
+ import { a as resolveControlUiRootSync, i as resolveControlUiRootOverrideSync, t as ensureControlUiAssetsBuilt } from "./control-ui-assets-DonecnKL.js";
168
+ import { h as normalizeUpdateChannel, l as DEFAULT_PACKAGE_CHANNEL, n as checkUpdateStatus, o as resolveNpmChannelTag, r as compareSemverStrings } from "./channel-account-context-C9otZxLF.js";
169
+ import { t as reconcileBundledInstalls } from "./reconcile-bundled-BMWDZl32.js";
170
+ import { a as resolveCommandSecretsFromActiveRuntimeSnapshot, i as prepareSecretsRuntimeSnapshot, n as clearSecretsRuntimeSnapshot, r as getActiveSecretsRuntimeSnapshot, t as activateSecretsRuntimeSnapshot } from "./runtime-Ch9itsH4.js";
171
+ import "./onboarding.secret-input-BCxy1JxD.js";
172
+ import { t as runOnboardingWizard } from "./onboarding-D9VO9_5U.js";
173
+ import { a as computeJobNextRunAtMs, c as findJobOrThrow, d as recomputeNextRuns, f as recomputeNextRunsForMaintenance, h as produceCronAgentTurn, i as applyJobPatch, l as isJobDue, m as resolveJobPayloadTextForMain, o as createJob, p as recordScheduleComputeError, r as resolveStaleClaimAdoptionMs, s as cronShapeSupportsIdentity, t as CRON_HEARTBEAT_ADAPTER_ID, u as nextWakeAtMs } from "./recovery-adapter-BF5ESanQ.js";
174
+ 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-Mp5OOpUH.js";
175
+ import { T as resolveGmailHookRuntimeConfig, _ as buildGogWatchServeArgs, i as ensureTailscaleEndpoint, v as buildGogWatchStartArgs } from "./gmail-setup-utils-CRvbl5q3.js";
176
+ import { a as readChatHistoryPage, c as unsubscribeSessionChanges, i as decodeHistoryCursor, l as assertValidParams, o as resolveDbLeafEntryId, r as InvalidHistoryCursorError, s as resolveDbMessageEntryById, t as sessionsHandlers } from "./sessions-BQYQBpX0.js";
177
+ import { n as isNodeCommandAllowed, r as resolveNodeCommandAllowlist } from "./node-command-policy-B9A0wAU6.js";
178
+ import "./node-service-BnwLXY5x.js";
179
+ import "./status.update-BOB92yBQ.js";
180
+ import { i as resolveActiveLogFile, n as readLogSlice } from "./log-tail-BAg8b5Wq.js";
181
+ import { t as installSkill } from "./skills-install-DqCRPwE1.js";
182
+ import { r as runGatewayUpdate } from "./update-runner-BYv_ec3N.js";
183
+ import { n as resolveWebClientPackagedRootSync, t as WEB_CLIENT_BUNDLE_MISSING_MESSAGE } from "./web-client-assets-CJyKwFRS.js";
184
+ import { i as shouldIncludeHook, r as resolveHookConfig, t as loadWorkspaceHookEntries } from "./workspace-CcKQx_l1.js";
185
+ import { c as heartbeatProbeRunArtifactId, d as runIsolatedHeartbeatProbe, i as HEARTBEAT_PROBE_REASON, l as isHeartbeatProbeError, o as assertHeartbeatProbeDeliveryIsSafe, p as readValidationActivation, r as HEARTBEAT_PROBE_ALLOWED_TARGET, s as assertHeartbeatProbeParamsAreClosed, t as VALIDATION_ABORT_COMMAND, u as probeSessionKey$1 } from "./operator-commands-BRKxpjt9.js";
186
186
  import { createRequire } from "node:module";
187
187
  import { cpuUsage, memoryUsage, resourceUsage, uptime } from "node:process";
188
188
  import { fileURLToPath, pathToFileURL } from "node:url";
@@ -190,7 +190,7 @@ import * as fsSync from "node:fs";
190
190
  import fs, { mkdirSync } from "node:fs";
191
191
  import os from "node:os";
192
192
  import path from "node:path";
193
- import fsPromises from "node:fs/promises";
193
+ import fs$1 from "node:fs/promises";
194
194
  import { isDeepStrictEqual, promisify } from "node:util";
195
195
  import zlib from "node:zlib";
196
196
  import chalk from "chalk";
@@ -1399,7 +1399,7 @@ function resolveCheckIntervalMs(cfg) {
1399
1399
  }
1400
1400
  async function readState(statePath) {
1401
1401
  try {
1402
- const raw = await fsPromises.readFile(statePath, "utf-8");
1402
+ const raw = await fs$1.readFile(statePath, "utf-8");
1403
1403
  const parsed = JSON.parse(raw);
1404
1404
  return parsed && typeof parsed === "object" ? parsed : {};
1405
1405
  } catch {
@@ -1480,7 +1480,7 @@ async function runAutoUpdateCommand(params) {
1480
1480
  path.join(params.root, "dist", "index.mjs")
1481
1481
  ];
1482
1482
  for (const candidate of candidates) try {
1483
- await fsPromises.access(candidate);
1483
+ await fs$1.access(candidate);
1484
1484
  argv.push(execPath, candidate, ...baseArgs);
1485
1485
  break;
1486
1486
  } catch {}
@@ -3064,13 +3064,13 @@ async function resolveGatewayRecoveryAdapters(cfg, opts) {
3064
3064
  async function assembleFirstPartyAdapters(cfg, wiring) {
3065
3065
  const adapters = [];
3066
3066
  const stateDir = resolveStateDir();
3067
- const { getConfiguredSessionStorageRuntime } = await import("./model-selection-C8GCtGby.js").then((n) => n.hi);
3067
+ const { getConfiguredSessionStorageRuntime } = await import("./model-selection-k68XU4oS.js").then((n) => n.hi);
3068
3068
  const runtime = getConfiguredSessionStorageRuntime()?.runtime;
3069
3069
  const gatewayInstanceId = getGatewayInstanceId();
3070
- const { tryGetAgentTurnRuntime } = await import("./agent-turn-runner-BGmkN_A8.js").then((n) => n.t);
3070
+ const { tryGetAgentTurnRuntime } = await import("./agent-turn-runner-DFZxbjaC.js").then((n) => n.t);
3071
3071
  const backbone = tryGetAgentTurnRuntime()?.backbone;
3072
3072
  const { createOutboundDeliveryRecoveryAdapter } = await import("./delivery-recovery-adapter-CXwijCdD.js");
3073
- const { deliverOutboundPayloads } = await import("./deliver-BpzzrBKl.js").then((n) => n.n);
3073
+ const { deliverOutboundPayloads } = await import("./deliver-Bhlx9VG9.js").then((n) => n.n);
3074
3074
  adapters.push(createOutboundDeliveryRecoveryAdapter({
3075
3075
  cfg,
3076
3076
  deliver: deliverOutboundPayloads,
@@ -3084,7 +3084,7 @@ async function assembleFirstPartyAdapters(cfg, wiring) {
3084
3084
  sessionRuns = void 0;
3085
3085
  }
3086
3086
  if (sessionRuns && wiring?.agentTurnStager) {
3087
- const { createSessionRunRecoveryAdapter } = await import("./recovery-adapter-CMFB03AL.js");
3087
+ const { createSessionRunRecoveryAdapter } = await import("./recovery-adapter-NtvPZ47M.js");
3088
3088
  adapters.push(createSessionRunRecoveryAdapter({
3089
3089
  store: sessionRuns,
3090
3090
  cfg,
@@ -3093,14 +3093,14 @@ async function assembleFirstPartyAdapters(cfg, wiring) {
3093
3093
  stager: wiring.agentTurnStager
3094
3094
  }));
3095
3095
  }
3096
- const { createStorageSupervisorRecoveryAdapter } = await import("./supervisor-recovery-adapter-BxLO7wjD.js");
3096
+ const { createStorageSupervisorRecoveryAdapter } = await import("./supervisor-recovery-adapter-CTaDRl_d.js");
3097
3097
  adapters.push(createStorageSupervisorRecoveryAdapter({
3098
3098
  stateDir,
3099
3099
  supervisor: wiring?.supervisor,
3100
3100
  lease: wiring?.lease ? () => wiring.lease?.() ?? { isArmed: () => false } : void 0
3101
3101
  }));
3102
3102
  if (backbone && wiring?.agentTurnStager) {
3103
- const { createAgentTurnRecoveryAdapter } = await import("./agent-turn-recovery-adapter-BRVxIXJY.js");
3103
+ const { createAgentTurnRecoveryAdapter } = await import("./agent-turn-recovery-adapter-DF3vdyE5.js");
3104
3104
  adapters.push(createAgentTurnRecoveryAdapter({
3105
3105
  backbone,
3106
3106
  stager: wiring.agentTurnStager
@@ -3114,7 +3114,7 @@ async function assembleFirstPartyAdapters(cfg, wiring) {
3114
3114
  }));
3115
3115
  }
3116
3116
  if (runtime?.cronJobs && runtime.taskRuns && sessionRuns) {
3117
- const { createCronHeartbeatRecoveryAdapter } = await import("./recovery-adapter-Bokfvz7s.js").then((n) => n.n);
3117
+ const { createCronHeartbeatRecoveryAdapter } = await import("./recovery-adapter-BF5ESanQ.js").then((n) => n.n);
3118
3118
  adapters.push(createCronHeartbeatRecoveryAdapter({
3119
3119
  cronJobs: runtime.cronJobs,
3120
3120
  taskRuns: runtime.taskRuns,
@@ -3122,7 +3122,7 @@ async function assembleFirstPartyAdapters(cfg, wiring) {
3122
3122
  }));
3123
3123
  }
3124
3124
  if (sessionRuns) {
3125
- const { createEmbeddedPiRecoveryAdapter } = await import("./pi-embedded-recovery-adapter-CB8bcT6A.js");
3125
+ const { createEmbeddedPiRecoveryAdapter } = await import("./pi-embedded-recovery-adapter-ZV9u5snz.js");
3126
3126
  adapters.push(createEmbeddedPiRecoveryAdapter({
3127
3127
  sessionRuns,
3128
3128
  cfg,
@@ -3130,11 +3130,11 @@ async function assembleFirstPartyAdapters(cfg, wiring) {
3130
3130
  stager: wiring?.agentTurnStager,
3131
3131
  isRunActive: isEmbeddedPiRunActive
3132
3132
  }));
3133
- const { createAcpRuntimeRecoveryAdapter } = await import("./recovery-adapter-B6QLivR9.js");
3133
+ const { createAcpRuntimeRecoveryAdapter } = await import("./recovery-adapter-BMqm3Nm4.js");
3134
3134
  adapters.push(createAcpRuntimeRecoveryAdapter({ sessionRuns }));
3135
3135
  }
3136
3136
  if (backbone) {
3137
- const { createPluginOwnedWorkRecoveryAdapter } = await import("./plugin-owned-work-recovery-adapter-CnQZf19o.js");
3137
+ const { createPluginOwnedWorkRecoveryAdapter } = await import("./plugin-owned-work-recovery-adapter-DHYQi-Bq.js");
3138
3138
  adapters.push(createPluginOwnedWorkRecoveryAdapter({ backbone }));
3139
3139
  }
3140
3140
  return adapters;
@@ -5658,9 +5658,9 @@ async function drainPendingWrite(filePath) {
5658
5658
  if (pending) await pending.catch(() => void 0);
5659
5659
  }
5660
5660
  async function pruneIfNeeded(filePath, opts) {
5661
- const stat = await fsPromises.stat(filePath).catch(() => null);
5661
+ const stat = await fs$1.stat(filePath).catch(() => null);
5662
5662
  if (!stat || stat.size <= opts.maxBytes) return;
5663
- const raw = await fsPromises.readFile(filePath, "utf-8").catch((err) => {
5663
+ const raw = await fs$1.readFile(filePath, "utf-8").catch((err) => {
5664
5664
  log$24.warn("cron run-log: prune skipped (read failed)", {
5665
5665
  filePath,
5666
5666
  err: String(err)
@@ -5672,14 +5672,14 @@ async function pruneIfNeeded(filePath, opts) {
5672
5672
  const kept = lines.slice(Math.max(0, lines.length - opts.keepLines));
5673
5673
  const { randomBytes } = await import("node:crypto");
5674
5674
  const tmp = `${filePath}.${process.pid}.${randomBytes(8).toString("hex")}.tmp`;
5675
- await fsPromises.writeFile(tmp, `${kept.join("\n")}\n`, "utf-8");
5676
- await fsPromises.rename(tmp, filePath);
5675
+ await fs$1.writeFile(tmp, `${kept.join("\n")}\n`, "utf-8");
5676
+ await fs$1.rename(tmp, filePath);
5677
5677
  }
5678
5678
  async function listCronRunLogReadPaths(filePath) {
5679
5679
  const resolved = path.resolve(filePath);
5680
5680
  const dir = path.dirname(resolved);
5681
5681
  const base = path.basename(resolved);
5682
- return [...(await fsPromises.readdir(dir).catch(() => [])).map((name) => {
5682
+ return [...(await fs$1.readdir(dir).catch(() => [])).map((name) => {
5683
5683
  const match = new RegExp(`^${base.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")}\\.(\\d+)(\\.gz)?$`).exec(name);
5684
5684
  return match ? {
5685
5685
  path: path.join(dir, name),
@@ -5688,8 +5688,8 @@ async function listCronRunLogReadPaths(filePath) {
5688
5688
  }).filter((entry) => entry !== null).toSorted((a, b) => b.slot - a.slot).map((entry) => entry.path), resolved];
5689
5689
  }
5690
5690
  async function readCronRunLogFile(filePath) {
5691
- if (filePath.endsWith(".gz")) return zlib.gunzipSync(await fsPromises.readFile(filePath)).toString("utf-8");
5692
- return fsPromises.readFile(filePath, "utf-8");
5691
+ if (filePath.endsWith(".gz")) return zlib.gunzipSync(await fs$1.readFile(filePath)).toString("utf-8");
5692
+ return fs$1.readFile(filePath, "utf-8");
5693
5693
  }
5694
5694
  async function readCronRunLogRaw(filePath) {
5695
5695
  const chunks = [];
@@ -5840,7 +5840,7 @@ async function readCronRunLogEntriesPageAll(opts) {
5840
5840
  const query = opts.query?.trim().toLowerCase() ?? "";
5841
5841
  const sortDir = opts.sortDir === "asc" ? "asc" : "desc";
5842
5842
  const runsDir = path.resolve(path.dirname(path.resolve(opts.storePath)), "runs");
5843
- const files = await fsPromises.readdir(runsDir, { withFileTypes: true }).catch(() => []);
5843
+ const files = await fs$1.readdir(runsDir, { withFileTypes: true }).catch(() => []);
5844
5844
  const logFiles = [...new Set(files.filter((entry) => entry.isFile()).map((entry) => {
5845
5845
  const match = /^(.+\.jsonl)(?:\.\d+(?:\.gz)?)?$/.exec(entry.name);
5846
5846
  return match ? path.join(runsDir, match[1] ?? "") : null;
@@ -10303,7 +10303,7 @@ function resolveWorkspaceFilePathResultOrThrow(params) {
10303
10303
  }
10304
10304
  async function resolveWorkspaceRealPath(workspaceDir) {
10305
10305
  try {
10306
- return await fsPromises.realpath(workspaceDir);
10306
+ return await fs$1.realpath(workspaceDir);
10307
10307
  } catch {
10308
10308
  return path.resolve(workspaceDir);
10309
10309
  }
@@ -10332,7 +10332,7 @@ async function resolveAgentWorkspaceFilePath(params) {
10332
10332
  };
10333
10333
  let candidateLstat;
10334
10334
  try {
10335
- candidateLstat = await fsPromises.lstat(candidatePath);
10335
+ candidateLstat = await fs$1.lstat(candidatePath);
10336
10336
  } catch (err) {
10337
10337
  return resolveWorkspaceFilePathResultOrThrow({
10338
10338
  error: err,
@@ -10343,7 +10343,7 @@ async function resolveAgentWorkspaceFilePath(params) {
10343
10343
  if (candidateLstat.isSymbolicLink()) {
10344
10344
  let targetReal;
10345
10345
  try {
10346
- targetReal = await fsPromises.realpath(candidatePath);
10346
+ targetReal = await fs$1.realpath(candidatePath);
10347
10347
  } catch (err) {
10348
10348
  return resolveWorkspaceFilePathResultOrThrow({
10349
10349
  error: err,
@@ -10358,7 +10358,7 @@ async function resolveAgentWorkspaceFilePath(params) {
10358
10358
  };
10359
10359
  let targetStat;
10360
10360
  try {
10361
- targetStat = await fsPromises.stat(targetReal);
10361
+ targetStat = await fs$1.stat(targetReal);
10362
10362
  } catch (err) {
10363
10363
  return resolveWorkspaceFilePathResultOrThrow({
10364
10364
  error: err,
@@ -10396,13 +10396,13 @@ async function resolveAgentWorkspaceFilePath(params) {
10396
10396
  return {
10397
10397
  kind: "ready",
10398
10398
  requestPath,
10399
- ioPath: await fsPromises.realpath(candidatePath).catch(() => candidatePath),
10399
+ ioPath: await fs$1.realpath(candidatePath).catch(() => candidatePath),
10400
10400
  workspaceReal
10401
10401
  };
10402
10402
  }
10403
10403
  async function statFileSafely(filePath) {
10404
10404
  try {
10405
- const [stat, lstat] = await Promise.all([fsPromises.stat(filePath), fsPromises.lstat(filePath)]);
10405
+ const [stat, lstat] = await Promise.all([fs$1.stat(filePath), fs$1.lstat(filePath)]);
10406
10406
  if (lstat.isSymbolicLink() || !stat.isFile()) return null;
10407
10407
  if (stat.nlink > 1) return null;
10408
10408
  if (!sameFileIdentity(stat, lstat)) return null;
@@ -10496,7 +10496,7 @@ function respondAgentNotFound(respond, agentId) {
10496
10496
  async function moveToTrashBestEffort(pathname) {
10497
10497
  if (!pathname) return;
10498
10498
  try {
10499
- await fsPromises.access(pathname);
10499
+ await fs$1.access(pathname);
10500
10500
  } catch {
10501
10501
  return;
10502
10502
  }
@@ -10572,7 +10572,7 @@ const agentsHandlers = {
10572
10572
  dir: workspaceDir,
10573
10573
  ensureBootstrapFiles: !Boolean(nextConfig.agents?.defaults?.skipBootstrap)
10574
10574
  });
10575
- await fsPromises.mkdir(resolveSessionTranscriptsDirForAgent(agentId), { recursive: true });
10575
+ await fs$1.mkdir(resolveSessionTranscriptsDirForAgent(agentId), { recursive: true });
10576
10576
  await writeConfigFile(nextConfig);
10577
10577
  const safeName = sanitizeIdentityLine(rawName);
10578
10578
  const emoji = resolveOptionalStringParam(params.emoji);
@@ -10585,7 +10585,7 @@ const agentsHandlers = {
10585
10585
  ...avatar ? [`- Avatar: ${sanitizeIdentityLine(avatar)}`] : [],
10586
10586
  ""
10587
10587
  ];
10588
- await fsPromises.appendFile(identityPath, lines.join("\n"), "utf-8");
10588
+ await fs$1.appendFile(identityPath, lines.join("\n"), "utf-8");
10589
10589
  respond(true, {
10590
10590
  ok: true,
10591
10591
  agentId,
@@ -10620,9 +10620,9 @@ const agentsHandlers = {
10620
10620
  });
10621
10621
  if (avatar) {
10622
10622
  const workspace = workspaceDir ?? resolveAgentWorkspaceDir(nextConfig, agentId);
10623
- await fsPromises.mkdir(workspace, { recursive: true });
10623
+ await fs$1.mkdir(workspace, { recursive: true });
10624
10624
  const identityPath = path.join(workspace, DEFAULT_IDENTITY_FILENAME);
10625
- await fsPromises.appendFile(identityPath, `\n- Avatar: ${sanitizeIdentityLine(avatar)}\n`, "utf-8");
10625
+ await fs$1.appendFile(identityPath, `\n- Avatar: ${sanitizeIdentityLine(avatar)}\n`, "utf-8");
10626
10626
  }
10627
10627
  respond(true, {
10628
10628
  ok: true,
@@ -10746,7 +10746,7 @@ const agentsHandlers = {
10746
10746
  const resolved = resolveAgentWorkspaceFileOrRespondError(params, respond);
10747
10747
  if (!resolved) return;
10748
10748
  const { agentId, workspaceDir, name } = resolved;
10749
- await fsPromises.mkdir(workspaceDir, { recursive: true });
10749
+ await fs$1.mkdir(workspaceDir, { recursive: true });
10750
10750
  const filePath = path.join(workspaceDir, name);
10751
10751
  const resolvedPath = await resolveWorkspaceFilePathOrRespond({
10752
10752
  respond,
@@ -16257,7 +16257,7 @@ const nodeHandlers = {
16257
16257
  const p = params;
16258
16258
  const payloadJSON = typeof p.payloadJSON === "string" ? p.payloadJSON : p.payload !== void 0 ? JSON.stringify(p.payload) : null;
16259
16259
  await respondUnavailableOnThrow(respond, async () => {
16260
- const { handleNodeEvent } = await import("./server-node-events-uGHyBXqP.js");
16260
+ const { handleNodeEvent } = await import("./server-node-events-BaFY8QcO.js");
16261
16261
  const nodeId = client?.connect?.device?.id ?? client?.connect?.client?.id ?? "node";
16262
16262
  await handleNodeEvent({
16263
16263
  deps: context.deps,
@@ -18054,8 +18054,8 @@ function logConsultFailure(reason) {
18054
18054
  }
18055
18055
  const defaultDeps = {
18056
18056
  runEmbeddedPiAgent,
18057
- mkdtemp: fsPromises.mkdtemp,
18058
- rm: fsPromises.rm,
18057
+ mkdtemp: fs$1.mkdtemp,
18058
+ rm: fs$1.rm,
18059
18059
  resolveAgentDir,
18060
18060
  resolveAgentWorkspaceDir,
18061
18061
  resolveDefaultAgentId,
@@ -24816,7 +24816,7 @@ function normalizeAgentPayload(payload) {
24816
24816
  async function startBrowserControlServerIfEnabled() {
24817
24817
  if (isTruthyEnvValue(process.env.OPENCLAW_SKIP_BROWSER_CONTROL_SERVER)) return null;
24818
24818
  const override = process.env.OPENCLAW_BROWSER_CONTROL_MODULE?.trim();
24819
- const mod = override ? await import(override) : await import("./server-BiyBJMEv.js");
24819
+ const mod = override ? await import(override) : await import("./server-l9oy68N_.js");
24820
24820
  const start = typeof mod.startBrowserControlServiceFromConfig === "function" ? mod.startBrowserControlServiceFromConfig : mod.startBrowserControlServerFromConfig;
24821
24821
  const stop = typeof mod.stopBrowserControlService === "function" ? mod.stopBrowserControlService : mod.stopBrowserControlServer;
24822
24822
  if (!start) return null;
@@ -25047,7 +25047,7 @@ async function resolveFileWithinRoot(rootReal, urlPath) {
25047
25047
  if (normalized.endsWith("/")) return await tryOpen(path.posix.join(rel, "index.html"));
25048
25048
  const candidate = path.join(rootReal, rel);
25049
25049
  try {
25050
- const st = await fsPromises.lstat(candidate);
25050
+ const st = await fs$1.lstat(candidate);
25051
25051
  if (st.isSymbolicLink()) return null;
25052
25052
  if (st.isDirectory()) return await tryOpen(path.posix.join(rel, "index.html"));
25053
25053
  } catch {}
@@ -25084,8 +25084,8 @@ async function resolveA2uiRoot() {
25084
25084
  for (const dir of candidates) try {
25085
25085
  const indexPath = path.join(dir, "index.html");
25086
25086
  const bundlePath = path.join(dir, "a2ui.bundle.js");
25087
- await fsPromises.stat(indexPath);
25088
- await fsPromises.stat(bundlePath);
25087
+ await fs$1.stat(indexPath);
25088
+ await fs$1.stat(bundlePath);
25089
25089
  return dir;
25090
25090
  } catch {}
25091
25091
  return null;
@@ -25094,7 +25094,7 @@ async function resolveA2uiRootReal() {
25094
25094
  if (cachedA2uiRootReal !== void 0 && (cachedA2uiRootReal !== null || Date.now() - cachedA2uiResolvedAtMs < A2UI_ROOT_RETRY_NULL_AFTER_MS)) return cachedA2uiRootReal;
25095
25095
  if (!resolvingA2uiRoot) resolvingA2uiRoot = (async () => {
25096
25096
  const root = await resolveA2uiRoot();
25097
- cachedA2uiRootReal = root ? await fsPromises.realpath(root) : null;
25097
+ cachedA2uiRootReal = root ? await fs$1.realpath(root) : null;
25098
25098
  cachedA2uiResolvedAtMs = Date.now();
25099
25099
  resolvingA2uiRoot = null;
25100
25100
  return cachedA2uiRootReal;
@@ -25315,13 +25315,13 @@ function normalizeBasePath(rawPath) {
25315
25315
  }
25316
25316
  async function prepareCanvasRoot(rootDir) {
25317
25317
  await ensureDir(rootDir);
25318
- const rootReal = await fsPromises.realpath(rootDir);
25318
+ const rootReal = await fs$1.realpath(rootDir);
25319
25319
  try {
25320
25320
  const indexPath = path.join(rootReal, "index.html");
25321
- await fsPromises.stat(indexPath);
25321
+ await fs$1.stat(indexPath);
25322
25322
  } catch {
25323
25323
  try {
25324
- await fsPromises.writeFile(path.join(rootReal, "index.html"), defaultIndexHTML(), "utf8");
25324
+ await fs$1.writeFile(path.join(rootReal, "index.html"), defaultIndexHTML(), "utf8");
25325
25325
  } catch {}
25326
25326
  }
25327
25327
  return rootReal;
@@ -28616,7 +28616,7 @@ async function resolveGatewayOwnerStatus(pid, payload, platform, port) {
28616
28616
  }
28617
28617
  async function readLockPayload(lockPath) {
28618
28618
  try {
28619
- const raw = await fsPromises.readFile(lockPath, "utf8");
28619
+ const raw = await fs$1.readFile(lockPath, "utf8");
28620
28620
  const parsed = JSON.parse(raw);
28621
28621
  if (typeof parsed.pid !== "number") return null;
28622
28622
  if (typeof parsed.createdAt !== "string") return null;
@@ -28651,11 +28651,11 @@ async function acquireGatewayLock(opts = {}) {
28651
28651
  const platform = opts.platform ?? process.platform;
28652
28652
  const port = opts.port;
28653
28653
  const { lockPath, configPath } = resolveGatewayLockPath(env);
28654
- await fsPromises.mkdir(path.dirname(lockPath), { recursive: true });
28654
+ await fs$1.mkdir(path.dirname(lockPath), { recursive: true });
28655
28655
  const startedAt = Date.now();
28656
28656
  let lastPayload = null;
28657
28657
  while (Date.now() - startedAt < timeoutMs) try {
28658
- const handle = await fsPromises.open(lockPath, "wx");
28658
+ const handle = await fs$1.open(lockPath, "wx");
28659
28659
  const startTime = platform === "linux" ? readLinuxStartTime(process.pid) : null;
28660
28660
  const payload = {
28661
28661
  pid: process.pid,
@@ -28669,7 +28669,7 @@ async function acquireGatewayLock(opts = {}) {
28669
28669
  configPath,
28670
28670
  release: async () => {
28671
28671
  await handle.close().catch(() => void 0);
28672
- await fsPromises.rm(lockPath, { force: true });
28672
+ await fs$1.rm(lockPath, { force: true });
28673
28673
  }
28674
28674
  };
28675
28675
  } catch (err) {
@@ -28678,7 +28678,7 @@ async function acquireGatewayLock(opts = {}) {
28678
28678
  const ownerPid = lastPayload?.pid;
28679
28679
  const ownerStatus = ownerPid ? await resolveGatewayOwnerStatus(ownerPid, lastPayload, platform, port) : "unknown";
28680
28680
  if (ownerStatus === "dead" && ownerPid) {
28681
- await fsPromises.rm(lockPath, { force: true });
28681
+ await fs$1.rm(lockPath, { force: true });
28682
28682
  continue;
28683
28683
  }
28684
28684
  if (ownerStatus !== "alive") {
@@ -28688,13 +28688,13 @@ async function acquireGatewayLock(opts = {}) {
28688
28688
  stale = Number.isFinite(createdAt) ? Date.now() - createdAt > staleMs : false;
28689
28689
  }
28690
28690
  if (!stale) try {
28691
- const st = await fsPromises.stat(lockPath);
28691
+ const st = await fs$1.stat(lockPath);
28692
28692
  stale = Date.now() - st.mtimeMs > staleMs;
28693
28693
  } catch {
28694
28694
  stale = false;
28695
28695
  }
28696
28696
  if (stale) {
28697
- await fsPromises.rm(lockPath, { force: true });
28697
+ await fs$1.rm(lockPath, { force: true });
28698
28698
  continue;
28699
28699
  }
28700
28700
  }
@@ -34858,7 +34858,7 @@ async function bootGatewayServer(port, opts) {
34858
34858
  const lease = createPreservationLeaseService();
34859
34859
  setActivePreservationLease(lease);
34860
34860
  let supervisorClosed = false;
34861
- const transcriptFingerprint = async (filePath) => createHash("sha256").update(await fsPromises.readFile(filePath)).digest("hex");
34861
+ const transcriptFingerprint = async (filePath) => createHash("sha256").update(await fs$1.readFile(filePath)).digest("hex");
34862
34862
  const requireCandidateRuntime = () => {
34863
34863
  const candidate = candidateOwner?.candidate.runtime;
34864
34864
  if (!candidate || candidateOwner?.state === "closed") throw new Error("recovery candidate runtime is not ready");
@@ -35143,7 +35143,7 @@ async function bootGatewayServer(port, opts) {
35143
35143
  await supervisor.start();
35144
35144
  storageStartup.release();
35145
35145
  try {
35146
- const { installIncidentAsset } = await import("./incident-install-BdXMiCuu.js");
35146
+ const { installIncidentAsset } = await import("./incident-install-cGBLZhud.js");
35147
35147
  await installIncidentAsset({
35148
35148
  stateDir: resolveStateDir(),
35149
35149
  loadIndexRecord: async () => {
@@ -35158,7 +35158,7 @@ async function bootGatewayServer(port, opts) {
35158
35158
  if (supervisor.getState() === "healthy") {
35159
35159
  const runtime = getConfiguredSessionStorageRuntime()?.runtime;
35160
35160
  if (runtime?.conversation) try {
35161
- const { runLiveRepair } = await import("./live-repair-BGbr6jGR.js");
35161
+ const { runLiveRepair } = await import("./live-repair-RXzcIxWc.js");
35162
35162
  await runLiveRepair({
35163
35163
  stateDir: resolveStateDir(),
35164
35164
  conversationStore: runtime.conversation,
@@ -35533,14 +35533,14 @@ async function bootGatewayServer(port, opts) {
35533
35533
  let sessionConsumerClaimSweepCancelled = false;
35534
35534
  let sessionConsumerClaimSweepBoot = null;
35535
35535
  if (!minimalTestGateway) sessionConsumerClaimSweepBoot = (async () => {
35536
- const { getConfiguredSessionStorageRuntime } = await import("./model-selection-C8GCtGby.js").then((n) => n.hi);
35537
- const { loadPluginManifestRegistry } = await import("./model-selection-C8GCtGby.js").then((n) => n.Ln);
35538
- const { getActivePluginRegistry } = await import("./model-selection-C8GCtGby.js").then((n) => n.br);
35539
- const { deriveGatewaySweepConsumers, runSessionConsumerSweepTick, startSessionConsumerSweepSchedule } = await import("./session-consumer-claim-sweep-aKULSjxA.js");
35536
+ const { getConfiguredSessionStorageRuntime } = await import("./model-selection-k68XU4oS.js").then((n) => n.hi);
35537
+ const { loadPluginManifestRegistry } = await import("./model-selection-k68XU4oS.js").then((n) => n.Ln);
35538
+ const { getActivePluginRegistry } = await import("./model-selection-k68XU4oS.js").then((n) => n.br);
35539
+ const { deriveGatewaySweepConsumers, runSessionConsumerSweepTick, startSessionConsumerSweepSchedule } = await import("./session-consumer-claim-sweep-Bc4Qq0rB.js");
35540
35540
  const sweepLog = log.child("session-consumer-claim-sweep");
35541
35541
  const { createDiagnosticRingBuffer } = await import("./session-consumer-diagnostics-UbdxGCz8.js");
35542
35542
  const diagnostics = createDiagnosticRingBuffer();
35543
- const { setDiagnostics } = await import("./sessions-C6bPQgaD.js").then((n) => n.n);
35543
+ const { setDiagnostics } = await import("./sessions-BQYQBpX0.js").then((n) => n.n);
35544
35544
  if (sessionConsumerClaimSweepCancelled) return;
35545
35545
  setDiagnostics(diagnostics);
35546
35546
  const lastKnownEnabledState = /* @__PURE__ */ new Map();
@@ -35579,7 +35579,7 @@ async function bootGatewayServer(port, opts) {
35579
35579
  lastKnownEnabledState,
35580
35580
  cfg: loadConfig()
35581
35581
  });
35582
- const { setLastSweepTimestamp } = await import("./sessions-C6bPQgaD.js").then((n) => n.n);
35582
+ const { setLastSweepTimestamp } = await import("./sessions-BQYQBpX0.js").then((n) => n.n);
35583
35583
  setLastSweepTimestamp(Date.now());
35584
35584
  } catch (err) {
35585
35585
  sweepLog.warn(`session consumer-claim sweep failed: ${String(err)}`);
@@ -35600,8 +35600,8 @@ async function bootGatewayServer(port, opts) {
35600
35600
  id: "task-dispatch",
35601
35601
  prepare: () => {
35602
35602
  taskPipelineBoot = (async () => {
35603
- const { getConfiguredSessionStorageRuntime } = await import("./model-selection-C8GCtGby.js").then((n) => n.hi);
35604
- const { startTaskPipeline } = await import("./task-pipeline-boot-nWDIjt5K.js");
35603
+ const { getConfiguredSessionStorageRuntime } = await import("./model-selection-k68XU4oS.js").then((n) => n.hi);
35604
+ const { startTaskPipeline } = await import("./task-pipeline-boot-CaVeITev.js");
35605
35605
  const pipeline = startTaskPipeline({
35606
35606
  getConfigured: getConfiguredSessionStorageRuntime,
35607
35607
  cfg: cfgAtStart,