@qwen-code/qwen-code 0.19.6 → 0.19.7-nightly.20260708.394c1a289

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 (267) hide show
  1. package/bundled/qc-helper/docs/configuration/model-providers.md +5 -1
  2. package/bundled/qc-helper/docs/configuration/settings.md +33 -1
  3. package/bundled/qc-helper/docs/features/channels/_meta.ts +1 -0
  4. package/bundled/qc-helper/docs/features/channels/overview.md +41 -31
  5. package/bundled/qc-helper/docs/features/channels/wecom.md +111 -0
  6. package/bundled/qc-helper/docs/features/code-review.md +16 -6
  7. package/bundled/qc-helper/docs/features/commands.md +1 -1
  8. package/bundled/qc-helper/docs/features/hooks.md +6 -0
  9. package/bundled/qc-helper/docs/features/skills.md +5 -3
  10. package/bundled/qc-helper/docs/integration-github-action.md +1 -1
  11. package/bundled/review/DESIGN.md +50 -18
  12. package/bundled/review/SKILL.md +102 -12
  13. package/chunks/{MaxSizedBox-SK7CUWZQ.js → MaxSizedBox-XS37LWTD.js} +31 -29
  14. package/chunks/{StandaloneSessionPicker-G44HGSAP.js → StandaloneSessionPicker-LPALJTKN.js} +44 -41
  15. package/chunks/{acpAgent-PKCTYWJV.js → acpAgent-4VE3FGJX.js} +769 -366
  16. package/chunks/{agent-IYMHUXWB.js → agent-CCHERW6L.js} +24 -24
  17. package/chunks/{agent-headless-L2DAW6I5.js → agent-headless-55N6UBUU.js} +24 -24
  18. package/chunks/{anthropicContentGenerator-H5ZOEENQ.js → anthropicContentGenerator-AKYPSZIV.js} +7 -7
  19. package/chunks/{artifact-tool-SLYPWG3C.js → artifact-tool-D233YJFH.js} +27 -8
  20. package/chunks/{askUserQuestion-OKPTECON.js → askUserQuestion-MKL5ZTMC.js} +2 -2
  21. package/chunks/{bridge-DF3IJQ5V.js → bridge-U6HXOHE7.js} +34 -32
  22. package/chunks/{channel-worker-supervisor-JUYQ5Z4R.js → channel-worker-supervisor-CRCVYQIE.js} +1 -1
  23. package/chunks/{chunk-AVQDCKNF.js → chunk-22MNNNXE.js} +4 -0
  24. package/chunks/chunk-2DYY5XUZ.js +8223 -0
  25. package/chunks/chunk-2FHWCKWA.js +262 -0
  26. package/chunks/{chunk-6BEOH4KK.js → chunk-2NPS2UDH.js} +767 -122
  27. package/chunks/{chunk-N2IJLN2L.js → chunk-2SWMCXVR.js} +13 -5
  28. package/chunks/{chunk-OBVBTAX5.js → chunk-2YELHTUE.js} +2 -2
  29. package/chunks/chunk-332PWN27.js +19 -0
  30. package/chunks/{chunk-CLQPBI4H.js → chunk-3B26UVCX.js} +132 -26
  31. package/chunks/{chunk-HCFSKO6K.js → chunk-3QDZDAJG.js} +1 -1
  32. package/chunks/{chunk-G7OQ3RFJ.js → chunk-42XGFRJS.js} +3 -3
  33. package/chunks/{chunk-SL2P3JUA.js → chunk-43W4YSO6.js} +1 -12
  34. package/chunks/{chunk-JA5KWZTJ.js → chunk-44NROQYV.js} +5 -3
  35. package/chunks/{chunk-BOAWGUY6.js → chunk-4AFOWB47.js} +121 -49
  36. package/chunks/{chunk-MOUXUCXQ.js → chunk-4KJ2BPIT.js} +1 -1
  37. package/chunks/{chunk-YTWX5TT2.js → chunk-5FL2K3ZB.js} +1 -1
  38. package/chunks/{chunk-UNXGEDX2.js → chunk-5OSSOBZC.js} +133 -25
  39. package/chunks/{chunk-JN2VJ33O.js → chunk-7I4MGFBN.js} +966 -121
  40. package/chunks/{chunk-T42ACHFI.js → chunk-7LTB54MK.js} +1 -1
  41. package/chunks/chunk-A2X3KLC3.js +3807 -0
  42. package/chunks/{chunk-EWALXUAD.js → chunk-AGHU5VRK.js} +8 -0
  43. package/chunks/{chunk-GLPV75ES.js → chunk-AHNJGLFV.js} +2 -2
  44. package/chunks/{chunk-IUSKVKH5.js → chunk-AXTPFMRS.js} +1 -1
  45. package/chunks/{chunk-T22H4V4R.js → chunk-B34OV7K2.js} +1 -1
  46. package/chunks/{chunk-FZ5NVRVK.js → chunk-B5FOCTEZ.js} +3 -3
  47. package/chunks/{chunk-3UC7ZC43.js → chunk-B6WUEODT.js} +7 -7
  48. package/chunks/{chunk-MJKEQSZI.js → chunk-BGL43SJ3.js} +1 -1
  49. package/chunks/{chunk-OAYOHSGP.js → chunk-BHRU4SDF.js} +4 -4
  50. package/chunks/{chunk-YPCPZSZB.js → chunk-CCGOFQV3.js} +56 -4
  51. package/chunks/{chunk-FDY3XOTM.js → chunk-CR5IU2RX.js} +4 -4
  52. package/chunks/{chunk-LWGLBVWA.js → chunk-CSOTA7KX.js} +1 -1
  53. package/chunks/{chunk-AGZF43UV.js → chunk-E7HM76PR.js} +7153 -4406
  54. package/chunks/{chunk-NIOPRZNN.js → chunk-E7KNELIZ.js} +1 -1
  55. package/chunks/{chunk-YSU33ACT.js → chunk-ELMPRVCB.js} +5 -13
  56. package/chunks/{chunk-SEZC2725.js → chunk-ER3BKOLB.js} +13 -0
  57. package/chunks/{chunk-3VJ7MT3N.js → chunk-EXPMGZZV.js} +14 -3
  58. package/chunks/{chunk-DBF3HTLT.js → chunk-FB2ULV4M.js} +4 -4
  59. package/chunks/{chunk-RZORUN6X.js → chunk-FEJ2FZ3U.js} +1 -1
  60. package/chunks/chunk-FK77ILF5.js +2477 -0
  61. package/chunks/{chunk-DMSNJDWG.js → chunk-FV7425LN.js} +38 -3
  62. package/chunks/{chunk-ALX6BUYW.js → chunk-G7ZG7CA6.js} +186 -27
  63. package/chunks/{chunk-2INJBYLJ.js → chunk-GIY6JTTC.js} +6 -6
  64. package/chunks/{chunk-D5KISTLW.js → chunk-H6EMK6QK.js} +1 -1
  65. package/chunks/{chunk-KYTQOCDE.js → chunk-HW4N45EE.js} +17 -46
  66. package/chunks/{chunk-VXGPYF7U.js → chunk-IFEWJXFS.js} +1 -1
  67. package/chunks/chunk-II73RK2S.js +158 -0
  68. package/chunks/{chunk-TENOUWY2.js → chunk-IJRL2S3D.js} +3 -3
  69. package/chunks/{chunk-GQBRGBLS.js → chunk-J43WPR6U.js} +9 -9
  70. package/chunks/{chunk-SRNPMG7J.js → chunk-JYOWO2F7.js} +16 -10
  71. package/chunks/{chunk-57NRQM3P.js → chunk-K34DD7FH.js} +2 -2
  72. package/chunks/{chunk-O2RJARYU.js → chunk-KKWO4IX2.js} +1409 -4088
  73. package/chunks/{chunk-SOT7OMGL.js → chunk-KT3SI3CQ.js} +2 -2
  74. package/chunks/{chunk-NUK2PFSU.js → chunk-L7IWK7JY.js} +1 -1
  75. package/chunks/{chunk-MHQKYQDS.js → chunk-LC4SMGYY.js} +158 -3
  76. package/chunks/chunk-LGFAYIKX.js +115 -0
  77. package/chunks/{chunk-MBWLP5OT.js → chunk-LKXDC3AW.js} +162 -40
  78. package/chunks/{chunk-7Z6UEJA4.js → chunk-ME344634.js} +5 -2
  79. package/chunks/{chunk-V6NH3CUC.js → chunk-MOQOAH7N.js} +3 -3
  80. package/chunks/{chunk-FPHA7WIZ.js → chunk-MYZWWRVW.js} +3 -3
  81. package/chunks/{chunk-YHTNWGRR.js → chunk-MZ7BABX3.js} +1 -1
  82. package/chunks/chunk-N74BA4VP.js +949 -0
  83. package/chunks/{chunk-B236XPGF.js → chunk-NQKLOAVJ.js} +29 -2
  84. package/chunks/{chunk-LXFCHX4X.js → chunk-OU6FPTJZ.js} +312 -25
  85. package/chunks/{chunk-HTWHAN44.js → chunk-PC4ZXHU2.js} +1 -1
  86. package/chunks/{chunk-3X76L4UF.js → chunk-PLGONYEL.js} +5 -5
  87. package/chunks/{chunk-WXUDZHOJ.js → chunk-PVXPDMGP.js} +10 -2
  88. package/chunks/{chunk-ZO5EA3XJ.js → chunk-QCSLZO6J.js} +1 -1
  89. package/chunks/{chunk-CEYA7K7C.js → chunk-QHT5USLK.js} +62 -12
  90. package/chunks/{chunk-NPQWQYU6.js → chunk-QYNNN7BK.js} +1 -1
  91. package/chunks/{chunk-N4YJQTRL.js → chunk-RFIL6REB.js} +71 -2
  92. package/chunks/{chunk-KSPVDFE4.js → chunk-SAIILPQ3.js} +0 -3
  93. package/chunks/{chunk-OIFSBXSP.js → chunk-SJHAUELE.js} +3 -3
  94. package/chunks/{chunk-BZHLWC6T.js → chunk-SUAKHHK7.js} +2 -2
  95. package/chunks/{chunk-QOKV6AO4.js → chunk-T2EJHSE3.js} +184 -147
  96. package/chunks/{chunk-ZI4MGBB5.js → chunk-TBAZMRW3.js} +1 -1
  97. package/chunks/{chunk-6QVRLKTZ.js → chunk-TBLJNMI7.js} +7 -7
  98. package/chunks/{chunk-J6ABRKAB.js → chunk-TDGF35EN.js} +2 -2
  99. package/chunks/chunk-TEYGKLIZ.js +167 -0
  100. package/chunks/{chunk-TOAUDIS7.js → chunk-TLWA7TPR.js} +6 -2
  101. package/chunks/chunk-UIDXQNMV.js +13 -0
  102. package/chunks/{chunk-MX7CTJHR.js → chunk-UZCT5OLN.js} +9 -9
  103. package/chunks/{chunk-LM3YCCZJ.js → chunk-VEB3NYSO.js} +1 -1
  104. package/chunks/{chunk-UTL7KABL.js → chunk-VQJ64BIQ.js} +7 -7
  105. package/chunks/{chunk-C2QKQZEQ.js → chunk-VTCPREC7.js} +3 -3
  106. package/chunks/{chunk-5ES5YPED.js → chunk-VZ7HY3YU.js} +1 -1
  107. package/chunks/{chunk-QOMAHFYI.js → chunk-W7EEOR7D.js} +3 -3
  108. package/chunks/{chunk-NVFJSIAX.js → chunk-WMPVYQ4P.js} +1 -1
  109. package/chunks/{chunk-V5VTULL5.js → chunk-X265R5C6.js} +3 -3
  110. package/chunks/{chunk-LKWAVAB5.js → chunk-X2XNQQJI.js} +2 -2
  111. package/chunks/{chunk-MJKMIQMK.js → chunk-X3YGAX7V.js} +1 -1
  112. package/chunks/{chunk-5WQF27GW.js → chunk-XQ2GVLNJ.js} +1 -1
  113. package/chunks/chunk-XUSONNJ4.js +28 -0
  114. package/chunks/{chunk-DXXNMPJH.js → chunk-YMWIKAEE.js} +460 -93
  115. package/chunks/{chunk-A34EPIUV.js → chunk-YYU6H66M.js} +18 -15
  116. package/chunks/{chunk-XH7H6YG4.js → chunk-ZK5EI6NR.js} +4 -107
  117. package/chunks/{computer-use-5S3NVXRA.js → computer-use-4CTF6WS3.js} +24 -24
  118. package/chunks/{contextCommand-DPBALZFK.js → contextCommand-Z3XWQCY6.js} +28 -27
  119. package/chunks/{cron-create-7JYUDTUY.js → cron-create-JSXEIPVS.js} +4 -4
  120. package/chunks/{cron-delete-YPULQQAK.js → cron-delete-OIFVEPGU.js} +4 -4
  121. package/chunks/{cron-list-HJIW5MHP.js → cron-list-D4ZX4IOE.js} +11 -7
  122. package/chunks/{daemon-7XYW4BC3.js → daemon-F3I2RXP6.js} +208 -63
  123. package/chunks/daemon-status-provider-6A4QCG6Q.js +74 -0
  124. package/chunks/dist-573HNSVO.js +3217 -0
  125. package/chunks/{dist-ABQ7VWRR.js → dist-FQ5WRJPL.js} +2 -2
  126. package/chunks/{dist-JPSVN367.js → dist-IMFFBMAT.js} +6 -3792
  127. package/chunks/{dist-BV56HW3W.js → dist-OT7G2WNM.js} +250 -1
  128. package/chunks/{dist-AW5ZYMUI.js → dist-PKFTNUHO.js} +10 -11
  129. package/chunks/{dist-AAO65DPC.js → dist-YTRKAVUB.js} +1 -1
  130. package/chunks/{earlyInputCapture-GGPV4IFT.js → earlyInputCapture-7O47HW62.js} +25 -25
  131. package/chunks/{edit-HJ7ISN4C.js → edit-E32KWLF2.js} +25 -25
  132. package/chunks/{en-XR3S5VWY.js → en-GA2RMXY5.js} +6 -1
  133. package/chunks/{enter-worktree-2BQT675D.js → enter-worktree-ZKFFMHUD.js} +24 -24
  134. package/chunks/{enterPlanMode-SJXHJ3WD.js → enterPlanMode-HLDC6NGX.js} +24 -24
  135. package/chunks/{errors-EVGER4AZ.js → errors-MTIDDXX7.js} +26 -26
  136. package/chunks/{exit-worktree-RPDDOSPM.js → exit-worktree-YHY72XA2.js} +24 -24
  137. package/chunks/{exitPlanMode-BQEROAJ7.js → exitPlanMode-JNXKBZ2C.js} +24 -24
  138. package/chunks/{fast-path-FX2ICJ2O.js → fast-path-DVAGBROV.js} +5 -2
  139. package/chunks/{fr-MBMNQSQ6.js → fr-GWNQG4XH.js} +4 -0
  140. package/chunks/{gemini-EHUXCOUI.js → gemini-2TMHJVRC.js} +444 -256
  141. package/chunks/{geminiContentGenerator-YDUUKAM2.js → geminiContentGenerator-WCH4GWD3.js} +4 -4
  142. package/chunks/{glob-3VIGV2DL.js → glob-I6Y4AGKO.js} +52 -28
  143. package/chunks/{grep-4D3S4NUC.js → grep-3P2J3LU5.js} +24 -24
  144. package/chunks/handleAutoUpdate-4IVRMRG4.js +65 -0
  145. package/chunks/{initializer-QZTZSSLW.js → initializer-DVNCPVTC.js} +31 -29
  146. package/chunks/{ja-HFV5QCHR.js → ja-2HOTA47X.js} +4 -0
  147. package/chunks/{keychain-token-storage-GPAKRDKQ.js → keychain-token-storage-UJV5XP4Z.js} +2 -2
  148. package/chunks/{list-WQ24EAMK.js → list-4D6QK2KZ.js} +30 -30
  149. package/chunks/{loadedSettingsAdapter-XV74KOSR.js → loadedSettingsAdapter-GNGELH6Q.js} +28 -28
  150. package/chunks/{loop-wakeup-34YK7T7O.js → loop-wakeup-OHWEMFP5.js} +5 -5
  151. package/chunks/{ls-MPD5OJUX.js → ls-L654WOAT.js} +4 -4
  152. package/chunks/{lsp-72PWTDW7.js → lsp-M35KE54Y.js} +2 -2
  153. package/chunks/{mcp-CO3MKM7N.js → mcp-2IL72YJP.js} +28 -28
  154. package/chunks/{monitor-GB56T65A.js → monitor-BLVCZAVX.js} +32 -27
  155. package/chunks/nonInteractiveCli-UD3V7UOO.js +116 -0
  156. package/chunks/{notebook-edit-VMXAAE3R.js → notebook-edit-5TVMWIWY.js} +25 -25
  157. package/chunks/{openaiContentGenerator-GM77FLII.js → openaiContentGenerator-5LJ5A7YY.js} +12 -12
  158. package/chunks/{pidfile-HFXSHR64.js → pidfile-AN5JQJ2T.js} +25 -25
  159. package/chunks/{qwenContentGenerator-QSCXQIKJ.js → qwenContentGenerator-E2JSB4FJ.js} +26 -26
  160. package/chunks/{qwenOAuth2-LWLA6MQG.js → qwenOAuth2-ZV7YLMND.js} +5 -5
  161. package/chunks/{read-file-SVH6CGQY.js → read-file-N5DEFUDU.js} +8 -8
  162. package/chunks/{read-mcp-resource-OWOBJY72.js → read-mcp-resource-CNQHBSJM.js} +2 -2
  163. package/chunks/{record-artifact-URK3YUDJ.js → record-artifact-PP3LKHTS.js} +2 -2
  164. package/chunks/{ripGrep-JD5O2FLX.js → ripGrep-BLJHTHKE.js} +24 -24
  165. package/chunks/{run-qwen-serve-FADLRJUN.js → run-qwen-serve-4JDO64RN.js} +785 -35
  166. package/chunks/{scheduler-Q65SB7DJ.js → scheduler-FQR4XA7J.js} +24 -24
  167. package/chunks/{send-message-L7OLQEKH.js → send-message-OA6MV4EU.js} +3 -3
  168. package/chunks/{serve-6ZXAMQ4M.js → serve-ZOCFC7YM.js} +29 -29
  169. package/chunks/{server-WKDQA6XR.js → server-GEOYEPYT.js} +2504 -439
  170. package/chunks/{session-STWOX7RA.js → session-NJCONHGX.js} +66 -61
  171. package/chunks/{settings-LC4CCWQQ.js → settings-QBGGXANI.js} +27 -27
  172. package/chunks/{shell-FEG3RLPW.js → shell-2DVPSEKT.js} +24 -24
  173. package/chunks/{skill-XTXAMDAP.js → skill-HIPXUHV7.js} +24 -12
  174. package/chunks/{spawnChannel-B6JJPBPV.js → spawnChannel-3JYXY52G.js} +27 -27
  175. package/chunks/{src-HITDGVRM.js → src-NLEX4CUC.js} +91 -36
  176. package/chunks/{startInteractiveUI-IT423PW4.js → startInteractiveUI-TYGZIU27.js} +6213 -14273
  177. package/chunks/{syntheticOutput-J3MLCQAR.js → syntheticOutput-F7LSDCAR.js} +3 -3
  178. package/chunks/{task-create-ELEBZ7H2.js → task-create-RPFZNB4B.js} +7 -7
  179. package/chunks/{task-list-IEUZLF3Y.js → task-list-TGGJX7EA.js} +5 -5
  180. package/chunks/{task-stop-QEZW3UDY.js → task-stop-W7NGTMYQ.js} +2 -2
  181. package/chunks/{task-update-DW36J5P5.js → task-update-5WUG5MVQ.js} +7 -7
  182. package/chunks/{team-create-DAG6SNHZ.js → team-create-MGX57SZJ.js} +24 -24
  183. package/chunks/{team-delete-SVITIMBO.js → team-delete-UHQQ2QQX.js} +5 -5
  184. package/chunks/{team-plan-approval-DRDY5OPC.js → team-plan-approval-BO2N7J3E.js} +24 -24
  185. package/chunks/{theme-manager-N67EZC6B.js → theme-manager-WU7LOA64.js} +25 -25
  186. package/chunks/{todoWrite-SFFQHZYY.js → todoWrite-C4ZAMSR3.js} +4 -4
  187. package/chunks/{tool-search-CMDJ5HGM.js → tool-search-CLBKVEVK.js} +11 -28
  188. package/chunks/{trustedFolders-JD4QX6UJ.js → trustedFolders-GAQM2GHB.js} +25 -25
  189. package/chunks/updateCheck-RIK2YIQE.js +65 -0
  190. package/chunks/{validateNonInterActiveAuth-ADDCGZ6A.js → validateNonInterActiveAuth-NS3GBIJZ.js} +61 -56
  191. package/chunks/{version-VAONYVE5.js → version-B3RSLP54.js} +2 -1
  192. package/chunks/{web-fetch-SXAXJHIO.js → web-fetch-UYGMOHW4.js} +5 -5
  193. package/chunks/{workflow-DG2BR42M.js → workflow-7APPIGND.js} +25 -25
  194. package/chunks/{workspace-providers-status-XGW5OZTD.js → workspace-providers-status-SC67GLMY.js} +30 -30
  195. package/chunks/{workspace-service-GX3GGZLU.js → workspace-service-ZJHF22WA.js} +35 -35
  196. package/chunks/{workspace-skills-status-LFK5WV2V.js → workspace-skills-status-NJEK6P6Y.js} +29 -29
  197. package/chunks/{write-file-UR7FXWOU.js → write-file-R6Z3VLRY.js} +25 -25
  198. package/chunks/{zh-FSVJTXA4.js → zh-7XVVRTDH.js} +6 -1
  199. package/chunks/{zh-TW-66MG4LWL.js → zh-TW-DPH554OG.js} +6 -1
  200. package/cli.js +19 -11
  201. package/locales/en.js +9 -2
  202. package/locales/fr.js +6 -0
  203. package/locales/ja.js +6 -0
  204. package/locales/zh-TW.js +9 -2
  205. package/locales/zh.js +9 -2
  206. package/node_modules/@qwen-code/audio-capture/package.json +1 -1
  207. package/node_modules/@qwen-code/audio-capture/prebuilds/darwin-arm64/@qwen-code+audio-capture.node +0 -0
  208. package/node_modules/@qwen-code/audio-capture/prebuilds/darwin-x64/@qwen-code+audio-capture.node +0 -0
  209. package/node_modules/@qwen-code/audio-capture/prebuilds/win32-x64/@qwen-code+audio-capture.node +0 -0
  210. package/package.json +3 -3
  211. package/web-shell/assets/{arc-CUpe0ibu.js → arc-C7hjaa7g.js} +1 -1
  212. package/web-shell/assets/{architectureDiagram-3BPJPVTR-JvyrY_mK.js → architectureDiagram-3BPJPVTR-pm9KtMZY.js} +1 -1
  213. package/web-shell/assets/{blockDiagram-GPEHLZMM-CK3Y_vom.js → blockDiagram-GPEHLZMM-CApElKsU.js} +1 -1
  214. package/web-shell/assets/{c4Diagram-AAUBKEIU-DprSnyrf.js → c4Diagram-AAUBKEIU-BeDe0-9N.js} +1 -1
  215. package/web-shell/assets/channel-BNf1dW-j.js +1 -0
  216. package/web-shell/assets/{chunk-2J33WTMH-DJtRJPmu.js → chunk-2J33WTMH-DJEkmLdl.js} +1 -1
  217. package/web-shell/assets/{chunk-4BX2VUAB-ON6Q2-BG.js → chunk-4BX2VUAB-DXX8gdpe.js} +1 -1
  218. package/web-shell/assets/{chunk-55IACEB6-c60ou5HZ.js → chunk-55IACEB6-DORmk1kQ.js} +1 -1
  219. package/web-shell/assets/{chunk-727SXJPM-BamtPKxx.js → chunk-727SXJPM-DWmO4mCZ.js} +1 -1
  220. package/web-shell/assets/{chunk-AQP2D5EJ-CsVgpu-T.js → chunk-AQP2D5EJ-C7LRaYw2.js} +1 -1
  221. package/web-shell/assets/{chunk-FMBD7UC4-vZrpjAx4.js → chunk-FMBD7UC4-CCdXgyC5.js} +1 -1
  222. package/web-shell/assets/{chunk-ND2GUHAM-qxyNOd5t.js → chunk-ND2GUHAM-SyL_xvWc.js} +1 -1
  223. package/web-shell/assets/{chunk-QZHKN3VN-BvTJSM_S.js → chunk-QZHKN3VN-BzOuCKxa.js} +1 -1
  224. package/web-shell/assets/classDiagram-4FO5ZUOK-uOIGlzgi.js +1 -0
  225. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-uOIGlzgi.js +1 -0
  226. package/web-shell/assets/{cose-bilkent-S5V4N54A-1tXB4pju.js → cose-bilkent-S5V4N54A-BMPWyDKc.js} +1 -1
  227. package/web-shell/assets/{dagre-BM42HDAG-DglBzme8.js → dagre-BM42HDAG-B_GnPWik.js} +1 -1
  228. package/web-shell/assets/{diagram-2AECGRRQ-DEJpqsWz.js → diagram-2AECGRRQ-fJqMc3S_.js} +1 -1
  229. package/web-shell/assets/{diagram-5GNKFQAL-CsQ1NrMG.js → diagram-5GNKFQAL-ximV3O9D.js} +1 -1
  230. package/web-shell/assets/{diagram-KO2AKTUF-Z-3codAi.js → diagram-KO2AKTUF-2vVyjzqw.js} +1 -1
  231. package/web-shell/assets/{diagram-LMA3HP47-mBuPTA2i.js → diagram-LMA3HP47-Dckcx1sT.js} +1 -1
  232. package/web-shell/assets/{diagram-OG6HWLK6-tcA3K3s9.js → diagram-OG6HWLK6-BAVv47ga.js} +1 -1
  233. package/web-shell/assets/{erDiagram-TEJ5UH35-D9bXFRyZ.js → erDiagram-TEJ5UH35-Bn3nf5J0.js} +1 -1
  234. package/web-shell/assets/{flowDiagram-I6XJVG4X-Ck0Py04s.js → flowDiagram-I6XJVG4X-BIbGF9JT.js} +1 -1
  235. package/web-shell/assets/{ganttDiagram-6RSMTGT7-rOevCekE.js → ganttDiagram-6RSMTGT7-CDbhb3AH.js} +1 -1
  236. package/web-shell/assets/{gitGraphDiagram-PVQCEYII-CoPQaLj0.js → gitGraphDiagram-PVQCEYII-CbKG1a_w.js} +1 -1
  237. package/web-shell/assets/index-CnE2ur2L.js +779 -0
  238. package/web-shell/assets/index-hSKXrlSE.css +5 -0
  239. package/web-shell/assets/{infoDiagram-5YYISTIA-a77CUKoI.js → infoDiagram-5YYISTIA-DUFxTy8m.js} +1 -1
  240. package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-DlLgUAO-.js → ishikawaDiagram-YF4QCWOH-D69hrBG8.js} +1 -1
  241. package/web-shell/assets/{journeyDiagram-JHISSGLW-BXR5kVAZ.js → journeyDiagram-JHISSGLW-DsvEw51Y.js} +1 -1
  242. package/web-shell/assets/{kanban-definition-UN3LZRKU-h5CoHZg7.js → kanban-definition-UN3LZRKU-lFFjZEYd.js} +1 -1
  243. package/web-shell/assets/{linear-BkaREbyD.js → linear-Bo5bWzvo.js} +1 -1
  244. package/web-shell/assets/{mermaid.core-Bkagz0ng.js → mermaid.core-C_HKMJx5.js} +5 -5
  245. package/web-shell/assets/{mindmap-definition-RKZ34NQL-D7EMKR_5.js → mindmap-definition-RKZ34NQL-DlV-NUTs.js} +1 -1
  246. package/web-shell/assets/{pieDiagram-4H26LBE5-DAmPOjsL.js → pieDiagram-4H26LBE5-B2e6FH2a.js} +1 -1
  247. package/web-shell/assets/{quadrantDiagram-W4KKPZXB-e4WFQkQu.js → quadrantDiagram-W4KKPZXB-D75kSk-b.js} +1 -1
  248. package/web-shell/assets/{requirementDiagram-4Y6WPE33-v1zo7OiV.js → requirementDiagram-4Y6WPE33-CQ6xakhM.js} +1 -1
  249. package/web-shell/assets/{sankeyDiagram-5OEKKPKP-Bstm4aW_.js → sankeyDiagram-5OEKKPKP-J_XTKrcY.js} +1 -1
  250. package/web-shell/assets/{sequenceDiagram-3UESZ5HK-DzcZy6xN.js → sequenceDiagram-3UESZ5HK-D7jTcBtf.js} +1 -1
  251. package/web-shell/assets/{stateDiagram-AJRCARHV-BEJH6YbH.js → stateDiagram-AJRCARHV-CrlM_OT3.js} +1 -1
  252. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-Bs4TK_84.js +1 -0
  253. package/web-shell/assets/{timeline-definition-PNZ67QCA-TI1wH-Pm.js → timeline-definition-PNZ67QCA-5oZi76Ef.js} +1 -1
  254. package/web-shell/assets/{vennDiagram-CIIHVFJN-YaH8VDMS.js → vennDiagram-CIIHVFJN-DO5YptPK.js} +1 -1
  255. package/web-shell/assets/{wardley-L42UT6IY-B80co7OP.js → wardley-L42UT6IY-4t1eJDvM.js} +1 -1
  256. package/web-shell/assets/{wardleyDiagram-YWT4CUSO-4fHNDEMl.js → wardleyDiagram-YWT4CUSO-DKZc661S.js} +1 -1
  257. package/web-shell/assets/{xychartDiagram-2RQKCTM6-DT3q4Z3J.js → xychartDiagram-2RQKCTM6-su9hp08G.js} +1 -1
  258. package/web-shell/index.html +2 -2
  259. package/chunks/chunk-L7QPM2YD.js +0 -481
  260. package/chunks/daemon-status-provider-2EWTHT7Y.js +0 -73
  261. package/chunks/nonInteractiveCli-HNZRIM5I.js +0 -111
  262. package/web-shell/assets/channel-BAxQ2-aZ.js +0 -1
  263. package/web-shell/assets/classDiagram-4FO5ZUOK-Cvd_xhZI.js +0 -1
  264. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-Cvd_xhZI.js +0 -1
  265. package/web-shell/assets/index-Cr7MYW6T.css +0 -5
  266. package/web-shell/assets/index-DCHPAUp3.js +0 -730
  267. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-BopifCBI.js +0 -1
@@ -4,14 +4,14 @@ import {
4
4
  resolveModelConfig,
5
5
  resolveProviderProtocol,
6
6
  stripRuntimeSnapshotPrefix
7
- } from "./chunk-AGZF43UV.js";
7
+ } from "./chunk-E7HM76PR.js";
8
8
  import {
9
9
  external_exports
10
10
  } from "./chunk-K5PGHDBN.js";
11
11
  import {
12
12
  AuthType,
13
13
  MODEL_GENERATION_CONFIG_FIELDS
14
- } from "./chunk-JN2VJ33O.js";
14
+ } from "./chunk-7I4MGFBN.js";
15
15
  import {
16
16
  REASONING_EFFORT_TIERS,
17
17
  normalizeReasoningEffort
@@ -6,7 +6,7 @@ import {
6
6
  getNestedProperty,
7
7
  getPersistScopeForModelSelection,
8
8
  restoreSettingsFromBackup
9
- } from "./chunk-CEYA7K7C.js";
9
+ } from "./chunk-QHT5USLK.js";
10
10
  import {
11
11
  init_esbuild_shims
12
12
  } from "./chunk-A4BMJM77.js";
@@ -2,16 +2,19 @@
2
2
  "use strict";
3
3
  import {
4
4
  getEffectiveSupportedModes
5
- } from "./chunk-GQBRGBLS.js";
5
+ } from "./chunk-J43WPR6U.js";
6
6
  import {
7
7
  require_jsx_runtime
8
- } from "./chunk-YSU33ACT.js";
8
+ } from "./chunk-ELMPRVCB.js";
9
9
  import {
10
10
  require_react
11
11
  } from "./chunk-KYMBIKIW.js";
12
+ import {
13
+ getCachedStringWidth
14
+ } from "./chunk-ZK5EI6NR.js";
12
15
  import {
13
16
  uiTelemetryService
14
- } from "./chunk-JN2VJ33O.js";
17
+ } from "./chunk-7I4MGFBN.js";
15
18
  import {
16
19
  init_esbuild_shims
17
20
  } from "./chunk-A4BMJM77.js";
@@ -370,6 +373,153 @@ function getCommandSubcommandNames(command) {
370
373
  }
371
374
  __name(getCommandSubcommandNames, "getCommandSubcommandNames");
372
375
 
376
+ // packages/cli/src/ui/utils/pending-rendered-height.ts
377
+ init_esbuild_shims();
378
+ var TABLE_CHROME_ROWS = 5;
379
+ var TABLE_ROW_RE = /^\s*\|(.+)\|\s*$/;
380
+ var TABLE_SEPARATOR_RE = /^(?=.*\|)\s*\|?\s*(:?-+:?)\s*(\|\s*(:?-+:?)\s*)*\|?\s*$/;
381
+ var CODE_FENCE_RE = /^ *(`{3,}|~{3,}) *([^`]*)$/;
382
+ var INLINE_MATH_MAX_CHARS = 1024;
383
+ var TABLE_INLINE_MATH_SPAN_RE = new RegExp(
384
+ String.raw`(?<![\w$])\$(?![\s\d$])(?=[^$\n]{1,${INLINE_MATH_MAX_CHARS}}\S\$)[^$\n]{1,${INLINE_MATH_MAX_CHARS}}\$(?![\w$])`,
385
+ "y"
386
+ );
387
+ function readTableInlineMathSpan(row, index) {
388
+ TABLE_INLINE_MATH_SPAN_RE.lastIndex = index;
389
+ return TABLE_INLINE_MATH_SPAN_RE.exec(row)?.[0] ?? null;
390
+ }
391
+ __name(readTableInlineMathSpan, "readTableInlineMathSpan");
392
+ function splitMarkdownTableRow(row) {
393
+ const cells = [];
394
+ let current = "";
395
+ let activeCodeFenceLength = 0;
396
+ for (let index = 0; index < row.length; index++) {
397
+ const char = row[index];
398
+ if (char === "\\") {
399
+ const next = row[index + 1];
400
+ if (next === "|") {
401
+ current += "|";
402
+ index += 1;
403
+ continue;
404
+ }
405
+ current += char;
406
+ continue;
407
+ }
408
+ if (char === "`") {
409
+ let runLength = 1;
410
+ while (row[index + runLength] === "`") {
411
+ runLength += 1;
412
+ }
413
+ if (activeCodeFenceLength === 0) {
414
+ activeCodeFenceLength = runLength;
415
+ } else if (runLength === activeCodeFenceLength) {
416
+ activeCodeFenceLength = 0;
417
+ }
418
+ current += "`".repeat(runLength);
419
+ index += runLength - 1;
420
+ continue;
421
+ }
422
+ if (char === "$" && activeCodeFenceLength === 0) {
423
+ const mathSpan = readTableInlineMathSpan(row, index);
424
+ if (mathSpan) {
425
+ current += mathSpan;
426
+ index += mathSpan.length - 1;
427
+ continue;
428
+ }
429
+ }
430
+ if (char === "|" && activeCodeFenceLength === 0) {
431
+ cells.push(current.trim());
432
+ current = "";
433
+ continue;
434
+ }
435
+ current += char;
436
+ }
437
+ cells.push(current.trim());
438
+ return cells;
439
+ }
440
+ __name(splitMarkdownTableRow, "splitMarkdownTableRow");
441
+ function estimateWrappedRows(line, width) {
442
+ if (width <= 0) return 1;
443
+ return Math.max(1, Math.ceil(getCachedStringWidth(line) / width));
444
+ }
445
+ __name(estimateWrappedRows, "estimateWrappedRows");
446
+ function isTableStart(lines, i) {
447
+ const header = lines[i];
448
+ if (header === void 0 || i + 1 >= lines.length) return false;
449
+ const headerMatch = TABLE_ROW_RE.exec(header);
450
+ if (!headerMatch) return false;
451
+ const separator = lines[i + 1];
452
+ if (!TABLE_SEPARATOR_RE.test(separator)) return false;
453
+ const headerCols = splitMarkdownTableRow(headerMatch[1]).length;
454
+ const sepCols = splitMarkdownTableRow(separator).filter(
455
+ (cell) => cell.length > 0
456
+ ).length;
457
+ return headerCols === sepCols;
458
+ }
459
+ __name(isTableStart, "isTableStart");
460
+ function fitPendingSlice(allLines, contentWidth, budget, tableClampRows) {
461
+ let rendered = 0;
462
+ let kept = allLines.length;
463
+ let codeFence = "";
464
+ for (let i = 0; i < allLines.length; ) {
465
+ const line = allLines[i];
466
+ const fenceMatch = CODE_FENCE_RE.exec(line);
467
+ if (codeFence) {
468
+ if (fenceMatch && fenceMatch[1].startsWith(codeFence[0]) && fenceMatch[1].length >= codeFence.length) {
469
+ codeFence = "";
470
+ }
471
+ rendered += estimateWrappedRows(line, contentWidth);
472
+ if (rendered > budget) {
473
+ kept = i;
474
+ break;
475
+ }
476
+ i++;
477
+ continue;
478
+ }
479
+ if (fenceMatch) {
480
+ codeFence = fenceMatch[1];
481
+ rendered += estimateWrappedRows(line, contentWidth);
482
+ if (rendered > budget) {
483
+ kept = i;
484
+ break;
485
+ }
486
+ i++;
487
+ continue;
488
+ }
489
+ if (isTableStart(allLines, i)) {
490
+ let j = i + 2;
491
+ while (j < allLines.length && TABLE_ROW_RE.test(allLines[j])) j++;
492
+ const dataRows = j - (i + 2);
493
+ const colCount = splitMarkdownTableRow(
494
+ TABLE_ROW_RE.exec(allLines[i])[1]
495
+ ).length;
496
+ 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);
500
+ if (rendered + cost > budget && i > 0) {
501
+ kept = i;
502
+ break;
503
+ }
504
+ rendered += cost;
505
+ i = j;
506
+ if (rendered >= budget) {
507
+ kept = j;
508
+ break;
509
+ }
510
+ } else {
511
+ rendered += estimateWrappedRows(line, contentWidth);
512
+ if (rendered > budget) {
513
+ kept = i;
514
+ break;
515
+ }
516
+ i++;
517
+ }
518
+ }
519
+ return { keptLines: kept, clipped: kept < allLines.length };
520
+ }
521
+ __name(fitPendingSlice, "fitPendingSlice");
522
+
373
523
  // packages/cli/src/ui/constants.ts
374
524
  init_esbuild_shims();
375
525
  var EstimatedArtWidth = 59;
@@ -388,6 +538,11 @@ var TOOL_STATUS = {
388
538
  };
389
539
 
390
540
  export {
541
+ TABLE_ROW_RE,
542
+ TABLE_SEPARATOR_RE,
543
+ CODE_FENCE_RE,
544
+ splitMarkdownTableRow,
545
+ fitPendingSlice,
391
546
  SHELL_COMMAND_NAME,
392
547
  SHELL_NAME,
393
548
  TOOL_STATUS,
@@ -0,0 +1,115 @@
1
+ // Force strict mode and setup for ESM
2
+ "use strict";
3
+ import {
4
+ init_esbuild_shims
5
+ } from "./chunk-A4BMJM77.js";
6
+ import {
7
+ __name
8
+ } from "./chunk-J2S4EL5Y.js";
9
+
10
+ // node_modules/get-east-asian-width/index.js
11
+ init_esbuild_shims();
12
+
13
+ // node_modules/get-east-asian-width/lookup.js
14
+ init_esbuild_shims();
15
+
16
+ // node_modules/get-east-asian-width/lookup-data.js
17
+ init_esbuild_shims();
18
+ var ambiguousRanges = [161, 161, 164, 164, 167, 168, 170, 170, 173, 174, 176, 180, 182, 186, 188, 191, 198, 198, 208, 208, 215, 216, 222, 225, 230, 230, 232, 234, 236, 237, 240, 240, 242, 243, 247, 250, 252, 252, 254, 254, 257, 257, 273, 273, 275, 275, 283, 283, 294, 295, 299, 299, 305, 307, 312, 312, 319, 322, 324, 324, 328, 331, 333, 333, 338, 339, 358, 359, 363, 363, 462, 462, 464, 464, 466, 466, 468, 468, 470, 470, 472, 472, 474, 474, 476, 476, 593, 593, 609, 609, 708, 708, 711, 711, 713, 715, 717, 717, 720, 720, 728, 731, 733, 733, 735, 735, 768, 879, 913, 929, 931, 937, 945, 961, 963, 969, 1025, 1025, 1040, 1103, 1105, 1105, 8208, 8208, 8211, 8214, 8216, 8217, 8220, 8221, 8224, 8226, 8228, 8231, 8240, 8240, 8242, 8243, 8245, 8245, 8251, 8251, 8254, 8254, 8308, 8308, 8319, 8319, 8321, 8324, 8364, 8364, 8451, 8451, 8453, 8453, 8457, 8457, 8467, 8467, 8470, 8470, 8481, 8482, 8486, 8486, 8491, 8491, 8531, 8532, 8539, 8542, 8544, 8555, 8560, 8569, 8585, 8585, 8592, 8601, 8632, 8633, 8658, 8658, 8660, 8660, 8679, 8679, 8704, 8704, 8706, 8707, 8711, 8712, 8715, 8715, 8719, 8719, 8721, 8721, 8725, 8725, 8730, 8730, 8733, 8736, 8739, 8739, 8741, 8741, 8743, 8748, 8750, 8750, 8756, 8759, 8764, 8765, 8776, 8776, 8780, 8780, 8786, 8786, 8800, 8801, 8804, 8807, 8810, 8811, 8814, 8815, 8834, 8835, 8838, 8839, 8853, 8853, 8857, 8857, 8869, 8869, 8895, 8895, 8978, 8978, 9312, 9449, 9451, 9547, 9552, 9587, 9600, 9615, 9618, 9621, 9632, 9633, 9635, 9641, 9650, 9651, 9654, 9655, 9660, 9661, 9664, 9665, 9670, 9672, 9675, 9675, 9678, 9681, 9698, 9701, 9711, 9711, 9733, 9734, 9737, 9737, 9742, 9743, 9756, 9756, 9758, 9758, 9792, 9792, 9794, 9794, 9824, 9825, 9827, 9829, 9831, 9834, 9836, 9837, 9839, 9839, 9886, 9887, 9919, 9919, 9926, 9933, 9935, 9939, 9941, 9953, 9955, 9955, 9960, 9961, 9963, 9969, 9972, 9972, 9974, 9977, 9979, 9980, 9982, 9983, 10045, 10045, 10102, 10111, 11094, 11097, 12872, 12879, 57344, 63743, 65024, 65039, 65533, 65533, 127232, 127242, 127248, 127277, 127280, 127337, 127344, 127373, 127375, 127376, 127387, 127404, 917760, 917999, 983040, 1048573, 1048576, 1114109];
19
+ var fullwidthRanges = [12288, 12288, 65281, 65376, 65504, 65510];
20
+ var halfwidthRanges = [8361, 8361, 65377, 65470, 65474, 65479, 65482, 65487, 65490, 65495, 65498, 65500, 65512, 65518];
21
+ var narrowRanges = [32, 126, 162, 163, 165, 166, 172, 172, 175, 175, 10214, 10221, 10629, 10630];
22
+ var wideRanges = [4352, 4447, 8986, 8987, 9001, 9002, 9193, 9196, 9200, 9200, 9203, 9203, 9725, 9726, 9748, 9749, 9776, 9783, 9800, 9811, 9855, 9855, 9866, 9871, 9875, 9875, 9889, 9889, 9898, 9899, 9917, 9918, 9924, 9925, 9934, 9934, 9940, 9940, 9962, 9962, 9970, 9971, 9973, 9973, 9978, 9978, 9981, 9981, 9989, 9989, 9994, 9995, 10024, 10024, 10060, 10060, 10062, 10062, 10067, 10069, 10071, 10071, 10133, 10135, 10160, 10160, 10175, 10175, 11035, 11036, 11088, 11088, 11093, 11093, 11904, 11929, 11931, 12019, 12032, 12245, 12272, 12287, 12289, 12350, 12353, 12438, 12441, 12543, 12549, 12591, 12593, 12686, 12688, 12773, 12783, 12830, 12832, 12871, 12880, 42124, 42128, 42182, 43360, 43388, 44032, 55203, 63744, 64255, 65040, 65049, 65072, 65106, 65108, 65126, 65128, 65131, 94176, 94180, 94192, 94198, 94208, 101589, 101631, 101662, 101760, 101874, 110576, 110579, 110581, 110587, 110589, 110590, 110592, 110882, 110898, 110898, 110928, 110930, 110933, 110933, 110948, 110951, 110960, 111355, 119552, 119638, 119648, 119670, 126980, 126980, 127183, 127183, 127374, 127374, 127377, 127386, 127488, 127490, 127504, 127547, 127552, 127560, 127568, 127569, 127584, 127589, 127744, 127776, 127789, 127797, 127799, 127868, 127870, 127891, 127904, 127946, 127951, 127955, 127968, 127984, 127988, 127988, 127992, 128062, 128064, 128064, 128066, 128252, 128255, 128317, 128331, 128334, 128336, 128359, 128378, 128378, 128405, 128406, 128420, 128420, 128507, 128591, 128640, 128709, 128716, 128716, 128720, 128722, 128725, 128728, 128732, 128735, 128747, 128748, 128756, 128764, 128992, 129003, 129008, 129008, 129292, 129338, 129340, 129349, 129351, 129535, 129648, 129660, 129664, 129674, 129678, 129734, 129736, 129736, 129741, 129756, 129759, 129770, 129775, 129784, 131072, 196605, 196608, 262141];
23
+
24
+ // node_modules/get-east-asian-width/utilities.js
25
+ init_esbuild_shims();
26
+ var isInRange = /* @__PURE__ */ __name((ranges, codePoint) => {
27
+ let low = 0;
28
+ let high = Math.floor(ranges.length / 2) - 1;
29
+ while (low <= high) {
30
+ const mid = Math.floor((low + high) / 2);
31
+ const i = mid * 2;
32
+ if (codePoint < ranges[i]) {
33
+ high = mid - 1;
34
+ } else if (codePoint > ranges[i + 1]) {
35
+ low = mid + 1;
36
+ } else {
37
+ return true;
38
+ }
39
+ }
40
+ return false;
41
+ }, "isInRange");
42
+
43
+ // node_modules/get-east-asian-width/lookup.js
44
+ var minimumAmbiguousCodePoint = ambiguousRanges[0];
45
+ var maximumAmbiguousCodePoint = ambiguousRanges.at(-1);
46
+ var minimumFullWidthCodePoint = fullwidthRanges[0];
47
+ var maximumFullWidthCodePoint = fullwidthRanges.at(-1);
48
+ var minimumHalfWidthCodePoint = halfwidthRanges[0];
49
+ var maximumHalfWidthCodePoint = halfwidthRanges.at(-1);
50
+ var minimumNarrowCodePoint = narrowRanges[0];
51
+ var maximumNarrowCodePoint = narrowRanges.at(-1);
52
+ var minimumWideCodePoint = wideRanges[0];
53
+ var maximumWideCodePoint = wideRanges.at(-1);
54
+ var commonCjkCodePoint = 19968;
55
+ var [wideFastPathStart, wideFastPathEnd] = findWideFastPathRange(wideRanges);
56
+ function findWideFastPathRange(ranges) {
57
+ let fastPathStart = ranges[0];
58
+ let fastPathEnd = ranges[1];
59
+ for (let index = 0; index < ranges.length; index += 2) {
60
+ const start = ranges[index];
61
+ const end = ranges[index + 1];
62
+ if (commonCjkCodePoint >= start && commonCjkCodePoint <= end) {
63
+ return [start, end];
64
+ }
65
+ if (end - start > fastPathEnd - fastPathStart) {
66
+ fastPathStart = start;
67
+ fastPathEnd = end;
68
+ }
69
+ }
70
+ return [fastPathStart, fastPathEnd];
71
+ }
72
+ __name(findWideFastPathRange, "findWideFastPathRange");
73
+ var isAmbiguous = /* @__PURE__ */ __name((codePoint) => {
74
+ if (codePoint < minimumAmbiguousCodePoint || codePoint > maximumAmbiguousCodePoint) {
75
+ return false;
76
+ }
77
+ return isInRange(ambiguousRanges, codePoint);
78
+ }, "isAmbiguous");
79
+ var isFullWidth = /* @__PURE__ */ __name((codePoint) => {
80
+ if (codePoint < minimumFullWidthCodePoint || codePoint > maximumFullWidthCodePoint) {
81
+ return false;
82
+ }
83
+ return isInRange(fullwidthRanges, codePoint);
84
+ }, "isFullWidth");
85
+ var isWide = /* @__PURE__ */ __name((codePoint) => {
86
+ if (codePoint >= wideFastPathStart && codePoint <= wideFastPathEnd) {
87
+ return true;
88
+ }
89
+ if (codePoint < minimumWideCodePoint || codePoint > maximumWideCodePoint) {
90
+ return false;
91
+ }
92
+ return isInRange(wideRanges, codePoint);
93
+ }, "isWide");
94
+
95
+ // node_modules/get-east-asian-width/index.js
96
+ function validate(codePoint) {
97
+ if (!Number.isSafeInteger(codePoint)) {
98
+ throw new TypeError(`Expected a code point, got \`${typeof codePoint}\`.`);
99
+ }
100
+ }
101
+ __name(validate, "validate");
102
+ function eastAsianWidth(codePoint, { ambiguousAsWide = false } = {}) {
103
+ validate(codePoint);
104
+ if (isFullWidth(codePoint) || isWide(codePoint) || ambiguousAsWide && isAmbiguous(codePoint)) {
105
+ return 2;
106
+ }
107
+ return 1;
108
+ }
109
+ __name(eastAsianWidth, "eastAsianWidth");
110
+
111
+ export {
112
+ isFullWidth,
113
+ isWide,
114
+ eastAsianWidth
115
+ };
@@ -2,34 +2,36 @@
2
2
  "use strict";
3
3
  import {
4
4
  handleAtCommand,
5
- resolveAtCommandQuery
6
- } from "./chunk-UNXGEDX2.js";
5
+ resolveAtCommandQuery,
6
+ sanitizeDisplayText
7
+ } from "./chunk-5OSSOBZC.js";
7
8
  import {
8
9
  isAtCommand,
9
10
  isBtwCommand,
10
11
  isSlashCommand,
11
12
  normalizePartList,
12
13
  recordGoalStatusItem
13
- } from "./chunk-O2RJARYU.js";
14
+ } from "./chunk-KKWO4IX2.js";
14
15
  import {
15
16
  SHELL_COMMAND_NAME,
17
+ fitPendingSlice,
16
18
  useSessionStats
17
- } from "./chunk-MHQKYQDS.js";
19
+ } from "./chunk-LC4SMGYY.js";
18
20
  import {
19
21
  require_react
20
22
  } from "./chunk-KYMBIKIW.js";
21
23
  import {
22
24
  themeManager
23
- } from "./chunk-HTWHAN44.js";
25
+ } from "./chunk-PC4ZXHU2.js";
24
26
  import {
25
27
  formatMemoryUsage
26
28
  } from "./chunk-KHDZHZMH.js";
27
29
  import {
28
30
  isInlineModelOverrideAllowed
29
- } from "./chunk-SOT7OMGL.js";
31
+ } from "./chunk-KT3SI3CQ.js";
30
32
  import {
31
33
  t
32
- } from "./chunk-6QVRLKTZ.js";
34
+ } from "./chunk-TBLJNMI7.js";
33
35
  import {
34
36
  AutonomousLoopTickResolver,
35
37
  CoreToolScheduler,
@@ -51,7 +53,7 @@ import {
51
53
  setActiveGoal,
52
54
  shouldRunVisionBridge,
53
55
  splitImageParts
54
- } from "./chunk-AGZF43UV.js";
56
+ } from "./chunk-E7HM76PR.js";
55
57
  import {
56
58
  ApiCancelEvent,
57
59
  ConversationFinishedEvent,
@@ -61,17 +63,17 @@ import {
61
63
  logConversationFinishedEvent,
62
64
  logUserPrompt,
63
65
  logUserRetry
64
- } from "./chunk-JN2VJ33O.js";
66
+ } from "./chunk-7I4MGFBN.js";
65
67
  import {
66
68
  isAnyAutoMemPath
67
- } from "./chunk-MOUXUCXQ.js";
69
+ } from "./chunk-4KJ2BPIT.js";
68
70
  import {
69
71
  ToolNames
70
- } from "./chunk-MJKMIQMK.js";
72
+ } from "./chunk-X3YGAX7V.js";
71
73
  import {
72
74
  getUnsupportedImageFormatWarning,
73
75
  isSupportedImageMimeType
74
- } from "./chunk-KYTQOCDE.js";
76
+ } from "./chunk-HW4N45EE.js";
75
77
  import {
76
78
  FinishReason
77
79
  } from "./chunk-55ZMG67I.js";
@@ -80,7 +82,7 @@ import {
80
82
  createDebugLogger,
81
83
  getErrorMessage,
82
84
  isNodeError
83
- } from "./chunk-AVQDCKNF.js";
85
+ } from "./chunk-22MNNNXE.js";
84
86
  import {
85
87
  init_esbuild_shims
86
88
  } from "./chunk-A4BMJM77.js";
@@ -417,39 +419,61 @@ ${finalOutput}`;
417
419
 
418
420
  // packages/cli/src/ui/utils/markdownUtilities.ts
419
421
  init_esbuild_shims();
422
+ var findNextFence = /* @__PURE__ */ __name((content, from) => {
423
+ const backtick = content.indexOf("```", from);
424
+ const tilde = content.indexOf("~~~", from);
425
+ if (backtick === -1 && tilde === -1) return null;
426
+ let index;
427
+ let char;
428
+ if (tilde === -1 || backtick !== -1 && backtick < tilde) {
429
+ index = backtick;
430
+ char = "`";
431
+ } else {
432
+ index = tilde;
433
+ char = "~";
434
+ }
435
+ let length = 0;
436
+ while (content[index + length] === char) length++;
437
+ return { index, char, length };
438
+ }, "findNextFence");
420
439
  var isIndexInsideCodeBlock = /* @__PURE__ */ __name((content, indexToTest) => {
421
- let fenceCount = 0;
440
+ let openChar = "";
441
+ let openLen = 0;
422
442
  let searchPos = 0;
423
443
  while (searchPos < content.length) {
424
- const nextFence = content.indexOf("```", searchPos);
425
- if (nextFence === -1 || nextFence >= indexToTest) {
426
- break;
444
+ const fence = findNextFence(content, searchPos);
445
+ if (!fence || fence.index >= indexToTest) break;
446
+ if (openChar === "") {
447
+ openChar = fence.char;
448
+ openLen = fence.length;
449
+ } else if (fence.char === openChar && fence.length >= openLen) {
450
+ openChar = "";
451
+ openLen = 0;
427
452
  }
428
- fenceCount++;
429
- searchPos = nextFence + 3;
453
+ searchPos = fence.index + fence.length;
430
454
  }
431
- return fenceCount % 2 === 1;
455
+ return openChar !== "";
432
456
  }, "isIndexInsideCodeBlock");
433
457
  var findEnclosingCodeBlockStart = /* @__PURE__ */ __name((content, index) => {
434
- if (!isIndexInsideCodeBlock(content, index)) {
435
- return -1;
436
- }
437
- let currentSearchPos = 0;
438
- while (currentSearchPos < index) {
439
- const blockStartIndex = content.indexOf("```", currentSearchPos);
440
- if (blockStartIndex === -1 || blockStartIndex >= index) {
441
- break;
442
- }
443
- const blockEndIndex = content.indexOf("```", blockStartIndex + 3);
444
- if (blockStartIndex < index) {
445
- if (blockEndIndex === -1 || index < blockEndIndex + 3) {
446
- return blockStartIndex;
447
- }
458
+ let openChar = "";
459
+ let openLen = 0;
460
+ let openIndex = -1;
461
+ let searchPos = 0;
462
+ while (searchPos < content.length) {
463
+ const fence = findNextFence(content, searchPos);
464
+ if (!fence || fence.index >= index) break;
465
+ if (openChar === "") {
466
+ openChar = fence.char;
467
+ openLen = fence.length;
468
+ openIndex = fence.index;
469
+ } else if (fence.char === openChar && fence.length >= openLen) {
470
+ openChar = "";
471
+ openLen = 0;
472
+ openIndex = -1;
448
473
  }
449
- if (blockEndIndex === -1) break;
450
- currentSearchPos = blockEndIndex + 3;
474
+ searchPos = fence.index + fence.length;
451
475
  }
452
- return -1;
476
+ return openChar !== "" ? openIndex : -1;
453
477
  }, "findEnclosingCodeBlockStart");
454
478
  var findLastSafeSplitPoint = /* @__PURE__ */ __name((content, idealMaxLength) => {
455
479
  const hasLengthCap = idealMaxLength !== void 0;
@@ -899,6 +923,8 @@ var EDIT_TOOL_NAMES = /* @__PURE__ */ new Set([
899
923
  ]);
900
924
  var STREAM_UPDATE_THROTTLE_MS = 60;
901
925
  var STREAM_PENDING_ITEM_MAX_CHARS = 16384;
926
+ var STREAM_PENDING_COMMIT_RESERVE_ROWS = 5;
927
+ var STREAM_PENDING_COMPOSER_RESERVE_ROWS = 12;
902
928
  var LOADING_THOUGHT_DESCRIPTION_MAX_CHARS = 4096;
903
929
  function showCitations(settings) {
904
930
  const enabled = settings?.merged?.ui?.showCitations;
@@ -915,7 +941,19 @@ function clampLoadingThoughtDescription(description) {
915
941
  return description.slice(0, LOADING_THOUGHT_DESCRIPTION_MAX_CHARS);
916
942
  }
917
943
  __name(clampLoadingThoughtDescription, "clampLoadingThoughtDescription");
918
- var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, config, isConfigInitialized, settings, onDebugMessage, handleSlashCommand, shellModeActive, getPreferredEditor, onAuthError, performMemoryRefresh, modelSwitchedFromQuotaError, setModelSwitchedFromQuotaError, onEditorClose, onCancelSubmit, setShellInputFocused, terminalWidth, terminalHeight, midTurnDrainRef, logger) => {
944
+ function charIndexAfterLine(text, keptLines) {
945
+ if (keptLines <= 0) return -1;
946
+ let count = 0;
947
+ for (let i = 0; i < text.length; i++) {
948
+ if (text[i] === "\n") {
949
+ count++;
950
+ if (count === keptLines) return i + 1;
951
+ }
952
+ }
953
+ return -1;
954
+ }
955
+ __name(charIndexAfterLine, "charIndexAfterLine");
956
+ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, config, isConfigInitialized, settings, onDebugMessage, handleSlashCommand, shellModeActive, getPreferredEditor, onAuthError, performMemoryRefresh, modelSwitchedFromQuotaError, setModelSwitchedFromQuotaError, onEditorClose, onCancelSubmit, setShellInputFocused, terminalWidth, terminalHeight, midTurnDrainRef, logger, availableTerminalHeightRef, terminalWidthRef) => {
919
957
  const [initError, setInitError] = (0, import_react5.useState)(null);
920
958
  const abortControllerRef = (0, import_react5.useRef)(null);
921
959
  const flushBufferedStreamEventsRef = (0, import_react5.useRef)(/* @__PURE__ */ new Set());
@@ -1411,6 +1449,54 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
1411
1449
  nextPendingType = "gemini_content";
1412
1450
  newGeminiMessageBuffer = afterText;
1413
1451
  }
1452
+ const viewportRows = (availableTerminalHeightRef?.current ?? 0) > 0 ? availableTerminalHeightRef.current : Math.max(4, terminalHeight - STREAM_PENDING_COMPOSER_RESERVE_ROWS);
1453
+ const commitWidth = (terminalWidthRef?.current ?? 0) > 0 ? terminalWidthRef.current : terminalWidth;
1454
+ const commitRowBudget = Math.max(
1455
+ 4,
1456
+ viewportRows - STREAM_PENDING_COMMIT_RESERVE_ROWS
1457
+ );
1458
+ const tableClampRows = Math.max(2, viewportRows - 3);
1459
+ while (true) {
1460
+ const bufferLines = newGeminiMessageBuffer.split("\n");
1461
+ const { keptLines, clipped } = fitPendingSlice(
1462
+ bufferLines,
1463
+ commitWidth,
1464
+ commitRowBudget,
1465
+ tableClampRows
1466
+ );
1467
+ if (!clipped) break;
1468
+ let boundaryLine = -1;
1469
+ for (let k = Math.min(keptLines, bufferLines.length) - 1; k >= 0; k--) {
1470
+ if (bufferLines[k].trim() === "") {
1471
+ boundaryLine = k;
1472
+ break;
1473
+ }
1474
+ }
1475
+ if (boundaryLine < 0) break;
1476
+ const target = charIndexAfterLine(
1477
+ newGeminiMessageBuffer,
1478
+ boundaryLine + 1
1479
+ );
1480
+ if (target <= 0) break;
1481
+ const splitPoint = findLastSafeSplitPoint(
1482
+ newGeminiMessageBuffer,
1483
+ target
1484
+ );
1485
+ if (splitPoint <= 0 || splitPoint >= newGeminiMessageBuffer.length) {
1486
+ break;
1487
+ }
1488
+ const beforeText = newGeminiMessageBuffer.substring(0, splitPoint);
1489
+ const afterText = newGeminiMessageBuffer.substring(splitPoint);
1490
+ commitItem(
1491
+ {
1492
+ type: nextPendingType,
1493
+ text: beforeText
1494
+ },
1495
+ userMessageTimestamp
1496
+ );
1497
+ nextPendingType = "gemini_content";
1498
+ newGeminiMessageBuffer = afterText;
1499
+ }
1414
1500
  setPendingHistoryItem((item) => {
1415
1501
  const base = {
1416
1502
  type: nextPendingType,
@@ -1423,7 +1509,15 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
1423
1509
  });
1424
1510
  return newGeminiMessageBuffer;
1425
1511
  },
1426
- [commitItem, pendingHistoryItemRef, setPendingHistoryItem]
1512
+ [
1513
+ commitItem,
1514
+ pendingHistoryItemRef,
1515
+ setPendingHistoryItem,
1516
+ terminalWidth,
1517
+ terminalHeight,
1518
+ availableTerminalHeightRef,
1519
+ terminalWidthRef
1520
+ ]
1427
1521
  );
1428
1522
  const mergeThought = (0, import_react5.useCallback)(
1429
1523
  (incoming) => {
@@ -1989,6 +2083,28 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
1989
2083
  clearRetryCountdown();
1990
2084
  }
1991
2085
  break;
2086
+ case "model_fallback" /* ModelFallback */: {
2087
+ discardBufferedStreamEvents();
2088
+ if (pendingHistoryItemRef.current) {
2089
+ setPendingHistoryItem(null);
2090
+ }
2091
+ commitPendingThought(userMessageTimestamp);
2092
+ thoughtBuffer = "";
2093
+ setThought(null);
2094
+ geminiMessageBuffer = "";
2095
+ toolCallRequests.length = 0;
2096
+ clearRetryCountdown();
2097
+ const fromModel = sanitizeDisplayText(event.fromModel) ?? "(unknown)";
2098
+ const toModel = sanitizeDisplayText(event.toModel) ?? "(unknown)";
2099
+ addItem(
2100
+ {
2101
+ type: "notification",
2102
+ text: `Model ${fromModel} unavailable, falling back to ${toModel}`
2103
+ },
2104
+ userMessageTimestamp
2105
+ );
2106
+ break;
2107
+ }
1992
2108
  case "hook_system_message" /* HookSystemMessage */:
1993
2109
  flushBufferedStreamEvents();
1994
2110
  if (pendingHistoryItemRef.current) {
@@ -2393,7 +2509,13 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
2393
2509
  async (newApprovalMode) => {
2394
2510
  if (newApprovalMode === "yolo" /* YOLO */ || newApprovalMode === "auto-edit" /* AUTO_EDIT */) {
2395
2511
  let awaitingApprovalCalls = toolCalls.filter(
2396
- (call) => call.status === "awaiting_approval"
2512
+ (call) => {
2513
+ if (call.status !== "awaiting_approval") {
2514
+ return false;
2515
+ }
2516
+ const { confirmationDetails } = call;
2517
+ return !(confirmationDetails && "hideAlwaysAllow" in confirmationDetails && confirmationDetails.hideAlwaysAllow === true);
2518
+ }
2397
2519
  );
2398
2520
  if (newApprovalMode === "auto-edit" /* AUTO_EDIT */) {
2399
2521
  awaitingApprovalCalls = awaitingApprovalCalls.filter(
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  SkillError
5
- } from "./chunk-AGZF43UV.js";
5
+ } from "./chunk-E7HM76PR.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-A4BMJM77.js";
@@ -67,7 +67,10 @@ var SERVE_STATUS_EXT_METHODS = {
67
67
  sessionRewindSnapshots: "qwen/status/session/rewind_snapshots",
68
68
  workspaceHooks: "qwen/status/workspace/hooks",
69
69
  sessionHooks: "qwen/status/session/hooks",
70
- workspaceExtensions: "qwen/status/workspace/extensions"
70
+ workspaceExtensions: "qwen/status/workspace/extensions",
71
+ // Process-wide rss/cpu of this ACP child, self-reported to the daemon for
72
+ // the Daemon Status resource charts (workspace-scoped; no sessionId).
73
+ workspaceResource: "qwen/status/workspace/resource"
71
74
  };
72
75
  var SERVE_CONTROL_EXT_METHODS = {
73
76
  sessionClose: "qwen/control/session/close",