@qwen-code/qwen-code 0.21.2 → 0.21.3-nightly.20260803.e1e5b42ce

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 (352) hide show
  1. package/bundled/qc-helper/docs/configuration/settings.md +53 -38
  2. package/bundled/qc-helper/docs/features/channels/github.md +16 -5
  3. package/bundled/qc-helper/docs/features/channels/gitlab.md +6 -0
  4. package/bundled/qc-helper/docs/features/code-review.md +92 -24
  5. package/bundled/qc-helper/docs/features/commands.md +46 -38
  6. package/bundled/qc-helper/docs/features/hooks.md +115 -18
  7. package/bundled/qc-helper/docs/features/memory.md +27 -0
  8. package/bundled/qc-helper/docs/features/skills.md +46 -1
  9. package/bundled/qc-helper/docs/features/sub-agents.md +42 -9
  10. package/bundled/qc-helper/docs/features/tool-use-summaries.md +7 -7
  11. package/bundled/qc-helper/docs/qwen-serve.md +46 -25
  12. package/bundled/qc-helper/docs/reference/keyboard-shortcuts.md +62 -31
  13. package/bundled/qc-helper/docs/support/troubleshooting.md +6 -1
  14. package/bundled/review/DESIGN.md +167 -32
  15. package/bundled/review/SKILL.md +207 -38
  16. package/chunks/{MaxSizedBox-TQBQ247P.js → MaxSizedBox-FCEK5P5K.js} +41 -38
  17. package/chunks/{StandaloneSessionPicker-2HPTKCLX.js → StandaloneSessionPicker-AT77J3PM.js} +63 -59
  18. package/chunks/{acp-startup-profiler-2C4A5ZTJ.js → acp-startup-profiler-3RICG2YW.js} +2 -2
  19. package/chunks/{acpAgent-PS6EDGH3.js → acpAgent-PBMKZ5KH.js} +664 -560
  20. package/chunks/{agent-VDOUB35F.js → agent-55W5BPK3.js} +37 -34
  21. package/chunks/{agent-headless-EO53EFS2.js → agent-headless-I7VMHI22.js} +37 -34
  22. package/chunks/{anthropicContentGenerator-OFHSZJBF.js → anthropicContentGenerator-3CAHEZBM.js} +341 -29
  23. package/chunks/{artifact-tool-RDN2W7ND.js → artifact-tool-TBOYEKTY.js} +2 -2
  24. package/chunks/{askUserQuestion-OZERWH5R.js → askUserQuestion-23Y5WZFJ.js} +2 -2
  25. package/chunks/{bridge-W7AZSRZQ.js → bridge-XNAWEDAN.js} +43 -40
  26. package/chunks/{ca-6W3SK7OQ.js → ca-NYKNH222.js} +50 -5
  27. package/chunks/{channel-management-service-5S7YCWX5.js → channel-management-service-UHX56NBO.js} +7 -7
  28. package/chunks/{channel-settings-store-JFVRSNER.js → channel-settings-store-7P6RJSSF.js} +44 -41
  29. package/chunks/{channel-worker-group-OVWGYMZS.js → channel-worker-group-NDG4WOOZ.js} +8 -8
  30. package/chunks/{channel-worker-manager-H55GKOQA.js → channel-worker-manager-ZCW6UW34.js} +8 -8
  31. package/chunks/{channel-worker-supervisor-CABBXYHK.js → channel-worker-supervisor-ATGFTZRN.js} +4 -4
  32. package/chunks/{chunk-6MPDY6ZG.js → chunk-24ER7UV4.js} +1 -1
  33. package/chunks/{chunk-QDK4F2N5.js → chunk-2DNKEBXY.js} +1 -1
  34. package/chunks/{chunk-AUOULH6Q.js → chunk-2GF3IDEK.js} +1610 -2196
  35. package/chunks/{chunk-JYBU6YUE.js → chunk-2M5N3DHY.js} +1 -1
  36. package/chunks/{chunk-LHKCY7DY.js → chunk-2UISUFHQ.js} +3 -3
  37. package/chunks/{chunk-BBIQAX4V.js → chunk-2ZCYE3F2.js} +30 -18
  38. package/chunks/{chunk-GJ2GBPBD.js → chunk-332FMXSD.js} +5 -5
  39. package/chunks/{chunk-JXVC2PL3.js → chunk-33FNCQSY.js} +2 -2
  40. package/chunks/{chunk-P755N4CS.js → chunk-3GALLNII.js} +6 -6
  41. package/chunks/{chunk-YANIWTRZ.js → chunk-3ICGQSVO.js} +1 -1
  42. package/chunks/{chunk-NBD76HUW.js → chunk-3LGZEYOF.js} +2 -2
  43. package/chunks/{chunk-E2BHWIDT.js → chunk-3RXUYQJI.js} +6 -2
  44. package/chunks/{chunk-E5Z2AVNV.js → chunk-3SH53ANB.js} +0 -11
  45. package/chunks/{chunk-N4ACHWNH.js → chunk-432XCUHF.js} +1 -1
  46. package/chunks/{chunk-JLZ3RBQG.js → chunk-44EJDGMS.js} +144 -11
  47. package/chunks/{chunk-KR32NIAN.js → chunk-4JP34TZ6.js} +10 -10
  48. package/chunks/{chunk-L2E5GFAG.js → chunk-4LKVQFHM.js} +2 -2
  49. package/chunks/{chunk-YDLJGZHL.js → chunk-4NFY2S7N.js} +0 -33
  50. package/chunks/{chunk-NHFEMWAZ.js → chunk-5WY5QEM6.js} +1 -1
  51. package/chunks/{chunk-56Z7QEAQ.js → chunk-6BUPGI3J.js} +16 -16
  52. package/chunks/{chunk-H6I4PGRV.js → chunk-6DNHLK7F.js} +4 -4
  53. package/chunks/{chunk-XQK4XXTN.js → chunk-6O5DVH27.js} +1 -1
  54. package/chunks/{chunk-2RFKHEXL.js → chunk-6PLDPT2C.js} +1 -1
  55. package/chunks/{chunk-Q5WZTTWE.js → chunk-7UPJXZLD.js} +6 -8
  56. package/chunks/{chunk-CBBP4BMC.js → chunk-7UXI6P72.js} +82 -207
  57. package/chunks/{chunk-6CQWRWUC.js → chunk-7XLPYF6B.js} +3 -3
  58. package/chunks/{chunk-VEMNQMHA.js → chunk-7ZH55K26.js} +5 -13
  59. package/chunks/{chunk-JJPKFJBT.js → chunk-A2FOI762.js} +3 -3
  60. package/chunks/{chunk-LYI2PZDK.js → chunk-A5LNZGJB.js} +2 -2
  61. package/chunks/{chunk-3APUUXRF.js → chunk-A5YZ3FA2.js} +2 -1
  62. package/chunks/{chunk-SHN4KHDK.js → chunk-A6SX5TAH.js} +3 -3
  63. package/chunks/{chunk-QCXGC7QB.js → chunk-A7PONO5G.js} +3 -3
  64. package/chunks/{chunk-SZ3KHTDR.js → chunk-AKA24BGO.js} +1 -1
  65. package/chunks/{chunk-RSVPYAGK.js → chunk-B4HXOGF5.js} +5 -5
  66. package/chunks/{chunk-D6MDRSZ6.js → chunk-BBXSRVSN.js} +22 -11
  67. package/chunks/{chunk-Q3T5KA2V.js → chunk-BFHXDAR7.js} +1 -1
  68. package/chunks/{chunk-L55JWS76.js → chunk-BGXZBI5B.js} +1 -1
  69. package/chunks/{chunk-2KKCCLPT.js → chunk-C4IUDGPI.js} +1 -1
  70. package/chunks/{chunk-MM7TH7ZM.js → chunk-CFDR3GNL.js} +18 -3
  71. package/chunks/{chunk-3F2WDAV6.js → chunk-CFVFQWFB.js} +14 -14
  72. package/chunks/{chunk-E2FN6SM7.js → chunk-CIUUYB23.js} +5 -5
  73. package/chunks/{chunk-JCJ7LKNA.js → chunk-DIEFUBV6.js} +1644 -1570
  74. package/chunks/{chunk-KWHKHSIS.js → chunk-DTAPI453.js} +8 -8
  75. package/chunks/{chunk-WWCMSZII.js → chunk-DV2GAGR7.js} +71 -7
  76. package/chunks/{chunk-675H6PLP.js → chunk-DYA25Y7U.js} +1 -1
  77. package/chunks/{chunk-3I6DUGQD.js → chunk-E4WHKETF.js} +32 -4
  78. package/chunks/{chunk-QTERJVPZ.js → chunk-EKTCKZV5.js} +1 -0
  79. package/chunks/{chunk-HX6RLYUO.js → chunk-ENOHFX2M.js} +4 -4
  80. package/chunks/{chunk-VMX5RZQH.js → chunk-EZZJHMFK.js} +18 -9
  81. package/chunks/{chunk-KXDONCPU.js → chunk-FBDRTW3I.js} +4 -4
  82. package/chunks/{chunk-FCYYAB4S.js → chunk-FHPKHXHT.js} +3 -3
  83. package/chunks/{chunk-DQ2O5QOJ.js → chunk-FJZS2MXB.js} +1 -1
  84. package/chunks/{chunk-EQNUDTL6.js → chunk-FVLPZSKH.js} +3 -3
  85. package/chunks/{chunk-2LEOZTBT.js → chunk-FYMMZV5F.js} +111 -26
  86. package/chunks/{chunk-UV6KF7T3.js → chunk-GNZ7MX73.js} +3 -3
  87. package/chunks/chunk-GOFAQQZA.js +132 -0
  88. package/chunks/{chunk-YUFIEIWC.js → chunk-GTM6IHBB.js} +2 -2
  89. package/chunks/{chunk-W3UKBMSI.js → chunk-GU5B6IF3.js} +118 -9
  90. package/chunks/{chunk-PCK4B6LR.js → chunk-GU5XWZU2.js} +1 -1
  91. package/chunks/{chunk-DEEABGH2.js → chunk-H2EDCJIM.js} +5954 -1766
  92. package/chunks/{chunk-FJ5WUMUQ.js → chunk-H36SETQS.js} +1 -1
  93. package/chunks/{chunk-6FMJLI5M.js → chunk-HFVW54NL.js} +41 -6
  94. package/chunks/chunk-HGCQ5SE7.js +136 -0
  95. package/chunks/{chunk-OFZKFPYG.js → chunk-HR4CHEQS.js} +3 -3
  96. package/chunks/{chunk-CO2U743O.js → chunk-I3GX6LGS.js} +4 -4
  97. package/chunks/{chunk-5NNHICSA.js → chunk-I7JDGNG6.js} +3 -3
  98. package/chunks/{chunk-RDJOB6S3.js → chunk-IEBT6DXF.js} +1 -1
  99. package/chunks/{chunk-EU5TBFJI.js → chunk-IV7QPMC2.js} +2 -2
  100. package/chunks/{chunk-B4AJNNOL.js → chunk-J26HHFI5.js} +1 -1
  101. package/chunks/{chunk-CNTR4GR6.js → chunk-JELIWHXD.js} +1 -1
  102. package/chunks/{chunk-FNDXMN7I.js → chunk-JQFMW7BD.js} +936 -223
  103. package/chunks/{chunk-IGTHU3T4.js → chunk-KKN2IE7Q.js} +1 -1
  104. package/chunks/{chunk-TZTAV5RH.js → chunk-KVUBYJDM.js} +2 -2
  105. package/chunks/{chunk-DUNI4EBW.js → chunk-KZXSAQYV.js} +86 -52
  106. package/chunks/chunk-LBOVL47Y.js +29 -0
  107. package/chunks/{chunk-FS674JW4.js → chunk-LBWNSLJK.js} +3 -3
  108. package/chunks/{chunk-I5BT7ADR.js → chunk-LEZFUYPM.js} +4 -4
  109. package/chunks/chunk-LLMGP5IC.js +222 -0
  110. package/chunks/{chunk-44F4LBWZ.js → chunk-LVW7BHTW.js} +56 -18
  111. package/chunks/{chunk-YGE3IXJP.js → chunk-M744OFVE.js} +1 -1
  112. package/chunks/chunk-MISUEWB4.js +8749 -0
  113. package/chunks/{chunk-7SJN2IWT.js → chunk-MJ2SKNTY.js} +5 -5
  114. package/chunks/{chunk-JE2CEOBO.js → chunk-MNTXIO6T.js} +4 -4
  115. package/chunks/{chunk-TEGJSJDF.js → chunk-MOHAWIAW.js} +2 -2
  116. package/chunks/{chunk-54YCNSK5.js → chunk-MVMBE5EH.js} +4521 -10220
  117. package/chunks/{chunk-PZEXDV3H.js → chunk-NCY2CDDX.js} +71 -43
  118. package/chunks/{chunk-TTJZAIFP.js → chunk-NJELCSFL.js} +3 -3
  119. package/chunks/{chunk-A7Y5H4TX.js → chunk-NXDJEZCI.js} +7 -7
  120. package/chunks/{chunk-PQNHRFJC.js → chunk-NYX53SV4.js} +0 -2
  121. package/chunks/{chunk-QARJNL2V.js → chunk-O2ZYHG33.js} +5 -4
  122. package/chunks/{chunk-6PQPKTXP.js → chunk-OPMLL3B3.js} +1 -1
  123. package/chunks/{chunk-PVNQRENX.js → chunk-OUQGNGIU.js} +1 -1
  124. package/chunks/{chunk-V7RNNPGC.js → chunk-P5Y23G2L.js} +18 -1
  125. package/chunks/{chunk-GURGAJTX.js → chunk-PDDYAXL2.js} +4 -1
  126. package/chunks/chunk-PWCQRLM5.js +1170 -0
  127. package/chunks/{chunk-GL4JOZXU.js → chunk-Q43MIWDH.js} +4 -4
  128. package/chunks/{chunk-V4XNUDPE.js → chunk-QFIYH5KR.js} +28 -7
  129. package/chunks/chunk-QL4TN4HS.js +59 -0
  130. package/chunks/{chunk-E6CJ2SMM.js → chunk-QMBEW7EW.js} +2 -2
  131. package/chunks/{chunk-U4VTUMMK.js → chunk-QONSRAEV.js} +1 -1
  132. package/chunks/{chunk-LOY7RWQG.js → chunk-QYPT3QUD.js} +3 -3
  133. package/chunks/{chunk-RG64CDT2.js → chunk-RJAVNGJJ.js} +131 -48
  134. package/chunks/{chunk-Z3S5EMOW.js → chunk-RPYYTL7E.js} +60 -12
  135. package/chunks/{chunk-V25K5ID7.js → chunk-SWCEYR6T.js} +1 -1
  136. package/chunks/{chunk-77V3VIKL.js → chunk-SXGNNAMC.js} +9 -9
  137. package/chunks/{chunk-7KAXXBER.js → chunk-TNQ5BEEB.js} +3 -3
  138. package/chunks/{chunk-R2XWGR75.js → chunk-TYERNYH4.js} +2 -2
  139. package/chunks/{chunk-45IOTAUS.js → chunk-U25CMJYY.js} +1 -1
  140. package/chunks/{chunk-7ULQIS27.js → chunk-UEJESCS7.js} +1 -1
  141. package/chunks/{chunk-HC45LTEN.js → chunk-UH7Z7Y45.js} +1 -1
  142. package/chunks/{chunk-P5VC5USY.js → chunk-UIKCPMID.js} +1 -1
  143. package/chunks/{chunk-CPZAH673.js → chunk-UKZEXS6K.js} +2 -0
  144. package/chunks/{chunk-HIVKI6O6.js → chunk-UO7AWUZJ.js} +9 -7
  145. package/chunks/{chunk-XP4L6KS3.js → chunk-URN76TKR.js} +2 -2
  146. package/chunks/{chunk-XUGZYLDH.js → chunk-UWSXFI6E.js} +1 -1
  147. package/chunks/{chunk-AOHY3QJ3.js → chunk-VA5NLVPT.js} +3 -3
  148. package/chunks/{chunk-FANRZEAJ.js → chunk-VWOVHOTT.js} +1 -1
  149. package/chunks/{chunk-NTDH4IML.js → chunk-W2K4OEW4.js} +7 -7
  150. package/chunks/{chunk-L32VV3ZJ.js → chunk-WH7W24EN.js} +12 -12
  151. package/chunks/{chunk-QTHQ6Z5X.js → chunk-WK4TJUEA.js} +1 -1
  152. package/chunks/{chunk-ZPZ7ZJEE.js → chunk-WUC6ZFXO.js} +1 -1
  153. package/chunks/{chunk-TIRRPCFS.js → chunk-X6QNZOTC.js} +1 -1
  154. package/chunks/{chunk-IIUGIWWY.js → chunk-XC2VAFVZ.js} +1 -1
  155. package/chunks/{chunk-D4HTUMGX.js → chunk-XC656O42.js} +3 -3
  156. package/chunks/{chunk-ZMOJ7ISP.js → chunk-XXOVLDZQ.js} +1 -1
  157. package/chunks/{chunk-THVU3RNH.js → chunk-YAVY33G4.js} +1 -1
  158. package/chunks/{chunk-PJOHNFIY.js → chunk-YIAC2OXH.js} +5 -5
  159. package/chunks/{chunk-CU47KXB5.js → chunk-YTSN63PD.js} +6 -6
  160. package/chunks/{chunk-DSFHVTWD.js → chunk-YXEVDA66.js} +2 -2
  161. package/chunks/{chunk-MB32MS4U.js → chunk-ZLJQIGCH.js} +260 -175
  162. package/chunks/{chunk-6TAASXWL.js → chunk-ZX6RZZFB.js} +3 -3
  163. package/chunks/{computer-use-5QWCFNKD.js → computer-use-BG2EHNJE.js} +37 -34
  164. package/chunks/{config-utils-WADIDWGG.js → config-utils-E3ZQTHGM.js} +4 -4
  165. package/chunks/{contextCommand-4Z7T7TUM.js → contextCommand-JAPYNKFC.js} +41 -38
  166. package/chunks/{core-runtime-6N4EFC2Q.js → core-runtime-2VCZN5QF.js} +37 -34
  167. package/chunks/{create-sub-session-AEREHZBQ.js → create-sub-session-52OUA2VU.js} +52 -43
  168. package/chunks/{create-sub-session-62YZWVAY.js → create-sub-session-J32WC64U.js} +2 -2
  169. package/chunks/{cron-create-6E7GIQTG.js → cron-create-HMFSHIAR.js} +4 -4
  170. package/chunks/{cron-delete-JD26XY3W.js → cron-delete-ZJFHOX57.js} +4 -4
  171. package/chunks/{cron-list-CUWFB44G.js → cron-list-ZEX2NBMN.js} +4 -4
  172. package/chunks/{daemon-PCNCI5YU.js → daemon-CCIX4BMG.js} +47 -6
  173. package/chunks/{daemon-status-provider-DDF7C5M7.js → daemon-status-provider-F2YGDKHR.js} +48 -45
  174. package/chunks/{daemon-trust-policy-Q4KSOJTR.js → daemon-trust-policy-XCY7JETR.js} +43 -40
  175. package/chunks/{daemon-trust-policy-monitor-V6FTE3IY.js → daemon-trust-policy-monitor-FBHB5GMQ.js} +43 -40
  176. package/chunks/{de-SY6O76BF.js → de-VL76CPLV.js} +50 -5
  177. package/chunks/{deferred-core-runtime-GHJ5GQHK.js → deferred-core-runtime-BBLJ4JUM.js} +37 -34
  178. package/chunks/display-image-2WOG27DY.js +184 -0
  179. package/chunks/{dist-ZHXOBXDN.js → dist-3BMEUGTG.js} +1 -1
  180. package/chunks/{dist-OAOC5OV4.js → dist-7JGAAQSC.js} +2 -2
  181. package/chunks/{dist-SL2LUMML.js → dist-A7H2KKUC.js} +1 -1
  182. package/chunks/{dist-ULIG4M5H.js → dist-C5U4LJKW.js} +162 -15
  183. package/chunks/{dist-2PERFI23.js → dist-DPPHJAVL.js} +3 -3
  184. package/chunks/{dist-PVEAFLHY.js → dist-HVBMEYWK.js} +1 -1
  185. package/chunks/{dist-26BIMQT6.js → dist-IKGVITP3.js} +676 -37
  186. package/chunks/{dist-WGMNT3JQ.js → dist-SFQ34F4M.js} +24 -6
  187. package/chunks/{earlyInputCapture-TQXLLISD.js → earlyInputCapture-ALVSMKP7.js} +38 -35
  188. package/chunks/{edit-FJEUV6KZ.js → edit-POB3CIHQ.js} +37 -34
  189. package/chunks/{en-NBK3JKCE.js → en-IRJ2WN5T.js} +61 -6
  190. package/chunks/{enter-worktree-7GE3TZ4P.js → enter-worktree-Q2N7UZWC.js} +37 -34
  191. package/chunks/{enterPlanMode-KR5TMPCJ.js → enterPlanMode-QGAH2GMP.js} +37 -34
  192. package/chunks/{environment-SWL3CMB3.js → environment-FE5AX2U5.js} +40 -37
  193. package/chunks/{errors-XQE7BGZV.js → errors-SLMCFLSC.js} +40 -37
  194. package/chunks/{exit-worktree-CHKTYNCV.js → exit-worktree-7WO2LPLF.js} +37 -34
  195. package/chunks/{exitPlanMode-QYAG6LWX.js → exitPlanMode-3PINWUTY.js} +37 -34
  196. package/chunks/{fast-path-Z2K7W6DC.js → fast-path-SVFFEL6U.js} +17 -4
  197. package/chunks/{fr-4KG5V7UT.js → fr-GK3HQYVB.js} +50 -5
  198. package/chunks/{gemini-YU4XKEDG.js → gemini-QECJNKNJ.js} +151 -90
  199. package/chunks/{geminiContentGenerator-ZZX6NBO4.js → geminiContentGenerator-ZFAZKT6R.js} +6 -6
  200. package/chunks/{glob-VYF5CXSX.js → glob-GXUNQYNR.js} +37 -34
  201. package/chunks/{goal-tools-HGO6VXPB.js → goal-tools-SPQ5M6D3.js} +3 -3
  202. package/chunks/{grep-5DP5ZUTW.js → grep-LVU5KBCV.js} +37 -34
  203. package/chunks/{handleAutoUpdate-UVBJ56DL.js → handleAutoUpdate-MPDHQY72.js} +43 -40
  204. package/chunks/{i18n-UQNYHEUD.js → i18n-LEYRN6RV.js} +39 -36
  205. package/chunks/{image-gen-WHPIZNWF.js → image-gen-4T2D4PTP.js} +9 -9
  206. package/chunks/{initializer-GMIICF4W.js → initializer-PQV2THBS.js} +44 -41
  207. package/chunks/{installationInfo-4MGG4WVI.js → installationInfo-XC3HXLTX.js} +38 -35
  208. package/chunks/{ja-F3GSQXMF.js → ja-3FA46IKD.js} +50 -5
  209. package/chunks/{keychain-token-storage-IKO4G53C.js → keychain-token-storage-7BT4TQ2A.js} +2 -2
  210. package/chunks/{kittyProtocolDetector-MBRTDRBK.js → kittyProtocolDetector-BFLAKYXH.js} +1 -1
  211. package/chunks/{list-CPN2W334.js → list-AQBTPZRG.js} +46 -43
  212. package/chunks/{list-agents-PXJ7ZUFB.js → list-agents-TWEGRJWO.js} +2 -2
  213. package/chunks/{loadedSettingsAdapter-ZQAV5NDO.js → loadedSettingsAdapter-EZYPDX2J.js} +43 -40
  214. package/chunks/{loggingContentGenerator-5E7W4IEP.js → loggingContentGenerator-WD6YWU7Q.js} +52 -37
  215. package/chunks/{loop-wakeup-Y26NQZ5I.js → loop-wakeup-6LLEOQYV.js} +5 -5
  216. package/chunks/{ls-ONQTTMQR.js → ls-H5WX22VK.js} +4 -4
  217. package/chunks/{lsp-YGHHRGMD.js → lsp-G6FXYEIS.js} +2 -2
  218. package/chunks/{managed-npm-update-MKKAXYXA.js → managed-npm-update-BMM57CHD.js} +40 -37
  219. package/chunks/{mcp-V5NTJF6X.js → mcp-FMI6NCWA.js} +43 -40
  220. package/chunks/{monitor-CO3ASY6E.js → monitor-PZJOYAA2.js} +37 -34
  221. package/chunks/nonInteractiveCli-QPX6R4LL.js +152 -0
  222. package/chunks/{notebook-edit-Z7AEE6FM.js → notebook-edit-GZF2SKTQ.js} +37 -34
  223. package/chunks/{openaiContentGenerator-CA3MQOP3.js → openaiContentGenerator-ZPLCFAAG.js} +18 -18
  224. package/chunks/{pidfile-NL7MKDRU.js → pidfile-PCADVJQW.js} +38 -35
  225. package/chunks/{processUtils-PB5K2DYH.js → processUtils-FKUVQVEU.js} +2 -2
  226. package/chunks/{pt-EQ33KWEN.js → pt-3AOBKPIJ.js} +50 -5
  227. package/chunks/{qwenContentGenerator-JYFNDCOS.js → qwenContentGenerator-2Y4R6YLB.js} +42 -40
  228. package/chunks/{qwenOAuth2-W2ALKQDD.js → qwenOAuth2-UCEHY3I2.js} +8 -8
  229. package/chunks/{read-file-IEOR5H5W.js → read-file-DYHDFVAS.js} +10 -10
  230. package/chunks/{read-mcp-resource-U2IJN5HM.js → read-mcp-resource-DRZSI3HE.js} +2 -2
  231. package/chunks/{record-artifact-MGPJ7EG4.js → record-artifact-IPIRWMFY.js} +3 -3
  232. package/chunks/{resumeHistoryUtils-BNBTP5AS.js → resumeHistoryUtils-5JS6R3AJ.js} +45 -42
  233. package/chunks/{ripGrep-UMQODKEB.js → ripGrep-2QOR3ZQT.js} +37 -34
  234. package/chunks/{ru-7OZAUKGG.js → ru-VJRAMC4W.js} +50 -5
  235. package/chunks/{run-qwen-serve-RN2R6QQW.js → run-qwen-serve-MTVRAUBR.js} +271 -60
  236. package/chunks/{runtime-QFJ2MJF5.js → runtime-DQGE2DYR.js} +50 -45
  237. package/chunks/{scheduler-AMYUFOZI.js → scheduler-BXIZQ4OO.js} +37 -34
  238. package/chunks/{sdk-exporters-http-4BQANSJ6.js → sdk-exporters-http-IKNWQJNV.js} +2 -2
  239. package/chunks/{sdk-impl-Z4VXWVFX.js → sdk-impl-7CUUMQDB.js} +2 -2
  240. package/chunks/{send-message-PMP4ATVM.js → send-message-LHJLVWFD.js} +5 -4
  241. package/chunks/{serve-EIIYJVX3.js → serve-D4GYHFLL.js} +44 -40
  242. package/chunks/{server-EP2LLAPD.js → server-S22MLWTJ.js} +618 -387
  243. package/chunks/{session-GMPZBLOW.js → session-AHNM6YXP.js} +151 -87
  244. package/chunks/{settings-LN7RNKBS.js → settings-77MDDUSX.js} +42 -39
  245. package/chunks/{shell-EM2OWU5X.js → shell-DLD2VQTQ.js} +37 -34
  246. package/chunks/{skill-T5VPSK73.js → skill-3B2PAQE4.js} +27 -14
  247. package/chunks/{skill-settings-GMR3GMNY.js → skill-settings-STR5NF4B.js} +42 -39
  248. package/chunks/{spawnChannel-YPCU62DI.js → spawnChannel-TOWYOVDZ.js} +39 -36
  249. package/chunks/{standalone-update-JAKIM2NF.js → standalone-update-F6ZWABD7.js} +40 -37
  250. package/chunks/{startInteractiveUI-YETQWGYF.js → startInteractiveUI-QR7MHDX7.js} +1829 -1036
  251. package/chunks/{syntheticOutput-D7E6ZFKR.js → syntheticOutput-EYL7DWO7.js} +3 -3
  252. package/chunks/{task-create-NFCYD43L.js → task-create-4ALZMGP5.js} +10 -9
  253. package/chunks/{task-list-TAVMGEVD.js → task-list-6CVQPORX.js} +6 -6
  254. package/chunks/{task-stop-ZDF2UJRM.js → task-stop-Y5ZTFVRX.js} +2 -2
  255. package/chunks/{task-update-6L7LHGEX.js → task-update-IKCEEWJ6.js} +10 -9
  256. package/chunks/{team-create-LFJ6HGNY.js → team-create-LQVIAVRF.js} +37 -34
  257. package/chunks/{team-delete-DPGGRQBU.js → team-delete-CE7DC53R.js} +6 -6
  258. package/chunks/{team-plan-approval-C2KLSDGO.js → team-plan-approval-G5PUNI52.js} +37 -34
  259. package/chunks/terminal-image-renderer-33GSM55L.js +90 -0
  260. package/chunks/{theme-manager-JQ3ZGBP5.js → theme-manager-DBFM5QOG.js} +38 -35
  261. package/chunks/{todoWrite-2UO5G6G6.js → todoWrite-FTZWQRZH.js} +108 -36
  262. package/chunks/{tool-search-FAZBFRJZ.js → tool-search-RGG7BBC4.js} +13 -12
  263. package/chunks/{total-session-admission-5CALIVYO.js → total-session-admission-LY3RMXXI.js} +44 -41
  264. package/chunks/{trustedFolders-KOPSP44S.js → trustedFolders-3M4IQ6K6.js} +39 -36
  265. package/chunks/{update-relaunch-6QL2TICS.js → update-relaunch-G3CMSX3M.js} +5 -5
  266. package/chunks/{updateCheck-4Q6RIKFW.js → updateCheck-ZKFGBDTG.js} +42 -39
  267. package/chunks/{useAutoAcceptIndicator-Q5BMKZV3.js → useAutoAcceptIndicator-7SAFZK5H.js} +47 -44
  268. package/chunks/{validateNonInterActiveAuth-GKOC5F6Z.js → validateNonInterActiveAuth-F2K6UGE4.js} +88 -84
  269. package/chunks/{version-VSATY2LD.js → version-KM6MYV2D.js} +1 -1
  270. package/chunks/{web-fetch-JCLKL6NL.js → web-fetch-SM4LZHRS.js} +13 -13
  271. package/chunks/{web-search-DSQTFUBX.js → web-search-OGKZNDAC.js} +8 -8
  272. package/chunks/{workflow-M6QAVKVJ.js → workflow-HU365RFR.js} +419 -304
  273. package/chunks/{workspace-providers-status-YKLTLMJA.js → workspace-providers-status-QKKXQHL7.js} +46 -43
  274. package/chunks/{workspace-registration-store-5DMGKU64.js → workspace-registration-store-7J7KOXFD.js} +2 -2
  275. package/chunks/{workspace-registry-PTYUSYXX.js → workspace-registry-KC66O6DH.js} +44 -41
  276. package/chunks/{workspace-service-25ML3T47.js → workspace-service-TEV5Q2AA.js} +51 -48
  277. package/chunks/{workspace-skills-status-YKZWOYRX.js → workspace-skills-status-VRL55OMU.js} +45 -42
  278. package/chunks/{workspace-trust-reconciler-5FI2S3OS.js → workspace-trust-reconciler-COC5M7CY.js} +50 -47
  279. package/chunks/{write-file-AY7VLP5X.js → write-file-3SO2BMNO.js} +37 -34
  280. package/chunks/{zh-H3YDK5QW.js → zh-ARWDLDLR.js} +58 -6
  281. package/chunks/{zh-TW-JYCP7XUA.js → zh-TW-Y4RGI3P7.js} +58 -6
  282. package/chunks/{zoom-image-S4LJZMD5.js → zoom-image-O3RWTVKV.js} +10 -10
  283. package/cli.js +32 -48
  284. package/locales/ca.js +68 -4
  285. package/locales/de.js +70 -4
  286. package/locales/en.js +84 -6
  287. package/locales/fr.js +72 -4
  288. package/locales/ja.js +69 -4
  289. package/locales/pt.js +68 -4
  290. package/locales/ru.js +71 -4
  291. package/locales/zh-TW.js +74 -6
  292. package/locales/zh.js +74 -6
  293. package/package.json +3 -3
  294. package/web-shell/assets/{arc-xjArKHU2.js → arc-KuwiZ67W.js} +1 -1
  295. package/web-shell/assets/{architectureDiagram-3BPJPVTR-BgrQDNYG.js → architectureDiagram-3BPJPVTR-Cppop6HB.js} +1 -1
  296. package/web-shell/assets/{blockDiagram-GPEHLZMM-CXxWC-1_.js → blockDiagram-GPEHLZMM-DQ6HT72s.js} +1 -1
  297. package/web-shell/assets/{c4Diagram-AAUBKEIU-Dx1tLm3v.js → c4Diagram-AAUBKEIU-B8TX_Mh-.js} +1 -1
  298. package/web-shell/assets/channel-BZd6Ile0.js +1 -0
  299. package/web-shell/assets/{chunk-2J33WTMH-CBxjogVR.js → chunk-2J33WTMH-B2WBUTp8.js} +1 -1
  300. package/web-shell/assets/{chunk-4BX2VUAB-izb-rY5W.js → chunk-4BX2VUAB-DXUsWC6O.js} +1 -1
  301. package/web-shell/assets/{chunk-55IACEB6-NzLyvSb8.js → chunk-55IACEB6-DtB-6cyk.js} +1 -1
  302. package/web-shell/assets/{chunk-727SXJPM-DVyKb0dl.js → chunk-727SXJPM-B-PhPyC3.js} +1 -1
  303. package/web-shell/assets/{chunk-AQP2D5EJ-BtqL7NzB.js → chunk-AQP2D5EJ-DNaTFMSC.js} +1 -1
  304. package/web-shell/assets/{chunk-FMBD7UC4-iNpdKIO0.js → chunk-FMBD7UC4-DZ345tFf.js} +1 -1
  305. package/web-shell/assets/{chunk-ND2GUHAM-DI7cbFmX.js → chunk-ND2GUHAM-BR_EpgzJ.js} +1 -1
  306. package/web-shell/assets/{chunk-QZHKN3VN-3Y_-xFYs.js → chunk-QZHKN3VN-BTU-0gDT.js} +1 -1
  307. package/web-shell/assets/classDiagram-4FO5ZUOK-B7c-TqtK.js +1 -0
  308. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-B7c-TqtK.js +1 -0
  309. package/web-shell/assets/{cose-bilkent-S5V4N54A--raRatZn.js → cose-bilkent-S5V4N54A-BmsKBCNt.js} +1 -1
  310. package/web-shell/assets/{dagre-BM42HDAG-B8SU70mO.js → dagre-BM42HDAG-Ba8YWdDC.js} +1 -1
  311. package/web-shell/assets/{diagram-2AECGRRQ-ewgoakXo.js → diagram-2AECGRRQ-CCt2SnI6.js} +1 -1
  312. package/web-shell/assets/{diagram-5GNKFQAL-Bm_JLTnS.js → diagram-5GNKFQAL-BVTLXEU7.js} +1 -1
  313. package/web-shell/assets/{diagram-KO2AKTUF-DEIUjUy9.js → diagram-KO2AKTUF-DpDAVCYV.js} +1 -1
  314. package/web-shell/assets/{diagram-LMA3HP47-C2Wmrpj-.js → diagram-LMA3HP47-8ljXg-TB.js} +1 -1
  315. package/web-shell/assets/{diagram-OG6HWLK6-CtYe6bFx.js → diagram-OG6HWLK6-JAXfQSmd.js} +1 -1
  316. package/web-shell/assets/{erDiagram-TEJ5UH35-DfpHcWLV.js → erDiagram-TEJ5UH35-CUeakG6k.js} +1 -1
  317. package/web-shell/assets/{flowDiagram-I6XJVG4X-CAiUhio5.js → flowDiagram-I6XJVG4X-Cd4Wrdwv.js} +1 -1
  318. package/web-shell/assets/{ganttDiagram-6RSMTGT7-CYc7ezr4.js → ganttDiagram-6RSMTGT7-C0nMFvH_.js} +1 -1
  319. package/web-shell/assets/{gitGraphDiagram-PVQCEYII-70lbkcRS.js → gitGraphDiagram-PVQCEYII-uKk88n_L.js} +1 -1
  320. package/web-shell/assets/index-BXGtjHs5.js +1756 -0
  321. package/web-shell/assets/{index-Ww86nT9f.js → index-C1UWBJSX.js} +1 -1
  322. package/web-shell/assets/index-WxSvj2tI.css +5 -0
  323. package/web-shell/assets/{infoDiagram-5YYISTIA-C7e8DWPa.js → infoDiagram-5YYISTIA-GfPN17hR.js} +1 -1
  324. package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-BYLr2op-.js → ishikawaDiagram-YF4QCWOH-CDbWTcGa.js} +1 -1
  325. package/web-shell/assets/{journeyDiagram-JHISSGLW-hEibAHKX.js → journeyDiagram-JHISSGLW-J8TvvVFz.js} +1 -1
  326. package/web-shell/assets/{kanban-definition-UN3LZRKU-F2rt8Uhp.js → kanban-definition-UN3LZRKU-Ds_ndLrs.js} +1 -1
  327. package/web-shell/assets/{linear-DPhyNezd.js → linear-DuL9O4i3.js} +1 -1
  328. package/web-shell/assets/{mermaid.core-ZUtnug0n.js → mermaid.core-DtK4PsQB.js} +5 -5
  329. package/web-shell/assets/{mindmap-definition-RKZ34NQL-DDWcMoi8.js → mindmap-definition-RKZ34NQL-DD0r7MS3.js} +1 -1
  330. package/web-shell/assets/{pieDiagram-4H26LBE5-CTRKzw1_.js → pieDiagram-4H26LBE5-CxGPZ8Q-.js} +1 -1
  331. package/web-shell/assets/{quadrantDiagram-W4KKPZXB-CAEwYG_z.js → quadrantDiagram-W4KKPZXB-Ds7Buxed.js} +1 -1
  332. package/web-shell/assets/{requirementDiagram-4Y6WPE33-CRjnH9D9.js → requirementDiagram-4Y6WPE33-DIx28ph5.js} +1 -1
  333. package/web-shell/assets/{sankeyDiagram-5OEKKPKP-LPQT_sOd.js → sankeyDiagram-5OEKKPKP-AxdAYcVX.js} +1 -1
  334. package/web-shell/assets/{sequenceDiagram-3UESZ5HK-Ht2Iqvb0.js → sequenceDiagram-3UESZ5HK-CojoXAZ5.js} +1 -1
  335. package/web-shell/assets/{stateDiagram-AJRCARHV-CIUdqOXu.js → stateDiagram-AJRCARHV-Dy1WN3mi.js} +1 -1
  336. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-BaTNMz02.js +1 -0
  337. package/web-shell/assets/{timeline-definition-PNZ67QCA-BcilneZF.js → timeline-definition-PNZ67QCA-DeWe_43M.js} +1 -1
  338. package/web-shell/assets/{vennDiagram-CIIHVFJN-BljwiiH1.js → vennDiagram-CIIHVFJN-BN8PVlFq.js} +1 -1
  339. package/web-shell/assets/{wardley-L42UT6IY-DeKjkYjq.js → wardley-L42UT6IY-CbjV_1hf.js} +1 -1
  340. package/web-shell/assets/{wardleyDiagram-YWT4CUSO-L3U1H7KG.js → wardleyDiagram-YWT4CUSO-D2mw84_p.js} +1 -1
  341. package/web-shell/assets/{xychartDiagram-2RQKCTM6-IJnWsgMT.js → xychartDiagram-2RQKCTM6-er9CTQXi.js} +1 -1
  342. package/web-shell/index.html +2 -2
  343. package/chunks/chunk-4KP2F2TE.js +0 -82
  344. package/chunks/chunk-HGT6JR3U.js +0 -177
  345. package/chunks/nonInteractiveCli-ZJYEOO7U.js +0 -148
  346. package/web-shell/assets/channel-B1cyk94G.js +0 -1
  347. package/web-shell/assets/classDiagram-4FO5ZUOK-BpBYZoRE.js +0 -1
  348. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-BpBYZoRE.js +0 -1
  349. package/web-shell/assets/index-C1k3PDuU.css +0 -5
  350. package/web-shell/assets/index-DZLIXILO.js +0 -1750
  351. package/web-shell/assets/insert-DmRbh9Rv.svg +0 -1
  352. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-BmqqQZ6w.js +0 -1
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk-RKUWKYED.js";
7
7
  import {
8
8
  createDebugLogger
9
- } from "./chunk-E2BHWIDT.js";
9
+ } from "./chunk-3RXUYQJI.js";
10
10
  import {
11
11
  init_esbuild_shims
12
12
  } from "./chunk-5O2XNYP6.js";
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  createDebugLogger
5
- } from "./chunk-E2BHWIDT.js";
5
+ } from "./chunk-3RXUYQJI.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";
@@ -44,7 +44,7 @@ function classifyEscapeSequence(data, startIdx) {
44
44
  return "incomplete";
45
45
  }
46
46
  const thirdByte = data[thirdIdx];
47
- if (thirdByte === 63 || thirdByte === 62) {
47
+ if (thirdByte === 63 || thirdByte === 62 || thirdByte === 60) {
48
48
  return "terminal";
49
49
  }
50
50
  return "user";
@@ -5,20 +5,20 @@ import {
5
5
  } from "./chunk-VGC4I5JJ.js";
6
6
  import {
7
7
  isAnyAutoMemPath
8
- } from "./chunk-3I6DUGQD.js";
8
+ } from "./chunk-E4WHKETF.js";
9
9
  import {
10
10
  STRUCTURED_OUTPUT_REDACTED_ARGS
11
- } from "./chunk-7ULQIS27.js";
11
+ } from "./chunk-UEJESCS7.js";
12
12
  import {
13
13
  BaseDeclarativeTool,
14
14
  BaseToolInvocation,
15
15
  SchemaValidator,
16
16
  ToolDisplayNames,
17
17
  ToolNames
18
- } from "./chunk-MM7TH7ZM.js";
18
+ } from "./chunk-CFDR3GNL.js";
19
19
  import {
20
20
  DEFAULT_QWEN_MODEL
21
- } from "./chunk-HIVKI6O6.js";
21
+ } from "./chunk-UO7AWUZJ.js";
22
22
  import {
23
23
  estimateTextTokens,
24
24
  generateLegacyMcpToolName,
@@ -29,10 +29,10 @@ import {
29
29
  } from "./chunk-ZBVS26BY.js";
30
30
  import {
31
31
  InstallationManager
32
- } from "./chunk-R2XWGR75.js";
32
+ } from "./chunk-TYERNYH4.js";
33
33
  import {
34
34
  atomicWriteFile
35
- } from "./chunk-HC45LTEN.js";
35
+ } from "./chunk-UH7Z7Y45.js";
36
36
  import {
37
37
  isTelemetrySdkInitialized,
38
38
  recordApiErrorMetrics,
@@ -53,7 +53,7 @@ import {
53
53
  recordSubagentExecutionMetrics,
54
54
  recordTokenUsageMetrics,
55
55
  recordToolCallMetrics
56
- } from "./chunk-QARJNL2V.js";
56
+ } from "./chunk-O2ZYHG33.js";
57
57
  import {
58
58
  require_src,
59
59
  safeJsonStringify
@@ -113,7 +113,7 @@ import {
113
113
  makeRelative,
114
114
  shortenPath,
115
115
  unescapePath
116
- } from "./chunk-E2BHWIDT.js";
116
+ } from "./chunk-3RXUYQJI.js";
117
117
  import {
118
118
  SemanticAttributes,
119
119
  init_esm
@@ -9730,12 +9730,15 @@ async function readFileWithLineAndLimit(params) {
9730
9730
  const endLine = Math.min(startLine + limit, originalLineCount);
9731
9731
  const actualStartLine = Math.min(startLine, originalLineCount);
9732
9732
  const selectedLines = lines.slice(actualStartLine, endLine);
9733
+ const joined = selectedLines.join("\n");
9733
9734
  return {
9734
- content: selectedLines.join("\n"),
9735
+ content: joined,
9735
9736
  bom,
9736
9737
  encoding,
9737
9738
  originalLineCount,
9738
- originalLineCountExact: true
9739
+ originalLineCountExact: true,
9740
+ truncatedByBytes: false,
9741
+ lineEnding: detectLineEndingFromContent(joined)
9739
9742
  };
9740
9743
  }
9741
9744
  __name(readFileWithLineAndLimit, "readFileWithLineAndLimit");
@@ -10071,20 +10074,22 @@ async function processSingleFileContent(filePath, config, optionsOrOffset, legac
10071
10074
  preserveUnsupportedImage = false,
10072
10075
  preparePdfForVisionBridge = false,
10073
10076
  signal,
10074
- largePdfBehavior = "error"
10077
+ largePdfBehavior = "error",
10078
+ displayPath = filePath
10075
10079
  } = options;
10076
10080
  const rootDirectory = config.getTargetDir();
10081
+ const relativePathForDisplay = (path2.isAbsolute(displayPath) ? path2.relative(rootDirectory, displayPath) : displayPath).replace(/\\/g, "/");
10077
10082
  try {
10078
10083
  signal?.throwIfAborted();
10079
10084
  let stats;
10080
10085
  try {
10081
- stats = await fs3.promises.stat(filePath);
10086
+ stats = options.textFileStats ?? await fs3.promises.stat(filePath);
10082
10087
  } catch (error) {
10083
10088
  if (isNodeError(error) && error.code === "ENOENT") {
10084
10089
  return {
10085
10090
  llmContent: "Could not read file because no file was found at the specified path.",
10086
10091
  returnDisplay: "File not found.",
10087
- error: `File not found: ${filePath}`,
10092
+ error: `File not found: ${displayPath}`,
10088
10093
  errorType: "file_not_found" /* FILE_NOT_FOUND */
10089
10094
  };
10090
10095
  }
@@ -10094,7 +10099,7 @@ async function processSingleFileContent(filePath, config, optionsOrOffset, legac
10094
10099
  return {
10095
10100
  llmContent: "Could not read file because the provided path is a directory, not a file.",
10096
10101
  returnDisplay: "Path is a directory.",
10097
- error: `Path is a directory, not a file: ${filePath}`,
10102
+ error: `Path is a directory, not a file: ${displayPath}`,
10098
10103
  errorType: "target_is_directory" /* TARGET_IS_DIRECTORY */
10099
10104
  };
10100
10105
  }
@@ -10102,15 +10107,14 @@ async function processSingleFileContent(filePath, config, optionsOrOffset, legac
10102
10107
  return {
10103
10108
  llmContent: `Cannot read file: ${path2.basename(filePath)} is not a regular file (e.g. device, socket, or pipe).`,
10104
10109
  returnDisplay: "Not a regular file.",
10105
- error: `Not a regular file: ${filePath}`,
10110
+ error: `Not a regular file: ${displayPath}`,
10106
10111
  errorType: "read_content_failure" /* READ_CONTENT_FAILURE */
10107
10112
  };
10108
10113
  }
10109
- const fileType = await detectFileType(filePath);
10114
+ const fileType = options.textFileHandle ? "text" : await detectFileType(filePath);
10110
10115
  const mediaMimeType = index_lite_default.getType(filePath) ?? MIME_LITE_MISSING_VIDEO_TYPES.get(path2.extname(filePath).toLowerCase()) ?? "application/octet-stream";
10111
10116
  const shouldRenderImageOverview = fileType === "image" && CANONICAL_IMAGE_MIME_TYPES.has(mediaMimeType);
10112
- const relativePathForDisplay = path2.relative(rootDirectory, filePath).replace(/\\/g, "/");
10113
- const displayName = path2.basename(filePath);
10117
+ const displayName = path2.basename(displayPath);
10114
10118
  const modalities = config.getContentGeneratorConfig?.()?.modalities ?? {};
10115
10119
  const willRenderPdfImages = fileType === "pdf" && !!modalities.image && largePdfBehavior !== "reference";
10116
10120
  const renderForBridge = fileType === "pdf" && !modalities.image && !modalities.pdf && (preserveUnsupportedImage || preparePdfForVisionBridge);
@@ -10149,7 +10153,7 @@ async function processSingleFileContent(filePath, config, optionsOrOffset, legac
10149
10153
  return {
10150
10154
  llmContent: `PDF file is too large for full text extraction: ${fileSizeInMB.toFixed(2)}MB exceeds the ${PDF_FULL_TEXT_EXTRACTION_MAX_MB}MB limit. Use the 'pages' parameter to read a narrower range, or split the document into smaller files before retrying.`,
10151
10155
  returnDisplay: `PDF file too large (${fileSizeInMB.toFixed(2)}MB > ${PDF_FULL_TEXT_EXTRACTION_MAX_MB}MB).`,
10152
- error: `PDF exceeds extraction size limit: ${filePath} (${fileSizeInMB.toFixed(2)}MB)`,
10156
+ error: `PDF exceeds extraction size limit: ${displayPath} (${fileSizeInMB.toFixed(2)}MB)`,
10153
10157
  errorType: "file_too_large" /* FILE_TOO_LARGE */,
10154
10158
  stats
10155
10159
  };
@@ -10158,7 +10162,7 @@ async function processSingleFileContent(filePath, config, optionsOrOffset, legac
10158
10162
  return {
10159
10163
  llmContent: `PDF file is too large for page-range text extraction: ${fileSizeInMB.toFixed(2)}MB exceeds the ${PDF_PAGED_TEXT_EXTRACTION_MAX_MB}MB limit. Split the document into smaller files before retrying.`,
10160
10164
  returnDisplay: `PDF file too large (${fileSizeInMB.toFixed(2)}MB > ${PDF_PAGED_TEXT_EXTRACTION_MAX_MB}MB).`,
10161
- error: `PDF exceeds page-range extraction size limit: ${filePath} (${fileSizeInMB.toFixed(2)}MB)`,
10165
+ error: `PDF exceeds page-range extraction size limit: ${displayPath} (${fileSizeInMB.toFixed(2)}MB)`,
10162
10166
  errorType: "file_too_large" /* FILE_TOO_LARGE */,
10163
10167
  stats
10164
10168
  };
@@ -10197,7 +10201,7 @@ async function processSingleFileContent(filePath, config, optionsOrOffset, legac
10197
10201
  return {
10198
10202
  llmContent: "Image file exceeds the 100 MB source limit.",
10199
10203
  returnDisplay: "Image file exceeds the 100 MB source limit.",
10200
- error: `Image file exceeds the 100 MB source limit: ${filePath}`,
10204
+ error: `Image file exceeds the 100 MB source limit: ${displayPath}`,
10201
10205
  errorType: "file_too_large" /* FILE_TOO_LARGE */
10202
10206
  };
10203
10207
  }
@@ -10205,7 +10209,7 @@ async function processSingleFileContent(filePath, config, optionsOrOffset, legac
10205
10209
  return {
10206
10210
  llmContent: "File size exceeds the 10MB limit.",
10207
10211
  returnDisplay: "File size exceeds the 10MB limit.",
10208
- error: `File size exceeds the 10MB limit: ${filePath} (${fileSizeInMB.toFixed(2)}MB)`,
10212
+ error: `File size exceeds the 10MB limit: ${displayPath} (${fileSizeInMB.toFixed(2)}MB)`,
10209
10213
  errorType: "file_too_large" /* FILE_TOO_LARGE */
10210
10214
  };
10211
10215
  }
@@ -10255,11 +10259,22 @@ async function processSingleFileContent(filePath, config, optionsOrOffset, legac
10255
10259
  };
10256
10260
  }
10257
10261
  case "text": {
10258
- const { content, _meta } = await config.getFileSystemService().readTextFile({
10262
+ const fileSystemService = config.getFileSystemService();
10263
+ const maxOutputBytes = getRangeReadByteLimit(config);
10264
+ const readTextFileFromHandle = fileSystemService.readTextFileFromHandle;
10265
+ const { content, _meta } = options.textFileHandle ? await readTextFileFromHandle.call(fileSystemService, {
10266
+ fileHandle: options.textFileHandle,
10267
+ fileSize: stats.size,
10268
+ limit: limit ?? config.getTruncateToolOutputLines(),
10269
+ line: offset,
10270
+ maxOutputBytes,
10271
+ maxScanBytes: options.textFileMaxScanBytes ?? maxOutputBytes,
10272
+ ...signal !== void 0 ? { signal } : {}
10273
+ }) : await fileSystemService.readTextFile({
10259
10274
  path: filePath,
10260
10275
  limit: limit ?? config.getTruncateToolOutputLines(),
10261
10276
  line: offset,
10262
- maxOutputBytes: getRangeReadByteLimit(config),
10277
+ maxOutputBytes,
10263
10278
  stats,
10264
10279
  ...signal !== void 0 ? { signal } : {}
10265
10280
  });
@@ -10379,7 +10394,7 @@ async function processSingleFileContent(filePath, config, optionsOrOffset, legac
10379
10394
  return {
10380
10395
  llmContent: `File exceeds the 10MB data URI limit after base64 encoding (${base64SizeInMB.toFixed(2)}MB encoded).`,
10381
10396
  returnDisplay: `File exceeds the 10MB data URI limit after base64 encoding.`,
10382
- error: `File exceeds the 10MB data URI limit after base64 encoding: ${filePath} (${base64SizeInMB.toFixed(2)}MB encoded)`,
10397
+ error: `File exceeds the 10MB data URI limit after base64 encoding: ${displayPath} (${base64SizeInMB.toFixed(2)}MB encoded)`,
10383
10398
  errorType: "file_too_large" /* FILE_TOO_LARGE */
10384
10399
  };
10385
10400
  }
@@ -10403,7 +10418,7 @@ async function processSingleFileContent(filePath, config, optionsOrOffset, legac
10403
10418
  return {
10404
10419
  llmContent: `File exceeds the 10MB data URI limit after base64 encoding (${base64SizeInMB.toFixed(2)}MB encoded).`,
10405
10420
  returnDisplay: `File exceeds the 10MB data URI limit after base64 encoding.`,
10406
- error: `File exceeds the 10MB data URI limit after base64 encoding: ${filePath} (${base64SizeInMB.toFixed(2)}MB encoded)`,
10421
+ error: `File exceeds the 10MB data URI limit after base64 encoding: ${displayPath} (${base64SizeInMB.toFixed(2)}MB encoded)`,
10407
10422
  errorType: "file_too_large" /* FILE_TOO_LARGE */
10408
10423
  };
10409
10424
  }
@@ -10427,7 +10442,7 @@ async function processSingleFileContent(filePath, config, optionsOrOffset, legac
10427
10442
  return {
10428
10443
  llmContent: `File exceeds the 10MB data URI limit after base64 encoding (${base64SizeInMB.toFixed(2)}MB encoded).`,
10429
10444
  returnDisplay: `File exceeds the 10MB data URI limit after base64 encoding.`,
10430
- error: `File exceeds the 10MB data URI limit after base64 encoding: ${filePath} (${base64SizeInMB.toFixed(2)}MB encoded)`,
10445
+ error: `File exceeds the 10MB data URI limit after base64 encoding: ${displayPath} (${base64SizeInMB.toFixed(2)}MB encoded)`,
10431
10446
  errorType: "file_too_large" /* FILE_TOO_LARGE */
10432
10447
  };
10433
10448
  }
@@ -10638,7 +10653,7 @@ async function processSingleFileContent(filePath, config, optionsOrOffset, legac
10638
10653
  return {
10639
10654
  llmContent: `Error parsing notebook ${relativePathForDisplay}: ${msg}`,
10640
10655
  returnDisplay: `Error reading notebook: ${relativePathForDisplay}`,
10641
- error: `Error parsing notebook ${filePath}: ${msg}`,
10656
+ error: `Error parsing notebook ${displayPath}: ${msg}`,
10642
10657
  errorType: "read_content_failure" /* READ_CONTENT_FAILURE */
10643
10658
  };
10644
10659
  }
@@ -10648,7 +10663,7 @@ async function processSingleFileContent(filePath, config, optionsOrOffset, legac
10648
10663
  return {
10649
10664
  llmContent: `Unhandled file type: ${exhaustiveCheck}`,
10650
10665
  returnDisplay: `Skipped unhandled file type: ${relativePathForDisplay}`,
10651
- error: `Unhandled file type for ${filePath}`
10666
+ error: `Unhandled file type for ${displayPath}`
10652
10667
  };
10653
10668
  }
10654
10669
  }
@@ -10657,11 +10672,10 @@ async function processSingleFileContent(filePath, config, optionsOrOffset, legac
10657
10672
  throw error;
10658
10673
  }
10659
10674
  const errorMessage = getErrorMessage(error);
10660
- const displayPath = path2.relative(rootDirectory, filePath).replace(/\\/g, "/");
10661
10675
  return {
10662
- llmContent: `Error reading file ${displayPath}: ${errorMessage}`,
10663
- returnDisplay: `Error reading file ${displayPath}: ${errorMessage}`,
10664
- error: `Error reading file ${filePath}: ${errorMessage}`,
10676
+ llmContent: `Error reading file ${relativePathForDisplay}: ${errorMessage}`,
10677
+ returnDisplay: `Error reading file ${relativePathForDisplay}: ${errorMessage}`,
10678
+ error: `Error reading file ${relativePathForDisplay}: ${errorMessage}`,
10665
10679
  errorType: "read_content_failure" /* READ_CONTENT_FAILURE */
10666
10680
  };
10667
10681
  }
@@ -10670,7 +10684,7 @@ __name(processSingleFileContent, "processSingleFileContent");
10670
10684
  function getRangeReadByteLimit(config) {
10671
10685
  const charLimit = config.getTruncateToolOutputThreshold();
10672
10686
  if (charLimit === Number.POSITIVE_INFINITY) {
10673
- return Number.POSITIVE_INFINITY;
10687
+ return Number.MAX_SAFE_INTEGER;
10674
10688
  }
10675
10689
  if (!Number.isFinite(charLimit)) {
10676
10690
  return DEFAULT_RANGE_READ_BYTES;
@@ -11214,6 +11228,8 @@ var QwenLogger = class _QwenLogger {
11214
11228
  response_id: event.response_id,
11215
11229
  tool_name: event.function_name,
11216
11230
  permission: event.decision,
11231
+ status: event.status,
11232
+ tool_type: event.tool_type,
11217
11233
  success: event.success ? 1 : 0,
11218
11234
  duration_ms: event.duration_ms,
11219
11235
  error_type: event.error_type,
@@ -12780,42 +12796,55 @@ function logUserRetry(config, event) {
12780
12796
  logger.emit(logRecord);
12781
12797
  }
12782
12798
  __name(logUserRetry, "logUserRetry");
12799
+ function normalizeToolCallEvent(event) {
12800
+ const isError = event.status === "error";
12801
+ return {
12802
+ ...event,
12803
+ function_name: event.function_name.trim().length > 0 ? event.function_name : "unknown_tool",
12804
+ success: event.status === "success",
12805
+ error: isError ? event.error : void 0,
12806
+ error_type: isError ? event.error_type?.trim() ? event.error_type : "unknown" /* UNKNOWN */ : void 0
12807
+ };
12808
+ }
12809
+ __name(normalizeToolCallEvent, "normalizeToolCallEvent");
12783
12810
  function logToolCall(config, event) {
12811
+ const normalizedEvent = normalizeToolCallEvent(event);
12784
12812
  const uiEvent = {
12785
- ...event,
12813
+ ...normalizedEvent,
12786
12814
  "event.name": EVENT_TOOL_CALL,
12787
12815
  "event.timestamp": (/* @__PURE__ */ new Date()).toISOString()
12788
12816
  };
12789
12817
  uiTelemetryService.addEvent(uiEvent, config.getSessionId());
12790
- if (!isInternalPromptId(event.prompt_id)) {
12818
+ if (!isInternalPromptId(normalizedEvent.prompt_id)) {
12791
12819
  recordUiTelemetryEventToChat(config, uiEvent);
12792
12820
  }
12793
- QwenLogger.getInstance(config)?.logToolCallEvent(event);
12821
+ QwenLogger.getInstance(config)?.logToolCallEvent(normalizedEvent);
12794
12822
  if (!isTelemetrySdkInitialized()) return;
12795
12823
  const attributes = {
12796
12824
  ...getCommonAttributes(config),
12797
- ...event,
12825
+ ...normalizedEvent,
12798
12826
  "event.name": EVENT_TOOL_CALL,
12799
12827
  "event.timestamp": (/* @__PURE__ */ new Date()).toISOString(),
12800
- function_args: safeJsonStringify(event.function_args, 2)
12828
+ function_args: safeJsonStringify(normalizedEvent.function_args, 2)
12801
12829
  };
12802
- if (event.error) {
12803
- attributes["error.message"] = event.error;
12804
- if (event.error_type) {
12805
- attributes["error.type"] = event.error_type;
12806
- }
12830
+ if (normalizedEvent.error) {
12831
+ attributes["error.message"] = normalizedEvent.error;
12832
+ }
12833
+ if (normalizedEvent.error_type) {
12834
+ attributes["error.type"] = normalizedEvent.error_type;
12807
12835
  }
12808
12836
  const logger = import_api_logs.logs.getLogger(SERVICE_NAME);
12809
12837
  const logRecord = {
12810
- body: `Tool call: ${event.function_name}${event.decision ? `. Decision: ${event.decision}` : ""}. Success: ${event.success}. Duration: ${event.duration_ms}ms.`,
12838
+ body: `Tool call: ${normalizedEvent.function_name}${normalizedEvent.decision ? `. Decision: ${normalizedEvent.decision}` : ""}. Success: ${normalizedEvent.success}. Duration: ${normalizedEvent.duration_ms}ms.`,
12811
12839
  attributes
12812
12840
  };
12813
12841
  logger.emit(logRecord);
12814
- recordToolCallMetrics(config, event.duration_ms, {
12815
- function_name: event.function_name,
12816
- success: event.success,
12817
- decision: event.decision,
12818
- tool_type: event.tool_type
12842
+ recordToolCallMetrics(config, normalizedEvent.duration_ms, {
12843
+ function_name: normalizedEvent.function_name,
12844
+ status: normalizedEvent.status,
12845
+ success: normalizedEvent.success,
12846
+ decision: normalizedEvent.decision,
12847
+ tool_type: normalizedEvent.tool_type
12819
12848
  });
12820
12849
  }
12821
12850
  __name(logToolCall, "logToolCall");
@@ -15184,7 +15213,9 @@ function makeChatCompressionEvent({
15184
15213
  tokens_before,
15185
15214
  tokens_after,
15186
15215
  compression_input_token_count,
15187
- compression_output_token_count
15216
+ compression_output_token_count,
15217
+ cache_sharing_attempted,
15218
+ cache_sharing_used
15188
15219
  }) {
15189
15220
  return {
15190
15221
  "event.name": "chat_compression",
@@ -15192,7 +15223,9 @@ function makeChatCompressionEvent({
15192
15223
  tokens_before,
15193
15224
  tokens_after,
15194
15225
  ...compression_input_token_count !== void 0 ? { compression_input_token_count } : {},
15195
- ...compression_output_token_count !== void 0 ? { compression_output_token_count } : {}
15226
+ ...compression_output_token_count !== void 0 ? { compression_output_token_count } : {},
15227
+ ...cache_sharing_attempted !== void 0 ? { cache_sharing_attempted } : {},
15228
+ ...cache_sharing_used !== void 0 ? { cache_sharing_used } : {}
15196
15229
  };
15197
15230
  }
15198
15231
  __name(makeChatCompressionEvent, "makeChatCompressionEvent");
@@ -16980,6 +17013,7 @@ export {
16980
17013
  readFileWithLineAndLimit,
16981
17014
  getSpecificMimeType,
16982
17015
  isWithinRoot,
17016
+ detectFileType,
16983
17017
  isCacheableReadResult,
16984
17018
  processSingleFileContent,
16985
17019
  fileExists,
@@ -0,0 +1,29 @@
1
+ // Force strict mode and setup for ESM
2
+ "use strict";
3
+ import {
4
+ init_esbuild_shims
5
+ } from "./chunk-5O2XNYP6.js";
6
+ import {
7
+ __name
8
+ } from "./chunk-J2S4EL5Y.js";
9
+
10
+ // packages/cli/src/runtime/cpu-percent.ts
11
+ init_esbuild_shims();
12
+ function computeCpuPercent(prev, cur, elapsedMs, coreCount) {
13
+ if (!prev || !cur || elapsedMs <= 0 || coreCount <= 0) return 0;
14
+ const cpuUs = cur.user - prev.user + (cur.system - prev.system);
15
+ return Math.min(
16
+ 100,
17
+ Math.max(0, cpuUs / (elapsedMs * 1e3) * 100 / coreCount)
18
+ );
19
+ }
20
+ __name(computeCpuPercent, "computeCpuPercent");
21
+
22
+ export {
23
+ computeCpuPercent
24
+ };
25
+ /**
26
+ * @license
27
+ * Copyright 2026 Qwen Team
28
+ * SPDX-License-Identifier: Apache-2.0
29
+ */
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  theme
5
- } from "./chunk-45IOTAUS.js";
5
+ } from "./chunk-U25CMJYY.js";
6
6
  import {
7
7
  require_jsx_runtime
8
8
  } from "./chunk-SV5PQVQE.js";
@@ -15,13 +15,13 @@ import {
15
15
  } from "./chunk-5QWWOFGG.js";
16
16
  import {
17
17
  toCodePoints
18
- } from "./chunk-YDLJGZHL.js";
18
+ } from "./chunk-4NFY2S7N.js";
19
19
  import {
20
20
  stringWidth
21
21
  } from "./chunk-2MIN6GRR.js";
22
22
  import {
23
23
  createDebugLogger
24
- } from "./chunk-E2BHWIDT.js";
24
+ } from "./chunk-3RXUYQJI.js";
25
25
  import {
26
26
  init_esbuild_shims
27
27
  } from "./chunk-5O2XNYP6.js";
@@ -1,12 +1,12 @@
1
1
  // Force strict mode and setup for ESM
2
2
  "use strict";
3
- import {
4
- resolveChannelCwd
5
- } from "./chunk-FANRZEAJ.js";
6
3
  import {
7
4
  getPlugin,
8
5
  supportedTypes
9
- } from "./chunk-KWHKHSIS.js";
6
+ } from "./chunk-DTAPI453.js";
7
+ import {
8
+ resolveChannelCwd
9
+ } from "./chunk-VWOVHOTT.js";
10
10
  import {
11
11
  init_esbuild_shims
12
12
  } from "./chunk-5O2XNYP6.js";