@bitseek/claw 1.2.9 → 1.3.0

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 (219) hide show
  1. package/dist/{accounts-2NNZ6Hbp.js → accounts-B3zSNWIv.js} +1 -1
  2. package/dist/{accounts-Cv5CUnT4.js → accounts-BQHz8_1_.js} +7 -7
  3. package/dist/{accounts-NHpMJ0aq.js → accounts-DTfEeXyO.js} +1 -1
  4. package/dist/{acp-cli-CyPiQ0lt.js → acp-cli-C24-lylb.js} +8 -8
  5. package/dist/{agent-scope-CY2-lUIY.js → agent-scope-CJelRKYY.js} +1 -1
  6. package/dist/{agents-BC3wwrO-.js → agents-Sp-v-_mR.js} +15 -15
  7. package/dist/{agents.config-CeG5P331.js → agents.config-C6zkqXkX.js} +2 -2
  8. package/dist/{api-key-rotation-Cf7QM5M_.js → api-key-rotation-xfk-b2Sv.js} +1 -1
  9. package/dist/{audio-preflight-iuCPDl1D.js → audio-preflight-Dl40LQzr.js} +36 -36
  10. package/dist/{audio-transcription-runner-CGADiTRL.js → audio-transcription-runner-jiDE7Pt8.js} +22 -22
  11. package/dist/{audit-Bjz6AFn-.js → audit-Bgu8Ommg.js} +29 -29
  12. package/dist/{auth-anvTU0Sb.js → auth-B3HDYw4G.js} +1 -1
  13. package/dist/{auth-choice-Co_Dl_bs.js → auth-choice-DYXCDlGW.js} +14 -14
  14. package/dist/{auth-choice-Dx1VT2I8.js → auth-choice-lzACBXDv.js} +12 -12
  15. package/dist/{auth-choice.apply-helpers-Du585kvU.js → auth-choice.apply-helpers-DR-eUj_5.js} +1 -1
  16. package/dist/{auth-profiles-CyG9VwU_.js → auth-profiles-D_x1_5v_.js} +16 -16
  17. package/dist/{auth-token-Cfvmvs2X.js → auth-token-BDQ5b9Wx.js} +1 -1
  18. package/dist/{banner-7O0OkDQ4.js → banner-CYVM4p3E.js} +2 -2
  19. package/dist/{bindings-DGvp9FdD.js → bindings-Hx6KNJeg.js} +1 -1
  20. package/dist/{bonjour-discovery-Dv9UQh6g.js → bonjour-discovery-DiHs5j0y.js} +1 -1
  21. package/dist/{browser-cli-C1OEYX9g.js → browser-cli-BMupJSz_.js} +12 -12
  22. package/dist/build-info.json +3 -3
  23. package/dist/{call-CmAGfSJE.js → call-CzoM7hPS.js} +10 -10
  24. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  25. package/dist/{channel-account-context-BrHQ7XHF.js → channel-account-context-BV3Q0XnD.js} +5 -5
  26. package/dist/{channel-options-BnZ1nSBu.js → channel-options-Cn6pNgzb.js} +3 -3
  27. package/dist/{channel-selection-DGtYwfd7.js → channel-selection-D8KYuWir.js} +1 -1
  28. package/dist/{channel-web-lHPdbnjv.js → channel-web-TsD9bdWt.js} +18 -18
  29. package/dist/{channels-cli-DEE_p7e9.js → channels-cli-DA8sLqQk.js} +95 -95
  30. package/dist/{channels-status-issues-BWcKByy7.js → channels-status-issues-CCNiQcg9.js} +1 -1
  31. package/dist/{chrome-DeZyLFsG.js → chrome-DuDCGdf-.js} +4 -4
  32. package/dist/{clawbot-cli-C6oL4o77.js → clawbot-cli-COQB6-NK.js} +5 -5
  33. package/dist/cli/daemon-cli.js +1 -1
  34. package/dist/{cli-CD5xP9w9.js → cli-DIs0fL3W.js} +76 -76
  35. package/dist/{client-vUKV2o6h.js → client-BvL3EdiZ.js} +2 -2
  36. package/dist/{command-registry-B41say0S.js → command-registry-By6zKf98.js} +13 -13
  37. package/dist/{commands-d8L0zY8O.js → commands-C67IbXs7.js} +1 -1
  38. package/dist/{commands-registry-C78O6aNi.js → commands-registry-D0_D5hFV.js} +3 -3
  39. package/dist/{completion-cli-DSxTjQik.js → completion-cli-CV7dNv8l.js} +13 -13
  40. package/dist/{config-cli-BMtY1oFI.js → config-cli-Dh9rvUxe.js} +7 -7
  41. package/dist/{config-guard-Bztdn_pu.js → config-guard-CcE0LvHm.js} +3 -3
  42. package/dist/{config-validation-CAkiRwLK.js → config-validation-DO7QURfM.js} +3 -3
  43. package/dist/{configure-Dz9z2cyD.js → configure-BYFIF9Sz.js} +17 -17
  44. package/dist/control-ui/assets/{index-puDi2eTY.js → index-CBxamjSz.js} +80 -80
  45. package/dist/control-ui/assets/index-CBxamjSz.js.map +1 -0
  46. package/dist/control-ui/index.html +1 -1
  47. package/dist/{control-ui-assets-BGvtXBkm.js → control-ui-assets-Dx8wiZQ_.js} +1 -1
  48. package/dist/{cron-cli-nslB2EKF.js → cron-cli-xl75rAFd.js} +12 -12
  49. package/dist/{daemon-cli-D8I8RTf0.js → daemon-cli-BSy0rtO2.js} +15 -15
  50. package/dist/{daemon-install-CKree1OU.js → daemon-install-d2OYSlQz.js} +4 -4
  51. package/dist/{daemon-install-helpers-CBCbs7y1.js → daemon-install-helpers-D28keNLu.js} +11 -11
  52. package/dist/{dashboard-dc7KG5Fm.js → dashboard-DXvihe_P.js} +2 -2
  53. package/dist/{deliver-BRwFsEUd.js → deliver-Df8pSQk6.js} +7 -7
  54. package/dist/{devices-cli-jakb5Fk0.js → devices-cli-D6CoUTi_.js} +8 -8
  55. package/dist/{diagnostic-DjxUqpmL.js → diagnostic-Bvatw1Xn.js} +1 -1
  56. package/dist/{diagnostics-DR9Z0mN5.js → diagnostics-ABz8E7c-.js} +5 -5
  57. package/dist/{directory-cli-3FgAtenS.js → directory-cli-Dkil59xj.js} +8 -8
  58. package/dist/{dns-cli-DUsjD4em.js → dns-cli-CJydclW8.js} +5 -5
  59. package/dist/{dock-CoclJnwp.js → dock-DT8sACcR.js} +4 -4
  60. package/dist/{docs-cli-CpIeooaU.js → docs-cli-BkufgU5Y.js} +4 -4
  61. package/dist/{doctor-completion-BSR7Om4e.js → doctor-completion-T9CxDBUR.js} +2 -2
  62. package/dist/{doctor-config-flow-DUdUJgfq.js → doctor-config-flow-BrXA2e34.js} +15 -15
  63. package/dist/{enable-BNycqpJc.js → enable-CinNZxRH.js} +1 -1
  64. package/dist/entry.js +2 -2
  65. package/dist/{exec-approvals-allowlist-CFjPSbxI.js → exec-approvals-allowlist-B4DS6FIn.js} +1 -1
  66. package/dist/{exec-approvals-cli-D8lFWgJj.js → exec-approvals-cli-Cani2Hjk.js} +16 -16
  67. package/dist/{exec-safe-bin-runtime-policy-CpMj95vJ.js → exec-safe-bin-runtime-policy-BP6ImlkB.js} +2 -2
  68. package/dist/{fetch-DOjg912W.js → fetch-DC-NMnAU.js} +3 -3
  69. package/dist/{fetch-guard-Csbz9pui.js → fetch-guard-B62rgaSw.js} +1 -1
  70. package/dist/{fs-safe-BqJ9egpm.js → fs-safe-CJDtl_QU.js} +24 -24
  71. package/dist/{gateway-cli-VrzgkvsB.js → gateway-cli-gzemofET.js} +161 -161
  72. package/dist/{gateway-rpc-B5Spvviy.js → gateway-rpc-C7KYwonl.js} +1 -1
  73. package/dist/{health-D4cJIlo7.js → health-CWmeMvVp.js} +14 -14
  74. package/dist/{hooks-cli-BPg6BqOl.js → hooks-cli-DzvdmY1Z.js} +84 -84
  75. package/dist/{hooks-status-6tcOdcYp.js → hooks-status-DE20AAEu.js} +1 -1
  76. package/dist/{image-CI4JYwnc.js → image-UpBiPNsk.js} +5 -5
  77. package/dist/{image-ops-B2L37gT8.js → image-ops-BGTBZMuE.js} +10 -10
  78. package/dist/{inspect-BzuEXYfa.js → inspect-Bmurt9te.js} +4 -4
  79. package/dist/{install-safe-path-C8QJ5yjB.js → install-safe-path-BB9b_AvF.js} +25 -25
  80. package/dist/{installs-CWbEA1d1.js → installs-BXcYytvn.js} +9 -9
  81. package/dist/{ipv4-DQS0lTwQ.js → ipv4-BB1Ro6so.js} +1 -1
  82. package/dist/{ir-CEwBpxhC.js → ir-DziC-P4Z.js} +6 -6
  83. package/dist/{issue-format-D8MobWNt.js → issue-format-DF2YB-kZ.js} +1 -1
  84. package/dist/{json-files-rR19q30D.js → json-files-CuJjdF_0.js} +8 -8
  85. package/dist/{lifecycle-core-CiAE4s92.js → lifecycle-core-CJd181-h.js} +5 -5
  86. package/dist/{login-CdHg3Emc.js → login-C_YjM9eH.js} +3 -3
  87. package/dist/{login-qr-DXecO0Tb.js → login-qr-DujJqOuy.js} +6 -6
  88. package/dist/{logs-cli-D8UCmwyR.js → logs-cli-Bc1A5X-r.js} +9 -9
  89. package/dist/{manager-DWpiNvlg.js → manager-7hZXEYTj.js} +14 -14
  90. package/dist/{manifest-registry-CBF8Vfz8.js → manifest-registry-Kbw8YPsZ.js} +1 -1
  91. package/dist/{markdown-tables-DQlQMRGZ.js → markdown-tables-BYHgyUjA.js} +1 -1
  92. package/dist/{memory-cli-BUrf60e_.js → memory-cli-CuT-iG2F.js} +12 -12
  93. package/dist/{model-DMZUvZJo.js → model-DmBmzJI6.js} +2 -2
  94. package/dist/{model-catalog-DFi9HgWu.js → model-catalog-D1X8r3WJ.js} +3 -3
  95. package/dist/{model-picker-Dt7Rl38k.js → model-picker-C56N_rW7.js} +4 -4
  96. package/dist/{models-CukrcW4u.js → models-C21qhHIB.js} +18 -18
  97. package/dist/{models-cli-DTjBGjrI.js → models-cli-CMETQ9Wy.js} +81 -81
  98. package/dist/{models-config-AePb9RAo.js → models-config-CmrBGsQs.js} +6 -6
  99. package/dist/{net-C75G4fup.js → net-BXeYv7Iu.js} +2 -2
  100. package/dist/{node-cli-D4Tj8JOq.js → node-cli-DSoqxwqZ.js} +33 -33
  101. package/dist/{node-command-policy-BZq5AebG.js → node-command-policy-pJ6IPNBA.js} +1 -1
  102. package/dist/{node-service-B0FIwOsW.js → node-service-DUUObpwl.js} +1 -1
  103. package/dist/{nodes-cli-DL-855N8.js → nodes-cli-BKGcOJ8A.js} +16 -16
  104. package/dist/{nodes-screen-BHwVUMr8.js → nodes-screen-DcxCMjOs.js} +7 -7
  105. package/dist/{npm-pack-install-qErvgXGZ.js → npm-pack-install-D5pJ8KzT.js} +18 -18
  106. package/dist/{npm-resolution-C_FZOBlT.js → npm-resolution-BAwDXgj5.js} +5 -5
  107. package/dist/{onboard-DktYC_iu.js → onboard-CLUldVpr.js} +6 -6
  108. package/dist/{onboard-channels-DGipWl1h.js → onboard-channels-B59K9VZH.js} +20 -20
  109. package/dist/{onboard-custom-B5F-69pM.js → onboard-custom-CZR1K96w.js} +3 -3
  110. package/dist/{onboard-custom.shared-CBgv6y4h.js → onboard-custom.shared-B9NXcXpv.js} +2 -2
  111. package/dist/{onboard-helpers-D8lLbK3A.js → onboard-helpers-CczYNQDJ.js} +11 -11
  112. package/dist/{onboard-hooks-DBif0Jq8.js → onboard-hooks-o0B0p8tR.js} +4 -4
  113. package/dist/{onboard-remote-loJ1Jn9Q.js → onboard-remote-DtLQyBJB.js} +3 -3
  114. package/dist/{onboard-skills-JtcIUHsb.js → onboard-skills-Brzj5oDF.js} +4 -4
  115. package/dist/{onboarding-D0IraL8k.js → onboarding-DHqNGWCb.js} +13 -13
  116. package/dist/{onboarding.finalize-DHitw2tg.js → onboarding.finalize-D_n9fly-.js} +89 -89
  117. package/dist/{onboarding.gateway-config-uLDVSdpl.js → onboarding.gateway-config-D-gZxjbU.js} +18 -18
  118. package/dist/{openai-model-default-B1Dlue6a.js → openai-model-default-BNYNbslY.js} +2 -2
  119. package/dist/{outbound-BZyqP8d-.js → outbound-_RTZSBES.js} +4 -4
  120. package/dist/{outbound-attachment-DM-h2uQ1.js → outbound-attachment-CXINK8df.js} +2 -2
  121. package/dist/{pairing-cli-DR836bYa.js → pairing-cli-DiKgOlKC.js} +9 -9
  122. package/dist/{pairing-labels-x4akYNb7.js → pairing-labels-CFSUHOmk.js} +1 -1
  123. package/dist/{pairing-store-rFuiIoGM.js → pairing-store-BfzlN-z9.js} +3 -3
  124. package/dist/{path-alias-guards-laKq24fx.js → path-alias-guards-Cg9ZP1NN.js} +3 -3
  125. package/dist/{path-safety-Cr4WZsHE.js → path-safety-__ACzYqx.js} +1 -1
  126. package/dist/{paths-B_L2Zoe-.js → paths-BjoSX1aC.js} +9 -9
  127. package/dist/{pi-embedded-helpers-CEMPdfif.js → pi-embedded-helpers-CrD8I6qf.js} +6 -6
  128. package/dist/{pi-model-discovery-RrejIg26.js → pi-model-discovery-BZ2RCD_u.js} +1 -1
  129. package/dist/{pi-tools.policy-dUeXHcQL.js → pi-tools.policy-upaoJyu4.js} +5 -5
  130. package/dist/{plugin-auto-enable-S_lBQAKI.js → plugin-auto-enable-DER6qA6X.js} +3 -3
  131. package/dist/{plugin-registry-CIUGSWLT.js → plugin-registry-CA1t0UeN.js} +3 -3
  132. package/dist/{plugins-cli-DnLeUBfn.js → plugins-cli-Cidq7nJb.js} +86 -86
  133. package/dist/{plugins-C4cYqW07.js → plugins-vsjS_m58.js} +2 -2
  134. package/dist/{ports-DRaxdQmm.js → ports-sCOQUaAP.js} +2 -2
  135. package/dist/{ports-tfS1haOJ.js → ports-zWusnrvP.js} +1 -1
  136. package/dist/{program-3T_oL3TY.js → program-C0yxnClq.js} +84 -84
  137. package/dist/{prompt-select-styled-BylOR7bV.js → prompt-select-styled-Da_XCcz7.js} +39 -39
  138. package/dist/{provider-auth-helpers-BEFKXIJE.js → provider-auth-helpers-B4nCFlNS.js} +5 -5
  139. package/dist/{proxy-env-BoopXu2J.js → proxy-env-BQIJPH4j.js} +1 -1
  140. package/dist/{push-apns-sUecrS7L.js → push-apns-BSwx-wiI.js} +5 -5
  141. package/dist/{pw-ai-CG7D8D2P.js → pw-ai-BeJ_96rV.js} +15 -15
  142. package/dist/{qmd-manager-Bo22w5wm.js → qmd-manager-BNohLpRA.js} +20 -20
  143. package/dist/{qr-cli-DiKa2ySu.js → qr-cli-CCHyao8J.js} +1 -1
  144. package/dist/{query-expansion-Ba9OpCm9.js → query-expansion-BrM3X6-L.js} +12 -12
  145. package/dist/{redact-snapshot-Dioor4fY.js → redact-snapshot-C1Yp9Q7B.js} +1 -1
  146. package/dist/{register.agent-FAGOpOS3.js → register.agent-kmdjftAP.js} +97 -97
  147. package/dist/register.configure-CZqcKxCG.js +175 -0
  148. package/dist/{register.init-B-wUDJAX.js → register.init-B1pIa3ys.js} +15 -15
  149. package/dist/{register.maintenance-B6f_YUQN.js → register.maintenance-CaDyvPmk.js} +99 -99
  150. package/dist/{register.message-WkJ5viuk.js → register.message-DJc4mrgz.js} +77 -77
  151. package/dist/{register.onboard-DvpF9feG.js → register.onboard-a-TEy7gB.js} +18 -18
  152. package/dist/{register.setup-CA7jtsG8.js → register.setup-9Je9b17j.js} +21 -21
  153. package/dist/{register.start-3Hnjf8NZ.js → register.start-CyYd_xbF.js} +17 -17
  154. package/dist/{register.status-health-sessions-CY2i61By.js → register.status-health-sessions-CxepWnj5.js} +91 -91
  155. package/dist/{register.subclis-D72jBDzj.js → register.subclis-D2hfRpSx.js} +31 -31
  156. package/dist/{replies-BDnb0prE.js → replies-Ckd7Lwt0.js} +1 -1
  157. package/dist/{reply-prefix-H_GSyyzN.js → reply-prefix-DpXMFuAa.js} +1 -1
  158. package/dist/{resolve-route-ByAwAiq5.js → resolve-route-Cnto8LMw.js} +2 -2
  159. package/dist/{rpc-DQa5fiBV.js → rpc-CnRUZWNJ.js} +1 -1
  160. package/dist/{run-main-DOntWJzb.js → run-main-D9foK80m.js} +95 -95
  161. package/dist/{runtime-D-Knnx0g.js → runtime-D4y0Gdfj.js} +2 -2
  162. package/dist/{sandbox-DI_zIUpo.js → sandbox-Tai-w14a.js} +18 -18
  163. package/dist/{sandbox-cli-Cn6OxK6L.js → sandbox-cli-uwsF36Ea.js} +26 -26
  164. package/dist/{secrets-cli-Cf2fFK2m.js → secrets-cli-DzeSuhpa.js} +10 -10
  165. package/dist/{security-cli-DS-dXNUv.js → security-cli-Dzelqio0.js} +43 -43
  166. package/dist/{send-BTswySBz.js → send-BpXRh0BM.js} +11 -11
  167. package/dist/{send-CZ2O-5pP.js → send-CQJKPGw4.js} +6 -6
  168. package/dist/{send-ZyB64ntO.js → send-Cpaj_bKB.js} +5 -5
  169. package/dist/{send-BCLu4NEE.js → send-e1X1pfda.js} +6 -6
  170. package/dist/{send-D0X-8aPh.js → send-sj8Hu26l.js} +8 -8
  171. package/dist/{server-C88L-6UW.js → server-Cr92VI8t.js} +19 -19
  172. package/dist/{server-context-CjPCwa4T.js → server-context-YLHmGfYV.js} +12 -12
  173. package/dist/{server-lifecycle-HLBzAVdX.js → server-lifecycle-B23lXM3Y.js} +2 -2
  174. package/dist/{server-middleware-DHxnFjIL.js → server-middleware-CKSnhiM2.js} +1 -1
  175. package/dist/{server-node-events-CyVS1c_n.js → server-node-events-B3SyIWEd.js} +77 -77
  176. package/dist/{service-CFfCS51c.js → service-Bjqlh_fF.js} +15 -15
  177. package/dist/{session-ApCom0An.js → session-DcnQHb9Q.js} +1 -1
  178. package/dist/{session-meta-Cew1QAYN.js → session-meta-DF1WT4cr.js} +1 -1
  179. package/dist/{session-utils-DYJSA9qa.js → session-utils-BUkGcYpv.js} +6 -6
  180. package/dist/{sessions-BXz4gdq6.js → sessions-B2mnwD21.js} +15 -15
  181. package/dist/{sessions-CeXgGBJ1.js → sessions-DVvNhGXX.js} +4 -4
  182. package/dist/{shared-Cd4Yi_Q8.js → shared-BojXguFB.js} +3 -3
  183. package/dist/{shared-Cl1av01k.js → shared-_j1K2VJ9.js} +1 -1
  184. package/dist/{skill-commands-Cpr3Poo2.js → skill-commands-CYucDd3C.js} +5 -5
  185. package/dist/{skill-scanner-3QHafkQH.js → skill-scanner-CSJqt034.js} +6 -6
  186. package/dist/{skills-D4S-gyVf.js → skills-BCgFAMj3.js} +3 -3
  187. package/dist/{skills-cli-CAhlFcYR.js → skills-cli-BM1iUpGc.js} +5 -5
  188. package/dist/{skills-install-DyneupGw.js → skills-install-e4_jXT_J.js} +6 -6
  189. package/dist/{skills-status-DQzBD0Y7.js → skills-status-DG-bH5mO.js} +1 -1
  190. package/dist/{status-VYa-lFs6.js → status-Bor8v_Ab.js} +26 -26
  191. package/dist/{status.update-BdgtGtkx.js → status.update-YC9VNJxl.js} +2 -2
  192. package/dist/{store-TdzSHRPN.js → store-U8cs0QvT.js} +5 -5
  193. package/dist/{subagent-registry-DlmrBMrv.js → subagent-registry-CukgiXMW.js} +156 -156
  194. package/dist/{system-cli-BYGGFlhn.js → system-cli-B_PUKo6-.js} +9 -9
  195. package/dist/{system-run-command-XHAlbx5q.js → system-run-command-GKGzGztn.js} +1 -1
  196. package/dist/{systemd-DRGkJYMb.js → systemd-HiU4Gzoc.js} +9 -9
  197. package/dist/{systemd-hints-C5HK00QG.js → systemd-hints-BDIASQOF.js} +6 -6
  198. package/dist/{systemd-linger-DME-3IVk.js → systemd-linger-DfrE-63p.js} +1 -1
  199. package/dist/{tables-BOsRa7CS.js → tables-DVXe5x1J.js} +1 -1
  200. package/dist/{tailnet-CfP3A6g2.js → tailnet-C1XBcWue.js} +1 -1
  201. package/dist/{target-errors-DPJ9HFp9.js → target-errors-C5LA-JI-.js} +4 -4
  202. package/dist/{tool-images-CmgHk8xk.js → tool-images-CnpAosfi.js} +1 -1
  203. package/dist/{tui-C16rnfcv.js → tui-CLK0s6TM.js} +6 -6
  204. package/dist/{tui-cli-Ct7mmQhr.js → tui-cli-DTdNoN6U.js} +33 -33
  205. package/dist/{update-DOvgIBRu.js → update-DLc3UsVC.js} +3 -3
  206. package/dist/{update-cli-BnefEkIB.js → update-cli-BDRni489.js} +107 -107
  207. package/dist/{update-runner-BSQpjT4r.js → update-runner-BAPahND7.js} +16 -16
  208. package/dist/web-D_nYCn4Q.js +127 -0
  209. package/dist/{webhooks-cli-DyIIpN1Q.js → webhooks-cli-c5SaGz4J.js} +6 -6
  210. package/dist/{whatsapp-actions-Dmv3vDs5.js → whatsapp-actions-CnjEOFOZ.js} +19 -19
  211. package/dist/{with-timeout-Cf-HNLSj.js → with-timeout-DurSJobr.js} +3 -3
  212. package/dist/{workspace-DzeL98px.js → workspace-BHfqkuYN.js} +23 -23
  213. package/dist/{workspace-A5CNJccm.js → workspace-DWBFoy1G.js} +1 -1
  214. package/dist/{workspace-dirs-Bevk6X_8.js → workspace-dirs-BOgNOBjy.js} +1 -1
  215. package/dist/{wsl-DksyFTBT.js → wsl-BDRu1-pk.js} +2 -2
  216. package/package.json +1 -1
  217. package/dist/control-ui/assets/index-puDi2eTY.js.map +0 -1
  218. package/dist/register.configure-aZwsNSkf.js +0 -175
  219. package/dist/web-C1Zm__bd.js +0 -127
@@ -3,12 +3,12 @@ import { g as resolveStateDir, i as isNixMode, l as resolveGatewayLockDir, o as
3
3
  import { a as setConsoleSubsystemFilter, d as defaultRuntime, n as runtimeForLogger, o as setConsoleTimestampPrefix, t as createSubsystemLogger } from "./subsystem-DjdBljTA.js";
4
4
  import "./boolean-DtWR5bt3.js";
5
5
  import { i as logAcceptedEnvOption, r as isTruthyEnvValue } from "./entry.js";
6
- import { Ai as DEFAULT_MODEL, B as OpenClawSchema, Er as resolveThinkingDefault, F as readConfigFileSnapshotForWrite, Fn as resolveSubagentMaxConcurrent, I as resolveConfigSnapshotHash, Jn as loadAuthProfileStoreForRuntime, M as loadConfig, Mn as buildTalkConfigResponse, N as parseConfigJson5, P as readConfigFileSnapshot, Pn as resolveAgentMaxConcurrent, R as writeConfigFile, Si as normalizeSecretInput, St as AVATAR_MAX_BYTES, Tt as isAvatarImageDataUrl, Un as upsertAuthProfile, _r as resolveAllowedModelRef, ai as resolveApiKeyForProvider, ar as buildAllowedModelSet, at as parseDurationMs, bn as applyLegacyMigrations, br as resolveDefaultModelForAgent, dr as isCliProvider, ir as isPidAlive, j as createConfigIO, ji as DEFAULT_PROVIDER, k as migrateLegacyConfig, ki as DEFAULT_CONTEXT_TOKENS, kt as looksLikeAvatarPath, l as resolveApiKeyForProfile, lr as getModelRefStatus, mr as normalizeModelSelection, ot as parseByteSize, wr as resolveSubagentConfiguredModelSelection, wt as isAvatarHttpUrl, xi as normalizeOptionalSecretInput, xn as ensureControlUiAllowedOriginsForNonLoopbackBind, xr as resolveHooksGmailModel, yn as applyMergePatch, yr as resolveConfiguredModelRef, z as validateConfigObjectWithPlugins } from "./auth-profiles-CyG9VwU_.js";
6
+ import { Ai as DEFAULT_MODEL, B as OpenClawSchema, Er as resolveThinkingDefault, F as readConfigFileSnapshotForWrite, Fn as resolveSubagentMaxConcurrent, I as resolveConfigSnapshotHash, Jn as loadAuthProfileStoreForRuntime, M as loadConfig, Mn as buildTalkConfigResponse, N as parseConfigJson5, P as readConfigFileSnapshot, Pn as resolveAgentMaxConcurrent, R as writeConfigFile, Si as normalizeSecretInput, St as AVATAR_MAX_BYTES, Tt as isAvatarImageDataUrl, Un as upsertAuthProfile, _r as resolveAllowedModelRef, ai as resolveApiKeyForProvider, ar as buildAllowedModelSet, at as parseDurationMs, bn as applyLegacyMigrations, br as resolveDefaultModelForAgent, dr as isCliProvider, ir as isPidAlive, j as createConfigIO, ji as DEFAULT_PROVIDER, k as migrateLegacyConfig, ki as DEFAULT_CONTEXT_TOKENS, kt as looksLikeAvatarPath, l as resolveApiKeyForProfile, lr as getModelRefStatus, mr as normalizeModelSelection, ot as parseByteSize, wr as resolveSubagentConfiguredModelSelection, wt as isAvatarHttpUrl, xi as normalizeOptionalSecretInput, xn as ensureControlUiAllowedOriginsForNonLoopbackBind, xr as resolveHooksGmailModel, yn as applyMergePatch, yr as resolveConfiguredModelRef, z as validateConfigObjectWithPlugins } from "./auth-profiles-D_x1_5v_.js";
7
7
  import { t as formatCliCommand } from "./command-format-CVXyxgq3.js";
8
- import { a as resolveAgentDir, c as resolveAgentModelFallbacksOverride, d as resolveDefaultAgentId, i as resolveAgentConfig, l as resolveAgentSkillsFilter, m as resolveSessionAgentId, n as listAgentEntries, r as listAgentIds, u as resolveAgentWorkspaceDir } from "./agent-scope-CY2-lUIY.js";
8
+ import { a as resolveAgentDir, c as resolveAgentModelFallbacksOverride, d as resolveDefaultAgentId, i as resolveAgentConfig, l as resolveAgentSkillsFilter, m as resolveSessionAgentId, n as listAgentEntries, r as listAgentIds, u as resolveAgentWorkspaceDir } from "./agent-scope-CJelRKYY.js";
9
9
  import { S as isCronRunSessionKey, T as parseAgentSessionKey, c as normalizeAgentId, g as normalizeAccountId$1, h as DEFAULT_ACCOUNT_ID, l as normalizeMainKey, m as toAgentStoreSessionKey, o as classifySessionKeyShape, p as toAgentRequestSessionKey, r as buildAgentMainSessionKey, t as DEFAULT_AGENT_ID, u as resolveAgentIdFromSessionKey, w as isSubagentSessionKey } from "./session-key-BLprDJYq.js";
10
10
  import { E as isPlainObject, T as truncateUtf16Safe, n as clamp, s as ensureDir, v as resolveUserPath, x as shortenHomePath } from "./utils-DIzy5B5o.js";
11
- import { A as isNotFoundPathError, C as openBoundaryFileSync, P as matchesSkillFilter, S as openBoundaryFile, T as sameFileIdentity, a as DEFAULT_IDENTITY_FILENAME, c as DEFAULT_SOUL_FILENAME, d as ensureAgentWorkspace, h as resolveDefaultAgentWorkspaceDir, i as DEFAULT_HEARTBEAT_FILENAME, l as DEFAULT_TOOLS_FILENAME, o as DEFAULT_MEMORY_ALT_FILENAME, p as isWorkspaceOnboardingCompleted, r as DEFAULT_BOOTSTRAP_FILENAME, s as DEFAULT_MEMORY_FILENAME, t as DEFAULT_AGENTS_FILENAME, u as DEFAULT_USER_FILENAME, v as resolveWorkspaceTemplateDir, w as openVerifiedFileSync, y as resolveOpenClawPackageRoot } from "./workspace-DzeL98px.js";
11
+ import { A as isNotFoundPathError, C as openBoundaryFileSync, P as matchesSkillFilter, S as openBoundaryFile, T as sameFileIdentity, a as DEFAULT_IDENTITY_FILENAME, c as DEFAULT_SOUL_FILENAME, d as ensureAgentWorkspace, h as resolveDefaultAgentWorkspaceDir, i as DEFAULT_HEARTBEAT_FILENAME, l as DEFAULT_TOOLS_FILENAME, o as DEFAULT_MEMORY_ALT_FILENAME, p as isWorkspaceOnboardingCompleted, r as DEFAULT_BOOTSTRAP_FILENAME, s as DEFAULT_MEMORY_FILENAME, t as DEFAULT_AGENTS_FILENAME, u as DEFAULT_USER_FILENAME, v as resolveWorkspaceTemplateDir, w as openVerifiedFileSync, y as resolveOpenClawPackageRoot } from "./workspace-BHfqkuYN.js";
12
12
  import { i as logWarn, t as logDebug } from "./logger-BJMfryJd.js";
13
13
  import { n as runExec, t as runCommandWithTimeout } from "./exec-CEAvKSx9.js";
14
14
  import "./github-copilot-token-CulJ9J5l.js";
@@ -16,112 +16,112 @@ import "./host-env-security-CJMD0__Z.js";
16
16
  import { n as resolveRuntimeServiceVersion, t as VERSION } from "./version-CGDNfh5C.js";
17
17
  import "./env-vars-Dw0EwyGP.js";
18
18
  import { C as clearInternalHooks, E as triggerInternalHook, T as registerInternalHook, h as createEmptyPluginRegistry, t as CHANNEL_IDS, u as getActivePluginRegistry, w as createInternalHookEvent } from "./registry-7fg1BnMw.js";
19
- import { u as isTestDefaultMemorySlotDisabled } from "./manifest-registry-CBF8Vfz8.js";
20
- import "./dock-CoclJnwp.js";
21
- import "./model-DMZUvZJo.js";
22
- import "./pi-model-discovery-RrejIg26.js";
19
+ import { u as isTestDefaultMemorySlotDisabled } from "./manifest-registry-Kbw8YPsZ.js";
20
+ import "./dock-DT8sACcR.js";
21
+ import "./model-DmBmzJI6.js";
22
+ import "./pi-model-discovery-BZ2RCD_u.js";
23
23
  import { d as hasBinary } from "./frontmatter-C0E8mspC.js";
24
- import { c as resolveBundledSkillsDir, i as loadWorkspaceSkillEntries, r as buildWorkspaceSkillSnapshot } from "./skills-D4S-gyVf.js";
25
- import { n as assertNoPathAliasEscape } from "./path-alias-guards-laKq24fx.js";
26
- import { t as buildWorkspaceSkillStatus } from "./skills-status-DQzBD0Y7.js";
24
+ import { c as resolveBundledSkillsDir, i as loadWorkspaceSkillEntries, r as buildWorkspaceSkillSnapshot } from "./skills-BCgFAMj3.js";
25
+ import { n as assertNoPathAliasEscape } from "./path-alias-guards-Cg9ZP1NN.js";
26
+ import { t as buildWorkspaceSkillStatus } from "./skills-status-DG-bH5mO.js";
27
27
  import { _ as normalizeGatewayClientMode, f as GATEWAY_CLIENT_CAPS, g as hasGatewayClientCap, h as GATEWAY_CLIENT_NAMES, i as isGatewayMessageChannel, l as normalizeMessageChannel, m as GATEWAY_CLIENT_MODES, n as isDeliverableMessageChannel, p as GATEWAY_CLIENT_IDS, r as isGatewayCliClient, s as isWebchatClient, t as INTERNAL_MESSAGE_CHANNEL } from "./message-channel-0J6eKf3g.js";
28
- import { $ as resolveAgentMainSessionKey, A as readSessionPreviewItemsFromTranscript, B as cleanStaleLockFiles, C as normalizeSessionDeliveryFields, D as capArrayByJsonBytes, E as archiveSessionTranscripts, G as resolveSessionResetPolicy, I as stripInlineDirectiveTagsForDisplay, L as stripInlineDirectiveTagsFromMessageForDisplay, M as resolveSessionTranscriptCandidates, N as stripEnvelopeFromMessage, O as cleanupArchivedSessionTranscripts, P as stripEnvelopeFromMessages, Q as canonicalizeMainSessionAlias, R as jsonUtf8Bytes, T as archiveFileOnDisk, U as evaluateSessionFreshness, Y as mergeSessionEntry, Z as setSessionRuntimeModel, d as updateSessionStore, et as resolveExplicitAgentSessionKey, it as snapshotSessionOrigin, k as readSessionMessages, n as parseSessionThreadInfo, nt as resolveMainSessionKeyFromConfig, o as loadSessionStore, t as extractDeliveryInfo, tt as resolveMainSessionKey, x as mergeDeliveryContext, y as deliveryContextFromSession } from "./sessions-BXz4gdq6.js";
29
- import { n as listChannelPlugins, r as normalizeChannelId, t as getChannelPlugin, v as normalizeWhatsAppTarget } from "./plugins-C4cYqW07.js";
30
- import { i as resolveWhatsAppAccount } from "./accounts-Cv5CUnT4.js";
31
- import "./accounts-2NNZ6Hbp.js";
28
+ import { $ as resolveAgentMainSessionKey, A as readSessionPreviewItemsFromTranscript, B as cleanStaleLockFiles, C as normalizeSessionDeliveryFields, D as capArrayByJsonBytes, E as archiveSessionTranscripts, G as resolveSessionResetPolicy, I as stripInlineDirectiveTagsForDisplay, L as stripInlineDirectiveTagsFromMessageForDisplay, M as resolveSessionTranscriptCandidates, N as stripEnvelopeFromMessage, O as cleanupArchivedSessionTranscripts, P as stripEnvelopeFromMessages, Q as canonicalizeMainSessionAlias, R as jsonUtf8Bytes, T as archiveFileOnDisk, U as evaluateSessionFreshness, Y as mergeSessionEntry, Z as setSessionRuntimeModel, d as updateSessionStore, et as resolveExplicitAgentSessionKey, it as snapshotSessionOrigin, k as readSessionMessages, n as parseSessionThreadInfo, nt as resolveMainSessionKeyFromConfig, o as loadSessionStore, t as extractDeliveryInfo, tt as resolveMainSessionKey, x as mergeDeliveryContext, y as deliveryContextFromSession } from "./sessions-B2mnwD21.js";
29
+ import { n as listChannelPlugins, r as normalizeChannelId, t as getChannelPlugin, v as normalizeWhatsAppTarget } from "./plugins-vsjS_m58.js";
30
+ import { i as resolveWhatsAppAccount } from "./accounts-BQHz8_1_.js";
31
+ import "./accounts-B3zSNWIv.js";
32
32
  import "./logging-5MtSkLpb.js";
33
- import "./accounts-NHpMJ0aq.js";
34
- import { t as buildChannelAccountBindings } from "./bindings-DGvp9FdD.js";
35
- import "./send-ZyB64ntO.js";
36
- import "./send-BTswySBz.js";
37
- import { $n as normalizeSendPolicy, $t as isExternalHookSession, A as agentCommandFromIngress, Ar as waitForActiveTasks, At as formatRestartSentinelMessage, Br as onAgentEvent, Bt as normalizeOptionalSessionKey, C as readJsonBodyWithLimit, Cr as OPENAI_TTS_VOICES, D as sleepWithAbort, Dn as formatZonedTimestamp, Dr as markGatewayDraining, E as computeBackoff, Er as getTotalQueueSize, Et as runWithModelFallback, F as createDefaultDeps, Fn as isSystemEventContextChanged, Ft as normalizeHttpWebhookUrl, Gn as DEFAULT_INPUT_IMAGE_MIMES, Gt as buildDeliveryFromLegacyPayload, Ht as normalizePayloadToSystemText, I as createOutboundSendDeps$1, Ir as stripHeartbeatToken, It as normalizeCronJobCreate, Jn as extractFileContentFromSource, Kn as DEFAULT_INPUT_MAX_REDIRECTS, Kt as hasLegacyDeliveryHints, L as resolveAgentAvatar, Lr as clearAgentRunContext, Lt as normalizeCronJobPatch, M as resolveAgentDeliveryPlan, Mr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, Mt as summarizeRestartSentinel, N as resolveAgentOutboundTarget, Or as resetAllLanes, Ot as consumeRestartSentinel, P as createOutboundSendDeps, Pn as enqueueSystemEvent, Pt as writeRestartSentinel, Qn as resolveAgentTimeoutMs, Qt as getHookType, Rn as requestHeartbeatNow, Rr as emitAgentEvent, Rt as inferLegacyName, S as handleSlackHttpRequest, Sn as loadProviderUsageSummary, Sr as OPENAI_TTS_MODELS, St as resolveOutboundChannelPlugin, Un as ACP_SESSION_IDENTITY_RENDERER_VERSION, Ut as normalizeRequiredName, Vr as registerAgentRunContext, Vt as normalizeOptionalText, W as buildHistoryContextFromEntries, Wn as DEFAULT_INPUT_IMAGE_MAX_BYTES, Wt as migrateLegacyCronPayload, Xn as normalizeMimeList, Xt as buildSafeExternalPrompt, Yn as extractImageContentFromSource, Zn as resolveInputFileLimits, Zt as detectSuspiciousPatterns, _ as loadOpenClawPlugins, _n as setPreRestartDeferralCheck, _r as resolveTtsPrefsPath, _t as resolveOutboundSessionRoute, a as runSubagentAnnounceFlow, b as resolveAgentOutboundIdentity, bn as normalizeGroupActivation, br as setTtsProvider, bt as resolveOutboundTarget, c as abortEmbeddedPiRun, cn as parseVerboseOverride, cr as resolveAgentSessionDirs, ct as resolveCronStyleNow, d as applyToolPolicyPipeline, dn as deferGatewayRestartUntilIdle, dr as getTtsProvider, dt as runCliAgent, en as applyBrowserProxyPaths, er as resolveSendPolicy, f as buildDefaultToolPolicyPipelineSteps, fn as emitGatewayRestart, fr as isTtsEnabled, ft as createOpenClawTools, gn as setGatewaySigusr1RestartPolicy, gr as resolveTtsConfig, gt as ensureOutboundSessionEntry, h as resolvePluginTools, hn as scheduleGatewaySigusr1Restart, hr as resolveTtsAutoMode, ir as stopSubagentsForRequester, jr as CommandLane, kr as setCommandLaneConcurrency, kt as formatDoctorNonInteractiveHint, l as getActiveEmbeddedRunCount, ln as buildOutboundSessionContext, lr as resolveUserTimezone, lt as getCliSessionId, m as getPluginToolMeta, mn as markGatewaySigusr1RestartHandled, mr as resolveTtsApiKey, mt as resolveAnnounceTargetFromKey, n as initSubagentRegistry, nn as resolveSessionAuthProfileOverride, nt as createReplyDispatcher, o as clearSessionQueues, on as applyModelOverrideToSessionEntry, ot as BARE_SESSION_RESET_PROMPT, pn as isGatewaySigusr1RestartExternallyAllowed, pr as isTtsProviderConfigured, pt as readLatestAssistantReply, qn as DEFAULT_INPUT_TIMEOUT_MS, qt as stripLegacyDeliveryFields, r as listDescendantRunsForRequester, rr as isAbortRequestText, rt as getTotalPendingReplies, s as runEmbeddedPiAgent, sn as applyVerboseOverride, sr as getAcpSessionManager, t as countActiveDescendantRuns, tn as persistBrowserProxyFiles, tt as dispatchInboundMessage, u as waitForEmbeddedPiRunEnd, un as consumeGatewaySigusr1RestartAuthorization, ur as clearBootstrapSnapshot, ut as setCliSessionId, v as createPluginRuntime, vn as triggerOpenClawRestart, vr as resolveTtsProviderOrder, w as requestBodyErrorToText, wr as getActiveTaskCount, wt as resetDirectoryCache, xr as textToSpeech, xt as resolveSessionDeliveryTarget, yn as unbindThreadBindingsBySessionKey, yr as setTtsEnabled, zr as getAgentRunContext, zt as normalizeOptionalAgentId } from "./subagent-registry-DlmrBMrv.js";
33
+ import "./accounts-DTfEeXyO.js";
34
+ import { t as buildChannelAccountBindings } from "./bindings-Hx6KNJeg.js";
35
+ import "./send-Cpaj_bKB.js";
36
+ import "./send-BpXRh0BM.js";
37
+ import { $n as normalizeSendPolicy, $t as isExternalHookSession, A as agentCommandFromIngress, Ar as waitForActiveTasks, At as formatRestartSentinelMessage, Br as onAgentEvent, Bt as normalizeOptionalSessionKey, C as readJsonBodyWithLimit, Cr as OPENAI_TTS_VOICES, D as sleepWithAbort, Dn as formatZonedTimestamp, Dr as markGatewayDraining, E as computeBackoff, Er as getTotalQueueSize, Et as runWithModelFallback, F as createDefaultDeps, Fn as isSystemEventContextChanged, Ft as normalizeHttpWebhookUrl, Gn as DEFAULT_INPUT_IMAGE_MIMES, Gt as buildDeliveryFromLegacyPayload, Ht as normalizePayloadToSystemText, I as createOutboundSendDeps$1, Ir as stripHeartbeatToken, It as normalizeCronJobCreate, Jn as extractFileContentFromSource, Kn as DEFAULT_INPUT_MAX_REDIRECTS, Kt as hasLegacyDeliveryHints, L as resolveAgentAvatar, Lr as clearAgentRunContext, Lt as normalizeCronJobPatch, M as resolveAgentDeliveryPlan, Mr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, Mt as summarizeRestartSentinel, N as resolveAgentOutboundTarget, Or as resetAllLanes, Ot as consumeRestartSentinel, P as createOutboundSendDeps, Pn as enqueueSystemEvent, Pt as writeRestartSentinel, Qn as resolveAgentTimeoutMs, Qt as getHookType, Rn as requestHeartbeatNow, Rr as emitAgentEvent, Rt as inferLegacyName, S as handleSlackHttpRequest, Sn as loadProviderUsageSummary, Sr as OPENAI_TTS_MODELS, St as resolveOutboundChannelPlugin, Un as ACP_SESSION_IDENTITY_RENDERER_VERSION, Ut as normalizeRequiredName, Vr as registerAgentRunContext, Vt as normalizeOptionalText, W as buildHistoryContextFromEntries, Wn as DEFAULT_INPUT_IMAGE_MAX_BYTES, Wt as migrateLegacyCronPayload, Xn as normalizeMimeList, Xt as buildSafeExternalPrompt, Yn as extractImageContentFromSource, Zn as resolveInputFileLimits, Zt as detectSuspiciousPatterns, _ as loadOpenClawPlugins, _n as setPreRestartDeferralCheck, _r as resolveTtsPrefsPath, _t as resolveOutboundSessionRoute, a as runSubagentAnnounceFlow, b as resolveAgentOutboundIdentity, bn as normalizeGroupActivation, br as setTtsProvider, bt as resolveOutboundTarget, c as abortEmbeddedPiRun, cn as parseVerboseOverride, cr as resolveAgentSessionDirs, ct as resolveCronStyleNow, d as applyToolPolicyPipeline, dn as deferGatewayRestartUntilIdle, dr as getTtsProvider, dt as runCliAgent, en as applyBrowserProxyPaths, er as resolveSendPolicy, f as buildDefaultToolPolicyPipelineSteps, fn as emitGatewayRestart, fr as isTtsEnabled, ft as createOpenClawTools, gn as setGatewaySigusr1RestartPolicy, gr as resolveTtsConfig, gt as ensureOutboundSessionEntry, h as resolvePluginTools, hn as scheduleGatewaySigusr1Restart, hr as resolveTtsAutoMode, ir as stopSubagentsForRequester, jr as CommandLane, kr as setCommandLaneConcurrency, kt as formatDoctorNonInteractiveHint, l as getActiveEmbeddedRunCount, ln as buildOutboundSessionContext, lr as resolveUserTimezone, lt as getCliSessionId, m as getPluginToolMeta, mn as markGatewaySigusr1RestartHandled, mr as resolveTtsApiKey, mt as resolveAnnounceTargetFromKey, n as initSubagentRegistry, nn as resolveSessionAuthProfileOverride, nt as createReplyDispatcher, o as clearSessionQueues, on as applyModelOverrideToSessionEntry, ot as BARE_SESSION_RESET_PROMPT, pn as isGatewaySigusr1RestartExternallyAllowed, pr as isTtsProviderConfigured, pt as readLatestAssistantReply, qn as DEFAULT_INPUT_TIMEOUT_MS, qt as stripLegacyDeliveryFields, r as listDescendantRunsForRequester, rr as isAbortRequestText, rt as getTotalPendingReplies, s as runEmbeddedPiAgent, sn as applyVerboseOverride, sr as getAcpSessionManager, t as countActiveDescendantRuns, tn as persistBrowserProxyFiles, tt as dispatchInboundMessage, u as waitForEmbeddedPiRunEnd, un as consumeGatewaySigusr1RestartAuthorization, ur as clearBootstrapSnapshot, ut as setCliSessionId, v as createPluginRuntime, vn as triggerOpenClawRestart, vr as resolveTtsProviderOrder, w as requestBodyErrorToText, wr as getActiveTaskCount, wt as resetDirectoryCache, xr as textToSpeech, xt as resolveSessionDeliveryTarget, yn as unbindThreadBindingsBySessionKey, yr as setTtsEnabled, zr as getAgentRunContext, zt as normalizeOptionalAgentId } from "./subagent-registry-CukgiXMW.js";
38
38
  import { c as resolveStorePath, i as resolveSessionTranscriptPath, n as resolveSessionFilePath, r as resolveSessionFilePathOptions, s as resolveSessionTranscriptsDirForAgent } from "./paths-CTtLmER4.js";
39
39
  import { i as normalizeInputProvenance } from "./input-provenance-C8z9KgIz.js";
40
40
  import "./chat-envelope-D3RSz140.js";
41
- import { n as readJsonFile, r as writeJsonAtomic, t as createAsyncLock } from "./json-files-rR19q30D.js";
42
- import { $ as validateNodePairApproveParams, $t as roleScopesAllow, A as validateCronStatusParams, At as validateWizardStartParams, B as validateExecApprovalsGetParams, C as validateConfigSetParams, Ct as validateToolsCatalogParams, D as validateCronRemoveParams, Dt as validateWebLoginWaitParams, E as validateCronListParams, Et as validateWebLoginStartParams, F as validateDevicePairRemoveParams, G as validateModelsAuthSetParams, Gt as rejectDevicePairing, H as validateExecApprovalsNodeSetParams, Ht as ensureDeviceToken, I as validateDeviceTokenRevokeParams, It as parseSessionLabel, J as validateNodeDescribeParams, Jt as revokeDeviceToken, K as validateModelsListParams, Kt as removePairedDevice, L as validateDeviceTokenRotateParams, Lt as buildDeviceAuthPayload, M as validateDevicePairApproveParams, Mt as PROTOCOL_VERSION, N as validateDevicePairListParams, Nt as ErrorCodes, O as validateCronRunParams, Ot as validateWizardCancelParams, P as validateDevicePairRejectParams, Pt as errorShape, Q as validateNodeListParams, Qt as verifyDeviceToken, R as validateExecApprovalRequestParams, Rt as buildDeviceAuthPayloadV3, S as validateConfigSchemaParams, St as validateTalkModeParams, T as validateCronAddParams, Tt as validateWakeParams, U as validateExecApprovalsSetParams, Ut as getPairedDevice, V as validateExecApprovalsNodeGetParams, Vt as approveDevicePairing, W as validateLogsTailParams, Wt as listDevicePairing, X as validateNodeInvokeParams, Xt as summarizeDeviceTokens, Y as validateNodeEventParams, Yt as rotateDeviceToken, Z as validateNodeInvokeResultParams, Zt as updatePairedDeviceMetadata, _ as validateChatInjectParams, _t as validateSkillsBinsParams, a as validateAgentWaitParams, at as validatePollParams, b as validateConfigGetParams, bt as validateSkillsUpdateParams, c as validateAgentsFilesGetParams, ct as validateSendParams, d as validateAgentsListParams, dt as validateSessionsListParams, et as validateNodePairListParams, f as validateAgentsUpdateParams, ft as validateSessionsPatchParams, g as validateChatHistoryParams, gt as validateSessionsUsageParams, h as validateChatAbortParams, ht as validateSessionsResolveParams, i as validateAgentParams, in as verifyDeviceSignature, it as validateNodeRenameParams, j as validateCronUpdateParams, jt as validateWizardStatusParams, k as validateCronRunsParams, kt as validateWizardNextParams, l as validateAgentsFilesListParams, lt as validateSessionsCompactParams, m as validateChannelsStatusParams, mt as validateSessionsResetParams, n as formatValidationErrors, nt as validateNodePairRequestParams, o as validateAgentsCreateParams, ot as validatePushTestParams, p as validateChannelsLogoutParams, pt as validateSessionsPreviewParams, q as validateModelsVerifyParams, qt as requestDevicePairing, r as validateAgentIdentityParams, rn as normalizeDevicePublicKeyBase64Url, rt as validateNodePairVerifyParams, s as validateAgentsDeleteParams, st as validateRequestFrame, tn as deriveDeviceIdFromPublicKey, tt as validateNodePairRejectParams, u as validateAgentsFilesSetParams, ut as validateSessionsDeleteParams, v as validateChatSendParams, vt as validateSkillsInstallParams, w as validateConnectParams, wt as validateUpdateRunParams, x as validateConfigPatchParams, xt as validateTalkConfigParams, y as validateConfigApplyParams, yt as validateSkillsStatusParams, z as validateExecApprovalResolveParams, zt as normalizeDeviceMetadataForAuth } from "./client-vUKV2o6h.js";
43
- import { f as loadGatewayTlsRuntime$1, l as authorizeOperatorScopesForMethod, n as callGateway, s as ADMIN_SCOPE$3, u as isNodeRoleMethod } from "./call-CmAGfSJE.js";
41
+ import { n as readJsonFile, r as writeJsonAtomic, t as createAsyncLock } from "./json-files-CuJjdF_0.js";
42
+ import { $ as validateNodePairApproveParams, $t as roleScopesAllow, A as validateCronStatusParams, At as validateWizardStartParams, B as validateExecApprovalsGetParams, C as validateConfigSetParams, Ct as validateToolsCatalogParams, D as validateCronRemoveParams, Dt as validateWebLoginWaitParams, E as validateCronListParams, Et as validateWebLoginStartParams, F as validateDevicePairRemoveParams, G as validateModelsAuthSetParams, Gt as rejectDevicePairing, H as validateExecApprovalsNodeSetParams, Ht as ensureDeviceToken, I as validateDeviceTokenRevokeParams, It as parseSessionLabel, J as validateNodeDescribeParams, Jt as revokeDeviceToken, K as validateModelsListParams, Kt as removePairedDevice, L as validateDeviceTokenRotateParams, Lt as buildDeviceAuthPayload, M as validateDevicePairApproveParams, Mt as PROTOCOL_VERSION, N as validateDevicePairListParams, Nt as ErrorCodes, O as validateCronRunParams, Ot as validateWizardCancelParams, P as validateDevicePairRejectParams, Pt as errorShape, Q as validateNodeListParams, Qt as verifyDeviceToken, R as validateExecApprovalRequestParams, Rt as buildDeviceAuthPayloadV3, S as validateConfigSchemaParams, St as validateTalkModeParams, T as validateCronAddParams, Tt as validateWakeParams, U as validateExecApprovalsSetParams, Ut as getPairedDevice, V as validateExecApprovalsNodeGetParams, Vt as approveDevicePairing, W as validateLogsTailParams, Wt as listDevicePairing, X as validateNodeInvokeParams, Xt as summarizeDeviceTokens, Y as validateNodeEventParams, Yt as rotateDeviceToken, Z as validateNodeInvokeResultParams, Zt as updatePairedDeviceMetadata, _ as validateChatInjectParams, _t as validateSkillsBinsParams, a as validateAgentWaitParams, at as validatePollParams, b as validateConfigGetParams, bt as validateSkillsUpdateParams, c as validateAgentsFilesGetParams, ct as validateSendParams, d as validateAgentsListParams, dt as validateSessionsListParams, et as validateNodePairListParams, f as validateAgentsUpdateParams, ft as validateSessionsPatchParams, g as validateChatHistoryParams, gt as validateSessionsUsageParams, h as validateChatAbortParams, ht as validateSessionsResolveParams, i as validateAgentParams, in as verifyDeviceSignature, it as validateNodeRenameParams, j as validateCronUpdateParams, jt as validateWizardStatusParams, k as validateCronRunsParams, kt as validateWizardNextParams, l as validateAgentsFilesListParams, lt as validateSessionsCompactParams, m as validateChannelsStatusParams, mt as validateSessionsResetParams, n as formatValidationErrors, nt as validateNodePairRequestParams, o as validateAgentsCreateParams, ot as validatePushTestParams, p as validateChannelsLogoutParams, pt as validateSessionsPreviewParams, q as validateModelsVerifyParams, qt as requestDevicePairing, r as validateAgentIdentityParams, rn as normalizeDevicePublicKeyBase64Url, rt as validateNodePairVerifyParams, s as validateAgentsDeleteParams, st as validateRequestFrame, tn as deriveDeviceIdFromPublicKey, tt as validateNodePairRejectParams, u as validateAgentsFilesSetParams, ut as validateSessionsDeleteParams, v as validateChatSendParams, vt as validateSkillsInstallParams, w as validateConnectParams, wt as validateUpdateRunParams, x as validateConfigPatchParams, xt as validateTalkConfigParams, y as validateConfigApplyParams, yt as validateSkillsStatusParams, z as validateExecApprovalResolveParams, zt as normalizeDeviceMetadataForAuth } from "./client-BvL3EdiZ.js";
43
+ import { f as loadGatewayTlsRuntime$1, l as authorizeOperatorScopesForMethod, n as callGateway, s as ADMIN_SCOPE$3, u as isNodeRoleMethod } from "./call-CzoM7hPS.js";
44
44
  import "./pairing-token-DoBZxQnC.js";
45
45
  import { t as safeEqualSecret } from "./secret-equal-Gla36CGi.js";
46
- import { a as isTrustedProxyAddress, c as pickPrimaryLanIPv4, d as resolveGatewayListenHosts, f as rawDataToString, l as resolveClientIp, n as isLoopbackAddress, o as isValidIPv4, r as isLoopbackHost, s as normalizeHostHeader, t as isLocalishHost, u as resolveGatewayBindHost } from "./net-C75G4fup.js";
47
- import { n as pickPrimaryTailnetIPv4, r as pickPrimaryTailnetIPv6 } from "./tailnet-CfP3A6g2.js";
46
+ import { a as isTrustedProxyAddress, c as pickPrimaryLanIPv4, d as resolveGatewayListenHosts, f as rawDataToString, l as resolveClientIp, n as isLoopbackAddress, o as isValidIPv4, r as isLoopbackHost, s as normalizeHostHeader, t as isLocalishHost, u as resolveGatewayBindHost } from "./net-BXeYv7Iu.js";
47
+ import { n as pickPrimaryTailnetIPv4, r as pickPrimaryTailnetIPv6 } from "./tailnet-C1XBcWue.js";
48
48
  import { i as isSilentReplyText, n as SILENT_REPLY_TOKEN } from "./tokens-DyLBF_df.js";
49
- import { a as getMachineDisplayName, i as startBrowserControlServiceFromConfig, n as createBrowserRouteDispatcher, r as createBrowserControlContext } from "./with-timeout-Cf-HNLSj.js";
50
- import { j as runGlobalGatewayStopSafely, k as getGlobalHookRunner, o as normalizeReplyPayloadsForDelivery, t as deliverOutboundPayloads } from "./deliver-BRwFsEUd.js";
51
- import { d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, m as isDiagnosticsEnabled } from "./diagnostic-DjxUqpmL.js";
49
+ import { a as getMachineDisplayName, i as startBrowserControlServiceFromConfig, n as createBrowserRouteDispatcher, r as createBrowserControlContext } from "./with-timeout-DurSJobr.js";
50
+ import { j as runGlobalGatewayStopSafely, k as getGlobalHookRunner, o as normalizeReplyPayloadsForDelivery, t as deliverOutboundPayloads } from "./deliver-Df8pSQk6.js";
51
+ import { d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, m as isDiagnosticsEnabled } from "./diagnostic-Bvatw1Xn.js";
52
52
  import "./diagnostic-session-state-Dx-rJXBO.js";
53
- import { S as saveCronStore, b as loadCronStore, x as resolveCronStorePath } from "./send-D0X-8aPh.js";
54
- import { c as detectMime } from "./image-ops-B2L37gT8.js";
55
- import "./pi-embedded-helpers-CEMPdfif.js";
56
- import { C as resolveToolProfilePolicy, _ as collectExplicitAllowlist, y as mergeAlsoAllowPolicy } from "./sandbox-DI_zIUpo.js";
53
+ import { S as saveCronStore, b as loadCronStore, x as resolveCronStorePath } from "./send-sj8Hu26l.js";
54
+ import { c as detectMime } from "./image-ops-BGTBZMuE.js";
55
+ import "./pi-embedded-helpers-CrD8I6qf.js";
56
+ import { C as resolveToolProfilePolicy, _ as collectExplicitAllowlist, y as mergeAlsoAllowPolicy } from "./sandbox-Tai-w14a.js";
57
57
  import { i as listCoreToolSections, n as PROFILE_OPTIONS, o as resolveCoreToolProfiles } from "./tool-catalog-uQj_-Ahx.js";
58
- import "./chrome-DeZyLFsG.js";
58
+ import "./chrome-DuDCGdf-.js";
59
59
  import { i as enableTailscaleServe, n as disableTailscaleServe, o as getTailnetHostname, r as enableTailscaleFunnel, t as disableTailscaleFunnel } from "./tailscale-D3xGoMdQ.js";
60
- import { a as resolveGatewayAuth, c as AUTH_RATE_LIMIT_SCOPE_SHARED_SECRET, i as isLocalDirectRequest, l as createAuthRateLimiter, n as authorizeHttpGatewayConnect, o as AUTH_RATE_LIMIT_SCOPE_DEVICE_TOKEN, r as authorizeWsControlUiGatewayConnect, s as AUTH_RATE_LIMIT_SCOPE_HOOK_AUTH, t as assertGatewayAuthConfigured, u as normalizeRateLimitClientIp } from "./auth-anvTU0Sb.js";
61
- import { l as ensureGatewayStartupAuth, u as mergeGatewayTailscaleConfig } from "./server-context-CjPCwa4T.js";
62
- import "./paths-B_L2Zoe-.js";
60
+ import { a as resolveGatewayAuth, c as AUTH_RATE_LIMIT_SCOPE_SHARED_SECRET, i as isLocalDirectRequest, l as createAuthRateLimiter, n as authorizeHttpGatewayConnect, o as AUTH_RATE_LIMIT_SCOPE_DEVICE_TOKEN, r as authorizeWsControlUiGatewayConnect, s as AUTH_RATE_LIMIT_SCOPE_HOOK_AUTH, t as assertGatewayAuthConfigured, u as normalizeRateLimitClientIp } from "./auth-B3HDYw4G.js";
61
+ import { l as ensureGatewayStartupAuth, u as mergeGatewayTailscaleConfig } from "./server-context-YLHmGfYV.js";
62
+ import "./paths-BjoSX1aC.js";
63
63
  import { a as testRegexWithBoundedInput, i as compileSafeRegex } from "./redact-Ck5U_y4i.js";
64
64
  import { o as isErrno, r as formatErrorMessage } from "./errors-BJz45-qI.js";
65
- import { i as openFileWithinRoot, l as writeFileWithinRoot, s as readLocalFileSafely, t as SafeOpenError } from "./fs-safe-BqJ9egpm.js";
66
- import { n as SsrFBlockedError } from "./proxy-env-BoopXu2J.js";
67
- import "./store-TdzSHRPN.js";
68
- import { n as inspectPortUsage, o as formatPortDiagnostics, t as ensurePortAvailable } from "./ports-DRaxdQmm.js";
65
+ import { i as openFileWithinRoot, l as writeFileWithinRoot, s as readLocalFileSafely, t as SafeOpenError } from "./fs-safe-CJDtl_QU.js";
66
+ import { n as SsrFBlockedError } from "./proxy-env-BQIJPH4j.js";
67
+ import "./store-U8cs0QvT.js";
68
+ import { n as inspectPortUsage, o as formatPortDiagnostics, t as ensurePortAvailable } from "./ports-sCOQUaAP.js";
69
69
  import { t as movePathToTrash } from "./trash-ClChDUTf.js";
70
- import "./server-middleware-DHxnFjIL.js";
71
- import "./tool-images-CmgHk8xk.js";
70
+ import "./server-middleware-CKSnhiM2.js";
71
+ import "./tool-images-CnpAosfi.js";
72
72
  import { a as normalizeElevatedLevel, c as normalizeUsageDisplay, d as supportsXHighThinking, l as normalizeVerboseLevel, n as formatXHighModelHint, o as normalizeReasoningLevel, s as normalizeThinkLevel, t as formatThinkingLevels } from "./thinking-pYqswKJZ.js";
73
- import "./models-config-AePb9RAo.js";
74
- import "./exec-approvals-allowlist-CFjPSbxI.js";
75
- import "./exec-safe-bin-runtime-policy-CpMj95vJ.js";
76
- import { n as loadModelCatalog } from "./model-catalog-DFi9HgWu.js";
77
- import "./fetch-DOjg912W.js";
78
- import { g as registerUnhandledRejectionHandler } from "./audio-transcription-runner-CGADiTRL.js";
79
- import { t as fetchWithSsrFGuard } from "./fetch-guard-Csbz9pui.js";
80
- import { x as extractTextFromChatContent } from "./image-CI4JYwnc.js";
73
+ import "./models-config-CmrBGsQs.js";
74
+ import "./exec-approvals-allowlist-B4DS6FIn.js";
75
+ import "./exec-safe-bin-runtime-policy-BP6ImlkB.js";
76
+ import { n as loadModelCatalog } from "./model-catalog-D1X8r3WJ.js";
77
+ import "./fetch-DC-NMnAU.js";
78
+ import { g as registerUnhandledRejectionHandler } from "./audio-transcription-runner-jiDE7Pt8.js";
79
+ import { t as fetchWithSsrFGuard } from "./fetch-guard-B62rgaSw.js";
80
+ import { x as extractTextFromChatContent } from "./image-UpBiPNsk.js";
81
81
  import "./tool-display-0M664wep.js";
82
- import "./api-key-rotation-Cf7QM5M_.js";
82
+ import "./api-key-rotation-xfk-b2Sv.js";
83
83
  import "./proxy-fetch-DEHZt1Tx.js";
84
- import { a as resolveAgentIdentity, t as createReplyPrefixOptions } from "./reply-prefix-H_GSyyzN.js";
84
+ import { a as resolveAgentIdentity, t as createReplyPrefixOptions } from "./reply-prefix-DpXMFuAa.js";
85
85
  import "./chunk-kLPohhLl.js";
86
- import "./markdown-tables-DQlQMRGZ.js";
87
- import "./ir-CEwBpxhC.js";
86
+ import "./markdown-tables-BYHgyUjA.js";
87
+ import "./ir-DziC-P4Z.js";
88
88
  import "./render-CXDO_kgw.js";
89
- import { a as ToolInputError } from "./target-errors-DPJ9HFp9.js";
90
- import { r as isRestartEnabled } from "./commands-d8L0zY8O.js";
91
- import "./commands-registry-C78O6aNi.js";
89
+ import { a as ToolInputError } from "./target-errors-C5LA-JI-.js";
90
+ import { r as isRestartEnabled } from "./commands-C67IbXs7.js";
91
+ import "./commands-registry-D0_D5hFV.js";
92
92
  import "./fetch-BM2hI5N6.js";
93
93
  import "./retry-DwXRBpwv.js";
94
- import { a as readChannelAllowFromStoreSync } from "./pairing-store-rFuiIoGM.js";
94
+ import { a as readChannelAllowFromStoreSync } from "./pairing-store-BfzlN-z9.js";
95
95
  import { a as mergeExecApprovalsSocketDefaults, c as readExecApprovalsSnapshot, p as saveExecApprovals, r as ensureExecApprovals, s as normalizeExecApprovals, t as DEFAULT_EXEC_APPROVAL_TIMEOUT_MS } from "./exec-approvals-HRn5F9dF.js";
96
- import { _ as matchSystemRunApprovalBinding, g as buildSystemRunApprovalBinding, h as resolveSystemRunApprovalRuntimeContext, m as resolveSystemRunApprovalRequestContext, v as missingSystemRunApprovalBinding, y as toSystemRunApprovalMismatchError } from "./nodes-screen-BHwVUMr8.js";
97
- import { n as resolveSystemRunCommand } from "./system-run-command-XHAlbx5q.js";
98
- import { a as loadCombinedSessionStoreForGateway, c as resolveGatewaySessionStoreTarget, i as listSessionsFromStore, l as resolveSessionModelRef, o as loadSessionEntry, r as listAgentsForGateway, s as pruneLegacyStoreKeys, t as canonicalizeSpawnedByForAgent, u as lookupContextTokens } from "./session-utils-DYJSA9qa.js";
96
+ import { _ as matchSystemRunApprovalBinding, g as buildSystemRunApprovalBinding, h as resolveSystemRunApprovalRuntimeContext, m as resolveSystemRunApprovalRequestContext, v as missingSystemRunApprovalBinding, y as toSystemRunApprovalMismatchError } from "./nodes-screen-DcxCMjOs.js";
97
+ import { n as resolveSystemRunCommand } from "./system-run-command-GKGzGztn.js";
98
+ import { a as loadCombinedSessionStoreForGateway, c as resolveGatewaySessionStoreTarget, i as listSessionsFromStore, l as resolveSessionModelRef, o as loadSessionEntry, r as listAgentsForGateway, s as pruneLegacyStoreKeys, t as canonicalizeSpawnedByForAgent, u as lookupContextTokens } from "./session-utils-BUkGcYpv.js";
99
99
  import { c as hasNonzeroUsage, i as loadSessionUsageTimeSeries, n as loadCostUsageSummary, r as loadSessionCostSummary, s as deriveSessionTotalTokens, t as discoverAllSessions } from "./session-cost-usage-BCEcVVJ6.js";
100
100
  import { n as formatTokenCount, r as formatUsd } from "./usage-format-JlIz56oG.js";
101
- 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-Cpr3Poo2.js";
102
- import { t as listAgentWorkspaceDirs } from "./workspace-dirs-Bevk6X_8.js";
101
+ 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-CYucDd3C.js";
102
+ import { t as listAgentWorkspaceDirs } from "./workspace-dirs-BOgNOBjy.js";
103
103
  import { t as getChannelActivity } from "./channel-activity-C-cvytUe.js";
104
104
  import { n as normalizePollInput } from "./polls-CWOwBT3z.js";
105
- import "./tables-BOsRa7CS.js";
106
- import "./server-lifecycle-HLBzAVdX.js";
105
+ import "./tables-DVXe5x1J.js";
106
+ import "./server-lifecycle-B23lXM3Y.js";
107
107
  import { i as parseAbsoluteTimeMs, n as resolveCronStaggerMs, r as resolveDefaultCronStaggerMs, t as normalizeCronStaggerMs } from "./stagger-Cek4Eizw.js";
108
- import { n as resolveMessageChannelSelection } from "./channel-selection-DGtYwfd7.js";
109
- import { i as buildChannelUiCatalog, t as applyPluginAutoEnable } from "./plugin-auto-enable-S_lBQAKI.js";
110
- import "./send-CZ2O-5pP.js";
111
- import "./outbound-attachment-DM-h2uQ1.js";
108
+ import { n as resolveMessageChannelSelection } from "./channel-selection-D8KYuWir.js";
109
+ import { i as buildChannelUiCatalog, t as applyPluginAutoEnable } from "./plugin-auto-enable-DER6qA6X.js";
110
+ import "./send-CQJKPGw4.js";
111
+ import "./outbound-attachment-CXINK8df.js";
112
112
  import "./delivery-queue-DhqwvOP8.js";
113
- import "./send-BCLu4NEE.js";
114
- import "./resolve-route-ByAwAiq5.js";
115
- import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, r as resolveEffectiveToolPolicy } from "./pi-tools.policy-dUeXHcQL.js";
113
+ import "./send-e1X1pfda.js";
114
+ import "./resolve-route-Cnto8LMw.js";
115
+ import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, r as resolveEffectiveToolPolicy } from "./pi-tools.policy-upaoJyu4.js";
116
116
  import "./proxy-Dz7xT2Z_.js";
117
- import "./replies-BDnb0prE.js";
118
- import { C as normalizeControlUiBasePath, S as buildControlUiAvatarUrl, c as handleReset, w as resolveAssistantAvatarUrl, x as CONTROL_UI_AVATAR_PREFIX } from "./onboard-helpers-D8lLbK3A.js";
117
+ import "./replies-Ckd7Lwt0.js";
118
+ import { C as normalizeControlUiBasePath, S as buildControlUiAvatarUrl, c as handleReset, w as resolveAssistantAvatarUrl, x as CONTROL_UI_AVATAR_PREFIX } from "./onboard-helpers-CczYNQDJ.js";
119
119
  import "./prompt-style-CzS6Prvl.js";
120
- import "./pairing-labels-x4akYNb7.js";
121
- import "./session-meta-Cew1QAYN.js";
122
- import { i as resolveMemoryBackendConfig, r as getMemorySearchManager } from "./memory-cli-BUrf60e_.js";
123
- import { r as resolveMemorySearchConfig } from "./manager-DWpiNvlg.js";
124
- import "./query-expansion-Ba9OpCm9.js";
120
+ import "./pairing-labels-CFSUHOmk.js";
121
+ import "./session-meta-DF1WT4cr.js";
122
+ import { i as resolveMemoryBackendConfig, r as getMemorySearchManager } from "./memory-cli-CuT-iG2F.js";
123
+ import { r as resolveMemorySearchConfig } from "./manager-7hZXEYTj.js";
124
+ import "./query-expansion-BrM3X6-L.js";
125
125
  import { t as formatDocsLink } from "./links-BDNlbZvM.js";
126
126
  import { n as runCommandWithRuntime } from "./cli-utils-k9A6CA1o.js";
127
127
  import { t as formatHelpExamples } from "./help-format-B3bKmDqF.js";
@@ -134,45 +134,45 @@ import { n as DEFAULT_GATEWAY_HTTP_TOOL_DENY } from "./dangerous-tools-D_tNQLpF.
134
134
  import { n as inheritOptionFromParent } from "./command-options-DIuz7LzE.js";
135
135
  import { t as WizardCancelledError } from "./prompts-CbZZ91V9.js";
136
136
  import { t as resolveChannelDefaultAccountId } from "./helpers-BSfSxnxh.js";
137
- import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-CeG5P331.js";
138
- import { t as isWithinDir } from "./path-safety-Cr4WZsHE.js";
139
- import { t as assertCanonicalPathWithinBase } from "./install-safe-path-C8QJ5yjB.js";
140
- import "./skill-scanner-3QHafkQH.js";
141
- import { n as formatConfigIssueLines } from "./issue-format-D8MobWNt.js";
137
+ import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-C6zkqXkX.js";
138
+ import { t as isWithinDir } from "./path-safety-__ACzYqx.js";
139
+ import { t as assertCanonicalPathWithinBase } from "./install-safe-path-BB9b_AvF.js";
140
+ import "./skill-scanner-CSJqt034.js";
141
+ import { n as formatConfigIssueLines } from "./issue-format-DF2YB-kZ.js";
142
142
  import { t as buildChannelAccountSnapshot } from "./status-rpJtIjm7.js";
143
- import "./channels-status-issues-BWcKByy7.js";
144
- 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-Dioor4fY.js";
145
- import "./daemon-install-helpers-CBCbs7y1.js";
143
+ import "./channels-status-issues-CCNiQcg9.js";
144
+ 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-C1Yp9Q7B.js";
145
+ import "./daemon-install-helpers-D28keNLu.js";
146
146
  import "./runtime-guard-lQH3Hjre.js";
147
- import "./systemd-DRGkJYMb.js";
148
- import "./service-CFfCS51c.js";
149
- import "./lifecycle-core-CiAE4s92.js";
150
- import "./systemd-hints-C5HK00QG.js";
147
+ import "./systemd-HiU4Gzoc.js";
148
+ import "./service-Bjqlh_fF.js";
149
+ import "./lifecycle-core-CJd181-h.js";
150
+ import "./systemd-hints-BDIASQOF.js";
151
151
  import { t as parsePort$1 } from "./parse-port-M1LW5BLv.js";
152
- import { n as addGatewayServiceCommands } from "./daemon-cli-D8I8RTf0.js";
153
- import "./diagnostics-DR9Z0mN5.js";
152
+ import { n as addGatewayServiceCommands } from "./daemon-cli-BSy0rtO2.js";
153
+ import "./diagnostics-ABz8E7c-.js";
154
154
  import "./table-CqULNDay.js";
155
155
  import { n as resolveWideAreaDiscoveryDomain, r as writeWideAreaGatewayZone } from "./widearea-dns-CABro6I6.js";
156
- import { i as toOptionString, n as extractGatewayMiskeys, r as maybeExplainGatewayServiceStop, t as describeUnknownError } from "./shared-Cl1av01k.js";
157
- import { a as probeGateway, n as collectEnabledInsecureOrDangerousFlags } from "./audit-Bjz6AFn-.js";
158
- import { t as discoverGatewayBeacons } from "./bonjour-discovery-Dv9UQh6g.js";
159
- import { i as pickGatewaySelfPresence, r as getStatusSummary } from "./status-VYa-lFs6.js";
160
- import { a as styleHealthChannelLine, c as setHeartbeatsEnabled, l as startHeartbeatRunner, n as getHealthSnapshot, s as runHeartbeatOnce, t as formatHealthChannelLines, u as isCronSystemEvent } from "./health-D4cJIlo7.js";
161
- import { a as resolveControlUiRootSync, i as resolveControlUiRootOverrideSync, t as ensureControlUiAssetsBuilt } from "./control-ui-assets-BGvtXBkm.js";
162
- import { o as isBitseekBuild } from "./status.update-BdgtGtkx.js";
163
- import { h as normalizeUpdateChannel, l as DEFAULT_PACKAGE_CHANNEL, n as checkUpdateStatus, o as resolveNpmChannelTag, r as compareSemverStrings } from "./channel-account-context-BrHQ7XHF.js";
164
- import { i as prepareSecretsRuntimeSnapshot, n as clearSecretsRuntimeSnapshot, r as getActiveSecretsRuntimeSnapshot, t as activateSecretsRuntimeSnapshot } from "./runtime-D-Knnx0g.js";
165
- import { t as runOnboardingWizard } from "./onboarding-D0IraL8k.js";
166
- 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-sUecrS7L.js";
156
+ import { i as toOptionString, n as extractGatewayMiskeys, r as maybeExplainGatewayServiceStop, t as describeUnknownError } from "./shared-_j1K2VJ9.js";
157
+ import { a as probeGateway, n as collectEnabledInsecureOrDangerousFlags } from "./audit-Bgu8Ommg.js";
158
+ import { t as discoverGatewayBeacons } from "./bonjour-discovery-DiHs5j0y.js";
159
+ import { i as pickGatewaySelfPresence, r as getStatusSummary } from "./status-Bor8v_Ab.js";
160
+ import { a as styleHealthChannelLine, c as setHeartbeatsEnabled, l as startHeartbeatRunner, n as getHealthSnapshot, s as runHeartbeatOnce, t as formatHealthChannelLines, u as isCronSystemEvent } from "./health-CWmeMvVp.js";
161
+ import { a as resolveControlUiRootSync, i as resolveControlUiRootOverrideSync, t as ensureControlUiAssetsBuilt } from "./control-ui-assets-Dx8wiZQ_.js";
162
+ import { o as isBitseekBuild } from "./status.update-YC9VNJxl.js";
163
+ import { h as normalizeUpdateChannel, l as DEFAULT_PACKAGE_CHANNEL, n as checkUpdateStatus, o as resolveNpmChannelTag, r as compareSemverStrings } from "./channel-account-context-BV3Q0XnD.js";
164
+ import { i as prepareSecretsRuntimeSnapshot, n as clearSecretsRuntimeSnapshot, r as getActiveSecretsRuntimeSnapshot, t as activateSecretsRuntimeSnapshot } from "./runtime-D4y0Gdfj.js";
165
+ import { t as runOnboardingWizard } from "./onboarding-DHqNGWCb.js";
166
+ 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-BSwx-wiI.js";
167
167
  import { T as resolveGmailHookRuntimeConfig, _ as buildGogWatchServeArgs, i as ensureTailscaleEndpoint, v as buildGogWatchStartArgs } from "./gmail-setup-utils-CtjSNa9d.js";
168
- import { n as isNodeCommandAllowed, r as resolveNodeCommandAllowlist } from "./node-command-policy-BZq5AebG.js";
169
- import "./node-service-B0FIwOsW.js";
170
- import "./shared-Cd4Yi_Q8.js";
171
- import { d as verifyOpenAiCompatibleModel } from "./onboard-custom.shared-CBgv6y4h.js";
172
- import { n as formatInstallFailureMessage, t as installSkill } from "./skills-install-DyneupGw.js";
173
- import { t as runGatewayUpdate } from "./update-runner-BSQpjT4r.js";
174
- import { i as shouldIncludeHook, r as resolveHookConfig, t as loadWorkspaceHookEntries } from "./workspace-A5CNJccm.js";
175
- import { n as forceFreePortAndWait } from "./ports-tfS1haOJ.js";
168
+ import { n as isNodeCommandAllowed, r as resolveNodeCommandAllowlist } from "./node-command-policy-pJ6IPNBA.js";
169
+ import "./node-service-DUUObpwl.js";
170
+ import "./shared-BojXguFB.js";
171
+ import { d as verifyOpenAiCompatibleModel } from "./onboard-custom.shared-B9NXcXpv.js";
172
+ import { n as formatInstallFailureMessage, t as installSkill } from "./skills-install-e4_jXT_J.js";
173
+ import { t as runGatewayUpdate } from "./update-runner-BAPahND7.js";
174
+ import { i as shouldIncludeHook, r as resolveHookConfig, t as loadWorkspaceHookEntries } from "./workspace-DWBFoy1G.js";
175
+ import { n as forceFreePortAndWait } from "./ports-zWusnrvP.js";
176
176
  import { spawn, spawnSync } from "node:child_process";
177
177
  import { fileURLToPath, pathToFileURL } from "node:url";
178
178
  import path from "node:path";
@@ -181,7 +181,7 @@ import * as fsSync from "node:fs";
181
181
  import fs from "node:fs";
182
182
  import chalk from "chalk";
183
183
  import { isDeepStrictEqual } from "node:util";
184
- import fsPromises from "node:fs/promises";
184
+ import fs$1 from "node:fs/promises";
185
185
  import crypto, { createHash, randomBytes, randomUUID } from "node:crypto";
186
186
  import { z } from "zod";
187
187
  import { CURRENT_SESSION_VERSION, SessionManager } from "@mariozechner/pi-coding-agent";
@@ -1251,7 +1251,7 @@ function resolveCheckIntervalMs(cfg) {
1251
1251
  }
1252
1252
  async function readState(statePath) {
1253
1253
  try {
1254
- const raw = await fsPromises.readFile(statePath, "utf-8");
1254
+ const raw = await fs$1.readFile(statePath, "utf-8");
1255
1255
  const parsed = JSON.parse(raw);
1256
1256
  return parsed && typeof parsed === "object" ? parsed : {};
1257
1257
  } catch {
@@ -1332,7 +1332,7 @@ async function runAutoUpdateCommand(params) {
1332
1332
  path.join(params.root, "dist", "index.mjs")
1333
1333
  ];
1334
1334
  for (const candidate of candidates) try {
1335
- await fsPromises.access(candidate);
1335
+ await fs$1.access(candidate);
1336
1336
  argv.push(execPath, candidate, ...baseArgs);
1337
1337
  break;
1338
1338
  } catch {}
@@ -4407,20 +4407,20 @@ async function drainPendingWrite(filePath) {
4407
4407
  if (pending) await pending.catch(() => void 0);
4408
4408
  }
4409
4409
  async function pruneIfNeeded(filePath, opts) {
4410
- const stat = await fsPromises.stat(filePath).catch(() => null);
4410
+ const stat = await fs$1.stat(filePath).catch(() => null);
4411
4411
  if (!stat || stat.size <= opts.maxBytes) return;
4412
- const lines = (await fsPromises.readFile(filePath, "utf-8").catch(() => "")).split("\n").map((l) => l.trim()).filter(Boolean);
4412
+ const lines = (await fs$1.readFile(filePath, "utf-8").catch(() => "")).split("\n").map((l) => l.trim()).filter(Boolean);
4413
4413
  const kept = lines.slice(Math.max(0, lines.length - opts.keepLines));
4414
4414
  const { randomBytes } = await import("node:crypto");
4415
4415
  const tmp = `${filePath}.${process.pid}.${randomBytes(8).toString("hex")}.tmp`;
4416
- await fsPromises.writeFile(tmp, `${kept.join("\n")}\n`, "utf-8");
4417
- await fsPromises.rename(tmp, filePath);
4416
+ await fs$1.writeFile(tmp, `${kept.join("\n")}\n`, "utf-8");
4417
+ await fs$1.rename(tmp, filePath);
4418
4418
  }
4419
4419
  async function appendCronRunLog(filePath, entry, opts) {
4420
4420
  const resolved = path.resolve(filePath);
4421
4421
  const next = (writesByPath.get(resolved) ?? Promise.resolve()).catch(() => void 0).then(async () => {
4422
- await fsPromises.mkdir(path.dirname(resolved), { recursive: true });
4423
- await fsPromises.appendFile(resolved, `${JSON.stringify(entry)}\n`, "utf-8");
4422
+ await fs$1.mkdir(path.dirname(resolved), { recursive: true });
4423
+ await fs$1.appendFile(resolved, `${JSON.stringify(entry)}\n`, "utf-8");
4424
4424
  await pruneIfNeeded(resolved, {
4425
4425
  maxBytes: opts?.maxBytes ?? DEFAULT_CRON_RUN_LOG_MAX_BYTES,
4426
4426
  keepLines: opts?.keepLines ?? DEFAULT_CRON_RUN_LOG_KEEP_LINES
@@ -4514,7 +4514,7 @@ function filterRunLogEntries(entries, opts) {
4514
4514
  async function readCronRunLogEntriesPage(filePath, opts) {
4515
4515
  await drainPendingWrite(filePath);
4516
4516
  const limit = Math.max(1, Math.min(200, Math.floor(opts?.limit ?? 50)));
4517
- const raw = await fsPromises.readFile(path.resolve(filePath), "utf-8").catch(() => "");
4517
+ const raw = await fs$1.readFile(path.resolve(filePath), "utf-8").catch(() => "");
4518
4518
  const statuses = normalizeRunStatuses(opts);
4519
4519
  const deliveryStatuses = normalizeDeliveryStatuses(opts);
4520
4520
  const query = opts?.query?.trim().toLowerCase() ?? "";
@@ -4550,7 +4550,7 @@ async function readCronRunLogEntriesPageAll(opts) {
4550
4550
  const query = opts.query?.trim().toLowerCase() ?? "";
4551
4551
  const sortDir = opts.sortDir === "asc" ? "asc" : "desc";
4552
4552
  const runsDir = path.resolve(path.dirname(path.resolve(opts.storePath)), "runs");
4553
- const jsonlFiles = (await fsPromises.readdir(runsDir, { withFileTypes: true }).catch(() => [])).filter((entry) => entry.isFile() && entry.name.endsWith(".jsonl")).map((entry) => path.join(runsDir, entry.name));
4553
+ const jsonlFiles = (await fs$1.readdir(runsDir, { withFileTypes: true }).catch(() => [])).filter((entry) => entry.isFile() && entry.name.endsWith(".jsonl")).map((entry) => path.join(runsDir, entry.name));
4554
4554
  if (jsonlFiles.length === 0) return {
4555
4555
  entries: [],
4556
4556
  total: 0,
@@ -4561,7 +4561,7 @@ async function readCronRunLogEntriesPageAll(opts) {
4561
4561
  };
4562
4562
  await Promise.all(jsonlFiles.map((f) => drainPendingWrite(f)));
4563
4563
  const filtered = filterRunLogEntries((await Promise.all(jsonlFiles.map(async (filePath) => {
4564
- return parseAllRunLogEntries(await fsPromises.readFile(filePath, "utf-8").catch(() => ""));
4564
+ return parseAllRunLogEntries(await fs$1.readFile(filePath, "utf-8").catch(() => ""));
4565
4565
  }))).flat(), {
4566
4566
  statuses,
4567
4567
  deliveryStatuses,
@@ -9769,7 +9769,7 @@ function resolveAgentWorkspaceFileOrRespondError(params, respond) {
9769
9769
  }
9770
9770
  async function resolveWorkspaceRealPath(workspaceDir) {
9771
9771
  try {
9772
- return await fsPromises.realpath(workspaceDir);
9772
+ return await fs$1.realpath(workspaceDir);
9773
9773
  } catch {
9774
9774
  return path.resolve(workspaceDir);
9775
9775
  }
@@ -9793,7 +9793,7 @@ async function resolveAgentWorkspaceFilePath(params) {
9793
9793
  }
9794
9794
  let candidateLstat;
9795
9795
  try {
9796
- candidateLstat = await fsPromises.lstat(candidatePath);
9796
+ candidateLstat = await fs$1.lstat(candidatePath);
9797
9797
  } catch (err) {
9798
9798
  if (isNotFoundPathError(err)) {
9799
9799
  if (params.allowMissing) return {
@@ -9813,7 +9813,7 @@ async function resolveAgentWorkspaceFilePath(params) {
9813
9813
  if (candidateLstat.isSymbolicLink()) {
9814
9814
  let targetReal;
9815
9815
  try {
9816
- targetReal = await fsPromises.realpath(candidatePath);
9816
+ targetReal = await fs$1.realpath(candidatePath);
9817
9817
  } catch (err) {
9818
9818
  if (isNotFoundPathError(err)) {
9819
9819
  if (params.allowMissing) return {
@@ -9832,7 +9832,7 @@ async function resolveAgentWorkspaceFilePath(params) {
9832
9832
  }
9833
9833
  let targetStat;
9834
9834
  try {
9835
- targetStat = await fsPromises.stat(targetReal);
9835
+ targetStat = await fs$1.stat(targetReal);
9836
9836
  } catch (err) {
9837
9837
  if (isNotFoundPathError(err)) {
9838
9838
  if (params.allowMissing) return {
@@ -9879,13 +9879,13 @@ async function resolveAgentWorkspaceFilePath(params) {
9879
9879
  return {
9880
9880
  kind: "ready",
9881
9881
  requestPath,
9882
- ioPath: await fsPromises.realpath(candidatePath).catch(() => candidatePath),
9882
+ ioPath: await fs$1.realpath(candidatePath).catch(() => candidatePath),
9883
9883
  workspaceReal
9884
9884
  };
9885
9885
  }
9886
9886
  async function statFileSafely(filePath) {
9887
9887
  try {
9888
- const [stat, lstat] = await Promise.all([fsPromises.stat(filePath), fsPromises.lstat(filePath)]);
9888
+ const [stat, lstat] = await Promise.all([fs$1.stat(filePath), fs$1.lstat(filePath)]);
9889
9889
  if (lstat.isSymbolicLink() || !stat.isFile()) return null;
9890
9890
  if (stat.nlink > 1) return null;
9891
9891
  if (!sameFileIdentity(stat, lstat)) return null;
@@ -9970,7 +9970,7 @@ function resolveOptionalStringParam(value) {
9970
9970
  async function moveToTrashBestEffort(pathname) {
9971
9971
  if (!pathname) return;
9972
9972
  try {
9973
- await fsPromises.access(pathname);
9973
+ await fs$1.access(pathname);
9974
9974
  } catch {
9975
9975
  return;
9976
9976
  }
@@ -10046,7 +10046,7 @@ const agentsHandlers = {
10046
10046
  dir: workspaceDir,
10047
10047
  ensureBootstrapFiles: !Boolean(nextConfig.agents?.defaults?.skipBootstrap)
10048
10048
  });
10049
- await fsPromises.mkdir(resolveSessionTranscriptsDirForAgent(agentId), { recursive: true });
10049
+ await fs$1.mkdir(resolveSessionTranscriptsDirForAgent(agentId), { recursive: true });
10050
10050
  await writeConfigFile(nextConfig);
10051
10051
  const safeName = sanitizeIdentityLine(rawName);
10052
10052
  const emoji = resolveOptionalStringParam(params.emoji);
@@ -10059,7 +10059,7 @@ const agentsHandlers = {
10059
10059
  ...avatar ? [`- Avatar: ${sanitizeIdentityLine(avatar)}`] : [],
10060
10060
  ""
10061
10061
  ];
10062
- await fsPromises.appendFile(identityPath, lines.join("\n"), "utf-8");
10062
+ await fs$1.appendFile(identityPath, lines.join("\n"), "utf-8");
10063
10063
  respond(true, {
10064
10064
  ok: true,
10065
10065
  agentId,
@@ -10094,9 +10094,9 @@ const agentsHandlers = {
10094
10094
  });
10095
10095
  if (avatar) {
10096
10096
  const workspace = workspaceDir ?? resolveAgentWorkspaceDir(nextConfig, agentId);
10097
- await fsPromises.mkdir(workspace, { recursive: true });
10097
+ await fs$1.mkdir(workspace, { recursive: true });
10098
10098
  const identityPath = path.join(workspace, DEFAULT_IDENTITY_FILENAME);
10099
- await fsPromises.appendFile(identityPath, `\n- Avatar: ${sanitizeIdentityLine(avatar)}\n`, "utf-8");
10099
+ await fs$1.appendFile(identityPath, `\n- Avatar: ${sanitizeIdentityLine(avatar)}\n`, "utf-8");
10100
10100
  }
10101
10101
  respond(true, {
10102
10102
  ok: true,
@@ -10220,7 +10220,7 @@ const agentsHandlers = {
10220
10220
  const resolved = resolveAgentWorkspaceFileOrRespondError(params, respond);
10221
10221
  if (!resolved) return;
10222
10222
  const { agentId, workspaceDir, name } = resolved;
10223
- await fsPromises.mkdir(workspaceDir, { recursive: true });
10223
+ await fs$1.mkdir(workspaceDir, { recursive: true });
10224
10224
  const filePath = path.join(workspaceDir, name);
10225
10225
  const resolvedPath = await resolveWorkspaceFilePathOrRespond({
10226
10226
  respond,
@@ -12513,14 +12513,14 @@ function isRollingLogFile(file) {
12513
12513
  return ROLLING_LOG_RE.test(path.basename(file));
12514
12514
  }
12515
12515
  async function resolveLogFile(file) {
12516
- if (await fsPromises.stat(file).catch(() => null)) return file;
12516
+ if (await fs$1.stat(file).catch(() => null)) return file;
12517
12517
  if (!isRollingLogFile(file)) return file;
12518
12518
  const dir = path.dirname(file);
12519
- const entries = await fsPromises.readdir(dir, { withFileTypes: true }).catch(() => null);
12519
+ const entries = await fs$1.readdir(dir, { withFileTypes: true }).catch(() => null);
12520
12520
  if (!entries) return file;
12521
12521
  return (await Promise.all(entries.filter((entry) => entry.isFile() && ROLLING_LOG_RE.test(entry.name)).map(async (entry) => {
12522
12522
  const fullPath = path.join(dir, entry.name);
12523
- const fileStat = await fsPromises.stat(fullPath).catch(() => null);
12523
+ const fileStat = await fs$1.stat(fullPath).catch(() => null);
12524
12524
  return fileStat ? {
12525
12525
  path: fullPath,
12526
12526
  mtimeMs: fileStat.mtimeMs
@@ -12528,7 +12528,7 @@ async function resolveLogFile(file) {
12528
12528
  }))).filter((entry) => Boolean(entry)).toSorted((a, b) => b.mtimeMs - a.mtimeMs)[0]?.path ?? file;
12529
12529
  }
12530
12530
  async function readLogSlice(params) {
12531
- const stat = await fsPromises.stat(params.file).catch(() => null);
12531
+ const stat = await fs$1.stat(params.file).catch(() => null);
12532
12532
  if (!stat) return {
12533
12533
  cursor: 0,
12534
12534
  size: 0,
@@ -12566,7 +12566,7 @@ async function readLogSlice(params) {
12566
12566
  truncated,
12567
12567
  reset
12568
12568
  };
12569
- const handle = await fsPromises.open(params.file, "r");
12569
+ const handle = await fs$1.open(params.file, "r");
12570
12570
  try {
12571
12571
  let prefix = "";
12572
12572
  if (start > 0) {
@@ -13613,7 +13613,7 @@ const nodeHandlers = {
13613
13613
  const p = params;
13614
13614
  const payloadJSON = typeof p.payloadJSON === "string" ? p.payloadJSON : p.payload !== void 0 ? JSON.stringify(p.payload) : null;
13615
13615
  await respondUnavailableOnThrow(respond, async () => {
13616
- const { handleNodeEvent } = await import("./server-node-events-CyVS1c_n.js");
13616
+ const { handleNodeEvent } = await import("./server-node-events-B3SyIWEd.js");
13617
13617
  const nodeId = client?.connect?.device?.id ?? client?.connect?.client?.id ?? "node";
13618
13618
  await handleNodeEvent({
13619
13619
  deps: context.deps,
@@ -14339,11 +14339,11 @@ async function installLocalMarketSkill(params) {
14339
14339
  candidatePath: sourceDir,
14340
14340
  boundaryLabel: "market templates directory"
14341
14341
  });
14342
- if (!(await fsPromises.stat(sourceDir)).isDirectory()) return {
14342
+ if (!(await fs$1.stat(sourceDir)).isDirectory()) return {
14343
14343
  ok: false,
14344
14344
  message: `Local template "${templateDir}" is not a directory.`
14345
14345
  };
14346
- if (!(await fsPromises.stat(sourceSkillPath)).isFile()) return {
14346
+ if (!(await fs$1.stat(sourceSkillPath)).isFile()) return {
14347
14347
  ok: false,
14348
14348
  message: `Local template "${templateDir}" is missing SKILL.md.`
14349
14349
  };
@@ -14357,13 +14357,13 @@ async function installLocalMarketSkill(params) {
14357
14357
  const workspaceSkillsDir = path.join(workspaceDir, "skills");
14358
14358
  const targetDir = path.join(workspaceSkillsDir, templateDir);
14359
14359
  try {
14360
- await fsPromises.mkdir(workspaceSkillsDir, { recursive: true });
14360
+ await fs$1.mkdir(workspaceSkillsDir, { recursive: true });
14361
14361
  await assertCanonicalPathWithinBase({
14362
14362
  baseDir: workspaceSkillsDir,
14363
14363
  candidatePath: targetDir,
14364
14364
  boundaryLabel: "workspace skills directory"
14365
14365
  });
14366
- await fsPromises.cp(sourceDir, targetDir, {
14366
+ await fs$1.cp(sourceDir, targetDir, {
14367
14367
  recursive: true,
14368
14368
  force: true
14369
14369
  });
@@ -17207,7 +17207,7 @@ function normalizeAgentPayload(payload) {
17207
17207
  async function startBrowserControlServerIfEnabled() {
17208
17208
  if (isTruthyEnvValue(process.env.OPENCLAW_SKIP_BROWSER_CONTROL_SERVER)) return null;
17209
17209
  const override = process.env.OPENCLAW_BROWSER_CONTROL_MODULE?.trim();
17210
- const mod = override ? await import(override) : await import("./server-C88L-6UW.js");
17210
+ const mod = override ? await import(override) : await import("./server-Cr92VI8t.js");
17211
17211
  const start = typeof mod.startBrowserControlServiceFromConfig === "function" ? mod.startBrowserControlServiceFromConfig : mod.startBrowserControlServerFromConfig;
17212
17212
  const stop = typeof mod.stopBrowserControlService === "function" ? mod.stopBrowserControlService : mod.stopBrowserControlServer;
17213
17213
  if (!start) return null;
@@ -17435,7 +17435,7 @@ async function resolveFileWithinRoot(rootReal, urlPath) {
17435
17435
  if (normalized.endsWith("/")) return await tryOpen(path.posix.join(rel, "index.html"));
17436
17436
  const candidate = path.join(rootReal, rel);
17437
17437
  try {
17438
- const st = await fsPromises.lstat(candidate);
17438
+ const st = await fs$1.lstat(candidate);
17439
17439
  if (st.isSymbolicLink()) return null;
17440
17440
  if (st.isDirectory()) return await tryOpen(path.posix.join(rel, "index.html"));
17441
17441
  } catch {}
@@ -17472,8 +17472,8 @@ async function resolveA2uiRoot() {
17472
17472
  for (const dir of candidates) try {
17473
17473
  const indexPath = path.join(dir, "index.html");
17474
17474
  const bundlePath = path.join(dir, "a2ui.bundle.js");
17475
- await fsPromises.stat(indexPath);
17476
- await fsPromises.stat(bundlePath);
17475
+ await fs$1.stat(indexPath);
17476
+ await fs$1.stat(bundlePath);
17477
17477
  return dir;
17478
17478
  } catch {}
17479
17479
  return null;
@@ -17482,7 +17482,7 @@ async function resolveA2uiRootReal() {
17482
17482
  if (cachedA2uiRootReal !== void 0 && (cachedA2uiRootReal !== null || Date.now() - cachedA2uiResolvedAtMs < A2UI_ROOT_RETRY_NULL_AFTER_MS)) return cachedA2uiRootReal;
17483
17483
  if (!resolvingA2uiRoot) resolvingA2uiRoot = (async () => {
17484
17484
  const root = await resolveA2uiRoot();
17485
- cachedA2uiRootReal = root ? await fsPromises.realpath(root) : null;
17485
+ cachedA2uiRootReal = root ? await fs$1.realpath(root) : null;
17486
17486
  cachedA2uiResolvedAtMs = Date.now();
17487
17487
  resolvingA2uiRoot = null;
17488
17488
  return cachedA2uiRootReal;
@@ -17703,13 +17703,13 @@ function normalizeBasePath(rawPath) {
17703
17703
  }
17704
17704
  async function prepareCanvasRoot(rootDir) {
17705
17705
  await ensureDir(rootDir);
17706
- const rootReal = await fsPromises.realpath(rootDir);
17706
+ const rootReal = await fs$1.realpath(rootDir);
17707
17707
  try {
17708
17708
  const indexPath = path.join(rootReal, "index.html");
17709
- await fsPromises.stat(indexPath);
17709
+ await fs$1.stat(indexPath);
17710
17710
  } catch {
17711
17711
  try {
17712
- await fsPromises.writeFile(path.join(rootReal, "index.html"), defaultIndexHTML(), "utf8");
17712
+ await fs$1.writeFile(path.join(rootReal, "index.html"), defaultIndexHTML(), "utf8");
17713
17713
  } catch {}
17714
17714
  }
17715
17715
  return rootReal;
@@ -20716,7 +20716,7 @@ async function resolveGatewayOwnerStatus(pid, payload, platform, port) {
20716
20716
  }
20717
20717
  async function readLockPayload(lockPath) {
20718
20718
  try {
20719
- const raw = await fsPromises.readFile(lockPath, "utf8");
20719
+ const raw = await fs$1.readFile(lockPath, "utf8");
20720
20720
  const parsed = JSON.parse(raw);
20721
20721
  if (typeof parsed.pid !== "number") return null;
20722
20722
  if (typeof parsed.createdAt !== "string") return null;
@@ -20751,11 +20751,11 @@ async function acquireGatewayLock(opts = {}) {
20751
20751
  const platform = opts.platform ?? process.platform;
20752
20752
  const port = opts.port;
20753
20753
  const { lockPath, configPath } = resolveGatewayLockPath(env);
20754
- await fsPromises.mkdir(path.dirname(lockPath), { recursive: true });
20754
+ await fs$1.mkdir(path.dirname(lockPath), { recursive: true });
20755
20755
  const startedAt = Date.now();
20756
20756
  let lastPayload = null;
20757
20757
  while (Date.now() - startedAt < timeoutMs) try {
20758
- const handle = await fsPromises.open(lockPath, "wx");
20758
+ const handle = await fs$1.open(lockPath, "wx");
20759
20759
  const startTime = platform === "linux" ? readLinuxStartTime(process.pid) : null;
20760
20760
  const payload = {
20761
20761
  pid: process.pid,
@@ -20769,7 +20769,7 @@ async function acquireGatewayLock(opts = {}) {
20769
20769
  configPath,
20770
20770
  release: async () => {
20771
20771
  await handle.close().catch(() => void 0);
20772
- await fsPromises.rm(lockPath, { force: true });
20772
+ await fs$1.rm(lockPath, { force: true });
20773
20773
  }
20774
20774
  };
20775
20775
  } catch (err) {
@@ -20778,7 +20778,7 @@ async function acquireGatewayLock(opts = {}) {
20778
20778
  const ownerPid = lastPayload?.pid;
20779
20779
  const ownerStatus = ownerPid ? await resolveGatewayOwnerStatus(ownerPid, lastPayload, platform, port) : "unknown";
20780
20780
  if (ownerStatus === "dead" && ownerPid) {
20781
- await fsPromises.rm(lockPath, { force: true });
20781
+ await fs$1.rm(lockPath, { force: true });
20782
20782
  continue;
20783
20783
  }
20784
20784
  if (ownerStatus !== "alive") {
@@ -20788,13 +20788,13 @@ async function acquireGatewayLock(opts = {}) {
20788
20788
  stale = Number.isFinite(createdAt) ? Date.now() - createdAt > staleMs : false;
20789
20789
  }
20790
20790
  if (!stale) try {
20791
- const st = await fsPromises.stat(lockPath);
20791
+ const st = await fs$1.stat(lockPath);
20792
20792
  stale = Date.now() - st.mtimeMs > staleMs;
20793
20793
  } catch {
20794
20794
  stale = false;
20795
20795
  }
20796
20796
  if (stale) {
20797
- await fsPromises.rm(lockPath, { force: true });
20797
+ await fs$1.rm(lockPath, { force: true });
20798
20798
  continue;
20799
20799
  }
20800
20800
  }
@@ -23104,7 +23104,7 @@ async function startGatewayServer(port = 18789, opts = {}) {
23104
23104
  if (!minimalTestGateway) cron.start().catch((err) => logCron.error(`failed to start: ${String(err)}`));
23105
23105
  if (!minimalTestGateway) (async () => {
23106
23106
  const { recoverPendingDeliveries } = await import("./delivery-queue-DhqwvOP8.js").then((n) => n.n);
23107
- const { deliverOutboundPayloads } = await import("./deliver-BRwFsEUd.js").then((n) => n.n);
23107
+ const { deliverOutboundPayloads } = await import("./deliver-Df8pSQk6.js").then((n) => n.n);
23108
23108
  await recoverPendingDeliveries({
23109
23109
  deliver: deliverOutboundPayloads,
23110
23110
  log: log.child("delivery-recovery"),