@qwen-code/qwen-code 0.21.6-preview.0 → 0.21.7-nightly.20260807.fca8f3c1f
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 +19 -9
- package/bundled/qc-helper/docs/features/channels/dingtalk.md +1 -1
- package/bundled/qc-helper/docs/features/channels/github.md +31 -19
- package/bundled/qc-helper/docs/features/code-review.md +30 -1
- package/bundled/qc-helper/docs/qwen-serve.md +1 -1
- package/bundled/review/SKILL.md +59 -22
- package/chunks/{MaxSizedBox-A3UYJS6B.js → MaxSizedBox-NHT7OJY4.js} +38 -38
- package/chunks/{StandaloneSessionPicker-NGLY26I4.js → StandaloneSessionPicker-B2BHAP6E.js} +56 -55
- package/chunks/{acp-startup-profiler-3RICG2YW.js → acp-startup-profiler-ORIQ2CCQ.js} +2 -2
- package/chunks/{acpAgent-V54T2EEL.js → acpAgent-ITFWQGW2.js} +1091 -150
- package/chunks/{agent-2P53VL2L.js → agent-CQ66PAFN.js} +35 -35
- package/chunks/{agent-headless-6X4GCFRD.js → agent-headless-XFODWIW2.js} +35 -35
- package/chunks/{anthropicContentGenerator-3CAHEZBM.js → anthropicContentGenerator-DTMVEL5M.js} +7 -7
- package/chunks/{artifact-tool-RROCCJDA.js → artifact-tool-U4VOZIK5.js} +2 -2
- package/chunks/{askUserQuestion-2EPPBPUZ.js → askUserQuestion-XOBQLPFA.js} +2 -2
- package/chunks/{bridge-TCFMLKHR.js → bridge-5XPZZ43S.js} +41 -41
- package/chunks/{channel-management-service-5XPPTWUQ.js → channel-management-service-FSQ7SHYI.js} +1 -1
- package/chunks/{channel-settings-store-B4HNMNQV.js → channel-settings-store-ZRWVDSMY.js} +42 -42
- package/chunks/{channel-worker-group-SVGPDH2C.js → channel-worker-group-JWQK224X.js} +5 -5
- package/chunks/{channel-worker-manager-72ZK2GTS.js → channel-worker-manager-77E3OXRQ.js} +5 -5
- package/chunks/{channel-worker-supervisor-NUEDVHX4.js → channel-worker-supervisor-62YWUGP2.js} +3 -3
- package/chunks/{chunk-XC656O42.js → chunk-22NBYCPD.js} +3 -3
- package/chunks/chunk-2VSTGY6M.js +107 -0
- package/chunks/{chunk-MBEMTXQT.js → chunk-3K7FH2KQ.js} +1 -32
- package/chunks/{chunk-ZH7G3A4U.js → chunk-3KY5HXE6.js} +4 -4
- package/chunks/{chunk-QYPT3QUD.js → chunk-3ULCB3NE.js} +3 -3
- package/chunks/{chunk-DOICUTPO.js → chunk-4L3YFXQL.js} +11 -10
- package/chunks/{chunk-WIPQR44Y.js → chunk-4UKNQ2HI.js} +3 -3
- package/chunks/{chunk-AU3XNTMV.js → chunk-52AXQBAY.js} +3 -3
- package/chunks/{chunk-6KEN3RIC.js → chunk-5JFKVENR.js} +3 -3
- package/chunks/{chunk-TVFC3XF5.js → chunk-5OYWFYX3.js} +7 -7
- package/chunks/{chunk-4E5PO6R7.js → chunk-6IKXD7ZR.js} +4 -4
- package/chunks/{chunk-5L6CQ4ZU.js → chunk-6M26GBKX.js} +2 -2
- package/chunks/{chunk-XOZ2R6XI.js → chunk-7GXFPUOL.js} +3578 -1487
- package/chunks/{chunk-4T6QMNX2.js → chunk-7HMDOAIC.js} +185 -12
- package/chunks/{chunk-33FNCQSY.js → chunk-7MH4J33A.js} +2 -2
- package/chunks/{chunk-2AGOQ7QO.js → chunk-7UFKAV7Y.js} +118 -6
- package/chunks/{chunk-JELIWHXD.js → chunk-AOHJKPKL.js} +1 -1
- package/chunks/{chunk-SPUDIAHX.js → chunk-ASSORJG6.js} +530 -388
- package/chunks/{chunk-GLNBDYUX.js → chunk-AXMWHKXA.js} +6 -2
- package/chunks/{chunk-H36SETQS.js → chunk-B2GJNDTV.js} +1 -1
- package/chunks/{chunk-RTWF7FF7.js → chunk-BDE433DP.js} +5 -5
- package/chunks/{chunk-6D6V55ZQ.js → chunk-BEBG3YE6.js} +1 -1
- package/chunks/{chunk-QMBEW7EW.js → chunk-BGG4MBYD.js} +2 -2
- package/chunks/{chunk-QL4TN4HS.js → chunk-BRVWYMKV.js} +1 -1
- package/chunks/{chunk-6WBWIPBF.js → chunk-BVWVWGLE.js} +2 -2
- package/chunks/{chunk-WPKIU4PA.js → chunk-CFJIT7IA.js} +6 -6
- package/chunks/{chunk-2UISUFHQ.js → chunk-CJXIIILK.js} +3 -3
- package/chunks/{chunk-WK4TJUEA.js → chunk-CKASRHZI.js} +1 -1
- package/chunks/{chunk-Z7JILXGX.js → chunk-CNIID3TV.js} +3 -3
- package/chunks/{chunk-KKN2IE7Q.js → chunk-CTJLZLB5.js} +1 -1
- package/chunks/{chunk-URJHXOSO.js → chunk-CYR3HI5X.js} +3 -3
- package/chunks/{chunk-4LKVQFHM.js → chunk-DREZZAZM.js} +2 -2
- package/chunks/{chunk-QWUYFMAR.js → chunk-E24IQ3WV.js} +87 -67
- package/chunks/{chunk-WXS647W5.js → chunk-E2DXJHVN.js} +3 -3
- package/chunks/{chunk-2U7GPHA6.js → chunk-E33LOKRA.js} +1 -1
- package/chunks/{chunk-CDHNGCJI.js → chunk-ECTZI76Q.js} +7 -7
- package/chunks/{chunk-2DNKEBXY.js → chunk-EI3HZX6C.js} +1 -1
- package/chunks/{chunk-U25CMJYY.js → chunk-EKPKKXY2.js} +1 -1
- package/chunks/{chunk-432XCUHF.js → chunk-EQL65XGA.js} +1 -1
- package/chunks/{chunk-TYERNYH4.js → chunk-EUNWC2VS.js} +2 -2
- package/chunks/{chunk-546CDN6D.js → chunk-F4SQY4RB.js} +3 -3
- package/chunks/{chunk-NKST54XA.js → chunk-FBPPGNA4.js} +1 -1
- package/chunks/{chunk-MFBUJMQ3.js → chunk-FCBM3ZRY.js} +4 -4
- package/chunks/{chunk-UH7Z7Y45.js → chunk-FOGU3LJX.js} +1 -1
- package/chunks/{chunk-O656RSMC.js → chunk-FTJUO7R2.js} +18 -10
- package/chunks/{chunk-E4WHKETF.js → chunk-FVKHVJZQ.js} +2 -49
- package/chunks/{chunk-XZCMQUOF.js → chunk-GDXET5XU.js} +31 -3387
- package/chunks/{chunk-A5YZ3FA2.js → chunk-GM463R2B.js} +1 -1
- package/chunks/{chunk-MOHAWIAW.js → chunk-GNPNYXJB.js} +2 -2
- package/chunks/{chunk-HKNSU4WX.js → chunk-GUHLKZ57.js} +198 -35
- package/chunks/{chunk-N47ZM2KI.js → chunk-HCVI44SK.js} +12 -12
- package/chunks/{chunk-BK2UNYWD.js → chunk-HIBNSEJE.js} +12 -0
- package/chunks/{chunk-FDV3CXTD.js → chunk-HMUV7245.js} +3 -3
- package/chunks/{chunk-DOA7MCDY.js → chunk-I3LJQR5I.js} +973 -892
- package/chunks/{chunk-D7D7RXIJ.js → chunk-IC4Z6LX6.js} +1 -1
- package/chunks/{chunk-HU5TUALO.js → chunk-IIJEYBNH.js} +3 -3
- package/chunks/{chunk-DTAPI453.js → chunk-IUFV6FYU.js} +2 -2
- package/chunks/{chunk-MISUEWB4.js → chunk-J6SZID63.js} +12 -8
- package/chunks/{chunk-OWAK7LMW.js → chunk-KGJGEEVR.js} +7 -0
- package/chunks/{chunk-C4GRKMUL.js → chunk-KGT25P47.js} +5 -5
- package/chunks/{chunk-BFHXDAR7.js → chunk-KKBPOU75.js} +1 -1
- package/chunks/{chunk-T4XY5CT4.js → chunk-KNTWLSVD.js} +7 -7
- package/chunks/{chunk-3ZRS2XNY.js → chunk-KU4MUGRF.js} +1 -1
- package/chunks/{chunk-MGSSJT27.js → chunk-L4N6TIP7.js} +5 -3
- package/chunks/{chunk-VDLXPEI5.js → chunk-LFVXMYII.js} +3 -3
- package/chunks/{chunk-WVAESIM6.js → chunk-LZC3B5N2.js} +4 -4
- package/chunks/{chunk-XSGQKR37.js → chunk-M5RUXX6P.js} +358 -20
- package/chunks/{chunk-6O5DVH27.js → chunk-M6HMMKVG.js} +1 -1
- package/chunks/{chunk-PQTK2FVO.js → chunk-MA5SUU2Q.js} +4 -4
- package/chunks/{chunk-XNZBXQCG.js → chunk-MKVZE4ZJ.js} +1 -1
- package/chunks/{chunk-7FUVSN4D.js → chunk-MPLEQFEL.js} +1 -1
- package/chunks/{chunk-I7JDGNG6.js → chunk-MVUQRLOH.js} +9 -5
- package/chunks/{chunk-GLWP3FDB.js → chunk-MZSJ43WV.js} +31 -2
- package/chunks/{chunk-ZPPP6VCL.js → chunk-NG2R4N5O.js} +1 -1
- package/chunks/chunk-NKLP3DCK.js +22 -0
- package/chunks/{chunk-WIRAPZ62.js → chunk-NLREQJFK.js} +7 -1
- package/chunks/{chunk-IKXE3AAC.js → chunk-OCEXSMWS.js} +2 -2
- package/chunks/{chunk-3RXUYQJI.js → chunk-OIVKILPI.js} +49 -0
- package/chunks/{chunk-LBWNSLJK.js → chunk-ONSZH6VM.js} +2 -2
- package/chunks/{chunk-XKTCA6BW.js → chunk-ORTYIRZU.js} +5 -5
- package/chunks/{chunk-5CDI4UOY.js → chunk-ORYNZTB7.js} +131 -48
- package/chunks/{chunk-DYA25Y7U.js → chunk-OWMAZHIX.js} +1 -1
- package/chunks/{chunk-Y5HIDFKZ.js → chunk-P2PTEG3P.js} +4 -4
- package/chunks/{chunk-IISDPZ5X.js → chunk-P4PAGFDT.js} +1 -1
- package/chunks/{chunk-P7LKADIT.js → chunk-PRYJZGR4.js} +7 -7
- package/chunks/{chunk-NYZAL2W2.js → chunk-PVNUY34T.js} +4 -4
- package/chunks/{chunk-GTM6IHBB.js → chunk-Q3JQ7OSU.js} +2 -1
- package/chunks/{chunk-SQ3ZJOYL.js → chunk-QBUXNKTM.js} +20 -20
- package/chunks/{chunk-Z5S6KH2B.js → chunk-QT34NLGU.js} +6 -6
- package/chunks/{chunk-UKZEXS6K.js → chunk-R574ATRM.js} +11 -0
- package/chunks/{chunk-MVLM6PJK.js → chunk-RFA3YH5R.js} +6 -2
- package/chunks/chunk-RGSBTHSU.js +3381 -0
- package/chunks/{chunk-3DTM3RPU.js → chunk-S7CV4KO6.js} +3 -3
- package/chunks/{chunk-6KZP75GT.js → chunk-SDSQ7C4Y.js} +1 -1
- package/chunks/{chunk-YAVY33G4.js → chunk-SEZ556DZ.js} +1 -1
- package/chunks/chunk-SOORFWKY.js +155 -0
- package/chunks/{chunk-DBIEZC7T.js → chunk-ST774VGY.js} +42 -16
- package/chunks/{chunk-X6DV3WKN.js → chunk-T444EKH5.js} +1 -1
- package/chunks/{chunk-CJBRIJ7W.js → chunk-T7WJWZCG.js} +3 -3
- package/chunks/{chunk-NAYPZ72V.js → chunk-TPQ6RO65.js} +1 -1
- package/chunks/{chunk-KVUBYJDM.js → chunk-TZEZYNYD.js} +1 -1
- package/chunks/{chunk-YUVTZ4UH.js → chunk-U5G2PZAQ.js} +114 -18
- package/chunks/{chunk-XC2VAFVZ.js → chunk-UVX4Y6IN.js} +1 -1
- package/chunks/{chunk-WAOLM6SQ.js → chunk-VHINCBEK.js} +1 -1
- package/chunks/{chunk-AFZTZLFB.js → chunk-VIOH2OOE.js} +3 -3
- package/chunks/{chunk-M744OFVE.js → chunk-W7U4ESW2.js} +1 -1
- package/chunks/{chunk-URN76TKR.js → chunk-WCG5O7IP.js} +2 -2
- package/chunks/{chunk-QG2ACINA.js → chunk-WIAN5MYB.js} +1 -1
- package/chunks/{chunk-ZQL73PPE.js → chunk-WLAO54CV.js} +2 -2
- package/chunks/{chunk-EKWNNQQD.js → chunk-X26KCG3L.js} +16 -10
- package/chunks/{chunk-AVDEBBMI.js → chunk-X6VISCPN.js} +2 -2
- package/chunks/{chunk-A6SX5TAH.js → chunk-XCWO3SMQ.js} +9 -5
- package/chunks/{chunk-WVRJKSIG.js → chunk-XR4VN3GB.js} +1 -1
- package/chunks/{chunk-BU4BRCPX.js → chunk-Y4F5PBY5.js} +5 -5
- package/chunks/{chunk-3PRJYMXC.js → chunk-Y4NGLFGJ.js} +1 -1
- package/chunks/{chunk-DG563ZCS.js → chunk-YD26XH5B.js} +3 -3
- package/chunks/{chunk-3LGZEYOF.js → chunk-YHEEE624.js} +2 -2
- package/chunks/{chunk-QONSRAEV.js → chunk-YP5KH5Y7.js} +1 -1
- package/chunks/{chunk-EHMN6SEG.js → chunk-YPQ4IEVV.js} +4 -4
- package/chunks/{chunk-CXYBX4AL.js → chunk-Z2MB7HS7.js} +1 -1
- package/chunks/{chunk-72DZPDH4.js → chunk-ZFJBQATO.js} +10 -5
- package/chunks/{chunk-7GYP5COR.js → chunk-ZXU5UHMI.js} +1 -1
- package/chunks/{computer-use-GTOP2CVH.js → computer-use-4WCG6FX3.js} +35 -35
- package/chunks/{config-utils-LIRO7NSU.js → config-utils-K7SCOWHD.js} +2 -2
- package/chunks/{contextCommand-K6T6RRF3.js → contextCommand-MLJEOUZY.js} +38 -38
- package/chunks/{core-runtime-D2626QQU.js → core-runtime-LKSDQXFB.js} +35 -35
- package/chunks/{create-sub-session-6EWLAZD5.js → create-sub-session-E4PBYXV5.js} +2 -2
- package/chunks/create-sub-session-ZJ7OYXRW.js +772 -0
- package/chunks/{cron-create-CCRIULJE.js → cron-create-GRBWYMIJ.js} +4 -4
- package/chunks/{cron-delete-FCFW6BGP.js → cron-delete-4CMKBR2M.js} +4 -4
- package/chunks/{cron-list-QDBVCHRF.js → cron-list-W7K4ASOA.js} +4 -4
- package/chunks/{daemon-CCIX4BMG.js → daemon-SCTQMM7Z.js} +165 -5
- package/chunks/{daemon-status-provider-2EHRZZVF.js → daemon-status-provider-2TPABSC6.js} +45 -45
- package/chunks/{daemon-trust-policy-B3EPDJDR.js → daemon-trust-policy-U5Q3LRKV.js} +41 -41
- package/chunks/{daemon-trust-policy-monitor-MFM5X26G.js → daemon-trust-policy-monitor-REIZABHN.js} +41 -41
- package/chunks/{deferred-core-runtime-KXN7HLN7.js → deferred-core-runtime-ONWSGDPN.js} +35 -35
- package/chunks/discovery-XLHITE74.js +220 -0
- package/chunks/{display-image-GUJA352B.js → display-image-O2XFPQTC.js} +4 -4
- package/chunks/{dist-A7H2KKUC.js → dist-K4WWQBHS.js} +277 -98
- package/chunks/{dist-IKGVITP3.js → dist-KS4O2NKE.js} +99 -6
- package/chunks/{earlyInputCapture-WUNYYFOS.js → earlyInputCapture-Q7CO2QN4.js} +36 -36
- package/chunks/{edit-DMFCBP2D.js → edit-PBU33DGY.js} +35 -35
- package/chunks/{enter-worktree-5SVBCXFC.js → enter-worktree-WCRF2AA5.js} +35 -35
- package/chunks/{enterPlanMode-QUIZFQ4M.js → enterPlanMode-E2RXSZSG.js} +35 -35
- package/chunks/{environment-U6QP23VJ.js → environment-KA6OBBY4.js} +38 -38
- package/chunks/{errors-GZWFA6ON.js → errors-XYCANYTN.js} +38 -38
- package/chunks/{exit-worktree-FUB44KAF.js → exit-worktree-CQLRKE26.js} +35 -35
- package/chunks/{exitPlanMode-XSHHYR73.js → exitPlanMode-AP7XQVRL.js} +35 -35
- package/chunks/{fast-path-JHQJSIMZ.js → fast-path-DHKCBUUQ.js} +2 -2
- package/chunks/{gemini-O44ETOKT.js → gemini-RGYIKOL6.js} +78 -78
- package/chunks/{geminiContentGenerator-TTM4TZJM.js → geminiContentGenerator-ZLI7NARI.js} +6 -6
- package/chunks/{glob-YECOWTRW.js → glob-R4R7OG4W.js} +35 -35
- package/chunks/{goal-tools-3AZKX5WQ.js → goal-tools-APOW6UXL.js} +3 -3
- package/chunks/{grep-BZO4LOTA.js → grep-BO5M2UCN.js} +35 -35
- package/chunks/{handleAutoUpdate-TOO52D6H.js → handleAutoUpdate-ZTHIKBZM.js} +40 -40
- package/chunks/{i18n-ARJYXZQ5.js → i18n-GNC2NNVA.js} +37 -37
- package/chunks/{image-gen-J6Q2YBEU.js → image-gen-2XYVOLT5.js} +9 -9
- package/chunks/{initializer-CEZ4RPQV.js → initializer-VXLEBSSB.js} +42 -42
- package/chunks/{installationInfo-AEGIIQAT.js → installationInfo-QBJ7GECU.js} +36 -36
- package/chunks/{keychain-token-storage-7BT4TQ2A.js → keychain-token-storage-TVAMTNP7.js} +2 -2
- package/chunks/{list-7XLPV5GC.js → list-VLARA3NO.js} +44 -44
- package/chunks/{list-agents-GC4BRET7.js → list-agents-KFFIIS2G.js} +2 -2
- package/chunks/{loadedSettingsAdapter-YK5SBHOT.js → loadedSettingsAdapter-AQWO3DKQ.js} +41 -41
- package/chunks/{loggingContentGenerator-I7QDXS43.js → loggingContentGenerator-JPOQJB44.js} +17 -17
- package/chunks/{loop-wakeup-SQQSBMEY.js → loop-wakeup-TLMJPMMP.js} +5 -5
- package/chunks/{ls-63CC3NNX.js → ls-UVVE2XGE.js} +4 -4
- package/chunks/{lsp-P6NVJVNT.js → lsp-QMEA2VLB.js} +2 -2
- package/chunks/{managed-npm-update-YSL7PA7G.js → managed-npm-update-LEIM7R7Z.js} +48 -39
- package/chunks/{mcp-RKFQZXP6.js → mcp-WDSZDEUK.js} +41 -41
- package/chunks/{monitor-QHHJIKGL.js → monitor-XEIMDJKT.js} +35 -35
- package/chunks/{nonInteractiveCli-XEBIE7MG.js → nonInteractiveCli-GA7CHB27.js} +75 -75
- package/chunks/{notebook-edit-SG7X2EQA.js → notebook-edit-HBVYJEYN.js} +35 -35
- package/chunks/{openaiContentGenerator-63CVR33K.js → openaiContentGenerator-D6DYXZD3.js} +19 -19
- package/chunks/{pidfile-I3CXJGQD.js → pidfile-DWDNVKET.js} +36 -36
- package/chunks/{processUtils-LJ3DSANX.js → processUtils-Y2SQQ2RR.js} +2 -2
- package/chunks/{qwenContentGenerator-JINBVCH6.js → qwenContentGenerator-MTXRA2IT.js} +40 -40
- package/chunks/{qwenOAuth2-SY2O3NRR.js → qwenOAuth2-HQSYUQ2E.js} +8 -8
- package/chunks/{read-file-PGTXF25I.js → read-file-IUAEEXBO.js} +10 -10
- package/chunks/{read-mcp-resource-RTSSEER5.js → read-mcp-resource-2TNSJTC3.js} +2 -2
- package/chunks/{record-artifact-E6AWQU2Z.js → record-artifact-RAON52FC.js} +3 -3
- package/chunks/{resumeHistoryUtils-FB2NFVZ2.js → resumeHistoryUtils-J244DBOH.js} +42 -41
- package/chunks/{ripGrep-IY3KGPM6.js → ripGrep-NBENZCHO.js} +35 -35
- package/chunks/{run-qwen-serve-UYEMGPKA.js → run-qwen-serve-2G754FJE.js} +516 -87
- package/chunks/{runtime-CG3BKRFE.js → runtime-KBSESBIX.js} +44 -44
- package/chunks/{scheduler-VFUVGDE5.js → scheduler-INHLDC26.js} +35 -35
- package/chunks/{sdk-exporters-http-IL2346MJ.js → sdk-exporters-http-KHAB5JSD.js} +2 -2
- package/chunks/{sdk-impl-SYKGVWOZ.js → sdk-impl-KD7FSTC3.js} +2 -2
- package/chunks/{send-message-TL6FIMMN.js → send-message-ZM7MRUGP.js} +5 -5
- package/chunks/{serve-ZCCQ2G2L.js → serve-G2BCUQNM.js} +42 -42
- package/chunks/{server-WS7LWXPP.js → server-3BD6DIW3.js} +7952 -611
- package/chunks/{session-IQLCT32T.js → session-HGXANTYW.js} +78 -78
- package/chunks/{settings-NX4EUIE6.js → settings-VYFBEZ2R.js} +40 -40
- package/chunks/{shell-THDYM4CS.js → shell-3LBKDXAW.js} +35 -35
- package/chunks/{skill-OXXZBNQB.js → skill-W576UXSL.js} +14 -14
- package/chunks/{skill-settings-T3JZ33T2.js → skill-settings-ZNUIJMJT.js} +40 -40
- package/chunks/{spawnChannel-COLJMSA7.js → spawnChannel-AUUVHV5S.js} +37 -37
- package/chunks/{standalone-update-ICW7H5IF.js → standalone-update-WEQVL7DN.js} +38 -38
- package/chunks/{startInteractiveUI-6BDRXSMF.js → startInteractiveUI-V3B5M5PY.js} +473 -233
- package/chunks/{stdioHelpers-HGIYTWAY.js → stdioHelpers-7A2EE64Z.js} +5 -3
- package/chunks/{syntheticOutput-BN7E626U.js → syntheticOutput-ZLCUTKO2.js} +3 -3
- package/chunks/{task-create-2X4UP4F3.js → task-create-CQP5UEA3.js} +9 -9
- package/chunks/{task-list-WOLJPZ64.js → task-list-XLEZOJXP.js} +5 -5
- package/chunks/{task-stop-TNXRNAL2.js → task-stop-7ZQM5CFF.js} +2 -2
- package/chunks/{task-update-VDUSN36E.js → task-update-JA75U2SN.js} +9 -9
- package/chunks/{team-create-BCSMDK4Z.js → team-create-4TEVQYI5.js} +35 -35
- package/chunks/{team-delete-D2VMSDOT.js → team-delete-MHY3UZGY.js} +5 -5
- package/chunks/{team-plan-approval-B5YRLJFV.js → team-plan-approval-UOSTAB7R.js} +35 -35
- package/chunks/{terminal-image-renderer-PW6Z6VFY.js → terminal-image-renderer-VO6W4YSM.js} +41 -36
- package/chunks/{theme-manager-CMVKD2JH.js → theme-manager-HOYUCAJ5.js} +36 -36
- package/chunks/{todoWrite-MHWHO5UO.js → todoWrite-UPVOHYGD.js} +4 -4
- package/chunks/{tool-search-SQTUSG6P.js → tool-search-NRMWTH3L.js} +13 -13
- package/chunks/{total-session-admission-XAXOSE46.js → total-session-admission-KHBGXD6A.js} +41 -41
- package/chunks/{trustedFolders-Z2UAEG2V.js → trustedFolders-AH242HLO.js} +37 -37
- package/chunks/{update-relaunch-JBLI6LJF.js → update-relaunch-R3M25PND.js} +6 -6
- package/chunks/{updateCheck-FDAVGOFT.js → updateCheck-4O2CMHMG.js} +39 -39
- package/chunks/{useAutoAcceptIndicator-PDZFIYRM.js → useAutoAcceptIndicator-KZSKP3RY.js} +44 -44
- package/chunks/{validateNonInterActiveAuth-Q4763ONQ.js → validateNonInterActiveAuth-7AXUFNBE.js} +72 -72
- package/chunks/{version-C7MPCGWD.js → version-BE7H2MTM.js} +1 -1
- package/chunks/{web-fetch-L7RAPOJB.js → web-fetch-C7FQ24BP.js} +13 -13
- package/chunks/{web-search-IDOYUOWX.js → web-search-7FPW6ECJ.js} +9 -9
- package/chunks/web-shell-static-O73YPVVC.js +33 -0
- package/chunks/{workflow-HXURUJB5.js → workflow-3LAE5AL7.js} +36 -36
- package/chunks/{workspace-providers-status-JZ3GPWNU.js → workspace-providers-status-UXZKS6SE.js} +44 -44
- package/chunks/{workspace-registration-store-SM2PWB6L.js → workspace-registration-store-DSS57KLV.js} +1 -1
- package/chunks/{workspace-registry-6W4ES7BJ.js → workspace-registry-VOSOZ4WU.js} +41 -41
- package/chunks/{workspace-service-V47ZFJRX.js → workspace-service-MWWHXZGQ.js} +46 -46
- package/chunks/{workspace-skills-status-6ZQ45XKA.js → workspace-skills-status-DN56VF74.js} +42 -42
- package/chunks/{workspace-trust-reconciler-6V25LMCN.js → workspace-trust-reconciler-3GOQYMND.js} +50 -50
- package/chunks/{write-file-H2QOF25K.js → write-file-B4YZQZ2K.js} +35 -35
- package/chunks/{zoom-image-JTUSS43N.js → zoom-image-L4QKXYG2.js} +10 -10
- package/cli.js +15 -15
- package/package.json +3 -3
- package/web-shell/assets/{arc-DtI1rZcQ.js → arc-Ip-FFDJ0.js} +1 -1
- package/web-shell/assets/{architectureDiagram-3BPJPVTR-BPZwSVct.js → architectureDiagram-3BPJPVTR-CChqgwIb.js} +1 -1
- package/web-shell/assets/{blockDiagram-GPEHLZMM-BIQ03j4C.js → blockDiagram-GPEHLZMM-BHN-Tfss.js} +1 -1
- package/web-shell/assets/{c4Diagram-AAUBKEIU-CB0RyFGm.js → c4Diagram-AAUBKEIU-BhyjzDjN.js} +1 -1
- package/web-shell/assets/channel-Cu8qd6OB.js +1 -0
- package/web-shell/assets/{chunk-2J33WTMH-B3WoS-4H.js → chunk-2J33WTMH-BB9eyHrx.js} +1 -1
- package/web-shell/assets/{chunk-4BX2VUAB-C98xYZ1X.js → chunk-4BX2VUAB-BeV7ce_J.js} +1 -1
- package/web-shell/assets/{chunk-55IACEB6-CbTIWRwQ.js → chunk-55IACEB6-DO7kXDiV.js} +1 -1
- package/web-shell/assets/{chunk-727SXJPM-DWGnKTPu.js → chunk-727SXJPM-B27MPznD.js} +1 -1
- package/web-shell/assets/{chunk-AQP2D5EJ-4__QyCEX.js → chunk-AQP2D5EJ-DHIjqjD_.js} +1 -1
- package/web-shell/assets/{chunk-FMBD7UC4-DFtG1YCW.js → chunk-FMBD7UC4-DabMqyN2.js} +1 -1
- package/web-shell/assets/{chunk-ND2GUHAM-rvAhW51N.js → chunk-ND2GUHAM-Dw7Nnnxc.js} +1 -1
- package/web-shell/assets/{chunk-QZHKN3VN-DfiU9pwZ.js → chunk-QZHKN3VN-DdaZew1Q.js} +1 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-BI3KrXhq.js +1 -0
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-BI3KrXhq.js +1 -0
- package/web-shell/assets/{cose-bilkent-S5V4N54A-Cc4EIdxu.js → cose-bilkent-S5V4N54A-CgBpCYH5.js} +1 -1
- package/web-shell/assets/{dagre-BM42HDAG-CZNj4dGW.js → dagre-BM42HDAG-BB4IU8G0.js} +1 -1
- package/web-shell/assets/{diagram-2AECGRRQ-D5tiqQCr.js → diagram-2AECGRRQ-BcUTHU37.js} +1 -1
- package/web-shell/assets/{diagram-5GNKFQAL-pwzw0jVO.js → diagram-5GNKFQAL-B6Lyihyv.js} +1 -1
- package/web-shell/assets/{diagram-KO2AKTUF-4CWiM00x.js → diagram-KO2AKTUF-CRIJOjpG.js} +1 -1
- package/web-shell/assets/{diagram-LMA3HP47-Dd7rc7Qf.js → diagram-LMA3HP47-DdNiwWWT.js} +1 -1
- package/web-shell/assets/{diagram-OG6HWLK6-_vzV52ml.js → diagram-OG6HWLK6-Dz4b32Do.js} +1 -1
- package/web-shell/assets/{erDiagram-TEJ5UH35-CqbE2bx_.js → erDiagram-TEJ5UH35-D-8NGw77.js} +1 -1
- package/web-shell/assets/{flowDiagram-I6XJVG4X-CaxNr7w4.js → flowDiagram-I6XJVG4X-Dun26LyM.js} +1 -1
- package/web-shell/assets/{ganttDiagram-6RSMTGT7-AGjrtfUA.js → ganttDiagram-6RSMTGT7-F10Hu1Gc.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-PVQCEYII-ADG2zSkc.js → gitGraphDiagram-PVQCEYII-Bf8Ez6-D.js} +1 -1
- package/web-shell/assets/{index-BOryKCqt.js → index-BXqw-nGq.js} +1 -1
- package/web-shell/assets/index-QQlUCJGg.css +5 -0
- package/web-shell/assets/index-hcgjV7vS.js +1768 -0
- package/web-shell/assets/{infoDiagram-5YYISTIA-CE3B_IoZ.js → infoDiagram-5YYISTIA-DVgTMLvj.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-CN-Frhoi.js → ishikawaDiagram-YF4QCWOH-uT-KepvK.js} +1 -1
- package/web-shell/assets/{journeyDiagram-JHISSGLW-CGgezS93.js → journeyDiagram-JHISSGLW-Vg_XadQf.js} +1 -1
- package/web-shell/assets/{kanban-definition-UN3LZRKU-BqWijky5.js → kanban-definition-UN3LZRKU-Dyv1ESBE.js} +1 -1
- package/web-shell/assets/{linear-D8sfpZf6.js → linear-BMIepYX3.js} +1 -1
- package/web-shell/assets/{mermaid.core-3PA4QrzM.js → mermaid.core-zA8pJ9ag.js} +5 -5
- package/web-shell/assets/{mindmap-definition-RKZ34NQL-D9QxwiCY.js → mindmap-definition-RKZ34NQL-BCW_BZ_5.js} +1 -1
- package/web-shell/assets/{pieDiagram-4H26LBE5-Bioaf6uE.js → pieDiagram-4H26LBE5-DseNEGp2.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-W4KKPZXB-DBb2AS73.js → quadrantDiagram-W4KKPZXB-6Z7wr1Fi.js} +1 -1
- package/web-shell/assets/{requirementDiagram-4Y6WPE33-DXOvZ3KB.js → requirementDiagram-4Y6WPE33-CVOlCRPf.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-5OEKKPKP-D9qg09Dm.js → sankeyDiagram-5OEKKPKP-CGhgrUJZ.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-3UESZ5HK-DSAUIfpw.js → sequenceDiagram-3UESZ5HK-dlqmpLuQ.js} +1 -1
- package/web-shell/assets/{stateDiagram-AJRCARHV-BPZkzfQ3.js → stateDiagram-AJRCARHV-B9EW10Xb.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-CJTZJJ5X.js +1 -0
- package/web-shell/assets/{timeline-definition-PNZ67QCA-UDaQp9sP.js → timeline-definition-PNZ67QCA-BBRh0mgZ.js} +1 -1
- package/web-shell/assets/{vennDiagram-CIIHVFJN-2ouhAnHO.js → vennDiagram-CIIHVFJN-B8Gs-REP.js} +1 -1
- package/web-shell/assets/{wardley-L42UT6IY-Cq_WEvTK.js → wardley-L42UT6IY-D_y80Ur7.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-YWT4CUSO-Dt24aXOM.js → wardleyDiagram-YWT4CUSO-D-CNfHJ-.js} +1 -1
- package/web-shell/assets/{xychartDiagram-2RQKCTM6-A5Xk2WCH.js → xychartDiagram-2RQKCTM6-DQ5CvELo.js} +1 -1
- package/web-shell/index.html +2 -2
- package/chunks/create-sub-session-MWUWNBM6.js +0 -401
- package/web-shell/assets/channel-vfbVFuM1.js +0 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-Cvr8atq3.js +0 -1
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-Cvr8atq3.js +0 -1
- package/web-shell/assets/index-Cb1LjsCv.css +0 -5
- package/web-shell/assets/index-CvJDaIy8.js +0 -1756
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-DInOqnhZ.js +0 -1
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
SkillError
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-J6SZID63.js";
|
|
6
6
|
import {
|
|
7
7
|
init_esbuild_shims
|
|
8
8
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -90,6 +90,9 @@ var SERVE_CONTROL_EXT_METHODS = {
|
|
|
90
90
|
sessionTitle: "qwen/control/session/title",
|
|
91
91
|
sessionParent: "qwen/control/session/parent",
|
|
92
92
|
sessionSource: "qwen/control/session/source",
|
|
93
|
+
sessionLiveConversation: "qwen/control/session/live-conversation",
|
|
94
|
+
sessionLiveTranscript: "qwen/control/session/live-transcript",
|
|
95
|
+
sessionBackgroundNotification: "qwen/control/session/background_notification",
|
|
93
96
|
sessionArtifactsPersist: "qwen/control/session/artifacts/persist",
|
|
94
97
|
workspaceMcpRestart: "qwen/control/workspace/mcp/restart",
|
|
95
98
|
workspaceMcpManage: "qwen/control/workspace/mcp/manage",
|
|
@@ -147,6 +150,9 @@ var SERVE_CONTROL_EXT_METHODS = {
|
|
|
147
150
|
* `first-turn` mode, which waits for the sub-session's first turn to finish).
|
|
148
151
|
*/
|
|
149
152
|
createSubSession: "qwen/control/create-sub-session",
|
|
153
|
+
liveCaptureScreenContext: "qwen/control/live/capture-screen-context",
|
|
154
|
+
liveTaskTool: "qwen/control/live/task-tool",
|
|
155
|
+
liveSpeakToUser: "qwen/control/live/speak-to-user",
|
|
150
156
|
channelDelivery: "qwen/control/channel-delivery"
|
|
151
157
|
};
|
|
152
158
|
var IDLE_HOOK_EVENTS = {
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
} from "./chunk-6PEXNQTX.js";
|
|
9
9
|
import {
|
|
10
10
|
isWorkspaceTrusted
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-ZFJBQATO.js";
|
|
12
12
|
import {
|
|
13
13
|
require_main
|
|
14
14
|
} from "./chunk-5M6IDOMF.js";
|
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
QWEN_DIR,
|
|
17
17
|
Storage,
|
|
18
18
|
getErrorMessage
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-OIVKILPI.js";
|
|
20
20
|
import {
|
|
21
21
|
init_esbuild_shims
|
|
22
22
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -479,6 +479,54 @@ function isSubpaths(parentPath, childPath) {
|
|
|
479
479
|
return parentPath.some((p) => isSubpath(p, childPath));
|
|
480
480
|
}
|
|
481
481
|
__name(isSubpaths, "isSubpaths");
|
|
482
|
+
function resolveLeafSymlink(inputPath) {
|
|
483
|
+
const maxHops = 40;
|
|
484
|
+
let current = path.resolve(inputPath);
|
|
485
|
+
for (let i = 0; i < maxHops; i++) {
|
|
486
|
+
let stat;
|
|
487
|
+
try {
|
|
488
|
+
stat = fs.lstatSync(current);
|
|
489
|
+
} catch {
|
|
490
|
+
return current;
|
|
491
|
+
}
|
|
492
|
+
if (!stat.isSymbolicLink()) {
|
|
493
|
+
return current;
|
|
494
|
+
}
|
|
495
|
+
const target = fs.readlinkSync(current);
|
|
496
|
+
if (path.isAbsolute(target)) {
|
|
497
|
+
current = target;
|
|
498
|
+
} else {
|
|
499
|
+
let parent;
|
|
500
|
+
try {
|
|
501
|
+
parent = fs.realpathSync(path.dirname(current));
|
|
502
|
+
} catch {
|
|
503
|
+
parent = path.dirname(current);
|
|
504
|
+
}
|
|
505
|
+
current = path.resolve(parent, target);
|
|
506
|
+
}
|
|
507
|
+
}
|
|
508
|
+
return current;
|
|
509
|
+
}
|
|
510
|
+
__name(resolveLeafSymlink, "resolveLeafSymlink");
|
|
511
|
+
function realpathNearestExisting(inputPath) {
|
|
512
|
+
const resolved = resolveLeafSymlink(inputPath);
|
|
513
|
+
const missingSegments = [];
|
|
514
|
+
let current = resolved;
|
|
515
|
+
while (!fs.existsSync(current)) {
|
|
516
|
+
const parent = path.dirname(current);
|
|
517
|
+
if (parent === current) {
|
|
518
|
+
return resolved;
|
|
519
|
+
}
|
|
520
|
+
missingSegments.unshift(path.basename(current));
|
|
521
|
+
current = parent;
|
|
522
|
+
}
|
|
523
|
+
try {
|
|
524
|
+
return path.join(fs.realpathSync(current), ...missingSegments);
|
|
525
|
+
} catch {
|
|
526
|
+
return resolved;
|
|
527
|
+
}
|
|
528
|
+
}
|
|
529
|
+
__name(realpathNearestExisting, "realpathNearestExisting");
|
|
482
530
|
function resolvePath(baseDir = process.cwd(), relativePath) {
|
|
483
531
|
const expandedPath = expandTilde(relativePath);
|
|
484
532
|
if (path.isAbsolute(expandedPath)) {
|
|
@@ -1136,6 +1184,7 @@ export {
|
|
|
1136
1184
|
sanitizeCwd,
|
|
1137
1185
|
isSubpath,
|
|
1138
1186
|
isSubpaths,
|
|
1187
|
+
realpathNearestExisting,
|
|
1139
1188
|
resolvePath,
|
|
1140
1189
|
resolveAndValidatePath,
|
|
1141
1190
|
SKILL_PROVIDER_CONFIG_DIRS,
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
theme
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-EKPKKXY2.js";
|
|
6
6
|
import {
|
|
7
7
|
require_jsx_runtime
|
|
8
8
|
} from "./chunk-SV5PQVQE.js";
|
|
@@ -21,7 +21,7 @@ import {
|
|
|
21
21
|
} from "./chunk-2MIN6GRR.js";
|
|
22
22
|
import {
|
|
23
23
|
createDebugLogger
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-OIVKILPI.js";
|
|
25
25
|
import {
|
|
26
26
|
init_esbuild_shims
|
|
27
27
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -3,24 +3,24 @@
|
|
|
3
3
|
import {
|
|
4
4
|
AUTO_THEME_NAME,
|
|
5
5
|
themeManager
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-CTJLZLB5.js";
|
|
7
7
|
import {
|
|
8
8
|
initializeI18n,
|
|
9
9
|
resolveLanguageSetting,
|
|
10
10
|
t
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-F4SQY4RB.js";
|
|
12
12
|
import {
|
|
13
13
|
IdeClient
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-I3LJQR5I.js";
|
|
15
15
|
import {
|
|
16
16
|
AuthEvent,
|
|
17
17
|
IdeConnectionEvent,
|
|
18
18
|
logAuth,
|
|
19
19
|
logIdeConnection
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-FTJUO7R2.js";
|
|
21
21
|
import {
|
|
22
22
|
getErrorMessage
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-OIVKILPI.js";
|
|
24
24
|
import {
|
|
25
25
|
init_esbuild_shims
|
|
26
26
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -3,15 +3,17 @@
|
|
|
3
3
|
import {
|
|
4
4
|
DashScopeOpenAICompatibleProvider,
|
|
5
5
|
DefaultOpenAICompatibleProvider
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-IIJEYBNH.js";
|
|
7
7
|
import {
|
|
8
8
|
RequestTokenizer
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-B2GJNDTV.js";
|
|
10
10
|
import {
|
|
11
11
|
DEFAULT_STREAM_IDLE_TIMEOUT_MS,
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
DEFAULT_STREAM_MAX_LIFETIME_MS,
|
|
13
|
+
MAX_STREAM_GUARD_TIMEOUT_MS,
|
|
14
|
+
QWEN_STREAM_IDLE_TIMEOUT_MS_ENV,
|
|
15
|
+
QWEN_STREAM_MAX_LIFETIME_MS_ENV
|
|
16
|
+
} from "./chunk-AXMWHKXA.js";
|
|
15
17
|
import {
|
|
16
18
|
createChildAbortController
|
|
17
19
|
} from "./chunk-DJ2GSRLV.js";
|
|
@@ -19,16 +21,16 @@ import {
|
|
|
19
21
|
OpenAIContentConverter,
|
|
20
22
|
TaggedThinkingParser,
|
|
21
23
|
openaiRequestCaptureContext
|
|
22
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-DREZZAZM.js";
|
|
23
25
|
import {
|
|
24
26
|
InvalidStreamError
|
|
25
27
|
} from "./chunk-2J3OJGTL.js";
|
|
26
28
|
import {
|
|
27
29
|
getRateLimitErrorDetails
|
|
28
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-M6HMMKVG.js";
|
|
29
31
|
import {
|
|
30
32
|
safeJsonParse
|
|
31
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-CKASRHZI.js";
|
|
32
34
|
import {
|
|
33
35
|
getToolCallPreparations,
|
|
34
36
|
runtimeDiagnostics
|
|
@@ -37,11 +39,11 @@ import {
|
|
|
37
39
|
reportOpenAiChunk,
|
|
38
40
|
reportOpenAiRequest,
|
|
39
41
|
reportOpenAiResponse
|
|
40
|
-
} from "./chunk-
|
|
42
|
+
} from "./chunk-WCG5O7IP.js";
|
|
41
43
|
import {
|
|
42
44
|
ProtocolTagSanitizedEvent,
|
|
43
45
|
logProtocolTagSanitized
|
|
44
|
-
} from "./chunk-
|
|
46
|
+
} from "./chunk-FTJUO7R2.js";
|
|
45
47
|
import {
|
|
46
48
|
isQwenFamilyWireModel,
|
|
47
49
|
isTieredEffortWireModel
|
|
@@ -51,14 +53,14 @@ import {
|
|
|
51
53
|
} from "./chunk-ZBVS26BY.js";
|
|
52
54
|
import {
|
|
53
55
|
redactProxyError
|
|
54
|
-
} from "./chunk-
|
|
56
|
+
} from "./chunk-KKBPOU75.js";
|
|
55
57
|
import {
|
|
56
58
|
createDebugLogger,
|
|
57
59
|
getErrorMessage,
|
|
58
60
|
getErrorStatus,
|
|
59
61
|
getErrorType,
|
|
60
62
|
isAbortError
|
|
61
|
-
} from "./chunk-
|
|
63
|
+
} from "./chunk-OIVKILPI.js";
|
|
62
64
|
import {
|
|
63
65
|
GenerateContentResponse
|
|
64
66
|
} from "./chunk-22C7BQ6D.js";
|
|
@@ -940,6 +942,21 @@ var StreamInactivityTimeoutError = class extends Error {
|
|
|
940
942
|
}
|
|
941
943
|
code = "ETIMEDOUT";
|
|
942
944
|
};
|
|
945
|
+
var StreamLifetimeExceededError = class extends Error {
|
|
946
|
+
constructor(maxLifetimeMs, chunksReceived, streamLifetimeMs) {
|
|
947
|
+
super(
|
|
948
|
+
`Stream exceeded its ${maxLifetimeMs}ms upstream-wait cap after ${chunksReceived} chunks without completing (wall clock: ${streamLifetimeMs}ms). Set ${QWEN_STREAM_MAX_LIFETIME_MS_ENV} to increase this cap (or 0 to disable it).`
|
|
949
|
+
);
|
|
950
|
+
this.maxLifetimeMs = maxLifetimeMs;
|
|
951
|
+
this.chunksReceived = chunksReceived;
|
|
952
|
+
this.streamLifetimeMs = streamLifetimeMs;
|
|
953
|
+
this.name = "StreamLifetimeExceededError";
|
|
954
|
+
}
|
|
955
|
+
static {
|
|
956
|
+
__name(this, "StreamLifetimeExceededError");
|
|
957
|
+
}
|
|
958
|
+
code = "ETIMEDOUT";
|
|
959
|
+
};
|
|
943
960
|
var NON_SSE_BODY_PREFIX_LIMIT = 512;
|
|
944
961
|
function isSSECompatibleContentType(contentType) {
|
|
945
962
|
if (!contentType) return true;
|
|
@@ -985,57 +1002,108 @@ function clampProviderOutputBudgetKeys(samplingParams, requestMaxTokens) {
|
|
|
985
1002
|
return samplingParams;
|
|
986
1003
|
}
|
|
987
1004
|
__name(clampProviderOutputBudgetKeys, "clampProviderOutputBudgetKeys");
|
|
988
|
-
function
|
|
989
|
-
const fromConfig = config.streamIdleTimeoutMs;
|
|
1005
|
+
function resolveStreamGuardMs(fromConfig, configLabel, envName, defaultMs) {
|
|
990
1006
|
if (typeof fromConfig === "number") {
|
|
991
|
-
if (Number.isInteger(fromConfig) && fromConfig <=
|
|
1007
|
+
if (Number.isInteger(fromConfig) && fromConfig <= MAX_STREAM_GUARD_TIMEOUT_MS) {
|
|
992
1008
|
return fromConfig;
|
|
993
1009
|
}
|
|
994
1010
|
console.warn(
|
|
995
|
-
`[qwen-code] Ignoring out-of-range
|
|
1011
|
+
`[qwen-code] Ignoring out-of-range ${configLabel}=${fromConfig} (expected an integer in (-\u221E, ${MAX_STREAM_GUARD_TIMEOUT_MS}]); falling back to ${envName}/default.`
|
|
996
1012
|
);
|
|
997
1013
|
}
|
|
998
|
-
const raw = process.env[
|
|
1014
|
+
const raw = process.env[envName];
|
|
999
1015
|
const trimmed = raw?.trim();
|
|
1000
1016
|
if (trimmed) {
|
|
1001
1017
|
if (/^\d+$/.test(trimmed)) {
|
|
1002
1018
|
const parsed = Number(trimmed);
|
|
1003
|
-
if (parsed <=
|
|
1019
|
+
if (parsed <= MAX_STREAM_GUARD_TIMEOUT_MS) {
|
|
1004
1020
|
return parsed;
|
|
1005
1021
|
}
|
|
1006
1022
|
}
|
|
1007
1023
|
console.warn(
|
|
1008
|
-
`[qwen-code] Ignoring invalid ${
|
|
1024
|
+
`[qwen-code] Ignoring invalid ${envName}="${raw}" (expected an integer of milliseconds in [0, ${MAX_STREAM_GUARD_TIMEOUT_MS}]); using default ${defaultMs}ms.`
|
|
1009
1025
|
);
|
|
1010
1026
|
}
|
|
1011
|
-
return
|
|
1027
|
+
return defaultMs;
|
|
1028
|
+
}
|
|
1029
|
+
__name(resolveStreamGuardMs, "resolveStreamGuardMs");
|
|
1030
|
+
function resolveStreamIdleTimeoutMs(config) {
|
|
1031
|
+
return resolveStreamGuardMs(
|
|
1032
|
+
config.streamIdleTimeoutMs,
|
|
1033
|
+
"streamIdleTimeoutMs",
|
|
1034
|
+
QWEN_STREAM_IDLE_TIMEOUT_MS_ENV,
|
|
1035
|
+
DEFAULT_STREAM_IDLE_TIMEOUT_MS
|
|
1036
|
+
);
|
|
1012
1037
|
}
|
|
1013
1038
|
__name(resolveStreamIdleTimeoutMs, "resolveStreamIdleTimeoutMs");
|
|
1014
|
-
|
|
1039
|
+
function resolveStreamMaxLifetimeMs(config) {
|
|
1040
|
+
return resolveStreamGuardMs(
|
|
1041
|
+
config.streamMaxLifetimeMs,
|
|
1042
|
+
"streamMaxLifetimeMs",
|
|
1043
|
+
QWEN_STREAM_MAX_LIFETIME_MS_ENV,
|
|
1044
|
+
DEFAULT_STREAM_MAX_LIFETIME_MS
|
|
1045
|
+
);
|
|
1046
|
+
}
|
|
1047
|
+
__name(resolveStreamMaxLifetimeMs, "resolveStreamMaxLifetimeMs");
|
|
1048
|
+
async function* withStreamGuards(source, idleMs, maxLifetimeMs, abortRequest, parentSignal) {
|
|
1049
|
+
if (idleMs <= 0 && maxLifetimeMs <= 0) {
|
|
1050
|
+
yield* source;
|
|
1051
|
+
return;
|
|
1052
|
+
}
|
|
1015
1053
|
const it = source[Symbol.asyncIterator]();
|
|
1016
|
-
const streamStartedAt =
|
|
1054
|
+
const streamStartedAt = performance.now();
|
|
1055
|
+
let upstreamMs = 0;
|
|
1017
1056
|
let chunksReceived = 0;
|
|
1018
1057
|
try {
|
|
1019
1058
|
while (true) {
|
|
1059
|
+
const remainingMs = maxLifetimeMs > 0 ? maxLifetimeMs - upstreamMs : Number.POSITIVE_INFINITY;
|
|
1060
|
+
if (remainingMs <= 0) {
|
|
1061
|
+
if (parentSignal?.aborted) {
|
|
1062
|
+
const abortErr = new Error("Aborted");
|
|
1063
|
+
abortErr.name = "AbortError";
|
|
1064
|
+
throw abortErr;
|
|
1065
|
+
}
|
|
1066
|
+
abortRequest();
|
|
1067
|
+
throw new StreamLifetimeExceededError(
|
|
1068
|
+
maxLifetimeMs,
|
|
1069
|
+
chunksReceived,
|
|
1070
|
+
performance.now() - streamStartedAt
|
|
1071
|
+
);
|
|
1072
|
+
}
|
|
1020
1073
|
const nextPromise = it.next();
|
|
1074
|
+
const awaitedAt = performance.now();
|
|
1021
1075
|
let timer;
|
|
1022
1076
|
const timeout = new Promise((_resolve, reject) => {
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1077
|
+
const idleIn = idleMs > 0 ? idleMs : Number.POSITIVE_INFINITY;
|
|
1078
|
+
const wait = Math.min(idleIn, remainingMs);
|
|
1079
|
+
timer = setTimeout(
|
|
1080
|
+
() => {
|
|
1081
|
+
if (parentSignal?.aborted) {
|
|
1082
|
+
const abortErr = new Error("Aborted");
|
|
1083
|
+
abortErr.name = "AbortError";
|
|
1084
|
+
reject(abortErr);
|
|
1085
|
+
} else if (remainingMs <= idleIn) {
|
|
1086
|
+
abortRequest();
|
|
1087
|
+
reject(
|
|
1088
|
+
new StreamLifetimeExceededError(
|
|
1089
|
+
maxLifetimeMs,
|
|
1090
|
+
chunksReceived,
|
|
1091
|
+
performance.now() - streamStartedAt
|
|
1092
|
+
)
|
|
1093
|
+
);
|
|
1094
|
+
} else {
|
|
1095
|
+
abortRequest();
|
|
1096
|
+
reject(
|
|
1097
|
+
new StreamInactivityTimeoutError(
|
|
1098
|
+
idleMs,
|
|
1099
|
+
chunksReceived,
|
|
1100
|
+
performance.now() - streamStartedAt
|
|
1101
|
+
)
|
|
1102
|
+
);
|
|
1103
|
+
}
|
|
1104
|
+
},
|
|
1105
|
+
Math.max(wait, 0)
|
|
1106
|
+
);
|
|
1039
1107
|
timer.unref?.();
|
|
1040
1108
|
});
|
|
1041
1109
|
let result;
|
|
@@ -1049,6 +1117,7 @@ async function* withStreamInactivityTimeout(source, idleMs, abortRequest, parent
|
|
|
1049
1117
|
if (timer !== void 0) clearTimeout(timer);
|
|
1050
1118
|
}
|
|
1051
1119
|
if (result.done) return;
|
|
1120
|
+
upstreamMs += performance.now() - awaitedAt;
|
|
1052
1121
|
chunksReceived += 1;
|
|
1053
1122
|
yield result.value;
|
|
1054
1123
|
}
|
|
@@ -1060,7 +1129,7 @@ async function* withStreamInactivityTimeout(source, idleMs, abortRequest, parent
|
|
|
1060
1129
|
}
|
|
1061
1130
|
}
|
|
1062
1131
|
}
|
|
1063
|
-
__name(
|
|
1132
|
+
__name(withStreamGuards, "withStreamGuards");
|
|
1064
1133
|
var ContentGenerationPipeline = class {
|
|
1065
1134
|
constructor(config) {
|
|
1066
1135
|
this.config = config;
|
|
@@ -1069,6 +1138,9 @@ var ContentGenerationPipeline = class {
|
|
|
1069
1138
|
this.streamIdleTimeoutMs = resolveStreamIdleTimeoutMs(
|
|
1070
1139
|
this.contentGeneratorConfig
|
|
1071
1140
|
);
|
|
1141
|
+
this.streamMaxLifetimeMs = resolveStreamMaxLifetimeMs(
|
|
1142
|
+
this.contentGeneratorConfig
|
|
1143
|
+
);
|
|
1072
1144
|
}
|
|
1073
1145
|
static {
|
|
1074
1146
|
__name(this, "ContentGenerationPipeline");
|
|
@@ -1079,6 +1151,7 @@ var ContentGenerationPipeline = class {
|
|
|
1079
1151
|
// Resolved once (config field > env > default) so the env read + any
|
|
1080
1152
|
// invalid-value warning happen per pipeline, not per streaming request.
|
|
1081
1153
|
streamIdleTimeoutMs;
|
|
1154
|
+
streamMaxLifetimeMs;
|
|
1082
1155
|
async execute(request, userPromptId) {
|
|
1083
1156
|
return this.executeWithErrorHandling(
|
|
1084
1157
|
request,
|
|
@@ -1156,9 +1229,11 @@ var ContentGenerationPipeline = class {
|
|
|
1156
1229
|
throw e;
|
|
1157
1230
|
}
|
|
1158
1231
|
const idleMs = this.streamIdleTimeoutMs;
|
|
1159
|
-
const
|
|
1232
|
+
const maxLifetimeMs = this.streamMaxLifetimeMs;
|
|
1233
|
+
const guarded = idleMs > 0 || maxLifetimeMs > 0 ? withStreamGuards(
|
|
1160
1234
|
stream,
|
|
1161
1235
|
idleMs,
|
|
1236
|
+
maxLifetimeMs,
|
|
1162
1237
|
() => perRequestAc.abort(),
|
|
1163
1238
|
parentSignal
|
|
1164
1239
|
) : stream;
|
|
@@ -1305,6 +1380,22 @@ var ContentGenerationPipeline = class {
|
|
|
1305
1380
|
if (error instanceof StreamContentError) {
|
|
1306
1381
|
throw redactProxyError(error);
|
|
1307
1382
|
}
|
|
1383
|
+
if (error instanceof StreamInactivityTimeoutError || error instanceof StreamLifetimeExceededError) {
|
|
1384
|
+
const isLifetime = error instanceof StreamLifetimeExceededError;
|
|
1385
|
+
debugLogger3.warn(
|
|
1386
|
+
isLifetime ? "OpenAI stream lifetime cap exceeded" : "OpenAI stream inactivity timeout",
|
|
1387
|
+
{
|
|
1388
|
+
chunksReceived: error.chunksReceived,
|
|
1389
|
+
// Wall clock, labelled apart from the cap so the two numbers in
|
|
1390
|
+
// the log reconcile the same way the error message does.
|
|
1391
|
+
wallClockMs: error.streamLifetimeMs,
|
|
1392
|
+
...isLifetime ? {
|
|
1393
|
+
maxLifetimeMs: error.maxLifetimeMs
|
|
1394
|
+
} : { idleMs: error.idleMs }
|
|
1395
|
+
}
|
|
1396
|
+
);
|
|
1397
|
+
throw redactProxyError(error);
|
|
1398
|
+
}
|
|
1308
1399
|
if (context.pendingThinkingTagCandidate?.closingTagName && request.config?.abortSignal?.aborted !== true) {
|
|
1309
1400
|
context.pendingThinkingTagCandidate = void 0;
|
|
1310
1401
|
context.pendingUntrustedResponseParts = void 0;
|
|
@@ -1313,14 +1404,6 @@ var ContentGenerationPipeline = class {
|
|
|
1313
1404
|
"PROTOCOL_TAG_LEAK"
|
|
1314
1405
|
);
|
|
1315
1406
|
}
|
|
1316
|
-
if (error instanceof StreamInactivityTimeoutError) {
|
|
1317
|
-
debugLogger3.warn("OpenAI stream inactivity timeout", {
|
|
1318
|
-
idleMs: error.idleMs,
|
|
1319
|
-
chunksReceived: error.chunksReceived,
|
|
1320
|
-
streamLifetimeMs: error.streamLifetimeMs
|
|
1321
|
-
});
|
|
1322
|
-
throw redactProxyError(error);
|
|
1323
|
-
}
|
|
1324
1407
|
await this.handleError(error, context, request);
|
|
1325
1408
|
}
|
|
1326
1409
|
}
|
|
@@ -3,17 +3,17 @@
|
|
|
3
3
|
import {
|
|
4
4
|
getGitVersion,
|
|
5
5
|
getNpmVersion
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-PVNUY34T.js";
|
|
7
7
|
import {
|
|
8
8
|
buildEnvStatusFromEnv,
|
|
9
9
|
snapshotProcessEnv
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-YD26XH5B.js";
|
|
11
11
|
import {
|
|
12
12
|
mapDomainErrorToErrorKind
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-NLREQJFK.js";
|
|
14
14
|
import {
|
|
15
15
|
canUseRipgrep
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-I3LJQR5I.js";
|
|
17
17
|
import {
|
|
18
18
|
init_esbuild_shims
|
|
19
19
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
preloadRuntimeFetchModule
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-KKBPOU75.js";
|
|
6
6
|
import {
|
|
7
7
|
init_esbuild_shims
|
|
8
8
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -407,18 +407,18 @@ async function createContentGenerator(generatorConfig, config, isInitialAuth) {
|
|
|
407
407
|
try {
|
|
408
408
|
if (authType === "openai" /* USE_OPENAI */) {
|
|
409
409
|
loadBaseGenerator = /* @__PURE__ */ __name(async () => {
|
|
410
|
-
const { createOpenAIContentGenerator } = await import("./openaiContentGenerator-
|
|
410
|
+
const { createOpenAIContentGenerator } = await import("./openaiContentGenerator-D6DYXZD3.js");
|
|
411
411
|
return createOpenAIContentGenerator(generatorConfig, config);
|
|
412
412
|
}, "loadBaseGenerator");
|
|
413
413
|
} else if (authType === "qwen-oauth" /* QWEN_OAUTH */) {
|
|
414
|
-
const { getQwenOAuthClient: getQwenOauthClient } = await import("./qwenOAuth2-
|
|
414
|
+
const { getQwenOAuthClient: getQwenOauthClient } = await import("./qwenOAuth2-HQSYUQ2E.js");
|
|
415
415
|
try {
|
|
416
416
|
const qwenClient = await getQwenOauthClient(
|
|
417
417
|
config,
|
|
418
418
|
isInitialAuth ? { requireCachedCredentials: true } : void 0
|
|
419
419
|
);
|
|
420
420
|
loadBaseGenerator = /* @__PURE__ */ __name(async () => {
|
|
421
|
-
const { QwenContentGenerator } = await import("./qwenContentGenerator-
|
|
421
|
+
const { QwenContentGenerator } = await import("./qwenContentGenerator-MTXRA2IT.js");
|
|
422
422
|
return new QwenContentGenerator(qwenClient, generatorConfig, config);
|
|
423
423
|
}, "loadBaseGenerator");
|
|
424
424
|
} catch (error) {
|
|
@@ -429,12 +429,12 @@ async function createContentGenerator(generatorConfig, config, isInitialAuth) {
|
|
|
429
429
|
}
|
|
430
430
|
} else if (authType === "anthropic" /* USE_ANTHROPIC */) {
|
|
431
431
|
loadBaseGenerator = /* @__PURE__ */ __name(async () => {
|
|
432
|
-
const { createAnthropicContentGenerator } = await import("./anthropicContentGenerator-
|
|
432
|
+
const { createAnthropicContentGenerator } = await import("./anthropicContentGenerator-DTMVEL5M.js");
|
|
433
433
|
return createAnthropicContentGenerator(generatorConfig, config);
|
|
434
434
|
}, "loadBaseGenerator");
|
|
435
435
|
} else if (authType === "gemini" /* USE_GEMINI */ || authType === "vertex-ai" /* USE_VERTEX_AI */) {
|
|
436
436
|
loadBaseGenerator = /* @__PURE__ */ __name(async () => {
|
|
437
|
-
const { createGeminiContentGenerator } = await import("./geminiContentGenerator-
|
|
437
|
+
const { createGeminiContentGenerator } = await import("./geminiContentGenerator-ZLI7NARI.js");
|
|
438
438
|
return createGeminiContentGenerator(generatorConfig, config);
|
|
439
439
|
}, "loadBaseGenerator");
|
|
440
440
|
} else {
|
|
@@ -450,7 +450,7 @@ async function createContentGenerator(generatorConfig, config, isInitialAuth) {
|
|
|
450
450
|
try {
|
|
451
451
|
const [baseGenerator, { LoggingContentGenerator }] = await Promise.all([
|
|
452
452
|
loadBaseGenerator(),
|
|
453
|
-
import("./loggingContentGenerator-
|
|
453
|
+
import("./loggingContentGenerator-JPOQJB44.js")
|
|
454
454
|
]);
|
|
455
455
|
return new LoggingContentGenerator(
|
|
456
456
|
baseGenerator,
|
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
getCliVersion
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-FBPPGNA4.js";
|
|
6
6
|
import {
|
|
7
7
|
IdeClient,
|
|
8
8
|
formatMemoryUsage
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-I3LJQR5I.js";
|
|
10
10
|
import {
|
|
11
11
|
createDebugLogger
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-OIVKILPI.js";
|
|
13
13
|
import {
|
|
14
14
|
init_esbuild_shims
|
|
15
15
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -25,7 +25,7 @@ import { execFile } from "node:child_process";
|
|
|
25
25
|
|
|
26
26
|
// packages/cli/src/generated/git-commit.ts
|
|
27
27
|
init_esbuild_shims();
|
|
28
|
-
var GIT_COMMIT_INFO = "
|
|
28
|
+
var GIT_COMMIT_INFO = "990122963";
|
|
29
29
|
|
|
30
30
|
// packages/cli/src/utils/systemInfo.ts
|
|
31
31
|
var debugLogger = createDebugLogger("STATUS");
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
} from "./chunk-4NFY2S7N.js";
|
|
6
6
|
import {
|
|
7
7
|
createDebugLogger
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-OIVKILPI.js";
|
|
9
9
|
import {
|
|
10
10
|
wrapper_default
|
|
11
11
|
} from "./chunk-TYAMGABM.js";
|
|
@@ -614,6 +614,7 @@ async function openVoiceStreamWithRetry(open, opts = {}) {
|
|
|
614
614
|
__name(openVoiceStreamWithRetry, "openVoiceStreamWithRetry");
|
|
615
615
|
|
|
616
616
|
export {
|
|
617
|
+
deriveWebSocketBase,
|
|
617
618
|
openVoiceStream,
|
|
618
619
|
openQwenAsrRealtimeStream,
|
|
619
620
|
openVoiceStreamWithRetry
|