@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
@@ -4,123 +4,124 @@ import { g as resolveStateDir, r as STATE_DIR, u as resolveGatewayPort, y as res
4
4
  import { d as defaultRuntime, t as createSubsystemLogger, u as createNonExitingRuntime } from "./subsystem-DjdBljTA.js";
5
5
  import { t as parseBooleanValue$1 } from "./boolean-DtWR5bt3.js";
6
6
  import { r as isTruthyEnvValue } from "./entry.js";
7
- import { $n as resolveAuthStorePathForDisplay, $r as buildAssistantMessageWithZeroUsage, Ai as DEFAULT_MODEL, Bn as listProfilesForProvider, Bt as unsetConfigValueAtPath, Cr as resolveReasoningDefault, Ct as isAvatarDataUrl, Dn as resolveSlackNativeStreaming, Dt as isSupportedLocalAvatarExtension, En as resolveDiscordPreviewStreamMode, Er as resolveThinkingDefault, Et as isPathWithinRoot, Ft as setConfigOverride, G as isInboundPathAllowed, H as normalizeTelegramCommandName, I as resolveConfigSnapshotHash, It as unsetConfigOverride, J as resolveIMessageRemoteAttachmentRoots, Jt as buildEnforcedShellCommand, Kn as ensureAuthProfileStore, Ln as resolveOwnerDisplaySetting, Lt as getConfigValueAtPath, M as loadConfig, Mi as resolveAuthProfileDisplayLabel, Nn as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, Nt as getConfigOverrides, Oi as splitTrailingAuthProfile, On as resolveSlackStreamingMode, P as readConfigFileSnapshot, Pn as resolveAgentMaxConcurrent, Pt as resetConfigOverrides, Qr as buildAssistantMessage, R as writeConfigFile, Rt as parseConfigPath, Si as normalizeSecretInput, Sr as resolveModelRefFromString, St as AVATAR_MAX_BYTES, Tn as mapStreamingModeToSlackLegacyDraftStreamMode, Tr as resolveSubagentSpawnModelSelection, U as resolveTelegramCustomCommands, V as TELEGRAM_COMMAND_NAME_PATTERN, Vn as markAuthProfileGood, X as parseNonNegativeByteSize, Xr as OLLAMA_NATIVE_BASE_URL, Y as normalizeScpRemoteHost, Zr as createOllamaStreamFn, a as markAuthProfileFailure, ai as resolveApiKeyForProvider, ar as buildAllowedModelSet, at as parseDurationMs, br as resolveDefaultModelForAgent, c as resolveProfilesUnavailableReason, ci as resolveModelAuthMode, cr as findNormalizedProviderValue, di as resolveShellEnvFallbackTimeoutMs, dr as isCliProvider, ei as buildStreamErrorAssistantMessage, er as resolveOpenClawAgentDir, fr as modelKey, hr as normalizeProviderId, i as isProfileInCooldown, ii as requireApiKey, ji as DEFAULT_PROVIDER, jt as validateJsonSchemaValue, ki as DEFAULT_CONTEXT_TOKENS, l as resolveApiKeyForProfile, n as resolveAuthProfileOrder, ni as getApiKeyForModel, o as markAuthProfileUsed, or as buildConfiguredAllowlistKeys, pr as normalizeModelRef$2, q as resolveIMessageAttachmentRoots, r as getSoonestCooldownExpiry, ri as getCustomProviderApiKey, si as resolveEnvApiKey, sr as buildModelAliasIndex, ti as buildUsageWithNoCost, tr as withFileLock, ui as getShellPathFromLoginShell, wt as isAvatarHttpUrl, yn as applyMergePatch, yr as resolveConfiguredModelRef, z as validateConfigObjectWithPlugins, zn as dedupeProfileIds, zt as setConfigValueAtPath } from "./auth-profiles-CyG9VwU_.js";
7
+ import { $n as resolveAuthStorePathForDisplay, $r as buildAssistantMessageWithZeroUsage, Ai as DEFAULT_MODEL, Bn as listProfilesForProvider, Bt as unsetConfigValueAtPath, Cr as resolveReasoningDefault, Ct as isAvatarDataUrl, Dn as resolveSlackNativeStreaming, Dt as isSupportedLocalAvatarExtension, En as resolveDiscordPreviewStreamMode, Er as resolveThinkingDefault, Et as isPathWithinRoot, Ft as setConfigOverride, G as isInboundPathAllowed, H as normalizeTelegramCommandName, I as resolveConfigSnapshotHash, It as unsetConfigOverride, J as resolveIMessageRemoteAttachmentRoots, Jt as buildEnforcedShellCommand, Kn as ensureAuthProfileStore, Ln as resolveOwnerDisplaySetting, Lt as getConfigValueAtPath, M as loadConfig, Mi as resolveAuthProfileDisplayLabel, Nn as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, Nt as getConfigOverrides, Oi as splitTrailingAuthProfile, On as resolveSlackStreamingMode, P as readConfigFileSnapshot, Pn as resolveAgentMaxConcurrent, Pt as resetConfigOverrides, Qr as buildAssistantMessage, R as writeConfigFile, Rt as parseConfigPath, Si as normalizeSecretInput, Sr as resolveModelRefFromString, St as AVATAR_MAX_BYTES, Tn as mapStreamingModeToSlackLegacyDraftStreamMode, Tr as resolveSubagentSpawnModelSelection, U as resolveTelegramCustomCommands, V as TELEGRAM_COMMAND_NAME_PATTERN, Vn as markAuthProfileGood, X as parseNonNegativeByteSize, Xr as OLLAMA_NATIVE_BASE_URL, Y as normalizeScpRemoteHost, Zr as createOllamaStreamFn, a as markAuthProfileFailure, ai as resolveApiKeyForProvider, ar as buildAllowedModelSet, at as parseDurationMs, br as resolveDefaultModelForAgent, c as resolveProfilesUnavailableReason, ci as resolveModelAuthMode, cr as findNormalizedProviderValue, di as resolveShellEnvFallbackTimeoutMs, dr as isCliProvider, ei as buildStreamErrorAssistantMessage, er as resolveOpenClawAgentDir, fr as modelKey, hr as normalizeProviderId, i as isProfileInCooldown, ii as requireApiKey, ji as DEFAULT_PROVIDER, jt as validateJsonSchemaValue, ki as DEFAULT_CONTEXT_TOKENS, l as resolveApiKeyForProfile, n as resolveAuthProfileOrder, ni as getApiKeyForModel, o as markAuthProfileUsed, or as buildConfiguredAllowlistKeys, pr as normalizeModelRef$2, q as resolveIMessageAttachmentRoots, r as getSoonestCooldownExpiry, ri as getCustomProviderApiKey, si as resolveEnvApiKey, sr as buildModelAliasIndex, ti as buildUsageWithNoCost, tr as withFileLock, ui as getShellPathFromLoginShell, wt as isAvatarHttpUrl, yn as applyMergePatch, yr as resolveConfiguredModelRef, z as validateConfigObjectWithPlugins, zn as dedupeProfileIds, zt as setConfigValueAtPath } from "./auth-profiles-D_x1_5v_.js";
8
8
  import { t as formatCliCommand } from "./command-format-CVXyxgq3.js";
9
- import { _ as resolveAgentModelPrimaryValue, a as resolveAgentDir, d as resolveDefaultAgentId, f as resolveEffectiveModelFallbacks, g as resolveAgentModelFallbackValues, h as resolveSessionAgentIds, i as resolveAgentConfig, l as resolveAgentSkillsFilter, m as resolveSessionAgentId, p as resolveRunModelFallbacksOverride, r as listAgentIds, t as hasConfiguredModelFallbacks, u as resolveAgentWorkspaceDir, v as toAgentModelListLike } from "./agent-scope-CY2-lUIY.js";
9
+ import { _ as resolveAgentModelPrimaryValue, a as resolveAgentDir, d as resolveDefaultAgentId, f as resolveEffectiveModelFallbacks, g as resolveAgentModelFallbackValues, h as resolveSessionAgentIds, i as resolveAgentConfig, l as resolveAgentSkillsFilter, m as resolveSessionAgentId, p as resolveRunModelFallbacksOverride, r as listAgentIds, t as hasConfiguredModelFallbacks, u as resolveAgentWorkspaceDir, v as toAgentModelListLike } from "./agent-scope-CJelRKYY.js";
10
10
  import { C as isCronSessionKey, E as resolveThreadParentSessionKey, T as parseAgentSessionKey, _ as normalizeOptionalAccountId, b as getSubagentDepth, c as normalizeAgentId, d as resolveThreadSessionKeys, f as sanitizeAgentId, g as normalizeAccountId$2, h as DEFAULT_ACCOUNT_ID, l as normalizeMainKey, o as classifySessionKeyShape, r as buildAgentMainSessionKey, s as isValidAgentId, t as DEFAULT_AGENT_ID, u as resolveAgentIdFromSessionKey, v as isBlockedObjectKey, w as isSubagentSessionKey, x as isAcpSessionKey, y as deriveSessionChatType } from "./session-key-BLprDJYq.js";
11
11
  import { C as sliceUtf16Safe, E as isPlainObject, S as sleep$1, T as truncateUtf16Safe, b as shortenHomeInString, c as escapeRegExp, p as normalizeE164, r as clampInt, t as CONFIG_DIR, u as isRecord$1, v as resolveUserPath, x as shortenHomePath } from "./utils-DIzy5B5o.js";
12
- import { C as openBoundaryFileSync, N as normalizeWindowsPathForComparison, S as openBoundaryFile, a as DEFAULT_IDENTITY_FILENAME, d as ensureAgentWorkspace, f as filterBootstrapFilesForSession, g as resolveWorkspaceAttachmentsRoot, m as loadWorkspaceBootstrapFiles, n as DEFAULT_AGENT_WORKSPACE_DIR, r as DEFAULT_BOOTSTRAP_FILENAME, y as resolveOpenClawPackageRoot } from "./workspace-DzeL98px.js";
12
+ import { C as openBoundaryFileSync, N as normalizeWindowsPathForComparison, S as openBoundaryFile, a as DEFAULT_IDENTITY_FILENAME, d as ensureAgentWorkspace, f as filterBootstrapFilesForSession, g as resolveWorkspaceAttachmentsRoot, m as loadWorkspaceBootstrapFiles, n as DEFAULT_AGENT_WORKSPACE_DIR, r as DEFAULT_BOOTSTRAP_FILENAME, y as resolveOpenClawPackageRoot } from "./workspace-BHfqkuYN.js";
13
13
  import { i as logWarn, n as logError, r as logInfo, t as logDebug } from "./logger-BJMfryJd.js";
14
14
  import { n as runExec, r as spawnWithFallback, t as runCommandWithTimeout } from "./exec-CEAvKSx9.js";
15
15
  import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-CulJ9J5l.js";
16
16
  import { n as isDangerousHostEnvVarName } from "./host-env-security-CJMD0__Z.js";
17
17
  import { t as VERSION } from "./version-CGDNfh5C.js";
18
18
  import { E as triggerInternalHook, S as matchPluginCommand, _ as normalizePluginHttpPath, b as getPluginCommandSpecs, c as normalizeChannelId$1, d as getActivePluginRegistryKey, g as createPluginRegistry, m as setActivePluginRegistry, n as CHAT_CHANNEL_ORDER, p as requireActivePluginRegistry, s as normalizeAnyChannelId, u as getActivePluginRegistry, v as clearPluginCommands, w as createInternalHookEvent, x as listPluginCommands, y as executePluginCommand } from "./registry-7fg1BnMw.js";
19
- import { a as safeStatSync, d as normalizePluginsConfig, f as resolveEffectiveEnableState, i as isPathInside, l as applyTestPluginDefaults, n as loadPluginManifestRegistry, p as resolveMemorySlotDecision, r as discoverOpenClawPlugins } from "./manifest-registry-CBF8Vfz8.js";
20
- import { a as resolveChannelGroupRequireMention, c as normalizeHyphenSlug, i as resolveChannelGroupPolicy, l as normalizeStringEntries, n as listChannelDocks, r as normalizeSignalMessagingTarget, s as normalizeAtHashSlug, t as getChannelDock, u as normalizeStringEntriesLower } from "./dock-CoclJnwp.js";
19
+ import { a as safeStatSync, d as normalizePluginsConfig, f as resolveEffectiveEnableState, i as isPathInside, l as applyTestPluginDefaults, n as loadPluginManifestRegistry, p as resolveMemorySlotDecision, r as discoverOpenClawPlugins } from "./manifest-registry-Kbw8YPsZ.js";
20
+ import { a as resolveChannelGroupRequireMention, c as normalizeHyphenSlug, i as resolveChannelGroupPolicy, l as normalizeStringEntries, n as listChannelDocks, r as normalizeSignalMessagingTarget, s as normalizeAtHashSlug, t as getChannelDock, u as normalizeStringEntriesLower } from "./dock-DT8sACcR.js";
21
21
  import { t as runTasksWithConcurrency } from "./run-with-concurrency-kzSMVKJz.js";
22
22
  import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-KDiSpWTU.js";
23
- import { i as buildModelAliasLines, n as resolveModel } from "./model-DMZUvZJo.js";
24
- import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-RrejIg26.js";
25
- import { a as resolveSkillsPromptForRun, d as resolveSandboxInputPath, h as applySkillEnvOverridesFromSnapshot, i as loadWorkspaceSkillEntries, l as assertMediaNotDataUrl, m as applySkillEnvOverrides, p as resolveSandboxedMediaSource, r as buildWorkspaceSkillSnapshot, u as assertSandboxPath } from "./skills-D4S-gyVf.js";
26
- import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-laKq24fx.js";
23
+ import { i as buildModelAliasLines, n as resolveModel } from "./model-DmBmzJI6.js";
24
+ import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-BZ2RCD_u.js";
25
+ import { a as resolveSkillsPromptForRun, d as resolveSandboxInputPath, h as applySkillEnvOverridesFromSnapshot, i as loadWorkspaceSkillEntries, l as assertMediaNotDataUrl, m as applySkillEnvOverrides, p as resolveSandboxedMediaSource, r as buildWorkspaceSkillSnapshot, u as assertSandboxPath } from "./skills-BCgFAMj3.js";
26
+ import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-Cg9ZP1NN.js";
27
27
  import { a as isInternalMessageChannel, c as listDeliverableMessageChannels, d as resolveMessageChannel, h as GATEWAY_CLIENT_NAMES, i as isGatewayMessageChannel, l as normalizeMessageChannel, m as GATEWAY_CLIENT_MODES, n as isDeliverableMessageChannel, o as isMarkdownCapableMessageChannel, p as GATEWAY_CLIENT_IDS, t as INTERNAL_MESSAGE_CHANNEL, u as resolveGatewayMessageChannel } from "./message-channel-0J6eKf3g.js";
28
- import { C as normalizeSessionDeliveryFields, D as capArrayByJsonBytes, E as archiveSessionTranscripts, F as parseInlineDirectives$1, G as resolveSessionResetPolicy, H as resolveSessionKey, J as DEFAULT_RESET_TRIGGERS, K as resolveSessionResetType, R as jsonUtf8Bytes, S as normalizeDeliveryContext, U as evaluateSessionFreshness, V as resolveSessionLockMaxHoldFromTimeout, W as resolveChannelResetConfig, X as resolveFreshSessionTotalTokens, Y as mergeSessionEntry, Z as setSessionRuntimeModel, _ as isCacheEnabled, a as resolveAndPersistSessionFile, b as deliveryContextKey, c as recordSessionMetaFromInbound, ct as resolveGroupSessionKey, d as updateSessionStore, et as resolveExplicitAgentSessionKey, f as updateSessionStoreEntry, n as parseSessionThreadInfo, o as loadSessionStore, q as resolveThreadFlag, r as appendAssistantMessageToSessionTranscript, rt as deriveSessionMetaPatch, s as readSessionUpdatedAt, t as extractDeliveryInfo, tt as resolveMainSessionKey, u as updateLastRoute, v as resolveCacheTtlMs$1, w as normalizeAccountId$3, x as mergeDeliveryContext, y as deliveryContextFromSession, z as acquireSessionWriteLock } from "./sessions-BXz4gdq6.js";
28
+ import { C as normalizeSessionDeliveryFields, D as capArrayByJsonBytes, E as archiveSessionTranscripts, F as parseInlineDirectives$1, G as resolveSessionResetPolicy, H as resolveSessionKey, J as DEFAULT_RESET_TRIGGERS, K as resolveSessionResetType, R as jsonUtf8Bytes, S as normalizeDeliveryContext, U as evaluateSessionFreshness, V as resolveSessionLockMaxHoldFromTimeout, W as resolveChannelResetConfig, X as resolveFreshSessionTotalTokens, Y as mergeSessionEntry, Z as setSessionRuntimeModel, _ as isCacheEnabled, a as resolveAndPersistSessionFile, b as deliveryContextKey, c as recordSessionMetaFromInbound, ct as resolveGroupSessionKey, d as updateSessionStore, et as resolveExplicitAgentSessionKey, f as updateSessionStoreEntry, n as parseSessionThreadInfo, o as loadSessionStore, q as resolveThreadFlag, r as appendAssistantMessageToSessionTranscript, rt as deriveSessionMetaPatch, s as readSessionUpdatedAt, t as extractDeliveryInfo, tt as resolveMainSessionKey, u as updateLastRoute, v as resolveCacheTtlMs$1, w as normalizeAccountId$3, x as mergeDeliveryContext, y as deliveryContextFromSession, z as acquireSessionWriteLock } from "./sessions-B2mnwD21.js";
29
29
  import { t as normalizeChatType } from "./chat-type-B5__aQIT.js";
30
30
  import { n as resolveConversationLabel } from "./conversation-label-DarEmZ42.js";
31
31
  import { t as resolveAccountEntry } from "./account-lookup-DndUerpe.js";
32
- import { C as resolveDiscordAccount, _ as isWhatsAppGroupJid, a as createTelegramActionGate, g as resolveSlackBotToken, h as resolveSlackAppToken, l as resolveTelegramAccount, m as resolveSlackReplyToMode, n as listChannelPlugins, o as listEnabledTelegramAccounts, p as resolveSlackAccount, r as normalizeChannelId$2, s as listTelegramAccountIds, t as getChannelPlugin, u as resolveTelegramToken, v as normalizeWhatsAppTarget, w as normalizeDiscordToken, x as listEnabledDiscordAccounts, y as createDiscordActionGate } from "./plugins-C4cYqW07.js";
33
- import { _ as webAuthExists, c as logWebSelfId, i as resolveWhatsAppAccount, l as logoutWeb, p as readWebSelfId, s as getWebAuthAgeMs } from "./accounts-Cv5CUnT4.js";
34
- import { r as resolveIMessageAccount } from "./accounts-2NNZ6Hbp.js";
35
- import { i as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-NHpMJ0aq.js";
36
- import { t as buildChannelAccountBindings } from "./bindings-DGvp9FdD.js";
37
- 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-ZyB64ntO.js";
38
- 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-BTswySBz.js";
32
+ import { C as resolveDiscordAccount, _ as isWhatsAppGroupJid, a as createTelegramActionGate, g as resolveSlackBotToken, h as resolveSlackAppToken, l as resolveTelegramAccount, m as resolveSlackReplyToMode, n as listChannelPlugins, o as listEnabledTelegramAccounts, p as resolveSlackAccount, r as normalizeChannelId$2, s as listTelegramAccountIds, t as getChannelPlugin, u as resolveTelegramToken, v as normalizeWhatsAppTarget, w as normalizeDiscordToken, x as listEnabledDiscordAccounts, y as createDiscordActionGate } from "./plugins-vsjS_m58.js";
33
+ import { _ as webAuthExists, c as logWebSelfId, i as resolveWhatsAppAccount, l as logoutWeb, p as readWebSelfId, s as getWebAuthAgeMs } from "./accounts-BQHz8_1_.js";
34
+ import { r as resolveIMessageAccount } from "./accounts-B3zSNWIv.js";
35
+ import { i as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-DTfEeXyO.js";
36
+ import { t as buildChannelAccountBindings } from "./bindings-Hx6KNJeg.js";
37
+ 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-Cpaj_bKB.js";
38
+ 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-BpXRh0BM.js";
39
39
  import { c as resolveStorePath, i as resolveSessionTranscriptPath, n as resolveSessionFilePath, r as resolveSessionFilePathOptions, t as resolveDefaultSessionStorePath } from "./paths-CTtLmER4.js";
40
40
  import { i as normalizeInputProvenance, n as applyInputProvenanceToUserMessage, r as hasInterSessionUserProvenance } from "./input-provenance-C8z9KgIz.js";
41
- import { r as writeJsonAtomic } from "./json-files-rR19q30D.js";
41
+ import { r as writeJsonAtomic } from "./json-files-CuJjdF_0.js";
42
42
  import { n as onSessionTranscriptUpdate, t as emitSessionTranscriptUpdate } from "./transcript-events-DgzPL8Hc.js";
43
- import { Ft as SESSION_LABEL_MAX_LENGTH, t as GatewayClient } from "./client-vUKV2o6h.js";
44
- import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege, t as buildGatewayConnectionDetails } from "./call-CmAGfSJE.js";
45
- import { r as isLoopbackHost } from "./net-C75G4fup.js";
43
+ import { Ft as SESSION_LABEL_MAX_LENGTH, t as GatewayClient } from "./client-BvL3EdiZ.js";
44
+ import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege, t as buildGatewayConnectionDetails } from "./call-CzoM7hPS.js";
45
+ import { r as isLoopbackHost } from "./net-BXeYv7Iu.js";
46
46
  import { r as trimToUndefined, t as resolveGatewayCredentialsFromConfig } from "./credentials-BtL4tqu0.js";
47
47
  import { a as stripSilentToken, i as isSilentReplyText, n as SILENT_REPLY_TOKEN, r as isSilentReplyPrefixText, t as HEARTBEAT_TOKEN } from "./tokens-DyLBF_df.js";
48
- import { a as getMachineDisplayName, i as startBrowserControlServiceFromConfig, n as createBrowserRouteDispatcher, r as createBrowserControlContext, t as withTimeout$4 } from "./with-timeout-B9qgOUui.js";
48
+ import { a as getMachineDisplayName, i as startBrowserControlServiceFromConfig, n as createBrowserRouteDispatcher, r as createBrowserControlContext, t as withTimeout$4 } from "./with-timeout-DurSJobr.js";
49
49
  import { n as generateSecureUuid, t as generateSecureToken } from "./secure-random-_dzDDlFo.js";
50
- import { A as initializeGlobalHookRunner, C as toInternalMessagePreprocessedContext, D as toPluginMessageReceivedEvent, E as toPluginMessageContext, O as fireAndForgetHook, S as deriveInboundMessageHookContext, T as toInternalMessageTranscribedContext, _ as createReplyToModeFilterForChannel, a as normalizeOutboundPayloadsForJson, b as normalizeChannelTargetInput, c as parseReplyDirectives, d as applyReplyThreading, f as filterMessagingToolDuplicates, g as shouldSuppressReasoningPayload, h as shouldSuppressMessagingToolReplies, i as normalizeOutboundPayloads, k as getGlobalHookRunner, l as splitMediaFromOutput, m as isRenderablePayload, o as normalizeReplyPayloadsForDelivery, p as filterMessagingToolMediaDuplicates, r as formatOutboundPayloadLog, s as throwIfAborted, t as deliverOutboundPayloads, u as applyReplyTagsToPayload, v as resolveReplyToMode, w as toInternalMessageReceivedContext, x as normalizeTargetForProvider, y as buildTargetResolverSignature } from "./deliver-H0xCFj4j.js";
51
- 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-DjxUqpmL.js";
50
+ import { A as initializeGlobalHookRunner, C as toInternalMessagePreprocessedContext, D as toPluginMessageReceivedEvent, E as toPluginMessageContext, O as fireAndForgetHook, S as deriveInboundMessageHookContext, T as toInternalMessageTranscribedContext, _ as createReplyToModeFilterForChannel, a as normalizeOutboundPayloadsForJson, b as normalizeChannelTargetInput, c as parseReplyDirectives, d as applyReplyThreading, f as filterMessagingToolDuplicates, g as shouldSuppressReasoningPayload, h as shouldSuppressMessagingToolReplies, i as normalizeOutboundPayloads, k as getGlobalHookRunner, l as splitMediaFromOutput, m as isRenderablePayload, o as normalizeReplyPayloadsForDelivery, p as filterMessagingToolMediaDuplicates, r as formatOutboundPayloadLog, s as throwIfAborted, t as deliverOutboundPayloads, u as applyReplyTagsToPayload, v as resolveReplyToMode, w as toInternalMessageReceivedContext, x as normalizeTargetForProvider, y as buildTargetResolverSignature } from "./deliver-Df8pSQk6.js";
51
+ 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-Bvatw1Xn.js";
52
52
  import { n as getDiagnosticSessionState } from "./diagnostic-session-state-Dx-rJXBO.js";
53
- import { A as buildTypingThreadParams, B as resolveTelegramReplyId, C as buildGroupLabel, D as buildTelegramGroupPeerId, E as buildTelegramGroupFrom, F as normalizeForwardedContext, G as normalizeDmAllowFromWithStore$1, H as resolveTelegramThreadSpec, I as resolveTelegramDirectPeerId, J as toLocationContext, K as resolveSenderAllowMatch$1, L as resolveTelegramForumThreadId, M as expandTextLinks, N as extractTelegramLocation, O as buildTelegramParentPeer, P as hasBotMention, R as resolveTelegramGroupAllowFromContext, T as buildSenderName, U as isSenderAllowed$1, V as resolveTelegramStreamMode, W as normalizeAllowFrom$2, X as parseTelegramTarget, Y as isVoiceCompatibleAudio, Z as resolveTelegramTargetChatType, _ as resolveTelegramFetch, a as reactMessageTelegram, b as loadCronStore, c as sendStickerTelegram, d as wasSentByBot, f as isRecoverableTelegramNetworkError, g as wrapFileReferencesInHtml, h as renderTelegramHtmlText, i as editMessageTelegram, j as describeReplyTarget, k as buildTelegramThreadParams, m as markdownToTelegramHtml, n as createForumTopicTelegram, o as sendMessageTelegram, p as markdownToTelegramChunks, q as formatLocationText, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildSenderLabel, x as resolveCronStorePath, y as withTelegramApiErrorLogging, z as resolveTelegramMediaPlaceholder } from "./send-D0X-8aPh.js";
54
- 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-B2L37gT8.js";
55
- import { A as isRawApiErrorPayload, B as sanitizeGoogleTurnOrdering, C as isCloudCodeAssistFormatError, D as isFailoverErrorMessage, E as isFailoverAssistantError, F as sanitizeUserFacingText, I as buildBootstrapContextFiles, L as ensureSessionHeader, M as isTransientHttpError, N as parseImageDimensionError, O as isLikelyContextOverflowError, P as parseImageSizeError, R as resolveBootstrapMaxChars, S as isBillingAssistantError, T as isContextOverflowError, _ as formatBillingErrorMessage, a as isMessagingToolDuplicateNormalized, b as isAuthAssistantError, c as extractToolCallsFromAssistant, d as downgradeOpenAIFunctionCallReasoningPairs, f as downgradeOpenAIReasoningBlocks, g as formatAssistantErrorText, h as classifyFailoverReason, j as isTimeoutErrorMessage, k as isRateLimitAssistantError, l as extractToolResultId, m as BILLING_ERROR_USER_MESSAGE, n as validateGeminiTurns, o as normalizeTextForComparison, p as isGoogleModelApi, r as pickFallbackThinkingLevel, s as sanitizeSessionMessagesImages, t as validateAnthropicTurns, u as sanitizeToolCallIdsForCloudCodeAssist, v as formatRawAssistantErrorForUi, w as isCompactionFailureError, x as isAuthPermanentErrorMessage, y as getApiErrorPayloadFingerprint, z as resolveBootstrapTotalMaxChars } from "./pi-embedded-helpers-BB2whkUz.js";
56
- import { C as resolveToolProfilePolicy, S as normalizeToolName, T as matchesAnyGlobPattern, _ as collectExplicitAllowlist, a as ensureSandboxWorkspaceForSession, b as stripPluginOnlyAllowlist, c as resolveSandboxRuntimeStatus, d as getBridgeAuthForPort, f as resolveSandboxConfigForAgent, g as buildPluginToolGroups, h as applyOwnerOnlyToolPolicy, o as resolveSandboxContext, v as expandPolicyWithPluginGroups, w as compileGlobPatterns, y as mergeAlsoAllowPolicy } from "./sandbox-BLqUWbp2.js";
57
- import { j as DEFAULT_AI_SNAPSHOT_MAX_CHARS } from "./chrome-DeZyLFsG.js";
58
- import { c as resolveBrowserControlAuth, i as resolveBrowserConfig } from "./server-context-DRq_OT33.js";
59
- import { i as resolveExistingPathsWithinRoot, r as DEFAULT_UPLOAD_DIR } from "./paths-B_L2Zoe-.js";
53
+ import { A as buildTypingThreadParams, B as resolveTelegramReplyId, C as buildGroupLabel, D as buildTelegramGroupPeerId, E as buildTelegramGroupFrom, F as normalizeForwardedContext, G as normalizeDmAllowFromWithStore$1, H as resolveTelegramThreadSpec, I as resolveTelegramDirectPeerId, J as toLocationContext, K as resolveSenderAllowMatch$1, L as resolveTelegramForumThreadId, M as expandTextLinks, N as extractTelegramLocation, O as buildTelegramParentPeer, P as hasBotMention, R as resolveTelegramGroupAllowFromContext, T as buildSenderName, U as isSenderAllowed$1, V as resolveTelegramStreamMode, W as normalizeAllowFrom$2, X as parseTelegramTarget, Y as isVoiceCompatibleAudio, Z as resolveTelegramTargetChatType, _ as resolveTelegramFetch, a as reactMessageTelegram, b as loadCronStore, c as sendStickerTelegram, d as wasSentByBot, f as isRecoverableTelegramNetworkError, g as wrapFileReferencesInHtml, h as renderTelegramHtmlText, i as editMessageTelegram, j as describeReplyTarget, k as buildTelegramThreadParams, m as markdownToTelegramHtml, n as createForumTopicTelegram, o as sendMessageTelegram, p as markdownToTelegramChunks, q as formatLocationText, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildSenderLabel, x as resolveCronStorePath, y as withTelegramApiErrorLogging, z as resolveTelegramMediaPlaceholder } from "./send-sj8Hu26l.js";
54
+ 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-BGTBZMuE.js";
55
+ import { A as isRawApiErrorPayload, B as sanitizeGoogleTurnOrdering, C as isCloudCodeAssistFormatError, D as isFailoverErrorMessage, E as isFailoverAssistantError, F as sanitizeUserFacingText, I as buildBootstrapContextFiles, L as ensureSessionHeader, M as isTransientHttpError, N as parseImageDimensionError, O as isLikelyContextOverflowError, P as parseImageSizeError, R as resolveBootstrapMaxChars, S as isBillingAssistantError, T as isContextOverflowError, _ as formatBillingErrorMessage, a as isMessagingToolDuplicateNormalized, b as isAuthAssistantError, c as extractToolCallsFromAssistant, d as downgradeOpenAIFunctionCallReasoningPairs, f as downgradeOpenAIReasoningBlocks, g as formatAssistantErrorText, h as classifyFailoverReason, j as isTimeoutErrorMessage, k as isRateLimitAssistantError, l as extractToolResultId, m as BILLING_ERROR_USER_MESSAGE, n as validateGeminiTurns, o as normalizeTextForComparison, p as isGoogleModelApi, r as pickFallbackThinkingLevel, s as sanitizeSessionMessagesImages, t as validateAnthropicTurns, u as sanitizeToolCallIdsForCloudCodeAssist, v as formatRawAssistantErrorForUi, w as isCompactionFailureError, x as isAuthPermanentErrorMessage, y as getApiErrorPayloadFingerprint, z as resolveBootstrapTotalMaxChars } from "./pi-embedded-helpers-CrD8I6qf.js";
56
+ import { C as resolveToolProfilePolicy, S as normalizeToolName, T as matchesAnyGlobPattern, _ as collectExplicitAllowlist, a as ensureSandboxWorkspaceForSession, b as stripPluginOnlyAllowlist, c as resolveSandboxRuntimeStatus, d as getBridgeAuthForPort, f as resolveSandboxConfigForAgent, g as buildPluginToolGroups, h as applyOwnerOnlyToolPolicy, o as resolveSandboxContext, v as expandPolicyWithPluginGroups, w as compileGlobPatterns, y as mergeAlsoAllowPolicy } from "./sandbox-Tai-w14a.js";
57
+ import { j as DEFAULT_AI_SNAPSHOT_MAX_CHARS } from "./chrome-DuDCGdf-.js";
58
+ import { c as resolveBrowserControlAuth, i as resolveBrowserConfig } from "./server-context-YLHmGfYV.js";
59
+ import { i as resolveExistingPathsWithinRoot, r as DEFAULT_UPLOAD_DIR } from "./paths-BjoSX1aC.js";
60
60
  import { a as testRegexWithBoundedInput, i as compileSafeRegex, n as redactSensitiveText } from "./redact-Ck5U_y4i.js";
61
61
  import { i as formatUncaughtError, r as formatErrorMessage, s as readErrorName } from "./errors-BJz45-qI.js";
62
- import { i as openFileWithinRoot, l as writeFileWithinRoot, n as copyFileWithinRoot, o as readFileWithinRoot, r as createRootScopedReadFile, t as SafeOpenError } from "./fs-safe-BqJ9egpm.js";
63
- import { a as isBlockedHostnameOrIp, c as normalizeHostname, n as SsrFBlockedError } from "./proxy-env-BoopXu2J.js";
64
- import { i as saveMediaBuffer, r as getMediaDir, t as MEDIA_MAX_BYTES } from "./store-TdzSHRPN.js";
65
- import { i as resolveLsofCommandSync } from "./ports-DRaxdQmm.js";
66
- import { a as canonicalizeBase64, i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, o as estimateBase64DecodedBytes, r as sanitizeToolResultImages } from "./tool-images-CmgHk8xk.js";
62
+ import { i as openFileWithinRoot, l as writeFileWithinRoot, n as copyFileWithinRoot, o as readFileWithinRoot, r as createRootScopedReadFile, t as SafeOpenError } from "./fs-safe-CJDtl_QU.js";
63
+ import { a as isBlockedHostnameOrIp, c as normalizeHostname, n as SsrFBlockedError } from "./proxy-env-BQIJPH4j.js";
64
+ import { i as saveMediaBuffer, r as getMediaDir, t as MEDIA_MAX_BYTES } from "./store-U8cs0QvT.js";
65
+ import { i as resolveLsofCommandSync } from "./ports-sCOQUaAP.js";
66
+ import { a as canonicalizeBase64, i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, o as estimateBase64DecodedBytes, r as sanitizeToolResultImages } from "./tool-images-CnpAosfi.js";
67
67
  import { a as normalizeElevatedLevel, c as normalizeUsageDisplay, d as supportsXHighThinking, l as normalizeVerboseLevel, n as formatXHighModelHint, o as normalizeReasoningLevel, s as normalizeThinkLevel, t as formatThinkingLevels, u as resolveResponseUsageMode } from "./thinking-pYqswKJZ.js";
68
- import { t as ensureOpenClawModelsJson } from "./models-config-AePb9RAo.js";
69
- import { n as evaluateShellAllowlist, r as resolveAllowAlwaysPatterns } from "./exec-approvals-allowlist-CFjPSbxI.js";
70
- import { n as resolveExecSafeBinRuntimePolicy, r as resolveMergedSafeBinProfileFixtures } from "./exec-safe-bin-runtime-policy-CpMj95vJ.js";
71
- import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-DFi9HgWu.js";
72
- import { a as getDefaultMediaLocalRoots, i as getAgentScopedMediaLocalRoots, n as fetchRemoteMedia, r as readResponseWithLimit, t as MediaFetchError } from "./fetch-DOjg912W.js";
73
- import { a as resolveAutoImageModel, c as applyTemplate, d as normalizeMediaUnderstandingChatType, f as resolveMediaUnderstandingScope, g 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$1, v as resolveAttachmentKind } from "./audio-transcription-runner-DkibzFT2.js";
68
+ import { t as ensureOpenClawModelsJson } from "./models-config-CmrBGsQs.js";
69
+ import { n as evaluateShellAllowlist, r as resolveAllowAlwaysPatterns } from "./exec-approvals-allowlist-B4DS6FIn.js";
70
+ import { n as resolveExecSafeBinRuntimePolicy, r as resolveMergedSafeBinProfileFixtures } from "./exec-safe-bin-runtime-policy-BP6ImlkB.js";
71
+ import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-D1X8r3WJ.js";
72
+ import { a as getDefaultMediaLocalRoots, i as getAgentScopedMediaLocalRoots, n as fetchRemoteMedia, r as readResponseWithLimit, t as MediaFetchError } from "./fetch-DC-NMnAU.js";
73
+ import { a as resolveAutoImageModel, c as applyTemplate, d as normalizeMediaUnderstandingChatType, f as resolveMediaUnderstandingScope, g 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$1, v as resolveAttachmentKind } from "./audio-transcription-runner-jiDE7Pt8.js";
74
74
  import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-CZWuvzq4.js";
75
- import { n as withStrictGuardedFetchMode, r as withTrustedEnvProxyGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-Csbz9pui.js";
76
- import { S as minimaxUnderstandImage, _ as stripThinkingTagsFromText, a as decodeDataUrl, b as isInsideCode, c as extractAssistantThinking, d as formatReasoningMessage, f as inferToolMetaFromArgs, g as stripMinimaxToolCallXml, h as stripDowngradedToolCallText, i as coerceImageModelConfig, l as extractThinkingFromTaggedStream, m as promoteThinkingTagsToBlocks, o as resolveProviderVisionModelFromConfig, p as isAssistantMessage, r as coerceImageAssistantText, s as extractAssistantText$1, u as extractThinkingFromTaggedText, v as stripReasoningTagsFromText, x as extractTextFromChatContent, y as findCodeRegions } from "./image-BjuH1GKB.js";
75
+ import { n as withStrictGuardedFetchMode, r as withTrustedEnvProxyGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-B62rgaSw.js";
76
+ import { S as minimaxUnderstandImage, _ as stripThinkingTagsFromText, a as decodeDataUrl, b as isInsideCode, c as extractAssistantThinking, d as formatReasoningMessage, f as inferToolMetaFromArgs, g as stripMinimaxToolCallXml, h as stripDowngradedToolCallText, i as coerceImageModelConfig, l as extractThinkingFromTaggedStream, m as promoteThinkingTagsToBlocks, o as resolveProviderVisionModelFromConfig, p as isAssistantMessage, r as coerceImageAssistantText, s as extractAssistantText$1, u as extractThinkingFromTaggedText, v as stripReasoningTagsFromText, x as extractTextFromChatContent, y as findCodeRegions } from "./image-UpBiPNsk.js";
77
77
  import { n as formatToolSummary, r as resolveToolDisplay } from "./tool-display-0M664wep.js";
78
78
  import { t as makeProxyFetch } from "./proxy-fetch-DEHZt1Tx.js";
79
- import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-H_GSyyzN.js";
79
+ import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-DpXMFuAa.js";
80
80
  import { a as chunkText, c as resolveChunkMode, d as isSafeFenceBreak, f as parseFenceSpans, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, o as chunkTextWithMode, r as chunkMarkdownText, t as chunkByNewline, u as findFenceSpanAt } from "./chunk-kLPohhLl.js";
81
- import { n as resolveMarkdownTableMode } from "./markdown-tables-DQlQMRGZ.js";
82
- import { a as loadWebMedia, i as getDefaultLocalRoots, o as loadWebMediaRaw } from "./ir-CEwBpxhC.js";
83
- import { a as ToolInputError, c as imageResultFromFile, d as readNumberParam, f as readReactionParams, h as readStringParam, l as jsonResult, m as readStringOrNumberParam, n as missingTargetError, o as createActionGate, p as readStringArrayParam, r as unknownTargetError, s as imageResult, t as ambiguousTargetError, u as parseAvailableTags } from "./target-errors-DPJ9HFp9.js";
84
- import { a as resolveNativeSkillsEnabled, i as resolveNativeCommandsEnabled, n as isNativeCommandsExplicitlyDisabled, r as isRestartEnabled, t as isCommandFlagEnabled } from "./commands-d8L0zY8O.js";
85
- import { a as listChatCommands, c as listNativeCommandSpecsForConfig, d as parseCommandArgs, f as resolveCommandArgChoices, h as shouldHandleTextCommands, i as isCommandEnabled, l as maybeResolveTextAlias, m as serializeCommandArgs, o as listChatCommandsForConfig, p as resolveCommandArgMenu, r as findCommandByNativeName, s as listNativeCommandSpecs, t as buildCommandTextFromArgs, u as normalizeCommandBody } from "./commands-registry-C78O6aNi.js";
81
+ import { n as resolveMarkdownTableMode } from "./markdown-tables-BYHgyUjA.js";
82
+ import { a as loadWebMedia, i as getDefaultLocalRoots, o as loadWebMediaRaw } from "./ir-DziC-P4Z.js";
83
+ import { a as ToolInputError, c as imageResultFromFile, d as readNumberParam, f as readReactionParams, h as readStringParam, l as jsonResult, m as readStringOrNumberParam, n as missingTargetError, o as createActionGate, p as readStringArrayParam, r as unknownTargetError, s as imageResult, t as ambiguousTargetError, u as parseAvailableTags } from "./target-errors-C5LA-JI-.js";
84
+ import { a as resolveNativeSkillsEnabled, i as resolveNativeCommandsEnabled, n as isNativeCommandsExplicitlyDisabled, r as isRestartEnabled, t as isCommandFlagEnabled } from "./commands-C67IbXs7.js";
85
+ import { a as listChatCommands, c as listNativeCommandSpecsForConfig, d as parseCommandArgs, f as resolveCommandArgChoices, h as shouldHandleTextCommands, i as isCommandEnabled, l as maybeResolveTextAlias, m as serializeCommandArgs, o as listChatCommandsForConfig, p as resolveCommandArgMenu, r as findCommandByNativeName, s as listNativeCommandSpecs, t as buildCommandTextFromArgs, u as normalizeCommandBody } from "./commands-registry-D0_D5hFV.js";
86
86
  import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-sjEbnCyN.js";
87
87
  import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-BM2hI5N6.js";
88
88
  import { n as retryAsync } from "./retry-DwXRBpwv.js";
89
89
  import { n as formatTimeAgo } from "./format-relative-DlCMhQXD.js";
90
- import { c as readJsonFileWithFallback, d as listPairingChannels, i as readChannelAllowFromStore, l as writeJsonFileAtomically, o as removeChannelAllowFromStoreEntry, s as upsertChannelPairingRequest, t as addChannelAllowFromStoreEntry } from "./pairing-store-rFuiIoGM.js";
90
+ import { c as readJsonFileWithFallback, d as listPairingChannels, i as readChannelAllowFromStore, l as writeJsonFileAtomically, o as removeChannelAllowFromStoreEntry, s as upsertChannelPairingRequest, t as addChannelAllowFromStoreEntry } from "./pairing-store-BfzlN-z9.js";
91
91
  import { d as resolveExecApprovals, f as resolveExecApprovalsFromFile, i as maxAsk, l as recordAllowlistUse, n as addAllowlistEntry, o as minSecurity, u as requiresExecApproval } from "./exec-approvals-HRn5F9dF.js";
92
- import { C as mergePathPrepend, S as findPathKey, a as canvasSnapshotTempPath, b as buildNodeShellCommand, c as parseCameraClipPayload, d as writeCameraClipPayloadToFile, f as writeCameraPayloadToFile, i as parseEnvPairs, l as parseCameraSnapPayload, n as screenRecordTempPath, o as parseCanvasSnapshotPayload, p as parsePreparedSystemRunPayload, r as writeScreenRecordToFile, s as cameraTempPath, t as parseScreenRecordPayload, u as writeBase64ToFile, w as normalizePathPrepend, x as applyPathPrepend } from "./nodes-screen-BHwVUMr8.js";
92
+ import { C as mergePathPrepend, S as findPathKey, a as canvasSnapshotTempPath, b as buildNodeShellCommand, c as parseCameraClipPayload, d as writeCameraClipPayloadToFile, f as writeCameraPayloadToFile, i as parseEnvPairs, l as parseCameraSnapPayload, n as screenRecordTempPath, o as parseCanvasSnapshotPayload, p as parsePreparedSystemRunPayload, r as writeScreenRecordToFile, s as cameraTempPath, t as parseScreenRecordPayload, u as writeBase64ToFile, w as normalizePathPrepend, x as applyPathPrepend } from "./nodes-screen-DcxCMjOs.js";
93
93
  import { t as killProcessTree$1 } from "./kill-tree-BI7OGmGb.js";
94
- import { t as formatExecCommand } from "./system-run-command-XHAlbx5q.js";
94
+ import { t as formatExecCommand } from "./system-run-command-GKGzGztn.js";
95
95
  import { i as parsePairingList, n as resolveNodeIdFromNodeList, r as parseNodeList, t as resolveNodeFromNodeList } from "./node-resolve-DCXbzdeZ.js";
96
96
  import { i as formatDurationSeconds, r as formatDurationPrecise, t as formatDurationCompact$1 } from "./format-duration-B8vujEIl.js";
97
- import { a as loadCombinedSessionStoreForGateway, d as resolveContextTokensForModel, u as lookupContextTokens } from "./session-utils-DxaIoRMp.js";
97
+ import { a as loadCombinedSessionStoreForGateway, d as resolveContextTokensForModel, u as lookupContextTokens } from "./session-utils-BncMg1bn.js";
98
98
  import { c as hasNonzeroUsage, l as makeZeroUsageSnapshot, n as loadCostUsageSummary, o as derivePromptTokens, r as loadSessionCostSummary, s as deriveSessionTotalTokens, u as normalizeUsage } from "./session-cost-usage-BCEcVVJ6.js";
99
99
  import { i as resolveModelCostConfig, n as formatTokenCount$2, r as formatUsd, t as estimateUsageCost } from "./usage-format-JlIz56oG.js";
100
- import { b as ensureSkillsWatcher, i as resolveSkillCommandInvocation, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, r as listSkillCommandsForWorkspace, t as listReservedChatSlashCommandNames, x as getSkillsSnapshotVersion } from "./skill-commands-Cpr3Poo2.js";
100
+ import { b as ensureSkillsWatcher, i as resolveSkillCommandInvocation, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, r as listSkillCommandsForWorkspace, t as listReservedChatSlashCommandNames, x as getSkillsSnapshotVersion } from "./skill-commands-CYucDd3C.js";
101
101
  import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-C-cvytUe.js";
102
102
  import { t as buildOutboundMediaLoadOptions } from "./load-options-CDYtue-3.js";
103
103
  import { n as normalizePollInput } from "./polls-CWOwBT3z.js";
104
- import { t as convertMarkdownTables } from "./tables-BOsRa7CS.js";
104
+ import { t as convertMarkdownTables } from "./tables-DVXe5x1J.js";
105
105
  import { f as resolveGatewaySystemdServiceName, l as resolveGatewayLaunchAgentLabel } from "./constants-BLYfoMmL.js";
106
106
  import { i as parseAbsoluteTimeMs, r as resolveDefaultCronStaggerMs, t as normalizeCronStaggerMs } from "./stagger-Cek4Eizw.js";
107
- import { n as resolveMessageChannelSelection, t as listConfiguredMessageChannels } from "./channel-selection-DGtYwfd7.js";
108
- import { t as applyPluginAutoEnable } from "./plugin-auto-enable-S_lBQAKI.js";
109
- import { a as resolveSignalRpcContext, c as streamSignalEvents, n as sendReadReceiptSignal, o as signalCheck, r as sendTypingSignal, s as signalRpcRequest, t as sendMessageSignal } from "./send-CZ2O-5pP.js";
110
- import { a as formatIMessageChatTarget, c as parseIMessageTarget, i as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, o as isAllowedIMessageSender, r as createIMessageRpcClient, s as normalizeIMessageHandle, t as sendMessageIMessage } from "./send-BCLu4NEE.js";
111
- import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-ByAwAiq5.js";
107
+ import { n as resolveMessageChannelSelection, t as listConfiguredMessageChannels } from "./channel-selection-D8KYuWir.js";
108
+ import { t as applyPluginAutoEnable } from "./plugin-auto-enable-DER6qA6X.js";
109
+ import { a as resolveSignalRpcContext, c as streamSignalEvents, n as sendReadReceiptSignal, o as signalCheck, r as sendTypingSignal, s as signalRpcRequest, t as sendMessageSignal } from "./send-CQJKPGw4.js";
110
+ import { a as formatIMessageChatTarget, c as parseIMessageTarget, i as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, o as isAllowedIMessageSender, r as createIMessageRpcClient, s as normalizeIMessageHandle, t as sendMessageIMessage } from "./send-e1X1pfda.js";
111
+ import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-Cnto8LMw.js";
112
112
  import { n as isSenderIdAllowed, r as mergeDmAllowFromSources, t as firstDefined$1 } from "./allow-from-CrohZBvI.js";
113
113
  import { t as parseTimeoutMs } from "./parse-timeout-BLJlOyi9.js";
114
114
  import { i as redactIdentifier, t as getActiveWebListener } from "./active-listener-DNm8Tp5o.js";
115
- import { a as resolveSubagentToolPolicy, c as readStoreAllowFromForDmPolicy, d as resolveDmGroupAccessWithLists, f as resolvePinnedMainDmOwnerFromAllowlist, i as resolveGroupToolPolicy, m as resolveControlCommandGate, n as isToolAllowedByPolicies, p as resolveCommandAuthorizedFromAuthorizers, r as resolveEffectiveToolPolicy, s as DM_GROUP_ACCESS_REASON, t as filterToolsByPolicy } from "./pi-tools.policy-DRW8ya1z.js";
115
+ import { a as resolveSubagentToolPolicy, c as readStoreAllowFromForDmPolicy, d as resolveDmGroupAccessWithLists, f as resolvePinnedMainDmOwnerFromAllowlist, i as resolveGroupToolPolicy, m as resolveControlCommandGate, n as isToolAllowedByPolicies, p as resolveCommandAuthorizedFromAuthorizers, r as resolveEffectiveToolPolicy, s as DM_GROUP_ACCESS_REASON, t as filterToolsByPolicy } from "./pi-tools.policy-upaoJyu4.js";
116
116
  import { n as isDangerousNameMatchingEnabled } from "./dangerous-name-matching-CffcsSiI.js";
117
- import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-BDnb0prE.js";
118
- import { r as detectBinary } from "./onboard-helpers-D8lLbK3A.js";
119
- import { t as resolvePairingIdLabel } from "./pairing-labels-x4akYNb7.js";
120
- import { t as recordInboundSessionMetaSafe } from "./session-meta-Cew1QAYN.js";
121
- import { i as resolveMemoryBackendConfig, n as registerMemoryCli, r as getMemorySearchManager } from "./memory-cli-BUrf60e_.js";
122
- import { r as resolveMemorySearchConfig } from "./manager-DWpiNvlg.js";
123
- import { i as resolveContextWindowInfo, n as CONTEXT_WINDOW_WARN_BELOW_TOKENS, r as evaluateContextWindowGuard, t as CONTEXT_WINDOW_HARD_MIN_TOKENS } from "./context-window-guard-Bs0PeDpo.js";
117
+ import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-Ckd7Lwt0.js";
118
+ import { r as detectBinary } from "./onboard-helpers-CczYNQDJ.js";
119
+ import { t as resolvePairingIdLabel } from "./pairing-labels-CFSUHOmk.js";
120
+ import { t as recordInboundSessionMetaSafe } from "./session-meta-DF1WT4cr.js";
121
+ import { i as resolveMemoryBackendConfig, n as registerMemoryCli, r as getMemorySearchManager } from "./memory-cli-CuT-iG2F.js";
122
+ import { r as resolveMemorySearchConfig } from "./manager-7hZXEYTj.js";
123
+ import { o as BITSEEK_PROVIDER_ID } from "./constants-SKxh9Cou.js";
124
+ import { a as resolveContextWindowInfo, i as resolveContextWindowHardMinTokens, n as CONTEXT_WINDOW_WARN_BELOW_TOKENS, r as evaluateContextWindowGuard } from "./context-window-guard-ejUBbmnW.js";
124
125
  import { createRequire } from "node:module";
125
126
  import { execFileSync, spawn, spawnSync } from "node:child_process";
126
127
  import { fileURLToPath } from "node:url";
@@ -129,7 +130,7 @@ import os, { homedir } from "node:os";
129
130
  import fs, { existsSync, mkdirSync, mkdtempSync, promises, readFileSync, renameSync, rmSync, statSync, unlinkSync, writeFileSync } from "node:fs";
130
131
  import JSON5 from "json5";
131
132
  import { inspect } from "node:util";
132
- import fsPromises from "node:fs/promises";
133
+ import fs$1 from "node:fs/promises";
133
134
  import { complete, completeSimple, createAssistantMessageEventStream, streamSimple } from "@mariozechner/pi-ai";
134
135
  import crypto, { createHash, createHmac, randomBytes, randomUUID } from "node:crypto";
135
136
  import { CURRENT_SESSION_VERSION, DefaultResourceLoader, SessionManager, SettingsManager, codingTools, createAgentSession, createEditTool, createReadTool, createWriteTool, estimateTokens, generateSummary, readTool } from "@mariozechner/pi-coding-agent";
@@ -5074,7 +5075,7 @@ async function resolveAgentSessionDirs(stateDir) {
5074
5075
  const agentsDir = path.join(stateDir, "agents");
5075
5076
  let entries = [];
5076
5077
  try {
5077
- entries = await fsPromises.readdir(agentsDir, { withFileTypes: true });
5078
+ entries = await fs$1.readdir(agentsDir, { withFileTypes: true });
5078
5079
  } catch (err) {
5079
5080
  if (err.code === "ENOENT") return [];
5080
5081
  throw err;
@@ -8141,7 +8142,7 @@ async function sendTranscriptEcho(params) {
8141
8142
  }
8142
8143
  const text = formatEchoTranscript(transcript, params.format ?? DEFAULT_ECHO_TRANSCRIPT_FORMAT);
8143
8144
  try {
8144
- const { deliverOutboundPayloads } = await import("./deliver-H0xCFj4j.js").then((n) => n.n);
8145
+ const { deliverOutboundPayloads } = await import("./deliver-Df8pSQk6.js").then((n) => n.n);
8145
8146
  await deliverOutboundPayloads({
8146
8147
  cfg,
8147
8148
  channel: normalizedChannel,
@@ -12943,7 +12944,7 @@ async function resolveSandboxWorkdir(params) {
12943
12944
  cwd: process.cwd(),
12944
12945
  root: params.sandbox.workspaceDir
12945
12946
  });
12946
- if (!(await fsPromises.stat(resolved.resolved)).isDirectory()) throw new Error("workdir is not a directory");
12947
+ if (!(await fs$1.stat(resolved.resolved)).isDirectory()) throw new Error("workdir is not a directory");
12947
12948
  const relative = resolved.relative ? resolved.relative.split(path.sep).join(path.posix.sep) : "";
12948
12949
  const containerWorkdir = relative ? path.posix.join(params.sandbox.containerWorkdir, relative) : params.sandbox.containerWorkdir;
12949
12950
  return {
@@ -14187,13 +14188,13 @@ async function validateScriptFileForShellBleed(params) {
14187
14188
  cwd: params.workdir,
14188
14189
  root: params.workdir
14189
14190
  });
14190
- stat = await fsPromises.stat(absPath);
14191
+ stat = await fs$1.stat(absPath);
14191
14192
  } catch {
14192
14193
  return;
14193
14194
  }
14194
14195
  if (!stat.isFile()) return;
14195
14196
  if (stat.size > 512 * 1024) return;
14196
- const content = await fsPromises.readFile(absPath, "utf-8");
14197
+ const content = await fs$1.readFile(absPath, "utf-8");
14197
14198
  const first = /\$[A-Z_][A-Z0-9_]{1,}/g.exec(content);
14198
14199
  if (first) {
14199
14200
  const idx = first.index;
@@ -23282,7 +23283,7 @@ async function routeReply(params) {
23282
23283
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
23283
23284
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
23284
23285
  try {
23285
- const { deliverOutboundPayloads } = await import("./deliver-H0xCFj4j.js").then((n) => n.n);
23286
+ const { deliverOutboundPayloads } = await import("./deliver-Df8pSQk6.js").then((n) => n.n);
23286
23287
  const outboundSession = buildOutboundSessionContext({
23287
23288
  cfg,
23288
23289
  agentId: resolvedAgentId,
@@ -23362,7 +23363,7 @@ async function emitResetCommandHooks(params) {
23362
23363
  try {
23363
23364
  const messages = [];
23364
23365
  if (sessionFile) {
23365
- const content = await fsPromises.readFile(sessionFile, "utf-8");
23366
+ const content = await fs$1.readFile(sessionFile, "utf-8");
23366
23367
  for (const line of content.split("\n")) {
23367
23368
  if (!line.trim()) continue;
23368
23369
  try {
@@ -24148,7 +24149,7 @@ async function createModelSelectionState(params) {
24148
24149
  }
24149
24150
  }
24150
24151
  if (sessionEntry && sessionStore && sessionKey && sessionEntry.authProfileOverride) {
24151
- const { ensureAuthProfileStore } = await import("./auth-profiles-CyG9VwU_.js").then((n) => n.t);
24152
+ const { ensureAuthProfileStore } = await import("./auth-profiles-D_x1_5v_.js").then((n) => n.t);
24152
24153
  const profile = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false }).profiles[sessionEntry.authProfileOverride];
24153
24154
  const providerKey = normalizeProviderId(provider);
24154
24155
  if (!profile || normalizeProviderId(profile.provider) !== providerKey) await clearSessionAuthProfileOverride({
@@ -27744,7 +27745,7 @@ async function readJsonlFromPath(jsonlPath) {
27744
27745
  if (shouldLogVerbose()) logVerbose(`Blocked canvas jsonlPath outside allowed roots: ${resolved}`);
27745
27746
  throw new Error("jsonlPath outside allowed roots");
27746
27747
  }
27747
- const canonical = await fsPromises.realpath(resolved).catch(() => resolved);
27748
+ const canonical = await fs$1.realpath(resolved).catch(() => resolved);
27748
27749
  if (!isInboundPathAllowed({
27749
27750
  filePath: canonical,
27750
27751
  roots
@@ -27752,7 +27753,7 @@ async function readJsonlFromPath(jsonlPath) {
27752
27753
  if (shouldLogVerbose()) logVerbose(`Blocked canvas jsonlPath outside allowed roots: ${canonical}`);
27753
27754
  throw new Error("jsonlPath outside allowed roots");
27754
27755
  }
27755
- return await fsPromises.readFile(canonical, "utf8");
27756
+ return await fs$1.readFile(canonical, "utf8");
27756
27757
  }
27757
27758
  const CanvasToolSchema = Type.Object({
27758
27759
  action: stringEnum(CANVAS_ACTIONS),
@@ -28567,27 +28568,27 @@ function resolveRestartSentinelPath(env = process.env) {
28567
28568
  }
28568
28569
  async function writeRestartSentinel(payload, env = process.env) {
28569
28570
  const filePath = resolveRestartSentinelPath(env);
28570
- await fsPromises.mkdir(path.dirname(filePath), { recursive: true });
28571
+ await fs$1.mkdir(path.dirname(filePath), { recursive: true });
28571
28572
  const data = {
28572
28573
  version: 1,
28573
28574
  payload
28574
28575
  };
28575
- await fsPromises.writeFile(filePath, `${JSON.stringify(data, null, 2)}\n`, "utf-8");
28576
+ await fs$1.writeFile(filePath, `${JSON.stringify(data, null, 2)}\n`, "utf-8");
28576
28577
  return filePath;
28577
28578
  }
28578
28579
  async function readRestartSentinel(env = process.env) {
28579
28580
  const filePath = resolveRestartSentinelPath(env);
28580
28581
  try {
28581
- const raw = await fsPromises.readFile(filePath, "utf-8");
28582
+ const raw = await fs$1.readFile(filePath, "utf-8");
28582
28583
  let parsed;
28583
28584
  try {
28584
28585
  parsed = JSON.parse(raw);
28585
28586
  } catch {
28586
- await fsPromises.unlink(filePath).catch(() => {});
28587
+ await fs$1.unlink(filePath).catch(() => {});
28587
28588
  return null;
28588
28589
  }
28589
28590
  if (!parsed || parsed.version !== 1 || !parsed.payload) {
28590
- await fsPromises.unlink(filePath).catch(() => {});
28591
+ await fs$1.unlink(filePath).catch(() => {});
28591
28592
  return null;
28592
28593
  }
28593
28594
  return parsed;
@@ -28599,7 +28600,7 @@ async function consumeRestartSentinel(env = process.env) {
28599
28600
  const filePath = resolveRestartSentinelPath(env);
28600
28601
  const parsed = await readRestartSentinel(env);
28601
28602
  if (!parsed) return null;
28602
- await fsPromises.unlink(filePath).catch(() => {});
28603
+ await fs$1.unlink(filePath).catch(() => {});
28603
28604
  return parsed;
28604
28605
  }
28605
28606
  function formatRestartSentinelMessage(payload) {
@@ -38790,18 +38791,18 @@ function appendImagePathsToPrompt(prompt, paths) {
38790
38791
  return `${trimmed}${trimmed ? "\n\n" : ""}${paths.join("\n")}`;
38791
38792
  }
38792
38793
  async function writeCliImages(images) {
38793
- const tempDir = await fsPromises.mkdtemp(path.join(os.tmpdir(), "openclaw-cli-images-"));
38794
+ const tempDir = await fs$1.mkdtemp(path.join(os.tmpdir(), "openclaw-cli-images-"));
38794
38795
  const paths = [];
38795
38796
  for (let i = 0; i < images.length; i += 1) {
38796
38797
  const image = images[i];
38797
38798
  const ext = resolveImageExtension(image.mimeType);
38798
38799
  const filePath = path.join(tempDir, `image-${i + 1}.${ext}`);
38799
38800
  const buffer = Buffer.from(image.data, "base64");
38800
- await fsPromises.writeFile(filePath, buffer, { mode: 384 });
38801
+ await fs$1.writeFile(filePath, buffer, { mode: 384 });
38801
38802
  paths.push(filePath);
38802
38803
  }
38803
38804
  const cleanup = async () => {
38804
- await fsPromises.rm(tempDir, {
38805
+ await fs$1.rm(tempDir, {
38805
38806
  recursive: true,
38806
38807
  force: true
38807
38808
  });
@@ -42704,7 +42705,7 @@ async function deliverSessionMaintenanceWarning(params) {
42704
42705
  return;
42705
42706
  }
42706
42707
  try {
42707
- const { deliverOutboundPayloads } = await import("./deliver-H0xCFj4j.js").then((n) => n.n);
42708
+ const { deliverOutboundPayloads } = await import("./deliver-Df8pSQk6.js").then((n) => n.n);
42708
42709
  const outboundSession = buildOutboundSessionContext({
42709
42710
  cfg: params.cfg,
42710
42711
  sessionKey: params.sessionKey
@@ -43211,7 +43212,7 @@ async function stageSandboxMedia(params) {
43211
43212
  const remoteMediaCacheDir = ctx.MediaRemoteHost ? path.join(CONFIG_DIR, "media", "remote-cache", sessionKey) : null;
43212
43213
  const effectiveWorkspaceDir = sandbox?.workspaceDir ?? remoteMediaCacheDir;
43213
43214
  if (!effectiveWorkspaceDir) return;
43214
- await fsPromises.mkdir(effectiveWorkspaceDir, { recursive: true });
43215
+ await fs$1.mkdir(effectiveWorkspaceDir, { recursive: true });
43215
43216
  const remoteAttachmentRoots = resolveIMessageRemoteAttachmentRoots({
43216
43217
  cfg,
43217
43218
  accountId: ctx.AccountId
@@ -43270,8 +43271,8 @@ async function stageLocalFileIntoRoot(params) {
43270
43271
  }
43271
43272
  async function stageRemoteFileIntoRoot(params) {
43272
43273
  const tmpRoot = resolvePreferredOpenClawTmpDir();
43273
- await fsPromises.mkdir(tmpRoot, { recursive: true });
43274
- const tmpDir = await fsPromises.mkdtemp(path.join(tmpRoot, "stage-sandbox-media-"));
43274
+ await fs$1.mkdir(tmpRoot, { recursive: true });
43275
+ const tmpDir = await fs$1.mkdtemp(path.join(tmpRoot, "stage-sandbox-media-"));
43275
43276
  const tmpPath = path.join(tmpDir, "download");
43276
43277
  try {
43277
43278
  await scpFile(params.remoteHost, params.remotePath, tmpPath);
@@ -43282,7 +43283,7 @@ async function stageRemoteFileIntoRoot(params) {
43282
43283
  maxBytes: params.maxBytes
43283
43284
  });
43284
43285
  } finally {
43285
- await fsPromises.rm(tmpDir, {
43286
+ await fs$1.rm(tmpDir, {
43286
43287
  recursive: true,
43287
43288
  force: true
43288
43289
  }).catch(() => {});
@@ -47628,8 +47629,8 @@ async function describeStickerImage(params) {
47628
47629
  const { provider, model } = resolved;
47629
47630
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
47630
47631
  try {
47631
- const buffer = await fsPromises.readFile(imagePath);
47632
- const { describeImageWithModel } = await import("./image-BjuH1GKB.js").then((n) => n.n);
47632
+ const buffer = await fs$1.readFile(imagePath);
47633
+ const { describeImageWithModel } = await import("./image-UpBiPNsk.js").then((n) => n.n);
47633
47634
  return (await describeImageWithModel({
47634
47635
  buffer,
47635
47636
  fileName: "sticker.webp",
@@ -49218,7 +49219,7 @@ async function resolveDiscordPreflightAudioMentionContext(params) {
49218
49219
  const needsPreflightTranscription = !params.isDirectMessage && params.shouldRequireMention && hasAudioAttachment && !hasTypedText && params.mentionRegexes.length > 0;
49219
49220
  let transcript;
49220
49221
  if (needsPreflightTranscription) try {
49221
- const { transcribeFirstAudio } = await import("./audio-preflight-SRgix4XS.js");
49222
+ const { transcribeFirstAudio } = await import("./audio-preflight-Dl40LQzr.js");
49222
49223
  const audioUrls = audioAttachments.map((att) => att.url).filter((url) => typeof url === "string" && url.length > 0);
49223
49224
  if (audioUrls.length > 0) transcript = await transcribeFirstAudio({
49224
49225
  ctx: {
@@ -53794,27 +53795,27 @@ function createOutboundSendDepsFromCliSource(deps) {
53794
53795
  function createDefaultDeps() {
53795
53796
  return {
53796
53797
  sendMessageWhatsApp: async (...args) => {
53797
- const { sendMessageWhatsApp } = await import("./web-B4yuhy9a.js");
53798
+ const { sendMessageWhatsApp } = await import("./web-BKrNiKsU.js");
53798
53799
  return await sendMessageWhatsApp(...args);
53799
53800
  },
53800
53801
  sendMessageTelegram: async (...args) => {
53801
- const { sendMessageTelegram } = await import("./send-D0X-8aPh.js").then((n) => n.l);
53802
+ const { sendMessageTelegram } = await import("./send-sj8Hu26l.js").then((n) => n.l);
53802
53803
  return await sendMessageTelegram(...args);
53803
53804
  },
53804
53805
  sendMessageDiscord: async (...args) => {
53805
- const { sendMessageDiscord } = await import("./send-BTswySBz.js").then((n) => n.t);
53806
+ const { sendMessageDiscord } = await import("./send-BpXRh0BM.js").then((n) => n.t);
53806
53807
  return await sendMessageDiscord(...args);
53807
53808
  },
53808
53809
  sendMessageSlack: async (...args) => {
53809
- const { sendMessageSlack } = await import("./send-ZyB64ntO.js").then((n) => n.n);
53810
+ const { sendMessageSlack } = await import("./send-Cpaj_bKB.js").then((n) => n.n);
53810
53811
  return await sendMessageSlack(...args);
53811
53812
  },
53812
53813
  sendMessageSignal: async (...args) => {
53813
- const { sendMessageSignal } = await import("./send-CZ2O-5pP.js").then((n) => n.i);
53814
+ const { sendMessageSignal } = await import("./send-CQJKPGw4.js").then((n) => n.i);
53814
53815
  return await sendMessageSignal(...args);
53815
53816
  },
53816
53817
  sendMessageIMessage: async (...args) => {
53817
- const { sendMessageIMessage } = await import("./send-BCLu4NEE.js").then((n) => n.n);
53818
+ const { sendMessageIMessage } = await import("./send-e1X1pfda.js").then((n) => n.n);
53818
53819
  return await sendMessageIMessage(...args);
53819
53820
  }
53820
53821
  };
@@ -54955,10 +54956,10 @@ function estimateDurationSeconds(pcm) {
54955
54956
  return pcm.length / (bytesPerSample * SAMPLE_RATE);
54956
54957
  }
54957
54958
  async function writeWavFile(pcm) {
54958
- const tempDir = await fsPromises.mkdtemp(path.join(resolvePreferredOpenClawTmpDir(), "discord-voice-"));
54959
+ const tempDir = await fs$1.mkdtemp(path.join(resolvePreferredOpenClawTmpDir(), "discord-voice-"));
54959
54960
  const filePath = path.join(tempDir, `segment-${randomUUID()}.wav`);
54960
54961
  const wav = buildWavBuffer(pcm);
54961
- await fsPromises.writeFile(filePath, wav);
54962
+ await fs$1.writeFile(filePath, wav);
54962
54963
  scheduleTempCleanup(tempDir);
54963
54964
  return {
54964
54965
  path: filePath,
@@ -54967,7 +54968,7 @@ async function writeWavFile(pcm) {
54967
54968
  }
54968
54969
  function scheduleTempCleanup(tempDir, delayMs = 1800 * 1e3) {
54969
54970
  setTimeout(() => {
54970
- fsPromises.rm(tempDir, {
54971
+ fs$1.rm(tempDir, {
54971
54972
  recursive: true,
54972
54973
  force: true
54973
54974
  }).catch((err) => {
@@ -59264,7 +59265,7 @@ function normalizeAllowList$1(list) {
59264
59265
  async function detectRemoteHostFromCliPath(cliPath) {
59265
59266
  try {
59266
59267
  const expanded = cliPath.startsWith("~") ? cliPath.replace(/^~/, process.env.HOME ?? "") : cliPath;
59267
- const content = await fsPromises.readFile(expanded, "utf8");
59268
+ const content = await fs$1.readFile(expanded, "utf8");
59268
59269
  const userHostMatch = content.match(/\bssh\b[^\n]*?\s+([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+)/);
59269
59270
  if (userHostMatch) return userHostMatch[1];
59270
59271
  return content.match(/\bssh\b[^\n]*?\s+([a-zA-Z][a-zA-Z0-9._-]*)\s+\S*\bimsg\b/)?.[1];
@@ -65886,7 +65887,7 @@ function readSlackExternalArgMenuToken(raw) {
65886
65887
  }
65887
65888
  let commandsRegistry;
65888
65889
  async function getCommandsRegistry() {
65889
- if (!commandsRegistry) commandsRegistry = await import("./commands-registry-C78O6aNi.js").then((n) => n.n);
65890
+ if (!commandsRegistry) commandsRegistry = await import("./commands-registry-D0_D5hFV.js").then((n) => n.n);
65890
65891
  return commandsRegistry;
65891
65892
  }
65892
65893
  function encodeSlackCommandArgValue(parts) {
@@ -66216,14 +66217,14 @@ async function registerSlackMonitorSlashCommands(params) {
66216
66217
  const channelName = channelInfo?.name;
66217
66218
  const roomLabel = channelName ? `#${channelName}` : `#${command.channel_id}`;
66218
66219
  const [{ resolveAgentRoute }, { finalizeInboundContext }, { dispatchReplyWithDispatcher }] = await Promise.all([
66219
- import("./resolve-route-ByAwAiq5.js").then((n) => n.r),
66220
+ import("./resolve-route-Cnto8LMw.js").then((n) => n.r),
66220
66221
  import("./inbound-context-sjEbnCyN.js").then((n) => n.n),
66221
66222
  Promise.resolve().then(() => provider_dispatcher_exports)
66222
66223
  ]);
66223
66224
  const [{ resolveConversationLabel }, { createReplyPrefixOptions }, { recordInboundSessionMetaSafe }] = await Promise.all([
66224
66225
  import("./conversation-label-DarEmZ42.js").then((n) => n.t),
66225
- import("./reply-prefix-H_GSyyzN.js").then((n) => n.n),
66226
- import("./session-meta-Cew1QAYN.js").then((n) => n.n)
66226
+ import("./reply-prefix-DpXMFuAa.js").then((n) => n.n),
66227
+ import("./session-meta-DF1WT4cr.js").then((n) => n.n)
66227
66228
  ]);
66228
66229
  const route = resolveAgentRoute({
66229
66230
  cfg,
@@ -66288,9 +66289,9 @@ async function registerSlackMonitorSlashCommands(params) {
66288
66289
  });
66289
66290
  const deliverSlashPayloads = async (replies) => {
66290
66291
  const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
66291
- import("./replies-BDnb0prE.js").then((n) => n.r),
66292
+ import("./replies-Ckd7Lwt0.js").then((n) => n.r),
66292
66293
  import("./chunk-kLPohhLl.js").then((n) => n.s),
66293
- import("./markdown-tables-DQlQMRGZ.js").then((n) => n.t)
66294
+ import("./markdown-tables-BYHgyUjA.js").then((n) => n.t)
66294
66295
  ]);
66295
66296
  await deliverSlackSlashReplies({
66296
66297
  replies,
@@ -66343,7 +66344,7 @@ async function registerSlackMonitorSlashCommands(params) {
66343
66344
  let nativeCommands = [];
66344
66345
  if (nativeEnabled) {
66345
66346
  reg = await getCommandsRegistry();
66346
- const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-Cpr3Poo2.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
66347
+ const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-CYucDd3C.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
66347
66348
  nativeCommands = reg.listNativeCommandSpecsForConfig(cfg, {
66348
66349
  skillCommands,
66349
66350
  provider: "slack"
@@ -69252,7 +69253,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, replyMedia =
69252
69253
  const disableAudioPreflight = firstDefined$1(topicConfig?.disableAudioPreflight, groupConfig?.disableAudioPreflight) === true;
69253
69254
  let preflightTranscript;
69254
69255
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0 && !disableAudioPreflight) try {
69255
- const { transcribeFirstAudio } = await import("./audio-preflight-SRgix4XS.js");
69256
+ const { transcribeFirstAudio } = await import("./audio-preflight-Dl40LQzr.js");
69256
69257
  preflightTranscript = await transcribeFirstAudio({
69257
69258
  ctx: {
69258
69259
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -70614,7 +70615,7 @@ function resolveCommandHashPath(accountId, botIdentity) {
70614
70615
  }
70615
70616
  async function readCachedCommandHash(accountId, botIdentity) {
70616
70617
  try {
70617
- return (await fsPromises.readFile(resolveCommandHashPath(accountId, botIdentity), "utf-8")).trim();
70618
+ return (await fs$1.readFile(resolveCommandHashPath(accountId, botIdentity), "utf-8")).trim();
70618
70619
  } catch {
70619
70620
  return null;
70620
70621
  }
@@ -70622,8 +70623,8 @@ async function readCachedCommandHash(accountId, botIdentity) {
70622
70623
  async function writeCachedCommandHash(accountId, botIdentity, hash) {
70623
70624
  const filePath = resolveCommandHashPath(accountId, botIdentity);
70624
70625
  try {
70625
- await fsPromises.mkdir(path.dirname(filePath), { recursive: true });
70626
- await fsPromises.writeFile(filePath, hash, "utf-8");
70626
+ await fs$1.mkdir(path.dirname(filePath), { recursive: true });
70627
+ await fs$1.writeFile(filePath, hash, "utf-8");
70627
70628
  } catch {}
70628
70629
  }
70629
70630
  function syncTelegramMenuCommands(params) {
@@ -71461,7 +71462,7 @@ function safeParseState(raw) {
71461
71462
  async function readTelegramUpdateOffset(params) {
71462
71463
  const filePath = resolveTelegramUpdateOffsetPath(params.accountId, params.env);
71463
71464
  try {
71464
- const parsed = safeParseState(await fsPromises.readFile(filePath, "utf-8"));
71465
+ const parsed = safeParseState(await fs$1.readFile(filePath, "utf-8"));
71465
71466
  const expectedBotId = extractBotIdFromToken(params.botToken);
71466
71467
  if (expectedBotId && parsed?.botId && parsed.botId !== expectedBotId) return null;
71467
71468
  if (expectedBotId && parsed?.botId === null) return null;
@@ -71485,7 +71486,7 @@ async function writeTelegramUpdateOffset(params) {
71485
71486
  async function deleteTelegramUpdateOffset(params) {
71486
71487
  const filePath = resolveTelegramUpdateOffsetPath(params.accountId, params.env);
71487
71488
  try {
71488
- await fsPromises.unlink(filePath);
71489
+ await fs$1.unlink(filePath);
71489
71490
  } catch (err) {
71490
71491
  if (err.code === "ENOENT") return;
71491
71492
  throw err;
@@ -71959,7 +71960,7 @@ function createWhatsAppLoginTool() {
71959
71960
  force: Type.Optional(Type.Boolean())
71960
71961
  }),
71961
71962
  execute: async (_toolCallId, args) => {
71962
- const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-CRjZn3ix.js");
71963
+ const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-DujJqOuy.js");
71963
71964
  if ((args?.action ?? "start") === "wait") {
71964
71965
  const result = await waitForWebLogin({ timeoutMs: typeof args.timeoutMs === "number" ? args.timeoutMs : void 0 });
71965
71966
  return {
@@ -72034,23 +72035,23 @@ let webLoginQrPromise = null;
72034
72035
  let webChannelPromise = null;
72035
72036
  let whatsappActionsPromise = null;
72036
72037
  function loadWebOutbound() {
72037
- webOutboundPromise ??= import("./outbound-CHyBoNxD.js").then((n) => n.t);
72038
+ webOutboundPromise ??= import("./outbound-_RTZSBES.js").then((n) => n.t);
72038
72039
  return webOutboundPromise;
72039
72040
  }
72040
72041
  function loadWebLogin() {
72041
- webLoginPromise ??= import("./login-I5RlwiJn.js").then((n) => n.n);
72042
+ webLoginPromise ??= import("./login-C_YjM9eH.js").then((n) => n.n);
72042
72043
  return webLoginPromise;
72043
72044
  }
72044
72045
  function loadWebLoginQr() {
72045
- webLoginQrPromise ??= import("./login-qr-CRjZn3ix.js");
72046
+ webLoginQrPromise ??= import("./login-qr-DujJqOuy.js");
72046
72047
  return webLoginQrPromise;
72047
72048
  }
72048
72049
  function loadWebChannel() {
72049
- webChannelPromise ??= import("./web-B4yuhy9a.js");
72050
+ webChannelPromise ??= import("./web-BKrNiKsU.js");
72050
72051
  return webChannelPromise;
72051
72052
  }
72052
72053
  function loadWhatsAppActions() {
72053
- whatsappActionsPromise ??= import("./whatsapp-actions-DUoWY7mE.js");
72054
+ whatsappActionsPromise ??= import("./whatsapp-actions-CnjEOFOZ.js");
72054
72055
  return whatsappActionsPromise;
72055
72056
  }
72056
72057
  function createRuntimeWhatsApp() {
@@ -73093,7 +73094,7 @@ function resolvePluginTools(params) {
73093
73094
  //#endregion
73094
73095
  //#region src/agents/apply-patch-update.ts
73095
73096
  async function defaultReadFile(filePath) {
73096
- return fsPromises.readFile(filePath, "utf8");
73097
+ return fs$1.readFile(filePath, "utf8");
73097
73098
  }
73098
73099
  async function applyUpdateHunk(filePath, chunks, options) {
73099
73100
  const originalLines = (await (options?.readFile ?? defaultReadFile)(filePath).catch((err) => {
@@ -73414,7 +73415,7 @@ function resolvePatchFileOps(options) {
73414
73415
  const workspaceOnly = options.workspaceOnly !== false;
73415
73416
  return {
73416
73417
  readFile: async (filePath) => {
73417
- if (!workspaceOnly) return await fsPromises.readFile(filePath, "utf8");
73418
+ if (!workspaceOnly) return await fs$1.readFile(filePath, "utf8");
73418
73419
  const opened = await openBoundaryFile({
73419
73420
  absolutePath: filePath,
73420
73421
  rootPath: options.cwd,
@@ -73429,7 +73430,7 @@ function resolvePatchFileOps(options) {
73429
73430
  },
73430
73431
  writeFile: async (filePath, content) => {
73431
73432
  if (!workspaceOnly) {
73432
- await fsPromises.writeFile(filePath, content, "utf8");
73433
+ await fs$1.writeFile(filePath, content, "utf8");
73433
73434
  return;
73434
73435
  }
73435
73436
  const relative = toRelativeSandboxPath(options.cwd, filePath);
@@ -73440,8 +73441,8 @@ function resolvePatchFileOps(options) {
73440
73441
  encoding: "utf8"
73441
73442
  });
73442
73443
  },
73443
- remove: (filePath) => fsPromises.rm(filePath),
73444
- mkdirp: (dir) => fsPromises.mkdir(dir, { recursive: true }).then(() => {})
73444
+ remove: (filePath) => fs$1.rm(filePath),
73445
+ mkdirp: (dir) => fs$1.mkdir(dir, { recursive: true }).then(() => {})
73445
73446
  };
73446
73447
  }
73447
73448
  async function ensureDir(filePath, ops) {
@@ -73720,7 +73721,7 @@ async function recordLoopOutcome(args) {
73720
73721
  if (!args.ctx?.sessionKey) return;
73721
73722
  try {
73722
73723
  const { getDiagnosticSessionState } = await import("./diagnostic-session-state-Bwj7TezN.js");
73723
- const { recordToolCallOutcome } = await import("./tool-loop-detection-DLEs1CTw.js");
73724
+ const { recordToolCallOutcome } = await import("./tool-loop-detection-BUIIO4gy.js");
73724
73725
  recordToolCallOutcome(getDiagnosticSessionState({
73725
73726
  sessionKey: args.ctx.sessionKey,
73726
73727
  sessionId: args.ctx?.agentId
@@ -73741,8 +73742,8 @@ async function runBeforeToolCallHook(args) {
73741
73742
  const params = args.params;
73742
73743
  if (args.ctx?.sessionKey) {
73743
73744
  const { getDiagnosticSessionState } = await import("./diagnostic-session-state-Bwj7TezN.js");
73744
- const { logToolLoopAction } = await import("./diagnostic-DjxUqpmL.js").then((n) => n.n);
73745
- const { detectToolCallLoop, recordToolCall } = await import("./tool-loop-detection-DLEs1CTw.js");
73745
+ const { logToolLoopAction } = await import("./diagnostic-Bvatw1Xn.js").then((n) => n.n);
73746
+ const { detectToolCallLoop, recordToolCall } = await import("./tool-loop-detection-BUIIO4gy.js");
73746
73747
  const sessionState = getDiagnosticSessionState({
73747
73748
  sessionKey: args.ctx.sessionKey,
73748
73749
  sessionId: args.ctx?.agentId
@@ -74312,7 +74313,7 @@ function wrapHostEditToolWithPostWriteRecovery(base, root) {
74312
74313
  if (!pathParam || !newText) throw err;
74313
74314
  try {
74314
74315
  const absolutePath = resolveHostEditPath(root, pathParam);
74315
- const content = await fsPromises.readFile(absolutePath, "utf-8");
74316
+ const content = await fs$1.readFile(absolutePath, "utf-8");
74316
74317
  const hasNew = content.includes(newText);
74317
74318
  const stillHasOld = oldText !== void 0 && oldText.length > 0 && content.includes(oldText);
74318
74319
  if (hasNew && !stillHasOld) return {
@@ -74415,14 +74416,14 @@ function createSandboxEditOperations(params) {
74415
74416
  }
74416
74417
  async function writeHostFile(absolutePath, content) {
74417
74418
  const resolved = path.resolve(absolutePath);
74418
- await fsPromises.mkdir(path.dirname(resolved), { recursive: true });
74419
- await fsPromises.writeFile(resolved, content, "utf-8");
74419
+ await fs$1.mkdir(path.dirname(resolved), { recursive: true });
74420
+ await fs$1.writeFile(resolved, content, "utf-8");
74420
74421
  }
74421
74422
  function createHostWriteOperations(root, options) {
74422
74423
  if (!(options?.workspaceOnly ?? false)) return {
74423
74424
  mkdir: async (dir) => {
74424
74425
  const resolved = path.resolve(dir);
74425
- await fsPromises.mkdir(resolved, { recursive: true });
74426
+ await fs$1.mkdir(resolved, { recursive: true });
74426
74427
  },
74427
74428
  writeFile: writeHostFile
74428
74429
  };
@@ -74435,7 +74436,7 @@ function createHostWriteOperations(root, options) {
74435
74436
  cwd: root,
74436
74437
  root
74437
74438
  });
74438
- await fsPromises.mkdir(resolved, { recursive: true });
74439
+ await fs$1.mkdir(resolved, { recursive: true });
74439
74440
  },
74440
74441
  writeFile: async (absolutePath, content) => {
74441
74442
  await writeFileWithinRoot({
@@ -74451,12 +74452,12 @@ function createHostEditOperations(root, options) {
74451
74452
  if (!(options?.workspaceOnly ?? false)) return {
74452
74453
  readFile: async (absolutePath) => {
74453
74454
  const resolved = path.resolve(absolutePath);
74454
- return await fsPromises.readFile(resolved);
74455
+ return await fs$1.readFile(resolved);
74455
74456
  },
74456
74457
  writeFile: writeHostFile,
74457
74458
  access: async (absolutePath) => {
74458
74459
  const resolved = path.resolve(absolutePath);
74459
- await fsPromises.access(resolved);
74460
+ await fs$1.access(resolved);
74460
74461
  }
74461
74462
  };
74462
74463
  return {
@@ -75294,7 +75295,7 @@ async function repairSessionFileIfNeeded(params) {
75294
75295
  };
75295
75296
  let content;
75296
75297
  try {
75297
- content = await fsPromises.readFile(sessionFile, "utf-8");
75298
+ content = await fs$1.readFile(sessionFile, "utf-8");
75298
75299
  } catch (err) {
75299
75300
  if (err?.code === "ENOENT") return {
75300
75301
  repaired: false,
@@ -75342,15 +75343,15 @@ async function repairSessionFileIfNeeded(params) {
75342
75343
  const backupPath = `${sessionFile}.bak-${process.pid}-${Date.now()}`;
75343
75344
  const tmpPath = `${sessionFile}.repair-${process.pid}-${Date.now()}.tmp`;
75344
75345
  try {
75345
- const stat = await fsPromises.stat(sessionFile).catch(() => null);
75346
- await fsPromises.writeFile(backupPath, content, "utf-8");
75347
- if (stat) await fsPromises.chmod(backupPath, stat.mode);
75348
- await fsPromises.writeFile(tmpPath, cleaned, "utf-8");
75349
- if (stat) await fsPromises.chmod(tmpPath, stat.mode);
75350
- await fsPromises.rename(tmpPath, sessionFile);
75346
+ const stat = await fs$1.stat(sessionFile).catch(() => null);
75347
+ await fs$1.writeFile(backupPath, content, "utf-8");
75348
+ if (stat) await fs$1.chmod(backupPath, stat.mode);
75349
+ await fs$1.writeFile(tmpPath, cleaned, "utf-8");
75350
+ if (stat) await fs$1.chmod(tmpPath, stat.mode);
75351
+ await fs$1.rename(tmpPath, sessionFile);
75351
75352
  } catch (err) {
75352
75353
  try {
75353
- await fsPromises.unlink(tmpPath);
75354
+ await fs$1.unlink(tmpPath);
75354
75355
  } catch (cleanupErr) {
75355
75356
  params.warn?.(`session file repair cleanup failed: ${cleanupErr instanceof Error ? cleanupErr.message : "unknown error"} (${path.basename(tmpPath)})`);
75356
75357
  }
@@ -76951,7 +76952,7 @@ async function prewarmSessionFile(sessionFile) {
76951
76952
  if (!isSessionManagerCacheEnabled()) return;
76952
76953
  if (isSessionManagerCached(sessionFile)) return;
76953
76954
  try {
76954
- const handle = await fsPromises.open(sessionFile, "r");
76955
+ const handle = await fs$1.open(sessionFile, "r");
76955
76956
  try {
76956
76957
  const buffer = Buffer$1.alloc(4096);
76957
76958
  await handle.read(buffer, 0, buffer.length, 0);
@@ -77307,7 +77308,7 @@ async function compactEmbeddedPiSessionDirect(params) {
77307
77308
  } catch (err) {
77308
77309
  return fail(describeUnknownError(err));
77309
77310
  }
77310
- await fsPromises.mkdir(resolvedWorkspace, { recursive: true });
77311
+ await fs$1.mkdir(resolvedWorkspace, { recursive: true });
77311
77312
  const sandboxSessionKey = params.sessionKey?.trim() || params.sessionId;
77312
77313
  const sandbox = await resolveSandboxContext({
77313
77314
  config: params.config,
@@ -77315,7 +77316,7 @@ async function compactEmbeddedPiSessionDirect(params) {
77315
77316
  workspaceDir: resolvedWorkspace
77316
77317
  });
77317
77318
  const effectiveWorkspace = sandbox?.enabled ? sandbox.workspaceAccess === "rw" ? resolvedWorkspace : sandbox.workspaceDir : resolvedWorkspace;
77318
- await fsPromises.mkdir(effectiveWorkspace, { recursive: true });
77319
+ await fs$1.mkdir(effectiveWorkspace, { recursive: true });
77319
77320
  await ensureSessionHeader({
77320
77321
  sessionFile: params.sessionFile,
77321
77322
  sessionId: params.sessionId,
@@ -77820,6 +77821,30 @@ function createOpenAIDefaultTransportWrapper(baseStreamFn) {
77820
77821
  });
77821
77822
  };
77822
77823
  }
77824
+ function isManagedCustomOpenAiProvider(cfg, provider) {
77825
+ const providers = cfg?.models?.providers;
77826
+ if (!providers) return false;
77827
+ const normalizedProvider = normalizeProviderId(provider);
77828
+ for (const [providerId, providerConfig] of Object.entries(providers)) {
77829
+ if (normalizeProviderId(providerId) !== normalizedProvider) continue;
77830
+ if (normalizeProviderId(providerId) === BITSEEK_PROVIDER_ID) return false;
77831
+ if (providerConfig?.api !== "openai-completions") return false;
77832
+ if (typeof providerConfig.baseUrl !== "string" || !providerConfig.baseUrl.trim()) return false;
77833
+ if (!Array.isArray(providerConfig.models)) return false;
77834
+ return providerConfig.models.some((model) => typeof model?.id === "string" && model.id.trim());
77835
+ }
77836
+ return false;
77837
+ }
77838
+ function createUserAgentStripWrapper(baseStreamFn) {
77839
+ const underlying = baseStreamFn ?? streamSimple;
77840
+ return (model, context, options) => underlying(model, context, {
77841
+ ...options,
77842
+ headers: {
77843
+ ...options?.headers,
77844
+ "User-Agent": null
77845
+ }
77846
+ });
77847
+ }
77823
77848
  function isAnthropic1MModel(modelId) {
77824
77849
  const normalized = modelId.trim().toLowerCase();
77825
77850
  return ANTHROPIC_1M_MODEL_PREFIXES.some((prefix) => normalized.startsWith(prefix));
@@ -78166,6 +78191,10 @@ function applyExtraParamsToAgent(agent, cfg, provider, modelId, extraParamsOverr
78166
78191
  }
78167
78192
  agent.streamFn = createGoogleThinkingPayloadWrapper(agent.streamFn, thinkingLevel);
78168
78193
  agent.streamFn = createOpenAIResponsesContextManagementWrapper(agent.streamFn, merged);
78194
+ if (isManagedCustomOpenAiProvider(cfg, provider)) {
78195
+ log$3.debug(`stripping User-Agent for custom OpenAI-compatible provider ${provider}/${modelId}`);
78196
+ agent.streamFn = createUserAgentStripWrapper(agent.streamFn);
78197
+ }
78169
78198
  }
78170
78199
 
78171
78200
  //#endregion
@@ -78197,12 +78226,12 @@ function getQueuedFileWriter(writers, filePath) {
78197
78226
  const existing = writers.get(filePath);
78198
78227
  if (existing) return existing;
78199
78228
  const dir = path.dirname(filePath);
78200
- const ready = fsPromises.mkdir(dir, { recursive: true }).catch(() => void 0);
78229
+ const ready = fs$1.mkdir(dir, { recursive: true }).catch(() => void 0);
78201
78230
  let queue = Promise.resolve();
78202
78231
  const writer = {
78203
78232
  filePath,
78204
78233
  write: (line) => {
78205
- queue = queue.then(() => ready).then(() => fsPromises.appendFile(filePath, line, "utf8")).catch(() => void 0);
78234
+ queue = queue.then(() => ready).then(() => fs$1.appendFile(filePath, line, "utf8")).catch(() => void 0);
78206
78235
  }
78207
78236
  };
78208
78237
  writers.set(filePath, writer);
@@ -81120,7 +81149,7 @@ async function prepareSessionManagerForRun(params) {
81120
81149
  return;
81121
81150
  }
81122
81151
  if (params.hadSessionFile && header && !hasAssistant) {
81123
- await fsPromises.writeFile(params.sessionFile, "", "utf-8");
81152
+ await fs$1.writeFile(params.sessionFile, "", "utf-8");
81124
81153
  sm.fileEntries = [header];
81125
81154
  sm.byId?.clear?.();
81126
81155
  sm.labelsById?.clear?.();
@@ -81854,7 +81883,7 @@ async function runEmbeddedAttempt(params) {
81854
81883
  const prevCwd = process.cwd();
81855
81884
  const runAbortController = new AbortController();
81856
81885
  log$3.debug(`embedded run start: runId=${params.runId} sessionId=${params.sessionId} provider=${params.provider} model=${params.modelId} thinking=${params.thinkLevel} messageChannel=${params.messageChannel ?? params.messageProvider ?? "unknown"}`);
81857
- await fsPromises.mkdir(resolvedWorkspace, { recursive: true });
81886
+ await fs$1.mkdir(resolvedWorkspace, { recursive: true });
81858
81887
  const sandboxSessionKey = params.sessionKey?.trim() || params.sessionId;
81859
81888
  const sandbox = await resolveSandboxContext({
81860
81889
  config: params.config,
@@ -81862,7 +81891,7 @@ async function runEmbeddedAttempt(params) {
81862
81891
  workspaceDir: resolvedWorkspace
81863
81892
  });
81864
81893
  const effectiveWorkspace = sandbox?.enabled ? sandbox.workspaceAccess === "rw" ? resolvedWorkspace : sandbox.workspaceDir : resolvedWorkspace;
81865
- await fsPromises.mkdir(effectiveWorkspace, { recursive: true });
81894
+ await fs$1.mkdir(effectiveWorkspace, { recursive: true });
81866
81895
  let restoreSkillEnv;
81867
81896
  process.chdir(effectiveWorkspace);
81868
81897
  try {
@@ -82106,7 +82135,7 @@ async function runEmbeddedAttempt(params) {
82106
82135
  sessionFile: params.sessionFile,
82107
82136
  warn: (message) => log$3.warn(message)
82108
82137
  });
82109
- const hadSessionFile = await fsPromises.stat(params.sessionFile).then(() => true).catch(() => false);
82138
+ const hadSessionFile = await fs$1.stat(params.sessionFile).then(() => true).catch(() => false);
82110
82139
  const transcriptPolicy = resolveTranscriptPolicy({
82111
82140
  modelApi: params.model?.api,
82112
82141
  provider: params.provider,
@@ -82984,15 +83013,16 @@ async function runEmbeddedPiAgent(params) {
82984
83013
  modelContextWindow: model.contextWindow,
82985
83014
  defaultTokens: DEFAULT_CONTEXT_TOKENS
82986
83015
  });
83016
+ const hardMinTokens = resolveContextWindowHardMinTokens(provider);
82987
83017
  const ctxGuard = evaluateContextWindowGuard({
82988
83018
  info: ctxInfo,
82989
83019
  warnBelowTokens: CONTEXT_WINDOW_WARN_BELOW_TOKENS,
82990
- hardMinTokens: CONTEXT_WINDOW_HARD_MIN_TOKENS
83020
+ hardMinTokens
82991
83021
  });
82992
83022
  if (ctxGuard.shouldWarn) log$3.warn(`low context window: ${provider}/${modelId} ctx=${ctxGuard.tokens} (warn<${CONTEXT_WINDOW_WARN_BELOW_TOKENS}) source=${ctxGuard.source}`);
82993
83023
  if (ctxGuard.shouldBlock) {
82994
- log$3.error(`blocked model (context window too small): ${provider}/${modelId} ctx=${ctxGuard.tokens} (min=${CONTEXT_WINDOW_HARD_MIN_TOKENS}) source=${ctxGuard.source}`);
82995
- throw new FailoverError(`Model context window too small (${ctxGuard.tokens} tokens). Minimum is ${CONTEXT_WINDOW_HARD_MIN_TOKENS}.`, {
83024
+ log$3.error(`blocked model (context window too small): ${provider}/${modelId} ctx=${ctxGuard.tokens} (min=${hardMinTokens}) source=${ctxGuard.source}`);
83025
+ throw new FailoverError(`Model context window too small (${ctxGuard.tokens} tokens). Minimum is ${hardMinTokens}.`, {
82996
83026
  reason: "unknown",
82997
83027
  provider,
82998
83028
  model: modelId
@@ -83248,7 +83278,7 @@ async function runEmbeddedPiAgent(params) {
83248
83278
  const copilotAuthRetry = authRetryPending;
83249
83279
  authRetryPending = false;
83250
83280
  attemptedThinking.add(thinkLevel);
83251
- await fsPromises.mkdir(resolvedWorkspace, { recursive: true });
83281
+ await fs$1.mkdir(resolvedWorkspace, { recursive: true });
83252
83282
  const prompt = provider === "anthropic" ? scrubAnthropicRefusalMagic(params.prompt) : params.prompt;
83253
83283
  const attempt = await runEmbeddedAttempt({
83254
83284
  sessionId: params.sessionId,