@qwen-code/qwen-code 0.19.3 → 0.19.4-nightly.20260702.46814e4f1

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 (308) hide show
  1. package/bundled/loop/SKILL.md +22 -3
  2. package/bundled/loop/SKILL.test.ts +20 -0
  3. package/bundled/loop/autonomous-loop.test.ts +59 -0
  4. package/bundled/loop/autonomous-loop.ts +102 -0
  5. package/bundled/loop/loop-task-file.test.ts +1064 -0
  6. package/bundled/loop/loop-task-file.ts +404 -0
  7. package/bundled/loop/loop-tick-resolver.test.ts +906 -0
  8. package/bundled/loop/loop-tick-resolver.ts +416 -0
  9. package/bundled/qc-helper/SKILL.md +12 -5
  10. package/bundled/qc-helper/docs/configuration/auth.md +1 -1
  11. package/bundled/qc-helper/docs/configuration/settings.md +62 -32
  12. package/bundled/qc-helper/docs/features/approval-mode.md +3 -0
  13. package/bundled/qc-helper/docs/features/auto-mode.md +40 -0
  14. package/bundled/qc-helper/docs/features/channels/overview.md +81 -18
  15. package/bundled/qc-helper/docs/features/channels/plugins.md +1 -1
  16. package/bundled/qc-helper/docs/features/code-review.md +17 -61
  17. package/bundled/qc-helper/docs/features/commands.md +42 -40
  18. package/bundled/qc-helper/docs/features/headless.md +19 -18
  19. package/bundled/qc-helper/docs/features/hooks.md +6 -1
  20. package/bundled/qc-helper/docs/features/mcp.md +3 -1
  21. package/bundled/qc-helper/docs/features/memory.md +1 -1
  22. package/bundled/qc-helper/docs/features/scheduled-tasks.md +10 -0
  23. package/bundled/qc-helper/docs/features/status-line.md +3 -3
  24. package/bundled/qc-helper/docs/ide-integration/ide-integration.md +4 -4
  25. package/bundled/qc-helper/docs/qwen-serve.md +53 -0
  26. package/bundled/qc-helper/docs/support/troubleshooting.md +11 -0
  27. package/bundled/review/DESIGN.md +21 -26
  28. package/bundled/review/SKILL.md +45 -129
  29. package/chunks/MaxSizedBox-GHGRQ2OS.js +69 -0
  30. package/chunks/{StandaloneSessionPicker-Z52JTYST.js → StandaloneSessionPicker-G7YTTM27.js} +49 -42
  31. package/chunks/{acpAgent-7RZUOWOM.js → acpAgent-SDOILBSU.js} +1325 -365
  32. package/chunks/{agent-4FG7WTHJ.js → agent-NTSXGV4L.js} +31 -25
  33. package/chunks/agent-headless-WYURMSAB.js +62 -0
  34. package/chunks/{anthropicContentGenerator-PFITVL7Y.js → anthropicContentGenerator-WL3LJOUB.js} +110 -31
  35. package/chunks/{artifact-tool-D2X7G3C3.js → artifact-tool-W76WC2JX.js} +3 -3
  36. package/chunks/{askUserQuestion-UGETICJQ.js → askUserQuestion-J3P6TH3V.js} +2 -2
  37. package/chunks/bridge-AMOL4W4P.js +73 -0
  38. package/chunks/{ca-IUFWESZL.js → ca-HCMB2I54.js} +10 -9
  39. package/chunks/channel-worker-supervisor-C3IB63V7.js +659 -0
  40. package/chunks/{chunk-STUWFKGD.js → chunk-26JIREA5.js} +466 -543
  41. package/chunks/{chunk-SLNKLLEO.js → chunk-2MRV62AU.js} +37 -8
  42. package/chunks/{chunk-ODLIHNOY.js → chunk-2U4HUMOL.js} +1 -1
  43. package/chunks/{chunk-CKQA6AWF.js → chunk-4D73HUOP.js} +1 -1
  44. package/chunks/{chunk-M2U5NM24.js → chunk-54YZOP7P.js} +309 -72
  45. package/chunks/{chunk-J7FA27RO.js → chunk-5LKL3PAU.js} +3 -3
  46. package/chunks/chunk-5P5XGNYH.js +93 -0
  47. package/chunks/{chunk-UFLGERMB.js → chunk-6JE32BRB.js} +178 -124
  48. package/chunks/{chunk-FKAVULLM.js → chunk-75AVTQJ2.js} +74 -10
  49. package/chunks/{chunk-I2LYBGNI.js → chunk-7IOMIYOE.js} +1 -1
  50. package/chunks/{chunk-4LUZAKMK.js → chunk-7KXAGQJ2.js} +1 -1
  51. package/chunks/{chunk-BXSHL2SF.js → chunk-7LUOQJ3D.js} +1 -1
  52. package/chunks/{chunk-YAINVQ3Q.js → chunk-A5OPLHFM.js} +18693 -17055
  53. package/chunks/chunk-AHNXYU4O.js +24 -0
  54. package/chunks/{chunk-UX4SGCGN.js → chunk-AVQDCKNF.js} +96 -22
  55. package/chunks/{chunk-HYCC3XM3.js → chunk-B236XPGF.js} +1 -1
  56. package/chunks/chunk-B6SZLQAZ.js +3523 -0
  57. package/chunks/{chunk-5DWXLGOM.js → chunk-BJBWRCSK.js} +1 -1
  58. package/chunks/chunk-BPFJQGY7.js +193 -0
  59. package/chunks/{chunk-SKQZZVAV.js → chunk-BZHLWC6T.js} +2 -2
  60. package/chunks/{chunk-U3KSMM7G.js → chunk-D5KISTLW.js} +339 -383
  61. package/chunks/{chunk-GT2FGICD.js → chunk-DE7YXUR7.js} +1 -1
  62. package/chunks/{chunk-BUUQ5HPX.js → chunk-DG573EOO.js} +1 -1
  63. package/chunks/{chunk-VVLOGDB6.js → chunk-DX3TKXNT.js} +2 -2
  64. package/chunks/chunk-E5A7LHNN.js +51 -0
  65. package/chunks/{chunk-3PJXIDKI.js → chunk-E6US47KI.js} +3 -27
  66. package/chunks/{chunk-QBZ22PQX.js → chunk-EWALXUAD.js} +3 -1
  67. package/chunks/{chunk-PDE7CSDS.js → chunk-FXKI7OW6.js} +2 -2
  68. package/chunks/{chunk-F3ZYSEY6.js → chunk-FY4TT4L4.js} +3 -3
  69. package/chunks/{chunk-QLDPRILK.js → chunk-G7OQ3RFJ.js} +3 -3
  70. package/chunks/{chunk-R2BXK7SX.js → chunk-GHOTR7HL.js} +6 -1
  71. package/chunks/{chunk-KMGMKW5Q.js → chunk-GLPV75ES.js} +9 -3
  72. package/chunks/{chunk-LD2XBG6Z.js → chunk-GO6LNQXT.js} +1 -39
  73. package/chunks/{chunk-CNLEDYE3.js → chunk-H6TNLOLM.js} +5 -5
  74. package/chunks/{chunk-JVHEVCAU.js → chunk-HLW4EGKR.js} +31 -6
  75. package/chunks/{chunk-I4H7PRWQ.js → chunk-HTWHAN44.js} +1 -1
  76. package/chunks/{chunk-QE6KJYLT.js → chunk-IPYE5BIS.js} +123 -25
  77. package/chunks/{chunk-EJYJYJZ2.js → chunk-IRJWHZWU.js} +3 -70
  78. package/chunks/{chunk-EDMZZFDU.js → chunk-J3YPTTNL.js} +930 -798
  79. package/chunks/{chunk-GGBIN5K7.js → chunk-JGAJMIJZ.js} +1 -1
  80. package/chunks/{chunk-N4EJFBN5.js → chunk-JVLP5US5.js} +427 -263
  81. package/chunks/{chunk-R5OP2ATH.js → chunk-JZG7VB6C.js} +11 -11
  82. package/chunks/{chunk-QI7GOGJR.js → chunk-KKQWC6WS.js} +1 -1
  83. package/chunks/{chunk-ADCIHOQZ.js → chunk-KX5QZRW2.js} +142 -30
  84. package/chunks/{chunk-SBBN4BWR.js → chunk-L7OJ3ZO3.js} +1 -1
  85. package/chunks/{chunk-NDOC6M5S.js → chunk-L7QPM2YD.js} +2 -2
  86. package/chunks/{chunk-BVSVIN45.js → chunk-LKWAVAB5.js} +3 -3
  87. package/chunks/{chunk-T4T2FNV4.js → chunk-LOW52WYZ.js} +2 -2
  88. package/chunks/{chunk-4QK3O43S.js → chunk-LU7BIVWC.js} +4 -4
  89. package/chunks/{chunk-ZP6UKOPB.js → chunk-LWGLBVWA.js} +1 -1
  90. package/chunks/{chunk-L7OKCI7T.js → chunk-M7BLWURA.js} +15 -1
  91. package/chunks/{chunk-PR32FRT6.js → chunk-MIM62IXS.js} +3 -3
  92. package/chunks/{chunk-RD6YJJJ6.js → chunk-MOUXUCXQ.js} +1 -1
  93. package/chunks/{chunk-VBZ452JT.js → chunk-MSNGFH6L.js} +494 -114
  94. package/chunks/{chunk-BX5YO7UW.js → chunk-MTNTVOJR.js} +542 -370
  95. package/chunks/chunk-MX2YXRER.js +44 -0
  96. package/chunks/chunk-NIOPRZNN.js +27 -0
  97. package/chunks/{chunk-SMYQZVZ3.js → chunk-NOGSPTLJ.js} +1 -1
  98. package/chunks/{chunk-DDMOU62Q.js → chunk-NPQWQYU6.js} +1 -1
  99. package/chunks/{chunk-MNF6S5PR.js → chunk-P5THQV6A.js} +4 -4
  100. package/chunks/{chunk-6V4NZFUS.js → chunk-PCYOT4PK.js} +5 -5
  101. package/chunks/{chunk-CF6BB3LT.js → chunk-PPFWEV7G.js} +10 -1
  102. package/chunks/{chunk-FXKVLFFY.js → chunk-PSFDB5FZ.js} +3 -3
  103. package/chunks/{chunk-XJYUPHRC.js → chunk-QOMAHFYI.js} +3 -3
  104. package/chunks/{chunk-J37FGIOA.js → chunk-QXPI7FEC.js} +38 -4
  105. package/chunks/{chunk-RRFZXMYP.js → chunk-QZDBHNMV.js} +691 -164
  106. package/chunks/{chunk-S7AKE7HL.js → chunk-R6RI2HIC.js} +63 -9
  107. package/chunks/{chunk-HZT4UCFB.js → chunk-RB7S52NJ.js} +4 -4
  108. package/chunks/{chunk-J33ZR6OJ.js → chunk-RK22ACPP.js} +16 -16
  109. package/chunks/chunk-RM3PGSGL.js +66 -0
  110. package/chunks/chunk-RNBYOUGV.js +42 -0
  111. package/chunks/chunk-S6RLAIUR.js +23 -0
  112. package/chunks/{chunk-3TV3HUWZ.js → chunk-SCYK2YLI.js} +81 -30
  113. package/chunks/{chunk-HPZTOP4I.js → chunk-SEKRT4SD.js} +133 -23
  114. package/chunks/chunk-SEZC2725.js +36 -0
  115. package/chunks/chunk-SIUQ3YYX.js +78 -0
  116. package/chunks/{chunk-O2VBQ3Y2.js → chunk-SJBIFVD2.js} +2 -2
  117. package/chunks/chunk-SYCJMSIJ.js +82 -0
  118. package/chunks/{chunk-JE5FVRPC.js → chunk-T22H4V4R.js} +48 -23
  119. package/chunks/{chunk-3227DZO4.js → chunk-T42ACHFI.js} +1 -1
  120. package/chunks/{chunk-UO5GVXQE.js → chunk-TENOUWY2.js} +3 -3
  121. package/chunks/{chunk-JOLIREYR.js → chunk-TOAUDIS7.js} +1 -1
  122. package/chunks/{chunk-QNKBEJO2.js → chunk-UA6XBZT7.js} +2776 -1289
  123. package/chunks/{chunk-O75BHFQW.js → chunk-UQTYK5SS.js} +2 -2
  124. package/chunks/{chunk-Y6YMRS3U.js → chunk-UY2TCIZS.js} +17 -3
  125. package/chunks/{chunk-FNJ7BDPH.js → chunk-UY7ZAYTY.js} +10 -7
  126. package/chunks/{chunk-UYT3MWEB.js → chunk-UYHWM24C.js} +30 -2
  127. package/chunks/{chunk-SMXULRAN.js → chunk-VXGPYF7U.js} +1 -1
  128. package/chunks/{chunk-BTLJ2MF5.js → chunk-W7CG5HPC.js} +3 -3
  129. package/chunks/{chunk-JJXWTVSK.js → chunk-XHZKDN7M.js} +34 -1
  130. package/chunks/{chunk-K5XU6E4T.js → chunk-XKSCTXPK.js} +2 -2
  131. package/chunks/chunk-Y4LITCRB.js +367 -0
  132. package/chunks/chunk-YHTNWGRR.js +239 -0
  133. package/chunks/{chunk-BKXBARJZ.js → chunk-YPCPZSZB.js} +1 -1
  134. package/chunks/{chunk-QWFNTRH4.js → chunk-YSM24SCE.js} +1 -1
  135. package/chunks/chunk-YTFBURQD.js +313 -0
  136. package/chunks/{chunk-NL4C3H6C.js → chunk-YXK4GPYO.js} +1 -1
  137. package/chunks/{chunk-RYLJU2DY.js → chunk-ZN5T4BHI.js} +1 -1
  138. package/chunks/{computer-use-JGB36FDW.js → computer-use-MTSVPLPY.js} +34 -28
  139. package/chunks/contextCommand-VGJ3BPTK.js +67 -0
  140. package/chunks/{cron-create-SKEY55RG.js → cron-create-6YTCOX6P.js} +4 -4
  141. package/chunks/{cron-delete-I3NAT32Z.js → cron-delete-E3NIFSUK.js} +4 -4
  142. package/chunks/{cron-list-6XRRL6TH.js → cron-list-Q64MNQNE.js} +4 -4
  143. package/chunks/daemon-EEB2RYOL.js +8453 -0
  144. package/chunks/daemon-status-provider-H5SNMK42.js +71 -0
  145. package/chunks/{de-EOW5PVHF.js → de-PLLFDERI.js} +10 -9
  146. package/chunks/{dist-NHEYYB2B.js → dist-ADMIQGHI.js} +2 -2
  147. package/chunks/{dist-J37VXPLD.js → dist-BCQ7INM7.js} +40 -15
  148. package/chunks/{dist-663NZ6MI.js → dist-KNZFCY5F.js} +116 -11
  149. package/chunks/{dist-LB6OGPVM.js → dist-LHUWC3K6.js} +26 -5
  150. package/chunks/{dist-PQPZ5Q4N.js → dist-WBBZ76JZ.js} +20 -9
  151. package/chunks/{earlyInputCapture-44RISVVJ.js → earlyInputCapture-U4ZIQSQU.js} +32 -26
  152. package/chunks/{edit-NN6GM5DT.js → edit-SYIQ2KBI.js} +41 -38
  153. package/chunks/{en-HPWEJBTR.js → en-M4EBUBNU.js} +32 -10
  154. package/chunks/{enter-worktree-PB3O2C7D.js → enter-worktree-HPPOO244.js} +31 -25
  155. package/chunks/{enterPlanMode-YQFNNSUA.js → enterPlanMode-56YYO52U.js} +41 -25
  156. package/chunks/{errors-LS7XU5DZ.js → errors-EO4SXCFP.js} +33 -27
  157. package/chunks/{exit-worktree-E2FTNSBK.js → exit-worktree-UDM7E6XH.js} +31 -25
  158. package/chunks/{exitPlanMode-GLYK2BUB.js → exitPlanMode-M6P3AWLJ.js} +149 -33
  159. package/chunks/{fast-path-WQ6M7LI7.js → fast-path-42P4QYWI.js} +33 -14
  160. package/chunks/{fast-path-settings-OAGU3X5H.js → fast-path-settings-UQLRFDQP.js} +2 -2
  161. package/chunks/{fr-BN5NKSAC.js → fr-MBMNQSQ6.js} +10 -9
  162. package/chunks/{gemini-2YFLVA2M.js → gemini-NRLXS5J7.js} +84 -70
  163. package/chunks/{geminiContentGenerator-XV6SV6CD.js → geminiContentGenerator-DLJPYYPA.js} +41 -5
  164. package/chunks/{glob-2H6CDDMK.js → glob-JPY3F74Y.js} +31 -25
  165. package/chunks/{grep-VXIUXM3C.js → grep-HW23YES5.js} +31 -25
  166. package/chunks/initializer-HWOZTC4A.js +67 -0
  167. package/chunks/{ja-7DEUB2TS.js → ja-HFV5QCHR.js} +10 -9
  168. package/chunks/{keychain-token-storage-YLMDLKXT.js → keychain-token-storage-GPAKRDKQ.js} +2 -2
  169. package/chunks/list-OZGAGRDG.js +71 -0
  170. package/chunks/loadedSettingsAdapter-RUTZVVIA.js +66 -0
  171. package/chunks/{loop-wakeup-CITGGQHA.js → loop-wakeup-G2EHBRGR.js} +5 -5
  172. package/chunks/{ls-R5WP4BGZ.js → ls-IDHUVSAG.js} +4 -4
  173. package/chunks/{lsp-GSICJMMW.js → lsp-FSRYXGFT.js} +2 -2
  174. package/chunks/{monitor-HKLRS2HQ.js → monitor-QVWEIXU3.js} +33 -26
  175. package/chunks/nonInteractiveCli-RV2WYPML.js +109 -0
  176. package/chunks/{notebook-edit-Y6SKSGTT.js → notebook-edit-B26W3FFH.js} +37 -34
  177. package/chunks/{openaiContentGenerator-J7G2FYJT.js → openaiContentGenerator-6TH7AZGQ.js} +15 -13
  178. package/chunks/pidfile-KW2QQJZI.js +73 -0
  179. package/chunks/{pt-TNZRNLQB.js → pt-2THT3YHA.js} +10 -9
  180. package/chunks/{qwenContentGenerator-5XIEM5GV.js → qwenContentGenerator-5IQAC7RN.js} +33 -27
  181. package/chunks/{qwenOAuth2-AG3PFFLZ.js → qwenOAuth2-LWLA6MQG.js} +5 -4
  182. package/chunks/{read-file-J7D552ZJ.js → read-file-CWFAHOI2.js} +11 -10
  183. package/chunks/{read-mcp-resource-DQQW7H7T.js → read-mcp-resource-PIJF24RO.js} +2 -2
  184. package/chunks/ripGrep-FTZGDKY4.js +60 -0
  185. package/chunks/{ru-NIAUBKCN.js → ru-Z67YJHBG.js} +10 -9
  186. package/chunks/{run-qwen-serve-SGEEVMXD.js → run-qwen-serve-FN2SW5ZI.js} +545 -97
  187. package/chunks/{scheduler-7CQI3S4Q.js → scheduler-BMS23O3I.js} +31 -25
  188. package/chunks/{send-message-EE4TWKVU.js → send-message-33PYFMCT.js} +20 -4
  189. package/chunks/serve-PXFYKL65.js +71 -0
  190. package/chunks/{server-4QMUWXPW.js → server-BRKALJ4F.js} +4132 -1175
  191. package/chunks/{session-NRO7UFOY.js → session-AQMISBP4.js} +205 -64
  192. package/chunks/{settings-SGWRDQSC.js → settings-JCPVUZMB.js} +35 -29
  193. package/chunks/{shell-62ANGIHL.js → shell-POHCRVN2.js} +31 -25
  194. package/chunks/{skill-VWAQAWW6.js → skill-QPEVHS6H.js} +13 -12
  195. package/chunks/spawnChannel-V3QT62TE.js +69 -0
  196. package/chunks/{src-KUV5J5Q2.js → src-IZSP7L6Y.js} +127 -32
  197. package/chunks/{startInteractiveUI-6EYJN3JV.js → startInteractiveUI-63KATISO.js} +16762 -16075
  198. package/chunks/{syntheticOutput-T5YHQ6S2.js → syntheticOutput-YOSWIHDJ.js} +3 -3
  199. package/chunks/{task-create-BLY7RHXX.js → task-create-NHS2NGB3.js} +9 -7
  200. package/chunks/{task-list-3QUYNVYR.js → task-list-5UIB564R.js} +7 -6
  201. package/chunks/{task-stop-U4RATK2V.js → task-stop-HGXZ2VZ3.js} +2 -2
  202. package/chunks/{task-update-U54O7KJX.js → task-update-IYYWUILG.js} +40 -7
  203. package/chunks/{team-create-LPOGCPM7.js → team-create-E5O2F3CA.js} +31 -25
  204. package/chunks/{team-delete-LKBYPASD.js → team-delete-FEKJCU4P.js} +7 -6
  205. package/chunks/team-plan-approval-2TU4YROB.js +202 -0
  206. package/chunks/theme-manager-37KOGPJL.js +64 -0
  207. package/chunks/{todoWrite-OYXKTVYN.js → todoWrite-TKMVZ2HT.js} +4 -4
  208. package/chunks/{tool-search-YPUFJ3ZQ.js → tool-search-4ZTGNSFI.js} +38 -11
  209. package/chunks/{trustedFolders-5B24TMEA.js → trustedFolders-RJ5WXJ6L.js} +32 -26
  210. package/chunks/{validateNonInterActiveAuth-BTDTYOVT.js → validateNonInterActiveAuth-ZWMHZAOK.js} +66 -55
  211. package/chunks/{web-fetch-EEB5LZYU.js → web-fetch-J4PIW36Q.js} +5 -4
  212. package/chunks/{workflow-LAWIW5LI.js → workflow-6PG2PC5M.js} +68 -39
  213. package/chunks/workspace-providers-status-4QIZN2W4.js +68 -0
  214. package/chunks/workspace-service-CYMCOEIO.js +78 -0
  215. package/chunks/{write-file-PCV226DJ.js → write-file-R354LGQF.js} +41 -40
  216. package/chunks/{zh-5EUYXASN.js → zh-SLZNSSZB.js} +32 -10
  217. package/chunks/{zh-TW-TR3XYGE5.js → zh-TW-P53C2SL5.js} +32 -10
  218. package/cli.js +6 -6
  219. package/locales/ca.js +15 -13
  220. package/locales/de.js +15 -13
  221. package/locales/en.js +52 -15
  222. package/locales/fr.js +15 -14
  223. package/locales/ja.js +15 -14
  224. package/locales/pt.js +15 -13
  225. package/locales/ru.js +15 -13
  226. package/locales/zh-TW.js +50 -14
  227. package/locales/zh.js +50 -14
  228. package/node_modules/@qwen-code/audio-capture/package.json +1 -1
  229. package/node_modules/@qwen-code/audio-capture/prebuilds/darwin-arm64/@qwen-code+audio-capture.node +0 -0
  230. package/node_modules/@qwen-code/audio-capture/prebuilds/darwin-x64/@qwen-code+audio-capture.node +0 -0
  231. package/node_modules/@qwen-code/audio-capture/prebuilds/win32-x64/@qwen-code+audio-capture.node +0 -0
  232. package/package.json +15 -6
  233. package/patches/chrome-devtools-mcp+1.4.0.patch +31 -0
  234. package/postinstall.js +50 -0
  235. package/web-shell/assets/{arc-DA7r8Ueo.js → arc-Bd3048nX.js} +1 -1
  236. package/web-shell/assets/{architectureDiagram-3BPJPVTR-ZDUxPtZ2.js → architectureDiagram-3BPJPVTR-DyzbzABx.js} +1 -1
  237. package/web-shell/assets/{blockDiagram-GPEHLZMM-vrtOf1kJ.js → blockDiagram-GPEHLZMM-CTjxm9Sy.js} +1 -1
  238. package/web-shell/assets/{c4Diagram-AAUBKEIU-BHFjzIi4.js → c4Diagram-AAUBKEIU-DSOFWNU6.js} +1 -1
  239. package/web-shell/assets/channel-oVoup_Ci.js +1 -0
  240. package/web-shell/assets/{chunk-2J33WTMH-mdeQVz59.js → chunk-2J33WTMH-D_PFdjo2.js} +1 -1
  241. package/web-shell/assets/{chunk-4BX2VUAB-BkKMlwBX.js → chunk-4BX2VUAB-52eG6wOT.js} +1 -1
  242. package/web-shell/assets/{chunk-55IACEB6-B7bnXNfu.js → chunk-55IACEB6-CGTZfKkC.js} +1 -1
  243. package/web-shell/assets/{chunk-727SXJPM-DGz8Mm6i.js → chunk-727SXJPM-CZ-qfRUm.js} +1 -1
  244. package/web-shell/assets/{chunk-AQP2D5EJ-BQAydUNk.js → chunk-AQP2D5EJ-B2dSDcqM.js} +1 -1
  245. package/web-shell/assets/{chunk-FMBD7UC4-GHr2LN_p.js → chunk-FMBD7UC4-Cfy3tyA0.js} +1 -1
  246. package/web-shell/assets/{chunk-ND2GUHAM-7R91lnUx.js → chunk-ND2GUHAM-CApNUpUq.js} +1 -1
  247. package/web-shell/assets/{chunk-QZHKN3VN-aTJD3lSQ.js → chunk-QZHKN3VN-CVBG8kgg.js} +1 -1
  248. package/web-shell/assets/classDiagram-4FO5ZUOK-B8WsaT2G.js +1 -0
  249. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-B8WsaT2G.js +1 -0
  250. package/web-shell/assets/{cose-bilkent-S5V4N54A-BTf8t1RL.js → cose-bilkent-S5V4N54A-URd77-_-.js} +1 -1
  251. package/web-shell/assets/{dagre-BM42HDAG-_sgp3WuA.js → dagre-BM42HDAG-C07H4G9-.js} +1 -1
  252. package/web-shell/assets/{diagram-2AECGRRQ-CROtRy1w.js → diagram-2AECGRRQ-CYbpXrSn.js} +1 -1
  253. package/web-shell/assets/{diagram-5GNKFQAL-BqGRzwSc.js → diagram-5GNKFQAL-SI8s6fjX.js} +1 -1
  254. package/web-shell/assets/{diagram-KO2AKTUF-CMrcEtA7.js → diagram-KO2AKTUF-mBkC4RTW.js} +1 -1
  255. package/web-shell/assets/{diagram-LMA3HP47-BRydGNW5.js → diagram-LMA3HP47-CyBPDzWJ.js} +1 -1
  256. package/web-shell/assets/{diagram-OG6HWLK6-D0ilgNjV.js → diagram-OG6HWLK6-DwK7kBCu.js} +1 -1
  257. package/web-shell/assets/{erDiagram-TEJ5UH35-2lnQeJUM.js → erDiagram-TEJ5UH35-Ds1StEUd.js} +1 -1
  258. package/web-shell/assets/{flowDiagram-I6XJVG4X-C_ZMdQiC.js → flowDiagram-I6XJVG4X-BDC4-jHO.js} +1 -1
  259. package/web-shell/assets/{ganttDiagram-6RSMTGT7-Dw9V_Ny0.js → ganttDiagram-6RSMTGT7-CV2aHQqf.js} +1 -1
  260. package/web-shell/assets/{gitGraphDiagram-PVQCEYII-HDXI-F1B.js → gitGraphDiagram-PVQCEYII-B8RcuV_L.js} +1 -1
  261. package/web-shell/assets/index-B5WZ0qP1.js +717 -0
  262. package/web-shell/assets/index-CYE1IMd1.css +5 -0
  263. package/web-shell/assets/{infoDiagram-5YYISTIA-CuB8Ebua.js → infoDiagram-5YYISTIA-DUPoTf50.js} +1 -1
  264. package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-D_tyhVwh.js → ishikawaDiagram-YF4QCWOH-FDYOx9rf.js} +1 -1
  265. package/web-shell/assets/{journeyDiagram-JHISSGLW-CgCwJQNU.js → journeyDiagram-JHISSGLW-C5_ohMRp.js} +1 -1
  266. package/web-shell/assets/{kanban-definition-UN3LZRKU-PZUtcbPx.js → kanban-definition-UN3LZRKU-Bn4UnOMG.js} +1 -1
  267. package/web-shell/assets/{linear-CZqRdJIU.js → linear-Bl0pKQtY.js} +1 -1
  268. package/web-shell/assets/{mermaid.core-CPW_4UEF.js → mermaid.core-sevQFoji.js} +72 -72
  269. package/web-shell/assets/{mindmap-definition-RKZ34NQL-D_Y75ID7.js → mindmap-definition-RKZ34NQL-DSH4JZF9.js} +1 -1
  270. package/web-shell/assets/{pieDiagram-4H26LBE5-Q4dTyLeF.js → pieDiagram-4H26LBE5-acWvdQTD.js} +1 -1
  271. package/web-shell/assets/{quadrantDiagram-W4KKPZXB-ckw329Ft.js → quadrantDiagram-W4KKPZXB-DlggX4Sm.js} +1 -1
  272. package/web-shell/assets/{requirementDiagram-4Y6WPE33-DbVDm4It.js → requirementDiagram-4Y6WPE33--mMqwmV8.js} +1 -1
  273. package/web-shell/assets/{sankeyDiagram-5OEKKPKP-CHuZ_ecH.js → sankeyDiagram-5OEKKPKP-BtV9tZ77.js} +1 -1
  274. package/web-shell/assets/{sequenceDiagram-3UESZ5HK-DU2YSpq-.js → sequenceDiagram-3UESZ5HK-iDQzPFlj.js} +1 -1
  275. package/web-shell/assets/{stateDiagram-AJRCARHV-CA9PEBUo.js → stateDiagram-AJRCARHV-CsCyQLZ3.js} +1 -1
  276. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-CPapECG9.js +1 -0
  277. package/web-shell/assets/{timeline-definition-PNZ67QCA-Bhlo4WVc.js → timeline-definition-PNZ67QCA-Dl0rnKvr.js} +1 -1
  278. package/web-shell/assets/{vennDiagram-CIIHVFJN-6xtPLsyl.js → vennDiagram-CIIHVFJN-qF7nTZzA.js} +1 -1
  279. package/web-shell/assets/{wardley-L42UT6IY-3eozmXPf.js → wardley-L42UT6IY-fWoK9i7F.js} +1 -1
  280. package/web-shell/assets/{wardleyDiagram-YWT4CUSO-BOn6hKss.js → wardleyDiagram-YWT4CUSO-pHGfkMnc.js} +1 -1
  281. package/web-shell/assets/{xychartDiagram-2RQKCTM6-BsP4-I_y.js → xychartDiagram-2RQKCTM6-3Doc4Trz.js} +1 -1
  282. package/web-shell/index.html +18 -2
  283. package/chunks/MaxSizedBox-QNF3EIGU.js +0 -63
  284. package/chunks/agent-headless-RQ5BTX3G.js +0 -56
  285. package/chunks/bridge-JL2PMCIW.js +0 -66
  286. package/chunks/chunk-5GOVVXEV.js +0 -73
  287. package/chunks/chunk-BC3C4F3Q.js +0 -40
  288. package/chunks/chunk-BW4KCQFD.js +0 -1103
  289. package/chunks/chunk-RKIZXJMB.js +0 -13
  290. package/chunks/contextCommand-WYU6OQ2F.js +0 -61
  291. package/chunks/daemon-status-provider-HH2EC5FI.js +0 -65
  292. package/chunks/headlessSafetyWarnings-TBE35GJ4.js +0 -55
  293. package/chunks/initializer-2Y7SLOKV.js +0 -61
  294. package/chunks/list-ZAFHZ7OS.js +0 -65
  295. package/chunks/loadedSettingsAdapter-6KJXD6M3.js +0 -60
  296. package/chunks/nonInteractiveCli-5W4GIZQM.js +0 -96
  297. package/chunks/ripGrep-IEIFIWP4.js +0 -54
  298. package/chunks/serve-V6GVZR6U.js +0 -65
  299. package/chunks/spawnChannel-3VHW5EPY.js +0 -63
  300. package/chunks/theme-manager-LYLGAERF.js +0 -58
  301. package/chunks/workspace-providers-status-PIAFVYHA.js +0 -62
  302. package/chunks/workspace-service-YAIOD4HG.js +0 -71
  303. package/web-shell/assets/channel-iRo68q4Q.js +0 -1
  304. package/web-shell/assets/classDiagram-4FO5ZUOK-iHF24a8X.js +0 -1
  305. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-iHF24a8X.js +0 -1
  306. package/web-shell/assets/index-CHmzAWys.css +0 -5
  307. package/web-shell/assets/index-w6GTOHh1.js +0 -713
  308. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-t1LRI0oY.js +0 -1
@@ -0,0 +1,239 @@
1
+ // Force strict mode and setup for ESM
2
+ "use strict";
3
+ import {
4
+ Storage
5
+ } from "./chunk-AVQDCKNF.js";
6
+ import {
7
+ init_esbuild_shims
8
+ } from "./chunk-A4BMJM77.js";
9
+ import {
10
+ __name
11
+ } from "./chunk-J2S4EL5Y.js";
12
+
13
+ // packages/cli/src/commands/channel/pidfile.ts
14
+ init_esbuild_shims();
15
+ import {
16
+ existsSync,
17
+ readFileSync,
18
+ writeFileSync,
19
+ mkdirSync,
20
+ unlinkSync,
21
+ openSync,
22
+ closeSync,
23
+ constants,
24
+ ftruncateSync,
25
+ writeSync
26
+ } from "node:fs";
27
+ import * as path from "node:path";
28
+ function pidFilePath() {
29
+ return path.join(Storage.getGlobalQwenDir(), "channels", "service.pid");
30
+ }
31
+ __name(pidFilePath, "pidFilePath");
32
+ function isValidPid(pid) {
33
+ return typeof pid === "number" && Number.isSafeInteger(pid) && pid > 0;
34
+ }
35
+ __name(isValidPid, "isValidPid");
36
+ function parseServiceInfo(value) {
37
+ if (typeof value !== "object" || value === null || Array.isArray(value)) {
38
+ return null;
39
+ }
40
+ const info = value;
41
+ const owner = info.owner ?? "channel";
42
+ if (owner !== "channel" && owner !== "serve") return null;
43
+ if (!isValidPid(info.pid) || typeof info.startedAt !== "string" || Number.isNaN(Date.parse(info.startedAt)) || !Array.isArray(info.channels) || !info.channels.every((channel) => typeof channel === "string")) {
44
+ return null;
45
+ }
46
+ if (info.servePid !== void 0 && !isValidPid(info.servePid)) return null;
47
+ if (info.workerPid !== void 0 && !isValidPid(info.workerPid)) return null;
48
+ return {
49
+ owner,
50
+ pid: info.pid,
51
+ startedAt: info.startedAt,
52
+ channels: info.channels,
53
+ ...info.servePid !== void 0 ? { servePid: info.servePid } : {},
54
+ ...info.workerPid !== void 0 ? { workerPid: info.workerPid } : {}
55
+ };
56
+ }
57
+ __name(parseServiceInfo, "parseServiceInfo");
58
+ function unlinkPidFile(filePath) {
59
+ try {
60
+ unlinkSync(filePath);
61
+ } catch {
62
+ }
63
+ }
64
+ __name(unlinkPidFile, "unlinkPidFile");
65
+ function isProcessAlive(pid) {
66
+ if (!isValidPid(pid)) {
67
+ return false;
68
+ }
69
+ try {
70
+ process.kill(pid, 0);
71
+ return true;
72
+ } catch {
73
+ return false;
74
+ }
75
+ }
76
+ __name(isProcessAlive, "isProcessAlive");
77
+ function readServiceInfo() {
78
+ const filePath = pidFilePath();
79
+ if (!existsSync(filePath)) return null;
80
+ let parsed;
81
+ try {
82
+ parsed = JSON.parse(readFileSync(filePath, "utf-8"));
83
+ } catch {
84
+ unlinkPidFile(filePath);
85
+ return null;
86
+ }
87
+ const info = parseServiceInfo(parsed);
88
+ if (!info) {
89
+ unlinkPidFile(filePath);
90
+ return null;
91
+ }
92
+ if (!isProcessAlive(info.pid)) {
93
+ unlinkPidFile(filePath);
94
+ return null;
95
+ }
96
+ return info;
97
+ }
98
+ __name(readServiceInfo, "readServiceInfo");
99
+ function writeInfo(info, flag = "w") {
100
+ const filePath = pidFilePath();
101
+ const dir = path.dirname(filePath);
102
+ if (!existsSync(dir)) {
103
+ mkdirSync(dir, { recursive: true });
104
+ }
105
+ writeFileSync(filePath, JSON.stringify(info, null, 2), {
106
+ encoding: "utf-8",
107
+ flag
108
+ });
109
+ }
110
+ __name(writeInfo, "writeInfo");
111
+ function fileExistsError(message) {
112
+ const err = new Error(message);
113
+ err.code = "EEXIST";
114
+ return err;
115
+ }
116
+ __name(fileExistsError, "fileExistsError");
117
+ function writeServiceInfo(channels) {
118
+ const info = {
119
+ owner: "channel",
120
+ pid: process.pid,
121
+ startedAt: (/* @__PURE__ */ new Date()).toISOString(),
122
+ channels
123
+ };
124
+ writeInfo(info, "wx");
125
+ }
126
+ __name(writeServiceInfo, "writeServiceInfo");
127
+ function writeServeServiceInfo({
128
+ channels,
129
+ servePid = process.pid,
130
+ workerPid
131
+ }) {
132
+ const buildInfo = /* @__PURE__ */ __name((startedAt) => ({
133
+ owner: "serve",
134
+ pid: servePid,
135
+ startedAt,
136
+ channels,
137
+ servePid,
138
+ ...workerPid !== void 0 ? { workerPid } : {}
139
+ }), "buildInfo");
140
+ const filePath = pidFilePath();
141
+ let fd;
142
+ try {
143
+ fd = openSync(filePath, constants.O_RDWR | constants.O_NOFOLLOW);
144
+ } catch (err) {
145
+ if (err.code === "ENOENT") {
146
+ writeInfo(buildInfo((/* @__PURE__ */ new Date()).toISOString()), "wx");
147
+ return;
148
+ }
149
+ throw err;
150
+ }
151
+ try {
152
+ let existing = null;
153
+ try {
154
+ existing = parseServiceInfo(JSON.parse(readFileSync(fd, "utf-8")));
155
+ } catch {
156
+ }
157
+ if (!existing || existing.owner !== "serve" || existing.pid !== servePid || existing.servePid !== servePid) {
158
+ throw fileExistsError(
159
+ "Channel service pidfile is owned by another process."
160
+ );
161
+ }
162
+ const info = buildInfo(existing.startedAt);
163
+ ftruncateSync(fd, 0);
164
+ writeSync(fd, JSON.stringify(info, null, 2), 0, "utf-8");
165
+ } finally {
166
+ closeSync(fd);
167
+ }
168
+ }
169
+ __name(writeServeServiceInfo, "writeServeServiceInfo");
170
+ function reserveServeServiceInfo({
171
+ channels,
172
+ servePid = process.pid
173
+ }) {
174
+ const info = {
175
+ owner: "serve",
176
+ pid: servePid,
177
+ startedAt: (/* @__PURE__ */ new Date()).toISOString(),
178
+ channels,
179
+ servePid
180
+ };
181
+ writeInfo(info, "wx");
182
+ }
183
+ __name(reserveServeServiceInfo, "reserveServeServiceInfo");
184
+ function removeServiceInfo() {
185
+ const filePath = pidFilePath();
186
+ if (existsSync(filePath)) {
187
+ unlinkPidFile(filePath);
188
+ }
189
+ }
190
+ __name(removeServiceInfo, "removeServiceInfo");
191
+ function removeServeServiceInfo(servePid = process.pid) {
192
+ const filePath = pidFilePath();
193
+ if (!existsSync(filePath)) return false;
194
+ let parsed;
195
+ try {
196
+ parsed = JSON.parse(readFileSync(filePath, "utf-8"));
197
+ } catch {
198
+ return false;
199
+ }
200
+ const info = parseServiceInfo(parsed);
201
+ if (!info || info.owner !== "serve" || info.servePid !== servePid || info.pid !== servePid) {
202
+ return false;
203
+ }
204
+ unlinkPidFile(filePath);
205
+ return true;
206
+ }
207
+ __name(removeServeServiceInfo, "removeServeServiceInfo");
208
+ function signalService(pid, signal = "SIGTERM") {
209
+ if (!isValidPid(pid)) {
210
+ return false;
211
+ }
212
+ try {
213
+ process.kill(pid, signal);
214
+ return true;
215
+ } catch {
216
+ return false;
217
+ }
218
+ }
219
+ __name(signalService, "signalService");
220
+ async function waitForExit(pid, timeoutMs = 5e3, pollMs = 200) {
221
+ const start = Date.now();
222
+ while (Date.now() - start < timeoutMs) {
223
+ if (!isProcessAlive(pid)) return true;
224
+ await new Promise((r) => setTimeout(r, pollMs));
225
+ }
226
+ return !isProcessAlive(pid);
227
+ }
228
+ __name(waitForExit, "waitForExit");
229
+
230
+ export {
231
+ readServiceInfo,
232
+ writeServiceInfo,
233
+ writeServeServiceInfo,
234
+ reserveServeServiceInfo,
235
+ removeServiceInfo,
236
+ removeServeServiceInfo,
237
+ signalService,
238
+ waitForExit
239
+ };
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  createDebugLogger
5
- } from "./chunk-UX4SGCGN.js";
5
+ } from "./chunk-AVQDCKNF.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-A4BMJM77.js";
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  runExitCleanup
5
- } from "./chunk-I2LYBGNI.js";
5
+ } from "./chunk-7IOMIYOE.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-A4BMJM77.js";
@@ -0,0 +1,313 @@
1
+ // Force strict mode and setup for ESM
2
+ "use strict";
3
+ import {
4
+ init_esbuild_shims
5
+ } from "./chunk-A4BMJM77.js";
6
+ import {
7
+ __name
8
+ } from "./chunk-J2S4EL5Y.js";
9
+
10
+ // packages/core/src/core/tokenLimits.ts
11
+ init_esbuild_shims();
12
+ var DEFAULT_TOKEN_LIMIT = 131072;
13
+ var DEFAULT_OUTPUT_TOKEN_LIMIT = 32e3;
14
+ var ESCALATED_MAX_TOKENS = 64e3;
15
+ function parsePositiveIntegerEnvValue(raw) {
16
+ if (raw === void 0) return void 0;
17
+ const trimmed = raw.trim();
18
+ if (!/^\d+$/.test(trimmed)) return void 0;
19
+ const parsed = Number(trimmed);
20
+ if (!Number.isSafeInteger(parsed) || parsed <= 0) return void 0;
21
+ return parsed;
22
+ }
23
+ __name(parsePositiveIntegerEnvValue, "parsePositiveIntegerEnvValue");
24
+ var LIMITS = {
25
+ "32k": 32768,
26
+ "64k": 65536,
27
+ "128k": 131072,
28
+ "192k": 196608,
29
+ // MiniMax-M2.5 context window
30
+ "200k": 2e5,
31
+ // vendor-declared decimal, used by OpenAI, Anthropic, etc.
32
+ "256k": 262144,
33
+ "272k": 272e3,
34
+ // vendor-declared decimal, GPT-5.x input (400K total - 128K output)
35
+ "384k": 384e3,
36
+ // vendor-declared decimal, DeepSeek V4 max output
37
+ "400k": 4e5,
38
+ // vendor-declared decimal, used by OpenAI GPT-5.x
39
+ "512k": 524288,
40
+ "1m": 1e6,
41
+ // Output token limits (typically much smaller than input limits)
42
+ "4k": 4096,
43
+ "8k": 8192,
44
+ "16k": 16384
45
+ };
46
+ function normalize(model) {
47
+ let s = (model ?? "").toLowerCase().trim();
48
+ s = s.replace(/^.*\//, "");
49
+ s = s.split("|").pop() ?? s;
50
+ s = s.split(":").pop() ?? s;
51
+ s = s.replace(/\s+/g, "-");
52
+ s = s.replace(/-preview/g, "");
53
+ if (!s.match(/^qwen-(?:plus|flash|vl-max)-latest$/) && !s.match(/^kimi-k2-\d{4}$/)) {
54
+ s = s.replace(
55
+ /-(?:\d{4,}|\d+x\d+b|v\d+(?:\.\d+)*|(?<=-[^-]+-)\d+(?:\.\d+)+|latest|exp)$/g,
56
+ ""
57
+ );
58
+ }
59
+ s = s.replace(/-(?:\d?bit|int[48]|bf16|fp16|q[45]|quantized)$/g, "");
60
+ return s;
61
+ }
62
+ __name(normalize, "normalize");
63
+ var PATTERNS = [
64
+ // -------------------
65
+ // Google Gemini
66
+ // -------------------
67
+ [/^gemini-3/, LIMITS["1m"]],
68
+ // Gemini 3.x (Pro, Flash, 3.1, etc.): 1M
69
+ [/^gemini-/, LIMITS["1m"]],
70
+ // Gemini fallback (1.5, 2.x): 1M
71
+ // -------------------
72
+ // OpenAI
73
+ // -------------------
74
+ [/^gpt-5/, LIMITS["272k"]],
75
+ // GPT-5.x: 272K input (400K total - 128K output)
76
+ [/^gpt-/, LIMITS["128k"]],
77
+ // GPT fallback (4o, 4.1, etc.): 128K
78
+ [/^o\d/, LIMITS["200k"]],
79
+ // o-series (o3, o4-mini, etc.): 200K
80
+ // -------------------
81
+ // Anthropic Claude
82
+ // -------------------
83
+ [/^claude-/, LIMITS["200k"]],
84
+ // All Claude models: 200K
85
+ // -------------------
86
+ // Alibaba / Qwen
87
+ // -------------------
88
+ // Commercial API models (1,000,000 context)
89
+ [/^qwen3-coder-plus/, LIMITS["1m"]],
90
+ [/^qwen3-coder-flash/, LIMITS["1m"]],
91
+ [/^qwen3\.\d/, LIMITS["1m"]],
92
+ [/^qwen-plus-latest$/, LIMITS["1m"]],
93
+ [/^qwen-flash-latest$/, LIMITS["1m"]],
94
+ [/^coder-model$/, LIMITS["1m"]],
95
+ // Commercial API models (256K context)
96
+ [/^qwen3-max/, LIMITS["256k"]],
97
+ // Open-source Qwen3 variants: 256K native
98
+ [/^qwen3-coder-/, LIMITS["256k"]],
99
+ // Qwen fallback (VL, turbo, plus, 2.5, etc.): 128K
100
+ [/^qwen/, LIMITS["256k"]],
101
+ // -------------------
102
+ // DeepSeek
103
+ // -------------------
104
+ [/^deepseek-v4/, LIMITS["1m"]],
105
+ // DeepSeek V4 (flash, pro): 1M
106
+ [/^deepseek/, LIMITS["128k"]],
107
+ // -------------------
108
+ // Zhipu GLM
109
+ // -------------------
110
+ // 1M context is the forward default for new GLM releases (GLM-5.2+, GLM-6.x,
111
+ // and beyond) so they need no future code change. Confirmed 200K families
112
+ // (GLM-5 / 5.0 / 5.1, GLM-4.x and older) are pinned explicitly first.
113
+ [/^glm-5(\.[01])?(-|$)/, 202752],
114
+ // GLM-5 / 5.0 / 5.1: 200K
115
+ [/^glm-(?:[5-9]|\d{2,})/, LIMITS["1m"]],
116
+ // GLM-5.2+, 6.x..9.x, 10.x+: 1M
117
+ [/^glm-/, 202752],
118
+ // GLM <=4.x / non-numeric fallback: 200K
119
+ // -------------------
120
+ // MiniMax
121
+ // -------------------
122
+ [/^minimax-m3/i, LIMITS["1m"]],
123
+ // MiniMax-M3: 1,000,000
124
+ [/^minimax-m2\.5/i, LIMITS["192k"]],
125
+ // MiniMax-M2.5: 196,608
126
+ [/^minimax-/i, LIMITS["200k"]],
127
+ // MiniMax fallback: 200K
128
+ // -------------------
129
+ // Moonshot / Kimi
130
+ // -------------------
131
+ [/^kimi-/, LIMITS["256k"]],
132
+ // Kimi fallback: 256K
133
+ // -------------------
134
+ // ByteDance Seed-OSS (512K)
135
+ // -------------------
136
+ [/^seed-oss/, LIMITS["512k"]]
137
+ ];
138
+ var OUTPUT_PATTERNS = [
139
+ // Google Gemini
140
+ [/^gemini-3/, LIMITS["64k"]],
141
+ // Gemini 3.x: 64K
142
+ [/^gemini-/, LIMITS["8k"]],
143
+ // Gemini fallback: 8K
144
+ // OpenAI
145
+ [/^gpt-5/, LIMITS["128k"]],
146
+ // GPT-5.x: 128K
147
+ [/^gpt-/, LIMITS["16k"]],
148
+ // GPT fallback: 16K
149
+ [/^o\d/, LIMITS["128k"]],
150
+ // o-series: 128K
151
+ // Anthropic Claude
152
+ [/^claude-opus-4-6/, LIMITS["128k"]],
153
+ // Opus 4.6: 128K
154
+ [/^claude-sonnet-4-6/, LIMITS["64k"]],
155
+ // Sonnet 4.6: 64K
156
+ [/^claude-/, LIMITS["64k"]],
157
+ // Claude fallback: 64K
158
+ // Alibaba / Qwen
159
+ [/^qwen3\.\d/, LIMITS["64k"]],
160
+ [/^coder-model$/, LIMITS["64k"]],
161
+ [/^qwen/, LIMITS["32k"]],
162
+ // Qwen fallback (VL, turbo, plus, etc.): 32K
163
+ // DeepSeek
164
+ [/^deepseek-v4/, LIMITS["384k"]],
165
+ // DeepSeek V4 (flash, pro): 384K
166
+ [/^deepseek-reasoner/, LIMITS["64k"]],
167
+ [/^deepseek-r1/, LIMITS["64k"]],
168
+ [/^deepseek-chat/, LIMITS["8k"]],
169
+ // Zhipu GLM
170
+ [/^glm-5(?:\.\d+)?(?:-|$)/, LIMITS["128k"]],
171
+ [/^glm-4\.7/, LIMITS["16k"]],
172
+ // MiniMax
173
+ [/^minimax-m2\.5/i, LIMITS["64k"]],
174
+ // Kimi
175
+ [/^kimi-k2\.5/, LIMITS["32k"]]
176
+ ];
177
+ function findTokenLimit(model, type = "input") {
178
+ const norm = normalize(model);
179
+ const patterns = type === "output" ? OUTPUT_PATTERNS : PATTERNS;
180
+ for (const [regex, limit] of patterns) {
181
+ if (regex.test(norm)) {
182
+ return limit;
183
+ }
184
+ }
185
+ return void 0;
186
+ }
187
+ __name(findTokenLimit, "findTokenLimit");
188
+ function hasExplicitOutputLimit(model) {
189
+ const norm = normalize(model);
190
+ return OUTPUT_PATTERNS.some(([regex]) => regex.test(norm));
191
+ }
192
+ __name(hasExplicitOutputLimit, "hasExplicitOutputLimit");
193
+ function knownTokenLimit(model, type = "input") {
194
+ return findTokenLimit(model, type);
195
+ }
196
+ __name(knownTokenLimit, "knownTokenLimit");
197
+ function tokenLimit(model, type = "input") {
198
+ return knownTokenLimit(model, type) ?? (type === "output" ? DEFAULT_OUTPUT_TOKEN_LIMIT : DEFAULT_TOKEN_LIMIT);
199
+ }
200
+ __name(tokenLimit, "tokenLimit");
201
+
202
+ // packages/core/src/core/openaiContentGenerator/constants.ts
203
+ init_esbuild_shims();
204
+ var DEFAULT_TIMEOUT = 12e4;
205
+ var DEFAULT_STREAM_IDLE_TIMEOUT_MS = 12e4;
206
+ var QWEN_STREAM_IDLE_TIMEOUT_MS_ENV = "QWEN_STREAM_IDLE_TIMEOUT_MS";
207
+ var MAX_STREAM_IDLE_TIMEOUT_MS = 2147483647;
208
+ var DEFAULT_MAX_RETRIES = 3;
209
+ var DEFAULT_OPENAI_BASE_URL = "https://api.openai.com/v1";
210
+ var DEFAULT_DASHSCOPE_BASE_URL = "https://dashscope.aliyuncs.com/compatible-mode/v1";
211
+ var DASHSCOPE_PROXY_BASE_URL = process.env["DASHSCOPE_PROXY_BASE_URL"];
212
+
213
+ // packages/core/src/utils/request-tokenizer/textTokenizer.ts
214
+ init_esbuild_shims();
215
+ var TextTokenizer = class {
216
+ static {
217
+ __name(this, "TextTokenizer");
218
+ }
219
+ /**
220
+ * Calculate tokens for text content
221
+ *
222
+ * @param text - The text to estimate tokens for
223
+ * @returns The estimated token count
224
+ */
225
+ async calculateTokens(text) {
226
+ return this.calculateTokensSync(text);
227
+ }
228
+ /**
229
+ * Calculate tokens for multiple text strings
230
+ *
231
+ * @param texts - Array of text strings to estimate tokens for
232
+ * @returns Array of token counts corresponding to each input text
233
+ */
234
+ async calculateTokensBatch(texts) {
235
+ return texts.map((text) => this.calculateTokensSync(text));
236
+ }
237
+ calculateTokensSync(text) {
238
+ if (!text || text.length === 0) {
239
+ return 0;
240
+ }
241
+ let asciiChars = 0;
242
+ let nonAsciiChars = 0;
243
+ for (let i = 0; i < text.length; i++) {
244
+ const charCode = text.charCodeAt(i);
245
+ if (charCode < 128) {
246
+ asciiChars++;
247
+ } else {
248
+ nonAsciiChars++;
249
+ }
250
+ }
251
+ const tokens = asciiChars / 4 + nonAsciiChars * 1.1;
252
+ return Math.ceil(tokens);
253
+ }
254
+ };
255
+
256
+ // packages/core/src/utils/request-tokenizer/supportedImageFormats.ts
257
+ init_esbuild_shims();
258
+ var SUPPORTED_IMAGE_MIME_TYPES = [
259
+ "image/bmp",
260
+ "image/gif",
261
+ "image/jpeg",
262
+ "image/jpg",
263
+ // Alternative MIME type for JPEG
264
+ "image/png",
265
+ "image/tiff",
266
+ "image/webp",
267
+ "image/heic"
268
+ ];
269
+ function isSupportedImageMimeType(mimeType) {
270
+ return SUPPORTED_IMAGE_MIME_TYPES.includes(
271
+ mimeType
272
+ );
273
+ }
274
+ __name(isSupportedImageMimeType, "isSupportedImageMimeType");
275
+ function getSupportedImageFormatsString() {
276
+ return SUPPORTED_IMAGE_MIME_TYPES.map(
277
+ (type) => type.replace("image/", "").toUpperCase()
278
+ ).join(", ");
279
+ }
280
+ __name(getSupportedImageFormatsString, "getSupportedImageFormatsString");
281
+ function getUnsupportedImageFormatWarning() {
282
+ return `Only the following image formats are supported: ${getSupportedImageFormatsString()}. Other formats may not work as expected.`;
283
+ }
284
+ __name(getUnsupportedImageFormatWarning, "getUnsupportedImageFormatWarning");
285
+
286
+ export {
287
+ DEFAULT_TOKEN_LIMIT,
288
+ DEFAULT_OUTPUT_TOKEN_LIMIT,
289
+ ESCALATED_MAX_TOKENS,
290
+ parsePositiveIntegerEnvValue,
291
+ normalize,
292
+ hasExplicitOutputLimit,
293
+ knownTokenLimit,
294
+ tokenLimit,
295
+ DEFAULT_TIMEOUT,
296
+ DEFAULT_STREAM_IDLE_TIMEOUT_MS,
297
+ QWEN_STREAM_IDLE_TIMEOUT_MS_ENV,
298
+ MAX_STREAM_IDLE_TIMEOUT_MS,
299
+ DEFAULT_MAX_RETRIES,
300
+ DEFAULT_OPENAI_BASE_URL,
301
+ DEFAULT_DASHSCOPE_BASE_URL,
302
+ DASHSCOPE_PROXY_BASE_URL,
303
+ TextTokenizer,
304
+ SUPPORTED_IMAGE_MIME_TYPES,
305
+ isSupportedImageMimeType,
306
+ getSupportedImageFormatsString,
307
+ getUnsupportedImageFormatWarning
308
+ };
309
+ /**
310
+ * @license
311
+ * Copyright 2025 Qwen
312
+ * SPDX-License-Identifier: Apache-2.0
313
+ */
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  createDebugLogger
5
- } from "./chunk-UX4SGCGN.js";
5
+ } from "./chunk-AVQDCKNF.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-A4BMJM77.js";
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  require_lib
5
- } from "./chunk-EJYJYJZ2.js";
5
+ } from "./chunk-IRJWHZWU.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-A4BMJM77.js";
@@ -2,52 +2,58 @@
2
2
  "use strict";
3
3
  import {
4
4
  Client,
5
- StdioClientTransport,
6
- extract
7
- } from "./chunk-YAINVQ3Q.js";
5
+ So,
6
+ StdioClientTransport
7
+ } from "./chunk-A5OPLHFM.js";
8
+ import "./chunk-5P5XGNYH.js";
8
9
  import "./chunk-K5PGHDBN.js";
9
10
  import "./chunk-SKAZWEV5.js";
10
- import "./chunk-XJYUPHRC.js";
11
- import "./chunk-QLDPRILK.js";
12
- import "./chunk-BVSVIN45.js";
13
- import "./chunk-SBBN4BWR.js";
14
- import "./chunk-S7AKE7HL.js";
11
+ import "./chunk-QOMAHFYI.js";
12
+ import "./chunk-G7OQ3RFJ.js";
13
+ import "./chunk-LKWAVAB5.js";
14
+ import "./chunk-L7OJ3ZO3.js";
15
+ import "./chunk-R6RI2HIC.js";
15
16
  import "./chunk-2MPVVENX.js";
16
17
  import "./chunk-ZTQ26VBE.js";
17
- import "./chunk-O2VBQ3Y2.js";
18
+ import "./chunk-SJBIFVD2.js";
18
19
  import "./chunk-MLZQVCF3.js";
19
20
  import "./chunk-LQ7TMOCE.js";
20
- import "./chunk-LD2XBG6Z.js";
21
- import "./chunk-HYCC3XM3.js";
22
- import "./chunk-NL4C3H6C.js";
23
- import "./chunk-JOLIREYR.js";
24
- import "./chunk-DDMOU62Q.js";
21
+ import "./chunk-E5A7LHNN.js";
22
+ import "./chunk-BPFJQGY7.js";
23
+ import "./chunk-GO6LNQXT.js";
24
+ import "./chunk-B236XPGF.js";
25
+ import "./chunk-YXK4GPYO.js";
26
+ import "./chunk-TOAUDIS7.js";
27
+ import "./chunk-NPQWQYU6.js";
25
28
  import {
26
29
  safeJsonStringify
27
- } from "./chunk-QNKBEJO2.js";
28
- import "./chunk-3PJXIDKI.js";
30
+ } from "./chunk-UA6XBZT7.js";
31
+ import "./chunk-E6US47KI.js";
29
32
  import "./chunk-UWCTAVOD.js";
30
33
  import "./chunk-OFEVLU4C.js";
31
34
  import "./chunk-OMX7CUOE.js";
32
- import "./chunk-RD6YJJJ6.js";
33
- import "./chunk-SKQZZVAV.js";
34
- import "./chunk-BUUQ5HPX.js";
35
+ import "./chunk-MOUXUCXQ.js";
36
+ import "./chunk-BZHLWC6T.js";
37
+ import "./chunk-DG573EOO.js";
35
38
  import {
36
39
  BaseDeclarativeTool,
37
40
  BaseToolInvocation
38
- } from "./chunk-BX5YO7UW.js";
39
- import "./chunk-UO5GVXQE.js";
40
- import "./chunk-KMGMKW5Q.js";
41
+ } from "./chunk-MTNTVOJR.js";
42
+ import "./chunk-TENOUWY2.js";
43
+ import "./chunk-GLPV75ES.js";
41
44
  import "./chunk-22IFUCVR.js";
42
- import "./chunk-3227DZO4.js";
43
- import "./chunk-U3KSMM7G.js";
44
- import "./chunk-BKXBARJZ.js";
45
- import "./chunk-EJYJYJZ2.js";
45
+ import "./chunk-T42ACHFI.js";
46
+ import "./chunk-SIUQ3YYX.js";
47
+ import "./chunk-YTFBURQD.js";
48
+ import "./chunk-YPCPZSZB.js";
49
+ import "./chunk-IRJWHZWU.js";
50
+ import "./chunk-SYCJMSIJ.js";
46
51
  import "./chunk-55ZMG67I.js";
47
52
  import "./chunk-H6BD2ELD.js";
48
53
  import "./chunk-5IFG2VC4.js";
49
54
  import "./chunk-64WXLC72.js";
50
- import "./chunk-UX4SGCGN.js";
55
+ import "./chunk-D5KISTLW.js";
56
+ import "./chunk-AVQDCKNF.js";
51
57
  import "./chunk-ZERZSAZL.js";
52
58
  import "./chunk-QN5NZ3UQ.js";
53
59
  import "./chunk-BR4QREVK.js";
@@ -1572,7 +1578,7 @@ async function extractArchive(archivePath, destDir, asset, unzipImpl) {
1572
1578
  if (asset.endsWith(".zip")) {
1573
1579
  await (unzipImpl ?? extractZipWindows)(archivePath, destDir);
1574
1580
  } else {
1575
- await extract({ file: archivePath, cwd: destDir });
1581
+ await So({ file: archivePath, cwd: destDir });
1576
1582
  }
1577
1583
  }
1578
1584
  __name(extractArchive, "extractArchive");