@qwen-code/qwen-code 0.19.8 → 0.19.9-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 (451) hide show
  1. package/bundled/qc-helper/SKILL.md +1 -0
  2. package/bundled/qc-helper/docs/configuration/auth.md +40 -55
  3. package/bundled/qc-helper/docs/configuration/model-providers.md +224 -218
  4. package/bundled/qc-helper/docs/configuration/settings.md +68 -51
  5. package/bundled/qc-helper/docs/features/_meta.ts +1 -0
  6. package/bundled/qc-helper/docs/features/channels/dingtalk.md +12 -2
  7. package/bundled/qc-helper/docs/features/channels/overview.md +82 -7
  8. package/bundled/qc-helper/docs/features/channels/wecom.md +6 -0
  9. package/bundled/qc-helper/docs/features/code-review.md +109 -41
  10. package/bundled/qc-helper/docs/features/commands.md +45 -44
  11. package/bundled/qc-helper/docs/features/computer-use.md +77 -0
  12. package/bundled/qc-helper/docs/features/hooks.md +29 -0
  13. package/bundled/qc-helper/docs/features/sub-agents.md +21 -0
  14. package/bundled/qc-helper/docs/features/tool-use-summaries.md +19 -23
  15. package/bundled/qc-helper/docs/integration-vscode.md +2 -2
  16. package/bundled/qc-helper/docs/qwen-serve.md +66 -23
  17. package/bundled/qc-helper/docs/reference/keyboard-shortcuts.md +2 -2
  18. package/bundled/review/DESIGN.md +303 -46
  19. package/bundled/review/SKILL.md +670 -165
  20. package/chunks/MaxSizedBox-BEVSAWZ6.js +70 -0
  21. package/chunks/{StandaloneSessionPicker-EYRGH6PJ.js → StandaloneSessionPicker-2DA2MDDE.js} +81 -79
  22. package/chunks/{acpAgent-GRFTTRHW.js → acpAgent-G3WJU3PS.js} +1318 -465
  23. package/chunks/agent-DD3WSHXE.js +68 -0
  24. package/chunks/agent-headless-MHI7U2CU.js +62 -0
  25. package/chunks/{anthropicContentGenerator-CPF22MA7.js → anthropicContentGenerator-56U3YCP2.js} +187 -31
  26. package/chunks/{artifact-tool-D233YJFH.js → artifact-tool-MIZLXBLF.js} +5 -5
  27. package/chunks/{askUserQuestion-MKL5ZTMC.js → askUserQuestion-XMJVPNWM.js} +6 -6
  28. package/chunks/bridge-HKEWPNB5.js +78 -0
  29. package/chunks/{ca-MKD32FQL.js → ca-C2JTT2N5.js} +68 -6
  30. package/chunks/channel-worker-group-K7QKH6IG.js +13 -0
  31. package/chunks/channel-worker-manager-YSFB4HUU.js +418 -0
  32. package/chunks/channel-worker-supervisor-QCKIOYZD.js +20 -0
  33. package/chunks/chunk-2FMQQXMM.js +38 -0
  34. package/chunks/{chunk-CSOTA7KX.js → chunk-2FO5GFKZ.js} +2 -2
  35. package/chunks/{chunk-QQDPRDVW.js → chunk-2HRYPZT5.js} +1 -1
  36. package/chunks/{chunk-UXEW557D.js → chunk-2J4ZWME4.js} +3 -3
  37. package/chunks/{chunk-P3XEEI3X.js → chunk-2TQXXQMI.js} +36 -7
  38. package/chunks/{chunk-GSHQYYIV.js → chunk-2UW5RFRP.js} +6 -26
  39. package/chunks/{chunk-6IAWPIQ6.js → chunk-2W3OOD4W.js} +5 -3
  40. package/chunks/{chunk-2PSWA5ID.js → chunk-2X56YUSZ.js} +1 -1
  41. package/chunks/{chunk-NQKLOAVJ.js → chunk-2Z5UX4KI.js} +2 -2
  42. package/chunks/chunk-3MX7D6QN.js +516 -0
  43. package/chunks/{chunk-EEN2TKST.js → chunk-43RXPU5Q.js} +2 -2
  44. package/chunks/{chunk-55ZMG67I.js → chunk-4LD5APFL.js} +4 -4
  45. package/chunks/{chunk-WF4FAXDL.js → chunk-4QZ3XHWE.js} +62 -62
  46. package/chunks/chunk-4QZADKJS.js +34 -0
  47. package/chunks/{chunk-UIDXQNMV.js → chunk-4WGODMVR.js} +1 -1
  48. package/chunks/{chunk-E6US47KI.js → chunk-4WKAA4KS.js} +1 -1
  49. package/chunks/{chunk-TI3BWD4D.js → chunk-54UZQ57N.js} +39 -19
  50. package/chunks/{chunk-3GONHQOA.js → chunk-57OAHC2Y.js} +1 -1
  51. package/chunks/{chunk-JZSY4WP3.js → chunk-5DTTYNB7.js} +1 -1
  52. package/chunks/chunk-5HBA2Z7V.js +28 -0
  53. package/chunks/{chunk-SKAZWEV5.js → chunk-5M6IDOMF.js} +35 -98
  54. package/chunks/{chunk-A4BMJM77.js → chunk-5O2XNYP6.js} +1 -0
  55. package/chunks/{chunk-FQNC62B2.js → chunk-5VHASII5.js} +11 -11
  56. package/chunks/{chunk-GO6LNQXT.js → chunk-6AM5D4ME.js} +1 -1
  57. package/chunks/{chunk-BJBWRCSK.js → chunk-6H67XLET.js} +1 -1
  58. package/chunks/{chunk-O7FIRWJV.js → chunk-6JPDCEDB.js} +3 -3
  59. package/chunks/{chunk-3UP777ZS.js → chunk-6RLROE6G.js} +1 -1
  60. package/chunks/{chunk-GN3F6PIU.js → chunk-6WPJRYLZ.js} +5 -5
  61. package/chunks/{chunk-ZERZSAZL.js → chunk-75DOP5OR.js} +2 -2
  62. package/chunks/chunk-7DKX4A5Z.js +91 -0
  63. package/chunks/{chunk-M7S4GK5Z.js → chunk-7IDCQ35Q.js} +147 -30
  64. package/chunks/{chunk-22MNNNXE.js → chunk-7NFB7LBQ.js} +11 -3
  65. package/chunks/{chunk-ZL5HN75Q.js → chunk-7R4DPSRA.js} +37 -3
  66. package/chunks/{chunk-VZ7HY3YU.js → chunk-7STBROEV.js} +3 -3
  67. package/chunks/{chunk-SAIILPQ3.js → chunk-7X7TEQNX.js} +5 -3
  68. package/chunks/{chunk-RMLZAUWH.js → chunk-A3U2TQUL.js} +10 -12
  69. package/chunks/{chunk-IRJWHZWU.js → chunk-A4UCTEB5.js} +2 -2
  70. package/chunks/{chunk-BOBRZZKD.js → chunk-A7W4GQRW.js} +5 -5
  71. package/chunks/{chunk-O33TBKDC.js → chunk-AAUZBE5Y.js} +155 -19
  72. package/chunks/{chunk-SQ2UATK7.js → chunk-ADLYZJYZ.js} +11 -11
  73. package/chunks/{chunk-QYUE6W3T.js → chunk-ALGGS7UH.js} +2 -39
  74. package/chunks/{chunk-WMPVYQ4P.js → chunk-ARKANCNX.js} +3 -2
  75. package/chunks/{chunk-IBY3Q3HG.js → chunk-AU4R7ACM.js} +967 -181
  76. package/chunks/{channel-worker-supervisor-NZQUOEFJ.js → chunk-B7MFJBKE.js} +190 -34
  77. package/chunks/{chunk-HW4N45EE.js → chunk-B7NUUEXC.js} +38 -11
  78. package/chunks/{chunk-3B26UVCX.js → chunk-BLPMRN4B.js} +39 -10
  79. package/chunks/{chunk-ZN5T4BHI.js → chunk-BPZALHVR.js} +2 -2
  80. package/chunks/{chunk-BVYU3ZTI.js → chunk-BXT6PQ73.js} +1020 -942
  81. package/chunks/{chunk-OFEVLU4C.js → chunk-CARU2RR2.js} +1 -1
  82. package/chunks/{chunk-HDOH3QYE.js → chunk-CEGKYZDB.js} +2 -2
  83. package/chunks/{chunk-GLE2YUPU.js → chunk-COH43MRJ.js} +1 -1
  84. package/chunks/{chunk-E5A7LHNN.js → chunk-CPBF7KYF.js} +1 -1
  85. package/chunks/{chunk-UWCTAVOD.js → chunk-CR3C7WXL.js} +1 -1
  86. package/chunks/{chunk-IWKSG2AR.js → chunk-CXAOG665.js} +1 -1
  87. package/chunks/{chunk-64WXLC72.js → chunk-DJ2GSRLV.js} +1 -1
  88. package/chunks/{chunk-QN5NZ3UQ.js → chunk-DMTGGOSA.js} +2 -2
  89. package/chunks/{chunk-27BHARDE.js → chunk-DMVA55W5.js} +2124 -30
  90. package/chunks/{chunk-JPALE3PA.js → chunk-DQCCLVQK.js} +6 -6
  91. package/chunks/{chunk-X2XNQQJI.js → chunk-E2UVIFI2.js} +186 -399
  92. package/chunks/{chunk-KHDZHZMH.js → chunk-E5Z2AVNV.js} +1 -1
  93. package/chunks/{chunk-E7EMCSUG.js → chunk-EAHMOXLL.js} +64 -42
  94. package/chunks/{chunk-VGGOPZUL.js → chunk-EJ3KGYWL.js} +36 -8
  95. package/chunks/{chunk-DIWVZ3VM.js → chunk-ERTHKDKN.js} +5 -5
  96. package/chunks/{chunk-UX6OTBVD.js → chunk-EX5OULP3.js} +2 -2
  97. package/chunks/{chunk-5MBO76SL.js → chunk-F333XEAU.js} +3 -3
  98. package/chunks/{chunk-OACJLMLD.js → chunk-FBU7WRZI.js} +18 -2
  99. package/chunks/{chunk-5IFG2VC4.js → chunk-FCMNKVXT.js} +1 -1
  100. package/chunks/chunk-FEOBU3FA.js +253 -0
  101. package/chunks/{chunk-LAXNEOBG.js → chunk-FI2WSOWX.js} +19 -3
  102. package/chunks/{chunk-E7KNELIZ.js → chunk-FSA7ERJ2.js} +2 -2
  103. package/chunks/{chunk-44NROQYV.js → chunk-GDQQRV43.js} +4 -4
  104. package/chunks/{chunk-ZE6E424U.js → chunk-GN5HJJBO.js} +2 -2
  105. package/chunks/{chunk-O2YT7VB4.js → chunk-GOXKNSDZ.js} +2 -65
  106. package/chunks/{chunk-V35MD7KN.js → chunk-GRC5HGPI.js} +1 -1
  107. package/chunks/{chunk-ON3JA3RU.js → chunk-GTENQOEJ.js} +7 -9
  108. package/chunks/{chunk-S6RLAIUR.js → chunk-GYTKQYDB.js} +1 -1
  109. package/chunks/{chunk-A2X3KLC3.js → chunk-GZXCZHCT.js} +3 -3
  110. package/chunks/{chunk-K5PGHDBN.js → chunk-H6XPXXMH.js} +1 -1
  111. package/chunks/{chunk-PMFULMLX.js → chunk-HCJTURZD.js} +2262 -384
  112. package/chunks/chunk-HGG2RRXD.js +445 -0
  113. package/chunks/{chunk-II73RK2S.js → chunk-HGT6JR3U.js} +20 -1
  114. package/chunks/{chunk-DICGXFAI.js → chunk-HJCVNZLQ.js} +11 -9
  115. package/chunks/{chunk-3GNOQZDC.js → chunk-HJUDVNCO.js} +17663 -14877
  116. package/chunks/{chunk-AYNCLGTW.js → chunk-HRUGYOJN.js} +8 -51
  117. package/chunks/{chunk-KYMBIKIW.js → chunk-HTHUX2T5.js} +1 -1
  118. package/chunks/{chunk-LQ7TMOCE.js → chunk-HTO4JFDZ.js} +1 -1
  119. package/chunks/{chunk-BUZ6HGL4.js → chunk-HWTL6MPR.js} +357 -59
  120. package/chunks/chunk-IDS7MSUP.js +74 -0
  121. package/chunks/{chunk-4CGOWHKM.js → chunk-J4MOFEOK.js} +2 -2
  122. package/chunks/chunk-JCD4FM7K.js +296 -0
  123. package/chunks/{chunk-22IFUCVR.js → chunk-JESCGQM3.js} +1 -1
  124. package/chunks/{chunk-JZHIQJOE.js → chunk-JGO6RFI2.js} +6 -6
  125. package/chunks/{chunk-X3YGAX7V.js → chunk-JGUT3LWZ.js} +9 -2
  126. package/chunks/{chunk-JRQ7EVGE.js → chunk-JW7OOJC6.js} +2 -2
  127. package/chunks/{chunk-OQXDAMKY.js → chunk-KF5MMGG4.js} +8 -8
  128. package/chunks/{chunk-42XGFRJS.js → chunk-KKRTYONM.js} +8 -6
  129. package/chunks/{chunk-GGQQA4JW.js → chunk-KSO42X3Z.js} +15 -2
  130. package/chunks/{chunk-MRO43B25.js → chunk-KW7NOTN6.js} +1 -1
  131. package/chunks/{chunk-54YZOP7P.js → chunk-L573Z2QZ.js} +11894 -5190
  132. package/chunks/{chunk-TLWA7TPR.js → chunk-L5U3ELZX.js} +2 -2
  133. package/chunks/{chunk-YHKAK72D.js → chunk-LHEOLOXU.js} +251 -63
  134. package/chunks/{chunk-H6EMK6QK.js → chunk-LQIDP6K5.js} +11913 -5207
  135. package/chunks/{chunk-I6WGFJJ3.js → chunk-LSEJG6AM.js} +73 -19
  136. package/chunks/{chunk-MZ7BABX3.js → chunk-LXLTBIDP.js} +44 -7
  137. package/chunks/{chunk-HLKG6CZN.js → chunk-M5GB774H.js} +1 -1
  138. package/chunks/{chunk-JCH35JB3.js → chunk-MKK4XGLF.js} +2 -2
  139. package/chunks/{chunk-YKZIAK7C.js → chunk-MO7O5722.js} +424 -40
  140. package/chunks/chunk-MR3PXB6E.js +48 -0
  141. package/chunks/{chunk-A5JOJ77H.js → chunk-MRYWYBQ4.js} +38 -15
  142. package/chunks/{chunk-332PWN27.js → chunk-NHDKSOEY.js} +1 -1
  143. package/chunks/{chunk-TSPB77TG.js → chunk-NRAFASYX.js} +1016 -2967
  144. package/chunks/{chunk-BMFMJINR.js → chunk-OA4JVLSA.js} +28 -2
  145. package/chunks/{chunk-P7M4GA57.js → chunk-OCPBI7J5.js} +1 -1
  146. package/chunks/chunk-OJAMDVF5.js +66 -0
  147. package/chunks/{chunk-IJRL2S3D.js → chunk-OKAIGAYW.js} +6 -6
  148. package/chunks/{chunk-FBET5XZ2.js → chunk-PEJWA3QQ.js} +29 -10
  149. package/chunks/{chunk-L4AMBVQG.js → chunk-PMKW35AT.js} +54 -22
  150. package/chunks/{chunk-AGHU5VRK.js → chunk-PZL23GTM.js} +1 -1
  151. package/chunks/{chunk-PC4ZXHU2.js → chunk-Q6TUALBE.js} +3 -3
  152. package/chunks/{chunk-FXGLL2HL.js → chunk-Q7YDKOGY.js} +1 -1
  153. package/chunks/{chunk-XOHNA2S6.js → chunk-QAW7PIHT.js} +3 -3
  154. package/chunks/{chunk-XYR5RUA5.js → chunk-QE2WJ7FS.js} +10 -3
  155. package/chunks/{chunk-LGFAYIKX.js → chunk-QHTIBUWB.js} +1 -1
  156. package/chunks/{chunk-P3MYAZBY.js → chunk-QMGX2KO2.js} +1 -1
  157. package/chunks/{chunk-Z3I3QJK3.js → chunk-QRUIS3DN.js} +1 -1
  158. package/chunks/{chunk-ITOGNELQ.js → chunk-QSWDGAIC.js} +2 -2
  159. package/chunks/{chunk-PUVCVELY.js → chunk-QUJOI7SR.js} +70 -8
  160. package/chunks/{chunk-GHOTR7HL.js → chunk-QUPXZXLV.js} +1 -1
  161. package/chunks/{chunk-6VK6FIMQ.js → chunk-R5D5JOAM.js} +415 -379
  162. package/chunks/{chunk-CD6USWHZ.js → chunk-R5XLNDE2.js} +2 -2
  163. package/chunks/{chunk-W7EEOR7D.js → chunk-RCEEXIOO.js} +8 -6
  164. package/chunks/{chunk-TLRYABYP.js → chunk-RKUWKYED.js} +1 -1
  165. package/chunks/{chunk-RNBYOUGV.js → chunk-RXFQM6FQ.js} +1 -1
  166. package/chunks/{chunk-QXPI7FEC.js → chunk-S3TWXGKA.js} +4 -4
  167. package/chunks/{chunk-2EM7ECZD.js → chunk-SMSFWUFY.js} +309 -80
  168. package/chunks/{chunk-FV7425LN.js → chunk-SPJQO2CE.js} +18 -5
  169. package/chunks/{chunk-MLZQVCF3.js → chunk-SZRN75WQ.js} +1 -1
  170. package/chunks/{chunk-7RYW5LQV.js → chunk-T2NCM2ET.js} +2 -2
  171. package/chunks/{chunk-Z2Z3GUXZ.js → chunk-TB6UDU4T.js} +1 -1
  172. package/chunks/{chunk-EXPMGZZV.js → chunk-TEGEBB2I.js} +1 -1
  173. package/chunks/{chunk-MX2YXRER.js → chunk-TJTKSVIV.js} +1 -1
  174. package/chunks/{chunk-CCGOFQV3.js → chunk-TQBODCFD.js} +8 -7
  175. package/chunks/chunk-TV6K2FB4.js +224 -0
  176. package/chunks/{chunk-H6BD2ELD.js → chunk-TYAMGABM.js} +2 -2
  177. package/chunks/{chunk-QYNNN7BK.js → chunk-TYLOFD2U.js} +2 -2
  178. package/chunks/{chunk-VRDMOSQS.js → chunk-UDXSXLER.js} +2 -2
  179. package/chunks/{chunk-DHOLNQLC.js → chunk-UFDX27PL.js} +60 -40
  180. package/chunks/{chunk-WHJQ3JUS.js → chunk-UGN6CTNZ.js} +10 -10
  181. package/chunks/{chunk-CHB5SLZZ.js → chunk-UNLRKDMW.js} +4 -4
  182. package/chunks/{chunk-CJCKDMWO.js → chunk-URK542T4.js} +1 -1
  183. package/chunks/{chunk-AHNXYU4O.js → chunk-V6WHFGST.js} +1 -1
  184. package/chunks/{chunk-ZTQ26VBE.js → chunk-VDDGDZMA.js} +1 -1
  185. package/chunks/{chunk-BOBOCR5H.js → chunk-VEETSXYX.js} +4 -4
  186. package/chunks/{chunk-OMX7CUOE.js → chunk-VGC4I5JJ.js} +1 -1
  187. package/chunks/{chunk-43W4YSO6.js → chunk-VJNBRRZG.js} +2 -2
  188. package/chunks/{chunk-WQTHLB5T.js → chunk-VKS7EIOA.js} +7 -7
  189. package/chunks/{chunk-J7RCB6N5.js → chunk-VVDNGM6X.js} +2 -2
  190. package/chunks/{chunk-ER3BKOLB.js → chunk-W7FJ3N32.js} +1 -1
  191. package/chunks/{chunk-3HX5LZ6R.js → chunk-WBL3FJEU.js} +2 -2
  192. package/chunks/{chunk-7LTB54MK.js → chunk-WIEO4CWB.js} +2 -2
  193. package/chunks/chunk-WMC6HH7Y.js +493 -0
  194. package/chunks/{chunk-FEJ2FZ3U.js → chunk-WTNZ6DXB.js} +2 -2
  195. package/chunks/{chunk-L46XKEGM.js → chunk-X6ODDESK.js} +5 -8
  196. package/chunks/chunk-XDPYM5DE.js +71 -0
  197. package/chunks/{chunk-3RW4AZJV.js → chunk-XFSFZCM5.js} +1 -1
  198. package/chunks/{chunk-2MPVVENX.js → chunk-XU457J4V.js} +2 -2
  199. package/chunks/{chunk-SIUQ3YYX.js → chunk-XVNQMZ2I.js} +1 -1
  200. package/chunks/{chunk-SYCJMSIJ.js → chunk-XWRJCPHC.js} +1 -1
  201. package/chunks/{chunk-SUAKHHK7.js → chunk-Y66VOBRP.js} +3 -3
  202. package/chunks/chunk-YAF2MQZ6.js +19 -0
  203. package/chunks/chunk-YHN5SUIJ.js +219 -0
  204. package/chunks/{chunk-BR4QREVK.js → chunk-YQ3U5MUC.js} +1 -1
  205. package/chunks/{chunk-Y6Z2O3WR.js → chunk-YUZI3WAC.js} +1 -1
  206. package/chunks/{chunk-YDOXPLYL.js → chunk-ZA74ZTQU.js} +4564 -1326
  207. package/chunks/{chunk-DCZWC4PF.js → chunk-ZGE3222J.js} +5 -5
  208. package/chunks/chunk-ZP4ZZJJG.js +448 -0
  209. package/chunks/{chunk-AHNJGLFV.js → chunk-ZPAHLFZU.js} +3 -3
  210. package/chunks/cli-entry-path-4VJ3Y6T2.js +10 -0
  211. package/chunks/{computer-use-WMY3UOBX.js → computer-use-SHA6C3ES.js} +50 -50
  212. package/chunks/config-utils-XSHOMMK4.js +24 -0
  213. package/chunks/contextCommand-HOAF5LUC.js +68 -0
  214. package/chunks/create-sub-session-EAB2U5XW.js +207 -0
  215. package/chunks/create-sub-session-WJOWBFEP.js +375 -0
  216. package/chunks/{cron-create-JSXEIPVS.js → cron-create-GMVKSXZT.js} +9 -9
  217. package/chunks/{cron-delete-OIFVEPGU.js → cron-delete-VDZKUAVK.js} +7 -7
  218. package/chunks/{cron-list-D4ZX4IOE.js → cron-list-UG7C7RAR.js} +14 -10
  219. package/chunks/{daemon-WPAENEBW.js → daemon-MI5HF26N.js} +1074 -61
  220. package/chunks/daemon-status-provider-KFL3LRTP.js +76 -0
  221. package/chunks/{de-ZFPPQVSF.js → de-2VCDRDGU.js} +68 -6
  222. package/chunks/{devtools-FM6GJPYG.js → devtools-4QFYJT6U.js} +3 -3
  223. package/chunks/{dist-O2IRTRPP.js → dist-IEXZC5ZR.js} +10 -10
  224. package/chunks/{dist-SCFLLYMK.js → dist-PQK4GCKA.js} +12 -11
  225. package/chunks/{dist-63IS3ZMI.js → dist-PZV5RKM6.js} +4 -4
  226. package/chunks/{dist-E6UANPIM.js → dist-U75JK3PF.js} +1011 -197
  227. package/chunks/{dist-H2AEJCZ5.js → dist-VXO7QBON.js} +5 -5
  228. package/chunks/{dist-Z34QPAQW.js → dist-WH4TZSH3.js} +529 -79
  229. package/chunks/{dist-BEXOZXLQ.js → dist-X2ABIW5R.js} +36 -15
  230. package/chunks/earlyInputCapture-PKAQJMIP.js +69 -0
  231. package/chunks/{edit-OTYWAXGP.js → edit-6TXLYHJ2.js} +51 -51
  232. package/chunks/{en-N4EPZAQI.js → en-NJCA3TAA.js} +78 -6
  233. package/chunks/{enter-worktree-HNYBDVCX.js → enter-worktree-ZTILGPJX.js} +50 -50
  234. package/chunks/{enterPlanMode-CJCNGT63.js → enterPlanMode-62HRAMCH.js} +66 -51
  235. package/chunks/environment-OYA3ZVEL.js +89 -0
  236. package/chunks/errors-BFXOUUUR.js +75 -0
  237. package/chunks/{exit-worktree-DUUKOE3X.js → exit-worktree-HHJ5M6MV.js} +50 -50
  238. package/chunks/{exitPlanMode-AMMSXOAJ.js → exitPlanMode-M3SWHCL7.js} +51 -51
  239. package/chunks/{fast-path-OV6NIP3K.js → fast-path-3VMPLM74.js} +8 -8
  240. package/chunks/{fast-path-settings-7RIFI3PK.js → fast-path-settings-DAOVFADC.js} +8 -6
  241. package/chunks/{fileFromPath-IBEHA3CO.js → fileFromPath-UDALK7FM.js} +3 -3
  242. package/chunks/{fr-5WWMY53B.js → fr-5F3E7WKD.js} +68 -6
  243. package/chunks/{gemini-NQ3WWBKB.js → gemini-ZCGVYOJL.js} +181 -110
  244. package/chunks/{geminiContentGenerator-CDUNEJQE.js → geminiContentGenerator-XBYBAIDQ.js} +9 -9
  245. package/chunks/{getMachineId-bsd-4CASPIU4.js → getMachineId-bsd-EXV7SWPA.js} +3 -3
  246. package/chunks/{getMachineId-darwin-HPQPEMZR.js → getMachineId-darwin-IUOMFXU3.js} +3 -3
  247. package/chunks/{getMachineId-linux-AUARKYHL.js → getMachineId-linux-K7XJYFHL.js} +2 -2
  248. package/chunks/{getMachineId-unsupported-S32ZDA2T.js → getMachineId-unsupported-EA5FDRJ6.js} +2 -2
  249. package/chunks/{getMachineId-win-4EFLHYIJ.js → getMachineId-win-KBA6RAI5.js} +3 -3
  250. package/chunks/{glob-ROV3YS4R.js → glob-UOEYQNHN.js} +97 -75
  251. package/chunks/{grep-NRITKDCD.js → grep-OQM3CH7W.js} +50 -50
  252. package/chunks/handleAutoUpdate-ORBYVJHZ.js +69 -0
  253. package/chunks/i18n-NBP574CO.js +84 -0
  254. package/chunks/initializer-CWD7TCCD.js +73 -0
  255. package/chunks/installationInfo-CHPDUPWC.js +65 -0
  256. package/chunks/{ja-CUHZOLEJ.js → ja-66J6B53L.js} +69 -7
  257. package/chunks/{keychain-token-storage-UJV5XP4Z.js → keychain-token-storage-AU22CQI6.js} +4 -4
  258. package/chunks/{kittyProtocolDetector-OJRCJLIU.js → kittyProtocolDetector-HCNNKJTI.js} +2 -2
  259. package/chunks/list-ZTTO362W.js +76 -0
  260. package/chunks/loadedSettingsAdapter-V4ZTRKUO.js +70 -0
  261. package/chunks/{loop-wakeup-OHWEMFP5.js → loop-wakeup-C4EXLYVA.js} +10 -10
  262. package/chunks/{lowlight-FYAAUU5J.js → lowlight-J2OZNPCA.js} +1 -1
  263. package/chunks/{ls-7MFU2QYW.js → ls-2OUTG3IZ.js} +6 -6
  264. package/chunks/{lsp-XHDTPTGV.js → lsp-4VMNXZW6.js} +4 -4
  265. package/chunks/mcp-UH5PSGIK.js +70 -0
  266. package/chunks/{monitor-FL2ZO33W.js → monitor-F4NYEU5J.js} +50 -50
  267. package/chunks/{multipart-parser-AJ4WASWR.js → multipart-parser-AWZKXSQN.js} +3 -3
  268. package/chunks/nonInteractiveCli-7IHPXVNH.js +129 -0
  269. package/chunks/{notebook-edit-6PULTHL5.js → notebook-edit-HPDXNGQH.js} +51 -51
  270. package/chunks/openaiContentGenerator-OBDNNOE2.js +56 -0
  271. package/chunks/pidfile-AUMGYIOK.js +73 -0
  272. package/chunks/{pt-OLYN42DS.js → pt-TFZO5Y6T.js} +68 -6
  273. package/chunks/{qwenContentGenerator-NX2E7PB7.js → qwenContentGenerator-LH2U2YRG.js} +52 -52
  274. package/chunks/{qwenOAuth2-ZV7YLMND.js → qwenOAuth2-LEYOU7RU.js} +9 -9
  275. package/chunks/read-file-HUUFBLEO.js +30 -0
  276. package/chunks/{read-mcp-resource-CNQHBSJM.js → read-mcp-resource-JUFHCKSC.js} +5 -5
  277. package/chunks/{read-package-up-ER5OJUGP.js → read-package-up-TCM6I7S2.js} +2 -2
  278. package/chunks/{record-artifact-SQ2OKRJW.js → record-artifact-DWSMBXYY.js} +4 -4
  279. package/chunks/ripGrep-C7X33LU6.js +60 -0
  280. package/chunks/{ru-LDM3GWVQ.js → ru-4L4LFHIT.js} +68 -6
  281. package/chunks/{run-qwen-serve-JK2DL7PI.js → run-qwen-serve-DGW5AFDJ.js} +1465 -283
  282. package/chunks/runtime-NYUSLBEZ.js +99 -0
  283. package/chunks/{scheduler-O4IGVZKK.js → scheduler-5VKDXULT.js} +51 -51
  284. package/chunks/{send-message-76GT3JMC.js → send-message-JZ752NWD.js} +7 -7
  285. package/chunks/serve-UTAHSFXH.js +76 -0
  286. package/chunks/{server-SGNPKX2O.js → server-VUHSYSUV.js} +9088 -1817
  287. package/chunks/{session-5BNM25EZ.js → session-QSGSSNFB.js} +340 -135
  288. package/chunks/settings-X24RYEED.js +120 -0
  289. package/chunks/shell-4MSI2R4O.js +70 -0
  290. package/chunks/{skill-I22QK5XS.js → skill-JR3GTNVZ.js} +24 -24
  291. package/chunks/spawnChannel-RFAAO44J.js +70 -0
  292. package/chunks/{src-7XL4G4DC.js → src-VLI3TKEY.js} +4 -4
  293. package/chunks/{src-BBQSM46M.js → src-YDBNMIIM.js} +183 -53
  294. package/chunks/standalone-update-4CY4HKGC.js +79 -0
  295. package/chunks/{startInteractiveUI-JII36UGN.js → startInteractiveUI-FOD7MMVB.js} +2368 -1923
  296. package/chunks/stdioHelpers-UMY72QRP.js +14 -0
  297. package/chunks/{syntheticOutput-F7LSDCAR.js → syntheticOutput-LELY6HAI.js} +5 -5
  298. package/chunks/task-create-QY3BIMNM.js +23 -0
  299. package/chunks/{task-list-TGGJX7EA.js → task-list-D2U47WBJ.js} +11 -10
  300. package/chunks/{task-stop-W7NGTMYQ.js → task-stop-N6E5IYLH.js} +4 -4
  301. package/chunks/{task-update-XYWMHJGJ.js → task-update-HJCQILLB.js} +13 -12
  302. package/chunks/{team-create-A7NUU5AQ.js → team-create-ZLQSU2E3.js} +50 -50
  303. package/chunks/{team-delete-UHQQ2QQX.js → team-delete-RCWYDRF4.js} +11 -10
  304. package/chunks/{team-plan-approval-TOQRJ2KI.js → team-plan-approval-YUAYBYLS.js} +50 -50
  305. package/chunks/theme-manager-SKNEBMOG.js +64 -0
  306. package/chunks/{todoWrite-C4ZAMSR3.js → todoWrite-FKCGATPJ.js} +6 -6
  307. package/chunks/{tool-search-SZ4EFS2T.js → tool-search-V5J3TGWY.js} +24 -24
  308. package/chunks/total-session-admission-2WIH72I3.js +72 -0
  309. package/chunks/tree-sitter-YJVE2ZUK.js +2980 -0
  310. package/chunks/trustedFolders-JF265CRI.js +80 -0
  311. package/chunks/types-ML3TRJQ5.js +16 -0
  312. package/chunks/updateCheck-AMXNPBP6.js +69 -0
  313. package/chunks/updateEventEmitter-5MKC7BLQ.js +10 -0
  314. package/chunks/validateNonInterActiveAuth-6YHQO7PD.js +194 -0
  315. package/chunks/{version-NO2XSNNP.js → version-UEJJK7PE.js} +3 -3
  316. package/chunks/{web-fetch-UYGMOHW4.js → web-fetch-QGODBB6S.js} +8 -8
  317. package/chunks/{workflow-WO2H6NRI.js → workflow-5YFA5V4M.js} +51 -51
  318. package/chunks/workspace-providers-status-LMBLBNR7.js +73 -0
  319. package/chunks/workspace-registration-store-VV2S4MSV.js +27 -0
  320. package/chunks/workspace-registry-BVMPYRLN.js +76 -0
  321. package/chunks/workspace-service-PUYIZ3J4.js +86 -0
  322. package/chunks/workspace-skills-status-CJ7J2KPP.js +72 -0
  323. package/chunks/{write-file-PX2Z7IBE.js → write-file-OV77M6X7.js} +51 -51
  324. package/chunks/{yargs-B64EYTCF.js → yargs-6H2AUULL.js} +2 -2
  325. package/chunks/{zh-J4F6QWQV.js → zh-FSAH32JB.js} +79 -7
  326. package/chunks/{zh-TW-XVDWOLSW.js → zh-TW-D2YIE2LO.js} +79 -7
  327. package/cli.js +18 -17
  328. package/locales/ca.js +91 -7
  329. package/locales/de.js +90 -7
  330. package/locales/en.js +109 -7
  331. package/locales/fr.js +91 -7
  332. package/locales/ja.js +93 -7
  333. package/locales/pt.js +90 -7
  334. package/locales/ru.js +90 -7
  335. package/locales/zh-TW.js +106 -7
  336. package/locales/zh.js +106 -7
  337. package/package.json +3 -6
  338. package/web-shell/assets/{arc-BWyoJpY2.js → arc-CObt_TK9.js} +1 -1
  339. package/web-shell/assets/{architectureDiagram-3BPJPVTR-BT0mGrz2.js → architectureDiagram-3BPJPVTR-B7aiJ6CK.js} +1 -1
  340. package/web-shell/assets/{blockDiagram-GPEHLZMM-BLgUWvyf.js → blockDiagram-GPEHLZMM-BSK2CrID.js} +1 -1
  341. package/web-shell/assets/{c4Diagram-AAUBKEIU-DYx9M7oU.js → c4Diagram-AAUBKEIU-Bhx2p7T_.js} +1 -1
  342. package/web-shell/assets/channel-BBaLq8MV.js +1 -0
  343. package/web-shell/assets/{chunk-2J33WTMH-CfMHWbuZ.js → chunk-2J33WTMH-c3Hzv0Ni.js} +1 -1
  344. package/web-shell/assets/{chunk-4BX2VUAB-B1URoqEV.js → chunk-4BX2VUAB-DNXaK7ZF.js} +1 -1
  345. package/web-shell/assets/{chunk-55IACEB6-DAIaM4QF.js → chunk-55IACEB6-BXjvDj_i.js} +1 -1
  346. package/web-shell/assets/{chunk-727SXJPM-B2X34knw.js → chunk-727SXJPM-B6CaKFp-.js} +1 -1
  347. package/web-shell/assets/{chunk-AQP2D5EJ-Cif-zLTQ.js → chunk-AQP2D5EJ-tij6Mz9B.js} +1 -1
  348. package/web-shell/assets/{chunk-FMBD7UC4-H18WCXdY.js → chunk-FMBD7UC4-DdlsGk2h.js} +1 -1
  349. package/web-shell/assets/{chunk-ND2GUHAM-YFtetHi0.js → chunk-ND2GUHAM-CdgGZSHE.js} +1 -1
  350. package/web-shell/assets/{chunk-QZHKN3VN-By2hiH3r.js → chunk-QZHKN3VN-D8oJn1C0.js} +1 -1
  351. package/web-shell/assets/classDiagram-4FO5ZUOK-B2ZK6sWE.js +1 -0
  352. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-B2ZK6sWE.js +1 -0
  353. package/web-shell/assets/{cose-bilkent-S5V4N54A-VrcnnLZu.js → cose-bilkent-S5V4N54A-BUVmNp1Y.js} +1 -1
  354. package/web-shell/assets/{dagre-BM42HDAG-CGo-IaVV.js → dagre-BM42HDAG-CO4q310O.js} +1 -1
  355. package/web-shell/assets/{diagram-2AECGRRQ-Dl4QjzIB.js → diagram-2AECGRRQ-C6gFvWkg.js} +1 -1
  356. package/web-shell/assets/{diagram-5GNKFQAL-qMLmsO0u.js → diagram-5GNKFQAL-NG2I_c0h.js} +1 -1
  357. package/web-shell/assets/{diagram-KO2AKTUF-CHlmuxPI.js → diagram-KO2AKTUF-DFKMS6I9.js} +1 -1
  358. package/web-shell/assets/{diagram-LMA3HP47-BUwU3GwT.js → diagram-LMA3HP47-BiElfsfP.js} +1 -1
  359. package/web-shell/assets/{diagram-OG6HWLK6-HEhwPDUM.js → diagram-OG6HWLK6-zLWDYUqu.js} +1 -1
  360. package/web-shell/assets/{erDiagram-TEJ5UH35-1n0llBmM.js → erDiagram-TEJ5UH35-DoVaazhK.js} +1 -1
  361. package/web-shell/assets/{flowDiagram-I6XJVG4X-BN74uMnt.js → flowDiagram-I6XJVG4X-0RLz-mXg.js} +1 -1
  362. package/web-shell/assets/{ganttDiagram-6RSMTGT7-BoOq78i3.js → ganttDiagram-6RSMTGT7-C-eX1A39.js} +3 -3
  363. package/web-shell/assets/{gitGraphDiagram-PVQCEYII-CN8b00c8.js → gitGraphDiagram-PVQCEYII-BauQu1Bu.js} +1 -1
  364. package/web-shell/assets/index-3uAT3ehO.css +5 -0
  365. package/web-shell/assets/index-CVHa2QH7.js +3 -0
  366. package/web-shell/assets/index-D1KigWat.js +1128 -0
  367. package/web-shell/assets/{infoDiagram-5YYISTIA-CCurnIna.js → infoDiagram-5YYISTIA-C800cFvZ.js} +1 -1
  368. package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-AwuRqdUP.js → ishikawaDiagram-YF4QCWOH-CFK1Jk6e.js} +1 -1
  369. package/web-shell/assets/{journeyDiagram-JHISSGLW-B7IICk-E.js → journeyDiagram-JHISSGLW-Cjx0WAC4.js} +1 -1
  370. package/web-shell/assets/{kanban-definition-UN3LZRKU-BYF0OKhx.js → kanban-definition-UN3LZRKU-DWMDHbiv.js} +1 -1
  371. package/web-shell/assets/{linear-GWWguGfD.js → linear-vpW4FrZs.js} +1 -1
  372. package/web-shell/assets/{mermaid.core-JqtkxvCl.js → mermaid.core-DsHRUnDd.js} +5 -5
  373. package/web-shell/assets/{mindmap-definition-RKZ34NQL-B0MmHsZ6.js → mindmap-definition-RKZ34NQL-D3Eb1cAK.js} +1 -1
  374. package/web-shell/assets/{pieDiagram-4H26LBE5-DhImUZLQ.js → pieDiagram-4H26LBE5-Cr2-6sWt.js} +1 -1
  375. package/web-shell/assets/{quadrantDiagram-W4KKPZXB-DGeSC3DT.js → quadrantDiagram-W4KKPZXB-Yd7yUgVp.js} +1 -1
  376. package/web-shell/assets/{requirementDiagram-4Y6WPE33-DkspY6Re.js → requirementDiagram-4Y6WPE33-BE6SprL8.js} +1 -1
  377. package/web-shell/assets/{sankeyDiagram-5OEKKPKP-CaOofS2x.js → sankeyDiagram-5OEKKPKP-DzkuMK8d.js} +1 -1
  378. package/web-shell/assets/{sequenceDiagram-3UESZ5HK-DFQ_kFnN.js → sequenceDiagram-3UESZ5HK-wD9A3Dhi.js} +1 -1
  379. package/web-shell/assets/{stateDiagram-AJRCARHV-D3snw0Tz.js → stateDiagram-AJRCARHV-BOp5q1Nm.js} +1 -1
  380. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-BDsWUmPG.js +1 -0
  381. package/web-shell/assets/{timeline-definition-PNZ67QCA-l4zH8nLM.js → timeline-definition-PNZ67QCA-Btc08sUA.js} +1 -1
  382. package/web-shell/assets/{vennDiagram-CIIHVFJN-BnRlA98M.js → vennDiagram-CIIHVFJN-Bv6upsOA.js} +1 -1
  383. package/web-shell/assets/{wardley-L42UT6IY-BS0xUdmd.js → wardley-L42UT6IY-D-XamnCK.js} +1 -1
  384. package/web-shell/assets/{wardleyDiagram-YWT4CUSO-DKGBUWyQ.js → wardleyDiagram-YWT4CUSO-BbP_5Wfp.js} +1 -1
  385. package/web-shell/assets/{xychartDiagram-2RQKCTM6-DVb2HuOB.js → xychartDiagram-2RQKCTM6-CO5Hh28b.js} +1 -1
  386. package/web-shell/index.html +16 -4
  387. package/chunks/MaxSizedBox-5DT2SD7B.js +0 -71
  388. package/chunks/agent-H2DGKS77.js +0 -68
  389. package/chunks/agent-headless-KFMFIT6J.js +0 -62
  390. package/chunks/bridge-NA3ZQQKJ.js +0 -78
  391. package/chunks/chunk-5P5XGNYH.js +0 -93
  392. package/chunks/chunk-6SHO7WFF.js +0 -79
  393. package/chunks/chunk-IFEWJXFS.js +0 -37
  394. package/chunks/chunk-XNXVCNAT.js +0 -88
  395. package/chunks/contextCommand-LXFZRP4L.js +0 -68
  396. package/chunks/daemon-status-provider-GJRXY5EN.js +0 -76
  397. package/chunks/earlyInputCapture-KNOYZ4MJ.js +0 -69
  398. package/chunks/environment-ATFTYMLZ.js +0 -88
  399. package/chunks/errors-A54HAADA.js +0 -75
  400. package/chunks/handleAutoUpdate-CEZJAARW.js +0 -65
  401. package/chunks/initializer-BRFJKRRX.js +0 -71
  402. package/chunks/list-KVHF7O4X.js +0 -73
  403. package/chunks/loadedSettingsAdapter-LL5PSFKX.js +0 -68
  404. package/chunks/mcp-3GCXRTOQ.js +0 -68
  405. package/chunks/nonInteractiveCli-PTQI3DV6.js +0 -119
  406. package/chunks/openaiContentGenerator-YE42PKCY.js +0 -56
  407. package/chunks/pidfile-NZYSCFRK.js +0 -73
  408. package/chunks/read-file-33XGP5HF.js +0 -30
  409. package/chunks/ripGrep-QWZLGTAN.js +0 -60
  410. package/chunks/serve-JTMIGANH.js +0 -74
  411. package/chunks/settings-3MI4XXP6.js +0 -118
  412. package/chunks/shell-YJKBE67T.js +0 -68
  413. package/chunks/spawnChannel-UNV6W4DU.js +0 -70
  414. package/chunks/task-create-WCHTB435.js +0 -22
  415. package/chunks/theme-manager-WZ4RRMMB.js +0 -64
  416. package/chunks/total-session-admission-ULXJWXFV.js +0 -72
  417. package/chunks/trustedFolders-LAZZPZ3D.js +0 -79
  418. package/chunks/types-QX5C3CHJ.js +0 -12
  419. package/chunks/updateCheck-KONLM73X.js +0 -65
  420. package/chunks/validateNonInterActiveAuth-MPKSRCXD.js +0 -184
  421. package/chunks/workspace-providers-status-3W7E7DFW.js +0 -71
  422. package/chunks/workspace-registry-SXJZNN3O.js +0 -74
  423. package/chunks/workspace-service-CZRQZ4Q4.js +0 -80
  424. package/chunks/workspace-skills-status-K7WFREPD.js +0 -70
  425. package/node_modules/@qwen-code/audio-capture/dist/index.d.ts +0 -35
  426. package/node_modules/@qwen-code/audio-capture/dist/index.js +0 -48
  427. package/node_modules/@qwen-code/audio-capture/dist/index.js.map +0 -1
  428. package/node_modules/@qwen-code/audio-capture/dist/platform.d.ts +0 -7
  429. package/node_modules/@qwen-code/audio-capture/dist/platform.js +0 -18
  430. package/node_modules/@qwen-code/audio-capture/dist/platform.js.map +0 -1
  431. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/LICENSE +0 -21
  432. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/README.md +0 -58
  433. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/SECURITY.md +0 -5
  434. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/bin.js +0 -84
  435. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/build-test.js +0 -19
  436. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/index.js +0 -6
  437. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/node-gyp-build.js +0 -207
  438. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/optional.js +0 -7
  439. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/package.json +0 -43
  440. package/node_modules/@qwen-code/audio-capture/package.json +0 -30
  441. package/node_modules/@qwen-code/audio-capture/prebuilds/darwin-arm64/@qwen-code+audio-capture.node +0 -0
  442. package/node_modules/@qwen-code/audio-capture/prebuilds/darwin-x64/@qwen-code+audio-capture.node +0 -0
  443. package/node_modules/@qwen-code/audio-capture/prebuilds/linux-arm64/@qwen-code+audio-capture.node +0 -0
  444. package/node_modules/@qwen-code/audio-capture/prebuilds/linux-x64/@qwen-code+audio-capture.node +0 -0
  445. package/node_modules/@qwen-code/audio-capture/prebuilds/win32-x64/@qwen-code+audio-capture.node +0 -0
  446. package/web-shell/assets/channel-wmPUGHtg.js +0 -1
  447. package/web-shell/assets/classDiagram-4FO5ZUOK-BA2ljEjW.js +0 -1
  448. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-BA2ljEjW.js +0 -1
  449. package/web-shell/assets/index-CNwoO1Cn.js +0 -783
  450. package/web-shell/assets/index-CWQ0z6kZ.css +0 -5
  451. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-BbSm_9d0.js +0 -1
@@ -2,17 +2,17 @@
2
2
  "use strict";
3
3
  import {
4
4
  Mutex
5
- } from "./chunk-OMX7CUOE.js";
5
+ } from "./chunk-VGC4I5JJ.js";
6
6
  import {
7
7
  atomicWriteJSON
8
- } from "./chunk-7LTB54MK.js";
8
+ } from "./chunk-WIEO4CWB.js";
9
9
  import {
10
10
  Storage,
11
11
  getProjectHash
12
- } from "./chunk-22MNNNXE.js";
12
+ } from "./chunk-7NFB7LBQ.js";
13
13
  import {
14
14
  init_esbuild_shims
15
- } from "./chunk-A4BMJM77.js";
15
+ } from "./chunk-5O2XNYP6.js";
16
16
  import {
17
17
  __name
18
18
  } from "./chunk-J2S4EL5Y.js";
@@ -28,6 +28,15 @@ function appendCronRun(runs, entry) {
28
28
  return next.length > MAX_TASK_RUNS ? next.slice(next.length - MAX_TASK_RUNS) : next;
29
29
  }
30
30
  __name(appendCronRun, "appendCronRun");
31
+ function taskHasLegacyCondition(task) {
32
+ const condition = task["condition"];
33
+ return typeof condition === "string" && condition.length > 0;
34
+ }
35
+ __name(taskHasLegacyCondition, "taskHasLegacyCondition");
36
+ function taskHasLegacyRunMode(task) {
37
+ return task["runMode"] === "isolated";
38
+ }
39
+ __name(taskHasLegacyRunMode, "taskHasLegacyRunMode");
31
40
  function generateCronTaskId() {
32
41
  const chars = "abcdefghijklmnopqrstuvwxyz0123456789";
33
42
  let id = "";
@@ -185,7 +194,9 @@ function isValidRuns(value) {
185
194
  return value.every((entry) => {
186
195
  if (typeof entry !== "object" || entry === null) return false;
187
196
  const run = entry;
188
- return isFiniteTimestamp(run["at"]) && (run["kind"] === void 0 || typeof run["kind"] === "string") && (run["sessionId"] === void 0 || typeof run["sessionId"] === "string");
197
+ return isFiniteTimestamp(run["at"]) && (run["kind"] === void 0 || typeof run["kind"] === "string") && (run["sessionId"] === void 0 || typeof run["sessionId"] === "string") && // Read-only legacy compat: validate so a stored `withheld` marker isn't
198
+ // rejected on read (it is never written anymore).
199
+ (run["withheld"] === void 0 || typeof run["withheld"] === "boolean");
189
200
  });
190
201
  }
191
202
  __name(isValidRuns, "isValidRuns");
@@ -206,6 +217,8 @@ __name(isValidTask, "isValidTask");
206
217
  export {
207
218
  MAX_TASK_RUNS,
208
219
  appendCronRun,
220
+ taskHasLegacyCondition,
221
+ taskHasLegacyRunMode,
209
222
  generateCronTaskId,
210
223
  CRON_TASKS_DISPLAY_PATH,
211
224
  getCronFilePath,
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  init_esbuild_shims
5
- } from "./chunk-A4BMJM77.js";
5
+ } from "./chunk-5O2XNYP6.js";
6
6
 
7
7
  // packages/core/src/output/types.ts
8
8
  init_esbuild_shims();
@@ -3,10 +3,10 @@
3
3
  import {
4
4
  require_function_bind,
5
5
  require_hasown
6
- } from "./chunk-UWCTAVOD.js";
6
+ } from "./chunk-CR3C7WXL.js";
7
7
  import {
8
8
  init_esbuild_shims
9
- } from "./chunk-A4BMJM77.js";
9
+ } from "./chunk-5O2XNYP6.js";
10
10
  import {
11
11
  __commonJS,
12
12
  __name
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  init_esbuild_shims
5
- } from "./chunk-A4BMJM77.js";
5
+ } from "./chunk-5O2XNYP6.js";
6
6
  import {
7
7
  __esm,
8
8
  __export,
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  init_esbuild_shims
5
- } from "./chunk-A4BMJM77.js";
5
+ } from "./chunk-5O2XNYP6.js";
6
6
  import {
7
7
  __name
8
8
  } from "./chunk-J2S4EL5Y.js";
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  init_esbuild_shims
5
- } from "./chunk-A4BMJM77.js";
5
+ } from "./chunk-5O2XNYP6.js";
6
6
  import {
7
7
  __name
8
8
  } from "./chunk-J2S4EL5Y.js";
@@ -2,30 +2,31 @@
2
2
  "use strict";
3
3
  import {
4
4
  createDebugLogger
5
- } from "./chunk-22MNNNXE.js";
5
+ } from "./chunk-7NFB7LBQ.js";
6
6
  import {
7
7
  init_esbuild_shims
8
- } from "./chunk-A4BMJM77.js";
8
+ } from "./chunk-5O2XNYP6.js";
9
9
  import {
10
10
  __name
11
11
  } from "./chunk-J2S4EL5Y.js";
12
12
 
13
13
  // packages/core/src/utils/request-tokenizer/textTokenizer.ts
14
14
  init_esbuild_shims();
15
+ var NON_ASCII_RE = /[\u0080-\uffff]/;
15
16
  function estimateTextTokens(text) {
16
17
  if (!text || text.length === 0) {
17
18
  return 0;
18
19
  }
19
- let asciiChars = 0;
20
+ if (!NON_ASCII_RE.test(text)) {
21
+ return Math.ceil(text.length / 4);
22
+ }
20
23
  let nonAsciiChars = 0;
21
24
  for (let i = 0; i < text.length; i++) {
22
- const charCode = text.charCodeAt(i);
23
- if (charCode < 128) {
24
- asciiChars++;
25
- } else {
25
+ if (text.charCodeAt(i) >= 128) {
26
26
  nonAsciiChars++;
27
27
  }
28
28
  }
29
+ const asciiChars = text.length - nonAsciiChars;
29
30
  const tokens = asciiChars / 4 + nonAsciiChars * 1.1;
30
31
  return Math.ceil(tokens);
31
32
  }
@@ -0,0 +1,224 @@
1
+ // Force strict mode and setup for ESM
2
+ "use strict";
3
+ import {
4
+ INBOXES_DIR,
5
+ LEADER_NAME,
6
+ TASKS_DIR,
7
+ TEAMMATE_COLORS,
8
+ TEAMS_DIR,
9
+ TEAM_CONFIG_FILENAME
10
+ } from "./chunk-CPBF7KYF.js";
11
+ import {
12
+ atomicWriteJSON
13
+ } from "./chunk-WIEO4CWB.js";
14
+ import {
15
+ Storage,
16
+ isNodeError
17
+ } from "./chunk-7NFB7LBQ.js";
18
+ import {
19
+ init_esbuild_shims
20
+ } from "./chunk-5O2XNYP6.js";
21
+ import {
22
+ __name
23
+ } from "./chunk-J2S4EL5Y.js";
24
+
25
+ // packages/core/src/agents/team/teamHelpers.ts
26
+ init_esbuild_shims();
27
+ import * as fs from "node:fs/promises";
28
+ import * as path from "node:path";
29
+ function getTeamsRootDir() {
30
+ return path.join(Storage.getGlobalQwenDir(), TEAMS_DIR);
31
+ }
32
+ __name(getTeamsRootDir, "getTeamsRootDir");
33
+ function getTeamDir(teamName) {
34
+ return path.join(getTeamsRootDir(), teamName);
35
+ }
36
+ __name(getTeamDir, "getTeamDir");
37
+ function getTeamFilePath(teamName) {
38
+ return path.join(getTeamDir(teamName), TEAM_CONFIG_FILENAME);
39
+ }
40
+ __name(getTeamFilePath, "getTeamFilePath");
41
+ function getInboxesDir(teamName) {
42
+ return path.join(getTeamDir(teamName), INBOXES_DIR);
43
+ }
44
+ __name(getInboxesDir, "getInboxesDir");
45
+ function getTasksDir(teamName) {
46
+ return path.join(Storage.getGlobalQwenDir(), TASKS_DIR, teamName);
47
+ }
48
+ __name(getTasksDir, "getTasksDir");
49
+ function sanitizeName(name) {
50
+ return name.toLowerCase().replace(/[^a-z0-9-]/g, "-").replace(/-+/g, "-").replace(/^-|-$/g, "");
51
+ }
52
+ __name(sanitizeName, "sanitizeName");
53
+ function formatAgentId(name, teamName) {
54
+ return `${sanitizeName(name)}@${sanitizeName(teamName)}`;
55
+ }
56
+ __name(formatAgentId, "formatAgentId");
57
+ function generateUniqueTeammateName(baseName, existingMembers) {
58
+ const sanitized = sanitizeName(baseName);
59
+ if (!sanitized) {
60
+ throw new Error(
61
+ `Teammate name "${baseName}" sanitizes to an empty string. Choose a name with at least one alphanumeric character.`
62
+ );
63
+ }
64
+ if (sanitized === LEADER_NAME) {
65
+ throw new Error(
66
+ `"${LEADER_NAME}" is reserved for the team leader. Choose a different teammate name.`
67
+ );
68
+ }
69
+ const existingNames = new Set(existingMembers.map((m) => m.name));
70
+ if (existingNames.has(sanitized)) {
71
+ const existingList = [...existingNames].join(", ") || "<none>";
72
+ throw new Error(
73
+ `A teammate named "${sanitized}" already exists in this team (existing: ${existingList}). Choose a different name.`
74
+ );
75
+ }
76
+ return sanitized;
77
+ }
78
+ __name(generateUniqueTeammateName, "generateUniqueTeammateName");
79
+ function assignTeammateColor(existingMembers) {
80
+ const usedColors = new Set(
81
+ existingMembers.map((m) => m.color).filter((c) => c !== void 0)
82
+ );
83
+ for (const color of TEAMMATE_COLORS) {
84
+ if (!usedColors.has(color)) {
85
+ return color;
86
+ }
87
+ }
88
+ return TEAMMATE_COLORS[existingMembers.length % TEAMMATE_COLORS.length];
89
+ }
90
+ __name(assignTeammateColor, "assignTeammateColor");
91
+ function clearTeammateColors(members) {
92
+ return members.map((m) => {
93
+ const { color: _, ...rest } = m;
94
+ return rest;
95
+ });
96
+ }
97
+ __name(clearTeammateColors, "clearTeammateColors");
98
+ function setMemberActive(members, agentId, isActive) {
99
+ return members.map((m) => m.agentId === agentId ? { ...m, isActive } : m);
100
+ }
101
+ __name(setMemberActive, "setMemberActive");
102
+ function findMemberById(members, agentId) {
103
+ return members.find((m) => m.agentId === agentId);
104
+ }
105
+ __name(findMemberById, "findMemberById");
106
+ function findMemberByName(members, name) {
107
+ const sanitized = sanitizeName(name);
108
+ return members.find((m) => m.name === sanitized);
109
+ }
110
+ __name(findMemberByName, "findMemberByName");
111
+ function classifyShutdownResponse(message) {
112
+ const trimmed = message.trimStart();
113
+ if (/^shutdown_approved\b/i.test(trimmed)) return "shutdown_approved";
114
+ if (/^shutdown_rejected\b/i.test(trimmed)) return "shutdown_rejected";
115
+ return void 0;
116
+ }
117
+ __name(classifyShutdownResponse, "classifyShutdownResponse");
118
+ async function readTeamFile(teamName) {
119
+ const filePath = getTeamFilePath(teamName);
120
+ try {
121
+ const raw = await fs.readFile(filePath, "utf-8");
122
+ return JSON.parse(raw);
123
+ } catch (err) {
124
+ if (isNodeError(err) && err.code === "ENOENT") {
125
+ return void 0;
126
+ }
127
+ throw err;
128
+ }
129
+ }
130
+ __name(readTeamFile, "readTeamFile");
131
+ async function writeTeamFile(teamName, teamFile) {
132
+ const filePath = getTeamFilePath(teamName);
133
+ await fs.mkdir(path.dirname(filePath), { recursive: true });
134
+ await atomicWriteJSON(filePath, teamFile);
135
+ }
136
+ __name(writeTeamFile, "writeTeamFile");
137
+ async function createTeamFile(teamName, teamFile) {
138
+ const filePath = getTeamFilePath(teamName);
139
+ await fs.mkdir(path.dirname(filePath), { recursive: true });
140
+ await fs.writeFile(filePath, JSON.stringify(teamFile, null, 2) + "\n", {
141
+ encoding: "utf-8",
142
+ flag: "wx"
143
+ });
144
+ }
145
+ __name(createTeamFile, "createTeamFile");
146
+ function isPidAlive(pid) {
147
+ try {
148
+ process.kill(pid, 0);
149
+ return true;
150
+ } catch (err) {
151
+ return isNodeError(err) && err.code === "EPERM";
152
+ }
153
+ }
154
+ __name(isPidAlive, "isPidAlive");
155
+ async function tryReclaimStaleTeam(teamName) {
156
+ let existing;
157
+ try {
158
+ existing = await readTeamFile(teamName);
159
+ } catch {
160
+ return false;
161
+ }
162
+ if (!existing) {
163
+ await deleteTeamDirs(teamName);
164
+ return true;
165
+ }
166
+ if (typeof existing.leadPid !== "number" || existing.leadPid <= 0) {
167
+ return false;
168
+ }
169
+ if (existing.leadPid !== process.pid && isPidAlive(existing.leadPid)) {
170
+ return false;
171
+ }
172
+ await deleteTeamDirs(teamName);
173
+ return true;
174
+ }
175
+ __name(tryReclaimStaleTeam, "tryReclaimStaleTeam");
176
+ async function deleteTeamDirs(teamName) {
177
+ const teamDir = getTeamDir(teamName);
178
+ const tasksDir = getTasksDir(teamName);
179
+ await Promise.allSettled([
180
+ fs.rm(teamDir, { recursive: true, force: true }),
181
+ fs.rm(tasksDir, { recursive: true, force: true })
182
+ ]);
183
+ }
184
+ __name(deleteTeamDirs, "deleteTeamDirs");
185
+ async function listTeamNames() {
186
+ const teamsRoot = getTeamsRootDir();
187
+ try {
188
+ const entries = await fs.readdir(teamsRoot, {
189
+ withFileTypes: true
190
+ });
191
+ return entries.filter((e) => e.isDirectory()).map((e) => e.name);
192
+ } catch {
193
+ return [];
194
+ }
195
+ }
196
+ __name(listTeamNames, "listTeamNames");
197
+
198
+ export {
199
+ getTeamsRootDir,
200
+ getTeamDir,
201
+ getTeamFilePath,
202
+ getInboxesDir,
203
+ getTasksDir,
204
+ sanitizeName,
205
+ formatAgentId,
206
+ generateUniqueTeammateName,
207
+ assignTeammateColor,
208
+ clearTeammateColors,
209
+ setMemberActive,
210
+ findMemberById,
211
+ findMemberByName,
212
+ classifyShutdownResponse,
213
+ readTeamFile,
214
+ writeTeamFile,
215
+ createTeamFile,
216
+ tryReclaimStaleTeam,
217
+ deleteTeamDirs,
218
+ listTeamNames
219
+ };
220
+ /**
221
+ * @license
222
+ * Copyright 2025 Qwen
223
+ * SPDX-License-Identifier: Apache-2.0
224
+ */
@@ -9,10 +9,10 @@ import {
9
9
  require_subprotocol,
10
10
  require_websocket,
11
11
  require_websocket_server
12
- } from "./chunk-5IFG2VC4.js";
12
+ } from "./chunk-FCMNKVXT.js";
13
13
  import {
14
14
  init_esbuild_shims
15
- } from "./chunk-A4BMJM77.js";
15
+ } from "./chunk-5O2XNYP6.js";
16
16
  import {
17
17
  __toESM
18
18
  } from "./chunk-J2S4EL5Y.js";
@@ -2,10 +2,10 @@
2
2
  "use strict";
3
3
  import {
4
4
  createDebugLogger
5
- } from "./chunk-22MNNNXE.js";
5
+ } from "./chunk-7NFB7LBQ.js";
6
6
  import {
7
7
  init_esbuild_shims
8
- } from "./chunk-A4BMJM77.js";
8
+ } from "./chunk-5O2XNYP6.js";
9
9
  import {
10
10
  __name
11
11
  } from "./chunk-J2S4EL5Y.js";
@@ -3,10 +3,10 @@
3
3
  import {
4
4
  external_exports,
5
5
  external_exports2
6
- } from "./chunk-K5PGHDBN.js";
6
+ } from "./chunk-H6XPXXMH.js";
7
7
  import {
8
8
  init_esbuild_shims
9
- } from "./chunk-A4BMJM77.js";
9
+ } from "./chunk-5O2XNYP6.js";
10
10
  import {
11
11
  __name
12
12
  } from "./chunk-J2S4EL5Y.js";
@@ -1,14 +1,18 @@
1
1
  // Force strict mode and setup for ESM
2
2
  "use strict";
3
3
  import {
4
- handleAtCommand
5
- } from "./chunk-RMLZAUWH.js";
4
+ settleChatRecording,
5
+ subscribeToHeadlessChatRecordingFailures
6
+ } from "./chunk-7DKX4A5Z.js";
6
7
  import {
7
8
  JsonOutputAdapter
8
- } from "./chunk-EEN2TKST.js";
9
+ } from "./chunk-43RXPU5Q.js";
9
10
  import {
10
11
  StreamJsonOutputAdapter
11
- } from "./chunk-CHB5SLZZ.js";
12
+ } from "./chunk-UNLRKDMW.js";
13
+ import {
14
+ handleAtCommand
15
+ } from "./chunk-A3U2TQUL.js";
12
16
  import {
13
17
  buildInitialSystemReminders,
14
18
  buildSystemMessage,
@@ -20,10 +24,10 @@ import {
20
24
  insertAfterFunctionResponses,
21
25
  isSlashCommand,
22
26
  normalizePartList
23
- } from "./chunk-2EM7ECZD.js";
27
+ } from "./chunk-SMSFWUFY.js";
24
28
  import {
25
29
  RunBudgetEnforcer
26
- } from "./chunk-YDOXPLYL.js";
30
+ } from "./chunk-ZA74ZTQU.js";
27
31
  import {
28
32
  AlreadyReportedError,
29
33
  handleBudgetExceededError,
@@ -31,17 +35,15 @@ import {
31
35
  handleError,
32
36
  handleMaxTurnsExceededError,
33
37
  handleToolError
34
- } from "./chunk-DCZWC4PF.js";
38
+ } from "./chunk-ZGE3222J.js";
35
39
  import {
36
40
  isInlineModelOverrideAllowed
37
- } from "./chunk-DIWVZ3VM.js";
41
+ } from "./chunk-ERTHKDKN.js";
38
42
  import {
39
- ORPHAN_TOOL_USE_REPAIR_REASON,
40
- buildSyntheticToolResponseParts,
43
+ buildSessionRecoveryPlanFromApiHistory,
41
44
  createDuplicateProviderToolCallResponse,
42
45
  detectAutonomousSentinel,
43
46
  detectLoopSentinel,
44
- detectTurnInterruption,
45
47
  executeToolCall,
46
48
  findRepeatedDuplicateProviderToolCall,
47
49
  isSystemReminderContent,
@@ -49,22 +51,22 @@ import {
49
51
  parseAndFormatApiError,
50
52
  promptIdContext,
51
53
  restoreWorktreeContext
52
- } from "./chunk-3GNOQZDC.js";
54
+ } from "./chunk-HJUDVNCO.js";
53
55
  import {
54
56
  isTelemetrySdkInitialized,
55
57
  shutdownTelemetry,
56
58
  uiTelemetryService
57
- } from "./chunk-BUZ6HGL4.js";
59
+ } from "./chunk-HWTL6MPR.js";
58
60
  import {
59
61
  ToolNames
60
- } from "./chunk-X3YGAX7V.js";
62
+ } from "./chunk-JGUT3LWZ.js";
61
63
  import {
62
64
  FatalInputError,
63
65
  createDebugLogger
64
- } from "./chunk-22MNNNXE.js";
66
+ } from "./chunk-7NFB7LBQ.js";
65
67
  import {
66
68
  init_esbuild_shims
67
- } from "./chunk-A4BMJM77.js";
69
+ } from "./chunk-5O2XNYP6.js";
68
70
  import {
69
71
  __name
70
72
  } from "./chunk-J2S4EL5Y.js";
@@ -140,6 +142,7 @@ async function emitNonInteractiveFinalMessage(params) {
140
142
  const usage = computeUsageFromMetrics(metrics);
141
143
  const outputFormat = config.getOutputFormat();
142
144
  const stats = outputFormat === "json" /* JSON */ ? uiTelemetryService.getMetrics() : void 0;
145
+ await params.beforeEmit();
143
146
  adapter.emitResult({
144
147
  isError,
145
148
  durationMs: Date.now() - params.startTimeMs,
@@ -166,7 +169,17 @@ async function runNonInteractive(config, settings, input, prompt_id, options = {
166
169
  } else {
167
170
  adapter = new JsonOutputAdapter(config);
168
171
  }
169
- const emitResult = /* @__PURE__ */ __name((result) => {
172
+ const ownsAdapter = options.adapter === void 0;
173
+ const unsubscribeRecordingFailure = ownsAdapter ? subscribeToHeadlessChatRecordingFailures(config, adapter) : void 0;
174
+ let chatRecordingSettlement;
175
+ const settleBeforeTerminalOutput = /* @__PURE__ */ __name(() => {
176
+ chatRecordingSettlement ??= settleChatRecording(config, {
177
+ finalize: ownsAdapter
178
+ }).then(() => void 0);
179
+ return chatRecordingSettlement;
180
+ }, "settleBeforeTerminalOutput");
181
+ const emitResult = /* @__PURE__ */ __name(async (result) => {
182
+ await settleBeforeTerminalOutput();
170
183
  adapter.emitResult(result);
171
184
  options.onResultEmitted?.();
172
185
  }, "emitResult");
@@ -186,6 +199,7 @@ async function runNonInteractive(config, settings, input, prompt_id, options = {
186
199
  );
187
200
  budgetEnforcer.start();
188
201
  const routeAbort = /* @__PURE__ */ __name(async () => {
202
+ await settleBeforeTerminalOutput();
189
203
  const exceeded = budgetEnforcer.getExceeded();
190
204
  if (exceeded) {
191
205
  await handleBudgetExceededError(config, exceeded);
@@ -306,32 +320,30 @@ ${reason}
306
320
  );
307
321
  let inlineModelOverride;
308
322
  if (options.continueInterrupted) {
309
- const detection = detectTurnInterruption(
310
- geminiClient.getChat().getHistory()
311
- );
312
- debugLogger.info("[runNonInteractive] continueInterrupted detection", {
313
- kind: detection.kind,
314
- partsCount: detection.kind === "interrupted_prompt" ? detection.parts.length : 0,
315
- danglingCallCount: detection.kind === "interrupted_turn" ? detection.danglingCalls.length : 0
323
+ const recoveryPlan = buildSessionRecoveryPlanFromApiHistory({
324
+ sessionId,
325
+ apiHistory: geminiClient.getChat().getHistory()
326
+ });
327
+ debugLogger.info("[runNonInteractive] continueInterrupted recovery", {
328
+ kind: recoveryPlan.kind,
329
+ repairs: recoveryPlan.repairs,
330
+ hasContinuation: recoveryPlan.continuation !== void 0
316
331
  });
317
- if (detection.kind === "none") {
332
+ if (!recoveryPlan.continuation) {
318
333
  await emitNonInteractiveFinalMessage({
319
334
  message: "No interrupted turn to continue.",
320
335
  isError: false,
321
336
  adapter,
322
337
  config,
323
- startTimeMs: startTime
338
+ startTimeMs: startTime,
339
+ beforeEmit: settleBeforeTerminalOutput
324
340
  });
325
341
  return 0;
326
342
  }
327
- if (detection.kind === "interrupted_prompt") {
328
- initialPartList = detection.parts;
343
+ initialPartList = recoveryPlan.continuation.parts;
344
+ if (recoveryPlan.continuation.mode === "retry_user_parts") {
329
345
  continueSendType = "retry" /* Retry */;
330
346
  } else {
331
- initialPartList = buildSyntheticToolResponseParts(
332
- detection.danglingCalls,
333
- ORPHAN_TOOL_USE_REPAIR_REASON
334
- );
335
347
  continueSendType = "toolResult" /* ToolResult */;
336
348
  }
337
349
  const reminderParts = buildInitialSystemReminders(config);
@@ -381,7 +393,8 @@ ${reason}
381
393
  isError: slashCommandResult.messageType === "error",
382
394
  adapter,
383
395
  config,
384
- startTimeMs: startTime
396
+ startTimeMs: startTime,
397
+ beforeEmit: settleBeforeTerminalOutput
385
398
  });
386
399
  return slashCommandResult.messageType === "error" ? 1 : 0;
387
400
  }
@@ -395,7 +408,8 @@ ${reason}
395
408
  isError: true,
396
409
  adapter,
397
410
  config,
398
- startTimeMs: startTime
411
+ startTimeMs: startTime,
412
+ beforeEmit: settleBeforeTerminalOutput
399
413
  });
400
414
  return 1;
401
415
  }
@@ -553,7 +567,7 @@ ${text}
553
567
  const metrics = uiTelemetryService.getMetrics();
554
568
  const usage = computeUsageFromMetrics(metrics);
555
569
  const stats = outputFormat === "json" /* JSON */ ? uiTelemetryService.getMetrics() : void 0;
556
- emitResult({
570
+ await emitResult({
557
571
  isError: false,
558
572
  durationMs: Date.now() - startTime,
559
573
  apiDurationMs: totalApiDurationMs,
@@ -564,17 +578,18 @@ ${text}
564
578
  });
565
579
  return 0;
566
580
  }, "emitStructuredSuccess");
567
- const emitLoopDetectedResult = /* @__PURE__ */ __name(() => {
581
+ const emitLoopDetectedResult = /* @__PURE__ */ __name(async () => {
568
582
  registry.abortAll();
569
583
  flushQueuedNotificationsToSdk(localQueue);
570
584
  finalizeOneShotMonitors();
571
585
  if (outputFormat === "text" /* TEXT */) {
586
+ await settleBeforeTerminalOutput();
572
587
  return 1;
573
588
  }
574
589
  const metrics = uiTelemetryService.getMetrics();
575
590
  const usage = computeUsageFromMetrics(metrics);
576
591
  const stats = outputFormat === "json" /* JSON */ ? uiTelemetryService.getMetrics() : void 0;
577
- adapter.emitResult({
592
+ await emitResult({
578
593
  isError: true,
579
594
  durationMs: Date.now() - startTime,
580
595
  apiDurationMs: totalApiDurationMs,
@@ -773,6 +788,7 @@ ${text}
773
788
  hasUnsentToolResponse = false;
774
789
  turnCount++;
775
790
  if (config.getMaxSessionTurns() >= 0 && turnCount > config.getMaxSessionTurns()) {
791
+ await settleBeforeTerminalOutput();
776
792
  await handleMaxTurnsExceededError(config);
777
793
  }
778
794
  let sendType;
@@ -894,6 +910,7 @@ ${text}
894
910
  }
895
911
  }
896
912
  if (abortController.signal.aborted) {
913
+ await settleBeforeTerminalOutput();
897
914
  await handleCancellationError(config);
898
915
  }
899
916
  if (teamManager) {
@@ -923,6 +940,7 @@ ${text}
923
940
  };
924
941
  turnCount++;
925
942
  if (config.getMaxSessionTurns() >= 0 && turnCount > config.getMaxSessionTurns()) {
943
+ await settleBeforeTerminalOutput();
926
944
  await handleMaxTurnsExceededError(config);
927
945
  }
928
946
  let itemMessages = [
@@ -1117,7 +1135,7 @@ ${text}
1117
1135
  const previewSnippet = plainTextPreview.trim();
1118
1136
  const previewSuffix = previewSnippet ? ` Output preview (${plainTextPreview.length}${plainTextPreview.length >= PLAIN_TEXT_PREVIEW_LIMIT ? "+" : ""} chars): ${JSON.stringify(previewSnippet)}.` : "";
1119
1137
  const errorMessage = `Model produced plain text instead of calling the structured_output tool as required by --json-schema after ${turnCount} turn(s).` + previewSuffix;
1120
- emitResult({
1138
+ await emitResult({
1121
1139
  isError: true,
1122
1140
  durationMs: Date.now() - startTime,
1123
1141
  apiDurationMs: totalApiDurationMs,
@@ -1128,7 +1146,7 @@ ${text}
1128
1146
  });
1129
1147
  return 1;
1130
1148
  }
1131
- emitResult({
1149
+ await emitResult({
1132
1150
  isError: false,
1133
1151
  durationMs: Date.now() - startTime,
1134
1152
  apiDurationMs: totalApiDurationMs,
@@ -1153,9 +1171,10 @@ ${text}
1153
1171
  const stats = outputFormat === "json" /* JSON */ ? uiTelemetryService.getMetrics() : void 0;
1154
1172
  const isAlreadyReportedError = error instanceof AlreadyReportedError;
1155
1173
  const skipAdapterEmit = outputFormat === "text" /* TEXT */ && isAlreadyReportedError;
1174
+ await settleBeforeTerminalOutput();
1156
1175
  if (!skipAdapterEmit) {
1157
1176
  try {
1158
- emitResult({
1177
+ await emitResult({
1159
1178
  isError: true,
1160
1179
  durationMs: Date.now() - startTime,
1161
1180
  apiDurationMs: totalApiDurationMs,
@@ -1194,6 +1213,7 @@ ${text}
1194
1213
  if (options.captureMonitorRegistrations !== false) {
1195
1214
  monReg.setRegisterCallback(void 0);
1196
1215
  }
1216
+ unsubscribeRecordingFailure?.();
1197
1217
  process.stdout.removeListener("error", stdoutErrorHandler);
1198
1218
  process.removeListener("SIGINT", shutdownHandler);
1199
1219
  process.removeListener("SIGTERM", shutdownHandler);