@qwen-code/qwen-code 0.22.2 → 0.22.3-nightly.20260829.e5cb60ad48
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/bundled/computer-use/SKILL.md +3 -3
- package/bundled/qc-helper/docs/configuration/settings.md +37 -36
- package/bundled/qc-helper/docs/features/channels/dws.md +2 -0
- package/bundled/qc-helper/docs/features/channels/overview.md +34 -3
- package/bundled/qc-helper/docs/features/code-review.md +3 -3
- package/bundled/qc-helper/docs/features/computer-use.md +2 -2
- package/bundled/qc-helper/docs/features/tool-use-summaries.md +1 -1
- package/bundled/qc-helper/docs/qwen-serve.md +1 -1
- package/bundled/review/SKILL.md +81 -31
- package/bundled/review/references/persistence.md +7 -3
- package/bundled/review/references/posting.md +10 -4
- package/chunks/{MaxSizedBox-X5FZSNAJ.js → MaxSizedBox-JK4LFKJ3.js} +36 -37
- package/chunks/{StandaloneSessionPicker-AVLI6VJP.js → StandaloneSessionPicker-UA2MQCCS.js} +54 -55
- package/chunks/{acpAgent-MXEAN54C.js → acpAgent-ZKIVHQKW.js} +276 -191
- package/chunks/{agent-PJIPDWHB.js → agent-Z3Q5C3RX.js} +27 -28
- package/chunks/{agent-headless-B4JVD7UK.js → agent-headless-BIVZ3KYZ.js} +27 -28
- package/chunks/{anthropicContentGenerator-HGMBACVE.js → anthropicContentGenerator-YVTB6QX7.js} +43 -47
- package/chunks/{artifact-tool-5YT4QF7Y.js → artifact-tool-XSMPHZBT.js} +9 -1
- package/chunks/{askUserQuestion-4SWJY65V.js → askUserQuestion-66I3U2QX.js} +29 -5
- package/chunks/{bridge-FKZTVIS3.js → bridge-KDQTHAR7.js} +40 -41
- package/chunks/{channel-management-service-X4AZ6IXX.js → channel-management-service-HQ6KDS7C.js} +6 -6
- package/chunks/{channel-settings-store-4UFCLBBG.js → channel-settings-store-X4WWBVYW.js} +50 -46
- package/chunks/{channel-worker-group-27HMGD5S.js → channel-worker-group-6NA6BBZV.js} +5 -5
- package/chunks/{channel-worker-manager-QEGX646Z.js → channel-worker-manager-NEZ2J6RK.js} +5 -5
- package/chunks/{channel-worker-supervisor-UEW2WWCC.js → channel-worker-supervisor-FKU7DIHJ.js} +4 -4
- package/chunks/{chunk-V2NDP3I4.js → chunk-2AEHQRY2.js} +1 -1
- package/chunks/{chunk-EOGELB3H.js → chunk-2SXSLSQE.js} +1 -1
- package/chunks/chunk-36LGBEM6.js +130 -0
- package/chunks/{chunk-2K6ORIHJ.js → chunk-3CAI35FS.js} +11 -11
- package/chunks/{chunk-H2WDGQ6D.js → chunk-3JXM2CVW.js} +1 -1
- package/chunks/{chunk-JSHHYW6T.js → chunk-3WJLDA3X.js} +3 -3
- package/chunks/{chunk-HVEYF6VT.js → chunk-3WK3QDNV.js} +1 -1
- package/chunks/{chunk-5XBFCMWD.js → chunk-3XKLXHGK.js} +17 -9
- package/chunks/{chunk-SFPGAQUL.js → chunk-42IDLQWS.js} +24 -18
- package/chunks/{chunk-KEKZFOL6.js → chunk-44LKG3IY.js} +1 -1
- package/chunks/{chunk-43GGFFLY.js → chunk-4K7KNVWH.js} +1 -1
- package/chunks/{chunk-F6FV3C5K.js → chunk-4NDLQAY2.js} +24 -272
- package/chunks/{chunk-VVW4ZNFY.js → chunk-4QHPPXK2.js} +15 -7
- package/chunks/chunk-4VQBQLIZ.js +293 -0
- package/chunks/{chunk-ZFKOCECU.js → chunk-5CALJAH7.js} +2 -2
- package/chunks/{chunk-F7TNAPZ4.js → chunk-5SBVOOA2.js} +5 -5
- package/chunks/{chunk-IK5BW3CS.js → chunk-5ZJL3AIV.js} +2 -2
- package/chunks/{chunk-OIVXBW3W.js → chunk-62GQFYID.js} +1 -1
- package/chunks/{chunk-BRVWYMKV.js → chunk-6MBXY6WM.js} +1 -1
- package/chunks/{chunk-77RG5SFQ.js → chunk-6XOIV7MI.js} +1 -1
- package/chunks/{chunk-KGJGEEVR.js → chunk-7FA2II6K.js} +10 -1
- package/chunks/chunk-7GUOXWPY.js +2597 -0
- package/chunks/chunk-7J6OTNGO.js +424 -0
- package/chunks/{chunk-DIMEPKCW.js → chunk-7S226YTK.js} +1 -1
- package/chunks/{chunk-XRSOI3DL.js → chunk-A3LWD5MK.js} +1 -1
- package/chunks/{chunk-FBSSIAAQ.js → chunk-AMLXTTJJ.js} +7 -7
- package/chunks/{chunk-Z7FLBQPR.js → chunk-ARF6IJHM.js} +7 -7
- package/chunks/{chunk-4CDSK5AZ.js → chunk-AYFA7MZV.js} +2 -2
- package/chunks/{chunk-4JWNNLPT.js → chunk-B42A5ZHA.js} +3 -3
- package/chunks/{chunk-3JGZSIDA.js → chunk-B466ZSHZ.js} +1 -1
- package/chunks/{chunk-L6BZRIUL.js → chunk-B5PHIJGI.js} +182 -4
- package/chunks/{chunk-KUX5D6DK.js → chunk-BFYGL2XL.js} +11383 -11020
- package/chunks/{chunk-W5MJJ2V7.js → chunk-BIJEBAAQ.js} +1 -1
- package/chunks/{chunk-3I6UTTDX.js → chunk-BKWNKLZB.js} +19 -19
- package/chunks/{chunk-3FDFA4MZ.js → chunk-BOWFGCEU.js} +1 -1
- package/chunks/{chunk-F5SZP77N.js → chunk-BP5PTNCU.js} +79 -71
- package/chunks/{chunk-3AFMQUTI.js → chunk-C2X7KY45.js} +1 -1
- package/chunks/{chunk-FDY5RMGH.js → chunk-CFJY4DGX.js} +1 -1
- package/chunks/{chunk-LDP5OD6N.js → chunk-CLWO3B77.js} +2 -2
- package/chunks/{chunk-L6YT5H34.js → chunk-CVUBULIX.js} +4 -4
- package/chunks/{chunk-JU4EEXC7.js → chunk-CWQZUDB7.js} +2 -2
- package/chunks/chunk-DJBQCO2E.js +842 -0
- package/chunks/{chunk-4J657AJR.js → chunk-DJECZIJX.js} +40 -40
- package/chunks/{chunk-RUGNCYNO.js → chunk-DMLVSW7L.js} +532 -22
- package/chunks/{chunk-4FTKQNWJ.js → chunk-DYXFD5RO.js} +181 -2
- package/chunks/{chunk-PDMJ3KGS.js → chunk-EB6QRGHM.js} +1 -1
- package/chunks/{chunk-TGWAQ5RB.js → chunk-ECE3UYVO.js} +4704 -5894
- package/chunks/{chunk-5O72BNDD.js → chunk-F5RB4S23.js} +7 -7
- package/chunks/{chunk-IJKTMLBE.js → chunk-FIKYKQOO.js} +1 -1
- package/chunks/{chunk-BNMF3K5X.js → chunk-FKET6VOO.js} +52 -36
- package/chunks/{chunk-Z7TGYN5F.js → chunk-FROAFEFB.js} +2 -2
- package/chunks/{chunk-MZS7GEC7.js → chunk-FTF2YIZ5.js} +1 -1
- package/chunks/{chunk-Z7VOMGDC.js → chunk-FTJMWDND.js} +0 -24
- package/chunks/{chunk-43UYNAWX.js → chunk-G6FECKTJ.js} +2 -2
- package/chunks/{chunk-7UYV53BC.js → chunk-GIHXH2KO.js} +1 -1
- package/chunks/{chunk-V4QXXQJ2.js → chunk-H4LCV44K.js} +2 -2
- package/chunks/{chunk-LXIBMVRN.js → chunk-H5WQZTAW.js} +13 -7
- package/chunks/{chunk-Z4X5MTRT.js → chunk-HCOBAG2L.js} +2 -4
- package/chunks/{chunk-RJC5EIKY.js → chunk-HHQJANFM.js} +3 -3
- package/chunks/{chunk-7JPW6IYH.js → chunk-HVC3PNVC.js} +1 -1
- package/chunks/{chunk-TRZTNIQ6.js → chunk-I6LYRJPB.js} +2 -2
- package/chunks/{chunk-E55H6BZ7.js → chunk-ICURCKIU.js} +1335 -119
- package/chunks/{chunk-66KDY3LV.js → chunk-IJMEPQ5N.js} +2 -2
- package/chunks/{chunk-4HV6HH33.js → chunk-ISKH4QX3.js} +9 -9
- package/chunks/{chunk-6CGL7E7G.js → chunk-IZDKYNKN.js} +2 -2
- package/chunks/{chunk-A7YP63XN.js → chunk-J7SS77YW.js} +5 -5
- package/chunks/{chunk-XDFHY4R3.js → chunk-JCMS65DJ.js} +2 -2
- package/chunks/{chunk-6LFJEACX.js → chunk-JHDPOPQG.js} +7 -7
- package/chunks/{chunk-WKK5BQNP.js → chunk-JHYH6PYQ.js} +43 -420
- package/chunks/{chunk-PFCQ62V4.js → chunk-JWDMKJG5.js} +6 -6
- package/chunks/{chunk-6IUNAPLR.js → chunk-K5KXUXWC.js} +1 -1
- package/chunks/{chunk-Y6LSMB6J.js → chunk-K6CTN5TU.js} +1 -1
- package/chunks/{chunk-G34IR3D6.js → chunk-KEIMKAM4.js} +26 -109
- package/chunks/{chunk-JHS74YAB.js → chunk-KID24ZFN.js} +1 -1
- package/chunks/{chunk-EFUM7RVY.js → chunk-KJO2LBUK.js} +942 -16
- package/chunks/{chunk-B7CDU2SL.js → chunk-KYWTPLBJ.js} +17 -20
- package/chunks/chunk-LGO7DEXL.js +1186 -0
- package/chunks/{chunk-P2SU6ZTI.js → chunk-LUEHOUHM.js} +1 -1
- package/chunks/{chunk-P5GGM4KS.js → chunk-MAQ2W4IF.js} +3 -3
- package/chunks/{chunk-RIEFGNTP.js → chunk-MVDPFLWM.js} +207 -43
- package/chunks/{chunk-5PA6UEYA.js → chunk-MZCJWS5Y.js} +1 -1
- package/chunks/{chunk-BGXZBI5B.js → chunk-N4X7G4J2.js} +2 -1
- package/chunks/{chunk-BBWV7ONL.js → chunk-NEBSNUMX.js} +6 -6
- package/chunks/{chunk-3SGB2UHX.js → chunk-NENQE7VH.js} +23 -11
- package/chunks/{chunk-SJ3ZUWFK.js → chunk-NHDNYMBU.js} +4 -4
- package/chunks/{chunk-K2NQPH5D.js → chunk-OJEMXKA4.js} +3 -3
- package/chunks/{chunk-QP4C6WCE.js → chunk-PI6HYGBE.js} +2 -2
- package/chunks/{chunk-OIP7C4FE.js → chunk-PO6YCWIQ.js} +4 -4
- package/chunks/{chunk-SAH4BD2J.js → chunk-PQEISIKS.js} +67 -0
- package/chunks/{chunk-4MQEPP3Y.js → chunk-PQZBDDNG.js} +5 -119
- package/chunks/{chunk-SMPR7SPO.js → chunk-QJNDUTOL.js} +45 -239
- package/chunks/{chunk-L2M46FP5.js → chunk-QYMAKPY5.js} +5 -5
- package/chunks/{chunk-JVPFTDBK.js → chunk-RFIDDFAL.js} +1 -1
- package/chunks/{chunk-JSC3H3TD.js → chunk-RZKOA4JE.js} +14 -6
- package/chunks/{chunk-CPGJJJLU.js → chunk-SEDFP3ZI.js} +1 -1
- package/chunks/chunk-SEONHUS3.js +275 -0
- package/chunks/{chunk-ZGXYO7DY.js → chunk-SS4MRMKE.js} +122 -13
- package/chunks/{chunk-T32W2JHI.js → chunk-SS5SDCD3.js} +2 -2
- package/chunks/{chunk-MIIVI25Q.js → chunk-ST5V3ZOC.js} +2 -2
- package/chunks/{chunk-4K7NQDCG.js → chunk-T4EFG2P5.js} +18 -9
- package/chunks/{chunk-TWSKM647.js → chunk-T7KMERIX.js} +1 -1
- package/chunks/{chunk-BAJKAAOY.js → chunk-TGJ2PKCW.js} +4315 -1386
- package/chunks/{chunk-6LFTG244.js → chunk-TU6WVK67.js} +15 -5
- package/chunks/{chunk-T3WXYEZ4.js → chunk-U54AYGEC.js} +38 -5
- package/chunks/{chunk-CSMI4FP5.js → chunk-UAOTD2BN.js} +1 -1
- package/chunks/{chunk-CCBZDVUA.js → chunk-UI4DXRZW.js} +33 -20
- package/chunks/{chunk-JCQD3INC.js → chunk-URE3QBBB.js} +1 -1
- package/chunks/chunk-UVY67MSH.js +205 -0
- package/chunks/{chunk-Y3QL45LS.js → chunk-V4264FEG.js} +8 -8
- package/chunks/{chunk-R4PMVSR5.js → chunk-VBCPNIQD.js} +18 -20
- package/chunks/{chunk-Q26AYA62.js → chunk-VKCJPNGU.js} +2 -2
- package/chunks/{chunk-IOPCFOTF.js → chunk-VKIGT4OG.js} +2 -2
- package/chunks/{chunk-3DXFGHAJ.js → chunk-VNMZLAVG.js} +1 -1
- package/chunks/{chunk-FY76G3G5.js → chunk-W3CY4QIO.js} +4 -4
- package/chunks/{chunk-O2UN57NX.js → chunk-W4XG7IZ4.js} +19 -2
- package/chunks/{chunk-C6K43ZDE.js → chunk-W7HH77GN.js} +5 -5
- package/chunks/{chunk-2NYCN6F2.js → chunk-WD3WSEW3.js} +43 -26
- package/chunks/chunk-WLEYH7CD.js +332 -0
- package/chunks/{chunk-PKAYJDB3.js → chunk-WNPDGUJO.js} +21 -2
- package/chunks/{chunk-IZIVM7LZ.js → chunk-WXEA74YB.js} +1 -1
- package/chunks/{chunk-YRLW2MSX.js → chunk-XBVNNDPK.js} +11 -4
- package/chunks/{chunk-HVQ3B7FF.js → chunk-Y5S7LBOZ.js} +43 -6
- package/chunks/{chunk-AGR5UROZ.js → chunk-YN44TEOZ.js} +17 -29
- package/chunks/{chunk-DZWPESIF.js → chunk-Z44FUM77.js} +3 -3
- package/chunks/{chunk-XDLEZ5HX.js → chunk-ZZUKP7HV.js} +1 -1
- package/chunks/{config-utils-BBOCOGZW.js → config-utils-NOCNFTQP.js} +42 -41
- package/chunks/{contextCommand-EET67MQ2.js → contextCommand-DH2NOQBI.js} +39 -40
- package/chunks/{core-runtime-677KFX6Q.js → core-runtime-OLW4OXMV.js} +43 -44
- package/chunks/{create-sub-session-JKZAYZX7.js → create-sub-session-ZCGPQTIE.js} +37 -38
- package/chunks/{daemon-MJQUO7RA.js → daemon-3GNHB3M2.js} +495 -7
- package/chunks/{daemon-git-worktree-guard-6MVAAZZZ.js → daemon-git-worktree-guard-SHIU7MPJ.js} +36 -37
- package/chunks/{daemon-status-provider-RFKZOK3S.js → daemon-status-provider-WECDBDF7.js} +45 -46
- package/chunks/{daemon-trust-policy-DRZPFB4Q.js → daemon-trust-policy-MX4OYXF3.js} +44 -45
- package/chunks/{daemon-trust-policy-monitor-B5U6TQX5.js → daemon-trust-policy-monitor-73WXIKNL.js} +44 -45
- package/chunks/{deferred-core-runtime-BBVIOP24.js → deferred-core-runtime-BKS7O3D6.js} +36 -37
- package/chunks/{dist-DJBNNPLN.js → dist-4WXLCBDR.js} +1 -1
- package/chunks/{dist-TJUDJTCB.js → dist-5VXFRTWU.js} +280 -48
- package/chunks/{dist-QODVOVWI.js → dist-6BPYWHVD.js} +31 -30
- package/chunks/{dist-ZBVOXSKF.js → dist-GFN5DCBX.js} +74 -65
- package/chunks/{dist-SATKXKUR.js → dist-HZNT6GQS.js} +1 -1
- package/chunks/{dist-ILDBUWDB.js → dist-LVZCXVPF.js} +1 -1
- package/chunks/{dist-7CKN54NL.js → dist-N6W6E753.js} +71 -64
- package/chunks/{dist-4Q7NTUNB.js → dist-NSV4NBPK.js} +31 -14
- package/chunks/{dist-UQUFZDIY.js → dist-SWQMYP2Q.js} +18 -16
- package/chunks/{earlyInputCapture-2JOMMNQ4.js → earlyInputCapture-5NNZSVL7.js} +36 -37
- package/chunks/{edit-BSV6YRVW.js → edit-IGHPT4I2.js} +27 -28
- package/chunks/{enter-worktree-MQXFFPKM.js → enter-worktree-35QCAAFP.js} +3 -3
- package/chunks/{enterPlanMode-PKNF35FE.js → enterPlanMode-LVTPJSAA.js} +32 -33
- package/chunks/{environment-MOZMPUHR.js → environment-HC2PPYDO.js} +40 -41
- package/chunks/{errors-DMPQVYJL.js → errors-VCWSG25A.js} +39 -40
- package/chunks/{exit-worktree-L344UY7K.js → exit-worktree-XQD6D543.js} +3 -3
- package/chunks/{exitPlanMode-UE4FGCY4.js → exitPlanMode-RHI2K2O7.js} +27 -28
- package/chunks/{fast-path-773PV7PU.js → fast-path-IQNCJOPE.js} +4 -4
- package/chunks/{fast-path-settings-XMFBYFUH.js → fast-path-settings-XH426LUU.js} +3 -3
- package/chunks/{glob-CZHOWUEA.js → glob-EANAXPNR.js} +27 -28
- package/chunks/{goal-tools-YZQJXTGH.js → goal-tools-PTD3MBA7.js} +2 -1
- package/chunks/{grep-5GPICQBU.js → grep-3REG7TO6.js} +4 -2
- package/chunks/{handleAutoUpdate-SGXKTQM6.js → handleAutoUpdate-PVVFLDQ4.js} +41 -42
- package/chunks/{i18n-B42HKHKH.js → i18n-VOKX5QIF.js} +38 -39
- package/chunks/{image-gen-HAYOEQ4O.js → image-gen-J6FDGUZP.js} +4 -6
- package/chunks/{initializer-FB66WYR3.js → initializer-SZVVTGZL.js} +44 -45
- package/chunks/{installationInfo-Y7AULNMX.js → installationInfo-R22453J5.js} +37 -38
- package/chunks/{list-2HWGSVRA.js → list-LK5M5W2N.js} +47 -48
- package/chunks/{gemini-IP4FJAP5.js → llm-6RQJUVIS.js} +89 -85
- package/chunks/{geminiContentGenerator-PUNEBWJW.js → llm-content-generator-Q7JJDSJR.js} +25 -25
- package/chunks/{loadedSettingsAdapter-7Y7IEI6T.js → loadedSettingsAdapter-KF2ZPSPG.js} +44 -45
- package/chunks/{loggingContentGenerator-2GGZNGLG.js → loggingContentGenerator-SBCIJG2J.js} +307 -27
- package/chunks/{managed-npm-update-5TEV2E3J.js → managed-npm-update-UG324XFY.js} +37 -38
- package/chunks/{mcp-QGG5NMJJ.js → mcp-PUSCFGS5.js} +44 -45
- package/chunks/{monitor-FI7PY36Z.js → monitor-RJW5AP64.js} +27 -28
- package/chunks/{nonInteractiveCli-4LO2TL72.js → nonInteractiveCli-OIXN4WSR.js} +82 -81
- package/chunks/{notebook-edit-TPGMGBST.js → notebook-edit-5MWEIMS2.js} +27 -28
- package/chunks/{open-with-auth-4UI3KHUR.js → open-with-auth-YN3QZHVM.js} +1 -1
- package/chunks/{openaiContentGenerator-SUCYANUZ.js → openaiContentGenerator-AGTNYSCJ.js} +13 -15
- package/chunks/{pidfile-JMF2CLMY.js → pidfile-LTA6NT3P.js} +36 -37
- package/chunks/process-registry-OAEG6WGC.js +662 -0
- package/chunks/{processUtils-IQZBYWSB.js → processUtils-GY3Q66CJ.js} +2 -2
- package/chunks/{prompt-terminal-ledger-DCZO6S7C.js → prompt-terminal-ledger-3QS6TCMF.js} +37 -38
- package/chunks/{qwenContentGenerator-J4TXFGJT.js → qwenContentGenerator-NU6PCDA7.js} +31 -32
- package/chunks/{qwenOAuth2-RF33DNZW.js → qwenOAuth2-OF5WRBQT.js} +4 -6
- package/chunks/{read-file-QE2B5FTX.js → read-file-DTQL5V62.js} +5 -5
- package/chunks/{record-artifact-RZGZBENU.js → record-artifact-VW23GS4F.js} +2 -2
- package/chunks/{report-findings-Q3SYKKW5.js → report-findings-AO5VYFLR.js} +7 -3
- package/chunks/{resumeHistoryUtils-CZ4JRDVW.js → resumeHistoryUtils-PZ4BER55.js} +40 -41
- package/chunks/{ripGrep-R6B6HWPX.js → ripGrep-A2FGBZGY.js} +7 -7
- package/chunks/{run-qwen-serve-TPHZMSXJ.js → run-qwen-serve-AESOSKFC.js} +271 -86
- package/chunks/{runtime-TTIGSBM4.js → runtime-YQHSEKG4.js} +49 -50
- package/chunks/{scheduled-tasks-QB4ZVUQS.js → scheduled-tasks-XG6KK6NY.js} +42 -43
- package/chunks/{scheduler-YRUG22M7.js → scheduler-I4WKXWRZ.js} +38 -39
- package/chunks/{sdk-exporters-http-KCJ4ZFG7.js → sdk-exporters-http-TTU2CHBU.js} +1 -1
- package/chunks/{sdk-impl-HLSEDAEP.js → sdk-impl-UUMVYMAL.js} +10 -4
- package/chunks/{send-message-Y5I6NYAM.js → send-message-AJ4OCUBV.js} +18 -2
- package/chunks/{serve-MXXCDAQN.js → serve-MQDTVC7X.js} +44 -45
- package/chunks/{server-DFUSSSHI.js → server-L5ETIKEW.js} +4153 -3351
- package/chunks/{session-3TEHNENZ.js → session-LKKXRUJM.js} +87 -86
- package/chunks/session-pr-refresh-5OWA6MC2.js +365 -0
- package/chunks/{settings-VOZYKLTT.js → settings-S6KG7JST.js} +43 -44
- package/chunks/{shell-6RTKZVMI.js → shell-JEQE5AHC.js} +27 -28
- package/chunks/{skill-FEOKFX26.js → skill-QEGMZXKI.js} +58 -14
- package/chunks/{skill-settings-VA4XVYVL.js → skill-settings-EVY7QF4H.js} +44 -45
- package/chunks/{spawnChannel-F6WVP723.js → spawnChannel-AQP72WPN.js} +38 -39
- package/chunks/{standalone-update-RGILUQVK.js → standalone-update-JUJA4BKV.js} +39 -40
- package/chunks/{startInteractiveUI-WHJPFOGH.js → startInteractiveUI-5ZMSJZ3J.js} +408 -338
- package/chunks/{stdioHelpers-7A2EE64Z.js → stdioHelpers-AY6XCDY2.js} +3 -1
- package/chunks/{task-create-TMSV7RD5.js → task-create-QN4LYRSE.js} +3 -3
- package/chunks/{task-list-W55RBFRX.js → task-list-JPLGK45U.js} +2 -2
- package/chunks/{task-update-N536I4GQ.js → task-update-IWEOJFV2.js} +3 -3
- package/chunks/{team-create-QYSWCYCL.js → team-create-ZEGP7KVD.js} +27 -28
- package/chunks/{team-delete-FJRFX33M.js → team-delete-RZVVSGCY.js} +2 -2
- package/chunks/{team-plan-approval-P7DAD644.js → team-plan-approval-SXWT2WZN.js} +27 -28
- package/chunks/{terminal-image-renderer-SMQE46UJ.js → terminal-image-renderer-42B6N55E.js} +36 -37
- package/chunks/{theme-manager-RFO5WWFF.js → theme-manager-DDYUBC25.js} +36 -37
- package/chunks/{tool-search-F2EMIAPV.js → tool-search-GDDBA4X4.js} +9 -9
- package/chunks/{total-session-admission-HTVTP4BS.js → total-session-admission-6MYP4GBA.js} +40 -41
- package/chunks/{trustedFolders-7OCNMUQE.js → trustedFolders-LPEIY3GE.js} +38 -39
- package/chunks/{types-WYCFCEHR.js → types-HKLPXZB3.js} +1 -3
- package/chunks/{update-relaunch-4GF3OXMB.js → update-relaunch-BOIIZNT3.js} +6 -6
- package/chunks/{updateCheck-7QBDXZRT.js → updateCheck-KSVHYJYE.js} +40 -41
- package/chunks/{useAutoAcceptIndicator-UI4SNL2O.js → useAutoAcceptIndicator-43D2A4ZN.js} +46 -47
- package/chunks/{validateNonInterActiveAuth-BPPA563H.js → validateNonInterActiveAuth-WSD4SOIM.js} +79 -78
- package/chunks/{version-ANP4TS6O.js → version-B4CM7RNG.js} +1 -1
- package/chunks/{web-fetch-QJADSAH3.js → web-fetch-MOHILUZL.js} +8 -10
- package/chunks/{web-search-7TTQKEKM.js → web-search-G4HIMY2V.js} +5 -7
- package/chunks/{web-shell-static-A6QMUNNV.js → web-shell-static-HNB4FDOE.js} +2 -2
- package/chunks/{workflow-5XN6XSOT.js → workflow-H3PCYU5F.js} +50 -60
- package/chunks/{workspace-providers-status-PDFZWL5Q.js → workspace-providers-status-AAX7VWMT.js} +48 -49
- package/chunks/{workspace-registration-store-XKVW2YVH.js → workspace-registration-store-YTHZ6SL4.js} +1 -1
- package/chunks/{workspace-registry-23R7XRB5.js → workspace-registry-URHGBL4U.js} +40 -41
- package/chunks/{workspace-service-MUYO2QIC.js → workspace-service-XJMSLRCU.js} +49 -53
- package/chunks/{workspace-skills-status-IKECTOOQ.js → workspace-skills-status-JGEDANNT.js} +47 -48
- package/chunks/{workspace-trust-reconciler-KLGOB53D.js → workspace-trust-reconciler-ZHI5TDYB.js} +48 -49
- package/chunks/{write-file-GGRBB5TZ.js → write-file-5O4S63L6.js} +29 -30
- package/chunks/{zoom-image-6ASG6J4C.js → zoom-image-N2IBUVXE.js} +5 -5
- package/cli.js +128 -91
- package/package.json +3 -3
- package/web-shell/assets/{abnfDiagram-VCTEODGH-uS-vtfs3.js → abnfDiagram-VCTEODGH-OJQpqC9m.js} +1 -1
- package/web-shell/assets/{arc-BSTnk5pu.js → arc-BxH0YR17.js} +1 -1
- package/web-shell/assets/{architectureDiagram-5GKGNRK7-DCMyiqzy.js → architectureDiagram-5GKGNRK7-CxyWiGfF.js} +1 -1
- package/web-shell/assets/{blockDiagram-NRAW4CY4-C7_gt0r1.js → blockDiagram-NRAW4CY4-DukXbJQ7.js} +1 -1
- package/web-shell/assets/{c4Diagram-UCG6FXSJ-BeQg2L8B.js → c4Diagram-UCG6FXSJ-DvS1T6pK.js} +1 -1
- package/web-shell/assets/channel-Dbbg7P-u.js +1 -0
- package/web-shell/assets/{chunk-2Q5K7J3B-DnV9bKBe.js → chunk-2Q5K7J3B-qvqfJ7VZ.js} +1 -1
- package/web-shell/assets/{chunk-5VM5RSS4-rT1GAcT7.js → chunk-5VM5RSS4-BJ3kJYte.js} +1 -1
- package/web-shell/assets/{chunk-F27PBJKO-BcgSxqGA.js → chunk-F27PBJKO-BYPVESil.js} +1 -1
- package/web-shell/assets/{chunk-G27WJ6UU-Bw1ZhyZq.js → chunk-G27WJ6UU-B4UYFElk.js} +1 -1
- package/web-shell/assets/{chunk-JWPE2WC7-D4iDw-96.js → chunk-JWPE2WC7-8zGKVNUU.js} +1 -1
- package/web-shell/assets/{chunk-LCL6LL3I-D3MB3GTZ.js → chunk-LCL6LL3I-CbaHONpI.js} +1 -1
- package/web-shell/assets/{chunk-POPQ4Y6H-Cep2ndrS.js → chunk-POPQ4Y6H-f8kAjzlF.js} +1 -1
- package/web-shell/assets/{chunk-SVP7TREG-BuahMHJc.js → chunk-SVP7TREG-Dm8ahq7K.js} +1 -1
- package/web-shell/assets/{chunk-XXDRQBXY-BdujIvJY.js → chunk-XXDRQBXY-yrcLzv8z.js} +1 -1
- package/web-shell/assets/classDiagram-DTDB5LWJ-cDYs8iT0.js +1 -0
- package/web-shell/assets/classDiagram-v2-JRS7N3AN-cDYs8iT0.js +1 -0
- package/web-shell/assets/{cose-bilkent-JH36ORCC-CGLLUbF8.js → cose-bilkent-JH36ORCC-DN1C22IH.js} +1 -1
- package/web-shell/assets/{cynefin-OW5HDTMX-D6kDsRSh.js → cynefin-OW5HDTMX-B2oF7XD_.js} +1 -1
- package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-CCy78qZx.js → cynefinDiagram-5FMLGOSQ-DGgIKpiM.js} +1 -1
- package/web-shell/assets/{dagre-3AP2YEHR-D5gJuJsf.js → dagre-3AP2YEHR-BHKawzoP.js} +1 -1
- package/web-shell/assets/{diagram-S7CK7UJ4-ZwEZ5W__.js → diagram-S7CK7UJ4-6UgKqreR.js} +1 -1
- package/web-shell/assets/{diagram-UQ7AKVKN-B036APjv.js → diagram-UQ7AKVKN-BXJbPJ6F.js} +1 -1
- package/web-shell/assets/{diagram-VSXAHHWV-BfDJ57Fq.js → diagram-VSXAHHWV-DVnYFPkS.js} +1 -1
- package/web-shell/assets/{diagram-VX7I27RA-Wha0p5rT.js → diagram-VX7I27RA-CjBoC0Rq.js} +1 -1
- package/web-shell/assets/{diagram-Z3DM3KII-L20bz2K1.js → diagram-Z3DM3KII-KZdUceQT.js} +1 -1
- package/web-shell/assets/{ebnfDiagram-PWID7BFC-D1ZM0Cp7.js → ebnfDiagram-PWID7BFC-5UekGScM.js} +1 -1
- package/web-shell/assets/{erDiagram-SSCWMZ5O-CMtA19v8.js → erDiagram-SSCWMZ5O-TRWexoj1.js} +1 -1
- package/web-shell/assets/{flowDiagram-A5DVABFB-D96m326S.js → flowDiagram-A5DVABFB-Di5bhBVo.js} +1 -1
- package/web-shell/assets/{ganttDiagram-EL5Y4UJY-BuHiYG2o.js → ganttDiagram-EL5Y4UJY-DpJUJ8Dp.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-WWUBYQGX-Ck3NmkSw.js → gitGraphDiagram-WWUBYQGX-b08xIx2C.js} +1 -1
- package/web-shell/assets/index-BvDpDHTN.css +36 -0
- package/web-shell/assets/index-Cg60lhnI.js +1913 -0
- package/web-shell/assets/{index-CBGz4Qjl.js → index-n6dFH09O.js} +1 -1
- package/web-shell/assets/{infoDiagram-RXCK75RN-B6DAOyXe.js → infoDiagram-RXCK75RN-Cz14FAt7.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-5VMMS53U-Bpg-joFo.js → ishikawaDiagram-5VMMS53U-7nxp2bIU.js} +1 -1
- package/web-shell/assets/{journeyDiagram-EYS64GPL-BclrHzGa.js → journeyDiagram-EYS64GPL-CjL47fk0.js} +1 -1
- package/web-shell/assets/{kanban-definition-3QL26DDD-5gJzNTYG.js → kanban-definition-3QL26DDD-CWFl-mHs.js} +1 -1
- package/web-shell/assets/{layout-CEz_1L8z.js → layout-BUP1BcwB.js} +1 -1
- package/web-shell/assets/{linear-CBjTq9Hc.js → linear-CqbwqSbW.js} +1 -1
- package/web-shell/assets/{mermaid.core-Dzhbxx_I.js → mermaid.core-C_50HLol.js} +6 -6
- package/web-shell/assets/{mindmap-definition-FBJOCRG2-DQdVqlBF.js → mindmap-definition-FBJOCRG2-DbyD_AoU.js} +1 -1
- package/web-shell/assets/{pegDiagram-XKGWAZYB-D1JZlYXL.js → pegDiagram-XKGWAZYB-VozWyqyY.js} +1 -1
- package/web-shell/assets/{pieDiagram-E7YTZNPT-BmkpYL0w.js → pieDiagram-E7YTZNPT-O7EKamBL.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-AXDQQJYC-DRvD6co5.js → quadrantDiagram-AXDQQJYC-DOmPZxHg.js} +1 -1
- package/web-shell/assets/{railroadDiagram-O6MQD6OU-CEdjDuoo.js → railroadDiagram-O6MQD6OU-ElyfC2zE.js} +1 -1
- package/web-shell/assets/{requirementDiagram-EFPCY7ZU-BCHG-ie8.js → requirementDiagram-EFPCY7ZU-DbnqPbzR.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-P5KCCOFB-C9cZMnye.js → sankeyDiagram-P5KCCOFB-yPWliSHr.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-DYHRV4zL.js → sequenceDiagram-WJ2MYXX4-BImQFomC.js} +1 -1
- package/web-shell/assets/{sizeCapture-X5ZJPWSS-DlK21aye.js → sizeCapture-X5ZJPWSS-DEvqeEHo.js} +1 -1
- package/web-shell/assets/{stateDiagram-HBIQ2CUA-BrmZssvk.js → stateDiagram-HBIQ2CUA-BbLtiF9u.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-4QOOHH4V-DGtlzdpx.js +1 -0
- package/web-shell/assets/{swimlanes-XN3QIQJK-D9xfcayR.js → swimlanes-XN3QIQJK-RFewDF6v.js} +1 -1
- package/web-shell/assets/swimlanesDiagram-VK2B7HYN-CITCVFdx.js +8 -0
- package/web-shell/assets/{timeline-definition-24CTP7MA-D4gdDL_d.js → timeline-definition-24CTP7MA-DF4L3-UR.js} +1 -1
- package/web-shell/assets/{vennDiagram-4TSXK5OY-DdhIExjI.js → vennDiagram-4TSXK5OY-BtlSJXaA.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-VM6X3IG4-C9RS_Zof.js → wardleyDiagram-VM6X3IG4-C8ogG8Fh.js} +1 -1
- package/web-shell/assets/{xychartDiagram-S5SC5T6Z-orRgmxWk.js → xychartDiagram-S5SC5T6Z-C5QVfsGQ.js} +1 -1
- package/web-shell/index.html +3 -3
- package/chunks/chunk-7DJCPZE3.js +0 -945
- package/chunks/chunk-J2OSJFP3.js +0 -202
- package/chunks/chunk-K2OJUPOE.js +0 -78
- package/chunks/chunk-P3QQPMQA.js +0 -19
- package/chunks/chunk-T26EAKDL.js +0 -13
- package/chunks/process-registry-PMJOA5CO.js +0 -172
- package/web-shell/assets/channel-CENAhErJ.js +0 -1
- package/web-shell/assets/classDiagram-DTDB5LWJ-CM6FArGH.js +0 -1
- package/web-shell/assets/classDiagram-v2-JRS7N3AN-CM6FArGH.js +0 -1
- package/web-shell/assets/index-8hXIpvo4.js +0 -1865
- package/web-shell/assets/index-DclEv91i.css +0 -5
- package/web-shell/assets/stateDiagram-v2-4QOOHH4V-B2Q7XDaE.js +0 -1
- package/web-shell/assets/swimlanesDiagram-VK2B7HYN-DpZPOSbX.js +0 -8
|
@@ -0,0 +1,332 @@
|
|
|
1
|
+
// Force strict mode and setup for ESM
|
|
2
|
+
"use strict";
|
|
3
|
+
import {
|
|
4
|
+
init_esbuild_shims
|
|
5
|
+
} from "./chunk-5O2XNYP6.js";
|
|
6
|
+
|
|
7
|
+
// packages/cli/src/config/top-level-options.ts
|
|
8
|
+
init_esbuild_shims();
|
|
9
|
+
var APPROVAL_MODES = [
|
|
10
|
+
"plan",
|
|
11
|
+
"default",
|
|
12
|
+
"auto-edit",
|
|
13
|
+
"auto",
|
|
14
|
+
"yolo"
|
|
15
|
+
];
|
|
16
|
+
var APPROVAL_MODE_DESCRIPTIONS = {
|
|
17
|
+
plan: "Analyze only, do not modify files or execute commands",
|
|
18
|
+
default: "Require approval for file edits or shell commands",
|
|
19
|
+
"auto-edit": "Automatically approve file edits",
|
|
20
|
+
auto: "LLM classifier auto-approves safe actions, blocks risky ones",
|
|
21
|
+
yolo: "Automatically approve all tools"
|
|
22
|
+
};
|
|
23
|
+
var AUTH_TYPE_CHOICES = [
|
|
24
|
+
"openai",
|
|
25
|
+
"anthropic",
|
|
26
|
+
"qwen-oauth",
|
|
27
|
+
"gemini",
|
|
28
|
+
"vertex-ai"
|
|
29
|
+
];
|
|
30
|
+
var TOP_LEVEL_USAGE = "Usage: qwen [options] [command]\n\nQwen Code - Launch an interactive CLI, use -p/--prompt for non-interactive mode";
|
|
31
|
+
var DEFAULT_COMMAND = "$0 [query..]";
|
|
32
|
+
var DEFAULT_COMMAND_DESC = "Launch Qwen Code CLI";
|
|
33
|
+
var QUERY_POSITIONAL = {
|
|
34
|
+
description: "Positional prompt. Defaults to one-shot; use -i/--prompt-interactive for interactive."
|
|
35
|
+
};
|
|
36
|
+
var TOP_LEVEL_GLOBAL_OPTIONS = {
|
|
37
|
+
telemetry: {
|
|
38
|
+
type: "boolean",
|
|
39
|
+
description: "Enable telemetry? This flag specifically controls if telemetry is sent. Other --telemetry-* flags set specific values but do not enable telemetry on their own."
|
|
40
|
+
},
|
|
41
|
+
"telemetry-target": {
|
|
42
|
+
type: "string",
|
|
43
|
+
choices: ["local", "gcp"],
|
|
44
|
+
description: "Set the telemetry target (local or gcp). Overrides settings files."
|
|
45
|
+
},
|
|
46
|
+
"telemetry-otlp-endpoint": {
|
|
47
|
+
type: "string",
|
|
48
|
+
description: "Set the OTLP endpoint for telemetry. Overrides environment variables and settings files."
|
|
49
|
+
},
|
|
50
|
+
"telemetry-otlp-protocol": {
|
|
51
|
+
type: "string",
|
|
52
|
+
choices: ["grpc", "http"],
|
|
53
|
+
description: "Set the OTLP protocol for telemetry (grpc or http). Overrides settings files."
|
|
54
|
+
},
|
|
55
|
+
"telemetry-log-prompts": {
|
|
56
|
+
type: "boolean",
|
|
57
|
+
description: "Enable or disable logging of user prompts for telemetry. Overrides settings files."
|
|
58
|
+
},
|
|
59
|
+
"telemetry-outfile": {
|
|
60
|
+
type: "string",
|
|
61
|
+
description: "Redirect all telemetry output to the specified file."
|
|
62
|
+
},
|
|
63
|
+
debug: {
|
|
64
|
+
alias: "d",
|
|
65
|
+
type: "boolean",
|
|
66
|
+
description: "Run in debug mode?",
|
|
67
|
+
default: false
|
|
68
|
+
},
|
|
69
|
+
bare: {
|
|
70
|
+
type: "boolean",
|
|
71
|
+
description: "Minimal mode: skip implicit startup auto-discovery and only honor explicitly provided CLI inputs.",
|
|
72
|
+
default: false
|
|
73
|
+
},
|
|
74
|
+
"safe-mode": {
|
|
75
|
+
type: "boolean",
|
|
76
|
+
description: "Disable all customizations (context files, hooks, extensions, skills, MCP servers) for troubleshooting."
|
|
77
|
+
},
|
|
78
|
+
proxy: {
|
|
79
|
+
type: "string",
|
|
80
|
+
description: "Proxy for Qwen Code, like schema://user:password@host:port"
|
|
81
|
+
},
|
|
82
|
+
insecure: {
|
|
83
|
+
type: "boolean",
|
|
84
|
+
description: "Skip TLS certificate verification for API connections (for self-signed certs in trusted/lab environments). Equivalent to setting QWEN_TLS_INSECURE=1. WARNING: removes protection against man-in-the-middle attacks.",
|
|
85
|
+
default: false
|
|
86
|
+
},
|
|
87
|
+
"chat-recording": {
|
|
88
|
+
type: "boolean",
|
|
89
|
+
description: "Enable chat recording to disk. If false, chat history is not saved and --continue/--resume will not work."
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
var TOP_LEVEL_DEPRECATED_OPTIONS = {
|
|
93
|
+
telemetry: 'Use the "telemetry.enabled" setting in settings.json instead. This flag will be removed in a future version.',
|
|
94
|
+
"telemetry-target": 'Use the "telemetry.target" setting in settings.json instead. This flag will be removed in a future version.',
|
|
95
|
+
"telemetry-otlp-endpoint": 'Use the "telemetry.otlpEndpoint" setting in settings.json instead. This flag will be removed in a future version.',
|
|
96
|
+
"telemetry-otlp-protocol": 'Use the "telemetry.otlpProtocol" setting in settings.json instead. This flag will be removed in a future version.',
|
|
97
|
+
"telemetry-log-prompts": 'Use the "telemetry.logPrompts" setting in settings.json instead. This flag will be removed in a future version.',
|
|
98
|
+
"telemetry-outfile": 'Use the "telemetry.outfile" setting in settings.json instead. This flag will be removed in a future version.',
|
|
99
|
+
proxy: 'Use the "proxy" setting in settings.json instead. This flag will be removed in a future version.',
|
|
100
|
+
"sandbox-image": 'Use the "tools.sandboxImage" setting in settings.json instead. This flag will be removed in a future version.',
|
|
101
|
+
prompt: "Use the positional prompt instead. This flag will be removed in a future version."
|
|
102
|
+
};
|
|
103
|
+
var DEFAULT_COMMAND_OPTIONS = {
|
|
104
|
+
model: {
|
|
105
|
+
alias: "m",
|
|
106
|
+
type: "string",
|
|
107
|
+
description: "Model"
|
|
108
|
+
},
|
|
109
|
+
"fallback-model": {
|
|
110
|
+
type: "array",
|
|
111
|
+
description: "Fallback model(s) for capacity errors (429/503/529), repeatable or comma-separated (max 3)"
|
|
112
|
+
},
|
|
113
|
+
prompt: {
|
|
114
|
+
alias: "p",
|
|
115
|
+
type: "string",
|
|
116
|
+
description: "Prompt. Appended to input on stdin (if any)."
|
|
117
|
+
},
|
|
118
|
+
"prompt-interactive": {
|
|
119
|
+
alias: "i",
|
|
120
|
+
type: "string",
|
|
121
|
+
description: "Execute the provided prompt and continue in interactive mode"
|
|
122
|
+
},
|
|
123
|
+
"system-prompt": {
|
|
124
|
+
type: "string",
|
|
125
|
+
description: "Override the main session system prompt for this run. Can be combined with --append-system-prompt."
|
|
126
|
+
},
|
|
127
|
+
"append-system-prompt": {
|
|
128
|
+
type: "string",
|
|
129
|
+
description: "Append instructions to the main session system prompt for this run. Can be combined with --system-prompt."
|
|
130
|
+
},
|
|
131
|
+
sandbox: {
|
|
132
|
+
alias: "s",
|
|
133
|
+
type: "boolean",
|
|
134
|
+
description: "Run in sandbox?"
|
|
135
|
+
},
|
|
136
|
+
"sandbox-image": {
|
|
137
|
+
type: "string",
|
|
138
|
+
description: "Sandbox image URI."
|
|
139
|
+
},
|
|
140
|
+
yolo: {
|
|
141
|
+
alias: "y",
|
|
142
|
+
type: "boolean",
|
|
143
|
+
description: "Automatically accept all actions (aka YOLO mode, see https://www.youtube.com/watch?v=xvFZjo5PgG0 for more details)?",
|
|
144
|
+
default: false
|
|
145
|
+
},
|
|
146
|
+
"approval-mode": {
|
|
147
|
+
type: "string",
|
|
148
|
+
choices: APPROVAL_MODES,
|
|
149
|
+
description: `Set the approval mode: ${APPROVAL_MODES.map(
|
|
150
|
+
(mode) => `${mode} (${APPROVAL_MODE_DESCRIPTIONS[mode]})`
|
|
151
|
+
).join(", ")}`
|
|
152
|
+
},
|
|
153
|
+
acp: {
|
|
154
|
+
type: "boolean",
|
|
155
|
+
description: "Starts the agent in ACP mode"
|
|
156
|
+
},
|
|
157
|
+
"experimental-lsp": {
|
|
158
|
+
type: "boolean",
|
|
159
|
+
description: "Enable experimental LSP (Language Server Protocol) feature for code intelligence",
|
|
160
|
+
default: false
|
|
161
|
+
},
|
|
162
|
+
"restore-ask-user-question": {
|
|
163
|
+
type: "boolean",
|
|
164
|
+
description: "On daemon session load/resume, re-hang a trailing unanswered ask_user_question instead of synthesizing a failed tool result",
|
|
165
|
+
default: false
|
|
166
|
+
},
|
|
167
|
+
channel: {
|
|
168
|
+
type: "string",
|
|
169
|
+
choices: ["VSCode", "ACP", "SDK", "CI", "desktop", "daemon"],
|
|
170
|
+
description: "Channel identifier (VSCode, ACP, SDK, CI, desktop, daemon)"
|
|
171
|
+
},
|
|
172
|
+
"allowed-mcp-server-names": {
|
|
173
|
+
type: "array",
|
|
174
|
+
description: "Allowed MCP server names"
|
|
175
|
+
},
|
|
176
|
+
"mcp-config": {
|
|
177
|
+
type: "string",
|
|
178
|
+
description: 'MCP server configuration as JSON string or file path. Can be a path to a JSON file or inline JSON with {"mcpServers": {...}} format.'
|
|
179
|
+
},
|
|
180
|
+
"allowed-tools": {
|
|
181
|
+
type: "array",
|
|
182
|
+
// Pre-PR the default-command builder registered this option twice and
|
|
183
|
+
// yargs rendered the LAST registration's description; keep that wording
|
|
184
|
+
// so the consolidated help output is unchanged.
|
|
185
|
+
description: "Tools to allow, will bypass confirmation"
|
|
186
|
+
},
|
|
187
|
+
extensions: {
|
|
188
|
+
alias: "e",
|
|
189
|
+
type: "array",
|
|
190
|
+
description: "A list of extensions to use. If not provided, all extensions are used."
|
|
191
|
+
},
|
|
192
|
+
"list-extensions": {
|
|
193
|
+
alias: "l",
|
|
194
|
+
type: "boolean",
|
|
195
|
+
description: "List all available extensions and exit."
|
|
196
|
+
},
|
|
197
|
+
"include-directories": {
|
|
198
|
+
alias: "add-dir",
|
|
199
|
+
type: "array",
|
|
200
|
+
description: "Additional directories to include in the workspace (comma-separated or multiple --include-directories)"
|
|
201
|
+
},
|
|
202
|
+
"openai-logging": {
|
|
203
|
+
type: "boolean",
|
|
204
|
+
description: "Enable logging of OpenAI API calls for debugging and analysis"
|
|
205
|
+
},
|
|
206
|
+
"openai-logging-dir": {
|
|
207
|
+
type: "string",
|
|
208
|
+
description: "Custom directory path for OpenAI API logs. Overrides settings files."
|
|
209
|
+
},
|
|
210
|
+
"openai-api-key": {
|
|
211
|
+
type: "string",
|
|
212
|
+
description: "OpenAI API key to use for authentication"
|
|
213
|
+
},
|
|
214
|
+
"openai-base-url": {
|
|
215
|
+
type: "string",
|
|
216
|
+
description: "OpenAI base URL (for custom endpoints)"
|
|
217
|
+
},
|
|
218
|
+
"screen-reader": {
|
|
219
|
+
type: "boolean",
|
|
220
|
+
description: "Enable screen reader mode for accessibility."
|
|
221
|
+
},
|
|
222
|
+
"input-format": {
|
|
223
|
+
type: "string",
|
|
224
|
+
choices: ["text", "stream-json"],
|
|
225
|
+
description: "The format consumed from standard input.",
|
|
226
|
+
default: "text"
|
|
227
|
+
},
|
|
228
|
+
"output-format": {
|
|
229
|
+
alias: "o",
|
|
230
|
+
type: "string",
|
|
231
|
+
description: "The format of the CLI output.",
|
|
232
|
+
choices: ["text", "json", "stream-json"]
|
|
233
|
+
},
|
|
234
|
+
"include-partial-messages": {
|
|
235
|
+
type: "boolean",
|
|
236
|
+
description: "Include partial assistant messages when using stream-json output.",
|
|
237
|
+
default: false
|
|
238
|
+
},
|
|
239
|
+
"json-fd": {
|
|
240
|
+
type: "number",
|
|
241
|
+
description: "File descriptor for structured JSON event output (dual output mode). The TUI renders normally on stdout while JSON events are written to this fd. The caller must provide this fd via spawn stdio configuration."
|
|
242
|
+
},
|
|
243
|
+
"json-file": {
|
|
244
|
+
type: "string",
|
|
245
|
+
description: "File path for structured JSON event output (dual output mode). Can be a regular file, FIFO (named pipe), or /dev/fd/N."
|
|
246
|
+
},
|
|
247
|
+
"json-schema": {
|
|
248
|
+
type: "string",
|
|
249
|
+
description: 'JSON Schema that the model\'s final output must conform to (headless mode only). Accepts a JSON literal or "@path/to/schema.json". Registers a synthetic `structured_output` tool; the session ends on the first valid call.'
|
|
250
|
+
},
|
|
251
|
+
"input-file": {
|
|
252
|
+
type: "string",
|
|
253
|
+
description: "File path for receiving remote input commands (bidirectional sync). An external process writes JSONL commands; the TUI watches and processes them."
|
|
254
|
+
},
|
|
255
|
+
continue: {
|
|
256
|
+
alias: "c",
|
|
257
|
+
type: "boolean",
|
|
258
|
+
description: "Resume the most recent session for the current project.",
|
|
259
|
+
default: false
|
|
260
|
+
},
|
|
261
|
+
resume: {
|
|
262
|
+
alias: "r",
|
|
263
|
+
type: "string",
|
|
264
|
+
description: "Resume a specific session by its ID. Use without an ID to show session picker."
|
|
265
|
+
},
|
|
266
|
+
"session-id": {
|
|
267
|
+
type: "string",
|
|
268
|
+
description: "Specify a session ID for this run."
|
|
269
|
+
},
|
|
270
|
+
"fork-session": {
|
|
271
|
+
type: "boolean",
|
|
272
|
+
description: "Create a new forked session from the resumed session. Must be used with --resume or --continue.",
|
|
273
|
+
default: false
|
|
274
|
+
},
|
|
275
|
+
worktree: {
|
|
276
|
+
type: "string",
|
|
277
|
+
description: "Start the session inside a git worktree at <repoRoot>/.qwen/worktrees/<slug>/. Pass a slug (`--worktree my-feature`), a PR reference (`--worktree=#123` or a full GitHub pull-request URL), or use bare `--worktree` to auto-generate a slug. On exit, the WorktreeExitDialog prompts to keep or remove the worktree."
|
|
278
|
+
},
|
|
279
|
+
"max-session-turns": {
|
|
280
|
+
type: "number",
|
|
281
|
+
description: "Maximum number of session turns (must be an integer)"
|
|
282
|
+
},
|
|
283
|
+
"max-wall-time": {
|
|
284
|
+
type: "string",
|
|
285
|
+
description: "Run-level wall-clock budget for headless / unattended runs. Accepts seconds (e.g. `90`), or a duration string with unit (e.g. `30s`, `5m`, `1h`, `1.5h`). Minimum 1s \u2014 sub-second values (`500ms`, `0.5`) are rejected as typos; max ~24 days. Aborts the run with exit code 55 when exceeded."
|
|
286
|
+
},
|
|
287
|
+
"max-tool-calls": {
|
|
288
|
+
type: "number",
|
|
289
|
+
description: 'Maximum cumulative tool calls executed during the run (success or failure; `structured_output` under --json-schema is exempt). Aborts with exit code 55 when exceeded. -1 / unset means no limit; 0 means "no tool calls allowed" (first call aborts). Capped at 1,000,000 to catch typos.'
|
|
290
|
+
},
|
|
291
|
+
"max-subagent-depth": {
|
|
292
|
+
type: "number",
|
|
293
|
+
description: "Maximum sub-agent nesting depth (1-based levels). 1 keeps sub-agents available but disables nesting; capped at 100. Overrides model.maxSubagentDepth from settings. Defaults to 5."
|
|
294
|
+
},
|
|
295
|
+
"core-tools": {
|
|
296
|
+
type: "array",
|
|
297
|
+
description: "Core tool paths"
|
|
298
|
+
},
|
|
299
|
+
"exclude-tools": {
|
|
300
|
+
type: "array",
|
|
301
|
+
description: "Tools to exclude"
|
|
302
|
+
},
|
|
303
|
+
"disabled-slash-commands": {
|
|
304
|
+
type: "array",
|
|
305
|
+
description: "Slash command names to hide/disable (comma-separated or repeated). Merged with the `slashCommands.disabled` setting and QWEN_DISABLED_SLASH_COMMANDS. Matched case-insensitively against the final command name."
|
|
306
|
+
},
|
|
307
|
+
"auth-type": {
|
|
308
|
+
type: "string",
|
|
309
|
+
choices: AUTH_TYPE_CHOICES,
|
|
310
|
+
description: "Authentication type"
|
|
311
|
+
}
|
|
312
|
+
};
|
|
313
|
+
var TOP_LEVEL_HELP_OPTIONS = Object.freeze([
|
|
314
|
+
...Object.entries(TOP_LEVEL_GLOBAL_OPTIONS),
|
|
315
|
+
...Object.entries(DEFAULT_COMMAND_OPTIONS)
|
|
316
|
+
]);
|
|
317
|
+
|
|
318
|
+
export {
|
|
319
|
+
TOP_LEVEL_USAGE,
|
|
320
|
+
DEFAULT_COMMAND,
|
|
321
|
+
DEFAULT_COMMAND_DESC,
|
|
322
|
+
QUERY_POSITIONAL,
|
|
323
|
+
TOP_LEVEL_GLOBAL_OPTIONS,
|
|
324
|
+
TOP_LEVEL_DEPRECATED_OPTIONS,
|
|
325
|
+
DEFAULT_COMMAND_OPTIONS,
|
|
326
|
+
TOP_LEVEL_HELP_OPTIONS
|
|
327
|
+
};
|
|
328
|
+
/**
|
|
329
|
+
* @license
|
|
330
|
+
* Copyright 2026 Qwen Team
|
|
331
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
332
|
+
*/
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
hasControlCharacter
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-K5KXUXWC.js";
|
|
6
6
|
import {
|
|
7
7
|
BaseDeclarativeTool,
|
|
8
8
|
BaseToolInvocation,
|
|
@@ -36,6 +36,11 @@ var FINDING_SOURCES = [
|
|
|
36
36
|
"probe",
|
|
37
37
|
"lint"
|
|
38
38
|
];
|
|
39
|
+
var FINDING_DIRECTIONS = [
|
|
40
|
+
"certifies-falsely",
|
|
41
|
+
"fails-closed"
|
|
42
|
+
];
|
|
43
|
+
var FINDING_BASELINES = ["regression", "new-surface"];
|
|
39
44
|
var REPORT_FINDINGS_LEVELS = ["low", "medium", "high"];
|
|
40
45
|
var REPORT_FINDINGS_MAX = 50;
|
|
41
46
|
var SHORT_SUMMARY_MAX = 60;
|
|
@@ -53,7 +58,7 @@ function compressFindingSummary(summary, max = SHORT_SUMMARY_MAX) {
|
|
|
53
58
|
return `${cut.trimEnd()}\u2026`;
|
|
54
59
|
}
|
|
55
60
|
__name(compressFindingSummary, "compressFindingSummary");
|
|
56
|
-
var DESCRIPTION = `Reports code-review findings as typed data so clients (the terminal UI, the Web Shell, ACP hosts) can render a per-finding list. Use it only when an active review flow (such as the bundled review skill) instructs you to report findings with it; otherwise present findings as ordinary text. Call it once per report with the complete list, most severe first \u2014 a later call replaces the whole list, it never appends. When the review wrote a findings artifact, copy each field verbatim from it (id, severity, confidence, source, file/line, summary, shortSummary, failureScenario, category); do not re-derive or re-word values \u2014 the artifact is the oracle.
|
|
61
|
+
var DESCRIPTION = `Reports code-review findings as typed data so clients (the terminal UI, the Web Shell, ACP hosts) can render a per-finding list. Use it only when an active review flow (such as the bundled review skill) instructs you to report findings with it; otherwise present findings as ordinary text. Call it once per report with the complete list, most severe first \u2014 a later call replaces the whole list, it never appends. When the review wrote a findings artifact, copy each field verbatim from it (id, severity, confidence, source, file/line, summary, shortSummary, failureScenario, category, direction, baseline); do not re-derive or re-word values \u2014 the artifact is the oracle.
|
|
57
62
|
|
|
58
63
|
After fixes are applied \u2014 at the review's own fix step, or ANY later time in the session a reported finding's disposition changes \u2014 call it again with the same findings, each carrying "outcome" ("fixed", "skipped", or "no_change_needed"; "outcomeNote" for the reason). Client per-finding status trusts only a call that carries outcomes, and a call where some findings carry an outcome and others do not is refused: account for every finding.
|
|
59
64
|
|
|
@@ -109,6 +114,16 @@ var FINDING_ITEM_SCHEMA = {
|
|
|
109
114
|
maxLength: 64,
|
|
110
115
|
description: 'Free-form kebab-case tag ("correctness", "security", "test-coverage", \u2026).'
|
|
111
116
|
},
|
|
117
|
+
direction: {
|
|
118
|
+
type: "string",
|
|
119
|
+
enum: [...FINDING_DIRECTIONS],
|
|
120
|
+
description: 'Which way a Critical fails, from the artifact: "certifies-falsely" (a wrong result presented as correct) or "fails-closed" (refuses, wedges or degrades without a wrong result). Omit when the artifact carries none.'
|
|
121
|
+
},
|
|
122
|
+
baseline: {
|
|
123
|
+
type: "string",
|
|
124
|
+
enum: [...FINDING_BASELINES],
|
|
125
|
+
description: 'What a Critical is measured against, from the artifact: "regression" (the merge base handled the trigger correctly) or "new-surface" (the failing path does not exist at the merge base). Omit when the artifact carries none.'
|
|
126
|
+
},
|
|
112
127
|
outcome: {
|
|
113
128
|
type: "string",
|
|
114
129
|
enum: [...FINDING_OUTCOMES],
|
|
@@ -172,6 +187,8 @@ function normalizeFinding(raw) {
|
|
|
172
187
|
shortSummary: compressFindingSummary(shortSource),
|
|
173
188
|
failureScenario: raw.failureScenario.trim(),
|
|
174
189
|
...raw.category?.trim() ? { category: raw.category.trim() } : {},
|
|
190
|
+
...raw.direction ? { direction: raw.direction } : {},
|
|
191
|
+
...raw.baseline ? { baseline: raw.baseline } : {},
|
|
175
192
|
...raw.outcome ? { outcome: raw.outcome } : {},
|
|
176
193
|
...raw.outcomeNote?.trim() ? { outcomeNote: raw.outcomeNote.trim() } : {}
|
|
177
194
|
};
|
|
@@ -332,6 +349,8 @@ export {
|
|
|
332
349
|
FINDING_CONFIDENCES,
|
|
333
350
|
FINDING_OUTCOMES,
|
|
334
351
|
FINDING_SOURCES,
|
|
352
|
+
FINDING_DIRECTIONS,
|
|
353
|
+
FINDING_BASELINES,
|
|
335
354
|
REPORT_FINDINGS_LEVELS,
|
|
336
355
|
REPORT_FINDINGS_MAX,
|
|
337
356
|
SHORT_SUMMARY_MAX,
|
|
@@ -41,7 +41,9 @@ var MODALITY_PATTERNS = [
|
|
|
41
41
|
[/^qwen3\.5-plus/, { image: true, video: true }],
|
|
42
42
|
[/^qwen3\.6-plus/, { image: true, video: true }],
|
|
43
43
|
[/^qwen3\.7-plus/, { image: true, video: true }],
|
|
44
|
-
// Qwen
|
|
44
|
+
// Qwen 3.8 series: flash/plus support image + video; max supports image only
|
|
45
|
+
[/^qwen3\.8-flash/, { image: true, video: true }],
|
|
46
|
+
[/^qwen3\.8-plus/, { image: true, video: true }],
|
|
45
47
|
[/^qwen3\.8-max/, { image: true }],
|
|
46
48
|
[/^coder-model$/, { image: true, video: true }],
|
|
47
49
|
// Qwen VL (vision-language) models: image + video
|
|
@@ -53,13 +55,18 @@ var MODALITY_PATTERNS = [
|
|
|
53
55
|
[/^qwen3\.6-35b/, { image: true, video: true }],
|
|
54
56
|
[/^qwen/, {}],
|
|
55
57
|
// -------------------
|
|
56
|
-
// DeepSeek — text-only
|
|
58
|
+
// DeepSeek — text-only, except explicit vision variants
|
|
59
|
+
// (QwenLM/qwen-code#10270)
|
|
57
60
|
// -------------------
|
|
61
|
+
[/^deepseek-.*vision/, { image: true }],
|
|
58
62
|
[/^deepseek/, {}],
|
|
59
63
|
// -------------------
|
|
60
|
-
// Zhipu GLM
|
|
64
|
+
// Zhipu GLM — v-suffix ids are vision models; others are text-only
|
|
65
|
+
// (QwenLM/qwen-code#10270)
|
|
61
66
|
// -------------------
|
|
62
|
-
[/^glm-
|
|
67
|
+
[/^glm-[0-9.]+v/, { image: true }],
|
|
68
|
+
// glm-5.3-flash natively integrates vision input (no v suffix)
|
|
69
|
+
[/^glm-5\.3-flash/, { image: true }],
|
|
63
70
|
[/^glm-5(?:-|$)/, {}],
|
|
64
71
|
[/^glm-/, {}],
|
|
65
72
|
// -------------------
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
// Force strict mode and setup for ESM
|
|
2
2
|
"use strict";
|
|
3
|
-
import {
|
|
4
|
-
resolveChannelCwd
|
|
5
|
-
} from "./chunk-7JPW6IYH.js";
|
|
6
3
|
import {
|
|
7
4
|
getPlugin,
|
|
8
5
|
supportedTypes
|
|
9
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-3XKLXHGK.js";
|
|
7
|
+
import {
|
|
8
|
+
resolveChannelCwd
|
|
9
|
+
} from "./chunk-HVC3PNVC.js";
|
|
10
10
|
import {
|
|
11
11
|
APPROVAL_MODES
|
|
12
12
|
} from "./chunk-V5J4J5TP.js";
|
|
@@ -57,6 +57,26 @@ function resolveOptionalStringField(channelName, rawConfig, field, envResolution
|
|
|
57
57
|
}
|
|
58
58
|
__name(resolveOptionalStringField, "resolveOptionalStringField");
|
|
59
59
|
var KNOWN_CREDENTIAL_FIELDS = /* @__PURE__ */ new Set(["token", "clientId", "clientSecret"]);
|
|
60
|
+
function multiSessionCompatibilityError(name, config) {
|
|
61
|
+
if (!config.multiSession) return void 0;
|
|
62
|
+
if (config.sessionScope !== "user") {
|
|
63
|
+
return `Channel "${name}" requires sessionScope "user" when multiSession is enabled.`;
|
|
64
|
+
}
|
|
65
|
+
if (typeof config.groupHistoryLimit === "number" && config.groupHistoryLimit !== 0) {
|
|
66
|
+
return `Channel "${name}" cannot use groupHistoryLimit when multiSession is enabled.`;
|
|
67
|
+
}
|
|
68
|
+
for (const [groupId, group] of Object.entries(config.groups ?? {})) {
|
|
69
|
+
const groupHistoryLimit = group !== null && typeof group === "object" && !Array.isArray(group) ? group["groupHistoryLimit"] : void 0;
|
|
70
|
+
if (typeof groupHistoryLimit === "number" && groupHistoryLimit !== 0) {
|
|
71
|
+
return `Channel "${name}" group "${groupId}" cannot use groupHistoryLimit when multiSession is enabled.`;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
if (config.webhooks !== void 0 && config.webhooks !== null) {
|
|
75
|
+
return `Channel "${name}" cannot use webhooks when multiSession is enabled.`;
|
|
76
|
+
}
|
|
77
|
+
return void 0;
|
|
78
|
+
}
|
|
79
|
+
__name(multiSessionCompatibilityError, "multiSessionCompatibilityError");
|
|
60
80
|
function resolveConfigEnvVar(value, mode) {
|
|
61
81
|
if (mode === false) return value;
|
|
62
82
|
if (value.startsWith("$$")) return value.substring(1);
|
|
@@ -359,6 +379,21 @@ async function parseChannelConfig(name, rawConfig, defaultCwd = process.cwd(), o
|
|
|
359
379
|
envResolution
|
|
360
380
|
);
|
|
361
381
|
const configuredSessionScope = rawConfig["sessionScope"] || plugin.defaultSessionScope || "user";
|
|
382
|
+
const multiSession = optionalBooleanField(
|
|
383
|
+
name,
|
|
384
|
+
"multiSession",
|
|
385
|
+
rawConfig["multiSession"]
|
|
386
|
+
);
|
|
387
|
+
const groups = rawConfig["groups"] || {};
|
|
388
|
+
const webhooks = parseWebhookConfig(name, rawConfig);
|
|
389
|
+
const multiSessionError = multiSessionCompatibilityError(name, {
|
|
390
|
+
multiSession,
|
|
391
|
+
sessionScope: configuredSessionScope,
|
|
392
|
+
groupHistoryLimit: rawConfig["groupHistoryLimit"],
|
|
393
|
+
groups,
|
|
394
|
+
webhooks
|
|
395
|
+
});
|
|
396
|
+
if (multiSessionError) throw new Error(multiSessionError);
|
|
362
397
|
return {
|
|
363
398
|
...resolvedRawConfig,
|
|
364
399
|
type: channelType,
|
|
@@ -368,6 +403,7 @@ async function parseChannelConfig(name, rawConfig, defaultCwd = process.cwd(), o
|
|
|
368
403
|
senderPolicy: rawConfig["senderPolicy"] || "allowlist",
|
|
369
404
|
allowedUsers: rawConfig["allowedUsers"] || [],
|
|
370
405
|
sessionScope: configuredSessionScope,
|
|
406
|
+
multiSession,
|
|
371
407
|
cwd: resolveChannelCwd(rawConfig["cwd"], defaultCwd),
|
|
372
408
|
approvalMode: parseApprovalModeConfig(name, rawConfig),
|
|
373
409
|
instructions: rawConfig["instructions"],
|
|
@@ -380,14 +416,15 @@ async function parseChannelConfig(name, rawConfig, defaultCwd = process.cwd(), o
|
|
|
380
416
|
model: rawConfig["model"],
|
|
381
417
|
groupPolicy: rawConfig["groupPolicy"] || "disabled",
|
|
382
418
|
dmPolicy: rawConfig["dmPolicy"] || "open",
|
|
383
|
-
groups
|
|
384
|
-
webhooks
|
|
419
|
+
groups,
|
|
420
|
+
webhooks
|
|
385
421
|
};
|
|
386
422
|
}
|
|
387
423
|
__name(parseChannelConfig, "parseChannelConfig");
|
|
388
424
|
|
|
389
425
|
export {
|
|
390
426
|
resolveEnvVars,
|
|
427
|
+
multiSessionCompatibilityError,
|
|
391
428
|
parseChannelWebhookConfig,
|
|
392
429
|
parseChannelWebhookConfigLenient,
|
|
393
430
|
parseChannelConfig
|
|
@@ -2,16 +2,17 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
t
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-CLWO3B77.js";
|
|
6
6
|
import {
|
|
7
7
|
computeThresholds,
|
|
8
|
+
estimateContextTextTokens,
|
|
8
9
|
formatContextFileDisplayPath,
|
|
9
10
|
getMainSessionBaseSystemPrompt
|
|
10
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-ECE3UYVO.js";
|
|
11
12
|
import {
|
|
12
13
|
DiscoveredMCPTool,
|
|
13
14
|
uiTelemetryService
|
|
14
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-QYMAKPY5.js";
|
|
15
16
|
import {
|
|
16
17
|
DEFAULT_TOKEN_LIMIT
|
|
17
18
|
} from "./chunk-FPGTNKCP.js";
|
|
@@ -38,21 +39,6 @@ function currentTier(tokens, thresholds) {
|
|
|
38
39
|
return "safe";
|
|
39
40
|
}
|
|
40
41
|
__name(currentTier, "currentTier");
|
|
41
|
-
function estimateTokens(text) {
|
|
42
|
-
if (!text || text.length === 0) return 0;
|
|
43
|
-
let asciiChars = 0;
|
|
44
|
-
let nonAsciiChars = 0;
|
|
45
|
-
for (let i = 0; i < text.length; i++) {
|
|
46
|
-
const charCode = text.charCodeAt(i);
|
|
47
|
-
if (charCode < 128) {
|
|
48
|
-
asciiChars++;
|
|
49
|
-
} else {
|
|
50
|
-
nonAsciiChars++;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
return Math.ceil(asciiChars / 4 + nonAsciiChars * 1.5);
|
|
54
|
-
}
|
|
55
|
-
__name(estimateTokens, "estimateTokens");
|
|
56
42
|
function parseMemoryFiles(memoryContent, workingDir) {
|
|
57
43
|
if (!memoryContent || memoryContent.trim().length === 0) return [];
|
|
58
44
|
const results = [];
|
|
@@ -70,13 +56,13 @@ function parseMemoryFiles(memoryContent, workingDir) {
|
|
|
70
56
|
path.resolve(workingDir, filePath),
|
|
71
57
|
workingDir
|
|
72
58
|
),
|
|
73
|
-
tokens:
|
|
59
|
+
tokens: estimateContextTextTokens(content)
|
|
74
60
|
});
|
|
75
61
|
}
|
|
76
62
|
if (results.length === 0 && memoryContent.trim().length > 0) {
|
|
77
63
|
results.push({
|
|
78
64
|
path: t("memory"),
|
|
79
|
-
tokens:
|
|
65
|
+
tokens: estimateContextTextTokens(memoryContent)
|
|
80
66
|
});
|
|
81
67
|
}
|
|
82
68
|
return results;
|
|
@@ -86,17 +72,17 @@ async function collectContextData(config, showDetails) {
|
|
|
86
72
|
const modelName = config.getModel() || "unknown";
|
|
87
73
|
const contentGeneratorConfig = config.getContentGeneratorConfig();
|
|
88
74
|
const contextWindowSize = contentGeneratorConfig.contextWindowSize ?? DEFAULT_TOKEN_LIMIT;
|
|
89
|
-
const
|
|
90
|
-
const activeChat =
|
|
75
|
+
const llmClient = config.getLlmClient?.();
|
|
76
|
+
const activeChat = llmClient?.isInitialized?.() ? llmClient.getChat() : void 0;
|
|
91
77
|
const apiTotalTokens = activeChat ? activeChat.getLastPromptTokenCount() : uiTelemetryService.getLastPromptTokenCount();
|
|
92
78
|
const apiCachedTokens = uiTelemetryService.getLastCachedContentTokenCount();
|
|
93
79
|
const systemPromptText = getMainSessionBaseSystemPrompt(config);
|
|
94
|
-
const systemPromptTokens =
|
|
80
|
+
const systemPromptTokens = estimateContextTextTokens(systemPromptText);
|
|
95
81
|
const toolRegistry = config.getToolRegistry();
|
|
96
82
|
const allTools = toolRegistry ? toolRegistry.getAllTools() : [];
|
|
97
83
|
const toolDeclarations = toolRegistry ? toolRegistry.getFunctionDeclarations() : [];
|
|
98
84
|
const toolsJsonStr = JSON.stringify(toolDeclarations);
|
|
99
|
-
const allToolsTokens =
|
|
85
|
+
const allToolsTokens = estimateContextTextTokens(toolsJsonStr);
|
|
100
86
|
const builtinTools = [];
|
|
101
87
|
const mcpTools = [];
|
|
102
88
|
for (const tool of allTools) {
|
|
@@ -104,7 +90,7 @@ async function collectContextData(config, showDetails) {
|
|
|
104
90
|
continue;
|
|
105
91
|
}
|
|
106
92
|
const toolJsonStr = JSON.stringify(tool.schema);
|
|
107
|
-
const tokens =
|
|
93
|
+
const tokens = estimateContextTextTokens(toolJsonStr);
|
|
108
94
|
if (tool instanceof DiscoveredMCPTool) {
|
|
109
95
|
mcpTools.push({
|
|
110
96
|
name: `${tool.serverName}__${tool.serverToolName || tool.name}`,
|
|
@@ -123,19 +109,19 @@ async function collectContextData(config, showDetails) {
|
|
|
123
109
|
if (autoMemoryPrompt) {
|
|
124
110
|
memoryFiles.push({
|
|
125
111
|
path: t("auto memory"),
|
|
126
|
-
tokens:
|
|
112
|
+
tokens: estimateContextTextTokens(autoMemoryPrompt)
|
|
127
113
|
});
|
|
128
114
|
}
|
|
129
115
|
const memoryFilesTokens = memoryFiles.reduce((sum, f) => sum + f.tokens, 0);
|
|
130
116
|
const skillTool = allTools.find((tool) => tool.name === ToolNames.SKILL);
|
|
131
|
-
const skillToolDefinitionTokens = skillTool ?
|
|
117
|
+
const skillToolDefinitionTokens = skillTool ? estimateContextTextTokens(JSON.stringify(skillTool.schema)) : 0;
|
|
132
118
|
const loadedSkillNames = skillTool && "getLoadedSkillNames" in skillTool ? skillTool.getLoadedSkillNames() : /* @__PURE__ */ new Set();
|
|
133
119
|
const skillManager = config.getSkillManager();
|
|
134
120
|
const skillConfigs = skillManager ? await skillManager.listSkills() : [];
|
|
135
121
|
const disabledSkillNames = config.getDisabledSkillNames();
|
|
136
122
|
let loadedBodiesTokens = 0;
|
|
137
123
|
const skills = skillConfigs.map((skill) => {
|
|
138
|
-
const listingTokens =
|
|
124
|
+
const listingTokens = estimateContextTextTokens(
|
|
139
125
|
`<skill>
|
|
140
126
|
<name>
|
|
141
127
|
${skill.name}
|
|
@@ -152,7 +138,9 @@ ${skill.level}
|
|
|
152
138
|
let bodyTokens;
|
|
153
139
|
if (isLoaded && skill.body) {
|
|
154
140
|
const baseDir = skill.filePath ? skill.filePath.replace(/\/[^/]+$/, "") : "";
|
|
155
|
-
bodyTokens =
|
|
141
|
+
bodyTokens = estimateContextTextTokens(
|
|
142
|
+
buildSkillLlmContent(baseDir, skill.body)
|
|
143
|
+
);
|
|
156
144
|
loadedBodiesTokens += bodyTokens;
|
|
157
145
|
}
|
|
158
146
|
return {
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import {
|
|
4
4
|
getUserSettingsPath,
|
|
5
5
|
v1ToV2Migration
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-5SBVOOA2.js";
|
|
7
7
|
import {
|
|
8
8
|
getSystemDefaultsPath,
|
|
9
9
|
getSystemSettingsPath
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
TrustLevel,
|
|
14
14
|
getExplicitTrustLevel,
|
|
15
15
|
getTrustedFoldersPath
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-H4LCV44K.js";
|
|
17
17
|
import {
|
|
18
18
|
require_strip_json_comments
|
|
19
19
|
} from "./chunk-NPQ5ZKRP.js";
|
|
@@ -22,7 +22,7 @@ import {
|
|
|
22
22
|
} from "./chunk-MR3PXB6E.js";
|
|
23
23
|
import {
|
|
24
24
|
ideContextStore
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-ECE3UYVO.js";
|
|
26
26
|
import {
|
|
27
27
|
init_esbuild_shims
|
|
28
28
|
} from "./chunk-5O2XNYP6.js";
|