@qwen-code/qwen-code 0.22.0 → 0.22.2-nightly.20260828.7357136dd1

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 (483) hide show
  1. package/bundled/computer-use/SKILL.md +229 -0
  2. package/bundled/computer-use/agents/openai.yaml +4 -0
  3. package/bundled/coordinate/SKILL.md +5 -5
  4. package/bundled/goal-draft/SKILL.md +109 -0
  5. package/bundled/qc-helper/docs/configuration/auth.md +7 -7
  6. package/bundled/qc-helper/docs/configuration/model-providers.md +70 -9
  7. package/bundled/qc-helper/docs/configuration/settings.md +48 -48
  8. package/bundled/qc-helper/docs/extension/introduction.md +3 -1
  9. package/bundled/qc-helper/docs/features/_meta.ts +1 -0
  10. package/bundled/qc-helper/docs/features/channels/_meta.ts +1 -0
  11. package/bundled/qc-helper/docs/features/channels/dingtalk.md +12 -0
  12. package/bundled/qc-helper/docs/features/channels/dws.md +120 -0
  13. package/bundled/qc-helper/docs/features/channels/overview.md +37 -6
  14. package/bundled/qc-helper/docs/features/code-review.md +27 -23
  15. package/bundled/qc-helper/docs/features/commands.md +4 -3
  16. package/bundled/qc-helper/docs/features/computer-use.md +57 -51
  17. package/bundled/qc-helper/docs/features/goals.md +58 -0
  18. package/bundled/qc-helper/docs/features/headless.md +13 -11
  19. package/bundled/qc-helper/docs/features/mcp.md +35 -12
  20. package/bundled/qc-helper/docs/features/status-line.md +3 -3
  21. package/bundled/qc-helper/docs/features/sub-agents.md +1 -1
  22. package/bundled/qc-helper/docs/features/worktree.md +1 -1
  23. package/bundled/qc-helper/docs/overview.md +1 -1
  24. package/bundled/qc-helper/docs/quickstart.md +1 -1
  25. package/bundled/qc-helper/docs/qwen-serve.md +29 -6
  26. package/bundled/review/SKILL.md +185 -435
  27. package/bundled/review/references/aone.md +18 -0
  28. package/bundled/review/references/persistence.md +109 -0
  29. package/bundled/review/references/posting.md +272 -0
  30. package/chunks/MaxSizedBox-LMWXCLDV.js +110 -0
  31. package/chunks/{StandaloneSessionPicker-KTHPCSR6.js → StandaloneSessionPicker-W3F7U3JL.js} +87 -88
  32. package/chunks/{acp-startup-profiler-T4GEAPLX.js → acp-startup-profiler-GNYAL6LI.js} +2 -2
  33. package/chunks/{acpAgent-CRY3JZ5O.js → acpAgent-EYZ6EEHD.js} +3223 -2145
  34. package/chunks/agent-RBLGBY65.js +95 -0
  35. package/chunks/agent-headless-L5T4Y4OZ.js +85 -0
  36. package/chunks/{anthropicContentGenerator-Y2OX6LS4.js → anthropicContentGenerator-GMHML35Q.js} +128 -59
  37. package/chunks/{artifact-tool-SBXMTVCB.js → artifact-tool-XSMPHZBT.js} +11 -3
  38. package/chunks/{askUserQuestion-KEQJRFD6.js → askUserQuestion-4SWJY65V.js} +2 -2
  39. package/chunks/bridge-5LR2F2ND.js +119 -0
  40. package/chunks/{ca-D3F4S6NG.js → ca-7HPYOYSZ.js} +3 -0
  41. package/chunks/{channel-management-service-IRTT7RNE.js → channel-management-service-KHR3N6CH.js} +6 -6
  42. package/chunks/channel-settings-store-4FOAZW72.js +120 -0
  43. package/chunks/{channel-worker-group-BJNMR2MP.js → channel-worker-group-6NA6BBZV.js} +9 -7
  44. package/chunks/{channel-worker-manager-EMA7CQDJ.js → channel-worker-manager-NEZ2J6RK.js} +11 -8
  45. package/chunks/{channel-worker-supervisor-F6I6WSWW.js → channel-worker-supervisor-FKU7DIHJ.js} +12 -6
  46. package/chunks/{chunk-HDKCKCYO.js → chunk-23RFD54N.js} +1 -1
  47. package/chunks/{read-package-up-UXSW3YPB.js → chunk-2EAZ43JQ.js} +1 -0
  48. package/chunks/{chunk-KM73TBQ4.js → chunk-2LD5U7Q3.js} +31 -0
  49. package/chunks/{chunk-GIWB5QLV.js → chunk-2SXSLSQE.js} +4 -4
  50. package/chunks/chunk-2TNL5KPM.js +49 -0
  51. package/chunks/chunk-335CJSNF.js +2320 -0
  52. package/chunks/chunk-36LGBEM6.js +130 -0
  53. package/chunks/{chunk-O5BDEWBC.js → chunk-3JXM2CVW.js} +3 -3
  54. package/chunks/{chunk-2E3V7G6Y.js → chunk-3K6TUZHS.js} +55 -50
  55. package/chunks/{chunk-WWUSHZ7M.js → chunk-3OOXT6CR.js} +5 -5
  56. package/chunks/{chunk-2UZJWSVD.js → chunk-3WK3QDNV.js} +2 -2
  57. package/chunks/{chunk-4J7OPYNS.js → chunk-3XOKEVII.js} +6 -6
  58. package/chunks/chunk-3Y34Q3JV.js +1584 -0
  59. package/chunks/{chunk-YMVFIYHV.js → chunk-42IDLQWS.js} +26 -20
  60. package/chunks/{chunk-7HFULI45.js → chunk-454XFGH4.js} +3 -3
  61. package/chunks/chunk-4CMJKUND.js +95 -0
  62. package/chunks/{chunk-XLDFW44M.js → chunk-4K7KNVWH.js} +3 -3
  63. package/chunks/{chunk-YDJRMQU4.js → chunk-4QHPPXK2.js} +16 -8
  64. package/chunks/{chunk-7KOFLDEP.js → chunk-5JTIYALA.js} +1 -1
  65. package/chunks/{chunk-CXJHQVEK.js → chunk-5PA6UEYA.js} +4 -0
  66. package/chunks/{chunk-7NBVNAJJ.js → chunk-62GQFYID.js} +3 -3
  67. package/chunks/{chunk-JGUBDRBC.js → chunk-6DIGWMGT.js} +3 -3
  68. package/chunks/{chunk-X7V3N6YH.js → chunk-6JCGO55P.js} +885 -3380
  69. package/chunks/{chunk-HIK2OF33.js → chunk-6PJOTWAN.js} +1 -1
  70. package/chunks/{chunk-VUMLT7E5.js → chunk-6W2IK5KC.js} +956 -17
  71. package/chunks/{chunk-S4C4JJKE.js → chunk-6ZZBRRKQ.js} +5 -5
  72. package/chunks/{chunk-W4CRPSC5.js → chunk-7EQQR46F.js} +1 -1
  73. package/chunks/{chunk-PHJJ3RVO.js → chunk-7GWQW5ID.js} +7 -15
  74. package/chunks/chunk-7J6OTNGO.js +424 -0
  75. package/chunks/{chunk-URN2JIAQ.js → chunk-7TUBJBBJ.js} +5 -1
  76. package/chunks/{chunk-A5F63FEW.js → chunk-7VD6IPQM.js} +1 -1
  77. package/chunks/{chunk-36OF5PRW.js → chunk-ABS25QER.js} +7 -3
  78. package/chunks/{chunk-UU4WC7DK.js → chunk-AJGR6E6Z.js} +117 -30
  79. package/chunks/{chunk-MQP3MHWN.js → chunk-AU3MMVJF.js} +43 -20
  80. package/chunks/{chunk-ZS5BHEPD.js → chunk-AXC26UCQ.js} +1 -1
  81. package/chunks/{chunk-PDL6LKB5.js → chunk-AY3BNYEQ.js} +1 -1
  82. package/chunks/{chunk-O5Z7EB6Y.js → chunk-AYHQZBJ4.js} +170 -207
  83. package/chunks/{chunk-WRT324N6.js → chunk-B466ZSHZ.js} +3 -3
  84. package/chunks/{chunk-5XHAOUWD.js → chunk-B5OUL5EL.js} +3 -3
  85. package/chunks/{chunk-GAHYKJPV.js → chunk-B5PHIJGI.js} +186 -60
  86. package/chunks/{chunk-IBJ5S45N.js → chunk-B7CDU2SL.js} +2 -2
  87. package/chunks/{chunk-UZPYR3EV.js → chunk-BFPESSTR.js} +1 -1
  88. package/chunks/{chunk-43T5WDQ7.js → chunk-BFSFJR3D.js} +1 -1
  89. package/chunks/{chunk-IWOWEENB.js → chunk-BKWNKLZB.js} +404 -44
  90. package/chunks/{chunk-3CLIDIVQ.js → chunk-BOWFGCEU.js} +3 -3
  91. package/chunks/{chunk-BB5IMQCV.js → chunk-BPAKYXQ3.js} +2 -2
  92. package/chunks/{chunk-ZRYQMWEP.js → chunk-BWORX6FA.js} +2 -2
  93. package/chunks/{chunk-AP3B7LKD.js → chunk-BXDAPVQU.js} +2 -2
  94. package/chunks/{chunk-NUGZAFR2.js → chunk-C2X7KY45.js} +147 -6
  95. package/chunks/{chunk-MZKWFWVG.js → chunk-C3KURPP7.js} +6 -6
  96. package/chunks/{chunk-WZDM44SB.js → chunk-CAJTKR6W.js} +7 -7
  97. package/chunks/{chunk-DB2OKNTU.js → chunk-CFJY4DGX.js} +2 -2
  98. package/chunks/{chunk-QKBYFU2Q.js → chunk-CFKIH3D3.js} +21 -1
  99. package/chunks/{chunk-I432KXWD.js → chunk-CMHFCLBU.js} +1 -1
  100. package/chunks/{create-sub-session-XBCVGNFU.js → chunk-CQH5KTKC.js} +4 -6
  101. package/chunks/{chunk-5HJUPACR.js → chunk-CRKKHXTI.js} +185 -174
  102. package/chunks/{chunk-L4HVF7LM.js → chunk-CYAUBK46.js} +3 -3
  103. package/chunks/{chunk-AZF6SME3.js → chunk-D5LUXLUH.js} +3 -3
  104. package/chunks/{chunk-RPJQ3O4M.js → chunk-DFDWJE6Z.js} +60 -53
  105. package/chunks/{chunk-KSPRQSB4.js → chunk-DIMEPKCW.js} +52 -12
  106. package/chunks/chunk-DJBQCO2E.js +842 -0
  107. package/chunks/{chunk-OVH5Y7KS.js → chunk-DP4MWIM3.js} +19 -3
  108. package/chunks/{chunk-LI4YHTQK.js → chunk-DYXFD5RO.js} +182 -3
  109. package/chunks/{chunk-NW35NVFN.js → chunk-E3XVSVKK.js} +26 -4
  110. package/chunks/{chunk-VSNPOSDN.js → chunk-EB6QRGHM.js} +108 -13
  111. package/chunks/{chunk-FVBVJEBG.js → chunk-EKNBU2X7.js} +10 -8
  112. package/chunks/{chunk-DJEHYM4H.js → chunk-EKSCLBBF.js} +3 -3
  113. package/chunks/{chunk-624NHDGB.js → chunk-ERFDKH32.js} +11 -0
  114. package/chunks/chunk-EW5VVLJT.js +3525 -0
  115. package/chunks/{chunk-T6XLJRQY.js → chunk-EWIQ3NAE.js} +38774 -6955
  116. package/chunks/{chunk-4XPSVIED.js → chunk-FALBWZF4.js} +6 -6
  117. package/chunks/chunk-FBX2SDQ4.js +48 -0
  118. package/chunks/{chunk-VMJL7RH6.js → chunk-FEHMA4RO.js} +539 -651
  119. package/chunks/{chunk-PXOJLJ5W.js → chunk-FMFBLTLY.js} +606 -223
  120. package/chunks/{chunk-ZLCT4C5A.js → chunk-FTF2YIZ5.js} +1 -1
  121. package/chunks/{chunk-IOSEW6KP.js → chunk-G6FECKTJ.js} +9 -6
  122. package/chunks/{chunk-RDG44S5I.js → chunk-GGNE3JAW.js} +2 -2
  123. package/chunks/chunk-GYTKQYDB.js +23 -0
  124. package/chunks/{chunk-B6UBOIFE.js → chunk-H33EQVMG.js} +14 -11
  125. package/chunks/chunk-H72BQNM3.js +645 -0
  126. package/chunks/{chunk-YZBDKFRQ.js → chunk-HGIMWQVT.js} +995 -892
  127. package/chunks/chunk-HOCJDUFY.js +20 -0
  128. package/chunks/{chunk-6UQSU7CQ.js → chunk-HPXV655A.js} +60 -107
  129. package/chunks/{chunk-45NQKMYB.js → chunk-HVC3PNVC.js} +1 -1
  130. package/chunks/{chunk-QJHPWLZC.js → chunk-HYDJDQGJ.js} +1 -1
  131. package/chunks/{chunk-7DMTAQJ6.js → chunk-IB7FQJRY.js} +163 -57
  132. package/chunks/{chunk-AW27A43Y.js → chunk-ICURCKIU.js} +1428 -120
  133. package/chunks/{chunk-4F5WV4RF.js → chunk-ISKH4QX3.js} +288 -15
  134. package/chunks/{chunk-SE55HQGF.js → chunk-J6S24ZJE.js} +92 -70
  135. package/chunks/{chunk-7DYNJFES.js → chunk-JB4JIVTJ.js} +6 -1
  136. package/chunks/{chunk-OARZJFZX.js → chunk-JN4IWWMN.js} +4 -4
  137. package/chunks/{chunk-6PCOVQO2.js → chunk-JUUBLSZU.js} +8 -8
  138. package/chunks/{chunk-FEMQ6Y7W.js → chunk-JWALNCLT.js} +47 -126
  139. package/chunks/{chunk-TBVSALA3.js → chunk-K5KXUXWC.js} +3 -3
  140. package/chunks/{chunk-XYQHT3AW.js → chunk-KTJFDCX4.js} +2 -2
  141. package/chunks/{chunk-6FRJEE2S.js → chunk-LEFCFTEX.js} +6 -6
  142. package/chunks/{chunk-BUGYW6FB.js → chunk-LEGTMYAE.js} +1 -1
  143. package/chunks/{chunk-MPHLIJYL.js → chunk-LLZA2IK3.js} +20 -8
  144. package/chunks/{chunk-BEGIBJAZ.js → chunk-LNETQKBE.js} +4 -4
  145. package/chunks/{chunk-KVGR4MCF.js → chunk-LUEHOUHM.js} +3 -3
  146. package/chunks/{chunk-2A4C2MEG.js → chunk-LVPZO674.js} +35 -12
  147. package/chunks/{chunk-25NESM4G.js → chunk-M4ORUPYI.js} +29 -5
  148. package/chunks/{chunk-VFACN2CE.js → chunk-M6FOJXW3.js} +1 -1
  149. package/chunks/{chunk-FYZMB6DB.js → chunk-MAYHGRP4.js} +12 -12
  150. package/chunks/{chunk-K3LPAED5.js → chunk-MQM5PJML.js} +24 -4
  151. package/chunks/{chunk-ZRFUT5VV.js → chunk-MTJN7FOT.js} +7 -7
  152. package/chunks/{chunk-BGXZBI5B.js → chunk-N4X7G4J2.js} +2 -1
  153. package/chunks/{chunk-2TRNCJK4.js → chunk-NIFYWDYN.js} +1 -1
  154. package/chunks/{chunk-SQS55KR4.js → chunk-NU7RKEZR.js} +2 -2
  155. package/chunks/{chunk-U2UYQMM6.js → chunk-NXMBRVMQ.js} +3 -3
  156. package/chunks/chunk-OI4NY7RA.js +346 -0
  157. package/chunks/{chunk-LURJYO2T.js → chunk-OZ6KS6KW.js} +4 -0
  158. package/chunks/{chunk-K52PZNU4.js → chunk-PDQGMSZK.js} +2 -2
  159. package/chunks/{chunk-PZRUV52H.js → chunk-PPKZ7JOE.js} +20 -2
  160. package/chunks/{chunk-SAH4BD2J.js → chunk-PQEISIKS.js} +67 -0
  161. package/chunks/{chunk-AO4M6NMD.js → chunk-PWIGAMA4.js} +146 -27
  162. package/chunks/{chunk-S3G6YFQC.js → chunk-QFCDF5PL.js} +1 -1
  163. package/chunks/chunk-QHMLYMMS.js +32 -0
  164. package/chunks/{chunk-5XUTPXQU.js → chunk-QPTRRPZU.js} +47 -13
  165. package/chunks/{chunk-UUQFJILB.js → chunk-RFI4YGMR.js} +34 -267
  166. package/chunks/{chunk-A6NRNRKE.js → chunk-RFIDDFAL.js} +1 -1
  167. package/chunks/chunk-RKFGE7JH.js +93 -0
  168. package/chunks/chunk-RNVFRIOO.js +275 -0
  169. package/chunks/{chunk-WU5E4HMO.js → chunk-RU7BK6B3.js} +1 -1
  170. package/chunks/{chunk-J5ZDDUKM.js → chunk-RVXDXY6I.js} +4 -4
  171. package/chunks/{chunk-OE52YHCZ.js → chunk-RWZB422L.js} +11 -11
  172. package/chunks/chunk-RXFQM6FQ.js +42 -0
  173. package/chunks/{chunk-MHG6NDS6.js → chunk-RYNZQGXN.js} +19 -2
  174. package/chunks/{chunk-4CWDWDL6.js → chunk-SJ5ERAW3.js} +1 -1
  175. package/chunks/{chunk-Q54XG7IX.js → chunk-SMPR7SPO.js} +1 -1
  176. package/chunks/{chunk-UIRLQ3N7.js → chunk-SRZZY4IY.js} +3 -3
  177. package/chunks/{chunk-ND7NOI4P.js → chunk-STUJ7IMZ.js} +0 -92
  178. package/chunks/{chunk-VYC7XFYV.js → chunk-SUX7HDNA.js} +5 -5
  179. package/chunks/{chunk-ZZUVC6RI.js → chunk-SVNO44PF.js} +3 -3
  180. package/chunks/{chunk-FDD2IUEL.js → chunk-SZLBBZH4.js} +370 -35
  181. package/chunks/{chunk-GHY5OIYP.js → chunk-T2NKRHZZ.js} +13 -13
  182. package/chunks/chunk-T4EFG2P5.js +113 -0
  183. package/chunks/{chunk-BMCSKS37.js → chunk-TLHUNMO7.js} +6 -6
  184. package/chunks/{chunk-JOLJTKIG.js → chunk-TPI7O7HR.js} +1 -1
  185. package/chunks/{chunk-6QSA4JHL.js → chunk-TQHGJYR3.js} +4492 -1121
  186. package/chunks/{chunk-ISJMN3ML.js → chunk-TTX2JUE6.js} +1 -1
  187. package/chunks/{chunk-EFB657PR.js → chunk-TW3E6YNO.js} +3 -3
  188. package/chunks/{chunk-LD5VIJ7S.js → chunk-TWSKM647.js} +1 -1
  189. package/chunks/chunk-U54AYGEC.js +337 -0
  190. package/chunks/{chunk-A5F2YNO6.js → chunk-UHQFIS7N.js} +260 -10
  191. package/chunks/{chunk-6NFAEG54.js → chunk-UTLCH2FK.js} +24 -13
  192. package/chunks/{chunk-7JBHIQS2.js → chunk-UY3PBNY3.js} +19 -37
  193. package/chunks/{chunk-DWCKACFL.js → chunk-V2NDP3I4.js} +2 -2
  194. package/chunks/{chunk-2GXYDNXP.js → chunk-V2QDDC5J.js} +19 -9
  195. package/chunks/{chunk-VLRBJ24J.js → chunk-V5J4J5TP.js} +2 -2
  196. package/chunks/{chunk-X2UOOG5V.js → chunk-VQUGEVGR.js} +1 -1
  197. package/chunks/{chunk-RDQ7QB4Y.js → chunk-VTHREBQM.js} +2 -2
  198. package/chunks/{chunk-YLFLHKDL.js → chunk-W3N5XAZ6.js} +1 -1
  199. package/chunks/{chunk-62JOGZL5.js → chunk-W6DUQ5GA.js} +11497 -10502
  200. package/chunks/{chunk-P47E4SJC.js → chunk-WALC5VJH.js} +4 -4
  201. package/chunks/{chunk-3ZFJUBTP.js → chunk-WAOIHTJS.js} +1 -1
  202. package/chunks/{chunk-KIVGVFMM.js → chunk-WBHKK3CU.js} +16 -4
  203. package/chunks/{chunk-XZJKSETB.js → chunk-WXEA74YB.js} +3 -3
  204. package/chunks/{chunk-VEND4KA4.js → chunk-X3ZRTCJD.js} +1 -1
  205. package/chunks/{chunk-YRLW2MSX.js → chunk-XBVNNDPK.js} +11 -4
  206. package/chunks/{chunk-XL5K4SVK.js → chunk-XF63PKEN.js} +1 -1
  207. package/chunks/{chunk-LDGWX737.js → chunk-XLLQJRAH.js} +323 -510
  208. package/chunks/{chunk-2Z6LSQMF.js → chunk-XQFT3QUF.js} +1 -1
  209. package/chunks/{chunk-P3QQPMQA.js → chunk-XZA32HII.js} +4 -4
  210. package/chunks/{chunk-C72BXMJ5.js → chunk-Y3QL45LS.js} +1 -1
  211. package/chunks/{chunk-QS4ENGVF.js → chunk-Y4TPOUEV.js} +17 -8
  212. package/chunks/{chunk-AVCCKIZ6.js → chunk-YRZX2PHA.js} +1 -1
  213. package/chunks/{chunk-Z3JMO2CH.js → chunk-YTDVNSUQ.js} +1 -1
  214. package/chunks/{chunk-WS7PAXXR.js → chunk-YWQ237GX.js} +15 -199
  215. package/chunks/chunk-ZELCTN6Y.js +29 -0
  216. package/chunks/{chunk-TQOF5KBL.js → chunk-ZEZKIS2K.js} +0 -31
  217. package/chunks/{chunk-IIWGSX4L.js → chunk-ZTP35P4B.js} +1 -1
  218. package/chunks/{chunk-K623ENWT.js → chunk-ZU4UDIWX.js} +23 -1
  219. package/chunks/chunk-ZYNTSXWK.js +32 -0
  220. package/chunks/config-utils-JVGAP34H.js +113 -0
  221. package/chunks/contextCommand-XDB7OSO7.js +106 -0
  222. package/chunks/{core-runtime-CES6JSVV.js → core-runtime-XHYA2RH7.js} +66 -63
  223. package/chunks/create-sub-session-23ITIELI.js +17 -0
  224. package/chunks/{create-sub-session-UJTPMVOG.js → create-sub-session-MHYCFNCM.js} +168 -87
  225. package/chunks/{cron-create-IKA56DAF.js → cron-create-KJ4IY6PP.js} +57 -10
  226. package/chunks/{cron-delete-K5Q62EGH.js → cron-delete-MBLQCAYY.js} +4 -4
  227. package/chunks/{cron-list-QBFGAMP7.js → cron-list-DWH2PQ47.js} +4 -4
  228. package/chunks/{daemon-RZZUPGOJ.js → daemon-K5XS42ID.js} +567 -27
  229. package/chunks/{daemon-git-worktree-guard-3QY2BQYB.js → daemon-git-worktree-guard-V3P5XLHB.js} +339 -95
  230. package/chunks/daemon-status-provider-KKU7ZTLM.js +117 -0
  231. package/chunks/daemon-trust-policy-TZGK34DW.js +112 -0
  232. package/chunks/{daemon-trust-policy-monitor-TK4K7M63.js → daemon-trust-policy-monitor-F23DD2M4.js} +69 -69
  233. package/chunks/{de-RYUHH2C6.js → de-X6HLSIFE.js} +1 -0
  234. package/chunks/deferred-core-runtime-LKLGBCGZ.js +114 -0
  235. package/chunks/{display-image-OEJMJV3S.js → display-image-BE7I6ZB6.js} +5 -5
  236. package/chunks/{dist-5EV2G6MC.js → dist-4WXLCBDR.js} +1 -1
  237. package/chunks/{dist-ES6HNUW2.js → dist-5VXFRTWU.js} +525 -64
  238. package/chunks/{dist-ESS34DHC.js → dist-6BPYWHVD.js} +89 -65
  239. package/chunks/{dist-2OG3PGKO.js → dist-GFN5DCBX.js} +76 -67
  240. package/chunks/{dist-K7IQB53U.js → dist-HZNT6GQS.js} +1 -1
  241. package/chunks/{dist-J6P3C52Z.js → dist-LVZCXVPF.js} +99 -26
  242. package/chunks/{dist-LZO24N3E.js → dist-N6W6E753.js} +71 -64
  243. package/chunks/dist-QDLFKWOL.js +2512 -0
  244. package/chunks/{dist-VVQBOKDH.js → dist-SWQMYP2Q.js} +18 -16
  245. package/chunks/earlyInputCapture-NERYFYTR.js +107 -0
  246. package/chunks/{edit-A2633SLR.js → edit-ACCATIXB.js} +49 -51
  247. package/chunks/{en-3RHLPITS.js → en-YLXBXM4Z.js} +5 -1
  248. package/chunks/{enter-worktree-OIAHE2TB.js → enter-worktree-35QCAAFP.js} +7 -8
  249. package/chunks/{enterPlanMode-SUGIKLR7.js → enterPlanMode-NEN6EPVM.js} +48 -50
  250. package/chunks/environment-CKWHBC5T.js +129 -0
  251. package/chunks/errors-XTZPNQ77.js +113 -0
  252. package/chunks/{exit-worktree-3UT3SSWT.js → exit-worktree-XQD6D543.js} +7 -8
  253. package/chunks/exitPlanMode-CY344X5J.js +83 -0
  254. package/chunks/{fast-path-3AVP3G35.js → fast-path-YSOX4PAM.js} +31 -10
  255. package/chunks/{fast-path-settings-WHX3J3ZI.js → fast-path-settings-XMFBYFUH.js} +2 -2
  256. package/chunks/{fr-4PL5GHG4.js → fr-FTZWF462.js} +1 -0
  257. package/chunks/{gemini-7PVQWHTH.js → gemini-VQY2YCPH.js} +137 -129
  258. package/chunks/{geminiContentGenerator-B2FOJJDJ.js → geminiContentGenerator-PAPXNIGU.js} +16 -13
  259. package/chunks/{glob-7YGXE6OV.js → glob-GVCUSBBF.js} +48 -50
  260. package/chunks/{goal-tools-TLJCE7YZ.js → goal-tools-5STK6OXW.js} +77 -31
  261. package/chunks/{grep-6DV6LTON.js → grep-5GPICQBU.js} +6 -6
  262. package/chunks/handleAutoUpdate-ZJPJN42W.js +109 -0
  263. package/chunks/i18n-BZYKOST7.js +124 -0
  264. package/chunks/{image-gen-7CSCJ73T.js → image-gen-J6FDGUZP.js} +8 -12
  265. package/chunks/initializer-GO2C5HE3.js +113 -0
  266. package/chunks/installationInfo-WM2GXQZ6.js +107 -0
  267. package/chunks/{ja-HZ7X7PQO.js → ja-2GL5FKYJ.js} +1 -0
  268. package/chunks/{keychain-token-storage-MTFTAESK.js → keychain-token-storage-37XPR34V.js} +2 -2
  269. package/chunks/list-ERDJB7PQ.js +116 -0
  270. package/chunks/{list-agents-43XUEXJV.js → list-agents-DI3YFTDT.js} +2 -2
  271. package/chunks/loadedSettingsAdapter-7JOCVOKV.js +110 -0
  272. package/chunks/{loggingContentGenerator-RNE66CKK.js → loggingContentGenerator-3ONLU3BS.js} +327 -39
  273. package/chunks/{loop-wakeup-E54KDUXC.js → loop-wakeup-XJFONSQ7.js} +5 -5
  274. package/chunks/{ls-CGL2UC3H.js → ls-3VAT2J7A.js} +4 -4
  275. package/chunks/{lsp-5IKUO5DX.js → lsp-5W7IRUBH.js} +2 -2
  276. package/chunks/{managed-npm-update-Y3SC3GLJ.js → managed-npm-update-TLRCC2GE.js} +62 -62
  277. package/chunks/mcp-2LH3QXR2.js +110 -0
  278. package/chunks/{monitor-PXYSGSUN.js → monitor-P7LDAL4W.js} +48 -50
  279. package/chunks/nonInteractiveCli-E5T7PZ27.js +184 -0
  280. package/chunks/{notebook-edit-ISIBJVBR.js → notebook-edit-F7KSG4WQ.js} +49 -51
  281. package/chunks/open-with-auth-4UI3KHUR.js +55 -0
  282. package/chunks/{openaiContentGenerator-6TBOPEGT.js → openaiContentGenerator-2EXCZUGN.js} +29 -32
  283. package/chunks/pidfile-P25DWA5Q.js +111 -0
  284. package/chunks/process-registry-OAEG6WGC.js +662 -0
  285. package/chunks/{processUtils-YK2TDTTU.js → processUtils-PVDKBL35.js} +2 -2
  286. package/chunks/prompt-terminal-ledger-AJ7T7OIV.js +105 -0
  287. package/chunks/{pt-QT5N2Q6Q.js → pt-XN2YWJVM.js} +1 -0
  288. package/chunks/{qwenContentGenerator-CLDMA2Y4.js → qwenContentGenerator-TBBRLWIT.js} +54 -62
  289. package/chunks/{qwenOAuth2-DLDR6UC5.js → qwenOAuth2-OF5WRBQT.js} +7 -11
  290. package/chunks/read-file-6IIY4RLJ.js +32 -0
  291. package/chunks/{read-mcp-resource-XYES2B42.js → read-mcp-resource-XD257PGJ.js} +2 -2
  292. package/chunks/read-package-up-6T6ICKR7.js +13 -0
  293. package/chunks/{record-artifact-W3IBTGL7.js → record-artifact-VW23GS4F.js} +4 -5
  294. package/chunks/report-findings-XA3FJG3N.js +33 -0
  295. package/chunks/request-shutdown-BCLA3JV2.js +133 -0
  296. package/chunks/resumeHistoryUtils-44IETXDY.js +118 -0
  297. package/chunks/ripGrep-E7ESZ7SS.js +39 -0
  298. package/chunks/{ru-STMG5BPD.js → ru-OLTMFJEW.js} +1 -0
  299. package/chunks/{run-qwen-serve-XJHOW2NY.js → run-qwen-serve-DXBCYW7V.js} +924 -356
  300. package/chunks/runtime-RUSPD35D.js +148 -0
  301. package/chunks/scheduled-tasks-DVRJZO6I.js +127 -0
  302. package/chunks/scheduler-TDRB2NSY.js +122 -0
  303. package/chunks/{sdk-exporters-http-RSIOP3G2.js → sdk-exporters-http-TTU2CHBU.js} +5 -5
  304. package/chunks/{sdk-impl-CB3KARSK.js → sdk-impl-UUMVYMAL.js} +12 -6
  305. package/chunks/{send-message-J4VT46OI.js → send-message-AJ4OCUBV.js} +24 -29
  306. package/chunks/serve-KITOM7OR.js +118 -0
  307. package/chunks/{server-74ONDK62.js → server-THCOMUC2.js} +5814 -4549
  308. package/chunks/{session-BO6VBWJP.js → session-XKR5MPXE.js} +152 -142
  309. package/chunks/session-pr-refresh-KRBH7KDA.js +278 -0
  310. package/chunks/{settings-35QZNFDG.js → settings-YXZ4XBKK.js} +72 -72
  311. package/chunks/shell-5FJ2DZ3W.js +93 -0
  312. package/chunks/{skill-DKEMQSNJ.js → skill-VMMJZ6CJ.js} +161 -33
  313. package/chunks/skill-settings-7SG4YA2W.js +118 -0
  314. package/chunks/spawnChannel-BPMIXRBI.js +112 -0
  315. package/chunks/standalone-update-QN5HFRIC.js +118 -0
  316. package/chunks/{startInteractiveUI-J2QSGWPU.js → startInteractiveUI-5A7RQFRP.js} +3139 -2438
  317. package/chunks/{syntheticOutput-JAXMIMZP.js → syntheticOutput-ML43GEFN.js} +3 -3
  318. package/chunks/{task-create-I2H322E4.js → task-create-QN4LYRSE.js} +11 -11
  319. package/chunks/{task-list-3OLIWFTQ.js → task-list-JPLGK45U.js} +5 -5
  320. package/chunks/{task-stop-JAUY6MSY.js → task-stop-CXEH5L2D.js} +2 -2
  321. package/chunks/{task-update-B3XO4CPI.js → task-update-IWEOJFV2.js} +11 -11
  322. package/chunks/{team-create-W534PMGX.js → team-create-HVGVUL2L.js} +49 -51
  323. package/chunks/{team-delete-Q7GE7RRI.js → team-delete-RZVVSGCY.js} +5 -5
  324. package/chunks/{team-plan-approval-WNV6P6NG.js → team-plan-approval-S5A5FQWU.js} +48 -50
  325. package/chunks/terminal-image-renderer-SIVPPXDI.js +114 -0
  326. package/chunks/theme-manager-TA33UZZX.js +102 -0
  327. package/chunks/{todoWrite-FJJTY2TI.js → todoWrite-WDJNQEMW.js} +43 -25
  328. package/chunks/{tool-search-Y4KL3LRE.js → tool-search-NX7IPDKP.js} +19 -20
  329. package/chunks/total-session-admission-PWXZBOVX.js +114 -0
  330. package/chunks/trustedFolders-V6Y4CU3F.js +122 -0
  331. package/chunks/{update-relaunch-OHVFN6KF.js → update-relaunch-CGSX3R37.js} +6 -6
  332. package/chunks/updateCheck-T5O2WGIB.js +118 -0
  333. package/chunks/useAutoAcceptIndicator-ULBJJWPY.js +120 -0
  334. package/chunks/{validateNonInterActiveAuth-WJXH426F.js → validateNonInterActiveAuth-E5S2JSRC.js} +114 -108
  335. package/chunks/{version-QMDRADXM.js → version-LS5JPU36.js} +2 -2
  336. package/chunks/{web-fetch-ROS6P4LP.js → web-fetch-RLMFZTS3.js} +25 -244
  337. package/chunks/{web-search-JS3E76O6.js → web-search-LMCIC4N5.js} +11 -13
  338. package/chunks/{web-shell-static-3NUTRHAH.js → web-shell-static-A6QMUNNV.js} +11 -4
  339. package/chunks/webapi-Z5OM224P.js +4118 -0
  340. package/chunks/{workflow-2FCMBTBZ.js → workflow-JBXU3IGA.js} +713 -138
  341. package/chunks/workspace-providers-status-525ORQBH.js +114 -0
  342. package/chunks/{workspace-registration-store-SU4EJKSD.js → workspace-registration-store-7Y44R4LV.js} +1 -1
  343. package/chunks/workspace-registry-HS4RWUSQ.js +123 -0
  344. package/chunks/workspace-service-7PXDM6EB.js +129 -0
  345. package/chunks/workspace-skills-status-FMJGC2XI.js +113 -0
  346. package/chunks/{workspace-trust-reconciler-4Y4F7XIX.js → workspace-trust-reconciler-3YTWSQBY.js} +78 -77
  347. package/chunks/write-file-BVQRYQQO.js +88 -0
  348. package/chunks/{zh-TW-NX43Z2S2.js → zh-TW-RPTMRTHG.js} +5 -1
  349. package/chunks/{zh-3JQ75KFU.js → zh-UNY63FR3.js} +5 -1
  350. package/chunks/{zoom-image-DNBKCGGF.js → zoom-image-FGCELNS4.js} +14 -15
  351. package/cli.js +13 -13
  352. package/locales/ca.js +3 -0
  353. package/locales/de.js +1 -0
  354. package/locales/en.js +5 -0
  355. package/locales/fr.js +1 -0
  356. package/locales/ja.js +1 -0
  357. package/locales/pt.js +1 -0
  358. package/locales/ru.js +1 -0
  359. package/locales/zh-TW.js +5 -0
  360. package/locales/zh.js +5 -0
  361. package/package.json +3 -3
  362. package/web-shell/assets/{abnfDiagram-VCTEODGH-DWHXEVlf.js → abnfDiagram-VCTEODGH-2XZDeWYO.js} +1 -1
  363. package/web-shell/assets/{arc-CXKjm86V.js → arc-B6UgMh90.js} +1 -1
  364. package/web-shell/assets/{architectureDiagram-5GKGNRK7-B_ynI0cX.js → architectureDiagram-5GKGNRK7-DZgNFeN1.js} +1 -1
  365. package/web-shell/assets/{blockDiagram-NRAW4CY4-DMebd9X0.js → blockDiagram-NRAW4CY4-DQ2wvBFN.js} +1 -1
  366. package/web-shell/assets/{c4Diagram-UCG6FXSJ-BZ5BlxS-.js → c4Diagram-UCG6FXSJ-DMmQMrc4.js} +1 -1
  367. package/web-shell/assets/channel-D_TyfiTx.js +1 -0
  368. package/web-shell/assets/{chunk-2Q5K7J3B-CluJKopE.js → chunk-2Q5K7J3B-C8Zh2e9y.js} +1 -1
  369. package/web-shell/assets/{chunk-5VM5RSS4-hzDAPFOo.js → chunk-5VM5RSS4-C3LTenP8.js} +1 -1
  370. package/web-shell/assets/{chunk-F27PBJKO-6vHioKJe.js → chunk-F27PBJKO-CxABOc8n.js} +1 -1
  371. package/web-shell/assets/{chunk-G27WJ6UU-B_5hKTGo.js → chunk-G27WJ6UU-CD_JxHDC.js} +1 -1
  372. package/web-shell/assets/{chunk-JWPE2WC7-CO9VoFCH.js → chunk-JWPE2WC7-BdmZPmce.js} +1 -1
  373. package/web-shell/assets/{chunk-LCL6LL3I-7L5JpxYu.js → chunk-LCL6LL3I-80bcHmfK.js} +1 -1
  374. package/web-shell/assets/{chunk-POPQ4Y6H-DHLJMAqj.js → chunk-POPQ4Y6H-CNpLZyQF.js} +1 -1
  375. package/web-shell/assets/{chunk-SVP7TREG-Dt-4Cqdl.js → chunk-SVP7TREG-CXlKgMv3.js} +1 -1
  376. package/web-shell/assets/{chunk-XXDRQBXY-QlSQ3ssG.js → chunk-XXDRQBXY-CivyYyvL.js} +1 -1
  377. package/web-shell/assets/classDiagram-DTDB5LWJ-Bw_H3xMd.js +1 -0
  378. package/web-shell/assets/classDiagram-v2-JRS7N3AN-Bw_H3xMd.js +1 -0
  379. package/web-shell/assets/{cose-bilkent-JH36ORCC-DMw3EOxl.js → cose-bilkent-JH36ORCC-COAjRH3w.js} +1 -1
  380. package/web-shell/assets/{cynefin-OW5HDTMX-s6vEA7RQ.js → cynefin-OW5HDTMX-DqU1JHO6.js} +1 -1
  381. package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-AOKsvYLt.js → cynefinDiagram-5FMLGOSQ-BCLI1Bvj.js} +1 -1
  382. package/web-shell/assets/{dagre-3AP2YEHR-9QAZn3m7.js → dagre-3AP2YEHR-DmAz8nqF.js} +1 -1
  383. package/web-shell/assets/{diagram-S7CK7UJ4-CWpnu4FN.js → diagram-S7CK7UJ4-Ck-5QLT5.js} +1 -1
  384. package/web-shell/assets/{diagram-UQ7AKVKN-9l0jXD8q.js → diagram-UQ7AKVKN-C0ljX0mW.js} +1 -1
  385. package/web-shell/assets/{diagram-VSXAHHWV-BMUHroj4.js → diagram-VSXAHHWV-DPgvT24v.js} +1 -1
  386. package/web-shell/assets/{diagram-VX7I27RA-Co9x27vm.js → diagram-VX7I27RA-D7hWr1LR.js} +1 -1
  387. package/web-shell/assets/{diagram-Z3DM3KII-BKnTeOER.js → diagram-Z3DM3KII-D59tlOta.js} +1 -1
  388. package/web-shell/assets/{ebnfDiagram-PWID7BFC-QBZD9CKG.js → ebnfDiagram-PWID7BFC-CY2DDx00.js} +1 -1
  389. package/web-shell/assets/{erDiagram-SSCWMZ5O-dKWAEGun.js → erDiagram-SSCWMZ5O-AR4h8Q8k.js} +1 -1
  390. package/web-shell/assets/{flowDiagram-A5DVABFB-CR_UgVqj.js → flowDiagram-A5DVABFB-DbF0HqBz.js} +1 -1
  391. package/web-shell/assets/{ganttDiagram-EL5Y4UJY-DQUnjWO6.js → ganttDiagram-EL5Y4UJY-J52mrIhc.js} +1 -1
  392. package/web-shell/assets/{gitGraphDiagram-WWUBYQGX-C4j59wPL.js → gitGraphDiagram-WWUBYQGX-CcgMY5EV.js} +1 -1
  393. package/web-shell/assets/index-BjUg3vPr.css +5 -0
  394. package/web-shell/assets/index-CFwYYVFU.js +1873 -0
  395. package/web-shell/assets/{index-tYXRIPz4.js → index-MQs7l15A.js} +1 -1
  396. package/web-shell/assets/{infoDiagram-RXCK75RN-mzqbt50w.js → infoDiagram-RXCK75RN-Buu3ibp2.js} +1 -1
  397. package/web-shell/assets/{ishikawaDiagram-5VMMS53U-ChLOqhGl.js → ishikawaDiagram-5VMMS53U-CoKQxnF3.js} +1 -1
  398. package/web-shell/assets/{journeyDiagram-EYS64GPL-SifZE-R8.js → journeyDiagram-EYS64GPL-CxK35mTC.js} +1 -1
  399. package/web-shell/assets/{kanban-definition-3QL26DDD-Sft2qlbc.js → kanban-definition-3QL26DDD-tk2CHTQ1.js} +1 -1
  400. package/web-shell/assets/{layout-O2uHVkPd.js → layout-DEpMwb4u.js} +1 -1
  401. package/web-shell/assets/{linear-BVqYgjSc.js → linear-DSQsLh53.js} +1 -1
  402. package/web-shell/assets/{mermaid.core-CZ9MQaJ6.js → mermaid.core-DIZuPBQT.js} +6 -6
  403. package/web-shell/assets/{mindmap-definition-FBJOCRG2-BNQYjBqM.js → mindmap-definition-FBJOCRG2-CCAvk8r_.js} +1 -1
  404. package/web-shell/assets/{pegDiagram-XKGWAZYB-rh1J8uv6.js → pegDiagram-XKGWAZYB-CpJ28jxz.js} +1 -1
  405. package/web-shell/assets/{pieDiagram-E7YTZNPT-BQHR5mn9.js → pieDiagram-E7YTZNPT-ziJR2R32.js} +1 -1
  406. package/web-shell/assets/{quadrantDiagram-AXDQQJYC-CLCbP7mK.js → quadrantDiagram-AXDQQJYC-B60zE3Mh.js} +1 -1
  407. package/web-shell/assets/{railroadDiagram-O6MQD6OU-CDQhrkbm.js → railroadDiagram-O6MQD6OU-M3GqQ_g1.js} +1 -1
  408. package/web-shell/assets/{requirementDiagram-EFPCY7ZU-BdP9uswg.js → requirementDiagram-EFPCY7ZU-ntCtYqTk.js} +1 -1
  409. package/web-shell/assets/{sankeyDiagram-P5KCCOFB-CFZDFBXF.js → sankeyDiagram-P5KCCOFB-AYLoItcZ.js} +1 -1
  410. package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-BW9WOJXI.js → sequenceDiagram-WJ2MYXX4-DEWk4Mlj.js} +1 -1
  411. package/web-shell/assets/{sizeCapture-X5ZJPWSS-CPMia32z.js → sizeCapture-X5ZJPWSS-OOWvzPay.js} +1 -1
  412. package/web-shell/assets/{stateDiagram-HBIQ2CUA-BANp9p7F.js → stateDiagram-HBIQ2CUA-BcMmvxem.js} +1 -1
  413. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-DRLLqPWO.js +1 -0
  414. package/web-shell/assets/{swimlanes-XN3QIQJK-JroXksK-.js → swimlanes-XN3QIQJK-DuZTWWvh.js} +1 -1
  415. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-DOfLQQYt.js +8 -0
  416. package/web-shell/assets/{timeline-definition-24CTP7MA-DfuVIfYY.js → timeline-definition-24CTP7MA-CjqtZXEd.js} +1 -1
  417. package/web-shell/assets/{vennDiagram-4TSXK5OY-BZXoSjRB.js → vennDiagram-4TSXK5OY-knVCVkQ4.js} +1 -1
  418. package/web-shell/assets/{wardleyDiagram-VM6X3IG4-BdiY8avC.js → wardleyDiagram-VM6X3IG4-yoWhw0a2.js} +1 -1
  419. package/web-shell/assets/{xychartDiagram-S5SC5T6Z-DcXh_U4H.js → xychartDiagram-S5SC5T6Z-ue14E_gL.js} +1 -1
  420. package/web-shell/index.html +20 -5
  421. package/chunks/MaxSizedBox-3OZJCC3J.js +0 -110
  422. package/chunks/agent-BFE3DQM3.js +0 -93
  423. package/chunks/agent-headless-LLVKZZ4P.js +0 -87
  424. package/chunks/bridge-EBYO4SYM.js +0 -118
  425. package/chunks/channel-settings-store-5VP2Y2YM.js +0 -115
  426. package/chunks/chunk-2J3OJGTL.js +0 -98
  427. package/chunks/chunk-7IV52LTO.js +0 -202
  428. package/chunks/chunk-AXMWHKXA.js +0 -42
  429. package/chunks/chunk-F6WFNA7U.js +0 -22
  430. package/chunks/chunk-IO257NUD.js +0 -623
  431. package/chunks/chunk-JS73NNWF.js +0 -30
  432. package/chunks/chunk-SJ4HB27T.js +0 -945
  433. package/chunks/chunk-VGHZT6JR.js +0 -51
  434. package/chunks/chunk-YHC2EYYG.js +0 -125
  435. package/chunks/computer-use-EGPWFEX6.js +0 -2142
  436. package/chunks/config-utils-WZ43VOBS.js +0 -25
  437. package/chunks/contextCommand-5DSEQI6S.js +0 -106
  438. package/chunks/daemon-status-provider-EYMLPYJU.js +0 -116
  439. package/chunks/daemon-trust-policy-CQYKZ7VO.js +0 -112
  440. package/chunks/deferred-core-runtime-WFEPUXZR.js +0 -114
  441. package/chunks/earlyInputCapture-PN4PP7V5.js +0 -107
  442. package/chunks/environment-WUPHLPKZ.js +0 -127
  443. package/chunks/errors-WPMPVIAT.js +0 -113
  444. package/chunks/exitPlanMode-MLFHYZNB.js +0 -85
  445. package/chunks/handleAutoUpdate-F5OTWUT5.js +0 -109
  446. package/chunks/i18n-C562S6KN.js +0 -124
  447. package/chunks/initializer-7YPGOFP4.js +0 -113
  448. package/chunks/installationInfo-ARU5Q2H7.js +0 -107
  449. package/chunks/list-KTSK275C.js +0 -116
  450. package/chunks/loadedSettingsAdapter-F3T2EQ5J.js +0 -110
  451. package/chunks/mcp-6ONTVPAY.js +0 -110
  452. package/chunks/nonInteractiveCli-KZDWFAN6.js +0 -178
  453. package/chunks/pidfile-IO7ALSZF.js +0 -111
  454. package/chunks/process-registry-PMJOA5CO.js +0 -172
  455. package/chunks/prompt-terminal-ledger-TCE7PMCE.js +0 -105
  456. package/chunks/read-file-2HOD2ATO.js +0 -33
  457. package/chunks/resumeHistoryUtils-DDSBAQJS.js +0 -118
  458. package/chunks/ripGrep-E7P6K4QR.js +0 -40
  459. package/chunks/runtime-J4SPTJRQ.js +0 -148
  460. package/chunks/scheduler-VRAEZZ4E.js +0 -122
  461. package/chunks/serve-KEAWV4TI.js +0 -118
  462. package/chunks/shell-H6K63WG3.js +0 -95
  463. package/chunks/skill-settings-TCKLXIXM.js +0 -118
  464. package/chunks/spawnChannel-2K6NKWM5.js +0 -111
  465. package/chunks/standalone-update-LSCGOEFP.js +0 -118
  466. package/chunks/terminal-image-renderer-UHX3UD66.js +0 -114
  467. package/chunks/theme-manager-6B47ZPIF.js +0 -102
  468. package/chunks/total-session-admission-NSCFWGJH.js +0 -113
  469. package/chunks/trustedFolders-7XMJWGQ3.js +0 -122
  470. package/chunks/updateCheck-EOVLHD4T.js +0 -118
  471. package/chunks/useAutoAcceptIndicator-ZNMIGBTN.js +0 -120
  472. package/chunks/workspace-providers-status-GPGU5YMT.js +0 -113
  473. package/chunks/workspace-registry-BQISXT6Y.js +0 -122
  474. package/chunks/workspace-service-LLY6HCUC.js +0 -129
  475. package/chunks/workspace-skills-status-L5N2Y3ZP.js +0 -113
  476. package/chunks/write-file-EJHU2Z3E.js +0 -90
  477. package/web-shell/assets/channel-Zg3WHgq_.js +0 -1
  478. package/web-shell/assets/classDiagram-DTDB5LWJ-C16l9jQz.js +0 -1
  479. package/web-shell/assets/classDiagram-v2-JRS7N3AN-C16l9jQz.js +0 -1
  480. package/web-shell/assets/index-BN_m_uHJ.css +0 -5
  481. package/web-shell/assets/index-DrlJu79f.js +0 -1792
  482. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-NZYAoQLU.js +0 -1
  483. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-3YdVX3vj.js +0 -8
@@ -12,37 +12,41 @@ import {
12
12
  revokeChannelWorkerPromptAuthorization
13
13
  } from "./chunk-Z7B6SRPM.js";
14
14
  import {
15
- CHANNEL_DAEMON_WORKER_SENTINEL,
16
- CHANNEL_DELIVERY_IPC_TIMEOUT_MS,
17
15
  CHANNEL_WEBHOOK_TASK_IPC_TIMEOUT_MS,
18
- CHANNEL_WORKER_HEARTBEAT_INTERVAL_MS,
19
- ChannelDeliveryError,
20
16
  ChannelWebhookEnqueueError,
21
- MAX_CHANNEL_DELIVERIES_IN_FLIGHT,
22
17
  MAX_CHANNEL_STARTUP_FAILURES,
23
18
  MAX_CHANNEL_STARTUP_FAILURE_CHANNEL_LENGTH,
24
19
  MAX_CHANNEL_STARTUP_FAILURE_CODE_LENGTH,
25
20
  MAX_CHANNEL_STARTUP_FAILURE_MESSAGE_LENGTH,
26
- QWEN_DAEMON_TOKEN_ENV,
27
- QWEN_DAEMON_URL_ENV,
28
- QWEN_DAEMON_WORKSPACE_ENV,
29
- QWEN_SERVER_TOKEN_ENV,
30
- createChannelDeliveryMessage,
31
21
  createChannelWebhookTaskMessage,
32
- isChannelDeliveryResultMessage,
33
22
  isChannelStartupReportMessage,
34
23
  isChannelStartupReportType,
35
24
  isChannelWebhookEnqueueErrorCode,
36
25
  isChannelWebhookTaskResultMessage
37
- } from "./chunk-ND7NOI4P.js";
26
+ } from "./chunk-STUJ7IMZ.js";
27
+ import {
28
+ CHANNEL_DAEMON_WORKER_SENTINEL,
29
+ CHANNEL_WORKER_HEARTBEAT_INTERVAL_MS,
30
+ QWEN_DAEMON_TOKEN_ENV,
31
+ QWEN_DAEMON_URL_ENV,
32
+ QWEN_DAEMON_WORKSPACE_ENV,
33
+ QWEN_SERVER_TOKEN_ENV
34
+ } from "./chunk-GYTKQYDB.js";
38
35
  import {
39
36
  createWorkerDiagnosticRedactor,
40
37
  normalizeWorkerDiagnostic,
41
38
  sanitizeWorkerDiagnostic
42
- } from "./chunk-A6NRNRKE.js";
39
+ } from "./chunk-RFIDDFAL.js";
43
40
  import {
44
41
  channelSelectionNames
45
42
  } from "./chunk-ALMR3E6Q.js";
43
+ import {
44
+ CHANNEL_DELIVERY_IPC_TIMEOUT_MS,
45
+ ChannelDeliveryError,
46
+ MAX_CHANNEL_DELIVERIES_IN_FLIGHT,
47
+ createChannelDeliveryMessage,
48
+ isChannelDeliveryResultMessage
49
+ } from "./chunk-RKFGE7JH.js";
46
50
  import {
47
51
  EXTERNAL_TOOL_GUARD_TOKEN_ENV
48
52
  } from "./chunk-3VUENPWF.js";
@@ -53,7 +57,7 @@ import {
53
57
  } from "./chunk-5HBA2Z7V.js";
54
58
  import {
55
59
  sanitizeLogText
56
- } from "./chunk-AW27A43Y.js";
60
+ } from "./chunk-ICURCKIU.js";
57
61
  import {
58
62
  init_esbuild_shims
59
63
  } from "./chunk-5O2XNYP6.js";
@@ -65,6 +69,124 @@ import {
65
69
  init_esbuild_shims();
66
70
  import { fork } from "node:child_process";
67
71
  import { randomUUID } from "node:crypto";
72
+ import * as fs from "node:fs";
73
+ import * as os from "node:os";
74
+ import * as path from "node:path";
75
+
76
+ // packages/cli/src/serve/pem-certificate-blocks.ts
77
+ init_esbuild_shims();
78
+ import { spawnSync } from "node:child_process";
79
+ import { X509Certificate } from "node:crypto";
80
+ import { mkdtempSync, rmSync, writeFileSync } from "node:fs";
81
+ import { tmpdir } from "node:os";
82
+ import { join } from "node:path";
83
+ var NODE_EXTRA_CA_CERTS_ENV = "NODE_EXTRA_CA_CERTS";
84
+ var ORACLE_TIMEOUT_MS = 1e4;
85
+ var ORACLE_MAX_BUFFER_BYTES = 16 * 1024 * 1024;
86
+ var ORACLE_SOURCE = `
87
+ const tls = require('node:tls');
88
+ if (typeof tls.getCACertificates === 'function') {
89
+ process.stdout.write(JSON.stringify({
90
+ certificates: tls.getCACertificates('extra'),
91
+ }));
92
+ } else {
93
+ tls.createSecureContext();
94
+ process.stdout.write(JSON.stringify({ legacy: true }));
95
+ }
96
+ `;
97
+ var ExtraCaInspectionError = class extends Error {
98
+ static {
99
+ __name(this, "ExtraCaInspectionError");
100
+ }
101
+ };
102
+ var LegacyExtraCaInspectionError = class extends ExtraCaInspectionError {
103
+ static {
104
+ __name(this, "LegacyExtraCaInspectionError");
105
+ }
106
+ constructor() {
107
+ super("Inspecting NODE_EXTRA_CA_CERTS requires Node.js 22.15.0 or newer.");
108
+ }
109
+ };
110
+ var FailedExtraCaInspectionError = class extends ExtraCaInspectionError {
111
+ static {
112
+ __name(this, "FailedExtraCaInspectionError");
113
+ }
114
+ constructor() {
115
+ super(
116
+ "Inspecting NODE_EXTRA_CA_CERTS failed before its contents could be judged."
117
+ );
118
+ }
119
+ };
120
+ function scanCertificateBlocks(contents, sourcePath) {
121
+ let dir;
122
+ try {
123
+ dir = sourcePath ? void 0 : mkdtempSync(join(tmpdir(), "qwen-ca-oracle-"));
124
+ const certPath = sourcePath ?? join(dir, "extra-ca.pem");
125
+ if (dir) writeFileSync(certPath, contents, { mode: 384 });
126
+ const oracleEnv = {
127
+ ...process.env,
128
+ [NODE_EXTRA_CA_CERTS_ENV]: certPath
129
+ };
130
+ for (const key of Object.keys(oracleEnv)) {
131
+ if (key.toUpperCase() === "NODE_OPTIONS") delete oracleEnv[key];
132
+ }
133
+ const result = spawnSync(
134
+ process.execPath,
135
+ ["--no-deprecation", "--input-type=commonjs", "-e", ORACLE_SOURCE],
136
+ {
137
+ encoding: "utf8",
138
+ env: oracleEnv,
139
+ maxBuffer: ORACLE_MAX_BUFFER_BYTES,
140
+ timeout: ORACLE_TIMEOUT_MS,
141
+ windowsHide: true
142
+ }
143
+ );
144
+ if (result.error || result.status !== 0) {
145
+ throw new FailedExtraCaInspectionError();
146
+ }
147
+ const parsed = JSON.parse(result.stdout);
148
+ if (typeof parsed !== "object" || parsed === null) {
149
+ throw new FailedExtraCaInspectionError();
150
+ }
151
+ const certificates = Reflect.get(parsed, "certificates");
152
+ if (certificates !== void 0) {
153
+ if (!Array.isArray(certificates) || !certificates.every((item) => typeof item === "string")) {
154
+ throw new FailedExtraCaInspectionError();
155
+ }
156
+ return certificates.map((block) => ({
157
+ block: block.trimEnd(),
158
+ certificate: new X509Certificate(block)
159
+ }));
160
+ }
161
+ if (Reflect.get(parsed, "legacy") !== true) {
162
+ throw new FailedExtraCaInspectionError();
163
+ }
164
+ throw new LegacyExtraCaInspectionError();
165
+ } catch (error) {
166
+ if (error instanceof ExtraCaInspectionError) throw error;
167
+ throw new FailedExtraCaInspectionError();
168
+ } finally {
169
+ if (dir) {
170
+ try {
171
+ rmSync(dir, { recursive: true, force: true });
172
+ } catch {
173
+ }
174
+ }
175
+ }
176
+ }
177
+ __name(scanCertificateBlocks, "scanCertificateBlocks");
178
+ function extractCertificateBlocks(contents, sourcePath) {
179
+ const scanned = scanCertificateBlocks(contents, sourcePath);
180
+ return scanned.length > 0 ? scanned.map((entry) => entry.block) : void 0;
181
+ }
182
+ __name(extractCertificateBlocks, "extractCertificateBlocks");
183
+ function loadableCertificates(contents, sourcePath) {
184
+ const scanned = scanCertificateBlocks(contents, sourcePath);
185
+ return scanned.length > 0 ? scanned.map((entry) => entry.certificate) : void 0;
186
+ }
187
+ __name(loadableCertificates, "loadableCertificates");
188
+
189
+ // packages/cli/src/serve/channel-worker-supervisor.ts
68
190
  var DEFAULT_CHANNEL_WORKER_HEARTBEAT_TIMEOUT_MS = 45e3;
69
191
  var MAX_WORKER_LOG_LINE_LENGTH = 4096;
70
192
  var MAX_WORKER_LOG_BUFFER_LENGTH = 64 * 1024;
@@ -181,10 +303,151 @@ function hasObservedExit(snapshot) {
181
303
  return snapshot.exitCode !== void 0 || snapshot.signal !== void 0;
182
304
  }
183
305
  __name(hasObservedExit, "hasObservedExit");
306
+ var NODE_EXTRA_CA_CERTS_ENV2 = "NODE_EXTRA_CA_CERTS";
307
+ var mergedWorkerCaBundles = /* @__PURE__ */ new Map();
308
+ function sourceStamp(filePath) {
309
+ const stat = fs.statSync(filePath);
310
+ return `${stat.mtimeMs}:${stat.size}`;
311
+ }
312
+ __name(sourceStamp, "sourceStamp");
313
+ var warnedWorkerCaMergeFallbacks = /* @__PURE__ */ new Set();
314
+ var WORKER_CA_MERGE_FALLBACK_FAMILIES = [
315
+ "read-error",
316
+ "inspection-failed",
317
+ "no-operator-blocks",
318
+ "no-daemon-blocks"
319
+ ];
320
+ function workerCaMergeFallbackKey(operatorCaPath, daemonCertPath, family) {
321
+ return `${operatorCaPath}\0${daemonCertPath}\0${family}`;
322
+ }
323
+ __name(workerCaMergeFallbackKey, "workerCaMergeFallbackKey");
324
+ function warnWorkerCaMergeFallback(operatorCaPath, daemonCertPath, family, reason) {
325
+ const key = workerCaMergeFallbackKey(operatorCaPath, daemonCertPath, family);
326
+ if (warnedWorkerCaMergeFallbacks.has(key)) return;
327
+ warnedWorkerCaMergeFallbacks.add(key);
328
+ process.emitWarning(
329
+ `qwen: failed to merge ${NODE_EXTRA_CA_CERTS_ENV2} "${operatorCaPath}" with the daemon cert "${daemonCertPath}": ${reason}; channel workers will trust only the daemon cert`
330
+ );
331
+ }
332
+ __name(warnWorkerCaMergeFallback, "warnWorkerCaMergeFallback");
333
+ var mintedWorkerCaBundleDirs = /* @__PURE__ */ new Set();
334
+ var workerCaBundleExitHookRegistered = false;
335
+ function cleanupWorkerCaBundleDir(dir) {
336
+ try {
337
+ fs.rmSync(dir, { recursive: true, force: true });
338
+ } catch {
339
+ }
340
+ }
341
+ __name(cleanupWorkerCaBundleDir, "cleanupWorkerCaBundleDir");
342
+ function writeMergedWorkerCaBundle(contents) {
343
+ const dir = fs.mkdtempSync(path.join(os.tmpdir(), "qwen-worker-ca-"));
344
+ mintedWorkerCaBundleDirs.add(dir);
345
+ if (!workerCaBundleExitHookRegistered) {
346
+ workerCaBundleExitHookRegistered = true;
347
+ process.once("exit", cleanupMintedWorkerCaBundleDirs);
348
+ }
349
+ const bundlePath = path.join(dir, "ca-bundle.pem");
350
+ fs.writeFileSync(bundlePath, contents, { mode: 384 });
351
+ return bundlePath;
352
+ }
353
+ __name(writeMergedWorkerCaBundle, "writeMergedWorkerCaBundle");
354
+ function cleanupMintedWorkerCaBundleDirs() {
355
+ const swept = [...mintedWorkerCaBundleDirs];
356
+ for (const minted of swept) {
357
+ cleanupWorkerCaBundleDir(minted);
358
+ }
359
+ mintedWorkerCaBundleDirs.clear();
360
+ return swept;
361
+ }
362
+ __name(cleanupMintedWorkerCaBundleDirs, "cleanupMintedWorkerCaBundleDirs");
363
+ function resolveWorkerCaCertPath(daemonCertPath, existing) {
364
+ if (!existing || existing === daemonCertPath) return daemonCertPath;
365
+ const cacheKey = `${existing}\0${daemonCertPath}`;
366
+ const sources = [existing, daemonCertPath];
367
+ const cached = mergedWorkerCaBundles.get(cacheKey);
368
+ if (cached) {
369
+ try {
370
+ fs.statSync(cached.bundlePath);
371
+ if (sources.every((src, i) => sourceStamp(src) === cached.sourceStamps[i])) {
372
+ return cached.bundlePath;
373
+ }
374
+ } catch {
375
+ }
376
+ }
377
+ try {
378
+ const sourceStamps = sources.map(sourceStamp);
379
+ const operatorBlocks = extractCertificateBlocks(
380
+ fs.readFileSync(existing, "utf8"),
381
+ existing
382
+ );
383
+ if (!operatorBlocks) {
384
+ warnWorkerCaMergeFallback(
385
+ existing,
386
+ daemonCertPath,
387
+ "no-operator-blocks",
388
+ // Three causes reject a file, not one: markers, decoding, and DER.
389
+ // Blaming markers alone tells an operator whose CA is truncated or
390
+ // hand-edited to fix lines that are already correct — and after boot
391
+ // this warning is the only diagnostic they get, so it has to name the
392
+ // same three the boot-time check does.
393
+ "it holds no PEM certificate block Node can load (every -----BEGIN/END CERTIFICATE----- marker must sit alone on its own line and every block must decode, and a DER file is never read at all)"
394
+ );
395
+ return daemonCertPath;
396
+ }
397
+ const daemonBlocks = extractCertificateBlocks(
398
+ fs.readFileSync(daemonCertPath, "utf8"),
399
+ daemonCertPath
400
+ );
401
+ if (!daemonBlocks) {
402
+ warnWorkerCaMergeFallback(
403
+ existing,
404
+ daemonCertPath,
405
+ "no-daemon-blocks",
406
+ "the daemon cert holds no PEM certificate block to merge into"
407
+ );
408
+ return daemonCertPath;
409
+ }
410
+ const bundlePath = writeMergedWorkerCaBundle(
411
+ `${[...operatorBlocks, ...daemonBlocks].join("\n")}
412
+ `
413
+ );
414
+ const superseded = mergedWorkerCaBundles.get(cacheKey);
415
+ mergedWorkerCaBundles.set(cacheKey, { bundlePath, sourceStamps });
416
+ if (superseded) {
417
+ const dir = path.dirname(superseded.bundlePath);
418
+ mintedWorkerCaBundleDirs.delete(dir);
419
+ cleanupWorkerCaBundleDir(dir);
420
+ }
421
+ for (const family of WORKER_CA_MERGE_FALLBACK_FAMILIES) {
422
+ warnedWorkerCaMergeFallbacks.delete(
423
+ workerCaMergeFallbackKey(existing, daemonCertPath, family)
424
+ );
425
+ }
426
+ return bundlePath;
427
+ } catch (err) {
428
+ warnWorkerCaMergeFallback(
429
+ existing,
430
+ daemonCertPath,
431
+ // An inspection that could not run blames nothing about the file's
432
+ // contents; sharing the read-error family would let a first ENOENT
433
+ // silence the later, now-accurate inspection-failure diagnosis.
434
+ err instanceof ExtraCaInspectionError ? "inspection-failed" : "read-error",
435
+ err instanceof Error ? err.message : String(err)
436
+ );
437
+ return daemonCertPath;
438
+ }
439
+ }
440
+ __name(resolveWorkerCaCertPath, "resolveWorkerCaCertPath");
184
441
  function createWorkerEnv(opts) {
185
442
  const env = { ...opts.baseEnv ?? process.env };
186
443
  env["QWEN_CODE_NO_RELAUNCH"] = "true";
187
444
  env["QWEN_CODE_SERVE"] = "1";
445
+ if (opts.tlsCaCertPath) {
446
+ env[NODE_EXTRA_CA_CERTS_ENV2] = resolveWorkerCaCertPath(
447
+ opts.tlsCaCertPath,
448
+ env[NODE_EXTRA_CA_CERTS_ENV2]
449
+ );
450
+ }
188
451
  env[CHANNEL_DAEMON_WORKER_SENTINEL] = randomUUID();
189
452
  env[QWEN_DAEMON_URL_ENV] = opts.daemonUrl;
190
453
  env[QWEN_DAEMON_WORKSPACE_ENV] = opts.workspace;
@@ -505,7 +768,8 @@ function createChannelWorkerSupervisor(opts) {
505
768
  daemonUrl: opts.daemonUrl,
506
769
  workspace: opts.workspace,
507
770
  ...opts.daemonToken ? { daemonToken: opts.daemonToken } : {},
508
- ...opts.workerBaseEnv ? { baseEnv: opts.workerBaseEnv } : {}
771
+ ...opts.workerBaseEnv ? { baseEnv: opts.workerBaseEnv } : {},
772
+ ...opts.tlsCaCertPath ? { tlsCaCertPath: opts.tlsCaCertPath } : {}
509
773
  });
510
774
  const promptAuthorization = env[CHANNEL_DAEMON_WORKER_SENTINEL];
511
775
  registerChannelWorkerPromptAuthorization(
@@ -1205,7 +1469,16 @@ function createChannelWorkerSupervisor(opts) {
1205
1469
  __name(createChannelWorkerSupervisor, "createChannelWorkerSupervisor");
1206
1470
 
1207
1471
  export {
1472
+ ExtraCaInspectionError,
1473
+ loadableCertificates,
1208
1474
  ChannelWorkerStopError,
1209
1475
  ChannelWorkerStartupError,
1476
+ cleanupMintedWorkerCaBundleDirs,
1477
+ resolveWorkerCaCertPath,
1210
1478
  createChannelWorkerSupervisor
1211
1479
  };
1480
+ /**
1481
+ * @license
1482
+ * Copyright 2026 Qwen Team
1483
+ * SPDX-License-Identifier: Apache-2.0
1484
+ */
@@ -1,16 +1,16 @@
1
1
  // Force strict mode and setup for ESM
2
2
  "use strict";
3
3
  import {
4
- RequestTokenizer
5
- } from "./chunk-IO257NUD.js";
4
+ parseToolCallArguments
5
+ } from "./chunk-ZYNTSXWK.js";
6
6
  import {
7
7
  OpenAIContentConverter,
8
8
  TaggedThinkingParser,
9
9
  openaiRequestCaptureContext
10
- } from "./chunk-B6UBOIFE.js";
10
+ } from "./chunk-H33EQVMG.js";
11
11
  import {
12
12
  safeJsonParse
13
- } from "./chunk-36OF5PRW.js";
13
+ } from "./chunk-ABS25QER.js";
14
14
  import {
15
15
  runtimeDiagnostics
16
16
  } from "./chunk-VNOVK4I7.js";
@@ -18,64 +18,61 @@ import {
18
18
  reportOpenAiChunk,
19
19
  reportOpenAiRequest,
20
20
  reportOpenAiResponse
21
- } from "./chunk-IBJ5S45N.js";
21
+ } from "./chunk-B7CDU2SL.js";
22
22
  import {
23
23
  applyOfficialOpenAIPromptCaching,
24
24
  isOfficialOpenAIEndpoint
25
- } from "./chunk-SAH4BD2J.js";
25
+ } from "./chunk-PQEISIKS.js";
26
26
  import {
27
27
  DashScopeOpenAICompatibleProvider,
28
28
  DefaultOpenAICompatibleProvider
29
- } from "./chunk-VSNPOSDN.js";
29
+ } from "./chunk-EB6QRGHM.js";
30
30
  import {
31
31
  getCurrentAgentId
32
- } from "./chunk-I432KXWD.js";
32
+ } from "./chunk-CMHFCLBU.js";
33
33
  import {
34
- getTransportCode
35
- } from "./chunk-7IV52LTO.js";
34
+ InvalidStreamError,
35
+ getToolCallPreparations
36
+ } from "./chunk-CFKIH3D3.js";
36
37
  import {
37
38
  DEFAULT_STREAM_IDLE_TIMEOUT_MS,
38
39
  DEFAULT_STREAM_MAX_LIFETIME_MS,
39
40
  MAX_STREAM_GUARD_TIMEOUT_MS,
40
41
  QWEN_STREAM_IDLE_TIMEOUT_MS_ENV,
41
- QWEN_STREAM_MAX_LIFETIME_MS_ENV
42
- } from "./chunk-AXMWHKXA.js";
42
+ QWEN_STREAM_MAX_LIFETIME_MS_ENV,
43
+ REASONING_EFFORT_TIERS
44
+ } from "./chunk-2LD5U7Q3.js";
43
45
  import {
44
46
  createChildAbortController
45
47
  } from "./chunk-DJ2GSRLV.js";
46
48
  import {
47
- InvalidStreamError
48
- } from "./chunk-2J3OJGTL.js";
49
- import {
50
- getRateLimitErrorDetails
51
- } from "./chunk-LI4YHTQK.js";
52
- import {
53
- getToolCallPreparations
54
- } from "./chunk-QKBYFU2Q.js";
49
+ getRateLimitErrorDetails,
50
+ getTransportCode
51
+ } from "./chunk-DYXFD5RO.js";
55
52
  import {
56
53
  ProtocolTagSanitizedEvent,
57
54
  logProtocolTagSanitized
58
- } from "./chunk-FDD2IUEL.js";
55
+ } from "./chunk-SZLBBZH4.js";
59
56
  import {
60
57
  isQwenFamilyWireModel,
61
58
  isTieredEffortWireModel
62
- } from "./chunk-YRLW2MSX.js";
59
+ } from "./chunk-XBVNNDPK.js";
63
60
  import {
64
61
  reconcileMaxTokens
65
62
  } from "./chunk-FPGTNKCP.js";
66
63
  import {
67
64
  redactProxyError
68
- } from "./chunk-PZRUV52H.js";
65
+ } from "./chunk-PPKZ7JOE.js";
69
66
  import {
70
67
  isInForkExecution
71
- } from "./chunk-WZDM44SB.js";
68
+ } from "./chunk-CAJTKR6W.js";
72
69
  import {
73
70
  createDebugLogger,
74
71
  getErrorMessage,
75
72
  getErrorStatus,
76
73
  getErrorType,
77
74
  isAbortError
78
- } from "./chunk-A5F2YNO6.js";
75
+ } from "./chunk-UHQFIS7N.js";
79
76
  import {
80
77
  GenerateContentResponse
81
78
  } from "./chunk-64REQJJ2.js";
@@ -180,16 +177,28 @@ var DeepSeekOpenAICompatibleProvider = class extends DefaultOpenAICompatibleProv
180
177
  static isDeepSeekProvider = isDeepSeekProvider;
181
178
  static isDeepSeekHostname = isDeepSeekHostname;
182
179
  /**
183
- * DeepSeek's API requires message content to be a plain string, not an
184
- * array of content parts. Flatten any text-part arrays into joined
185
- * strings; non-text parts (image_url, audio, …) are replaced with a
186
- * `[Unsupported content type: <type>]` placeholder so the request still
187
- * goes through with a textual breadcrumb rather than silently dropping
188
- * the part or raising mid-conversation. Also translate the standard
189
- * `reasoning.effort` config into DeepSeek's flat `reasoning_effort`
190
- * body parameter — but only on actual DeepSeek hostnames, since the
191
- * model-name fallback above can match self-hosted/strict OpenAI-compat
192
- * backends that don't accept the DeepSeek extension.
180
+ * The full ladder, including `max`, only on a verified DeepSeek host.
181
+ * `isDeepSeekProvider` also routes here on a `deepseek` substring in the
182
+ * model name, which says nothing about what the endpoint accepts, so the
183
+ * capability follows the rule the module comment above already states: a
184
+ * decision about the wire shape DeepSeek's own API exposes uses
185
+ * `isDeepSeekHostname`. Elsewhere the generic ceiling applies.
186
+ */
187
+ supportedReasoningEffortsFor(model) {
188
+ return isDeepSeekHostname(this.contentGeneratorConfig) ? REASONING_EFFORT_TIERS : super.supportedReasoningEffortsFor(model);
189
+ }
190
+ /**
191
+ * Text-only DeepSeek APIs require message content to be a plain string, not
192
+ * an array of content parts. Flatten text-only request arrays into joined
193
+ * strings; non-text parts (image_url, audio, …) are replaced with an
194
+ * `[Unsupported content type: <type>]` placeholder so the request still goes
195
+ * through with a textual breadcrumb rather than silently dropping the part
196
+ * or raising mid-conversation. Models that explicitly declare image input
197
+ * retain multipart content for compatible gateways. Also translate the
198
+ * standard `reasoning.effort` config into DeepSeek's flat `reasoning_effort`
199
+ * body parameter — but only on actual DeepSeek hostnames, since the model-name
200
+ * fallback above can match self-hosted/strict OpenAI-compat backends that
201
+ * don't accept the DeepSeek extension.
193
202
  */
194
203
  buildRequest(request, userPromptId) {
195
204
  const baseRequest = super.buildRequest(request, userPromptId);
@@ -197,10 +206,11 @@ var DeepSeekOpenAICompatibleProvider = class extends DefaultOpenAICompatibleProv
197
206
  if (!reshaped.messages?.length) {
198
207
  return reshaped;
199
208
  }
200
- const messages = reshaped.messages.map((message) => {
201
- const flattened = flattenContentParts(message);
202
- return ensureReasoningContentOnAssistantMessage(flattened);
203
- });
209
+ const messages = reshaped.messages.map(
210
+ (message) => ensureReasoningContentOnAssistantMessage(
211
+ this.contentGeneratorConfig.modalities?.image ? message : flattenContentParts(message)
212
+ )
213
+ );
204
214
  return {
205
215
  ...reshaped,
206
216
  messages
@@ -286,6 +296,19 @@ function isZaiProvider(contentGeneratorConfig) {
286
296
  return model.toLowerCase().startsWith("glm-");
287
297
  }
288
298
  __name(isZaiProvider, "isZaiProvider");
299
+ function isGlmTieredEffortModel(model) {
300
+ if (!model) {
301
+ return false;
302
+ }
303
+ const parsed = /^glm-(\d+)(?:\.(\d+))?/.exec(model.toLowerCase());
304
+ if (!parsed) {
305
+ return false;
306
+ }
307
+ const major = Number(parsed[1]);
308
+ const minor = Number(parsed[2] ?? 0);
309
+ return major > 5 || major === 5 && minor >= 2;
310
+ }
311
+ __name(isGlmTieredEffortModel, "isGlmTieredEffortModel");
289
312
  var ZaiOpenAICompatibleProvider = class extends DefaultOpenAICompatibleProvider {
290
313
  static {
291
314
  __name(this, "ZaiOpenAICompatibleProvider");
@@ -294,6 +317,17 @@ var ZaiOpenAICompatibleProvider = class extends DefaultOpenAICompatibleProvider
294
317
  static isZaiHostname = isZaiHostname;
295
318
  // Latch so the skipped-flatten warning fires once per provider lifetime.
296
319
  nonZaiHostnameFlattenWarned = false;
320
+ /**
321
+ * The full ladder, including `max`, only on a verified Z.ai host running a
322
+ * GLM-5.2+ model. Both halves matter: `isZaiProvider` also routes here on a
323
+ * bare `glm-*` model name, which says nothing about what an arbitrary
324
+ * self-hosted backend accepts, and older GLM ids predate the tiered field.
325
+ * Anything else keeps the generic ceiling, matching the hostname gate the
326
+ * wire reshape below already uses.
327
+ */
328
+ supportedReasoningEffortsFor(model) {
329
+ return isZaiHostname(this.contentGeneratorConfig) && isGlmTieredEffortModel(model ?? this.contentGeneratorConfig.model) ? REASONING_EFFORT_TIERS : super.supportedReasoningEffortsFor(model);
330
+ }
297
331
  buildRequest(request, userPromptId) {
298
332
  const baseRequest = super.buildRequest(request, userPromptId);
299
333
  if (isZaiHostname(this.contentGeneratorConfig)) {
@@ -456,6 +490,20 @@ var MiMoOpenAICompatibleProvider = class extends DefaultOpenAICompatibleProvider
456
490
  // packages/core/src/core/openaiContentGenerator/pipeline.ts
457
491
  init_esbuild_shims();
458
492
 
493
+ // packages/core/src/core/openaiContentGenerator/provider/openrouter.ts
494
+ init_esbuild_shims();
495
+ function isOpenRouterHostname(contentGeneratorConfig) {
496
+ const baseUrl = contentGeneratorConfig.baseUrl ?? "";
497
+ if (!baseUrl) return false;
498
+ try {
499
+ const hostname = new URL(baseUrl).hostname.toLowerCase();
500
+ return hostname === "openrouter.ai" || hostname.endsWith(".openrouter.ai");
501
+ } catch {
502
+ return false;
503
+ }
504
+ }
505
+ __name(isOpenRouterHostname, "isOpenRouterHostname");
506
+
459
507
  // packages/core/src/core/openaiContentGenerator/streamingToolCallParser.ts
460
508
  init_esbuild_shims();
461
509
  var debugLogger2 = createDebugLogger("STREAMING_TOOL_CALL_PARSER");
@@ -705,14 +753,7 @@ var StreamingToolCallParser = class {
705
753
  hasInvalidToolCallArguments() {
706
754
  for (const [index, buffer] of this.buffers.entries()) {
707
755
  if (!this.toolCallMeta.get(index)?.name || buffer.length === 0) continue;
708
- try {
709
- const args = JSON.parse(buffer);
710
- if (typeof args !== "object" || args === null || Array.isArray(args)) {
711
- return true;
712
- }
713
- } catch {
714
- return true;
715
- }
756
+ if (!parseToolCallArguments(buffer).ok) return true;
716
757
  }
717
758
  return false;
718
759
  }
@@ -1020,7 +1061,7 @@ var StreamContentError = class extends Error {
1020
1061
  var StreamInactivityTimeoutError = class extends Error {
1021
1062
  constructor(idleMs, chunksReceived, streamLifetimeMs) {
1022
1063
  super(
1023
- `No stream activity for ${idleMs}ms after ${chunksReceived} chunks (stream lifetime: ${streamLifetimeMs}ms). Set ${QWEN_STREAM_IDLE_TIMEOUT_MS_ENV} to increase this window (or 0 to disable it).`
1064
+ `No stream activity for ${idleMs}ms after ${chunksReceived} chunks (stream lifetime: ${streamLifetimeMs}ms). For provider-backed models, increase modelProviders[providerId][].generationConfig.streamIdleTimeoutMs; provider configuration takes precedence, so model.generationConfig is ignored for those models. For runtime models, increase model.generationConfig.streamIdleTimeoutMs. Built-in Qwen OAuth models cannot be overridden via settings. Use ${QWEN_STREAM_IDLE_TIMEOUT_MS_ENV} for them or whenever no explicit value is active. Set the active value to 0 to disable it.`
1024
1065
  );
1025
1066
  this.idleMs = idleMs;
1026
1067
  this.chunksReceived = chunksReceived;
@@ -1617,6 +1658,9 @@ var ContentGenerationPipeline = class {
1617
1658
  if (isDeepSeekHostname(this.contentGeneratorConfig)) {
1618
1659
  typed2["thinking"] = { type: "disabled" };
1619
1660
  }
1661
+ if (!thinkingMandatory && isOpenRouterHostname(this.contentGeneratorConfig)) {
1662
+ typed2["reasoning"] = { enabled: false };
1663
+ }
1620
1664
  }
1621
1665
  if (thinkingMandatory) {
1622
1666
  const typed2 = providerRequest;
@@ -1939,25 +1983,6 @@ var OpenAIContentGenerator = class {
1939
1983
  async generateContentStream(request, userPromptId) {
1940
1984
  return this.pipeline.executeStream(request, userPromptId);
1941
1985
  }
1942
- async countTokens(request) {
1943
- try {
1944
- const estimator = new RequestTokenizer();
1945
- const result = await estimator.calculateTokens(request);
1946
- return {
1947
- totalTokens: result.totalTokens
1948
- };
1949
- } catch (error) {
1950
- debugLogger5.warn(
1951
- "Failed to calculate tokens with new tokenizer, falling back to simple method:",
1952
- error
1953
- );
1954
- const content = JSON.stringify(request.contents);
1955
- const totalTokens = Math.ceil(content.length / 4);
1956
- return {
1957
- totalTokens
1958
- };
1959
- }
1960
- }
1961
1986
  async embedContent(request) {
1962
1987
  let text = "";
1963
1988
  if (Array.isArray(request.contents)) {
@@ -2000,9 +2025,6 @@ var OpenAIContentGenerator = class {
2000
2025
  );
2001
2026
  }
2002
2027
  }
2003
- useSummarizedThinking() {
2004
- return false;
2005
- }
2006
2028
  };
2007
2029
 
2008
2030
  // packages/core/src/core/openaiContentGenerator/index.ts
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  AuthType
5
- } from "./chunk-2E3V7G6Y.js";
5
+ } from "./chunk-PPKZ7JOE.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";
@@ -13,6 +13,10 @@ import {
13
13
  // packages/core/src/utils/runtimeModelPrefix.ts
14
14
  init_esbuild_shims();
15
15
  var RUNTIME_SNAPSHOT_PREFIX = "$runtime|";
16
+ function buildRuntimeSnapshotId(authType, modelId) {
17
+ return `${RUNTIME_SNAPSHOT_PREFIX}${authType}|${modelId}`;
18
+ }
19
+ __name(buildRuntimeSnapshotId, "buildRuntimeSnapshotId");
16
20
  function stripRuntimeSnapshotPrefix(modelId) {
17
21
  let id = modelId;
18
22
  while (id.startsWith(RUNTIME_SNAPSHOT_PREFIX)) {
@@ -110,6 +114,7 @@ __name(resolveModelIdSelector, "resolveModelIdSelector");
110
114
 
111
115
  export {
112
116
  RUNTIME_SNAPSHOT_PREFIX,
117
+ buildRuntimeSnapshotId,
113
118
  stripRuntimeSnapshotPrefix,
114
119
  resolveModelId,
115
120
  buildModelIdContext