@bitseek/claw 1.2.5 → 1.2.6

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 (308) hide show
  1. package/dist/{accounts-DKvlV3Tm.js → accounts-C3iwoWUS.js} +1 -1
  2. package/dist/{accounts-D5DQlttG.js → accounts-CCbfXe4Y.js} +7 -7
  3. package/dist/{accounts-jPPbCJns.js → accounts-ChjgDDok.js} +1 -1
  4. package/dist/{acp-cli-BZnPaFm3.js → acp-cli-DIikR-tj.js} +8 -8
  5. package/dist/{agent-scope-CiBV1K6b.js → agent-scope-DHMu2mab.js} +1 -1
  6. package/dist/{agents.config-DQBEXhzA.js → agents.config-BoNoGEQI.js} +2 -2
  7. package/dist/{api-key-rotation-j4O7qxMf.js → api-key-rotation-CuHjsofV.js} +1 -1
  8. package/dist/{audio-preflight-BkoTbTIH.js → audio-preflight-BClvbKMQ.js} +36 -36
  9. package/dist/{audio-preflight-Dd9DDvqB.js → audio-preflight-BWOdDA2n.js} +4 -4
  10. package/dist/{audio-transcription-runner-Bx53bUS2.js → audio-transcription-runner-DaoqvWoi.js} +1 -1
  11. package/dist/{audio-transcription-runner-CF_UP4C7.js → audio-transcription-runner-Dv-MCA8E.js} +22 -22
  12. package/dist/{audit-1YVlVmk7.js → audit-BAGbgihO.js} +29 -29
  13. package/dist/{auth-Co2g3d8d.js → auth-B9WdgDjZ.js} +1 -1
  14. package/dist/{auth-choice-CdsMUqKA.js → auth-choice-CTCXt7WB.js} +12 -12
  15. package/dist/{auth-choice-BamWYpsc.js → auth-choice-FFUrxk0-.js} +14 -14
  16. package/dist/{auth-choice.apply-helpers-CQLQ5Tuk.js → auth-choice.apply-helpers-Dz2x-3CK.js} +1 -1
  17. package/dist/{auth-token-BjVRLcvi.js → auth-token-BPWVp11S.js} +1 -1
  18. package/dist/{bindings-Ck6aotGf.js → bindings-C0k4wFy7.js} +1 -1
  19. package/dist/{bonjour-discovery-CtUQb94i.js → bonjour-discovery-DXvZeG8M.js} +1 -1
  20. package/dist/{browser-cli-CaBLM5A6.js → browser-cli-BwtSgIvC.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-BGZQEHL4.js → call-B9Vrcbed.js} +10 -10
  25. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  26. package/dist/{channel-account-context-C6rIxLzo.js → channel-account-context-CeGx9Aq7.js} +5 -5
  27. package/dist/{channel-options-Bnnem_wD.js → channel-options-DmEaPgkZ.js} +3 -3
  28. package/dist/{channel-selection-TZJgoz5h.js → channel-selection-BDdjozhi.js} +1 -1
  29. package/dist/{channel-web-KY6EP9HT.js → channel-web-mFdbEE2o.js} +18 -18
  30. package/dist/{channels-cli-tJkvzsqO.js → channels-cli-CCTczoJM.js} +94 -94
  31. package/dist/{channels-status-issues-DeT1Znlx.js → channels-status-issues-Dir7g-Pc.js} +1 -1
  32. package/dist/{chrome-DzGCPEQK.js → chrome-2gfHr1cU.js} +4 -4
  33. package/dist/{chrome-C6zMSR36.js → chrome-CjTE-vWv.js} +8 -8
  34. package/dist/{clawbot-cli-Comysjn9.js → clawbot-cli-BMGBnmny.js} +5 -5
  35. package/dist/{cli-DOS1lPNs.js → cli-zsP2OqB6.js} +75 -75
  36. package/dist/{client-B91adiXh.js → client-BoUhzGrS.js} +2 -2
  37. package/dist/{command-registry-KxdBw74g.js → command-registry-okzYatr9.js} +4 -4
  38. package/dist/{commands-C6OLhl3n.js → commands-npgZubp3.js} +1 -1
  39. package/dist/{commands-registry-CVzTBX51.js → commands-registry-B5jHbfUL.js} +3 -3
  40. package/dist/{completion-cli-Cfp2m1Sy.js → completion-cli-BFxGdqak.js} +2 -2
  41. package/dist/{completion-cli-DU3T8Tur.js → completion-cli-Dm9dt8iw.js} +12 -12
  42. package/dist/{config-cli-DZpbwWvz.js → config-cli-CJVYN-g-.js} +7 -7
  43. package/dist/{config-guard-9BjlFVZx.js → config-guard-1SsvFO9G.js} +17 -17
  44. package/dist/{config-validation-BcxAhhcj.js → config-validation-BJ6PNk8H.js} +3 -3
  45. package/dist/{configure-CLMtWGiL.js → configure-DMwHaNHJ.js} +17 -17
  46. package/dist/{control-ui-assets-B_3g_YF0.js → control-ui-assets-DpInddpx.js} +1 -1
  47. package/dist/{cron-cli-C8kDGh6_.js → cron-cli-CyEcKgVG.js} +12 -12
  48. package/dist/{daemon-cli-RKWFtF-K.js → daemon-cli-CB9c5SXP.js} +15 -15
  49. package/dist/{daemon-install-DsJ0L8HP.js → daemon-install-Bqjc3wky.js} +4 -4
  50. package/dist/{daemon-install-helpers-CMWYg4_W.js → daemon-install-helpers-CGZBs-X3.js} +11 -11
  51. package/dist/{dashboard-BhAYjl6n.js → dashboard-8HFxt9IY.js} +2 -2
  52. package/dist/{deliver-Bn10XzRP.js → deliver-D4ugOkLr.js} +7 -7
  53. package/dist/{deliver-DXa06hfk.js → deliver-xY3h9X6N.js} +1 -1
  54. package/dist/{devices-cli-DoJBheGs.js → devices-cli-Bp8AMOPE.js} +8 -8
  55. package/dist/{diagnostic-DRPetA8l.js → diagnostic-phUWJbF_.js} +1 -1
  56. package/dist/{diagnostics-BHQgZbuI.js → diagnostics-D_AmByNE.js} +5 -5
  57. package/dist/{directory-cli-Brla3Idn.js → directory-cli-Bt3I30_e.js} +8 -8
  58. package/dist/{dns-cli-rEvE1LG9.js → dns-cli-DaTrsB61.js} +5 -5
  59. package/dist/{dock-BXksV3sC.js → dock-swzevZbj.js} +4 -4
  60. package/dist/{docs-cli-DtThi0Xf.js → docs-cli--2Qgcpvs.js} +4 -4
  61. package/dist/{doctor-completion-AraQfpv2.js → doctor-completion-UEYo4_U6.js} +2 -2
  62. package/dist/{doctor-completion-B6_JtN22.js → doctor-completion-wHIBxn-7.js} +1 -1
  63. package/dist/{doctor-config-flow-18ijj3KB.js → doctor-config-flow-DKaeaH2u.js} +15 -15
  64. package/dist/{enable-CJ75JA5u.js → enable-xlkWJvIn.js} +1 -1
  65. package/dist/entry.js +2 -2
  66. package/dist/{exec-approvals-allowlist-CGVHz3PX.js → exec-approvals-allowlist-fG-NsL-O.js} +1 -1
  67. package/dist/{exec-approvals-cli-DfcUJ9Sm.js → exec-approvals-cli-r7jbe_Rj.js} +16 -16
  68. package/dist/{exec-safe-bin-runtime-policy-D7olAQMf.js → exec-safe-bin-runtime-policy-B9kCrTY1.js} +2 -2
  69. package/dist/{fetch-guard-D6eclxeP.js → fetch-guard-N12H9lEe.js} +1 -1
  70. package/dist/{fs-safe-p5lyYI__.js → fs-safe-BGAE6eOQ.js} +24 -24
  71. package/dist/{gateway-cli-CX2HA_sy.js → gateway-cli-BFo0WvJx.js} +63 -9
  72. package/dist/{gateway-cli-C6G3qMkR.js → gateway-cli-Bi6tzv7v.js} +222 -168
  73. package/dist/{gateway-rpc-CJVCek88.js → gateway-rpc-BHBGSN7Z.js} +1 -1
  74. package/dist/{health-Du8dO3vn.js → health-DlFSsTw-.js} +14 -14
  75. package/dist/{hooks-cli-DUIQuGjr.js → hooks-cli-CMLpJr6I.js} +83 -83
  76. package/dist/{hooks-status-ONaKEpUH.js → hooks-status-inMD7sD-.js} +1 -1
  77. package/dist/{image-B270IRGo.js → image-BzR2twGI.js} +5 -5
  78. package/dist/{image-Dd4lgi4H.js → image-DCyaYY2d.js} +1 -1
  79. package/dist/{image-ops-BAMcbVMS.js → image-ops-B6BeXmZU.js} +10 -10
  80. package/dist/index.js +85 -85
  81. package/dist/{inspect-C0e0Dmvg.js → inspect-BwbOLUun.js} +4 -4
  82. package/dist/{install-safe-path-CSqVUjL8.js → install-safe-path-DodF6oyk.js} +25 -25
  83. package/dist/{installs-BXOZ3DXs.js → installs-8bzJi35e.js} +9 -9
  84. package/dist/{ipv4-Bk-doiEE.js → ipv4-BY_PmkpX.js} +1 -1
  85. package/dist/{ir-BGgl4f9u.js → ir-vGBxQkIg.js} +6 -6
  86. package/dist/{issue-format-rk9Vpcxd.js → issue-format-B4oxePhU.js} +1 -1
  87. package/dist/{json-files-bJqSYqgg.js → json-files-C7p5SEie.js} +8 -8
  88. package/dist/{lifecycle-core-Bqse41aA.js → lifecycle-core-C5a4clqu.js} +5 -5
  89. package/dist/llm-slug-generator.js +6 -6
  90. package/dist/{local-roots-jW0nhxVT.js → local-roots-Dcc5UeD8.js} +3 -3
  91. package/dist/{login-B2B75WGK.js → login-BM9p9nig.js} +3 -3
  92. package/dist/{login-qr-YjUycQZT.js → login-qr-CB4JWkHM.js} +6 -6
  93. package/dist/{logs-cli-Dyid6hUQ.js → logs-cli-DGdXLEv-.js} +9 -9
  94. package/dist/{manager-C9rftBaE.js → manager-X8AF3rQJ.js} +14 -14
  95. package/dist/{manifest-registry-B_U2pKBU.js → manifest-registry-HNrtHxxI.js} +1 -1
  96. package/dist/{markdown-tables-B5l_33qL.js → markdown-tables-XmfG1bwr.js} +1 -1
  97. package/dist/{memory-cli-o3L9NN74.js → memory-cli-87nxADqy.js} +12 -12
  98. package/dist/{model-FnrgCVyS.js → model-CESXYutI.js} +2 -2
  99. package/dist/{model-catalog-CjA5pRJF.js → model-catalog-DUHxH2xb.js} +3 -3
  100. package/dist/{model-picker-CMgjcqV_.js → model-picker-D705WMPf.js} +4 -4
  101. package/dist/{model-selection-xdfZxwgB.js → model-selection-DCo8MhsE.js} +16 -16
  102. package/dist/{models-cli-CHUbcM_y.js → models-cli-9x2mp4Ac.js} +85 -85
  103. package/dist/{models-config-Do1Ur_ov.js → models-config-Bgpjcu8R.js} +6 -6
  104. package/dist/{node-cli-DYOdgLUu.js → node-cli-DJnihsNr.js} +33 -33
  105. package/dist/{node-command-policy-BKUs_pS2.js → node-command-policy-BiPTB8BK.js} +1 -1
  106. package/dist/{node-service-6W3vqgVv.js → node-service-CfKJ5oC1.js} +1 -1
  107. package/dist/{nodes-cli-CQzck2kc.js → nodes-cli-4kBrEEti.js} +16 -16
  108. package/dist/{nodes-screen-Dptoharj.js → nodes-screen-FWjD2j3v.js} +7 -7
  109. package/dist/{npm-pack-install-Byr0kgft.js → npm-pack-install-CXheGnb0.js} +18 -18
  110. package/dist/{npm-resolution-Dv7nYiaP.js → npm-resolution-DIr_TibO.js} +5 -5
  111. package/dist/{onboard-D66uwNCb.js → onboard-B_MoYnrn.js} +1 -1
  112. package/dist/{onboard-DcI-IxL0.js → onboard-DEFQu6dU.js} +6 -6
  113. package/dist/{onboard-channels-CRpmgX82.js → onboard-channels-BuG5-e60.js} +20 -20
  114. package/dist/{onboard-custom-Bow6lZPm.js → onboard-custom-HI7NPx1u.js} +3 -3
  115. package/dist/{onboard-custom.shared-CBRRhb95.js → onboard-custom.shared-SWx67Er2.js} +2 -2
  116. package/dist/{onboard-helpers-B1AEo6oL.js → onboard-helpers-Jc1-4LBc.js} +11 -11
  117. package/dist/{onboard-hooks-CtxRk6l_.js → onboard-hooks-DFjIpeE_.js} +4 -4
  118. package/dist/{onboard-remote-DmHpLoWf.js → onboard-remote-BLAyUeAO.js} +3 -3
  119. package/dist/{onboard-skills-DwpZY5tZ.js → onboard-skills--XkA2Jj4.js} +4 -4
  120. package/dist/{onboarding-Dae6N665.js → onboarding-BQ2WB7tp.js} +13 -13
  121. package/dist/{onboarding-CZCgESNI.js → onboarding-CSnr51pR.js} +1 -1
  122. package/dist/{onboarding.finalize-B8nYvA0i.js → onboarding.finalize-BlMlIFRW.js} +4 -4
  123. package/dist/{onboarding.finalize-ANKeWCQe.js → onboarding.finalize-DAbr5Ar8.js} +87 -87
  124. package/dist/{onboarding.gateway-config-wXH6gE7c.js → onboarding.gateway-config-CMKjEPRA.js} +18 -18
  125. package/dist/{openai-model-default-Q7Hmy0eQ.js → openai-model-default-BTNz1OzV.js} +2 -2
  126. package/dist/{outbound-DlVJWa4u.js → outbound-Bf7VAx0-.js} +4 -4
  127. package/dist/{outbound-attachment-CZh4VjhT.js → outbound-attachment-Df5o7JIG.js} +2 -2
  128. package/dist/{pairing-cli-DAMLvDcA.js → pairing-cli-CA7Dxs-g.js} +9 -9
  129. package/dist/{pairing-labels-Cl7ROILg.js → pairing-labels-BBti3jJg.js} +1 -1
  130. package/dist/{pairing-store-DdZ0xMD7.js → pairing-store-DY0yrkuM.js} +3 -3
  131. package/dist/{path-alias-guards-DWh6tSaP.js → path-alias-guards-BNzjbOwM.js} +3 -3
  132. package/dist/{path-safety-COhgvniC.js → path-safety-dmCI2tpN.js} +1 -1
  133. package/dist/{paths-AxolTUEH.js → paths-BZfURxkW.js} +9 -9
  134. package/dist/{pi-embedded-DKX65Hec.js → pi-embedded-Bacc2S0h.js} +22 -22
  135. package/dist/{pi-embedded-helpers-BErNo2oq.js → pi-embedded-helpers-CMTVhLjq.js} +3 -3
  136. package/dist/{pi-embedded-helpers-ZTn-T7tW.js → pi-embedded-helpers-D3nc5XJW.js} +6 -6
  137. package/dist/{pi-model-discovery-DVhDvAnA.js → pi-model-discovery-BSytrsu4.js} +1 -1
  138. package/dist/{pi-tools.policy-eyXj0EY5.js → pi-tools.policy-Dwsq-Yaf.js} +5 -5
  139. package/dist/{plugin-auto-enable-D1WySsnE.js → plugin-auto-enable-4zXn-eVS.js} +3 -3
  140. package/dist/{plugin-registry-TOEmbMc4.js → plugin-registry-DsZTkNKu.js} +3 -3
  141. package/dist/plugin-sdk/{accounts-COLYAAOx.js → accounts-4WE2wtsW.js} +1 -1
  142. package/dist/plugin-sdk/{accounts-BZrkOo6-.js → accounts-AbI8uETR.js} +1 -1
  143. package/dist/plugin-sdk/{accounts-D_pT5EjF.js → accounts-BYcizTXn.js} +3 -3
  144. package/dist/plugin-sdk/{active-listener-DxBXcWm_.js → active-listener-pnqLAUOh.js} +1 -1
  145. package/dist/plugin-sdk/{agent-scope-DT5pxpJB.js → agent-scope-_j3fIYCK.js} +3 -3
  146. package/dist/plugin-sdk/{api-key-rotation-Dl6Ad7Nj.js → api-key-rotation-CYI51U_M.js} +2 -2
  147. package/dist/plugin-sdk/{audio-preflight-CkPj4OVY.js → audio-preflight-BTRRjPew.js} +33 -33
  148. package/dist/plugin-sdk/{audio-transcription-runner-BBn9jEMg.js → audio-transcription-runner-DFZS7uCO.js} +10 -10
  149. package/dist/plugin-sdk/{bindings-BSfhEjKN.js → bindings-CxxzC7gn.js} +2 -2
  150. package/dist/plugin-sdk/{channel-activity-DAEbma-o.js → channel-activity-B3yZ-f-m.js} +3 -3
  151. package/dist/plugin-sdk/{channel-web-O79O_ah6.js → channel-web-D2q54sK-.js} +23 -23
  152. package/dist/plugin-sdk/{chrome-Dn0G4NoF.js → chrome-oPevdeh5.js} +7 -7
  153. package/dist/plugin-sdk/{chunk-cvtXztAT.js → chunk-BPyPeheZ.js} +1 -1
  154. package/dist/plugin-sdk/{command-format-BOJz3y1v.js → command-format-DvyMEXQo.js} +1 -1
  155. package/dist/plugin-sdk/{commands-registry-CZWv_JwZ.js → commands-registry-Dk8re8Lz.js} +5 -5
  156. package/dist/plugin-sdk/{config-DAwOhnVF.js → config-D7I2_X4P.js} +10 -10
  157. package/dist/plugin-sdk/{deliver-PdH-MCq8.js → deliver-NrIHn0__.js} +11 -11
  158. package/dist/plugin-sdk/{diagnostic-BZvj-qNu.js → diagnostic-DL3k_wRi.js} +2 -2
  159. package/dist/plugin-sdk/{dock-BdR3OYZn.js → dock-CjdkiLH7.js} +6 -6
  160. package/dist/plugin-sdk/{errors-jusxdu7M.js → errors-DFTN4h2I.js} +1 -1
  161. package/dist/plugin-sdk/{fetch-guard-Dary6WwJ.js → fetch-guard-BivEyA4v.js} +2 -2
  162. package/dist/plugin-sdk/{fs-safe-DMCE0ej9.js → fs-safe-B256n7Ff.js} +3 -3
  163. package/dist/plugin-sdk/{image-B3A2l2ep.js → image-CkPzr3XN.js} +6 -6
  164. package/dist/plugin-sdk/{image-ops-DulHE5Qc.js → image-ops-C9GXWF3o.js} +1 -1
  165. package/dist/plugin-sdk/index.js +64 -64
  166. package/dist/plugin-sdk/{ir-BFXiJrsN.js → ir-BIm-jvIK.js} +6 -6
  167. package/dist/plugin-sdk/{local-roots-DssN60r6.js → local-roots-2AOXGUXW.js} +4 -4
  168. package/dist/plugin-sdk/{logger-Cr-x0vMf.js → logger-CNhs9eKJ.js} +1 -1
  169. package/dist/plugin-sdk/{login-D0ul3-6C.js → login-BcLiF9tC.js} +6 -6
  170. package/dist/plugin-sdk/{login-qr-XWKTFBuI.js → login-qr-GyPUodKJ.js} +9 -9
  171. package/dist/plugin-sdk/{manager-DGx_cF54.js → manager-DYLqNUb4.js} +10 -10
  172. package/dist/plugin-sdk/{markdown-tables-CsQpDNU5.js → markdown-tables-D9mmqMKi.js} +1 -1
  173. package/dist/plugin-sdk/{message-channel-CvNq-esz.js → message-channel-_CEZcqxE.js} +1 -1
  174. package/dist/plugin-sdk/{outbound-D29FHlQl.js → outbound-DdTsUaXa.js} +7 -7
  175. package/dist/plugin-sdk/{outbound-attachment-DRHrZUOx.js → outbound-attachment--hkuIDR1.js} +2 -2
  176. package/dist/plugin-sdk/{path-alias-guards-DpKV1B5p.js → path-alias-guards-BqUCBfUg.js} +1 -1
  177. package/dist/plugin-sdk/{pi-embedded-helpers-CKEUWckk.js → pi-embedded-helpers-CTfvZz83.js} +17 -17
  178. package/dist/plugin-sdk/{pi-model-discovery-BPeQq9XM.js → pi-model-discovery-CK3Ih_kq.js} +1 -1
  179. package/dist/plugin-sdk/{plugins-DF_dKXTR.js → plugins-BpHAMNJ1.js} +6 -6
  180. package/dist/plugin-sdk/{proxy-BfmEDoun.js → proxy-BJdRZOnJ.js} +1 -1
  181. package/dist/plugin-sdk/{proxy-fetch-BpHIgvBk.js → proxy-fetch-jmbopGcm.js} +1 -1
  182. package/dist/plugin-sdk/{pw-ai-BmmXDjtm.js → pw-ai-D0Kx7w1D.js} +13 -13
  183. package/dist/plugin-sdk/{qmd-manager-3hQbqkm5.js → qmd-manager-BDcutPp9.js} +8 -8
  184. package/dist/plugin-sdk/{query-expansion-BOGLUWB7.js → query-expansion-C_X8SyEA.js} +2 -2
  185. package/dist/plugin-sdk/{redact-BOuKZWXa.js → redact-DH8u23pF.js} +1 -1
  186. package/dist/plugin-sdk/{registry-Cv-oHUj1.js → registry-HF8_S7QO.js} +2 -2
  187. package/dist/plugin-sdk/{replies-CddwWBTJ.js → replies-DbjvV4gf.js} +3 -3
  188. package/dist/plugin-sdk/{reply-YZQvouuF.js → reply-Cs_Ks2Mr.js} +93 -93
  189. package/dist/plugin-sdk/{reply-prefix-DXthVxCx.js → reply-prefix-KODsMNJ-.js} +1 -1
  190. package/dist/plugin-sdk/{resolve-outbound-target-D3Y4F2Le.js → resolve-outbound-target-BPT4aNiD.js} +2 -2
  191. package/dist/plugin-sdk/{resolve-route-DuwYYn4a.js → resolve-route-De2B5QY_.js} +4 -4
  192. package/dist/plugin-sdk/{retry-BMcrIz7L.js → retry-pZ8iKytf.js} +1 -1
  193. package/dist/plugin-sdk/{send-D0AaWnIj.js → send-1uW-uqPf.js} +7 -7
  194. package/dist/plugin-sdk/{send-C5USYGq7.js → send-BoNw1Bki.js} +8 -8
  195. package/dist/plugin-sdk/{send-B0ztz6QC.js → send-C-Rd2stz.js} +6 -6
  196. package/dist/plugin-sdk/{send-DJzwu8kk.js → send-CZIN8SDx.js} +15 -15
  197. package/dist/plugin-sdk/{send-DEyQJTzd.js → send-wCqsQs_s.js} +10 -10
  198. package/dist/plugin-sdk/{session-meta-ChWvKVWj.js → session-meta-7J-uHiM_.js} +1 -1
  199. package/dist/plugin-sdk/{session-BA7tVDpV.js → session-ooYcB82T.js} +5 -5
  200. package/dist/plugin-sdk/{sessions-BXps6YzJ.js → sessions-lAIo5l8W.js} +6 -6
  201. package/dist/plugin-sdk/{skill-commands-B20uUsji.js → skill-commands-D1Q6hGS4.js} +5 -5
  202. package/dist/plugin-sdk/{skills-DXOTei42.js → skills-BWSDv2F_.js} +8 -8
  203. package/dist/plugin-sdk/{ssrf-Doxv9M7Q.js → ssrf-JKDwTi8i.js} +1 -1
  204. package/dist/plugin-sdk/{store-BZbE1V-C.js → store-BMeqzQAf.js} +2 -2
  205. package/dist/plugin-sdk/{subsystem-CM1s2lDT.js → subsystem-B0V8LFBA.js} +2 -2
  206. package/dist/plugin-sdk/{tables-BhH8EIqU.js → tables-DCSeBGBz.js} +1 -1
  207. package/dist/{target-errors-B1cYmIjq.js → plugin-sdk/target-errors-0u6pegQv.js} +2 -2
  208. package/dist/plugin-sdk/{tokens-DIE-Bf72.js → tokens-DF2_VTJy.js} +1 -1
  209. package/dist/plugin-sdk/{tool-images-heXfaJdb.js → tool-images-BbsgbHMZ.js} +2 -2
  210. package/dist/plugin-sdk/{tool-loop-detection-CygMSQUK.js → tool-loop-detection-JkCpGrfk.js} +2 -2
  211. package/dist/plugin-sdk/{utils-BcL6KGZf.js → utils-BfVxx6bk.js} +1 -1
  212. package/dist/plugin-sdk/web-B35hdNQ-.js +72 -0
  213. package/dist/plugin-sdk/{whatsapp-actions-CRean1yN.js → whatsapp-actions-tVcrGNQc.js} +25 -25
  214. package/dist/{plugins-CKWxMohB.js → plugins-Ce8ThYGQ.js} +2 -2
  215. package/dist/{plugins-cli-Clo_uyvq.js → plugins-cli-DxFh5OQi.js} +85 -85
  216. package/dist/{ports-DppAHKM-.js → ports-DXMCFRgn.js} +2 -2
  217. package/dist/{ports-BL-FP2jP.js → ports-wtEwdqsX.js} +1 -1
  218. package/dist/{program-DSOHn27G.js → program-DnjsZxiJ.js} +2 -2
  219. package/dist/{program-context-DfYJPL5N.js → program-context-36wFBslW.js} +43 -43
  220. package/dist/{prompt-select-styled-DG7woZ0E.js → prompt-select-styled-BkpL6eKQ.js} +1 -1
  221. package/dist/{prompt-select-styled-B2izefsj.js → prompt-select-styled-CJt-zhnt.js} +39 -39
  222. package/dist/{provider-auth-helpers-D_akOb8A.js → provider-auth-helpers-DeJ105rb.js} +5 -5
  223. package/dist/{proxy-env-ClbXa7vn.js → proxy-env-DhFUQlwP.js} +1 -1
  224. package/dist/{push-apns-DvNRo3EQ.js → push-apns-SIM2es-Y.js} +5 -5
  225. package/dist/{pw-ai-D21rIJ2z.js → pw-ai-BOQE6s45.js} +15 -15
  226. package/dist/{pw-ai-pkfCxzhV.js → pw-ai-DGwA7iCM.js} +1 -1
  227. package/dist/{qmd-manager-BD6lfN35.js → qmd-manager-DVKj0i6T.js} +20 -20
  228. package/dist/{qr-cli-BQGJJ5hp.js → qr-cli-Z4_Y6bva.js} +1 -1
  229. package/dist/{query-expansion-Dl85zpSb.js → query-expansion-B9kneDbd.js} +12 -12
  230. package/dist/{redact-snapshot-DCGL0k2M.js → redact-snapshot-BI4Ryuhy.js} +1 -1
  231. package/dist/{register.agent-DowGjvNc.js → register.agent-Cd2LVcga.js} +100 -100
  232. package/dist/register.configure-DGIWBQvN.js +174 -0
  233. package/dist/{register.init-DWQDniBg.js → register.init-DpFUY5Ed.js} +15 -15
  234. package/dist/{register.maintenance-DyTduYA4.js → register.maintenance-DAU-mVIz.js} +97 -97
  235. package/dist/{register.maintenance-CQivhR8Y.js → register.maintenance-R4RCi4f3.js} +5 -5
  236. package/dist/{register.message-DE-eKss6.js → register.message-B0CI0Q4o.js} +76 -76
  237. package/dist/{register.onboard-CWX2zarB.js → register.onboard-BGhXUfbX.js} +18 -18
  238. package/dist/{register.onboard-BRBPNENF.js → register.onboard-Di7iClKl.js} +2 -2
  239. package/dist/{register.setup-YcxKWN94.js → register.setup-Dm_dHAB-.js} +2 -2
  240. package/dist/{register.setup-DwZL0RXc.js → register.setup-nlXy06aa.js} +21 -21
  241. package/dist/{register.start-BHASi8Um.js → register.start-Dzss99ZY.js} +17 -17
  242. package/dist/{register.status-health-sessions-Cbva8fTK.js → register.status-health-sessions-B4eNiGWS.js} +89 -89
  243. package/dist/{register.subclis-CEq4Db2Q.js → register.subclis-1MobNhis.js} +3 -3
  244. package/dist/{replies-B6SXcEs0.js → replies-k5K96_46.js} +1 -1
  245. package/dist/{reply-D8Yu6-Ie.js → reply-DQMWsIE2.js} +156 -156
  246. package/dist/{reply-prefix-BttpF8VB.js → reply-prefix-aBvAQX6L.js} +1 -1
  247. package/dist/{resolve-route-Ck23oGqS.js → resolve-route-R565qQgt.js} +2 -2
  248. package/dist/{rpc-9jE_1PW0.js → rpc-CMyUzpcT.js} +1 -1
  249. package/dist/{run-main-BoenTqTz.js → run-main-CFGtfsPd.js} +3 -3
  250. package/dist/{runtime-Rd7ooKB0.js → runtime-D64ACWoX.js} +2 -2
  251. package/dist/{sandbox-BKa5RrBl.js → sandbox-DH9YtUfB.js} +18 -18
  252. package/dist/{sandbox-cli-BnpEc205.js → sandbox-cli-B1ThXy7C.js} +26 -26
  253. package/dist/{secrets-cli-CIxUNZyC.js → secrets-cli-BEjJ3GP-.js} +10 -10
  254. package/dist/{security-cli-BqOOeGxS.js → security-cli-Zma5k5BZ.js} +43 -43
  255. package/dist/{send-DuNBSJln.js → send-BQVNhO4Q.js} +5 -5
  256. package/dist/{send-SZBhACLn.js → send-CFUSH9C-.js} +8 -8
  257. package/dist/{send-Cua2kS5v.js → send-CabiU1-J.js} +6 -6
  258. package/dist/{send-ByUfPpKj.js → send-DmVTXBWW.js} +11 -11
  259. package/dist/{send-BntubUtK.js → send-NexNe2Wh.js} +6 -6
  260. package/dist/{server-Ct0J5VXf.js → server-DQ7D-B-v.js} +19 -19
  261. package/dist/{server-context-DWxmyV-0.js → server-context-Cr-Y4i6P.js} +12 -12
  262. package/dist/{server-lifecycle-B7aXKxY3.js → server-lifecycle-BVnXIEfI.js} +2 -2
  263. package/dist/{server-middleware-CO1brrgv.js → server-middleware-zyvA9rl9.js} +1 -1
  264. package/dist/{server-node-events-nakjzVDn.js → server-node-events-oa4mOmsp.js} +76 -76
  265. package/dist/{service-DqxfCr8y.js → service-BcFhE63y.js} +15 -15
  266. package/dist/{session-FOGqE7bj.js → session-Dl3x3d75.js} +1 -1
  267. package/dist/{session-meta-C-ox3bdI.js → session-meta-C6MooccR.js} +1 -1
  268. package/dist/{sessions-BpuJ64B0.js → sessions-sIaYsUyX.js} +15 -15
  269. package/dist/{shared-CgFPGTLU.js → shared-DNcLp2mA.js} +3 -3
  270. package/dist/{shared-BmSv3K8N.js → shared-sFrejcA4.js} +1 -1
  271. package/dist/{skill-commands-COl0HE54.js → skill-commands-C2_BOuyl.js} +5 -5
  272. package/dist/{skill-scanner-CsmM5F4F.js → skill-scanner-DYkQAh0l.js} +6 -6
  273. package/dist/{skills-BeFcXCoN.js → skills-BXLKd7i5.js} +3 -3
  274. package/dist/{skills-cli-D3ZteX5N.js → skills-cli-DrN4v5_m.js} +5 -5
  275. package/dist/{skills-install-B_Vda3dM.js → skills-install-CSfh8nRm.js} +6 -6
  276. package/dist/{skills-status-BEq0_fOn.js → skills-status-C7Q6Ezbv.js} +1 -1
  277. package/dist/{status-CQYA6EJN.js → status-rMgdZcE5.js} +25 -25
  278. package/dist/{status.update-HwSPC5ZX.js → status.update-D4GfnNDI.js} +2 -2
  279. package/dist/{store-B-nkOSsv.js → store-CRcBie8T.js} +5 -5
  280. package/dist/{system-cli-IYwpBiC6.js → system-cli-Bscj57lL.js} +9 -9
  281. package/dist/{system-run-command-C3OIMtEu.js → system-run-command-Cn5yQ2rv.js} +1 -1
  282. package/dist/{systemd-DJ5Red-Q.js → systemd-BIfjzi-4.js} +9 -9
  283. package/dist/{systemd-hints-D40Qx3hg.js → systemd-hints-CgtHwBfD.js} +6 -6
  284. package/dist/{systemd-linger-BK6kig-o.js → systemd-linger-0Vho6LMt.js} +1 -1
  285. package/dist/{tables-C9_oCtRN.js → tables-C5n2nXbu.js} +1 -1
  286. package/dist/{tailnet-BYBKD8Kh.js → tailnet-C8NwaQEp.js} +1 -1
  287. package/dist/{plugin-sdk/target-errors-QZay02Cv.js → target-errors-cerGxvCB.js} +4 -4
  288. package/dist/{tool-images-QWbHWc0F.js → tool-images-CgSADinH.js} +1 -1
  289. package/dist/{tui-Dd6DhgjX.js → tui-DNT0WnU-.js} +6 -6
  290. package/dist/{tui-cli-C3PCazFC.js → tui-cli-DTFq2wGK.js} +33 -33
  291. package/dist/{update-B1Dhhu_3.js → update-Mb6BH0o9.js} +3 -3
  292. package/dist/{update-cli-CuKW0N9W.js → update-cli--qEz2_Eg.js} +105 -105
  293. package/dist/{update-cli-D1B0Vytl.js → update-cli-Dbb1EPi2.js} +5 -5
  294. package/dist/{update-runner-DO6RodZW.js → update-runner-Dj_CAfd4.js} +16 -16
  295. package/dist/web-BQRkxG9u.js +126 -0
  296. package/dist/{web-V1uGLepo.js → web-CDHXvGxm.js} +6 -6
  297. package/dist/{webhooks-cli-BFdw7BAP.js → webhooks-cli-uXE9EOwT.js} +6 -6
  298. package/dist/{whatsapp-actions-CNoiLzRB.js → whatsapp-actions-DeX4x9sq.js} +19 -19
  299. package/dist/{with-timeout-tSH4Tex_.js → with-timeout-C-EETHnf.js} +3 -3
  300. package/dist/{workspace-dKMB109Q.js → workspace-1nc7aTpg.js} +1 -1
  301. package/dist/{workspace-CRdln__H.js → workspace-TersEUYu.js} +23 -23
  302. package/dist/{workspace-dirs-DcAUEsSG.js → workspace-dirs-DxTFH1r3.js} +1 -1
  303. package/dist/{ws-DKbBt0us.js → ws-E9v842O2.js} +2 -2
  304. package/dist/{wsl-yjQQ-PJd.js → wsl-Dg6XQcw5.js} +2 -2
  305. package/package.json +1 -1
  306. package/dist/plugin-sdk/web-jmxdxo0H.js +0 -72
  307. package/dist/register.configure-BZLa_c3k.js +0 -174
  308. package/dist/web-DbdjX4Hg.js +0 -126
@@ -3,13 +3,13 @@ import { g as resolveStateDir, r as STATE_DIR, u as resolveGatewayPort, y as res
3
3
  import { E as normalizeLogLevel, R as FLAG_TERMINATOR, a as logVerbose, c as shouldLogVerbose, k as resolvePreferredOpenClawTmpDir, m as getChildLogger, p as theme, t as danger, u as warn, z as consumeRootOptionToken } from "./globals-uLeGcRW1.js";
4
4
  import { C as sleep$1, D as isPlainObject, E as truncateUtf16Safe, S as shortenHomePath, d as isRecord$1, i as clampInt, l as escapeRegExp, m as normalizeE164, t as CONFIG_DIR, w as sliceUtf16Safe, x as shortenHomeInString, y as resolveUserPath } from "./utils-CP51tiAi.js";
5
5
  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, u as resolveResponseUsageMode } from "./thinking-44rmAw5o.js";
6
- import { _ as resolveAgentModelPrimaryValue, a as resolveAgentDir, d as resolveDefaultAgentId, f as resolveEffectiveModelFallbacks, g as resolveAgentModelFallbackValues, h as resolveSessionAgentIds, i as resolveAgentConfig, l as resolveAgentSkillsFilter, m as resolveSessionAgentId, p as resolveRunModelFallbacksOverride, r as listAgentIds, t as hasConfiguredModelFallbacks, u as resolveAgentWorkspaceDir, v as toAgentModelListLike } from "./agent-scope-CiBV1K6b.js";
6
+ import { _ as resolveAgentModelPrimaryValue, a as resolveAgentDir, d as resolveDefaultAgentId, f as resolveEffectiveModelFallbacks, g as resolveAgentModelFallbackValues, h as resolveSessionAgentIds, i as resolveAgentConfig, l as resolveAgentSkillsFilter, m as resolveSessionAgentId, p as resolveRunModelFallbacksOverride, r as listAgentIds, t as hasConfiguredModelFallbacks, u as resolveAgentWorkspaceDir, v as toAgentModelListLike } from "./agent-scope-DHMu2mab.js";
7
7
  import { d as defaultRuntime, t as createSubsystemLogger, u as createNonExitingRuntime } from "./subsystem-BT74-yyS.js";
8
8
  import { C as isCronSessionKey, E as resolveThreadParentSessionKey, S as isCronRunSessionKey, T as parseAgentSessionKey, _ as normalizeOptionalAccountId, b as getSubagentDepth, c as normalizeAgentId, d as resolveThreadSessionKeys, f as sanitizeAgentId, g as normalizeAccountId$2, h as DEFAULT_ACCOUNT_ID, l as normalizeMainKey, o as classifySessionKeyShape, r as buildAgentMainSessionKey, s as isValidAgentId, t as DEFAULT_AGENT_ID, u as resolveAgentIdFromSessionKey, v as isBlockedObjectKey, w as isSubagentSessionKey, x as isAcpSessionKey, y as deriveSessionChatType } from "./session-key-C9z4VQtw.js";
9
- import { C as openBoundaryFileSync, N as normalizeWindowsPathForComparison, S as openBoundaryFile, a as DEFAULT_IDENTITY_FILENAME, d as ensureAgentWorkspace, f as filterBootstrapFilesForSession, g as resolveWorkspaceAttachmentsRoot, m as loadWorkspaceBootstrapFiles, n as DEFAULT_AGENT_WORKSPACE_DIR, r as DEFAULT_BOOTSTRAP_FILENAME, y as resolveOpenClawPackageRoot } from "./workspace-CRdln__H.js";
9
+ import { C as openBoundaryFileSync, N as normalizeWindowsPathForComparison, S as openBoundaryFile, a as DEFAULT_IDENTITY_FILENAME, d as ensureAgentWorkspace, f as filterBootstrapFilesForSession, g as resolveWorkspaceAttachmentsRoot, m as loadWorkspaceBootstrapFiles, n as DEFAULT_AGENT_WORKSPACE_DIR, r as DEFAULT_BOOTSTRAP_FILENAME, y as resolveOpenClawPackageRoot } from "./workspace-TersEUYu.js";
10
10
  import { i as logWarn, n as logError, r as logInfo, t as logDebug } from "./logger-D04dg4Ex.js";
11
11
  import { n as runExec, r as spawnWithFallback, t as runCommandWithTimeout } from "./exec-BdDcFm8M.js";
12
- import { $ as getCustomProviderApiKey, $r as resolveOwnerDisplaySetting, $t as TELEGRAM_COMMAND_NAME_PATTERN, Bn as isWorkspaceRelativeAvatarPath, Br as resolveSlackStreamingMode, Fn as isAvatarDataUrl, Gn as getConfigOverrides, Gr as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, Hn as resolveAvatarMime, In as isAvatarHttpUrl, J as buildAssistantMessage, Jn as unsetConfigOverride, Jt as resolveConfigSnapshotHash, K as OLLAMA_NATIVE_BASE_URL, Kn as resetConfigOverrides, Kr as resolveAgentMaxConcurrent, Kt as readConfigFileSnapshot, Lr as mapStreamingModeToSlackLegacyDraftStreamMode, Mi as DEFAULT_CONTEXT_TOKENS, Ni as DEFAULT_MODEL, Pi as DEFAULT_PROVIDER, Pn as AVATAR_MAX_BYTES, Q as getApiKeyForModel, Qn as unsetConfigValueAtPath, Rn as isPathWithinRoot, Rr as resolveDiscordPreviewStreamMode, S as resolveThinkingDefault, Ti as normalizeSecretInput, Un as validateJsonSchemaValue, Wt as loadConfig, X as buildStreamErrorAssistantMessage, Xn as parseConfigPath, Xr as resolveShellEnvFallbackTimeoutMs, Xt as writeConfigFile, Y as buildAssistantMessageWithZeroUsage, Yn as getConfigValueAtPath, Yr as getShellPathFromLoginShell, Z as buildUsageWithNoCost, Zn as setConfigValueAtPath, Zt as validateConfigObjectWithPlugins, _i as withFileLock, _n as parseDurationMs, _t as markAuthProfileFailure, an as resolveIMessageAttachmentRoots, bt as resolveProfilesUnavailableReason, c as modelKey, ci as ensureAuthProfileStore, cn as parseNonNegativeByteSize, d as normalizeProviderId, en as normalizeTelegramCommandName, et as requireApiKey, f as parseModelRef, g as resolveDefaultModelForAgent, gi as resolveOpenClawAgentDir, gt as isProfileInCooldown, h as resolveConfiguredModelRef, hi as resolveAuthStorePathForDisplay, ht as getSoonestCooldownExpiry, i as findNormalizedProviderValue, it as resolveModelAuthMode, ji as splitTrailingAuthProfile, jr as applyMergePatch, l as normalizeModelRef$2, mt as resolveAuthProfileOrder, n as buildConfiguredAllowlistKeys, ni as listProfilesForProvider, o as inferUniqueProviderFromConfiguredModels, on as resolveIMessageRemoteAttachmentRoots, or as buildEnforcedShellCommand, q as createOllamaStreamFn, qn as setConfigOverride, r as buildModelAliasIndex, ri as markAuthProfileGood, rn as isInboundPathAllowed, rt as resolveEnvApiKey, s as isCliProvider, sn as normalizeScpRemoteHost, t as buildAllowedModelSet, ti as dedupeProfileIds, tn as resolveTelegramCustomCommands, tt as resolveApiKeyForProvider, v as resolveModelRefFromString, vt as markAuthProfileUsed, x as resolveSubagentSpawnModelSelection, xi as resolveAuthProfileDisplayLabel, xt as resolveApiKeyForProfile, y as resolveReasoningDefault, zn as isSupportedLocalAvatarExtension, zr as resolveSlackNativeStreaming } from "./model-selection-xdfZxwgB.js";
12
+ import { $ as getCustomProviderApiKey, $r as resolveOwnerDisplaySetting, $t as TELEGRAM_COMMAND_NAME_PATTERN, Bn as isWorkspaceRelativeAvatarPath, Br as resolveSlackStreamingMode, Fn as isAvatarDataUrl, Gn as getConfigOverrides, Gr as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, Hn as resolveAvatarMime, In as isAvatarHttpUrl, J as buildAssistantMessage, Jn as unsetConfigOverride, Jt as resolveConfigSnapshotHash, K as OLLAMA_NATIVE_BASE_URL, Kn as resetConfigOverrides, Kr as resolveAgentMaxConcurrent, Kt as readConfigFileSnapshot, Lr as mapStreamingModeToSlackLegacyDraftStreamMode, Mi as DEFAULT_CONTEXT_TOKENS, Ni as DEFAULT_MODEL, Pi as DEFAULT_PROVIDER, Pn as AVATAR_MAX_BYTES, Q as getApiKeyForModel, Qn as unsetConfigValueAtPath, Rn as isPathWithinRoot, Rr as resolveDiscordPreviewStreamMode, S as resolveThinkingDefault, Ti as normalizeSecretInput, Un as validateJsonSchemaValue, Wt as loadConfig, X as buildStreamErrorAssistantMessage, Xn as parseConfigPath, Xr as resolveShellEnvFallbackTimeoutMs, Xt as writeConfigFile, Y as buildAssistantMessageWithZeroUsage, Yn as getConfigValueAtPath, Yr as getShellPathFromLoginShell, Z as buildUsageWithNoCost, Zn as setConfigValueAtPath, Zt as validateConfigObjectWithPlugins, _i as withFileLock, _n as parseDurationMs, _t as markAuthProfileFailure, an as resolveIMessageAttachmentRoots, bt as resolveProfilesUnavailableReason, c as modelKey, ci as ensureAuthProfileStore, cn as parseNonNegativeByteSize, d as normalizeProviderId, en as normalizeTelegramCommandName, et as requireApiKey, f as parseModelRef, g as resolveDefaultModelForAgent, gi as resolveOpenClawAgentDir, gt as isProfileInCooldown, h as resolveConfiguredModelRef, hi as resolveAuthStorePathForDisplay, ht as getSoonestCooldownExpiry, i as findNormalizedProviderValue, it as resolveModelAuthMode, ji as splitTrailingAuthProfile, jr as applyMergePatch, l as normalizeModelRef$2, mt as resolveAuthProfileOrder, n as buildConfiguredAllowlistKeys, ni as listProfilesForProvider, o as inferUniqueProviderFromConfiguredModels, on as resolveIMessageRemoteAttachmentRoots, or as buildEnforcedShellCommand, q as createOllamaStreamFn, qn as setConfigOverride, r as buildModelAliasIndex, ri as markAuthProfileGood, rn as isInboundPathAllowed, rt as resolveEnvApiKey, s as isCliProvider, sn as normalizeScpRemoteHost, t as buildAllowedModelSet, ti as dedupeProfileIds, tn as resolveTelegramCustomCommands, tt as resolveApiKeyForProvider, v as resolveModelRefFromString, vt as markAuthProfileUsed, x as resolveSubagentSpawnModelSelection, xi as resolveAuthProfileDisplayLabel, xt as resolveApiKeyForProfile, y as resolveReasoningDefault, zn as isSupportedLocalAvatarExtension, zr as resolveSlackNativeStreaming } from "./model-selection-DCo8MhsE.js";
13
13
  import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-CVsUoC9m.js";
14
14
  import { t as formatCliCommand } from "./command-format-DBmYTAza.js";
15
15
  import { t as parseBooleanValue$1 } from "./boolean-BgXe2hyu.js";
@@ -17,105 +17,105 @@ import { t as isTruthyEnvValue } from "./env-4r1Vlroz.js";
17
17
  import { n as isDangerousHostEnvVarName } from "./host-env-security-BiAcoumI.js";
18
18
  import { r as VERSION } from "./env-vars-DM119fhK.js";
19
19
  import { E as triggerInternalHook, S as matchPluginCommand, _ as normalizePluginHttpPath, b as getPluginCommandSpecs, c as normalizeChannelId$1, d as getActivePluginRegistryKey, g as createPluginRegistry, m as setActivePluginRegistry, n as CHAT_CHANNEL_ORDER, p as requireActivePluginRegistry, s as normalizeAnyChannelId, u as getActivePluginRegistry, v as clearPluginCommands, w as createInternalHookEvent, x as listPluginCommands, y as executePluginCommand } from "./registry-CUyWRciN.js";
20
- import { a as safeStatSync, d as normalizePluginsConfig, f as resolveEffectiveEnableState, i as isPathInside, l as applyTestPluginDefaults, n as loadPluginManifestRegistry, p as resolveMemorySlotDecision, r as discoverOpenClawPlugins } from "./manifest-registry-B_U2pKBU.js";
21
- import { a as resolveChannelGroupRequireMention, c as normalizeHyphenSlug, i as resolveChannelGroupPolicy, l as normalizeStringEntries, n as listChannelDocks, r as normalizeSignalMessagingTarget, s as normalizeAtHashSlug, t as getChannelDock, u as normalizeStringEntriesLower } from "./dock-BXksV3sC.js";
20
+ import { a as safeStatSync, d as normalizePluginsConfig, f as resolveEffectiveEnableState, i as isPathInside, l as applyTestPluginDefaults, n as loadPluginManifestRegistry, p as resolveMemorySlotDecision, r as discoverOpenClawPlugins } from "./manifest-registry-HNrtHxxI.js";
21
+ import { a as resolveChannelGroupRequireMention, c as normalizeHyphenSlug, i as resolveChannelGroupPolicy, l as normalizeStringEntries, n as listChannelDocks, r as normalizeSignalMessagingTarget, s as normalizeAtHashSlug, t as getChannelDock, u as normalizeStringEntriesLower } from "./dock-swzevZbj.js";
22
22
  import { t as runTasksWithConcurrency } from "./run-with-concurrency-C3sn1gEK.js";
23
23
  import { a as isInternalMessageChannel, c as listDeliverableMessageChannels, d as resolveMessageChannel, h as GATEWAY_CLIENT_NAMES, i as isGatewayMessageChannel, l as normalizeMessageChannel, m as GATEWAY_CLIENT_MODES, n as isDeliverableMessageChannel, o as isMarkdownCapableMessageChannel, p as GATEWAY_CLIENT_IDS, t as INTERNAL_MESSAGE_CHANNEL, u as resolveGatewayMessageChannel } from "./message-channel-CKAn7Lf7.js";
24
- import { $ as fetchChannelPermissionsDiscord, A as unpinMessageDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as resolveTimestampMs, D as pinMessageDiscord, Dt as normalizeChannelSlug, E as listThreadsDiscord, Et as buildChannelKeyCandidates, F as fetchMemberInfoDiscord, G as uploadStickerDiscord, H as timeoutMemberDiscord, I as fetchRoleInfoDiscord, J as editChannelDiscord, K as createChannelDiscord, L as fetchVoiceStatusDiscord, M as banMemberDiscord, N as createScheduledEventDiscord, O as readMessagesDiscord, Ot as resolveChannelEntryMatchWithFallback, P as fetchChannelInfoDiscord, Q as stripUndefinedFields, R as kickMemberDiscord, S as deleteMessageDiscord, St as resolveDiscordSystemLocation, T as listPinsDiscord, Tt as applyChannelMatchMeta, U as listGuildEmojisDiscord, V as removeRoleDiscord, W as uploadEmojiDiscord, X as removeChannelPermissionDiscord, Y as moveChannelDiscord, Z as setChannelPermissionDiscord, _ as sendPollDiscord, _t as resolveDiscordShouldRequireMention, a as removeReactionDiscord, at as resolveDiscordChannelId, b as sendWebhookMessageDiscord, bt as formatDiscordReactionEmoji, c as formatDiscordComponentEventText, ct as isDiscordGroupAllowedByPolicy, d as parseDiscordModalCustomId, dt as resolveDiscordAllowListMatch, et as hasAnyGuildPermissionDiscord, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordChannelConfigWithFallback, g as sendMessageDiscord, gt as resolveDiscordOwnerAllowFrom, h as resolveDiscordModalEntry, ht as resolveDiscordOwnerAccess, i as removeOwnReactionsDiscord, it as parseDiscordTarget, j as addRoleDiscord, k as searchMessagesDiscord, l as parseDiscordComponentCustomId, lt as normalizeDiscordAllowList, m as resolveDiscordComponentEntry, mt as resolveDiscordMemberAccessState, n as fetchReactionsDiscord, nt as createDiscordRestClient, o as sendDiscordComponentMessage, ot as listDiscordDirectoryGroupsLive, p as readDiscordComponentSpec, pt as resolveDiscordGuildEntry, q as deleteChannelDiscord, r as reactMessageDiscord, rt as chunkDiscordTextWithMode, s as createDiscordFormModal, st as listDiscordDirectoryPeersLive, tt as createDiscordClient, u as parseDiscordComponentCustomIdForCarbon, ut as normalizeDiscordSlug, v as sendStickerDiscord, vt as resolveGroupDmAllow, w as fetchMessageDiscord, wt as fetchDiscord, x as createThreadDiscord, xt as formatDiscordUserTag, y as sendVoiceMessageDiscord, yt as shouldEmitDiscordReactionNotification, z as listGuildChannelsDiscord } from "./send-ByUfPpKj.js";
24
+ import { $ as fetchChannelPermissionsDiscord, A as unpinMessageDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as resolveTimestampMs, D as pinMessageDiscord, Dt as normalizeChannelSlug, E as listThreadsDiscord, Et as buildChannelKeyCandidates, F as fetchMemberInfoDiscord, G as uploadStickerDiscord, H as timeoutMemberDiscord, I as fetchRoleInfoDiscord, J as editChannelDiscord, K as createChannelDiscord, L as fetchVoiceStatusDiscord, M as banMemberDiscord, N as createScheduledEventDiscord, O as readMessagesDiscord, Ot as resolveChannelEntryMatchWithFallback, P as fetchChannelInfoDiscord, Q as stripUndefinedFields, R as kickMemberDiscord, S as deleteMessageDiscord, St as resolveDiscordSystemLocation, T as listPinsDiscord, Tt as applyChannelMatchMeta, U as listGuildEmojisDiscord, V as removeRoleDiscord, W as uploadEmojiDiscord, X as removeChannelPermissionDiscord, Y as moveChannelDiscord, Z as setChannelPermissionDiscord, _ as sendPollDiscord, _t as resolveDiscordShouldRequireMention, a as removeReactionDiscord, at as resolveDiscordChannelId, b as sendWebhookMessageDiscord, bt as formatDiscordReactionEmoji, c as formatDiscordComponentEventText, ct as isDiscordGroupAllowedByPolicy, d as parseDiscordModalCustomId, dt as resolveDiscordAllowListMatch, et as hasAnyGuildPermissionDiscord, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordChannelConfigWithFallback, g as sendMessageDiscord, gt as resolveDiscordOwnerAllowFrom, h as resolveDiscordModalEntry, ht as resolveDiscordOwnerAccess, i as removeOwnReactionsDiscord, it as parseDiscordTarget, j as addRoleDiscord, k as searchMessagesDiscord, l as parseDiscordComponentCustomId, lt as normalizeDiscordAllowList, m as resolveDiscordComponentEntry, mt as resolveDiscordMemberAccessState, n as fetchReactionsDiscord, nt as createDiscordRestClient, o as sendDiscordComponentMessage, ot as listDiscordDirectoryGroupsLive, p as readDiscordComponentSpec, pt as resolveDiscordGuildEntry, q as deleteChannelDiscord, r as reactMessageDiscord, rt as chunkDiscordTextWithMode, s as createDiscordFormModal, st as listDiscordDirectoryPeersLive, tt as createDiscordClient, u as parseDiscordComponentCustomIdForCarbon, ut as normalizeDiscordSlug, v as sendStickerDiscord, vt as resolveGroupDmAllow, w as fetchMessageDiscord, wt as fetchDiscord, x as createThreadDiscord, xt as formatDiscordUserTag, y as sendVoiceMessageDiscord, yt as shouldEmitDiscordReactionNotification, z as listGuildChannelsDiscord } from "./send-DmVTXBWW.js";
25
25
  import { t as normalizeChatType } from "./chat-type-B2TfTsnW.js";
26
26
  import { n as resolveConversationLabel } from "./conversation-label-CAfD5Gwq.js";
27
27
  import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-B0nyx07V.js";
28
- import { _ as CLI_OUTPUT_MAX_BUFFER, a as resolveAutoImageModel, c as buildRandomTempFilePath, f as resolveAttachmentKind, g as resolveMediaUnderstandingScope, h as normalizeMediaUnderstandingChatType, i as normalizeMediaAttachments, m as resolveTimeoutMs$1, n as buildProviderRegistry, o as resolveMediaAttachmentLocalRoots, p as resolveConcurrency, r as createMediaAttachmentCache, s as runCapability, t as runAudioTranscription, u as registerUnhandledRejectionHandler, v as applyTemplate } from "./audio-transcription-runner-CF_UP4C7.js";
29
- import { S as minimaxUnderstandImage, _ as stripThinkingTagsFromText, a as decodeDataUrl, b as isInsideCode, c as extractAssistantThinking, d as formatReasoningMessage, f as inferToolMetaFromArgs, g as stripMinimaxToolCallXml, h as stripDowngradedToolCallText, i as coerceImageModelConfig, l as extractThinkingFromTaggedStream, m as promoteThinkingTagsToBlocks, o as resolveProviderVisionModelFromConfig, p as isAssistantMessage, r as coerceImageAssistantText, s as extractAssistantText$1, u as extractThinkingFromTaggedText, v as stripReasoningTagsFromText, x as extractTextFromChatContent, y as findCodeRegions } from "./image-B270IRGo.js";
30
- import { t as ensureOpenClawModelsJson } from "./models-config-Do1Ur_ov.js";
31
- import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-DVhDvAnA.js";
32
- import { A as isRawApiErrorPayload, B as sanitizeGoogleTurnOrdering, C as isCloudCodeAssistFormatError, D as isFailoverErrorMessage, E as isFailoverAssistantError, F as sanitizeUserFacingText, I as buildBootstrapContextFiles, L as ensureSessionHeader, M as isTransientHttpError, N as parseImageDimensionError, O as isLikelyContextOverflowError, P as parseImageSizeError, R as resolveBootstrapMaxChars, S as isBillingAssistantError, T as isContextOverflowError, _ as formatBillingErrorMessage, a as isMessagingToolDuplicateNormalized, b as isAuthAssistantError, c as extractToolCallsFromAssistant, d as downgradeOpenAIFunctionCallReasoningPairs, f as downgradeOpenAIReasoningBlocks, g as formatAssistantErrorText, h as classifyFailoverReason, j as isTimeoutErrorMessage, k as isRateLimitAssistantError, l as extractToolResultId, m as BILLING_ERROR_USER_MESSAGE, n as validateGeminiTurns, o as normalizeTextForComparison, p as isGoogleModelApi, r as pickFallbackThinkingLevel, s as sanitizeSessionMessagesImages, t as validateAnthropicTurns, u as sanitizeToolCallIdsForCloudCodeAssist, v as formatRawAssistantErrorForUi, w as isCompactionFailureError, x as isAuthPermanentErrorMessage, y as getApiErrorPayloadFingerprint, z as resolveBootstrapTotalMaxChars } from "./pi-embedded-helpers-ZTn-T7tW.js";
33
- import { C as resolveToolProfilePolicy, S as normalizeToolName, T as matchesAnyGlobPattern, _ as collectExplicitAllowlist, a as ensureSandboxWorkspaceForSession, b as stripPluginOnlyAllowlist, c as resolveSandboxRuntimeStatus, d as getBridgeAuthForPort, f as resolveSandboxConfigForAgent, g as buildPluginToolGroups, h as applyOwnerOnlyToolPolicy, o as resolveSandboxContext, v as expandPolicyWithPluginGroups, w as compileGlobPatterns, y as mergeAlsoAllowPolicy } from "./sandbox-BKa5RrBl.js";
34
- import { j as DEFAULT_AI_SNAPSHOT_MAX_CHARS } from "./chrome-DzGCPEQK.js";
35
- import { i as isLoopbackHost } from "./ws-DKbBt0us.js";
28
+ import { _ as CLI_OUTPUT_MAX_BUFFER, a as resolveAutoImageModel, c as buildRandomTempFilePath, f as resolveAttachmentKind, g as resolveMediaUnderstandingScope, h as normalizeMediaUnderstandingChatType, i as normalizeMediaAttachments, m as resolveTimeoutMs$1, n as buildProviderRegistry, o as resolveMediaAttachmentLocalRoots, p as resolveConcurrency, r as createMediaAttachmentCache, s as runCapability, t as runAudioTranscription, u as registerUnhandledRejectionHandler, v as applyTemplate } from "./audio-transcription-runner-Dv-MCA8E.js";
29
+ import { S as minimaxUnderstandImage, _ as stripThinkingTagsFromText, a as decodeDataUrl, b as isInsideCode, c as extractAssistantThinking, d as formatReasoningMessage, f as inferToolMetaFromArgs, g as stripMinimaxToolCallXml, h as stripDowngradedToolCallText, i as coerceImageModelConfig, l as extractThinkingFromTaggedStream, m as promoteThinkingTagsToBlocks, o as resolveProviderVisionModelFromConfig, p as isAssistantMessage, r as coerceImageAssistantText, s as extractAssistantText$1, u as extractThinkingFromTaggedText, v as stripReasoningTagsFromText, x as extractTextFromChatContent, y as findCodeRegions } from "./image-BzR2twGI.js";
30
+ import { t as ensureOpenClawModelsJson } from "./models-config-Bgpjcu8R.js";
31
+ import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-BSytrsu4.js";
32
+ import { A as isRawApiErrorPayload, B as sanitizeGoogleTurnOrdering, C as isCloudCodeAssistFormatError, D as isFailoverErrorMessage, E as isFailoverAssistantError, F as sanitizeUserFacingText, I as buildBootstrapContextFiles, L as ensureSessionHeader, M as isTransientHttpError, N as parseImageDimensionError, O as isLikelyContextOverflowError, P as parseImageSizeError, R as resolveBootstrapMaxChars, S as isBillingAssistantError, T as isContextOverflowError, _ as formatBillingErrorMessage, a as isMessagingToolDuplicateNormalized, b as isAuthAssistantError, c as extractToolCallsFromAssistant, d as downgradeOpenAIFunctionCallReasoningPairs, f as downgradeOpenAIReasoningBlocks, g as formatAssistantErrorText, h as classifyFailoverReason, j as isTimeoutErrorMessage, k as isRateLimitAssistantError, l as extractToolResultId, m as BILLING_ERROR_USER_MESSAGE, n as validateGeminiTurns, o as normalizeTextForComparison, p as isGoogleModelApi, r as pickFallbackThinkingLevel, s as sanitizeSessionMessagesImages, t as validateAnthropicTurns, u as sanitizeToolCallIdsForCloudCodeAssist, v as formatRawAssistantErrorForUi, w as isCompactionFailureError, x as isAuthPermanentErrorMessage, y as getApiErrorPayloadFingerprint, z as resolveBootstrapTotalMaxChars } from "./pi-embedded-helpers-D3nc5XJW.js";
33
+ import { C as resolveToolProfilePolicy, S as normalizeToolName, T as matchesAnyGlobPattern, _ as collectExplicitAllowlist, a as ensureSandboxWorkspaceForSession, b as stripPluginOnlyAllowlist, c as resolveSandboxRuntimeStatus, d as getBridgeAuthForPort, f as resolveSandboxConfigForAgent, g as buildPluginToolGroups, h as applyOwnerOnlyToolPolicy, o as resolveSandboxContext, v as expandPolicyWithPluginGroups, w as compileGlobPatterns, y as mergeAlsoAllowPolicy } from "./sandbox-DH9YtUfB.js";
34
+ import { j as DEFAULT_AI_SNAPSHOT_MAX_CHARS } from "./chrome-2gfHr1cU.js";
35
+ import { i as isLoopbackHost } from "./ws-E9v842O2.js";
36
36
  import { r as trimToUndefined, t as resolveGatewayCredentialsFromConfig } from "./credentials-PRol0Tvd.js";
37
- import { c as resolveBrowserControlAuth, i as resolveBrowserConfig } from "./server-context-DWxmyV-0.js";
38
- import { a as resolveSkillsPromptForRun, d as resolveSandboxInputPath, h as applySkillEnvOverridesFromSnapshot, i as loadWorkspaceSkillEntries, l as assertMediaNotDataUrl, m as applySkillEnvOverrides, p as resolveSandboxedMediaSource, r as buildWorkspaceSkillSnapshot, u as assertSandboxPath } from "./skills-BeFcXCoN.js";
39
- import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-DWh6tSaP.js";
40
- import { i as resolveExistingPathsWithinRoot, r as DEFAULT_UPLOAD_DIR } from "./paths-AxolTUEH.js";
37
+ import { c as resolveBrowserControlAuth, i as resolveBrowserConfig } from "./server-context-Cr-Y4i6P.js";
38
+ import { a as resolveSkillsPromptForRun, d as resolveSandboxInputPath, h as applySkillEnvOverridesFromSnapshot, i as loadWorkspaceSkillEntries, l as assertMediaNotDataUrl, m as applySkillEnvOverrides, p as resolveSandboxedMediaSource, r as buildWorkspaceSkillSnapshot, u as assertSandboxPath } from "./skills-BXLKd7i5.js";
39
+ import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-BNzjbOwM.js";
40
+ import { i as resolveExistingPathsWithinRoot, r as DEFAULT_UPLOAD_DIR } from "./paths-BZfURxkW.js";
41
41
  import { a as testRegexWithBoundedInput, i as compileSafeRegex, n as redactSensitiveText } from "./redact-Bf_pxORb.js";
42
42
  import { i as formatUncaughtError, r as formatErrorMessage, s as readErrorName } from "./errors-D5pCqwf4.js";
43
- import { i as openFileWithinRoot, l as writeFileWithinRoot, n as copyFileWithinRoot, o as readFileWithinRoot, r as createRootScopedReadFile, t as SafeOpenError } from "./fs-safe-p5lyYI__.js";
44
- import { a as isBlockedHostnameOrIp, c as normalizeHostname, n as SsrFBlockedError } from "./proxy-env-ClbXa7vn.js";
45
- import { c as detectMime, d as imageMimeFromFormat, f as isAudioFileName, g as MAX_IMAGE_BYTES, i as getImageMetadata, l as extensionForMime, m as kindFromMime, p as isGifMedia, s as resizeToJpeg, v as mediaKindFromMime } from "./image-ops-BAMcbVMS.js";
46
- import { i as saveMediaBuffer, r as getMediaDir, t as MEDIA_MAX_BYTES } from "./store-B-nkOSsv.js";
47
- import { s as resolveLsofCommandSync } from "./ports-DppAHKM-.js";
43
+ import { i as openFileWithinRoot, l as writeFileWithinRoot, n as copyFileWithinRoot, o as readFileWithinRoot, r as createRootScopedReadFile, t as SafeOpenError } from "./fs-safe-BGAE6eOQ.js";
44
+ import { a as isBlockedHostnameOrIp, c as normalizeHostname, n as SsrFBlockedError } from "./proxy-env-DhFUQlwP.js";
45
+ import { c as detectMime, d as imageMimeFromFormat, f as isAudioFileName, g as MAX_IMAGE_BYTES, i as getImageMetadata, l as extensionForMime, m as kindFromMime, p as isGifMedia, s as resizeToJpeg, v as mediaKindFromMime } from "./image-ops-B6BeXmZU.js";
46
+ import { i as saveMediaBuffer, r as getMediaDir, t as MEDIA_MAX_BYTES } from "./store-CRcBie8T.js";
47
+ import { s as resolveLsofCommandSync } from "./ports-DXMCFRgn.js";
48
48
  import { n as generateSecureUuid, t as generateSecureToken } from "./secure-random-MmeD9IFa.js";
49
- import { r as writeJsonAtomic } from "./json-files-bJqSYqgg.js";
50
- import { $ as resolveMainSessionKey, B as resolveSessionKey, C as normalizeSessionDeliveryFields, D as capArrayByJsonBytes, E as archiveSessionTranscripts, F as parseInlineDirectives$1, G as resolveThreadFlag, H as resolveChannelResetConfig, J as resolveFreshSessionTotalTokens, K as DEFAULT_RESET_TRIGGERS, Q as resolveExplicitAgentSessionKey, R as jsonUtf8Bytes, S as normalizeDeliveryContext, U as resolveSessionResetPolicy, V as evaluateSessionFreshness, W as resolveSessionResetType, X as canonicalizeMainSessionAlias, Y as setSessionRuntimeModel, Z as resolveAgentMainSessionKey, _ as isCacheEnabled, a as resolveAndPersistSessionFile, at as buildGroupDisplayName, b as deliveryContextKey, c as recordSessionMetaFromInbound, d as updateSessionStore, f as updateSessionStoreEntry, j as readSessionTitleFieldsFromTranscript, lt as resolveSessionLockMaxHoldFromTimeout, n as parseSessionThreadInfo, o as loadSessionStore, ot as resolveGroupSessionKey, q as mergeSessionEntry, r as appendAssistantMessageToSessionTranscript, s as readSessionUpdatedAt, st as acquireSessionWriteLock, t as extractDeliveryInfo, tt as deriveSessionMetaPatch, u as updateLastRoute, v as resolveCacheTtlMs$1, w as normalizeAccountId$3, x as mergeDeliveryContext, y as deliveryContextFromSession } from "./sessions-BpuJ64B0.js";
49
+ import { r as writeJsonAtomic } from "./json-files-C7p5SEie.js";
50
+ import { $ as resolveMainSessionKey, B as resolveSessionKey, C as normalizeSessionDeliveryFields, D as capArrayByJsonBytes, E as archiveSessionTranscripts, F as parseInlineDirectives$1, G as resolveThreadFlag, H as resolveChannelResetConfig, J as resolveFreshSessionTotalTokens, K as DEFAULT_RESET_TRIGGERS, Q as resolveExplicitAgentSessionKey, R as jsonUtf8Bytes, S as normalizeDeliveryContext, U as resolveSessionResetPolicy, V as evaluateSessionFreshness, W as resolveSessionResetType, X as canonicalizeMainSessionAlias, Y as setSessionRuntimeModel, Z as resolveAgentMainSessionKey, _ as isCacheEnabled, a as resolveAndPersistSessionFile, at as buildGroupDisplayName, b as deliveryContextKey, c as recordSessionMetaFromInbound, d as updateSessionStore, f as updateSessionStoreEntry, j as readSessionTitleFieldsFromTranscript, lt as resolveSessionLockMaxHoldFromTimeout, n as parseSessionThreadInfo, o as loadSessionStore, ot as resolveGroupSessionKey, q as mergeSessionEntry, r as appendAssistantMessageToSessionTranscript, s as readSessionUpdatedAt, st as acquireSessionWriteLock, t as extractDeliveryInfo, tt as deriveSessionMetaPatch, u as updateLastRoute, v as resolveCacheTtlMs$1, w as normalizeAccountId$3, x as mergeDeliveryContext, y as deliveryContextFromSession } from "./sessions-sIaYsUyX.js";
51
51
  import { t as resolveAccountEntry } from "./account-lookup-wjQQchlq.js";
52
- import { C as resolveDiscordAccount, _ as isWhatsAppGroupJid, a as createTelegramActionGate, g as resolveSlackBotToken, h as resolveSlackAppToken, l as resolveTelegramAccount, m as resolveSlackReplyToMode, n as listChannelPlugins, o as listEnabledTelegramAccounts, p as resolveSlackAccount, r as normalizeChannelId$2, s as listTelegramAccountIds, t as getChannelPlugin, u as resolveTelegramToken, v as normalizeWhatsAppTarget, w as normalizeDiscordToken, x as listEnabledDiscordAccounts, y as createDiscordActionGate } from "./plugins-CKWxMohB.js";
53
- import { _ as webAuthExists, c as logWebSelfId, i as resolveWhatsAppAccount, l as logoutWeb, p as readWebSelfId, s as getWebAuthAgeMs } from "./accounts-D5DQlttG.js";
54
- import { r as resolveIMessageAccount } from "./accounts-DKvlV3Tm.js";
55
- import { i as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-jPPbCJns.js";
56
- import { t as buildChannelAccountBindings } from "./bindings-Ck6aotGf.js";
57
- import { a as parseSlackBlocksInput, c as createSlackWebClient, d as resolveSlackChannelId, i as normalizeSlackOutboundText, l as resolveSlackWebClientOptions, o as validateSlackBlocksArray, s as buildSlackBlocksFallbackText, t as sendMessageSlack, u as parseSlackTarget } from "./send-DuNBSJln.js";
52
+ import { C as resolveDiscordAccount, _ as isWhatsAppGroupJid, a as createTelegramActionGate, g as resolveSlackBotToken, h as resolveSlackAppToken, l as resolveTelegramAccount, m as resolveSlackReplyToMode, n as listChannelPlugins, o as listEnabledTelegramAccounts, p as resolveSlackAccount, r as normalizeChannelId$2, s as listTelegramAccountIds, t as getChannelPlugin, u as resolveTelegramToken, v as normalizeWhatsAppTarget, w as normalizeDiscordToken, x as listEnabledDiscordAccounts, y as createDiscordActionGate } from "./plugins-Ce8ThYGQ.js";
53
+ import { _ as webAuthExists, c as logWebSelfId, i as resolveWhatsAppAccount, l as logoutWeb, p as readWebSelfId, s as getWebAuthAgeMs } from "./accounts-CCbfXe4Y.js";
54
+ import { r as resolveIMessageAccount } from "./accounts-C3iwoWUS.js";
55
+ import { i as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-ChjgDDok.js";
56
+ import { t as buildChannelAccountBindings } from "./bindings-C0k4wFy7.js";
57
+ import { a as parseSlackBlocksInput, c as createSlackWebClient, d as resolveSlackChannelId, i as normalizeSlackOutboundText, l as resolveSlackWebClientOptions, o as validateSlackBlocksArray, s as buildSlackBlocksFallbackText, t as sendMessageSlack, u as parseSlackTarget } from "./send-BQVNhO4Q.js";
58
58
  import { c as resolveStorePath, i as resolveSessionTranscriptPath, n as resolveSessionFilePath, r as resolveSessionFilePathOptions, t as resolveDefaultSessionStorePath } from "./paths-BJLbJUqV.js";
59
59
  import { i as normalizeInputProvenance, n as applyInputProvenanceToUserMessage, r as hasInterSessionUserProvenance } from "./input-provenance-CrQfrobW.js";
60
60
  import { n as onSessionTranscriptUpdate, t as emitSessionTranscriptUpdate } from "./transcript-events-CVgytyRx.js";
61
- import { a as canonicalizeBase64, i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, o as estimateBase64DecodedBytes, r as sanitizeToolResultImages } from "./tool-images-QWbHWc0F.js";
61
+ import { a as canonicalizeBase64, i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, o as estimateBase64DecodedBytes, r as sanitizeToolResultImages } from "./tool-images-CgSADinH.js";
62
62
  import { n as formatToolSummary, r as resolveToolDisplay } from "./tool-display-BnVcCWLz.js";
63
63
  import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-DkT3EnRA.js";
64
- import { n as withStrictGuardedFetchMode, r as withTrustedEnvProxyGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-D6eclxeP.js";
65
- import { a as readResponseWithLimit, i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, r as MediaFetchError, t as getAgentScopedMediaLocalRoots } from "./local-roots-jW0nhxVT.js";
66
- import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-CjA5pRJF.js";
64
+ import { n as withStrictGuardedFetchMode, r as withTrustedEnvProxyGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-N12H9lEe.js";
65
+ import { a as readResponseWithLimit, i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, r as MediaFetchError, t as getAgentScopedMediaLocalRoots } from "./local-roots-Dcc5UeD8.js";
66
+ import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-DUHxH2xb.js";
67
67
  import { t as makeProxyFetch } from "./proxy-fetch-7LT9tml2.js";
68
68
  import { a as stripSilentToken, i as isSilentReplyText, n as SILENT_REPLY_TOKEN, r as isSilentReplyPrefixText, t as HEARTBEAT_TOKEN } from "./tokens-BK5VYCE_.js";
69
- import { A as initializeGlobalHookRunner, C as shouldSuppressReasoningPayload, D as normalizeChannelTargetInput, E as buildTargetResolverSignature, O as normalizeTargetForProvider, S as shouldSuppressMessagingToolReplies, T as resolveReplyToMode, _ as applyReplyTagsToPayload, a as normalizeOutboundPayloadsForJson, b as filterMessagingToolMediaDuplicates, c as parseReplyDirectives, d as toInternalMessagePreprocessedContext, f as toInternalMessageReceivedContext, g as fireAndForgetHook, h as toPluginMessageReceivedEvent, i as normalizeOutboundPayloads, k as getGlobalHookRunner, l as splitMediaFromOutput, m as toPluginMessageContext, o as normalizeReplyPayloadsForDelivery, p as toInternalMessageTranscribedContext, r as formatOutboundPayloadLog, s as throwIfAborted, t as deliverOutboundPayloads, u as deriveInboundMessageHookContext, v as applyReplyThreading, w as createReplyToModeFilterForChannel, x as isRenderablePayload, y as filterMessagingToolDuplicates } from "./deliver-Bn10XzRP.js";
70
- import { a as resolveNativeSkillsEnabled, i as resolveNativeCommandsEnabled, n as isNativeCommandsExplicitlyDisabled, r as isRestartEnabled, t as isCommandFlagEnabled } from "./commands-C6OLhl3n.js";
71
- import { a as listChatCommands, c as listNativeCommandSpecsForConfig, d as parseCommandArgs, f as resolveCommandArgChoices, h as shouldHandleTextCommands, i as isCommandEnabled, l as maybeResolveTextAlias, m as serializeCommandArgs, o as listChatCommandsForConfig, p as resolveCommandArgMenu, r as findCommandByNativeName, s as listNativeCommandSpecs, t as buildCommandTextFromArgs, u as normalizeCommandBody } from "./commands-registry-CVzTBX51.js";
72
- import { Ft as SESSION_LABEL_MAX_LENGTH, t as GatewayClient } from "./client-B91adiXh.js";
73
- import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege, t as buildGatewayConnectionDetails } from "./call-BGZQEHL4.js";
69
+ import { A as initializeGlobalHookRunner, C as shouldSuppressReasoningPayload, D as normalizeChannelTargetInput, E as buildTargetResolverSignature, O as normalizeTargetForProvider, S as shouldSuppressMessagingToolReplies, T as resolveReplyToMode, _ as applyReplyTagsToPayload, a as normalizeOutboundPayloadsForJson, b as filterMessagingToolMediaDuplicates, c as parseReplyDirectives, d as toInternalMessagePreprocessedContext, f as toInternalMessageReceivedContext, g as fireAndForgetHook, h as toPluginMessageReceivedEvent, i as normalizeOutboundPayloads, k as getGlobalHookRunner, l as splitMediaFromOutput, m as toPluginMessageContext, o as normalizeReplyPayloadsForDelivery, p as toInternalMessageTranscribedContext, r as formatOutboundPayloadLog, s as throwIfAborted, t as deliverOutboundPayloads, u as deriveInboundMessageHookContext, v as applyReplyThreading, w as createReplyToModeFilterForChannel, x as isRenderablePayload, y as filterMessagingToolDuplicates } from "./deliver-D4ugOkLr.js";
70
+ import { a as resolveNativeSkillsEnabled, i as resolveNativeCommandsEnabled, n as isNativeCommandsExplicitlyDisabled, r as isRestartEnabled, t as isCommandFlagEnabled } from "./commands-npgZubp3.js";
71
+ import { a as listChatCommands, c as listNativeCommandSpecsForConfig, d as parseCommandArgs, f as resolveCommandArgChoices, h as shouldHandleTextCommands, i as isCommandEnabled, l as maybeResolveTextAlias, m as serializeCommandArgs, o as listChatCommandsForConfig, p as resolveCommandArgMenu, r as findCommandByNativeName, s as listNativeCommandSpecs, t as buildCommandTextFromArgs, u as normalizeCommandBody } from "./commands-registry-B5jHbfUL.js";
72
+ import { Ft as SESSION_LABEL_MAX_LENGTH, t as GatewayClient } from "./client-BoUhzGrS.js";
73
+ import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege, t as buildGatewayConnectionDetails } from "./call-B9Vrcbed.js";
74
74
  import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-Ca92M4MR.js";
75
75
  import { n as retryAsync } from "./retry-AsJdJVsE.js";
76
76
  import { n as formatTimeAgo } from "./format-relative-BjGzUS9-.js";
77
- import { c as readJsonFileWithFallback, d as listPairingChannels, i as readChannelAllowFromStore, l as writeJsonFileAtomically, o as removeChannelAllowFromStoreEntry, s as upsertChannelPairingRequest, t as addChannelAllowFromStoreEntry } from "./pairing-store-DdZ0xMD7.js";
77
+ import { c as readJsonFileWithFallback, d as listPairingChannels, i as readChannelAllowFromStore, l as writeJsonFileAtomically, o as removeChannelAllowFromStoreEntry, s as upsertChannelPairingRequest, t as addChannelAllowFromStoreEntry } from "./pairing-store-DY0yrkuM.js";
78
78
  import { d as resolveExecApprovals, f as resolveExecApprovalsFromFile, i as maxAsk, l as recordAllowlistUse, n as addAllowlistEntry, o as minSecurity, u as requiresExecApproval } from "./exec-approvals-C23wqMXV.js";
79
- import { n as evaluateShellAllowlist, r as resolveAllowAlwaysPatterns } from "./exec-approvals-allowlist-CGVHz3PX.js";
80
- import { n as resolveExecSafeBinRuntimePolicy, r as resolveMergedSafeBinProfileFixtures } from "./exec-safe-bin-runtime-policy-D7olAQMf.js";
81
- import { C as mergePathPrepend, S as findPathKey, a as canvasSnapshotTempPath, b as buildNodeShellCommand, c as parseCameraClipPayload, d as writeCameraClipPayloadToFile, f as writeCameraPayloadToFile, i as parseEnvPairs, l as parseCameraSnapPayload, n as screenRecordTempPath, o as parseCanvasSnapshotPayload, p as parsePreparedSystemRunPayload, r as writeScreenRecordToFile, s as cameraTempPath, t as parseScreenRecordPayload, u as writeBase64ToFile, w as normalizePathPrepend, x as applyPathPrepend } from "./nodes-screen-Dptoharj.js";
79
+ import { n as evaluateShellAllowlist, r as resolveAllowAlwaysPatterns } from "./exec-approvals-allowlist-fG-NsL-O.js";
80
+ import { n as resolveExecSafeBinRuntimePolicy, r as resolveMergedSafeBinProfileFixtures } from "./exec-safe-bin-runtime-policy-B9kCrTY1.js";
81
+ import { C as mergePathPrepend, S as findPathKey, a as canvasSnapshotTempPath, b as buildNodeShellCommand, c as parseCameraClipPayload, d as writeCameraClipPayloadToFile, f as writeCameraPayloadToFile, i as parseEnvPairs, l as parseCameraSnapPayload, n as screenRecordTempPath, o as parseCanvasSnapshotPayload, p as parsePreparedSystemRunPayload, r as writeScreenRecordToFile, s as cameraTempPath, t as parseScreenRecordPayload, u as writeBase64ToFile, w as normalizePathPrepend, x as applyPathPrepend } from "./nodes-screen-FWjD2j3v.js";
82
82
  import { t as killProcessTree$1 } from "./kill-tree-CAkkF2X-.js";
83
- import { a as ToolInputError, c as imageResultFromFile, d as readNumberParam, f as readReactionParams, h as readStringParam, l as jsonResult, m as readStringOrNumberParam, n as missingTargetError, o as createActionGate, p as readStringArrayParam, r as unknownTargetError, s as imageResult, t as ambiguousTargetError, u as parseAvailableTags } from "./target-errors-B1cYmIjq.js";
84
- import { t as formatExecCommand } from "./system-run-command-C3OIMtEu.js";
83
+ import { a as ToolInputError, c as imageResultFromFile, d as readNumberParam, f as readReactionParams, h as readStringParam, l as jsonResult, m as readStringOrNumberParam, n as missingTargetError, o as createActionGate, p as readStringArrayParam, r as unknownTargetError, s as imageResult, t as ambiguousTargetError, u as parseAvailableTags } from "./target-errors-cerGxvCB.js";
84
+ import { t as formatExecCommand } from "./system-run-command-Cn5yQ2rv.js";
85
85
  import { i as parsePairingList, n as resolveNodeIdFromNodeList, r as parseNodeList, t as resolveNodeFromNodeList } from "./node-resolve-CXl-eFVM.js";
86
86
  import { i as formatDurationSeconds, r as formatDurationPrecise, t as formatDurationCompact$1 } from "./format-duration-BLfWmAUc.js";
87
87
  import { n as getDiagnosticSessionState } from "./diagnostic-session-state-DtDi2x-e.js";
88
88
  import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-CBl_6BFW.js";
89
- import { a as getMachineDisplayName, i as startBrowserControlServiceFromConfig, n as createBrowserRouteDispatcher, r as createBrowserControlContext, t as withTimeout$4 } from "./with-timeout-tSH4Tex_.js";
90
- import { a as logMessageProcessed, c as logWebhookError, d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, i as logLaneEnqueue, l as logWebhookProcessed, m as isDiagnosticsEnabled, o as logMessageQueued, p as emitDiagnosticEvent, r as logLaneDequeue, s as logSessionStateChange, t as diag, u as logWebhookReceived } from "./diagnostic-DRPetA8l.js";
91
- import { A as buildTypingThreadParams, B as resolveTelegramReplyId, C as buildGroupLabel, D as buildTelegramGroupPeerId, E as buildTelegramGroupFrom, F as normalizeForwardedContext, G as normalizeDmAllowFromWithStore$1, H as resolveTelegramThreadSpec, I as resolveTelegramDirectPeerId, J as toLocationContext, K as resolveSenderAllowMatch$1, L as resolveTelegramForumThreadId, M as expandTextLinks, N as extractTelegramLocation, O as buildTelegramParentPeer, P as hasBotMention, R as resolveTelegramGroupAllowFromContext, S as withTelegramApiErrorLogging, T as buildSenderName, U as isSenderAllowed$1, V as resolveTelegramStreamMode, W as normalizeAllowFrom$2, X as parseTelegramTarget, Y as isVoiceCompatibleAudio, Z as resolveTelegramTargetChatType, _ as markdownToTelegramHtml, a as reactMessageTelegram, b as resolveTelegramFetch, c as sendStickerTelegram, d as loadCronStore, f as resolveCronStorePath, g as markdownToTelegramChunks, h as isRecoverableTelegramNetworkError, i as editMessageTelegram, j as describeReplyTarget, k as buildTelegramThreadParams, m as wasSentByBot, n as createForumTopicTelegram, o as sendMessageTelegram, q as formatLocationText, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, u as resolveTelegramVoiceSend, v as renderTelegramHtmlText, w as buildSenderLabel, x as splitTelegramCaption, y as wrapFileReferencesInHtml, z as resolveTelegramMediaPlaceholder } from "./send-SZBhACLn.js";
92
- import { i as buildModelAliasLines, n as resolveModel } from "./model-FnrgCVyS.js";
93
- import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-BttpF8VB.js";
89
+ import { a as getMachineDisplayName, i as startBrowserControlServiceFromConfig, n as createBrowserRouteDispatcher, r as createBrowserControlContext, t as withTimeout$4 } from "./with-timeout-C-EETHnf.js";
90
+ import { a as logMessageProcessed, c as logWebhookError, d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, i as logLaneEnqueue, l as logWebhookProcessed, m as isDiagnosticsEnabled, o as logMessageQueued, p as emitDiagnosticEvent, r as logLaneDequeue, s as logSessionStateChange, t as diag, u as logWebhookReceived } from "./diagnostic-phUWJbF_.js";
91
+ import { A as buildTypingThreadParams, B as resolveTelegramReplyId, C as buildGroupLabel, D as buildTelegramGroupPeerId, E as buildTelegramGroupFrom, F as normalizeForwardedContext, G as normalizeDmAllowFromWithStore$1, H as resolveTelegramThreadSpec, I as resolveTelegramDirectPeerId, J as toLocationContext, K as resolveSenderAllowMatch$1, L as resolveTelegramForumThreadId, M as expandTextLinks, N as extractTelegramLocation, O as buildTelegramParentPeer, P as hasBotMention, R as resolveTelegramGroupAllowFromContext, S as withTelegramApiErrorLogging, T as buildSenderName, U as isSenderAllowed$1, V as resolveTelegramStreamMode, W as normalizeAllowFrom$2, X as parseTelegramTarget, Y as isVoiceCompatibleAudio, Z as resolveTelegramTargetChatType, _ as markdownToTelegramHtml, a as reactMessageTelegram, b as resolveTelegramFetch, c as sendStickerTelegram, d as loadCronStore, f as resolveCronStorePath, g as markdownToTelegramChunks, h as isRecoverableTelegramNetworkError, i as editMessageTelegram, j as describeReplyTarget, k as buildTelegramThreadParams, m as wasSentByBot, n as createForumTopicTelegram, o as sendMessageTelegram, q as formatLocationText, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, u as resolveTelegramVoiceSend, v as renderTelegramHtmlText, w as buildSenderLabel, x as splitTelegramCaption, y as wrapFileReferencesInHtml, z as resolveTelegramMediaPlaceholder } from "./send-CFUSH9C-.js";
92
+ import { i as buildModelAliasLines, n as resolveModel } from "./model-CESXYutI.js";
93
+ import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-aBvAQX6L.js";
94
94
  import { a as chunkText, c as resolveChunkMode, d as isSafeFenceBreak, f as parseFenceSpans, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, o as chunkTextWithMode, r as chunkMarkdownText, t as chunkByNewline, u as findFenceSpanAt } from "./chunk-mV8H66i-.js";
95
- import { n as resolveMarkdownTableMode } from "./markdown-tables-B5l_33qL.js";
96
- import { a as loadWebMedia, i as getDefaultLocalRoots, o as loadWebMediaRaw } from "./ir-BGgl4f9u.js";
97
- import { n as resolveMessageChannelSelection, t as listConfiguredMessageChannels } from "./channel-selection-TZJgoz5h.js";
95
+ import { n as resolveMarkdownTableMode } from "./markdown-tables-XmfG1bwr.js";
96
+ import { a as loadWebMedia, i as getDefaultLocalRoots, o as loadWebMediaRaw } from "./ir-vGBxQkIg.js";
97
+ import { n as resolveMessageChannelSelection, t as listConfiguredMessageChannels } from "./channel-selection-BDdjozhi.js";
98
98
  import { n as normalizePollInput } from "./polls-3Iuh9z3d.js";
99
- import { t as applyPluginAutoEnable } from "./plugin-auto-enable-D1WySsnE.js";
100
- import { a as resolveSignalRpcContext, c as streamSignalEvents, n as sendReadReceiptSignal, o as signalCheck, r as sendTypingSignal, s as signalRpcRequest, t as sendMessageSignal } from "./send-Cua2kS5v.js";
99
+ import { t as applyPluginAutoEnable } from "./plugin-auto-enable-4zXn-eVS.js";
100
+ import { a as resolveSignalRpcContext, c as streamSignalEvents, n as sendReadReceiptSignal, o as signalCheck, r as sendTypingSignal, s as signalRpcRequest, t as sendMessageSignal } from "./send-CabiU1-J.js";
101
101
  import { t as buildOutboundMediaLoadOptions } from "./load-options-D4kbhq3K.js";
102
- import { a as formatIMessageChatTarget, c as parseIMessageTarget, i as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, o as isAllowedIMessageSender, r as createIMessageRpcClient, s as normalizeIMessageHandle, t as sendMessageIMessage } from "./send-BntubUtK.js";
103
- import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-Ck23oGqS.js";
102
+ import { a as formatIMessageChatTarget, c as parseIMessageTarget, i as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, o as isAllowedIMessageSender, r as createIMessageRpcClient, s as normalizeIMessageHandle, t as sendMessageIMessage } from "./send-NexNe2Wh.js";
103
+ import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-R565qQgt.js";
104
104
  import { n as isSenderIdAllowed, r as mergeDmAllowFromSources, t as firstDefined$1 } from "./allow-from-B_rKfhTJ.js";
105
- import { a as resolveSubagentToolPolicy, c as readStoreAllowFromForDmPolicy, d as resolveDmGroupAccessWithLists, f as resolvePinnedMainDmOwnerFromAllowlist, i as resolveGroupToolPolicy, m as resolveControlCommandGate, n as isToolAllowedByPolicies, p as resolveCommandAuthorizedFromAuthorizers, r as resolveEffectiveToolPolicy, s as DM_GROUP_ACCESS_REASON, t as filterToolsByPolicy } from "./pi-tools.policy-eyXj0EY5.js";
105
+ import { a as resolveSubagentToolPolicy, c as readStoreAllowFromForDmPolicy, d as resolveDmGroupAccessWithLists, f as resolvePinnedMainDmOwnerFromAllowlist, i as resolveGroupToolPolicy, m as resolveControlCommandGate, n as isToolAllowedByPolicies, p as resolveCommandAuthorizedFromAuthorizers, r as resolveEffectiveToolPolicy, s as DM_GROUP_ACCESS_REASON, t as filterToolsByPolicy } from "./pi-tools.policy-Dwsq-Yaf.js";
106
106
  import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-C--BGtPd.js";
107
- import { t as convertMarkdownTables } from "./tables-C9_oCtRN.js";
107
+ import { t as convertMarkdownTables } from "./tables-C5n2nXbu.js";
108
108
  import { n as isDangerousNameMatchingEnabled } from "./dangerous-name-matching-Bu_xMy4h.js";
109
- import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-B6SXcEs0.js";
110
- import { b as ensureSkillsWatcher, i as resolveSkillCommandInvocation, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, r as listSkillCommandsForWorkspace, t as listReservedChatSlashCommandNames, x as getSkillsSnapshotVersion } from "./skill-commands-COl0HE54.js";
109
+ import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-k5K96_46.js";
110
+ import { b as ensureSkillsWatcher, i as resolveSkillCommandInvocation, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, r as listSkillCommandsForWorkspace, t as listReservedChatSlashCommandNames, x as getSkillsSnapshotVersion } from "./skill-commands-C2_BOuyl.js";
111
111
  import { i as redactIdentifier, t as getActiveWebListener } from "./active-listener-BSEAPg9K.js";
112
112
  import { c as hasNonzeroUsage, l as makeZeroUsageSnapshot, n as loadCostUsageSummary, o as derivePromptTokens, r as loadSessionCostSummary, s as deriveSessionTotalTokens, u as normalizeUsage } from "./session-cost-usage-DbjE1AVb.js";
113
- import { r as detectBinary } from "./onboard-helpers-B1AEo6oL.js";
114
- import { t as resolvePairingIdLabel } from "./pairing-labels-Cl7ROILg.js";
113
+ import { r as detectBinary } from "./onboard-helpers-Jc1-4LBc.js";
114
+ import { t as resolvePairingIdLabel } from "./pairing-labels-BBti3jJg.js";
115
115
  import { i as resolveModelCostConfig, n as formatTokenCount$2, r as formatUsd, t as estimateUsageCost } from "./usage-format-BxjB8vcE.js";
116
- import { t as recordInboundSessionMetaSafe } from "./session-meta-C-ox3bdI.js";
117
- import { i as resolveMemoryBackendConfig, n as registerMemoryCli, r as getMemorySearchManager } from "./memory-cli-o3L9NN74.js";
118
- import { r as resolveMemorySearchConfig } from "./manager-C9rftBaE.js";
116
+ import { t as recordInboundSessionMetaSafe } from "./session-meta-C6MooccR.js";
117
+ import { i as resolveMemoryBackendConfig, n as registerMemoryCli, r as getMemorySearchManager } from "./memory-cli-87nxADqy.js";
118
+ import { r as resolveMemorySearchConfig } from "./manager-X8AF3rQJ.js";
119
119
  import { i as parseAbsoluteTimeMs, r as resolveDefaultCronStaggerMs, t as normalizeCronStaggerMs } from "./stagger-C-R8Eo-4.js";
120
120
  import { f as resolveGatewaySystemdServiceName, l as resolveGatewayLaunchAgentLabel } from "./constants-DywKPp3i.js";
121
121
  import { t as parseTimeoutMs } from "./parse-timeout-CUbpb4wv.js";
@@ -128,7 +128,7 @@ import os, { homedir } from "node:os";
128
128
  import path, { isAbsolute } from "node:path";
129
129
  import JSON5 from "json5";
130
130
  import { inspect } from "node:util";
131
- import fs$1 from "node:fs/promises";
131
+ import fsPromises from "node:fs/promises";
132
132
  import { execFileSync, spawn, spawnSync } from "node:child_process";
133
133
  import crypto, { createHash, createHmac, randomBytes, randomUUID } from "node:crypto";
134
134
  import { complete, completeSimple, createAssistantMessageEventStream, streamSimple } from "@mariozechner/pi-ai";
@@ -1045,7 +1045,7 @@ async function sendTranscriptEcho(params) {
1045
1045
  }
1046
1046
  const text = formatEchoTranscript(transcript, params.format ?? DEFAULT_ECHO_TRANSCRIPT_FORMAT);
1047
1047
  try {
1048
- const { deliverOutboundPayloads } = await import("./deliver-Bn10XzRP.js").then((n) => n.n);
1048
+ const { deliverOutboundPayloads } = await import("./deliver-D4ugOkLr.js").then((n) => n.n);
1049
1049
  await deliverOutboundPayloads({
1050
1050
  cfg,
1051
1051
  channel: normalizedChannel,
@@ -2365,7 +2365,7 @@ async function resolveAgentSessionDirs(stateDir) {
2365
2365
  const agentsDir = path.join(stateDir, "agents");
2366
2366
  let entries = [];
2367
2367
  try {
2368
- entries = await fs$1.readdir(agentsDir, { withFileTypes: true });
2368
+ entries = await fsPromises.readdir(agentsDir, { withFileTypes: true });
2369
2369
  } catch (err) {
2370
2370
  if (err.code === "ENOENT") return [];
2371
2371
  throw err;
@@ -8219,7 +8219,7 @@ async function resolveSandboxWorkdir(params) {
8219
8219
  cwd: process.cwd(),
8220
8220
  root: params.sandbox.workspaceDir
8221
8221
  });
8222
- if (!(await fs$1.stat(resolved.resolved)).isDirectory()) throw new Error("workdir is not a directory");
8222
+ if (!(await fsPromises.stat(resolved.resolved)).isDirectory()) throw new Error("workdir is not a directory");
8223
8223
  const relative = resolved.relative ? resolved.relative.split(path.sep).join(path.posix.sep) : "";
8224
8224
  const containerWorkdir = relative ? path.posix.join(params.sandbox.containerWorkdir, relative) : params.sandbox.containerWorkdir;
8225
8225
  return {
@@ -9463,13 +9463,13 @@ async function validateScriptFileForShellBleed(params) {
9463
9463
  cwd: params.workdir,
9464
9464
  root: params.workdir
9465
9465
  });
9466
- stat = await fs$1.stat(absPath);
9466
+ stat = await fsPromises.stat(absPath);
9467
9467
  } catch {
9468
9468
  return;
9469
9469
  }
9470
9470
  if (!stat.isFile()) return;
9471
9471
  if (stat.size > 512 * 1024) return;
9472
- const content = await fs$1.readFile(absPath, "utf-8");
9472
+ const content = await fsPromises.readFile(absPath, "utf-8");
9473
9473
  const first = /\$[A-Z_][A-Z0-9_]{1,}/g.exec(content);
9474
9474
  if (first) {
9475
9475
  const idx = first.index;
@@ -15414,7 +15414,7 @@ async function routeReply(params) {
15414
15414
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
15415
15415
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
15416
15416
  try {
15417
- const { deliverOutboundPayloads } = await import("./deliver-Bn10XzRP.js").then((n) => n.n);
15417
+ const { deliverOutboundPayloads } = await import("./deliver-D4ugOkLr.js").then((n) => n.n);
15418
15418
  const outboundSession = buildOutboundSessionContext({
15419
15419
  cfg,
15420
15420
  agentId: resolvedAgentId,
@@ -25503,8 +25503,8 @@ async function describeStickerImage(params) {
25503
25503
  const { provider, model } = resolved;
25504
25504
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
25505
25505
  try {
25506
- const buffer = await fs$1.readFile(imagePath);
25507
- const { describeImageWithModel } = await import("./image-B270IRGo.js").then((n) => n.n);
25506
+ const buffer = await fsPromises.readFile(imagePath);
25507
+ const { describeImageWithModel } = await import("./image-BzR2twGI.js").then((n) => n.n);
25508
25508
  return (await describeImageWithModel({
25509
25509
  buffer,
25510
25510
  fileName: "sticker.webp",
@@ -27093,7 +27093,7 @@ async function resolveDiscordPreflightAudioMentionContext(params) {
27093
27093
  const needsPreflightTranscription = !params.isDirectMessage && params.shouldRequireMention && hasAudioAttachment && !hasTypedText && params.mentionRegexes.length > 0;
27094
27094
  let transcript;
27095
27095
  if (needsPreflightTranscription) try {
27096
- const { transcribeFirstAudio } = await import("./audio-preflight-BkoTbTIH.js");
27096
+ const { transcribeFirstAudio } = await import("./audio-preflight-BClvbKMQ.js");
27097
27097
  const audioUrls = audioAttachments.map((att) => att.url).filter((url) => typeof url === "string" && url.length > 0);
27098
27098
  if (audioUrls.length > 0) transcript = await transcribeFirstAudio({
27099
27099
  ctx: {
@@ -30959,7 +30959,7 @@ function ensureContextWindowCacheLoaded() {
30959
30959
  await ensureOpenClawModelsJson(cfg);
30960
30960
  } catch {}
30961
30961
  try {
30962
- const { discoverAuthStorage, discoverModels } = await import("./pi-model-discovery-DVhDvAnA.js").then((n) => n.r);
30962
+ const { discoverAuthStorage, discoverModels } = await import("./pi-model-discovery-BSytrsu4.js").then((n) => n.r);
30963
30963
  const agentDir = resolveOpenClawAgentDir();
30964
30964
  const modelRegistry = discoverModels(discoverAuthStorage(agentDir), agentDir);
30965
30965
  applyDiscoveredContextWindows({
@@ -31305,7 +31305,7 @@ async function createModelSelectionState(params) {
31305
31305
  }
31306
31306
  }
31307
31307
  if (sessionEntry && sessionStore && sessionKey && sessionEntry.authProfileOverride) {
31308
- const { ensureAuthProfileStore } = await import("./model-selection-xdfZxwgB.js").then((n) => n.pt);
31308
+ const { ensureAuthProfileStore } = await import("./model-selection-DCo8MhsE.js").then((n) => n.pt);
31309
31309
  const profile = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false }).profiles[sessionEntry.authProfileOverride];
31310
31310
  const providerKey = normalizeProviderId(provider);
31311
31311
  if (!profile || normalizeProviderId(profile.provider) !== providerKey) await clearSessionAuthProfileOverride({
@@ -35105,18 +35105,18 @@ function appendImagePathsToPrompt(prompt, paths) {
35105
35105
  return `${trimmed}${trimmed ? "\n\n" : ""}${paths.join("\n")}`;
35106
35106
  }
35107
35107
  async function writeCliImages(images) {
35108
- const tempDir = await fs$1.mkdtemp(path.join(os.tmpdir(), "openclaw-cli-images-"));
35108
+ const tempDir = await fsPromises.mkdtemp(path.join(os.tmpdir(), "openclaw-cli-images-"));
35109
35109
  const paths = [];
35110
35110
  for (let i = 0; i < images.length; i += 1) {
35111
35111
  const image = images[i];
35112
35112
  const ext = resolveImageExtension(image.mimeType);
35113
35113
  const filePath = path.join(tempDir, `image-${i + 1}.${ext}`);
35114
35114
  const buffer = Buffer.from(image.data, "base64");
35115
- await fs$1.writeFile(filePath, buffer, { mode: 384 });
35115
+ await fsPromises.writeFile(filePath, buffer, { mode: 384 });
35116
35116
  paths.push(filePath);
35117
35117
  }
35118
35118
  const cleanup = async () => {
35119
- await fs$1.rm(tempDir, {
35119
+ await fsPromises.rm(tempDir, {
35120
35120
  recursive: true,
35121
35121
  force: true
35122
35122
  });
@@ -35984,27 +35984,27 @@ function createOutboundSendDepsFromCliSource(deps) {
35984
35984
  function createDefaultDeps() {
35985
35985
  return {
35986
35986
  sendMessageWhatsApp: async (...args) => {
35987
- const { sendMessageWhatsApp } = await import("./web-DbdjX4Hg.js");
35987
+ const { sendMessageWhatsApp } = await import("./web-BQRkxG9u.js");
35988
35988
  return await sendMessageWhatsApp(...args);
35989
35989
  },
35990
35990
  sendMessageTelegram: async (...args) => {
35991
- const { sendMessageTelegram } = await import("./send-SZBhACLn.js").then((n) => n.l);
35991
+ const { sendMessageTelegram } = await import("./send-CFUSH9C-.js").then((n) => n.l);
35992
35992
  return await sendMessageTelegram(...args);
35993
35993
  },
35994
35994
  sendMessageDiscord: async (...args) => {
35995
- const { sendMessageDiscord } = await import("./send-ByUfPpKj.js").then((n) => n.t);
35995
+ const { sendMessageDiscord } = await import("./send-DmVTXBWW.js").then((n) => n.t);
35996
35996
  return await sendMessageDiscord(...args);
35997
35997
  },
35998
35998
  sendMessageSlack: async (...args) => {
35999
- const { sendMessageSlack } = await import("./send-DuNBSJln.js").then((n) => n.n);
35999
+ const { sendMessageSlack } = await import("./send-BQVNhO4Q.js").then((n) => n.n);
36000
36000
  return await sendMessageSlack(...args);
36001
36001
  },
36002
36002
  sendMessageSignal: async (...args) => {
36003
- const { sendMessageSignal } = await import("./send-Cua2kS5v.js").then((n) => n.i);
36003
+ const { sendMessageSignal } = await import("./send-CabiU1-J.js").then((n) => n.i);
36004
36004
  return await sendMessageSignal(...args);
36005
36005
  },
36006
36006
  sendMessageIMessage: async (...args) => {
36007
- const { sendMessageIMessage } = await import("./send-BntubUtK.js").then((n) => n.n);
36007
+ const { sendMessageIMessage } = await import("./send-NexNe2Wh.js").then((n) => n.n);
36008
36008
  return await sendMessageIMessage(...args);
36009
36009
  }
36010
36010
  };
@@ -37179,10 +37179,10 @@ function estimateDurationSeconds(pcm) {
37179
37179
  return pcm.length / (bytesPerSample * SAMPLE_RATE);
37180
37180
  }
37181
37181
  async function writeWavFile(pcm) {
37182
- const tempDir = await fs$1.mkdtemp(path.join(resolvePreferredOpenClawTmpDir(), "discord-voice-"));
37182
+ const tempDir = await fsPromises.mkdtemp(path.join(resolvePreferredOpenClawTmpDir(), "discord-voice-"));
37183
37183
  const filePath = path.join(tempDir, `segment-${randomUUID()}.wav`);
37184
37184
  const wav = buildWavBuffer(pcm);
37185
- await fs$1.writeFile(filePath, wav);
37185
+ await fsPromises.writeFile(filePath, wav);
37186
37186
  scheduleTempCleanup(tempDir);
37187
37187
  return {
37188
37188
  path: filePath,
@@ -37191,7 +37191,7 @@ async function writeWavFile(pcm) {
37191
37191
  }
37192
37192
  function scheduleTempCleanup(tempDir, delayMs = 1800 * 1e3) {
37193
37193
  setTimeout(() => {
37194
- fs$1.rm(tempDir, {
37194
+ fsPromises.rm(tempDir, {
37195
37195
  recursive: true,
37196
37196
  force: true
37197
37197
  }).catch((err) => {
@@ -41488,7 +41488,7 @@ function normalizeAllowList$1(list) {
41488
41488
  async function detectRemoteHostFromCliPath(cliPath) {
41489
41489
  try {
41490
41490
  const expanded = cliPath.startsWith("~") ? cliPath.replace(/^~/, process.env.HOME ?? "") : cliPath;
41491
- const content = await fs$1.readFile(expanded, "utf8");
41491
+ const content = await fsPromises.readFile(expanded, "utf8");
41492
41492
  const userHostMatch = content.match(/\bssh\b[^\n]*?\s+([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+)/);
41493
41493
  if (userHostMatch) return userHostMatch[1];
41494
41494
  return content.match(/\bssh\b[^\n]*?\s+([a-zA-Z][a-zA-Z0-9._-]*)\s+\S*\bimsg\b/)?.[1];
@@ -48110,7 +48110,7 @@ function readSlackExternalArgMenuToken(raw) {
48110
48110
  }
48111
48111
  let commandsRegistry;
48112
48112
  async function getCommandsRegistry() {
48113
- if (!commandsRegistry) commandsRegistry = await import("./commands-registry-CVzTBX51.js").then((n) => n.n);
48113
+ if (!commandsRegistry) commandsRegistry = await import("./commands-registry-B5jHbfUL.js").then((n) => n.n);
48114
48114
  return commandsRegistry;
48115
48115
  }
48116
48116
  function encodeSlackCommandArgValue(parts) {
@@ -48440,14 +48440,14 @@ async function registerSlackMonitorSlashCommands(params) {
48440
48440
  const channelName = channelInfo?.name;
48441
48441
  const roomLabel = channelName ? `#${channelName}` : `#${command.channel_id}`;
48442
48442
  const [{ resolveAgentRoute }, { finalizeInboundContext }, { dispatchReplyWithDispatcher }] = await Promise.all([
48443
- import("./resolve-route-Ck23oGqS.js").then((n) => n.r),
48443
+ import("./resolve-route-R565qQgt.js").then((n) => n.r),
48444
48444
  import("./inbound-context-B0nyx07V.js").then((n) => n.n),
48445
48445
  Promise.resolve().then(() => provider_dispatcher_exports)
48446
48446
  ]);
48447
48447
  const [{ resolveConversationLabel }, { createReplyPrefixOptions }, { recordInboundSessionMetaSafe }] = await Promise.all([
48448
48448
  import("./conversation-label-CAfD5Gwq.js").then((n) => n.t),
48449
- import("./reply-prefix-BttpF8VB.js").then((n) => n.n),
48450
- import("./session-meta-C-ox3bdI.js").then((n) => n.n)
48449
+ import("./reply-prefix-aBvAQX6L.js").then((n) => n.n),
48450
+ import("./session-meta-C6MooccR.js").then((n) => n.n)
48451
48451
  ]);
48452
48452
  const route = resolveAgentRoute({
48453
48453
  cfg,
@@ -48512,9 +48512,9 @@ async function registerSlackMonitorSlashCommands(params) {
48512
48512
  });
48513
48513
  const deliverSlashPayloads = async (replies) => {
48514
48514
  const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
48515
- import("./replies-B6SXcEs0.js").then((n) => n.r),
48515
+ import("./replies-k5K96_46.js").then((n) => n.r),
48516
48516
  import("./chunk-mV8H66i-.js").then((n) => n.s),
48517
- import("./markdown-tables-B5l_33qL.js").then((n) => n.t)
48517
+ import("./markdown-tables-XmfG1bwr.js").then((n) => n.t)
48518
48518
  ]);
48519
48519
  await deliverSlackSlashReplies({
48520
48520
  replies,
@@ -48567,7 +48567,7 @@ async function registerSlackMonitorSlashCommands(params) {
48567
48567
  let nativeCommands = [];
48568
48568
  if (nativeEnabled) {
48569
48569
  reg = await getCommandsRegistry();
48570
- const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-COl0HE54.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
48570
+ const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-C2_BOuyl.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
48571
48571
  nativeCommands = reg.listNativeCommandSpecsForConfig(cfg, {
48572
48572
  skillCommands,
48573
48573
  provider: "slack"
@@ -53895,7 +53895,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, replyMedia =
53895
53895
  const disableAudioPreflight = firstDefined$1(topicConfig?.disableAudioPreflight, groupConfig?.disableAudioPreflight) === true;
53896
53896
  let preflightTranscript;
53897
53897
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0 && !disableAudioPreflight) try {
53898
- const { transcribeFirstAudio } = await import("./audio-preflight-BkoTbTIH.js");
53898
+ const { transcribeFirstAudio } = await import("./audio-preflight-BClvbKMQ.js");
53899
53899
  preflightTranscript = await transcribeFirstAudio({
53900
53900
  ctx: {
53901
53901
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -55257,7 +55257,7 @@ function resolveCommandHashPath(accountId, botIdentity) {
55257
55257
  }
55258
55258
  async function readCachedCommandHash(accountId, botIdentity) {
55259
55259
  try {
55260
- return (await fs$1.readFile(resolveCommandHashPath(accountId, botIdentity), "utf-8")).trim();
55260
+ return (await fsPromises.readFile(resolveCommandHashPath(accountId, botIdentity), "utf-8")).trim();
55261
55261
  } catch {
55262
55262
  return null;
55263
55263
  }
@@ -55265,8 +55265,8 @@ async function readCachedCommandHash(accountId, botIdentity) {
55265
55265
  async function writeCachedCommandHash(accountId, botIdentity, hash) {
55266
55266
  const filePath = resolveCommandHashPath(accountId, botIdentity);
55267
55267
  try {
55268
- await fs$1.mkdir(path.dirname(filePath), { recursive: true });
55269
- await fs$1.writeFile(filePath, hash, "utf-8");
55268
+ await fsPromises.mkdir(path.dirname(filePath), { recursive: true });
55269
+ await fsPromises.writeFile(filePath, hash, "utf-8");
55270
55270
  } catch {}
55271
55271
  }
55272
55272
  function syncTelegramMenuCommands(params) {
@@ -56104,7 +56104,7 @@ function safeParseState(raw) {
56104
56104
  async function readTelegramUpdateOffset(params) {
56105
56105
  const filePath = resolveTelegramUpdateOffsetPath(params.accountId, params.env);
56106
56106
  try {
56107
- const parsed = safeParseState(await fs$1.readFile(filePath, "utf-8"));
56107
+ const parsed = safeParseState(await fsPromises.readFile(filePath, "utf-8"));
56108
56108
  const expectedBotId = extractBotIdFromToken(params.botToken);
56109
56109
  if (expectedBotId && parsed?.botId && parsed.botId !== expectedBotId) return null;
56110
56110
  if (expectedBotId && parsed?.botId === null) return null;
@@ -56128,7 +56128,7 @@ async function writeTelegramUpdateOffset(params) {
56128
56128
  async function deleteTelegramUpdateOffset(params) {
56129
56129
  const filePath = resolveTelegramUpdateOffsetPath(params.accountId, params.env);
56130
56130
  try {
56131
- await fs$1.unlink(filePath);
56131
+ await fsPromises.unlink(filePath);
56132
56132
  } catch (err) {
56133
56133
  if (err.code === "ENOENT") return;
56134
56134
  throw err;
@@ -56602,7 +56602,7 @@ function createWhatsAppLoginTool() {
56602
56602
  force: Type.Optional(Type.Boolean())
56603
56603
  }),
56604
56604
  execute: async (_toolCallId, args) => {
56605
- const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-YjUycQZT.js");
56605
+ const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-CB4JWkHM.js");
56606
56606
  if ((args?.action ?? "start") === "wait") {
56607
56607
  const result = await waitForWebLogin({ timeoutMs: typeof args.timeoutMs === "number" ? args.timeoutMs : void 0 });
56608
56608
  return {
@@ -56677,23 +56677,23 @@ let webLoginQrPromise = null;
56677
56677
  let webChannelPromise = null;
56678
56678
  let whatsappActionsPromise = null;
56679
56679
  function loadWebOutbound() {
56680
- webOutboundPromise ??= import("./outbound-DlVJWa4u.js").then((n) => n.t);
56680
+ webOutboundPromise ??= import("./outbound-Bf7VAx0-.js").then((n) => n.t);
56681
56681
  return webOutboundPromise;
56682
56682
  }
56683
56683
  function loadWebLogin() {
56684
- webLoginPromise ??= import("./login-B2B75WGK.js").then((n) => n.n);
56684
+ webLoginPromise ??= import("./login-BM9p9nig.js").then((n) => n.n);
56685
56685
  return webLoginPromise;
56686
56686
  }
56687
56687
  function loadWebLoginQr() {
56688
- webLoginQrPromise ??= import("./login-qr-YjUycQZT.js");
56688
+ webLoginQrPromise ??= import("./login-qr-CB4JWkHM.js");
56689
56689
  return webLoginQrPromise;
56690
56690
  }
56691
56691
  function loadWebChannel() {
56692
- webChannelPromise ??= import("./web-DbdjX4Hg.js");
56692
+ webChannelPromise ??= import("./web-BQRkxG9u.js");
56693
56693
  return webChannelPromise;
56694
56694
  }
56695
56695
  function loadWhatsAppActions() {
56696
- whatsappActionsPromise ??= import("./whatsapp-actions-CNoiLzRB.js");
56696
+ whatsappActionsPromise ??= import("./whatsapp-actions-DeX4x9sq.js");
56697
56697
  return whatsappActionsPromise;
56698
56698
  }
56699
56699
  function createRuntimeWhatsApp() {
@@ -57736,7 +57736,7 @@ function resolvePluginTools(params) {
57736
57736
  //#endregion
57737
57737
  //#region src/agents/apply-patch-update.ts
57738
57738
  async function defaultReadFile(filePath) {
57739
- return fs$1.readFile(filePath, "utf8");
57739
+ return fsPromises.readFile(filePath, "utf8");
57740
57740
  }
57741
57741
  async function applyUpdateHunk(filePath, chunks, options) {
57742
57742
  const originalLines = (await (options?.readFile ?? defaultReadFile)(filePath).catch((err) => {
@@ -58057,7 +58057,7 @@ function resolvePatchFileOps(options) {
58057
58057
  const workspaceOnly = options.workspaceOnly !== false;
58058
58058
  return {
58059
58059
  readFile: async (filePath) => {
58060
- if (!workspaceOnly) return await fs$1.readFile(filePath, "utf8");
58060
+ if (!workspaceOnly) return await fsPromises.readFile(filePath, "utf8");
58061
58061
  const opened = await openBoundaryFile({
58062
58062
  absolutePath: filePath,
58063
58063
  rootPath: options.cwd,
@@ -58072,7 +58072,7 @@ function resolvePatchFileOps(options) {
58072
58072
  },
58073
58073
  writeFile: async (filePath, content) => {
58074
58074
  if (!workspaceOnly) {
58075
- await fs$1.writeFile(filePath, content, "utf8");
58075
+ await fsPromises.writeFile(filePath, content, "utf8");
58076
58076
  return;
58077
58077
  }
58078
58078
  const relative = toRelativeSandboxPath(options.cwd, filePath);
@@ -58083,8 +58083,8 @@ function resolvePatchFileOps(options) {
58083
58083
  encoding: "utf8"
58084
58084
  });
58085
58085
  },
58086
- remove: (filePath) => fs$1.rm(filePath),
58087
- mkdirp: (dir) => fs$1.mkdir(dir, { recursive: true }).then(() => {})
58086
+ remove: (filePath) => fsPromises.rm(filePath),
58087
+ mkdirp: (dir) => fsPromises.mkdir(dir, { recursive: true }).then(() => {})
58088
58088
  };
58089
58089
  }
58090
58090
  async function ensureDir(filePath, ops) {
@@ -59538,7 +59538,7 @@ async function readJsonlFromPath(jsonlPath) {
59538
59538
  if (shouldLogVerbose()) logVerbose(`Blocked canvas jsonlPath outside allowed roots: ${resolved}`);
59539
59539
  throw new Error("jsonlPath outside allowed roots");
59540
59540
  }
59541
- const canonical = await fs$1.realpath(resolved).catch(() => resolved);
59541
+ const canonical = await fsPromises.realpath(resolved).catch(() => resolved);
59542
59542
  if (!isInboundPathAllowed({
59543
59543
  filePath: canonical,
59544
59544
  roots
@@ -59546,7 +59546,7 @@ async function readJsonlFromPath(jsonlPath) {
59546
59546
  if (shouldLogVerbose()) logVerbose(`Blocked canvas jsonlPath outside allowed roots: ${canonical}`);
59547
59547
  throw new Error("jsonlPath outside allowed roots");
59548
59548
  }
59549
- return await fs$1.readFile(canonical, "utf8");
59549
+ return await fsPromises.readFile(canonical, "utf8");
59550
59550
  }
59551
59551
  const CanvasToolSchema = Type.Object({
59552
59552
  action: stringEnum(CANVAS_ACTIONS),
@@ -60361,27 +60361,27 @@ function resolveRestartSentinelPath(env = process.env) {
60361
60361
  }
60362
60362
  async function writeRestartSentinel(payload, env = process.env) {
60363
60363
  const filePath = resolveRestartSentinelPath(env);
60364
- await fs$1.mkdir(path.dirname(filePath), { recursive: true });
60364
+ await fsPromises.mkdir(path.dirname(filePath), { recursive: true });
60365
60365
  const data = {
60366
60366
  version: 1,
60367
60367
  payload
60368
60368
  };
60369
- await fs$1.writeFile(filePath, `${JSON.stringify(data, null, 2)}\n`, "utf-8");
60369
+ await fsPromises.writeFile(filePath, `${JSON.stringify(data, null, 2)}\n`, "utf-8");
60370
60370
  return filePath;
60371
60371
  }
60372
60372
  async function readRestartSentinel(env = process.env) {
60373
60373
  const filePath = resolveRestartSentinelPath(env);
60374
60374
  try {
60375
- const raw = await fs$1.readFile(filePath, "utf-8");
60375
+ const raw = await fsPromises.readFile(filePath, "utf-8");
60376
60376
  let parsed;
60377
60377
  try {
60378
60378
  parsed = JSON.parse(raw);
60379
60379
  } catch {
60380
- await fs$1.unlink(filePath).catch(() => {});
60380
+ await fsPromises.unlink(filePath).catch(() => {});
60381
60381
  return null;
60382
60382
  }
60383
60383
  if (!parsed || parsed.version !== 1 || !parsed.payload) {
60384
- await fs$1.unlink(filePath).catch(() => {});
60384
+ await fsPromises.unlink(filePath).catch(() => {});
60385
60385
  return null;
60386
60386
  }
60387
60387
  return parsed;
@@ -60393,7 +60393,7 @@ async function consumeRestartSentinel(env = process.env) {
60393
60393
  const filePath = resolveRestartSentinelPath(env);
60394
60394
  const parsed = await readRestartSentinel(env);
60395
60395
  if (!parsed) return null;
60396
- await fs$1.unlink(filePath).catch(() => {});
60396
+ await fsPromises.unlink(filePath).catch(() => {});
60397
60397
  return parsed;
60398
60398
  }
60399
60399
  function formatRestartSentinelMessage(payload) {
@@ -68030,7 +68030,7 @@ async function runBeforeToolCallHook(args) {
68030
68030
  const params = args.params;
68031
68031
  if (args.ctx?.sessionKey) {
68032
68032
  const { getDiagnosticSessionState } = await import("./diagnostic-session-state-BdsrlXSG.js");
68033
- const { logToolLoopAction } = await import("./diagnostic-DRPetA8l.js").then((n) => n.n);
68033
+ const { logToolLoopAction } = await import("./diagnostic-phUWJbF_.js").then((n) => n.n);
68034
68034
  const { detectToolCallLoop, recordToolCall } = await import("./tool-loop-detection-r4aG7Xi8.js");
68035
68035
  const sessionState = getDiagnosticSessionState({
68036
68036
  sessionKey: args.ctx.sessionKey,
@@ -68601,7 +68601,7 @@ function wrapHostEditToolWithPostWriteRecovery(base, root) {
68601
68601
  if (!pathParam || !newText) throw err;
68602
68602
  try {
68603
68603
  const absolutePath = resolveHostEditPath(root, pathParam);
68604
- const content = await fs$1.readFile(absolutePath, "utf-8");
68604
+ const content = await fsPromises.readFile(absolutePath, "utf-8");
68605
68605
  const hasNew = content.includes(newText);
68606
68606
  const stillHasOld = oldText !== void 0 && oldText.length > 0 && content.includes(oldText);
68607
68607
  if (hasNew && !stillHasOld) return {
@@ -68704,14 +68704,14 @@ function createSandboxEditOperations(params) {
68704
68704
  }
68705
68705
  async function writeHostFile(absolutePath, content) {
68706
68706
  const resolved = path.resolve(absolutePath);
68707
- await fs$1.mkdir(path.dirname(resolved), { recursive: true });
68708
- await fs$1.writeFile(resolved, content, "utf-8");
68707
+ await fsPromises.mkdir(path.dirname(resolved), { recursive: true });
68708
+ await fsPromises.writeFile(resolved, content, "utf-8");
68709
68709
  }
68710
68710
  function createHostWriteOperations(root, options) {
68711
68711
  if (!(options?.workspaceOnly ?? false)) return {
68712
68712
  mkdir: async (dir) => {
68713
68713
  const resolved = path.resolve(dir);
68714
- await fs$1.mkdir(resolved, { recursive: true });
68714
+ await fsPromises.mkdir(resolved, { recursive: true });
68715
68715
  },
68716
68716
  writeFile: writeHostFile
68717
68717
  };
@@ -68724,7 +68724,7 @@ function createHostWriteOperations(root, options) {
68724
68724
  cwd: root,
68725
68725
  root
68726
68726
  });
68727
- await fs$1.mkdir(resolved, { recursive: true });
68727
+ await fsPromises.mkdir(resolved, { recursive: true });
68728
68728
  },
68729
68729
  writeFile: async (absolutePath, content) => {
68730
68730
  await writeFileWithinRoot({
@@ -68740,12 +68740,12 @@ function createHostEditOperations(root, options) {
68740
68740
  if (!(options?.workspaceOnly ?? false)) return {
68741
68741
  readFile: async (absolutePath) => {
68742
68742
  const resolved = path.resolve(absolutePath);
68743
- return await fs$1.readFile(resolved);
68743
+ return await fsPromises.readFile(resolved);
68744
68744
  },
68745
68745
  writeFile: writeHostFile,
68746
68746
  access: async (absolutePath) => {
68747
68747
  const resolved = path.resolve(absolutePath);
68748
- await fs$1.access(resolved);
68748
+ await fsPromises.access(resolved);
68749
68749
  }
68750
68750
  };
68751
68751
  return {
@@ -69583,7 +69583,7 @@ async function repairSessionFileIfNeeded(params) {
69583
69583
  };
69584
69584
  let content;
69585
69585
  try {
69586
- content = await fs$1.readFile(sessionFile, "utf-8");
69586
+ content = await fsPromises.readFile(sessionFile, "utf-8");
69587
69587
  } catch (err) {
69588
69588
  if (err?.code === "ENOENT") return {
69589
69589
  repaired: false,
@@ -69631,15 +69631,15 @@ async function repairSessionFileIfNeeded(params) {
69631
69631
  const backupPath = `${sessionFile}.bak-${process.pid}-${Date.now()}`;
69632
69632
  const tmpPath = `${sessionFile}.repair-${process.pid}-${Date.now()}.tmp`;
69633
69633
  try {
69634
- const stat = await fs$1.stat(sessionFile).catch(() => null);
69635
- await fs$1.writeFile(backupPath, content, "utf-8");
69636
- if (stat) await fs$1.chmod(backupPath, stat.mode);
69637
- await fs$1.writeFile(tmpPath, cleaned, "utf-8");
69638
- if (stat) await fs$1.chmod(tmpPath, stat.mode);
69639
- await fs$1.rename(tmpPath, sessionFile);
69634
+ const stat = await fsPromises.stat(sessionFile).catch(() => null);
69635
+ await fsPromises.writeFile(backupPath, content, "utf-8");
69636
+ if (stat) await fsPromises.chmod(backupPath, stat.mode);
69637
+ await fsPromises.writeFile(tmpPath, cleaned, "utf-8");
69638
+ if (stat) await fsPromises.chmod(tmpPath, stat.mode);
69639
+ await fsPromises.rename(tmpPath, sessionFile);
69640
69640
  } catch (err) {
69641
69641
  try {
69642
- await fs$1.unlink(tmpPath);
69642
+ await fsPromises.unlink(tmpPath);
69643
69643
  } catch (cleanupErr) {
69644
69644
  params.warn?.(`session file repair cleanup failed: ${cleanupErr instanceof Error ? cleanupErr.message : "unknown error"} (${path.basename(tmpPath)})`);
69645
69645
  }
@@ -71880,7 +71880,7 @@ async function prewarmSessionFile(sessionFile) {
71880
71880
  if (!isSessionManagerCacheEnabled()) return;
71881
71881
  if (isSessionManagerCached(sessionFile)) return;
71882
71882
  try {
71883
- const handle = await fs$1.open(sessionFile, "r");
71883
+ const handle = await fsPromises.open(sessionFile, "r");
71884
71884
  try {
71885
71885
  const buffer = Buffer$1.alloc(4096);
71886
71886
  await handle.read(buffer, 0, buffer.length, 0);
@@ -72236,7 +72236,7 @@ async function compactEmbeddedPiSessionDirect(params) {
72236
72236
  } catch (err) {
72237
72237
  return fail(describeUnknownError(err));
72238
72238
  }
72239
- await fs$1.mkdir(resolvedWorkspace, { recursive: true });
72239
+ await fsPromises.mkdir(resolvedWorkspace, { recursive: true });
72240
72240
  const sandboxSessionKey = params.sessionKey?.trim() || params.sessionId;
72241
72241
  const sandbox = await resolveSandboxContext({
72242
72242
  config: params.config,
@@ -72244,7 +72244,7 @@ async function compactEmbeddedPiSessionDirect(params) {
72244
72244
  workspaceDir: resolvedWorkspace
72245
72245
  });
72246
72246
  const effectiveWorkspace = sandbox?.enabled ? sandbox.workspaceAccess === "rw" ? resolvedWorkspace : sandbox.workspaceDir : resolvedWorkspace;
72247
- await fs$1.mkdir(effectiveWorkspace, { recursive: true });
72247
+ await fsPromises.mkdir(effectiveWorkspace, { recursive: true });
72248
72248
  await ensureSessionHeader({
72249
72249
  sessionFile: params.sessionFile,
72250
72250
  sessionId: params.sessionId,
@@ -73154,12 +73154,12 @@ function getQueuedFileWriter(writers, filePath) {
73154
73154
  const existing = writers.get(filePath);
73155
73155
  if (existing) return existing;
73156
73156
  const dir = path.dirname(filePath);
73157
- const ready = fs$1.mkdir(dir, { recursive: true }).catch(() => void 0);
73157
+ const ready = fsPromises.mkdir(dir, { recursive: true }).catch(() => void 0);
73158
73158
  let queue = Promise.resolve();
73159
73159
  const writer = {
73160
73160
  filePath,
73161
73161
  write: (line) => {
73162
- queue = queue.then(() => ready).then(() => fs$1.appendFile(filePath, line, "utf8")).catch(() => void 0);
73162
+ queue = queue.then(() => ready).then(() => fsPromises.appendFile(filePath, line, "utf8")).catch(() => void 0);
73163
73163
  }
73164
73164
  };
73165
73165
  writers.set(filePath, writer);
@@ -76077,7 +76077,7 @@ async function prepareSessionManagerForRun(params) {
76077
76077
  return;
76078
76078
  }
76079
76079
  if (params.hadSessionFile && header && !hasAssistant) {
76080
- await fs$1.writeFile(params.sessionFile, "", "utf-8");
76080
+ await fsPromises.writeFile(params.sessionFile, "", "utf-8");
76081
76081
  sm.fileEntries = [header];
76082
76082
  sm.byId?.clear?.();
76083
76083
  sm.labelsById?.clear?.();
@@ -76811,7 +76811,7 @@ async function runEmbeddedAttempt(params) {
76811
76811
  const prevCwd = process.cwd();
76812
76812
  const runAbortController = new AbortController();
76813
76813
  log$6.debug(`embedded run start: runId=${params.runId} sessionId=${params.sessionId} provider=${params.provider} model=${params.modelId} thinking=${params.thinkLevel} messageChannel=${params.messageChannel ?? params.messageProvider ?? "unknown"}`);
76814
- await fs$1.mkdir(resolvedWorkspace, { recursive: true });
76814
+ await fsPromises.mkdir(resolvedWorkspace, { recursive: true });
76815
76815
  const sandboxSessionKey = params.sessionKey?.trim() || params.sessionId;
76816
76816
  const sandbox = await resolveSandboxContext({
76817
76817
  config: params.config,
@@ -76819,7 +76819,7 @@ async function runEmbeddedAttempt(params) {
76819
76819
  workspaceDir: resolvedWorkspace
76820
76820
  });
76821
76821
  const effectiveWorkspace = sandbox?.enabled ? sandbox.workspaceAccess === "rw" ? resolvedWorkspace : sandbox.workspaceDir : resolvedWorkspace;
76822
- await fs$1.mkdir(effectiveWorkspace, { recursive: true });
76822
+ await fsPromises.mkdir(effectiveWorkspace, { recursive: true });
76823
76823
  let restoreSkillEnv;
76824
76824
  process.chdir(effectiveWorkspace);
76825
76825
  try {
@@ -77063,7 +77063,7 @@ async function runEmbeddedAttempt(params) {
77063
77063
  sessionFile: params.sessionFile,
77064
77064
  warn: (message) => log$6.warn(message)
77065
77065
  });
77066
- const hadSessionFile = await fs$1.stat(params.sessionFile).then(() => true).catch(() => false);
77066
+ const hadSessionFile = await fsPromises.stat(params.sessionFile).then(() => true).catch(() => false);
77067
77067
  const transcriptPolicy = resolveTranscriptPolicy({
77068
77068
  modelApi: params.model?.api,
77069
77069
  provider: params.provider,
@@ -78206,7 +78206,7 @@ async function runEmbeddedPiAgent(params) {
78206
78206
  const copilotAuthRetry = authRetryPending;
78207
78207
  authRetryPending = false;
78208
78208
  attemptedThinking.add(thinkLevel);
78209
- await fs$1.mkdir(resolvedWorkspace, { recursive: true });
78209
+ await fsPromises.mkdir(resolvedWorkspace, { recursive: true });
78210
78210
  const prompt = provider === "anthropic" ? scrubAnthropicRefusalMagic(params.prompt) : params.prompt;
78211
78211
  const attempt = await runEmbeddedAttempt({
78212
78212
  sessionId: params.sessionId,
@@ -80517,7 +80517,7 @@ async function emitResetCommandHooks(params) {
80517
80517
  try {
80518
80518
  const messages = [];
80519
80519
  if (sessionFile) {
80520
- const content = await fs$1.readFile(sessionFile, "utf-8");
80520
+ const content = await fsPromises.readFile(sessionFile, "utf-8");
80521
80521
  for (const line of content.split("\n")) {
80522
80522
  if (!line.trim()) continue;
80523
80523
  try {
@@ -85549,7 +85549,7 @@ async function deliverSessionMaintenanceWarning(params) {
85549
85549
  return;
85550
85550
  }
85551
85551
  try {
85552
- const { deliverOutboundPayloads } = await import("./deliver-Bn10XzRP.js").then((n) => n.n);
85552
+ const { deliverOutboundPayloads } = await import("./deliver-D4ugOkLr.js").then((n) => n.n);
85553
85553
  const outboundSession = buildOutboundSessionContext({
85554
85554
  cfg: params.cfg,
85555
85555
  sessionKey: params.sessionKey
@@ -86056,7 +86056,7 @@ async function stageSandboxMedia(params) {
86056
86056
  const remoteMediaCacheDir = ctx.MediaRemoteHost ? path.join(CONFIG_DIR, "media", "remote-cache", sessionKey) : null;
86057
86057
  const effectiveWorkspaceDir = sandbox?.workspaceDir ?? remoteMediaCacheDir;
86058
86058
  if (!effectiveWorkspaceDir) return;
86059
- await fs$1.mkdir(effectiveWorkspaceDir, { recursive: true });
86059
+ await fsPromises.mkdir(effectiveWorkspaceDir, { recursive: true });
86060
86060
  const remoteAttachmentRoots = resolveIMessageRemoteAttachmentRoots({
86061
86061
  cfg,
86062
86062
  accountId: ctx.AccountId
@@ -86115,8 +86115,8 @@ async function stageLocalFileIntoRoot(params) {
86115
86115
  }
86116
86116
  async function stageRemoteFileIntoRoot(params) {
86117
86117
  const tmpRoot = resolvePreferredOpenClawTmpDir();
86118
- await fs$1.mkdir(tmpRoot, { recursive: true });
86119
- const tmpDir = await fs$1.mkdtemp(path.join(tmpRoot, "stage-sandbox-media-"));
86118
+ await fsPromises.mkdir(tmpRoot, { recursive: true });
86119
+ const tmpDir = await fsPromises.mkdtemp(path.join(tmpRoot, "stage-sandbox-media-"));
86120
86120
  const tmpPath = path.join(tmpDir, "download");
86121
86121
  try {
86122
86122
  await scpFile(params.remoteHost, params.remotePath, tmpPath);
@@ -86127,7 +86127,7 @@ async function stageRemoteFileIntoRoot(params) {
86127
86127
  maxBytes: params.maxBytes
86128
86128
  });
86129
86129
  } finally {
86130
- await fs$1.rm(tmpDir, {
86130
+ await fsPromises.rm(tmpDir, {
86131
86131
  recursive: true,
86132
86132
  force: true
86133
86133
  }).catch(() => {});