@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,14 +1,16 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import
|
|
1
|
+
import { W as resolveGatewayPort, f as visibleWidth } from "./entry.js";
|
|
2
|
+
import { _ as parseAgentSessionKey, c as normalizeAgentId, i as buildAgentMainSessionKey, l as normalizeMainKey } from "./session-key-CZkcvAtx.js";
|
|
3
|
+
import { c as resolveDefaultAgentId } from "./agent-scope-C9VjJXEK.js";
|
|
4
|
+
import { i as loadConfig, j as VERSION } from "./config-CKLedg5Y.js";
|
|
5
|
+
import { Ct as PROTOCOL_VERSION, t as GatewayClient } from "./client-CxbkcEZ7.js";
|
|
6
|
+
import { a as resolveExplicitGatewayAuth, r as ensureExplicitGatewayAuth } from "./call-90HgQQ8o.js";
|
|
7
|
+
import { f as GATEWAY_CLIENT_CAPS, h as GATEWAY_CLIENT_NAMES, m as GATEWAY_CLIENT_MODES } from "./message-channel-BlgPSDAh.js";
|
|
8
|
+
import { I as listThinkingLevelLabels, P as formatThinkingLevels, U as resolveResponseUsageMode, V as normalizeUsageDisplay } from "./pi-embedded-helpers-DF8SAHU-.js";
|
|
9
|
+
import { a as extractContentFromMessage, c as formatContextUsageLine, d as resolveFinalAssistantText, h as listChatCommandsForConfig, i as composeThinkingAndContent, l as formatTokens, m as listChatCommands, n as formatAge, o as extractTextFromMessage, r as asString, s as extractThinkingFromMessage, u as isCommandMessage } from "./channel-summary-D9nzC5WB.js";
|
|
10
|
+
import { n as resolveToolDisplay, t as formatToolDetail } from "./tool-display-DmgKs6-V.js";
|
|
11
|
+
import { n as formatTokenCount } from "./usage-format-E3bMcUMV.js";
|
|
11
12
|
import { spawn } from "node:child_process";
|
|
13
|
+
import chalk from "chalk";
|
|
12
14
|
import { randomUUID } from "node:crypto";
|
|
13
15
|
import { Box, CombinedAutocompleteProvider, Container, Editor, Input, Key, Loader, Markdown, ProcessTerminal, SelectList, SettingsList, Spacer, TUI, Text, getEditorKeybindings, isKeyRelease, matchesKey, truncateToWidth } from "@mariozechner/pi-tui";
|
|
14
16
|
import { highlight, supportsLanguage } from "cli-highlight";
|
|
@@ -625,6 +627,7 @@ var GatewayChatClient = class {
|
|
|
625
627
|
clientVersion: VERSION,
|
|
626
628
|
platform: process.platform,
|
|
627
629
|
mode: GATEWAY_CLIENT_MODES.UI,
|
|
630
|
+
caps: [GATEWAY_CLIENT_CAPS.TOOL_EVENTS],
|
|
628
631
|
instanceId: randomUUID(),
|
|
629
632
|
minProtocol: PROTOCOL_VERSION,
|
|
630
633
|
maxProtocol: PROTOCOL_VERSION,
|
|
@@ -658,7 +661,7 @@ var GatewayChatClient = class {
|
|
|
658
661
|
await this.readyPromise;
|
|
659
662
|
}
|
|
660
663
|
async sendChat(opts) {
|
|
661
|
-
const runId = randomUUID();
|
|
664
|
+
const runId = opts.runId ?? randomUUID();
|
|
662
665
|
await this.client.request("chat.send", {
|
|
663
666
|
sessionKey: opts.sessionKey,
|
|
664
667
|
message: opts.message,
|
|
@@ -715,10 +718,20 @@ function resolveGatewayConnection(opts) {
|
|
|
715
718
|
const remote = isRemoteMode ? config.gateway?.remote : void 0;
|
|
716
719
|
const authToken = config.gateway?.auth?.token;
|
|
717
720
|
const localPort = resolveGatewayPort(config);
|
|
721
|
+
const urlOverride = typeof opts.url === "string" && opts.url.trim().length > 0 ? opts.url.trim() : void 0;
|
|
722
|
+
const explicitAuth = resolveExplicitGatewayAuth({
|
|
723
|
+
token: opts.token,
|
|
724
|
+
password: opts.password
|
|
725
|
+
});
|
|
726
|
+
ensureExplicitGatewayAuth({
|
|
727
|
+
urlOverride,
|
|
728
|
+
auth: explicitAuth,
|
|
729
|
+
errorHint: "Fix: pass --token or --password when using --url."
|
|
730
|
+
});
|
|
718
731
|
return {
|
|
719
|
-
url:
|
|
720
|
-
token:
|
|
721
|
-
password:
|
|
732
|
+
url: urlOverride || (typeof remote?.url === "string" && remote.url.trim().length > 0 ? remote.url.trim() : void 0) || `ws://127.0.0.1:${localPort}`,
|
|
733
|
+
token: explicitAuth.token || (!urlOverride ? isRemoteMode ? typeof remote?.token === "string" && remote.token.trim().length > 0 ? remote.token.trim() : void 0 : process.env.OPENCLAW_GATEWAY_TOKEN?.trim() || (typeof authToken === "string" && authToken.trim().length > 0 ? authToken.trim() : void 0) : void 0),
|
|
734
|
+
password: explicitAuth.password || (!urlOverride ? process.env.OPENCLAW_GATEWAY_PASSWORD?.trim() || (typeof remote?.password === "string" && remote.password.trim().length > 0 ? remote.password.trim() : void 0) : void 0)
|
|
722
735
|
};
|
|
723
736
|
}
|
|
724
737
|
|
|
@@ -1181,7 +1194,7 @@ function formatStatusSummary(summary) {
|
|
|
1181
1194
|
//#endregion
|
|
1182
1195
|
//#region src/tui/tui-command-handlers.ts
|
|
1183
1196
|
function createCommandHandlers(context) {
|
|
1184
|
-
const { client, chatLog, tui, opts, state, deliverDefault, openOverlay, closeOverlay, refreshSessionInfo, loadHistory, setSession, refreshAgents, abortActive, setActivityStatus, formatSessionKey } = context;
|
|
1197
|
+
const { client, chatLog, tui, opts, state, deliverDefault, openOverlay, closeOverlay, refreshSessionInfo, loadHistory, setSession, refreshAgents, abortActive, setActivityStatus, formatSessionKey, applySessionInfoFromPatch, noteLocalRunId, forgetLocalRunId } = context;
|
|
1185
1198
|
const setAgent = async (id) => {
|
|
1186
1199
|
state.currentAgentId = normalizeAgentId(id);
|
|
1187
1200
|
await setSession("");
|
|
@@ -1202,11 +1215,12 @@ function createCommandHandlers(context) {
|
|
|
1202
1215
|
selector.onSelect = (item) => {
|
|
1203
1216
|
(async () => {
|
|
1204
1217
|
try {
|
|
1205
|
-
await client.patchSession({
|
|
1218
|
+
const result = await client.patchSession({
|
|
1206
1219
|
key: state.currentSessionKey,
|
|
1207
1220
|
model: item.value
|
|
1208
1221
|
});
|
|
1209
1222
|
chatLog.addSystem(`model set to ${item.value}`);
|
|
1223
|
+
applySessionInfoFromPatch(result);
|
|
1210
1224
|
await refreshSessionInfo();
|
|
1211
1225
|
} catch (err) {
|
|
1212
1226
|
chatLog.addSystem(`model set failed: ${String(err)}`);
|
|
@@ -1370,11 +1384,12 @@ function createCommandHandlers(context) {
|
|
|
1370
1384
|
case "model":
|
|
1371
1385
|
if (!args) await openModelSelector();
|
|
1372
1386
|
else try {
|
|
1373
|
-
await client.patchSession({
|
|
1387
|
+
const result = await client.patchSession({
|
|
1374
1388
|
key: state.currentSessionKey,
|
|
1375
1389
|
model: args
|
|
1376
1390
|
});
|
|
1377
1391
|
chatLog.addSystem(`model set to ${args}`);
|
|
1392
|
+
applySessionInfoFromPatch(result);
|
|
1378
1393
|
await refreshSessionInfo();
|
|
1379
1394
|
} catch (err) {
|
|
1380
1395
|
chatLog.addSystem(`model set failed: ${String(err)}`);
|
|
@@ -1390,11 +1405,12 @@ function createCommandHandlers(context) {
|
|
|
1390
1405
|
break;
|
|
1391
1406
|
}
|
|
1392
1407
|
try {
|
|
1393
|
-
await client.patchSession({
|
|
1408
|
+
const result = await client.patchSession({
|
|
1394
1409
|
key: state.currentSessionKey,
|
|
1395
1410
|
thinkingLevel: args
|
|
1396
1411
|
});
|
|
1397
1412
|
chatLog.addSystem(`thinking set to ${args}`);
|
|
1413
|
+
applySessionInfoFromPatch(result);
|
|
1398
1414
|
await refreshSessionInfo();
|
|
1399
1415
|
} catch (err) {
|
|
1400
1416
|
chatLog.addSystem(`think failed: ${String(err)}`);
|
|
@@ -1406,12 +1422,13 @@ function createCommandHandlers(context) {
|
|
|
1406
1422
|
break;
|
|
1407
1423
|
}
|
|
1408
1424
|
try {
|
|
1409
|
-
await client.patchSession({
|
|
1425
|
+
const result = await client.patchSession({
|
|
1410
1426
|
key: state.currentSessionKey,
|
|
1411
1427
|
verboseLevel: args
|
|
1412
1428
|
});
|
|
1413
1429
|
chatLog.addSystem(`verbose set to ${args}`);
|
|
1414
|
-
|
|
1430
|
+
applySessionInfoFromPatch(result);
|
|
1431
|
+
await loadHistory();
|
|
1415
1432
|
} catch (err) {
|
|
1416
1433
|
chatLog.addSystem(`verbose failed: ${String(err)}`);
|
|
1417
1434
|
}
|
|
@@ -1422,11 +1439,12 @@ function createCommandHandlers(context) {
|
|
|
1422
1439
|
break;
|
|
1423
1440
|
}
|
|
1424
1441
|
try {
|
|
1425
|
-
await client.patchSession({
|
|
1442
|
+
const result = await client.patchSession({
|
|
1426
1443
|
key: state.currentSessionKey,
|
|
1427
1444
|
reasoningLevel: args
|
|
1428
1445
|
});
|
|
1429
1446
|
chatLog.addSystem(`reasoning set to ${args}`);
|
|
1447
|
+
applySessionInfoFromPatch(result);
|
|
1430
1448
|
await refreshSessionInfo();
|
|
1431
1449
|
} catch (err) {
|
|
1432
1450
|
chatLog.addSystem(`reasoning failed: ${String(err)}`);
|
|
@@ -1442,11 +1460,12 @@ function createCommandHandlers(context) {
|
|
|
1442
1460
|
const current = resolveResponseUsageMode(currentRaw);
|
|
1443
1461
|
const next = normalized ?? (current === "off" ? "tokens" : current === "tokens" ? "full" : "off");
|
|
1444
1462
|
try {
|
|
1445
|
-
await client.patchSession({
|
|
1463
|
+
const result = await client.patchSession({
|
|
1446
1464
|
key: state.currentSessionKey,
|
|
1447
1465
|
responseUsage: next === "off" ? null : next
|
|
1448
1466
|
});
|
|
1449
1467
|
chatLog.addSystem(`usage footer: ${next}`);
|
|
1468
|
+
applySessionInfoFromPatch(result);
|
|
1450
1469
|
await refreshSessionInfo();
|
|
1451
1470
|
} catch (err) {
|
|
1452
1471
|
chatLog.addSystem(`usage failed: ${String(err)}`);
|
|
@@ -1468,11 +1487,12 @@ function createCommandHandlers(context) {
|
|
|
1468
1487
|
break;
|
|
1469
1488
|
}
|
|
1470
1489
|
try {
|
|
1471
|
-
await client.patchSession({
|
|
1490
|
+
const result = await client.patchSession({
|
|
1472
1491
|
key: state.currentSessionKey,
|
|
1473
1492
|
elevatedLevel: args
|
|
1474
1493
|
});
|
|
1475
1494
|
chatLog.addSystem(`elevated set to ${args}`);
|
|
1495
|
+
applySessionInfoFromPatch(result);
|
|
1476
1496
|
await refreshSessionInfo();
|
|
1477
1497
|
} catch (err) {
|
|
1478
1498
|
chatLog.addSystem(`elevated failed: ${String(err)}`);
|
|
@@ -1484,11 +1504,12 @@ function createCommandHandlers(context) {
|
|
|
1484
1504
|
break;
|
|
1485
1505
|
}
|
|
1486
1506
|
try {
|
|
1487
|
-
await client.patchSession({
|
|
1507
|
+
const result = await client.patchSession({
|
|
1488
1508
|
key: state.currentSessionKey,
|
|
1489
1509
|
groupActivation: args === "always" ? "always" : "mention"
|
|
1490
1510
|
});
|
|
1491
1511
|
chatLog.addSystem(`activation set to ${args}`);
|
|
1512
|
+
applySessionInfoFromPatch(result);
|
|
1492
1513
|
await refreshSessionInfo();
|
|
1493
1514
|
} catch (err) {
|
|
1494
1515
|
chatLog.addSystem(`activation failed: ${String(err)}`);
|
|
@@ -1530,17 +1551,22 @@ function createCommandHandlers(context) {
|
|
|
1530
1551
|
try {
|
|
1531
1552
|
chatLog.addUser(text);
|
|
1532
1553
|
tui.requestRender();
|
|
1554
|
+
const runId = randomUUID();
|
|
1555
|
+
noteLocalRunId(runId);
|
|
1556
|
+
state.activeChatRunId = runId;
|
|
1533
1557
|
setActivityStatus("sending");
|
|
1534
|
-
|
|
1558
|
+
await client.sendChat({
|
|
1535
1559
|
sessionKey: state.currentSessionKey,
|
|
1536
1560
|
message: text,
|
|
1537
1561
|
thinking: opts.thinking,
|
|
1538
1562
|
deliver: deliverDefault,
|
|
1539
|
-
timeoutMs: opts.timeoutMs
|
|
1563
|
+
timeoutMs: opts.timeoutMs,
|
|
1564
|
+
runId
|
|
1540
1565
|
});
|
|
1541
|
-
state.activeChatRunId = runId;
|
|
1542
1566
|
setActivityStatus("waiting");
|
|
1543
1567
|
} catch (err) {
|
|
1568
|
+
if (state.activeChatRunId) forgetLocalRunId?.(state.activeChatRunId);
|
|
1569
|
+
state.activeChatRunId = null;
|
|
1544
1570
|
chatLog.addSystem(`send failed: ${String(err)}`);
|
|
1545
1571
|
setActivityStatus("error");
|
|
1546
1572
|
}
|
|
@@ -1612,7 +1638,7 @@ var TuiStreamAssembler = class {
|
|
|
1612
1638
|
//#endregion
|
|
1613
1639
|
//#region src/tui/tui-event-handlers.ts
|
|
1614
1640
|
function createEventHandlers(context) {
|
|
1615
|
-
const { chatLog, tui, state, setActivityStatus, refreshSessionInfo } = context;
|
|
1641
|
+
const { chatLog, tui, state, setActivityStatus, refreshSessionInfo, loadHistory, isLocalRunId, forgetLocalRunId, clearLocalRunIds } = context;
|
|
1616
1642
|
const finalizedRuns = /* @__PURE__ */ new Map();
|
|
1617
1643
|
const sessionRuns = /* @__PURE__ */ new Map();
|
|
1618
1644
|
let streamAssembler = new TuiStreamAssembler();
|
|
@@ -1635,6 +1661,7 @@ function createEventHandlers(context) {
|
|
|
1635
1661
|
finalizedRuns.clear();
|
|
1636
1662
|
sessionRuns.clear();
|
|
1637
1663
|
streamAssembler = new TuiStreamAssembler();
|
|
1664
|
+
clearLocalRunIds?.();
|
|
1638
1665
|
};
|
|
1639
1666
|
const noteSessionRun = (runId) => {
|
|
1640
1667
|
sessionRuns.set(runId, Date.now());
|
|
@@ -1665,6 +1692,8 @@ function createEventHandlers(context) {
|
|
|
1665
1692
|
}
|
|
1666
1693
|
if (evt.state === "final") {
|
|
1667
1694
|
if (isCommandMessage(evt.message)) {
|
|
1695
|
+
if (isLocalRunId?.(evt.runId)) forgetLocalRunId?.(evt.runId);
|
|
1696
|
+
else loadHistory?.();
|
|
1668
1697
|
const text = extractTextFromMessage(evt.message);
|
|
1669
1698
|
if (text) chatLog.addSystem(text);
|
|
1670
1699
|
streamAssembler.drop(evt.runId);
|
|
@@ -1675,6 +1704,8 @@ function createEventHandlers(context) {
|
|
|
1675
1704
|
tui.requestRender();
|
|
1676
1705
|
return;
|
|
1677
1706
|
}
|
|
1707
|
+
if (isLocalRunId?.(evt.runId)) forgetLocalRunId?.(evt.runId);
|
|
1708
|
+
else loadHistory?.();
|
|
1678
1709
|
const stopReason = evt.message && typeof evt.message === "object" && !Array.isArray(evt.message) ? typeof evt.message.stopReason === "string" ? evt.message.stopReason : "" : "";
|
|
1679
1710
|
const finalText = streamAssembler.finalize(evt.runId, evt.message, state.showThinking);
|
|
1680
1711
|
chatLog.finalizeAssistant(finalText, evt.runId);
|
|
@@ -1690,6 +1721,8 @@ function createEventHandlers(context) {
|
|
|
1690
1721
|
state.activeChatRunId = null;
|
|
1691
1722
|
setActivityStatus("aborted");
|
|
1692
1723
|
refreshSessionInfo?.();
|
|
1724
|
+
if (isLocalRunId?.(evt.runId)) forgetLocalRunId?.(evt.runId);
|
|
1725
|
+
else loadHistory?.();
|
|
1693
1726
|
}
|
|
1694
1727
|
if (evt.state === "error") {
|
|
1695
1728
|
chatLog.addSystem(`run error: ${evt.errorMessage ?? "unknown"}`);
|
|
@@ -1698,6 +1731,8 @@ function createEventHandlers(context) {
|
|
|
1698
1731
|
state.activeChatRunId = null;
|
|
1699
1732
|
setActivityStatus("error");
|
|
1700
1733
|
refreshSessionInfo?.();
|
|
1734
|
+
if (isLocalRunId?.(evt.runId)) forgetLocalRunId?.(evt.runId);
|
|
1735
|
+
else loadHistory?.();
|
|
1701
1736
|
}
|
|
1702
1737
|
tui.requestRender();
|
|
1703
1738
|
};
|
|
@@ -1706,16 +1741,23 @@ function createEventHandlers(context) {
|
|
|
1706
1741
|
const evt = payload;
|
|
1707
1742
|
syncSessionKey();
|
|
1708
1743
|
const isActiveRun = evt.runId === state.activeChatRunId;
|
|
1709
|
-
if (!isActiveRun
|
|
1744
|
+
if (!(isActiveRun || sessionRuns.has(evt.runId) || finalizedRuns.has(evt.runId))) return;
|
|
1710
1745
|
if (evt.stream === "tool") {
|
|
1746
|
+
const verbose = state.sessionInfo.verboseLevel ?? "off";
|
|
1747
|
+
const allowToolEvents = verbose !== "off";
|
|
1748
|
+
const allowToolOutput = verbose === "full";
|
|
1749
|
+
if (!allowToolEvents) return;
|
|
1711
1750
|
const data = evt.data ?? {};
|
|
1712
1751
|
const phase = asString(data.phase, "");
|
|
1713
1752
|
const toolCallId = asString(data.toolCallId, "");
|
|
1714
1753
|
const toolName = asString(data.name, "tool");
|
|
1715
1754
|
if (!toolCallId) return;
|
|
1716
1755
|
if (phase === "start") chatLog.startTool(toolCallId, toolName, data.args);
|
|
1717
|
-
else if (phase === "update")
|
|
1718
|
-
|
|
1756
|
+
else if (phase === "update") {
|
|
1757
|
+
if (!allowToolOutput) return;
|
|
1758
|
+
chatLog.updateToolResult(toolCallId, data.partialResult, { partial: true });
|
|
1759
|
+
} else if (phase === "result") if (allowToolOutput) chatLog.updateToolResult(toolCallId, data.result, { isError: Boolean(data.isError) });
|
|
1760
|
+
else chatLog.updateToolResult(toolCallId, { content: [] }, { isError: Boolean(data.isError) });
|
|
1719
1761
|
tui.requestRender();
|
|
1720
1762
|
return;
|
|
1721
1763
|
}
|
|
@@ -1845,8 +1887,9 @@ function createOverlayHandlers(host, fallbackFocus) {
|
|
|
1845
1887
|
//#endregion
|
|
1846
1888
|
//#region src/tui/tui-session-actions.ts
|
|
1847
1889
|
function createSessionActions(context) {
|
|
1848
|
-
const { client, chatLog, tui, opts, state, agentNames, initialSessionInput, initialSessionAgentId, resolveSessionKey, updateHeader, updateFooter, updateAutocompleteProvider, setActivityStatus } = context;
|
|
1849
|
-
let refreshSessionInfoPromise =
|
|
1890
|
+
const { client, chatLog, tui, opts, state, agentNames, initialSessionInput, initialSessionAgentId, resolveSessionKey, updateHeader, updateFooter, updateAutocompleteProvider, setActivityStatus, clearLocalRunIds } = context;
|
|
1891
|
+
let refreshSessionInfoPromise = Promise.resolve();
|
|
1892
|
+
let lastSessionDefaults = null;
|
|
1850
1893
|
const applyAgentsResult = (result) => {
|
|
1851
1894
|
state.agentDefaultId = normalizeAgentId(result.defaultId);
|
|
1852
1895
|
state.sessionMainKey = normalizeMainKey(result.mainKey);
|
|
@@ -1881,46 +1924,102 @@ function createSessionActions(context) {
|
|
|
1881
1924
|
const next = normalizeAgentId(parsed.agentId);
|
|
1882
1925
|
if (next !== state.currentAgentId) state.currentAgentId = next;
|
|
1883
1926
|
};
|
|
1884
|
-
const
|
|
1885
|
-
if (
|
|
1886
|
-
|
|
1887
|
-
|
|
1888
|
-
|
|
1889
|
-
|
|
1890
|
-
|
|
1891
|
-
|
|
1892
|
-
|
|
1893
|
-
|
|
1894
|
-
|
|
1895
|
-
|
|
1896
|
-
|
|
1897
|
-
|
|
1898
|
-
|
|
1899
|
-
|
|
1900
|
-
|
|
1901
|
-
|
|
1902
|
-
|
|
1903
|
-
|
|
1904
|
-
|
|
1905
|
-
|
|
1906
|
-
|
|
1907
|
-
|
|
1908
|
-
|
|
1909
|
-
|
|
1910
|
-
|
|
1911
|
-
|
|
1912
|
-
|
|
1913
|
-
|
|
1914
|
-
|
|
1915
|
-
|
|
1916
|
-
|
|
1917
|
-
|
|
1918
|
-
|
|
1927
|
+
const resolveModelSelection = (entry) => {
|
|
1928
|
+
if (entry?.modelProvider || entry?.model) return {
|
|
1929
|
+
modelProvider: entry.modelProvider ?? state.sessionInfo.modelProvider,
|
|
1930
|
+
model: entry.model ?? state.sessionInfo.model
|
|
1931
|
+
};
|
|
1932
|
+
const overrideModel = entry?.modelOverride?.trim();
|
|
1933
|
+
if (overrideModel) return {
|
|
1934
|
+
modelProvider: entry?.providerOverride?.trim() || state.sessionInfo.modelProvider,
|
|
1935
|
+
model: overrideModel
|
|
1936
|
+
};
|
|
1937
|
+
return {
|
|
1938
|
+
modelProvider: state.sessionInfo.modelProvider,
|
|
1939
|
+
model: state.sessionInfo.model
|
|
1940
|
+
};
|
|
1941
|
+
};
|
|
1942
|
+
const applySessionInfo = (params) => {
|
|
1943
|
+
const entry = params.entry ?? void 0;
|
|
1944
|
+
const defaults = params.defaults ?? lastSessionDefaults ?? void 0;
|
|
1945
|
+
const previousDefaults = lastSessionDefaults;
|
|
1946
|
+
const defaultsChanged = params.defaults ? previousDefaults?.model !== params.defaults.model || previousDefaults?.modelProvider !== params.defaults.modelProvider || previousDefaults?.contextTokens !== params.defaults.contextTokens : false;
|
|
1947
|
+
if (params.defaults) lastSessionDefaults = params.defaults;
|
|
1948
|
+
const entryUpdatedAt = entry?.updatedAt ?? null;
|
|
1949
|
+
const currentUpdatedAt = state.sessionInfo.updatedAt ?? null;
|
|
1950
|
+
const modelChanged = entry?.modelProvider !== void 0 && entry.modelProvider !== state.sessionInfo.modelProvider || entry?.model !== void 0 && entry.model !== state.sessionInfo.model;
|
|
1951
|
+
if (!params.force && entryUpdatedAt !== null && currentUpdatedAt !== null && entryUpdatedAt < currentUpdatedAt && !defaultsChanged && !modelChanged) return;
|
|
1952
|
+
const next = { ...state.sessionInfo };
|
|
1953
|
+
if (entry?.thinkingLevel !== void 0) next.thinkingLevel = entry.thinkingLevel;
|
|
1954
|
+
if (entry?.verboseLevel !== void 0) next.verboseLevel = entry.verboseLevel;
|
|
1955
|
+
if (entry?.reasoningLevel !== void 0) next.reasoningLevel = entry.reasoningLevel;
|
|
1956
|
+
if (entry?.responseUsage !== void 0) next.responseUsage = entry.responseUsage;
|
|
1957
|
+
if (entry?.inputTokens !== void 0) next.inputTokens = entry.inputTokens;
|
|
1958
|
+
if (entry?.outputTokens !== void 0) next.outputTokens = entry.outputTokens;
|
|
1959
|
+
if (entry?.totalTokens !== void 0) next.totalTokens = entry.totalTokens;
|
|
1960
|
+
if (entry?.contextTokens !== void 0 || defaults?.contextTokens !== void 0) next.contextTokens = entry?.contextTokens ?? defaults?.contextTokens ?? state.sessionInfo.contextTokens;
|
|
1961
|
+
if (entry?.displayName !== void 0) next.displayName = entry.displayName;
|
|
1962
|
+
if (entry?.updatedAt !== void 0) next.updatedAt = entry.updatedAt;
|
|
1963
|
+
const selection = resolveModelSelection(entry);
|
|
1964
|
+
if (selection.modelProvider !== void 0) next.modelProvider = selection.modelProvider;
|
|
1965
|
+
if (selection.model !== void 0) next.model = selection.model;
|
|
1966
|
+
state.sessionInfo = next;
|
|
1967
|
+
updateAutocompleteProvider();
|
|
1968
|
+
updateFooter();
|
|
1969
|
+
tui.requestRender();
|
|
1970
|
+
};
|
|
1971
|
+
const runRefreshSessionInfo = async () => {
|
|
1919
1972
|
try {
|
|
1920
|
-
|
|
1921
|
-
|
|
1922
|
-
|
|
1973
|
+
const resolveListAgentId = () => {
|
|
1974
|
+
if (state.currentSessionKey === "global" || state.currentSessionKey === "unknown") return;
|
|
1975
|
+
const parsed = parseAgentSessionKey(state.currentSessionKey);
|
|
1976
|
+
return parsed?.agentId ? normalizeAgentId(parsed.agentId) : state.currentAgentId;
|
|
1977
|
+
};
|
|
1978
|
+
const listAgentId = resolveListAgentId();
|
|
1979
|
+
const result = await client.listSessions({
|
|
1980
|
+
includeGlobal: false,
|
|
1981
|
+
includeUnknown: false,
|
|
1982
|
+
agentId: listAgentId
|
|
1983
|
+
});
|
|
1984
|
+
const normalizeMatchKey = (key) => parseAgentSessionKey(key)?.rest ?? key;
|
|
1985
|
+
const currentMatchKey = normalizeMatchKey(state.currentSessionKey);
|
|
1986
|
+
const entry = result.sessions.find((row) => {
|
|
1987
|
+
if (row.key === state.currentSessionKey) return true;
|
|
1988
|
+
return normalizeMatchKey(row.key) === currentMatchKey;
|
|
1989
|
+
});
|
|
1990
|
+
if (entry?.key && entry.key !== state.currentSessionKey) {
|
|
1991
|
+
updateAgentFromSessionKey(entry.key);
|
|
1992
|
+
state.currentSessionKey = entry.key;
|
|
1993
|
+
updateHeader();
|
|
1994
|
+
}
|
|
1995
|
+
applySessionInfo({
|
|
1996
|
+
entry,
|
|
1997
|
+
defaults: result.defaults
|
|
1998
|
+
});
|
|
1999
|
+
} catch (err) {
|
|
2000
|
+
chatLog.addSystem(`sessions list failed: ${String(err)}`);
|
|
2001
|
+
}
|
|
2002
|
+
};
|
|
2003
|
+
const refreshSessionInfo = async () => {
|
|
2004
|
+
refreshSessionInfoPromise = refreshSessionInfoPromise.then(runRefreshSessionInfo, runRefreshSessionInfo);
|
|
2005
|
+
await refreshSessionInfoPromise;
|
|
2006
|
+
};
|
|
2007
|
+
const applySessionInfoFromPatch = (result) => {
|
|
2008
|
+
if (!result?.entry) return;
|
|
2009
|
+
if (result.key && result.key !== state.currentSessionKey) {
|
|
2010
|
+
updateAgentFromSessionKey(result.key);
|
|
2011
|
+
state.currentSessionKey = result.key;
|
|
2012
|
+
updateHeader();
|
|
1923
2013
|
}
|
|
2014
|
+
const resolved = result.resolved;
|
|
2015
|
+
applySessionInfo({
|
|
2016
|
+
entry: resolved && (resolved.modelProvider || resolved.model) ? {
|
|
2017
|
+
...result.entry,
|
|
2018
|
+
modelProvider: resolved.modelProvider ?? result.entry.modelProvider,
|
|
2019
|
+
model: resolved.model ?? result.entry.model
|
|
2020
|
+
} : result.entry,
|
|
2021
|
+
force: true
|
|
2022
|
+
});
|
|
1924
2023
|
};
|
|
1925
2024
|
const loadHistory = async () => {
|
|
1926
2025
|
try {
|
|
@@ -1930,6 +2029,8 @@ function createSessionActions(context) {
|
|
|
1930
2029
|
});
|
|
1931
2030
|
state.currentSessionId = typeof record.sessionId === "string" ? record.sessionId : null;
|
|
1932
2031
|
state.sessionInfo.thinkingLevel = record.thinkingLevel ?? state.sessionInfo.thinkingLevel;
|
|
2032
|
+
state.sessionInfo.verboseLevel = record.verboseLevel ?? state.sessionInfo.verboseLevel;
|
|
2033
|
+
const showTools = (state.sessionInfo.verboseLevel ?? "off") !== "off";
|
|
1933
2034
|
chatLog.clearAll();
|
|
1934
2035
|
chatLog.addSystem(`session ${state.currentSessionKey}`);
|
|
1935
2036
|
for (const entry of record.messages ?? []) {
|
|
@@ -1951,6 +2052,7 @@ function createSessionActions(context) {
|
|
|
1951
2052
|
continue;
|
|
1952
2053
|
}
|
|
1953
2054
|
if (message.role === "toolResult") {
|
|
2055
|
+
if (!showTools) continue;
|
|
1954
2056
|
const toolCallId = asString(message.toolCallId, "");
|
|
1955
2057
|
const toolName = asString(message.toolName, "tool");
|
|
1956
2058
|
chatLog.startTool(toolCallId, toolName, {}).setResult({
|
|
@@ -1973,6 +2075,7 @@ function createSessionActions(context) {
|
|
|
1973
2075
|
state.activeChatRunId = null;
|
|
1974
2076
|
state.currentSessionId = null;
|
|
1975
2077
|
state.historyLoaded = false;
|
|
2078
|
+
clearLocalRunIds?.();
|
|
1976
2079
|
updateHeader();
|
|
1977
2080
|
updateFooter();
|
|
1978
2081
|
await loadHistory();
|
|
@@ -1999,6 +2102,7 @@ function createSessionActions(context) {
|
|
|
1999
2102
|
applyAgentsResult,
|
|
2000
2103
|
refreshAgents,
|
|
2001
2104
|
refreshSessionInfo,
|
|
2105
|
+
applySessionInfoFromPatch,
|
|
2002
2106
|
loadHistory,
|
|
2003
2107
|
setSession,
|
|
2004
2108
|
abortActive
|
|
@@ -2079,6 +2183,7 @@ async function runTui(opts) {
|
|
|
2079
2183
|
let wasDisconnected = false;
|
|
2080
2184
|
let toolsExpanded = false;
|
|
2081
2185
|
let showThinking = false;
|
|
2186
|
+
const localRunIds = /* @__PURE__ */ new Set();
|
|
2082
2187
|
const deliverDefault = opts.deliver ?? false;
|
|
2083
2188
|
const autoMessage = opts.message?.trim();
|
|
2084
2189
|
let autoMessageSent = false;
|
|
@@ -2206,6 +2311,21 @@ async function runTui(opts) {
|
|
|
2206
2311
|
lastCtrlCAt = value;
|
|
2207
2312
|
}
|
|
2208
2313
|
};
|
|
2314
|
+
const noteLocalRunId = (runId) => {
|
|
2315
|
+
if (!runId) return;
|
|
2316
|
+
localRunIds.add(runId);
|
|
2317
|
+
if (localRunIds.size > 200) {
|
|
2318
|
+
const [first] = localRunIds;
|
|
2319
|
+
if (first) localRunIds.delete(first);
|
|
2320
|
+
}
|
|
2321
|
+
};
|
|
2322
|
+
const forgetLocalRunId = (runId) => {
|
|
2323
|
+
localRunIds.delete(runId);
|
|
2324
|
+
};
|
|
2325
|
+
const isLocalRunId = (runId) => localRunIds.has(runId);
|
|
2326
|
+
const clearLocalRunIds = () => {
|
|
2327
|
+
localRunIds.clear();
|
|
2328
|
+
};
|
|
2209
2329
|
const client = new GatewayChatClient({
|
|
2210
2330
|
url: opts.url,
|
|
2211
2331
|
token: opts.token,
|
|
@@ -2390,7 +2510,7 @@ async function runTui(opts) {
|
|
|
2390
2510
|
footer.setText(theme.dim(footerParts.join(" | ")));
|
|
2391
2511
|
};
|
|
2392
2512
|
const { openOverlay, closeOverlay } = createOverlayHandlers(tui, editor);
|
|
2393
|
-
const { refreshAgents, refreshSessionInfo, loadHistory, setSession, abortActive } = createSessionActions({
|
|
2513
|
+
const { refreshAgents, refreshSessionInfo, applySessionInfoFromPatch, loadHistory, setSession, abortActive } = createSessionActions({
|
|
2394
2514
|
client,
|
|
2395
2515
|
chatLog,
|
|
2396
2516
|
tui,
|
|
@@ -2407,14 +2527,19 @@ async function runTui(opts) {
|
|
|
2407
2527
|
updateHeader,
|
|
2408
2528
|
updateFooter,
|
|
2409
2529
|
updateAutocompleteProvider,
|
|
2410
|
-
setActivityStatus
|
|
2530
|
+
setActivityStatus,
|
|
2531
|
+
clearLocalRunIds
|
|
2411
2532
|
});
|
|
2412
2533
|
const { handleChatEvent, handleAgentEvent } = createEventHandlers({
|
|
2413
2534
|
chatLog,
|
|
2414
2535
|
tui,
|
|
2415
2536
|
state,
|
|
2416
2537
|
setActivityStatus,
|
|
2417
|
-
refreshSessionInfo
|
|
2538
|
+
refreshSessionInfo,
|
|
2539
|
+
loadHistory,
|
|
2540
|
+
isLocalRunId,
|
|
2541
|
+
forgetLocalRunId,
|
|
2542
|
+
clearLocalRunIds
|
|
2418
2543
|
});
|
|
2419
2544
|
const { handleCommand, sendMessage, openModelSelector, openAgentSelector, openSessionSelector } = createCommandHandlers({
|
|
2420
2545
|
client,
|
|
@@ -2426,12 +2551,15 @@ async function runTui(opts) {
|
|
|
2426
2551
|
openOverlay,
|
|
2427
2552
|
closeOverlay,
|
|
2428
2553
|
refreshSessionInfo,
|
|
2554
|
+
applySessionInfoFromPatch,
|
|
2429
2555
|
loadHistory,
|
|
2430
2556
|
setSession,
|
|
2431
2557
|
refreshAgents,
|
|
2432
2558
|
abortActive,
|
|
2433
2559
|
setActivityStatus,
|
|
2434
|
-
formatSessionKey
|
|
2560
|
+
formatSessionKey,
|
|
2561
|
+
noteLocalRunId,
|
|
2562
|
+
forgetLocalRunId
|
|
2435
2563
|
});
|
|
2436
2564
|
const { runLocalShellLine } = createLocalShellRunner({
|
|
2437
2565
|
chatLog,
|