@qwen-code/qwen-code 0.19.10 → 0.19.11-nightly.20260717.f8e6e8931
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 -6
- package/bundled/qc-helper/docs/features/approval-mode.md +2 -2
- package/bundled/qc-helper/docs/features/channels/dingtalk.md +30 -0
- package/bundled/qc-helper/docs/features/channels/overview.md +53 -17
- package/bundled/qc-helper/docs/features/channels/wecom.md +8 -7
- package/bundled/qc-helper/docs/features/sandbox.md +2 -0
- package/bundled/qc-helper/docs/qwen-serve-deploy-local.md +42 -7
- package/bundled/qc-helper/docs/qwen-serve.md +53 -46
- package/bundled/review/SKILL.md +163 -403
- package/chunks/{MaxSizedBox-67ODZ4SZ.js → MaxSizedBox-JGTP7YJQ.js} +13 -13
- package/chunks/{StandaloneSessionPicker-SIPBQT5Z.js → StandaloneSessionPicker-2XQDOYZ5.js} +27 -27
- package/chunks/{acpAgent-VPZJXLFX.js → acpAgent-RXRJA7GD.js} +1135 -373
- package/chunks/{agent-Z7NWL6XL.js → agent-UQP53UWQ.js} +10 -10
- package/chunks/{agent-headless-73HZ6ROQ.js → agent-headless-I52OXDCK.js} +10 -10
- package/chunks/{anthropicContentGenerator-56U3YCP2.js → anthropicContentGenerator-HBRXJSP4.js} +76 -14
- package/chunks/{artifact-tool-BWZZJ42H.js → artifact-tool-MIZLXBLF.js} +1 -1
- package/chunks/{askUserQuestion-WU3S5A5T.js → askUserQuestion-XMJVPNWM.js} +1 -1
- package/chunks/{bridge-XFKW6S7Q.js → bridge-3DVRNBSF.js} +14 -16
- package/chunks/{ca-C2JTT2N5.js → ca-CODEN7TD.js} +5 -0
- package/chunks/channel-worker-group-SOUWTFHC.js +21 -0
- package/chunks/{channel-worker-manager-5RWKSGEU.js → channel-worker-manager-LOVSV3WW.js} +34 -10
- package/chunks/{channel-worker-supervisor-PCDAZN4D.js → channel-worker-supervisor-XW6MHJBQ.js} +6 -4
- package/chunks/{chunk-BBNVFRGD.js → chunk-3DWIFU7L.js} +1 -1
- package/chunks/{chunk-ZQTZXVHP.js → chunk-3KSHYS4T.js} +4 -18
- package/chunks/{chunk-ZKMGAFYV.js → chunk-3LS57JZI.js} +1 -1
- package/chunks/{chunk-B5I2IIWY.js → chunk-46Y6SSQ7.js} +5 -5
- package/chunks/{chunk-GDQQRV43.js → chunk-4BJVSIS3.js} +2 -2
- package/chunks/{chunk-L37RC7MQ.js → chunk-4HTHLSIH.js} +1 -1
- package/chunks/{chunk-DPFBNG72.js → chunk-4UBEB74N.js} +1 -1
- package/chunks/{chunk-AAR5SGMD.js → chunk-4YR7FSAM.js} +7 -5
- package/chunks/{chunk-OATTJGPJ.js → chunk-5CNYZ7TN.js} +7 -7
- package/chunks/{chunk-JSJFKYWT.js → chunk-5VWYKIMW.js} +1 -1
- package/chunks/{chunk-6GETGQWP.js → chunk-5WWYHNAH.js} +39 -10
- package/chunks/{chunk-65N2J6V2.js → chunk-6ANLV27M.js} +2 -2
- package/chunks/{chunk-L62SEJWY.js → chunk-6RV42SFP.js} +4 -4
- package/chunks/{chunk-XXJKGHZV.js → chunk-6VMOP2Z7.js} +4 -4
- package/chunks/{chunk-URU5UEK6.js → chunk-6WGZDD67.js} +135 -68
- package/chunks/{chunk-7NAWTFVY.js → chunk-6WPJRYLZ.js} +2 -2
- package/chunks/chunk-6WVLHULT.js +59 -0
- package/chunks/{chunk-N6FXRR6P.js → chunk-7ZFXHKKZ.js} +1 -1
- package/chunks/{chunk-E67NFMF4.js → chunk-A2HWMJVO.js} +35 -1
- package/chunks/{chunk-4FMG7EDJ.js → chunk-AEKHQ3E5.js} +77 -11
- package/chunks/{chunk-WIASPMLX.js → chunk-AH3YAJU6.js} +22 -33
- package/chunks/{chunk-6GKMJPOC.js → chunk-AHAH5H6D.js} +3 -3
- package/chunks/{chunk-3XJFUTNM.js → chunk-AVAU67KP.js} +57 -10
- package/chunks/{chunk-LNUXFLLJ.js → chunk-BDHYJ2MM.js} +53 -5
- package/chunks/{chunk-P6LART6G.js → chunk-BTSE2DUP.js} +957 -122
- package/chunks/{chunk-7MJAZMXK.js → chunk-BZ5D7OVV.js} +28 -77
- package/chunks/{chunk-WDWJ4OQJ.js → chunk-CC2UASQ4.js} +3 -3
- package/chunks/{chunk-WLXYAKV7.js → chunk-D7KYA6EY.js} +3 -3
- package/chunks/{chunk-5LROA5W4.js → chunk-DD45XVOQ.js} +3 -3
- package/chunks/{chunk-H3FQOPPS.js → chunk-DOPUYNXO.js} +2 -2
- package/chunks/{chunk-SPUYQB4T.js → chunk-DPXB3XRN.js} +1 -1
- package/chunks/{chunk-XLIRF7IK.js → chunk-E7ECGLZW.js} +1 -1
- package/chunks/{chunk-RDRVMDWV.js → chunk-EMJJBXS7.js} +10 -10
- package/chunks/{chunk-TXY2C3D2.js → chunk-F333XEAU.js} +1 -1
- package/chunks/chunk-FEOZBUMT.js +77 -0
- package/chunks/{chunk-YYPXHMWO.js → chunk-FEYHXPZG.js} +4 -4
- package/chunks/{chunk-ZRKBI3DP.js → chunk-FNX3LGAK.js} +1 -1
- package/chunks/chunk-FXK3QMRD.js +140 -0
- package/chunks/{chunk-422XAKCK.js → chunk-G5ZKRK2E.js} +2 -2
- package/chunks/{chunk-DK33QJ3V.js → chunk-GCRFH57X.js} +732 -13
- package/chunks/{chunk-EQY6POVO.js → chunk-GLEJW7T2.js} +1 -1
- package/chunks/{chunk-FXMC7SL2.js → chunk-I6NOSIVF.js} +1 -1
- package/chunks/{chunk-VBRRNQB7.js → chunk-IHJRUIWN.js} +109 -22
- package/chunks/{chunk-F7NXQH4Y.js → chunk-IIXEI2VE.js} +1 -1
- package/chunks/{chunk-2UUAIFQO.js → chunk-JGUT3LWZ.js} +5 -0
- package/chunks/{chunk-5EBKKSBX.js → chunk-JY74T7PW.js} +1 -1
- package/chunks/chunk-KSZKSE23.js +226 -0
- package/chunks/{chunk-MO7O5722.js → chunk-KW46DBFM.js} +35 -2
- package/chunks/{chunk-TISZXPAX.js → chunk-L263ROM6.js} +1 -1
- package/chunks/chunk-LXXMOYPL.js +22 -0
- package/chunks/{chunk-YX4LLZ3D.js → chunk-NABT4VOY.js} +109 -35
- package/chunks/{chunk-W34A5MJH.js → chunk-NROLDLP4.js} +1 -1
- package/chunks/{chunk-V7EQTZYR.js → chunk-O3WCEZEN.js} +191 -44
- package/chunks/{chunk-K4PZ5F5T.js → chunk-OWT2CAEQ.js} +1 -1
- package/chunks/{chunk-4YWLED2A.js → chunk-PNCWEDF6.js} +7 -4
- package/chunks/{chunk-WDW64OW3.js → chunk-PSDTLRAV.js} +5 -5
- package/chunks/{chunk-7R4DPSRA.js → chunk-R3VWUU2E.js} +1 -1
- package/chunks/{chunk-K7CRWKOE.js → chunk-R6AO7HBQ.js} +4617 -4012
- package/chunks/{chunk-6OATMEYN.js → chunk-RTV5TUYB.js} +12 -4
- package/chunks/{chunk-6W6DI34P.js → chunk-SE6GSFAO.js} +159 -2
- package/chunks/{chunk-WTSXKLG5.js → chunk-SUARMD4Q.js} +1 -1
- package/chunks/chunk-T4TZQJ7W.js +48 -0
- package/chunks/{chunk-LTNI523B.js → chunk-T7CZYIAU.js} +28 -5
- package/chunks/{chunk-3MX7D6QN.js → chunk-TIOE2OPE.js} +32 -4
- package/chunks/{chunk-TTUO4DNG.js → chunk-UF6ZTWU5.js} +75 -710
- package/chunks/{chunk-Q5GLXH5Q.js → chunk-UJG4VV2O.js} +5 -5
- package/chunks/{chunk-CJFNEBYB.js → chunk-VFEZWI6F.js} +1 -1
- package/chunks/{chunk-UFOKA4PR.js → chunk-VHCSIMTF.js} +114 -4
- package/chunks/{chunk-TQBODCFD.js → chunk-VRR65QYW.js} +250 -2
- package/chunks/{chunk-CUUXANEQ.js → chunk-W6J7RSCK.js} +6 -1
- package/chunks/{chunk-YHN5SUIJ.js → chunk-W7H223ZZ.js} +1 -1
- package/chunks/{chunk-WX6SD4IQ.js → chunk-WTNZ6DXB.js} +1 -1
- package/chunks/{chunk-GGJII3FM.js → chunk-WZJELXEU.js} +92 -3
- package/chunks/{chunk-OFEVHGVU.js → chunk-X5HZX4EP.js} +9 -11
- package/chunks/{chunk-KSO42X3Z.js → chunk-X6YQWCIJ.js} +21 -2
- package/chunks/{chunk-7L4XBYVW.js → chunk-XK42MWWO.js} +9 -2
- package/chunks/{chunk-X362TMXZ.js → chunk-XQDPCQ3A.js} +7 -5
- package/chunks/{chunk-YU56QGXX.js → chunk-Y3TNSHKF.js} +1 -1
- package/chunks/{chunk-HHEFI4RP.js → chunk-YOJGIRTD.js} +714 -109
- package/chunks/{chunk-CEW4HDPK.js → chunk-ZK4AMPKI.js} +2459 -350
- package/chunks/{chunk-SXU3KKNI.js → chunk-ZQIYGQCG.js} +251 -54
- package/chunks/{computer-use-IYTX45WA.js → computer-use-LTW3VB6L.js} +10 -10
- package/chunks/{config-utils-CFT33LTP.js → config-utils-IQQT3GCI.js} +3 -3
- package/chunks/{contextCommand-272V77WU.js → contextCommand-GLMC6CTP.js} +12 -12
- package/chunks/{create-sub-session-WNX2OQVX.js → create-sub-session-EAB2U5XW.js} +1 -1
- package/chunks/{create-sub-session-CBJMQLYP.js → create-sub-session-YMWQAWSN.js} +10 -10
- package/chunks/{cron-create-36TIFKRT.js → cron-create-GMVKSXZT.js} +1 -1
- package/chunks/{cron-delete-OQD3WULU.js → cron-delete-VDZKUAVK.js} +1 -1
- package/chunks/{cron-list-4533T2FH.js → cron-list-UG7C7RAR.js} +1 -1
- package/chunks/{daemon-RNGFPMAB.js → daemon-PRB64RP5.js} +303 -71
- package/chunks/{daemon-status-provider-L4STG5VO.js → daemon-status-provider-5OMM5JHF.js} +19 -20
- package/chunks/{de-2VCDRDGU.js → de-NOXPCSYN.js} +5 -0
- package/chunks/{dist-ERCPDVA6.js → dist-4WCQEZIN.js} +4 -51
- package/chunks/{dist-MOEC47TR.js → dist-DOPL5LSQ.js} +1 -1
- package/chunks/{dist-JZE7F6YR.js → dist-GXJVCOS7.js} +1 -1
- package/chunks/{dist-PHEPJLXD.js → dist-PX2ERZ6I.js} +2 -2
- package/chunks/{dist-HNN7DR2L.js → dist-V2YVLYOW.js} +58 -30
- package/chunks/{dist-3V3ZV6ML.js → dist-VYWUKURL.js} +1 -1
- package/chunks/{earlyInputCapture-EN4BRREQ.js → earlyInputCapture-A3WSRN4T.js} +10 -10
- package/chunks/{edit-OMAF2QDR.js → edit-7PG4AH27.js} +10 -10
- package/chunks/{en-NJCA3TAA.js → en-JFVULHTB.js} +6 -0
- package/chunks/{enter-worktree-BBZX52HG.js → enter-worktree-QUSB44RE.js} +10 -10
- package/chunks/{enterPlanMode-5NNFMBUY.js → enterPlanMode-NVSIEL7X.js} +10 -10
- package/chunks/{environment-7TEWMJYN.js → environment-AHHXHQTI.js} +12 -12
- package/chunks/{errors-I4VKVX3F.js → errors-NSWSRXC7.js} +12 -12
- package/chunks/{exit-worktree-FUWRJI33.js → exit-worktree-FXYEYHPL.js} +10 -10
- package/chunks/{exitPlanMode-IHCJ5EEI.js → exitPlanMode-JI5GK3F6.js} +10 -10
- package/chunks/{fast-path-ZA57TOH4.js → fast-path-X7EVDLKZ.js} +2 -2
- package/chunks/{fr-5F3E7WKD.js → fr-HVFNU42H.js} +5 -0
- package/chunks/{gemini-UOAKVXBG.js → gemini-YRLHY5KS.js} +162 -206
- package/chunks/{geminiContentGenerator-G6UCE6MW.js → geminiContentGenerator-SPLFPV5E.js} +1 -1
- package/chunks/{glob-4GJQ2UFF.js → glob-WASUBCSA.js} +10 -10
- package/chunks/{grep-5QSYXF2E.js → grep-DUVG3NGA.js} +10 -10
- package/chunks/{handleAutoUpdate-ULHNWL6R.js → handleAutoUpdate-NGE5AQ2N.js} +14 -14
- package/chunks/{i18n-CYDUTF6F.js → i18n-QNVR36NB.js} +11 -11
- package/chunks/{initializer-NRFKUGIO.js → initializer-ZY7ORPMH.js} +15 -15
- package/chunks/{installationInfo-WELKRHHE.js → installationInfo-4R75MFTB.js} +11 -11
- package/chunks/{ja-66J6B53L.js → ja-PY5AF544.js} +5 -0
- package/chunks/{list-JVDXEG2E.js → list-36JCMZRS.js} +18 -18
- package/chunks/{loadedSettingsAdapter-WAM4VUTG.js → loadedSettingsAdapter-PQIOJUSJ.js} +15 -15
- package/chunks/{loop-wakeup-MVUKDVCP.js → loop-wakeup-QXWZSCYM.js} +2 -2
- package/chunks/{ls-RXNIAQDE.js → ls-2OUTG3IZ.js} +1 -1
- package/chunks/{lsp-HB5LM5IL.js → lsp-4VMNXZW6.js} +1 -1
- package/chunks/{mcp-YHOZN3ZM.js → mcp-QXY6XA6H.js} +15 -15
- package/chunks/{monitor-R7XZPJHQ.js → monitor-AVEKRSY3.js} +12 -11
- package/chunks/{nonInteractiveCli-NSOB6D74.js → nonInteractiveCli-YWIBKX4M.js} +50 -50
- package/chunks/{notebook-edit-6RNKE2L2.js → notebook-edit-4SBTJX72.js} +10 -10
- package/chunks/{openaiContentGenerator-XNS5S64I.js → openaiContentGenerator-4EBAO7LR.js} +8 -8
- package/chunks/{pidfile-XE4RRR2P.js → pidfile-JMIUPXSU.js} +10 -10
- package/chunks/processUtils-EOINMEIH.js +29 -0
- package/chunks/{pt-TFZO5Y6T.js → pt-A3PRQXMU.js} +5 -0
- package/chunks/{qwenContentGenerator-APDPJ3VN.js → qwenContentGenerator-M7UBL3JS.js} +12 -12
- package/chunks/{read-file-XSUWXSR7.js → read-file-DXSEFHCV.js} +5 -5
- package/chunks/{read-mcp-resource-6LRTZKXI.js → read-mcp-resource-JUFHCKSC.js} +1 -1
- package/chunks/{record-artifact-PMDTY4OS.js → record-artifact-DWSMBXYY.js} +1 -1
- package/chunks/{ripGrep-APB3CDMU.js → ripGrep-VTRVFMDJ.js} +10 -10
- package/chunks/{ru-4L4LFHIT.js → ru-IBCWUTOC.js} +5 -0
- package/chunks/{run-qwen-serve-NWTGPERT.js → run-qwen-serve-P7WQDZAS.js} +59 -38
- package/chunks/{runtime-EIO3NQKR.js → runtime-UHYO6JGN.js} +19 -19
- package/chunks/{scheduler-JJDZBDRN.js → scheduler-WTK7ZLV5.js} +10 -10
- package/chunks/{send-message-SR4WSXP2.js → send-message-JZ752NWD.js} +2 -2
- package/chunks/{serve-WTIPB3EI.js → serve-AG2AOG56.js} +15 -15
- package/chunks/{server-NJPHQHLH.js → server-G5MM2BRI.js} +1157 -225
- package/chunks/{session-O4AO7FTS.js → session-NUAGEMVS.js} +51 -51
- package/chunks/{settings-HQNDK7TG.js → settings-VQA5PR2M.js} +14 -14
- package/chunks/{shell-UIXM6PWG.js → shell-X33RWGLP.js} +12 -10
- package/chunks/{skill-3XMB4ULV.js → skill-PHSU2OPP.js} +5 -5
- package/chunks/{spawnChannel-3R632QRM.js → spawnChannel-D6TZN4W7.js} +12 -13
- package/chunks/{src-USZKPUOC.js → src-6OJFUPTL.js} +95 -34
- package/chunks/{standalone-update-L5XW3D7K.js → standalone-update-ZARRW44Y.js} +12 -12
- package/chunks/{startInteractiveUI-CPZOL2WB.js → startInteractiveUI-C6IZRTF3.js} +176 -158
- package/chunks/{syntheticOutput-YKFNUQZD.js → syntheticOutput-LELY6HAI.js} +2 -2
- package/chunks/{task-create-NUFOHU53.js → task-create-QY3BIMNM.js} +3 -3
- package/chunks/{task-list-Z2IKQY3S.js → task-list-D2U47WBJ.js} +1 -1
- package/chunks/{task-stop-KQFIVQTJ.js → task-stop-N6E5IYLH.js} +1 -1
- package/chunks/{task-update-HKADXSTD.js → task-update-HJCQILLB.js} +3 -3
- package/chunks/{team-create-XXPRF3IQ.js → team-create-H434NQP2.js} +10 -10
- package/chunks/{team-delete-SDNTGZLG.js → team-delete-RCWYDRF4.js} +1 -1
- package/chunks/{team-plan-approval-EOTTKHDW.js → team-plan-approval-IIOHXZU6.js} +10 -10
- package/chunks/{theme-manager-P6UITO2L.js → theme-manager-IEOPHMX6.js} +10 -10
- package/chunks/{todoWrite-YNXB27GB.js → todoWrite-FKCGATPJ.js} +1 -1
- package/chunks/{tool-search-DDNGK2LR.js → tool-search-WIIEDALL.js} +6 -6
- package/chunks/{total-session-admission-PL5N7DNY.js → total-session-admission-WU3DORRW.js} +15 -17
- package/chunks/{trustedFolders-C5LMF3UR.js → trustedFolders-JVUTUAJ3.js} +11 -11
- package/chunks/update-relaunch-X5EQKCH5.js +87 -0
- package/chunks/{updateCheck-QTVVISH7.js → updateCheck-TGO2X735.js} +14 -12
- package/chunks/{validateNonInterActiveAuth-RY4RKBQG.js → validateNonInterActiveAuth-2MEUL2ME.js} +46 -46
- package/chunks/{version-U45RYOSD.js → version-KBGQKZWV.js} +1 -1
- package/chunks/{web-fetch-ZSPR3PRR.js → web-fetch-CFCWTCAP.js} +2 -3
- package/chunks/{workflow-TCIAQYOA.js → workflow-PAOSF4CG.js} +11 -11
- package/chunks/{workspace-providers-status-I3G2HYLY.js → workspace-providers-status-AYHJYSVO.js} +18 -18
- package/chunks/{workspace-registration-store-IH5GLZ6Y.js → workspace-registration-store-GZMR53QL.js} +1 -1
- package/chunks/{workspace-registry-QEKBELIX.js → workspace-registry-C2IXZWPF.js} +15 -17
- package/chunks/{workspace-service-ORKHGLP3.js → workspace-service-KDDAW33F.js} +20 -21
- package/chunks/{workspace-skills-status-D7QCNDYY.js → workspace-skills-status-WWEZBZXY.js} +16 -16
- package/chunks/{write-file-JGRQR5VM.js → write-file-ACN3TAIX.js} +10 -10
- package/chunks/{zh-FSAH32JB.js → zh-PAUNIMHQ.js} +6 -0
- package/chunks/{zh-TW-D2YIE2LO.js → zh-TW-GNEUIUFF.js} +6 -0
- package/cli-entry.js +92 -8
- package/cli.js +11 -11
- package/locales/ca.js +10 -0
- package/locales/de.js +10 -0
- package/locales/en.js +11 -0
- package/locales/fr.js +10 -0
- package/locales/ja.js +10 -0
- package/locales/pt.js +10 -0
- package/locales/ru.js +10 -0
- package/locales/zh-TW.js +11 -0
- package/locales/zh.js +11 -0
- package/package.json +3 -3
- package/web-shell/assets/{arc-CUeDlxvE.js → arc-Blc5_CnD.js} +1 -1
- package/web-shell/assets/{architectureDiagram-3BPJPVTR-PiUszkQA.js → architectureDiagram-3BPJPVTR-Dyv1BvGP.js} +1 -1
- package/web-shell/assets/{blockDiagram-GPEHLZMM-s2wYSO7e.js → blockDiagram-GPEHLZMM-CVAb8DyB.js} +1 -1
- package/web-shell/assets/{c4Diagram-AAUBKEIU-DyLxZoz9.js → c4Diagram-AAUBKEIU-ClHPb_6S.js} +1 -1
- package/web-shell/assets/channel-DkPTtnGS.js +1 -0
- package/web-shell/assets/{chunk-2J33WTMH-Dsdai7Tk.js → chunk-2J33WTMH-Dad9g3ZA.js} +1 -1
- package/web-shell/assets/{chunk-4BX2VUAB-DEosOjV7.js → chunk-4BX2VUAB-IJJSSdDs.js} +1 -1
- package/web-shell/assets/{chunk-55IACEB6-sNsRLTXf.js → chunk-55IACEB6-DRcc-Hl9.js} +1 -1
- package/web-shell/assets/{chunk-727SXJPM-DkRNZzmh.js → chunk-727SXJPM-DOCFB-6a.js} +1 -1
- package/web-shell/assets/{chunk-AQP2D5EJ-BrsRNpzd.js → chunk-AQP2D5EJ-CRZnSjHp.js} +1 -1
- package/web-shell/assets/{chunk-FMBD7UC4-CI039lpl.js → chunk-FMBD7UC4-BwUI4Yes.js} +1 -1
- package/web-shell/assets/{chunk-ND2GUHAM-M-pkeIfu.js → chunk-ND2GUHAM-DLy8doxd.js} +1 -1
- package/web-shell/assets/{chunk-QZHKN3VN-C4ckGNbH.js → chunk-QZHKN3VN-Bhz7iysj.js} +1 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-DBdPU8ix.js +1 -0
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-DBdPU8ix.js +1 -0
- package/web-shell/assets/{cose-bilkent-S5V4N54A-BciKUAFq.js → cose-bilkent-S5V4N54A-jT1e8KzN.js} +1 -1
- package/web-shell/assets/{dagre-BM42HDAG-C1nTSgU6.js → dagre-BM42HDAG-C1veApQk.js} +1 -1
- package/web-shell/assets/{diagram-2AECGRRQ-BDPNWr1m.js → diagram-2AECGRRQ-C_NOwKeT.js} +1 -1
- package/web-shell/assets/{diagram-5GNKFQAL-CNFhTszL.js → diagram-5GNKFQAL-Bigfuz1r.js} +1 -1
- package/web-shell/assets/{diagram-KO2AKTUF-CjPa4p5a.js → diagram-KO2AKTUF-CpXltPpU.js} +1 -1
- package/web-shell/assets/{diagram-LMA3HP47-ZzPykSyG.js → diagram-LMA3HP47-DYawbYbH.js} +1 -1
- package/web-shell/assets/{diagram-OG6HWLK6-0UVtZ9A4.js → diagram-OG6HWLK6-D2t-ttd1.js} +1 -1
- package/web-shell/assets/{erDiagram-TEJ5UH35-CajDZCat.js → erDiagram-TEJ5UH35-Buc53PB5.js} +1 -1
- package/web-shell/assets/{flowDiagram-I6XJVG4X-BRuFBIvL.js → flowDiagram-I6XJVG4X-DwdFsCN7.js} +1 -1
- package/web-shell/assets/{ganttDiagram-6RSMTGT7-BevGmJqG.js → ganttDiagram-6RSMTGT7-XhiEKGoP.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-PVQCEYII-DvPMpBMb.js → gitGraphDiagram-PVQCEYII-D6We014a.js} +1 -1
- package/web-shell/assets/index-BctAmeF3.js +1143 -0
- package/web-shell/assets/{index-DzHwQkQq.js → index-CAWqS-bZ.js} +1 -1
- package/web-shell/assets/index-DLyhlZZO.css +5 -0
- package/web-shell/assets/{infoDiagram-5YYISTIA-Oixn7tA9.js → infoDiagram-5YYISTIA-C_iugRHQ.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-BgKpeg-j.js → ishikawaDiagram-YF4QCWOH-CAn9Kaix.js} +1 -1
- package/web-shell/assets/{journeyDiagram-JHISSGLW-74mwxIaA.js → journeyDiagram-JHISSGLW-BjDYOkEB.js} +1 -1
- package/web-shell/assets/{kanban-definition-UN3LZRKU-D4D6cEqA.js → kanban-definition-UN3LZRKU-Br_oI3Ob.js} +1 -1
- package/web-shell/assets/{linear-atZRE_L2.js → linear-BqnWHE9E.js} +1 -1
- package/web-shell/assets/{mermaid.core-KKudX-JC.js → mermaid.core-CT-sofSb.js} +5 -5
- package/web-shell/assets/{mindmap-definition-RKZ34NQL-CMCej9yG.js → mindmap-definition-RKZ34NQL-BbvrZR4B.js} +1 -1
- package/web-shell/assets/{pieDiagram-4H26LBE5-nhx40X7q.js → pieDiagram-4H26LBE5-gAwi3h_Q.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-W4KKPZXB-CUmVcN3M.js → quadrantDiagram-W4KKPZXB-CONvBIuO.js} +1 -1
- package/web-shell/assets/{requirementDiagram-4Y6WPE33-C_vyEwyy.js → requirementDiagram-4Y6WPE33-lpkrcy1e.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-5OEKKPKP-DU6G4VWR.js → sankeyDiagram-5OEKKPKP-Bk6FJHqb.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-3UESZ5HK-DdeRR_KJ.js → sequenceDiagram-3UESZ5HK-B9b9bBzt.js} +1 -1
- package/web-shell/assets/{stateDiagram-AJRCARHV-C6iCI8ps.js → stateDiagram-AJRCARHV-JqBGC-S3.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-B_w4fDnm.js +1 -0
- package/web-shell/assets/{timeline-definition-PNZ67QCA-B_Ea8Cb7.js → timeline-definition-PNZ67QCA-CCCceXDP.js} +1 -1
- package/web-shell/assets/{vennDiagram-CIIHVFJN-BPUVZEJA.js → vennDiagram-CIIHVFJN-EHRnmZ09.js} +1 -1
- package/web-shell/assets/{wardley-L42UT6IY-BWEj0lKY.js → wardley-L42UT6IY-CYIcHx3_.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-YWT4CUSO-BvDsdIQw.js → wardleyDiagram-YWT4CUSO-B81AuYRl.js} +1 -1
- package/web-shell/assets/{xychartDiagram-2RQKCTM6-crz0QhF_.js → xychartDiagram-2RQKCTM6-DOQ6E3z7.js} +1 -1
- package/web-shell/index.html +2 -2
- package/chunks/channel-worker-group-K7QKH6IG.js +0 -13
- package/chunks/chunk-B7NUUEXC.js +0 -311
- package/chunks/chunk-CARU2RR2.js +0 -24
- package/chunks/chunk-GYTKQYDB.js +0 -23
- package/chunks/chunk-LQU7EVFA.js +0 -30
- package/chunks/chunk-OCPBI7J5.js +0 -18
- package/chunks/chunk-OJAMDVF5.js +0 -66
- package/chunks/chunk-TEGEBB2I.js +0 -122
- package/web-shell/assets/channel-DkuJJ0qd.js +0 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-CwqHc0TB.js +0 -1
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-CwqHc0TB.js +0 -1
- package/web-shell/assets/index-Cnvv4VcI.css +0 -5
- package/web-shell/assets/index-D1Uyklxa.js +0 -1088
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-C0_6nR6C.js +0 -1
|
@@ -2,25 +2,25 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
getExtensionManager
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-4YR7FSAM.js";
|
|
6
6
|
import {
|
|
7
7
|
getPlugin,
|
|
8
8
|
parseChannelConfig,
|
|
9
9
|
registerPlugin
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-5CNYZ7TN.js";
|
|
11
11
|
import {
|
|
12
12
|
sanitizeLogText
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-ZQIYGQCG.js";
|
|
14
14
|
import {
|
|
15
15
|
loadSettings
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-5WWYHNAH.js";
|
|
17
17
|
import {
|
|
18
18
|
writeStderrLine,
|
|
19
19
|
writeStdoutLine
|
|
20
20
|
} from "./chunk-YUZI3WAC.js";
|
|
21
21
|
import {
|
|
22
22
|
hashDaemonWorkspace
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-BTSE2DUP.js";
|
|
24
24
|
import {
|
|
25
25
|
Storage
|
|
26
26
|
} from "./chunk-7NFB7LBQ.js";
|
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
// Force strict mode and setup for ESM
|
|
2
2
|
"use strict";
|
|
3
|
-
import {
|
|
4
|
-
ndJsonStream
|
|
5
|
-
} from "./chunk-TEGEBB2I.js";
|
|
6
3
|
import {
|
|
7
4
|
MissingCliEntryError
|
|
8
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-W6J7RSCK.js";
|
|
9
6
|
import {
|
|
10
7
|
redactLogCredentials
|
|
11
8
|
} from "./chunk-M5GB774H.js";
|
|
@@ -22,6 +19,113 @@ import { spawn } from "node:child_process";
|
|
|
22
19
|
import * as os from "node:os";
|
|
23
20
|
import { Readable, Writable } from "node:stream";
|
|
24
21
|
import { getHeapStatistics } from "node:v8";
|
|
22
|
+
|
|
23
|
+
// packages/acp-bridge/src/ndJsonStream.ts
|
|
24
|
+
init_esbuild_shims();
|
|
25
|
+
function ndJsonStream(output, input, hooks) {
|
|
26
|
+
const textEncoder = new TextEncoder();
|
|
27
|
+
const textDecoder = new TextDecoder();
|
|
28
|
+
const readable = new ReadableStream({
|
|
29
|
+
async start(controller) {
|
|
30
|
+
const pending = [];
|
|
31
|
+
const reader = input.getReader();
|
|
32
|
+
try {
|
|
33
|
+
while (true) {
|
|
34
|
+
const { value, done } = await reader.read();
|
|
35
|
+
if (done) break;
|
|
36
|
+
if (!value) continue;
|
|
37
|
+
readChunk(value, pending, controller, textDecoder, hooks);
|
|
38
|
+
}
|
|
39
|
+
} finally {
|
|
40
|
+
reader.releaseLock();
|
|
41
|
+
controller.close();
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
const writable = new WritableStream({
|
|
46
|
+
async write(message) {
|
|
47
|
+
const content = JSON.stringify(message);
|
|
48
|
+
const payload = textEncoder.encode(content);
|
|
49
|
+
const frame = new Uint8Array(payload.byteLength + 1);
|
|
50
|
+
frame.set(payload);
|
|
51
|
+
frame[payload.byteLength] = 10;
|
|
52
|
+
const writer = output.getWriter();
|
|
53
|
+
try {
|
|
54
|
+
await writer.write(frame);
|
|
55
|
+
callHook(hooks?.onMessageSent, payload.byteLength);
|
|
56
|
+
callHook(hooks?.onMessageObserved, {
|
|
57
|
+
direction: "sent",
|
|
58
|
+
bytes: payload.byteLength,
|
|
59
|
+
message
|
|
60
|
+
});
|
|
61
|
+
} finally {
|
|
62
|
+
writer.releaseLock();
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
return { readable, writable };
|
|
67
|
+
}
|
|
68
|
+
__name(ndJsonStream, "ndJsonStream");
|
|
69
|
+
function readChunk(chunk, pending, controller, textDecoder, hooks) {
|
|
70
|
+
let start = 0;
|
|
71
|
+
let newline = chunk.indexOf(10, start);
|
|
72
|
+
while (newline !== -1) {
|
|
73
|
+
const lineBytes = takeLineBytes(pending, chunk.subarray(start, newline));
|
|
74
|
+
handleLine(lineBytes, controller, textDecoder, hooks);
|
|
75
|
+
start = newline + 1;
|
|
76
|
+
newline = chunk.indexOf(10, start);
|
|
77
|
+
}
|
|
78
|
+
if (start < chunk.length) {
|
|
79
|
+
pending.push(chunk.subarray(start));
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
__name(readChunk, "readChunk");
|
|
83
|
+
function takeLineBytes(pending, current) {
|
|
84
|
+
if (pending.length === 0) return current;
|
|
85
|
+
const totalLength = pending.reduce((sum, part) => sum + part.byteLength, 0) + current.byteLength;
|
|
86
|
+
const line = new Uint8Array(totalLength);
|
|
87
|
+
let offset = 0;
|
|
88
|
+
for (const part of pending) {
|
|
89
|
+
line.set(part, offset);
|
|
90
|
+
offset += part.byteLength;
|
|
91
|
+
}
|
|
92
|
+
line.set(current, offset);
|
|
93
|
+
pending.length = 0;
|
|
94
|
+
return line;
|
|
95
|
+
}
|
|
96
|
+
__name(takeLineBytes, "takeLineBytes");
|
|
97
|
+
function handleLine(lineBytes, controller, textDecoder, hooks) {
|
|
98
|
+
const line = textDecoder.decode(lineBytes);
|
|
99
|
+
const trimmedLine = line.trim();
|
|
100
|
+
if (!trimmedLine) return;
|
|
101
|
+
try {
|
|
102
|
+
const message = JSON.parse(trimmedLine);
|
|
103
|
+
controller.enqueue(message);
|
|
104
|
+
const bytes = jsonPayloadByteLength(lineBytes);
|
|
105
|
+
callHook(hooks?.onMessageReceived, bytes);
|
|
106
|
+
callHook(hooks?.onMessageObserved, {
|
|
107
|
+
direction: "received",
|
|
108
|
+
bytes,
|
|
109
|
+
message
|
|
110
|
+
});
|
|
111
|
+
} catch (err) {
|
|
112
|
+
console.error("Failed to parse JSON message:", trimmedLine, err);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
__name(handleLine, "handleLine");
|
|
116
|
+
function jsonPayloadByteLength(lineBytes) {
|
|
117
|
+
return lineBytes[lineBytes.byteLength - 1] === 13 ? lineBytes.byteLength - 1 : lineBytes.byteLength;
|
|
118
|
+
}
|
|
119
|
+
__name(jsonPayloadByteLength, "jsonPayloadByteLength");
|
|
120
|
+
function callHook(hook, value) {
|
|
121
|
+
try {
|
|
122
|
+
hook?.(value);
|
|
123
|
+
} catch {
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
__name(callHook, "callHook");
|
|
127
|
+
|
|
128
|
+
// packages/acp-bridge/src/spawnChannel.ts
|
|
25
129
|
var cachedMemoryArgs;
|
|
26
130
|
function getAcpMemoryArgs() {
|
|
27
131
|
if (cachedMemoryArgs) return cachedMemoryArgs;
|
|
@@ -221,12 +325,18 @@ function killChild(child) {
|
|
|
221
325
|
__name(killChild, "killChild");
|
|
222
326
|
|
|
223
327
|
export {
|
|
328
|
+
ndJsonStream,
|
|
224
329
|
getAcpMemoryArgs,
|
|
225
330
|
createStderrForwarder,
|
|
226
331
|
createSpawnChannelFactory,
|
|
227
332
|
defaultSpawnChannelFactory,
|
|
228
333
|
scrubChildEnv
|
|
229
334
|
};
|
|
335
|
+
/**
|
|
336
|
+
* @license
|
|
337
|
+
* Copyright 2026 Qwen Team
|
|
338
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
339
|
+
*/
|
|
230
340
|
/**
|
|
231
341
|
* @license
|
|
232
342
|
* Copyright 2025 Qwen Team
|
|
@@ -10,6 +10,226 @@ import {
|
|
|
10
10
|
__name
|
|
11
11
|
} from "./chunk-J2S4EL5Y.js";
|
|
12
12
|
|
|
13
|
+
// packages/core/src/core/tokenLimits.ts
|
|
14
|
+
init_esbuild_shims();
|
|
15
|
+
var DEFAULT_TOKEN_LIMIT = 2e5;
|
|
16
|
+
var DEFAULT_OUTPUT_TOKEN_LIMIT = 32e3;
|
|
17
|
+
var ESCALATED_MAX_TOKENS = 64e3;
|
|
18
|
+
var OUTPUT_TOKEN_CEILING = ESCALATED_MAX_TOKENS;
|
|
19
|
+
var MIN_CLAMPED_OUTPUT_TOKENS = 4e3;
|
|
20
|
+
function outputClampMargin(contextWindowSize) {
|
|
21
|
+
return Math.max(1e4, Math.round(0.05 * contextWindowSize));
|
|
22
|
+
}
|
|
23
|
+
__name(outputClampMargin, "outputClampMargin");
|
|
24
|
+
function clampOutputTokensToWindow(outputCeiling, contextWindowSize, promptTokens) {
|
|
25
|
+
const room = contextWindowSize - promptTokens - outputClampMargin(contextWindowSize);
|
|
26
|
+
return Math.min(outputCeiling, Math.max(MIN_CLAMPED_OUTPUT_TOKENS, room));
|
|
27
|
+
}
|
|
28
|
+
__name(clampOutputTokensToWindow, "clampOutputTokensToWindow");
|
|
29
|
+
function parsePositiveIntegerEnvValue(raw) {
|
|
30
|
+
if (raw === void 0) return void 0;
|
|
31
|
+
const trimmed = raw.trim();
|
|
32
|
+
if (!/^\d+$/.test(trimmed)) return void 0;
|
|
33
|
+
const parsed = Number(trimmed);
|
|
34
|
+
if (!Number.isSafeInteger(parsed) || parsed <= 0) return void 0;
|
|
35
|
+
return parsed;
|
|
36
|
+
}
|
|
37
|
+
__name(parsePositiveIntegerEnvValue, "parsePositiveIntegerEnvValue");
|
|
38
|
+
var LIMITS = {
|
|
39
|
+
"32k": 32768,
|
|
40
|
+
"64k": 65536,
|
|
41
|
+
"128k": 131072,
|
|
42
|
+
"192k": 196608,
|
|
43
|
+
// MiniMax-M2.5 context window
|
|
44
|
+
"200k": 2e5,
|
|
45
|
+
// vendor-declared decimal, used by OpenAI, Anthropic, etc.
|
|
46
|
+
"256k": 262144,
|
|
47
|
+
"272k": 272e3,
|
|
48
|
+
// vendor-declared decimal, GPT-5.x input (400K total - 128K output)
|
|
49
|
+
"384k": 384e3,
|
|
50
|
+
// vendor-declared decimal, DeepSeek V4 max output
|
|
51
|
+
"400k": 4e5,
|
|
52
|
+
// vendor-declared decimal, used by OpenAI GPT-5.x
|
|
53
|
+
"512k": 524288,
|
|
54
|
+
"1m": 1e6,
|
|
55
|
+
// Output token limits (typically much smaller than input limits)
|
|
56
|
+
"4k": 4096,
|
|
57
|
+
"8k": 8192,
|
|
58
|
+
"16k": 16384
|
|
59
|
+
};
|
|
60
|
+
function normalize(model) {
|
|
61
|
+
let s = (model ?? "").toLowerCase().trim();
|
|
62
|
+
s = s.replace(/^.*\//, "");
|
|
63
|
+
s = s.split("|").pop() ?? s;
|
|
64
|
+
s = s.split(":").pop() ?? s;
|
|
65
|
+
s = s.replace(/\s+/g, "-");
|
|
66
|
+
s = s.replace(/-preview/g, "");
|
|
67
|
+
if (!s.match(/^qwen-(?:plus|flash|vl-max)-latest$/) && !s.match(/^kimi-k2-\d{4}$/)) {
|
|
68
|
+
s = s.replace(
|
|
69
|
+
/-(?:\d{4,}|\d+x\d+b|v\d+(?:\.\d+)*|(?<=-[^-]+-)\d+(?:\.\d+)+|latest|exp)$/g,
|
|
70
|
+
""
|
|
71
|
+
);
|
|
72
|
+
}
|
|
73
|
+
s = s.replace(/-(?:\d?bit|int[48]|bf16|fp16|q[45]|quantized)$/g, "");
|
|
74
|
+
return s;
|
|
75
|
+
}
|
|
76
|
+
__name(normalize, "normalize");
|
|
77
|
+
var PATTERNS = [
|
|
78
|
+
// -------------------
|
|
79
|
+
// Google Gemini
|
|
80
|
+
// -------------------
|
|
81
|
+
[/^gemini-3/, LIMITS["1m"]],
|
|
82
|
+
// Gemini 3.x (Pro, Flash, 3.1, etc.): 1M
|
|
83
|
+
[/^gemini-/, LIMITS["1m"]],
|
|
84
|
+
// Gemini fallback (1.5, 2.x): 1M
|
|
85
|
+
// -------------------
|
|
86
|
+
// OpenAI
|
|
87
|
+
// -------------------
|
|
88
|
+
[/^gpt-5/, LIMITS["272k"]],
|
|
89
|
+
// GPT-5.x: 272K input (400K total - 128K output)
|
|
90
|
+
[/^gpt-/, LIMITS["128k"]],
|
|
91
|
+
// GPT fallback (4o, 4.1, etc.): 128K
|
|
92
|
+
[/^o\d/, LIMITS["200k"]],
|
|
93
|
+
// o-series (o3, o4-mini, etc.): 200K
|
|
94
|
+
// -------------------
|
|
95
|
+
// Anthropic Claude
|
|
96
|
+
// -------------------
|
|
97
|
+
[/^claude-opus-4-(?:6|7|8)/, LIMITS["1m"]],
|
|
98
|
+
// Opus 4.6-4.8: 1M
|
|
99
|
+
[/^claude-/, LIMITS["200k"]],
|
|
100
|
+
// All Claude models: 200K
|
|
101
|
+
// -------------------
|
|
102
|
+
// Alibaba / Qwen
|
|
103
|
+
// -------------------
|
|
104
|
+
// Commercial API models (1,000,000 context)
|
|
105
|
+
[/^qwen3-coder-plus/, LIMITS["1m"]],
|
|
106
|
+
[/^qwen3-coder-flash/, LIMITS["1m"]],
|
|
107
|
+
[/^qwen3\.\d/, LIMITS["1m"]],
|
|
108
|
+
[/^qwen-plus-latest$/, LIMITS["1m"]],
|
|
109
|
+
[/^qwen-flash-latest$/, LIMITS["1m"]],
|
|
110
|
+
[/^coder-model$/, LIMITS["1m"]],
|
|
111
|
+
// Commercial API models (256K context)
|
|
112
|
+
[/^qwen3-max/, LIMITS["256k"]],
|
|
113
|
+
// Open-source Qwen3 variants: 256K native
|
|
114
|
+
[/^qwen3-coder-/, LIMITS["256k"]],
|
|
115
|
+
// Qwen fallback (VL, turbo, plus, 2.5, etc.): 256K
|
|
116
|
+
[/^qwen/, LIMITS["256k"]],
|
|
117
|
+
// -------------------
|
|
118
|
+
// DeepSeek
|
|
119
|
+
// -------------------
|
|
120
|
+
[/^deepseek-v4/, LIMITS["1m"]],
|
|
121
|
+
// DeepSeek V4 (flash, pro): 1M
|
|
122
|
+
[/^deepseek/, LIMITS["128k"]],
|
|
123
|
+
// -------------------
|
|
124
|
+
// Zhipu GLM
|
|
125
|
+
// -------------------
|
|
126
|
+
// 1M context is the forward default for new GLM releases (GLM-5.2+, GLM-6.x,
|
|
127
|
+
// and beyond) so they need no future code change. Confirmed 200K families
|
|
128
|
+
// (GLM-5 / 5.0 / 5.1, GLM-4.x and older) are pinned explicitly first.
|
|
129
|
+
[/^glm-5(\.[01])?(-|$)/, 202752],
|
|
130
|
+
// GLM-5 / 5.0 / 5.1: 200K
|
|
131
|
+
[/^glm-(?:[5-9]|\d{2,})/, LIMITS["1m"]],
|
|
132
|
+
// GLM-5.2+, 6.x..9.x, 10.x+: 1M
|
|
133
|
+
[/^glm-/, 202752],
|
|
134
|
+
// GLM <=4.x / non-numeric fallback: 200K
|
|
135
|
+
// -------------------
|
|
136
|
+
// MiniMax
|
|
137
|
+
// -------------------
|
|
138
|
+
[/^minimax-m3/i, LIMITS["1m"]],
|
|
139
|
+
// MiniMax-M3: 1,000,000
|
|
140
|
+
[/^minimax-m2\.5/i, LIMITS["192k"]],
|
|
141
|
+
// MiniMax-M2.5: 196,608
|
|
142
|
+
[/^minimax-/i, LIMITS["200k"]],
|
|
143
|
+
// MiniMax fallback: 200K
|
|
144
|
+
// -------------------
|
|
145
|
+
// Moonshot / Kimi
|
|
146
|
+
// -------------------
|
|
147
|
+
[/^kimi-/, LIMITS["256k"]],
|
|
148
|
+
// Kimi fallback: 256K
|
|
149
|
+
// -------------------
|
|
150
|
+
// ByteDance Seed-OSS (512K)
|
|
151
|
+
// -------------------
|
|
152
|
+
[/^seed-oss/, LIMITS["512k"]]
|
|
153
|
+
];
|
|
154
|
+
var OUTPUT_PATTERNS = [
|
|
155
|
+
// Google Gemini
|
|
156
|
+
[/^gemini-3/, LIMITS["64k"]],
|
|
157
|
+
// Gemini 3.x: 64K
|
|
158
|
+
[/^gemini-/, LIMITS["8k"]],
|
|
159
|
+
// Gemini fallback: 8K
|
|
160
|
+
// OpenAI
|
|
161
|
+
[/^gpt-5/, LIMITS["128k"]],
|
|
162
|
+
// GPT-5.x: 128K
|
|
163
|
+
[/^gpt-/, LIMITS["16k"]],
|
|
164
|
+
// GPT fallback: 16K
|
|
165
|
+
[/^o\d/, LIMITS["128k"]],
|
|
166
|
+
// o-series: 128K
|
|
167
|
+
// Anthropic Claude
|
|
168
|
+
[/^claude-opus-4-(?:6|7|8)/, 128e3],
|
|
169
|
+
// Opus 4.6-4.8: 128K
|
|
170
|
+
[/^claude-sonnet-4-6/, LIMITS["64k"]],
|
|
171
|
+
// Sonnet 4.6: 64K
|
|
172
|
+
[/^claude-/, LIMITS["64k"]],
|
|
173
|
+
// Claude fallback: 64K
|
|
174
|
+
// Alibaba / Qwen
|
|
175
|
+
[/^qwen3\.\d/, LIMITS["64k"]],
|
|
176
|
+
[/^coder-model$/, LIMITS["64k"]],
|
|
177
|
+
[/^qwen/, LIMITS["32k"]],
|
|
178
|
+
// Qwen fallback (VL, turbo, plus, etc.): 32K
|
|
179
|
+
// DeepSeek
|
|
180
|
+
[/^deepseek-v4/, LIMITS["384k"]],
|
|
181
|
+
// DeepSeek V4 (flash, pro): 384K
|
|
182
|
+
[/^deepseek-reasoner/, LIMITS["64k"]],
|
|
183
|
+
[/^deepseek-r1/, LIMITS["64k"]],
|
|
184
|
+
[/^deepseek-chat/, LIMITS["8k"]],
|
|
185
|
+
// Zhipu GLM
|
|
186
|
+
[/^glm-5(?:\.\d+)?(?:-|$)/, LIMITS["128k"]],
|
|
187
|
+
[/^glm-4\.7/, LIMITS["16k"]],
|
|
188
|
+
// MiniMax
|
|
189
|
+
[/^minimax-m2\.5/i, LIMITS["64k"]],
|
|
190
|
+
// Kimi
|
|
191
|
+
[/^kimi-k2\.5/, LIMITS["32k"]]
|
|
192
|
+
];
|
|
193
|
+
function findTokenLimit(model, type = "input") {
|
|
194
|
+
const norm = normalize(model);
|
|
195
|
+
const patterns = type === "output" ? OUTPUT_PATTERNS : PATTERNS;
|
|
196
|
+
for (const [regex, limit] of patterns) {
|
|
197
|
+
if (regex.test(norm)) {
|
|
198
|
+
return limit;
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
return void 0;
|
|
202
|
+
}
|
|
203
|
+
__name(findTokenLimit, "findTokenLimit");
|
|
204
|
+
function hasExplicitOutputLimit(model) {
|
|
205
|
+
const norm = normalize(model);
|
|
206
|
+
return OUTPUT_PATTERNS.some(([regex]) => regex.test(norm));
|
|
207
|
+
}
|
|
208
|
+
__name(hasExplicitOutputLimit, "hasExplicitOutputLimit");
|
|
209
|
+
function knownTokenLimit(model, type = "input") {
|
|
210
|
+
return findTokenLimit(model, type);
|
|
211
|
+
}
|
|
212
|
+
__name(knownTokenLimit, "knownTokenLimit");
|
|
213
|
+
function tokenLimit(model, type = "input") {
|
|
214
|
+
return knownTokenLimit(model, type) ?? (type === "output" ? DEFAULT_OUTPUT_TOKEN_LIMIT : DEFAULT_TOKEN_LIMIT);
|
|
215
|
+
}
|
|
216
|
+
__name(tokenLimit, "tokenLimit");
|
|
217
|
+
function defaultOutputCeiling(model) {
|
|
218
|
+
const outputLimit = tokenLimit(model, "output");
|
|
219
|
+
if (/^claude-opus-4-(?:6|7|8)/.test(normalize(model))) {
|
|
220
|
+
return outputLimit;
|
|
221
|
+
}
|
|
222
|
+
return Math.min(outputLimit, OUTPUT_TOKEN_CEILING);
|
|
223
|
+
}
|
|
224
|
+
__name(defaultOutputCeiling, "defaultOutputCeiling");
|
|
225
|
+
function reconcileMaxTokens(configMaxTokens, requestMaxTokens) {
|
|
226
|
+
if (typeof configMaxTokens === "number" && typeof requestMaxTokens === "number") {
|
|
227
|
+
return Math.min(configMaxTokens, requestMaxTokens);
|
|
228
|
+
}
|
|
229
|
+
return void 0;
|
|
230
|
+
}
|
|
231
|
+
__name(reconcileMaxTokens, "reconcileMaxTokens");
|
|
232
|
+
|
|
13
233
|
// packages/core/src/utils/request-tokenizer/textTokenizer.ts
|
|
14
234
|
init_esbuild_shims();
|
|
15
235
|
var NON_ASCII_RE = /[\u0080-\uffff]/;
|
|
@@ -58,6 +278,18 @@ var TextTokenizer = class {
|
|
|
58
278
|
}
|
|
59
279
|
};
|
|
60
280
|
|
|
281
|
+
// packages/core/src/core/tool-call-preparation.ts
|
|
282
|
+
init_esbuild_shims();
|
|
283
|
+
var preparationsByResponse = /* @__PURE__ */ new WeakMap();
|
|
284
|
+
function setToolCallPreparations(response, preparations) {
|
|
285
|
+
preparationsByResponse.set(response, preparations);
|
|
286
|
+
}
|
|
287
|
+
__name(setToolCallPreparations, "setToolCallPreparations");
|
|
288
|
+
function getToolCallPreparations(response) {
|
|
289
|
+
return preparationsByResponse.get(response) ?? [];
|
|
290
|
+
}
|
|
291
|
+
__name(getToolCallPreparations, "getToolCallPreparations");
|
|
292
|
+
|
|
61
293
|
// packages/core/src/utils/runtimeDiagnostics.ts
|
|
62
294
|
init_esbuild_shims();
|
|
63
295
|
var RUNTIME_PROFILE_ENV = "QWEN_CODE_PROFILE_RUNTIME";
|
|
@@ -1241,10 +1473,26 @@ function toOpenAPI30(schema) {
|
|
|
1241
1473
|
__name(toOpenAPI30, "toOpenAPI30");
|
|
1242
1474
|
|
|
1243
1475
|
export {
|
|
1476
|
+
DEFAULT_TOKEN_LIMIT,
|
|
1477
|
+
DEFAULT_OUTPUT_TOKEN_LIMIT,
|
|
1478
|
+
ESCALATED_MAX_TOKENS,
|
|
1479
|
+
OUTPUT_TOKEN_CEILING,
|
|
1480
|
+
MIN_CLAMPED_OUTPUT_TOKENS,
|
|
1481
|
+
outputClampMargin,
|
|
1482
|
+
clampOutputTokensToWindow,
|
|
1483
|
+
parsePositiveIntegerEnvValue,
|
|
1484
|
+
normalize,
|
|
1485
|
+
hasExplicitOutputLimit,
|
|
1486
|
+
knownTokenLimit,
|
|
1487
|
+
tokenLimit,
|
|
1488
|
+
defaultOutputCeiling,
|
|
1489
|
+
reconcileMaxTokens,
|
|
1244
1490
|
estimateTextTokens,
|
|
1245
1491
|
TextTokenizer,
|
|
1246
1492
|
safeJsonParse,
|
|
1247
1493
|
convertSchema,
|
|
1494
|
+
setToolCallPreparations,
|
|
1495
|
+
getToolCallPreparations,
|
|
1248
1496
|
isRuntimeDiagnosticsEnabled,
|
|
1249
1497
|
RuntimeDiagnosticsCollector,
|
|
1250
1498
|
runtimeDiagnostics,
|
|
@@ -1258,11 +1506,11 @@ export {
|
|
|
1258
1506
|
*/
|
|
1259
1507
|
/**
|
|
1260
1508
|
* @license
|
|
1261
|
-
* Copyright
|
|
1509
|
+
* Copyright 2025 Google LLC
|
|
1262
1510
|
* SPDX-License-Identifier: Apache-2.0
|
|
1263
1511
|
*/
|
|
1264
1512
|
/**
|
|
1265
1513
|
* @license
|
|
1266
|
-
* Copyright
|
|
1514
|
+
* Copyright 2026 Qwen
|
|
1267
1515
|
* SPDX-License-Identifier: Apache-2.0
|
|
1268
1516
|
*/
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
SkillError
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-R6AO7HBQ.js";
|
|
6
6
|
import {
|
|
7
7
|
init_esbuild_shims
|
|
8
8
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -79,6 +79,8 @@ var SERVE_CONTROL_EXT_METHODS = {
|
|
|
79
79
|
sessionBranch: "qwen/control/session/branch",
|
|
80
80
|
sessionForkAgent: "qwen/control/session/fork_agent",
|
|
81
81
|
sessionRecap: "qwen/control/session/recap",
|
|
82
|
+
sessionGenerationStart: "qwen/control/session/generation/start",
|
|
83
|
+
sessionGenerationCancel: "qwen/control/session/generation/cancel",
|
|
82
84
|
sessionBtw: "qwen/control/session/btw",
|
|
83
85
|
sessionShellHistory: "qwen/control/session/shell_history",
|
|
84
86
|
sessionLanguage: "qwen/control/session/language",
|
|
@@ -86,9 +88,12 @@ var SERVE_CONTROL_EXT_METHODS = {
|
|
|
86
88
|
sessionContinue: "qwen/control/session/continue",
|
|
87
89
|
sessionTitle: "qwen/control/session/title",
|
|
88
90
|
sessionParent: "qwen/control/session/parent",
|
|
91
|
+
sessionSource: "qwen/control/session/source",
|
|
89
92
|
sessionArtifactsPersist: "qwen/control/session/artifacts/persist",
|
|
90
93
|
workspaceMcpRestart: "qwen/control/workspace/mcp/restart",
|
|
91
94
|
workspaceMcpManage: "qwen/control/workspace/mcp/manage",
|
|
95
|
+
workspaceMcpInitialize: "qwen/control/workspace/mcp/initialize",
|
|
96
|
+
workspaceMcpReload: "qwen/control/workspace/mcp/reload",
|
|
92
97
|
workspaceAgentGenerate: "qwen/control/workspace/agents/generate",
|
|
93
98
|
workspaceMemoryRememberAvailability: "qwen/control/workspace/memory/remember/availability",
|
|
94
99
|
workspaceMemoryRemember: "qwen/control/workspace/memory/remember",
|
|
@@ -4,14 +4,14 @@ import {
|
|
|
4
4
|
resolveModelConfig,
|
|
5
5
|
resolveProviderProtocol,
|
|
6
6
|
stripRuntimeSnapshotPrefix
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-R6AO7HBQ.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-BTSE2DUP.js";
|
|
15
15
|
import {
|
|
16
16
|
REASONING_EFFORT_TIERS,
|
|
17
17
|
normalizeReasoningEffort
|
|
@@ -25,10 +25,95 @@ import {
|
|
|
25
25
|
|
|
26
26
|
// packages/cli/src/utils/acpModelUtils.ts
|
|
27
27
|
init_esbuild_shims();
|
|
28
|
+
import { createHash } from "node:crypto";
|
|
29
|
+
var ACP_ROUTE_ID_PREFIX = "qwen-route:v1:";
|
|
30
|
+
function getRouteEndpointIdentity(baseUrl) {
|
|
31
|
+
if (!baseUrl) return null;
|
|
32
|
+
try {
|
|
33
|
+
const url = new URL(baseUrl);
|
|
34
|
+
url.username = "";
|
|
35
|
+
url.password = "";
|
|
36
|
+
url.search = "";
|
|
37
|
+
url.hash = "";
|
|
38
|
+
return url.href;
|
|
39
|
+
} catch {
|
|
40
|
+
return sanitizeProviderBaseUrl(baseUrl).split(/[?#]/, 1)[0] ?? null;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
__name(getRouteEndpointIdentity, "getRouteEndpointIdentity");
|
|
28
44
|
function formatAcpModelId(modelId, authType) {
|
|
29
45
|
return `${modelId}(${authType})`;
|
|
30
46
|
}
|
|
31
47
|
__name(formatAcpModelId, "formatAcpModelId");
|
|
48
|
+
function buildAcpModelOptions(models) {
|
|
49
|
+
const candidates = models.filter((model) => model.fastOnly !== true && model.voiceOnly !== true).map((model) => {
|
|
50
|
+
const effectiveModelId = model.isRuntimeModel && model.runtimeSnapshotId ? model.runtimeSnapshotId : model.id;
|
|
51
|
+
return {
|
|
52
|
+
model,
|
|
53
|
+
effectiveModelId,
|
|
54
|
+
legacyModelId: formatAcpModelId(effectiveModelId, model.authType)
|
|
55
|
+
};
|
|
56
|
+
});
|
|
57
|
+
const counts = /* @__PURE__ */ new Map();
|
|
58
|
+
for (const candidate of candidates) {
|
|
59
|
+
counts.set(
|
|
60
|
+
candidate.legacyModelId,
|
|
61
|
+
(counts.get(candidate.legacyModelId) ?? 0) + 1
|
|
62
|
+
);
|
|
63
|
+
}
|
|
64
|
+
const discriminators = /* @__PURE__ */ new Set();
|
|
65
|
+
return candidates.map(({ model, effectiveModelId, legacyModelId }) => {
|
|
66
|
+
const discriminator = [
|
|
67
|
+
legacyModelId,
|
|
68
|
+
model.label,
|
|
69
|
+
model.envKey ?? null,
|
|
70
|
+
model.registryBaseUrl === void 0,
|
|
71
|
+
getRouteEndpointIdentity(model.registryBaseUrl ?? model.baseUrl)
|
|
72
|
+
];
|
|
73
|
+
const discriminatorKey = JSON.stringify(discriminator);
|
|
74
|
+
if (counts.get(legacyModelId) !== 1 && discriminators.has(discriminatorKey)) {
|
|
75
|
+
throw new Error(
|
|
76
|
+
`ACP model routes for "${legacyModelId}" need distinct names, envKey values, or public endpoints.`
|
|
77
|
+
);
|
|
78
|
+
}
|
|
79
|
+
discriminators.add(discriminatorKey);
|
|
80
|
+
return {
|
|
81
|
+
model,
|
|
82
|
+
effectiveModelId,
|
|
83
|
+
modelId: counts.get(legacyModelId) === 1 ? legacyModelId : `${ACP_ROUTE_ID_PREFIX}${createHash("sha256").update(discriminatorKey).digest("base64url").slice(0, 16)}`
|
|
84
|
+
};
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
__name(buildAcpModelOptions, "buildAcpModelOptions");
|
|
88
|
+
function resolveAcpModelOption(input, models) {
|
|
89
|
+
const matched = buildAcpModelOptions(models).find(
|
|
90
|
+
(option) => option.modelId === input.trim()
|
|
91
|
+
);
|
|
92
|
+
if (!matched) return null;
|
|
93
|
+
return {
|
|
94
|
+
modelId: matched.effectiveModelId,
|
|
95
|
+
authType: matched.model.authType,
|
|
96
|
+
...matched.model.registryBaseUrl !== void 0 ? { baseUrl: matched.model.registryBaseUrl } : {},
|
|
97
|
+
...!matched.model.isRuntimeModel ? { registryBaseUrl: matched.model.registryBaseUrl ?? null } : {},
|
|
98
|
+
isRuntime: matched.model.isRuntimeModel === true
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
__name(resolveAcpModelOption, "resolveAcpModelOption");
|
|
102
|
+
function getCurrentAcpModelId(options, modelId, authType, registryBaseUrl) {
|
|
103
|
+
if (!modelId || !authType) return modelId;
|
|
104
|
+
const matching = options.filter(
|
|
105
|
+
(option) => option.effectiveModelId === modelId && option.model.authType === authType
|
|
106
|
+
);
|
|
107
|
+
if (matching[0]?.model.isRuntimeModel) return matching[0].modelId;
|
|
108
|
+
if (registryBaseUrl !== void 0) {
|
|
109
|
+
const exact = matching.find(
|
|
110
|
+
(option) => (option.model.registryBaseUrl ?? null) === registryBaseUrl
|
|
111
|
+
);
|
|
112
|
+
return exact?.modelId ?? modelId;
|
|
113
|
+
}
|
|
114
|
+
return matching.length === 1 ? matching[0].modelId : formatAcpModelId(modelId, authType);
|
|
115
|
+
}
|
|
116
|
+
__name(getCurrentAcpModelId, "getCurrentAcpModelId");
|
|
32
117
|
function sanitizeProviderBaseUrl(baseUrl) {
|
|
33
118
|
const scheme = baseUrl.match(/^[A-Za-z][A-Za-z\d+.-]*:\/\//);
|
|
34
119
|
if (!scheme) {
|
|
@@ -342,6 +427,7 @@ function resolveCliGenerationConfig(inputs) {
|
|
|
342
427
|
apiKey: resolved.config.apiKey || "",
|
|
343
428
|
baseUrl: resolved.config.baseUrl || "",
|
|
344
429
|
generationConfig,
|
|
430
|
+
...modelProvider ? { registryBaseUrl: modelProvider.baseUrl ?? null } : {},
|
|
345
431
|
sources: resolved.sources,
|
|
346
432
|
warnings: [
|
|
347
433
|
...resolved.warnings,
|
|
@@ -358,7 +444,10 @@ function resolveCliGenerationConfig(inputs) {
|
|
|
358
444
|
__name(resolveCliGenerationConfig, "resolveCliGenerationConfig");
|
|
359
445
|
|
|
360
446
|
export {
|
|
361
|
-
|
|
447
|
+
ACP_ROUTE_ID_PREFIX,
|
|
448
|
+
buildAcpModelOptions,
|
|
449
|
+
resolveAcpModelOption,
|
|
450
|
+
getCurrentAcpModelId,
|
|
362
451
|
sanitizeProviderBaseUrl,
|
|
363
452
|
parseAcpBaseModelId,
|
|
364
453
|
parseAcpModelOption,
|