@qwen-code/qwen-code 0.19.12-preview.0 → 0.20.0-nightly.20260720.0c271659d

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 (277) hide show
  1. package/bundled/qc-helper/docs/features/channels/overview.md +4 -2
  2. package/bundled/qc-helper/docs/integration-github-action.md +1 -1
  3. package/bundled/qc-helper/docs/qwen-serve.md +42 -5
  4. package/bundled/review/DESIGN.md +2 -2
  5. package/bundled/review/SKILL.md +13 -9
  6. package/chunks/{MaxSizedBox-3KIWAU6Z.js → MaxSizedBox-ED3QND6V.js} +30 -27
  7. package/chunks/{StandaloneSessionPicker-TF626NO7.js → StandaloneSessionPicker-NQVAOTKS.js} +50 -45
  8. package/chunks/{acpAgent-JDVJXVBO.js → acpAgent-HOBFF5B6.js} +353 -130
  9. package/chunks/{agent-BONWC4VY.js → agent-J7EPFLA6.js} +22 -22
  10. package/chunks/{agent-headless-H7HKMGLZ.js → agent-headless-RRG3JU7Q.js} +22 -22
  11. package/chunks/{anthropicContentGenerator-ZZRGFEES.js → anthropicContentGenerator-HVKLXOOU.js} +6 -5
  12. package/chunks/{artifact-tool-PHO5XEGZ.js → artifact-tool-WBCAMD3O.js} +2 -2
  13. package/chunks/{askUserQuestion-CEPBT47X.js → askUserQuestion-6DZC4UV5.js} +2 -2
  14. package/chunks/{bridge-ATN2TLWJ.js → bridge-OW5FZ6BF.js} +25 -25
  15. package/chunks/build-SSCNEHZZ.js +62 -0
  16. package/chunks/{channel-worker-group-S3H5QHTI.js → channel-worker-group-53CMOPFT.js} +4 -4
  17. package/chunks/{channel-worker-manager-ZJ4HTMO2.js → channel-worker-manager-UTXILKC2.js} +4 -4
  18. package/chunks/{channel-worker-supervisor-JA6VZ5V5.js → channel-worker-supervisor-ZGO2W2MD.js} +3 -3
  19. package/chunks/chunk-27AJEU6G.js +442 -0
  20. package/chunks/{chunk-53UMEONK.js → chunk-2HOVDT7W.js} +1 -1
  21. package/chunks/{chunk-6WZZHJSZ.js → chunk-2JOLZA6L.js} +5 -5
  22. package/chunks/{chunk-NSZJQACR.js → chunk-2TDSM7I6.js} +3 -3
  23. package/chunks/{chunk-ILQ42UG6.js → chunk-2YJLFCYI.js} +7 -7
  24. package/chunks/{chunk-CMHJEUVB.js → chunk-37MGCVTS.js} +1 -1
  25. package/chunks/{chunk-F2YCCUXI.js → chunk-3ML52IFS.js} +4 -4
  26. package/chunks/{chunk-3PE7OY2G.js → chunk-3QR5MOHP.js} +2 -2
  27. package/chunks/{chunk-4AGBO6RB.js → chunk-3SNKL6L6.js} +29 -13
  28. package/chunks/{chunk-OZWJAFFE.js → chunk-3ZL6YMO2.js} +3 -3
  29. package/chunks/chunk-43T5WDQ7.js +127 -0
  30. package/chunks/{chunk-E655RDRL.js → chunk-4ODB7WIB.js} +1 -1
  31. package/chunks/{chunk-66F4IJ4L.js → chunk-4UH63YE5.js} +5 -5
  32. package/chunks/{chunk-QGONRHUS.js → chunk-53OPIXUE.js} +3 -3
  33. package/chunks/{chunk-HTHUX2T5.js → chunk-5QWWOFGG.js} +0 -1
  34. package/chunks/{chunk-3DJY4IFO.js → chunk-5SCI6E3E.js} +1 -1
  35. package/chunks/{chunk-4CHDYDG3.js → chunk-6EFTQYW7.js} +1 -1
  36. package/chunks/{chunk-4W55BHOC.js → chunk-6HQW55TM.js} +29 -2
  37. package/chunks/{chunk-LODZMRXC.js → chunk-6MN6XJTR.js} +2379 -1291
  38. package/chunks/{chunk-EWPLL4OT.js → chunk-6VGRTGOG.js} +1 -1
  39. package/chunks/{chunk-R32BTEZY.js → chunk-7JQK6FXK.js} +198 -120
  40. package/chunks/{chunk-SMASS3CY.js → chunk-A4TJMY65.js} +1 -1
  41. package/chunks/{chunk-JUNVFQVY.js → chunk-AMRWCMX4.js} +4 -4
  42. package/chunks/{chunk-XAAEDML2.js → chunk-AYCDXHZB.js} +1 -1
  43. package/chunks/{chunk-VAJS2E2D.js → chunk-BDBMYST4.js} +1 -1
  44. package/chunks/{chunk-F2RR4HO2.js → chunk-BVLROR2T.js} +1 -1
  45. package/chunks/{chunk-UE5TZ55T.js → chunk-C27BYUX6.js} +29 -2
  46. package/chunks/{chunk-ZPVGEMVC.js → chunk-CL7IRYTA.js} +1 -1
  47. package/chunks/{chunk-DULSE2SH.js → chunk-COWNNAWJ.js} +1 -1
  48. package/chunks/{chunk-UOA2IHRI.js → chunk-CPCVCKKF.js} +1 -1
  49. package/chunks/{chunk-4RPARQ5D.js → chunk-D2VIDMVM.js} +2 -2
  50. package/chunks/{chunk-PTXVHS2O.js → chunk-DCCW7CRR.js} +6 -6
  51. package/chunks/chunk-DIKIJS6Z.js +114 -0
  52. package/chunks/{chunk-NVUGS23Y.js → chunk-DR5AUNJ2.js} +4 -4
  53. package/chunks/{chunk-7KS72E2N.js → chunk-DSBCU6JY.js} +3 -3
  54. package/chunks/{chunk-LKR7QQ63.js → chunk-EAUYY7SS.js} +3 -3
  55. package/chunks/{chunk-J2MKYJKZ.js → chunk-EIAK6Q2B.js} +2 -2
  56. package/chunks/{chunk-WEPXQKGP.js → chunk-EZVDJFZ7.js} +1 -1
  57. package/chunks/{chunk-WHQNBBWW.js → chunk-FLSVD6BS.js} +2 -2
  58. package/chunks/{chunk-XACBIZJB.js → chunk-FODJ5Q5K.js} +3 -3
  59. package/chunks/{chunk-4XCVGEEX.js → chunk-FSL5W5TI.js} +3 -3
  60. package/chunks/{chunk-K7P34F2J.js → chunk-FWT66O5E.js} +2 -2
  61. package/chunks/{chunk-OSSDHJDU.js → chunk-G45X5TRN.js} +1 -1
  62. package/chunks/{chunk-R4RIMOJL.js → chunk-G6MDKXDP.js} +12 -12
  63. package/chunks/{chunk-KANTXY7B.js → chunk-GKY2OJ7R.js} +2 -2
  64. package/chunks/chunk-GMGDLUC7.js +37 -0
  65. package/chunks/{chunk-J6NT5YTN.js → chunk-H2XVO6NE.js} +1 -289
  66. package/chunks/{chunk-7OZGMFHC.js → chunk-I4HZ4GOD.js} +8 -8
  67. package/chunks/{chunk-YN2I5I42.js → chunk-I6JUVU7J.js} +34 -24
  68. package/chunks/{chunk-LLIGYAQU.js → chunk-IDGTC5AS.js} +3 -3
  69. package/chunks/{chunk-LHEQDKAR.js → chunk-INL2RSLA.js} +1 -1
  70. package/chunks/{chunk-CXWUXRD5.js → chunk-INQQM52C.js} +18 -16
  71. package/chunks/{chunk-2DZ7E27L.js → chunk-JBCFW3IL.js} +2 -2
  72. package/chunks/{chunk-LPHGXXZX.js → chunk-JD3MKVKL.js} +1 -1
  73. package/chunks/{chunk-6TDA4EVC.js → chunk-JDPCOUZ3.js} +2282 -662
  74. package/chunks/{chunk-NUHSLBJZ.js → chunk-JNWZQ27S.js} +15 -9
  75. package/chunks/{chunk-IKLWU6YS.js → chunk-JRJ2LV6P.js} +6 -226
  76. package/chunks/{chunk-QSG4ZFG4.js → chunk-KTUQMDEP.js} +1 -1
  77. package/chunks/{chunk-HZXU6YZW.js → chunk-LTQ5C5AB.js} +4 -4
  78. package/chunks/{chunk-V4PCIS25.js → chunk-MAQQGNQ5.js} +44 -1
  79. package/chunks/{chunk-BEFQGC6H.js → chunk-NBMIC7DR.js} +2 -2
  80. package/chunks/{chunk-GEHSF7MS.js → chunk-NEEB7UEN.js} +2545 -1974
  81. package/chunks/{chunk-MHEZV3OY.js → chunk-NIJEXGV6.js} +250 -75
  82. package/chunks/{chunk-NGTQA57Y.js → chunk-NQVA6O7F.js} +2 -2
  83. package/chunks/{chunk-54KPEDM2.js → chunk-NT324EJ6.js} +13 -8
  84. package/chunks/{chunk-WTHRMVKB.js → chunk-O2SPEQFA.js} +5 -5
  85. package/chunks/{chunk-MCYZTKBV.js → chunk-OLMETXLX.js} +2 -2
  86. package/chunks/{chunk-JCJPZMJV.js → chunk-OOCI5VVU.js} +1 -1
  87. package/chunks/{chunk-XSPFQQRE.js → chunk-OONJNQ42.js} +3 -3
  88. package/chunks/{chunk-ANRANWVE.js → chunk-OP4MOGXF.js} +1 -1
  89. package/chunks/{chunk-SGPFJMRP.js → chunk-PBATSWUQ.js} +1 -1
  90. package/chunks/chunk-QKYTTBYW.js +624 -0
  91. package/chunks/{chunk-4OVECYBM.js → chunk-QOSKUG5P.js} +77 -20
  92. package/chunks/{chunk-76BFY7AF.js → chunk-QTERJVPZ.js} +1 -6
  93. package/chunks/{chunk-Y5UDBQYF.js → chunk-RB7NXUP5.js} +3 -3
  94. package/chunks/{chunk-HCCR43AY.js → chunk-RFIAR4YL.js} +1 -1
  95. package/chunks/{chunk-XFJU7SVP.js → chunk-RS5JPH6Y.js} +3 -3
  96. package/chunks/chunk-RS7MT2QG.js +305 -0
  97. package/chunks/{chunk-WACI4VES.js → chunk-SG2PEESS.js} +1106 -592
  98. package/chunks/{chunk-FEZXQXW2.js → chunk-SLLG5XXE.js} +1 -1
  99. package/chunks/{chunk-W4DFAUAO.js → chunk-SQMTULHJ.js} +1 -1
  100. package/chunks/{chunk-Z4ZCVYJ5.js → chunk-STFP7PJR.js} +6 -6
  101. package/chunks/chunk-SV5PQVQE.js +71 -0
  102. package/chunks/{chunk-7LMAKIWE.js → chunk-TFNZCC4B.js} +1 -1
  103. package/chunks/{chunk-ZFHHBRRA.js → chunk-THNJYTA6.js} +2 -2
  104. package/chunks/{chunk-6QGZVKOO.js → chunk-TN2BYMNH.js} +69 -2216
  105. package/chunks/{chunk-TFV3XVAZ.js → chunk-TQBA6DVX.js} +1 -1
  106. package/chunks/{chunk-AWOU24F6.js → chunk-U24E4R5U.js} +3 -3
  107. package/chunks/{chunk-4CA4WUMS.js → chunk-UEY4AYUL.js} +2 -2
  108. package/chunks/{chunk-DYUPBU7H.js → chunk-UGRL5B5F.js} +1 -1
  109. package/chunks/chunk-V7RNNPGC.js +44 -0
  110. package/chunks/{chunk-LYFDJTXE.js → chunk-VGFFYNBD.js} +1 -1
  111. package/chunks/chunk-VIOFKPPN.js +125 -0
  112. package/chunks/{chunk-BEZPRKD3.js → chunk-VLDBVLC4.js} +156 -2
  113. package/chunks/{chunk-HQ7MDVBO.js → chunk-VWLLDHAY.js} +6 -6
  114. package/chunks/chunk-WCDH2CRI.js +1187 -0
  115. package/chunks/{chunk-7SX6WZNO.js → chunk-XVVH63JG.js} +3 -3
  116. package/chunks/{chunk-HVWPSGDY.js → chunk-Y2ENGUD6.js} +1 -1
  117. package/chunks/{chunk-PSISZNIT.js → chunk-Y5534U4G.js} +346 -122
  118. package/chunks/{chunk-IQRQVPGN.js → chunk-YDZ6J2BY.js} +72 -159
  119. package/chunks/{chunk-7O7WZH7N.js → chunk-YNBP3YSU.js} +7 -6
  120. package/chunks/{chunk-NJQPQ4IO.js → chunk-YWEW33JY.js} +7 -7
  121. package/chunks/{chunk-335ECZTA.js → chunk-ZEOZL37W.js} +1 -1
  122. package/chunks/{chunk-SNONG66P.js → chunk-ZGJ4LDD2.js} +53 -28
  123. package/chunks/{computer-use-UY4A72X7.js → computer-use-ET5476VX.js} +22 -22
  124. package/chunks/{config-utils-KWTRFP7D.js → config-utils-AHQ6YZ66.js} +3 -3
  125. package/chunks/{contextCommand-3DZ2SVH6.js → contextCommand-QIULFDBF.js} +25 -26
  126. package/chunks/{create-sub-session-OT7WXLDO.js → create-sub-session-BVL2ZHTM.js} +22 -22
  127. package/chunks/{create-sub-session-DIJOV6HV.js → create-sub-session-P26FE5GG.js} +2 -2
  128. package/chunks/{cron-create-X462ERYA.js → cron-create-JWFHBDRQ.js} +4 -4
  129. package/chunks/{cron-delete-SL5UJUM3.js → cron-delete-GDX4E26G.js} +4 -4
  130. package/chunks/{cron-list-3MD6SVXI.js → cron-list-USMAIWPT.js} +4 -4
  131. package/chunks/{daemon-ZW6LHOXT.js → daemon-EE5T3KOW.js} +169 -84
  132. package/chunks/{daemon-status-provider-GTZOYSBO.js → daemon-status-provider-L5UW7TGV.js} +29 -29
  133. package/chunks/{dist-RZBJT5O2.js → dist-2BHAYBKP.js} +1 -1
  134. package/chunks/{dist-O2IP3G5D.js → dist-2MIU4UUH.js} +1 -1
  135. package/chunks/{dist-HCUUS6IH.js → dist-53PZYC5B.js} +2 -2
  136. package/chunks/{dist-ZJHKKWUD.js → dist-AU7NQQRP.js} +1 -1
  137. package/chunks/{dist-YTPTCUAD.js → dist-FUTEXY6A.js} +1 -1
  138. package/chunks/{dist-Y54RURGT.js → dist-WGTQO7F2.js} +1 -1
  139. package/chunks/{earlyInputCapture-GGWVGBZ7.js → earlyInputCapture-ZLAL5GTE.js} +23 -23
  140. package/chunks/{edit-JN467GIR.js → edit-4ZOPT6OC.js} +23 -23
  141. package/chunks/{enter-worktree-MMO4VBQE.js → enter-worktree-DFP5CZYS.js} +22 -22
  142. package/chunks/{enterPlanMode-BRZOG4DB.js → enterPlanMode-7VEJ7A2A.js} +22 -22
  143. package/chunks/{environment-LOCDCWMZ.js → environment-KHS35XJY.js} +24 -24
  144. package/chunks/{errors-XXSL5HGG.js → errors-574WBU5R.js} +24 -24
  145. package/chunks/{exit-worktree-UD7PI5H5.js → exit-worktree-5Q7V6D4C.js} +22 -22
  146. package/chunks/{exitPlanMode-EIUETQI6.js → exitPlanMode-SX2F6PDJ.js} +22 -22
  147. package/chunks/{fast-path-ULGAEUVK.js → fast-path-G7BLOZVF.js} +2 -2
  148. package/chunks/{gemini-KW3APZ4P.js → gemini-M4JWSTGU.js} +70 -68
  149. package/chunks/{geminiContentGenerator-4BQ5QHPR.js → geminiContentGenerator-MKXLUFUH.js} +4 -4
  150. package/chunks/{glob-FPKAMR6B.js → glob-FPKZY5W6.js} +22 -22
  151. package/chunks/{grep-MOGRCYB4.js → grep-RS22OMZG.js} +22 -22
  152. package/chunks/{handleAutoUpdate-QUMRZZOS.js → handleAutoUpdate-RFNQ36JC.js} +27 -28
  153. package/chunks/{i18n-F3W6YUYP.js → i18n-MAEWSKYF.js} +23 -23
  154. package/chunks/{initializer-KLU2KAIZ.js → initializer-T2BFZJBP.js} +28 -28
  155. package/chunks/{installationInfo-P3ZP2SIZ.js → installationInfo-3UETF773.js} +25 -23
  156. package/chunks/{keychain-token-storage-K23CFKGN.js → keychain-token-storage-DWRJMNH3.js} +2 -2
  157. package/chunks/{list-4X6D5JD2.js → list-FWZUKWD2.js} +30 -30
  158. package/chunks/{loadedSettingsAdapter-446B6WKA.js → loadedSettingsAdapter-3DUNHAPX.js} +27 -27
  159. package/chunks/{loop-wakeup-6H7OENTB.js → loop-wakeup-5GLTUBHA.js} +5 -5
  160. package/chunks/{ls-APTSOOS5.js → ls-FHBY3Y7I.js} +4 -4
  161. package/chunks/{lsp-HPACPJAN.js → lsp-B6VMEW6Y.js} +2 -2
  162. package/chunks/{mcp-JYVOJZOD.js → mcp-POXS7QWD.js} +27 -27
  163. package/chunks/{monitor-KY7YH7TL.js → monitor-2ZZC2NKH.js} +22 -22
  164. package/chunks/nonInteractiveCli-WSJVCB2W.js +126 -0
  165. package/chunks/{notebook-edit-IHGW42QK.js → notebook-edit-BMQLME3Q.js} +23 -23
  166. package/chunks/{openaiContentGenerator-FURUCKQJ.js → openaiContentGenerator-GOREG72R.js} +11 -11
  167. package/chunks/{pidfile-WKUVXDMR.js → pidfile-MVZDE5TC.js} +23 -23
  168. package/chunks/{processUtils-LHSRN76X.js → processUtils-RH5KNLDH.js} +2 -2
  169. package/chunks/{qwenContentGenerator-NRLM7R36.js → qwenContentGenerator-R55BCLRI.js} +24 -24
  170. package/chunks/{qwenOAuth2-5FNX3AWH.js → qwenOAuth2-QZBI2SOZ.js} +11 -11
  171. package/chunks/react-SG7JAQSZ.js +8 -0
  172. package/chunks/{read-file-VLEAEXFP.js → read-file-CPS2CYYG.js} +8 -8
  173. package/chunks/{read-mcp-resource-C6NT52T6.js → read-mcp-resource-AKCL7I43.js} +2 -2
  174. package/chunks/{record-artifact-ENCU7QCL.js → record-artifact-PEUB7727.js} +2 -2
  175. package/chunks/resumeHistoryUtils-YD6DSYHU.js +78 -0
  176. package/chunks/{ripGrep-MT23EIDD.js → ripGrep-UKGJ7RHZ.js} +22 -22
  177. package/chunks/{run-qwen-serve-5HWOQFLI.js → run-qwen-serve-GFKSKLF6.js} +1442 -148
  178. package/chunks/{runtime-6IVKJSLW.js → runtime-4KGNL3TP.js} +31 -31
  179. package/chunks/{scheduler-63GJG75U.js → scheduler-GJ3CELWI.js} +22 -22
  180. package/chunks/{send-message-5GZ4FX2V.js → send-message-3RHE7HSM.js} +3 -3
  181. package/chunks/{serve-3LL7RRDP.js → serve-UU6Z4C7W.js} +27 -27
  182. package/chunks/{server-AA24QLPA.js → server-RTJUMN24.js} +393 -256
  183. package/chunks/{session-LRVCFQQQ.js → session-EYD3CEB5.js} +79 -163
  184. package/chunks/{settings-ZX3OKUT4.js → settings-H5O22TGQ.js} +26 -26
  185. package/chunks/{shell-KR3IMYH6.js → shell-KVNHDHMT.js} +22 -22
  186. package/chunks/{skill-QLM2LSF7.js → skill-32525KCE.js} +10 -10
  187. package/chunks/{spawnChannel-6WFOK3SA.js → spawnChannel-G7DUQKHL.js} +24 -24
  188. package/chunks/{src-ADLNIPHD.js → src-DUFUUEHE.js} +52 -22
  189. package/chunks/{standalone-update-C54OTJWJ.js → standalone-update-UC6CWBLH.js} +24 -24
  190. package/chunks/{startInteractiveUI-KFAOS6HC.js → startInteractiveUI-A5YYAWLF.js} +5455 -2041
  191. package/chunks/{syntheticOutput-ULOVVLY4.js → syntheticOutput-FG5PQKIR.js} +3 -3
  192. package/chunks/{task-create-DUE2PMNI.js → task-create-HX32YXO7.js} +7 -7
  193. package/chunks/{task-list-WVPNX7BZ.js → task-list-QWSY4ZIU.js} +5 -5
  194. package/chunks/{task-stop-CPEQWOT6.js → task-stop-GWC6UWAL.js} +2 -2
  195. package/chunks/{task-update-HY2LNFFB.js → task-update-NCTAB73Q.js} +7 -7
  196. package/chunks/{team-create-Q5B5M7UD.js → team-create-LS2Q32Y4.js} +22 -22
  197. package/chunks/{team-delete-JJV6IUOA.js → team-delete-KK37HTOG.js} +5 -5
  198. package/chunks/{team-plan-approval-J55PXNY2.js → team-plan-approval-DWCZABX6.js} +22 -22
  199. package/chunks/{theme-manager-QWTDRPHV.js → theme-manager-E22CNBIL.js} +23 -23
  200. package/chunks/{todoWrite-JHHIDOIV.js → todoWrite-ERCAMLFS.js} +4 -4
  201. package/chunks/{tool-search-LSSKWZKH.js → tool-search-MHXUDFD2.js} +9 -9
  202. package/chunks/{total-session-admission-S6ATY5HY.js → total-session-admission-KOPTGDJZ.js} +25 -25
  203. package/chunks/{trustedFolders-CY4TUPDJ.js → trustedFolders-ANQXYAQT.js} +23 -23
  204. package/chunks/{update-relaunch-IOKOUV3K.js → update-relaunch-HFGRB7PE.js} +9 -9
  205. package/chunks/{updateCheck-YNRFE4V7.js → updateCheck-EKIPND4B.js} +33 -26
  206. package/chunks/useAutoAcceptIndicator-EE22V2F5.js +80 -0
  207. package/chunks/{validateNonInterActiveAuth-OXTECS4B.js → validateNonInterActiveAuth-RUICXVPH.js} +61 -63
  208. package/chunks/{version-2CZQQDL5.js → version-QLT755OV.js} +1 -1
  209. package/chunks/{web-fetch-7QTEGJI5.js → web-fetch-DINW4Z65.js} +10 -10
  210. package/chunks/{workflow-G3CZU256.js → workflow-GPMXRWKK.js} +23 -23
  211. package/chunks/{workspace-providers-status-UHQOIPAZ.js → workspace-providers-status-XCQKBVSX.js} +30 -30
  212. package/chunks/{workspace-registration-store-5WPCMX4F.js → workspace-registration-store-4I4KL7TN.js} +1 -1
  213. package/chunks/{workspace-registry-LAQCRQTH.js → workspace-registry-N4J57SFQ.js} +25 -25
  214. package/chunks/{workspace-service-6ZEUJY2Z.js → workspace-service-JJNJWVH3.js} +32 -32
  215. package/chunks/{workspace-skills-status-YG6OITSM.js → workspace-skills-status-CEHLAQ2Y.js} +28 -28
  216. package/chunks/{write-file-E7T3PU3B.js → write-file-XRGEJRCC.js} +23 -23
  217. package/cli.js +11 -11
  218. package/package.json +3 -3
  219. package/web-shell/assets/{arc-_dVIKMdB.js → arc-DwJhljn9.js} +1 -1
  220. package/web-shell/assets/{architectureDiagram-3BPJPVTR-MuN3nKpL.js → architectureDiagram-3BPJPVTR-qdxSRav-.js} +1 -1
  221. package/web-shell/assets/{blockDiagram-GPEHLZMM-BtmvJjzx.js → blockDiagram-GPEHLZMM-2-dKM5aM.js} +1 -1
  222. package/web-shell/assets/{c4Diagram-AAUBKEIU-Dvi58_BU.js → c4Diagram-AAUBKEIU-Dt_Nu2HD.js} +1 -1
  223. package/web-shell/assets/channel-C6uyh95L.js +1 -0
  224. package/web-shell/assets/{chunk-2J33WTMH-YqxOVhS1.js → chunk-2J33WTMH-CBCeeNfD.js} +1 -1
  225. package/web-shell/assets/{chunk-4BX2VUAB-DoBgbC9z.js → chunk-4BX2VUAB-DPAzjqNs.js} +1 -1
  226. package/web-shell/assets/{chunk-55IACEB6-3NEQrBAr.js → chunk-55IACEB6-yrqyxvIK.js} +1 -1
  227. package/web-shell/assets/{chunk-727SXJPM-DrCZQxp0.js → chunk-727SXJPM-DguD_BBT.js} +1 -1
  228. package/web-shell/assets/{chunk-AQP2D5EJ-m_g3zjgv.js → chunk-AQP2D5EJ-KRUOG9v0.js} +1 -1
  229. package/web-shell/assets/{chunk-FMBD7UC4-D1_crABJ.js → chunk-FMBD7UC4-C0lilT2U.js} +1 -1
  230. package/web-shell/assets/{chunk-ND2GUHAM-BdhgVtBx.js → chunk-ND2GUHAM-DG9epIWK.js} +1 -1
  231. package/web-shell/assets/{chunk-QZHKN3VN-BlmThhm-.js → chunk-QZHKN3VN-PdJDkYHw.js} +1 -1
  232. package/web-shell/assets/classDiagram-4FO5ZUOK-Cv8Ulf-B.js +1 -0
  233. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-Cv8Ulf-B.js +1 -0
  234. package/web-shell/assets/{cose-bilkent-S5V4N54A-Cbjm_00Z.js → cose-bilkent-S5V4N54A-BAOPPuJm.js} +1 -1
  235. package/web-shell/assets/{dagre-BM42HDAG-C39QNVgC.js → dagre-BM42HDAG-CDHJv82_.js} +1 -1
  236. package/web-shell/assets/{diagram-2AECGRRQ-DNXSAixC.js → diagram-2AECGRRQ-C_hkG5fN.js} +1 -1
  237. package/web-shell/assets/{diagram-5GNKFQAL-BCbGUPEA.js → diagram-5GNKFQAL-e9zo_eKt.js} +1 -1
  238. package/web-shell/assets/{diagram-KO2AKTUF-1eujKSDC.js → diagram-KO2AKTUF-BFN41SCb.js} +1 -1
  239. package/web-shell/assets/{diagram-LMA3HP47-DUMKXgql.js → diagram-LMA3HP47-DG72N0W0.js} +1 -1
  240. package/web-shell/assets/{diagram-OG6HWLK6-BFktU3_u.js → diagram-OG6HWLK6-Dkmp-tdv.js} +1 -1
  241. package/web-shell/assets/{erDiagram-TEJ5UH35-BvJC7DLk.js → erDiagram-TEJ5UH35-CyS0GnQV.js} +1 -1
  242. package/web-shell/assets/{flowDiagram-I6XJVG4X-Cgu3PlOt.js → flowDiagram-I6XJVG4X-Cg1SRmzV.js} +1 -1
  243. package/web-shell/assets/{ganttDiagram-6RSMTGT7-DLNXN5Xh.js → ganttDiagram-6RSMTGT7-CoNkSLs3.js} +1 -1
  244. package/web-shell/assets/{gitGraphDiagram-PVQCEYII-BQFRDv6R.js → gitGraphDiagram-PVQCEYII-DEA6GWPa.js} +1 -1
  245. package/web-shell/assets/index-B49xd8_A.css +5 -0
  246. package/web-shell/assets/{index-CdC3pjP3.js → index-CMaZgs6B.js} +1 -1
  247. package/web-shell/assets/index-D-cDAZgO.js +1192 -0
  248. package/web-shell/assets/{infoDiagram-5YYISTIA-DT2mOSvp.js → infoDiagram-5YYISTIA-BZshyoGT.js} +1 -1
  249. package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-9fy_K4bd.js → ishikawaDiagram-YF4QCWOH-CT2ssZqC.js} +1 -1
  250. package/web-shell/assets/{journeyDiagram-JHISSGLW-CoGSEuhE.js → journeyDiagram-JHISSGLW-BtMQ0rDG.js} +1 -1
  251. package/web-shell/assets/{kanban-definition-UN3LZRKU-BP9hHYIj.js → kanban-definition-UN3LZRKU-CoDbK5Db.js} +1 -1
  252. package/web-shell/assets/{linear-uIroDsmp.js → linear-CwhZ6u7u.js} +1 -1
  253. package/web-shell/assets/{mermaid.core-BUwoStsA.js → mermaid.core-C9nn0nrr.js} +5 -5
  254. package/web-shell/assets/{mindmap-definition-RKZ34NQL-DZB-FWim.js → mindmap-definition-RKZ34NQL-BXUbjTeL.js} +1 -1
  255. package/web-shell/assets/{pieDiagram-4H26LBE5-YPptloKl.js → pieDiagram-4H26LBE5-JddiYlWQ.js} +1 -1
  256. package/web-shell/assets/{quadrantDiagram-W4KKPZXB-dgk3DSzm.js → quadrantDiagram-W4KKPZXB-DK5HKzXO.js} +1 -1
  257. package/web-shell/assets/{requirementDiagram-4Y6WPE33-BH2En2i9.js → requirementDiagram-4Y6WPE33-Y-uipa_6.js} +1 -1
  258. package/web-shell/assets/{sankeyDiagram-5OEKKPKP-BB98feeI.js → sankeyDiagram-5OEKKPKP-BbWeqo8H.js} +1 -1
  259. package/web-shell/assets/{sequenceDiagram-3UESZ5HK-CunAIGh8.js → sequenceDiagram-3UESZ5HK-tX2gOoo5.js} +1 -1
  260. package/web-shell/assets/{stateDiagram-AJRCARHV-DTJs_-I2.js → stateDiagram-AJRCARHV-CACN457G.js} +1 -1
  261. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-DaUeO2zt.js +1 -0
  262. package/web-shell/assets/{timeline-definition-PNZ67QCA-Cd4AN7O0.js → timeline-definition-PNZ67QCA-DnHWKSOq.js} +1 -1
  263. package/web-shell/assets/{vennDiagram-CIIHVFJN-xIG-rUU9.js → vennDiagram-CIIHVFJN-BO8Yl2FG.js} +1 -1
  264. package/web-shell/assets/{wardley-L42UT6IY-D1UyjIcG.js → wardley-L42UT6IY-1NMqqrBi.js} +1 -1
  265. package/web-shell/assets/{wardleyDiagram-YWT4CUSO-BVM0Mb99.js → wardleyDiagram-YWT4CUSO-C3eWgIvD.js} +1 -1
  266. package/web-shell/assets/{xychartDiagram-2RQKCTM6-BX31JDSz.js → xychartDiagram-2RQKCTM6-D0h8FgFX.js} +1 -1
  267. package/web-shell/index.html +2 -2
  268. package/chunks/chunk-675SVDMD.js +0 -3288
  269. package/chunks/chunk-CHVH4DVN.js +0 -368
  270. package/chunks/chunk-JCYMQU5F.js +0 -709
  271. package/chunks/nonInteractiveCli-EK35TLVJ.js +0 -129
  272. package/web-shell/assets/channel-Bi5TehaT.js +0 -1
  273. package/web-shell/assets/classDiagram-4FO5ZUOK-BKhhRdd1.js +0 -1
  274. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-BKhhRdd1.js +0 -1
  275. package/web-shell/assets/index-C_ouplMQ.js +0 -1187
  276. package/web-shell/assets/index-XGDFJE-X.css +0 -5
  277. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-DrfFMYta.js +0 -1
@@ -0,0 +1,442 @@
1
+ // Force strict mode and setup for ESM
2
+ "use strict";
3
+ import {
4
+ sanitizeFilenameForDisplay
5
+ } from "./chunk-RS7MT2QG.js";
6
+ import {
7
+ t
8
+ } from "./chunk-3QR5MOHP.js";
9
+ import {
10
+ fetchGitDiff,
11
+ findProviderByCredentials,
12
+ resolveMetadataKey
13
+ } from "./chunk-JDPCOUZ3.js";
14
+ import {
15
+ init_esbuild_shims
16
+ } from "./chunk-5O2XNYP6.js";
17
+ import {
18
+ __name
19
+ } from "./chunk-J2S4EL5Y.js";
20
+
21
+ // packages/cli/src/ui/utils/computeStats.ts
22
+ init_esbuild_shims();
23
+ function calculateErrorRate(metrics) {
24
+ if (metrics.api.totalRequests === 0) {
25
+ return 0;
26
+ }
27
+ return metrics.api.totalErrors / metrics.api.totalRequests * 100;
28
+ }
29
+ __name(calculateErrorRate, "calculateErrorRate");
30
+ function calculateAverageLatency(metrics) {
31
+ if (metrics.api.totalRequests === 0) {
32
+ return 0;
33
+ }
34
+ return metrics.api.totalLatencyMs / metrics.api.totalRequests;
35
+ }
36
+ __name(calculateAverageLatency, "calculateAverageLatency");
37
+ function calculateCacheHitRate(metrics) {
38
+ if (metrics.tokens.prompt === 0) {
39
+ return 0;
40
+ }
41
+ return metrics.tokens.cached / metrics.tokens.prompt * 100;
42
+ }
43
+ __name(calculateCacheHitRate, "calculateCacheHitRate");
44
+ var computeSessionStats = /* @__PURE__ */ __name((metrics) => {
45
+ const { models, tools, files } = metrics;
46
+ const totalApiTime = Object.values(models).reduce(
47
+ (acc, model) => acc + model.api.totalLatencyMs,
48
+ 0
49
+ );
50
+ const totalToolTime = tools.totalDurationMs;
51
+ const agentActiveTime = totalApiTime + totalToolTime;
52
+ const apiTimePercent = agentActiveTime > 0 ? totalApiTime / agentActiveTime * 100 : 0;
53
+ const toolTimePercent = agentActiveTime > 0 ? totalToolTime / agentActiveTime * 100 : 0;
54
+ const totalCachedTokens = Object.values(models).reduce(
55
+ (acc, model) => acc + model.tokens.cached,
56
+ 0
57
+ );
58
+ const totalPromptTokens = Object.values(models).reduce(
59
+ (acc, model) => acc + model.tokens.prompt,
60
+ 0
61
+ );
62
+ const cacheEfficiency = totalPromptTokens > 0 ? totalCachedTokens / totalPromptTokens * 100 : 0;
63
+ const totalDecisions = tools.totalDecisions.accept + tools.totalDecisions.reject + tools.totalDecisions.modify;
64
+ const successRate = tools.totalCalls > 0 ? tools.totalSuccess / tools.totalCalls * 100 : 0;
65
+ const agreementRate = totalDecisions > 0 ? tools.totalDecisions.accept / totalDecisions * 100 : 0;
66
+ return {
67
+ totalApiTime,
68
+ totalToolTime,
69
+ agentActiveTime,
70
+ apiTimePercent,
71
+ toolTimePercent,
72
+ cacheEfficiency,
73
+ totalDecisions,
74
+ successRate,
75
+ agreementRate,
76
+ totalCachedTokens,
77
+ totalPromptTokens,
78
+ totalLinesAdded: files.totalLinesAdded,
79
+ totalLinesRemoved: files.totalLinesRemoved
80
+ };
81
+ }, "computeSessionStats");
82
+
83
+ // packages/cli/src/services/commandUtils.ts
84
+ init_esbuild_shims();
85
+ function getEffectiveSupportedModes(cmd) {
86
+ if (cmd.supportedModes !== void 0) {
87
+ return cmd.supportedModes;
88
+ }
89
+ switch (cmd.kind) {
90
+ case "built-in" /* BUILT_IN */:
91
+ return ["interactive"];
92
+ case "file" /* FILE */:
93
+ case "skill" /* SKILL */:
94
+ case "mcp-prompt" /* MCP_PROMPT */:
95
+ return ["interactive", "non_interactive", "acp"];
96
+ default:
97
+ return ["interactive"];
98
+ }
99
+ }
100
+ __name(getEffectiveSupportedModes, "getEffectiveSupportedModes");
101
+ function filterCommandsForMode(commands, mode) {
102
+ return commands.filter(
103
+ (cmd) => getEffectiveSupportedModes(cmd).includes(mode)
104
+ );
105
+ }
106
+ __name(filterCommandsForMode, "filterCommandsForMode");
107
+
108
+ // packages/cli/src/ui/commands/diffCommand.ts
109
+ init_esbuild_shims();
110
+ async function diffAction(context) {
111
+ const { config } = context.services;
112
+ if (!config) {
113
+ return {
114
+ type: "message",
115
+ messageType: "error",
116
+ content: t("Configuration not available.")
117
+ };
118
+ }
119
+ if (context.executionMode === "interactive") {
120
+ return { type: "dialog", dialog: "diff" };
121
+ }
122
+ const cwd = config.getWorkingDir() || config.getProjectRoot();
123
+ if (!cwd) {
124
+ return {
125
+ type: "message",
126
+ messageType: "error",
127
+ content: t("Could not determine current working directory.")
128
+ };
129
+ }
130
+ let result;
131
+ try {
132
+ result = await fetchGitDiff(cwd);
133
+ } catch (error) {
134
+ return {
135
+ type: "message",
136
+ messageType: "error",
137
+ content: `${t("Failed to compute git diff stats")}: ${error instanceof Error ? error.message : String(error)}`
138
+ };
139
+ }
140
+ if (!result) {
141
+ return {
142
+ type: "message",
143
+ messageType: "info",
144
+ content: t(
145
+ "No diff available. Either this is not a git repository, HEAD is missing, or a merge/rebase/cherry-pick/revert is in progress."
146
+ )
147
+ };
148
+ }
149
+ if (result.stats.filesCount === 0) {
150
+ return {
151
+ type: "message",
152
+ messageType: "info",
153
+ content: t("Clean working tree \u2014 no changes against HEAD.")
154
+ };
155
+ }
156
+ const model = buildDiffRenderModel(result);
157
+ return {
158
+ type: "message",
159
+ messageType: "info",
160
+ content: renderDiffModelText(model)
161
+ };
162
+ }
163
+ __name(diffAction, "diffAction");
164
+ function buildDiffRenderModel(result) {
165
+ const rows = [];
166
+ for (const [filename, s] of result.perFileStats) {
167
+ rows.push(toRow(filename, s));
168
+ }
169
+ const hiddenCount = Math.max(0, result.stats.filesCount - rows.length);
170
+ return {
171
+ filesCount: result.stats.filesCount,
172
+ linesAdded: result.stats.linesAdded,
173
+ linesRemoved: result.stats.linesRemoved,
174
+ rows,
175
+ hiddenCount
176
+ };
177
+ }
178
+ __name(buildDiffRenderModel, "buildDiffRenderModel");
179
+ function toRow(filename, s) {
180
+ if (s.isBinary) {
181
+ return {
182
+ filename,
183
+ oldPath: s.oldPath,
184
+ isBinary: true,
185
+ isUntracked: Boolean(s.isUntracked),
186
+ isDeleted: Boolean(s.isDeleted),
187
+ truncated: false
188
+ };
189
+ }
190
+ return {
191
+ filename,
192
+ oldPath: s.oldPath,
193
+ added: s.added,
194
+ removed: s.isUntracked ? 0 : s.removed,
195
+ isBinary: false,
196
+ isUntracked: Boolean(s.isUntracked),
197
+ isDeleted: Boolean(s.isDeleted),
198
+ truncated: Boolean(s.truncated)
199
+ };
200
+ }
201
+ __name(toRow, "toRow");
202
+ function computeDiffColumnWidths(rows) {
203
+ let maxAdded = 0;
204
+ let maxRemoved = 0;
205
+ for (const r of rows) {
206
+ if (r.isBinary) continue;
207
+ if ((r.added ?? 0) > maxAdded) maxAdded = r.added ?? 0;
208
+ if ((r.removed ?? 0) > maxRemoved) maxRemoved = r.removed ?? 0;
209
+ }
210
+ const addWidth = String(maxAdded).length;
211
+ const remWidth = String(maxRemoved).length;
212
+ const statColumnWidth = 1 + addWidth + 1 + 1 + remWidth;
213
+ return { addWidth, remWidth, statColumnWidth };
214
+ }
215
+ __name(computeDiffColumnWidths, "computeDiffColumnWidths");
216
+ function renderDiffModelText(model) {
217
+ const { filesCount, linesAdded, linesRemoved, rows, hiddenCount } = model;
218
+ const header = filesCount === 1 ? t("{{count}} file changed, +{{added}} / -{{removed}}", {
219
+ count: String(filesCount),
220
+ added: String(linesAdded),
221
+ removed: String(linesRemoved)
222
+ }) : t("{{count}} files changed, +{{added}} / -{{removed}}", {
223
+ count: String(filesCount),
224
+ added: String(linesAdded),
225
+ removed: String(linesRemoved)
226
+ });
227
+ const lines = formatRowsText(rows);
228
+ const capNote = hiddenCount > 0 && rows.length > 0 ? `
229
+ ${t("\u2026and {{hidden}} more (showing first {{shown}})", {
230
+ hidden: String(hiddenCount),
231
+ shown: String(rows.length)
232
+ })}` : "";
233
+ return lines.length > 0 ? `${header}
234
+ ${lines.join("\n")}${capNote}` : header;
235
+ }
236
+ __name(renderDiffModelText, "renderDiffModelText");
237
+ function formatRowsText(rows) {
238
+ if (rows.length === 0) return [];
239
+ const { addWidth, remWidth, statColumnWidth } = computeDiffColumnWidths(rows);
240
+ const out = [];
241
+ for (const r of rows) {
242
+ const safeName = sanitizeFilenameForDisplay(r.filename);
243
+ const displayName = r.oldPath ? `${sanitizeFilenameForDisplay(r.oldPath)} \u2192 ${safeName}` : safeName;
244
+ if (r.isBinary) {
245
+ const suffix2 = r.isUntracked ? ` ${t("(binary, new)")}` : r.isDeleted ? ` ${t("(binary, deleted)")}` : ` ${t("(binary)")}`;
246
+ out.push(` ${padMarker("~", statColumnWidth)} ${displayName}${suffix2}`);
247
+ continue;
248
+ }
249
+ const added = `+${String(r.added ?? 0).padStart(addWidth)}`;
250
+ const removed = `-${String(r.removed ?? 0).padStart(remWidth)}`;
251
+ let suffix = "";
252
+ if (r.isUntracked) {
253
+ suffix = r.truncated ? ` ${t("(new, partial)")}` : ` ${t("(new)")}`;
254
+ } else if (r.isDeleted) {
255
+ suffix = ` ${t("(deleted)")}`;
256
+ }
257
+ out.push(` ${added} ${removed} ${displayName}${suffix}`);
258
+ }
259
+ return out;
260
+ }
261
+ __name(formatRowsText, "formatRowsText");
262
+ function padMarker(marker, width) {
263
+ if (marker.length >= width) return marker;
264
+ return `${marker}${" ".repeat(width - marker.length)}`;
265
+ }
266
+ __name(padMarker, "padMarker");
267
+ var diffCommand = {
268
+ name: "diff",
269
+ get description() {
270
+ return t("Show working-tree change stats versus HEAD");
271
+ },
272
+ kind: "built-in" /* BUILT_IN */,
273
+ supportedModes: ["interactive", "non_interactive", "acp"],
274
+ action: diffAction
275
+ };
276
+
277
+ // packages/cli/src/utils/systemInfoFields.ts
278
+ init_esbuild_shims();
279
+ function getSystemInfoFields(info) {
280
+ const fields = [];
281
+ addField(fields, t("Qwen Code"), formatCliVersion(info));
282
+ addField(fields, t("Runtime"), formatRuntime(info));
283
+ addField(fields, t("IDE Client"), info.ideClient);
284
+ addField(fields, "LSP", info.lspStatus ?? "");
285
+ addField(fields, t("OS"), formatOs(info));
286
+ addField(fields, t("Auth"), formatAuth(info));
287
+ addField(fields, t("Base URL"), formatBaseUrl(info));
288
+ addField(fields, t("Model"), info.modelVersion);
289
+ addField(fields, t("Fast Model"), info.fastModel || info.modelVersion);
290
+ addField(fields, t("Session ID"), info.sessionId);
291
+ addField(fields, t("Sandbox"), info.sandboxEnv);
292
+ addField(fields, t("Proxy"), formatProxy(info.proxy));
293
+ addField(fields, t("Memory Usage"), info.memoryUsage);
294
+ return fields;
295
+ }
296
+ __name(getSystemInfoFields, "getSystemInfoFields");
297
+ function addField(fields, label, value) {
298
+ if (value) {
299
+ fields.push({ label, value });
300
+ }
301
+ }
302
+ __name(addField, "addField");
303
+ function formatCliVersion(info) {
304
+ if (!info.cliVersion) {
305
+ return "";
306
+ }
307
+ if (!info.gitCommit) {
308
+ return info.cliVersion;
309
+ }
310
+ return `${info.cliVersion} (${info.gitCommit})`;
311
+ }
312
+ __name(formatCliVersion, "formatCliVersion");
313
+ function formatRuntime(info) {
314
+ if (!info.nodeVersion && !info.npmVersion) {
315
+ return "";
316
+ }
317
+ const node = info.nodeVersion ? `Node.js ${info.nodeVersion}` : "";
318
+ const npm = info.npmVersion ? `npm ${info.npmVersion}` : "";
319
+ return joinParts([node, npm], " / ");
320
+ }
321
+ __name(formatRuntime, "formatRuntime");
322
+ function formatOs(info) {
323
+ return joinParts(
324
+ [info.osPlatform, info.osArch, formatOsRelease(info.osRelease)],
325
+ " "
326
+ ).trim();
327
+ }
328
+ __name(formatOs, "formatOs");
329
+ function formatOsRelease(release) {
330
+ if (!release) {
331
+ return "";
332
+ }
333
+ return `(${release})`;
334
+ }
335
+ __name(formatOsRelease, "formatOsRelease");
336
+ function formatAuth(info) {
337
+ if (!info.selectedAuthType) {
338
+ return "";
339
+ }
340
+ const managedProvider = findProviderByCredentials(
341
+ info.baseUrl,
342
+ info.apiKeyEnvKey
343
+ );
344
+ if (managedProvider && resolveMetadataKey(managedProvider)) {
345
+ return t(managedProvider.label);
346
+ }
347
+ if (info.selectedAuthType.startsWith("oauth") || info.selectedAuthType === "qwen-oauth") {
348
+ return "Qwen OAuth";
349
+ }
350
+ return `API Key - ${info.selectedAuthType}`;
351
+ }
352
+ __name(formatAuth, "formatAuth");
353
+ function formatBaseUrl(info) {
354
+ if (!info.selectedAuthType || !info.baseUrl) {
355
+ return "";
356
+ }
357
+ if (info.selectedAuthType.startsWith("oauth") || info.selectedAuthType === "qwen-oauth") {
358
+ return "";
359
+ }
360
+ return info.baseUrl;
361
+ }
362
+ __name(formatBaseUrl, "formatBaseUrl");
363
+ function formatProxy(proxy) {
364
+ if (!proxy) {
365
+ return "no proxy";
366
+ }
367
+ return redactProxy(proxy);
368
+ }
369
+ __name(formatProxy, "formatProxy");
370
+ function redactProxy(proxy) {
371
+ try {
372
+ const url = new URL(proxy);
373
+ if (url.username || url.password) {
374
+ url.username = url.username ? "***" : "";
375
+ url.password = url.password ? "***" : "";
376
+ }
377
+ return url.toString();
378
+ } catch {
379
+ return proxy.replace(/\/\/[^/]*@/, "//***@");
380
+ }
381
+ }
382
+ __name(redactProxy, "redactProxy");
383
+ function joinParts(parts, separator) {
384
+ return parts.filter((part) => part).join(separator);
385
+ }
386
+ __name(joinParts, "joinParts");
387
+
388
+ // packages/cli/src/utils/costCalculator.ts
389
+ init_esbuild_shims();
390
+ function calculateCost(args) {
391
+ const { inputTokens, outputTokens, pricing } = args;
392
+ if (!pricing) return null;
393
+ const inputCost = pricing.inputPerMillionTokens != null ? inputTokens / 1e6 * pricing.inputPerMillionTokens : 0;
394
+ const outputCost = pricing.outputPerMillionTokens != null ? outputTokens / 1e6 * pricing.outputPerMillionTokens : 0;
395
+ const total = inputCost + outputCost;
396
+ return total > 0 ? total : null;
397
+ }
398
+ __name(calculateCost, "calculateCost");
399
+
400
+ // packages/cli/src/ui/utils/skill-level-label.ts
401
+ init_esbuild_shims();
402
+ function levelLabel(level) {
403
+ switch (level) {
404
+ case "project":
405
+ return t("Project");
406
+ case "user":
407
+ return t("User");
408
+ case "extension":
409
+ return t("Extension");
410
+ case "bundled":
411
+ return t("Bundled");
412
+ default: {
413
+ const _exhaustive = level;
414
+ return _exhaustive;
415
+ }
416
+ }
417
+ }
418
+ __name(levelLabel, "levelLabel");
419
+
420
+ export {
421
+ getSystemInfoFields,
422
+ calculateErrorRate,
423
+ calculateAverageLatency,
424
+ calculateCacheHitRate,
425
+ computeSessionStats,
426
+ calculateCost,
427
+ getEffectiveSupportedModes,
428
+ filterCommandsForMode,
429
+ levelLabel,
430
+ computeDiffColumnWidths,
431
+ diffCommand
432
+ };
433
+ /**
434
+ * @license
435
+ * Copyright 2025 Google LLC
436
+ * SPDX-License-Identifier: Apache-2.0
437
+ */
438
+ /**
439
+ * @license
440
+ * Copyright 2025 Qwen
441
+ * SPDX-License-Identifier: Apache-2.0
442
+ */
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  getGlobalQwenDir
5
- } from "./chunk-MHEZV3OY.js";
5
+ } from "./chunk-NIJEXGV6.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";
@@ -2,21 +2,21 @@
2
2
  "use strict";
3
3
  import {
4
4
  appEvents
5
- } from "./chunk-PSISZNIT.js";
5
+ } from "./chunk-Y5534U4G.js";
6
6
  import {
7
7
  assembleMcpServers,
8
8
  getPendingGatedMcpServers,
9
9
  getPromptableMcpServers
10
- } from "./chunk-PTXVHS2O.js";
10
+ } from "./chunk-DCCW7CRR.js";
11
11
  import {
12
12
  getMCPServerStatus
13
- } from "./chunk-YN2I5I42.js";
13
+ } from "./chunk-I6JUVU7J.js";
14
14
  import {
15
15
  require_fast_deep_equal
16
- } from "./chunk-ANRANWVE.js";
16
+ } from "./chunk-OP4MOGXF.js";
17
17
  import {
18
18
  createDebugLogger
19
- } from "./chunk-UE5TZ55T.js";
19
+ } from "./chunk-C27BYUX6.js";
20
20
  import {
21
21
  init_esbuild_shims
22
22
  } from "./chunk-5O2XNYP6.js";
@@ -2,13 +2,13 @@
2
2
  "use strict";
3
3
  import {
4
4
  scanForSecrets
5
- } from "./chunk-6TDA4EVC.js";
5
+ } from "./chunk-JDPCOUZ3.js";
6
6
  import {
7
7
  isTeamAutoMemPath
8
- } from "./chunk-LPHGXXZX.js";
8
+ } from "./chunk-JD3MKVKL.js";
9
9
  import {
10
10
  createDebugLogger
11
- } from "./chunk-UE5TZ55T.js";
11
+ } from "./chunk-C27BYUX6.js";
12
12
  import {
13
13
  init_esbuild_shims
14
14
  } from "./chunk-5O2XNYP6.js";
@@ -21,12 +21,12 @@ import {
21
21
  getLanguageNameFromLocale,
22
22
  getLanguageSettingsOptions,
23
23
  t
24
- } from "./chunk-3PE7OY2G.js";
24
+ } from "./chunk-3QR5MOHP.js";
25
25
  import {
26
26
  getHomeEnvFallbackVars,
27
27
  loadEnvironment,
28
28
  preResolveHomeEnvOverrides
29
- } from "./chunk-NGTQA57Y.js";
29
+ } from "./chunk-NQVA6O7F.js";
30
30
  import {
31
31
  ENV_CORRUPTED_PATH,
32
32
  ENV_WAS_RECOVERED
@@ -34,7 +34,7 @@ import {
34
34
  import {
35
35
  isWorkspaceTrusted,
36
36
  updateSettingsFilePreservingFormat
37
- } from "./chunk-XFJU7SVP.js";
37
+ } from "./chunk-RS5JPH6Y.js";
38
38
  import {
39
39
  require_strip_json_comments
40
40
  } from "./chunk-ALGGS7UH.js";
@@ -47,20 +47,20 @@ import {
47
47
  DEFAULT_TRUNCATE_TOOL_OUTPUT_LINES,
48
48
  DEFAULT_TRUNCATE_TOOL_OUTPUT_THRESHOLD,
49
49
  stripRuntimeSnapshotPrefix
50
- } from "./chunk-6TDA4EVC.js";
50
+ } from "./chunk-JDPCOUZ3.js";
51
51
  import {
52
52
  DEFAULT_QWEN_CUSTOM_IGNORE_FILE_NAMES
53
- } from "./chunk-335ECZTA.js";
53
+ } from "./chunk-ZEOZL37W.js";
54
54
  import {
55
55
  DEFAULT_SENSITIVE_SPAN_ATTRIBUTE_MAX_LENGTH,
56
56
  SENSITIVE_SPAN_ATTRIBUTE_MAX_LENGTH_LIMIT
57
- } from "./chunk-YN2I5I42.js";
57
+ } from "./chunk-I6JUVU7J.js";
58
58
  import {
59
59
  FatalConfigError,
60
60
  Storage,
61
61
  createDebugLogger,
62
62
  getErrorMessage
63
- } from "./chunk-UE5TZ55T.js";
63
+ } from "./chunk-C27BYUX6.js";
64
64
  import {
65
65
  init_esbuild_shims
66
66
  } from "./chunk-5O2XNYP6.js";
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  runExitCleanup
5
- } from "./chunk-DULSE2SH.js";
5
+ } from "./chunk-COWNNAWJ.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";
@@ -5,13 +5,13 @@ import {
5
5
  } from "./chunk-E5Z2AVNV.js";
6
6
  import {
7
7
  getCliVersion
8
- } from "./chunk-W4DFAUAO.js";
8
+ } from "./chunk-SQMTULHJ.js";
9
9
  import {
10
10
  IdeClient
11
- } from "./chunk-6TDA4EVC.js";
11
+ } from "./chunk-JDPCOUZ3.js";
12
12
  import {
13
13
  createDebugLogger
14
- } from "./chunk-UE5TZ55T.js";
14
+ } from "./chunk-C27BYUX6.js";
15
15
  import {
16
16
  init_esbuild_shims
17
17
  } from "./chunk-5O2XNYP6.js";
@@ -27,7 +27,7 @@ import { execFile } from "node:child_process";
27
27
 
28
28
  // packages/cli/src/generated/git-commit.ts
29
29
  init_esbuild_shims();
30
- var GIT_COMMIT_INFO = "7c8e78069";
30
+ var GIT_COMMIT_INFO = "24f4e5f25";
31
31
 
32
32
  // packages/cli/src/utils/systemInfo.ts
33
33
  var debugLogger = createDebugLogger("STATUS");
@@ -5,10 +5,10 @@ import {
5
5
  } from "./chunk-OWAK7LMW.js";
6
6
  import {
7
7
  resolveBundleDir
8
- } from "./chunk-6TDA4EVC.js";
8
+ } from "./chunk-JDPCOUZ3.js";
9
9
  import {
10
10
  Storage
11
- } from "./chunk-UE5TZ55T.js";
11
+ } from "./chunk-C27BYUX6.js";
12
12
  import {
13
13
  init_esbuild_shims
14
14
  } from "./chunk-5O2XNYP6.js";
@@ -2,13 +2,13 @@
2
2
  "use strict";
3
3
  import {
4
4
  HistoryReplayer
5
- } from "./chunk-WACI4VES.js";
5
+ } from "./chunk-SG2PEESS.js";
6
6
  import {
7
7
  redactLogCredentials
8
8
  } from "./chunk-M5GB774H.js";
9
9
  import {
10
10
  getResponseText
11
- } from "./chunk-6TDA4EVC.js";
11
+ } from "./chunk-JDPCOUZ3.js";
12
12
  import {
13
13
  init_esbuild_shims
14
14
  } from "./chunk-5O2XNYP6.js";
@@ -312,6 +312,11 @@ function isPendingReplayToolCall(value) {
312
312
  return typeof value["callId"] === "string" && typeof value["toolName"] === "string" && (value["timestamp"] === void 0 || typeof value["timestamp"] === "string") && typeof value["recordId"] === "string";
313
313
  }
314
314
  __name(isPendingReplayToolCall, "isPendingReplayToolCall");
315
+ function isCurrentPendingReplayToolCall(value) {
316
+ if (!isObjectRecord(value)) return false;
317
+ return typeof value["callId"] === "string" && typeof value["toolName"] === "string" && typeof value["sourceRecordId"] === "string" && (value["sourceTimestamp"] === void 0 || typeof value["sourceTimestamp"] === "string");
318
+ }
319
+ __name(isCurrentPendingReplayToolCall, "isCurrentPendingReplayToolCall");
315
320
  function parseTranscriptReplayState(replay, logger) {
316
321
  if (!isObjectRecord(replay)) {
317
322
  return {
@@ -319,8 +324,24 @@ function parseTranscriptReplayState(replay, logger) {
319
324
  cumulativeUsage: createReplayCumulativeUsage()
320
325
  };
321
326
  }
327
+ if ("v" in replay && replay["v"] !== 1) {
328
+ throw new TypeError("Unsupported transcript replay state version.");
329
+ }
322
330
  const rawPending = replay["pendingToolCalls"];
323
- const pendingToolCalls = Array.isArray(rawPending) ? rawPending.filter(isPendingReplayToolCall) : [];
331
+ const pendingToolCalls = Array.isArray(rawPending) ? rawPending.flatMap((pending) => {
332
+ if (isPendingReplayToolCall(pending)) return [pending];
333
+ if (isCurrentPendingReplayToolCall(pending)) {
334
+ return [
335
+ {
336
+ callId: pending.callId,
337
+ toolName: pending.toolName,
338
+ recordId: pending.sourceRecordId,
339
+ ...pending.sourceTimestamp ? { timestamp: pending.sourceTimestamp } : {}
340
+ }
341
+ ];
342
+ }
343
+ return [];
344
+ }) : [];
324
345
  if (logger && Array.isArray(rawPending) && pendingToolCalls.length !== rawPending.length) {
325
346
  const dropped = rawPending.length - pendingToolCalls.length;
326
347
  logger.warn(
@@ -404,15 +425,15 @@ async function replayTranscriptRecordPage({
404
425
  const replayer = new HistoryReplayer(
405
426
  replayContext(sessionId, updates, state.cumulativeUsage, config)
406
427
  );
407
- let pendingToolCalls;
428
+ let replayState;
408
429
  let replayError;
409
430
  try {
410
- const replayState = await replayer.replayPage(page.records, {
431
+ const replayPageState = await replayer.replayPage(page.records, {
411
432
  pendingToolCalls: page.direction === "backward" ? [] : state.pendingToolCalls,
412
433
  finalizeDangling: page.direction === "backward" || !page.hasMore,
413
434
  gaps: page.gaps
414
435
  });
415
- pendingToolCalls = replayState.pendingToolCalls;
436
+ replayState = replayPageState.replay;
416
437
  } catch (error) {
417
438
  logger?.warn(
418
439
  "[historyReplay] Paged history replay failed for session %s (partial updates: %d):",
@@ -420,17 +441,12 @@ async function replayTranscriptRecordPage({
420
441
  updates.length,
421
442
  error
422
443
  );
423
- pendingToolCalls = replayer.getPendingToolCalls();
444
+ replayState = replayer.getReplayState();
424
445
  replayError = "Replay conversion failed for this page";
425
446
  }
426
447
  const nextCursor = page.nextCursorState && replayError === void 0 ? encodeCursor({
427
448
  ...page.nextCursorState,
428
- ...page.direction === "backward" ? {} : {
429
- replay: {
430
- pendingToolCalls,
431
- cumulativeUsage: state.cumulativeUsage
432
- }
433
- }
449
+ ...page.direction === "backward" ? {} : { replay: replayState }
434
450
  }) : void 0;
435
451
  return {
436
452
  updates: liftSessionUpdateTimestamps(updates),