@bitseek/claw 1.2.6 → 1.2.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (309) hide show
  1. package/dist/{accounts-CCbfXe4Y.js → accounts-D5DQlttG.js} +7 -7
  2. package/dist/{accounts-C3iwoWUS.js → accounts-DKvlV3Tm.js} +1 -1
  3. package/dist/{accounts-ChjgDDok.js → accounts-jPPbCJns.js} +1 -1
  4. package/dist/{acp-cli-DIikR-tj.js → acp-cli-BZnPaFm3.js} +8 -8
  5. package/dist/{agent-scope-DHMu2mab.js → agent-scope-CiBV1K6b.js} +1 -1
  6. package/dist/{agents.config-BoNoGEQI.js → agents.config-DQBEXhzA.js} +2 -2
  7. package/dist/{api-key-rotation-CuHjsofV.js → api-key-rotation-j4O7qxMf.js} +1 -1
  8. package/dist/{audio-preflight-BClvbKMQ.js → audio-preflight-BkoTbTIH.js} +36 -36
  9. package/dist/{audio-preflight-BWOdDA2n.js → audio-preflight-Dd9DDvqB.js} +4 -4
  10. package/dist/{audio-transcription-runner-DaoqvWoi.js → audio-transcription-runner-Bx53bUS2.js} +1 -1
  11. package/dist/{audio-transcription-runner-Dv-MCA8E.js → audio-transcription-runner-CF_UP4C7.js} +22 -22
  12. package/dist/{audit-BAGbgihO.js → audit-1YVlVmk7.js} +29 -29
  13. package/dist/{auth-B9WdgDjZ.js → auth-Co2g3d8d.js} +1 -1
  14. package/dist/{auth-choice-FFUrxk0-.js → auth-choice-BamWYpsc.js} +14 -14
  15. package/dist/{auth-choice-CTCXt7WB.js → auth-choice-CdsMUqKA.js} +12 -12
  16. package/dist/{auth-choice.apply-helpers-Dz2x-3CK.js → auth-choice.apply-helpers-CQLQ5Tuk.js} +1 -1
  17. package/dist/{auth-token-BPWVp11S.js → auth-token-BjVRLcvi.js} +1 -1
  18. package/dist/{bindings-C0k4wFy7.js → bindings-Ck6aotGf.js} +1 -1
  19. package/dist/{bonjour-discovery-DXvZeG8M.js → bonjour-discovery-CtUQb94i.js} +1 -1
  20. package/dist/{browser-cli-BwtSgIvC.js → browser-cli-CaBLM5A6.js} +12 -12
  21. package/dist/build-info.json +3 -3
  22. package/dist/bundled/boot-md/handler.js +6 -6
  23. package/dist/bundled/session-memory/handler.js +6 -6
  24. package/dist/{call-B9Vrcbed.js → call-BGZQEHL4.js} +10 -10
  25. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  26. package/dist/{channel-account-context-CeGx9Aq7.js → channel-account-context-C6rIxLzo.js} +5 -5
  27. package/dist/{channel-options-DmEaPgkZ.js → channel-options-Bnnem_wD.js} +3 -3
  28. package/dist/{channel-selection-BDdjozhi.js → channel-selection-TZJgoz5h.js} +1 -1
  29. package/dist/{channel-web-mFdbEE2o.js → channel-web-KY6EP9HT.js} +18 -18
  30. package/dist/{channels-cli-CCTczoJM.js → channels-cli-tJkvzsqO.js} +94 -94
  31. package/dist/{channels-status-issues-Dir7g-Pc.js → channels-status-issues-DeT1Znlx.js} +1 -1
  32. package/dist/{chrome-CjTE-vWv.js → chrome-C6zMSR36.js} +8 -8
  33. package/dist/{chrome-2gfHr1cU.js → chrome-DzGCPEQK.js} +4 -4
  34. package/dist/{clawbot-cli-BMGBnmny.js → clawbot-cli-Comysjn9.js} +5 -5
  35. package/dist/{cli-zsP2OqB6.js → cli-DOS1lPNs.js} +75 -75
  36. package/dist/{client-BoUhzGrS.js → client-B91adiXh.js} +2 -2
  37. package/dist/{command-registry-okzYatr9.js → command-registry-Ce2f2xlT.js} +5 -5
  38. package/dist/{commands-npgZubp3.js → commands-C6OLhl3n.js} +1 -1
  39. package/dist/{commands-registry-B5jHbfUL.js → commands-registry-CVzTBX51.js} +3 -3
  40. package/dist/{completion-cli-Dm9dt8iw.js → completion-cli-9Y73fGUi.js} +12 -12
  41. package/dist/{completion-cli-BFxGdqak.js → completion-cli-BmyLEw45.js} +2 -2
  42. package/dist/{config-cli-CJVYN-g-.js → config-cli-DZpbwWvz.js} +7 -7
  43. package/dist/{config-guard-1SsvFO9G.js → config-guard-9BjlFVZx.js} +17 -17
  44. package/dist/{config-validation-BJ6PNk8H.js → config-validation-BcxAhhcj.js} +3 -3
  45. package/dist/{configure-DMwHaNHJ.js → configure-CLMtWGiL.js} +17 -17
  46. package/dist/{control-ui-assets-DpInddpx.js → control-ui-assets-B_3g_YF0.js} +1 -1
  47. package/dist/{cron-cli-CyEcKgVG.js → cron-cli-C8kDGh6_.js} +12 -12
  48. package/dist/{daemon-cli-CB9c5SXP.js → daemon-cli-RKWFtF-K.js} +15 -15
  49. package/dist/{daemon-install-Bqjc3wky.js → daemon-install-DsJ0L8HP.js} +4 -4
  50. package/dist/{daemon-install-helpers-CGZBs-X3.js → daemon-install-helpers-CMWYg4_W.js} +11 -11
  51. package/dist/{dashboard-8HFxt9IY.js → dashboard-BhAYjl6n.js} +2 -2
  52. package/dist/{deliver-D4ugOkLr.js → deliver-Bn10XzRP.js} +7 -7
  53. package/dist/{deliver-xY3h9X6N.js → deliver-DXa06hfk.js} +1 -1
  54. package/dist/{devices-cli-Bp8AMOPE.js → devices-cli-DoJBheGs.js} +8 -8
  55. package/dist/{diagnostic-phUWJbF_.js → diagnostic-DRPetA8l.js} +1 -1
  56. package/dist/{diagnostics-D_AmByNE.js → diagnostics-BHQgZbuI.js} +5 -5
  57. package/dist/{directory-cli-Bt3I30_e.js → directory-cli-Brla3Idn.js} +8 -8
  58. package/dist/{dns-cli-DaTrsB61.js → dns-cli-rEvE1LG9.js} +5 -5
  59. package/dist/{dock-swzevZbj.js → dock-BXksV3sC.js} +4 -4
  60. package/dist/{docs-cli--2Qgcpvs.js → docs-cli-DtThi0Xf.js} +4 -4
  61. package/dist/{doctor-completion-UEYo4_U6.js → doctor-completion-CWm9ZwKY.js} +2 -2
  62. package/dist/{doctor-completion-wHIBxn-7.js → doctor-completion-_GRkzsCa.js} +1 -1
  63. package/dist/{doctor-config-flow-DKaeaH2u.js → doctor-config-flow-18ijj3KB.js} +15 -15
  64. package/dist/{enable-xlkWJvIn.js → enable-CJ75JA5u.js} +1 -1
  65. package/dist/entry.js +2 -2
  66. package/dist/{exec-approvals-allowlist-fG-NsL-O.js → exec-approvals-allowlist-CGVHz3PX.js} +1 -1
  67. package/dist/{exec-approvals-cli-r7jbe_Rj.js → exec-approvals-cli-DfcUJ9Sm.js} +16 -16
  68. package/dist/{exec-safe-bin-runtime-policy-B9kCrTY1.js → exec-safe-bin-runtime-policy-D7olAQMf.js} +2 -2
  69. package/dist/{fetch-guard-N12H9lEe.js → fetch-guard-D6eclxeP.js} +1 -1
  70. package/dist/{fs-safe-BGAE6eOQ.js → fs-safe-p5lyYI__.js} +24 -24
  71. package/dist/{gateway-cli-BFo0WvJx.js → gateway-cli-CSL5V3uF.js} +1 -1
  72. package/dist/{gateway-cli-Bi6tzv7v.js → gateway-cli-DRM2vzxA.js} +160 -160
  73. package/dist/{gateway-rpc-BHBGSN7Z.js → gateway-rpc-CJVCek88.js} +1 -1
  74. package/dist/{health-DlFSsTw-.js → health-Du8dO3vn.js} +14 -14
  75. package/dist/{hooks-cli-CMLpJr6I.js → hooks-cli-DUIQuGjr.js} +83 -83
  76. package/dist/{hooks-status-inMD7sD-.js → hooks-status-ONaKEpUH.js} +1 -1
  77. package/dist/{image-BzR2twGI.js → image-B270IRGo.js} +5 -5
  78. package/dist/{image-DCyaYY2d.js → image-Dd4lgi4H.js} +1 -1
  79. package/dist/{plugin-sdk/image-ops-C9GXWF3o.js → image-ops-BAMcbVMS.js} +2 -2
  80. package/dist/index.js +85 -85
  81. package/dist/{inspect-BwbOLUun.js → inspect-C0e0Dmvg.js} +4 -4
  82. package/dist/{install-safe-path-DodF6oyk.js → install-safe-path-CSqVUjL8.js} +25 -25
  83. package/dist/{installs-8bzJi35e.js → installs-BXOZ3DXs.js} +9 -9
  84. package/dist/{ipv4-BY_PmkpX.js → ipv4-Bk-doiEE.js} +1 -1
  85. package/dist/{ir-vGBxQkIg.js → ir-BGgl4f9u.js} +6 -6
  86. package/dist/{issue-format-B4oxePhU.js → issue-format-rk9Vpcxd.js} +1 -1
  87. package/dist/{json-files-C7p5SEie.js → json-files-bJqSYqgg.js} +8 -8
  88. package/dist/{lifecycle-core-C5a4clqu.js → lifecycle-core-Bqse41aA.js} +5 -5
  89. package/dist/llm-slug-generator.js +6 -6
  90. package/dist/{local-roots-Dcc5UeD8.js → local-roots-jW0nhxVT.js} +3 -3
  91. package/dist/{login-BM9p9nig.js → login-B2B75WGK.js} +3 -3
  92. package/dist/{login-qr-CB4JWkHM.js → login-qr-YjUycQZT.js} +6 -6
  93. package/dist/{logs-cli-DGdXLEv-.js → logs-cli-Dyid6hUQ.js} +9 -9
  94. package/dist/{manager-X8AF3rQJ.js → manager-C9rftBaE.js} +14 -14
  95. package/dist/{manifest-registry-HNrtHxxI.js → manifest-registry-B_U2pKBU.js} +1 -1
  96. package/dist/{markdown-tables-XmfG1bwr.js → markdown-tables-B5l_33qL.js} +1 -1
  97. package/dist/{memory-cli-87nxADqy.js → memory-cli-o3L9NN74.js} +12 -12
  98. package/dist/{model-CESXYutI.js → model-FnrgCVyS.js} +2 -2
  99. package/dist/{model-catalog-DUHxH2xb.js → model-catalog-CjA5pRJF.js} +3 -3
  100. package/dist/{model-picker-D705WMPf.js → model-picker-CMgjcqV_.js} +4 -4
  101. package/dist/{model-selection-DCo8MhsE.js → model-selection-xdfZxwgB.js} +16 -16
  102. package/dist/{models-cli-9x2mp4Ac.js → models-cli-CHUbcM_y.js} +85 -85
  103. package/dist/{models-config-Bgpjcu8R.js → models-config-Do1Ur_ov.js} +6 -6
  104. package/dist/{node-cli-DJnihsNr.js → node-cli-DYOdgLUu.js} +33 -33
  105. package/dist/{node-command-policy-BiPTB8BK.js → node-command-policy-BKUs_pS2.js} +1 -1
  106. package/dist/{node-service-CfKJ5oC1.js → node-service-6W3vqgVv.js} +1 -1
  107. package/dist/{nodes-cli-4kBrEEti.js → nodes-cli-CQzck2kc.js} +16 -16
  108. package/dist/{nodes-screen-FWjD2j3v.js → nodes-screen-Dptoharj.js} +7 -7
  109. package/dist/{npm-pack-install-CXheGnb0.js → npm-pack-install-Byr0kgft.js} +18 -18
  110. package/dist/{npm-resolution-DIr_TibO.js → npm-resolution-Dv7nYiaP.js} +5 -5
  111. package/dist/{onboard-DEFQu6dU.js → onboard-ATkjPZXm.js} +6 -6
  112. package/dist/{onboard-B_MoYnrn.js → onboard-BuGv9f2N.js} +1 -1
  113. package/dist/{onboard-channels-BuG5-e60.js → onboard-channels-CRpmgX82.js} +20 -20
  114. package/dist/{onboard-custom-HI7NPx1u.js → onboard-custom-Bow6lZPm.js} +3 -3
  115. package/dist/{onboard-custom.shared-SWx67Er2.js → onboard-custom.shared-CBRRhb95.js} +2 -2
  116. package/dist/{onboard-helpers-Jc1-4LBc.js → onboard-helpers-B1AEo6oL.js} +11 -11
  117. package/dist/{onboard-hooks-DFjIpeE_.js → onboard-hooks-CtxRk6l_.js} +4 -4
  118. package/dist/{onboard-remote-BLAyUeAO.js → onboard-remote-DmHpLoWf.js} +3 -3
  119. package/dist/{onboard-skills--XkA2Jj4.js → onboard-skills-DwpZY5tZ.js} +4 -4
  120. package/dist/{onboarding-CSnr51pR.js → onboarding-BAaREMfO.js} +1 -1
  121. package/dist/{onboarding-BQ2WB7tp.js → onboarding-BvdtFAPe.js} +13 -13
  122. package/dist/{onboarding.finalize-BlMlIFRW.js → onboarding.finalize-CV7n10lP.js} +4 -4
  123. package/dist/{onboarding.finalize-DAbr5Ar8.js → onboarding.finalize-dkwktLJD.js} +87 -87
  124. package/dist/{onboarding.gateway-config-CMKjEPRA.js → onboarding.gateway-config-wXH6gE7c.js} +18 -18
  125. package/dist/{openai-model-default-BTNz1OzV.js → openai-model-default-Q7Hmy0eQ.js} +2 -2
  126. package/dist/{outbound-Bf7VAx0-.js → outbound-DlVJWa4u.js} +4 -4
  127. package/dist/{outbound-attachment-Df5o7JIG.js → outbound-attachment-CZh4VjhT.js} +2 -2
  128. package/dist/{pairing-cli-CA7Dxs-g.js → pairing-cli-DAMLvDcA.js} +9 -9
  129. package/dist/{pairing-labels-BBti3jJg.js → pairing-labels-Cl7ROILg.js} +1 -1
  130. package/dist/{pairing-store-DY0yrkuM.js → pairing-store-DdZ0xMD7.js} +3 -3
  131. package/dist/{path-alias-guards-BNzjbOwM.js → path-alias-guards-DWh6tSaP.js} +3 -3
  132. package/dist/{path-safety-dmCI2tpN.js → path-safety-COhgvniC.js} +1 -1
  133. package/dist/{paths-BZfURxkW.js → paths-AxolTUEH.js} +9 -9
  134. package/dist/{pi-embedded-Bacc2S0h.js → pi-embedded-DKX65Hec.js} +22 -22
  135. package/dist/{pi-embedded-helpers-CMTVhLjq.js → pi-embedded-helpers-BErNo2oq.js} +3 -3
  136. package/dist/{pi-embedded-helpers-D3nc5XJW.js → pi-embedded-helpers-ZTn-T7tW.js} +6 -6
  137. package/dist/{pi-model-discovery-BSytrsu4.js → pi-model-discovery-DVhDvAnA.js} +1 -1
  138. package/dist/{pi-tools.policy-Dwsq-Yaf.js → pi-tools.policy-eyXj0EY5.js} +5 -5
  139. package/dist/{plugin-auto-enable-4zXn-eVS.js → plugin-auto-enable-D1WySsnE.js} +3 -3
  140. package/dist/{plugin-registry-DsZTkNKu.js → plugin-registry-TOEmbMc4.js} +3 -3
  141. package/dist/plugin-sdk/{accounts-AbI8uETR.js → accounts-BZrkOo6-.js} +1 -1
  142. package/dist/plugin-sdk/{accounts-4WE2wtsW.js → accounts-COLYAAOx.js} +1 -1
  143. package/dist/plugin-sdk/{accounts-BYcizTXn.js → accounts-D_pT5EjF.js} +3 -3
  144. package/dist/plugin-sdk/{active-listener-pnqLAUOh.js → active-listener-DxBXcWm_.js} +1 -1
  145. package/dist/plugin-sdk/{agent-scope-_j3fIYCK.js → agent-scope-DT5pxpJB.js} +3 -3
  146. package/dist/plugin-sdk/{api-key-rotation-CYI51U_M.js → api-key-rotation-Dl6Ad7Nj.js} +2 -2
  147. package/dist/plugin-sdk/{audio-preflight-BTRRjPew.js → audio-preflight-CkPj4OVY.js} +33 -33
  148. package/dist/plugin-sdk/{audio-transcription-runner-DFZS7uCO.js → audio-transcription-runner-BBn9jEMg.js} +10 -10
  149. package/dist/plugin-sdk/{bindings-CxxzC7gn.js → bindings-BSfhEjKN.js} +2 -2
  150. package/dist/plugin-sdk/{channel-activity-B3yZ-f-m.js → channel-activity-DAEbma-o.js} +3 -3
  151. package/dist/plugin-sdk/{channel-web-D2q54sK-.js → channel-web-O79O_ah6.js} +23 -23
  152. package/dist/plugin-sdk/{chrome-oPevdeh5.js → chrome-Dn0G4NoF.js} +7 -7
  153. package/dist/plugin-sdk/{chunk-BPyPeheZ.js → chunk-cvtXztAT.js} +1 -1
  154. package/dist/plugin-sdk/{command-format-DvyMEXQo.js → command-format-BOJz3y1v.js} +1 -1
  155. package/dist/plugin-sdk/{commands-registry-Dk8re8Lz.js → commands-registry-CZWv_JwZ.js} +5 -5
  156. package/dist/plugin-sdk/{config-D7I2_X4P.js → config-DAwOhnVF.js} +10 -10
  157. package/dist/plugin-sdk/{deliver-NrIHn0__.js → deliver-PdH-MCq8.js} +11 -11
  158. package/dist/plugin-sdk/{diagnostic-DL3k_wRi.js → diagnostic-BZvj-qNu.js} +2 -2
  159. package/dist/plugin-sdk/{dock-CjdkiLH7.js → dock-BdR3OYZn.js} +6 -6
  160. package/dist/plugin-sdk/{errors-DFTN4h2I.js → errors-jusxdu7M.js} +1 -1
  161. package/dist/plugin-sdk/{fetch-guard-BivEyA4v.js → fetch-guard-Dary6WwJ.js} +2 -2
  162. package/dist/plugin-sdk/{fs-safe-B256n7Ff.js → fs-safe-DMCE0ej9.js} +3 -3
  163. package/dist/plugin-sdk/{image-CkPzr3XN.js → image-B3A2l2ep.js} +6 -6
  164. package/dist/{image-ops-B6BeXmZU.js → plugin-sdk/image-ops-DulHE5Qc.js} +12 -12
  165. package/dist/plugin-sdk/index.js +64 -64
  166. package/dist/plugin-sdk/{ir-BIm-jvIK.js → ir-BFXiJrsN.js} +6 -6
  167. package/dist/plugin-sdk/{local-roots-2AOXGUXW.js → local-roots-DssN60r6.js} +4 -4
  168. package/dist/plugin-sdk/{logger-CNhs9eKJ.js → logger-Cr-x0vMf.js} +1 -1
  169. package/dist/plugin-sdk/{login-BcLiF9tC.js → login-D0ul3-6C.js} +6 -6
  170. package/dist/plugin-sdk/{login-qr-GyPUodKJ.js → login-qr-XWKTFBuI.js} +9 -9
  171. package/dist/plugin-sdk/{manager-DYLqNUb4.js → manager-DGx_cF54.js} +10 -10
  172. package/dist/plugin-sdk/{markdown-tables-D9mmqMKi.js → markdown-tables-CsQpDNU5.js} +1 -1
  173. package/dist/plugin-sdk/{message-channel-_CEZcqxE.js → message-channel-CvNq-esz.js} +1 -1
  174. package/dist/plugin-sdk/{outbound-DdTsUaXa.js → outbound-D29FHlQl.js} +7 -7
  175. package/dist/plugin-sdk/{outbound-attachment--hkuIDR1.js → outbound-attachment-DRHrZUOx.js} +2 -2
  176. package/dist/plugin-sdk/{path-alias-guards-BqUCBfUg.js → path-alias-guards-DpKV1B5p.js} +1 -1
  177. package/dist/plugin-sdk/{pi-embedded-helpers-CTfvZz83.js → pi-embedded-helpers-CKEUWckk.js} +17 -17
  178. package/dist/plugin-sdk/{pi-model-discovery-CK3Ih_kq.js → pi-model-discovery-BPeQq9XM.js} +1 -1
  179. package/dist/plugin-sdk/{plugins-BpHAMNJ1.js → plugins-DF_dKXTR.js} +6 -6
  180. package/dist/plugin-sdk/{proxy-BJdRZOnJ.js → proxy-BfmEDoun.js} +1 -1
  181. package/dist/plugin-sdk/{proxy-fetch-jmbopGcm.js → proxy-fetch-BpHIgvBk.js} +1 -1
  182. package/dist/plugin-sdk/{pw-ai-D0Kx7w1D.js → pw-ai-BmmXDjtm.js} +13 -13
  183. package/dist/plugin-sdk/{qmd-manager-BDcutPp9.js → qmd-manager-3hQbqkm5.js} +8 -8
  184. package/dist/plugin-sdk/{query-expansion-C_X8SyEA.js → query-expansion-BOGLUWB7.js} +2 -2
  185. package/dist/plugin-sdk/{redact-DH8u23pF.js → redact-BOuKZWXa.js} +1 -1
  186. package/dist/plugin-sdk/{registry-HF8_S7QO.js → registry-Cv-oHUj1.js} +2 -2
  187. package/dist/plugin-sdk/{replies-DbjvV4gf.js → replies-CddwWBTJ.js} +3 -3
  188. package/dist/plugin-sdk/{reply-Cs_Ks2Mr.js → reply-YZQvouuF.js} +93 -93
  189. package/dist/plugin-sdk/{reply-prefix-KODsMNJ-.js → reply-prefix-DXthVxCx.js} +1 -1
  190. package/dist/plugin-sdk/{resolve-outbound-target-BPT4aNiD.js → resolve-outbound-target-D3Y4F2Le.js} +2 -2
  191. package/dist/plugin-sdk/{resolve-route-De2B5QY_.js → resolve-route-DuwYYn4a.js} +4 -4
  192. package/dist/plugin-sdk/{retry-pZ8iKytf.js → retry-BMcrIz7L.js} +1 -1
  193. package/dist/plugin-sdk/{send-C-Rd2stz.js → send-B0ztz6QC.js} +6 -6
  194. package/dist/plugin-sdk/{send-BoNw1Bki.js → send-C5USYGq7.js} +8 -8
  195. package/dist/plugin-sdk/{send-1uW-uqPf.js → send-D0AaWnIj.js} +7 -7
  196. package/dist/plugin-sdk/{send-wCqsQs_s.js → send-DEyQJTzd.js} +10 -10
  197. package/dist/plugin-sdk/{send-CZIN8SDx.js → send-DJzwu8kk.js} +15 -15
  198. package/dist/plugin-sdk/{session-ooYcB82T.js → session-BA7tVDpV.js} +5 -5
  199. package/dist/plugin-sdk/{session-meta-7J-uHiM_.js → session-meta-ChWvKVWj.js} +1 -1
  200. package/dist/plugin-sdk/{sessions-lAIo5l8W.js → sessions-BXps6YzJ.js} +6 -6
  201. package/dist/plugin-sdk/{skill-commands-D1Q6hGS4.js → skill-commands-B20uUsji.js} +5 -5
  202. package/dist/plugin-sdk/{skills-BWSDv2F_.js → skills-DXOTei42.js} +8 -8
  203. package/dist/plugin-sdk/{ssrf-JKDwTi8i.js → ssrf-Doxv9M7Q.js} +1 -1
  204. package/dist/plugin-sdk/{store-BMeqzQAf.js → store-BZbE1V-C.js} +2 -2
  205. package/dist/plugin-sdk/{subsystem-B0V8LFBA.js → subsystem-CM1s2lDT.js} +2 -2
  206. package/dist/plugin-sdk/{tables-DCSeBGBz.js → tables-BhH8EIqU.js} +1 -1
  207. package/dist/plugin-sdk/{target-errors-0u6pegQv.js → target-errors-QZay02Cv.js} +2 -2
  208. package/dist/plugin-sdk/{tokens-DF2_VTJy.js → tokens-DIE-Bf72.js} +1 -1
  209. package/dist/plugin-sdk/{tool-images-BbsgbHMZ.js → tool-images-heXfaJdb.js} +2 -2
  210. package/dist/plugin-sdk/{tool-loop-detection-JkCpGrfk.js → tool-loop-detection-CygMSQUK.js} +2 -2
  211. package/dist/plugin-sdk/{utils-BfVxx6bk.js → utils-BcL6KGZf.js} +1 -1
  212. package/dist/plugin-sdk/web-jmxdxo0H.js +72 -0
  213. package/dist/plugin-sdk/{whatsapp-actions-tVcrGNQc.js → whatsapp-actions-CRean1yN.js} +25 -25
  214. package/dist/{plugins-Ce8ThYGQ.js → plugins-CKWxMohB.js} +2 -2
  215. package/dist/{plugins-cli-DxFh5OQi.js → plugins-cli-Clo_uyvq.js} +85 -85
  216. package/dist/{ports-wtEwdqsX.js → ports-BL-FP2jP.js} +1 -1
  217. package/dist/{ports-DXMCFRgn.js → ports-DppAHKM-.js} +2 -2
  218. package/dist/{program-DnjsZxiJ.js → program-Br-upXE-.js} +2 -2
  219. package/dist/{program-context-36wFBslW.js → program-context-B7eOpdoF.js} +43 -43
  220. package/dist/{prompt-select-styled-BkpL6eKQ.js → prompt-select-styled-BpKwjfWa.js} +1 -1
  221. package/dist/{prompt-select-styled-CJt-zhnt.js → prompt-select-styled-CPPwmToI.js} +39 -39
  222. package/dist/{provider-auth-helpers-DeJ105rb.js → provider-auth-helpers-D_akOb8A.js} +5 -5
  223. package/dist/{proxy-env-DhFUQlwP.js → proxy-env-ClbXa7vn.js} +1 -1
  224. package/dist/{push-apns-SIM2es-Y.js → push-apns-DvNRo3EQ.js} +5 -5
  225. package/dist/{pw-ai-BOQE6s45.js → pw-ai-D21rIJ2z.js} +15 -15
  226. package/dist/{pw-ai-DGwA7iCM.js → pw-ai-pkfCxzhV.js} +1 -1
  227. package/dist/{qmd-manager-DVKj0i6T.js → qmd-manager-BD6lfN35.js} +20 -20
  228. package/dist/{qr-cli-Z4_Y6bva.js → qr-cli-BQGJJ5hp.js} +1 -1
  229. package/dist/{query-expansion-B9kneDbd.js → query-expansion-Dl85zpSb.js} +12 -12
  230. package/dist/{redact-snapshot-BI4Ryuhy.js → redact-snapshot-DCGL0k2M.js} +1 -1
  231. package/dist/{register.agent-Cd2LVcga.js → register.agent-DowGjvNc.js} +100 -100
  232. package/dist/register.configure-BZLa_c3k.js +174 -0
  233. package/dist/{register.init-BiLKNwSu.js → register.init-B1pIa3ys.js} +5 -88
  234. package/dist/{register.init-DpFUY5Ed.js → register.init-BrturXsS.js} +20 -103
  235. package/dist/{register.maintenance-R4RCi4f3.js → register.maintenance-D3hGsmW7.js} +5 -5
  236. package/dist/{register.maintenance-DAU-mVIz.js → register.maintenance-DlVX7oGZ.js} +97 -97
  237. package/dist/{register.message-B0CI0Q4o.js → register.message-DE-eKss6.js} +76 -76
  238. package/dist/{register.onboard-Di7iClKl.js → register.onboard-BLl4Er9V.js} +2 -2
  239. package/dist/{register.onboard-BGhXUfbX.js → register.onboard-BSOSCu5a.js} +18 -18
  240. package/dist/{register.setup-nlXy06aa.js → register.setup-CvAXGVEU.js} +21 -21
  241. package/dist/{register.setup-Dm_dHAB-.js → register.setup-NLg11E_9.js} +2 -2
  242. package/dist/{register.start-Dzss99ZY.js → register.start-BHASi8Um.js} +17 -17
  243. package/dist/{register.status-health-sessions-B4eNiGWS.js → register.status-health-sessions-Cbva8fTK.js} +89 -89
  244. package/dist/{register.subclis-1MobNhis.js → register.subclis-Zhshg_9Y.js} +3 -3
  245. package/dist/{replies-k5K96_46.js → replies-B6SXcEs0.js} +1 -1
  246. package/dist/{reply-DQMWsIE2.js → reply-D8Yu6-Ie.js} +156 -156
  247. package/dist/{reply-prefix-aBvAQX6L.js → reply-prefix-BttpF8VB.js} +1 -1
  248. package/dist/{resolve-route-R565qQgt.js → resolve-route-Ck23oGqS.js} +2 -2
  249. package/dist/{rpc-CMyUzpcT.js → rpc-9jE_1PW0.js} +1 -1
  250. package/dist/{run-main-CFGtfsPd.js → run-main-CiC7Az8U.js} +3 -3
  251. package/dist/{runtime-D64ACWoX.js → runtime-Rd7ooKB0.js} +2 -2
  252. package/dist/{sandbox-DH9YtUfB.js → sandbox-BKa5RrBl.js} +18 -18
  253. package/dist/{sandbox-cli-B1ThXy7C.js → sandbox-cli-BnpEc205.js} +26 -26
  254. package/dist/{secrets-cli-BEjJ3GP-.js → secrets-cli-CIxUNZyC.js} +10 -10
  255. package/dist/{security-cli-Zma5k5BZ.js → security-cli-BqOOeGxS.js} +43 -43
  256. package/dist/{send-NexNe2Wh.js → send-BntubUtK.js} +6 -6
  257. package/dist/{send-DmVTXBWW.js → send-ByUfPpKj.js} +11 -11
  258. package/dist/{send-CabiU1-J.js → send-Cua2kS5v.js} +6 -6
  259. package/dist/{send-BQVNhO4Q.js → send-DuNBSJln.js} +5 -5
  260. package/dist/{send-CFUSH9C-.js → send-SZBhACLn.js} +8 -8
  261. package/dist/{server-DQ7D-B-v.js → server-Ct0J5VXf.js} +19 -19
  262. package/dist/{server-context-Cr-Y4i6P.js → server-context-DWxmyV-0.js} +12 -12
  263. package/dist/{server-lifecycle-BVnXIEfI.js → server-lifecycle-B7aXKxY3.js} +2 -2
  264. package/dist/{server-middleware-zyvA9rl9.js → server-middleware-CO1brrgv.js} +1 -1
  265. package/dist/{server-node-events-oa4mOmsp.js → server-node-events-nakjzVDn.js} +76 -76
  266. package/dist/{service-BcFhE63y.js → service-DqxfCr8y.js} +15 -15
  267. package/dist/{session-Dl3x3d75.js → session-FOGqE7bj.js} +1 -1
  268. package/dist/{session-meta-C6MooccR.js → session-meta-C-ox3bdI.js} +1 -1
  269. package/dist/{sessions-sIaYsUyX.js → sessions-BpuJ64B0.js} +15 -15
  270. package/dist/{shared-sFrejcA4.js → shared-BmSv3K8N.js} +1 -1
  271. package/dist/{shared-DNcLp2mA.js → shared-CgFPGTLU.js} +3 -3
  272. package/dist/{skill-commands-C2_BOuyl.js → skill-commands-COl0HE54.js} +5 -5
  273. package/dist/{skill-scanner-DYkQAh0l.js → skill-scanner-CsmM5F4F.js} +6 -6
  274. package/dist/{skills-BXLKd7i5.js → skills-BeFcXCoN.js} +3 -3
  275. package/dist/{skills-cli-DrN4v5_m.js → skills-cli-D3ZteX5N.js} +5 -5
  276. package/dist/{skills-install-CSfh8nRm.js → skills-install-B_Vda3dM.js} +6 -6
  277. package/dist/{skills-status-C7Q6Ezbv.js → skills-status-BEq0_fOn.js} +1 -1
  278. package/dist/{status-rMgdZcE5.js → status-CQYA6EJN.js} +25 -25
  279. package/dist/{status.update-D4GfnNDI.js → status.update-HwSPC5ZX.js} +2 -2
  280. package/dist/{store-CRcBie8T.js → store-B-nkOSsv.js} +5 -5
  281. package/dist/{system-cli-Bscj57lL.js → system-cli-IYwpBiC6.js} +9 -9
  282. package/dist/{system-run-command-Cn5yQ2rv.js → system-run-command-C3OIMtEu.js} +1 -1
  283. package/dist/{systemd-BIfjzi-4.js → systemd-DJ5Red-Q.js} +9 -9
  284. package/dist/{systemd-hints-CgtHwBfD.js → systemd-hints-D40Qx3hg.js} +6 -6
  285. package/dist/{systemd-linger-0Vho6LMt.js → systemd-linger-BK6kig-o.js} +1 -1
  286. package/dist/{tables-C5n2nXbu.js → tables-C9_oCtRN.js} +1 -1
  287. package/dist/{tailnet-C8NwaQEp.js → tailnet-BYBKD8Kh.js} +1 -1
  288. package/dist/{target-errors-cerGxvCB.js → target-errors-B1cYmIjq.js} +4 -4
  289. package/dist/{tool-images-CgSADinH.js → tool-images-QWbHWc0F.js} +1 -1
  290. package/dist/{tui-DNT0WnU-.js → tui-Dd6DhgjX.js} +6 -6
  291. package/dist/{tui-cli-DTFq2wGK.js → tui-cli-C3PCazFC.js} +33 -33
  292. package/dist/{update-Mb6BH0o9.js → update-B1Dhhu_3.js} +3 -3
  293. package/dist/{update-cli-Dbb1EPi2.js → update-cli-B9F4MIMw.js} +5 -5
  294. package/dist/{update-cli--qEz2_Eg.js → update-cli-mCVWiI6K.js} +105 -105
  295. package/dist/{update-runner-Dj_CAfd4.js → update-runner-DO6RodZW.js} +16 -16
  296. package/dist/web-DbdjX4Hg.js +126 -0
  297. package/dist/{web-CDHXvGxm.js → web-V1uGLepo.js} +6 -6
  298. package/dist/{webhooks-cli-uXE9EOwT.js → webhooks-cli-BFdw7BAP.js} +6 -6
  299. package/dist/{whatsapp-actions-DeX4x9sq.js → whatsapp-actions-CNoiLzRB.js} +19 -19
  300. package/dist/{with-timeout-C-EETHnf.js → with-timeout-tSH4Tex_.js} +3 -3
  301. package/dist/{workspace-TersEUYu.js → workspace-CRdln__H.js} +23 -23
  302. package/dist/{workspace-1nc7aTpg.js → workspace-dKMB109Q.js} +1 -1
  303. package/dist/{workspace-dirs-DxTFH1r3.js → workspace-dirs-DcAUEsSG.js} +1 -1
  304. package/dist/{ws-E9v842O2.js → ws-DKbBt0us.js} +2 -2
  305. package/dist/{wsl-Dg6XQcw5.js → wsl-yjQQ-PJd.js} +2 -2
  306. package/package.json +1 -1
  307. package/dist/plugin-sdk/web-B35hdNQ-.js +0 -72
  308. package/dist/register.configure-DGIWBQvN.js +0 -174
  309. package/dist/web-BQRkxG9u.js +0 -126
@@ -2,14 +2,14 @@ import { g as resolveStateDir, i as isNixMode, l as resolveGatewayLockDir, o as
2
2
  import { a as logVerbose, d as colorize, f as isRich, g as getResolvedLoggerSettings, h as getLogger, m as getChildLogger, p as theme, s as setVerbose } from "./globals-uLeGcRW1.js";
3
3
  import { D as isPlainObject, E as truncateUtf16Safe, S as shortenHomePath, c as ensureDir, r as clamp, y as resolveUserPath } from "./utils-CP51tiAi.js";
4
4
  import { a as normalizeElevatedLevel, c as normalizeUsageDisplay, d as supportsXHighThinking, l as normalizeVerboseLevel, n as formatXHighModelHint, o as normalizeReasoningLevel, s as normalizeThinkLevel, t as formatThinkingLevels } from "./thinking-44rmAw5o.js";
5
- import { $ as normalizeOptionalText, $n as registerAgentRunContext, An as resolveSessionDeliveryTarget, Ar as enqueueSystemEvent, B as consumeRestartSentinel, Bn as countActiveDescendantRuns, Br as getAcpSessionManager, Bt as runWithModelFallback, C as listAgentsForGateway, Cr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, Ct as handleSlackHttpRequest, D as pruneLegacyStoreKeys, Dr as stripHeartbeatToken, Dt as computeBackoff, E as loadSessionEntry, En as resolveOutboundSessionRoute, F as markGatewaySigusr1RestartHandled, Ft as createOutboundSendDeps, Gn as resolveAnnounceTargetFromKey, Gr as DEFAULT_INPUT_IMAGE_MIMES, H as formatRestartSentinelMessage, Hn as listDescendantRunsForRequester, Hr as normalizeSendPolicy, Ht as setCliSessionId, I as scheduleGatewaySigusr1Restart, It as applyVerboseOverride, J as normalizeCronJobCreate, Jn as buildOutboundSessionContext, Jr as extractFileContentFromSource, K as writeRestartSentinel, Kn as readLatestAssistantReply, Kr as DEFAULT_INPUT_MAX_REDIRECTS, Kt as applyModelOverrideToSessionEntry, L as setGatewaySigusr1RestartPolicy, Lt as parseVerboseOverride, M as deferGatewayRestartUntilIdle, N as emitGatewayRestart, Nn as resetDirectoryCache, Nt as resolveAgentDeliveryPlan, O as resolveGatewaySessionStoreTarget, Ot as sleepWithAbort, P as isGatewaySigusr1RestartExternallyAllowed, Pr as requestHeartbeatNow, Pt as resolveAgentOutboundTarget, Q as normalizeOptionalSessionKey, Qn as onAgentEvent, Qr as resolveAgentTimeoutMs, R as setPreRestartDeferralCheck, Rn as isAbortRequestText, Rt as createDefaultDeps, Sn as getTotalPendingReplies, Sr as CommandLane, T as loadCombinedSessionStoreForGateway, Tn as ensureOutboundSessionEntry, Tt as requestBodyErrorToText, Ur as resolveSendPolicy, Ut as runCliAgent, V as formatDoctorNonInteractiveHint, Vn as initSubagentRegistry, Vr as resolveAgentSessionDirs, Vt as getCliSessionId, W as summarizeRestartSentinel, Wn as runSubagentAnnounceFlow, Wr as DEFAULT_INPUT_IMAGE_MAX_BYTES, X as inferLegacyName, Xn as emitAgentEvent, Xr as normalizeMimeList, Xt as resolveAgentAvatar, Y as normalizeCronJobPatch, Yn as clearAgentRunContext, Yr as extractImageContentFromSource, Yt as resolveSessionAuthProfileOverride, Z as normalizeOptionalAgentId, Zn as getAgentRunContext, Zr as resolveInputFileLimits, _ as applyToolPolicyPipeline, _r as getTotalQueueSize, ar as resolveTtsApiKey, at as stripLegacyDeliveryFields, b as createOpenClawTools, bn as dispatchInboundMessage, br as setCommandLaneConcurrency, cn as buildHistoryContextFromEntries, cr as resolveTtsPrefsPath, ct as getPluginToolMeta, dr as setTtsProvider, dt as loadOpenClawPlugins, en as buildSafeExternalPrompt, er as resolveUserTimezone, et as normalizePayloadToSystemText, fr as textToSpeech, ft as createPluginRuntime, g as waitForEmbeddedPiRunEnd, gt as loadProviderUsageSummary, h as getActiveEmbeddedRunCount, hr as getActiveTaskCount, i as resolveCronStyleNow, in as unbindThreadBindingsBySessionKey, ir as isTtsProviderConfigured, it as hasLegacyDeliveryHints, j as consumeGatewaySigusr1RestartAuthorization, jn as resolveOutboundChannelPlugin, jr as isSystemEventContextChanged, jt as agentCommandFromIngress, k as resolveSessionModelRef, kn as resolveOutboundTarget, lr as resolveTtsProviderOrder, lt as resolvePluginTools, m as abortEmbeddedPiRun, mr as OPENAI_TTS_VOICES, mt as normalizeGroupActivation, n as BARE_SESSION_RESET_PROMPT, nn as getHookType, nr as getTtsProvider, nt as migrateLegacyCronPayload, or as resolveTtsAutoMode, ot as applyBrowserProxyPaths, p as runEmbeddedPiAgent, pr as OPENAI_TTS_MODELS, q as normalizeHttpWebhookUrl, qn as clearSessionQueues, qr as DEFAULT_INPUT_TIMEOUT_MS, qt as lookupContextTokens, rn as isExternalHookSession, rr as isTtsEnabled, rt as buildDeliveryFromLegacyPayload, sr as resolveTtsConfig, st as persistBrowserProxyFiles, tn as detectSuspiciousPatterns, tr as clearBootstrapSnapshot, tt as normalizeRequiredName, ur as setTtsEnabled, v as buildDefaultToolPolicyPipelineSteps, vr as markGatewayDraining, w as listSessionsFromStore, wt as readJsonBodyWithLimit, x as canonicalizeSpawnedByForAgent, xn as createReplyDispatcher, xr as waitForActiveTasks, xt as resolveAgentOutboundIdentity, yn as formatZonedTimestamp, yr as resetAllLanes, z as triggerOpenClawRestart, zn as stopSubagentsForRequester, zr as ACP_SESSION_IDENTITY_RENDERER_VERSION, zt as createOutboundSendDeps$1 } from "./reply-DQMWsIE2.js";
6
- 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-DHMu2mab.js";
5
+ import { $ as normalizeOptionalText, $n as registerAgentRunContext, An as resolveSessionDeliveryTarget, Ar as enqueueSystemEvent, B as consumeRestartSentinel, Bn as countActiveDescendantRuns, Br as getAcpSessionManager, Bt as runWithModelFallback, C as listAgentsForGateway, Cr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, Ct as handleSlackHttpRequest, D as pruneLegacyStoreKeys, Dr as stripHeartbeatToken, Dt as computeBackoff, E as loadSessionEntry, En as resolveOutboundSessionRoute, F as markGatewaySigusr1RestartHandled, Ft as createOutboundSendDeps, Gn as resolveAnnounceTargetFromKey, Gr as DEFAULT_INPUT_IMAGE_MIMES, H as formatRestartSentinelMessage, Hn as listDescendantRunsForRequester, Hr as normalizeSendPolicy, Ht as setCliSessionId, I as scheduleGatewaySigusr1Restart, It as applyVerboseOverride, J as normalizeCronJobCreate, Jn as buildOutboundSessionContext, Jr as extractFileContentFromSource, K as writeRestartSentinel, Kn as readLatestAssistantReply, Kr as DEFAULT_INPUT_MAX_REDIRECTS, Kt as applyModelOverrideToSessionEntry, L as setGatewaySigusr1RestartPolicy, Lt as parseVerboseOverride, M as deferGatewayRestartUntilIdle, N as emitGatewayRestart, Nn as resetDirectoryCache, Nt as resolveAgentDeliveryPlan, O as resolveGatewaySessionStoreTarget, Ot as sleepWithAbort, P as isGatewaySigusr1RestartExternallyAllowed, Pr as requestHeartbeatNow, Pt as resolveAgentOutboundTarget, Q as normalizeOptionalSessionKey, Qn as onAgentEvent, Qr as resolveAgentTimeoutMs, R as setPreRestartDeferralCheck, Rn as isAbortRequestText, Rt as createDefaultDeps, Sn as getTotalPendingReplies, Sr as CommandLane, T as loadCombinedSessionStoreForGateway, Tn as ensureOutboundSessionEntry, Tt as requestBodyErrorToText, Ur as resolveSendPolicy, Ut as runCliAgent, V as formatDoctorNonInteractiveHint, Vn as initSubagentRegistry, Vr as resolveAgentSessionDirs, Vt as getCliSessionId, W as summarizeRestartSentinel, Wn as runSubagentAnnounceFlow, Wr as DEFAULT_INPUT_IMAGE_MAX_BYTES, X as inferLegacyName, Xn as emitAgentEvent, Xr as normalizeMimeList, Xt as resolveAgentAvatar, Y as normalizeCronJobPatch, Yn as clearAgentRunContext, Yr as extractImageContentFromSource, Yt as resolveSessionAuthProfileOverride, Z as normalizeOptionalAgentId, Zn as getAgentRunContext, Zr as resolveInputFileLimits, _ as applyToolPolicyPipeline, _r as getTotalQueueSize, ar as resolveTtsApiKey, at as stripLegacyDeliveryFields, b as createOpenClawTools, bn as dispatchInboundMessage, br as setCommandLaneConcurrency, cn as buildHistoryContextFromEntries, cr as resolveTtsPrefsPath, ct as getPluginToolMeta, dr as setTtsProvider, dt as loadOpenClawPlugins, en as buildSafeExternalPrompt, er as resolveUserTimezone, et as normalizePayloadToSystemText, fr as textToSpeech, ft as createPluginRuntime, g as waitForEmbeddedPiRunEnd, gt as loadProviderUsageSummary, h as getActiveEmbeddedRunCount, hr as getActiveTaskCount, i as resolveCronStyleNow, in as unbindThreadBindingsBySessionKey, ir as isTtsProviderConfigured, it as hasLegacyDeliveryHints, j as consumeGatewaySigusr1RestartAuthorization, jn as resolveOutboundChannelPlugin, jr as isSystemEventContextChanged, jt as agentCommandFromIngress, k as resolveSessionModelRef, kn as resolveOutboundTarget, lr as resolveTtsProviderOrder, lt as resolvePluginTools, m as abortEmbeddedPiRun, mr as OPENAI_TTS_VOICES, mt as normalizeGroupActivation, n as BARE_SESSION_RESET_PROMPT, nn as getHookType, nr as getTtsProvider, nt as migrateLegacyCronPayload, or as resolveTtsAutoMode, ot as applyBrowserProxyPaths, p as runEmbeddedPiAgent, pr as OPENAI_TTS_MODELS, q as normalizeHttpWebhookUrl, qn as clearSessionQueues, qr as DEFAULT_INPUT_TIMEOUT_MS, qt as lookupContextTokens, rn as isExternalHookSession, rr as isTtsEnabled, rt as buildDeliveryFromLegacyPayload, sr as resolveTtsConfig, st as persistBrowserProxyFiles, tn as detectSuspiciousPatterns, tr as clearBootstrapSnapshot, tt as normalizeRequiredName, ur as setTtsEnabled, v as buildDefaultToolPolicyPipelineSteps, vr as markGatewayDraining, w as listSessionsFromStore, wt as readJsonBodyWithLimit, x as canonicalizeSpawnedByForAgent, xn as createReplyDispatcher, xr as waitForActiveTasks, xt as resolveAgentOutboundIdentity, yn as formatZonedTimestamp, yr as resetAllLanes, z as triggerOpenClawRestart, zn as stopSubagentsForRequester, zr as ACP_SESSION_IDENTITY_RENDERER_VERSION, zt as createOutboundSendDeps$1 } from "./reply-D8Yu6-Ie.js";
6
+ 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-CiBV1K6b.js";
7
7
  import { a as setConsoleSubsystemFilter, d as defaultRuntime, n as runtimeForLogger, o as setConsoleTimestampPrefix, t as createSubsystemLogger } from "./subsystem-BT74-yyS.js";
8
8
  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-C9z4VQtw.js";
9
- 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-TersEUYu.js";
9
+ 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-CRdln__H.js";
10
10
  import { i as logWarn, t as logDebug } from "./logger-D04dg4Ex.js";
11
11
  import { n as runExec, t as runCommandWithTimeout } from "./exec-BdDcFm8M.js";
12
- import { Gt as parseConfigJson5, In as isAvatarHttpUrl, Jt as resolveConfigSnapshotHash, Kr as resolveAgentMaxConcurrent, Kt as readConfigFileSnapshot, Ln as isAvatarImageDataUrl, Mi as DEFAULT_CONTEXT_TOKENS, Mr as applyLegacyMigrations, Ni as DEFAULT_MODEL, Nr as ensureControlUiAllowedOriginsForNonLoopbackBind, Pi as DEFAULT_PROVIDER, Pn as AVATAR_MAX_BYTES, Qt as OpenClawSchema, S as resolveThinkingDefault, Ti as normalizeSecretInput, Ut as createConfigIO, Vn as looksLikeAvatarPath, Vt as migrateLegacyConfig, Wr as buildTalkConfigResponse, Wt as loadConfig, Xt as writeConfigFile, Zt as validateConfigObjectWithPlugins, _ as resolveHooksGmailModel, _n as parseDurationMs, a as getModelRefStatus, ai as upsertAuthProfile, b as resolveSubagentConfiguredModelSelection, bi as isPidAlive, g as resolveDefaultModelForAgent, h as resolveConfiguredModelRef, jr as applyMergePatch, p as resolveAllowedModelRef, qr as resolveSubagentMaxConcurrent, qt as readConfigFileSnapshotForWrite, s as isCliProvider, t as buildAllowedModelSet, tt as resolveApiKeyForProvider, u as normalizeModelSelection, ui as loadAuthProfileStoreForRuntime, vn as parseByteSize, wi as normalizeOptionalSecretInput, xt as resolveApiKeyForProfile } from "./model-selection-DCo8MhsE.js";
12
+ import { Gt as parseConfigJson5, In as isAvatarHttpUrl, Jt as resolveConfigSnapshotHash, Kr as resolveAgentMaxConcurrent, Kt as readConfigFileSnapshot, Ln as isAvatarImageDataUrl, Mi as DEFAULT_CONTEXT_TOKENS, Mr as applyLegacyMigrations, Ni as DEFAULT_MODEL, Nr as ensureControlUiAllowedOriginsForNonLoopbackBind, Pi as DEFAULT_PROVIDER, Pn as AVATAR_MAX_BYTES, Qt as OpenClawSchema, S as resolveThinkingDefault, Ti as normalizeSecretInput, Ut as createConfigIO, Vn as looksLikeAvatarPath, Vt as migrateLegacyConfig, Wr as buildTalkConfigResponse, Wt as loadConfig, Xt as writeConfigFile, Zt as validateConfigObjectWithPlugins, _ as resolveHooksGmailModel, _n as parseDurationMs, a as getModelRefStatus, ai as upsertAuthProfile, b as resolveSubagentConfiguredModelSelection, bi as isPidAlive, g as resolveDefaultModelForAgent, h as resolveConfiguredModelRef, jr as applyMergePatch, p as resolveAllowedModelRef, qr as resolveSubagentMaxConcurrent, qt as readConfigFileSnapshotForWrite, s as isCliProvider, t as buildAllowedModelSet, tt as resolveApiKeyForProvider, u as normalizeModelSelection, ui as loadAuthProfileStoreForRuntime, vn as parseByteSize, wi as normalizeOptionalSecretInput, xt as resolveApiKeyForProfile } from "./model-selection-xdfZxwgB.js";
13
13
  import "./github-copilot-token-CVsUoC9m.js";
14
14
  import { t as formatCliCommand } from "./command-format-DBmYTAza.js";
15
15
  import "./boolean-BgXe2hyu.js";
@@ -17,160 +17,160 @@ import { n as logAcceptedEnvOption, t as isTruthyEnvValue } from "./env-4r1Vlroz
17
17
  import "./host-env-security-BiAcoumI.js";
18
18
  import { i as resolveRuntimeServiceVersion, r as VERSION } from "./env-vars-DM119fhK.js";
19
19
  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-CUyWRciN.js";
20
- import { u as isTestDefaultMemorySlotDisabled } from "./manifest-registry-HNrtHxxI.js";
21
- import "./dock-swzevZbj.js";
20
+ import { u as isTestDefaultMemorySlotDisabled } from "./manifest-registry-B_U2pKBU.js";
21
+ import "./dock-BXksV3sC.js";
22
22
  import { _ as normalizeGatewayClientMode, f as GATEWAY_CLIENT_CAPS, g as hasGatewayClientCap, h as GATEWAY_CLIENT_NAMES, i as isGatewayMessageChannel, l as normalizeMessageChannel, m as GATEWAY_CLIENT_MODES, n as isDeliverableMessageChannel, p as GATEWAY_CLIENT_IDS, r as isGatewayCliClient, s as isWebchatClient, t as INTERNAL_MESSAGE_CHANNEL } from "./message-channel-CKAn7Lf7.js";
23
- import "./send-DmVTXBWW.js";
24
- import { u as registerUnhandledRejectionHandler } from "./audio-transcription-runner-Dv-MCA8E.js";
25
- import { x as extractTextFromChatContent } from "./image-BzR2twGI.js";
26
- import "./models-config-Bgpjcu8R.js";
27
- import "./pi-model-discovery-BSytrsu4.js";
28
- import "./pi-embedded-helpers-D3nc5XJW.js";
29
- import { C as resolveToolProfilePolicy, _ as collectExplicitAllowlist, y as mergeAlsoAllowPolicy } from "./sandbox-DH9YtUfB.js";
23
+ import "./send-ByUfPpKj.js";
24
+ import { u as registerUnhandledRejectionHandler } from "./audio-transcription-runner-CF_UP4C7.js";
25
+ import { x as extractTextFromChatContent } from "./image-B270IRGo.js";
26
+ import "./models-config-Do1Ur_ov.js";
27
+ import "./pi-model-discovery-DVhDvAnA.js";
28
+ import "./pi-embedded-helpers-ZTn-T7tW.js";
29
+ import { C as resolveToolProfilePolicy, _ as collectExplicitAllowlist, y as mergeAlsoAllowPolicy } from "./sandbox-BKa5RrBl.js";
30
30
  import { i as listCoreToolSections, n as PROFILE_OPTIONS, o as resolveCoreToolProfiles } from "./tool-catalog-zFhF8IWN.js";
31
- import "./chrome-2gfHr1cU.js";
31
+ import "./chrome-DzGCPEQK.js";
32
32
  import { i as enableTailscaleServe, n as disableTailscaleServe, o as getTailnetHostname, r as enableTailscaleFunnel, t as disableTailscaleFunnel } from "./tailscale-OcOGSzmc.js";
33
33
  import { t as safeEqualSecret } from "./secret-equal-D7A3Bol7.js";
34
- import { n as pickPrimaryTailnetIPv4, r as pickPrimaryTailnetIPv6 } from "./tailnet-C8NwaQEp.js";
35
- import { c as normalizeHostHeader, d as resolveGatewayBindHost, f as resolveGatewayListenHosts, i as isLoopbackHost, l as pickPrimaryLanIPv4, n as isLocalishHost, o as isTrustedProxyAddress, r as isLoopbackAddress, s as isValidIPv4, t as rawDataToString, u as resolveClientIp } from "./ws-E9v842O2.js";
36
- 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-B9WdgDjZ.js";
37
- import { l as ensureGatewayStartupAuth, u as mergeGatewayTailscaleConfig } from "./server-context-Cr-Y4i6P.js";
34
+ import { n as pickPrimaryTailnetIPv4, r as pickPrimaryTailnetIPv6 } from "./tailnet-BYBKD8Kh.js";
35
+ import { c as normalizeHostHeader, d as resolveGatewayBindHost, f as resolveGatewayListenHosts, i as isLoopbackHost, l as pickPrimaryLanIPv4, n as isLocalishHost, o as isTrustedProxyAddress, r as isLoopbackAddress, s as isValidIPv4, t as rawDataToString, u as resolveClientIp } from "./ws-DKbBt0us.js";
36
+ 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-Co2g3d8d.js";
37
+ import { l as ensureGatewayStartupAuth, u as mergeGatewayTailscaleConfig } from "./server-context-DWxmyV-0.js";
38
38
  import { d as hasBinary } from "./frontmatter-f69paAeU.js";
39
- import { c as resolveBundledSkillsDir, i as loadWorkspaceSkillEntries, r as buildWorkspaceSkillSnapshot } from "./skills-BXLKd7i5.js";
40
- import { n as assertNoPathAliasEscape } from "./path-alias-guards-BNzjbOwM.js";
41
- import "./paths-BZfURxkW.js";
39
+ import { c as resolveBundledSkillsDir, i as loadWorkspaceSkillEntries, r as buildWorkspaceSkillSnapshot } from "./skills-BeFcXCoN.js";
40
+ import { n as assertNoPathAliasEscape } from "./path-alias-guards-DWh6tSaP.js";
41
+ import "./paths-AxolTUEH.js";
42
42
  import { a as testRegexWithBoundedInput, i as compileSafeRegex } from "./redact-Bf_pxORb.js";
43
43
  import { o as isErrno, r as formatErrorMessage } from "./errors-D5pCqwf4.js";
44
- import { i as openFileWithinRoot, l as writeFileWithinRoot, s as readLocalFileSafely, t as SafeOpenError } from "./fs-safe-BGAE6eOQ.js";
45
- import { n as SsrFBlockedError } from "./proxy-env-DhFUQlwP.js";
46
- import { c as detectMime } from "./image-ops-B6BeXmZU.js";
47
- import "./store-CRcBie8T.js";
48
- import { a as inspectPortUsage, l as formatPortDiagnostics, r as ensurePortAvailable } from "./ports-DXMCFRgn.js";
44
+ import { i as openFileWithinRoot, l as writeFileWithinRoot, s as readLocalFileSafely, t as SafeOpenError } from "./fs-safe-p5lyYI__.js";
45
+ import { n as SsrFBlockedError } from "./proxy-env-ClbXa7vn.js";
46
+ import { c as detectMime } from "./image-ops-BAMcbVMS.js";
47
+ import "./store-B-nkOSsv.js";
48
+ import { a as inspectPortUsage, l as formatPortDiagnostics, r as ensurePortAvailable } from "./ports-DppAHKM-.js";
49
49
  import { t as movePathToTrash } from "./trash-Cq4N8bvb.js";
50
- import "./server-middleware-zyvA9rl9.js";
51
- import { n as readJsonFile, r as writeJsonAtomic, t as createAsyncLock } from "./json-files-C7p5SEie.js";
52
- import { $ as resolveMainSessionKey, A as readSessionPreviewItemsFromTranscript, C as normalizeSessionDeliveryFields, D as capArrayByJsonBytes, E as archiveSessionTranscripts, I as stripInlineDirectiveTagsForDisplay, L as stripInlineDirectiveTagsFromMessageForDisplay, M as resolveSessionTranscriptCandidates, N as stripEnvelopeFromMessage, O as cleanupArchivedSessionTranscripts, P as stripEnvelopeFromMessages, Q as resolveExplicitAgentSessionKey, R as jsonUtf8Bytes, T as archiveFileOnDisk, U as resolveSessionResetPolicy, V as evaluateSessionFreshness, X as canonicalizeMainSessionAlias, Y as setSessionRuntimeModel, Z as resolveAgentMainSessionKey, ct as cleanStaleLockFiles, d as updateSessionStore, et as resolveMainSessionKeyFromConfig, k as readSessionMessages, n as parseSessionThreadInfo, nt as snapshotSessionOrigin, o as loadSessionStore, q as mergeSessionEntry, t as extractDeliveryInfo, x as mergeDeliveryContext, y as deliveryContextFromSession } from "./sessions-sIaYsUyX.js";
53
- import { n as listChannelPlugins, r as normalizeChannelId, t as getChannelPlugin, v as normalizeWhatsAppTarget } from "./plugins-Ce8ThYGQ.js";
54
- import { i as resolveWhatsAppAccount } from "./accounts-CCbfXe4Y.js";
55
- import "./accounts-C3iwoWUS.js";
50
+ import "./server-middleware-CO1brrgv.js";
51
+ import { n as readJsonFile, r as writeJsonAtomic, t as createAsyncLock } from "./json-files-bJqSYqgg.js";
52
+ import { $ as resolveMainSessionKey, A as readSessionPreviewItemsFromTranscript, C as normalizeSessionDeliveryFields, D as capArrayByJsonBytes, E as archiveSessionTranscripts, I as stripInlineDirectiveTagsForDisplay, L as stripInlineDirectiveTagsFromMessageForDisplay, M as resolveSessionTranscriptCandidates, N as stripEnvelopeFromMessage, O as cleanupArchivedSessionTranscripts, P as stripEnvelopeFromMessages, Q as resolveExplicitAgentSessionKey, R as jsonUtf8Bytes, T as archiveFileOnDisk, U as resolveSessionResetPolicy, V as evaluateSessionFreshness, X as canonicalizeMainSessionAlias, Y as setSessionRuntimeModel, Z as resolveAgentMainSessionKey, ct as cleanStaleLockFiles, d as updateSessionStore, et as resolveMainSessionKeyFromConfig, k as readSessionMessages, n as parseSessionThreadInfo, nt as snapshotSessionOrigin, o as loadSessionStore, q as mergeSessionEntry, t as extractDeliveryInfo, x as mergeDeliveryContext, y as deliveryContextFromSession } from "./sessions-BpuJ64B0.js";
53
+ import { n as listChannelPlugins, r as normalizeChannelId, t as getChannelPlugin, v as normalizeWhatsAppTarget } from "./plugins-CKWxMohB.js";
54
+ import { i as resolveWhatsAppAccount } from "./accounts-D5DQlttG.js";
55
+ import "./accounts-DKvlV3Tm.js";
56
56
  import "./logging-Dn5qdhsZ.js";
57
- import "./accounts-ChjgDDok.js";
58
- import { t as buildChannelAccountBindings } from "./bindings-C0k4wFy7.js";
59
- import "./send-BQVNhO4Q.js";
57
+ import "./accounts-jPPbCJns.js";
58
+ import { t as buildChannelAccountBindings } from "./bindings-Ck6aotGf.js";
59
+ import "./send-DuNBSJln.js";
60
60
  import { c as resolveStorePath, i as resolveSessionTranscriptPath, n as resolveSessionFilePath, r as resolveSessionFilePathOptions, s as resolveSessionTranscriptsDirForAgent } from "./paths-BJLbJUqV.js";
61
61
  import { i as normalizeInputProvenance } from "./input-provenance-CrQfrobW.js";
62
62
  import "./chat-envelope-D2ZROPtK.js";
63
- import "./tool-images-CgSADinH.js";
63
+ import "./tool-images-QWbHWc0F.js";
64
64
  import "./tool-display-BnVcCWLz.js";
65
- import { t as fetchWithSsrFGuard } from "./fetch-guard-N12H9lEe.js";
66
- import "./api-key-rotation-CuHjsofV.js";
67
- import "./local-roots-Dcc5UeD8.js";
68
- import { n as loadModelCatalog } from "./model-catalog-DUHxH2xb.js";
65
+ import { t as fetchWithSsrFGuard } from "./fetch-guard-D6eclxeP.js";
66
+ import "./api-key-rotation-j4O7qxMf.js";
67
+ import "./local-roots-jW0nhxVT.js";
68
+ import { n as loadModelCatalog } from "./model-catalog-CjA5pRJF.js";
69
69
  import "./proxy-fetch-7LT9tml2.js";
70
70
  import { i as isSilentReplyText, n as SILENT_REPLY_TOKEN } from "./tokens-BK5VYCE_.js";
71
- import { j as runGlobalGatewayStopSafely, k as getGlobalHookRunner, o as normalizeReplyPayloadsForDelivery, t as deliverOutboundPayloads } from "./deliver-D4ugOkLr.js";
72
- import { r as isRestartEnabled } from "./commands-npgZubp3.js";
73
- import "./commands-registry-B5jHbfUL.js";
74
- 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-BoUhzGrS.js";
75
- import { f as loadGatewayTlsRuntime$1, l as authorizeOperatorScopesForMethod, n as callGateway, s as ADMIN_SCOPE$3, u as isNodeRoleMethod } from "./call-B9Vrcbed.js";
71
+ import { j as runGlobalGatewayStopSafely, k as getGlobalHookRunner, o as normalizeReplyPayloadsForDelivery, t as deliverOutboundPayloads } from "./deliver-Bn10XzRP.js";
72
+ import { r as isRestartEnabled } from "./commands-C6OLhl3n.js";
73
+ import "./commands-registry-CVzTBX51.js";
74
+ 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-B91adiXh.js";
75
+ import { f as loadGatewayTlsRuntime$1, l as authorizeOperatorScopesForMethod, n as callGateway, s as ADMIN_SCOPE$3, u as isNodeRoleMethod } from "./call-BGZQEHL4.js";
76
76
  import "./pairing-token-QppPqMJU.js";
77
77
  import "./fetch-Ca92M4MR.js";
78
78
  import "./retry-AsJdJVsE.js";
79
- import { a as readChannelAllowFromStoreSync } from "./pairing-store-DY0yrkuM.js";
79
+ import { a as readChannelAllowFromStoreSync } from "./pairing-store-DdZ0xMD7.js";
80
80
  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-C23wqMXV.js";
81
- import "./exec-approvals-allowlist-fG-NsL-O.js";
82
- import "./exec-safe-bin-runtime-policy-B9kCrTY1.js";
83
- import { _ as matchSystemRunApprovalBinding, g as buildSystemRunApprovalBinding, h as resolveSystemRunApprovalRuntimeContext, m as resolveSystemRunApprovalRequestContext, v as missingSystemRunApprovalBinding, y as toSystemRunApprovalMismatchError } from "./nodes-screen-FWjD2j3v.js";
84
- import { a as ToolInputError } from "./target-errors-cerGxvCB.js";
85
- import { n as resolveSystemRunCommand } from "./system-run-command-Cn5yQ2rv.js";
81
+ import "./exec-approvals-allowlist-CGVHz3PX.js";
82
+ import "./exec-safe-bin-runtime-policy-D7olAQMf.js";
83
+ import { _ as matchSystemRunApprovalBinding, g as buildSystemRunApprovalBinding, h as resolveSystemRunApprovalRuntimeContext, m as resolveSystemRunApprovalRequestContext, v as missingSystemRunApprovalBinding, y as toSystemRunApprovalMismatchError } from "./nodes-screen-Dptoharj.js";
84
+ import { a as ToolInputError } from "./target-errors-B1cYmIjq.js";
85
+ import { n as resolveSystemRunCommand } from "./system-run-command-C3OIMtEu.js";
86
86
  import "./diagnostic-session-state-DtDi2x-e.js";
87
- import { a as getMachineDisplayName, i as startBrowserControlServiceFromConfig, n as createBrowserRouteDispatcher, r as createBrowserControlContext } from "./with-timeout-C-EETHnf.js";
88
- import { d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, m as isDiagnosticsEnabled } from "./diagnostic-phUWJbF_.js";
89
- import { d as loadCronStore, f as resolveCronStorePath, p as saveCronStore } from "./send-CFUSH9C-.js";
90
- import "./model-CESXYutI.js";
91
- import { a as resolveAgentIdentity, t as createReplyPrefixOptions } from "./reply-prefix-aBvAQX6L.js";
87
+ import { a as getMachineDisplayName, i as startBrowserControlServiceFromConfig, n as createBrowserRouteDispatcher, r as createBrowserControlContext } from "./with-timeout-tSH4Tex_.js";
88
+ import { d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, m as isDiagnosticsEnabled } from "./diagnostic-DRPetA8l.js";
89
+ import { d as loadCronStore, f as resolveCronStorePath, p as saveCronStore } from "./send-SZBhACLn.js";
90
+ import "./model-FnrgCVyS.js";
91
+ import { a as resolveAgentIdentity, t as createReplyPrefixOptions } from "./reply-prefix-BttpF8VB.js";
92
92
  import "./chunk-mV8H66i-.js";
93
- import "./markdown-tables-XmfG1bwr.js";
94
- import "./ir-vGBxQkIg.js";
93
+ import "./markdown-tables-B5l_33qL.js";
94
+ import "./ir-BGgl4f9u.js";
95
95
  import "./render-C9RrMnL2.js";
96
- import { n as resolveMessageChannelSelection } from "./channel-selection-BDdjozhi.js";
96
+ import { n as resolveMessageChannelSelection } from "./channel-selection-TZJgoz5h.js";
97
97
  import { n as normalizePollInput } from "./polls-3Iuh9z3d.js";
98
- import { i as buildChannelUiCatalog, t as applyPluginAutoEnable } from "./plugin-auto-enable-4zXn-eVS.js";
99
- import "./send-CabiU1-J.js";
100
- import "./outbound-attachment-Df5o7JIG.js";
98
+ import { i as buildChannelUiCatalog, t as applyPluginAutoEnable } from "./plugin-auto-enable-D1WySsnE.js";
99
+ import "./send-Cua2kS5v.js";
100
+ import "./outbound-attachment-CZh4VjhT.js";
101
101
  import "./delivery-queue-EvfYzqtX.js";
102
- import "./send-NexNe2Wh.js";
103
- import "./resolve-route-R565qQgt.js";
104
- import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, r as resolveEffectiveToolPolicy } from "./pi-tools.policy-Dwsq-Yaf.js";
102
+ import "./send-BntubUtK.js";
103
+ import "./resolve-route-Ck23oGqS.js";
104
+ import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, r as resolveEffectiveToolPolicy } from "./pi-tools.policy-eyXj0EY5.js";
105
105
  import { t as getChannelActivity } from "./channel-activity-C--BGtPd.js";
106
- import "./tables-C5n2nXbu.js";
106
+ import "./tables-C9_oCtRN.js";
107
107
  import "./proxy-D8dYXgWo.js";
108
- import "./replies-k5K96_46.js";
109
- 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-C2_BOuyl.js";
110
- import { t as listAgentWorkspaceDirs } from "./workspace-dirs-DxTFH1r3.js";
108
+ import "./replies-B6SXcEs0.js";
109
+ 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-COl0HE54.js";
110
+ import { t as listAgentWorkspaceDirs } from "./workspace-dirs-DcAUEsSG.js";
111
111
  import { c as hasNonzeroUsage, i as loadSessionUsageTimeSeries, n as loadCostUsageSummary, r as loadSessionCostSummary, s as deriveSessionTotalTokens, t as discoverAllSessions } from "./session-cost-usage-DbjE1AVb.js";
112
- import { C as normalizeControlUiBasePath, S as buildControlUiAvatarUrl, c as handleReset, w as resolveAssistantAvatarUrl, x as CONTROL_UI_AVATAR_PREFIX } from "./onboard-helpers-Jc1-4LBc.js";
112
+ import { C as normalizeControlUiBasePath, S as buildControlUiAvatarUrl, c as handleReset, w as resolveAssistantAvatarUrl, x as CONTROL_UI_AVATAR_PREFIX } from "./onboard-helpers-B1AEo6oL.js";
113
113
  import "./prompt-style-sTNfJFX8.js";
114
- import "./pairing-labels-BBti3jJg.js";
114
+ import "./pairing-labels-Cl7ROILg.js";
115
115
  import { n as formatTokenCount, r as formatUsd } from "./usage-format-BxjB8vcE.js";
116
- import "./session-meta-C6MooccR.js";
117
- import { i as resolveMemoryBackendConfig, r as getMemorySearchManager } from "./memory-cli-87nxADqy.js";
118
- import { r as resolveMemorySearchConfig } from "./manager-X8AF3rQJ.js";
119
- import "./query-expansion-B9kneDbd.js";
116
+ import "./session-meta-C-ox3bdI.js";
117
+ import { i as resolveMemoryBackendConfig, r as getMemorySearchManager } from "./memory-cli-o3L9NN74.js";
118
+ import { r as resolveMemorySearchConfig } from "./manager-C9rftBaE.js";
119
+ import "./query-expansion-Dl85zpSb.js";
120
120
  import { t as formatDocsLink } from "./links-CM7pO4C5.js";
121
121
  import { n as runCommandWithRuntime } from "./cli-utils-BKqG4ZT-.js";
122
122
  import { t as formatHelpExamples } from "./help-format-DUJs-8Xi.js";
123
123
  import { n as withProgress } from "./progress-86COuAnG.js";
124
- import "./server-lifecycle-BVnXIEfI.js";
124
+ import "./server-lifecycle-B7aXKxY3.js";
125
125
  import { i as parseAbsoluteTimeMs, n as resolveCronStaggerMs, r as resolveDefaultCronStaggerMs, t as normalizeCronStaggerMs } from "./stagger-C-R8Eo-4.js";
126
126
  import "./constants-BJiQF5Ae.js";
127
127
  import "./context-window-guard-BNuaId5E.js";
128
128
  import { i as onHeartbeatEvent, r as getLastHeartbeatEvent, t as resolveHeartbeatVisibility } from "./heartbeat-visibility-BdDIMad6.js";
129
129
  import { t as ensureOpenClawCliOnPath } from "./path-env-DzEqwLCq.js";
130
130
  import "./runtime-guard-p6l4jDOj.js";
131
- import { t as forceFreePortAndWait } from "./ports-wtEwdqsX.js";
132
- import { t as buildWorkspaceSkillStatus } from "./skills-status-C7Q6Ezbv.js";
131
+ import { t as forceFreePortAndWait } from "./ports-BL-FP2jP.js";
132
+ import { t as buildWorkspaceSkillStatus } from "./skills-status-BEq0_fOn.js";
133
133
  import { n as DEFAULT_GATEWAY_HTTP_TOOL_DENY } from "./dangerous-tools-DHq9RLRQ.js";
134
134
  import { n as inheritOptionFromParent } from "./command-options-D4YE45pL.js";
135
135
  import { t as WizardCancelledError } from "./prompts-iXdBMk3j.js";
136
136
  import { t as resolveChannelDefaultAccountId } from "./helpers-D0Q6sarx.js";
137
- import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-BoNoGEQI.js";
138
- import { t as isWithinDir } from "./path-safety-dmCI2tpN.js";
139
- import { t as assertCanonicalPathWithinBase } from "./install-safe-path-DodF6oyk.js";
140
- import "./skill-scanner-DYkQAh0l.js";
141
- import { n as formatConfigIssueLines } from "./issue-format-B4oxePhU.js";
137
+ import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-DQBEXhzA.js";
138
+ import { t as isWithinDir } from "./path-safety-COhgvniC.js";
139
+ import { t as assertCanonicalPathWithinBase } from "./install-safe-path-CSqVUjL8.js";
140
+ import "./skill-scanner-CsmM5F4F.js";
141
+ import { n as formatConfigIssueLines } from "./issue-format-rk9Vpcxd.js";
142
142
  import { t as buildChannelAccountSnapshot } from "./status-yrDGXYZM.js";
143
- import "./channels-status-issues-Dir7g-Pc.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-BI4Ryuhy.js";
145
- import "./daemon-install-helpers-CGZBs-X3.js";
146
- import "./systemd-BIfjzi-4.js";
147
- import "./service-BcFhE63y.js";
148
- import "./lifecycle-core-C5a4clqu.js";
149
- import "./systemd-hints-CgtHwBfD.js";
143
+ import "./channels-status-issues-DeT1Znlx.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-DCGL0k2M.js";
145
+ import "./daemon-install-helpers-CMWYg4_W.js";
146
+ import "./systemd-DJ5Red-Q.js";
147
+ import "./service-DqxfCr8y.js";
148
+ import "./lifecycle-core-Bqse41aA.js";
149
+ import "./systemd-hints-D40Qx3hg.js";
150
150
  import { t as parsePort$1 } from "./parse-port-DEJJlpU0.js";
151
- import { n as addGatewayServiceCommands } from "./daemon-cli-CB9c5SXP.js";
152
- import "./diagnostics-D_AmByNE.js";
151
+ import { n as addGatewayServiceCommands } from "./daemon-cli-RKWFtF-K.js";
152
+ import "./diagnostics-BHQgZbuI.js";
153
153
  import "./table-DZBPnHSy.js";
154
154
  import { n as resolveWideAreaDiscoveryDomain, r as writeWideAreaGatewayZone } from "./widearea-dns-D1fyqK-r.js";
155
- import { i as toOptionString, n as extractGatewayMiskeys, r as maybeExplainGatewayServiceStop, t as describeUnknownError } from "./shared-sFrejcA4.js";
156
- import { a as probeGateway, n as collectEnabledInsecureOrDangerousFlags } from "./audit-BAGbgihO.js";
157
- import { t as discoverGatewayBeacons } from "./bonjour-discovery-DXvZeG8M.js";
158
- import { n as getStatusSummary, r as pickGatewaySelfPresence } from "./status-rMgdZcE5.js";
159
- import { a as styleHealthChannelLine, c as setHeartbeatsEnabled, l as startHeartbeatRunner, n as getHealthSnapshot, s as runHeartbeatOnce, t as formatHealthChannelLines, u as isCronSystemEvent } from "./health-DlFSsTw-.js";
160
- import { a as resolveControlUiRootSync, i as resolveControlUiRootOverrideSync, t as ensureControlUiAssetsBuilt } from "./control-ui-assets-DpInddpx.js";
161
- import { o as isBitseekBuild } from "./status.update-D4GfnNDI.js";
162
- import { h as normalizeUpdateChannel, l as DEFAULT_PACKAGE_CHANNEL, n as checkUpdateStatus, o as resolveNpmChannelTag, r as compareSemverStrings } from "./channel-account-context-CeGx9Aq7.js";
163
- import { i as prepareSecretsRuntimeSnapshot, n as clearSecretsRuntimeSnapshot, r as getActiveSecretsRuntimeSnapshot, t as activateSecretsRuntimeSnapshot } from "./runtime-D64ACWoX.js";
164
- import { t as runOnboardingWizard } from "./onboarding-BQ2WB7tp.js";
165
- 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-SIM2es-Y.js";
155
+ import { i as toOptionString, n as extractGatewayMiskeys, r as maybeExplainGatewayServiceStop, t as describeUnknownError } from "./shared-BmSv3K8N.js";
156
+ import { a as probeGateway, n as collectEnabledInsecureOrDangerousFlags } from "./audit-1YVlVmk7.js";
157
+ import { t as discoverGatewayBeacons } from "./bonjour-discovery-CtUQb94i.js";
158
+ import { n as getStatusSummary, r as pickGatewaySelfPresence } from "./status-CQYA6EJN.js";
159
+ import { a as styleHealthChannelLine, c as setHeartbeatsEnabled, l as startHeartbeatRunner, n as getHealthSnapshot, s as runHeartbeatOnce, t as formatHealthChannelLines, u as isCronSystemEvent } from "./health-Du8dO3vn.js";
160
+ import { a as resolveControlUiRootSync, i as resolveControlUiRootOverrideSync, t as ensureControlUiAssetsBuilt } from "./control-ui-assets-B_3g_YF0.js";
161
+ import { o as isBitseekBuild } from "./status.update-HwSPC5ZX.js";
162
+ import { h as normalizeUpdateChannel, l as DEFAULT_PACKAGE_CHANNEL, n as checkUpdateStatus, o as resolveNpmChannelTag, r as compareSemverStrings } from "./channel-account-context-C6rIxLzo.js";
163
+ import { i as prepareSecretsRuntimeSnapshot, n as clearSecretsRuntimeSnapshot, r as getActiveSecretsRuntimeSnapshot, t as activateSecretsRuntimeSnapshot } from "./runtime-Rd7ooKB0.js";
164
+ import { t as runOnboardingWizard } from "./onboarding-BvdtFAPe.js";
165
+ 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-DvNRo3EQ.js";
166
166
  import { T as resolveGmailHookRuntimeConfig, _ as buildGogWatchServeArgs, i as ensureTailscaleEndpoint, v as buildGogWatchStartArgs } from "./gmail-setup-utils-mNwdQcKy.js";
167
- import { n as isNodeCommandAllowed, r as resolveNodeCommandAllowlist } from "./node-command-policy-BiPTB8BK.js";
168
- import "./node-service-CfKJ5oC1.js";
169
- import "./shared-DNcLp2mA.js";
170
- import { d as verifyOpenAiCompatibleModel } from "./onboard-custom.shared-SWx67Er2.js";
171
- import { n as formatInstallFailureMessage, t as installSkill } from "./skills-install-CSfh8nRm.js";
172
- import { t as runGatewayUpdate } from "./update-runner-Dj_CAfd4.js";
173
- import { i as shouldIncludeHook, r as resolveHookConfig, t as loadWorkspaceHookEntries } from "./workspace-1nc7aTpg.js";
167
+ import { n as isNodeCommandAllowed, r as resolveNodeCommandAllowlist } from "./node-command-policy-BKUs_pS2.js";
168
+ import "./node-service-6W3vqgVv.js";
169
+ import "./shared-CgFPGTLU.js";
170
+ import { d as verifyOpenAiCompatibleModel } from "./onboard-custom.shared-CBRRhb95.js";
171
+ import { n as formatInstallFailureMessage, t as installSkill } from "./skills-install-B_Vda3dM.js";
172
+ import { t as runGatewayUpdate } from "./update-runner-DO6RodZW.js";
173
+ import { i as shouldIncludeHook, r as resolveHookConfig, t as loadWorkspaceHookEntries } from "./workspace-dKMB109Q.js";
174
174
  import { fileURLToPath, pathToFileURL } from "node:url";
175
175
  import * as fsSync from "node:fs";
176
176
  import fs from "node:fs";
@@ -178,7 +178,7 @@ import os from "node:os";
178
178
  import path from "node:path";
179
179
  import chalk from "chalk";
180
180
  import { isDeepStrictEqual } from "node:util";
181
- import fsPromises from "node:fs/promises";
181
+ import fs$1 from "node:fs/promises";
182
182
  import { spawn, spawnSync } from "node:child_process";
183
183
  import crypto, { createHash, randomBytes, randomUUID } from "node:crypto";
184
184
  import { z } from "zod";
@@ -1249,7 +1249,7 @@ function resolveCheckIntervalMs(cfg) {
1249
1249
  }
1250
1250
  async function readState(statePath) {
1251
1251
  try {
1252
- const raw = await fsPromises.readFile(statePath, "utf-8");
1252
+ const raw = await fs$1.readFile(statePath, "utf-8");
1253
1253
  const parsed = JSON.parse(raw);
1254
1254
  return parsed && typeof parsed === "object" ? parsed : {};
1255
1255
  } catch {
@@ -1330,7 +1330,7 @@ async function runAutoUpdateCommand(params) {
1330
1330
  path.join(params.root, "dist", "index.mjs")
1331
1331
  ];
1332
1332
  for (const candidate of candidates) try {
1333
- await fsPromises.access(candidate);
1333
+ await fs$1.access(candidate);
1334
1334
  argv.push(execPath, candidate, ...baseArgs);
1335
1335
  break;
1336
1336
  } catch {}
@@ -4405,20 +4405,20 @@ async function drainPendingWrite(filePath) {
4405
4405
  if (pending) await pending.catch(() => void 0);
4406
4406
  }
4407
4407
  async function pruneIfNeeded(filePath, opts) {
4408
- const stat = await fsPromises.stat(filePath).catch(() => null);
4408
+ const stat = await fs$1.stat(filePath).catch(() => null);
4409
4409
  if (!stat || stat.size <= opts.maxBytes) return;
4410
- const lines = (await fsPromises.readFile(filePath, "utf-8").catch(() => "")).split("\n").map((l) => l.trim()).filter(Boolean);
4410
+ const lines = (await fs$1.readFile(filePath, "utf-8").catch(() => "")).split("\n").map((l) => l.trim()).filter(Boolean);
4411
4411
  const kept = lines.slice(Math.max(0, lines.length - opts.keepLines));
4412
4412
  const { randomBytes } = await import("node:crypto");
4413
4413
  const tmp = `${filePath}.${process.pid}.${randomBytes(8).toString("hex")}.tmp`;
4414
- await fsPromises.writeFile(tmp, `${kept.join("\n")}\n`, "utf-8");
4415
- await fsPromises.rename(tmp, filePath);
4414
+ await fs$1.writeFile(tmp, `${kept.join("\n")}\n`, "utf-8");
4415
+ await fs$1.rename(tmp, filePath);
4416
4416
  }
4417
4417
  async function appendCronRunLog(filePath, entry, opts) {
4418
4418
  const resolved = path.resolve(filePath);
4419
4419
  const next = (writesByPath.get(resolved) ?? Promise.resolve()).catch(() => void 0).then(async () => {
4420
- await fsPromises.mkdir(path.dirname(resolved), { recursive: true });
4421
- await fsPromises.appendFile(resolved, `${JSON.stringify(entry)}\n`, "utf-8");
4420
+ await fs$1.mkdir(path.dirname(resolved), { recursive: true });
4421
+ await fs$1.appendFile(resolved, `${JSON.stringify(entry)}\n`, "utf-8");
4422
4422
  await pruneIfNeeded(resolved, {
4423
4423
  maxBytes: opts?.maxBytes ?? DEFAULT_CRON_RUN_LOG_MAX_BYTES,
4424
4424
  keepLines: opts?.keepLines ?? DEFAULT_CRON_RUN_LOG_KEEP_LINES
@@ -4512,7 +4512,7 @@ function filterRunLogEntries(entries, opts) {
4512
4512
  async function readCronRunLogEntriesPage(filePath, opts) {
4513
4513
  await drainPendingWrite(filePath);
4514
4514
  const limit = Math.max(1, Math.min(200, Math.floor(opts?.limit ?? 50)));
4515
- const raw = await fsPromises.readFile(path.resolve(filePath), "utf-8").catch(() => "");
4515
+ const raw = await fs$1.readFile(path.resolve(filePath), "utf-8").catch(() => "");
4516
4516
  const statuses = normalizeRunStatuses(opts);
4517
4517
  const deliveryStatuses = normalizeDeliveryStatuses(opts);
4518
4518
  const query = opts?.query?.trim().toLowerCase() ?? "";
@@ -4548,7 +4548,7 @@ async function readCronRunLogEntriesPageAll(opts) {
4548
4548
  const query = opts.query?.trim().toLowerCase() ?? "";
4549
4549
  const sortDir = opts.sortDir === "asc" ? "asc" : "desc";
4550
4550
  const runsDir = path.resolve(path.dirname(path.resolve(opts.storePath)), "runs");
4551
- const jsonlFiles = (await fsPromises.readdir(runsDir, { withFileTypes: true }).catch(() => [])).filter((entry) => entry.isFile() && entry.name.endsWith(".jsonl")).map((entry) => path.join(runsDir, entry.name));
4551
+ 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));
4552
4552
  if (jsonlFiles.length === 0) return {
4553
4553
  entries: [],
4554
4554
  total: 0,
@@ -4559,7 +4559,7 @@ async function readCronRunLogEntriesPageAll(opts) {
4559
4559
  };
4560
4560
  await Promise.all(jsonlFiles.map((f) => drainPendingWrite(f)));
4561
4561
  const filtered = filterRunLogEntries((await Promise.all(jsonlFiles.map(async (filePath) => {
4562
- return parseAllRunLogEntries(await fsPromises.readFile(filePath, "utf-8").catch(() => ""));
4562
+ return parseAllRunLogEntries(await fs$1.readFile(filePath, "utf-8").catch(() => ""));
4563
4563
  }))).flat(), {
4564
4564
  statuses,
4565
4565
  deliveryStatuses,
@@ -9767,7 +9767,7 @@ function resolveAgentWorkspaceFileOrRespondError(params, respond) {
9767
9767
  }
9768
9768
  async function resolveWorkspaceRealPath(workspaceDir) {
9769
9769
  try {
9770
- return await fsPromises.realpath(workspaceDir);
9770
+ return await fs$1.realpath(workspaceDir);
9771
9771
  } catch {
9772
9772
  return path.resolve(workspaceDir);
9773
9773
  }
@@ -9791,7 +9791,7 @@ async function resolveAgentWorkspaceFilePath(params) {
9791
9791
  }
9792
9792
  let candidateLstat;
9793
9793
  try {
9794
- candidateLstat = await fsPromises.lstat(candidatePath);
9794
+ candidateLstat = await fs$1.lstat(candidatePath);
9795
9795
  } catch (err) {
9796
9796
  if (isNotFoundPathError(err)) {
9797
9797
  if (params.allowMissing) return {
@@ -9811,7 +9811,7 @@ async function resolveAgentWorkspaceFilePath(params) {
9811
9811
  if (candidateLstat.isSymbolicLink()) {
9812
9812
  let targetReal;
9813
9813
  try {
9814
- targetReal = await fsPromises.realpath(candidatePath);
9814
+ targetReal = await fs$1.realpath(candidatePath);
9815
9815
  } catch (err) {
9816
9816
  if (isNotFoundPathError(err)) {
9817
9817
  if (params.allowMissing) return {
@@ -9830,7 +9830,7 @@ async function resolveAgentWorkspaceFilePath(params) {
9830
9830
  }
9831
9831
  let targetStat;
9832
9832
  try {
9833
- targetStat = await fsPromises.stat(targetReal);
9833
+ targetStat = await fs$1.stat(targetReal);
9834
9834
  } catch (err) {
9835
9835
  if (isNotFoundPathError(err)) {
9836
9836
  if (params.allowMissing) return {
@@ -9877,13 +9877,13 @@ async function resolveAgentWorkspaceFilePath(params) {
9877
9877
  return {
9878
9878
  kind: "ready",
9879
9879
  requestPath,
9880
- ioPath: await fsPromises.realpath(candidatePath).catch(() => candidatePath),
9880
+ ioPath: await fs$1.realpath(candidatePath).catch(() => candidatePath),
9881
9881
  workspaceReal
9882
9882
  };
9883
9883
  }
9884
9884
  async function statFileSafely(filePath) {
9885
9885
  try {
9886
- const [stat, lstat] = await Promise.all([fsPromises.stat(filePath), fsPromises.lstat(filePath)]);
9886
+ const [stat, lstat] = await Promise.all([fs$1.stat(filePath), fs$1.lstat(filePath)]);
9887
9887
  if (lstat.isSymbolicLink() || !stat.isFile()) return null;
9888
9888
  if (stat.nlink > 1) return null;
9889
9889
  if (!sameFileIdentity(stat, lstat)) return null;
@@ -9968,7 +9968,7 @@ function resolveOptionalStringParam(value) {
9968
9968
  async function moveToTrashBestEffort(pathname) {
9969
9969
  if (!pathname) return;
9970
9970
  try {
9971
- await fsPromises.access(pathname);
9971
+ await fs$1.access(pathname);
9972
9972
  } catch {
9973
9973
  return;
9974
9974
  }
@@ -10044,7 +10044,7 @@ const agentsHandlers = {
10044
10044
  dir: workspaceDir,
10045
10045
  ensureBootstrapFiles: !Boolean(nextConfig.agents?.defaults?.skipBootstrap)
10046
10046
  });
10047
- await fsPromises.mkdir(resolveSessionTranscriptsDirForAgent(agentId), { recursive: true });
10047
+ await fs$1.mkdir(resolveSessionTranscriptsDirForAgent(agentId), { recursive: true });
10048
10048
  await writeConfigFile(nextConfig);
10049
10049
  const safeName = sanitizeIdentityLine(rawName);
10050
10050
  const emoji = resolveOptionalStringParam(params.emoji);
@@ -10057,7 +10057,7 @@ const agentsHandlers = {
10057
10057
  ...avatar ? [`- Avatar: ${sanitizeIdentityLine(avatar)}`] : [],
10058
10058
  ""
10059
10059
  ];
10060
- await fsPromises.appendFile(identityPath, lines.join("\n"), "utf-8");
10060
+ await fs$1.appendFile(identityPath, lines.join("\n"), "utf-8");
10061
10061
  respond(true, {
10062
10062
  ok: true,
10063
10063
  agentId,
@@ -10092,9 +10092,9 @@ const agentsHandlers = {
10092
10092
  });
10093
10093
  if (avatar) {
10094
10094
  const workspace = workspaceDir ?? resolveAgentWorkspaceDir(nextConfig, agentId);
10095
- await fsPromises.mkdir(workspace, { recursive: true });
10095
+ await fs$1.mkdir(workspace, { recursive: true });
10096
10096
  const identityPath = path.join(workspace, DEFAULT_IDENTITY_FILENAME);
10097
- await fsPromises.appendFile(identityPath, `\n- Avatar: ${sanitizeIdentityLine(avatar)}\n`, "utf-8");
10097
+ await fs$1.appendFile(identityPath, `\n- Avatar: ${sanitizeIdentityLine(avatar)}\n`, "utf-8");
10098
10098
  }
10099
10099
  respond(true, {
10100
10100
  ok: true,
@@ -10218,7 +10218,7 @@ const agentsHandlers = {
10218
10218
  const resolved = resolveAgentWorkspaceFileOrRespondError(params, respond);
10219
10219
  if (!resolved) return;
10220
10220
  const { agentId, workspaceDir, name } = resolved;
10221
- await fsPromises.mkdir(workspaceDir, { recursive: true });
10221
+ await fs$1.mkdir(workspaceDir, { recursive: true });
10222
10222
  const filePath = path.join(workspaceDir, name);
10223
10223
  const resolvedPath = await resolveWorkspaceFilePathOrRespond({
10224
10224
  respond,
@@ -12511,14 +12511,14 @@ function isRollingLogFile(file) {
12511
12511
  return ROLLING_LOG_RE.test(path.basename(file));
12512
12512
  }
12513
12513
  async function resolveLogFile(file) {
12514
- if (await fsPromises.stat(file).catch(() => null)) return file;
12514
+ if (await fs$1.stat(file).catch(() => null)) return file;
12515
12515
  if (!isRollingLogFile(file)) return file;
12516
12516
  const dir = path.dirname(file);
12517
- const entries = await fsPromises.readdir(dir, { withFileTypes: true }).catch(() => null);
12517
+ const entries = await fs$1.readdir(dir, { withFileTypes: true }).catch(() => null);
12518
12518
  if (!entries) return file;
12519
12519
  return (await Promise.all(entries.filter((entry) => entry.isFile() && ROLLING_LOG_RE.test(entry.name)).map(async (entry) => {
12520
12520
  const fullPath = path.join(dir, entry.name);
12521
- const fileStat = await fsPromises.stat(fullPath).catch(() => null);
12521
+ const fileStat = await fs$1.stat(fullPath).catch(() => null);
12522
12522
  return fileStat ? {
12523
12523
  path: fullPath,
12524
12524
  mtimeMs: fileStat.mtimeMs
@@ -12526,7 +12526,7 @@ async function resolveLogFile(file) {
12526
12526
  }))).filter((entry) => Boolean(entry)).toSorted((a, b) => b.mtimeMs - a.mtimeMs)[0]?.path ?? file;
12527
12527
  }
12528
12528
  async function readLogSlice(params) {
12529
- const stat = await fsPromises.stat(params.file).catch(() => null);
12529
+ const stat = await fs$1.stat(params.file).catch(() => null);
12530
12530
  if (!stat) return {
12531
12531
  cursor: 0,
12532
12532
  size: 0,
@@ -12564,7 +12564,7 @@ async function readLogSlice(params) {
12564
12564
  truncated,
12565
12565
  reset
12566
12566
  };
12567
- const handle = await fsPromises.open(params.file, "r");
12567
+ const handle = await fs$1.open(params.file, "r");
12568
12568
  try {
12569
12569
  let prefix = "";
12570
12570
  if (start > 0) {
@@ -13611,7 +13611,7 @@ const nodeHandlers = {
13611
13611
  const p = params;
13612
13612
  const payloadJSON = typeof p.payloadJSON === "string" ? p.payloadJSON : p.payload !== void 0 ? JSON.stringify(p.payload) : null;
13613
13613
  await respondUnavailableOnThrow(respond, async () => {
13614
- const { handleNodeEvent } = await import("./server-node-events-oa4mOmsp.js");
13614
+ const { handleNodeEvent } = await import("./server-node-events-nakjzVDn.js");
13615
13615
  const nodeId = client?.connect?.device?.id ?? client?.connect?.client?.id ?? "node";
13616
13616
  await handleNodeEvent({
13617
13617
  deps: context.deps,
@@ -14337,11 +14337,11 @@ async function installLocalMarketSkill(params) {
14337
14337
  candidatePath: sourceDir,
14338
14338
  boundaryLabel: "market templates directory"
14339
14339
  });
14340
- if (!(await fsPromises.stat(sourceDir)).isDirectory()) return {
14340
+ if (!(await fs$1.stat(sourceDir)).isDirectory()) return {
14341
14341
  ok: false,
14342
14342
  message: `Local template "${templateDir}" is not a directory.`
14343
14343
  };
14344
- if (!(await fsPromises.stat(sourceSkillPath)).isFile()) return {
14344
+ if (!(await fs$1.stat(sourceSkillPath)).isFile()) return {
14345
14345
  ok: false,
14346
14346
  message: `Local template "${templateDir}" is missing SKILL.md.`
14347
14347
  };
@@ -14355,13 +14355,13 @@ async function installLocalMarketSkill(params) {
14355
14355
  const workspaceSkillsDir = path.join(workspaceDir, "skills");
14356
14356
  const targetDir = path.join(workspaceSkillsDir, templateDir);
14357
14357
  try {
14358
- await fsPromises.mkdir(workspaceSkillsDir, { recursive: true });
14358
+ await fs$1.mkdir(workspaceSkillsDir, { recursive: true });
14359
14359
  await assertCanonicalPathWithinBase({
14360
14360
  baseDir: workspaceSkillsDir,
14361
14361
  candidatePath: targetDir,
14362
14362
  boundaryLabel: "workspace skills directory"
14363
14363
  });
14364
- await fsPromises.cp(sourceDir, targetDir, {
14364
+ await fs$1.cp(sourceDir, targetDir, {
14365
14365
  recursive: true,
14366
14366
  force: true
14367
14367
  });
@@ -17195,7 +17195,7 @@ function normalizeAgentPayload(payload) {
17195
17195
  async function startBrowserControlServerIfEnabled() {
17196
17196
  if (isTruthyEnvValue(process.env.OPENCLAW_SKIP_BROWSER_CONTROL_SERVER)) return null;
17197
17197
  const override = process.env.OPENCLAW_BROWSER_CONTROL_MODULE?.trim();
17198
- const mod = override ? await import(override) : await import("./server-DQ7D-B-v.js");
17198
+ const mod = override ? await import(override) : await import("./server-Ct0J5VXf.js");
17199
17199
  const start = typeof mod.startBrowserControlServiceFromConfig === "function" ? mod.startBrowserControlServiceFromConfig : mod.startBrowserControlServerFromConfig;
17200
17200
  const stop = typeof mod.stopBrowserControlService === "function" ? mod.stopBrowserControlService : mod.stopBrowserControlServer;
17201
17201
  if (!start) return null;
@@ -17423,7 +17423,7 @@ async function resolveFileWithinRoot(rootReal, urlPath) {
17423
17423
  if (normalized.endsWith("/")) return await tryOpen(path.posix.join(rel, "index.html"));
17424
17424
  const candidate = path.join(rootReal, rel);
17425
17425
  try {
17426
- const st = await fsPromises.lstat(candidate);
17426
+ const st = await fs$1.lstat(candidate);
17427
17427
  if (st.isSymbolicLink()) return null;
17428
17428
  if (st.isDirectory()) return await tryOpen(path.posix.join(rel, "index.html"));
17429
17429
  } catch {}
@@ -17460,8 +17460,8 @@ async function resolveA2uiRoot() {
17460
17460
  for (const dir of candidates) try {
17461
17461
  const indexPath = path.join(dir, "index.html");
17462
17462
  const bundlePath = path.join(dir, "a2ui.bundle.js");
17463
- await fsPromises.stat(indexPath);
17464
- await fsPromises.stat(bundlePath);
17463
+ await fs$1.stat(indexPath);
17464
+ await fs$1.stat(bundlePath);
17465
17465
  return dir;
17466
17466
  } catch {}
17467
17467
  return null;
@@ -17470,7 +17470,7 @@ async function resolveA2uiRootReal() {
17470
17470
  if (cachedA2uiRootReal !== void 0 && (cachedA2uiRootReal !== null || Date.now() - cachedA2uiResolvedAtMs < A2UI_ROOT_RETRY_NULL_AFTER_MS)) return cachedA2uiRootReal;
17471
17471
  if (!resolvingA2uiRoot) resolvingA2uiRoot = (async () => {
17472
17472
  const root = await resolveA2uiRoot();
17473
- cachedA2uiRootReal = root ? await fsPromises.realpath(root) : null;
17473
+ cachedA2uiRootReal = root ? await fs$1.realpath(root) : null;
17474
17474
  cachedA2uiResolvedAtMs = Date.now();
17475
17475
  resolvingA2uiRoot = null;
17476
17476
  return cachedA2uiRootReal;
@@ -17691,13 +17691,13 @@ function normalizeBasePath(rawPath) {
17691
17691
  }
17692
17692
  async function prepareCanvasRoot(rootDir) {
17693
17693
  await ensureDir(rootDir);
17694
- const rootReal = await fsPromises.realpath(rootDir);
17694
+ const rootReal = await fs$1.realpath(rootDir);
17695
17695
  try {
17696
17696
  const indexPath = path.join(rootReal, "index.html");
17697
- await fsPromises.stat(indexPath);
17697
+ await fs$1.stat(indexPath);
17698
17698
  } catch {
17699
17699
  try {
17700
- await fsPromises.writeFile(path.join(rootReal, "index.html"), defaultIndexHTML(), "utf8");
17700
+ await fs$1.writeFile(path.join(rootReal, "index.html"), defaultIndexHTML(), "utf8");
17701
17701
  } catch {}
17702
17702
  }
17703
17703
  return rootReal;
@@ -20704,7 +20704,7 @@ async function resolveGatewayOwnerStatus(pid, payload, platform, port) {
20704
20704
  }
20705
20705
  async function readLockPayload(lockPath) {
20706
20706
  try {
20707
- const raw = await fsPromises.readFile(lockPath, "utf8");
20707
+ const raw = await fs$1.readFile(lockPath, "utf8");
20708
20708
  const parsed = JSON.parse(raw);
20709
20709
  if (typeof parsed.pid !== "number") return null;
20710
20710
  if (typeof parsed.createdAt !== "string") return null;
@@ -20739,11 +20739,11 @@ async function acquireGatewayLock(opts = {}) {
20739
20739
  const platform = opts.platform ?? process.platform;
20740
20740
  const port = opts.port;
20741
20741
  const { lockPath, configPath } = resolveGatewayLockPath(env);
20742
- await fsPromises.mkdir(path.dirname(lockPath), { recursive: true });
20742
+ await fs$1.mkdir(path.dirname(lockPath), { recursive: true });
20743
20743
  const startedAt = Date.now();
20744
20744
  let lastPayload = null;
20745
20745
  while (Date.now() - startedAt < timeoutMs) try {
20746
- const handle = await fsPromises.open(lockPath, "wx");
20746
+ const handle = await fs$1.open(lockPath, "wx");
20747
20747
  const startTime = platform === "linux" ? readLinuxStartTime(process.pid) : null;
20748
20748
  const payload = {
20749
20749
  pid: process.pid,
@@ -20757,7 +20757,7 @@ async function acquireGatewayLock(opts = {}) {
20757
20757
  configPath,
20758
20758
  release: async () => {
20759
20759
  await handle.close().catch(() => void 0);
20760
- await fsPromises.rm(lockPath, { force: true });
20760
+ await fs$1.rm(lockPath, { force: true });
20761
20761
  }
20762
20762
  };
20763
20763
  } catch (err) {
@@ -20766,7 +20766,7 @@ async function acquireGatewayLock(opts = {}) {
20766
20766
  const ownerPid = lastPayload?.pid;
20767
20767
  const ownerStatus = ownerPid ? await resolveGatewayOwnerStatus(ownerPid, lastPayload, platform, port) : "unknown";
20768
20768
  if (ownerStatus === "dead" && ownerPid) {
20769
- await fsPromises.rm(lockPath, { force: true });
20769
+ await fs$1.rm(lockPath, { force: true });
20770
20770
  continue;
20771
20771
  }
20772
20772
  if (ownerStatus !== "alive") {
@@ -20776,13 +20776,13 @@ async function acquireGatewayLock(opts = {}) {
20776
20776
  stale = Number.isFinite(createdAt) ? Date.now() - createdAt > staleMs : false;
20777
20777
  }
20778
20778
  if (!stale) try {
20779
- const st = await fsPromises.stat(lockPath);
20779
+ const st = await fs$1.stat(lockPath);
20780
20780
  stale = Date.now() - st.mtimeMs > staleMs;
20781
20781
  } catch {
20782
20782
  stale = false;
20783
20783
  }
20784
20784
  if (stale) {
20785
- await fsPromises.rm(lockPath, { force: true });
20785
+ await fs$1.rm(lockPath, { force: true });
20786
20786
  continue;
20787
20787
  }
20788
20788
  }
@@ -23092,7 +23092,7 @@ async function startGatewayServer(port = 18789, opts = {}) {
23092
23092
  if (!minimalTestGateway) cron.start().catch((err) => logCron.error(`failed to start: ${String(err)}`));
23093
23093
  if (!minimalTestGateway) (async () => {
23094
23094
  const { recoverPendingDeliveries } = await import("./delivery-queue-EvfYzqtX.js").then((n) => n.n);
23095
- const { deliverOutboundPayloads } = await import("./deliver-D4ugOkLr.js").then((n) => n.n);
23095
+ const { deliverOutboundPayloads } = await import("./deliver-Bn10XzRP.js").then((n) => n.n);
23096
23096
  await recoverPendingDeliveries({
23097
23097
  deliver: deliverOutboundPayloads,
23098
23098
  log: log.child("delivery-recovery"),