@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,19 +1,17 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { t as
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import { J as
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import { n as resolveWideAreaDiscoveryDomain } from "./widearea-dns-BIhjVRG1.js";
|
|
16
|
-
import { fileURLToPath } from "node:url";
|
|
1
|
+
import { Et as resolveNodeManagerOptions, pt as detectBinary, xr as loadModelCatalog, xt as openUrl } from "./reply-B8pOiUNN.js";
|
|
2
|
+
import { f as resolveConfigDir, h as resolveUserPath, s as ensureDir, t as CONFIG_DIR } from "./utils-CKSrBNwq.js";
|
|
3
|
+
import { t as runCommandWithTimeout } from "./exec-HEWTMJ7j.js";
|
|
4
|
+
import { a as resolveAgentModelPrimary, c as resolveDefaultAgentId, r as resolveAgentDir, s as resolveAgentWorkspaceDir, w as resolveDefaultAgentWorkspaceDir } from "./agent-scope-CMs5Y7l-.js";
|
|
5
|
+
import { I as resolveEnvApiKey, J as resolveAuthProfileOrder, M as getCustomProviderApiKey, O as SYNTHETIC_DEFAULT_MODEL_REF, W as CLOUDFLARE_AI_GATEWAY_DEFAULT_MODEL_REF, at as listProfilesForProvider, bt as DEFAULT_PROVIDER, ct as upsertAuthProfile, d as resolveConfiguredModelRef, et as CHUTES_AUTHORIZE_ENDPOINT, lt as ensureAuthProfileStore, mt as resolveOpenClawAgentDir, nt as generateChutesPkce, o as modelKey, r as buildModelAliasIndex, rt as parseOAuthCallbackInput, s as normalizeProviderId, t as buildAllowedModelSet, tt as exchangeChutesCodeForTokens, u as resolveAllowlistModelKey, w as VENICE_DEFAULT_MODEL_REF, yt as DEFAULT_MODEL } from "./model-selection-DMUrNhQP.js";
|
|
6
|
+
import { t as formatCliCommand } from "./command-format-ChfKqObn.js";
|
|
7
|
+
import { _ as resolveSkillKey, d as hasBinary, i as loadWorkspaceSkillEntries, t as resolveSkillsInstallPreferences } from "./skills-D5JDj3TR.js";
|
|
8
|
+
import { Y as fetchWithSsrFGuard } from "./deliver-C3bnXkg5.js";
|
|
9
|
+
import { t as resolveBrewExecutable } from "./brew-CAcErcKz.js";
|
|
10
|
+
import { $ as setVeniceApiKey, A as applySyntheticProviderConfig, B as OPENROUTER_DEFAULT_MODEL_REF, C as applyMoonshotConfig, D as applyOpenrouterConfig, E as applyMoonshotProviderConfigCn, F as applyXaiConfig, G as setCloudflareAiGatewayConfig, H as XIAOMI_DEFAULT_MODEL_REF, I as applyXaiProviderConfig, J as setMinimaxApiKey, K as setGeminiApiKey, L as applyXiaomiConfig, M as applyVeniceProviderConfig, N as applyVercelAiGatewayConfig, O as applyOpenrouterProviderConfig, P as applyVercelAiGatewayProviderConfig, Q as setSyntheticApiKey, R as applyXiaomiProviderConfig, S as applyKimiCodeProviderConfig, T as applyMoonshotProviderConfig, U as ZAI_DEFAULT_MODEL_REF, V as VERCEL_AI_GATEWAY_DEFAULT_MODEL_REF, W as setAnthropicApiKey, X as setOpencodeZenApiKey, Y as setMoonshotApiKey, Z as setOpenrouterApiKey, _ as applyMinimaxProviderConfig, at as KIMI_CODING_MODEL_REF, b as applyCloudflareAiGatewayProviderConfig, ct as buildTokenProfileId, d as resolvePluginProviders, et as setVercelAiGatewayApiKey, f as applyOpencodeZenConfig, g as applyMinimaxConfig, h as applyMinimaxApiProviderConfig, i as formatTokenK, it as writeOAuthCredentials, j as applyVeniceConfig, k as applySyntheticConfig, l as createVpsAwareOAuthHandlers, lt as validateAnthropicSetupToken, m as applyMinimaxApiConfig, nt as setXiaomiApiKey, ot as MOONSHOT_DEFAULT_MODEL_REF, p as applyOpencodeZenProviderConfig, q as setKimiCodingApiKey, rt as setZaiApiKey, st as XAI_DEFAULT_MODEL_REF, t as githubCopilotLoginCommand, tt as setXaiApiKey, u as isRemoteEnvironment, v as applyAuthProfileConfig, w as applyMoonshotConfigCn, x as applyKimiCodeConfig, y as applyCloudflareAiGatewayConfig, z as applyZaiConfig } from "./github-copilot-auth-C8Uf0Q03.js";
|
|
11
|
+
import { a as enablePluginInConfig } from "./onboard-channels-DKT27PdN.js";
|
|
12
|
+
import { t as scanDirectoryWithSummary } from "./skill-scanner-BoGjHXUZ.js";
|
|
13
|
+
import { t as buildWorkspaceSkillStatus } from "./skills-status-CEvVUD3U.js";
|
|
14
|
+
import { n as resolveWideAreaDiscoveryDomain } from "./widearea-dns-D9Al4QRv.js";
|
|
17
15
|
import path from "node:path";
|
|
18
16
|
import fs from "node:fs";
|
|
19
17
|
import { randomBytes } from "node:crypto";
|
|
@@ -24,6 +22,12 @@ import { Readable } from "node:stream";
|
|
|
24
22
|
|
|
25
23
|
//#region src/commands/auth-choice-options.ts
|
|
26
24
|
const AUTH_CHOICE_GROUP_DEFS = [
|
|
25
|
+
{
|
|
26
|
+
value: "xai",
|
|
27
|
+
label: "xAI (Grok)",
|
|
28
|
+
hint: "API key",
|
|
29
|
+
choices: ["xai-api-key"]
|
|
30
|
+
},
|
|
27
31
|
{
|
|
28
32
|
value: "openai",
|
|
29
33
|
label: "OpenAI",
|
|
@@ -151,6 +155,10 @@ function buildAuthChoiceOptions(params) {
|
|
|
151
155
|
value: "openrouter-api-key",
|
|
152
156
|
label: "OpenRouter API key"
|
|
153
157
|
});
|
|
158
|
+
options.push({
|
|
159
|
+
value: "xai-api-key",
|
|
160
|
+
label: "xAI (Grok) API key"
|
|
161
|
+
});
|
|
154
162
|
options.push({
|
|
155
163
|
value: "ai-gateway-api-key",
|
|
156
164
|
label: "Vercel AI Gateway API key"
|
|
@@ -398,6 +406,28 @@ async function applyAuthChoiceAnthropic(params) {
|
|
|
398
406
|
return null;
|
|
399
407
|
}
|
|
400
408
|
|
|
409
|
+
//#endregion
|
|
410
|
+
//#region src/commands/model-allowlist.ts
|
|
411
|
+
function ensureModelAllowlistEntry(params) {
|
|
412
|
+
const rawModelRef = params.modelRef.trim();
|
|
413
|
+
if (!rawModelRef) return params.cfg;
|
|
414
|
+
const models = { ...params.cfg.agents?.defaults?.models };
|
|
415
|
+
const keySet = new Set([rawModelRef]);
|
|
416
|
+
const canonicalKey = resolveAllowlistModelKey(rawModelRef, params.defaultProvider ?? DEFAULT_PROVIDER);
|
|
417
|
+
if (canonicalKey) keySet.add(canonicalKey);
|
|
418
|
+
for (const key of keySet) models[key] = { ...models[key] };
|
|
419
|
+
return {
|
|
420
|
+
...params.cfg,
|
|
421
|
+
agents: {
|
|
422
|
+
...params.cfg.agents,
|
|
423
|
+
defaults: {
|
|
424
|
+
...params.cfg.agents?.defaults,
|
|
425
|
+
models
|
|
426
|
+
}
|
|
427
|
+
}
|
|
428
|
+
};
|
|
429
|
+
}
|
|
430
|
+
|
|
401
431
|
//#endregion
|
|
402
432
|
//#region src/commands/auth-choice.default-model.ts
|
|
403
433
|
async function applyDefaultModelChoice(params) {
|
|
@@ -406,10 +436,13 @@ async function applyDefaultModelChoice(params) {
|
|
|
406
436
|
if (params.noteDefault) await params.prompter.note(`Default model set to ${params.noteDefault}`, "Model configured");
|
|
407
437
|
return { config: next };
|
|
408
438
|
}
|
|
409
|
-
const
|
|
439
|
+
const nextWithModel = ensureModelAllowlistEntry({
|
|
440
|
+
cfg: params.applyProviderConfig(params.config),
|
|
441
|
+
modelRef: params.defaultModel
|
|
442
|
+
});
|
|
410
443
|
await params.noteAgentModel(params.defaultModel);
|
|
411
444
|
return {
|
|
412
|
-
config:
|
|
445
|
+
config: nextWithModel,
|
|
413
446
|
agentModelOverride: params.defaultModel
|
|
414
447
|
};
|
|
415
448
|
}
|
|
@@ -446,7 +479,7 @@ function applyGoogleGeminiModelDefault(cfg) {
|
|
|
446
479
|
|
|
447
480
|
//#endregion
|
|
448
481
|
//#region src/commands/opencode-zen-model-default.ts
|
|
449
|
-
const OPENCODE_ZEN_DEFAULT_MODEL = "opencode/claude-opus-4-
|
|
482
|
+
const OPENCODE_ZEN_DEFAULT_MODEL = "opencode/claude-opus-4-6";
|
|
450
483
|
|
|
451
484
|
//#endregion
|
|
452
485
|
//#region src/commands/auth-choice.apply.api-providers.ts
|
|
@@ -1047,7 +1080,7 @@ async function applyAuthChoiceApiProviders(params) {
|
|
|
1047
1080
|
if (!hasCredential) await params.prompter.note([
|
|
1048
1081
|
"OpenCode Zen provides access to Claude, GPT, Gemini, and more models.",
|
|
1049
1082
|
"Get your API key at: https://opencode.ai/auth",
|
|
1050
|
-
"
|
|
1083
|
+
"OpenCode Zen bills per request. Check your OpenCode dashboard for details."
|
|
1051
1084
|
].join("\n"), "OpenCode Zen");
|
|
1052
1085
|
const envKey = resolveEnvApiKey("opencode");
|
|
1053
1086
|
if (envKey) {
|
|
@@ -1623,7 +1656,7 @@ function upsertSharedEnvVar(params) {
|
|
|
1623
1656
|
|
|
1624
1657
|
//#endregion
|
|
1625
1658
|
//#region src/commands/openai-codex-model-default.ts
|
|
1626
|
-
const OPENAI_CODEX_DEFAULT_MODEL = "openai-codex/gpt-5.
|
|
1659
|
+
const OPENAI_CODEX_DEFAULT_MODEL = "openai-codex/gpt-5.3-codex";
|
|
1627
1660
|
function shouldSetOpenAICodexModel(model) {
|
|
1628
1661
|
const trimmed = model?.trim();
|
|
1629
1662
|
if (!trimmed) return true;
|
|
@@ -1659,12 +1692,59 @@ function applyOpenAICodexModelDefault(cfg) {
|
|
|
1659
1692
|
};
|
|
1660
1693
|
}
|
|
1661
1694
|
|
|
1695
|
+
//#endregion
|
|
1696
|
+
//#region src/commands/openai-model-default.ts
|
|
1697
|
+
const OPENAI_DEFAULT_MODEL = "openai/gpt-5.1-codex";
|
|
1698
|
+
function applyOpenAIProviderConfig(cfg) {
|
|
1699
|
+
const next = ensureModelAllowlistEntry({
|
|
1700
|
+
cfg,
|
|
1701
|
+
modelRef: OPENAI_DEFAULT_MODEL
|
|
1702
|
+
});
|
|
1703
|
+
const models = { ...next.agents?.defaults?.models };
|
|
1704
|
+
models[OPENAI_DEFAULT_MODEL] = {
|
|
1705
|
+
...models[OPENAI_DEFAULT_MODEL],
|
|
1706
|
+
alias: models[OPENAI_DEFAULT_MODEL]?.alias ?? "GPT"
|
|
1707
|
+
};
|
|
1708
|
+
return {
|
|
1709
|
+
...next,
|
|
1710
|
+
agents: {
|
|
1711
|
+
...next.agents,
|
|
1712
|
+
defaults: {
|
|
1713
|
+
...next.agents?.defaults,
|
|
1714
|
+
models
|
|
1715
|
+
}
|
|
1716
|
+
}
|
|
1717
|
+
};
|
|
1718
|
+
}
|
|
1719
|
+
function applyOpenAIConfig(cfg) {
|
|
1720
|
+
const next = applyOpenAIProviderConfig(cfg);
|
|
1721
|
+
return {
|
|
1722
|
+
...next,
|
|
1723
|
+
agents: {
|
|
1724
|
+
...next.agents,
|
|
1725
|
+
defaults: {
|
|
1726
|
+
...next.agents?.defaults,
|
|
1727
|
+
model: next.agents?.defaults?.model && typeof next.agents.defaults.model === "object" ? {
|
|
1728
|
+
...next.agents.defaults.model,
|
|
1729
|
+
primary: OPENAI_DEFAULT_MODEL
|
|
1730
|
+
} : { primary: OPENAI_DEFAULT_MODEL }
|
|
1731
|
+
}
|
|
1732
|
+
}
|
|
1733
|
+
};
|
|
1734
|
+
}
|
|
1735
|
+
|
|
1662
1736
|
//#endregion
|
|
1663
1737
|
//#region src/commands/auth-choice.apply.openai.ts
|
|
1664
1738
|
async function applyAuthChoiceOpenAI(params) {
|
|
1665
1739
|
let authChoice = params.authChoice;
|
|
1666
1740
|
if (authChoice === "apiKey" && params.opts?.tokenProvider === "openai") authChoice = "openai-api-key";
|
|
1667
1741
|
if (authChoice === "openai-api-key") {
|
|
1742
|
+
let nextConfig = params.config;
|
|
1743
|
+
let agentModelOverride;
|
|
1744
|
+
const noteAgentModel = async (model) => {
|
|
1745
|
+
if (!params.agentId) return;
|
|
1746
|
+
await params.prompter.note(`Default model set to ${model} for agent "${params.agentId}".`, "Model configured");
|
|
1747
|
+
};
|
|
1668
1748
|
const envKey = resolveEnvApiKey("openai");
|
|
1669
1749
|
if (envKey) {
|
|
1670
1750
|
if (await params.prompter.confirm({
|
|
@@ -1677,7 +1757,22 @@ async function applyAuthChoiceOpenAI(params) {
|
|
|
1677
1757
|
});
|
|
1678
1758
|
if (!process.env.OPENAI_API_KEY) process.env.OPENAI_API_KEY = envKey.apiKey;
|
|
1679
1759
|
await params.prompter.note(`Copied OPENAI_API_KEY to ${result.path} for launchd compatibility.`, "OpenAI API key");
|
|
1680
|
-
|
|
1760
|
+
const applied = await applyDefaultModelChoice({
|
|
1761
|
+
config: nextConfig,
|
|
1762
|
+
setDefaultModel: params.setDefaultModel,
|
|
1763
|
+
defaultModel: OPENAI_DEFAULT_MODEL,
|
|
1764
|
+
applyDefaultConfig: applyOpenAIConfig,
|
|
1765
|
+
applyProviderConfig: applyOpenAIProviderConfig,
|
|
1766
|
+
noteDefault: OPENAI_DEFAULT_MODEL,
|
|
1767
|
+
noteAgentModel,
|
|
1768
|
+
prompter: params.prompter
|
|
1769
|
+
});
|
|
1770
|
+
nextConfig = applied.config;
|
|
1771
|
+
agentModelOverride = applied.agentModelOverride ?? agentModelOverride;
|
|
1772
|
+
return {
|
|
1773
|
+
config: nextConfig,
|
|
1774
|
+
agentModelOverride
|
|
1775
|
+
};
|
|
1681
1776
|
}
|
|
1682
1777
|
}
|
|
1683
1778
|
let key;
|
|
@@ -1693,7 +1788,22 @@ async function applyAuthChoiceOpenAI(params) {
|
|
|
1693
1788
|
});
|
|
1694
1789
|
process.env.OPENAI_API_KEY = trimmed;
|
|
1695
1790
|
await params.prompter.note(`Saved OPENAI_API_KEY to ${result.path} for launchd compatibility.`, "OpenAI API key");
|
|
1696
|
-
|
|
1791
|
+
const applied = await applyDefaultModelChoice({
|
|
1792
|
+
config: nextConfig,
|
|
1793
|
+
setDefaultModel: params.setDefaultModel,
|
|
1794
|
+
defaultModel: OPENAI_DEFAULT_MODEL,
|
|
1795
|
+
applyDefaultConfig: applyOpenAIConfig,
|
|
1796
|
+
applyProviderConfig: applyOpenAIProviderConfig,
|
|
1797
|
+
noteDefault: OPENAI_DEFAULT_MODEL,
|
|
1798
|
+
noteAgentModel,
|
|
1799
|
+
prompter: params.prompter
|
|
1800
|
+
});
|
|
1801
|
+
nextConfig = applied.config;
|
|
1802
|
+
agentModelOverride = applied.agentModelOverride ?? agentModelOverride;
|
|
1803
|
+
return {
|
|
1804
|
+
config: nextConfig,
|
|
1805
|
+
agentModelOverride
|
|
1806
|
+
};
|
|
1697
1807
|
}
|
|
1698
1808
|
if (params.authChoice === "openai-codex") {
|
|
1699
1809
|
let nextConfig = params.config;
|
|
@@ -1769,6 +1879,66 @@ async function applyAuthChoiceQwenPortal(params) {
|
|
|
1769
1879
|
});
|
|
1770
1880
|
}
|
|
1771
1881
|
|
|
1882
|
+
//#endregion
|
|
1883
|
+
//#region src/commands/auth-choice.apply.xai.ts
|
|
1884
|
+
async function applyAuthChoiceXAI(params) {
|
|
1885
|
+
if (params.authChoice !== "xai-api-key") return null;
|
|
1886
|
+
let nextConfig = params.config;
|
|
1887
|
+
let agentModelOverride;
|
|
1888
|
+
const noteAgentModel = async (model) => {
|
|
1889
|
+
if (!params.agentId) return;
|
|
1890
|
+
await params.prompter.note(`Default model set to ${model} for agent "${params.agentId}".`, "Model configured");
|
|
1891
|
+
};
|
|
1892
|
+
let hasCredential = false;
|
|
1893
|
+
const optsKey = params.opts?.xaiApiKey?.trim();
|
|
1894
|
+
if (optsKey) {
|
|
1895
|
+
setXaiApiKey(normalizeApiKeyInput(optsKey), params.agentDir);
|
|
1896
|
+
hasCredential = true;
|
|
1897
|
+
}
|
|
1898
|
+
if (!hasCredential) {
|
|
1899
|
+
const envKey = resolveEnvApiKey("xai");
|
|
1900
|
+
if (envKey) {
|
|
1901
|
+
if (await params.prompter.confirm({
|
|
1902
|
+
message: `Use existing XAI_API_KEY (${envKey.source}, ${formatApiKeyPreview(envKey.apiKey)})?`,
|
|
1903
|
+
initialValue: true
|
|
1904
|
+
})) {
|
|
1905
|
+
setXaiApiKey(envKey.apiKey, params.agentDir);
|
|
1906
|
+
hasCredential = true;
|
|
1907
|
+
}
|
|
1908
|
+
}
|
|
1909
|
+
}
|
|
1910
|
+
if (!hasCredential) {
|
|
1911
|
+
const key = await params.prompter.text({
|
|
1912
|
+
message: "Enter xAI API key",
|
|
1913
|
+
validate: validateApiKeyInput
|
|
1914
|
+
});
|
|
1915
|
+
setXaiApiKey(normalizeApiKeyInput(String(key)), params.agentDir);
|
|
1916
|
+
}
|
|
1917
|
+
nextConfig = applyAuthProfileConfig(nextConfig, {
|
|
1918
|
+
profileId: "xai:default",
|
|
1919
|
+
provider: "xai",
|
|
1920
|
+
mode: "api_key"
|
|
1921
|
+
});
|
|
1922
|
+
{
|
|
1923
|
+
const applied = await applyDefaultModelChoice({
|
|
1924
|
+
config: nextConfig,
|
|
1925
|
+
setDefaultModel: params.setDefaultModel,
|
|
1926
|
+
defaultModel: XAI_DEFAULT_MODEL_REF,
|
|
1927
|
+
applyDefaultConfig: applyXaiConfig,
|
|
1928
|
+
applyProviderConfig: applyXaiProviderConfig,
|
|
1929
|
+
noteDefault: XAI_DEFAULT_MODEL_REF,
|
|
1930
|
+
noteAgentModel,
|
|
1931
|
+
prompter: params.prompter
|
|
1932
|
+
});
|
|
1933
|
+
nextConfig = applied.config;
|
|
1934
|
+
agentModelOverride = applied.agentModelOverride ?? agentModelOverride;
|
|
1935
|
+
}
|
|
1936
|
+
return {
|
|
1937
|
+
config: nextConfig,
|
|
1938
|
+
agentModelOverride
|
|
1939
|
+
};
|
|
1940
|
+
}
|
|
1941
|
+
|
|
1772
1942
|
//#endregion
|
|
1773
1943
|
//#region src/commands/auth-choice.apply.ts
|
|
1774
1944
|
async function applyAuthChoice(params) {
|
|
@@ -1782,7 +1952,8 @@ async function applyAuthChoice(params) {
|
|
|
1782
1952
|
applyAuthChoiceGoogleAntigravity,
|
|
1783
1953
|
applyAuthChoiceGoogleGeminiCli,
|
|
1784
1954
|
applyAuthChoiceCopilotProxy,
|
|
1785
|
-
applyAuthChoiceQwenPortal
|
|
1955
|
+
applyAuthChoiceQwenPortal,
|
|
1956
|
+
applyAuthChoiceXAI
|
|
1786
1957
|
];
|
|
1787
1958
|
for (const handler of handlers) {
|
|
1788
1959
|
const result = await handler(params);
|
|
@@ -1864,6 +2035,7 @@ const PREFERRED_PROVIDER_BY_AUTH_CHOICE = {
|
|
|
1864
2035
|
"minimax-api-lightning": "minimax",
|
|
1865
2036
|
minimax: "lmstudio",
|
|
1866
2037
|
"opencode-zen": "opencode",
|
|
2038
|
+
"xai-api-key": "xai",
|
|
1867
2039
|
"qwen-portal": "qwen-portal",
|
|
1868
2040
|
"minimax-portal": "minimax-portal"
|
|
1869
2041
|
};
|
|
@@ -1871,145 +2043,6 @@ function resolvePreferredProviderForAuthChoice(choice) {
|
|
|
1871
2043
|
return PREFERRED_PROVIDER_BY_AUTH_CHOICE[choice];
|
|
1872
2044
|
}
|
|
1873
2045
|
|
|
1874
|
-
//#endregion
|
|
1875
|
-
//#region src/infra/control-ui-assets.ts
|
|
1876
|
-
function resolveControlUiRepoRoot(argv1 = process.argv[1]) {
|
|
1877
|
-
if (!argv1) return null;
|
|
1878
|
-
const normalized = path.resolve(argv1);
|
|
1879
|
-
const parts = normalized.split(path.sep);
|
|
1880
|
-
const srcIndex = parts.lastIndexOf("src");
|
|
1881
|
-
if (srcIndex !== -1) {
|
|
1882
|
-
const root = parts.slice(0, srcIndex).join(path.sep);
|
|
1883
|
-
if (fs.existsSync(path.join(root, "ui", "vite.config.ts"))) return root;
|
|
1884
|
-
}
|
|
1885
|
-
let dir = path.dirname(normalized);
|
|
1886
|
-
for (let i = 0; i < 8; i++) {
|
|
1887
|
-
if (fs.existsSync(path.join(dir, "package.json")) && fs.existsSync(path.join(dir, "ui", "vite.config.ts"))) return dir;
|
|
1888
|
-
const parent = path.dirname(dir);
|
|
1889
|
-
if (parent === dir) break;
|
|
1890
|
-
dir = parent;
|
|
1891
|
-
}
|
|
1892
|
-
return null;
|
|
1893
|
-
}
|
|
1894
|
-
async function resolveControlUiDistIndexPath(argv1 = process.argv[1]) {
|
|
1895
|
-
if (!argv1) return null;
|
|
1896
|
-
const normalized = path.resolve(argv1);
|
|
1897
|
-
const distDir = path.dirname(normalized);
|
|
1898
|
-
if (path.basename(distDir) === "dist") return path.join(distDir, "control-ui", "index.html");
|
|
1899
|
-
const packageRoot = await resolveOpenClawPackageRoot({ argv1: normalized });
|
|
1900
|
-
if (!packageRoot) return null;
|
|
1901
|
-
return path.join(packageRoot, "dist", "control-ui", "index.html");
|
|
1902
|
-
}
|
|
1903
|
-
function addCandidate(candidates, value) {
|
|
1904
|
-
if (!value) return;
|
|
1905
|
-
candidates.add(path.resolve(value));
|
|
1906
|
-
}
|
|
1907
|
-
function resolveControlUiRootOverrideSync(rootOverride) {
|
|
1908
|
-
const resolved = path.resolve(rootOverride);
|
|
1909
|
-
try {
|
|
1910
|
-
const stats = fs.statSync(resolved);
|
|
1911
|
-
if (stats.isFile()) return path.basename(resolved) === "index.html" ? path.dirname(resolved) : null;
|
|
1912
|
-
if (stats.isDirectory()) {
|
|
1913
|
-
const indexPath = path.join(resolved, "index.html");
|
|
1914
|
-
return fs.existsSync(indexPath) ? resolved : null;
|
|
1915
|
-
}
|
|
1916
|
-
} catch {
|
|
1917
|
-
return null;
|
|
1918
|
-
}
|
|
1919
|
-
return null;
|
|
1920
|
-
}
|
|
1921
|
-
function resolveControlUiRootSync(opts = {}) {
|
|
1922
|
-
const candidates = /* @__PURE__ */ new Set();
|
|
1923
|
-
const argv1 = opts.argv1 ?? process.argv[1];
|
|
1924
|
-
const cwd = opts.cwd ?? process.cwd();
|
|
1925
|
-
const moduleDir = opts.moduleUrl ? path.dirname(fileURLToPath(opts.moduleUrl)) : null;
|
|
1926
|
-
const argv1Dir = argv1 ? path.dirname(path.resolve(argv1)) : null;
|
|
1927
|
-
const execDir = (() => {
|
|
1928
|
-
try {
|
|
1929
|
-
const execPath = opts.execPath ?? process.execPath;
|
|
1930
|
-
return path.dirname(fs.realpathSync(execPath));
|
|
1931
|
-
} catch {
|
|
1932
|
-
return null;
|
|
1933
|
-
}
|
|
1934
|
-
})();
|
|
1935
|
-
const packageRoot = resolveOpenClawPackageRootSync({
|
|
1936
|
-
argv1,
|
|
1937
|
-
moduleUrl: opts.moduleUrl,
|
|
1938
|
-
cwd
|
|
1939
|
-
});
|
|
1940
|
-
addCandidate(candidates, execDir ? path.join(execDir, "control-ui") : null);
|
|
1941
|
-
if (moduleDir) {
|
|
1942
|
-
addCandidate(candidates, path.join(moduleDir, "control-ui"));
|
|
1943
|
-
addCandidate(candidates, path.join(moduleDir, "../control-ui"));
|
|
1944
|
-
addCandidate(candidates, path.join(moduleDir, "../../dist/control-ui"));
|
|
1945
|
-
}
|
|
1946
|
-
if (argv1Dir) {
|
|
1947
|
-
addCandidate(candidates, path.join(argv1Dir, "dist", "control-ui"));
|
|
1948
|
-
addCandidate(candidates, path.join(argv1Dir, "control-ui"));
|
|
1949
|
-
}
|
|
1950
|
-
if (packageRoot) addCandidate(candidates, path.join(packageRoot, "dist", "control-ui"));
|
|
1951
|
-
addCandidate(candidates, path.join(cwd, "dist", "control-ui"));
|
|
1952
|
-
for (const dir of candidates) {
|
|
1953
|
-
const indexPath = path.join(dir, "index.html");
|
|
1954
|
-
if (fs.existsSync(indexPath)) return dir;
|
|
1955
|
-
}
|
|
1956
|
-
return null;
|
|
1957
|
-
}
|
|
1958
|
-
function summarizeCommandOutput(text) {
|
|
1959
|
-
const lines = text.split(/\r?\n/g).map((l) => l.trim()).filter(Boolean);
|
|
1960
|
-
if (!lines.length) return;
|
|
1961
|
-
const last = lines.at(-1);
|
|
1962
|
-
if (!last) return;
|
|
1963
|
-
return last.length > 240 ? `${last.slice(0, 239)}…` : last;
|
|
1964
|
-
}
|
|
1965
|
-
async function ensureControlUiAssetsBuilt(runtime = defaultRuntime, opts) {
|
|
1966
|
-
const indexFromDist = await resolveControlUiDistIndexPath(process.argv[1]);
|
|
1967
|
-
if (indexFromDist && fs.existsSync(indexFromDist)) return {
|
|
1968
|
-
ok: true,
|
|
1969
|
-
built: false
|
|
1970
|
-
};
|
|
1971
|
-
const repoRoot = resolveControlUiRepoRoot(process.argv[1]);
|
|
1972
|
-
if (!repoRoot) return {
|
|
1973
|
-
ok: false,
|
|
1974
|
-
built: false,
|
|
1975
|
-
message: `${indexFromDist ? `Missing Control UI assets at ${indexFromDist}` : "Missing Control UI assets"}. Build them with \`pnpm ui:build\` (auto-installs UI deps).`
|
|
1976
|
-
};
|
|
1977
|
-
const indexPath = path.join(repoRoot, "dist", "control-ui", "index.html");
|
|
1978
|
-
if (fs.existsSync(indexPath)) return {
|
|
1979
|
-
ok: true,
|
|
1980
|
-
built: false
|
|
1981
|
-
};
|
|
1982
|
-
const uiScript = path.join(repoRoot, "scripts", "ui.js");
|
|
1983
|
-
if (!fs.existsSync(uiScript)) return {
|
|
1984
|
-
ok: false,
|
|
1985
|
-
built: false,
|
|
1986
|
-
message: `Control UI assets missing but ${uiScript} is unavailable.`
|
|
1987
|
-
};
|
|
1988
|
-
runtime.log("Control UI assets missing; building (ui:build, auto-installs UI deps)…");
|
|
1989
|
-
const build = await runCommandWithTimeout([
|
|
1990
|
-
process.execPath,
|
|
1991
|
-
uiScript,
|
|
1992
|
-
"build"
|
|
1993
|
-
], {
|
|
1994
|
-
cwd: repoRoot,
|
|
1995
|
-
timeoutMs: opts?.timeoutMs ?? 10 * 6e4
|
|
1996
|
-
});
|
|
1997
|
-
if (build.code !== 0) return {
|
|
1998
|
-
ok: false,
|
|
1999
|
-
built: false,
|
|
2000
|
-
message: `Control UI build failed: ${summarizeCommandOutput(build.stderr) ?? `exit ${build.code}`}`
|
|
2001
|
-
};
|
|
2002
|
-
if (!fs.existsSync(indexPath)) return {
|
|
2003
|
-
ok: false,
|
|
2004
|
-
built: true,
|
|
2005
|
-
message: `Control UI build completed but ${indexPath} is still missing.`
|
|
2006
|
-
};
|
|
2007
|
-
return {
|
|
2008
|
-
ok: true,
|
|
2009
|
-
built: true
|
|
2010
|
-
};
|
|
2011
|
-
}
|
|
2012
|
-
|
|
2013
2046
|
//#endregion
|
|
2014
2047
|
//#region src/commands/model-picker.ts
|
|
2015
2048
|
const KEEP_VALUE = "__keep__";
|
|
@@ -2202,7 +2235,7 @@ async function promptModelAllowlist(params) {
|
|
|
2202
2235
|
const raw = await params.prompter.text({
|
|
2203
2236
|
message: params.message ?? "Allowlist models (comma-separated provider/model; blank to keep current)",
|
|
2204
2237
|
initialValue: existingKeys.join(", "),
|
|
2205
|
-
placeholder:
|
|
2238
|
+
placeholder: `${OPENAI_CODEX_DEFAULT_MODEL}, anthropic/claude-opus-4-6`
|
|
2206
2239
|
});
|
|
2207
2240
|
const parsed = String(raw ?? "").split(",").map((value) => value.trim()).filter((value) => value.length > 0);
|
|
2208
2241
|
if (parsed.length === 0) return {};
|
|
@@ -2859,6 +2892,33 @@ function formatInstallFailureMessage(result) {
|
|
|
2859
2892
|
if (!summary) return `Install failed (${code})`;
|
|
2860
2893
|
return `Install failed (${code}): ${summary}`;
|
|
2861
2894
|
}
|
|
2895
|
+
function withWarnings(result, warnings) {
|
|
2896
|
+
if (warnings.length === 0) return result;
|
|
2897
|
+
return {
|
|
2898
|
+
...result,
|
|
2899
|
+
warnings: warnings.slice()
|
|
2900
|
+
};
|
|
2901
|
+
}
|
|
2902
|
+
function formatScanFindingDetail(rootDir, finding) {
|
|
2903
|
+
const relativePath = path.relative(rootDir, finding.file);
|
|
2904
|
+
const filePath = relativePath && relativePath !== "." && !relativePath.startsWith("..") ? relativePath : path.basename(finding.file);
|
|
2905
|
+
return `${finding.message} (${filePath}:${finding.line})`;
|
|
2906
|
+
}
|
|
2907
|
+
async function collectSkillInstallScanWarnings(entry) {
|
|
2908
|
+
const warnings = [];
|
|
2909
|
+
const skillName = entry.skill.name;
|
|
2910
|
+
const skillDir = path.resolve(entry.skill.baseDir);
|
|
2911
|
+
try {
|
|
2912
|
+
const summary = await scanDirectoryWithSummary(skillDir);
|
|
2913
|
+
if (summary.critical > 0) {
|
|
2914
|
+
const criticalDetails = summary.findings.filter((finding) => finding.severity === "critical").map((finding) => formatScanFindingDetail(skillDir, finding)).join("; ");
|
|
2915
|
+
warnings.push(`WARNING: Skill "${skillName}" contains dangerous code patterns: ${criticalDetails}`);
|
|
2916
|
+
} else if (summary.warn > 0) warnings.push(`Skill "${skillName}" has ${summary.warn} suspicious code pattern(s). Run "openclaw security audit --deep" for details.`);
|
|
2917
|
+
} catch (err) {
|
|
2918
|
+
warnings.push(`Skill "${skillName}" code safety scan failed (${String(err)}). Installation continues; run "openclaw security audit --deep" after install.`);
|
|
2919
|
+
}
|
|
2920
|
+
return warnings;
|
|
2921
|
+
}
|
|
2862
2922
|
function resolveInstallId(spec, index) {
|
|
2863
2923
|
return (spec.id ?? `${spec.kind}-${index}`).trim();
|
|
2864
2924
|
}
|
|
@@ -3093,61 +3153,62 @@ async function installSkill(params) {
|
|
|
3093
3153
|
code: null
|
|
3094
3154
|
};
|
|
3095
3155
|
const spec = findInstallSpec(entry, params.installId);
|
|
3096
|
-
|
|
3156
|
+
const warnings = await collectSkillInstallScanWarnings(entry);
|
|
3157
|
+
if (!spec) return withWarnings({
|
|
3097
3158
|
ok: false,
|
|
3098
3159
|
message: `Installer not found: ${params.installId}`,
|
|
3099
3160
|
stdout: "",
|
|
3100
3161
|
stderr: "",
|
|
3101
3162
|
code: null
|
|
3102
|
-
};
|
|
3103
|
-
if (spec.kind === "download") return await installDownloadSpec({
|
|
3163
|
+
}, warnings);
|
|
3164
|
+
if (spec.kind === "download") return withWarnings(await installDownloadSpec({
|
|
3104
3165
|
entry,
|
|
3105
3166
|
spec,
|
|
3106
3167
|
timeoutMs
|
|
3107
|
-
});
|
|
3168
|
+
}), warnings);
|
|
3108
3169
|
const command = buildInstallCommand(spec, resolveSkillsInstallPreferences(params.config));
|
|
3109
|
-
if (command.error) return {
|
|
3170
|
+
if (command.error) return withWarnings({
|
|
3110
3171
|
ok: false,
|
|
3111
3172
|
message: command.error,
|
|
3112
3173
|
stdout: "",
|
|
3113
3174
|
stderr: "",
|
|
3114
3175
|
code: null
|
|
3115
|
-
};
|
|
3176
|
+
}, warnings);
|
|
3116
3177
|
const brewExe = hasBinary("brew") ? "brew" : resolveBrewExecutable();
|
|
3117
|
-
if (spec.kind === "brew" && !brewExe) return {
|
|
3178
|
+
if (spec.kind === "brew" && !brewExe) return withWarnings({
|
|
3118
3179
|
ok: false,
|
|
3119
3180
|
message: "brew not installed",
|
|
3120
3181
|
stdout: "",
|
|
3121
3182
|
stderr: "",
|
|
3122
3183
|
code: null
|
|
3123
|
-
};
|
|
3184
|
+
}, warnings);
|
|
3124
3185
|
if (spec.kind === "uv" && !hasBinary("uv")) if (brewExe) {
|
|
3125
3186
|
const brewResult = await runCommandWithTimeout([
|
|
3126
3187
|
brewExe,
|
|
3127
3188
|
"install",
|
|
3128
3189
|
"uv"
|
|
3129
3190
|
], { timeoutMs });
|
|
3130
|
-
if (brewResult.code !== 0) return {
|
|
3191
|
+
if (brewResult.code !== 0) return withWarnings({
|
|
3131
3192
|
ok: false,
|
|
3132
3193
|
message: "Failed to install uv (brew)",
|
|
3133
3194
|
stdout: brewResult.stdout.trim(),
|
|
3134
3195
|
stderr: brewResult.stderr.trim(),
|
|
3135
3196
|
code: brewResult.code
|
|
3136
|
-
};
|
|
3137
|
-
} else return {
|
|
3197
|
+
}, warnings);
|
|
3198
|
+
} else return withWarnings({
|
|
3138
3199
|
ok: false,
|
|
3139
3200
|
message: "uv not installed (install via brew)",
|
|
3140
3201
|
stdout: "",
|
|
3141
3202
|
stderr: "",
|
|
3142
3203
|
code: null
|
|
3143
|
-
};
|
|
3144
|
-
if (!command.argv || command.argv.length === 0) return {
|
|
3204
|
+
}, warnings);
|
|
3205
|
+
if (!command.argv || command.argv.length === 0) return withWarnings({
|
|
3145
3206
|
ok: false,
|
|
3146
3207
|
message: "invalid install command",
|
|
3147
3208
|
stdout: "",
|
|
3148
3209
|
stderr: "",
|
|
3149
3210
|
code: null
|
|
3150
|
-
};
|
|
3211
|
+
}, warnings);
|
|
3151
3212
|
if (spec.kind === "brew" && brewExe && command.argv[0] === "brew") command.argv[0] = brewExe;
|
|
3152
3213
|
if (spec.kind === "go" && !hasBinary("go")) if (brewExe) {
|
|
3153
3214
|
const brewResult = await runCommandWithTimeout([
|
|
@@ -3155,20 +3216,20 @@ async function installSkill(params) {
|
|
|
3155
3216
|
"install",
|
|
3156
3217
|
"go"
|
|
3157
3218
|
], { timeoutMs });
|
|
3158
|
-
if (brewResult.code !== 0) return {
|
|
3219
|
+
if (brewResult.code !== 0) return withWarnings({
|
|
3159
3220
|
ok: false,
|
|
3160
3221
|
message: "Failed to install go (brew)",
|
|
3161
3222
|
stdout: brewResult.stdout.trim(),
|
|
3162
3223
|
stderr: brewResult.stderr.trim(),
|
|
3163
3224
|
code: brewResult.code
|
|
3164
|
-
};
|
|
3165
|
-
} else return {
|
|
3225
|
+
}, warnings);
|
|
3226
|
+
} else return withWarnings({
|
|
3166
3227
|
ok: false,
|
|
3167
3228
|
message: "go not installed (install via brew)",
|
|
3168
3229
|
stdout: "",
|
|
3169
3230
|
stderr: "",
|
|
3170
3231
|
code: null
|
|
3171
|
-
};
|
|
3232
|
+
}, warnings);
|
|
3172
3233
|
let env;
|
|
3173
3234
|
if (spec.kind === "go" && brewExe) {
|
|
3174
3235
|
const brewBin = await resolveBrewBinDir(timeoutMs, brewExe);
|
|
@@ -3195,13 +3256,13 @@ async function installSkill(params) {
|
|
|
3195
3256
|
}
|
|
3196
3257
|
})();
|
|
3197
3258
|
const success = result.code === 0;
|
|
3198
|
-
return {
|
|
3259
|
+
return withWarnings({
|
|
3199
3260
|
ok: success,
|
|
3200
3261
|
message: success ? "Installed" : formatInstallFailureMessage(result),
|
|
3201
3262
|
stdout: result.stdout.trim(),
|
|
3202
3263
|
stderr: result.stderr.trim(),
|
|
3203
3264
|
code: result.code
|
|
3204
|
-
};
|
|
3265
|
+
}, warnings);
|
|
3205
3266
|
}
|
|
3206
3267
|
|
|
3207
3268
|
//#endregion
|
|
@@ -3296,16 +3357,20 @@ async function setupSkills(cfg, workspaceDir, runtime, prompter) {
|
|
|
3296
3357
|
installId,
|
|
3297
3358
|
config: next
|
|
3298
3359
|
});
|
|
3299
|
-
|
|
3300
|
-
|
|
3301
|
-
|
|
3302
|
-
const
|
|
3303
|
-
|
|
3304
|
-
if (result.stderr) runtime.log(result.stderr.trim());
|
|
3305
|
-
else if (result.stdout) runtime.log(result.stdout.trim());
|
|
3306
|
-
runtime.log(`Tip: run \`${formatCliCommand("openclaw doctor")}\` to review skills + requirements.`);
|
|
3307
|
-
runtime.log("Docs: https://docs.openclaw.ai/skills");
|
|
3360
|
+
const warnings = result.warnings ?? [];
|
|
3361
|
+
if (result.ok) {
|
|
3362
|
+
spin.stop(warnings.length > 0 ? `Installed ${name} (with warnings)` : `Installed ${name}`);
|
|
3363
|
+
for (const warning of warnings) runtime.log(warning);
|
|
3364
|
+
continue;
|
|
3308
3365
|
}
|
|
3366
|
+
const code = result.code == null ? "" : ` (exit ${result.code})`;
|
|
3367
|
+
const detail = summarizeInstallFailure(result.message);
|
|
3368
|
+
spin.stop(`Install failed: ${name}${code}${detail ? ` — ${detail}` : ""}`);
|
|
3369
|
+
for (const warning of warnings) runtime.log(warning);
|
|
3370
|
+
if (result.stderr) runtime.log(result.stderr.trim());
|
|
3371
|
+
else if (result.stdout) runtime.log(result.stdout.trim());
|
|
3372
|
+
runtime.log(`Tip: run \`${formatCliCommand("openclaw doctor")}\` to review skills + requirements.`);
|
|
3373
|
+
runtime.log("Docs: https://docs.openclaw.ai/skills");
|
|
3309
3374
|
}
|
|
3310
3375
|
}
|
|
3311
3376
|
for (const skill of missing) {
|
|
@@ -3324,4 +3389,4 @@ async function setupSkills(cfg, workspaceDir, runtime, prompter) {
|
|
|
3324
3389
|
}
|
|
3325
3390
|
|
|
3326
3391
|
//#endregion
|
|
3327
|
-
export {
|
|
3392
|
+
export { applyModelAllowlist as a, promptDefaultModel as c, warnIfModelConfigLooksOff as d, applyAuthChoice as f, promptAuthChoiceGrouped as g, applyGoogleGeminiModelDefault as h, discoverGatewayBeacons as i, promptModelAllowlist as l, upsertSharedEnvVar as m, installSkill as n, applyModelFallbacksFromSelection as o, applyOpenAIConfig as p, promptRemoteGatewayConfig as r, applyPrimaryModel as s, setupSkills as t, resolvePreferredProviderForAuthChoice as u };
|