@qwen-code/qwen-code 0.19.10 → 0.19.11-nightly.20260717.f8e6e8931

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 (275) hide show
  1. package/bundled/qc-helper/docs/configuration/settings.md +7 -6
  2. package/bundled/qc-helper/docs/features/approval-mode.md +2 -2
  3. package/bundled/qc-helper/docs/features/channels/dingtalk.md +30 -0
  4. package/bundled/qc-helper/docs/features/channels/overview.md +53 -17
  5. package/bundled/qc-helper/docs/features/channels/wecom.md +8 -7
  6. package/bundled/qc-helper/docs/features/sandbox.md +2 -0
  7. package/bundled/qc-helper/docs/qwen-serve-deploy-local.md +42 -7
  8. package/bundled/qc-helper/docs/qwen-serve.md +53 -46
  9. package/bundled/review/SKILL.md +163 -403
  10. package/chunks/{MaxSizedBox-67ODZ4SZ.js → MaxSizedBox-JGTP7YJQ.js} +13 -13
  11. package/chunks/{StandaloneSessionPicker-SIPBQT5Z.js → StandaloneSessionPicker-2XQDOYZ5.js} +27 -27
  12. package/chunks/{acpAgent-VPZJXLFX.js → acpAgent-RXRJA7GD.js} +1135 -373
  13. package/chunks/{agent-Z7NWL6XL.js → agent-UQP53UWQ.js} +10 -10
  14. package/chunks/{agent-headless-73HZ6ROQ.js → agent-headless-I52OXDCK.js} +10 -10
  15. package/chunks/{anthropicContentGenerator-56U3YCP2.js → anthropicContentGenerator-HBRXJSP4.js} +76 -14
  16. package/chunks/{artifact-tool-BWZZJ42H.js → artifact-tool-MIZLXBLF.js} +1 -1
  17. package/chunks/{askUserQuestion-WU3S5A5T.js → askUserQuestion-XMJVPNWM.js} +1 -1
  18. package/chunks/{bridge-XFKW6S7Q.js → bridge-3DVRNBSF.js} +14 -16
  19. package/chunks/{ca-C2JTT2N5.js → ca-CODEN7TD.js} +5 -0
  20. package/chunks/channel-worker-group-SOUWTFHC.js +21 -0
  21. package/chunks/{channel-worker-manager-5RWKSGEU.js → channel-worker-manager-LOVSV3WW.js} +34 -10
  22. package/chunks/{channel-worker-supervisor-PCDAZN4D.js → channel-worker-supervisor-XW6MHJBQ.js} +6 -4
  23. package/chunks/{chunk-BBNVFRGD.js → chunk-3DWIFU7L.js} +1 -1
  24. package/chunks/{chunk-ZQTZXVHP.js → chunk-3KSHYS4T.js} +4 -18
  25. package/chunks/{chunk-ZKMGAFYV.js → chunk-3LS57JZI.js} +1 -1
  26. package/chunks/{chunk-B5I2IIWY.js → chunk-46Y6SSQ7.js} +5 -5
  27. package/chunks/{chunk-GDQQRV43.js → chunk-4BJVSIS3.js} +2 -2
  28. package/chunks/{chunk-L37RC7MQ.js → chunk-4HTHLSIH.js} +1 -1
  29. package/chunks/{chunk-DPFBNG72.js → chunk-4UBEB74N.js} +1 -1
  30. package/chunks/{chunk-AAR5SGMD.js → chunk-4YR7FSAM.js} +7 -5
  31. package/chunks/{chunk-OATTJGPJ.js → chunk-5CNYZ7TN.js} +7 -7
  32. package/chunks/{chunk-JSJFKYWT.js → chunk-5VWYKIMW.js} +1 -1
  33. package/chunks/{chunk-6GETGQWP.js → chunk-5WWYHNAH.js} +39 -10
  34. package/chunks/{chunk-65N2J6V2.js → chunk-6ANLV27M.js} +2 -2
  35. package/chunks/{chunk-L62SEJWY.js → chunk-6RV42SFP.js} +4 -4
  36. package/chunks/{chunk-XXJKGHZV.js → chunk-6VMOP2Z7.js} +4 -4
  37. package/chunks/{chunk-URU5UEK6.js → chunk-6WGZDD67.js} +135 -68
  38. package/chunks/{chunk-7NAWTFVY.js → chunk-6WPJRYLZ.js} +2 -2
  39. package/chunks/chunk-6WVLHULT.js +59 -0
  40. package/chunks/{chunk-N6FXRR6P.js → chunk-7ZFXHKKZ.js} +1 -1
  41. package/chunks/{chunk-E67NFMF4.js → chunk-A2HWMJVO.js} +35 -1
  42. package/chunks/{chunk-4FMG7EDJ.js → chunk-AEKHQ3E5.js} +77 -11
  43. package/chunks/{chunk-WIASPMLX.js → chunk-AH3YAJU6.js} +22 -33
  44. package/chunks/{chunk-6GKMJPOC.js → chunk-AHAH5H6D.js} +3 -3
  45. package/chunks/{chunk-3XJFUTNM.js → chunk-AVAU67KP.js} +57 -10
  46. package/chunks/{chunk-LNUXFLLJ.js → chunk-BDHYJ2MM.js} +53 -5
  47. package/chunks/{chunk-P6LART6G.js → chunk-BTSE2DUP.js} +957 -122
  48. package/chunks/{chunk-7MJAZMXK.js → chunk-BZ5D7OVV.js} +28 -77
  49. package/chunks/{chunk-WDWJ4OQJ.js → chunk-CC2UASQ4.js} +3 -3
  50. package/chunks/{chunk-WLXYAKV7.js → chunk-D7KYA6EY.js} +3 -3
  51. package/chunks/{chunk-5LROA5W4.js → chunk-DD45XVOQ.js} +3 -3
  52. package/chunks/{chunk-H3FQOPPS.js → chunk-DOPUYNXO.js} +2 -2
  53. package/chunks/{chunk-SPUYQB4T.js → chunk-DPXB3XRN.js} +1 -1
  54. package/chunks/{chunk-XLIRF7IK.js → chunk-E7ECGLZW.js} +1 -1
  55. package/chunks/{chunk-RDRVMDWV.js → chunk-EMJJBXS7.js} +10 -10
  56. package/chunks/{chunk-TXY2C3D2.js → chunk-F333XEAU.js} +1 -1
  57. package/chunks/chunk-FEOZBUMT.js +77 -0
  58. package/chunks/{chunk-YYPXHMWO.js → chunk-FEYHXPZG.js} +4 -4
  59. package/chunks/{chunk-ZRKBI3DP.js → chunk-FNX3LGAK.js} +1 -1
  60. package/chunks/chunk-FXK3QMRD.js +140 -0
  61. package/chunks/{chunk-422XAKCK.js → chunk-G5ZKRK2E.js} +2 -2
  62. package/chunks/{chunk-DK33QJ3V.js → chunk-GCRFH57X.js} +732 -13
  63. package/chunks/{chunk-EQY6POVO.js → chunk-GLEJW7T2.js} +1 -1
  64. package/chunks/{chunk-FXMC7SL2.js → chunk-I6NOSIVF.js} +1 -1
  65. package/chunks/{chunk-VBRRNQB7.js → chunk-IHJRUIWN.js} +109 -22
  66. package/chunks/{chunk-F7NXQH4Y.js → chunk-IIXEI2VE.js} +1 -1
  67. package/chunks/{chunk-2UUAIFQO.js → chunk-JGUT3LWZ.js} +5 -0
  68. package/chunks/{chunk-5EBKKSBX.js → chunk-JY74T7PW.js} +1 -1
  69. package/chunks/chunk-KSZKSE23.js +226 -0
  70. package/chunks/{chunk-MO7O5722.js → chunk-KW46DBFM.js} +35 -2
  71. package/chunks/{chunk-TISZXPAX.js → chunk-L263ROM6.js} +1 -1
  72. package/chunks/chunk-LXXMOYPL.js +22 -0
  73. package/chunks/{chunk-YX4LLZ3D.js → chunk-NABT4VOY.js} +109 -35
  74. package/chunks/{chunk-W34A5MJH.js → chunk-NROLDLP4.js} +1 -1
  75. package/chunks/{chunk-V7EQTZYR.js → chunk-O3WCEZEN.js} +191 -44
  76. package/chunks/{chunk-K4PZ5F5T.js → chunk-OWT2CAEQ.js} +1 -1
  77. package/chunks/{chunk-4YWLED2A.js → chunk-PNCWEDF6.js} +7 -4
  78. package/chunks/{chunk-WDW64OW3.js → chunk-PSDTLRAV.js} +5 -5
  79. package/chunks/{chunk-7R4DPSRA.js → chunk-R3VWUU2E.js} +1 -1
  80. package/chunks/{chunk-K7CRWKOE.js → chunk-R6AO7HBQ.js} +4617 -4012
  81. package/chunks/{chunk-6OATMEYN.js → chunk-RTV5TUYB.js} +12 -4
  82. package/chunks/{chunk-6W6DI34P.js → chunk-SE6GSFAO.js} +159 -2
  83. package/chunks/{chunk-WTSXKLG5.js → chunk-SUARMD4Q.js} +1 -1
  84. package/chunks/chunk-T4TZQJ7W.js +48 -0
  85. package/chunks/{chunk-LTNI523B.js → chunk-T7CZYIAU.js} +28 -5
  86. package/chunks/{chunk-3MX7D6QN.js → chunk-TIOE2OPE.js} +32 -4
  87. package/chunks/{chunk-TTUO4DNG.js → chunk-UF6ZTWU5.js} +75 -710
  88. package/chunks/{chunk-Q5GLXH5Q.js → chunk-UJG4VV2O.js} +5 -5
  89. package/chunks/{chunk-CJFNEBYB.js → chunk-VFEZWI6F.js} +1 -1
  90. package/chunks/{chunk-UFOKA4PR.js → chunk-VHCSIMTF.js} +114 -4
  91. package/chunks/{chunk-TQBODCFD.js → chunk-VRR65QYW.js} +250 -2
  92. package/chunks/{chunk-CUUXANEQ.js → chunk-W6J7RSCK.js} +6 -1
  93. package/chunks/{chunk-YHN5SUIJ.js → chunk-W7H223ZZ.js} +1 -1
  94. package/chunks/{chunk-WX6SD4IQ.js → chunk-WTNZ6DXB.js} +1 -1
  95. package/chunks/{chunk-GGJII3FM.js → chunk-WZJELXEU.js} +92 -3
  96. package/chunks/{chunk-OFEVHGVU.js → chunk-X5HZX4EP.js} +9 -11
  97. package/chunks/{chunk-KSO42X3Z.js → chunk-X6YQWCIJ.js} +21 -2
  98. package/chunks/{chunk-7L4XBYVW.js → chunk-XK42MWWO.js} +9 -2
  99. package/chunks/{chunk-X362TMXZ.js → chunk-XQDPCQ3A.js} +7 -5
  100. package/chunks/{chunk-YU56QGXX.js → chunk-Y3TNSHKF.js} +1 -1
  101. package/chunks/{chunk-HHEFI4RP.js → chunk-YOJGIRTD.js} +714 -109
  102. package/chunks/{chunk-CEW4HDPK.js → chunk-ZK4AMPKI.js} +2459 -350
  103. package/chunks/{chunk-SXU3KKNI.js → chunk-ZQIYGQCG.js} +251 -54
  104. package/chunks/{computer-use-IYTX45WA.js → computer-use-LTW3VB6L.js} +10 -10
  105. package/chunks/{config-utils-CFT33LTP.js → config-utils-IQQT3GCI.js} +3 -3
  106. package/chunks/{contextCommand-272V77WU.js → contextCommand-GLMC6CTP.js} +12 -12
  107. package/chunks/{create-sub-session-WNX2OQVX.js → create-sub-session-EAB2U5XW.js} +1 -1
  108. package/chunks/{create-sub-session-CBJMQLYP.js → create-sub-session-YMWQAWSN.js} +10 -10
  109. package/chunks/{cron-create-36TIFKRT.js → cron-create-GMVKSXZT.js} +1 -1
  110. package/chunks/{cron-delete-OQD3WULU.js → cron-delete-VDZKUAVK.js} +1 -1
  111. package/chunks/{cron-list-4533T2FH.js → cron-list-UG7C7RAR.js} +1 -1
  112. package/chunks/{daemon-RNGFPMAB.js → daemon-PRB64RP5.js} +303 -71
  113. package/chunks/{daemon-status-provider-L4STG5VO.js → daemon-status-provider-5OMM5JHF.js} +19 -20
  114. package/chunks/{de-2VCDRDGU.js → de-NOXPCSYN.js} +5 -0
  115. package/chunks/{dist-ERCPDVA6.js → dist-4WCQEZIN.js} +4 -51
  116. package/chunks/{dist-MOEC47TR.js → dist-DOPL5LSQ.js} +1 -1
  117. package/chunks/{dist-JZE7F6YR.js → dist-GXJVCOS7.js} +1 -1
  118. package/chunks/{dist-PHEPJLXD.js → dist-PX2ERZ6I.js} +2 -2
  119. package/chunks/{dist-HNN7DR2L.js → dist-V2YVLYOW.js} +58 -30
  120. package/chunks/{dist-3V3ZV6ML.js → dist-VYWUKURL.js} +1 -1
  121. package/chunks/{earlyInputCapture-EN4BRREQ.js → earlyInputCapture-A3WSRN4T.js} +10 -10
  122. package/chunks/{edit-OMAF2QDR.js → edit-7PG4AH27.js} +10 -10
  123. package/chunks/{en-NJCA3TAA.js → en-JFVULHTB.js} +6 -0
  124. package/chunks/{enter-worktree-BBZX52HG.js → enter-worktree-QUSB44RE.js} +10 -10
  125. package/chunks/{enterPlanMode-5NNFMBUY.js → enterPlanMode-NVSIEL7X.js} +10 -10
  126. package/chunks/{environment-7TEWMJYN.js → environment-AHHXHQTI.js} +12 -12
  127. package/chunks/{errors-I4VKVX3F.js → errors-NSWSRXC7.js} +12 -12
  128. package/chunks/{exit-worktree-FUWRJI33.js → exit-worktree-FXYEYHPL.js} +10 -10
  129. package/chunks/{exitPlanMode-IHCJ5EEI.js → exitPlanMode-JI5GK3F6.js} +10 -10
  130. package/chunks/{fast-path-ZA57TOH4.js → fast-path-X7EVDLKZ.js} +2 -2
  131. package/chunks/{fr-5F3E7WKD.js → fr-HVFNU42H.js} +5 -0
  132. package/chunks/{gemini-UOAKVXBG.js → gemini-YRLHY5KS.js} +162 -206
  133. package/chunks/{geminiContentGenerator-G6UCE6MW.js → geminiContentGenerator-SPLFPV5E.js} +1 -1
  134. package/chunks/{glob-4GJQ2UFF.js → glob-WASUBCSA.js} +10 -10
  135. package/chunks/{grep-5QSYXF2E.js → grep-DUVG3NGA.js} +10 -10
  136. package/chunks/{handleAutoUpdate-ULHNWL6R.js → handleAutoUpdate-NGE5AQ2N.js} +14 -14
  137. package/chunks/{i18n-CYDUTF6F.js → i18n-QNVR36NB.js} +11 -11
  138. package/chunks/{initializer-NRFKUGIO.js → initializer-ZY7ORPMH.js} +15 -15
  139. package/chunks/{installationInfo-WELKRHHE.js → installationInfo-4R75MFTB.js} +11 -11
  140. package/chunks/{ja-66J6B53L.js → ja-PY5AF544.js} +5 -0
  141. package/chunks/{list-JVDXEG2E.js → list-36JCMZRS.js} +18 -18
  142. package/chunks/{loadedSettingsAdapter-WAM4VUTG.js → loadedSettingsAdapter-PQIOJUSJ.js} +15 -15
  143. package/chunks/{loop-wakeup-MVUKDVCP.js → loop-wakeup-QXWZSCYM.js} +2 -2
  144. package/chunks/{ls-RXNIAQDE.js → ls-2OUTG3IZ.js} +1 -1
  145. package/chunks/{lsp-HB5LM5IL.js → lsp-4VMNXZW6.js} +1 -1
  146. package/chunks/{mcp-YHOZN3ZM.js → mcp-QXY6XA6H.js} +15 -15
  147. package/chunks/{monitor-R7XZPJHQ.js → monitor-AVEKRSY3.js} +12 -11
  148. package/chunks/{nonInteractiveCli-NSOB6D74.js → nonInteractiveCli-YWIBKX4M.js} +50 -50
  149. package/chunks/{notebook-edit-6RNKE2L2.js → notebook-edit-4SBTJX72.js} +10 -10
  150. package/chunks/{openaiContentGenerator-XNS5S64I.js → openaiContentGenerator-4EBAO7LR.js} +8 -8
  151. package/chunks/{pidfile-XE4RRR2P.js → pidfile-JMIUPXSU.js} +10 -10
  152. package/chunks/processUtils-EOINMEIH.js +29 -0
  153. package/chunks/{pt-TFZO5Y6T.js → pt-A3PRQXMU.js} +5 -0
  154. package/chunks/{qwenContentGenerator-APDPJ3VN.js → qwenContentGenerator-M7UBL3JS.js} +12 -12
  155. package/chunks/{read-file-XSUWXSR7.js → read-file-DXSEFHCV.js} +5 -5
  156. package/chunks/{read-mcp-resource-6LRTZKXI.js → read-mcp-resource-JUFHCKSC.js} +1 -1
  157. package/chunks/{record-artifact-PMDTY4OS.js → record-artifact-DWSMBXYY.js} +1 -1
  158. package/chunks/{ripGrep-APB3CDMU.js → ripGrep-VTRVFMDJ.js} +10 -10
  159. package/chunks/{ru-4L4LFHIT.js → ru-IBCWUTOC.js} +5 -0
  160. package/chunks/{run-qwen-serve-NWTGPERT.js → run-qwen-serve-P7WQDZAS.js} +59 -38
  161. package/chunks/{runtime-EIO3NQKR.js → runtime-UHYO6JGN.js} +19 -19
  162. package/chunks/{scheduler-JJDZBDRN.js → scheduler-WTK7ZLV5.js} +10 -10
  163. package/chunks/{send-message-SR4WSXP2.js → send-message-JZ752NWD.js} +2 -2
  164. package/chunks/{serve-WTIPB3EI.js → serve-AG2AOG56.js} +15 -15
  165. package/chunks/{server-NJPHQHLH.js → server-G5MM2BRI.js} +1157 -225
  166. package/chunks/{session-O4AO7FTS.js → session-NUAGEMVS.js} +51 -51
  167. package/chunks/{settings-HQNDK7TG.js → settings-VQA5PR2M.js} +14 -14
  168. package/chunks/{shell-UIXM6PWG.js → shell-X33RWGLP.js} +12 -10
  169. package/chunks/{skill-3XMB4ULV.js → skill-PHSU2OPP.js} +5 -5
  170. package/chunks/{spawnChannel-3R632QRM.js → spawnChannel-D6TZN4W7.js} +12 -13
  171. package/chunks/{src-USZKPUOC.js → src-6OJFUPTL.js} +95 -34
  172. package/chunks/{standalone-update-L5XW3D7K.js → standalone-update-ZARRW44Y.js} +12 -12
  173. package/chunks/{startInteractiveUI-CPZOL2WB.js → startInteractiveUI-C6IZRTF3.js} +176 -158
  174. package/chunks/{syntheticOutput-YKFNUQZD.js → syntheticOutput-LELY6HAI.js} +2 -2
  175. package/chunks/{task-create-NUFOHU53.js → task-create-QY3BIMNM.js} +3 -3
  176. package/chunks/{task-list-Z2IKQY3S.js → task-list-D2U47WBJ.js} +1 -1
  177. package/chunks/{task-stop-KQFIVQTJ.js → task-stop-N6E5IYLH.js} +1 -1
  178. package/chunks/{task-update-HKADXSTD.js → task-update-HJCQILLB.js} +3 -3
  179. package/chunks/{team-create-XXPRF3IQ.js → team-create-H434NQP2.js} +10 -10
  180. package/chunks/{team-delete-SDNTGZLG.js → team-delete-RCWYDRF4.js} +1 -1
  181. package/chunks/{team-plan-approval-EOTTKHDW.js → team-plan-approval-IIOHXZU6.js} +10 -10
  182. package/chunks/{theme-manager-P6UITO2L.js → theme-manager-IEOPHMX6.js} +10 -10
  183. package/chunks/{todoWrite-YNXB27GB.js → todoWrite-FKCGATPJ.js} +1 -1
  184. package/chunks/{tool-search-DDNGK2LR.js → tool-search-WIIEDALL.js} +6 -6
  185. package/chunks/{total-session-admission-PL5N7DNY.js → total-session-admission-WU3DORRW.js} +15 -17
  186. package/chunks/{trustedFolders-C5LMF3UR.js → trustedFolders-JVUTUAJ3.js} +11 -11
  187. package/chunks/update-relaunch-X5EQKCH5.js +87 -0
  188. package/chunks/{updateCheck-QTVVISH7.js → updateCheck-TGO2X735.js} +14 -12
  189. package/chunks/{validateNonInterActiveAuth-RY4RKBQG.js → validateNonInterActiveAuth-2MEUL2ME.js} +46 -46
  190. package/chunks/{version-U45RYOSD.js → version-KBGQKZWV.js} +1 -1
  191. package/chunks/{web-fetch-ZSPR3PRR.js → web-fetch-CFCWTCAP.js} +2 -3
  192. package/chunks/{workflow-TCIAQYOA.js → workflow-PAOSF4CG.js} +11 -11
  193. package/chunks/{workspace-providers-status-I3G2HYLY.js → workspace-providers-status-AYHJYSVO.js} +18 -18
  194. package/chunks/{workspace-registration-store-IH5GLZ6Y.js → workspace-registration-store-GZMR53QL.js} +1 -1
  195. package/chunks/{workspace-registry-QEKBELIX.js → workspace-registry-C2IXZWPF.js} +15 -17
  196. package/chunks/{workspace-service-ORKHGLP3.js → workspace-service-KDDAW33F.js} +20 -21
  197. package/chunks/{workspace-skills-status-D7QCNDYY.js → workspace-skills-status-WWEZBZXY.js} +16 -16
  198. package/chunks/{write-file-JGRQR5VM.js → write-file-ACN3TAIX.js} +10 -10
  199. package/chunks/{zh-FSAH32JB.js → zh-PAUNIMHQ.js} +6 -0
  200. package/chunks/{zh-TW-D2YIE2LO.js → zh-TW-GNEUIUFF.js} +6 -0
  201. package/cli-entry.js +92 -8
  202. package/cli.js +11 -11
  203. package/locales/ca.js +10 -0
  204. package/locales/de.js +10 -0
  205. package/locales/en.js +11 -0
  206. package/locales/fr.js +10 -0
  207. package/locales/ja.js +10 -0
  208. package/locales/pt.js +10 -0
  209. package/locales/ru.js +10 -0
  210. package/locales/zh-TW.js +11 -0
  211. package/locales/zh.js +11 -0
  212. package/package.json +3 -3
  213. package/web-shell/assets/{arc-CUeDlxvE.js → arc-Blc5_CnD.js} +1 -1
  214. package/web-shell/assets/{architectureDiagram-3BPJPVTR-PiUszkQA.js → architectureDiagram-3BPJPVTR-Dyv1BvGP.js} +1 -1
  215. package/web-shell/assets/{blockDiagram-GPEHLZMM-s2wYSO7e.js → blockDiagram-GPEHLZMM-CVAb8DyB.js} +1 -1
  216. package/web-shell/assets/{c4Diagram-AAUBKEIU-DyLxZoz9.js → c4Diagram-AAUBKEIU-ClHPb_6S.js} +1 -1
  217. package/web-shell/assets/channel-DkPTtnGS.js +1 -0
  218. package/web-shell/assets/{chunk-2J33WTMH-Dsdai7Tk.js → chunk-2J33WTMH-Dad9g3ZA.js} +1 -1
  219. package/web-shell/assets/{chunk-4BX2VUAB-DEosOjV7.js → chunk-4BX2VUAB-IJJSSdDs.js} +1 -1
  220. package/web-shell/assets/{chunk-55IACEB6-sNsRLTXf.js → chunk-55IACEB6-DRcc-Hl9.js} +1 -1
  221. package/web-shell/assets/{chunk-727SXJPM-DkRNZzmh.js → chunk-727SXJPM-DOCFB-6a.js} +1 -1
  222. package/web-shell/assets/{chunk-AQP2D5EJ-BrsRNpzd.js → chunk-AQP2D5EJ-CRZnSjHp.js} +1 -1
  223. package/web-shell/assets/{chunk-FMBD7UC4-CI039lpl.js → chunk-FMBD7UC4-BwUI4Yes.js} +1 -1
  224. package/web-shell/assets/{chunk-ND2GUHAM-M-pkeIfu.js → chunk-ND2GUHAM-DLy8doxd.js} +1 -1
  225. package/web-shell/assets/{chunk-QZHKN3VN-C4ckGNbH.js → chunk-QZHKN3VN-Bhz7iysj.js} +1 -1
  226. package/web-shell/assets/classDiagram-4FO5ZUOK-DBdPU8ix.js +1 -0
  227. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-DBdPU8ix.js +1 -0
  228. package/web-shell/assets/{cose-bilkent-S5V4N54A-BciKUAFq.js → cose-bilkent-S5V4N54A-jT1e8KzN.js} +1 -1
  229. package/web-shell/assets/{dagre-BM42HDAG-C1nTSgU6.js → dagre-BM42HDAG-C1veApQk.js} +1 -1
  230. package/web-shell/assets/{diagram-2AECGRRQ-BDPNWr1m.js → diagram-2AECGRRQ-C_NOwKeT.js} +1 -1
  231. package/web-shell/assets/{diagram-5GNKFQAL-CNFhTszL.js → diagram-5GNKFQAL-Bigfuz1r.js} +1 -1
  232. package/web-shell/assets/{diagram-KO2AKTUF-CjPa4p5a.js → diagram-KO2AKTUF-CpXltPpU.js} +1 -1
  233. package/web-shell/assets/{diagram-LMA3HP47-ZzPykSyG.js → diagram-LMA3HP47-DYawbYbH.js} +1 -1
  234. package/web-shell/assets/{diagram-OG6HWLK6-0UVtZ9A4.js → diagram-OG6HWLK6-D2t-ttd1.js} +1 -1
  235. package/web-shell/assets/{erDiagram-TEJ5UH35-CajDZCat.js → erDiagram-TEJ5UH35-Buc53PB5.js} +1 -1
  236. package/web-shell/assets/{flowDiagram-I6XJVG4X-BRuFBIvL.js → flowDiagram-I6XJVG4X-DwdFsCN7.js} +1 -1
  237. package/web-shell/assets/{ganttDiagram-6RSMTGT7-BevGmJqG.js → ganttDiagram-6RSMTGT7-XhiEKGoP.js} +1 -1
  238. package/web-shell/assets/{gitGraphDiagram-PVQCEYII-DvPMpBMb.js → gitGraphDiagram-PVQCEYII-D6We014a.js} +1 -1
  239. package/web-shell/assets/index-BctAmeF3.js +1143 -0
  240. package/web-shell/assets/{index-DzHwQkQq.js → index-CAWqS-bZ.js} +1 -1
  241. package/web-shell/assets/index-DLyhlZZO.css +5 -0
  242. package/web-shell/assets/{infoDiagram-5YYISTIA-Oixn7tA9.js → infoDiagram-5YYISTIA-C_iugRHQ.js} +1 -1
  243. package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-BgKpeg-j.js → ishikawaDiagram-YF4QCWOH-CAn9Kaix.js} +1 -1
  244. package/web-shell/assets/{journeyDiagram-JHISSGLW-74mwxIaA.js → journeyDiagram-JHISSGLW-BjDYOkEB.js} +1 -1
  245. package/web-shell/assets/{kanban-definition-UN3LZRKU-D4D6cEqA.js → kanban-definition-UN3LZRKU-Br_oI3Ob.js} +1 -1
  246. package/web-shell/assets/{linear-atZRE_L2.js → linear-BqnWHE9E.js} +1 -1
  247. package/web-shell/assets/{mermaid.core-KKudX-JC.js → mermaid.core-CT-sofSb.js} +5 -5
  248. package/web-shell/assets/{mindmap-definition-RKZ34NQL-CMCej9yG.js → mindmap-definition-RKZ34NQL-BbvrZR4B.js} +1 -1
  249. package/web-shell/assets/{pieDiagram-4H26LBE5-nhx40X7q.js → pieDiagram-4H26LBE5-gAwi3h_Q.js} +1 -1
  250. package/web-shell/assets/{quadrantDiagram-W4KKPZXB-CUmVcN3M.js → quadrantDiagram-W4KKPZXB-CONvBIuO.js} +1 -1
  251. package/web-shell/assets/{requirementDiagram-4Y6WPE33-C_vyEwyy.js → requirementDiagram-4Y6WPE33-lpkrcy1e.js} +1 -1
  252. package/web-shell/assets/{sankeyDiagram-5OEKKPKP-DU6G4VWR.js → sankeyDiagram-5OEKKPKP-Bk6FJHqb.js} +1 -1
  253. package/web-shell/assets/{sequenceDiagram-3UESZ5HK-DdeRR_KJ.js → sequenceDiagram-3UESZ5HK-B9b9bBzt.js} +1 -1
  254. package/web-shell/assets/{stateDiagram-AJRCARHV-C6iCI8ps.js → stateDiagram-AJRCARHV-JqBGC-S3.js} +1 -1
  255. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-B_w4fDnm.js +1 -0
  256. package/web-shell/assets/{timeline-definition-PNZ67QCA-B_Ea8Cb7.js → timeline-definition-PNZ67QCA-CCCceXDP.js} +1 -1
  257. package/web-shell/assets/{vennDiagram-CIIHVFJN-BPUVZEJA.js → vennDiagram-CIIHVFJN-EHRnmZ09.js} +1 -1
  258. package/web-shell/assets/{wardley-L42UT6IY-BWEj0lKY.js → wardley-L42UT6IY-CYIcHx3_.js} +1 -1
  259. package/web-shell/assets/{wardleyDiagram-YWT4CUSO-BvDsdIQw.js → wardleyDiagram-YWT4CUSO-B81AuYRl.js} +1 -1
  260. package/web-shell/assets/{xychartDiagram-2RQKCTM6-crz0QhF_.js → xychartDiagram-2RQKCTM6-DOQ6E3z7.js} +1 -1
  261. package/web-shell/index.html +2 -2
  262. package/chunks/channel-worker-group-K7QKH6IG.js +0 -13
  263. package/chunks/chunk-B7NUUEXC.js +0 -311
  264. package/chunks/chunk-CARU2RR2.js +0 -24
  265. package/chunks/chunk-GYTKQYDB.js +0 -23
  266. package/chunks/chunk-LQU7EVFA.js +0 -30
  267. package/chunks/chunk-OCPBI7J5.js +0 -18
  268. package/chunks/chunk-OJAMDVF5.js +0 -66
  269. package/chunks/chunk-TEGEBB2I.js +0 -122
  270. package/web-shell/assets/channel-DkuJJ0qd.js +0 -1
  271. package/web-shell/assets/classDiagram-4FO5ZUOK-CwqHc0TB.js +0 -1
  272. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-CwqHc0TB.js +0 -1
  273. package/web-shell/assets/index-Cnvv4VcI.css +0 -5
  274. package/web-shell/assets/index-D1Uyklxa.js +0 -1088
  275. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-C0_6nR6C.js +0 -1
@@ -2,25 +2,25 @@
2
2
  "use strict";
3
3
  import {
4
4
  getExtensionManager
5
- } from "./chunk-AAR5SGMD.js";
5
+ } from "./chunk-4YR7FSAM.js";
6
6
  import {
7
7
  getPlugin,
8
8
  parseChannelConfig,
9
9
  registerPlugin
10
- } from "./chunk-OATTJGPJ.js";
10
+ } from "./chunk-5CNYZ7TN.js";
11
11
  import {
12
12
  sanitizeLogText
13
- } from "./chunk-SXU3KKNI.js";
13
+ } from "./chunk-ZQIYGQCG.js";
14
14
  import {
15
15
  loadSettings
16
- } from "./chunk-6GETGQWP.js";
16
+ } from "./chunk-5WWYHNAH.js";
17
17
  import {
18
18
  writeStderrLine,
19
19
  writeStdoutLine
20
20
  } from "./chunk-YUZI3WAC.js";
21
21
  import {
22
22
  hashDaemonWorkspace
23
- } from "./chunk-P6LART6G.js";
23
+ } from "./chunk-BTSE2DUP.js";
24
24
  import {
25
25
  Storage
26
26
  } from "./chunk-7NFB7LBQ.js";
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  t
5
- } from "./chunk-RDRVMDWV.js";
5
+ } from "./chunk-EMJJBXS7.js";
6
6
  import {
7
7
  writeStderrLine
8
8
  } from "./chunk-YUZI3WAC.js";
@@ -1,11 +1,8 @@
1
1
  // Force strict mode and setup for ESM
2
2
  "use strict";
3
- import {
4
- ndJsonStream
5
- } from "./chunk-TEGEBB2I.js";
6
3
  import {
7
4
  MissingCliEntryError
8
- } from "./chunk-CUUXANEQ.js";
5
+ } from "./chunk-W6J7RSCK.js";
9
6
  import {
10
7
  redactLogCredentials
11
8
  } from "./chunk-M5GB774H.js";
@@ -22,6 +19,113 @@ import { spawn } from "node:child_process";
22
19
  import * as os from "node:os";
23
20
  import { Readable, Writable } from "node:stream";
24
21
  import { getHeapStatistics } from "node:v8";
22
+
23
+ // packages/acp-bridge/src/ndJsonStream.ts
24
+ init_esbuild_shims();
25
+ function ndJsonStream(output, input, hooks) {
26
+ const textEncoder = new TextEncoder();
27
+ const textDecoder = new TextDecoder();
28
+ const readable = new ReadableStream({
29
+ async start(controller) {
30
+ const pending = [];
31
+ const reader = input.getReader();
32
+ try {
33
+ while (true) {
34
+ const { value, done } = await reader.read();
35
+ if (done) break;
36
+ if (!value) continue;
37
+ readChunk(value, pending, controller, textDecoder, hooks);
38
+ }
39
+ } finally {
40
+ reader.releaseLock();
41
+ controller.close();
42
+ }
43
+ }
44
+ });
45
+ const writable = new WritableStream({
46
+ async write(message) {
47
+ const content = JSON.stringify(message);
48
+ const payload = textEncoder.encode(content);
49
+ const frame = new Uint8Array(payload.byteLength + 1);
50
+ frame.set(payload);
51
+ frame[payload.byteLength] = 10;
52
+ const writer = output.getWriter();
53
+ try {
54
+ await writer.write(frame);
55
+ callHook(hooks?.onMessageSent, payload.byteLength);
56
+ callHook(hooks?.onMessageObserved, {
57
+ direction: "sent",
58
+ bytes: payload.byteLength,
59
+ message
60
+ });
61
+ } finally {
62
+ writer.releaseLock();
63
+ }
64
+ }
65
+ });
66
+ return { readable, writable };
67
+ }
68
+ __name(ndJsonStream, "ndJsonStream");
69
+ function readChunk(chunk, pending, controller, textDecoder, hooks) {
70
+ let start = 0;
71
+ let newline = chunk.indexOf(10, start);
72
+ while (newline !== -1) {
73
+ const lineBytes = takeLineBytes(pending, chunk.subarray(start, newline));
74
+ handleLine(lineBytes, controller, textDecoder, hooks);
75
+ start = newline + 1;
76
+ newline = chunk.indexOf(10, start);
77
+ }
78
+ if (start < chunk.length) {
79
+ pending.push(chunk.subarray(start));
80
+ }
81
+ }
82
+ __name(readChunk, "readChunk");
83
+ function takeLineBytes(pending, current) {
84
+ if (pending.length === 0) return current;
85
+ const totalLength = pending.reduce((sum, part) => sum + part.byteLength, 0) + current.byteLength;
86
+ const line = new Uint8Array(totalLength);
87
+ let offset = 0;
88
+ for (const part of pending) {
89
+ line.set(part, offset);
90
+ offset += part.byteLength;
91
+ }
92
+ line.set(current, offset);
93
+ pending.length = 0;
94
+ return line;
95
+ }
96
+ __name(takeLineBytes, "takeLineBytes");
97
+ function handleLine(lineBytes, controller, textDecoder, hooks) {
98
+ const line = textDecoder.decode(lineBytes);
99
+ const trimmedLine = line.trim();
100
+ if (!trimmedLine) return;
101
+ try {
102
+ const message = JSON.parse(trimmedLine);
103
+ controller.enqueue(message);
104
+ const bytes = jsonPayloadByteLength(lineBytes);
105
+ callHook(hooks?.onMessageReceived, bytes);
106
+ callHook(hooks?.onMessageObserved, {
107
+ direction: "received",
108
+ bytes,
109
+ message
110
+ });
111
+ } catch (err) {
112
+ console.error("Failed to parse JSON message:", trimmedLine, err);
113
+ }
114
+ }
115
+ __name(handleLine, "handleLine");
116
+ function jsonPayloadByteLength(lineBytes) {
117
+ return lineBytes[lineBytes.byteLength - 1] === 13 ? lineBytes.byteLength - 1 : lineBytes.byteLength;
118
+ }
119
+ __name(jsonPayloadByteLength, "jsonPayloadByteLength");
120
+ function callHook(hook, value) {
121
+ try {
122
+ hook?.(value);
123
+ } catch {
124
+ }
125
+ }
126
+ __name(callHook, "callHook");
127
+
128
+ // packages/acp-bridge/src/spawnChannel.ts
25
129
  var cachedMemoryArgs;
26
130
  function getAcpMemoryArgs() {
27
131
  if (cachedMemoryArgs) return cachedMemoryArgs;
@@ -221,12 +325,18 @@ function killChild(child) {
221
325
  __name(killChild, "killChild");
222
326
 
223
327
  export {
328
+ ndJsonStream,
224
329
  getAcpMemoryArgs,
225
330
  createStderrForwarder,
226
331
  createSpawnChannelFactory,
227
332
  defaultSpawnChannelFactory,
228
333
  scrubChildEnv
229
334
  };
335
+ /**
336
+ * @license
337
+ * Copyright 2026 Qwen Team
338
+ * SPDX-License-Identifier: Apache-2.0
339
+ */
230
340
  /**
231
341
  * @license
232
342
  * Copyright 2025 Qwen Team
@@ -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
  */
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  SkillError
5
- } from "./chunk-K7CRWKOE.js";
5
+ } from "./chunk-R6AO7HBQ.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";
@@ -79,6 +79,8 @@ var SERVE_CONTROL_EXT_METHODS = {
79
79
  sessionBranch: "qwen/control/session/branch",
80
80
  sessionForkAgent: "qwen/control/session/fork_agent",
81
81
  sessionRecap: "qwen/control/session/recap",
82
+ sessionGenerationStart: "qwen/control/session/generation/start",
83
+ sessionGenerationCancel: "qwen/control/session/generation/cancel",
82
84
  sessionBtw: "qwen/control/session/btw",
83
85
  sessionShellHistory: "qwen/control/session/shell_history",
84
86
  sessionLanguage: "qwen/control/session/language",
@@ -86,9 +88,12 @@ var SERVE_CONTROL_EXT_METHODS = {
86
88
  sessionContinue: "qwen/control/session/continue",
87
89
  sessionTitle: "qwen/control/session/title",
88
90
  sessionParent: "qwen/control/session/parent",
91
+ sessionSource: "qwen/control/session/source",
89
92
  sessionArtifactsPersist: "qwen/control/session/artifacts/persist",
90
93
  workspaceMcpRestart: "qwen/control/workspace/mcp/restart",
91
94
  workspaceMcpManage: "qwen/control/workspace/mcp/manage",
95
+ workspaceMcpInitialize: "qwen/control/workspace/mcp/initialize",
96
+ workspaceMcpReload: "qwen/control/workspace/mcp/reload",
92
97
  workspaceAgentGenerate: "qwen/control/workspace/agents/generate",
93
98
  workspaceMemoryRememberAvailability: "qwen/control/workspace/memory/remember/availability",
94
99
  workspaceMemoryRemember: "qwen/control/workspace/memory/remember",
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  SessionNotFoundError
5
- } from "./chunk-KSO42X3Z.js";
5
+ } from "./chunk-X6YQWCIJ.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";
@@ -5,7 +5,7 @@ import {
5
5
  BaseToolInvocation,
6
6
  ToolDisplayNames,
7
7
  ToolNames
8
- } from "./chunk-2UUAIFQO.js";
8
+ } from "./chunk-JGUT3LWZ.js";
9
9
  import {
10
10
  init_esbuild_shims
11
11
  } from "./chunk-5O2XNYP6.js";
@@ -4,14 +4,14 @@ import {
4
4
  resolveModelConfig,
5
5
  resolveProviderProtocol,
6
6
  stripRuntimeSnapshotPrefix
7
- } from "./chunk-K7CRWKOE.js";
7
+ } from "./chunk-R6AO7HBQ.js";
8
8
  import {
9
9
  external_exports
10
10
  } from "./chunk-H6XPXXMH.js";
11
11
  import {
12
12
  AuthType,
13
13
  MODEL_GENERATION_CONFIG_FIELDS
14
- } from "./chunk-P6LART6G.js";
14
+ } from "./chunk-BTSE2DUP.js";
15
15
  import {
16
16
  REASONING_EFFORT_TIERS,
17
17
  normalizeReasoningEffort
@@ -25,10 +25,95 @@ import {
25
25
 
26
26
  // packages/cli/src/utils/acpModelUtils.ts
27
27
  init_esbuild_shims();
28
+ import { createHash } from "node:crypto";
29
+ var ACP_ROUTE_ID_PREFIX = "qwen-route:v1:";
30
+ function getRouteEndpointIdentity(baseUrl) {
31
+ if (!baseUrl) return null;
32
+ try {
33
+ const url = new URL(baseUrl);
34
+ url.username = "";
35
+ url.password = "";
36
+ url.search = "";
37
+ url.hash = "";
38
+ return url.href;
39
+ } catch {
40
+ return sanitizeProviderBaseUrl(baseUrl).split(/[?#]/, 1)[0] ?? null;
41
+ }
42
+ }
43
+ __name(getRouteEndpointIdentity, "getRouteEndpointIdentity");
28
44
  function formatAcpModelId(modelId, authType) {
29
45
  return `${modelId}(${authType})`;
30
46
  }
31
47
  __name(formatAcpModelId, "formatAcpModelId");
48
+ function buildAcpModelOptions(models) {
49
+ const candidates = models.filter((model) => model.fastOnly !== true && model.voiceOnly !== true).map((model) => {
50
+ const effectiveModelId = model.isRuntimeModel && model.runtimeSnapshotId ? model.runtimeSnapshotId : model.id;
51
+ return {
52
+ model,
53
+ effectiveModelId,
54
+ legacyModelId: formatAcpModelId(effectiveModelId, model.authType)
55
+ };
56
+ });
57
+ const counts = /* @__PURE__ */ new Map();
58
+ for (const candidate of candidates) {
59
+ counts.set(
60
+ candidate.legacyModelId,
61
+ (counts.get(candidate.legacyModelId) ?? 0) + 1
62
+ );
63
+ }
64
+ const discriminators = /* @__PURE__ */ new Set();
65
+ return candidates.map(({ model, effectiveModelId, legacyModelId }) => {
66
+ const discriminator = [
67
+ legacyModelId,
68
+ model.label,
69
+ model.envKey ?? null,
70
+ model.registryBaseUrl === void 0,
71
+ getRouteEndpointIdentity(model.registryBaseUrl ?? model.baseUrl)
72
+ ];
73
+ const discriminatorKey = JSON.stringify(discriminator);
74
+ if (counts.get(legacyModelId) !== 1 && discriminators.has(discriminatorKey)) {
75
+ throw new Error(
76
+ `ACP model routes for "${legacyModelId}" need distinct names, envKey values, or public endpoints.`
77
+ );
78
+ }
79
+ discriminators.add(discriminatorKey);
80
+ return {
81
+ model,
82
+ effectiveModelId,
83
+ modelId: counts.get(legacyModelId) === 1 ? legacyModelId : `${ACP_ROUTE_ID_PREFIX}${createHash("sha256").update(discriminatorKey).digest("base64url").slice(0, 16)}`
84
+ };
85
+ });
86
+ }
87
+ __name(buildAcpModelOptions, "buildAcpModelOptions");
88
+ function resolveAcpModelOption(input, models) {
89
+ const matched = buildAcpModelOptions(models).find(
90
+ (option) => option.modelId === input.trim()
91
+ );
92
+ if (!matched) return null;
93
+ return {
94
+ modelId: matched.effectiveModelId,
95
+ authType: matched.model.authType,
96
+ ...matched.model.registryBaseUrl !== void 0 ? { baseUrl: matched.model.registryBaseUrl } : {},
97
+ ...!matched.model.isRuntimeModel ? { registryBaseUrl: matched.model.registryBaseUrl ?? null } : {},
98
+ isRuntime: matched.model.isRuntimeModel === true
99
+ };
100
+ }
101
+ __name(resolveAcpModelOption, "resolveAcpModelOption");
102
+ function getCurrentAcpModelId(options, modelId, authType, registryBaseUrl) {
103
+ if (!modelId || !authType) return modelId;
104
+ const matching = options.filter(
105
+ (option) => option.effectiveModelId === modelId && option.model.authType === authType
106
+ );
107
+ if (matching[0]?.model.isRuntimeModel) return matching[0].modelId;
108
+ if (registryBaseUrl !== void 0) {
109
+ const exact = matching.find(
110
+ (option) => (option.model.registryBaseUrl ?? null) === registryBaseUrl
111
+ );
112
+ return exact?.modelId ?? modelId;
113
+ }
114
+ return matching.length === 1 ? matching[0].modelId : formatAcpModelId(modelId, authType);
115
+ }
116
+ __name(getCurrentAcpModelId, "getCurrentAcpModelId");
32
117
  function sanitizeProviderBaseUrl(baseUrl) {
33
118
  const scheme = baseUrl.match(/^[A-Za-z][A-Za-z\d+.-]*:\/\//);
34
119
  if (!scheme) {
@@ -342,6 +427,7 @@ function resolveCliGenerationConfig(inputs) {
342
427
  apiKey: resolved.config.apiKey || "",
343
428
  baseUrl: resolved.config.baseUrl || "",
344
429
  generationConfig,
430
+ ...modelProvider ? { registryBaseUrl: modelProvider.baseUrl ?? null } : {},
345
431
  sources: resolved.sources,
346
432
  warnings: [
347
433
  ...resolved.warnings,
@@ -358,7 +444,10 @@ function resolveCliGenerationConfig(inputs) {
358
444
  __name(resolveCliGenerationConfig, "resolveCliGenerationConfig");
359
445
 
360
446
  export {
361
- formatAcpModelId,
447
+ ACP_ROUTE_ID_PREFIX,
448
+ buildAcpModelOptions,
449
+ resolveAcpModelOption,
450
+ getCurrentAcpModelId,
362
451
  sanitizeProviderBaseUrl,
363
452
  parseAcpBaseModelId,
364
453
  parseAcpModelOption,