@qwen-code/qwen-code 0.21.0 → 0.21.1-nightly.20260731.702932cc7

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 (423) hide show
  1. package/bundled/qc-helper/docs/configuration/model-providers.md +2 -0
  2. package/bundled/qc-helper/docs/configuration/settings.md +39 -28
  3. package/bundled/qc-helper/docs/features/channels/_meta.ts +2 -0
  4. package/bundled/qc-helper/docs/features/channels/github.md +139 -0
  5. package/bundled/qc-helper/docs/features/channels/gitlab.md +171 -0
  6. package/bundled/qc-helper/docs/features/channels/overview.md +61 -6
  7. package/bundled/qc-helper/docs/features/code-review.md +21 -1
  8. package/bundled/qc-helper/docs/features/hooks.md +72 -15
  9. package/bundled/qc-helper/docs/features/mcp.md +9 -1
  10. package/bundled/qc-helper/docs/features/scheduled-tasks.md +3 -1
  11. package/bundled/qc-helper/docs/features/sub-agents.md +42 -8
  12. package/bundled/qc-helper/docs/qwen-serve.md +11 -7
  13. package/bundled/qc-helper/docs/reference/keyboard-shortcuts.md +2 -2
  14. package/bundled/qc-helper/docs/support/troubleshooting.md +2 -1
  15. package/bundled/review/DESIGN.md +19 -0
  16. package/bundled/review/SKILL.md +120 -61
  17. package/chunks/MaxSizedBox-LAFHK4VO.js +88 -0
  18. package/chunks/{StandaloneSessionPicker-BIRMPLRD.js → StandaloneSessionPicker-EMNOBN3S.js} +71 -68
  19. package/chunks/{acp-startup-profiler-RV3IV562.js → acp-startup-profiler-2C4A5ZTJ.js} +2 -2
  20. package/chunks/{acpAgent-6J2U72PQ.js → acpAgent-ERFA6HWV.js} +1674 -591
  21. package/chunks/agent-PLKF6JK4.js +84 -0
  22. package/chunks/agent-headless-JAORDQ63.js +78 -0
  23. package/chunks/{anthropicContentGenerator-75BKLTSP.js → anthropicContentGenerator-OFHSZJBF.js} +79 -27
  24. package/chunks/{artifact-tool-Y5T7GG7F.js → artifact-tool-RDN2W7ND.js} +4 -4
  25. package/chunks/{askUserQuestion-2H6747FR.js → askUserQuestion-OZERWH5R.js} +4 -4
  26. package/chunks/bridge-NYOBVRIT.js +94 -0
  27. package/chunks/{build-RV63TIRH.js → build-GDBLPA24.js} +1 -1
  28. package/chunks/{ca-25EDXPFZ.js → ca-6W3SK7OQ.js} +6 -1
  29. package/chunks/channel-management-service-5S7YCWX5.js +418 -0
  30. package/chunks/channel-settings-store-NLOKYO23.js +91 -0
  31. package/chunks/{channel-worker-group-2ZD7TVAT.js → channel-worker-group-OVWGYMZS.js} +11 -6
  32. package/chunks/{channel-worker-manager-4OA4BCGB.js → channel-worker-manager-H55GKOQA.js} +11 -6
  33. package/chunks/{channel-worker-supervisor-V7KCFJTS.js → channel-worker-supervisor-CABBXYHK.js} +7 -5
  34. package/chunks/{chunk-RIBKPMRP.js → chunk-23F4XGWO.js} +19 -6
  35. package/chunks/{chunk-ACY3A37B.js → chunk-25VHI5T7.js} +23 -18
  36. package/chunks/{chunk-MZAXJAUM.js → chunk-26JK4RPD.js} +1 -1
  37. package/chunks/{chunk-6GMVPFB2.js → chunk-2IIJTXYF.js} +45 -16
  38. package/chunks/{chunk-BPJSQIJX.js → chunk-2J3OJGTL.js} +0 -2
  39. package/chunks/{chunk-2X55UKQE.js → chunk-2JZR3B4A.js} +3 -3
  40. package/chunks/{chunk-7JURR4JT.js → chunk-2OQUICDM.js} +167 -81
  41. package/chunks/{chunk-ZJHVAS7M.js → chunk-2YCYFWYZ.js} +4 -5
  42. package/chunks/{chunk-3QMGYBFN.js → chunk-3APUUXRF.js} +1 -80
  43. package/chunks/{chunk-MUP3T3AD.js → chunk-3I6DUGQD.js} +1 -35
  44. package/chunks/{chunk-JVPM2ULZ.js → chunk-3XZ5SSNR.js} +6 -6
  45. package/chunks/chunk-42VPM33K.js +319 -0
  46. package/chunks/{chunk-VAK25FTU.js → chunk-45IOTAUS.js} +1 -1
  47. package/chunks/chunk-45UYUCJ6.js +363 -0
  48. package/chunks/{chunk-JZA3JUDJ.js → chunk-4KP2F2TE.js} +1 -1
  49. package/chunks/{chunk-IO3IX5Q4.js → chunk-4YJQD2IO.js} +1 -1
  50. package/chunks/{chunk-JXJFVC6E.js → chunk-5G6XUGXO.js} +61 -14
  51. package/chunks/{chunk-ZOIFNCKL.js → chunk-5NNHICSA.js} +3 -23
  52. package/chunks/{chunk-A4UCTEB5.js → chunk-5WV5S2GT.js} +0 -1
  53. package/chunks/{chunk-RHLZR4E5.js → chunk-675H6PLP.js} +1 -1
  54. package/chunks/chunk-6FMJLI5M.js +1591 -0
  55. package/chunks/chunk-6MPDY6ZG.js +76 -0
  56. package/chunks/{chunk-PSOO6YXD.js → chunk-6NUWQ3R7.js} +9 -7
  57. package/chunks/{chunk-7MVVZO4N.js → chunk-6ZRWX46I.js} +4 -4
  58. package/chunks/{chunk-TPRQ7RZH.js → chunk-76E5Y3UZ.js} +3117 -993
  59. package/chunks/{chunk-UUUTRMI2.js → chunk-7ULQIS27.js} +1 -1
  60. package/chunks/{chunk-BKHWX6I2.js → chunk-A5BZ722X.js} +11 -3
  61. package/chunks/{chunk-TEHGS6UP.js → chunk-A5T5W7PR.js} +154 -16
  62. package/chunks/{chunk-VIA5XA4U.js → chunk-A5UODYG3.js} +4 -1
  63. package/chunks/{chunk-JLU636DO.js → chunk-ALMR3E6Q.js} +1 -0
  64. package/chunks/{chunk-EBJQ6AXW.js → chunk-ANDVK2JN.js} +358 -14
  65. package/chunks/{chunk-TOFQCPDC.js → chunk-AOHY3QJ3.js} +14 -8
  66. package/chunks/chunk-AQ37AY7B.js +93 -0
  67. package/chunks/{chunk-PJIZUQVC.js → chunk-AZQ3DT76.js} +2 -2
  68. package/chunks/{chunk-LKEJ26GS.js → chunk-B3TA3IF5.js} +16 -11
  69. package/chunks/{chunk-Q4M4MDQ4.js → chunk-B43QHWY6.js} +1 -1
  70. package/chunks/{chunk-UH3WSE5L.js → chunk-B4AJNNOL.js} +1 -6
  71. package/chunks/{chunk-K36B6G2O.js → chunk-B6FOGNGH.js} +5 -5
  72. package/chunks/{chunk-PWVFN2LF.js → chunk-BP2H5K25.js} +1 -1
  73. package/chunks/{chunk-LB6DUZ26.js → chunk-BTWSGZCT.js} +264 -185
  74. package/chunks/{chunk-ZNAUOR2I.js → chunk-BZBPT52P.js} +2 -2
  75. package/chunks/{chunk-L26JL52R.js → chunk-CBBP4BMC.js} +64 -67
  76. package/chunks/{chunk-ZD6UTE4A.js → chunk-CNTR4GR6.js} +1 -1
  77. package/chunks/{chunk-3SJ43L4W.js → chunk-CPZAH673.js} +6 -0
  78. package/chunks/{chunk-EPDRMGT4.js → chunk-D4HTUMGX.js} +4 -28
  79. package/chunks/{chunk-QAF7NMK7.js → chunk-D7CQTWRS.js} +1 -1
  80. package/chunks/{chunk-XVNQMZ2I.js → chunk-DGEIYUC3.js} +0 -1
  81. package/chunks/{chunk-BPZALHVR.js → chunk-DI35ZN7T.js} +1 -1
  82. package/chunks/{chunk-IKCX4CCL.js → chunk-DKPJUF5F.js} +118 -95
  83. package/chunks/{chunk-DLWL3Z7A.js → chunk-DSFHVTWD.js} +3 -3
  84. package/chunks/{chunk-FSITMZJH.js → chunk-DYRYLJ3O.js} +18 -9
  85. package/chunks/{chunk-NL7LTRLR.js → chunk-E2BHWIDT.js} +48 -72
  86. package/chunks/{chunk-UDX5OBWR.js → chunk-E2FN6SM7.js} +94 -4
  87. package/chunks/{chunk-USTWD7QV.js → chunk-E6CJ2SMM.js} +26 -16
  88. package/chunks/{chunk-KMQ33DO4.js → chunk-EDB7A72S.js} +4 -4
  89. package/chunks/{chunk-7ZCNENPP.js → chunk-FANRZEAJ.js} +1 -1
  90. package/chunks/{chunk-WBL3FJEU.js → chunk-FC4KQFCS.js} +1 -1
  91. package/chunks/{chunk-5NBDS5S6.js → chunk-FCYYAB4S.js} +162 -7
  92. package/chunks/{chunk-OKY7HXPG.js → chunk-FJ5WUMUQ.js} +2 -2
  93. package/chunks/{chunk-PHOF65IG.js → chunk-FRXG4ARO.js} +36273 -44436
  94. package/chunks/{chunk-FQK6JAFG.js → chunk-FS674JW4.js} +4 -4
  95. package/chunks/chunk-FYJ7W2PI.js +194 -0
  96. package/chunks/{chunk-BULDBTYC.js → chunk-G7XXKQYS.js} +3 -28
  97. package/chunks/{chunk-LS77BEZP.js → chunk-GLCZKT5V.js} +1 -5
  98. package/chunks/{chunk-VRYUBFMC.js → chunk-GRUAVQQR.js} +1 -1
  99. package/chunks/{chunk-MVSUYZDT.js → chunk-GWV7DI3S.js} +4 -4
  100. package/chunks/{chunk-A5L3JMUA.js → chunk-HC45LTEN.js} +18 -4
  101. package/chunks/{chunk-PC6JANNU.js → chunk-HKRVXYDN.js} +4 -4
  102. package/chunks/{chunk-GZXCZHCT.js → chunk-I3G5JWBV.js} +1 -1
  103. package/chunks/{chunk-4WIZGAH3.js → chunk-I5BT7ADR.js} +6 -58
  104. package/chunks/{chunk-GSN55ZRI.js → chunk-ID3O7PRB.js} +19 -7
  105. package/chunks/{chunk-L5UHQJTJ.js → chunk-IGTHU3T4.js} +1 -1
  106. package/chunks/{chunk-BIQWWWJN.js → chunk-IIUGIWWY.js} +1 -1
  107. package/chunks/{chunk-RWTEFFPU.js → chunk-JCJ7LKNA.js} +6140 -5616
  108. package/chunks/{chunk-S3TWXGKA.js → chunk-JE7KQ2UP.js} +4 -2
  109. package/chunks/{chunk-PWTZEM3C.js → chunk-JXVC2PL3.js} +3 -37
  110. package/chunks/chunk-JYBU6YUE.js +378 -0
  111. package/chunks/{chunk-RF3EXIHJ.js → chunk-K3PFMM5U.js} +49 -26
  112. package/chunks/{chunk-JCW2R7WC.js → chunk-K623ENWT.js} +3 -79
  113. package/chunks/{chunk-T2NCM2ET.js → chunk-K6KS3LTN.js} +2 -749
  114. package/chunks/chunk-KWHKHSIS.js +81 -0
  115. package/chunks/{chunk-DHHOYAPR.js → chunk-L2E5GFAG.js} +7 -7
  116. package/chunks/{chunk-2W3OOD4W.js → chunk-L55JWS76.js} +6 -3
  117. package/chunks/{chunk-E5TUC6CA.js → chunk-LHKCY7DY.js} +3 -3
  118. package/chunks/{chunk-NH6KE4JX.js → chunk-LOY7RWQG.js} +3 -3
  119. package/chunks/{chunk-U7M2DMGW.js → chunk-M4MSAE7U.js} +130 -5
  120. package/chunks/{chunk-IJTOWOD7.js → chunk-MB32MS4U.js} +92 -9
  121. package/chunks/{chunk-PR75REBZ.js → chunk-MM7TH7ZM.js} +12 -82
  122. package/chunks/{chunk-FODK6UMO.js → chunk-MPHPFVKK.js} +0 -2
  123. package/chunks/{chunk-M5JM7OSF.js → chunk-N4ACHWNH.js} +2 -3
  124. package/chunks/{chunk-JESCGQM3.js → chunk-NAVJD2PQ.js} +8 -7
  125. package/chunks/{chunk-J56UI34H.js → chunk-NBD76HUW.js} +4 -2
  126. package/chunks/{chunk-2SCDWPXI.js → chunk-NC4U4I3Y.js} +5 -5
  127. package/chunks/{chunk-H4SBPHSA.js → chunk-NNL7WPPK.js} +3 -3
  128. package/chunks/{chunk-YBL3QUDD.js → chunk-NQCXWP5D.js} +1 -1
  129. package/chunks/{chunk-CIKQ7KKO.js → chunk-NVFSGPIF.js} +954 -444
  130. package/chunks/{chunk-6OUGMXDC.js → chunk-NWNEANAT.js} +7 -7
  131. package/chunks/chunk-O6GEWCJA.js +21 -0
  132. package/chunks/chunk-OCPBI7J5.js +18 -0
  133. package/chunks/{chunk-KIM5GUMA.js → chunk-OE6F6ZWQ.js} +589 -220
  134. package/chunks/{chunk-SQCQ4KO2.js → chunk-P5DEY3NF.js} +380 -317
  135. package/chunks/{chunk-2JZBVYTU.js → chunk-Q3T5KA2V.js} +1 -8
  136. package/chunks/{chunk-MB4MZHMJ.js → chunk-QARJNL2V.js} +211 -522
  137. package/chunks/{chunk-YH6G52F2.js → chunk-QCXGC7QB.js} +4 -4
  138. package/chunks/chunk-QDK4F2N5.js +1252 -0
  139. package/chunks/{chunk-VDDGDZMA.js → chunk-QHWCP53L.js} +14 -7
  140. package/chunks/{chunk-VULLI6WQ.js → chunk-QIERF2GQ.js} +6 -6
  141. package/chunks/{chunk-TGILQ3YH.js → chunk-QQTJK5GB.js} +200 -77
  142. package/chunks/{chunk-H5FFA6TH.js → chunk-QTHQ6Z5X.js} +16 -3
  143. package/chunks/{chunk-5I2IWRSH.js → chunk-R2XWGR75.js} +2 -2
  144. package/chunks/{chunk-YPE6A4GC.js → chunk-RT7FNC2O.js} +2 -2
  145. package/chunks/{chunk-OFDOK3VM.js → chunk-RX7NJOPE.js} +8 -13
  146. package/chunks/{chunk-6AM5D4ME.js → chunk-S6LOFUVP.js} +0 -12
  147. package/chunks/{chunk-K4XWPEWB.js → chunk-SHN4KHDK.js} +4 -33
  148. package/chunks/{chunk-VYPFXUCB.js → chunk-SZ3KHTDR.js} +1 -1
  149. package/chunks/chunk-T26EAKDL.js +13 -0
  150. package/chunks/chunk-T3CHYWJZ.js +758 -0
  151. package/chunks/{chunk-FNQ6T3CV.js → chunk-TEGJSJDF.js} +10 -7
  152. package/chunks/{chunk-RZIX2G32.js → chunk-THPORXSI.js} +1 -1
  153. package/chunks/{chunk-OHNBB4XR.js → chunk-THVU3RNH.js} +1 -1
  154. package/chunks/{record-artifact-RQKFYO5B.js → chunk-TIRRPCFS.js} +22 -7
  155. package/chunks/{chunk-ETSW4KLJ.js → chunk-TUCOXPHJ.js} +2 -2
  156. package/chunks/{chunk-63P4EL5V.js → chunk-TZTAV5RH.js} +1 -1
  157. package/chunks/{chunk-LK7CHLVP.js → chunk-U4VTUMMK.js} +0 -60
  158. package/chunks/{chunk-3RN6GBKS.js → chunk-U5CODIJW.js} +1 -1
  159. package/chunks/chunk-UU2B5YG6.js +2196 -0
  160. package/chunks/{chunk-R5AFZNQW.js → chunk-VAVHTGU4.js} +15 -8
  161. package/chunks/{chunk-2NH6DYI4.js → chunk-VHPFWR2O.js} +12 -12
  162. package/chunks/{chunk-IKYJHJNF.js → chunk-VOMQ2P6B.js} +3 -3
  163. package/chunks/{chunk-ZFDTEDCF.js → chunk-VX22DUW2.js} +6 -6
  164. package/chunks/{chunk-HTR4WV6U.js → chunk-W4RQUHY3.js} +31 -1
  165. package/chunks/{chunk-M4FMGVY4.js → chunk-WQP7BKWA.js} +3 -3
  166. package/chunks/{chunk-LH2BYDQ5.js → chunk-X2E5TFJ5.js} +18 -12
  167. package/chunks/{chunk-COH43MRJ.js → chunk-XCGIMOLN.js} +27 -1
  168. package/chunks/{chunk-YX324OPW.js → chunk-XDS22O52.js} +1 -1
  169. package/chunks/chunk-XP4L6KS3.js +463 -0
  170. package/chunks/{chunk-6FGBXPWM.js → chunk-XQK4XXTN.js} +38 -44
  171. package/chunks/{chunk-55DJUCI2.js → chunk-XWYPFDB5.js} +53 -43
  172. package/chunks/{chunk-Y34KJKDC.js → chunk-Y7BVNVVW.js} +1 -1
  173. package/chunks/{chunk-IPUUTYMV.js → chunk-YDLJGZHL.js} +1 -1
  174. package/chunks/{chunk-HIJQF5B5.js → chunk-YGE3IXJP.js} +1 -1
  175. package/chunks/{chunk-LQIW3YFY.js → chunk-YJFPRUWX.js} +9 -7
  176. package/chunks/{chunk-J24WCGIN.js → chunk-YQIIG4NA.js} +4 -4
  177. package/chunks/{chunk-BJX6ZSUK.js → chunk-YUFIEIWC.js} +2 -2
  178. package/chunks/{chunk-NIBLUX3Y.js → chunk-Z3S5EMOW.js} +148 -21
  179. package/chunks/{chunk-WCXCRJYB.js → chunk-Z3YLHKB7.js} +1 -1
  180. package/chunks/chunk-Z4X5MTRT.js +133 -0
  181. package/chunks/{chunk-UW5EOVUN.js → chunk-ZBVS26BY.js} +4 -4
  182. package/chunks/{chunk-HTO4JFDZ.js → chunk-ZPJWUGCS.js} +0 -1
  183. package/chunks/{chunk-X5XDDSSH.js → chunk-ZPZ7ZJEE.js} +28 -5
  184. package/chunks/{computer-use-SOQ4E3VX.js → computer-use-GOM42LNK.js} +53 -50
  185. package/chunks/{config-utils-7V7GGIW6.js → config-utils-WADIDWGG.js} +4 -3
  186. package/chunks/contextCommand-6LVPTIWD.js +83 -0
  187. package/chunks/core-runtime-253XV2DB.js +137 -0
  188. package/chunks/{create-sub-session-QRJLW5BV.js → create-sub-session-45POYEVP.js} +50 -47
  189. package/chunks/{create-sub-session-IWW2IZ2T.js → create-sub-session-62YZWVAY.js} +3 -3
  190. package/chunks/{cron-create-YIID5XAW.js → cron-create-6E7GIQTG.js} +6 -6
  191. package/chunks/{cron-delete-ZVHYCEP2.js → cron-delete-JD26XY3W.js} +5 -5
  192. package/chunks/{cron-list-XEGS463Q.js → cron-list-CUWFB44G.js} +6 -6
  193. package/chunks/{daemon-YO6433NF.js → daemon-PCNCI5YU.js} +428 -18
  194. package/chunks/daemon-status-provider-AKALDYJJ.js +93 -0
  195. package/chunks/daemon-trust-policy-XB7ZSQFQ.js +88 -0
  196. package/chunks/daemon-trust-policy-monitor-FUTKP42Q.js +175 -0
  197. package/chunks/{de-HGRCYDEJ.js → de-SY6O76BF.js} +6 -1
  198. package/chunks/deferred-core-runtime-RKLCO7V5.js +92 -0
  199. package/chunks/dist-26BIMQT6.js +4487 -0
  200. package/chunks/{dist-F6IBUDR4.js → dist-2PERFI23.js} +12 -9
  201. package/chunks/{dist-46NQKLTW.js → dist-OAOC5OV4.js} +2 -2
  202. package/chunks/{dist-YFNEUWSE.js → dist-PVEAFLHY.js} +5 -4
  203. package/chunks/{dist-AIKFMUKK.js → dist-SL2LUMML.js} +1449 -14
  204. package/chunks/dist-ULIG4M5H.js +13415 -0
  205. package/chunks/{dist-WEAHOXDM.js → dist-WGMNT3JQ.js} +2 -1
  206. package/chunks/{dist-BBLXMS3N.js → dist-ZHXOBXDN.js} +3 -3
  207. package/chunks/earlyInputCapture-FCWU47OB.js +85 -0
  208. package/chunks/{edit-OBDSQURM.js → edit-TTACM3LN.js} +51 -48
  209. package/chunks/{en-MTWBNGDO.js → en-NBK3JKCE.js} +9 -1
  210. package/chunks/{enter-worktree-U6MRPQ2P.js → enter-worktree-R34GFDX6.js} +51 -48
  211. package/chunks/{enterPlanMode-BC5QUZZ2.js → enterPlanMode-KJPBB6G5.js} +51 -48
  212. package/chunks/environment-IJG3N2PR.js +105 -0
  213. package/chunks/errors-MRON5OJD.js +91 -0
  214. package/chunks/esm-K5FARBNI.js +5548 -0
  215. package/chunks/{exit-worktree-DGNYMECB.js → exit-worktree-UBA66Y4I.js} +51 -48
  216. package/chunks/exitPlanMode-SMSPGNSK.js +76 -0
  217. package/chunks/{fast-path-JJZFJANL.js → fast-path-ZBAMZDCP.js} +16 -6
  218. package/chunks/{fr-45RLL55O.js → fr-4KG5V7UT.js} +6 -1
  219. package/chunks/{gemini-QS36EBZV.js → gemini-XFT7HRNL.js} +106 -99
  220. package/chunks/{geminiContentGenerator-AG4KB6CV.js → geminiContentGenerator-XD3MLYQX.js} +40 -11
  221. package/chunks/{getMachineId-bsd-V7W3GODC.js → getMachineId-bsd-FG7IUY6U.js} +1 -1
  222. package/chunks/{getMachineId-darwin-TDO75DQP.js → getMachineId-darwin-GLCJI2RA.js} +1 -1
  223. package/chunks/{getMachineId-linux-TF43WQT2.js → getMachineId-linux-O6OPPAKO.js} +1 -1
  224. package/chunks/{getMachineId-unsupported-ZGUO3TXT.js → getMachineId-unsupported-S6CKYVGC.js} +1 -1
  225. package/chunks/{getMachineId-win-ECFYZZFQ.js → getMachineId-win-X5SRNEH7.js} +1 -1
  226. package/chunks/{glob-V7R3PSK3.js → glob-HFKY7HXZ.js} +51 -48
  227. package/chunks/goal-tools-HGO6VXPB.js +335 -0
  228. package/chunks/{grep-QYPSK7OP.js → grep-EO5Z3PFV.js} +53 -49
  229. package/chunks/handleAutoUpdate-WRENFE6C.js +84 -0
  230. package/chunks/i18n-ZG5OTVSV.js +100 -0
  231. package/chunks/{image-gen-Z3VPGKRC.js → image-gen-CKWZ4MJI.js} +12 -12
  232. package/chunks/initializer-FYPLLRC7.js +89 -0
  233. package/chunks/installationInfo-5RV4HRMC.js +83 -0
  234. package/chunks/{ja-B7DF7DFG.js → ja-F3GSQXMF.js} +6 -1
  235. package/chunks/{keychain-token-storage-MDTG3WRM.js → keychain-token-storage-IKO4G53C.js} +3 -3
  236. package/chunks/lib-RUF3WZA6.js +9 -0
  237. package/chunks/list-ZNWVL3AT.js +92 -0
  238. package/chunks/{list-agents-5KJJHR6I.js → list-agents-PXJ7ZUFB.js} +3 -3
  239. package/chunks/loadedSettingsAdapter-GQGNHP5I.js +86 -0
  240. package/chunks/{loggingContentGenerator-HS3S5H3Q.js → loggingContentGenerator-MS5DFAWH.js} +78 -113
  241. package/chunks/{loop-wakeup-FXKNNYSY.js → loop-wakeup-Y26NQZ5I.js} +15 -8
  242. package/chunks/{ls-NTK6VOQJ.js → ls-ONQTTMQR.js} +5 -5
  243. package/chunks/{lsp-2JI24STP.js → lsp-YGHHRGMD.js} +3 -3
  244. package/chunks/{managed-npm-update-JYEMMXA3.js → managed-npm-update-67AK4GTL.js} +51 -48
  245. package/chunks/mcp-FVQ4VTLM.js +86 -0
  246. package/chunks/{monitor-R3ODH5U6.js → monitor-BXB33EOZ.js} +51 -48
  247. package/chunks/nonInteractiveCli-CN2GYSN3.js +148 -0
  248. package/chunks/{notebook-edit-BNOK452R.js → notebook-edit-FKYRBV4L.js} +51 -48
  249. package/chunks/{openaiContentGenerator-WMCU3O2H.js → openaiContentGenerator-UUXV5DGU.js} +26 -27
  250. package/chunks/pidfile-MV347TTZ.js +89 -0
  251. package/chunks/process-registry-2CHQBXH5.js +157 -0
  252. package/chunks/{processUtils-RT7UNCC2.js → processUtils-LKFG52RV.js} +2 -2
  253. package/chunks/{pt-22Q3FP73.js → pt-EQ33KWEN.js} +6 -1
  254. package/chunks/{qwenContentGenerator-HHCRK4SX.js → qwenContentGenerator-3WYI2HRW.js} +56 -53
  255. package/chunks/{qwenOAuth2-OWLB5AKH.js → qwenOAuth2-B46MW45O.js} +10 -10
  256. package/chunks/read-file-ACSHVWP3.js +29 -0
  257. package/chunks/{read-mcp-resource-4DKQWGHD.js → read-mcp-resource-U2IJN5HM.js} +4 -4
  258. package/chunks/record-artifact-MGPJ7EG4.js +21 -0
  259. package/chunks/resumeHistoryUtils-AMS4767B.js +94 -0
  260. package/chunks/ripGrep-BAPM2UKC.js +76 -0
  261. package/chunks/{ru-FZCNZHDC.js → ru-7OZAUKGG.js} +6 -1
  262. package/chunks/{run-qwen-serve-FU6HEM4J.js → run-qwen-serve-JEN6FO2A.js} +1018 -263
  263. package/chunks/runtime-WVP22ISH.js +122 -0
  264. package/chunks/{scheduler-G2ZS2Z7E.js → scheduler-HTX5ACVR.js} +50 -47
  265. package/chunks/{sdk-exporters-grpc-AK3LGHNO.js → sdk-exporters-grpc-54L4LS5L.js} +4 -4
  266. package/chunks/{sdk-exporters-http-FYBSUCPD.js → sdk-exporters-http-4BQANSJ6.js} +7 -7
  267. package/chunks/{sdk-impl-GMVPB7NB.js → sdk-impl-Z4VXWVFX.js} +14 -14
  268. package/chunks/{send-message-Q6OOR6BR.js → send-message-PMP4ATVM.js} +8 -13
  269. package/chunks/serve-ELQIVNWN.js +92 -0
  270. package/chunks/{server-4UMH7OIZ.js → server-JNW2NOSQ.js} +5288 -1364
  271. package/chunks/{session-K3O3Q2SV.js → session-NC356XNS.js} +102 -95
  272. package/chunks/{settings-CR2EWTBA.js → settings-73RMIOJ6.js} +54 -51
  273. package/chunks/shell-NMHF5TFG.js +86 -0
  274. package/chunks/{skill-I3SDA4MB.js → skill-XPGXHEKO.js} +22 -22
  275. package/chunks/skill-settings-5IGIJDGA.js +94 -0
  276. package/chunks/spawnChannel-T5THBHFN.js +85 -0
  277. package/chunks/standalone-update-ODXEPDLP.js +95 -0
  278. package/chunks/{startInteractiveUI-SLZGHRPH.js → startInteractiveUI-S27DXVAE.js} +1241 -905
  279. package/chunks/{syntheticOutput-I3757IWH.js → syntheticOutput-D7E6ZFKR.js} +4 -4
  280. package/chunks/task-create-NFCYD43L.js +26 -0
  281. package/chunks/{task-list-FOPULZEP.js → task-list-TAVMGEVD.js} +7 -7
  282. package/chunks/{task-stop-H6RHXFVQ.js → task-stop-ZDF2UJRM.js} +3 -3
  283. package/chunks/{task-update-M57TFZJT.js → task-update-6L7LHGEX.js} +12 -11
  284. package/chunks/{team-create-YJALH5D2.js → team-create-CTLQWTJ2.js} +53 -50
  285. package/chunks/{team-delete-QE2UXJL7.js → team-delete-DPGGRQBU.js} +7 -7
  286. package/chunks/{team-plan-approval-34QFYKGN.js → team-plan-approval-WKRUAPJ4.js} +51 -48
  287. package/chunks/theme-manager-XQHXQQX6.js +80 -0
  288. package/chunks/{todoWrite-VQ7FKOHL.js → todoWrite-2UO5G6G6.js} +34 -6
  289. package/chunks/{tool-search-NF7GB6LE.js → tool-search-45YINAJA.js} +21 -22
  290. package/chunks/total-session-admission-QPUKGHKO.js +88 -0
  291. package/chunks/trustedFolders-YMUTRHEQ.js +98 -0
  292. package/chunks/{update-relaunch-WBUZJC5O.js → update-relaunch-PZUXTVHC.js} +5 -5
  293. package/chunks/updateCheck-IZAN4XTB.js +95 -0
  294. package/chunks/useAutoAcceptIndicator-CGL2MAYE.js +96 -0
  295. package/chunks/{validateNonInterActiveAuth-3R223G3R.js → validateNonInterActiveAuth-GBGNJ65K.js} +97 -90
  296. package/chunks/{version-HS7YSFHV.js → version-Z7EX24NZ.js} +1 -1
  297. package/chunks/{web-fetch-NKCSG7ZE.js → web-fetch-ETTT2H3V.js} +19 -21
  298. package/chunks/{web-search-S62WAP4S.js → web-search-Y3ZSVRJ6.js} +13 -13
  299. package/chunks/{workflow-QAGU5RU4.js → workflow-ATRJSAO7.js} +52 -49
  300. package/chunks/workspace-providers-status-YM3WLW3N.js +89 -0
  301. package/chunks/{workspace-registration-store-24JMHDGF.js → workspace-registration-store-4EGNCIPG.js} +1 -1
  302. package/chunks/workspace-registry-NGZOZKQP.js +96 -0
  303. package/chunks/workspace-service-SVWOXX2B.js +103 -0
  304. package/chunks/workspace-skills-status-YZHZ3PT5.js +89 -0
  305. package/chunks/workspace-trust-reconciler-GGBQV2U5.js +349 -0
  306. package/chunks/write-file-HLGCEB72.js +78 -0
  307. package/chunks/xterm-headless-NTYVIBT3.js +3475 -0
  308. package/chunks/{zh-LUIGBD55.js → zh-H3YDK5QW.js} +9 -1
  309. package/chunks/{zh-TW-F5KG2IYD.js → zh-TW-JYCP7XUA.js} +9 -1
  310. package/chunks/zoom-image-LDECT475.js +224 -0
  311. package/cli.js +50 -16
  312. package/locales/ca.js +7 -2
  313. package/locales/de.js +7 -2
  314. package/locales/en.js +10 -2
  315. package/locales/fr.js +7 -2
  316. package/locales/ja.js +7 -2
  317. package/locales/pt.js +7 -2
  318. package/locales/ru.js +7 -2
  319. package/locales/zh-TW.js +10 -2
  320. package/locales/zh.js +10 -2
  321. package/package.json +5 -4
  322. package/web-shell/assets/{arc-DcbWnB9T.js → arc-Dpy_U6Bb.js} +1 -1
  323. package/web-shell/assets/{architectureDiagram-3BPJPVTR-kMMF5sud.js → architectureDiagram-3BPJPVTR-DgDOg-c5.js} +1 -1
  324. package/web-shell/assets/{blockDiagram-GPEHLZMM-Htl9vTJS.js → blockDiagram-GPEHLZMM-tADd9Ja3.js} +1 -1
  325. package/web-shell/assets/{c4Diagram-AAUBKEIU-BnZnm0mQ.js → c4Diagram-AAUBKEIU-68wj9MCU.js} +1 -1
  326. package/web-shell/assets/channel-Do7fFnFl.js +1 -0
  327. package/web-shell/assets/{chunk-2J33WTMH-DziB7kDG.js → chunk-2J33WTMH-DjJLOeVU.js} +1 -1
  328. package/web-shell/assets/{chunk-4BX2VUAB-CmkD8daw.js → chunk-4BX2VUAB-CMbzGeVC.js} +1 -1
  329. package/web-shell/assets/{chunk-55IACEB6-CHAd9A_U.js → chunk-55IACEB6-SlKgejv9.js} +1 -1
  330. package/web-shell/assets/{chunk-727SXJPM-Dqaam3fE.js → chunk-727SXJPM-CijXssHZ.js} +1 -1
  331. package/web-shell/assets/{chunk-AQP2D5EJ-D_-saBYM.js → chunk-AQP2D5EJ-D8w25nvR.js} +1 -1
  332. package/web-shell/assets/{chunk-FMBD7UC4-B9r_veWD.js → chunk-FMBD7UC4-Bv9dcx_e.js} +1 -1
  333. package/web-shell/assets/{chunk-ND2GUHAM-B3EaCSpL.js → chunk-ND2GUHAM-Bzf6sAOd.js} +1 -1
  334. package/web-shell/assets/{chunk-QZHKN3VN-CYq8x9mn.js → chunk-QZHKN3VN-whNoNeW5.js} +1 -1
  335. package/web-shell/assets/classDiagram-4FO5ZUOK-By_XOP3X.js +1 -0
  336. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-By_XOP3X.js +1 -0
  337. package/web-shell/assets/{cose-bilkent-S5V4N54A-D0ng4uiB.js → cose-bilkent-S5V4N54A-rpQS44Lz.js} +1 -1
  338. package/web-shell/assets/{dagre-BM42HDAG-DCZollQv.js → dagre-BM42HDAG-Ck7VE6nT.js} +1 -1
  339. package/web-shell/assets/{diagram-2AECGRRQ-Dfk2pWS0.js → diagram-2AECGRRQ-CgRrsodR.js} +1 -1
  340. package/web-shell/assets/{diagram-5GNKFQAL-kX38ltWR.js → diagram-5GNKFQAL-CsTZtE5A.js} +1 -1
  341. package/web-shell/assets/{diagram-KO2AKTUF-CJz2vsXh.js → diagram-KO2AKTUF-D5EAdVq4.js} +1 -1
  342. package/web-shell/assets/{diagram-LMA3HP47-BvMLZm_7.js → diagram-LMA3HP47-DNrjHC7Z.js} +1 -1
  343. package/web-shell/assets/{diagram-OG6HWLK6-l7kfStkO.js → diagram-OG6HWLK6-ClJSJGgC.js} +1 -1
  344. package/web-shell/assets/{erDiagram-TEJ5UH35-BSVa8GGT.js → erDiagram-TEJ5UH35-DuVnos_y.js} +1 -1
  345. package/web-shell/assets/{flowDiagram-I6XJVG4X-CoawKIXH.js → flowDiagram-I6XJVG4X-DEpIVl1s.js} +1 -1
  346. package/web-shell/assets/{ganttDiagram-6RSMTGT7-DFUDH0zF.js → ganttDiagram-6RSMTGT7-COnQM2-C.js} +1 -1
  347. package/web-shell/assets/{gitGraphDiagram-PVQCEYII-Y2pvpT4e.js → gitGraphDiagram-PVQCEYII-C-lX5H3_.js} +1 -1
  348. package/web-shell/assets/index-C2GE3DAF.js +74 -0
  349. package/web-shell/assets/{index-D0GX0zZf.js → index-DfcyS2E7.js} +1 -1
  350. package/web-shell/assets/index-Qxt6kN7i.js +1700 -0
  351. package/web-shell/assets/index-bo0Z8hfu.css +5 -0
  352. package/web-shell/assets/{infoDiagram-5YYISTIA-CU8_zLiX.js → infoDiagram-5YYISTIA-D0WP-wmU.js} +1 -1
  353. package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-AVQiV0DU.js → ishikawaDiagram-YF4QCWOH-DgsI3Clu.js} +1 -1
  354. package/web-shell/assets/{journeyDiagram-JHISSGLW-DQ0VSKa3.js → journeyDiagram-JHISSGLW-4yCoMZO6.js} +1 -1
  355. package/web-shell/assets/{kanban-definition-UN3LZRKU-BqnWqsE_.js → kanban-definition-UN3LZRKU-D_05au1N.js} +1 -1
  356. package/web-shell/assets/{linear-BkoihsaA.js → linear-B38fDz0Q.js} +1 -1
  357. package/web-shell/assets/{mermaid.core-5RJs-31j.js → mermaid.core-aGNwTaHi.js} +5 -5
  358. package/web-shell/assets/{mindmap-definition-RKZ34NQL-D33Bxnpd.js → mindmap-definition-RKZ34NQL-C2yf_5WM.js} +1 -1
  359. package/web-shell/assets/{pieDiagram-4H26LBE5-BuEAw3BH.js → pieDiagram-4H26LBE5-DiHABBT-.js} +1 -1
  360. package/web-shell/assets/{quadrantDiagram-W4KKPZXB-Kox_usEq.js → quadrantDiagram-W4KKPZXB-W9xkeAGe.js} +1 -1
  361. package/web-shell/assets/{requirementDiagram-4Y6WPE33-CNjeUif0.js → requirementDiagram-4Y6WPE33-BGmRXl9k.js} +1 -1
  362. package/web-shell/assets/{sankeyDiagram-5OEKKPKP-BCd2OL_U.js → sankeyDiagram-5OEKKPKP-CvOmT43_.js} +1 -1
  363. package/web-shell/assets/{sequenceDiagram-3UESZ5HK-CF2ZTsz0.js → sequenceDiagram-3UESZ5HK-C8pdd0Z-.js} +1 -1
  364. package/web-shell/assets/{stateDiagram-AJRCARHV-qenSzHtm.js → stateDiagram-AJRCARHV-C-CYdFx2.js} +1 -1
  365. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-BieEHeN9.js +1 -0
  366. package/web-shell/assets/{timeline-definition-PNZ67QCA-B5DyWdgs.js → timeline-definition-PNZ67QCA-w2KQn1cI.js} +1 -1
  367. package/web-shell/assets/{vennDiagram-CIIHVFJN-DqP4I_o_.js → vennDiagram-CIIHVFJN-DuorhRku.js} +1 -1
  368. package/web-shell/assets/{wardley-L42UT6IY-CJe2e4mg.js → wardley-L42UT6IY-BAXm2cWy.js} +1 -1
  369. package/web-shell/assets/{wardleyDiagram-YWT4CUSO-BMDSw-Rr.js → wardleyDiagram-YWT4CUSO-8PHaOXn5.js} +1 -1
  370. package/web-shell/assets/{xychartDiagram-2RQKCTM6-BTVZYkxD.js → xychartDiagram-2RQKCTM6-Do84JFSc.js} +1 -1
  371. package/web-shell/index.html +2 -2
  372. package/chunks/MaxSizedBox-5DPPWPGT.js +0 -85
  373. package/chunks/agent-6ODUANDO.js +0 -81
  374. package/chunks/agent-headless-7BYQTMHW.js +0 -75
  375. package/chunks/bridge-ZUB64FAE.js +0 -90
  376. package/chunks/chunk-LEH5C7FV.js +0 -232
  377. package/chunks/chunk-SZRN75WQ.js +0 -29
  378. package/chunks/chunk-UGYMA4EI.js +0 -219
  379. package/chunks/chunk-Z2BC6UJ5.js +0 -8575
  380. package/chunks/contextCommand-JLHYA34Z.js +0 -80
  381. package/chunks/daemon-status-provider-2233Q37D.js +0 -89
  382. package/chunks/earlyInputCapture-A7NDU3PF.js +0 -82
  383. package/chunks/environment-W5UFC2CH.js +0 -102
  384. package/chunks/errors-M7CLORXH.js +0 -88
  385. package/chunks/exitPlanMode-GXTBWQAR.js +0 -403
  386. package/chunks/handleAutoUpdate-6DBEZYPV.js +0 -81
  387. package/chunks/i18n-VUJJZIMU.js +0 -97
  388. package/chunks/initializer-UWAK5U5O.js +0 -86
  389. package/chunks/installationInfo-6O2YAA52.js +0 -80
  390. package/chunks/list-GB4ESM3T.js +0 -89
  391. package/chunks/loadedSettingsAdapter-OT6JVQ7U.js +0 -83
  392. package/chunks/mcp-6DBDJPFU.js +0 -83
  393. package/chunks/nonInteractiveCli-MOYCYBBU.js +0 -141
  394. package/chunks/pidfile-TFRZZZIO.js +0 -86
  395. package/chunks/read-file-APMO3PSX.js +0 -31
  396. package/chunks/resumeHistoryUtils-6KRYEAWZ.js +0 -91
  397. package/chunks/ripGrep-BEJDEDXW.js +0 -73
  398. package/chunks/runtime-XXRRTNP6.js +0 -118
  399. package/chunks/serve-7BSTXJ4T.js +0 -89
  400. package/chunks/shell-HH3PF3A2.js +0 -83
  401. package/chunks/spawnChannel-RWNDBXGA.js +0 -82
  402. package/chunks/src-GE4TTTML.js +0 -3147
  403. package/chunks/standalone-update-Q6WFRZZQ.js +0 -92
  404. package/chunks/task-create-N7WQSGYA.js +0 -25
  405. package/chunks/theme-manager-SWRILQHI.js +0 -77
  406. package/chunks/total-session-admission-DLHHHLD3.js +0 -84
  407. package/chunks/trustedFolders-KHXHY6PY.js +0 -93
  408. package/chunks/updateCheck-RKL6M5XN.js +0 -92
  409. package/chunks/useAutoAcceptIndicator-CFQ5BUJL.js +0 -93
  410. package/chunks/workspace-providers-status-QSVZUETE.js +0 -86
  411. package/chunks/workspace-registry-UT4RBNBM.js +0 -88
  412. package/chunks/workspace-service-JFWRUS4V.js +0 -98
  413. package/chunks/workspace-skills-status-ZBBKJOI2.js +0 -85
  414. package/chunks/write-file-VHIXW5M7.js +0 -73
  415. package/web-shell/assets/channel-Cq7YKtfC.js +0 -1
  416. package/web-shell/assets/classDiagram-4FO5ZUOK-CQ9aC1Tg.js +0 -1
  417. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-CQ9aC1Tg.js +0 -1
  418. package/web-shell/assets/index-D9haPt0X.css +0 -5
  419. package/web-shell/assets/index-ckX9Pq5k.js +0 -1230
  420. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-B7W4zlCr.js +0 -1
  421. package/chunks/{chunk-TARRHLLG.js → chunk-QUGAUQGJ.js} +25 -25
  422. package/chunks/{chunk-U7ZFW55U.js → chunk-VOQXFAY5.js} +977 -977
  423. /package/chunks/{chunk-LXXMOYPL.js → chunk-VXZBKKQR.js} +0 -0
@@ -1,11 +1,13 @@
1
1
  // Force strict mode and setup for ESM
2
2
  "use strict";
3
+ import {
4
+ require_mime_db
5
+ } from "./chunk-K6KS3LTN.js";
3
6
  import {
4
7
  require_get_intrinsic,
5
- require_mime_db,
6
8
  require_shams,
7
9
  require_type
8
- } from "./chunk-T2NCM2ET.js";
10
+ } from "./chunk-T3CHYWJZ.js";
9
11
  import {
10
12
  require_function_bind,
11
13
  require_hasown
@@ -10,11 +10,11 @@ import {
10
10
  } from "./chunk-CPBF7KYF.js";
11
11
  import {
12
12
  atomicWriteJSON
13
- } from "./chunk-A5L3JMUA.js";
13
+ } from "./chunk-HC45LTEN.js";
14
14
  import {
15
15
  Storage,
16
16
  isNodeError
17
- } from "./chunk-NL7LTRLR.js";
17
+ } from "./chunk-E2BHWIDT.js";
18
18
  import {
19
19
  init_esbuild_shims
20
20
  } from "./chunk-5O2XNYP6.js";
@@ -88,21 +88,6 @@ function assignTeammateColor(existingMembers) {
88
88
  return TEAMMATE_COLORS[existingMembers.length % TEAMMATE_COLORS.length];
89
89
  }
90
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
91
  function findMemberByName(members, name) {
107
92
  const sanitized = sanitizeName(name);
108
93
  return members.find((m) => m.name === sanitized);
@@ -182,40 +167,21 @@ async function deleteTeamDirs(teamName) {
182
167
  ]);
183
168
  }
184
169
  __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
170
 
198
171
  export {
199
- getTeamsRootDir,
200
172
  getTeamDir,
201
- getTeamFilePath,
202
173
  getInboxesDir,
203
174
  getTasksDir,
204
175
  sanitizeName,
205
176
  formatAgentId,
206
177
  generateUniqueTeammateName,
207
178
  assignTeammateColor,
208
- clearTeammateColors,
209
- setMemberActive,
210
- findMemberById,
211
179
  findMemberByName,
212
180
  classifyShutdownResponse,
213
- readTeamFile,
214
181
  writeTeamFile,
215
182
  createTeamFile,
216
183
  tryReclaimStaleTeam,
217
- deleteTeamDirs,
218
- listTeamNames
184
+ deleteTeamDirs
219
185
  };
220
186
  /**
221
187
  * @license
@@ -0,0 +1,378 @@
1
+ // Force strict mode and setup for ESM
2
+ "use strict";
3
+ import {
4
+ SessionNotFoundError
5
+ } from "./chunk-B4AJNNOL.js";
6
+ import {
7
+ init_esbuild_shims
8
+ } from "./chunk-5O2XNYP6.js";
9
+ import {
10
+ __name
11
+ } from "./chunk-J2S4EL5Y.js";
12
+
13
+ // packages/cli/src/serve/workspace-registry.ts
14
+ init_esbuild_shims();
15
+ var WorkspaceGenerationClosedError = class extends Error {
16
+ static {
17
+ __name(this, "WorkspaceGenerationClosedError");
18
+ }
19
+ code = "workspace_generation_closed";
20
+ constructor(message = "Workspace runtime generation is no longer active.") {
21
+ super(message);
22
+ this.name = "WorkspaceGenerationClosedError";
23
+ }
24
+ };
25
+ function createWorkspaceGenerationGuard() {
26
+ let closed = false;
27
+ return {
28
+ get closed() {
29
+ return closed;
30
+ },
31
+ assertOpen() {
32
+ if (closed) throw new WorkspaceGenerationClosedError();
33
+ },
34
+ close() {
35
+ closed = true;
36
+ }
37
+ };
38
+ }
39
+ __name(createWorkspaceGenerationGuard, "createWorkspaceGenerationGuard");
40
+ function createWorkspaceSessionOwnerIndex() {
41
+ const bySessionId = /* @__PURE__ */ new Map();
42
+ const register = /* @__PURE__ */ __name((sessionId, workspaceCwd) => {
43
+ let owners = bySessionId.get(sessionId);
44
+ if (!owners) {
45
+ owners = /* @__PURE__ */ new Set();
46
+ bySessionId.set(sessionId, owners);
47
+ }
48
+ owners.add(workspaceCwd);
49
+ }, "register");
50
+ const remove = /* @__PURE__ */ __name((sessionId, workspaceCwd) => {
51
+ if (workspaceCwd === void 0) {
52
+ bySessionId.delete(sessionId);
53
+ return;
54
+ }
55
+ const owners = bySessionId.get(sessionId);
56
+ if (!owners) return;
57
+ owners.delete(workspaceCwd);
58
+ if (owners.size === 0) {
59
+ bySessionId.delete(sessionId);
60
+ }
61
+ }, "remove");
62
+ return {
63
+ register,
64
+ remove,
65
+ getWorkspaceCwds: /* @__PURE__ */ __name((sessionId) => [...bySessionId.get(sessionId) ?? []], "getWorkspaceCwds"),
66
+ removeWorkspace: /* @__PURE__ */ __name((workspaceCwd) => {
67
+ for (const [sessionId, owners] of bySessionId) {
68
+ owners.delete(workspaceCwd);
69
+ if (owners.size === 0) bySessionId.delete(sessionId);
70
+ }
71
+ }, "removeWorkspace"),
72
+ handleBridgeSessionLifecycle: /* @__PURE__ */ __name((event) => {
73
+ if (event.type === "registered") {
74
+ register(event.sessionId, event.workspaceCwd);
75
+ } else {
76
+ remove(event.sessionId, event.workspaceCwd);
77
+ }
78
+ }, "handleBridgeSessionLifecycle")
79
+ };
80
+ }
81
+ __name(createWorkspaceSessionOwnerIndex, "createWorkspaceSessionOwnerIndex");
82
+ function createWorkspaceRegistry(inputRuntimes, options = {}) {
83
+ if (inputRuntimes.length === 0) {
84
+ throw new Error(
85
+ "WorkspaceRegistry requires at least one workspace runtime."
86
+ );
87
+ }
88
+ const primaryRuntimes = inputRuntimes.filter((runtime) => runtime.primary);
89
+ if (primaryRuntimes.length !== 1) {
90
+ throw new Error(
91
+ "WorkspaceRegistry requires exactly one primary workspace runtime."
92
+ );
93
+ }
94
+ const byCwd = /* @__PURE__ */ new Map();
95
+ const byId = /* @__PURE__ */ new Map();
96
+ const createEntry = /* @__PURE__ */ __name((runtime, generationId) => ({
97
+ workspaceId: runtime.workspaceId,
98
+ workspaceCwd: runtime.workspaceCwd,
99
+ ...runtime.displayName !== void 0 ? { displayName: runtime.displayName } : {},
100
+ primary: runtime.primary,
101
+ removable: runtime.removable === true,
102
+ registrationIds: Object.freeze([...runtime.registrationIds ?? []]),
103
+ lastGenerationId: generationId,
104
+ state: "active",
105
+ current: {
106
+ generationId,
107
+ policyRevision: "boot",
108
+ runtime,
109
+ guard: runtime.generationGuard ?? createWorkspaceGenerationGuard()
110
+ },
111
+ configuredRevision: "boot",
112
+ appliedRevision: "boot"
113
+ }), "createEntry");
114
+ const entries = [];
115
+ for (const runtime of inputRuntimes) {
116
+ if (byCwd.has(runtime.workspaceCwd)) {
117
+ throw new Error(
118
+ `Duplicate workspace runtime cwd ${JSON.stringify(
119
+ runtime.workspaceCwd
120
+ )}.`
121
+ );
122
+ }
123
+ const entry = createEntry(runtime, 1);
124
+ byCwd.set(runtime.workspaceCwd, entry);
125
+ if (byId.has(runtime.workspaceId)) {
126
+ throw new Error(
127
+ `Duplicate workspace runtime id ${JSON.stringify(
128
+ runtime.workspaceId
129
+ )}.`
130
+ );
131
+ }
132
+ byId.set(runtime.workspaceId, entry);
133
+ entries.push(entry);
134
+ }
135
+ const primaryEntry = entries.find((entry) => entry.primary);
136
+ const entryForRuntime = /* @__PURE__ */ __name((runtime) => {
137
+ const entry = byId.get(runtime.workspaceId);
138
+ return entry?.current?.runtime === runtime ? entry : void 0;
139
+ }, "entryForRuntime");
140
+ const activeRuntime = /* @__PURE__ */ __name((entry) => entry?.state === "active" ? entry.current?.runtime : void 0, "activeRuntime");
141
+ const requirePrimaryRuntime = /* @__PURE__ */ __name(() => {
142
+ const runtime = primaryEntry.state === "active" ? primaryEntry.current?.runtime : void 0;
143
+ if (!runtime) {
144
+ throw new WorkspaceGenerationClosedError(
145
+ "Primary workspace runtime is unavailable."
146
+ );
147
+ }
148
+ return runtime;
149
+ }, "requirePrimaryRuntime");
150
+ const sessionOwnerIndex = options.sessionOwnerIndex;
151
+ const scanLiveOwners = /* @__PURE__ */ __name((sessionId) => {
152
+ const matches = [];
153
+ for (const entry of entries) {
154
+ const runtime = activeRuntime(entry);
155
+ if (!runtime) continue;
156
+ try {
157
+ runtime.bridge.getSessionSummary(sessionId);
158
+ matches.push(runtime);
159
+ } catch (err) {
160
+ if (err instanceof SessionNotFoundError) continue;
161
+ throw err;
162
+ }
163
+ }
164
+ for (const match of matches) {
165
+ sessionOwnerIndex?.register(sessionId, match.workspaceCwd);
166
+ }
167
+ if (matches.length === 0) return { kind: "not_found" };
168
+ if (matches.length === 1) {
169
+ return { kind: "found", runtime: matches[0] };
170
+ }
171
+ return { kind: "ambiguous", runtimes: matches };
172
+ }, "scanLiveOwners");
173
+ return {
174
+ get primary() {
175
+ return requirePrimaryRuntime();
176
+ },
177
+ primaryEntry,
178
+ // Return a frozen snapshot: `runtimes` is mutable internally (see `add`),
179
+ // but callers must not be able to push/splice into the registry's state.
180
+ list: /* @__PURE__ */ __name(() => Object.freeze(
181
+ entries.flatMap((entry) => {
182
+ const runtime = activeRuntime(entry);
183
+ return runtime ? [runtime] : [];
184
+ })
185
+ ), "list"),
186
+ listEntries: /* @__PURE__ */ __name(() => Object.freeze(
187
+ entries.filter((entry) => entry.state !== "removed")
188
+ ), "listEntries"),
189
+ listManaged: /* @__PURE__ */ __name(() => Object.freeze(
190
+ entries.flatMap(
191
+ (entry) => entry.current?.runtime ? [entry.current.runtime] : []
192
+ )
193
+ ), "listManaged"),
194
+ getEntryByWorkspaceCwd: /* @__PURE__ */ __name((workspaceCwd) => byCwd.get(workspaceCwd), "getEntryByWorkspaceCwd"),
195
+ getEntryByWorkspaceId: /* @__PURE__ */ __name((workspaceId) => byId.get(workspaceId), "getEntryByWorkspaceId"),
196
+ beginReplacement: /* @__PURE__ */ __name((entry, configuredRevision) => {
197
+ if (entry.state === "blocked") {
198
+ entry.configuredRevision = configuredRevision;
199
+ entry.state = "transitioning";
200
+ entry.current?.guard.close();
201
+ sessionOwnerIndex?.removeWorkspace(entry.workspaceCwd);
202
+ delete entry.applyError;
203
+ return true;
204
+ }
205
+ if (entry.state !== "active" || !entry.current) return false;
206
+ entry.configuredRevision = configuredRevision;
207
+ entry.state = "transitioning";
208
+ entry.current.guard.close();
209
+ sessionOwnerIndex?.removeWorkspace(entry.workspaceCwd);
210
+ delete entry.applyError;
211
+ return true;
212
+ }, "beginReplacement"),
213
+ activateReplacement: /* @__PURE__ */ __name((entry, runtime, policyRevision) => {
214
+ if (entry.state !== "transitioning") {
215
+ throw new Error(
216
+ "Replacement runtime can only activate a transitioning entry."
217
+ );
218
+ }
219
+ if (runtime.workspaceId !== entry.workspaceId || runtime.workspaceCwd !== entry.workspaceCwd || runtime.primary !== entry.primary) {
220
+ throw new Error("Replacement runtime identity does not match entry.");
221
+ }
222
+ if (entry.displayName === void 0) {
223
+ delete runtime.displayName;
224
+ } else {
225
+ runtime.displayName = entry.displayName;
226
+ }
227
+ runtime.registrationIds = [...entry.registrationIds];
228
+ const generationId = entry.lastGenerationId + 1;
229
+ const generation = {
230
+ generationId,
231
+ policyRevision,
232
+ runtime,
233
+ guard: runtime.generationGuard ?? createWorkspaceGenerationGuard()
234
+ };
235
+ entry.lastGenerationId = generationId;
236
+ entry.current = generation;
237
+ entry.configuredRevision = policyRevision;
238
+ entry.appliedRevision = policyRevision;
239
+ entry.state = "active";
240
+ delete entry.applyError;
241
+ return generation;
242
+ }, "activateReplacement"),
243
+ advancePolicyRevision: /* @__PURE__ */ __name((entry, policyRevision) => {
244
+ entry.configuredRevision = policyRevision;
245
+ entry.appliedRevision = policyRevision;
246
+ if (entry.current) {
247
+ entry.current = { ...entry.current, policyRevision };
248
+ }
249
+ delete entry.applyError;
250
+ }, "advancePolicyRevision"),
251
+ blockReplacement: /* @__PURE__ */ __name((entry, error) => {
252
+ entry.current?.guard.close();
253
+ entry.state = "blocked";
254
+ entry.appliedRevision = null;
255
+ entry.applyError = error;
256
+ }, "blockReplacement"),
257
+ getByWorkspaceCwd: /* @__PURE__ */ __name((workspaceCwd) => activeRuntime(byCwd.get(workspaceCwd)), "getByWorkspaceCwd"),
258
+ getByWorkspaceId: /* @__PURE__ */ __name((workspaceId) => activeRuntime(byId.get(workspaceId)), "getByWorkspaceId"),
259
+ getManagedByWorkspaceCwd: /* @__PURE__ */ __name((workspaceCwd) => byCwd.get(workspaceCwd)?.current?.runtime, "getManagedByWorkspaceCwd"),
260
+ getManagedByWorkspaceId: /* @__PURE__ */ __name((workspaceId) => byId.get(workspaceId)?.current?.runtime, "getManagedByWorkspaceId"),
261
+ syncRuntimeMetadata: /* @__PURE__ */ __name((runtime) => {
262
+ const entry = byCwd.get(runtime.workspaceCwd);
263
+ if (!entry || entry.workspaceId !== runtime.workspaceId) return;
264
+ if (runtime.displayName === void 0) {
265
+ delete entry.displayName;
266
+ } else {
267
+ entry.displayName = runtime.displayName;
268
+ }
269
+ entry.registrationIds = Object.freeze([
270
+ ...runtime.registrationIds ?? []
271
+ ]);
272
+ const current = entry.current?.runtime;
273
+ if (!current || current === runtime) return;
274
+ if (entry.displayName === void 0) {
275
+ delete current.displayName;
276
+ } else {
277
+ current.displayName = entry.displayName;
278
+ }
279
+ current.registrationIds = [...entry.registrationIds];
280
+ }, "syncRuntimeMetadata"),
281
+ resolveWorkspaceCwd: /* @__PURE__ */ __name((workspaceCwd) => workspaceCwd === void 0 ? activeRuntime(primaryEntry) : activeRuntime(byCwd.get(workspaceCwd)), "resolveWorkspaceCwd"),
282
+ add: /* @__PURE__ */ __name((runtime) => {
283
+ if (byCwd.has(runtime.workspaceCwd)) {
284
+ throw new Error(
285
+ `Duplicate workspace runtime cwd ${JSON.stringify(runtime.workspaceCwd)}.`
286
+ );
287
+ }
288
+ if (byId.has(runtime.workspaceId)) {
289
+ throw new Error(
290
+ `Duplicate workspace runtime id ${JSON.stringify(runtime.workspaceId)}.`
291
+ );
292
+ }
293
+ const entry = createEntry(runtime, 1);
294
+ byCwd.set(runtime.workspaceCwd, entry);
295
+ byId.set(runtime.workspaceId, entry);
296
+ entries.push(entry);
297
+ }, "add"),
298
+ beginDrain: /* @__PURE__ */ __name((runtime) => {
299
+ const entry = entryForRuntime(runtime);
300
+ if (!entry || runtime.primary || entry.state !== "active") return false;
301
+ entry.state = "draining";
302
+ return true;
303
+ }, "beginDrain"),
304
+ cancelDrain: /* @__PURE__ */ __name((runtime) => {
305
+ const entry = entryForRuntime(runtime);
306
+ if (entry?.state === "draining" && entry.current?.guard.closed !== true) {
307
+ entry.state = "active";
308
+ }
309
+ }, "cancelDrain"),
310
+ commitDrain: /* @__PURE__ */ __name((runtime) => {
311
+ const entry = entryForRuntime(runtime);
312
+ if (!entry || runtime.primary || entry.state !== "draining") return;
313
+ entry.current?.guard.close();
314
+ sessionOwnerIndex?.removeWorkspace(runtime.workspaceCwd);
315
+ }, "commitDrain"),
316
+ completeDrain: /* @__PURE__ */ __name((runtime) => {
317
+ const entry = entryForRuntime(runtime);
318
+ if (!entry || runtime.primary || entry.state !== "draining") return;
319
+ entry.current?.guard.close();
320
+ entry.state = "removed";
321
+ byCwd.delete(runtime.workspaceCwd);
322
+ byId.delete(runtime.workspaceId);
323
+ const index = entries.indexOf(entry);
324
+ if (index >= 0) entries.splice(index, 1);
325
+ sessionOwnerIndex?.removeWorkspace(runtime.workspaceCwd);
326
+ }, "completeDrain"),
327
+ resolveLiveSessionOwner: /* @__PURE__ */ __name((sessionId) => {
328
+ const indexedCwds = sessionOwnerIndex?.getWorkspaceCwds(sessionId) ?? [];
329
+ if (indexedCwds.length > 0) {
330
+ const matches = [];
331
+ for (const workspaceCwd of indexedCwds) {
332
+ const entry = byCwd.get(workspaceCwd);
333
+ const runtime = entry?.current?.runtime;
334
+ if (!entry || !runtime || entry.state === "removed") {
335
+ sessionOwnerIndex?.remove(sessionId, workspaceCwd);
336
+ continue;
337
+ }
338
+ if (entry.state !== "active") continue;
339
+ try {
340
+ runtime.bridge.getSessionSummary(sessionId);
341
+ matches.push(runtime);
342
+ } catch (err) {
343
+ if (err instanceof SessionNotFoundError) {
344
+ sessionOwnerIndex?.remove(sessionId, workspaceCwd);
345
+ continue;
346
+ }
347
+ throw err;
348
+ }
349
+ }
350
+ if (matches.length === 1) {
351
+ return { kind: "found", runtime: matches[0] };
352
+ }
353
+ if (matches.length > 1) {
354
+ return { kind: "ambiguous", runtimes: matches };
355
+ }
356
+ }
357
+ return options.scanUnindexedOwners !== false ? scanLiveOwners(sessionId) : { kind: "not_found" };
358
+ }, "resolveLiveSessionOwner")
359
+ };
360
+ }
361
+ __name(createWorkspaceRegistry, "createWorkspaceRegistry");
362
+ function createSingleWorkspaceRegistry(runtime, options = {}) {
363
+ return createWorkspaceRegistry([runtime], options);
364
+ }
365
+ __name(createSingleWorkspaceRegistry, "createSingleWorkspaceRegistry");
366
+
367
+ export {
368
+ WorkspaceGenerationClosedError,
369
+ createWorkspaceGenerationGuard,
370
+ createWorkspaceSessionOwnerIndex,
371
+ createWorkspaceRegistry,
372
+ createSingleWorkspaceRegistry
373
+ };
374
+ /**
375
+ * @license
376
+ * Copyright 2026 Qwen Team
377
+ * SPDX-License-Identifier: Apache-2.0
378
+ */
@@ -3,16 +3,16 @@
3
3
  import {
4
4
  settleChatRecording,
5
5
  subscribeToHeadlessChatRecordingFailures
6
- } from "./chunk-YPE6A4GC.js";
6
+ } from "./chunk-RT7FNC2O.js";
7
7
  import {
8
8
  handleAtCommand
9
- } from "./chunk-VULLI6WQ.js";
9
+ } from "./chunk-QIERF2GQ.js";
10
10
  import {
11
11
  JsonOutputAdapter
12
- } from "./chunk-3RN6GBKS.js";
12
+ } from "./chunk-U5CODIJW.js";
13
13
  import {
14
14
  StreamJsonOutputAdapter
15
- } from "./chunk-BKHWX6I2.js";
15
+ } from "./chunk-A5BZ722X.js";
16
16
  import {
17
17
  buildInitialSystemReminders,
18
18
  buildSystemMessage,
@@ -24,11 +24,11 @@ import {
24
24
  insertAfterFunctionResponses,
25
25
  isSlashCommand,
26
26
  normalizePartList
27
- } from "./chunk-LB6DUZ26.js";
27
+ } from "./chunk-BTWSGZCT.js";
28
28
  import {
29
29
  RunBudgetEnforcer,
30
30
  cleanupReviewWorktreeLeases
31
- } from "./chunk-TPRQ7RZH.js";
31
+ } from "./chunk-76E5Y3UZ.js";
32
32
  import {
33
33
  AlreadyReportedError,
34
34
  handleBudgetExceededError,
@@ -36,10 +36,10 @@ import {
36
36
  handleError,
37
37
  handleMaxTurnsExceededError,
38
38
  handleToolError
39
- } from "./chunk-IKYJHJNF.js";
39
+ } from "./chunk-VOMQ2P6B.js";
40
40
  import {
41
41
  isInlineModelOverrideAllowed
42
- } from "./chunk-KMQ33DO4.js";
42
+ } from "./chunk-EDB7A72S.js";
43
43
  import {
44
44
  PLAN_MODE_ENTRY_SIBLING_SKIP_MESSAGE,
45
45
  buildSessionRecoveryPlanFromApiHistory,
@@ -55,32 +55,34 @@ import {
55
55
  markDuplicateProviderToolCallResponseSent,
56
56
  parseAndFormatApiError,
57
57
  partitionByConcurrencySafety,
58
- promptIdContext,
59
58
  restoreWorktreeContext
60
- } from "./chunk-PHOF65IG.js";
59
+ } from "./chunk-FRXG4ARO.js";
61
60
  import {
62
61
  parsePositiveIntegerEnv
63
62
  } from "./chunk-6PVPNMXU.js";
63
+ import {
64
+ promptIdContext
65
+ } from "./chunk-O6GEWCJA.js";
64
66
  import {
65
67
  isSystemReminderContent
66
- } from "./chunk-L26JL52R.js";
68
+ } from "./chunk-CBBP4BMC.js";
67
69
  import {
68
70
  uiTelemetryService
69
- } from "./chunk-CIKQ7KKO.js";
71
+ } from "./chunk-NVFSGPIF.js";
72
+ import {
73
+ ToolNames
74
+ } from "./chunk-MM7TH7ZM.js";
70
75
  import {
71
76
  isTelemetrySdkInitialized,
72
77
  shutdownTelemetry
73
- } from "./chunk-MB4MZHMJ.js";
74
- import {
75
- ToolNames
76
- } from "./chunk-PR75REBZ.js";
78
+ } from "./chunk-QARJNL2V.js";
77
79
  import {
78
80
  FatalInputError,
79
81
  createDebugLogger
80
- } from "./chunk-NL7LTRLR.js";
82
+ } from "./chunk-E2BHWIDT.js";
81
83
  import {
82
84
  registerCleanup
83
- } from "./chunk-PWVFN2LF.js";
85
+ } from "./chunk-BP2H5K25.js";
84
86
  import {
85
87
  init_esbuild_shims
86
88
  } from "./chunk-5O2XNYP6.js";
@@ -546,6 +548,7 @@ ${text}
546
548
  displayText,
547
549
  modelText,
548
550
  sendMessageType: "notification" /* Notification */,
551
+ todoWorkChainId: meta.todoWorkChainId,
549
552
  sdkNotification: {
550
553
  task_id: meta.agentId,
551
554
  tool_use_id: meta.toolUseId,
@@ -578,6 +581,7 @@ ${text}
578
581
  displayText,
579
582
  modelText,
580
583
  sendMessageType: "notification" /* Notification */,
584
+ todoWorkChainId: meta.todoWorkChainId,
581
585
  monitorId: meta.monitorId,
582
586
  sdkNotification: {
583
587
  task_id: meta.monitorId,
@@ -763,6 +767,10 @@ ${text}
763
767
  abortController.signal,
764
768
  {
765
769
  recordToolResult: false,
770
+ onToolResultFullTurnModel: /* @__PURE__ */ __name((model) => {
771
+ if (inlineModelOverrideActive) return false;
772
+ return setModelOverride(model);
773
+ }, "onToolResultFullTurnModel"),
766
774
  outputUpdateHandler,
767
775
  onAllToolCallsComplete: /* @__PURE__ */ __name(async (completedCalls) => {
768
776
  for (const call of completedCalls) {
@@ -972,6 +980,7 @@ ${text}
972
980
  repeatedDuplicateProviderToolCall: false
973
981
  };
974
982
  }, "processToolCallBatch");
983
+ let currentPromptId = prompt_id;
975
984
  while (true) {
976
985
  let isTeammateTurn = false;
977
986
  if (!isFirstTurn && pendingTeammateMessages.length > 0) {
@@ -1001,12 +1010,15 @@ ${text}
1001
1010
  } else {
1002
1011
  sendType = "toolResult" /* ToolResult */;
1003
1012
  }
1013
+ if (isTeammateTurn) {
1014
+ currentPromptId = `${prompt_id}/teammate/${turnCount}`;
1015
+ }
1004
1016
  const toolCallRequests = [];
1005
1017
  const apiStartTime = Date.now();
1006
1018
  const responseStream = geminiClient.sendMessageStream(
1007
1019
  currentMessages[0]?.parts || [],
1008
1020
  abortController.signal,
1009
- prompt_id,
1021
+ currentPromptId,
1010
1022
  {
1011
1023
  type: sendType,
1012
1024
  modelOverride,
@@ -1062,9 +1074,12 @@ ${text}
1062
1074
  responseParts: toolResponseParts,
1063
1075
  repeatedDuplicateProviderToolCall
1064
1076
  } = await processToolCallBatch(toolCallRequests, (override) => {
1065
- if (!inlineModelOverrideActive) {
1066
- modelOverride = override;
1077
+ if (inlineModelOverrideActive) return false;
1078
+ if (modelOverride?.endsWith("\0") && modelOverride !== override) {
1079
+ return false;
1067
1080
  }
1081
+ modelOverride = override;
1082
+ return true;
1068
1083
  });
1069
1084
  if (structuredSubmission !== void 0) {
1070
1085
  return emitStructuredSuccess();
@@ -1126,7 +1141,7 @@ ${text}
1126
1141
  const targetType = localQueue[0].sendMessageType;
1127
1142
  let splitIdx = targetType === "cron" /* Cron */ ? 1 : 0;
1128
1143
  if (splitIdx === 0) {
1129
- while (splitIdx < localQueue.length && localQueue[splitIdx].sendMessageType === targetType) {
1144
+ while (splitIdx < localQueue.length && localQueue[splitIdx].sendMessageType === targetType && localQueue[splitIdx].todoWorkChainId === localQueue[0].todoWorkChainId) {
1130
1145
  splitIdx++;
1131
1146
  }
1132
1147
  }
@@ -1138,7 +1153,8 @@ ${text}
1138
1153
  const item = {
1139
1154
  displayText: batch.map((i) => i.displayText).join("; "),
1140
1155
  modelText: batch.map((i) => i.modelText).join("\n\n"),
1141
- sendMessageType: targetType
1156
+ sendMessageType: targetType,
1157
+ todoWorkChainId: batch[0]?.todoWorkChainId
1142
1158
  };
1143
1159
  turnCount++;
1144
1160
  if (config.getMaxSessionTurns() >= 0 && turnCount > config.getMaxSessionTurns()) {
@@ -1150,18 +1166,20 @@ ${text}
1150
1166
  ];
1151
1167
  let itemIsFirstTurn = true;
1152
1168
  let itemModelOverride;
1169
+ const itemPromptId = `${prompt_id}/automatic/${turnCount}`;
1153
1170
  while (true) {
1154
1171
  const itemToolCallRequests = [];
1155
1172
  const itemApiStartTime = Date.now();
1156
1173
  const itemStream = geminiClient.sendMessageStream(
1157
1174
  itemMessages[0]?.parts || [],
1158
1175
  abortController.signal,
1159
- prompt_id,
1176
+ itemPromptId,
1160
1177
  {
1161
1178
  type: itemIsFirstTurn ? item.sendMessageType : "toolResult" /* ToolResult */,
1162
1179
  modelOverride: itemModelOverride,
1163
1180
  ...itemIsFirstTurn && {
1164
- notificationDisplayText: item.displayText
1181
+ notificationDisplayText: item.displayText,
1182
+ todoWorkChainId: item.todoWorkChainId
1165
1183
  }
1166
1184
  }
1167
1185
  );
@@ -1209,7 +1227,11 @@ ${text}
1209
1227
  } = await processToolCallBatch(
1210
1228
  itemToolCallRequests,
1211
1229
  (override) => {
1230
+ if (itemModelOverride?.endsWith("\0") && itemModelOverride !== override) {
1231
+ return false;
1232
+ }
1212
1233
  itemModelOverride = override;
1234
+ return true;
1213
1235
  }
1214
1236
  );
1215
1237
  if (structuredSubmission !== void 0) {
@@ -1300,7 +1322,8 @@ ${text}
1300
1322
  localQueue.push({
1301
1323
  displayText: `${job.cronExpr === "@wakeup" ? "Loop" : "Cron"}: ${label}`,
1302
1324
  modelText: job.prompt,
1303
- sendMessageType: "cron" /* Cron */
1325
+ sendMessageType: "cron" /* Cron */,
1326
+ todoWorkChainId: job.todoWorkChainId
1304
1327
  });
1305
1328
  drainLocalQueue().then(checkCronDone, onDrainError);
1306
1329
  });