@qwen-code/qwen-code 0.21.12 → 0.21.14-preview.0

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 (353) hide show
  1. package/bundled/qc-helper/docs/configuration/settings.md +13 -5
  2. package/bundled/qc-helper/docs/features/code-review.md +18 -13
  3. package/bundled/qc-helper/docs/features/commands.md +120 -8
  4. package/bundled/qc-helper/docs/features/sub-agents.md +2 -2
  5. package/bundled/qc-helper/docs/qwen-serve-deploy-local.md +1 -1
  6. package/bundled/qc-helper/docs/qwen-serve.md +20 -3
  7. package/bundled/review/SKILL.md +130 -82
  8. package/chunks/{MaxSizedBox-ZSJJ2D5S.js → MaxSizedBox-3PZITE2Y.js} +46 -45
  9. package/chunks/{StandaloneSessionPicker-WHUHQXSA.js → StandaloneSessionPicker-2C34PNGO.js} +68 -67
  10. package/chunks/{acp-startup-profiler-SVPUHLXV.js → acp-startup-profiler-HUYGO57H.js} +2 -2
  11. package/chunks/{acpAgent-7JOAESF5.js → acpAgent-3J4NHAYT.js} +1098 -366
  12. package/chunks/{agent-E6V3VXQR.js → agent-VFX4RPP5.js} +42 -41
  13. package/chunks/agent-headless-6WCF4J6N.js +88 -0
  14. package/chunks/{anthropicContentGenerator-YDT4EOKO.js → anthropicContentGenerator-M7XRJMSK.js} +8 -8
  15. package/chunks/{artifact-tool-4GCQQDZI.js → artifact-tool-GEXTOPVO.js} +2 -2
  16. package/chunks/{askUserQuestion-HZJJLR3Z.js → askUserQuestion-B33XRSB7.js} +2 -2
  17. package/chunks/{bridge-NPBV53UA.js → bridge-XR5ZSR7U.js} +46 -45
  18. package/chunks/{ca-4CQ6MYNQ.js → ca-SLZJD6QH.js} +8 -0
  19. package/chunks/{channel-management-service-OADNGQM3.js → channel-management-service-X6LCQUAD.js} +1 -1
  20. package/chunks/{channel-settings-store-4ODLJ4X2.js → channel-settings-store-Z7BUEUJE.js} +50 -49
  21. package/chunks/{channel-worker-group-IHBIHQ45.js → channel-worker-group-TJ35JDPE.js} +4 -4
  22. package/chunks/{channel-worker-manager-GEHYJ5AE.js → channel-worker-manager-G5LKWGOG.js} +4 -4
  23. package/chunks/{channel-worker-supervisor-ZJIIWM4I.js → channel-worker-supervisor-OEVWBHGT.js} +2 -2
  24. package/chunks/{chunk-47BGDLJG.js → chunk-25GHLMQQ.js} +42 -20
  25. package/chunks/{chunk-2ZWH53I4.js → chunk-2B2BF7P7.js} +3 -3
  26. package/chunks/chunk-2C6HJMG3.js +757 -0
  27. package/chunks/{chunk-WM3LUQLO.js → chunk-2JXDFSVE.js} +6 -6
  28. package/chunks/{chunk-OYWVIXHT.js → chunk-2M55OBEB.js} +1 -1
  29. package/chunks/{chunk-B4VN3VDH.js → chunk-2OA3JMRD.js} +5 -5
  30. package/chunks/{chunk-GZDWTBT3.js → chunk-3EZLLVDF.js} +2 -2
  31. package/chunks/chunk-3PWCMXIR.js +9169 -0
  32. package/chunks/{chunk-XAFIL4BD.js → chunk-4KQ2TI2K.js} +5 -5
  33. package/chunks/{chunk-OPVF453Q.js → chunk-4V4DFJBS.js} +3 -3
  34. package/chunks/{chunk-DPTMKFIH.js → chunk-4ZMS3JCR.js} +43 -12
  35. package/chunks/{chunk-6JEIRPLN.js → chunk-55PIFSP2.js} +2 -2
  36. package/chunks/{chunk-V6OBVAST.js → chunk-57KOJ2KZ.js} +1 -1
  37. package/chunks/{chunk-QLTATTPS.js → chunk-5CVO7YES.js} +1 -1
  38. package/chunks/{chunk-OK47XBYH.js → chunk-5IYS4WWR.js} +1 -1
  39. package/chunks/chunk-5MK45KZ3.js +492 -0
  40. package/chunks/{chunk-OWXFBIB6.js → chunk-6DFPR7CS.js} +1 -1
  41. package/chunks/{chunk-YIGGWOJE.js → chunk-6HY6IF3Z.js} +1 -1
  42. package/chunks/{chunk-XDRXOSAD.js → chunk-6LAPGPVA.js} +7 -5
  43. package/chunks/{chunk-Q4ZPYNIZ.js → chunk-6PDOHRN6.js} +4 -4
  44. package/chunks/{chunk-OWGRUU7F.js → chunk-6QFDQMQX.js} +1 -1
  45. package/chunks/{chunk-MUNA4QDC.js → chunk-6VDPDHIP.js} +29 -8
  46. package/chunks/{chunk-MDNUCDKZ.js → chunk-73G3Z7QS.js} +3 -3
  47. package/chunks/{chunk-VIFA5VJD.js → chunk-7OCSX7FC.js} +1 -1
  48. package/chunks/{chunk-D2RNVVH6.js → chunk-AKBOLMUF.js} +96 -18
  49. package/chunks/{chunk-S6TCTH4Z.js → chunk-AQBHJ2IG.js} +12 -12
  50. package/chunks/{chunk-WCEI6J56.js → chunk-BOJNAPUE.js} +2 -2
  51. package/chunks/{chunk-DAV4QFD5.js → chunk-BQWNIPTE.js} +44 -3
  52. package/chunks/{chunk-HOSVOUDK.js → chunk-BUQDLC2G.js} +3 -0
  53. package/chunks/{chunk-LUISTZXI.js → chunk-CH5OFRV7.js} +2 -2
  54. package/chunks/{chunk-G6MUFRNI.js → chunk-CHHABXPE.js} +1 -1
  55. package/chunks/{chunk-4AOVQPJU.js → chunk-CPHEPGAO.js} +1 -1
  56. package/chunks/{chunk-MS7GNABG.js → chunk-CXJHQVEK.js} +8 -0
  57. package/chunks/{chunk-K5IDV3PC.js → chunk-D34RDOLP.js} +12 -2
  58. package/chunks/{chunk-3GM5DLBI.js → chunk-DGJ7O55J.js} +3 -3
  59. package/chunks/{chunk-7KJPO7YH.js → chunk-DRKYT2TR.js} +2 -2
  60. package/chunks/{chunk-PZW46OTB.js → chunk-DVR7XKO5.js} +2 -2
  61. package/chunks/{chunk-CQ6IPDQW.js → chunk-DZCV3ZYU.js} +3 -3
  62. package/chunks/{chunk-ULNWG62W.js → chunk-E3DYKPYZ.js} +3 -3
  63. package/chunks/{chunk-YCHNAKC5.js → chunk-E5RS7LF4.js} +44 -13
  64. package/chunks/{chunk-4NFY2S7N.js → chunk-E7REAOTN.js} +15 -0
  65. package/chunks/chunk-EOCQCNV4.js +3887 -0
  66. package/chunks/{chunk-D7QGE3RT.js → chunk-FAAUPSY2.js} +1 -1
  67. package/chunks/{chunk-2IVYL3IF.js → chunk-FCTLOVYW.js} +1 -1
  68. package/chunks/{chunk-QPBFRWCP.js → chunk-FS5NGKWC.js} +3 -3
  69. package/chunks/{chunk-RQJA2YYO.js → chunk-G6FFFICU.js} +4 -4
  70. package/chunks/{chunk-36XKGB7E.js → chunk-GV3OIADZ.js} +3 -3
  71. package/chunks/{chunk-3AEKDXKT.js → chunk-H4A72DE5.js} +1 -1
  72. package/chunks/{chunk-IH4Z54RJ.js → chunk-HGPMOXLZ.js} +5 -5
  73. package/chunks/{chunk-DG4IQ6JG.js → chunk-I3N2Z25H.js} +3 -3
  74. package/chunks/{chunk-WI6GIM2M.js → chunk-I7NTHW4C.js} +2 -2
  75. package/chunks/{chunk-ZBB5EZZV.js → chunk-IA2K2HJE.js} +2 -2
  76. package/chunks/{chunk-IRSLAS4M.js → chunk-IOTPI425.js} +19 -11
  77. package/chunks/{chunk-ROIJYS5K.js → chunk-ISRHAMNL.js} +3 -3
  78. package/chunks/{chunk-CGM3E75C.js → chunk-J63PKMYA.js} +3 -3
  79. package/chunks/{chunk-PTSEETCO.js → chunk-J6YS7Z25.js} +107 -13
  80. package/chunks/{chunk-ZQUY3ZJU.js → chunk-K3CECR5C.js} +4 -4
  81. package/chunks/{chunk-QBJYSIQ4.js → chunk-K3LPAED5.js} +53 -12
  82. package/chunks/{chunk-FRHQQC2Z.js → chunk-KBXKR5R2.js} +1 -1
  83. package/chunks/{chunk-4KM2SYK5.js → chunk-KC4WMLZO.js} +1491 -10579
  84. package/chunks/{chunk-IX4PWUDU.js → chunk-KSGWAYNE.js} +14350 -8679
  85. package/chunks/{chunk-CPFFU46D.js → chunk-KV27IEHM.js} +1 -1
  86. package/chunks/{chunk-OR64CU46.js → chunk-L6CCLB3G.js} +1 -1
  87. package/chunks/{chunk-M6NDLY2T.js → chunk-LD5VIJ7S.js} +1 -1
  88. package/chunks/{chunk-GXTMEATA.js → chunk-LLR424CQ.js} +18 -15
  89. package/chunks/{chunk-RDVNSJQU.js → chunk-LRDB2OLB.js} +3 -3
  90. package/chunks/{chunk-LSRI3ND3.js → chunk-MA2HEDVP.js} +1 -1
  91. package/chunks/{chunk-DFVXU5YM.js → chunk-MCG53LWC.js} +1 -1
  92. package/chunks/{chunk-YBVVOSOH.js → chunk-MIPFDQAF.js} +1 -1
  93. package/chunks/{chunk-KRXPRVGL.js → chunk-MLXTMF7H.js} +0 -1
  94. package/chunks/{chunk-BSR5AXZR.js → chunk-NRPXRNN4.js} +1 -1
  95. package/chunks/{chunk-X5SLJOMF.js → chunk-NV6LW6FT.js} +4 -4
  96. package/chunks/{chunk-YILJKX2T.js → chunk-NVRMCWTP.js} +10 -6
  97. package/chunks/chunk-NYWWQ437.js +24 -0
  98. package/chunks/{chunk-AKBFSOC5.js → chunk-OBJYN4MX.js} +2 -2
  99. package/chunks/{chunk-NX4A23LY.js → chunk-OJOP26ET.js} +3 -3
  100. package/chunks/{chunk-3GDBZJD6.js → chunk-OLZSWUZR.js} +7 -7
  101. package/chunks/{chunk-K34GJQOZ.js → chunk-OO4FKHLO.js} +4 -4
  102. package/chunks/{chunk-BSSLSQEW.js → chunk-OSAFWBNR.js} +3 -3
  103. package/chunks/{chunk-TMFWI4RC.js → chunk-OVY67CYC.js} +1 -1
  104. package/chunks/{chunk-6ZKSO6K7.js → chunk-P425IVUK.js} +7 -7
  105. package/chunks/{chunk-4XA4QIUA.js → chunk-PMS7O6SA.js} +1 -1
  106. package/chunks/{chunk-LCX5B364.js → chunk-PPTM4O4R.js} +3 -3
  107. package/chunks/{chunk-VPV7WBVT.js → chunk-PT4I7NBA.js} +1 -1
  108. package/chunks/{chunk-3LDGOQXZ.js → chunk-QECSDJET.js} +6 -6
  109. package/chunks/{chunk-FMIH5KMQ.js → chunk-QEJZUXSK.js} +1 -1
  110. package/chunks/{chunk-NLFLYSS4.js → chunk-QFJ5JHQR.js} +1 -1
  111. package/chunks/{chunk-KWX56CHZ.js → chunk-QIHHJKXT.js} +7 -7
  112. package/chunks/{chunk-TDESMS7M.js → chunk-RAQBBGS6.js} +50 -70
  113. package/chunks/{chunk-KEC5FHLM.js → chunk-ROIYNTHJ.js} +3 -3
  114. package/chunks/{chunk-63FNZTWG.js → chunk-RWDNJBWN.js} +2 -2
  115. package/chunks/{chunk-56HVDG3M.js → chunk-RXHBTKMG.js} +6 -6
  116. package/chunks/{chunk-MAKIANMX.js → chunk-S6CXQKDD.js} +3 -3
  117. package/chunks/{chunk-CIDQISGM.js → chunk-SA7GBPEA.js} +5 -5
  118. package/chunks/{chunk-YX2RDGAL.js → chunk-SBRIBTYN.js} +1 -1
  119. package/chunks/{chunk-TTRH3RTQ.js → chunk-SG7ZP5PG.js} +4 -4
  120. package/chunks/{chunk-XH3KAV2G.js → chunk-SGLPDKRT.js} +3 -3
  121. package/chunks/{chunk-JRIVMPD2.js → chunk-SLILKYV2.js} +4 -4
  122. package/chunks/{chunk-NW2GIPG3.js → chunk-SNQZZ765.js} +2 -2
  123. package/chunks/{chunk-I7BT2MME.js → chunk-SR2LYSMT.js} +1 -1
  124. package/chunks/{chunk-TXP5NGG3.js → chunk-SXCOEJO4.js} +1 -1
  125. package/chunks/{chunk-MELQSJOU.js → chunk-TNPWODIZ.js} +1 -1
  126. package/chunks/{chunk-VLHR7F4E.js → chunk-U6RZRKNM.js} +247 -198
  127. package/chunks/{chunk-HTYND72J.js → chunk-UC67T4SF.js} +3 -1
  128. package/chunks/{chunk-HG3UBTJ4.js → chunk-UYDGFWIJ.js} +609 -23
  129. package/chunks/{chunk-6P5EXEBL.js → chunk-VGAAAMRD.js} +1126 -232
  130. package/chunks/{chunk-WDVDVWJ3.js → chunk-VHPMDDPT.js} +6 -6
  131. package/chunks/{chunk-H7TMVHKE.js → chunk-WGHHA7ZH.js} +1 -1
  132. package/chunks/{chunk-FQDCO3CJ.js → chunk-WP4WIUOJ.js} +7 -0
  133. package/chunks/{chunk-5RUCD4ED.js → chunk-WPVUOVYX.js} +3 -3
  134. package/chunks/{chunk-EJOGLSNJ.js → chunk-WSSH2BNO.js} +2 -2
  135. package/chunks/{chunk-5AFGJNY6.js → chunk-WVIABDXV.js} +4 -4
  136. package/chunks/chunk-WZAD4ZNJ.js +59 -0
  137. package/chunks/{chunk-62X3CM7Q.js → chunk-X3YA3YGG.js} +8 -5
  138. package/chunks/{chunk-EBPLKY6U.js → chunk-XC377TLN.js} +5483 -3168
  139. package/chunks/{chunk-KLOMACIR.js → chunk-XLLKYULU.js} +2 -2
  140. package/chunks/{chunk-QSD4UH74.js → chunk-XO24LIZC.js} +254 -56
  141. package/chunks/{chunk-N4SVADAV.js → chunk-XT4RKHVE.js} +5 -4
  142. package/chunks/{chunk-PVXEJB66.js → chunk-XUJNK7Y6.js} +1 -1
  143. package/chunks/{chunk-YBHUXEC6.js → chunk-YECDICIO.js} +3 -3
  144. package/chunks/{chunk-FA5K6YI2.js → chunk-YFPZ3NNC.js} +36 -4
  145. package/chunks/{chunk-46UV252V.js → chunk-YHC2EYYG.js} +35 -38
  146. package/chunks/{chunk-6SPD4Z7F.js → chunk-YIWH3MKK.js} +8 -3
  147. package/chunks/{chunk-ZMY2P4L3.js → chunk-YXC7JYUI.js} +4 -4
  148. package/chunks/{chunk-TB4YFWXG.js → chunk-YZHRN3CF.js} +2 -2
  149. package/chunks/{chunk-TQDFSQQF.js → chunk-YZOSNW4R.js} +1 -1
  150. package/chunks/{chunk-DD6O3ZRD.js → chunk-ZIGC3MUS.js} +3 -5
  151. package/chunks/{chunk-CZ4OWGQQ.js → chunk-ZXEAEZFN.js} +63 -19
  152. package/chunks/{computer-use-F4URV4TU.js → computer-use-ABECHPS5.js} +42 -41
  153. package/chunks/{config-utils-Z3OW3IQG.js → config-utils-NJQA5YLJ.js} +2 -2
  154. package/chunks/{contextCommand-IGSS2U5J.js → contextCommand-4CD5HZQQ.js} +44 -43
  155. package/chunks/{core-runtime-H5CZDN3A.js → core-runtime-2MOVQ4VX.js} +42 -41
  156. package/chunks/{create-sub-session-XT6DLYOE.js → create-sub-session-KRQULJE6.js} +2 -2
  157. package/chunks/{create-sub-session-PA7MFTHK.js → create-sub-session-L6NNHG5N.js} +46 -44
  158. package/chunks/{cron-create-2JZ2TWTF.js → cron-create-NFRZEOQX.js} +4 -4
  159. package/chunks/{cron-delete-CTPD2P26.js → cron-delete-GFVSVO7C.js} +4 -4
  160. package/chunks/{cron-list-V44KHAF6.js → cron-list-NRW34CLU.js} +4 -4
  161. package/chunks/{daemon-GED37WOX.js → daemon-XH76IXOC.js} +436 -29
  162. package/chunks/{daemon-git-worktree-guard-LZDCNJGV.js → daemon-git-worktree-guard-BLXFEG4Q.js} +44 -43
  163. package/chunks/daemon-status-provider-XGD3TPTO.js +103 -0
  164. package/chunks/daemon-trust-policy-THEGCWPO.js +100 -0
  165. package/chunks/{daemon-trust-policy-monitor-2K2YETMT.js → daemon-trust-policy-monitor-L7L4ACWQ.js} +49 -48
  166. package/chunks/{de-UBEBKG6V.js → de-AH4LGCF5.js} +8 -0
  167. package/chunks/{deferred-core-runtime-FKJ3OYE7.js → deferred-core-runtime-YQLHDUGE.js} +42 -41
  168. package/chunks/discovery-X2NV535U.js +27 -0
  169. package/chunks/{display-image-M2ELAVN4.js → display-image-ON3EYFRD.js} +4 -4
  170. package/chunks/{dist-WJ4BHIEW.js → dist-ESS34DHC.js} +72 -0
  171. package/chunks/{earlyInputCapture-WJBSJQUF.js → earlyInputCapture-PCTXNW7N.js} +43 -42
  172. package/chunks/{edit-X73LA4YO.js → edit-QX2EGWYW.js} +45 -43
  173. package/chunks/{en-X6YV7GME.js → en-MD3GP5YL.js} +8 -0
  174. package/chunks/{enter-worktree-CLRQTIVN.js → enter-worktree-EM3ZZ2SB.js} +42 -41
  175. package/chunks/{enterPlanMode-6BDYUQ5T.js → enterPlanMode-ESCMVAKB.js} +42 -41
  176. package/chunks/{environment-WOAJXJDJ.js → environment-TOJI56YV.js} +45 -44
  177. package/chunks/{errors-7OY5MXYY.js → errors-DZ5FWWEM.js} +44 -43
  178. package/chunks/{exit-worktree-TFFJXCRT.js → exit-worktree-KUIJ36XA.js} +42 -41
  179. package/chunks/exitPlanMode-NFVY54FV.js +86 -0
  180. package/chunks/{fast-path-QQLGC37M.js → fast-path-JLQXJSH6.js} +3 -3
  181. package/chunks/{fast-path-settings-LNOFM2YP.js → fast-path-settings-WHX3J3ZI.js} +2 -2
  182. package/chunks/{fr-VENTC2BS.js → fr-ZEML2JWS.js} +8 -0
  183. package/chunks/{gemini-VHE62IJL.js → gemini-I7OT4FWL.js} +92 -91
  184. package/chunks/{geminiContentGenerator-VSHIEGAQ.js → geminiContentGenerator-GRIS77NJ.js} +6 -6
  185. package/chunks/{glob-VMEEDDLO.js → glob-7TBUUV6R.js} +42 -41
  186. package/chunks/{goal-tools-M4UDAZXP.js → goal-tools-K5OHOJ6B.js} +56 -12
  187. package/chunks/{grep-F4UAR7KX.js → grep-743SYWCZ.js} +42 -41
  188. package/chunks/handleAutoUpdate-GAOYUYOD.js +95 -0
  189. package/chunks/{i18n-ETW24DHW.js → i18n-2ITURYX6.js} +43 -42
  190. package/chunks/{image-gen-YPK2AZT4.js → image-gen-4OIWDZD6.js} +10 -10
  191. package/chunks/initializer-OC7LWA6X.js +101 -0
  192. package/chunks/{installationInfo-P7OTIR4P.js → installationInfo-CO47QX3Q.js} +43 -42
  193. package/chunks/{ja-QHT4EQTO.js → ja-UM5B2HMD.js} +8 -0
  194. package/chunks/{keychain-token-storage-NKKCUHI2.js → keychain-token-storage-3XFJ5ZB2.js} +2 -2
  195. package/chunks/list-ATR2SFWT.js +104 -0
  196. package/chunks/{list-agents-O6WSY4CT.js → list-agents-OSVDFI6S.js} +2 -2
  197. package/chunks/loadedSettingsAdapter-NK4B7AGK.js +98 -0
  198. package/chunks/{loggingContentGenerator-J2J2AANS.js → loggingContentGenerator-3WXBU5TQ.js} +67 -41
  199. package/chunks/{loop-wakeup-GVQRMUKS.js → loop-wakeup-HWVUU5CF.js} +5 -5
  200. package/chunks/{ls-6W2D7TKU.js → ls-D3HUFHDP.js} +4 -4
  201. package/chunks/{lsp-NJ4KFBI2.js → lsp-3QDDJTCS.js} +2 -2
  202. package/chunks/{managed-npm-update-WMV5ITKU.js → managed-npm-update-4SSBWI2D.js} +43 -42
  203. package/chunks/mcp-C62AE2QI.js +98 -0
  204. package/chunks/{monitor-2MM23VDV.js → monitor-FEYEGASA.js} +42 -41
  205. package/chunks/nonInteractiveCli-AJEV5ZWO.js +165 -0
  206. package/chunks/{notebook-edit-QD4TRKLY.js → notebook-edit-SLLTEY4O.js} +46 -44
  207. package/chunks/{openaiContentGenerator-KLHSPVN2.js → openaiContentGenerator-WLUGIAPX.js} +27 -26
  208. package/chunks/{pidfile-RQGZBNXT.js → pidfile-TV2VWUMB.js} +43 -42
  209. package/chunks/{processUtils-HZZDA2VV.js → processUtils-3IN2ZR55.js} +2 -2
  210. package/chunks/proper-lockfile-3LHWIM44.js +8 -0
  211. package/chunks/{pt-VL3I5RNY.js → pt-5BMJ3XYH.js} +8 -0
  212. package/chunks/{qwenContentGenerator-T75M2Z3B.js → qwenContentGenerator-GSGRFPJE.js} +47 -46
  213. package/chunks/{qwenOAuth2-5QZU444W.js → qwenOAuth2-JLSTIS4Z.js} +9 -9
  214. package/chunks/{read-file-LOVUSBJC.js → read-file-6PZZRGZZ.js} +15 -13
  215. package/chunks/{read-mcp-resource-GWCP23WG.js → read-mcp-resource-XD54ZQMC.js} +2 -2
  216. package/chunks/{record-artifact-IYQDEYMV.js → record-artifact-GLU3UWBV.js} +5 -3
  217. package/chunks/{resumeHistoryUtils-LVKSSQII.js → resumeHistoryUtils-5GEWKOOO.js} +49 -48
  218. package/chunks/ripGrep-FX7GBGFN.js +86 -0
  219. package/chunks/{ru-4RCKL4PY.js → ru-6GL66ORV.js} +8 -0
  220. package/chunks/{run-qwen-serve-GZW7B4WK.js → run-qwen-serve-7RHU3NSV.js} +423 -212
  221. package/chunks/{runtime-MYRXEO2E.js → runtime-EPOXAMLP.js} +52 -51
  222. package/chunks/{scheduler-DPTPI6FW.js → scheduler-F4Y7ENVV.js} +44 -43
  223. package/chunks/{sdk-exporters-http-NHBYB5FZ.js → sdk-exporters-http-NC746HLT.js} +3 -3
  224. package/chunks/{sdk-impl-SK4P5WON.js → sdk-impl-YVL7BP6Y.js} +3 -3
  225. package/chunks/{send-message-O7FO63UK.js → send-message-TNBG5EVA.js} +7 -7
  226. package/chunks/{serve-XCG4XCDA.js → serve-LQV4TN5A.js} +49 -50
  227. package/chunks/{server-AWQHKXLG.js → server-IZCKLIYQ.js} +5042 -1725
  228. package/chunks/{session-P5FKNCNR.js → session-52ZGTDVB.js} +87 -85
  229. package/chunks/{settings-CSYVIP2R.js → settings-WCVB34HW.js} +48 -47
  230. package/chunks/{shell-EGTSUO2P.js → shell-33BIUBLH.js} +42 -41
  231. package/chunks/{skill-IFUD72GF.js → skill-IYVQ2QNK.js} +20 -18
  232. package/chunks/{skill-settings-YOE7LBHE.js → skill-settings-YG4ZS4OZ.js} +48 -47
  233. package/chunks/{spawnChannel-PQSZIOLY.js → spawnChannel-BLA4YT4W.js} +44 -43
  234. package/chunks/{standalone-update-RB2EGUSF.js → standalone-update-ALRIPWSM.js} +44 -43
  235. package/chunks/{startInteractiveUI-KMYUJ2MU.js → startInteractiveUI-PISBXWKA.js} +614 -294
  236. package/chunks/{syntheticOutput-DVHJMUGV.js → syntheticOutput-7GWFIDXT.js} +3 -3
  237. package/chunks/{task-create-4NC7PDI4.js → task-create-EILHJJB7.js} +11 -11
  238. package/chunks/{task-list-LBSRMOC7.js → task-list-WGJR6YL5.js} +21 -7
  239. package/chunks/{task-stop-YFNATTIM.js → task-stop-X37KYTKB.js} +2 -2
  240. package/chunks/{task-update-BPLM52GD.js → task-update-XZAHVXJ5.js} +86 -15
  241. package/chunks/{team-create-B6A6MJBT.js → team-create-CIQDCC6A.js} +43 -43
  242. package/chunks/{team-delete-MKYMYBFM.js → team-delete-UEP4QOOT.js} +6 -6
  243. package/chunks/{team-plan-approval-5WO3CXXU.js → team-plan-approval-664XCRB4.js} +42 -41
  244. package/chunks/{terminal-image-renderer-BTRE2GEU.js → terminal-image-renderer-TEBO6ONY.js} +44 -43
  245. package/chunks/theme-manager-3CIFH2JV.js +90 -0
  246. package/chunks/{todoWrite-K5K7NRE5.js → todoWrite-ATS62CAP.js} +4 -4
  247. package/chunks/{tool-search-QNBLXUGR.js → tool-search-IJX5JHJB.js} +19 -17
  248. package/chunks/{total-session-admission-N4E5SFBO.js → total-session-admission-XBK2NVRV.js} +46 -45
  249. package/chunks/{trustedFolders-MQS46LIU.js → trustedFolders-OOFNLRWK.js} +43 -42
  250. package/chunks/{update-relaunch-536KRL33.js → update-relaunch-EIG7EYAQ.js} +5 -5
  251. package/chunks/{updateCheck-QJI2SYWF.js → updateCheck-KYDCBLSF.js} +46 -45
  252. package/chunks/{useAutoAcceptIndicator-7QASHD46.js → useAutoAcceptIndicator-RFX3KNBN.js} +52 -51
  253. package/chunks/{validateNonInterActiveAuth-ZNRGWBLV.js → validateNonInterActiveAuth-MZXSAITU.js} +83 -81
  254. package/chunks/{version-DBEQAFRW.js → version-PJC6ZNXV.js} +1 -1
  255. package/chunks/{web-fetch-MBIVXKPE.js → web-fetch-XXICVGKQ.js} +21 -18
  256. package/chunks/{web-search-4LBIN6VF.js → web-search-LHPM6QWC.js} +9 -9
  257. package/chunks/{workflow-LNMA55HY.js → workflow-4CUO2BV7.js} +159 -57
  258. package/chunks/workspace-providers-status-G4MUGH3X.js +101 -0
  259. package/chunks/{workspace-registration-store-BGRKKIYR.js → workspace-registration-store-QMDMFWBE.js} +2 -2
  260. package/chunks/{workspace-registry-L4NCJ34K.js → workspace-registry-FKBB4MZK.js} +48 -46
  261. package/chunks/{workspace-service-LOXYKYTR.js → workspace-service-TIDTTA65.js} +55 -54
  262. package/chunks/workspace-skills-status-LBC2TZKM.js +101 -0
  263. package/chunks/{workspace-trust-reconciler-H36TCR2S.js → workspace-trust-reconciler-4KJ567XP.js} +58 -56
  264. package/chunks/{write-file-JJAY7JSP.js → write-file-R6LAEER5.js} +42 -41
  265. package/chunks/{zh-TW-SQ4HTSCW.js → zh-TW-LVLBK4KF.js} +8 -0
  266. package/chunks/{zh-LMSTK4WD.js → zh-UBMWS2BJ.js} +8 -0
  267. package/chunks/{zoom-image-4MVVVM7E.js → zoom-image-XLCK6DDK.js} +20 -17
  268. package/cli.js +13 -13
  269. package/locales/ca.js +13 -0
  270. package/locales/de.js +12 -0
  271. package/locales/en.js +11 -0
  272. package/locales/fr.js +13 -0
  273. package/locales/ja.js +13 -0
  274. package/locales/pt.js +12 -0
  275. package/locales/ru.js +12 -0
  276. package/locales/zh-TW.js +11 -0
  277. package/locales/zh.js +11 -0
  278. package/package.json +3 -3
  279. package/web-shell/assets/{arc-B-89zHN4.js → arc-DItbX0DI.js} +1 -1
  280. package/web-shell/assets/{architectureDiagram-3BPJPVTR-BkcOncHk.js → architectureDiagram-3BPJPVTR-CmnIlH8y.js} +1 -1
  281. package/web-shell/assets/{blockDiagram-GPEHLZMM-DQ4yboaF.js → blockDiagram-GPEHLZMM-pObnB9kw.js} +1 -1
  282. package/web-shell/assets/{c4Diagram-AAUBKEIU-C_8ZjPDI.js → c4Diagram-AAUBKEIU-BNBmMS0Y.js} +1 -1
  283. package/web-shell/assets/channel-hZnMfWA9.js +1 -0
  284. package/web-shell/assets/{chunk-2J33WTMH-naKVe1Bm.js → chunk-2J33WTMH-Dz4JBOO6.js} +1 -1
  285. package/web-shell/assets/{chunk-4BX2VUAB-DdoViKT2.js → chunk-4BX2VUAB-Cz2GnvAR.js} +1 -1
  286. package/web-shell/assets/{chunk-55IACEB6-DUDQZEwU.js → chunk-55IACEB6-CC6kOQYx.js} +1 -1
  287. package/web-shell/assets/{chunk-727SXJPM-BqpDTR5s.js → chunk-727SXJPM-Z4lY4gbh.js} +1 -1
  288. package/web-shell/assets/{chunk-AQP2D5EJ-CdmEknkT.js → chunk-AQP2D5EJ-Yz0hZr3D.js} +1 -1
  289. package/web-shell/assets/{chunk-FMBD7UC4-CH7fFTLB.js → chunk-FMBD7UC4-nKmTWTv9.js} +1 -1
  290. package/web-shell/assets/{chunk-ND2GUHAM-ObgSuFKF.js → chunk-ND2GUHAM-CjZz0f6Y.js} +1 -1
  291. package/web-shell/assets/{chunk-QZHKN3VN-D9fKdv_s.js → chunk-QZHKN3VN-Bab3FpuS.js} +1 -1
  292. package/web-shell/assets/classDiagram-4FO5ZUOK-BRnxm8DX.js +1 -0
  293. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-BRnxm8DX.js +1 -0
  294. package/web-shell/assets/{cose-bilkent-S5V4N54A-CvzATMx9.js → cose-bilkent-S5V4N54A-BuSAGFox.js} +1 -1
  295. package/web-shell/assets/{dagre-BM42HDAG-M_xU21QW.js → dagre-BM42HDAG-CRZXTg3g.js} +1 -1
  296. package/web-shell/assets/{diagram-2AECGRRQ-CNrl9sW1.js → diagram-2AECGRRQ-BFx1Ayrz.js} +1 -1
  297. package/web-shell/assets/{diagram-5GNKFQAL-CUweVT6T.js → diagram-5GNKFQAL-B2hMZ3gS.js} +1 -1
  298. package/web-shell/assets/{diagram-KO2AKTUF-D3n6Lxjo.js → diagram-KO2AKTUF-DKxAQLmc.js} +1 -1
  299. package/web-shell/assets/{diagram-LMA3HP47-0SeFPK4t.js → diagram-LMA3HP47-Bo1xGqVY.js} +1 -1
  300. package/web-shell/assets/{diagram-OG6HWLK6-DAgyEwge.js → diagram-OG6HWLK6-B9NG78d-.js} +1 -1
  301. package/web-shell/assets/{erDiagram-TEJ5UH35-CzxBBDIK.js → erDiagram-TEJ5UH35-DltQKiqQ.js} +1 -1
  302. package/web-shell/assets/{flowDiagram-I6XJVG4X-B0uj0jyo.js → flowDiagram-I6XJVG4X-5xXGmS4I.js} +1 -1
  303. package/web-shell/assets/{ganttDiagram-6RSMTGT7-DFzcj5km.js → ganttDiagram-6RSMTGT7-bhGL5n0l.js} +1 -1
  304. package/web-shell/assets/{gitGraphDiagram-PVQCEYII-DylJ_Fc9.js → gitGraphDiagram-PVQCEYII-ZYnz9hgh.js} +1 -1
  305. package/web-shell/assets/{index-BKSAnXU9.js → index-CBBeUArD.js} +1 -1
  306. package/web-shell/assets/index-CbgU-jUo.css +5 -0
  307. package/web-shell/assets/index-_nhzXqab.js +1750 -0
  308. package/web-shell/assets/{infoDiagram-5YYISTIA-BYMcJVMI.js → infoDiagram-5YYISTIA-Cg-jamQf.js} +1 -1
  309. package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-t1quI1S3.js → ishikawaDiagram-YF4QCWOH-CcmvKlyq.js} +1 -1
  310. package/web-shell/assets/{journeyDiagram-JHISSGLW-YM_QVUJm.js → journeyDiagram-JHISSGLW-BRsOQZp1.js} +1 -1
  311. package/web-shell/assets/{kanban-definition-UN3LZRKU-jw8OddK1.js → kanban-definition-UN3LZRKU-xW-dmEHK.js} +1 -1
  312. package/web-shell/assets/{linear-Dlr3RVuP.js → linear-ClBfEZH2.js} +1 -1
  313. package/web-shell/assets/{mermaid.core-CqGKzNzd.js → mermaid.core-D65NDkzc.js} +5 -5
  314. package/web-shell/assets/{mindmap-definition-RKZ34NQL-BqureoOS.js → mindmap-definition-RKZ34NQL-CyvFslYa.js} +1 -1
  315. package/web-shell/assets/{pieDiagram-4H26LBE5-Da20HkK1.js → pieDiagram-4H26LBE5-BwSefMyG.js} +1 -1
  316. package/web-shell/assets/{quadrantDiagram-W4KKPZXB-BsNlMvJy.js → quadrantDiagram-W4KKPZXB-GqBJspFS.js} +1 -1
  317. package/web-shell/assets/{requirementDiagram-4Y6WPE33-DzVCQCse.js → requirementDiagram-4Y6WPE33-B137PlTJ.js} +1 -1
  318. package/web-shell/assets/{sankeyDiagram-5OEKKPKP-BMo16voT.js → sankeyDiagram-5OEKKPKP-maHkkt8i.js} +1 -1
  319. package/web-shell/assets/{sequenceDiagram-3UESZ5HK-Bgi-pdHk.js → sequenceDiagram-3UESZ5HK-DJ1mRaG3.js} +1 -1
  320. package/web-shell/assets/{stateDiagram-AJRCARHV-xaPQXwGk.js → stateDiagram-AJRCARHV-aRmP7Q4i.js} +1 -1
  321. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-Db39gvZ_.js +1 -0
  322. package/web-shell/assets/{timeline-definition-PNZ67QCA-C_9RuvKG.js → timeline-definition-PNZ67QCA-CIQ3BRPA.js} +1 -1
  323. package/web-shell/assets/{vennDiagram-CIIHVFJN-Bgu6vdla.js → vennDiagram-CIIHVFJN-DR9VPd5h.js} +1 -1
  324. package/web-shell/assets/{wardley-L42UT6IY-CFTZ8IrX.js → wardley-L42UT6IY-ZcfIbT4D.js} +1 -1
  325. package/web-shell/assets/{wardleyDiagram-YWT4CUSO-BASW9Vmt.js → wardleyDiagram-YWT4CUSO-D0jgPi4T.js} +1 -1
  326. package/web-shell/assets/{xychartDiagram-2RQKCTM6--Nh-CD3F.js → xychartDiagram-2RQKCTM6-BGWU4s5o.js} +1 -1
  327. package/web-shell/index.html +2 -2
  328. package/chunks/agent-headless-OEQNFOMH.js +0 -87
  329. package/chunks/chunk-DEDESZDL.js +0 -358
  330. package/chunks/chunk-MPHPFVKK.js +0 -48
  331. package/chunks/chunk-UI5UGEF4.js +0 -3576
  332. package/chunks/daemon-status-provider-QYM57Z44.js +0 -102
  333. package/chunks/daemon-trust-policy-TSRVEYZR.js +0 -99
  334. package/chunks/discovery-XLHITE74.js +0 -220
  335. package/chunks/exitPlanMode-WDURQMIU.js +0 -85
  336. package/chunks/handleAutoUpdate-GN7Z6QAC.js +0 -94
  337. package/chunks/initializer-UA6KQ7MS.js +0 -100
  338. package/chunks/list-GRAMIQOT.js +0 -103
  339. package/chunks/loadedSettingsAdapter-5O2TDS3I.js +0 -97
  340. package/chunks/mcp-XLP33CAI.js +0 -97
  341. package/chunks/nonInteractiveCli-KTA5K6FS.js +0 -163
  342. package/chunks/ripGrep-ZJSHKB6H.js +0 -85
  343. package/chunks/theme-manager-XL2N5SBY.js +0 -89
  344. package/chunks/workspace-providers-status-PDDMI6ST.js +0 -100
  345. package/chunks/workspace-skills-status-IJ5FOQI6.js +0 -100
  346. package/web-shell/assets/channel-Du2WFns8.js +0 -1
  347. package/web-shell/assets/classDiagram-4FO5ZUOK-Zw0HafH6.js +0 -1
  348. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-Zw0HafH6.js +0 -1
  349. package/web-shell/assets/index-BIGQygTL.css +0 -5
  350. package/web-shell/assets/index-J7OMTqAN.js +0 -1789
  351. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-D5RqimXD.js +0 -1
  352. package/chunks/{chunk-SYHXR6WM.js → chunk-4W5U2TUT.js} +3 -3
  353. /package/chunks/{chunk-NTTBXH7U.js → chunk-UGK4K2N2.js} +0 -0
@@ -11,14 +11,14 @@ import {
11
11
  DEFAULT_TOOL_RESULTS_TOTAL_CHARS_THRESHOLD,
12
12
  DEFAULT_TRUNCATE_TOOL_OUTPUT_LINES,
13
13
  DEFAULT_TRUNCATE_TOOL_OUTPUT_THRESHOLD
14
- } from "./chunk-EBPLKY6U.js";
14
+ } from "./chunk-XC377TLN.js";
15
15
  import {
16
16
  DEFAULT_QWEN_CUSTOM_IGNORE_FILE_NAMES
17
- } from "./chunk-FRHQQC2Z.js";
17
+ } from "./chunk-KBXKR5R2.js";
18
18
  import {
19
19
  DEFAULT_SENSITIVE_SPAN_ATTRIBUTE_MAX_LENGTH,
20
20
  SENSITIVE_SPAN_ATTRIBUTE_MAX_LENGTH_LIMIT
21
- } from "./chunk-K5IDV3PC.js";
21
+ } from "./chunk-D34RDOLP.js";
22
22
  import {
23
23
  init_esbuild_shims
24
24
  } from "./chunk-5O2XNYP6.js";
@@ -519,7 +519,7 @@ var SETTINGS_SCHEMA = {
519
519
  category: "General",
520
520
  requiresRestart: false,
521
521
  default: true,
522
- description: 'Append the attribution footer naming the model and CLI version (e.g. "_\u2014 qwen3-coder via Qwen Code /review (v0.21.2)_") to review bodies and inline comments posted to GitHub. Disable to post reviews without AI attribution. Note: with the footer off, presubmit duplicate detection still recognizes earlier posts by the same GitHub account, but footer-less posts from other accounts escape it. Only honored from User, System, and SystemDefaults settings scopes; values set in Workspace settings are ignored, so a repository cannot set review policy for its reviewers.',
522
+ description: `Append the attribution footer naming the model and CLI version (e.g. "_\u2014 qwen3-coder via Qwen Code /review (v0.21.2)_") to review bodies and inline comments posted to GitHub. Disable to post reviews without VISIBLE AI attribution: no footer, and no "**[Critical]**"/"**[Suggestion]**" severity markers on posted comments and body lists. Unattributed posts stay identifiable in the raw source: each posted comment carries an invisible severity marker ("<!-- qwen-review critical -->") and the review body carries a ledger marker ("<!-- qwen-review-ledger ... -->") \u2014 anything reading comment bodies (GitHub API automation, the workflows this setting couples to) still recognizes a /review artifact, and presubmit duplicate detection recognizes the reviewing account's earlier posts by the severity marker, though unattributed posts from other accounts escape it. Another consequence: qwen-autofix's Critical-only mode (engaged after round 5, or earlier when a counting window's diff-growth budget trips) no longer recognizes the posted findings as Critical and defers them. Only honored from User, System, and SystemDefaults settings scopes; values set in Workspace settings are ignored, so a repository cannot set review policy for its reviewers.`,
523
523
  showInDialog: true
524
524
  },
525
525
  effort: {
@@ -545,6 +545,29 @@ var SETTINGS_SCHEMA = {
545
545
  default: false,
546
546
  description: "Treat every PR /review as if --comment was passed: findings are posted to the pull request without the flag. The post still binds to the PR named in the invocation. Enable only if you always want reviews published. Only honored from User, System, and SystemDefaults settings scopes; values set in Workspace settings are ignored, so a repository cannot set review policy for its reviewers.",
547
547
  showInDialog: true
548
+ },
549
+ severityFloor: {
550
+ type: "enum",
551
+ label: "Posting floor: review",
552
+ category: "General",
553
+ requiresRestart: false,
554
+ default: "auto",
555
+ description: 'The lowest severity a PR /review posts when --severity-floor is not given. "auto" keeps the round-adaptive default: Suggestions post through round 5, and from round 6 only Criticals post while otherwise-postable high-confidence Suggestions are recorded and deferred (low-confidence and Nice-to-have findings stay terminal-only as ever); under "auto", rounds 2-5 additionally defer new Suggestions on code unchanged since the previous round \u2014 the same discipline that stops review rounds from ballooning a PR. "critical" applies that posture from round 1; "suggestion" keeps Suggestions posting at every round. Non-PR targets have no rounds and ignore this. Only honored from User, System, and SystemDefaults settings scopes; values set in Workspace settings are ignored, so a repository cannot set review policy for its reviewers.',
556
+ showInDialog: true,
557
+ options: [
558
+ { value: "auto", label: "Auto (Critical-only from round 6)" },
559
+ { value: "critical", label: "Critical-only (every round)" },
560
+ { value: "suggestion", label: "Suggestions and Criticals" }
561
+ ]
562
+ },
563
+ reverseAuditRounds: {
564
+ type: "number",
565
+ label: "Reverse-audit round ceiling: review",
566
+ category: "General",
567
+ requiresRestart: false,
568
+ default: 0,
569
+ description: `Lower the reverse-audit loop's round cap for every high-effort review. The cap is normally chosen from the diff topology (10 small / 5 chunked; a huge diff is 3 when the run has a review deadline and 5 when it does not, because that reduction answers a CI ceiling and applies only where one exists) because a round costs one agent on a small diff and ~90 minutes on a huge one; this setting can only LOWER whichever tier applies, never raise it \u2014 a value that is not a whole number above zero, or that is out of range (below 3, or above the plan's own tier), is ignored and leaves the tier alone \u2014 JSON Schema has no integer type here, so a fraction validates in an editor and is then discarded at runtime. Understand what it buys before enabling: the loop ends on two consecutive dry rounds, so cutting the cap does not make reviews converge sooner, it makes them stop before converging more often \u2014 and every such stop is disclosed as unreviewed scope and caps the verdict at Comment, so a cheaper review is also one that can no longer Approve. To spend LESS on reviews generally, prefer "effort". Nothing here makes a loop run LONGER: a review deadline bounds a run rather than extending it, and on a huge diff setting one lowers the cap from 5 to 3 rather than raising it. Only honored from User, System, and SystemDefaults settings scopes; values set in Workspace settings are ignored, so a repository cannot set review policy for its reviewers.`,
570
+ showInDialog: true
548
571
  }
549
572
  }
550
573
  },
@@ -1128,6 +1151,15 @@ var SETTINGS_SCHEMA = {
1128
1151
  description: "Model used for generating prompt suggestions and speculative execution. Leave empty to use the main model. A smaller/faster model (e.g., qwen3-coder-flash) reduces latency and cost.",
1129
1152
  showInDialog: true
1130
1153
  },
1154
+ advisorModel: {
1155
+ type: "string",
1156
+ label: "Advisor Model",
1157
+ category: "Model",
1158
+ requiresRestart: false,
1159
+ default: "",
1160
+ description: "Model used by /advisor for second-opinion reviews of the conversation. Leave empty to use the main model. A model at least as capable as the main model is recommended. Setting this sends the recent conversation transcript to that model, even when it uses another provider.",
1161
+ showInDialog: true
1162
+ },
1131
1163
  visionModel: {
1132
1164
  type: "string",
1133
1165
  label: "Vision Model",
@@ -72,54 +72,51 @@ var TextTokenizer = class {
72
72
  }
73
73
  };
74
74
 
75
- // packages/core/src/utils/tool-name-utils.ts
75
+ // packages/core/src/utils/request-tokenizer/supportedImageFormats.ts
76
76
  init_esbuild_shims();
77
- var MAX_TOOL_NAME_LENGTH = 63;
78
- var PROVIDER_SAFE_TOOL_NAME = /^[A-Za-z][A-Za-z0-9_-]*$/;
79
- function normalizeToolNameForProvider(name) {
80
- if (name.length <= MAX_TOOL_NAME_LENGTH && PROVIDER_SAFE_TOOL_NAME.test(name)) {
81
- return name;
82
- }
83
- const normalized = sanitizeToolNameForProvider(name);
84
- const suffix = `_${stableToolNameHash(name)}`;
85
- return `${normalized.slice(0, MAX_TOOL_NAME_LENGTH - suffix.length)}${suffix}`;
86
- }
87
- __name(normalizeToolNameForProvider, "normalizeToolNameForProvider");
88
- function sanitizeToolNameForProvider(name) {
89
- const sanitized = name.replace(/[^A-Za-z0-9_-]/g, "_");
90
- return /^[A-Za-z]/.test(sanitized) ? sanitized : `tool_${sanitized}`;
77
+ var SUPPORTED_IMAGE_MIME_TYPES = [
78
+ "image/bmp",
79
+ "image/gif",
80
+ "image/jpeg",
81
+ "image/jpg",
82
+ // Alternative MIME type for JPEG
83
+ "image/png",
84
+ "image/tiff",
85
+ "image/webp",
86
+ "image/heic"
87
+ ];
88
+ var PIPELINE_IMAGE_MIME_TYPES = [
89
+ "image/gif",
90
+ "image/jpeg",
91
+ "image/jpg",
92
+ "image/png",
93
+ "image/webp"
94
+ ];
95
+ function isSupportedImageMimeType(mimeType) {
96
+ return SUPPORTED_IMAGE_MIME_TYPES.includes(
97
+ mimeType
98
+ );
91
99
  }
92
- __name(sanitizeToolNameForProvider, "sanitizeToolNameForProvider");
93
- function normalizeMcpToolName(name) {
94
- return name.startsWith("mcp__") ? normalizeToolNameForProvider(name) : name;
100
+ __name(isSupportedImageMimeType, "isSupportedImageMimeType");
101
+ function getSupportedImageFormatsString() {
102
+ return PIPELINE_IMAGE_MIME_TYPES.map(
103
+ (type) => type.replace("image/", "").toUpperCase()
104
+ ).join(", ");
95
105
  }
96
- __name(normalizeMcpToolName, "normalizeMcpToolName");
97
- function generateLegacyMcpToolName(name) {
98
- let legacyName = name.replace(/[^A-Za-z0-9_.-]/g, "_");
99
- if (legacyName.length > MAX_TOOL_NAME_LENGTH) {
100
- legacyName = legacyName.slice(0, 28) + "___" + legacyName.slice(-32);
101
- }
102
- return legacyName;
103
- }
104
- __name(generateLegacyMcpToolName, "generateLegacyMcpToolName");
105
- function stableToolNameHash(name) {
106
- let hash = 2166136261;
107
- for (let index = 0; index < name.length; index += 1) {
108
- hash = Math.imul(hash ^ name.charCodeAt(index), 16777619);
109
- }
110
- return (hash >>> 0).toString(36).padStart(7, "0");
106
+ __name(getSupportedImageFormatsString, "getSupportedImageFormatsString");
107
+ function getUnsupportedImageFormatWarning() {
108
+ return `Only the following image formats are supported: ${getSupportedImageFormatsString()}. Other formats may not work as expected.`;
111
109
  }
112
- __name(stableToolNameHash, "stableToolNameHash");
110
+ __name(getUnsupportedImageFormatWarning, "getUnsupportedImageFormatWarning");
113
111
 
114
112
  export {
115
113
  TOKEN_ESTIMATE_UNITS_PER_TOKEN,
116
114
  estimateTextTokens,
117
115
  estimateTextTokenUnits,
118
116
  TextTokenizer,
119
- normalizeToolNameForProvider,
120
- sanitizeToolNameForProvider,
121
- normalizeMcpToolName,
122
- generateLegacyMcpToolName
117
+ PIPELINE_IMAGE_MIME_TYPES,
118
+ isSupportedImageMimeType,
119
+ getUnsupportedImageFormatWarning
123
120
  };
124
121
  /**
125
122
  * @license
@@ -2,7 +2,10 @@
2
2
  "use strict";
3
3
  import {
4
4
  BaseJsonOutputAdapter
5
- } from "./chunk-MUNA4QDC.js";
5
+ } from "./chunk-6VDPDHIP.js";
6
+ import {
7
+ observeHeadlessJsonToolResultWire
8
+ } from "./chunk-EOCQCNV4.js";
6
9
  import {
7
10
  init_esbuild_shims
8
11
  } from "./chunk-5O2XNYP6.js";
@@ -58,8 +61,10 @@ var JsonOutputAdapter = class extends BaseJsonOutputAdapter {
58
61
  }
59
62
  } else {
60
63
  const json = JSON.stringify(this.messages);
61
- process.stdout.write(`${json}
62
- `);
64
+ const frame = `${json}
65
+ `;
66
+ observeHeadlessJsonToolResultWire(this.messages, frame);
67
+ process.stdout.write(frame);
63
68
  }
64
69
  }
65
70
  emitMessage(message) {
@@ -12,19 +12,19 @@ import {
12
12
  } from "./chunk-MR3PXB6E.js";
13
13
  import {
14
14
  ideContextStore
15
- } from "./chunk-EBPLKY6U.js";
15
+ } from "./chunk-XC377TLN.js";
16
16
  import {
17
17
  require_proper_lockfile
18
- } from "./chunk-KRXPRVGL.js";
18
+ } from "./chunk-MLXTMF7H.js";
19
19
  import {
20
20
  atomicWriteFileSync
21
- } from "./chunk-YBHUXEC6.js";
21
+ } from "./chunk-YECDICIO.js";
22
22
  import {
23
23
  FatalConfigError,
24
24
  Storage,
25
25
  createDebugLogger,
26
26
  getErrorMessage
27
- } from "./chunk-HOSVOUDK.js";
27
+ } from "./chunk-BUQDLC2G.js";
28
28
  import {
29
29
  writeStderrLine
30
30
  } from "./chunk-KGJGEEVR.js";
@@ -4,10 +4,10 @@ import {
4
4
  getRateLimitErrorDetails,
5
5
  isQwenQuotaExceededError,
6
6
  isRateLimitError
7
- } from "./chunk-D7QGE3RT.js";
7
+ } from "./chunk-FAAUPSY2.js";
8
8
  import {
9
9
  isAbortError
10
- } from "./chunk-HOSVOUDK.js";
10
+ } from "./chunk-BUQDLC2G.js";
11
11
  import {
12
12
  init_esbuild_shims
13
13
  } from "./chunk-5O2XNYP6.js";
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  createDebugLogger
5
- } from "./chunk-HOSVOUDK.js";
5
+ } from "./chunk-BUQDLC2G.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";
@@ -1,14 +1,12 @@
1
1
  // Force strict mode and setup for ESM
2
2
  "use strict";
3
3
  import {
4
+ TextTokenizer,
4
5
  isSupportedImageMimeType
5
- } from "./chunk-MPHPFVKK.js";
6
- import {
7
- TextTokenizer
8
- } from "./chunk-46UV252V.js";
6
+ } from "./chunk-YHC2EYYG.js";
9
7
  import {
10
8
  createDebugLogger
11
- } from "./chunk-HOSVOUDK.js";
9
+ } from "./chunk-BUQDLC2G.js";
12
10
  import {
13
11
  init_esbuild_shims
14
12
  } from "./chunk-5O2XNYP6.js";
@@ -5,11 +5,12 @@ import {
5
5
  JSON_STRING_DELIMITER_BYTES,
6
6
  jsonStringJsonByteLength,
7
7
  jsonStringPayloadByteLength,
8
+ observeAcpToolResultProjection,
8
9
  truncateJsonStringPayload
9
- } from "./chunk-UI5UGEF4.js";
10
+ } from "./chunk-EOCQCNV4.js";
10
11
  import {
11
12
  isA2uiToolMeta
12
- } from "./chunk-6P5EXEBL.js";
13
+ } from "./chunk-VGAAAMRD.js";
13
14
  import {
14
15
  ChannelDeliveryError,
15
16
  MAX_CHANNEL_DELIVERY_TEXT_LENGTH
@@ -19,15 +20,15 @@ import {
19
20
  } from "./chunk-M5GB774H.js";
20
21
  import {
21
22
  getResponseText
22
- } from "./chunk-EBPLKY6U.js";
23
+ } from "./chunk-XC377TLN.js";
23
24
  import {
24
25
  MAX_CHANNEL_DELIVERY_NAME_LENGTH,
25
26
  MAX_CHANNEL_DELIVERY_TARGET_ID_LENGTH
26
- } from "./chunk-AKBFSOC5.js";
27
+ } from "./chunk-OBJYN4MX.js";
27
28
  import {
28
29
  parseGoalSnapshotV2,
29
30
  parseGoalStateCause
30
- } from "./chunk-DPTMKFIH.js";
31
+ } from "./chunk-4ZMS3JCR.js";
31
32
  import {
32
33
  init_esbuild_shims
33
34
  } from "./chunk-5O2XNYP6.js";
@@ -804,6 +805,13 @@ function replayContext(sessionId, updates, cumulativeUsage, config, limits) {
804
805
  _meta: { ...meta, "qwen.session.recordId": activeRecordId }
805
806
  };
806
807
  })();
808
+ const deliveredUpdate = liftSessionUpdateTimestamp(updateWithRecordId);
809
+ observeAcpToolResultProjection(
810
+ update,
811
+ projectedUpdate,
812
+ sessionId,
813
+ deliveredUpdate
814
+ );
807
815
  if (limits) {
808
816
  const updateCount = updates.length + 1;
809
817
  if (updateCount > limits.maxUpdates) {
@@ -814,7 +822,7 @@ function replayContext(sessionId, updates, cumulativeUsage, config, limits) {
814
822
  limits.maxUpdates
815
823
  );
816
824
  }
817
- serializedUpdateBytes += (updates.length === 0 ? 0 : 1) + Buffer2.byteLength(JSON.stringify(updateWithRecordId), "utf8");
825
+ serializedUpdateBytes += (updates.length === 0 ? 0 : 1) + Buffer2.byteLength(JSON.stringify(deliveredUpdate), "utf8");
818
826
  if (serializedUpdateBytes > limits.maxBytes) {
819
827
  throw new HistoryReplayLimitError(
820
828
  sessionId,
@@ -824,7 +832,7 @@ function replayContext(sessionId, updates, cumulativeUsage, config, limits) {
824
832
  );
825
833
  }
826
834
  }
827
- updates.push(updateWithRecordId);
835
+ updates.push(deliveredUpdate);
828
836
  }, "sendUpdate"),
829
837
  setActiveRecordId: /* @__PURE__ */ __name((recordId) => {
830
838
  activeRecordId = recordId;
@@ -864,20 +872,27 @@ async function collectHistoryReplayUpdates({
864
872
  updates.length,
865
873
  error
866
874
  );
867
- return { updates: liftSessionUpdateTimestamps(updates), replayError };
875
+ return { updates, replayError };
868
876
  }
869
- return { updates: liftSessionUpdateTimestamps(updates) };
877
+ return { updates };
870
878
  }
871
879
  __name(collectHistoryReplayUpdates, "collectHistoryReplayUpdates");
872
- function liftSessionUpdateTimestamps(updates) {
873
- return updates.map((update) => {
874
- const record = update;
875
- const meta = record["_meta"];
876
- const timestamp = isObjectRecord2(meta) ? meta["timestamp"] : void 0;
877
- return typeof timestamp === "number" || typeof timestamp === "string" ? { ...record, timestamp } : update;
878
- });
879
- }
880
- __name(liftSessionUpdateTimestamps, "liftSessionUpdateTimestamps");
880
+ function liftSessionUpdateTimestamp(update) {
881
+ const record = update;
882
+ const meta = record["_meta"];
883
+ const timestamp = isObjectRecord2(meta) ? meta["timestamp"] : void 0;
884
+ return typeof timestamp === "number" || typeof timestamp === "string" ? { ...record, timestamp } : update;
885
+ }
886
+ __name(liftSessionUpdateTimestamp, "liftSessionUpdateTimestamp");
887
+ function readTranscriptSourceRecordIds(update) {
888
+ const value = update;
889
+ const meta = value["_meta"] && typeof value["_meta"] === "object" ? value["_meta"] : void 0;
890
+ const transcript = meta?.["qwenTranscript"] && typeof meta["qwenTranscript"] === "object" ? meta["qwenTranscript"] : void 0;
891
+ const sourceRecordIds = transcript?.["sourceRecordIds"];
892
+ if (!Array.isArray(sourceRecordIds)) return void 0;
893
+ return sourceRecordIds.filter((id) => typeof id === "string");
894
+ }
895
+ __name(readTranscriptSourceRecordIds, "readTranscriptSourceRecordIds");
881
896
  async function replayTranscriptRecordPage({
882
897
  sessionId,
883
898
  page,
@@ -912,12 +927,41 @@ async function replayTranscriptRecordPage({
912
927
  replayState = replayer.getReplayState();
913
928
  replayError = "Replay conversion failed for this page";
914
929
  }
930
+ if (page.branchPointsByAssistantUuid) {
931
+ const branchPoints = page.branchPointsByAssistantUuid;
932
+ const lastChunkIndexByRecordId = /* @__PURE__ */ new Map();
933
+ updates.forEach((update, index) => {
934
+ if (update.sessionUpdate !== "agent_message_chunk") return;
935
+ const text = update.content?.text;
936
+ if (typeof text !== "string" || text.length === 0) return;
937
+ for (const recordId of readTranscriptSourceRecordIds(update) ?? []) {
938
+ if (Object.hasOwn(branchPoints, recordId)) {
939
+ lastChunkIndexByRecordId.set(recordId, index);
940
+ }
941
+ }
942
+ });
943
+ const decoratedIndexes = /* @__PURE__ */ new Set();
944
+ for (const [recordId, index] of lastChunkIndexByRecordId) {
945
+ if (decoratedIndexes.has(index)) continue;
946
+ decoratedIndexes.add(index);
947
+ const value = updates[index];
948
+ const meta = value["_meta"] && typeof value["_meta"] === "object" ? value["_meta"] : void 0;
949
+ const transcript = meta?.["qwenTranscript"] && typeof meta["qwenTranscript"] === "object" ? meta["qwenTranscript"] : void 0;
950
+ value["_meta"] = {
951
+ ...meta,
952
+ qwenTranscript: {
953
+ ...transcript,
954
+ branchRecordId: branchPoints[recordId]
955
+ }
956
+ };
957
+ }
958
+ }
915
959
  const nextCursor = page.nextCursorState && replayError === void 0 ? encodeCursor({
916
960
  ...page.nextCursorState,
917
961
  ...page.direction === "backward" ? {} : { replay: replayState }
918
962
  }) : void 0;
919
963
  return {
920
- updates: liftSessionUpdateTimestamps(updates),
964
+ updates,
921
965
  ...nextCursor ? { nextCursor } : {},
922
966
  hasMore: replayError === void 0 && page.hasMore,
923
967
  startTime: page.startTime,
@@ -4,79 +4,80 @@ import {
4
4
  Client,
5
5
  So,
6
6
  StdioClientTransport
7
- } from "./chunk-EBPLKY6U.js";
7
+ } from "./chunk-XC377TLN.js";
8
8
  import "./chunk-GOFAQQZA.js";
9
9
  import "./chunk-5M6IDOMF.js";
10
10
  import "./chunk-TWPJO254.js";
11
11
  import "./chunk-CQ35AJ4Z.js";
12
- import "./chunk-QPBFRWCP.js";
13
- import "./chunk-JRIVMPD2.js";
14
- import "./chunk-YILJKX2T.js";
15
- import "./chunk-D2RNVVH6.js";
12
+ import "./chunk-FS5NGKWC.js";
13
+ import "./chunk-SLILKYV2.js";
14
+ import "./chunk-NVRMCWTP.js";
15
+ import "./chunk-AKBOLMUF.js";
16
16
  import "./chunk-6PVPNMXU.js";
17
- import "./chunk-I7BT2MME.js";
17
+ import "./chunk-SR2LYSMT.js";
18
18
  import "./chunk-IRH27ZC2.js";
19
19
  import "./chunk-QHWCP53L.js";
20
- import "./chunk-AKBFSOC5.js";
21
- import "./chunk-DEDESZDL.js";
20
+ import "./chunk-OBJYN4MX.js";
21
+ import "./chunk-2C6HJMG3.js";
22
22
  import "./chunk-O6GEWCJA.js";
23
23
  import "./chunk-T26EAKDL.js";
24
24
  import "./chunk-ZPJWUGCS.js";
25
25
  import "./chunk-CPBF7KYF.js";
26
- import "./chunk-5RUCD4ED.js";
27
- import "./chunk-KRXPRVGL.js";
28
- import "./chunk-YBVVOSOH.js";
29
- import "./chunk-CPFFU46D.js";
30
- import "./chunk-ULNWG62W.js";
31
- import "./chunk-DPTMKFIH.js";
32
- import "./chunk-63FNZTWG.js";
33
- import "./chunk-3GM5DLBI.js";
34
- import "./chunk-K34GJQOZ.js";
26
+ import "./chunk-RWDNJBWN.js";
27
+ import "./chunk-WPVUOVYX.js";
28
+ import "./chunk-MIPFDQAF.js";
29
+ import "./chunk-MLXTMF7H.js";
30
+ import "./chunk-KV27IEHM.js";
31
+ import "./chunk-E3DYKPYZ.js";
32
+ import "./chunk-4ZMS3JCR.js";
33
+ import "./chunk-DGJ7O55J.js";
34
+ import "./chunk-OO4FKHLO.js";
35
35
  import "./chunk-SAH4BD2J.js";
36
- import "./chunk-KLOMACIR.js";
37
- import "./chunk-VPV7WBVT.js";
36
+ import "./chunk-XLLKYULU.js";
37
+ import "./chunk-PT4I7NBA.js";
38
38
  import "./chunk-S6LOFUVP.js";
39
39
  import "./chunk-2J3OJGTL.js";
40
- import "./chunk-TTRH3RTQ.js";
40
+ import "./chunk-SG7ZP5PG.js";
41
41
  import "./chunk-K623ENWT.js";
42
42
  import "./chunk-AQ37AY7B.js";
43
- import "./chunk-FRHQQC2Z.js";
44
- import "./chunk-DG4IQ6JG.js";
43
+ import "./chunk-KBXKR5R2.js";
44
+ import "./chunk-I3N2Z25H.js";
45
45
  import "./chunk-NAVJD2PQ.js";
46
- import "./chunk-KEC5FHLM.js";
47
- import "./chunk-2ZWH53I4.js";
46
+ import "./chunk-ROIYNTHJ.js";
47
+ import "./chunk-2B2BF7P7.js";
48
48
  import "./chunk-P3QQPMQA.js";
49
- import "./chunk-TB4YFWXG.js";
50
- import "./chunk-D7QGE3RT.js";
49
+ import "./chunk-YZHRN3CF.js";
50
+ import "./chunk-FAAUPSY2.js";
51
51
  import "./chunk-KM73TBQ4.js";
52
- import "./chunk-MPHPFVKK.js";
53
52
  import "./chunk-AXMWHKXA.js";
54
53
  import "./chunk-GLCZKT5V.js";
55
54
  import "./chunk-DJ2GSRLV.js";
56
- import "./chunk-NLFLYSS4.js";
57
- import "./chunk-4KM2SYK5.js";
55
+ import "./chunk-QFJ5JHQR.js";
56
+ import "./chunk-KC4WMLZO.js";
58
57
  import "./chunk-YRLW2MSX.js";
59
58
  import "./chunk-VGC4I5JJ.js";
60
- import "./chunk-G6MUFRNI.js";
61
- import "./chunk-LSRI3ND3.js";
62
- import "./chunk-PVXEJB66.js";
59
+ import "./chunk-3PWCMXIR.js";
60
+ import "./chunk-CHHABXPE.js";
61
+ import "./chunk-MA2HEDVP.js";
62
+ import "./chunk-XUJNK7Y6.js";
63
63
  import {
64
64
  BaseDeclarativeTool,
65
65
  BaseToolInvocation
66
- } from "./chunk-YIGGWOJE.js";
67
- import "./chunk-KWX56CHZ.js";
66
+ } from "./chunk-6HY6IF3Z.js";
67
+ import "./chunk-QIHHJKXT.js";
68
68
  import "./chunk-F6WFNA7U.js";
69
- import "./chunk-46UV252V.js";
69
+ import "./chunk-WZAD4ZNJ.js";
70
70
  import "./chunk-FPGTNKCP.js";
71
- import "./chunk-4AOVQPJU.js";
72
- import "./chunk-PZW46OTB.js";
73
- import "./chunk-YBHUXEC6.js";
74
- import "./chunk-N4SVADAV.js";
71
+ import "./chunk-YHC2EYYG.js";
72
+ import "./chunk-CPHEPGAO.js";
73
+ import "./chunk-DVR7XKO5.js";
74
+ import "./chunk-YECDICIO.js";
75
+ import "./chunk-XT4RKHVE.js";
75
76
  import {
76
77
  safeJsonStringify
77
78
  } from "./chunk-HHJLM3WQ.js";
78
- import "./chunk-K5IDV3PC.js";
79
- import "./chunk-HOSVOUDK.js";
79
+ import "./chunk-D34RDOLP.js";
80
+ import "./chunk-BUQDLC2G.js";
80
81
  import "./chunk-VOQXFAY5.js";
81
82
  import "./chunk-75DOP5OR.js";
82
83
  import "./chunk-DMTGGOSA.js";
@@ -5,9 +5,9 @@ import {
5
5
  parseChannelWebhookConfig,
6
6
  parseChannelWebhookConfigLenient,
7
7
  resolveEnvVars
8
- } from "./chunk-BSR5AXZR.js";
8
+ } from "./chunk-NRPXRNN4.js";
9
9
  import "./chunk-45NQKMYB.js";
10
- import "./chunk-OK47XBYH.js";
10
+ import "./chunk-5IYS4WWR.js";
11
11
  import {
12
12
  findCliEntryPath
13
13
  } from "./chunk-V6WHFGST.js";