@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
|
@@ -3,13 +3,13 @@
|
|
|
3
3
|
import {
|
|
4
4
|
resolveModelConfig,
|
|
5
5
|
resolveProviderProtocol
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-PHOF65IG.js";
|
|
7
7
|
import {
|
|
8
8
|
external_exports
|
|
9
9
|
} from "./chunk-H6XPXXMH.js";
|
|
10
10
|
import {
|
|
11
11
|
stripRuntimeSnapshotPrefix
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-MZAXJAUM.js";
|
|
13
13
|
import {
|
|
14
14
|
REASONING_EFFORT_TIERS,
|
|
15
15
|
normalizeReasoningEffort
|
|
@@ -17,7 +17,7 @@ import {
|
|
|
17
17
|
import {
|
|
18
18
|
AuthType,
|
|
19
19
|
MODEL_GENERATION_CONFIG_FIELDS
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-IKCX4CCL.js";
|
|
21
21
|
import {
|
|
22
22
|
init_esbuild_shims
|
|
23
23
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -48,7 +48,9 @@ function formatAcpModelId(modelId, authType) {
|
|
|
48
48
|
}
|
|
49
49
|
__name(formatAcpModelId, "formatAcpModelId");
|
|
50
50
|
function buildAcpModelOptions(models) {
|
|
51
|
-
const candidates = models.filter(
|
|
51
|
+
const candidates = models.filter(
|
|
52
|
+
(model) => model.fastOnly !== true && model.voiceOnly !== true && model.imageOnly !== true
|
|
53
|
+
).map((model) => {
|
|
52
54
|
const effectiveModelId = model.isRuntimeModel && model.runtimeSnapshotId ? model.runtimeSnapshotId : model.id;
|
|
53
55
|
return {
|
|
54
56
|
model,
|
|
@@ -202,7 +204,7 @@ function isInlineModelOverrideAllowed(config, modelId) {
|
|
|
202
204
|
}
|
|
203
205
|
const activeBaseUrl = contentGeneratorConfig.baseUrl;
|
|
204
206
|
const activeEnvKey = contentGeneratorConfig.apiKeyEnvKey;
|
|
205
|
-
return config.getAvailableModelsForAuthType(authType).filter((m) => !m.fastOnly && !m.voiceOnly).some(
|
|
207
|
+
return config.getAvailableModelsForAuthType(authType).filter((m) => !m.fastOnly && !m.voiceOnly && !m.imageOnly).some(
|
|
206
208
|
(m) => m.id === modelId && (m.baseUrl ?? void 0) === (activeBaseUrl ?? void 0) && (m.envKey ?? void 0) === (activeEnvKey ?? void 0)
|
|
207
209
|
);
|
|
208
210
|
}
|
|
@@ -11,15 +11,15 @@ import {
|
|
|
11
11
|
} from "./chunk-JCW2R7WC.js";
|
|
12
12
|
import {
|
|
13
13
|
DEFAULT_FILE_FILTERING_OPTIONS
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-M5JM7OSF.js";
|
|
15
15
|
import {
|
|
16
16
|
ToolNames
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-PR75REBZ.js";
|
|
18
18
|
import {
|
|
19
19
|
createDebugLogger,
|
|
20
20
|
getErrorMessage,
|
|
21
21
|
isNodeError
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-NL7LTRLR.js";
|
|
23
23
|
import {
|
|
24
24
|
init_esbuild_shims
|
|
25
25
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
// Force strict mode and setup for ESM
|
|
2
2
|
"use strict";
|
|
3
|
+
import {
|
|
4
|
+
contextCommand
|
|
5
|
+
} from "./chunk-R5AFZNQW.js";
|
|
3
6
|
import {
|
|
4
7
|
ExtensionRefreshState,
|
|
5
8
|
clearSkillArgs,
|
|
@@ -9,7 +12,7 @@ import {
|
|
|
9
12
|
staleArgsWarning,
|
|
10
13
|
validateAuthMethod,
|
|
11
14
|
writeSkillArgs
|
|
12
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-TPRQ7RZH.js";
|
|
13
16
|
import {
|
|
14
17
|
calculateCost,
|
|
15
18
|
computeSessionStats,
|
|
@@ -17,23 +20,23 @@ import {
|
|
|
17
20
|
filterCommandsForMode,
|
|
18
21
|
getSystemInfoFields,
|
|
19
22
|
levelLabel
|
|
20
|
-
} from "./chunk-
|
|
21
|
-
import {
|
|
22
|
-
isKittyProtocolEnabled
|
|
23
|
-
} from "./chunk-5DTTYNB7.js";
|
|
23
|
+
} from "./chunk-U7M2DMGW.js";
|
|
24
24
|
import {
|
|
25
25
|
VSCODE_SHIFT_ENTER_SEQUENCE,
|
|
26
26
|
writeOsc52
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-J56UI34H.js";
|
|
28
28
|
import {
|
|
29
|
-
|
|
30
|
-
} from "./chunk-
|
|
29
|
+
isKittyProtocolEnabled
|
|
30
|
+
} from "./chunk-PQNHRFJC.js";
|
|
31
31
|
import {
|
|
32
32
|
rollbackStandaloneUpdate
|
|
33
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-M4FMGVY4.js";
|
|
34
34
|
import {
|
|
35
35
|
themeManager
|
|
36
|
-
} from "./chunk-
|
|
36
|
+
} from "./chunk-L5UHQJTJ.js";
|
|
37
|
+
import {
|
|
38
|
+
getErrorMessage as getErrorMessage2
|
|
39
|
+
} from "./chunk-IKYJHJNF.js";
|
|
37
40
|
import {
|
|
38
41
|
GITHUB_WORKFLOW_PATHS,
|
|
39
42
|
INSIGHT_CSS,
|
|
@@ -47,19 +50,24 @@ import {
|
|
|
47
50
|
toJson,
|
|
48
51
|
toJsonl,
|
|
49
52
|
toMarkdown
|
|
50
|
-
} from "./chunk-
|
|
53
|
+
} from "./chunk-EBJQ6AXW.js";
|
|
51
54
|
import {
|
|
52
55
|
stripUnsafeCharacters,
|
|
53
56
|
toCodePoints
|
|
54
|
-
} from "./chunk-
|
|
57
|
+
} from "./chunk-IPUUTYMV.js";
|
|
55
58
|
import {
|
|
56
|
-
|
|
57
|
-
|
|
59
|
+
formatUnsupportedVoiceModelMessage,
|
|
60
|
+
getVoiceSettingsScope,
|
|
61
|
+
isSelectableVoiceModel,
|
|
62
|
+
isVoiceEnabled,
|
|
63
|
+
readVoiceMode,
|
|
64
|
+
readVoiceModel
|
|
65
|
+
} from "./chunk-YBL3QUDD.js";
|
|
58
66
|
import {
|
|
59
67
|
getExtendedSystemInfo,
|
|
60
68
|
getGitVersion,
|
|
61
69
|
getNpmVersion
|
|
62
|
-
} from "./chunk-
|
|
70
|
+
} from "./chunk-MVSUYZDT.js";
|
|
63
71
|
import {
|
|
64
72
|
formatDuration,
|
|
65
73
|
formatMemoryUsage,
|
|
@@ -68,15 +76,10 @@ import {
|
|
|
68
76
|
import {
|
|
69
77
|
isInlineModelOverrideAllowed,
|
|
70
78
|
parseAcpModelOption
|
|
71
|
-
} from "./chunk-
|
|
79
|
+
} from "./chunk-KMQ33DO4.js";
|
|
72
80
|
import {
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
isSelectableVoiceModel,
|
|
76
|
-
isVoiceEnabled,
|
|
77
|
-
readVoiceMode,
|
|
78
|
-
readVoiceModel
|
|
79
|
-
} from "./chunk-7NR2AIK6.js";
|
|
81
|
+
getInstallationInfo
|
|
82
|
+
} from "./chunk-ZNAUOR2I.js";
|
|
80
83
|
import {
|
|
81
84
|
OUTPUT_LANGUAGE_AUTO,
|
|
82
85
|
getAllSettingKeys,
|
|
@@ -88,7 +91,7 @@ import {
|
|
|
88
91
|
resolveOutputLanguageOrPreserveAuto,
|
|
89
92
|
validateSettingValue,
|
|
90
93
|
writeOutputLanguageAndRegisterPath
|
|
91
|
-
} from "./chunk-
|
|
94
|
+
} from "./chunk-TEHGS6UP.js";
|
|
92
95
|
import {
|
|
93
96
|
SUPPORTED_LANGUAGES,
|
|
94
97
|
getCurrentLanguage,
|
|
@@ -96,14 +99,11 @@ import {
|
|
|
96
99
|
resolveSupportedLanguage,
|
|
97
100
|
setLanguageAsync,
|
|
98
101
|
t
|
|
99
|
-
} from "./chunk-
|
|
100
|
-
import {
|
|
101
|
-
getInstallationInfo
|
|
102
|
-
} from "./chunk-4OWXOUYF.js";
|
|
102
|
+
} from "./chunk-LKEJ26GS.js";
|
|
103
103
|
import {
|
|
104
104
|
isFolderTrustEnabled,
|
|
105
105
|
loadTrustedFolders
|
|
106
|
-
} from "./chunk-
|
|
106
|
+
} from "./chunk-Z2BC6UJ5.js";
|
|
107
107
|
import {
|
|
108
108
|
require_strip_json_comments
|
|
109
109
|
} from "./chunk-ALGGS7UH.js";
|
|
@@ -125,6 +125,7 @@ import {
|
|
|
125
125
|
buildBtwCacheSafeParams,
|
|
126
126
|
buildBtwPrompt,
|
|
127
127
|
buildLearnSkillPrompt,
|
|
128
|
+
buildLearnVideoSkillRequest,
|
|
128
129
|
buildManagedRememberPrompt,
|
|
129
130
|
canUseRipgrep,
|
|
130
131
|
checkArgumentSafety,
|
|
@@ -162,6 +163,7 @@ import {
|
|
|
162
163
|
normalizeSkillPriority,
|
|
163
164
|
parse,
|
|
164
165
|
parseInstallSource,
|
|
166
|
+
parseLearnVideoInput,
|
|
165
167
|
parseVisionModelSetting,
|
|
166
168
|
partToString,
|
|
167
169
|
persistSessionUsage,
|
|
@@ -172,22 +174,22 @@ import {
|
|
|
172
174
|
runForkedAgent,
|
|
173
175
|
tryGenerateSessionTitle,
|
|
174
176
|
unregisterGoalHook
|
|
175
|
-
} from "./chunk-
|
|
177
|
+
} from "./chunk-PHOF65IG.js";
|
|
176
178
|
import {
|
|
177
179
|
external_exports
|
|
178
180
|
} from "./chunk-H6XPXXMH.js";
|
|
179
181
|
import {
|
|
180
182
|
resolveModelId
|
|
181
|
-
} from "./chunk-
|
|
182
|
-
import {
|
|
183
|
-
HookEventName,
|
|
184
|
-
sanitizeUserPromptExpansionAdditionalContext
|
|
185
|
-
} from "./chunk-QBUDF33N.js";
|
|
183
|
+
} from "./chunk-MZAXJAUM.js";
|
|
186
184
|
import {
|
|
187
185
|
APPROVAL_MODES,
|
|
188
186
|
FORK_SUBAGENT_TYPE,
|
|
189
187
|
stripStartupContext
|
|
190
|
-
} from "./chunk-
|
|
188
|
+
} from "./chunk-L26JL52R.js";
|
|
189
|
+
import {
|
|
190
|
+
HookEventName,
|
|
191
|
+
sanitizeUserPromptExpansionAdditionalContext
|
|
192
|
+
} from "./chunk-3QMGYBFN.js";
|
|
191
193
|
import {
|
|
192
194
|
applySkillAllowedTools,
|
|
193
195
|
buildSkillLlmContent
|
|
@@ -199,6 +201,9 @@ import {
|
|
|
199
201
|
REASONING_EFFORT_TIERS,
|
|
200
202
|
normalizeReasoningEffort
|
|
201
203
|
} from "./chunk-XVNQMZ2I.js";
|
|
204
|
+
import {
|
|
205
|
+
resolveOpenAILogDir
|
|
206
|
+
} from "./chunk-ZJHVAS7M.js";
|
|
202
207
|
import {
|
|
203
208
|
IdeConnectionEvent,
|
|
204
209
|
formatTokenUsageSummaryAsCsv,
|
|
@@ -210,17 +215,16 @@ import {
|
|
|
210
215
|
queryTokenUsage,
|
|
211
216
|
read,
|
|
212
217
|
recordSkillInvocation,
|
|
213
|
-
resolveOpenAILogDir,
|
|
214
218
|
runSideQuery,
|
|
215
219
|
uiTelemetryService
|
|
216
|
-
} from "./chunk-
|
|
220
|
+
} from "./chunk-CIKQ7KKO.js";
|
|
217
221
|
import {
|
|
218
222
|
getAutoMemoryRoot
|
|
219
|
-
} from "./chunk-
|
|
223
|
+
} from "./chunk-MUP3T3AD.js";
|
|
220
224
|
import {
|
|
221
225
|
ToolNames,
|
|
222
226
|
isShellProgressData
|
|
223
|
-
} from "./chunk-
|
|
227
|
+
} from "./chunk-PR75REBZ.js";
|
|
224
228
|
import {
|
|
225
229
|
Storage,
|
|
226
230
|
createDebugLogger,
|
|
@@ -229,12 +233,12 @@ import {
|
|
|
229
233
|
isSubpath,
|
|
230
234
|
resolvePath,
|
|
231
235
|
updateSymlink
|
|
232
|
-
} from "./chunk-
|
|
236
|
+
} from "./chunk-NL7LTRLR.js";
|
|
233
237
|
import {
|
|
234
238
|
isCpuProfileRecording,
|
|
235
239
|
startCpuProfile,
|
|
236
240
|
stopCpuProfile
|
|
237
|
-
} from "./chunk-
|
|
241
|
+
} from "./chunk-QAF7NMK7.js";
|
|
238
242
|
import {
|
|
239
243
|
init_esbuild_shims
|
|
240
244
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -1359,16 +1363,27 @@ function buildArenaExecutionInput(parsed, config) {
|
|
|
1359
1363
|
const contentGeneratorConfig = config.getContentGeneratorConfig();
|
|
1360
1364
|
const defaultAuthType = contentGeneratorConfig?.authType ?? "openai" /* USE_OPENAI */;
|
|
1361
1365
|
const modelsConfig = config.getModelsConfig();
|
|
1362
|
-
const models =
|
|
1366
|
+
const models = [];
|
|
1367
|
+
for (const parsedModel of parsed.models) {
|
|
1363
1368
|
const authType = parsedModel.authType ?? defaultAuthType;
|
|
1364
1369
|
const registryModels = modelsConfig.getAvailableModelsForAuthType(authType);
|
|
1365
1370
|
const resolved = registryModels.find((m) => m.id === parsedModel.modelId);
|
|
1366
|
-
|
|
1371
|
+
if (resolved?.imageOnly) {
|
|
1372
|
+
return {
|
|
1373
|
+
type: "message",
|
|
1374
|
+
messageType: "error",
|
|
1375
|
+
content: t(
|
|
1376
|
+
"Image-only model '{{model}}' cannot be used in an Arena session.",
|
|
1377
|
+
{ model: parsedModel.modelId }
|
|
1378
|
+
)
|
|
1379
|
+
};
|
|
1380
|
+
}
|
|
1381
|
+
models.push({
|
|
1367
1382
|
modelId: parsedModel.modelId,
|
|
1368
1383
|
authType,
|
|
1369
1384
|
displayName: resolved?.label ?? parsedModel.modelId
|
|
1370
|
-
};
|
|
1371
|
-
}
|
|
1385
|
+
});
|
|
1386
|
+
}
|
|
1372
1387
|
return {
|
|
1373
1388
|
task: parsed.task,
|
|
1374
1389
|
models,
|
|
@@ -1903,7 +1918,7 @@ var approvalModeCommand = {
|
|
|
1903
1918
|
};
|
|
1904
1919
|
}
|
|
1905
1920
|
}
|
|
1906
|
-
const autoModeNotices = mode === "auto" /* AUTO */ && priorMode !== "auto" /* AUTO */ && config ? await import("./useAutoAcceptIndicator-
|
|
1921
|
+
const autoModeNotices = mode === "auto" /* AUTO */ && priorMode !== "auto" /* AUTO */ && config ? await import("./useAutoAcceptIndicator-CFQ5BUJL.js") : void 0;
|
|
1907
1922
|
if (config) {
|
|
1908
1923
|
try {
|
|
1909
1924
|
config.setApprovalMode(mode);
|
|
@@ -6235,7 +6250,7 @@ var expandNowCommand = {
|
|
|
6235
6250
|
content: t("History is already expanded in this session.")
|
|
6236
6251
|
};
|
|
6237
6252
|
}
|
|
6238
|
-
const { expandCollapsedHistory } = await import("./resumeHistoryUtils-
|
|
6253
|
+
const { expandCollapsedHistory } = await import("./resumeHistoryUtils-6KRYEAWZ.js");
|
|
6239
6254
|
const updated = expandCollapsedHistory(history);
|
|
6240
6255
|
loadHistory(updated);
|
|
6241
6256
|
refreshStatic();
|
|
@@ -7672,7 +7687,7 @@ var initCommand = {
|
|
|
7672
7687
|
if (existing && existing.trim().length > 0) {
|
|
7673
7688
|
if (!context.overwriteConfirmed) {
|
|
7674
7689
|
const [{ Text }, { default: React }] = await Promise.all([
|
|
7675
|
-
import("./build-
|
|
7690
|
+
import("./build-RV63TIRH.js"),
|
|
7676
7691
|
import("./react-SG7JAQSZ.js")
|
|
7677
7692
|
]);
|
|
7678
7693
|
return {
|
|
@@ -8203,6 +8218,7 @@ init_esbuild_shims();
|
|
|
8203
8218
|
var MAIN_MODEL_CONFIGURATION_HINT = "Configure models in settings.modelProviders and ensure the required environment variables are set. In interactive mode, run /auth to configure or switch providers, or run /model without arguments to choose from configured models.";
|
|
8204
8219
|
var FAST_MODEL_CONFIGURATION_HINT = "Configure models in settings.modelProviders and ensure the required environment variables are set. In interactive mode, run /auth to configure or switch providers, or run /model --fast without a model to choose from configured models.";
|
|
8205
8220
|
var VISION_MODEL_CONFIGURATION_HINT = "Configure an image-capable model in settings.modelProviders and ensure the required environment variables are set. Run /model --vision <model-id> to set it, or leave it unset to auto-pick a same-provider vision model.";
|
|
8221
|
+
var IMAGE_MODEL_CONFIGURATION_HINT = "Configure a model with imageOnly: true, baseUrl, and envKey in settings.modelProviders. Run /model --image <model-id> to select it.";
|
|
8206
8222
|
function parseScopeFlags(args) {
|
|
8207
8223
|
let scopeOverride;
|
|
8208
8224
|
let remaining = args;
|
|
@@ -8269,7 +8285,7 @@ function formatUnavailableModelMessage(kind, modelName, authType, availableModel
|
|
|
8269
8285
|
new Set(availableModels.map((model) => model.id))
|
|
8270
8286
|
);
|
|
8271
8287
|
const availableModelsLine = availableModelIds.length === 0 ? `No models are configured for auth type '${authType}'.` : `Available models for '${authType}': ${availableModelIds.join(", ")}.`;
|
|
8272
|
-
const hint = kind === "Fast model" ? FAST_MODEL_CONFIGURATION_HINT : kind === "Vision model" ? VISION_MODEL_CONFIGURATION_HINT : MAIN_MODEL_CONFIGURATION_HINT;
|
|
8288
|
+
const hint = kind === "Fast model" ? FAST_MODEL_CONFIGURATION_HINT : kind === "Vision model" ? VISION_MODEL_CONFIGURATION_HINT : kind === "Image model" ? IMAGE_MODEL_CONFIGURATION_HINT : MAIN_MODEL_CONFIGURATION_HINT;
|
|
8273
8289
|
return `${kind} '${modelName}' is not available for auth type '${authType}'.
|
|
8274
8290
|
${availableModelsLine}
|
|
8275
8291
|
` + hint;
|
|
@@ -8303,6 +8319,15 @@ function formatUnavailableVisionModelMessage(modelName, availableModels) {
|
|
|
8303
8319
|
);
|
|
8304
8320
|
}
|
|
8305
8321
|
__name(formatUnavailableVisionModelMessage, "formatUnavailableVisionModelMessage");
|
|
8322
|
+
function formatUnavailableImageModelMessage(modelName, availableModels) {
|
|
8323
|
+
return formatUnavailableAuxModelMessage(
|
|
8324
|
+
"Image model",
|
|
8325
|
+
modelName,
|
|
8326
|
+
availableModels,
|
|
8327
|
+
IMAGE_MODEL_CONFIGURATION_HINT
|
|
8328
|
+
);
|
|
8329
|
+
}
|
|
8330
|
+
__name(formatUnavailableImageModelMessage, "formatUnavailableImageModelMessage");
|
|
8306
8331
|
function formatAmbiguousVisionModelMessage(modelName, matchingModels) {
|
|
8307
8332
|
const endpoints = matchingModels.map((model) => model.baseUrl ?? "(default endpoint)").join(", ");
|
|
8308
8333
|
const qualifiedSelectors = Array.from(
|
|
@@ -8353,10 +8378,13 @@ function getAvailableModelIds(context, mode = "main") {
|
|
|
8353
8378
|
if (!config) {
|
|
8354
8379
|
return [];
|
|
8355
8380
|
}
|
|
8356
|
-
const
|
|
8357
|
-
|
|
8358
|
-
if (mode === "
|
|
8359
|
-
|
|
8381
|
+
const models = mode === "image" ? config.getAllConfiguredModels() : config.getAvailableModels();
|
|
8382
|
+
const availableModels = models.filter((m) => {
|
|
8383
|
+
if (mode === "image")
|
|
8384
|
+
return m.imageOnly === true && !m.fastOnly && !m.voiceOnly;
|
|
8385
|
+
if (mode === "fast") return !m.voiceOnly && !m.imageOnly;
|
|
8386
|
+
if (mode === "voice") return !m.fastOnly && !m.imageOnly;
|
|
8387
|
+
return !m.fastOnly && !m.voiceOnly && !m.imageOnly;
|
|
8360
8388
|
});
|
|
8361
8389
|
return availableModels.map((model) => model.id);
|
|
8362
8390
|
}
|
|
@@ -8366,10 +8394,10 @@ var modelCommand = {
|
|
|
8366
8394
|
completionPriority: 100,
|
|
8367
8395
|
get description() {
|
|
8368
8396
|
return t(
|
|
8369
|
-
"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)."
|
|
8397
|
+
"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)."
|
|
8370
8398
|
);
|
|
8371
8399
|
},
|
|
8372
|
-
argumentHint: "[--fast|--voice|--vision] [--project|--global] [<model-id>] | <model-id> <prompt>",
|
|
8400
|
+
argumentHint: "[--fast|--voice|--vision|--image] [--project|--global] [<model-id>] | <model-id> <prompt>",
|
|
8373
8401
|
kind: "built-in" /* BUILT_IN */,
|
|
8374
8402
|
supportedModes: ["interactive", "non_interactive", "acp"],
|
|
8375
8403
|
completion: /* @__PURE__ */ __name(async (context, partialArg) => {
|
|
@@ -8391,6 +8419,10 @@ var modelCommand = {
|
|
|
8391
8419
|
"Set the image-capable model used to transcribe images for a text-only main model"
|
|
8392
8420
|
)
|
|
8393
8421
|
},
|
|
8422
|
+
{
|
|
8423
|
+
value: "--image",
|
|
8424
|
+
description: t("Set the model used to generate images")
|
|
8425
|
+
},
|
|
8394
8426
|
{
|
|
8395
8427
|
value: "--project",
|
|
8396
8428
|
description: t(
|
|
@@ -8410,10 +8442,11 @@ var modelCommand = {
|
|
|
8410
8442
|
const trimmed = partialArg.trim();
|
|
8411
8443
|
if (trimmed) {
|
|
8412
8444
|
let mode = "main";
|
|
8413
|
-
const modelPrefix = trimmed.replace(/(?:^|\s)--fast(?:\s|$)/, " ").replace(/(?:^|\s)--voice(?:\s|$)/, " ").replace(/(?:^|\s)--vision(?:\s|$)/, " ").replace(/(?:^|\s)--project(?:\s|$)/, " ").replace(/(?:^|\s)--global(?:\s|$)/, " ").trim();
|
|
8445
|
+
const modelPrefix = trimmed.replace(/(?:^|\s)--fast(?:\s|$)/, " ").replace(/(?:^|\s)--voice(?:\s|$)/, " ").replace(/(?:^|\s)--vision(?:\s|$)/, " ").replace(/(?:^|\s)--image(?:\s|$)/, " ").replace(/(?:^|\s)--project(?:\s|$)/, " ").replace(/(?:^|\s)--global(?:\s|$)/, " ").trim();
|
|
8414
8446
|
if (/(?:^|\s)--fast(?:\s|$)/.test(trimmed)) mode = "fast";
|
|
8415
8447
|
else if (/(?:^|\s)--voice(?:\s|$)/.test(trimmed)) mode = "voice";
|
|
8416
8448
|
else if (/(?:^|\s)--vision(?:\s|$)/.test(trimmed)) mode = "vision";
|
|
8449
|
+
else if (/(?:^|\s)--image(?:\s|$)/.test(trimmed)) mode = "image";
|
|
8417
8450
|
return getAvailableModelIds(context, mode).filter(
|
|
8418
8451
|
(id) => id.startsWith(modelPrefix)
|
|
8419
8452
|
);
|
|
@@ -8485,7 +8518,7 @@ var modelCommand = {
|
|
|
8485
8518
|
content: t("Settings service not available.")
|
|
8486
8519
|
};
|
|
8487
8520
|
}
|
|
8488
|
-
const availableModels = config.getAllConfiguredModels().filter((m) => !m.fastOnly);
|
|
8521
|
+
const availableModels = config.getAllConfiguredModels().filter((m) => !m.fastOnly && !m.imageOnly);
|
|
8489
8522
|
const matches = availableModels.filter((model) => model.id === modelName2);
|
|
8490
8523
|
if (matches.length === 0) {
|
|
8491
8524
|
return {
|
|
@@ -8570,7 +8603,7 @@ Use "/model --fast <model-id>" to set fast model.`
|
|
|
8570
8603
|
content: formatUnavailableFastModelMessage(modelName2, [])
|
|
8571
8604
|
};
|
|
8572
8605
|
}
|
|
8573
|
-
const availableModels = (selector.authType ? config.getAvailableModelsForAuthType(selector.authType) : config.getAllConfiguredModels()).filter((m) => !m.voiceOnly);
|
|
8606
|
+
const availableModels = (selector.authType ? config.getAvailableModelsForAuthType(selector.authType) : config.getAllConfiguredModels()).filter((m) => !m.voiceOnly && !m.imageOnly);
|
|
8574
8607
|
if (!availableModels.some((model) => model.id === selector.modelId)) {
|
|
8575
8608
|
return {
|
|
8576
8609
|
type: "message",
|
|
@@ -8635,7 +8668,7 @@ Use "/model --fast <model-id>" to set fast model.`
|
|
|
8635
8668
|
content: formatUnavailableVisionModelMessage(modelName2, [])
|
|
8636
8669
|
};
|
|
8637
8670
|
}
|
|
8638
|
-
const availableModels = (selector.authType ? config.getAvailableModelsForAuthType(selector.authType) : config.getAllConfiguredModels()).filter((m) => !m.fastOnly && !m.voiceOnly);
|
|
8671
|
+
const availableModels = (selector.authType ? config.getAvailableModelsForAuthType(selector.authType) : config.getAllConfiguredModels()).filter((m) => !m.fastOnly && !m.voiceOnly && !m.imageOnly);
|
|
8639
8672
|
const matchingModels = availableModels.filter(
|
|
8640
8673
|
(model) => model.id === selector.modelId
|
|
8641
8674
|
);
|
|
@@ -8681,6 +8714,99 @@ ${formatNonVisionModelWarning(modelName2)}`;
|
|
|
8681
8714
|
content: t("Vision Model") + ": " + modelName2 + scopeSuffix + visionWarning
|
|
8682
8715
|
};
|
|
8683
8716
|
}
|
|
8717
|
+
const isImageModelCommand = args === "--image" || args.startsWith("--image ");
|
|
8718
|
+
if (isImageModelCommand) {
|
|
8719
|
+
const modelName2 = args.replace("--image", "").trim();
|
|
8720
|
+
if (!modelName2) {
|
|
8721
|
+
if (context.executionMode !== "interactive") {
|
|
8722
|
+
const imageModel2 = context.services.settings?.merged?.imageModel?.trim();
|
|
8723
|
+
return {
|
|
8724
|
+
type: "message",
|
|
8725
|
+
messageType: "info",
|
|
8726
|
+
content: t(
|
|
8727
|
+
'Current image model: {{imageModel}}\nUse "/model --image <model-id>" to set the image generation model.',
|
|
8728
|
+
{
|
|
8729
|
+
imageModel: imageModel2 ? formatVisionModelSettingForDisplay(imageModel2) : t("not set")
|
|
8730
|
+
}
|
|
8731
|
+
)
|
|
8732
|
+
};
|
|
8733
|
+
}
|
|
8734
|
+
return {
|
|
8735
|
+
type: "dialog",
|
|
8736
|
+
dialog: "image-model",
|
|
8737
|
+
...persistScopeSpread(scopeOverride)
|
|
8738
|
+
};
|
|
8739
|
+
}
|
|
8740
|
+
if (!settings) {
|
|
8741
|
+
return {
|
|
8742
|
+
type: "message",
|
|
8743
|
+
messageType: "error",
|
|
8744
|
+
content: t("Settings service not available.")
|
|
8745
|
+
};
|
|
8746
|
+
}
|
|
8747
|
+
const selector = (() => {
|
|
8748
|
+
try {
|
|
8749
|
+
return resolveModelId(modelName2);
|
|
8750
|
+
} catch {
|
|
8751
|
+
return void 0;
|
|
8752
|
+
}
|
|
8753
|
+
})();
|
|
8754
|
+
if (!selector) {
|
|
8755
|
+
return {
|
|
8756
|
+
type: "message",
|
|
8757
|
+
messageType: "error",
|
|
8758
|
+
content: formatUnavailableImageModelMessage(modelName2, [])
|
|
8759
|
+
};
|
|
8760
|
+
}
|
|
8761
|
+
const availableModels = (selector.authType ? config.getAvailableModelsForAuthType(selector.authType) : config.getAllConfiguredModels()).filter(
|
|
8762
|
+
(model) => model.imageOnly === true && !model.fastOnly && !model.voiceOnly
|
|
8763
|
+
);
|
|
8764
|
+
const matchingModels = availableModels.filter(
|
|
8765
|
+
(model) => model.id === selector.modelId
|
|
8766
|
+
);
|
|
8767
|
+
if (matchingModels.length > 1) {
|
|
8768
|
+
return {
|
|
8769
|
+
type: "message",
|
|
8770
|
+
messageType: "error",
|
|
8771
|
+
content: t(
|
|
8772
|
+
"Image model '{{modelName}}' matches multiple configured endpoints. Run /model --image without an argument and choose the exact endpoint.",
|
|
8773
|
+
{ modelName: modelName2 }
|
|
8774
|
+
)
|
|
8775
|
+
};
|
|
8776
|
+
}
|
|
8777
|
+
const matched = matchingModels[0];
|
|
8778
|
+
if (!matched) {
|
|
8779
|
+
return {
|
|
8780
|
+
type: "message",
|
|
8781
|
+
messageType: "error",
|
|
8782
|
+
content: selector.authType ? formatUnavailableModelMessage(
|
|
8783
|
+
"Image model",
|
|
8784
|
+
selector.modelId,
|
|
8785
|
+
selector.authType,
|
|
8786
|
+
availableModels
|
|
8787
|
+
) : formatUnavailableImageModelMessage(modelName2, availableModels)
|
|
8788
|
+
};
|
|
8789
|
+
}
|
|
8790
|
+
const qualifiedModelName = `${selector.authType ?? matched.authType}:${selector.modelId}`;
|
|
8791
|
+
const imageModel = matched.baseUrl ? `${qualifiedModelName}\0${matched.baseUrl}` : qualifiedModelName;
|
|
8792
|
+
if (!config.resolveImageGenerationModel(imageModel)) {
|
|
8793
|
+
return {
|
|
8794
|
+
type: "message",
|
|
8795
|
+
messageType: "error",
|
|
8796
|
+
content: t(
|
|
8797
|
+
"Image model '{{modelName}}' must declare a valid HTTPS baseUrl and credential environment variable.",
|
|
8798
|
+
{ modelName: modelName2 }
|
|
8799
|
+
)
|
|
8800
|
+
};
|
|
8801
|
+
}
|
|
8802
|
+
persistSetting(settings, "imageModel", imageModel, scopeOverride);
|
|
8803
|
+
await config.setImageModel(imageModel);
|
|
8804
|
+
return {
|
|
8805
|
+
type: "message",
|
|
8806
|
+
messageType: "info",
|
|
8807
|
+
content: t("Image Model") + ": " + modelName2 + scopeSuffix
|
|
8808
|
+
};
|
|
8809
|
+
}
|
|
8684
8810
|
const contentGeneratorConfig = config.getContentGeneratorConfig();
|
|
8685
8811
|
if (!contentGeneratorConfig) {
|
|
8686
8812
|
return {
|
|
@@ -8704,7 +8830,7 @@ ${formatNonVisionModelWarning(modelName2)}`;
|
|
|
8704
8830
|
if (modelName) {
|
|
8705
8831
|
const parsed = parseAcpModelOption(modelName);
|
|
8706
8832
|
const targetAuthType = parsed.authType ?? authType;
|
|
8707
|
-
const availableModels = config.getAvailableModelsForAuthType(targetAuthType).filter((m) => !m.fastOnly && !m.voiceOnly);
|
|
8833
|
+
const availableModels = config.getAvailableModelsForAuthType(targetAuthType).filter((m) => !m.fastOnly && !m.voiceOnly && !m.imageOnly);
|
|
8708
8834
|
if (!availableModels.some((model) => model.id === parsed.modelId)) {
|
|
8709
8835
|
return {
|
|
8710
8836
|
type: "message",
|
|
@@ -12811,7 +12937,7 @@ var learnCommand = {
|
|
|
12811
12937
|
},
|
|
12812
12938
|
kind: "built-in" /* BUILT_IN */,
|
|
12813
12939
|
supportedModes: ["interactive", "acp"],
|
|
12814
|
-
argumentHint: "<path|URL|text>",
|
|
12940
|
+
argumentHint: "<path|URL|text> [focus]",
|
|
12815
12941
|
action: /* @__PURE__ */ __name(async (context, args) => {
|
|
12816
12942
|
const rawInput = args.trim();
|
|
12817
12943
|
if (!rawInput) {
|
|
@@ -12819,7 +12945,7 @@ var learnCommand = {
|
|
|
12819
12945
|
type: "message",
|
|
12820
12946
|
messageType: "error",
|
|
12821
12947
|
content: t(
|
|
12822
|
-
"Usage: /learn <path|URL|text
|
|
12948
|
+
"Usage: /learn <path|URL|text> [focus]\nExamples:\n /learn https://docs.example.com/api\n /learn ~/projects/acme-sdk\n /learn Our deploy process: ssh to prod, run migrate, restart"
|
|
12823
12949
|
)
|
|
12824
12950
|
};
|
|
12825
12951
|
}
|
|
@@ -12832,6 +12958,72 @@ var learnCommand = {
|
|
|
12832
12958
|
};
|
|
12833
12959
|
}
|
|
12834
12960
|
const projectRoot = config.getProjectRoot();
|
|
12961
|
+
const video = parseLearnVideoInput(rawInput);
|
|
12962
|
+
if (video) {
|
|
12963
|
+
if (video.kind === "youtube") {
|
|
12964
|
+
return {
|
|
12965
|
+
type: "message",
|
|
12966
|
+
messageType: "error",
|
|
12967
|
+
content: t(
|
|
12968
|
+
"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."
|
|
12969
|
+
)
|
|
12970
|
+
};
|
|
12971
|
+
}
|
|
12972
|
+
const authType = config.getContentGeneratorConfig()?.authType;
|
|
12973
|
+
const supportsVideoTransport = authType === "openai" /* USE_OPENAI */ || authType === "qwen-oauth" /* QWEN_OAUTH */;
|
|
12974
|
+
if (config.getEffectiveInputModalities().video !== true || !supportsVideoTransport) {
|
|
12975
|
+
return {
|
|
12976
|
+
type: "message",
|
|
12977
|
+
messageType: "error",
|
|
12978
|
+
content: t(
|
|
12979
|
+
"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."
|
|
12980
|
+
)
|
|
12981
|
+
};
|
|
12982
|
+
}
|
|
12983
|
+
let localVideoPart;
|
|
12984
|
+
if (video.kind === "local") {
|
|
12985
|
+
let parts;
|
|
12986
|
+
try {
|
|
12987
|
+
parts = await readPathFromWorkspace(
|
|
12988
|
+
expandHomeDir(video.source),
|
|
12989
|
+
config
|
|
12990
|
+
);
|
|
12991
|
+
} catch {
|
|
12992
|
+
return {
|
|
12993
|
+
type: "submit_prompt",
|
|
12994
|
+
content: await buildLearnSkillPrompt(rawInput, projectRoot)
|
|
12995
|
+
};
|
|
12996
|
+
}
|
|
12997
|
+
localVideoPart = parts.find(
|
|
12998
|
+
(part) => typeof part !== "string" && part.inlineData?.mimeType?.startsWith("video/") === true
|
|
12999
|
+
);
|
|
13000
|
+
if (!localVideoPart) {
|
|
13001
|
+
const inlineParts = parts.filter(
|
|
13002
|
+
(part) => typeof part !== "string" && part.inlineData != null
|
|
13003
|
+
);
|
|
13004
|
+
if (inlineParts.length === 1 && inlineParts[0].inlineData) {
|
|
13005
|
+
inlineParts[0].inlineData.mimeType = video.mimeType;
|
|
13006
|
+
localVideoPart = inlineParts[0];
|
|
13007
|
+
}
|
|
13008
|
+
}
|
|
13009
|
+
if (!localVideoPart) {
|
|
13010
|
+
const errorDetail = parts.filter((p) => typeof p === "string").join(" ");
|
|
13011
|
+
return {
|
|
13012
|
+
type: "message",
|
|
13013
|
+
messageType: "error",
|
|
13014
|
+
content: errorDetail ? `${t("The local video could not be attached for /learn.")} ${errorDetail}` : t("The local video could not be attached for /learn.")
|
|
13015
|
+
};
|
|
13016
|
+
}
|
|
13017
|
+
}
|
|
13018
|
+
return {
|
|
13019
|
+
type: "submit_prompt",
|
|
13020
|
+
content: await buildLearnVideoSkillRequest(
|
|
13021
|
+
video,
|
|
13022
|
+
projectRoot,
|
|
13023
|
+
localVideoPart
|
|
13024
|
+
)
|
|
13025
|
+
};
|
|
13026
|
+
}
|
|
12835
13027
|
return {
|
|
12836
13028
|
type: "submit_prompt",
|
|
12837
13029
|
content: await buildLearnSkillPrompt(rawInput, projectRoot)
|
|
@@ -12969,10 +13161,10 @@ var updateCommand = {
|
|
|
12969
13161
|
{ performStandaloneUpdate },
|
|
12970
13162
|
installationInfo
|
|
12971
13163
|
] = await Promise.all([
|
|
12972
|
-
import("./updateCheck-
|
|
12973
|
-
import("./processUtils-
|
|
12974
|
-
import("./standalone-update-
|
|
12975
|
-
import("./installationInfo-
|
|
13164
|
+
import("./updateCheck-RKL6M5XN.js"),
|
|
13165
|
+
import("./processUtils-RT7UNCC2.js"),
|
|
13166
|
+
import("./standalone-update-Q6WFRZZQ.js"),
|
|
13167
|
+
import("./installationInfo-6O2YAA52.js")
|
|
12976
13168
|
]);
|
|
12977
13169
|
const { formatUpdateInstructions, getInstallationInfo: getInstallationInfo2 } = installationInfo;
|
|
12978
13170
|
const settings = context.services.settings;
|