@qwen-code/qwen-code 0.22.0 → 0.22.2-nightly.20260828.7357136dd1
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 +229 -0
- package/bundled/computer-use/agents/openai.yaml +4 -0
- package/bundled/coordinate/SKILL.md +5 -5
- package/bundled/goal-draft/SKILL.md +109 -0
- package/bundled/qc-helper/docs/configuration/auth.md +7 -7
- package/bundled/qc-helper/docs/configuration/model-providers.md +70 -9
- package/bundled/qc-helper/docs/configuration/settings.md +48 -48
- package/bundled/qc-helper/docs/extension/introduction.md +3 -1
- package/bundled/qc-helper/docs/features/_meta.ts +1 -0
- package/bundled/qc-helper/docs/features/channels/_meta.ts +1 -0
- package/bundled/qc-helper/docs/features/channels/dingtalk.md +12 -0
- package/bundled/qc-helper/docs/features/channels/dws.md +120 -0
- package/bundled/qc-helper/docs/features/channels/overview.md +37 -6
- package/bundled/qc-helper/docs/features/code-review.md +27 -23
- package/bundled/qc-helper/docs/features/commands.md +4 -3
- package/bundled/qc-helper/docs/features/computer-use.md +57 -51
- package/bundled/qc-helper/docs/features/goals.md +58 -0
- package/bundled/qc-helper/docs/features/headless.md +13 -11
- package/bundled/qc-helper/docs/features/mcp.md +35 -12
- package/bundled/qc-helper/docs/features/status-line.md +3 -3
- package/bundled/qc-helper/docs/features/sub-agents.md +1 -1
- package/bundled/qc-helper/docs/features/worktree.md +1 -1
- package/bundled/qc-helper/docs/overview.md +1 -1
- package/bundled/qc-helper/docs/quickstart.md +1 -1
- package/bundled/qc-helper/docs/qwen-serve.md +29 -6
- package/bundled/review/SKILL.md +185 -435
- package/bundled/review/references/aone.md +18 -0
- package/bundled/review/references/persistence.md +109 -0
- package/bundled/review/references/posting.md +272 -0
- package/chunks/MaxSizedBox-LMWXCLDV.js +110 -0
- package/chunks/{StandaloneSessionPicker-KTHPCSR6.js → StandaloneSessionPicker-W3F7U3JL.js} +87 -88
- package/chunks/{acp-startup-profiler-T4GEAPLX.js → acp-startup-profiler-GNYAL6LI.js} +2 -2
- package/chunks/{acpAgent-CRY3JZ5O.js → acpAgent-EYZ6EEHD.js} +3223 -2145
- package/chunks/agent-RBLGBY65.js +95 -0
- package/chunks/agent-headless-L5T4Y4OZ.js +85 -0
- package/chunks/{anthropicContentGenerator-Y2OX6LS4.js → anthropicContentGenerator-GMHML35Q.js} +128 -59
- package/chunks/{artifact-tool-SBXMTVCB.js → artifact-tool-XSMPHZBT.js} +11 -3
- package/chunks/{askUserQuestion-KEQJRFD6.js → askUserQuestion-4SWJY65V.js} +2 -2
- package/chunks/bridge-5LR2F2ND.js +119 -0
- package/chunks/{ca-D3F4S6NG.js → ca-7HPYOYSZ.js} +3 -0
- package/chunks/{channel-management-service-IRTT7RNE.js → channel-management-service-KHR3N6CH.js} +6 -6
- package/chunks/channel-settings-store-4FOAZW72.js +120 -0
- package/chunks/{channel-worker-group-BJNMR2MP.js → channel-worker-group-6NA6BBZV.js} +9 -7
- package/chunks/{channel-worker-manager-EMA7CQDJ.js → channel-worker-manager-NEZ2J6RK.js} +11 -8
- package/chunks/{channel-worker-supervisor-F6I6WSWW.js → channel-worker-supervisor-FKU7DIHJ.js} +12 -6
- package/chunks/{chunk-HDKCKCYO.js → chunk-23RFD54N.js} +1 -1
- package/chunks/{read-package-up-UXSW3YPB.js → chunk-2EAZ43JQ.js} +1 -0
- package/chunks/{chunk-KM73TBQ4.js → chunk-2LD5U7Q3.js} +31 -0
- package/chunks/{chunk-GIWB5QLV.js → chunk-2SXSLSQE.js} +4 -4
- package/chunks/chunk-2TNL5KPM.js +49 -0
- package/chunks/chunk-335CJSNF.js +2320 -0
- package/chunks/chunk-36LGBEM6.js +130 -0
- package/chunks/{chunk-O5BDEWBC.js → chunk-3JXM2CVW.js} +3 -3
- package/chunks/{chunk-2E3V7G6Y.js → chunk-3K6TUZHS.js} +55 -50
- package/chunks/{chunk-WWUSHZ7M.js → chunk-3OOXT6CR.js} +5 -5
- package/chunks/{chunk-2UZJWSVD.js → chunk-3WK3QDNV.js} +2 -2
- package/chunks/{chunk-4J7OPYNS.js → chunk-3XOKEVII.js} +6 -6
- package/chunks/chunk-3Y34Q3JV.js +1584 -0
- package/chunks/{chunk-YMVFIYHV.js → chunk-42IDLQWS.js} +26 -20
- package/chunks/{chunk-7HFULI45.js → chunk-454XFGH4.js} +3 -3
- package/chunks/chunk-4CMJKUND.js +95 -0
- package/chunks/{chunk-XLDFW44M.js → chunk-4K7KNVWH.js} +3 -3
- package/chunks/{chunk-YDJRMQU4.js → chunk-4QHPPXK2.js} +16 -8
- package/chunks/{chunk-7KOFLDEP.js → chunk-5JTIYALA.js} +1 -1
- package/chunks/{chunk-CXJHQVEK.js → chunk-5PA6UEYA.js} +4 -0
- package/chunks/{chunk-7NBVNAJJ.js → chunk-62GQFYID.js} +3 -3
- package/chunks/{chunk-JGUBDRBC.js → chunk-6DIGWMGT.js} +3 -3
- package/chunks/{chunk-X7V3N6YH.js → chunk-6JCGO55P.js} +885 -3380
- package/chunks/{chunk-HIK2OF33.js → chunk-6PJOTWAN.js} +1 -1
- package/chunks/{chunk-VUMLT7E5.js → chunk-6W2IK5KC.js} +956 -17
- package/chunks/{chunk-S4C4JJKE.js → chunk-6ZZBRRKQ.js} +5 -5
- package/chunks/{chunk-W4CRPSC5.js → chunk-7EQQR46F.js} +1 -1
- package/chunks/{chunk-PHJJ3RVO.js → chunk-7GWQW5ID.js} +7 -15
- package/chunks/chunk-7J6OTNGO.js +424 -0
- package/chunks/{chunk-URN2JIAQ.js → chunk-7TUBJBBJ.js} +5 -1
- package/chunks/{chunk-A5F63FEW.js → chunk-7VD6IPQM.js} +1 -1
- package/chunks/{chunk-36OF5PRW.js → chunk-ABS25QER.js} +7 -3
- package/chunks/{chunk-UU4WC7DK.js → chunk-AJGR6E6Z.js} +117 -30
- package/chunks/{chunk-MQP3MHWN.js → chunk-AU3MMVJF.js} +43 -20
- package/chunks/{chunk-ZS5BHEPD.js → chunk-AXC26UCQ.js} +1 -1
- package/chunks/{chunk-PDL6LKB5.js → chunk-AY3BNYEQ.js} +1 -1
- package/chunks/{chunk-O5Z7EB6Y.js → chunk-AYHQZBJ4.js} +170 -207
- package/chunks/{chunk-WRT324N6.js → chunk-B466ZSHZ.js} +3 -3
- package/chunks/{chunk-5XHAOUWD.js → chunk-B5OUL5EL.js} +3 -3
- package/chunks/{chunk-GAHYKJPV.js → chunk-B5PHIJGI.js} +186 -60
- package/chunks/{chunk-IBJ5S45N.js → chunk-B7CDU2SL.js} +2 -2
- package/chunks/{chunk-UZPYR3EV.js → chunk-BFPESSTR.js} +1 -1
- package/chunks/{chunk-43T5WDQ7.js → chunk-BFSFJR3D.js} +1 -1
- package/chunks/{chunk-IWOWEENB.js → chunk-BKWNKLZB.js} +404 -44
- package/chunks/{chunk-3CLIDIVQ.js → chunk-BOWFGCEU.js} +3 -3
- package/chunks/{chunk-BB5IMQCV.js → chunk-BPAKYXQ3.js} +2 -2
- package/chunks/{chunk-ZRYQMWEP.js → chunk-BWORX6FA.js} +2 -2
- package/chunks/{chunk-AP3B7LKD.js → chunk-BXDAPVQU.js} +2 -2
- package/chunks/{chunk-NUGZAFR2.js → chunk-C2X7KY45.js} +147 -6
- package/chunks/{chunk-MZKWFWVG.js → chunk-C3KURPP7.js} +6 -6
- package/chunks/{chunk-WZDM44SB.js → chunk-CAJTKR6W.js} +7 -7
- package/chunks/{chunk-DB2OKNTU.js → chunk-CFJY4DGX.js} +2 -2
- package/chunks/{chunk-QKBYFU2Q.js → chunk-CFKIH3D3.js} +21 -1
- package/chunks/{chunk-I432KXWD.js → chunk-CMHFCLBU.js} +1 -1
- package/chunks/{create-sub-session-XBCVGNFU.js → chunk-CQH5KTKC.js} +4 -6
- package/chunks/{chunk-5HJUPACR.js → chunk-CRKKHXTI.js} +185 -174
- package/chunks/{chunk-L4HVF7LM.js → chunk-CYAUBK46.js} +3 -3
- package/chunks/{chunk-AZF6SME3.js → chunk-D5LUXLUH.js} +3 -3
- package/chunks/{chunk-RPJQ3O4M.js → chunk-DFDWJE6Z.js} +60 -53
- package/chunks/{chunk-KSPRQSB4.js → chunk-DIMEPKCW.js} +52 -12
- package/chunks/chunk-DJBQCO2E.js +842 -0
- package/chunks/{chunk-OVH5Y7KS.js → chunk-DP4MWIM3.js} +19 -3
- package/chunks/{chunk-LI4YHTQK.js → chunk-DYXFD5RO.js} +182 -3
- package/chunks/{chunk-NW35NVFN.js → chunk-E3XVSVKK.js} +26 -4
- package/chunks/{chunk-VSNPOSDN.js → chunk-EB6QRGHM.js} +108 -13
- package/chunks/{chunk-FVBVJEBG.js → chunk-EKNBU2X7.js} +10 -8
- package/chunks/{chunk-DJEHYM4H.js → chunk-EKSCLBBF.js} +3 -3
- package/chunks/{chunk-624NHDGB.js → chunk-ERFDKH32.js} +11 -0
- package/chunks/chunk-EW5VVLJT.js +3525 -0
- package/chunks/{chunk-T6XLJRQY.js → chunk-EWIQ3NAE.js} +38774 -6955
- package/chunks/{chunk-4XPSVIED.js → chunk-FALBWZF4.js} +6 -6
- package/chunks/chunk-FBX2SDQ4.js +48 -0
- package/chunks/{chunk-VMJL7RH6.js → chunk-FEHMA4RO.js} +539 -651
- package/chunks/{chunk-PXOJLJ5W.js → chunk-FMFBLTLY.js} +606 -223
- package/chunks/{chunk-ZLCT4C5A.js → chunk-FTF2YIZ5.js} +1 -1
- package/chunks/{chunk-IOSEW6KP.js → chunk-G6FECKTJ.js} +9 -6
- package/chunks/{chunk-RDG44S5I.js → chunk-GGNE3JAW.js} +2 -2
- package/chunks/chunk-GYTKQYDB.js +23 -0
- package/chunks/{chunk-B6UBOIFE.js → chunk-H33EQVMG.js} +14 -11
- package/chunks/chunk-H72BQNM3.js +645 -0
- package/chunks/{chunk-YZBDKFRQ.js → chunk-HGIMWQVT.js} +995 -892
- package/chunks/chunk-HOCJDUFY.js +20 -0
- package/chunks/{chunk-6UQSU7CQ.js → chunk-HPXV655A.js} +60 -107
- package/chunks/{chunk-45NQKMYB.js → chunk-HVC3PNVC.js} +1 -1
- package/chunks/{chunk-QJHPWLZC.js → chunk-HYDJDQGJ.js} +1 -1
- package/chunks/{chunk-7DMTAQJ6.js → chunk-IB7FQJRY.js} +163 -57
- package/chunks/{chunk-AW27A43Y.js → chunk-ICURCKIU.js} +1428 -120
- package/chunks/{chunk-4F5WV4RF.js → chunk-ISKH4QX3.js} +288 -15
- package/chunks/{chunk-SE55HQGF.js → chunk-J6S24ZJE.js} +92 -70
- package/chunks/{chunk-7DYNJFES.js → chunk-JB4JIVTJ.js} +6 -1
- package/chunks/{chunk-OARZJFZX.js → chunk-JN4IWWMN.js} +4 -4
- package/chunks/{chunk-6PCOVQO2.js → chunk-JUUBLSZU.js} +8 -8
- package/chunks/{chunk-FEMQ6Y7W.js → chunk-JWALNCLT.js} +47 -126
- package/chunks/{chunk-TBVSALA3.js → chunk-K5KXUXWC.js} +3 -3
- package/chunks/{chunk-XYQHT3AW.js → chunk-KTJFDCX4.js} +2 -2
- package/chunks/{chunk-6FRJEE2S.js → chunk-LEFCFTEX.js} +6 -6
- package/chunks/{chunk-BUGYW6FB.js → chunk-LEGTMYAE.js} +1 -1
- package/chunks/{chunk-MPHLIJYL.js → chunk-LLZA2IK3.js} +20 -8
- package/chunks/{chunk-BEGIBJAZ.js → chunk-LNETQKBE.js} +4 -4
- package/chunks/{chunk-KVGR4MCF.js → chunk-LUEHOUHM.js} +3 -3
- package/chunks/{chunk-2A4C2MEG.js → chunk-LVPZO674.js} +35 -12
- package/chunks/{chunk-25NESM4G.js → chunk-M4ORUPYI.js} +29 -5
- package/chunks/{chunk-VFACN2CE.js → chunk-M6FOJXW3.js} +1 -1
- package/chunks/{chunk-FYZMB6DB.js → chunk-MAYHGRP4.js} +12 -12
- package/chunks/{chunk-K3LPAED5.js → chunk-MQM5PJML.js} +24 -4
- package/chunks/{chunk-ZRFUT5VV.js → chunk-MTJN7FOT.js} +7 -7
- package/chunks/{chunk-BGXZBI5B.js → chunk-N4X7G4J2.js} +2 -1
- package/chunks/{chunk-2TRNCJK4.js → chunk-NIFYWDYN.js} +1 -1
- package/chunks/{chunk-SQS55KR4.js → chunk-NU7RKEZR.js} +2 -2
- package/chunks/{chunk-U2UYQMM6.js → chunk-NXMBRVMQ.js} +3 -3
- package/chunks/chunk-OI4NY7RA.js +346 -0
- package/chunks/{chunk-LURJYO2T.js → chunk-OZ6KS6KW.js} +4 -0
- package/chunks/{chunk-K52PZNU4.js → chunk-PDQGMSZK.js} +2 -2
- package/chunks/{chunk-PZRUV52H.js → chunk-PPKZ7JOE.js} +20 -2
- package/chunks/{chunk-SAH4BD2J.js → chunk-PQEISIKS.js} +67 -0
- package/chunks/{chunk-AO4M6NMD.js → chunk-PWIGAMA4.js} +146 -27
- package/chunks/{chunk-S3G6YFQC.js → chunk-QFCDF5PL.js} +1 -1
- package/chunks/chunk-QHMLYMMS.js +32 -0
- package/chunks/{chunk-5XUTPXQU.js → chunk-QPTRRPZU.js} +47 -13
- package/chunks/{chunk-UUQFJILB.js → chunk-RFI4YGMR.js} +34 -267
- package/chunks/{chunk-A6NRNRKE.js → chunk-RFIDDFAL.js} +1 -1
- package/chunks/chunk-RKFGE7JH.js +93 -0
- package/chunks/chunk-RNVFRIOO.js +275 -0
- package/chunks/{chunk-WU5E4HMO.js → chunk-RU7BK6B3.js} +1 -1
- package/chunks/{chunk-J5ZDDUKM.js → chunk-RVXDXY6I.js} +4 -4
- package/chunks/{chunk-OE52YHCZ.js → chunk-RWZB422L.js} +11 -11
- package/chunks/chunk-RXFQM6FQ.js +42 -0
- package/chunks/{chunk-MHG6NDS6.js → chunk-RYNZQGXN.js} +19 -2
- package/chunks/{chunk-4CWDWDL6.js → chunk-SJ5ERAW3.js} +1 -1
- package/chunks/{chunk-Q54XG7IX.js → chunk-SMPR7SPO.js} +1 -1
- package/chunks/{chunk-UIRLQ3N7.js → chunk-SRZZY4IY.js} +3 -3
- package/chunks/{chunk-ND7NOI4P.js → chunk-STUJ7IMZ.js} +0 -92
- package/chunks/{chunk-VYC7XFYV.js → chunk-SUX7HDNA.js} +5 -5
- package/chunks/{chunk-ZZUVC6RI.js → chunk-SVNO44PF.js} +3 -3
- package/chunks/{chunk-FDD2IUEL.js → chunk-SZLBBZH4.js} +370 -35
- package/chunks/{chunk-GHY5OIYP.js → chunk-T2NKRHZZ.js} +13 -13
- package/chunks/chunk-T4EFG2P5.js +113 -0
- package/chunks/{chunk-BMCSKS37.js → chunk-TLHUNMO7.js} +6 -6
- package/chunks/{chunk-JOLJTKIG.js → chunk-TPI7O7HR.js} +1 -1
- package/chunks/{chunk-6QSA4JHL.js → chunk-TQHGJYR3.js} +4492 -1121
- package/chunks/{chunk-ISJMN3ML.js → chunk-TTX2JUE6.js} +1 -1
- package/chunks/{chunk-EFB657PR.js → chunk-TW3E6YNO.js} +3 -3
- package/chunks/{chunk-LD5VIJ7S.js → chunk-TWSKM647.js} +1 -1
- package/chunks/chunk-U54AYGEC.js +337 -0
- package/chunks/{chunk-A5F2YNO6.js → chunk-UHQFIS7N.js} +260 -10
- package/chunks/{chunk-6NFAEG54.js → chunk-UTLCH2FK.js} +24 -13
- package/chunks/{chunk-7JBHIQS2.js → chunk-UY3PBNY3.js} +19 -37
- package/chunks/{chunk-DWCKACFL.js → chunk-V2NDP3I4.js} +2 -2
- package/chunks/{chunk-2GXYDNXP.js → chunk-V2QDDC5J.js} +19 -9
- package/chunks/{chunk-VLRBJ24J.js → chunk-V5J4J5TP.js} +2 -2
- package/chunks/{chunk-X2UOOG5V.js → chunk-VQUGEVGR.js} +1 -1
- package/chunks/{chunk-RDQ7QB4Y.js → chunk-VTHREBQM.js} +2 -2
- package/chunks/{chunk-YLFLHKDL.js → chunk-W3N5XAZ6.js} +1 -1
- package/chunks/{chunk-62JOGZL5.js → chunk-W6DUQ5GA.js} +11497 -10502
- package/chunks/{chunk-P47E4SJC.js → chunk-WALC5VJH.js} +4 -4
- package/chunks/{chunk-3ZFJUBTP.js → chunk-WAOIHTJS.js} +1 -1
- package/chunks/{chunk-KIVGVFMM.js → chunk-WBHKK3CU.js} +16 -4
- package/chunks/{chunk-XZJKSETB.js → chunk-WXEA74YB.js} +3 -3
- package/chunks/{chunk-VEND4KA4.js → chunk-X3ZRTCJD.js} +1 -1
- package/chunks/{chunk-YRLW2MSX.js → chunk-XBVNNDPK.js} +11 -4
- package/chunks/{chunk-XL5K4SVK.js → chunk-XF63PKEN.js} +1 -1
- package/chunks/{chunk-LDGWX737.js → chunk-XLLQJRAH.js} +323 -510
- package/chunks/{chunk-2Z6LSQMF.js → chunk-XQFT3QUF.js} +1 -1
- package/chunks/{chunk-P3QQPMQA.js → chunk-XZA32HII.js} +4 -4
- package/chunks/{chunk-C72BXMJ5.js → chunk-Y3QL45LS.js} +1 -1
- package/chunks/{chunk-QS4ENGVF.js → chunk-Y4TPOUEV.js} +17 -8
- package/chunks/{chunk-AVCCKIZ6.js → chunk-YRZX2PHA.js} +1 -1
- package/chunks/{chunk-Z3JMO2CH.js → chunk-YTDVNSUQ.js} +1 -1
- package/chunks/{chunk-WS7PAXXR.js → chunk-YWQ237GX.js} +15 -199
- package/chunks/chunk-ZELCTN6Y.js +29 -0
- package/chunks/{chunk-TQOF5KBL.js → chunk-ZEZKIS2K.js} +0 -31
- package/chunks/{chunk-IIWGSX4L.js → chunk-ZTP35P4B.js} +1 -1
- package/chunks/{chunk-K623ENWT.js → chunk-ZU4UDIWX.js} +23 -1
- package/chunks/chunk-ZYNTSXWK.js +32 -0
- package/chunks/config-utils-JVGAP34H.js +113 -0
- package/chunks/contextCommand-XDB7OSO7.js +106 -0
- package/chunks/{core-runtime-CES6JSVV.js → core-runtime-XHYA2RH7.js} +66 -63
- package/chunks/create-sub-session-23ITIELI.js +17 -0
- package/chunks/{create-sub-session-UJTPMVOG.js → create-sub-session-MHYCFNCM.js} +168 -87
- package/chunks/{cron-create-IKA56DAF.js → cron-create-KJ4IY6PP.js} +57 -10
- package/chunks/{cron-delete-K5Q62EGH.js → cron-delete-MBLQCAYY.js} +4 -4
- package/chunks/{cron-list-QBFGAMP7.js → cron-list-DWH2PQ47.js} +4 -4
- package/chunks/{daemon-RZZUPGOJ.js → daemon-K5XS42ID.js} +567 -27
- package/chunks/{daemon-git-worktree-guard-3QY2BQYB.js → daemon-git-worktree-guard-V3P5XLHB.js} +339 -95
- package/chunks/daemon-status-provider-KKU7ZTLM.js +117 -0
- package/chunks/daemon-trust-policy-TZGK34DW.js +112 -0
- package/chunks/{daemon-trust-policy-monitor-TK4K7M63.js → daemon-trust-policy-monitor-F23DD2M4.js} +69 -69
- package/chunks/{de-RYUHH2C6.js → de-X6HLSIFE.js} +1 -0
- package/chunks/deferred-core-runtime-LKLGBCGZ.js +114 -0
- package/chunks/{display-image-OEJMJV3S.js → display-image-BE7I6ZB6.js} +5 -5
- package/chunks/{dist-5EV2G6MC.js → dist-4WXLCBDR.js} +1 -1
- package/chunks/{dist-ES6HNUW2.js → dist-5VXFRTWU.js} +525 -64
- package/chunks/{dist-ESS34DHC.js → dist-6BPYWHVD.js} +89 -65
- package/chunks/{dist-2OG3PGKO.js → dist-GFN5DCBX.js} +76 -67
- package/chunks/{dist-K7IQB53U.js → dist-HZNT6GQS.js} +1 -1
- package/chunks/{dist-J6P3C52Z.js → dist-LVZCXVPF.js} +99 -26
- package/chunks/{dist-LZO24N3E.js → dist-N6W6E753.js} +71 -64
- package/chunks/dist-QDLFKWOL.js +2512 -0
- package/chunks/{dist-VVQBOKDH.js → dist-SWQMYP2Q.js} +18 -16
- package/chunks/earlyInputCapture-NERYFYTR.js +107 -0
- package/chunks/{edit-A2633SLR.js → edit-ACCATIXB.js} +49 -51
- package/chunks/{en-3RHLPITS.js → en-YLXBXM4Z.js} +5 -1
- package/chunks/{enter-worktree-OIAHE2TB.js → enter-worktree-35QCAAFP.js} +7 -8
- package/chunks/{enterPlanMode-SUGIKLR7.js → enterPlanMode-NEN6EPVM.js} +48 -50
- package/chunks/environment-CKWHBC5T.js +129 -0
- package/chunks/errors-XTZPNQ77.js +113 -0
- package/chunks/{exit-worktree-3UT3SSWT.js → exit-worktree-XQD6D543.js} +7 -8
- package/chunks/exitPlanMode-CY344X5J.js +83 -0
- package/chunks/{fast-path-3AVP3G35.js → fast-path-YSOX4PAM.js} +31 -10
- package/chunks/{fast-path-settings-WHX3J3ZI.js → fast-path-settings-XMFBYFUH.js} +2 -2
- package/chunks/{fr-4PL5GHG4.js → fr-FTZWF462.js} +1 -0
- package/chunks/{gemini-7PVQWHTH.js → gemini-VQY2YCPH.js} +137 -129
- package/chunks/{geminiContentGenerator-B2FOJJDJ.js → geminiContentGenerator-PAPXNIGU.js} +16 -13
- package/chunks/{glob-7YGXE6OV.js → glob-GVCUSBBF.js} +48 -50
- package/chunks/{goal-tools-TLJCE7YZ.js → goal-tools-5STK6OXW.js} +77 -31
- package/chunks/{grep-6DV6LTON.js → grep-5GPICQBU.js} +6 -6
- package/chunks/handleAutoUpdate-ZJPJN42W.js +109 -0
- package/chunks/i18n-BZYKOST7.js +124 -0
- package/chunks/{image-gen-7CSCJ73T.js → image-gen-J6FDGUZP.js} +8 -12
- package/chunks/initializer-GO2C5HE3.js +113 -0
- package/chunks/installationInfo-WM2GXQZ6.js +107 -0
- package/chunks/{ja-HZ7X7PQO.js → ja-2GL5FKYJ.js} +1 -0
- package/chunks/{keychain-token-storage-MTFTAESK.js → keychain-token-storage-37XPR34V.js} +2 -2
- package/chunks/list-ERDJB7PQ.js +116 -0
- package/chunks/{list-agents-43XUEXJV.js → list-agents-DI3YFTDT.js} +2 -2
- package/chunks/loadedSettingsAdapter-7JOCVOKV.js +110 -0
- package/chunks/{loggingContentGenerator-RNE66CKK.js → loggingContentGenerator-3ONLU3BS.js} +327 -39
- package/chunks/{loop-wakeup-E54KDUXC.js → loop-wakeup-XJFONSQ7.js} +5 -5
- package/chunks/{ls-CGL2UC3H.js → ls-3VAT2J7A.js} +4 -4
- package/chunks/{lsp-5IKUO5DX.js → lsp-5W7IRUBH.js} +2 -2
- package/chunks/{managed-npm-update-Y3SC3GLJ.js → managed-npm-update-TLRCC2GE.js} +62 -62
- package/chunks/mcp-2LH3QXR2.js +110 -0
- package/chunks/{monitor-PXYSGSUN.js → monitor-P7LDAL4W.js} +48 -50
- package/chunks/nonInteractiveCli-E5T7PZ27.js +184 -0
- package/chunks/{notebook-edit-ISIBJVBR.js → notebook-edit-F7KSG4WQ.js} +49 -51
- package/chunks/open-with-auth-4UI3KHUR.js +55 -0
- package/chunks/{openaiContentGenerator-6TBOPEGT.js → openaiContentGenerator-2EXCZUGN.js} +29 -32
- package/chunks/pidfile-P25DWA5Q.js +111 -0
- package/chunks/process-registry-OAEG6WGC.js +662 -0
- package/chunks/{processUtils-YK2TDTTU.js → processUtils-PVDKBL35.js} +2 -2
- package/chunks/prompt-terminal-ledger-AJ7T7OIV.js +105 -0
- package/chunks/{pt-QT5N2Q6Q.js → pt-XN2YWJVM.js} +1 -0
- package/chunks/{qwenContentGenerator-CLDMA2Y4.js → qwenContentGenerator-TBBRLWIT.js} +54 -62
- package/chunks/{qwenOAuth2-DLDR6UC5.js → qwenOAuth2-OF5WRBQT.js} +7 -11
- package/chunks/read-file-6IIY4RLJ.js +32 -0
- package/chunks/{read-mcp-resource-XYES2B42.js → read-mcp-resource-XD257PGJ.js} +2 -2
- package/chunks/read-package-up-6T6ICKR7.js +13 -0
- package/chunks/{record-artifact-W3IBTGL7.js → record-artifact-VW23GS4F.js} +4 -5
- package/chunks/report-findings-XA3FJG3N.js +33 -0
- package/chunks/request-shutdown-BCLA3JV2.js +133 -0
- package/chunks/resumeHistoryUtils-44IETXDY.js +118 -0
- package/chunks/ripGrep-E7ESZ7SS.js +39 -0
- package/chunks/{ru-STMG5BPD.js → ru-OLTMFJEW.js} +1 -0
- package/chunks/{run-qwen-serve-XJHOW2NY.js → run-qwen-serve-DXBCYW7V.js} +924 -356
- package/chunks/runtime-RUSPD35D.js +148 -0
- package/chunks/scheduled-tasks-DVRJZO6I.js +127 -0
- package/chunks/scheduler-TDRB2NSY.js +122 -0
- package/chunks/{sdk-exporters-http-RSIOP3G2.js → sdk-exporters-http-TTU2CHBU.js} +5 -5
- package/chunks/{sdk-impl-CB3KARSK.js → sdk-impl-UUMVYMAL.js} +12 -6
- package/chunks/{send-message-J4VT46OI.js → send-message-AJ4OCUBV.js} +24 -29
- package/chunks/serve-KITOM7OR.js +118 -0
- package/chunks/{server-74ONDK62.js → server-THCOMUC2.js} +5814 -4549
- package/chunks/{session-BO6VBWJP.js → session-XKR5MPXE.js} +152 -142
- package/chunks/session-pr-refresh-KRBH7KDA.js +278 -0
- package/chunks/{settings-35QZNFDG.js → settings-YXZ4XBKK.js} +72 -72
- package/chunks/shell-5FJ2DZ3W.js +93 -0
- package/chunks/{skill-DKEMQSNJ.js → skill-VMMJZ6CJ.js} +161 -33
- package/chunks/skill-settings-7SG4YA2W.js +118 -0
- package/chunks/spawnChannel-BPMIXRBI.js +112 -0
- package/chunks/standalone-update-QN5HFRIC.js +118 -0
- package/chunks/{startInteractiveUI-J2QSGWPU.js → startInteractiveUI-5A7RQFRP.js} +3139 -2438
- package/chunks/{syntheticOutput-JAXMIMZP.js → syntheticOutput-ML43GEFN.js} +3 -3
- package/chunks/{task-create-I2H322E4.js → task-create-QN4LYRSE.js} +11 -11
- package/chunks/{task-list-3OLIWFTQ.js → task-list-JPLGK45U.js} +5 -5
- package/chunks/{task-stop-JAUY6MSY.js → task-stop-CXEH5L2D.js} +2 -2
- package/chunks/{task-update-B3XO4CPI.js → task-update-IWEOJFV2.js} +11 -11
- package/chunks/{team-create-W534PMGX.js → team-create-HVGVUL2L.js} +49 -51
- package/chunks/{team-delete-Q7GE7RRI.js → team-delete-RZVVSGCY.js} +5 -5
- package/chunks/{team-plan-approval-WNV6P6NG.js → team-plan-approval-S5A5FQWU.js} +48 -50
- package/chunks/terminal-image-renderer-SIVPPXDI.js +114 -0
- package/chunks/theme-manager-TA33UZZX.js +102 -0
- package/chunks/{todoWrite-FJJTY2TI.js → todoWrite-WDJNQEMW.js} +43 -25
- package/chunks/{tool-search-Y4KL3LRE.js → tool-search-NX7IPDKP.js} +19 -20
- package/chunks/total-session-admission-PWXZBOVX.js +114 -0
- package/chunks/trustedFolders-V6Y4CU3F.js +122 -0
- package/chunks/{update-relaunch-OHVFN6KF.js → update-relaunch-CGSX3R37.js} +6 -6
- package/chunks/updateCheck-T5O2WGIB.js +118 -0
- package/chunks/useAutoAcceptIndicator-ULBJJWPY.js +120 -0
- package/chunks/{validateNonInterActiveAuth-WJXH426F.js → validateNonInterActiveAuth-E5S2JSRC.js} +114 -108
- package/chunks/{version-QMDRADXM.js → version-LS5JPU36.js} +2 -2
- package/chunks/{web-fetch-ROS6P4LP.js → web-fetch-RLMFZTS3.js} +25 -244
- package/chunks/{web-search-JS3E76O6.js → web-search-LMCIC4N5.js} +11 -13
- package/chunks/{web-shell-static-3NUTRHAH.js → web-shell-static-A6QMUNNV.js} +11 -4
- package/chunks/webapi-Z5OM224P.js +4118 -0
- package/chunks/{workflow-2FCMBTBZ.js → workflow-JBXU3IGA.js} +713 -138
- package/chunks/workspace-providers-status-525ORQBH.js +114 -0
- package/chunks/{workspace-registration-store-SU4EJKSD.js → workspace-registration-store-7Y44R4LV.js} +1 -1
- package/chunks/workspace-registry-HS4RWUSQ.js +123 -0
- package/chunks/workspace-service-7PXDM6EB.js +129 -0
- package/chunks/workspace-skills-status-FMJGC2XI.js +113 -0
- package/chunks/{workspace-trust-reconciler-4Y4F7XIX.js → workspace-trust-reconciler-3YTWSQBY.js} +78 -77
- package/chunks/write-file-BVQRYQQO.js +88 -0
- package/chunks/{zh-TW-NX43Z2S2.js → zh-TW-RPTMRTHG.js} +5 -1
- package/chunks/{zh-3JQ75KFU.js → zh-UNY63FR3.js} +5 -1
- package/chunks/{zoom-image-DNBKCGGF.js → zoom-image-FGCELNS4.js} +14 -15
- package/cli.js +13 -13
- package/locales/ca.js +3 -0
- package/locales/de.js +1 -0
- package/locales/en.js +5 -0
- package/locales/fr.js +1 -0
- package/locales/ja.js +1 -0
- package/locales/pt.js +1 -0
- package/locales/ru.js +1 -0
- package/locales/zh-TW.js +5 -0
- package/locales/zh.js +5 -0
- package/package.json +3 -3
- package/web-shell/assets/{abnfDiagram-VCTEODGH-DWHXEVlf.js → abnfDiagram-VCTEODGH-2XZDeWYO.js} +1 -1
- package/web-shell/assets/{arc-CXKjm86V.js → arc-B6UgMh90.js} +1 -1
- package/web-shell/assets/{architectureDiagram-5GKGNRK7-B_ynI0cX.js → architectureDiagram-5GKGNRK7-DZgNFeN1.js} +1 -1
- package/web-shell/assets/{blockDiagram-NRAW4CY4-DMebd9X0.js → blockDiagram-NRAW4CY4-DQ2wvBFN.js} +1 -1
- package/web-shell/assets/{c4Diagram-UCG6FXSJ-BZ5BlxS-.js → c4Diagram-UCG6FXSJ-DMmQMrc4.js} +1 -1
- package/web-shell/assets/channel-D_TyfiTx.js +1 -0
- package/web-shell/assets/{chunk-2Q5K7J3B-CluJKopE.js → chunk-2Q5K7J3B-C8Zh2e9y.js} +1 -1
- package/web-shell/assets/{chunk-5VM5RSS4-hzDAPFOo.js → chunk-5VM5RSS4-C3LTenP8.js} +1 -1
- package/web-shell/assets/{chunk-F27PBJKO-6vHioKJe.js → chunk-F27PBJKO-CxABOc8n.js} +1 -1
- package/web-shell/assets/{chunk-G27WJ6UU-B_5hKTGo.js → chunk-G27WJ6UU-CD_JxHDC.js} +1 -1
- package/web-shell/assets/{chunk-JWPE2WC7-CO9VoFCH.js → chunk-JWPE2WC7-BdmZPmce.js} +1 -1
- package/web-shell/assets/{chunk-LCL6LL3I-7L5JpxYu.js → chunk-LCL6LL3I-80bcHmfK.js} +1 -1
- package/web-shell/assets/{chunk-POPQ4Y6H-DHLJMAqj.js → chunk-POPQ4Y6H-CNpLZyQF.js} +1 -1
- package/web-shell/assets/{chunk-SVP7TREG-Dt-4Cqdl.js → chunk-SVP7TREG-CXlKgMv3.js} +1 -1
- package/web-shell/assets/{chunk-XXDRQBXY-QlSQ3ssG.js → chunk-XXDRQBXY-CivyYyvL.js} +1 -1
- package/web-shell/assets/classDiagram-DTDB5LWJ-Bw_H3xMd.js +1 -0
- package/web-shell/assets/classDiagram-v2-JRS7N3AN-Bw_H3xMd.js +1 -0
- package/web-shell/assets/{cose-bilkent-JH36ORCC-DMw3EOxl.js → cose-bilkent-JH36ORCC-COAjRH3w.js} +1 -1
- package/web-shell/assets/{cynefin-OW5HDTMX-s6vEA7RQ.js → cynefin-OW5HDTMX-DqU1JHO6.js} +1 -1
- package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-AOKsvYLt.js → cynefinDiagram-5FMLGOSQ-BCLI1Bvj.js} +1 -1
- package/web-shell/assets/{dagre-3AP2YEHR-9QAZn3m7.js → dagre-3AP2YEHR-DmAz8nqF.js} +1 -1
- package/web-shell/assets/{diagram-S7CK7UJ4-CWpnu4FN.js → diagram-S7CK7UJ4-Ck-5QLT5.js} +1 -1
- package/web-shell/assets/{diagram-UQ7AKVKN-9l0jXD8q.js → diagram-UQ7AKVKN-C0ljX0mW.js} +1 -1
- package/web-shell/assets/{diagram-VSXAHHWV-BMUHroj4.js → diagram-VSXAHHWV-DPgvT24v.js} +1 -1
- package/web-shell/assets/{diagram-VX7I27RA-Co9x27vm.js → diagram-VX7I27RA-D7hWr1LR.js} +1 -1
- package/web-shell/assets/{diagram-Z3DM3KII-BKnTeOER.js → diagram-Z3DM3KII-D59tlOta.js} +1 -1
- package/web-shell/assets/{ebnfDiagram-PWID7BFC-QBZD9CKG.js → ebnfDiagram-PWID7BFC-CY2DDx00.js} +1 -1
- package/web-shell/assets/{erDiagram-SSCWMZ5O-dKWAEGun.js → erDiagram-SSCWMZ5O-AR4h8Q8k.js} +1 -1
- package/web-shell/assets/{flowDiagram-A5DVABFB-CR_UgVqj.js → flowDiagram-A5DVABFB-DbF0HqBz.js} +1 -1
- package/web-shell/assets/{ganttDiagram-EL5Y4UJY-DQUnjWO6.js → ganttDiagram-EL5Y4UJY-J52mrIhc.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-WWUBYQGX-C4j59wPL.js → gitGraphDiagram-WWUBYQGX-CcgMY5EV.js} +1 -1
- package/web-shell/assets/index-BjUg3vPr.css +5 -0
- package/web-shell/assets/index-CFwYYVFU.js +1873 -0
- package/web-shell/assets/{index-tYXRIPz4.js → index-MQs7l15A.js} +1 -1
- package/web-shell/assets/{infoDiagram-RXCK75RN-mzqbt50w.js → infoDiagram-RXCK75RN-Buu3ibp2.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-5VMMS53U-ChLOqhGl.js → ishikawaDiagram-5VMMS53U-CoKQxnF3.js} +1 -1
- package/web-shell/assets/{journeyDiagram-EYS64GPL-SifZE-R8.js → journeyDiagram-EYS64GPL-CxK35mTC.js} +1 -1
- package/web-shell/assets/{kanban-definition-3QL26DDD-Sft2qlbc.js → kanban-definition-3QL26DDD-tk2CHTQ1.js} +1 -1
- package/web-shell/assets/{layout-O2uHVkPd.js → layout-DEpMwb4u.js} +1 -1
- package/web-shell/assets/{linear-BVqYgjSc.js → linear-DSQsLh53.js} +1 -1
- package/web-shell/assets/{mermaid.core-CZ9MQaJ6.js → mermaid.core-DIZuPBQT.js} +6 -6
- package/web-shell/assets/{mindmap-definition-FBJOCRG2-BNQYjBqM.js → mindmap-definition-FBJOCRG2-CCAvk8r_.js} +1 -1
- package/web-shell/assets/{pegDiagram-XKGWAZYB-rh1J8uv6.js → pegDiagram-XKGWAZYB-CpJ28jxz.js} +1 -1
- package/web-shell/assets/{pieDiagram-E7YTZNPT-BQHR5mn9.js → pieDiagram-E7YTZNPT-ziJR2R32.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-AXDQQJYC-CLCbP7mK.js → quadrantDiagram-AXDQQJYC-B60zE3Mh.js} +1 -1
- package/web-shell/assets/{railroadDiagram-O6MQD6OU-CDQhrkbm.js → railroadDiagram-O6MQD6OU-M3GqQ_g1.js} +1 -1
- package/web-shell/assets/{requirementDiagram-EFPCY7ZU-BdP9uswg.js → requirementDiagram-EFPCY7ZU-ntCtYqTk.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-P5KCCOFB-CFZDFBXF.js → sankeyDiagram-P5KCCOFB-AYLoItcZ.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-BW9WOJXI.js → sequenceDiagram-WJ2MYXX4-DEWk4Mlj.js} +1 -1
- package/web-shell/assets/{sizeCapture-X5ZJPWSS-CPMia32z.js → sizeCapture-X5ZJPWSS-OOWvzPay.js} +1 -1
- package/web-shell/assets/{stateDiagram-HBIQ2CUA-BANp9p7F.js → stateDiagram-HBIQ2CUA-BcMmvxem.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-4QOOHH4V-DRLLqPWO.js +1 -0
- package/web-shell/assets/{swimlanes-XN3QIQJK-JroXksK-.js → swimlanes-XN3QIQJK-DuZTWWvh.js} +1 -1
- package/web-shell/assets/swimlanesDiagram-VK2B7HYN-DOfLQQYt.js +8 -0
- package/web-shell/assets/{timeline-definition-24CTP7MA-DfuVIfYY.js → timeline-definition-24CTP7MA-CjqtZXEd.js} +1 -1
- package/web-shell/assets/{vennDiagram-4TSXK5OY-BZXoSjRB.js → vennDiagram-4TSXK5OY-knVCVkQ4.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-VM6X3IG4-BdiY8avC.js → wardleyDiagram-VM6X3IG4-yoWhw0a2.js} +1 -1
- package/web-shell/assets/{xychartDiagram-S5SC5T6Z-DcXh_U4H.js → xychartDiagram-S5SC5T6Z-ue14E_gL.js} +1 -1
- package/web-shell/index.html +20 -5
- package/chunks/MaxSizedBox-3OZJCC3J.js +0 -110
- package/chunks/agent-BFE3DQM3.js +0 -93
- package/chunks/agent-headless-LLVKZZ4P.js +0 -87
- package/chunks/bridge-EBYO4SYM.js +0 -118
- package/chunks/channel-settings-store-5VP2Y2YM.js +0 -115
- package/chunks/chunk-2J3OJGTL.js +0 -98
- package/chunks/chunk-7IV52LTO.js +0 -202
- package/chunks/chunk-AXMWHKXA.js +0 -42
- package/chunks/chunk-F6WFNA7U.js +0 -22
- package/chunks/chunk-IO257NUD.js +0 -623
- package/chunks/chunk-JS73NNWF.js +0 -30
- package/chunks/chunk-SJ4HB27T.js +0 -945
- package/chunks/chunk-VGHZT6JR.js +0 -51
- package/chunks/chunk-YHC2EYYG.js +0 -125
- package/chunks/computer-use-EGPWFEX6.js +0 -2142
- package/chunks/config-utils-WZ43VOBS.js +0 -25
- package/chunks/contextCommand-5DSEQI6S.js +0 -106
- package/chunks/daemon-status-provider-EYMLPYJU.js +0 -116
- package/chunks/daemon-trust-policy-CQYKZ7VO.js +0 -112
- package/chunks/deferred-core-runtime-WFEPUXZR.js +0 -114
- package/chunks/earlyInputCapture-PN4PP7V5.js +0 -107
- package/chunks/environment-WUPHLPKZ.js +0 -127
- package/chunks/errors-WPMPVIAT.js +0 -113
- package/chunks/exitPlanMode-MLFHYZNB.js +0 -85
- package/chunks/handleAutoUpdate-F5OTWUT5.js +0 -109
- package/chunks/i18n-C562S6KN.js +0 -124
- package/chunks/initializer-7YPGOFP4.js +0 -113
- package/chunks/installationInfo-ARU5Q2H7.js +0 -107
- package/chunks/list-KTSK275C.js +0 -116
- package/chunks/loadedSettingsAdapter-F3T2EQ5J.js +0 -110
- package/chunks/mcp-6ONTVPAY.js +0 -110
- package/chunks/nonInteractiveCli-KZDWFAN6.js +0 -178
- package/chunks/pidfile-IO7ALSZF.js +0 -111
- package/chunks/process-registry-PMJOA5CO.js +0 -172
- package/chunks/prompt-terminal-ledger-TCE7PMCE.js +0 -105
- package/chunks/read-file-2HOD2ATO.js +0 -33
- package/chunks/resumeHistoryUtils-DDSBAQJS.js +0 -118
- package/chunks/ripGrep-E7P6K4QR.js +0 -40
- package/chunks/runtime-J4SPTJRQ.js +0 -148
- package/chunks/scheduler-VRAEZZ4E.js +0 -122
- package/chunks/serve-KEAWV4TI.js +0 -118
- package/chunks/shell-H6K63WG3.js +0 -95
- package/chunks/skill-settings-TCKLXIXM.js +0 -118
- package/chunks/spawnChannel-2K6NKWM5.js +0 -111
- package/chunks/standalone-update-LSCGOEFP.js +0 -118
- package/chunks/terminal-image-renderer-UHX3UD66.js +0 -114
- package/chunks/theme-manager-6B47ZPIF.js +0 -102
- package/chunks/total-session-admission-NSCFWGJH.js +0 -113
- package/chunks/trustedFolders-7XMJWGQ3.js +0 -122
- package/chunks/updateCheck-EOVLHD4T.js +0 -118
- package/chunks/useAutoAcceptIndicator-ZNMIGBTN.js +0 -120
- package/chunks/workspace-providers-status-GPGU5YMT.js +0 -113
- package/chunks/workspace-registry-BQISXT6Y.js +0 -122
- package/chunks/workspace-service-LLY6HCUC.js +0 -129
- package/chunks/workspace-skills-status-L5N2Y3ZP.js +0 -113
- package/chunks/write-file-EJHU2Z3E.js +0 -90
- package/web-shell/assets/channel-Zg3WHgq_.js +0 -1
- package/web-shell/assets/classDiagram-DTDB5LWJ-C16l9jQz.js +0 -1
- package/web-shell/assets/classDiagram-v2-JRS7N3AN-C16l9jQz.js +0 -1
- package/web-shell/assets/index-BN_m_uHJ.css +0 -5
- package/web-shell/assets/index-DrlJu79f.js +0 -1792
- package/web-shell/assets/stateDiagram-v2-4QOOHH4V-NZYAoQLU.js +0 -1
- package/web-shell/assets/swimlanesDiagram-VK2B7HYN-3YdVX3vj.js +0 -8
|
@@ -20,6 +20,8 @@ var LOAD_REPLAY_MAX_UPDATES = 1e4;
|
|
|
20
20
|
var REQUESTED_SESSION_ID_META_KEY = "qwen-code/sessionId";
|
|
21
21
|
var CHANNEL_STARTUP_PROFILE_META_KEY = "qwen.daemon.channelStartupProfile";
|
|
22
22
|
var CHANNEL_STARTUP_PROFILE_VERSION = 1;
|
|
23
|
+
var CHANNEL_LIVENESS_META_KEY = "qwen.daemon.channelLiveness";
|
|
24
|
+
var CHANNEL_LIVENESS_VERSION = 1;
|
|
23
25
|
var ACTIVE_WORK_HEARTBEAT_META_KEY = "qwen.daemon.activeWorkHeartbeat";
|
|
24
26
|
var ACTIVE_WORK_HEARTBEAT_VERSION = 1;
|
|
25
27
|
var ACTIVE_WORK_HEARTBEAT_INTERVAL_MS = 15e3;
|
|
@@ -88,6 +90,8 @@ export {
|
|
|
88
90
|
REQUESTED_SESSION_ID_META_KEY,
|
|
89
91
|
CHANNEL_STARTUP_PROFILE_META_KEY,
|
|
90
92
|
CHANNEL_STARTUP_PROFILE_VERSION,
|
|
93
|
+
CHANNEL_LIVENESS_META_KEY,
|
|
94
|
+
CHANNEL_LIVENESS_VERSION,
|
|
91
95
|
ACTIVE_WORK_HEARTBEAT_META_KEY,
|
|
92
96
|
ACTIVE_WORK_HEARTBEAT_VERSION,
|
|
93
97
|
ACTIVE_WORK_HEARTBEAT_INTERVAL_MS,
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import {
|
|
4
4
|
createDebugLogger,
|
|
5
5
|
isNodeError
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-UHQFIS7N.js";
|
|
7
7
|
import {
|
|
8
8
|
init_esbuild_shims
|
|
9
9
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -907,7 +907,7 @@ var QwenIgnoreParser = class {
|
|
|
907
907
|
}
|
|
908
908
|
};
|
|
909
909
|
|
|
910
|
-
// packages/core/src/
|
|
910
|
+
// packages/core/src/utils/file-filtering-options.ts
|
|
911
911
|
init_esbuild_shims();
|
|
912
912
|
var DEFAULT_MEMORY_FILE_FILTERING_OPTIONS = {
|
|
913
913
|
respectGitIgnore: false,
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
createDebugLogger
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-UHQFIS7N.js";
|
|
6
6
|
import {
|
|
7
7
|
init_esbuild_shims
|
|
8
8
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -426,6 +426,17 @@ function buildFetchOptionsWithDispatcher(sdkType, proxyUrl) {
|
|
|
426
426
|
}
|
|
427
427
|
__name(buildFetchOptionsWithDispatcher, "buildFetchOptionsWithDispatcher");
|
|
428
428
|
|
|
429
|
+
// packages/core/src/utils/auth-type.ts
|
|
430
|
+
init_esbuild_shims();
|
|
431
|
+
var AuthType = /* @__PURE__ */ ((AuthType2) => {
|
|
432
|
+
AuthType2["USE_OPENAI"] = "openai";
|
|
433
|
+
AuthType2["QWEN_OAUTH"] = "qwen-oauth";
|
|
434
|
+
AuthType2["USE_GEMINI"] = "gemini";
|
|
435
|
+
AuthType2["USE_VERTEX_AI"] = "vertex-ai";
|
|
436
|
+
AuthType2["USE_ANTHROPIC"] = "anthropic";
|
|
437
|
+
return AuthType2;
|
|
438
|
+
})(AuthType || {});
|
|
439
|
+
|
|
429
440
|
export {
|
|
430
441
|
loadUndici,
|
|
431
442
|
preloadRuntimeFetchModule,
|
|
@@ -436,10 +447,17 @@ export {
|
|
|
436
447
|
setResolvedProxyUrlForRuntimeFetch,
|
|
437
448
|
getOrCreateMcpDispatcher,
|
|
438
449
|
redactProxyCredentials,
|
|
439
|
-
redactProxyError
|
|
450
|
+
redactProxyError,
|
|
451
|
+
AuthType
|
|
440
452
|
};
|
|
441
453
|
/**
|
|
442
454
|
* @license
|
|
443
455
|
* Copyright 2025 Qwen Team
|
|
444
456
|
* SPDX-License-Identifier: Apache-2.0
|
|
445
457
|
*/
|
|
458
|
+
/**
|
|
459
|
+
* @license
|
|
460
|
+
* Copyright 2025 Google LLC
|
|
461
|
+
* Copyright 2026 Qwen Team
|
|
462
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
463
|
+
*/
|
|
@@ -7,6 +7,66 @@ import {
|
|
|
7
7
|
__name
|
|
8
8
|
} from "./chunk-J2S4EL5Y.js";
|
|
9
9
|
|
|
10
|
+
// packages/core/src/utils/thoughtUtils.ts
|
|
11
|
+
init_esbuild_shims();
|
|
12
|
+
var START_DELIMITER = "**";
|
|
13
|
+
var END_DELIMITER = "**";
|
|
14
|
+
var OPENAI_REASONING_THOUGHT_MARKER = Symbol("openaiReasoningThought");
|
|
15
|
+
function createOpenAIReasoningThoughtPart(text) {
|
|
16
|
+
const part = { text, thought: true };
|
|
17
|
+
Object.defineProperty(part, OPENAI_REASONING_THOUGHT_MARKER, {
|
|
18
|
+
value: true
|
|
19
|
+
});
|
|
20
|
+
return part;
|
|
21
|
+
}
|
|
22
|
+
__name(createOpenAIReasoningThoughtPart, "createOpenAIReasoningThoughtPart");
|
|
23
|
+
function isOpenAIReasoningThoughtPart(part) {
|
|
24
|
+
return Boolean(
|
|
25
|
+
part[OPENAI_REASONING_THOUGHT_MARKER]
|
|
26
|
+
);
|
|
27
|
+
}
|
|
28
|
+
__name(isOpenAIReasoningThoughtPart, "isOpenAIReasoningThoughtPart");
|
|
29
|
+
function parseThought(rawText) {
|
|
30
|
+
const startIndex = rawText.indexOf(START_DELIMITER);
|
|
31
|
+
if (startIndex === -1) {
|
|
32
|
+
return { subject: "", description: rawText };
|
|
33
|
+
}
|
|
34
|
+
const endIndex = rawText.indexOf(
|
|
35
|
+
END_DELIMITER,
|
|
36
|
+
startIndex + START_DELIMITER.length
|
|
37
|
+
);
|
|
38
|
+
if (endIndex === -1) {
|
|
39
|
+
return { subject: "", description: rawText };
|
|
40
|
+
}
|
|
41
|
+
const subject = rawText.substring(startIndex + START_DELIMITER.length, endIndex).trim();
|
|
42
|
+
const description = (rawText.substring(0, startIndex) + rawText.substring(endIndex + END_DELIMITER.length)).trim();
|
|
43
|
+
return { subject, description };
|
|
44
|
+
}
|
|
45
|
+
__name(parseThought, "parseThought");
|
|
46
|
+
function getThoughtSummary(response) {
|
|
47
|
+
if (response.candidates && response.candidates.length > 0) {
|
|
48
|
+
const candidate = response.candidates[0];
|
|
49
|
+
if (candidate.content && candidate.content.parts && candidate.content.parts.length > 0) {
|
|
50
|
+
const thoughtParts = candidate.content.parts.filter(
|
|
51
|
+
(part) => part.thought
|
|
52
|
+
);
|
|
53
|
+
if (thoughtParts.length === 0) {
|
|
54
|
+
return null;
|
|
55
|
+
}
|
|
56
|
+
const thoughtText = thoughtParts.map((part) => part.text ?? "").join("");
|
|
57
|
+
if (!thoughtText) {
|
|
58
|
+
return null;
|
|
59
|
+
}
|
|
60
|
+
if (thoughtParts.some(isOpenAIReasoningThoughtPart)) {
|
|
61
|
+
return { subject: "", description: thoughtText };
|
|
62
|
+
}
|
|
63
|
+
return parseThought(thoughtText);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
return null;
|
|
67
|
+
}
|
|
68
|
+
__name(getThoughtSummary, "getThoughtSummary");
|
|
69
|
+
|
|
10
70
|
// packages/core/src/core/openaiContentGenerator/prefix-caching.ts
|
|
11
71
|
init_esbuild_shims();
|
|
12
72
|
var CACHE_KEY_PREFIX = "qwen-code:";
|
|
@@ -81,10 +141,17 @@ function applyOfficialOpenAIPromptCaching(request, sessionId, cacheSharing, cach
|
|
|
81
141
|
__name(applyOfficialOpenAIPromptCaching, "applyOfficialOpenAIPromptCaching");
|
|
82
142
|
|
|
83
143
|
export {
|
|
144
|
+
createOpenAIReasoningThoughtPart,
|
|
145
|
+
getThoughtSummary,
|
|
84
146
|
supportsOpenAIPrefixCaching,
|
|
85
147
|
isOfficialOpenAIEndpoint,
|
|
86
148
|
applyOfficialOpenAIPromptCaching
|
|
87
149
|
};
|
|
150
|
+
/**
|
|
151
|
+
* @license
|
|
152
|
+
* Copyright 2025 Google LLC
|
|
153
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
154
|
+
*/
|
|
88
155
|
/**
|
|
89
156
|
* @license
|
|
90
157
|
* Copyright 2025 Qwen
|
|
@@ -2,37 +2,41 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
loadSettings
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-HPXV655A.js";
|
|
6
6
|
import {
|
|
7
7
|
getCurrentLanguage
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-RWZB422L.js";
|
|
9
9
|
import {
|
|
10
10
|
isWorkspaceTrusted
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-CYAUBK46.js";
|
|
12
12
|
import {
|
|
13
13
|
require_strip_json_comments
|
|
14
14
|
} from "./chunk-NPQ5ZKRP.js";
|
|
15
15
|
import {
|
|
16
|
-
hashMcpServerConfig
|
|
17
|
-
|
|
18
|
-
} from "./chunk-62JOGZL5.js";
|
|
16
|
+
hashMcpServerConfig
|
|
17
|
+
} from "./chunk-W6DUQ5GA.js";
|
|
19
18
|
import {
|
|
20
|
-
Client,
|
|
21
19
|
Config,
|
|
22
20
|
ExtensionManager,
|
|
23
21
|
FileDiscoveryService,
|
|
24
22
|
MCPOAuthTokenStorage,
|
|
23
|
+
createMcpClient,
|
|
25
24
|
createTransport,
|
|
26
25
|
isGatedMcpScope,
|
|
27
|
-
normalizeClaudeMcpServer
|
|
28
|
-
|
|
26
|
+
normalizeClaudeMcpServer,
|
|
27
|
+
runWithTimeout
|
|
28
|
+
} from "./chunk-EWIQ3NAE.js";
|
|
29
|
+
import {
|
|
30
|
+
getMCPServerLastError,
|
|
31
|
+
getMCPServerStatus
|
|
32
|
+
} from "./chunk-SZLBBZH4.js";
|
|
29
33
|
import {
|
|
30
34
|
atomicWriteFile
|
|
31
|
-
} from "./chunk-
|
|
35
|
+
} from "./chunk-23RFD54N.js";
|
|
32
36
|
import {
|
|
33
37
|
Storage,
|
|
34
38
|
getErrorMessage
|
|
35
|
-
} from "./chunk-
|
|
39
|
+
} from "./chunk-UHQFIS7N.js";
|
|
36
40
|
import {
|
|
37
41
|
writeStderrLine,
|
|
38
42
|
writeStdoutLine
|
|
@@ -423,6 +427,7 @@ __name(assembleMcpServers, "assembleMcpServers");
|
|
|
423
427
|
// packages/cli/src/config/mcpApprovals.ts
|
|
424
428
|
init_esbuild_shims();
|
|
425
429
|
import * as fs2 from "node:fs";
|
|
430
|
+
import * as os from "node:os";
|
|
426
431
|
import * as path2 from "node:path";
|
|
427
432
|
var import_strip_json_comments2 = __toESM(require_strip_json_comments(), 1);
|
|
428
433
|
var MCP_APPROVALS_FILENAME = "mcpApprovals.json";
|
|
@@ -434,9 +439,50 @@ function getMcpApprovalsPath() {
|
|
|
434
439
|
}
|
|
435
440
|
__name(getMcpApprovalsPath, "getMcpApprovalsPath");
|
|
436
441
|
function normalizeProjectRoot(projectRoot) {
|
|
437
|
-
|
|
442
|
+
const resolved = path2.resolve(projectRoot);
|
|
443
|
+
return os.platform() === "win32" ? resolved.toLowerCase() : resolved;
|
|
438
444
|
}
|
|
439
445
|
__name(normalizeProjectRoot, "normalizeProjectRoot");
|
|
446
|
+
function isApprovalRecordMap(value) {
|
|
447
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
448
|
+
}
|
|
449
|
+
__name(isApprovalRecordMap, "isApprovalRecordMap");
|
|
450
|
+
function isWin32AbsolutePath(p) {
|
|
451
|
+
return /^[A-Za-z]:[\\/]/.test(p) || /^\\\\/.test(p);
|
|
452
|
+
}
|
|
453
|
+
__name(isWin32AbsolutePath, "isWin32AbsolutePath");
|
|
454
|
+
function mergeApprovalRecords(existing, incoming) {
|
|
455
|
+
const merged = Object.assign(
|
|
456
|
+
/* @__PURE__ */ Object.create(null),
|
|
457
|
+
existing
|
|
458
|
+
);
|
|
459
|
+
for (const [name, record] of Object.entries(incoming)) {
|
|
460
|
+
if (!isApprovalRecordMap(record)) {
|
|
461
|
+
continue;
|
|
462
|
+
}
|
|
463
|
+
const current = merged[name];
|
|
464
|
+
if (!current) {
|
|
465
|
+
merged[name] = record;
|
|
466
|
+
} else if (current.status !== record.status) {
|
|
467
|
+
merged[name] = current.status === "rejected" ? current : record;
|
|
468
|
+
}
|
|
469
|
+
}
|
|
470
|
+
return merged;
|
|
471
|
+
}
|
|
472
|
+
__name(mergeApprovalRecords, "mergeApprovalRecords");
|
|
473
|
+
function normalizeStoredProjectKeys(config) {
|
|
474
|
+
if (os.platform() !== "win32") {
|
|
475
|
+
return config;
|
|
476
|
+
}
|
|
477
|
+
const normalized = /* @__PURE__ */ Object.create(null);
|
|
478
|
+
for (const [key, value] of Object.entries(config)) {
|
|
479
|
+
const projectKey = isWin32AbsolutePath(key) ? key.toLowerCase() : key;
|
|
480
|
+
const existing = normalized[projectKey];
|
|
481
|
+
normalized[projectKey] = isApprovalRecordMap(existing) && isApprovalRecordMap(value) ? mergeApprovalRecords(existing, value) : isApprovalRecordMap(value) || !isApprovalRecordMap(existing) ? value : existing;
|
|
482
|
+
}
|
|
483
|
+
return normalized;
|
|
484
|
+
}
|
|
485
|
+
__name(normalizeStoredProjectKeys, "normalizeStoredProjectKeys");
|
|
440
486
|
var LoadedMcpApprovals = class {
|
|
441
487
|
constructor(file, errors) {
|
|
442
488
|
this.file = file;
|
|
@@ -465,7 +511,9 @@ var LoadedMcpApprovals = class {
|
|
|
465
511
|
async setState(projectRoot, serverName, config, status) {
|
|
466
512
|
const root = normalizeProjectRoot(projectRoot);
|
|
467
513
|
const existing = this.file.config[root];
|
|
468
|
-
const project =
|
|
514
|
+
const project = isApprovalRecordMap(
|
|
515
|
+
existing
|
|
516
|
+
) ? existing : /* @__PURE__ */ Object.create(null);
|
|
469
517
|
Object.defineProperty(project, serverName, {
|
|
470
518
|
value: { hash: hashMcpServerConfig(config), status },
|
|
471
519
|
enumerable: true,
|
|
@@ -494,7 +542,7 @@ function loadMcpApprovals() {
|
|
|
494
542
|
path: filePath
|
|
495
543
|
});
|
|
496
544
|
} else {
|
|
497
|
-
config = parsed;
|
|
545
|
+
config = normalizeStoredProjectKeys(parsed);
|
|
498
546
|
}
|
|
499
547
|
}
|
|
500
548
|
} catch (error) {
|
|
@@ -559,7 +607,7 @@ var COLOR_GREEN = "\x1B[32m";
|
|
|
559
607
|
var COLOR_YELLOW = "\x1B[33m";
|
|
560
608
|
var COLOR_RED = "\x1B[31m";
|
|
561
609
|
var RESET_COLOR = "\x1B[0m";
|
|
562
|
-
var MCP_CONNECT_TIMEOUT_MS =
|
|
610
|
+
var MCP_CONNECT_TIMEOUT_MS = 1e4;
|
|
563
611
|
async function getMcpServersFromConfig() {
|
|
564
612
|
const settings = loadSettings();
|
|
565
613
|
const extensionManager = new ExtensionManager({
|
|
@@ -592,10 +640,7 @@ async function getMcpServersFromConfig() {
|
|
|
592
640
|
}
|
|
593
641
|
__name(getMcpServersFromConfig, "getMcpServersFromConfig");
|
|
594
642
|
async function testMCPConnection(serverName, config) {
|
|
595
|
-
const client =
|
|
596
|
-
name: "mcp-test-client",
|
|
597
|
-
version: "0.0.1"
|
|
598
|
-
});
|
|
643
|
+
const client = createMcpClient("mcp-test-client", config);
|
|
599
644
|
let transport;
|
|
600
645
|
try {
|
|
601
646
|
transport = await createTransport(serverName, config, false);
|
|
@@ -609,7 +654,6 @@ async function testMCPConnection(serverName, config) {
|
|
|
609
654
|
MCP_CONNECT_TIMEOUT_MS,
|
|
610
655
|
`MCP connection for ${serverName}`
|
|
611
656
|
);
|
|
612
|
-
await client.ping();
|
|
613
657
|
await client.close();
|
|
614
658
|
return { status: "connected" /* CONNECTED */, timedOut: false };
|
|
615
659
|
} catch (error) {
|
|
@@ -730,6 +774,8 @@ async function createMinimalConfig() {
|
|
|
730
774
|
fileFiltering?.customIgnoreFiles
|
|
731
775
|
);
|
|
732
776
|
const mcpServers = await getMcpServersFromConfig2();
|
|
777
|
+
const allowedMcpServers = settings.merged.mcp?.allowed ? new Set(settings.merged.mcp.allowed.filter(Boolean)) : void 0;
|
|
778
|
+
const excludedMcpServers = settings.merged.mcp?.excluded ? new Set(settings.merged.mcp.excluded.filter(Boolean)) : void 0;
|
|
733
779
|
const config = new Config({
|
|
734
780
|
sessionId: "mcp-reconnect",
|
|
735
781
|
targetDir: cwd,
|
|
@@ -740,18 +786,74 @@ async function createMinimalConfig() {
|
|
|
740
786
|
pendingMcpServers: getPendingGatedMcpServers(mcpServers, cwd),
|
|
741
787
|
fileDiscoveryService: fileService,
|
|
742
788
|
mcpServerCommand: settings.merged.mcp?.serverCommand,
|
|
789
|
+
allowedMcpServers: allowedMcpServers ? Array.from(allowedMcpServers) : void 0,
|
|
790
|
+
excludedMcpServers: excludedMcpServers ? Array.from(excludedMcpServers) : void 0,
|
|
791
|
+
// Mirror a real session's trust gate: discovery skips MCP servers in an
|
|
792
|
+
// untrusted workspace, so the throwaway Config must carry the same trust
|
|
793
|
+
// state. Without it `isTrustedFolder()` defaults to true here, the
|
|
794
|
+
// untrusted-skip reporting below becomes unreachable, and this command
|
|
795
|
+
// would attempt connections a normal session would not (issue #9944).
|
|
796
|
+
trustedFolder: isWorkspaceTrusted(settings.merged).isTrusted ?? true,
|
|
743
797
|
...fileFiltering !== void 0 ? { fileFiltering } : {}
|
|
744
798
|
});
|
|
745
|
-
await config.initialize();
|
|
799
|
+
await config.initialize({ skipMcpDiscovery: true });
|
|
746
800
|
return config;
|
|
747
801
|
}
|
|
748
802
|
__name(createMinimalConfig, "createMinimalConfig");
|
|
803
|
+
var SkippedConnectionError = class extends Error {
|
|
804
|
+
static {
|
|
805
|
+
__name(this, "SkippedConnectionError");
|
|
806
|
+
}
|
|
807
|
+
skipReason;
|
|
808
|
+
constructor(skipReason) {
|
|
809
|
+
super(`no connection attempt was made: ${skipReason}`);
|
|
810
|
+
this.name = "SkippedConnectionError";
|
|
811
|
+
this.skipReason = skipReason;
|
|
812
|
+
}
|
|
813
|
+
};
|
|
814
|
+
var SESSION_SCOPE_NOTE = "Note: this command reconnects in a separate process; it cannot refresh the MCP tools of an already-running Qwen Code session. Restart that session if its tools remain unavailable.";
|
|
749
815
|
function createReconnectError(message, exitCode = 1) {
|
|
750
816
|
const error = new Error(message);
|
|
751
817
|
error.exitCode = exitCode;
|
|
752
818
|
return error;
|
|
753
819
|
}
|
|
754
820
|
__name(createReconnectError, "createReconnectError");
|
|
821
|
+
function describeSkippedConnectionReason(config, serverName) {
|
|
822
|
+
const unavailableReason = config.getMcpServerUnavailableReason(serverName);
|
|
823
|
+
if (unavailableReason === "excluded") {
|
|
824
|
+
return "server is excluded in settings (mcp.excluded)";
|
|
825
|
+
}
|
|
826
|
+
if (unavailableReason === "not_allowed") {
|
|
827
|
+
return "server is not in the mcp.allowed list";
|
|
828
|
+
}
|
|
829
|
+
if (config.isMcpServerDisabled(serverName)) {
|
|
830
|
+
return "server is disabled in settings";
|
|
831
|
+
}
|
|
832
|
+
if (config.isMcpServerPendingApproval(serverName)) {
|
|
833
|
+
return "server is pending approval (.mcp.json)";
|
|
834
|
+
}
|
|
835
|
+
if (config.isTrustedFolder() === false) {
|
|
836
|
+
return "workspace folder is not trusted";
|
|
837
|
+
}
|
|
838
|
+
return void 0;
|
|
839
|
+
}
|
|
840
|
+
__name(describeSkippedConnectionReason, "describeSkippedConnectionReason");
|
|
841
|
+
async function discoverAndVerifyConnection(config, serverName) {
|
|
842
|
+
const toolRegistry = config.getToolRegistry();
|
|
843
|
+
await toolRegistry.discoverToolsForServer(serverName);
|
|
844
|
+
const status = getMCPServerStatus(serverName);
|
|
845
|
+
if (status !== "connected" /* CONNECTED */) {
|
|
846
|
+
const skippedReason = describeSkippedConnectionReason(config, serverName);
|
|
847
|
+
if (skippedReason) {
|
|
848
|
+
throw new SkippedConnectionError(skippedReason);
|
|
849
|
+
}
|
|
850
|
+
const lastError = getMCPServerLastError(serverName);
|
|
851
|
+
throw new Error(
|
|
852
|
+
`connection attempt finished without a live connection (status: ${status})` + (lastError ? `: ${lastError}` : "")
|
|
853
|
+
);
|
|
854
|
+
}
|
|
855
|
+
}
|
|
856
|
+
__name(discoverAndVerifyConnection, "discoverAndVerifyConnection");
|
|
755
857
|
async function reconnectMcpServer(serverName) {
|
|
756
858
|
const mcpServers = await getMcpServersFromConfig2();
|
|
757
859
|
if (!mcpServers[serverName]) {
|
|
@@ -760,17 +862,22 @@ async function reconnectMcpServer(serverName) {
|
|
|
760
862
|
);
|
|
761
863
|
}
|
|
762
864
|
writeStdoutLine(`Reconnecting to server "${serverName}"...`);
|
|
865
|
+
let config;
|
|
763
866
|
try {
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
await toolRegistry.discoverToolsForServer(serverName);
|
|
867
|
+
config = await createMinimalConfig();
|
|
868
|
+
await discoverAndVerifyConnection(config, serverName);
|
|
767
869
|
writeStdoutLine(`Successfully reconnected to server "${serverName}".`);
|
|
768
|
-
|
|
870
|
+
writeStdoutLine(SESSION_SCOPE_NOTE);
|
|
769
871
|
} catch (error) {
|
|
770
872
|
const message = error instanceof Error ? error.message : String(error);
|
|
873
|
+
writeStdoutLine(SESSION_SCOPE_NOTE);
|
|
771
874
|
throw createReconnectError(
|
|
772
875
|
`Failed to reconnect to server "${serverName}": ${message}`
|
|
773
876
|
);
|
|
877
|
+
} finally {
|
|
878
|
+
if (config) {
|
|
879
|
+
await config.shutdown();
|
|
880
|
+
}
|
|
774
881
|
}
|
|
775
882
|
}
|
|
776
883
|
__name(reconnectMcpServer, "reconnectMcpServer");
|
|
@@ -790,23 +897,35 @@ async function reconnectAllMcpServers() {
|
|
|
790
897
|
}
|
|
791
898
|
writeStdoutLine("Reconnecting to all MCP servers...\n");
|
|
792
899
|
let config;
|
|
900
|
+
let failedCount = 0;
|
|
793
901
|
try {
|
|
794
902
|
config = await createMinimalConfig();
|
|
795
|
-
const toolRegistry = config.getToolRegistry();
|
|
796
903
|
for (const serverName of serverNames) {
|
|
797
904
|
try {
|
|
798
|
-
await
|
|
905
|
+
await discoverAndVerifyConnection(config, serverName);
|
|
799
906
|
writeStdoutLine(`\u2713 ${serverName}: Reconnected successfully`);
|
|
800
907
|
} catch (error) {
|
|
908
|
+
if (error instanceof SkippedConnectionError) {
|
|
909
|
+
writeStdoutLine(`- ${serverName}: Skipped - ${error.skipReason}`);
|
|
910
|
+
continue;
|
|
911
|
+
}
|
|
912
|
+
failedCount++;
|
|
801
913
|
const message = error instanceof Error ? error.message : String(error);
|
|
802
914
|
writeStdoutLine(`\u2717 ${serverName}: Failed - ${message}`);
|
|
803
915
|
}
|
|
804
916
|
}
|
|
917
|
+
writeStdoutLine("");
|
|
918
|
+
writeStdoutLine(SESSION_SCOPE_NOTE);
|
|
805
919
|
} finally {
|
|
806
920
|
if (config) {
|
|
807
921
|
await config.shutdown();
|
|
808
922
|
}
|
|
809
923
|
}
|
|
924
|
+
if (failedCount > 0) {
|
|
925
|
+
throw createReconnectError(
|
|
926
|
+
`Failed to reconnect ${failedCount} of ${serverNames.length} configured server(s).`
|
|
927
|
+
);
|
|
928
|
+
}
|
|
810
929
|
}
|
|
811
930
|
__name(reconnectAllMcpServers, "reconnectAllMcpServers");
|
|
812
931
|
var reconnectCommand = {
|
|
@@ -0,0 +1,32 @@
|
|
|
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/stream-transport-retry.ts
|
|
11
|
+
init_esbuild_shims();
|
|
12
|
+
var RETRYABLE_STREAM_TRANSPORT_CODES = /* @__PURE__ */ new Set([
|
|
13
|
+
"ECONNRESET",
|
|
14
|
+
"ETIMEDOUT",
|
|
15
|
+
"UND_ERR_BODY_TIMEOUT",
|
|
16
|
+
"UND_ERR_CONNECT_TIMEOUT",
|
|
17
|
+
"UND_ERR_HEADERS_TIMEOUT",
|
|
18
|
+
"UND_ERR_SOCKET"
|
|
19
|
+
]);
|
|
20
|
+
function isRetryableStreamTransportError(classification) {
|
|
21
|
+
return classification.kind === "transport" && classification.transportCode !== void 0 && RETRYABLE_STREAM_TRANSPORT_CODES.has(classification.transportCode);
|
|
22
|
+
}
|
|
23
|
+
__name(isRetryableStreamTransportError, "isRetryableStreamTransportError");
|
|
24
|
+
|
|
25
|
+
export {
|
|
26
|
+
isRetryableStreamTransportError
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* @license
|
|
30
|
+
* Copyright 2026 Google LLC
|
|
31
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
32
|
+
*/
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
// Force strict mode and setup for ESM
|
|
2
2
|
"use strict";
|
|
3
|
-
import {
|
|
4
|
-
resolveChannelCwd
|
|
5
|
-
} from "./chunk-45NQKMYB.js";
|
|
6
3
|
import {
|
|
7
4
|
getPlugin,
|
|
8
5
|
supportedTypes
|
|
9
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-Y4TPOUEV.js";
|
|
7
|
+
import {
|
|
8
|
+
resolveChannelCwd
|
|
9
|
+
} from "./chunk-HVC3PNVC.js";
|
|
10
|
+
import {
|
|
11
|
+
APPROVAL_MODES
|
|
12
|
+
} from "./chunk-V5J4J5TP.js";
|
|
10
13
|
import {
|
|
11
14
|
init_esbuild_shims
|
|
12
15
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -17,13 +20,7 @@ import {
|
|
|
17
20
|
// packages/cli/src/commands/channel/config-utils.ts
|
|
18
21
|
init_esbuild_shims();
|
|
19
22
|
var ENV_VAR_NAME_PATTERN = /^[A-Z_][A-Z0-9_]*$/;
|
|
20
|
-
var CHANNEL_APPROVAL_MODES =
|
|
21
|
-
"plan",
|
|
22
|
-
"default",
|
|
23
|
-
"auto-edit",
|
|
24
|
-
"auto",
|
|
25
|
-
"yolo"
|
|
26
|
-
]);
|
|
23
|
+
var CHANNEL_APPROVAL_MODES = new Set(APPROVAL_MODES);
|
|
27
24
|
function resolveEnvVars(value, env = process.env) {
|
|
28
25
|
if (value.startsWith("$$")) {
|
|
29
26
|
return value.substring(1);
|
|
@@ -60,6 +57,26 @@ function resolveOptionalStringField(channelName, rawConfig, field, envResolution
|
|
|
60
57
|
}
|
|
61
58
|
__name(resolveOptionalStringField, "resolveOptionalStringField");
|
|
62
59
|
var KNOWN_CREDENTIAL_FIELDS = /* @__PURE__ */ new Set(["token", "clientId", "clientSecret"]);
|
|
60
|
+
function multiSessionCompatibilityError(name, config) {
|
|
61
|
+
if (!config.multiSession) return void 0;
|
|
62
|
+
if (config.sessionScope !== "user") {
|
|
63
|
+
return `Channel "${name}" requires sessionScope "user" when multiSession is enabled.`;
|
|
64
|
+
}
|
|
65
|
+
if (typeof config.groupHistoryLimit === "number" && config.groupHistoryLimit !== 0) {
|
|
66
|
+
return `Channel "${name}" cannot use groupHistoryLimit when multiSession is enabled.`;
|
|
67
|
+
}
|
|
68
|
+
for (const [groupId, group] of Object.entries(config.groups ?? {})) {
|
|
69
|
+
const groupHistoryLimit = group !== null && typeof group === "object" && !Array.isArray(group) ? group["groupHistoryLimit"] : void 0;
|
|
70
|
+
if (typeof groupHistoryLimit === "number" && groupHistoryLimit !== 0) {
|
|
71
|
+
return `Channel "${name}" group "${groupId}" cannot use groupHistoryLimit when multiSession is enabled.`;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
if (config.webhooks !== void 0 && config.webhooks !== null) {
|
|
75
|
+
return `Channel "${name}" cannot use webhooks when multiSession is enabled.`;
|
|
76
|
+
}
|
|
77
|
+
return void 0;
|
|
78
|
+
}
|
|
79
|
+
__name(multiSessionCompatibilityError, "multiSessionCompatibilityError");
|
|
63
80
|
function resolveConfigEnvVar(value, mode) {
|
|
64
81
|
if (mode === false) return value;
|
|
65
82
|
if (value.startsWith("$$")) return value.substring(1);
|
|
@@ -362,6 +379,21 @@ async function parseChannelConfig(name, rawConfig, defaultCwd = process.cwd(), o
|
|
|
362
379
|
envResolution
|
|
363
380
|
);
|
|
364
381
|
const configuredSessionScope = rawConfig["sessionScope"] || plugin.defaultSessionScope || "user";
|
|
382
|
+
const multiSession = optionalBooleanField(
|
|
383
|
+
name,
|
|
384
|
+
"multiSession",
|
|
385
|
+
rawConfig["multiSession"]
|
|
386
|
+
);
|
|
387
|
+
const groups = rawConfig["groups"] || {};
|
|
388
|
+
const webhooks = parseWebhookConfig(name, rawConfig);
|
|
389
|
+
const multiSessionError = multiSessionCompatibilityError(name, {
|
|
390
|
+
multiSession,
|
|
391
|
+
sessionScope: configuredSessionScope,
|
|
392
|
+
groupHistoryLimit: rawConfig["groupHistoryLimit"],
|
|
393
|
+
groups,
|
|
394
|
+
webhooks
|
|
395
|
+
});
|
|
396
|
+
if (multiSessionError) throw new Error(multiSessionError);
|
|
365
397
|
return {
|
|
366
398
|
...resolvedRawConfig,
|
|
367
399
|
type: channelType,
|
|
@@ -371,6 +403,7 @@ async function parseChannelConfig(name, rawConfig, defaultCwd = process.cwd(), o
|
|
|
371
403
|
senderPolicy: rawConfig["senderPolicy"] || "allowlist",
|
|
372
404
|
allowedUsers: rawConfig["allowedUsers"] || [],
|
|
373
405
|
sessionScope: configuredSessionScope,
|
|
406
|
+
multiSession,
|
|
374
407
|
cwd: resolveChannelCwd(rawConfig["cwd"], defaultCwd),
|
|
375
408
|
approvalMode: parseApprovalModeConfig(name, rawConfig),
|
|
376
409
|
instructions: rawConfig["instructions"],
|
|
@@ -383,14 +416,15 @@ async function parseChannelConfig(name, rawConfig, defaultCwd = process.cwd(), o
|
|
|
383
416
|
model: rawConfig["model"],
|
|
384
417
|
groupPolicy: rawConfig["groupPolicy"] || "disabled",
|
|
385
418
|
dmPolicy: rawConfig["dmPolicy"] || "open",
|
|
386
|
-
groups
|
|
387
|
-
webhooks
|
|
419
|
+
groups,
|
|
420
|
+
webhooks
|
|
388
421
|
};
|
|
389
422
|
}
|
|
390
423
|
__name(parseChannelConfig, "parseChannelConfig");
|
|
391
424
|
|
|
392
425
|
export {
|
|
393
426
|
resolveEnvVars,
|
|
427
|
+
multiSessionCompatibilityError,
|
|
394
428
|
parseChannelWebhookConfig,
|
|
395
429
|
parseChannelWebhookConfigLenient,
|
|
396
430
|
parseChannelConfig
|