@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
|
@@ -656,8 +656,14 @@ var IDE_DIR_NAME = "ide";
|
|
|
656
656
|
var PLANS_DIR_NAME = "plans";
|
|
657
657
|
var DEBUG_DIR_NAME = "debug";
|
|
658
658
|
var ARENA_DIR_NAME = "arena";
|
|
659
|
+
function platformFoldsCase() {
|
|
660
|
+
return process.platform === "win32" || process.platform === "darwin";
|
|
661
|
+
}
|
|
662
|
+
__name(platformFoldsCase, "platformFoldsCase");
|
|
659
663
|
function isResolvedPathWithinDirectory(childPath, parentPath) {
|
|
660
|
-
const
|
|
664
|
+
const child = platformFoldsCase() ? childPath.toLowerCase() : childPath;
|
|
665
|
+
const parent = platformFoldsCase() ? parentPath.toLowerCase() : parentPath;
|
|
666
|
+
const relativePath = path2.relative(parent, child);
|
|
661
667
|
return relativePath === "" || !relativePath.startsWith(`..${path2.sep}`) && relativePath !== ".." && !path2.isAbsolute(relativePath);
|
|
662
668
|
}
|
|
663
669
|
__name(isResolvedPathWithinDirectory, "isResolvedPathWithinDirectory");
|
|
@@ -879,6 +885,170 @@ var Storage = class _Storage {
|
|
|
879
885
|
static getGlobalArenaDir() {
|
|
880
886
|
return path2.join(_Storage.getGlobalQwenDir(), ARENA_DIR_NAME);
|
|
881
887
|
}
|
|
888
|
+
/**
|
|
889
|
+
* Create or adopt the outside-repo landing for /audit reports and sidecars
|
|
890
|
+
* when the audited repository's ignore state cannot keep them out of
|
|
891
|
+
* version control. Per-user and per-project, honoring the QWEN_HOME
|
|
892
|
+
* override; 0700 on POSIX so the quoted (possibly exploitable) module
|
|
893
|
+
* content stays private to the user.
|
|
894
|
+
*/
|
|
895
|
+
static ensureAuditFallbackDir(projectRoot) {
|
|
896
|
+
let resolved = projectRoot;
|
|
897
|
+
try {
|
|
898
|
+
resolved = fs2.realpathSync(projectRoot);
|
|
899
|
+
} catch {
|
|
900
|
+
}
|
|
901
|
+
if (platformFoldsCase()) {
|
|
902
|
+
resolved = resolved.toLowerCase();
|
|
903
|
+
}
|
|
904
|
+
const baseDir = _Storage.getGlobalQwenDir();
|
|
905
|
+
const dir = path2.join(baseDir, "audits", getProjectHash(resolved));
|
|
906
|
+
_Storage.assertAuditLandingIsOutsideRepo(dir, resolved);
|
|
907
|
+
try {
|
|
908
|
+
fs2.mkdirSync(baseDir, { recursive: true });
|
|
909
|
+
} catch (err) {
|
|
910
|
+
throw new FatalConfigError(
|
|
911
|
+
`audit: the QWEN_HOME base ${baseDir} could not be created as a directory (${err.message}) \u2014 remove what stands at that path and re-run.`
|
|
912
|
+
);
|
|
913
|
+
}
|
|
914
|
+
_Storage.assertAuditLandingIsOutsideRepo(dir, resolved);
|
|
915
|
+
const auditsDir = _Storage.adoptDirectory(
|
|
916
|
+
path2.join(baseDir, "audits"),
|
|
917
|
+
"the audit artifact directory"
|
|
918
|
+
);
|
|
919
|
+
_Storage.adoptDirectory(dir, "the fallback landing");
|
|
920
|
+
_Storage.assertAuditLandingIsClean(dir);
|
|
921
|
+
_Storage.adoptDirectory(auditsDir, "the audit artifact directory");
|
|
922
|
+
_Storage.adoptDirectory(dir, "the fallback landing");
|
|
923
|
+
_Storage.assertAuditLandingIsClean(dir);
|
|
924
|
+
_Storage.assertAuditLandingIsOutsideRepo(dir, resolved, true);
|
|
925
|
+
_Storage.adoptDirectory(auditsDir, "the audit artifact directory");
|
|
926
|
+
_Storage.adoptDirectory(dir, "the fallback landing");
|
|
927
|
+
return dir;
|
|
928
|
+
}
|
|
929
|
+
/**
|
|
930
|
+
* Create one path component and return it only if what is there now is a
|
|
931
|
+
* real directory (not a symlink). On POSIX a pre-existing component is
|
|
932
|
+
* tightened to 0700; ownership itself is not checked.
|
|
933
|
+
*
|
|
934
|
+
* Non-recursive on purpose: `recursive: true` would silently walk (and
|
|
935
|
+
* follow) anything already standing in the path. Creating exactly one
|
|
936
|
+
* component at a time is what makes each component checkable.
|
|
937
|
+
*/
|
|
938
|
+
static adoptDirectory(dir, what) {
|
|
939
|
+
try {
|
|
940
|
+
fs2.mkdirSync(dir, { mode: 448 });
|
|
941
|
+
} catch (err) {
|
|
942
|
+
if (err.code !== "EEXIST") throw err;
|
|
943
|
+
}
|
|
944
|
+
const stat = fs2.lstatSync(dir);
|
|
945
|
+
if (!stat.isDirectory()) {
|
|
946
|
+
throw new FatalConfigError(
|
|
947
|
+
`audit: ${what} ${dir} is not a directory (it may be a symlink planted ahead of the run) \u2014 remove it and re-run.`
|
|
948
|
+
);
|
|
949
|
+
}
|
|
950
|
+
if (process.platform !== "win32" && (stat.mode & 511) !== 448) {
|
|
951
|
+
fs2.chmodSync(dir, 448);
|
|
952
|
+
}
|
|
953
|
+
return dir;
|
|
954
|
+
}
|
|
955
|
+
/**
|
|
956
|
+
* Refuse a fallback landing whose CONTENTS would redirect writes out of it.
|
|
957
|
+
*
|
|
958
|
+
* Validating the leaf alone is not enough: artifacts land at paths BELOW it
|
|
959
|
+
* (`audit-<ts>.sidecar/sidecar.json`, the dated report), and an
|
|
960
|
+
* O_NOFOLLOW open only ever guards the final component. A planted symlink
|
|
961
|
+
* child is therefore a complete escape — `mkdirSync` happily treats a
|
|
962
|
+
* symlink-to-directory as the directory, and every artifact written
|
|
963
|
+
* "inside" the landing lands wherever the link points, while the leaf
|
|
964
|
+
* itself stays a perfectly valid directory that re-validation passes.
|
|
965
|
+
* A hardlinked regular file is the same story for reads: an existing name
|
|
966
|
+
* reopened with O_TRUNC writes into the planter's inode.
|
|
967
|
+
*
|
|
968
|
+
* Directory children are validated recursively: a planted real
|
|
969
|
+
* subdirectory holding a symlinked file is the same escape. Entries that
|
|
970
|
+
* are neither regular files nor directories (a FIFO, socket, or device)
|
|
971
|
+
* are refused outright: opening one for the report would block, or stream
|
|
972
|
+
* the content to whoever holds the other end.
|
|
973
|
+
*
|
|
974
|
+
* The landing is REUSED across runs (the report and its sidecar are the
|
|
975
|
+
* durable artifacts), so this cannot refuse a non-empty landing — only
|
|
976
|
+
* entries that are not what a previous run of this tool would have left.
|
|
977
|
+
*/
|
|
978
|
+
static assertAuditLandingIsClean(dir) {
|
|
979
|
+
let entries;
|
|
980
|
+
try {
|
|
981
|
+
entries = fs2.readdirSync(dir, { withFileTypes: true });
|
|
982
|
+
} catch (err) {
|
|
983
|
+
throw new FatalConfigError(
|
|
984
|
+
`audit: the fallback landing ${dir} could not be listed for validation (${err.message}) \u2014 remove it and re-run.`
|
|
985
|
+
);
|
|
986
|
+
}
|
|
987
|
+
for (const entry of entries) {
|
|
988
|
+
let stat;
|
|
989
|
+
try {
|
|
990
|
+
stat = fs2.lstatSync(path2.join(dir, entry.name));
|
|
991
|
+
} catch {
|
|
992
|
+
continue;
|
|
993
|
+
}
|
|
994
|
+
if (stat.isSymbolicLink()) {
|
|
995
|
+
throw new FatalConfigError(
|
|
996
|
+
`audit: the fallback landing ${dir} contains a symlink (${entry.name}) \u2014 artifacts written under it would land outside the landing. Remove it and re-run.`
|
|
997
|
+
);
|
|
998
|
+
}
|
|
999
|
+
if (stat.isDirectory()) {
|
|
1000
|
+
_Storage.assertAuditLandingIsClean(path2.join(dir, entry.name));
|
|
1001
|
+
let childStat;
|
|
1002
|
+
try {
|
|
1003
|
+
childStat = fs2.lstatSync(path2.join(dir, entry.name));
|
|
1004
|
+
} catch {
|
|
1005
|
+
continue;
|
|
1006
|
+
}
|
|
1007
|
+
if (!childStat.isDirectory()) {
|
|
1008
|
+
throw new FatalConfigError(
|
|
1009
|
+
`audit: the fallback landing ${dir} contains a symlink (${entry.name}) \u2014 artifacts written under it would land outside the landing. Remove it and re-run.`
|
|
1010
|
+
);
|
|
1011
|
+
}
|
|
1012
|
+
continue;
|
|
1013
|
+
}
|
|
1014
|
+
if (!stat.isFile()) {
|
|
1015
|
+
throw new FatalConfigError(
|
|
1016
|
+
`audit: the fallback landing ${dir} contains a special file (${entry.name}) \u2014 a write to it would block or be captured by whoever holds the other end. Remove it and re-run.`
|
|
1017
|
+
);
|
|
1018
|
+
}
|
|
1019
|
+
if (stat.nlink > 1) {
|
|
1020
|
+
throw new FatalConfigError(
|
|
1021
|
+
`audit: the fallback landing ${dir} contains a hardlinked file (${entry.name}) \u2014 a write to it would also write through its twin. Remove it and re-run.`
|
|
1022
|
+
);
|
|
1023
|
+
}
|
|
1024
|
+
}
|
|
1025
|
+
}
|
|
1026
|
+
/**
|
|
1027
|
+
* Refuse a fallback landing that resolves inside the audited repository.
|
|
1028
|
+
* A resolution failure (a non-directory component, a symlink loop, an
|
|
1029
|
+
* unreadable ancestor) falls through at the pre-adoption sites: such a
|
|
1030
|
+
* path cannot resolve to a usable landing, and the adoption checks that
|
|
1031
|
+
* still run afterwards own that state with the actionable message. At the
|
|
1032
|
+
* final site nothing runs afterwards, so the same failure fails closed
|
|
1033
|
+
* instead of returning an unvalidated landing.
|
|
1034
|
+
*/
|
|
1035
|
+
static assertAuditLandingIsOutsideRepo(dir, resolvedProjectRoot, finalCheck = false) {
|
|
1036
|
+
let contained = false;
|
|
1037
|
+
try {
|
|
1038
|
+
contained = _Storage.isPathWithinDirectory(dir, resolvedProjectRoot);
|
|
1039
|
+
} catch (err) {
|
|
1040
|
+
if (finalCheck) {
|
|
1041
|
+
throw new FatalConfigError(
|
|
1042
|
+
`audit: the fallback landing ${dir} could not be validated as outside the audited project root (${err.message}) \u2014 remove it and re-run.`
|
|
1043
|
+
);
|
|
1044
|
+
}
|
|
1045
|
+
}
|
|
1046
|
+
if (contained) {
|
|
1047
|
+
throw new FatalConfigError(
|
|
1048
|
+
`audit: the fallback landing ${dir} resolves inside the audited project root \u2014 point QWEN_HOME outside the repository and re-run.`
|
|
1049
|
+
);
|
|
1050
|
+
}
|
|
1051
|
+
}
|
|
882
1052
|
getQwenDir() {
|
|
883
1053
|
return path2.join(this.targetDir, QWEN_DIR);
|
|
884
1054
|
}
|
|
@@ -938,6 +1108,21 @@ var Storage = class _Storage {
|
|
|
938
1108
|
getWorkflowRunsDir() {
|
|
939
1109
|
return path2.join(this.getProjectDir(), "workflows");
|
|
940
1110
|
}
|
|
1111
|
+
/**
|
|
1112
|
+
* Generated-workflow scripts directory: `<projectDir>/workflows/generated`.
|
|
1113
|
+
* A trusted root for `Workflow({scriptPath})` / `workflow({scriptPath})`
|
|
1114
|
+
* that is NOT a saved-workflow scope: scripts here are never listed as
|
|
1115
|
+
* `/<name>` slash commands and cannot be reached by `workflow('<name>')`.
|
|
1116
|
+
* It exists for tooling that emits a script for one run (a CLI subcommand
|
|
1117
|
+
* generating a fan-out for the model to dispatch) — such a script has no
|
|
1118
|
+
* business in the user's command namespace, and the runtime dir keeps it
|
|
1119
|
+
* out of the project tree. Layout below the root is the writer's; the
|
|
1120
|
+
* loader trusts the whole subtree. A subprocess reaches it as
|
|
1121
|
+
* `$QWEN_CODE_PROJECT_DIR/workflows/generated`.
|
|
1122
|
+
*/
|
|
1123
|
+
getGeneratedWorkflowsDir() {
|
|
1124
|
+
return path2.join(this.getWorkflowRunsDir(), "generated");
|
|
1125
|
+
}
|
|
941
1126
|
/**
|
|
942
1127
|
* Path to the persisted snapshot of a completed workflow run.
|
|
943
1128
|
*/
|
|
@@ -1023,11 +1208,51 @@ function getSessionIdFromContext(ctx) {
|
|
|
1023
1208
|
}
|
|
1024
1209
|
__name(getSessionIdFromContext, "getSessionIdFromContext");
|
|
1025
1210
|
|
|
1211
|
+
// packages/core/src/utils/sessionIdContext.ts
|
|
1212
|
+
init_esbuild_shims();
|
|
1213
|
+
import { AsyncLocalStorage as AsyncLocalStorage2 } from "node:async_hooks";
|
|
1214
|
+
var sessionIdContext = new AsyncLocalStorage2();
|
|
1215
|
+
var projectDirBySession = /* @__PURE__ */ new Map();
|
|
1216
|
+
function registerSessionProjectDir(sessionId, projectDir) {
|
|
1217
|
+
if (sessionId && projectDir) projectDirBySession.set(sessionId, projectDir);
|
|
1218
|
+
}
|
|
1219
|
+
__name(registerSessionProjectDir, "registerSessionProjectDir");
|
|
1220
|
+
function getSessionProjectDir(sessionId) {
|
|
1221
|
+
return projectDirBySession.get(sessionId);
|
|
1222
|
+
}
|
|
1223
|
+
__name(getSessionProjectDir, "getSessionProjectDir");
|
|
1224
|
+
function unregisterSessionProjectDir(sessionId) {
|
|
1225
|
+
projectDirBySession.delete(sessionId);
|
|
1226
|
+
}
|
|
1227
|
+
__name(unregisterSessionProjectDir, "unregisterSessionProjectDir");
|
|
1228
|
+
var modelBySession = /* @__PURE__ */ new Map();
|
|
1229
|
+
var modelIdentityBySession = /* @__PURE__ */ new Map();
|
|
1230
|
+
function registerSessionModel(sessionId, model, identity) {
|
|
1231
|
+
if (!sessionId || !model) return;
|
|
1232
|
+
modelBySession.set(sessionId, model);
|
|
1233
|
+
if (identity) modelIdentityBySession.set(sessionId, identity);
|
|
1234
|
+
else modelIdentityBySession.delete(sessionId);
|
|
1235
|
+
}
|
|
1236
|
+
__name(registerSessionModel, "registerSessionModel");
|
|
1237
|
+
function getSessionModel(sessionId) {
|
|
1238
|
+
return modelBySession.get(sessionId);
|
|
1239
|
+
}
|
|
1240
|
+
__name(getSessionModel, "getSessionModel");
|
|
1241
|
+
function getSessionModelIdentity(sessionId) {
|
|
1242
|
+
return modelIdentityBySession.get(sessionId);
|
|
1243
|
+
}
|
|
1244
|
+
__name(getSessionModelIdentity, "getSessionModelIdentity");
|
|
1245
|
+
function unregisterSessionModel(sessionId) {
|
|
1246
|
+
modelBySession.delete(sessionId);
|
|
1247
|
+
modelIdentityBySession.delete(sessionId);
|
|
1248
|
+
}
|
|
1249
|
+
__name(unregisterSessionModel, "unregisterSessionModel");
|
|
1250
|
+
|
|
1026
1251
|
// packages/core/src/utils/debugLogger.ts
|
|
1027
1252
|
init_esbuild_shims();
|
|
1028
1253
|
import { promises as fs4 } from "node:fs";
|
|
1029
1254
|
import path4 from "node:path";
|
|
1030
|
-
import { AsyncLocalStorage as
|
|
1255
|
+
import { AsyncLocalStorage as AsyncLocalStorage3 } from "node:async_hooks";
|
|
1031
1256
|
import util from "node:util";
|
|
1032
1257
|
|
|
1033
1258
|
// packages/core/src/utils/symlink.ts
|
|
@@ -1114,7 +1339,9 @@ var ensureDebugDirPromise = null;
|
|
|
1114
1339
|
var ensuredDebugDirPath = null;
|
|
1115
1340
|
var hasWriteFailure = false;
|
|
1116
1341
|
var globalSession = null;
|
|
1117
|
-
var
|
|
1342
|
+
var lastAliasedKey = null;
|
|
1343
|
+
var aliasChain = Promise.resolve();
|
|
1344
|
+
var sessionContext = new AsyncLocalStorage3();
|
|
1118
1345
|
function isDebugLogFileEnabled() {
|
|
1119
1346
|
const value = process.env["QWEN_DEBUG_LOG_FILE"];
|
|
1120
1347
|
if (!value) return false;
|
|
@@ -1125,7 +1352,12 @@ __name(isDebugLogFileEnabled, "isDebugLogFileEnabled");
|
|
|
1125
1352
|
function getActiveSession() {
|
|
1126
1353
|
const contextSession = sessionContext.getStore();
|
|
1127
1354
|
if (contextSession === false) return null;
|
|
1128
|
-
|
|
1355
|
+
if (contextSession) return contextSession;
|
|
1356
|
+
const sessionId = sessionIdContext.getStore();
|
|
1357
|
+
if (sessionId) {
|
|
1358
|
+
return { getSessionId: /* @__PURE__ */ __name(() => sessionId, "getSessionId") };
|
|
1359
|
+
}
|
|
1360
|
+
return globalSession;
|
|
1129
1361
|
}
|
|
1130
1362
|
__name(getActiveSession, "getActiveSession");
|
|
1131
1363
|
function ensureDebugDirExists() {
|
|
@@ -1167,6 +1399,7 @@ function writeLog(session, level, tag, args) {
|
|
|
1167
1399
|
const message = formatArgs(args);
|
|
1168
1400
|
const traceCtx = getTraceContext();
|
|
1169
1401
|
const line = buildLogLine(level, message, tag, traceCtx);
|
|
1402
|
+
updateLatestDebugLogAlias(sessionId);
|
|
1170
1403
|
void ensureDebugDirExists().then(() => fs4.appendFile(logFilePath, line, "utf8")).catch(() => {
|
|
1171
1404
|
hasWriteFailure = true;
|
|
1172
1405
|
});
|
|
@@ -1178,6 +1411,13 @@ function isDebugLoggingDegraded() {
|
|
|
1178
1411
|
__name(isDebugLoggingDegraded, "isDebugLoggingDegraded");
|
|
1179
1412
|
var DEBUG_LATEST_ALIAS = "latest";
|
|
1180
1413
|
var SESSION_ID_PATTERN = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
1414
|
+
function doUpdateLatestDebugLogAlias(sessionId) {
|
|
1415
|
+
const aliasPath = path4.join(Storage.getGlobalDebugDir(), DEBUG_LATEST_ALIAS);
|
|
1416
|
+
const targetPath = Storage.getDebugLogPath(sessionId);
|
|
1417
|
+
return ensureDebugDirExists().then(() => updateSymlink(aliasPath, targetPath, { fallbackCopy: false })).catch(() => {
|
|
1418
|
+
});
|
|
1419
|
+
}
|
|
1420
|
+
__name(doUpdateLatestDebugLogAlias, "doUpdateLatestDebugLogAlias");
|
|
1181
1421
|
function updateLatestDebugLogAlias(sessionId) {
|
|
1182
1422
|
if (!isDebugLogFileEnabled()) {
|
|
1183
1423
|
return;
|
|
@@ -1185,10 +1425,12 @@ function updateLatestDebugLogAlias(sessionId) {
|
|
|
1185
1425
|
if (!SESSION_ID_PATTERN.test(sessionId)) {
|
|
1186
1426
|
return;
|
|
1187
1427
|
}
|
|
1188
|
-
const
|
|
1189
|
-
|
|
1190
|
-
|
|
1191
|
-
}
|
|
1428
|
+
const key = path4.join(Storage.getGlobalDebugDir(), sessionId);
|
|
1429
|
+
if (key === lastAliasedKey) {
|
|
1430
|
+
return;
|
|
1431
|
+
}
|
|
1432
|
+
lastAliasedKey = key;
|
|
1433
|
+
aliasChain = aliasChain.then(() => doUpdateLatestDebugLogAlias(sessionId));
|
|
1192
1434
|
}
|
|
1193
1435
|
__name(updateLatestDebugLogAlias, "updateLatestDebugLogAlias");
|
|
1194
1436
|
function setDebugLogSession(session) {
|
|
@@ -1274,6 +1516,14 @@ export {
|
|
|
1274
1516
|
formatTraceparent,
|
|
1275
1517
|
setShellTracePropagation,
|
|
1276
1518
|
isShellTracePropagationEnabled,
|
|
1519
|
+
sessionIdContext,
|
|
1520
|
+
registerSessionProjectDir,
|
|
1521
|
+
getSessionProjectDir,
|
|
1522
|
+
unregisterSessionProjectDir,
|
|
1523
|
+
registerSessionModel,
|
|
1524
|
+
getSessionModel,
|
|
1525
|
+
getSessionModelIdentity,
|
|
1526
|
+
unregisterSessionModel,
|
|
1277
1527
|
isDebugLogFileEnabled,
|
|
1278
1528
|
isDebugLoggingDegraded,
|
|
1279
1529
|
setDebugLogSession,
|
|
@@ -1287,11 +1537,11 @@ export {
|
|
|
1287
1537
|
*/
|
|
1288
1538
|
/**
|
|
1289
1539
|
* @license
|
|
1290
|
-
* Copyright 2025 Qwen
|
|
1540
|
+
* Copyright 2025 Qwen
|
|
1291
1541
|
* SPDX-License-Identifier: Apache-2.0
|
|
1292
1542
|
*/
|
|
1293
1543
|
/**
|
|
1294
1544
|
* @license
|
|
1295
|
-
* Copyright 2025 Qwen
|
|
1545
|
+
* Copyright 2025 Qwen Code
|
|
1296
1546
|
* SPDX-License-Identifier: Apache-2.0
|
|
1297
1547
|
*/
|
|
@@ -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";
|
|
@@ -15081,6 +15081,11 @@ __name(fixStringValues, "fixStringValues");
|
|
|
15081
15081
|
|
|
15082
15082
|
// packages/core/src/tools/tool-error.ts
|
|
15083
15083
|
init_esbuild_shims();
|
|
15084
|
+
|
|
15085
|
+
// packages/core/src/utils/tool-error-type.ts
|
|
15086
|
+
init_esbuild_shims();
|
|
15087
|
+
|
|
15088
|
+
// packages/core/src/tools/tool-error.ts
|
|
15084
15089
|
var StructuredToolError = class extends Error {
|
|
15085
15090
|
constructor(message, errorType) {
|
|
15086
15091
|
super(message);
|
|
@@ -15295,6 +15300,13 @@ var AgentStatistics = class {
|
|
|
15295
15300
|
}
|
|
15296
15301
|
};
|
|
15297
15302
|
|
|
15303
|
+
// packages/core/src/utils/is-tool.ts
|
|
15304
|
+
init_esbuild_shims();
|
|
15305
|
+
function isTool(obj) {
|
|
15306
|
+
return typeof obj === "object" && obj !== null && "name" in obj && "build" in obj && typeof obj.build === "function";
|
|
15307
|
+
}
|
|
15308
|
+
__name(isTool, "isTool");
|
|
15309
|
+
|
|
15298
15310
|
// packages/core/src/tools/tools.ts
|
|
15299
15311
|
var BaseToolInvocation = class {
|
|
15300
15312
|
constructor(params) {
|
|
@@ -15499,10 +15511,6 @@ var BaseDeclarativeTool = class extends DeclarativeTool {
|
|
|
15499
15511
|
return null;
|
|
15500
15512
|
}
|
|
15501
15513
|
};
|
|
15502
|
-
function isTool(obj) {
|
|
15503
|
-
return typeof obj === "object" && obj !== null && "name" in obj && "build" in obj && typeof obj.build === "function";
|
|
15504
|
-
}
|
|
15505
|
-
__name(isTool, "isTool");
|
|
15506
15514
|
function hasCycleInSchema(schema) {
|
|
15507
15515
|
function resolveRef2(ref) {
|
|
15508
15516
|
if (!ref.startsWith("#/")) {
|
|
@@ -15628,6 +15636,7 @@ var ToolNames = {
|
|
|
15628
15636
|
TEAM_CREATE: "team_create",
|
|
15629
15637
|
TEAM_DELETE: "team_delete",
|
|
15630
15638
|
TEAM_PLAN_APPROVAL: "team_plan_approval",
|
|
15639
|
+
REQUEST_SHUTDOWN: "request_shutdown",
|
|
15631
15640
|
SEND_MESSAGE: "send_message",
|
|
15632
15641
|
STRUCTURED_OUTPUT: "structured_output",
|
|
15633
15642
|
MONITOR: "monitor",
|
|
@@ -15636,15 +15645,10 @@ var ToolNames = {
|
|
|
15636
15645
|
READ_MCP_RESOURCE: "read_mcp_resource",
|
|
15637
15646
|
ENTER_WORKTREE: "enter_worktree",
|
|
15638
15647
|
EXIT_WORKTREE: "exit_worktree",
|
|
15639
|
-
// Computer Use tools (computer_use__*) are intentionally NOT enumerated here.
|
|
15640
|
-
// Their full 35-tool surface is generated into computer-use/schemas.ts and
|
|
15641
|
-
// registered via computer-use/index.ts (cast to ToolName). Duplicating a
|
|
15642
|
-
// subset here only goes stale on every cua-driver version bump — review
|
|
15643
|
-
// round 1 removed the old ocu-era 9-name list, which still carried
|
|
15644
|
-
// `get_app_state` / `perform_secondary_action` that no longer exist.
|
|
15645
15648
|
WORKFLOW: "workflow",
|
|
15646
15649
|
ARTIFACT: "artifact",
|
|
15647
15650
|
RECORD_ARTIFACT: "record_artifact",
|
|
15651
|
+
REPORT_FINDINGS: "report_findings",
|
|
15648
15652
|
GET_GOAL: "get_goal",
|
|
15649
15653
|
UPDATE_GOAL: "update_goal",
|
|
15650
15654
|
DISPLAY_IMAGE: "display_image"
|
|
@@ -15682,6 +15686,7 @@ var ToolDisplayNames = {
|
|
|
15682
15686
|
TEAM_CREATE: "TeamCreate",
|
|
15683
15687
|
TEAM_DELETE: "TeamDelete",
|
|
15684
15688
|
TEAM_PLAN_APPROVAL: "TeamPlanApproval",
|
|
15689
|
+
REQUEST_SHUTDOWN: "RequestShutdown",
|
|
15685
15690
|
SEND_MESSAGE: "SendMessage",
|
|
15686
15691
|
STRUCTURED_OUTPUT: "StructuredOutput",
|
|
15687
15692
|
MONITOR: "Monitor",
|
|
@@ -15690,10 +15695,10 @@ var ToolDisplayNames = {
|
|
|
15690
15695
|
READ_MCP_RESOURCE: "ReadMcpResource",
|
|
15691
15696
|
ENTER_WORKTREE: "EnterWorktree",
|
|
15692
15697
|
EXIT_WORKTREE: "ExitWorktree",
|
|
15693
|
-
// computer_use__* display names are not enumerated here (see ToolNames).
|
|
15694
15698
|
WORKFLOW: "Workflow",
|
|
15695
15699
|
ARTIFACT: "Artifact",
|
|
15696
15700
|
RECORD_ARTIFACT: "RecordArtifact",
|
|
15701
|
+
REPORT_FINDINGS: "ReportFindings",
|
|
15697
15702
|
GET_GOAL: "Goal",
|
|
15698
15703
|
UPDATE_GOAL: "UpdateGoal",
|
|
15699
15704
|
DISPLAY_IMAGE: "DisplayImage"
|
|
@@ -15730,9 +15735,9 @@ export {
|
|
|
15730
15735
|
SchemaValidator,
|
|
15731
15736
|
StructuredToolError,
|
|
15732
15737
|
AgentStatistics,
|
|
15738
|
+
isTool,
|
|
15733
15739
|
BaseToolInvocation,
|
|
15734
15740
|
BaseDeclarativeTool,
|
|
15735
|
-
isTool,
|
|
15736
15741
|
hasCycleInSchema,
|
|
15737
15742
|
isShellProgressData,
|
|
15738
15743
|
MAX_TERMINAL_IMAGE_BYTES,
|
|
@@ -15750,6 +15755,12 @@ export {
|
|
|
15750
15755
|
* Copyright 2025 Google LLC
|
|
15751
15756
|
* SPDX-License-Identifier: Apache-2.0
|
|
15752
15757
|
*/
|
|
15758
|
+
/**
|
|
15759
|
+
* @license
|
|
15760
|
+
* Copyright 2025 Google LLC
|
|
15761
|
+
* Copyright 2026 Qwen Team
|
|
15762
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
15763
|
+
*/
|
|
15753
15764
|
/**
|
|
15754
15765
|
* @license
|
|
15755
15766
|
* Copyright 2025 Qwen
|
|
@@ -2,26 +2,26 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
t
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-RWZB422L.js";
|
|
6
6
|
import {
|
|
7
7
|
computeThresholds,
|
|
8
|
+
estimateContextTextTokens,
|
|
8
9
|
formatContextFileDisplayPath,
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
} from "./chunk-T6XLJRQY.js";
|
|
10
|
+
getMainSessionBaseSystemPrompt
|
|
11
|
+
} from "./chunk-EWIQ3NAE.js";
|
|
12
12
|
import {
|
|
13
13
|
DiscoveredMCPTool,
|
|
14
14
|
uiTelemetryService
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-SZLBBZH4.js";
|
|
16
16
|
import {
|
|
17
17
|
DEFAULT_TOKEN_LIMIT
|
|
18
18
|
} from "./chunk-FPGTNKCP.js";
|
|
19
19
|
import {
|
|
20
20
|
buildSkillLlmContent
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-ZU4UDIWX.js";
|
|
22
22
|
import {
|
|
23
23
|
ToolNames
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-UTLCH2FK.js";
|
|
25
25
|
import {
|
|
26
26
|
init_esbuild_shims
|
|
27
27
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -39,21 +39,6 @@ function currentTier(tokens, thresholds) {
|
|
|
39
39
|
return "safe";
|
|
40
40
|
}
|
|
41
41
|
__name(currentTier, "currentTier");
|
|
42
|
-
function estimateTokens(text) {
|
|
43
|
-
if (!text || text.length === 0) return 0;
|
|
44
|
-
let asciiChars = 0;
|
|
45
|
-
let nonAsciiChars = 0;
|
|
46
|
-
for (let i = 0; i < text.length; i++) {
|
|
47
|
-
const charCode = text.charCodeAt(i);
|
|
48
|
-
if (charCode < 128) {
|
|
49
|
-
asciiChars++;
|
|
50
|
-
} else {
|
|
51
|
-
nonAsciiChars++;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
return Math.ceil(asciiChars / 4 + nonAsciiChars * 1.5);
|
|
55
|
-
}
|
|
56
|
-
__name(estimateTokens, "estimateTokens");
|
|
57
42
|
function parseMemoryFiles(memoryContent, workingDir) {
|
|
58
43
|
if (!memoryContent || memoryContent.trim().length === 0) return [];
|
|
59
44
|
const results = [];
|
|
@@ -71,13 +56,13 @@ function parseMemoryFiles(memoryContent, workingDir) {
|
|
|
71
56
|
path.resolve(workingDir, filePath),
|
|
72
57
|
workingDir
|
|
73
58
|
),
|
|
74
|
-
tokens:
|
|
59
|
+
tokens: estimateContextTextTokens(content)
|
|
75
60
|
});
|
|
76
61
|
}
|
|
77
62
|
if (results.length === 0 && memoryContent.trim().length > 0) {
|
|
78
63
|
results.push({
|
|
79
64
|
path: t("memory"),
|
|
80
|
-
tokens:
|
|
65
|
+
tokens: estimateContextTextTokens(memoryContent)
|
|
81
66
|
});
|
|
82
67
|
}
|
|
83
68
|
return results;
|
|
@@ -91,18 +76,13 @@ async function collectContextData(config, showDetails) {
|
|
|
91
76
|
const activeChat = geminiClient?.isInitialized?.() ? geminiClient.getChat() : void 0;
|
|
92
77
|
const apiTotalTokens = activeChat ? activeChat.getLastPromptTokenCount() : uiTelemetryService.getLastPromptTokenCount();
|
|
93
78
|
const apiCachedTokens = uiTelemetryService.getLastCachedContentTokenCount();
|
|
94
|
-
const systemPromptText =
|
|
95
|
-
|
|
96
|
-
modelName,
|
|
97
|
-
void 0,
|
|
98
|
-
resolveInteractionMode(config)
|
|
99
|
-
);
|
|
100
|
-
const systemPromptTokens = estimateTokens(systemPromptText);
|
|
79
|
+
const systemPromptText = getMainSessionBaseSystemPrompt(config);
|
|
80
|
+
const systemPromptTokens = estimateContextTextTokens(systemPromptText);
|
|
101
81
|
const toolRegistry = config.getToolRegistry();
|
|
102
82
|
const allTools = toolRegistry ? toolRegistry.getAllTools() : [];
|
|
103
83
|
const toolDeclarations = toolRegistry ? toolRegistry.getFunctionDeclarations() : [];
|
|
104
84
|
const toolsJsonStr = JSON.stringify(toolDeclarations);
|
|
105
|
-
const allToolsTokens =
|
|
85
|
+
const allToolsTokens = estimateContextTextTokens(toolsJsonStr);
|
|
106
86
|
const builtinTools = [];
|
|
107
87
|
const mcpTools = [];
|
|
108
88
|
for (const tool of allTools) {
|
|
@@ -110,7 +90,7 @@ async function collectContextData(config, showDetails) {
|
|
|
110
90
|
continue;
|
|
111
91
|
}
|
|
112
92
|
const toolJsonStr = JSON.stringify(tool.schema);
|
|
113
|
-
const tokens =
|
|
93
|
+
const tokens = estimateContextTextTokens(toolJsonStr);
|
|
114
94
|
if (tool instanceof DiscoveredMCPTool) {
|
|
115
95
|
mcpTools.push({
|
|
116
96
|
name: `${tool.serverName}__${tool.serverToolName || tool.name}`,
|
|
@@ -129,19 +109,19 @@ async function collectContextData(config, showDetails) {
|
|
|
129
109
|
if (autoMemoryPrompt) {
|
|
130
110
|
memoryFiles.push({
|
|
131
111
|
path: t("auto memory"),
|
|
132
|
-
tokens:
|
|
112
|
+
tokens: estimateContextTextTokens(autoMemoryPrompt)
|
|
133
113
|
});
|
|
134
114
|
}
|
|
135
115
|
const memoryFilesTokens = memoryFiles.reduce((sum, f) => sum + f.tokens, 0);
|
|
136
116
|
const skillTool = allTools.find((tool) => tool.name === ToolNames.SKILL);
|
|
137
|
-
const skillToolDefinitionTokens = skillTool ?
|
|
117
|
+
const skillToolDefinitionTokens = skillTool ? estimateContextTextTokens(JSON.stringify(skillTool.schema)) : 0;
|
|
138
118
|
const loadedSkillNames = skillTool && "getLoadedSkillNames" in skillTool ? skillTool.getLoadedSkillNames() : /* @__PURE__ */ new Set();
|
|
139
119
|
const skillManager = config.getSkillManager();
|
|
140
120
|
const skillConfigs = skillManager ? await skillManager.listSkills() : [];
|
|
141
121
|
const disabledSkillNames = config.getDisabledSkillNames();
|
|
142
122
|
let loadedBodiesTokens = 0;
|
|
143
123
|
const skills = skillConfigs.map((skill) => {
|
|
144
|
-
const listingTokens =
|
|
124
|
+
const listingTokens = estimateContextTextTokens(
|
|
145
125
|
`<skill>
|
|
146
126
|
<name>
|
|
147
127
|
${skill.name}
|
|
@@ -158,7 +138,9 @@ ${skill.level}
|
|
|
158
138
|
let bodyTokens;
|
|
159
139
|
if (isLoaded && skill.body) {
|
|
160
140
|
const baseDir = skill.filePath ? skill.filePath.replace(/\/[^/]+$/, "") : "";
|
|
161
|
-
bodyTokens =
|
|
141
|
+
bodyTokens = estimateContextTextTokens(
|
|
142
|
+
buildSkillLlmContent(baseDir, skill.body)
|
|
143
|
+
);
|
|
162
144
|
loadedBodiesTokens += bodyTokens;
|
|
163
145
|
}
|
|
164
146
|
return {
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
isGitRepository
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-SMPR7SPO.js";
|
|
6
6
|
import {
|
|
7
7
|
createDebugLogger
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-UHQFIS7N.js";
|
|
9
9
|
import {
|
|
10
10
|
init_esbuild_shims
|
|
11
11
|
} from "./chunk-5O2XNYP6.js";
|