@bitseek/claw 1.2.2 → 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 (360) 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-BMaMDR6h.js → agents-BCJbDk2P.js} +4 -4
  7. package/dist/{agents.config-BSY7Z6IC.js → agents.config-BoNoGEQI.js} +2 -2
  8. package/dist/{agents.config-Bjwf3eo1.js → agents.config-DoxV5m9v.js} +1 -1
  9. package/dist/{api-key-rotation-j4O7qxMf.js → api-key-rotation-CuHjsofV.js} +1 -1
  10. package/dist/{audio-preflight-BkoTbTIH.js → audio-preflight-BClvbKMQ.js} +36 -36
  11. package/dist/{audio-preflight-Dd9DDvqB.js → audio-preflight-BWOdDA2n.js} +4 -4
  12. package/dist/{audio-transcription-runner-Bx53bUS2.js → audio-transcription-runner-DaoqvWoi.js} +1 -1
  13. package/dist/{audio-transcription-runner-CF_UP4C7.js → audio-transcription-runner-Dv-MCA8E.js} +22 -22
  14. package/dist/{audit-1YVlVmk7.js → audit-BAGbgihO.js} +29 -29
  15. package/dist/{auth-Co2g3d8d.js → auth-B9WdgDjZ.js} +1 -1
  16. package/dist/{auth-choice-BYuegxlw.js → auth-choice-CP6K5htW.js} +1 -1
  17. package/dist/{auth-choice-BpOvsd_n.js → auth-choice-CTCXt7WB.js} +12 -12
  18. package/dist/{auth-choice-BamWYpsc.js → auth-choice-FFUrxk0-.js} +14 -14
  19. package/dist/{auth-choice.apply-helpers-CQLQ5Tuk.js → auth-choice.apply-helpers-Dz2x-3CK.js} +1 -1
  20. package/dist/{auth-token-BjVRLcvi.js → auth-token-BPWVp11S.js} +1 -1
  21. package/dist/{banner-EymX6IpH.js → banner-V_1v329B.js} +1 -1
  22. package/dist/{bindings-Ck6aotGf.js → bindings-C0k4wFy7.js} +1 -1
  23. package/dist/{bonjour-discovery-CtUQb94i.js → bonjour-discovery-DXvZeG8M.js} +1 -1
  24. package/dist/{browser-cli-CaBLM5A6.js → browser-cli-BwtSgIvC.js} +12 -12
  25. package/dist/build-info.json +3 -3
  26. package/dist/bundled/boot-md/handler.js +6 -6
  27. package/dist/bundled/session-memory/handler.js +6 -6
  28. package/dist/{call-BGZQEHL4.js → call-B9Vrcbed.js} +10 -10
  29. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  30. package/dist/canvas-host/a2ui/a2ui.bundle.js +6027 -1405
  31. package/dist/{channel-account-context-C6rIxLzo.js → channel-account-context-CeGx9Aq7.js} +5 -5
  32. package/dist/{channel-options-bD8Nb_XT.js → channel-options-DmEaPgkZ.js} +3 -3
  33. package/dist/{channel-options-BbugzQSv.js → channel-options-Dsjb-V1F.js} +1 -1
  34. package/dist/{channel-selection-TZJgoz5h.js → channel-selection-BDdjozhi.js} +1 -1
  35. package/dist/{channel-web-BzKDism5.js → channel-web-mFdbEE2o.js} +18 -18
  36. package/dist/{channel-web-C8R11QOm.js → channel-web-wuxrfEJh.js} +1 -1
  37. package/dist/{channels-cli-B6ICcQiX.js → channels-cli-CCTczoJM.js} +94 -94
  38. package/dist/{channels-cli-DLh8uOwf.js → channels-cli-OZeQkPMG.js} +6 -6
  39. package/dist/{channels-status-issues-DeT1Znlx.js → channels-status-issues-Dir7g-Pc.js} +1 -1
  40. package/dist/{chrome-DzGCPEQK.js → chrome-2gfHr1cU.js} +4 -4
  41. package/dist/{chrome-C6zMSR36.js → chrome-CjTE-vWv.js} +8 -8
  42. package/dist/{clawbot-cli-Comysjn9.js → clawbot-cli-BMGBnmny.js} +5 -5
  43. package/dist/{cli-dy2BdjPZ.js → cli-YeYpjq2c.js} +1 -1
  44. package/dist/{cli-BT1aLbEG.js → cli-zsP2OqB6.js} +75 -75
  45. package/dist/{client-B91adiXh.js → client-BoUhzGrS.js} +2 -2
  46. package/dist/{command-registry-oV1633Vs.js → command-registry-okzYatr9.js} +9 -9
  47. package/dist/{commands-C6OLhl3n.js → commands-npgZubp3.js} +1 -1
  48. package/dist/{commands-registry-CVzTBX51.js → commands-registry-B5jHbfUL.js} +3 -3
  49. package/dist/{completion-cli-C9i-Dicb.js → completion-cli-BFxGdqak.js} +2 -2
  50. package/dist/{completion-cli-5z7Fk2X-.js → completion-cli-Dm9dt8iw.js} +12 -12
  51. package/dist/{config-cli-CENkfh8B.js → config-cli-CJVYN-g-.js} +7 -7
  52. package/dist/{config-cli-CpsK8BqN.js → config-cli-hwawfBlS.js} +1 -1
  53. package/dist/{config-guard-9BjlFVZx.js → config-guard-1SsvFO9G.js} +17 -17
  54. package/dist/{config-validation-BcxAhhcj.js → config-validation-BJ6PNk8H.js} +3 -3
  55. package/dist/{configure-boTkhg01.js → configure-DMwHaNHJ.js} +17 -17
  56. package/dist/{configure-DcXrqefi.js → configure-l-lM74c1.js} +3 -3
  57. package/dist/control-ui/assets/{index-DmJK8e2M.js → index-CKSSOzJL.js} +116 -116
  58. package/dist/control-ui/assets/{index-DmJK8e2M.js.map → index-CKSSOzJL.js.map} +1 -1
  59. package/dist/control-ui/assets/index-Ck63PFX9.css +1 -0
  60. package/dist/control-ui/index.html +2 -2
  61. package/dist/{control-ui-assets-B_3g_YF0.js → control-ui-assets-DpInddpx.js} +1 -1
  62. package/dist/{cron-cli-C8kDGh6_.js → cron-cli-CyEcKgVG.js} +12 -12
  63. package/dist/{daemon-cli-RKWFtF-K.js → daemon-cli-CB9c5SXP.js} +15 -15
  64. package/dist/{daemon-install-DsJ0L8HP.js → daemon-install-Bqjc3wky.js} +4 -4
  65. package/dist/{daemon-install-helpers-CMWYg4_W.js → daemon-install-helpers-CGZBs-X3.js} +11 -11
  66. package/dist/{dashboard-BhAYjl6n.js → dashboard-8HFxt9IY.js} +2 -2
  67. package/dist/{deliver-Bn10XzRP.js → deliver-D4ugOkLr.js} +7 -7
  68. package/dist/{deliver-DXa06hfk.js → deliver-xY3h9X6N.js} +1 -1
  69. package/dist/{devices-cli-DoJBheGs.js → devices-cli-Bp8AMOPE.js} +8 -8
  70. package/dist/{diagnostic-DRPetA8l.js → diagnostic-phUWJbF_.js} +1 -1
  71. package/dist/{diagnostics-BHQgZbuI.js → diagnostics-D_AmByNE.js} +5 -5
  72. package/dist/{directory-cli-Brla3Idn.js → directory-cli-Bt3I30_e.js} +8 -8
  73. package/dist/{dns-cli-rEvE1LG9.js → dns-cli-DaTrsB61.js} +5 -5
  74. package/dist/{dock-BXksV3sC.js → dock-swzevZbj.js} +4 -4
  75. package/dist/{docs-cli-DtThi0Xf.js → docs-cli--2Qgcpvs.js} +4 -4
  76. package/dist/{doctor-completion-BwIgzkLP.js → doctor-completion-UEYo4_U6.js} +2 -2
  77. package/dist/{doctor-completion-BySkhMZY.js → doctor-completion-wHIBxn-7.js} +1 -1
  78. package/dist/{doctor-config-flow-18ijj3KB.js → doctor-config-flow-DKaeaH2u.js} +15 -15
  79. package/dist/{enable-CJ75JA5u.js → enable-xlkWJvIn.js} +1 -1
  80. package/dist/entry.js +2 -2
  81. package/dist/{exec-approvals-allowlist-CGVHz3PX.js → exec-approvals-allowlist-fG-NsL-O.js} +1 -1
  82. package/dist/{exec-approvals-cli-DfcUJ9Sm.js → exec-approvals-cli-r7jbe_Rj.js} +16 -16
  83. package/dist/{exec-safe-bin-runtime-policy-D7olAQMf.js → exec-safe-bin-runtime-policy-B9kCrTY1.js} +2 -2
  84. package/dist/extensionAPI.js +1 -1
  85. package/dist/{fetch-guard-D6eclxeP.js → fetch-guard-N12H9lEe.js} +1 -1
  86. package/dist/{fs-safe-p5lyYI__.js → fs-safe-BGAE6eOQ.js} +24 -24
  87. package/dist/{gateway-cli-Dn-Yq6Tf.js → gateway-cli-BFo0WvJx.js} +70 -16
  88. package/dist/{gateway-cli-BVn-fVbw.js → gateway-cli-Bi6tzv7v.js} +222 -168
  89. package/dist/{gateway-rpc-CJVCek88.js → gateway-rpc-BHBGSN7Z.js} +1 -1
  90. package/dist/{health-Du4IbXAP.js → health-CDEXWvnu.js} +1 -1
  91. package/dist/{health-DmJq2Wph.js → health-DlFSsTw-.js} +14 -14
  92. package/dist/{hooks-cli-BhSZV-cM.js → hooks-cli-CMLpJr6I.js} +83 -83
  93. package/dist/{hooks-cli-BrT4aprv.js → hooks-cli-Deo01lF6.js} +2 -2
  94. package/dist/{hooks-status-ONaKEpUH.js → hooks-status-inMD7sD-.js} +1 -1
  95. package/dist/{image-B270IRGo.js → image-BzR2twGI.js} +5 -5
  96. package/dist/{image-Dd4lgi4H.js → image-DCyaYY2d.js} +1 -1
  97. package/dist/{plugin-sdk/image-ops-DulHE5Qc.js → image-ops-B6BeXmZU.js} +12 -12
  98. package/dist/index.js +85 -85
  99. package/dist/{inspect-C0e0Dmvg.js → inspect-BwbOLUun.js} +4 -4
  100. package/dist/{install-safe-path-CSqVUjL8.js → install-safe-path-DodF6oyk.js} +25 -25
  101. package/dist/{installs-BXOZ3DXs.js → installs-8bzJi35e.js} +9 -9
  102. package/dist/{ipv4-Bk-doiEE.js → ipv4-BY_PmkpX.js} +1 -1
  103. package/dist/{ir-BGgl4f9u.js → ir-vGBxQkIg.js} +6 -6
  104. package/dist/{issue-format-rk9Vpcxd.js → issue-format-B4oxePhU.js} +1 -1
  105. package/dist/{json-files-bJqSYqgg.js → json-files-C7p5SEie.js} +8 -8
  106. package/dist/{lifecycle-core-Bqse41aA.js → lifecycle-core-C5a4clqu.js} +5 -5
  107. package/dist/llm-slug-generator.js +6 -6
  108. package/dist/{local-roots-jW0nhxVT.js → local-roots-Dcc5UeD8.js} +3 -3
  109. package/dist/{login-B2B75WGK.js → login-BM9p9nig.js} +3 -3
  110. package/dist/{login-qr-YjUycQZT.js → login-qr-CB4JWkHM.js} +6 -6
  111. package/dist/{logs-cli-Dyid6hUQ.js → logs-cli-DGdXLEv-.js} +9 -9
  112. package/dist/{manager-C9rftBaE.js → manager-X8AF3rQJ.js} +14 -14
  113. package/dist/{manifest-registry-B_U2pKBU.js → manifest-registry-HNrtHxxI.js} +1 -1
  114. package/dist/{markdown-tables-B5l_33qL.js → markdown-tables-XmfG1bwr.js} +1 -1
  115. package/dist/{memory-cli-o3L9NN74.js → memory-cli-87nxADqy.js} +12 -12
  116. package/dist/{model-FnrgCVyS.js → model-CESXYutI.js} +2 -2
  117. package/dist/{model-catalog-CjA5pRJF.js → model-catalog-DUHxH2xb.js} +3 -3
  118. package/dist/{model-picker-CMgjcqV_.js → model-picker-D705WMPf.js} +4 -4
  119. package/dist/{model-selection-xdfZxwgB.js → model-selection-DCo8MhsE.js} +16 -16
  120. package/dist/{models-BEMBo-jJ.js → models-CgguB_MH.js} +2 -2
  121. package/dist/{models-cli-CJCNoVhQ.js → models-cli-9x2mp4Ac.js} +85 -85
  122. package/dist/{models-cli-Bj5d7qpe.js → models-cli-BEb0DHSP.js} +3 -3
  123. package/dist/{models-config-Do1Ur_ov.js → models-config-Bgpjcu8R.js} +6 -6
  124. package/dist/{node-cli-DYOdgLUu.js → node-cli-DJnihsNr.js} +33 -33
  125. package/dist/{node-command-policy-BKUs_pS2.js → node-command-policy-BiPTB8BK.js} +1 -1
  126. package/dist/{node-service-6W3vqgVv.js → node-service-CfKJ5oC1.js} +1 -1
  127. package/dist/{nodes-cli-CQzck2kc.js → nodes-cli-4kBrEEti.js} +16 -16
  128. package/dist/{nodes-screen-Dptoharj.js → nodes-screen-FWjD2j3v.js} +7 -7
  129. package/dist/{npm-pack-install-Byr0kgft.js → npm-pack-install-CXheGnb0.js} +18 -18
  130. package/dist/{npm-resolution-BHQDGwrV.js → npm-resolution-DIr_TibO.js} +5 -5
  131. package/dist/{npm-resolution-DyqMvaHn.js → npm-resolution-T8SphiP5.js} +1 -1
  132. package/dist/{onboard-CUFDJWvM.js → onboard-B_MoYnrn.js} +2 -2
  133. package/dist/{onboard-DpLm6YX6.js → onboard-DEFQu6dU.js} +6 -6
  134. package/dist/{onboard-channels-i1FFoaW7.js → onboard-channels-BLZ8FdVP.js} +1 -1
  135. package/dist/{onboard-channels-CrxnmwMd.js → onboard-channels-BuG5-e60.js} +20 -20
  136. package/dist/{onboard-custom-Bow6lZPm.js → onboard-custom-HI7NPx1u.js} +3 -3
  137. package/dist/{onboard-custom.shared-CBRRhb95.js → onboard-custom.shared-SWx67Er2.js} +2 -2
  138. package/dist/{onboard-helpers-B1AEo6oL.js → onboard-helpers-Jc1-4LBc.js} +11 -11
  139. package/dist/{onboard-hooks-CtxRk6l_.js → onboard-hooks-DFjIpeE_.js} +4 -4
  140. package/dist/{onboard-remote-DmHpLoWf.js → onboard-remote-BLAyUeAO.js} +3 -3
  141. package/dist/{onboard-skills-DwpZY5tZ.js → onboard-skills--XkA2Jj4.js} +4 -4
  142. package/dist/{onboarding-Wve1--YA.js → onboarding-BQ2WB7tp.js} +13 -13
  143. package/dist/{onboarding-ORzDCBo6.js → onboarding-CSnr51pR.js} +3 -3
  144. package/dist/{onboarding.finalize-DH8INVdN.js → onboarding.finalize-BlMlIFRW.js} +6 -6
  145. package/dist/{onboarding.finalize-BoXDIiNp.js → onboarding.finalize-DAbr5Ar8.js} +87 -87
  146. package/dist/{onboarding.gateway-config-wXH6gE7c.js → onboarding.gateway-config-CMKjEPRA.js} +18 -18
  147. package/dist/{openai-model-default-Q7Hmy0eQ.js → openai-model-default-BTNz1OzV.js} +2 -2
  148. package/dist/{outbound-DlVJWa4u.js → outbound-Bf7VAx0-.js} +4 -4
  149. package/dist/{outbound-attachment-CZh4VjhT.js → outbound-attachment-Df5o7JIG.js} +2 -2
  150. package/dist/{pairing-cli-DAMLvDcA.js → pairing-cli-CA7Dxs-g.js} +9 -9
  151. package/dist/{pairing-labels-Cl7ROILg.js → pairing-labels-BBti3jJg.js} +1 -1
  152. package/dist/{pairing-store-DdZ0xMD7.js → pairing-store-DY0yrkuM.js} +3 -3
  153. package/dist/{path-alias-guards-DWh6tSaP.js → path-alias-guards-BNzjbOwM.js} +3 -3
  154. package/dist/{path-safety-COhgvniC.js → path-safety-dmCI2tpN.js} +1 -1
  155. package/dist/{paths-AxolTUEH.js → paths-BZfURxkW.js} +9 -9
  156. package/dist/{pi-embedded-DnavjoU4.js → pi-embedded-Bacc2S0h.js} +50 -22
  157. package/dist/{pi-embedded-DDt-4VY9.js → pi-embedded-Claxav22.js} +30 -2
  158. package/dist/{pi-embedded-helpers-BErNo2oq.js → pi-embedded-helpers-CMTVhLjq.js} +3 -3
  159. package/dist/{pi-embedded-helpers-ZTn-T7tW.js → pi-embedded-helpers-D3nc5XJW.js} +6 -6
  160. package/dist/{pi-model-discovery-DVhDvAnA.js → pi-model-discovery-BSytrsu4.js} +1 -1
  161. package/dist/{pi-tools.policy-eyXj0EY5.js → pi-tools.policy-Dwsq-Yaf.js} +5 -5
  162. package/dist/{plugin-auto-enable-D1WySsnE.js → plugin-auto-enable-4zXn-eVS.js} +3 -3
  163. package/dist/{plugin-registry-eOikaO9b.js → plugin-registry-CxFikiLF.js} +1 -1
  164. package/dist/{plugin-registry-CFL5j9cN.js → plugin-registry-DsZTkNKu.js} +3 -3
  165. package/dist/plugin-sdk/{accounts-COLYAAOx.js → accounts-4WE2wtsW.js} +1 -1
  166. package/dist/plugin-sdk/{accounts-BZrkOo6-.js → accounts-AbI8uETR.js} +1 -1
  167. package/dist/plugin-sdk/{accounts-D_pT5EjF.js → accounts-BYcizTXn.js} +3 -3
  168. package/dist/plugin-sdk/{active-listener-DxBXcWm_.js → active-listener-pnqLAUOh.js} +1 -1
  169. package/dist/plugin-sdk/{agent-scope-DT5pxpJB.js → agent-scope-_j3fIYCK.js} +3 -3
  170. package/dist/plugin-sdk/{api-key-rotation-Dl6Ad7Nj.js → api-key-rotation-CYI51U_M.js} +2 -2
  171. package/dist/plugin-sdk/{audio-preflight-CkPj4OVY.js → audio-preflight-BTRRjPew.js} +33 -33
  172. package/dist/plugin-sdk/{audio-transcription-runner-BBn9jEMg.js → audio-transcription-runner-DFZS7uCO.js} +10 -10
  173. package/dist/plugin-sdk/{bindings-BSfhEjKN.js → bindings-CxxzC7gn.js} +2 -2
  174. package/dist/plugin-sdk/{channel-activity-DAEbma-o.js → channel-activity-B3yZ-f-m.js} +3 -3
  175. package/dist/plugin-sdk/{channel-web-MpDUG9SU.js → channel-web-D2q54sK-.js} +23 -23
  176. package/dist/plugin-sdk/{chrome-Dn0G4NoF.js → chrome-oPevdeh5.js} +7 -7
  177. package/dist/plugin-sdk/{chunk-cvtXztAT.js → chunk-BPyPeheZ.js} +1 -1
  178. package/dist/plugin-sdk/{command-format-BOJz3y1v.js → command-format-DvyMEXQo.js} +1 -1
  179. package/dist/plugin-sdk/{commands-registry-CZWv_JwZ.js → commands-registry-Dk8re8Lz.js} +5 -5
  180. package/dist/plugin-sdk/{config-DAwOhnVF.js → config-D7I2_X4P.js} +10 -10
  181. package/dist/plugin-sdk/{deliver-PdH-MCq8.js → deliver-NrIHn0__.js} +11 -11
  182. package/dist/plugin-sdk/{diagnostic-BZvj-qNu.js → diagnostic-DL3k_wRi.js} +2 -2
  183. package/dist/plugin-sdk/{dock-BdR3OYZn.js → dock-CjdkiLH7.js} +6 -6
  184. package/dist/plugin-sdk/{errors-jusxdu7M.js → errors-DFTN4h2I.js} +1 -1
  185. package/dist/plugin-sdk/{fetch-guard-Dary6WwJ.js → fetch-guard-BivEyA4v.js} +2 -2
  186. package/dist/plugin-sdk/{fs-safe-DMCE0ej9.js → fs-safe-B256n7Ff.js} +3 -3
  187. package/dist/plugin-sdk/{image-B3A2l2ep.js → image-CkPzr3XN.js} +6 -6
  188. package/dist/{image-ops-BAMcbVMS.js → plugin-sdk/image-ops-C9GXWF3o.js} +2 -2
  189. package/dist/plugin-sdk/index.js +64 -64
  190. package/dist/plugin-sdk/{ir-BFXiJrsN.js → ir-BIm-jvIK.js} +6 -6
  191. package/dist/plugin-sdk/{local-roots-DssN60r6.js → local-roots-2AOXGUXW.js} +4 -4
  192. package/dist/plugin-sdk/{logger-Cr-x0vMf.js → logger-CNhs9eKJ.js} +1 -1
  193. package/dist/plugin-sdk/{login-D0ul3-6C.js → login-BcLiF9tC.js} +6 -6
  194. package/dist/plugin-sdk/{login-qr-XWKTFBuI.js → login-qr-GyPUodKJ.js} +9 -9
  195. package/dist/plugin-sdk/{manager-DGx_cF54.js → manager-DYLqNUb4.js} +10 -10
  196. package/dist/plugin-sdk/{markdown-tables-CsQpDNU5.js → markdown-tables-D9mmqMKi.js} +1 -1
  197. package/dist/plugin-sdk/{message-channel-CvNq-esz.js → message-channel-_CEZcqxE.js} +1 -1
  198. package/dist/plugin-sdk/{outbound-D29FHlQl.js → outbound-DdTsUaXa.js} +7 -7
  199. package/dist/plugin-sdk/{outbound-attachment-DRHrZUOx.js → outbound-attachment--hkuIDR1.js} +2 -2
  200. package/dist/plugin-sdk/{path-alias-guards-DpKV1B5p.js → path-alias-guards-BqUCBfUg.js} +1 -1
  201. package/dist/plugin-sdk/{pi-embedded-helpers-CKEUWckk.js → pi-embedded-helpers-CTfvZz83.js} +17 -17
  202. package/dist/plugin-sdk/{pi-model-discovery-BPeQq9XM.js → pi-model-discovery-CK3Ih_kq.js} +1 -1
  203. package/dist/plugin-sdk/{plugins-DF_dKXTR.js → plugins-BpHAMNJ1.js} +6 -6
  204. package/dist/plugin-sdk/{proxy-BfmEDoun.js → proxy-BJdRZOnJ.js} +1 -1
  205. package/dist/plugin-sdk/{proxy-fetch-BpHIgvBk.js → proxy-fetch-jmbopGcm.js} +1 -1
  206. package/dist/plugin-sdk/{pw-ai-BmmXDjtm.js → pw-ai-D0Kx7w1D.js} +13 -13
  207. package/dist/plugin-sdk/{qmd-manager-3hQbqkm5.js → qmd-manager-BDcutPp9.js} +8 -8
  208. package/dist/plugin-sdk/{query-expansion-BOGLUWB7.js → query-expansion-C_X8SyEA.js} +2 -2
  209. package/dist/plugin-sdk/{redact-BOuKZWXa.js → redact-DH8u23pF.js} +1 -1
  210. package/dist/plugin-sdk/{registry-Cv-oHUj1.js → registry-HF8_S7QO.js} +2 -2
  211. package/dist/plugin-sdk/{replies-CddwWBTJ.js → replies-DbjvV4gf.js} +3 -3
  212. package/dist/plugin-sdk/{reply-wHFXod4j.js → reply-Cs_Ks2Mr.js} +121 -93
  213. package/dist/plugin-sdk/{reply-prefix-DXthVxCx.js → reply-prefix-KODsMNJ-.js} +1 -1
  214. package/dist/plugin-sdk/{resolve-outbound-target-D3Y4F2Le.js → resolve-outbound-target-BPT4aNiD.js} +2 -2
  215. package/dist/plugin-sdk/{resolve-route-DuwYYn4a.js → resolve-route-De2B5QY_.js} +4 -4
  216. package/dist/plugin-sdk/{retry-BMcrIz7L.js → retry-pZ8iKytf.js} +1 -1
  217. package/dist/plugin-sdk/{send-D0AaWnIj.js → send-1uW-uqPf.js} +7 -7
  218. package/dist/plugin-sdk/{send-C5USYGq7.js → send-BoNw1Bki.js} +8 -8
  219. package/dist/plugin-sdk/{send-B0ztz6QC.js → send-C-Rd2stz.js} +6 -6
  220. package/dist/plugin-sdk/{send-DJzwu8kk.js → send-CZIN8SDx.js} +15 -15
  221. package/dist/plugin-sdk/{send-DEyQJTzd.js → send-wCqsQs_s.js} +10 -10
  222. package/dist/plugin-sdk/{session-meta-ChWvKVWj.js → session-meta-7J-uHiM_.js} +1 -1
  223. package/dist/plugin-sdk/{session-BA7tVDpV.js → session-ooYcB82T.js} +5 -5
  224. package/dist/plugin-sdk/{sessions-BXps6YzJ.js → sessions-lAIo5l8W.js} +6 -6
  225. package/dist/plugin-sdk/{skill-commands-B20uUsji.js → skill-commands-D1Q6hGS4.js} +5 -5
  226. package/dist/plugin-sdk/{skills-DXOTei42.js → skills-BWSDv2F_.js} +8 -8
  227. package/dist/plugin-sdk/{ssrf-Doxv9M7Q.js → ssrf-JKDwTi8i.js} +1 -1
  228. package/dist/plugin-sdk/{store-BZbE1V-C.js → store-BMeqzQAf.js} +2 -2
  229. package/dist/plugin-sdk/{subsystem-CM1s2lDT.js → subsystem-B0V8LFBA.js} +2 -2
  230. package/dist/plugin-sdk/{tables-BhH8EIqU.js → tables-DCSeBGBz.js} +1 -1
  231. package/dist/{target-errors-B1cYmIjq.js → plugin-sdk/target-errors-0u6pegQv.js} +2 -2
  232. package/dist/plugin-sdk/{tokens-DIE-Bf72.js → tokens-DF2_VTJy.js} +1 -1
  233. package/dist/plugin-sdk/{tool-images-heXfaJdb.js → tool-images-BbsgbHMZ.js} +2 -2
  234. package/dist/plugin-sdk/{tool-loop-detection-CygMSQUK.js → tool-loop-detection-JkCpGrfk.js} +2 -2
  235. package/dist/plugin-sdk/{utils-BcL6KGZf.js → utils-BfVxx6bk.js} +1 -1
  236. package/dist/plugin-sdk/web-B35hdNQ-.js +72 -0
  237. package/dist/plugin-sdk/{whatsapp-actions-CRean1yN.js → whatsapp-actions-tVcrGNQc.js} +25 -25
  238. package/dist/{plugins-CKWxMohB.js → plugins-Ce8ThYGQ.js} +2 -2
  239. package/dist/{plugins-cli-DrlRj_8V.js → plugins-cli-DxFh5OQi.js} +85 -85
  240. package/dist/{plugins-cli-Bg6sFJYH.js → plugins-cli-bHHZzKd-.js} +2 -2
  241. package/dist/{ports-DppAHKM-.js → ports-DXMCFRgn.js} +2 -2
  242. package/dist/{ports-BL-FP2jP.js → ports-wtEwdqsX.js} +1 -1
  243. package/dist/{program-BQ8WwHMi.js → program-DnjsZxiJ.js} +7 -7
  244. package/dist/{program-context-BWsBkMJn.js → program-context-36wFBslW.js} +43 -43
  245. package/dist/{prompt-select-styled-DbUQHcBh.js → prompt-select-styled-BkpL6eKQ.js} +4 -4
  246. package/dist/{prompt-select-styled-CLCyaJAG.js → prompt-select-styled-CJt-zhnt.js} +39 -39
  247. package/dist/{provider-auth-helpers-CKpEFImN.js → provider-auth-helpers-BFsLtU8g.js} +1 -1
  248. package/dist/{provider-auth-helpers-CdTLpxG1.js → provider-auth-helpers-DeJ105rb.js} +5 -5
  249. package/dist/{proxy-env-ClbXa7vn.js → proxy-env-DhFUQlwP.js} +1 -1
  250. package/dist/{push-apns-CVnc3jrx.js → push-apns-BSlKJa83.js} +1 -1
  251. package/dist/{push-apns-B_GGZO2Z.js → push-apns-SIM2es-Y.js} +5 -5
  252. package/dist/{pw-ai-D21rIJ2z.js → pw-ai-BOQE6s45.js} +15 -15
  253. package/dist/{pw-ai-pkfCxzhV.js → pw-ai-DGwA7iCM.js} +1 -1
  254. package/dist/{qmd-manager-BD6lfN35.js → qmd-manager-DVKj0i6T.js} +20 -20
  255. package/dist/{qr-cli-BQGJJ5hp.js → qr-cli-Z4_Y6bva.js} +1 -1
  256. package/dist/{query-expansion-Dl85zpSb.js → query-expansion-B9kneDbd.js} +12 -12
  257. package/dist/{redact-snapshot-DCGL0k2M.js → redact-snapshot-BI4Ryuhy.js} +1 -1
  258. package/dist/{register.agent-BxMqGoLQ.js → register.agent-C-OmdJMe.js} +7 -7
  259. package/dist/{register.agent-BwCayvbD.js → register.agent-Cd2LVcga.js} +100 -100
  260. package/dist/{register.configure-PCuADy_e.js → register.configure-CaSRlI6h.js} +7 -7
  261. package/dist/register.configure-DGIWBQvN.js +174 -0
  262. package/dist/{register.init-DWQDniBg.js → register.init-DpFUY5Ed.js} +15 -15
  263. package/dist/{register.maintenance-jHaU-XSR.js → register.maintenance-DAU-mVIz.js} +97 -97
  264. package/dist/{register.maintenance-CW5_urTq.js → register.maintenance-R4RCi4f3.js} +8 -8
  265. package/dist/{register.message-ByUxZi3s.js → register.message-5hKmcWaB.js} +2 -2
  266. package/dist/{register.message-DPlqIVvv.js → register.message-B0CI0Q4o.js} +76 -76
  267. package/dist/{register.onboard-BC4wpDdz.js → register.onboard-BGhXUfbX.js} +18 -18
  268. package/dist/{register.onboard-B-8WoYZr.js → register.onboard-Di7iClKl.js} +2 -2
  269. package/dist/{register.setup-CZ9a3M_O.js → register.setup-Dm_dHAB-.js} +2 -2
  270. package/dist/{register.setup-BQQX0yB6.js → register.setup-nlXy06aa.js} +21 -21
  271. package/dist/{register.start-BHASi8Um.js → register.start-Dzss99ZY.js} +17 -17
  272. package/dist/{register.status-health-sessions-BRJgE7jh.js → register.status-health-sessions-B4eNiGWS.js} +89 -89
  273. package/dist/{register.status-health-sessions-BKLWh2aq.js → register.status-health-sessions-lOM_lb6H.js} +3 -3
  274. package/dist/{register.subclis-DKG1KoTd.js → register.subclis-1MobNhis.js} +9 -9
  275. package/dist/{replies-B6SXcEs0.js → replies-k5K96_46.js} +1 -1
  276. package/dist/{reply-ezOUjaUp.js → reply-DQMWsIE2.js} +185 -156
  277. package/dist/{reply-prefix-BttpF8VB.js → reply-prefix-aBvAQX6L.js} +1 -1
  278. package/dist/{resolve-route-Ck23oGqS.js → resolve-route-R565qQgt.js} +2 -2
  279. package/dist/{rpc-9jE_1PW0.js → rpc-CMyUzpcT.js} +1 -1
  280. package/dist/{run-main-CGAXqlRX.js → run-main-CFGtfsPd.js} +14 -14
  281. package/dist/{runtime-Rd7ooKB0.js → runtime-D64ACWoX.js} +2 -2
  282. package/dist/{sandbox-BKa5RrBl.js → sandbox-DH9YtUfB.js} +18 -18
  283. package/dist/{sandbox-cli-BnpEc205.js → sandbox-cli-B1ThXy7C.js} +26 -26
  284. package/dist/{secrets-cli-CIxUNZyC.js → secrets-cli-BEjJ3GP-.js} +10 -10
  285. package/dist/{security-cli-BqOOeGxS.js → security-cli-Zma5k5BZ.js} +43 -43
  286. package/dist/{send-DuNBSJln.js → send-BQVNhO4Q.js} +5 -5
  287. package/dist/{send-SZBhACLn.js → send-CFUSH9C-.js} +8 -8
  288. package/dist/{send-Cua2kS5v.js → send-CabiU1-J.js} +6 -6
  289. package/dist/{send-ByUfPpKj.js → send-DmVTXBWW.js} +11 -11
  290. package/dist/{send-BntubUtK.js → send-NexNe2Wh.js} +6 -6
  291. package/dist/{server-Ct0J5VXf.js → server-DQ7D-B-v.js} +19 -19
  292. package/dist/{server-context-DWxmyV-0.js → server-context-Cr-Y4i6P.js} +12 -12
  293. package/dist/{server-lifecycle-B7aXKxY3.js → server-lifecycle-BVnXIEfI.js} +2 -2
  294. package/dist/{server-middleware-CO1brrgv.js → server-middleware-zyvA9rl9.js} +1 -1
  295. package/dist/{server-node-events-BHkXD38g.js → server-node-events-oa4mOmsp.js} +76 -76
  296. package/dist/{server-node-events-D_9Quh-1.js → server-node-events-yFZiE04b.js} +2 -2
  297. package/dist/{service-DqxfCr8y.js → service-BcFhE63y.js} +15 -15
  298. package/dist/{session-FOGqE7bj.js → session-Dl3x3d75.js} +1 -1
  299. package/dist/{session-meta-C-ox3bdI.js → session-meta-C6MooccR.js} +1 -1
  300. package/dist/{sessions-BpuJ64B0.js → sessions-sIaYsUyX.js} +15 -15
  301. package/dist/{shared-CgFPGTLU.js → shared-DNcLp2mA.js} +3 -3
  302. package/dist/{shared-BmSv3K8N.js → shared-sFrejcA4.js} +1 -1
  303. package/dist/{skill-commands-COl0HE54.js → skill-commands-C2_BOuyl.js} +5 -5
  304. package/dist/{skill-scanner-CsmM5F4F.js → skill-scanner-DYkQAh0l.js} +6 -6
  305. package/dist/{skills-BeFcXCoN.js → skills-BXLKd7i5.js} +3 -3
  306. package/dist/{skills-cli-D3ZteX5N.js → skills-cli-DrN4v5_m.js} +5 -5
  307. package/dist/{skills-install-B_Vda3dM.js → skills-install-CSfh8nRm.js} +6 -6
  308. package/dist/{skills-status-BEq0_fOn.js → skills-status-C7Q6Ezbv.js} +1 -1
  309. package/dist/{status-CwKeOASs.js → status-mS4bWnIW.js} +2 -2
  310. package/dist/{status-DjnNnvyr.js → status-rMgdZcE5.js} +25 -25
  311. package/dist/{status.update-HwSPC5ZX.js → status.update-D4GfnNDI.js} +2 -2
  312. package/dist/{store-B-nkOSsv.js → store-CRcBie8T.js} +5 -5
  313. package/dist/{subagent-registry-CfKMgII6.js → subagent-registry-CXBreqUP.js} +31 -2
  314. package/dist/{system-cli-IYwpBiC6.js → system-cli-Bscj57lL.js} +9 -9
  315. package/dist/{system-run-command-C3OIMtEu.js → system-run-command-Cn5yQ2rv.js} +1 -1
  316. package/dist/{systemd-DJ5Red-Q.js → systemd-BIfjzi-4.js} +9 -9
  317. package/dist/{systemd-hints-D40Qx3hg.js → systemd-hints-CgtHwBfD.js} +6 -6
  318. package/dist/{systemd-linger-BK6kig-o.js → systemd-linger-0Vho6LMt.js} +1 -1
  319. package/dist/{tables-C9_oCtRN.js → tables-C5n2nXbu.js} +1 -1
  320. package/dist/{tailnet-BYBKD8Kh.js → tailnet-C8NwaQEp.js} +1 -1
  321. package/dist/{plugin-sdk/target-errors-QZay02Cv.js → target-errors-cerGxvCB.js} +4 -4
  322. package/dist/{tool-images-QWbHWc0F.js → tool-images-CgSADinH.js} +1 -1
  323. package/dist/{tui-Dd6DhgjX.js → tui-DNT0WnU-.js} +6 -6
  324. package/dist/{tui-cli-C3PCazFC.js → tui-cli-DTFq2wGK.js} +33 -33
  325. package/dist/{update-B1Dhhu_3.js → update-Mb6BH0o9.js} +3 -3
  326. package/dist/{update-cli-BCH7o0oB.js → update-cli--qEz2_Eg.js} +109 -105
  327. package/dist/{update-cli-Dcvb1LZT.js → update-cli-Dbb1EPi2.js} +12 -8
  328. package/dist/{update-runner-l9K_q6Kz.js → update-runner-C9noXbfV.js} +10 -3
  329. package/dist/{update-runner-rrlmopJw.js → update-runner-Dj_CAfd4.js} +25 -18
  330. package/dist/{web-CsfqGSAa.js → web-BKrNiKsU.js} +2 -2
  331. package/dist/web-BQRkxG9u.js +126 -0
  332. package/dist/{web-BJ_nNwKp.js → web-CDHXvGxm.js} +6 -6
  333. package/dist/{web-C9QAX9EH.js → web-DJKitOpu.js} +1 -1
  334. package/dist/{webhooks-cli-BFdw7BAP.js → webhooks-cli-uXE9EOwT.js} +6 -6
  335. package/dist/{whatsapp-actions-CNoiLzRB.js → whatsapp-actions-DeX4x9sq.js} +19 -19
  336. package/dist/{with-timeout-tSH4Tex_.js → with-timeout-C-EETHnf.js} +3 -3
  337. package/dist/{workspace-dKMB109Q.js → workspace-1nc7aTpg.js} +1 -1
  338. package/dist/{workspace-CRdln__H.js → workspace-TersEUYu.js} +23 -23
  339. package/dist/{workspace-dirs-DcAUEsSG.js → workspace-dirs-DxTFH1r3.js} +1 -1
  340. package/dist/{ws-DKbBt0us.js → ws-E9v842O2.js} +2 -2
  341. package/dist/{wsl-yjQQ-PJd.js → wsl-Dg6XQcw5.js} +2 -2
  342. package/extensions/diagnostics-otel/node_modules/.bin/acorn +21 -0
  343. package/extensions/googlechat/node_modules/.bin/nlc +21 -0
  344. package/extensions/googlechat/node_modules/.bin/node-llama-cpp +21 -0
  345. package/extensions/googlechat/node_modules/.bin/openclaw +2 -2
  346. package/extensions/googlechat/node_modules/.bin/tsc +21 -0
  347. package/extensions/googlechat/node_modules/.bin/tsserver +21 -0
  348. package/extensions/memory-core/node_modules/.bin/nlc +21 -0
  349. package/extensions/memory-core/node_modules/.bin/node-llama-cpp +21 -0
  350. package/extensions/memory-core/node_modules/.bin/openclaw +2 -2
  351. package/extensions/memory-core/node_modules/.bin/tsc +21 -0
  352. package/extensions/memory-core/node_modules/.bin/tsserver +21 -0
  353. package/extensions/memory-lancedb/node_modules/.bin/arrow2csv +21 -0
  354. package/extensions/nostr/node_modules/.bin/tsc +21 -0
  355. package/extensions/nostr/node_modules/.bin/tsserver +21 -0
  356. package/package.json +2 -5
  357. package/dist/control-ui/assets/index-B5WC_0Be.css +0 -1
  358. package/dist/plugin-sdk/web-DbkpdVSZ.js +0 -72
  359. package/dist/register.configure-Bv4KP_MD.js +0 -174
  360. package/dist/web-CtrUXk94.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,108 +17,109 @@ 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";
122
+ import { o as BITSEEK_PROVIDER_ID } from "./constants-BJiQF5Ae.js";
122
123
  import { a as resolveContextWindowInfo, i as resolveContextWindowHardMinTokens, n as CONTEXT_WINDOW_WARN_BELOW_TOKENS, r as evaluateContextWindowGuard } from "./context-window-guard-BNuaId5E.js";
123
124
  import { createRequire } from "node:module";
124
125
  import { fileURLToPath } from "node:url";
@@ -127,7 +128,7 @@ import os, { homedir } from "node:os";
127
128
  import path, { isAbsolute } from "node:path";
128
129
  import JSON5 from "json5";
129
130
  import { inspect } from "node:util";
130
- import fs$1 from "node:fs/promises";
131
+ import fsPromises from "node:fs/promises";
131
132
  import { execFileSync, spawn, spawnSync } from "node:child_process";
132
133
  import crypto, { createHash, createHmac, randomBytes, randomUUID } from "node:crypto";
133
134
  import { complete, completeSimple, createAssistantMessageEventStream, streamSimple } from "@mariozechner/pi-ai";
@@ -1044,7 +1045,7 @@ async function sendTranscriptEcho(params) {
1044
1045
  }
1045
1046
  const text = formatEchoTranscript(transcript, params.format ?? DEFAULT_ECHO_TRANSCRIPT_FORMAT);
1046
1047
  try {
1047
- const { deliverOutboundPayloads } = await import("./deliver-Bn10XzRP.js").then((n) => n.n);
1048
+ const { deliverOutboundPayloads } = await import("./deliver-D4ugOkLr.js").then((n) => n.n);
1048
1049
  await deliverOutboundPayloads({
1049
1050
  cfg,
1050
1051
  channel: normalizedChannel,
@@ -2364,7 +2365,7 @@ async function resolveAgentSessionDirs(stateDir) {
2364
2365
  const agentsDir = path.join(stateDir, "agents");
2365
2366
  let entries = [];
2366
2367
  try {
2367
- entries = await fs$1.readdir(agentsDir, { withFileTypes: true });
2368
+ entries = await fsPromises.readdir(agentsDir, { withFileTypes: true });
2368
2369
  } catch (err) {
2369
2370
  if (err.code === "ENOENT") return [];
2370
2371
  throw err;
@@ -8218,7 +8219,7 @@ async function resolveSandboxWorkdir(params) {
8218
8219
  cwd: process.cwd(),
8219
8220
  root: params.sandbox.workspaceDir
8220
8221
  });
8221
- 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");
8222
8223
  const relative = resolved.relative ? resolved.relative.split(path.sep).join(path.posix.sep) : "";
8223
8224
  const containerWorkdir = relative ? path.posix.join(params.sandbox.containerWorkdir, relative) : params.sandbox.containerWorkdir;
8224
8225
  return {
@@ -9462,13 +9463,13 @@ async function validateScriptFileForShellBleed(params) {
9462
9463
  cwd: params.workdir,
9463
9464
  root: params.workdir
9464
9465
  });
9465
- stat = await fs$1.stat(absPath);
9466
+ stat = await fsPromises.stat(absPath);
9466
9467
  } catch {
9467
9468
  return;
9468
9469
  }
9469
9470
  if (!stat.isFile()) return;
9470
9471
  if (stat.size > 512 * 1024) return;
9471
- const content = await fs$1.readFile(absPath, "utf-8");
9472
+ const content = await fsPromises.readFile(absPath, "utf-8");
9472
9473
  const first = /\$[A-Z_][A-Z0-9_]{1,}/g.exec(content);
9473
9474
  if (first) {
9474
9475
  const idx = first.index;
@@ -15413,7 +15414,7 @@ async function routeReply(params) {
15413
15414
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
15414
15415
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
15415
15416
  try {
15416
- const { deliverOutboundPayloads } = await import("./deliver-Bn10XzRP.js").then((n) => n.n);
15417
+ const { deliverOutboundPayloads } = await import("./deliver-D4ugOkLr.js").then((n) => n.n);
15417
15418
  const outboundSession = buildOutboundSessionContext({
15418
15419
  cfg,
15419
15420
  agentId: resolvedAgentId,
@@ -25502,8 +25503,8 @@ async function describeStickerImage(params) {
25502
25503
  const { provider, model } = resolved;
25503
25504
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
25504
25505
  try {
25505
- const buffer = await fs$1.readFile(imagePath);
25506
- 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);
25507
25508
  return (await describeImageWithModel({
25508
25509
  buffer,
25509
25510
  fileName: "sticker.webp",
@@ -27092,7 +27093,7 @@ async function resolveDiscordPreflightAudioMentionContext(params) {
27092
27093
  const needsPreflightTranscription = !params.isDirectMessage && params.shouldRequireMention && hasAudioAttachment && !hasTypedText && params.mentionRegexes.length > 0;
27093
27094
  let transcript;
27094
27095
  if (needsPreflightTranscription) try {
27095
- const { transcribeFirstAudio } = await import("./audio-preflight-BkoTbTIH.js");
27096
+ const { transcribeFirstAudio } = await import("./audio-preflight-BClvbKMQ.js");
27096
27097
  const audioUrls = audioAttachments.map((att) => att.url).filter((url) => typeof url === "string" && url.length > 0);
27097
27098
  if (audioUrls.length > 0) transcript = await transcribeFirstAudio({
27098
27099
  ctx: {
@@ -30958,7 +30959,7 @@ function ensureContextWindowCacheLoaded() {
30958
30959
  await ensureOpenClawModelsJson(cfg);
30959
30960
  } catch {}
30960
30961
  try {
30961
- 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);
30962
30963
  const agentDir = resolveOpenClawAgentDir();
30963
30964
  const modelRegistry = discoverModels(discoverAuthStorage(agentDir), agentDir);
30964
30965
  applyDiscoveredContextWindows({
@@ -31304,7 +31305,7 @@ async function createModelSelectionState(params) {
31304
31305
  }
31305
31306
  }
31306
31307
  if (sessionEntry && sessionStore && sessionKey && sessionEntry.authProfileOverride) {
31307
- 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);
31308
31309
  const profile = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false }).profiles[sessionEntry.authProfileOverride];
31309
31310
  const providerKey = normalizeProviderId(provider);
31310
31311
  if (!profile || normalizeProviderId(profile.provider) !== providerKey) await clearSessionAuthProfileOverride({
@@ -35104,18 +35105,18 @@ function appendImagePathsToPrompt(prompt, paths) {
35104
35105
  return `${trimmed}${trimmed ? "\n\n" : ""}${paths.join("\n")}`;
35105
35106
  }
35106
35107
  async function writeCliImages(images) {
35107
- 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-"));
35108
35109
  const paths = [];
35109
35110
  for (let i = 0; i < images.length; i += 1) {
35110
35111
  const image = images[i];
35111
35112
  const ext = resolveImageExtension(image.mimeType);
35112
35113
  const filePath = path.join(tempDir, `image-${i + 1}.${ext}`);
35113
35114
  const buffer = Buffer.from(image.data, "base64");
35114
- await fs$1.writeFile(filePath, buffer, { mode: 384 });
35115
+ await fsPromises.writeFile(filePath, buffer, { mode: 384 });
35115
35116
  paths.push(filePath);
35116
35117
  }
35117
35118
  const cleanup = async () => {
35118
- await fs$1.rm(tempDir, {
35119
+ await fsPromises.rm(tempDir, {
35119
35120
  recursive: true,
35120
35121
  force: true
35121
35122
  });
@@ -35983,27 +35984,27 @@ function createOutboundSendDepsFromCliSource(deps) {
35983
35984
  function createDefaultDeps() {
35984
35985
  return {
35985
35986
  sendMessageWhatsApp: async (...args) => {
35986
- const { sendMessageWhatsApp } = await import("./web-CtrUXk94.js");
35987
+ const { sendMessageWhatsApp } = await import("./web-BQRkxG9u.js");
35987
35988
  return await sendMessageWhatsApp(...args);
35988
35989
  },
35989
35990
  sendMessageTelegram: async (...args) => {
35990
- const { sendMessageTelegram } = await import("./send-SZBhACLn.js").then((n) => n.l);
35991
+ const { sendMessageTelegram } = await import("./send-CFUSH9C-.js").then((n) => n.l);
35991
35992
  return await sendMessageTelegram(...args);
35992
35993
  },
35993
35994
  sendMessageDiscord: async (...args) => {
35994
- const { sendMessageDiscord } = await import("./send-ByUfPpKj.js").then((n) => n.t);
35995
+ const { sendMessageDiscord } = await import("./send-DmVTXBWW.js").then((n) => n.t);
35995
35996
  return await sendMessageDiscord(...args);
35996
35997
  },
35997
35998
  sendMessageSlack: async (...args) => {
35998
- const { sendMessageSlack } = await import("./send-DuNBSJln.js").then((n) => n.n);
35999
+ const { sendMessageSlack } = await import("./send-BQVNhO4Q.js").then((n) => n.n);
35999
36000
  return await sendMessageSlack(...args);
36000
36001
  },
36001
36002
  sendMessageSignal: async (...args) => {
36002
- const { sendMessageSignal } = await import("./send-Cua2kS5v.js").then((n) => n.i);
36003
+ const { sendMessageSignal } = await import("./send-CabiU1-J.js").then((n) => n.i);
36003
36004
  return await sendMessageSignal(...args);
36004
36005
  },
36005
36006
  sendMessageIMessage: async (...args) => {
36006
- const { sendMessageIMessage } = await import("./send-BntubUtK.js").then((n) => n.n);
36007
+ const { sendMessageIMessage } = await import("./send-NexNe2Wh.js").then((n) => n.n);
36007
36008
  return await sendMessageIMessage(...args);
36008
36009
  }
36009
36010
  };
@@ -37178,10 +37179,10 @@ function estimateDurationSeconds(pcm) {
37178
37179
  return pcm.length / (bytesPerSample * SAMPLE_RATE);
37179
37180
  }
37180
37181
  async function writeWavFile(pcm) {
37181
- const tempDir = await fs$1.mkdtemp(path.join(resolvePreferredOpenClawTmpDir(), "discord-voice-"));
37182
+ const tempDir = await fsPromises.mkdtemp(path.join(resolvePreferredOpenClawTmpDir(), "discord-voice-"));
37182
37183
  const filePath = path.join(tempDir, `segment-${randomUUID()}.wav`);
37183
37184
  const wav = buildWavBuffer(pcm);
37184
- await fs$1.writeFile(filePath, wav);
37185
+ await fsPromises.writeFile(filePath, wav);
37185
37186
  scheduleTempCleanup(tempDir);
37186
37187
  return {
37187
37188
  path: filePath,
@@ -37190,7 +37191,7 @@ async function writeWavFile(pcm) {
37190
37191
  }
37191
37192
  function scheduleTempCleanup(tempDir, delayMs = 1800 * 1e3) {
37192
37193
  setTimeout(() => {
37193
- fs$1.rm(tempDir, {
37194
+ fsPromises.rm(tempDir, {
37194
37195
  recursive: true,
37195
37196
  force: true
37196
37197
  }).catch((err) => {
@@ -41487,7 +41488,7 @@ function normalizeAllowList$1(list) {
41487
41488
  async function detectRemoteHostFromCliPath(cliPath) {
41488
41489
  try {
41489
41490
  const expanded = cliPath.startsWith("~") ? cliPath.replace(/^~/, process.env.HOME ?? "") : cliPath;
41490
- const content = await fs$1.readFile(expanded, "utf8");
41491
+ const content = await fsPromises.readFile(expanded, "utf8");
41491
41492
  const userHostMatch = content.match(/\bssh\b[^\n]*?\s+([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+)/);
41492
41493
  if (userHostMatch) return userHostMatch[1];
41493
41494
  return content.match(/\bssh\b[^\n]*?\s+([a-zA-Z][a-zA-Z0-9._-]*)\s+\S*\bimsg\b/)?.[1];
@@ -48109,7 +48110,7 @@ function readSlackExternalArgMenuToken(raw) {
48109
48110
  }
48110
48111
  let commandsRegistry;
48111
48112
  async function getCommandsRegistry() {
48112
- 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);
48113
48114
  return commandsRegistry;
48114
48115
  }
48115
48116
  function encodeSlackCommandArgValue(parts) {
@@ -48439,14 +48440,14 @@ async function registerSlackMonitorSlashCommands(params) {
48439
48440
  const channelName = channelInfo?.name;
48440
48441
  const roomLabel = channelName ? `#${channelName}` : `#${command.channel_id}`;
48441
48442
  const [{ resolveAgentRoute }, { finalizeInboundContext }, { dispatchReplyWithDispatcher }] = await Promise.all([
48442
- import("./resolve-route-Ck23oGqS.js").then((n) => n.r),
48443
+ import("./resolve-route-R565qQgt.js").then((n) => n.r),
48443
48444
  import("./inbound-context-B0nyx07V.js").then((n) => n.n),
48444
48445
  Promise.resolve().then(() => provider_dispatcher_exports)
48445
48446
  ]);
48446
48447
  const [{ resolveConversationLabel }, { createReplyPrefixOptions }, { recordInboundSessionMetaSafe }] = await Promise.all([
48447
48448
  import("./conversation-label-CAfD5Gwq.js").then((n) => n.t),
48448
- import("./reply-prefix-BttpF8VB.js").then((n) => n.n),
48449
- 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)
48450
48451
  ]);
48451
48452
  const route = resolveAgentRoute({
48452
48453
  cfg,
@@ -48511,9 +48512,9 @@ async function registerSlackMonitorSlashCommands(params) {
48511
48512
  });
48512
48513
  const deliverSlashPayloads = async (replies) => {
48513
48514
  const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
48514
- import("./replies-B6SXcEs0.js").then((n) => n.r),
48515
+ import("./replies-k5K96_46.js").then((n) => n.r),
48515
48516
  import("./chunk-mV8H66i-.js").then((n) => n.s),
48516
- import("./markdown-tables-B5l_33qL.js").then((n) => n.t)
48517
+ import("./markdown-tables-XmfG1bwr.js").then((n) => n.t)
48517
48518
  ]);
48518
48519
  await deliverSlackSlashReplies({
48519
48520
  replies,
@@ -48566,7 +48567,7 @@ async function registerSlackMonitorSlashCommands(params) {
48566
48567
  let nativeCommands = [];
48567
48568
  if (nativeEnabled) {
48568
48569
  reg = await getCommandsRegistry();
48569
- 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 }) : [];
48570
48571
  nativeCommands = reg.listNativeCommandSpecsForConfig(cfg, {
48571
48572
  skillCommands,
48572
48573
  provider: "slack"
@@ -53894,7 +53895,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, replyMedia =
53894
53895
  const disableAudioPreflight = firstDefined$1(topicConfig?.disableAudioPreflight, groupConfig?.disableAudioPreflight) === true;
53895
53896
  let preflightTranscript;
53896
53897
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0 && !disableAudioPreflight) try {
53897
- const { transcribeFirstAudio } = await import("./audio-preflight-BkoTbTIH.js");
53898
+ const { transcribeFirstAudio } = await import("./audio-preflight-BClvbKMQ.js");
53898
53899
  preflightTranscript = await transcribeFirstAudio({
53899
53900
  ctx: {
53900
53901
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -55256,7 +55257,7 @@ function resolveCommandHashPath(accountId, botIdentity) {
55256
55257
  }
55257
55258
  async function readCachedCommandHash(accountId, botIdentity) {
55258
55259
  try {
55259
- return (await fs$1.readFile(resolveCommandHashPath(accountId, botIdentity), "utf-8")).trim();
55260
+ return (await fsPromises.readFile(resolveCommandHashPath(accountId, botIdentity), "utf-8")).trim();
55260
55261
  } catch {
55261
55262
  return null;
55262
55263
  }
@@ -55264,8 +55265,8 @@ async function readCachedCommandHash(accountId, botIdentity) {
55264
55265
  async function writeCachedCommandHash(accountId, botIdentity, hash) {
55265
55266
  const filePath = resolveCommandHashPath(accountId, botIdentity);
55266
55267
  try {
55267
- await fs$1.mkdir(path.dirname(filePath), { recursive: true });
55268
- 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");
55269
55270
  } catch {}
55270
55271
  }
55271
55272
  function syncTelegramMenuCommands(params) {
@@ -56103,7 +56104,7 @@ function safeParseState(raw) {
56103
56104
  async function readTelegramUpdateOffset(params) {
56104
56105
  const filePath = resolveTelegramUpdateOffsetPath(params.accountId, params.env);
56105
56106
  try {
56106
- const parsed = safeParseState(await fs$1.readFile(filePath, "utf-8"));
56107
+ const parsed = safeParseState(await fsPromises.readFile(filePath, "utf-8"));
56107
56108
  const expectedBotId = extractBotIdFromToken(params.botToken);
56108
56109
  if (expectedBotId && parsed?.botId && parsed.botId !== expectedBotId) return null;
56109
56110
  if (expectedBotId && parsed?.botId === null) return null;
@@ -56127,7 +56128,7 @@ async function writeTelegramUpdateOffset(params) {
56127
56128
  async function deleteTelegramUpdateOffset(params) {
56128
56129
  const filePath = resolveTelegramUpdateOffsetPath(params.accountId, params.env);
56129
56130
  try {
56130
- await fs$1.unlink(filePath);
56131
+ await fsPromises.unlink(filePath);
56131
56132
  } catch (err) {
56132
56133
  if (err.code === "ENOENT") return;
56133
56134
  throw err;
@@ -56601,7 +56602,7 @@ function createWhatsAppLoginTool() {
56601
56602
  force: Type.Optional(Type.Boolean())
56602
56603
  }),
56603
56604
  execute: async (_toolCallId, args) => {
56604
- const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-YjUycQZT.js");
56605
+ const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-CB4JWkHM.js");
56605
56606
  if ((args?.action ?? "start") === "wait") {
56606
56607
  const result = await waitForWebLogin({ timeoutMs: typeof args.timeoutMs === "number" ? args.timeoutMs : void 0 });
56607
56608
  return {
@@ -56676,23 +56677,23 @@ let webLoginQrPromise = null;
56676
56677
  let webChannelPromise = null;
56677
56678
  let whatsappActionsPromise = null;
56678
56679
  function loadWebOutbound() {
56679
- webOutboundPromise ??= import("./outbound-DlVJWa4u.js").then((n) => n.t);
56680
+ webOutboundPromise ??= import("./outbound-Bf7VAx0-.js").then((n) => n.t);
56680
56681
  return webOutboundPromise;
56681
56682
  }
56682
56683
  function loadWebLogin() {
56683
- webLoginPromise ??= import("./login-B2B75WGK.js").then((n) => n.n);
56684
+ webLoginPromise ??= import("./login-BM9p9nig.js").then((n) => n.n);
56684
56685
  return webLoginPromise;
56685
56686
  }
56686
56687
  function loadWebLoginQr() {
56687
- webLoginQrPromise ??= import("./login-qr-YjUycQZT.js");
56688
+ webLoginQrPromise ??= import("./login-qr-CB4JWkHM.js");
56688
56689
  return webLoginQrPromise;
56689
56690
  }
56690
56691
  function loadWebChannel() {
56691
- webChannelPromise ??= import("./web-CtrUXk94.js");
56692
+ webChannelPromise ??= import("./web-BQRkxG9u.js");
56692
56693
  return webChannelPromise;
56693
56694
  }
56694
56695
  function loadWhatsAppActions() {
56695
- whatsappActionsPromise ??= import("./whatsapp-actions-CNoiLzRB.js");
56696
+ whatsappActionsPromise ??= import("./whatsapp-actions-DeX4x9sq.js");
56696
56697
  return whatsappActionsPromise;
56697
56698
  }
56698
56699
  function createRuntimeWhatsApp() {
@@ -57735,7 +57736,7 @@ function resolvePluginTools(params) {
57735
57736
  //#endregion
57736
57737
  //#region src/agents/apply-patch-update.ts
57737
57738
  async function defaultReadFile(filePath) {
57738
- return fs$1.readFile(filePath, "utf8");
57739
+ return fsPromises.readFile(filePath, "utf8");
57739
57740
  }
57740
57741
  async function applyUpdateHunk(filePath, chunks, options) {
57741
57742
  const originalLines = (await (options?.readFile ?? defaultReadFile)(filePath).catch((err) => {
@@ -58056,7 +58057,7 @@ function resolvePatchFileOps(options) {
58056
58057
  const workspaceOnly = options.workspaceOnly !== false;
58057
58058
  return {
58058
58059
  readFile: async (filePath) => {
58059
- if (!workspaceOnly) return await fs$1.readFile(filePath, "utf8");
58060
+ if (!workspaceOnly) return await fsPromises.readFile(filePath, "utf8");
58060
58061
  const opened = await openBoundaryFile({
58061
58062
  absolutePath: filePath,
58062
58063
  rootPath: options.cwd,
@@ -58071,7 +58072,7 @@ function resolvePatchFileOps(options) {
58071
58072
  },
58072
58073
  writeFile: async (filePath, content) => {
58073
58074
  if (!workspaceOnly) {
58074
- await fs$1.writeFile(filePath, content, "utf8");
58075
+ await fsPromises.writeFile(filePath, content, "utf8");
58075
58076
  return;
58076
58077
  }
58077
58078
  const relative = toRelativeSandboxPath(options.cwd, filePath);
@@ -58082,8 +58083,8 @@ function resolvePatchFileOps(options) {
58082
58083
  encoding: "utf8"
58083
58084
  });
58084
58085
  },
58085
- remove: (filePath) => fs$1.rm(filePath),
58086
- mkdirp: (dir) => fs$1.mkdir(dir, { recursive: true }).then(() => {})
58086
+ remove: (filePath) => fsPromises.rm(filePath),
58087
+ mkdirp: (dir) => fsPromises.mkdir(dir, { recursive: true }).then(() => {})
58087
58088
  };
58088
58089
  }
58089
58090
  async function ensureDir(filePath, ops) {
@@ -59537,7 +59538,7 @@ async function readJsonlFromPath(jsonlPath) {
59537
59538
  if (shouldLogVerbose()) logVerbose(`Blocked canvas jsonlPath outside allowed roots: ${resolved}`);
59538
59539
  throw new Error("jsonlPath outside allowed roots");
59539
59540
  }
59540
- const canonical = await fs$1.realpath(resolved).catch(() => resolved);
59541
+ const canonical = await fsPromises.realpath(resolved).catch(() => resolved);
59541
59542
  if (!isInboundPathAllowed({
59542
59543
  filePath: canonical,
59543
59544
  roots
@@ -59545,7 +59546,7 @@ async function readJsonlFromPath(jsonlPath) {
59545
59546
  if (shouldLogVerbose()) logVerbose(`Blocked canvas jsonlPath outside allowed roots: ${canonical}`);
59546
59547
  throw new Error("jsonlPath outside allowed roots");
59547
59548
  }
59548
- return await fs$1.readFile(canonical, "utf8");
59549
+ return await fsPromises.readFile(canonical, "utf8");
59549
59550
  }
59550
59551
  const CanvasToolSchema = Type.Object({
59551
59552
  action: stringEnum(CANVAS_ACTIONS),
@@ -60360,27 +60361,27 @@ function resolveRestartSentinelPath(env = process.env) {
60360
60361
  }
60361
60362
  async function writeRestartSentinel(payload, env = process.env) {
60362
60363
  const filePath = resolveRestartSentinelPath(env);
60363
- await fs$1.mkdir(path.dirname(filePath), { recursive: true });
60364
+ await fsPromises.mkdir(path.dirname(filePath), { recursive: true });
60364
60365
  const data = {
60365
60366
  version: 1,
60366
60367
  payload
60367
60368
  };
60368
- 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");
60369
60370
  return filePath;
60370
60371
  }
60371
60372
  async function readRestartSentinel(env = process.env) {
60372
60373
  const filePath = resolveRestartSentinelPath(env);
60373
60374
  try {
60374
- const raw = await fs$1.readFile(filePath, "utf-8");
60375
+ const raw = await fsPromises.readFile(filePath, "utf-8");
60375
60376
  let parsed;
60376
60377
  try {
60377
60378
  parsed = JSON.parse(raw);
60378
60379
  } catch {
60379
- await fs$1.unlink(filePath).catch(() => {});
60380
+ await fsPromises.unlink(filePath).catch(() => {});
60380
60381
  return null;
60381
60382
  }
60382
60383
  if (!parsed || parsed.version !== 1 || !parsed.payload) {
60383
- await fs$1.unlink(filePath).catch(() => {});
60384
+ await fsPromises.unlink(filePath).catch(() => {});
60384
60385
  return null;
60385
60386
  }
60386
60387
  return parsed;
@@ -60392,7 +60393,7 @@ async function consumeRestartSentinel(env = process.env) {
60392
60393
  const filePath = resolveRestartSentinelPath(env);
60393
60394
  const parsed = await readRestartSentinel(env);
60394
60395
  if (!parsed) return null;
60395
- await fs$1.unlink(filePath).catch(() => {});
60396
+ await fsPromises.unlink(filePath).catch(() => {});
60396
60397
  return parsed;
60397
60398
  }
60398
60399
  function formatRestartSentinelMessage(payload) {
@@ -68029,7 +68030,7 @@ async function runBeforeToolCallHook(args) {
68029
68030
  const params = args.params;
68030
68031
  if (args.ctx?.sessionKey) {
68031
68032
  const { getDiagnosticSessionState } = await import("./diagnostic-session-state-BdsrlXSG.js");
68032
- const { logToolLoopAction } = await import("./diagnostic-DRPetA8l.js").then((n) => n.n);
68033
+ const { logToolLoopAction } = await import("./diagnostic-phUWJbF_.js").then((n) => n.n);
68033
68034
  const { detectToolCallLoop, recordToolCall } = await import("./tool-loop-detection-r4aG7Xi8.js");
68034
68035
  const sessionState = getDiagnosticSessionState({
68035
68036
  sessionKey: args.ctx.sessionKey,
@@ -68600,7 +68601,7 @@ function wrapHostEditToolWithPostWriteRecovery(base, root) {
68600
68601
  if (!pathParam || !newText) throw err;
68601
68602
  try {
68602
68603
  const absolutePath = resolveHostEditPath(root, pathParam);
68603
- const content = await fs$1.readFile(absolutePath, "utf-8");
68604
+ const content = await fsPromises.readFile(absolutePath, "utf-8");
68604
68605
  const hasNew = content.includes(newText);
68605
68606
  const stillHasOld = oldText !== void 0 && oldText.length > 0 && content.includes(oldText);
68606
68607
  if (hasNew && !stillHasOld) return {
@@ -68703,14 +68704,14 @@ function createSandboxEditOperations(params) {
68703
68704
  }
68704
68705
  async function writeHostFile(absolutePath, content) {
68705
68706
  const resolved = path.resolve(absolutePath);
68706
- await fs$1.mkdir(path.dirname(resolved), { recursive: true });
68707
- 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");
68708
68709
  }
68709
68710
  function createHostWriteOperations(root, options) {
68710
68711
  if (!(options?.workspaceOnly ?? false)) return {
68711
68712
  mkdir: async (dir) => {
68712
68713
  const resolved = path.resolve(dir);
68713
- await fs$1.mkdir(resolved, { recursive: true });
68714
+ await fsPromises.mkdir(resolved, { recursive: true });
68714
68715
  },
68715
68716
  writeFile: writeHostFile
68716
68717
  };
@@ -68723,7 +68724,7 @@ function createHostWriteOperations(root, options) {
68723
68724
  cwd: root,
68724
68725
  root
68725
68726
  });
68726
- await fs$1.mkdir(resolved, { recursive: true });
68727
+ await fsPromises.mkdir(resolved, { recursive: true });
68727
68728
  },
68728
68729
  writeFile: async (absolutePath, content) => {
68729
68730
  await writeFileWithinRoot({
@@ -68739,12 +68740,12 @@ function createHostEditOperations(root, options) {
68739
68740
  if (!(options?.workspaceOnly ?? false)) return {
68740
68741
  readFile: async (absolutePath) => {
68741
68742
  const resolved = path.resolve(absolutePath);
68742
- return await fs$1.readFile(resolved);
68743
+ return await fsPromises.readFile(resolved);
68743
68744
  },
68744
68745
  writeFile: writeHostFile,
68745
68746
  access: async (absolutePath) => {
68746
68747
  const resolved = path.resolve(absolutePath);
68747
- await fs$1.access(resolved);
68748
+ await fsPromises.access(resolved);
68748
68749
  }
68749
68750
  };
68750
68751
  return {
@@ -69582,7 +69583,7 @@ async function repairSessionFileIfNeeded(params) {
69582
69583
  };
69583
69584
  let content;
69584
69585
  try {
69585
- content = await fs$1.readFile(sessionFile, "utf-8");
69586
+ content = await fsPromises.readFile(sessionFile, "utf-8");
69586
69587
  } catch (err) {
69587
69588
  if (err?.code === "ENOENT") return {
69588
69589
  repaired: false,
@@ -69630,15 +69631,15 @@ async function repairSessionFileIfNeeded(params) {
69630
69631
  const backupPath = `${sessionFile}.bak-${process.pid}-${Date.now()}`;
69631
69632
  const tmpPath = `${sessionFile}.repair-${process.pid}-${Date.now()}.tmp`;
69632
69633
  try {
69633
- const stat = await fs$1.stat(sessionFile).catch(() => null);
69634
- await fs$1.writeFile(backupPath, content, "utf-8");
69635
- if (stat) await fs$1.chmod(backupPath, stat.mode);
69636
- await fs$1.writeFile(tmpPath, cleaned, "utf-8");
69637
- if (stat) await fs$1.chmod(tmpPath, stat.mode);
69638
- 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);
69639
69640
  } catch (err) {
69640
69641
  try {
69641
- await fs$1.unlink(tmpPath);
69642
+ await fsPromises.unlink(tmpPath);
69642
69643
  } catch (cleanupErr) {
69643
69644
  params.warn?.(`session file repair cleanup failed: ${cleanupErr instanceof Error ? cleanupErr.message : "unknown error"} (${path.basename(tmpPath)})`);
69644
69645
  }
@@ -71879,7 +71880,7 @@ async function prewarmSessionFile(sessionFile) {
71879
71880
  if (!isSessionManagerCacheEnabled()) return;
71880
71881
  if (isSessionManagerCached(sessionFile)) return;
71881
71882
  try {
71882
- const handle = await fs$1.open(sessionFile, "r");
71883
+ const handle = await fsPromises.open(sessionFile, "r");
71883
71884
  try {
71884
71885
  const buffer = Buffer$1.alloc(4096);
71885
71886
  await handle.read(buffer, 0, buffer.length, 0);
@@ -72235,7 +72236,7 @@ async function compactEmbeddedPiSessionDirect(params) {
72235
72236
  } catch (err) {
72236
72237
  return fail(describeUnknownError(err));
72237
72238
  }
72238
- await fs$1.mkdir(resolvedWorkspace, { recursive: true });
72239
+ await fsPromises.mkdir(resolvedWorkspace, { recursive: true });
72239
72240
  const sandboxSessionKey = params.sessionKey?.trim() || params.sessionId;
72240
72241
  const sandbox = await resolveSandboxContext({
72241
72242
  config: params.config,
@@ -72243,7 +72244,7 @@ async function compactEmbeddedPiSessionDirect(params) {
72243
72244
  workspaceDir: resolvedWorkspace
72244
72245
  });
72245
72246
  const effectiveWorkspace = sandbox?.enabled ? sandbox.workspaceAccess === "rw" ? resolvedWorkspace : sandbox.workspaceDir : resolvedWorkspace;
72246
- await fs$1.mkdir(effectiveWorkspace, { recursive: true });
72247
+ await fsPromises.mkdir(effectiveWorkspace, { recursive: true });
72247
72248
  await ensureSessionHeader({
72248
72249
  sessionFile: params.sessionFile,
72249
72250
  sessionId: params.sessionId,
@@ -72748,6 +72749,30 @@ function createOpenAIDefaultTransportWrapper(baseStreamFn) {
72748
72749
  });
72749
72750
  };
72750
72751
  }
72752
+ function isManagedCustomOpenAiProvider(cfg, provider) {
72753
+ const providers = cfg?.models?.providers;
72754
+ if (!providers) return false;
72755
+ const normalizedProvider = normalizeProviderId(provider);
72756
+ for (const [providerId, providerConfig] of Object.entries(providers)) {
72757
+ if (normalizeProviderId(providerId) !== normalizedProvider) continue;
72758
+ if (normalizeProviderId(providerId) === BITSEEK_PROVIDER_ID) return false;
72759
+ if (providerConfig?.api !== "openai-completions") return false;
72760
+ if (typeof providerConfig.baseUrl !== "string" || !providerConfig.baseUrl.trim()) return false;
72761
+ if (!Array.isArray(providerConfig.models)) return false;
72762
+ return providerConfig.models.some((model) => typeof model?.id === "string" && model.id.trim());
72763
+ }
72764
+ return false;
72765
+ }
72766
+ function createUserAgentStripWrapper(baseStreamFn) {
72767
+ const underlying = baseStreamFn ?? streamSimple;
72768
+ return (model, context, options) => underlying(model, context, {
72769
+ ...options,
72770
+ headers: {
72771
+ ...options?.headers,
72772
+ "User-Agent": null
72773
+ }
72774
+ });
72775
+ }
72751
72776
  function isAnthropic1MModel(modelId) {
72752
72777
  const normalized = modelId.trim().toLowerCase();
72753
72778
  return ANTHROPIC_1M_MODEL_PREFIXES.some((prefix) => normalized.startsWith(prefix));
@@ -73094,6 +73119,10 @@ function applyExtraParamsToAgent(agent, cfg, provider, modelId, extraParamsOverr
73094
73119
  }
73095
73120
  agent.streamFn = createGoogleThinkingPayloadWrapper(agent.streamFn, thinkingLevel);
73096
73121
  agent.streamFn = createOpenAIResponsesContextManagementWrapper(agent.streamFn, merged);
73122
+ if (isManagedCustomOpenAiProvider(cfg, provider)) {
73123
+ log$6.debug(`stripping User-Agent for custom OpenAI-compatible provider ${provider}/${modelId}`);
73124
+ agent.streamFn = createUserAgentStripWrapper(agent.streamFn);
73125
+ }
73097
73126
  }
73098
73127
 
73099
73128
  //#endregion
@@ -73125,12 +73154,12 @@ function getQueuedFileWriter(writers, filePath) {
73125
73154
  const existing = writers.get(filePath);
73126
73155
  if (existing) return existing;
73127
73156
  const dir = path.dirname(filePath);
73128
- const ready = fs$1.mkdir(dir, { recursive: true }).catch(() => void 0);
73157
+ const ready = fsPromises.mkdir(dir, { recursive: true }).catch(() => void 0);
73129
73158
  let queue = Promise.resolve();
73130
73159
  const writer = {
73131
73160
  filePath,
73132
73161
  write: (line) => {
73133
- 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);
73134
73163
  }
73135
73164
  };
73136
73165
  writers.set(filePath, writer);
@@ -76048,7 +76077,7 @@ async function prepareSessionManagerForRun(params) {
76048
76077
  return;
76049
76078
  }
76050
76079
  if (params.hadSessionFile && header && !hasAssistant) {
76051
- await fs$1.writeFile(params.sessionFile, "", "utf-8");
76080
+ await fsPromises.writeFile(params.sessionFile, "", "utf-8");
76052
76081
  sm.fileEntries = [header];
76053
76082
  sm.byId?.clear?.();
76054
76083
  sm.labelsById?.clear?.();
@@ -76782,7 +76811,7 @@ async function runEmbeddedAttempt(params) {
76782
76811
  const prevCwd = process.cwd();
76783
76812
  const runAbortController = new AbortController();
76784
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"}`);
76785
- await fs$1.mkdir(resolvedWorkspace, { recursive: true });
76814
+ await fsPromises.mkdir(resolvedWorkspace, { recursive: true });
76786
76815
  const sandboxSessionKey = params.sessionKey?.trim() || params.sessionId;
76787
76816
  const sandbox = await resolveSandboxContext({
76788
76817
  config: params.config,
@@ -76790,7 +76819,7 @@ async function runEmbeddedAttempt(params) {
76790
76819
  workspaceDir: resolvedWorkspace
76791
76820
  });
76792
76821
  const effectiveWorkspace = sandbox?.enabled ? sandbox.workspaceAccess === "rw" ? resolvedWorkspace : sandbox.workspaceDir : resolvedWorkspace;
76793
- await fs$1.mkdir(effectiveWorkspace, { recursive: true });
76822
+ await fsPromises.mkdir(effectiveWorkspace, { recursive: true });
76794
76823
  let restoreSkillEnv;
76795
76824
  process.chdir(effectiveWorkspace);
76796
76825
  try {
@@ -77034,7 +77063,7 @@ async function runEmbeddedAttempt(params) {
77034
77063
  sessionFile: params.sessionFile,
77035
77064
  warn: (message) => log$6.warn(message)
77036
77065
  });
77037
- const hadSessionFile = await fs$1.stat(params.sessionFile).then(() => true).catch(() => false);
77066
+ const hadSessionFile = await fsPromises.stat(params.sessionFile).then(() => true).catch(() => false);
77038
77067
  const transcriptPolicy = resolveTranscriptPolicy({
77039
77068
  modelApi: params.model?.api,
77040
77069
  provider: params.provider,
@@ -78177,7 +78206,7 @@ async function runEmbeddedPiAgent(params) {
78177
78206
  const copilotAuthRetry = authRetryPending;
78178
78207
  authRetryPending = false;
78179
78208
  attemptedThinking.add(thinkLevel);
78180
- await fs$1.mkdir(resolvedWorkspace, { recursive: true });
78209
+ await fsPromises.mkdir(resolvedWorkspace, { recursive: true });
78181
78210
  const prompt = provider === "anthropic" ? scrubAnthropicRefusalMagic(params.prompt) : params.prompt;
78182
78211
  const attempt = await runEmbeddedAttempt({
78183
78212
  sessionId: params.sessionId,
@@ -80488,7 +80517,7 @@ async function emitResetCommandHooks(params) {
80488
80517
  try {
80489
80518
  const messages = [];
80490
80519
  if (sessionFile) {
80491
- const content = await fs$1.readFile(sessionFile, "utf-8");
80520
+ const content = await fsPromises.readFile(sessionFile, "utf-8");
80492
80521
  for (const line of content.split("\n")) {
80493
80522
  if (!line.trim()) continue;
80494
80523
  try {
@@ -85520,7 +85549,7 @@ async function deliverSessionMaintenanceWarning(params) {
85520
85549
  return;
85521
85550
  }
85522
85551
  try {
85523
- const { deliverOutboundPayloads } = await import("./deliver-Bn10XzRP.js").then((n) => n.n);
85552
+ const { deliverOutboundPayloads } = await import("./deliver-D4ugOkLr.js").then((n) => n.n);
85524
85553
  const outboundSession = buildOutboundSessionContext({
85525
85554
  cfg: params.cfg,
85526
85555
  sessionKey: params.sessionKey
@@ -86027,7 +86056,7 @@ async function stageSandboxMedia(params) {
86027
86056
  const remoteMediaCacheDir = ctx.MediaRemoteHost ? path.join(CONFIG_DIR, "media", "remote-cache", sessionKey) : null;
86028
86057
  const effectiveWorkspaceDir = sandbox?.workspaceDir ?? remoteMediaCacheDir;
86029
86058
  if (!effectiveWorkspaceDir) return;
86030
- await fs$1.mkdir(effectiveWorkspaceDir, { recursive: true });
86059
+ await fsPromises.mkdir(effectiveWorkspaceDir, { recursive: true });
86031
86060
  const remoteAttachmentRoots = resolveIMessageRemoteAttachmentRoots({
86032
86061
  cfg,
86033
86062
  accountId: ctx.AccountId
@@ -86086,8 +86115,8 @@ async function stageLocalFileIntoRoot(params) {
86086
86115
  }
86087
86116
  async function stageRemoteFileIntoRoot(params) {
86088
86117
  const tmpRoot = resolvePreferredOpenClawTmpDir();
86089
- await fs$1.mkdir(tmpRoot, { recursive: true });
86090
- 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-"));
86091
86120
  const tmpPath = path.join(tmpDir, "download");
86092
86121
  try {
86093
86122
  await scpFile(params.remoteHost, params.remotePath, tmpPath);
@@ -86098,7 +86127,7 @@ async function stageRemoteFileIntoRoot(params) {
86098
86127
  maxBytes: params.maxBytes
86099
86128
  });
86100
86129
  } finally {
86101
- await fs$1.rm(tmpDir, {
86130
+ await fsPromises.rm(tmpDir, {
86102
86131
  recursive: true,
86103
86132
  force: true
86104
86133
  }).catch(() => {});