@qwen-code/qwen-code 0.19.8 → 0.19.9

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 (434) hide show
  1. package/bundled/qc-helper/SKILL.md +1 -0
  2. package/bundled/qc-helper/docs/configuration/auth.md +40 -55
  3. package/bundled/qc-helper/docs/configuration/model-providers.md +224 -218
  4. package/bundled/qc-helper/docs/configuration/settings.md +60 -51
  5. package/bundled/qc-helper/docs/features/_meta.ts +1 -0
  6. package/bundled/qc-helper/docs/features/channels/dingtalk.md +9 -2
  7. package/bundled/qc-helper/docs/features/channels/overview.md +71 -4
  8. package/bundled/qc-helper/docs/features/channels/wecom.md +6 -0
  9. package/bundled/qc-helper/docs/features/code-review.md +29 -5
  10. package/bundled/qc-helper/docs/features/commands.md +39 -38
  11. package/bundled/qc-helper/docs/features/computer-use.md +77 -0
  12. package/bundled/qc-helper/docs/features/tool-use-summaries.md +19 -23
  13. package/bundled/qc-helper/docs/integration-vscode.md +2 -2
  14. package/bundled/qc-helper/docs/qwen-serve.md +29 -12
  15. package/bundled/qc-helper/docs/reference/keyboard-shortcuts.md +1 -1
  16. package/bundled/review/DESIGN.md +93 -22
  17. package/bundled/review/SKILL.md +295 -86
  18. package/chunks/MaxSizedBox-6HYJ3ZPJ.js +70 -0
  19. package/chunks/{StandaloneSessionPicker-EYRGH6PJ.js → StandaloneSessionPicker-WS4GXYOG.js} +79 -79
  20. package/chunks/{acpAgent-GRFTTRHW.js → acpAgent-5FWSOZL5.js} +968 -200
  21. package/chunks/agent-HOLHB3RT.js +68 -0
  22. package/chunks/agent-headless-SXL6H56A.js +62 -0
  23. package/chunks/{anthropicContentGenerator-CPF22MA7.js → anthropicContentGenerator-L73TO3DB.js} +187 -31
  24. package/chunks/{artifact-tool-D233YJFH.js → artifact-tool-U7IRTLIV.js} +5 -5
  25. package/chunks/{askUserQuestion-MKL5ZTMC.js → askUserQuestion-2DLUUZZG.js} +6 -6
  26. package/chunks/bridge-BCJQ7BBB.js +78 -0
  27. package/chunks/{ca-MKD32FQL.js → ca-UJ6HC4H2.js} +64 -5
  28. package/chunks/{channel-worker-supervisor-NZQUOEFJ.js → channel-worker-supervisor-WSOAAYUO.js} +137 -13
  29. package/chunks/{chunk-QQDPRDVW.js → chunk-2HRYPZT5.js} +1 -1
  30. package/chunks/{chunk-2PSWA5ID.js → chunk-2X56YUSZ.js} +1 -1
  31. package/chunks/{chunk-DIWVZ3VM.js → chunk-34MW4KTI.js} +5 -5
  32. package/chunks/{chunk-IBY3Q3HG.js → chunk-34Z3U5RQ.js} +508 -126
  33. package/chunks/{chunk-UXEW557D.js → chunk-3AHXV67U.js} +3 -3
  34. package/chunks/{chunk-O2YT7VB4.js → chunk-3BTRNWWD.js} +1 -1
  35. package/chunks/chunk-3G7CIHVV.js +71 -0
  36. package/chunks/{chunk-FBET5XZ2.js → chunk-3SJSQXNS.js} +20 -5
  37. package/chunks/{chunk-BUZ6HGL4.js → chunk-3VAGG5T5.js} +248 -55
  38. package/chunks/{chunk-M7S4GK5Z.js → chunk-4C5BQ2D2.js} +74 -27
  39. package/chunks/{chunk-5MBO76SL.js → chunk-4GORAUCN.js} +3 -3
  40. package/chunks/{chunk-55ZMG67I.js → chunk-4LD5APFL.js} +4 -4
  41. package/chunks/{chunk-TLWA7TPR.js → chunk-4QLQE5WJ.js} +2 -2
  42. package/chunks/{chunk-UIDXQNMV.js → chunk-4WGODMVR.js} +1 -1
  43. package/chunks/{chunk-E6US47KI.js → chunk-4WKAA4KS.js} +1 -1
  44. package/chunks/{chunk-H6EMK6QK.js → chunk-4ZVWQHEQ.js} +11913 -5207
  45. package/chunks/{chunk-HW4N45EE.js → chunk-524RQP4Q.js} +29 -8
  46. package/chunks/{chunk-3GONHQOA.js → chunk-57OAHC2Y.js} +1 -1
  47. package/chunks/{chunk-JZSY4WP3.js → chunk-5DTTYNB7.js} +1 -1
  48. package/chunks/{chunk-YDOXPLYL.js → chunk-5HOMWMCL.js} +1147 -738
  49. package/chunks/{chunk-A4BMJM77.js → chunk-5O2XNYP6.js} +1 -0
  50. package/chunks/{chunk-ZL5HN75Q.js → chunk-5SFOMFG4.js} +2 -2
  51. package/chunks/{chunk-2EM7ECZD.js → chunk-5U27BZ72.js} +179 -63
  52. package/chunks/{chunk-JRQ7EVGE.js → chunk-5VXNZWGF.js} +2 -2
  53. package/chunks/{chunk-QYNNN7BK.js → chunk-5XUCZNSY.js} +2 -2
  54. package/chunks/{chunk-GO6LNQXT.js → chunk-6AM5D4ME.js} +1 -1
  55. package/chunks/{chunk-BJBWRCSK.js → chunk-6H67XLET.js} +1 -1
  56. package/chunks/{chunk-PUVCVELY.js → chunk-6PESIEKJ.js} +4 -4
  57. package/chunks/{chunk-3UP777ZS.js → chunk-6RLROE6G.js} +1 -1
  58. package/chunks/{chunk-ZERZSAZL.js → chunk-75DOP5OR.js} +2 -2
  59. package/chunks/{chunk-RMLZAUWH.js → chunk-77XJ3SWN.js} +10 -12
  60. package/chunks/{chunk-L46XKEGM.js → chunk-7PU4FYLG.js} +5 -8
  61. package/chunks/{chunk-NQKLOAVJ.js → chunk-7R3CZA3Q.js} +2 -2
  62. package/chunks/{chunk-SAIILPQ3.js → chunk-7X7TEQNX.js} +5 -3
  63. package/chunks/{chunk-OQXDAMKY.js → chunk-A3XKDTSH.js} +8 -8
  64. package/chunks/{chunk-IRJWHZWU.js → chunk-A4UCTEB5.js} +2 -2
  65. package/chunks/{chunk-TSPB77TG.js → chunk-AKIVHSJR.js} +923 -2892
  66. package/chunks/{chunk-FQNC62B2.js → chunk-ATAKVRIF.js} +11 -11
  67. package/chunks/{chunk-GSHQYYIV.js → chunk-AURZZYMD.js} +6 -26
  68. package/chunks/{chunk-CHB5SLZZ.js → chunk-B4G2WOFA.js} +3 -3
  69. package/chunks/{chunk-X3YGAX7V.js → chunk-B5ORX3FG.js} +4 -2
  70. package/chunks/chunk-BAPGSC7U.js +239 -0
  71. package/chunks/{chunk-UX6OTBVD.js → chunk-BMGVRZN4.js} +2 -2
  72. package/chunks/{chunk-ZN5T4BHI.js → chunk-BPZALHVR.js} +2 -2
  73. package/chunks/{chunk-IJRL2S3D.js → chunk-BZIFY5TF.js} +6 -6
  74. package/chunks/{chunk-OFEVLU4C.js → chunk-CARU2RR2.js} +1 -1
  75. package/chunks/chunk-CC2ITGCF.js +176 -0
  76. package/chunks/{chunk-HDOH3QYE.js → chunk-CCDMCZPP.js} +2 -2
  77. package/chunks/{chunk-FV7425LN.js → chunk-CEA3E3JB.js} +18 -5
  78. package/chunks/{chunk-BOBOCR5H.js → chunk-CLFKOZEK.js} +4 -4
  79. package/chunks/{chunk-P3XEEI3X.js → chunk-CNEIYWSA.js} +38 -9
  80. package/chunks/{chunk-GLE2YUPU.js → chunk-COH43MRJ.js} +1 -1
  81. package/chunks/{chunk-E5A7LHNN.js → chunk-CPBF7KYF.js} +1 -1
  82. package/chunks/{chunk-UWCTAVOD.js → chunk-CR3C7WXL.js} +1 -1
  83. package/chunks/{chunk-5P5XGNYH.js → chunk-CU3L64TP.js} +1 -1
  84. package/chunks/{chunk-CD6USWHZ.js → chunk-CUMMSHH6.js} +2 -2
  85. package/chunks/{chunk-IWKSG2AR.js → chunk-CXAOG665.js} +1 -1
  86. package/chunks/{chunk-WQTHLB5T.js → chunk-D2GFWEXB.js} +7 -7
  87. package/chunks/{chunk-I6WGFJJ3.js → chunk-D5SKC4YG.js} +38 -12
  88. package/chunks/{chunk-MZ7BABX3.js → chunk-DC5Z3DU6.js} +2 -2
  89. package/chunks/{chunk-64WXLC72.js → chunk-DJ2GSRLV.js} +1 -1
  90. package/chunks/{chunk-QN5NZ3UQ.js → chunk-DMTGGOSA.js} +2 -2
  91. package/chunks/{chunk-A5JOJ77H.js → chunk-E2IY465S.js} +38 -15
  92. package/chunks/{chunk-KHDZHZMH.js → chunk-E5Z2AVNV.js} +1 -1
  93. package/chunks/{chunk-SQ2UATK7.js → chunk-EAXLGSFP.js} +11 -11
  94. package/chunks/{chunk-JCH35JB3.js → chunk-ECNYL4AA.js} +2 -2
  95. package/chunks/{chunk-E7EMCSUG.js → chunk-EGYZ275M.js} +64 -42
  96. package/chunks/{chunk-6VK6FIMQ.js → chunk-EMDMPBJ4.js} +415 -379
  97. package/chunks/{chunk-5IFG2VC4.js → chunk-FCMNKVXT.js} +1 -1
  98. package/chunks/{chunk-V35MD7KN.js → chunk-GRC5HGPI.js} +1 -1
  99. package/chunks/{chunk-WMPVYQ4P.js → chunk-GWHYEOV2.js} +2 -2
  100. package/chunks/{chunk-27BHARDE.js → chunk-GWLSNBG4.js} +2103 -13
  101. package/chunks/chunk-GZRTYZ2R.js +292 -0
  102. package/chunks/{chunk-A2X3KLC3.js → chunk-GZXCZHCT.js} +3 -3
  103. package/chunks/{chunk-K5PGHDBN.js → chunk-H6XPXXMH.js} +1 -1
  104. package/chunks/{chunk-DICGXFAI.js → chunk-HKMAENAO.js} +8 -8
  105. package/chunks/{chunk-ZE6E424U.js → chunk-HPDUL5MF.js} +2 -2
  106. package/chunks/{chunk-KYMBIKIW.js → chunk-HTHUX2T5.js} +1 -1
  107. package/chunks/{chunk-LQ7TMOCE.js → chunk-HTO4JFDZ.js} +1 -1
  108. package/chunks/{chunk-ON3JA3RU.js → chunk-HVY356M2.js} +7 -9
  109. package/chunks/{chunk-GGQQA4JW.js → chunk-IAVB3HM3.js} +2 -2
  110. package/chunks/{chunk-FEJ2FZ3U.js → chunk-J3JA76CF.js} +2 -2
  111. package/chunks/{chunk-4CGOWHKM.js → chunk-J4MOFEOK.js} +2 -2
  112. package/chunks/{chunk-22MNNNXE.js → chunk-J4TSQ5EQ.js} +3 -2
  113. package/chunks/{chunk-22IFUCVR.js → chunk-JESCGQM3.js} +1 -1
  114. package/chunks/{chunk-CCGOFQV3.js → chunk-JSG7ZSBC.js} +8 -7
  115. package/chunks/{chunk-WF4FAXDL.js → chunk-JZETEN3Z.js} +62 -62
  116. package/chunks/{chunk-GN3F6PIU.js → chunk-K434OPES.js} +5 -5
  117. package/chunks/{chunk-YKZIAK7C.js → chunk-KHUQZZJ6.js} +66 -16
  118. package/chunks/{chunk-X2XNQQJI.js → chunk-KKNMOEZH.js} +4 -4
  119. package/chunks/{chunk-MRO43B25.js → chunk-KW7NOTN6.js} +1 -1
  120. package/chunks/{chunk-6IAWPIQ6.js → chunk-L36P3NBD.js} +3 -3
  121. package/chunks/{chunk-54YZOP7P.js → chunk-L573Z2QZ.js} +11894 -5190
  122. package/chunks/{chunk-DHOLNQLC.js → chunk-L6P4KPHR.js} +12 -12
  123. package/chunks/{chunk-E7KNELIZ.js → chunk-LK7KUE55.js} +2 -2
  124. package/chunks/{chunk-W7EEOR7D.js → chunk-LUODI7WD.js} +5 -5
  125. package/chunks/{chunk-CSOTA7KX.js → chunk-LXNEJD34.js} +2 -2
  126. package/chunks/{chunk-HLKG6CZN.js → chunk-M5GB774H.js} +1 -1
  127. package/chunks/{chunk-3B26UVCX.js → chunk-MC23XKFE.js} +39 -10
  128. package/chunks/{chunk-PC4ZXHU2.js → chunk-MXL5UP4X.js} +3 -3
  129. package/chunks/{chunk-BVYU3ZTI.js → chunk-N3EMS75V.js} +73 -30
  130. package/chunks/{chunk-332PWN27.js → chunk-NHDKSOEY.js} +1 -1
  131. package/chunks/{chunk-3GNOQZDC.js → chunk-NVYTCB5Z.js} +4797 -2620
  132. package/chunks/{chunk-P7M4GA57.js → chunk-OCPBI7J5.js} +1 -1
  133. package/chunks/chunk-OQ4DRIOA.js +296 -0
  134. package/chunks/{chunk-42XGFRJS.js → chunk-ORBGV7NJ.js} +5 -5
  135. package/chunks/{chunk-AYNCLGTW.js → chunk-P67PFTUT.js} +8 -51
  136. package/chunks/{chunk-VGGOPZUL.js → chunk-PDZ7MBDG.js} +12 -5
  137. package/chunks/{chunk-WHJQ3JUS.js → chunk-PODM4SZ4.js} +12 -12
  138. package/chunks/{chunk-JPALE3PA.js → chunk-PVZM22CK.js} +6 -6
  139. package/chunks/{chunk-AGHU5VRK.js → chunk-PZL23GTM.js} +1 -1
  140. package/chunks/{chunk-L4AMBVQG.js → chunk-Q4YQW46J.js} +31 -17
  141. package/chunks/{chunk-XYR5RUA5.js → chunk-Q6I5QHMH.js} +10 -3
  142. package/chunks/{chunk-FXGLL2HL.js → chunk-Q7YDKOGY.js} +1 -1
  143. package/chunks/{chunk-LGFAYIKX.js → chunk-QHTIBUWB.js} +1 -1
  144. package/chunks/{chunk-P3MYAZBY.js → chunk-QMGX2KO2.js} +1 -1
  145. package/chunks/{chunk-Z3I3QJK3.js → chunk-QRUIS3DN.js} +1 -1
  146. package/chunks/{chunk-ITOGNELQ.js → chunk-QSWDGAIC.js} +2 -2
  147. package/chunks/{chunk-GHOTR7HL.js → chunk-QUPXZXLV.js} +1 -1
  148. package/chunks/{chunk-XOHNA2S6.js → chunk-QYMQSECS.js} +3 -3
  149. package/chunks/{chunk-QYUE6W3T.js → chunk-RDJSGHZE.js} +1 -1
  150. package/chunks/{chunk-TLRYABYP.js → chunk-RKUWKYED.js} +1 -1
  151. package/chunks/{chunk-RNBYOUGV.js → chunk-RXFQM6FQ.js} +1 -1
  152. package/chunks/{chunk-QXPI7FEC.js → chunk-S3TWXGKA.js} +4 -4
  153. package/chunks/{chunk-BOBRZZKD.js → chunk-SCGXUJBT.js} +5 -5
  154. package/chunks/{chunk-44NROQYV.js → chunk-SJHDYNHF.js} +4 -4
  155. package/chunks/{chunk-MLZQVCF3.js → chunk-SZRN75WQ.js} +1 -1
  156. package/chunks/{chunk-7RYW5LQV.js → chunk-T2NCM2ET.js} +2 -2
  157. package/chunks/{chunk-Z2Z3GUXZ.js → chunk-TB6UDU4T.js} +1 -1
  158. package/chunks/{chunk-SUAKHHK7.js → chunk-TDEXZKMT.js} +3 -3
  159. package/chunks/{chunk-EXPMGZZV.js → chunk-TEGEBB2I.js} +1 -1
  160. package/chunks/{chunk-MX2YXRER.js → chunk-TJTKSVIV.js} +1 -1
  161. package/chunks/chunk-TO6QE22P.js +444 -0
  162. package/chunks/{chunk-H6BD2ELD.js → chunk-TYAMGABM.js} +2 -2
  163. package/chunks/chunk-U2NNEY4R.js +38 -0
  164. package/chunks/{chunk-VRDMOSQS.js → chunk-UDXSXLER.js} +2 -2
  165. package/chunks/{chunk-AHNJGLFV.js → chunk-UOZWKTQG.js} +3 -3
  166. package/chunks/{chunk-CJCKDMWO.js → chunk-URK542T4.js} +1 -1
  167. package/chunks/{chunk-AHNXYU4O.js → chunk-V6WHFGST.js} +1 -1
  168. package/chunks/{chunk-DCZWC4PF.js → chunk-VA4KQY6V.js} +5 -5
  169. package/chunks/{chunk-ZTQ26VBE.js → chunk-VDDGDZMA.js} +1 -1
  170. package/chunks/{chunk-OMX7CUOE.js → chunk-VGC4I5JJ.js} +1 -1
  171. package/chunks/{chunk-43W4YSO6.js → chunk-VJNBRRZG.js} +2 -2
  172. package/chunks/{chunk-J7RCB6N5.js → chunk-VTU57BWZ.js} +2 -2
  173. package/chunks/{chunk-LAXNEOBG.js → chunk-VWPVHAMO.js} +15 -3
  174. package/chunks/{chunk-VZ7HY3YU.js → chunk-W2UIXQDL.js} +3 -3
  175. package/chunks/{chunk-JZHIQJOE.js → chunk-W3JHSWRP.js} +6 -6
  176. package/chunks/{chunk-ER3BKOLB.js → chunk-W7FJ3N32.js} +1 -1
  177. package/chunks/{chunk-3HX5LZ6R.js → chunk-WBL3FJEU.js} +2 -2
  178. package/chunks/{chunk-BMFMJINR.js → chunk-WL4L7EZH.js} +1 -1
  179. package/chunks/{chunk-PMFULMLX.js → chunk-WQUQVGTF.js} +2057 -266
  180. package/chunks/chunk-X4NKFGFJ.js +81 -0
  181. package/chunks/{chunk-YHKAK72D.js → chunk-X6TJ3YZV.js} +102 -16
  182. package/chunks/{chunk-3RW4AZJV.js → chunk-XFSFZCM5.js} +1 -1
  183. package/chunks/{chunk-O7FIRWJV.js → chunk-XLA62MYB.js} +3 -3
  184. package/chunks/{chunk-2MPVVENX.js → chunk-XU457J4V.js} +2 -2
  185. package/chunks/{chunk-EEN2TKST.js → chunk-XUOOWUZS.js} +2 -2
  186. package/chunks/{chunk-SIUQ3YYX.js → chunk-XVNQMZ2I.js} +1 -1
  187. package/chunks/{chunk-SYCJMSIJ.js → chunk-XWRJCPHC.js} +1 -1
  188. package/chunks/{chunk-TI3BWD4D.js → chunk-XYQSMABS.js} +39 -19
  189. package/chunks/chunk-YAF2MQZ6.js +19 -0
  190. package/chunks/{chunk-O33TBKDC.js → chunk-YAUFFXDS.js} +154 -19
  191. package/chunks/{chunk-OACJLMLD.js → chunk-YLV3XXFB.js} +2 -2
  192. package/chunks/{chunk-BR4QREVK.js → chunk-YQ3U5MUC.js} +1 -1
  193. package/chunks/{chunk-Y6Z2O3WR.js → chunk-YUZI3WAC.js} +1 -1
  194. package/chunks/{chunk-II73RK2S.js → chunk-YVEDCAUE.js} +1 -1
  195. package/chunks/{chunk-SKAZWEV5.js → chunk-ZJE7NSL3.js} +1 -1
  196. package/chunks/{chunk-7LTB54MK.js → chunk-ZLXQN2QS.js} +2 -2
  197. package/chunks/cli-entry-path-4VJ3Y6T2.js +10 -0
  198. package/chunks/{computer-use-WMY3UOBX.js → computer-use-HM37RX6A.js} +50 -50
  199. package/chunks/config-utils-NV2SVGPB.js +23 -0
  200. package/chunks/contextCommand-OF5SFGH2.js +68 -0
  201. package/chunks/create-sub-session-INX7TXJI.js +207 -0
  202. package/chunks/create-sub-session-KPRT7ECJ.js +375 -0
  203. package/chunks/{cron-create-JSXEIPVS.js → cron-create-AMBKGZX6.js} +9 -9
  204. package/chunks/{cron-delete-OIFVEPGU.js → cron-delete-LRU4OJYG.js} +7 -7
  205. package/chunks/{cron-list-D4ZX4IOE.js → cron-list-WVP2JXER.js} +14 -10
  206. package/chunks/{daemon-WPAENEBW.js → daemon-ARHTSTXP.js} +478 -6
  207. package/chunks/daemon-status-provider-B2UTZUJ2.js +76 -0
  208. package/chunks/{de-ZFPPQVSF.js → de-EBJN3OVN.js} +64 -5
  209. package/chunks/{devtools-FM6GJPYG.js → devtools-4QFYJT6U.js} +3 -3
  210. package/chunks/{dist-Z34QPAQW.js → dist-PNVLTKTL.js} +374 -78
  211. package/chunks/{dist-63IS3ZMI.js → dist-PZV5RKM6.js} +4 -4
  212. package/chunks/{dist-BEXOZXLQ.js → dist-QYCAEZIT.js} +32 -15
  213. package/chunks/{dist-H2AEJCZ5.js → dist-R7LN5AZE.js} +5 -5
  214. package/chunks/{dist-E6UANPIM.js → dist-VHV4EVHG.js} +1011 -197
  215. package/chunks/{dist-O2IRTRPP.js → dist-WKPOYU7O.js} +10 -10
  216. package/chunks/{dist-SCFLLYMK.js → dist-XKU3ABM5.js} +12 -11
  217. package/chunks/earlyInputCapture-3VTHRC4C.js +69 -0
  218. package/chunks/{edit-OTYWAXGP.js → edit-VNI4NJ73.js} +51 -51
  219. package/chunks/{en-N4EPZAQI.js → en-5A6LA7RK.js} +74 -6
  220. package/chunks/{enter-worktree-HNYBDVCX.js → enter-worktree-IYYBKPZT.js} +50 -50
  221. package/chunks/{enterPlanMode-CJCNGT63.js → enterPlanMode-GMC5FD5A.js} +50 -50
  222. package/chunks/environment-5HSSRMJ7.js +88 -0
  223. package/chunks/errors-HMFCJJ7P.js +75 -0
  224. package/chunks/{exit-worktree-DUUKOE3X.js → exit-worktree-6BHCMP5G.js} +50 -50
  225. package/chunks/{exitPlanMode-AMMSXOAJ.js → exitPlanMode-CJW7G74W.js} +51 -51
  226. package/chunks/{fast-path-OV6NIP3K.js → fast-path-FRDMDVHG.js} +8 -8
  227. package/chunks/{fast-path-settings-7RIFI3PK.js → fast-path-settings-5QZE64HR.js} +6 -6
  228. package/chunks/{fileFromPath-IBEHA3CO.js → fileFromPath-UDALK7FM.js} +3 -3
  229. package/chunks/{fr-5WWMY53B.js → fr-YXRABLYZ.js} +64 -5
  230. package/chunks/{gemini-NQ3WWBKB.js → gemini-QYSEGHAX.js} +119 -111
  231. package/chunks/{geminiContentGenerator-CDUNEJQE.js → geminiContentGenerator-J7YNZDYP.js} +9 -9
  232. package/chunks/{getMachineId-bsd-4CASPIU4.js → getMachineId-bsd-EXV7SWPA.js} +3 -3
  233. package/chunks/{getMachineId-darwin-HPQPEMZR.js → getMachineId-darwin-IUOMFXU3.js} +3 -3
  234. package/chunks/{getMachineId-linux-AUARKYHL.js → getMachineId-linux-K7XJYFHL.js} +2 -2
  235. package/chunks/{getMachineId-unsupported-S32ZDA2T.js → getMachineId-unsupported-EA5FDRJ6.js} +2 -2
  236. package/chunks/{getMachineId-win-4EFLHYIJ.js → getMachineId-win-KBA6RAI5.js} +3 -3
  237. package/chunks/{glob-ROV3YS4R.js → glob-BRCSGFOT.js} +95 -74
  238. package/chunks/{grep-NRITKDCD.js → grep-EE2DUOSY.js} +50 -50
  239. package/chunks/handleAutoUpdate-5NWTLR67.js +69 -0
  240. package/chunks/i18n-BASPENNQ.js +84 -0
  241. package/chunks/initializer-UTQ7FB7G.js +71 -0
  242. package/chunks/installationInfo-W6V4DT7W.js +65 -0
  243. package/chunks/{ja-CUHZOLEJ.js → ja-7VQOANVG.js} +64 -5
  244. package/chunks/{keychain-token-storage-UJV5XP4Z.js → keychain-token-storage-VKUBNCP4.js} +4 -4
  245. package/chunks/{kittyProtocolDetector-OJRCJLIU.js → kittyProtocolDetector-HCNNKJTI.js} +2 -2
  246. package/chunks/list-DEICDL65.js +74 -0
  247. package/chunks/loadedSettingsAdapter-NOWEGDYJ.js +68 -0
  248. package/chunks/{loop-wakeup-OHWEMFP5.js → loop-wakeup-WX7BLWWP.js} +10 -10
  249. package/chunks/{lowlight-FYAAUU5J.js → lowlight-J2OZNPCA.js} +1 -1
  250. package/chunks/{ls-7MFU2QYW.js → ls-ZB2BDP6T.js} +6 -6
  251. package/chunks/{lsp-XHDTPTGV.js → lsp-V5DN4YUJ.js} +4 -4
  252. package/chunks/mcp-L5JXEEIA.js +68 -0
  253. package/chunks/{monitor-FL2ZO33W.js → monitor-X5Z3H4FY.js} +50 -50
  254. package/chunks/{multipart-parser-AJ4WASWR.js → multipart-parser-AWZKXSQN.js} +3 -3
  255. package/chunks/nonInteractiveCli-LS2K4X6A.js +124 -0
  256. package/chunks/{notebook-edit-6PULTHL5.js → notebook-edit-TRM2QIJK.js} +51 -51
  257. package/chunks/openaiContentGenerator-AAYONPMF.js +56 -0
  258. package/chunks/pidfile-D4I4FTVA.js +73 -0
  259. package/chunks/{pt-OLYN42DS.js → pt-2C6YCSHL.js} +64 -5
  260. package/chunks/{qwenContentGenerator-NX2E7PB7.js → qwenContentGenerator-K3HZ2H76.js} +52 -52
  261. package/chunks/{qwenOAuth2-ZV7YLMND.js → qwenOAuth2-PJQ27GSO.js} +9 -9
  262. package/chunks/read-file-7SZSIZOL.js +30 -0
  263. package/chunks/{read-mcp-resource-CNQHBSJM.js → read-mcp-resource-SM5DA4RG.js} +5 -5
  264. package/chunks/{read-package-up-ER5OJUGP.js → read-package-up-TCM6I7S2.js} +2 -2
  265. package/chunks/{record-artifact-SQ2OKRJW.js → record-artifact-4XKZX3UW.js} +4 -4
  266. package/chunks/ripGrep-YNPFVCZP.js +60 -0
  267. package/chunks/{ru-LDM3GWVQ.js → ru-6BBHVZZV.js} +64 -5
  268. package/chunks/{run-qwen-serve-JK2DL7PI.js → run-qwen-serve-DMWV5N6L.js} +395 -74
  269. package/chunks/runtime-57WWRVHN.js +94 -0
  270. package/chunks/{scheduler-O4IGVZKK.js → scheduler-YBLGWSIL.js} +51 -51
  271. package/chunks/{send-message-76GT3JMC.js → send-message-F36YD6KQ.js} +7 -7
  272. package/chunks/serve-R63NK3CV.js +74 -0
  273. package/chunks/{server-SGNPKX2O.js → server-Z22GCAXP.js} +3956 -869
  274. package/chunks/{session-5BNM25EZ.js → session-HKAAI7BN.js} +117 -112
  275. package/chunks/settings-3EYN66GK.js +118 -0
  276. package/chunks/shell-6YXINTWJ.js +68 -0
  277. package/chunks/{skill-I22QK5XS.js → skill-OO57P4X6.js} +24 -24
  278. package/chunks/spawnChannel-JD7G4VU6.js +70 -0
  279. package/chunks/{src-BBQSM46M.js → src-G5UPLZSZ.js} +122 -52
  280. package/chunks/{src-7XL4G4DC.js → src-VLI3TKEY.js} +4 -4
  281. package/chunks/standalone-update-OB7F4JPZ.js +79 -0
  282. package/chunks/{startInteractiveUI-JII36UGN.js → startInteractiveUI-73EGLIIH.js} +1775 -1663
  283. package/chunks/stdioHelpers-UMY72QRP.js +14 -0
  284. package/chunks/{syntheticOutput-F7LSDCAR.js → syntheticOutput-34H7LGA7.js} +5 -5
  285. package/chunks/task-create-FRGOEIKY.js +22 -0
  286. package/chunks/{task-list-TGGJX7EA.js → task-list-OW766BXZ.js} +10 -10
  287. package/chunks/{task-stop-W7NGTMYQ.js → task-stop-SIR5SNBN.js} +4 -4
  288. package/chunks/{task-update-XYWMHJGJ.js → task-update-YRA532MT.js} +12 -12
  289. package/chunks/{team-create-A7NUU5AQ.js → team-create-PECAAPXK.js} +50 -50
  290. package/chunks/{team-delete-UHQQ2QQX.js → team-delete-6OSECUZC.js} +10 -10
  291. package/chunks/{team-plan-approval-TOQRJ2KI.js → team-plan-approval-L6F434RY.js} +50 -50
  292. package/chunks/theme-manager-ZG4RY6GU.js +64 -0
  293. package/chunks/{todoWrite-C4ZAMSR3.js → todoWrite-YDMFEV4G.js} +6 -6
  294. package/chunks/{tool-search-SZ4EFS2T.js → tool-search-THVIWAPB.js} +24 -24
  295. package/chunks/total-session-admission-JOKNRIIA.js +72 -0
  296. package/chunks/trustedFolders-EOGT3UVS.js +79 -0
  297. package/chunks/{types-QX5C3CHJ.js → types-JNKGKUJT.js} +2 -2
  298. package/chunks/updateCheck-2KYEYVSB.js +69 -0
  299. package/chunks/updateEventEmitter-5MKC7BLQ.js +10 -0
  300. package/chunks/validateNonInterActiveAuth-EN6ZQSR2.js +190 -0
  301. package/chunks/{version-NO2XSNNP.js → version-3UEA6ZIR.js} +3 -3
  302. package/chunks/{web-fetch-UYGMOHW4.js → web-fetch-PAAEQKBW.js} +8 -8
  303. package/chunks/{workflow-WO2H6NRI.js → workflow-QCCCMYP3.js} +51 -51
  304. package/chunks/workspace-providers-status-4KMGETOJ.js +71 -0
  305. package/chunks/workspace-registry-24QFLQYH.js +76 -0
  306. package/chunks/workspace-service-RVLBMSMZ.js +80 -0
  307. package/chunks/workspace-skills-status-DS4ZVFTO.js +70 -0
  308. package/chunks/{write-file-PX2Z7IBE.js → write-file-I3MUDRIE.js} +51 -51
  309. package/chunks/{yargs-B64EYTCF.js → yargs-6H2AUULL.js} +2 -2
  310. package/chunks/{zh-J4F6QWQV.js → zh-RQE7I22T.js} +74 -6
  311. package/chunks/{zh-TW-XVDWOLSW.js → zh-TW-TBPQGHKH.js} +74 -6
  312. package/cli.js +18 -17
  313. package/locales/ca.js +85 -7
  314. package/locales/de.js +84 -7
  315. package/locales/en.js +101 -7
  316. package/locales/fr.js +85 -7
  317. package/locales/ja.js +86 -6
  318. package/locales/pt.js +84 -7
  319. package/locales/ru.js +84 -7
  320. package/locales/zh-TW.js +97 -6
  321. package/locales/zh.js +97 -6
  322. package/package.json +3 -6
  323. package/web-shell/assets/{arc-BWyoJpY2.js → arc-C15hqnJe.js} +1 -1
  324. package/web-shell/assets/{architectureDiagram-3BPJPVTR-BT0mGrz2.js → architectureDiagram-3BPJPVTR-B-At37J_.js} +1 -1
  325. package/web-shell/assets/{blockDiagram-GPEHLZMM-BLgUWvyf.js → blockDiagram-GPEHLZMM-B51wjcU7.js} +1 -1
  326. package/web-shell/assets/{c4Diagram-AAUBKEIU-DYx9M7oU.js → c4Diagram-AAUBKEIU-xBK7BAwN.js} +1 -1
  327. package/web-shell/assets/channel-CLiQD50f.js +1 -0
  328. package/web-shell/assets/{chunk-2J33WTMH-CfMHWbuZ.js → chunk-2J33WTMH-xKmLg7Yr.js} +1 -1
  329. package/web-shell/assets/{chunk-4BX2VUAB-B1URoqEV.js → chunk-4BX2VUAB-BfkdKZCM.js} +1 -1
  330. package/web-shell/assets/{chunk-55IACEB6-DAIaM4QF.js → chunk-55IACEB6-DT713sZf.js} +1 -1
  331. package/web-shell/assets/{chunk-727SXJPM-B2X34knw.js → chunk-727SXJPM-CYEeAamv.js} +1 -1
  332. package/web-shell/assets/{chunk-AQP2D5EJ-Cif-zLTQ.js → chunk-AQP2D5EJ-DBN-5CFd.js} +1 -1
  333. package/web-shell/assets/{chunk-FMBD7UC4-H18WCXdY.js → chunk-FMBD7UC4-CGZKk4PH.js} +1 -1
  334. package/web-shell/assets/{chunk-ND2GUHAM-YFtetHi0.js → chunk-ND2GUHAM-qQbC2O-y.js} +1 -1
  335. package/web-shell/assets/{chunk-QZHKN3VN-By2hiH3r.js → chunk-QZHKN3VN-B3zeXwsX.js} +1 -1
  336. package/web-shell/assets/classDiagram-4FO5ZUOK-D3sYqow5.js +1 -0
  337. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-D3sYqow5.js +1 -0
  338. package/web-shell/assets/{cose-bilkent-S5V4N54A-VrcnnLZu.js → cose-bilkent-S5V4N54A-BKsl1Wvy.js} +1 -1
  339. package/web-shell/assets/{dagre-BM42HDAG-CGo-IaVV.js → dagre-BM42HDAG-CuuuLiBK.js} +1 -1
  340. package/web-shell/assets/{diagram-2AECGRRQ-Dl4QjzIB.js → diagram-2AECGRRQ-CG4_eKiV.js} +1 -1
  341. package/web-shell/assets/{diagram-5GNKFQAL-qMLmsO0u.js → diagram-5GNKFQAL-DSFTmZB1.js} +1 -1
  342. package/web-shell/assets/{diagram-KO2AKTUF-CHlmuxPI.js → diagram-KO2AKTUF-BxwlEHn8.js} +1 -1
  343. package/web-shell/assets/{diagram-LMA3HP47-BUwU3GwT.js → diagram-LMA3HP47-BUAg-jMG.js} +1 -1
  344. package/web-shell/assets/{diagram-OG6HWLK6-HEhwPDUM.js → diagram-OG6HWLK6-BFM2jlO5.js} +1 -1
  345. package/web-shell/assets/{erDiagram-TEJ5UH35-1n0llBmM.js → erDiagram-TEJ5UH35-CerbFPa2.js} +1 -1
  346. package/web-shell/assets/{flowDiagram-I6XJVG4X-BN74uMnt.js → flowDiagram-I6XJVG4X-BNeZz5Zz.js} +1 -1
  347. package/web-shell/assets/{ganttDiagram-6RSMTGT7-BoOq78i3.js → ganttDiagram-6RSMTGT7-CTOogLaM.js} +1 -1
  348. package/web-shell/assets/{gitGraphDiagram-PVQCEYII-CN8b00c8.js → gitGraphDiagram-PVQCEYII-yxSFkXPj.js} +1 -1
  349. package/web-shell/assets/index-D5IWFVk1.css +5 -0
  350. package/web-shell/assets/index-KFJRDhX7.js +783 -0
  351. package/web-shell/assets/{infoDiagram-5YYISTIA-CCurnIna.js → infoDiagram-5YYISTIA-DYdAUevm.js} +1 -1
  352. package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-AwuRqdUP.js → ishikawaDiagram-YF4QCWOH-CNuijZ90.js} +1 -1
  353. package/web-shell/assets/{journeyDiagram-JHISSGLW-B7IICk-E.js → journeyDiagram-JHISSGLW-BTyiuonf.js} +1 -1
  354. package/web-shell/assets/{kanban-definition-UN3LZRKU-BYF0OKhx.js → kanban-definition-UN3LZRKU-DPJo0Uow.js} +1 -1
  355. package/web-shell/assets/{linear-GWWguGfD.js → linear-C8wKCbIC.js} +1 -1
  356. package/web-shell/assets/{mermaid.core-JqtkxvCl.js → mermaid.core-BV5o7nW5.js} +5 -5
  357. package/web-shell/assets/{mindmap-definition-RKZ34NQL-B0MmHsZ6.js → mindmap-definition-RKZ34NQL-BtLcBmSt.js} +1 -1
  358. package/web-shell/assets/{pieDiagram-4H26LBE5-DhImUZLQ.js → pieDiagram-4H26LBE5-C22J7A9Q.js} +1 -1
  359. package/web-shell/assets/{quadrantDiagram-W4KKPZXB-DGeSC3DT.js → quadrantDiagram-W4KKPZXB-DSL10wiL.js} +1 -1
  360. package/web-shell/assets/{requirementDiagram-4Y6WPE33-DkspY6Re.js → requirementDiagram-4Y6WPE33-feqh0UpX.js} +1 -1
  361. package/web-shell/assets/{sankeyDiagram-5OEKKPKP-CaOofS2x.js → sankeyDiagram-5OEKKPKP-Z4OVaWaZ.js} +1 -1
  362. package/web-shell/assets/{sequenceDiagram-3UESZ5HK-DFQ_kFnN.js → sequenceDiagram-3UESZ5HK-DIluIcb1.js} +1 -1
  363. package/web-shell/assets/{stateDiagram-AJRCARHV-D3snw0Tz.js → stateDiagram-AJRCARHV-hlhnuoYH.js} +1 -1
  364. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-BhQMwgpl.js +1 -0
  365. package/web-shell/assets/{timeline-definition-PNZ67QCA-l4zH8nLM.js → timeline-definition-PNZ67QCA-Dqf_CqgL.js} +1 -1
  366. package/web-shell/assets/{vennDiagram-CIIHVFJN-BnRlA98M.js → vennDiagram-CIIHVFJN-DD2QhaTX.js} +1 -1
  367. package/web-shell/assets/{wardley-L42UT6IY-BS0xUdmd.js → wardley-L42UT6IY-B2uI85U_.js} +1 -1
  368. package/web-shell/assets/{wardleyDiagram-YWT4CUSO-DKGBUWyQ.js → wardleyDiagram-YWT4CUSO-U1aJX71g.js} +1 -1
  369. package/web-shell/assets/{xychartDiagram-2RQKCTM6-DVb2HuOB.js → xychartDiagram-2RQKCTM6-C0ODHUee.js} +1 -1
  370. package/web-shell/index.html +16 -4
  371. package/chunks/MaxSizedBox-5DT2SD7B.js +0 -71
  372. package/chunks/agent-H2DGKS77.js +0 -68
  373. package/chunks/agent-headless-KFMFIT6J.js +0 -62
  374. package/chunks/bridge-NA3ZQQKJ.js +0 -78
  375. package/chunks/chunk-6SHO7WFF.js +0 -79
  376. package/chunks/chunk-IFEWJXFS.js +0 -37
  377. package/chunks/chunk-S6RLAIUR.js +0 -23
  378. package/chunks/chunk-XNXVCNAT.js +0 -88
  379. package/chunks/contextCommand-LXFZRP4L.js +0 -68
  380. package/chunks/daemon-status-provider-GJRXY5EN.js +0 -76
  381. package/chunks/earlyInputCapture-KNOYZ4MJ.js +0 -69
  382. package/chunks/environment-ATFTYMLZ.js +0 -88
  383. package/chunks/errors-A54HAADA.js +0 -75
  384. package/chunks/handleAutoUpdate-CEZJAARW.js +0 -65
  385. package/chunks/initializer-BRFJKRRX.js +0 -71
  386. package/chunks/list-KVHF7O4X.js +0 -73
  387. package/chunks/loadedSettingsAdapter-LL5PSFKX.js +0 -68
  388. package/chunks/mcp-3GCXRTOQ.js +0 -68
  389. package/chunks/nonInteractiveCli-PTQI3DV6.js +0 -119
  390. package/chunks/openaiContentGenerator-YE42PKCY.js +0 -56
  391. package/chunks/pidfile-NZYSCFRK.js +0 -73
  392. package/chunks/read-file-33XGP5HF.js +0 -30
  393. package/chunks/ripGrep-QWZLGTAN.js +0 -60
  394. package/chunks/serve-JTMIGANH.js +0 -74
  395. package/chunks/settings-3MI4XXP6.js +0 -118
  396. package/chunks/shell-YJKBE67T.js +0 -68
  397. package/chunks/spawnChannel-UNV6W4DU.js +0 -70
  398. package/chunks/task-create-WCHTB435.js +0 -22
  399. package/chunks/theme-manager-WZ4RRMMB.js +0 -64
  400. package/chunks/total-session-admission-ULXJWXFV.js +0 -72
  401. package/chunks/trustedFolders-LAZZPZ3D.js +0 -79
  402. package/chunks/updateCheck-KONLM73X.js +0 -65
  403. package/chunks/validateNonInterActiveAuth-MPKSRCXD.js +0 -184
  404. package/chunks/workspace-providers-status-3W7E7DFW.js +0 -71
  405. package/chunks/workspace-registry-SXJZNN3O.js +0 -74
  406. package/chunks/workspace-service-CZRQZ4Q4.js +0 -80
  407. package/chunks/workspace-skills-status-K7WFREPD.js +0 -70
  408. package/node_modules/@qwen-code/audio-capture/dist/index.d.ts +0 -35
  409. package/node_modules/@qwen-code/audio-capture/dist/index.js +0 -48
  410. package/node_modules/@qwen-code/audio-capture/dist/index.js.map +0 -1
  411. package/node_modules/@qwen-code/audio-capture/dist/platform.d.ts +0 -7
  412. package/node_modules/@qwen-code/audio-capture/dist/platform.js +0 -18
  413. package/node_modules/@qwen-code/audio-capture/dist/platform.js.map +0 -1
  414. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/LICENSE +0 -21
  415. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/README.md +0 -58
  416. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/SECURITY.md +0 -5
  417. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/bin.js +0 -84
  418. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/build-test.js +0 -19
  419. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/index.js +0 -6
  420. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/node-gyp-build.js +0 -207
  421. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/optional.js +0 -7
  422. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/package.json +0 -43
  423. package/node_modules/@qwen-code/audio-capture/package.json +0 -30
  424. package/node_modules/@qwen-code/audio-capture/prebuilds/darwin-arm64/@qwen-code+audio-capture.node +0 -0
  425. package/node_modules/@qwen-code/audio-capture/prebuilds/darwin-x64/@qwen-code+audio-capture.node +0 -0
  426. package/node_modules/@qwen-code/audio-capture/prebuilds/linux-arm64/@qwen-code+audio-capture.node +0 -0
  427. package/node_modules/@qwen-code/audio-capture/prebuilds/linux-x64/@qwen-code+audio-capture.node +0 -0
  428. package/node_modules/@qwen-code/audio-capture/prebuilds/win32-x64/@qwen-code+audio-capture.node +0 -0
  429. package/web-shell/assets/channel-wmPUGHtg.js +0 -1
  430. package/web-shell/assets/classDiagram-4FO5ZUOK-BA2ljEjW.js +0 -1
  431. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-BA2ljEjW.js +0 -1
  432. package/web-shell/assets/index-CNwoO1Cn.js +0 -783
  433. package/web-shell/assets/index-CWQ0z6kZ.css +0 -5
  434. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-BbSm_9d0.js +0 -1
@@ -2,10 +2,10 @@
2
2
  "use strict";
3
3
  import {
4
4
  getPackageJson
5
- } from "./chunk-43W4YSO6.js";
5
+ } from "./chunk-VJNBRRZG.js";
6
6
  import {
7
7
  init_esbuild_shims
8
- } from "./chunk-A4BMJM77.js";
8
+ } from "./chunk-5O2XNYP6.js";
9
9
  import {
10
10
  __name
11
11
  } from "./chunk-J2S4EL5Y.js";
@@ -14,7 +14,7 @@ import {
14
14
  init_esbuild_shims();
15
15
  async function getCliVersion() {
16
16
  const pkgJson = await getPackageJson();
17
- return "0.19.8";
17
+ return "0.19.9";
18
18
  }
19
19
  __name(getCliVersion, "getCliVersion");
20
20
 
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  init_esbuild_shims
5
- } from "./chunk-A4BMJM77.js";
5
+ } from "./chunk-5O2XNYP6.js";
6
6
  import {
7
7
  __name
8
8
  } from "./chunk-J2S4EL5Y.js";
@@ -0,0 +1,71 @@
1
+ // Force strict mode and setup for ESM
2
+ "use strict";
3
+ import {
4
+ getErrorMessage
5
+ } from "./chunk-VA4KQY6V.js";
6
+ import {
7
+ extensionToOutputString,
8
+ getExtensionManager
9
+ } from "./chunk-P67PFTUT.js";
10
+ import {
11
+ loadSettings
12
+ } from "./chunk-4C5BQ2D2.js";
13
+ import {
14
+ initializeI18n,
15
+ resolveLanguageSetting,
16
+ t
17
+ } from "./chunk-YAUFFXDS.js";
18
+ import {
19
+ writeStderrLine,
20
+ writeStdoutLine
21
+ } from "./chunk-YUZI3WAC.js";
22
+ import {
23
+ init_esbuild_shims
24
+ } from "./chunk-5O2XNYP6.js";
25
+ import {
26
+ __name
27
+ } from "./chunk-J2S4EL5Y.js";
28
+
29
+ // packages/cli/src/commands/extensions/list.ts
30
+ init_esbuild_shims();
31
+ async function handleList() {
32
+ try {
33
+ const settings = loadSettings();
34
+ await initializeI18n(
35
+ resolveLanguageSetting(settings.merged.general?.language)
36
+ );
37
+ const extensionManager = await getExtensionManager();
38
+ const extensions = extensionManager.getLoadedExtensions();
39
+ if (!extensions || extensions.length === 0) {
40
+ writeStdoutLine(t("No extensions installed."));
41
+ return;
42
+ }
43
+ writeStdoutLine(
44
+ extensions.map(
45
+ (extension, _) => extensionToOutputString(extension, extensionManager, process.cwd())
46
+ ).join("\n\n")
47
+ );
48
+ } catch (error) {
49
+ writeStderrLine(getErrorMessage(error));
50
+ process.exit(1);
51
+ }
52
+ }
53
+ __name(handleList, "handleList");
54
+ var listCommand = {
55
+ command: "list",
56
+ describe: t("Lists installed extensions."),
57
+ builder: /* @__PURE__ */ __name((yargs) => yargs, "builder"),
58
+ handler: /* @__PURE__ */ __name(async () => {
59
+ await handleList();
60
+ }, "handler")
61
+ };
62
+
63
+ export {
64
+ handleList,
65
+ listCommand
66
+ };
67
+ /**
68
+ * @license
69
+ * Copyright 2025 Google LLC
70
+ * SPDX-License-Identifier: Apache-2.0
71
+ */
@@ -7,23 +7,23 @@ import {
7
7
  getSystemDefaultsPath,
8
8
  getSystemSettingsPath,
9
9
  resolveEnvVarsInObject
10
- } from "./chunk-O2YT7VB4.js";
10
+ } from "./chunk-3BTRNWWD.js";
11
11
  import {
12
12
  DEFAULT_EXCLUDED_ENV_VARS,
13
13
  HOME_ENV_BOOTSTRAP_KEYS,
14
14
  PROJECT_ENV_HARDCODED_EXCLUSIONS
15
- } from "./chunk-Z3I3QJK3.js";
15
+ } from "./chunk-QRUIS3DN.js";
16
16
  import {
17
17
  getPathComparisonVariants,
18
18
  isWithinRoot,
19
19
  require_strip_json_comments
20
- } from "./chunk-QYUE6W3T.js";
20
+ } from "./chunk-RDJSGHZE.js";
21
21
  import {
22
22
  require_main
23
- } from "./chunk-SKAZWEV5.js";
23
+ } from "./chunk-ZJE7NSL3.js";
24
24
  import {
25
25
  init_esbuild_shims
26
- } from "./chunk-A4BMJM77.js";
26
+ } from "./chunk-5O2XNYP6.js";
27
27
  import {
28
28
  __name,
29
29
  __toESM
@@ -367,6 +367,18 @@ function pickFastPathSettings(value) {
367
367
  if (isPlainObject(env)) {
368
368
  out.env = pickStringRecord(env);
369
369
  }
370
+ const general = value["general"];
371
+ if (isPlainObject(general)) {
372
+ const chatRecording = general["chatRecording"];
373
+ if (chatRecording !== void 0 && typeof chatRecording !== "boolean") {
374
+ throw new Error(
375
+ "Serve fast path settings general.chatRecording must be a boolean."
376
+ );
377
+ }
378
+ if (chatRecording !== void 0) {
379
+ out.general = { chatRecording };
380
+ }
381
+ }
370
382
  const advanced = value["advanced"];
371
383
  if (isPlainObject(advanced)) {
372
384
  const pickedAdvanced = {};
@@ -511,6 +523,9 @@ function mergeFastPathSettings(...sources) {
511
523
  if (source.env) {
512
524
  merged.env = { ...merged.env ?? {}, ...source.env };
513
525
  }
526
+ if (source.general) {
527
+ merged.general = { ...merged.general ?? {}, ...source.general };
528
+ }
514
529
  if (source.advanced?.excludedEnvVars) {
515
530
  merged.advanced = {
516
531
  ...merged.advanced ?? {},
@@ -10,49 +10,49 @@ import {
10
10
  require_rpc,
11
11
  require_umd,
12
12
  require_writer
13
- } from "./chunk-E6US47KI.js";
13
+ } from "./chunk-4WKAA4KS.js";
14
14
  import {
15
15
  require_hasown
16
- } from "./chunk-UWCTAVOD.js";
16
+ } from "./chunk-CR3C7WXL.js";
17
17
  import {
18
18
  DEFAULT_QWEN_MODEL,
19
19
  MAINLINE_CODER_MODEL
20
- } from "./chunk-OFEVLU4C.js";
20
+ } from "./chunk-CARU2RR2.js";
21
21
  import {
22
22
  Mutex
23
- } from "./chunk-OMX7CUOE.js";
23
+ } from "./chunk-VGC4I5JJ.js";
24
24
  import {
25
25
  isAnyAutoMemPath
26
- } from "./chunk-OACJLMLD.js";
26
+ } from "./chunk-YLV3XXFB.js";
27
27
  import {
28
28
  InstallationManager
29
- } from "./chunk-SUAKHHK7.js";
29
+ } from "./chunk-TDEXZKMT.js";
30
30
  import {
31
31
  STRUCTURED_OUTPUT_REDACTED_ARGS
32
- } from "./chunk-FEJ2FZ3U.js";
32
+ } from "./chunk-J3JA76CF.js";
33
33
  import {
34
34
  BaseDeclarativeTool,
35
35
  BaseToolInvocation,
36
36
  ToolDisplayNames,
37
37
  ToolNames
38
- } from "./chunk-X3YGAX7V.js";
38
+ } from "./chunk-B5ORX3FG.js";
39
39
  import {
40
40
  atomicWriteFile,
41
41
  atomicWriteFileSync
42
- } from "./chunk-7LTB54MK.js";
42
+ } from "./chunk-ZLXQN2QS.js";
43
43
  import {
44
44
  convertSchema,
45
45
  estimateTextTokens,
46
46
  runtimeDiagnostics,
47
47
  safeJsonParse
48
- } from "./chunk-CCGOFQV3.js";
48
+ } from "./chunk-JSG7ZSBC.js";
49
49
  import {
50
50
  require_lib
51
- } from "./chunk-IRJWHZWU.js";
51
+ } from "./chunk-A4UCTEB5.js";
52
52
  import {
53
53
  FinishReason,
54
54
  GenerateContentResponse
55
- } from "./chunk-55ZMG67I.js";
55
+ } from "./chunk-4LD5APFL.js";
56
56
  import {
57
57
  FatalConfigError,
58
58
  Storage,
@@ -71,13 +71,13 @@ import {
71
71
  setShellTracePropagation,
72
72
  shortenPath,
73
73
  unescapePath
74
- } from "./chunk-22MNNNXE.js";
74
+ } from "./chunk-J4TSQ5EQ.js";
75
75
  import {
76
76
  require_dist
77
- } from "./chunk-ZERZSAZL.js";
77
+ } from "./chunk-75DOP5OR.js";
78
78
  import {
79
79
  require_src
80
- } from "./chunk-QN5NZ3UQ.js";
80
+ } from "./chunk-DMTGGOSA.js";
81
81
  import {
82
82
  DiagLogLevel,
83
83
  ROOT_CONTEXT,
@@ -93,11 +93,11 @@ import {
93
93
  metrics,
94
94
  propagation,
95
95
  trace
96
- } from "./chunk-Z2Z3GUXZ.js";
96
+ } from "./chunk-TB6UDU4T.js";
97
97
  import {
98
98
  __qwen_dirname,
99
99
  init_esbuild_shims
100
- } from "./chunk-A4BMJM77.js";
100
+ } from "./chunk-5O2XNYP6.js";
101
101
  import {
102
102
  __commonJS,
103
103
  __esm,
@@ -45840,19 +45840,19 @@ var require_getMachineId = __commonJS({
45840
45840
  if (!getMachineIdImpl) {
45841
45841
  switch (process2.platform) {
45842
45842
  case "darwin":
45843
- getMachineIdImpl = (await import("./getMachineId-darwin-HPQPEMZR.js")).getMachineId;
45843
+ getMachineIdImpl = (await import("./getMachineId-darwin-IUOMFXU3.js")).getMachineId;
45844
45844
  break;
45845
45845
  case "linux":
45846
- getMachineIdImpl = (await import("./getMachineId-linux-AUARKYHL.js")).getMachineId;
45846
+ getMachineIdImpl = (await import("./getMachineId-linux-K7XJYFHL.js")).getMachineId;
45847
45847
  break;
45848
45848
  case "freebsd":
45849
- getMachineIdImpl = (await import("./getMachineId-bsd-4CASPIU4.js")).getMachineId;
45849
+ getMachineIdImpl = (await import("./getMachineId-bsd-EXV7SWPA.js")).getMachineId;
45850
45850
  break;
45851
45851
  case "win32":
45852
- getMachineIdImpl = (await import("./getMachineId-win-4EFLHYIJ.js")).getMachineId;
45852
+ getMachineIdImpl = (await import("./getMachineId-win-KBA6RAI5.js")).getMachineId;
45853
45853
  break;
45854
45854
  default:
45855
- getMachineIdImpl = (await import("./getMachineId-unsupported-S32ZDA2T.js")).getMachineId;
45855
+ getMachineIdImpl = (await import("./getMachineId-unsupported-EA5FDRJ6.js")).getMachineId;
45856
45856
  break;
45857
45857
  }
45858
45858
  }
@@ -52768,8 +52768,8 @@ var require_async = __commonJS({
52768
52768
  cb(null, x);
52769
52769
  }
52770
52770
  }, "maybeRealpath");
52771
- var defaultReadPackage = /* @__PURE__ */ __name(function defaultReadPackage2(readFile, pkgfile, cb) {
52772
- readFile(pkgfile, function(readFileErr, body) {
52771
+ var defaultReadPackage = /* @__PURE__ */ __name(function defaultReadPackage2(readFile2, pkgfile, cb) {
52772
+ readFile2(pkgfile, function(readFileErr, body) {
52773
52773
  if (readFileErr) cb(readFileErr);
52774
52774
  else {
52775
52775
  try {
@@ -52804,7 +52804,7 @@ var require_async = __commonJS({
52804
52804
  opts = normalizeOptions(x, opts);
52805
52805
  var isFile = opts.isFile || defaultIsFile;
52806
52806
  var isDirectory = opts.isDirectory || defaultIsDir;
52807
- var readFile = opts.readFile || fs9.readFile;
52807
+ var readFile2 = opts.readFile || fs9.readFile;
52808
52808
  var realpath = opts.realpath || defaultRealpath;
52809
52809
  var readPackage = opts.readPackage || defaultReadPackage;
52810
52810
  if (opts.readFile && opts.readPackage) {
@@ -52930,7 +52930,7 @@ var require_async = __commonJS({
52930
52930
  var pkgfile = path11.join(pkgdir, "package.json");
52931
52931
  isFile(pkgfile, function(err2, ex) {
52932
52932
  if (!ex) return loadpkg(path11.dirname(dir), cb2);
52933
- readPackage(readFile, pkgfile, function(err3, pkgParam) {
52933
+ readPackage(readFile2, pkgfile, function(err3, pkgParam) {
52934
52934
  if (err3) cb2(err3);
52935
52935
  var pkg = pkgParam;
52936
52936
  if (pkg && opts.packageFilter) {
@@ -52955,7 +52955,7 @@ var require_async = __commonJS({
52955
52955
  isFile(pkgfile, function(err2, ex) {
52956
52956
  if (err2) return cb2(err2);
52957
52957
  if (!ex) return loadAsFile(path11.join(x2, "index"), fpkg, cb2);
52958
- readPackage(readFile, pkgfile, function(err3, pkgParam) {
52958
+ readPackage(readFile2, pkgfile, function(err3, pkgParam) {
52959
52959
  if (err3) return cb2(err3);
52960
52960
  var pkg = pkgParam;
52961
52961
  if (pkg && opts.packageFilter) {
@@ -59215,6 +59215,9 @@ __name(detectEncodingFromBuffer, "detectEncodingFromBuffer");
59215
59215
  // packages/core/src/utils/pdf.ts
59216
59216
  init_esbuild_shims();
59217
59217
  import { execFile } from "node:child_process";
59218
+ import { mkdtemp, readdir, readFile, rm } from "node:fs/promises";
59219
+ import { tmpdir } from "node:os";
59220
+ import { join } from "node:path";
59218
59221
  var MAX_PDF_TEXT_OUTPUT_CHARS = 1e5;
59219
59222
  var PDF_FULL_TEXT_PAGE_LIMIT = 10;
59220
59223
  var PDF_MAX_PAGES_PER_READ = 20;
@@ -59223,6 +59226,10 @@ var PDF_TEXT_RESULT_MAX_TOKENS = 12e3;
59223
59226
  var PDF_TEXT_RESULT_WRAPPER_TOKEN_CHARS = 64;
59224
59227
  var PDF_TEXT_RESULT_CHARS_PER_TOKEN = 4;
59225
59228
  var PDF_TEXT_EXTRACTION_UNAVAILABLE_MESSAGE = "pdftotext is not installed. Install poppler-utils to enable PDF text extraction (e.g. `apt-get install poppler-utils` or `brew install poppler`).";
59229
+ var PDF_RENDER_UNAVAILABLE_MESSAGE = "pdftoppm is not installed. Install poppler-utils to enable PDF page rendering (e.g. `apt-get install poppler-utils` or `brew install poppler`).";
59230
+ var PDF_RENDER_SCALE_TO_PX = 1600;
59231
+ var PDF_RENDER_MAX_TOTAL_BASE64_BYTES = 25 * 1024 * 1024;
59232
+ var PDF_RENDER_TIMEOUT_MS = 12e4;
59226
59233
  var MAX_PDF_PAGE_NUMBER = 1e6;
59227
59234
  function shouldRequirePDFPageRange(pageCount, sizeBytes) {
59228
59235
  const hadPdfInfo = pageCount !== null;
@@ -59447,6 +59454,125 @@ async function extractPDFText(filePath, options) {
59447
59454
  }
59448
59455
  }
59449
59456
  __name(extractPDFText, "extractPDFText");
59457
+ var pdftoppmAvailable;
59458
+ var pdftoppmAvailablePromise;
59459
+ async function isPdftoppmAvailable() {
59460
+ if (pdftoppmAvailable !== void 0) return pdftoppmAvailable;
59461
+ if (pdftoppmAvailablePromise) return pdftoppmAvailablePromise;
59462
+ pdftoppmAvailablePromise = (async () => {
59463
+ try {
59464
+ const { code } = await execCommand("pdftoppm", ["-v"], {
59465
+ timeout: 5e3
59466
+ });
59467
+ return code === 0;
59468
+ } catch {
59469
+ return false;
59470
+ }
59471
+ })().then((result) => {
59472
+ pdftoppmAvailable = result;
59473
+ return result;
59474
+ }).finally(() => {
59475
+ pdftoppmAvailablePromise = void 0;
59476
+ });
59477
+ return pdftoppmAvailablePromise;
59478
+ }
59479
+ __name(isPdftoppmAvailable, "isPdftoppmAvailable");
59480
+ function comparePdfPageFilenames(a, b) {
59481
+ const pageNumber = /* @__PURE__ */ __name((name) => {
59482
+ const match = /(\d+)\.jpg$/i.exec(name);
59483
+ return match ? parseInt(match[1], 10) : 0;
59484
+ }, "pageNumber");
59485
+ return pageNumber(a) - pageNumber(b);
59486
+ }
59487
+ __name(comparePdfPageFilenames, "comparePdfPageFilenames");
59488
+ async function renderPDFPagesToImages(filePath, options) {
59489
+ const available = await isPdftoppmAvailable();
59490
+ if (!available) {
59491
+ return { success: false, error: PDF_RENDER_UNAVAILABLE_MESSAGE };
59492
+ }
59493
+ let tempDir;
59494
+ try {
59495
+ tempDir = await mkdtemp(join(tmpdir(), "pdf-render-"));
59496
+ const outputPrefix = join(tempDir, "page");
59497
+ const args = [
59498
+ "-jpeg",
59499
+ "-scale-to",
59500
+ String(PDF_RENDER_SCALE_TO_PX)
59501
+ ];
59502
+ if (options?.firstPage) {
59503
+ args.push("-f", String(options.firstPage));
59504
+ }
59505
+ if (options?.lastPage && options.lastPage !== Infinity) {
59506
+ args.push("-l", String(options.lastPage));
59507
+ }
59508
+ args.push("--", filePath, outputPrefix);
59509
+ const { stderr, code, timedOut } = await execCommand("pdftoppm", args, {
59510
+ timeout: PDF_RENDER_TIMEOUT_MS
59511
+ });
59512
+ if (timedOut) {
59513
+ return {
59514
+ success: false,
59515
+ error: `pdftoppm timed out after ${Math.round(
59516
+ PDF_RENDER_TIMEOUT_MS / 1e3
59517
+ )}s. The PDF may be unusually large or complex; try the 'pages' parameter to narrow the range.`
59518
+ };
59519
+ }
59520
+ if (code !== 0) {
59521
+ if (/password/i.test(stderr)) {
59522
+ return {
59523
+ success: false,
59524
+ error: "PDF is password-protected. Please provide an unprotected version."
59525
+ };
59526
+ }
59527
+ if (/damaged|corrupt|invalid/i.test(stderr)) {
59528
+ return { success: false, error: "PDF file is corrupted or invalid." };
59529
+ }
59530
+ return {
59531
+ success: false,
59532
+ error: `pdftoppm failed: ${stderr || "(no stderr)"}`
59533
+ };
59534
+ }
59535
+ const entries = (await readdir(tempDir)).filter((name) => name.toLowerCase().endsWith(".jpg")).sort(comparePdfPageFilenames);
59536
+ if (entries.length === 0) {
59537
+ return {
59538
+ success: false,
59539
+ error: "pdftoppm produced no image output. The PDF may be empty or the page range may be out of bounds."
59540
+ };
59541
+ }
59542
+ const images = [];
59543
+ let totalBytes = 0;
59544
+ let bytesTruncated = false;
59545
+ for (const name of entries) {
59546
+ const buffer = await readFile(join(tempDir, name));
59547
+ const data = buffer.toString("base64");
59548
+ if (images.length > 0 && totalBytes + data.length > PDF_RENDER_MAX_TOTAL_BASE64_BYTES) {
59549
+ bytesTruncated = true;
59550
+ break;
59551
+ }
59552
+ totalBytes += data.length;
59553
+ images.push({ data, mimeType: "image/jpeg" });
59554
+ }
59555
+ return { success: true, images, bytesTruncated };
59556
+ } catch (e) {
59557
+ return {
59558
+ success: false,
59559
+ error: `pdftoppm execution failed: ${e instanceof Error ? e.message : String(e)}`
59560
+ };
59561
+ } finally {
59562
+ if (tempDir) {
59563
+ await rm(tempDir, { recursive: true, force: true }).catch(() => {
59564
+ });
59565
+ }
59566
+ }
59567
+ }
59568
+ __name(renderPDFPagesToImages, "renderPDFPagesToImages");
59569
+
59570
+ // packages/core/src/services/visionBridge/vision-bridge-constants.ts
59571
+ init_esbuild_shims();
59572
+ var VISION_BRIDGE_MAX_IMAGES = 4;
59573
+ var VISION_BRIDGE_MAX_IMAGE_BASE64_BYTES = Math.floor(
59574
+ 9.9 * 1024 * 1024
59575
+ );
59450
59576
 
59451
59577
  // packages/core/src/utils/notebook.ts
59452
59578
  init_esbuild_shims();
@@ -60494,6 +60620,8 @@ async function processSingleFileContent(filePath, config, optionsOrOffset, legac
60494
60620
  const relativePathForDisplay = path2.relative(rootDirectory, filePath).replace(/\\/g, "/");
60495
60621
  const displayName = path2.basename(filePath);
60496
60622
  const modalities = config.getContentGeneratorConfig?.()?.modalities ?? {};
60623
+ const willRenderPdfImages = fileType === "pdf" && !!modalities.image && largePdfBehavior !== "reference";
60624
+ const renderForBridge = fileType === "pdf" && !modalities.image && preserveUnsupportedImage;
60497
60625
  const fileSizeInMB = stats.size / (1024 * 1024);
60498
60626
  const normalizedPages = pages?.trim();
60499
60627
  let pageRange;
@@ -60545,10 +60673,11 @@ async function processSingleFileContent(filePath, config, optionsOrOffset, legac
60545
60673
  if (willExtractPdfText && !pageRange) {
60546
60674
  const pageCount = await getPDFPageCount(filePath);
60547
60675
  const requirement = shouldRequirePDFPageRange(pageCount, stats.size);
60676
+ const rangeRequired = willRenderPdfImages ? requirement.effectivePageCount > PDF_MAX_PAGES_PER_READ : requirement.required;
60548
60677
  debugLogger2.debug(
60549
- `PDF full-text fallback gate: file=${relativePathForDisplay}, sizeMB=${fileSizeInMB.toFixed(2)}, pageCount=${pageCount ?? "unknown"}, required=${requirement.required}, effectivePageCount=${requirement.effectivePageCount}, hadPdfInfo=${requirement.hadPdfInfo}, behavior=${largePdfBehavior}`
60678
+ `PDF full-text fallback gate: file=${relativePathForDisplay}, sizeMB=${fileSizeInMB.toFixed(2)}, pageCount=${pageCount ?? "unknown"}, required=${requirement.required}, rangeRequired=${rangeRequired}, effectivePageCount=${requirement.effectivePageCount}, hadPdfInfo=${requirement.hadPdfInfo}, behavior=${largePdfBehavior}`
60550
60679
  );
60551
- if (requirement.required) {
60680
+ if (rangeRequired) {
60552
60681
  if (largePdfBehavior === "error" && !await isPdftotextAvailable()) {
60553
60682
  return {
60554
60683
  llmContent: `[Cannot extract text from PDF: "${displayName}". ${PDF_TEXT_EXTRACTION_UNAVAILABLE_MESSAGE}]`,
@@ -60755,34 +60884,95 @@ async function processSingleFileContent(filePath, config, optionsOrOffset, legac
60755
60884
  const pdfResult = await extractPDFText(filePath, pageRange);
60756
60885
  if (pdfResult.success) {
60757
60886
  const estimatedTokens = estimatePDFTextOutputTokens(pdfResult.text);
60758
- if (estimatedTokens > PDF_TEXT_RESULT_MAX_TOKENS) {
60759
- debugLogger2.debug(
60760
- `PDF text extraction output exceeds token limit: file=${relativePathForDisplay}, pages=${normalizedPages ?? "all"}, estimatedTokens=${estimatedTokens}, limit=${PDF_TEXT_RESULT_MAX_TOKENS}`
60761
- );
60762
- const guidance = buildPDFTextTooLargeGuidance(
60763
- displayName,
60764
- estimatedTokens,
60765
- normalizedPages
60766
- );
60767
- if (!pageRange && largePdfBehavior === "reference") {
60768
- return {
60769
- llmContent: guidance,
60770
- returnDisplay: `Referenced large PDF: ${relativePathForDisplay}`,
60771
- stats
60772
- };
60887
+ if (estimatedTokens <= PDF_TEXT_RESULT_MAX_TOKENS) {
60888
+ const pagesLabel = normalizedPages ? ` (pages ${normalizedPages})` : "";
60889
+ return {
60890
+ llmContent: pdfResult.text,
60891
+ returnDisplay: `Read pdf as text${pagesLabel}: ${relativePathForDisplay}`,
60892
+ stats
60893
+ };
60894
+ }
60895
+ }
60896
+ const toImageParts = /* @__PURE__ */ __name((images, startPage) => images.map((image, index) => ({
60897
+ inlineData: {
60898
+ data: image.data,
60899
+ mimeType: image.mimeType,
60900
+ displayName: `${displayName} (page ${startPage + index})`
60901
+ }
60902
+ })), "toImageParts");
60903
+ if (willRenderPdfImages) {
60904
+ const startPage = pageRange?.firstPage ?? 1;
60905
+ const render = await renderPDFPagesToImages(
60906
+ filePath,
60907
+ pageRange ?? { firstPage: 1, lastPage: PDF_MAX_PAGES_PER_READ }
60908
+ );
60909
+ if (render.success) {
60910
+ const parts = toImageParts(render.images, startPage);
60911
+ if (render.bytesTruncated) {
60912
+ parts.push({
60913
+ text: `[Rendered the first ${render.images.length} page(s) of "${displayName}"; later pages were omitted to stay within size limits. Use the 'pages' parameter to read a specific range.]`
60914
+ });
60915
+ } else if (!pageRange && render.images.length >= PDF_MAX_PAGES_PER_READ) {
60916
+ parts.push({
60917
+ text: `[Rendered the first ${render.images.length} page(s) (the per-read maximum) of "${displayName}". If the document has more pages, use the 'pages' parameter to read a later range.]`
60918
+ });
60919
+ }
60920
+ return {
60921
+ llmContent: parts,
60922
+ returnDisplay: `Read pdf as ${render.images.length} image(s): ${relativePathForDisplay}`,
60923
+ stats
60924
+ };
60925
+ }
60926
+ debugLogger2.debug(
60927
+ `PDF image render failed, falling back to text outcome: file=${relativePathForDisplay}, error=${render.error}`
60928
+ );
60929
+ }
60930
+ if (renderForBridge && pdfResult.success === false) {
60931
+ const render = await renderPDFPagesToImages(filePath, {
60932
+ firstPage: 1,
60933
+ lastPage: VISION_BRIDGE_MAX_IMAGES
60934
+ });
60935
+ if (render.success) {
60936
+ const parts = toImageParts(render.images, 1);
60937
+ const pageCount = await getPDFPageCount(filePath);
60938
+ const mayHaveMore = pageCount !== null ? pageCount > render.images.length : render.images.length >= VISION_BRIDGE_MAX_IMAGES;
60939
+ if (mayHaveMore || render.bytesTruncated) {
60940
+ const total = pageCount !== null ? ` of ${pageCount}` : "";
60941
+ parts.push({
60942
+ text: `[Rendered the first ${render.images.length}${total} page(s) of "${displayName}" for transcription; later pages were not included.]`
60943
+ });
60773
60944
  }
60945
+ return {
60946
+ llmContent: parts,
60947
+ returnDisplay: `Rendered ${render.images.length} page(s) for transcription: ${relativePathForDisplay}`,
60948
+ stats
60949
+ };
60950
+ }
60951
+ debugLogger2.debug(
60952
+ `PDF bridge render failed, falling back to text outcome: file=${relativePathForDisplay}, error=${render.error}`
60953
+ );
60954
+ }
60955
+ if (pdfResult.success) {
60956
+ const guidance = buildPDFTextTooLargeGuidance(
60957
+ displayName,
60958
+ estimatePDFTextOutputTokens(pdfResult.text),
60959
+ normalizedPages
60960
+ );
60961
+ debugLogger2.debug(
60962
+ `PDF text extraction output exceeds token limit: file=${relativePathForDisplay}, pages=${normalizedPages ?? "all"}, limit=${PDF_TEXT_RESULT_MAX_TOKENS}`
60963
+ );
60964
+ if (!pageRange && largePdfBehavior === "reference") {
60774
60965
  return {
60775
60966
  llmContent: guidance,
60776
- returnDisplay: `PDF text too large: ${relativePathForDisplay}`,
60777
- error: guidance,
60778
- errorType: "file_too_large" /* FILE_TOO_LARGE */,
60967
+ returnDisplay: `Referenced large PDF: ${relativePathForDisplay}`,
60779
60968
  stats
60780
60969
  };
60781
60970
  }
60782
- const pagesLabel = normalizedPages ? ` (pages ${normalizedPages})` : "";
60783
60971
  return {
60784
- llmContent: pdfResult.text,
60785
- returnDisplay: `Read pdf as text${pagesLabel}: ${relativePathForDisplay}`,
60972
+ llmContent: guidance,
60973
+ returnDisplay: `PDF text too large: ${relativePathForDisplay}`,
60974
+ error: guidance,
60975
+ errorType: "file_too_large" /* FILE_TOO_LARGE */,
60786
60976
  stats
60787
60977
  };
60788
60978
  }
@@ -69674,6 +69864,7 @@ var MODEL_GENERATION_CONFIG_FIELDS = [
69674
69864
  "maxRetries",
69675
69865
  "retryErrorCodes",
69676
69866
  "enableCacheControl",
69867
+ "forceGlobalCacheScope",
69677
69868
  "schemaCompliance",
69678
69869
  "reasoning",
69679
69870
  "contextWindowSize",
@@ -69870,11 +70061,11 @@ async function createContentGenerator(generatorConfig, config, isInitialAuth) {
69870
70061
  let baseGenerator;
69871
70062
  try {
69872
70063
  if (authType === "openai" /* USE_OPENAI */) {
69873
- const { createOpenAIContentGenerator } = await import("./openaiContentGenerator-YE42PKCY.js");
70064
+ const { createOpenAIContentGenerator } = await import("./openaiContentGenerator-AAYONPMF.js");
69874
70065
  baseGenerator = createOpenAIContentGenerator(generatorConfig, config);
69875
70066
  } else if (authType === "qwen-oauth" /* QWEN_OAUTH */) {
69876
- const { getQwenOAuthClient: getQwenOauthClient } = await import("./qwenOAuth2-ZV7YLMND.js");
69877
- const { QwenContentGenerator } = await import("./qwenContentGenerator-NX2E7PB7.js");
70067
+ const { getQwenOAuthClient: getQwenOauthClient } = await import("./qwenOAuth2-PJQ27GSO.js");
70068
+ const { QwenContentGenerator } = await import("./qwenContentGenerator-K3HZ2H76.js");
69878
70069
  try {
69879
70070
  const qwenClient = await getQwenOauthClient(
69880
70071
  config,
@@ -69892,10 +70083,10 @@ async function createContentGenerator(generatorConfig, config, isInitialAuth) {
69892
70083
  throw new Error(error instanceof Error ? error.message : String(error));
69893
70084
  }
69894
70085
  } else if (authType === "anthropic" /* USE_ANTHROPIC */) {
69895
- const { createAnthropicContentGenerator } = await import("./anthropicContentGenerator-CPF22MA7.js");
70086
+ const { createAnthropicContentGenerator } = await import("./anthropicContentGenerator-L73TO3DB.js");
69896
70087
  baseGenerator = createAnthropicContentGenerator(generatorConfig, config);
69897
70088
  } else if (authType === "gemini" /* USE_GEMINI */ || authType === "vertex-ai" /* USE_VERTEX_AI */) {
69898
- const { createGeminiContentGenerator } = await import("./geminiContentGenerator-CDUNEJQE.js");
70089
+ const { createGeminiContentGenerator } = await import("./geminiContentGenerator-J7YNZDYP.js");
69899
70090
  baseGenerator = createGeminiContentGenerator(generatorConfig, config);
69900
70091
  } else {
69901
70092
  throw new Error(
@@ -72663,6 +72854,8 @@ var ReadFileTool = class _ReadFileTool extends BaseDeclarativeTool {
72663
72854
  };
72664
72855
 
72665
72856
  export {
72857
+ VISION_BRIDGE_MAX_IMAGES,
72858
+ VISION_BRIDGE_MAX_IMAGE_BASE64_BYTES,
72666
72859
  EVENT_TOOL_CALL,
72667
72860
  EVENT_API_ERROR,
72668
72861
  EVENT_API_RESPONSE,