@bitseek/claw 1.2.1 → 1.2.5

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 (456) hide show
  1. package/dist/{accounts-2NNZ6Hbp.js → accounts-B3zSNWIv.js} +1 -1
  2. package/dist/{accounts-Cv5CUnT4.js → accounts-BQHz8_1_.js} +7 -7
  3. package/dist/{accounts-NHpMJ0aq.js → accounts-DTfEeXyO.js} +1 -1
  4. package/dist/{acp-cli-8xcvVB-L.js → acp-cli-BZnPaFm3.js} +4 -4
  5. package/dist/{acp-cli-B0u6no4K.js → acp-cli-C24-lylb.js} +11 -11
  6. package/dist/{agent-scope-CY2-lUIY.js → agent-scope-CJelRKYY.js} +1 -1
  7. package/dist/{agents-Cweyfj22.js → agents-BCJbDk2P.js} +18 -18
  8. package/dist/{agents.config-BVV8yXyh.js → agents.config-DQBEXhzA.js} +1 -1
  9. package/dist/{agents.config-DA3Y8w1t.js → agents.config-DoxV5m9v.js} +2 -2
  10. package/dist/{api-key-rotation-Cf7QM5M_.js → api-key-rotation-xfk-b2Sv.js} +1 -1
  11. package/dist/{audio-preflight-Cpsushqf.js → audio-preflight-BkoTbTIH.js} +5 -5
  12. package/dist/{audio-preflight-DdrORTn9.js → audio-preflight-CHD1xVrt.js} +4 -4
  13. package/dist/{audio-preflight-BWOdDA2n.js → audio-preflight-Dd9DDvqB.js} +4 -4
  14. package/dist/{audio-preflight-SRgix4XS.js → audio-preflight-Dl40LQzr.js} +36 -36
  15. package/dist/{audio-transcription-runner-DaoqvWoi.js → audio-transcription-runner-Bx53bUS2.js} +1 -1
  16. package/dist/{audio-transcription-runner-TitMttNg.js → audio-transcription-runner-CF_UP4C7.js} +1 -1
  17. package/dist/{audio-transcription-runner-CGsd7139.js → audio-transcription-runner-DwWOJBSn.js} +1 -1
  18. package/dist/{audio-transcription-runner-DkibzFT2.js → audio-transcription-runner-jiDE7Pt8.js} +22 -22
  19. package/dist/{audit-R36cTwJM.js → audit-1YVlVmk7.js} +9 -9
  20. package/dist/{audit-TSVXvoTa.js → audit-Bgu8Ommg.js} +33 -33
  21. package/dist/{auth-anvTU0Sb.js → auth-B3HDYw4G.js} +1 -1
  22. package/dist/{auth-choice-C8olhaf_.js → auth-choice-BamWYpsc.js} +9 -8
  23. package/dist/{auth-choice-Bhzlukg0.js → auth-choice-CP6K5htW.js} +14 -14
  24. package/dist/{auth-choice-BeV7uG7Q.js → auth-choice-CdsMUqKA.js} +7 -7
  25. package/dist/{auth-choice-CR6bBvDU.js → auth-choice-DYXCDlGW.js} +16 -15
  26. package/dist/{auth-choice.apply-helpers-Du585kvU.js → auth-choice.apply-helpers-DR-eUj_5.js} +1 -1
  27. package/dist/{auth-profiles-CyG9VwU_.js → auth-profiles-D_x1_5v_.js} +16 -16
  28. package/dist/{auth-token-BIEjzQiE.js → auth-token-BDQ5b9Wx.js} +2 -2
  29. package/dist/{auth-token-EHTMZL2e.js → auth-token-BjVRLcvi.js} +1 -1
  30. package/dist/{banner-D-ha13Xs.js → banner-V_1v329B.js} +2 -2
  31. package/dist/{bindings-DGvp9FdD.js → bindings-Hx6KNJeg.js} +1 -1
  32. package/dist/{bonjour-discovery-1e3NxSsT.js → bonjour-discovery-CtUQb94i.js} +1 -1
  33. package/dist/{bonjour-discovery-B68dCYTY.js → bonjour-discovery-DiHs5j0y.js} +2 -2
  34. package/dist/{browser-cli-DREC4EVl.js → browser-cli-BMupJSz_.js} +14 -14
  35. package/dist/{browser-cli-Ck0ISgnj.js → browser-cli-CaBLM5A6.js} +3 -3
  36. package/dist/build-info.json +3 -3
  37. package/dist/bundled/boot-md/handler.js +6 -6
  38. package/dist/bundled/session-memory/handler.js +6 -6
  39. package/dist/{call-CmAGfSJE.js → call-CzoM7hPS.js} +10 -10
  40. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  41. package/dist/canvas-host/a2ui/a2ui.bundle.js +6027 -1405
  42. package/dist/{channel-account-context-DNFdIaSr.js → channel-account-context-BV3Q0XnD.js} +6 -6
  43. package/dist/{channel-account-context-etfgJrr_.js → channel-account-context-C6rIxLzo.js} +1 -1
  44. package/dist/{channel-options-CcVV-66e.js → channel-options-Bnnem_wD.js} +1 -1
  45. package/dist/{channel-options-6JzQN9nt.js → channel-options-Dsjb-V1F.js} +3 -3
  46. package/dist/{channel-selection-DGtYwfd7.js → channel-selection-D8KYuWir.js} +1 -1
  47. package/dist/{channel-web-C9be00RJ.js → channel-web-KY6EP9HT.js} +5 -5
  48. package/dist/{channel-web-oQImOucb.js → channel-web-wuxrfEJh.js} +18 -18
  49. package/dist/{channels-cli-CzLX8jUv.js → channels-cli-OZeQkPMG.js} +104 -102
  50. package/dist/{channels-cli-B31EyJet.js → channels-cli-tJkvzsqO.js} +35 -33
  51. package/dist/{channels-status-issues-BMNB2aMG.js → channels-status-issues-CCNiQcg9.js} +1 -1
  52. package/dist/{chrome-CjTE-vWv.js → chrome-C6zMSR36.js} +8 -8
  53. package/dist/{chrome-xatreDUO.js → chrome-CuMCXCQN.js} +8 -8
  54. package/dist/{chrome-DeZyLFsG.js → chrome-DuDCGdf-.js} +4 -4
  55. package/dist/{clack-prompter-DNiUmv2O.js → clack-prompter-B2lC_BWr.js} +2 -2
  56. package/dist/{clack-prompter-VaNRUEnc.js → clack-prompter-CgCD3NZ8.js} +2 -2
  57. package/dist/{clawbot-cli-H1Uj0ifV.js → clawbot-cli-COQB6-NK.js} +5 -5
  58. package/dist/{clawbot-cli-KKfrHQ8a.js → clawbot-cli-Comysjn9.js} +1 -1
  59. package/dist/cli/daemon-cli.js +1 -1
  60. package/dist/{cli-Ddp1rtss.js → cli-DOS1lPNs.js} +12 -10
  61. package/dist/{cli-C2xvYknT.js → cli-YeYpjq2c.js} +78 -76
  62. package/dist/{client-vUKV2o6h.js → client-BvL3EdiZ.js} +2 -2
  63. package/dist/{command-registry-QcrBU_9X.js → command-registry-KxdBw74g.js} +13 -13
  64. package/dist/{commands-d8L0zY8O.js → commands-C67IbXs7.js} +1 -1
  65. package/dist/{commands-registry-C78O6aNi.js → commands-registry-D0_D5hFV.js} +3 -3
  66. package/dist/{completion-cli-BkWPjJyP.js → completion-cli-Cfp2m1Sy.js} +14 -14
  67. package/dist/{completion-cli-VWIJWtLM.js → completion-cli-DU3T8Tur.js} +1 -1
  68. package/dist/{config-cli-BUO5SwNS.js → config-cli-DZpbwWvz.js} +3 -3
  69. package/dist/{config-cli-B4WnAVfw.js → config-cli-hwawfBlS.js} +7 -7
  70. package/dist/{config-guard-CoGVEAhf.js → config-guard-9BjlFVZx.js} +3 -3
  71. package/dist/{config-guard-RZw5NkPK.js → config-guard-CcE0LvHm.js} +3 -3
  72. package/dist/{config-validation-Cx4865gR.js → config-validation-BcxAhhcj.js} +2 -2
  73. package/dist/{config-validation-tb90Bzho.js → config-validation-DO7QURfM.js} +4 -4
  74. package/dist/{configure-DaHch8UJ.js → configure-CLMtWGiL.js} +15 -15
  75. package/dist/{configure-DuwIk56q.js → configure-l-lM74c1.js} +21 -21
  76. package/dist/{context-window-guard-Bs0PeDpo.js → context-window-guard-BNuaId5E.js} +6 -1
  77. package/dist/{context-window-guard-DVgGi3Ub.js → context-window-guard-ejUBbmnW.js} +6 -1
  78. package/dist/control-ui/assets/{index-DmJK8e2M.js → index-CKSSOzJL.js} +116 -116
  79. package/dist/control-ui/assets/{index-DmJK8e2M.js.map → index-CKSSOzJL.js.map} +1 -1
  80. package/dist/control-ui/assets/index-Ck63PFX9.css +1 -0
  81. package/dist/control-ui/index.html +2 -2
  82. package/dist/{control-ui-assets-Czpjuiah.js → control-ui-assets-Dx8wiZQ_.js} +1 -1
  83. package/dist/{cron-cli-Rrii2waZ.js → cron-cli-C8kDGh6_.js} +2 -2
  84. package/dist/{cron-cli-D5MnhB5f.js → cron-cli-xl75rAFd.js} +13 -13
  85. package/dist/{daemon-cli-oCVkh3bg.js → daemon-cli-BSy0rtO2.js} +18 -18
  86. package/dist/{daemon-cli-D_QKAnN1.js → daemon-cli-RKWFtF-K.js} +10 -10
  87. package/dist/{daemon-install-kxqE_IHC.js → daemon-install-DsJ0L8HP.js} +7 -7
  88. package/dist/{daemon-install-vQ6KespE.js → daemon-install-d2OYSlQz.js} +7 -7
  89. package/dist/{daemon-install-helpers-B_sQ4Mox.js → daemon-install-helpers-CMWYg4_W.js} +1 -1
  90. package/dist/{daemon-install-helpers-D5tste0V.js → daemon-install-helpers-D28keNLu.js} +12 -12
  91. package/dist/{dashboard-DkdG50pm.js → dashboard-BhAYjl6n.js} +1 -1
  92. package/dist/{dashboard-BstU6qkZ.js → dashboard-DXvihe_P.js} +3 -3
  93. package/dist/{deliver-BjVMpWfF.js → deliver-Bn10XzRP.js} +1 -1
  94. package/dist/{deliver-xY3h9X6N.js → deliver-DXa06hfk.js} +1 -1
  95. package/dist/{deliver-H0xCFj4j.js → deliver-Df8pSQk6.js} +7 -7
  96. package/dist/{deliver-Z7543EnP.js → deliver-Dyh8ZsLI.js} +1 -1
  97. package/dist/{devices-cli-D6b6S-Iy.js → devices-cli-D6CoUTi_.js} +9 -9
  98. package/dist/{devices-cli-CbKxt0YP.js → devices-cli-DoJBheGs.js} +1 -1
  99. package/dist/{diagnostic-DjxUqpmL.js → diagnostic-Bvatw1Xn.js} +1 -1
  100. package/dist/{diagnostics-BCFJKFDe.js → diagnostics-ABz8E7c-.js} +1 -1
  101. package/dist/{diagnostics-vLzdmcgg.js → diagnostics-BHQgZbuI.js} +5 -5
  102. package/dist/{directory-cli-BojMDuwh.js → directory-cli-Brla3Idn.js} +2 -2
  103. package/dist/{directory-cli-D3o7BGMd.js → directory-cli-Dkil59xj.js} +10 -10
  104. package/dist/{dns-cli-B5kqVfFd.js → dns-cli-CJydclW8.js} +7 -7
  105. package/dist/{dns-cli-DzLjIvET.js → dns-cli-rEvE1LG9.js} +2 -2
  106. package/dist/{dock-CoclJnwp.js → dock-DT8sACcR.js} +4 -4
  107. package/dist/{docs-cli-CyjlhZAj.js → docs-cli-BkufgU5Y.js} +4 -4
  108. package/dist/{doctor-completion-DGNL86eP.js → doctor-completion-AraQfpv2.js} +2 -2
  109. package/dist/{doctor-completion-SBDS3edN.js → doctor-completion-B6_JtN22.js} +3 -3
  110. package/dist/{doctor-config-flow-CuNWLHUk.js → doctor-config-flow-18ijj3KB.js} +5 -5
  111. package/dist/{doctor-config-flow-DclZbGUP.js → doctor-config-flow-BrXA2e34.js} +18 -18
  112. package/dist/{enable-CKAw_GCd.js → enable-CinNZxRH.js} +1 -1
  113. package/dist/entry.js +2 -2
  114. package/dist/{exec-approvals-allowlist-CFjPSbxI.js → exec-approvals-allowlist-B4DS6FIn.js} +1 -1
  115. package/dist/{exec-approvals-cli-U46MdeMi.js → exec-approvals-cli-Cani2Hjk.js} +17 -17
  116. package/dist/{exec-approvals-cli-DKCFi9UQ.js → exec-approvals-cli-DfcUJ9Sm.js} +6 -6
  117. package/dist/{exec-safe-bin-runtime-policy-CpMj95vJ.js → exec-safe-bin-runtime-policy-BP6ImlkB.js} +2 -2
  118. package/dist/extensionAPI.js +6 -6
  119. package/dist/{fetch-DOjg912W.js → fetch-DC-NMnAU.js} +3 -3
  120. package/dist/{fetch-guard-Csbz9pui.js → fetch-guard-B62rgaSw.js} +1 -1
  121. package/dist/{fs-safe-BqJ9egpm.js → fs-safe-CJDtl_QU.js} +24 -24
  122. package/dist/{gateway-cli-ADJ8WFzB.js → gateway-cli-C6G3qMkR.js} +60 -59
  123. package/dist/{gateway-cli-D5wMqxbT.js → gateway-cli-CX2HA_sy.js} +175 -174
  124. package/dist/{gateway-rpc-DFqEAyI_.js → gateway-rpc-C7KYwonl.js} +1 -1
  125. package/dist/{health-Dzwp2cfK.js → health-CDEXWvnu.js} +16 -16
  126. package/dist/{health-CGGup1fo.js → health-Du8dO3vn.js} +4 -4
  127. package/dist/{hooks-cli-CiwYBoY7.js → hooks-cli-DUIQuGjr.js} +17 -15
  128. package/dist/{hooks-cli-DKAhHxZp.js → hooks-cli-Deo01lF6.js} +87 -85
  129. package/dist/{hooks-status-6tcOdcYp.js → hooks-status-DE20AAEu.js} +1 -1
  130. package/dist/{hooks-status-Ds3tGfpn.js → hooks-status-ONaKEpUH.js} +1 -1
  131. package/dist/{image-CpFh9AzK.js → image-B270IRGo.js} +1 -1
  132. package/dist/{image-DCyaYY2d.js → image-Dd4lgi4H.js} +1 -1
  133. package/dist/{image-DQV2jl6F.js → image-DihIv8Eo.js} +1 -1
  134. package/dist/{image-BjuH1GKB.js → image-UpBiPNsk.js} +5 -5
  135. package/dist/{image-ops-B2L37gT8.js → image-ops-BGTBZMuE.js} +10 -10
  136. package/dist/index.js +25 -23
  137. package/dist/{inspect-DJUXn0vX.js → inspect-Bmurt9te.js} +4 -4
  138. package/dist/{inspect-C-qwWnae.js → inspect-C0e0Dmvg.js} +1 -1
  139. package/dist/{install-safe-path-DVQh7rEs.js → install-safe-path-BB9b_AvF.js} +25 -25
  140. package/dist/{install-safe-path-DlUmof-g.js → install-safe-path-CSqVUjL8.js} +1 -1
  141. package/dist/{installs-BQv6UJZe.js → installs-BXOZ3DXs.js} +3 -3
  142. package/dist/{installs-jXfyPi74.js → installs-BXcYytvn.js} +9 -9
  143. package/dist/{ipv4-DQS0lTwQ.js → ipv4-BB1Ro6so.js} +1 -1
  144. package/dist/{ir-CEwBpxhC.js → ir-DziC-P4Z.js} +6 -6
  145. package/dist/{issue-format-NBMJ5xAP.js → issue-format-DF2YB-kZ.js} +1 -1
  146. package/dist/{json-files-rR19q30D.js → json-files-CuJjdF_0.js} +8 -8
  147. package/dist/{lifecycle-core-nY3ix4oA.js → lifecycle-core-Bqse41aA.js} +4 -4
  148. package/dist/{lifecycle-core-oTVOKNSW.js → lifecycle-core-CJd181-h.js} +6 -6
  149. package/dist/llm-slug-generator.js +6 -6
  150. package/dist/{login-B9hYTB2m.js → login-B2B75WGK.js} +1 -1
  151. package/dist/{login-I5RlwiJn.js → login-C_YjM9eH.js} +3 -3
  152. package/dist/{login-qr-CRjZn3ix.js → login-qr-DujJqOuy.js} +6 -6
  153. package/dist/{login-qr-Dnuf_chX.js → login-qr-YjUycQZT.js} +1 -1
  154. package/dist/{logs-cli-D2-73CiV.js → logs-cli-Bc1A5X-r.js} +10 -10
  155. package/dist/{logs-cli-C8hho9_C.js → logs-cli-Dyid6hUQ.js} +2 -2
  156. package/dist/{manager-DWpiNvlg.js → manager-7hZXEYTj.js} +14 -14
  157. package/dist/{manifest-registry-CBF8Vfz8.js → manifest-registry-Kbw8YPsZ.js} +1 -1
  158. package/dist/{markdown-tables-DQlQMRGZ.js → markdown-tables-BYHgyUjA.js} +1 -1
  159. package/dist/{memory-cli-BUrf60e_.js → memory-cli-CuT-iG2F.js} +12 -12
  160. package/dist/{model-DMZUvZJo.js → model-DmBmzJI6.js} +2 -2
  161. package/dist/{model-catalog-DFi9HgWu.js → model-catalog-D1X8r3WJ.js} +3 -3
  162. package/dist/{model-picker-DFyoaAce.js → model-picker-C56N_rW7.js} +4 -4
  163. package/dist/{model-picker-D14fFqIp.js → model-picker-CMgjcqV_.js} +1 -1
  164. package/dist/{models-B-VHfTz-.js → models-CgguB_MH.js} +22 -22
  165. package/dist/{models-cli-DQBbzn_p.js → models-cli-BEb0DHSP.js} +86 -85
  166. package/dist/{models-cli-DcCWtSFq.js → models-cli-CHUbcM_y.js} +21 -20
  167. package/dist/{models-config-AePb9RAo.js → models-config-CmrBGsQs.js} +6 -6
  168. package/dist/{net-C75G4fup.js → net-BXeYv7Iu.js} +2 -2
  169. package/dist/{node-cli-UnJ5obvj.js → node-cli-DSoqxwqZ.js} +38 -38
  170. package/dist/{node-cli-C7Nc02JP.js → node-cli-DYOdgLUu.js} +14 -14
  171. package/dist/{node-command-policy-B5h8i-3t.js → node-command-policy-BKUs_pS2.js} +1 -1
  172. package/dist/{node-command-policy-DMwxqhrG.js → node-command-policy-pJ6IPNBA.js} +2 -2
  173. package/dist/{node-service-DoxDrTkh.js → node-service-6W3vqgVv.js} +1 -1
  174. package/dist/{node-service-83OYUi14.js → node-service-DUUObpwl.js} +1 -1
  175. package/dist/{nodes-cli-U66EhW5E.js → nodes-cli-BKGcOJ8A.js} +17 -17
  176. package/dist/{nodes-cli-co1sV2V7.js → nodes-cli-CQzck2kc.js} +2 -2
  177. package/dist/{nodes-screen-BHwVUMr8.js → nodes-screen-DcxCMjOs.js} +7 -7
  178. package/dist/{npm-pack-install-Sf1q9unI.js → npm-pack-install-Byr0kgft.js} +1 -1
  179. package/dist/{npm-pack-install-1gsZywqI.js → npm-pack-install-D5pJ8KzT.js} +18 -18
  180. package/dist/{npm-resolution-BPNFEkaz.js → npm-resolution-Dv7nYiaP.js} +2 -2
  181. package/dist/{npm-resolution-ZwcMp-e1.js → npm-resolution-T8SphiP5.js} +5 -5
  182. package/dist/{oauth-tls-preflight-CyE-1Bft.js → oauth-tls-preflight-B31t_Wn7.js} +1 -1
  183. package/dist/{oauth-tls-preflight-CrvTuJli.js → oauth-tls-preflight-i1WBNTG8.js} +1 -1
  184. package/dist/{onboard-Ce_QcPvd.js → onboard-D66uwNCb.js} +10 -10
  185. package/dist/{onboard-1RaJpuJ4.js → onboard-DcI-IxL0.js} +8 -8
  186. package/dist/{onboard-channels-BLL6tVVk.js → onboard-channels-BLZ8FdVP.js} +23 -23
  187. package/dist/{onboard-channels-CwxSCkFb.js → onboard-channels-CRpmgX82.js} +8 -8
  188. package/dist/{onboard-custom-DQXoFDlb.js → onboard-custom-Bow6lZPm.js} +1 -1
  189. package/dist/{onboard-custom-CltkNK3c.js → onboard-custom-CZR1K96w.js} +3 -3
  190. package/dist/{onboard-custom.shared-CXzE62ZH.js → onboard-custom.shared-B9NXcXpv.js} +3 -3
  191. package/dist/{onboard-custom.shared-CEUWEsKs.js → onboard-custom.shared-CBRRhb95.js} +2 -2
  192. package/dist/{onboard-helpers-D8lLbK3A.js → onboard-helpers-CczYNQDJ.js} +11 -11
  193. package/dist/{onboard-hooks-B7kk2JOb.js → onboard-hooks-CtxRk6l_.js} +1 -1
  194. package/dist/{onboard-hooks-DBif0Jq8.js → onboard-hooks-o0B0p8tR.js} +4 -4
  195. package/dist/{onboard-remote-BI5LFb3_.js → onboard-remote-DmHpLoWf.js} +2 -2
  196. package/dist/{onboard-remote-DpEjARZa.js → onboard-remote-DtLQyBJB.js} +4 -4
  197. package/dist/{onboard-skills-CL0tHf_N.js → onboard-skills-Brzj5oDF.js} +4 -4
  198. package/dist/{onboard-skills-PtotBKBA.js → onboard-skills-DwpZY5tZ.js} +2 -2
  199. package/dist/{onboarding-WDRpEgra.js → onboarding-CZCgESNI.js} +14 -14
  200. package/dist/{onboarding-Rub9MXWB.js → onboarding-Dae6N665.js} +10 -10
  201. package/dist/{onboarding.finalize-MTyP_Dr4.js → onboarding.finalize-ANKeWCQe.js} +25 -23
  202. package/dist/{onboarding.finalize-CWYrjSVx.js → onboarding.finalize-B8nYvA0i.js} +95 -93
  203. package/dist/{onboarding.gateway-config-Ce8ndMkF.js → onboarding.gateway-config-D-gZxjbU.js} +18 -18
  204. package/dist/{onboarding.gateway-config-NKUze1jH.js → onboarding.gateway-config-wXH6gE7c.js} +1 -1
  205. package/dist/{openai-model-default-XM-ZB1MD.js → openai-model-default-BNYNbslY.js} +2 -2
  206. package/dist/{openai-model-default-Fnz4mF67.js → openai-model-default-Q7Hmy0eQ.js} +1 -1
  207. package/dist/{outbound-CHyBoNxD.js → outbound-_RTZSBES.js} +4 -4
  208. package/dist/{outbound-attachment-DM-h2uQ1.js → outbound-attachment-CXINK8df.js} +2 -2
  209. package/dist/{pairing-cli-D_5K6SZn.js → pairing-cli-DAMLvDcA.js} +1 -1
  210. package/dist/{pairing-cli-DUMMuvWC.js → pairing-cli-DiKgOlKC.js} +10 -10
  211. package/dist/{pairing-labels-x4akYNb7.js → pairing-labels-CFSUHOmk.js} +1 -1
  212. package/dist/{pairing-store-rFuiIoGM.js → pairing-store-BfzlN-z9.js} +3 -3
  213. package/dist/{path-alias-guards-laKq24fx.js → path-alias-guards-Cg9ZP1NN.js} +3 -3
  214. package/dist/{path-env-BsdQR2gO.js → path-env-DDJ70PDB.js} +1 -1
  215. package/dist/{path-env-C0LQFNBL.js → path-env-DzEqwLCq.js} +1 -1
  216. package/dist/{path-safety-BxYB92SS.js → path-safety-__ACzYqx.js} +1 -1
  217. package/dist/{paths-B_L2Zoe-.js → paths-BjoSX1aC.js} +9 -9
  218. package/dist/{pi-embedded-CZAvX74y.js → pi-embedded-Claxav22.js} +64 -25
  219. package/dist/{pi-embedded-DE3hb87F.js → pi-embedded-DKX65Hec.js} +64 -25
  220. package/dist/{pi-embedded-helpers-CMTVhLjq.js → pi-embedded-helpers-BErNo2oq.js} +3 -3
  221. package/dist/{pi-embedded-helpers-DK1ft2pf.js → pi-embedded-helpers-Bmj18lhA.js} +3 -3
  222. package/dist/{pi-embedded-helpers-BB2whkUz.js → pi-embedded-helpers-CrD8I6qf.js} +6 -6
  223. package/dist/{pi-embedded-helpers-BDEokG0n.js → pi-embedded-helpers-ZTn-T7tW.js} +1 -1
  224. package/dist/{pi-model-discovery-RrejIg26.js → pi-model-discovery-BZ2RCD_u.js} +1 -1
  225. package/dist/{pi-tools.policy-BNhf9xbt.js → pi-tools.policy-eyXj0EY5.js} +1 -1
  226. package/dist/{pi-tools.policy-DRW8ya1z.js → pi-tools.policy-upaoJyu4.js} +5 -5
  227. package/dist/{plugin-auto-enable-S_lBQAKI.js → plugin-auto-enable-DER6qA6X.js} +3 -3
  228. package/dist/{plugin-registry-C2g1aLrK.js → plugin-registry-CxFikiLF.js} +3 -3
  229. package/dist/{plugin-registry-Blcs7wRm.js → plugin-registry-TOEmbMc4.js} +1 -1
  230. package/dist/plugin-sdk/agents/context-window-guard.d.ts +1 -0
  231. package/dist/plugin-sdk/bitseek/constants.d.ts +7 -0
  232. package/dist/plugin-sdk/{channel-web-DDMM_SWM.js → channel-web-O79O_ah6.js} +1 -1
  233. package/dist/plugin-sdk/index.js +2 -2
  234. package/dist/plugin-sdk/{reply-CRqbOxsM.js → reply-YZQvouuF.js} +44 -5
  235. package/dist/plugin-sdk/{web-BnNZPdgh.js → web-jmxdxo0H.js} +2 -2
  236. package/dist/{plugins-cli-C5PEYmz3.js → plugins-cli-Clo_uyvq.js} +20 -18
  237. package/dist/{plugins-cli-Cdug93Mi.js → plugins-cli-bHHZzKd-.js} +89 -87
  238. package/dist/{plugins-C4cYqW07.js → plugins-vsjS_m58.js} +2 -2
  239. package/dist/{ports-DRaxdQmm.js → ports-sCOQUaAP.js} +2 -2
  240. package/dist/{ports-tfS1haOJ.js → ports-zWusnrvP.js} +1 -1
  241. package/dist/{program-L4hhvW67.js → program-DSOHn27G.js} +87 -85
  242. package/dist/{program-context-BEPxCThZ.js → program-context-DfYJPL5N.js} +42 -42
  243. package/dist/{prompt-select-styled-DTqU-r5T.js → prompt-select-styled-B2izefsj.js} +21 -21
  244. package/dist/{prompt-select-styled-CYmsrkR3.js → prompt-select-styled-DG7woZ0E.js} +42 -42
  245. package/dist/{provider-auth-helpers-CNkIHUuF.js → provider-auth-helpers-BFsLtU8g.js} +5 -5
  246. package/dist/{provider-auth-helpers-BN8EX2pg.js → provider-auth-helpers-D_akOb8A.js} +3 -3
  247. package/dist/{proxy-env-BoopXu2J.js → proxy-env-BQIJPH4j.js} +1 -1
  248. package/dist/{push-apns-DRX0c6-y.js → push-apns-BSlKJa83.js} +5 -5
  249. package/dist/{push-apns-DeCoFR7G.js → push-apns-DvNRo3EQ.js} +1 -1
  250. package/dist/{pw-ai-DyGZ1pXu.js → pw-ai-BeJ_96rV.js} +15 -15
  251. package/dist/{pw-ai-DGwA7iCM.js → pw-ai-pkfCxzhV.js} +1 -1
  252. package/dist/{pw-ai-CMUrm_kS.js → pw-ai-pqeoAqm_.js} +1 -1
  253. package/dist/{qmd-manager-Bo22w5wm.js → qmd-manager-BNohLpRA.js} +20 -20
  254. package/dist/{qr-cli-EHSe4TmR.js → qr-cli-CCHyao8J.js} +1 -1
  255. package/dist/{query-expansion-Ba9OpCm9.js → query-expansion-BrM3X6-L.js} +12 -12
  256. package/dist/{redact-snapshot-kY3aFpcF.js → redact-snapshot-C1Yp9Q7B.js} +1 -1
  257. package/dist/{register.agent-CaCz2lnX.js → register.agent-C-OmdJMe.js} +104 -103
  258. package/dist/{register.agent-BZbeu5cM.js → register.agent-DowGjvNc.js} +38 -37
  259. package/dist/{register.configure-Cd-JxEFR.js → register.configure-BZLa_c3k.js} +48 -47
  260. package/dist/register.configure-CaSRlI6h.js +175 -0
  261. package/dist/{register.init-D4hlhvsq.js → register.init-BiLKNwSu.js} +19 -19
  262. package/dist/{register.init-DgBx-Lsd.js → register.init-DWQDniBg.js} +4 -4
  263. package/dist/{register.maintenance-MJR5bDWC.js → register.maintenance-CQivhR8Y.js} +106 -104
  264. package/dist/{register.maintenance-DsxNo00b.js → register.maintenance-DyTduYA4.js} +35 -33
  265. package/dist/{register.message-ChJGE4xV.js → register.message-5hKmcWaB.js} +82 -80
  266. package/dist/{register.message-BRGLa9T8.js → register.message-DE-eKss6.js} +16 -14
  267. package/dist/{register.onboard-CRCrMN8O.js → register.onboard-BRBPNENF.js} +21 -21
  268. package/dist/{register.onboard-4aB9FmjK.js → register.onboard-CWX2zarB.js} +5 -5
  269. package/dist/{register.setup-CCPeU8WO.js → register.setup-DwZL0RXc.js} +6 -6
  270. package/dist/{register.setup-DqRNRiXi.js → register.setup-YcxKWN94.js} +25 -25
  271. package/dist/{register.start-C9MbVhno.js → register.start-BHASi8Um.js} +2 -2
  272. package/dist/{register.start-D3IRihbV.js → register.start-CyYd_xbF.js} +18 -18
  273. package/dist/{register.status-health-sessions-EhCB2a7v.js → register.status-health-sessions-Cbva8fTK.js} +29 -27
  274. package/dist/{register.status-health-sessions-zD3z2YuT.js → register.status-health-sessions-lOM_lb6H.js} +96 -94
  275. package/dist/{register.subclis-D12iC4nF.js → register.subclis-CEq4Db2Q.js} +32 -32
  276. package/dist/{replies-BDnb0prE.js → replies-Ckd7Lwt0.js} +1 -1
  277. package/dist/{reply-Dpf9qyV4.js → reply-D8Yu6-Ie.js} +57 -27
  278. package/dist/{reply-prefix-H_GSyyzN.js → reply-prefix-DpXMFuAa.js} +1 -1
  279. package/dist/{resolve-route-ByAwAiq5.js → resolve-route-Cnto8LMw.js} +2 -2
  280. package/dist/{rpc-Bzb0JMJ_.js → rpc-CnRUZWNJ.js} +1 -1
  281. package/dist/{run-main-C_fGUv-Y.js → run-main-BoenTqTz.js} +101 -99
  282. package/dist/{runtime-Cx-7xFzl.js → runtime-D4y0Gdfj.js} +2 -2
  283. package/dist/{sandbox-SrM4-oQp.js → sandbox-BKa5RrBl.js} +1 -1
  284. package/dist/{sandbox-BLqUWbp2.js → sandbox-Tai-w14a.js} +18 -18
  285. package/dist/{sandbox-cli-CSbLS9FL.js → sandbox-cli-BnpEc205.js} +2 -2
  286. package/dist/{sandbox-cli-CEriRvUh.js → sandbox-cli-uwsF36Ea.js} +26 -26
  287. package/dist/{secrets-cli-DOQcU7hI.js → secrets-cli-CIxUNZyC.js} +2 -2
  288. package/dist/{secrets-cli-DG-NG8PH.js → secrets-cli-DzeSuhpa.js} +10 -10
  289. package/dist/{security-cli-BFqXRQt6.js → security-cli-BqOOeGxS.js} +7 -7
  290. package/dist/{security-cli-C_Bc1U-7.js → security-cli-Dzelqio0.js} +44 -44
  291. package/dist/{send-BTswySBz.js → send-BpXRh0BM.js} +11 -11
  292. package/dist/{send-CZ2O-5pP.js → send-CQJKPGw4.js} +6 -6
  293. package/dist/{send-ZyB64ntO.js → send-Cpaj_bKB.js} +5 -5
  294. package/dist/{send-BCLu4NEE.js → send-e1X1pfda.js} +6 -6
  295. package/dist/{send-D0X-8aPh.js → send-sj8Hu26l.js} +8 -8
  296. package/dist/{server-CzDsmd9g.js → server-Cr92VI8t.js} +19 -19
  297. package/dist/{server-_jtA2MKi.js → server-Ct0J5VXf.js} +3 -3
  298. package/dist/{server-context-LDDpCiyT.js → server-context-DWxmyV-0.js} +2 -2
  299. package/dist/{server-context-DRq_OT33.js → server-context-YLHmGfYV.js} +12 -12
  300. package/dist/{server-lifecycle-CcYnyYPQ.js → server-lifecycle-B23lXM3Y.js} +2 -2
  301. package/dist/{server-lifecycle-CkyOrO43.js → server-lifecycle-B7aXKxY3.js} +1 -1
  302. package/dist/{server-middleware-DHxnFjIL.js → server-middleware-CKSnhiM2.js} +1 -1
  303. package/dist/{server-node-events-BLz-kdvu.js → server-node-events-nakjzVDn.js} +13 -11
  304. package/dist/{server-node-events-B5xSV7Kq.js → server-node-events-yFZiE04b.js} +79 -77
  305. package/dist/{service-CZORJG4z.js → service-Bjqlh_fF.js} +15 -15
  306. package/dist/{service-B5Fw5CQO.js → service-DqxfCr8y.js} +1 -1
  307. package/dist/{session-nilNSQEL.js → session-DcnQHb9Q.js} +1 -1
  308. package/dist/{session-meta-Cew1QAYN.js → session-meta-DF1WT4cr.js} +1 -1
  309. package/dist/{session-utils-DxaIoRMp.js → session-utils-BncMg1bn.js} +6 -6
  310. package/dist/{sessions-BXz4gdq6.js → sessions-B2mnwD21.js} +15 -15
  311. package/dist/{sessions-DhD3eJDE.js → sessions-C2Xfck_9.js} +4 -4
  312. package/dist/{shared-BTBgx0-C.js → shared-BmSv3K8N.js} +1 -1
  313. package/dist/{shared-DvHQekWm.js → shared-BojXguFB.js} +3 -3
  314. package/dist/{shared-Brai19f9.js → shared-CgFPGTLU.js} +1 -1
  315. package/dist/{shared-BZscafy-.js → shared-_j1K2VJ9.js} +1 -1
  316. package/dist/{skill-commands-Cpr3Poo2.js → skill-commands-CYucDd3C.js} +5 -5
  317. package/dist/{skill-scanner-0-AybMIe.js → skill-scanner-CSJqt034.js} +6 -6
  318. package/dist/{skills-D4S-gyVf.js → skills-BCgFAMj3.js} +3 -3
  319. package/dist/{skills-cli-B0jFsoo4.js → skills-cli-BM1iUpGc.js} +6 -6
  320. package/dist/{skills-cli-ch5GmUQQ.js → skills-cli-D3ZteX5N.js} +2 -2
  321. package/dist/{skills-install-BMPfx9IL.js → skills-install-B_Vda3dM.js} +4 -4
  322. package/dist/{skills-install-C6-Zzqoi.js → skills-install-e4_jXT_J.js} +7 -7
  323. package/dist/{skills-status-CU7YkOva.js → skills-status-BEq0_fOn.js} +1 -1
  324. package/dist/{skills-status-DQzBD0Y7.js → skills-status-DG-bH5mO.js} +1 -1
  325. package/dist/{status-BfWqYNJf.js → status-CQYA6EJN.js} +16 -16
  326. package/dist/{status-Dw7ag8qn.js → status-mS4bWnIW.js} +31 -31
  327. package/dist/{status.update-C8qgou8r.js → status.update-HwSPC5ZX.js} +1 -1
  328. package/dist/{status.update-B6whKviL.js → status.update-YC9VNJxl.js} +2 -2
  329. package/dist/{store-TdzSHRPN.js → store-U8cs0QvT.js} +5 -5
  330. package/dist/{subagent-registry-D6OfBLNb.js → subagent-registry-CXBreqUP.js} +192 -162
  331. package/dist/{system-cli-BoamUpxz.js → system-cli-B_PUKo6-.js} +9 -9
  332. package/dist/{system-cli-DvJ6xypA.js → system-cli-IYwpBiC6.js} +1 -1
  333. package/dist/{system-run-command-XHAlbx5q.js → system-run-command-GKGzGztn.js} +1 -1
  334. package/dist/{systemd-C4JtDaKk.js → systemd-HiU4Gzoc.js} +9 -9
  335. package/dist/{systemd-hints-ZHrBbXDd.js → systemd-hints-BDIASQOF.js} +7 -7
  336. package/dist/{systemd-hints-Clojvvvd.js → systemd-hints-D40Qx3hg.js} +4 -4
  337. package/dist/{systemd-linger-CD4viBmg.js → systemd-linger-BK6kig-o.js} +2 -2
  338. package/dist/{systemd-linger-BCGwQ0gL.js → systemd-linger-DfrE-63p.js} +2 -2
  339. package/dist/{tables-BOsRa7CS.js → tables-DVXe5x1J.js} +1 -1
  340. package/dist/{tailnet-CfP3A6g2.js → tailnet-C1XBcWue.js} +1 -1
  341. package/dist/{target-errors-DPJ9HFp9.js → target-errors-C5LA-JI-.js} +4 -4
  342. package/dist/{tool-images-CmgHk8xk.js → tool-images-CnpAosfi.js} +1 -1
  343. package/dist/{tui-GWJMI53u.js → tui-CLK0s6TM.js} +6 -6
  344. package/dist/{tui-D577eygd.js → tui-Dd6DhgjX.js} +1 -1
  345. package/dist/{tui-cli-CcYMYNyU.js → tui-cli-C3PCazFC.js} +4 -4
  346. package/dist/{tui-cli-CMrxH2Q_.js → tui-cli-DTdNoN6U.js} +33 -33
  347. package/dist/{update-Ckxe8MK3.js → update-B1Dhhu_3.js} +1 -1
  348. package/dist/{update-CDWJ50iD.js → update-DLc3UsVC.js} +3 -3
  349. package/dist/{update-cli-Dw_JHcRy.js → update-cli-CuKW0N9W.js} +47 -41
  350. package/dist/{update-cli-r3eyhSgp.js → update-cli-D1B0Vytl.js} +119 -113
  351. package/dist/{update-runner-CHxTFtW8.js → update-runner-C9noXbfV.js} +25 -18
  352. package/dist/{update-runner-CJua_LZ3.js → update-runner-DO6RodZW.js} +13 -6
  353. package/dist/web-BKrNiKsU.js +127 -0
  354. package/dist/{web-De45Xhd1.js → web-DJKitOpu.js} +6 -6
  355. package/dist/{web-Cf5qfziZ.js → web-DbdjX4Hg.js} +16 -14
  356. package/dist/{web-B2_c07KN.js → web-V1uGLepo.js} +6 -6
  357. package/dist/{webhooks-cli-BScfmM3n.js → webhooks-cli-BFdw7BAP.js} +1 -1
  358. package/dist/{webhooks-cli-B09BdLSk.js → webhooks-cli-c5SaGz4J.js} +7 -7
  359. package/dist/{whatsapp-actions-BIPuOEBF.js → whatsapp-actions-CNoiLzRB.js} +1 -1
  360. package/dist/{whatsapp-actions-DUoWY7mE.js → whatsapp-actions-CnjEOFOZ.js} +19 -19
  361. package/dist/{with-timeout-B9qgOUui.js → with-timeout-DurSJobr.js} +3 -3
  362. package/dist/{with-timeout-B1c4PuYt.js → with-timeout-tSH4Tex_.js} +2 -2
  363. package/dist/{workspace-DzeL98px.js → workspace-BHfqkuYN.js} +23 -23
  364. package/dist/{workspace-A5CNJccm.js → workspace-DWBFoy1G.js} +1 -1
  365. package/dist/{workspace-dirs-Bevk6X_8.js → workspace-dirs-BOgNOBjy.js} +1 -1
  366. package/dist/{wsl-DksyFTBT.js → wsl-BDRu1-pk.js} +2 -2
  367. package/extensions/diagnostics-otel/node_modules/.bin/acorn +21 -0
  368. package/extensions/googlechat/node_modules/.bin/nlc +21 -0
  369. package/extensions/googlechat/node_modules/.bin/node-llama-cpp +21 -0
  370. package/extensions/googlechat/node_modules/.bin/openclaw +2 -2
  371. package/extensions/googlechat/node_modules/.bin/tsc +21 -0
  372. package/extensions/googlechat/node_modules/.bin/tsserver +21 -0
  373. package/extensions/memory-core/node_modules/.bin/nlc +21 -0
  374. package/extensions/memory-core/node_modules/.bin/node-llama-cpp +21 -0
  375. package/extensions/memory-core/node_modules/.bin/openclaw +2 -2
  376. package/extensions/memory-core/node_modules/.bin/tsc +21 -0
  377. package/extensions/memory-core/node_modules/.bin/tsserver +21 -0
  378. package/extensions/memory-lancedb/node_modules/.bin/arrow2csv +21 -0
  379. package/extensions/nostr/node_modules/.bin/tsc +21 -0
  380. package/extensions/nostr/node_modules/.bin/tsserver +21 -0
  381. package/package.json +2 -5
  382. package/dist/control-ui/assets/index-B5WC_0Be.css +0 -1
  383. package/dist/register.configure-BHL2CNOY.js +0 -174
  384. package/dist/web-B4yuhy9a.js +0 -125
  385. /package/dist/{api-Ddfugzlx.js → api-CRdLvaOQ.js} +0 -0
  386. /package/dist/{api-D9--MH2d.js → api-CzfBiQzt.js} +0 -0
  387. /package/dist/{brew-DKc_-WEW.js → brew-Bqn8t5g9.js} +0 -0
  388. /package/dist/{brew-D6LNrpWB.js → brew-Dgc9liFk.js} +0 -0
  389. /package/dist/{channels-status-issues-DXY75b-O.js → channels-status-issues-DeT1Znlx.js} +0 -0
  390. /package/dist/{clipboard-Do1nxsfe.js → clipboard-BYoUMUcc.js} +0 -0
  391. /package/dist/{clipboard-rDdMg7Oq.js → clipboard-Bscf81z7.js} +0 -0
  392. /package/dist/{command-options-DEPpN8NK.js → command-options-D4YE45pL.js} +0 -0
  393. /package/dist/{command-options-ZvhOayEd.js → command-options-DIuz7LzE.js} +0 -0
  394. /package/dist/{constants-CrJmimS2.js → constants-BJiQF5Ae.js} +0 -0
  395. /package/dist/{constants-Dpz-jwYQ.js → constants-SKxh9Cou.js} +0 -0
  396. /package/dist/{control-ui-assets-DjJ-kYlx.js → control-ui-assets-B_3g_YF0.js} +0 -0
  397. /package/dist/{daemon-runtime-B_UsbAjb.js → daemon-runtime-BPrEIqYI.js} +0 -0
  398. /package/dist/{daemon-runtime-J7zRr7jm.js → daemon-runtime-D8xmnSd2.js} +0 -0
  399. /package/dist/{dangerous-tools-B9LIt3MU.js → dangerous-tools-DHq9RLRQ.js} +0 -0
  400. /package/dist/{dangerous-tools-DYhQ651h.js → dangerous-tools-D_tNQLpF.js} +0 -0
  401. /package/dist/{docs-cli-BWNTtocT.js → docs-cli-DtThi0Xf.js} +0 -0
  402. /package/dist/{enable-4ExrKTxf.js → enable-CJ75JA5u.js} +0 -0
  403. /package/dist/{entry-status-CtRtehvt.js → entry-status-CdZ_Et6j.js} +0 -0
  404. /package/dist/{format-B4BvVfHq.js → format-A_N-0ymb.js} +0 -0
  405. /package/dist/{format-w5v1AP8D.js → format-BrqJ-lIP.js} +0 -0
  406. /package/dist/{gateway-rpc-B6VlwOHu.js → gateway-rpc-CJVCek88.js} +0 -0
  407. /package/dist/{gmail-setup-utils-CIlkd6Jc.js → gmail-setup-utils-CtjSNa9d.js} +0 -0
  408. /package/dist/{gmail-setup-utils-D953PUOL.js → gmail-setup-utils-mNwdQcKy.js} +0 -0
  409. /package/dist/{heartbeat-visibility-C_P1yurK.js → heartbeat-visibility-BdDIMad6.js} +0 -0
  410. /package/dist/{heartbeat-visibility-_K4bnQDH.js → heartbeat-visibility-JgoQYZHO.js} +0 -0
  411. /package/dist/{helpers-B7sHmVvT.js → helpers-BSfSxnxh.js} +0 -0
  412. /package/dist/{helpers-C5EyaXng.js → helpers-Cj6f8SPZ.js} +0 -0
  413. /package/dist/{helpers-DtWQVY6N.js → helpers-D0Q6sarx.js} +0 -0
  414. /package/dist/{helpers-CitWYyuK.js → helpers-DCwtPrez.js} +0 -0
  415. /package/dist/{is-main-TPRg8r91.js → is-main-Dha5s7-d.js} +0 -0
  416. /package/dist/{issue-format-BvgMk0hd.js → issue-format-rk9Vpcxd.js} +0 -0
  417. /package/dist/{model-param-b-By9uTH-E.js → model-param-b-B5WDRptZ.js} +0 -0
  418. /package/dist/{model-param-b-scvX_s5g.js → model-param-b-DhHzFqPC.js} +0 -0
  419. /package/dist/{mutable-allowlist-detectors-CsTC5ncA.js → mutable-allowlist-detectors-BaVrnZS3.js} +0 -0
  420. /package/dist/{mutable-allowlist-detectors-DHXBcz_e.js → mutable-allowlist-detectors-D5GqtHJ_.js} +0 -0
  421. /package/dist/{node-commands-D80C29Tj.js → node-commands-CGOhd32j.js} +0 -0
  422. /package/dist/{node-commands-oSbiEu_0.js → node-commands-DYz_oQFz.js} +0 -0
  423. /package/dist/{note-B8i7nefS.js → note-BuhsMSuP.js} +0 -0
  424. /package/dist/{note-DfB2MBuH.js → note-CLcV1fjx.js} +0 -0
  425. /package/dist/{outbound-D2l__XSz.js → outbound-DlVJWa4u.js} +0 -0
  426. /package/dist/{parse-log-line-ZSGs_ws7.js → parse-log-line-BtRNMGXv.js} +0 -0
  427. /package/dist/{parse-log-line-enq8pduH.js → parse-log-line-pij_xhtE.js} +0 -0
  428. /package/dist/{parse-port-CLydiXaJ.js → parse-port-DEJJlpU0.js} +0 -0
  429. /package/dist/{parse-port-DPUPC687.js → parse-port-M1LW5BLv.js} +0 -0
  430. /package/dist/{path-safety-CKvIjU2Y.js → path-safety-COhgvniC.js} +0 -0
  431. /package/dist/{ports-CF46wKRL.js → ports-BL-FP2jP.js} +0 -0
  432. /package/dist/{program-context-3Z5CO0jS.js → program-context-Cy6hM1zR.js} +0 -0
  433. /package/dist/{prompts-DomsZukd.js → prompts-CbZZ91V9.js} +0 -0
  434. /package/dist/{prompts-ULYkmWPj.js → prompts-iXdBMk3j.js} +0 -0
  435. /package/dist/{pw-ai-DrwyqCD-.js → pw-ai-D21rIJ2z.js} +0 -0
  436. /package/dist/{qr-cli-71R5i2Hr.js → qr-cli-BQGJJ5hp.js} +0 -0
  437. /package/dist/{redact-snapshot-B_ApSuEH.js → redact-snapshot-DCGL0k2M.js} +0 -0
  438. /package/dist/{rpc-B5R6hXju.js → rpc-9jE_1PW0.js} +0 -0
  439. /package/dist/{runtime-DNtFeWu6.js → runtime-Rd7ooKB0.js} +0 -0
  440. /package/dist/{runtime-guard-Ch9ZniVU.js → runtime-guard-lQH3Hjre.js} +0 -0
  441. /package/dist/{runtime-guard-8RRYRGZL.js → runtime-guard-p6l4jDOj.js} +0 -0
  442. /package/dist/{runtime-status-DZoVtX5E.js → runtime-status-FmZCZXmg.js} +0 -0
  443. /package/dist/{runtime-status-boiphq8B.js → runtime-status-t6wRP4gf.js} +0 -0
  444. /package/dist/{session-BeKM82so.js → session-FOGqE7bj.js} +0 -0
  445. /package/dist/{skill-scanner-CNK-3AZh.js → skill-scanner-CsmM5F4F.js} +0 -0
  446. /package/dist/{status-BrwHRn2B.js → status-rpJtIjm7.js} +0 -0
  447. /package/dist/{status-BwiJpA37.js → status-yrDGXYZM.js} +0 -0
  448. /package/dist/{systemd-C177Z-Zv.js → systemd-DJ5Red-Q.js} +0 -0
  449. /package/dist/{table-BHL_2Py1.js → table-CqULNDay.js} +0 -0
  450. /package/dist/{table-MuA2LQfi.js → table-DZBPnHSy.js} +0 -0
  451. /package/dist/{text-format-ByZoVQF_.js → text-format-D-Z0xB-E.js} +0 -0
  452. /package/dist/{text-format-Cy1bnk2A.js → text-format-oWqzVmah.js} +0 -0
  453. /package/dist/{tool-loop-detection-DLEs1CTw.js → tool-loop-detection-BUIIO4gy.js} +0 -0
  454. /package/dist/{tool-loop-detection-__o-Jytj.js → tool-loop-detection-r4aG7Xi8.js} +0 -0
  455. /package/dist/{widearea-dns-Dnn3h3FI.js → widearea-dns-CABro6I6.js} +0 -0
  456. /package/dist/{widearea-dns-Bd2x2P2m.js → widearea-dns-D1fyqK-r.js} +0 -0
@@ -1,8 +1,8 @@
1
1
  import { k as resolvePreferredOpenClawTmpDir } from "./globals-B68W7uN8.js";
2
- import { A as isNotFoundPathError, j as isPathInside } from "./workspace-DzeL98px.js";
3
- import { i as openFileWithinRoot, t as SafeOpenError } from "./fs-safe-BqJ9egpm.js";
2
+ import { A as isNotFoundPathError, j as isPathInside } from "./workspace-BHfqkuYN.js";
3
+ import { i as openFileWithinRoot, t as SafeOpenError } from "./fs-safe-CJDtl_QU.js";
4
4
  import path from "node:path";
5
- import fsPromises from "node:fs/promises";
5
+ import fs from "node:fs/promises";
6
6
 
7
7
  //#region src/browser/form-fields.ts
8
8
  const DEFAULT_FILL_FIELD_TYPE = "text";
@@ -44,28 +44,28 @@ function invalidPath(scopeLabel) {
44
44
  }
45
45
  async function resolveRealPathIfExists(targetPath) {
46
46
  try {
47
- return await fsPromises.realpath(targetPath);
47
+ return await fs.realpath(targetPath);
48
48
  } catch {
49
49
  return;
50
50
  }
51
51
  }
52
52
  async function resolveTrustedRootRealPath(rootDir) {
53
53
  try {
54
- const rootLstat = await fsPromises.lstat(rootDir);
54
+ const rootLstat = await fs.lstat(rootDir);
55
55
  if (!rootLstat.isDirectory() || rootLstat.isSymbolicLink()) return;
56
- return await fsPromises.realpath(rootDir);
56
+ return await fs.realpath(rootDir);
57
57
  } catch {
58
58
  return;
59
59
  }
60
60
  }
61
61
  async function validateCanonicalPathWithinRoot(params) {
62
62
  try {
63
- const candidateLstat = await fsPromises.lstat(params.candidatePath);
63
+ const candidateLstat = await fs.lstat(params.candidatePath);
64
64
  if (candidateLstat.isSymbolicLink()) return "invalid";
65
65
  if (params.expect === "directory" && !candidateLstat.isDirectory()) return "invalid";
66
66
  if (params.expect === "file" && !candidateLstat.isFile()) return "invalid";
67
67
  if (params.expect === "file" && candidateLstat.nlink > 1) return "invalid";
68
- const candidateRealPath = await fsPromises.realpath(params.candidatePath);
68
+ const candidateRealPath = await fs.realpath(params.candidatePath);
69
69
  return isPathInside(params.rootRealPath, candidateRealPath) ? "ok" : "invalid";
70
70
  } catch (err) {
71
71
  return isNotFoundPathError(err) ? "not-found" : "invalid";
@@ -143,7 +143,7 @@ async function resolveCheckedPathsWithinRoot(params) {
143
143
  };
144
144
  if (!rootRealPath || !raw || !path.isAbsolute(raw)) return lexicalPathResult;
145
145
  try {
146
- const resolvedExistingPath = await fsPromises.realpath(raw);
146
+ const resolvedExistingPath = await fs.realpath(raw);
147
147
  const relativePath = path.relative(rootRealPath, resolvedExistingPath);
148
148
  if (!isInRoot(relativePath)) return lexicalPathResult;
149
149
  return {
@@ -21,7 +21,7 @@ import { t as buildChannelAccountBindings } from "./bindings-Cn3Pwuys.js";
21
21
  import { a as createSlackWebClient, c as validateSlackBlocksArray, d as resolveSlackChannelId, i as normalizeSlackOutboundText, l as buildSlackBlocksFallbackText, o as resolveSlackWebClientOptions, s as parseSlackBlocksInput, t as sendMessageSlack, u as parseSlackTarget } from "./send-paWifUry.js";
22
22
  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 createDiscordClient, o as sendDiscordComponentMessage, ot as listDiscordDirectoryGroupsLive, p as readDiscordComponentSpec, pt as resolveDiscordGuildEntry, q as deleteChannelDiscord, r as reactMessageDiscord, rt as createDiscordRestClient, s as createDiscordFormModal, st as listDiscordDirectoryPeersLive, tt as chunkDiscordTextWithMode, 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-BpJIVMP0.js";
23
23
  import { n as generateSecureUuid, t as generateSecureToken } from "./secure-random-CFRVlPvh.js";
24
- 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-Z7543EnP.js";
24
+ 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-Dyh8ZsLI.js";
25
25
  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-Co8pKHgV.js";
26
26
  import { r as getDiagnosticSessionState } from "./diagnostic-session-state-iIgQ4O9h.js";
27
27
  import { n as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-BvAUwnNS.js";
@@ -29,8 +29,8 @@ import { $ as readChannelAllowFromStore, A as describeReplyTarget, B as resolveT
29
29
  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-CSs8oYrR.js";
30
30
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-DpYZ-y1X.js";
31
31
  import { a as isMarkdownCapableMessageChannel, c as resolveGatewayMessageChannel, d as GATEWAY_CLIENT_MODES, f as GATEWAY_CLIENT_NAMES, i as isInternalMessageChannel, l as resolveMessageChannel, n as isDeliverableMessageChannel, o as listDeliverableMessageChannels, r as isGatewayMessageChannel, s as normalizeMessageChannel, t as INTERNAL_MESSAGE_CHANNEL, u as GATEWAY_CLIENT_IDS } from "./message-channel-B1_JjaQ_.js";
32
- import { $ as mergeAlsoAllowPolicy, A as isRawApiErrorPayload, B as registerBrowserRoutes, C as isCloudCodeAssistFormatError, D as isFailoverErrorMessage, E as isFailoverAssistantError, F as sanitizeUserFacingText, G as resolveBrowserControlAuth, H as resolveProfile, I as ensureSandboxWorkspaceForSession, J as resolveSandboxConfigForAgent, K as resolveGatewayCredentialsFromConfig, L as resolveSandboxContext, M as isTransientHttpError, N as parseImageDimensionError, O as isLikelyContextOverflowError, P as parseImageSizeError, Q as expandPolicyWithPluginGroups, R as resolveSandboxRuntimeStatus, S as isBillingAssistantError, T as isContextOverflowError, U as getBridgeAuthForPort, V as resolveBrowserConfig, W as ensureBrowserControlAuth, X as buildPluginToolGroups, Y as applyOwnerOnlyToolPolicy, Z as collectExplicitAllowlist, _ as formatBillingErrorMessage, a as isMessagingToolDuplicateNormalized, at as matchesAnyGlobPattern, b as isAuthAssistantError, c as extractToolCallsFromAssistant, ct as resolveBootstrapMaxChars, d as downgradeOpenAIFunctionCallReasoningPairs, et as stripPluginOnlyAllowlist, f as downgradeOpenAIReasoningBlocks, g as formatAssistantErrorText, h as classifyFailoverReason, it as compileGlobPatterns, j as isTimeoutErrorMessage, k as isRateLimitAssistantError, l as extractToolResultId, lt as resolveBootstrapTotalMaxChars, m as BILLING_ERROR_USER_MESSAGE, n as validateGeminiTurns, nt as normalizeToolName, o as normalizeTextForComparison, ot as buildBootstrapContextFiles, p as isGoogleModelApi, q as trimToUndefined$1, r as pickFallbackThinkingLevel, rt as resolveToolProfilePolicy, s as sanitizeSessionMessagesImages, st as ensureSessionHeader, t as validateAnthropicTurns, tt as expandToolGroups, u as sanitizeToolCallIdsForCloudCodeAssist, ut as sanitizeGoogleTurnOrdering, v as formatRawAssistantErrorForUi, w as isCompactionFailureError, x as isAuthPermanentErrorMessage, y as getApiErrorPayloadFingerprint, z as createBrowserRouteContext } from "./pi-embedded-helpers-DK1ft2pf.js";
33
- import { A as rawDataToString, B as isSecureWebSocketUrl, C as ensureChromeExtensionRelayServer, N as DEFAULT_UPLOAD_DIR, P as resolveExistingPathsWithinRoot, U as DEFAULT_AI_SNAPSHOT_MAX_CHARS, s as resolveLsofCommandSync, z as isLoopbackHost } from "./chrome-xatreDUO.js";
32
+ import { $ as mergeAlsoAllowPolicy, A as isRawApiErrorPayload, B as registerBrowserRoutes, C as isCloudCodeAssistFormatError, D as isFailoverErrorMessage, E as isFailoverAssistantError, F as sanitizeUserFacingText, G as resolveBrowserControlAuth, H as resolveProfile, I as ensureSandboxWorkspaceForSession, J as resolveSandboxConfigForAgent, K as resolveGatewayCredentialsFromConfig, L as resolveSandboxContext, M as isTransientHttpError, N as parseImageDimensionError, O as isLikelyContextOverflowError, P as parseImageSizeError, Q as expandPolicyWithPluginGroups, R as resolveSandboxRuntimeStatus, S as isBillingAssistantError, T as isContextOverflowError, U as getBridgeAuthForPort, V as resolveBrowserConfig, W as ensureBrowserControlAuth, X as buildPluginToolGroups, Y as applyOwnerOnlyToolPolicy, Z as collectExplicitAllowlist, _ as formatBillingErrorMessage, a as isMessagingToolDuplicateNormalized, at as matchesAnyGlobPattern, b as isAuthAssistantError, c as extractToolCallsFromAssistant, ct as resolveBootstrapMaxChars, d as downgradeOpenAIFunctionCallReasoningPairs, et as stripPluginOnlyAllowlist, f as downgradeOpenAIReasoningBlocks, g as formatAssistantErrorText, h as classifyFailoverReason, it as compileGlobPatterns, j as isTimeoutErrorMessage, k as isRateLimitAssistantError, l as extractToolResultId, lt as resolveBootstrapTotalMaxChars, m as BILLING_ERROR_USER_MESSAGE, n as validateGeminiTurns, nt as normalizeToolName, o as normalizeTextForComparison, ot as buildBootstrapContextFiles, p as isGoogleModelApi, q as trimToUndefined$1, r as pickFallbackThinkingLevel, rt as resolveToolProfilePolicy, s as sanitizeSessionMessagesImages, st as ensureSessionHeader, t as validateAnthropicTurns, tt as expandToolGroups, u as sanitizeToolCallIdsForCloudCodeAssist, ut as sanitizeGoogleTurnOrdering, v as formatRawAssistantErrorForUi, w as isCompactionFailureError, x as isAuthPermanentErrorMessage, y as getApiErrorPayloadFingerprint, z as createBrowserRouteContext } from "./pi-embedded-helpers-Bmj18lhA.js";
33
+ import { A as rawDataToString, B as isSecureWebSocketUrl, C as ensureChromeExtensionRelayServer, N as DEFAULT_UPLOAD_DIR, P as resolveExistingPathsWithinRoot, U as DEFAULT_AI_SNAPSHOT_MAX_CHARS, s as resolveLsofCommandSync, z as isLoopbackHost } from "./chrome-CuMCXCQN.js";
34
34
  import { c as assertSandboxPath, d as resolveSandboxedMediaSource, f as applySkillEnvOverrides, i as resolveSkillsPromptForRun, l as resolveSandboxInputPath, n as buildWorkspaceSkillSnapshot, p as applySkillEnvOverridesFromSnapshot, r as loadWorkspaceSkillEntries, s as assertMediaNotDataUrl } from "./skills-Z-lrvzqS.js";
35
35
  import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-BaYeiedF.js";
36
36
  import { i as testRegexWithBoundedInput, r as compileSafeRegex, t as redactSensitiveText } from "./redact-b4XSqAVh.js";
@@ -46,8 +46,8 @@ import { i as resolveSessionTranscriptPath, n as resolveSessionFilePath, o as re
46
46
  import { n as onSessionTranscriptUpdate, t as emitSessionTranscriptUpdate } from "./transcript-events-BuUCuvpI.js";
47
47
  import { a as canonicalizeBase64, i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, o as estimateBase64DecodedBytes, r as sanitizeToolResultImages } from "./tool-images-BOZsvFJ9.js";
48
48
  import { a as normalizeReasoningLevel, c as normalizeVerboseLevel, i as normalizeElevatedLevel, l as resolveResponseUsageMode, n as formatXHighModelHint, o as normalizeThinkLevel, s as normalizeUsageDisplay, t as formatThinkingLevels, u as supportsXHighThinking } from "./thinking-kXAj2UX9.js";
49
- import { C as extractTextFromChatContent, S as isInsideCode, T as ensureOpenClawModelsJson, _ as stripThinkingTagsFromText, a as decodeDataUrl, b as stripReasoningTagsFromText, 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 formatToolSummary, w as minimaxUnderstandImage, x as findCodeRegions, y as resolveToolDisplay } from "./image-DQV2jl6F.js";
50
- import { _ as resolveAttachmentKind, a as resolveAutoImageModel, b as modelSupportsVision, c as applyTemplate, d as normalizeMediaUnderstandingChatType, f as resolveMediaUnderstandingScope, h as registerUnhandledRejectionHandler, i as normalizeMediaAttachments, l as resolveConcurrency, m as buildRandomTempFilePath, n as buildProviderRegistry, o as resolveMediaAttachmentLocalRoots, p as CLI_OUTPUT_MAX_BUFFER, r as createMediaAttachmentCache, s as runCapability, t as runAudioTranscription, u as resolveTimeoutMs$2, v as findModelInCatalog, y as loadModelCatalog } from "./audio-transcription-runner-CGsd7139.js";
49
+ import { C as extractTextFromChatContent, S as isInsideCode, T as ensureOpenClawModelsJson, _ as stripThinkingTagsFromText, a as decodeDataUrl, b as stripReasoningTagsFromText, 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 formatToolSummary, w as minimaxUnderstandImage, x as findCodeRegions, y as resolveToolDisplay } from "./image-DihIv8Eo.js";
50
+ import { _ as resolveAttachmentKind, a as resolveAutoImageModel, b as modelSupportsVision, c as applyTemplate, d as normalizeMediaUnderstandingChatType, f as resolveMediaUnderstandingScope, h as registerUnhandledRejectionHandler, i as normalizeMediaAttachments, l as resolveConcurrency, m as buildRandomTempFilePath, n as buildProviderRegistry, o as resolveMediaAttachmentLocalRoots, p as CLI_OUTPUT_MAX_BUFFER, r as createMediaAttachmentCache, s as runCapability, t as runAudioTranscription, u as resolveTimeoutMs$2, v as findModelInCatalog, y as loadModelCatalog } from "./audio-transcription-runner-DwWOJBSn.js";
51
51
  import { a as getDefaultMediaLocalRoots, i as getAgentScopedMediaLocalRoots, n as fetchRemoteMedia, r as readResponseWithLimit, t as MediaFetchError } from "./fetch-BfCWv6tx.js";
52
52
  import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-BVa_Fx_T.js";
53
53
  import { n as withStrictGuardedFetchMode, r as withTrustedEnvProxyGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-DfeA6yKv.js";
@@ -91,7 +91,7 @@ import { CURRENT_SESSION_VERSION, DefaultResourceLoader, SessionManager, Setting
91
91
  import { EdgeTTS } from "node-edge-tts";
92
92
  import { createServer } from "node:http";
93
93
  import { ProxyAgent, fetch as fetch$1 } from "undici";
94
- import WebSocket, { WebSocket as WebSocket$1 } from "ws";
94
+ import WebSocket$1, { WebSocket } from "ws";
95
95
  import { Buffer as Buffer$1 } from "node:buffer";
96
96
  import { createJiti } from "jiti";
97
97
  import AjvPkg from "ajv";
@@ -8161,7 +8161,7 @@ var GatewayClient = class {
8161
8161
  if (fingerprint !== expected) return /* @__PURE__ */ new Error("gateway tls fingerprint mismatch");
8162
8162
  });
8163
8163
  }
8164
- this.ws = new WebSocket$1(url, wsOptions);
8164
+ this.ws = new WebSocket(url, wsOptions);
8165
8165
  this.ws.on("open", () => {
8166
8166
  if (url.startsWith("wss://") && this.opts.tlsFingerprint) {
8167
8167
  const tlsError = this.validateTlsFingerprint();
@@ -8357,7 +8357,7 @@ var GatewayClient = class {
8357
8357
  const connectChallengeTimeoutMs = typeof rawConnectDelayMs === "number" && Number.isFinite(rawConnectDelayMs) ? Math.max(250, Math.min(1e4, rawConnectDelayMs)) : 2e3;
8358
8358
  if (this.connectTimer) clearTimeout(this.connectTimer);
8359
8359
  this.connectTimer = setTimeout(() => {
8360
- if (this.connectSent || this.ws?.readyState !== WebSocket$1.OPEN) return;
8360
+ if (this.connectSent || this.ws?.readyState !== WebSocket.OPEN) return;
8361
8361
  this.opts.onConnectError?.(/* @__PURE__ */ new Error("gateway connect challenge timeout"));
8362
8362
  this.ws?.close(1008, "connect challenge timeout");
8363
8363
  }, connectChallengeTimeoutMs);
@@ -8399,7 +8399,7 @@ var GatewayClient = class {
8399
8399
  return null;
8400
8400
  }
8401
8401
  async request(method, params, opts) {
8402
- if (!this.ws || this.ws.readyState !== WebSocket$1.OPEN) throw new Error("gateway not connected");
8402
+ if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error("gateway not connected");
8403
8403
  const id = randomUUID();
8404
8404
  const frame = {
8405
8405
  type: "req",
@@ -9679,7 +9679,7 @@ async function routeReply(params) {
9679
9679
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
9680
9680
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
9681
9681
  try {
9682
- const { deliverOutboundPayloads } = await import("./deliver-Z7543EnP.js").then((n) => n.n);
9682
+ const { deliverOutboundPayloads } = await import("./deliver-Dyh8ZsLI.js").then((n) => n.n);
9683
9683
  const outboundSession = buildOutboundSessionContext({
9684
9684
  cfg,
9685
9685
  agentId: resolvedAgentId,
@@ -14237,7 +14237,7 @@ async function sendTranscriptEcho(params) {
14237
14237
  }
14238
14238
  const text = formatEchoTranscript(transcript, params.format ?? DEFAULT_ECHO_TRANSCRIPT_FORMAT);
14239
14239
  try {
14240
- const { deliverOutboundPayloads } = await import("./deliver-Z7543EnP.js").then((n) => n.n);
14240
+ const { deliverOutboundPayloads } = await import("./deliver-Dyh8ZsLI.js").then((n) => n.n);
14241
14241
  await deliverOutboundPayloads({
14242
14242
  cfg,
14243
14243
  channel: normalizedChannel,
@@ -49691,7 +49691,7 @@ async function deliverSessionMaintenanceWarning(params) {
49691
49691
  return;
49692
49692
  }
49693
49693
  try {
49694
- const { deliverOutboundPayloads } = await import("./deliver-Z7543EnP.js").then((n) => n.n);
49694
+ const { deliverOutboundPayloads } = await import("./deliver-Dyh8ZsLI.js").then((n) => n.n);
49695
49695
  const outboundSession = buildOutboundSessionContext({
49696
49696
  cfg: params.cfg,
49697
49697
  sessionKey: params.sessionKey
@@ -54633,7 +54633,7 @@ async function describeStickerImage(params) {
54633
54633
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
54634
54634
  try {
54635
54635
  const buffer = await fs.readFile(imagePath);
54636
- const { describeImageWithModel } = await import("./image-DQV2jl6F.js").then((n) => n.n);
54636
+ const { describeImageWithModel } = await import("./image-DihIv8Eo.js").then((n) => n.n);
54637
54637
  return (await describeImageWithModel({
54638
54638
  buffer,
54639
54639
  fileName: "sticker.webp",
@@ -56387,7 +56387,7 @@ async function resolveDiscordPreflightAudioMentionContext(params) {
56387
56387
  const needsPreflightTranscription = !params.isDirectMessage && params.shouldRequireMention && hasAudioAttachment && !hasTypedText && params.mentionRegexes.length > 0;
56388
56388
  let transcript;
56389
56389
  if (needsPreflightTranscription) try {
56390
- const { transcribeFirstAudio } = await import("./audio-preflight-DdrORTn9.js");
56390
+ const { transcribeFirstAudio } = await import("./audio-preflight-CHD1xVrt.js");
56391
56391
  const audioUrls = audioAttachments.map((att) => att.url).filter((url) => typeof url === "string" && url.length > 0);
56392
56392
  if (audioUrls.length > 0) transcript = await transcribeFirstAudio({
56393
56393
  ctx: {
@@ -60929,7 +60929,7 @@ function createOutboundSendDepsFromCliSource(deps) {
60929
60929
  function createDefaultDeps() {
60930
60930
  return {
60931
60931
  sendMessageWhatsApp: async (...args) => {
60932
- const { sendMessageWhatsApp } = await import("./web-De45Xhd1.js");
60932
+ const { sendMessageWhatsApp } = await import("./web-DJKitOpu.js");
60933
60933
  return await sendMessageWhatsApp(...args);
60934
60934
  },
60935
60935
  sendMessageTelegram: async (...args) => {
@@ -64371,7 +64371,7 @@ function createDiscordGatewayPlugin(params) {
64371
64371
  return super.registerClient(client);
64372
64372
  }
64373
64373
  createWebSocket(url) {
64374
- return new WebSocket(url, { agent: wsAgent });
64374
+ return new WebSocket$1(url, { agent: wsAgent });
64375
64375
  }
64376
64376
  }
64377
64377
  return new ProxyGatewayPlugin();
@@ -76402,7 +76402,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, replyMedia =
76402
76402
  const disableAudioPreflight = firstDefined$1(topicConfig?.disableAudioPreflight, groupConfig?.disableAudioPreflight) === true;
76403
76403
  let preflightTranscript;
76404
76404
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0 && !disableAudioPreflight) try {
76405
- const { transcribeFirstAudio } = await import("./audio-preflight-DdrORTn9.js");
76405
+ const { transcribeFirstAudio } = await import("./audio-preflight-CHD1xVrt.js");
76406
76406
  preflightTranscript = await transcribeFirstAudio({
76407
76407
  ctx: {
76408
76408
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -79187,7 +79187,7 @@ function loadWebLoginQr() {
79187
79187
  return webLoginQrPromise;
79188
79188
  }
79189
79189
  function loadWebChannel() {
79190
- webChannelPromise ??= import("./web-De45Xhd1.js");
79190
+ webChannelPromise ??= import("./web-DJKitOpu.js");
79191
79191
  return webChannelPromise;
79192
79192
  }
79193
79193
  function loadWhatsAppActions() {
@@ -84221,6 +84221,13 @@ async function compactWithSafetyTimeout(compact, timeoutMs = EMBEDDED_COMPACTION
84221
84221
  return await withTimeout(() => compact(), timeoutMs, "Compaction");
84222
84222
  }
84223
84223
 
84224
+ //#endregion
84225
+ //#region src/bitseek/constants.ts
84226
+ const BITSEEK_PROVIDER_ID = "bitseek";
84227
+ const BITSEEK_DEFAULT_MODEL_ID = "AUTO";
84228
+ const BITSEEK_DEFAULT_MODEL_REF = `${BITSEEK_PROVIDER_ID}/${BITSEEK_DEFAULT_MODEL_ID}`;
84229
+ const BITSEEK_DEFAULT_CONTEXT_WINDOW_TOKENS = 8192;
84230
+
84224
84231
  //#endregion
84225
84232
  //#region src/agents/context-window-guard.ts
84226
84233
  const CONTEXT_WINDOW_HARD_MIN_TOKENS = 16e3;
@@ -84253,6 +84260,9 @@ function resolveContextWindowInfo(params) {
84253
84260
  };
84254
84261
  return baseInfo;
84255
84262
  }
84263
+ function resolveContextWindowHardMinTokens(provider) {
84264
+ return provider.trim().toLowerCase() === BITSEEK_PROVIDER_ID ? BITSEEK_DEFAULT_CONTEXT_WINDOW_TOKENS : CONTEXT_WINDOW_HARD_MIN_TOKENS;
84265
+ }
84256
84266
  function evaluateContextWindowGuard(params) {
84257
84267
  const warnBelow = Math.max(1, Math.floor(params.warnBelowTokens ?? CONTEXT_WINDOW_WARN_BELOW_TOKENS));
84258
84268
  const hardMin = Math.max(1, Math.floor(params.hardMinTokens ?? CONTEXT_WINDOW_HARD_MIN_TOKENS));
@@ -86258,6 +86268,30 @@ function createOpenAIDefaultTransportWrapper(baseStreamFn) {
86258
86268
  });
86259
86269
  };
86260
86270
  }
86271
+ function isManagedCustomOpenAiProvider(cfg, provider) {
86272
+ const providers = cfg?.models?.providers;
86273
+ if (!providers) return false;
86274
+ const normalizedProvider = normalizeProviderId(provider);
86275
+ for (const [providerId, providerConfig] of Object.entries(providers)) {
86276
+ if (normalizeProviderId(providerId) !== normalizedProvider) continue;
86277
+ if (normalizeProviderId(providerId) === BITSEEK_PROVIDER_ID) return false;
86278
+ if (providerConfig?.api !== "openai-completions") return false;
86279
+ if (typeof providerConfig.baseUrl !== "string" || !providerConfig.baseUrl.trim()) return false;
86280
+ if (!Array.isArray(providerConfig.models)) return false;
86281
+ return providerConfig.models.some((model) => typeof model?.id === "string" && model.id.trim());
86282
+ }
86283
+ return false;
86284
+ }
86285
+ function createUserAgentStripWrapper(baseStreamFn) {
86286
+ const underlying = baseStreamFn ?? streamSimple;
86287
+ return (model, context, options) => underlying(model, context, {
86288
+ ...options,
86289
+ headers: {
86290
+ ...options?.headers,
86291
+ "User-Agent": null
86292
+ }
86293
+ });
86294
+ }
86261
86295
  function isAnthropic1MModel(modelId) {
86262
86296
  const normalized = modelId.trim().toLowerCase();
86263
86297
  return ANTHROPIC_1M_MODEL_PREFIXES.some((prefix) => normalized.startsWith(prefix));
@@ -86604,6 +86638,10 @@ function applyExtraParamsToAgent(agent, cfg, provider, modelId, extraParamsOverr
86604
86638
  }
86605
86639
  agent.streamFn = createGoogleThinkingPayloadWrapper(agent.streamFn, thinkingLevel);
86606
86640
  agent.streamFn = createOpenAIResponsesContextManagementWrapper(agent.streamFn, merged);
86641
+ if (isManagedCustomOpenAiProvider(cfg, provider)) {
86642
+ log$3.debug(`stripping User-Agent for custom OpenAI-compatible provider ${provider}/${modelId}`);
86643
+ agent.streamFn = createUserAgentStripWrapper(agent.streamFn);
86644
+ }
86607
86645
  }
86608
86646
 
86609
86647
  //#endregion
@@ -86960,7 +86998,7 @@ var OpenAIWebSocketManager = class extends EventEmitter {
86960
86998
  * Throws if the connection is not open.
86961
86999
  */
86962
87000
  send(event) {
86963
- if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error(`OpenAIWebSocketManager: cannot send — connection is not open (readyState=${this.ws?.readyState ?? "no socket"})`);
87001
+ if (!this.ws || this.ws.readyState !== WebSocket$1.OPEN) throw new Error(`OpenAIWebSocketManager: cannot send — connection is not open (readyState=${this.ws?.readyState ?? "no socket"})`);
86964
87002
  this.ws.send(JSON.stringify(event));
86965
87003
  }
86966
87004
  /**
@@ -86977,7 +87015,7 @@ var OpenAIWebSocketManager = class extends EventEmitter {
86977
87015
  * Returns true if the WebSocket is currently open and ready to send.
86978
87016
  */
86979
87017
  isConnected() {
86980
- return this.ws !== null && this.ws.readyState === WebSocket.OPEN;
87018
+ return this.ws !== null && this.ws.readyState === WebSocket$1.OPEN;
86981
87019
  }
86982
87020
  /**
86983
87021
  * Permanently closes the WebSocket connection and disables auto-reconnect.
@@ -86987,7 +87025,7 @@ var OpenAIWebSocketManager = class extends EventEmitter {
86987
87025
  this._cancelRetryTimer();
86988
87026
  if (this.ws) {
86989
87027
  this.ws.removeAllListeners();
86990
- if (this.ws.readyState === WebSocket.OPEN || this.ws.readyState === WebSocket.CONNECTING) this.ws.close(1e3, "Client closed");
87028
+ if (this.ws.readyState === WebSocket$1.OPEN || this.ws.readyState === WebSocket$1.CONNECTING) this.ws.close(1e3, "Client closed");
86991
87029
  this.ws = null;
86992
87030
  }
86993
87031
  }
@@ -86997,7 +87035,7 @@ var OpenAIWebSocketManager = class extends EventEmitter {
86997
87035
  reject(/* @__PURE__ */ new Error("OpenAIWebSocketManager: apiKey is required before connecting."));
86998
87036
  return;
86999
87037
  }
87000
- const socket = new WebSocket(this.wsUrl, { headers: {
87038
+ const socket = new WebSocket$1(this.wsUrl, { headers: {
87001
87039
  Authorization: `Bearer ${this.apiKey}`,
87002
87040
  "OpenAI-Beta": "responses-websocket=v1"
87003
87041
  } });
@@ -91419,15 +91457,16 @@ async function runEmbeddedPiAgent(params) {
91419
91457
  modelContextWindow: model.contextWindow,
91420
91458
  defaultTokens: DEFAULT_CONTEXT_TOKENS
91421
91459
  });
91460
+ const hardMinTokens = resolveContextWindowHardMinTokens(provider);
91422
91461
  const ctxGuard = evaluateContextWindowGuard({
91423
91462
  info: ctxInfo,
91424
91463
  warnBelowTokens: CONTEXT_WINDOW_WARN_BELOW_TOKENS,
91425
- hardMinTokens: CONTEXT_WINDOW_HARD_MIN_TOKENS
91464
+ hardMinTokens
91426
91465
  });
91427
91466
  if (ctxGuard.shouldWarn) log$3.warn(`low context window: ${provider}/${modelId} ctx=${ctxGuard.tokens} (warn<${CONTEXT_WINDOW_WARN_BELOW_TOKENS}) source=${ctxGuard.source}`);
91428
91467
  if (ctxGuard.shouldBlock) {
91429
- log$3.error(`blocked model (context window too small): ${provider}/${modelId} ctx=${ctxGuard.tokens} (min=${CONTEXT_WINDOW_HARD_MIN_TOKENS}) source=${ctxGuard.source}`);
91430
- throw new FailoverError(`Model context window too small (${ctxGuard.tokens} tokens). Minimum is ${CONTEXT_WINDOW_HARD_MIN_TOKENS}.`, {
91468
+ log$3.error(`blocked model (context window too small): ${provider}/${modelId} ctx=${ctxGuard.tokens} (min=${hardMinTokens}) source=${ctxGuard.source}`);
91469
+ throw new FailoverError(`Model context window too small (${ctxGuard.tokens} tokens). Minimum is ${hardMinTokens}.`, {
91431
91470
  reason: "unknown",
91432
91471
  provider,
91433
91472
  model: modelId
@@ -24,7 +24,7 @@ import { t as buildChannelAccountBindings } from "./bindings-CsIiIjqN.js";
24
24
  import { a as createSlackWebClient, c as validateSlackBlocksArray, d as resolveSlackChannelId, i as normalizeSlackOutboundText, l as buildSlackBlocksFallbackText, o as resolveSlackWebClientOptions, s as parseSlackBlocksInput, t as sendMessageSlack, u as parseSlackTarget } from "./send-B4pSMBHk.js";
25
25
  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 createDiscordClient, o as sendDiscordComponentMessage, ot as listDiscordDirectoryGroupsLive, p as readDiscordComponentSpec, pt as resolveDiscordGuildEntry, q as deleteChannelDiscord, r as reactMessageDiscord, rt as createDiscordRestClient, s as createDiscordFormModal, st as listDiscordDirectoryPeersLive, tt as chunkDiscordTextWithMode, 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-V3fEVmLq.js";
26
26
  import { n as generateSecureUuid, t as generateSecureToken } from "./secure-random-CY3Mg7Dp.js";
27
- 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-xY3h9X6N.js";
27
+ 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-DXa06hfk.js";
28
28
  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-BO1GQJJf.js";
29
29
  import { r as getDiagnosticSessionState } from "./diagnostic-session-state-DBPrVBk3.js";
30
30
  import { n as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-BTexwKe8.js";
@@ -32,8 +32,8 @@ import { $ as readChannelAllowFromStore, A as describeReplyTarget, B as resolveT
32
32
  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-DCpyia_K.js";
33
33
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-DCIw1y1c.js";
34
34
  import { a as isMarkdownCapableMessageChannel, c as resolveGatewayMessageChannel, d as GATEWAY_CLIENT_MODES, f as GATEWAY_CLIENT_NAMES, i as isInternalMessageChannel, l as resolveMessageChannel, n as isDeliverableMessageChannel, o as listDeliverableMessageChannels, r as isGatewayMessageChannel, s as normalizeMessageChannel, t as INTERNAL_MESSAGE_CHANNEL, u as GATEWAY_CLIENT_IDS } from "./message-channel-Dl8dSs0T.js";
35
- import { $ as mergeAlsoAllowPolicy, A as isRawApiErrorPayload, B as registerBrowserRoutes, C as isCloudCodeAssistFormatError, D as isFailoverErrorMessage, E as isFailoverAssistantError, F as sanitizeUserFacingText, G as resolveBrowserControlAuth, H as resolveProfile, I as ensureSandboxWorkspaceForSession, J as resolveSandboxConfigForAgent, K as resolveGatewayCredentialsFromConfig, L as resolveSandboxContext, M as isTransientHttpError, N as parseImageDimensionError, O as isLikelyContextOverflowError, P as parseImageSizeError, Q as expandPolicyWithPluginGroups, R as resolveSandboxRuntimeStatus, S as isBillingAssistantError, T as isContextOverflowError, U as getBridgeAuthForPort, V as resolveBrowserConfig, W as ensureBrowserControlAuth, X as buildPluginToolGroups, Y as applyOwnerOnlyToolPolicy, Z as collectExplicitAllowlist, _ as formatBillingErrorMessage, a as isMessagingToolDuplicateNormalized, at as matchesAnyGlobPattern, b as isAuthAssistantError, c as extractToolCallsFromAssistant, ct as resolveBootstrapMaxChars, d as downgradeOpenAIFunctionCallReasoningPairs, et as stripPluginOnlyAllowlist, f as downgradeOpenAIReasoningBlocks, g as formatAssistantErrorText, h as classifyFailoverReason, it as compileGlobPatterns, j as isTimeoutErrorMessage, k as isRateLimitAssistantError, l as extractToolResultId, lt as resolveBootstrapTotalMaxChars, m as BILLING_ERROR_USER_MESSAGE, n as validateGeminiTurns, nt as normalizeToolName, o as normalizeTextForComparison, ot as buildBootstrapContextFiles, p as isGoogleModelApi, q as trimToUndefined$1, r as pickFallbackThinkingLevel, rt as resolveToolProfilePolicy, s as sanitizeSessionMessagesImages, st as ensureSessionHeader, t as validateAnthropicTurns, tt as expandToolGroups, u as sanitizeToolCallIdsForCloudCodeAssist, ut as sanitizeGoogleTurnOrdering, v as formatRawAssistantErrorForUi, w as isCompactionFailureError, x as isAuthPermanentErrorMessage, y as getApiErrorPayloadFingerprint, z as createBrowserRouteContext } from "./pi-embedded-helpers-CMTVhLjq.js";
36
- import { A as rawDataToString, B as isSecureWebSocketUrl, C as ensureChromeExtensionRelayServer, N as DEFAULT_UPLOAD_DIR, P as resolveExistingPathsWithinRoot, U as DEFAULT_AI_SNAPSHOT_MAX_CHARS, s as resolveLsofCommandSync, z as isLoopbackHost } from "./chrome-CjTE-vWv.js";
35
+ import { $ as mergeAlsoAllowPolicy, A as isRawApiErrorPayload, B as registerBrowserRoutes, C as isCloudCodeAssistFormatError, D as isFailoverErrorMessage, E as isFailoverAssistantError, F as sanitizeUserFacingText, G as resolveBrowserControlAuth, H as resolveProfile, I as ensureSandboxWorkspaceForSession, J as resolveSandboxConfigForAgent, K as resolveGatewayCredentialsFromConfig, L as resolveSandboxContext, M as isTransientHttpError, N as parseImageDimensionError, O as isLikelyContextOverflowError, P as parseImageSizeError, Q as expandPolicyWithPluginGroups, R as resolveSandboxRuntimeStatus, S as isBillingAssistantError, T as isContextOverflowError, U as getBridgeAuthForPort, V as resolveBrowserConfig, W as ensureBrowserControlAuth, X as buildPluginToolGroups, Y as applyOwnerOnlyToolPolicy, Z as collectExplicitAllowlist, _ as formatBillingErrorMessage, a as isMessagingToolDuplicateNormalized, at as matchesAnyGlobPattern, b as isAuthAssistantError, c as extractToolCallsFromAssistant, ct as resolveBootstrapMaxChars, d as downgradeOpenAIFunctionCallReasoningPairs, et as stripPluginOnlyAllowlist, f as downgradeOpenAIReasoningBlocks, g as formatAssistantErrorText, h as classifyFailoverReason, it as compileGlobPatterns, j as isTimeoutErrorMessage, k as isRateLimitAssistantError, l as extractToolResultId, lt as resolveBootstrapTotalMaxChars, m as BILLING_ERROR_USER_MESSAGE, n as validateGeminiTurns, nt as normalizeToolName, o as normalizeTextForComparison, ot as buildBootstrapContextFiles, p as isGoogleModelApi, q as trimToUndefined$1, r as pickFallbackThinkingLevel, rt as resolveToolProfilePolicy, s as sanitizeSessionMessagesImages, st as ensureSessionHeader, t as validateAnthropicTurns, tt as expandToolGroups, u as sanitizeToolCallIdsForCloudCodeAssist, ut as sanitizeGoogleTurnOrdering, v as formatRawAssistantErrorForUi, w as isCompactionFailureError, x as isAuthPermanentErrorMessage, y as getApiErrorPayloadFingerprint, z as createBrowserRouteContext } from "./pi-embedded-helpers-BErNo2oq.js";
36
+ import { A as rawDataToString, B as isSecureWebSocketUrl, C as ensureChromeExtensionRelayServer, N as DEFAULT_UPLOAD_DIR, P as resolveExistingPathsWithinRoot, U as DEFAULT_AI_SNAPSHOT_MAX_CHARS, s as resolveLsofCommandSync, z as isLoopbackHost } from "./chrome-C6zMSR36.js";
37
37
  import { c as assertSandboxPath, d as resolveSandboxedMediaSource, f as applySkillEnvOverrides, i as resolveSkillsPromptForRun, l as resolveSandboxInputPath, n as buildWorkspaceSkillSnapshot, p as applySkillEnvOverridesFromSnapshot, r as loadWorkspaceSkillEntries, s as assertMediaNotDataUrl } from "./skills-DMmr25nW.js";
38
38
  import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-CKjKIhQ3.js";
39
39
  import { i as testRegexWithBoundedInput, r as compileSafeRegex, t as redactSensitiveText } from "./redact-ScShueoF.js";
@@ -49,8 +49,8 @@ import { i as resolveSessionTranscriptPath, n as resolveSessionFilePath, o as re
49
49
  import { n as onSessionTranscriptUpdate, t as emitSessionTranscriptUpdate } from "./transcript-events-Cso7-m1w.js";
50
50
  import { a as canonicalizeBase64, i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, o as estimateBase64DecodedBytes, r as sanitizeToolResultImages } from "./tool-images-ffdfBx0b.js";
51
51
  import { a as normalizeReasoningLevel, c as normalizeVerboseLevel, i as normalizeElevatedLevel, l as resolveResponseUsageMode, n as formatXHighModelHint, o as normalizeThinkLevel, s as normalizeUsageDisplay, t as formatThinkingLevels, u as supportsXHighThinking } from "./thinking-FnAYAFD8.js";
52
- import { C as extractTextFromChatContent, S as isInsideCode, T as ensureOpenClawModelsJson, _ as stripThinkingTagsFromText, a as decodeDataUrl, b as stripReasoningTagsFromText, 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 formatToolSummary, w as minimaxUnderstandImage, x as findCodeRegions, y as resolveToolDisplay } from "./image-DCyaYY2d.js";
53
- import { _ as resolveAttachmentKind, a as resolveAutoImageModel, b as modelSupportsVision, c as applyTemplate, d as normalizeMediaUnderstandingChatType, f as resolveMediaUnderstandingScope, h as registerUnhandledRejectionHandler, i as normalizeMediaAttachments, l as resolveConcurrency, m as buildRandomTempFilePath, n as buildProviderRegistry, o as resolveMediaAttachmentLocalRoots, p as CLI_OUTPUT_MAX_BUFFER, r as createMediaAttachmentCache, s as runCapability, t as runAudioTranscription, u as resolveTimeoutMs$2, v as findModelInCatalog, y as loadModelCatalog } from "./audio-transcription-runner-DaoqvWoi.js";
52
+ import { C as extractTextFromChatContent, S as isInsideCode, T as ensureOpenClawModelsJson, _ as stripThinkingTagsFromText, a as decodeDataUrl, b as stripReasoningTagsFromText, 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 formatToolSummary, w as minimaxUnderstandImage, x as findCodeRegions, y as resolveToolDisplay } from "./image-Dd4lgi4H.js";
53
+ import { _ as resolveAttachmentKind, a as resolveAutoImageModel, b as modelSupportsVision, c as applyTemplate, d as normalizeMediaUnderstandingChatType, f as resolveMediaUnderstandingScope, h as registerUnhandledRejectionHandler, i as normalizeMediaAttachments, l as resolveConcurrency, m as buildRandomTempFilePath, n as buildProviderRegistry, o as resolveMediaAttachmentLocalRoots, p as CLI_OUTPUT_MAX_BUFFER, r as createMediaAttachmentCache, s as runCapability, t as runAudioTranscription, u as resolveTimeoutMs$2, v as findModelInCatalog, y as loadModelCatalog } from "./audio-transcription-runner-Bx53bUS2.js";
54
54
  import { a as getDefaultMediaLocalRoots, i as getAgentScopedMediaLocalRoots, n as fetchRemoteMedia, r as readResponseWithLimit, t as MediaFetchError } from "./fetch--iXu7oa7.js";
55
55
  import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-CYFFedEH.js";
56
56
  import { n as withStrictGuardedFetchMode, r as withTrustedEnvProxyGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-CNvY0vzQ.js";
@@ -95,7 +95,7 @@ import { CURRENT_SESSION_VERSION, DefaultResourceLoader, SessionManager, Setting
95
95
  import { EdgeTTS } from "node-edge-tts";
96
96
  import { createServer } from "node:http";
97
97
  import { ProxyAgent, fetch as fetch$1 } from "undici";
98
- import WebSocket$1, { WebSocket } from "ws";
98
+ import WebSocket, { WebSocket as WebSocket$1 } from "ws";
99
99
  import { Buffer as Buffer$1 } from "node:buffer";
100
100
  import { createJiti } from "jiti";
101
101
  import AjvPkg from "ajv";
@@ -8165,7 +8165,7 @@ var GatewayClient = class {
8165
8165
  if (fingerprint !== expected) return /* @__PURE__ */ new Error("gateway tls fingerprint mismatch");
8166
8166
  });
8167
8167
  }
8168
- this.ws = new WebSocket(url, wsOptions);
8168
+ this.ws = new WebSocket$1(url, wsOptions);
8169
8169
  this.ws.on("open", () => {
8170
8170
  if (url.startsWith("wss://") && this.opts.tlsFingerprint) {
8171
8171
  const tlsError = this.validateTlsFingerprint();
@@ -8361,7 +8361,7 @@ var GatewayClient = class {
8361
8361
  const connectChallengeTimeoutMs = typeof rawConnectDelayMs === "number" && Number.isFinite(rawConnectDelayMs) ? Math.max(250, Math.min(1e4, rawConnectDelayMs)) : 2e3;
8362
8362
  if (this.connectTimer) clearTimeout(this.connectTimer);
8363
8363
  this.connectTimer = setTimeout(() => {
8364
- if (this.connectSent || this.ws?.readyState !== WebSocket.OPEN) return;
8364
+ if (this.connectSent || this.ws?.readyState !== WebSocket$1.OPEN) return;
8365
8365
  this.opts.onConnectError?.(/* @__PURE__ */ new Error("gateway connect challenge timeout"));
8366
8366
  this.ws?.close(1008, "connect challenge timeout");
8367
8367
  }, connectChallengeTimeoutMs);
@@ -8403,7 +8403,7 @@ var GatewayClient = class {
8403
8403
  return null;
8404
8404
  }
8405
8405
  async request(method, params, opts) {
8406
- if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error("gateway not connected");
8406
+ if (!this.ws || this.ws.readyState !== WebSocket$1.OPEN) throw new Error("gateway not connected");
8407
8407
  const id = randomUUID();
8408
8408
  const frame = {
8409
8409
  type: "req",
@@ -9683,7 +9683,7 @@ async function routeReply(params) {
9683
9683
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
9684
9684
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
9685
9685
  try {
9686
- const { deliverOutboundPayloads } = await import("./deliver-xY3h9X6N.js").then((n) => n.n);
9686
+ const { deliverOutboundPayloads } = await import("./deliver-DXa06hfk.js").then((n) => n.n);
9687
9687
  const outboundSession = buildOutboundSessionContext({
9688
9688
  cfg,
9689
9689
  agentId: resolvedAgentId,
@@ -14241,7 +14241,7 @@ async function sendTranscriptEcho(params) {
14241
14241
  }
14242
14242
  const text = formatEchoTranscript(transcript, params.format ?? DEFAULT_ECHO_TRANSCRIPT_FORMAT);
14243
14243
  try {
14244
- const { deliverOutboundPayloads } = await import("./deliver-xY3h9X6N.js").then((n) => n.n);
14244
+ const { deliverOutboundPayloads } = await import("./deliver-DXa06hfk.js").then((n) => n.n);
14245
14245
  await deliverOutboundPayloads({
14246
14246
  cfg,
14247
14247
  channel: normalizedChannel,
@@ -49695,7 +49695,7 @@ async function deliverSessionMaintenanceWarning(params) {
49695
49695
  return;
49696
49696
  }
49697
49697
  try {
49698
- const { deliverOutboundPayloads } = await import("./deliver-xY3h9X6N.js").then((n) => n.n);
49698
+ const { deliverOutboundPayloads } = await import("./deliver-DXa06hfk.js").then((n) => n.n);
49699
49699
  const outboundSession = buildOutboundSessionContext({
49700
49700
  cfg: params.cfg,
49701
49701
  sessionKey: params.sessionKey
@@ -54637,7 +54637,7 @@ async function describeStickerImage(params) {
54637
54637
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
54638
54638
  try {
54639
54639
  const buffer = await fs.readFile(imagePath);
54640
- const { describeImageWithModel } = await import("./image-DCyaYY2d.js").then((n) => n.n);
54640
+ const { describeImageWithModel } = await import("./image-Dd4lgi4H.js").then((n) => n.n);
54641
54641
  return (await describeImageWithModel({
54642
54642
  buffer,
54643
54643
  fileName: "sticker.webp",
@@ -56391,7 +56391,7 @@ async function resolveDiscordPreflightAudioMentionContext(params) {
56391
56391
  const needsPreflightTranscription = !params.isDirectMessage && params.shouldRequireMention && hasAudioAttachment && !hasTypedText && params.mentionRegexes.length > 0;
56392
56392
  let transcript;
56393
56393
  if (needsPreflightTranscription) try {
56394
- const { transcribeFirstAudio } = await import("./audio-preflight-BWOdDA2n.js");
56394
+ const { transcribeFirstAudio } = await import("./audio-preflight-Dd9DDvqB.js");
56395
56395
  const audioUrls = audioAttachments.map((att) => att.url).filter((url) => typeof url === "string" && url.length > 0);
56396
56396
  if (audioUrls.length > 0) transcript = await transcribeFirstAudio({
56397
56397
  ctx: {
@@ -60933,7 +60933,7 @@ function createOutboundSendDepsFromCliSource(deps) {
60933
60933
  function createDefaultDeps() {
60934
60934
  return {
60935
60935
  sendMessageWhatsApp: async (...args) => {
60936
- const { sendMessageWhatsApp } = await import("./web-B2_c07KN.js");
60936
+ const { sendMessageWhatsApp } = await import("./web-V1uGLepo.js");
60937
60937
  return await sendMessageWhatsApp(...args);
60938
60938
  },
60939
60939
  sendMessageTelegram: async (...args) => {
@@ -64381,7 +64381,7 @@ function createDiscordGatewayPlugin(params) {
64381
64381
  return super.registerClient(client);
64382
64382
  }
64383
64383
  createWebSocket(url) {
64384
- return new WebSocket$1(url, { agent: wsAgent });
64384
+ return new WebSocket(url, { agent: wsAgent });
64385
64385
  }
64386
64386
  }
64387
64387
  return new ProxyGatewayPlugin();
@@ -76412,7 +76412,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, replyMedia =
76412
76412
  const disableAudioPreflight = firstDefined$1(topicConfig?.disableAudioPreflight, groupConfig?.disableAudioPreflight) === true;
76413
76413
  let preflightTranscript;
76414
76414
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0 && !disableAudioPreflight) try {
76415
- const { transcribeFirstAudio } = await import("./audio-preflight-BWOdDA2n.js");
76415
+ const { transcribeFirstAudio } = await import("./audio-preflight-Dd9DDvqB.js");
76416
76416
  preflightTranscript = await transcribeFirstAudio({
76417
76417
  ctx: {
76418
76418
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -79197,7 +79197,7 @@ function loadWebLoginQr() {
79197
79197
  return webLoginQrPromise;
79198
79198
  }
79199
79199
  function loadWebChannel() {
79200
- webChannelPromise ??= import("./web-B2_c07KN.js");
79200
+ webChannelPromise ??= import("./web-V1uGLepo.js");
79201
79201
  return webChannelPromise;
79202
79202
  }
79203
79203
  function loadWhatsAppActions() {
@@ -84231,6 +84231,13 @@ async function compactWithSafetyTimeout(compact, timeoutMs = EMBEDDED_COMPACTION
84231
84231
  return await withTimeout(() => compact(), timeoutMs, "Compaction");
84232
84232
  }
84233
84233
 
84234
+ //#endregion
84235
+ //#region src/bitseek/constants.ts
84236
+ const BITSEEK_PROVIDER_ID = "bitseek";
84237
+ const BITSEEK_DEFAULT_MODEL_ID = "AUTO";
84238
+ const BITSEEK_DEFAULT_MODEL_REF = `${BITSEEK_PROVIDER_ID}/${BITSEEK_DEFAULT_MODEL_ID}`;
84239
+ const BITSEEK_DEFAULT_CONTEXT_WINDOW_TOKENS = 8192;
84240
+
84234
84241
  //#endregion
84235
84242
  //#region src/agents/context-window-guard.ts
84236
84243
  const CONTEXT_WINDOW_HARD_MIN_TOKENS = 16e3;
@@ -84263,6 +84270,9 @@ function resolveContextWindowInfo(params) {
84263
84270
  };
84264
84271
  return baseInfo;
84265
84272
  }
84273
+ function resolveContextWindowHardMinTokens(provider) {
84274
+ return provider.trim().toLowerCase() === BITSEEK_PROVIDER_ID ? BITSEEK_DEFAULT_CONTEXT_WINDOW_TOKENS : CONTEXT_WINDOW_HARD_MIN_TOKENS;
84275
+ }
84266
84276
  function evaluateContextWindowGuard(params) {
84267
84277
  const warnBelow = Math.max(1, Math.floor(params.warnBelowTokens ?? CONTEXT_WINDOW_WARN_BELOW_TOKENS));
84268
84278
  const hardMin = Math.max(1, Math.floor(params.hardMinTokens ?? CONTEXT_WINDOW_HARD_MIN_TOKENS));
@@ -86268,6 +86278,30 @@ function createOpenAIDefaultTransportWrapper(baseStreamFn) {
86268
86278
  });
86269
86279
  };
86270
86280
  }
86281
+ function isManagedCustomOpenAiProvider(cfg, provider) {
86282
+ const providers = cfg?.models?.providers;
86283
+ if (!providers) return false;
86284
+ const normalizedProvider = normalizeProviderId(provider);
86285
+ for (const [providerId, providerConfig] of Object.entries(providers)) {
86286
+ if (normalizeProviderId(providerId) !== normalizedProvider) continue;
86287
+ if (normalizeProviderId(providerId) === BITSEEK_PROVIDER_ID) return false;
86288
+ if (providerConfig?.api !== "openai-completions") return false;
86289
+ if (typeof providerConfig.baseUrl !== "string" || !providerConfig.baseUrl.trim()) return false;
86290
+ if (!Array.isArray(providerConfig.models)) return false;
86291
+ return providerConfig.models.some((model) => typeof model?.id === "string" && model.id.trim());
86292
+ }
86293
+ return false;
86294
+ }
86295
+ function createUserAgentStripWrapper(baseStreamFn) {
86296
+ const underlying = baseStreamFn ?? streamSimple;
86297
+ return (model, context, options) => underlying(model, context, {
86298
+ ...options,
86299
+ headers: {
86300
+ ...options?.headers,
86301
+ "User-Agent": null
86302
+ }
86303
+ });
86304
+ }
86271
86305
  function isAnthropic1MModel(modelId) {
86272
86306
  const normalized = modelId.trim().toLowerCase();
86273
86307
  return ANTHROPIC_1M_MODEL_PREFIXES.some((prefix) => normalized.startsWith(prefix));
@@ -86614,6 +86648,10 @@ function applyExtraParamsToAgent(agent, cfg, provider, modelId, extraParamsOverr
86614
86648
  }
86615
86649
  agent.streamFn = createGoogleThinkingPayloadWrapper(agent.streamFn, thinkingLevel);
86616
86650
  agent.streamFn = createOpenAIResponsesContextManagementWrapper(agent.streamFn, merged);
86651
+ if (isManagedCustomOpenAiProvider(cfg, provider)) {
86652
+ log$3.debug(`stripping User-Agent for custom OpenAI-compatible provider ${provider}/${modelId}`);
86653
+ agent.streamFn = createUserAgentStripWrapper(agent.streamFn);
86654
+ }
86617
86655
  }
86618
86656
 
86619
86657
  //#endregion
@@ -86970,7 +87008,7 @@ var OpenAIWebSocketManager = class extends EventEmitter {
86970
87008
  * Throws if the connection is not open.
86971
87009
  */
86972
87010
  send(event) {
86973
- if (!this.ws || this.ws.readyState !== WebSocket$1.OPEN) throw new Error(`OpenAIWebSocketManager: cannot send — connection is not open (readyState=${this.ws?.readyState ?? "no socket"})`);
87011
+ if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error(`OpenAIWebSocketManager: cannot send — connection is not open (readyState=${this.ws?.readyState ?? "no socket"})`);
86974
87012
  this.ws.send(JSON.stringify(event));
86975
87013
  }
86976
87014
  /**
@@ -86987,7 +87025,7 @@ var OpenAIWebSocketManager = class extends EventEmitter {
86987
87025
  * Returns true if the WebSocket is currently open and ready to send.
86988
87026
  */
86989
87027
  isConnected() {
86990
- return this.ws !== null && this.ws.readyState === WebSocket$1.OPEN;
87028
+ return this.ws !== null && this.ws.readyState === WebSocket.OPEN;
86991
87029
  }
86992
87030
  /**
86993
87031
  * Permanently closes the WebSocket connection and disables auto-reconnect.
@@ -86997,7 +87035,7 @@ var OpenAIWebSocketManager = class extends EventEmitter {
86997
87035
  this._cancelRetryTimer();
86998
87036
  if (this.ws) {
86999
87037
  this.ws.removeAllListeners();
87000
- if (this.ws.readyState === WebSocket$1.OPEN || this.ws.readyState === WebSocket$1.CONNECTING) this.ws.close(1e3, "Client closed");
87038
+ if (this.ws.readyState === WebSocket.OPEN || this.ws.readyState === WebSocket.CONNECTING) this.ws.close(1e3, "Client closed");
87001
87039
  this.ws = null;
87002
87040
  }
87003
87041
  }
@@ -87007,7 +87045,7 @@ var OpenAIWebSocketManager = class extends EventEmitter {
87007
87045
  reject(/* @__PURE__ */ new Error("OpenAIWebSocketManager: apiKey is required before connecting."));
87008
87046
  return;
87009
87047
  }
87010
- const socket = new WebSocket$1(this.wsUrl, { headers: {
87048
+ const socket = new WebSocket(this.wsUrl, { headers: {
87011
87049
  Authorization: `Bearer ${this.apiKey}`,
87012
87050
  "OpenAI-Beta": "responses-websocket=v1"
87013
87051
  } });
@@ -91429,15 +91467,16 @@ async function runEmbeddedPiAgent(params) {
91429
91467
  modelContextWindow: model.contextWindow,
91430
91468
  defaultTokens: DEFAULT_CONTEXT_TOKENS
91431
91469
  });
91470
+ const hardMinTokens = resolveContextWindowHardMinTokens(provider);
91432
91471
  const ctxGuard = evaluateContextWindowGuard({
91433
91472
  info: ctxInfo,
91434
91473
  warnBelowTokens: CONTEXT_WINDOW_WARN_BELOW_TOKENS,
91435
- hardMinTokens: CONTEXT_WINDOW_HARD_MIN_TOKENS
91474
+ hardMinTokens
91436
91475
  });
91437
91476
  if (ctxGuard.shouldWarn) log$3.warn(`low context window: ${provider}/${modelId} ctx=${ctxGuard.tokens} (warn<${CONTEXT_WINDOW_WARN_BELOW_TOKENS}) source=${ctxGuard.source}`);
91438
91477
  if (ctxGuard.shouldBlock) {
91439
- log$3.error(`blocked model (context window too small): ${provider}/${modelId} ctx=${ctxGuard.tokens} (min=${CONTEXT_WINDOW_HARD_MIN_TOKENS}) source=${ctxGuard.source}`);
91440
- throw new FailoverError(`Model context window too small (${ctxGuard.tokens} tokens). Minimum is ${CONTEXT_WINDOW_HARD_MIN_TOKENS}.`, {
91478
+ log$3.error(`blocked model (context window too small): ${provider}/${modelId} ctx=${ctxGuard.tokens} (min=${hardMinTokens}) source=${ctxGuard.source}`);
91479
+ throw new FailoverError(`Model context window too small (${ctxGuard.tokens} tokens). Minimum is ${hardMinTokens}.`, {
91441
91480
  reason: "unknown",
91442
91481
  provider,
91443
91482
  model: modelId