@qwen-code/qwen-code 0.20.2-jobbench-no-todo-write.0 → 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.
Files changed (370) hide show
  1. package/bundled/qc-helper/docs/configuration/settings.md +5 -0
  2. package/bundled/qc-helper/docs/features/sub-agents.md +23 -5
  3. package/bundled/qc-helper/docs/integration-github-action.md +9 -9
  4. package/bundled/review/SKILL.md +7 -3
  5. package/chunks/MaxSizedBox-5DPPWPGT.js +85 -0
  6. package/chunks/{StandaloneSessionPicker-WBRBHD2M.js → StandaloneSessionPicker-BIRMPLRD.js} +66 -58
  7. package/chunks/{acp-startup-profiler-N3RHHXJ3.js → acp-startup-profiler-RV3IV562.js} +2 -2
  8. package/chunks/{acpAgent-BBQZ33CA.js → acpAgent-6J2U72PQ.js} +706 -182
  9. package/chunks/agent-6ODUANDO.js +81 -0
  10. package/chunks/agent-headless-7BYQTMHW.js +75 -0
  11. package/chunks/{anthropicContentGenerator-HGWAHO24.js → anthropicContentGenerator-75BKLTSP.js} +117 -43
  12. package/chunks/{artifact-tool-56T5IMBP.js → artifact-tool-Y5T7GG7F.js} +3 -3
  13. package/chunks/{askUserQuestion-E25OBIC2.js → askUserQuestion-2H6747FR.js} +3 -3
  14. package/chunks/bridge-ZUB64FAE.js +90 -0
  15. package/chunks/{build-SSCNEHZZ.js → build-RV63TIRH.js} +2 -3
  16. package/chunks/{ca-N6VVUFVB.js → ca-25EDXPFZ.js} +2 -0
  17. package/chunks/{channel-worker-group-LFBT7K64.js → channel-worker-group-2ZD7TVAT.js} +7 -6
  18. package/chunks/{channel-worker-manager-3RUPERG2.js → channel-worker-manager-4OA4BCGB.js} +189 -29
  19. package/chunks/{channel-worker-supervisor-A3KVATD3.js → channel-worker-supervisor-V7KCFJTS.js} +6 -5
  20. package/chunks/{chunk-TYQMGACW.js → chunk-22C7BQ6D.js} +508 -10967
  21. package/chunks/chunk-2JZBVYTU.js +452 -0
  22. package/chunks/{chunk-H2XVO6NE.js → chunk-2MIN6GRR.js} +1 -1
  23. package/chunks/{chunk-B2HSPMD4.js → chunk-2NH6DYI4.js} +12 -12
  24. package/chunks/chunk-2SCDWPXI.js +246 -0
  25. package/chunks/{chunk-JK26TQON.js → chunk-2X55UKQE.js} +3 -3
  26. package/chunks/{chunk-7VUQQBR7.js → chunk-3QMGYBFN.js} +2 -65
  27. package/chunks/{chunk-UMCULC5M.js → chunk-3RN6GBKS.js} +1 -1
  28. package/chunks/{chunk-QR6U5QPP.js → chunk-3SJ43L4W.js} +4 -0
  29. package/chunks/chunk-46UV252V.js +128 -0
  30. package/chunks/{chunk-GPMVHZP4.js → chunk-4WIZGAH3.js} +7 -7
  31. package/chunks/{chunk-CI3GWKGJ.js → chunk-55DJUCI2.js} +87 -29
  32. package/chunks/{chunk-QNLNLENL.js → chunk-5I2IWRSH.js} +2 -2
  33. package/chunks/{chunk-D7WXIW7H.js → chunk-5NBDS5S6.js} +145 -5
  34. package/chunks/{chunk-E4IMU4Y5.js → chunk-63P4EL5V.js} +1 -1
  35. package/chunks/chunk-6FGBXPWM.js +293 -0
  36. package/chunks/{chunk-NEEB7UEN.js → chunk-6GMVPFB2.js} +153 -72
  37. package/chunks/{chunk-KWK7UE6L.js → chunk-6OUGMXDC.js} +6 -6
  38. package/chunks/{chunk-QRUIS3DN.js → chunk-6PEXNQTX.js} +22 -1
  39. package/chunks/{chunk-77OZOGPT.js → chunk-7JURR4JT.js} +1 -1
  40. package/chunks/{chunk-4MWNZNJ4.js → chunk-7MVVZO4N.js} +4 -4
  41. package/chunks/{chunk-6ZBPS62S.js → chunk-7ZCNENPP.js} +1 -1
  42. package/chunks/{chunk-6X4GWOPW.js → chunk-A5L3JMUA.js} +1 -1
  43. package/chunks/{chunk-B3I77W5J.js → chunk-ACY3A37B.js} +3 -3
  44. package/chunks/chunk-AMDSOFFV.js +10860 -0
  45. package/chunks/{chunk-RV4C2ZFG.js → chunk-BIQWWWJN.js} +1 -1
  46. package/chunks/{chunk-ZHERRXZJ.js → chunk-BJX6ZSUK.js} +4 -4
  47. package/chunks/chunk-BK2UNYWD.js +29 -0
  48. package/chunks/{chunk-7TLUW4ZE.js → chunk-BKHWX6I2.js} +3 -3
  49. package/chunks/chunk-BPJSQIJX.js +100 -0
  50. package/chunks/{chunk-M7WBGLYP.js → chunk-BULDBTYC.js} +2 -0
  51. package/chunks/{chunk-H4A4A2SY.js → chunk-CIKQ7KKO.js} +4625 -8645
  52. package/chunks/{chunk-QZJY47IE.js → chunk-D3UEZIQH.js} +7 -5
  53. package/chunks/chunk-DHHOYAPR.js +1462 -0
  54. package/chunks/{chunk-LESHKUWF.js → chunk-DLWL3Z7A.js} +5 -3
  55. package/chunks/{chunk-XHATNRQA.js → chunk-DP3IHZGG.js} +0 -2
  56. package/chunks/chunk-E5TUC6CA.js +479 -0
  57. package/chunks/{chunk-6NRFYMKG.js → chunk-EBJQ6AXW.js} +11 -10
  58. package/chunks/{chunk-HABKX6LY.js → chunk-EPDRMGT4.js} +164 -17
  59. package/chunks/{chunk-P2BQZ7H7.js → chunk-ETSW4KLJ.js} +2 -2
  60. package/chunks/{chunk-KHOVYUHX.js → chunk-FNQ6T3CV.js} +20 -3
  61. package/chunks/{chunk-64EG42HV.js → chunk-FQK6JAFG.js} +72 -23
  62. package/chunks/{chunk-L6U47G5P.js → chunk-FSITMZJH.js} +8 -8
  63. package/chunks/{chunk-6RLROE6G.js → chunk-GLWP3FDB.js} +80 -15
  64. package/chunks/{chunk-CXIOPXRR.js → chunk-GSN55ZRI.js} +5 -5
  65. package/chunks/{chunk-LVA5OHQO.js → chunk-H4SBPHSA.js} +3 -3
  66. package/chunks/chunk-H5FFA6TH.js +902 -0
  67. package/chunks/{chunk-TDKQP3M6.js → chunk-HIJQF5B5.js} +1 -1
  68. package/chunks/{chunk-NXE6SQIV.js → chunk-IJTOWOD7.js} +14 -3
  69. package/chunks/chunk-IKCX4CCL.js +469 -0
  70. package/chunks/{chunk-7SSWNGEJ.js → chunk-IKYJHJNF.js} +3 -3
  71. package/chunks/{chunk-64XKYOXK.js → chunk-IO3IX5Q4.js} +1 -1
  72. package/chunks/{chunk-RS7MT2QG.js → chunk-IPUUTYMV.js} +2 -4
  73. package/chunks/{chunk-XU457J4V.js → chunk-IRH27ZC2.js} +2 -2
  74. package/chunks/{chunk-SVIMKSEI.js → chunk-J24WCGIN.js} +4 -4
  75. package/chunks/{chunk-4LVZNIDO.js → chunk-J56UI34H.js} +4 -13
  76. package/chunks/{chunk-TJTKSVIV.js → chunk-JLU636DO.js} +5 -1
  77. package/chunks/{chunk-7PIL2BYF.js → chunk-JVPM2ULZ.js} +6 -6
  78. package/chunks/{chunk-KBB5O3JO.js → chunk-JXJFVC6E.js} +37 -18
  79. package/chunks/chunk-JZA3JUDJ.js +82 -0
  80. package/chunks/{chunk-45PO6ZIS.js → chunk-K36B6G2O.js} +5 -5
  81. package/chunks/{chunk-GPSKDNEE.js → chunk-K4XWPEWB.js} +4 -4
  82. package/chunks/{chunk-K7EUPLIP.js → chunk-KIM5GUMA.js} +654 -117
  83. package/chunks/{chunk-42W5BDEY.js → chunk-KMQ33DO4.js} +7 -5
  84. package/chunks/{chunk-E2UVIFI2.js → chunk-KRXPRVGL.js} +0 -1
  85. package/chunks/{chunk-WHGVTP7Q.js → chunk-L26JL52R.js} +3 -3
  86. package/chunks/{chunk-7Z6JQEL6.js → chunk-L5UHQJTJ.js} +1 -1
  87. package/chunks/{chunk-26CBI4DC.js → chunk-LB6DUZ26.js} +259 -67
  88. package/chunks/chunk-LEH5C7FV.js +232 -0
  89. package/chunks/{chunk-UTGFTJ2H.js → chunk-LH2BYDQ5.js} +6 -4
  90. package/chunks/{chunk-QKTHJXCS.js → chunk-LK7CHLVP.js} +79 -2
  91. package/chunks/{chunk-V7WNRZL7.js → chunk-LKEJ26GS.js} +11 -11
  92. package/chunks/{chunk-6VPLV3L3.js → chunk-LQIW3YFY.js} +227 -41
  93. package/chunks/chunk-LS77BEZP.js +405 -0
  94. package/chunks/{chunk-5WDRI7US.js → chunk-M4FMGVY4.js} +3 -3
  95. package/chunks/{chunk-57FIIFJN.js → chunk-M5JM7OSF.js} +1 -1
  96. package/chunks/{chunk-7362QS5B.js → chunk-MB4MZHMJ.js} +80 -37
  97. package/chunks/{chunk-4K56OJFJ.js → chunk-MUP3T3AD.js} +1 -1
  98. package/chunks/{chunk-CJQ3FZ2G.js → chunk-MVSUYZDT.js} +4 -4
  99. package/chunks/{chunk-6FZYKBKV.js → chunk-MZAXJAUM.js} +1 -1
  100. package/chunks/{chunk-32L4D2O2.js → chunk-NH6KE4JX.js} +3 -3
  101. package/chunks/chunk-NIBLUX3Y.js +934 -0
  102. package/chunks/{chunk-OQB4EXO4.js → chunk-NL7LTRLR.js} +1 -1
  103. package/chunks/{chunk-6S5HSCOI.js → chunk-OFDOK3VM.js} +5 -5
  104. package/chunks/{chunk-LIZRAKPB.js → chunk-OHNBB4XR.js} +1 -1
  105. package/chunks/{chunk-MDZTPSXO.js → chunk-OKY7HXPG.js} +2 -2
  106. package/chunks/{chunk-NHDKSOEY.js → chunk-P3QQPMQA.js} +5 -5
  107. package/chunks/{chunk-4SCOLXTD.js → chunk-PC6JANNU.js} +5 -5
  108. package/chunks/{chunk-IWALV67J.js → chunk-PHOF65IG.js} +4300 -1284
  109. package/chunks/{chunk-OQ5SYCPE.js → chunk-PJIZUQVC.js} +2 -2
  110. package/chunks/{chunk-5DTTYNB7.js → chunk-PQNHRFJC.js} +16 -3
  111. package/chunks/{chunk-YM3SZTH4.js → chunk-PR75REBZ.js} +18 -1
  112. package/chunks/{chunk-5XORMWA2.js → chunk-PSOO6YXD.js} +18 -15
  113. package/chunks/{chunk-X6N25LXS.js → chunk-PWTZEM3C.js} +2 -2
  114. package/chunks/{chunk-GSX6P2JW.js → chunk-PWVFN2LF.js} +1 -1
  115. package/chunks/{chunk-AHX6AKPD.js → chunk-Q4M4MDQ4.js} +2 -2
  116. package/chunks/{chunk-3EHJ44GG.js → chunk-QAF7NMK7.js} +1 -1
  117. package/chunks/{chunk-WSYKDFYR.js → chunk-R5AFZNQW.js} +5 -5
  118. package/chunks/{chunk-63DJBU32.js → chunk-RF3EXIHJ.js} +39 -18
  119. package/chunks/{chunk-4K7VDKAD.js → chunk-RHLZR4E5.js} +1 -1
  120. package/chunks/{chunk-SXPSOMQ4.js → chunk-RIBKPMRP.js} +220 -141
  121. package/chunks/{chunk-RVLZCXEE.js → chunk-RWTEFFPU.js} +82 -3
  122. package/chunks/{chunk-ZUTM4LHM.js → chunk-RZIX2G32.js} +1 -1
  123. package/chunks/{chunk-ZKBNRL6O.js → chunk-SQCQ4KO2.js} +336 -404
  124. package/chunks/{chunk-THJNPLI4.js → chunk-TARRHLLG.js} +1 -0
  125. package/chunks/{chunk-RHYFF54J.js → chunk-TEHGS6UP.js} +50 -21
  126. package/chunks/{chunk-ACQJPDDS.js → chunk-TGILQ3YH.js} +8 -8
  127. package/chunks/{chunk-Q2YKNMLS.js → chunk-TOFQCPDC.js} +43 -10
  128. package/chunks/{chunk-ACZIBDYD.js → chunk-TPRQ7RZH.js} +587 -176
  129. package/chunks/{chunk-T4TZQJ7W.js → chunk-TWPJO254.js} +5 -16
  130. package/chunks/{chunk-7MWABCXU.js → chunk-U7M2DMGW.js} +3 -3
  131. package/chunks/{chunk-KQQ757OQ.js → chunk-UDX5OBWR.js} +41 -9
  132. package/chunks/{chunk-SRPZG4ER.js → chunk-USTWD7QV.js} +6 -4
  133. package/chunks/{chunk-NPQDJGKU.js → chunk-UUUTRMI2.js} +1 -1
  134. package/chunks/chunk-UW5EOVUN.js +249 -0
  135. package/chunks/{chunk-6IL7KRLE.js → chunk-VAK25FTU.js} +1 -1
  136. package/chunks/{chunk-TDDFEPBX.js → chunk-VIA5XA4U.js} +5 -2
  137. package/chunks/{chunk-3BJDQVE6.js → chunk-VRYUBFMC.js} +1 -1
  138. package/chunks/{chunk-PLQODS7F.js → chunk-VULLI6WQ.js} +172 -6
  139. package/chunks/{chunk-GN45XAAU.js → chunk-WCXCRJYB.js} +1 -1
  140. package/chunks/{chunk-2LI23QA6.js → chunk-X5XDDSSH.js} +1 -1
  141. package/chunks/{chunk-O32RMIMO.js → chunk-Y34KJKDC.js} +1 -1
  142. package/chunks/{chunk-7ZD5EKXE.js → chunk-YBL3QUDD.js} +2 -2
  143. package/chunks/{chunk-H4AR2JQF.js → chunk-YH6G52F2.js} +3 -3
  144. package/chunks/{chunk-3G3UUMRS.js → chunk-YPE6A4GC.js} +2 -2
  145. package/chunks/{chunk-3F2JUWCH.js → chunk-YX324OPW.js} +1 -1
  146. package/chunks/{chunk-CGIDQG6J.js → chunk-Z2BC6UJ5.js} +3 -3
  147. package/chunks/{chunk-QLJUC7TG.js → chunk-ZD6UTE4A.js} +1 -1
  148. package/chunks/{chunk-ZPWJZHJ2.js → chunk-ZFDTEDCF.js} +6 -6
  149. package/chunks/chunk-ZJHVAS7M.js +289 -0
  150. package/chunks/{chunk-XAGLQITN.js → chunk-ZNAUOR2I.js} +15 -12
  151. package/chunks/{chunk-T2L47JJK.js → chunk-ZOIFNCKL.js} +4 -4
  152. package/chunks/{computer-use-RZ3UUWYW.js → computer-use-SOQ4E3VX.js} +43 -34
  153. package/chunks/{config-utils-SQUBZEQM.js → config-utils-7V7GGIW6.js} +3 -3
  154. package/chunks/contextCommand-JLHYA34Z.js +80 -0
  155. package/chunks/{create-sub-session-AZ77LBL3.js → create-sub-session-IWW2IZ2T.js} +3 -3
  156. package/chunks/{create-sub-session-EQG73FT6.js → create-sub-session-QRJLW5BV.js} +43 -34
  157. package/chunks/{cron-create-KTWJM7QT.js → cron-create-YIID5XAW.js} +6 -6
  158. package/chunks/{cron-delete-2P3I5ULL.js → cron-delete-ZVHYCEP2.js} +5 -5
  159. package/chunks/{cron-list-PXDPGEDQ.js → cron-list-XEGS463Q.js} +5 -5
  160. package/chunks/{daemon-RAPSDJH7.js → daemon-YO6433NF.js} +350 -53
  161. package/chunks/daemon-status-provider-2233Q37D.js +89 -0
  162. package/chunks/{de-4IBXM7CN.js → de-HGRCYDEJ.js} +1 -0
  163. package/chunks/{dist-UIFWIFRO.js → dist-46NQKLTW.js} +2 -2
  164. package/chunks/{dist-XRYV6TJP.js → dist-AIKFMUKK.js} +50 -4
  165. package/chunks/{dist-XBJVSWS2.js → dist-BBLXMS3N.js} +14 -2
  166. package/chunks/{dist-OMW6WDEO.js → dist-F6IBUDR4.js} +40 -9
  167. package/chunks/{dist-PJLG2XYX.js → dist-WEAHOXDM.js} +1 -1
  168. package/chunks/{dist-OAV7LJGJ.js → dist-YFNEUWSE.js} +26 -2
  169. package/chunks/earlyInputCapture-A7NDU3PF.js +82 -0
  170. package/chunks/{edit-XRSKQPHQ.js → edit-OBDSQURM.js} +43 -34
  171. package/chunks/{en-USMCCJAJ.js → en-MTWBNGDO.js} +15 -0
  172. package/chunks/{enter-worktree-WAHCWE6I.js → enter-worktree-U6MRPQ2P.js} +43 -34
  173. package/chunks/{enterPlanMode-QIOYLDCF.js → enterPlanMode-BC5QUZZ2.js} +43 -34
  174. package/chunks/{environment-T3FXCDJI.js → environment-W5UFC2CH.js} +46 -37
  175. package/chunks/errors-M7CLORXH.js +88 -0
  176. package/chunks/{exit-worktree-RHVTLX6T.js → exit-worktree-DGNYMECB.js} +43 -34
  177. package/chunks/{exitPlanMode-UATOE2GQ.js → exitPlanMode-GXTBWQAR.js} +43 -34
  178. package/chunks/{fast-path-J3RHOYSZ.js → fast-path-JJZFJANL.js} +6 -6
  179. package/chunks/{fast-path-settings-XB3CPUJT.js → fast-path-settings-WQJU2LAT.js} +2 -2
  180. package/chunks/{fr-WVHEBDDB.js → fr-45RLL55O.js} +1 -0
  181. package/chunks/{gemini-P72OGOH6.js → gemini-QS36EBZV.js} +133 -102
  182. package/chunks/{geminiContentGenerator-F6EG5FXF.js → geminiContentGenerator-AG4KB6CV.js} +14 -8
  183. package/chunks/{getMachineId-bsd-QFVLPUPT.js → getMachineId-bsd-V7W3GODC.js} +1 -1
  184. package/chunks/{getMachineId-darwin-DGMQQE2E.js → getMachineId-darwin-TDO75DQP.js} +1 -1
  185. package/chunks/{getMachineId-linux-R4Z6CSWC.js → getMachineId-linux-TF43WQT2.js} +1 -1
  186. package/chunks/{getMachineId-unsupported-Z3SBVBUV.js → getMachineId-unsupported-ZGUO3TXT.js} +1 -1
  187. package/chunks/{getMachineId-win-SCK5UFDT.js → getMachineId-win-ECFYZZFQ.js} +1 -1
  188. package/chunks/{glob-WHASQZRX.js → glob-V7R3PSK3.js} +43 -34
  189. package/chunks/{grep-LS7AADJ3.js → grep-QYPSK7OP.js} +43 -34
  190. package/chunks/handleAutoUpdate-6DBEZYPV.js +81 -0
  191. package/chunks/{i18n-IMVASWIF.js → i18n-VUJJZIMU.js} +44 -35
  192. package/chunks/image-gen-Z3VPGKRC.js +240 -0
  193. package/chunks/initializer-UWAK5U5O.js +86 -0
  194. package/chunks/installationInfo-6O2YAA52.js +80 -0
  195. package/chunks/{ja-KY4ROZTE.js → ja-B7DF7DFG.js} +1 -0
  196. package/chunks/{keychain-token-storage-6ACJDYIB.js → keychain-token-storage-MDTG3WRM.js} +3 -3
  197. package/chunks/{kittyProtocolDetector-HCNNKJTI.js → kittyProtocolDetector-MBRTDRBK.js} +5 -3
  198. package/chunks/list-GB4ESM3T.js +89 -0
  199. package/chunks/list-agents-5KJJHR6I.js +80 -0
  200. package/chunks/loadedSettingsAdapter-OT6JVQ7U.js +83 -0
  201. package/chunks/loggingContentGenerator-HS3S5H3Q.js +1077 -0
  202. package/chunks/{loop-wakeup-RNMRVA66.js → loop-wakeup-FXKNNYSY.js} +7 -7
  203. package/chunks/{ls-J2ZI5XYK.js → ls-NTK6VOQJ.js} +5 -5
  204. package/chunks/{lsp-UMS3NUB5.js → lsp-2JI24STP.js} +3 -3
  205. package/chunks/{managed-npm-update-L6UY7OM7.js → managed-npm-update-JYEMMXA3.js} +94 -37
  206. package/chunks/mcp-6DBDJPFU.js +83 -0
  207. package/chunks/{monitor-DXYFB5QD.js → monitor-R3ODH5U6.js} +45 -35
  208. package/chunks/node-UUDY34IG.js +305 -0
  209. package/chunks/nonInteractiveCli-MOYCYBBU.js +141 -0
  210. package/chunks/{notebook-edit-KGD7YJEA.js → notebook-edit-BNOK452R.js} +43 -34
  211. package/chunks/{openaiContentGenerator-C74A2XAU.js → openaiContentGenerator-WMCU3O2H.js} +27 -17
  212. package/chunks/pidfile-TFRZZZIO.js +86 -0
  213. package/chunks/{processUtils-GUT5B4R6.js → processUtils-RT7UNCC2.js} +2 -2
  214. package/chunks/{pt-OK455PLH.js → pt-22Q3FP73.js} +1 -0
  215. package/chunks/{qwenContentGenerator-PT46FQPA.js → qwenContentGenerator-HHCRK4SX.js} +56 -41
  216. package/chunks/{qwenOAuth2-S7DZHUUU.js → qwenOAuth2-OWLB5AKH.js} +14 -27
  217. package/chunks/read-file-APMO3PSX.js +31 -0
  218. package/chunks/{read-mcp-resource-F6HYMDUY.js → read-mcp-resource-4DKQWGHD.js} +3 -3
  219. package/chunks/{record-artifact-7GCFLDD7.js → record-artifact-RQKFYO5B.js} +3 -3
  220. package/chunks/resumeHistoryUtils-6KRYEAWZ.js +91 -0
  221. package/chunks/ripGrep-BEJDEDXW.js +73 -0
  222. package/chunks/{ru-7SPDGMGD.js → ru-FZCNZHDC.js} +1 -0
  223. package/chunks/{run-qwen-serve-QO4PT5NV.js → run-qwen-serve-FU6HEM4J.js} +276 -62
  224. package/chunks/{runtime-EOTXBUM6.js → runtime-XXRRTNP6.js} +55 -44
  225. package/chunks/{scheduler-MAIQ2PHR.js → scheduler-G2ZS2Z7E.js} +43 -34
  226. package/chunks/{sdk-exporters-grpc-ETLH47EP.js → sdk-exporters-grpc-AK3LGHNO.js} +3 -3
  227. package/chunks/{sdk-exporters-http-T3POX73F.js → sdk-exporters-http-FYBSUCPD.js} +6 -6
  228. package/chunks/{sdk-impl-NSLPDH6I.js → sdk-impl-GMVPB7NB.js} +6 -6
  229. package/chunks/{send-message-PYIJ2PZL.js → send-message-Q6OOR6BR.js} +46 -9
  230. package/chunks/serve-7BSTXJ4T.js +89 -0
  231. package/chunks/{server-CBCC3XQC.js → server-4UMH7OIZ.js} +2348 -396
  232. package/chunks/{session-RQUEFQDL.js → session-K3O3Q2SV.js} +107 -88
  233. package/chunks/{settings-QHXCJDSR.js → settings-CR2EWTBA.js} +53 -44
  234. package/chunks/shell-HH3PF3A2.js +83 -0
  235. package/chunks/{skill-WHSGTGKP.js → skill-I3SDA4MB.js} +17 -15
  236. package/chunks/spawnChannel-RWNDBXGA.js +82 -0
  237. package/chunks/{src-F3HKX47D.js → src-GE4TTTML.js} +290 -171
  238. package/chunks/{standalone-update-BKLONSVI.js → standalone-update-Q6WFRZZQ.js} +45 -36
  239. package/chunks/{startInteractiveUI-TNJ37X5W.js → startInteractiveUI-SLZGHRPH.js} +736 -298
  240. package/chunks/{syntheticOutput-H7RTI5KL.js → syntheticOutput-I3757IWH.js} +4 -4
  241. package/chunks/{task-create-7474AJJD.js → task-create-N7WQSGYA.js} +10 -10
  242. package/chunks/{task-list-633HGOIB.js → task-list-FOPULZEP.js} +7 -7
  243. package/chunks/{task-stop-MNUGHPIA.js → task-stop-H6RHXFVQ.js} +4 -4
  244. package/chunks/{task-update-66GQB5LI.js → task-update-M57TFZJT.js} +10 -10
  245. package/chunks/{team-create-LUHJ7ZCC.js → team-create-YJALH5D2.js} +44 -35
  246. package/chunks/{team-delete-BB3CG3QF.js → team-delete-QE2UXJL7.js} +7 -7
  247. package/chunks/{team-plan-approval-X3DYRL6L.js → team-plan-approval-34QFYKGN.js} +43 -34
  248. package/chunks/theme-manager-SWRILQHI.js +77 -0
  249. package/chunks/todoWrite-VQ7FKOHL.js +358 -0
  250. package/chunks/{tool-search-BAWOETUY.js → tool-search-NF7GB6LE.js} +16 -16
  251. package/chunks/total-session-admission-DLHHHLD3.js +84 -0
  252. package/chunks/{tree-sitter-FS4VPMZA.js → tree-sitter-4D7QS7F6.js} +1 -1
  253. package/chunks/{tree-sitter-bash-6B46JJCV.js → tree-sitter-bash-VEJGF5XF.js} +1 -1
  254. package/chunks/{trustedFolders-4UEOIKOF.js → trustedFolders-KHXHY6PY.js} +44 -35
  255. package/chunks/{update-relaunch-WDWABT5P.js → update-relaunch-WBUZJC5O.js} +5 -5
  256. package/chunks/updateCheck-RKL6M5XN.js +92 -0
  257. package/chunks/useAutoAcceptIndicator-CFQ5BUJL.js +93 -0
  258. package/chunks/{validateNonInterActiveAuth-OKUE3JLF.js → validateNonInterActiveAuth-3R223G3R.js} +91 -81
  259. package/chunks/{version-GMUULLWB.js → version-HS7YSFHV.js} +1 -1
  260. package/chunks/{web-fetch-JBWTMPFN.js → web-fetch-NKCSG7ZE.js} +18 -16
  261. package/chunks/{web-search-27COJHJT.js → web-search-S62WAP4S.js} +13 -27
  262. package/chunks/{workflow-5L37J7YF.js → workflow-QAGU5RU4.js} +44 -35
  263. package/chunks/workspace-providers-status-QSVZUETE.js +86 -0
  264. package/chunks/{workspace-registration-store-TYPYXIP6.js → workspace-registration-store-24JMHDGF.js} +2 -2
  265. package/chunks/workspace-registry-UT4RBNBM.js +88 -0
  266. package/chunks/workspace-service-JFWRUS4V.js +98 -0
  267. package/chunks/workspace-skills-status-ZBBKJOI2.js +85 -0
  268. package/chunks/write-file-VHIXW5M7.js +73 -0
  269. package/chunks/{zh-WY5DWYZD.js → zh-LUIGBD55.js} +15 -0
  270. package/chunks/{zh-TW-BM47YBFH.js → zh-TW-F5KG2IYD.js} +15 -0
  271. package/cli-entry.js +10 -1
  272. package/cli.js +13 -13
  273. package/locales/ca.js +2 -0
  274. package/locales/de.js +1 -0
  275. package/locales/en.js +25 -0
  276. package/locales/fr.js +1 -0
  277. package/locales/ja.js +1 -0
  278. package/locales/pt.js +1 -0
  279. package/locales/ru.js +1 -0
  280. package/locales/zh-TW.js +23 -0
  281. package/locales/zh.js +23 -0
  282. package/package.json +3 -3
  283. package/web-shell/assets/{arc-BWFm0SI0.js → arc-DcbWnB9T.js} +1 -1
  284. package/web-shell/assets/{architectureDiagram-3BPJPVTR-CZ_yL-DQ.js → architectureDiagram-3BPJPVTR-kMMF5sud.js} +1 -1
  285. package/web-shell/assets/{blockDiagram-GPEHLZMM-B9F9mJvG.js → blockDiagram-GPEHLZMM-Htl9vTJS.js} +1 -1
  286. package/web-shell/assets/{c4Diagram-AAUBKEIU-BUdwJW5f.js → c4Diagram-AAUBKEIU-BnZnm0mQ.js} +1 -1
  287. package/web-shell/assets/channel-Cq7YKtfC.js +1 -0
  288. package/web-shell/assets/{chunk-2J33WTMH-w4cF-qlF.js → chunk-2J33WTMH-DziB7kDG.js} +1 -1
  289. package/web-shell/assets/{chunk-4BX2VUAB-BXwURxHJ.js → chunk-4BX2VUAB-CmkD8daw.js} +1 -1
  290. package/web-shell/assets/{chunk-55IACEB6-Gem3LalC.js → chunk-55IACEB6-CHAd9A_U.js} +1 -1
  291. package/web-shell/assets/{chunk-727SXJPM-A3ddVojI.js → chunk-727SXJPM-Dqaam3fE.js} +1 -1
  292. package/web-shell/assets/{chunk-AQP2D5EJ-CjHZ5L_R.js → chunk-AQP2D5EJ-D_-saBYM.js} +1 -1
  293. package/web-shell/assets/{chunk-FMBD7UC4-CKgdgcpv.js → chunk-FMBD7UC4-B9r_veWD.js} +1 -1
  294. package/web-shell/assets/{chunk-ND2GUHAM-Cn2Dykjb.js → chunk-ND2GUHAM-B3EaCSpL.js} +1 -1
  295. package/web-shell/assets/{chunk-QZHKN3VN--0SyraC5.js → chunk-QZHKN3VN-CYq8x9mn.js} +1 -1
  296. package/web-shell/assets/classDiagram-4FO5ZUOK-CQ9aC1Tg.js +1 -0
  297. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-CQ9aC1Tg.js +1 -0
  298. package/web-shell/assets/{cose-bilkent-S5V4N54A-CphhAity.js → cose-bilkent-S5V4N54A-D0ng4uiB.js} +1 -1
  299. package/web-shell/assets/{dagre-BM42HDAG-DU--jiKp.js → dagre-BM42HDAG-DCZollQv.js} +1 -1
  300. package/web-shell/assets/{diagram-2AECGRRQ-BzvuZw1Y.js → diagram-2AECGRRQ-Dfk2pWS0.js} +1 -1
  301. package/web-shell/assets/{diagram-5GNKFQAL-D84-49Y0.js → diagram-5GNKFQAL-kX38ltWR.js} +1 -1
  302. package/web-shell/assets/{diagram-KO2AKTUF-DQTq-3_3.js → diagram-KO2AKTUF-CJz2vsXh.js} +1 -1
  303. package/web-shell/assets/{diagram-LMA3HP47-8FTrshzN.js → diagram-LMA3HP47-BvMLZm_7.js} +1 -1
  304. package/web-shell/assets/{diagram-OG6HWLK6-BCjpDBCm.js → diagram-OG6HWLK6-l7kfStkO.js} +1 -1
  305. package/web-shell/assets/{erDiagram-TEJ5UH35-BtRObkmg.js → erDiagram-TEJ5UH35-BSVa8GGT.js} +1 -1
  306. package/web-shell/assets/{flowDiagram-I6XJVG4X-DTrW6oxy.js → flowDiagram-I6XJVG4X-CoawKIXH.js} +1 -1
  307. package/web-shell/assets/{ganttDiagram-6RSMTGT7-BgPNSW6j.js → ganttDiagram-6RSMTGT7-DFUDH0zF.js} +1 -1
  308. package/web-shell/assets/{gitGraphDiagram-PVQCEYII-BTclNgGV.js → gitGraphDiagram-PVQCEYII-Y2pvpT4e.js} +1 -1
  309. package/web-shell/assets/{index-CxA7AqY6.js → index-D0GX0zZf.js} +1 -1
  310. package/web-shell/assets/index-D9haPt0X.css +5 -0
  311. package/web-shell/assets/index-ckX9Pq5k.js +1230 -0
  312. package/web-shell/assets/{infoDiagram-5YYISTIA-DCE4AJt2.js → infoDiagram-5YYISTIA-CU8_zLiX.js} +1 -1
  313. package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-C8iE6q4Y.js → ishikawaDiagram-YF4QCWOH-AVQiV0DU.js} +1 -1
  314. package/web-shell/assets/{journeyDiagram-JHISSGLW-C_dxdyEc.js → journeyDiagram-JHISSGLW-DQ0VSKa3.js} +1 -1
  315. package/web-shell/assets/{kanban-definition-UN3LZRKU-Dw3n1u3w.js → kanban-definition-UN3LZRKU-BqnWqsE_.js} +1 -1
  316. package/web-shell/assets/{linear-C2BF2zJ9.js → linear-BkoihsaA.js} +1 -1
  317. package/web-shell/assets/{mermaid.core-CGTQU3MA.js → mermaid.core-5RJs-31j.js} +5 -5
  318. package/web-shell/assets/{mindmap-definition-RKZ34NQL-BVFZm9ZC.js → mindmap-definition-RKZ34NQL-D33Bxnpd.js} +1 -1
  319. package/web-shell/assets/{pieDiagram-4H26LBE5-Cc-TNN3n.js → pieDiagram-4H26LBE5-BuEAw3BH.js} +1 -1
  320. package/web-shell/assets/{quadrantDiagram-W4KKPZXB-CgW3Rzsi.js → quadrantDiagram-W4KKPZXB-Kox_usEq.js} +1 -1
  321. package/web-shell/assets/{requirementDiagram-4Y6WPE33-BAaj0Y3B.js → requirementDiagram-4Y6WPE33-CNjeUif0.js} +1 -1
  322. package/web-shell/assets/{sankeyDiagram-5OEKKPKP-XJWmekxS.js → sankeyDiagram-5OEKKPKP-BCd2OL_U.js} +1 -1
  323. package/web-shell/assets/{sequenceDiagram-3UESZ5HK-CtRc_0wf.js → sequenceDiagram-3UESZ5HK-CF2ZTsz0.js} +1 -1
  324. package/web-shell/assets/{stateDiagram-AJRCARHV-WCnvMGy5.js → stateDiagram-AJRCARHV-qenSzHtm.js} +1 -1
  325. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-B7W4zlCr.js +1 -0
  326. package/web-shell/assets/{timeline-definition-PNZ67QCA-C9cRx49L.js → timeline-definition-PNZ67QCA-B5DyWdgs.js} +1 -1
  327. package/web-shell/assets/{vennDiagram-CIIHVFJN-BvXOCEt-.js → vennDiagram-CIIHVFJN-DqP4I_o_.js} +1 -1
  328. package/web-shell/assets/{wardley-L42UT6IY-ByafGtzu.js → wardley-L42UT6IY-CJe2e4mg.js} +1 -1
  329. package/web-shell/assets/{wardleyDiagram-YWT4CUSO-CozAnw8x.js → wardleyDiagram-YWT4CUSO-BMDSw-Rr.js} +1 -1
  330. package/web-shell/assets/{xychartDiagram-2RQKCTM6-Camu9Qvq.js → xychartDiagram-2RQKCTM6-BTVZYkxD.js} +1 -1
  331. package/web-shell/index.html +17 -13
  332. package/chunks/MaxSizedBox-HNWBEL5H.js +0 -77
  333. package/chunks/agent-KTMY6SF3.js +0 -72
  334. package/chunks/agent-headless-HJ56ZZOW.js +0 -66
  335. package/chunks/bridge-AMC5AD7W.js +0 -80
  336. package/chunks/chunk-CBOQ3HY7.js +0 -2019
  337. package/chunks/chunk-UHGNAWHK.js +0 -6928
  338. package/chunks/contextCommand-PW4GINQU.js +0 -71
  339. package/chunks/daemon-status-provider-3IWTBWQ3.js +0 -79
  340. package/chunks/earlyInputCapture-TYNI3B6E.js +0 -73
  341. package/chunks/errors-QAWTJTAW.js +0 -79
  342. package/chunks/handleAutoUpdate-V5A3JHOG.js +0 -72
  343. package/chunks/initializer-JJLF5JCJ.js +0 -77
  344. package/chunks/installationInfo-LAWMHQAG.js +0 -71
  345. package/chunks/list-L2ECB6UM.js +0 -80
  346. package/chunks/loadedSettingsAdapter-RLMZ4Z3E.js +0 -74
  347. package/chunks/mcp-E4O7Z6FO.js +0 -74
  348. package/chunks/nonInteractiveCli-GU2UKULE.js +0 -131
  349. package/chunks/pidfile-IWQWZNZV.js +0 -77
  350. package/chunks/read-file-ZOCXW4AD.js +0 -31
  351. package/chunks/resumeHistoryUtils-TJWRDE2L.js +0 -83
  352. package/chunks/ripGrep-OFKAW2VE.js +0 -64
  353. package/chunks/serve-UB4CF67Q.js +0 -80
  354. package/chunks/shell-RPK7EAOC.js +0 -74
  355. package/chunks/spawnChannel-IUP3ZNMT.js +0 -73
  356. package/chunks/theme-manager-ALL7F4CJ.js +0 -68
  357. package/chunks/total-session-admission-PLONPNXI.js +0 -74
  358. package/chunks/updateCheck-PVROE4GR.js +0 -87
  359. package/chunks/useAutoAcceptIndicator-6BNLNN5S.js +0 -85
  360. package/chunks/workspace-providers-status-2U3IF4TX.js +0 -77
  361. package/chunks/workspace-registry-DLQDDDIF.js +0 -78
  362. package/chunks/workspace-service-7K3LF4QX.js +0 -89
  363. package/chunks/workspace-skills-status-4DOZ3DBS.js +0 -76
  364. package/chunks/write-file-PTPXDKZ3.js +0 -64
  365. package/web-shell/assets/channel-DiLlxxIf.js +0 -1
  366. package/web-shell/assets/classDiagram-4FO5ZUOK-CkylTdM4.js +0 -1
  367. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-CkylTdM4.js +0 -1
  368. package/web-shell/assets/index-CGtQqOIa.css +0 -5
  369. package/web-shell/assets/index-TtM0hVjU.js +0 -1207
  370. 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-IWALV67J.js";
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-6FZYKBKV.js";
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-H4A4A2SY.js";
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((model) => model.fastOnly !== true && model.voiceOnly !== true).map((model) => {
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
  }
@@ -1667,6 +1667,5 @@ var require_proper_lockfile = __commonJS({
1667
1667
  });
1668
1668
 
1669
1669
  export {
1670
- require_graceful_fs,
1671
1670
  require_proper_lockfile
1672
1671
  };
@@ -11,15 +11,15 @@ import {
11
11
  } from "./chunk-JCW2R7WC.js";
12
12
  import {
13
13
  DEFAULT_FILE_FILTERING_OPTIONS
14
- } from "./chunk-57FIIFJN.js";
14
+ } from "./chunk-M5JM7OSF.js";
15
15
  import {
16
16
  ToolNames
17
- } from "./chunk-YM3SZTH4.js";
17
+ } from "./chunk-PR75REBZ.js";
18
18
  import {
19
19
  createDebugLogger,
20
20
  getErrorMessage,
21
21
  isNodeError
22
- } from "./chunk-OQB4EXO4.js";
22
+ } from "./chunk-NL7LTRLR.js";
23
23
  import {
24
24
  init_esbuild_shims
25
25
  } from "./chunk-5O2XNYP6.js";
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk-RKUWKYED.js";
7
7
  import {
8
8
  createDebugLogger
9
- } from "./chunk-OQB4EXO4.js";
9
+ } from "./chunk-NL7LTRLR.js";
10
10
  import {
11
11
  init_esbuild_shims
12
12
  } 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-ACZIBDYD.js";
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-7MWABCXU.js";
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-4LVZNIDO.js";
27
+ } from "./chunk-J56UI34H.js";
28
28
  import {
29
- contextCommand
30
- } from "./chunk-WSYKDFYR.js";
29
+ isKittyProtocolEnabled
30
+ } from "./chunk-PQNHRFJC.js";
31
31
  import {
32
32
  rollbackStandaloneUpdate
33
- } from "./chunk-5WDRI7US.js";
33
+ } from "./chunk-M4FMGVY4.js";
34
34
  import {
35
35
  themeManager
36
- } from "./chunk-7Z6JQEL6.js";
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-6NRFYMKG.js";
53
+ } from "./chunk-EBJQ6AXW.js";
51
54
  import {
52
55
  stripUnsafeCharacters,
53
56
  toCodePoints
54
- } from "./chunk-RS7MT2QG.js";
57
+ } from "./chunk-IPUUTYMV.js";
55
58
  import {
56
- getErrorMessage as getErrorMessage2
57
- } from "./chunk-7SSWNGEJ.js";
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-CJQ3FZ2G.js";
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-42W5BDEY.js";
79
+ } from "./chunk-KMQ33DO4.js";
72
80
  import {
73
- formatUnsupportedVoiceModelMessage,
74
- getVoiceSettingsScope,
75
- isSelectableVoiceModel,
76
- isVoiceEnabled,
77
- readVoiceMode,
78
- readVoiceModel
79
- } from "./chunk-7ZD5EKXE.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-RHYFF54J.js";
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-V7WNRZL7.js";
100
- import {
101
- getInstallationInfo
102
- } from "./chunk-XAGLQITN.js";
102
+ } from "./chunk-LKEJ26GS.js";
103
103
  import {
104
104
  isFolderTrustEnabled,
105
105
  loadTrustedFolders
106
- } from "./chunk-CGIDQG6J.js";
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-IWALV67J.js";
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-6FZYKBKV.js";
182
- import {
183
- HookEventName,
184
- sanitizeUserPromptExpansionAdditionalContext
185
- } from "./chunk-7VUQQBR7.js";
183
+ } from "./chunk-MZAXJAUM.js";
186
184
  import {
187
185
  APPROVAL_MODES,
188
186
  FORK_SUBAGENT_TYPE,
189
187
  stripStartupContext
190
- } from "./chunk-WHGVTP7Q.js";
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-H4A4A2SY.js";
220
+ } from "./chunk-CIKQ7KKO.js";
217
221
  import {
218
222
  getAutoMemoryRoot
219
- } from "./chunk-4K56OJFJ.js";
223
+ } from "./chunk-MUP3T3AD.js";
220
224
  import {
221
225
  ToolNames,
222
226
  isShellProgressData
223
- } from "./chunk-YM3SZTH4.js";
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-OQB4EXO4.js";
236
+ } from "./chunk-NL7LTRLR.js";
233
237
  import {
234
238
  isCpuProfileRecording,
235
239
  startCpuProfile,
236
240
  stopCpuProfile
237
- } from "./chunk-3EHJ44GG.js";
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 = parsed.models.map((parsedModel) => {
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
- return {
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-6BNLNN5S.js") : void 0;
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-TJWRDE2L.js");
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-SSCNEHZZ.js"),
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 availableModels = config.getAvailableModels().filter((m) => {
8357
- if (mode === "fast") return !m.voiceOnly;
8358
- if (mode === "voice") return !m.fastOnly;
8359
- return !m.fastOnly && !m.voiceOnly;
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>\nExamples:\n /learn https://docs.example.com/api\n /learn ~/projects/acme-sdk\n /learn Our deploy process: ssh to prod, run migrate, restart"
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-PVROE4GR.js"),
12973
- import("./processUtils-GUT5B4R6.js"),
12974
- import("./standalone-update-BKLONSVI.js"),
12975
- import("./installationInfo-LAWMHQAG.js")
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;