@zubriq/code 0.19.8-2 → 0.19.9-2

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 (245) hide show
  1. package/README.md +5 -1
  2. package/dist/README.md +5 -1
  3. package/dist/bundled/qc-helper/docs/features/channels/_meta.ts +1 -0
  4. package/dist/bundled/qc-helper/docs/features/channels/overview.md +23 -12
  5. package/dist/bundled/qc-helper/docs/features/channels/plugins.md +1 -0
  6. package/dist/bundled/qc-helper/docs/features/channels/wecom.md +111 -0
  7. package/dist/bundled/qc-helper/docs/features/hooks.md +36 -34
  8. package/dist/bundled/qc-helper/docs/features/memory.md +1 -1
  9. package/dist/bundled/qc-helper/docs/qwen-serve.md +17 -10
  10. package/dist/bundled/review/SKILL.md +6 -2
  11. package/dist/chunks/{MaxSizedBox-DTQF2MAY.js → MaxSizedBox-DAULPOB3.js} +13 -11
  12. package/dist/chunks/{StandaloneSessionPicker-XYO5V6IL.js → StandaloneSessionPicker-5Z7LVQ7F.js} +28 -23
  13. package/dist/chunks/{acpAgent-STMSDYGP.js → acpAgent-7JXXVE6B.js} +110 -80
  14. package/dist/chunks/{agent-C6YBZNSA.js → agent-S52M66XP.js} +8 -8
  15. package/dist/chunks/{agent-headless-65TQRHOY.js → agent-headless-47CB7RWZ.js} +8 -8
  16. package/dist/chunks/{anthropicContentGenerator-FZQAEMYK.js → anthropicContentGenerator-52G6ZA3D.js} +31 -4
  17. package/dist/chunks/{artifact-tool-H2TNPNP5.js → artifact-tool-D233YJFH.js} +25 -6
  18. package/dist/chunks/{bridge-GHGQNQRB.js → bridge-O6CZID6W.js} +17 -14
  19. package/dist/chunks/{ca-HCMB2I54.js → ca-MKD32FQL.js} +26 -1
  20. package/dist/chunks/{channel-worker-supervisor-B7MSMB5K.js → channel-worker-supervisor-NZQUOEFJ.js} +3 -3
  21. package/dist/chunks/{chunk-ZCMLUE4O.js → chunk-27A4SPWJ.js} +1 -1
  22. package/dist/chunks/{chunk-O3DVJ2JO.js → chunk-2DFYBHN4.js} +507 -64
  23. package/dist/chunks/{chunk-3SBUWSLI.js → chunk-2KQ42WGR.js} +2 -2
  24. package/dist/chunks/{chunk-PADAEB6D.js → chunk-2MZ4AYIT.js} +308 -81
  25. package/dist/chunks/chunk-332PWN27.js +19 -0
  26. package/dist/chunks/{chunk-FVMWEHWU.js → chunk-3B26UVCX.js} +114 -12
  27. package/dist/chunks/{chunk-W6RH6KHR.js → chunk-3GPVYALM.js} +4 -2
  28. package/dist/chunks/{chunk-SVK2TREP.js → chunk-3KV2TYC4.js} +1 -1
  29. package/dist/chunks/{chunk-G7ZG7CA6.js → chunk-3UP777ZS.js} +8 -7
  30. package/dist/chunks/{chunk-TYOF23VK.js → chunk-43W4YSO6.js} +1 -12
  31. package/dist/chunks/{chunk-3Y2SRVRF.js → chunk-4S7YIVL6.js} +3 -3
  32. package/dist/chunks/{chunk-VEB3NYSO.js → chunk-5MBO76SL.js} +5 -0
  33. package/dist/chunks/{chunk-6N76CE6T.js → chunk-65GWYZCU.js} +10 -5
  34. package/dist/chunks/{chunk-Z3VQSA4A.js → chunk-67JZ37FW.js} +1 -1
  35. package/dist/chunks/{chunk-FACTYQFS.js → chunk-72AW57IS.js} +5352 -4135
  36. package/dist/chunks/chunk-A2X3KLC3.js +3807 -0
  37. package/dist/chunks/chunk-A7JD2K4Z.js +28 -0
  38. package/dist/chunks/{chunk-3CRBBLJZ.js → chunk-BAC5H5F4.js} +9 -9
  39. package/dist/chunks/{chunk-46IFEQDM.js → chunk-BIO6D3EL.js} +1 -1
  40. package/dist/chunks/chunk-BLNH4ALH.js +283 -0
  41. package/dist/chunks/{chunk-GXQXFHYV.js → chunk-CBYHA7QC.js} +1 -1
  42. package/dist/chunks/{chunk-NCFY7PWS.js → chunk-CCGOFQV3.js} +51 -2
  43. package/dist/chunks/{chunk-66KNL43D.js → chunk-CD6USWHZ.js} +1 -1
  44. package/dist/chunks/{chunk-J6GMF2DO.js → chunk-CJGGW5FV.js} +66 -7
  45. package/dist/chunks/{chunk-LLVYPOQV.js → chunk-COUVVSMO.js} +2 -2
  46. package/dist/chunks/{chunk-A6XKBVOM.js → chunk-EHLC565U.js} +11 -11
  47. package/dist/chunks/{chunk-VKWGD42I.js → chunk-EKPIW37S.js} +10 -10
  48. package/dist/chunks/{chunk-DNV4FSN5.js → chunk-FBET5XZ2.js} +6 -4
  49. package/dist/chunks/{chunk-UMU5USBC.js → chunk-FNQ4NTFR.js} +14 -153
  50. package/dist/chunks/{chunk-2NL7ED5Q.js → chunk-FV7425LN.js} +22 -1
  51. package/dist/chunks/{chunk-6UBX2BIL.js → chunk-G2XMNE5I.js} +4 -4
  52. package/dist/chunks/{chunk-B34OV7K2.js → chunk-GGQQA4JW.js} +13 -0
  53. package/dist/chunks/chunk-GLE2YUPU.js +34 -0
  54. package/dist/chunks/{chunk-X265R5C6.js → chunk-GN3F6PIU.js} +1 -1
  55. package/dist/chunks/{chunk-TJS7CXNX.js → chunk-HY7JTIS2.js} +5 -5
  56. package/dist/chunks/{chunk-WSVZFWN4.js → chunk-IBY3Q3HG.js} +693 -104
  57. package/dist/chunks/{chunk-VEDR5V7H.js → chunk-ITIH3WEE.js} +8 -8
  58. package/dist/chunks/chunk-JGT7AZCW.js +168 -0
  59. package/dist/chunks/{chunk-PY6PG4BL.js → chunk-K6VOOZB4.js} +6 -5
  60. package/dist/chunks/chunk-LGFAYIKX.js +115 -0
  61. package/dist/chunks/chunk-LOJIM7ZB.js +487 -0
  62. package/dist/chunks/{chunk-FT5ASRN5.js → chunk-LRKOXGF6.js} +5 -5
  63. package/dist/chunks/{chunk-AXYGF5SX.js → chunk-LSB7QUTQ.js} +15 -9
  64. package/dist/chunks/{chunk-QUR23Z2Q.js → chunk-M6F3JCGI.js} +2 -2
  65. package/dist/chunks/{chunk-DH7XPKJV.js → chunk-MCAFUCA2.js} +5 -5
  66. package/dist/chunks/{chunk-SWHGVEH5.js → chunk-O2JNBKLL.js} +1 -1
  67. package/dist/chunks/{chunk-4RQIB5UZ.js → chunk-O2YT7VB4.js} +0 -34
  68. package/dist/chunks/{chunk-4KJ2BPIT.js → chunk-OACJLMLD.js} +2 -38
  69. package/dist/chunks/{chunk-VQZSRYKB.js → chunk-OFGYDQPN.js} +423 -61
  70. package/dist/chunks/{chunk-5XZ6FOTY.js → chunk-ONGYTDFO.js} +1 -1
  71. package/dist/chunks/{chunk-RTCBBRJK.js → chunk-PBLEEGVC.js} +20 -8
  72. package/dist/chunks/{chunk-4KMU5RWV.js → chunk-PJWMYPWC.js} +45 -9
  73. package/dist/chunks/{chunk-65A6UQDZ.js → chunk-QGNRRKJJ.js} +146 -54
  74. package/dist/chunks/{chunk-GSNACUDM.js → chunk-RBXWE376.js} +5 -13
  75. package/dist/chunks/{chunk-COPJASIO.js → chunk-RRI2ZIIA.js} +10 -10
  76. package/dist/chunks/{chunk-GKUVMLJH.js → chunk-RVBG4B2L.js} +3 -3
  77. package/dist/chunks/{chunk-KSPVDFE4.js → chunk-SAIILPQ3.js} +0 -3
  78. package/dist/chunks/{chunk-AKSRZ5BA.js → chunk-SBP3QB6S.js} +17 -111
  79. package/dist/chunks/{chunk-P42OA4GP.js → chunk-TBV35OBU.js} +14 -8
  80. package/dist/chunks/{chunk-HXVVCTID.js → chunk-TWKTKDO7.js} +1 -1
  81. package/dist/chunks/chunk-U3BZFGXZ.js +167 -0
  82. package/dist/chunks/chunk-UIDXQNMV.js +13 -0
  83. package/dist/chunks/{chunk-PIORL4OD.js → chunk-UKV3D7WB.js} +0 -44
  84. package/dist/chunks/{chunk-23TH7TAA.js → chunk-UNP2RK7B.js} +2 -2
  85. package/dist/chunks/{chunk-AGTU5PQ6.js → chunk-UWRIDCTO.js} +4 -4
  86. package/dist/chunks/chunk-V35MD7KN.js +13 -0
  87. package/dist/chunks/{chunk-OMO3UY57.js → chunk-VFGM47DK.js} +681 -1232
  88. package/dist/chunks/{chunk-PMMJS5AM.js → chunk-X4BBHJZ3.js} +4 -3
  89. package/dist/chunks/chunk-XMQOLL5Z.js +8223 -0
  90. package/dist/chunks/chunk-XNXVCNAT.js +88 -0
  91. package/dist/chunks/{chunk-TDGF35EN.js → chunk-XOHNA2S6.js} +1 -1
  92. package/dist/chunks/{chunk-PYWGOON5.js → chunk-XPS3UH2D.js} +1 -1
  93. package/dist/chunks/chunk-YBRZ3S2C.js +942 -0
  94. package/dist/chunks/{chunk-RFIL6REB.js → chunk-YKZIAK7C.js} +119 -29
  95. package/dist/chunks/{chunk-7SZJYZPR.js → chunk-YWRV5OJX.js} +92 -465
  96. package/dist/chunks/chunk-Z3I3QJK3.js +47 -0
  97. package/dist/chunks/{chunk-Z33V6JSK.js → chunk-ZF7UGIJ2.js} +1 -1
  98. package/dist/chunks/chunk-ZL5HN75Q.js +61 -0
  99. package/dist/chunks/{computer-use-BH6F7LI7.js → computer-use-AK2MPP4V.js} +8 -8
  100. package/dist/chunks/{contextCommand-URWDQXBJ.js → contextCommand-XXYJTFCX.js} +12 -11
  101. package/dist/chunks/{cron-create-DDYU4DIR.js → cron-create-JSXEIPVS.js} +1 -1
  102. package/dist/chunks/{cron-delete-DFKOUZWN.js → cron-delete-OIFVEPGU.js} +1 -1
  103. package/dist/chunks/{cron-list-ME5QGAR5.js → cron-list-D4ZX4IOE.js} +1 -1
  104. package/dist/chunks/{daemon-XWG2EGFX.js → daemon-WPAENEBW.js} +71 -3
  105. package/dist/chunks/{daemon-status-provider-CLNN2UY2.js → daemon-status-provider-DOBLLAUR.js} +20 -17
  106. package/dist/chunks/{de-PLLFDERI.js → de-ZFPPQVSF.js} +26 -1
  107. package/dist/chunks/{dist-LPVU3L2M.js → dist-BEXOZXLQ.js} +6 -3792
  108. package/dist/chunks/{dist-7GU63KI5.js → dist-E6UANPIM.js} +1 -1
  109. package/dist/chunks/{dist-VHBP2PIG.js → dist-H2AEJCZ5.js} +2 -2
  110. package/dist/chunks/{dist-3UDX5T4T.js → dist-O2IRTRPP.js} +1 -1
  111. package/dist/chunks/dist-SCFLLYMK.js +3217 -0
  112. package/dist/chunks/{dist-H4HHZYCI.js → dist-Z34QPAQW.js} +2 -2
  113. package/dist/chunks/{earlyInputCapture-SFINSVH2.js → earlyInputCapture-QX7FKEPY.js} +8 -8
  114. package/dist/chunks/{edit-5OJRPFGZ.js → edit-MNTA2GNC.js} +9 -9
  115. package/dist/chunks/{en-AXARKOWO.js → en-N4EPZAQI.js} +31 -2
  116. package/dist/chunks/{enter-worktree-HK54JBSR.js → enter-worktree-WAG3SZ2O.js} +8 -8
  117. package/dist/chunks/{enterPlanMode-5GXOH5PQ.js → enterPlanMode-THDBOOSG.js} +8 -8
  118. package/dist/chunks/environment-AE6MZDKE.js +90 -0
  119. package/dist/chunks/{errors-73SZF7O7.js → errors-ITLDJFFZ.js} +10 -10
  120. package/dist/chunks/{exit-worktree-CBX23VFX.js → exit-worktree-ENFBD2E5.js} +8 -8
  121. package/dist/chunks/{exitPlanMode-HADS7AAV.js → exitPlanMode-HOSNRC22.js} +8 -8
  122. package/dist/chunks/{fast-path-3QQW3W6W.js → fast-path-CDB4XPSL.js} +12 -3
  123. package/dist/chunks/{fast-path-settings-RCRXH2JG.js → fast-path-settings-7RIFI3PK.js} +3 -2
  124. package/dist/chunks/{fr-MBMNQSQ6.js → fr-5WWMY53B.js} +30 -1
  125. package/dist/chunks/{gemini-Q4KKJMFH.js → gemini-DR4ABGLP.js} +438 -265
  126. package/dist/chunks/{geminiContentGenerator-SBKWTYFU.js → geminiContentGenerator-GGRSUJG6.js} +1 -1
  127. package/dist/chunks/{glob-ORVXVDJJ.js → glob-S3ESYOFY.js} +8 -8
  128. package/dist/chunks/{grep-TMSN6VOF.js → grep-WVRBUHNE.js} +8 -8
  129. package/dist/chunks/handleAutoUpdate-K73DXUO2.js +65 -0
  130. package/dist/chunks/{initializer-NFO725XQ.js → initializer-O2E3RKOG.js} +17 -13
  131. package/dist/chunks/{ja-HFV5QCHR.js → ja-CUHZOLEJ.js} +30 -1
  132. package/dist/chunks/{list-NP6QTWKD.js → list-7HRANYR2.js} +17 -15
  133. package/dist/chunks/{loadedSettingsAdapter-5PXZC4ZO.js → loadedSettingsAdapter-DC3DUNGS.js} +15 -13
  134. package/dist/chunks/{loop-wakeup-ZW5P6VPY.js → loop-wakeup-OHWEMFP5.js} +2 -2
  135. package/dist/chunks/{ls-L654WOAT.js → ls-7MFU2QYW.js} +1 -1
  136. package/dist/chunks/{lsp-M35KE54Y.js → lsp-XHDTPTGV.js} +2 -4
  137. package/dist/chunks/{mcp-D3C75I47.js → mcp-T676RK3N.js} +15 -13
  138. package/dist/chunks/{monitor-YZFSN33Z.js → monitor-NDBNCHYZ.js} +16 -11
  139. package/dist/chunks/{nonInteractiveCli-U7ZDVLQD.js → nonInteractiveCli-TMB4TLML.js} +52 -44
  140. package/dist/chunks/{notebook-edit-LVCCTW65.js → notebook-edit-XNEWNIID.js} +9 -9
  141. package/dist/chunks/{openaiContentGenerator-G4JHCIGX.js → openaiContentGenerator-2GGVNH4J.js} +6 -6
  142. package/dist/chunks/{pidfile-O37JZBNN.js → pidfile-U6U3KDMU.js} +8 -8
  143. package/dist/chunks/{pt-2THT3YHA.js → pt-OLYN42DS.js} +26 -1
  144. package/dist/chunks/{qwenContentGenerator-SPHKYVJF.js → qwenContentGenerator-FZR3VYQW.js} +10 -10
  145. package/dist/chunks/{read-file-MBGSR77H.js → read-file-2P3MNXBM.js} +3 -3
  146. package/dist/chunks/{record-artifact-PP3LKHTS.js → record-artifact-SQ2OKRJW.js} +3 -3
  147. package/dist/chunks/{ripGrep-WMM4G6QB.js → ripGrep-W5DKLIC2.js} +8 -8
  148. package/dist/chunks/{ru-PER5I4OI.js → ru-MKM2HFDS.js} +26 -1
  149. package/dist/chunks/{run-qwen-serve-3BOGJBTS.js → run-qwen-serve-FGGLFPLG.js} +602 -143
  150. package/dist/chunks/{scheduler-KWPXUSJ4.js → scheduler-CTJIZOWI.js} +8 -8
  151. package/dist/chunks/{send-message-OA6MV4EU.js → send-message-76GT3JMC.js} +1 -1
  152. package/dist/chunks/{serve-6JXYVZRD.js → serve-2OBCBFXZ.js} +17 -14
  153. package/dist/chunks/{server-KOSHCREY.js → server-K5VEB225.js} +1394 -328
  154. package/dist/chunks/{session-5RI6JYZ6.js → session-7EVRNUXC.js} +53 -45
  155. package/dist/chunks/{settings-URS74H6Z.js → settings-7QGLUMUT.js} +24 -20
  156. package/dist/chunks/{shell-6VOD5NUH.js → shell-JSJCMSGS.js} +8 -8
  157. package/dist/chunks/{skill-MKIISOW7.js → skill-DSJPTMVO.js} +15 -5
  158. package/dist/chunks/{spawnChannel-GM7HIIDH.js → spawnChannel-ANPAH5LN.js} +10 -10
  159. package/dist/chunks/{src-X2S7YA5D.js → src-GMUN6GZG.js} +21 -9
  160. package/dist/chunks/{startInteractiveUI-REEHDN4Z.js → startInteractiveUI-ID2KOH7Z.js} +33759 -41620
  161. package/dist/chunks/{task-create-RPFZNB4B.js → task-create-WCHTB435.js} +2 -2
  162. package/dist/chunks/{task-update-5WUG5MVQ.js → task-update-XYWMHJGJ.js} +2 -2
  163. package/dist/chunks/{team-create-MQVOXIHZ.js → team-create-FNAI6F35.js} +8 -8
  164. package/dist/chunks/{team-plan-approval-H74NA3K2.js → team-plan-approval-GPAFPCI7.js} +8 -8
  165. package/dist/chunks/{theme-manager-YMC4EJQO.js → theme-manager-366AQFJU.js} +8 -8
  166. package/dist/chunks/{tool-search-VUJGWH7W.js → tool-search-GVSOY72G.js} +6 -23
  167. package/dist/chunks/total-session-admission-FUTVSIVT.js +72 -0
  168. package/dist/chunks/{trustedFolders-UMMVN4P2.js → trustedFolders-2J5VZVXS.js} +9 -9
  169. package/dist/chunks/updateCheck-BHMVBNNI.js +65 -0
  170. package/dist/chunks/{validateNonInterActiveAuth-ORA3KCZO.js → validateNonInterActiveAuth-6BNWQW3V.js} +49 -41
  171. package/dist/chunks/{version-II46VXNW.js → version-SI22TR43.js} +2 -1
  172. package/dist/chunks/{workflow-KYFPOWKK.js → workflow-EGCATP2M.js} +9 -9
  173. package/dist/chunks/{workspace-providers-status-QDQEYCHT.js → workspace-providers-status-NSB2VFSX.js} +18 -15
  174. package/dist/chunks/workspace-registry-B3YUZ2VM.js +74 -0
  175. package/dist/chunks/{workspace-service-YBVUOSP7.js → workspace-service-U23V3DKO.js} +21 -19
  176. package/dist/chunks/{workspace-skills-status-3ASS4VEE.js → workspace-skills-status-3OHN6C62.js} +16 -14
  177. package/dist/chunks/{write-file-7ZHZO4K5.js → write-file-YJHRI5NS.js} +9 -9
  178. package/dist/chunks/{zh-RS3HZHFH.js → zh-J4F6QWQV.js} +31 -2
  179. package/dist/chunks/{zh-TW-L5GRQ4S4.js → zh-TW-XVDWOLSW.js} +31 -2
  180. package/dist/cli.js +11 -11
  181. package/dist/locales/ca.js +30 -0
  182. package/dist/locales/de.js +30 -0
  183. package/dist/locales/en.js +38 -2
  184. package/dist/locales/fr.js +36 -0
  185. package/dist/locales/ja.js +36 -0
  186. package/dist/locales/pt.js +30 -0
  187. package/dist/locales/ru.js +30 -0
  188. package/dist/locales/zh-TW.js +38 -2
  189. package/dist/locales/zh.js +38 -2
  190. package/dist/package.json +3 -3
  191. package/dist/web-shell/assets/{arc-C6tzvtOa.js → arc-BWyoJpY2.js} +1 -1
  192. package/dist/web-shell/assets/{architectureDiagram-3BPJPVTR-DSYQFGn9.js → architectureDiagram-3BPJPVTR-BT0mGrz2.js} +1 -1
  193. package/dist/web-shell/assets/{blockDiagram-GPEHLZMM-CHjBdXAD.js → blockDiagram-GPEHLZMM-BLgUWvyf.js} +1 -1
  194. package/dist/web-shell/assets/{c4Diagram-AAUBKEIU-BQzK6Yyb.js → c4Diagram-AAUBKEIU-DYx9M7oU.js} +1 -1
  195. package/dist/web-shell/assets/channel-wmPUGHtg.js +1 -0
  196. package/dist/web-shell/assets/{chunk-2J33WTMH-hpP2p3Ij.js → chunk-2J33WTMH-CfMHWbuZ.js} +1 -1
  197. package/dist/web-shell/assets/{chunk-4BX2VUAB-B5KtK1JJ.js → chunk-4BX2VUAB-B1URoqEV.js} +1 -1
  198. package/dist/web-shell/assets/{chunk-55IACEB6-BDv6Mfr2.js → chunk-55IACEB6-DAIaM4QF.js} +1 -1
  199. package/dist/web-shell/assets/{chunk-727SXJPM-BevPWfrX.js → chunk-727SXJPM-B2X34knw.js} +1 -1
  200. package/dist/web-shell/assets/{chunk-AQP2D5EJ-ChDrz2ad.js → chunk-AQP2D5EJ-Cif-zLTQ.js} +1 -1
  201. package/dist/web-shell/assets/{chunk-FMBD7UC4-ClMdVSDs.js → chunk-FMBD7UC4-H18WCXdY.js} +1 -1
  202. package/dist/web-shell/assets/{chunk-ND2GUHAM-BceV8kZS.js → chunk-ND2GUHAM-YFtetHi0.js} +1 -1
  203. package/dist/web-shell/assets/{chunk-QZHKN3VN-DtyK2wwc.js → chunk-QZHKN3VN-By2hiH3r.js} +1 -1
  204. package/dist/web-shell/assets/classDiagram-4FO5ZUOK-BA2ljEjW.js +1 -0
  205. package/dist/web-shell/assets/classDiagram-v2-Q7XG4LA2-BA2ljEjW.js +1 -0
  206. package/dist/web-shell/assets/{cose-bilkent-S5V4N54A-BGMsqwmE.js → cose-bilkent-S5V4N54A-VrcnnLZu.js} +1 -1
  207. package/dist/web-shell/assets/{dagre-BM42HDAG-C-71clpF.js → dagre-BM42HDAG-CGo-IaVV.js} +1 -1
  208. package/dist/web-shell/assets/{diagram-2AECGRRQ-WIzzlkec.js → diagram-2AECGRRQ-Dl4QjzIB.js} +1 -1
  209. package/dist/web-shell/assets/{diagram-5GNKFQAL-CtnhZUP1.js → diagram-5GNKFQAL-qMLmsO0u.js} +1 -1
  210. package/dist/web-shell/assets/{diagram-KO2AKTUF-CS_IUezp.js → diagram-KO2AKTUF-CHlmuxPI.js} +1 -1
  211. package/dist/web-shell/assets/{diagram-LMA3HP47-BQnGRwN9.js → diagram-LMA3HP47-BUwU3GwT.js} +1 -1
  212. package/dist/web-shell/assets/{diagram-OG6HWLK6-By2VIocq.js → diagram-OG6HWLK6-HEhwPDUM.js} +1 -1
  213. package/dist/web-shell/assets/{erDiagram-TEJ5UH35-Dy8WeNkr.js → erDiagram-TEJ5UH35-1n0llBmM.js} +1 -1
  214. package/dist/web-shell/assets/{flowDiagram-I6XJVG4X-Diu_4y0w.js → flowDiagram-I6XJVG4X-BN74uMnt.js} +1 -1
  215. package/dist/web-shell/assets/{ganttDiagram-6RSMTGT7-CH8euujP.js → ganttDiagram-6RSMTGT7-BoOq78i3.js} +1 -1
  216. package/dist/web-shell/assets/{gitGraphDiagram-PVQCEYII-DHiObZq1.js → gitGraphDiagram-PVQCEYII-CN8b00c8.js} +1 -1
  217. package/dist/web-shell/assets/index-CNwoO1Cn.js +783 -0
  218. package/dist/web-shell/assets/index-CWQ0z6kZ.css +5 -0
  219. package/dist/web-shell/assets/{infoDiagram-5YYISTIA-CvC9A6fh.js → infoDiagram-5YYISTIA-CCurnIna.js} +1 -1
  220. package/dist/web-shell/assets/{ishikawaDiagram-YF4QCWOH-BK46kC4E.js → ishikawaDiagram-YF4QCWOH-AwuRqdUP.js} +1 -1
  221. package/dist/web-shell/assets/{journeyDiagram-JHISSGLW-B2TIiKq4.js → journeyDiagram-JHISSGLW-B7IICk-E.js} +1 -1
  222. package/dist/web-shell/assets/{kanban-definition-UN3LZRKU-Bh0WAulO.js → kanban-definition-UN3LZRKU-BYF0OKhx.js} +1 -1
  223. package/dist/web-shell/assets/{linear-Bxe9SHMk.js → linear-GWWguGfD.js} +1 -1
  224. package/dist/web-shell/assets/{mermaid.core-B1Pv6D5B.js → mermaid.core-JqtkxvCl.js} +5 -5
  225. package/dist/web-shell/assets/{mindmap-definition-RKZ34NQL-Bz0joLH8.js → mindmap-definition-RKZ34NQL-B0MmHsZ6.js} +1 -1
  226. package/dist/web-shell/assets/{pieDiagram-4H26LBE5-CnN4x-VS.js → pieDiagram-4H26LBE5-DhImUZLQ.js} +1 -1
  227. package/dist/web-shell/assets/{quadrantDiagram-W4KKPZXB-BYWD4xO4.js → quadrantDiagram-W4KKPZXB-DGeSC3DT.js} +1 -1
  228. package/dist/web-shell/assets/{requirementDiagram-4Y6WPE33-B4MEhI9h.js → requirementDiagram-4Y6WPE33-DkspY6Re.js} +1 -1
  229. package/dist/web-shell/assets/{sankeyDiagram-5OEKKPKP-Dk_FgKLp.js → sankeyDiagram-5OEKKPKP-CaOofS2x.js} +1 -1
  230. package/dist/web-shell/assets/{sequenceDiagram-3UESZ5HK-B4ksiBZQ.js → sequenceDiagram-3UESZ5HK-DFQ_kFnN.js} +1 -1
  231. package/dist/web-shell/assets/{stateDiagram-AJRCARHV-CYf0xSPl.js → stateDiagram-AJRCARHV-D3snw0Tz.js} +1 -1
  232. package/dist/web-shell/assets/stateDiagram-v2-BHNVJYJU-BbSm_9d0.js +1 -0
  233. package/dist/web-shell/assets/{timeline-definition-PNZ67QCA-0CXeWHNY.js → timeline-definition-PNZ67QCA-l4zH8nLM.js} +1 -1
  234. package/dist/web-shell/assets/{vennDiagram-CIIHVFJN-DHoYY9v2.js → vennDiagram-CIIHVFJN-BnRlA98M.js} +1 -1
  235. package/dist/web-shell/assets/{wardley-L42UT6IY-D_65qshr.js → wardley-L42UT6IY-BS0xUdmd.js} +1 -1
  236. package/dist/web-shell/assets/{wardleyDiagram-YWT4CUSO-Cv90x1sd.js → wardleyDiagram-YWT4CUSO-DKGBUWyQ.js} +1 -1
  237. package/dist/web-shell/assets/{xychartDiagram-2RQKCTM6-5FQCYJyh.js → xychartDiagram-2RQKCTM6-DVb2HuOB.js} +1 -1
  238. package/dist/web-shell/index.html +2 -2
  239. package/package.json +3 -2
  240. package/dist/web-shell/assets/channel-V-ZaJrA6.js +0 -1
  241. package/dist/web-shell/assets/classDiagram-4FO5ZUOK-s-H0snGT.js +0 -1
  242. package/dist/web-shell/assets/classDiagram-v2-Q7XG4LA2-s-H0snGT.js +0 -1
  243. package/dist/web-shell/assets/index-DW75jq0K.css +0 -5
  244. package/dist/web-shell/assets/index-tiCo0xbZ.js +0 -779
  245. package/dist/web-shell/assets/stateDiagram-v2-BHNVJYJU-CMtrFRUb.js +0 -1
@@ -6,7 +6,7 @@ import {
6
6
  getNestedProperty,
7
7
  getPersistScopeForModelSelection,
8
8
  restoreSettingsFromBackup
9
- } from "./chunk-7SZJYZPR.js";
9
+ } from "./chunk-YWRV5OJX.js";
10
10
  import {
11
11
  init_esbuild_shims
12
12
  } from "./chunk-A4BMJM77.js";
@@ -3,22 +3,25 @@
3
3
  import {
4
4
  HEADLESS_YOLO_NO_SANDBOX_WARNING
5
5
  } from "./chunk-BJBWRCSK.js";
6
+ import {
7
+ DEFAULT_RING_SIZE
8
+ } from "./chunk-3UP777ZS.js";
9
+ import {
10
+ DEFAULT_COMPACTED_REPLAY_MAX_BYTES
11
+ } from "./chunk-GLE2YUPU.js";
6
12
  import {
7
13
  normalizeServeChannelSelection
8
14
  } from "./chunk-MX2YXRER.js";
9
15
  import {
10
16
  loadSettings
11
- } from "./chunk-7SZJYZPR.js";
12
- import {
13
- DEFAULT_RING_SIZE
14
- } from "./chunk-G7ZG7CA6.js";
17
+ } from "./chunk-YWRV5OJX.js";
15
18
  import {
16
19
  writeStderrLine
17
20
  } from "./chunk-Y6Z2O3WR.js";
18
21
  import {
19
22
  MCP_BUDGET_WARN_FRACTION,
20
23
  parsePositiveIntegerEnv
21
- } from "./chunk-FACTYQFS.js";
24
+ } from "./chunk-72AW57IS.js";
22
25
  import {
23
26
  openBrowserSecurely,
24
27
  shouldLaunchBrowser
@@ -88,6 +91,9 @@ var serveCommand = {
88
91
  type: "number",
89
92
  default: 20,
90
93
  description: "Cap on concurrent live sessions. New spawn requests beyond this return 503; attach to existing sessions still works. Set to 0 to disable."
94
+ }).option("max-total-sessions", {
95
+ type: "number",
96
+ description: "Non-negative integer cap on concurrent live sessions across all workspace runtimes. Set to 0 to disable."
91
97
  }).option("max-pending-prompts-per-session", {
92
98
  type: "number",
93
99
  default: 5,
@@ -96,7 +102,7 @@ var serveCommand = {
96
102
  type: "string",
97
103
  array: true,
98
104
  requiresArg: true,
99
- description: "Absolute workspace path this daemon binds to. POST /session requests with a mismatched cwd return 400 workspace_mismatch. Defaults to process.cwd() when omitted. For multi-workspace deployments, run one `qwen serve` per workspace on separate ports (or behind an external orchestrator)."
105
+ description: "Absolute workspace path this daemon binds to. POST /session requests with a mismatched cwd return 400 workspace_mismatch. Defaults to process.cwd() when omitted. Repeat for sessions-only multi-workspace mode; legacy workspace APIs remain primary-workspace only."
100
106
  }).option("max-connections", {
101
107
  type: "number",
102
108
  default: 256,
@@ -139,10 +145,14 @@ var serveCommand = {
139
145
  // one place rather than drifting between CLI and bus.
140
146
  default: DEFAULT_RING_SIZE,
141
147
  description: "Per-session SSE replay ring depth. Sets the replay backlog available to `GET /session/:id/events` reconnects that send a `Last-Event-ID: N` header. Larger = more reconnect headroom at the cost of a few hundred KB extra RAM per session. Must be a positive finite integer."
148
+ }).option("compacted-replay-max-bytes", {
149
+ type: "number",
150
+ default: DEFAULT_COMPACTED_REPLAY_MAX_BYTES,
151
+ description: "Per-session in-memory compacted replay snapshot byte cap for `POST /session/:id/load` late attaches. Larger = more recent history in load snapshots at higher heap cost. Must be a positive safe integer no larger than 256 MiB."
142
152
  }).option("http-bridge", {
143
153
  type: "boolean",
144
154
  default: true,
145
- description: "Stage 1 mode: one `qwen --acp` child per daemon (the daemon binds to one workspace at boot, multiplexing N sessions onto that child via the agent's native `newSession()`). Stage 2 native in-process mode is not yet implemented; this flag will become opt-in then."
155
+ description: "HTTP bridge mode: one `qwen --acp` child per registered workspace (sessions-only multi-workspace routing is enabled when multiple --workspace values are supplied). Stage 2 native in-process mode is not yet implemented; this flag will become opt-in then."
146
156
  }).option("mcp-client-budget", {
147
157
  type: "number",
148
158
  description: "Cap on live MCP clients spawned inside the ACP child for the bound workspace. Positive integer. Combine with --mcp-budget-mode to control behavior at the cap. When unset, mode defaults to off (no accounting-driven enforcement, but GET /workspace/mcp still reports `clientCount`). Distinct from claude-code MCP_SERVER_CONNECTION_BATCH_SIZE which gates startup concurrency, not the total client count."
@@ -287,7 +297,7 @@ var serveCommand = {
287
297
  process.exit(1);
288
298
  }
289
299
  }
290
- const { runQwenServe } = await import("./run-qwen-serve-3BOGJBTS.js");
300
+ const { runQwenServe } = await import("./run-qwen-serve-FGGLFPLG.js");
291
301
  try {
292
302
  const handle = await runQwenServe({
293
303
  port: argv.port,
@@ -295,9 +305,11 @@ var serveCommand = {
295
305
  token: argv.token,
296
306
  mode: "http-bridge",
297
307
  maxSessions: argv["max-sessions"],
308
+ ...argv["max-total-sessions"] !== void 0 ? { maxTotalSessions: argv["max-total-sessions"] } : {},
298
309
  maxPendingPromptsPerSession,
299
310
  maxConnections: argv["max-connections"],
300
311
  eventRingSize: argv["event-ring-size"],
312
+ compactedReplayMaxBytes: argv["compacted-replay-max-bytes"],
301
313
  workspace: argv.workspace,
302
314
  requireAuth: argv["require-auth"],
303
315
  enableSessionShell: argv["enable-session-shell"],
@@ -2,19 +2,19 @@
2
2
  "use strict";
3
3
  import {
4
4
  getEffectiveSupportedModes
5
- } from "./chunk-DH7XPKJV.js";
5
+ } from "./chunk-MCAFUCA2.js";
6
6
  import {
7
7
  require_jsx_runtime
8
- } from "./chunk-GSNACUDM.js";
8
+ } from "./chunk-RBXWE376.js";
9
9
  import {
10
10
  require_react
11
11
  } from "./chunk-KYMBIKIW.js";
12
12
  import {
13
13
  getCachedStringWidth
14
- } from "./chunk-AKSRZ5BA.js";
14
+ } from "./chunk-SBP3QB6S.js";
15
15
  import {
16
16
  uiTelemetryService
17
- } from "./chunk-O3DVJ2JO.js";
17
+ } from "./chunk-2DFYBHN4.js";
18
18
  import {
19
19
  init_esbuild_shims
20
20
  } from "./chunk-A4BMJM77.js";
@@ -376,6 +376,7 @@ __name(getCommandSubcommandNames, "getCommandSubcommandNames");
376
376
  // packages/cli/src/ui/utils/pending-rendered-height.ts
377
377
  init_esbuild_shims();
378
378
  var TABLE_CHROME_ROWS = 5;
379
+ var TABLE_MAX_ROW_LINES = 4;
379
380
  var TABLE_ROW_RE = /^\s*\|(.+)\|\s*$/;
380
381
  var TABLE_SEPARATOR_RE = /^(?=.*\|)\s*\|?\s*(:?-+:?)\s*(\|\s*(:?-+:?)\s*)*\|?\s*$/;
381
382
  var CODE_FENCE_RE = /^ *(`{3,}|~{3,}) *([^`]*)$/;
@@ -490,13 +491,47 @@ function fitPendingSlice(allLines, contentWidth, budget, tableClampRows) {
490
491
  let j = i + 2;
491
492
  while (j < allLines.length && TABLE_ROW_RE.test(allLines[j])) j++;
492
493
  const dataRows = j - (i + 2);
493
- const colCount = splitMarkdownTableRow(
494
+ const headerCells = splitMarkdownTableRow(
494
495
  TABLE_ROW_RE.exec(allLines[i])[1]
495
- ).length;
496
+ );
497
+ const colCount = headerCells.length;
496
498
  const minHorizontalWidth = Math.max(24, 6 * colCount + 5);
497
- const usesVertical = contentWidth < minHorizontalWidth;
498
- const rows = usesVertical ? dataRows * colCount + Math.max(0, dataRows - 1) + 2 : 2 * dataRows + TABLE_CHROME_ROWS;
499
- const cost = Math.min(rows, tableClampRows);
499
+ const perColWidth = Math.max(
500
+ 3,
501
+ Math.floor((contentWidth - (1 + 3 * colCount) - 4) / colCount)
502
+ );
503
+ let contentRows = 0;
504
+ let verticalRows = 0;
505
+ let maxRowLines = 1;
506
+ for (const label of headerCells) {
507
+ maxRowLines = Math.max(
508
+ maxRowLines,
509
+ estimateWrappedRows(label, perColWidth)
510
+ );
511
+ }
512
+ contentRows += maxRowLines;
513
+ for (let r = i + 2; r < j; r++) {
514
+ const cells = splitMarkdownTableRow(
515
+ TABLE_ROW_RE.exec(allLines[r])[1]
516
+ );
517
+ let rowMax = 1;
518
+ for (let colIdx = 0; colIdx < cells.length; colIdx++) {
519
+ const value = cells[colIdx];
520
+ rowMax = Math.max(rowMax, estimateWrappedRows(value, perColWidth));
521
+ const label = headerCells[colIdx] ?? "";
522
+ verticalRows += estimateWrappedRows(
523
+ label ? `${label}: ${value}` : value,
524
+ contentWidth
525
+ );
526
+ }
527
+ contentRows += rowMax;
528
+ if (r === i + 2) {
529
+ maxRowLines = Math.max(maxRowLines, rowMax);
530
+ }
531
+ }
532
+ const usesVertical = dataRows > 0 && (contentWidth < minHorizontalWidth || maxRowLines > TABLE_MAX_ROW_LINES);
533
+ const rows = usesVertical ? verticalRows + Math.max(0, dataRows - 1) + 2 : contentRows + Math.max(0, dataRows - 1) + TABLE_CHROME_ROWS;
534
+ const cost = Math.min(rows, tableClampRows + 2);
500
535
  if (rendered + cost > budget && i > 0) {
501
536
  kept = i;
502
537
  break;
@@ -538,6 +573,7 @@ var TOOL_STATUS = {
538
573
  };
539
574
 
540
575
  export {
576
+ TABLE_MAX_ROW_LINES,
541
577
  TABLE_ROW_RE,
542
578
  TABLE_SEPARATOR_RE,
543
579
  CODE_FENCE_RE,
@@ -1,12 +1,10 @@
1
1
  // Force strict mode and setup for ESM
2
2
  "use strict";
3
- import {
4
- relaunchApp
5
- } from "./chunk-SVK2TREP.js";
6
3
  import {
7
4
  CODE_FENCE_RE,
8
5
  SHELL_COMMAND_NAME,
9
6
  SHELL_NAME,
7
+ TABLE_MAX_ROW_LINES,
10
8
  TABLE_ROW_RE,
11
9
  TABLE_SEPARATOR_RE,
12
10
  TOOL_STATUS,
@@ -18,7 +16,7 @@ import {
18
16
  getCommandSubcommandNames,
19
17
  splitMarkdownTableRow,
20
18
  useSessionStats
21
- } from "./chunk-4KMU5RWV.js";
19
+ } from "./chunk-PJWMYPWC.js";
22
20
  import {
23
21
  Colors,
24
22
  RowMouseController,
@@ -27,7 +25,7 @@ import {
27
25
  useMouseEvents,
28
26
  useSettings,
29
27
  useTerminalSize
30
- } from "./chunk-3SBUWSLI.js";
28
+ } from "./chunk-2KQ42WGR.js";
31
29
  import {
32
30
  buildResumedHistoryItems,
33
31
  calculateAverageLatency,
@@ -40,14 +38,14 @@ import {
40
38
  levelLabel,
41
39
  useKeypress,
42
40
  wrapForMultiplexer
43
- } from "./chunk-DH7XPKJV.js";
41
+ } from "./chunk-MCAFUCA2.js";
44
42
  import {
45
- isTerminalGoalStatusKind
46
- } from "./chunk-KSPVDFE4.js";
43
+ relaunchApp
44
+ } from "./chunk-3KV2TYC4.js";
47
45
  import {
48
46
  MINIMUM_MAX_HEIGHT,
49
47
  MaxSizedBox
50
- } from "./chunk-LLVYPOQV.js";
48
+ } from "./chunk-COUVVSMO.js";
51
49
  import {
52
50
  theme
53
51
  } from "./chunk-IFEWJXFS.js";
@@ -59,7 +57,10 @@ import {
59
57
  require_jsx_runtime,
60
58
  use_is_screen_reader_enabled_default,
61
59
  use_stdin_default
62
- } from "./chunk-GSNACUDM.js";
60
+ } from "./chunk-RBXWE376.js";
61
+ import {
62
+ isTerminalGoalStatusKind
63
+ } from "./chunk-SAIILPQ3.js";
63
64
  import {
64
65
  require_react
65
66
  } from "./chunk-KYMBIKIW.js";
@@ -67,14 +68,9 @@ import {
67
68
  resolveColor,
68
69
  themeManager
69
70
  } from "./chunk-PC4ZXHU2.js";
70
- import {
71
- require_has_flag,
72
- require_source
73
- } from "./chunk-3GONHQOA.js";
74
71
  import {
75
72
  cpLen,
76
73
  cpSlice,
77
- eastAsianWidth,
78
74
  escapeAnsiCtrlCodes,
79
75
  getCachedStringWidth,
80
76
  sanitizeSensitiveText,
@@ -82,7 +78,14 @@ import {
82
78
  stripUnsafeCharacters,
83
79
  toCodePoints,
84
80
  wrapToVisualLines
85
- } from "./chunk-AKSRZ5BA.js";
81
+ } from "./chunk-SBP3QB6S.js";
82
+ import {
83
+ eastAsianWidth
84
+ } from "./chunk-LGFAYIKX.js";
85
+ import {
86
+ require_has_flag,
87
+ require_source
88
+ } from "./chunk-3GONHQOA.js";
86
89
  import {
87
90
  formatDuration,
88
91
  formatMemoryUsage,
@@ -91,18 +94,18 @@ import {
91
94
  } from "./chunk-KHDZHZMH.js";
92
95
  import {
93
96
  createLoadedSettingsAdapter
94
- } from "./chunk-5XZ6FOTY.js";
97
+ } from "./chunk-ONGYTDFO.js";
95
98
  import {
96
99
  getPersistScopeForModelSelection
97
- } from "./chunk-7SZJYZPR.js";
100
+ } from "./chunk-YWRV5OJX.js";
98
101
  import {
99
102
  getCurrentLanguage,
100
103
  localizeToolDisplayName,
101
104
  t
102
- } from "./chunk-COPJASIO.js";
105
+ } from "./chunk-RRI2ZIIA.js";
103
106
  import {
104
107
  isWorkspaceTrusted
105
- } from "./chunk-Z3VQSA4A.js";
108
+ } from "./chunk-67JZ37FW.js";
106
109
  import {
107
110
  ALL_PROVIDERS,
108
111
  IdeClient,
@@ -123,11 +126,11 @@ import {
123
126
  resolveMetadataKey,
124
127
  resolveOwnsModel,
125
128
  stripAnsi
126
- } from "./chunk-FACTYQFS.js";
129
+ } from "./chunk-72AW57IS.js";
127
130
  import {
128
131
  MAIN_SOURCE,
129
132
  getMCPServerStatus
130
- } from "./chunk-O3DVJ2JO.js";
133
+ } from "./chunk-2DFYBHN4.js";
131
134
  import {
132
135
  ToolDisplayNames,
133
136
  ToolNames,
@@ -5258,7 +5261,6 @@ __name(labelMayDeceive, "labelMayDeceive");
5258
5261
  // packages/cli/src/ui/utils/TableRenderer.tsx
5259
5262
  var import_jsx_runtime2 = __toESM(require_jsx_runtime(), 1);
5260
5263
  var MIN_COLUMN_WIDTH = 3;
5261
- var MAX_ROW_LINES = 4;
5262
5264
  var ABSOLUTE_MIN_HORIZONTAL_TABLE_WIDTH = 24;
5263
5265
  var SAFETY_MARGIN = 4;
5264
5266
  var INLINE_MATH_MAX_CHARS = 1024;
@@ -5496,6 +5498,7 @@ var TableRenderer = /* @__PURE__ */ __name(({
5496
5498
  contentWidth,
5497
5499
  aligns,
5498
5500
  enableInlineMath = false,
5501
+ isStreaming = false,
5499
5502
  maxHeight
5500
5503
  }) => {
5501
5504
  const colCount = headers.length;
@@ -5584,18 +5587,23 @@ var TableRenderer = /* @__PURE__ */ __name(({
5584
5587
  }
5585
5588
  function calculateMaxRowLines() {
5586
5589
  let maxLines = 1;
5590
+ const rowsToMeasure = isStreaming ? rowMetrics.slice(0, 1) : rowMetrics;
5587
5591
  for (let i = 0; i < colCount; i++) {
5588
- const wrapped = wrapText(headerMetrics[i].rendered, columnWidths[i], {
5589
- hard: needsHardWrap
5590
- });
5591
- maxLines = Math.max(maxLines, wrapped.length);
5592
+ const headerWrapped = wrapText(
5593
+ headerMetrics[i].rendered,
5594
+ columnWidths[i],
5595
+ {
5596
+ hard: needsHardWrap
5597
+ }
5598
+ );
5599
+ maxLines = Math.max(maxLines, headerWrapped.length);
5592
5600
  }
5593
- for (const row of rowMetrics) {
5601
+ for (const row of rowsToMeasure) {
5594
5602
  for (let i = 0; i < colCount; i++) {
5595
- const wrapped = wrapText(row[i].rendered, columnWidths[i], {
5603
+ const cellWrapped = wrapText(row[i].rendered, columnWidths[i], {
5596
5604
  hard: needsHardWrap
5597
5605
  });
5598
- maxLines = Math.max(maxLines, wrapped.length);
5606
+ maxLines = Math.max(maxLines, cellWrapped.length);
5599
5607
  }
5600
5608
  }
5601
5609
  return maxLines;
@@ -5606,7 +5614,7 @@ var TableRenderer = /* @__PURE__ */ __name(({
5606
5614
  ABSOLUTE_MIN_HORIZONTAL_TABLE_WIDTH,
5607
5615
  colCount * MIN_COLUMN_WIDTH + borderOverhead + SAFETY_MARGIN
5608
5616
  );
5609
- const useVerticalFormat = contentWidth < minHorizontalTableWidth || maxRowLines > MAX_ROW_LINES;
5617
+ const useVerticalFormat = rowMetrics.length > 0 && (contentWidth < minHorizontalTableWidth || maxRowLines > TABLE_MAX_ROW_LINES);
5610
5618
  const getAlign = /* @__PURE__ */ __name((colIndex) => aligns?.[colIndex] ?? "left", "getAlign");
5611
5619
  function renderBorderLine(type) {
5612
5620
  const [left, mid, cross, right] = {
@@ -5695,23 +5703,25 @@ var TableRenderer = /* @__PURE__ */ __name(({
5695
5703
  const tableLines = [];
5696
5704
  tableLines.push(renderBorderLine("top"));
5697
5705
  tableLines.push(...renderRowLines(headerRendered, true));
5698
- tableLines.push(renderBorderLine("middle"));
5699
- rowMetrics.forEach((row, rowIndex) => {
5700
- tableLines.push(
5701
- ...renderRowLines(
5702
- row.map((m) => m.rendered),
5703
- false
5704
- )
5705
- );
5706
- if (rowIndex < rows.length - 1) {
5707
- tableLines.push(renderBorderLine("middle"));
5708
- }
5709
- });
5706
+ if (rowMetrics.length > 0) {
5707
+ tableLines.push(renderBorderLine("middle"));
5708
+ rowMetrics.forEach((row, rowIndex) => {
5709
+ tableLines.push(
5710
+ ...renderRowLines(
5711
+ row.map((m) => m.rendered),
5712
+ false
5713
+ )
5714
+ );
5715
+ if (rowIndex < rows.length - 1) {
5716
+ tableLines.push(renderBorderLine("middle"));
5717
+ }
5718
+ });
5719
+ }
5710
5720
  tableLines.push(renderBorderLine("bottom"));
5711
5721
  const maxLineWidth = Math.max(
5712
5722
  ...tableLines.map((line) => getCachedStringWidth(stripAnsi(line)))
5713
5723
  );
5714
- if (maxLineWidth > contentWidth - SAFETY_MARGIN) {
5724
+ if (rowMetrics.length > 0 && maxLineWidth > contentWidth - SAFETY_MARGIN) {
5715
5725
  return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Box_default, { marginY: 1, children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Text, { children: clampToMaxHeight(renderVerticalFormat()) }) });
5716
5726
  }
5717
5727
  return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Box_default, { flexDirection: "column", marginY: 1, children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Text, { children: clampToMaxHeight(tableLines.join("\n")) }) });
@@ -8139,6 +8149,66 @@ var MarkdownDisplayInternal = /* @__PURE__ */ __name(({
8139
8149
  lines = allLines.slice(0, keptLines);
8140
8150
  }
8141
8151
  }
8152
+ if (isPending && renderVisualBlocks && lines.length > 0) {
8153
+ let start = lines.length;
8154
+ while (start > 0 && /^\s*\|/.test(lines[start - 1])) start--;
8155
+ if (start < lines.length) {
8156
+ let activeCodeFence = "";
8157
+ let insideMathBlock = false;
8158
+ for (let i = 0; i < start; i++) {
8159
+ const line = lines[i];
8160
+ if (activeCodeFence) {
8161
+ const fenceMatch2 = line.match(codeFenceRegex);
8162
+ if (fenceMatch2 && fenceMatch2[1].startsWith(activeCodeFence[0]) && fenceMatch2[1].length >= activeCodeFence.length) {
8163
+ activeCodeFence = "";
8164
+ }
8165
+ continue;
8166
+ }
8167
+ if (insideMathBlock) {
8168
+ if (mathFenceRegex.test(line)) insideMathBlock = false;
8169
+ continue;
8170
+ }
8171
+ const fenceMatch = line.match(codeFenceRegex);
8172
+ if (fenceMatch) {
8173
+ activeCodeFence = fenceMatch[1];
8174
+ } else if (mathFenceRegex.test(line)) {
8175
+ insideMathBlock = true;
8176
+ }
8177
+ }
8178
+ const insideCodeFence = activeCodeFence !== "";
8179
+ let headerCells = 0;
8180
+ if (!insideCodeFence && !insideMathBlock) {
8181
+ let hdr = lines[start].replace(/^\s*\|/, "");
8182
+ if (/\|\s*$/.test(hdr)) hdr = hdr.replace(/\|\s*$/, "");
8183
+ headerCells = splitMarkdownTableRow(hdr).length;
8184
+ }
8185
+ if (headerCells >= 2) {
8186
+ const rest = lines.slice(start + 1);
8187
+ const hasMatchingSeparator = rest.some((l) => {
8188
+ if (!tableSeparatorRegex.test(l)) return false;
8189
+ const cols = splitMarkdownTableRow(l).filter(
8190
+ (c) => c.length > 0
8191
+ ).length;
8192
+ return cols === headerCells;
8193
+ });
8194
+ const lineAfterHeader = rest[0];
8195
+ const separatorIsTrailing = rest.length === 1;
8196
+ const looksLikeSeparatorPrefix = lineAfterHeader !== void 0 && lineAfterHeader.includes("|") && /^[\s|:-]*$/.test(lineAfterHeader);
8197
+ let couldStillBeTable = lineAfterHeader === void 0 || tableSeparatorRegex.test(lineAfterHeader) || separatorIsTrailing && looksLikeSeparatorPrefix;
8198
+ if (couldStillBeTable && lineAfterHeader !== void 0 && /\|\s*$/.test(lineAfterHeader)) {
8199
+ const sepCols = splitMarkdownTableRow(lineAfterHeader).filter(
8200
+ (c) => c.length > 0
8201
+ ).length;
8202
+ if (sepCols !== headerCells && (sepCols > headerCells || !separatorIsTrailing)) {
8203
+ couldStillBeTable = false;
8204
+ }
8205
+ }
8206
+ if (!hasMatchingSeparator && couldStillBeTable) {
8207
+ lines = lines.slice(0, start);
8208
+ }
8209
+ }
8210
+ }
8211
+ }
8142
8212
  const parseTableAligns = /* @__PURE__ */ __name((line) => splitMarkdownTableRow(line).filter((cell) => cell.length > 0).map((cell) => {
8143
8213
  const startsWithColon = cell.startsWith(":");
8144
8214
  const endsWithColon = cell.endsWith(":");
@@ -8278,6 +8348,7 @@ var MarkdownDisplayInternal = /* @__PURE__ */ __name(({
8278
8348
  }
8279
8349
  } else if (inTable && tableSeparatorMatch) {
8280
8350
  tableAligns = parseTableAligns(line);
8351
+ } else if (isPending && inTable && index === lines.length - 1 && tableHeaders.length > 0 && /^\s*\|/.test(line) && (!tableRowMatch || splitMarkdownTableRow(tableRowMatch[1]).length < tableHeaders.length)) {
8281
8352
  } else if (inTable && tableRowMatch) {
8282
8353
  const cells = splitMarkdownTableRow(tableRowMatch[1]);
8283
8354
  while (cells.length < tableHeaders.length) {
@@ -8287,7 +8358,6 @@ var MarkdownDisplayInternal = /* @__PURE__ */ __name(({
8287
8358
  cells.length = tableHeaders.length;
8288
8359
  }
8289
8360
  tableRows.push(cells);
8290
- } else if (isPending && inTable && !tableRowMatch && index === lines.length - 1 && tableHeaders.length > 0 && /^\s*\|/.test(line)) {
8291
8361
  } else if (inTable && !tableRowMatch) {
8292
8362
  if (tableHeaders.length > 0 && tableRows.length > 0) {
8293
8363
  addContentBlock(
@@ -8300,6 +8370,7 @@ var MarkdownDisplayInternal = /* @__PURE__ */ __name(({
8300
8370
  aligns: tableAligns,
8301
8371
  enableInlineMath: renderVisualBlocks,
8302
8372
  isPending,
8373
+ isFrontier: false,
8303
8374
  availableTerminalHeight
8304
8375
  },
8305
8376
  `table-${contentBlocks.length}`
@@ -8496,6 +8567,7 @@ var MarkdownDisplayInternal = /* @__PURE__ */ __name(({
8496
8567
  aligns: tableAligns,
8497
8568
  enableInlineMath: renderVisualBlocks,
8498
8569
  isPending,
8570
+ isFrontier: true,
8499
8571
  availableTerminalHeight
8500
8572
  },
8501
8573
  `table-${contentBlocks.length}`
@@ -8709,6 +8781,7 @@ var RenderTableInternal = /* @__PURE__ */ __name(({
8709
8781
  aligns,
8710
8782
  enableInlineMath = false,
8711
8783
  isPending = false,
8784
+ isFrontier = true,
8712
8785
  availableTerminalHeight
8713
8786
  }) => {
8714
8787
  const maxHeight = isPending && availableTerminalHeight !== void 0 ? Math.max(2, availableTerminalHeight - TABLE_PENDING_RESERVED_ROWS) : void 0;
@@ -8720,6 +8793,7 @@ var RenderTableInternal = /* @__PURE__ */ __name(({
8720
8793
  contentWidth,
8721
8794
  aligns,
8722
8795
  enableInlineMath,
8796
+ isStreaming: isPending && isFrontier,
8723
8797
  maxHeight
8724
8798
  }
8725
8799
  );
@@ -14151,25 +14225,43 @@ function isCollapsibleTool(toolName) {
14151
14225
  return COLLAPSIBLE_CATEGORIES.has(getToolCategory(toolName));
14152
14226
  }
14153
14227
  __name(isCollapsibleTool, "isCollapsibleTool");
14228
+ function safeDescription(raw) {
14229
+ if (!raw) return void 0;
14230
+ const stripped = raw.replace(
14231
+ /\x1b\][^\x07]*\x07|\x1b[()][A-Z0-9]|\x1b\[[0-9;]*[a-zA-Z]|\x1b./g,
14232
+ ""
14233
+ );
14234
+ const cleaned = stripped.replace(/[\x00-\x1f\x7f]/g, " ").trim();
14235
+ if (cleaned.startsWith("{") || cleaned.startsWith("[")) return void 0;
14236
+ return cleaned || void 0;
14237
+ }
14238
+ __name(safeDescription, "safeDescription");
14154
14239
  function buildToolSummary(toolCalls, isActive) {
14155
14240
  if (toolCalls.length === 0) return "";
14156
- const counts = /* @__PURE__ */ new Map();
14241
+ const toolsByCategory = /* @__PURE__ */ new Map();
14157
14242
  for (const tool of toolCalls) {
14158
14243
  const cat = getToolCategory(tool.name);
14159
- counts.set(cat, (counts.get(cat) ?? 0) + 1);
14244
+ const arr = toolsByCategory.get(cat) ?? [];
14245
+ arr.push(tool);
14246
+ toolsByCategory.set(cat, arr);
14160
14247
  }
14161
14248
  const parts = [];
14162
14249
  for (const cat of CATEGORY_ORDER) {
14163
- const count = counts.get(cat);
14164
- if (!count) continue;
14250
+ const tools = toolsByCategory.get(cat);
14251
+ if (!tools || tools.length === 0) continue;
14165
14252
  const template = CATEGORY_TEMPLATES[cat];
14166
14253
  const verb = isActive ? template.activeVerb : template.pastVerb;
14167
14254
  const lower = parts.length > 0;
14168
14255
  const v = lower ? verb.toLowerCase() : verb;
14169
- if (count === 1) {
14170
- parts.push(`${v} 1 ${template.singular}`);
14256
+ if (tools.length === 1) {
14257
+ const safeDesc = safeDescription(tools[0].description);
14258
+ if (safeDesc !== void 0) {
14259
+ parts.push(`${v} ${safeDesc}`);
14260
+ } else {
14261
+ parts.push(`${v} 1 ${template.singular}`);
14262
+ }
14171
14263
  } else {
14172
- parts.push(`${v} ${count} ${template.plural}`);
14264
+ parts.push(`${v} ${tools.length} ${template.plural}`);
14173
14265
  }
14174
14266
  }
14175
14267
  return parts.join(", ");
@@ -14392,12 +14484,12 @@ var SubagentScrollbackSummary = /* @__PURE__ */ __name(({ data }) => {
14392
14484
  }
14393
14485
  const tail = parts.length > 0 ? ` \xB7 ${parts.join(" \xB7 ")}` : "";
14394
14486
  const typePrefix = data.subagentName ? `${escapeAnsiCtrlCodes(data.subagentName)}: ` : "";
14395
- const safeDescription = escapeAnsiCtrlCodes(data.taskDescription ?? "");
14487
+ const safeDescription2 = escapeAnsiCtrlCodes(data.taskDescription ?? "");
14396
14488
  const reason = data.status !== "completed" && data.terminateReason ? ` \xB7 ${escapeAnsiCtrlCodes(data.terminateReason)}` : "";
14397
14489
  return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Box_default, { paddingLeft: 1, children: /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(Text, { wrap: "truncate-end", children: [
14398
14490
  /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Text, { color, children: `${glyph} ` }),
14399
14491
  /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Text, { bold: true, children: typePrefix }),
14400
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Text, { color: theme.text.secondary, children: safeDescription }),
14492
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Text, { color: theme.text.secondary, children: safeDescription2 }),
14401
14493
  /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Text, { color: theme.text.secondary, children: tail }),
14402
14494
  /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Text, { color: theme.text.secondary, children: reason })
14403
14495
  ] }) });
@@ -1,5 +1,8 @@
1
1
  // Force strict mode and setup for ESM
2
2
  "use strict";
3
+ import {
4
+ is_in_ci_default
5
+ } from "./chunk-332PWN27.js";
3
6
  import {
4
7
  require_react
5
8
  } from "./chunk-KYMBIKIW.js";
@@ -7,10 +10,10 @@ import {
7
10
  eastAsianWidth,
8
11
  isFullWidth,
9
12
  isWide
10
- } from "./chunk-AKSRZ5BA.js";
13
+ } from "./chunk-LGFAYIKX.js";
11
14
  import {
12
15
  stripAnsi
13
- } from "./chunk-FACTYQFS.js";
16
+ } from "./chunk-72AW57IS.js";
14
17
  import {
15
18
  init_esbuild_shims
16
19
  } from "./chunk-A4BMJM77.js";
@@ -10651,11 +10654,6 @@ var ConEmu = {
10651
10654
  };
10652
10655
  var setCwd = /* @__PURE__ */ __name((cwd2 = cwdFunction()) => iTerm.setCwd(cwd2) + ConEmu.setCwd(cwd2), "setCwd");
10653
10656
 
10654
- // packages/cli/src/patches/is-in-ci.ts
10655
- init_esbuild_shims();
10656
- var isInCi = false;
10657
- var is_in_ci_default = isInCi;
10658
-
10659
10657
  // node_modules/auto-bind/index.js
10660
10658
  init_esbuild_shims();
10661
10659
  var getAllProperties = /* @__PURE__ */ __name((object) => {
@@ -18783,7 +18781,6 @@ var measure_element_default = measureElement;
18783
18781
 
18784
18782
  export {
18785
18783
  base_exports,
18786
- is_in_ci_default,
18787
18784
  Box_default,
18788
18785
  Text,
18789
18786
  render_default,
@@ -18798,11 +18795,6 @@ export {
18798
18795
  measure_element_default,
18799
18796
  require_jsx_runtime
18800
18797
  };
18801
- /**
18802
- * @license
18803
- * Copyright 2025 Google LLC
18804
- * SPDX-License-Identifier: Apache-2.0
18805
- */
18806
18798
  /*! Bundled license information:
18807
18799
 
18808
18800
  react-reconciler/cjs/react-reconciler-constants.production.js:
@@ -5,7 +5,7 @@ import {
5
5
  } from "./chunk-Y6Z2O3WR.js";
6
6
  import {
7
7
  resolveBundleDir
8
- } from "./chunk-FACTYQFS.js";
8
+ } from "./chunk-72AW57IS.js";
9
9
  import {
10
10
  Storage
11
11
  } from "./chunk-22MNNNXE.js";
@@ -158,15 +158,15 @@ init_esbuild_shims();
158
158
 
159
159
  // import("./locales/**/*.js") in packages/cli/src/i18n/index.ts
160
160
  var globImport_locales_js = __glob({
161
- "./locales/ca.js": () => import("./ca-HCMB2I54.js"),
162
- "./locales/de.js": () => import("./de-PLLFDERI.js"),
163
- "./locales/en.js": () => import("./en-AXARKOWO.js"),
164
- "./locales/fr.js": () => import("./fr-MBMNQSQ6.js"),
165
- "./locales/ja.js": () => import("./ja-HFV5QCHR.js"),
166
- "./locales/pt.js": () => import("./pt-2THT3YHA.js"),
167
- "./locales/ru.js": () => import("./ru-PER5I4OI.js"),
168
- "./locales/zh-TW.js": () => import("./zh-TW-L5GRQ4S4.js"),
169
- "./locales/zh.js": () => import("./zh-RS3HZHFH.js")
161
+ "./locales/ca.js": () => import("./ca-MKD32FQL.js"),
162
+ "./locales/de.js": () => import("./de-ZFPPQVSF.js"),
163
+ "./locales/en.js": () => import("./en-N4EPZAQI.js"),
164
+ "./locales/fr.js": () => import("./fr-5WWMY53B.js"),
165
+ "./locales/ja.js": () => import("./ja-CUHZOLEJ.js"),
166
+ "./locales/pt.js": () => import("./pt-OLYN42DS.js"),
167
+ "./locales/ru.js": () => import("./ru-MKM2HFDS.js"),
168
+ "./locales/zh-TW.js": () => import("./zh-TW-XVDWOLSW.js"),
169
+ "./locales/zh.js": () => import("./zh-J4F6QWQV.js")
170
170
  });
171
171
 
172
172
  // packages/cli/src/i18n/index.ts