@bitseek/claw 1.3.8-beta.2 → 1.3.8-beta.3

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 (302) hide show
  1. package/dist/{accounts-YtMo-RPC.js → accounts-B4wV9IFm.js} +1 -1
  2. package/dist/{accounts-CzfKkJDx.js → accounts-CTKra7aS.js} +7 -7
  3. package/dist/{accounts-CQrvvU8V.js → accounts-DtaSiAum.js} +1 -1
  4. package/dist/{acp-cli-C0Oz6RFa.js → acp-cli-CSRDFixR.js} +8 -8
  5. package/dist/{agent-scope-qYbUVCHn.js → agent-scope-BrbgAMci.js} +1 -1
  6. package/dist/{agents-Co_-XzRP.js → agents-B3roVbYI.js} +15 -15
  7. package/dist/{agents.config-EnxTBynI.js → agents.config-BLKDc8io.js} +2 -2
  8. package/dist/{api-key-rotation-XTdz_cvI.js → api-key-rotation-BdoPDM3X.js} +1 -1
  9. package/dist/{audio-preflight-B6Jw9LUM.js → audio-preflight-Pdv9uiw6.js} +36 -36
  10. package/dist/{audio-transcription-runner-CF3DjqKy.js → audio-transcription-runner-DBPatTZv.js} +22 -22
  11. package/dist/{audit-pIY_GfjC.js → audit-p4lBCTPz.js} +29 -29
  12. package/dist/{auth-DhaM6Od5.js → auth-DuCrQ5K9.js} +1 -1
  13. package/dist/{auth-choice-CfoGAmJm.js → auth-choice-BogBxPQ0.js} +14 -14
  14. package/dist/{auth-choice-r5CXFvMV.js → auth-choice-CWhbVAmr.js} +12 -12
  15. package/dist/{auth-choice.apply-helpers-DI1qnxc_.js → auth-choice.apply-helpers-CtAelPdF.js} +1 -1
  16. package/dist/{auth-profiles-CDN1QqUB.js → auth-profiles-k09E8RLJ.js} +16 -16
  17. package/dist/{auth-token-BtyMfDQt.js → auth-token-CWb4NQTJ.js} +1 -1
  18. package/dist/{banner-CDZD_rv-.js → banner-DyZFjt3Q.js} +2 -2
  19. package/dist/{bindings-D9ZiGe2K.js → bindings-C9vpkXej.js} +1 -1
  20. package/dist/{bonjour-discovery-CBcz-0Ts.js → bonjour-discovery-DyLRXLw1.js} +1 -1
  21. package/dist/{browser-cli-CTcWXrJp.js → browser-cli-CDsv9Dvw.js} +12 -12
  22. package/dist/build-info.json +2 -2
  23. package/dist/{call-BSBuLNiX.js → call-CBH5yDff.js} +10 -10
  24. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  25. package/dist/{channel-account-context-Cc-TbAKt.js → channel-account-context-C3TU0o4T.js} +5 -5
  26. package/dist/{channel-options-BfDmqXBz.js → channel-options-9r0jhaF7.js} +3 -3
  27. package/dist/{channel-selection-BKyzCX35.js → channel-selection-DZrPYytY.js} +1 -1
  28. package/dist/{channel-web-DJtTLglg.js → channel-web-Df9c4iPg.js} +18 -18
  29. package/dist/{channels-cli-BdbCWhq7.js → channels-cli-Bi5IcGws.js} +95 -95
  30. package/dist/{channels-status-issues-Cn340Vbe.js → channels-status-issues-Bb3ugkRr.js} +1 -1
  31. package/dist/{chrome-zP7qr3zd.js → chrome-BVlYi4nu.js} +4 -4
  32. package/dist/{clawbot-cli-Nk_oXaxe.js → clawbot-cli-CkZGXd20.js} +5 -5
  33. package/dist/{cli-BAFODF--.js → cli-2CbkQG_y.js} +76 -76
  34. package/dist/{client-Swf30UOh.js → client-CIji7FpE.js} +2 -2
  35. package/dist/{command-registry-B9MybN-E.js → command-registry-Ciq2wbUi.js} +13 -13
  36. package/dist/{commands-B8w5Izi1.js → commands-B7V-vN3N.js} +1 -1
  37. package/dist/{commands-registry-Ctux_Nq3.js → commands-registry-B6LbRm3U.js} +3 -3
  38. package/dist/{completion-cli-DDcNIc1r.js → completion-cli-BtWS51xD.js} +13 -13
  39. package/dist/{completion-cli-6l712NPl.js → completion-cli-JABAzgO6.js} +1 -1
  40. package/dist/{config-cli-BNaHtYNZ.js → config-cli-DgKjaGSi.js} +7 -7
  41. package/dist/{config-guard-CSxpqsBG.js → config-guard-D5XZLbXA.js} +3 -3
  42. package/dist/{config-validation-Tf6YL4jH.js → config-validation-DT8qQYoa.js} +3 -3
  43. package/dist/{configure-Dwelp0U_.js → configure-D51Hau9O.js} +17 -17
  44. package/dist/{control-ui-assets-BxJ3OmP_.js → control-ui-assets-Bn4e_1By.js} +1 -1
  45. package/dist/{cron-cli-BrpTLnwT.js → cron-cli-D6OHJFdO.js} +12 -12
  46. package/dist/{daemon-cli-S2o4Kcwu.js → daemon-cli-BxFuWNM-.js} +15 -15
  47. package/dist/{daemon-install-C0YHpEQQ.js → daemon-install-BjgH7Ld5.js} +4 -4
  48. package/dist/{daemon-install-helpers-DLIsWH31.js → daemon-install-helpers-Crntu4pF.js} +11 -11
  49. package/dist/{dashboard-B_7Hjxc6.js → dashboard-B0FYUw0G.js} +2 -2
  50. package/dist/{deliver-CQmmhMaR.js → deliver-Bm4UojU1.js} +7 -7
  51. package/dist/{devices-cli-CXtMoEZv.js → devices-cli-D2qzgS6n.js} +8 -8
  52. package/dist/{diagnostic-C5Por-ID.js → diagnostic-DOls91uN.js} +1 -1
  53. package/dist/{diagnostics-0PFoNolS.js → diagnostics-D4xhje-h.js} +5 -5
  54. package/dist/{directory-cli-NpBfkxfT.js → directory-cli-BDxc1M2a.js} +8 -8
  55. package/dist/{dns-cli-CNYoy9mq.js → dns-cli-DImurxu6.js} +5 -5
  56. package/dist/{dock-CHDx-TGb.js → dock-CcEfMX5D.js} +4 -4
  57. package/dist/{docs-cli-CLZqiB15.js → docs-cli-Cp25W8Hv.js} +4 -4
  58. package/dist/{doctor-completion-B19Hs3xo.js → doctor-completion-BEtcv-8P.js} +1 -1
  59. package/dist/{doctor-completion-B6jYyC1T.js → doctor-completion-YtQqTVcr.js} +2 -2
  60. package/dist/{doctor-config-flow-m-m_m5Ot.js → doctor-config-flow-DtaIUiEk.js} +15 -15
  61. package/dist/{enable-yaF2vNOj.js → enable-Dfmg2SV3.js} +1 -1
  62. package/dist/entry.js +2 -2
  63. package/dist/{exec-approvals-allowlist-Cw4xMxbI.js → exec-approvals-allowlist-IOB4HV3z.js} +1 -1
  64. package/dist/{exec-approvals-cli-BffaLELS.js → exec-approvals-cli-B6X8jOx7.js} +16 -16
  65. package/dist/{exec-safe-bin-runtime-policy-Bu0TwxE1.js → exec-safe-bin-runtime-policy-CEdwujzY.js} +2 -2
  66. package/dist/{fetch-lTdl-0IY.js → fetch-BAv7yBBS.js} +3 -3
  67. package/dist/{fetch-guard-CQZ5FOwI.js → fetch-guard-oYuVfv1t.js} +1 -1
  68. package/dist/{fs-safe-BQS_SZ0h.js → fs-safe--YXsniNZ.js} +24 -24
  69. package/dist/{gateway-cli-Cqe5_9XJ.js → gateway-cli-D1e4MuAA.js} +1 -1
  70. package/dist/{gateway-cli-D4xVKSbv.js → gateway-cli-hP7_aftQ.js} +161 -161
  71. package/dist/{gateway-rpc-qWYRLZ-Z.js → gateway-rpc-C6F7QPVq.js} +1 -1
  72. package/dist/{health-DIS2FlPd.js → health-DOIxOlnm.js} +14 -14
  73. package/dist/{hooks-cli-C4Wqknt2.js → hooks-cli-B3VUhq72.js} +84 -84
  74. package/dist/{hooks-status-BE0dSQIW.js → hooks-status-qBCorl-z.js} +1 -1
  75. package/dist/{image-BgCM5v5-.js → image-BOSsTjNj.js} +5 -5
  76. package/dist/{plugin-sdk/image-ops-CfQjZch5.js → image-ops-B2K36FLD.js} +1 -1
  77. package/dist/index.js +1 -1
  78. package/dist/{inspect-DY_qpyux.js → inspect-DkrsY9Gy.js} +4 -4
  79. package/dist/{install-safe-path-K9dhxxcy.js → install-safe-path-DXP_88Em.js} +25 -25
  80. package/dist/{installs-BYz0q4kc.js → installs-DgI58LlC.js} +9 -9
  81. package/dist/{ipv4-Bj71-jpu.js → ipv4-BuO7nxQZ.js} +1 -1
  82. package/dist/{ir-C_-vG6Lv.js → ir-BCl0dA3G.js} +6 -6
  83. package/dist/{issue-format-1i6b6tFd.js → issue-format-Cat2txpr.js} +1 -1
  84. package/dist/{json-files-1hhV5hS6.js → json-files-DrZ4qfxw.js} +8 -8
  85. package/dist/{lifecycle-core-BZVbJEGI.js → lifecycle-core-CliTbXyj.js} +5 -5
  86. package/dist/{login-KG5TFHFb.js → login-_s-srXtA.js} +3 -3
  87. package/dist/{login-qr-D4L1NDeu.js → login-qr-BNBXsYor.js} +6 -6
  88. package/dist/{logs-cli-D2lMkM4P.js → logs-cli-B4Nwp099.js} +9 -9
  89. package/dist/{manager-C0nx9SKi.js → manager-rK3J4Po3.js} +14 -14
  90. package/dist/{manifest-registry-Co__Fy6F.js → manifest-registry-hRB5Jb3F.js} +1 -1
  91. package/dist/{markdown-tables-D47ZANhY.js → markdown-tables-Mk_tnsfY.js} +1 -1
  92. package/dist/{memory-cli-BwxTb296.js → memory-cli-BbEwsmor.js} +12 -12
  93. package/dist/{model-C30BtXEI.js → model-Cd4C4aY1.js} +2 -2
  94. package/dist/{model-catalog-C0pv85X0.js → model-catalog-Chb7lzRo.js} +3 -3
  95. package/dist/{model-picker-Dediiqpo.js → model-picker-CdgwJ2MU.js} +4 -4
  96. package/dist/{models-Dy35lY8K.js → models-CL1jaXSC.js} +18 -18
  97. package/dist/{models-cli-DBsERrAX.js → models-cli-BeARCGBj.js} +81 -81
  98. package/dist/{models-config-NbV2Gu7N.js → models-config-CkOKPbk9.js} +6 -6
  99. package/dist/{net-DrfP4uzJ.js → net-Bxr80JTs.js} +2 -2
  100. package/dist/{node-cli-CnKN38mM.js → node-cli-DelBH0Tb.js} +33 -33
  101. package/dist/{node-command-policy-xyqdwsT9.js → node-command-policy-DKPye8Fx.js} +1 -1
  102. package/dist/{node-service-DEfPXKwF.js → node-service-Cei5AkFg.js} +1 -1
  103. package/dist/{nodes-cli-CFaqvZCM.js → nodes-cli-CLNRURvx.js} +16 -16
  104. package/dist/{nodes-screen-DNzr75bx.js → nodes-screen-NjyoMja_.js} +7 -7
  105. package/dist/{npm-pack-install-U_Bbmdqc.js → npm-pack-install-B5tn-EtA.js} +18 -18
  106. package/dist/{npm-resolution-BzCW7TCH.js → npm-resolution-Brdkv6mO.js} +5 -5
  107. package/dist/{onboard-BhUYz4pd.js → onboard-Ch8Y1L6r.js} +1 -1
  108. package/dist/{onboard-CHHfB91Q.js → onboard-CqSuI-jq.js} +6 -6
  109. package/dist/{onboard-channels-CXnqSbh7.js → onboard-channels-gTeBkpnk.js} +20 -20
  110. package/dist/{onboard-custom-xXrb_3q4.js → onboard-custom-DhEI_A-m.js} +3 -3
  111. package/dist/{onboard-custom.shared-fTdY9R_i.js → onboard-custom.shared-DoXUpHZV.js} +2 -2
  112. package/dist/{onboard-helpers-DX8Hw_zc.js → onboard-helpers-ngPRx_6_.js} +11 -11
  113. package/dist/{onboard-hooks-DCPdhrCK.js → onboard-hooks-CJvqjkid.js} +4 -4
  114. package/dist/{onboard-remote-aF3GW6mE.js → onboard-remote-DRt29Vs4.js} +3 -3
  115. package/dist/{onboard-skills-CzFxXcom.js → onboard-skills-CoWAaHHg.js} +4 -4
  116. package/dist/{onboarding-BFylLQTs.js → onboarding-BM2AMtOF.js} +1 -1
  117. package/dist/{onboarding-Byioq4gT.js → onboarding-Dp4X7ISI.js} +13 -13
  118. package/dist/{onboarding.finalize-CWPqHkqC.js → onboarding.finalize-8dcfbjPv.js} +3 -3
  119. package/dist/{onboarding.finalize-CnVCE1gR.js → onboarding.finalize-DyQnfLTz.js} +89 -89
  120. package/dist/{onboarding.gateway-config-B5jnM62F.js → onboarding.gateway-config-B1orRdI7.js} +18 -18
  121. package/dist/{openai-model-default-eaULYpD0.js → openai-model-default-DRYz3m4d.js} +2 -2
  122. package/dist/{outbound-CF1Hd23W.js → outbound-BGJh4s6Y.js} +4 -4
  123. package/dist/{outbound-attachment-BMlPpVOn.js → outbound-attachment-Baso-yal.js} +2 -2
  124. package/dist/{pairing-cli-DkVLCjGa.js → pairing-cli-DgUIYETM.js} +9 -9
  125. package/dist/{pairing-labels-CesrJlbr.js → pairing-labels-BPTURWrI.js} +1 -1
  126. package/dist/{pairing-store-BcJH8WDh.js → pairing-store-WGGwqFJB.js} +3 -3
  127. package/dist/{path-alias-guards-C_j0uB0Y.js → path-alias-guards-DdR4BKPM.js} +3 -3
  128. package/dist/{path-safety-BHBxNYfO.js → path-safety-DiJhMaUA.js} +1 -1
  129. package/dist/{paths-Bj8pNglF.js → paths-BPXmr3Zn.js} +9 -9
  130. package/dist/{pi-embedded-helpers-Cc4tC0fE.js → pi-embedded-helpers-ET1kDdN1.js} +6 -6
  131. package/dist/{pi-model-discovery-ItDCP5Ab.js → pi-model-discovery-COnY_kTM.js} +1 -1
  132. package/dist/{pi-tools.policy-BbLCMNCc.js → pi-tools.policy-Cp3wptYh.js} +5 -5
  133. package/dist/{plugin-auto-enable-BxiIEIvc.js → plugin-auto-enable-Bm8hMcPA.js} +3 -3
  134. package/dist/{plugin-registry-DT2OvA5Z.js → plugin-registry-DWd-znRA.js} +3 -3
  135. package/dist/plugin-sdk/{accounts-CqgyHS8h.js → accounts-BME088co.js} +1 -1
  136. package/dist/plugin-sdk/{accounts-kIersDAH.js → accounts-CxgIc7BC.js} +1 -1
  137. package/dist/plugin-sdk/{accounts-B_Sil4df.js → accounts-DFIfXHdI.js} +3 -3
  138. package/dist/plugin-sdk/{active-listener-B1c6rQRy.js → active-listener-Dx4YdW0B.js} +1 -1
  139. package/dist/plugin-sdk/{agent-scope-DS0HILk_.js → agent-scope-BL5NPpGJ.js} +3 -3
  140. package/dist/plugin-sdk/{api-key-rotation-C2Z5xB6w.js → api-key-rotation-DZ1mvKN0.js} +2 -2
  141. package/dist/plugin-sdk/{audio-preflight-Byc0yvPV.js → audio-preflight-B8r8qUhZ.js} +33 -33
  142. package/dist/plugin-sdk/{audio-transcription-runner-DHcTy4Wb.js → audio-transcription-runner-B8gQ16hV.js} +10 -10
  143. package/dist/plugin-sdk/{bindings-D8UvbNti.js → bindings-YKerL1Tc.js} +2 -2
  144. package/dist/plugin-sdk/{channel-activity-CMtaqeTg.js → channel-activity-Dzyx86FD.js} +3 -3
  145. package/dist/plugin-sdk/{channel-web-D3N-Ttls.js → channel-web-dQSyVWDp.js} +23 -23
  146. package/dist/plugin-sdk/{chrome-DoDlUT7F.js → chrome-Hte84S6l.js} +7 -7
  147. package/dist/plugin-sdk/{chunk-BuHZrtLn.js → chunk-4pLJcTE-.js} +1 -1
  148. package/dist/plugin-sdk/{command-format-9ttCUvaP.js → command-format-TmcJI6nP.js} +1 -1
  149. package/dist/plugin-sdk/{commands-registry-ydkoxruZ.js → commands-registry-D1UwEKAH.js} +5 -5
  150. package/dist/plugin-sdk/{config-BkeO1N4t.js → config-kqUrcUGI.js} +10 -10
  151. package/dist/plugin-sdk/{deliver-BcAT1l6Y.js → deliver-DymnzypV.js} +11 -11
  152. package/dist/plugin-sdk/{diagnostic-BefhWusS.js → diagnostic-1MgpiorV.js} +2 -2
  153. package/dist/plugin-sdk/{dock-yYEdNzbx.js → dock-Csf-65jq.js} +6 -6
  154. package/dist/plugin-sdk/{errors-D2KyTKs6.js → errors-BRahpZsP.js} +1 -1
  155. package/dist/plugin-sdk/{fetch-guard-BC92RxgN.js → fetch-guard-cD2GBmNp.js} +2 -2
  156. package/dist/plugin-sdk/{fs-safe-CC4mG_Hc.js → fs-safe-DgdRzasF.js} +3 -3
  157. package/dist/plugin-sdk/{image-Cjm_y1ht.js → image-m9sEMr_K.js} +6 -6
  158. package/dist/{image-ops-HxQLrFqd.js → plugin-sdk/image-ops-DhVTERkS.js} +11 -11
  159. package/dist/plugin-sdk/index.js +64 -64
  160. package/dist/plugin-sdk/{ir-CLKvSg7X.js → ir-DyMWDxUp.js} +6 -6
  161. package/dist/plugin-sdk/{local-roots-DYmtEf6P.js → local-roots-ChmGReXd.js} +4 -4
  162. package/dist/plugin-sdk/{logger-Dqmpx59X.js → logger-BwzMchOl.js} +1 -1
  163. package/dist/plugin-sdk/{login-DYEbRdfH.js → login-DIgrxuIQ.js} +6 -6
  164. package/dist/plugin-sdk/{login-qr-0YUEfC35.js → login-qr-DeAbaqfx.js} +9 -9
  165. package/dist/plugin-sdk/{manager-J_9hr0Yu.js → manager-Bic1h3Nu.js} +10 -10
  166. package/dist/plugin-sdk/{markdown-tables-BA_MdGIq.js → markdown-tables-BEWLluuz.js} +1 -1
  167. package/dist/plugin-sdk/{message-channel-CeYrurhu.js → message-channel-Be6xIObc.js} +1 -1
  168. package/dist/plugin-sdk/{outbound-B386FQiU.js → outbound-D7OdBk5M.js} +7 -7
  169. package/dist/plugin-sdk/{outbound-attachment-DgC7KgEZ.js → outbound-attachment-Y-wO2Csk.js} +2 -2
  170. package/dist/plugin-sdk/{path-alias-guards-KB1li1UU.js → path-alias-guards-CsekuFRi.js} +1 -1
  171. package/dist/plugin-sdk/{pi-embedded-helpers-CbevdnHV.js → pi-embedded-helpers-BWFPgWTA.js} +17 -17
  172. package/dist/plugin-sdk/{pi-model-discovery-Blr1NdM4.js → pi-model-discovery-DRomJojM.js} +1 -1
  173. package/dist/plugin-sdk/{plugins-Dupyelyu.js → plugins-DKZ5hSLA.js} +6 -6
  174. package/dist/plugin-sdk/{proxy-CnPaiSZ0.js → proxy-DIYzaAvh.js} +1 -1
  175. package/dist/plugin-sdk/{proxy-fetch-BY4mmpys.js → proxy-fetch-X6Ja_eZx.js} +1 -1
  176. package/dist/plugin-sdk/{pw-ai-C1rLCgeF.js → pw-ai-MuLgIL01.js} +13 -13
  177. package/dist/plugin-sdk/{qmd-manager-BtfjLkaZ.js → qmd-manager-D3p7PB5n.js} +8 -8
  178. package/dist/plugin-sdk/{query-expansion-DgHoeKXG.js → query-expansion-C90Jc5uo.js} +2 -2
  179. package/dist/plugin-sdk/{redact-Civ2olvH.js → redact-DEfi9F2o.js} +1 -1
  180. package/dist/plugin-sdk/{registry-Cq-TQPU8.js → registry-BfD4IdFK.js} +2 -2
  181. package/dist/plugin-sdk/{replies-a2WeMkU6.js → replies-GRjUBMUL.js} +3 -3
  182. package/dist/plugin-sdk/{reply-C2XVty9G.js → reply-BlPlf4OC.js} +93 -93
  183. package/dist/plugin-sdk/{reply-prefix-BRomwQau.js → reply-prefix-CobEDhG_.js} +1 -1
  184. package/dist/plugin-sdk/{resolve-outbound-target-B_xKgqWe.js → resolve-outbound-target-DkNri48r.js} +2 -2
  185. package/dist/plugin-sdk/{resolve-route-yLtq9xkG.js → resolve-route-fu19EHnm.js} +4 -4
  186. package/dist/plugin-sdk/{retry-D9aKv766.js → retry-Agt7ZiSn.js} +1 -1
  187. package/dist/plugin-sdk/{send-Ct2mLh8U.js → send-BB06ROuk.js} +15 -15
  188. package/dist/plugin-sdk/{send-Bs-YbYdN.js → send-BUpepCol.js} +6 -6
  189. package/dist/plugin-sdk/{send-WwwzoTNW.js → send-C5ymrC3h.js} +7 -7
  190. package/dist/plugin-sdk/{send-kJXSgFcu.js → send-CvC0d45Z.js} +10 -10
  191. package/dist/plugin-sdk/{send-_MTxUi5p.js → send-DwXcBQYC.js} +8 -8
  192. package/dist/plugin-sdk/{session-Bfpm71Tg.js → session-D8BNggg2.js} +5 -5
  193. package/dist/plugin-sdk/{session-meta-CM4K7B00.js → session-meta-DYb6KCvG.js} +1 -1
  194. package/dist/plugin-sdk/{sessions-DFx8MKSO.js → sessions-BtJmhzev.js} +6 -6
  195. package/dist/plugin-sdk/{skill-commands-CakvOluN.js → skill-commands-C3OZ4W61.js} +5 -5
  196. package/dist/plugin-sdk/{skills-CZFBOkwT.js → skills-CIvz2coj.js} +8 -8
  197. package/dist/plugin-sdk/{ssrf-BjVCUeM7.js → ssrf-EGzUkeVq.js} +1 -1
  198. package/dist/plugin-sdk/{store-DALs5PIC.js → store-Dij_2k2X.js} +2 -2
  199. package/dist/plugin-sdk/{subsystem-DQdKZm8Z.js → subsystem-C84uWxqx.js} +2 -2
  200. package/dist/plugin-sdk/{tables-BQwHnOX0.js → tables-CTWsNiUf.js} +1 -1
  201. package/dist/plugin-sdk/{target-errors-DqlHqAmV.js → target-errors-Bgd_Uo0g.js} +2 -2
  202. package/dist/plugin-sdk/{tokens-C_Ieeb03.js → tokens-B9E-mnf_.js} +1 -1
  203. package/dist/plugin-sdk/{tool-images-RhD8geto.js → tool-images-0gnewwTL.js} +2 -2
  204. package/dist/plugin-sdk/{tool-loop-detection-CKnmaEeR.js → tool-loop-detection-Bsh07kcw.js} +2 -2
  205. package/dist/plugin-sdk/{utils-hxOwZduA.js → utils-BA7Xm0uM.js} +1 -1
  206. package/dist/plugin-sdk/web-D48I7g5u.js +72 -0
  207. package/dist/plugin-sdk/{whatsapp-actions-CudQXAzF.js → whatsapp-actions-BLoPRR5B.js} +25 -25
  208. package/dist/{plugins--_65-dc5.js → plugins-CO6qDFdk.js} +2 -2
  209. package/dist/{plugins-cli-BmJ7h0-l.js → plugins-cli-B90nR_VK.js} +86 -86
  210. package/dist/{ports-Cw4Nwv2D.js → ports-CUjMnvTs.js} +1 -1
  211. package/dist/{ports-DgCQT1oY.js → ports-Dczj_PV_.js} +2 -2
  212. package/dist/{program-Be2ymElx.js → program-5vm1a5f-.js} +84 -84
  213. package/dist/{program-context-VmNKrCEz.js → program-context-uwFKpk8g.js} +7 -7
  214. package/dist/{prompt-select-styled-y3MS0Ion.js → prompt-select-styled-ByCoxIUa.js} +1 -1
  215. package/dist/{prompt-select-styled-VDz-k6PU.js → prompt-select-styled-D5N-DZSk.js} +39 -39
  216. package/dist/{provider-auth-helpers-BubJ5s-y.js → provider-auth-helpers-Btf9aI1h.js} +5 -5
  217. package/dist/{proxy-env-DHBs_DSq.js → proxy-env-DQGTNk9X.js} +1 -1
  218. package/dist/{push-apns-Ck9shhvZ.js → push-apns-CzIypSJf.js} +5 -5
  219. package/dist/{pw-ai-DYEHR6w8.js → pw-ai-D1Ry3gcn.js} +15 -15
  220. package/dist/{qmd-manager-BHSD3_rI.js → qmd-manager-BNFUTVvk.js} +20 -20
  221. package/dist/{qr-cli-CKOGSVK_.js → qr-cli-BTrl8Tw4.js} +1 -1
  222. package/dist/{query-expansion-BkWbp0bs.js → query-expansion-CP4BjmxS.js} +12 -12
  223. package/dist/{redact-snapshot-BzZpHz-O.js → redact-snapshot-QpVJSBBX.js} +1 -1
  224. package/dist/{register.agent-DT71MEX9.js → register.agent-BksD8xqL.js} +97 -97
  225. package/dist/register.configure-CJVJLDtX.js +175 -0
  226. package/dist/{register.init-BG8FagAY.js → register.init-B26Ry-q0.js} +29 -20
  227. package/dist/{register.init-kK0U4c1X.js → register.init-BzRts3RZ.js} +14 -5
  228. package/dist/{register.maintenance-DXzqBj6G.js → register.maintenance-BTwdTZnP.js} +4 -4
  229. package/dist/{register.maintenance-JgN7l-Nt.js → register.maintenance-DZZc7WGW.js} +99 -99
  230. package/dist/{register.message-6kMQG_ny.js → register.message-DW2G2t5n.js} +77 -77
  231. package/dist/{register.onboard-8ktAun-c.js → register.onboard-kzLJdF35.js} +18 -18
  232. package/dist/{register.onboard-Cx_a7wmX.js → register.onboard-ps-7r0Bx.js} +2 -2
  233. package/dist/{register.setup-ByRV6Cja.js → register.setup-C5qExQuD.js} +21 -21
  234. package/dist/{register.setup-DwSY2woO.js → register.setup-DFniVrQp.js} +2 -2
  235. package/dist/{register.start-D0pe3Bgs.js → register.start-CbfmMKWY.js} +17 -17
  236. package/dist/{register.status-health-sessions-tMSX9Z5o.js → register.status-health-sessions-CMZuvcON.js} +91 -91
  237. package/dist/{register.subclis-BL5uM8m-.js → register.subclis-o8k-y9CC.js} +31 -31
  238. package/dist/{replies-uQ56Hw52.js → replies-Dx5zA8IX.js} +1 -1
  239. package/dist/{reply-prefix-XmrGZdy_.js → reply-prefix-CS57j6KU.js} +1 -1
  240. package/dist/{resolve-route-Ukn_7wVk.js → resolve-route-Bxji0kZW.js} +2 -2
  241. package/dist/{rpc-3QEhCMY4.js → rpc-cRmU1tSk.js} +1 -1
  242. package/dist/{run-main-CTvTsMR8.js → run-main-CEEV_P4Y.js} +95 -95
  243. package/dist/{runtime-B4lkRQQD.js → runtime-COI_IE2j.js} +2 -2
  244. package/dist/{sandbox-CEIoYXZN.js → sandbox-BNSLjYyu.js} +18 -18
  245. package/dist/{sandbox-cli-BrTy3weD.js → sandbox-cli-C1OPjNfD.js} +26 -26
  246. package/dist/{secrets-cli-DeFPoA0b.js → secrets-cli-7Md_QcpC.js} +10 -10
  247. package/dist/{security-cli-CpDjK_Rg.js → security-cli-D68NIF3V.js} +43 -43
  248. package/dist/{send-CtAy9-2u.js → send-BpYBrb6S.js} +5 -5
  249. package/dist/{send-6U8MorA7.js → send-C8xKNHVm.js} +6 -6
  250. package/dist/{send-CVDGeH7A.js → send-CUvJIfFz.js} +11 -11
  251. package/dist/{send-BY8NE-y9.js → send-DX2I6KZU.js} +8 -8
  252. package/dist/{send-BdKdRPi6.js → send-DikEpk7w.js} +6 -6
  253. package/dist/{server-C9XFPL3c.js → server-D_wuOlkf.js} +19 -19
  254. package/dist/{server-context-DtOlWY9P.js → server-context-Dl8XC4vq.js} +12 -12
  255. package/dist/{server-lifecycle-CXzU2NM3.js → server-lifecycle-BIuR7Tj0.js} +2 -2
  256. package/dist/{server-middleware-Bp3DeSvQ.js → server-middleware-C_4mR9wU.js} +1 -1
  257. package/dist/{server-node-events-BcOJ7KmG.js → server-node-events-B-IAFJfU.js} +77 -77
  258. package/dist/{service-DPP3q6R4.js → service-BcyKtT1n.js} +15 -15
  259. package/dist/{session-6uNAHyWp.js → session-DyGs2JIG.js} +1 -1
  260. package/dist/{session-meta-DGKTOhxQ.js → session-meta-C7WybT5h.js} +1 -1
  261. package/dist/{session-utils-hbZzVDyj.js → session-utils-CYaFN47T.js} +6 -6
  262. package/dist/{sessions-CbWqJtkx.js → sessions-Cd7cVPC-.js} +4 -4
  263. package/dist/{sessions-DB4MRK6L.js → sessions-i5lEEEca.js} +15 -15
  264. package/dist/{shared-yo9kxQZW.js → shared-BKC5qsuY.js} +3 -3
  265. package/dist/{shared-D6mi8wP1.js → shared-CL0m0H8G.js} +1 -1
  266. package/dist/{skill-commands-Duha9iIC.js → skill-commands-Cl6M7kpE.js} +5 -5
  267. package/dist/{skill-scanner-Di-O2Hg-.js → skill-scanner-WUtERLdW.js} +6 -6
  268. package/dist/{skills-dNa7QxCF.js → skills-B18XPCNc.js} +3 -3
  269. package/dist/{skills-cli-Dkjzn2SU.js → skills-cli-C0gXv9PH.js} +5 -5
  270. package/dist/{skills-install-ARBA7lP0.js → skills-install-DYR6yH15.js} +6 -6
  271. package/dist/{skills-status-B4yuFDEj.js → skills-status-D9Rnj4xI.js} +1 -1
  272. package/dist/{status-CfL923KW.js → status-Dwe_iuCP.js} +26 -26
  273. package/dist/{status.update-aARe-MF6.js → status.update-C0psHodW.js} +2 -2
  274. package/dist/{store-BpvlJ70I.js → store-D-c26kSk.js} +5 -5
  275. package/dist/{subagent-registry-DEFti4F9.js → subagent-registry-eE5PhOhY.js} +157 -157
  276. package/dist/{system-cli-CYspMbRb.js → system-cli-kpN0Gb37.js} +9 -9
  277. package/dist/{system-run-command-BJQ7Q63p.js → system-run-command-DFxer2oq.js} +1 -1
  278. package/dist/{systemd-BtVy3Rbo.js → systemd-ebIdQGFn.js} +9 -9
  279. package/dist/{systemd-hints-BetNJuAX.js → systemd-hints-tCX_kug7.js} +6 -6
  280. package/dist/{systemd-linger-CWPZsER4.js → systemd-linger-IFrOwkb9.js} +1 -1
  281. package/dist/{tables-Bv2Hq-F0.js → tables-FZbGazqi.js} +1 -1
  282. package/dist/{tailnet-Dynp_Pgs.js → tailnet-BKoOcmOa.js} +1 -1
  283. package/dist/{target-errors-Bwi1jTIf.js → target-errors-CL097N6P.js} +4 -4
  284. package/dist/{tool-images-D7dXfsZW.js → tool-images-CXfdtMwT.js} +1 -1
  285. package/dist/{tui-CYj3VX-Y.js → tui-D3HyXPhF.js} +6 -6
  286. package/dist/{tui-cli-g7SERHtf.js → tui-cli-BYXDIVRr.js} +33 -33
  287. package/dist/{update-DbGfT3_u.js → update-D372fHKr.js} +3 -3
  288. package/dist/{update-cli-DzGTmqj1.js → update-cli-CO3mOkqg.js} +4 -4
  289. package/dist/{update-cli-D11Y1iYl.js → update-cli-D2pd7IJi.js} +107 -107
  290. package/dist/{update-runner-BjX-ARIw.js → update-runner-j5RoheCK.js} +16 -16
  291. package/dist/web-Kse4dEsw.js +127 -0
  292. package/dist/{webhooks-cli-CoxuOMZ6.js → webhooks-cli-DgLGWDer.js} +6 -6
  293. package/dist/{whatsapp-actions-0CZKI1og.js → whatsapp-actions-BC00XF83.js} +19 -19
  294. package/dist/{with-timeout-cpgy0l-9.js → with-timeout-DvPUrPuK.js} +3 -3
  295. package/dist/{workspace-DYiAh9n2.js → workspace-Cuq5sS-4.js} +1 -1
  296. package/dist/{workspace-DtFDeYRa.js → workspace-DkRZH7vl.js} +23 -23
  297. package/dist/{workspace-dirs-BAyX7JI2.js → workspace-dirs-DBhaJ0y_.js} +1 -1
  298. package/dist/{wsl-CiVud8tt.js → wsl-KDz114y6.js} +2 -2
  299. package/package.json +1 -1
  300. package/dist/plugin-sdk/web-DLrSMEN4.js +0 -72
  301. package/dist/register.configure-BWunAqlW.js +0 -175
  302. package/dist/web-CqfFsaTH.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-CD-_2ECk.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-CDN1QqUB.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-k09E8RLJ.js";
7
7
  import { t as formatCliCommand } from "./command-format-DmULG-oQ.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-qYbUVCHn.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-BrbgAMci.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-BHAtQ0dM.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-DtFDeYRa.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-DkRZH7vl.js";
12
12
  import { i as logWarn, t as logDebug } from "./logger-rnlD7CTs.js";
13
13
  import { n as runExec, t as runCommandWithTimeout } from "./exec-lwQ7X6bf.js";
14
14
  import "./github-copilot-token-b8zw2qi2.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-eN0IzwTo.js";
19
- import { u as isTestDefaultMemorySlotDisabled } from "./manifest-registry-Co__Fy6F.js";
20
- import "./dock-CHDx-TGb.js";
21
- import "./model-C30BtXEI.js";
22
- import "./pi-model-discovery-ItDCP5Ab.js";
19
+ import { u as isTestDefaultMemorySlotDisabled } from "./manifest-registry-hRB5Jb3F.js";
20
+ import "./dock-CcEfMX5D.js";
21
+ import "./model-Cd4C4aY1.js";
22
+ import "./pi-model-discovery-COnY_kTM.js";
23
23
  import { d as hasBinary } from "./frontmatter-I4t5UjzX.js";
24
- import { c as resolveBundledSkillsDir, i as loadWorkspaceSkillEntries, r as buildWorkspaceSkillSnapshot } from "./skills-dNa7QxCF.js";
25
- import { n as assertNoPathAliasEscape } from "./path-alias-guards-C_j0uB0Y.js";
26
- import { t as buildWorkspaceSkillStatus } from "./skills-status-B4yuFDEj.js";
24
+ import { c as resolveBundledSkillsDir, i as loadWorkspaceSkillEntries, r as buildWorkspaceSkillSnapshot } from "./skills-B18XPCNc.js";
25
+ import { n as assertNoPathAliasEscape } from "./path-alias-guards-DdR4BKPM.js";
26
+ import { t as buildWorkspaceSkillStatus } from "./skills-status-D9Rnj4xI.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-bQJz_2wn.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-DB4MRK6L.js";
29
- import { n as listChannelPlugins, r as normalizeChannelId, t as getChannelPlugin, v as normalizeWhatsAppTarget } from "./plugins--_65-dc5.js";
30
- import { i as resolveWhatsAppAccount } from "./accounts-CzfKkJDx.js";
31
- import "./accounts-YtMo-RPC.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-i5lEEEca.js";
29
+ import { n as listChannelPlugins, r as normalizeChannelId, t as getChannelPlugin, v as normalizeWhatsAppTarget } from "./plugins-CO6qDFdk.js";
30
+ import { i as resolveWhatsAppAccount } from "./accounts-CTKra7aS.js";
31
+ import "./accounts-B4wV9IFm.js";
32
32
  import "./logging-CcxUDNcI.js";
33
- import "./accounts-CQrvvU8V.js";
34
- import { t as buildChannelAccountBindings } from "./bindings-D9ZiGe2K.js";
35
- import "./send-CtAy9-2u.js";
36
- import "./send-CVDGeH7A.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-DEFti4F9.js";
33
+ import "./accounts-DtaSiAum.js";
34
+ import { t as buildChannelAccountBindings } from "./bindings-C9vpkXej.js";
35
+ import "./send-BpYBrb6S.js";
36
+ import "./send-CUvJIfFz.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-eE5PhOhY.js";
38
38
  import { c as resolveStorePath, i as resolveSessionTranscriptPath, n as resolveSessionFilePath, r as resolveSessionFilePathOptions, s as resolveSessionTranscriptsDirForAgent } from "./paths-Be1MArvM.js";
39
39
  import { i as normalizeInputProvenance } from "./input-provenance-BDYpbBeC.js";
40
40
  import "./chat-envelope-AUuZAcrC.js";
41
- import { n as readJsonFile, r as writeJsonAtomic, t as createAsyncLock } from "./json-files-1hhV5hS6.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-Swf30UOh.js";
43
- import { f as loadGatewayTlsRuntime$1, l as authorizeOperatorScopesForMethod, n as callGateway, s as ADMIN_SCOPE$3, u as isNodeRoleMethod } from "./call-BSBuLNiX.js";
41
+ import { n as readJsonFile, r as writeJsonAtomic, t as createAsyncLock } from "./json-files-DrZ4qfxw.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-CIji7FpE.js";
43
+ import { f as loadGatewayTlsRuntime$1, l as authorizeOperatorScopesForMethod, n as callGateway, s as ADMIN_SCOPE$3, u as isNodeRoleMethod } from "./call-CBH5yDff.js";
44
44
  import "./pairing-token-b8YwYBlW.js";
45
45
  import { t as safeEqualSecret } from "./secret-equal-CzmdvIUc.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-DrfP4uzJ.js";
47
- import { n as pickPrimaryTailnetIPv4, r as pickPrimaryTailnetIPv6 } from "./tailnet-Dynp_Pgs.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-Bxr80JTs.js";
47
+ import { n as pickPrimaryTailnetIPv4, r as pickPrimaryTailnetIPv6 } from "./tailnet-BKoOcmOa.js";
48
48
  import { i as isSilentReplyText, n as SILENT_REPLY_TOKEN } from "./tokens-C5eaMCmn.js";
49
- import { a as getMachineDisplayName, i as startBrowserControlServiceFromConfig, n as createBrowserRouteDispatcher, r as createBrowserControlContext } from "./with-timeout-cpgy0l-9.js";
50
- import { j as runGlobalGatewayStopSafely, k as getGlobalHookRunner, o as normalizeReplyPayloadsForDelivery, t as deliverOutboundPayloads } from "./deliver-CQmmhMaR.js";
51
- import { d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, m as isDiagnosticsEnabled } from "./diagnostic-C5Por-ID.js";
49
+ import { a as getMachineDisplayName, i as startBrowserControlServiceFromConfig, n as createBrowserRouteDispatcher, r as createBrowserControlContext } from "./with-timeout-DvPUrPuK.js";
50
+ import { j as runGlobalGatewayStopSafely, k as getGlobalHookRunner, o as normalizeReplyPayloadsForDelivery, t as deliverOutboundPayloads } from "./deliver-Bm4UojU1.js";
51
+ import { d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, m as isDiagnosticsEnabled } from "./diagnostic-DOls91uN.js";
52
52
  import "./diagnostic-session-state-B5Z0I32_.js";
53
- import { S as saveCronStore, b as loadCronStore, x as resolveCronStorePath } from "./send-BY8NE-y9.js";
54
- import { c as detectMime } from "./image-ops-HxQLrFqd.js";
55
- import "./pi-embedded-helpers-Cc4tC0fE.js";
56
- import { C as resolveToolProfilePolicy, _ as collectExplicitAllowlist, y as mergeAlsoAllowPolicy } from "./sandbox-CEIoYXZN.js";
53
+ import { S as saveCronStore, b as loadCronStore, x as resolveCronStorePath } from "./send-DX2I6KZU.js";
54
+ import { c as detectMime } from "./image-ops-B2K36FLD.js";
55
+ import "./pi-embedded-helpers-ET1kDdN1.js";
56
+ import { C as resolveToolProfilePolicy, _ as collectExplicitAllowlist, y as mergeAlsoAllowPolicy } from "./sandbox-BNSLjYyu.js";
57
57
  import { i as listCoreToolSections, n as PROFILE_OPTIONS, o as resolveCoreToolProfiles } from "./tool-catalog-CDe8aNjS.js";
58
- import "./chrome-zP7qr3zd.js";
58
+ import "./chrome-BVlYi4nu.js";
59
59
  import { i as enableTailscaleServe, n as disableTailscaleServe, o as getTailnetHostname, r as enableTailscaleFunnel, t as disableTailscaleFunnel } from "./tailscale-CFR4X5-p.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-DhaM6Od5.js";
61
- import { l as ensureGatewayStartupAuth, u as mergeGatewayTailscaleConfig } from "./server-context-DtOlWY9P.js";
62
- import "./paths-Bj8pNglF.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-DuCrQ5K9.js";
61
+ import { l as ensureGatewayStartupAuth, u as mergeGatewayTailscaleConfig } from "./server-context-Dl8XC4vq.js";
62
+ import "./paths-BPXmr3Zn.js";
63
63
  import { a as testRegexWithBoundedInput, i as compileSafeRegex } from "./redact-BMVmEUXt.js";
64
64
  import { o as isErrno, r as formatErrorMessage } from "./errors-BkARgYnD.js";
65
- import { i as openFileWithinRoot, l as writeFileWithinRoot, s as readLocalFileSafely, t as SafeOpenError } from "./fs-safe-BQS_SZ0h.js";
66
- import { n as SsrFBlockedError } from "./proxy-env-DHBs_DSq.js";
67
- import "./store-BpvlJ70I.js";
68
- import { n as inspectPortUsage, o as formatPortDiagnostics, t as ensurePortAvailable } from "./ports-DgCQT1oY.js";
65
+ import { i as openFileWithinRoot, l as writeFileWithinRoot, s as readLocalFileSafely, t as SafeOpenError } from "./fs-safe--YXsniNZ.js";
66
+ import { n as SsrFBlockedError } from "./proxy-env-DQGTNk9X.js";
67
+ import "./store-D-c26kSk.js";
68
+ import { n as inspectPortUsage, o as formatPortDiagnostics, t as ensurePortAvailable } from "./ports-Dczj_PV_.js";
69
69
  import { t as movePathToTrash } from "./trash-BgQvmW5g.js";
70
- import "./server-middleware-Bp3DeSvQ.js";
71
- import "./tool-images-D7dXfsZW.js";
70
+ import "./server-middleware-C_4mR9wU.js";
71
+ import "./tool-images-CXfdtMwT.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-BxCyPtl0.js";
73
- import "./models-config-NbV2Gu7N.js";
74
- import "./exec-approvals-allowlist-Cw4xMxbI.js";
75
- import "./exec-safe-bin-runtime-policy-Bu0TwxE1.js";
76
- import { n as loadModelCatalog } from "./model-catalog-C0pv85X0.js";
77
- import "./fetch-lTdl-0IY.js";
78
- import { g as registerUnhandledRejectionHandler } from "./audio-transcription-runner-CF3DjqKy.js";
79
- import { t as fetchWithSsrFGuard } from "./fetch-guard-CQZ5FOwI.js";
80
- import { x as extractTextFromChatContent } from "./image-BgCM5v5-.js";
73
+ import "./models-config-CkOKPbk9.js";
74
+ import "./exec-approvals-allowlist-IOB4HV3z.js";
75
+ import "./exec-safe-bin-runtime-policy-CEdwujzY.js";
76
+ import { n as loadModelCatalog } from "./model-catalog-Chb7lzRo.js";
77
+ import "./fetch-BAv7yBBS.js";
78
+ import { g as registerUnhandledRejectionHandler } from "./audio-transcription-runner-DBPatTZv.js";
79
+ import { t as fetchWithSsrFGuard } from "./fetch-guard-oYuVfv1t.js";
80
+ import { x as extractTextFromChatContent } from "./image-BOSsTjNj.js";
81
81
  import "./tool-display-B8GyZt-E.js";
82
- import "./api-key-rotation-XTdz_cvI.js";
82
+ import "./api-key-rotation-BdoPDM3X.js";
83
83
  import "./proxy-fetch-DNS2eEZm.js";
84
- import { a as resolveAgentIdentity, t as createReplyPrefixOptions } from "./reply-prefix-XmrGZdy_.js";
84
+ import { a as resolveAgentIdentity, t as createReplyPrefixOptions } from "./reply-prefix-CS57j6KU.js";
85
85
  import "./chunk-C0-ifupK.js";
86
- import "./markdown-tables-D47ZANhY.js";
87
- import "./ir-C_-vG6Lv.js";
86
+ import "./markdown-tables-Mk_tnsfY.js";
87
+ import "./ir-BCl0dA3G.js";
88
88
  import "./render-Bwu_WxwA.js";
89
- import { a as ToolInputError } from "./target-errors-Bwi1jTIf.js";
90
- import { r as isRestartEnabled } from "./commands-B8w5Izi1.js";
91
- import "./commands-registry-Ctux_Nq3.js";
89
+ import { a as ToolInputError } from "./target-errors-CL097N6P.js";
90
+ import { r as isRestartEnabled } from "./commands-B7V-vN3N.js";
91
+ import "./commands-registry-B6LbRm3U.js";
92
92
  import "./fetch-BAIuE19S.js";
93
93
  import "./retry-CtBUwwIQ.js";
94
- import { a as readChannelAllowFromStoreSync } from "./pairing-store-BcJH8WDh.js";
94
+ import { a as readChannelAllowFromStoreSync } from "./pairing-store-WGGwqFJB.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-CUPLFghN.js";
96
- import { _ as matchSystemRunApprovalBinding, g as buildSystemRunApprovalBinding, h as resolveSystemRunApprovalRuntimeContext, m as resolveSystemRunApprovalRequestContext, v as missingSystemRunApprovalBinding, y as toSystemRunApprovalMismatchError } from "./nodes-screen-DNzr75bx.js";
97
- import { n as resolveSystemRunCommand } from "./system-run-command-BJQ7Q63p.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-hbZzVDyj.js";
96
+ import { _ as matchSystemRunApprovalBinding, g as buildSystemRunApprovalBinding, h as resolveSystemRunApprovalRuntimeContext, m as resolveSystemRunApprovalRequestContext, v as missingSystemRunApprovalBinding, y as toSystemRunApprovalMismatchError } from "./nodes-screen-NjyoMja_.js";
97
+ import { n as resolveSystemRunCommand } from "./system-run-command-DFxer2oq.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-CYaFN47T.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-vUeaQKAz.js";
100
100
  import { n as formatTokenCount, r as formatUsd } from "./usage-format-BzVVjHV2.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-Duha9iIC.js";
102
- import { t as listAgentWorkspaceDirs } from "./workspace-dirs-BAyX7JI2.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-Cl6M7kpE.js";
102
+ import { t as listAgentWorkspaceDirs } from "./workspace-dirs-DBhaJ0y_.js";
103
103
  import { t as getChannelActivity } from "./channel-activity-EI_tOOrC.js";
104
104
  import { n as normalizePollInput } from "./polls-DXeUmcgz.js";
105
- import "./tables-Bv2Hq-F0.js";
106
- import "./server-lifecycle-CXzU2NM3.js";
105
+ import "./tables-FZbGazqi.js";
106
+ import "./server-lifecycle-BIuR7Tj0.js";
107
107
  import { i as parseAbsoluteTimeMs, n as resolveCronStaggerMs, r as resolveDefaultCronStaggerMs, t as normalizeCronStaggerMs } from "./stagger-Bi1uV655.js";
108
- import { n as resolveMessageChannelSelection } from "./channel-selection-BKyzCX35.js";
109
- import { i as buildChannelUiCatalog, t as applyPluginAutoEnable } from "./plugin-auto-enable-BxiIEIvc.js";
110
- import "./send-6U8MorA7.js";
111
- import "./outbound-attachment-BMlPpVOn.js";
108
+ import { n as resolveMessageChannelSelection } from "./channel-selection-DZrPYytY.js";
109
+ import { i as buildChannelUiCatalog, t as applyPluginAutoEnable } from "./plugin-auto-enable-Bm8hMcPA.js";
110
+ import "./send-C8xKNHVm.js";
111
+ import "./outbound-attachment-Baso-yal.js";
112
112
  import "./delivery-queue-p3JO2jjt.js";
113
- import "./send-BdKdRPi6.js";
114
- import "./resolve-route-Ukn_7wVk.js";
115
- import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, r as resolveEffectiveToolPolicy } from "./pi-tools.policy-BbLCMNCc.js";
113
+ import "./send-DikEpk7w.js";
114
+ import "./resolve-route-Bxji0kZW.js";
115
+ import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, r as resolveEffectiveToolPolicy } from "./pi-tools.policy-Cp3wptYh.js";
116
116
  import "./proxy-DUWLUvch.js";
117
- import "./replies-uQ56Hw52.js";
118
- import { C as normalizeControlUiBasePath, S as buildControlUiAvatarUrl, c as handleReset, w as resolveAssistantAvatarUrl, x as CONTROL_UI_AVATAR_PREFIX } from "./onboard-helpers-DX8Hw_zc.js";
117
+ import "./replies-Dx5zA8IX.js";
118
+ import { C as normalizeControlUiBasePath, S as buildControlUiAvatarUrl, c as handleReset, w as resolveAssistantAvatarUrl, x as CONTROL_UI_AVATAR_PREFIX } from "./onboard-helpers-ngPRx_6_.js";
119
119
  import "./prompt-style-C1-jML6O.js";
120
- import "./pairing-labels-CesrJlbr.js";
121
- import "./session-meta-DGKTOhxQ.js";
122
- import { i as resolveMemoryBackendConfig, r as getMemorySearchManager } from "./memory-cli-BwxTb296.js";
123
- import { r as resolveMemorySearchConfig } from "./manager-C0nx9SKi.js";
124
- import "./query-expansion-BkWbp0bs.js";
120
+ import "./pairing-labels-BPTURWrI.js";
121
+ import "./session-meta-C7WybT5h.js";
122
+ import { i as resolveMemoryBackendConfig, r as getMemorySearchManager } from "./memory-cli-BbEwsmor.js";
123
+ import { r as resolveMemorySearchConfig } from "./manager-rK3J4Po3.js";
124
+ import "./query-expansion-CP4BjmxS.js";
125
125
  import { t as formatDocsLink } from "./links-B3vCyexf.js";
126
126
  import { n as runCommandWithRuntime } from "./cli-utils-aSBNHQae.js";
127
127
  import { t as formatHelpExamples } from "./help-format-DXdeaYOY.js";
@@ -134,45 +134,45 @@ import { n as DEFAULT_GATEWAY_HTTP_TOOL_DENY } from "./dangerous-tools-lwpZk6nY.
134
134
  import { n as inheritOptionFromParent } from "./command-options-DGYxc3D_.js";
135
135
  import { t as WizardCancelledError } from "./prompts-QSI6gA3k.js";
136
136
  import { t as resolveChannelDefaultAccountId } from "./helpers-D6BlzJnx.js";
137
- import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-EnxTBynI.js";
138
- import { t as isWithinDir } from "./path-safety-BHBxNYfO.js";
139
- import { t as assertCanonicalPathWithinBase } from "./install-safe-path-K9dhxxcy.js";
140
- import "./skill-scanner-Di-O2Hg-.js";
141
- import { n as formatConfigIssueLines } from "./issue-format-1i6b6tFd.js";
137
+ import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-BLKDc8io.js";
138
+ import { t as isWithinDir } from "./path-safety-DiJhMaUA.js";
139
+ import { t as assertCanonicalPathWithinBase } from "./install-safe-path-DXP_88Em.js";
140
+ import "./skill-scanner-WUtERLdW.js";
141
+ import { n as formatConfigIssueLines } from "./issue-format-Cat2txpr.js";
142
142
  import { t as buildChannelAccountSnapshot } from "./status-BIupzBh9.js";
143
- import "./channels-status-issues-Cn340Vbe.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-BzZpHz-O.js";
145
- import "./daemon-install-helpers-DLIsWH31.js";
143
+ import "./channels-status-issues-Bb3ugkRr.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-QpVJSBBX.js";
145
+ import "./daemon-install-helpers-Crntu4pF.js";
146
146
  import "./runtime-guard-Cpm1AIhT.js";
147
- import "./systemd-BtVy3Rbo.js";
148
- import "./service-DPP3q6R4.js";
149
- import "./lifecycle-core-BZVbJEGI.js";
150
- import "./systemd-hints-BetNJuAX.js";
147
+ import "./systemd-ebIdQGFn.js";
148
+ import "./service-BcyKtT1n.js";
149
+ import "./lifecycle-core-CliTbXyj.js";
150
+ import "./systemd-hints-tCX_kug7.js";
151
151
  import { t as parsePort$1 } from "./parse-port-Dq63ch6Y.js";
152
- import { n as addGatewayServiceCommands } from "./daemon-cli-S2o4Kcwu.js";
153
- import "./diagnostics-0PFoNolS.js";
152
+ import { n as addGatewayServiceCommands } from "./daemon-cli-BxFuWNM-.js";
153
+ import "./diagnostics-D4xhje-h.js";
154
154
  import "./table-CFrE3ObJ.js";
155
155
  import { n as resolveWideAreaDiscoveryDomain, r as writeWideAreaGatewayZone } from "./widearea-dns-DW5c74bk.js";
156
- import { i as toOptionString, n as extractGatewayMiskeys, r as maybeExplainGatewayServiceStop, t as describeUnknownError } from "./shared-D6mi8wP1.js";
157
- import { a as probeGateway, n as collectEnabledInsecureOrDangerousFlags } from "./audit-pIY_GfjC.js";
158
- import { t as discoverGatewayBeacons } from "./bonjour-discovery-CBcz-0Ts.js";
159
- import { i as pickGatewaySelfPresence, r as getStatusSummary } from "./status-CfL923KW.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-DIS2FlPd.js";
161
- import { a as resolveControlUiRootSync, i as resolveControlUiRootOverrideSync, t as ensureControlUiAssetsBuilt } from "./control-ui-assets-BxJ3OmP_.js";
162
- import { o as isBitseekBuild } from "./status.update-aARe-MF6.js";
163
- import { h as normalizeUpdateChannel, l as DEFAULT_PACKAGE_CHANNEL, n as checkUpdateStatus, o as resolveNpmChannelTag, r as compareSemverStrings } from "./channel-account-context-Cc-TbAKt.js";
164
- import { i as prepareSecretsRuntimeSnapshot, n as clearSecretsRuntimeSnapshot, r as getActiveSecretsRuntimeSnapshot, t as activateSecretsRuntimeSnapshot } from "./runtime-B4lkRQQD.js";
165
- import { t as runOnboardingWizard } from "./onboarding-Byioq4gT.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-Ck9shhvZ.js";
156
+ import { i as toOptionString, n as extractGatewayMiskeys, r as maybeExplainGatewayServiceStop, t as describeUnknownError } from "./shared-CL0m0H8G.js";
157
+ import { a as probeGateway, n as collectEnabledInsecureOrDangerousFlags } from "./audit-p4lBCTPz.js";
158
+ import { t as discoverGatewayBeacons } from "./bonjour-discovery-DyLRXLw1.js";
159
+ import { i as pickGatewaySelfPresence, r as getStatusSummary } from "./status-Dwe_iuCP.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-DOIxOlnm.js";
161
+ import { a as resolveControlUiRootSync, i as resolveControlUiRootOverrideSync, t as ensureControlUiAssetsBuilt } from "./control-ui-assets-Bn4e_1By.js";
162
+ import { o as isBitseekBuild } from "./status.update-C0psHodW.js";
163
+ import { h as normalizeUpdateChannel, l as DEFAULT_PACKAGE_CHANNEL, n as checkUpdateStatus, o as resolveNpmChannelTag, r as compareSemverStrings } from "./channel-account-context-C3TU0o4T.js";
164
+ import { i as prepareSecretsRuntimeSnapshot, n as clearSecretsRuntimeSnapshot, r as getActiveSecretsRuntimeSnapshot, t as activateSecretsRuntimeSnapshot } from "./runtime-COI_IE2j.js";
165
+ import { t as runOnboardingWizard } from "./onboarding-Dp4X7ISI.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-CzIypSJf.js";
167
167
  import { T as resolveGmailHookRuntimeConfig, _ as buildGogWatchServeArgs, i as ensureTailscaleEndpoint, v as buildGogWatchStartArgs } from "./gmail-setup-utils-DExJ40qn.js";
168
- import { n as isNodeCommandAllowed, r as resolveNodeCommandAllowlist } from "./node-command-policy-xyqdwsT9.js";
169
- import "./node-service-DEfPXKwF.js";
170
- import "./shared-yo9kxQZW.js";
171
- import { d as verifyOpenAiCompatibleModel } from "./onboard-custom.shared-fTdY9R_i.js";
172
- import { n as formatInstallFailureMessage, t as installSkill } from "./skills-install-ARBA7lP0.js";
173
- import { t as runGatewayUpdate } from "./update-runner-BjX-ARIw.js";
174
- import { i as shouldIncludeHook, r as resolveHookConfig, t as loadWorkspaceHookEntries } from "./workspace-DYiAh9n2.js";
175
- import { n as forceFreePortAndWait } from "./ports-Cw4Nwv2D.js";
168
+ import { n as isNodeCommandAllowed, r as resolveNodeCommandAllowlist } from "./node-command-policy-DKPye8Fx.js";
169
+ import "./node-service-Cei5AkFg.js";
170
+ import "./shared-BKC5qsuY.js";
171
+ import { d as verifyOpenAiCompatibleModel } from "./onboard-custom.shared-DoXUpHZV.js";
172
+ import { n as formatInstallFailureMessage, t as installSkill } from "./skills-install-DYR6yH15.js";
173
+ import { t as runGatewayUpdate } from "./update-runner-j5RoheCK.js";
174
+ import { i as shouldIncludeHook, r as resolveHookConfig, t as loadWorkspaceHookEntries } from "./workspace-Cuq5sS-4.js";
175
+ import { n as forceFreePortAndWait } from "./ports-CUjMnvTs.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-BcOJ7KmG.js");
13616
+ const { handleNodeEvent } = await import("./server-node-events-B-IAFJfU.js");
13617
13617
  const nodeId = client?.connect?.device?.id ?? client?.connect?.client?.id ?? "node";
13618
13618
  await handleNodeEvent({
13619
13619
  deps: context.deps,
@@ -14359,11 +14359,11 @@ async function installLocalMarketSkill(params) {
14359
14359
  candidatePath: sourceDir,
14360
14360
  boundaryLabel: "market templates directory"
14361
14361
  });
14362
- if (!(await fsPromises.stat(sourceDir)).isDirectory()) return {
14362
+ if (!(await fs$1.stat(sourceDir)).isDirectory()) return {
14363
14363
  ok: false,
14364
14364
  message: `Local template "${templateDir}" is not a directory.`
14365
14365
  };
14366
- if (!(await fsPromises.stat(sourceSkillPath)).isFile()) return {
14366
+ if (!(await fs$1.stat(sourceSkillPath)).isFile()) return {
14367
14367
  ok: false,
14368
14368
  message: `Local template "${templateDir}" is missing SKILL.md.`
14369
14369
  };
@@ -14377,13 +14377,13 @@ async function installLocalMarketSkill(params) {
14377
14377
  const workspaceSkillsDir = path.join(workspaceDir, "skills");
14378
14378
  const targetDir = path.join(workspaceSkillsDir, templateDir);
14379
14379
  try {
14380
- await fsPromises.mkdir(workspaceSkillsDir, { recursive: true });
14380
+ await fs$1.mkdir(workspaceSkillsDir, { recursive: true });
14381
14381
  await assertCanonicalPathWithinBase({
14382
14382
  baseDir: workspaceSkillsDir,
14383
14383
  candidatePath: targetDir,
14384
14384
  boundaryLabel: "workspace skills directory"
14385
14385
  });
14386
- await fsPromises.cp(sourceDir, targetDir, {
14386
+ await fs$1.cp(sourceDir, targetDir, {
14387
14387
  recursive: true,
14388
14388
  force: true
14389
14389
  });
@@ -17227,7 +17227,7 @@ function normalizeAgentPayload(payload) {
17227
17227
  async function startBrowserControlServerIfEnabled() {
17228
17228
  if (isTruthyEnvValue(process.env.OPENCLAW_SKIP_BROWSER_CONTROL_SERVER)) return null;
17229
17229
  const override = process.env.OPENCLAW_BROWSER_CONTROL_MODULE?.trim();
17230
- const mod = override ? await import(override) : await import("./server-C9XFPL3c.js");
17230
+ const mod = override ? await import(override) : await import("./server-D_wuOlkf.js");
17231
17231
  const start = typeof mod.startBrowserControlServiceFromConfig === "function" ? mod.startBrowserControlServiceFromConfig : mod.startBrowserControlServerFromConfig;
17232
17232
  const stop = typeof mod.stopBrowserControlService === "function" ? mod.stopBrowserControlService : mod.stopBrowserControlServer;
17233
17233
  if (!start) return null;
@@ -17455,7 +17455,7 @@ async function resolveFileWithinRoot(rootReal, urlPath) {
17455
17455
  if (normalized.endsWith("/")) return await tryOpen(path.posix.join(rel, "index.html"));
17456
17456
  const candidate = path.join(rootReal, rel);
17457
17457
  try {
17458
- const st = await fsPromises.lstat(candidate);
17458
+ const st = await fs$1.lstat(candidate);
17459
17459
  if (st.isSymbolicLink()) return null;
17460
17460
  if (st.isDirectory()) return await tryOpen(path.posix.join(rel, "index.html"));
17461
17461
  } catch {}
@@ -17492,8 +17492,8 @@ async function resolveA2uiRoot() {
17492
17492
  for (const dir of candidates) try {
17493
17493
  const indexPath = path.join(dir, "index.html");
17494
17494
  const bundlePath = path.join(dir, "a2ui.bundle.js");
17495
- await fsPromises.stat(indexPath);
17496
- await fsPromises.stat(bundlePath);
17495
+ await fs$1.stat(indexPath);
17496
+ await fs$1.stat(bundlePath);
17497
17497
  return dir;
17498
17498
  } catch {}
17499
17499
  return null;
@@ -17502,7 +17502,7 @@ async function resolveA2uiRootReal() {
17502
17502
  if (cachedA2uiRootReal !== void 0 && (cachedA2uiRootReal !== null || Date.now() - cachedA2uiResolvedAtMs < A2UI_ROOT_RETRY_NULL_AFTER_MS)) return cachedA2uiRootReal;
17503
17503
  if (!resolvingA2uiRoot) resolvingA2uiRoot = (async () => {
17504
17504
  const root = await resolveA2uiRoot();
17505
- cachedA2uiRootReal = root ? await fsPromises.realpath(root) : null;
17505
+ cachedA2uiRootReal = root ? await fs$1.realpath(root) : null;
17506
17506
  cachedA2uiResolvedAtMs = Date.now();
17507
17507
  resolvingA2uiRoot = null;
17508
17508
  return cachedA2uiRootReal;
@@ -17723,13 +17723,13 @@ function normalizeBasePath(rawPath) {
17723
17723
  }
17724
17724
  async function prepareCanvasRoot(rootDir) {
17725
17725
  await ensureDir(rootDir);
17726
- const rootReal = await fsPromises.realpath(rootDir);
17726
+ const rootReal = await fs$1.realpath(rootDir);
17727
17727
  try {
17728
17728
  const indexPath = path.join(rootReal, "index.html");
17729
- await fsPromises.stat(indexPath);
17729
+ await fs$1.stat(indexPath);
17730
17730
  } catch {
17731
17731
  try {
17732
- await fsPromises.writeFile(path.join(rootReal, "index.html"), defaultIndexHTML(), "utf8");
17732
+ await fs$1.writeFile(path.join(rootReal, "index.html"), defaultIndexHTML(), "utf8");
17733
17733
  } catch {}
17734
17734
  }
17735
17735
  return rootReal;
@@ -20736,7 +20736,7 @@ async function resolveGatewayOwnerStatus(pid, payload, platform, port) {
20736
20736
  }
20737
20737
  async function readLockPayload(lockPath) {
20738
20738
  try {
20739
- const raw = await fsPromises.readFile(lockPath, "utf8");
20739
+ const raw = await fs$1.readFile(lockPath, "utf8");
20740
20740
  const parsed = JSON.parse(raw);
20741
20741
  if (typeof parsed.pid !== "number") return null;
20742
20742
  if (typeof parsed.createdAt !== "string") return null;
@@ -20771,11 +20771,11 @@ async function acquireGatewayLock(opts = {}) {
20771
20771
  const platform = opts.platform ?? process.platform;
20772
20772
  const port = opts.port;
20773
20773
  const { lockPath, configPath } = resolveGatewayLockPath(env);
20774
- await fsPromises.mkdir(path.dirname(lockPath), { recursive: true });
20774
+ await fs$1.mkdir(path.dirname(lockPath), { recursive: true });
20775
20775
  const startedAt = Date.now();
20776
20776
  let lastPayload = null;
20777
20777
  while (Date.now() - startedAt < timeoutMs) try {
20778
- const handle = await fsPromises.open(lockPath, "wx");
20778
+ const handle = await fs$1.open(lockPath, "wx");
20779
20779
  const startTime = platform === "linux" ? readLinuxStartTime(process.pid) : null;
20780
20780
  const payload = {
20781
20781
  pid: process.pid,
@@ -20789,7 +20789,7 @@ async function acquireGatewayLock(opts = {}) {
20789
20789
  configPath,
20790
20790
  release: async () => {
20791
20791
  await handle.close().catch(() => void 0);
20792
- await fsPromises.rm(lockPath, { force: true });
20792
+ await fs$1.rm(lockPath, { force: true });
20793
20793
  }
20794
20794
  };
20795
20795
  } catch (err) {
@@ -20798,7 +20798,7 @@ async function acquireGatewayLock(opts = {}) {
20798
20798
  const ownerPid = lastPayload?.pid;
20799
20799
  const ownerStatus = ownerPid ? await resolveGatewayOwnerStatus(ownerPid, lastPayload, platform, port) : "unknown";
20800
20800
  if (ownerStatus === "dead" && ownerPid) {
20801
- await fsPromises.rm(lockPath, { force: true });
20801
+ await fs$1.rm(lockPath, { force: true });
20802
20802
  continue;
20803
20803
  }
20804
20804
  if (ownerStatus !== "alive") {
@@ -20808,13 +20808,13 @@ async function acquireGatewayLock(opts = {}) {
20808
20808
  stale = Number.isFinite(createdAt) ? Date.now() - createdAt > staleMs : false;
20809
20809
  }
20810
20810
  if (!stale) try {
20811
- const st = await fsPromises.stat(lockPath);
20811
+ const st = await fs$1.stat(lockPath);
20812
20812
  stale = Date.now() - st.mtimeMs > staleMs;
20813
20813
  } catch {
20814
20814
  stale = false;
20815
20815
  }
20816
20816
  if (stale) {
20817
- await fsPromises.rm(lockPath, { force: true });
20817
+ await fs$1.rm(lockPath, { force: true });
20818
20818
  continue;
20819
20819
  }
20820
20820
  }
@@ -23124,7 +23124,7 @@ async function startGatewayServer(port = 18789, opts = {}) {
23124
23124
  if (!minimalTestGateway) cron.start().catch((err) => logCron.error(`failed to start: ${String(err)}`));
23125
23125
  if (!minimalTestGateway) (async () => {
23126
23126
  const { recoverPendingDeliveries } = await import("./delivery-queue-p3JO2jjt.js").then((n) => n.n);
23127
- const { deliverOutboundPayloads } = await import("./deliver-CQmmhMaR.js").then((n) => n.n);
23127
+ const { deliverOutboundPayloads } = await import("./deliver-Bm4UojU1.js").then((n) => n.n);
23128
23128
  await recoverPendingDeliveries({
23129
23129
  deliver: deliverOutboundPayloads,
23130
23130
  log: log.child("delivery-recovery"),