@gguf/claw 2026.2.4 → 2026.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.
- package/CHANGELOG.md +50 -1
- package/LICENSE +1 -1
- package/README.md +50 -43
- package/dist/{accounts-BlHoTziG.js → accounts-BgZmhIm6.js} +4 -4
- package/dist/{accounts-B5QZU96b.js → accounts-Dto4p9zB.js} +2 -2
- package/dist/{acp-cli-DU_cVWbN.js → acp-cli-BOKabdeW.js} +15 -15
- package/dist/{acp-cli-O8LcQigE.js → acp-cli-BwcHtBDk.js} +19 -19
- package/dist/{agent-BBI-UGkN.js → agent-DztWhVCH.js} +20 -13
- package/dist/{agent-DuQt3QDO.js → agent-_H-0rbHV.js} +21 -14
- package/dist/{agent-scope-jm0ZdXwM.js → agent-scope-C9VjJXEK.js} +5 -180
- package/dist/{agent-scope-CrgUOY3f.js → agent-scope-CMs5Y7l-.js} +6 -181
- package/dist/{agent-scope-COnICB_7.js → agent-scope-Csu2B6AM.js} +2 -2
- package/dist/{audit-D-OqdjQu.js → audit-BWbjQmyv.js} +182 -15
- package/dist/{audit-CWGOX7Eh.js → audit-ZY6Dk5Ec.js} +183 -16
- package/dist/{auth-viF_w60n.js → auth-CbhB03Rz.js} +2 -2
- package/dist/{auth-DK3l201_.js → auth-DksjO6WG.js} +2 -2
- package/dist/{auth-health-DcKoxhDo.js → auth-health-C4bElkgf.js} +1 -1
- package/dist/{auth-health-Ba9GTScq.js → auth-health-Ctf-_JFE.js} +1 -1
- package/dist/{auth-profiles-CfFGCDJa.js → auth-profiles-CYBuGiBb.js} +38 -13
- package/dist/build-info.json +2 -2
- package/dist/{call-CfqL-4Nc.js → call-90HgQQ8o.js} +34 -8
- package/dist/{call-CPBhMXxo.js → call-BTbA5OB4.js} +35 -9
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/canvas-host/a2ui/a2ui.bundle.js +29 -44
- package/dist/{channel-options-eRR8_a8h.js → channel-options-DrUmtdd9.js} +3 -3
- package/dist/{channel-options-BCSvD6JM.js → channel-options-uftAnT5P.js} +7 -7
- package/dist/{channel-selection-BAwiO0li.js → channel-selection-CJWYmCLf.js} +2 -2
- package/dist/{channel-selection-BCn8_qun.js → channel-selection-PZuuCvrp.js} +2 -2
- package/dist/{channel-summary-BkqO8zZ9.js → channel-summary-D9nzC5WB.js} +8 -42
- package/dist/{channel-summary-C8GoEKgH.js → channel-summary-DUiKDBLv.js} +9 -43
- package/dist/{channels-cli-CBGINubh.js → channels-cli-PAlqhOZ7.js} +56 -54
- package/dist/{channels-cli-yQo-Rzw6.js → channels-cli-PPk5wwuy.js} +59 -57
- package/dist/{channels-status-issues-C9vMMPG0.js → channels-status-issues-CJ8PJgDc.js} +1 -1
- package/dist/{channels-status-issues-DRXQXvhY.js → channels-status-issues-CrS1r5sr.js} +1 -1
- package/dist/{chrome-DlqPCh1y.js → chrome-B3IuUad-.js} +2 -2
- package/dist/{chrome-D2LUApAY.js → chrome-BNSd7Bie.js} +5 -5
- package/dist/{clack-prompter-OmDa1Hm1.js → clack-prompter-CEKDd_Vg.js} +5 -5
- package/dist/{clack-prompter-BJuVh97L.js → clack-prompter-DuBVnTKy.js} +4 -4
- package/dist/cli/daemon-cli.js +1 -1
- package/dist/cli-DBAccB3n.js +86 -0
- package/dist/cli-DD5dW58-.js +89 -0
- package/dist/{client-zqMhLTAX.js → client-BYVbRnuQ.js} +13 -5
- package/dist/{client-cU7Xg1MO.js → client-CxbkcEZ7.js} +12 -4
- package/dist/{command-options-51bBgSJL.js → command-options-DUUINcz0.js} +3 -3
- package/dist/{commands-DMKDOFmC.js → commands-DAC7XMAT.js} +5 -4
- package/dist/completion-cli-BPIeQDFy.js +773 -0
- package/dist/{completion-cli-BoF86Oeq.js → completion-cli-BbhA_JbG.js} +62 -15
- package/dist/{config-qgIz1lbh.js → config-CAuZ-EkU.js} +93 -31
- package/dist/{config-CGsoho7J.js → config-CG73z4h6.js} +61 -28
- package/dist/{config-DCT1RAo6.js → config-CKLedg5Y.js} +92 -30
- package/dist/{config-guard-CJuPkD5Y.js → config-guard-a5ynrKd-.js} +181 -57
- package/dist/{configure-C1_0rFdQ.js → configure-B47GYdlB.js} +33 -23
- package/dist/{configure-D0OAmW2s.js → configure-ChnTy7Jz.js} +31 -21
- package/dist/{control-service-BW5sW2U1.js → control-service-CS61Road.js} +13 -6
- package/dist/{control-service-Ds9ompnU.js → control-service-D2E9NKqQ.js} +12 -5
- package/dist/control-ui/assets/{index-RwcW4Xl0.css → index-BoXosYY6.css} +1 -1
- package/dist/control-ui/assets/index-Dm6g1E26.js +7553 -0
- package/dist/control-ui/assets/index-Dm6g1E26.js.map +1 -0
- package/dist/control-ui/index.html +2 -2
- package/dist/{cron-cli-Bn_e3WGb.js → cron-cli-CssI71-c.js} +20 -19
- package/dist/{cron-cli-BVARiNrv.js → cron-cli-Ys53MyTg.js} +24 -23
- package/dist/{daemon-cli-fHXAapHL.js → daemon-cli-B6aLZ8OE.js} +28 -23
- package/dist/{daemon-cli-yy_MAYxv.js → daemon-cli-CMKd_D6h.js} +26 -21
- package/dist/{daemon-runtime-vNkYv9tq.js → daemon-runtime-BCn_QIHK.js} +64 -7
- package/dist/{daemon-runtime-ELWW7q0C.js → daemon-runtime-DMd0mgTK.js} +64 -7
- package/dist/{deliver-Bsvrattg.js → deliver-C3bnXkg5.js} +12 -10
- package/dist/{deliver-Dl8TEyHM.js → deliver-CZPhTA7x.js} +7 -5
- package/dist/{deliver-eE21zdeQ.js → deliver-Cau4HL7W.js} +11 -9
- package/dist/{deps-BrcOX0ht.js → deps-BG1LonF6.js} +2 -2
- package/dist/{deps-wXkiMwLZ.js → deps-ytXmI88x.js} +2 -2
- package/dist/{devices-cli-BjlwgE6B.js → devices-cli-Cm0ENrXH.js} +16 -16
- package/dist/{devices-cli-BVc_Ic5O.js → devices-cli-D_rnGkqO.js} +12 -12
- package/dist/{directory-cli-cc9ivzEM.js → directory-cli-CGLolzJC.js} +15 -15
- package/dist/{directory-cli-CULRQACb.js → directory-cli-CTtv_AB7.js} +19 -19
- package/dist/{dispatcher-BNB5aCZ6.js → dispatcher-6oI-H42S.js} +1 -1
- package/dist/{dns-cli-BwDdBlsK.js → dns-cli-BRkJGLqK.js} +15 -15
- package/dist/{dns-cli-B79COhmu.js → dns-cli-CoeI4817.js} +11 -11
- package/dist/{docs-cli-BM55jf4Y.js → docs-cli-BH9bMx3a.js} +7 -7
- package/dist/{docs-cli-t7IEzxr8.js → docs-cli-Bh1Coji2.js} +10 -10
- package/dist/{doctor-CT9JPoCt.js → doctor-CwSrWRCp.js} +43 -38
- package/dist/{doctor-OmfNRlMS.js → doctor-JnMryC_M.js} +40 -35
- package/dist/entry.js +12 -8
- package/dist/{env-DOcCob95.js → env-0_mKbEWW.js} +2 -2
- package/dist/{errors-DdT2Dtkb.js → errors-CZ9opC6L.js} +4 -4
- package/dist/{exec-B7WKla_0.js → exec-BMnoMcZW.js} +1 -1
- package/dist/{exec-CTo4hK94.js → exec-HEWTMJ7j.js} +1 -1
- package/dist/{exec-approvals-WdYFyy5N.js → exec-approvals-BCEFzcbC.js} +19 -2
- package/dist/{exec-approvals-CK-Umdr3.js → exec-approvals-DZixgolZ.js} +19 -2
- package/dist/{exec-approvals-cli-DD_z4fL9.js → exec-approvals-cli-D7aVv5hN.js} +19 -19
- package/dist/{exec-approvals-cli-BK2toX2b.js → exec-approvals-cli-DzLp5G7t.js} +23 -23
- package/dist/extensionAPI.js +1186 -267
- package/dist/{gateway-cli-BCC0T5iY.js → gateway-cli-DHP5DRUH.js} +910 -199
- package/dist/{gateway-cli-BTlr6Uwl.js → gateway-cli-ape0pnBU.js} +912 -202
- package/dist/{gateway-rpc-CMAcradB.js → gateway-rpc-C8rNIC0P.js} +3 -3
- package/dist/{gateway-rpc-SvVB4Fmv.js → gateway-rpc-CWnTaSEY.js} +3 -3
- package/dist/{github-copilot-auth-BHLcQ1sN.js → github-copilot-auth-B_lK1g__.js} +173 -87
- package/dist/{github-copilot-auth-BoRchp_Q.js → github-copilot-auth-C8Uf0Q03.js} +174 -88
- package/dist/{github-copilot-token-BEtihsn6.js → github-copilot-token-B3SA95yo.js} +8 -2
- package/dist/{github-copilot-token-rP-6QdKv.js → github-copilot-token-SLWintYd.js} +7 -1
- package/dist/{github-copilot-token-VZsS4013.js → github-copilot-token-pGSmVaW-.js} +8 -2
- package/dist/{gmail-setup-utils-4czdWNCN.js → gmail-setup-utils-Bi6W14MK.js} +3 -3
- package/dist/{gmail-setup-utils-B1CTmT2V.js → gmail-setup-utils-QpN7TEXS.js} +4 -4
- package/dist/{health-format-B4_A88V3.js → health-format-B3eStY5r.js} +215 -21
- package/dist/{health-format-Ct8J0fwc.js → health-format-ND2rUbQO.js} +213 -19
- package/dist/{help-format-CGcnDM3D.js → help-format-Bozi4K9H.js} +1 -1
- package/dist/{helpers-DfgBr1D5.js → helpers-BIc7L8EF.js} +1 -1
- package/dist/{helpers-Cw9kFCkw.js → helpers-D66_XoIz.js} +1 -1
- package/dist/{hooks-cli-NmkXLKmj.js → hooks-cli-BMu_-4Ru.js} +49 -49
- package/dist/{hooks-cli-B-28F__A.js → hooks-cli-CmeQxEOM.js} +45 -45
- package/dist/{hooks-status-I3Y60zVN.js → hooks-status-CKmUPU-M.js} +3 -3
- package/dist/{hooks-status-XV9oQICf.js → hooks-status-DepPyfBb.js} +4 -4
- package/dist/{image-ClOB6QDJ.js → image-Ca_PtqY7.js} +8 -6
- package/dist/{image-BYmtfVH8.js → image-CgBndiQy.js} +9 -7
- package/dist/{image-CXg7Z0WD.js → image-nRwqkmtf.js} +8 -6
- package/dist/index.js +231 -105
- package/dist/{installs-C5cjVarj.js → installs-BhEjOqPy.js} +43 -6
- package/dist/{installs-W4Pc1LJz.js → installs-DsJkyWfL.js} +43 -6
- package/dist/{links-C9fyAH-V.js → links-B5pRdmo1.js} +1 -1
- package/dist/{links-jGisPfXW.js → links-D0uzJbi6.js} +1 -1
- package/dist/{loader-BYWxo-_j.js → loader-_Pj-TZS2.js} +920 -491
- package/dist/{logging-BnUUuH3y.js → logging-Cc7m6PTv.js} +1 -1
- package/dist/{logging-CLCWl7Iu.js → logging-TXWhN8jG.js} +2 -2
- package/dist/{login-qr-C2H_iQJU.js → login-qr-BIlr0vwe.js} +12 -7
- package/dist/{login-qr-7WOtj6zE.js → login-qr-CcOWO_dR.js} +9 -4
- package/dist/{login-qr-sEcxw1_U.js → login-qr-Cmsf7BGt.js} +11 -6
- package/dist/{logs-cli-C5v4fEDj.js → logs-cli-5L3NxTsc.js} +19 -19
- package/dist/{logs-cli-nVwK5g60.js → logs-cli-DtiFFkZL.js} +15 -15
- package/dist/{manager-rDmdE7O9.js → manager-BXiIQku7.js} +9 -7
- package/dist/{manager-JSP5pLyv.js → manager-C4ILl-d3.js} +10 -8
- package/dist/{manager-BArueSTR.js → manager-LpytrxUw.js} +12 -10
- package/dist/{manifest-registry-tuAcHxrV.js → manifest-registry-C69Z-I4v.js} +1 -1
- package/dist/{manifest-registry-BFpLJJDB.js → manifest-registry-DHaa1SJb.js} +1 -1
- package/dist/{message-channel-CAFcg7mw.js → message-channel-BlgPSDAh.js} +6 -1
- package/dist/{message-channel-CQGWXVL4.js → message-channel-Bpfe5l5f.js} +7 -2
- package/dist/{model-selection-Cp1maz7B.js → model-selection-DMUrNhQP.js} +41 -16
- package/dist/{model-selection-Cs1y6OBv.js → model-selection-mzTqrNoj.js} +38 -14
- package/dist/{models-cli-n9a8pESx.js → models-cli-DHzyyLvp.js} +49 -49
- package/dist/{models-cli-DGnLcr4X.js → models-cli-EhrWjNLH.js} +53 -53
- package/dist/{net-DaJz_a4n.js → net-C8YRVt16.js} +1 -1
- package/dist/{net-DeiCIMU6.js → net-CWMMy37F.js} +1 -1
- package/dist/{node-cli-rtEq-YyU.js → node-cli-2oYmIWJt.js} +30 -30
- package/dist/{node-cli-AOO0HsM1.js → node-cli-DH7Ykym5.js} +26 -26
- package/dist/{node-service-CjtBRyjp.js → node-service-BAYHx0E7.js} +2 -2
- package/dist/{node-service-BW_LhY5w.js → node-service-Lc1LlnFH.js} +2 -2
- package/dist/{nodes-cli-Coxj5hDA.js → nodes-cli-Bc5K-0Lt.js} +22 -22
- package/dist/{nodes-cli-ChBsNXzz.js → nodes-cli-hT8yYD7S.js} +18 -18
- package/dist/{nodes-screen-Ln98EX_f.js → nodes-screen-DGlNPbk4.js} +2 -2
- package/dist/{nodes-screen-DOhGEibx.js → nodes-screen-DT5HvhJV.js} +2 -2
- package/dist/{note-BFpD-42H.js → note-B5HnoeZX.js} +2 -2
- package/dist/{note-CBiVaqG7.js → note-Ci08TSbV.js} +1 -1
- package/dist/{onboard-channels-CF7lTDNu.js → onboard-channels-D-ZQTy5V.js} +9 -8
- package/dist/{onboard-channels-CJCy7TTQ.js → onboard-channels-DKT27PdN.js} +10 -9
- package/dist/{onboard-skills-DdFGj9pt.js → onboard-skills-YobctE-R.js} +259 -194
- package/dist/{onboard-skills-fL84FI8F.js → onboard-skills-s8J5xbUr.js} +259 -194
- package/dist/{onboarding-DcN1avQK.js → onboarding-BP4-5uzE.js} +96 -60
- package/dist/{pairing-cli-DbP9KqPL.js → pairing-cli-C8KHRjaU.js} +15 -15
- package/dist/{pairing-cli-B7RQFp4r.js → pairing-cli-i7wiTmYC.js} +19 -19
- package/dist/{pairing-labels-DK2aLSd2.js → pairing-labels-BbydDT7w.js} +1 -1
- package/dist/{pairing-labels-C6I3dD-m.js → pairing-labels-CtqLxbG6.js} +1 -1
- package/dist/{pairing-store-BnMngoWQ.js → pairing-store-DFq7WtOv.js} +2 -2
- package/dist/{pairing-store-DMex6WWe.js → pairing-store-DTfv_FGA.js} +1 -1
- package/dist/{path-env-CuGC6r1F.js → path-env-DP3DsVge.js} +2 -2
- package/dist/{path-env-CUhrC5DA.js → path-env-h3xp5PqO.js} +1 -1
- package/dist/{paths-xPuk88Yf.js → paths-B4kigINg.js} +2 -2
- package/dist/{paths-50eo6DV6.js → paths-Bb0nwPeu.js} +2 -2
- package/dist/{paths-RvF0P6tQ.js → paths-CTg8F3AE.js} +1 -1
- package/dist/{pi-embedded-helpers-DJgCXZEz.js → pi-embedded-helpers-BB4uACeq.js} +175 -170
- package/dist/{pi-embedded-helpers-DiK8Qn1l.js → pi-embedded-helpers-BxqZh6U7.js} +43 -19
- package/dist/{pi-embedded-helpers-CC00lEFI.js → pi-embedded-helpers-DF8SAHU-.js} +175 -170
- package/dist/{pi-model-discovery-DjGamP_B.js → pi-model-discovery-CV2V1HHz.js} +8 -1
- package/dist/{pi-model-discovery-CnK2Dol8.js → pi-model-discovery-DzEIEgHL.js} +8 -1
- package/dist/{pi-model-discovery-CsRo-xMp.js → pi-model-discovery-EhM2JAQo.js} +8 -1
- package/dist/{pi-tools.policy-DleRi9eC.js → pi-tools.policy-BQ8N5y8a.js} +5 -4
- package/dist/{plugin-auto-enable-JQ63k0Ce.js → plugin-auto-enable-Ci7TBlH2.js} +5 -5
- package/dist/{plugin-auto-enable-CIVp3SAp.js → plugin-auto-enable-DyW8lHTT.js} +4 -4
- package/dist/plugin-sdk/index.d.ts +228 -283
- package/dist/plugin-sdk/index.js +22528 -69091
- package/dist/plugin-sdk/pi-model-discovery-Dw3A6oXH.js +37 -0
- package/dist/{plugins-TrKFfrLt.js → plugins-BUPpq5aS.js} +3 -2
- package/dist/{plugins-D1CxUobm.js → plugins-BYIWo0Cp.js} +5 -4
- package/dist/{plugins-cli-17wYux52.js → plugins-cli-CGfxctIx.js} +50 -49
- package/dist/{plugins-cli-VyQWn_LW.js → plugins-cli-Dr_R2-FY.js} +46 -45
- package/dist/{ports-B27T1uRn.js → ports-0V-Mu4ch.js} +2 -2
- package/dist/{program-BA9_uWfO.js → program-oR55MCAT.js} +84 -81
- package/dist/{progress-uNDQDtGB.js → progress-xpLtQsNY.js} +1 -1
- package/dist/{prompt-style-gfROyHgB.js → prompt-style-vzh0MGHs.js} +1 -1
- package/dist/{pw-ai-BC4dLE7k.js → pw-ai-B7Fvw8DW.js} +4 -4
- package/dist/{pw-ai-DlTBXZjY.js → pw-ai-DYpQO6HI.js} +6 -6
- package/dist/{pw-ai-BEqPnalN.js → pw-ai-tNPuRNn3.js} +4 -4
- package/dist/{qmd-manager-8xWxIGbO.js → qmd-manager-BKkFEEN_.js} +9 -8
- package/dist/{plugin-sdk/qmd-manager-DvkA01DP.js → qmd-manager-CF52nuBg.js} +6 -6
- package/dist/{qmd-manager-BSCOmXYZ.js → qmd-manager-Dub8jfbo.js} +7 -6
- package/dist/{register.subclis-CWWz9WdX.js → register.subclis-BpIR6Iqi.js} +36 -30
- package/dist/{reply-CoztdrN_.js → reply-B8pOiUNN.js} +935 -506
- package/dist/rolldown-runtime-Cbj13DAv.js +20 -0
- package/dist/{routes-yI5QIzeL.js → routes-BSfXf8a5.js} +5 -5
- package/dist/{routes-Ds-tIZFJ.js → routes-DchZU3EK.js} +6 -6
- package/dist/{rpc-HF82_iLh.js → rpc-DqI3QH59.js} +3 -3
- package/dist/{rpc-HdKLb6jx.js → rpc-Vo2ACfn-.js} +3 -3
- package/dist/{run-main-B3krVvc1.js → run-main-DrVUUPHV.js} +84 -84
- package/dist/{sandbox-BXUfp_qv.js → sandbox-CV8VwPij.js} +36 -16
- package/dist/{sandbox-Cnq9TXEn.js → sandbox-DuqLKN5J.js} +34 -14
- package/dist/{sandbox-cli-C7j1V6tb.js → sandbox-cli-C0_Hrk7i.js} +25 -24
- package/dist/{sandbox-cli-CnS9JJlO.js → sandbox-cli-Ces6i3n2.js} +21 -20
- package/dist/{security-cli-Clg7RQT3.js → security-cli-CybLT9XS.js} +32 -30
- package/dist/{security-cli-BGd4NO4l.js → security-cli-T7yrd3lb.js} +28 -26
- package/dist/{server-context-D2cv-pIA.js → server-context-vChIAqjH.js} +6 -6
- package/dist/{server-context-CM_E6wD5.js → server-context-yKyxyxOJ.js} +5 -5
- package/dist/{server-node-events-IMwI538C.js → server-node-events-BR2vHqf6.js} +44 -43
- package/dist/{server-node-events-C5EqDe_U.js → server-node-events-D39FA0NG.js} +48 -47
- package/dist/{service-CAxAjHNB.js → service-BZesBIaG.js} +3 -3
- package/dist/{service-BoDHq_LN.js → service-_JwSmGSn.js} +2 -2
- package/dist/{service-audit-Bf33pqEM.js → service-audit-C-IA4omi.js} +6 -6
- package/dist/{service-audit-DBSAGhm8.js → service-audit-DDX1kO3k.js} +6 -6
- package/dist/session-cost-usage-BTXosU1k.js +692 -0
- package/dist/session-cost-usage-CBP4Hv9D.js +692 -0
- package/dist/session-key-CZkcvAtx.js +177 -0
- package/dist/session-key-Dm2EOhrH.js +177 -0
- package/dist/{shared-ChNOqAzp.js → shared-BmtNKsPq.js} +4 -4
- package/dist/{shared-D42-KbPa.js → shared-C1XLEyB0.js} +3 -3
- package/dist/{shared-xZjRQa6y.js → shared-C8_5pNbb.js} +4 -4
- package/dist/{shared-DBGw227P.js → shared-fnGLWyZ6.js} +3 -3
- package/dist/skill-scanner-BoGjHXUZ.js +255 -0
- package/dist/skill-scanner-Bp1D9gra.js +255 -0
- package/dist/{skills-DtwGIkTI.js → skills-CmU0Q92f.js} +3 -3
- package/dist/{skills-C4b1FA1e.js → skills-D5JDj3TR.js} +5 -5
- package/dist/{skills-cli-BPkuJAz9.js → skills-cli-C1yJvIkL.js} +16 -16
- package/dist/{skills-cli-b0ZmGlmh.js → skills-cli-DBC5zFat.js} +12 -12
- package/dist/{skills-status-CSCMqNZP.js → skills-status-CEvVUD3U.js} +3 -3
- package/dist/{skills-status-CWkBweWW.js → skills-status-DtXrj3fy.js} +2 -2
- package/dist/{status-BIWeu5mN.js → status-BRXuHUsK.js} +94 -58
- package/dist/{status-CcM6W8r4.js → status-BTGXSvZ1.js} +3 -3
- package/dist/{status-PjegR5Cv.js → status-DBZ5Z7ng.js} +4 -4
- package/dist/{subsystem-46MXi6Ip.js → subsystem-CAq3uyo7.js} +1 -1
- package/dist/{system-cli-B4FEIE5d.js → system-cli-Dqnt-b0D.js} +13 -13
- package/dist/{system-cli-BL_QZ1VP.js → system-cli-SJLtqI47.js} +17 -17
- package/dist/{systemd-DAgZTW06.js → systemd-8sIc6isV.js} +2 -2
- package/dist/{systemd-CNYEkRek.js → systemd-B-3NdMmA.js} +3 -3
- package/dist/{systemd-hints-CcgK8AJE.js → systemd-hints-DO88c_nD.js} +1 -1
- package/dist/{systemd-hints-okqOoOug.js → systemd-hints-Wim4Bq6j.js} +1 -1
- package/dist/{systemd-linger-CTe0ZDxD.js → systemd-linger-N-cIaegf.js} +8 -3
- package/dist/{systemd-linger-Cbkoh9qw.js → systemd-linger-SsSOsJST.js} +8 -3
- package/dist/{table-f0EgX-YI.js → table-CJSx0YID.js} +1 -1
- package/dist/{table-DuNe7Qes.js → table-CLtGjVsx.js} +2 -2
- package/dist/{tailscale-BUcKO8Rr.js → tailscale-9MusRvOi.js} +1 -1
- package/dist/{tailscale-Cvk3mQDZ.js → tailscale-BVGD9gSD.js} +2 -2
- package/dist/{tool-display-rIUh61kT.js → tool-display-BxZG0o1b.js} +2 -2
- package/dist/{tool-display-BMYWrp0L.js → tool-display-DmgKs6-V.js} +2 -2
- package/dist/{tui-cV-R-JXi.js → tui-DPorsF4z.js} +203 -75
- package/dist/{tui-DBmFYQTk.js → tui-XH6_v0qC.js} +204 -74
- package/dist/{tui-cli-B_CKOjZ1.js → tui-cli-DRSIBDgZ.js} +30 -29
- package/dist/{tui-cli-CVdJ28TX.js → tui-cli-DV_JAtnq.js} +26 -25
- package/dist/{update-BDyA5Iqy.js → update-DNAVcIQ7.js} +3 -3
- package/dist/{update-BIB5jGcv.js → update-DzMcwy1G.js} +3 -3
- package/dist/{update-cli-p49uMWby.js → update-cli-OAcZiYuA.js} +112 -27
- package/dist/{update-cli-C5vwquH_.js → update-cli-tQcy8mkI.js} +109 -23
- package/dist/{update-runner-8XFxQglY.js → update-runner-2i8_mIG5.js} +254 -17
- package/dist/{update-runner-s8Rs8ex3.js → update-runner-BDdk_K2S.js} +254 -17
- package/dist/usage-format-DvowRSs-.js +36 -0
- package/dist/usage-format-E3bMcUMV.js +36 -0
- package/dist/{utils-Dg0Xbl6w.js → utils-CKSrBNwq.js} +2 -2
- package/dist/{webhooks-cli-DkQGQ2ae.js → webhooks-cli-BztQHEco.js} +11 -11
- package/dist/{webhooks-cli-kRN8qR7B.js → webhooks-cli-ZAn97osC.js} +15 -15
- package/dist/{widearea-dns-BIhjVRG1.js → widearea-dns-CsSylzXH.js} +2 -2
- package/dist/{widearea-dns-D4yoSNNw.js → widearea-dns-D9Al4QRv.js} +2 -2
- package/dist/{ws-log-DQ6nkLys.js → ws-log-B7UNLFLC.js} +3 -3
- package/dist/{ws-log-C4IerKk4.js → ws-log-DJIXahf0.js} +2 -2
- package/dist/{wsl-DASmek7h.js → wsl-ATjkMwMA.js} +1 -1
- package/docs/.i18n/glossary.zh-CN.json +20 -0
- package/docs/assets/macos-onboarding/01-macos-warning.jpeg +0 -0
- package/docs/assets/macos-onboarding/02-local-networks.jpeg +0 -0
- package/docs/assets/macos-onboarding/03-security-notice.png +0 -0
- package/docs/assets/macos-onboarding/04-choose-gateway.png +0 -0
- package/docs/assets/macos-onboarding/05-permissions.png +0 -0
- package/docs/bedrock.md +3 -3
- package/docs/channels/discord.md +2 -1
- package/docs/channels/feishu.md +72 -2
- package/docs/channels/telegram.md +19 -0
- package/docs/cli/devices.md +3 -0
- package/docs/cli/gateway.md +3 -0
- package/docs/cli/index.md +2 -0
- package/docs/cli/onboard.md +16 -2
- package/docs/concepts/features.md +53 -0
- package/docs/concepts/memory.md +1 -1
- package/docs/concepts/messages.md +1 -1
- package/docs/concepts/model-providers.md +11 -11
- package/docs/concepts/models.md +1 -1
- package/docs/concepts/multi-agent.md +2 -2
- package/docs/concepts/session.md +19 -3
- package/docs/docs.json +331 -182
- package/docs/gateway/cli-backends.md +7 -5
- package/docs/gateway/configuration-examples.md +4 -4
- package/docs/gateway/configuration.md +34 -16
- package/docs/gateway/heartbeat.md +61 -1
- package/docs/gateway/local-models.md +3 -3
- package/docs/gateway/network-model.md +17 -0
- package/docs/gateway/remote.md +3 -1
- package/docs/gateway/security/index.md +1 -1
- package/docs/help/faq.md +25 -26
- package/docs/help/submitting-a-pr.md +214 -0
- package/docs/help/submitting-an-issue.md +165 -0
- package/docs/index.md +127 -193
- package/docs/install/docker.md +2 -2
- package/docs/{platforms → install}/exe-dev.md +4 -3
- package/docs/{platforms → install}/fly.md +1 -1
- package/docs/install/index.md +4 -2
- package/docs/nodes/media-understanding.md +2 -2
- package/docs/platforms/digitalocean.md +2 -2
- package/docs/platforms/index.md +4 -4
- package/docs/platforms/linux.md +1 -1
- package/docs/platforms/mac/release.md +7 -7
- package/docs/platforms/oracle.md +1 -1
- package/docs/platforms/raspberry-pi.md +1 -1
- package/docs/providers/anthropic.md +3 -3
- package/docs/providers/index.md +1 -1
- package/docs/providers/minimax.md +3 -3
- package/docs/providers/models.md +1 -1
- package/docs/providers/ollama.md +60 -6
- package/docs/providers/openai.md +2 -2
- package/docs/providers/opencode.md +1 -1
- package/docs/providers/vercel-ai-gateway.md +1 -1
- package/docs/reference/credits.md +27 -0
- package/docs/reference/wizard.md +268 -0
- package/docs/start/bootstrapping.md +41 -0
- package/docs/start/docs-directory.md +64 -0
- package/docs/start/getting-started.md +109 -197
- package/docs/start/hubs.md +12 -0
- package/docs/start/onboarding.md +51 -81
- package/docs/start/openclaw.md +3 -20
- package/docs/start/quickstart.md +22 -0
- package/docs/start/setup.md +14 -1
- package/docs/start/wizard-cli-automation.md +141 -0
- package/docs/start/wizard-cli-reference.md +244 -0
- package/docs/start/wizard.md +48 -289
- package/docs/style.css +3 -0
- package/docs/testing.md +9 -9
- package/docs/token-use.md +2 -2
- package/docs/tools/index.md +3 -0
- package/docs/tools/llm-task.md +1 -1
- package/docs/tools/thinking.md +1 -0
- package/docs/tui.md +3 -0
- package/docs/vps.md +6 -6
- package/docs/web/control-ui.md +2 -0
- package/docs/web/dashboard.md +7 -7
- package/docs/zh-CN/channels/feishu.md +119 -3
- package/docs/zh-CN/concepts/features.md +59 -0
- package/docs/zh-CN/gateway/network-model.md +23 -0
- package/docs/zh-CN/gateway/remote.md +1 -1
- package/docs/zh-CN/help/faq.md +5 -5
- package/docs/zh-CN/index.md +124 -202
- package/docs/zh-CN/install/docker.md +1 -1
- package/docs/zh-CN/platforms/digitalocean.md +2 -2
- package/docs/zh-CN/platforms/index.md +4 -4
- package/docs/zh-CN/platforms/linux.md +1 -1
- package/docs/zh-CN/platforms/oracle.md +1 -1
- package/docs/zh-CN/platforms/raspberry-pi.md +1 -1
- package/docs/zh-CN/providers/ollama.md +1 -1
- package/docs/zh-CN/reference/credits.md +34 -0
- package/docs/zh-CN/start/docs-directory.md +70 -0
- package/docs/zh-CN/start/getting-started.md +1 -1
- package/docs/zh-CN/start/hubs.md +39 -30
- package/docs/zh-CN/start/quickstart.md +88 -0
- package/docs/zh-CN/vps.md +4 -4
- package/extensions/bluebubbles/package.json +1 -1
- package/extensions/bluebubbles/src/monitor.ts +9 -0
- package/extensions/copilot-proxy/index.ts +1 -0
- package/extensions/copilot-proxy/package.json +1 -1
- package/extensions/diagnostics-otel/package.json +1 -1
- package/extensions/discord/package.json +1 -1
- package/extensions/feishu/index.ts +49 -1
- package/extensions/feishu/openclaw.plugin.json +1 -0
- package/extensions/feishu/package.json +9 -5
- package/extensions/feishu/skills/feishu-doc/SKILL.md +105 -0
- package/extensions/feishu/skills/feishu-doc/references/block-types.md +103 -0
- package/extensions/feishu/skills/feishu-drive/SKILL.md +97 -0
- package/extensions/feishu/skills/feishu-perm/SKILL.md +119 -0
- package/extensions/feishu/skills/feishu-wiki/SKILL.md +111 -0
- package/extensions/feishu/src/accounts.ts +144 -0
- package/extensions/feishu/src/bitable.ts +459 -0
- package/extensions/feishu/src/bot.ts +871 -0
- package/extensions/feishu/src/channel.ts +267 -202
- package/extensions/feishu/src/client.ts +118 -0
- package/extensions/feishu/src/config-schema.ts +152 -26
- package/extensions/feishu/src/directory.ts +177 -0
- package/extensions/feishu/src/doc-schema.ts +47 -0
- package/extensions/feishu/src/docx.ts +521 -0
- package/extensions/feishu/src/drive-schema.ts +46 -0
- package/extensions/feishu/src/drive.ts +227 -0
- package/extensions/feishu/src/media.ts +527 -0
- package/extensions/feishu/src/mention.ts +126 -0
- package/extensions/feishu/src/monitor.ts +190 -0
- package/extensions/feishu/src/onboarding.ts +278 -200
- package/extensions/feishu/src/outbound.ts +40 -0
- package/extensions/feishu/src/perm-schema.ts +52 -0
- package/extensions/feishu/src/perm.ts +173 -0
- package/extensions/feishu/src/policy.ts +104 -0
- package/extensions/feishu/src/probe.ts +44 -0
- package/extensions/feishu/src/reactions.ts +160 -0
- package/extensions/feishu/src/reply-dispatcher.ts +184 -0
- package/extensions/feishu/src/runtime.ts +14 -0
- package/extensions/feishu/src/send.ts +358 -0
- package/extensions/feishu/src/targets.ts +78 -0
- package/extensions/feishu/src/tools-config.ts +21 -0
- package/extensions/feishu/src/types.ts +75 -0
- package/extensions/feishu/src/typing.ts +80 -0
- package/extensions/feishu/src/wiki-schema.ts +55 -0
- package/extensions/feishu/src/wiki.ts +232 -0
- package/extensions/google-antigravity-auth/package.json +1 -1
- package/extensions/google-gemini-cli-auth/package.json +1 -1
- package/extensions/googlechat/package.json +1 -1
- package/extensions/googlechat/src/monitor.ts +12 -1
- package/extensions/imessage/package.json +1 -1
- package/extensions/line/package.json +1 -1
- package/extensions/llm-task/package.json +1 -1
- package/extensions/lobster/package.json +1 -1
- package/extensions/matrix/CHANGELOG.md +6 -0
- package/extensions/matrix/package.json +1 -1
- package/extensions/matrix/src/config-schema.ts +1 -0
- package/extensions/matrix/src/matrix/monitor/handler.ts +9 -5
- package/extensions/matrix/src/types.ts +2 -0
- package/extensions/mattermost/package.json +1 -1
- package/extensions/mattermost/src/channel.test.ts +24 -0
- package/extensions/mattermost/src/config-schema.ts +1 -0
- package/extensions/mattermost/src/mattermost/monitor.ts +9 -5
- package/extensions/mattermost/src/types.ts +2 -0
- package/extensions/memory-core/package.json +1 -1
- package/extensions/memory-lancedb/node_modules/.bin/openai +2 -2
- package/extensions/memory-lancedb/node_modules/.bin/openai.CMD +2 -2
- package/extensions/memory-lancedb/node_modules/.bin/openai.ps1 +2 -2
- package/extensions/memory-lancedb/package.json +2 -2
- package/extensions/minimax-portal-auth/package.json +1 -1
- package/extensions/msteams/CHANGELOG.md +6 -0
- package/extensions/msteams/package.json +1 -1
- package/extensions/msteams/src/monitor-handler/message-handler.ts +1 -0
- package/extensions/msteams/src/reply-dispatcher.ts +7 -5
- package/extensions/nextcloud-talk/package.json +1 -1
- package/extensions/nextcloud-talk/src/config-schema.ts +1 -0
- package/extensions/nextcloud-talk/src/inbound.ts +10 -0
- package/extensions/nextcloud-talk/src/send.ts +7 -2
- package/extensions/nextcloud-talk/src/types.ts +2 -0
- package/extensions/nostr/CHANGELOG.md +6 -0
- package/extensions/nostr/package.json +1 -1
- package/extensions/open-prose/package.json +1 -1
- package/extensions/signal/package.json +1 -1
- package/extensions/slack/package.json +1 -1
- package/extensions/telegram/package.json +1 -1
- package/extensions/tlon/package.json +1 -1
- package/extensions/tlon/src/config-schema.ts +2 -0
- package/extensions/tlon/src/monitor/index.ts +41 -14
- package/extensions/tlon/src/monitor/utils.ts +1 -0
- package/extensions/twitch/CHANGELOG.md +6 -0
- package/extensions/twitch/package.json +1 -1
- package/extensions/twitch/src/config-schema.ts +2 -0
- package/extensions/twitch/src/monitor.ts +11 -0
- package/extensions/twitch/src/types.ts +2 -0
- package/extensions/voice-call/CHANGELOG.md +6 -0
- package/extensions/voice-call/package.json +1 -1
- package/extensions/voice-call/src/manager.test.ts +30 -0
- package/extensions/whatsapp/package.json +1 -1
- package/extensions/zalo/CHANGELOG.md +6 -0
- package/extensions/zalo/package.json +1 -1
- package/extensions/zalo/src/config-schema.ts +1 -0
- package/extensions/zalo/src/monitor.ts +11 -0
- package/extensions/zalo/src/types.ts +2 -0
- package/extensions/zalouser/CHANGELOG.md +6 -0
- package/extensions/zalouser/package.json +1 -1
- package/extensions/zalouser/src/config-schema.ts +1 -0
- package/extensions/zalouser/src/monitor.ts +12 -1
- package/extensions/zalouser/src/types.ts +2 -0
- package/package.json +14 -14
- package/dist/auth-profiles-3t9aTwDR.js +0 -11
- package/dist/auth-profiles-BYvLI-zr.js +0 -7
- package/dist/auth-profiles-DswR7tzt.js +0 -7
- package/dist/cli-BxIwNzhi.js +0 -89
- package/dist/cli-wFmvNjpg.js +0 -86
- package/dist/command-format-SkzzRqR1.js +0 -52
- package/dist/completion-cli-vxe-jqwC.js +0 -390
- package/dist/config-BwVg6hhl.js +0 -13
- package/dist/config-jKcyRiMo.js +0 -10
- package/dist/configure-DaecSBSI.js +0 -60
- package/dist/configure-t-7r9i4H.js +0 -64
- package/dist/control-service-Dag9b-dU.js +0 -16
- package/dist/control-service-DsUyuevF.js +0 -12
- package/dist/control-ui/assets/index-ryaCcbyp.js +0 -4584
- package/dist/control-ui/assets/index-ryaCcbyp.js.map +0 -1
- package/dist/daemon-cli-CUkUiGoK.js +0 -53
- package/dist/daemon-cli-D6FF4tmP.js +0 -49
- package/dist/deliver-BGnJ4-vz.js +0 -12
- package/dist/deliver-CXpx7BNb.js +0 -25
- package/dist/deliver-Ds2yqOA3.js +0 -21
- package/dist/doctor-BwqqPqMX.js +0 -58
- package/dist/doctor-DGrfzoKj.js +0 -62
- package/dist/github-copilot-token-B0CUgVkW.js +0 -4
- package/dist/github-copilot-token-B_uWT0Yi.js +0 -4
- package/dist/github-copilot-token-CXUZ9Lrb.js +0 -3
- package/dist/image-CgTMdnmz.js +0 -28
- package/dist/image-D1O-ebQc.js +0 -14
- package/dist/image-njq9Rf6U.js +0 -24
- package/dist/login-qr-BfbIJ1wP.js +0 -12
- package/dist/login-qr-CGWNrSQq.js +0 -9
- package/dist/login-qr-CUV9HZCg.js +0 -16
- package/dist/manager-DKpTd5pc.js +0 -10
- package/dist/manager-Dr_eVHpN.js +0 -10
- package/dist/manager-DtFcs1NT.js +0 -14
- package/dist/pi-model-discovery-BOramrmp.js +0 -3
- package/dist/pi-model-discovery-Bj98Srfa.js +0 -3
- package/dist/pi-model-discovery-DHPwfwKu.js +0 -3
- package/dist/plugin-sdk/agent-scope-qNPdmst1.js +0 -606
- package/dist/plugin-sdk/auth-profiles-D0LhX8iB.js +0 -7
- package/dist/plugin-sdk/chrome-DMuEXuKT.js +0 -1953
- package/dist/plugin-sdk/config-D5CsedNn.js +0 -5623
- package/dist/plugin-sdk/deliver-DOlMKwJ9.js +0 -12
- package/dist/plugin-sdk/deliver-Dl2ednkv.js +0 -2555
- package/dist/plugin-sdk/exec-CjyVHUuE.js +0 -1107
- package/dist/plugin-sdk/github-copilot-token-BoPqI-5_.js +0 -97
- package/dist/plugin-sdk/github-copilot-token-YEH9Bwov.js +0 -4
- package/dist/plugin-sdk/image-B_t0xXCb.js +0 -1419
- package/dist/plugin-sdk/image-DYTdodiR.js +0 -14
- package/dist/plugin-sdk/login-qr-B7ec28AI.js +0 -9
- package/dist/plugin-sdk/login-qr-BVBRxQRt.js +0 -470
- package/dist/plugin-sdk/manager-B-EITu1a.js +0 -10
- package/dist/plugin-sdk/manager-WCGzgWdf.js +0 -2868
- package/dist/plugin-sdk/model-selection-Bo7pocNu.js +0 -2667
- package/dist/plugin-sdk/paths-BFxmmTT5.js +0 -164
- package/dist/plugin-sdk/paths-Bkjq_KcG.js +0 -40
- package/dist/plugin-sdk/pi-embedded-helpers-fm5_Eokw.js +0 -8755
- package/dist/plugin-sdk/pi-model-discovery-CLgDNnGq.js +0 -13
- package/dist/plugin-sdk/pi-model-discovery-P2-pVRmz.js +0 -3
- package/dist/plugin-sdk/pw-ai-BN7Cwl9J.js +0 -1649
- package/dist/qmd-manager-CzArLjr6.js +0 -615
- package/dist/redact-BR0IM00e.js +0 -94
- package/dist/register.subclis-Bo-xmQ-W.js +0 -342
- package/dist/register.subclis-BuT7ZpPf.js +0 -3
- package/dist/restart-sentinel-CdcBcziq.js +0 -65
- package/dist/restart-sentinel-DywisDen.js +0 -65
- package/dist/runtime-guard-BG6JybtL.js +0 -60
- package/dist/runtime-guard-DvBpNsbR.js +0 -60
- package/dist/sqlite-Dz6S6ijV.js +0 -215
- package/dist/status.update-2ZdxeIeT.js +0 -79
- package/dist/status.update-ChwCPLBt.js +0 -79
- package/dist/systemd-linger-BZb1Uwsd.js +0 -7
- package/dist/systemd-linger-DemNCT5l.js +0 -9
- package/dist/transcript-events-fUhPZcB5.js +0 -17
- package/docs/_config.yml +0 -53
- package/docs/_layouts/default.html +0 -145
- package/docs/assets/docs-chat-widget.js +0 -667
- package/docs/assets/markdown.css +0 -179
- package/docs/assets/terminal.css +0 -473
- package/docs/assets/theme.js +0 -55
- package/extensions/feishu/README.md +0 -47
- /package/dist/{archive-BrH5WBhI.js → archive-D0z3LZDK.js} +0 -0
- /package/dist/{archive-mFgwsll-.js → archive-Dy3Ezb-5.js} +0 -0
- /package/dist/{boolean-CE7i9tBR.js → boolean-BgXe2hyu.js} +0 -0
- /package/dist/{brew-0HRgjHZw.js → brew-CAcErcKz.js} +0 -0
- /package/dist/{brew-Qdppmdlx.js → brew-CcZV0dSS.js} +0 -0
- /package/dist/{cli-utils-CukoNm8O.js → cli-utils-BkRQdAoC.js} +0 -0
- /package/dist/{cli-utils-DFbPmfWB.js → cli-utils-ByANh4Sp.js} +0 -0
- /package/dist/{plugin-sdk/command-format-CFzL448l.js → command-format-CFzL448l.js} +0 -0
- /package/dist/{command-format-BQK1OIvH.js → command-format-ChfKqObn.js} +0 -0
- /package/dist/{command-format-3xiXujG0.js → command-format-ayFsmwwz.js} +0 -0
- /package/dist/{constants-3er_81qc.js → constants-D1op9uGI.js} +0 -0
- /package/dist/{constants-CLUi6T-M.js → constants-HPrOsATF.js} +0 -0
- /package/dist/{exec-BIMFe4XS.js → exec-B8JKbXKW.js} +0 -0
- /package/dist/{format-BnjMmWWT.js → format-B7OjpGnt.js} +0 -0
- /package/dist/{format-hyFOmVZc.js → format-CS7EI0xF.js} +0 -0
- /package/dist/{help-format-af1XWYxC.js → help-format-CfZ94KRN.js} +0 -0
- /package/dist/{helpers-HZ-6iA1e.js → helpers-5yebzF4C.js} +0 -0
- /package/dist/{helpers-uGhPZ_kK.js → helpers-EKm3X92T.js} +0 -0
- /package/dist/{is-main-DD0MG3N8.js → is-main-B6kCyqsv.js} +0 -0
- /package/dist/{is-main-DrJg4t1R.js → is-main-qJ675wPV.js} +0 -0
- /package/dist/{logging-BdnOSVPD.js → logging-BWRYHvLp.js} +0 -0
- /package/dist/{logging-fywhKCmE.js → logging-CfEk_PnX.js} +0 -0
- /package/dist/{openclaw-root-Dean7Fp2.js → openclaw-root-9ILYSmJ9.js} +0 -0
- /package/dist/{openclaw-root-CJKDUIBP.js → openclaw-root-Cvotktkd.js} +0 -0
- /package/dist/{parse-BB0Cqon8.js → parse-BZz5lHzQ.js} +0 -0
- /package/dist/{parse-DLFPuO7w.js → parse-gTOGQPH6.js} +0 -0
- /package/dist/{parse-log-line-B3U8Kflp.js → parse-log-line-C6szvNBZ.js} +0 -0
- /package/dist/{parse-log-line-BmyeB3J2.js → parse-log-line-CARp5QyJ.js} +0 -0
- /package/dist/{parse-timeout-BIB19Upi.js → parse-timeout-CbVKLZ4B.js} +0 -0
- /package/dist/{parse-timeout-CmBmmqZZ.js → parse-timeout-Du-wHHNi.js} +0 -0
- /package/dist/{paths-VslOJiD2.js → paths-B1kfl4h5.js} +0 -0
- /package/dist/{paths-BDd7_JUB.js → paths-scjhy7N2.js} +0 -0
- /package/dist/{progress-Dn3kWpaL.js → progress-Da1ehW-x.js} +0 -0
- /package/dist/{prompt-style-D5D7b3cX.js → prompt-style-Dc0C5HC9.js} +0 -0
- /package/dist/{prompts-CIDznuZR.js → prompts-CXLLIBwP.js} +0 -0
- /package/dist/{prompts-CSlE5VZB.js → prompts-FbZThK8w.js} +0 -0
- /package/dist/{redact-BKh-zp-c.js → redact-B8YiFlwn.js} +0 -0
- /package/dist/{plugin-sdk/redact-wH73ib3-.js → redact-BIMJ3ntQ.js} +0 -0
- /package/dist/{redact-CDPAzwi8.js → redact-DJCFY628.js} +0 -0
- /package/dist/{plugin-sdk/sqlite-CqVsQPIl.js → sqlite-BKl1HJFe.js} +0 -0
- /package/dist/{sqlite-C59YNxdL.js → sqlite-Dnmf3LS7.js} +0 -0
- /package/dist/{sqlite-B_L84oiu.js → sqlite-DqUEZnjO.js} +0 -0
- /package/dist/{status-DkW6wMxZ.js → status-CRIEi8Mc.js} +0 -0
- /package/dist/{status-IDW1pkc0.js → status-tCu4RWZH.js} +0 -0
- /package/dist/{tailnet-BijMqkqa.js → tailnet-Byp3obcc.js} +0 -0
- /package/dist/{tailnet-Bk5cGmwE.js → tailnet-DLDGNuH2.js} +0 -0
- /package/dist/{plugin-sdk/transcript-events-DOI14YeV.js → transcript-events-CZ8CG4ht.js} +0 -0
- /package/dist/{transcript-events-Cj85Mq0h.js → transcript-events-ChU6IQwp.js} +0 -0
- /package/dist/{transcript-events-DW_H__a1.js → transcript-events-JLH5W4He.js} +0 -0
- /package/dist/{utils-PmTbZoD1.js → utils-DX85MiPR.js} +0 -0
- /package/dist/{ws-Cxo2p9fH.js → ws-CEcdsnN9.js} +0 -0
- /package/dist/{ws-DlSkA_BG.js → ws-D091yo4M.js} +0 -0
- /package/docs/{platforms → install}/gcp.md +0 -0
- /package/docs/{platforms → install}/hetzner.md +0 -0
- /package/docs/{platforms → install}/macos-vm.md +0 -0
- /package/docs/{northflank.mdx → install/northflank.mdx} +0 -0
- /package/docs/{railway.mdx → install/railway.mdx} +0 -0
- /package/docs/{render.mdx → install/render.mdx} +0 -0
- /package/docs/zh-CN/{platforms → install}/exe-dev.md +0 -0
- /package/docs/zh-CN/{platforms → install}/fly.md +0 -0
- /package/docs/zh-CN/{platforms → install}/gcp.md +0 -0
- /package/docs/zh-CN/{platforms → install}/hetzner.md +0 -0
- /package/docs/zh-CN/{platforms → install}/macos-vm.md +0 -0
- /package/docs/zh-CN/{northflank.mdx → install/northflank.mdx} +0 -0
- /package/docs/zh-CN/{railway.mdx → install/railway.mdx} +0 -0
- /package/docs/zh-CN/{render.mdx → install/render.mdx} +0 -0
|
@@ -1,170 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { t as createSubsystemLogger } from "./subsystem-CAq3uyo7.js";
|
|
2
|
+
import { s as formatSandboxToolPolicyBlockedMessage } from "./sandbox-CV8VwPij.js";
|
|
3
|
+
import { o as resizeToJpeg, r as getImageMetadata } from "./routes-DchZU3EK.js";
|
|
4
4
|
import path from "node:path";
|
|
5
5
|
import fs from "node:fs/promises";
|
|
6
6
|
import { createHash } from "node:crypto";
|
|
7
7
|
|
|
8
|
-
//#region src/agents/tool-images.ts
|
|
9
|
-
const MAX_IMAGE_DIMENSION_PX = 2e3;
|
|
10
|
-
const MAX_IMAGE_BYTES = 5 * 1024 * 1024;
|
|
11
|
-
const log = createSubsystemLogger("agents/tool-images");
|
|
12
|
-
function isImageBlock(block) {
|
|
13
|
-
if (!block || typeof block !== "object") return false;
|
|
14
|
-
const rec = block;
|
|
15
|
-
return rec.type === "image" && typeof rec.data === "string" && typeof rec.mimeType === "string";
|
|
16
|
-
}
|
|
17
|
-
function isTextBlock(block) {
|
|
18
|
-
if (!block || typeof block !== "object") return false;
|
|
19
|
-
const rec = block;
|
|
20
|
-
return rec.type === "text" && typeof rec.text === "string";
|
|
21
|
-
}
|
|
22
|
-
function inferMimeTypeFromBase64(base64) {
|
|
23
|
-
const trimmed = base64.trim();
|
|
24
|
-
if (!trimmed) return;
|
|
25
|
-
if (trimmed.startsWith("/9j/")) return "image/jpeg";
|
|
26
|
-
if (trimmed.startsWith("iVBOR")) return "image/png";
|
|
27
|
-
if (trimmed.startsWith("R0lGOD")) return "image/gif";
|
|
28
|
-
}
|
|
29
|
-
async function resizeImageBase64IfNeeded(params) {
|
|
30
|
-
const buf = Buffer.from(params.base64, "base64");
|
|
31
|
-
const meta = await getImageMetadata(buf);
|
|
32
|
-
const width = meta?.width;
|
|
33
|
-
const height = meta?.height;
|
|
34
|
-
const overBytes = buf.byteLength > params.maxBytes;
|
|
35
|
-
const hasDimensions = typeof width === "number" && typeof height === "number";
|
|
36
|
-
if (hasDimensions && !overBytes && width <= params.maxDimensionPx && height <= params.maxDimensionPx) return {
|
|
37
|
-
base64: params.base64,
|
|
38
|
-
mimeType: params.mimeType,
|
|
39
|
-
resized: false,
|
|
40
|
-
width,
|
|
41
|
-
height
|
|
42
|
-
};
|
|
43
|
-
if (hasDimensions && (width > params.maxDimensionPx || height > params.maxDimensionPx || overBytes)) log.warn("Image exceeds limits; resizing", {
|
|
44
|
-
label: params.label,
|
|
45
|
-
width,
|
|
46
|
-
height,
|
|
47
|
-
maxDimensionPx: params.maxDimensionPx,
|
|
48
|
-
maxBytes: params.maxBytes
|
|
49
|
-
});
|
|
50
|
-
const qualities = [
|
|
51
|
-
85,
|
|
52
|
-
75,
|
|
53
|
-
65,
|
|
54
|
-
55,
|
|
55
|
-
45,
|
|
56
|
-
35
|
|
57
|
-
];
|
|
58
|
-
const maxDim = hasDimensions ? Math.max(width ?? 0, height ?? 0) : params.maxDimensionPx;
|
|
59
|
-
const sideGrid = [
|
|
60
|
-
maxDim > 0 ? Math.min(params.maxDimensionPx, maxDim) : params.maxDimensionPx,
|
|
61
|
-
1800,
|
|
62
|
-
1600,
|
|
63
|
-
1400,
|
|
64
|
-
1200,
|
|
65
|
-
1e3,
|
|
66
|
-
800
|
|
67
|
-
].map((v) => Math.min(params.maxDimensionPx, v)).filter((v, i, arr) => v > 0 && arr.indexOf(v) === i).toSorted((a, b) => b - a);
|
|
68
|
-
let smallest = null;
|
|
69
|
-
for (const side of sideGrid) for (const quality of qualities) {
|
|
70
|
-
const out = await resizeToJpeg({
|
|
71
|
-
buffer: buf,
|
|
72
|
-
maxSide: side,
|
|
73
|
-
quality,
|
|
74
|
-
withoutEnlargement: true
|
|
75
|
-
});
|
|
76
|
-
if (!smallest || out.byteLength < smallest.size) smallest = {
|
|
77
|
-
buffer: out,
|
|
78
|
-
size: out.byteLength
|
|
79
|
-
};
|
|
80
|
-
if (out.byteLength <= params.maxBytes) {
|
|
81
|
-
log.info("Image resized", {
|
|
82
|
-
label: params.label,
|
|
83
|
-
width,
|
|
84
|
-
height,
|
|
85
|
-
maxDimensionPx: params.maxDimensionPx,
|
|
86
|
-
maxBytes: params.maxBytes,
|
|
87
|
-
originalBytes: buf.byteLength,
|
|
88
|
-
resizedBytes: out.byteLength,
|
|
89
|
-
quality,
|
|
90
|
-
side
|
|
91
|
-
});
|
|
92
|
-
return {
|
|
93
|
-
base64: out.toString("base64"),
|
|
94
|
-
mimeType: "image/jpeg",
|
|
95
|
-
resized: true,
|
|
96
|
-
width,
|
|
97
|
-
height
|
|
98
|
-
};
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
const best = smallest?.buffer ?? buf;
|
|
102
|
-
const maxMb = (params.maxBytes / (1024 * 1024)).toFixed(0);
|
|
103
|
-
const gotMb = (best.byteLength / (1024 * 1024)).toFixed(2);
|
|
104
|
-
throw new Error(`Image could not be reduced below ${maxMb}MB (got ${gotMb}MB)`);
|
|
105
|
-
}
|
|
106
|
-
async function sanitizeContentBlocksImages(blocks, label, opts = {}) {
|
|
107
|
-
const maxDimensionPx = Math.max(opts.maxDimensionPx ?? MAX_IMAGE_DIMENSION_PX, 1);
|
|
108
|
-
const maxBytes = Math.max(opts.maxBytes ?? MAX_IMAGE_BYTES, 1);
|
|
109
|
-
const out = [];
|
|
110
|
-
for (const block of blocks) {
|
|
111
|
-
if (!isImageBlock(block)) {
|
|
112
|
-
out.push(block);
|
|
113
|
-
continue;
|
|
114
|
-
}
|
|
115
|
-
const data = block.data.trim();
|
|
116
|
-
if (!data) {
|
|
117
|
-
out.push({
|
|
118
|
-
type: "text",
|
|
119
|
-
text: `[${label}] omitted empty image payload`
|
|
120
|
-
});
|
|
121
|
-
continue;
|
|
122
|
-
}
|
|
123
|
-
try {
|
|
124
|
-
const mimeType = inferMimeTypeFromBase64(data) ?? block.mimeType;
|
|
125
|
-
const resized = await resizeImageBase64IfNeeded({
|
|
126
|
-
base64: data,
|
|
127
|
-
mimeType,
|
|
128
|
-
maxDimensionPx,
|
|
129
|
-
maxBytes,
|
|
130
|
-
label
|
|
131
|
-
});
|
|
132
|
-
out.push({
|
|
133
|
-
...block,
|
|
134
|
-
data: resized.base64,
|
|
135
|
-
mimeType: resized.resized ? resized.mimeType : mimeType
|
|
136
|
-
});
|
|
137
|
-
} catch (err) {
|
|
138
|
-
out.push({
|
|
139
|
-
type: "text",
|
|
140
|
-
text: `[${label}] omitted image payload: ${String(err)}`
|
|
141
|
-
});
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
return out;
|
|
145
|
-
}
|
|
146
|
-
async function sanitizeImageBlocks(images, label, opts = {}) {
|
|
147
|
-
if (images.length === 0) return {
|
|
148
|
-
images,
|
|
149
|
-
dropped: 0
|
|
150
|
-
};
|
|
151
|
-
const next = (await sanitizeContentBlocksImages(images, label, opts)).filter(isImageBlock);
|
|
152
|
-
return {
|
|
153
|
-
images: next,
|
|
154
|
-
dropped: Math.max(0, images.length - next.length)
|
|
155
|
-
};
|
|
156
|
-
}
|
|
157
|
-
async function sanitizeToolResultImages(result, label, opts = {}) {
|
|
158
|
-
const content = Array.isArray(result.content) ? result.content : [];
|
|
159
|
-
if (!content.some((b) => isImageBlock(b) || isTextBlock(b))) return result;
|
|
160
|
-
const next = await sanitizeContentBlocksImages(content, label, opts);
|
|
161
|
-
return {
|
|
162
|
-
...result,
|
|
163
|
-
content: next
|
|
164
|
-
};
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
//#endregion
|
|
168
8
|
//#region src/auto-reply/thinking.ts
|
|
169
9
|
function normalizeProviderId(provider) {
|
|
170
10
|
if (!provider) return "";
|
|
@@ -177,6 +17,7 @@ function isBinaryThinkingProvider(provider) {
|
|
|
177
17
|
}
|
|
178
18
|
const XHIGH_MODEL_REFS = [
|
|
179
19
|
"openai/gpt-5.2",
|
|
20
|
+
"openai-codex/gpt-5.3-codex",
|
|
180
21
|
"openai-codex/gpt-5.2-codex",
|
|
181
22
|
"openai-codex/gpt-5.1-codex"
|
|
182
23
|
];
|
|
@@ -184,7 +25,9 @@ const XHIGH_MODEL_SET = new Set(XHIGH_MODEL_REFS.map((entry) => entry.toLowerCas
|
|
|
184
25
|
const XHIGH_MODEL_IDS = new Set(XHIGH_MODEL_REFS.map((entry) => entry.split("/")[1]?.toLowerCase()).filter((entry) => Boolean(entry)));
|
|
185
26
|
function normalizeThinkLevel(raw) {
|
|
186
27
|
if (!raw) return;
|
|
187
|
-
const key = raw.toLowerCase();
|
|
28
|
+
const key = raw.trim().toLowerCase();
|
|
29
|
+
const collapsed = key.replace(/[\s_-]+/g, "");
|
|
30
|
+
if (collapsed === "xhigh" || collapsed === "extrahigh") return "xhigh";
|
|
188
31
|
if (["off"].includes(key)) return "off";
|
|
189
32
|
if ([
|
|
190
33
|
"on",
|
|
@@ -215,11 +58,6 @@ function normalizeThinkLevel(raw) {
|
|
|
215
58
|
"highest",
|
|
216
59
|
"max"
|
|
217
60
|
].includes(key)) return "high";
|
|
218
|
-
if ([
|
|
219
|
-
"xhigh",
|
|
220
|
-
"x-high",
|
|
221
|
-
"x_high"
|
|
222
|
-
].includes(key)) return "xhigh";
|
|
223
61
|
if (["think"].includes(key)) return "minimal";
|
|
224
62
|
}
|
|
225
63
|
function supportsXHighThinking(provider, model) {
|
|
@@ -499,6 +337,7 @@ function sanitizeGoogleTurnOrdering(messages) {
|
|
|
499
337
|
|
|
500
338
|
//#endregion
|
|
501
339
|
//#region src/agents/pi-embedded-helpers/errors.ts
|
|
340
|
+
const BILLING_ERROR_USER_MESSAGE = "⚠️ API provider returned a billing error — your API key has run out of credits or has an insufficient balance. Check your provider's billing dashboard and top up or switch to a different API key.";
|
|
502
341
|
function isContextOverflowError(errorMessage) {
|
|
503
342
|
if (!errorMessage) return false;
|
|
504
343
|
const lower = errorMessage.toLowerCase();
|
|
@@ -681,6 +520,7 @@ function formatAssistantErrorText(msg, opts) {
|
|
|
681
520
|
const invalidRequest = raw.match(/"type":"invalid_request_error".*?"message":"([^"]+)"/);
|
|
682
521
|
if (invalidRequest?.[1]) return `LLM request rejected: ${invalidRequest[1]}`;
|
|
683
522
|
if (isOverloadedErrorMessage(raw)) return "The AI service is temporarily overloaded. Please try again in a moment.";
|
|
523
|
+
if (isBillingErrorMessage(raw)) return BILLING_ERROR_USER_MESSAGE;
|
|
684
524
|
if (isLikelyHttpErrorText(raw) || isRawApiErrorPayload(raw)) return formatRawAssistantErrorForUi(raw);
|
|
685
525
|
if (raw.length > 600) console.warn("[formatAssistantErrorText] Long error truncated:", raw.slice(0, 200));
|
|
686
526
|
return raw.length > 600 ? `${raw.slice(0, 600)}…` : raw;
|
|
@@ -692,6 +532,7 @@ function sanitizeUserFacingText(text) {
|
|
|
692
532
|
if (!trimmed) return stripped;
|
|
693
533
|
if (/incorrect role information|roles must alternate/i.test(trimmed)) return "Message ordering conflict - please try again. If this persists, use /new to start a fresh session.";
|
|
694
534
|
if (isContextOverflowError(trimmed)) return "Context overflow: prompt too large for the model. Try again with less input or a larger-context model.";
|
|
535
|
+
if (isBillingErrorMessage(trimmed)) return BILLING_ERROR_USER_MESSAGE;
|
|
695
536
|
if (isRawApiErrorPayload(trimmed) || isLikelyHttpErrorText(trimmed)) return formatRawAssistantErrorForUi(trimmed);
|
|
696
537
|
if (ERROR_PREFIX_RE.test(trimmed)) {
|
|
697
538
|
if (isOverloadedErrorMessage(trimmed) || isRateLimitErrorMessage(trimmed)) return "The AI service is temporarily overloaded. Please try again in a moment.";
|
|
@@ -778,6 +619,10 @@ function isMissingToolCallInputError(raw) {
|
|
|
778
619
|
if (!raw) return false;
|
|
779
620
|
return TOOL_CALL_INPUT_MISSING_RE.test(raw) || TOOL_CALL_INPUT_PATH_RE.test(raw);
|
|
780
621
|
}
|
|
622
|
+
function isBillingAssistantError(msg) {
|
|
623
|
+
if (!msg || msg.stopReason !== "error") return false;
|
|
624
|
+
return isBillingErrorMessage(msg.errorMessage ?? "");
|
|
625
|
+
}
|
|
781
626
|
function isAuthErrorMessage(raw) {
|
|
782
627
|
return matchesErrorPatterns(raw, ERROR_PATTERNS.auth);
|
|
783
628
|
}
|
|
@@ -1078,6 +923,166 @@ function sanitizeToolCallIdsForCloudCodeAssist(messages, mode = "strict") {
|
|
|
1078
923
|
return changed ? out : messages;
|
|
1079
924
|
}
|
|
1080
925
|
|
|
926
|
+
//#endregion
|
|
927
|
+
//#region src/agents/tool-images.ts
|
|
928
|
+
const MAX_IMAGE_DIMENSION_PX = 2e3;
|
|
929
|
+
const MAX_IMAGE_BYTES = 5 * 1024 * 1024;
|
|
930
|
+
const log = createSubsystemLogger("agents/tool-images");
|
|
931
|
+
function isImageBlock(block) {
|
|
932
|
+
if (!block || typeof block !== "object") return false;
|
|
933
|
+
const rec = block;
|
|
934
|
+
return rec.type === "image" && typeof rec.data === "string" && typeof rec.mimeType === "string";
|
|
935
|
+
}
|
|
936
|
+
function isTextBlock(block) {
|
|
937
|
+
if (!block || typeof block !== "object") return false;
|
|
938
|
+
const rec = block;
|
|
939
|
+
return rec.type === "text" && typeof rec.text === "string";
|
|
940
|
+
}
|
|
941
|
+
function inferMimeTypeFromBase64(base64) {
|
|
942
|
+
const trimmed = base64.trim();
|
|
943
|
+
if (!trimmed) return;
|
|
944
|
+
if (trimmed.startsWith("/9j/")) return "image/jpeg";
|
|
945
|
+
if (trimmed.startsWith("iVBOR")) return "image/png";
|
|
946
|
+
if (trimmed.startsWith("R0lGOD")) return "image/gif";
|
|
947
|
+
}
|
|
948
|
+
async function resizeImageBase64IfNeeded(params) {
|
|
949
|
+
const buf = Buffer.from(params.base64, "base64");
|
|
950
|
+
const meta = await getImageMetadata(buf);
|
|
951
|
+
const width = meta?.width;
|
|
952
|
+
const height = meta?.height;
|
|
953
|
+
const overBytes = buf.byteLength > params.maxBytes;
|
|
954
|
+
const hasDimensions = typeof width === "number" && typeof height === "number";
|
|
955
|
+
if (hasDimensions && !overBytes && width <= params.maxDimensionPx && height <= params.maxDimensionPx) return {
|
|
956
|
+
base64: params.base64,
|
|
957
|
+
mimeType: params.mimeType,
|
|
958
|
+
resized: false,
|
|
959
|
+
width,
|
|
960
|
+
height
|
|
961
|
+
};
|
|
962
|
+
if (hasDimensions && (width > params.maxDimensionPx || height > params.maxDimensionPx || overBytes)) log.warn("Image exceeds limits; resizing", {
|
|
963
|
+
label: params.label,
|
|
964
|
+
width,
|
|
965
|
+
height,
|
|
966
|
+
maxDimensionPx: params.maxDimensionPx,
|
|
967
|
+
maxBytes: params.maxBytes
|
|
968
|
+
});
|
|
969
|
+
const qualities = [
|
|
970
|
+
85,
|
|
971
|
+
75,
|
|
972
|
+
65,
|
|
973
|
+
55,
|
|
974
|
+
45,
|
|
975
|
+
35
|
|
976
|
+
];
|
|
977
|
+
const maxDim = hasDimensions ? Math.max(width ?? 0, height ?? 0) : params.maxDimensionPx;
|
|
978
|
+
const sideGrid = [
|
|
979
|
+
maxDim > 0 ? Math.min(params.maxDimensionPx, maxDim) : params.maxDimensionPx,
|
|
980
|
+
1800,
|
|
981
|
+
1600,
|
|
982
|
+
1400,
|
|
983
|
+
1200,
|
|
984
|
+
1e3,
|
|
985
|
+
800
|
|
986
|
+
].map((v) => Math.min(params.maxDimensionPx, v)).filter((v, i, arr) => v > 0 && arr.indexOf(v) === i).toSorted((a, b) => b - a);
|
|
987
|
+
let smallest = null;
|
|
988
|
+
for (const side of sideGrid) for (const quality of qualities) {
|
|
989
|
+
const out = await resizeToJpeg({
|
|
990
|
+
buffer: buf,
|
|
991
|
+
maxSide: side,
|
|
992
|
+
quality,
|
|
993
|
+
withoutEnlargement: true
|
|
994
|
+
});
|
|
995
|
+
if (!smallest || out.byteLength < smallest.size) smallest = {
|
|
996
|
+
buffer: out,
|
|
997
|
+
size: out.byteLength
|
|
998
|
+
};
|
|
999
|
+
if (out.byteLength <= params.maxBytes) {
|
|
1000
|
+
log.info("Image resized", {
|
|
1001
|
+
label: params.label,
|
|
1002
|
+
width,
|
|
1003
|
+
height,
|
|
1004
|
+
maxDimensionPx: params.maxDimensionPx,
|
|
1005
|
+
maxBytes: params.maxBytes,
|
|
1006
|
+
originalBytes: buf.byteLength,
|
|
1007
|
+
resizedBytes: out.byteLength,
|
|
1008
|
+
quality,
|
|
1009
|
+
side
|
|
1010
|
+
});
|
|
1011
|
+
return {
|
|
1012
|
+
base64: out.toString("base64"),
|
|
1013
|
+
mimeType: "image/jpeg",
|
|
1014
|
+
resized: true,
|
|
1015
|
+
width,
|
|
1016
|
+
height
|
|
1017
|
+
};
|
|
1018
|
+
}
|
|
1019
|
+
}
|
|
1020
|
+
const best = smallest?.buffer ?? buf;
|
|
1021
|
+
const maxMb = (params.maxBytes / (1024 * 1024)).toFixed(0);
|
|
1022
|
+
const gotMb = (best.byteLength / (1024 * 1024)).toFixed(2);
|
|
1023
|
+
throw new Error(`Image could not be reduced below ${maxMb}MB (got ${gotMb}MB)`);
|
|
1024
|
+
}
|
|
1025
|
+
async function sanitizeContentBlocksImages(blocks, label, opts = {}) {
|
|
1026
|
+
const maxDimensionPx = Math.max(opts.maxDimensionPx ?? MAX_IMAGE_DIMENSION_PX, 1);
|
|
1027
|
+
const maxBytes = Math.max(opts.maxBytes ?? MAX_IMAGE_BYTES, 1);
|
|
1028
|
+
const out = [];
|
|
1029
|
+
for (const block of blocks) {
|
|
1030
|
+
if (!isImageBlock(block)) {
|
|
1031
|
+
out.push(block);
|
|
1032
|
+
continue;
|
|
1033
|
+
}
|
|
1034
|
+
const data = block.data.trim();
|
|
1035
|
+
if (!data) {
|
|
1036
|
+
out.push({
|
|
1037
|
+
type: "text",
|
|
1038
|
+
text: `[${label}] omitted empty image payload`
|
|
1039
|
+
});
|
|
1040
|
+
continue;
|
|
1041
|
+
}
|
|
1042
|
+
try {
|
|
1043
|
+
const mimeType = inferMimeTypeFromBase64(data) ?? block.mimeType;
|
|
1044
|
+
const resized = await resizeImageBase64IfNeeded({
|
|
1045
|
+
base64: data,
|
|
1046
|
+
mimeType,
|
|
1047
|
+
maxDimensionPx,
|
|
1048
|
+
maxBytes,
|
|
1049
|
+
label
|
|
1050
|
+
});
|
|
1051
|
+
out.push({
|
|
1052
|
+
...block,
|
|
1053
|
+
data: resized.base64,
|
|
1054
|
+
mimeType: resized.resized ? resized.mimeType : mimeType
|
|
1055
|
+
});
|
|
1056
|
+
} catch (err) {
|
|
1057
|
+
out.push({
|
|
1058
|
+
type: "text",
|
|
1059
|
+
text: `[${label}] omitted image payload: ${String(err)}`
|
|
1060
|
+
});
|
|
1061
|
+
}
|
|
1062
|
+
}
|
|
1063
|
+
return out;
|
|
1064
|
+
}
|
|
1065
|
+
async function sanitizeImageBlocks(images, label, opts = {}) {
|
|
1066
|
+
if (images.length === 0) return {
|
|
1067
|
+
images,
|
|
1068
|
+
dropped: 0
|
|
1069
|
+
};
|
|
1070
|
+
const next = (await sanitizeContentBlocksImages(images, label, opts)).filter(isImageBlock);
|
|
1071
|
+
return {
|
|
1072
|
+
images: next,
|
|
1073
|
+
dropped: Math.max(0, images.length - next.length)
|
|
1074
|
+
};
|
|
1075
|
+
}
|
|
1076
|
+
async function sanitizeToolResultImages(result, label, opts = {}) {
|
|
1077
|
+
const content = Array.isArray(result.content) ? result.content : [];
|
|
1078
|
+
if (!content.some((b) => isImageBlock(b) || isTextBlock(b))) return result;
|
|
1079
|
+
const next = await sanitizeContentBlocksImages(content, label, opts);
|
|
1080
|
+
return {
|
|
1081
|
+
...result,
|
|
1082
|
+
content: next
|
|
1083
|
+
};
|
|
1084
|
+
}
|
|
1085
|
+
|
|
1081
1086
|
//#endregion
|
|
1082
1087
|
//#region src/agents/pi-embedded-helpers/images.ts
|
|
1083
1088
|
async function sanitizeSessionMessagesImages(messages, label, options) {
|
|
@@ -1290,4 +1295,4 @@ function validateAnthropicTurns(messages) {
|
|
|
1290
1295
|
}
|
|
1291
1296
|
|
|
1292
1297
|
//#endregion
|
|
1293
|
-
export {
|
|
1298
|
+
export { parseImageSizeError as A, normalizeElevatedLevel as B, isFailoverAssistantError as C, isRawApiErrorPayload as D, isRateLimitAssistantError as E, sanitizeGoogleTurnOrdering as F, resolveResponseUsageMode as G, normalizeThinkLevel as H, formatThinkingLevels as I, supportsXHighThinking as K, formatXHighModelHint as L, buildBootstrapContextFiles as M, ensureSessionHeader as N, isTimeoutErrorMessage as O, resolveBootstrapMaxChars as P, listThinkingLevelLabels as R, isContextOverflowError as S, isLikelyContextOverflowError as T, normalizeUsageDisplay as U, normalizeReasoningLevel as V, normalizeVerboseLevel as W, getApiErrorPayloadFingerprint as _, isMessagingToolDuplicateNormalized as a, isCloudCodeAssistFormatError as b, sanitizeImageBlocks as c, isAntigravityClaude as d, isGoogleModelApi as f, formatRawAssistantErrorForUi as g, formatAssistantErrorText as h, isMessagingToolDuplicate as i, sanitizeUserFacingText as j, parseImageDimensionError as k, sanitizeToolResultImages as l, classifyFailoverReason as m, validateGeminiTurns as n, normalizeTextForComparison as o, BILLING_ERROR_USER_MESSAGE as p, pickFallbackThinkingLevel as r, sanitizeSessionMessagesImages as s, validateAnthropicTurns as t, downgradeOpenAIReasoningBlocks as u, isAuthAssistantError as v, isFailoverErrorMessage as w, isCompactionFailureError as x, isBillingAssistantError as y, listThinkingLevels as z };
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { i as resolveGatewayPort, t as STATE_DIR } from "./paths-
|
|
2
|
-
import { A as normalizeAccountId$1, C as resolveOpenClawPackageRootSync, D as buildAgentMainSessionKey, M as normalizeMainKey, N as resolveAgentIdFromSessionKey, T as DEFAULT_AGENT_ID, _ as DEFAULT_TOOLS_FILENAME, c as resolveDefaultAgentId, d as DEFAULT_AGENTS_FILENAME, f as DEFAULT_AGENT_WORKSPACE_DIR, g as DEFAULT_SOUL_FILENAME, h as DEFAULT_IDENTITY_FILENAME, j as normalizeAgentId, l as resolveSessionAgentId, m as DEFAULT_HEARTBEAT_FILENAME, n as resolveAgentConfig, p as DEFAULT_BOOTSTRAP_FILENAME, v as DEFAULT_USER_FILENAME, w as DEFAULT_ACCOUNT_ID, y as ensureAgentWorkspace } from "./agent-scope-
|
|
3
|
-
import { A as normalizeE164, C as CONFIG_DIR, N as resolveUserPath, _ as normalizeAnyChannelId, b as getActivePluginRegistry, g as getChatChannelMeta, h as CHAT_CHANNEL_ORDER, j as resolveConfigDir, l as createSubsystemLogger, m as CHANNEL_IDS, n as runExec, u as defaultRuntime, x as requireActivePluginRegistry, y as normalizeChatChannelId } from "./exec-
|
|
4
|
-
import {
|
|
5
|
-
import { t as formatCliCommand } from "./command-format-
|
|
6
|
-
import { _ as resolveEnableState, f as loadPluginManifestRegistry, g as normalizePluginsConfig, h as MANIFEST_KEY, i as writeConfigFile, k as resolveWhatsAppAccount, m as LEGACY_MANIFEST_KEYS, t as loadConfig, v as resolveMemorySlotDecision } from "./config-
|
|
7
|
-
import { C as DEFAULT_AI_SNAPSHOT_MAX_CHARS, D as DEFAULT_OPENCLAW_BROWSER_ENABLED, E as DEFAULT_OPENCLAW_BROWSER_COLOR, O as DEFAULT_OPENCLAW_BROWSER_PROFILE_NAME, S as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, T as DEFAULT_BROWSER_EVALUATE_ENABLED, a as resolveOpenClawUserDataDir, c as captureScreenshot, d as normalizeCdpWsUrl, f as snapshotAria, g as stopChromeExtensionRelayServer, h as ensureChromeExtensionRelayServer, i as launchOpenClawChrome, l as createTargetViaCdp, m as getHeadersWithAuth, n as isChromeCdpReady, o as stopOpenClawChrome, p as appendCdpPath, r as isChromeReachable, s as resolveBrowserExecutableForPlatform, v as extractErrorCode, w as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, x as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, y as formatErrorMessage } from "./chrome-
|
|
8
|
-
import { r as resolveSessionTranscriptPath, t as resolveDefaultSessionStorePath } from "./paths-
|
|
9
|
-
import { t as emitSessionTranscriptUpdate } from "./transcript-events-
|
|
1
|
+
import { i as resolveGatewayPort, t as STATE_DIR } from "./paths-B1kfl4h5.js";
|
|
2
|
+
import { A as normalizeAccountId$1, C as resolveOpenClawPackageRootSync, D as buildAgentMainSessionKey, M as normalizeMainKey, N as resolveAgentIdFromSessionKey, T as DEFAULT_AGENT_ID, _ as DEFAULT_TOOLS_FILENAME, c as resolveDefaultAgentId, d as DEFAULT_AGENTS_FILENAME, f as DEFAULT_AGENT_WORKSPACE_DIR, g as DEFAULT_SOUL_FILENAME, h as DEFAULT_IDENTITY_FILENAME, j as normalizeAgentId, l as resolveSessionAgentId, m as DEFAULT_HEARTBEAT_FILENAME, n as resolveAgentConfig, p as DEFAULT_BOOTSTRAP_FILENAME, v as DEFAULT_USER_FILENAME, w as DEFAULT_ACCOUNT_ID, y as ensureAgentWorkspace } from "./agent-scope-Csu2B6AM.js";
|
|
3
|
+
import { A as normalizeE164, C as CONFIG_DIR, N as resolveUserPath, _ as normalizeAnyChannelId, b as getActivePluginRegistry, g as getChatChannelMeta, h as CHAT_CHANNEL_ORDER, j as resolveConfigDir, l as createSubsystemLogger, m as CHANNEL_IDS, n as runExec, u as defaultRuntime, x as requireActivePluginRegistry, y as normalizeChatChannelId } from "./exec-BMnoMcZW.js";
|
|
4
|
+
import { O as isTruthyEnvValue, k as parseBooleanValue } from "./model-selection-mzTqrNoj.js";
|
|
5
|
+
import { t as formatCliCommand } from "./command-format-CFzL448l.js";
|
|
6
|
+
import { _ as resolveEnableState, f as loadPluginManifestRegistry, g as normalizePluginsConfig, h as MANIFEST_KEY, i as writeConfigFile, k as resolveWhatsAppAccount, m as LEGACY_MANIFEST_KEYS, t as loadConfig, v as resolveMemorySlotDecision } from "./config-CG73z4h6.js";
|
|
7
|
+
import { C as DEFAULT_AI_SNAPSHOT_MAX_CHARS, D as DEFAULT_OPENCLAW_BROWSER_ENABLED, E as DEFAULT_OPENCLAW_BROWSER_COLOR, O as DEFAULT_OPENCLAW_BROWSER_PROFILE_NAME, S as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, T as DEFAULT_BROWSER_EVALUATE_ENABLED, a as resolveOpenClawUserDataDir, c as captureScreenshot, d as normalizeCdpWsUrl, f as snapshotAria, g as stopChromeExtensionRelayServer, h as ensureChromeExtensionRelayServer, i as launchOpenClawChrome, l as createTargetViaCdp, m as getHeadersWithAuth, n as isChromeCdpReady, o as stopOpenClawChrome, p as appendCdpPath, r as isChromeReachable, s as resolveBrowserExecutableForPlatform, v as extractErrorCode, w as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, x as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, y as formatErrorMessage } from "./chrome-B3IuUad-.js";
|
|
8
|
+
import { r as resolveSessionTranscriptPath, t as resolveDefaultSessionStorePath } from "./paths-B4kigINg.js";
|
|
9
|
+
import { t as emitSessionTranscriptUpdate } from "./transcript-events-JLH5W4He.js";
|
|
10
10
|
import os from "node:os";
|
|
11
11
|
import path from "node:path";
|
|
12
12
|
import fs from "node:fs";
|
|
@@ -981,6 +981,7 @@ const TOOL_GROUPS = {
|
|
|
981
981
|
"image"
|
|
982
982
|
]
|
|
983
983
|
};
|
|
984
|
+
const OWNER_ONLY_TOOL_NAMES = new Set(["whatsapp_login"]);
|
|
984
985
|
const TOOL_PROFILES = {
|
|
985
986
|
minimal: { allow: ["session_status"] },
|
|
986
987
|
coding: { allow: [
|
|
@@ -1003,6 +1004,23 @@ function normalizeToolName(name) {
|
|
|
1003
1004
|
const normalized = name.trim().toLowerCase();
|
|
1004
1005
|
return TOOL_NAME_ALIASES[normalized] ?? normalized;
|
|
1005
1006
|
}
|
|
1007
|
+
function isOwnerOnlyToolName(name) {
|
|
1008
|
+
return OWNER_ONLY_TOOL_NAMES.has(normalizeToolName(name));
|
|
1009
|
+
}
|
|
1010
|
+
function applyOwnerOnlyToolPolicy(tools, senderIsOwner) {
|
|
1011
|
+
const withGuard = tools.map((tool) => {
|
|
1012
|
+
if (!isOwnerOnlyToolName(tool.name)) return tool;
|
|
1013
|
+
if (senderIsOwner || !tool.execute) return tool;
|
|
1014
|
+
return {
|
|
1015
|
+
...tool,
|
|
1016
|
+
execute: async () => {
|
|
1017
|
+
throw new Error("Tool restricted to owner senders.");
|
|
1018
|
+
}
|
|
1019
|
+
};
|
|
1020
|
+
});
|
|
1021
|
+
if (senderIsOwner) return withGuard;
|
|
1022
|
+
return withGuard.filter((tool) => !isOwnerOnlyToolName(tool.name));
|
|
1023
|
+
}
|
|
1006
1024
|
function normalizeToolList(list) {
|
|
1007
1025
|
if (!list) return [];
|
|
1008
1026
|
return list.map(normalizeToolName).filter(Boolean);
|
|
@@ -2023,7 +2041,7 @@ function isModuleNotFoundError(err) {
|
|
|
2023
2041
|
}
|
|
2024
2042
|
async function loadPwAiModule(mode) {
|
|
2025
2043
|
try {
|
|
2026
|
-
return await import("./pw-ai-
|
|
2044
|
+
return await import("./pw-ai-tNPuRNn3.js");
|
|
2027
2045
|
} catch (err) {
|
|
2028
2046
|
if (mode === "soft") return null;
|
|
2029
2047
|
if (isModuleNotFoundError(err)) return null;
|
|
@@ -4845,11 +4863,11 @@ function createProfileContext(opts, profile) {
|
|
|
4845
4863
|
const userDataDir = resolveOpenClawUserDataDir(profile.name);
|
|
4846
4864
|
const profileState = getProfileState();
|
|
4847
4865
|
if (await isHttpReachable(300) && !profileState.running) try {
|
|
4848
|
-
await (await import("./pw-ai-
|
|
4866
|
+
await (await import("./pw-ai-tNPuRNn3.js")).closePlaywrightBrowserConnection();
|
|
4849
4867
|
} catch {}
|
|
4850
4868
|
if (profileState.running) await stopRunningBrowser();
|
|
4851
4869
|
try {
|
|
4852
|
-
await (await import("./pw-ai-
|
|
4870
|
+
await (await import("./pw-ai-tNPuRNn3.js")).closePlaywrightBrowserConnection();
|
|
4853
4871
|
} catch {}
|
|
4854
4872
|
if (!fs.existsSync(userDataDir)) return {
|
|
4855
4873
|
moved: false,
|
|
@@ -6234,6 +6252,7 @@ const DOCKS = {
|
|
|
6234
6252
|
resolveRequireMention: resolveSlackGroupRequireMention,
|
|
6235
6253
|
resolveToolPolicy: resolveSlackGroupToolPolicy
|
|
6236
6254
|
},
|
|
6255
|
+
mentions: { stripPatterns: () => ["<@[^>]+>"] },
|
|
6237
6256
|
threading: {
|
|
6238
6257
|
resolveReplyToMode: ({ cfg, accountId, chatType }) => resolveSlackReplyToMode(resolveSlackAccount({
|
|
6239
6258
|
cfg,
|
|
@@ -7295,6 +7314,7 @@ async function ensureSandboxWorkspaceForSession(params) {
|
|
|
7295
7314
|
|
|
7296
7315
|
//#endregion
|
|
7297
7316
|
//#region src/agents/pi-embedded-helpers/errors.ts
|
|
7317
|
+
const BILLING_ERROR_USER_MESSAGE = "⚠️ API provider returned a billing error — your API key has run out of credits or has an insufficient balance. Check your provider's billing dashboard and top up or switch to a different API key.";
|
|
7298
7318
|
function isContextOverflowError(errorMessage) {
|
|
7299
7319
|
if (!errorMessage) return false;
|
|
7300
7320
|
const lower = errorMessage.toLowerCase();
|
|
@@ -7477,6 +7497,7 @@ function formatAssistantErrorText(msg, opts) {
|
|
|
7477
7497
|
const invalidRequest = raw.match(/"type":"invalid_request_error".*?"message":"([^"]+)"/);
|
|
7478
7498
|
if (invalidRequest?.[1]) return `LLM request rejected: ${invalidRequest[1]}`;
|
|
7479
7499
|
if (isOverloadedErrorMessage(raw)) return "The AI service is temporarily overloaded. Please try again in a moment.";
|
|
7500
|
+
if (isBillingErrorMessage(raw)) return BILLING_ERROR_USER_MESSAGE;
|
|
7480
7501
|
if (isLikelyHttpErrorText(raw) || isRawApiErrorPayload(raw)) return formatRawAssistantErrorForUi(raw);
|
|
7481
7502
|
if (raw.length > 600) console.warn("[formatAssistantErrorText] Long error truncated:", raw.slice(0, 200));
|
|
7482
7503
|
return raw.length > 600 ? `${raw.slice(0, 600)}…` : raw;
|
|
@@ -7488,6 +7509,7 @@ function sanitizeUserFacingText(text) {
|
|
|
7488
7509
|
if (!trimmed) return stripped;
|
|
7489
7510
|
if (/incorrect role information|roles must alternate/i.test(trimmed)) return "Message ordering conflict - please try again. If this persists, use /new to start a fresh session.";
|
|
7490
7511
|
if (isContextOverflowError(trimmed)) return "Context overflow: prompt too large for the model. Try again with less input or a larger-context model.";
|
|
7512
|
+
if (isBillingErrorMessage(trimmed)) return BILLING_ERROR_USER_MESSAGE;
|
|
7491
7513
|
if (isRawApiErrorPayload(trimmed) || isLikelyHttpErrorText(trimmed)) return formatRawAssistantErrorForUi(trimmed);
|
|
7492
7514
|
if (ERROR_PREFIX_RE.test(trimmed)) {
|
|
7493
7515
|
if (isOverloadedErrorMessage(trimmed) || isRateLimitErrorMessage(trimmed)) return "The AI service is temporarily overloaded. Please try again in a moment.";
|
|
@@ -7574,6 +7596,10 @@ function isMissingToolCallInputError(raw) {
|
|
|
7574
7596
|
if (!raw) return false;
|
|
7575
7597
|
return TOOL_CALL_INPUT_MISSING_RE.test(raw) || TOOL_CALL_INPUT_PATH_RE.test(raw);
|
|
7576
7598
|
}
|
|
7599
|
+
function isBillingAssistantError(msg) {
|
|
7600
|
+
if (!msg || msg.stopReason !== "error") return false;
|
|
7601
|
+
return isBillingErrorMessage(msg.errorMessage ?? "");
|
|
7602
|
+
}
|
|
7577
7603
|
function isAuthErrorMessage(raw) {
|
|
7578
7604
|
return matchesErrorPatterns(raw, ERROR_PATTERNS.auth);
|
|
7579
7605
|
}
|
|
@@ -8150,6 +8176,7 @@ function isBinaryThinkingProvider(provider) {
|
|
|
8150
8176
|
}
|
|
8151
8177
|
const XHIGH_MODEL_REFS = [
|
|
8152
8178
|
"openai/gpt-5.2",
|
|
8179
|
+
"openai-codex/gpt-5.3-codex",
|
|
8153
8180
|
"openai-codex/gpt-5.2-codex",
|
|
8154
8181
|
"openai-codex/gpt-5.1-codex"
|
|
8155
8182
|
];
|
|
@@ -8157,7 +8184,9 @@ const XHIGH_MODEL_SET = new Set(XHIGH_MODEL_REFS.map((entry) => entry.toLowerCas
|
|
|
8157
8184
|
const XHIGH_MODEL_IDS = new Set(XHIGH_MODEL_REFS.map((entry) => entry.split("/")[1]?.toLowerCase()).filter((entry) => Boolean(entry)));
|
|
8158
8185
|
function normalizeThinkLevel(raw) {
|
|
8159
8186
|
if (!raw) return;
|
|
8160
|
-
const key = raw.toLowerCase();
|
|
8187
|
+
const key = raw.trim().toLowerCase();
|
|
8188
|
+
const collapsed = key.replace(/[\s_-]+/g, "");
|
|
8189
|
+
if (collapsed === "xhigh" || collapsed === "extrahigh") return "xhigh";
|
|
8161
8190
|
if (["off"].includes(key)) return "off";
|
|
8162
8191
|
if ([
|
|
8163
8192
|
"on",
|
|
@@ -8188,11 +8217,6 @@ function normalizeThinkLevel(raw) {
|
|
|
8188
8217
|
"highest",
|
|
8189
8218
|
"max"
|
|
8190
8219
|
].includes(key)) return "high";
|
|
8191
|
-
if ([
|
|
8192
|
-
"xhigh",
|
|
8193
|
-
"x-high",
|
|
8194
|
-
"x_high"
|
|
8195
|
-
].includes(key)) return "xhigh";
|
|
8196
8220
|
if (["think"].includes(key)) return "minimal";
|
|
8197
8221
|
}
|
|
8198
8222
|
function supportsXHighThinking(provider, model) {
|
|
@@ -8448,4 +8472,4 @@ function validateAnthropicTurns(messages) {
|
|
|
8448
8472
|
}
|
|
8449
8473
|
|
|
8450
8474
|
//#endregion
|
|
8451
|
-
export {
|
|
8475
|
+
export { updateSessionStoreEntry as $, normalizeToolName as $t, isCloudCodeAssistFormatError as A, listChannelPlugins as An, hasAlphaChannel as At, parseImageSizeError as B, resolveSlackAppToken as Bn, buildWorkspaceSkillCommandSpecs as Bt, BILLING_ERROR_USER_MESSAGE as C, kindFromMime as Cn, resolveGroupSessionKey as Ct, getApiErrorPayloadFingerprint as D, listEnabledSignalAccounts as Dn, resolveProfile as Dt, formatRawAssistantErrorForUi as E, mediaKindFromMime as En, resolveBrowserConfig as Et, isLikelyContextOverflowError as F, listTelegramAccountIds as Fn, SsrFBlockedError as Ft, appendAssistantMessageToSessionTranscript as G, normalizeDiscordToken as Gn, applySkillEnvOverrides as Gt, ensureSandboxWorkspaceForSession as H, normalizeChatType as Hn, loadWorkspaceSkillEntries as Ht, isRateLimitAssistantError as I, resolveTelegramAccount as In, closeDispatcher as It, readSessionUpdatedAt as J, applyOwnerOnlyToolPolicy as Jt, resolveMirroredTranscriptText as K, applySkillEnvOverridesFromSnapshot as Kt, isRawApiErrorPayload as L, resolveTelegramToken as Ln, createPinnedDispatcher as Lt, isContextOverflowError as M, isWhatsAppGroupJid as Mn, resizeToJpeg as Mt, isFailoverAssistantError as N, normalizeWhatsAppTarget as Nn, getMediaDir as Nt, isAuthAssistantError as O, resolveSignalAccount as On, convertHeicToJpeg as Ot, isFailoverErrorMessage as P, listEnabledTelegramAccounts as Pn, saveMediaBuffer as Pt, updateSessionStore as Q, expandToolGroups as Qt, isTimeoutErrorMessage as R, listBindings as Rn, resolvePinnedHostname as Rt, isGoogleModelApi as S, isGifMedia as Sn, resolveConversationLabel as St, formatAssistantErrorText as T, maxBytesForKind as Tn, registerBrowserRoutes as Tt, resolveSandboxContext as U, listEnabledDiscordAccounts as Un, resolveSkillsPromptForRun as Ut, sanitizeUserFacingText as V, resolveSlackBotToken as Vn, buildWorkspaceSkillSnapshot as Vt, resolveSandboxRuntimeStatus as W, resolveDiscordAccount as Wn, resolvePluginSkillDirs as Wt, saveSessionStore as X, collectExplicitAllowlist as Xt, recordSessionMetaFromInbound as Y, buildPluginToolGroups as Yt, updateLastRoute as Z, expandPolicyWithPluginGroups as Zt, sanitizeSessionMessagesImages as _, detectMime as _n, listChannelDocks as _t, formatXHighModelHint as a, sanitizeGoogleTurnOrdering as an, normalizeDeliveryContext as at, downgradeOpenAIReasoningBlocks as b, imageMimeFromFormat as bn, resolveChannelGroupToolsPolicy as bt, normalizeReasoningLevel as c, isInternalMessageChannel as cn, evaluateSessionFreshness as ct, normalizeVerboseLevel as d, normalizeMessageChannel as dn, resolveSessionResetType as dt, resolveToolProfilePolicy as en, isCacheEnabled as et, resolveResponseUsageMode as f, resolveGatewayMessageChannel as fn, resolveThreadFlag as ft, normalizeTextForComparison as g, GATEWAY_CLIENT_NAMES as gn, getChannelDock as gt, isMessagingToolDuplicateNormalized as h, GATEWAY_CLIENT_MODES as hn, deriveSessionMetaPatch as ht, formatThinkingLevels as i, resolveBootstrapMaxChars as in, mergeDeliveryContext as it, isCompactionFailureError as j, normalizeChannelId as jn, optimizeImageToPng as jt, isBillingAssistantError as k, getChannelPlugin as kn, getImageMetadata as kt, normalizeThinkLevel as l, isMarkdownCapableMessageChannel as ln, resolveChannelResetConfig as lt, isMessagingToolDuplicate as m, GATEWAY_CLIENT_IDS as mn, resolveMainSessionKey as mt, validateGeminiTurns as n, buildBootstrapContextFiles as nn, deliveryContextFromSession as nt, listThinkingLevels as o, INTERNAL_MESSAGE_CHANNEL as on, normalizeSessionDeliveryFields as ot, supportsXHighThinking as p, resolveMessageChannel as pn, DEFAULT_RESET_TRIGGERS as pt, loadSessionStore as q, resolveSandboxConfigForAgent as qt, pickFallbackThinkingLevel as r, ensureSessionHeader$1 as rn, deliveryContextKey as rt, normalizeElevatedLevel as s, isDeliverableMessageChannel as sn, resolveSessionKey as st, validateAnthropicTurns as t, stripPluginOnlyAllowlist as tn, resolveCacheTtlMs as tt, normalizeUsageDisplay as u, listDeliverableMessageChannels as un, resolveSessionResetPolicy as ut, sanitizeImageBlocks as v, extensionForMime as vn, resolveChannelGroupPolicy as vt, classifyFailoverReason as w, MAX_IMAGE_BYTES$1 as wn, createBrowserRouteContext as wt, isAntigravityClaude as x, isAudioFileName as xn, resolveIMessageAccount as xt, sanitizeToolResultImages as y, getFileExtension as yn, resolveChannelGroupRequireMention as yt, parseImageDimensionError as z, resolveSlackAccount as zn, resolvePinnedHostnameWithPolicy as zt };
|