@qwen-code/qwen-code 0.19.10 → 0.19.11-nightly.20260718.767a32484

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 (307) hide show
  1. package/bundled/qc-helper/docs/configuration/model-providers.md +11 -0
  2. package/bundled/qc-helper/docs/configuration/settings.md +15 -14
  3. package/bundled/qc-helper/docs/features/approval-mode.md +2 -2
  4. package/bundled/qc-helper/docs/features/channels/dingtalk.md +30 -0
  5. package/bundled/qc-helper/docs/features/channels/overview.md +66 -17
  6. package/bundled/qc-helper/docs/features/channels/wecom.md +8 -7
  7. package/bundled/qc-helper/docs/features/sandbox.md +2 -0
  8. package/bundled/qc-helper/docs/qwen-serve-deploy-local.md +42 -7
  9. package/bundled/qc-helper/docs/qwen-serve.md +77 -46
  10. package/bundled/qc-helper/docs/reference/keyboard-shortcuts.md +1 -1
  11. package/bundled/review/SKILL.md +163 -403
  12. package/chunks/{MaxSizedBox-67ODZ4SZ.js → MaxSizedBox-ZFHA4QEQ.js} +30 -30
  13. package/chunks/{StandaloneSessionPicker-SIPBQT5Z.js → StandaloneSessionPicker-YRWOQVQA.js} +44 -44
  14. package/chunks/{acpAgent-VPZJXLFX.js → acpAgent-U2P2IESZ.js} +1423 -487
  15. package/chunks/{agent-Z7NWL6XL.js → agent-GQXX6X5Y.js} +26 -26
  16. package/chunks/{agent-headless-73HZ6ROQ.js → agent-headless-3572NBCK.js} +26 -26
  17. package/chunks/{anthropicContentGenerator-56U3YCP2.js → anthropicContentGenerator-Y65DMM64.js} +103 -18
  18. package/chunks/{artifact-tool-BWZZJ42H.js → artifact-tool-WR7I2XON.js} +2 -2
  19. package/chunks/{askUserQuestion-WU3S5A5T.js → askUserQuestion-B4FUTPHD.js} +2 -44
  20. package/chunks/{bridge-XFKW6S7Q.js → bridge-N5RMGD7G.js} +31 -33
  21. package/chunks/{ca-C2JTT2N5.js → ca-M3GQQ26D.js} +7 -2
  22. package/chunks/channel-worker-group-HZVJKLGX.js +21 -0
  23. package/chunks/{channel-worker-manager-5RWKSGEU.js → channel-worker-manager-3WDK4HNS.js} +34 -10
  24. package/chunks/{channel-worker-supervisor-PCDAZN4D.js → channel-worker-supervisor-U2W6Q5F7.js} +6 -4
  25. package/chunks/{chunk-YYPXHMWO.js → chunk-2XRGFF5K.js} +6 -6
  26. package/chunks/{chunk-ZKMGAFYV.js → chunk-2YSZE74N.js} +2 -2
  27. package/chunks/{chunk-L5U3ELZX.js → chunk-335ECZTA.js} +1 -1
  28. package/chunks/{chunk-5EBKKSBX.js → chunk-336KPNNV.js} +2 -2
  29. package/chunks/{chunk-Q5GLXH5Q.js → chunk-3CL5SEDT.js} +6 -6
  30. package/chunks/{chunk-2FO5GFKZ.js → chunk-3DJY4IFO.js} +1 -1
  31. package/chunks/{chunk-CJFNEBYB.js → chunk-3NWYQ7FX.js} +2 -2
  32. package/chunks/{chunk-WIASPMLX.js → chunk-3X2CFOUM.js} +358 -298
  33. package/chunks/{chunk-K7CRWKOE.js → chunk-3YJZ6WNY.js} +5812 -4520
  34. package/chunks/{chunk-Y66VOBRP.js → chunk-4CA4WUMS.js} +2 -2
  35. package/chunks/{chunk-LQIDP6K5.js → chunk-4CHDYDG3.js} +1 -1
  36. package/chunks/{chunk-TISZXPAX.js → chunk-4HCYNDMG.js} +1 -1
  37. package/chunks/chunk-4JBTZBCW.js +140 -0
  38. package/chunks/{chunk-TV6K2FB4.js → chunk-4RPARQ5D.js} +2 -2
  39. package/chunks/{chunk-RCEEXIOO.js → chunk-4XCVGEEX.js} +3 -3
  40. package/chunks/{chunk-N6FXRR6P.js → chunk-57RWF6R7.js} +1 -1
  41. package/chunks/chunk-5O34IMY5.js +59 -0
  42. package/chunks/{chunk-5LROA5W4.js → chunk-5QRK2VZG.js} +8 -8
  43. package/chunks/{chunk-7L4XBYVW.js → chunk-632KROVU.js} +10 -3
  44. package/chunks/{chunk-65N2J6V2.js → chunk-64XGKNSI.js} +3 -3
  45. package/chunks/{chunk-P6LART6G.js → chunk-66IT3EY2.js} +1059 -129
  46. package/chunks/{chunk-FXMC7SL2.js → chunk-6ITLKEOZ.js} +3 -3
  47. package/chunks/{chunk-F7NXQH4Y.js → chunk-6YIRYY3P.js} +1 -1
  48. package/chunks/{chunk-GGJII3FM.js → chunk-6Z5NRZVU.js} +92 -3
  49. package/chunks/{chunk-DPFBNG72.js → chunk-AEKYFMYE.js} +1 -1
  50. package/chunks/{chunk-2UUAIFQO.js → chunk-ANRANWVE.js} +9 -1
  51. package/chunks/{chunk-SXU3KKNI.js → chunk-ATJ7H5AS.js} +419 -76
  52. package/chunks/{chunk-6GETGQWP.js → chunk-C5NSOSF4.js} +64 -18
  53. package/chunks/{chunk-TQBODCFD.js → chunk-CMVFTMRD.js} +251 -3
  54. package/chunks/{chunk-DK33QJ3V.js → chunk-CZSAIBUB.js} +733 -14
  55. package/chunks/{chunk-3MX7D6QN.js → chunk-DASWPKXR.js} +32 -4
  56. package/chunks/{chunk-JSJFKYWT.js → chunk-DPSHAB47.js} +2 -2
  57. package/chunks/{chunk-7MJAZMXK.js → chunk-ECZFTRTP.js} +29 -78
  58. package/chunks/{chunk-H3FQOPPS.js → chunk-EKG3BHQY.js} +4 -4
  59. package/chunks/{chunk-FSA7ERJ2.js → chunk-F2RR4HO2.js} +1 -1
  60. package/chunks/{chunk-EQY6POVO.js → chunk-F5XYN5VF.js} +2 -2
  61. package/chunks/chunk-FEOZBUMT.js +77 -0
  62. package/chunks/{chunk-L62SEJWY.js → chunk-FHUXCRAF.js} +4 -4
  63. package/chunks/{chunk-OFEVHGVU.js → chunk-FSJGBUQI.js} +818 -31
  64. package/chunks/{chunk-FBU7WRZI.js → chunk-FUTHTZVV.js} +1 -1
  65. package/chunks/{chunk-ZRKBI3DP.js → chunk-FZRES4GK.js} +1 -1
  66. package/chunks/{chunk-OKAIGAYW.js → chunk-G274ETR6.js} +3 -3
  67. package/chunks/{chunk-6GKMJPOC.js → chunk-GA3WUOO7.js} +5 -5
  68. package/chunks/{chunk-X362TMXZ.js → chunk-GAQOQMHY.js} +8 -6
  69. package/chunks/{chunk-WLXYAKV7.js → chunk-GG6RSNWS.js} +9 -4
  70. package/chunks/{chunk-CEW4HDPK.js → chunk-GUNTLALV.js} +2484 -362
  71. package/chunks/{chunk-LXLTBIDP.js → chunk-HCCR43AY.js} +1 -1
  72. package/chunks/{chunk-RDRVMDWV.js → chunk-HIMIG6PI.js} +11 -11
  73. package/chunks/{chunk-MO7O5722.js → chunk-HQXQCIT2.js} +45 -5
  74. package/chunks/{chunk-LTNI523B.js → chunk-HT7L5FCZ.js} +28 -5
  75. package/chunks/{chunk-7NAWTFVY.js → chunk-IENO2YAT.js} +3 -3
  76. package/chunks/{chunk-3XJFUTNM.js → chunk-IK5TYYVR.js} +59 -12
  77. package/chunks/{chunk-AAR5SGMD.js → chunk-IVKLDHU6.js} +7 -5
  78. package/chunks/{chunk-6W6DI34P.js → chunk-IX7O5WI3.js} +180 -8
  79. package/chunks/{chunk-SPJQO2CE.js → chunk-J2MKYJKZ.js} +2 -2
  80. package/chunks/{chunk-SPUYQB4T.js → chunk-JBAQ5BYX.js} +1 -1
  81. package/chunks/{chunk-TYLOFD2U.js → chunk-JCJPZMJV.js} +1 -1
  82. package/chunks/chunk-JDIUK2Y3.js +226 -0
  83. package/chunks/{chunk-L37RC7MQ.js → chunk-JUVTV4NF.js} +1 -1
  84. package/chunks/{chunk-WDWJ4OQJ.js → chunk-K2GBHL73.js} +4 -4
  85. package/chunks/{chunk-HHEFI4RP.js → chunk-KEVDWH3U.js} +857 -137
  86. package/chunks/{chunk-YU56QGXX.js → chunk-KTKETHMY.js} +1 -1
  87. package/chunks/{chunk-WDW64OW3.js → chunk-LGY7PG7Q.js} +5 -5
  88. package/chunks/{chunk-E67NFMF4.js → chunk-LKR7QQ63.js} +37 -3
  89. package/chunks/{chunk-4YWLED2A.js → chunk-LSFVUGXT.js} +9 -6
  90. package/chunks/{chunk-W34A5MJH.js → chunk-LTD3CHGS.js} +1 -1
  91. package/chunks/chunk-LXXMOYPL.js +22 -0
  92. package/chunks/{chunk-BBNVFRGD.js → chunk-MI2V6IWU.js} +1 -1
  93. package/chunks/{chunk-UFOKA4PR.js → chunk-O2K6BLPZ.js} +114 -4
  94. package/chunks/{chunk-B5I2IIWY.js → chunk-OBYAX5QZ.js} +6 -6
  95. package/chunks/{chunk-V7EQTZYR.js → chunk-OCQ2QTFJ.js} +203 -47
  96. package/chunks/{chunk-VBRRNQB7.js → chunk-OPVIKLKK.js} +112 -25
  97. package/chunks/{chunk-2Z5UX4KI.js → chunk-OSSDHJDU.js} +1 -1
  98. package/chunks/{chunk-TTUO4DNG.js → chunk-OXOEOOQU.js} +126 -734
  99. package/chunks/{chunk-4FMG7EDJ.js → chunk-PWYLF7SS.js} +79 -16
  100. package/chunks/chunk-QFEY6OXH.js +45 -0
  101. package/chunks/{chunk-YX4LLZ3D.js → chunk-QPRDXJIC.js} +115 -40
  102. package/chunks/{chunk-7R4DPSRA.js → chunk-R3VWUU2E.js} +1 -1
  103. package/chunks/{chunk-XLIRF7IK.js → chunk-S4N3G4BB.js} +1 -1
  104. package/chunks/{chunk-ARKANCNX.js → chunk-SGPFJMRP.js} +1 -1
  105. package/chunks/{chunk-WTSXKLG5.js → chunk-SUARMD4Q.js} +1 -1
  106. package/chunks/{chunk-PZL23GTM.js → chunk-T3W4SDRB.js} +2 -0
  107. package/chunks/chunk-T4TZQJ7W.js +48 -0
  108. package/chunks/{chunk-K4PZ5F5T.js → chunk-TVYM3Q3J.js} +101 -8
  109. package/chunks/{chunk-4LD5APFL.js → chunk-TYQMGACW.js} +1 -0
  110. package/chunks/{chunk-6OATMEYN.js → chunk-U2LNTX56.js} +12 -4
  111. package/chunks/{chunk-422XAKCK.js → chunk-U2XBPBO3.js} +4 -3
  112. package/chunks/{chunk-LNUXFLLJ.js → chunk-U4FJ26D2.js} +54 -6
  113. package/chunks/{chunk-ZQTZXVHP.js → chunk-U6OPT4H2.js} +4 -18
  114. package/chunks/{chunk-7NFB7LBQ.js → chunk-UE5TZ55T.js} +8 -0
  115. package/chunks/{chunk-CUUXANEQ.js → chunk-URP6O2PP.js} +6 -1
  116. package/chunks/{chunk-GDQQRV43.js → chunk-V2FRLYHN.js} +3 -3
  117. package/chunks/{chunk-WIEO4CWB.js → chunk-VAJS2E2D.js} +1 -1
  118. package/chunks/{chunk-TXY2C3D2.js → chunk-VNN3JNYT.js} +1 -1
  119. package/chunks/{chunk-YHN5SUIJ.js → chunk-W7H223ZZ.js} +1 -1
  120. package/chunks/{chunk-WX6SD4IQ.js → chunk-WEPXQKGP.js} +1 -1
  121. package/chunks/{chunk-KSO42X3Z.js → chunk-X6YQWCIJ.js} +21 -2
  122. package/chunks/{chunk-URU5UEK6.js → chunk-XA7OKDWM.js} +135 -68
  123. package/chunks/{chunk-Q6TUALBE.js → chunk-XAAEDML2.js} +1 -1
  124. package/chunks/{chunk-KKRTYONM.js → chunk-XSPFQQRE.js} +3 -3
  125. package/chunks/{chunk-OATTJGPJ.js → chunk-Y72B36CP.js} +7 -7
  126. package/chunks/{chunk-ZPAHLFZU.js → chunk-Z2LBNX3R.js} +2 -2
  127. package/chunks/{chunk-XXJKGHZV.js → chunk-ZTSDZQZO.js} +131 -4
  128. package/chunks/{computer-use-IYTX45WA.js → computer-use-UIFBH25Y.js} +26 -26
  129. package/chunks/{config-utils-CFT33LTP.js → config-utils-2LHI7JXU.js} +3 -3
  130. package/chunks/{contextCommand-272V77WU.js → contextCommand-VGZHKEH2.js} +28 -28
  131. package/chunks/{create-sub-session-WNX2OQVX.js → create-sub-session-DIJOV6HV.js} +2 -2
  132. package/chunks/{create-sub-session-CBJMQLYP.js → create-sub-session-OFVI4H6I.js} +26 -26
  133. package/chunks/{cron-create-36TIFKRT.js → cron-create-34GVLSW5.js} +4 -4
  134. package/chunks/{cron-delete-OQD3WULU.js → cron-delete-NMVKUL45.js} +4 -4
  135. package/chunks/{cron-list-4533T2FH.js → cron-list-277ZOR7L.js} +4 -4
  136. package/chunks/{daemon-RNGFPMAB.js → daemon-72MEV3TY.js} +361 -84
  137. package/chunks/daemon-status-provider-ZJJ6AOG2.js +75 -0
  138. package/chunks/{de-2VCDRDGU.js → de-56TMDIKS.js} +7 -2
  139. package/chunks/{dist-3V3ZV6ML.js → dist-4W3UGU2A.js} +1 -1
  140. package/chunks/{dist-HNN7DR2L.js → dist-G6QCGO2K.js} +58 -30
  141. package/chunks/{dist-ERCPDVA6.js → dist-ILVRL322.js} +4 -51
  142. package/chunks/{dist-PHEPJLXD.js → dist-KEZ5JWH4.js} +2 -2
  143. package/chunks/{dist-JZE7F6YR.js → dist-LQHDHBPP.js} +1 -1
  144. package/chunks/{dist-MOEC47TR.js → dist-SVHAGOLN.js} +1 -1
  145. package/chunks/{earlyInputCapture-EN4BRREQ.js → earlyInputCapture-NPF4PVUE.js} +27 -27
  146. package/chunks/{edit-OMAF2QDR.js → edit-F7CT6NZH.js} +27 -27
  147. package/chunks/{en-NJCA3TAA.js → en-AXS2N62H.js} +12 -3
  148. package/chunks/{enter-worktree-BBZX52HG.js → enter-worktree-Z4ET3MZL.js} +26 -26
  149. package/chunks/{enterPlanMode-5NNFMBUY.js → enterPlanMode-VYR7T5NX.js} +27 -29
  150. package/chunks/{environment-7TEWMJYN.js → environment-MBTXL57Q.js} +28 -28
  151. package/chunks/{errors-I4VKVX3F.js → errors-HN36J4FR.js} +28 -28
  152. package/chunks/{exit-worktree-FUWRJI33.js → exit-worktree-RU7JYFMF.js} +26 -26
  153. package/chunks/exitPlanMode-LUBAWMZQ.js +390 -0
  154. package/chunks/{fast-path-ZA57TOH4.js → fast-path-RFT3CDNZ.js} +2 -2
  155. package/chunks/{fr-5F3E7WKD.js → fr-ZJPE5OVN.js} +7 -2
  156. package/chunks/{gemini-UOAKVXBG.js → gemini-37NTNKZF.js} +215 -231
  157. package/chunks/{geminiContentGenerator-G6UCE6MW.js → geminiContentGenerator-76HNOYNQ.js} +5 -5
  158. package/chunks/{glob-4GJQ2UFF.js → glob-DWD7JCZE.js} +32 -27
  159. package/chunks/{grep-5QSYXF2E.js → grep-NJRXFV5C.js} +32 -27
  160. package/chunks/{handleAutoUpdate-ULHNWL6R.js → handleAutoUpdate-7GBDXW6U.js} +30 -30
  161. package/chunks/{i18n-CYDUTF6F.js → i18n-MYD5VGED.js} +27 -27
  162. package/chunks/{initializer-NRFKUGIO.js → initializer-4DHPNAZG.js} +32 -32
  163. package/chunks/{installationInfo-WELKRHHE.js → installationInfo-RWOW6BZO.js} +27 -27
  164. package/chunks/{ja-66J6B53L.js → ja-57GG4QSL.js} +7 -2
  165. package/chunks/{keychain-token-storage-AU22CQI6.js → keychain-token-storage-K23CFKGN.js} +2 -2
  166. package/chunks/{list-JVDXEG2E.js → list-MMCNNHE7.js} +34 -34
  167. package/chunks/{loadedSettingsAdapter-WAM4VUTG.js → loadedSettingsAdapter-UK4JWPYU.js} +31 -31
  168. package/chunks/{loop-wakeup-MVUKDVCP.js → loop-wakeup-KCLY4XQM.js} +5 -5
  169. package/chunks/{ls-RXNIAQDE.js → ls-UNI4LAJ3.js} +4 -4
  170. package/chunks/{lsp-HB5LM5IL.js → lsp-HPACPJAN.js} +2 -2
  171. package/chunks/{mcp-YHOZN3ZM.js → mcp-AFCVA4UV.js} +31 -31
  172. package/chunks/{monitor-R7XZPJHQ.js → monitor-RK637BNO.js} +28 -27
  173. package/chunks/nonInteractiveCli-OUGWLHNV.js +129 -0
  174. package/chunks/{notebook-edit-6RNKE2L2.js → notebook-edit-LY2X3CMF.js} +27 -27
  175. package/chunks/{openaiContentGenerator-XNS5S64I.js → openaiContentGenerator-MDYDW7IA.js} +14 -14
  176. package/chunks/{pidfile-XE4RRR2P.js → pidfile-2NUYRLKB.js} +27 -27
  177. package/chunks/processUtils-7QH3VBVN.js +29 -0
  178. package/chunks/{pt-TFZO5Y6T.js → pt-MCGZ3RZ4.js} +7 -2
  179. package/chunks/{qwenContentGenerator-APDPJ3VN.js → qwenContentGenerator-3HT4TVDL.js} +28 -28
  180. package/chunks/{qwenOAuth2-LEYOU7RU.js → qwenOAuth2-3A4TJVZT.js} +5 -5
  181. package/chunks/{read-file-XSUWXSR7.js → read-file-NE4FREFR.js} +10 -10
  182. package/chunks/{read-mcp-resource-6LRTZKXI.js → read-mcp-resource-C6NT52T6.js} +2 -2
  183. package/chunks/{record-artifact-PMDTY4OS.js → record-artifact-ENCU7QCL.js} +2 -2
  184. package/chunks/{ripGrep-APB3CDMU.js → ripGrep-DBLXWQCJ.js} +26 -26
  185. package/chunks/{ru-4L4LFHIT.js → ru-GA3NZW5Q.js} +7 -2
  186. package/chunks/{run-qwen-serve-NWTGPERT.js → run-qwen-serve-3NOCI6IL.js} +63 -39
  187. package/chunks/{runtime-EIO3NQKR.js → runtime-ZI7DSZSS.js} +35 -35
  188. package/chunks/{scheduler-JJDZBDRN.js → scheduler-SOVEP5K7.js} +26 -26
  189. package/chunks/{send-message-SR4WSXP2.js → send-message-5IFPZTPE.js} +3 -3
  190. package/chunks/{serve-WTIPB3EI.js → serve-DB6OCXIA.js} +31 -31
  191. package/chunks/{server-NJPHQHLH.js → server-LDY4YVU4.js} +2257 -648
  192. package/chunks/{session-O4AO7FTS.js → session-D6OG5SKX.js} +99 -72
  193. package/chunks/{settings-HQNDK7TG.js → settings-L52ZV5LO.js} +30 -30
  194. package/chunks/{shell-UIXM6PWG.js → shell-IU27OY3Q.js} +28 -26
  195. package/chunks/{skill-3XMB4ULV.js → skill-BSOJT7LE.js} +12 -12
  196. package/chunks/{spawnChannel-3R632QRM.js → spawnChannel-HQAM25DD.js} +28 -29
  197. package/chunks/{src-USZKPUOC.js → src-7ZBIMTJZ.js} +130 -51
  198. package/chunks/{standalone-update-L5XW3D7K.js → standalone-update-77457VVK.js} +28 -28
  199. package/chunks/{startInteractiveUI-CPZOL2WB.js → startInteractiveUI-S7WC6EZG.js} +2310 -1835
  200. package/chunks/{syntheticOutput-YKFNUQZD.js → syntheticOutput-ULOVVLY4.js} +3 -3
  201. package/chunks/{task-create-NUFOHU53.js → task-create-V2DCDSET.js} +7 -7
  202. package/chunks/{task-list-Z2IKQY3S.js → task-list-DPL5ZN55.js} +5 -5
  203. package/chunks/{task-stop-KQFIVQTJ.js → task-stop-CPEQWOT6.js} +2 -2
  204. package/chunks/{task-update-HKADXSTD.js → task-update-ZR45M5Q7.js} +7 -7
  205. package/chunks/{team-create-XXPRF3IQ.js → team-create-CO7HSUON.js} +26 -26
  206. package/chunks/{team-delete-SDNTGZLG.js → team-delete-HIWXCWJU.js} +5 -5
  207. package/chunks/{team-plan-approval-EOTTKHDW.js → team-plan-approval-QDZF5YZY.js} +26 -26
  208. package/chunks/{theme-manager-P6UITO2L.js → theme-manager-UTUT3I4P.js} +27 -27
  209. package/chunks/todoWrite-HK6B3RHJ.js +358 -0
  210. package/chunks/{tool-search-DDNGK2LR.js → tool-search-2UUORA35.js} +11 -11
  211. package/chunks/{total-session-admission-PL5N7DNY.js → total-session-admission-NTWG6G3F.js} +32 -34
  212. package/chunks/{trustedFolders-C5LMF3UR.js → trustedFolders-YF37ZCN5.js} +27 -27
  213. package/chunks/update-relaunch-QFNHPMZZ.js +87 -0
  214. package/chunks/{updateCheck-QTVVISH7.js → updateCheck-B6O42VMD.js} +30 -28
  215. package/chunks/{validateNonInterActiveAuth-RY4RKBQG.js → validateNonInterActiveAuth-SCIWJ4CX.js} +65 -65
  216. package/chunks/{version-U45RYOSD.js → version-7DA6LAI3.js} +1 -1
  217. package/chunks/{web-fetch-ZSPR3PRR.js → web-fetch-B62SJXM2.js} +5 -6
  218. package/chunks/{workflow-TCIAQYOA.js → workflow-Q5WG4THP.js} +27 -27
  219. package/chunks/{workspace-providers-status-I3G2HYLY.js → workspace-providers-status-WWLAGWQW.js} +34 -34
  220. package/chunks/{workspace-registration-store-IH5GLZ6Y.js → workspace-registration-store-BVYQVY2H.js} +1 -1
  221. package/chunks/{workspace-registry-QEKBELIX.js → workspace-registry-OD7ACADD.js} +32 -34
  222. package/chunks/{workspace-service-ORKHGLP3.js → workspace-service-4LYJWS63.js} +37 -38
  223. package/chunks/{workspace-skills-status-D7QCNDYY.js → workspace-skills-status-P2AQLZZS.js} +32 -32
  224. package/chunks/{write-file-JGRQR5VM.js → write-file-TEPGXNM3.js} +60 -27
  225. package/chunks/{zh-FSAH32JB.js → zh-E34DZ2S3.js} +12 -3
  226. package/chunks/{zh-TW-D2YIE2LO.js → zh-TW-PEI2ZWUR.js} +12 -3
  227. package/cli-entry.js +92 -8
  228. package/cli.js +11 -11
  229. package/locales/ca.js +12 -2
  230. package/locales/de.js +12 -2
  231. package/locales/en.js +20 -5
  232. package/locales/fr.js +12 -2
  233. package/locales/ja.js +12 -2
  234. package/locales/pt.js +12 -2
  235. package/locales/ru.js +12 -2
  236. package/locales/zh-TW.js +19 -3
  237. package/locales/zh.js +19 -3
  238. package/package.json +3 -3
  239. package/web-shell/assets/{arc-CUeDlxvE.js → arc-Dh-N5oEG.js} +1 -1
  240. package/web-shell/assets/{architectureDiagram-3BPJPVTR-PiUszkQA.js → architectureDiagram-3BPJPVTR-DBOQgtfF.js} +1 -1
  241. package/web-shell/assets/{blockDiagram-GPEHLZMM-s2wYSO7e.js → blockDiagram-GPEHLZMM-Dyxbuyju.js} +1 -1
  242. package/web-shell/assets/{c4Diagram-AAUBKEIU-DyLxZoz9.js → c4Diagram-AAUBKEIU-DCJR5HPT.js} +1 -1
  243. package/web-shell/assets/channel-DY0fkcKT.js +1 -0
  244. package/web-shell/assets/{chunk-2J33WTMH-Dsdai7Tk.js → chunk-2J33WTMH-BkMUcy3O.js} +1 -1
  245. package/web-shell/assets/{chunk-4BX2VUAB-DEosOjV7.js → chunk-4BX2VUAB-BSm4pLQk.js} +1 -1
  246. package/web-shell/assets/{chunk-55IACEB6-sNsRLTXf.js → chunk-55IACEB6-CuRr-XgW.js} +1 -1
  247. package/web-shell/assets/{chunk-727SXJPM-DkRNZzmh.js → chunk-727SXJPM-CLv7-w3t.js} +1 -1
  248. package/web-shell/assets/{chunk-AQP2D5EJ-BrsRNpzd.js → chunk-AQP2D5EJ-Cz_n3-JW.js} +1 -1
  249. package/web-shell/assets/{chunk-FMBD7UC4-CI039lpl.js → chunk-FMBD7UC4-CFT_62Hq.js} +1 -1
  250. package/web-shell/assets/{chunk-ND2GUHAM-M-pkeIfu.js → chunk-ND2GUHAM-DWz6DOZ6.js} +1 -1
  251. package/web-shell/assets/{chunk-QZHKN3VN-C4ckGNbH.js → chunk-QZHKN3VN-C-mRhUzw.js} +1 -1
  252. package/web-shell/assets/classDiagram-4FO5ZUOK-DBvJ6PZo.js +1 -0
  253. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-DBvJ6PZo.js +1 -0
  254. package/web-shell/assets/{cose-bilkent-S5V4N54A-BciKUAFq.js → cose-bilkent-S5V4N54A-BqCZS3i1.js} +1 -1
  255. package/web-shell/assets/{dagre-BM42HDAG-C1nTSgU6.js → dagre-BM42HDAG-BGasdP8i.js} +1 -1
  256. package/web-shell/assets/{diagram-2AECGRRQ-BDPNWr1m.js → diagram-2AECGRRQ-BSyLDkMy.js} +1 -1
  257. package/web-shell/assets/{diagram-5GNKFQAL-CNFhTszL.js → diagram-5GNKFQAL-CM-ZJxWC.js} +1 -1
  258. package/web-shell/assets/{diagram-KO2AKTUF-CjPa4p5a.js → diagram-KO2AKTUF-wJdzt_C5.js} +1 -1
  259. package/web-shell/assets/{diagram-LMA3HP47-ZzPykSyG.js → diagram-LMA3HP47-DiH2fhpL.js} +1 -1
  260. package/web-shell/assets/{diagram-OG6HWLK6-0UVtZ9A4.js → diagram-OG6HWLK6-BZ9z1ZBl.js} +1 -1
  261. package/web-shell/assets/{erDiagram-TEJ5UH35-CajDZCat.js → erDiagram-TEJ5UH35-BsyWDziR.js} +1 -1
  262. package/web-shell/assets/{flowDiagram-I6XJVG4X-BRuFBIvL.js → flowDiagram-I6XJVG4X-CzdkxIrq.js} +1 -1
  263. package/web-shell/assets/{ganttDiagram-6RSMTGT7-BevGmJqG.js → ganttDiagram-6RSMTGT7-javIv2r2.js} +1 -1
  264. package/web-shell/assets/{gitGraphDiagram-PVQCEYII-DvPMpBMb.js → gitGraphDiagram-PVQCEYII-CjHstylC.js} +1 -1
  265. package/web-shell/assets/{index-DzHwQkQq.js → index-BnJGxpah.js} +1 -1
  266. package/web-shell/assets/index-DhXB9nTa.js +1161 -0
  267. package/web-shell/assets/index-vYHgZ7bL.css +5 -0
  268. package/web-shell/assets/{infoDiagram-5YYISTIA-Oixn7tA9.js → infoDiagram-5YYISTIA-yXuQsomo.js} +1 -1
  269. package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-BgKpeg-j.js → ishikawaDiagram-YF4QCWOH-a85JhE6F.js} +1 -1
  270. package/web-shell/assets/{journeyDiagram-JHISSGLW-74mwxIaA.js → journeyDiagram-JHISSGLW-Dak_4BVj.js} +1 -1
  271. package/web-shell/assets/{kanban-definition-UN3LZRKU-D4D6cEqA.js → kanban-definition-UN3LZRKU-COA-LuCV.js} +1 -1
  272. package/web-shell/assets/{linear-atZRE_L2.js → linear-DNAAAQWq.js} +1 -1
  273. package/web-shell/assets/{mermaid.core-KKudX-JC.js → mermaid.core-7Ff3aIUD.js} +5 -5
  274. package/web-shell/assets/{mindmap-definition-RKZ34NQL-CMCej9yG.js → mindmap-definition-RKZ34NQL-_rCOIODU.js} +1 -1
  275. package/web-shell/assets/{pieDiagram-4H26LBE5-nhx40X7q.js → pieDiagram-4H26LBE5-C9QCQ8EW.js} +1 -1
  276. package/web-shell/assets/{quadrantDiagram-W4KKPZXB-CUmVcN3M.js → quadrantDiagram-W4KKPZXB-CsaE4FA8.js} +1 -1
  277. package/web-shell/assets/{requirementDiagram-4Y6WPE33-C_vyEwyy.js → requirementDiagram-4Y6WPE33-tV78naTg.js} +1 -1
  278. package/web-shell/assets/{sankeyDiagram-5OEKKPKP-DU6G4VWR.js → sankeyDiagram-5OEKKPKP-Dk3Rw7BZ.js} +1 -1
  279. package/web-shell/assets/{sequenceDiagram-3UESZ5HK-DdeRR_KJ.js → sequenceDiagram-3UESZ5HK-BGsAWcMX.js} +1 -1
  280. package/web-shell/assets/{stateDiagram-AJRCARHV-C6iCI8ps.js → stateDiagram-AJRCARHV-zSxdtdoB.js} +1 -1
  281. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-vLEEtDpO.js +1 -0
  282. package/web-shell/assets/{timeline-definition-PNZ67QCA-B_Ea8Cb7.js → timeline-definition-PNZ67QCA-j0BQh9Go.js} +1 -1
  283. package/web-shell/assets/{vennDiagram-CIIHVFJN-BPUVZEJA.js → vennDiagram-CIIHVFJN-CRaUFFIu.js} +1 -1
  284. package/web-shell/assets/{wardley-L42UT6IY-BWEj0lKY.js → wardley-L42UT6IY-D7Py_ofm.js} +1 -1
  285. package/web-shell/assets/{wardleyDiagram-YWT4CUSO-BvDsdIQw.js → wardleyDiagram-YWT4CUSO-BrDIAZcp.js} +1 -1
  286. package/web-shell/assets/{xychartDiagram-2RQKCTM6-crz0QhF_.js → xychartDiagram-2RQKCTM6-Cecdw-w2.js} +1 -1
  287. package/web-shell/index.html +2 -2
  288. package/chunks/channel-worker-group-K7QKH6IG.js +0 -13
  289. package/chunks/chunk-2HRYPZT5.js +0 -25
  290. package/chunks/chunk-B7NUUEXC.js +0 -311
  291. package/chunks/chunk-CARU2RR2.js +0 -24
  292. package/chunks/chunk-GYTKQYDB.js +0 -23
  293. package/chunks/chunk-LQU7EVFA.js +0 -30
  294. package/chunks/chunk-OCPBI7J5.js +0 -18
  295. package/chunks/chunk-OJAMDVF5.js +0 -66
  296. package/chunks/chunk-QAW7PIHT.js +0 -168
  297. package/chunks/chunk-TEGEBB2I.js +0 -122
  298. package/chunks/daemon-status-provider-L4STG5VO.js +0 -76
  299. package/chunks/exitPlanMode-IHCJ5EEI.js +0 -909
  300. package/chunks/nonInteractiveCli-NSOB6D74.js +0 -129
  301. package/chunks/todoWrite-YNXB27GB.js +0 -531
  302. package/web-shell/assets/channel-DkuJJ0qd.js +0 -1
  303. package/web-shell/assets/classDiagram-4FO5ZUOK-CwqHc0TB.js +0 -1
  304. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-CwqHc0TB.js +0 -1
  305. package/web-shell/assets/index-Cnvv4VcI.css +0 -5
  306. package/web-shell/assets/index-D1Uyklxa.js +0 -1088
  307. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-C0_6nR6C.js +0 -1
@@ -10,12 +10,12 @@ import {
10
10
  getLanguageNameFromLocale,
11
11
  getLanguageSettingsOptions,
12
12
  t
13
- } from "./chunk-RDRVMDWV.js";
13
+ } from "./chunk-HIMIG6PI.js";
14
14
  import {
15
15
  getHomeEnvFallbackVars,
16
16
  loadEnvironment,
17
17
  preResolveHomeEnvOverrides
18
- } from "./chunk-5EBKKSBX.js";
18
+ } from "./chunk-336KPNNV.js";
19
19
  import {
20
20
  CONSOLIDATED_DISABLE_KEYS,
21
21
  V1_INDICATOR_KEYS,
@@ -35,7 +35,7 @@ import {
35
35
  import {
36
36
  isWorkspaceTrusted,
37
37
  updateSettingsFilePreservingFormat
38
- } from "./chunk-4YWLED2A.js";
38
+ } from "./chunk-LSFVUGXT.js";
39
39
  import {
40
40
  require_strip_json_comments
41
41
  } from "./chunk-ALGGS7UH.js";
@@ -48,20 +48,20 @@ import {
48
48
  DEFAULT_TRUNCATE_TOOL_OUTPUT_LINES,
49
49
  DEFAULT_TRUNCATE_TOOL_OUTPUT_THRESHOLD,
50
50
  stripRuntimeSnapshotPrefix
51
- } from "./chunk-K7CRWKOE.js";
51
+ } from "./chunk-3YJZ6WNY.js";
52
52
  import {
53
53
  DEFAULT_QWEN_CUSTOM_IGNORE_FILE_NAMES
54
- } from "./chunk-L5U3ELZX.js";
54
+ } from "./chunk-335ECZTA.js";
55
55
  import {
56
56
  DEFAULT_SENSITIVE_SPAN_ATTRIBUTE_MAX_LENGTH,
57
57
  SENSITIVE_SPAN_ATTRIBUTE_MAX_LENGTH_LIMIT
58
- } from "./chunk-P6LART6G.js";
58
+ } from "./chunk-66IT3EY2.js";
59
59
  import {
60
60
  FatalConfigError,
61
61
  Storage,
62
62
  createDebugLogger,
63
63
  getErrorMessage
64
- } from "./chunk-7NFB7LBQ.js";
64
+ } from "./chunk-UE5TZ55T.js";
65
65
  import {
66
66
  init_esbuild_shims
67
67
  } from "./chunk-5O2XNYP6.js";
@@ -500,6 +500,19 @@ var SETTINGS_SCHEMA = {
500
500
  description: "Play terminal bell sound when response completes or needs approval.",
501
501
  showInDialog: true
502
502
  },
503
+ notificationMode: {
504
+ type: "enum",
505
+ label: "Notification Mode",
506
+ category: "General",
507
+ requiresRestart: false,
508
+ default: "all",
509
+ description: 'Which unfocused-terminal events fire a bell/OS notification. "all" fires on every tool approval prompt AND on task completion (current behavior). "task-complete" suppresses the per-approval notification and only fires when a long task returns to idle. Requires `terminalBell` to be enabled; otherwise no notifications fire regardless of mode.',
510
+ showInDialog: true,
511
+ options: [
512
+ { value: "all", label: "All (approvals + task completion)" },
513
+ { value: "task-complete", label: "Task completion only" }
514
+ ]
515
+ },
503
516
  preventSystemSleep: {
504
517
  type: "boolean",
505
518
  label: "Prevent System Sleep While Running",
@@ -869,7 +882,7 @@ var SETTINGS_SCHEMA = {
869
882
  category: "UI",
870
883
  requiresRestart: false,
871
884
  default: false,
872
- description: "Render conversation history in an in-app scrollable viewport instead of the terminal scrollback buffer. Recommended if you see flicker, scroll-storm, or interface freeze on long sessions, after Ctrl+O, after Ctrl+E / Ctrl+F (expand), after window resize, or when alt-tabbing back. Scroll with Shift+\u2191/\u2193 (line), PgUp/PgDn (page), Ctrl+Home/End (top/bottom), or the mouse wheel. Also enables mouse interactions: click an option in a menu/dialog to select it, hover to highlight it, and click in the prompt to position the cursor. Does NOT use the host terminal scrollback while enabled; for native text selection, hold Shift (or Option on macOS) while dragging.",
885
+ description: "Render conversation history in an in-app scrollable viewport instead of the terminal scrollback buffer. Recommended if you see flicker, scroll-storm, or interface freeze on long sessions, after Ctrl+O, after Ctrl+E / Ctrl+F (expand), after window resize, or when alt-tabbing back. Scroll with Shift+\u2191/\u2193 (line), PgUp/PgDn (page), Ctrl+Home/End (top/bottom), or the mouse wheel. Also enables mouse interactions: click an option in a menu/dialog to select it, hover to highlight it, and click in the prompt to position the cursor. Does NOT use the host terminal scrollback while enabled. Drag to select text in the viewport (double/triple click selects a word/line), copied on release. To use the terminal\u2019s own selection instead, hold Shift (or Option on macOS) while dragging.",
873
886
  showInDialog: true
874
887
  },
875
888
  showScrollbar: {
@@ -1187,12 +1200,12 @@ var SETTINGS_SCHEMA = {
1187
1200
  ]
1188
1201
  },
1189
1202
  maxSessionTurns: {
1190
- type: "number",
1203
+ type: "integer",
1191
1204
  label: "Max Session Turns",
1192
1205
  category: "Model",
1193
1206
  requiresRestart: false,
1194
1207
  default: -1,
1195
- description: "Maximum number of user/model/tool turns to keep in a session. -1 means unlimited.",
1208
+ description: "Maximum number of user/model/tool turns to keep in a session. Must be an integer; -1 means unlimited.",
1196
1209
  showInDialog: false
1197
1210
  },
1198
1211
  maxWallTimeSeconds: {
@@ -1268,12 +1281,12 @@ var SETTINGS_SCHEMA = {
1268
1281
  showInDialog: false
1269
1282
  },
1270
1283
  maxToolCallsPerTurn: {
1271
- type: "number",
1284
+ type: "integer",
1272
1285
  label: "Max Tool Calls Per Turn",
1273
1286
  category: "Model",
1274
1287
  requiresRestart: false,
1275
1288
  default: DEFAULT_MAX_TOOL_CALLS_PER_TURN,
1276
- description: "Hard cap on tool calls within a single turn (one model turn plus its tool-result continuations; blocking Stop-hook continuations such as /goal iterations start a fresh budget). An always-on circuit breaker against runaway turns, independent of model.skipLoopDetection. Set to 0 or a negative value to disable the cap.",
1289
+ description: "Per-turn tool-call cap (one model turn plus its tool-result continuations; blocking Stop-hook continuations such as /goal iterations start a fresh budget). When set explicitly, this value is a hard cap: the turn halts on the next tool call after it is reached (the released behavior). When left unset (default 100), the cap is adaptive: once the turn exceeds 100 it halts only when the model keeps repeating the same call (a stuck loop); a productive turn (diverse calls) continues up to a hard backstop of 1000, which always halts. The adaptive default applies to both the interactive TUI and non-interactive (-p / JSON / stream-JSON) core-client runs; the daemon/ACP path always treats the value as a hard cap. An always-on circuit breaker against runaway turns, independent of model.skipLoopDetection. Set to 0 or a negative value to disable the cap.",
1277
1290
  showInDialog: false
1278
1291
  },
1279
1292
  skipStartupContext: {
@@ -1617,7 +1630,7 @@ var SETTINGS_SCHEMA = {
1617
1630
  label: "Enable Auto Skill",
1618
1631
  category: "Memory",
1619
1632
  requiresRestart: false,
1620
- default: true,
1633
+ default: false,
1621
1634
  description: "Enable background review for reusable project skills after tool-heavy sessions.",
1622
1635
  showInDialog: false
1623
1636
  },
@@ -1980,6 +1993,17 @@ var SETTINGS_SCHEMA = {
1980
1993
  default: void 0,
1981
1994
  description: "Default timeout, in milliseconds, for foreground shell commands started by the agent. A per-call timeout on the shell tool overrides this. When unset, foreground commands time out after 120000 ms (2 minutes). Set to 0 to disable the timeout.",
1982
1995
  showInDialog: false
1996
+ },
1997
+ heartbeatIntervalMs: {
1998
+ type: "integer",
1999
+ minimum: 0,
2000
+ maximum: 6e5,
2001
+ label: "Silent Command Heartbeat Interval (ms)",
2002
+ category: "Tools",
2003
+ requiresRestart: true,
2004
+ default: void 0,
2005
+ description: "Interval, in milliseconds, between liveness heartbeats emitted while a foreground shell command produces no output. Heartbeats are forwarded to ACP clients and stream-json consumers so they can tell a silent command from a dead session. When unset, heartbeats fire every 10000 ms (10 seconds). Set to 0 to disable heartbeats.",
2006
+ showInDialog: false
1983
2007
  }
1984
2008
  }
1985
2009
  },
@@ -2038,7 +2062,7 @@ var SETTINGS_SCHEMA = {
2038
2062
  label: "Tool Approval Mode",
2039
2063
  category: "Tools",
2040
2064
  requiresRestart: false,
2041
- default: "default" /* DEFAULT */,
2065
+ default: "auto" /* AUTO */,
2042
2066
  description: "Approval mode for tool usage. Controls how tools are approved before execution.",
2043
2067
  showInDialog: true,
2044
2068
  options: [
@@ -2462,13 +2486,30 @@ var SETTINGS_SCHEMA = {
2462
2486
  requiresRestart: true,
2463
2487
  default: void 0,
2464
2488
  minimum: 1,
2465
- description: "Global maximum number of background sub-agents that can run concurrently. Additional background agents wait in a queue until a slot is available. Per-model limits are not supported yet.",
2489
+ description: "Global maximum number of background sub-agents that can run concurrently. Additional background agents wait in a queue until a slot is available. Use maxParallelAgentsByModel to cap a specific model below this global limit.",
2466
2490
  showInDialog: false,
2467
2491
  jsonSchemaOverride: {
2468
2492
  type: "integer",
2469
2493
  minimum: 1
2470
2494
  }
2471
2495
  },
2496
+ maxParallelAgentsByModel: {
2497
+ type: "object",
2498
+ label: "Max Parallel Agents Per Model",
2499
+ category: "Advanced",
2500
+ requiresRestart: true,
2501
+ default: void 0,
2502
+ description: 'Per-model maximum number of background sub-agents that can run concurrently, keyed by model ID (e.g. { "qwen3-max": 2 }). Useful when a model has a lower concurrency capacity. Takes precedence over the global maxParallelAgents for the matched model; models not listed here fall back to the global limit.',
2503
+ showInDialog: false,
2504
+ mergeStrategy: "shallow_merge" /* SHALLOW_MERGE */,
2505
+ jsonSchemaOverride: {
2506
+ type: "object",
2507
+ additionalProperties: {
2508
+ type: "integer",
2509
+ minimum: 1
2510
+ }
2511
+ }
2512
+ },
2472
2513
  displayMode: {
2473
2514
  type: "enum",
2474
2515
  label: "Display Mode",
@@ -2800,8 +2841,8 @@ var SETTINGS_SCHEMA = {
2800
2841
  label: "Enable Artifacts",
2801
2842
  category: "Experimental",
2802
2843
  requiresRestart: true,
2803
- default: false,
2804
- description: "Enable the Artifact tool (experimental). When enabled, the model can publish a self-contained HTML page as an interactive Artifact and open it in the browser. Interactive, non-SDK sessions only. QWEN_CODE_ENABLE_ARTIFACT=1 enables the metadata-only record_artifact tool for non-SDK daemon sessions, and also enables the Artifact tool in interactive sessions. QWEN_CODE_DISABLE_ARTIFACT=1 hard-disables both.",
2844
+ default: true,
2845
+ description: "Enable artifact tools. Enabled by default. In interactive, non-SDK sessions, the model can publish a self-contained HTML page as an interactive Artifact and open it in the browser. Non-SDK daemon sessions can use the metadata-only record_artifact tool. Set this to false or use QWEN_CODE_DISABLE_ARTIFACT=1 to disable both.",
2805
2846
  showInDialog: true
2806
2847
  },
2807
2848
  emitToolUseSummaries: {
@@ -2821,7 +2862,7 @@ var SETTINGS_SCHEMA = {
2821
2862
  category: "Experimental",
2822
2863
  requiresRestart: true,
2823
2864
  default: {},
2824
- description: "Configuration for the experimental Artifact tool (enable it via experimental.artifact). Selects the publish backend and, for the host backend, the upload command and shareable URL template.",
2865
+ description: "Configuration for artifact publishing. Selects the publish backend and, for the host backend, the upload command and shareable URL template.",
2825
2866
  showInDialog: false,
2826
2867
  properties: {
2827
2868
  autoOpen: {
@@ -3244,6 +3285,11 @@ function validateSettingValue(def, value) {
3244
3285
  return `Value must be one of: ${allowed}`;
3245
3286
  }
3246
3287
  break;
3288
+ case "object":
3289
+ if (!value || typeof value !== "object" || Array.isArray(value)) {
3290
+ return "Value must be an object";
3291
+ }
3292
+ break;
3247
3293
  default:
3248
3294
  return `Settings of type '${def.type}' cannot be modified via this API`;
3249
3295
  }
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  createDebugLogger
5
- } from "./chunk-7NFB7LBQ.js";
5
+ } from "./chunk-UE5TZ55T.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";
@@ -10,6 +10,226 @@ import {
10
10
  __name
11
11
  } from "./chunk-J2S4EL5Y.js";
12
12
 
13
+ // packages/core/src/core/tokenLimits.ts
14
+ init_esbuild_shims();
15
+ var DEFAULT_TOKEN_LIMIT = 2e5;
16
+ var DEFAULT_OUTPUT_TOKEN_LIMIT = 32e3;
17
+ var ESCALATED_MAX_TOKENS = 64e3;
18
+ var OUTPUT_TOKEN_CEILING = ESCALATED_MAX_TOKENS;
19
+ var MIN_CLAMPED_OUTPUT_TOKENS = 4e3;
20
+ function outputClampMargin(contextWindowSize) {
21
+ return Math.max(1e4, Math.round(0.05 * contextWindowSize));
22
+ }
23
+ __name(outputClampMargin, "outputClampMargin");
24
+ function clampOutputTokensToWindow(outputCeiling, contextWindowSize, promptTokens) {
25
+ const room = contextWindowSize - promptTokens - outputClampMargin(contextWindowSize);
26
+ return Math.min(outputCeiling, Math.max(MIN_CLAMPED_OUTPUT_TOKENS, room));
27
+ }
28
+ __name(clampOutputTokensToWindow, "clampOutputTokensToWindow");
29
+ function parsePositiveIntegerEnvValue(raw) {
30
+ if (raw === void 0) return void 0;
31
+ const trimmed = raw.trim();
32
+ if (!/^\d+$/.test(trimmed)) return void 0;
33
+ const parsed = Number(trimmed);
34
+ if (!Number.isSafeInteger(parsed) || parsed <= 0) return void 0;
35
+ return parsed;
36
+ }
37
+ __name(parsePositiveIntegerEnvValue, "parsePositiveIntegerEnvValue");
38
+ var LIMITS = {
39
+ "32k": 32768,
40
+ "64k": 65536,
41
+ "128k": 131072,
42
+ "192k": 196608,
43
+ // MiniMax-M2.5 context window
44
+ "200k": 2e5,
45
+ // vendor-declared decimal, used by OpenAI, Anthropic, etc.
46
+ "256k": 262144,
47
+ "272k": 272e3,
48
+ // vendor-declared decimal, GPT-5.x input (400K total - 128K output)
49
+ "384k": 384e3,
50
+ // vendor-declared decimal, DeepSeek V4 max output
51
+ "400k": 4e5,
52
+ // vendor-declared decimal, used by OpenAI GPT-5.x
53
+ "512k": 524288,
54
+ "1m": 1e6,
55
+ // Output token limits (typically much smaller than input limits)
56
+ "4k": 4096,
57
+ "8k": 8192,
58
+ "16k": 16384
59
+ };
60
+ function normalize(model) {
61
+ let s = (model ?? "").toLowerCase().trim();
62
+ s = s.replace(/^.*\//, "");
63
+ s = s.split("|").pop() ?? s;
64
+ s = s.split(":").pop() ?? s;
65
+ s = s.replace(/\s+/g, "-");
66
+ s = s.replace(/-preview/g, "");
67
+ if (!s.match(/^qwen-(?:plus|flash|vl-max)-latest$/) && !s.match(/^kimi-k2-\d{4}$/)) {
68
+ s = s.replace(
69
+ /-(?:\d{4,}|\d+x\d+b|v\d+(?:\.\d+)*|(?<=-[^-]+-)\d+(?:\.\d+)+|latest|exp)$/g,
70
+ ""
71
+ );
72
+ }
73
+ s = s.replace(/-(?:\d?bit|int[48]|bf16|fp16|q[45]|quantized)$/g, "");
74
+ return s;
75
+ }
76
+ __name(normalize, "normalize");
77
+ var PATTERNS = [
78
+ // -------------------
79
+ // Google Gemini
80
+ // -------------------
81
+ [/^gemini-3/, LIMITS["1m"]],
82
+ // Gemini 3.x (Pro, Flash, 3.1, etc.): 1M
83
+ [/^gemini-/, LIMITS["1m"]],
84
+ // Gemini fallback (1.5, 2.x): 1M
85
+ // -------------------
86
+ // OpenAI
87
+ // -------------------
88
+ [/^gpt-5/, LIMITS["272k"]],
89
+ // GPT-5.x: 272K input (400K total - 128K output)
90
+ [/^gpt-/, LIMITS["128k"]],
91
+ // GPT fallback (4o, 4.1, etc.): 128K
92
+ [/^o\d/, LIMITS["200k"]],
93
+ // o-series (o3, o4-mini, etc.): 200K
94
+ // -------------------
95
+ // Anthropic Claude
96
+ // -------------------
97
+ [/^claude-opus-4-(?:6|7|8)/, LIMITS["1m"]],
98
+ // Opus 4.6-4.8: 1M
99
+ [/^claude-/, LIMITS["200k"]],
100
+ // All Claude models: 200K
101
+ // -------------------
102
+ // Alibaba / Qwen
103
+ // -------------------
104
+ // Commercial API models (1,000,000 context)
105
+ [/^qwen3-coder-plus/, LIMITS["1m"]],
106
+ [/^qwen3-coder-flash/, LIMITS["1m"]],
107
+ [/^qwen3\.\d/, LIMITS["1m"]],
108
+ [/^qwen-plus-latest$/, LIMITS["1m"]],
109
+ [/^qwen-flash-latest$/, LIMITS["1m"]],
110
+ [/^coder-model$/, LIMITS["1m"]],
111
+ // Commercial API models (256K context)
112
+ [/^qwen3-max/, LIMITS["256k"]],
113
+ // Open-source Qwen3 variants: 256K native
114
+ [/^qwen3-coder-/, LIMITS["256k"]],
115
+ // Qwen fallback (VL, turbo, plus, 2.5, etc.): 256K
116
+ [/^qwen/, LIMITS["256k"]],
117
+ // -------------------
118
+ // DeepSeek
119
+ // -------------------
120
+ [/^deepseek-v4/, LIMITS["1m"]],
121
+ // DeepSeek V4 (flash, pro): 1M
122
+ [/^deepseek/, LIMITS["128k"]],
123
+ // -------------------
124
+ // Zhipu GLM
125
+ // -------------------
126
+ // 1M context is the forward default for new GLM releases (GLM-5.2+, GLM-6.x,
127
+ // and beyond) so they need no future code change. Confirmed 200K families
128
+ // (GLM-5 / 5.0 / 5.1, GLM-4.x and older) are pinned explicitly first.
129
+ [/^glm-5(\.[01])?(-|$)/, 202752],
130
+ // GLM-5 / 5.0 / 5.1: 200K
131
+ [/^glm-(?:[5-9]|\d{2,})/, LIMITS["1m"]],
132
+ // GLM-5.2+, 6.x..9.x, 10.x+: 1M
133
+ [/^glm-/, 202752],
134
+ // GLM <=4.x / non-numeric fallback: 200K
135
+ // -------------------
136
+ // MiniMax
137
+ // -------------------
138
+ [/^minimax-m3/i, LIMITS["1m"]],
139
+ // MiniMax-M3: 1,000,000
140
+ [/^minimax-m2\.5/i, LIMITS["192k"]],
141
+ // MiniMax-M2.5: 196,608
142
+ [/^minimax-/i, LIMITS["200k"]],
143
+ // MiniMax fallback: 200K
144
+ // -------------------
145
+ // Moonshot / Kimi
146
+ // -------------------
147
+ [/^kimi-/, LIMITS["256k"]],
148
+ // Kimi fallback: 256K
149
+ // -------------------
150
+ // ByteDance Seed-OSS (512K)
151
+ // -------------------
152
+ [/^seed-oss/, LIMITS["512k"]]
153
+ ];
154
+ var OUTPUT_PATTERNS = [
155
+ // Google Gemini
156
+ [/^gemini-3/, LIMITS["64k"]],
157
+ // Gemini 3.x: 64K
158
+ [/^gemini-/, LIMITS["8k"]],
159
+ // Gemini fallback: 8K
160
+ // OpenAI
161
+ [/^gpt-5/, LIMITS["128k"]],
162
+ // GPT-5.x: 128K
163
+ [/^gpt-/, LIMITS["16k"]],
164
+ // GPT fallback: 16K
165
+ [/^o\d/, LIMITS["128k"]],
166
+ // o-series: 128K
167
+ // Anthropic Claude
168
+ [/^claude-opus-4-(?:6|7|8)/, 128e3],
169
+ // Opus 4.6-4.8: 128K
170
+ [/^claude-sonnet-4-6/, LIMITS["64k"]],
171
+ // Sonnet 4.6: 64K
172
+ [/^claude-/, LIMITS["64k"]],
173
+ // Claude fallback: 64K
174
+ // Alibaba / Qwen
175
+ [/^qwen3\.\d/, LIMITS["64k"]],
176
+ [/^coder-model$/, LIMITS["64k"]],
177
+ [/^qwen/, LIMITS["32k"]],
178
+ // Qwen fallback (VL, turbo, plus, etc.): 32K
179
+ // DeepSeek
180
+ [/^deepseek-v4/, LIMITS["384k"]],
181
+ // DeepSeek V4 (flash, pro): 384K
182
+ [/^deepseek-reasoner/, LIMITS["64k"]],
183
+ [/^deepseek-r1/, LIMITS["64k"]],
184
+ [/^deepseek-chat/, LIMITS["8k"]],
185
+ // Zhipu GLM
186
+ [/^glm-5(?:\.\d+)?(?:-|$)/, LIMITS["128k"]],
187
+ [/^glm-4\.7/, LIMITS["16k"]],
188
+ // MiniMax
189
+ [/^minimax-m2\.5/i, LIMITS["64k"]],
190
+ // Kimi
191
+ [/^kimi-k2\.5/, LIMITS["32k"]]
192
+ ];
193
+ function findTokenLimit(model, type = "input") {
194
+ const norm = normalize(model);
195
+ const patterns = type === "output" ? OUTPUT_PATTERNS : PATTERNS;
196
+ for (const [regex, limit] of patterns) {
197
+ if (regex.test(norm)) {
198
+ return limit;
199
+ }
200
+ }
201
+ return void 0;
202
+ }
203
+ __name(findTokenLimit, "findTokenLimit");
204
+ function hasExplicitOutputLimit(model) {
205
+ const norm = normalize(model);
206
+ return OUTPUT_PATTERNS.some(([regex]) => regex.test(norm));
207
+ }
208
+ __name(hasExplicitOutputLimit, "hasExplicitOutputLimit");
209
+ function knownTokenLimit(model, type = "input") {
210
+ return findTokenLimit(model, type);
211
+ }
212
+ __name(knownTokenLimit, "knownTokenLimit");
213
+ function tokenLimit(model, type = "input") {
214
+ return knownTokenLimit(model, type) ?? (type === "output" ? DEFAULT_OUTPUT_TOKEN_LIMIT : DEFAULT_TOKEN_LIMIT);
215
+ }
216
+ __name(tokenLimit, "tokenLimit");
217
+ function defaultOutputCeiling(model) {
218
+ const outputLimit = tokenLimit(model, "output");
219
+ if (/^claude-opus-4-(?:6|7|8)/.test(normalize(model))) {
220
+ return outputLimit;
221
+ }
222
+ return Math.min(outputLimit, OUTPUT_TOKEN_CEILING);
223
+ }
224
+ __name(defaultOutputCeiling, "defaultOutputCeiling");
225
+ function reconcileMaxTokens(configMaxTokens, requestMaxTokens) {
226
+ if (typeof configMaxTokens === "number" && typeof requestMaxTokens === "number") {
227
+ return Math.min(configMaxTokens, requestMaxTokens);
228
+ }
229
+ return void 0;
230
+ }
231
+ __name(reconcileMaxTokens, "reconcileMaxTokens");
232
+
13
233
  // packages/core/src/utils/request-tokenizer/textTokenizer.ts
14
234
  init_esbuild_shims();
15
235
  var NON_ASCII_RE = /[\u0080-\uffff]/;
@@ -58,6 +278,18 @@ var TextTokenizer = class {
58
278
  }
59
279
  };
60
280
 
281
+ // packages/core/src/core/tool-call-preparation.ts
282
+ init_esbuild_shims();
283
+ var preparationsByResponse = /* @__PURE__ */ new WeakMap();
284
+ function setToolCallPreparations(response, preparations) {
285
+ preparationsByResponse.set(response, preparations);
286
+ }
287
+ __name(setToolCallPreparations, "setToolCallPreparations");
288
+ function getToolCallPreparations(response) {
289
+ return preparationsByResponse.get(response) ?? [];
290
+ }
291
+ __name(getToolCallPreparations, "getToolCallPreparations");
292
+
61
293
  // packages/core/src/utils/runtimeDiagnostics.ts
62
294
  init_esbuild_shims();
63
295
  var RUNTIME_PROFILE_ENV = "QWEN_CODE_PROFILE_RUNTIME";
@@ -1241,10 +1473,26 @@ function toOpenAPI30(schema) {
1241
1473
  __name(toOpenAPI30, "toOpenAPI30");
1242
1474
 
1243
1475
  export {
1476
+ DEFAULT_TOKEN_LIMIT,
1477
+ DEFAULT_OUTPUT_TOKEN_LIMIT,
1478
+ ESCALATED_MAX_TOKENS,
1479
+ OUTPUT_TOKEN_CEILING,
1480
+ MIN_CLAMPED_OUTPUT_TOKENS,
1481
+ outputClampMargin,
1482
+ clampOutputTokensToWindow,
1483
+ parsePositiveIntegerEnvValue,
1484
+ normalize,
1485
+ hasExplicitOutputLimit,
1486
+ knownTokenLimit,
1487
+ tokenLimit,
1488
+ defaultOutputCeiling,
1489
+ reconcileMaxTokens,
1244
1490
  estimateTextTokens,
1245
1491
  TextTokenizer,
1246
1492
  safeJsonParse,
1247
1493
  convertSchema,
1494
+ setToolCallPreparations,
1495
+ getToolCallPreparations,
1248
1496
  isRuntimeDiagnosticsEnabled,
1249
1497
  RuntimeDiagnosticsCollector,
1250
1498
  runtimeDiagnostics,
@@ -1258,11 +1506,11 @@ export {
1258
1506
  */
1259
1507
  /**
1260
1508
  * @license
1261
- * Copyright 2026 Qwen
1509
+ * Copyright 2025 Google LLC
1262
1510
  * SPDX-License-Identifier: Apache-2.0
1263
1511
  */
1264
1512
  /**
1265
1513
  * @license
1266
- * Copyright 2025 Google LLC
1514
+ * Copyright 2026 Qwen
1267
1515
  * SPDX-License-Identifier: Apache-2.0
1268
1516
  */