@bitseek/claw 1.2.7 → 1.2.9
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.
- package/dist/{accounts-B3zSNWIv.js → accounts-2NNZ6Hbp.js} +1 -1
- package/dist/{accounts-BQHz8_1_.js → accounts-Cv5CUnT4.js} +7 -7
- package/dist/{accounts-DTfEeXyO.js → accounts-NHpMJ0aq.js} +1 -1
- package/dist/{acp-cli-C24-lylb.js → acp-cli-CyPiQ0lt.js} +8 -8
- package/dist/{agent-scope-CJelRKYY.js → agent-scope-CY2-lUIY.js} +1 -1
- package/dist/{agents-BCJbDk2P.js → agents-BC3wwrO-.js} +15 -15
- package/dist/{agents.config-DoxV5m9v.js → agents.config-CeG5P331.js} +2 -2
- package/dist/{agents.config-DQBEXhzA.js → agents.config-rRQ8xZUr.js} +1 -1
- package/dist/{api-key-rotation-xfk-b2Sv.js → api-key-rotation-Cf7QM5M_.js} +1 -1
- package/dist/{audio-preflight-Dd9DDvqB.js → audio-preflight-BWOdDA2n.js} +4 -4
- package/dist/{audio-preflight-Dl40LQzr.js → audio-preflight-iuCPDl1D.js} +36 -36
- package/dist/{audio-transcription-runner-jiDE7Pt8.js → audio-transcription-runner-CGADiTRL.js} +22 -22
- package/dist/{audio-transcription-runner-Bx53bUS2.js → audio-transcription-runner-DaoqvWoi.js} +1 -1
- package/dist/{audit-Bgu8Ommg.js → audit-Bjz6AFn-.js} +29 -29
- package/dist/{auth-B3HDYw4G.js → auth-anvTU0Sb.js} +1 -1
- package/dist/{auth-choice-DYXCDlGW.js → auth-choice-Co_Dl_bs.js} +14 -14
- package/dist/{auth-choice-CP6K5htW.js → auth-choice-Dx1VT2I8.js} +12 -12
- package/dist/{auth-choice-CdsMUqKA.js → auth-choice-eimtfK0N.js} +1 -1
- package/dist/{auth-choice.apply-helpers-DR-eUj_5.js → auth-choice.apply-helpers-Du585kvU.js} +1 -1
- package/dist/{auth-profiles-D_x1_5v_.js → auth-profiles-CyG9VwU_.js} +16 -16
- package/dist/{auth-token-BDQ5b9Wx.js → auth-token-Cfvmvs2X.js} +1 -1
- package/dist/{banner-V_1v329B.js → banner-7O0OkDQ4.js} +2 -2
- package/dist/{bindings-Hx6KNJeg.js → bindings-DGvp9FdD.js} +1 -1
- package/dist/{bonjour-discovery-DiHs5j0y.js → bonjour-discovery-Dv9UQh6g.js} +1 -1
- package/dist/{browser-cli-BMupJSz_.js → browser-cli-C1OEYX9g.js} +12 -12
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +6 -6
- package/dist/bundled/session-memory/handler.js +6 -6
- package/dist/{call-CzoM7hPS.js → call-CmAGfSJE.js} +10 -10
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{channel-account-context-BV3Q0XnD.js → channel-account-context-BrHQ7XHF.js} +5 -5
- package/dist/{channel-options-Dsjb-V1F.js → channel-options-BnZ1nSBu.js} +3 -3
- package/dist/{channel-options-Bnnem_wD.js → channel-options-uEYF4WRA.js} +1 -1
- package/dist/{channel-selection-D8KYuWir.js → channel-selection-DGtYwfd7.js} +1 -1
- package/dist/{channel-web-KY6EP9HT.js → channel-web-BJJUEEKO.js} +1 -1
- package/dist/{channel-web-wuxrfEJh.js → channel-web-lHPdbnjv.js} +18 -18
- package/dist/{channels-cli-OZeQkPMG.js → channels-cli-DEE_p7e9.js} +95 -95
- package/dist/{channels-cli-tJkvzsqO.js → channels-cli-GwM8DZvP.js} +6 -6
- package/dist/{channels-status-issues-CCNiQcg9.js → channels-status-issues-BWcKByy7.js} +1 -1
- package/dist/{chrome-C6zMSR36.js → chrome-CjTE-vWv.js} +8 -8
- package/dist/{chrome-DuDCGdf-.js → chrome-DeZyLFsG.js} +4 -4
- package/dist/{clawbot-cli-COQB6-NK.js → clawbot-cli-C6oL4o77.js} +5 -5
- package/dist/cli/daemon-cli.js +1 -1
- package/dist/{cli-DOS1lPNs.js → cli-BLZW83kS.js} +1 -1
- package/dist/{cli-YeYpjq2c.js → cli-CD5xP9w9.js} +76 -76
- package/dist/{client-BvL3EdiZ.js → client-vUKV2o6h.js} +2 -2
- package/dist/{command-registry-Ce2f2xlT.js → command-registry-B41say0S.js} +13 -13
- package/dist/{commands-C67IbXs7.js → commands-d8L0zY8O.js} +1 -1
- package/dist/{commands-registry-D0_D5hFV.js → commands-registry-C78O6aNi.js} +3 -3
- package/dist/{completion-cli-9Y73fGUi.js → completion-cli-BuLkcc9o.js} +1 -1
- package/dist/{completion-cli-BmyLEw45.js → completion-cli-DSxTjQik.js} +13 -13
- package/dist/{config-cli-hwawfBlS.js → config-cli-BMtY1oFI.js} +7 -7
- package/dist/{config-cli-DZpbwWvz.js → config-cli-D4EnfBqh.js} +1 -1
- package/dist/{config-guard-CcE0LvHm.js → config-guard-Bztdn_pu.js} +3 -3
- package/dist/{config-validation-DO7QURfM.js → config-validation-CAkiRwLK.js} +3 -3
- package/dist/{configure-CLMtWGiL.js → configure-CBB1YbMN.js} +3 -3
- package/dist/{configure-l-lM74c1.js → configure-Dz9z2cyD.js} +17 -17
- package/dist/control-ui/assets/{index-CKSSOzJL.js → index-puDi2eTY.js} +2 -2
- package/dist/control-ui/assets/index-puDi2eTY.js.map +1 -0
- package/dist/control-ui/brand.png +0 -0
- package/dist/control-ui/index.html +4 -5
- package/dist/{control-ui-assets-Dx8wiZQ_.js → control-ui-assets-BGvtXBkm.js} +1 -1
- package/dist/{cron-cli-xl75rAFd.js → cron-cli-nslB2EKF.js} +12 -12
- package/dist/{daemon-cli-BSy0rtO2.js → daemon-cli-D8I8RTf0.js} +15 -15
- package/dist/{daemon-install-d2OYSlQz.js → daemon-install-CKree1OU.js} +4 -4
- package/dist/{daemon-install-helpers-D28keNLu.js → daemon-install-helpers-CBCbs7y1.js} +11 -11
- package/dist/{dashboard-DXvihe_P.js → dashboard-dc7KG5Fm.js} +2 -2
- package/dist/{deliver-Df8pSQk6.js → deliver-BRwFsEUd.js} +7 -7
- package/dist/{deliver-DXa06hfk.js → deliver-xY3h9X6N.js} +1 -1
- package/dist/{devices-cli-D6CoUTi_.js → devices-cli-jakb5Fk0.js} +8 -8
- package/dist/{diagnostic-Bvatw1Xn.js → diagnostic-DjxUqpmL.js} +1 -1
- package/dist/{diagnostics-ABz8E7c-.js → diagnostics-DR9Z0mN5.js} +5 -5
- package/dist/{directory-cli-Dkil59xj.js → directory-cli-3FgAtenS.js} +8 -8
- package/dist/{dns-cli-CJydclW8.js → dns-cli-DUsjD4em.js} +5 -5
- package/dist/{dock-DT8sACcR.js → dock-CoclJnwp.js} +4 -4
- package/dist/{docs-cli-BkufgU5Y.js → docs-cli-CpIeooaU.js} +4 -4
- package/dist/{doctor-completion-CWm9ZwKY.js → doctor-completion-BIt5xBwC.js} +1 -1
- package/dist/{doctor-completion-_GRkzsCa.js → doctor-completion-BSR7Om4e.js} +2 -2
- package/dist/{doctor-config-flow-BrXA2e34.js → doctor-config-flow-DUdUJgfq.js} +15 -15
- package/dist/{enable-CinNZxRH.js → enable-BNycqpJc.js} +1 -1
- package/dist/entry.js +2 -2
- package/dist/{exec-approvals-allowlist-B4DS6FIn.js → exec-approvals-allowlist-CFjPSbxI.js} +1 -1
- package/dist/{exec-approvals-cli-Cani2Hjk.js → exec-approvals-cli-D8lFWgJj.js} +16 -16
- package/dist/{exec-safe-bin-runtime-policy-BP6ImlkB.js → exec-safe-bin-runtime-policy-CpMj95vJ.js} +2 -2
- package/dist/extensionAPI.js +1 -1
- package/dist/{fetch-DC-NMnAU.js → fetch-DOjg912W.js} +3 -3
- package/dist/{fetch-guard-B62rgaSw.js → fetch-guard-Csbz9pui.js} +1 -1
- package/dist/{fs-safe-CJDtl_QU.js → fs-safe-BqJ9egpm.js} +24 -24
- package/dist/{gateway-cli-DRM2vzxA.js → gateway-cli-CanylfLh.js} +22 -12
- package/dist/{gateway-cli-CSL5V3uF.js → gateway-cli-VrzgkvsB.js} +175 -165
- package/dist/{gateway-rpc-C7KYwonl.js → gateway-rpc-B5Spvviy.js} +1 -1
- package/dist/{health-Du8dO3vn.js → health-BX20asqJ.js} +1 -1
- package/dist/{health-CDEXWvnu.js → health-D4cJIlo7.js} +14 -14
- package/dist/{hooks-cli-Deo01lF6.js → hooks-cli-BPg6BqOl.js} +84 -84
- package/dist/{hooks-cli-DUIQuGjr.js → hooks-cli-Cs2Ovk-O.js} +2 -2
- package/dist/{hooks-status-DE20AAEu.js → hooks-status-6tcOdcYp.js} +1 -1
- package/dist/{image-UpBiPNsk.js → image-CI4JYwnc.js} +5 -5
- package/dist/{image-Dd4lgi4H.js → image-DCyaYY2d.js} +1 -1
- package/dist/{image-ops-BGTBZMuE.js → image-ops-B2L37gT8.js} +10 -10
- package/dist/index.js +6 -6
- package/dist/{inspect-Bmurt9te.js → inspect-BzuEXYfa.js} +4 -4
- package/dist/{install-safe-path-BB9b_AvF.js → install-safe-path-C8QJ5yjB.js} +25 -25
- package/dist/{installs-BXcYytvn.js → installs-CWbEA1d1.js} +9 -9
- package/dist/{ipv4-BB1Ro6so.js → ipv4-DQS0lTwQ.js} +1 -1
- package/dist/{ir-DziC-P4Z.js → ir-CEwBpxhC.js} +6 -6
- package/dist/{issue-format-DF2YB-kZ.js → issue-format-D8MobWNt.js} +1 -1
- package/dist/{json-files-CuJjdF_0.js → json-files-rR19q30D.js} +8 -8
- package/dist/{lifecycle-core-CJd181-h.js → lifecycle-core-CiAE4s92.js} +5 -5
- package/dist/llm-slug-generator.js +6 -6
- package/dist/{login-C_YjM9eH.js → login-CdHg3Emc.js} +3 -3
- package/dist/{login-qr-DujJqOuy.js → login-qr-DXecO0Tb.js} +6 -6
- package/dist/{logs-cli-Bc1A5X-r.js → logs-cli-D8UCmwyR.js} +9 -9
- package/dist/{manager-7hZXEYTj.js → manager-DWpiNvlg.js} +14 -14
- package/dist/{manifest-registry-Kbw8YPsZ.js → manifest-registry-CBF8Vfz8.js} +1 -1
- package/dist/{markdown-tables-BYHgyUjA.js → markdown-tables-DQlQMRGZ.js} +1 -1
- package/dist/{memory-cli-CuT-iG2F.js → memory-cli-BUrf60e_.js} +12 -12
- package/dist/{model-DmBmzJI6.js → model-DMZUvZJo.js} +2 -2
- package/dist/{model-catalog-D1X8r3WJ.js → model-catalog-DFi9HgWu.js} +3 -3
- package/dist/{model-picker-C56N_rW7.js → model-picker-Dt7Rl38k.js} +4 -4
- package/dist/{models-CgguB_MH.js → models-CukrcW4u.js} +18 -18
- package/dist/{models-cli-CHUbcM_y.js → models-cli-C-FMLbe_.js} +2 -2
- package/dist/{models-cli-BEb0DHSP.js → models-cli-DTjBGjrI.js} +81 -81
- package/dist/{models-config-CmrBGsQs.js → models-config-AePb9RAo.js} +6 -6
- package/dist/{net-BXeYv7Iu.js → net-C75G4fup.js} +2 -2
- package/dist/{node-cli-DSoqxwqZ.js → node-cli-D4Tj8JOq.js} +33 -33
- package/dist/{node-command-policy-pJ6IPNBA.js → node-command-policy-BZq5AebG.js} +1 -1
- package/dist/{node-service-DUUObpwl.js → node-service-B0FIwOsW.js} +1 -1
- package/dist/{nodes-cli-BKGcOJ8A.js → nodes-cli-DL-855N8.js} +16 -16
- package/dist/{nodes-screen-DcxCMjOs.js → nodes-screen-BHwVUMr8.js} +7 -7
- package/dist/{npm-pack-install-D5pJ8KzT.js → npm-pack-install-qErvgXGZ.js} +18 -18
- package/dist/{npm-resolution-T8SphiP5.js → npm-resolution-C_FZOBlT.js} +5 -5
- package/dist/{npm-resolution-Dv7nYiaP.js → npm-resolution-oBSNTx2S.js} +1 -1
- package/dist/{onboard-ATkjPZXm.js → onboard-B-f5pmgG.js} +2 -2
- package/dist/{onboard-BuGv9f2N.js → onboard-DktYC_iu.js} +6 -6
- package/dist/{onboard-channels-CRpmgX82.js → onboard-channels-Bbzz_NPd.js} +1 -1
- package/dist/{onboard-channels-BLZ8FdVP.js → onboard-channels-DGipWl1h.js} +20 -20
- package/dist/{onboard-custom-CZR1K96w.js → onboard-custom-B5F-69pM.js} +3 -3
- package/dist/{onboard-custom.shared-B9NXcXpv.js → onboard-custom.shared-CBgv6y4h.js} +2 -2
- package/dist/{onboard-helpers-CczYNQDJ.js → onboard-helpers-D8lLbK3A.js} +11 -11
- package/dist/{onboard-hooks-o0B0p8tR.js → onboard-hooks-DBif0Jq8.js} +4 -4
- package/dist/{onboard-remote-DtLQyBJB.js → onboard-remote-loJ1Jn9Q.js} +3 -3
- package/dist/{onboard-skills-Brzj5oDF.js → onboard-skills-JtcIUHsb.js} +4 -4
- package/dist/{onboarding-BAaREMfO.js → onboarding-D0IraL8k.js} +13 -13
- package/dist/{onboarding-BvdtFAPe.js → onboarding-Kp0zZunD.js} +3 -3
- package/dist/{onboarding.finalize-dkwktLJD.js → onboarding.finalize-CJ23anMx.js} +5 -5
- package/dist/{onboarding.finalize-CV7n10lP.js → onboarding.finalize-DHitw2tg.js} +89 -89
- package/dist/{onboarding.gateway-config-D-gZxjbU.js → onboarding.gateway-config-uLDVSdpl.js} +18 -18
- package/dist/{openai-model-default-BNYNbslY.js → openai-model-default-B1Dlue6a.js} +2 -2
- package/dist/{outbound-_RTZSBES.js → outbound-BZyqP8d-.js} +4 -4
- package/dist/{outbound-attachment-CXINK8df.js → outbound-attachment-DM-h2uQ1.js} +2 -2
- package/dist/{pairing-cli-DiKgOlKC.js → pairing-cli-DR836bYa.js} +9 -9
- package/dist/{pairing-labels-CFSUHOmk.js → pairing-labels-x4akYNb7.js} +1 -1
- package/dist/{pairing-store-BfzlN-z9.js → pairing-store-rFuiIoGM.js} +3 -3
- package/dist/{path-alias-guards-Cg9ZP1NN.js → path-alias-guards-laKq24fx.js} +3 -3
- package/dist/{path-safety-__ACzYqx.js → path-safety-Cr4WZsHE.js} +1 -1
- package/dist/{paths-BjoSX1aC.js → paths-B_L2Zoe-.js} +9 -9
- package/dist/{pi-embedded-DKX65Hec.js → pi-embedded-BgVoy_Nm.js} +62 -26
- package/dist/{pi-embedded-Claxav22.js → pi-embedded-DdMbqfLM.js} +42 -6
- package/dist/{pi-embedded-helpers-CrD8I6qf.js → pi-embedded-helpers-CEMPdfif.js} +6 -6
- package/dist/{pi-embedded-helpers-BErNo2oq.js → pi-embedded-helpers-CMTVhLjq.js} +3 -3
- package/dist/{pi-model-discovery-BZ2RCD_u.js → pi-model-discovery-RrejIg26.js} +1 -1
- package/dist/{pi-tools.policy-upaoJyu4.js → pi-tools.policy-dUeXHcQL.js} +5 -5
- package/dist/{plugin-auto-enable-DER6qA6X.js → plugin-auto-enable-S_lBQAKI.js} +3 -3
- package/dist/{plugin-registry-CxFikiLF.js → plugin-registry-CIUGSWLT.js} +3 -3
- package/dist/{plugin-registry-TOEmbMc4.js → plugin-registry-pa6LjTdT.js} +1 -1
- package/dist/plugin-sdk/agents/context.d.ts +2 -0
- package/dist/plugin-sdk/{channel-web-O79O_ah6.js → channel-web-BaFUnG0F.js} +1 -1
- package/dist/plugin-sdk/index.js +2 -2
- package/dist/plugin-sdk/{reply-YZQvouuF.js → reply-BCRC0yeW.js} +42 -6
- package/dist/plugin-sdk/{web-jmxdxo0H.js → web-BDHHRoXS.js} +2 -2
- package/dist/{plugins-vsjS_m58.js → plugins-C4cYqW07.js} +2 -2
- package/dist/{plugins-cli-Clo_uyvq.js → plugins-cli-CqDquUh9.js} +2 -2
- package/dist/{plugins-cli-bHHZzKd-.js → plugins-cli-DnLeUBfn.js} +86 -86
- package/dist/{ports-sCOQUaAP.js → ports-DRaxdQmm.js} +2 -2
- package/dist/{ports-zWusnrvP.js → ports-tfS1haOJ.js} +1 -1
- package/dist/{program-Br-upXE-.js → program-3T_oL3TY.js} +84 -84
- package/dist/{program-context-B7eOpdoF.js → program-context-D2U9PEv9.js} +17 -17
- package/dist/{prompt-select-styled-CPPwmToI.js → prompt-select-styled-Bir77erd.js} +4 -4
- package/dist/{prompt-select-styled-BpKwjfWa.js → prompt-select-styled-BylOR7bV.js} +39 -39
- package/dist/{provider-auth-helpers-BFsLtU8g.js → provider-auth-helpers-BEFKXIJE.js} +5 -5
- package/dist/{provider-auth-helpers-D_akOb8A.js → provider-auth-helpers-fK9RpOiF.js} +1 -1
- package/dist/{proxy-env-BQIJPH4j.js → proxy-env-BoopXu2J.js} +1 -1
- package/dist/{push-apns-DvNRo3EQ.js → push-apns-C7oC1J4F.js} +1 -1
- package/dist/{push-apns-BSlKJa83.js → push-apns-sUecrS7L.js} +5 -5
- package/dist/{pw-ai-BeJ_96rV.js → pw-ai-CG7D8D2P.js} +15 -15
- package/dist/{pw-ai-pkfCxzhV.js → pw-ai-DGwA7iCM.js} +1 -1
- package/dist/{qmd-manager-BNohLpRA.js → qmd-manager-Bo22w5wm.js} +20 -20
- package/dist/{qr-cli-CCHyao8J.js → qr-cli-DiKa2ySu.js} +1 -1
- package/dist/{query-expansion-BrM3X6-L.js → query-expansion-Ba9OpCm9.js} +12 -12
- package/dist/{redact-snapshot-C1Yp9Q7B.js → redact-snapshot-Dioor4fY.js} +1 -1
- package/dist/{register.agent-DowGjvNc.js → register.agent-DVy4TdwU.js} +6 -6
- package/dist/{register.agent-C-OmdJMe.js → register.agent-FAGOpOS3.js} +97 -97
- package/dist/{register.configure-BZLa_c3k.js → register.configure-BzG1EPPb.js} +7 -7
- package/dist/register.configure-aZwsNSkf.js +175 -0
- package/dist/{register.init-B1pIa3ys.js → register.init-B-wUDJAX.js} +15 -15
- package/dist/{register.maintenance-D3hGsmW7.js → register.maintenance-B6f_YUQN.js} +99 -99
- package/dist/{register.maintenance-DlVX7oGZ.js → register.maintenance-ClYMbiJl.js} +7 -7
- package/dist/{register.message-DE-eKss6.js → register.message-BkAe3KaX.js} +2 -2
- package/dist/{register.message-5hKmcWaB.js → register.message-WkJ5viuk.js} +77 -77
- package/dist/{register.onboard-BSOSCu5a.js → register.onboard-BUBCEjZ_.js} +2 -2
- package/dist/{register.onboard-BLl4Er9V.js → register.onboard-DvpF9feG.js} +18 -18
- package/dist/{register.setup-NLg11E_9.js → register.setup-CA7jtsG8.js} +21 -21
- package/dist/{register.setup-CvAXGVEU.js → register.setup-Dlmt8cdD.js} +2 -2
- package/dist/{register.start-CyYd_xbF.js → register.start-3Hnjf8NZ.js} +17 -17
- package/dist/{register.status-health-sessions-Cbva8fTK.js → register.status-health-sessions-BfIwzFQw.js} +3 -3
- package/dist/{register.status-health-sessions-lOM_lb6H.js → register.status-health-sessions-CY2i61By.js} +91 -91
- package/dist/{register.subclis-Zhshg_9Y.js → register.subclis-D72jBDzj.js} +31 -31
- package/dist/{replies-Ckd7Lwt0.js → replies-BDnb0prE.js} +1 -1
- package/dist/{reply-D8Yu6-Ie.js → reply-BOAv4F33.js} +42 -6
- package/dist/{reply-prefix-DpXMFuAa.js → reply-prefix-H_GSyyzN.js} +1 -1
- package/dist/{resolve-route-Cnto8LMw.js → resolve-route-ByAwAiq5.js} +2 -2
- package/dist/{rpc-CnRUZWNJ.js → rpc-DQa5fiBV.js} +1 -1
- package/dist/{run-main-CiC7Az8U.js → run-main-DOntWJzb.js} +95 -95
- package/dist/{runtime-D4y0Gdfj.js → runtime-D-Knnx0g.js} +2 -2
- package/dist/{sandbox-Tai-w14a.js → sandbox-DI_zIUpo.js} +18 -18
- package/dist/{sandbox-cli-uwsF36Ea.js → sandbox-cli-Cn6OxK6L.js} +26 -26
- package/dist/{secrets-cli-DzeSuhpa.js → secrets-cli-Cf2fFK2m.js} +10 -10
- package/dist/{security-cli-Dzelqio0.js → security-cli-DS-dXNUv.js} +43 -43
- package/dist/{send-e1X1pfda.js → send-BCLu4NEE.js} +6 -6
- package/dist/{send-BpXRh0BM.js → send-BTswySBz.js} +11 -11
- package/dist/{send-CQJKPGw4.js → send-CZ2O-5pP.js} +6 -6
- package/dist/{send-sj8Hu26l.js → send-D0X-8aPh.js} +8 -8
- package/dist/{send-Cpaj_bKB.js → send-ZyB64ntO.js} +5 -5
- package/dist/{server-Cr92VI8t.js → server-C88L-6UW.js} +19 -19
- package/dist/{server-context-YLHmGfYV.js → server-context-CjPCwa4T.js} +12 -12
- package/dist/{server-lifecycle-B23lXM3Y.js → server-lifecycle-HLBzAVdX.js} +2 -2
- package/dist/{server-middleware-CKSnhiM2.js → server-middleware-DHxnFjIL.js} +1 -1
- package/dist/{server-node-events-yFZiE04b.js → server-node-events-CyVS1c_n.js} +77 -77
- package/dist/{server-node-events-nakjzVDn.js → server-node-events-DAuQ0Pk2.js} +2 -2
- package/dist/{service-Bjqlh_fF.js → service-CFfCS51c.js} +15 -15
- package/dist/{session-DcnQHb9Q.js → session-ApCom0An.js} +1 -1
- package/dist/{session-meta-DF1WT4cr.js → session-meta-Cew1QAYN.js} +1 -1
- package/dist/{session-utils-BncMg1bn.js → session-utils-DYJSA9qa.js} +46 -10
- package/dist/{sessions-B2mnwD21.js → sessions-BXz4gdq6.js} +15 -15
- package/dist/{sessions-C2Xfck_9.js → sessions-CeXgGBJ1.js} +4 -4
- package/dist/{shared-BojXguFB.js → shared-Cd4Yi_Q8.js} +3 -3
- package/dist/{shared-_j1K2VJ9.js → shared-Cl1av01k.js} +1 -1
- package/dist/{skill-commands-CYucDd3C.js → skill-commands-Cpr3Poo2.js} +5 -5
- package/dist/{skill-scanner-CSJqt034.js → skill-scanner-3QHafkQH.js} +6 -6
- package/dist/{skills-BCgFAMj3.js → skills-D4S-gyVf.js} +3 -3
- package/dist/{skills-cli-BM1iUpGc.js → skills-cli-CAhlFcYR.js} +5 -5
- package/dist/{skills-install-e4_jXT_J.js → skills-install-DyneupGw.js} +6 -6
- package/dist/{skills-status-DG-bH5mO.js → skills-status-DQzBD0Y7.js} +1 -1
- package/dist/{status-CQYA6EJN.js → status-C6WYtjMU.js} +2 -2
- package/dist/{status-mS4bWnIW.js → status-VYa-lFs6.js} +26 -26
- package/dist/{status.update-YC9VNJxl.js → status.update-BdgtGtkx.js} +2 -2
- package/dist/{store-U8cs0QvT.js → store-TdzSHRPN.js} +5 -5
- package/dist/{subagent-registry-CXBreqUP.js → subagent-registry-DlmrBMrv.js} +156 -156
- package/dist/{system-cli-B_PUKo6-.js → system-cli-BYGGFlhn.js} +9 -9
- package/dist/{system-run-command-GKGzGztn.js → system-run-command-XHAlbx5q.js} +1 -1
- package/dist/{systemd-HiU4Gzoc.js → systemd-DRGkJYMb.js} +9 -9
- package/dist/{systemd-hints-BDIASQOF.js → systemd-hints-C5HK00QG.js} +6 -6
- package/dist/{systemd-linger-DfrE-63p.js → systemd-linger-DME-3IVk.js} +1 -1
- package/dist/{tables-DVXe5x1J.js → tables-BOsRa7CS.js} +1 -1
- package/dist/{tailnet-C1XBcWue.js → tailnet-CfP3A6g2.js} +1 -1
- package/dist/{target-errors-C5LA-JI-.js → target-errors-DPJ9HFp9.js} +4 -4
- package/dist/{tool-images-CnpAosfi.js → tool-images-CmgHk8xk.js} +1 -1
- package/dist/{tui-CLK0s6TM.js → tui-C16rnfcv.js} +6 -6
- package/dist/{tui-cli-DTdNoN6U.js → tui-cli-Ct7mmQhr.js} +33 -33
- package/dist/{update-DLc3UsVC.js → update-DOvgIBRu.js} +3 -3
- package/dist/{update-cli-B9F4MIMw.js → update-cli-BnefEkIB.js} +107 -107
- package/dist/{update-cli-mCVWiI6K.js → update-cli-CWNpH8nb.js} +7 -7
- package/dist/{update-runner-C9noXbfV.js → update-runner-BSQpjT4r.js} +16 -16
- package/dist/{update-runner-DO6RodZW.js → update-runner-CE9BNhOu.js} +1 -1
- package/dist/{web-V1uGLepo.js → web-C1PpWeXj.js} +6 -6
- package/dist/web-C1Zm__bd.js +127 -0
- package/dist/{web-DbdjX4Hg.js → web-C_RqjNux.js} +2 -2
- package/dist/{web-DJKitOpu.js → web-DBuATjw6.js} +1 -1
- package/dist/{webhooks-cli-c5SaGz4J.js → webhooks-cli-DyIIpN1Q.js} +6 -6
- package/dist/{whatsapp-actions-CnjEOFOZ.js → whatsapp-actions-Dmv3vDs5.js} +19 -19
- package/dist/{with-timeout-DurSJobr.js → with-timeout-Cf-HNLSj.js} +3 -3
- package/dist/{workspace-DWBFoy1G.js → workspace-A5CNJccm.js} +1 -1
- package/dist/{workspace-BHfqkuYN.js → workspace-DzeL98px.js} +23 -23
- package/dist/{workspace-dirs-BOgNOBjy.js → workspace-dirs-Bevk6X_8.js} +1 -1
- package/dist/{wsl-BDRu1-pk.js → wsl-DksyFTBT.js} +2 -2
- package/package.json +1 -1
- package/dist/control-ui/assets/index-CKSSOzJL.js.map +0 -1
- package/dist/register.configure-CaSRlI6h.js +0 -175
- package/dist/web-BKrNiKsU.js +0 -127
|
@@ -2,11 +2,11 @@ import { p as theme } from "./globals-B68W7uN8.js";
|
|
|
2
2
|
import "./paths-BnKiOk2S.js";
|
|
3
3
|
import { d as defaultRuntime } from "./subsystem-DjdBljTA.js";
|
|
4
4
|
import "./boolean-DtWR5bt3.js";
|
|
5
|
-
import { M as loadConfig } from "./auth-profiles-
|
|
5
|
+
import { M as loadConfig } from "./auth-profiles-CyG9VwU_.js";
|
|
6
6
|
import { t as formatCliCommand } from "./command-format-CVXyxgq3.js";
|
|
7
|
-
import "./agent-scope-
|
|
7
|
+
import "./agent-scope-CY2-lUIY.js";
|
|
8
8
|
import "./utils-DIzy5B5o.js";
|
|
9
|
-
import "./workspace-
|
|
9
|
+
import "./workspace-DzeL98px.js";
|
|
10
10
|
import "./logger-BJMfryJd.js";
|
|
11
11
|
import "./exec-CEAvKSx9.js";
|
|
12
12
|
import "./github-copilot-token-CulJ9J5l.js";
|
|
@@ -14,13 +14,13 @@ import "./host-env-security-CJMD0__Z.js";
|
|
|
14
14
|
import "./version-CGDNfh5C.js";
|
|
15
15
|
import "./env-vars-Dw0EwyGP.js";
|
|
16
16
|
import "./registry-7fg1BnMw.js";
|
|
17
|
-
import "./manifest-registry-
|
|
18
|
-
import { r as normalizeChannelId } from "./plugins-
|
|
19
|
-
import "./accounts-
|
|
17
|
+
import "./manifest-registry-CBF8Vfz8.js";
|
|
18
|
+
import { r as normalizeChannelId } from "./plugins-C4cYqW07.js";
|
|
19
|
+
import "./accounts-Cv5CUnT4.js";
|
|
20
20
|
import "./logging-5MtSkLpb.js";
|
|
21
|
-
import "./bindings-
|
|
22
|
-
import { d as listPairingChannels, f as notifyPairingApproved, n as approveChannelPairingCode, r as listChannelPairingRequests } from "./pairing-store-
|
|
23
|
-
import { t as resolvePairingIdLabel } from "./pairing-labels-
|
|
21
|
+
import "./bindings-DGvp9FdD.js";
|
|
22
|
+
import { d as listPairingChannels, f as notifyPairingApproved, n as approveChannelPairingCode, r as listChannelPairingRequests } from "./pairing-store-rFuiIoGM.js";
|
|
23
|
+
import { t as resolvePairingIdLabel } from "./pairing-labels-x4akYNb7.js";
|
|
24
24
|
import { t as formatDocsLink } from "./links-BDNlbZvM.js";
|
|
25
25
|
import { t as renderTable } from "./table-CqULNDay.js";
|
|
26
26
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { g as resolveStateDir, m as resolveOAuthDir, y as resolveRequiredHomeDir } from "./paths-BnKiOk2S.js";
|
|
2
|
-
import { tr as withFileLock$1 } from "./auth-profiles-
|
|
2
|
+
import { tr as withFileLock$1 } from "./auth-profiles-CyG9VwU_.js";
|
|
3
3
|
import { h as DEFAULT_ACCOUNT_ID } from "./session-key-BLprDJYq.js";
|
|
4
4
|
import { y as safeParseJson } from "./utils-DIzy5B5o.js";
|
|
5
|
-
import { n as listChannelPlugins, t as getChannelPlugin } from "./plugins-
|
|
6
|
-
import { r as writeJsonAtomic } from "./json-files-
|
|
5
|
+
import { n as listChannelPlugins, t as getChannelPlugin } from "./plugins-C4cYqW07.js";
|
|
6
|
+
import { r as writeJsonAtomic } from "./json-files-rR19q30D.js";
|
|
7
7
|
import path from "node:path";
|
|
8
8
|
import os from "node:os";
|
|
9
9
|
import fs from "node:fs";
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { A as isNotFoundPathError, D as resolveBoundaryPath, E as BOUNDARY_PATH_ALIAS_POLICIES } from "./workspace-
|
|
1
|
+
import { A as isNotFoundPathError, D as resolveBoundaryPath, E as BOUNDARY_PATH_ALIAS_POLICIES } from "./workspace-DzeL98px.js";
|
|
2
2
|
import os from "node:os";
|
|
3
|
-
import
|
|
3
|
+
import fsPromises from "node:fs/promises";
|
|
4
4
|
|
|
5
5
|
//#region src/infra/hardlink-guards.ts
|
|
6
6
|
async function assertNoHardlinkedFinalPath(params) {
|
|
7
7
|
if (params.allowFinalHardlinkForUnlink) return;
|
|
8
8
|
let stat;
|
|
9
9
|
try {
|
|
10
|
-
stat = await
|
|
10
|
+
stat = await fsPromises.stat(params.filePath);
|
|
11
11
|
} catch (err) {
|
|
12
12
|
if (isNotFoundPathError(err)) return;
|
|
13
13
|
throw err;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { k as resolvePreferredOpenClawTmpDir } from "./globals-B68W7uN8.js";
|
|
2
|
-
import { A as isNotFoundPathError, j as isPathInside } from "./workspace-
|
|
3
|
-
import { i as openFileWithinRoot, t as SafeOpenError } from "./fs-safe-
|
|
2
|
+
import { A as isNotFoundPathError, j as isPathInside } from "./workspace-DzeL98px.js";
|
|
3
|
+
import { i as openFileWithinRoot, t as SafeOpenError } from "./fs-safe-BqJ9egpm.js";
|
|
4
4
|
import path from "node:path";
|
|
5
|
-
import
|
|
5
|
+
import fsPromises from "node:fs/promises";
|
|
6
6
|
|
|
7
7
|
//#region src/browser/form-fields.ts
|
|
8
8
|
const DEFAULT_FILL_FIELD_TYPE = "text";
|
|
@@ -44,28 +44,28 @@ function invalidPath(scopeLabel) {
|
|
|
44
44
|
}
|
|
45
45
|
async function resolveRealPathIfExists(targetPath) {
|
|
46
46
|
try {
|
|
47
|
-
return await
|
|
47
|
+
return await fsPromises.realpath(targetPath);
|
|
48
48
|
} catch {
|
|
49
49
|
return;
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
52
|
async function resolveTrustedRootRealPath(rootDir) {
|
|
53
53
|
try {
|
|
54
|
-
const rootLstat = await
|
|
54
|
+
const rootLstat = await fsPromises.lstat(rootDir);
|
|
55
55
|
if (!rootLstat.isDirectory() || rootLstat.isSymbolicLink()) return;
|
|
56
|
-
return await
|
|
56
|
+
return await fsPromises.realpath(rootDir);
|
|
57
57
|
} catch {
|
|
58
58
|
return;
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
61
|
async function validateCanonicalPathWithinRoot(params) {
|
|
62
62
|
try {
|
|
63
|
-
const candidateLstat = await
|
|
63
|
+
const candidateLstat = await fsPromises.lstat(params.candidatePath);
|
|
64
64
|
if (candidateLstat.isSymbolicLink()) return "invalid";
|
|
65
65
|
if (params.expect === "directory" && !candidateLstat.isDirectory()) return "invalid";
|
|
66
66
|
if (params.expect === "file" && !candidateLstat.isFile()) return "invalid";
|
|
67
67
|
if (params.expect === "file" && candidateLstat.nlink > 1) return "invalid";
|
|
68
|
-
const candidateRealPath = await
|
|
68
|
+
const candidateRealPath = await fsPromises.realpath(params.candidatePath);
|
|
69
69
|
return isPathInside(params.rootRealPath, candidateRealPath) ? "ok" : "invalid";
|
|
70
70
|
} catch (err) {
|
|
71
71
|
return isNotFoundPathError(err) ? "not-found" : "invalid";
|
|
@@ -143,7 +143,7 @@ async function resolveCheckedPathsWithinRoot(params) {
|
|
|
143
143
|
};
|
|
144
144
|
if (!rootRealPath || !raw || !path.isAbsolute(raw)) return lexicalPathResult;
|
|
145
145
|
try {
|
|
146
|
-
const resolvedExistingPath = await
|
|
146
|
+
const resolvedExistingPath = await fsPromises.realpath(raw);
|
|
147
147
|
const relativePath = path.relative(rootRealPath, resolvedExistingPath);
|
|
148
148
|
if (!isInRoot(relativePath)) return lexicalPathResult;
|
|
149
149
|
return {
|
|
@@ -24,7 +24,7 @@ import { t as buildChannelAccountBindings } from "./bindings-CsIiIjqN.js";
|
|
|
24
24
|
import { a as createSlackWebClient, c as validateSlackBlocksArray, d as resolveSlackChannelId, i as normalizeSlackOutboundText, l as buildSlackBlocksFallbackText, o as resolveSlackWebClientOptions, s as parseSlackBlocksInput, t as sendMessageSlack, u as parseSlackTarget } from "./send-B4pSMBHk.js";
|
|
25
25
|
import { $ as fetchChannelPermissionsDiscord, A as unpinMessageDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as resolveTimestampMs, D as pinMessageDiscord, Dt as normalizeChannelSlug, E as listThreadsDiscord, Et as buildChannelKeyCandidates, F as fetchMemberInfoDiscord, G as uploadStickerDiscord, H as timeoutMemberDiscord, I as fetchRoleInfoDiscord, J as editChannelDiscord, K as createChannelDiscord, L as fetchVoiceStatusDiscord, M as banMemberDiscord, N as createScheduledEventDiscord, O as readMessagesDiscord, Ot as resolveChannelEntryMatchWithFallback, P as fetchChannelInfoDiscord, Q as stripUndefinedFields, R as kickMemberDiscord, S as deleteMessageDiscord, St as resolveDiscordSystemLocation, T as listPinsDiscord, Tt as applyChannelMatchMeta, U as listGuildEmojisDiscord, V as removeRoleDiscord, W as uploadEmojiDiscord, X as removeChannelPermissionDiscord, Y as moveChannelDiscord, Z as setChannelPermissionDiscord, _ as sendPollDiscord, _t as resolveDiscordShouldRequireMention, a as removeReactionDiscord, at as resolveDiscordChannelId, b as sendWebhookMessageDiscord, bt as formatDiscordReactionEmoji, c as formatDiscordComponentEventText, ct as isDiscordGroupAllowedByPolicy, d as parseDiscordModalCustomId, dt as resolveDiscordAllowListMatch, et as hasAnyGuildPermissionDiscord, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordChannelConfigWithFallback, g as sendMessageDiscord, gt as resolveDiscordOwnerAllowFrom, h as resolveDiscordModalEntry, ht as resolveDiscordOwnerAccess, i as removeOwnReactionsDiscord, it as parseDiscordTarget, j as addRoleDiscord, k as searchMessagesDiscord, l as parseDiscordComponentCustomId, lt as normalizeDiscordAllowList, m as resolveDiscordComponentEntry, mt as resolveDiscordMemberAccessState, n as fetchReactionsDiscord, nt as createDiscordClient, o as sendDiscordComponentMessage, ot as listDiscordDirectoryGroupsLive, p as readDiscordComponentSpec, pt as resolveDiscordGuildEntry, q as deleteChannelDiscord, r as reactMessageDiscord, rt as createDiscordRestClient, s as createDiscordFormModal, st as listDiscordDirectoryPeersLive, tt as chunkDiscordTextWithMode, u as parseDiscordComponentCustomIdForCarbon, ut as normalizeDiscordSlug, v as sendStickerDiscord, vt as resolveGroupDmAllow, w as fetchMessageDiscord, wt as fetchDiscord, x as createThreadDiscord, xt as formatDiscordUserTag, y as sendVoiceMessageDiscord, yt as shouldEmitDiscordReactionNotification, z as listGuildChannelsDiscord } from "./send-V3fEVmLq.js";
|
|
26
26
|
import { n as generateSecureUuid, t as generateSecureToken } from "./secure-random-CY3Mg7Dp.js";
|
|
27
|
-
import { A as initializeGlobalHookRunner, C as shouldSuppressReasoningPayload, D as normalizeChannelTargetInput, E as buildTargetResolverSignature, O as normalizeTargetForProvider, S as shouldSuppressMessagingToolReplies, T as resolveReplyToMode, _ as applyReplyTagsToPayload, a as normalizeOutboundPayloadsForJson, b as filterMessagingToolMediaDuplicates, c as parseReplyDirectives, d as toInternalMessagePreprocessedContext, f as toInternalMessageReceivedContext, g as fireAndForgetHook, h as toPluginMessageReceivedEvent, i as normalizeOutboundPayloads, k as getGlobalHookRunner, l as splitMediaFromOutput, m as toPluginMessageContext, o as normalizeReplyPayloadsForDelivery, p as toInternalMessageTranscribedContext, r as formatOutboundPayloadLog, s as throwIfAborted, t as deliverOutboundPayloads, u as deriveInboundMessageHookContext, v as applyReplyThreading, w as createReplyToModeFilterForChannel, x as isRenderablePayload, y as filterMessagingToolDuplicates } from "./deliver-
|
|
27
|
+
import { A as initializeGlobalHookRunner, C as shouldSuppressReasoningPayload, D as normalizeChannelTargetInput, E as buildTargetResolverSignature, O as normalizeTargetForProvider, S as shouldSuppressMessagingToolReplies, T as resolveReplyToMode, _ as applyReplyTagsToPayload, a as normalizeOutboundPayloadsForJson, b as filterMessagingToolMediaDuplicates, c as parseReplyDirectives, d as toInternalMessagePreprocessedContext, f as toInternalMessageReceivedContext, g as fireAndForgetHook, h as toPluginMessageReceivedEvent, i as normalizeOutboundPayloads, k as getGlobalHookRunner, l as splitMediaFromOutput, m as toPluginMessageContext, o as normalizeReplyPayloadsForDelivery, p as toInternalMessageTranscribedContext, r as formatOutboundPayloadLog, s as throwIfAborted, t as deliverOutboundPayloads, u as deriveInboundMessageHookContext, v as applyReplyThreading, w as createReplyToModeFilterForChannel, x as isRenderablePayload, y as filterMessagingToolDuplicates } from "./deliver-xY3h9X6N.js";
|
|
28
28
|
import { a as logMessageProcessed, c as logWebhookError, d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, i as logLaneEnqueue, l as logWebhookProcessed, m as isDiagnosticsEnabled, o as logMessageQueued, p as emitDiagnosticEvent, r as logLaneDequeue, s as logSessionStateChange, t as diag, u as logWebhookReceived } from "./diagnostic-BO1GQJJf.js";
|
|
29
29
|
import { r as getDiagnosticSessionState } from "./diagnostic-session-state-DBPrVBk3.js";
|
|
30
30
|
import { n as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-BTexwKe8.js";
|
|
@@ -32,8 +32,8 @@ import { $ as readChannelAllowFromStore, A as describeReplyTarget, B as resolveT
|
|
|
32
32
|
import { c as detectMime, d as imageMimeFromFormat, f as isAudioFileName, g as MAX_IMAGE_BYTES, i as getImageMetadata, l as extensionForMime, m as kindFromMime, p as isGifMedia, s as resizeToJpeg, v as mediaKindFromMime } from "./image-ops-DCpyia_K.js";
|
|
33
33
|
import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-DCIw1y1c.js";
|
|
34
34
|
import { a as isMarkdownCapableMessageChannel, c as resolveGatewayMessageChannel, d as GATEWAY_CLIENT_MODES, f as GATEWAY_CLIENT_NAMES, i as isInternalMessageChannel, l as resolveMessageChannel, n as isDeliverableMessageChannel, o as listDeliverableMessageChannels, r as isGatewayMessageChannel, s as normalizeMessageChannel, t as INTERNAL_MESSAGE_CHANNEL, u as GATEWAY_CLIENT_IDS } from "./message-channel-Dl8dSs0T.js";
|
|
35
|
-
import { $ as mergeAlsoAllowPolicy, A as isRawApiErrorPayload, B as registerBrowserRoutes, C as isCloudCodeAssistFormatError, D as isFailoverErrorMessage, E as isFailoverAssistantError, F as sanitizeUserFacingText, G as resolveBrowserControlAuth, H as resolveProfile, I as ensureSandboxWorkspaceForSession, J as resolveSandboxConfigForAgent, K as resolveGatewayCredentialsFromConfig, L as resolveSandboxContext, M as isTransientHttpError, N as parseImageDimensionError, O as isLikelyContextOverflowError, P as parseImageSizeError, Q as expandPolicyWithPluginGroups, R as resolveSandboxRuntimeStatus, S as isBillingAssistantError, T as isContextOverflowError, U as getBridgeAuthForPort, V as resolveBrowserConfig, W as ensureBrowserControlAuth, X as buildPluginToolGroups, Y as applyOwnerOnlyToolPolicy, Z as collectExplicitAllowlist, _ as formatBillingErrorMessage, a as isMessagingToolDuplicateNormalized, at as matchesAnyGlobPattern, b as isAuthAssistantError, c as extractToolCallsFromAssistant, ct as resolveBootstrapMaxChars, d as downgradeOpenAIFunctionCallReasoningPairs, et as stripPluginOnlyAllowlist, f as downgradeOpenAIReasoningBlocks, g as formatAssistantErrorText, h as classifyFailoverReason, it as compileGlobPatterns, j as isTimeoutErrorMessage, k as isRateLimitAssistantError, l as extractToolResultId, lt as resolveBootstrapTotalMaxChars, m as BILLING_ERROR_USER_MESSAGE, n as validateGeminiTurns, nt as normalizeToolName, o as normalizeTextForComparison, ot as buildBootstrapContextFiles, p as isGoogleModelApi, q as trimToUndefined$1, r as pickFallbackThinkingLevel, rt as resolveToolProfilePolicy, s as sanitizeSessionMessagesImages, st as ensureSessionHeader, t as validateAnthropicTurns, tt as expandToolGroups, u as sanitizeToolCallIdsForCloudCodeAssist, ut as sanitizeGoogleTurnOrdering, v as formatRawAssistantErrorForUi, w as isCompactionFailureError, x as isAuthPermanentErrorMessage, y as getApiErrorPayloadFingerprint, z as createBrowserRouteContext } from "./pi-embedded-helpers-
|
|
36
|
-
import { A as rawDataToString, B as isSecureWebSocketUrl, C as ensureChromeExtensionRelayServer, N as DEFAULT_UPLOAD_DIR, P as resolveExistingPathsWithinRoot, U as DEFAULT_AI_SNAPSHOT_MAX_CHARS, s as resolveLsofCommandSync, z as isLoopbackHost } from "./chrome-
|
|
35
|
+
import { $ as mergeAlsoAllowPolicy, A as isRawApiErrorPayload, B as registerBrowserRoutes, C as isCloudCodeAssistFormatError, D as isFailoverErrorMessage, E as isFailoverAssistantError, F as sanitizeUserFacingText, G as resolveBrowserControlAuth, H as resolveProfile, I as ensureSandboxWorkspaceForSession, J as resolveSandboxConfigForAgent, K as resolveGatewayCredentialsFromConfig, L as resolveSandboxContext, M as isTransientHttpError, N as parseImageDimensionError, O as isLikelyContextOverflowError, P as parseImageSizeError, Q as expandPolicyWithPluginGroups, R as resolveSandboxRuntimeStatus, S as isBillingAssistantError, T as isContextOverflowError, U as getBridgeAuthForPort, V as resolveBrowserConfig, W as ensureBrowserControlAuth, X as buildPluginToolGroups, Y as applyOwnerOnlyToolPolicy, Z as collectExplicitAllowlist, _ as formatBillingErrorMessage, a as isMessagingToolDuplicateNormalized, at as matchesAnyGlobPattern, b as isAuthAssistantError, c as extractToolCallsFromAssistant, ct as resolveBootstrapMaxChars, d as downgradeOpenAIFunctionCallReasoningPairs, et as stripPluginOnlyAllowlist, f as downgradeOpenAIReasoningBlocks, g as formatAssistantErrorText, h as classifyFailoverReason, it as compileGlobPatterns, j as isTimeoutErrorMessage, k as isRateLimitAssistantError, l as extractToolResultId, lt as resolveBootstrapTotalMaxChars, m as BILLING_ERROR_USER_MESSAGE, n as validateGeminiTurns, nt as normalizeToolName, o as normalizeTextForComparison, ot as buildBootstrapContextFiles, p as isGoogleModelApi, q as trimToUndefined$1, r as pickFallbackThinkingLevel, rt as resolveToolProfilePolicy, s as sanitizeSessionMessagesImages, st as ensureSessionHeader, t as validateAnthropicTurns, tt as expandToolGroups, u as sanitizeToolCallIdsForCloudCodeAssist, ut as sanitizeGoogleTurnOrdering, v as formatRawAssistantErrorForUi, w as isCompactionFailureError, x as isAuthPermanentErrorMessage, y as getApiErrorPayloadFingerprint, z as createBrowserRouteContext } from "./pi-embedded-helpers-CMTVhLjq.js";
|
|
36
|
+
import { A as rawDataToString, B as isSecureWebSocketUrl, C as ensureChromeExtensionRelayServer, N as DEFAULT_UPLOAD_DIR, P as resolveExistingPathsWithinRoot, U as DEFAULT_AI_SNAPSHOT_MAX_CHARS, s as resolveLsofCommandSync, z as isLoopbackHost } from "./chrome-CjTE-vWv.js";
|
|
37
37
|
import { c as assertSandboxPath, d as resolveSandboxedMediaSource, f as applySkillEnvOverrides, i as resolveSkillsPromptForRun, l as resolveSandboxInputPath, n as buildWorkspaceSkillSnapshot, p as applySkillEnvOverridesFromSnapshot, r as loadWorkspaceSkillEntries, s as assertMediaNotDataUrl } from "./skills-DMmr25nW.js";
|
|
38
38
|
import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-CKjKIhQ3.js";
|
|
39
39
|
import { i as testRegexWithBoundedInput, r as compileSafeRegex, t as redactSensitiveText } from "./redact-ScShueoF.js";
|
|
@@ -49,8 +49,8 @@ import { i as resolveSessionTranscriptPath, n as resolveSessionFilePath, o as re
|
|
|
49
49
|
import { n as onSessionTranscriptUpdate, t as emitSessionTranscriptUpdate } from "./transcript-events-Cso7-m1w.js";
|
|
50
50
|
import { a as canonicalizeBase64, i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, o as estimateBase64DecodedBytes, r as sanitizeToolResultImages } from "./tool-images-ffdfBx0b.js";
|
|
51
51
|
import { a as normalizeReasoningLevel, c as normalizeVerboseLevel, i as normalizeElevatedLevel, l as resolveResponseUsageMode, n as formatXHighModelHint, o as normalizeThinkLevel, s as normalizeUsageDisplay, t as formatThinkingLevels, u as supportsXHighThinking } from "./thinking-FnAYAFD8.js";
|
|
52
|
-
import { C as extractTextFromChatContent, S as isInsideCode, T as ensureOpenClawModelsJson, _ as stripThinkingTagsFromText, a as decodeDataUrl, b as stripReasoningTagsFromText, c as extractAssistantThinking, d as formatReasoningMessage, f as inferToolMetaFromArgs, g as stripMinimaxToolCallXml, h as stripDowngradedToolCallText, i as coerceImageModelConfig, l as extractThinkingFromTaggedStream, m as promoteThinkingTagsToBlocks, o as resolveProviderVisionModelFromConfig, p as isAssistantMessage, r as coerceImageAssistantText, s as extractAssistantText$1, u as extractThinkingFromTaggedText, v as formatToolSummary, w as minimaxUnderstandImage, x as findCodeRegions, y as resolveToolDisplay } from "./image-
|
|
53
|
-
import { _ as resolveAttachmentKind, a as resolveAutoImageModel, b as modelSupportsVision, c as applyTemplate, d as normalizeMediaUnderstandingChatType, f as resolveMediaUnderstandingScope, h as registerUnhandledRejectionHandler, i as normalizeMediaAttachments, l as resolveConcurrency, m as buildRandomTempFilePath, n as buildProviderRegistry, o as resolveMediaAttachmentLocalRoots, p as CLI_OUTPUT_MAX_BUFFER, r as createMediaAttachmentCache, s as runCapability, t as runAudioTranscription, u as resolveTimeoutMs$2, v as findModelInCatalog, y as loadModelCatalog } from "./audio-transcription-runner-
|
|
52
|
+
import { C as extractTextFromChatContent, S as isInsideCode, T as ensureOpenClawModelsJson, _ as stripThinkingTagsFromText, a as decodeDataUrl, b as stripReasoningTagsFromText, c as extractAssistantThinking, d as formatReasoningMessage, f as inferToolMetaFromArgs, g as stripMinimaxToolCallXml, h as stripDowngradedToolCallText, i as coerceImageModelConfig, l as extractThinkingFromTaggedStream, m as promoteThinkingTagsToBlocks, o as resolveProviderVisionModelFromConfig, p as isAssistantMessage, r as coerceImageAssistantText, s as extractAssistantText$1, u as extractThinkingFromTaggedText, v as formatToolSummary, w as minimaxUnderstandImage, x as findCodeRegions, y as resolveToolDisplay } from "./image-DCyaYY2d.js";
|
|
53
|
+
import { _ as resolveAttachmentKind, a as resolveAutoImageModel, b as modelSupportsVision, c as applyTemplate, d as normalizeMediaUnderstandingChatType, f as resolveMediaUnderstandingScope, h as registerUnhandledRejectionHandler, i as normalizeMediaAttachments, l as resolveConcurrency, m as buildRandomTempFilePath, n as buildProviderRegistry, o as resolveMediaAttachmentLocalRoots, p as CLI_OUTPUT_MAX_BUFFER, r as createMediaAttachmentCache, s as runCapability, t as runAudioTranscription, u as resolveTimeoutMs$2, v as findModelInCatalog, y as loadModelCatalog } from "./audio-transcription-runner-DaoqvWoi.js";
|
|
54
54
|
import { a as getDefaultMediaLocalRoots, i as getAgentScopedMediaLocalRoots, n as fetchRemoteMedia, r as readResponseWithLimit, t as MediaFetchError } from "./fetch--iXu7oa7.js";
|
|
55
55
|
import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-CYFFedEH.js";
|
|
56
56
|
import { n as withStrictGuardedFetchMode, r as withTrustedEnvProxyGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-CNvY0vzQ.js";
|
|
@@ -95,7 +95,7 @@ import { CURRENT_SESSION_VERSION, DefaultResourceLoader, SessionManager, Setting
|
|
|
95
95
|
import { EdgeTTS } from "node-edge-tts";
|
|
96
96
|
import { createServer } from "node:http";
|
|
97
97
|
import { ProxyAgent, fetch as fetch$1 } from "undici";
|
|
98
|
-
import WebSocket, { WebSocket
|
|
98
|
+
import WebSocket$1, { WebSocket } from "ws";
|
|
99
99
|
import { Buffer as Buffer$1 } from "node:buffer";
|
|
100
100
|
import { createJiti } from "jiti";
|
|
101
101
|
import AjvPkg from "ajv";
|
|
@@ -8165,7 +8165,7 @@ var GatewayClient = class {
|
|
|
8165
8165
|
if (fingerprint !== expected) return /* @__PURE__ */ new Error("gateway tls fingerprint mismatch");
|
|
8166
8166
|
});
|
|
8167
8167
|
}
|
|
8168
|
-
this.ws = new WebSocket
|
|
8168
|
+
this.ws = new WebSocket(url, wsOptions);
|
|
8169
8169
|
this.ws.on("open", () => {
|
|
8170
8170
|
if (url.startsWith("wss://") && this.opts.tlsFingerprint) {
|
|
8171
8171
|
const tlsError = this.validateTlsFingerprint();
|
|
@@ -8361,7 +8361,7 @@ var GatewayClient = class {
|
|
|
8361
8361
|
const connectChallengeTimeoutMs = typeof rawConnectDelayMs === "number" && Number.isFinite(rawConnectDelayMs) ? Math.max(250, Math.min(1e4, rawConnectDelayMs)) : 2e3;
|
|
8362
8362
|
if (this.connectTimer) clearTimeout(this.connectTimer);
|
|
8363
8363
|
this.connectTimer = setTimeout(() => {
|
|
8364
|
-
if (this.connectSent || this.ws?.readyState !== WebSocket
|
|
8364
|
+
if (this.connectSent || this.ws?.readyState !== WebSocket.OPEN) return;
|
|
8365
8365
|
this.opts.onConnectError?.(/* @__PURE__ */ new Error("gateway connect challenge timeout"));
|
|
8366
8366
|
this.ws?.close(1008, "connect challenge timeout");
|
|
8367
8367
|
}, connectChallengeTimeoutMs);
|
|
@@ -8403,7 +8403,7 @@ var GatewayClient = class {
|
|
|
8403
8403
|
return null;
|
|
8404
8404
|
}
|
|
8405
8405
|
async request(method, params, opts) {
|
|
8406
|
-
if (!this.ws || this.ws.readyState !== WebSocket
|
|
8406
|
+
if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error("gateway not connected");
|
|
8407
8407
|
const id = randomUUID();
|
|
8408
8408
|
const frame = {
|
|
8409
8409
|
type: "req",
|
|
@@ -9683,7 +9683,7 @@ async function routeReply(params) {
|
|
|
9683
9683
|
const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
|
|
9684
9684
|
const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
|
|
9685
9685
|
try {
|
|
9686
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
9686
|
+
const { deliverOutboundPayloads } = await import("./deliver-xY3h9X6N.js").then((n) => n.n);
|
|
9687
9687
|
const outboundSession = buildOutboundSessionContext({
|
|
9688
9688
|
cfg,
|
|
9689
9689
|
agentId: resolvedAgentId,
|
|
@@ -14241,7 +14241,7 @@ async function sendTranscriptEcho(params) {
|
|
|
14241
14241
|
}
|
|
14242
14242
|
const text = formatEchoTranscript(transcript, params.format ?? DEFAULT_ECHO_TRANSCRIPT_FORMAT);
|
|
14243
14243
|
try {
|
|
14244
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
14244
|
+
const { deliverOutboundPayloads } = await import("./deliver-xY3h9X6N.js").then((n) => n.n);
|
|
14245
14245
|
await deliverOutboundPayloads({
|
|
14246
14246
|
cfg,
|
|
14247
14247
|
channel: normalizedChannel,
|
|
@@ -21870,16 +21870,38 @@ const handleBashCommand = async (params, allowTextCommands) => {
|
|
|
21870
21870
|
//#region src/agents/context.ts
|
|
21871
21871
|
const ANTHROPIC_1M_MODEL_PREFIXES$1 = ["claude-opus-4", "claude-sonnet-4"];
|
|
21872
21872
|
const ANTHROPIC_CONTEXT_1M_TOKENS = 1048576;
|
|
21873
|
+
function resolveBareModelId(modelId) {
|
|
21874
|
+
const trimmed = modelId.trim();
|
|
21875
|
+
if (!trimmed) return "";
|
|
21876
|
+
const slash = trimmed.lastIndexOf("/");
|
|
21877
|
+
return slash >= 0 ? trimmed.slice(slash + 1).trim() : trimmed;
|
|
21878
|
+
}
|
|
21879
|
+
function cacheContextWindow(params) {
|
|
21880
|
+
const { cache, bareCache, modelId, contextWindow, preferSmaller } = params;
|
|
21881
|
+
const existing = cache.get(modelId);
|
|
21882
|
+
if (existing === void 0 || (preferSmaller ? contextWindow < existing : contextWindow !== existing)) cache.set(modelId, contextWindow);
|
|
21883
|
+
const bareModelId = resolveBareModelId(modelId);
|
|
21884
|
+
if (!bareModelId) return;
|
|
21885
|
+
const existingBare = bareCache.get(bareModelId);
|
|
21886
|
+
if (existingBare === void 0 || contextWindow < existingBare) bareCache.set(bareModelId, contextWindow);
|
|
21887
|
+
}
|
|
21873
21888
|
function applyDiscoveredContextWindows(params) {
|
|
21889
|
+
const bareCache = params.bareCache ?? /* @__PURE__ */ new Map();
|
|
21874
21890
|
for (const model of params.models) {
|
|
21875
21891
|
if (!model?.id) continue;
|
|
21876
21892
|
const contextWindow = typeof model.contextWindow === "number" ? Math.trunc(model.contextWindow) : void 0;
|
|
21877
21893
|
if (!contextWindow || contextWindow <= 0) continue;
|
|
21878
|
-
|
|
21879
|
-
|
|
21894
|
+
cacheContextWindow({
|
|
21895
|
+
cache: params.cache,
|
|
21896
|
+
bareCache,
|
|
21897
|
+
modelId: model.id,
|
|
21898
|
+
contextWindow,
|
|
21899
|
+
preferSmaller: true
|
|
21900
|
+
});
|
|
21880
21901
|
}
|
|
21881
21902
|
}
|
|
21882
21903
|
function applyConfiguredContextWindows(params) {
|
|
21904
|
+
const bareCache = params.bareCache ?? /* @__PURE__ */ new Map();
|
|
21883
21905
|
const providers = params.modelsConfig?.providers;
|
|
21884
21906
|
if (!providers || typeof providers !== "object") return;
|
|
21885
21907
|
for (const provider of Object.values(providers)) {
|
|
@@ -21888,11 +21910,18 @@ function applyConfiguredContextWindows(params) {
|
|
|
21888
21910
|
const modelId = typeof model?.id === "string" ? model.id : void 0;
|
|
21889
21911
|
const contextWindow = typeof model?.contextWindow === "number" ? model.contextWindow : void 0;
|
|
21890
21912
|
if (!modelId || !contextWindow || contextWindow <= 0) continue;
|
|
21891
|
-
|
|
21913
|
+
cacheContextWindow({
|
|
21914
|
+
cache: params.cache,
|
|
21915
|
+
bareCache,
|
|
21916
|
+
modelId,
|
|
21917
|
+
contextWindow,
|
|
21918
|
+
preferSmaller: false
|
|
21919
|
+
});
|
|
21892
21920
|
}
|
|
21893
21921
|
}
|
|
21894
21922
|
}
|
|
21895
21923
|
const MODEL_CACHE = /* @__PURE__ */ new Map();
|
|
21924
|
+
const BARE_MODEL_CACHE = /* @__PURE__ */ new Map();
|
|
21896
21925
|
let loadPromise = null;
|
|
21897
21926
|
let configuredWindowsPrimed = false;
|
|
21898
21927
|
function getCommandPathFromArgv(argv) {
|
|
@@ -21923,6 +21952,7 @@ function primeConfiguredContextWindows() {
|
|
|
21923
21952
|
const cfg = loadConfig();
|
|
21924
21953
|
applyConfiguredContextWindows({
|
|
21925
21954
|
cache: MODEL_CACHE,
|
|
21955
|
+
bareCache: BARE_MODEL_CACHE,
|
|
21926
21956
|
modelsConfig: cfg.models
|
|
21927
21957
|
});
|
|
21928
21958
|
return cfg;
|
|
@@ -21944,11 +21974,13 @@ function ensureContextWindowCacheLoaded() {
|
|
|
21944
21974
|
const modelRegistry = discoverModels(discoverAuthStorage(agentDir), agentDir);
|
|
21945
21975
|
applyDiscoveredContextWindows({
|
|
21946
21976
|
cache: MODEL_CACHE,
|
|
21977
|
+
bareCache: BARE_MODEL_CACHE,
|
|
21947
21978
|
models: typeof modelRegistry.getAvailable === "function" ? modelRegistry.getAvailable() : modelRegistry.getAll()
|
|
21948
21979
|
});
|
|
21949
21980
|
} catch {}
|
|
21950
21981
|
applyConfiguredContextWindows({
|
|
21951
21982
|
cache: MODEL_CACHE,
|
|
21983
|
+
bareCache: BARE_MODEL_CACHE,
|
|
21952
21984
|
modelsConfig: cfg.models
|
|
21953
21985
|
});
|
|
21954
21986
|
})().catch(() => {});
|
|
@@ -21957,7 +21989,11 @@ function ensureContextWindowCacheLoaded() {
|
|
|
21957
21989
|
function lookupContextTokens(modelId) {
|
|
21958
21990
|
if (!modelId) return;
|
|
21959
21991
|
ensureContextWindowCacheLoaded();
|
|
21960
|
-
|
|
21992
|
+
const direct = MODEL_CACHE.get(modelId);
|
|
21993
|
+
if (direct !== void 0) return direct;
|
|
21994
|
+
const bareModelId = resolveBareModelId(modelId);
|
|
21995
|
+
if (!bareModelId) return;
|
|
21996
|
+
return BARE_MODEL_CACHE.get(bareModelId);
|
|
21961
21997
|
}
|
|
21962
21998
|
if (!shouldSkipEagerContextWindowWarmup()) ensureContextWindowCacheLoaded();
|
|
21963
21999
|
function resolveConfiguredModelParams(cfg, provider, model) {
|
|
@@ -49695,7 +49731,7 @@ async function deliverSessionMaintenanceWarning(params) {
|
|
|
49695
49731
|
return;
|
|
49696
49732
|
}
|
|
49697
49733
|
try {
|
|
49698
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
49734
|
+
const { deliverOutboundPayloads } = await import("./deliver-xY3h9X6N.js").then((n) => n.n);
|
|
49699
49735
|
const outboundSession = buildOutboundSessionContext({
|
|
49700
49736
|
cfg: params.cfg,
|
|
49701
49737
|
sessionKey: params.sessionKey
|
|
@@ -54637,7 +54673,7 @@ async function describeStickerImage(params) {
|
|
|
54637
54673
|
logVerbose(`telegram: describing sticker with ${provider}/${model}`);
|
|
54638
54674
|
try {
|
|
54639
54675
|
const buffer = await fs.readFile(imagePath);
|
|
54640
|
-
const { describeImageWithModel } = await import("./image-
|
|
54676
|
+
const { describeImageWithModel } = await import("./image-DCyaYY2d.js").then((n) => n.n);
|
|
54641
54677
|
return (await describeImageWithModel({
|
|
54642
54678
|
buffer,
|
|
54643
54679
|
fileName: "sticker.webp",
|
|
@@ -56391,7 +56427,7 @@ async function resolveDiscordPreflightAudioMentionContext(params) {
|
|
|
56391
56427
|
const needsPreflightTranscription = !params.isDirectMessage && params.shouldRequireMention && hasAudioAttachment && !hasTypedText && params.mentionRegexes.length > 0;
|
|
56392
56428
|
let transcript;
|
|
56393
56429
|
if (needsPreflightTranscription) try {
|
|
56394
|
-
const { transcribeFirstAudio } = await import("./audio-preflight-
|
|
56430
|
+
const { transcribeFirstAudio } = await import("./audio-preflight-BWOdDA2n.js");
|
|
56395
56431
|
const audioUrls = audioAttachments.map((att) => att.url).filter((url) => typeof url === "string" && url.length > 0);
|
|
56396
56432
|
if (audioUrls.length > 0) transcript = await transcribeFirstAudio({
|
|
56397
56433
|
ctx: {
|
|
@@ -60933,7 +60969,7 @@ function createOutboundSendDepsFromCliSource(deps) {
|
|
|
60933
60969
|
function createDefaultDeps() {
|
|
60934
60970
|
return {
|
|
60935
60971
|
sendMessageWhatsApp: async (...args) => {
|
|
60936
|
-
const { sendMessageWhatsApp } = await import("./web-
|
|
60972
|
+
const { sendMessageWhatsApp } = await import("./web-C1PpWeXj.js");
|
|
60937
60973
|
return await sendMessageWhatsApp(...args);
|
|
60938
60974
|
},
|
|
60939
60975
|
sendMessageTelegram: async (...args) => {
|
|
@@ -64381,7 +64417,7 @@ function createDiscordGatewayPlugin(params) {
|
|
|
64381
64417
|
return super.registerClient(client);
|
|
64382
64418
|
}
|
|
64383
64419
|
createWebSocket(url) {
|
|
64384
|
-
return new WebSocket(url, { agent: wsAgent });
|
|
64420
|
+
return new WebSocket$1(url, { agent: wsAgent });
|
|
64385
64421
|
}
|
|
64386
64422
|
}
|
|
64387
64423
|
return new ProxyGatewayPlugin();
|
|
@@ -76412,7 +76448,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, replyMedia =
|
|
|
76412
76448
|
const disableAudioPreflight = firstDefined$1(topicConfig?.disableAudioPreflight, groupConfig?.disableAudioPreflight) === true;
|
|
76413
76449
|
let preflightTranscript;
|
|
76414
76450
|
if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0 && !disableAudioPreflight) try {
|
|
76415
|
-
const { transcribeFirstAudio } = await import("./audio-preflight-
|
|
76451
|
+
const { transcribeFirstAudio } = await import("./audio-preflight-BWOdDA2n.js");
|
|
76416
76452
|
preflightTranscript = await transcribeFirstAudio({
|
|
76417
76453
|
ctx: {
|
|
76418
76454
|
MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
|
|
@@ -79197,7 +79233,7 @@ function loadWebLoginQr() {
|
|
|
79197
79233
|
return webLoginQrPromise;
|
|
79198
79234
|
}
|
|
79199
79235
|
function loadWebChannel() {
|
|
79200
|
-
webChannelPromise ??= import("./web-
|
|
79236
|
+
webChannelPromise ??= import("./web-C1PpWeXj.js");
|
|
79201
79237
|
return webChannelPromise;
|
|
79202
79238
|
}
|
|
79203
79239
|
function loadWhatsAppActions() {
|
|
@@ -87008,7 +87044,7 @@ var OpenAIWebSocketManager = class extends EventEmitter {
|
|
|
87008
87044
|
* Throws if the connection is not open.
|
|
87009
87045
|
*/
|
|
87010
87046
|
send(event) {
|
|
87011
|
-
if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error(`OpenAIWebSocketManager: cannot send — connection is not open (readyState=${this.ws?.readyState ?? "no socket"})`);
|
|
87047
|
+
if (!this.ws || this.ws.readyState !== WebSocket$1.OPEN) throw new Error(`OpenAIWebSocketManager: cannot send — connection is not open (readyState=${this.ws?.readyState ?? "no socket"})`);
|
|
87012
87048
|
this.ws.send(JSON.stringify(event));
|
|
87013
87049
|
}
|
|
87014
87050
|
/**
|
|
@@ -87025,7 +87061,7 @@ var OpenAIWebSocketManager = class extends EventEmitter {
|
|
|
87025
87061
|
* Returns true if the WebSocket is currently open and ready to send.
|
|
87026
87062
|
*/
|
|
87027
87063
|
isConnected() {
|
|
87028
|
-
return this.ws !== null && this.ws.readyState === WebSocket.OPEN;
|
|
87064
|
+
return this.ws !== null && this.ws.readyState === WebSocket$1.OPEN;
|
|
87029
87065
|
}
|
|
87030
87066
|
/**
|
|
87031
87067
|
* Permanently closes the WebSocket connection and disables auto-reconnect.
|
|
@@ -87035,7 +87071,7 @@ var OpenAIWebSocketManager = class extends EventEmitter {
|
|
|
87035
87071
|
this._cancelRetryTimer();
|
|
87036
87072
|
if (this.ws) {
|
|
87037
87073
|
this.ws.removeAllListeners();
|
|
87038
|
-
if (this.ws.readyState === WebSocket.OPEN || this.ws.readyState === WebSocket.CONNECTING) this.ws.close(1e3, "Client closed");
|
|
87074
|
+
if (this.ws.readyState === WebSocket$1.OPEN || this.ws.readyState === WebSocket$1.CONNECTING) this.ws.close(1e3, "Client closed");
|
|
87039
87075
|
this.ws = null;
|
|
87040
87076
|
}
|
|
87041
87077
|
}
|
|
@@ -87045,7 +87081,7 @@ var OpenAIWebSocketManager = class extends EventEmitter {
|
|
|
87045
87081
|
reject(/* @__PURE__ */ new Error("OpenAIWebSocketManager: apiKey is required before connecting."));
|
|
87046
87082
|
return;
|
|
87047
87083
|
}
|
|
87048
|
-
const socket = new WebSocket(this.wsUrl, { headers: {
|
|
87084
|
+
const socket = new WebSocket$1(this.wsUrl, { headers: {
|
|
87049
87085
|
Authorization: `Bearer ${this.apiKey}`,
|
|
87050
87086
|
"OpenAI-Beta": "responses-websocket=v1"
|
|
87051
87087
|
} });
|
|
@@ -21866,16 +21866,38 @@ const handleBashCommand = async (params, allowTextCommands) => {
|
|
|
21866
21866
|
//#region src/agents/context.ts
|
|
21867
21867
|
const ANTHROPIC_1M_MODEL_PREFIXES$1 = ["claude-opus-4", "claude-sonnet-4"];
|
|
21868
21868
|
const ANTHROPIC_CONTEXT_1M_TOKENS = 1048576;
|
|
21869
|
+
function resolveBareModelId(modelId) {
|
|
21870
|
+
const trimmed = modelId.trim();
|
|
21871
|
+
if (!trimmed) return "";
|
|
21872
|
+
const slash = trimmed.lastIndexOf("/");
|
|
21873
|
+
return slash >= 0 ? trimmed.slice(slash + 1).trim() : trimmed;
|
|
21874
|
+
}
|
|
21875
|
+
function cacheContextWindow(params) {
|
|
21876
|
+
const { cache, bareCache, modelId, contextWindow, preferSmaller } = params;
|
|
21877
|
+
const existing = cache.get(modelId);
|
|
21878
|
+
if (existing === void 0 || (preferSmaller ? contextWindow < existing : contextWindow !== existing)) cache.set(modelId, contextWindow);
|
|
21879
|
+
const bareModelId = resolveBareModelId(modelId);
|
|
21880
|
+
if (!bareModelId) return;
|
|
21881
|
+
const existingBare = bareCache.get(bareModelId);
|
|
21882
|
+
if (existingBare === void 0 || contextWindow < existingBare) bareCache.set(bareModelId, contextWindow);
|
|
21883
|
+
}
|
|
21869
21884
|
function applyDiscoveredContextWindows(params) {
|
|
21885
|
+
const bareCache = params.bareCache ?? /* @__PURE__ */ new Map();
|
|
21870
21886
|
for (const model of params.models) {
|
|
21871
21887
|
if (!model?.id) continue;
|
|
21872
21888
|
const contextWindow = typeof model.contextWindow === "number" ? Math.trunc(model.contextWindow) : void 0;
|
|
21873
21889
|
if (!contextWindow || contextWindow <= 0) continue;
|
|
21874
|
-
|
|
21875
|
-
|
|
21890
|
+
cacheContextWindow({
|
|
21891
|
+
cache: params.cache,
|
|
21892
|
+
bareCache,
|
|
21893
|
+
modelId: model.id,
|
|
21894
|
+
contextWindow,
|
|
21895
|
+
preferSmaller: true
|
|
21896
|
+
});
|
|
21876
21897
|
}
|
|
21877
21898
|
}
|
|
21878
21899
|
function applyConfiguredContextWindows(params) {
|
|
21900
|
+
const bareCache = params.bareCache ?? /* @__PURE__ */ new Map();
|
|
21879
21901
|
const providers = params.modelsConfig?.providers;
|
|
21880
21902
|
if (!providers || typeof providers !== "object") return;
|
|
21881
21903
|
for (const provider of Object.values(providers)) {
|
|
@@ -21884,11 +21906,18 @@ function applyConfiguredContextWindows(params) {
|
|
|
21884
21906
|
const modelId = typeof model?.id === "string" ? model.id : void 0;
|
|
21885
21907
|
const contextWindow = typeof model?.contextWindow === "number" ? model.contextWindow : void 0;
|
|
21886
21908
|
if (!modelId || !contextWindow || contextWindow <= 0) continue;
|
|
21887
|
-
|
|
21909
|
+
cacheContextWindow({
|
|
21910
|
+
cache: params.cache,
|
|
21911
|
+
bareCache,
|
|
21912
|
+
modelId,
|
|
21913
|
+
contextWindow,
|
|
21914
|
+
preferSmaller: false
|
|
21915
|
+
});
|
|
21888
21916
|
}
|
|
21889
21917
|
}
|
|
21890
21918
|
}
|
|
21891
21919
|
const MODEL_CACHE = /* @__PURE__ */ new Map();
|
|
21920
|
+
const BARE_MODEL_CACHE = /* @__PURE__ */ new Map();
|
|
21892
21921
|
let loadPromise = null;
|
|
21893
21922
|
let configuredWindowsPrimed = false;
|
|
21894
21923
|
function getCommandPathFromArgv(argv) {
|
|
@@ -21919,6 +21948,7 @@ function primeConfiguredContextWindows() {
|
|
|
21919
21948
|
const cfg = loadConfig();
|
|
21920
21949
|
applyConfiguredContextWindows({
|
|
21921
21950
|
cache: MODEL_CACHE,
|
|
21951
|
+
bareCache: BARE_MODEL_CACHE,
|
|
21922
21952
|
modelsConfig: cfg.models
|
|
21923
21953
|
});
|
|
21924
21954
|
return cfg;
|
|
@@ -21940,11 +21970,13 @@ function ensureContextWindowCacheLoaded() {
|
|
|
21940
21970
|
const modelRegistry = discoverModels(discoverAuthStorage(agentDir), agentDir);
|
|
21941
21971
|
applyDiscoveredContextWindows({
|
|
21942
21972
|
cache: MODEL_CACHE,
|
|
21973
|
+
bareCache: BARE_MODEL_CACHE,
|
|
21943
21974
|
models: typeof modelRegistry.getAvailable === "function" ? modelRegistry.getAvailable() : modelRegistry.getAll()
|
|
21944
21975
|
});
|
|
21945
21976
|
} catch {}
|
|
21946
21977
|
applyConfiguredContextWindows({
|
|
21947
21978
|
cache: MODEL_CACHE,
|
|
21979
|
+
bareCache: BARE_MODEL_CACHE,
|
|
21948
21980
|
modelsConfig: cfg.models
|
|
21949
21981
|
});
|
|
21950
21982
|
})().catch(() => {});
|
|
@@ -21953,7 +21985,11 @@ function ensureContextWindowCacheLoaded() {
|
|
|
21953
21985
|
function lookupContextTokens(modelId) {
|
|
21954
21986
|
if (!modelId) return;
|
|
21955
21987
|
ensureContextWindowCacheLoaded();
|
|
21956
|
-
|
|
21988
|
+
const direct = MODEL_CACHE.get(modelId);
|
|
21989
|
+
if (direct !== void 0) return direct;
|
|
21990
|
+
const bareModelId = resolveBareModelId(modelId);
|
|
21991
|
+
if (!bareModelId) return;
|
|
21992
|
+
return BARE_MODEL_CACHE.get(bareModelId);
|
|
21957
21993
|
}
|
|
21958
21994
|
if (!shouldSkipEagerContextWindowWarmup()) ensureContextWindowCacheLoaded();
|
|
21959
21995
|
function resolveConfiguredModelParams(cfg, provider, model) {
|
|
@@ -60929,7 +60965,7 @@ function createOutboundSendDepsFromCliSource(deps) {
|
|
|
60929
60965
|
function createDefaultDeps() {
|
|
60930
60966
|
return {
|
|
60931
60967
|
sendMessageWhatsApp: async (...args) => {
|
|
60932
|
-
const { sendMessageWhatsApp } = await import("./web-
|
|
60968
|
+
const { sendMessageWhatsApp } = await import("./web-DBuATjw6.js");
|
|
60933
60969
|
return await sendMessageWhatsApp(...args);
|
|
60934
60970
|
},
|
|
60935
60971
|
sendMessageTelegram: async (...args) => {
|
|
@@ -79187,7 +79223,7 @@ function loadWebLoginQr() {
|
|
|
79187
79223
|
return webLoginQrPromise;
|
|
79188
79224
|
}
|
|
79189
79225
|
function loadWebChannel() {
|
|
79190
|
-
webChannelPromise ??= import("./web-
|
|
79226
|
+
webChannelPromise ??= import("./web-DBuATjw6.js");
|
|
79191
79227
|
return webChannelPromise;
|
|
79192
79228
|
}
|
|
79193
79229
|
function loadWhatsAppActions() {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { t as createSubsystemLogger } from "./subsystem-DjdBljTA.js";
|
|
2
2
|
import { T as truncateUtf16Safe } from "./utils-DIzy5B5o.js";
|
|
3
|
-
import { s as formatSandboxToolPolicyBlockedMessage } from "./sandbox-
|
|
4
|
-
import { t as sanitizeContentBlocksImages } from "./tool-images-
|
|
3
|
+
import { s as formatSandboxToolPolicyBlockedMessage } from "./sandbox-DI_zIUpo.js";
|
|
4
|
+
import { t as sanitizeContentBlocksImages } from "./tool-images-CmgHk8xk.js";
|
|
5
5
|
import { s as normalizeThinkLevel } from "./thinking-pYqswKJZ.js";
|
|
6
6
|
import path from "node:path";
|
|
7
|
-
import
|
|
7
|
+
import fsPromises from "node:fs/promises";
|
|
8
8
|
import { createHash } from "node:crypto";
|
|
9
9
|
|
|
10
10
|
//#region src/agents/pi-embedded-helpers/bootstrap.ts
|
|
@@ -102,10 +102,10 @@ function clampToBudget(content, budget) {
|
|
|
102
102
|
async function ensureSessionHeader(params) {
|
|
103
103
|
const file = params.sessionFile;
|
|
104
104
|
try {
|
|
105
|
-
await
|
|
105
|
+
await fsPromises.stat(file);
|
|
106
106
|
return;
|
|
107
107
|
} catch {}
|
|
108
|
-
await
|
|
108
|
+
await fsPromises.mkdir(path.dirname(file), { recursive: true });
|
|
109
109
|
const entry = {
|
|
110
110
|
type: "session",
|
|
111
111
|
version: 2,
|
|
@@ -113,7 +113,7 @@ async function ensureSessionHeader(params) {
|
|
|
113
113
|
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
114
114
|
cwd: params.cwd
|
|
115
115
|
};
|
|
116
|
-
await
|
|
116
|
+
await fsPromises.writeFile(file, `${JSON.stringify(entry)}\n`, "utf-8");
|
|
117
117
|
}
|
|
118
118
|
function buildBootstrapContextFiles(files, opts) {
|
|
119
119
|
const maxChars = opts?.maxChars ?? DEFAULT_BOOTSTRAP_MAX_CHARS;
|
|
@@ -10,7 +10,7 @@ import { t as parseBooleanValue } from "./boolean-mcn6kL0s.js";
|
|
|
10
10
|
import { t as CHANNEL_IDS } from "./registry-CJCkqTms.js";
|
|
11
11
|
import { t as generateSecureToken } from "./secure-random-CY3Mg7Dp.js";
|
|
12
12
|
import { i as getImageMetadata, n as buildImageResizeSideGrid, s as resizeToJpeg, t as IMAGE_REDUCE_QUALITY_STEPS } from "./image-ops-DCpyia_K.js";
|
|
13
|
-
import { C as ensureChromeExtensionRelayServer, D as PROFILE_POST_RESTART_WS_TIMEOUT_MS, E as PROFILE_ATTACH_RETRY_TIMEOUT_MS, G as DEFAULT_BROWSER_EVALUATE_ENABLED, H as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, I as resolveWritablePathWithinRoot, J as DEFAULT_OPENCLAW_BROWSER_PROFILE_NAME, K as DEFAULT_OPENCLAW_BROWSER_COLOR, M as DEFAULT_TRACE_DIR, N as DEFAULT_UPLOAD_DIR, O as resolveCdpReachabilityTimeouts, P as resolveExistingPathsWithinRoot, R as normalizeBrowserFormField, T as CDP_JSON_NEW_TIMEOUT_MS, U as DEFAULT_AI_SNAPSHOT_MAX_CHARS, V as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, W as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, _ as withBrowserNavigationPolicy, a as resolveOpenClawUserDataDir, b as fetchOk, c as resolveBrowserExecutableForPlatform, f as normalizeCdpWsUrl, g as assertBrowserNavigationResultAllowed, h as assertBrowserNavigationAllowed, i as launchOpenClawChrome, j as DEFAULT_DOWNLOAD_DIR, l as captureScreenshot, m as InvalidBrowserNavigationUrlError, n as isChromeCdpReady, o as stopOpenClawChrome, p as snapshotAria, q as DEFAULT_OPENCLAW_BROWSER_ENABLED, r as isChromeReachable, u as createTargetViaCdp, v as appendCdpPath, w as stopChromeExtensionRelayServer, y as fetchJson, z as isLoopbackHost } from "./chrome-
|
|
13
|
+
import { C as ensureChromeExtensionRelayServer, D as PROFILE_POST_RESTART_WS_TIMEOUT_MS, E as PROFILE_ATTACH_RETRY_TIMEOUT_MS, G as DEFAULT_BROWSER_EVALUATE_ENABLED, H as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, I as resolveWritablePathWithinRoot, J as DEFAULT_OPENCLAW_BROWSER_PROFILE_NAME, K as DEFAULT_OPENCLAW_BROWSER_COLOR, M as DEFAULT_TRACE_DIR, N as DEFAULT_UPLOAD_DIR, O as resolveCdpReachabilityTimeouts, P as resolveExistingPathsWithinRoot, R as normalizeBrowserFormField, T as CDP_JSON_NEW_TIMEOUT_MS, U as DEFAULT_AI_SNAPSHOT_MAX_CHARS, V as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, W as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, _ as withBrowserNavigationPolicy, a as resolveOpenClawUserDataDir, b as fetchOk, c as resolveBrowserExecutableForPlatform, f as normalizeCdpWsUrl, g as assertBrowserNavigationResultAllowed, h as assertBrowserNavigationAllowed, i as launchOpenClawChrome, j as DEFAULT_DOWNLOAD_DIR, l as captureScreenshot, m as InvalidBrowserNavigationUrlError, n as isChromeCdpReady, o as stopOpenClawChrome, p as snapshotAria, q as DEFAULT_OPENCLAW_BROWSER_ENABLED, r as isChromeReachable, u as createTargetViaCdp, v as appendCdpPath, w as stopChromeExtensionRelayServer, y as fetchJson, z as isLoopbackHost } from "./chrome-CjTE-vWv.js";
|
|
14
14
|
import { a as syncSkillsToWorkspace, l as resolveSandboxInputPath, m as sanitizeEnvVars, u as resolveSandboxPath } from "./skills-DMmr25nW.js";
|
|
15
15
|
import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-CKjKIhQ3.js";
|
|
16
16
|
import { n as extractErrorCode, r as formatErrorMessage } from "./errors-DEkWxItM.js";
|
|
@@ -1192,7 +1192,7 @@ function isModuleNotFoundError(err) {
|
|
|
1192
1192
|
}
|
|
1193
1193
|
async function loadPwAiModule(mode) {
|
|
1194
1194
|
try {
|
|
1195
|
-
return await import("./pw-ai-
|
|
1195
|
+
return await import("./pw-ai-DGwA7iCM.js");
|
|
1196
1196
|
} catch (err) {
|
|
1197
1197
|
if (mode === "soft") return null;
|
|
1198
1198
|
if (isModuleNotFoundError(err)) return null;
|
|
@@ -3558,7 +3558,7 @@ function createProfileAvailability({ opts, profile, state, getProfileState, setP
|
|
|
3558
3558
|
//#region src/browser/server-context.reset.ts
|
|
3559
3559
|
async function closePlaywrightBrowserConnection() {
|
|
3560
3560
|
try {
|
|
3561
|
-
await (await import("./pw-ai-
|
|
3561
|
+
await (await import("./pw-ai-DGwA7iCM.js")).closePlaywrightBrowserConnection();
|
|
3562
3562
|
} catch {}
|
|
3563
3563
|
}
|
|
3564
3564
|
function createProfileResetOps({ profile, getProfileState, stopRunningBrowser, isHttpReachable, resolveOpenClawUserDataDir }) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
|
-
import { Kn as ensureAuthProfileStore, hr as normalizeProviderId } from "./auth-profiles-
|
|
2
|
+
import { Kn as ensureAuthProfileStore, hr as normalizeProviderId } from "./auth-profiles-CyG9VwU_.js";
|
|
3
3
|
import path from "node:path";
|
|
4
4
|
import fs from "node:fs";
|
|
5
5
|
import * as PiCodingAgent from "@mariozechner/pi-coding-agent";
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { Nn as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH } from "./auth-profiles-
|
|
2
|
-
import { i as resolveAgentConfig } from "./agent-scope-
|
|
1
|
+
import { Nn as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH } from "./auth-profiles-CyG9VwU_.js";
|
|
2
|
+
import { i as resolveAgentConfig } from "./agent-scope-CY2-lUIY.js";
|
|
3
3
|
import { E as resolveThreadParentSessionKey, c as normalizeAgentId, u as resolveAgentIdFromSessionKey } from "./session-key-BLprDJYq.js";
|
|
4
|
-
import { l as normalizeStringEntries, o as resolveChannelGroupToolsPolicy, t as getChannelDock } from "./dock-
|
|
4
|
+
import { l as normalizeStringEntries, o as resolveChannelGroupToolsPolicy, t as getChannelDock } from "./dock-CoclJnwp.js";
|
|
5
5
|
import { l as normalizeMessageChannel } from "./message-channel-0J6eKf3g.js";
|
|
6
|
-
import { S as normalizeToolName, T as matchesAnyGlobPattern, w as compileGlobPatterns, x as expandToolGroups } from "./sandbox-
|
|
7
|
-
import { i as readChannelAllowFromStore } from "./pairing-store-
|
|
6
|
+
import { S as normalizeToolName, T as matchesAnyGlobPattern, w as compileGlobPatterns, x as expandToolGroups } from "./sandbox-DI_zIUpo.js";
|
|
7
|
+
import { i as readChannelAllowFromStore } from "./pairing-store-rFuiIoGM.js";
|
|
8
8
|
import { i as resolveGroupAllowFromSources, r as mergeDmAllowFromSources } from "./allow-from-CrohZBvI.js";
|
|
9
9
|
|
|
10
10
|
//#region src/channels/command-gating.ts
|