@qwen-code/qwen-code 0.21.6 → 0.21.7-nightly.20260808.4ec0371e6
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 +50 -31
- package/bundled/qc-helper/docs/features/channels/dingtalk.md +41 -3
- package/bundled/qc-helper/docs/features/channels/feishu.md +13 -2
- package/bundled/qc-helper/docs/features/channels/github.md +13 -11
- package/bundled/qc-helper/docs/features/channels/gitlab.md +13 -11
- package/bundled/qc-helper/docs/features/channels/overview.md +49 -31
- package/bundled/qc-helper/docs/features/channels/plugins.md +2 -2
- package/bundled/qc-helper/docs/features/channels/qqbot.md +4 -2
- package/bundled/qc-helper/docs/features/channels/telegram.md +4 -2
- package/bundled/qc-helper/docs/features/channels/wecom.md +1 -1
- package/bundled/qc-helper/docs/features/code-review.md +31 -0
- package/bundled/qc-helper/docs/features/hooks.md +2 -0
- package/bundled/qc-helper/docs/qwen-serve.md +4 -1
- package/bundled/review/SKILL.md +52 -16
- package/chunks/{MaxSizedBox-2HFKP4LI.js → MaxSizedBox-COZBVNCI.js} +42 -41
- package/chunks/{StandaloneSessionPicker-RBV72M5N.js → StandaloneSessionPicker-3OF2FS6S.js} +59 -57
- package/chunks/{acpAgent-WO6JFCVQ.js → acpAgent-3JCJ6KWG.js} +236 -185
- package/chunks/{agent-AHGLYNZ4.js → agent-DBSC47CD.js} +39 -38
- package/chunks/{agent-headless-NTXKKGRO.js → agent-headless-ZJHZ7I3S.js} +39 -38
- package/chunks/{anthropicContentGenerator-3CAHEZBM.js → anthropicContentGenerator-SSFE2753.js} +15 -15
- package/chunks/{artifact-tool-RROCCJDA.js → artifact-tool-N652YE4L.js} +2 -2
- package/chunks/{askUserQuestion-2EPPBPUZ.js → askUserQuestion-ONW74PKJ.js} +2 -2
- package/chunks/{bridge-RPAU64CA.js → bridge-NFBYT4ZI.js} +43 -42
- package/chunks/{channel-management-service-IGEUOVRT.js → channel-management-service-LXSJXQGM.js} +19 -10
- package/chunks/{channel-settings-store-ON64MF7G.js → channel-settings-store-LABKDKSI.js} +46 -45
- package/chunks/{channel-worker-group-JWQK224X.js → channel-worker-group-MTW2AGT3.js} +4 -4
- package/chunks/{channel-worker-manager-77E3OXRQ.js → channel-worker-manager-UU6PTQSI.js} +4 -4
- package/chunks/{channel-worker-supervisor-62YWUGP2.js → channel-worker-supervisor-5SRD24FG.js} +3 -3
- package/chunks/{chunk-XC656O42.js → chunk-22NBYCPD.js} +3 -3
- package/chunks/{chunk-K2B3X3E7.js → chunk-26ISE5EG.js} +4 -4
- package/chunks/{chunk-Z7JILXGX.js → chunk-2UUMVNYT.js} +3 -3
- package/chunks/{chunk-ACZRB7AD.js → chunk-3ARO4N5G.js} +3 -3
- package/chunks/{chunk-CJ5WLD5Y.js → chunk-3HS6Y4UA.js} +96 -22
- package/chunks/{chunk-MBEMTXQT.js → chunk-3K7FH2KQ.js} +1 -32
- package/chunks/{chunk-QYPT3QUD.js → chunk-3ULCB3NE.js} +3 -3
- package/chunks/{chunk-IMOQO6YL.js → chunk-4Q6N3SNL.js} +1 -1
- package/chunks/{chunk-3UOLYNTF.js → chunk-4QJJHIZ5.js} +23 -14
- package/chunks/{chunk-VGFPFM4U.js → chunk-5PGKKSO6.js} +42 -16
- package/chunks/{chunk-NGJOAKJY.js → chunk-5YT3Y33M.js} +3 -3
- package/chunks/{chunk-T4JSA7KU.js → chunk-64YLXLMY.js} +3 -3
- package/chunks/{chunk-5L6CQ4ZU.js → chunk-6M26GBKX.js} +2 -2
- package/chunks/{chunk-ZPPP6VCL.js → chunk-6ZRFAKXK.js} +1 -1
- package/chunks/{chunk-OP2OHZ7K.js → chunk-764F335K.js} +18 -9
- package/chunks/{chunk-PPUOYL77.js → chunk-77WOUGCA.js} +53 -22
- package/chunks/{chunk-33FNCQSY.js → chunk-7MH4J33A.js} +2 -2
- package/chunks/{chunk-S7CV4KO6.js → chunk-AB4A73VL.js} +2 -2
- package/chunks/{chunk-O7V7N4G7.js → chunk-ACHMWGC5.js} +198 -35
- package/chunks/{chunk-NKSF7HYF.js → chunk-AG3P2RES.js} +1 -1
- package/chunks/{chunk-6PEXNQTX.js → chunk-ALFTV7GA.js} +26 -2
- package/chunks/{chunk-JELIWHXD.js → chunk-AOHJKPKL.js} +1 -1
- package/chunks/{chunk-XA4TMLFN.js → chunk-APMRLB2H.js} +580 -394
- package/chunks/{chunk-75QMRMO7.js → chunk-APNNM3JC.js} +3 -3
- package/chunks/{chunk-GLNBDYUX.js → chunk-AXMWHKXA.js} +6 -2
- package/chunks/{chunk-VNQCPBC2.js → chunk-B23P3YWE.js} +3 -3
- package/chunks/{chunk-H36SETQS.js → chunk-B2GJNDTV.js} +1 -1
- package/chunks/{chunk-Q5RM32DR.js → chunk-BCMJPTXV.js} +1 -1
- package/chunks/{chunk-A4VTILZT.js → chunk-BFSQBXHV.js} +714 -398
- package/chunks/{chunk-QMBEW7EW.js → chunk-BGG4MBYD.js} +2 -2
- package/chunks/{chunk-SLSWFHDF.js → chunk-BJKFFPX2.js} +4 -4
- package/chunks/{chunk-N2GJU6KI.js → chunk-BN3OROB3.js} +12 -12
- package/chunks/chunk-CE5UCTKO.js +3508 -0
- package/chunks/{chunk-2UISUFHQ.js → chunk-CJXIIILK.js} +3 -3
- package/chunks/{chunk-WK4TJUEA.js → chunk-CKASRHZI.js} +1 -1
- package/chunks/chunk-CPG6P4GG.js +82 -0
- package/chunks/{chunk-KKN2IE7Q.js → chunk-CTJLZLB5.js} +1 -1
- package/chunks/{chunk-DIEFUBV6.js → chunk-DIWZNWZT.js} +205 -35
- package/chunks/{chunk-CA4UIDFU.js → chunk-DPH3MUAP.js} +1 -1
- package/chunks/{chunk-4LKVQFHM.js → chunk-DREZZAZM.js} +2 -2
- 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-4JH77A2U.js → chunk-EZ53KMUN.js} +1 -1
- package/chunks/{chunk-HY25ULVN.js → chunk-F3LPXDJP.js} +157 -56
- package/chunks/{chunk-D3UEZIQH.js → chunk-FJ6YHWHZ.js} +2 -2
- package/chunks/{chunk-UH7Z7Y45.js → chunk-FOGU3LJX.js} +1 -1
- package/chunks/{chunk-E4WHKETF.js → chunk-FVKHVJZQ.js} +2 -49
- package/chunks/{chunk-YZQTA3ID.js → chunk-GDXET5XU.js} +31 -3396
- package/chunks/{chunk-A5YZ3FA2.js → chunk-GM463R2B.js} +1 -1
- package/chunks/{chunk-MOHAWIAW.js → chunk-GNPNYXJB.js} +2 -2
- package/chunks/{chunk-SUKEUUAA.js → chunk-GUFY6D3E.js} +1 -1
- package/chunks/{chunk-FZFP7RZI.js → chunk-H2352CX2.js} +3 -3
- package/chunks/{chunk-GWRHVJY2.js → chunk-HKCYGZZ4.js} +22 -22
- package/chunks/{chunk-3PRJYMXC.js → chunk-HUWENAHO.js} +1 -1
- package/chunks/{chunk-G5NNWEYE.js → chunk-HY2INPTA.js} +4 -4
- package/chunks/{chunk-WVAESIM6.js → chunk-IA7TGCN2.js} +4 -4
- package/chunks/{chunk-HU5TUALO.js → chunk-IIJEYBNH.js} +3 -3
- package/chunks/{chunk-XM2O73NC.js → chunk-IMK3SJ43.js} +5703 -4343
- package/chunks/{chunk-4S4OEQ6U.js → chunk-J6SZID63.js} +2 -2
- package/chunks/{chunk-OWSW7EYP.js → chunk-JACAHYEN.js} +7 -7
- package/chunks/{chunk-R5RBXLNC.js → chunk-JRIJOZXO.js} +5 -5
- package/chunks/{chunk-SQOMTWQT.js → chunk-JSJTZ6GO.js} +4 -4
- package/chunks/{chunk-VWOVHOTT.js → chunk-KJZ26VBX.js} +1 -1
- package/chunks/{chunk-BFHXDAR7.js → chunk-KKBPOU75.js} +1 -1
- package/chunks/{chunk-TGGEZINK.js → chunk-KKRGVSHC.js} +7 -7
- package/chunks/{chunk-RK2EE3T7.js → chunk-KPMB4JEZ.js} +4 -4
- package/chunks/{chunk-MKVZE4ZJ.js → chunk-KTJFU7RT.js} +3 -2
- package/chunks/{chunk-MGSSJT27.js → chunk-L4N6TIP7.js} +5 -3
- package/chunks/{chunk-U4AF3QLU.js → chunk-L4OW63GW.js} +8 -8
- package/chunks/{chunk-C4CBJQKY.js → chunk-LDUGDB5H.js} +1 -1
- package/chunks/{chunk-W5DXUTXD.js → chunk-LDY4J4G6.js} +8 -8
- package/chunks/{chunk-GK2H5GRC.js → chunk-LMEIS6WW.js} +16 -6
- package/chunks/{chunk-6O5DVH27.js → chunk-M6HMMKVG.js} +1 -1
- package/chunks/{chunk-TOGZTG4X.js → chunk-MIA37QO3.js} +2 -2
- package/chunks/{chunk-536SWZTA.js → chunk-MV7VUCIG.js} +4 -4
- package/chunks/{chunk-T5U6IM4C.js → chunk-MVUQRLOH.js} +3 -3
- package/chunks/{chunk-GLWP3FDB.js → chunk-MZSJ43WV.js} +31 -2
- package/chunks/{chunk-UGTWD35F.js → chunk-NLREQJFK.js} +1 -1
- package/chunks/{chunk-RFUHDCNF.js → chunk-O7VQ3F22.js} +1 -1
- package/chunks/{chunk-3RXUYQJI.js → chunk-OIVKILPI.js} +49 -0
- package/chunks/{chunk-LBWNSLJK.js → chunk-ONSZH6VM.js} +2 -2
- package/chunks/{chunk-4WTAQEHV.js → chunk-OQTXYMKW.js} +3 -3
- package/chunks/{chunk-DYA25Y7U.js → chunk-OWMAZHIX.js} +1 -1
- package/chunks/{chunk-LAAFLUQV.js → chunk-P74TZRXD.js} +2 -2
- package/chunks/{chunk-BOGOR4HB.js → chunk-P7HUJDBZ.js} +7 -7
- package/chunks/chunk-PJRW65JO.js +107 -0
- package/chunks/{chunk-D7D7RXIJ.js → chunk-PYQADEFD.js} +6 -1
- package/chunks/{chunk-WO2B5E5B.js → chunk-Q3JQ7OSU.js} +1 -1
- package/chunks/{chunk-3LZKY4V4.js → chunk-QKJT5K4Q.js} +5 -5
- package/chunks/{chunk-OXX3FG2N.js → chunk-R2KZWK5Z.js} +3 -3
- package/chunks/{chunk-QZKYZCN3.js → chunk-REHWPCG2.js} +3 -3
- package/chunks/{chunk-2POQWYM6.js → chunk-RFA6VDCR.js} +3 -3
- package/chunks/{chunk-DIT4V3XH.js → chunk-RGTB44BO.js} +1 -1
- package/chunks/{chunk-SQC6K5HI.js → chunk-RPWVIXDB.js} +19 -2
- package/chunks/{chunk-ODPXHGLL.js → chunk-RZMGG3HP.js} +2 -2
- package/chunks/{chunk-2AGOQ7QO.js → chunk-S6HYI3MF.js} +118 -6
- package/chunks/chunk-SAH4BD2J.js +92 -0
- package/chunks/{chunk-JE44IPH6.js → chunk-SDUDZNF4.js} +2 -2
- package/chunks/{chunk-YAVY33G4.js → chunk-SEZ556DZ.js} +1 -1
- package/chunks/chunk-SOORFWKY.js +155 -0
- package/chunks/{chunk-KHUA3NQV.js → chunk-TAOSTUHI.js} +2 -2
- package/chunks/{chunk-VSALQLT7.js → chunk-TSYIQDG7.js} +1 -1
- package/chunks/{chunk-ULPQQSDN.js → chunk-TX3KSSDN.js} +3 -3
- package/chunks/{chunk-KVUBYJDM.js → chunk-TZEZYNYD.js} +1 -1
- package/chunks/{chunk-24ER7UV4.js → chunk-UFALT4LK.js} +1 -1
- package/chunks/{chunk-GESMMPAK.js → chunk-UKAYEQDU.js} +91 -63
- package/chunks/{chunk-XC2VAFVZ.js → chunk-UVX4Y6IN.js} +1 -1
- package/chunks/chunk-VDS2WYM5.js +244 -0
- package/chunks/{chunk-DVBEGGLG.js → chunk-VLFX3L3X.js} +10 -9
- package/chunks/{chunk-WNU7TZTO.js → chunk-VT3VNFVW.js} +3 -3
- package/chunks/{chunk-6WBWIPBF.js → chunk-WAUGQKUU.js} +4 -64
- package/chunks/{chunk-URN76TKR.js → chunk-WCG5O7IP.js} +2 -2
- package/chunks/{chunk-PX5DNLSA.js → chunk-XCG76UE6.js} +18 -10
- package/chunks/{chunk-TSERKWCX.js → chunk-XCWO3SMQ.js} +3 -3
- package/chunks/{chunk-5MJGUQU5.js → chunk-XIDHBXUI.js} +3 -3
- package/chunks/{chunk-3LGZEYOF.js → chunk-YHEEE624.js} +2 -2
- package/chunks/{chunk-SKNE3KQC.js → chunk-Z5ZAWED3.js} +19 -10
- package/chunks/{chunk-YMBOEAF4.js → chunk-Z6W3XDLN.js} +1 -1
- package/chunks/{chunk-EXCEQD22.js → chunk-ZKUJ4AO7.js} +4 -4
- package/chunks/{chunk-RHTTKJTP.js → chunk-ZQGHESAS.js} +1 -1
- package/chunks/{chunk-WUC6ZFXO.js → chunk-ZWBUH5UP.js} +1 -1
- package/chunks/{computer-use-5HXJ2P4X.js → computer-use-QLJ27OCZ.js} +39 -38
- package/chunks/{config-utils-VXD4SPVR.js → config-utils-KIEXWA4F.js} +4 -4
- package/chunks/{contextCommand-7BEHRX2H.js → contextCommand-JDTOJRBO.js} +41 -40
- package/chunks/{core-runtime-U4VJ5TIV.js → core-runtime-MZIAVYQC.js} +43 -42
- package/chunks/{create-sub-session-6EWLAZD5.js → create-sub-session-QIDZUOPU.js} +2 -2
- package/chunks/{create-sub-session-QZNQY332.js → create-sub-session-YBBCNSHE.js} +39 -38
- package/chunks/{cron-create-CCRIULJE.js → cron-create-VONA5JYY.js} +4 -4
- package/chunks/{cron-delete-FCFW6BGP.js → cron-delete-5JXSP2MI.js} +4 -4
- package/chunks/{cron-list-QDBVCHRF.js → cron-list-KE4F2CIR.js} +4 -4
- package/chunks/{daemon-YI5RY62O.js → daemon-SCTQMM7Z.js} +50 -2
- package/chunks/{daemon-status-provider-UJUGTDTL.js → daemon-status-provider-BZ7RD4ZJ.js} +47 -46
- package/chunks/{daemon-trust-policy-ZHDD5VYQ.js → daemon-trust-policy-2E4C3M7S.js} +45 -44
- package/chunks/{daemon-trust-policy-monitor-5SHYBDGA.js → daemon-trust-policy-monitor-UYLFH6RW.js} +45 -44
- package/chunks/{deferred-core-runtime-QWAEBTR5.js → deferred-core-runtime-6XZYMJZB.js} +39 -38
- package/chunks/{display-image-GUJA352B.js → display-image-NQRSIBXM.js} +4 -4
- package/chunks/{dist-SFQ34F4M.js → dist-26RK5XZO.js} +1 -1
- package/chunks/{dist-DPPHJAVL.js → dist-BATY7GI4.js} +187 -6
- package/chunks/{dist-A7H2KKUC.js → dist-HIACTZEK.js} +332 -113
- package/chunks/{dist-3BMEUGTG.js → dist-IRL7WA5Z.js} +1 -1
- package/chunks/{dist-HVBMEYWK.js → dist-KVISB2O2.js} +1 -1
- package/chunks/{dist-KS4O2NKE.js → dist-MBF3I5MX.js} +14 -8
- package/chunks/{dist-7JGAAQSC.js → dist-RCH3I7SS.js} +2 -2
- package/chunks/{dist-C5U4LJKW.js → dist-TUSWNE2I.js} +5 -4
- package/chunks/{earlyInputCapture-5BMSGKOI.js → earlyInputCapture-LATQCGDC.js} +40 -39
- package/chunks/{edit-IVQQVYYK.js → edit-72DP57CD.js} +39 -38
- package/chunks/{enter-worktree-P3DF2N6O.js → enter-worktree-B4FY2ZPP.js} +39 -38
- package/chunks/{enterPlanMode-KKTDVLAD.js → enterPlanMode-TQBWGCPL.js} +39 -38
- package/chunks/{environment-W5TRDM3G.js → environment-MOGZGZDS.js} +42 -41
- package/chunks/{errors-GJJB36IG.js → errors-PGON5GH7.js} +41 -40
- package/chunks/{exit-worktree-LV5RLOCU.js → exit-worktree-EYUD4YP2.js} +39 -38
- package/chunks/{exitPlanMode-TUGOB2LL.js → exitPlanMode-4Q7BSQXR.js} +39 -38
- package/chunks/{fast-path-2FU23PAQ.js → fast-path-WI7D5MER.js} +23 -3
- package/chunks/{fast-path-settings-WQJU2LAT.js → fast-path-settings-YBRL24DB.js} +2 -2
- package/chunks/{gemini-KDULDQPP.js → gemini-ZXURGM6Y.js} +87 -82
- package/chunks/{geminiContentGenerator-LOCFHNVA.js → geminiContentGenerator-EOODO75Y.js} +6 -6
- package/chunks/{glob-Z4NQFKWS.js → glob-QNRIUOS6.js} +39 -38
- package/chunks/{goal-tools-3AZKX5WQ.js → goal-tools-QSYW65HV.js} +3 -3
- package/chunks/{grep-Z67Z7EN6.js → grep-56MTW67B.js} +39 -38
- package/chunks/{handleAutoUpdate-DFUZE6I6.js → handleAutoUpdate-XGFIPVT4.js} +43 -42
- package/chunks/{i18n-R4FMZ7N2.js → i18n-RZB35L4B.js} +40 -39
- package/chunks/{image-gen-4CQJPQP5.js → image-gen-OE2EEKN3.js} +9 -9
- package/chunks/{initializer-DK672ZVE.js → initializer-YPVMTMKD.js} +46 -45
- package/chunks/{installationInfo-PO4Z3ES7.js → installationInfo-ZTMTMYNW.js} +40 -39
- package/chunks/{keychain-token-storage-7BT4TQ2A.js → keychain-token-storage-TVAMTNP7.js} +2 -2
- package/chunks/{list-QXQF6C53.js → list-NIW3WID5.js} +48 -47
- package/chunks/{list-agents-GC4BRET7.js → list-agents-Z4WABFDZ.js} +2 -2
- package/chunks/{loadedSettingsAdapter-4D7GUGW6.js → loadedSettingsAdapter-VSLILTOZ.js} +45 -44
- package/chunks/{loggingContentGenerator-2P3MNACM.js → loggingContentGenerator-KFZYVAGV.js} +17 -17
- package/chunks/{loop-wakeup-SQQSBMEY.js → loop-wakeup-UZ5RL5Y2.js} +5 -5
- package/chunks/{ls-63CC3NNX.js → ls-TVHDGIES.js} +4 -4
- package/chunks/{lsp-P6NVJVNT.js → lsp-CVN6OQPI.js} +2 -2
- package/chunks/{managed-npm-update-LWVJQTWO.js → managed-npm-update-WHTA2K5V.js} +40 -39
- package/chunks/{mcp-GHETAR6V.js → mcp-7KGK3CS3.js} +45 -44
- package/chunks/{monitor-4T7W4M6Q.js → monitor-FDWEJQWP.js} +39 -38
- package/chunks/nonInteractiveCli-2MVJ6TCS.js +155 -0
- package/chunks/{notebook-edit-OC2V7U5D.js → notebook-edit-ZUVK2XWE.js} +47 -38
- package/chunks/{openaiContentGenerator-RAJUFWQY.js → openaiContentGenerator-TNLWOPH5.js} +28 -21
- package/chunks/{pidfile-HVPYVRLS.js → pidfile-BB6SKPH2.js} +40 -39
- package/chunks/{process-registry-2CHQBXH5.js → process-registry-PMJOA5CO.js} +15 -0
- package/chunks/{processUtils-VIQ4JHVX.js → processUtils-WKHJOPDH.js} +2 -2
- package/chunks/{qwenContentGenerator-2QLCUFNZ.js → qwenContentGenerator-FZS2DYF7.js} +48 -46
- package/chunks/{qwenOAuth2-J2X3EN43.js → qwenOAuth2-UYMYRXBB.js} +9 -9
- package/chunks/{read-file-ZNAN2B26.js → read-file-FMTE6LPA.js} +10 -10
- package/chunks/{read-mcp-resource-RTSSEER5.js → read-mcp-resource-PZ4ZF6YL.js} +2 -2
- package/chunks/{record-artifact-E6AWQU2Z.js → record-artifact-P4HFMS7X.js} +3 -3
- package/chunks/{resumeHistoryUtils-RCY7AL5Y.js → resumeHistoryUtils-Z34RCZFF.js} +45 -43
- package/chunks/{ripGrep-C3KMLZM5.js → ripGrep-DUIYUZGM.js} +39 -38
- package/chunks/{run-qwen-serve-3JN75CIQ.js → run-qwen-serve-KOHHR3F4.js} +145 -62
- package/chunks/{runtime-VUA4WQYD.js → runtime-K4NTZSAU.js} +50 -49
- package/chunks/{scheduler-Z4IBXCOY.js → scheduler-6G6AMURS.js} +39 -38
- 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-CAMSLG2L.js} +6 -5
- package/chunks/{serve-67T3P7XI.js → serve-NMG2TM5K.js} +46 -45
- package/chunks/{server-46ZO2CLV.js → server-FS7KDELS.js} +679 -360
- package/chunks/{session-B4IFAFC4.js → session-XZADUVKJ.js} +82 -81
- package/chunks/{settings-AI2BTBOZ.js → settings-G75R6FOA.js} +44 -43
- package/chunks/{shell-BKII3B6E.js → shell-3D3PMQHE.js} +39 -38
- package/chunks/{skill-6CFOWVGA.js → skill-TSEYMVQ2.js} +14 -14
- package/chunks/{skill-settings-6BFQWMW4.js → skill-settings-HJC2CPBJ.js} +44 -43
- package/chunks/{spawnChannel-FJXW35U7.js → spawnChannel-YWCN74G5.js} +41 -40
- package/chunks/{standalone-update-WVINHRNS.js → standalone-update-HLYOLX6V.js} +41 -40
- package/chunks/{startInteractiveUI-YE57CJ57.js → startInteractiveUI-ROUIQ5KU.js} +486 -187
- package/chunks/{syntheticOutput-BN7E626U.js → syntheticOutput-PEBJQYJV.js} +3 -3
- package/chunks/{task-create-Q727MXHJ.js → task-create-5NWCQSJF.js} +10 -9
- package/chunks/{task-list-G6KPQ5JT.js → task-list-53265TRZ.js} +5 -5
- package/chunks/{task-stop-TNXRNAL2.js → task-stop-FPCOIRYX.js} +2 -2
- package/chunks/{task-update-YB7PXO4R.js → task-update-5HN577LS.js} +10 -9
- package/chunks/{team-create-GNC7NFY6.js → team-create-OTP5SSB2.js} +39 -38
- package/chunks/{team-delete-GDO7H2T4.js → team-delete-MMQB4OSC.js} +5 -5
- package/chunks/{team-plan-approval-ECALJLIO.js → team-plan-approval-TQX5TMXU.js} +39 -38
- package/chunks/{terminal-image-renderer-II74TFVW.js → terminal-image-renderer-KF3GKNWW.js} +45 -39
- package/chunks/{theme-manager-2MGEDD22.js → theme-manager-XVWAAGAM.js} +40 -39
- package/chunks/{todoWrite-MHWHO5UO.js → todoWrite-JGV6VLOX.js} +4 -4
- package/chunks/{tool-search-S6LRRACA.js → tool-search-7N4D4O56.js} +14 -13
- package/chunks/{total-session-admission-7WVAWQPU.js → total-session-admission-ZQ4VKIRW.js} +43 -42
- package/chunks/{trustedFolders-NFS4KHO4.js → trustedFolders-4XYFPWVV.js} +40 -39
- package/chunks/{update-relaunch-Q5HLZ6UW.js → update-relaunch-L4GSBLUU.js} +5 -5
- package/chunks/{updateCheck-UOVZSTP7.js → updateCheck-PCUTVRFE.js} +42 -41
- package/chunks/{useAutoAcceptIndicator-PC6MOJCO.js → useAutoAcceptIndicator-WMXY7MND.js} +47 -46
- package/chunks/{validateNonInterActiveAuth-YMQP3ZM7.js → validateNonInterActiveAuth-5S3U2D56.js} +78 -77
- package/chunks/{version-T4AQFZJH.js → version-P57IQU2T.js} +1 -1
- package/chunks/{web-fetch-JQCJHEEX.js → web-fetch-5ZLLLCDD.js} +13 -13
- package/chunks/{web-search-QGZ2KY4G.js → web-search-NELKANTW.js} +10 -10
- package/chunks/web-shell-static-O73YPVVC.js +33 -0
- package/chunks/{workflow-YIT27YWZ.js → workflow-RXKBF3LO.js} +42 -40
- package/chunks/{workspace-providers-status-FIDZQ2PL.js → workspace-providers-status-HAEMNAWC.js} +48 -47
- package/chunks/{workspace-registration-store-RCSPE4DU.js → workspace-registration-store-U3U3YM6V.js} +1 -1
- package/chunks/{workspace-registry-5PEUCY6E.js → workspace-registry-ZFP33GVB.js} +43 -42
- package/chunks/{workspace-service-LANDVPL7.js → workspace-service-QMISJBMA.js} +50 -49
- package/chunks/{workspace-skills-status-2IQVJNIN.js → workspace-skills-status-K7EOUGXL.js} +46 -45
- package/chunks/{workspace-trust-reconciler-CZPZZCZC.js → workspace-trust-reconciler-BFPKULDZ.js} +50 -49
- package/chunks/{write-file-G5VNGCOG.js → write-file-2F76RRFE.js} +39 -38
- package/chunks/{zoom-image-6RBLD7X6.js → zoom-image-DPR22XWY.js} +10 -10
- package/cli.js +12 -12
- package/package.json +3 -3
- package/web-shell/assets/{arc-B-Vtkp1W.js → arc-CunFPPcQ.js} +1 -1
- package/web-shell/assets/{architectureDiagram-3BPJPVTR-qmTXIj64.js → architectureDiagram-3BPJPVTR-D3SqCgeM.js} +1 -1
- package/web-shell/assets/{blockDiagram-GPEHLZMM-ZlnXEtdP.js → blockDiagram-GPEHLZMM-CPRx90S_.js} +1 -1
- package/web-shell/assets/{c4Diagram-AAUBKEIU-Wyoirf6Z.js → c4Diagram-AAUBKEIU-CahP9Ue4.js} +1 -1
- package/web-shell/assets/channel-zbv7GWAw.js +1 -0
- package/web-shell/assets/{chunk-2J33WTMH-WQwbq9d8.js → chunk-2J33WTMH-DckIWZ12.js} +1 -1
- package/web-shell/assets/{chunk-4BX2VUAB-DQKnAXC4.js → chunk-4BX2VUAB-D2Kfctyn.js} +1 -1
- package/web-shell/assets/{chunk-55IACEB6-DIdgXNcO.js → chunk-55IACEB6-DkI11FTX.js} +1 -1
- package/web-shell/assets/{chunk-727SXJPM-CUwGOLEd.js → chunk-727SXJPM-rR-TSCIi.js} +1 -1
- package/web-shell/assets/{chunk-AQP2D5EJ-CCBGZFZ4.js → chunk-AQP2D5EJ-DFGKcGRO.js} +1 -1
- package/web-shell/assets/{chunk-FMBD7UC4-DMGXProk.js → chunk-FMBD7UC4-CjWqcTPE.js} +1 -1
- package/web-shell/assets/{chunk-ND2GUHAM-yejcFqsh.js → chunk-ND2GUHAM-RXe-87UV.js} +1 -1
- package/web-shell/assets/{chunk-QZHKN3VN-DxCyqTf7.js → chunk-QZHKN3VN-Dz0c_Yrn.js} +1 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-DSjLkJJZ.js +1 -0
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-DSjLkJJZ.js +1 -0
- package/web-shell/assets/{cose-bilkent-S5V4N54A-DOrF3cg_.js → cose-bilkent-S5V4N54A-ZHF0-jvV.js} +1 -1
- package/web-shell/assets/{dagre-BM42HDAG-Be6CdYQ_.js → dagre-BM42HDAG-7Umz_ygJ.js} +1 -1
- package/web-shell/assets/{diagram-2AECGRRQ-B_Rjsft2.js → diagram-2AECGRRQ-DomN8nxq.js} +1 -1
- package/web-shell/assets/{diagram-5GNKFQAL-BvQbKSm1.js → diagram-5GNKFQAL-eebvj2OL.js} +1 -1
- package/web-shell/assets/{diagram-KO2AKTUF-BsdmMdpS.js → diagram-KO2AKTUF-IR1mmn9d.js} +1 -1
- package/web-shell/assets/{diagram-LMA3HP47-CrQlBaNr.js → diagram-LMA3HP47-CKysx5KF.js} +1 -1
- package/web-shell/assets/{diagram-OG6HWLK6-aB1MD_DL.js → diagram-OG6HWLK6-cBy5puHn.js} +1 -1
- package/web-shell/assets/{erDiagram-TEJ5UH35-F-eUUn9n.js → erDiagram-TEJ5UH35-B5RJagPG.js} +1 -1
- package/web-shell/assets/{flowDiagram-I6XJVG4X-DY_d8lUK.js → flowDiagram-I6XJVG4X-CfHgDmPg.js} +1 -1
- package/web-shell/assets/{ganttDiagram-6RSMTGT7-Dqu7KBPg.js → ganttDiagram-6RSMTGT7-DUfFF5nb.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-PVQCEYII-2IkU_VEj.js → gitGraphDiagram-PVQCEYII-M9dt57k5.js} +1 -1
- package/web-shell/assets/{index-QQlUCJGg.css → index-B8e-CkuC.css} +2 -2
- package/web-shell/assets/{index-BuSbqggh.js → index-CKjO4myk.js} +1 -1
- package/web-shell/assets/index-Dc-fTO0V.js +1768 -0
- package/web-shell/assets/{infoDiagram-5YYISTIA-C4orwzPw.js → infoDiagram-5YYISTIA-CTKMmIro.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-fXUEfef_.js → ishikawaDiagram-YF4QCWOH-DJIJDP4s.js} +1 -1
- package/web-shell/assets/{journeyDiagram-JHISSGLW-Bs0I1_J5.js → journeyDiagram-JHISSGLW-DgRnvn6S.js} +1 -1
- package/web-shell/assets/{kanban-definition-UN3LZRKU-BPRj1dw_.js → kanban-definition-UN3LZRKU-VUwO8yrg.js} +1 -1
- package/web-shell/assets/{linear-DFS6ZDpW.js → linear-BCvgV5I_.js} +1 -1
- package/web-shell/assets/{mermaid.core-CZxjWMaO.js → mermaid.core-mv_kVV6q.js} +5 -5
- package/web-shell/assets/{mindmap-definition-RKZ34NQL-Dsr3PmNs.js → mindmap-definition-RKZ34NQL-sfnjMlOd.js} +1 -1
- package/web-shell/assets/{pieDiagram-4H26LBE5-D5Ngpz5Y.js → pieDiagram-4H26LBE5-BlhICse4.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-W4KKPZXB-WJK9I25z.js → quadrantDiagram-W4KKPZXB-BgTQzwen.js} +1 -1
- package/web-shell/assets/{requirementDiagram-4Y6WPE33-CmrYcwOH.js → requirementDiagram-4Y6WPE33-CZ-FTrrN.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-5OEKKPKP-7SjCc4Mv.js → sankeyDiagram-5OEKKPKP-G5Wp_jn3.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-3UESZ5HK-Dl9E0IRM.js → sequenceDiagram-3UESZ5HK-C8MKZ3i1.js} +1 -1
- package/web-shell/assets/{stateDiagram-AJRCARHV-CRRio7yV.js → stateDiagram-AJRCARHV-Bo0ZDm7y.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-31TSCPcH.js +1 -0
- package/web-shell/assets/{timeline-definition-PNZ67QCA-DVyXjjfq.js → timeline-definition-PNZ67QCA-M3L9E01f.js} +1 -1
- package/web-shell/assets/{vennDiagram-CIIHVFJN-Nb2Lckzq.js → vennDiagram-CIIHVFJN-DD4eHCrm.js} +1 -1
- package/web-shell/assets/{wardley-L42UT6IY-DuL_otIP.js → wardley-L42UT6IY-DNEL_3g4.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-YWT4CUSO-DVI9Q4Aa.js → wardleyDiagram-YWT4CUSO-q484OoqI.js} +1 -1
- package/web-shell/assets/{xychartDiagram-2RQKCTM6-BNjAm7KD.js → xychartDiagram-2RQKCTM6-4mcNt1Yg.js} +1 -1
- package/web-shell/index.html +2 -2
- package/chunks/chunk-EMYZIABH.js +0 -81
- package/chunks/nonInteractiveCli-P4UKCJFM.js +0 -154
- package/web-shell/assets/channel-DXaHnfjS.js +0 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-BigU82A0.js +0 -1
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-BigU82A0.js +0 -1
- package/web-shell/assets/index-DrfC2e9s.js +0 -1768
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-1atT7XaU.js +0 -1
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
// Force strict mode and setup for ESM
|
|
2
|
+
"use strict";
|
|
3
|
+
import {
|
|
4
|
+
init_esbuild_shims
|
|
5
|
+
} from "./chunk-5O2XNYP6.js";
|
|
6
|
+
import {
|
|
7
|
+
__name
|
|
8
|
+
} from "./chunk-J2S4EL5Y.js";
|
|
9
|
+
|
|
10
|
+
// packages/core/src/core/openaiContentGenerator/prefix-caching.ts
|
|
11
|
+
init_esbuild_shims();
|
|
12
|
+
var CACHE_KEY_PREFIX = "qwen-code:";
|
|
13
|
+
var EXPLICIT_BREAKPOINT_COUNT = 2;
|
|
14
|
+
function supportsOpenAIPrefixCaching(contentGeneratorConfig) {
|
|
15
|
+
return contentGeneratorConfig.authType === "openai" /* USE_OPENAI */ || contentGeneratorConfig.authType === "qwen-oauth" /* QWEN_OAUTH */;
|
|
16
|
+
}
|
|
17
|
+
__name(supportsOpenAIPrefixCaching, "supportsOpenAIPrefixCaching");
|
|
18
|
+
function isOfficialOpenAIEndpoint(contentGeneratorConfig) {
|
|
19
|
+
if (contentGeneratorConfig.authType !== "openai" /* USE_OPENAI */) return false;
|
|
20
|
+
const { baseUrl } = contentGeneratorConfig;
|
|
21
|
+
if (!baseUrl) return false;
|
|
22
|
+
try {
|
|
23
|
+
return new URL(baseUrl).hostname.toLowerCase() === "api.openai.com";
|
|
24
|
+
} catch {
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
__name(isOfficialOpenAIEndpoint, "isOfficialOpenAIEndpoint");
|
|
29
|
+
function supportsExplicitOpenAIPromptCaching(model) {
|
|
30
|
+
const match = /^gpt-(\d+)(?:\.(\d+))?(?:[-.]|$)/i.exec(model);
|
|
31
|
+
if (!match) return false;
|
|
32
|
+
const major = Number(match[1]);
|
|
33
|
+
const minor = Number(match[2] ?? 0);
|
|
34
|
+
return major > 5 || major === 5 && minor >= 6;
|
|
35
|
+
}
|
|
36
|
+
__name(supportsExplicitOpenAIPromptCaching, "supportsExplicitOpenAIPromptCaching");
|
|
37
|
+
function withCacheBreakpoint(message) {
|
|
38
|
+
if (message.role !== "user" && message.role !== "tool") return void 0;
|
|
39
|
+
const marker = { prompt_cache_breakpoint: { mode: "explicit" } };
|
|
40
|
+
if (typeof message.content === "string") {
|
|
41
|
+
return {
|
|
42
|
+
...message,
|
|
43
|
+
content: [{ type: "text", text: message.content, ...marker }]
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
if (!Array.isArray(message.content) || message.content.length === 0) {
|
|
47
|
+
return void 0;
|
|
48
|
+
}
|
|
49
|
+
const content = [...message.content];
|
|
50
|
+
const lastIndex = content.length - 1;
|
|
51
|
+
content[lastIndex] = { ...content[lastIndex], ...marker };
|
|
52
|
+
return { ...message, content };
|
|
53
|
+
}
|
|
54
|
+
__name(withCacheBreakpoint, "withCacheBreakpoint");
|
|
55
|
+
function applyOfficialOpenAIPromptCaching(request, sessionId, cacheSharing, cacheKeyPartition) {
|
|
56
|
+
const result = { ...request };
|
|
57
|
+
if (sessionId && !result.prompt_cache_key) {
|
|
58
|
+
const partition = cacheKeyPartition ? `:${cacheKeyPartition}` : "";
|
|
59
|
+
result.prompt_cache_key = `${CACHE_KEY_PREFIX}${sessionId}${partition}`;
|
|
60
|
+
}
|
|
61
|
+
if (!cacheSharing || !supportsExplicitOpenAIPromptCaching(request.model)) {
|
|
62
|
+
return result;
|
|
63
|
+
}
|
|
64
|
+
const messages = [...request.messages];
|
|
65
|
+
let marked = 0;
|
|
66
|
+
for (let index = messages.length - 2; index >= 0 && marked < EXPLICIT_BREAKPOINT_COUNT; index -= 1) {
|
|
67
|
+
const message = messages[index];
|
|
68
|
+
const updated = message ? withCacheBreakpoint(message) : void 0;
|
|
69
|
+
if (!updated) continue;
|
|
70
|
+
messages[index] = updated;
|
|
71
|
+
marked += 1;
|
|
72
|
+
}
|
|
73
|
+
if (marked === 0) return result;
|
|
74
|
+
result.messages = messages;
|
|
75
|
+
result.prompt_cache_options = {
|
|
76
|
+
...result.prompt_cache_options,
|
|
77
|
+
mode: "explicit"
|
|
78
|
+
};
|
|
79
|
+
return result;
|
|
80
|
+
}
|
|
81
|
+
__name(applyOfficialOpenAIPromptCaching, "applyOfficialOpenAIPromptCaching");
|
|
82
|
+
|
|
83
|
+
export {
|
|
84
|
+
supportsOpenAIPrefixCaching,
|
|
85
|
+
isOfficialOpenAIEndpoint,
|
|
86
|
+
applyOfficialOpenAIPromptCaching
|
|
87
|
+
};
|
|
88
|
+
/**
|
|
89
|
+
* @license
|
|
90
|
+
* Copyright 2025 Qwen
|
|
91
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
92
|
+
*/
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
isGitRepository
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-BFSQBXHV.js";
|
|
6
6
|
import {
|
|
7
7
|
createDebugLogger
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-OIVKILPI.js";
|
|
9
9
|
import {
|
|
10
10
|
init_esbuild_shims
|
|
11
11
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
// Force strict mode and setup for ESM
|
|
2
|
+
"use strict";
|
|
3
|
+
import {
|
|
4
|
+
require_express
|
|
5
|
+
} from "./chunk-GDXET5XU.js";
|
|
6
|
+
import {
|
|
7
|
+
writeStderrLine
|
|
8
|
+
} from "./chunk-KGJGEEVR.js";
|
|
9
|
+
import {
|
|
10
|
+
init_esbuild_shims
|
|
11
|
+
} from "./chunk-5O2XNYP6.js";
|
|
12
|
+
import {
|
|
13
|
+
__name,
|
|
14
|
+
__toESM
|
|
15
|
+
} from "./chunk-J2S4EL5Y.js";
|
|
16
|
+
|
|
17
|
+
// packages/cli/src/serve/web-shell-static.ts
|
|
18
|
+
init_esbuild_shims();
|
|
19
|
+
var import_express = __toESM(require_express(), 1);
|
|
20
|
+
import * as path from "node:path";
|
|
21
|
+
|
|
22
|
+
// packages/cli/src/serve/debug-mode.ts
|
|
23
|
+
init_esbuild_shims();
|
|
24
|
+
function isServeDebugMode() {
|
|
25
|
+
const value = process.env["QWEN_SERVE_DEBUG"];
|
|
26
|
+
if (!value) return false;
|
|
27
|
+
return !["0", "false", "off", "no"].includes(value.trim().toLowerCase());
|
|
28
|
+
}
|
|
29
|
+
__name(isServeDebugMode, "isServeDebugMode");
|
|
30
|
+
|
|
31
|
+
// packages/cli/src/serve/web-shell-static.ts
|
|
32
|
+
var WEB_SHELL_CSP_DIRECTIVES = [
|
|
33
|
+
"default-src 'self'",
|
|
34
|
+
"script-src 'self' 'unsafe-inline' 'unsafe-eval' 'wasm-unsafe-eval'",
|
|
35
|
+
"style-src 'self' 'unsafe-inline'",
|
|
36
|
+
"font-src 'self' data:",
|
|
37
|
+
"img-src 'self' data: blob:",
|
|
38
|
+
"connect-src 'self'",
|
|
39
|
+
"worker-src 'self' blob:",
|
|
40
|
+
// base-uri does NOT fall back to default-src; lock it so an injected <base>
|
|
41
|
+
// (the SPA renders AI-generated markdown) cannot repoint relative URLs to an
|
|
42
|
+
// attacker origin.
|
|
43
|
+
"base-uri 'none'"
|
|
44
|
+
];
|
|
45
|
+
function buildWebShellCsp(frameAncestors = []) {
|
|
46
|
+
const fa = frameAncestors.length ? `frame-ancestors ${frameAncestors.join(" ")}` : "frame-ancestors 'none'";
|
|
47
|
+
return [...WEB_SHELL_CSP_DIRECTIVES, fa].join("; ");
|
|
48
|
+
}
|
|
49
|
+
__name(buildWebShellCsp, "buildWebShellCsp");
|
|
50
|
+
var WEB_SHELL_CSP = buildWebShellCsp();
|
|
51
|
+
function isDocumentNavigation(req) {
|
|
52
|
+
const fetchMode = req.headers["sec-fetch-mode"];
|
|
53
|
+
const fetchDest = req.headers["sec-fetch-dest"];
|
|
54
|
+
const accept = req.headers.accept ?? "";
|
|
55
|
+
return fetchMode === "navigate" || fetchDest === "document" || accept.trim().toLowerCase().startsWith("text/html");
|
|
56
|
+
}
|
|
57
|
+
__name(isDocumentNavigation, "isDocumentNavigation");
|
|
58
|
+
var SESSION_DEEP_LINK_PATH = /^\/session\/[^/]+\/?$/u;
|
|
59
|
+
function isPreAuthWebShellRequest(req) {
|
|
60
|
+
if (req.method !== "GET" && req.method !== "HEAD") return false;
|
|
61
|
+
const reqPath = req.path.toLowerCase();
|
|
62
|
+
if (reqPath === "/" || // Express non-strict routing compiles `/` to `/^(?:\/)(?:\/$)?$/i`, so
|
|
63
|
+
// a raw `//` also matches `app.get('/')` pre-auth (but `///` does not).
|
|
64
|
+
reqPath === "//" || reqPath === "/assets" || reqPath.startsWith("/assets/"))
|
|
65
|
+
return true;
|
|
66
|
+
return SESSION_DEEP_LINK_PATH.test(reqPath) && isDocumentNavigation(req);
|
|
67
|
+
}
|
|
68
|
+
__name(isPreAuthWebShellRequest, "isPreAuthWebShellRequest");
|
|
69
|
+
function createSendIndex(webShellDir, frameAncestors = []) {
|
|
70
|
+
const indexPath = path.join(webShellDir, "index.html");
|
|
71
|
+
const csp = buildWebShellCsp(frameAncestors);
|
|
72
|
+
return (res) => {
|
|
73
|
+
res.status(200).set("Content-Security-Policy", csp).set("X-Content-Type-Options", "nosniff").set("Referrer-Policy", "no-referrer").set(
|
|
74
|
+
// `microphone=(self)` lets the same-origin Web Shell document request
|
|
75
|
+
// the mic for voice dictation (the prompt won't even appear under an
|
|
76
|
+
// empty `microphone=()` allowlist). Still blocks cross-origin iframes;
|
|
77
|
+
// camera/geolocation/payment stay disabled (unused).
|
|
78
|
+
"Permissions-Policy",
|
|
79
|
+
"camera=(), microphone=(self), geolocation=(), payment=()"
|
|
80
|
+
).set("Cache-Control", "no-cache");
|
|
81
|
+
if (frameAncestors.length === 0) {
|
|
82
|
+
res.set("X-Frame-Options", "DENY");
|
|
83
|
+
}
|
|
84
|
+
res.sendFile(
|
|
85
|
+
indexPath,
|
|
86
|
+
{ cacheControl: false, dotfiles: "allow" },
|
|
87
|
+
(err) => {
|
|
88
|
+
if (!err) return;
|
|
89
|
+
writeStderrLine(
|
|
90
|
+
`qwen serve: Web Shell index send failed: ${err instanceof Error ? err.message : String(err)}`
|
|
91
|
+
);
|
|
92
|
+
if (!res.headersSent) {
|
|
93
|
+
res.status(500).type("text/plain").send("Failed to load Web Shell");
|
|
94
|
+
} else {
|
|
95
|
+
res.end();
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
);
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
__name(createSendIndex, "createSendIndex");
|
|
102
|
+
function mountWebShellAssets(app, webShellDir, frameAncestors = []) {
|
|
103
|
+
const sendIndex = createSendIndex(webShellDir, frameAncestors);
|
|
104
|
+
app.use(
|
|
105
|
+
"/assets",
|
|
106
|
+
import_express.default.static(path.join(webShellDir, "assets"), {
|
|
107
|
+
index: false,
|
|
108
|
+
immutable: true,
|
|
109
|
+
maxAge: "1y"
|
|
110
|
+
})
|
|
111
|
+
);
|
|
112
|
+
app.use("/assets", (req, res) => {
|
|
113
|
+
if (isServeDebugMode()) {
|
|
114
|
+
writeStderrLine(
|
|
115
|
+
`qwen serve: Web Shell asset not found: ${req.originalUrl}`
|
|
116
|
+
);
|
|
117
|
+
}
|
|
118
|
+
res.status(404).type("text/plain").send("Not found");
|
|
119
|
+
});
|
|
120
|
+
app.get("/", (_req, res) => sendIndex(res));
|
|
121
|
+
app.get("/session/:id", (req, res, next) => {
|
|
122
|
+
if (!isDocumentNavigation(req)) return next();
|
|
123
|
+
sendIndex(res);
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
__name(mountWebShellAssets, "mountWebShellAssets");
|
|
127
|
+
function mountWebShellSpaFallback(app, webShellDir, frameAncestors = []) {
|
|
128
|
+
const sendIndex = createSendIndex(webShellDir, frameAncestors);
|
|
129
|
+
app.use((req, res, next) => {
|
|
130
|
+
if (req.method !== "GET" && req.method !== "HEAD") return next();
|
|
131
|
+
if (!isDocumentNavigation(req)) return next();
|
|
132
|
+
if (isServeDebugMode()) {
|
|
133
|
+
writeStderrLine(
|
|
134
|
+
`qwen serve: Web Shell SPA fallback served for ${req.method} ${req.originalUrl}`
|
|
135
|
+
);
|
|
136
|
+
}
|
|
137
|
+
sendIndex(res);
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
__name(mountWebShellSpaFallback, "mountWebShellSpaFallback");
|
|
141
|
+
|
|
142
|
+
export {
|
|
143
|
+
isServeDebugMode,
|
|
144
|
+
buildWebShellCsp,
|
|
145
|
+
WEB_SHELL_CSP,
|
|
146
|
+
isDocumentNavigation,
|
|
147
|
+
isPreAuthWebShellRequest,
|
|
148
|
+
mountWebShellAssets,
|
|
149
|
+
mountWebShellSpaFallback
|
|
150
|
+
};
|
|
151
|
+
/**
|
|
152
|
+
* @license
|
|
153
|
+
* Copyright 2025 Qwen Team
|
|
154
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
155
|
+
*/
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
resolveBundleDir
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-BFSQBXHV.js";
|
|
6
6
|
import {
|
|
7
7
|
Storage
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-OIVKILPI.js";
|
|
9
9
|
import {
|
|
10
10
|
writeStderrLine
|
|
11
11
|
} from "./chunk-KGJGEEVR.js";
|
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
STATUS_SCHEMA_VERSION
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-NLREQJFK.js";
|
|
6
6
|
import {
|
|
7
7
|
formatMemoryUsage
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-BFSQBXHV.js";
|
|
9
9
|
import {
|
|
10
10
|
detectRuntime,
|
|
11
11
|
redactProxyCredentials
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-KKBPOU75.js";
|
|
13
13
|
import {
|
|
14
14
|
init_esbuild_shims
|
|
15
15
|
} from "./chunk-5O2XNYP6.js";
|