@qwen-code/qwen-code 0.19.9 → 0.19.10-nightly.20260715.c538bd70d

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 (310) hide show
  1. package/bundled/qc-helper/docs/configuration/settings.md +8 -0
  2. package/bundled/qc-helper/docs/features/channels/dingtalk.md +3 -0
  3. package/bundled/qc-helper/docs/features/channels/overview.md +11 -3
  4. package/bundled/qc-helper/docs/features/code-review.md +88 -44
  5. package/bundled/qc-helper/docs/features/commands.md +6 -6
  6. package/bundled/qc-helper/docs/features/hooks.md +29 -0
  7. package/bundled/qc-helper/docs/features/sub-agents.md +21 -0
  8. package/bundled/qc-helper/docs/qwen-serve.md +46 -20
  9. package/bundled/qc-helper/docs/reference/keyboard-shortcuts.md +1 -1
  10. package/bundled/review/DESIGN.md +219 -33
  11. package/bundled/review/SKILL.md +449 -153
  12. package/chunks/{MaxSizedBox-6HYJ3ZPJ.js → MaxSizedBox-LOOBDOTZ.js} +31 -31
  13. package/chunks/{StandaloneSessionPicker-WS4GXYOG.js → StandaloneSessionPicker-76CLZSH2.js} +51 -49
  14. package/chunks/{acpAgent-5FWSOZL5.js → acpAgent-DFJOK7EB.js} +567 -482
  15. package/chunks/{agent-HOLHB3RT.js → agent-OJQWXNHP.js} +26 -26
  16. package/chunks/{agent-headless-SXL6H56A.js → agent-headless-ND7GOORY.js} +26 -26
  17. package/chunks/{anthropicContentGenerator-L73TO3DB.js → anthropicContentGenerator-56U3YCP2.js} +5 -5
  18. package/chunks/{artifact-tool-U7IRTLIV.js → artifact-tool-MIZLXBLF.js} +2 -2
  19. package/chunks/{askUserQuestion-2DLUUZZG.js → askUserQuestion-XMJVPNWM.js} +2 -2
  20. package/chunks/{bridge-BCJQ7BBB.js → bridge-SNJK2JLK.js} +32 -32
  21. package/chunks/{ca-UJ6HC4H2.js → ca-C2JTT2N5.js} +4 -1
  22. package/chunks/channel-worker-group-K7QKH6IG.js +13 -0
  23. package/chunks/channel-worker-manager-YSFB4HUU.js +418 -0
  24. package/chunks/channel-worker-supervisor-QCKIOYZD.js +20 -0
  25. package/chunks/{chunk-CCDMCZPP.js → chunk-26UABK2C.js} +1 -1
  26. package/chunks/{chunk-LXNEJD34.js → chunk-2FO5GFKZ.js} +1 -1
  27. package/chunks/{chunk-L36P3NBD.js → chunk-2W3OOD4W.js} +2 -0
  28. package/chunks/{chunk-7R3CZA3Q.js → chunk-2Z5UX4KI.js} +1 -1
  29. package/chunks/chunk-3MX7D6QN.js +516 -0
  30. package/chunks/{chunk-CLFKOZEK.js → chunk-3XULHBC7.js} +1 -1
  31. package/chunks/chunk-4QZADKJS.js +34 -0
  32. package/chunks/{chunk-E2IY465S.js → chunk-4UDHAJFV.js} +10 -10
  33. package/chunks/{chunk-5U27BZ72.js → chunk-55SAYASQ.js} +190 -77
  34. package/chunks/chunk-5HBA2Z7V.js +28 -0
  35. package/chunks/{chunk-ZJE7NSL3.js → chunk-5M6IDOMF.js} +34 -97
  36. package/chunks/{chunk-HVY356M2.js → chunk-5SQ55XJZ.js} +3 -3
  37. package/chunks/{chunk-EAXLGSFP.js → chunk-6GRAQNTY.js} +8 -8
  38. package/chunks/{chunk-K434OPES.js → chunk-6WPJRYLZ.js} +3 -3
  39. package/chunks/{chunk-VWPVHAMO.js → chunk-7DXHIMXL.js} +5 -1
  40. package/chunks/{chunk-J4TSQ5EQ.js → chunk-7NFB7LBQ.js} +8 -1
  41. package/chunks/{chunk-5SFOMFG4.js → chunk-7R4DPSRA.js} +36 -2
  42. package/chunks/{chunk-W2UIXQDL.js → chunk-7STBROEV.js} +1 -1
  43. package/chunks/{chunk-BMGVRZN4.js → chunk-AETEZU4U.js} +1 -1
  44. package/chunks/{chunk-HPDUL5MF.js → chunk-AGZWN4WV.js} +1 -1
  45. package/chunks/{chunk-RDJSGHZE.js → chunk-ALGGS7UH.js} +1 -38
  46. package/chunks/{chunk-GWHYEOV2.js → chunk-ARKANCNX.js} +2 -1
  47. package/chunks/{chunk-34Z3U5RQ.js → chunk-AU4R7ACM.js} +518 -114
  48. package/chunks/{channel-worker-supervisor-WSOAAYUO.js → chunk-B7MFJBKE.js} +67 -35
  49. package/chunks/{chunk-524RQP4Q.js → chunk-B7NUUEXC.js} +10 -4
  50. package/chunks/{chunk-MC23XKFE.js → chunk-BLPMRN4B.js} +3 -3
  51. package/chunks/{chunk-A3XKDTSH.js → chunk-BRRKAUGR.js} +4 -4
  52. package/chunks/{chunk-W3JHSWRP.js → chunk-BUPLOPUA.js} +4 -4
  53. package/chunks/{chunk-3VAGG5T5.js → chunk-BYOOK22F.js} +121 -16
  54. package/chunks/{chunk-EMDMPBJ4.js → chunk-C47ENMZJ.js} +3 -3
  55. package/chunks/{chunk-3AHXV67U.js → chunk-C5TVXLJZ.js} +1 -1
  56. package/chunks/{chunk-X6TJ3YZV.js → chunk-CGT5TQIZ.js} +159 -57
  57. package/chunks/{chunk-4C5BQ2D2.js → chunk-CQQD7MDG.js} +82 -12
  58. package/chunks/{chunk-KKNMOEZH.js → chunk-E2UVIFI2.js} +185 -398
  59. package/chunks/{chunk-P67PFTUT.js → chunk-EPY4ZEU6.js} +4 -4
  60. package/chunks/{chunk-6PESIEKJ.js → chunk-EZSRHWGS.js} +68 -6
  61. package/chunks/{chunk-4GORAUCN.js → chunk-F333XEAU.js} +1 -1
  62. package/chunks/{chunk-YLV3XXFB.js → chunk-FBU7WRZI.js} +17 -1
  63. package/chunks/{chunk-Q6I5QHMH.js → chunk-FGTCZJOD.js} +1 -1
  64. package/chunks/{chunk-LK7KUE55.js → chunk-FSA7ERJ2.js} +1 -1
  65. package/chunks/{chunk-B4G2WOFA.js → chunk-FTU55ZZ7.js} +3 -3
  66. package/chunks/{chunk-EGYZ275M.js → chunk-GCD7PEDZ.js} +4 -4
  67. package/chunks/{chunk-SJHDYNHF.js → chunk-GDQQRV43.js} +3 -3
  68. package/chunks/{chunk-3BTRNWWD.js → chunk-GOXKNSDZ.js} +1 -64
  69. package/chunks/{chunk-GZRTYZ2R.js → chunk-GQKWT45X.js} +154 -1
  70. package/chunks/chunk-GYTKQYDB.js +23 -0
  71. package/chunks/{chunk-YVEDCAUE.js → chunk-HGT6JR3U.js} +19 -0
  72. package/chunks/{chunk-N3EMS75V.js → chunk-HKM2TEF7.js} +1268 -1233
  73. package/chunks/chunk-IDS7MSUP.js +74 -0
  74. package/chunks/{chunk-PVZM22CK.js → chunk-INKAZNYC.js} +5 -5
  75. package/chunks/{chunk-3G7CIHVV.js → chunk-IOQ75R4R.js} +4 -4
  76. package/chunks/{chunk-AURZZYMD.js → chunk-IQOOJSPR.js} +4 -4
  77. package/chunks/{chunk-AKIVHSJR.js → chunk-J4UQXGVL.js} +111 -93
  78. package/chunks/{chunk-VTU57BWZ.js → chunk-JEKOCLRN.js} +1 -1
  79. package/chunks/{chunk-B5ORX3FG.js → chunk-JGUT3LWZ.js} +6 -1
  80. package/chunks/{chunk-PDZ7MBDG.js → chunk-JIQHT2O6.js} +27 -6
  81. package/chunks/{chunk-XUOOWUZS.js → chunk-JPAH76WA.js} +1 -1
  82. package/chunks/{chunk-BAPGSC7U.js → chunk-K4LG6TVJ.js} +23 -9
  83. package/chunks/chunk-KET3M4K4.js +493 -0
  84. package/chunks/{chunk-ORBGV7NJ.js → chunk-KKRTYONM.js} +6 -4
  85. package/chunks/{chunk-SCGXUJBT.js → chunk-KPA5QGN2.js} +3 -3
  86. package/chunks/{chunk-IAVB3HM3.js → chunk-KSO42X3Z.js} +13 -0
  87. package/chunks/{chunk-4QLQE5WJ.js → chunk-L5U3ELZX.js} +1 -1
  88. package/chunks/{chunk-77XJ3SWN.js → chunk-LIUEXYPL.js} +5 -5
  89. package/chunks/{chunk-4ZVWQHEQ.js → chunk-LQIDP6K5.js} +1 -1
  90. package/chunks/{chunk-34MW4KTI.js → chunk-LT5CRUA5.js} +2 -2
  91. package/chunks/{chunk-DC5Z3DU6.js → chunk-LXLTBIDP.js} +43 -6
  92. package/chunks/{chunk-VA4KQY6V.js → chunk-MEK7CQJR.js} +3 -3
  93. package/chunks/{chunk-KHUQZZJ6.js → chunk-MO7O5722.js} +370 -36
  94. package/chunks/chunk-MR3PXB6E.js +48 -0
  95. package/chunks/{chunk-PODM4SZ4.js → chunk-MV52C5MA.js} +5 -5
  96. package/chunks/{chunk-WL4L7EZH.js → chunk-OA4JVLSA.js} +27 -1
  97. package/chunks/{chunk-X4NKFGFJ.js → chunk-OJAMDVF5.js} +0 -15
  98. package/chunks/{chunk-BZIFY5TF.js → chunk-OKAIGAYW.js} +3 -3
  99. package/chunks/{chunk-ECNYL4AA.js → chunk-OPNPGO6D.js} +1 -1
  100. package/chunks/{chunk-3SJSQXNS.js → chunk-PEJWA3QQ.js} +12 -8
  101. package/chunks/{chunk-MXL5UP4X.js → chunk-Q6TUALBE.js} +1 -1
  102. package/chunks/{chunk-QYMQSECS.js → chunk-QAW7PIHT.js} +2 -2
  103. package/chunks/{chunk-5HOMWMCL.js → chunk-QEDYXCLG.js} +4167 -1338
  104. package/chunks/chunk-QNNTA7IX.js +91 -0
  105. package/chunks/{chunk-D2GFWEXB.js → chunk-QNT5T4Q2.js} +6 -6
  106. package/chunks/{chunk-CUMMSHH6.js → chunk-R5XLNDE2.js} +1 -1
  107. package/chunks/{chunk-LUODI7WD.js → chunk-RCEEXIOO.js} +6 -4
  108. package/chunks/{chunk-WQUQVGTF.js → chunk-RQWDLG6Z.js} +183 -96
  109. package/chunks/{chunk-XYQSMABS.js → chunk-SLCVZX6F.js} +4 -4
  110. package/chunks/{chunk-CEA3E3JB.js → chunk-SPJQO2CE.js} +2 -2
  111. package/chunks/{chunk-JSG7ZSBC.js → chunk-TQBODCFD.js} +1 -1
  112. package/chunks/chunk-TV6K2FB4.js +224 -0
  113. package/chunks/{chunk-5XUCZNSY.js → chunk-TYLOFD2U.js} +1 -1
  114. package/chunks/{chunk-CNEIYWSA.js → chunk-UKWAQ7AV.js} +5 -5
  115. package/chunks/{chunk-7PU4FYLG.js → chunk-US4YQT62.js} +4 -4
  116. package/chunks/{chunk-Q4YQW46J.js → chunk-UYPPCIJQ.js} +36 -18
  117. package/chunks/{chunk-YAUFFXDS.js → chunk-UZKG7HFG.js} +12 -11
  118. package/chunks/{chunk-GWLSNBG4.js → chunk-VQLRHJKL.js} +30 -26
  119. package/chunks/{chunk-L6P4KPHR.js → chunk-VRUHAVZS.js} +59 -39
  120. package/chunks/{chunk-HKMAENAO.js → chunk-W2U4RJJU.js} +8 -6
  121. package/chunks/{chunk-ATAKVRIF.js → chunk-WDSCTLAB.js} +7 -7
  122. package/chunks/{chunk-ZLXQN2QS.js → chunk-WIEO4CWB.js} +1 -1
  123. package/chunks/{chunk-OQ4DRIOA.js → chunk-WJOC24IW.js} +2 -2
  124. package/chunks/{chunk-J3JA76CF.js → chunk-WTNZ6DXB.js} +1 -1
  125. package/chunks/{chunk-NVYTCB5Z.js → chunk-XCR44EEA.js} +14589 -13980
  126. package/chunks/{chunk-TDEXZKMT.js → chunk-Y66VOBRP.js} +2 -2
  127. package/chunks/{chunk-CC2ITGCF.js → chunk-YHN5SUIJ.js} +49 -6
  128. package/chunks/{chunk-D5SKC4YG.js → chunk-ZBAROUR6.js} +41 -13
  129. package/chunks/{chunk-U2NNEY4R.js → chunk-ZEEVKDO7.js} +1 -1
  130. package/chunks/{chunk-5VXNZWGF.js → chunk-ZLOHB76C.js} +1 -1
  131. package/chunks/{chunk-JZETEN3Z.js → chunk-ZNCLTRNU.js} +3 -3
  132. package/chunks/{chunk-TO6QE22P.js → chunk-ZP4ZZJJG.js} +26 -22
  133. package/chunks/{chunk-UOZWKTQG.js → chunk-ZPAHLFZU.js} +2 -2
  134. package/chunks/{chunk-XLA62MYB.js → chunk-ZTXZ7FM4.js} +2 -2
  135. package/chunks/{computer-use-HM37RX6A.js → computer-use-DRETHEQF.js} +26 -26
  136. package/chunks/{config-utils-NV2SVGPB.js → config-utils-XSHOMMK4.js} +3 -2
  137. package/chunks/{contextCommand-OF5SFGH2.js → contextCommand-7YJUW23J.js} +28 -28
  138. package/chunks/{create-sub-session-INX7TXJI.js → create-sub-session-EAB2U5XW.js} +2 -2
  139. package/chunks/{create-sub-session-KPRT7ECJ.js → create-sub-session-L5HOZAEL.js} +26 -26
  140. package/chunks/{cron-create-AMBKGZX6.js → cron-create-GMVKSXZT.js} +4 -4
  141. package/chunks/{cron-delete-LRU4OJYG.js → cron-delete-VDZKUAVK.js} +4 -4
  142. package/chunks/{cron-list-WVP2JXER.js → cron-list-UG7C7RAR.js} +4 -4
  143. package/chunks/{daemon-ARHTSTXP.js → daemon-MI5HF26N.js} +603 -62
  144. package/chunks/{daemon-status-provider-B2UTZUJ2.js → daemon-status-provider-2D47GOJT.js} +36 -36
  145. package/chunks/{de-EBJN3OVN.js → de-2VCDRDGU.js} +4 -1
  146. package/chunks/{dist-WKPOYU7O.js → dist-IEXZC5ZR.js} +1 -1
  147. package/chunks/{dist-XKU3ABM5.js → dist-PQK4GCKA.js} +1 -1
  148. package/chunks/{dist-VHV4EVHG.js → dist-U75JK3PF.js} +1 -1
  149. package/chunks/{dist-R7LN5AZE.js → dist-VXO7QBON.js} +2 -2
  150. package/chunks/{dist-PNVLTKTL.js → dist-WH4TZSH3.js} +158 -4
  151. package/chunks/{dist-QYCAEZIT.js → dist-X2ABIW5R.js} +5 -1
  152. package/chunks/{earlyInputCapture-3VTHRC4C.js → earlyInputCapture-OJQPGCSX.js} +27 -27
  153. package/chunks/{edit-VNI4NJ73.js → edit-LZOAFLT2.js} +27 -27
  154. package/chunks/{en-5A6LA7RK.js → en-NJCA3TAA.js} +5 -1
  155. package/chunks/{enter-worktree-IYYBKPZT.js → enter-worktree-VL2TCGI5.js} +26 -26
  156. package/chunks/{enterPlanMode-GMC5FD5A.js → enterPlanMode-QGHBHZWI.js} +42 -27
  157. package/chunks/{environment-5HSSRMJ7.js → environment-2G5IC2EU.js} +30 -29
  158. package/chunks/{errors-HMFCJJ7P.js → errors-7QNQDNI2.js} +28 -28
  159. package/chunks/{exit-worktree-6BHCMP5G.js → exit-worktree-5V3X2MRH.js} +26 -26
  160. package/chunks/{exitPlanMode-CJW7G74W.js → exitPlanMode-XDPNQB4H.js} +26 -26
  161. package/chunks/{fast-path-FRDMDVHG.js → fast-path-NNSD4BVZ.js} +3 -3
  162. package/chunks/{fast-path-settings-5QZE64HR.js → fast-path-settings-DAOVFADC.js} +6 -4
  163. package/chunks/{fr-YXRABLYZ.js → fr-5F3E7WKD.js} +4 -1
  164. package/chunks/{gemini-QYSEGHAX.js → gemini-RKDUWGXJ.js} +139 -76
  165. package/chunks/{geminiContentGenerator-J7YNZDYP.js → geminiContentGenerator-V7QGHXVF.js} +4 -4
  166. package/chunks/{glob-BRCSGFOT.js → glob-ZNQUUOTS.js} +28 -27
  167. package/chunks/{grep-EE2DUOSY.js → grep-NYIGLM7R.js} +26 -26
  168. package/chunks/{handleAutoUpdate-5NWTLR67.js → handleAutoUpdate-UBQ4IQXY.js} +30 -30
  169. package/chunks/{i18n-BASPENNQ.js → i18n-5T3S6SGP.js} +27 -27
  170. package/chunks/initializer-TJED246Q.js +73 -0
  171. package/chunks/{installationInfo-W6V4DT7W.js → installationInfo-OTEU7FKR.js} +27 -27
  172. package/chunks/{ja-7VQOANVG.js → ja-66J6B53L.js} +5 -2
  173. package/chunks/{keychain-token-storage-VKUBNCP4.js → keychain-token-storage-AU22CQI6.js} +2 -2
  174. package/chunks/list-6OHS7MFJ.js +76 -0
  175. package/chunks/loadedSettingsAdapter-5456XIYG.js +70 -0
  176. package/chunks/{loop-wakeup-WX7BLWWP.js → loop-wakeup-C4EXLYVA.js} +5 -5
  177. package/chunks/{ls-ZB2BDP6T.js → ls-2OUTG3IZ.js} +4 -4
  178. package/chunks/{lsp-V5DN4YUJ.js → lsp-4VMNXZW6.js} +2 -2
  179. package/chunks/mcp-NOWRPFKY.js +70 -0
  180. package/chunks/{monitor-X5Z3H4FY.js → monitor-CVDZO3IZ.js} +26 -26
  181. package/chunks/nonInteractiveCli-UGI7Y43E.js +129 -0
  182. package/chunks/{notebook-edit-TRM2QIJK.js → notebook-edit-NWIA5TEJ.js} +27 -27
  183. package/chunks/{openaiContentGenerator-AAYONPMF.js → openaiContentGenerator-KJONBBJO.js} +12 -12
  184. package/chunks/{pidfile-D4I4FTVA.js → pidfile-L3TGXMTF.js} +27 -27
  185. package/chunks/{pt-2C6YCSHL.js → pt-TFZO5Y6T.js} +4 -1
  186. package/chunks/{qwenContentGenerator-K3HZ2H76.js → qwenContentGenerator-GXUZB5SJ.js} +28 -28
  187. package/chunks/{qwenOAuth2-PJQ27GSO.js → qwenOAuth2-LEYOU7RU.js} +5 -5
  188. package/chunks/{read-file-7SZSIZOL.js → read-file-I4OUZXTA.js} +8 -8
  189. package/chunks/{read-mcp-resource-SM5DA4RG.js → read-mcp-resource-JUFHCKSC.js} +2 -2
  190. package/chunks/{record-artifact-4XKZX3UW.js → record-artifact-DWSMBXYY.js} +2 -2
  191. package/chunks/{ripGrep-YNPFVCZP.js → ripGrep-XLCXANIO.js} +26 -26
  192. package/chunks/{ru-6BBHVZZV.js → ru-4L4LFHIT.js} +4 -1
  193. package/chunks/{run-qwen-serve-DMWV5N6L.js → run-qwen-serve-R6SBP6YS.js} +1232 -371
  194. package/chunks/{runtime-57WWRVHN.js → runtime-U3S33YUQ.js} +42 -37
  195. package/chunks/{scheduler-YBLGWSIL.js → scheduler-65QCIELP.js} +26 -26
  196. package/chunks/{send-message-F36YD6KQ.js → send-message-JZ752NWD.js} +3 -3
  197. package/chunks/{serve-R63NK3CV.js → serve-PSPOFCOD.js} +36 -34
  198. package/chunks/{server-Z22GCAXP.js → server-6P5ZB56O.js} +5561 -1377
  199. package/chunks/{session-HKAAI7BN.js → session-ILLOYW75.js} +298 -98
  200. package/chunks/{settings-3EYN66GK.js → settings-RMUJGYIK.js} +34 -32
  201. package/chunks/{shell-6YXINTWJ.js → shell-65GTAN5Q.js} +28 -26
  202. package/chunks/{skill-OO57P4X6.js → skill-L76U3YCX.js} +10 -10
  203. package/chunks/{spawnChannel-JD7G4VU6.js → spawnChannel-LXIGZ4EM.js} +28 -28
  204. package/chunks/{src-G5UPLZSZ.js → src-DWZT2X3Z.js} +87 -27
  205. package/chunks/{standalone-update-OB7F4JPZ.js → standalone-update-F6SRKPSD.js} +28 -28
  206. package/chunks/{startInteractiveUI-73EGLIIH.js → startInteractiveUI-UEJQP7S3.js} +730 -397
  207. package/chunks/{syntheticOutput-34H7LGA7.js → syntheticOutput-LELY6HAI.js} +3 -3
  208. package/chunks/{task-create-FRGOEIKY.js → task-create-QY3BIMNM.js} +8 -7
  209. package/chunks/{task-list-OW766BXZ.js → task-list-D2U47WBJ.js} +6 -5
  210. package/chunks/{task-stop-SIR5SNBN.js → task-stop-N6E5IYLH.js} +2 -2
  211. package/chunks/{task-update-YRA532MT.js → task-update-HJCQILLB.js} +8 -7
  212. package/chunks/{team-create-PECAAPXK.js → team-create-4QBZVOGN.js} +26 -26
  213. package/chunks/{team-delete-6OSECUZC.js → team-delete-RCWYDRF4.js} +6 -5
  214. package/chunks/{team-plan-approval-L6F434RY.js → team-plan-approval-BK4CIOFV.js} +26 -26
  215. package/chunks/{theme-manager-ZG4RY6GU.js → theme-manager-5F2IGW6E.js} +27 -27
  216. package/chunks/{todoWrite-YDMFEV4G.js → todoWrite-FKCGATPJ.js} +4 -4
  217. package/chunks/{tool-search-THVIWAPB.js → tool-search-J2ESO33H.js} +9 -9
  218. package/chunks/{total-session-admission-JOKNRIIA.js → total-session-admission-U4LZ5QTQ.js} +33 -33
  219. package/chunks/tree-sitter-YJVE2ZUK.js +2980 -0
  220. package/chunks/{trustedFolders-EOGT3UVS.js → trustedFolders-TIDOXCJA.js} +29 -28
  221. package/chunks/types-ML3TRJQ5.js +16 -0
  222. package/chunks/{updateCheck-2KYEYVSB.js → updateCheck-VRVR26FI.js} +29 -29
  223. package/chunks/{validateNonInterActiveAuth-EN6ZQSR2.js → validateNonInterActiveAuth-UGKYAVLG.js} +75 -71
  224. package/chunks/{version-3UEA6ZIR.js → version-7HR6VZAT.js} +1 -1
  225. package/chunks/{web-fetch-PAAEQKBW.js → web-fetch-QGODBB6S.js} +5 -5
  226. package/chunks/{workflow-QCCCMYP3.js → workflow-EDQAITEW.js} +27 -27
  227. package/chunks/workspace-providers-status-27UGAK77.js +73 -0
  228. package/chunks/workspace-registration-store-5H7577YQ.js +27 -0
  229. package/chunks/{workspace-registry-24QFLQYH.js → workspace-registry-F3THGAXC.js} +33 -33
  230. package/chunks/workspace-service-4JSAQAHP.js +86 -0
  231. package/chunks/workspace-skills-status-5JTWZHZU.js +72 -0
  232. package/chunks/{write-file-I3MUDRIE.js → write-file-UY6XCZZM.js} +27 -27
  233. package/chunks/{zh-RQE7I22T.js → zh-FSAH32JB.js} +6 -2
  234. package/chunks/{zh-TW-TBPQGHKH.js → zh-TW-D2YIE2LO.js} +6 -2
  235. package/cli.js +11 -11
  236. package/locales/ca.js +6 -0
  237. package/locales/de.js +6 -0
  238. package/locales/en.js +8 -0
  239. package/locales/fr.js +6 -0
  240. package/locales/ja.js +7 -1
  241. package/locales/pt.js +6 -0
  242. package/locales/ru.js +6 -0
  243. package/locales/zh-TW.js +9 -1
  244. package/locales/zh.js +9 -1
  245. package/package.json +3 -3
  246. package/web-shell/assets/{arc-C15hqnJe.js → arc-CObt_TK9.js} +1 -1
  247. package/web-shell/assets/{architectureDiagram-3BPJPVTR-B-At37J_.js → architectureDiagram-3BPJPVTR-B7aiJ6CK.js} +1 -1
  248. package/web-shell/assets/{blockDiagram-GPEHLZMM-B51wjcU7.js → blockDiagram-GPEHLZMM-BSK2CrID.js} +1 -1
  249. package/web-shell/assets/{c4Diagram-AAUBKEIU-xBK7BAwN.js → c4Diagram-AAUBKEIU-Bhx2p7T_.js} +1 -1
  250. package/web-shell/assets/channel-BBaLq8MV.js +1 -0
  251. package/web-shell/assets/{chunk-2J33WTMH-xKmLg7Yr.js → chunk-2J33WTMH-c3Hzv0Ni.js} +1 -1
  252. package/web-shell/assets/{chunk-4BX2VUAB-BfkdKZCM.js → chunk-4BX2VUAB-DNXaK7ZF.js} +1 -1
  253. package/web-shell/assets/{chunk-55IACEB6-DT713sZf.js → chunk-55IACEB6-BXjvDj_i.js} +1 -1
  254. package/web-shell/assets/{chunk-727SXJPM-CYEeAamv.js → chunk-727SXJPM-B6CaKFp-.js} +1 -1
  255. package/web-shell/assets/{chunk-AQP2D5EJ-DBN-5CFd.js → chunk-AQP2D5EJ-tij6Mz9B.js} +1 -1
  256. package/web-shell/assets/{chunk-FMBD7UC4-CGZKk4PH.js → chunk-FMBD7UC4-DdlsGk2h.js} +1 -1
  257. package/web-shell/assets/{chunk-ND2GUHAM-qQbC2O-y.js → chunk-ND2GUHAM-CdgGZSHE.js} +1 -1
  258. package/web-shell/assets/{chunk-QZHKN3VN-B3zeXwsX.js → chunk-QZHKN3VN-D8oJn1C0.js} +1 -1
  259. package/web-shell/assets/classDiagram-4FO5ZUOK-B2ZK6sWE.js +1 -0
  260. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-B2ZK6sWE.js +1 -0
  261. package/web-shell/assets/{cose-bilkent-S5V4N54A-BKsl1Wvy.js → cose-bilkent-S5V4N54A-BUVmNp1Y.js} +1 -1
  262. package/web-shell/assets/{dagre-BM42HDAG-CuuuLiBK.js → dagre-BM42HDAG-CO4q310O.js} +1 -1
  263. package/web-shell/assets/{diagram-2AECGRRQ-CG4_eKiV.js → diagram-2AECGRRQ-C6gFvWkg.js} +1 -1
  264. package/web-shell/assets/{diagram-5GNKFQAL-DSFTmZB1.js → diagram-5GNKFQAL-NG2I_c0h.js} +1 -1
  265. package/web-shell/assets/{diagram-KO2AKTUF-BxwlEHn8.js → diagram-KO2AKTUF-DFKMS6I9.js} +1 -1
  266. package/web-shell/assets/{diagram-LMA3HP47-BUAg-jMG.js → diagram-LMA3HP47-BiElfsfP.js} +1 -1
  267. package/web-shell/assets/{diagram-OG6HWLK6-BFM2jlO5.js → diagram-OG6HWLK6-zLWDYUqu.js} +1 -1
  268. package/web-shell/assets/{erDiagram-TEJ5UH35-CerbFPa2.js → erDiagram-TEJ5UH35-DoVaazhK.js} +1 -1
  269. package/web-shell/assets/{flowDiagram-I6XJVG4X-BNeZz5Zz.js → flowDiagram-I6XJVG4X-0RLz-mXg.js} +1 -1
  270. package/web-shell/assets/{ganttDiagram-6RSMTGT7-CTOogLaM.js → ganttDiagram-6RSMTGT7-C-eX1A39.js} +3 -3
  271. package/web-shell/assets/{gitGraphDiagram-PVQCEYII-yxSFkXPj.js → gitGraphDiagram-PVQCEYII-BauQu1Bu.js} +1 -1
  272. package/web-shell/assets/index-3uAT3ehO.css +5 -0
  273. package/web-shell/assets/index-CVHa2QH7.js +3 -0
  274. package/web-shell/assets/index-D1KigWat.js +1128 -0
  275. package/web-shell/assets/{infoDiagram-5YYISTIA-DYdAUevm.js → infoDiagram-5YYISTIA-C800cFvZ.js} +1 -1
  276. package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-CNuijZ90.js → ishikawaDiagram-YF4QCWOH-CFK1Jk6e.js} +1 -1
  277. package/web-shell/assets/{journeyDiagram-JHISSGLW-BTyiuonf.js → journeyDiagram-JHISSGLW-Cjx0WAC4.js} +1 -1
  278. package/web-shell/assets/{kanban-definition-UN3LZRKU-DPJo0Uow.js → kanban-definition-UN3LZRKU-DWMDHbiv.js} +1 -1
  279. package/web-shell/assets/{linear-C8wKCbIC.js → linear-vpW4FrZs.js} +1 -1
  280. package/web-shell/assets/{mermaid.core-BV5o7nW5.js → mermaid.core-DsHRUnDd.js} +5 -5
  281. package/web-shell/assets/{mindmap-definition-RKZ34NQL-BtLcBmSt.js → mindmap-definition-RKZ34NQL-D3Eb1cAK.js} +1 -1
  282. package/web-shell/assets/{pieDiagram-4H26LBE5-C22J7A9Q.js → pieDiagram-4H26LBE5-Cr2-6sWt.js} +1 -1
  283. package/web-shell/assets/{quadrantDiagram-W4KKPZXB-DSL10wiL.js → quadrantDiagram-W4KKPZXB-Yd7yUgVp.js} +1 -1
  284. package/web-shell/assets/{requirementDiagram-4Y6WPE33-feqh0UpX.js → requirementDiagram-4Y6WPE33-BE6SprL8.js} +1 -1
  285. package/web-shell/assets/{sankeyDiagram-5OEKKPKP-Z4OVaWaZ.js → sankeyDiagram-5OEKKPKP-DzkuMK8d.js} +1 -1
  286. package/web-shell/assets/{sequenceDiagram-3UESZ5HK-DIluIcb1.js → sequenceDiagram-3UESZ5HK-wD9A3Dhi.js} +1 -1
  287. package/web-shell/assets/{stateDiagram-AJRCARHV-hlhnuoYH.js → stateDiagram-AJRCARHV-BOp5q1Nm.js} +1 -1
  288. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-BDsWUmPG.js +1 -0
  289. package/web-shell/assets/{timeline-definition-PNZ67QCA-Dqf_CqgL.js → timeline-definition-PNZ67QCA-Btc08sUA.js} +1 -1
  290. package/web-shell/assets/{vennDiagram-CIIHVFJN-DD2QhaTX.js → vennDiagram-CIIHVFJN-Bv6upsOA.js} +1 -1
  291. package/web-shell/assets/{wardley-L42UT6IY-B2uI85U_.js → wardley-L42UT6IY-D-XamnCK.js} +1 -1
  292. package/web-shell/assets/{wardleyDiagram-YWT4CUSO-U1aJX71g.js → wardleyDiagram-YWT4CUSO-BbP_5Wfp.js} +1 -1
  293. package/web-shell/assets/{xychartDiagram-2RQKCTM6-C0ODHUee.js → xychartDiagram-2RQKCTM6-CO5Hh28b.js} +1 -1
  294. package/web-shell/index.html +2 -2
  295. package/chunks/chunk-CU3L64TP.js +0 -93
  296. package/chunks/initializer-UTQ7FB7G.js +0 -71
  297. package/chunks/list-DEICDL65.js +0 -74
  298. package/chunks/loadedSettingsAdapter-NOWEGDYJ.js +0 -68
  299. package/chunks/mcp-L5JXEEIA.js +0 -68
  300. package/chunks/nonInteractiveCli-LS2K4X6A.js +0 -124
  301. package/chunks/types-JNKGKUJT.js +0 -12
  302. package/chunks/workspace-providers-status-4KMGETOJ.js +0 -71
  303. package/chunks/workspace-service-RVLBMSMZ.js +0 -80
  304. package/chunks/workspace-skills-status-DS4ZVFTO.js +0 -70
  305. package/web-shell/assets/channel-CLiQD50f.js +0 -1
  306. package/web-shell/assets/classDiagram-4FO5ZUOK-D3sYqow5.js +0 -1
  307. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-D3sYqow5.js +0 -1
  308. package/web-shell/assets/index-D5IWFVk1.css +0 -5
  309. package/web-shell/assets/index-KFJRDhX7.js +0 -783
  310. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-BhQMwgpl.js +0 -1
@@ -2,11 +2,11 @@
2
2
  "use strict";
3
3
  import {
4
4
  atomicWriteFileSync
5
- } from "./chunk-ZLXQN2QS.js";
5
+ } from "./chunk-WIEO4CWB.js";
6
6
  import {
7
7
  Storage,
8
8
  createDebugLogger
9
- } from "./chunk-J4TSQ5EQ.js";
9
+ } from "./chunk-7NFB7LBQ.js";
10
10
  import {
11
11
  init_esbuild_shims
12
12
  } from "./chunk-5O2XNYP6.js";
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  SessionNotFoundError
5
- } from "./chunk-IAVB3HM3.js";
5
+ } from "./chunk-KSO42X3Z.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";
@@ -38,6 +38,12 @@ function createWorkspaceSessionOwnerIndex() {
38
38
  register,
39
39
  remove,
40
40
  getWorkspaceCwds: /* @__PURE__ */ __name((sessionId) => [...bySessionId.get(sessionId) ?? []], "getWorkspaceCwds"),
41
+ removeWorkspace: /* @__PURE__ */ __name((workspaceCwd) => {
42
+ for (const [sessionId, owners] of bySessionId) {
43
+ owners.delete(workspaceCwd);
44
+ if (owners.size === 0) bySessionId.delete(sessionId);
45
+ }
46
+ }, "removeWorkspace"),
41
47
  handleBridgeSessionLifecycle: /* @__PURE__ */ __name((event) => {
42
48
  if (event.type === "registered") {
43
49
  register(event.sessionId, event.workspaceCwd);
@@ -81,11 +87,15 @@ function createWorkspaceRegistry(inputRuntimes, options = {}) {
81
87
  byId.set(runtime.workspaceId, runtime);
82
88
  }
83
89
  const runtimes = [...inputRuntimes];
90
+ const states = new WeakMap(
91
+ inputRuntimes.map((runtime) => [runtime, "active"])
92
+ );
84
93
  const primary = primaryRuntimes[0];
85
94
  const sessionOwnerIndex = options.sessionOwnerIndex;
86
95
  const scanLiveOwners = /* @__PURE__ */ __name((sessionId) => {
87
96
  const matches = [];
88
97
  for (const runtime of runtimes) {
98
+ if (states.get(runtime) !== "active") continue;
89
99
  try {
90
100
  runtime.bridge.getSessionSummary(sessionId);
91
101
  matches.push(runtime);
@@ -107,10 +117,24 @@ function createWorkspaceRegistry(inputRuntimes, options = {}) {
107
117
  primary,
108
118
  // Return a frozen snapshot: `runtimes` is mutable internally (see `add`),
109
119
  // but callers must not be able to push/splice into the registry's state.
110
- list: /* @__PURE__ */ __name(() => Object.freeze([...runtimes]), "list"),
111
- getByWorkspaceCwd: /* @__PURE__ */ __name((workspaceCwd) => byCwd.get(workspaceCwd), "getByWorkspaceCwd"),
112
- getByWorkspaceId: /* @__PURE__ */ __name((workspaceId) => byId.get(workspaceId), "getByWorkspaceId"),
113
- resolveWorkspaceCwd: /* @__PURE__ */ __name((workspaceCwd) => workspaceCwd === void 0 ? primary : byCwd.get(workspaceCwd), "resolveWorkspaceCwd"),
120
+ list: /* @__PURE__ */ __name(() => Object.freeze(
121
+ runtimes.filter((runtime) => states.get(runtime) === "active")
122
+ ), "list"),
123
+ listManaged: /* @__PURE__ */ __name(() => Object.freeze([...runtimes]), "listManaged"),
124
+ getByWorkspaceCwd: /* @__PURE__ */ __name((workspaceCwd) => {
125
+ const runtime = byCwd.get(workspaceCwd);
126
+ return runtime && states.get(runtime) === "active" ? runtime : void 0;
127
+ }, "getByWorkspaceCwd"),
128
+ getByWorkspaceId: /* @__PURE__ */ __name((workspaceId) => {
129
+ const runtime = byId.get(workspaceId);
130
+ return runtime && states.get(runtime) === "active" ? runtime : void 0;
131
+ }, "getByWorkspaceId"),
132
+ getManagedByWorkspaceCwd: /* @__PURE__ */ __name((workspaceCwd) => byCwd.get(workspaceCwd), "getManagedByWorkspaceCwd"),
133
+ getManagedByWorkspaceId: /* @__PURE__ */ __name((workspaceId) => byId.get(workspaceId), "getManagedByWorkspaceId"),
134
+ resolveWorkspaceCwd: /* @__PURE__ */ __name((workspaceCwd) => workspaceCwd === void 0 ? primary : (() => {
135
+ const runtime = byCwd.get(workspaceCwd);
136
+ return runtime && states.get(runtime) === "active" ? runtime : void 0;
137
+ })(), "resolveWorkspaceCwd"),
114
138
  add: /* @__PURE__ */ __name((runtime) => {
115
139
  if (byCwd.has(runtime.workspaceCwd)) {
116
140
  throw new Error(
@@ -125,17 +149,36 @@ function createWorkspaceRegistry(inputRuntimes, options = {}) {
125
149
  byCwd.set(runtime.workspaceCwd, runtime);
126
150
  byId.set(runtime.workspaceId, runtime);
127
151
  runtimes.push(runtime);
152
+ states.set(runtime, "active");
128
153
  }, "add"),
154
+ beginDrain: /* @__PURE__ */ __name((runtime) => {
155
+ if (runtime.primary || states.get(runtime) !== "active") return false;
156
+ states.set(runtime, "draining");
157
+ return true;
158
+ }, "beginDrain"),
159
+ cancelDrain: /* @__PURE__ */ __name((runtime) => {
160
+ if (states.get(runtime) === "draining") states.set(runtime, "active");
161
+ }, "cancelDrain"),
162
+ completeDrain: /* @__PURE__ */ __name((runtime) => {
163
+ if (runtime.primary || states.get(runtime) !== "draining") return;
164
+ states.set(runtime, "removed");
165
+ byCwd.delete(runtime.workspaceCwd);
166
+ byId.delete(runtime.workspaceId);
167
+ const index = runtimes.indexOf(runtime);
168
+ if (index >= 0) runtimes.splice(index, 1);
169
+ sessionOwnerIndex?.removeWorkspace(runtime.workspaceCwd);
170
+ }, "completeDrain"),
129
171
  resolveLiveSessionOwner: /* @__PURE__ */ __name((sessionId) => {
130
172
  const indexedCwds = sessionOwnerIndex?.getWorkspaceCwds(sessionId) ?? [];
131
173
  if (indexedCwds.length > 0) {
132
174
  const matches = [];
133
175
  for (const workspaceCwd of indexedCwds) {
134
176
  const runtime = byCwd.get(workspaceCwd);
135
- if (!runtime) {
177
+ if (!runtime || states.get(runtime) === "removed") {
136
178
  sessionOwnerIndex?.remove(sessionId, workspaceCwd);
137
179
  continue;
138
180
  }
181
+ if (states.get(runtime) !== "active") continue;
139
182
  try {
140
183
  runtime.bridge.getSessionSummary(sessionId);
141
184
  matches.push(runtime);
@@ -1,14 +1,15 @@
1
1
  // Force strict mode and setup for ESM
2
2
  "use strict";
3
3
  import {
4
+ InvalidStreamError,
4
5
  OpenAIContentConverter,
5
6
  TaggedThinkingParser,
6
7
  getRateLimitErrorDetails,
7
8
  openaiRequestCaptureContext
8
- } from "./chunk-3VAGG5T5.js";
9
+ } from "./chunk-BYOOK22F.js";
9
10
  import {
10
11
  RequestTokenizer
11
- } from "./chunk-SJHDYNHF.js";
12
+ } from "./chunk-GDQQRV43.js";
12
13
  import {
13
14
  DASHSCOPE_PROXY_BASE_URL,
14
15
  DEFAULT_DASHSCOPE_BASE_URL,
@@ -22,11 +23,11 @@ import {
22
23
  reconcileMaxTokens,
23
24
  resolveRequestTimeout,
24
25
  tokenLimit
25
- } from "./chunk-524RQP4Q.js";
26
+ } from "./chunk-B7NUUEXC.js";
26
27
  import {
27
28
  runtimeDiagnostics,
28
29
  safeJsonParse
29
- } from "./chunk-JSG7ZSBC.js";
30
+ } from "./chunk-TQBODCFD.js";
30
31
  import {
31
32
  GenerateContentResponse
32
33
  } from "./chunk-4LD5APFL.js";
@@ -36,13 +37,13 @@ import {
36
37
  import {
37
38
  buildRuntimeFetchOptions,
38
39
  redactProxyError
39
- } from "./chunk-4ZVWQHEQ.js";
40
+ } from "./chunk-LQIDP6K5.js";
40
41
  import {
41
42
  createDebugLogger,
42
43
  getErrorStatus,
43
44
  getErrorType,
44
45
  isAbortError
45
- } from "./chunk-J4TSQ5EQ.js";
46
+ } from "./chunk-7NFB7LBQ.js";
46
47
  import {
47
48
  init_esbuild_shims
48
49
  } from "./chunk-5O2XNYP6.js";
@@ -7788,6 +7789,7 @@ var StreamingToolCallParser = class {
7788
7789
  escapes = /* @__PURE__ */ new Map();
7789
7790
  /** Metadata for each tool call index */
7790
7791
  toolCallMeta = /* @__PURE__ */ new Map();
7792
+ namelessToolCallIndices = /* @__PURE__ */ new Set();
7791
7793
  /** Map from tool call ID to actual index used for storage */
7792
7794
  idToIndexMap = /* @__PURE__ */ new Map();
7793
7795
  /** Counter for generating new indices when collisions occur */
@@ -7809,8 +7811,16 @@ var StreamingToolCallParser = class {
7809
7811
  * @returns ToolCallParseResult with completion status, parsed value, and repair info
7810
7812
  */
7811
7813
  addChunk(index, chunk, id, name) {
7814
+ if (!id && !name && !chunk.trim()) {
7815
+ const depth2 = this.depths.get(index) ?? 0;
7816
+ const inString2 = this.inStrings.get(index) ?? false;
7817
+ if (!this.buffers.has(index) || depth2 === 0 && !inString2) {
7818
+ return { complete: false };
7819
+ }
7820
+ }
7812
7821
  let actualIndex = index;
7813
7822
  const isKnownId = Boolean(id && this.idToIndexMap.has(id));
7823
+ const isNameOnlyDelta = Boolean(name && chunk.length === 0);
7814
7824
  if (id) {
7815
7825
  if (this.idToIndexMap.has(id)) {
7816
7826
  actualIndex = this.idToIndexMap.get(id);
@@ -7835,7 +7845,7 @@ var StreamingToolCallParser = class {
7835
7845
  }
7836
7846
  this.idToIndexMap.set(id, actualIndex);
7837
7847
  }
7838
- } else {
7848
+ } else if (!isNameOnlyDelta) {
7839
7849
  if (this.buffers.has(index)) {
7840
7850
  const existingBuffer = this.buffers.get(index);
7841
7851
  const existingDepth = this.depths.get(index);
@@ -7860,6 +7870,17 @@ var StreamingToolCallParser = class {
7860
7870
  }
7861
7871
  const currentBuffer = this.buffers.get(actualIndex);
7862
7872
  const currentDepth = this.depths.get(actualIndex);
7873
+ const meta = this.toolCallMeta.get(actualIndex);
7874
+ if (chunk.length === 0 && (id || name)) {
7875
+ if (id) meta.id = id;
7876
+ if (name && !meta.name) meta.name = name;
7877
+ if (!meta.name && meta.id) {
7878
+ this.namelessToolCallIndices.add(actualIndex);
7879
+ } else {
7880
+ this.namelessToolCallIndices.delete(actualIndex);
7881
+ }
7882
+ return { complete: false };
7883
+ }
7863
7884
  if (isKnownId && currentDepth === 0) {
7864
7885
  if (currentBuffer.trim()) {
7865
7886
  try {
@@ -7870,20 +7891,19 @@ var StreamingToolCallParser = class {
7870
7891
  return { complete: false };
7871
7892
  } catch {
7872
7893
  }
7873
- } else if (this.toolCallMeta.get(actualIndex)?.name && name && !chunk.trim()) {
7874
- debugLogger3.debug(
7875
- `Ignoring replayed opener for no-argument toolCall id=${id}`
7876
- );
7877
- return { complete: false };
7878
7894
  }
7879
7895
  }
7880
- const meta = this.toolCallMeta.get(actualIndex);
7881
7896
  if (id) meta.id = id;
7882
7897
  if (name) meta.name = name;
7883
7898
  const currentInString = this.inStrings.get(actualIndex);
7884
7899
  const currentEscape = this.escapes.get(actualIndex);
7885
7900
  const newBuffer = currentBuffer + chunk;
7886
7901
  this.buffers.set(actualIndex, newBuffer);
7902
+ if (!meta.name && (meta.id || /\S/.test(newBuffer))) {
7903
+ this.namelessToolCallIndices.add(actualIndex);
7904
+ } else {
7905
+ this.namelessToolCallIndices.delete(actualIndex);
7906
+ }
7887
7907
  let depth = currentDepth;
7888
7908
  let inString = currentInString;
7889
7909
  let escape2 = currentEscape;
@@ -7933,6 +7953,9 @@ var StreamingToolCallParser = class {
7933
7953
  getToolCallMeta(index) {
7934
7954
  return this.toolCallMeta.get(index) || {};
7935
7955
  }
7956
+ hasNamelessToolCall() {
7957
+ return this.namelessToolCallIndices.size > 0;
7958
+ }
7936
7959
  /**
7937
7960
  * Gets all completed tool calls that are ready to be emitted
7938
7961
  *
@@ -8064,6 +8087,7 @@ var StreamingToolCallParser = class {
8064
8087
  this.inStrings.set(index, false);
8065
8088
  this.escapes.set(index, false);
8066
8089
  this.toolCallMeta.set(index, {});
8090
+ this.namelessToolCallIndices.delete(index);
8067
8091
  }
8068
8092
  /**
8069
8093
  * Resets the entire parser state for processing a new stream
@@ -8078,6 +8102,7 @@ var StreamingToolCallParser = class {
8078
8102
  this.inStrings.clear();
8079
8103
  this.escapes.clear();
8080
8104
  this.toolCallMeta.clear();
8105
+ this.namelessToolCallIndices.clear();
8081
8106
  this.idToIndexMap.clear();
8082
8107
  this.nextAvailableIndex = 0;
8083
8108
  }
@@ -8450,6 +8475,9 @@ var ContentGenerationPipeline = class {
8450
8475
  yield pendingFinishResponse;
8451
8476
  }
8452
8477
  } catch (error) {
8478
+ if (error instanceof InvalidStreamError) {
8479
+ throw error;
8480
+ }
8453
8481
  if (error instanceof StreamContentError) {
8454
8482
  throw redactProxyError(error);
8455
8483
  }
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  t
5
- } from "./chunk-YAUFFXDS.js";
5
+ } from "./chunk-UZKG7HFG.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  parseRule
5
- } from "./chunk-NVYTCB5Z.js";
5
+ } from "./chunk-XCR44EEA.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";
@@ -4,17 +4,17 @@ import {
4
4
  disableMouseEvents,
5
5
  enableMouseEvents,
6
6
  useKeypressContext
7
- } from "./chunk-GWLSNBG4.js";
7
+ } from "./chunk-VQLRHJKL.js";
8
8
  import {
9
9
  use_stdin_default,
10
10
  use_stdout_default
11
- } from "./chunk-CNEIYWSA.js";
11
+ } from "./chunk-UKWAQ7AV.js";
12
12
  import {
13
13
  require_react
14
14
  } from "./chunk-HTHUX2T5.js";
15
15
  import {
16
16
  themeManager
17
- } from "./chunk-MXL5UP4X.js";
17
+ } from "./chunk-Q6TUALBE.js";
18
18
  import {
19
19
  init_esbuild_shims
20
20
  } from "./chunk-5O2XNYP6.js";
@@ -1,8 +1,8 @@
1
1
  // Force strict mode and setup for ESM
2
2
  "use strict";
3
3
  import {
4
- resolvePath
5
- } from "./chunk-34Z3U5RQ.js";
4
+ resolveChannelCwd
5
+ } from "./chunk-4QZADKJS.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";
@@ -21,12 +21,12 @@ function ensureBuiltins() {
21
21
  if (!builtinsPromise) {
22
22
  builtinsPromise = (async () => {
23
23
  const labelled = [
24
- { name: "telegram", promise: import("./dist-WKPOYU7O.js") },
25
- { name: "weixin", promise: import("./dist-R7LN5AZE.js") },
26
- { name: "dingtalk", promise: import("./dist-PNVLTKTL.js") },
27
- { name: "wecom", promise: import("./dist-XKU3ABM5.js") },
28
- { name: "feishu", promise: import("./dist-QYCAEZIT.js") },
29
- { name: "qqbot", promise: import("./dist-VHV4EVHG.js") }
24
+ { name: "telegram", promise: import("./dist-IEXZC5ZR.js") },
25
+ { name: "weixin", promise: import("./dist-VXO7QBON.js") },
26
+ { name: "dingtalk", promise: import("./dist-WH4TZSH3.js") },
27
+ { name: "wecom", promise: import("./dist-PQK4GCKA.js") },
28
+ { name: "feishu", promise: import("./dist-X2ABIW5R.js") },
29
+ { name: "qqbot", promise: import("./dist-U75JK3PF.js") }
30
30
  ];
31
31
  const results = await Promise.allSettled(labelled.map((l) => l.promise));
32
32
  for (let i = 0; i < results.length; i++) {
@@ -74,13 +74,13 @@ var CHANNEL_APPROVAL_MODES = /* @__PURE__ */ new Set([
74
74
  "auto",
75
75
  "yolo"
76
76
  ]);
77
- function resolveEnvVars(value) {
77
+ function resolveEnvVars(value, env = process.env) {
78
78
  if (value.startsWith("$$")) {
79
79
  return value.substring(1);
80
80
  }
81
81
  if (value.startsWith("$")) {
82
82
  const envName = value.substring(1);
83
- const envValue = process.env[envName];
83
+ const envValue = env[envName];
84
84
  if (envValue === void 0) {
85
85
  throw new Error(
86
86
  `Environment variable ${envName} is not set (referenced as ${value})`
@@ -231,7 +231,7 @@ function parseWebhookTarget(channelName, path, raw) {
231
231
  return target;
232
232
  }
233
233
  __name(parseWebhookTarget, "parseWebhookTarget");
234
- function parseWebhookSource(channelName, path, raw) {
234
+ function parseWebhookSource(channelName, path, raw, env) {
235
235
  const record = requireObjectField(channelName, path, raw);
236
236
  const rawTargets = requireObjectField(
237
237
  channelName,
@@ -254,7 +254,8 @@ function parseWebhookSource(channelName, path, raw) {
254
254
  );
255
255
  }
256
256
  const secret = hasSecret ? resolveEnvVars(
257
- requireStringField(channelName, `${path}.secret`, record["secret"])
257
+ requireStringField(channelName, `${path}.secret`, record["secret"]),
258
+ env
258
259
  ) : resolveWebhookSecretEnv(
259
260
  channelName,
260
261
  path,
@@ -262,7 +263,8 @@ function parseWebhookSource(channelName, path, raw) {
262
263
  channelName,
263
264
  `${path}.secretEnv`,
264
265
  record["secretEnv"]
265
- )
266
+ ),
267
+ env
266
268
  );
267
269
  if (secret.length === 0) {
268
270
  throw new Error(
@@ -272,14 +274,14 @@ function parseWebhookSource(channelName, path, raw) {
272
274
  return { secret, targets };
273
275
  }
274
276
  __name(parseWebhookSource, "parseWebhookSource");
275
- function resolveWebhookSecretEnv(channelName, path, secretEnv) {
277
+ function resolveWebhookSecretEnv(channelName, path, secretEnv, env) {
276
278
  const envName = secretEnv.startsWith("$") ? secretEnv.substring(1) : secretEnv;
277
279
  if (!ENV_VAR_NAME_PATTERN.test(envName)) {
278
280
  throw new Error(
279
281
  `Channel "${channelName}" field "${path}.secretEnv" must be an environment variable name or $-prefixed reference.`
280
282
  );
281
283
  }
282
- const envValue = process.env[envName];
284
+ const envValue = env[envName];
283
285
  if (envValue === void 0) {
284
286
  throw new Error(
285
287
  `Channel "${channelName}" field "${path}.secretEnv" references an unset environment variable.`
@@ -293,7 +295,7 @@ function resolveWebhookSecretEnv(channelName, path, secretEnv) {
293
295
  return envValue;
294
296
  }
295
297
  __name(resolveWebhookSecretEnv, "resolveWebhookSecretEnv");
296
- function parseWebhookConfig(channelName, rawConfig) {
298
+ function parseWebhookConfig(channelName, rawConfig, env = process.env) {
297
299
  const raw = rawConfig["webhooks"];
298
300
  if (raw === void 0 || raw === null) {
299
301
  return void 0;
@@ -309,7 +311,8 @@ function parseWebhookConfig(channelName, rawConfig) {
309
311
  sources[source] = parseWebhookSource(
310
312
  channelName,
311
313
  `webhooks.sources.${source}`,
312
- sourceConfig
314
+ sourceConfig,
315
+ env
313
316
  );
314
317
  }
315
318
  return { sources };
@@ -330,11 +333,11 @@ function parseApprovalModeConfig(channelName, rawConfig) {
330
333
  return approvalMode;
331
334
  }
332
335
  __name(parseApprovalModeConfig, "parseApprovalModeConfig");
333
- function parseChannelWebhookConfig(channelName, rawConfig) {
334
- return parseWebhookConfig(channelName, rawConfig);
336
+ function parseChannelWebhookConfig(channelName, rawConfig, env = process.env) {
337
+ return parseWebhookConfig(channelName, rawConfig, env);
335
338
  }
336
339
  __name(parseChannelWebhookConfig, "parseChannelWebhookConfig");
337
- function parseChannelWebhookConfigLenient(channelName, rawConfig, onSourceError) {
340
+ function parseChannelWebhookConfigLenient(channelName, rawConfig, onSourceError, env = process.env) {
338
341
  const raw = rawConfig["webhooks"];
339
342
  if (raw === void 0 || raw === null) {
340
343
  return void 0;
@@ -351,7 +354,8 @@ function parseChannelWebhookConfigLenient(channelName, rawConfig, onSourceError)
351
354
  sources[source] = parseWebhookSource(
352
355
  channelName,
353
356
  `webhooks.sources.${source}`,
354
- sourceConfig
357
+ sourceConfig,
358
+ env
355
359
  );
356
360
  } catch (error) {
357
361
  onSourceError?.(source, error);
@@ -416,7 +420,7 @@ async function parseChannelConfig(name, rawConfig, defaultCwd = process.cwd(), o
416
420
  senderPolicy: rawConfig["senderPolicy"] || "allowlist",
417
421
  allowedUsers: rawConfig["allowedUsers"] || [],
418
422
  sessionScope: rawConfig["sessionScope"] || "user",
419
- cwd: resolvePath(rawConfig["cwd"] || defaultCwd),
423
+ cwd: resolveChannelCwd(rawConfig["cwd"], defaultCwd),
420
424
  approvalMode: parseApprovalModeConfig(name, rawConfig),
421
425
  instructions: rawConfig["instructions"],
422
426
  identity: parseObjectStringFields(name, rawConfig, "identity", [
@@ -2,11 +2,11 @@
2
2
  "use strict";
3
3
  import {
4
4
  isTlsVerificationDisabled
5
- } from "./chunk-4ZVWQHEQ.js";
5
+ } from "./chunk-LQIDP6K5.js";
6
6
  import {
7
7
  getErrorMessage,
8
8
  isNodeError
9
- } from "./chunk-J4TSQ5EQ.js";
9
+ } from "./chunk-7NFB7LBQ.js";
10
10
  import {
11
11
  init_esbuild_shims
12
12
  } from "./chunk-5O2XNYP6.js";
@@ -2,11 +2,11 @@
2
2
  "use strict";
3
3
  import {
4
4
  STATUS_SCHEMA_VERSION
5
- } from "./chunk-VWPVHAMO.js";
5
+ } from "./chunk-7DXHIMXL.js";
6
6
  import {
7
7
  detectRuntime,
8
8
  redactProxyCredentials
9
- } from "./chunk-4ZVWQHEQ.js";
9
+ } from "./chunk-LQIDP6K5.js";
10
10
  import {
11
11
  init_esbuild_shims
12
12
  } from "./chunk-5O2XNYP6.js";
@@ -4,56 +4,56 @@ import {
4
4
  Client,
5
5
  So,
6
6
  StdioClientTransport
7
- } from "./chunk-NVYTCB5Z.js";
8
- import "./chunk-CU3L64TP.js";
9
- import "./chunk-ZJE7NSL3.js";
7
+ } from "./chunk-XCR44EEA.js";
10
8
  import "./chunk-H6XPXXMH.js";
11
- import "./chunk-MC23XKFE.js";
12
- import "./chunk-LUODI7WD.js";
13
- import "./chunk-ORBGV7NJ.js";
14
- import "./chunk-KKNMOEZH.js";
15
- import "./chunk-W2UIXQDL.js";
9
+ import "./chunk-5M6IDOMF.js";
10
+ import "./chunk-BLPMRN4B.js";
11
+ import "./chunk-RCEEXIOO.js";
12
+ import "./chunk-KKRTYONM.js";
13
+ import "./chunk-TV6K2FB4.js";
14
+ import "./chunk-E2UVIFI2.js";
15
+ import "./chunk-7STBROEV.js";
16
16
  import "./chunk-XU457J4V.js";
17
17
  import "./chunk-VDDGDZMA.js";
18
- import "./chunk-CEA3E3JB.js";
18
+ import "./chunk-SPJQO2CE.js";
19
19
  import "./chunk-SZRN75WQ.js";
20
20
  import "./chunk-HTO4JFDZ.js";
21
21
  import "./chunk-CPBF7KYF.js";
22
- import "./chunk-4GORAUCN.js";
22
+ import "./chunk-F333XEAU.js";
23
23
  import "./chunk-6AM5D4ME.js";
24
- import "./chunk-7R3CZA3Q.js";
25
- import "./chunk-GWHYEOV2.js";
26
- import "./chunk-4QLQE5WJ.js";
27
- import "./chunk-5XUCZNSY.js";
24
+ import "./chunk-2Z5UX4KI.js";
25
+ import "./chunk-ARKANCNX.js";
26
+ import "./chunk-L5U3ELZX.js";
27
+ import "./chunk-TYLOFD2U.js";
28
28
  import {
29
29
  safeJsonStringify
30
- } from "./chunk-3VAGG5T5.js";
30
+ } from "./chunk-BYOOK22F.js";
31
31
  import "./chunk-4WKAA4KS.js";
32
32
  import "./chunk-CR3C7WXL.js";
33
33
  import "./chunk-CARU2RR2.js";
34
34
  import "./chunk-VGC4I5JJ.js";
35
- import "./chunk-YLV3XXFB.js";
36
- import "./chunk-TDEXZKMT.js";
37
- import "./chunk-J3JA76CF.js";
35
+ import "./chunk-FBU7WRZI.js";
36
+ import "./chunk-Y66VOBRP.js";
37
+ import "./chunk-WTNZ6DXB.js";
38
38
  import {
39
39
  BaseDeclarativeTool,
40
40
  BaseToolInvocation
41
- } from "./chunk-B5ORX3FG.js";
42
- import "./chunk-BZIFY5TF.js";
43
- import "./chunk-UOZWKTQG.js";
41
+ } from "./chunk-JGUT3LWZ.js";
42
+ import "./chunk-OKAIGAYW.js";
43
+ import "./chunk-ZPAHLFZU.js";
44
44
  import "./chunk-JESCGQM3.js";
45
- import "./chunk-ZLXQN2QS.js";
45
+ import "./chunk-WIEO4CWB.js";
46
46
  import "./chunk-XVNQMZ2I.js";
47
- import "./chunk-524RQP4Q.js";
48
- import "./chunk-JSG7ZSBC.js";
47
+ import "./chunk-B7NUUEXC.js";
48
+ import "./chunk-TQBODCFD.js";
49
49
  import "./chunk-A4UCTEB5.js";
50
50
  import "./chunk-XWRJCPHC.js";
51
51
  import "./chunk-4LD5APFL.js";
52
52
  import "./chunk-TYAMGABM.js";
53
53
  import "./chunk-FCMNKVXT.js";
54
54
  import "./chunk-DJ2GSRLV.js";
55
- import "./chunk-4ZVWQHEQ.js";
56
- import "./chunk-J4TSQ5EQ.js";
55
+ import "./chunk-LQIDP6K5.js";
56
+ import "./chunk-7NFB7LBQ.js";
57
57
  import "./chunk-75DOP5OR.js";
58
58
  import "./chunk-DMTGGOSA.js";
59
59
  import "./chunk-YQ3U5MUC.js";
@@ -5,11 +5,12 @@ import {
5
5
  parseChannelWebhookConfig,
6
6
  parseChannelWebhookConfigLenient,
7
7
  resolveEnvVars
8
- } from "./chunk-TO6QE22P.js";
8
+ } from "./chunk-ZP4ZZJJG.js";
9
+ import "./chunk-4QZADKJS.js";
9
10
  import {
10
11
  findCliEntryPath
11
12
  } from "./chunk-V6WHFGST.js";
12
- import "./chunk-34Z3U5RQ.js";
13
+ import "./chunk-AU4R7ACM.js";
13
14
  import "./chunk-UDXSXLER.js";
14
15
  import "./chunk-H6XPXXMH.js";
15
16
  import "./chunk-5O2XNYP6.js";