@qwen-code/qwen-code 0.20.0 → 0.20.1-nightly.20260724.7d17c44a3

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 (388) hide show
  1. package/bundled/qc-helper/docs/configuration/settings.md +1 -1
  2. package/bundled/qc-helper/docs/features/auto-mode.md +19 -16
  3. package/bundled/qc-helper/docs/features/commands.md +54 -0
  4. package/bundled/qc-helper/docs/features/sub-agents.md +16 -7
  5. package/bundled/qc-helper/docs/integration-github-action.md +1 -1
  6. package/bundled/qc-helper/docs/qwen-serve.md +2 -1
  7. package/bundled/review/DESIGN.md +2 -2
  8. package/bundled/review/SKILL.md +7 -5
  9. package/chunks/MaxSizedBox-LGRTXB47.js +84 -0
  10. package/chunks/{StandaloneSessionPicker-CEGO2AZX.js → StandaloneSessionPicker-H3TBU3C3.js} +68 -56
  11. package/chunks/{acp-startup-profiler-N3RHHXJ3.js → acp-startup-profiler-RV3IV562.js} +2 -2
  12. package/chunks/{acpAgent-YUR43TLG.js → acpAgent-5D7P4BB5.js} +2061 -556
  13. package/chunks/agent-W7UAHCCI.js +80 -0
  14. package/chunks/agent-headless-KTBMPRSC.js +74 -0
  15. package/chunks/{anthropicContentGenerator-HVKLXOOU.js → anthropicContentGenerator-ZLQ3X2HI.js} +112 -45
  16. package/chunks/{artifact-tool-WBCAMD3O.js → artifact-tool-OKMWONT6.js} +3 -3
  17. package/chunks/{askUserQuestion-6DZC4UV5.js → askUserQuestion-V6FUS23G.js} +3 -3
  18. package/chunks/bridge-FFC4C6VD.js +89 -0
  19. package/chunks/{build-SSCNEHZZ.js → build-RV63TIRH.js} +2 -3
  20. package/chunks/{ca-2SL2BXTK.js → ca-GKRQZ7AM.js} +612 -201
  21. package/chunks/{channel-worker-group-53CMOPFT.js → channel-worker-group-MA3WXWYX.js} +7 -6
  22. package/chunks/{channel-worker-manager-UTXILKC2.js → channel-worker-manager-TIYYYBCT.js} +189 -29
  23. package/chunks/{channel-worker-supervisor-ZGO2W2MD.js → channel-worker-supervisor-CXRCDA4Y.js} +6 -5
  24. package/chunks/{chunk-TYQMGACW.js → chunk-22C7BQ6D.js} +508 -10967
  25. package/chunks/{chunk-4EP2PYYL.js → chunk-2G6QIHYL.js} +5 -5
  26. package/chunks/{chunk-H2XVO6NE.js → chunk-2MIN6GRR.js} +1 -1
  27. package/chunks/chunk-2RFKHEXL.js +74 -0
  28. package/chunks/{chunk-7SXZC7ID.js → chunk-2WTVWAKT.js} +7 -6
  29. package/chunks/{chunk-TIH2ZTOC.js → chunk-32A4PI3E.js} +2 -2
  30. package/chunks/chunk-36HSVBBU.js +469 -0
  31. package/chunks/{chunk-IR46U7RB.js → chunk-3FB2Y2OE.js} +3 -3
  32. package/chunks/{chunk-QR6U5QPP.js → chunk-3SJ43L4W.js} +4 -0
  33. package/chunks/chunk-3Z43GZUQ.js +32 -0
  34. package/chunks/chunk-43T5WDQ7.js +127 -0
  35. package/chunks/chunk-46UV252V.js +128 -0
  36. package/chunks/{chunk-JD3MKVKL.js → chunk-4K56OJFJ.js} +1 -1
  37. package/chunks/{chunk-KTUQMDEP.js → chunk-4K7VDKAD.js} +1 -1
  38. package/chunks/{chunk-QKYTTBYW.js → chunk-4LVZNIDO.js} +1 -1
  39. package/chunks/{chunk-OWCALFEG.js → chunk-54R2CV2G.js} +1 -1
  40. package/chunks/{chunk-ZEOZL37W.js → chunk-57FIIFJN.js} +1 -1
  41. package/chunks/chunk-5BS3KLRP.js +6194 -0
  42. package/chunks/{chunk-NEEB7UEN.js → chunk-6GMVPFB2.js} +153 -72
  43. package/chunks/{chunk-GMGDLUC7.js → chunk-6IL7KRLE.js} +1 -1
  44. package/chunks/chunk-6PVPNMXU.js +29 -0
  45. package/chunks/chunk-6QHAUJUE.js +293 -0
  46. package/chunks/chunk-6VK3IRTX.js +10017 -0
  47. package/chunks/{chunk-BDBMYST4.js → chunk-6X4GWOPW.js} +1 -1
  48. package/chunks/{chunk-AYCDXHZB.js → chunk-7Z6JQEL6.js} +1 -1
  49. package/chunks/{chunk-FSL5W5TI.js → chunk-AFFGGOF6.js} +4 -4
  50. package/chunks/chunk-AMDSOFFV.js +10860 -0
  51. package/chunks/chunk-AXUW635Q.js +934 -0
  52. package/chunks/{chunk-A5LYNIW7.js → chunk-BJBUDCM3.js} +8 -8
  53. package/chunks/chunk-BK2UNYWD.js +29 -0
  54. package/chunks/{chunk-6RLROE6G.js → chunk-BLFVGB7D.js} +30 -4
  55. package/chunks/chunk-BPJSQIJX.js +100 -0
  56. package/chunks/{chunk-FLSVD6BS.js → chunk-BRTR7S7O.js} +3 -3
  57. package/chunks/{chunk-KG3XV6FH.js → chunk-BSNWBC33.js} +32 -2
  58. package/chunks/chunk-BULDBTYC.js +153 -0
  59. package/chunks/{chunk-PBWEWI4N.js → chunk-BW5Z5NOG.js} +83 -74
  60. package/chunks/{chunk-EIAK6Q2B.js → chunk-C3VHAXP2.js} +20 -3
  61. package/chunks/{chunk-6AFUCL3D.js → chunk-CEZB3XFD.js} +1 -1
  62. package/chunks/chunk-CHMENNJV.js +1832 -0
  63. package/chunks/{chunk-TMQ6XQCX.js → chunk-CK3IEEHR.js} +416 -291
  64. package/chunks/{chunk-OYZWQNWG.js → chunk-CK6UABV2.js} +2 -2
  65. package/chunks/{chunk-VZQUV7VK.js → chunk-CKTMY3EP.js} +1 -1
  66. package/chunks/{chunk-VDWBQ5AW.js → chunk-CUPAVLRY.js} +5 -2
  67. package/chunks/{chunk-I2PYAYFM.js → chunk-CXUFILV3.js} +3 -3
  68. package/chunks/chunk-DP3IHZGG.js +1498 -0
  69. package/chunks/{chunk-BMWMT5Y2.js → chunk-DP5GT2MW.js} +7 -375
  70. package/chunks/{chunk-D22SX43D.js → chunk-DWNZ6PVQ.js} +1 -1
  71. package/chunks/{chunk-5SCI6E3E.js → chunk-E4IMU4Y5.js} +1 -1
  72. package/chunks/{chunk-DP5GXXNZ.js → chunk-EL2IQ2S5.js} +5 -1
  73. package/chunks/{chunk-EZVDJFZ7.js → chunk-ERLGR7GI.js} +1 -1
  74. package/chunks/{chunk-IVPSS6EL.js → chunk-F5MBYZSU.js} +4 -4
  75. package/chunks/{chunk-AQIEINAY.js → chunk-F6IYL66A.js} +28 -1766
  76. package/chunks/{chunk-FEOZBUMT.js → chunk-FODK6UMO.js} +0 -27
  77. package/chunks/{chunk-PGEPSDJI.js → chunk-FWNZ7CVN.js} +24 -20
  78. package/chunks/{chunk-5JBR5XIK.js → chunk-G7EFBBVF.js} +220 -141
  79. package/chunks/chunk-GLNBDYUX.js +38 -0
  80. package/chunks/{chunk-ANPINBOF.js → chunk-H4YKEV2X.js} +5 -5
  81. package/chunks/{chunk-TDKQP3M6.js → chunk-HIJQF5B5.js} +1 -1
  82. package/chunks/{chunk-FQD7GFSV.js → chunk-HJJDKFL5.js} +3 -3
  83. package/chunks/{chunk-4N3KMAIL.js → chunk-HPWHDJID.js} +152 -35
  84. package/chunks/{chunk-KQNM4EO7.js → chunk-HQCSRJ3P.js} +138 -6
  85. package/chunks/chunk-HTR4WV6U.js +327 -0
  86. package/chunks/{chunk-YWEW33JY.js → chunk-HVO55LUD.js} +7 -7
  87. package/chunks/{chunk-MJ6S23WZ.js → chunk-HZEWYOVI.js} +5 -5
  88. package/chunks/chunk-IFG6TYJ2.js +16577 -0
  89. package/chunks/{chunk-B3KGZCQN.js → chunk-IJTOWOD7.js} +322 -202
  90. package/chunks/{chunk-RS7MT2QG.js → chunk-IPUUTYMV.js} +2 -4
  91. package/chunks/{chunk-4ILMYHEI.js → chunk-IRDZJSCL.js} +3 -3
  92. package/chunks/{chunk-XU457J4V.js → chunk-IRH27ZC2.js} +2 -2
  93. package/chunks/{chunk-33XUAINQ.js → chunk-J5UKQEFG.js} +69 -9
  94. package/chunks/{chunk-G45X5TRN.js → chunk-JCW2R7WC.js} +1 -72
  95. package/chunks/{chunk-S2XVRHDN.js → chunk-JDFBBGRD.js} +1 -1
  96. package/chunks/{chunk-4XNLIGVA.js → chunk-JKCALGYN.js} +1023 -383
  97. package/chunks/{chunk-TJTKSVIV.js → chunk-JLU636DO.js} +5 -1
  98. package/chunks/{chunk-VEXFOTEO.js → chunk-JYUSL2V4.js} +3 -3
  99. package/chunks/{chunk-S2PD3EZD.js → chunk-KJEMJWNH.js} +1 -1
  100. package/chunks/{chunk-E2UVIFI2.js → chunk-KRXPRVGL.js} +0 -1
  101. package/chunks/{chunk-CZF3E5GF.js → chunk-LA5H3LM5.js} +1 -1
  102. package/chunks/{chunk-NDMQLV4Y.js → chunk-LBAO2XRA.js} +4 -4
  103. package/chunks/{chunk-7RMOXZTC.js → chunk-LDPP5VTZ.js} +4 -4
  104. package/chunks/{chunk-KDC6GNQR.js → chunk-LEEWLFHW.js} +4 -4
  105. package/chunks/{chunk-KX6UK4VJ.js → chunk-LI4I37W4.js} +22152 -18007
  106. package/chunks/{chunk-OOCI5VVU.js → chunk-LIZRAKPB.js} +1 -1
  107. package/chunks/{chunk-AJSJ5TTU.js → chunk-LP2E4MQG.js} +1 -1
  108. package/chunks/chunk-LS77BEZP.js +405 -0
  109. package/chunks/{chunk-BRRF37CO.js → chunk-LYTBLSSW.js} +5 -5
  110. package/chunks/{chunk-DBE4QFZS.js → chunk-MB7ENXPR.js} +39 -37
  111. package/chunks/{chunk-GKY2OJ7R.js → chunk-MOHAWVLH.js} +4 -4
  112. package/chunks/chunk-NABLFI57.js +82 -0
  113. package/chunks/chunk-NBQDBANR.js +411 -0
  114. package/chunks/{chunk-EAUYY7SS.js → chunk-NOAAFNTJ.js} +43 -10
  115. package/chunks/chunk-NXS53EA7.js +1462 -0
  116. package/chunks/{chunk-C27BYUX6.js → chunk-OQB4EXO4.js} +14 -11
  117. package/chunks/{chunk-NHDKSOEY.js → chunk-P3QQPMQA.js} +5 -5
  118. package/chunks/{chunk-OP4MOGXF.js → chunk-P5RRUHL7.js} +23 -1
  119. package/chunks/{chunk-KOR3XKCA.js → chunk-PBII2NFX.js} +12 -6
  120. package/chunks/{chunk-O3OCNYY5.js → chunk-PDYB7HG2.js} +2 -2
  121. package/chunks/{chunk-2HOVDT7W.js → chunk-PFSUKTZH.js} +1 -1
  122. package/chunks/chunk-PKL3HGNZ.js +2299 -0
  123. package/chunks/{chunk-5DTTYNB7.js → chunk-PQNHRFJC.js} +16 -3
  124. package/chunks/{chunk-OLMETXLX.js → chunk-PXHK5ONM.js} +41 -9
  125. package/chunks/{chunk-PF4CHQOJ.js → chunk-Q6GU6TKM.js} +11 -10
  126. package/chunks/{chunk-4ODB7WIB.js → chunk-QAFKR7WR.js} +1 -1
  127. package/chunks/{chunk-PBATSWUQ.js → chunk-QBUDF33N.js} +1 -1
  128. package/chunks/{chunk-BVLROR2T.js → chunk-QLJUC7TG.js} +1 -1
  129. package/chunks/{chunk-UEY4AYUL.js → chunk-QNLNLENL.js} +2 -2
  130. package/chunks/{chunk-333CXMNJ.js → chunk-QXZTZJLX.js} +5 -5
  131. package/chunks/chunk-R6D2CTQR.js +289 -0
  132. package/chunks/{chunk-7PZ2ATFZ.js → chunk-R6SKHK3T.js} +54 -29
  133. package/chunks/{chunk-OONJNQ42.js → chunk-RGG6M2WF.js} +4 -4
  134. package/chunks/{chunk-RFIAR4YL.js → chunk-RV4C2ZFG.js} +1 -1
  135. package/chunks/{chunk-O3Z73NBP.js → chunk-RW2NEXYJ.js} +15 -11
  136. package/chunks/{chunk-HZPN55E5.js → chunk-SJEDL7DI.js} +1 -1
  137. package/chunks/{chunk-AKX4WPPP.js → chunk-SWBJRDYC.js} +866 -183
  138. package/chunks/{chunk-NBMIC7DR.js → chunk-SX4PK3FC.js} +145 -5
  139. package/chunks/chunk-T3452DP5.js +246 -0
  140. package/chunks/{chunk-TB6UDU4T.js → chunk-THJNPLI4.js} +16 -16
  141. package/chunks/{chunk-T4TZQJ7W.js → chunk-TWPJO254.js} +5 -16
  142. package/chunks/chunk-U7ZFW55U.js +2098 -0
  143. package/chunks/{chunk-JNWZQ27S.js → chunk-UCOJC6EB.js} +72 -23
  144. package/chunks/{chunk-W7H223ZZ.js → chunk-UGYMA4EI.js} +1 -1
  145. package/chunks/{chunk-X6YQWCIJ.js → chunk-UH3WSE5L.js} +13 -1
  146. package/chunks/{chunk-2LL7TXB4.js → chunk-UH7242DI.js} +3 -3
  147. package/chunks/{chunk-CB2HFGRV.js → chunk-UJV643E2.js} +31 -6
  148. package/chunks/chunk-UO7DCGEV.js +121 -0
  149. package/chunks/{chunk-Y2ENGUD6.js → chunk-UPF7PTBI.js} +79 -2
  150. package/chunks/chunk-UW5EOVUN.js +249 -0
  151. package/chunks/{chunk-SJMV7ZBK.js → chunk-VLVO52KC.js} +8 -8
  152. package/chunks/{chunk-R3VWUU2E.js → chunk-VYPFXUCB.js} +1 -1
  153. package/chunks/{chunk-S2W2LVDU.js → chunk-WHFK6G6U.js} +8 -9
  154. package/chunks/chunk-WI3KCKZ5.js +391 -0
  155. package/chunks/{chunk-NGFEPAE6.js → chunk-WLEFWSSC.js} +8 -6
  156. package/chunks/{chunk-XVVH63JG.js → chunk-WUJXJ34P.js} +3 -3
  157. package/chunks/{chunk-MAQQGNQ5.js → chunk-WYLPWQHJ.js} +56 -717
  158. package/chunks/{chunk-D2VIDMVM.js → chunk-X6N25LXS.js} +2 -2
  159. package/chunks/chunk-XAWJ2526.js +1049 -0
  160. package/chunks/{chunk-CV63PP6U.js → chunk-YCIM6O3I.js} +1 -1
  161. package/chunks/{chunk-OEO2ERWK.js → chunk-Z44CVEUF.js} +54 -33
  162. package/chunks/{chunk-TKLLK6XQ.js → chunk-ZT4POVWC.js} +11 -11
  163. package/chunks/{chunk-NIJEXGV6.js → chunk-ZXYUQXY5.js} +148 -10
  164. package/chunks/{computer-use-NIWQNUZF.js → computer-use-UJ5T34TE.js} +50 -37
  165. package/chunks/{config-utils-AHQ6YZ66.js → config-utils-XQRXHAN3.js} +3 -3
  166. package/chunks/contextCommand-CSCB4E5M.js +79 -0
  167. package/chunks/{create-sub-session-MGNX52P3.js → create-sub-session-55F3GOLK.js} +46 -33
  168. package/chunks/{create-sub-session-P26FE5GG.js → create-sub-session-JPCSYZAJ.js} +3 -3
  169. package/chunks/{cron-create-JWFHBDRQ.js → cron-create-CUMELMPL.js} +6 -6
  170. package/chunks/{cron-delete-GDX4E26G.js → cron-delete-QZFV6U3P.js} +5 -5
  171. package/chunks/{cron-list-USMAIWPT.js → cron-list-IDKO7ZO2.js} +5 -5
  172. package/chunks/{daemon-RG2MAI6T.js → daemon-7LP7R6IU.js} +500 -133
  173. package/chunks/daemon-status-provider-6YNZ3UAE.js +88 -0
  174. package/chunks/{de-I7ZIYXZC.js → de-4IBXM7CN.js} +5 -1
  175. package/chunks/{dist-WGTQO7F2.js → dist-376652EZ.js} +114 -28
  176. package/chunks/{dist-53PZYC5B.js → dist-3YCTE6HD.js} +2 -2
  177. package/chunks/{dist-2BHAYBKP.js → dist-D7Z3HOO7.js} +14 -2
  178. package/chunks/{dist-FUTEXY6A.js → dist-MEGJFGAI.js} +40 -9
  179. package/chunks/{dist-2MIU4UUH.js → dist-NQ436QEX.js} +1 -1
  180. package/chunks/{dist-AU7NQQRP.js → dist-NQNTOIEN.js} +26 -2
  181. package/chunks/earlyInputCapture-HPUVJ2KH.js +81 -0
  182. package/chunks/{edit-3QV3JZJL.js → edit-7CMAN3F4.js} +50 -39
  183. package/chunks/{en-XE34GKAA.js → en-SALLIJS7.js} +6 -1
  184. package/chunks/{enter-worktree-4GMMF7EG.js → enter-worktree-3PH4YTY2.js} +49 -36
  185. package/chunks/{enterPlanMode-L5UWBAUC.js → enterPlanMode-MSXLSWLI.js} +55 -37
  186. package/chunks/{environment-3OV7UQOT.js → environment-KS36ZHBE.js} +48 -35
  187. package/chunks/errors-LCPFS62A.js +87 -0
  188. package/chunks/{exit-worktree-DDP57JLV.js → exit-worktree-ARA4C3CK.js} +49 -36
  189. package/chunks/{exitPlanMode-CJBLGPIP.js → exitPlanMode-GCDIQPB7.js} +49 -36
  190. package/chunks/{fast-path-M6RP2ING.js → fast-path-IDHBVIT6.js} +3 -2
  191. package/chunks/{fr-X7KDVZIY.js → fr-WVHEBDDB.js} +5 -1
  192. package/chunks/{gemini-H4PHBJTL.js → gemini-2AFQJMX5.js} +141 -105
  193. package/chunks/{geminiContentGenerator-VURJYPWP.js → geminiContentGenerator-UDIH3YI6.js} +9 -8
  194. package/chunks/{getMachineId-bsd-EXV7SWPA.js → getMachineId-bsd-QFVLPUPT.js} +1 -1
  195. package/chunks/{getMachineId-darwin-IUOMFXU3.js → getMachineId-darwin-DGMQQE2E.js} +1 -1
  196. package/chunks/{getMachineId-linux-K7XJYFHL.js → getMachineId-linux-R4Z6CSWC.js} +1 -1
  197. package/chunks/{getMachineId-unsupported-EA5FDRJ6.js → getMachineId-unsupported-Z3SBVBUV.js} +1 -1
  198. package/chunks/{getMachineId-win-KBA6RAI5.js → getMachineId-win-SCK5UFDT.js} +1 -1
  199. package/chunks/{glob-2KUSRAVQ.js → glob-HCL7HZ67.js} +49 -36
  200. package/chunks/{grep-B5RXVESV.js → grep-CJLBSCTV.js} +49 -36
  201. package/chunks/handleAutoUpdate-Q572P3FL.js +80 -0
  202. package/chunks/i18n-OBB4R7SR.js +96 -0
  203. package/chunks/initializer-LXEY6V3C.js +85 -0
  204. package/chunks/installationInfo-XUAOVMEE.js +79 -0
  205. package/chunks/{ja-2ICT3KXF.js → ja-KY4ROZTE.js} +5 -1
  206. package/chunks/{keychain-token-storage-DWRJMNH3.js → keychain-token-storage-6ACJDYIB.js} +3 -3
  207. package/chunks/{kittyProtocolDetector-HCNNKJTI.js → kittyProtocolDetector-MBRTDRBK.js} +5 -3
  208. package/chunks/list-WAXY7QOU.js +88 -0
  209. package/chunks/list-agents-AH3P5NB7.js +80 -0
  210. package/chunks/loadedSettingsAdapter-OZFNBRHE.js +82 -0
  211. package/chunks/loggingContentGenerator-7WDTTE6G.js +1068 -0
  212. package/chunks/{loop-wakeup-5GLTUBHA.js → loop-wakeup-IHRW6TNB.js} +7 -7
  213. package/chunks/{ls-FHBY3Y7I.js → ls-ZAXZ2G2W.js} +5 -5
  214. package/chunks/{lsp-B6VMEW6Y.js → lsp-R4ZG3UGQ.js} +3 -3
  215. package/chunks/managed-npm-update-N42DO5QW.js +339 -0
  216. package/chunks/mcp-6SOORKTY.js +82 -0
  217. package/chunks/{monitor-GLJZDNPS.js → monitor-4PSVNVU4.js} +51 -37
  218. package/chunks/node-UUDY34IG.js +305 -0
  219. package/chunks/nonInteractiveCli-FBR5S7IZ.js +140 -0
  220. package/chunks/{notebook-edit-AVCIWS4F.js → notebook-edit-QK26632S.js} +50 -39
  221. package/chunks/{openaiContentGenerator-B7W24G3D.js → openaiContentGenerator-IXJS6C2U.js} +33 -20
  222. package/chunks/pidfile-UCFCJOAP.js +85 -0
  223. package/chunks/{processUtils-XZPY2PBB.js → processUtils-YL2LXON2.js} +2 -2
  224. package/chunks/{pt-JJ4XPIBP.js → pt-OK455PLH.js} +5 -1
  225. package/chunks/{qwenContentGenerator-6GUTWJIC.js → qwenContentGenerator-H6WZPJKC.js} +56 -36
  226. package/chunks/{qwenOAuth2-GASEEWGU.js → qwenOAuth2-HTROHKXO.js} +10 -23
  227. package/chunks/read-file-FOYTMUNL.js +31 -0
  228. package/chunks/{read-mcp-resource-AKCL7I43.js → read-mcp-resource-65BWNF3F.js} +3 -3
  229. package/chunks/{record-artifact-PEUB7727.js → record-artifact-2RLSOP6U.js} +3 -3
  230. package/chunks/resumeHistoryUtils-ZNHTWBXS.js +90 -0
  231. package/chunks/ripGrep-K4K4QLNJ.js +72 -0
  232. package/chunks/{ru-STR4KTW7.js → ru-7SPDGMGD.js} +5 -1
  233. package/chunks/{run-qwen-serve-OZGR3FQA.js → run-qwen-serve-XI4MCAFV.js} +343 -88
  234. package/chunks/runtime-4CTBU5WX.js +115 -0
  235. package/chunks/{scheduler-Z7QLMUWA.js → scheduler-TTEITHBF.js} +46 -33
  236. package/chunks/sdk-exporters-grpc-N3OLDF63.js +23214 -0
  237. package/chunks/sdk-exporters-http-AOHAEOMC.js +563 -0
  238. package/chunks/sdk-impl-TLQOC7P4.js +9193 -0
  239. package/chunks/{send-message-3RHE7HSM.js → send-message-GEY4CNPS.js} +47 -8
  240. package/chunks/serve-W7UKJTQT.js +88 -0
  241. package/chunks/{server-SO64U3X5.js → server-JD5PIE7A.js} +3069 -517
  242. package/chunks/{session-2KL2WQAH.js → session-R4BDHLYR.js} +112 -177
  243. package/chunks/{settings-KITVOUSV.js → settings-BXZHA6TZ.js} +50 -37
  244. package/chunks/shell-XYMFCGN5.js +82 -0
  245. package/chunks/{skill-SOQHY455.js → skill-YKXYEPOF.js} +25 -20
  246. package/chunks/spawnChannel-IO4HQLFS.js +81 -0
  247. package/chunks/{src-43LM7JLB.js → src-LKKTJ4NG.js} +382 -235
  248. package/chunks/standalone-update-76JG7DVN.js +91 -0
  249. package/chunks/{startInteractiveUI-3RGTGEX5.js → startInteractiveUI-BXWQUXAS.js} +1314 -958
  250. package/chunks/{syntheticOutput-FG5PQKIR.js → syntheticOutput-2WNMXEU5.js} +4 -4
  251. package/chunks/task-create-R5H74Y76.js +25 -0
  252. package/chunks/{task-list-QWSY4ZIU.js → task-list-WXAFDSRY.js} +7 -7
  253. package/chunks/{task-stop-GWC6UWAL.js → task-stop-CHFZP23W.js} +4 -4
  254. package/chunks/{task-update-NCTAB73Q.js → task-update-Z44A4GAR.js} +11 -9
  255. package/chunks/{team-create-FXN3PEBP.js → team-create-5Y3MCAIM.js} +49 -36
  256. package/chunks/{team-delete-KK37HTOG.js → team-delete-YDCMRSI4.js} +7 -7
  257. package/chunks/{team-plan-approval-GEIZ356Q.js → team-plan-approval-HYJJZ76T.js} +49 -36
  258. package/chunks/theme-manager-3YF2SUZL.js +76 -0
  259. package/chunks/{todoWrite-ERCAMLFS.js → todoWrite-ED2IVZJL.js} +5 -5
  260. package/chunks/{tool-search-XKK7DNOK.js → tool-search-3ZO2XMEP.js} +21 -17
  261. package/chunks/total-session-admission-NDF7EVG7.js +83 -0
  262. package/chunks/trustedFolders-Q7RALK4T.js +92 -0
  263. package/chunks/{chunk-6EFTQYW7.js → undici-3FJYTMOF.js} +24 -399
  264. package/chunks/{chunk-L573Z2QZ.js → undici-PYHBDDPN.js} +1 -5
  265. package/chunks/{update-relaunch-FMVZK6XF.js → update-relaunch-BTW5XGVT.js} +17 -17
  266. package/chunks/updateCheck-MXIU6DWQ.js +91 -0
  267. package/chunks/useAutoAcceptIndicator-BJXHJW77.js +92 -0
  268. package/chunks/{validateNonInterActiveAuth-PRVEB6GG.js → validateNonInterActiveAuth-FLEPF3QQ.js} +90 -76
  269. package/chunks/{version-AZMG6KWL.js → version-75VRONIL.js} +1 -1
  270. package/chunks/{web-fetch-EPGJ5OQQ.js → web-fetch-5X27LYHB.js} +101 -41
  271. package/chunks/web-search-IDMTBJUP.js +718 -0
  272. package/chunks/{workflow-UTNVPW22.js → workflow-JOD2OPFQ.js} +54 -40
  273. package/chunks/workspace-providers-status-WDLBDLPG.js +85 -0
  274. package/chunks/{workspace-registration-store-F3ZX3YHT.js → workspace-registration-store-26Z6J6P5.js} +9 -3
  275. package/chunks/workspace-registry-IABDATX3.js +87 -0
  276. package/chunks/workspace-service-BI4KDYPD.js +97 -0
  277. package/chunks/workspace-skills-status-OVB4LPHA.js +84 -0
  278. package/chunks/write-file-276AJ7KE.js +72 -0
  279. package/chunks/{zh-6ANG2HTL.js → zh-Q54GA5SV.js} +6 -1
  280. package/chunks/{zh-TW-4RR3YHNN.js → zh-TW-VOBNFOPU.js} +6 -1
  281. package/cli-entry.js +164 -12
  282. package/cli.js +19 -12
  283. package/locales/ca.js +773 -203
  284. package/locales/de.js +8 -2
  285. package/locales/en.js +9 -2
  286. package/locales/fr.js +8 -2
  287. package/locales/ja.js +8 -2
  288. package/locales/pt.js +8 -2
  289. package/locales/ru.js +8 -2
  290. package/locales/zh-TW.js +9 -2
  291. package/locales/zh.js +9 -2
  292. package/package.json +3 -3
  293. package/web-shell/assets/{arc-Buk1besA.js → arc-CMb7lr2P.js} +1 -1
  294. package/web-shell/assets/{architectureDiagram-3BPJPVTR-B1aUKYDC.js → architectureDiagram-3BPJPVTR-D6KQ5Kwm.js} +1 -1
  295. package/web-shell/assets/{blockDiagram-GPEHLZMM-CRTdg3Zx.js → blockDiagram-GPEHLZMM-Ce7YYSf8.js} +1 -1
  296. package/web-shell/assets/{c4Diagram-AAUBKEIU-DFdRMp5g.js → c4Diagram-AAUBKEIU-DaStHfor.js} +1 -1
  297. package/web-shell/assets/channel-Dg4f-Kry.js +1 -0
  298. package/web-shell/assets/{chunk-2J33WTMH-4rYQdkEI.js → chunk-2J33WTMH-CPaqadg9.js} +1 -1
  299. package/web-shell/assets/{chunk-4BX2VUAB-Coi-pQJy.js → chunk-4BX2VUAB-Veh9ZGKg.js} +1 -1
  300. package/web-shell/assets/{chunk-55IACEB6-BtBjz02t.js → chunk-55IACEB6-BPTX5n4q.js} +1 -1
  301. package/web-shell/assets/{chunk-727SXJPM-CGYOWorl.js → chunk-727SXJPM-CtXsE_ca.js} +1 -1
  302. package/web-shell/assets/{chunk-AQP2D5EJ-CH5AKhqx.js → chunk-AQP2D5EJ-D8DDCJ8h.js} +1 -1
  303. package/web-shell/assets/{chunk-FMBD7UC4-Cd50-w85.js → chunk-FMBD7UC4-cjMDGzHz.js} +1 -1
  304. package/web-shell/assets/{chunk-ND2GUHAM-C2wF3KCK.js → chunk-ND2GUHAM-BaZ1hNhV.js} +1 -1
  305. package/web-shell/assets/{chunk-QZHKN3VN-pCeRTaWi.js → chunk-QZHKN3VN-C7w-9w5-.js} +1 -1
  306. package/web-shell/assets/classDiagram-4FO5ZUOK-CT7Fo2aW.js +1 -0
  307. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-CT7Fo2aW.js +1 -0
  308. package/web-shell/assets/{cose-bilkent-S5V4N54A-B-_fAB6D.js → cose-bilkent-S5V4N54A-DqvBEEIe.js} +1 -1
  309. package/web-shell/assets/{dagre-BM42HDAG-ChSPNHpL.js → dagre-BM42HDAG-RkPyoMAk.js} +1 -1
  310. package/web-shell/assets/{diagram-2AECGRRQ-BX7cFOF3.js → diagram-2AECGRRQ-D9b6nNyg.js} +1 -1
  311. package/web-shell/assets/{diagram-5GNKFQAL-BQUTW92n.js → diagram-5GNKFQAL-CiiNKUIy.js} +1 -1
  312. package/web-shell/assets/{diagram-KO2AKTUF-BkYPh3e4.js → diagram-KO2AKTUF-CP1qizXd.js} +1 -1
  313. package/web-shell/assets/{diagram-LMA3HP47-Cl6jsNyx.js → diagram-LMA3HP47-BGe30TWx.js} +1 -1
  314. package/web-shell/assets/{diagram-OG6HWLK6-DRWoHz8n.js → diagram-OG6HWLK6-CvoEPARH.js} +1 -1
  315. package/web-shell/assets/{erDiagram-TEJ5UH35-CGvFcZco.js → erDiagram-TEJ5UH35-DWfLzVkV.js} +1 -1
  316. package/web-shell/assets/{flowDiagram-I6XJVG4X-vms6oVdv.js → flowDiagram-I6XJVG4X-D-dTQmo6.js} +1 -1
  317. package/web-shell/assets/{ganttDiagram-6RSMTGT7-ukT_sfmi.js → ganttDiagram-6RSMTGT7-CYPHKaGY.js} +1 -1
  318. package/web-shell/assets/{gitGraphDiagram-PVQCEYII-Bn2ZE2Ut.js → gitGraphDiagram-PVQCEYII-DA7_aQYD.js} +1 -1
  319. package/web-shell/assets/index-B0i-TOYM.css +5 -0
  320. package/web-shell/assets/index-CgCHD46L.js +1225 -0
  321. package/web-shell/assets/{index-wFXp7W68.js → index-DqHNAB8C.js} +1 -1
  322. package/web-shell/assets/{infoDiagram-5YYISTIA-DHJdSi7x.js → infoDiagram-5YYISTIA-B87ljDPa.js} +1 -1
  323. package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-DOvd2Wph.js → ishikawaDiagram-YF4QCWOH-CYSpyjaN.js} +1 -1
  324. package/web-shell/assets/{journeyDiagram-JHISSGLW-CH_urMCT.js → journeyDiagram-JHISSGLW-DAL6Js6f.js} +1 -1
  325. package/web-shell/assets/{kanban-definition-UN3LZRKU-FKiBdgbH.js → kanban-definition-UN3LZRKU-_zufKGJv.js} +1 -1
  326. package/web-shell/assets/{linear-0ZVQFVKf.js → linear-DidhMgku.js} +1 -1
  327. package/web-shell/assets/{mermaid.core-DJ05ZZIK.js → mermaid.core-DAkX3h3a.js} +5 -5
  328. package/web-shell/assets/{mindmap-definition-RKZ34NQL-BPuUhkUm.js → mindmap-definition-RKZ34NQL-DbZxUBEH.js} +1 -1
  329. package/web-shell/assets/{pieDiagram-4H26LBE5-yLFKcXyG.js → pieDiagram-4H26LBE5-Du9uoqrf.js} +1 -1
  330. package/web-shell/assets/{quadrantDiagram-W4KKPZXB-irWqc1pE.js → quadrantDiagram-W4KKPZXB-DwjELuKm.js} +1 -1
  331. package/web-shell/assets/{requirementDiagram-4Y6WPE33-B_4uMoIV.js → requirementDiagram-4Y6WPE33-BAqfVtBL.js} +1 -1
  332. package/web-shell/assets/{sankeyDiagram-5OEKKPKP-ciA4GPwk.js → sankeyDiagram-5OEKKPKP--hm2VpmK.js} +1 -1
  333. package/web-shell/assets/{sequenceDiagram-3UESZ5HK-CRdZvy0U.js → sequenceDiagram-3UESZ5HK-R5MUQaIt.js} +1 -1
  334. package/web-shell/assets/{stateDiagram-AJRCARHV-DaYIkCCn.js → stateDiagram-AJRCARHV-VsX032xQ.js} +1 -1
  335. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-uPWLcSfy.js +1 -0
  336. package/web-shell/assets/{timeline-definition-PNZ67QCA-oBUKv6iH.js → timeline-definition-PNZ67QCA-BqjVRXzg.js} +1 -1
  337. package/web-shell/assets/{vennDiagram-CIIHVFJN-CGW9Sdmb.js → vennDiagram-CIIHVFJN-i2tkvlkg.js} +1 -1
  338. package/web-shell/assets/{wardley-L42UT6IY-CvwKJOCm.js → wardley-L42UT6IY-Ch8G49EM.js} +1 -1
  339. package/web-shell/assets/{wardleyDiagram-YWT4CUSO-Ipc260sN.js → wardleyDiagram-YWT4CUSO-bYpWeQNy.js} +1 -1
  340. package/web-shell/assets/{xychartDiagram-2RQKCTM6-D6-CM7pK.js → xychartDiagram-2RQKCTM6-C9NhuBqB.js} +1 -1
  341. package/web-shell/index.html +17 -13
  342. package/chunks/MaxSizedBox-B5YGZSYE.js +0 -72
  343. package/chunks/agent-H4JIDL7S.js +0 -67
  344. package/chunks/agent-headless-TTBEREQV.js +0 -61
  345. package/chunks/bridge-VL7ITBU5.js +0 -75
  346. package/chunks/chunk-542SK7KV.js +0 -8293
  347. package/chunks/chunk-CPCVCKKF.js +0 -358
  348. package/chunks/chunk-SEKHYHMS.js +0 -45
  349. package/chunks/chunk-W7FJ3N32.js +0 -49
  350. package/chunks/chunk-ZFKNWQGQ.js +0 -74639
  351. package/chunks/contextCommand-L2COEUHS.js +0 -66
  352. package/chunks/daemon-status-provider-NL4IAG7B.js +0 -74
  353. package/chunks/earlyInputCapture-L6I2A22T.js +0 -68
  354. package/chunks/errors-LEOF5QG4.js +0 -74
  355. package/chunks/handleAutoUpdate-QQVIWXKT.js +0 -67
  356. package/chunks/i18n-N6OBDORT.js +0 -83
  357. package/chunks/initializer-6WCFNDLL.js +0 -72
  358. package/chunks/installationInfo-6J3WPXNS.js +0 -64
  359. package/chunks/list-HOWQSWP6.js +0 -75
  360. package/chunks/loadedSettingsAdapter-AO4YBRXZ.js +0 -69
  361. package/chunks/mcp-QH7QNXOH.js +0 -69
  362. package/chunks/nonInteractiveCli-TI7EMPXD.js +0 -126
  363. package/chunks/pidfile-UEHAT6DH.js +0 -72
  364. package/chunks/read-file-SQJONF6A.js +0 -29
  365. package/chunks/resumeHistoryUtils-PFQ2A23X.js +0 -78
  366. package/chunks/ripGrep-QCK22GDU.js +0 -59
  367. package/chunks/runtime-SNVAP6EH.js +0 -100
  368. package/chunks/serve-BT7KS6SC.js +0 -75
  369. package/chunks/shell-BITUVH2R.js +0 -69
  370. package/chunks/spawnChannel-2BU3AULL.js +0 -68
  371. package/chunks/standalone-update-YG5JUYCM.js +0 -78
  372. package/chunks/task-create-HX32YXO7.js +0 -23
  373. package/chunks/theme-manager-IAETOI25.js +0 -63
  374. package/chunks/total-session-admission-BJLDHKJN.js +0 -69
  375. package/chunks/trustedFolders-5XCVNEUU.js +0 -79
  376. package/chunks/updateCheck-YZZB7YBU.js +0 -70
  377. package/chunks/useAutoAcceptIndicator-ZSQX4I2H.js +0 -80
  378. package/chunks/workspace-providers-status-EADV364W.js +0 -72
  379. package/chunks/workspace-registry-W6VMFYZU.js +0 -73
  380. package/chunks/workspace-service-F3KIN2UN.js +0 -84
  381. package/chunks/workspace-skills-status-YVICUR5Y.js +0 -71
  382. package/chunks/write-file-CVGF2OKV.js +0 -596
  383. package/web-shell/assets/channel-04R0vLbG.js +0 -1
  384. package/web-shell/assets/classDiagram-4FO5ZUOK-Bw9SOwAV.js +0 -1
  385. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-Bw9SOwAV.js +0 -1
  386. package/web-shell/assets/index-DgkKrjw3.js +0 -1187
  387. package/web-shell/assets/index-Rv6mOAN9.css +0 -5
  388. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-DWBoO4UY.js +0 -1
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  createDebugLogger
5
- } from "./chunk-C27BYUX6.js";
5
+ } from "./chunk-OQB4EXO4.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";
@@ -10,694 +10,6 @@ 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-k3/, LIMITS["1m"]],
148
- // Kimi K3: 1M
149
- [/^kimi-/, LIMITS["256k"]],
150
- // Kimi fallback: 256K
151
- // -------------------
152
- // ByteDance Seed-OSS (512K)
153
- // -------------------
154
- [/^seed-oss/, LIMITS["512k"]]
155
- ];
156
- var OUTPUT_PATTERNS = [
157
- // Google Gemini
158
- [/^gemini-3/, LIMITS["64k"]],
159
- // Gemini 3.x: 64K
160
- [/^gemini-/, LIMITS["8k"]],
161
- // Gemini fallback: 8K
162
- // OpenAI
163
- [/^gpt-5/, LIMITS["128k"]],
164
- // GPT-5.x: 128K
165
- [/^gpt-/, LIMITS["16k"]],
166
- // GPT fallback: 16K
167
- [/^o\d/, LIMITS["128k"]],
168
- // o-series: 128K
169
- // Anthropic Claude
170
- [/^claude-opus-4-(?:6|7|8)/, 128e3],
171
- // Opus 4.6-4.8: 128K
172
- [/^claude-sonnet-4-6/, LIMITS["64k"]],
173
- // Sonnet 4.6: 64K
174
- [/^claude-/, LIMITS["64k"]],
175
- // Claude fallback: 64K
176
- // Alibaba / Qwen
177
- [/^qwen3\.\d/, LIMITS["64k"]],
178
- [/^coder-model$/, LIMITS["64k"]],
179
- [/^qwen/, LIMITS["32k"]],
180
- // Qwen fallback (VL, turbo, plus, etc.): 32K
181
- // DeepSeek
182
- [/^deepseek-v4/, LIMITS["384k"]],
183
- // DeepSeek V4 (flash, pro): 384K
184
- [/^deepseek-reasoner/, LIMITS["64k"]],
185
- [/^deepseek-r1/, LIMITS["64k"]],
186
- [/^deepseek-chat/, LIMITS["8k"]],
187
- // Zhipu GLM
188
- [/^glm-5(?:\.\d+)?(?:-|$)/, LIMITS["128k"]],
189
- [/^glm-4\.7/, LIMITS["16k"]],
190
- // MiniMax
191
- [/^minimax-m2\.5/i, LIMITS["64k"]],
192
- // Kimi
193
- [/^kimi-k3/, LIMITS["128k"]],
194
- // Kimi K3: 128K default max output (up to 1M configurable)
195
- [/^kimi-k2\.5/, LIMITS["32k"]]
196
- ];
197
- function findTokenLimit(model, type = "input") {
198
- const norm = normalize(model);
199
- const patterns = type === "output" ? OUTPUT_PATTERNS : PATTERNS;
200
- for (const [regex, limit] of patterns) {
201
- if (regex.test(norm)) {
202
- return limit;
203
- }
204
- }
205
- return void 0;
206
- }
207
- __name(findTokenLimit, "findTokenLimit");
208
- function hasExplicitOutputLimit(model) {
209
- const norm = normalize(model);
210
- return OUTPUT_PATTERNS.some(([regex]) => regex.test(norm));
211
- }
212
- __name(hasExplicitOutputLimit, "hasExplicitOutputLimit");
213
- function knownTokenLimit(model, type = "input") {
214
- return findTokenLimit(model, type);
215
- }
216
- __name(knownTokenLimit, "knownTokenLimit");
217
- function tokenLimit(model, type = "input") {
218
- return knownTokenLimit(model, type) ?? (type === "output" ? DEFAULT_OUTPUT_TOKEN_LIMIT : DEFAULT_TOKEN_LIMIT);
219
- }
220
- __name(tokenLimit, "tokenLimit");
221
- function defaultOutputCeiling(model) {
222
- const outputLimit = tokenLimit(model, "output");
223
- if (/^claude-opus-4-(?:6|7|8)/.test(normalize(model))) {
224
- return outputLimit;
225
- }
226
- return Math.min(outputLimit, OUTPUT_TOKEN_CEILING);
227
- }
228
- __name(defaultOutputCeiling, "defaultOutputCeiling");
229
- function reconcileMaxTokens(configMaxTokens, requestMaxTokens) {
230
- if (typeof configMaxTokens === "number" && typeof requestMaxTokens === "number") {
231
- return Math.min(configMaxTokens, requestMaxTokens);
232
- }
233
- return void 0;
234
- }
235
- __name(reconcileMaxTokens, "reconcileMaxTokens");
236
-
237
- // packages/core/src/utils/request-tokenizer/textTokenizer.ts
238
- init_esbuild_shims();
239
- var NON_ASCII_RE = /[\u0080-\uffff]/;
240
- function estimateTextTokens(text) {
241
- if (!text || text.length === 0) {
242
- return 0;
243
- }
244
- if (!NON_ASCII_RE.test(text)) {
245
- return Math.ceil(text.length / 4);
246
- }
247
- let nonAsciiChars = 0;
248
- for (let i = 0; i < text.length; i++) {
249
- if (text.charCodeAt(i) >= 128) {
250
- nonAsciiChars++;
251
- }
252
- }
253
- const asciiChars = text.length - nonAsciiChars;
254
- const tokens = asciiChars / 4 + nonAsciiChars * 1.1;
255
- return Math.ceil(tokens);
256
- }
257
- __name(estimateTextTokens, "estimateTextTokens");
258
- var TextTokenizer = class {
259
- static {
260
- __name(this, "TextTokenizer");
261
- }
262
- /**
263
- * Calculate tokens for text content
264
- *
265
- * @param text - The text to estimate tokens for
266
- * @returns The estimated token count
267
- */
268
- async calculateTokens(text) {
269
- return this.calculateTokensSync(text);
270
- }
271
- /**
272
- * Calculate tokens for multiple text strings
273
- *
274
- * @param texts - Array of text strings to estimate tokens for
275
- * @returns Array of token counts corresponding to each input text
276
- */
277
- async calculateTokensBatch(texts) {
278
- return texts.map((text) => this.calculateTokensSync(text));
279
- }
280
- calculateTokensSync(text) {
281
- return estimateTextTokens(text);
282
- }
283
- };
284
-
285
- // packages/core/src/core/tool-call-preparation.ts
286
- init_esbuild_shims();
287
- var preparationsByResponse = /* @__PURE__ */ new WeakMap();
288
- function setToolCallPreparations(response, preparations) {
289
- preparationsByResponse.set(response, preparations);
290
- }
291
- __name(setToolCallPreparations, "setToolCallPreparations");
292
- function getToolCallPreparations(response) {
293
- return preparationsByResponse.get(response) ?? [];
294
- }
295
- __name(getToolCallPreparations, "getToolCallPreparations");
296
-
297
- // packages/core/src/utils/runtimeDiagnostics.ts
298
- init_esbuild_shims();
299
- var RUNTIME_PROFILE_ENV = "QWEN_CODE_PROFILE_RUNTIME";
300
- function isRuntimeDiagnosticsEnabled(env = process.env) {
301
- return env[RUNTIME_PROFILE_ENV] === "1";
302
- }
303
- __name(isRuntimeDiagnosticsEnabled, "isRuntimeDiagnosticsEnabled");
304
- var RuntimeDiagnosticsCollector = class {
305
- static {
306
- __name(this, "RuntimeDiagnosticsCollector");
307
- }
308
- enabled;
309
- now;
310
- startedAt;
311
- requestIndex = 0;
312
- openAIWireRequestIndex = 0;
313
- anthropicWireRequestIndex = 0;
314
- requests = [];
315
- openaiWireRequests = [];
316
- anthropicWireRequests = [];
317
- tools = createInitialToolDiagnostics();
318
- constructor(options = {}) {
319
- this.enabled = options.enabled ?? isRuntimeDiagnosticsEnabled();
320
- this.now = options.now ?? (() => (/* @__PURE__ */ new Date()).toISOString());
321
- this.startedAt = this.now();
322
- }
323
- reset(options = {}) {
324
- this.enabled = options.enabled ?? isRuntimeDiagnosticsEnabled();
325
- this.startedAt = this.now();
326
- this.requestIndex = 0;
327
- this.openAIWireRequestIndex = 0;
328
- this.anthropicWireRequestIndex = 0;
329
- this.requests = [];
330
- this.openaiWireRequests = [];
331
- this.anthropicWireRequests = [];
332
- this.tools = createInitialToolDiagnostics();
333
- }
334
- isEnabled() {
335
- return this.enabled;
336
- }
337
- recordGenerateContentRequest(request, options) {
338
- if (!this.enabled) {
339
- return;
340
- }
341
- this.requestIndex += 1;
342
- this.requests.push({
343
- index: this.requestIndex,
344
- timestamp: this.now(),
345
- source: options.source,
346
- model: request.model,
347
- stream: options.stream,
348
- serializedBytes: utf8Bytes(toJsonSafeRequest(request)),
349
- contents: summarizeContents(request.contents),
350
- systemInstructionBytes: summarizeContentTextBytes(
351
- request.config?.systemInstruction
352
- ),
353
- generationConfigBytes: utf8Bytes(toJsonSafeConfig(request.config)),
354
- tools: summarizeToolSchemas(request.config?.tools)
355
- });
356
- }
357
- recordOpenAIWireRequest(request) {
358
- if (!this.enabled) {
359
- return;
360
- }
361
- this.openAIWireRequestIndex += 1;
362
- this.openaiWireRequests.push({
363
- index: this.openAIWireRequestIndex,
364
- timestamp: this.now(),
365
- ...summarizeOpenAIWireRequest(request)
366
- });
367
- }
368
- recordAnthropicWireRequest(request) {
369
- if (!this.enabled) {
370
- return;
371
- }
372
- this.anthropicWireRequestIndex += 1;
373
- this.anthropicWireRequests.push({
374
- index: this.anthropicWireRequestIndex,
375
- timestamp: this.now(),
376
- ...summarizeAnthropicWireRequest(request)
377
- });
378
- }
379
- recordToolUse(name, args) {
380
- if (!this.enabled) {
381
- return;
382
- }
383
- const argBytes = utf8Bytes(args);
384
- const tool = this.getToolNameDiagnostics(name);
385
- tool.uses += 1;
386
- tool.argBytes += argBytes;
387
- tool.maxArgBytes = Math.max(tool.maxArgBytes, argBytes);
388
- this.tools.toolUseCount += 1;
389
- this.tools.totalToolUseArgBytes += argBytes;
390
- this.tools.maxToolUseArgBytes = Math.max(
391
- this.tools.maxToolUseArgBytes,
392
- argBytes
393
- );
394
- }
395
- recordToolResult(record) {
396
- if (!this.enabled) {
397
- return;
398
- }
399
- const tool = this.getToolNameDiagnostics(record.name);
400
- tool.results += 1;
401
- tool.resultBytes += record.resultBytes;
402
- tool.maxResultBytes = Math.max(tool.maxResultBytes, record.resultBytes);
403
- if (record.isError) {
404
- tool.errors += 1;
405
- this.tools.toolResultErrorCount += 1;
406
- }
407
- this.tools.toolResultCount += 1;
408
- this.tools.totalToolResultBytes += record.resultBytes;
409
- this.tools.maxToolResultBytes = Math.max(
410
- this.tools.maxToolResultBytes,
411
- record.resultBytes
412
- );
413
- }
414
- snapshot() {
415
- return {
416
- enabled: this.enabled,
417
- startedAt: this.startedAt,
418
- requests: this.requests.map((request) => ({
419
- ...request,
420
- contents: {
421
- ...request.contents,
422
- roleCounts: { ...request.contents.roleCounts }
423
- },
424
- tools: { ...request.tools }
425
- })),
426
- openaiWireRequests: this.openaiWireRequests.map((request) => ({
427
- ...request,
428
- messageBytesByRole: { ...request.messageBytesByRole },
429
- topLevelKeys: [...request.topLevelKeys]
430
- })),
431
- anthropicWireRequests: this.anthropicWireRequests.map((request) => ({
432
- ...request,
433
- messageBytesByRole: { ...request.messageBytesByRole },
434
- topLevelKeys: [...request.topLevelKeys]
435
- })),
436
- tools: {
437
- ...this.tools,
438
- byName: Object.fromEntries(
439
- Object.entries(this.tools.byName).map(([name, value]) => [
440
- name,
441
- { ...value }
442
- ])
443
- )
444
- }
445
- };
446
- }
447
- getToolNameDiagnostics(name) {
448
- const existing = this.tools.byName[name];
449
- if (existing) {
450
- return existing;
451
- }
452
- const created = createInitialToolNameDiagnostics();
453
- this.tools.byName[name] = created;
454
- return created;
455
- }
456
- };
457
- var runtimeDiagnostics = new RuntimeDiagnosticsCollector();
458
- function summarizeOpenAIWireRequest(request) {
459
- const requestRecord = asRecord(request);
460
- const messages = Array.isArray(requestRecord["messages"]) ? requestRecord["messages"] : [];
461
- const tools = Array.isArray(requestRecord["tools"]) ? requestRecord["tools"] : [];
462
- const messageBytesByRole = {};
463
- for (const message of messages) {
464
- const messageRecord = asRecord(message);
465
- const role = typeof messageRecord["role"] === "string" ? messageRecord["role"] : "unknown";
466
- messageBytesByRole[role] = (messageBytesByRole[role] ?? 0) + utf8Bytes(messageRecord["content"]);
467
- }
468
- return {
469
- model: typeof requestRecord["model"] === "string" ? requestRecord["model"] : "unknown",
470
- stream: requestRecord["stream"] === true,
471
- bodyBytes: utf8Bytes(request),
472
- messageCount: messages.length,
473
- messageBytesByRole,
474
- toolsCount: tools.length,
475
- toolSchemaBytes: utf8Bytes(tools),
476
- topLevelKeys: Object.keys(requestRecord).sort()
477
- };
478
- }
479
- __name(summarizeOpenAIWireRequest, "summarizeOpenAIWireRequest");
480
- function summarizeAnthropicWireRequest(request) {
481
- const requestRecord = asRecord(request);
482
- const messages = Array.isArray(requestRecord["messages"]) ? requestRecord["messages"] : [];
483
- const tools = Array.isArray(requestRecord["tools"]) ? requestRecord["tools"] : [];
484
- const messageBytesByRole = {};
485
- for (const message of messages) {
486
- const messageRecord = asRecord(message);
487
- const role = typeof messageRecord["role"] === "string" ? messageRecord["role"] : "unknown";
488
- messageBytesByRole[role] = (messageBytesByRole[role] ?? 0) + utf8Bytes(messageRecord["content"]);
489
- }
490
- return {
491
- model: typeof requestRecord["model"] === "string" ? requestRecord["model"] : "unknown",
492
- stream: requestRecord["stream"] === true,
493
- bodyBytes: utf8Bytes(request),
494
- messageCount: messages.length,
495
- messageBytesByRole,
496
- systemBytes: utf8Bytes(requestRecord["system"]),
497
- toolsCount: tools.length,
498
- toolSchemaBytes: utf8Bytes(tools),
499
- topLevelKeys: Object.keys(requestRecord).sort()
500
- };
501
- }
502
- __name(summarizeAnthropicWireRequest, "summarizeAnthropicWireRequest");
503
- function createInitialToolDiagnostics() {
504
- return {
505
- toolUseCount: 0,
506
- toolResultCount: 0,
507
- toolResultErrorCount: 0,
508
- totalToolUseArgBytes: 0,
509
- maxToolUseArgBytes: 0,
510
- totalToolResultBytes: 0,
511
- maxToolResultBytes: 0,
512
- byName: /* @__PURE__ */ Object.create(null)
513
- };
514
- }
515
- __name(createInitialToolDiagnostics, "createInitialToolDiagnostics");
516
- function createInitialToolNameDiagnostics() {
517
- return {
518
- uses: 0,
519
- argBytes: 0,
520
- maxArgBytes: 0,
521
- results: 0,
522
- errors: 0,
523
- resultBytes: 0,
524
- maxResultBytes: 0
525
- };
526
- }
527
- __name(createInitialToolNameDiagnostics, "createInitialToolNameDiagnostics");
528
- function summarizeContents(contents) {
529
- const summary = {
530
- count: 0,
531
- roleCounts: {},
532
- partCount: 0,
533
- textBytes: 0,
534
- functionCallCount: 0,
535
- functionCallArgBytes: 0,
536
- functionResponseCount: 0,
537
- functionResponseBytes: 0,
538
- inlineDataCount: 0,
539
- inlineDataBytes: 0,
540
- fileDataCount: 0
541
- };
542
- const contentItems = Array.isArray(contents) ? contents : contents === void 0 || contents === null ? [] : [contents];
543
- for (const content of contentItems) {
544
- summary.count += 1;
545
- if (typeof content === "string") {
546
- summary.roleCounts["user"] = (summary.roleCounts["user"] ?? 0) + 1;
547
- summary.partCount += 1;
548
- summary.textBytes += utf8Bytes(content);
549
- continue;
550
- }
551
- const contentRecord = asRecord(content);
552
- const role = typeof contentRecord["role"] === "string" ? contentRecord["role"] : "unknown";
553
- summary.roleCounts[role] = (summary.roleCounts[role] ?? 0) + 1;
554
- const parts = Array.isArray(contentRecord["parts"]) ? contentRecord["parts"] : [];
555
- summarizeParts(parts, summary);
556
- }
557
- return summary;
558
- }
559
- __name(summarizeContents, "summarizeContents");
560
- function summarizeContentTextBytes(content) {
561
- const summary = summarizeContents(content);
562
- return summary.textBytes;
563
- }
564
- __name(summarizeContentTextBytes, "summarizeContentTextBytes");
565
- function summarizeParts(parts, summary) {
566
- for (const part of parts) {
567
- summary.partCount += 1;
568
- if (typeof part === "string") {
569
- summary.textBytes += utf8Bytes(part);
570
- continue;
571
- }
572
- const partRecord = asRecord(part);
573
- if (typeof partRecord["text"] === "string") {
574
- summary.textBytes += utf8Bytes(partRecord["text"]);
575
- }
576
- const functionCall = asOptionalRecord(partRecord["functionCall"]);
577
- if (functionCall) {
578
- summary.functionCallCount += 1;
579
- summary.functionCallArgBytes += utf8Bytes(functionCall["args"]);
580
- }
581
- const functionResponse = asOptionalRecord(partRecord["functionResponse"]);
582
- if (functionResponse) {
583
- summary.functionResponseCount += 1;
584
- summary.functionResponseBytes += utf8Bytes(functionResponse["response"]) + utf8Bytes(functionResponse["parts"]);
585
- }
586
- const inlineData = asOptionalRecord(partRecord["inlineData"]);
587
- if (inlineData) {
588
- summary.inlineDataCount += 1;
589
- summary.inlineDataBytes += utf8Bytes(inlineData["data"]);
590
- }
591
- if (partRecord["fileData"]) {
592
- summary.fileDataCount += 1;
593
- }
594
- }
595
- }
596
- __name(summarizeParts, "summarizeParts");
597
- function summarizeToolSchemas(tools) {
598
- const toolList = Array.isArray(tools) ? tools : [];
599
- let functionDeclarationCount = 0;
600
- for (const tool of toolList) {
601
- const toolRecord = asRecord(tool);
602
- const declarations = Array.isArray(toolRecord["functionDeclarations"]) ? toolRecord["functionDeclarations"] : [];
603
- functionDeclarationCount += declarations.length;
604
- }
605
- return {
606
- count: toolList.length,
607
- functionDeclarationCount,
608
- schemaBytes: utf8Bytes(toolList)
609
- };
610
- }
611
- __name(summarizeToolSchemas, "summarizeToolSchemas");
612
- function toJsonSafeRequest(request) {
613
- return {
614
- model: request.model,
615
- contents: request.contents,
616
- config: toJsonSafeConfig(request.config)
617
- };
618
- }
619
- __name(toJsonSafeRequest, "toJsonSafeRequest");
620
- function toJsonSafeConfig(config) {
621
- if (!config) {
622
- return void 0;
623
- }
624
- const configRecord = asRecord(config);
625
- const safeConfig = {};
626
- for (const [key, value] of Object.entries(configRecord)) {
627
- if (key === "abortSignal") {
628
- continue;
629
- }
630
- safeConfig[key] = value;
631
- }
632
- return safeConfig;
633
- }
634
- __name(toJsonSafeConfig, "toJsonSafeConfig");
635
- function utf8Bytes(value) {
636
- if (value === void 0 || value === null) {
637
- return 0;
638
- }
639
- if (typeof value === "string") {
640
- return Buffer.byteLength(value, "utf8");
641
- }
642
- return Buffer.byteLength(safeStringify(value), "utf8");
643
- }
644
- __name(utf8Bytes, "utf8Bytes");
645
- function safeStringify(value) {
646
- try {
647
- return JSON.stringify(value) ?? "";
648
- } catch {
649
- return "[unserializable]";
650
- }
651
- }
652
- __name(safeStringify, "safeStringify");
653
- function asRecord(value) {
654
- return typeof value === "object" && value !== null ? value : {};
655
- }
656
- __name(asRecord, "asRecord");
657
- function asOptionalRecord(value) {
658
- return typeof value === "object" && value !== null ? value : null;
659
- }
660
- __name(asOptionalRecord, "asOptionalRecord");
661
-
662
- // packages/core/src/utils/tool-name-utils.ts
663
- init_esbuild_shims();
664
- var MAX_TOOL_NAME_LENGTH = 63;
665
- var PROVIDER_SAFE_TOOL_NAME = /^[A-Za-z][A-Za-z0-9_-]*$/;
666
- function normalizeToolNameForProvider(name) {
667
- if (name.length <= MAX_TOOL_NAME_LENGTH && PROVIDER_SAFE_TOOL_NAME.test(name)) {
668
- return name;
669
- }
670
- const normalized = sanitizeToolNameForProvider(name);
671
- const suffix = `_${stableToolNameHash(name)}`;
672
- return `${normalized.slice(0, MAX_TOOL_NAME_LENGTH - suffix.length)}${suffix}`;
673
- }
674
- __name(normalizeToolNameForProvider, "normalizeToolNameForProvider");
675
- function sanitizeToolNameForProvider(name) {
676
- const sanitized = name.replace(/[^A-Za-z0-9_-]/g, "_");
677
- return /^[A-Za-z]/.test(sanitized) ? sanitized : `tool_${sanitized}`;
678
- }
679
- __name(sanitizeToolNameForProvider, "sanitizeToolNameForProvider");
680
- function normalizeMcpToolName(name) {
681
- return name.startsWith("mcp__") ? normalizeToolNameForProvider(name) : name;
682
- }
683
- __name(normalizeMcpToolName, "normalizeMcpToolName");
684
- function generateLegacyMcpToolName(name) {
685
- let legacyName = name.replace(/[^A-Za-z0-9_.-]/g, "_");
686
- if (legacyName.length > MAX_TOOL_NAME_LENGTH) {
687
- legacyName = legacyName.slice(0, 28) + "___" + legacyName.slice(-32);
688
- }
689
- return legacyName;
690
- }
691
- __name(generateLegacyMcpToolName, "generateLegacyMcpToolName");
692
- function stableToolNameHash(name) {
693
- let hash = 2166136261;
694
- for (let index = 0; index < name.length; index += 1) {
695
- hash = Math.imul(hash ^ name.charCodeAt(index), 16777619);
696
- }
697
- return (hash >>> 0).toString(36).padStart(7, "0");
698
- }
699
- __name(stableToolNameHash, "stableToolNameHash");
700
-
701
13
  // packages/core/src/utils/safeJsonParse.ts
702
14
  init_esbuild_shims();
703
15
 
@@ -1514,37 +826,64 @@ function toOpenAPI30(schema) {
1514
826
  return convert(schema);
1515
827
  }
1516
828
  __name(toOpenAPI30, "toOpenAPI30");
829
+ function relaxSchemaForFunctionCalling(schema) {
830
+ const relax = /* @__PURE__ */ __name((obj) => {
831
+ if (typeof obj !== "object" || obj === null) {
832
+ return obj;
833
+ }
834
+ if (Array.isArray(obj)) {
835
+ return obj.map(relax);
836
+ }
837
+ const source = obj;
838
+ const target = {};
839
+ const properties = source["properties"];
840
+ const required = Array.isArray(source["required"]) ? source["required"].filter(
841
+ (r) => typeof r === "string"
842
+ ) : [];
843
+ const hasOptionalProperties = typeof properties === "object" && properties !== null && !Array.isArray(properties) && Object.keys(properties).some((key) => !required.includes(key));
844
+ for (const [key, value] of Object.entries(source)) {
845
+ if (key === "$schema" || key === "$id") {
846
+ continue;
847
+ }
848
+ if (key === "additionalProperties" && value === false && hasOptionalProperties) {
849
+ continue;
850
+ }
851
+ if ((key === "properties" || key === "$defs" || key === "definitions") && typeof value === "object" && value !== null && !Array.isArray(value)) {
852
+ const map = {};
853
+ for (const [mapKey, mapValue] of Object.entries(
854
+ value
855
+ )) {
856
+ map[mapKey] = relax(mapValue);
857
+ }
858
+ target[key] = map;
859
+ continue;
860
+ }
861
+ target[key] = relax(value);
862
+ }
863
+ return target;
864
+ }, "relax");
865
+ return relax(schema);
866
+ }
867
+ __name(relaxSchemaForFunctionCalling, "relaxSchemaForFunctionCalling");
868
+
869
+ // packages/core/src/telemetry/gen-ai-usage.ts
870
+ init_esbuild_shims();
871
+ var usageProvenance = /* @__PURE__ */ new WeakMap();
872
+ function setGenAiUsageProvenance(usage, provenance) {
873
+ usageProvenance.set(usage, provenance);
874
+ }
875
+ __name(setGenAiUsageProvenance, "setGenAiUsageProvenance");
876
+ function getGenAiUsageProvenance(usage) {
877
+ return usage ? usageProvenance.get(usage) : void 0;
878
+ }
879
+ __name(getGenAiUsageProvenance, "getGenAiUsageProvenance");
1517
880
 
1518
881
  export {
1519
- DEFAULT_TOKEN_LIMIT,
1520
- DEFAULT_OUTPUT_TOKEN_LIMIT,
1521
- ESCALATED_MAX_TOKENS,
1522
- OUTPUT_TOKEN_CEILING,
1523
- MIN_CLAMPED_OUTPUT_TOKENS,
1524
- outputClampMargin,
1525
- clampOutputTokensToWindow,
1526
- parsePositiveIntegerEnvValue,
1527
- normalize,
1528
- hasExplicitOutputLimit,
1529
- knownTokenLimit,
1530
- tokenLimit,
1531
- defaultOutputCeiling,
1532
- reconcileMaxTokens,
1533
- estimateTextTokens,
1534
- TextTokenizer,
1535
- normalizeToolNameForProvider,
1536
- sanitizeToolNameForProvider,
1537
- normalizeMcpToolName,
1538
- generateLegacyMcpToolName,
1539
882
  safeJsonParse,
1540
883
  convertSchema,
1541
- setToolCallPreparations,
1542
- getToolCallPreparations,
1543
- isRuntimeDiagnosticsEnabled,
1544
- RuntimeDiagnosticsCollector,
1545
- runtimeDiagnostics,
1546
- summarizeOpenAIWireRequest,
1547
- summarizeAnthropicWireRequest
884
+ relaxSchemaForFunctionCalling,
885
+ setGenAiUsageProvenance,
886
+ getGenAiUsageProvenance
1548
887
  };
1549
888
  /**
1550
889
  * @license
@@ -1558,6 +897,6 @@ export {
1558
897
  */
1559
898
  /**
1560
899
  * @license
1561
- * Copyright 2026 Qwen
900
+ * Copyright 2026 Qwen Team
1562
901
  * SPDX-License-Identifier: Apache-2.0
1563
902
  */