@qwen-code/qwen-code 0.19.9 → 0.19.10
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/qc-helper/docs/configuration/settings.md +7 -0
- package/bundled/qc-helper/docs/features/channels/dingtalk.md +3 -0
- package/bundled/qc-helper/docs/features/channels/overview.md +11 -3
- package/bundled/qc-helper/docs/features/code-review.md +88 -44
- package/bundled/qc-helper/docs/features/commands.md +6 -6
- package/bundled/qc-helper/docs/features/hooks.md +29 -0
- package/bundled/qc-helper/docs/features/sub-agents.md +21 -0
- package/bundled/qc-helper/docs/qwen-serve.md +46 -20
- package/bundled/qc-helper/docs/reference/keyboard-shortcuts.md +1 -1
- package/bundled/review/DESIGN.md +219 -33
- package/bundled/review/SKILL.md +449 -153
- package/chunks/{MaxSizedBox-6HYJ3ZPJ.js → MaxSizedBox-67ODZ4SZ.js} +31 -31
- package/chunks/{StandaloneSessionPicker-WS4GXYOG.js → StandaloneSessionPicker-SIPBQT5Z.js} +51 -49
- package/chunks/{acpAgent-5FWSOZL5.js → acpAgent-VPZJXLFX.js} +528 -478
- package/chunks/{agent-HOLHB3RT.js → agent-Z7NWL6XL.js} +26 -26
- package/chunks/{agent-headless-SXL6H56A.js → agent-headless-73HZ6ROQ.js} +26 -26
- package/chunks/{anthropicContentGenerator-L73TO3DB.js → anthropicContentGenerator-56U3YCP2.js} +5 -5
- package/chunks/{artifact-tool-U7IRTLIV.js → artifact-tool-BWZZJ42H.js} +2 -2
- package/chunks/{askUserQuestion-2DLUUZZG.js → askUserQuestion-WU3S5A5T.js} +2 -2
- package/chunks/{bridge-BCJQ7BBB.js → bridge-XFKW6S7Q.js} +32 -32
- package/chunks/{ca-UJ6HC4H2.js → ca-C2JTT2N5.js} +4 -1
- package/chunks/channel-worker-group-K7QKH6IG.js +13 -0
- package/chunks/channel-worker-manager-5RWKSGEU.js +418 -0
- package/chunks/channel-worker-supervisor-PCDAZN4D.js +20 -0
- package/chunks/{chunk-LXNEJD34.js → chunk-2FO5GFKZ.js} +1 -1
- package/chunks/{chunk-B5ORX3FG.js → chunk-2UUAIFQO.js} +1 -1
- package/chunks/{chunk-L36P3NBD.js → chunk-2W3OOD4W.js} +2 -0
- package/chunks/{chunk-7R3CZA3Q.js → chunk-2Z5UX4KI.js} +1 -1
- package/chunks/chunk-3MX7D6QN.js +516 -0
- package/chunks/{chunk-E2IY465S.js → chunk-3XJFUTNM.js} +10 -10
- package/chunks/{chunk-JZETEN3Z.js → chunk-422XAKCK.js} +3 -3
- package/chunks/{chunk-N3EMS75V.js → chunk-4FMG7EDJ.js} +1268 -1233
- package/chunks/{chunk-HKMAENAO.js → chunk-4YWLED2A.js} +8 -6
- package/chunks/{chunk-SCGXUJBT.js → chunk-5EBKKSBX.js} +3 -3
- package/chunks/chunk-5HBA2Z7V.js +28 -0
- package/chunks/{chunk-XYQSMABS.js → chunk-5LROA5W4.js} +4 -4
- package/chunks/{chunk-ZJE7NSL3.js → chunk-5M6IDOMF.js} +34 -97
- package/chunks/{chunk-VA4KQY6V.js → chunk-65N2J6V2.js} +3 -3
- package/chunks/{chunk-4C5BQ2D2.js → chunk-6GETGQWP.js} +71 -12
- package/chunks/{chunk-PVZM22CK.js → chunk-6GKMJPOC.js} +5 -5
- package/chunks/{chunk-W2UIXQDL.js → chunk-6OATMEYN.js} +1 -1
- package/chunks/{chunk-GZRTYZ2R.js → chunk-6W6DI34P.js} +154 -1
- package/chunks/{chunk-EMDMPBJ4.js → chunk-7L4XBYVW.js} +3 -3
- package/chunks/{chunk-EAXLGSFP.js → chunk-7MJAZMXK.js} +8 -8
- package/chunks/{chunk-K434OPES.js → chunk-7NAWTFVY.js} +3 -3
- package/chunks/{chunk-J4TSQ5EQ.js → chunk-7NFB7LBQ.js} +8 -1
- package/chunks/{chunk-5SFOMFG4.js → chunk-7R4DPSRA.js} +36 -2
- package/chunks/{chunk-P67PFTUT.js → chunk-AAR5SGMD.js} +4 -4
- package/chunks/{chunk-RDJSGHZE.js → chunk-ALGGS7UH.js} +1 -38
- package/chunks/{chunk-GWHYEOV2.js → chunk-ARKANCNX.js} +2 -1
- package/chunks/{chunk-D2GFWEXB.js → chunk-B5I2IIWY.js} +6 -6
- package/chunks/{chunk-524RQP4Q.js → chunk-B7NUUEXC.js} +10 -4
- package/chunks/{chunk-CUMMSHH6.js → chunk-BBNVFRGD.js} +1 -1
- package/chunks/{chunk-5HOMWMCL.js → chunk-CEW4HDPK.js} +4166 -1338
- package/chunks/chunk-CJFNEBYB.js +91 -0
- package/chunks/{chunk-VWPVHAMO.js → chunk-CUUXANEQ.js} +5 -1
- package/chunks/{chunk-GWLSNBG4.js → chunk-DK33QJ3V.js} +30 -26
- package/chunks/{chunk-HPDUL5MF.js → chunk-DPFBNG72.js} +1 -1
- package/chunks/{chunk-KKNMOEZH.js → chunk-E2UVIFI2.js} +185 -398
- package/chunks/{chunk-MC23XKFE.js → chunk-E67NFMF4.js} +3 -3
- package/chunks/{chunk-OQ4DRIOA.js → chunk-EQY6POVO.js} +2 -2
- package/chunks/{chunk-XUOOWUZS.js → chunk-F7NXQH4Y.js} +1 -1
- package/chunks/{chunk-YLV3XXFB.js → chunk-FBU7WRZI.js} +17 -1
- package/chunks/{chunk-LK7KUE55.js → chunk-FSA7ERJ2.js} +1 -1
- package/chunks/{chunk-PDZ7MBDG.js → chunk-FXMC7SL2.js} +27 -6
- package/chunks/{chunk-SJHDYNHF.js → chunk-GDQQRV43.js} +3 -3
- package/chunks/{chunk-34MW4KTI.js → chunk-GGJII3FM.js} +2 -2
- package/chunks/{chunk-3BTRNWWD.js → chunk-GOXKNSDZ.js} +1 -64
- package/chunks/chunk-GYTKQYDB.js +23 -0
- package/chunks/{chunk-HVY356M2.js → chunk-H3FQOPPS.js} +3 -3
- package/chunks/{chunk-YVEDCAUE.js → chunk-HGT6JR3U.js} +19 -0
- package/chunks/{chunk-WQUQVGTF.js → chunk-HHEFI4RP.js} +183 -96
- package/chunks/chunk-IDS7MSUP.js +74 -0
- package/chunks/{chunk-6PESIEKJ.js → chunk-JSJFKYWT.js} +68 -6
- package/chunks/{chunk-CNEIYWSA.js → chunk-K4PZ5F5T.js} +5 -5
- package/chunks/{chunk-NVYTCB5Z.js → chunk-K7CRWKOE.js} +14534 -13980
- package/chunks/{chunk-ORBGV7NJ.js → chunk-KKRTYONM.js} +6 -4
- package/chunks/{chunk-IAVB3HM3.js → chunk-KSO42X3Z.js} +13 -0
- package/chunks/chunk-L37RC7MQ.js +493 -0
- package/chunks/{chunk-4QLQE5WJ.js → chunk-L5U3ELZX.js} +1 -1
- package/chunks/{chunk-3G7CIHVV.js → chunk-L62SEJWY.js} +4 -4
- package/chunks/{chunk-EGYZ275M.js → chunk-LNUXFLLJ.js} +4 -4
- package/chunks/{chunk-4ZVWQHEQ.js → chunk-LQIDP6K5.js} +1 -1
- package/chunks/{chunk-VTU57BWZ.js → chunk-LQU7EVFA.js} +1 -1
- package/chunks/{chunk-B4G2WOFA.js → chunk-LTNI523B.js} +2 -2
- package/chunks/{chunk-DC5Z3DU6.js → chunk-LXLTBIDP.js} +43 -6
- package/chunks/{chunk-KHUQZZJ6.js → chunk-MO7O5722.js} +370 -36
- package/chunks/chunk-MR3PXB6E.js +48 -0
- package/chunks/{chunk-5VXNZWGF.js → chunk-N6FXRR6P.js} +1 -1
- package/chunks/{chunk-WL4L7EZH.js → chunk-OA4JVLSA.js} +27 -1
- package/chunks/{chunk-TO6QE22P.js → chunk-OATTJGPJ.js} +26 -22
- package/chunks/{chunk-X6TJ3YZV.js → chunk-OFEVHGVU.js} +159 -57
- package/chunks/{chunk-X4NKFGFJ.js → chunk-OJAMDVF5.js} +0 -15
- package/chunks/{chunk-BZIFY5TF.js → chunk-OKAIGAYW.js} +3 -3
- package/chunks/{chunk-3VAGG5T5.js → chunk-P6LART6G.js} +116 -15
- package/chunks/{chunk-3SJSQXNS.js → chunk-PEJWA3QQ.js} +12 -8
- package/chunks/{chunk-BAPGSC7U.js → chunk-Q5GLXH5Q.js} +23 -9
- package/chunks/{chunk-MXL5UP4X.js → chunk-Q6TUALBE.js} +1 -1
- package/chunks/{chunk-QYMQSECS.js → chunk-QAW7PIHT.js} +2 -2
- package/chunks/{chunk-LUODI7WD.js → chunk-RCEEXIOO.js} +6 -4
- package/chunks/{chunk-YAUFFXDS.js → chunk-RDRVMDWV.js} +12 -11
- package/chunks/{chunk-CEA3E3JB.js → chunk-SPJQO2CE.js} +2 -2
- package/chunks/{chunk-U2NNEY4R.js → chunk-SPUYQB4T.js} +1 -1
- package/chunks/{chunk-34Z3U5RQ.js → chunk-SXU3KKNI.js} +514 -114
- package/chunks/{chunk-ECNYL4AA.js → chunk-TISZXPAX.js} +1 -1
- package/chunks/{chunk-JSG7ZSBC.js → chunk-TQBODCFD.js} +1 -1
- package/chunks/{chunk-AKIVHSJR.js → chunk-TTUO4DNG.js} +111 -93
- package/chunks/chunk-TV6K2FB4.js +224 -0
- package/chunks/{chunk-4GORAUCN.js → chunk-TXY2C3D2.js} +1 -1
- package/chunks/{chunk-5XUCZNSY.js → chunk-TYLOFD2U.js} +1 -1
- package/chunks/{chunk-CLFKOZEK.js → chunk-UFOKA4PR.js} +1 -1
- package/chunks/{channel-worker-supervisor-WSOAAYUO.js → chunk-URU5UEK6.js} +67 -35
- package/chunks/{chunk-D5SKC4YG.js → chunk-V7EQTZYR.js} +41 -13
- package/chunks/{chunk-L6P4KPHR.js → chunk-VBRRNQB7.js} +59 -39
- package/chunks/{chunk-BMGVRZN4.js → chunk-W34A5MJH.js} +1 -1
- package/chunks/{chunk-PODM4SZ4.js → chunk-WDW64OW3.js} +5 -5
- package/chunks/{chunk-W3JHSWRP.js → chunk-WDWJ4OQJ.js} +4 -4
- package/chunks/{chunk-Q4YQW46J.js → chunk-WIASPMLX.js} +31 -17
- package/chunks/{chunk-ZLXQN2QS.js → chunk-WIEO4CWB.js} +1 -1
- package/chunks/{chunk-A3XKDTSH.js → chunk-WLXYAKV7.js} +4 -4
- package/chunks/{chunk-Q6I5QHMH.js → chunk-WTSXKLG5.js} +1 -1
- package/chunks/{chunk-J3JA76CF.js → chunk-WX6SD4IQ.js} +1 -1
- package/chunks/{chunk-77XJ3SWN.js → chunk-X362TMXZ.js} +5 -5
- package/chunks/{chunk-CCDMCZPP.js → chunk-XLIRF7IK.js} +1 -1
- package/chunks/{chunk-AURZZYMD.js → chunk-XXJKGHZV.js} +4 -4
- package/chunks/{chunk-TDEXZKMT.js → chunk-Y66VOBRP.js} +2 -2
- package/chunks/{chunk-CC2ITGCF.js → chunk-YHN5SUIJ.js} +49 -6
- package/chunks/{chunk-3AHXV67U.js → chunk-YU56QGXX.js} +1 -1
- package/chunks/{chunk-5U27BZ72.js → chunk-YX4LLZ3D.js} +187 -75
- package/chunks/{chunk-ATAKVRIF.js → chunk-YYPXHMWO.js} +7 -7
- package/chunks/{chunk-XLA62MYB.js → chunk-ZKMGAFYV.js} +2 -2
- package/chunks/{chunk-UOZWKTQG.js → chunk-ZPAHLFZU.js} +2 -2
- package/chunks/{chunk-7PU4FYLG.js → chunk-ZQTZXVHP.js} +4 -4
- package/chunks/chunk-ZRKBI3DP.js +34 -0
- package/chunks/{computer-use-HM37RX6A.js → computer-use-IYTX45WA.js} +26 -26
- package/chunks/{config-utils-NV2SVGPB.js → config-utils-CFT33LTP.js} +3 -2
- package/chunks/{contextCommand-OF5SFGH2.js → contextCommand-272V77WU.js} +28 -28
- package/chunks/{create-sub-session-KPRT7ECJ.js → create-sub-session-CBJMQLYP.js} +26 -26
- package/chunks/{create-sub-session-INX7TXJI.js → create-sub-session-WNX2OQVX.js} +2 -2
- package/chunks/{cron-create-AMBKGZX6.js → cron-create-36TIFKRT.js} +4 -4
- package/chunks/{cron-delete-LRU4OJYG.js → cron-delete-OQD3WULU.js} +4 -4
- package/chunks/{cron-list-WVP2JXER.js → cron-list-4533T2FH.js} +4 -4
- package/chunks/{daemon-ARHTSTXP.js → daemon-RNGFPMAB.js} +575 -58
- package/chunks/{daemon-status-provider-B2UTZUJ2.js → daemon-status-provider-L4STG5VO.js} +36 -36
- package/chunks/{de-EBJN3OVN.js → de-2VCDRDGU.js} +4 -1
- package/chunks/{dist-VHV4EVHG.js → dist-3V3ZV6ML.js} +1 -1
- package/chunks/{dist-XKU3ABM5.js → dist-ERCPDVA6.js} +1 -1
- package/chunks/{dist-PNVLTKTL.js → dist-HNN7DR2L.js} +158 -4
- package/chunks/{dist-WKPOYU7O.js → dist-JZE7F6YR.js} +1 -1
- package/chunks/{dist-QYCAEZIT.js → dist-MOEC47TR.js} +5 -1
- package/chunks/{dist-R7LN5AZE.js → dist-PHEPJLXD.js} +2 -2
- package/chunks/{earlyInputCapture-3VTHRC4C.js → earlyInputCapture-EN4BRREQ.js} +27 -27
- package/chunks/{edit-VNI4NJ73.js → edit-OMAF2QDR.js} +27 -27
- package/chunks/{en-5A6LA7RK.js → en-NJCA3TAA.js} +5 -1
- package/chunks/{enter-worktree-IYYBKPZT.js → enter-worktree-BBZX52HG.js} +26 -26
- package/chunks/{enterPlanMode-GMC5FD5A.js → enterPlanMode-5NNFMBUY.js} +42 -27
- package/chunks/{environment-5HSSRMJ7.js → environment-7TEWMJYN.js} +30 -29
- package/chunks/{errors-HMFCJJ7P.js → errors-I4VKVX3F.js} +28 -28
- package/chunks/{exit-worktree-6BHCMP5G.js → exit-worktree-FUWRJI33.js} +26 -26
- package/chunks/{exitPlanMode-CJW7G74W.js → exitPlanMode-IHCJ5EEI.js} +26 -26
- package/chunks/{fast-path-FRDMDVHG.js → fast-path-ZA57TOH4.js} +3 -3
- package/chunks/{fast-path-settings-5QZE64HR.js → fast-path-settings-DAOVFADC.js} +6 -4
- package/chunks/{fr-YXRABLYZ.js → fr-5F3E7WKD.js} +4 -1
- package/chunks/{gemini-QYSEGHAX.js → gemini-UOAKVXBG.js} +139 -76
- package/chunks/{geminiContentGenerator-J7YNZDYP.js → geminiContentGenerator-G6UCE6MW.js} +4 -4
- package/chunks/{glob-BRCSGFOT.js → glob-4GJQ2UFF.js} +28 -27
- package/chunks/{grep-EE2DUOSY.js → grep-5QSYXF2E.js} +26 -26
- package/chunks/{handleAutoUpdate-5NWTLR67.js → handleAutoUpdate-ULHNWL6R.js} +30 -30
- package/chunks/{i18n-BASPENNQ.js → i18n-CYDUTF6F.js} +27 -27
- package/chunks/initializer-NRFKUGIO.js +73 -0
- package/chunks/{installationInfo-W6V4DT7W.js → installationInfo-WELKRHHE.js} +27 -27
- package/chunks/{ja-7VQOANVG.js → ja-66J6B53L.js} +5 -2
- package/chunks/{keychain-token-storage-VKUBNCP4.js → keychain-token-storage-AU22CQI6.js} +2 -2
- package/chunks/list-JVDXEG2E.js +76 -0
- package/chunks/loadedSettingsAdapter-WAM4VUTG.js +70 -0
- package/chunks/{loop-wakeup-WX7BLWWP.js → loop-wakeup-MVUKDVCP.js} +5 -5
- package/chunks/{ls-ZB2BDP6T.js → ls-RXNIAQDE.js} +4 -4
- package/chunks/{lsp-V5DN4YUJ.js → lsp-HB5LM5IL.js} +2 -2
- package/chunks/mcp-YHOZN3ZM.js +70 -0
- package/chunks/{monitor-X5Z3H4FY.js → monitor-R7XZPJHQ.js} +26 -26
- package/chunks/nonInteractiveCli-NSOB6D74.js +129 -0
- package/chunks/{notebook-edit-TRM2QIJK.js → notebook-edit-6RNKE2L2.js} +27 -27
- package/chunks/{openaiContentGenerator-AAYONPMF.js → openaiContentGenerator-XNS5S64I.js} +12 -12
- package/chunks/{pidfile-D4I4FTVA.js → pidfile-XE4RRR2P.js} +27 -27
- package/chunks/{pt-2C6YCSHL.js → pt-TFZO5Y6T.js} +4 -1
- package/chunks/{qwenContentGenerator-K3HZ2H76.js → qwenContentGenerator-APDPJ3VN.js} +28 -28
- package/chunks/{qwenOAuth2-PJQ27GSO.js → qwenOAuth2-LEYOU7RU.js} +5 -5
- package/chunks/{read-file-7SZSIZOL.js → read-file-XSUWXSR7.js} +8 -8
- package/chunks/{read-mcp-resource-SM5DA4RG.js → read-mcp-resource-6LRTZKXI.js} +2 -2
- package/chunks/{record-artifact-4XKZX3UW.js → record-artifact-PMDTY4OS.js} +2 -2
- package/chunks/{ripGrep-YNPFVCZP.js → ripGrep-APB3CDMU.js} +26 -26
- package/chunks/{ru-6BBHVZZV.js → ru-4L4LFHIT.js} +4 -1
- package/chunks/{run-qwen-serve-DMWV5N6L.js → run-qwen-serve-NWTGPERT.js} +1232 -371
- package/chunks/{runtime-57WWRVHN.js → runtime-EIO3NQKR.js} +42 -37
- package/chunks/{scheduler-YBLGWSIL.js → scheduler-JJDZBDRN.js} +26 -26
- package/chunks/{send-message-F36YD6KQ.js → send-message-SR4WSXP2.js} +3 -3
- package/chunks/{serve-R63NK3CV.js → serve-WTIPB3EI.js} +36 -34
- package/chunks/{server-Z22GCAXP.js → server-NJPHQHLH.js} +5238 -1328
- package/chunks/{session-HKAAI7BN.js → session-O4AO7FTS.js} +298 -98
- package/chunks/{settings-3EYN66GK.js → settings-HQNDK7TG.js} +34 -32
- package/chunks/{shell-6YXINTWJ.js → shell-UIXM6PWG.js} +26 -26
- package/chunks/{skill-OO57P4X6.js → skill-3XMB4ULV.js} +10 -10
- package/chunks/{spawnChannel-JD7G4VU6.js → spawnChannel-3R632QRM.js} +28 -28
- package/chunks/{src-G5UPLZSZ.js → src-USZKPUOC.js} +85 -27
- package/chunks/{standalone-update-OB7F4JPZ.js → standalone-update-L5XW3D7K.js} +28 -28
- package/chunks/{startInteractiveUI-73EGLIIH.js → startInteractiveUI-CPZOL2WB.js} +730 -397
- package/chunks/{syntheticOutput-34H7LGA7.js → syntheticOutput-YKFNUQZD.js} +3 -3
- package/chunks/{task-create-FRGOEIKY.js → task-create-NUFOHU53.js} +8 -7
- package/chunks/{task-list-OW766BXZ.js → task-list-Z2IKQY3S.js} +6 -5
- package/chunks/{task-stop-SIR5SNBN.js → task-stop-KQFIVQTJ.js} +2 -2
- package/chunks/{task-update-YRA532MT.js → task-update-HKADXSTD.js} +8 -7
- package/chunks/{team-create-PECAAPXK.js → team-create-XXPRF3IQ.js} +26 -26
- package/chunks/{team-delete-6OSECUZC.js → team-delete-SDNTGZLG.js} +6 -5
- package/chunks/{team-plan-approval-L6F434RY.js → team-plan-approval-EOTTKHDW.js} +26 -26
- package/chunks/{theme-manager-ZG4RY6GU.js → theme-manager-P6UITO2L.js} +27 -27
- package/chunks/{todoWrite-YDMFEV4G.js → todoWrite-YNXB27GB.js} +4 -4
- package/chunks/{tool-search-THVIWAPB.js → tool-search-DDNGK2LR.js} +9 -9
- package/chunks/{total-session-admission-JOKNRIIA.js → total-session-admission-PL5N7DNY.js} +33 -33
- package/chunks/tree-sitter-YJVE2ZUK.js +2980 -0
- package/chunks/{trustedFolders-EOGT3UVS.js → trustedFolders-C5LMF3UR.js} +29 -28
- package/chunks/types-ML3TRJQ5.js +16 -0
- package/chunks/{updateCheck-2KYEYVSB.js → updateCheck-QTVVISH7.js} +29 -29
- package/chunks/{validateNonInterActiveAuth-EN6ZQSR2.js → validateNonInterActiveAuth-RY4RKBQG.js} +75 -71
- package/chunks/{version-3UEA6ZIR.js → version-U45RYOSD.js} +1 -1
- package/chunks/{web-fetch-PAAEQKBW.js → web-fetch-ZSPR3PRR.js} +5 -5
- package/chunks/{workflow-QCCCMYP3.js → workflow-TCIAQYOA.js} +27 -27
- package/chunks/workspace-providers-status-I3G2HYLY.js +73 -0
- package/chunks/workspace-registration-store-IH5GLZ6Y.js +27 -0
- package/chunks/{workspace-registry-24QFLQYH.js → workspace-registry-QEKBELIX.js} +33 -33
- package/chunks/workspace-service-ORKHGLP3.js +86 -0
- package/chunks/workspace-skills-status-D7QCNDYY.js +72 -0
- package/chunks/{write-file-I3MUDRIE.js → write-file-JGRQR5VM.js} +27 -27
- package/chunks/{zh-RQE7I22T.js → zh-FSAH32JB.js} +6 -2
- package/chunks/{zh-TW-TBPQGHKH.js → zh-TW-D2YIE2LO.js} +6 -2
- package/cli.js +11 -11
- package/locales/ca.js +6 -0
- package/locales/de.js +6 -0
- package/locales/en.js +8 -0
- package/locales/fr.js +6 -0
- package/locales/ja.js +7 -1
- package/locales/pt.js +6 -0
- package/locales/ru.js +6 -0
- package/locales/zh-TW.js +9 -1
- package/locales/zh.js +9 -1
- package/package.json +3 -3
- package/web-shell/assets/{arc-C15hqnJe.js → arc-CUeDlxvE.js} +1 -1
- package/web-shell/assets/{architectureDiagram-3BPJPVTR-B-At37J_.js → architectureDiagram-3BPJPVTR-PiUszkQA.js} +1 -1
- package/web-shell/assets/{blockDiagram-GPEHLZMM-B51wjcU7.js → blockDiagram-GPEHLZMM-s2wYSO7e.js} +1 -1
- package/web-shell/assets/{c4Diagram-AAUBKEIU-xBK7BAwN.js → c4Diagram-AAUBKEIU-DyLxZoz9.js} +1 -1
- package/web-shell/assets/channel-DkuJJ0qd.js +1 -0
- package/web-shell/assets/{chunk-2J33WTMH-xKmLg7Yr.js → chunk-2J33WTMH-Dsdai7Tk.js} +1 -1
- package/web-shell/assets/{chunk-4BX2VUAB-BfkdKZCM.js → chunk-4BX2VUAB-DEosOjV7.js} +1 -1
- package/web-shell/assets/{chunk-55IACEB6-DT713sZf.js → chunk-55IACEB6-sNsRLTXf.js} +1 -1
- package/web-shell/assets/{chunk-727SXJPM-CYEeAamv.js → chunk-727SXJPM-DkRNZzmh.js} +1 -1
- package/web-shell/assets/{chunk-AQP2D5EJ-DBN-5CFd.js → chunk-AQP2D5EJ-BrsRNpzd.js} +1 -1
- package/web-shell/assets/{chunk-FMBD7UC4-CGZKk4PH.js → chunk-FMBD7UC4-CI039lpl.js} +1 -1
- package/web-shell/assets/{chunk-ND2GUHAM-qQbC2O-y.js → chunk-ND2GUHAM-M-pkeIfu.js} +1 -1
- package/web-shell/assets/{chunk-QZHKN3VN-B3zeXwsX.js → chunk-QZHKN3VN-C4ckGNbH.js} +1 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-CwqHc0TB.js +1 -0
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-CwqHc0TB.js +1 -0
- package/web-shell/assets/{cose-bilkent-S5V4N54A-BKsl1Wvy.js → cose-bilkent-S5V4N54A-BciKUAFq.js} +1 -1
- package/web-shell/assets/{dagre-BM42HDAG-CuuuLiBK.js → dagre-BM42HDAG-C1nTSgU6.js} +1 -1
- package/web-shell/assets/{diagram-2AECGRRQ-CG4_eKiV.js → diagram-2AECGRRQ-BDPNWr1m.js} +1 -1
- package/web-shell/assets/{diagram-5GNKFQAL-DSFTmZB1.js → diagram-5GNKFQAL-CNFhTszL.js} +1 -1
- package/web-shell/assets/{diagram-KO2AKTUF-BxwlEHn8.js → diagram-KO2AKTUF-CjPa4p5a.js} +1 -1
- package/web-shell/assets/{diagram-LMA3HP47-BUAg-jMG.js → diagram-LMA3HP47-ZzPykSyG.js} +1 -1
- package/web-shell/assets/{diagram-OG6HWLK6-BFM2jlO5.js → diagram-OG6HWLK6-0UVtZ9A4.js} +1 -1
- package/web-shell/assets/{erDiagram-TEJ5UH35-CerbFPa2.js → erDiagram-TEJ5UH35-CajDZCat.js} +1 -1
- package/web-shell/assets/{flowDiagram-I6XJVG4X-BNeZz5Zz.js → flowDiagram-I6XJVG4X-BRuFBIvL.js} +1 -1
- package/web-shell/assets/{ganttDiagram-6RSMTGT7-CTOogLaM.js → ganttDiagram-6RSMTGT7-BevGmJqG.js} +3 -3
- package/web-shell/assets/{gitGraphDiagram-PVQCEYII-yxSFkXPj.js → gitGraphDiagram-PVQCEYII-DvPMpBMb.js} +1 -1
- package/web-shell/assets/index-Cnvv4VcI.css +5 -0
- package/web-shell/assets/index-D1Uyklxa.js +1088 -0
- package/web-shell/assets/index-DzHwQkQq.js +3 -0
- package/web-shell/assets/{infoDiagram-5YYISTIA-DYdAUevm.js → infoDiagram-5YYISTIA-Oixn7tA9.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-CNuijZ90.js → ishikawaDiagram-YF4QCWOH-BgKpeg-j.js} +1 -1
- package/web-shell/assets/{journeyDiagram-JHISSGLW-BTyiuonf.js → journeyDiagram-JHISSGLW-74mwxIaA.js} +1 -1
- package/web-shell/assets/{kanban-definition-UN3LZRKU-DPJo0Uow.js → kanban-definition-UN3LZRKU-D4D6cEqA.js} +1 -1
- package/web-shell/assets/{linear-C8wKCbIC.js → linear-atZRE_L2.js} +1 -1
- package/web-shell/assets/{mermaid.core-BV5o7nW5.js → mermaid.core-KKudX-JC.js} +5 -5
- package/web-shell/assets/{mindmap-definition-RKZ34NQL-BtLcBmSt.js → mindmap-definition-RKZ34NQL-CMCej9yG.js} +1 -1
- package/web-shell/assets/{pieDiagram-4H26LBE5-C22J7A9Q.js → pieDiagram-4H26LBE5-nhx40X7q.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-W4KKPZXB-DSL10wiL.js → quadrantDiagram-W4KKPZXB-CUmVcN3M.js} +1 -1
- package/web-shell/assets/{requirementDiagram-4Y6WPE33-feqh0UpX.js → requirementDiagram-4Y6WPE33-C_vyEwyy.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-5OEKKPKP-Z4OVaWaZ.js → sankeyDiagram-5OEKKPKP-DU6G4VWR.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-3UESZ5HK-DIluIcb1.js → sequenceDiagram-3UESZ5HK-DdeRR_KJ.js} +1 -1
- package/web-shell/assets/{stateDiagram-AJRCARHV-hlhnuoYH.js → stateDiagram-AJRCARHV-C6iCI8ps.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-C0_6nR6C.js +1 -0
- package/web-shell/assets/{timeline-definition-PNZ67QCA-Dqf_CqgL.js → timeline-definition-PNZ67QCA-B_Ea8Cb7.js} +1 -1
- package/web-shell/assets/{vennDiagram-CIIHVFJN-DD2QhaTX.js → vennDiagram-CIIHVFJN-BPUVZEJA.js} +1 -1
- package/web-shell/assets/{wardley-L42UT6IY-B2uI85U_.js → wardley-L42UT6IY-BWEj0lKY.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-YWT4CUSO-U1aJX71g.js → wardleyDiagram-YWT4CUSO-BvDsdIQw.js} +1 -1
- package/web-shell/assets/{xychartDiagram-2RQKCTM6-C0ODHUee.js → xychartDiagram-2RQKCTM6-crz0QhF_.js} +1 -1
- package/web-shell/index.html +2 -2
- package/chunks/chunk-CU3L64TP.js +0 -93
- package/chunks/initializer-UTQ7FB7G.js +0 -71
- package/chunks/list-DEICDL65.js +0 -74
- package/chunks/loadedSettingsAdapter-NOWEGDYJ.js +0 -68
- package/chunks/mcp-L5JXEEIA.js +0 -68
- package/chunks/nonInteractiveCli-LS2K4X6A.js +0 -124
- package/chunks/types-JNKGKUJT.js +0 -12
- package/chunks/workspace-providers-status-4KMGETOJ.js +0 -71
- package/chunks/workspace-service-RVLBMSMZ.js +0 -80
- package/chunks/workspace-skills-status-DS4ZVFTO.js +0 -70
- package/web-shell/assets/channel-CLiQD50f.js +0 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-D3sYqow5.js +0 -1
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-D3sYqow5.js +0 -1
- package/web-shell/assets/index-D5IWFVk1.css +0 -5
- package/web-shell/assets/index-KFJRDhX7.js +0 -783
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-BhQMwgpl.js +0 -1
|
@@ -19,15 +19,15 @@ import {
|
|
|
19
19
|
taskHasLegacyCondition,
|
|
20
20
|
taskHasLegacyRunMode,
|
|
21
21
|
updateCronTasks
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-SPJQO2CE.js";
|
|
23
23
|
import {
|
|
24
24
|
ToolNames
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-2UUAIFQO.js";
|
|
26
26
|
import {
|
|
27
27
|
Storage,
|
|
28
28
|
createDebugLogger,
|
|
29
29
|
getProjectHash
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-7NFB7LBQ.js";
|
|
31
31
|
import {
|
|
32
32
|
init_esbuild_shims
|
|
33
33
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
isGitRepository
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-K7CRWKOE.js";
|
|
6
6
|
import {
|
|
7
7
|
createDebugLogger
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-7NFB7LBQ.js";
|
|
9
9
|
import {
|
|
10
10
|
init_esbuild_shims
|
|
11
11
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
Storage,
|
|
6
6
|
resolvePath,
|
|
7
7
|
sanitizeCwd
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-7NFB7LBQ.js";
|
|
9
9
|
import {
|
|
10
10
|
init_esbuild_shims
|
|
11
11
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -170,6 +170,21 @@ function isTeamAutoMemPath(absolutePath, projectRoot) {
|
|
|
170
170
|
return rel === "" || !rel.startsWith("..") && !path.isAbsolute(rel);
|
|
171
171
|
}
|
|
172
172
|
__name(isTeamAutoMemPath, "isTeamAutoMemPath");
|
|
173
|
+
function isManagedMemoryPath(filePath, projectRoot, baseDir = projectRoot) {
|
|
174
|
+
const absolutePath = path.resolve(baseDir, filePath);
|
|
175
|
+
const resolvedPath = path.normalize(realpathNearestExisting(absolutePath));
|
|
176
|
+
const roots = [
|
|
177
|
+
getAutoMemoryRoot(projectRoot),
|
|
178
|
+
getUserAutoMemoryRoot(),
|
|
179
|
+
getTeamAutoMemoryRoot(projectRoot)
|
|
180
|
+
];
|
|
181
|
+
return roots.some((root) => {
|
|
182
|
+
const resolvedRoot = path.normalize(realpathNearestExisting(root));
|
|
183
|
+
const rel = path.relative(resolvedRoot, resolvedPath);
|
|
184
|
+
return rel === "" || !rel.startsWith("..") && !path.isAbsolute(rel);
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
__name(isManagedMemoryPath, "isManagedMemoryPath");
|
|
173
188
|
function resolveLeafSymlink(inputPath) {
|
|
174
189
|
const maxHops = 40;
|
|
175
190
|
let current = path.resolve(inputPath);
|
|
@@ -250,6 +265,7 @@ export {
|
|
|
250
265
|
getTeamAutoMemoryRoot,
|
|
251
266
|
getTeamAutoMemoryIndexPath,
|
|
252
267
|
isTeamAutoMemPath,
|
|
268
|
+
isManagedMemoryPath,
|
|
253
269
|
isAnyAutoMemPath
|
|
254
270
|
};
|
|
255
271
|
/**
|
|
@@ -5,14 +5,14 @@ import {
|
|
|
5
5
|
isTranscribableVoiceModel,
|
|
6
6
|
readVoiceLanguage,
|
|
7
7
|
resolveVoiceTransport
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-DPFBNG72.js";
|
|
9
9
|
import {
|
|
10
10
|
resolvePath
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-FSA7ERJ2.js";
|
|
12
12
|
import {
|
|
13
13
|
createDebugLogger,
|
|
14
14
|
isSubpath
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-7NFB7LBQ.js";
|
|
16
16
|
import {
|
|
17
17
|
init_esbuild_shims
|
|
18
18
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -339,7 +339,7 @@ async function defaultLookupHost(hostname) {
|
|
|
339
339
|
return dnsLookup(hostname, { all: true });
|
|
340
340
|
}
|
|
341
341
|
__name(defaultLookupHost, "defaultLookupHost");
|
|
342
|
-
async function assertVoiceBaseUrlNetworkAllowed(voiceConfig, lookupHost) {
|
|
342
|
+
async function assertVoiceBaseUrlNetworkAllowed(voiceConfig, lookupHost, abortSignal) {
|
|
343
343
|
const hostname = normalizeHostname(new URL(voiceConfig.baseUrl).hostname);
|
|
344
344
|
if (isLoopbackHost(hostname)) {
|
|
345
345
|
return;
|
|
@@ -353,12 +353,29 @@ async function assertVoiceBaseUrlNetworkAllowed(voiceConfig, lookupHost) {
|
|
|
353
353
|
return;
|
|
354
354
|
}
|
|
355
355
|
let result;
|
|
356
|
+
let onAbort;
|
|
356
357
|
try {
|
|
357
|
-
|
|
358
|
+
if (abortSignal?.aborted) {
|
|
359
|
+
throw abortSignal.reason;
|
|
360
|
+
}
|
|
361
|
+
const lookup = (lookupHost ?? defaultLookupHost)(hostname);
|
|
362
|
+
result = abortSignal ? await Promise.race([
|
|
363
|
+
lookup,
|
|
364
|
+
new Promise((_resolve, reject) => {
|
|
365
|
+
onAbort = /* @__PURE__ */ __name(() => reject(abortSignal.reason), "onAbort");
|
|
366
|
+
if (abortSignal.aborted) onAbort();
|
|
367
|
+
else abortSignal.addEventListener("abort", onAbort, { once: true });
|
|
368
|
+
})
|
|
369
|
+
]) : await lookup;
|
|
358
370
|
} catch {
|
|
371
|
+
if (abortSignal?.aborted) {
|
|
372
|
+
throw abortSignal.reason instanceof Error ? abortSignal.reason : new Error("Voice request was aborted.");
|
|
373
|
+
}
|
|
359
374
|
throw new Error(
|
|
360
375
|
`Voice model '${voiceConfig.model}': DNS lookup failed for ${hostname}. Cannot verify network safety.`
|
|
361
376
|
);
|
|
377
|
+
} finally {
|
|
378
|
+
if (onAbort) abortSignal?.removeEventListener("abort", onAbort);
|
|
362
379
|
}
|
|
363
380
|
const records = Array.isArray(result) ? result : [result];
|
|
364
381
|
if (records.some((record) => isPrivateNetworkIp(record.address))) {
|
|
@@ -649,7 +666,11 @@ async function transcribeViaQwenAsr(audio, voiceConfig, options, fetchFn) {
|
|
|
649
666
|
__name(transcribeViaQwenAsr, "transcribeViaQwenAsr");
|
|
650
667
|
async function transcribeVoiceAudio(audio, args) {
|
|
651
668
|
const voiceConfig = resolveVoiceTranscriptionConfig(args);
|
|
652
|
-
await assertVoiceBaseUrlNetworkAllowed(
|
|
669
|
+
await assertVoiceBaseUrlNetworkAllowed(
|
|
670
|
+
voiceConfig,
|
|
671
|
+
args.lookupHost,
|
|
672
|
+
args.abortSignal
|
|
673
|
+
);
|
|
653
674
|
const fetchFn = args.fetchFn ?? fetch;
|
|
654
675
|
const language = resolveLanguageCode(readVoiceLanguage(args.settings));
|
|
655
676
|
const keytermsContext = buildKeytermsContext(args.settings);
|
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
isSupportedImageMimeType
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-B7NUUEXC.js";
|
|
6
6
|
import {
|
|
7
7
|
TextTokenizer
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-TQBODCFD.js";
|
|
9
9
|
import {
|
|
10
10
|
createDebugLogger
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-7NFB7LBQ.js";
|
|
12
12
|
import {
|
|
13
13
|
init_esbuild_shims
|
|
14
14
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -4,14 +4,14 @@ import {
|
|
|
4
4
|
resolveModelConfig,
|
|
5
5
|
resolveProviderProtocol,
|
|
6
6
|
stripRuntimeSnapshotPrefix
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-K7CRWKOE.js";
|
|
8
8
|
import {
|
|
9
9
|
external_exports
|
|
10
10
|
} from "./chunk-H6XPXXMH.js";
|
|
11
11
|
import {
|
|
12
12
|
AuthType,
|
|
13
13
|
MODEL_GENERATION_CONFIG_FIELDS
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-P6LART6G.js";
|
|
15
15
|
import {
|
|
16
16
|
REASONING_EFFORT_TIERS,
|
|
17
17
|
normalizeReasoningEffort
|
|
@@ -221,79 +221,16 @@ var V1_INDICATOR_KEYS = [
|
|
|
221
221
|
"disableCacheControl"
|
|
222
222
|
];
|
|
223
223
|
|
|
224
|
-
// packages/cli/src/config/storage-paths-lite.ts
|
|
225
|
-
init_esbuild_shims();
|
|
226
|
-
import * as os from "node:os";
|
|
227
|
-
import * as path from "node:path";
|
|
228
|
-
var SETTINGS_DIRECTORY_NAME = ".qwen";
|
|
229
|
-
function resolveConfigPathLite(dir, cwd) {
|
|
230
|
-
let resolved = dir;
|
|
231
|
-
if (resolved === "~" || resolved.startsWith("~/") || resolved.startsWith("~\\")) {
|
|
232
|
-
const relativeSegments = resolved === "~" ? [] : resolved.slice(2).split(/[/\\]+/).filter(Boolean);
|
|
233
|
-
resolved = path.join(os.homedir(), ...relativeSegments);
|
|
234
|
-
}
|
|
235
|
-
if (!path.isAbsolute(resolved)) {
|
|
236
|
-
resolved = path.resolve(cwd || process.cwd(), resolved);
|
|
237
|
-
}
|
|
238
|
-
return resolved;
|
|
239
|
-
}
|
|
240
|
-
__name(resolveConfigPathLite, "resolveConfigPathLite");
|
|
241
|
-
function getGlobalQwenDirLite() {
|
|
242
|
-
const envDir = process.env["QWEN_HOME"];
|
|
243
|
-
if (envDir) {
|
|
244
|
-
return resolveConfigPathLite(envDir);
|
|
245
|
-
}
|
|
246
|
-
const homeDir = os.homedir();
|
|
247
|
-
if (!homeDir) {
|
|
248
|
-
return path.join(os.tmpdir(), SETTINGS_DIRECTORY_NAME);
|
|
249
|
-
}
|
|
250
|
-
return path.join(homeDir, SETTINGS_DIRECTORY_NAME);
|
|
251
|
-
}
|
|
252
|
-
__name(getGlobalQwenDirLite, "getGlobalQwenDirLite");
|
|
253
|
-
function getSystemSettingsPath() {
|
|
254
|
-
if (process.env["QWEN_CODE_SYSTEM_SETTINGS_PATH"]) {
|
|
255
|
-
return process.env["QWEN_CODE_SYSTEM_SETTINGS_PATH"];
|
|
256
|
-
}
|
|
257
|
-
if (os.platform() === "darwin") {
|
|
258
|
-
return "/Library/Application Support/QwenCode/settings.json";
|
|
259
|
-
}
|
|
260
|
-
if (os.platform() === "win32") {
|
|
261
|
-
return "C:\\ProgramData\\qwen-code\\settings.json";
|
|
262
|
-
}
|
|
263
|
-
return "/etc/qwen-code/settings.json";
|
|
264
|
-
}
|
|
265
|
-
__name(getSystemSettingsPath, "getSystemSettingsPath");
|
|
266
|
-
function getSystemDefaultsPath() {
|
|
267
|
-
if (process.env["QWEN_CODE_SYSTEM_DEFAULTS_PATH"]) {
|
|
268
|
-
return process.env["QWEN_CODE_SYSTEM_DEFAULTS_PATH"];
|
|
269
|
-
}
|
|
270
|
-
return path.join(
|
|
271
|
-
path.dirname(getSystemSettingsPath()),
|
|
272
|
-
"system-defaults.json"
|
|
273
|
-
);
|
|
274
|
-
}
|
|
275
|
-
__name(getSystemDefaultsPath, "getSystemDefaultsPath");
|
|
276
|
-
|
|
277
224
|
export {
|
|
278
225
|
resolveEnvVarsInObject,
|
|
279
226
|
V1_TO_V2_MIGRATION_MAP,
|
|
280
227
|
V2_CONTAINER_KEYS,
|
|
281
228
|
V1_TO_V2_PRESERVE_DISABLE_MAP,
|
|
282
229
|
CONSOLIDATED_DISABLE_KEYS,
|
|
283
|
-
V1_INDICATOR_KEYS
|
|
284
|
-
SETTINGS_DIRECTORY_NAME,
|
|
285
|
-
resolveConfigPathLite,
|
|
286
|
-
getGlobalQwenDirLite,
|
|
287
|
-
getSystemSettingsPath,
|
|
288
|
-
getSystemDefaultsPath
|
|
230
|
+
V1_INDICATOR_KEYS
|
|
289
231
|
};
|
|
290
232
|
/**
|
|
291
233
|
* @license
|
|
292
234
|
* Copyright 2025 Google LLC
|
|
293
235
|
* SPDX-License-Identifier: Apache-2.0
|
|
294
236
|
*/
|
|
295
|
-
/**
|
|
296
|
-
* @license
|
|
297
|
-
* Copyright 2025 Qwen Team
|
|
298
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
299
|
-
*/
|
|
@@ -0,0 +1,23 @@
|
|
|
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/serve/channel-worker-env.ts
|
|
8
|
+
init_esbuild_shims();
|
|
9
|
+
var CHANNEL_DAEMON_WORKER_SENTINEL = "QWEN_CHANNEL_DAEMON_WORKER";
|
|
10
|
+
var CHANNEL_WORKER_HEARTBEAT_INTERVAL_MS = 15e3;
|
|
11
|
+
var QWEN_DAEMON_TOKEN_ENV = "QWEN_DAEMON_TOKEN";
|
|
12
|
+
var QWEN_DAEMON_URL_ENV = "QWEN_DAEMON_URL";
|
|
13
|
+
var QWEN_DAEMON_WORKSPACE_ENV = "QWEN_DAEMON_WORKSPACE";
|
|
14
|
+
var QWEN_SERVER_TOKEN_ENV = "QWEN_SERVER_TOKEN";
|
|
15
|
+
|
|
16
|
+
export {
|
|
17
|
+
CHANNEL_DAEMON_WORKER_SENTINEL,
|
|
18
|
+
CHANNEL_WORKER_HEARTBEAT_INTERVAL_MS,
|
|
19
|
+
QWEN_DAEMON_TOKEN_ENV,
|
|
20
|
+
QWEN_DAEMON_URL_ENV,
|
|
21
|
+
QWEN_DAEMON_WORKSPACE_ENV,
|
|
22
|
+
QWEN_SERVER_TOKEN_ENV
|
|
23
|
+
};
|
|
@@ -5,17 +5,17 @@ import {
|
|
|
5
5
|
Text,
|
|
6
6
|
require_jsx_runtime,
|
|
7
7
|
theme
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-K4PZ5F5T.js";
|
|
9
9
|
import {
|
|
10
10
|
require_react
|
|
11
11
|
} from "./chunk-HTHUX2T5.js";
|
|
12
12
|
import {
|
|
13
13
|
stringWidth,
|
|
14
14
|
toCodePoints
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-WTSXKLG5.js";
|
|
16
16
|
import {
|
|
17
17
|
createDebugLogger
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-7NFB7LBQ.js";
|
|
19
19
|
import {
|
|
20
20
|
init_esbuild_shims
|
|
21
21
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -23,6 +23,8 @@ var DaemonMetricsRing = class {
|
|
|
23
23
|
curQueueWaits = [];
|
|
24
24
|
curPromptDurations = [];
|
|
25
25
|
curLlmDurations = [];
|
|
26
|
+
curLlmApiErrors = 0;
|
|
27
|
+
curLlmApiRetries = 0;
|
|
26
28
|
curPipeInBytes = 0;
|
|
27
29
|
curPipeOutBytes = 0;
|
|
28
30
|
curTokensIn = 0;
|
|
@@ -49,6 +51,19 @@ var DaemonMetricsRing = class {
|
|
|
49
51
|
recordLlmDuration(durationMs) {
|
|
50
52
|
pushCapped(this.curLlmDurations, durationMs);
|
|
51
53
|
}
|
|
54
|
+
/**
|
|
55
|
+
* Fold one model round's per-round model-API-error and automatic-retry
|
|
56
|
+
* increments (from the same token frame) into the open window. Both are
|
|
57
|
+
* plain counters — a burst in one window accrues exactly, past the sample
|
|
58
|
+
* cap that only bounds the percentile arrays. Non-finite / negative inputs
|
|
59
|
+
* are ignored so a malformed frame cannot poison the totals.
|
|
60
|
+
*/
|
|
61
|
+
recordApiActivity(errors, retries) {
|
|
62
|
+
if (Number.isFinite(errors) && errors > 0) this.curLlmApiErrors += errors;
|
|
63
|
+
if (Number.isFinite(retries) && retries > 0) {
|
|
64
|
+
this.curLlmApiRetries += retries;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
52
67
|
/** Fold one ACP-child pipe message's payload size into the open window. */
|
|
53
68
|
recordPipe(direction, bytes) {
|
|
54
69
|
if (!Number.isFinite(bytes) || bytes < 0) return;
|
|
@@ -84,6 +99,8 @@ var DaemonMetricsRing = class {
|
|
|
84
99
|
promptDurationP95Ms: percentile(this.curPromptDurations, 0.95),
|
|
85
100
|
llmApiP50Ms: percentile(this.curLlmDurations, 0.5),
|
|
86
101
|
llmApiP95Ms: percentile(this.curLlmDurations, 0.95),
|
|
102
|
+
llmApiErrors: this.curLlmApiErrors,
|
|
103
|
+
llmApiRetries: this.curLlmApiRetries,
|
|
87
104
|
cpuPercent: finiteGauge(gauges.cpuPercent),
|
|
88
105
|
rssBytes: finiteGauge(gauges.rssBytes),
|
|
89
106
|
heapUsedBytes: finiteGauge(gauges.heapUsedBytes),
|
|
@@ -109,6 +126,8 @@ var DaemonMetricsRing = class {
|
|
|
109
126
|
this.curQueueWaits.length = 0;
|
|
110
127
|
this.curPromptDurations.length = 0;
|
|
111
128
|
this.curLlmDurations.length = 0;
|
|
129
|
+
this.curLlmApiErrors = 0;
|
|
130
|
+
this.curLlmApiRetries = 0;
|
|
112
131
|
this.curPipeInBytes = 0;
|
|
113
132
|
this.curPipeOutBytes = 0;
|
|
114
133
|
this.curTokensIn = 0;
|