@qwen-code/qwen-code 0.21.6 → 0.21.7-nightly.20260808.4ec0371e6

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 (323) hide show
  1. package/bundled/qc-helper/docs/configuration/settings.md +50 -31
  2. package/bundled/qc-helper/docs/features/channels/dingtalk.md +41 -3
  3. package/bundled/qc-helper/docs/features/channels/feishu.md +13 -2
  4. package/bundled/qc-helper/docs/features/channels/github.md +13 -11
  5. package/bundled/qc-helper/docs/features/channels/gitlab.md +13 -11
  6. package/bundled/qc-helper/docs/features/channels/overview.md +49 -31
  7. package/bundled/qc-helper/docs/features/channels/plugins.md +2 -2
  8. package/bundled/qc-helper/docs/features/channels/qqbot.md +4 -2
  9. package/bundled/qc-helper/docs/features/channels/telegram.md +4 -2
  10. package/bundled/qc-helper/docs/features/channels/wecom.md +1 -1
  11. package/bundled/qc-helper/docs/features/code-review.md +31 -0
  12. package/bundled/qc-helper/docs/features/hooks.md +2 -0
  13. package/bundled/qc-helper/docs/qwen-serve.md +4 -1
  14. package/bundled/review/SKILL.md +52 -16
  15. package/chunks/{MaxSizedBox-2HFKP4LI.js → MaxSizedBox-COZBVNCI.js} +42 -41
  16. package/chunks/{StandaloneSessionPicker-RBV72M5N.js → StandaloneSessionPicker-3OF2FS6S.js} +59 -57
  17. package/chunks/{acpAgent-WO6JFCVQ.js → acpAgent-3JCJ6KWG.js} +236 -185
  18. package/chunks/{agent-AHGLYNZ4.js → agent-DBSC47CD.js} +39 -38
  19. package/chunks/{agent-headless-NTXKKGRO.js → agent-headless-ZJHZ7I3S.js} +39 -38
  20. package/chunks/{anthropicContentGenerator-3CAHEZBM.js → anthropicContentGenerator-SSFE2753.js} +15 -15
  21. package/chunks/{artifact-tool-RROCCJDA.js → artifact-tool-N652YE4L.js} +2 -2
  22. package/chunks/{askUserQuestion-2EPPBPUZ.js → askUserQuestion-ONW74PKJ.js} +2 -2
  23. package/chunks/{bridge-RPAU64CA.js → bridge-NFBYT4ZI.js} +43 -42
  24. package/chunks/{channel-management-service-IGEUOVRT.js → channel-management-service-LXSJXQGM.js} +19 -10
  25. package/chunks/{channel-settings-store-ON64MF7G.js → channel-settings-store-LABKDKSI.js} +46 -45
  26. package/chunks/{channel-worker-group-JWQK224X.js → channel-worker-group-MTW2AGT3.js} +4 -4
  27. package/chunks/{channel-worker-manager-77E3OXRQ.js → channel-worker-manager-UU6PTQSI.js} +4 -4
  28. package/chunks/{channel-worker-supervisor-62YWUGP2.js → channel-worker-supervisor-5SRD24FG.js} +3 -3
  29. package/chunks/{chunk-XC656O42.js → chunk-22NBYCPD.js} +3 -3
  30. package/chunks/{chunk-K2B3X3E7.js → chunk-26ISE5EG.js} +4 -4
  31. package/chunks/{chunk-Z7JILXGX.js → chunk-2UUMVNYT.js} +3 -3
  32. package/chunks/{chunk-ACZRB7AD.js → chunk-3ARO4N5G.js} +3 -3
  33. package/chunks/{chunk-CJ5WLD5Y.js → chunk-3HS6Y4UA.js} +96 -22
  34. package/chunks/{chunk-MBEMTXQT.js → chunk-3K7FH2KQ.js} +1 -32
  35. package/chunks/{chunk-QYPT3QUD.js → chunk-3ULCB3NE.js} +3 -3
  36. package/chunks/{chunk-IMOQO6YL.js → chunk-4Q6N3SNL.js} +1 -1
  37. package/chunks/{chunk-3UOLYNTF.js → chunk-4QJJHIZ5.js} +23 -14
  38. package/chunks/{chunk-VGFPFM4U.js → chunk-5PGKKSO6.js} +42 -16
  39. package/chunks/{chunk-NGJOAKJY.js → chunk-5YT3Y33M.js} +3 -3
  40. package/chunks/{chunk-T4JSA7KU.js → chunk-64YLXLMY.js} +3 -3
  41. package/chunks/{chunk-5L6CQ4ZU.js → chunk-6M26GBKX.js} +2 -2
  42. package/chunks/{chunk-ZPPP6VCL.js → chunk-6ZRFAKXK.js} +1 -1
  43. package/chunks/{chunk-OP2OHZ7K.js → chunk-764F335K.js} +18 -9
  44. package/chunks/{chunk-PPUOYL77.js → chunk-77WOUGCA.js} +53 -22
  45. package/chunks/{chunk-33FNCQSY.js → chunk-7MH4J33A.js} +2 -2
  46. package/chunks/{chunk-S7CV4KO6.js → chunk-AB4A73VL.js} +2 -2
  47. package/chunks/{chunk-O7V7N4G7.js → chunk-ACHMWGC5.js} +198 -35
  48. package/chunks/{chunk-NKSF7HYF.js → chunk-AG3P2RES.js} +1 -1
  49. package/chunks/{chunk-6PEXNQTX.js → chunk-ALFTV7GA.js} +26 -2
  50. package/chunks/{chunk-JELIWHXD.js → chunk-AOHJKPKL.js} +1 -1
  51. package/chunks/{chunk-XA4TMLFN.js → chunk-APMRLB2H.js} +580 -394
  52. package/chunks/{chunk-75QMRMO7.js → chunk-APNNM3JC.js} +3 -3
  53. package/chunks/{chunk-GLNBDYUX.js → chunk-AXMWHKXA.js} +6 -2
  54. package/chunks/{chunk-VNQCPBC2.js → chunk-B23P3YWE.js} +3 -3
  55. package/chunks/{chunk-H36SETQS.js → chunk-B2GJNDTV.js} +1 -1
  56. package/chunks/{chunk-Q5RM32DR.js → chunk-BCMJPTXV.js} +1 -1
  57. package/chunks/{chunk-A4VTILZT.js → chunk-BFSQBXHV.js} +714 -398
  58. package/chunks/{chunk-QMBEW7EW.js → chunk-BGG4MBYD.js} +2 -2
  59. package/chunks/{chunk-SLSWFHDF.js → chunk-BJKFFPX2.js} +4 -4
  60. package/chunks/{chunk-N2GJU6KI.js → chunk-BN3OROB3.js} +12 -12
  61. package/chunks/chunk-CE5UCTKO.js +3508 -0
  62. package/chunks/{chunk-2UISUFHQ.js → chunk-CJXIIILK.js} +3 -3
  63. package/chunks/{chunk-WK4TJUEA.js → chunk-CKASRHZI.js} +1 -1
  64. package/chunks/chunk-CPG6P4GG.js +82 -0
  65. package/chunks/{chunk-KKN2IE7Q.js → chunk-CTJLZLB5.js} +1 -1
  66. package/chunks/{chunk-DIEFUBV6.js → chunk-DIWZNWZT.js} +205 -35
  67. package/chunks/{chunk-CA4UIDFU.js → chunk-DPH3MUAP.js} +1 -1
  68. package/chunks/{chunk-4LKVQFHM.js → chunk-DREZZAZM.js} +2 -2
  69. package/chunks/{chunk-2DNKEBXY.js → chunk-EI3HZX6C.js} +1 -1
  70. package/chunks/{chunk-U25CMJYY.js → chunk-EKPKKXY2.js} +1 -1
  71. package/chunks/{chunk-432XCUHF.js → chunk-EQL65XGA.js} +1 -1
  72. package/chunks/{chunk-TYERNYH4.js → chunk-EUNWC2VS.js} +2 -2
  73. package/chunks/{chunk-4JH77A2U.js → chunk-EZ53KMUN.js} +1 -1
  74. package/chunks/{chunk-HY25ULVN.js → chunk-F3LPXDJP.js} +157 -56
  75. package/chunks/{chunk-D3UEZIQH.js → chunk-FJ6YHWHZ.js} +2 -2
  76. package/chunks/{chunk-UH7Z7Y45.js → chunk-FOGU3LJX.js} +1 -1
  77. package/chunks/{chunk-E4WHKETF.js → chunk-FVKHVJZQ.js} +2 -49
  78. package/chunks/{chunk-YZQTA3ID.js → chunk-GDXET5XU.js} +31 -3396
  79. package/chunks/{chunk-A5YZ3FA2.js → chunk-GM463R2B.js} +1 -1
  80. package/chunks/{chunk-MOHAWIAW.js → chunk-GNPNYXJB.js} +2 -2
  81. package/chunks/{chunk-SUKEUUAA.js → chunk-GUFY6D3E.js} +1 -1
  82. package/chunks/{chunk-FZFP7RZI.js → chunk-H2352CX2.js} +3 -3
  83. package/chunks/{chunk-GWRHVJY2.js → chunk-HKCYGZZ4.js} +22 -22
  84. package/chunks/{chunk-3PRJYMXC.js → chunk-HUWENAHO.js} +1 -1
  85. package/chunks/{chunk-G5NNWEYE.js → chunk-HY2INPTA.js} +4 -4
  86. package/chunks/{chunk-WVAESIM6.js → chunk-IA7TGCN2.js} +4 -4
  87. package/chunks/{chunk-HU5TUALO.js → chunk-IIJEYBNH.js} +3 -3
  88. package/chunks/{chunk-XM2O73NC.js → chunk-IMK3SJ43.js} +5703 -4343
  89. package/chunks/{chunk-4S4OEQ6U.js → chunk-J6SZID63.js} +2 -2
  90. package/chunks/{chunk-OWSW7EYP.js → chunk-JACAHYEN.js} +7 -7
  91. package/chunks/{chunk-R5RBXLNC.js → chunk-JRIJOZXO.js} +5 -5
  92. package/chunks/{chunk-SQOMTWQT.js → chunk-JSJTZ6GO.js} +4 -4
  93. package/chunks/{chunk-VWOVHOTT.js → chunk-KJZ26VBX.js} +1 -1
  94. package/chunks/{chunk-BFHXDAR7.js → chunk-KKBPOU75.js} +1 -1
  95. package/chunks/{chunk-TGGEZINK.js → chunk-KKRGVSHC.js} +7 -7
  96. package/chunks/{chunk-RK2EE3T7.js → chunk-KPMB4JEZ.js} +4 -4
  97. package/chunks/{chunk-MKVZE4ZJ.js → chunk-KTJFU7RT.js} +3 -2
  98. package/chunks/{chunk-MGSSJT27.js → chunk-L4N6TIP7.js} +5 -3
  99. package/chunks/{chunk-U4AF3QLU.js → chunk-L4OW63GW.js} +8 -8
  100. package/chunks/{chunk-C4CBJQKY.js → chunk-LDUGDB5H.js} +1 -1
  101. package/chunks/{chunk-W5DXUTXD.js → chunk-LDY4J4G6.js} +8 -8
  102. package/chunks/{chunk-GK2H5GRC.js → chunk-LMEIS6WW.js} +16 -6
  103. package/chunks/{chunk-6O5DVH27.js → chunk-M6HMMKVG.js} +1 -1
  104. package/chunks/{chunk-TOGZTG4X.js → chunk-MIA37QO3.js} +2 -2
  105. package/chunks/{chunk-536SWZTA.js → chunk-MV7VUCIG.js} +4 -4
  106. package/chunks/{chunk-T5U6IM4C.js → chunk-MVUQRLOH.js} +3 -3
  107. package/chunks/{chunk-GLWP3FDB.js → chunk-MZSJ43WV.js} +31 -2
  108. package/chunks/{chunk-UGTWD35F.js → chunk-NLREQJFK.js} +1 -1
  109. package/chunks/{chunk-RFUHDCNF.js → chunk-O7VQ3F22.js} +1 -1
  110. package/chunks/{chunk-3RXUYQJI.js → chunk-OIVKILPI.js} +49 -0
  111. package/chunks/{chunk-LBWNSLJK.js → chunk-ONSZH6VM.js} +2 -2
  112. package/chunks/{chunk-4WTAQEHV.js → chunk-OQTXYMKW.js} +3 -3
  113. package/chunks/{chunk-DYA25Y7U.js → chunk-OWMAZHIX.js} +1 -1
  114. package/chunks/{chunk-LAAFLUQV.js → chunk-P74TZRXD.js} +2 -2
  115. package/chunks/{chunk-BOGOR4HB.js → chunk-P7HUJDBZ.js} +7 -7
  116. package/chunks/chunk-PJRW65JO.js +107 -0
  117. package/chunks/{chunk-D7D7RXIJ.js → chunk-PYQADEFD.js} +6 -1
  118. package/chunks/{chunk-WO2B5E5B.js → chunk-Q3JQ7OSU.js} +1 -1
  119. package/chunks/{chunk-3LZKY4V4.js → chunk-QKJT5K4Q.js} +5 -5
  120. package/chunks/{chunk-OXX3FG2N.js → chunk-R2KZWK5Z.js} +3 -3
  121. package/chunks/{chunk-QZKYZCN3.js → chunk-REHWPCG2.js} +3 -3
  122. package/chunks/{chunk-2POQWYM6.js → chunk-RFA6VDCR.js} +3 -3
  123. package/chunks/{chunk-DIT4V3XH.js → chunk-RGTB44BO.js} +1 -1
  124. package/chunks/{chunk-SQC6K5HI.js → chunk-RPWVIXDB.js} +19 -2
  125. package/chunks/{chunk-ODPXHGLL.js → chunk-RZMGG3HP.js} +2 -2
  126. package/chunks/{chunk-2AGOQ7QO.js → chunk-S6HYI3MF.js} +118 -6
  127. package/chunks/chunk-SAH4BD2J.js +92 -0
  128. package/chunks/{chunk-JE44IPH6.js → chunk-SDUDZNF4.js} +2 -2
  129. package/chunks/{chunk-YAVY33G4.js → chunk-SEZ556DZ.js} +1 -1
  130. package/chunks/chunk-SOORFWKY.js +155 -0
  131. package/chunks/{chunk-KHUA3NQV.js → chunk-TAOSTUHI.js} +2 -2
  132. package/chunks/{chunk-VSALQLT7.js → chunk-TSYIQDG7.js} +1 -1
  133. package/chunks/{chunk-ULPQQSDN.js → chunk-TX3KSSDN.js} +3 -3
  134. package/chunks/{chunk-KVUBYJDM.js → chunk-TZEZYNYD.js} +1 -1
  135. package/chunks/{chunk-24ER7UV4.js → chunk-UFALT4LK.js} +1 -1
  136. package/chunks/{chunk-GESMMPAK.js → chunk-UKAYEQDU.js} +91 -63
  137. package/chunks/{chunk-XC2VAFVZ.js → chunk-UVX4Y6IN.js} +1 -1
  138. package/chunks/chunk-VDS2WYM5.js +244 -0
  139. package/chunks/{chunk-DVBEGGLG.js → chunk-VLFX3L3X.js} +10 -9
  140. package/chunks/{chunk-WNU7TZTO.js → chunk-VT3VNFVW.js} +3 -3
  141. package/chunks/{chunk-6WBWIPBF.js → chunk-WAUGQKUU.js} +4 -64
  142. package/chunks/{chunk-URN76TKR.js → chunk-WCG5O7IP.js} +2 -2
  143. package/chunks/{chunk-PX5DNLSA.js → chunk-XCG76UE6.js} +18 -10
  144. package/chunks/{chunk-TSERKWCX.js → chunk-XCWO3SMQ.js} +3 -3
  145. package/chunks/{chunk-5MJGUQU5.js → chunk-XIDHBXUI.js} +3 -3
  146. package/chunks/{chunk-3LGZEYOF.js → chunk-YHEEE624.js} +2 -2
  147. package/chunks/{chunk-SKNE3KQC.js → chunk-Z5ZAWED3.js} +19 -10
  148. package/chunks/{chunk-YMBOEAF4.js → chunk-Z6W3XDLN.js} +1 -1
  149. package/chunks/{chunk-EXCEQD22.js → chunk-ZKUJ4AO7.js} +4 -4
  150. package/chunks/{chunk-RHTTKJTP.js → chunk-ZQGHESAS.js} +1 -1
  151. package/chunks/{chunk-WUC6ZFXO.js → chunk-ZWBUH5UP.js} +1 -1
  152. package/chunks/{computer-use-5HXJ2P4X.js → computer-use-QLJ27OCZ.js} +39 -38
  153. package/chunks/{config-utils-VXD4SPVR.js → config-utils-KIEXWA4F.js} +4 -4
  154. package/chunks/{contextCommand-7BEHRX2H.js → contextCommand-JDTOJRBO.js} +41 -40
  155. package/chunks/{core-runtime-U4VJ5TIV.js → core-runtime-MZIAVYQC.js} +43 -42
  156. package/chunks/{create-sub-session-6EWLAZD5.js → create-sub-session-QIDZUOPU.js} +2 -2
  157. package/chunks/{create-sub-session-QZNQY332.js → create-sub-session-YBBCNSHE.js} +39 -38
  158. package/chunks/{cron-create-CCRIULJE.js → cron-create-VONA5JYY.js} +4 -4
  159. package/chunks/{cron-delete-FCFW6BGP.js → cron-delete-5JXSP2MI.js} +4 -4
  160. package/chunks/{cron-list-QDBVCHRF.js → cron-list-KE4F2CIR.js} +4 -4
  161. package/chunks/{daemon-YI5RY62O.js → daemon-SCTQMM7Z.js} +50 -2
  162. package/chunks/{daemon-status-provider-UJUGTDTL.js → daemon-status-provider-BZ7RD4ZJ.js} +47 -46
  163. package/chunks/{daemon-trust-policy-ZHDD5VYQ.js → daemon-trust-policy-2E4C3M7S.js} +45 -44
  164. package/chunks/{daemon-trust-policy-monitor-5SHYBDGA.js → daemon-trust-policy-monitor-UYLFH6RW.js} +45 -44
  165. package/chunks/{deferred-core-runtime-QWAEBTR5.js → deferred-core-runtime-6XZYMJZB.js} +39 -38
  166. package/chunks/{display-image-GUJA352B.js → display-image-NQRSIBXM.js} +4 -4
  167. package/chunks/{dist-SFQ34F4M.js → dist-26RK5XZO.js} +1 -1
  168. package/chunks/{dist-DPPHJAVL.js → dist-BATY7GI4.js} +187 -6
  169. package/chunks/{dist-A7H2KKUC.js → dist-HIACTZEK.js} +332 -113
  170. package/chunks/{dist-3BMEUGTG.js → dist-IRL7WA5Z.js} +1 -1
  171. package/chunks/{dist-HVBMEYWK.js → dist-KVISB2O2.js} +1 -1
  172. package/chunks/{dist-KS4O2NKE.js → dist-MBF3I5MX.js} +14 -8
  173. package/chunks/{dist-7JGAAQSC.js → dist-RCH3I7SS.js} +2 -2
  174. package/chunks/{dist-C5U4LJKW.js → dist-TUSWNE2I.js} +5 -4
  175. package/chunks/{earlyInputCapture-5BMSGKOI.js → earlyInputCapture-LATQCGDC.js} +40 -39
  176. package/chunks/{edit-IVQQVYYK.js → edit-72DP57CD.js} +39 -38
  177. package/chunks/{enter-worktree-P3DF2N6O.js → enter-worktree-B4FY2ZPP.js} +39 -38
  178. package/chunks/{enterPlanMode-KKTDVLAD.js → enterPlanMode-TQBWGCPL.js} +39 -38
  179. package/chunks/{environment-W5TRDM3G.js → environment-MOGZGZDS.js} +42 -41
  180. package/chunks/{errors-GJJB36IG.js → errors-PGON5GH7.js} +41 -40
  181. package/chunks/{exit-worktree-LV5RLOCU.js → exit-worktree-EYUD4YP2.js} +39 -38
  182. package/chunks/{exitPlanMode-TUGOB2LL.js → exitPlanMode-4Q7BSQXR.js} +39 -38
  183. package/chunks/{fast-path-2FU23PAQ.js → fast-path-WI7D5MER.js} +23 -3
  184. package/chunks/{fast-path-settings-WQJU2LAT.js → fast-path-settings-YBRL24DB.js} +2 -2
  185. package/chunks/{gemini-KDULDQPP.js → gemini-ZXURGM6Y.js} +87 -82
  186. package/chunks/{geminiContentGenerator-LOCFHNVA.js → geminiContentGenerator-EOODO75Y.js} +6 -6
  187. package/chunks/{glob-Z4NQFKWS.js → glob-QNRIUOS6.js} +39 -38
  188. package/chunks/{goal-tools-3AZKX5WQ.js → goal-tools-QSYW65HV.js} +3 -3
  189. package/chunks/{grep-Z67Z7EN6.js → grep-56MTW67B.js} +39 -38
  190. package/chunks/{handleAutoUpdate-DFUZE6I6.js → handleAutoUpdate-XGFIPVT4.js} +43 -42
  191. package/chunks/{i18n-R4FMZ7N2.js → i18n-RZB35L4B.js} +40 -39
  192. package/chunks/{image-gen-4CQJPQP5.js → image-gen-OE2EEKN3.js} +9 -9
  193. package/chunks/{initializer-DK672ZVE.js → initializer-YPVMTMKD.js} +46 -45
  194. package/chunks/{installationInfo-PO4Z3ES7.js → installationInfo-ZTMTMYNW.js} +40 -39
  195. package/chunks/{keychain-token-storage-7BT4TQ2A.js → keychain-token-storage-TVAMTNP7.js} +2 -2
  196. package/chunks/{list-QXQF6C53.js → list-NIW3WID5.js} +48 -47
  197. package/chunks/{list-agents-GC4BRET7.js → list-agents-Z4WABFDZ.js} +2 -2
  198. package/chunks/{loadedSettingsAdapter-4D7GUGW6.js → loadedSettingsAdapter-VSLILTOZ.js} +45 -44
  199. package/chunks/{loggingContentGenerator-2P3MNACM.js → loggingContentGenerator-KFZYVAGV.js} +17 -17
  200. package/chunks/{loop-wakeup-SQQSBMEY.js → loop-wakeup-UZ5RL5Y2.js} +5 -5
  201. package/chunks/{ls-63CC3NNX.js → ls-TVHDGIES.js} +4 -4
  202. package/chunks/{lsp-P6NVJVNT.js → lsp-CVN6OQPI.js} +2 -2
  203. package/chunks/{managed-npm-update-LWVJQTWO.js → managed-npm-update-WHTA2K5V.js} +40 -39
  204. package/chunks/{mcp-GHETAR6V.js → mcp-7KGK3CS3.js} +45 -44
  205. package/chunks/{monitor-4T7W4M6Q.js → monitor-FDWEJQWP.js} +39 -38
  206. package/chunks/nonInteractiveCli-2MVJ6TCS.js +155 -0
  207. package/chunks/{notebook-edit-OC2V7U5D.js → notebook-edit-ZUVK2XWE.js} +47 -38
  208. package/chunks/{openaiContentGenerator-RAJUFWQY.js → openaiContentGenerator-TNLWOPH5.js} +28 -21
  209. package/chunks/{pidfile-HVPYVRLS.js → pidfile-BB6SKPH2.js} +40 -39
  210. package/chunks/{process-registry-2CHQBXH5.js → process-registry-PMJOA5CO.js} +15 -0
  211. package/chunks/{processUtils-VIQ4JHVX.js → processUtils-WKHJOPDH.js} +2 -2
  212. package/chunks/{qwenContentGenerator-2QLCUFNZ.js → qwenContentGenerator-FZS2DYF7.js} +48 -46
  213. package/chunks/{qwenOAuth2-J2X3EN43.js → qwenOAuth2-UYMYRXBB.js} +9 -9
  214. package/chunks/{read-file-ZNAN2B26.js → read-file-FMTE6LPA.js} +10 -10
  215. package/chunks/{read-mcp-resource-RTSSEER5.js → read-mcp-resource-PZ4ZF6YL.js} +2 -2
  216. package/chunks/{record-artifact-E6AWQU2Z.js → record-artifact-P4HFMS7X.js} +3 -3
  217. package/chunks/{resumeHistoryUtils-RCY7AL5Y.js → resumeHistoryUtils-Z34RCZFF.js} +45 -43
  218. package/chunks/{ripGrep-C3KMLZM5.js → ripGrep-DUIYUZGM.js} +39 -38
  219. package/chunks/{run-qwen-serve-3JN75CIQ.js → run-qwen-serve-KOHHR3F4.js} +145 -62
  220. package/chunks/{runtime-VUA4WQYD.js → runtime-K4NTZSAU.js} +50 -49
  221. package/chunks/{scheduler-Z4IBXCOY.js → scheduler-6G6AMURS.js} +39 -38
  222. package/chunks/{sdk-exporters-http-IL2346MJ.js → sdk-exporters-http-KHAB5JSD.js} +2 -2
  223. package/chunks/{sdk-impl-SYKGVWOZ.js → sdk-impl-KD7FSTC3.js} +2 -2
  224. package/chunks/{send-message-TL6FIMMN.js → send-message-CAMSLG2L.js} +6 -5
  225. package/chunks/{serve-67T3P7XI.js → serve-NMG2TM5K.js} +46 -45
  226. package/chunks/{server-46ZO2CLV.js → server-FS7KDELS.js} +679 -360
  227. package/chunks/{session-B4IFAFC4.js → session-XZADUVKJ.js} +82 -81
  228. package/chunks/{settings-AI2BTBOZ.js → settings-G75R6FOA.js} +44 -43
  229. package/chunks/{shell-BKII3B6E.js → shell-3D3PMQHE.js} +39 -38
  230. package/chunks/{skill-6CFOWVGA.js → skill-TSEYMVQ2.js} +14 -14
  231. package/chunks/{skill-settings-6BFQWMW4.js → skill-settings-HJC2CPBJ.js} +44 -43
  232. package/chunks/{spawnChannel-FJXW35U7.js → spawnChannel-YWCN74G5.js} +41 -40
  233. package/chunks/{standalone-update-WVINHRNS.js → standalone-update-HLYOLX6V.js} +41 -40
  234. package/chunks/{startInteractiveUI-YE57CJ57.js → startInteractiveUI-ROUIQ5KU.js} +486 -187
  235. package/chunks/{syntheticOutput-BN7E626U.js → syntheticOutput-PEBJQYJV.js} +3 -3
  236. package/chunks/{task-create-Q727MXHJ.js → task-create-5NWCQSJF.js} +10 -9
  237. package/chunks/{task-list-G6KPQ5JT.js → task-list-53265TRZ.js} +5 -5
  238. package/chunks/{task-stop-TNXRNAL2.js → task-stop-FPCOIRYX.js} +2 -2
  239. package/chunks/{task-update-YB7PXO4R.js → task-update-5HN577LS.js} +10 -9
  240. package/chunks/{team-create-GNC7NFY6.js → team-create-OTP5SSB2.js} +39 -38
  241. package/chunks/{team-delete-GDO7H2T4.js → team-delete-MMQB4OSC.js} +5 -5
  242. package/chunks/{team-plan-approval-ECALJLIO.js → team-plan-approval-TQX5TMXU.js} +39 -38
  243. package/chunks/{terminal-image-renderer-II74TFVW.js → terminal-image-renderer-KF3GKNWW.js} +45 -39
  244. package/chunks/{theme-manager-2MGEDD22.js → theme-manager-XVWAAGAM.js} +40 -39
  245. package/chunks/{todoWrite-MHWHO5UO.js → todoWrite-JGV6VLOX.js} +4 -4
  246. package/chunks/{tool-search-S6LRRACA.js → tool-search-7N4D4O56.js} +14 -13
  247. package/chunks/{total-session-admission-7WVAWQPU.js → total-session-admission-ZQ4VKIRW.js} +43 -42
  248. package/chunks/{trustedFolders-NFS4KHO4.js → trustedFolders-4XYFPWVV.js} +40 -39
  249. package/chunks/{update-relaunch-Q5HLZ6UW.js → update-relaunch-L4GSBLUU.js} +5 -5
  250. package/chunks/{updateCheck-UOVZSTP7.js → updateCheck-PCUTVRFE.js} +42 -41
  251. package/chunks/{useAutoAcceptIndicator-PC6MOJCO.js → useAutoAcceptIndicator-WMXY7MND.js} +47 -46
  252. package/chunks/{validateNonInterActiveAuth-YMQP3ZM7.js → validateNonInterActiveAuth-5S3U2D56.js} +78 -77
  253. package/chunks/{version-T4AQFZJH.js → version-P57IQU2T.js} +1 -1
  254. package/chunks/{web-fetch-JQCJHEEX.js → web-fetch-5ZLLLCDD.js} +13 -13
  255. package/chunks/{web-search-QGZ2KY4G.js → web-search-NELKANTW.js} +10 -10
  256. package/chunks/web-shell-static-O73YPVVC.js +33 -0
  257. package/chunks/{workflow-YIT27YWZ.js → workflow-RXKBF3LO.js} +42 -40
  258. package/chunks/{workspace-providers-status-FIDZQ2PL.js → workspace-providers-status-HAEMNAWC.js} +48 -47
  259. package/chunks/{workspace-registration-store-RCSPE4DU.js → workspace-registration-store-U3U3YM6V.js} +1 -1
  260. package/chunks/{workspace-registry-5PEUCY6E.js → workspace-registry-ZFP33GVB.js} +43 -42
  261. package/chunks/{workspace-service-LANDVPL7.js → workspace-service-QMISJBMA.js} +50 -49
  262. package/chunks/{workspace-skills-status-2IQVJNIN.js → workspace-skills-status-K7EOUGXL.js} +46 -45
  263. package/chunks/{workspace-trust-reconciler-CZPZZCZC.js → workspace-trust-reconciler-BFPKULDZ.js} +50 -49
  264. package/chunks/{write-file-G5VNGCOG.js → write-file-2F76RRFE.js} +39 -38
  265. package/chunks/{zoom-image-6RBLD7X6.js → zoom-image-DPR22XWY.js} +10 -10
  266. package/cli.js +12 -12
  267. package/package.json +3 -3
  268. package/web-shell/assets/{arc-B-Vtkp1W.js → arc-CunFPPcQ.js} +1 -1
  269. package/web-shell/assets/{architectureDiagram-3BPJPVTR-qmTXIj64.js → architectureDiagram-3BPJPVTR-D3SqCgeM.js} +1 -1
  270. package/web-shell/assets/{blockDiagram-GPEHLZMM-ZlnXEtdP.js → blockDiagram-GPEHLZMM-CPRx90S_.js} +1 -1
  271. package/web-shell/assets/{c4Diagram-AAUBKEIU-Wyoirf6Z.js → c4Diagram-AAUBKEIU-CahP9Ue4.js} +1 -1
  272. package/web-shell/assets/channel-zbv7GWAw.js +1 -0
  273. package/web-shell/assets/{chunk-2J33WTMH-WQwbq9d8.js → chunk-2J33WTMH-DckIWZ12.js} +1 -1
  274. package/web-shell/assets/{chunk-4BX2VUAB-DQKnAXC4.js → chunk-4BX2VUAB-D2Kfctyn.js} +1 -1
  275. package/web-shell/assets/{chunk-55IACEB6-DIdgXNcO.js → chunk-55IACEB6-DkI11FTX.js} +1 -1
  276. package/web-shell/assets/{chunk-727SXJPM-CUwGOLEd.js → chunk-727SXJPM-rR-TSCIi.js} +1 -1
  277. package/web-shell/assets/{chunk-AQP2D5EJ-CCBGZFZ4.js → chunk-AQP2D5EJ-DFGKcGRO.js} +1 -1
  278. package/web-shell/assets/{chunk-FMBD7UC4-DMGXProk.js → chunk-FMBD7UC4-CjWqcTPE.js} +1 -1
  279. package/web-shell/assets/{chunk-ND2GUHAM-yejcFqsh.js → chunk-ND2GUHAM-RXe-87UV.js} +1 -1
  280. package/web-shell/assets/{chunk-QZHKN3VN-DxCyqTf7.js → chunk-QZHKN3VN-Dz0c_Yrn.js} +1 -1
  281. package/web-shell/assets/classDiagram-4FO5ZUOK-DSjLkJJZ.js +1 -0
  282. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-DSjLkJJZ.js +1 -0
  283. package/web-shell/assets/{cose-bilkent-S5V4N54A-DOrF3cg_.js → cose-bilkent-S5V4N54A-ZHF0-jvV.js} +1 -1
  284. package/web-shell/assets/{dagre-BM42HDAG-Be6CdYQ_.js → dagre-BM42HDAG-7Umz_ygJ.js} +1 -1
  285. package/web-shell/assets/{diagram-2AECGRRQ-B_Rjsft2.js → diagram-2AECGRRQ-DomN8nxq.js} +1 -1
  286. package/web-shell/assets/{diagram-5GNKFQAL-BvQbKSm1.js → diagram-5GNKFQAL-eebvj2OL.js} +1 -1
  287. package/web-shell/assets/{diagram-KO2AKTUF-BsdmMdpS.js → diagram-KO2AKTUF-IR1mmn9d.js} +1 -1
  288. package/web-shell/assets/{diagram-LMA3HP47-CrQlBaNr.js → diagram-LMA3HP47-CKysx5KF.js} +1 -1
  289. package/web-shell/assets/{diagram-OG6HWLK6-aB1MD_DL.js → diagram-OG6HWLK6-cBy5puHn.js} +1 -1
  290. package/web-shell/assets/{erDiagram-TEJ5UH35-F-eUUn9n.js → erDiagram-TEJ5UH35-B5RJagPG.js} +1 -1
  291. package/web-shell/assets/{flowDiagram-I6XJVG4X-DY_d8lUK.js → flowDiagram-I6XJVG4X-CfHgDmPg.js} +1 -1
  292. package/web-shell/assets/{ganttDiagram-6RSMTGT7-Dqu7KBPg.js → ganttDiagram-6RSMTGT7-DUfFF5nb.js} +1 -1
  293. package/web-shell/assets/{gitGraphDiagram-PVQCEYII-2IkU_VEj.js → gitGraphDiagram-PVQCEYII-M9dt57k5.js} +1 -1
  294. package/web-shell/assets/{index-QQlUCJGg.css → index-B8e-CkuC.css} +2 -2
  295. package/web-shell/assets/{index-BuSbqggh.js → index-CKjO4myk.js} +1 -1
  296. package/web-shell/assets/index-Dc-fTO0V.js +1768 -0
  297. package/web-shell/assets/{infoDiagram-5YYISTIA-C4orwzPw.js → infoDiagram-5YYISTIA-CTKMmIro.js} +1 -1
  298. package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-fXUEfef_.js → ishikawaDiagram-YF4QCWOH-DJIJDP4s.js} +1 -1
  299. package/web-shell/assets/{journeyDiagram-JHISSGLW-Bs0I1_J5.js → journeyDiagram-JHISSGLW-DgRnvn6S.js} +1 -1
  300. package/web-shell/assets/{kanban-definition-UN3LZRKU-BPRj1dw_.js → kanban-definition-UN3LZRKU-VUwO8yrg.js} +1 -1
  301. package/web-shell/assets/{linear-DFS6ZDpW.js → linear-BCvgV5I_.js} +1 -1
  302. package/web-shell/assets/{mermaid.core-CZxjWMaO.js → mermaid.core-mv_kVV6q.js} +5 -5
  303. package/web-shell/assets/{mindmap-definition-RKZ34NQL-Dsr3PmNs.js → mindmap-definition-RKZ34NQL-sfnjMlOd.js} +1 -1
  304. package/web-shell/assets/{pieDiagram-4H26LBE5-D5Ngpz5Y.js → pieDiagram-4H26LBE5-BlhICse4.js} +1 -1
  305. package/web-shell/assets/{quadrantDiagram-W4KKPZXB-WJK9I25z.js → quadrantDiagram-W4KKPZXB-BgTQzwen.js} +1 -1
  306. package/web-shell/assets/{requirementDiagram-4Y6WPE33-CmrYcwOH.js → requirementDiagram-4Y6WPE33-CZ-FTrrN.js} +1 -1
  307. package/web-shell/assets/{sankeyDiagram-5OEKKPKP-7SjCc4Mv.js → sankeyDiagram-5OEKKPKP-G5Wp_jn3.js} +1 -1
  308. package/web-shell/assets/{sequenceDiagram-3UESZ5HK-Dl9E0IRM.js → sequenceDiagram-3UESZ5HK-C8MKZ3i1.js} +1 -1
  309. package/web-shell/assets/{stateDiagram-AJRCARHV-CRRio7yV.js → stateDiagram-AJRCARHV-Bo0ZDm7y.js} +1 -1
  310. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-31TSCPcH.js +1 -0
  311. package/web-shell/assets/{timeline-definition-PNZ67QCA-DVyXjjfq.js → timeline-definition-PNZ67QCA-M3L9E01f.js} +1 -1
  312. package/web-shell/assets/{vennDiagram-CIIHVFJN-Nb2Lckzq.js → vennDiagram-CIIHVFJN-DD4eHCrm.js} +1 -1
  313. package/web-shell/assets/{wardley-L42UT6IY-DuL_otIP.js → wardley-L42UT6IY-DNEL_3g4.js} +1 -1
  314. package/web-shell/assets/{wardleyDiagram-YWT4CUSO-DVI9Q4Aa.js → wardleyDiagram-YWT4CUSO-q484OoqI.js} +1 -1
  315. package/web-shell/assets/{xychartDiagram-2RQKCTM6-BNjAm7KD.js → xychartDiagram-2RQKCTM6-4mcNt1Yg.js} +1 -1
  316. package/web-shell/index.html +2 -2
  317. package/chunks/chunk-EMYZIABH.js +0 -81
  318. package/chunks/nonInteractiveCli-P4UKCJFM.js +0 -154
  319. package/web-shell/assets/channel-DXaHnfjS.js +0 -1
  320. package/web-shell/assets/classDiagram-4FO5ZUOK-BigU82A0.js +0 -1
  321. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-BigU82A0.js +0 -1
  322. package/web-shell/assets/index-DrfC2e9s.js +0 -1768
  323. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-1atT7XaU.js +0 -1
@@ -2,11 +2,11 @@
2
2
  "use strict";
3
3
  import {
4
4
  createTask
5
- } from "./chunk-TSERKWCX.js";
5
+ } from "./chunk-XCWO3SMQ.js";
6
6
  import {
7
7
  getPlanRequiredTeammatePreApprovalMessage,
8
8
  isPlanRequiredTeammateAwaitingApproval
9
- } from "./chunk-6WBWIPBF.js";
9
+ } from "./chunk-WAUGQKUU.js";
10
10
  import {
11
11
  resolveActiveTeamName
12
12
  } from "./chunk-S6LOFUVP.js";
@@ -15,7 +15,7 @@ import {
15
15
  BaseToolInvocation,
16
16
  ToolDisplayNames,
17
17
  ToolNames
18
- } from "./chunk-D7D7RXIJ.js";
18
+ } from "./chunk-PYQADEFD.js";
19
19
  import {
20
20
  init_esbuild_shims
21
21
  } from "./chunk-5O2XNYP6.js";
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  atomicWriteFileSync
5
- } from "./chunk-UH7Z7Y45.js";
5
+ } from "./chunk-FOGU3LJX.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";
@@ -2,11 +2,11 @@
2
2
  "use strict";
3
3
  import {
4
4
  resolveChannelCwd
5
- } from "./chunk-VWOVHOTT.js";
5
+ } from "./chunk-KJZ26VBX.js";
6
6
  import {
7
7
  getPlugin,
8
8
  supportedTypes
9
- } from "./chunk-EMYZIABH.js";
9
+ } from "./chunk-VDS2WYM5.js";
10
10
  import {
11
11
  init_esbuild_shims
12
12
  } from "./chunk-5O2XNYP6.js";
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  preloadRuntimeFetchModule
5
- } from "./chunk-BFHXDAR7.js";
5
+ } from "./chunk-KKBPOU75.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";
@@ -407,18 +407,18 @@ async function createContentGenerator(generatorConfig, config, isInitialAuth) {
407
407
  try {
408
408
  if (authType === "openai" /* USE_OPENAI */) {
409
409
  loadBaseGenerator = /* @__PURE__ */ __name(async () => {
410
- const { createOpenAIContentGenerator } = await import("./openaiContentGenerator-RAJUFWQY.js");
410
+ const { createOpenAIContentGenerator } = await import("./openaiContentGenerator-TNLWOPH5.js");
411
411
  return createOpenAIContentGenerator(generatorConfig, config);
412
412
  }, "loadBaseGenerator");
413
413
  } else if (authType === "qwen-oauth" /* QWEN_OAUTH */) {
414
- const { getQwenOAuthClient: getQwenOauthClient } = await import("./qwenOAuth2-J2X3EN43.js");
414
+ const { getQwenOAuthClient: getQwenOauthClient } = await import("./qwenOAuth2-UYMYRXBB.js");
415
415
  try {
416
416
  const qwenClient = await getQwenOauthClient(
417
417
  config,
418
418
  isInitialAuth ? { requireCachedCredentials: true } : void 0
419
419
  );
420
420
  loadBaseGenerator = /* @__PURE__ */ __name(async () => {
421
- const { QwenContentGenerator } = await import("./qwenContentGenerator-2QLCUFNZ.js");
421
+ const { QwenContentGenerator } = await import("./qwenContentGenerator-FZS2DYF7.js");
422
422
  return new QwenContentGenerator(qwenClient, generatorConfig, config);
423
423
  }, "loadBaseGenerator");
424
424
  } catch (error) {
@@ -429,12 +429,12 @@ async function createContentGenerator(generatorConfig, config, isInitialAuth) {
429
429
  }
430
430
  } else if (authType === "anthropic" /* USE_ANTHROPIC */) {
431
431
  loadBaseGenerator = /* @__PURE__ */ __name(async () => {
432
- const { createAnthropicContentGenerator } = await import("./anthropicContentGenerator-3CAHEZBM.js");
432
+ const { createAnthropicContentGenerator } = await import("./anthropicContentGenerator-SSFE2753.js");
433
433
  return createAnthropicContentGenerator(generatorConfig, config);
434
434
  }, "loadBaseGenerator");
435
435
  } else if (authType === "gemini" /* USE_GEMINI */ || authType === "vertex-ai" /* USE_VERTEX_AI */) {
436
436
  loadBaseGenerator = /* @__PURE__ */ __name(async () => {
437
- const { createGeminiContentGenerator } = await import("./geminiContentGenerator-LOCFHNVA.js");
437
+ const { createGeminiContentGenerator } = await import("./geminiContentGenerator-EOODO75Y.js");
438
438
  return createGeminiContentGenerator(generatorConfig, config);
439
439
  }, "loadBaseGenerator");
440
440
  } else {
@@ -450,7 +450,7 @@ async function createContentGenerator(generatorConfig, config, isInitialAuth) {
450
450
  try {
451
451
  const [baseGenerator, { LoggingContentGenerator }] = await Promise.all([
452
452
  loadBaseGenerator(),
453
- import("./loggingContentGenerator-2P3MNACM.js")
453
+ import("./loggingContentGenerator-KFZYVAGV.js")
454
454
  ]);
455
455
  return new LoggingContentGenerator(
456
456
  baseGenerator,
@@ -0,0 +1,107 @@
1
+ // Force strict mode and setup for ESM
2
+ "use strict";
3
+ import {
4
+ MAX_TERMINAL_IMAGE_BYTES
5
+ } from "./chunk-PYQADEFD.js";
6
+ import {
7
+ init_esbuild_shims
8
+ } from "./chunk-5O2XNYP6.js";
9
+ import {
10
+ __name
11
+ } from "./chunk-J2S4EL5Y.js";
12
+
13
+ // packages/cli/src/ui/utils/inline-image-parts.ts
14
+ init_esbuild_shims();
15
+ var MAX_INLINE_IMAGES_PER_ITEM = 4;
16
+ var MAX_INLINE_IMAGE_ENCODED_LENGTH = Math.ceil(MAX_TERMINAL_IMAGE_BYTES * 4 / 3) + 4;
17
+ function formatInlineImageOverflow(count) {
18
+ return `[+${count} more ${count === 1 ? "image" : "images"}]`;
19
+ }
20
+ __name(formatInlineImageOverflow, "formatInlineImageOverflow");
21
+ function getInlineImageData(part) {
22
+ const inlineData = part.inlineData;
23
+ if (!inlineData?.mimeType?.trim().toLowerCase().startsWith("image/") || typeof inlineData.data !== "string" || inlineData.data.length === 0 || inlineData.data.length > MAX_INLINE_IMAGE_ENCODED_LENGTH) {
24
+ return null;
25
+ }
26
+ return {
27
+ data: inlineData.data,
28
+ mimeType: inlineData.mimeType
29
+ };
30
+ }
31
+ __name(getInlineImageData, "getInlineImageData");
32
+ function collectInlineImages(parts) {
33
+ if (!parts) {
34
+ return { images: [], omittedImageCount: 0 };
35
+ }
36
+ const images = [];
37
+ let omittedImageCount = 0;
38
+ const collectImage = /* @__PURE__ */ __name((part) => {
39
+ const image = getInlineImageData(part);
40
+ if (!image) {
41
+ return;
42
+ }
43
+ if (images.length < MAX_INLINE_IMAGES_PER_ITEM) {
44
+ images.push(image);
45
+ } else {
46
+ omittedImageCount++;
47
+ }
48
+ }, "collectImage");
49
+ for (const part of parts) {
50
+ collectImage(part);
51
+ for (const nested of part.functionResponse?.parts ?? []) {
52
+ collectImage(nested);
53
+ }
54
+ }
55
+ return { images, omittedImageCount };
56
+ }
57
+ __name(collectInlineImages, "collectInlineImages");
58
+ function extractInlineContentRuns(parts, textSeparator = "") {
59
+ if (!parts) {
60
+ return [];
61
+ }
62
+ const runs = [];
63
+ let textParts = [];
64
+ let displayedImageCount = 0;
65
+ let overflowRun = null;
66
+ const flushText = /* @__PURE__ */ __name(() => {
67
+ if (textParts.length === 0) return;
68
+ runs.push({ kind: "text", text: textParts.join(textSeparator) });
69
+ textParts = [];
70
+ }, "flushText");
71
+ for (const part of parts) {
72
+ if (part.thought) continue;
73
+ if (part.text) {
74
+ textParts.push(part.text);
75
+ }
76
+ const image = getInlineImageData(part);
77
+ if (image) {
78
+ flushText();
79
+ if (displayedImageCount < MAX_INLINE_IMAGES_PER_ITEM) {
80
+ runs.push({ kind: "image", image });
81
+ displayedImageCount++;
82
+ } else if (overflowRun) {
83
+ overflowRun.count++;
84
+ } else {
85
+ overflowRun = { kind: "omitted_images", count: 1 };
86
+ runs.push(overflowRun);
87
+ }
88
+ }
89
+ }
90
+ flushText();
91
+ return runs;
92
+ }
93
+ __name(extractInlineContentRuns, "extractInlineContentRuns");
94
+
95
+ export {
96
+ MAX_INLINE_IMAGES_PER_ITEM,
97
+ MAX_INLINE_IMAGE_ENCODED_LENGTH,
98
+ formatInlineImageOverflow,
99
+ getInlineImageData,
100
+ collectInlineImages,
101
+ extractInlineContentRuns
102
+ };
103
+ /**
104
+ * @license
105
+ * Copyright 2026 Qwen Team
106
+ * SPDX-License-Identifier: Apache-2.0
107
+ */
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  createDebugLogger
5
- } from "./chunk-3RXUYQJI.js";
5
+ } from "./chunk-OIVKILPI.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";
@@ -15686,6 +15686,10 @@ var ToolNamesMigration = {
15686
15686
  task: ToolNames.AGENT
15687
15687
  // Legacy name from agent tool (renamed from task)
15688
15688
  };
15689
+ function canonicalToolName(toolName) {
15690
+ return ToolNamesMigration[toolName] ?? toolName;
15691
+ }
15692
+ __name(canonicalToolName, "canonicalToolName");
15689
15693
  var ToolDisplayNamesMigration = {
15690
15694
  SearchFiles: ToolDisplayNames.GREP,
15691
15695
  // Old display name for Grep
@@ -15718,6 +15722,7 @@ export {
15718
15722
  ToolNames,
15719
15723
  ToolDisplayNames,
15720
15724
  ToolNamesMigration,
15725
+ canonicalToolName,
15721
15726
  ToolDisplayNamesMigration
15722
15727
  };
15723
15728
  /**
@@ -5,7 +5,7 @@ import {
5
5
  } from "./chunk-4NFY2S7N.js";
6
6
  import {
7
7
  createDebugLogger
8
- } from "./chunk-3RXUYQJI.js";
8
+ } from "./chunk-OIVKILPI.js";
9
9
  import {
10
10
  wrapper_default
11
11
  } from "./chunk-TYAMGABM.js";
@@ -2,21 +2,21 @@
2
2
  "use strict";
3
3
  import {
4
4
  appEvents
5
- } from "./chunk-XM2O73NC.js";
5
+ } from "./chunk-IMK3SJ43.js";
6
6
  import {
7
7
  assembleMcpServers,
8
8
  getPendingGatedMcpServers,
9
9
  getPromptableMcpServers
10
- } from "./chunk-3UOLYNTF.js";
10
+ } from "./chunk-4QJJHIZ5.js";
11
11
  import {
12
12
  getMCPServerStatus
13
- } from "./chunk-PX5DNLSA.js";
13
+ } from "./chunk-XCG76UE6.js";
14
14
  import {
15
15
  require_fast_deep_equal
16
- } from "./chunk-D7D7RXIJ.js";
16
+ } from "./chunk-PYQADEFD.js";
17
17
  import {
18
18
  createDebugLogger
19
- } from "./chunk-3RXUYQJI.js";
19
+ } from "./chunk-OIVKILPI.js";
20
20
  import {
21
21
  init_esbuild_shims
22
22
  } from "./chunk-5O2XNYP6.js";
@@ -5,16 +5,16 @@ import {
5
5
  } from "./chunk-DP3IHZGG.js";
6
6
  import {
7
7
  t
8
- } from "./chunk-KHUA3NQV.js";
8
+ } from "./chunk-TAOSTUHI.js";
9
9
  import {
10
10
  getNpmCliPath
11
- } from "./chunk-JE44IPH6.js";
11
+ } from "./chunk-SDUDZNF4.js";
12
12
  import {
13
13
  getPackageJson
14
14
  } from "./chunk-VJNBRRZG.js";
15
15
  import {
16
16
  createDebugLogger
17
- } from "./chunk-3RXUYQJI.js";
17
+ } from "./chunk-OIVKILPI.js";
18
18
  import {
19
19
  init_esbuild_shims
20
20
  } from "./chunk-5O2XNYP6.js";
@@ -2,13 +2,13 @@
2
2
  "use strict";
3
3
  import {
4
4
  getRateLimitErrorDetails
5
- } from "./chunk-6O5DVH27.js";
5
+ } from "./chunk-M6HMMKVG.js";
6
6
  import {
7
7
  isInternalPromptId
8
- } from "./chunk-PX5DNLSA.js";
8
+ } from "./chunk-XCG76UE6.js";
9
9
  import {
10
10
  createDebugLogger
11
- } from "./chunk-3RXUYQJI.js";
11
+ } from "./chunk-OIVKILPI.js";
12
12
  import {
13
13
  init_esbuild_shims
14
14
  } from "./chunk-5O2XNYP6.js";
@@ -8,13 +8,13 @@ import {
8
8
  } from "./chunk-3Z43GZUQ.js";
9
9
  import {
10
10
  t
11
- } from "./chunk-KHUA3NQV.js";
11
+ } from "./chunk-TAOSTUHI.js";
12
12
  import {
13
13
  So
14
- } from "./chunk-A4VTILZT.js";
14
+ } from "./chunk-BFSQBXHV.js";
15
15
  import {
16
16
  createDebugLogger
17
- } from "./chunk-3RXUYQJI.js";
17
+ } from "./chunk-OIVKILPI.js";
18
18
  import {
19
19
  init_esbuild_shims
20
20
  } from "./chunk-5O2XNYP6.js";
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  AuthType
5
- } from "./chunk-BOGOR4HB.js";
5
+ } from "./chunk-P7HUJDBZ.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  MissingCliEntryError
5
- } from "./chunk-UGTWD35F.js";
5
+ } from "./chunk-NLREQJFK.js";
6
6
  import {
7
7
  EXTERNAL_TOOL_GUARD_TOKEN_ENV
8
8
  } from "./chunk-BKHCW2BI.js";
@@ -190,6 +190,21 @@ var ProcessRegistry = class {
190
190
  get activeProcessCount() {
191
191
  return this.children.size;
192
192
  }
193
+ /**
194
+ * Children this registry has committed to: attached ones plus reservations
195
+ * that have not attached yet. Larger than {@link activeProcessCount}, and
196
+ * the right figure for admission — `reserve()` inserts its token
197
+ * synchronously before `spawn()`, so two racing spawns each see the other
198
+ * here, while neither is visible in `activeProcessCount` until its child is
199
+ * attached.
200
+ *
201
+ * A child leaves this count when it *exits*, not when `terminate()` starts,
202
+ * so a channel swap is counted twice while the old process is still winding
203
+ * down. That is deliberate: its memory is still resident.
204
+ */
205
+ get committedProcessCount() {
206
+ return this.children.size + this.reservations.size;
207
+ }
193
208
  };
194
209
  var TrackedChild = class {
195
210
  constructor(child, onExit) {
@@ -332,13 +347,15 @@ function createSpawnChannelFactory(options = {}) {
332
347
  childEnvOverrides
333
348
  );
334
349
  childEnv["QWEN_CODE_NO_RELAUNCH"] = "true";
335
- const memoryArgs = getAcpMemoryArgs();
350
+ childEnv["QWEN_CODE_SERVE"] = "1";
336
351
  const execArgs = process.execArgv.filter(
337
352
  (a) => !/^--inspect(-brk)?($|=)/.test(a)
338
353
  );
339
354
  const reservation = processRegistry.reserve();
340
355
  let child;
341
356
  try {
357
+ options.childHeapPolicy?.decide(processRegistry.committedProcessCount);
358
+ const memoryArgs = getAcpMemoryArgs();
342
359
  child = spawn(
343
360
  process.execPath,
344
361
  [
@@ -2,10 +2,10 @@
2
2
  "use strict";
3
3
  import {
4
4
  t
5
- } from "./chunk-KHUA3NQV.js";
5
+ } from "./chunk-TAOSTUHI.js";
6
6
  import {
7
7
  createDebugLogger
8
- } from "./chunk-3RXUYQJI.js";
8
+ } from "./chunk-OIVKILPI.js";
9
9
  import {
10
10
  writeStderrLine
11
11
  } from "./chunk-KGJGEEVR.js";
@@ -1,8 +1,11 @@
1
1
  // Force strict mode and setup for ESM
2
2
  "use strict";
3
+ import {
4
+ MAX_INLINE_IMAGE_ENCODED_LENGTH
5
+ } from "./chunk-PJRW65JO.js";
3
6
  import {
4
7
  MAX_TERMINAL_IMAGE_BYTES
5
- } from "./chunk-D7D7RXIJ.js";
8
+ } from "./chunk-PYQADEFD.js";
6
9
  import {
7
10
  init_esbuild_shims
8
11
  } from "./chunk-5O2XNYP6.js";
@@ -847,11 +850,15 @@ var MAX_PREVIEW_ROWS = 24;
847
850
  var ESTIMATED_CELL_WIDTH_PX = 8;
848
851
  var ESTIMATED_CELL_HEIGHT_PX = 16;
849
852
  var MAX_REASON_CHARS = 200;
853
+ var MAX_INLINE_IMAGE_DIMENSION = 1e6;
854
+ var MAX_INLINE_IMAGE_PIXELS = 64e6;
850
855
  var CMD_SHELL_METACHARACTERS = /[&|<>^%"!()\n\r]/;
851
856
  var RENDER_CACHE_LIMIT = 40;
852
857
  var RENDER_CACHE_BYTE_LIMIT = 32 * 1024 * 1024;
853
858
  var renderCache = /* @__PURE__ */ new Map();
854
859
  var renderCacheBytes = 0;
860
+ var INLINE_DECODE_CACHE_LIMIT = 4;
861
+ var inlineDecodeCache = /* @__PURE__ */ new Map();
855
862
  var TRANSMITTED_KEY_LIMIT = 256;
856
863
  var transmittedKeys = /* @__PURE__ */ new Set();
857
864
  function wasKittyImageWritten(key) {
@@ -896,6 +903,44 @@ function containsCmdShellMetacharacters(filePath) {
896
903
  return CMD_SHELL_METACHARACTERS.test(filePath);
897
904
  }
898
905
  __name(containsCmdShellMetacharacters, "containsCmdShellMetacharacters");
906
+ function prepareInlineTerminalImage({
907
+ data,
908
+ mimeType,
909
+ contentWidth,
910
+ availableTerminalHeight,
911
+ env = process.env,
912
+ stdoutIsTTY = process.stdout.isTTY,
913
+ disabled = false
914
+ }) {
915
+ const format = getImageFormat(mimeType);
916
+ const emptyFallback = format ? `[image: ${format}]` : "[image]";
917
+ if (format !== "png") {
918
+ return { fallbackText: emptyFallback, result: null };
919
+ }
920
+ const decoded = getDecodedInlinePng(data);
921
+ if (!decoded) {
922
+ return { fallbackText: emptyFallback, result: null };
923
+ }
924
+ const { png, size } = decoded;
925
+ const fallbackText = `[image: ${size.width}x${size.height} png]`;
926
+ if (disabled) {
927
+ return { fallbackText, result: null };
928
+ }
929
+ const shape = fitImageToTerminal2(size, contentWidth, availableTerminalHeight);
930
+ const useKitty = supportsKittyImageProtocol(env, stdoutIsTTY);
931
+ const chafaPath = useKitty ? null : findExecutable("chafa", env);
932
+ const cacheKey = createInlineRenderCacheKey(png, shape, useKitty, chafaPath);
933
+ const cached = getCachedRenderResult(cacheKey);
934
+ if (cached) {
935
+ return { fallbackText, result: cached };
936
+ }
937
+ const result = useKitty ? { ...renderKitty(png, shape), key: cacheKey } : renderWithChafa({ data: png }, shape, env, chafaPath);
938
+ if (result.kind !== "unavailable") {
939
+ rememberRenderResult(cacheKey, result);
940
+ }
941
+ return { fallbackText, result };
942
+ }
943
+ __name(prepareInlineTerminalImage, "prepareInlineTerminalImage");
899
944
  function renderTerminalImage({
900
945
  display,
901
946
  contentWidth,
@@ -959,7 +1004,7 @@ function renderTerminalImage({
959
1004
  reason: `Image exceeds the ${MAX_TERMINAL_IMAGE_BYTES} byte display limit.`
960
1005
  };
961
1006
  }
962
- const result = useKitty ? { ...renderKitty(png, shape), key: cacheKey } : renderWithChafa(display.filePath, shape, env, chafaPath);
1007
+ const result = useKitty ? { ...renderKitty(png, shape), key: cacheKey } : renderWithChafa({ filePath: display.filePath }, shape, env, chafaPath);
963
1008
  if (result.kind !== "unavailable") {
964
1009
  rememberRenderResult(cacheKey, result);
965
1010
  }
@@ -996,6 +1041,70 @@ function createRenderCacheKey(filePath, stat, shape, useKitty, chafaPath) {
996
1041
  ].join("\0");
997
1042
  }
998
1043
  __name(createRenderCacheKey, "createRenderCacheKey");
1044
+ function createInlineRenderCacheKey(png, shape, useKitty, chafaPath) {
1045
+ return [
1046
+ "inline",
1047
+ crypto2.createHash("sha256").update(png).digest("hex"),
1048
+ shape.widthCells,
1049
+ shape.rows,
1050
+ useKitty ? "kitty" : chafaPath ?? "none"
1051
+ ].join("\0");
1052
+ }
1053
+ __name(createInlineRenderCacheKey, "createInlineRenderCacheKey");
1054
+ function getImageFormat(mimeType) {
1055
+ const match = /^image\/([a-z0-9][a-z0-9.+-]*)$/.exec(
1056
+ mimeType.trim().toLowerCase()
1057
+ );
1058
+ return match?.[1] ?? null;
1059
+ }
1060
+ __name(getImageFormat, "getImageFormat");
1061
+ function decodeInlineImage(data) {
1062
+ if (data.length === 0 || data.length > MAX_INLINE_IMAGE_ENCODED_LENGTH) {
1063
+ return null;
1064
+ }
1065
+ const normalized = data.replace(/\s/g, "");
1066
+ if (normalized.length === 0 || normalized.length % 4 === 1 || !/^[A-Za-z0-9+/]*={0,2}$/.test(normalized)) {
1067
+ return null;
1068
+ }
1069
+ const decoded = Buffer.from(normalized, "base64");
1070
+ if (decoded.length === 0 || decoded.length > MAX_TERMINAL_IMAGE_BYTES || decoded.toString("base64").replace(/=+$/, "") !== normalized.replace(/=+$/, "")) {
1071
+ return null;
1072
+ }
1073
+ return decoded;
1074
+ }
1075
+ __name(decodeInlineImage, "decodeInlineImage");
1076
+ function getDecodedInlinePng(data) {
1077
+ const cached = inlineDecodeCache.get(data);
1078
+ if (cached) {
1079
+ inlineDecodeCache.delete(data);
1080
+ inlineDecodeCache.set(data, cached);
1081
+ return cached;
1082
+ }
1083
+ const png = decodeInlineImage(data);
1084
+ if (!png) return null;
1085
+ const size = readValidatedInlinePngSize(png);
1086
+ if (!size) return null;
1087
+ const decoded = { png, size };
1088
+ inlineDecodeCache.set(data, decoded);
1089
+ while (inlineDecodeCache.size > INLINE_DECODE_CACHE_LIMIT) {
1090
+ const oldest = inlineDecodeCache.keys().next().value;
1091
+ if (oldest === void 0) break;
1092
+ inlineDecodeCache.delete(oldest);
1093
+ }
1094
+ return decoded;
1095
+ }
1096
+ __name(getDecodedInlinePng, "getDecodedInlinePng");
1097
+ function readValidatedInlinePngSize(png) {
1098
+ if (png.length < 24 || png.readUInt32BE(8) !== 13 || png.subarray(12, 16).toString("ascii") !== "IHDR") {
1099
+ return null;
1100
+ }
1101
+ const size = readPngSize(png);
1102
+ if (!size || !Number.isInteger(size.width) || !Number.isInteger(size.height) || size.width <= 0 || size.height <= 0 || size.width > MAX_INLINE_IMAGE_DIMENSION || size.height > MAX_INLINE_IMAGE_DIMENSION || size.width * size.height > MAX_INLINE_IMAGE_PIXELS) {
1103
+ return null;
1104
+ }
1105
+ return size;
1106
+ }
1107
+ __name(readValidatedInlinePngSize, "readValidatedInlinePngSize");
999
1108
  function getCachedRenderResult(key) {
1000
1109
  const cached = renderCache.get(key);
1001
1110
  if (cached) {
@@ -1097,7 +1206,7 @@ function renderKitty(png, shape) {
1097
1206
  };
1098
1207
  }
1099
1208
  __name(renderKitty, "renderKitty");
1100
- function renderWithChafa(filePath, shape, env, chafaPath) {
1209
+ function renderWithChafa(source, shape, env, chafaPath) {
1101
1210
  if (!chafaPath) {
1102
1211
  return {
1103
1212
  kind: "unavailable",
@@ -1105,7 +1214,7 @@ function renderWithChafa(filePath, shape, env, chafaPath) {
1105
1214
  };
1106
1215
  }
1107
1216
  const useShell = shouldRunThroughShell(chafaPath);
1108
- if (useShell && containsCmdShellMetacharacters(filePath)) {
1217
+ if (useShell && "filePath" in source && containsCmdShellMetacharacters(source.filePath)) {
1109
1218
  return {
1110
1219
  kind: "unavailable",
1111
1220
  reason: "Image path contains characters that cannot be safely passed to the renderer on this platform."
@@ -1120,14 +1229,15 @@ function renderWithChafa(filePath, shape, env, chafaPath) {
1120
1229
  "--format=symbols",
1121
1230
  "--symbols=block",
1122
1231
  `--size=${shape.widthCells}x${shape.rows}`,
1123
- filePath
1232
+ "filePath" in source ? source.filePath : "-"
1124
1233
  ],
1125
1234
  {
1126
1235
  encoding: "utf8",
1127
1236
  env: createRendererChildEnv(env),
1128
1237
  shell: useShell,
1129
1238
  maxBuffer: CHAFA_MAX_OUTPUT_BYTES,
1130
- timeout: CHAFA_TIMEOUT_MS
1239
+ timeout: CHAFA_TIMEOUT_MS,
1240
+ ..."data" in source ? { input: source.data } : {}
1131
1241
  }
1132
1242
  );
1133
1243
  const lines = stdout.split(/\r?\n/).filter((line) => line.length > 0);
@@ -1150,12 +1260,14 @@ __name(firstLineBounded, "firstLineBounded");
1150
1260
 
1151
1261
  export {
1152
1262
  renderMermaidImageAsync,
1263
+ MAX_INLINE_IMAGE_PIXELS,
1153
1264
  TRANSMITTED_KEY_LIMIT,
1154
1265
  wasKittyImageWritten,
1155
1266
  markKittyImageWritten,
1156
1267
  supportsKittyImageProtocol,
1157
1268
  getTerminalImageRenderSupport,
1158
1269
  containsCmdShellMetacharacters,
1270
+ prepareInlineTerminalImage,
1159
1271
  renderTerminalImage
1160
1272
  };
1161
1273
  /**