@qwen-code/qwen-code 0.22.2 → 0.22.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundled/computer-use/SKILL.md +3 -3
- package/bundled/qc-helper/docs/configuration/settings.md +37 -36
- package/bundled/qc-helper/docs/features/channels/dws.md +2 -0
- package/bundled/qc-helper/docs/features/channels/overview.md +34 -3
- package/bundled/qc-helper/docs/features/code-review.md +3 -3
- package/bundled/qc-helper/docs/features/computer-use.md +2 -2
- package/bundled/qc-helper/docs/features/tool-use-summaries.md +1 -1
- package/bundled/qc-helper/docs/qwen-serve.md +1 -1
- package/bundled/review/SKILL.md +81 -31
- package/bundled/review/references/persistence.md +7 -3
- package/bundled/review/references/posting.md +10 -4
- package/chunks/{MaxSizedBox-X5FZSNAJ.js → MaxSizedBox-X42SXBJH.js} +33 -35
- package/chunks/{StandaloneSessionPicker-AVLI6VJP.js → StandaloneSessionPicker-2FJAOLGG.js} +51 -53
- package/chunks/{acpAgent-MXEAN54C.js → acpAgent-2ZMIJAFV.js} +268 -186
- package/chunks/{agent-PJIPDWHB.js → agent-X5WX3L2I.js} +24 -26
- package/chunks/{agent-headless-B4JVD7UK.js → agent-headless-IZM25LJA.js} +24 -26
- package/chunks/{anthropicContentGenerator-HGMBACVE.js → anthropicContentGenerator-YVTB6QX7.js} +43 -47
- package/chunks/{artifact-tool-5YT4QF7Y.js → artifact-tool-XSMPHZBT.js} +9 -1
- package/chunks/{bridge-FKZTVIS3.js → bridge-ME6QXZNA.js} +37 -39
- package/chunks/{channel-management-service-X4AZ6IXX.js → channel-management-service-HQ6KDS7C.js} +6 -6
- package/chunks/{channel-settings-store-4UFCLBBG.js → channel-settings-store-PEOI7XCG.js} +47 -44
- package/chunks/{channel-worker-group-27HMGD5S.js → channel-worker-group-6NA6BBZV.js} +5 -5
- package/chunks/{channel-worker-manager-QEGX646Z.js → channel-worker-manager-NEZ2J6RK.js} +5 -5
- package/chunks/{channel-worker-supervisor-UEW2WWCC.js → channel-worker-supervisor-FKU7DIHJ.js} +4 -4
- package/chunks/{chunk-P5GGM4KS.js → chunk-2HYKTO7V.js} +3 -3
- package/chunks/{chunk-XDFHY4R3.js → chunk-2LNNVAUV.js} +2 -2
- package/chunks/{chunk-ZFKOCECU.js → chunk-2OBKDPZZ.js} +2 -2
- package/chunks/{chunk-3DXFGHAJ.js → chunk-2OUD5T67.js} +1 -1
- package/chunks/{chunk-EOGELB3H.js → chunk-2SXSLSQE.js} +1 -1
- package/chunks/{chunk-4JWNNLPT.js → chunk-2YOHKHYR.js} +2 -2
- package/chunks/{chunk-JU4EEXC7.js → chunk-36GSQ3MM.js} +2 -2
- package/chunks/chunk-36LGBEM6.js +130 -0
- package/chunks/{chunk-H2WDGQ6D.js → chunk-3JXM2CVW.js} +1 -1
- package/chunks/{chunk-G34IR3D6.js → chunk-3SZC4VP4.js} +26 -109
- package/chunks/{chunk-HVEYF6VT.js → chunk-3WK3QDNV.js} +1 -1
- package/chunks/{chunk-5XBFCMWD.js → chunk-3XKLXHGK.js} +17 -9
- package/chunks/{chunk-SFPGAQUL.js → chunk-42IDLQWS.js} +24 -18
- package/chunks/{chunk-43GGFFLY.js → chunk-4K7KNVWH.js} +1 -1
- package/chunks/{chunk-F6FV3C5K.js → chunk-4NDLQAY2.js} +24 -272
- package/chunks/{chunk-VVW4ZNFY.js → chunk-4QHPPXK2.js} +15 -7
- package/chunks/{chunk-IJKTMLBE.js → chunk-4TT3IVGA.js} +1 -1
- package/chunks/{chunk-C6K43ZDE.js → chunk-4VPCTGH6.js} +5 -5
- package/chunks/chunk-4VQBQLIZ.js +293 -0
- package/chunks/{chunk-OIVXBW3W.js → chunk-62GQFYID.js} +1 -1
- package/chunks/{chunk-BRVWYMKV.js → chunk-6MBXY6WM.js} +1 -1
- package/chunks/{chunk-AGR5UROZ.js → chunk-6X7EU5TI.js} +17 -29
- package/chunks/{chunk-PFCQ62V4.js → chunk-6ZPDLGHN.js} +6 -6
- package/chunks/{chunk-RIEFGNTP.js → chunk-734C6JGI.js} +207 -43
- package/chunks/{chunk-FBSSIAAQ.js → chunk-73RM4POK.js} +7 -7
- package/chunks/{chunk-KGJGEEVR.js → chunk-7FA2II6K.js} +10 -1
- package/chunks/chunk-7J6OTNGO.js +424 -0
- package/chunks/{chunk-O2UN57NX.js → chunk-7LOELM2I.js} +19 -2
- package/chunks/{chunk-DIMEPKCW.js → chunk-7S226YTK.js} +1 -1
- package/chunks/{chunk-CPGJJJLU.js → chunk-7T52W4SW.js} +1 -1
- package/chunks/{chunk-5O72BNDD.js → chunk-7VMIMAVB.js} +7 -7
- package/chunks/{chunk-XRSOI3DL.js → chunk-A3LWD5MK.js} +1 -1
- package/chunks/{chunk-F7TNAPZ4.js → chunk-AIAOIFY4.js} +5 -5
- package/chunks/{chunk-4CDSK5AZ.js → chunk-AYFA7MZV.js} +2 -2
- package/chunks/{chunk-3JGZSIDA.js → chunk-B466ZSHZ.js} +1 -1
- package/chunks/{chunk-L6BZRIUL.js → chunk-B5PHIJGI.js} +182 -4
- package/chunks/{chunk-3I6UTTDX.js → chunk-BKWNKLZB.js} +19 -19
- package/chunks/{chunk-3FDFA4MZ.js → chunk-BOWFGCEU.js} +1 -1
- package/chunks/{chunk-3AFMQUTI.js → chunk-C2X7KY45.js} +1 -1
- package/chunks/{chunk-FY76G3G5.js → chunk-C3PEFRKD.js} +4 -4
- package/chunks/{chunk-FDY5RMGH.js → chunk-CFJY4DGX.js} +1 -1
- package/chunks/{chunk-CCBZDVUA.js → chunk-CIZCL2MW.js} +33 -20
- package/chunks/{chunk-LDP5OD6N.js → chunk-CLWO3B77.js} +2 -2
- package/chunks/chunk-DJBQCO2E.js +842 -0
- package/chunks/{chunk-4J657AJR.js → chunk-DJECZIJX.js} +40 -40
- package/chunks/{chunk-F5SZP77N.js → chunk-DJEZ55D4.js} +71 -65
- package/chunks/{chunk-BAJKAAOY.js → chunk-DJPASAUV.js} +3840 -1055
- package/chunks/{chunk-RUGNCYNO.js → chunk-DMLVSW7L.js} +532 -22
- package/chunks/{chunk-4FTKQNWJ.js → chunk-DYXFD5RO.js} +181 -2
- package/chunks/{chunk-PDMJ3KGS.js → chunk-EB6QRGHM.js} +1 -1
- package/chunks/{chunk-DZWPESIF.js → chunk-EFWRMA2I.js} +3 -3
- package/chunks/{chunk-4MQEPP3Y.js → chunk-EQSBPBZ3.js} +5 -119
- package/chunks/{chunk-Z7TGYN5F.js → chunk-FROAFEFB.js} +2 -2
- package/chunks/{chunk-MZS7GEC7.js → chunk-FTF2YIZ5.js} +1 -1
- package/chunks/{chunk-Z7VOMGDC.js → chunk-FTJMWDND.js} +0 -24
- package/chunks/{chunk-43UYNAWX.js → chunk-G6FECKTJ.js} +2 -2
- package/chunks/{chunk-SJ3ZUWFK.js → chunk-GBJBJ4HX.js} +4 -4
- package/chunks/{chunk-IOPCFOTF.js → chunk-GPGU4S2N.js} +2 -2
- package/chunks/{chunk-6LFJEACX.js → chunk-GVIVASYK.js} +7 -7
- package/chunks/{chunk-Z4X5MTRT.js → chunk-HCOBAG2L.js} +2 -4
- package/chunks/{chunk-A7YP63XN.js → chunk-HP5LR5HL.js} +5 -5
- package/chunks/{chunk-7JPW6IYH.js → chunk-HVC3PNVC.js} +1 -1
- package/chunks/{chunk-TRZTNIQ6.js → chunk-I6LYRJPB.js} +2 -2
- package/chunks/{chunk-E55H6BZ7.js → chunk-ICURCKIU.js} +1335 -119
- package/chunks/{chunk-4HV6HH33.js → chunk-ISKH4QX3.js} +9 -9
- package/chunks/{chunk-WKK5BQNP.js → chunk-JHYH6PYQ.js} +43 -420
- package/chunks/{chunk-6IUNAPLR.js → chunk-K5KXUXWC.js} +1 -1
- package/chunks/{chunk-JHS74YAB.js → chunk-KID24ZFN.js} +1 -1
- package/chunks/{chunk-EFUM7RVY.js → chunk-KJO2LBUK.js} +942 -16
- package/chunks/{chunk-B7CDU2SL.js → chunk-KYWTPLBJ.js} +17 -20
- package/chunks/{chunk-JSHHYW6T.js → chunk-LHBUKJG2.js} +3 -3
- package/chunks/{chunk-P2SU6ZTI.js → chunk-LUEHOUHM.js} +1 -1
- package/chunks/{chunk-66KDY3LV.js → chunk-M3QRM3DE.js} +1 -1
- package/chunks/{chunk-V4QXXQJ2.js → chunk-MF7HCQWZ.js} +2 -2
- package/chunks/{chunk-W5MJJ2V7.js → chunk-MK2GIB46.js} +1 -1
- package/chunks/{chunk-Y6LSMB6J.js → chunk-MO3FC2WT.js} +1 -1
- package/chunks/{chunk-L6YT5H34.js → chunk-MPNBVAEU.js} +4 -4
- package/chunks/{chunk-CSMI4FP5.js → chunk-MSBO7X2W.js} +1 -1
- package/chunks/{chunk-5PA6UEYA.js → chunk-MZCJWS5Y.js} +1 -1
- package/chunks/{chunk-BGXZBI5B.js → chunk-N4X7G4J2.js} +2 -1
- package/chunks/{chunk-6LFTG244.js → chunk-NMOD2FXQ.js} +15 -5
- package/chunks/{chunk-KUX5D6DK.js → chunk-NV55WWD6.js} +11330 -10971
- package/chunks/{chunk-Q26AYA62.js → chunk-OU5APVWO.js} +2 -2
- package/chunks/{chunk-2K6ORIHJ.js → chunk-P2G476QN.js} +11 -11
- package/chunks/{chunk-OIP7C4FE.js → chunk-PADPMMYM.js} +4 -4
- package/chunks/{chunk-SAH4BD2J.js → chunk-PQEISIKS.js} +67 -0
- package/chunks/{chunk-TGWAQ5RB.js → chunk-PZ66FRIC.js} +2071 -2124
- package/chunks/{chunk-7UYV53BC.js → chunk-Q2MSPKIJ.js} +1 -1
- package/chunks/{chunk-L2M46FP5.js → chunk-QYMAKPY5.js} +5 -5
- package/chunks/{chunk-JVPFTDBK.js → chunk-RFIDDFAL.js} +1 -1
- package/chunks/chunk-SEONHUS3.js +275 -0
- package/chunks/{chunk-ZGXYO7DY.js → chunk-SS4MRMKE.js} +122 -13
- package/chunks/{chunk-T32W2JHI.js → chunk-SS5SDCD3.js} +2 -2
- package/chunks/{chunk-3SGB2UHX.js → chunk-ST5MDGH3.js} +23 -11
- package/chunks/{chunk-MIIVI25Q.js → chunk-ST5V3ZOC.js} +2 -2
- package/chunks/{chunk-4K7NQDCG.js → chunk-T4EFG2P5.js} +18 -9
- package/chunks/{chunk-TWSKM647.js → chunk-T7KMERIX.js} +1 -1
- package/chunks/{chunk-77RG5SFQ.js → chunk-TEBDFQBZ.js} +1 -1
- package/chunks/{chunk-6CGL7E7G.js → chunk-TVC6HQ2U.js} +2 -2
- package/chunks/{chunk-BBWV7ONL.js → chunk-TZBSGJ6C.js} +6 -6
- package/chunks/{chunk-T3WXYEZ4.js → chunk-U54AYGEC.js} +38 -5
- package/chunks/{chunk-JCQD3INC.js → chunk-URE3QBBB.js} +1 -1
- package/chunks/{chunk-Y3QL45LS.js → chunk-V4264FEG.js} +8 -8
- package/chunks/{chunk-KEKZFOL6.js → chunk-V7EESTJV.js} +1 -1
- package/chunks/{chunk-R4PMVSR5.js → chunk-VBCPNIQD.js} +18 -20
- package/chunks/{chunk-RJC5EIKY.js → chunk-VGIFXISB.js} +3 -3
- package/chunks/{chunk-Z7FLBQPR.js → chunk-W3JH33JE.js} +7 -7
- package/chunks/{chunk-K2NQPH5D.js → chunk-WGY3AVGM.js} +3 -3
- package/chunks/{chunk-PKAYJDB3.js → chunk-WNPDGUJO.js} +21 -2
- package/chunks/{chunk-IZIVM7LZ.js → chunk-WXEA74YB.js} +1 -1
- package/chunks/{chunk-YRLW2MSX.js → chunk-XBVNNDPK.js} +11 -4
- package/chunks/{chunk-IK5BW3CS.js → chunk-XHF7WQ6B.js} +2 -2
- package/chunks/{chunk-2NYCN6F2.js → chunk-XSG6G3G6.js} +43 -26
- package/chunks/{chunk-HVQ3B7FF.js → chunk-Y5S7LBOZ.js} +43 -6
- package/chunks/{chunk-LXIBMVRN.js → chunk-YLSQLSH7.js} +13 -7
- package/chunks/{chunk-JSC3H3TD.js → chunk-ZEYFMJQA.js} +14 -6
- package/chunks/chunk-ZWJDJ6RU.js +2597 -0
- package/chunks/{chunk-QP4C6WCE.js → chunk-ZYMLPEZQ.js} +2 -2
- package/chunks/{chunk-BNMF3K5X.js → chunk-ZZMSC3RG.js} +52 -36
- package/chunks/{chunk-XDLEZ5HX.js → chunk-ZZUKP7HV.js} +1 -1
- package/chunks/{config-utils-BBOCOGZW.js → config-utils-R6M3TA34.js} +39 -39
- package/chunks/{contextCommand-EET67MQ2.js → contextCommand-ZCAP23J6.js} +36 -38
- package/chunks/{core-runtime-677KFX6Q.js → core-runtime-AXB6SK5D.js} +41 -43
- package/chunks/{create-sub-session-JKZAYZX7.js → create-sub-session-4QNE64MR.js} +34 -36
- package/chunks/{daemon-MJQUO7RA.js → daemon-3GNHB3M2.js} +495 -7
- package/chunks/{daemon-git-worktree-guard-6MVAAZZZ.js → daemon-git-worktree-guard-IVAJJWYK.js} +33 -35
- package/chunks/{daemon-status-provider-RFKZOK3S.js → daemon-status-provider-K3SJ5C2U.js} +42 -44
- package/chunks/{daemon-trust-policy-DRZPFB4Q.js → daemon-trust-policy-DOR3YG62.js} +41 -43
- package/chunks/{daemon-trust-policy-monitor-B5U6TQX5.js → daemon-trust-policy-monitor-KGGROSIV.js} +41 -43
- package/chunks/{deferred-core-runtime-BBVIOP24.js → deferred-core-runtime-WOYLUQQ7.js} +33 -35
- package/chunks/{dist-DJBNNPLN.js → dist-4WXLCBDR.js} +1 -1
- package/chunks/{dist-TJUDJTCB.js → dist-5VXFRTWU.js} +280 -48
- package/chunks/{dist-QODVOVWI.js → dist-6BPYWHVD.js} +31 -30
- package/chunks/{dist-ZBVOXSKF.js → dist-GFN5DCBX.js} +74 -65
- package/chunks/{dist-SATKXKUR.js → dist-HZNT6GQS.js} +1 -1
- package/chunks/{dist-ILDBUWDB.js → dist-LVZCXVPF.js} +1 -1
- package/chunks/{dist-7CKN54NL.js → dist-N6W6E753.js} +71 -64
- package/chunks/{dist-4Q7NTUNB.js → dist-NSV4NBPK.js} +31 -14
- package/chunks/{dist-UQUFZDIY.js → dist-SWQMYP2Q.js} +18 -16
- package/chunks/{earlyInputCapture-2JOMMNQ4.js → earlyInputCapture-OHBEVO4K.js} +33 -35
- package/chunks/{edit-BSV6YRVW.js → edit-LEQLAGPZ.js} +24 -26
- package/chunks/{enter-worktree-MQXFFPKM.js → enter-worktree-35QCAAFP.js} +3 -3
- package/chunks/{enterPlanMode-PKNF35FE.js → enterPlanMode-ONQN3WHE.js} +27 -29
- package/chunks/{environment-MOZMPUHR.js → environment-UANTR7A4.js} +37 -39
- package/chunks/{errors-DMPQVYJL.js → errors-WAK6KFBC.js} +36 -38
- package/chunks/{exit-worktree-L344UY7K.js → exit-worktree-XQD6D543.js} +3 -3
- package/chunks/{exitPlanMode-UE4FGCY4.js → exitPlanMode-UEYBG6P5.js} +24 -26
- package/chunks/{fast-path-773PV7PU.js → fast-path-WUL7UZ6H.js} +4 -4
- package/chunks/{fast-path-settings-XMFBYFUH.js → fast-path-settings-XH426LUU.js} +3 -3
- package/chunks/{glob-CZHOWUEA.js → glob-Y54QUWDY.js} +24 -26
- package/chunks/{goal-tools-YZQJXTGH.js → goal-tools-PTD3MBA7.js} +2 -1
- package/chunks/{handleAutoUpdate-SGXKTQM6.js → handleAutoUpdate-FP3NWNSG.js} +37 -39
- package/chunks/{i18n-B42HKHKH.js → i18n-INIU5X7A.js} +35 -37
- package/chunks/{image-gen-HAYOEQ4O.js → image-gen-J6FDGUZP.js} +4 -6
- package/chunks/{initializer-FB66WYR3.js → initializer-TYODV6GE.js} +41 -43
- package/chunks/{installationInfo-Y7AULNMX.js → installationInfo-AAPKYDSZ.js} +33 -35
- package/chunks/{list-2HWGSVRA.js → list-TUODDN6J.js} +44 -46
- package/chunks/{gemini-IP4FJAP5.js → llm-NSAVK5V3.js} +84 -82
- package/chunks/{geminiContentGenerator-PUNEBWJW.js → llm-content-generator-AY2QKXHE.js} +25 -25
- package/chunks/{loadedSettingsAdapter-7Y7IEI6T.js → loadedSettingsAdapter-KJCLZ3C4.js} +41 -43
- package/chunks/{loggingContentGenerator-2GGZNGLG.js → loggingContentGenerator-DSFQHXIF.js} +305 -27
- package/chunks/{managed-npm-update-5TEV2E3J.js → managed-npm-update-TSWENTK5.js} +33 -35
- package/chunks/{mcp-QGG5NMJJ.js → mcp-MWSAPFOL.js} +41 -43
- package/chunks/{monitor-FI7PY36Z.js → monitor-RW4GWJHB.js} +24 -26
- package/chunks/{nonInteractiveCli-4LO2TL72.js → nonInteractiveCli-JXKL343Q.js} +77 -78
- package/chunks/{notebook-edit-TPGMGBST.js → notebook-edit-CQNYS5OR.js} +24 -26
- package/chunks/{open-with-auth-4UI3KHUR.js → open-with-auth-YN3QZHVM.js} +1 -1
- package/chunks/{openaiContentGenerator-SUCYANUZ.js → openaiContentGenerator-J6QIF7EX.js} +13 -15
- package/chunks/{pidfile-JMF2CLMY.js → pidfile-QOIQZFT2.js} +33 -35
- package/chunks/process-registry-OAEG6WGC.js +662 -0
- package/chunks/{processUtils-IQZBYWSB.js → processUtils-GPHNANKZ.js} +2 -2
- package/chunks/{prompt-terminal-ledger-DCZO6S7C.js → prompt-terminal-ledger-FOMFTYOM.js} +34 -36
- package/chunks/{qwenContentGenerator-J4TXFGJT.js → qwenContentGenerator-WWDXPYQI.js} +28 -30
- package/chunks/{qwenOAuth2-RF33DNZW.js → qwenOAuth2-OF5WRBQT.js} +4 -6
- package/chunks/{read-file-QE2B5FTX.js → read-file-FQUQHC6N.js} +5 -5
- package/chunks/{record-artifact-RZGZBENU.js → record-artifact-VW23GS4F.js} +2 -2
- package/chunks/{report-findings-Q3SYKKW5.js → report-findings-AO5VYFLR.js} +7 -3
- package/chunks/{resumeHistoryUtils-CZ4JRDVW.js → resumeHistoryUtils-NSGF3UCB.js} +37 -39
- package/chunks/{ripGrep-R6B6HWPX.js → ripGrep-4CAT6SKV.js} +7 -7
- package/chunks/{run-qwen-serve-TPHZMSXJ.js → run-qwen-serve-5X6IDZER.js} +271 -86
- package/chunks/{runtime-TTIGSBM4.js → runtime-HK27GMPF.js} +46 -48
- package/chunks/{scheduled-tasks-QB4ZVUQS.js → scheduled-tasks-MN2ZZ5P6.js} +39 -41
- package/chunks/{scheduler-YRUG22M7.js → scheduler-WD4MHMO5.js} +35 -37
- package/chunks/{sdk-exporters-http-KCJ4ZFG7.js → sdk-exporters-http-TTU2CHBU.js} +1 -1
- package/chunks/{sdk-impl-HLSEDAEP.js → sdk-impl-UUMVYMAL.js} +10 -4
- package/chunks/{send-message-Y5I6NYAM.js → send-message-AJ4OCUBV.js} +18 -2
- package/chunks/{serve-MXXCDAQN.js → serve-2XCHPPGG.js} +41 -43
- package/chunks/{server-DFUSSSHI.js → server-GO2N5DH7.js} +4148 -3348
- package/chunks/{session-3TEHNENZ.js → session-IFNHTUBT.js} +81 -82
- package/chunks/session-pr-refresh-I3UBWMVP.js +364 -0
- package/chunks/{settings-VOZYKLTT.js → settings-L6N54CU6.js} +40 -42
- package/chunks/{shell-6RTKZVMI.js → shell-4Y5LLW6N.js} +24 -26
- package/chunks/{skill-FEOKFX26.js → skill-YOWTRAKQ.js} +58 -14
- package/chunks/{skill-settings-VA4XVYVL.js → skill-settings-ZL4JY5UE.js} +41 -43
- package/chunks/{spawnChannel-F6WVP723.js → spawnChannel-ZST6XJVJ.js} +35 -37
- package/chunks/{standalone-update-RGILUQVK.js → standalone-update-THVU3OKY.js} +36 -38
- package/chunks/{startInteractiveUI-WHJPFOGH.js → startInteractiveUI-XDFSHBZD.js} +401 -334
- package/chunks/{stdioHelpers-7A2EE64Z.js → stdioHelpers-AY6XCDY2.js} +3 -1
- package/chunks/{task-create-TMSV7RD5.js → task-create-QN4LYRSE.js} +3 -3
- package/chunks/{task-list-W55RBFRX.js → task-list-JPLGK45U.js} +2 -2
- package/chunks/{task-update-N536I4GQ.js → task-update-IWEOJFV2.js} +3 -3
- package/chunks/{team-create-QYSWCYCL.js → team-create-OOPXCDBA.js} +24 -26
- package/chunks/{team-delete-FJRFX33M.js → team-delete-RZVVSGCY.js} +2 -2
- package/chunks/{team-plan-approval-P7DAD644.js → team-plan-approval-DSX5EWAT.js} +24 -26
- package/chunks/{terminal-image-renderer-SMQE46UJ.js → terminal-image-renderer-KS25G33E.js} +33 -35
- package/chunks/{theme-manager-RFO5WWFF.js → theme-manager-YMZNG45F.js} +33 -35
- package/chunks/{tool-search-F2EMIAPV.js → tool-search-J5Q6U7DN.js} +9 -9
- package/chunks/{total-session-admission-HTVTP4BS.js → total-session-admission-PVN64JVV.js} +37 -39
- package/chunks/{trustedFolders-7OCNMUQE.js → trustedFolders-FATSC4YI.js} +35 -37
- package/chunks/{types-WYCFCEHR.js → types-HKLPXZB3.js} +1 -3
- package/chunks/{update-relaunch-4GF3OXMB.js → update-relaunch-SIKHLHVR.js} +6 -6
- package/chunks/{updateCheck-7QBDXZRT.js → updateCheck-D3YG2WCD.js} +36 -38
- package/chunks/{useAutoAcceptIndicator-UI4SNL2O.js → useAutoAcceptIndicator-ILINOSAS.js} +43 -45
- package/chunks/{validateNonInterActiveAuth-BPPA563H.js → validateNonInterActiveAuth-JUDQP6V4.js} +74 -75
- package/chunks/{version-ANP4TS6O.js → version-C63GDDWN.js} +1 -1
- package/chunks/{web-fetch-QJADSAH3.js → web-fetch-FOQZMNSC.js} +8 -10
- package/chunks/{web-search-7TTQKEKM.js → web-search-PUJTBFUC.js} +5 -7
- package/chunks/{web-shell-static-A6QMUNNV.js → web-shell-static-HNB4FDOE.js} +2 -2
- package/chunks/{workflow-5XN6XSOT.js → workflow-Y5IPINVH.js} +47 -58
- package/chunks/{workspace-providers-status-PDFZWL5Q.js → workspace-providers-status-IJ4VHFMB.js} +45 -47
- package/chunks/{workspace-registration-store-XKVW2YVH.js → workspace-registration-store-SMJWI2AI.js} +1 -1
- package/chunks/{workspace-registry-23R7XRB5.js → workspace-registry-BTGZIMPK.js} +37 -39
- package/chunks/{workspace-service-MUYO2QIC.js → workspace-service-SIN67ITC.js} +46 -51
- package/chunks/{workspace-skills-status-IKECTOOQ.js → workspace-skills-status-F3RKCUIX.js} +44 -46
- package/chunks/{workspace-trust-reconciler-KLGOB53D.js → workspace-trust-reconciler-PLIDLJZX.js} +45 -47
- package/chunks/{write-file-GGRBB5TZ.js → write-file-PAIGB33C.js} +26 -28
- package/chunks/{zoom-image-6ASG6J4C.js → zoom-image-LYQD7BQA.js} +5 -5
- package/cli.js +14 -14
- package/package.json +3 -3
- package/web-shell/assets/{abnfDiagram-VCTEODGH-uS-vtfs3.js → abnfDiagram-VCTEODGH-TRCMSA_6.js} +1 -1
- package/web-shell/assets/{arc-BSTnk5pu.js → arc-D9Uls5b3.js} +1 -1
- package/web-shell/assets/{architectureDiagram-5GKGNRK7-DCMyiqzy.js → architectureDiagram-5GKGNRK7-Bwb8jPXg.js} +1 -1
- package/web-shell/assets/{blockDiagram-NRAW4CY4-C7_gt0r1.js → blockDiagram-NRAW4CY4-DHj71TSX.js} +1 -1
- package/web-shell/assets/{c4Diagram-UCG6FXSJ-BeQg2L8B.js → c4Diagram-UCG6FXSJ-uKBBdbyr.js} +1 -1
- package/web-shell/assets/channel-CXjVLaBa.js +1 -0
- package/web-shell/assets/{chunk-2Q5K7J3B-DnV9bKBe.js → chunk-2Q5K7J3B-BZd0Phrl.js} +1 -1
- package/web-shell/assets/{chunk-5VM5RSS4-rT1GAcT7.js → chunk-5VM5RSS4-7KNeNBqN.js} +1 -1
- package/web-shell/assets/{chunk-F27PBJKO-BcgSxqGA.js → chunk-F27PBJKO-BeboS7Fi.js} +1 -1
- package/web-shell/assets/{chunk-G27WJ6UU-Bw1ZhyZq.js → chunk-G27WJ6UU-RV3JONoj.js} +1 -1
- package/web-shell/assets/{chunk-JWPE2WC7-D4iDw-96.js → chunk-JWPE2WC7-Yw9FCFsP.js} +1 -1
- package/web-shell/assets/{chunk-LCL6LL3I-D3MB3GTZ.js → chunk-LCL6LL3I-GIMnydDe.js} +1 -1
- package/web-shell/assets/{chunk-POPQ4Y6H-Cep2ndrS.js → chunk-POPQ4Y6H-Cfrux7bL.js} +1 -1
- package/web-shell/assets/{chunk-SVP7TREG-BuahMHJc.js → chunk-SVP7TREG-BlvIN0CO.js} +1 -1
- package/web-shell/assets/{chunk-XXDRQBXY-BdujIvJY.js → chunk-XXDRQBXY-DMs7Rr4t.js} +1 -1
- package/web-shell/assets/classDiagram-DTDB5LWJ-DANEijO3.js +1 -0
- package/web-shell/assets/classDiagram-v2-JRS7N3AN-DANEijO3.js +1 -0
- package/web-shell/assets/{cose-bilkent-JH36ORCC-CGLLUbF8.js → cose-bilkent-JH36ORCC-DNGqTNwI.js} +1 -1
- package/web-shell/assets/{cynefin-OW5HDTMX-D6kDsRSh.js → cynefin-OW5HDTMX-CojMpaoH.js} +1 -1
- package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-CCy78qZx.js → cynefinDiagram-5FMLGOSQ-DF07YXGo.js} +1 -1
- package/web-shell/assets/{dagre-3AP2YEHR-D5gJuJsf.js → dagre-3AP2YEHR-17-4WtCH.js} +1 -1
- package/web-shell/assets/{diagram-S7CK7UJ4-ZwEZ5W__.js → diagram-S7CK7UJ4-G3Wuyz9m.js} +1 -1
- package/web-shell/assets/{diagram-UQ7AKVKN-B036APjv.js → diagram-UQ7AKVKN-nyWIKZ8P.js} +1 -1
- package/web-shell/assets/{diagram-VSXAHHWV-BfDJ57Fq.js → diagram-VSXAHHWV-tKHhmYSC.js} +1 -1
- package/web-shell/assets/{diagram-VX7I27RA-Wha0p5rT.js → diagram-VX7I27RA-CpDf1hYk.js} +1 -1
- package/web-shell/assets/{diagram-Z3DM3KII-L20bz2K1.js → diagram-Z3DM3KII-Cah2IFXG.js} +1 -1
- package/web-shell/assets/{ebnfDiagram-PWID7BFC-D1ZM0Cp7.js → ebnfDiagram-PWID7BFC-DNaCkgxy.js} +1 -1
- package/web-shell/assets/{erDiagram-SSCWMZ5O-CMtA19v8.js → erDiagram-SSCWMZ5O-CAdRgcf1.js} +1 -1
- package/web-shell/assets/{flowDiagram-A5DVABFB-D96m326S.js → flowDiagram-A5DVABFB-CMUJAShL.js} +1 -1
- package/web-shell/assets/{ganttDiagram-EL5Y4UJY-BuHiYG2o.js → ganttDiagram-EL5Y4UJY-o-_MUNey.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-WWUBYQGX-Ck3NmkSw.js → gitGraphDiagram-WWUBYQGX-_aG-2Z7O.js} +1 -1
- package/web-shell/assets/{index-CBGz4Qjl.js → index-BK_NKxiJ.js} +1 -1
- package/web-shell/assets/index-Ci-z4zWY.js +1913 -0
- package/web-shell/assets/index-LDlXZRHA.css +36 -0
- package/web-shell/assets/{infoDiagram-RXCK75RN-B6DAOyXe.js → infoDiagram-RXCK75RN-qJPeZbGP.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-5VMMS53U-Bpg-joFo.js → ishikawaDiagram-5VMMS53U-7Om4vNo1.js} +1 -1
- package/web-shell/assets/{journeyDiagram-EYS64GPL-BclrHzGa.js → journeyDiagram-EYS64GPL-BNtXqmBW.js} +1 -1
- package/web-shell/assets/{kanban-definition-3QL26DDD-5gJzNTYG.js → kanban-definition-3QL26DDD-COgFec8P.js} +1 -1
- package/web-shell/assets/{layout-CEz_1L8z.js → layout-B9n81PC9.js} +1 -1
- package/web-shell/assets/{linear-CBjTq9Hc.js → linear-Bb6nXZQq.js} +1 -1
- package/web-shell/assets/{mermaid.core-Dzhbxx_I.js → mermaid.core-Cgrm3JVT.js} +6 -6
- package/web-shell/assets/{mindmap-definition-FBJOCRG2-DQdVqlBF.js → mindmap-definition-FBJOCRG2-TKwLTjnG.js} +1 -1
- package/web-shell/assets/{pegDiagram-XKGWAZYB-D1JZlYXL.js → pegDiagram-XKGWAZYB-BJPuvlpi.js} +1 -1
- package/web-shell/assets/{pieDiagram-E7YTZNPT-BmkpYL0w.js → pieDiagram-E7YTZNPT-D01VkNsW.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-AXDQQJYC-DRvD6co5.js → quadrantDiagram-AXDQQJYC-C4hHsiv-.js} +1 -1
- package/web-shell/assets/{railroadDiagram-O6MQD6OU-CEdjDuoo.js → railroadDiagram-O6MQD6OU-CuEO4xK2.js} +1 -1
- package/web-shell/assets/{requirementDiagram-EFPCY7ZU-BCHG-ie8.js → requirementDiagram-EFPCY7ZU-D5J_vIo5.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-P5KCCOFB-C9cZMnye.js → sankeyDiagram-P5KCCOFB-DQKY223V.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-DYHRV4zL.js → sequenceDiagram-WJ2MYXX4-D27YV_cm.js} +1 -1
- package/web-shell/assets/{sizeCapture-X5ZJPWSS-DlK21aye.js → sizeCapture-X5ZJPWSS-TJg8UcwV.js} +1 -1
- package/web-shell/assets/{stateDiagram-HBIQ2CUA-BrmZssvk.js → stateDiagram-HBIQ2CUA-CmnPzUIx.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-4QOOHH4V-DNKPyrDc.js +1 -0
- package/web-shell/assets/{swimlanes-XN3QIQJK-D9xfcayR.js → swimlanes-XN3QIQJK-ByeP3_Nu.js} +1 -1
- package/web-shell/assets/swimlanesDiagram-VK2B7HYN-ZL1HPC6w.js +8 -0
- package/web-shell/assets/{timeline-definition-24CTP7MA-D4gdDL_d.js → timeline-definition-24CTP7MA-BsFA5juR.js} +1 -1
- package/web-shell/assets/{vennDiagram-4TSXK5OY-DdhIExjI.js → vennDiagram-4TSXK5OY-DREP2ECo.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-VM6X3IG4-C9RS_Zof.js → wardleyDiagram-VM6X3IG4-iyd9lKi2.js} +1 -1
- package/web-shell/assets/{xychartDiagram-S5SC5T6Z-orRgmxWk.js → xychartDiagram-S5SC5T6Z-CVr1_j9q.js} +1 -1
- package/web-shell/index.html +3 -3
- package/chunks/chunk-7DJCPZE3.js +0 -945
- package/chunks/chunk-J2OSJFP3.js +0 -202
- package/chunks/chunk-K2OJUPOE.js +0 -78
- package/chunks/chunk-P3QQPMQA.js +0 -19
- package/chunks/process-registry-PMJOA5CO.js +0 -172
- package/web-shell/assets/channel-CENAhErJ.js +0 -1
- package/web-shell/assets/classDiagram-DTDB5LWJ-CM6FArGH.js +0 -1
- package/web-shell/assets/classDiagram-v2-JRS7N3AN-CM6FArGH.js +0 -1
- package/web-shell/assets/index-8hXIpvo4.js +0 -1865
- package/web-shell/assets/index-DclEv91i.css +0 -5
- package/web-shell/assets/stateDiagram-v2-4QOOHH4V-B2Q7XDaE.js +0 -1
- package/web-shell/assets/swimlanesDiagram-VK2B7HYN-DpZPOSbX.js +0 -8
|
@@ -2,31 +2,25 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
parseToolWriteOriginMeta
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-U54AYGEC.js";
|
|
6
|
+
import {
|
|
7
|
+
isLoopbackBind
|
|
8
|
+
} from "./chunk-RXFQM6FQ.js";
|
|
6
9
|
import {
|
|
7
10
|
MAX_CHILD_HEAP_MB,
|
|
8
11
|
MIN_CHILD_HEAP_MB,
|
|
9
12
|
recommendedChildShareMb
|
|
10
13
|
} from "./chunk-UXEO7E3V.js";
|
|
11
14
|
import {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
normalizeSessionIdForLookup
|
|
16
|
-
} from "./chunk-ZEZKIS2K.js";
|
|
15
|
+
CLIENT_ID_RE,
|
|
16
|
+
MAX_CLIENT_ID_LENGTH
|
|
17
|
+
} from "./chunk-SEONHUS3.js";
|
|
17
18
|
import {
|
|
18
19
|
isInternalWorkspaceRuntime
|
|
19
20
|
} from "./chunk-NYWWQ437.js";
|
|
20
21
|
import {
|
|
21
22
|
CLIENT_MCP_OVER_WS_CONFIG_FLAG
|
|
22
23
|
} from "./chunk-OZ6KS6KW.js";
|
|
23
|
-
import {
|
|
24
|
-
MAX_WORKSPACE_PATH_LENGTH,
|
|
25
|
-
translateAndCheckAbsoluteWorkspacePath
|
|
26
|
-
} from "./chunk-6PLDPT2C.js";
|
|
27
|
-
import {
|
|
28
|
-
writeStderrLine
|
|
29
|
-
} from "./chunk-KGJGEEVR.js";
|
|
30
24
|
import {
|
|
31
25
|
ROOT_CONTEXT,
|
|
32
26
|
context,
|
|
@@ -1516,6 +1510,7 @@ var SERVE_CAPABILITY_REGISTRY = {
|
|
|
1516
1510
|
session_metadata: { since: "v1" },
|
|
1517
1511
|
session_organization: { since: "v1" },
|
|
1518
1512
|
session_export: { since: "v1" },
|
|
1513
|
+
standalone_sessions_v1: { since: "v1" },
|
|
1519
1514
|
session_transcript: { since: "v1" },
|
|
1520
1515
|
session_transcript_pagination: { since: "v1" },
|
|
1521
1516
|
// Daemon supports the MCP client guardrail surface: an in-process
|
|
@@ -1582,8 +1577,8 @@ var SERVE_CAPABILITY_REGISTRY = {
|
|
|
1582
1577
|
// unregistered — the toggle takes effect on the next ACP child spawn
|
|
1583
1578
|
// (`tools.disabled` is consulted at `Config` construction time).
|
|
1584
1579
|
workspace_tool_toggle: { since: "v1" },
|
|
1585
|
-
|
|
1586
|
-
|
|
1580
|
+
workspace_skill_settings_toggle: { since: "v1" },
|
|
1581
|
+
workspace_skill_settings_batch_toggle: { since: "v1" },
|
|
1587
1582
|
extension_batch_activation_v2: { since: "v1" },
|
|
1588
1583
|
workspace_skill_manage: { since: "v1" },
|
|
1589
1584
|
workspace_settings: { since: "v1" },
|
|
@@ -1601,13 +1596,12 @@ var SERVE_CAPABILITY_REGISTRY = {
|
|
|
1601
1596
|
// Workspace trust policy changes rebuild the affected runtime generation
|
|
1602
1597
|
// without restarting the daemon. V2 trust status exposes convergence.
|
|
1603
1598
|
workspace_trust_hot_reload: { since: "v1" },
|
|
1604
|
-
// `POST /workspace/init` scaffolds an empty
|
|
1605
|
-
// `
|
|
1606
|
-
// the bound workspace root. Body: `{force?: boolean}`. Default
|
|
1599
|
+
// `POST /workspace/init` scaffolds an empty `QWEN.md` (or the
|
|
1600
|
+
// workspace `context.fileName` value injected as `contextFilename`)
|
|
1601
|
+
// at the bound workspace root. Body: `{force?: boolean}`. Default
|
|
1607
1602
|
// refuses with 409 when the file already exists; `force: true`
|
|
1608
|
-
// overwrites. Mechanical only — does NOT call the LLM. To AI-fill
|
|
1609
|
-
//
|
|
1610
|
-
// `POST /session/:id/prompt`.
|
|
1603
|
+
// overwrites. Mechanical only — does NOT call the LLM. To AI-fill the
|
|
1604
|
+
// file, the caller should follow up with `POST /session/:id/prompt`.
|
|
1611
1605
|
workspace_init: { since: "v1" },
|
|
1612
1606
|
// `POST /workspace/setup-github` installs the fixed
|
|
1613
1607
|
// qwen-code-action workflow set into the bound workspace after
|
|
@@ -1774,6 +1768,7 @@ var SERVE_CAPABILITY_REGISTRY = {
|
|
|
1774
1768
|
// `workspace_extensions` contract.
|
|
1775
1769
|
extension_management_v2: { since: "v1" },
|
|
1776
1770
|
extension_git_credentials: { since: "v1" },
|
|
1771
|
+
extension_local_path_install: { since: "v1" },
|
|
1777
1772
|
// Workspace-qualified, daemon-local persisted transcript paging. The tag is
|
|
1778
1773
|
// unconditional because the route also serves a trusted single-workspace
|
|
1779
1774
|
// primary; authorization is evaluated for the selected runtime per request.
|
|
@@ -1839,10 +1834,15 @@ var SERVE_CAPABILITY_REGISTRY = {
|
|
|
1839
1834
|
// WebShell daemon with native Host integration and the hot-applied enabled
|
|
1840
1835
|
// gate. `/live/status` remains the dynamic readiness surface for the Host,
|
|
1841
1836
|
// permissions, self-checks, and provider reachability.
|
|
1842
|
-
realtime_voice: { since: "v1" }
|
|
1837
|
+
realtime_voice: { since: "v1" },
|
|
1838
|
+
web_terminal: { since: "v1" }
|
|
1843
1839
|
};
|
|
1844
1840
|
var CONDITIONAL_SERVE_FEATURES = /* @__PURE__ */ new Map([
|
|
1845
1841
|
["require_auth", (toggles) => toggles.requireAuth === true],
|
|
1842
|
+
[
|
|
1843
|
+
"standalone_sessions_v1",
|
|
1844
|
+
(toggles) => toggles.standaloneSessionsAvailable === true
|
|
1845
|
+
],
|
|
1846
1846
|
["mcp_workspace_pool", (toggles) => toggles.mcpPoolActive === true],
|
|
1847
1847
|
["mcp_pool_restart", (toggles) => toggles.mcpPoolActive === true],
|
|
1848
1848
|
[
|
|
@@ -1960,7 +1960,8 @@ var CONDITIONAL_SERVE_FEATURES = /* @__PURE__ */ new Map([
|
|
|
1960
1960
|
[
|
|
1961
1961
|
"realtime_voice",
|
|
1962
1962
|
(toggles) => toggles.acpHttpEnabled === true && toggles.realtimeVoiceEnabled === true
|
|
1963
|
-
]
|
|
1963
|
+
],
|
|
1964
|
+
["web_terminal", (toggles) => toggles.acpHttpEnabled === true]
|
|
1964
1965
|
]);
|
|
1965
1966
|
var SERVE_FEATURES = Object.freeze(
|
|
1966
1967
|
Object.keys(SERVE_CAPABILITY_REGISTRY)
|
|
@@ -2393,235 +2394,6 @@ function installServeAppLifecycle(app, lifecycle = new ServeAppLifecycleControll
|
|
|
2393
2394
|
}
|
|
2394
2395
|
__name(installServeAppLifecycle, "installServeAppLifecycle");
|
|
2395
2396
|
|
|
2396
|
-
// packages/cli/src/serve/server/request-helpers.ts
|
|
2397
|
-
init_esbuild_shims();
|
|
2398
|
-
function sendJsonBodyParserError(res, err) {
|
|
2399
|
-
if (err instanceof SyntaxError && "status" in err && err.status === 400) {
|
|
2400
|
-
res.status(400).json({ error: "Invalid JSON in request body" });
|
|
2401
|
-
return true;
|
|
2402
|
-
}
|
|
2403
|
-
if (err && typeof err === "object" && "status" in err && err.status === 413) {
|
|
2404
|
-
res.status(413).json({ error: "Request body too large (max 10 MB)" });
|
|
2405
|
-
return true;
|
|
2406
|
-
}
|
|
2407
|
-
return false;
|
|
2408
|
-
}
|
|
2409
|
-
__name(sendJsonBodyParserError, "sendJsonBodyParserError");
|
|
2410
|
-
var PROTOTYPE_POLLUTION_KEYS = /* @__PURE__ */ new Set([
|
|
2411
|
-
"__proto__",
|
|
2412
|
-
"constructor",
|
|
2413
|
-
"prototype"
|
|
2414
|
-
]);
|
|
2415
|
-
var CLIENT_ID_HEADER = "x-qwen-client-id";
|
|
2416
|
-
var MAX_CLIENT_ID_LENGTH = 128;
|
|
2417
|
-
var MAX_TOOL_NAME_LENGTH = 256;
|
|
2418
|
-
var MAX_SERVER_NAME_LENGTH = 256;
|
|
2419
|
-
var CLIENT_ID_RE = /^[A-Za-z0-9._:-]+$/;
|
|
2420
|
-
var INVALID_PERMISSION_OUTCOME_ERROR = '`outcome` must be `{ outcome: "cancelled" }` or `{ outcome: "selected", optionId: string }`';
|
|
2421
|
-
var deferredRuntimeTimingKey = Symbol(
|
|
2422
|
-
"deferredRuntimeRequestTiming"
|
|
2423
|
-
);
|
|
2424
|
-
function setDeferredRuntimeRequestTiming(req, timing) {
|
|
2425
|
-
req[deferredRuntimeTimingKey] = timing;
|
|
2426
|
-
}
|
|
2427
|
-
__name(setDeferredRuntimeRequestTiming, "setDeferredRuntimeRequestTiming");
|
|
2428
|
-
function getDeferredRuntimeRequestTiming(req) {
|
|
2429
|
-
return req[deferredRuntimeTimingKey];
|
|
2430
|
-
}
|
|
2431
|
-
__name(getDeferredRuntimeRequestTiming, "getDeferredRuntimeRequestTiming");
|
|
2432
|
-
function safeBody(req) {
|
|
2433
|
-
const raw = req.body;
|
|
2434
|
-
if (typeof raw !== "object" || raw === null || Array.isArray(raw)) {
|
|
2435
|
-
return /* @__PURE__ */ Object.create(null);
|
|
2436
|
-
}
|
|
2437
|
-
const out = /* @__PURE__ */ Object.create(null);
|
|
2438
|
-
for (const [key, value] of Object.entries(raw)) {
|
|
2439
|
-
if (PROTOTYPE_POLLUTION_KEYS.has(key)) continue;
|
|
2440
|
-
out[key] = value;
|
|
2441
|
-
}
|
|
2442
|
-
return out;
|
|
2443
|
-
}
|
|
2444
|
-
__name(safeBody, "safeBody");
|
|
2445
|
-
function parseOptionalWorkspaceCwd(body, boundWorkspace, res) {
|
|
2446
|
-
const hasCwd = "cwd" in body;
|
|
2447
|
-
if (hasCwd && typeof body["cwd"] !== "string") {
|
|
2448
|
-
res.status(400).json({ error: "`cwd` must be a string absolute path when provided" });
|
|
2449
|
-
return void 0;
|
|
2450
|
-
}
|
|
2451
|
-
if (hasCwd && body["cwd"].length > MAX_WORKSPACE_PATH_LENGTH) {
|
|
2452
|
-
res.status(400).json({
|
|
2453
|
-
error: `\`cwd\` exceeds the ${MAX_WORKSPACE_PATH_LENGTH}-character limit`
|
|
2454
|
-
});
|
|
2455
|
-
return void 0;
|
|
2456
|
-
}
|
|
2457
|
-
const cwd = translateAndCheckAbsoluteWorkspacePath(
|
|
2458
|
-
hasCwd ? body["cwd"] : boundWorkspace
|
|
2459
|
-
);
|
|
2460
|
-
if (cwd === null) {
|
|
2461
|
-
res.status(400).json({ error: "`cwd` must be an absolute path when provided" });
|
|
2462
|
-
return void 0;
|
|
2463
|
-
}
|
|
2464
|
-
return cwd;
|
|
2465
|
-
}
|
|
2466
|
-
__name(parseOptionalWorkspaceCwd, "parseOptionalWorkspaceCwd");
|
|
2467
|
-
function requireSessionId(req, res) {
|
|
2468
|
-
const sessionId = req.params["id"];
|
|
2469
|
-
if (!sessionId) {
|
|
2470
|
-
res.status(400).json({ error: "`sessionId` route parameter is required" });
|
|
2471
|
-
return null;
|
|
2472
|
-
}
|
|
2473
|
-
return normalizeSessionIdForLookup(sessionId);
|
|
2474
|
-
}
|
|
2475
|
-
__name(requireSessionId, "requireSessionId");
|
|
2476
|
-
function parseClientIdHeader(req, res) {
|
|
2477
|
-
const raw = req.get(CLIENT_ID_HEADER);
|
|
2478
|
-
if (raw === void 0 || raw === "") return void 0;
|
|
2479
|
-
if (raw.length > MAX_CLIENT_ID_LENGTH || !CLIENT_ID_RE.test(raw)) {
|
|
2480
|
-
res.status(400).json({
|
|
2481
|
-
error: "`X-Qwen-Client-Id` must be a non-empty token of 128 characters or fewer",
|
|
2482
|
-
code: "invalid_client_id"
|
|
2483
|
-
});
|
|
2484
|
-
return null;
|
|
2485
|
-
}
|
|
2486
|
-
return raw;
|
|
2487
|
-
}
|
|
2488
|
-
__name(parseClientIdHeader, "parseClientIdHeader");
|
|
2489
|
-
function detectFromLoopback(req) {
|
|
2490
|
-
const addr = req.socket?.remoteAddress;
|
|
2491
|
-
if (typeof addr !== "string") return false;
|
|
2492
|
-
if (addr === "::1") return true;
|
|
2493
|
-
if (addr.startsWith("127.")) return true;
|
|
2494
|
-
if (addr.startsWith("::ffff:127.")) return true;
|
|
2495
|
-
return false;
|
|
2496
|
-
}
|
|
2497
|
-
__name(detectFromLoopback, "detectFromLoopback");
|
|
2498
|
-
function validateMcpRuntimeServerName(name, res) {
|
|
2499
|
-
if (typeof name !== "string" || name.length === 0) {
|
|
2500
|
-
res.status(400).json({
|
|
2501
|
-
error: "Server name is required and must be a non-empty string",
|
|
2502
|
-
code: "invalid_server_name"
|
|
2503
|
-
});
|
|
2504
|
-
return false;
|
|
2505
|
-
}
|
|
2506
|
-
if (name.length > MAX_SERVER_NAME_LENGTH) {
|
|
2507
|
-
res.status(400).json({
|
|
2508
|
-
error: `Server name exceeds ${MAX_SERVER_NAME_LENGTH}-character limit`,
|
|
2509
|
-
code: "invalid_server_name"
|
|
2510
|
-
});
|
|
2511
|
-
return false;
|
|
2512
|
-
}
|
|
2513
|
-
if (!/^[A-Za-z0-9_-]+$/.test(name)) {
|
|
2514
|
-
res.status(400).json({
|
|
2515
|
-
error: "Server name must contain only alphanumeric characters, underscores, and hyphens",
|
|
2516
|
-
code: "invalid_server_name"
|
|
2517
|
-
});
|
|
2518
|
-
return false;
|
|
2519
|
-
}
|
|
2520
|
-
if (name === "__proto__" || name === "constructor" || name === "prototype") {
|
|
2521
|
-
res.status(400).json({
|
|
2522
|
-
error: "Server name must not be a reserved JS property name",
|
|
2523
|
-
code: "invalid_server_name"
|
|
2524
|
-
});
|
|
2525
|
-
return false;
|
|
2526
|
-
}
|
|
2527
|
-
return true;
|
|
2528
|
-
}
|
|
2529
|
-
__name(validateMcpRuntimeServerName, "validateMcpRuntimeServerName");
|
|
2530
|
-
function parseAndValidateWorkspaceClientId(req, res, bridge) {
|
|
2531
|
-
const raw = parseClientIdHeader(req, res);
|
|
2532
|
-
if (raw === null || raw === void 0) return raw;
|
|
2533
|
-
const bridges = Array.isArray(bridge) ? bridge : [bridge];
|
|
2534
|
-
if (!bridges.some((candidate) => candidate.knownClientIds().has(raw))) {
|
|
2535
|
-
res.status(400).json({
|
|
2536
|
-
error: `Client id "${raw}" is not registered for this workspace`,
|
|
2537
|
-
code: "invalid_client_id",
|
|
2538
|
-
clientId: raw
|
|
2539
|
-
});
|
|
2540
|
-
return null;
|
|
2541
|
-
}
|
|
2542
|
-
return raw;
|
|
2543
|
-
}
|
|
2544
|
-
__name(parseAndValidateWorkspaceClientId, "parseAndValidateWorkspaceClientId");
|
|
2545
|
-
function createBuildWorkspaceCtx(boundWorkspace) {
|
|
2546
|
-
return (route, clientId) => ({
|
|
2547
|
-
originatorClientId: clientId,
|
|
2548
|
-
route,
|
|
2549
|
-
workspaceCwd: boundWorkspace
|
|
2550
|
-
});
|
|
2551
|
-
}
|
|
2552
|
-
__name(createBuildWorkspaceCtx, "createBuildWorkspaceCtx");
|
|
2553
|
-
function parsePermissionVoteBody(req, res) {
|
|
2554
|
-
const body = safeBody(req);
|
|
2555
|
-
const outcome = body["outcome"];
|
|
2556
|
-
if (!isValidOutcome(outcome)) {
|
|
2557
|
-
res.status(400).json({ error: INVALID_PERMISSION_OUTCOME_ERROR });
|
|
2558
|
-
return void 0;
|
|
2559
|
-
}
|
|
2560
|
-
return {
|
|
2561
|
-
...body,
|
|
2562
|
-
outcome
|
|
2563
|
-
};
|
|
2564
|
-
}
|
|
2565
|
-
__name(parsePermissionVoteBody, "parsePermissionVoteBody");
|
|
2566
|
-
function isValidOutcome(raw) {
|
|
2567
|
-
if (typeof raw !== "object" || raw === null) return false;
|
|
2568
|
-
const obj = raw;
|
|
2569
|
-
if (obj["outcome"] === "cancelled") return true;
|
|
2570
|
-
return obj["outcome"] === "selected" && typeof obj["optionId"] === "string" && obj["optionId"].length > 0;
|
|
2571
|
-
}
|
|
2572
|
-
__name(isValidOutcome, "isValidOutcome");
|
|
2573
|
-
var MIN_QUERY_MAX_QUEUED = 16;
|
|
2574
|
-
var MAX_QUERY_MAX_QUEUED = 2048;
|
|
2575
|
-
function parseMaxQueuedQuery(raw, res) {
|
|
2576
|
-
if (raw === void 0) return void 0;
|
|
2577
|
-
if (typeof raw !== "string" || !/^\d+$/.test(raw)) {
|
|
2578
|
-
writeStderrLine(
|
|
2579
|
-
`qwen serve: rejected ?maxQueued ${safeLogValue(raw)} (not a decimal integer)`
|
|
2580
|
-
);
|
|
2581
|
-
res.status(400).json({
|
|
2582
|
-
error: "`maxQueued` must be a decimal integer",
|
|
2583
|
-
code: "invalid_max_queued"
|
|
2584
|
-
});
|
|
2585
|
-
return null;
|
|
2586
|
-
}
|
|
2587
|
-
const n = Number.parseInt(raw, 10);
|
|
2588
|
-
if (!Number.isFinite(n) || n < MIN_QUERY_MAX_QUEUED || n > MAX_QUERY_MAX_QUEUED) {
|
|
2589
|
-
writeStderrLine(
|
|
2590
|
-
`qwen serve: rejected ?maxQueued ${safeLogValue(raw)} (outside [${MIN_QUERY_MAX_QUEUED}, ${MAX_QUERY_MAX_QUEUED}])`
|
|
2591
|
-
);
|
|
2592
|
-
res.status(400).json({
|
|
2593
|
-
error: `\`maxQueued\` must be in [${MIN_QUERY_MAX_QUEUED}, ${MAX_QUERY_MAX_QUEUED}]`,
|
|
2594
|
-
code: "invalid_max_queued"
|
|
2595
|
-
});
|
|
2596
|
-
return null;
|
|
2597
|
-
}
|
|
2598
|
-
return n;
|
|
2599
|
-
}
|
|
2600
|
-
__name(parseMaxQueuedQuery, "parseMaxQueuedQuery");
|
|
2601
|
-
function safeLogValue(raw) {
|
|
2602
|
-
return JSON.stringify(String(raw)).slice(0, 82);
|
|
2603
|
-
}
|
|
2604
|
-
__name(safeLogValue, "safeLogValue");
|
|
2605
|
-
function parseLastEventId(raw) {
|
|
2606
|
-
if (typeof raw !== "string" || !/^\d+$/.test(raw)) {
|
|
2607
|
-
if (typeof raw === "string" && raw.length > 0) {
|
|
2608
|
-
writeStderrLine(
|
|
2609
|
-
`qwen serve: rejected Last-Event-ID ${safeLogValue(raw)} (not a decimal integer)`
|
|
2610
|
-
);
|
|
2611
|
-
}
|
|
2612
|
-
return void 0;
|
|
2613
|
-
}
|
|
2614
|
-
const n = Number.parseInt(raw, 10);
|
|
2615
|
-
if (!Number.isFinite(n) || n > Number.MAX_SAFE_INTEGER) {
|
|
2616
|
-
writeStderrLine(
|
|
2617
|
-
`qwen serve: rejected Last-Event-ID ${safeLogValue(raw)} (exceeds Number.MAX_SAFE_INTEGER)`
|
|
2618
|
-
);
|
|
2619
|
-
return void 0;
|
|
2620
|
-
}
|
|
2621
|
-
return n;
|
|
2622
|
-
}
|
|
2623
|
-
__name(parseLastEventId, "parseLastEventId");
|
|
2624
|
-
|
|
2625
2397
|
// packages/cli/src/serve/rate-limit.ts
|
|
2626
2398
|
init_esbuild_shims();
|
|
2627
2399
|
var MAX_BUCKETS = 1e4;
|
|
@@ -4176,26 +3948,6 @@ export {
|
|
|
4176
3948
|
conversationRootCompromisedError,
|
|
4177
3949
|
ServeAppLifecycleController,
|
|
4178
3950
|
installServeAppLifecycle,
|
|
4179
|
-
sendJsonBodyParserError,
|
|
4180
|
-
CLIENT_ID_HEADER,
|
|
4181
|
-
MAX_CLIENT_ID_LENGTH,
|
|
4182
|
-
MAX_TOOL_NAME_LENGTH,
|
|
4183
|
-
MAX_SERVER_NAME_LENGTH,
|
|
4184
|
-
CLIENT_ID_RE,
|
|
4185
|
-
setDeferredRuntimeRequestTiming,
|
|
4186
|
-
getDeferredRuntimeRequestTiming,
|
|
4187
|
-
safeBody,
|
|
4188
|
-
parseOptionalWorkspaceCwd,
|
|
4189
|
-
requireSessionId,
|
|
4190
|
-
parseClientIdHeader,
|
|
4191
|
-
detectFromLoopback,
|
|
4192
|
-
validateMcpRuntimeServerName,
|
|
4193
|
-
parseAndValidateWorkspaceClientId,
|
|
4194
|
-
createBuildWorkspaceCtx,
|
|
4195
|
-
parsePermissionVoteBody,
|
|
4196
|
-
parseMaxQueuedQuery,
|
|
4197
|
-
safeLogValue,
|
|
4198
|
-
parseLastEventId,
|
|
4199
3951
|
createRateLimiter,
|
|
4200
3952
|
setRateLimiter,
|
|
4201
3953
|
getRateLimiter,
|
|
@@ -1,19 +1,14 @@
|
|
|
1
1
|
// Force strict mode and setup for ESM
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
|
-
|
|
5
|
-
} from "./chunk-P3QQPMQA.js";
|
|
6
|
-
import {
|
|
7
|
-
classifyRetryError
|
|
8
|
-
} from "./chunk-J2OSJFP3.js";
|
|
9
|
-
import {
|
|
4
|
+
classifyRetryError,
|
|
10
5
|
formatQuotaExhaustedMessage,
|
|
11
6
|
getRetryAfterDelayMs,
|
|
12
7
|
getRetryDelayMs,
|
|
13
8
|
isQuotaExhaustedError,
|
|
14
9
|
isQwenQuotaExceededError,
|
|
15
10
|
isRateLimitError
|
|
16
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-DYXFD5RO.js";
|
|
17
12
|
import {
|
|
18
13
|
createDebugLogger,
|
|
19
14
|
getErrorStatus
|
|
@@ -27,6 +22,13 @@ import {
|
|
|
27
22
|
|
|
28
23
|
// packages/core/src/utils/retry.ts
|
|
29
24
|
init_esbuild_shims();
|
|
25
|
+
|
|
26
|
+
// packages/core/src/utils/retryContext.ts
|
|
27
|
+
init_esbuild_shims();
|
|
28
|
+
import { AsyncLocalStorage } from "node:async_hooks";
|
|
29
|
+
var retryContext = new AsyncLocalStorage();
|
|
30
|
+
|
|
31
|
+
// packages/core/src/utils/retry.ts
|
|
30
32
|
var debugLogger = createDebugLogger("RETRY");
|
|
31
33
|
var PERSISTENT_MAX_BACKOFF_MS = 5 * 60 * 1e3;
|
|
32
34
|
var PERSISTENT_CAP_MS = 6 * 60 * 60 * 1e3;
|
|
@@ -331,10 +333,16 @@ function logRetryAtStatusLevel(message, retryDiagnostics, error, errorStatus) {
|
|
|
331
333
|
__name(logRetryAtStatusLevel, "logRetryAtStatusLevel");
|
|
332
334
|
|
|
333
335
|
export {
|
|
336
|
+
retryContext,
|
|
334
337
|
isUnattendedMode,
|
|
335
338
|
delay,
|
|
336
339
|
retryWithBackoff
|
|
337
340
|
};
|
|
341
|
+
/**
|
|
342
|
+
* @license
|
|
343
|
+
* Copyright 2026 Qwen Team
|
|
344
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
345
|
+
*/
|
|
338
346
|
/**
|
|
339
347
|
* @license
|
|
340
348
|
* Copyright 2025 Google LLC
|
|
@@ -27,10 +27,10 @@ import {
|
|
|
27
27
|
} from "./chunk-3VUENPWF.js";
|
|
28
28
|
import {
|
|
29
29
|
loadSettings
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-AIAOIFY4.js";
|
|
31
31
|
import {
|
|
32
32
|
MCP_BUDGET_WARN_FRACTION
|
|
33
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-PZ66FRIC.js";
|
|
34
34
|
import {
|
|
35
35
|
parsePositiveIntegerEnv
|
|
36
36
|
} from "./chunk-6PVPNMXU.js";
|
|
@@ -44,7 +44,7 @@ import {
|
|
|
44
44
|
import {
|
|
45
45
|
writeStderrLine,
|
|
46
46
|
writeStdoutLine
|
|
47
|
-
} from "./chunk-
|
|
47
|
+
} from "./chunk-7FA2II6K.js";
|
|
48
48
|
import {
|
|
49
49
|
init_esbuild_shims
|
|
50
50
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -444,7 +444,7 @@ var serveCommand = {
|
|
|
444
444
|
delete process.env[EXTERNAL_TOOL_GUARD_TOKEN_ENV];
|
|
445
445
|
const openWithAuth = argv["open-with-auth"];
|
|
446
446
|
const open = argv.open || openWithAuth;
|
|
447
|
-
const { runQwenServe } = await import("./run-qwen-serve-
|
|
447
|
+
const { runQwenServe } = await import("./run-qwen-serve-5X6IDZER.js");
|
|
448
448
|
try {
|
|
449
449
|
const serveOptions = {
|
|
450
450
|
port: argv.port,
|
|
@@ -507,7 +507,7 @@ var serveCommand = {
|
|
|
507
507
|
...channelSelection !== void 0 ? { channelSelection } : {}
|
|
508
508
|
};
|
|
509
509
|
if (openWithAuth) {
|
|
510
|
-
const { applyOpenWithAuth } = await import("./open-with-auth-
|
|
510
|
+
const { applyOpenWithAuth } = await import("./open-with-auth-YN3QZHVM.js");
|
|
511
511
|
applyOpenWithAuth(serveOptions);
|
|
512
512
|
}
|
|
513
513
|
const handle = await runQwenServe(serveOptions);
|