@qwen-code/qwen-code 0.20.2-headless-image-routing.1 → 0.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundled/qc-helper/docs/configuration/settings.md +5 -0
- package/bundled/qc-helper/docs/features/sub-agents.md +23 -5
- package/bundled/qc-helper/docs/integration-github-action.md +9 -9
- package/bundled/review/SKILL.md +7 -3
- package/chunks/MaxSizedBox-5DPPWPGT.js +85 -0
- package/chunks/{StandaloneSessionPicker-PLQQB22E.js → StandaloneSessionPicker-BIRMPLRD.js} +66 -59
- package/chunks/{acp-startup-profiler-N3RHHXJ3.js → acp-startup-profiler-RV3IV562.js} +2 -2
- package/chunks/{acpAgent-AIVK2EM5.js → acpAgent-6J2U72PQ.js} +705 -182
- package/chunks/agent-6ODUANDO.js +81 -0
- package/chunks/agent-headless-7BYQTMHW.js +75 -0
- package/chunks/{anthropicContentGenerator-HGWAHO24.js → anthropicContentGenerator-75BKLTSP.js} +117 -43
- package/chunks/{artifact-tool-56T5IMBP.js → artifact-tool-Y5T7GG7F.js} +3 -3
- package/chunks/{askUserQuestion-E25OBIC2.js → askUserQuestion-2H6747FR.js} +3 -3
- package/chunks/bridge-ZUB64FAE.js +90 -0
- package/chunks/{build-GHIZ4MSZ.js → build-RV63TIRH.js} +2 -3
- package/chunks/{ca-N6VVUFVB.js → ca-25EDXPFZ.js} +2 -0
- package/chunks/{channel-worker-group-QZV2SP5U.js → channel-worker-group-2ZD7TVAT.js} +8 -7
- package/chunks/{channel-worker-manager-3GMAU45H.js → channel-worker-manager-4OA4BCGB.js} +190 -30
- package/chunks/{channel-worker-supervisor-QCXSXCRY.js → channel-worker-supervisor-V7KCFJTS.js} +7 -6
- package/chunks/{chunk-TYQMGACW.js → chunk-22C7BQ6D.js} +508 -10967
- package/chunks/chunk-2JZBVYTU.js +452 -0
- package/chunks/{chunk-H2XVO6NE.js → chunk-2MIN6GRR.js} +1 -1
- package/chunks/{chunk-4DWTDZGS.js → chunk-2NH6DYI4.js} +12 -12
- package/chunks/chunk-2SCDWPXI.js +246 -0
- package/chunks/{chunk-QE4KFTBS.js → chunk-2X55UKQE.js} +3 -3
- package/chunks/{chunk-QBUDF33N.js → chunk-3QMGYBFN.js} +1 -1
- package/chunks/{chunk-3OAKYHRG.js → chunk-3RN6GBKS.js} +1 -1
- package/chunks/{chunk-QR6U5QPP.js → chunk-3SJ43L4W.js} +4 -0
- package/chunks/chunk-46UV252V.js +128 -0
- package/chunks/{chunk-GHRSKGHF.js → chunk-4WIZGAH3.js} +7 -7
- package/chunks/{chunk-CAS7CB3T.js → chunk-55DJUCI2.js} +87 -29
- package/chunks/{chunk-QNLNLENL.js → chunk-5I2IWRSH.js} +2 -2
- package/chunks/{chunk-H24SOJIQ.js → chunk-5NBDS5S6.js} +147 -7
- package/chunks/{chunk-E4IMU4Y5.js → chunk-63P4EL5V.js} +1 -1
- package/chunks/chunk-6FGBXPWM.js +293 -0
- package/chunks/{chunk-FFFM6NJV.js → chunk-6GMVPFB2.js} +155 -73
- package/chunks/{chunk-KWK7UE6L.js → chunk-6OUGMXDC.js} +6 -6
- package/chunks/{chunk-QRUIS3DN.js → chunk-6PEXNQTX.js} +22 -1
- package/chunks/{chunk-FZPTCQY7.js → chunk-7JURR4JT.js} +1 -1
- package/chunks/{chunk-Q6NAKZTA.js → chunk-7MVVZO4N.js} +4 -4
- package/chunks/{chunk-6ZBPS62S.js → chunk-7ZCNENPP.js} +1 -1
- package/chunks/{chunk-6X4GWOPW.js → chunk-A5L3JMUA.js} +1 -1
- package/chunks/{chunk-YO2XRXY6.js → chunk-ACY3A37B.js} +3 -3
- package/chunks/chunk-AMDSOFFV.js +10860 -0
- package/chunks/{chunk-RV4C2ZFG.js → chunk-BIQWWWJN.js} +1 -1
- package/chunks/{chunk-ZHERRXZJ.js → chunk-BJX6ZSUK.js} +4 -4
- package/chunks/chunk-BK2UNYWD.js +29 -0
- package/chunks/{chunk-FRPDJNK3.js → chunk-BKHWX6I2.js} +3 -3
- package/chunks/chunk-BPJSQIJX.js +100 -0
- package/chunks/{chunk-M7WBGLYP.js → chunk-BULDBTYC.js} +2 -0
- package/chunks/{chunk-ZDP2Y2AL.js → chunk-CIKQ7KKO.js} +4625 -8645
- package/chunks/{chunk-PEJWA3QQ.js → chunk-D3UEZIQH.js} +4 -2
- package/chunks/chunk-DHHOYAPR.js +1462 -0
- package/chunks/{chunk-LESHKUWF.js → chunk-DLWL3Z7A.js} +5 -3
- package/chunks/{chunk-XHATNRQA.js → chunk-DP3IHZGG.js} +0 -2
- package/chunks/chunk-E5TUC6CA.js +479 -0
- package/chunks/{chunk-JC26SJ5Y.js → chunk-EBJQ6AXW.js} +13 -12
- package/chunks/{chunk-RCWKCN2Z.js → chunk-EPDRMGT4.js} +164 -17
- package/chunks/{chunk-FUFCALSJ.js → chunk-ETSW4KLJ.js} +2 -2
- package/chunks/{chunk-KHOVYUHX.js → chunk-FNQ6T3CV.js} +20 -3
- package/chunks/{chunk-SP5WRGVG.js → chunk-FQK6JAFG.js} +72 -23
- package/chunks/{chunk-NWZY2SPY.js → chunk-FSITMZJH.js} +8 -8
- package/chunks/{chunk-6RLROE6G.js → chunk-GLWP3FDB.js} +80 -15
- package/chunks/{chunk-KPBVP6SL.js → chunk-GSN55ZRI.js} +5 -5
- package/chunks/{chunk-MLYGPZGU.js → chunk-H4SBPHSA.js} +3 -3
- package/chunks/chunk-H5FFA6TH.js +902 -0
- package/chunks/{chunk-TDKQP3M6.js → chunk-HIJQF5B5.js} +1 -1
- package/chunks/{chunk-5G3ZVADU.js → chunk-IJTOWOD7.js} +17 -6
- package/chunks/chunk-IKCX4CCL.js +469 -0
- package/chunks/{chunk-LPEONXNV.js → chunk-IKYJHJNF.js} +3 -3
- package/chunks/{chunk-DTZY2SH2.js → chunk-IO3IX5Q4.js} +1 -1
- package/chunks/{chunk-RS7MT2QG.js → chunk-IPUUTYMV.js} +2 -4
- package/chunks/{chunk-XU457J4V.js → chunk-IRH27ZC2.js} +2 -2
- package/chunks/{chunk-46DK772E.js → chunk-J24WCGIN.js} +4 -4
- package/chunks/{chunk-4LVZNIDO.js → chunk-J56UI34H.js} +4 -13
- package/chunks/{chunk-TJTKSVIV.js → chunk-JLU636DO.js} +5 -1
- package/chunks/{chunk-RKWX4CMO.js → chunk-JVPM2ULZ.js} +6 -6
- package/chunks/{chunk-ENPCQK44.js → chunk-JXJFVC6E.js} +37 -18
- package/chunks/{chunk-NABLFI57.js → chunk-JZA3JUDJ.js} +1 -1
- package/chunks/{chunk-CGLQAVZE.js → chunk-K36B6G2O.js} +5 -5
- package/chunks/{chunk-GPSKDNEE.js → chunk-K4XWPEWB.js} +4 -4
- package/chunks/{chunk-QOZOIPSF.js → chunk-KIM5GUMA.js} +650 -113
- package/chunks/{chunk-JZSM2IZ3.js → chunk-KMQ33DO4.js} +7 -5
- package/chunks/{chunk-E2UVIFI2.js → chunk-KRXPRVGL.js} +0 -1
- package/chunks/{chunk-WHGVTP7Q.js → chunk-L26JL52R.js} +3 -3
- package/chunks/{chunk-7Z6JQEL6.js → chunk-L5UHQJTJ.js} +1 -1
- package/chunks/{chunk-O2XSCRCS.js → chunk-LB6DUZ26.js} +259 -67
- package/chunks/chunk-LEH5C7FV.js +232 -0
- package/chunks/{chunk-RWV32G2M.js → chunk-LH2BYDQ5.js} +6 -4
- package/chunks/{chunk-QKTHJXCS.js → chunk-LK7CHLVP.js} +79 -2
- package/chunks/{chunk-VRRF3GW5.js → chunk-LKEJ26GS.js} +11 -11
- package/chunks/{chunk-SQFXI7VK.js → chunk-LQIW3YFY.js} +227 -41
- package/chunks/chunk-LS77BEZP.js +405 -0
- package/chunks/{chunk-BSHD62QJ.js → chunk-M4FMGVY4.js} +3 -3
- package/chunks/{chunk-57FIIFJN.js → chunk-M5JM7OSF.js} +1 -1
- package/chunks/{chunk-7362QS5B.js → chunk-MB4MZHMJ.js} +80 -37
- package/chunks/{chunk-4K56OJFJ.js → chunk-MUP3T3AD.js} +1 -1
- package/chunks/{chunk-3HFNGB2O.js → chunk-MVSUYZDT.js} +4 -4
- package/chunks/{chunk-T5IO6FZ4.js → chunk-MZAXJAUM.js} +1 -1
- package/chunks/{chunk-QKNXKTZX.js → chunk-NH6KE4JX.js} +3 -3
- package/chunks/chunk-NIBLUX3Y.js +934 -0
- package/chunks/{chunk-OQB4EXO4.js → chunk-NL7LTRLR.js} +1 -1
- package/chunks/{chunk-CS2FSS7W.js → chunk-OFDOK3VM.js} +5 -5
- package/chunks/{chunk-LIZRAKPB.js → chunk-OHNBB4XR.js} +1 -1
- package/chunks/{chunk-MDZTPSXO.js → chunk-OKY7HXPG.js} +2 -2
- package/chunks/{chunk-NHDKSOEY.js → chunk-P3QQPMQA.js} +5 -5
- package/chunks/{chunk-7THPNISK.js → chunk-PC6JANNU.js} +5 -5
- package/chunks/{chunk-OTQ6PSZC.js → chunk-PHOF65IG.js} +3498 -1030
- package/chunks/{chunk-OQ5SYCPE.js → chunk-PJIZUQVC.js} +2 -2
- package/chunks/{chunk-5DTTYNB7.js → chunk-PQNHRFJC.js} +16 -3
- package/chunks/{chunk-YM3SZTH4.js → chunk-PR75REBZ.js} +18 -1
- package/chunks/{chunk-RECUEJ7B.js → chunk-PSOO6YXD.js} +18 -15
- package/chunks/{chunk-X6N25LXS.js → chunk-PWTZEM3C.js} +2 -2
- package/chunks/{chunk-5NJTNQUW.js → chunk-PWVFN2LF.js} +1 -1
- package/chunks/{chunk-7AUH6A4T.js → chunk-Q4M4MDQ4.js} +2 -2
- package/chunks/{chunk-EZPB6S2I.js → chunk-QAF7NMK7.js} +1 -1
- package/chunks/{chunk-5GI55PF5.js → chunk-R5AFZNQW.js} +5 -5
- package/chunks/{chunk-T5B5NQZX.js → chunk-RF3EXIHJ.js} +47 -60
- package/chunks/{chunk-4K7VDKAD.js → chunk-RHLZR4E5.js} +1 -1
- package/chunks/{chunk-TJDW42MV.js → chunk-RIBKPMRP.js} +220 -141
- package/chunks/{chunk-RVLZCXEE.js → chunk-RWTEFFPU.js} +82 -3
- package/chunks/{chunk-L5QZGCRH.js → chunk-RZIX2G32.js} +1 -1
- package/chunks/{chunk-LLKWRXSS.js → chunk-SQCQ4KO2.js} +350 -418
- package/chunks/{chunk-THJNPLI4.js → chunk-TARRHLLG.js} +1 -0
- package/chunks/{chunk-XCXYRDHB.js → chunk-TEHGS6UP.js} +47 -18
- package/chunks/{chunk-PQIVAWXN.js → chunk-TGILQ3YH.js} +8 -8
- package/chunks/{chunk-Q2YKNMLS.js → chunk-TOFQCPDC.js} +43 -10
- package/chunks/{chunk-L3KUB6XM.js → chunk-TPRQ7RZH.js} +586 -242
- package/chunks/{chunk-T4TZQJ7W.js → chunk-TWPJO254.js} +5 -16
- package/chunks/{chunk-HIP6TVWA.js → chunk-U7M2DMGW.js} +3 -3
- package/chunks/{chunk-ACW3VNUE.js → chunk-UDX5OBWR.js} +41 -9
- package/chunks/{chunk-LW2FUYBN.js → chunk-USTWD7QV.js} +6 -4
- package/chunks/{chunk-NPQDJGKU.js → chunk-UUUTRMI2.js} +1 -1
- package/chunks/chunk-UW5EOVUN.js +249 -0
- package/chunks/{chunk-6IL7KRLE.js → chunk-VAK25FTU.js} +1 -1
- package/chunks/{chunk-O4BHWVUD.js → chunk-VIA5XA4U.js} +5 -2
- package/chunks/{chunk-EBXZ2YGV.js → chunk-VRYUBFMC.js} +1 -1
- package/chunks/{chunk-TWVE5ZS5.js → chunk-VULLI6WQ.js} +172 -6
- package/chunks/{chunk-LNDD3IML.js → chunk-WCXCRJYB.js} +1 -1
- package/chunks/{chunk-2LI23QA6.js → chunk-X5XDDSSH.js} +1 -1
- package/chunks/{chunk-Q35QUZDQ.js → chunk-Y34KJKDC.js} +1 -1
- package/chunks/{chunk-7NR2AIK6.js → chunk-YBL3QUDD.js} +2 -2
- package/chunks/{chunk-H4AR2JQF.js → chunk-YH6G52F2.js} +3 -3
- package/chunks/{chunk-MBOJHHPI.js → chunk-YPE6A4GC.js} +2 -2
- package/chunks/{chunk-3EK5ZOUQ.js → chunk-YX324OPW.js} +1 -1
- package/chunks/{chunk-4PTLZ3NX.js → chunk-Z2BC6UJ5.js} +3 -3
- package/chunks/{chunk-QLJUC7TG.js → chunk-ZD6UTE4A.js} +1 -1
- package/chunks/{chunk-LX3COOXF.js → chunk-ZFDTEDCF.js} +6 -6
- package/chunks/chunk-ZJHVAS7M.js +289 -0
- package/chunks/{chunk-4OWXOUYF.js → chunk-ZNAUOR2I.js} +15 -12
- package/chunks/{chunk-T2L47JJK.js → chunk-ZOIFNCKL.js} +4 -4
- package/chunks/{computer-use-2VIV73WK.js → computer-use-SOQ4E3VX.js} +43 -35
- package/chunks/{config-utils-FYTBZLCJ.js → config-utils-7V7GGIW6.js} +3 -3
- package/chunks/contextCommand-JLHYA34Z.js +80 -0
- package/chunks/{create-sub-session-AZ77LBL3.js → create-sub-session-IWW2IZ2T.js} +3 -3
- package/chunks/{create-sub-session-XDHHC2P4.js → create-sub-session-QRJLW5BV.js} +43 -35
- package/chunks/{cron-create-KTWJM7QT.js → cron-create-YIID5XAW.js} +6 -6
- package/chunks/{cron-delete-2P3I5ULL.js → cron-delete-ZVHYCEP2.js} +5 -5
- package/chunks/{cron-list-PXDPGEDQ.js → cron-list-XEGS463Q.js} +5 -5
- package/chunks/{daemon-RAPSDJH7.js → daemon-YO6433NF.js} +350 -53
- package/chunks/daemon-status-provider-2233Q37D.js +89 -0
- package/chunks/{de-4IBXM7CN.js → de-HGRCYDEJ.js} +1 -0
- package/chunks/{dist-UIFWIFRO.js → dist-46NQKLTW.js} +2 -2
- package/chunks/{dist-XRYV6TJP.js → dist-AIKFMUKK.js} +50 -4
- package/chunks/{dist-XBJVSWS2.js → dist-BBLXMS3N.js} +14 -2
- package/chunks/{dist-OMW6WDEO.js → dist-F6IBUDR4.js} +40 -9
- package/chunks/{dist-PJLG2XYX.js → dist-WEAHOXDM.js} +1 -1
- package/chunks/{dist-OAV7LJGJ.js → dist-YFNEUWSE.js} +26 -2
- package/chunks/earlyInputCapture-A7NDU3PF.js +82 -0
- package/chunks/{edit-CS6SFEXC.js → edit-OBDSQURM.js} +43 -35
- package/chunks/{en-USMCCJAJ.js → en-MTWBNGDO.js} +15 -0
- package/chunks/{enter-worktree-LMAL75DY.js → enter-worktree-U6MRPQ2P.js} +43 -35
- package/chunks/{enterPlanMode-WVJB4DSS.js → enterPlanMode-BC5QUZZ2.js} +43 -35
- package/chunks/{environment-6YHC4JAJ.js → environment-W5UFC2CH.js} +46 -38
- package/chunks/errors-M7CLORXH.js +88 -0
- package/chunks/{exit-worktree-KPFD742L.js → exit-worktree-DGNYMECB.js} +43 -35
- package/chunks/{exitPlanMode-UEJS6CDY.js → exitPlanMode-GXTBWQAR.js} +43 -35
- package/chunks/{fast-path-G2N4NRCA.js → fast-path-JJZFJANL.js} +6 -6
- package/chunks/{fast-path-settings-DAOVFADC.js → fast-path-settings-WQJU2LAT.js} +2 -2
- package/chunks/{fr-WVHEBDDB.js → fr-45RLL55O.js} +1 -0
- package/chunks/{gemini-2MDVIOVT.js → gemini-QS36EBZV.js} +132 -102
- package/chunks/{geminiContentGenerator-ZXTDBMFR.js → geminiContentGenerator-AG4KB6CV.js} +14 -8
- package/chunks/{getMachineId-bsd-QFVLPUPT.js → getMachineId-bsd-V7W3GODC.js} +1 -1
- package/chunks/{getMachineId-darwin-DGMQQE2E.js → getMachineId-darwin-TDO75DQP.js} +1 -1
- package/chunks/{getMachineId-linux-R4Z6CSWC.js → getMachineId-linux-TF43WQT2.js} +1 -1
- package/chunks/{getMachineId-unsupported-Z3SBVBUV.js → getMachineId-unsupported-ZGUO3TXT.js} +1 -1
- package/chunks/{getMachineId-win-SCK5UFDT.js → getMachineId-win-ECFYZZFQ.js} +1 -1
- package/chunks/{glob-562XFLIZ.js → glob-V7R3PSK3.js} +43 -35
- package/chunks/{grep-MGEFBDQK.js → grep-QYPSK7OP.js} +43 -35
- package/chunks/handleAutoUpdate-6DBEZYPV.js +81 -0
- package/chunks/{i18n-R6HJENXA.js → i18n-VUJJZIMU.js} +44 -36
- package/chunks/image-gen-Z3VPGKRC.js +240 -0
- package/chunks/initializer-UWAK5U5O.js +86 -0
- package/chunks/installationInfo-6O2YAA52.js +80 -0
- package/chunks/{ja-KY4ROZTE.js → ja-B7DF7DFG.js} +1 -0
- package/chunks/{keychain-token-storage-6ACJDYIB.js → keychain-token-storage-MDTG3WRM.js} +3 -3
- package/chunks/{kittyProtocolDetector-HCNNKJTI.js → kittyProtocolDetector-MBRTDRBK.js} +5 -3
- package/chunks/list-GB4ESM3T.js +89 -0
- package/chunks/list-agents-5KJJHR6I.js +80 -0
- package/chunks/loadedSettingsAdapter-OT6JVQ7U.js +83 -0
- package/chunks/loggingContentGenerator-HS3S5H3Q.js +1077 -0
- package/chunks/{loop-wakeup-RNMRVA66.js → loop-wakeup-FXKNNYSY.js} +7 -7
- package/chunks/{ls-J2ZI5XYK.js → ls-NTK6VOQJ.js} +5 -5
- package/chunks/{lsp-UMS3NUB5.js → lsp-2JI24STP.js} +3 -3
- package/chunks/{managed-npm-update-4KNYSOYC.js → managed-npm-update-JYEMMXA3.js} +94 -38
- package/chunks/mcp-6DBDJPFU.js +83 -0
- package/chunks/{monitor-DMHKE4SW.js → monitor-R3ODH5U6.js} +45 -36
- package/chunks/node-UUDY34IG.js +305 -0
- package/chunks/nonInteractiveCli-MOYCYBBU.js +141 -0
- package/chunks/{notebook-edit-35SJGEOR.js → notebook-edit-BNOK452R.js} +43 -35
- package/chunks/{openaiContentGenerator-5LPAFXPF.js → openaiContentGenerator-WMCU3O2H.js} +27 -17
- package/chunks/pidfile-TFRZZZIO.js +86 -0
- package/chunks/{processUtils-GM2I55KF.js → processUtils-RT7UNCC2.js} +2 -2
- package/chunks/{pt-OK455PLH.js → pt-22Q3FP73.js} +1 -0
- package/chunks/{qwenContentGenerator-HKOYNP7H.js → qwenContentGenerator-HHCRK4SX.js} +56 -42
- package/chunks/{qwenOAuth2-NUUYC3V5.js → qwenOAuth2-OWLB5AKH.js} +14 -27
- package/chunks/read-file-APMO3PSX.js +31 -0
- package/chunks/{read-mcp-resource-F6HYMDUY.js → read-mcp-resource-4DKQWGHD.js} +3 -3
- package/chunks/{record-artifact-7GCFLDD7.js → record-artifact-RQKFYO5B.js} +3 -3
- package/chunks/resumeHistoryUtils-6KRYEAWZ.js +91 -0
- package/chunks/ripGrep-BEJDEDXW.js +73 -0
- package/chunks/{ru-7SPDGMGD.js → ru-FZCNZHDC.js} +1 -0
- package/chunks/{run-qwen-serve-5VH3F4NW.js → run-qwen-serve-FU6HEM4J.js} +271 -57
- package/chunks/{runtime-OH77YH7W.js → runtime-XXRRTNP6.js} +55 -45
- package/chunks/{scheduler-WJQSLCSV.js → scheduler-G2ZS2Z7E.js} +43 -35
- package/chunks/{sdk-exporters-grpc-ETLH47EP.js → sdk-exporters-grpc-AK3LGHNO.js} +3 -3
- package/chunks/{sdk-exporters-http-T3POX73F.js → sdk-exporters-http-FYBSUCPD.js} +6 -6
- package/chunks/{sdk-impl-NSLPDH6I.js → sdk-impl-GMVPB7NB.js} +6 -6
- package/chunks/{send-message-PYIJ2PZL.js → send-message-Q6OOR6BR.js} +46 -9
- package/chunks/serve-7BSTXJ4T.js +89 -0
- package/chunks/{server-E4N4AI6Z.js → server-4UMH7OIZ.js} +2362 -411
- package/chunks/{session-5YUWIOQE.js → session-K3O3Q2SV.js} +105 -87
- package/chunks/{settings-YY7ZSFO7.js → settings-CR2EWTBA.js} +53 -45
- package/chunks/shell-HH3PF3A2.js +83 -0
- package/chunks/{skill-PAIDX3EU.js → skill-I3SDA4MB.js} +17 -16
- package/chunks/spawnChannel-RWNDBXGA.js +82 -0
- package/chunks/{src-IZXLJI5M.js → src-GE4TTTML.js} +302 -184
- package/chunks/{standalone-update-X675JVBL.js → standalone-update-Q6WFRZZQ.js} +45 -37
- package/chunks/{startInteractiveUI-ND2IVBU3.js → startInteractiveUI-SLZGHRPH.js} +747 -310
- package/chunks/{syntheticOutput-H7RTI5KL.js → syntheticOutput-I3757IWH.js} +4 -4
- package/chunks/{task-create-7474AJJD.js → task-create-N7WQSGYA.js} +10 -10
- package/chunks/{task-list-633HGOIB.js → task-list-FOPULZEP.js} +7 -7
- package/chunks/{task-stop-MNUGHPIA.js → task-stop-H6RHXFVQ.js} +4 -4
- package/chunks/{task-update-66GQB5LI.js → task-update-M57TFZJT.js} +10 -10
- package/chunks/{team-create-2DEYNMMN.js → team-create-YJALH5D2.js} +46 -38
- package/chunks/{team-delete-BB3CG3QF.js → team-delete-QE2UXJL7.js} +7 -7
- package/chunks/{team-plan-approval-65AVAOCT.js → team-plan-approval-34QFYKGN.js} +43 -35
- package/chunks/theme-manager-SWRILQHI.js +77 -0
- package/chunks/{todoWrite-KRAUN54W.js → todoWrite-VQ7FKOHL.js} +5 -5
- package/chunks/{tool-search-ZQP3SMTV.js → tool-search-NF7GB6LE.js} +16 -16
- package/chunks/total-session-admission-DLHHHLD3.js +84 -0
- package/chunks/{tree-sitter-FS4VPMZA.js → tree-sitter-4D7QS7F6.js} +1 -1
- package/chunks/{tree-sitter-bash-6B46JJCV.js → tree-sitter-bash-VEJGF5XF.js} +1 -1
- package/chunks/{trustedFolders-LURI52LP.js → trustedFolders-KHXHY6PY.js} +44 -36
- package/chunks/{update-relaunch-BPWFIDLM.js → update-relaunch-WBUZJC5O.js} +5 -5
- package/chunks/updateCheck-RKL6M5XN.js +92 -0
- package/chunks/useAutoAcceptIndicator-CFQ5BUJL.js +93 -0
- package/chunks/{validateNonInterActiveAuth-HWD6Y22I.js → validateNonInterActiveAuth-3R223G3R.js} +89 -80
- package/chunks/{version-OD4JAFG7.js → version-HS7YSFHV.js} +1 -1
- package/chunks/{web-fetch-RFBKNU24.js → web-fetch-NKCSG7ZE.js} +18 -16
- package/chunks/{web-search-AKTVS5YZ.js → web-search-S62WAP4S.js} +13 -27
- package/chunks/{workflow-VZVCOSZN.js → workflow-QAGU5RU4.js} +44 -36
- package/chunks/workspace-providers-status-QSVZUETE.js +86 -0
- package/chunks/{workspace-registration-store-Q5SFJSX4.js → workspace-registration-store-24JMHDGF.js} +2 -2
- package/chunks/workspace-registry-UT4RBNBM.js +88 -0
- package/chunks/workspace-service-JFWRUS4V.js +98 -0
- package/chunks/workspace-skills-status-ZBBKJOI2.js +85 -0
- package/chunks/write-file-VHIXW5M7.js +73 -0
- package/chunks/{zh-WY5DWYZD.js → zh-LUIGBD55.js} +15 -0
- package/chunks/{zh-TW-BM47YBFH.js → zh-TW-F5KG2IYD.js} +15 -0
- package/cli-entry.js +10 -1
- package/cli.js +13 -13
- package/locales/ca.js +2 -0
- package/locales/de.js +1 -0
- package/locales/en.js +25 -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 +23 -0
- package/locales/zh.js +23 -0
- package/package.json +3 -3
- package/web-shell/assets/{arc-BWFm0SI0.js → arc-DcbWnB9T.js} +1 -1
- package/web-shell/assets/{architectureDiagram-3BPJPVTR-CZ_yL-DQ.js → architectureDiagram-3BPJPVTR-kMMF5sud.js} +1 -1
- package/web-shell/assets/{blockDiagram-GPEHLZMM-B9F9mJvG.js → blockDiagram-GPEHLZMM-Htl9vTJS.js} +1 -1
- package/web-shell/assets/{c4Diagram-AAUBKEIU-BUdwJW5f.js → c4Diagram-AAUBKEIU-BnZnm0mQ.js} +1 -1
- package/web-shell/assets/channel-Cq7YKtfC.js +1 -0
- package/web-shell/assets/{chunk-2J33WTMH-w4cF-qlF.js → chunk-2J33WTMH-DziB7kDG.js} +1 -1
- package/web-shell/assets/{chunk-4BX2VUAB-BXwURxHJ.js → chunk-4BX2VUAB-CmkD8daw.js} +1 -1
- package/web-shell/assets/{chunk-55IACEB6-Gem3LalC.js → chunk-55IACEB6-CHAd9A_U.js} +1 -1
- package/web-shell/assets/{chunk-727SXJPM-A3ddVojI.js → chunk-727SXJPM-Dqaam3fE.js} +1 -1
- package/web-shell/assets/{chunk-AQP2D5EJ-CjHZ5L_R.js → chunk-AQP2D5EJ-D_-saBYM.js} +1 -1
- package/web-shell/assets/{chunk-FMBD7UC4-CKgdgcpv.js → chunk-FMBD7UC4-B9r_veWD.js} +1 -1
- package/web-shell/assets/{chunk-ND2GUHAM-Cn2Dykjb.js → chunk-ND2GUHAM-B3EaCSpL.js} +1 -1
- package/web-shell/assets/{chunk-QZHKN3VN--0SyraC5.js → chunk-QZHKN3VN-CYq8x9mn.js} +1 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-CQ9aC1Tg.js +1 -0
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-CQ9aC1Tg.js +1 -0
- package/web-shell/assets/{cose-bilkent-S5V4N54A-CphhAity.js → cose-bilkent-S5V4N54A-D0ng4uiB.js} +1 -1
- package/web-shell/assets/{dagre-BM42HDAG-DU--jiKp.js → dagre-BM42HDAG-DCZollQv.js} +1 -1
- package/web-shell/assets/{diagram-2AECGRRQ-BzvuZw1Y.js → diagram-2AECGRRQ-Dfk2pWS0.js} +1 -1
- package/web-shell/assets/{diagram-5GNKFQAL-D84-49Y0.js → diagram-5GNKFQAL-kX38ltWR.js} +1 -1
- package/web-shell/assets/{diagram-KO2AKTUF-DQTq-3_3.js → diagram-KO2AKTUF-CJz2vsXh.js} +1 -1
- package/web-shell/assets/{diagram-LMA3HP47-8FTrshzN.js → diagram-LMA3HP47-BvMLZm_7.js} +1 -1
- package/web-shell/assets/{diagram-OG6HWLK6-BCjpDBCm.js → diagram-OG6HWLK6-l7kfStkO.js} +1 -1
- package/web-shell/assets/{erDiagram-TEJ5UH35-BtRObkmg.js → erDiagram-TEJ5UH35-BSVa8GGT.js} +1 -1
- package/web-shell/assets/{flowDiagram-I6XJVG4X-DTrW6oxy.js → flowDiagram-I6XJVG4X-CoawKIXH.js} +1 -1
- package/web-shell/assets/{ganttDiagram-6RSMTGT7-BgPNSW6j.js → ganttDiagram-6RSMTGT7-DFUDH0zF.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-PVQCEYII-BTclNgGV.js → gitGraphDiagram-PVQCEYII-Y2pvpT4e.js} +1 -1
- package/web-shell/assets/{index-CxA7AqY6.js → index-D0GX0zZf.js} +1 -1
- package/web-shell/assets/index-D9haPt0X.css +5 -0
- package/web-shell/assets/index-ckX9Pq5k.js +1230 -0
- package/web-shell/assets/{infoDiagram-5YYISTIA-DCE4AJt2.js → infoDiagram-5YYISTIA-CU8_zLiX.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-C8iE6q4Y.js → ishikawaDiagram-YF4QCWOH-AVQiV0DU.js} +1 -1
- package/web-shell/assets/{journeyDiagram-JHISSGLW-C_dxdyEc.js → journeyDiagram-JHISSGLW-DQ0VSKa3.js} +1 -1
- package/web-shell/assets/{kanban-definition-UN3LZRKU-Dw3n1u3w.js → kanban-definition-UN3LZRKU-BqnWqsE_.js} +1 -1
- package/web-shell/assets/{linear-C2BF2zJ9.js → linear-BkoihsaA.js} +1 -1
- package/web-shell/assets/{mermaid.core-CGTQU3MA.js → mermaid.core-5RJs-31j.js} +5 -5
- package/web-shell/assets/{mindmap-definition-RKZ34NQL-BVFZm9ZC.js → mindmap-definition-RKZ34NQL-D33Bxnpd.js} +1 -1
- package/web-shell/assets/{pieDiagram-4H26LBE5-Cc-TNN3n.js → pieDiagram-4H26LBE5-BuEAw3BH.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-W4KKPZXB-CgW3Rzsi.js → quadrantDiagram-W4KKPZXB-Kox_usEq.js} +1 -1
- package/web-shell/assets/{requirementDiagram-4Y6WPE33-BAaj0Y3B.js → requirementDiagram-4Y6WPE33-CNjeUif0.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-5OEKKPKP-XJWmekxS.js → sankeyDiagram-5OEKKPKP-BCd2OL_U.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-3UESZ5HK-CtRc_0wf.js → sequenceDiagram-3UESZ5HK-CF2ZTsz0.js} +1 -1
- package/web-shell/assets/{stateDiagram-AJRCARHV-WCnvMGy5.js → stateDiagram-AJRCARHV-qenSzHtm.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-B7W4zlCr.js +1 -0
- package/web-shell/assets/{timeline-definition-PNZ67QCA-C9cRx49L.js → timeline-definition-PNZ67QCA-B5DyWdgs.js} +1 -1
- package/web-shell/assets/{vennDiagram-CIIHVFJN-BvXOCEt-.js → vennDiagram-CIIHVFJN-DqP4I_o_.js} +1 -1
- package/web-shell/assets/{wardley-L42UT6IY-ByafGtzu.js → wardley-L42UT6IY-CJe2e4mg.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-YWT4CUSO-CozAnw8x.js → wardleyDiagram-YWT4CUSO-BMDSw-Rr.js} +1 -1
- package/web-shell/assets/{xychartDiagram-2RQKCTM6-Camu9Qvq.js → xychartDiagram-2RQKCTM6-BTVZYkxD.js} +1 -1
- package/web-shell/index.html +17 -13
- package/chunks/MaxSizedBox-3XQIBACV.js +0 -78
- package/chunks/agent-QXD5NSKA.js +0 -73
- package/chunks/agent-headless-4VXR2TBK.js +0 -67
- package/chunks/bridge-GIBRSPE6.js +0 -81
- package/chunks/chunk-CBOQ3HY7.js +0 -2019
- package/chunks/chunk-MA6GYKK7.js +0 -6928
- package/chunks/contextCommand-XQU7KLIH.js +0 -72
- package/chunks/daemon-status-provider-KQVNB4VA.js +0 -80
- package/chunks/earlyInputCapture-WP5SA3KH.js +0 -74
- package/chunks/errors-JEYPXX4S.js +0 -80
- package/chunks/handleAutoUpdate-2VJPAW43.js +0 -73
- package/chunks/initializer-UOX67ZFQ.js +0 -78
- package/chunks/installationInfo-NQNY34X3.js +0 -72
- package/chunks/list-2Z7KS7ZF.js +0 -81
- package/chunks/loadedSettingsAdapter-LIYY3LE4.js +0 -75
- package/chunks/mcp-AJ4QW3JA.js +0 -75
- package/chunks/nonInteractiveCli-PUSO5QF6.js +0 -134
- package/chunks/pidfile-EH2JW2PB.js +0 -78
- package/chunks/read-file-JZ5VXILQ.js +0 -31
- package/chunks/resumeHistoryUtils-Z3HG4WKM.js +0 -84
- package/chunks/ripGrep-JNLJCT2B.js +0 -65
- package/chunks/serve-NN5FXWR6.js +0 -81
- package/chunks/shell-FXT3NVC6.js +0 -75
- package/chunks/spawnChannel-XAWLXNOD.js +0 -74
- package/chunks/theme-manager-2WZHPK2M.js +0 -69
- package/chunks/total-session-admission-HULB2TEQ.js +0 -75
- package/chunks/updateCheck-D4ESCHBJ.js +0 -88
- package/chunks/useAutoAcceptIndicator-CBNLOF2P.js +0 -86
- package/chunks/workspace-providers-status-TJTVHORI.js +0 -78
- package/chunks/workspace-registry-H6VM5WXK.js +0 -79
- package/chunks/workspace-service-ZNKD3I2J.js +0 -90
- package/chunks/workspace-skills-status-OOBIXADG.js +0 -77
- package/chunks/write-file-CAKK5IAO.js +0 -65
- package/web-shell/assets/channel-DiLlxxIf.js +0 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-CkylTdM4.js +0 -1
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-CkylTdM4.js +0 -1
- package/web-shell/assets/index-CGtQqOIa.css +0 -5
- package/web-shell/assets/index-TtM0hVjU.js +0 -1207
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-D1gzH2Ue.js +0 -1
|
@@ -166,6 +166,7 @@ var zh_TW_default = {
|
|
|
166
166
|
"toolDisplayName.CronDelete": "\u522A\u9664\u5B9A\u6642\u4EFB\u52D9",
|
|
167
167
|
"toolDisplayName.LoopWakeup": "\u5FAA\u74B0\u559A\u9192",
|
|
168
168
|
"toolDisplayName.CreateSubSession": "\u5EFA\u7ACB\u5B50\u6703\u8A71",
|
|
169
|
+
"toolDisplayName.ListAgents": "\u5217\u51FA Agent",
|
|
169
170
|
"toolDisplayName.TaskCreate": "\u5EFA\u7ACB\u4EFB\u52D9",
|
|
170
171
|
"toolDisplayName.TaskUpdate": "\u66F4\u65B0\u4EFB\u52D9",
|
|
171
172
|
"toolDisplayName.TaskList": "\u4EFB\u52D9\u5217\u8868",
|
|
@@ -182,6 +183,7 @@ var zh_TW_default = {
|
|
|
182
183
|
"toolDisplayName.ExitWorktree": "\u9000\u51FA Worktree",
|
|
183
184
|
"toolDisplayName.Workflow": "\u5DE5\u4F5C\u6D41\u7A0B",
|
|
184
185
|
"toolDisplayName.ReadMcpResource": "\u8B80\u53D6 MCP \u8CC7\u6E90",
|
|
186
|
+
"toolDisplayName.ImageGen": "\u5716\u50CF\u751F\u6210",
|
|
185
187
|
"\u2191 to manage attachments": "\u2191 \u7BA1\u7406\u9644\u4EF6",
|
|
186
188
|
"\u2190 \u2192 select, Delete to remove, \u2193 to exit": "\u2190 \u2192 \u9078\u64C7\uFF0CDelete \u522A\u9664\uFF0C\u2193 \u9000\u51FA",
|
|
187
189
|
"Attachments: ": "\u9644\u4EF6\uFF1A",
|
|
@@ -236,6 +238,7 @@ var zh_TW_default = {
|
|
|
236
238
|
"Connecting to MCP servers... ({{connected}}/{{total}})": "\u6B63\u5728\u9023\u63A5\u5230 MCP servers... ({{connected}}/{{total}})",
|
|
237
239
|
"Type your message or @path/to/file": "\u8F38\u5165\u60A8\u7684\u6D88\u606F\u6216 @ \u6A94\u6848\u8DEF\u5F91",
|
|
238
240
|
"? for shortcuts": "\u6309 ? \u67E5\u770B\u5FEB\u6377\u9375",
|
|
241
|
+
"Pasting\u2026": "\u6B63\u5728\u8CBC\u4E0A\u2026",
|
|
239
242
|
"Press 'i' for INSERT mode and 'Esc' for NORMAL mode.": "\u6309 'i' \u9032\u5165\u63D2\u5165\u6A21\u5F0F\uFF0C\u6309 'Esc' \u9032\u5165\u666E\u901A\u6A21\u5F0F",
|
|
240
243
|
"Cancel operation / Clear input (double press)": "\u53D6\u6D88\u64CD\u4F5C / \u6E05\u7A7A\u8F38\u5165\uFF08\u96D9\u64CA\uFF09",
|
|
241
244
|
"Cycle approval modes": "\u5FAA\u74B0\u5207\u63DB\u5BE9\u6279\u6A21\u5F0F",
|
|
@@ -360,6 +363,9 @@ var zh_TW_default = {
|
|
|
360
363
|
"Manage existing subagents (view, edit, delete).": "\u7BA1\u7406\u73FE\u6709\u5B50\u667A\u80FD\u9AD4\uFF08\u67E5\u770B\u3001\u7DE8\u8F2F\u3001\u522A\u9664\uFF09",
|
|
361
364
|
"Create a new subagent with guided setup.": "\u901A\u904E\u5F15\u5C0E\u5F0F\u8A2D\u7F6E\u5275\u5EFA\u65B0\u7684\u5B50\u667A\u80FD\u9AD4",
|
|
362
365
|
"Create a reusable skill from a knowledge source (file, URL, conversation, or text).": "\u5F9E\u77E5\u8B58\u6E90\uFF08\u6A94\u6848\u3001URL\u3001\u5C0D\u8A71\u6216\u6587\u5B57\uFF09\u5EFA\u7ACB\u53EF\u91CD\u8907\u4F7F\u7528\u7684\u6280\u80FD\u3002",
|
|
366
|
+
"The current model or provider does not support native video input for /learn. Switch to a video-capable model on an OpenAI-compatible provider and try again.": "\u76EE\u524D\u6A21\u578B\u6216\u4F9B\u61C9\u5546\u4E0D\u652F\u63F4 /learn \u7684\u539F\u751F\u5F71\u7247\u8F38\u5165\u3002\u8ACB\u5207\u63DB\u5230 OpenAI \u76F8\u5BB9\u4F9B\u61C9\u5546\u4E0A\u7684\u5F71\u7247\u6A21\u578B\u5F8C\u518D\u8A66\u4E00\u6B21\u3002",
|
|
367
|
+
"YouTube page URLs cannot be sent as native video input. Download the video into your workspace and pass the local video file path to /learn.": "YouTube \u9801\u9762\u9023\u7D50\u4E0D\u80FD\u4F5C\u70BA\u539F\u751F\u5F71\u7247\u8F38\u5165\u50B3\u9001\u3002\u8ACB\u5C07\u5F71\u7247\u4E0B\u8F09\u5230\u5DE5\u4F5C\u5340\u5167\uFF0C\u518D\u5C07\u672C\u6A5F\u5F71\u7247\u6A94\u6848\u8DEF\u5F91\u50B3\u7D66 /learn\u3002",
|
|
368
|
+
"The local video could not be attached for /learn.": "\u7121\u6CD5\u70BA /learn \u9644\u52A0\u672C\u6A5F\u5F71\u7247\u3002",
|
|
363
369
|
Agents: "\u667A\u80FD\u9AD4",
|
|
364
370
|
"Choose Action": "\u9078\u64C7\u64CD\u4F5C",
|
|
365
371
|
"Edit {{name}}": "\u7DE8\u8F2F {{name}}",
|
|
@@ -1044,6 +1050,7 @@ var zh_TW_default = {
|
|
|
1044
1050
|
"Switch the model for this session (--fast for suggestion model, [model-id] to switch immediately).": "\u5207\u63DB\u6B64\u6703\u8A71\u7684\u6A21\u578B\uFF08--fast \u53EF\u8A2D\u7F6E\u5EFA\u8B70\u6A21\u578B\uFF09",
|
|
1045
1051
|
"Switch the model for this session (--fast for suggestion model, --voice for voice transcription model, [model-id] to switch immediately).": "\u5207\u63DB\u6B64\u6703\u8A71\u7684\u6A21\u578B\uFF08--fast \u53EF\u8A2D\u7F6E\u5EFA\u8B70\u6A21\u578B\uFF0C--voice \u53EF\u8A2D\u7F6E\u8A9E\u97F3\u8F49\u5BEB\u6A21\u578B\uFF0C[model-id] \u53EF\u7ACB\u5373\u5207\u63DB\uFF09",
|
|
1046
1052
|
"Switch the model for this session (--fast for suggestion model, --voice for voice transcription model, --vision for the vision bridge model, --project to persist to project settings, --global to persist to user settings, [model-id] to switch immediately, or [model-id] [prompt] to run a one-off prompt on another model; the inline prompt is sent verbatim without @file expansion).": "\u5207\u63DB\u6B64\u6703\u8A71\u7684\u6A21\u578B\uFF08--fast \u5EFA\u8B70\u6A21\u578B\uFF0C--voice \u8A9E\u97F3\u8F49\u5BEB\u6A21\u578B\uFF0C--vision \u8996\u89BA\u6A4B\u63A5\u6A21\u578B\uFF0C--project \u6301\u4E45\u5316\u5230\u5C08\u6848\u8A2D\u5B9A\uFF0C--global \u6301\u4E45\u5316\u5230\u4F7F\u7528\u8005\u8A2D\u5B9A\uFF0C[model-id] \u7ACB\u5373\u5207\u63DB\uFF0C\u6216\u7528 [model-id] [prompt] \u5728\u53E6\u4E00\u500B\u6A21\u578B\u4E0A\u57F7\u884C\u4E00\u6B21\u6027\u63D0\u793A\uFF1B\u5167\u806F\u63D0\u793A\u6309\u539F\u6587\u767C\u9001\uFF0C\u4E0D\u5C55\u958B @file\uFF09",
|
|
1053
|
+
"Switch the model for this session (--fast for suggestion model, --voice for voice transcription model, --vision for the vision bridge model, --image for the image generation model, --project to persist to project settings, --global to persist to user settings, [model-id] to switch immediately, or [model-id] [prompt] to run a one-off prompt on another model; the inline prompt is sent verbatim without @file expansion).": "\u5207\u63DB\u6B64\u6703\u8A71\u7684\u6A21\u578B\uFF08--fast \u5EFA\u8B70\u6A21\u578B\uFF0C--voice \u8A9E\u97F3\u8F49\u5BEB\u6A21\u578B\uFF0C--vision \u8996\u89BA\u6A4B\u63A5\u6A21\u578B\uFF0C--image \u5716\u50CF\u751F\u6210\u6A21\u578B\uFF0C--project \u6301\u4E45\u5316\u5230\u5C08\u6848\u8A2D\u5B9A\uFF0C--global \u6301\u4E45\u5316\u5230\u4F7F\u7528\u8005\u8A2D\u5B9A\uFF0C[model-id] \u7ACB\u5373\u5207\u63DB\uFF0C\u6216\u7528 [model-id] [prompt] \u5728\u53E6\u4E00\u500B\u6A21\u578B\u4E0A\u57F7\u884C\u4E00\u6B21\u6027\u63D0\u793A\uFF1B\u5167\u806F\u63D0\u793A\u6309\u539F\u6587\u767C\u9001\uFF0C\u4E0D\u5C55\u958B @file\uFF09",
|
|
1047
1054
|
"Inline one-shot override isn't supported in this mode \u2014 run '/model {{model}}' first, then send your prompt.": "\u6B64\u6A21\u5F0F\u4E0D\u652F\u63F4\u5167\u806F\u4E00\u6B21\u6027\u8986\u5BEB\u2014\u2014\u8ACB\u5148\u57F7\u884C '/model {{model}}'\uFF0C\u518D\u767C\u9001\u4F60\u7684\u63D0\u793A\u3002",
|
|
1048
1055
|
"Inline one-shot override can't switch providers. '{{model}}' belongs to a different provider \u2014 run '/model {{model}}' first, then send your prompt.": "\u5167\u806F\u4E00\u6B21\u6027\u8986\u5BEB\u7121\u6CD5\u5207\u63DB provider\u3002'{{model}}' \u5C6C\u65BC\u53E6\u4E00\u500B provider\u2014\u2014\u8ACB\u5148\u57F7\u884C '/model {{model}}'\uFF0C\u518D\u767C\u9001\u4F60\u7684\u63D0\u793A\u3002",
|
|
1049
1056
|
"\u26A0 '{{model}}' is not a known image-capable model; the vision bridge may fail on images.": "\u26A0 '{{model}}' \u4E0D\u662F\u5DF2\u77E5\u7684\u5716\u50CF\u80FD\u529B\u6A21\u578B\uFF1B\u8996\u89BA\u6A4B\u63A5\u8655\u7406\u5716\u7247\u6642\u53EF\u80FD\u6703\u5931\u6557\u3002",
|
|
@@ -1051,14 +1058,18 @@ var zh_TW_default = {
|
|
|
1051
1058
|
"Toggle voice dictation input": "\u5207\u63DB\u8A9E\u97F3\u807D\u5BEB\u8F38\u5165",
|
|
1052
1059
|
"Set the model for voice transcription": "\u8A2D\u5B9A\u8A9E\u97F3\u8F49\u5BEB\u6A21\u578B",
|
|
1053
1060
|
"Set the image-capable model used to transcribe images for a text-only main model": "\u8A2D\u5B9A\u7528\u65BC\u70BA\u7D14\u6587\u5B57\u4E3B\u6A21\u578B\u8F49\u5BEB\u5716\u50CF\u7684\u5716\u50CF\u80FD\u529B\u6A21\u578B",
|
|
1061
|
+
"Set the model used to generate images": "\u8A2D\u7F6E\u7528\u65BC\u751F\u6210\u5716\u50CF\u7684\u6A21\u578B",
|
|
1054
1062
|
"Persist the model selection to the project settings (workspace scope)": "\u5C07\u6A21\u578B\u9078\u64C7\u6301\u4E45\u5316\u5230\u5C08\u6848\u8A2D\u5B9A\uFF08\u5DE5\u4F5C\u5340\uFF09",
|
|
1055
1063
|
"Persist the model selection to the user settings (global scope)": "\u5C07\u6A21\u578B\u9078\u64C7\u6301\u4E45\u5316\u5230\u4F7F\u7528\u8005\u8A2D\u5B9A\uFF08\u5168\u57DF\uFF09",
|
|
1056
1064
|
"Select Fast Model": "\u9078\u64C7\u5FEB\u901F\u6A21\u578B",
|
|
1057
1065
|
"Select Vision Model": "\u9078\u64C7\u8996\u89BA\u6A21\u578B",
|
|
1066
|
+
"Select Image Model": "\u9078\u64C7\u5716\u50CF\u6A21\u578B",
|
|
1058
1067
|
"Select Voice Model": "\u9078\u64C7\u8A9E\u97F3\u6A21\u578B",
|
|
1059
1068
|
"Vision Model": "\u8996\u89BA\u6A21\u578B",
|
|
1069
|
+
"Image Model": "\u5716\u50CF\u6A21\u578B",
|
|
1060
1070
|
"Voice Model": "\u8A9E\u97F3\u6A21\u578B",
|
|
1061
1071
|
"Selected voice model is unavailable.": "\u6240\u9078\u8A9E\u97F3\u6A21\u578B\u4E0D\u53EF\u7528\u3002",
|
|
1072
|
+
"Selected image model is unavailable.": "\u6240\u9078\u5716\u50CF\u6A21\u578B\u4E0D\u53EF\u7528\u3002",
|
|
1062
1073
|
"Voice model '{{model}}' is configured more than once. Remove duplicate model ids before selecting it for voice transcription.": "\u8A9E\u97F3\u6A21\u578B '{{model}}' \u88AB\u914D\u7F6E\u4E86\u591A\u6B21\u3002\u8ACB\u5148\u79FB\u9664\u91CD\u8907\u7684\u6A21\u578B ID\uFF0C\u518D\u5C07\u5176\u9078\u70BA\u8A9E\u97F3\u8F49\u5BEB\u6A21\u578B\u3002",
|
|
1063
1074
|
"Voice dictation: {{status}} (mode: {{mode}}, {{modelText}}).": "\u8A9E\u97F3\u807D\u5BEB\uFF1A{{status}}\uFF08\u6A21\u5F0F\uFF1A{{mode}}\uFF0C{{modelText}}\uFF09\u3002",
|
|
1064
1075
|
"model: {{voiceModel}}": "\u6A21\u578B\uFF1A{{voiceModel}}",
|
|
@@ -1206,7 +1217,11 @@ var zh_TW_default = {
|
|
|
1206
1217
|
"not set": "\u672A\u8A2D\u7F6E",
|
|
1207
1218
|
'Current voice model: {{voiceModel}}\nUse "/model --voice <model-id>" to set voice model.': '\u7576\u524D\u8A9E\u97F3\u6A21\u578B\uFF1A{{voiceModel}}\n\u4F7F\u7528 "/model --voice <model-id>" \u8A2D\u7F6E\u8A9E\u97F3\u6A21\u578B\u3002',
|
|
1208
1219
|
'Current vision model: {{visionModel}}\nUse "/model --vision <model-id>" to set the vision bridge model.': '\u7576\u524D\u8996\u89BA\u6A21\u578B\uFF1A{{visionModel}}\n\u4F7F\u7528 "/model --vision <model-id>" \u8A2D\u7F6E\u8996\u89BA\u6A4B\u63A5\u6A21\u578B\u3002',
|
|
1220
|
+
'Current image model: {{imageModel}}\nUse "/model --image <model-id>" to set the image generation model.': '\u7576\u524D\u5716\u50CF\u6A21\u578B\uFF1A{{imageModel}}\n\u4F7F\u7528 "/model --image <model-id>" \u8A2D\u7F6E\u5716\u50CF\u751F\u6210\u6A21\u578B\u3002',
|
|
1209
1221
|
"Voice model '{{modelName}}' is ambiguous. Configure a unique model id before using /model --voice.": "\u8A9E\u97F3\u6A21\u578B '{{modelName}}' \u4E0D\u552F\u4E00\u3002\u8ACB\u5148\u914D\u7F6E\u552F\u4E00\u7684\u6A21\u578B ID\uFF0C\u518D\u4F7F\u7528 /model --voice\u3002",
|
|
1222
|
+
"Image model '{{modelName}}' matches multiple configured endpoints. Run /model --image without an argument and choose the exact endpoint.": "\u5716\u50CF\u6A21\u578B '{{modelName}}' \u5339\u914D\u4E86\u591A\u500B\u5DF2\u914D\u7F6E\u7684\u7AEF\u9EDE\u3002\u8ACB\u57F7\u884C /model --image\uFF08\u4E0D\u5E36\u53C3\u6578\uFF09\u4E26\u9078\u64C7\u78BA\u5207\u7684\u7AEF\u9EDE\u3002",
|
|
1223
|
+
"Image model '{{modelName}}' must declare a valid HTTPS baseUrl and credential environment variable.": "\u5716\u50CF\u6A21\u578B '{{modelName}}' \u5FC5\u9808\u5BA3\u544A\u6709\u6548\u7684 HTTPS baseUrl \u548C\u6191\u64DA\u74B0\u5883\u8B8A\u6578\u3002",
|
|
1224
|
+
"'{{model}}' must declare a valid HTTPS baseUrl and credential environment variable.": "'{{model}}' \u5FC5\u9808\u5BA3\u544A\u6709\u6548\u7684 HTTPS baseUrl \u548C\u6191\u64DA\u74B0\u5883\u8B8A\u6578\u3002",
|
|
1210
1225
|
none: "\u7121",
|
|
1211
1226
|
unknown: "\u672A\u77E5",
|
|
1212
1227
|
"Manage folder trust settings": "\u7BA1\u7406\u6A94\u6848\u593E\u4FE1\u4EFB\u8A2D\u7F6E",
|
package/cli-entry.js
CHANGED
|
@@ -27,6 +27,7 @@ try {
|
|
|
27
27
|
// Ignore stale or user-provided junk; normal argv is still usable.
|
|
28
28
|
}
|
|
29
29
|
delete process.env['QWEN_CODE_RELAUNCH_ARGS'];
|
|
30
|
+
delete process.env['QWEN_CODE_PENDING_COMPILE_CACHE'];
|
|
30
31
|
|
|
31
32
|
function hasFlag(flag, alias) {
|
|
32
33
|
for (const arg of cliArgs) {
|
|
@@ -282,7 +283,15 @@ if (isTopLevelVersion) {
|
|
|
282
283
|
|
|
283
284
|
if (isInProcessFastPath()) {
|
|
284
285
|
const { default: module } = await import('node:module');
|
|
285
|
-
module.enableCompileCache?.();
|
|
286
|
+
const compileCache = module.enableCompileCache?.();
|
|
287
|
+
if (
|
|
288
|
+
cliArgs[0] === 'serve' &&
|
|
289
|
+
!process.env['NODE_COMPILE_CACHE'] &&
|
|
290
|
+
compileCache?.status === module.constants?.compileCacheStatus?.ENABLED &&
|
|
291
|
+
compileCache?.directory
|
|
292
|
+
) {
|
|
293
|
+
process.env['QWEN_CODE_PENDING_COMPILE_CACHE'] = compileCache.directory;
|
|
294
|
+
}
|
|
286
295
|
process.argv[1] = cliPath;
|
|
287
296
|
await import(pathToFileURL(cliPath).href);
|
|
288
297
|
} else {
|
package/cli.js
CHANGED
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
initCpuProfiler
|
|
5
|
-
} from "./chunks/chunk-
|
|
5
|
+
} from "./chunks/chunk-QAF7NMK7.js";
|
|
6
|
+
import "./chunks/chunk-PWVFN2LF.js";
|
|
6
7
|
import {
|
|
7
8
|
initStartupProfiler
|
|
8
9
|
} from "./chunks/chunk-QSWDGAIC.js";
|
|
9
10
|
import {
|
|
10
11
|
normalizeServeFastPathArgv
|
|
11
12
|
} from "./chunks/chunk-Q7YDKOGY.js";
|
|
12
|
-
import "./chunks/chunk-5NJTNQUW.js";
|
|
13
13
|
import {
|
|
14
14
|
init_esbuild_shims
|
|
15
15
|
} from "./chunks/chunk-5O2XNYP6.js";
|
|
@@ -152,7 +152,7 @@ async function buildTopLevelHelpParser() {
|
|
|
152
152
|
const { default: yargs } = await import("./chunks/yargs-6H2AUULL.js");
|
|
153
153
|
const parser = yargs([]).scriptName("qwen").usage(
|
|
154
154
|
"Usage: qwen [options] [command]\n\nQwen Code - Launch an interactive CLI, use -p/--prompt for non-interactive mode"
|
|
155
|
-
).version("0.
|
|
155
|
+
).version("0.21.0").alias("v", "version").help().alias("h", "help").strict().demandCommand(0, 0);
|
|
156
156
|
for (const [option, config] of TOP_LEVEL_HELP_OPTIONS) {
|
|
157
157
|
parser.option(option, config);
|
|
158
158
|
}
|
|
@@ -225,11 +225,11 @@ function printMcpHelp() {
|
|
|
225
225
|
}
|
|
226
226
|
__name(printMcpHelp, "printMcpHelp");
|
|
227
227
|
async function printBootstrapVersion() {
|
|
228
|
-
if ("0.
|
|
229
|
-
writeStdoutLine("0.
|
|
228
|
+
if ("0.21.0") {
|
|
229
|
+
writeStdoutLine("0.21.0");
|
|
230
230
|
return;
|
|
231
231
|
}
|
|
232
|
-
const { getCliVersion } = await import("./chunks/version-
|
|
232
|
+
const { getCliVersion } = await import("./chunks/version-HS7YSFHV.js");
|
|
233
233
|
writeStdoutLine(await getCliVersion());
|
|
234
234
|
}
|
|
235
235
|
__name(printBootstrapVersion, "printBootstrapVersion");
|
|
@@ -242,7 +242,7 @@ async function runMcpFastPath(rawArgv) {
|
|
|
242
242
|
}
|
|
243
243
|
const [{ default: yargsInstance }, { mcpCommand }] = await Promise.all([
|
|
244
244
|
import("./chunks/yargs-6H2AUULL.js"),
|
|
245
|
-
import("./chunks/mcp-
|
|
245
|
+
import("./chunks/mcp-6DBDJPFU.js")
|
|
246
246
|
]);
|
|
247
247
|
const parser = yargsInstance([]).scriptName("qwen").command(mcpCommand).version(false).help().alias("h", "help").strict().strictCommands().demandCommand(1, "You need at least one command before continuing.").fail((message, error, yargs) => {
|
|
248
248
|
writeStderrLine(message || error?.message || "Unknown argument error");
|
|
@@ -296,7 +296,7 @@ async function runCliEntry(rawArgv = process.argv.slice(2)) {
|
|
|
296
296
|
const managedUpdateVersion = process.env["QWEN_CODE_MANAGED_NPM_UPDATE_VERSION"];
|
|
297
297
|
if (managedUpdateVersion) {
|
|
298
298
|
delete process.env["QWEN_CODE_MANAGED_NPM_UPDATE_VERSION"];
|
|
299
|
-
const { installManagedNpmUpdate } = await import("./chunks/managed-npm-update-
|
|
299
|
+
const { installManagedNpmUpdate } = await import("./chunks/managed-npm-update-JYEMMXA3.js");
|
|
300
300
|
await installManagedNpmUpdate(managedUpdateVersion);
|
|
301
301
|
return;
|
|
302
302
|
}
|
|
@@ -307,7 +307,7 @@ async function runCliEntry(rawArgv = process.argv.slice(2)) {
|
|
|
307
307
|
return;
|
|
308
308
|
}
|
|
309
309
|
if (route === "serve") {
|
|
310
|
-
const { tryRunServeFastPath } = await import("./chunks/fast-path-
|
|
310
|
+
const { tryRunServeFastPath } = await import("./chunks/fast-path-JJZFJANL.js");
|
|
311
311
|
if (await tryRunServeFastPath(argv)) {
|
|
312
312
|
return;
|
|
313
313
|
}
|
|
@@ -320,10 +320,10 @@ async function runCliEntry(rawArgv = process.argv.slice(2)) {
|
|
|
320
320
|
}
|
|
321
321
|
const acpStartupProfiler = rawArgv.some(
|
|
322
322
|
(arg) => arg === "--acp" || arg === "--experimental-acp"
|
|
323
|
-
) ? await import("./chunks/acp-startup-profiler-
|
|
323
|
+
) ? await import("./chunks/acp-startup-profiler-RV3IV562.js") : void 0;
|
|
324
324
|
acpStartupProfiler?.initializeAcpStartupProfiler();
|
|
325
325
|
acpStartupProfiler?.markAcpStartup("geminiImportStart");
|
|
326
|
-
const { main } = await import("./chunks/gemini-
|
|
326
|
+
const { main } = await import("./chunks/gemini-QS36EBZV.js");
|
|
327
327
|
acpStartupProfiler?.markAcpStartup("geminiImportEnd");
|
|
328
328
|
await main();
|
|
329
329
|
}
|
|
@@ -353,8 +353,8 @@ function isExpectedPtyRaceError(error) {
|
|
|
353
353
|
__name(isExpectedPtyRaceError, "isExpectedPtyRaceError");
|
|
354
354
|
async function handleCriticalError(error) {
|
|
355
355
|
const [{ FatalError }, { AlreadyReportedError }] = await Promise.all([
|
|
356
|
-
import("./chunks/src-
|
|
357
|
-
import("./chunks/errors-
|
|
356
|
+
import("./chunks/src-GE4TTTML.js"),
|
|
357
|
+
import("./chunks/errors-M7CLORXH.js")
|
|
358
358
|
]);
|
|
359
359
|
if (error instanceof FatalError) {
|
|
360
360
|
let errorMessage = error.message;
|
package/locales/ca.js
CHANGED
|
@@ -74,6 +74,7 @@ export default {
|
|
|
74
74
|
'Type your message or @path/to/file':
|
|
75
75
|
'Escriviu el vostre missatge o @camí/al/fitxer',
|
|
76
76
|
'? for shortcuts': '? per a dreceres',
|
|
77
|
+
'Pasting…': 'Enganxant…',
|
|
77
78
|
"Press 'i' for INSERT mode and 'Esc' for NORMAL mode.":
|
|
78
79
|
"Premeu 'i' per al mode INSERCIÓ i 'Esc' per al mode NORMAL.",
|
|
79
80
|
'Cancel operation / Clear input (double press)':
|
|
@@ -2381,6 +2382,7 @@ export default {
|
|
|
2381
2382
|
'toolDisplayName.CronDelete': 'Suprimeix tasca programada',
|
|
2382
2383
|
'toolDisplayName.LoopWakeup': 'Desperta el bucle',
|
|
2383
2384
|
'toolDisplayName.CreateSubSession': 'Crea subsessió',
|
|
2385
|
+
'toolDisplayName.ListAgents': "Llista d'agents",
|
|
2384
2386
|
'toolDisplayName.TaskCreate': 'Crea tasca',
|
|
2385
2387
|
'toolDisplayName.TaskUpdate': 'Actualitza tasca',
|
|
2386
2388
|
'toolDisplayName.TaskList': 'Llista tasques',
|
package/locales/de.js
CHANGED
|
@@ -1948,6 +1948,7 @@ export default {
|
|
|
1948
1948
|
'Reverse search history': 'Verlauf rückwärts durchsuchen',
|
|
1949
1949
|
'Press ? again to close': 'Erneut ? drücken, um zu schließen',
|
|
1950
1950
|
'? for shortcuts': '? für Tastenkürzel',
|
|
1951
|
+
'Pasting…': 'Einfügen…',
|
|
1951
1952
|
'Invalid approval mode "{{arg}}". Valid modes: {{modes}}':
|
|
1952
1953
|
'Ungültiger Freigabemodus "{{arg}}". Gültige Modi: {{modes}}',
|
|
1953
1954
|
'Approval mode set to "{{mode}}"': 'Freigabemodus auf "{{mode}}" gesetzt',
|
package/locales/en.js
CHANGED
|
@@ -202,6 +202,7 @@ export default {
|
|
|
202
202
|
'toolDisplayName.CronDelete': 'toolDisplayName.CronDelete',
|
|
203
203
|
'toolDisplayName.LoopWakeup': 'toolDisplayName.LoopWakeup',
|
|
204
204
|
'toolDisplayName.CreateSubSession': 'toolDisplayName.CreateSubSession',
|
|
205
|
+
'toolDisplayName.ListAgents': 'toolDisplayName.ListAgents',
|
|
205
206
|
'toolDisplayName.TaskCreate': 'toolDisplayName.TaskCreate',
|
|
206
207
|
'toolDisplayName.TaskUpdate': 'toolDisplayName.TaskUpdate',
|
|
207
208
|
'toolDisplayName.TaskList': 'toolDisplayName.TaskList',
|
|
@@ -218,6 +219,7 @@ export default {
|
|
|
218
219
|
'toolDisplayName.ExitWorktree': 'toolDisplayName.ExitWorktree',
|
|
219
220
|
'toolDisplayName.Workflow': 'toolDisplayName.Workflow',
|
|
220
221
|
'toolDisplayName.ReadMcpResource': 'toolDisplayName.ReadMcpResource',
|
|
222
|
+
'toolDisplayName.ImageGen': 'toolDisplayName.ImageGen',
|
|
221
223
|
// ============================================================================
|
|
222
224
|
// Help / UI Components
|
|
223
225
|
// ============================================================================
|
|
@@ -286,6 +288,7 @@ export default {
|
|
|
286
288
|
'Connecting to MCP servers... ({{connected}}/{{total}})',
|
|
287
289
|
'Type your message or @path/to/file': 'Type your message or @path/to/file',
|
|
288
290
|
'? for shortcuts': '? for shortcuts',
|
|
291
|
+
'Pasting…': 'Pasting…',
|
|
289
292
|
"Press 'i' for INSERT mode and 'Esc' for NORMAL mode.":
|
|
290
293
|
"Press 'i' for INSERT mode and 'Esc' for NORMAL mode.",
|
|
291
294
|
'Cancel operation / Clear input (double press)':
|
|
@@ -481,6 +484,12 @@ export default {
|
|
|
481
484
|
'Create a new subagent with guided setup.',
|
|
482
485
|
'Create a reusable skill from a knowledge source (file, URL, conversation, or text).':
|
|
483
486
|
'Create a reusable skill from a knowledge source (file, URL, conversation, or text).',
|
|
487
|
+
'The current model or provider does not support native video input for /learn. Switch to a video-capable model on an OpenAI-compatible provider and try again.':
|
|
488
|
+
'The current model or provider does not support native video input for /learn. Switch to a video-capable model on an OpenAI-compatible provider and try again.',
|
|
489
|
+
'YouTube page URLs cannot be sent as native video input. Download the video into your workspace and pass the local video file path to /learn.':
|
|
490
|
+
'YouTube page URLs cannot be sent as native video input. Download the video into your workspace and pass the local video file path to /learn.',
|
|
491
|
+
'The local video could not be attached for /learn.':
|
|
492
|
+
'The local video could not be attached for /learn.',
|
|
484
493
|
|
|
485
494
|
// ============================================================================
|
|
486
495
|
// Agents - Management Dialog
|
|
@@ -1482,6 +1491,8 @@ export default {
|
|
|
1482
1491
|
'Switch the model for this session (--fast for suggestion model, --voice for voice transcription model, [model-id] to switch immediately).',
|
|
1483
1492
|
'Switch the model for this session (--fast for suggestion model, --voice for voice transcription model, --vision for the vision bridge model, --project to persist to project settings, --global to persist to user settings, [model-id] to switch immediately, or [model-id] [prompt] to run a one-off prompt on another model; the inline prompt is sent verbatim without @file expansion).':
|
|
1484
1493
|
'Switch the model for this session (--fast for suggestion model, --voice for voice transcription model, --vision for the vision bridge model, --project to persist to project settings, --global to persist to user settings, [model-id] to switch immediately, or [model-id] [prompt] to run a one-off prompt on another model; the inline prompt is sent verbatim without @file expansion).',
|
|
1494
|
+
'Switch the model for this session (--fast for suggestion model, --voice for voice transcription model, --vision for the vision bridge model, --image for the image generation model, --project to persist to project settings, --global to persist to user settings, [model-id] to switch immediately, or [model-id] [prompt] to run a one-off prompt on another model; the inline prompt is sent verbatim without @file expansion).':
|
|
1495
|
+
'Switch the model for this session (--fast for suggestion model, --voice for voice transcription model, --vision for the vision bridge model, --image for the image generation model, --project to persist to project settings, --global to persist to user settings, [model-id] to switch immediately, or [model-id] [prompt] to run a one-off prompt on another model; the inline prompt is sent verbatim without @file expansion).',
|
|
1485
1496
|
"Inline one-shot override isn't supported in this mode — run '/model {{model}}' first, then send your prompt.":
|
|
1486
1497
|
"Inline one-shot override isn't supported in this mode — run '/model {{model}}' first, then send your prompt.",
|
|
1487
1498
|
"Inline one-shot override can't switch providers. '{{model}}' belongs to a different provider — run '/model {{model}}' first, then send your prompt.":
|
|
@@ -1495,17 +1506,23 @@ export default {
|
|
|
1495
1506
|
'Set the model for voice transcription',
|
|
1496
1507
|
'Set the image-capable model used to transcribe images for a text-only main model':
|
|
1497
1508
|
'Set the image-capable model used to transcribe images for a text-only main model',
|
|
1509
|
+
'Set the model used to generate images':
|
|
1510
|
+
'Set the model used to generate images',
|
|
1498
1511
|
'Persist the model selection to the project settings (workspace scope)':
|
|
1499
1512
|
'Persist the model selection to the project settings (workspace scope)',
|
|
1500
1513
|
'Persist the model selection to the user settings (global scope)':
|
|
1501
1514
|
'Persist the model selection to the user settings (global scope)',
|
|
1502
1515
|
'Select Fast Model': 'Select Fast Model',
|
|
1503
1516
|
'Select Vision Model': 'Select Vision Model',
|
|
1517
|
+
'Select Image Model': 'Select Image Model',
|
|
1504
1518
|
'Select Voice Model': 'Select Voice Model',
|
|
1505
1519
|
'Vision Model': 'Vision Model',
|
|
1520
|
+
'Image Model': 'Image Model',
|
|
1506
1521
|
'Voice Model': 'Voice Model',
|
|
1507
1522
|
'Selected voice model is unavailable.':
|
|
1508
1523
|
'Selected voice model is unavailable.',
|
|
1524
|
+
'Selected image model is unavailable.':
|
|
1525
|
+
'Selected image model is unavailable.',
|
|
1509
1526
|
"Voice model '{{model}}' is configured more than once. Remove duplicate model ids before selecting it for voice transcription.":
|
|
1510
1527
|
"Voice model '{{model}}' is configured more than once. Remove duplicate model ids before selecting it for voice transcription.",
|
|
1511
1528
|
'Voice dictation: {{status}} (mode: {{mode}}, {{modelText}}).':
|
|
@@ -1753,8 +1770,16 @@ export default {
|
|
|
1753
1770
|
'Current voice model: {{voiceModel}}\nUse "/model --voice <model-id>" to set voice model.',
|
|
1754
1771
|
'Current vision model: {{visionModel}}\nUse "/model --vision <model-id>" to set the vision bridge model.':
|
|
1755
1772
|
'Current vision model: {{visionModel}}\nUse "/model --vision <model-id>" to set the vision bridge model.',
|
|
1773
|
+
'Current image model: {{imageModel}}\nUse "/model --image <model-id>" to set the image generation model.':
|
|
1774
|
+
'Current image model: {{imageModel}}\nUse "/model --image <model-id>" to set the image generation model.',
|
|
1756
1775
|
"Voice model '{{modelName}}' is ambiguous. Configure a unique model id before using /model --voice.":
|
|
1757
1776
|
"Voice model '{{modelName}}' is ambiguous. Configure a unique model id before using /model --voice.",
|
|
1777
|
+
"Image model '{{modelName}}' matches multiple configured endpoints. Run /model --image without an argument and choose the exact endpoint.":
|
|
1778
|
+
"Image model '{{modelName}}' matches multiple configured endpoints. Run /model --image without an argument and choose the exact endpoint.",
|
|
1779
|
+
"Image model '{{modelName}}' must declare a valid HTTPS baseUrl and credential environment variable.":
|
|
1780
|
+
"Image model '{{modelName}}' must declare a valid HTTPS baseUrl and credential environment variable.",
|
|
1781
|
+
"'{{model}}' must declare a valid HTTPS baseUrl and credential environment variable.":
|
|
1782
|
+
"'{{model}}' must declare a valid HTTPS baseUrl and credential environment variable.",
|
|
1758
1783
|
none: 'none',
|
|
1759
1784
|
unknown: 'unknown',
|
|
1760
1785
|
// ============================================================================
|
package/locales/fr.js
CHANGED
|
@@ -73,6 +73,7 @@ export default {
|
|
|
73
73
|
'Type your message or @path/to/file':
|
|
74
74
|
'Tapez votre message ou @chemin/vers/fichier',
|
|
75
75
|
'? for shortcuts': '? pour les raccourcis',
|
|
76
|
+
'Pasting…': 'Collage…',
|
|
76
77
|
"Press 'i' for INSERT mode and 'Esc' for NORMAL mode.":
|
|
77
78
|
"Appuyez sur 'i' pour le mode INSERTION et 'Esc' pour le mode NORMAL.",
|
|
78
79
|
'Cancel operation / Clear input (double press)':
|
package/locales/ja.js
CHANGED
|
@@ -1488,6 +1488,7 @@ export default {
|
|
|
1488
1488
|
'to paste images': '画像を貼り付け',
|
|
1489
1489
|
'for external editor': '外部エディタ用',
|
|
1490
1490
|
'? for shortcuts': '? でショートカット表示',
|
|
1491
|
+
'Pasting…': '貼り付け中…',
|
|
1491
1492
|
'Invalid approval mode "{{arg}}". Valid modes: {{modes}}':
|
|
1492
1493
|
'無効な承認モード "{{arg}}" です。有効なモード: {{modes}}',
|
|
1493
1494
|
'Approval mode set to "{{mode}}"': '承認モードを "{{mode}}" に設定しました',
|
package/locales/pt.js
CHANGED
|
@@ -70,6 +70,7 @@ export default {
|
|
|
70
70
|
'Type your message or @path/to/file':
|
|
71
71
|
'Digite sua mensagem ou @caminho/do/arquivo',
|
|
72
72
|
'? for shortcuts': '? para atalhos',
|
|
73
|
+
'Pasting…': 'Colando…',
|
|
73
74
|
"Press 'i' for INSERT mode and 'Esc' for NORMAL mode.":
|
|
74
75
|
"Pressione 'i' para modo INSERÇÃO e 'Esc' para modo NORMAL.",
|
|
75
76
|
'Cancel operation / Clear input (double press)':
|
package/locales/ru.js
CHANGED
|
@@ -62,6 +62,7 @@ export default {
|
|
|
62
62
|
'Подключение к MCP servers... ({{connected}}/{{total}})',
|
|
63
63
|
'Type your message or @path/to/file': 'Введите сообщение или @путь/к/файлу',
|
|
64
64
|
'? for shortcuts': '? — горячие клавиши',
|
|
65
|
+
'Pasting…': 'Вставка…',
|
|
65
66
|
"Press 'i' for INSERT mode and 'Esc' for NORMAL mode.":
|
|
66
67
|
"Нажмите 'i' для режима ВСТАВКА и 'Esc' для ОБЫЧНОГО режима.",
|
|
67
68
|
'Cancel operation / Clear input (double press)':
|
package/locales/zh-TW.js
CHANGED
|
@@ -193,6 +193,7 @@ export default {
|
|
|
193
193
|
'toolDisplayName.CronDelete': '刪除定時任務',
|
|
194
194
|
'toolDisplayName.LoopWakeup': '循環喚醒',
|
|
195
195
|
'toolDisplayName.CreateSubSession': '建立子會話',
|
|
196
|
+
'toolDisplayName.ListAgents': '列出 Agent',
|
|
196
197
|
'toolDisplayName.TaskCreate': '建立任務',
|
|
197
198
|
'toolDisplayName.TaskUpdate': '更新任務',
|
|
198
199
|
'toolDisplayName.TaskList': '任務列表',
|
|
@@ -209,6 +210,7 @@ export default {
|
|
|
209
210
|
'toolDisplayName.ExitWorktree': '退出 Worktree',
|
|
210
211
|
'toolDisplayName.Workflow': '工作流程',
|
|
211
212
|
'toolDisplayName.ReadMcpResource': '讀取 MCP 資源',
|
|
213
|
+
'toolDisplayName.ImageGen': '圖像生成',
|
|
212
214
|
|
|
213
215
|
'↑ to manage attachments': '↑ 管理附件',
|
|
214
216
|
'← → select, Delete to remove, ↓ to exit': '← → 選擇,Delete 刪除,↓ 退出',
|
|
@@ -271,6 +273,7 @@ export default {
|
|
|
271
273
|
'正在連接到 MCP servers... ({{connected}}/{{total}})',
|
|
272
274
|
'Type your message or @path/to/file': '輸入您的消息或 @ 檔案路徑',
|
|
273
275
|
'? for shortcuts': '按 ? 查看快捷鍵',
|
|
276
|
+
'Pasting…': '正在貼上…',
|
|
274
277
|
"Press 'i' for INSERT mode and 'Esc' for NORMAL mode.":
|
|
275
278
|
"按 'i' 進入插入模式,按 'Esc' 進入普通模式",
|
|
276
279
|
'Cancel operation / Clear input (double press)':
|
|
@@ -443,6 +446,12 @@ export default {
|
|
|
443
446
|
'Create a new subagent with guided setup.': '通過引導式設置創建新的子智能體',
|
|
444
447
|
'Create a reusable skill from a knowledge source (file, URL, conversation, or text).':
|
|
445
448
|
'從知識源(檔案、URL、對話或文字)建立可重複使用的技能。',
|
|
449
|
+
'The current model or provider does not support native video input for /learn. Switch to a video-capable model on an OpenAI-compatible provider and try again.':
|
|
450
|
+
'目前模型或供應商不支援 /learn 的原生影片輸入。請切換到 OpenAI 相容供應商上的影片模型後再試一次。',
|
|
451
|
+
'YouTube page URLs cannot be sent as native video input. Download the video into your workspace and pass the local video file path to /learn.':
|
|
452
|
+
'YouTube 頁面連結不能作為原生影片輸入傳送。請將影片下載到工作區內,再將本機影片檔案路徑傳給 /learn。',
|
|
453
|
+
'The local video could not be attached for /learn.':
|
|
454
|
+
'無法為 /learn 附加本機影片。',
|
|
446
455
|
Agents: '智能體',
|
|
447
456
|
'Choose Action': '選擇操作',
|
|
448
457
|
'Edit {{name}}': '編輯 {{name}}',
|
|
@@ -1308,6 +1317,8 @@ export default {
|
|
|
1308
1317
|
'切換此會話的模型(--fast 可設置建議模型,--voice 可設置語音轉寫模型,[model-id] 可立即切換)',
|
|
1309
1318
|
'Switch the model for this session (--fast for suggestion model, --voice for voice transcription model, --vision for the vision bridge model, --project to persist to project settings, --global to persist to user settings, [model-id] to switch immediately, or [model-id] [prompt] to run a one-off prompt on another model; the inline prompt is sent verbatim without @file expansion).':
|
|
1310
1319
|
'切換此會話的模型(--fast 建議模型,--voice 語音轉寫模型,--vision 視覺橋接模型,--project 持久化到專案設定,--global 持久化到使用者設定,[model-id] 立即切換,或用 [model-id] [prompt] 在另一個模型上執行一次性提示;內聯提示按原文發送,不展開 @file)',
|
|
1320
|
+
'Switch the model for this session (--fast for suggestion model, --voice for voice transcription model, --vision for the vision bridge model, --image for the image generation model, --project to persist to project settings, --global to persist to user settings, [model-id] to switch immediately, or [model-id] [prompt] to run a one-off prompt on another model; the inline prompt is sent verbatim without @file expansion).':
|
|
1321
|
+
'切換此會話的模型(--fast 建議模型,--voice 語音轉寫模型,--vision 視覺橋接模型,--image 圖像生成模型,--project 持久化到專案設定,--global 持久化到使用者設定,[model-id] 立即切換,或用 [model-id] [prompt] 在另一個模型上執行一次性提示;內聯提示按原文發送,不展開 @file)',
|
|
1311
1322
|
"Inline one-shot override isn't supported in this mode — run '/model {{model}}' first, then send your prompt.":
|
|
1312
1323
|
"此模式不支援內聯一次性覆寫——請先執行 '/model {{model}}',再發送你的提示。",
|
|
1313
1324
|
"Inline one-shot override can't switch providers. '{{model}}' belongs to a different provider — run '/model {{model}}' first, then send your prompt.":
|
|
@@ -1320,16 +1331,20 @@ export default {
|
|
|
1320
1331
|
'Set the model for voice transcription': '設定語音轉寫模型',
|
|
1321
1332
|
'Set the image-capable model used to transcribe images for a text-only main model':
|
|
1322
1333
|
'設定用於為純文字主模型轉寫圖像的圖像能力模型',
|
|
1334
|
+
'Set the model used to generate images': '設置用於生成圖像的模型',
|
|
1323
1335
|
'Persist the model selection to the project settings (workspace scope)':
|
|
1324
1336
|
'將模型選擇持久化到專案設定(工作區)',
|
|
1325
1337
|
'Persist the model selection to the user settings (global scope)':
|
|
1326
1338
|
'將模型選擇持久化到使用者設定(全域)',
|
|
1327
1339
|
'Select Fast Model': '選擇快速模型',
|
|
1328
1340
|
'Select Vision Model': '選擇視覺模型',
|
|
1341
|
+
'Select Image Model': '選擇圖像模型',
|
|
1329
1342
|
'Select Voice Model': '選擇語音模型',
|
|
1330
1343
|
'Vision Model': '視覺模型',
|
|
1344
|
+
'Image Model': '圖像模型',
|
|
1331
1345
|
'Voice Model': '語音模型',
|
|
1332
1346
|
'Selected voice model is unavailable.': '所選語音模型不可用。',
|
|
1347
|
+
'Selected image model is unavailable.': '所選圖像模型不可用。',
|
|
1333
1348
|
"Voice model '{{model}}' is configured more than once. Remove duplicate model ids before selecting it for voice transcription.":
|
|
1334
1349
|
"語音模型 '{{model}}' 被配置了多次。請先移除重複的模型 ID,再將其選為語音轉寫模型。",
|
|
1335
1350
|
'Voice dictation: {{status}} (mode: {{mode}}, {{modelText}}).':
|
|
@@ -1535,8 +1550,16 @@ export default {
|
|
|
1535
1550
|
'當前語音模型:{{voiceModel}}\n使用 "/model --voice <model-id>" 設置語音模型。',
|
|
1536
1551
|
'Current vision model: {{visionModel}}\nUse "/model --vision <model-id>" to set the vision bridge model.':
|
|
1537
1552
|
'當前視覺模型:{{visionModel}}\n使用 "/model --vision <model-id>" 設置視覺橋接模型。',
|
|
1553
|
+
'Current image model: {{imageModel}}\nUse "/model --image <model-id>" to set the image generation model.':
|
|
1554
|
+
'當前圖像模型:{{imageModel}}\n使用 "/model --image <model-id>" 設置圖像生成模型。',
|
|
1538
1555
|
"Voice model '{{modelName}}' is ambiguous. Configure a unique model id before using /model --voice.":
|
|
1539
1556
|
"語音模型 '{{modelName}}' 不唯一。請先配置唯一的模型 ID,再使用 /model --voice。",
|
|
1557
|
+
"Image model '{{modelName}}' matches multiple configured endpoints. Run /model --image without an argument and choose the exact endpoint.":
|
|
1558
|
+
"圖像模型 '{{modelName}}' 匹配了多個已配置的端點。請執行 /model --image(不帶參數)並選擇確切的端點。",
|
|
1559
|
+
"Image model '{{modelName}}' must declare a valid HTTPS baseUrl and credential environment variable.":
|
|
1560
|
+
"圖像模型 '{{modelName}}' 必須宣告有效的 HTTPS baseUrl 和憑據環境變數。",
|
|
1561
|
+
"'{{model}}' must declare a valid HTTPS baseUrl and credential environment variable.":
|
|
1562
|
+
"'{{model}}' 必須宣告有效的 HTTPS baseUrl 和憑據環境變數。",
|
|
1540
1563
|
none: '無',
|
|
1541
1564
|
unknown: '未知',
|
|
1542
1565
|
'Manage folder trust settings': '管理檔案夾信任設置',
|
package/locales/zh.js
CHANGED
|
@@ -194,6 +194,7 @@ export default {
|
|
|
194
194
|
'toolDisplayName.CronDelete': '删除定时任务',
|
|
195
195
|
'toolDisplayName.LoopWakeup': '循环唤醒',
|
|
196
196
|
'toolDisplayName.CreateSubSession': '创建子会话',
|
|
197
|
+
'toolDisplayName.ListAgents': '列出 Agent',
|
|
197
198
|
'toolDisplayName.TaskCreate': '创建任务',
|
|
198
199
|
'toolDisplayName.TaskUpdate': '更新任务',
|
|
199
200
|
'toolDisplayName.TaskList': '任务列表',
|
|
@@ -210,6 +211,7 @@ export default {
|
|
|
210
211
|
'toolDisplayName.ExitWorktree': '退出 Worktree',
|
|
211
212
|
'toolDisplayName.Workflow': '工作流',
|
|
212
213
|
'toolDisplayName.ReadMcpResource': '读取 MCP 资源',
|
|
214
|
+
'toolDisplayName.ImageGen': '图像生成',
|
|
213
215
|
// ============================================================================
|
|
214
216
|
// Help / UI Components
|
|
215
217
|
// ============================================================================
|
|
@@ -276,6 +278,7 @@ export default {
|
|
|
276
278
|
'正在连接到 MCP servers... ({{connected}}/{{total}})',
|
|
277
279
|
'Type your message or @path/to/file': '输入您的消息或 @ 文件路径',
|
|
278
280
|
'? for shortcuts': '按 ? 查看快捷键',
|
|
281
|
+
'Pasting…': '正在粘贴…',
|
|
279
282
|
"Press 'i' for INSERT mode and 'Esc' for NORMAL mode.":
|
|
280
283
|
"按 'i' 进入插入模式,按 'Esc' 进入普通模式",
|
|
281
284
|
'Cancel operation / Clear input (double press)':
|
|
@@ -464,6 +467,12 @@ export default {
|
|
|
464
467
|
'Create a new subagent with guided setup.': '通过引导式设置创建新的子智能体',
|
|
465
468
|
'Create a reusable skill from a knowledge source (file, URL, conversation, or text).':
|
|
466
469
|
'从知识源(文件、URL、对话或文本)创建可复用的技能。',
|
|
470
|
+
'The current model or provider does not support native video input for /learn. Switch to a video-capable model on an OpenAI-compatible provider and try again.':
|
|
471
|
+
'当前模型或提供商不支持 /learn 的原生视频输入。请切换到 OpenAI 兼容提供商上的视频模型后重试。',
|
|
472
|
+
'YouTube page URLs cannot be sent as native video input. Download the video into your workspace and pass the local video file path to /learn.':
|
|
473
|
+
'YouTube 页面链接不能作为原生视频输入发送。请将视频下载到工作区内,再将本地视频文件路径传给 /learn。',
|
|
474
|
+
'The local video could not be attached for /learn.':
|
|
475
|
+
'无法为 /learn 附加本地视频。',
|
|
467
476
|
|
|
468
477
|
// ============================================================================
|
|
469
478
|
// Agents - Management Dialog
|
|
@@ -1422,6 +1431,8 @@ export default {
|
|
|
1422
1431
|
'切换此会话的模型(--fast 可设置建议模型,--voice 可设置语音转写模型,[model-id] 可立即切换)',
|
|
1423
1432
|
'Switch the model for this session (--fast for suggestion model, --voice for voice transcription model, --vision for the vision bridge model, --project to persist to project settings, --global to persist to user settings, [model-id] to switch immediately, or [model-id] [prompt] to run a one-off prompt on another model; the inline prompt is sent verbatim without @file expansion).':
|
|
1424
1433
|
'切换此会话的模型(--fast 建议模型,--voice 语音转写模型,--vision 视觉桥接模型,--project 持久化到项目设置,--global 持久化到用户设置,[model-id] 立即切换,或用 [model-id] [prompt] 在另一个模型上运行一次性提示;内联提示按原文发送,不展开 @file)',
|
|
1434
|
+
'Switch the model for this session (--fast for suggestion model, --voice for voice transcription model, --vision for the vision bridge model, --image for the image generation model, --project to persist to project settings, --global to persist to user settings, [model-id] to switch immediately, or [model-id] [prompt] to run a one-off prompt on another model; the inline prompt is sent verbatim without @file expansion).':
|
|
1435
|
+
'切换此会话的模型(--fast 建议模型,--voice 语音转写模型,--vision 视觉桥接模型,--image 图像生成模型,--project 持久化到项目设置,--global 持久化到用户设置,[model-id] 立即切换,或用 [model-id] [prompt] 在另一个模型上运行一次性提示;内联提示按原文发送,不展开 @file)',
|
|
1425
1436
|
"Inline one-shot override isn't supported in this mode — run '/model {{model}}' first, then send your prompt.":
|
|
1426
1437
|
"此模式不支持内联一次性覆盖——请先运行 '/model {{model}}',再发送你的提示。",
|
|
1427
1438
|
"Inline one-shot override can't switch providers. '{{model}}' belongs to a different provider — run '/model {{model}}' first, then send your prompt.":
|
|
@@ -1434,16 +1445,20 @@ export default {
|
|
|
1434
1445
|
'Set the model for voice transcription': '设置语音转写模型',
|
|
1435
1446
|
'Set the image-capable model used to transcribe images for a text-only main model':
|
|
1436
1447
|
'设置用于为纯文本主模型转写图像的图像能力模型',
|
|
1448
|
+
'Set the model used to generate images': '设置用于生成图像的模型',
|
|
1437
1449
|
'Persist the model selection to the project settings (workspace scope)':
|
|
1438
1450
|
'将模型选择持久化到项目设置(工作区)',
|
|
1439
1451
|
'Persist the model selection to the user settings (global scope)':
|
|
1440
1452
|
'将模型选择持久化到用户设置(全局)',
|
|
1441
1453
|
'Select Fast Model': '选择快速模型',
|
|
1442
1454
|
'Select Vision Model': '选择视觉模型',
|
|
1455
|
+
'Select Image Model': '选择图像模型',
|
|
1443
1456
|
'Select Voice Model': '选择语音模型',
|
|
1444
1457
|
'Vision Model': '视觉模型',
|
|
1458
|
+
'Image Model': '图像模型',
|
|
1445
1459
|
'Voice Model': '语音模型',
|
|
1446
1460
|
'Selected voice model is unavailable.': '所选语音模型不可用。',
|
|
1461
|
+
'Selected image model is unavailable.': '所选图像模型不可用。',
|
|
1447
1462
|
"Voice model '{{model}}' is configured more than once. Remove duplicate model ids before selecting it for voice transcription.":
|
|
1448
1463
|
"语音模型 '{{model}}' 被配置了多次。请先移除重复的模型 ID,再将其选为语音转写模型。",
|
|
1449
1464
|
'Voice dictation: {{status}} (mode: {{mode}}, {{modelText}}).':
|
|
@@ -1677,8 +1692,16 @@ export default {
|
|
|
1677
1692
|
'当前语音模型:{{voiceModel}}\n使用 "/model --voice <model-id>" 设置语音模型。',
|
|
1678
1693
|
'Current vision model: {{visionModel}}\nUse "/model --vision <model-id>" to set the vision bridge model.':
|
|
1679
1694
|
'当前视觉模型:{{visionModel}}\n使用 "/model --vision <model-id>" 设置视觉桥接模型。',
|
|
1695
|
+
'Current image model: {{imageModel}}\nUse "/model --image <model-id>" to set the image generation model.':
|
|
1696
|
+
'当前图像模型:{{imageModel}}\n使用 "/model --image <model-id>" 设置图像生成模型。',
|
|
1680
1697
|
"Voice model '{{modelName}}' is ambiguous. Configure a unique model id before using /model --voice.":
|
|
1681
1698
|
"语音模型 '{{modelName}}' 不唯一。请先配置唯一的模型 ID,再使用 /model --voice。",
|
|
1699
|
+
"Image model '{{modelName}}' matches multiple configured endpoints. Run /model --image without an argument and choose the exact endpoint.":
|
|
1700
|
+
"图像模型 '{{modelName}}' 匹配了多个已配置的端点。请运行 /model --image(不带参数)并选择确切的端点。",
|
|
1701
|
+
"Image model '{{modelName}}' must declare a valid HTTPS baseUrl and credential environment variable.":
|
|
1702
|
+
"图像模型 '{{modelName}}' 必须声明有效的 HTTPS baseUrl 和凭据环境变量。",
|
|
1703
|
+
"'{{model}}' must declare a valid HTTPS baseUrl and credential environment variable.":
|
|
1704
|
+
"'{{model}}' 必须声明有效的 HTTPS baseUrl 和凭据环境变量。",
|
|
1682
1705
|
none: '无',
|
|
1683
1706
|
unknown: '未知',
|
|
1684
1707
|
// ============================================================================
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@qwen-code/qwen-code",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.21.0",
|
|
4
4
|
"description": "Qwen Code - AI-powered coding assistant",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -26,11 +26,11 @@
|
|
|
26
26
|
"web-shell"
|
|
27
27
|
],
|
|
28
28
|
"config": {
|
|
29
|
-
"sandboxImageUri": "ghcr.io/qwenlm/qwen-code:0.
|
|
29
|
+
"sandboxImageUri": "ghcr.io/qwenlm/qwen-code:0.21.0"
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {},
|
|
32
32
|
"optionalDependencies": {
|
|
33
|
-
"@qwen-code/audio-capture": "0.
|
|
33
|
+
"@qwen-code/audio-capture": "0.21.0",
|
|
34
34
|
"@lydell/node-pty": "1.2.0-beta.10",
|
|
35
35
|
"@lydell/node-pty-darwin-arm64": "1.2.0-beta.10",
|
|
36
36
|
"@lydell/node-pty-darwin-x64": "1.2.0-beta.10",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{M as ln,N as an,O as Y,P as O,Q,R as un,S as y,T as tn,V as j,W as _,X as rn,Y as o,Z as sn,$ as on,a0 as fn}from"./mermaid.core-
|
|
1
|
+
import{M as ln,N as an,O as Y,P as O,Q,R as un,S as y,T as tn,V as j,W as _,X as rn,Y as o,Z as sn,$ as on,a0 as fn}from"./mermaid.core-5RJs-31j.js";function cn(l){return l.innerRadius}function yn(l){return l.outerRadius}function gn(l){return l.startAngle}function dn(l){return l.endAngle}function mn(l){return l&&l.padAngle}function pn(l,h,D,S,v,R,V,a){var E=D-l,i=S-h,n=V-v,d=a-R,u=d*E-n*i;if(!(u*u<y))return u=(n*(h-R)-d*(l-v))/u,[l+u*E,h+u*i]}function H(l,h,D,S,v,R,V){var a=l-D,E=h-S,i=(V?R:-R)/j(a*a+E*E),n=i*E,d=-i*a,u=l+n,s=h+d,f=D+n,c=S+d,W=(u+f)/2,t=(s+c)/2,m=f-u,g=c-s,A=m*m+g*g,T=v-R,P=u*c-f*s,I=(g<0?-1:1)*j(on(0,T*T*A-P*P)),M=(P*g-m*I)/A,N=(-P*m-g*I)/A,w=(P*g+m*I)/A,p=(-P*m+g*I)/A,x=M-W,e=N-t,r=w-W,X=p-t;return x*x+e*e>r*r+X*X&&(M=w,N=p),{cx:M,cy:N,x01:-n,y01:-d,x11:M*(v/T-1),y11:N*(v/T-1)}}function hn(){var l=cn,h=yn,D=Q(0),S=null,v=gn,R=dn,V=mn,a=null,E=ln(i);function i(){var n,d,u=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-un,c=R.apply(this,arguments)-un,W=rn(c-f),t=c>f;if(a||(a=n=E()),s<u&&(d=s,s=u,u=d),!(s>y))a.moveTo(0,0);else if(W>tn-y)a.moveTo(s*Y(f),s*O(f)),a.arc(0,0,s,f,c,!t),u>y&&(a.moveTo(u*Y(c),u*O(c)),a.arc(0,0,u,c,f,t));else{var m=f,g=c,A=f,T=c,P=W,I=W,M=V.apply(this,arguments)/2,N=M>y&&(S?+S.apply(this,arguments):j(u*u+s*s)),w=_(rn(s-u)/2,+D.apply(this,arguments)),p=w,x=w,e,r;if(N>y){var X=sn(N/u*O(M)),z=sn(N/s*O(M));(P-=X*2)>y?(X*=t?1:-1,A+=X,T-=X):(P=0,A=T=(f+c)/2),(I-=z*2)>y?(z*=t?1:-1,m+=z,g-=z):(I=0,m=g=(f+c)/2)}var Z=s*Y(m),$=s*O(m),B=u*Y(T),C=u*O(T);if(w>y){var F=s*Y(g),G=s*O(g),J=u*Y(A),K=u*O(A),q;if(W<an)if(q=pn(Z,$,J,K,F,G,B,C)){var L=Z-q[0],U=$-q[1],k=F-q[0],b=G-q[1],nn=1/O(fn((L*k+U*b)/(j(L*L+U*U)*j(k*k+b*b)))/2),en=j(q[0]*q[0]+q[1]*q[1]);p=_(w,(u-en)/(nn-1)),x=_(w,(s-en)/(nn+1))}else p=x=0}I>y?x>y?(e=H(J,K,Z,$,s,x,t),r=H(F,G,B,C,s,x,t),a.moveTo(e.cx+e.x01,e.cy+e.y01),x<w?a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,s,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),!t),a.arc(r.cx,r.cy,x,o(r.y11,r.x11),o(r.y01,r.x01),!t))):(a.moveTo(Z,$),a.arc(0,0,s,m,g,!t)):a.moveTo(Z,$),!(u>y)||!(P>y)?a.lineTo(B,C):p>y?(e=H(B,C,F,G,u,-p,t),r=H(Z,$,J,K,u,-p,t),a.lineTo(e.cx+e.x01,e.cy+e.y01),p<w?a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,u,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),t),a.arc(r.cx,r.cy,p,o(r.y11,r.x11),o(r.y01,r.x01),!t))):a.arc(0,0,u,T,A,t)}if(a.closePath(),n)return a=null,n+""||null}return i.centroid=function(){var n=(+l.apply(this,arguments)+ +h.apply(this,arguments))/2,d=(+v.apply(this,arguments)+ +R.apply(this,arguments))/2-an/2;return[Y(d)*n,O(d)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:Q(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:Q(+n),i):h},i.cornerRadius=function(n){return arguments.length?(D=typeof n=="function"?n:Q(+n),i):D},i.padRadius=function(n){return arguments.length?(S=n==null?null:typeof n=="function"?n:Q(+n),i):S},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:Q(+n),i):v},i.endAngle=function(n){return arguments.length?(R=typeof n=="function"?n:Q(+n),i):R},i.padAngle=function(n){return arguments.length?(V=typeof n=="function"?n:Q(+n),i):V},i.context=function(n){return arguments.length?(a=n??null,i):a},i}export{hn as d};
|