@qwen-code/qwen-code 0.22.2 → 0.22.3

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 (324) hide show
  1. package/bundled/computer-use/SKILL.md +3 -3
  2. package/bundled/qc-helper/docs/configuration/settings.md +37 -36
  3. package/bundled/qc-helper/docs/features/channels/dws.md +2 -0
  4. package/bundled/qc-helper/docs/features/channels/overview.md +34 -3
  5. package/bundled/qc-helper/docs/features/code-review.md +3 -3
  6. package/bundled/qc-helper/docs/features/computer-use.md +2 -2
  7. package/bundled/qc-helper/docs/features/tool-use-summaries.md +1 -1
  8. package/bundled/qc-helper/docs/qwen-serve.md +1 -1
  9. package/bundled/review/SKILL.md +81 -31
  10. package/bundled/review/references/persistence.md +7 -3
  11. package/bundled/review/references/posting.md +10 -4
  12. package/chunks/{MaxSizedBox-X5FZSNAJ.js → MaxSizedBox-X42SXBJH.js} +33 -35
  13. package/chunks/{StandaloneSessionPicker-AVLI6VJP.js → StandaloneSessionPicker-2FJAOLGG.js} +51 -53
  14. package/chunks/{acpAgent-MXEAN54C.js → acpAgent-2ZMIJAFV.js} +268 -186
  15. package/chunks/{agent-PJIPDWHB.js → agent-X5WX3L2I.js} +24 -26
  16. package/chunks/{agent-headless-B4JVD7UK.js → agent-headless-IZM25LJA.js} +24 -26
  17. package/chunks/{anthropicContentGenerator-HGMBACVE.js → anthropicContentGenerator-YVTB6QX7.js} +43 -47
  18. package/chunks/{artifact-tool-5YT4QF7Y.js → artifact-tool-XSMPHZBT.js} +9 -1
  19. package/chunks/{bridge-FKZTVIS3.js → bridge-ME6QXZNA.js} +37 -39
  20. package/chunks/{channel-management-service-X4AZ6IXX.js → channel-management-service-HQ6KDS7C.js} +6 -6
  21. package/chunks/{channel-settings-store-4UFCLBBG.js → channel-settings-store-PEOI7XCG.js} +47 -44
  22. package/chunks/{channel-worker-group-27HMGD5S.js → channel-worker-group-6NA6BBZV.js} +5 -5
  23. package/chunks/{channel-worker-manager-QEGX646Z.js → channel-worker-manager-NEZ2J6RK.js} +5 -5
  24. package/chunks/{channel-worker-supervisor-UEW2WWCC.js → channel-worker-supervisor-FKU7DIHJ.js} +4 -4
  25. package/chunks/{chunk-P5GGM4KS.js → chunk-2HYKTO7V.js} +3 -3
  26. package/chunks/{chunk-XDFHY4R3.js → chunk-2LNNVAUV.js} +2 -2
  27. package/chunks/{chunk-ZFKOCECU.js → chunk-2OBKDPZZ.js} +2 -2
  28. package/chunks/{chunk-3DXFGHAJ.js → chunk-2OUD5T67.js} +1 -1
  29. package/chunks/{chunk-EOGELB3H.js → chunk-2SXSLSQE.js} +1 -1
  30. package/chunks/{chunk-4JWNNLPT.js → chunk-2YOHKHYR.js} +2 -2
  31. package/chunks/{chunk-JU4EEXC7.js → chunk-36GSQ3MM.js} +2 -2
  32. package/chunks/chunk-36LGBEM6.js +130 -0
  33. package/chunks/{chunk-H2WDGQ6D.js → chunk-3JXM2CVW.js} +1 -1
  34. package/chunks/{chunk-G34IR3D6.js → chunk-3SZC4VP4.js} +26 -109
  35. package/chunks/{chunk-HVEYF6VT.js → chunk-3WK3QDNV.js} +1 -1
  36. package/chunks/{chunk-5XBFCMWD.js → chunk-3XKLXHGK.js} +17 -9
  37. package/chunks/{chunk-SFPGAQUL.js → chunk-42IDLQWS.js} +24 -18
  38. package/chunks/{chunk-43GGFFLY.js → chunk-4K7KNVWH.js} +1 -1
  39. package/chunks/{chunk-F6FV3C5K.js → chunk-4NDLQAY2.js} +24 -272
  40. package/chunks/{chunk-VVW4ZNFY.js → chunk-4QHPPXK2.js} +15 -7
  41. package/chunks/{chunk-IJKTMLBE.js → chunk-4TT3IVGA.js} +1 -1
  42. package/chunks/{chunk-C6K43ZDE.js → chunk-4VPCTGH6.js} +5 -5
  43. package/chunks/chunk-4VQBQLIZ.js +293 -0
  44. package/chunks/{chunk-OIVXBW3W.js → chunk-62GQFYID.js} +1 -1
  45. package/chunks/{chunk-BRVWYMKV.js → chunk-6MBXY6WM.js} +1 -1
  46. package/chunks/{chunk-AGR5UROZ.js → chunk-6X7EU5TI.js} +17 -29
  47. package/chunks/{chunk-PFCQ62V4.js → chunk-6ZPDLGHN.js} +6 -6
  48. package/chunks/{chunk-RIEFGNTP.js → chunk-734C6JGI.js} +207 -43
  49. package/chunks/{chunk-FBSSIAAQ.js → chunk-73RM4POK.js} +7 -7
  50. package/chunks/{chunk-KGJGEEVR.js → chunk-7FA2II6K.js} +10 -1
  51. package/chunks/chunk-7J6OTNGO.js +424 -0
  52. package/chunks/{chunk-O2UN57NX.js → chunk-7LOELM2I.js} +19 -2
  53. package/chunks/{chunk-DIMEPKCW.js → chunk-7S226YTK.js} +1 -1
  54. package/chunks/{chunk-CPGJJJLU.js → chunk-7T52W4SW.js} +1 -1
  55. package/chunks/{chunk-5O72BNDD.js → chunk-7VMIMAVB.js} +7 -7
  56. package/chunks/{chunk-XRSOI3DL.js → chunk-A3LWD5MK.js} +1 -1
  57. package/chunks/{chunk-F7TNAPZ4.js → chunk-AIAOIFY4.js} +5 -5
  58. package/chunks/{chunk-4CDSK5AZ.js → chunk-AYFA7MZV.js} +2 -2
  59. package/chunks/{chunk-3JGZSIDA.js → chunk-B466ZSHZ.js} +1 -1
  60. package/chunks/{chunk-L6BZRIUL.js → chunk-B5PHIJGI.js} +182 -4
  61. package/chunks/{chunk-3I6UTTDX.js → chunk-BKWNKLZB.js} +19 -19
  62. package/chunks/{chunk-3FDFA4MZ.js → chunk-BOWFGCEU.js} +1 -1
  63. package/chunks/{chunk-3AFMQUTI.js → chunk-C2X7KY45.js} +1 -1
  64. package/chunks/{chunk-FY76G3G5.js → chunk-C3PEFRKD.js} +4 -4
  65. package/chunks/{chunk-FDY5RMGH.js → chunk-CFJY4DGX.js} +1 -1
  66. package/chunks/{chunk-CCBZDVUA.js → chunk-CIZCL2MW.js} +33 -20
  67. package/chunks/{chunk-LDP5OD6N.js → chunk-CLWO3B77.js} +2 -2
  68. package/chunks/chunk-DJBQCO2E.js +842 -0
  69. package/chunks/{chunk-4J657AJR.js → chunk-DJECZIJX.js} +40 -40
  70. package/chunks/{chunk-F5SZP77N.js → chunk-DJEZ55D4.js} +71 -65
  71. package/chunks/{chunk-BAJKAAOY.js → chunk-DJPASAUV.js} +3840 -1055
  72. package/chunks/{chunk-RUGNCYNO.js → chunk-DMLVSW7L.js} +532 -22
  73. package/chunks/{chunk-4FTKQNWJ.js → chunk-DYXFD5RO.js} +181 -2
  74. package/chunks/{chunk-PDMJ3KGS.js → chunk-EB6QRGHM.js} +1 -1
  75. package/chunks/{chunk-DZWPESIF.js → chunk-EFWRMA2I.js} +3 -3
  76. package/chunks/{chunk-4MQEPP3Y.js → chunk-EQSBPBZ3.js} +5 -119
  77. package/chunks/{chunk-Z7TGYN5F.js → chunk-FROAFEFB.js} +2 -2
  78. package/chunks/{chunk-MZS7GEC7.js → chunk-FTF2YIZ5.js} +1 -1
  79. package/chunks/{chunk-Z7VOMGDC.js → chunk-FTJMWDND.js} +0 -24
  80. package/chunks/{chunk-43UYNAWX.js → chunk-G6FECKTJ.js} +2 -2
  81. package/chunks/{chunk-SJ3ZUWFK.js → chunk-GBJBJ4HX.js} +4 -4
  82. package/chunks/{chunk-IOPCFOTF.js → chunk-GPGU4S2N.js} +2 -2
  83. package/chunks/{chunk-6LFJEACX.js → chunk-GVIVASYK.js} +7 -7
  84. package/chunks/{chunk-Z4X5MTRT.js → chunk-HCOBAG2L.js} +2 -4
  85. package/chunks/{chunk-A7YP63XN.js → chunk-HP5LR5HL.js} +5 -5
  86. package/chunks/{chunk-7JPW6IYH.js → chunk-HVC3PNVC.js} +1 -1
  87. package/chunks/{chunk-TRZTNIQ6.js → chunk-I6LYRJPB.js} +2 -2
  88. package/chunks/{chunk-E55H6BZ7.js → chunk-ICURCKIU.js} +1335 -119
  89. package/chunks/{chunk-4HV6HH33.js → chunk-ISKH4QX3.js} +9 -9
  90. package/chunks/{chunk-WKK5BQNP.js → chunk-JHYH6PYQ.js} +43 -420
  91. package/chunks/{chunk-6IUNAPLR.js → chunk-K5KXUXWC.js} +1 -1
  92. package/chunks/{chunk-JHS74YAB.js → chunk-KID24ZFN.js} +1 -1
  93. package/chunks/{chunk-EFUM7RVY.js → chunk-KJO2LBUK.js} +942 -16
  94. package/chunks/{chunk-B7CDU2SL.js → chunk-KYWTPLBJ.js} +17 -20
  95. package/chunks/{chunk-JSHHYW6T.js → chunk-LHBUKJG2.js} +3 -3
  96. package/chunks/{chunk-P2SU6ZTI.js → chunk-LUEHOUHM.js} +1 -1
  97. package/chunks/{chunk-66KDY3LV.js → chunk-M3QRM3DE.js} +1 -1
  98. package/chunks/{chunk-V4QXXQJ2.js → chunk-MF7HCQWZ.js} +2 -2
  99. package/chunks/{chunk-W5MJJ2V7.js → chunk-MK2GIB46.js} +1 -1
  100. package/chunks/{chunk-Y6LSMB6J.js → chunk-MO3FC2WT.js} +1 -1
  101. package/chunks/{chunk-L6YT5H34.js → chunk-MPNBVAEU.js} +4 -4
  102. package/chunks/{chunk-CSMI4FP5.js → chunk-MSBO7X2W.js} +1 -1
  103. package/chunks/{chunk-5PA6UEYA.js → chunk-MZCJWS5Y.js} +1 -1
  104. package/chunks/{chunk-BGXZBI5B.js → chunk-N4X7G4J2.js} +2 -1
  105. package/chunks/{chunk-6LFTG244.js → chunk-NMOD2FXQ.js} +15 -5
  106. package/chunks/{chunk-KUX5D6DK.js → chunk-NV55WWD6.js} +11330 -10971
  107. package/chunks/{chunk-Q26AYA62.js → chunk-OU5APVWO.js} +2 -2
  108. package/chunks/{chunk-2K6ORIHJ.js → chunk-P2G476QN.js} +11 -11
  109. package/chunks/{chunk-OIP7C4FE.js → chunk-PADPMMYM.js} +4 -4
  110. package/chunks/{chunk-SAH4BD2J.js → chunk-PQEISIKS.js} +67 -0
  111. package/chunks/{chunk-TGWAQ5RB.js → chunk-PZ66FRIC.js} +2071 -2124
  112. package/chunks/{chunk-7UYV53BC.js → chunk-Q2MSPKIJ.js} +1 -1
  113. package/chunks/{chunk-L2M46FP5.js → chunk-QYMAKPY5.js} +5 -5
  114. package/chunks/{chunk-JVPFTDBK.js → chunk-RFIDDFAL.js} +1 -1
  115. package/chunks/chunk-SEONHUS3.js +275 -0
  116. package/chunks/{chunk-ZGXYO7DY.js → chunk-SS4MRMKE.js} +122 -13
  117. package/chunks/{chunk-T32W2JHI.js → chunk-SS5SDCD3.js} +2 -2
  118. package/chunks/{chunk-3SGB2UHX.js → chunk-ST5MDGH3.js} +23 -11
  119. package/chunks/{chunk-MIIVI25Q.js → chunk-ST5V3ZOC.js} +2 -2
  120. package/chunks/{chunk-4K7NQDCG.js → chunk-T4EFG2P5.js} +18 -9
  121. package/chunks/{chunk-TWSKM647.js → chunk-T7KMERIX.js} +1 -1
  122. package/chunks/{chunk-77RG5SFQ.js → chunk-TEBDFQBZ.js} +1 -1
  123. package/chunks/{chunk-6CGL7E7G.js → chunk-TVC6HQ2U.js} +2 -2
  124. package/chunks/{chunk-BBWV7ONL.js → chunk-TZBSGJ6C.js} +6 -6
  125. package/chunks/{chunk-T3WXYEZ4.js → chunk-U54AYGEC.js} +38 -5
  126. package/chunks/{chunk-JCQD3INC.js → chunk-URE3QBBB.js} +1 -1
  127. package/chunks/{chunk-Y3QL45LS.js → chunk-V4264FEG.js} +8 -8
  128. package/chunks/{chunk-KEKZFOL6.js → chunk-V7EESTJV.js} +1 -1
  129. package/chunks/{chunk-R4PMVSR5.js → chunk-VBCPNIQD.js} +18 -20
  130. package/chunks/{chunk-RJC5EIKY.js → chunk-VGIFXISB.js} +3 -3
  131. package/chunks/{chunk-Z7FLBQPR.js → chunk-W3JH33JE.js} +7 -7
  132. package/chunks/{chunk-K2NQPH5D.js → chunk-WGY3AVGM.js} +3 -3
  133. package/chunks/{chunk-PKAYJDB3.js → chunk-WNPDGUJO.js} +21 -2
  134. package/chunks/{chunk-IZIVM7LZ.js → chunk-WXEA74YB.js} +1 -1
  135. package/chunks/{chunk-YRLW2MSX.js → chunk-XBVNNDPK.js} +11 -4
  136. package/chunks/{chunk-IK5BW3CS.js → chunk-XHF7WQ6B.js} +2 -2
  137. package/chunks/{chunk-2NYCN6F2.js → chunk-XSG6G3G6.js} +43 -26
  138. package/chunks/{chunk-HVQ3B7FF.js → chunk-Y5S7LBOZ.js} +43 -6
  139. package/chunks/{chunk-LXIBMVRN.js → chunk-YLSQLSH7.js} +13 -7
  140. package/chunks/{chunk-JSC3H3TD.js → chunk-ZEYFMJQA.js} +14 -6
  141. package/chunks/chunk-ZWJDJ6RU.js +2597 -0
  142. package/chunks/{chunk-QP4C6WCE.js → chunk-ZYMLPEZQ.js} +2 -2
  143. package/chunks/{chunk-BNMF3K5X.js → chunk-ZZMSC3RG.js} +52 -36
  144. package/chunks/{chunk-XDLEZ5HX.js → chunk-ZZUKP7HV.js} +1 -1
  145. package/chunks/{config-utils-BBOCOGZW.js → config-utils-R6M3TA34.js} +39 -39
  146. package/chunks/{contextCommand-EET67MQ2.js → contextCommand-ZCAP23J6.js} +36 -38
  147. package/chunks/{core-runtime-677KFX6Q.js → core-runtime-AXB6SK5D.js} +41 -43
  148. package/chunks/{create-sub-session-JKZAYZX7.js → create-sub-session-4QNE64MR.js} +34 -36
  149. package/chunks/{daemon-MJQUO7RA.js → daemon-3GNHB3M2.js} +495 -7
  150. package/chunks/{daemon-git-worktree-guard-6MVAAZZZ.js → daemon-git-worktree-guard-IVAJJWYK.js} +33 -35
  151. package/chunks/{daemon-status-provider-RFKZOK3S.js → daemon-status-provider-K3SJ5C2U.js} +42 -44
  152. package/chunks/{daemon-trust-policy-DRZPFB4Q.js → daemon-trust-policy-DOR3YG62.js} +41 -43
  153. package/chunks/{daemon-trust-policy-monitor-B5U6TQX5.js → daemon-trust-policy-monitor-KGGROSIV.js} +41 -43
  154. package/chunks/{deferred-core-runtime-BBVIOP24.js → deferred-core-runtime-WOYLUQQ7.js} +33 -35
  155. package/chunks/{dist-DJBNNPLN.js → dist-4WXLCBDR.js} +1 -1
  156. package/chunks/{dist-TJUDJTCB.js → dist-5VXFRTWU.js} +280 -48
  157. package/chunks/{dist-QODVOVWI.js → dist-6BPYWHVD.js} +31 -30
  158. package/chunks/{dist-ZBVOXSKF.js → dist-GFN5DCBX.js} +74 -65
  159. package/chunks/{dist-SATKXKUR.js → dist-HZNT6GQS.js} +1 -1
  160. package/chunks/{dist-ILDBUWDB.js → dist-LVZCXVPF.js} +1 -1
  161. package/chunks/{dist-7CKN54NL.js → dist-N6W6E753.js} +71 -64
  162. package/chunks/{dist-4Q7NTUNB.js → dist-NSV4NBPK.js} +31 -14
  163. package/chunks/{dist-UQUFZDIY.js → dist-SWQMYP2Q.js} +18 -16
  164. package/chunks/{earlyInputCapture-2JOMMNQ4.js → earlyInputCapture-OHBEVO4K.js} +33 -35
  165. package/chunks/{edit-BSV6YRVW.js → edit-LEQLAGPZ.js} +24 -26
  166. package/chunks/{enter-worktree-MQXFFPKM.js → enter-worktree-35QCAAFP.js} +3 -3
  167. package/chunks/{enterPlanMode-PKNF35FE.js → enterPlanMode-ONQN3WHE.js} +27 -29
  168. package/chunks/{environment-MOZMPUHR.js → environment-UANTR7A4.js} +37 -39
  169. package/chunks/{errors-DMPQVYJL.js → errors-WAK6KFBC.js} +36 -38
  170. package/chunks/{exit-worktree-L344UY7K.js → exit-worktree-XQD6D543.js} +3 -3
  171. package/chunks/{exitPlanMode-UE4FGCY4.js → exitPlanMode-UEYBG6P5.js} +24 -26
  172. package/chunks/{fast-path-773PV7PU.js → fast-path-WUL7UZ6H.js} +4 -4
  173. package/chunks/{fast-path-settings-XMFBYFUH.js → fast-path-settings-XH426LUU.js} +3 -3
  174. package/chunks/{glob-CZHOWUEA.js → glob-Y54QUWDY.js} +24 -26
  175. package/chunks/{goal-tools-YZQJXTGH.js → goal-tools-PTD3MBA7.js} +2 -1
  176. package/chunks/{handleAutoUpdate-SGXKTQM6.js → handleAutoUpdate-FP3NWNSG.js} +37 -39
  177. package/chunks/{i18n-B42HKHKH.js → i18n-INIU5X7A.js} +35 -37
  178. package/chunks/{image-gen-HAYOEQ4O.js → image-gen-J6FDGUZP.js} +4 -6
  179. package/chunks/{initializer-FB66WYR3.js → initializer-TYODV6GE.js} +41 -43
  180. package/chunks/{installationInfo-Y7AULNMX.js → installationInfo-AAPKYDSZ.js} +33 -35
  181. package/chunks/{list-2HWGSVRA.js → list-TUODDN6J.js} +44 -46
  182. package/chunks/{gemini-IP4FJAP5.js → llm-NSAVK5V3.js} +84 -82
  183. package/chunks/{geminiContentGenerator-PUNEBWJW.js → llm-content-generator-AY2QKXHE.js} +25 -25
  184. package/chunks/{loadedSettingsAdapter-7Y7IEI6T.js → loadedSettingsAdapter-KJCLZ3C4.js} +41 -43
  185. package/chunks/{loggingContentGenerator-2GGZNGLG.js → loggingContentGenerator-DSFQHXIF.js} +305 -27
  186. package/chunks/{managed-npm-update-5TEV2E3J.js → managed-npm-update-TSWENTK5.js} +33 -35
  187. package/chunks/{mcp-QGG5NMJJ.js → mcp-MWSAPFOL.js} +41 -43
  188. package/chunks/{monitor-FI7PY36Z.js → monitor-RW4GWJHB.js} +24 -26
  189. package/chunks/{nonInteractiveCli-4LO2TL72.js → nonInteractiveCli-JXKL343Q.js} +77 -78
  190. package/chunks/{notebook-edit-TPGMGBST.js → notebook-edit-CQNYS5OR.js} +24 -26
  191. package/chunks/{open-with-auth-4UI3KHUR.js → open-with-auth-YN3QZHVM.js} +1 -1
  192. package/chunks/{openaiContentGenerator-SUCYANUZ.js → openaiContentGenerator-J6QIF7EX.js} +13 -15
  193. package/chunks/{pidfile-JMF2CLMY.js → pidfile-QOIQZFT2.js} +33 -35
  194. package/chunks/process-registry-OAEG6WGC.js +662 -0
  195. package/chunks/{processUtils-IQZBYWSB.js → processUtils-GPHNANKZ.js} +2 -2
  196. package/chunks/{prompt-terminal-ledger-DCZO6S7C.js → prompt-terminal-ledger-FOMFTYOM.js} +34 -36
  197. package/chunks/{qwenContentGenerator-J4TXFGJT.js → qwenContentGenerator-WWDXPYQI.js} +28 -30
  198. package/chunks/{qwenOAuth2-RF33DNZW.js → qwenOAuth2-OF5WRBQT.js} +4 -6
  199. package/chunks/{read-file-QE2B5FTX.js → read-file-FQUQHC6N.js} +5 -5
  200. package/chunks/{record-artifact-RZGZBENU.js → record-artifact-VW23GS4F.js} +2 -2
  201. package/chunks/{report-findings-Q3SYKKW5.js → report-findings-AO5VYFLR.js} +7 -3
  202. package/chunks/{resumeHistoryUtils-CZ4JRDVW.js → resumeHistoryUtils-NSGF3UCB.js} +37 -39
  203. package/chunks/{ripGrep-R6B6HWPX.js → ripGrep-4CAT6SKV.js} +7 -7
  204. package/chunks/{run-qwen-serve-TPHZMSXJ.js → run-qwen-serve-5X6IDZER.js} +271 -86
  205. package/chunks/{runtime-TTIGSBM4.js → runtime-HK27GMPF.js} +46 -48
  206. package/chunks/{scheduled-tasks-QB4ZVUQS.js → scheduled-tasks-MN2ZZ5P6.js} +39 -41
  207. package/chunks/{scheduler-YRUG22M7.js → scheduler-WD4MHMO5.js} +35 -37
  208. package/chunks/{sdk-exporters-http-KCJ4ZFG7.js → sdk-exporters-http-TTU2CHBU.js} +1 -1
  209. package/chunks/{sdk-impl-HLSEDAEP.js → sdk-impl-UUMVYMAL.js} +10 -4
  210. package/chunks/{send-message-Y5I6NYAM.js → send-message-AJ4OCUBV.js} +18 -2
  211. package/chunks/{serve-MXXCDAQN.js → serve-2XCHPPGG.js} +41 -43
  212. package/chunks/{server-DFUSSSHI.js → server-GO2N5DH7.js} +4148 -3348
  213. package/chunks/{session-3TEHNENZ.js → session-IFNHTUBT.js} +81 -82
  214. package/chunks/session-pr-refresh-I3UBWMVP.js +364 -0
  215. package/chunks/{settings-VOZYKLTT.js → settings-L6N54CU6.js} +40 -42
  216. package/chunks/{shell-6RTKZVMI.js → shell-4Y5LLW6N.js} +24 -26
  217. package/chunks/{skill-FEOKFX26.js → skill-YOWTRAKQ.js} +58 -14
  218. package/chunks/{skill-settings-VA4XVYVL.js → skill-settings-ZL4JY5UE.js} +41 -43
  219. package/chunks/{spawnChannel-F6WVP723.js → spawnChannel-ZST6XJVJ.js} +35 -37
  220. package/chunks/{standalone-update-RGILUQVK.js → standalone-update-THVU3OKY.js} +36 -38
  221. package/chunks/{startInteractiveUI-WHJPFOGH.js → startInteractiveUI-XDFSHBZD.js} +401 -334
  222. package/chunks/{stdioHelpers-7A2EE64Z.js → stdioHelpers-AY6XCDY2.js} +3 -1
  223. package/chunks/{task-create-TMSV7RD5.js → task-create-QN4LYRSE.js} +3 -3
  224. package/chunks/{task-list-W55RBFRX.js → task-list-JPLGK45U.js} +2 -2
  225. package/chunks/{task-update-N536I4GQ.js → task-update-IWEOJFV2.js} +3 -3
  226. package/chunks/{team-create-QYSWCYCL.js → team-create-OOPXCDBA.js} +24 -26
  227. package/chunks/{team-delete-FJRFX33M.js → team-delete-RZVVSGCY.js} +2 -2
  228. package/chunks/{team-plan-approval-P7DAD644.js → team-plan-approval-DSX5EWAT.js} +24 -26
  229. package/chunks/{terminal-image-renderer-SMQE46UJ.js → terminal-image-renderer-KS25G33E.js} +33 -35
  230. package/chunks/{theme-manager-RFO5WWFF.js → theme-manager-YMZNG45F.js} +33 -35
  231. package/chunks/{tool-search-F2EMIAPV.js → tool-search-J5Q6U7DN.js} +9 -9
  232. package/chunks/{total-session-admission-HTVTP4BS.js → total-session-admission-PVN64JVV.js} +37 -39
  233. package/chunks/{trustedFolders-7OCNMUQE.js → trustedFolders-FATSC4YI.js} +35 -37
  234. package/chunks/{types-WYCFCEHR.js → types-HKLPXZB3.js} +1 -3
  235. package/chunks/{update-relaunch-4GF3OXMB.js → update-relaunch-SIKHLHVR.js} +6 -6
  236. package/chunks/{updateCheck-7QBDXZRT.js → updateCheck-D3YG2WCD.js} +36 -38
  237. package/chunks/{useAutoAcceptIndicator-UI4SNL2O.js → useAutoAcceptIndicator-ILINOSAS.js} +43 -45
  238. package/chunks/{validateNonInterActiveAuth-BPPA563H.js → validateNonInterActiveAuth-JUDQP6V4.js} +74 -75
  239. package/chunks/{version-ANP4TS6O.js → version-C63GDDWN.js} +1 -1
  240. package/chunks/{web-fetch-QJADSAH3.js → web-fetch-FOQZMNSC.js} +8 -10
  241. package/chunks/{web-search-7TTQKEKM.js → web-search-PUJTBFUC.js} +5 -7
  242. package/chunks/{web-shell-static-A6QMUNNV.js → web-shell-static-HNB4FDOE.js} +2 -2
  243. package/chunks/{workflow-5XN6XSOT.js → workflow-Y5IPINVH.js} +47 -58
  244. package/chunks/{workspace-providers-status-PDFZWL5Q.js → workspace-providers-status-IJ4VHFMB.js} +45 -47
  245. package/chunks/{workspace-registration-store-XKVW2YVH.js → workspace-registration-store-SMJWI2AI.js} +1 -1
  246. package/chunks/{workspace-registry-23R7XRB5.js → workspace-registry-BTGZIMPK.js} +37 -39
  247. package/chunks/{workspace-service-MUYO2QIC.js → workspace-service-SIN67ITC.js} +46 -51
  248. package/chunks/{workspace-skills-status-IKECTOOQ.js → workspace-skills-status-F3RKCUIX.js} +44 -46
  249. package/chunks/{workspace-trust-reconciler-KLGOB53D.js → workspace-trust-reconciler-PLIDLJZX.js} +45 -47
  250. package/chunks/{write-file-GGRBB5TZ.js → write-file-PAIGB33C.js} +26 -28
  251. package/chunks/{zoom-image-6ASG6J4C.js → zoom-image-LYQD7BQA.js} +5 -5
  252. package/cli.js +14 -14
  253. package/package.json +3 -3
  254. package/web-shell/assets/{abnfDiagram-VCTEODGH-uS-vtfs3.js → abnfDiagram-VCTEODGH-TRCMSA_6.js} +1 -1
  255. package/web-shell/assets/{arc-BSTnk5pu.js → arc-D9Uls5b3.js} +1 -1
  256. package/web-shell/assets/{architectureDiagram-5GKGNRK7-DCMyiqzy.js → architectureDiagram-5GKGNRK7-Bwb8jPXg.js} +1 -1
  257. package/web-shell/assets/{blockDiagram-NRAW4CY4-C7_gt0r1.js → blockDiagram-NRAW4CY4-DHj71TSX.js} +1 -1
  258. package/web-shell/assets/{c4Diagram-UCG6FXSJ-BeQg2L8B.js → c4Diagram-UCG6FXSJ-uKBBdbyr.js} +1 -1
  259. package/web-shell/assets/channel-CXjVLaBa.js +1 -0
  260. package/web-shell/assets/{chunk-2Q5K7J3B-DnV9bKBe.js → chunk-2Q5K7J3B-BZd0Phrl.js} +1 -1
  261. package/web-shell/assets/{chunk-5VM5RSS4-rT1GAcT7.js → chunk-5VM5RSS4-7KNeNBqN.js} +1 -1
  262. package/web-shell/assets/{chunk-F27PBJKO-BcgSxqGA.js → chunk-F27PBJKO-BeboS7Fi.js} +1 -1
  263. package/web-shell/assets/{chunk-G27WJ6UU-Bw1ZhyZq.js → chunk-G27WJ6UU-RV3JONoj.js} +1 -1
  264. package/web-shell/assets/{chunk-JWPE2WC7-D4iDw-96.js → chunk-JWPE2WC7-Yw9FCFsP.js} +1 -1
  265. package/web-shell/assets/{chunk-LCL6LL3I-D3MB3GTZ.js → chunk-LCL6LL3I-GIMnydDe.js} +1 -1
  266. package/web-shell/assets/{chunk-POPQ4Y6H-Cep2ndrS.js → chunk-POPQ4Y6H-Cfrux7bL.js} +1 -1
  267. package/web-shell/assets/{chunk-SVP7TREG-BuahMHJc.js → chunk-SVP7TREG-BlvIN0CO.js} +1 -1
  268. package/web-shell/assets/{chunk-XXDRQBXY-BdujIvJY.js → chunk-XXDRQBXY-DMs7Rr4t.js} +1 -1
  269. package/web-shell/assets/classDiagram-DTDB5LWJ-DANEijO3.js +1 -0
  270. package/web-shell/assets/classDiagram-v2-JRS7N3AN-DANEijO3.js +1 -0
  271. package/web-shell/assets/{cose-bilkent-JH36ORCC-CGLLUbF8.js → cose-bilkent-JH36ORCC-DNGqTNwI.js} +1 -1
  272. package/web-shell/assets/{cynefin-OW5HDTMX-D6kDsRSh.js → cynefin-OW5HDTMX-CojMpaoH.js} +1 -1
  273. package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-CCy78qZx.js → cynefinDiagram-5FMLGOSQ-DF07YXGo.js} +1 -1
  274. package/web-shell/assets/{dagre-3AP2YEHR-D5gJuJsf.js → dagre-3AP2YEHR-17-4WtCH.js} +1 -1
  275. package/web-shell/assets/{diagram-S7CK7UJ4-ZwEZ5W__.js → diagram-S7CK7UJ4-G3Wuyz9m.js} +1 -1
  276. package/web-shell/assets/{diagram-UQ7AKVKN-B036APjv.js → diagram-UQ7AKVKN-nyWIKZ8P.js} +1 -1
  277. package/web-shell/assets/{diagram-VSXAHHWV-BfDJ57Fq.js → diagram-VSXAHHWV-tKHhmYSC.js} +1 -1
  278. package/web-shell/assets/{diagram-VX7I27RA-Wha0p5rT.js → diagram-VX7I27RA-CpDf1hYk.js} +1 -1
  279. package/web-shell/assets/{diagram-Z3DM3KII-L20bz2K1.js → diagram-Z3DM3KII-Cah2IFXG.js} +1 -1
  280. package/web-shell/assets/{ebnfDiagram-PWID7BFC-D1ZM0Cp7.js → ebnfDiagram-PWID7BFC-DNaCkgxy.js} +1 -1
  281. package/web-shell/assets/{erDiagram-SSCWMZ5O-CMtA19v8.js → erDiagram-SSCWMZ5O-CAdRgcf1.js} +1 -1
  282. package/web-shell/assets/{flowDiagram-A5DVABFB-D96m326S.js → flowDiagram-A5DVABFB-CMUJAShL.js} +1 -1
  283. package/web-shell/assets/{ganttDiagram-EL5Y4UJY-BuHiYG2o.js → ganttDiagram-EL5Y4UJY-o-_MUNey.js} +1 -1
  284. package/web-shell/assets/{gitGraphDiagram-WWUBYQGX-Ck3NmkSw.js → gitGraphDiagram-WWUBYQGX-_aG-2Z7O.js} +1 -1
  285. package/web-shell/assets/{index-CBGz4Qjl.js → index-BK_NKxiJ.js} +1 -1
  286. package/web-shell/assets/index-Ci-z4zWY.js +1913 -0
  287. package/web-shell/assets/index-LDlXZRHA.css +36 -0
  288. package/web-shell/assets/{infoDiagram-RXCK75RN-B6DAOyXe.js → infoDiagram-RXCK75RN-qJPeZbGP.js} +1 -1
  289. package/web-shell/assets/{ishikawaDiagram-5VMMS53U-Bpg-joFo.js → ishikawaDiagram-5VMMS53U-7Om4vNo1.js} +1 -1
  290. package/web-shell/assets/{journeyDiagram-EYS64GPL-BclrHzGa.js → journeyDiagram-EYS64GPL-BNtXqmBW.js} +1 -1
  291. package/web-shell/assets/{kanban-definition-3QL26DDD-5gJzNTYG.js → kanban-definition-3QL26DDD-COgFec8P.js} +1 -1
  292. package/web-shell/assets/{layout-CEz_1L8z.js → layout-B9n81PC9.js} +1 -1
  293. package/web-shell/assets/{linear-CBjTq9Hc.js → linear-Bb6nXZQq.js} +1 -1
  294. package/web-shell/assets/{mermaid.core-Dzhbxx_I.js → mermaid.core-Cgrm3JVT.js} +6 -6
  295. package/web-shell/assets/{mindmap-definition-FBJOCRG2-DQdVqlBF.js → mindmap-definition-FBJOCRG2-TKwLTjnG.js} +1 -1
  296. package/web-shell/assets/{pegDiagram-XKGWAZYB-D1JZlYXL.js → pegDiagram-XKGWAZYB-BJPuvlpi.js} +1 -1
  297. package/web-shell/assets/{pieDiagram-E7YTZNPT-BmkpYL0w.js → pieDiagram-E7YTZNPT-D01VkNsW.js} +1 -1
  298. package/web-shell/assets/{quadrantDiagram-AXDQQJYC-DRvD6co5.js → quadrantDiagram-AXDQQJYC-C4hHsiv-.js} +1 -1
  299. package/web-shell/assets/{railroadDiagram-O6MQD6OU-CEdjDuoo.js → railroadDiagram-O6MQD6OU-CuEO4xK2.js} +1 -1
  300. package/web-shell/assets/{requirementDiagram-EFPCY7ZU-BCHG-ie8.js → requirementDiagram-EFPCY7ZU-D5J_vIo5.js} +1 -1
  301. package/web-shell/assets/{sankeyDiagram-P5KCCOFB-C9cZMnye.js → sankeyDiagram-P5KCCOFB-DQKY223V.js} +1 -1
  302. package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-DYHRV4zL.js → sequenceDiagram-WJ2MYXX4-D27YV_cm.js} +1 -1
  303. package/web-shell/assets/{sizeCapture-X5ZJPWSS-DlK21aye.js → sizeCapture-X5ZJPWSS-TJg8UcwV.js} +1 -1
  304. package/web-shell/assets/{stateDiagram-HBIQ2CUA-BrmZssvk.js → stateDiagram-HBIQ2CUA-CmnPzUIx.js} +1 -1
  305. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-DNKPyrDc.js +1 -0
  306. package/web-shell/assets/{swimlanes-XN3QIQJK-D9xfcayR.js → swimlanes-XN3QIQJK-ByeP3_Nu.js} +1 -1
  307. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-ZL1HPC6w.js +8 -0
  308. package/web-shell/assets/{timeline-definition-24CTP7MA-D4gdDL_d.js → timeline-definition-24CTP7MA-BsFA5juR.js} +1 -1
  309. package/web-shell/assets/{vennDiagram-4TSXK5OY-DdhIExjI.js → vennDiagram-4TSXK5OY-DREP2ECo.js} +1 -1
  310. package/web-shell/assets/{wardleyDiagram-VM6X3IG4-C9RS_Zof.js → wardleyDiagram-VM6X3IG4-iyd9lKi2.js} +1 -1
  311. package/web-shell/assets/{xychartDiagram-S5SC5T6Z-orRgmxWk.js → xychartDiagram-S5SC5T6Z-CVr1_j9q.js} +1 -1
  312. package/web-shell/index.html +3 -3
  313. package/chunks/chunk-7DJCPZE3.js +0 -945
  314. package/chunks/chunk-J2OSJFP3.js +0 -202
  315. package/chunks/chunk-K2OJUPOE.js +0 -78
  316. package/chunks/chunk-P3QQPMQA.js +0 -19
  317. package/chunks/process-registry-PMJOA5CO.js +0 -172
  318. package/web-shell/assets/channel-CENAhErJ.js +0 -1
  319. package/web-shell/assets/classDiagram-DTDB5LWJ-CM6FArGH.js +0 -1
  320. package/web-shell/assets/classDiagram-v2-JRS7N3AN-CM6FArGH.js +0 -1
  321. package/web-shell/assets/index-8hXIpvo4.js +0 -1865
  322. package/web-shell/assets/index-DclEv91i.css +0 -5
  323. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-B2Q7XDaE.js +0 -1
  324. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-DpZPOSbX.js +0 -8
@@ -877,6 +877,168 @@ function redactUrlCredentials(source) {
877
877
  }
878
878
  __name(redactUrlCredentials, "redactUrlCredentials");
879
879
 
880
+ // packages/core/src/telemetry/context-usage.ts
881
+ init_esbuild_shims();
882
+ var CONTEXT_USAGE_ATTRIBUTE = "qwen-code.context.usage";
883
+ var MAX_CONTEXT_USAGE_ATTRIBUTE_LENGTH = 1024;
884
+ var MAX_SERIALIZED_NON_NEGATIVE_NUMBER = 10000000000000002e-22;
885
+ var contextUsageAttributeLengthLimit = MAX_CONTEXT_USAGE_ATTRIBUTE_LENGTH;
886
+ var FIXED_CATEGORY_KEYS = [
887
+ "system_prompt_tokens",
888
+ "builtin_tools_tokens",
889
+ "mcp_tools_tokens",
890
+ "memory_files_tokens",
891
+ "skills_tokens"
892
+ ];
893
+ var CATEGORY_KEYS = [...FIXED_CATEGORY_KEYS, "messages_tokens"];
894
+ function configureContextUsageAttributeLengthLimit(otelSpanAttributeValueLengthLimit) {
895
+ contextUsageAttributeLengthLimit = otelSpanAttributeValueLengthLimit !== void 0 && otelSpanAttributeValueLengthLimit > 0 ? Math.min(
896
+ MAX_CONTEXT_USAGE_ATTRIBUTE_LENGTH,
897
+ otelSpanAttributeValueLengthLimit
898
+ ) : MAX_CONTEXT_USAGE_ATTRIBUTE_LENGTH;
899
+ }
900
+ __name(configureContextUsageAttributeLengthLimit, "configureContextUsageAttributeLengthLimit");
901
+ function isRecord(value) {
902
+ return typeof value === "object" && value !== null;
903
+ }
904
+ __name(isRecord, "isRecord");
905
+ function isNonNegativeFinite(value) {
906
+ return typeof value === "number" && Number.isFinite(value) && value >= 0;
907
+ }
908
+ __name(isNonNegativeFinite, "isNonNegativeFinite");
909
+ function cloneContextUsage(value) {
910
+ try {
911
+ if (!isRecord(value)) return void 0;
912
+ const breakdown = value["breakdown"];
913
+ if (!isRecord(breakdown)) return void 0;
914
+ const windowSizeTokens = value["window_size_tokens"];
915
+ const compactionReserveTokens = value["compaction_reserve_tokens"];
916
+ const availableBeforeCompactionTokens = value["available_before_compaction_tokens"];
917
+ const categoryTokens = Object.fromEntries(
918
+ CATEGORY_KEYS.map((key) => [key, breakdown[key]])
919
+ );
920
+ const valid = value["version"] === 1 && value["estimated"] === true && Number.isSafeInteger(windowSizeTokens) && windowSizeTokens > 0 && isNonNegativeFinite(compactionReserveTokens) && (availableBeforeCompactionTokens === void 0 || isNonNegativeFinite(availableBeforeCompactionTokens)) && CATEGORY_KEYS.every(
921
+ (key) => Number.isSafeInteger(categoryTokens[key]) && categoryTokens[key] >= 0
922
+ );
923
+ if (!valid) return void 0;
924
+ return {
925
+ version: 1,
926
+ window_size_tokens: windowSizeTokens,
927
+ breakdown: {
928
+ system_prompt_tokens: categoryTokens.system_prompt_tokens,
929
+ builtin_tools_tokens: categoryTokens.builtin_tools_tokens,
930
+ mcp_tools_tokens: categoryTokens.mcp_tools_tokens,
931
+ memory_files_tokens: categoryTokens.memory_files_tokens,
932
+ skills_tokens: categoryTokens.skills_tokens,
933
+ messages_tokens: categoryTokens.messages_tokens
934
+ },
935
+ compaction_reserve_tokens: compactionReserveTokens,
936
+ ...availableBeforeCompactionTokens === void 0 ? {} : {
937
+ available_before_compaction_tokens: availableBeforeCompactionTokens
938
+ },
939
+ estimated: true
940
+ };
941
+ } catch {
942
+ return void 0;
943
+ }
944
+ }
945
+ __name(cloneContextUsage, "cloneContextUsage");
946
+ function isValidContextUsage(value) {
947
+ return cloneContextUsage(value) !== void 0;
948
+ }
949
+ __name(isValidContextUsage, "isValidContextUsage");
950
+ function normalizeContextUsage(snapshot, providerTotal) {
951
+ const validSnapshot = cloneContextUsage(snapshot);
952
+ if (!validSnapshot || !Number.isSafeInteger(providerTotal) || providerTotal < 0) {
953
+ return snapshot;
954
+ }
955
+ const providerTotalBigInt = BigInt(providerTotal);
956
+ const fixedSum = FIXED_CATEGORY_KEYS.reduce(
957
+ (sum, key) => sum + BigInt(validSnapshot.breakdown[key]),
958
+ 0n
959
+ );
960
+ let fixed;
961
+ let messagesTokens;
962
+ if (fixedSum > providerTotalBigInt) {
963
+ const allocations = FIXED_CATEGORY_KEYS.map((key, index) => {
964
+ const numerator = BigInt(validSnapshot.breakdown[key]) * providerTotalBigInt;
965
+ return {
966
+ key,
967
+ index,
968
+ floor: numerator / fixedSum,
969
+ remainder: numerator % fixedSum
970
+ };
971
+ });
972
+ let remaining = providerTotalBigInt - allocations.reduce((sum, item) => sum + item.floor, 0n);
973
+ const rankedAllocations = [...allocations].sort((left, right) => {
974
+ if (left.remainder === right.remainder) {
975
+ return left.index - right.index;
976
+ }
977
+ return left.remainder > right.remainder ? -1 : 1;
978
+ });
979
+ for (const allocation of rankedAllocations) {
980
+ if (remaining === 0n) break;
981
+ allocation.floor += 1n;
982
+ remaining -= 1n;
983
+ }
984
+ fixed = Object.fromEntries(
985
+ allocations.map((allocation) => [
986
+ allocation.key,
987
+ Number(allocation.floor)
988
+ ])
989
+ );
990
+ messagesTokens = 0;
991
+ } else {
992
+ fixed = Object.fromEntries(
993
+ FIXED_CATEGORY_KEYS.map((key) => [key, validSnapshot.breakdown[key]])
994
+ );
995
+ messagesTokens = Number(providerTotalBigInt - fixedSum);
996
+ }
997
+ return {
998
+ ...validSnapshot,
999
+ breakdown: {
1000
+ ...fixed,
1001
+ messages_tokens: messagesTokens
1002
+ },
1003
+ available_before_compaction_tokens: Math.max(
1004
+ 0,
1005
+ validSnapshot.window_size_tokens - validSnapshot.compaction_reserve_tokens - providerTotal
1006
+ )
1007
+ };
1008
+ }
1009
+ __name(normalizeContextUsage, "normalizeContextUsage");
1010
+ function serializeContextUsage(contextUsage) {
1011
+ try {
1012
+ const canonical = cloneContextUsage(contextUsage);
1013
+ if (!canonical) return void 0;
1014
+ return serializeCanonicalContextUsage(canonical);
1015
+ } catch {
1016
+ return void 0;
1017
+ }
1018
+ }
1019
+ __name(serializeContextUsage, "serializeContextUsage");
1020
+ function serializeContextUsageForSpanStart(contextUsage) {
1021
+ const canonical = cloneContextUsage(contextUsage);
1022
+ if (!canonical) return void 0;
1023
+ const serialized = serializeCanonicalContextUsage(canonical);
1024
+ if (!serialized) return void 0;
1025
+ const maximumFinalizedSize = serializeCanonicalContextUsage({
1026
+ ...canonical,
1027
+ breakdown: {
1028
+ ...canonical.breakdown,
1029
+ messages_tokens: Number.MAX_SAFE_INTEGER
1030
+ },
1031
+ available_before_compaction_tokens: MAX_SERIALIZED_NON_NEGATIVE_NUMBER
1032
+ });
1033
+ return maximumFinalizedSize ? serialized : void 0;
1034
+ }
1035
+ __name(serializeContextUsageForSpanStart, "serializeContextUsageForSpanStart");
1036
+ function serializeCanonicalContextUsage(contextUsage) {
1037
+ const serialized = JSON.stringify(contextUsage);
1038
+ return serialized.length <= contextUsageAttributeLengthLimit ? serialized : void 0;
1039
+ }
1040
+ __name(serializeCanonicalContextUsage, "serializeCanonicalContextUsage");
1041
+
880
1042
  // packages/core/src/telemetry/session-tracing.ts
881
1043
  init_esbuild_shims();
882
1044
  init_esm();
@@ -1054,7 +1216,7 @@ function initializeTelemetry(config) {
1054
1216
  telemetryInitPromise ??= (async () => {
1055
1217
  const debugLogger3 = createDebugLogger("OTEL");
1056
1218
  try {
1057
- const { startTelemetrySdk } = await import("./sdk-impl-HLSEDAEP.js");
1219
+ const { startTelemetrySdk } = await import("./sdk-impl-UUMVYMAL.js");
1058
1220
  if (telemetryInitialized) return;
1059
1221
  const started = await startTelemetrySdk(config);
1060
1222
  if (!started) return;
@@ -1560,6 +1722,8 @@ function startLLMRequestSpanWithContext(model, promptId, options) {
1560
1722
  const ctx = resolveGenAiParentContext(parentCtx);
1561
1723
  const sessionId = resolveSessionId(parentCtx, options?.sessionId, ctx);
1562
1724
  const userId = resolveGenAiUserId(parentCtx, promptId, options?.userId);
1725
+ const contextUsage = cloneContextUsage(options?.contextUsage);
1726
+ const serializedContextUsage = serializeContextUsageForSpanStart(contextUsage);
1563
1727
  const attributes = {
1564
1728
  ...sessionId ? { "session.id": sessionId } : {},
1565
1729
  ...sessionId ? { "gen_ai.conversation.id": sessionId } : {},
@@ -1570,7 +1734,8 @@ function startLLMRequestSpanWithContext(model, promptId, options) {
1570
1734
  "gen_ai.request.model": model,
1571
1735
  ...options?.operationName ? { "gen_ai.operation.name": options.operationName } : {},
1572
1736
  ...options?.providerName ? { "gen_ai.provider.name": options.providerName } : {},
1573
- ...options?.outputType ? { "gen_ai.output.type": options.outputType } : {}
1737
+ ...options?.outputType ? { "gen_ai.output.type": options.outputType } : {},
1738
+ ...serializedContextUsage ? { [CONTEXT_USAGE_ATTRIBUTE]: serializedContextUsage } : {}
1574
1739
  };
1575
1740
  const sessionContext = setSessionIdOnContext(ctx, sessionId);
1576
1741
  const span = getTracer().startSpan(
@@ -1583,6 +1748,7 @@ function startLLMRequestSpanWithContext(model, promptId, options) {
1583
1748
  span,
1584
1749
  startTime: Date.now(),
1585
1750
  ...interactionParentCtx ? { interactionOwner: interactionParentCtx } : {},
1751
+ ...serializedContextUsage && contextUsage ? { contextUsage } : {},
1586
1752
  attributes,
1587
1753
  type: "llm_request"
1588
1754
  };
@@ -1609,8 +1775,18 @@ function endLLMRequestSpan(span, metadata) {
1609
1775
  const duration = metadata?.durationMs ?? Date.now() - spanCtx.startTime;
1610
1776
  const endAttributes = { duration_ms: duration };
1611
1777
  if (metadata) {
1612
- if (metadata.inputTokens !== void 0 && Number.isSafeInteger(metadata.inputTokens) && metadata.inputTokens >= 0) {
1613
- endAttributes["gen_ai.usage.input_tokens"] = metadata.inputTokens;
1778
+ const inputTokens = metadata.inputTokens;
1779
+ const hasValidInputTokens = inputTokens !== void 0 && Number.isSafeInteger(inputTokens) && inputTokens >= 0;
1780
+ if (hasValidInputTokens) {
1781
+ endAttributes["gen_ai.usage.input_tokens"] = inputTokens;
1782
+ if (spanCtx.contextUsage) {
1783
+ const normalized = serializeContextUsage(
1784
+ normalizeContextUsage(spanCtx.contextUsage, inputTokens)
1785
+ );
1786
+ if (normalized) {
1787
+ endAttributes[CONTEXT_USAGE_ATTRIBUTE] = normalized;
1788
+ }
1789
+ }
1614
1790
  }
1615
1791
  if (metadata.outputTokens !== void 0 && Number.isSafeInteger(metadata.outputTokens) && metadata.outputTokens >= 0) {
1616
1792
  endAttributes["gen_ai.usage.output_tokens"] = metadata.outputTokens;
@@ -2382,6 +2558,8 @@ export {
2382
2558
  isBinary,
2383
2559
  normalizeContent,
2384
2560
  redactUrlCredentials,
2561
+ configureContextUsageAttributeLengthLimit,
2562
+ isValidContextUsage,
2385
2563
  isInNativeSubagentSpan,
2386
2564
  truncateSpanError,
2387
2565
  startInteractionSpan,
@@ -5748,39 +5748,39 @@ var DEFAULT_CONTEXT_FILENAME = "QWEN.md";
5748
5748
  var AGENT_CONTEXT_FILENAME = "AGENTS.md";
5749
5749
  var LOCAL_CONTEXT_FILENAME = "QWEN.local.md";
5750
5750
  var MEMORY_SECTION_HEADER = "## Qwen Added Memories";
5751
- var currentGeminiMdFilename = [
5751
+ var currentMemoryFilename = [
5752
5752
  DEFAULT_CONTEXT_FILENAME,
5753
5753
  AGENT_CONTEXT_FILENAME
5754
5754
  ];
5755
- function setGeminiMdFilename(newFilename) {
5755
+ function setMemoryFilename(newFilename) {
5756
5756
  if (Array.isArray(newFilename)) {
5757
5757
  if (newFilename.length > 0) {
5758
- currentGeminiMdFilename = newFilename.map((name) => name.trim());
5758
+ currentMemoryFilename = newFilename.map((name) => name.trim());
5759
5759
  }
5760
5760
  } else if (newFilename && newFilename.trim() !== "") {
5761
- currentGeminiMdFilename = newFilename.trim();
5761
+ currentMemoryFilename = newFilename.trim();
5762
5762
  }
5763
5763
  }
5764
- __name(setGeminiMdFilename, "setGeminiMdFilename");
5765
- function getCurrentGeminiMdFilename() {
5766
- if (Array.isArray(currentGeminiMdFilename)) {
5767
- for (const entry of currentGeminiMdFilename) {
5764
+ __name(setMemoryFilename, "setMemoryFilename");
5765
+ function getCurrentMemoryFilename() {
5766
+ if (Array.isArray(currentMemoryFilename)) {
5767
+ for (const entry of currentMemoryFilename) {
5768
5768
  if (typeof entry === "string" && entry.trim() !== "") {
5769
5769
  return entry.trim();
5770
5770
  }
5771
5771
  }
5772
5772
  return DEFAULT_CONTEXT_FILENAME;
5773
5773
  }
5774
- return currentGeminiMdFilename;
5774
+ return currentMemoryFilename;
5775
5775
  }
5776
- __name(getCurrentGeminiMdFilename, "getCurrentGeminiMdFilename");
5777
- function getAllGeminiMdFilenames() {
5778
- if (Array.isArray(currentGeminiMdFilename)) {
5779
- return currentGeminiMdFilename;
5776
+ __name(getCurrentMemoryFilename, "getCurrentMemoryFilename");
5777
+ function getAllMemoryFilenames() {
5778
+ if (Array.isArray(currentMemoryFilename)) {
5779
+ return currentMemoryFilename;
5780
5780
  }
5781
- return [currentGeminiMdFilename];
5781
+ return [currentMemoryFilename];
5782
5782
  }
5783
- __name(getAllGeminiMdFilenames, "getAllGeminiMdFilenames");
5783
+ __name(getAllMemoryFilenames, "getAllMemoryFilenames");
5784
5784
 
5785
5785
  // packages/core/src/utils/pdf.ts
5786
5786
  init_esbuild_shims();
@@ -7486,7 +7486,7 @@ var FileExclusions = class {
7486
7486
  patterns.push(...DEFAULT_FILE_EXCLUDES);
7487
7487
  }
7488
7488
  if (includeDynamicPatterns) {
7489
- for (const filename of getAllGeminiMdFilenames()) {
7489
+ for (const filename of getAllMemoryFilenames()) {
7490
7490
  patterns.push(`**/${filename}`);
7491
7491
  }
7492
7492
  }
@@ -9457,9 +9457,9 @@ export {
9457
9457
  loadIconvLite,
9458
9458
  LOCAL_CONTEXT_FILENAME,
9459
9459
  MEMORY_SECTION_HEADER,
9460
- setGeminiMdFilename,
9461
- getCurrentGeminiMdFilename,
9462
- getAllGeminiMdFilenames,
9460
+ setMemoryFilename,
9461
+ getCurrentMemoryFilename,
9462
+ getAllMemoryFilenames,
9463
9463
  FileExclusions,
9464
9464
  getCachedEncodingForBuffer,
9465
9465
  getSystemEncoding,
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  createTask
5
- } from "./chunk-IZIVM7LZ.js";
5
+ } from "./chunk-WXEA74YB.js";
6
6
  import {
7
7
  getPlanRequiredTeammatePreApprovalMessage,
8
8
  isPlanRequiredTeammateAwaitingApproval
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  isPrivateHost
5
- } from "./chunk-3JGZSIDA.js";
5
+ } from "./chunk-B466ZSHZ.js";
6
6
  import {
7
7
  loadUndici
8
8
  } from "./chunk-PPKZ7JOE.js";
@@ -8,16 +8,16 @@ import {
8
8
  initializeI18n,
9
9
  resolveLanguageSetting,
10
10
  t
11
- } from "./chunk-LDP5OD6N.js";
11
+ } from "./chunk-CLWO3B77.js";
12
12
  import {
13
13
  IdeClient
14
- } from "./chunk-TGWAQ5RB.js";
14
+ } from "./chunk-PZ66FRIC.js";
15
15
  import {
16
16
  AuthEvent,
17
17
  IdeConnectionEvent,
18
18
  logAuth,
19
19
  logIdeConnection
20
- } from "./chunk-L2M46FP5.js";
20
+ } from "./chunk-QYMAKPY5.js";
21
21
  import {
22
22
  getErrorMessage
23
23
  } from "./chunk-UHQFIS7N.js";
@@ -87,7 +87,7 @@ async function initializeApp(config, settings, options = {}) {
87
87
  authError,
88
88
  themeError,
89
89
  shouldOpenAuthDialog,
90
- geminiMdFileCount: config.getGeminiMdFileCount()
90
+ memoryFileCount: config.getMemoryFileCount()
91
91
  };
92
92
  }
93
93
  __name(initializeApp, "initializeApp");
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  wrapForMultiplexer
5
- } from "./chunk-H2WDGQ6D.js";
5
+ } from "./chunk-3JXM2CVW.js";
6
6
  import {
7
7
  createDebugLogger
8
8
  } from "./chunk-UHQFIS7N.js";
@@ -5,14 +5,14 @@ import {
5
5
  enableMouseEvents,
6
6
  useKeypress,
7
7
  useKeypressContext
8
- } from "./chunk-T32W2JHI.js";
8
+ } from "./chunk-SS5SDCD3.js";
9
9
  import {
10
10
  formatSupportedModes,
11
11
  getCommandDisplayName,
12
12
  getCommandSourceBadge,
13
13
  getCommandSourceGroup,
14
14
  getCommandSubcommandNames
15
- } from "./chunk-IJKTMLBE.js";
15
+ } from "./chunk-4TT3IVGA.js";
16
16
  import {
17
17
  INLINE_CODE_SPAN_PATTERN_SOURCE,
18
18
  calculateAverageLatency,
@@ -27,7 +27,7 @@ import {
27
27
  readInlineMathSpanAt,
28
28
  unescapeMarkdownBeforeMath,
29
29
  unescapeMarkdownDollars
30
- } from "./chunk-K2NQPH5D.js";
30
+ } from "./chunk-WGY3AVGM.js";
31
31
  import {
32
32
  MINIMUM_MAX_HEIGHT,
33
33
  MaxSizedBox
@@ -49,7 +49,7 @@ import {
49
49
  isCollapsibleTool,
50
50
  isFindingsListDisplay,
51
51
  wrapAnsi
52
- } from "./chunk-2NYCN6F2.js";
52
+ } from "./chunk-XSG6G3G6.js";
53
53
  import {
54
54
  formatDuration,
55
55
  formatRelativeTime,
@@ -92,10 +92,10 @@ import {
92
92
  } from "./chunk-QFCDF5PL.js";
93
93
  import {
94
94
  getErrorMessage
95
- } from "./chunk-L6YT5H34.js";
95
+ } from "./chunk-MPNBVAEU.js";
96
96
  import {
97
97
  relaunchApp
98
- } from "./chunk-CSMI4FP5.js";
98
+ } from "./chunk-MSBO7X2W.js";
99
99
  import {
100
100
  cpLen,
101
101
  cpSlice,
@@ -118,18 +118,18 @@ import {
118
118
  } from "./chunk-57OAHC2Y.js";
119
119
  import {
120
120
  createLoadedSettingsAdapter
121
- } from "./chunk-CPGJJJLU.js";
121
+ } from "./chunk-7T52W4SW.js";
122
122
  import {
123
123
  getPersistScopeForModelSelection
124
- } from "./chunk-F7TNAPZ4.js";
124
+ } from "./chunk-AIAOIFY4.js";
125
125
  import {
126
126
  getCurrentLanguage,
127
127
  localizeToolDisplayName,
128
128
  t
129
- } from "./chunk-LDP5OD6N.js";
129
+ } from "./chunk-CLWO3B77.js";
130
130
  import {
131
131
  isWorkspaceTrusted
132
- } from "./chunk-V4QXXQJ2.js";
132
+ } from "./chunk-MF7HCQWZ.js";
133
133
  import {
134
134
  ALL_PROVIDERS,
135
135
  PROVIDER_METADATA_NS,
@@ -142,12 +142,12 @@ import {
142
142
  resolveBaseUrl,
143
143
  resolveMetadataKey,
144
144
  resolveOwnsModel
145
- } from "./chunk-KUX5D6DK.js";
145
+ } from "./chunk-NV55WWD6.js";
146
146
  import {
147
147
  sanitizeForOsc,
148
148
  supportsHyperlinks,
149
149
  wrapForMultiplexer
150
- } from "./chunk-H2WDGQ6D.js";
150
+ } from "./chunk-3JXM2CVW.js";
151
151
  import {
152
152
  IdeClient,
153
153
  ShellExecutionService,
@@ -159,7 +159,7 @@ import {
159
159
  getExternalEditorCommand,
160
160
  ideContextStore,
161
161
  isValidEditorType
162
- } from "./chunk-TGWAQ5RB.js";
162
+ } from "./chunk-PZ66FRIC.js";
163
163
  import {
164
164
  stripAnsi
165
165
  } from "./chunk-TWPJO254.js";
@@ -169,7 +169,7 @@ import {
169
169
  getMCPServerStatus,
170
170
  isVisionBridgeNoticeDisplay,
171
171
  uiTelemetryService
172
- } from "./chunk-L2M46FP5.js";
172
+ } from "./chunk-QYMAKPY5.js";
173
173
  import {
174
174
  ToolDisplayNames,
175
175
  ToolNames,
@@ -15808,7 +15808,11 @@ var ToolsList = /* @__PURE__ */ __name(({
15808
15808
  /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(Box_default, { flexDirection: "column", children: [
15809
15809
  /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(Text, { bold: true, color: theme.text.accent, children: [
15810
15810
  tool.displayName,
15811
- showDescriptions ? ` (${tool.name})` : ""
15811
+ showDescriptions ? ` (${tool.name})` : "",
15812
+ tool.deferred ? /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(Text, { bold: false, color: theme.text.secondary, children: [
15813
+ " ",
15814
+ t("(on demand)")
15815
+ ] }) : null
15812
15816
  ] }),
15813
15817
  showDescriptions && tool.description && /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
15814
15818
  MarkdownDisplay,
@@ -15822,6 +15826,15 @@ var ToolsList = /* @__PURE__ */ __name(({
15822
15826
  ] }, tool.name)) : /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(Text, { color: theme.text.primary, children: [
15823
15827
  " ",
15824
15828
  t("No tools available")
15829
+ ] }),
15830
+ tools.some((tool) => tool.deferred) && /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(import_jsx_runtime40.Fragment, { children: [
15831
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(Box_default, { height: 1 }),
15832
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(Text, { color: theme.text.secondary, children: [
15833
+ " ",
15834
+ t(
15835
+ 'Tools marked "(on demand)" are not offered to the model upfront; tool_search can load them when enabled. Use tools.eager for eager-by-default tools or tools.visible for on-demand tools to send a schema upfront.'
15836
+ )
15837
+ ] })
15825
15838
  ] })
15826
15839
  ] }), "ToolsList");
15827
15840
 
@@ -17368,7 +17381,7 @@ var HistoryItemDisplayComponent = /* @__PURE__ */ __name(({
17368
17381
  isFocused = true,
17369
17382
  activeShellPtyId,
17370
17383
  embeddedShellFocused,
17371
- availableTerminalHeightGemini,
17384
+ availableTerminalHeightLlm,
17372
17385
  sourceCopyIndexOffsets,
17373
17386
  thoughtExpanded,
17374
17387
  fullDetail = false,
@@ -17416,7 +17429,7 @@ var HistoryItemDisplayComponent = /* @__PURE__ */ __name(({
17416
17429
  images: itemForDisplay.images,
17417
17430
  omittedImageCount: itemForDisplay.omittedImageCount,
17418
17431
  isPending,
17419
- availableTerminalHeight: availableTerminalHeightGemini ?? availableTerminalHeight,
17432
+ availableTerminalHeight: availableTerminalHeightLlm ?? availableTerminalHeight,
17420
17433
  contentWidth,
17421
17434
  sourceCopyIndexOffsets
17422
17435
  }
@@ -17429,7 +17442,7 @@ var HistoryItemDisplayComponent = /* @__PURE__ */ __name(({
17429
17442
  images: itemForDisplay.images,
17430
17443
  omittedImageCount: itemForDisplay.omittedImageCount,
17431
17444
  isPending,
17432
- availableTerminalHeight: availableTerminalHeightGemini ?? availableTerminalHeight,
17445
+ availableTerminalHeight: availableTerminalHeightLlm ?? availableTerminalHeight,
17433
17446
  contentWidth,
17434
17447
  sourceCopyIndexOffsets
17435
17448
  }
@@ -17440,7 +17453,7 @@ var HistoryItemDisplayComponent = /* @__PURE__ */ __name(({
17440
17453
  text: itemForDisplay.text.trimEnd(),
17441
17454
  isPending,
17442
17455
  expanded: resolvedThoughtExpanded,
17443
- availableTerminalHeight: availableTerminalHeightGemini ?? availableTerminalHeight,
17456
+ availableTerminalHeight: availableTerminalHeightLlm ?? availableTerminalHeight,
17444
17457
  contentWidth,
17445
17458
  durationMs: itemForDisplay.durationMs,
17446
17459
  onToggle: () => toggleThought(thoughtGroupHeadId)
@@ -17452,7 +17465,7 @@ var HistoryItemDisplayComponent = /* @__PURE__ */ __name(({
17452
17465
  text: itemForDisplay.text.trimEnd(),
17453
17466
  isPending,
17454
17467
  expanded: resolvedThoughtExpanded,
17455
- availableTerminalHeight: availableTerminalHeightGemini ?? availableTerminalHeight,
17468
+ availableTerminalHeight: availableTerminalHeightLlm ?? availableTerminalHeight,
17456
17469
  contentWidth
17457
17470
  }
17458
17471
  ),
@@ -5,13 +5,13 @@ import {
5
5
  } from "./chunk-5EJZE3FP.js";
6
6
  import {
7
7
  resolveBundleDir
8
- } from "./chunk-43GGFFLY.js";
8
+ } from "./chunk-4K7KNVWH.js";
9
9
  import {
10
10
  Storage
11
11
  } from "./chunk-UHQFIS7N.js";
12
12
  import {
13
13
  writeStderrLine
14
- } from "./chunk-KGJGEEVR.js";
14
+ } from "./chunk-7FA2II6K.js";
15
15
  import {
16
16
  init_esbuild_shims
17
17
  } from "./chunk-5O2XNYP6.js";