@qwen-code/qwen-code 0.22.2 → 0.22.3-nightly.20260831.3a0c4c6108
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundled/computer-use/SKILL.md +3 -3
- package/bundled/qc-helper/docs/common-workflow.md +32 -0
- package/bundled/qc-helper/docs/configuration/auth.md +6 -6
- package/bundled/qc-helper/docs/configuration/model-providers.md +4 -2
- package/bundled/qc-helper/docs/configuration/settings.md +47 -44
- package/bundled/qc-helper/docs/extension/introduction.md +1 -1
- package/bundled/qc-helper/docs/features/approval-mode.md +3 -0
- package/bundled/qc-helper/docs/features/auto-mode.md +34 -17
- package/bundled/qc-helper/docs/features/channels/dws.md +2 -0
- package/bundled/qc-helper/docs/features/channels/overview.md +36 -3
- package/bundled/qc-helper/docs/features/code-review.md +5 -5
- package/bundled/qc-helper/docs/features/commands.md +41 -0
- package/bundled/qc-helper/docs/features/computer-use.md +2 -2
- package/bundled/qc-helper/docs/features/hooks.md +6 -2
- package/bundled/qc-helper/docs/features/memory.md +1 -0
- package/bundled/qc-helper/docs/features/tool-use-summaries.md +1 -1
- package/bundled/qc-helper/docs/qwen-serve-deploy-local.md +17 -7
- package/bundled/qc-helper/docs/qwen-serve.md +59 -55
- package/bundled/review/SKILL.md +90 -31
- package/bundled/review/references/persistence.md +7 -3
- package/bundled/review/references/posting.md +11 -5
- package/chunks/MaxSizedBox-IHRTWGSY.js +115 -0
- package/chunks/{StandaloneSessionPicker-AVLI6VJP.js → StandaloneSessionPicker-TLVWVTJ7.js} +88 -85
- package/chunks/{acp-startup-profiler-GNYAL6LI.js → acp-startup-profiler-M4X5F3VK.js} +2 -2
- package/chunks/{acpAgent-MXEAN54C.js → acpAgent-7I5LLPP3.js} +1563 -407
- package/chunks/agent-4Z4NTJXD.js +99 -0
- package/chunks/agent-headless-TVUJXQWU.js +89 -0
- package/chunks/{anthropicContentGenerator-HGMBACVE.js → anthropicContentGenerator-VSSPG7XV.js} +84 -55
- package/chunks/{artifact-tool-5YT4QF7Y.js → artifact-tool-TEYW6I4A.js} +11 -3
- package/chunks/{askUserQuestion-4SWJY65V.js → askUserQuestion-PYNBWV63.js} +45 -7
- package/chunks/bridge-EVURP4NO.js +122 -0
- package/chunks/{ca-7HPYOYSZ.js → ca-BNU7YNDE.js} +3 -0
- package/chunks/{channel-management-service-X4AZ6IXX.js → channel-management-service-IDBNYSFW.js} +6 -6
- package/chunks/channel-settings-store-MZNXRKVI.js +125 -0
- package/chunks/{channel-worker-group-27HMGD5S.js → channel-worker-group-ZLP5SJHT.js} +7 -7
- package/chunks/{channel-worker-manager-QEGX646Z.js → channel-worker-manager-FG5377T2.js} +7 -7
- package/chunks/{channel-worker-supervisor-UEW2WWCC.js → channel-worker-supervisor-HDVE4ADS.js} +4 -4
- package/chunks/{chunk-PPKZ7JOE.js → chunk-22UH7VTP.js} +1 -1
- package/chunks/chunk-24FVUD5P.js +49 -0
- package/chunks/{chunk-CMHFCLBU.js → chunk-26SIKQIC.js} +1 -1
- package/chunks/{chunk-5PA6UEYA.js → chunk-3452WXOK.js} +4 -1
- package/chunks/{chunk-SFPGAQUL.js → chunk-373DQUVA.js} +72 -31
- package/chunks/{chunk-H2WDGQ6D.js → chunk-3AKCBZVW.js} +3 -3
- package/chunks/{chunk-LXIBMVRN.js → chunk-3CZGSTZX.js} +15 -9
- package/chunks/{chunk-JVPFTDBK.js → chunk-3EGEBDTW.js} +1 -1
- package/chunks/{chunk-K2NQPH5D.js → chunk-3NQCZMUB.js} +79 -5
- package/chunks/{chunk-E7REAOTN.js → chunk-47ECGEJC.js} +4 -0
- package/chunks/{chunk-WKK5BQNP.js → chunk-4P7PPAHN.js} +45 -421
- package/chunks/chunk-4VQBQLIZ.js +293 -0
- package/chunks/{chunk-4JWNNLPT.js → chunk-5FGWVPCM.js} +4 -4
- package/chunks/{chunk-ZFKOCECU.js → chunk-5ICKESC3.js} +2 -2
- package/chunks/{chunk-3I6UTTDX.js → chunk-67AY5D3M.js} +20 -20
- package/chunks/chunk-6HUXPLB5.js +110 -0
- package/chunks/{chunk-BRVWYMKV.js → chunk-6MBXY6WM.js} +1 -1
- package/chunks/{chunk-6LFTG244.js → chunk-6NWPR2EB.js} +19 -9
- package/chunks/chunk-6OO7QEWV.js +2581 -0
- package/chunks/{chunk-TWSKM647.js → chunk-6VHIWUJP.js} +1 -1
- package/chunks/{chunk-RJC5EIKY.js → chunk-6YXNJXQW.js} +7 -5
- package/chunks/{chunk-TPI7O7HR.js → chunk-7DDTI7Q3.js} +1 -1
- package/chunks/{chunk-KGJGEEVR.js → chunk-7FA2II6K.js} +10 -1
- package/chunks/chunk-7J6OTNGO.js +424 -0
- package/chunks/{chunk-NIFYWDYN.js → chunk-7TBU7PU2.js} +1 -1
- package/chunks/{chunk-3FDFA4MZ.js → chunk-7XICSE62.js} +3 -3
- package/chunks/{chunk-V2NDP3I4.js → chunk-7XL4WRXM.js} +2 -2
- package/chunks/{chunk-F7TNAPZ4.js → chunk-AAX236AR.js} +45 -11
- package/chunks/{chunk-T32W2JHI.js → chunk-ACZ4YRYK.js} +6 -6
- package/chunks/chunk-ADJD4LZF.js +210 -0
- package/chunks/{chunk-JWALNCLT.js → chunk-AF3QB6OL.js} +1 -1
- package/chunks/{chunk-P2SU6ZTI.js → chunk-AI35S34R.js} +3 -3
- package/chunks/{chunk-OIP7C4FE.js → chunk-AKNQMSL2.js} +5 -5
- package/chunks/{chunk-6CGL7E7G.js → chunk-AN3KFCNH.js} +2 -2
- package/chunks/{chunk-ABS25QER.js → chunk-ANVG3BVV.js} +1 -1
- package/chunks/chunk-AYYKUUKP.js +972 -0
- package/chunks/chunk-B2RIIK3K.js +346 -0
- package/chunks/{chunk-F5SZP77N.js → chunk-BBYTY46C.js} +153 -112
- package/chunks/{chunk-XRSOI3DL.js → chunk-BE5FGT5Z.js} +1 -1
- package/chunks/{chunk-BGXZBI5B.js → chunk-BHTYRHJF.js} +3 -2
- package/chunks/{chunk-CSMI4FP5.js → chunk-BSJOBW4U.js} +1 -1
- package/chunks/{chunk-Z7TGYN5F.js → chunk-BXNKREX7.js} +3 -3
- package/chunks/{chunk-4MQEPP3Y.js → chunk-BY24DZ4J.js} +5 -119
- package/chunks/{chunk-5XBFCMWD.js → chunk-CAZADEU7.js} +17 -9
- package/chunks/chunk-CHEIIBT3.js +40 -0
- package/chunks/{chunk-BBWV7ONL.js → chunk-CM4F4JBB.js} +6 -6
- package/chunks/{chunk-CAJTKR6W.js → chunk-D7D3HSYQ.js} +6 -5
- package/chunks/{chunk-3DXFGHAJ.js → chunk-DBTMP3P4.js} +213 -185
- package/chunks/chunk-DJBQCO2E.js +842 -0
- package/chunks/{chunk-RXFQM6FQ.js → chunk-DMEUXLSS.js} +16 -1
- package/chunks/{chunk-3AFMQUTI.js → chunk-E4JNFXNI.js} +3 -3
- package/chunks/{chunk-UHQFIS7N.js → chunk-EAHOJF6V.js} +28 -4
- package/chunks/{chunk-OIVXBW3W.js → chunk-ED7DD7MV.js} +3 -3
- package/chunks/{chunk-6DIGWMGT.js → chunk-EIJT2PQ6.js} +2 -2
- package/chunks/{chunk-XQFT3QUF.js → chunk-ENYUKMFK.js} +1 -1
- package/chunks/{chunk-CQH5KTKC.js → chunk-ERHAMGAA.js} +1 -1
- package/chunks/{chunk-IOPCFOTF.js → chunk-ERRJA23L.js} +3 -3
- package/chunks/{chunk-LDP5OD6N.js → chunk-EU2B4P3D.js} +12 -12
- package/chunks/{chunk-W5MJJ2V7.js → chunk-FHPYRXRH.js} +1 -1
- package/chunks/{chunk-IZIVM7LZ.js → chunk-FIWZOMBF.js} +3 -3
- package/chunks/{chunk-4HV6HH33.js → chunk-FPMQT2YY.js} +9 -9
- package/chunks/{chunk-Z7VOMGDC.js → chunk-FTJMWDND.js} +0 -24
- package/chunks/{chunk-L2M46FP5.js → chunk-FXUSWLBF.js} +225 -12
- package/chunks/{chunk-VVW4ZNFY.js → chunk-GB4UKWY5.js} +16 -8
- package/chunks/{chunk-PKAYJDB3.js → chunk-GCUR24KK.js} +22 -4
- package/chunks/{chunk-DIMEPKCW.js → chunk-GDXSXL3H.js} +11 -1
- package/chunks/{chunk-7JPW6IYH.js → chunk-GN422P4J.js} +1 -1
- package/chunks/{chunk-66KDY3LV.js → chunk-GS7XT345.js} +3 -3
- package/chunks/{chunk-PFCQ62V4.js → chunk-H2A2GJGL.js} +6 -6
- package/chunks/{chunk-Z7FLBQPR.js → chunk-H5GPPDGY.js} +8 -8
- package/chunks/{chunk-CPGJJJLU.js → chunk-HDMKCJHI.js} +1 -1
- package/chunks/{chunk-6PJOTWAN.js → chunk-HT5S5TRQ.js} +1 -1
- package/chunks/{chunk-Z4X5MTRT.js → chunk-HWVUSYSN.js} +5 -12
- package/chunks/{chunk-V4QXXQJ2.js → chunk-I75VKFCJ.js} +4 -4
- package/chunks/{chunk-NU7RKEZR.js → chunk-IBMUI5EV.js} +3 -3
- package/chunks/{chunk-4J657AJR.js → chunk-ID33ZRWH.js} +42 -42
- package/chunks/{chunk-R4PMVSR5.js → chunk-IIFL7QDN.js} +30 -192
- package/chunks/{chunk-MQM5PJML.js → chunk-IVUWTA2D.js} +1 -1
- package/chunks/{chunk-E55H6BZ7.js → chunk-IXEZHTDR.js} +1616 -151
- package/chunks/{chunk-XF63PKEN.js → chunk-IXHV5MIC.js} +1 -1
- package/chunks/{chunk-JHS74YAB.js → chunk-J4Y3QJHF.js} +3 -1
- package/chunks/{chunk-MIIVI25Q.js → chunk-JDIO45X7.js} +3 -3
- package/chunks/{chunk-QFCDF5PL.js → chunk-JHN7UIDW.js} +1 -1
- package/chunks/{chunk-FDY5RMGH.js → chunk-JLSZT354.js} +2 -2
- package/chunks/chunk-JMRE4WJQ.js +1849 -0
- package/chunks/{chunk-FY76G3G5.js → chunk-JOTYTYYW.js} +6 -6
- package/chunks/{chunk-TRZTNIQ6.js → chunk-JOWQD4LO.js} +3 -3
- package/chunks/{chunk-KEKZFOL6.js → chunk-JPKTAQS3.js} +1 -1
- package/chunks/chunk-JS73NNWF.js +30 -0
- package/chunks/chunk-JX6XHPTX.js +26 -0
- package/chunks/{chunk-5JTIYALA.js → chunk-JZWOCUZ3.js} +1 -1
- package/chunks/{chunk-3JGZSIDA.js → chunk-KFN2IZYR.js} +3 -3
- package/chunks/{chunk-23RFD54N.js → chunk-KHP66DFN.js} +1 -1
- package/chunks/{chunk-AGR5UROZ.js → chunk-KUDI54QQ.js} +23 -33
- package/chunks/{chunk-3SGB2UHX.js → chunk-L2OKAIUK.js} +28 -16
- package/chunks/{chunk-BXDAPVQU.js → chunk-L6CUJZDG.js} +28 -4
- package/chunks/chunk-LAUEEBDL.js +277 -0
- package/chunks/{chunk-BNMF3K5X.js → chunk-LFAR7CPW.js} +55 -39
- package/chunks/{chunk-Y3QL45LS.js → chunk-LKODFJRD.js} +9 -9
- package/chunks/{chunk-BWORX6FA.js → chunk-LMMHS3RS.js} +1 -1
- package/chunks/{chunk-UTLCH2FK.js → chunk-LYSZVCCD.js} +10 -7
- package/chunks/{chunk-F6FV3C5K.js → chunk-MBZ5ORJB.js} +264 -283
- package/chunks/{chunk-L6YT5H34.js → chunk-MJBHSZEJ.js} +5 -5
- package/chunks/{chunk-B7CDU2SL.js → chunk-MOF6VZN2.js} +18 -21
- package/chunks/{chunk-6LFJEACX.js → chunk-MZ5A5PQW.js} +7 -7
- package/chunks/chunk-MZYWNU66.js +149 -0
- package/chunks/{chunk-2TNL5KPM.js → chunk-N4QWUPDM.js} +7 -0
- package/chunks/{chunk-5O72BNDD.js → chunk-ND7TQQPE.js} +9 -9
- package/chunks/{chunk-QP4C6WCE.js → chunk-NGKLMNWN.js} +3 -3
- package/chunks/{chunk-JSC3H3TD.js → chunk-NT5XIL5H.js} +46 -18
- package/chunks/{chunk-KUX5D6DK.js → chunk-NT7LXVV5.js} +11010 -11138
- package/chunks/{chunk-PDQGMSZK.js → chunk-ODZF64DM.js} +1 -1
- package/chunks/{chunk-FBSSIAAQ.js → chunk-OE5AQVNB.js} +8 -8
- package/chunks/chunk-OHU2H5CS.js +130 -0
- package/chunks/{chunk-2K6ORIHJ.js → chunk-OKMDOATP.js} +13 -13
- package/chunks/{chunk-JB4JIVTJ.js → chunk-OKTNXDVO.js} +1 -1
- package/chunks/{chunk-XDLEZ5HX.js → chunk-OQYXJK2V.js} +1 -1
- package/chunks/{chunk-EFUM7RVY.js → chunk-OSTQZIOY.js} +944 -18
- package/chunks/{chunk-VQUGEVGR.js → chunk-OTTNXUT5.js} +1 -1
- package/chunks/{chunk-T3WXYEZ4.js → chunk-PB7JBAHF.js} +53 -54
- package/chunks/{chunk-WAOIHTJS.js → chunk-PDAKFU7M.js} +1 -1
- package/chunks/{chunk-43GGFFLY.js → chunk-PDXYZBBQ.js} +3 -3
- package/chunks/{chunk-4CMJKUND.js → chunk-PNIGAVY6.js} +67 -2
- package/chunks/{chunk-SAH4BD2J.js → chunk-PQEISIKS.js} +67 -0
- package/chunks/{chunk-4CDSK5AZ.js → chunk-PWR2NQBS.js} +6 -6
- package/chunks/{chunk-YTDVNSUQ.js → chunk-QAK5475D.js} +1 -1
- package/chunks/{chunk-IJKTMLBE.js → chunk-QE7DTCLX.js} +1 -1
- package/chunks/{chunk-SMPR7SPO.js → chunk-QJNDUTOL.js} +45 -239
- package/chunks/{chunk-C6K43ZDE.js → chunk-QTMPM6RC.js} +16 -10
- package/chunks/{chunk-P5GGM4KS.js → chunk-RAEEQEC5.js} +5 -5
- package/chunks/{chunk-XDFHY4R3.js → chunk-RGEV5AUD.js} +242 -14
- package/chunks/{chunk-M6FOJXW3.js → chunk-RKW36UWC.js} +1 -1
- package/chunks/{chunk-RIEFGNTP.js → chunk-RLSPPTWH.js} +5119 -683
- package/chunks/{chunk-PDMJ3KGS.js → chunk-RT4QNQ5P.js} +3 -3
- package/chunks/{chunk-SJ3ZUWFK.js → chunk-RVCGAHC7.js} +4 -26
- package/chunks/{chunk-77RG5SFQ.js → chunk-RY7DL5IF.js} +11 -6
- package/chunks/{chunk-4FTKQNWJ.js → chunk-S2T7H5MI.js} +182 -3
- package/chunks/{chunk-EOGELB3H.js → chunk-SDCHI64N.js} +4 -4
- package/chunks/{chunk-EKSCLBBF.js → chunk-SMJYTKTB.js} +23 -5
- package/chunks/{chunk-MZS7GEC7.js → chunk-SMRDCANI.js} +1 -1
- package/chunks/{chunk-43UYNAWX.js → chunk-T3TL6S3B.js} +4 -4
- package/chunks/{chunk-4K7NQDCG.js → chunk-T4EFG2P5.js} +18 -9
- package/chunks/{chunk-IK5BW3CS.js → chunk-T4RMUTTT.js} +16 -5
- package/chunks/{chunk-L6BZRIUL.js → chunk-TBJ3SNS3.js} +183 -5
- package/chunks/{chunk-CCBZDVUA.js → chunk-TNMOFNT4.js} +133 -122
- package/chunks/{chunk-Y6LSMB6J.js → chunk-TV7BJ7TX.js} +1 -1
- package/chunks/{chunk-G34IR3D6.js → chunk-U5RTYI7D.js} +102 -146
- package/chunks/{chunk-TTX2JUE6.js → chunk-U6D2PPMN.js} +1 -1
- package/chunks/{chunk-D5LUXLUH.js → chunk-UJ4DUYIH.js} +18 -4
- package/chunks/{chunk-A7YP63XN.js → chunk-UKB2TZAO.js} +5 -5
- package/chunks/{chunk-VTHREBQM.js → chunk-UKYXYWI2.js} +2 -2
- package/chunks/{chunk-2NYCN6F2.js → chunk-UVYKCRJZ.js} +46 -29
- package/chunks/{chunk-HVEYF6VT.js → chunk-UXEW7TQS.js} +2 -2
- package/chunks/{chunk-HVQ3B7FF.js → chunk-V4HN35IF.js} +44 -7
- package/chunks/chunk-VGHZT6JR.js +51 -0
- package/chunks/{chunk-V5J4J5TP.js → chunk-VYSZUQGU.js} +2 -20
- package/chunks/{chunk-6IUNAPLR.js → chunk-W4BDHLRT.js} +3 -3
- package/chunks/{chunk-Q26AYA62.js → chunk-W7KWB6AH.js} +7 -4
- package/chunks/chunk-WLEYH7CD.js +332 -0
- package/chunks/{chunk-RU7BK6B3.js → chunk-X7C7KFWA.js} +2 -2
- package/chunks/{chunk-YRLW2MSX.js → chunk-XBVNNDPK.js} +11 -4
- package/chunks/{chunk-BFPESSTR.js → chunk-XEAAO654.js} +1 -1
- package/chunks/{chunk-JU4EEXC7.js → chunk-XLENZQXH.js} +2 -2
- package/chunks/{chunk-JSHHYW6T.js → chunk-XPDKSOVW.js} +69 -64
- package/chunks/chunk-YDQ4OCDK.js +1222 -0
- package/chunks/{chunk-ZU4UDIWX.js → chunk-YKADANK6.js} +6 -7
- package/chunks/{chunk-JCQD3INC.js → chunk-YNG7XAJU.js} +3 -3
- package/chunks/{chunk-O2UN57NX.js → chunk-YOFULAHO.js} +19 -2
- package/chunks/{chunk-BAJKAAOY.js → chunk-YOMKOM7E.js} +4892 -1504
- package/chunks/{chunk-ERFDKH32.js → chunk-YPISTYEI.js} +8 -7
- package/chunks/{chunk-TGWAQ5RB.js → chunk-ZBDYI7VM.js} +6900 -6882
- package/chunks/{chunk-OZ6KS6KW.js → chunk-ZGCKTAL5.js} +6 -1
- package/chunks/chunk-ZHO2CW6D.js +205 -0
- package/chunks/{chunk-DZWPESIF.js → chunk-ZQ3FKEWA.js} +3 -3
- package/chunks/{chunk-7EQQR46F.js → chunk-ZVP4PWBU.js} +1 -1
- package/chunks/{chunk-7UYV53BC.js → chunk-ZYPJ7HVZ.js} +1 -1
- package/chunks/config-utils-NNUPVGEC.js +118 -0
- package/chunks/contextCommand-S3TPCDM5.js +111 -0
- package/chunks/{core-runtime-677KFX6Q.js → core-runtime-NASPCSQX.js} +66 -63
- package/chunks/{create-sub-session-23ITIELI.js → create-sub-session-36TNCHCP.js} +3 -3
- package/chunks/{create-sub-session-JKZAYZX7.js → create-sub-session-DS4BJLYZ.js} +97 -68
- package/chunks/{cron-create-KJ4IY6PP.js → cron-create-QXHTYUTO.js} +4 -4
- package/chunks/{cron-delete-MBLQCAYY.js → cron-delete-WV2BM42M.js} +4 -4
- package/chunks/{cron-list-DWH2PQ47.js → cron-list-7KVNBLZ7.js} +4 -4
- package/chunks/{daemon-MJQUO7RA.js → daemon-UCVUHPJD.js} +723 -90
- package/chunks/{daemon-git-worktree-guard-6MVAAZZZ.js → daemon-git-worktree-guard-ATXVQPS3.js} +63 -60
- package/chunks/daemon-status-provider-UI3GBTMO.js +121 -0
- package/chunks/daemon-trust-policy-SUCBJ2CA.js +117 -0
- package/chunks/{daemon-trust-policy-monitor-B5U6TQX5.js → daemon-trust-policy-monitor-3LM5RQNS.js} +71 -68
- package/chunks/{de-X6HLSIFE.js → de-T4BLOKEC.js} +3 -0
- package/chunks/deferred-core-runtime-SCOJLVYG.js +119 -0
- package/chunks/{display-image-BE7I6ZB6.js → display-image-Z4VBQDEJ.js} +5 -5
- package/chunks/{dist-TJUDJTCB.js → dist-5423MG3D.js} +411 -91
- package/chunks/{dist-ILDBUWDB.js → dist-7WDZYMWV.js} +43 -25
- package/chunks/{dist-ZBVOXSKF.js → dist-FLJLHASF.js} +219 -121
- package/chunks/{dist-QODVOVWI.js → dist-GPSRNVVP.js} +43 -35
- package/chunks/{dist-DJBNNPLN.js → dist-LY66XNUL.js} +10 -3
- package/chunks/{dist-7CKN54NL.js → dist-S3BKCTWF.js} +205 -89
- package/chunks/{dist-UQUFZDIY.js → dist-SDKHGH5O.js} +41 -20
- package/chunks/{dist-4Q7NTUNB.js → dist-WAUO5OMN.js} +46 -22
- package/chunks/{dist-SATKXKUR.js → dist-WIVVPE7M.js} +28 -14
- package/chunks/earlyInputCapture-INWJ2STR.js +112 -0
- package/chunks/{edit-BSV6YRVW.js → edit-B7ZRRGAE.js} +51 -49
- package/chunks/{en-YLXBXM4Z.js → en-E4AYTX6H.js} +3 -0
- package/chunks/{enter-worktree-MQXFFPKM.js → enter-worktree-SPZHEETQ.js} +7 -7
- package/chunks/{enterPlanMode-PKNF35FE.js → enterPlanMode-S554IKJ2.js} +55 -53
- package/chunks/environment-25ADH4Y6.js +134 -0
- package/chunks/errors-G2I6LFTW.js +118 -0
- package/chunks/{exit-worktree-L344UY7K.js → exit-worktree-AWUXAMAM.js} +7 -7
- package/chunks/exitPlanMode-ZFH4OYPM.js +87 -0
- package/chunks/{fast-path-773PV7PU.js → fast-path-WZHVZ2ER.js} +8 -7
- package/chunks/{fast-path-settings-XMFBYFUH.js → fast-path-settings-NILM6QZL.js} +3 -3
- package/chunks/{fr-FTZWF462.js → fr-BGHGYX6A.js} +3 -0
- package/chunks/{glob-CZHOWUEA.js → glob-UOVDMBUP.js} +50 -48
- package/chunks/{goal-tools-YZQJXTGH.js → goal-tools-7TNK5ZHC.js} +5 -4
- package/chunks/{grep-5GPICQBU.js → grep-LHYJ5V2N.js} +9 -7
- package/chunks/handleAutoUpdate-4MZ45DZY.js +114 -0
- package/chunks/i18n-KWUEI4DS.js +129 -0
- package/chunks/{image-gen-HAYOEQ4O.js → image-gen-YZDVO5YS.js} +8 -10
- package/chunks/initializer-2NBROGMG.js +118 -0
- package/chunks/installationInfo-YKUSY3ZB.js +112 -0
- package/chunks/{ja-2GL5FKYJ.js → ja-G3FTD5XE.js} +3 -0
- package/chunks/{keychain-token-storage-37XPR34V.js → keychain-token-storage-REZVMJA6.js} +2 -2
- package/chunks/list-W2WV3COM.js +121 -0
- package/chunks/list-agents-PMVMHNY7.js +128 -0
- package/chunks/{gemini-IP4FJAP5.js → llm-NPPHLIJI.js} +162 -133
- package/chunks/{geminiContentGenerator-PUNEBWJW.js → llm-content-generator-YK3WN6XW.js} +29 -29
- package/chunks/loadedSettingsAdapter-2P7DFWUR.js +115 -0
- package/chunks/{loggingContentGenerator-2GGZNGLG.js → loggingContentGenerator-QYYYGU6V.js} +318 -35
- package/chunks/{loop-wakeup-XJFONSQ7.js → loop-wakeup-EBM4F5MZ.js} +5 -5
- package/chunks/{ls-3VAT2J7A.js → ls-F6TRX3DD.js} +4 -4
- package/chunks/{lsp-5W7IRUBH.js → lsp-QYTOS2FI.js} +2 -2
- package/chunks/{managed-npm-update-5TEV2E3J.js → managed-npm-update-UMC4NBWW.js} +64 -61
- package/chunks/mcp-OFI6XDP2.js +115 -0
- package/chunks/{monitor-FI7PY36Z.js → monitor-QX3BM3JY.js} +50 -48
- package/chunks/nonInteractiveCli-NVRMD5MN.js +193 -0
- package/chunks/{notebook-edit-TPGMGBST.js → notebook-edit-AAILDPSV.js} +51 -49
- package/chunks/{open-with-auth-4UI3KHUR.js → open-with-auth-D6JD6LDS.js} +4 -4
- package/chunks/{openaiContentGenerator-SUCYANUZ.js → openaiContentGenerator-53PB3CMN.js} +27 -29
- package/chunks/pidfile-5ACKG2LI.js +116 -0
- package/chunks/process-registry-OAEG6WGC.js +662 -0
- package/chunks/{processUtils-IQZBYWSB.js → processUtils-2BCDO3DZ.js} +2 -2
- package/chunks/prompt-terminal-ledger-3RKW73A2.js +110 -0
- package/chunks/{pt-XN2YWJVM.js → pt-D73IFYT7.js} +3 -0
- package/chunks/{qwenContentGenerator-J4TXFGJT.js → qwenContentGenerator-N4LLWDPH.js} +56 -54
- package/chunks/{qwenOAuth2-RF33DNZW.js → qwenOAuth2-7AOCKSOQ.js} +7 -9
- package/chunks/{read-file-QE2B5FTX.js → read-file-DPAKXHYE.js} +13 -13
- package/chunks/{read-mcp-resource-XD257PGJ.js → read-mcp-resource-R4NO75DW.js} +2 -2
- package/chunks/{record-artifact-RZGZBENU.js → record-artifact-2EAYLAL5.js} +4 -4
- package/chunks/{report-findings-Q3SYKKW5.js → report-findings-Y4MSHDS3.js} +9 -5
- package/chunks/{request-shutdown-BCLA3JV2.js → request-shutdown-DWRMGTMB.js} +8 -7
- package/chunks/resumeHistoryUtils-3JQORXAK.js +123 -0
- package/chunks/ripGrep-AHF5QCI7.js +39 -0
- package/chunks/{ru-OLTMFJEW.js → ru-QMISLKRH.js} +3 -0
- package/chunks/{run-qwen-serve-TPHZMSXJ.js → run-qwen-serve-3LKV7KDC.js} +728 -256
- package/chunks/runtime-66F4W3IA.js +153 -0
- package/chunks/scheduled-tasks-2NVKS5Q2.js +132 -0
- package/chunks/scheduler-JNV7T3ZO.js +127 -0
- package/chunks/{sdk-exporters-http-KCJ4ZFG7.js → sdk-exporters-http-MFIWD23D.js} +2 -2
- package/chunks/{sdk-impl-HLSEDAEP.js → sdk-impl-2RXJ4Q6X.js} +11 -5
- package/chunks/send-message-WPZRCJOB.js +442 -0
- package/chunks/serve-GP2UNRP7.js +123 -0
- package/chunks/{server-DFUSSSHI.js → server-7W6C3SOW.js} +5233 -3623
- package/chunks/{session-3TEHNENZ.js → session-PZLBAQGG.js} +125 -118
- package/chunks/session-pr-refresh-OIVL3U3Z.js +367 -0
- package/chunks/{settings-VOZYKLTT.js → settings-ZOHIQWYK.js} +70 -67
- package/chunks/shell-FWZT6IUR.js +97 -0
- package/chunks/{skill-FEOKFX26.js → skill-RTQC2YGA.js} +121 -65
- package/chunks/skill-settings-AKMIXFSJ.js +123 -0
- package/chunks/spawnChannel-ZP23JL6O.js +116 -0
- package/chunks/standalone-update-P2Q5H4ZU.js +123 -0
- package/chunks/{startInteractiveUI-WHJPFOGH.js → startInteractiveUI-NSA6QPQZ.js} +2018 -1526
- package/chunks/{stdioHelpers-7A2EE64Z.js → stdioHelpers-AY6XCDY2.js} +3 -1
- package/chunks/{syntheticOutput-ML43GEFN.js → syntheticOutput-5URSQLIS.js} +3 -3
- package/chunks/{task-create-TMSV7RD5.js → task-create-3EXVDG3G.js} +12 -12
- package/chunks/{task-list-W55RBFRX.js → task-list-PIBYNSE7.js} +5 -6
- package/chunks/{task-stop-CXEH5L2D.js → task-stop-IV3BYWJC.js} +2 -2
- package/chunks/{task-update-N536I4GQ.js → task-update-H5BPDS5Y.js} +13 -14
- package/chunks/{team-create-QYSWCYCL.js → team-create-53T42W37.js} +56 -55
- package/chunks/{team-delete-FJRFX33M.js → team-delete-X3WPELS6.js} +25 -8
- package/chunks/{team-plan-approval-P7DAD644.js → team-plan-approval-D45ZC5OE.js} +50 -48
- package/chunks/terminal-image-renderer-FCRUWT6C.js +121 -0
- package/chunks/theme-manager-MHNPEDP7.js +107 -0
- package/chunks/{todoWrite-WDJNQEMW.js → todoWrite-A5IOZZ3P.js} +4 -4
- package/chunks/{tool-search-F2EMIAPV.js → tool-search-6RPBGGUX.js} +27 -23
- package/chunks/total-session-admission-MGV56XDK.js +117 -0
- package/chunks/trustedFolders-QJYEFMTU.js +127 -0
- package/chunks/{types-WYCFCEHR.js → types-HKLPXZB3.js} +1 -3
- package/chunks/{update-relaunch-4GF3OXMB.js → update-relaunch-ZDMQX63C.js} +6 -6
- package/chunks/updateCheck-4QZWCGP6.js +123 -0
- package/chunks/useAutoAcceptIndicator-DLIQN256.js +125 -0
- package/chunks/{validateNonInterActiveAuth-BPPA563H.js → validateNonInterActiveAuth-HGTG7AEK.js} +114 -107
- package/chunks/{version-ANP4TS6O.js → version-CPAZMC4B.js} +1 -1
- package/chunks/{web-fetch-QJADSAH3.js → web-fetch-N4K5M3M4.js} +16 -18
- package/chunks/{web-search-7TTQKEKM.js → web-search-4VZKM5SF.js} +9 -11
- package/chunks/{web-shell-static-A6QMUNNV.js → web-shell-static-PW7OEDQO.js} +3 -2
- package/chunks/{workflow-5XN6XSOT.js → workflow-2ALQKTHG.js} +229 -146
- package/chunks/workspace-providers-status-5JM4CB6R.js +119 -0
- package/chunks/{workspace-registration-store-XKVW2YVH.js → workspace-registration-store-RNMFVCH7.js} +2 -1
- package/chunks/workspace-registry-6EULAPZC.js +126 -0
- package/chunks/workspace-runtime-coordinator-IRI2DRCJ.js +127 -0
- package/chunks/workspace-service-SETHN4WE.js +131 -0
- package/chunks/workspace-skills-status-4D4EUEQU.js +118 -0
- package/chunks/{workspace-trust-reconciler-KLGOB53D.js → workspace-trust-reconciler-4LR3CDL4.js} +77 -76
- package/chunks/write-file-45GWPSOI.js +92 -0
- package/chunks/{zh-UNY63FR3.js → zh-2BQ7P6OD.js} +3 -0
- package/chunks/{zh-TW-RPTMRTHG.js → zh-TW-UFXRZTXX.js} +3 -0
- package/chunks/{zoom-image-6ASG6J4C.js → zoom-image-K6IQUKRC.js} +13 -13
- package/cli.js +129 -92
- package/locales/ca.js +6 -0
- package/locales/de.js +6 -0
- package/locales/en.js +6 -0
- package/locales/fr.js +6 -0
- package/locales/ja.js +6 -0
- package/locales/pt.js +6 -0
- package/locales/ru.js +6 -0
- package/locales/zh-TW.js +6 -0
- package/locales/zh.js +6 -0
- package/package.json +3 -3
- package/web-shell/assets/{abnfDiagram-VCTEODGH-uS-vtfs3.js → abnfDiagram-VCTEODGH-C80OZcPP.js} +1 -1
- package/web-shell/assets/{arc-BSTnk5pu.js → arc-AUqStYgf.js} +1 -1
- package/web-shell/assets/{architectureDiagram-5GKGNRK7-DCMyiqzy.js → architectureDiagram-5GKGNRK7-CQYOdYla.js} +1 -1
- package/web-shell/assets/{blockDiagram-NRAW4CY4-C7_gt0r1.js → blockDiagram-NRAW4CY4-lYKlFysy.js} +1 -1
- package/web-shell/assets/{c4Diagram-UCG6FXSJ-BeQg2L8B.js → c4Diagram-UCG6FXSJ-BoS23iIp.js} +1 -1
- package/web-shell/assets/channel-B0ovOJeK.js +1 -0
- package/web-shell/assets/{chunk-2Q5K7J3B-DnV9bKBe.js → chunk-2Q5K7J3B-DLLooL1E.js} +1 -1
- package/web-shell/assets/{chunk-5VM5RSS4-rT1GAcT7.js → chunk-5VM5RSS4-kPfJxScY.js} +1 -1
- package/web-shell/assets/{chunk-F27PBJKO-BcgSxqGA.js → chunk-F27PBJKO-CVGFBqkD.js} +1 -1
- package/web-shell/assets/{chunk-G27WJ6UU-Bw1ZhyZq.js → chunk-G27WJ6UU-CnM_kOVV.js} +1 -1
- package/web-shell/assets/{chunk-JWPE2WC7-D4iDw-96.js → chunk-JWPE2WC7-Cj-ajOkT.js} +1 -1
- package/web-shell/assets/{chunk-LCL6LL3I-D3MB3GTZ.js → chunk-LCL6LL3I-8L5c-wFo.js} +1 -1
- package/web-shell/assets/{chunk-POPQ4Y6H-Cep2ndrS.js → chunk-POPQ4Y6H-DsXTxpvL.js} +1 -1
- package/web-shell/assets/{chunk-SVP7TREG-BuahMHJc.js → chunk-SVP7TREG-DU5GE1_z.js} +1 -1
- package/web-shell/assets/{chunk-XXDRQBXY-BdujIvJY.js → chunk-XXDRQBXY-D2IIWZKt.js} +1 -1
- package/web-shell/assets/classDiagram-DTDB5LWJ-DMll2-6_.js +1 -0
- package/web-shell/assets/classDiagram-v2-JRS7N3AN-DMll2-6_.js +1 -0
- package/web-shell/assets/{cose-bilkent-JH36ORCC-CGLLUbF8.js → cose-bilkent-JH36ORCC-CF_txUJr.js} +1 -1
- package/web-shell/assets/{cynefin-OW5HDTMX-D6kDsRSh.js → cynefin-OW5HDTMX-DEZ-My-Z.js} +1 -1
- package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-CCy78qZx.js → cynefinDiagram-5FMLGOSQ-BV7EKUS6.js} +1 -1
- package/web-shell/assets/{dagre-3AP2YEHR-D5gJuJsf.js → dagre-3AP2YEHR-JGIX0G4H.js} +1 -1
- package/web-shell/assets/{diagram-S7CK7UJ4-ZwEZ5W__.js → diagram-S7CK7UJ4-DdUY7q6A.js} +1 -1
- package/web-shell/assets/{diagram-UQ7AKVKN-B036APjv.js → diagram-UQ7AKVKN-fhzRZ19v.js} +1 -1
- package/web-shell/assets/{diagram-VSXAHHWV-BfDJ57Fq.js → diagram-VSXAHHWV-BOgOex6q.js} +1 -1
- package/web-shell/assets/{diagram-VX7I27RA-Wha0p5rT.js → diagram-VX7I27RA-C0NknIz6.js} +1 -1
- package/web-shell/assets/{diagram-Z3DM3KII-L20bz2K1.js → diagram-Z3DM3KII-C__3mUBX.js} +1 -1
- package/web-shell/assets/{ebnfDiagram-PWID7BFC-D1ZM0Cp7.js → ebnfDiagram-PWID7BFC-BvPhqycH.js} +1 -1
- package/web-shell/assets/{erDiagram-SSCWMZ5O-CMtA19v8.js → erDiagram-SSCWMZ5O-BqzoNoL9.js} +1 -1
- package/web-shell/assets/{flowDiagram-A5DVABFB-D96m326S.js → flowDiagram-A5DVABFB-CJKOre47.js} +1 -1
- package/web-shell/assets/{ganttDiagram-EL5Y4UJY-BuHiYG2o.js → ganttDiagram-EL5Y4UJY-C5xZjrp0.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-WWUBYQGX-Ck3NmkSw.js → gitGraphDiagram-WWUBYQGX-C0EjwuPK.js} +1 -1
- package/web-shell/assets/index-B_IPzA0h.js +2020 -0
- package/web-shell/assets/{index-CBGz4Qjl.js → index-C5M93syE.js} +1 -1
- package/web-shell/assets/index-D1OKGQlM.css +36 -0
- package/web-shell/assets/{infoDiagram-RXCK75RN-B6DAOyXe.js → infoDiagram-RXCK75RN-BUwzsYOs.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-5VMMS53U-Bpg-joFo.js → ishikawaDiagram-5VMMS53U-EDJ_DH3V.js} +1 -1
- package/web-shell/assets/{journeyDiagram-EYS64GPL-BclrHzGa.js → journeyDiagram-EYS64GPL-BnfcOsS0.js} +1 -1
- package/web-shell/assets/{kanban-definition-3QL26DDD-5gJzNTYG.js → kanban-definition-3QL26DDD-D_ofTVGu.js} +1 -1
- package/web-shell/assets/{layout-CEz_1L8z.js → layout-CBuQFdfZ.js} +1 -1
- package/web-shell/assets/{linear-CBjTq9Hc.js → linear-DRIHtmGv.js} +1 -1
- package/web-shell/assets/{mermaid.core-Dzhbxx_I.js → mermaid.core-CmR5wZH6.js} +6 -6
- package/web-shell/assets/{mindmap-definition-FBJOCRG2-DQdVqlBF.js → mindmap-definition-FBJOCRG2-BV374olC.js} +1 -1
- package/web-shell/assets/{pegDiagram-XKGWAZYB-D1JZlYXL.js → pegDiagram-XKGWAZYB-Bpy1SplK.js} +1 -1
- package/web-shell/assets/{pieDiagram-E7YTZNPT-BmkpYL0w.js → pieDiagram-E7YTZNPT-CeZx4hR2.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-AXDQQJYC-DRvD6co5.js → quadrantDiagram-AXDQQJYC-COYKs14h.js} +1 -1
- package/web-shell/assets/{railroadDiagram-O6MQD6OU-CEdjDuoo.js → railroadDiagram-O6MQD6OU-5g2pOeTs.js} +1 -1
- package/web-shell/assets/{requirementDiagram-EFPCY7ZU-BCHG-ie8.js → requirementDiagram-EFPCY7ZU-Yn8uPGtF.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-P5KCCOFB-C9cZMnye.js → sankeyDiagram-P5KCCOFB-CTayAGq6.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-DYHRV4zL.js → sequenceDiagram-WJ2MYXX4-BFWDKzUU.js} +1 -1
- package/web-shell/assets/{sizeCapture-X5ZJPWSS-DlK21aye.js → sizeCapture-X5ZJPWSS-CtErUbj4.js} +1 -1
- package/web-shell/assets/{stateDiagram-HBIQ2CUA-BrmZssvk.js → stateDiagram-HBIQ2CUA-Co3HFzOd.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-4QOOHH4V-C3gdRjPm.js +1 -0
- package/web-shell/assets/{swimlanes-XN3QIQJK-D9xfcayR.js → swimlanes-XN3QIQJK-CDZuxzOj.js} +1 -1
- package/web-shell/assets/swimlanesDiagram-VK2B7HYN-C34TGCPZ.js +8 -0
- package/web-shell/assets/{timeline-definition-24CTP7MA-D4gdDL_d.js → timeline-definition-24CTP7MA-UcNHj8At.js} +1 -1
- package/web-shell/assets/{vennDiagram-4TSXK5OY-DdhIExjI.js → vennDiagram-4TSXK5OY-JKR9pVFG.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-VM6X3IG4-C9RS_Zof.js → wardleyDiagram-VM6X3IG4-C4SU-yIW.js} +1 -1
- package/web-shell/assets/{xychartDiagram-S5SC5T6Z-orRgmxWk.js → xychartDiagram-S5SC5T6Z-D_yoWGZ4.js} +1 -1
- package/web-shell/index.html +197 -3
- package/chunks/MaxSizedBox-X5FZSNAJ.js +0 -112
- package/chunks/agent-PJIPDWHB.js +0 -97
- package/chunks/agent-headless-B4JVD7UK.js +0 -87
- package/chunks/bridge-FKZTVIS3.js +0 -121
- package/chunks/channel-settings-store-4UFCLBBG.js +0 -117
- package/chunks/chunk-7DJCPZE3.js +0 -945
- package/chunks/chunk-CPBF7KYF.js +0 -51
- package/chunks/chunk-H72BQNM3.js +0 -645
- package/chunks/chunk-J2OSJFP3.js +0 -202
- package/chunks/chunk-K2OJUPOE.js +0 -78
- package/chunks/chunk-P3QQPMQA.js +0 -19
- package/chunks/chunk-RUGNCYNO.js +0 -699
- package/chunks/chunk-T26EAKDL.js +0 -13
- package/chunks/chunk-ZGXYO7DY.js +0 -3416
- package/chunks/chunk-ZYNTSXWK.js +0 -32
- package/chunks/config-utils-BBOCOGZW.js +0 -113
- package/chunks/contextCommand-EET67MQ2.js +0 -108
- package/chunks/daemon-status-provider-RFKZOK3S.js +0 -119
- package/chunks/daemon-trust-policy-DRZPFB4Q.js +0 -114
- package/chunks/deferred-core-runtime-BBVIOP24.js +0 -116
- package/chunks/earlyInputCapture-2JOMMNQ4.js +0 -109
- package/chunks/environment-MOZMPUHR.js +0 -131
- package/chunks/errors-DMPQVYJL.js +0 -115
- package/chunks/exitPlanMode-UE4FGCY4.js +0 -85
- package/chunks/handleAutoUpdate-SGXKTQM6.js +0 -111
- package/chunks/i18n-B42HKHKH.js +0 -126
- package/chunks/initializer-FB66WYR3.js +0 -115
- package/chunks/installationInfo-Y7AULNMX.js +0 -109
- package/chunks/list-2HWGSVRA.js +0 -118
- package/chunks/list-agents-DI3YFTDT.js +0 -80
- package/chunks/loadedSettingsAdapter-7Y7IEI6T.js +0 -112
- package/chunks/mcp-QGG5NMJJ.js +0 -112
- package/chunks/nonInteractiveCli-4LO2TL72.js +0 -186
- package/chunks/pidfile-JMF2CLMY.js +0 -113
- package/chunks/process-registry-PMJOA5CO.js +0 -172
- package/chunks/prompt-terminal-ledger-DCZO6S7C.js +0 -107
- package/chunks/resumeHistoryUtils-CZ4JRDVW.js +0 -120
- package/chunks/ripGrep-R6B6HWPX.js +0 -39
- package/chunks/runtime-TTIGSBM4.js +0 -150
- package/chunks/scheduled-tasks-QB4ZVUQS.js +0 -129
- package/chunks/scheduler-YRUG22M7.js +0 -124
- package/chunks/send-message-Y5I6NYAM.js +0 -295
- package/chunks/serve-MXXCDAQN.js +0 -120
- package/chunks/shell-6RTKZVMI.js +0 -95
- package/chunks/skill-settings-VA4XVYVL.js +0 -120
- package/chunks/spawnChannel-F6WVP723.js +0 -114
- package/chunks/standalone-update-RGILUQVK.js +0 -120
- package/chunks/terminal-image-renderer-SMQE46UJ.js +0 -116
- package/chunks/theme-manager-RFO5WWFF.js +0 -104
- package/chunks/total-session-admission-HTVTP4BS.js +0 -116
- package/chunks/trustedFolders-7OCNMUQE.js +0 -124
- package/chunks/updateCheck-7QBDXZRT.js +0 -120
- package/chunks/useAutoAcceptIndicator-UI4SNL2O.js +0 -122
- package/chunks/workspace-providers-status-PDFZWL5Q.js +0 -116
- package/chunks/workspace-registry-23R7XRB5.js +0 -125
- package/chunks/workspace-service-MUYO2QIC.js +0 -131
- package/chunks/workspace-skills-status-IKECTOOQ.js +0 -115
- package/chunks/write-file-GGRBB5TZ.js +0 -90
- package/web-shell/assets/channel-CENAhErJ.js +0 -1
- package/web-shell/assets/classDiagram-DTDB5LWJ-CM6FArGH.js +0 -1
- package/web-shell/assets/classDiagram-v2-JRS7N3AN-CM6FArGH.js +0 -1
- package/web-shell/assets/index-8hXIpvo4.js +0 -1865
- package/web-shell/assets/index-DclEv91i.css +0 -5
- package/web-shell/assets/stateDiagram-v2-4QOOHH4V-B2Q7XDaE.js +0 -1
- package/web-shell/assets/swimlanesDiagram-VK2B7HYN-DpZPOSbX.js +0 -8
|
@@ -0,0 +1,293 @@
|
|
|
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/cli/src/commands/review/lib/remote-match.ts
|
|
11
|
+
init_esbuild_shims();
|
|
12
|
+
function normalizeSegment(value) {
|
|
13
|
+
const v = value.toLowerCase();
|
|
14
|
+
return v.endsWith(".git") ? v.slice(0, -4) : v;
|
|
15
|
+
}
|
|
16
|
+
__name(normalizeSegment, "normalizeSegment");
|
|
17
|
+
var AONE_HOSTS = /* @__PURE__ */ new Set(["code.alibaba-inc.com", "gitlab.alibaba-inc.com"]);
|
|
18
|
+
function normalizeHostSpelling(host) {
|
|
19
|
+
return host.toLowerCase().replace(/:\d+$/, "").replace(/\.$/, "");
|
|
20
|
+
}
|
|
21
|
+
__name(normalizeHostSpelling, "normalizeHostSpelling");
|
|
22
|
+
function hostsEquivalent(a, b) {
|
|
23
|
+
const na = normalizeHostSpelling(a);
|
|
24
|
+
const nb = normalizeHostSpelling(b);
|
|
25
|
+
if (na === nb) return true;
|
|
26
|
+
return AONE_HOSTS.has(na) && AONE_HOSTS.has(nb);
|
|
27
|
+
}
|
|
28
|
+
__name(hostsEquivalent, "hostsEquivalent");
|
|
29
|
+
function isAoneCanonicalHost(host) {
|
|
30
|
+
if (!host) return false;
|
|
31
|
+
return AONE_HOSTS.has(normalizeHostSpelling(host));
|
|
32
|
+
}
|
|
33
|
+
__name(isAoneCanonicalHost, "isAoneCanonicalHost");
|
|
34
|
+
function isAoneHostFamily(host) {
|
|
35
|
+
if (!host) return false;
|
|
36
|
+
const h = host.toLowerCase().replace(/:\d+$/, "").replace(/\.$/, "");
|
|
37
|
+
return h === "gitlab.alibaba-inc.com" || h === "code.alibaba-inc.com" || h.endsWith(".alibaba-inc.com");
|
|
38
|
+
}
|
|
39
|
+
__name(isAoneHostFamily, "isAoneHostFamily");
|
|
40
|
+
function parseRemoteUrl(raw) {
|
|
41
|
+
const url = raw.trim();
|
|
42
|
+
if (url === "") return null;
|
|
43
|
+
let host;
|
|
44
|
+
let pathPart;
|
|
45
|
+
const schemeIdx = url.indexOf("://");
|
|
46
|
+
if (schemeIdx !== -1) {
|
|
47
|
+
let parsed;
|
|
48
|
+
try {
|
|
49
|
+
parsed = new URL(url);
|
|
50
|
+
} catch {
|
|
51
|
+
return null;
|
|
52
|
+
}
|
|
53
|
+
if (parsed.hostname === "") return null;
|
|
54
|
+
host = parsed.hostname;
|
|
55
|
+
pathPart = parsed.pathname;
|
|
56
|
+
} else {
|
|
57
|
+
const colonIdx = url.indexOf(":");
|
|
58
|
+
const slashIdx = url.indexOf("/");
|
|
59
|
+
if (colonIdx === -1 || slashIdx === -1 || colonIdx > slashIdx) {
|
|
60
|
+
return null;
|
|
61
|
+
}
|
|
62
|
+
host = url.slice(0, colonIdx);
|
|
63
|
+
const atIdx = host.lastIndexOf("@");
|
|
64
|
+
if (atIdx !== -1) host = host.slice(atIdx + 1);
|
|
65
|
+
pathPart = url.slice(colonIdx + 1);
|
|
66
|
+
}
|
|
67
|
+
const segments = pathPart.split("/").map((s) => s.trim()).filter((s) => s !== "");
|
|
68
|
+
if (segments.length < 2) return null;
|
|
69
|
+
if (host === "") return null;
|
|
70
|
+
return {
|
|
71
|
+
host: host.toLowerCase(),
|
|
72
|
+
owner: normalizeSegment(segments[segments.length - 2]),
|
|
73
|
+
repo: normalizeSegment(segments[segments.length - 1]),
|
|
74
|
+
groupPath: segments.map(normalizeSegment).join("/")
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
__name(parseRemoteUrl, "parseRemoteUrl");
|
|
78
|
+
function matchRemotes(remoteVOutput, { owner, repo, host = "github.com", groupPath }) {
|
|
79
|
+
const wantOwner = normalizeSegment(owner);
|
|
80
|
+
const wantRepo = normalizeSegment(repo);
|
|
81
|
+
const wantPath = groupPath ? groupPath.split("/").filter(Boolean).map(normalizeSegment) : void 0;
|
|
82
|
+
const wantHost = normalizeSegment(host.replace(/:\d+$/, ""));
|
|
83
|
+
const matched = [];
|
|
84
|
+
for (const line of remoteVOutput.split("\n")) {
|
|
85
|
+
const trimmed = line.trim();
|
|
86
|
+
if (trimmed === "" || !/\(fetch\)(\s+\[[^\]]*\])?$/.test(trimmed)) {
|
|
87
|
+
continue;
|
|
88
|
+
}
|
|
89
|
+
const nameMatch = trimmed.match(
|
|
90
|
+
/^(\S+)\s+(.*)\s+\(fetch\)(\s+\[[^\]]*\])?$/
|
|
91
|
+
);
|
|
92
|
+
if (!nameMatch) continue;
|
|
93
|
+
const identity = parseRemoteUrl(nameMatch[2]);
|
|
94
|
+
if (identity === null) continue;
|
|
95
|
+
if (!hostsEquivalent(identity.host, wantHost)) continue;
|
|
96
|
+
const remotePath = identity.groupPath.split("/");
|
|
97
|
+
const sameRepo = wantPath !== void 0 ? wantPath.length === remotePath.length && wantPath.every((seg, i) => seg === remotePath[i]) : identity.owner === wantOwner && identity.repo === wantRepo;
|
|
98
|
+
if (sameRepo) {
|
|
99
|
+
matched.push(nameMatch[1]);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
return { matched };
|
|
103
|
+
}
|
|
104
|
+
__name(matchRemotes, "matchRemotes");
|
|
105
|
+
|
|
106
|
+
// packages/cli/src/commands/review/lib/platform/aone-client.ts
|
|
107
|
+
init_esbuild_shims();
|
|
108
|
+
import { execFileSync } from "node:child_process";
|
|
109
|
+
var A1_BINARY = "a1";
|
|
110
|
+
var MAX_RETRIES = 2;
|
|
111
|
+
var BASE_DELAY_MS = 3e3;
|
|
112
|
+
var A1_TIMEOUT_MS = 12e4;
|
|
113
|
+
var TRANSIENT_RE = /(HTTP\s?5\d\d|temporarily unavailable|connection (reset|timed? ?out)|ECONNRESET|network is unreachable)/i;
|
|
114
|
+
function sleepSync(ms) {
|
|
115
|
+
const sab = new SharedArrayBuffer(4);
|
|
116
|
+
Atomics.wait(new Int32Array(sab), 0, 0, ms);
|
|
117
|
+
}
|
|
118
|
+
__name(sleepSync, "sleepSync");
|
|
119
|
+
function execA1(args, retry) {
|
|
120
|
+
for (let attempt = 0; ; attempt++) {
|
|
121
|
+
try {
|
|
122
|
+
return execFileSync(A1_BINARY, args, {
|
|
123
|
+
encoding: "utf8",
|
|
124
|
+
stdio: ["ignore", "pipe", "pipe"],
|
|
125
|
+
maxBuffer: 64 * 1024 * 1024,
|
|
126
|
+
timeout: A1_TIMEOUT_MS
|
|
127
|
+
}).toString().replace(/\r\n/g, "\n").trim();
|
|
128
|
+
} catch (err) {
|
|
129
|
+
const e = err;
|
|
130
|
+
const rebuilt = new Error(
|
|
131
|
+
[
|
|
132
|
+
e.message ?? "",
|
|
133
|
+
e.stdout?.toString() ?? "",
|
|
134
|
+
e.stderr?.toString() ?? ""
|
|
135
|
+
].join("\n")
|
|
136
|
+
);
|
|
137
|
+
if (retry && attempt < MAX_RETRIES && TRANSIENT_RE.test(rebuilt.message)) {
|
|
138
|
+
const delay = BASE_DELAY_MS * (attempt + 1);
|
|
139
|
+
process.stderr.write(
|
|
140
|
+
`a1 transient error (attempt ${attempt + 1}/${MAX_RETRIES}), retrying in ${delay}ms\u2026
|
|
141
|
+
`
|
|
142
|
+
);
|
|
143
|
+
sleepSync(delay);
|
|
144
|
+
continue;
|
|
145
|
+
}
|
|
146
|
+
throw err;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
__name(execA1, "execA1");
|
|
151
|
+
function a1(...args) {
|
|
152
|
+
return execA1(args, true);
|
|
153
|
+
}
|
|
154
|
+
__name(a1, "a1");
|
|
155
|
+
function a1Once(...args) {
|
|
156
|
+
return execA1(args, false);
|
|
157
|
+
}
|
|
158
|
+
__name(a1Once, "a1Once");
|
|
159
|
+
function a1Json(...args) {
|
|
160
|
+
return JSON.parse(a1(...args, "--format", "json"));
|
|
161
|
+
}
|
|
162
|
+
__name(a1Json, "a1Json");
|
|
163
|
+
function a1JsonOnce(...args) {
|
|
164
|
+
const raw = a1Once(...args, "--format", "json");
|
|
165
|
+
try {
|
|
166
|
+
return JSON.parse(raw);
|
|
167
|
+
} catch {
|
|
168
|
+
return void 0;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
__name(a1JsonOnce, "a1JsonOnce");
|
|
172
|
+
var A1_MIN_VERSION = "0.1.90";
|
|
173
|
+
function parseA1Version(out) {
|
|
174
|
+
const m = /version[^\d]*(\d+)\.(\d+)\.(\d+)/i.exec(out) ?? /(\d+)\.(\d+)\.(\d+)/.exec(out);
|
|
175
|
+
return m ? [Number(m[1]), Number(m[2]), Number(m[3])] : void 0;
|
|
176
|
+
}
|
|
177
|
+
__name(parseA1Version, "parseA1Version");
|
|
178
|
+
function a1VersionAtLeast(version, floor) {
|
|
179
|
+
for (let i = 0; i < 3; i++) {
|
|
180
|
+
if (version[i] !== floor[i]) return version[i] > floor[i];
|
|
181
|
+
}
|
|
182
|
+
return true;
|
|
183
|
+
}
|
|
184
|
+
__name(a1VersionAtLeast, "a1VersionAtLeast");
|
|
185
|
+
function execErrorCause(err) {
|
|
186
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
187
|
+
const lines = message.split("\n").map((l) => l.trim());
|
|
188
|
+
const candidates = /^(Command failed:|spawnSync |spawn )/.test(message) ? lines.slice(1) : lines;
|
|
189
|
+
return candidates.find(Boolean) ?? "";
|
|
190
|
+
}
|
|
191
|
+
__name(execErrorCause, "execErrorCause");
|
|
192
|
+
function aoneWhoamiAccount() {
|
|
193
|
+
let out;
|
|
194
|
+
try {
|
|
195
|
+
out = a1Json("auth", "whoami");
|
|
196
|
+
} catch (err) {
|
|
197
|
+
if (err instanceof SyntaxError) {
|
|
198
|
+
throw new Error("a1 auth whoami returned an unexpected shape");
|
|
199
|
+
}
|
|
200
|
+
throw err;
|
|
201
|
+
}
|
|
202
|
+
if (out === null || typeof out.account !== "string" || out.account.trim() === "") {
|
|
203
|
+
throw new Error("a1 auth whoami returned no account");
|
|
204
|
+
}
|
|
205
|
+
return out.account;
|
|
206
|
+
}
|
|
207
|
+
__name(aoneWhoamiAccount, "aoneWhoamiAccount");
|
|
208
|
+
function ensureAoneAuthenticated() {
|
|
209
|
+
let versionOut;
|
|
210
|
+
try {
|
|
211
|
+
versionOut = a1("--version");
|
|
212
|
+
} catch (err) {
|
|
213
|
+
const code = err.code;
|
|
214
|
+
if (code === "ENOENT" || code === "EACCES" || code === "ENOEXEC") {
|
|
215
|
+
throw new Error(
|
|
216
|
+
"a1 CLI not found on PATH or not executable \u2014 install the `a1` CLI first."
|
|
217
|
+
);
|
|
218
|
+
}
|
|
219
|
+
if (err.signal) {
|
|
220
|
+
process.stderr.write(
|
|
221
|
+
`WARNING: the a1 version probe timed out or was killed (check the network / a1 install) \u2014 the review provider requires a1 >= ${A1_MIN_VERSION}; continuing without a floor ruling.
|
|
222
|
+
`
|
|
223
|
+
);
|
|
224
|
+
} else {
|
|
225
|
+
const why = execErrorCause(err);
|
|
226
|
+
process.stderr.write(
|
|
227
|
+
`WARNING: the a1 version probe failed` + (why ? ` (${JSON.stringify(why.slice(0, 80))})` : "") + ` \u2014 the review provider requires a1 >= ${A1_MIN_VERSION}; continuing without a floor ruling.
|
|
228
|
+
`
|
|
229
|
+
);
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
if (versionOut !== void 0) {
|
|
233
|
+
const floor = parseA1Version(A1_MIN_VERSION);
|
|
234
|
+
const version = parseA1Version(versionOut);
|
|
235
|
+
if (version === void 0) {
|
|
236
|
+
process.stderr.write(
|
|
237
|
+
`WARNING: could not read the a1 version from ${JSON.stringify(versionOut.slice(0, 80))} \u2014 the review provider requires a1 >= ${A1_MIN_VERSION}; continuing.
|
|
238
|
+
`
|
|
239
|
+
);
|
|
240
|
+
} else if (!a1VersionAtLeast(version, floor)) {
|
|
241
|
+
throw new Error(
|
|
242
|
+
`a1 ${version.join(".")} is older than the ${A1_MIN_VERSION} this review provider requires \u2014 it depends on the comment-create flags and stable \`--format json\` output introduced there. Upgrade the a1 CLI (https://code.alibaba-inc.com/aone/a1) and retry.`
|
|
243
|
+
);
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
let raw;
|
|
247
|
+
try {
|
|
248
|
+
raw = a1("auth", "whoami", "--format", "json");
|
|
249
|
+
} catch (err) {
|
|
250
|
+
if (err.code === "ENOENT") {
|
|
251
|
+
throw new Error("a1 CLI not found on PATH \u2014 install the `a1` CLI first.");
|
|
252
|
+
}
|
|
253
|
+
const e = err;
|
|
254
|
+
if (e.signal) {
|
|
255
|
+
throw new Error(
|
|
256
|
+
"a1 auth check timed out or was killed \u2014 check the network / a1 install."
|
|
257
|
+
);
|
|
258
|
+
}
|
|
259
|
+
const cause = execErrorCause(err);
|
|
260
|
+
throw new Error(
|
|
261
|
+
`a1 auth check failed` + (cause ? ` \u2014 ${cause}` : "") + ` (if you have not logged in, run \`a1 auth login\`)`
|
|
262
|
+
);
|
|
263
|
+
}
|
|
264
|
+
try {
|
|
265
|
+
const out = JSON.parse(raw);
|
|
266
|
+
return typeof out.account === "string" ? out.account.trim() : "";
|
|
267
|
+
} catch {
|
|
268
|
+
return "";
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
__name(ensureAoneAuthenticated, "ensureAoneAuthenticated");
|
|
272
|
+
|
|
273
|
+
export {
|
|
274
|
+
hostsEquivalent,
|
|
275
|
+
isAoneCanonicalHost,
|
|
276
|
+
isAoneHostFamily,
|
|
277
|
+
parseRemoteUrl,
|
|
278
|
+
matchRemotes,
|
|
279
|
+
a1Once,
|
|
280
|
+
a1Json,
|
|
281
|
+
a1JsonOnce,
|
|
282
|
+
A1_MIN_VERSION,
|
|
283
|
+
parseA1Version,
|
|
284
|
+
a1VersionAtLeast,
|
|
285
|
+
execErrorCause,
|
|
286
|
+
aoneWhoamiAccount,
|
|
287
|
+
ensureAoneAuthenticated
|
|
288
|
+
};
|
|
289
|
+
/**
|
|
290
|
+
* @license
|
|
291
|
+
* Copyright 2026 Qwen Team
|
|
292
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
293
|
+
*/
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
performStandaloneUpdate
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-NGKLMNWN.js";
|
|
6
6
|
import {
|
|
7
7
|
updateEventEmitter
|
|
8
8
|
} from "./chunk-YAF2MQZ6.js";
|
|
@@ -11,15 +11,15 @@ import {
|
|
|
11
11
|
} from "./chunk-2AUM35J5.js";
|
|
12
12
|
import {
|
|
13
13
|
t
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-EU2B4P3D.js";
|
|
15
15
|
import {
|
|
16
16
|
getHomebrewLatestVersion,
|
|
17
17
|
getInstallationInfo,
|
|
18
18
|
resolveUpdateCommand
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-7XL4WRXM.js";
|
|
20
20
|
import {
|
|
21
21
|
createDebugLogger
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-EAHOJF6V.js";
|
|
23
23
|
import {
|
|
24
24
|
init_esbuild_shims
|
|
25
25
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
import {
|
|
4
4
|
TURN_INTERRUPTION_HISTORY_TAIL_COUNT,
|
|
5
5
|
detectTurnInterruption
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-NT7LXVV5.js";
|
|
7
7
|
import {
|
|
8
8
|
SessionService,
|
|
9
9
|
buildApiHistoryFromConversation
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-ZBDYI7VM.js";
|
|
11
11
|
import {
|
|
12
12
|
init_esbuild_shims
|
|
13
13
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
getErrorMessage,
|
|
6
6
|
isAbortError,
|
|
7
7
|
isNodeError
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-EAHOJF6V.js";
|
|
9
9
|
import {
|
|
10
10
|
init_esbuild_shims
|
|
11
11
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -5748,39 +5748,39 @@ var DEFAULT_CONTEXT_FILENAME = "QWEN.md";
|
|
|
5748
5748
|
var AGENT_CONTEXT_FILENAME = "AGENTS.md";
|
|
5749
5749
|
var LOCAL_CONTEXT_FILENAME = "QWEN.local.md";
|
|
5750
5750
|
var MEMORY_SECTION_HEADER = "## Qwen Added Memories";
|
|
5751
|
-
var
|
|
5751
|
+
var currentMemoryFilename = [
|
|
5752
5752
|
DEFAULT_CONTEXT_FILENAME,
|
|
5753
5753
|
AGENT_CONTEXT_FILENAME
|
|
5754
5754
|
];
|
|
5755
|
-
function
|
|
5755
|
+
function setMemoryFilename(newFilename) {
|
|
5756
5756
|
if (Array.isArray(newFilename)) {
|
|
5757
5757
|
if (newFilename.length > 0) {
|
|
5758
|
-
|
|
5758
|
+
currentMemoryFilename = newFilename.map((name) => name.trim());
|
|
5759
5759
|
}
|
|
5760
5760
|
} else if (newFilename && newFilename.trim() !== "") {
|
|
5761
|
-
|
|
5761
|
+
currentMemoryFilename = newFilename.trim();
|
|
5762
5762
|
}
|
|
5763
5763
|
}
|
|
5764
|
-
__name(
|
|
5765
|
-
function
|
|
5766
|
-
if (Array.isArray(
|
|
5767
|
-
for (const entry of
|
|
5764
|
+
__name(setMemoryFilename, "setMemoryFilename");
|
|
5765
|
+
function getCurrentMemoryFilename() {
|
|
5766
|
+
if (Array.isArray(currentMemoryFilename)) {
|
|
5767
|
+
for (const entry of currentMemoryFilename) {
|
|
5768
5768
|
if (typeof entry === "string" && entry.trim() !== "") {
|
|
5769
5769
|
return entry.trim();
|
|
5770
5770
|
}
|
|
5771
5771
|
}
|
|
5772
5772
|
return DEFAULT_CONTEXT_FILENAME;
|
|
5773
5773
|
}
|
|
5774
|
-
return
|
|
5774
|
+
return currentMemoryFilename;
|
|
5775
5775
|
}
|
|
5776
|
-
__name(
|
|
5777
|
-
function
|
|
5778
|
-
if (Array.isArray(
|
|
5779
|
-
return
|
|
5776
|
+
__name(getCurrentMemoryFilename, "getCurrentMemoryFilename");
|
|
5777
|
+
function getAllMemoryFilenames() {
|
|
5778
|
+
if (Array.isArray(currentMemoryFilename)) {
|
|
5779
|
+
return currentMemoryFilename;
|
|
5780
5780
|
}
|
|
5781
|
-
return [
|
|
5781
|
+
return [currentMemoryFilename];
|
|
5782
5782
|
}
|
|
5783
|
-
__name(
|
|
5783
|
+
__name(getAllMemoryFilenames, "getAllMemoryFilenames");
|
|
5784
5784
|
|
|
5785
5785
|
// packages/core/src/utils/pdf.ts
|
|
5786
5786
|
init_esbuild_shims();
|
|
@@ -7486,7 +7486,7 @@ var FileExclusions = class {
|
|
|
7486
7486
|
patterns.push(...DEFAULT_FILE_EXCLUDES);
|
|
7487
7487
|
}
|
|
7488
7488
|
if (includeDynamicPatterns) {
|
|
7489
|
-
for (const filename of
|
|
7489
|
+
for (const filename of getAllMemoryFilenames()) {
|
|
7490
7490
|
patterns.push(`**/${filename}`);
|
|
7491
7491
|
}
|
|
7492
7492
|
}
|
|
@@ -9457,9 +9457,9 @@ export {
|
|
|
9457
9457
|
loadIconvLite,
|
|
9458
9458
|
LOCAL_CONTEXT_FILENAME,
|
|
9459
9459
|
MEMORY_SECTION_HEADER,
|
|
9460
|
-
|
|
9461
|
-
|
|
9462
|
-
|
|
9460
|
+
setMemoryFilename,
|
|
9461
|
+
getCurrentMemoryFilename,
|
|
9462
|
+
getAllMemoryFilenames,
|
|
9463
9463
|
FileExclusions,
|
|
9464
9464
|
getCachedEncodingForBuffer,
|
|
9465
9465
|
getSystemEncoding,
|
|
@@ -0,0 +1,110 @@
|
|
|
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/utils/no-follow-open.ts
|
|
11
|
+
init_esbuild_shims();
|
|
12
|
+
import fs from "node:fs";
|
|
13
|
+
|
|
14
|
+
// packages/core/src/utils/file-identity.ts
|
|
15
|
+
init_esbuild_shims();
|
|
16
|
+
function hasVerifiableInode(ino) {
|
|
17
|
+
return Number(ino) !== 0;
|
|
18
|
+
}
|
|
19
|
+
__name(hasVerifiableInode, "hasVerifiableInode");
|
|
20
|
+
|
|
21
|
+
// packages/core/src/utils/no-follow-open.ts
|
|
22
|
+
var UNVERIFIABLE_IDENTITY_CODE = "EUNVERIFIABLE";
|
|
23
|
+
function isUnverifiableIdentityError(error) {
|
|
24
|
+
return typeof error === "object" && error !== null && error.code === UNVERIFIABLE_IDENTITY_CODE;
|
|
25
|
+
}
|
|
26
|
+
__name(isUnverifiableIdentityError, "isUnverifiableIdentityError");
|
|
27
|
+
function noFollowRejection(filePath, reason, code = "ELOOP") {
|
|
28
|
+
const error = new Error(
|
|
29
|
+
`Refusing to open '${filePath}' without a no-follow guarantee: ${reason}`
|
|
30
|
+
);
|
|
31
|
+
error.code = code;
|
|
32
|
+
return error;
|
|
33
|
+
}
|
|
34
|
+
__name(noFollowRejection, "noFollowRejection");
|
|
35
|
+
function assertSameIdentity(filePath, before, after) {
|
|
36
|
+
if (!hasVerifiableInode(before.ino)) {
|
|
37
|
+
throw noFollowRejection(
|
|
38
|
+
filePath,
|
|
39
|
+
"the filesystem reports inode 0, so the opened file cannot be proven identical to the one that was checked",
|
|
40
|
+
UNVERIFIABLE_IDENTITY_CODE
|
|
41
|
+
);
|
|
42
|
+
}
|
|
43
|
+
if (before.dev !== after.dev || before.ino !== after.ino) {
|
|
44
|
+
throw noFollowRejection(
|
|
45
|
+
filePath,
|
|
46
|
+
"the file identity changed between the pre-open check and the open (possible symlink race)"
|
|
47
|
+
);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
__name(assertSameIdentity, "assertSameIdentity");
|
|
51
|
+
function getNoFollowFlag() {
|
|
52
|
+
return fs.constants?.O_NOFOLLOW;
|
|
53
|
+
}
|
|
54
|
+
__name(getNoFollowFlag, "getNoFollowFlag");
|
|
55
|
+
function openSyncNoFollow(filePath) {
|
|
56
|
+
const baseFlags = fs.constants?.O_RDONLY ?? 0;
|
|
57
|
+
const noFollowFlag = getNoFollowFlag();
|
|
58
|
+
if (typeof noFollowFlag === "number") {
|
|
59
|
+
return fs.openSync(filePath, baseFlags | noFollowFlag);
|
|
60
|
+
}
|
|
61
|
+
const before = fs.lstatSync(filePath);
|
|
62
|
+
if (before.isSymbolicLink()) {
|
|
63
|
+
throw noFollowRejection(filePath, "the path is a symlink");
|
|
64
|
+
}
|
|
65
|
+
const fd = fs.openSync(filePath, baseFlags);
|
|
66
|
+
try {
|
|
67
|
+
assertSameIdentity(filePath, before, fs.fstatSync(fd));
|
|
68
|
+
} catch (error) {
|
|
69
|
+
try {
|
|
70
|
+
fs.closeSync(fd);
|
|
71
|
+
} catch {
|
|
72
|
+
}
|
|
73
|
+
throw error;
|
|
74
|
+
}
|
|
75
|
+
return fd;
|
|
76
|
+
}
|
|
77
|
+
__name(openSyncNoFollow, "openSyncNoFollow");
|
|
78
|
+
async function openNoFollow(filePath) {
|
|
79
|
+
const baseFlags = fs.constants?.O_RDONLY ?? 0;
|
|
80
|
+
const noFollowFlag = getNoFollowFlag();
|
|
81
|
+
if (typeof noFollowFlag === "number") {
|
|
82
|
+
return fs.promises.open(filePath, baseFlags | noFollowFlag);
|
|
83
|
+
}
|
|
84
|
+
const before = await fs.promises.lstat(filePath);
|
|
85
|
+
if (before.isSymbolicLink()) {
|
|
86
|
+
throw noFollowRejection(filePath, "the path is a symlink");
|
|
87
|
+
}
|
|
88
|
+
const handle = await fs.promises.open(filePath, baseFlags);
|
|
89
|
+
try {
|
|
90
|
+
assertSameIdentity(filePath, before, await handle.stat());
|
|
91
|
+
} catch (error) {
|
|
92
|
+
await handle.close().catch(() => {
|
|
93
|
+
});
|
|
94
|
+
throw error;
|
|
95
|
+
}
|
|
96
|
+
return handle;
|
|
97
|
+
}
|
|
98
|
+
__name(openNoFollow, "openNoFollow");
|
|
99
|
+
|
|
100
|
+
export {
|
|
101
|
+
hasVerifiableInode,
|
|
102
|
+
isUnverifiableIdentityError,
|
|
103
|
+
openSyncNoFollow,
|
|
104
|
+
openNoFollow
|
|
105
|
+
};
|
|
106
|
+
/**
|
|
107
|
+
* @license
|
|
108
|
+
* Copyright 2026 Qwen Team
|
|
109
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
110
|
+
*/
|
|
@@ -6,11 +6,12 @@ import {
|
|
|
6
6
|
OFFICE_DOCUMENT_EXTENSIONS,
|
|
7
7
|
hasControlCharacter,
|
|
8
8
|
hasUnsafeDisplayPayload,
|
|
9
|
+
pathHasSkippedDirectoryComponent,
|
|
9
10
|
toCanonicalWorkspaceArtifactPath
|
|
10
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-W4BDHLRT.js";
|
|
11
12
|
import {
|
|
12
13
|
checkTeamMemorySecrets
|
|
13
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-UKYXYWI2.js";
|
|
14
15
|
import {
|
|
15
16
|
CommitAttributionService,
|
|
16
17
|
FileEncoding,
|
|
@@ -19,27 +20,27 @@ import {
|
|
|
19
20
|
detectLineEnding,
|
|
20
21
|
getDiffStat,
|
|
21
22
|
needsUtf8Bom
|
|
22
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-ZBDYI7VM.js";
|
|
23
24
|
import {
|
|
24
25
|
FileOperationEvent,
|
|
25
26
|
getLanguageFromFilePath,
|
|
26
27
|
logFileOperation
|
|
27
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-FXUSWLBF.js";
|
|
28
29
|
import {
|
|
29
30
|
fileExists,
|
|
30
31
|
getSpecificMimeType
|
|
31
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-67AY5D3M.js";
|
|
32
33
|
import {
|
|
33
34
|
isAnyAutoMemPath,
|
|
34
35
|
isTeamAutoMemPath
|
|
35
|
-
} from "./chunk-
|
|
36
|
+
} from "./chunk-HT5S5TRQ.js";
|
|
36
37
|
import {
|
|
37
38
|
BaseDeclarativeTool,
|
|
38
39
|
BaseToolInvocation,
|
|
39
40
|
StructuredToolError,
|
|
40
41
|
ToolDisplayNames,
|
|
41
42
|
ToolNames
|
|
42
|
-
} from "./chunk-
|
|
43
|
+
} from "./chunk-LYSZVCCD.js";
|
|
43
44
|
import {
|
|
44
45
|
createDebugLogger,
|
|
45
46
|
getErrorMessage,
|
|
@@ -47,7 +48,7 @@ import {
|
|
|
47
48
|
makeRelative,
|
|
48
49
|
shortenPath,
|
|
49
50
|
unescapePath
|
|
50
|
-
} from "./chunk-
|
|
51
|
+
} from "./chunk-EAHOJF6V.js";
|
|
51
52
|
import {
|
|
52
53
|
init_esbuild_shims
|
|
53
54
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -376,7 +377,7 @@ var WriteFileToolInvocation = class extends BaseToolInvocation {
|
|
|
376
377
|
`User modified the \`content\` to be: ${content}`
|
|
377
378
|
);
|
|
378
379
|
}
|
|
379
|
-
const artifact = buildWorkspaceArtifactMetadata(
|
|
380
|
+
const artifact = this.params.record_as_artifact === false ? null : buildWorkspaceArtifactMetadata(
|
|
380
381
|
this.config,
|
|
381
382
|
file_path,
|
|
382
383
|
postWriteSizeBytes
|
|
@@ -498,6 +499,9 @@ function resolveRecordedWorkspaceFile(config, filePath) {
|
|
|
498
499
|
if (!workspacePath) {
|
|
499
500
|
return null;
|
|
500
501
|
}
|
|
502
|
+
if (pathHasSkippedDirectoryComponent(workspacePath)) {
|
|
503
|
+
return null;
|
|
504
|
+
}
|
|
501
505
|
return { filePath: resolvedFile, workspacePath };
|
|
502
506
|
}
|
|
503
507
|
__name(resolveRecordedWorkspaceFile, "resolveRecordedWorkspaceFile");
|
|
@@ -512,6 +516,8 @@ var WriteFileTool = class _WriteFileTool extends BaseDeclarativeTool {
|
|
|
512
516
|
ToolDisplayNames.WRITE_FILE,
|
|
513
517
|
`Writes content to a specified file in the local filesystem. A request to create or generate a file does not establish that the target path is new. Unless the target's absence or current text contents have already been established in this session, you MUST use the ${ToolNames.READ_FILE} tool first; if the file does not exist, then create it. With prior-read enforcement enabled, blind overwrites are rejected. The file_path argument MUST be an absolute path. Always construct it by combining the project root with the file's relative path (e.g. project root '/path/to/project/' + relative 'foo/bar.txt' = '/path/to/project/foo/bar.txt'). If the user provides a relative path, resolve it against the project root first.
|
|
514
518
|
|
|
519
|
+
Artifact-like files such as HTML, PDF, images, notebooks, and office documents are automatically registered as session artifacts. Intermediate files that exist only to produce another artifact \u2014 for example HTML written solely to print a PDF \u2014 must set record_as_artifact=false, or be written under .qwen/tmp/ so they are not registered. Delete those intermediates when done.
|
|
520
|
+
|
|
515
521
|
The user has the ability to modify \`content\`. If modified, this will be stated in the response.`,
|
|
516
522
|
"edit" /* Edit */,
|
|
517
523
|
{
|
|
@@ -523,6 +529,10 @@ The user has the ability to modify \`content\`. If modified, this will be stated
|
|
|
523
529
|
content: {
|
|
524
530
|
description: "The content to write to the file.",
|
|
525
531
|
type: "string"
|
|
532
|
+
},
|
|
533
|
+
record_as_artifact: {
|
|
534
|
+
description: "Set false for intermediate files that should not appear as session artifacts, such as HTML used only to print a PDF. Defaults to true for artifact-like extensions.",
|
|
535
|
+
type: "boolean"
|
|
526
536
|
}
|
|
527
537
|
},
|
|
528
538
|
required: ["file_path", "content"],
|