@qwen-code/qwen-code 0.19.4 → 0.19.5-nightly.20260703.b16baf1ff

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 (234) hide show
  1. package/bundled/qc-helper/docs/configuration/settings.md +22 -6
  2. package/bundled/qc-helper/docs/features/commands.md +41 -34
  3. package/bundled/qc-helper/docs/features/headless.md +19 -18
  4. package/bundled/qc-helper/docs/qwen-serve.md +34 -0
  5. package/bundled/qc-helper/docs/support/troubleshooting.md +5 -0
  6. package/chunks/{MaxSizedBox-ERTNFI22.js → MaxSizedBox-42KZ5OFE.js} +12 -11
  7. package/chunks/{StandaloneSessionPicker-Y5NGRLRY.js → StandaloneSessionPicker-G4VTICMM.js} +23 -22
  8. package/chunks/{acpAgent-UMN6OYTR.js → acpAgent-6O25PA3M.js} +82 -78
  9. package/chunks/{agent-56DZU4ZU.js → agent-SNVTRNV7.js} +9 -8
  10. package/chunks/{agent-headless-SR7N2IJG.js → agent-headless-LNKVTSBX.js} +9 -8
  11. package/chunks/{anthropicContentGenerator-5OZFO6WQ.js → anthropicContentGenerator-WL3LJOUB.js} +99 -23
  12. package/chunks/{artifact-tool-JVZMHA4B.js → artifact-tool-W76WC2JX.js} +1 -1
  13. package/chunks/{askUserQuestion-CMJZ2F3D.js → askUserQuestion-J3P6TH3V.js} +1 -1
  14. package/chunks/{bridge-AUHNFOUS.js → bridge-AZZAYKI2.js} +15 -13
  15. package/chunks/{ca-RYOETBUW.js → ca-HCMB2I54.js} +1 -0
  16. package/chunks/channel-worker-supervisor-C2J3TIOV.js +665 -0
  17. package/chunks/{chunk-W2ZOAX7F.js → chunk-26UO4PLG.js} +3 -3
  18. package/chunks/chunk-2Z43HUXT.js +99 -0
  19. package/chunks/{chunk-VKGG724L.js → chunk-3GCPLNVF.js} +11 -10
  20. package/chunks/chunk-3RW4AZJV.js +5063 -0
  21. package/chunks/{chunk-6AQR7732.js → chunk-46IAL3RB.js} +1 -1
  22. package/chunks/{chunk-QAFQLTXG.js → chunk-4JWM2UGC.js} +1 -1
  23. package/chunks/{chunk-C2IHHGBZ.js → chunk-4PGQKUIV.js} +10 -10
  24. package/chunks/{chunk-PPFWEV7G.js → chunk-4RQIB5UZ.js} +62 -62
  25. package/chunks/{chunk-L7VH7HQA.js → chunk-4UEWG5AS.js} +29 -4
  26. package/chunks/{chunk-J3F7X3LW.js → chunk-5B2WNM6V.js} +1 -1
  27. package/chunks/{chunk-XCUFHOAD.js → chunk-6NHUWPNL.js} +1 -1
  28. package/chunks/{chunk-HI55Z6PR.js → chunk-7DMQRPC7.js} +401 -58
  29. package/chunks/{chunk-Q7VHIRDD.js → chunk-7K4G2H2H.js} +1 -1
  30. package/chunks/{chunk-W6X4FGWX.js → chunk-7XS7CMSU.js} +1 -1
  31. package/chunks/{chunk-SFN4TEHY.js → chunk-APTOAKV5.js} +4 -4
  32. package/chunks/{chunk-BNJLLAQ7.js → chunk-AYUVPH6L.js} +1 -1
  33. package/chunks/chunk-BPFJQGY7.js +193 -0
  34. package/chunks/{chunk-CUGEBAKG.js → chunk-C47IJLUT.js} +1 -1
  35. package/chunks/chunk-CXBG27SF.js +35 -0
  36. package/chunks/{chunk-UQFP2FEF.js → chunk-DG573EOO.js} +1 -1
  37. package/chunks/{chunk-ND25GXEU.js → chunk-DLJKEPXB.js} +14 -6
  38. package/chunks/{chunk-MNDTD5E5.js → chunk-DNJ2KHWN.js} +4 -4
  39. package/chunks/{chunk-KKQWC6WS.js → chunk-DNV4FSN5.js} +1 -1
  40. package/chunks/chunk-DOYHOG47.js +949 -0
  41. package/chunks/chunk-E2K45AJ7.js +5448 -0
  42. package/chunks/{chunk-75X2VLSH.js → chunk-F26BNXI2.js} +26 -5
  43. package/chunks/{chunk-6TLY5W3B.js → chunk-FB6LGUF4.js} +127 -23
  44. package/chunks/{chunk-UT5JU5DJ.js → chunk-FEPEMQR4.js} +42 -15
  45. package/chunks/{chunk-2X2JUE47.js → chunk-FKHE7ZNF.js} +2 -2
  46. package/chunks/{chunk-YBDZ63KI.js → chunk-FVRLDQ7T.js} +8 -4
  47. package/chunks/{chunk-DQ74W65K.js → chunk-HCLTQ3PV.js} +47 -20
  48. package/chunks/{chunk-BQNJBEUA.js → chunk-KFO6YNQT.js} +16 -2
  49. package/chunks/{chunk-UQYOMM6J.js → chunk-L4CYPEA7.js} +10 -10
  50. package/chunks/{chunk-MEQWZGK5.js → chunk-L7OJ3ZO3.js} +1 -1
  51. package/chunks/chunk-LOEYAC6N.js +86 -0
  52. package/chunks/{chunk-4VZH35PN.js → chunk-MTNTVOJR.js} +2 -0
  53. package/chunks/{chunk-6CIIP6OE.js → chunk-O2EZ4VRP.js} +3 -3
  54. package/chunks/{chunk-ZJP5T7IA.js → chunk-ODPWORQZ.js} +1 -1
  55. package/chunks/{chunk-TTFNVEO5.js → chunk-P5GH4DTN.js} +3 -3
  56. package/chunks/{chunk-7KPI4LAI.js → chunk-QURP4S5U.js} +3 -3
  57. package/chunks/{chunk-UANCYOOQ.js → chunk-R6RI2HIC.js} +1 -1
  58. package/chunks/{chunk-FYKX6XOT.js → chunk-RBLDOR7U.js} +1 -1
  59. package/chunks/{chunk-EDAGQADF.js → chunk-S6RLAIUR.js} +2 -0
  60. package/chunks/chunk-SIUQ3YYX.js +78 -0
  61. package/chunks/{chunk-GICCHL2Q.js → chunk-STP6AYKH.js} +1 -1
  62. package/chunks/{chunk-HJDF3ZVU.js → chunk-UEGNXWAX.js} +6 -6
  63. package/chunks/{chunk-PIYV6COW.js → chunk-UTWYG2WA.js} +1 -1
  64. package/chunks/{chunk-QMIND2AS.js → chunk-UY2TCIZS.js} +15 -1
  65. package/chunks/{chunk-CG7SVARK.js → chunk-VDIZBM46.js} +2 -2
  66. package/chunks/{chunk-73H73ASU.js → chunk-VJSWLYUL.js} +1 -1
  67. package/chunks/{chunk-FNLXLI4I.js → chunk-WMLQKZ64.js} +2 -2
  68. package/chunks/{chunk-KVPFPC4J.js → chunk-WSAAEPPQ.js} +14 -14
  69. package/chunks/{chunk-BFG6OZN7.js → chunk-WWOVV2PW.js} +3742 -2737
  70. package/chunks/{chunk-MKHC4BYZ.js → chunk-XAVV2JAM.js} +21 -5
  71. package/chunks/{chunk-ZXCVPMIK.js → chunk-XR7W5VRL.js} +167 -54
  72. package/chunks/{chunk-CS5XYDBO.js → chunk-XS7IHJ63.js} +5 -5
  73. package/chunks/{chunk-B7KGXIPZ.js → chunk-YCU7QV7Q.js} +11 -4
  74. package/chunks/{chunk-OJCECIJA.js → chunk-YHTNWGRR.js} +5 -4
  75. package/chunks/{chunk-7VPC7D7O.js → chunk-YLQSGKAN.js} +2 -2
  76. package/chunks/{chunk-OAFUMTWW.js → chunk-Z75MFQFL.js} +2 -2
  77. package/chunks/{chunk-HRZB5CSC.js → chunk-ZRHHQFV4.js} +1 -1
  78. package/chunks/{computer-use-VWN5HH6A.js → computer-use-UHZAYYGO.js} +9 -8
  79. package/chunks/{contextCommand-DFFG5KDJ.js → contextCommand-X4WOJ2L4.js} +11 -10
  80. package/chunks/{cron-create-CSSWJ67I.js → cron-create-6YTCOX6P.js} +1 -1
  81. package/chunks/{cron-delete-E56CFQ7A.js → cron-delete-E3NIFSUK.js} +1 -1
  82. package/chunks/{cron-list-BKSINY6Y.js → cron-list-Q64MNQNE.js} +1 -1
  83. package/chunks/{daemon-5T6IHWJV.js → daemon-EEB2RYOL.js} +23 -0
  84. package/chunks/{daemon-status-provider-V5UY7O7J.js → daemon-status-provider-YXWNGOAF.js} +18 -16
  85. package/chunks/{de-HB5NJXGB.js → de-PLLFDERI.js} +1 -0
  86. package/chunks/{dist-TAVAGZU6.js → dist-AP5V4WYU.js} +54 -14
  87. package/chunks/{dist-XBOVZ3R5.js → dist-IZP2VV4C.js} +156 -57
  88. package/chunks/{dist-B7SSDVWT.js → dist-SNXOUPYS.js} +201 -7
  89. package/chunks/{dist-2HDL5SHQ.js → dist-X4ZDE726.js} +43 -8
  90. package/chunks/{dist-BL3SL665.js → dist-Z57Q4YF5.js} +1 -1
  91. package/chunks/{earlyInputCapture-VVYU4FDO.js → earlyInputCapture-3HUGMAFL.js} +9 -8
  92. package/chunks/{edit-F35PTMBA.js → edit-QDKRNFZK.js} +14 -17
  93. package/chunks/{en-FZREZFPO.js → en-M4EBUBNU.js} +2 -0
  94. package/chunks/{enter-worktree-3DIW7EGJ.js → enter-worktree-ODWIPMOP.js} +9 -8
  95. package/chunks/{enterPlanMode-QNXT77KP.js → enterPlanMode-XROL6G5C.js} +11 -10
  96. package/chunks/{errors-M53YG76R.js → errors-RCPBWFTG.js} +11 -10
  97. package/chunks/{exit-worktree-BSDWNWHZ.js → exit-worktree-BIU7P4TR.js} +9 -8
  98. package/chunks/{exitPlanMode-EL7AY327.js → exitPlanMode-LWZHZ7CF.js} +107 -12
  99. package/chunks/{fast-path-DUCSMUFW.js → fast-path-7S4NR2WI.js} +6 -4
  100. package/chunks/{fast-path-settings-UQLRFDQP.js → fast-path-settings-RCRXH2JG.js} +2 -2
  101. package/chunks/{fr-XY3NQFCM.js → fr-MBMNQSQ6.js} +1 -0
  102. package/chunks/{gemini-F3IERB37.js → gemini-W7CZCFFV.js} +75 -67
  103. package/chunks/{geminiContentGenerator-6OULAKFQ.js → geminiContentGenerator-MWZWJAWR.js} +39 -3
  104. package/chunks/{glob-ZMLFTD4T.js → glob-GZ4LUOQT.js} +9 -8
  105. package/chunks/{grep-H5X66EI7.js → grep-BZ34WAQJ.js} +9 -8
  106. package/chunks/{initializer-LEOT2OLH.js → initializer-W4EUD3H7.js} +14 -13
  107. package/chunks/{ja-J7YAG7SA.js → ja-HFV5QCHR.js} +1 -0
  108. package/chunks/{list-M3DKXML6.js → list-S325XJ2Y.js} +16 -15
  109. package/chunks/{loadedSettingsAdapter-OKMQFGGG.js → loadedSettingsAdapter-QP3XBMQI.js} +14 -13
  110. package/chunks/{loop-wakeup-FPBAVVPR.js → loop-wakeup-G2EHBRGR.js} +2 -2
  111. package/chunks/{ls-UGWQXPTY.js → ls-IDHUVSAG.js} +1 -1
  112. package/chunks/{lsp-24WV7NXB.js → lsp-FSRYXGFT.js} +1 -1
  113. package/chunks/mcp-LRKXM6OS.js +66 -0
  114. package/chunks/{monitor-ARL5P45R.js → monitor-7C33CWA5.js} +11 -10
  115. package/chunks/{nonInteractiveCli-NUVLF3YR.js → nonInteractiveCli-FPZS7ROR.js} +46 -43
  116. package/chunks/{notebook-edit-ANTZ2DDY.js → notebook-edit-ZXQ25NWU.js} +14 -16
  117. package/chunks/{openaiContentGenerator-TFGMKGHN.js → openaiContentGenerator-FUQ7GNK6.js} +4 -4
  118. package/chunks/{pidfile-AWTL4C63.js → pidfile-NPZV5ZIA.js} +10 -9
  119. package/chunks/{pt-6RTAA6SS.js → pt-2THT3YHA.js} +1 -0
  120. package/chunks/{qwenContentGenerator-6QWAYTWS.js → qwenContentGenerator-LNEWYA52.js} +10 -9
  121. package/chunks/{read-file-EJY73XQ3.js → read-file-G6GBNSM3.js} +3 -3
  122. package/chunks/{read-mcp-resource-NCBTPP7X.js → read-mcp-resource-PIJF24RO.js} +1 -1
  123. package/chunks/{ripGrep-HC4SA6CQ.js → ripGrep-IGOC7PVL.js} +9 -8
  124. package/chunks/{ru-AUBGJ2C4.js → ru-Z67YJHBG.js} +1 -0
  125. package/chunks/{run-qwen-serve-AGLZ642J.js → run-qwen-serve-AAA53KS4.js} +131 -38
  126. package/chunks/{scheduler-TURO7NGY.js → scheduler-SPGJ7ILO.js} +9 -8
  127. package/chunks/{send-message-3S2NYS3O.js → send-message-33PYFMCT.js} +15 -1
  128. package/chunks/{serve-5DAMOIDW.js → serve-37UIHUYP.js} +15 -14
  129. package/chunks/{server-4AGEK2HC.js → server-MFMOYMEB.js} +187 -173
  130. package/chunks/{session-7ZOQUC4Y.js → session-XRY2CG4Z.js} +47 -44
  131. package/chunks/{settings-DR4V6L5Y.js → settings-X5GXXGKH.js} +13 -12
  132. package/chunks/{shell-H5WFKUXH.js → shell-E5HOWJMT.js} +9 -8
  133. package/chunks/{skill-ANHU5ZCR.js → skill-FELDZMWO.js} +3 -3
  134. package/chunks/{spawnChannel-VN5LJV7Z.js → spawnChannel-XLTVHAT6.js} +12 -10
  135. package/chunks/{src-OVZLTVVM.js → src-ZWPLTWTV.js} +21 -10
  136. package/chunks/{startInteractiveUI-OA22V32P.js → startInteractiveUI-GO6J3SJ7.js} +2609 -2458
  137. package/chunks/{syntheticOutput-SV7GBHZ5.js → syntheticOutput-YOSWIHDJ.js} +2 -2
  138. package/chunks/{task-create-W2H2UJCH.js → task-create-NHS2NGB3.js} +3 -2
  139. package/chunks/{task-list-THBOPV4G.js → task-list-5UIB564R.js} +1 -1
  140. package/chunks/{task-stop-33FVCNCJ.js → task-stop-HGXZ2VZ3.js} +1 -1
  141. package/chunks/{task-update-LVFQLXEI.js → task-update-IYYWUILG.js} +34 -2
  142. package/chunks/{team-create-OYL5CAQO.js → team-create-WWMKZ3UO.js} +9 -8
  143. package/chunks/{team-delete-NTUQ25UY.js → team-delete-FEKJCU4P.js} +1 -1
  144. package/chunks/team-plan-approval-CUNEZJOV.js +202 -0
  145. package/chunks/{theme-manager-XCMPF2SI.js → theme-manager-LRBEA5ID.js} +9 -8
  146. package/chunks/{todoWrite-SEPO2RI3.js → todoWrite-TKMVZ2HT.js} +1 -1
  147. package/chunks/{tool-search-YXW55X6Z.js → tool-search-L57ZRBJF.js} +8 -6
  148. package/chunks/{trustedFolders-TEPGM5YL.js → trustedFolders-DYAOFXN2.js} +10 -9
  149. package/chunks/{validateNonInterActiveAuth-OQIS7WUE.js → validateNonInterActiveAuth-AB4C2FLG.js} +43 -40
  150. package/chunks/version-2A66AIB2.js +10 -0
  151. package/chunks/{web-fetch-OE7LHURA.js → web-fetch-J4PIW36Q.js} +2 -2
  152. package/chunks/{workflow-RTUWORAP.js → workflow-H7YLGTBI.js} +12 -11
  153. package/chunks/{workspace-providers-status-DM2XANVB.js → workspace-providers-status-UUIBOTKI.js} +16 -15
  154. package/chunks/{workspace-service-VKBI2KZD.js → workspace-service-FATHYK5C.js} +21 -20
  155. package/chunks/workspace-skills-status-KIC3KYPR.js +62 -0
  156. package/chunks/{write-file-WGALQ53L.js → write-file-ETGUMYAK.js} +14 -18
  157. package/chunks/yargs-B64EYTCF.js +10 -0
  158. package/chunks/{zh-V3B4TFWL.js → zh-SLZNSSZB.js} +2 -0
  159. package/chunks/{zh-TW-6GIKXEAN.js → zh-TW-P53C2SL5.js} +2 -0
  160. package/cli-entry.js +81 -8
  161. package/cli.js +348 -55
  162. package/locales/ca.js +2 -0
  163. package/locales/de.js +2 -0
  164. package/locales/en.js +3 -0
  165. package/locales/fr.js +2 -0
  166. package/locales/ja.js +2 -0
  167. package/locales/pt.js +2 -0
  168. package/locales/ru.js +2 -0
  169. package/locales/zh-TW.js +3 -0
  170. package/locales/zh.js +3 -0
  171. package/node_modules/@qwen-code/audio-capture/package.json +1 -1
  172. package/node_modules/@qwen-code/audio-capture/prebuilds/darwin-arm64/@qwen-code+audio-capture.node +0 -0
  173. package/node_modules/@qwen-code/audio-capture/prebuilds/darwin-x64/@qwen-code+audio-capture.node +0 -0
  174. package/node_modules/@qwen-code/audio-capture/prebuilds/win32-x64/@qwen-code+audio-capture.node +0 -0
  175. package/package.json +6 -15
  176. package/web-shell/assets/{arc-Det5Ccum.js → arc-QjIJgYzv.js} +1 -1
  177. package/web-shell/assets/{architectureDiagram-3BPJPVTR-DqNWVFpl.js → architectureDiagram-3BPJPVTR-DJkZ9KoB.js} +1 -1
  178. package/web-shell/assets/{blockDiagram-GPEHLZMM-CYl7tYBi.js → blockDiagram-GPEHLZMM-BlNeekUB.js} +1 -1
  179. package/web-shell/assets/{c4Diagram-AAUBKEIU-DaAEi0NQ.js → c4Diagram-AAUBKEIU-B6FDrE3D.js} +1 -1
  180. package/web-shell/assets/channel-M6R-XOoS.js +1 -0
  181. package/web-shell/assets/{chunk-2J33WTMH-Df2CDEE2.js → chunk-2J33WTMH-CZO5-3og.js} +1 -1
  182. package/web-shell/assets/{chunk-4BX2VUAB-DNBFcyL2.js → chunk-4BX2VUAB-CZ2VJPFe.js} +1 -1
  183. package/web-shell/assets/{chunk-55IACEB6-BKjF-0HI.js → chunk-55IACEB6-3zVP6pGF.js} +1 -1
  184. package/web-shell/assets/{chunk-727SXJPM-DYwAwfIM.js → chunk-727SXJPM-omuP8Zhh.js} +1 -1
  185. package/web-shell/assets/{chunk-AQP2D5EJ-C6FswLqy.js → chunk-AQP2D5EJ-BK6Ivmyv.js} +1 -1
  186. package/web-shell/assets/{chunk-FMBD7UC4-DRWAcZSY.js → chunk-FMBD7UC4-NLjjxV0s.js} +1 -1
  187. package/web-shell/assets/{chunk-ND2GUHAM-AoL16mNR.js → chunk-ND2GUHAM-Dc0JTV8t.js} +1 -1
  188. package/web-shell/assets/{chunk-QZHKN3VN-a8PtLMck.js → chunk-QZHKN3VN-ZYp-8jN-.js} +1 -1
  189. package/web-shell/assets/classDiagram-4FO5ZUOK-B7rcL2Jc.js +1 -0
  190. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-B7rcL2Jc.js +1 -0
  191. package/web-shell/assets/{cose-bilkent-S5V4N54A-C4Aeu5qf.js → cose-bilkent-S5V4N54A-BNu1jqy7.js} +1 -1
  192. package/web-shell/assets/{dagre-BM42HDAG-BOulamjo.js → dagre-BM42HDAG-0AHvPm2v.js} +1 -1
  193. package/web-shell/assets/{diagram-2AECGRRQ-D1wt2ykO.js → diagram-2AECGRRQ-BJsDQdp0.js} +1 -1
  194. package/web-shell/assets/{diagram-5GNKFQAL-BRseus-O.js → diagram-5GNKFQAL-C1gNnoxj.js} +1 -1
  195. package/web-shell/assets/{diagram-KO2AKTUF-XSMkNzpZ.js → diagram-KO2AKTUF-FmgehSoq.js} +1 -1
  196. package/web-shell/assets/{diagram-LMA3HP47-21KNLqoi.js → diagram-LMA3HP47-i7_13R2F.js} +1 -1
  197. package/web-shell/assets/{diagram-OG6HWLK6-DnUI8F5G.js → diagram-OG6HWLK6-DkUUR1x-.js} +1 -1
  198. package/web-shell/assets/{erDiagram-TEJ5UH35-BVSOMuM2.js → erDiagram-TEJ5UH35-BcwJzw0n.js} +1 -1
  199. package/web-shell/assets/{flowDiagram-I6XJVG4X-fYtDPJsW.js → flowDiagram-I6XJVG4X-CCPgwkQS.js} +1 -1
  200. package/web-shell/assets/{ganttDiagram-6RSMTGT7-CmRXosW_.js → ganttDiagram-6RSMTGT7-C3g0sliF.js} +1 -1
  201. package/web-shell/assets/{gitGraphDiagram-PVQCEYII-DPrmySxO.js → gitGraphDiagram-PVQCEYII-DLt4J_oG.js} +1 -1
  202. package/web-shell/assets/index-9qfvU0_r.css +5 -0
  203. package/web-shell/assets/index-DasTT8n6.js +717 -0
  204. package/web-shell/assets/{infoDiagram-5YYISTIA-x3VbEuCV.js → infoDiagram-5YYISTIA-DMO0nW8F.js} +1 -1
  205. package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-SmitHRMC.js → ishikawaDiagram-YF4QCWOH-qSN9LjC5.js} +1 -1
  206. package/web-shell/assets/{journeyDiagram-JHISSGLW-BxvA551S.js → journeyDiagram-JHISSGLW-CQZH-jC2.js} +1 -1
  207. package/web-shell/assets/{kanban-definition-UN3LZRKU-DNHC16jY.js → kanban-definition-UN3LZRKU-Cu6qk5En.js} +1 -1
  208. package/web-shell/assets/{linear-CQ6irBL9.js → linear-Dpp4BWJF.js} +1 -1
  209. package/web-shell/assets/{mermaid.core-DtB6NO1e.js → mermaid.core-DDAcmZsz.js} +5 -5
  210. package/web-shell/assets/{mindmap-definition-RKZ34NQL-QKMAgV2v.js → mindmap-definition-RKZ34NQL-G3JXxnUU.js} +1 -1
  211. package/web-shell/assets/{pieDiagram-4H26LBE5-bvb6dGn6.js → pieDiagram-4H26LBE5-ABQwHraX.js} +1 -1
  212. package/web-shell/assets/{quadrantDiagram-W4KKPZXB-DLgdlG4D.js → quadrantDiagram-W4KKPZXB-BUWZV-ho.js} +1 -1
  213. package/web-shell/assets/{requirementDiagram-4Y6WPE33-2M9YH4GF.js → requirementDiagram-4Y6WPE33-XHg5n00A.js} +1 -1
  214. package/web-shell/assets/{sankeyDiagram-5OEKKPKP-DzwfclTH.js → sankeyDiagram-5OEKKPKP-Bwzw0RtM.js} +1 -1
  215. package/web-shell/assets/{sequenceDiagram-3UESZ5HK-BvPmTuy2.js → sequenceDiagram-3UESZ5HK-CGYLtnFV.js} +1 -1
  216. package/web-shell/assets/{stateDiagram-AJRCARHV-BjwUmrJF.js → stateDiagram-AJRCARHV-BG1UhKch.js} +1 -1
  217. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-CSG8MpoN.js +1 -0
  218. package/web-shell/assets/{timeline-definition-PNZ67QCA-CXzS6qqz.js → timeline-definition-PNZ67QCA-B_tY-Dyz.js} +1 -1
  219. package/web-shell/assets/{vennDiagram-CIIHVFJN-yRSolF5B.js → vennDiagram-CIIHVFJN-Crp_Rw_L.js} +1 -1
  220. package/web-shell/assets/{wardley-L42UT6IY-ClLJjHPG.js → wardley-L42UT6IY-DR27pFXX.js} +1 -1
  221. package/web-shell/assets/{wardleyDiagram-YWT4CUSO-VIa6t2p2.js → wardleyDiagram-YWT4CUSO-BM_CRFgm.js} +1 -1
  222. package/web-shell/assets/{xychartDiagram-2RQKCTM6-CtmrkezW.js → xychartDiagram-2RQKCTM6-DO2Z2lWl.js} +1 -1
  223. package/web-shell/index.html +28 -3
  224. package/chunks/channel-worker-supervisor-A74FV522.js +0 -308
  225. package/chunks/chunk-MVZXZWGT.js +0 -11323
  226. package/chunks/chunk-S5EQPDTM.js +0 -91
  227. package/patches/chrome-devtools-mcp+1.4.0.patch +0 -31
  228. package/postinstall.js +0 -50
  229. package/web-shell/assets/channel-Bm0bFauD.js +0 -1
  230. package/web-shell/assets/classDiagram-4FO5ZUOK--NgUfb55.js +0 -1
  231. package/web-shell/assets/classDiagram-v2-Q7XG4LA2--NgUfb55.js +0 -1
  232. package/web-shell/assets/index-BpKnmyFV.js +0 -717
  233. package/web-shell/assets/index-fLrtxpOG.css +0 -5
  234. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-C4L8zXeL.js +0 -1
@@ -7,25 +7,25 @@ import {
7
7
  require_jsx_runtime,
8
8
  use_stdin_default,
9
9
  use_stdout_default
10
- } from "./chunk-2X2JUE47.js";
10
+ } from "./chunk-FKHE7ZNF.js";
11
11
  import {
12
12
  require_react
13
13
  } from "./chunk-KYMBIKIW.js";
14
14
  import {
15
15
  sanitizeFilenameForDisplay
16
- } from "./chunk-HRZB5CSC.js";
16
+ } from "./chunk-ZRHHQFV4.js";
17
17
  import {
18
18
  t
19
- } from "./chunk-UQYOMM6J.js";
19
+ } from "./chunk-L4CYPEA7.js";
20
20
  import {
21
21
  fetchGitDiff,
22
22
  findProviderByCredentials,
23
23
  resolveMetadataKey
24
- } from "./chunk-BFG6OZN7.js";
24
+ } from "./chunk-WWOVV2PW.js";
25
25
  import {
26
26
  KittySequenceOverflowEvent,
27
27
  logKittySequenceOverflow
28
- } from "./chunk-HJDF3ZVU.js";
28
+ } from "./chunk-UEGNXWAX.js";
29
29
  import {
30
30
  createDebugLogger
31
31
  } from "./chunk-AVQDCKNF.js";
@@ -2490,6 +2490,26 @@ function calculateCost(args) {
2490
2490
  }
2491
2491
  __name(calculateCost, "calculateCost");
2492
2492
 
2493
+ // packages/cli/src/ui/utils/skill-level-label.ts
2494
+ init_esbuild_shims();
2495
+ function levelLabel(level) {
2496
+ switch (level) {
2497
+ case "project":
2498
+ return t("Project");
2499
+ case "user":
2500
+ return t("User");
2501
+ case "extension":
2502
+ return t("Extension");
2503
+ case "bundled":
2504
+ return t("Bundled");
2505
+ default: {
2506
+ const _exhaustive = level;
2507
+ return _exhaustive;
2508
+ }
2509
+ }
2510
+ }
2511
+ __name(levelLabel, "levelLabel");
2512
+
2493
2513
  export {
2494
2514
  enableMouseEvents,
2495
2515
  disableMouseEvents,
@@ -2518,6 +2538,7 @@ export {
2518
2538
  calculateCost,
2519
2539
  getEffectiveSupportedModes,
2520
2540
  filterCommandsForMode,
2541
+ levelLabel,
2521
2542
  computeDiffColumnWidths,
2522
2543
  diffCommand,
2523
2544
  buildResumedHistoryItems,
@@ -4,7 +4,7 @@ import {
4
4
  OpenAIContentConverter,
5
5
  TaggedThinkingParser,
6
6
  openaiRequestCaptureContext
7
- } from "./chunk-HJDF3ZVU.js";
7
+ } from "./chunk-UEGNXWAX.js";
8
8
  import {
9
9
  RequestTokenizer
10
10
  } from "./chunk-DX3TKXNT.js";
@@ -7190,35 +7190,66 @@ var DashScopeOpenAICompatibleProvider = class _DashScopeOpenAICompatibleProvider
7190
7190
  }
7191
7191
  const requestWithTokenLimits = this.applyOutputTokenLimit(request);
7192
7192
  const extraBody = this.contentGeneratorConfig.extra_body;
7193
+ const enableThinkingFromEffort = this.shouldEnableThinkingFromEffort(
7194
+ request.model
7195
+ );
7193
7196
  if (this.isVisionModel(request.model)) {
7194
- return {
7197
+ const dashscopeExtras2 = {
7198
+ vl_high_resolution_images: true,
7199
+ preserve_thinking: true,
7200
+ ...enableThinkingFromEffort ? { enable_thinking: true } : {}
7201
+ };
7202
+ const visionResult = {
7195
7203
  ...requestWithTokenLimits,
7196
7204
  messages,
7197
7205
  ...tools ? { tools } : {},
7198
7206
  ...this.buildMetadata(userPromptId) || {},
7199
- /* @ts-expect-error dashscope exclusive */
7200
- vl_high_resolution_images: true,
7201
- // Default-on for supported reasoning models; user extra_body wins.
7202
- // Several vision models (e.g. qwen3.6-plus, qwen3.7-plus) are reasoning
7203
- // models that need this flag for multi-turn reasoning continuity.
7204
- // (No @ts-expect-error needed: TS flags only the first excess property
7205
- // in this cast, already suppressed on vl_high_resolution_images above.)
7206
- preserve_thinking: true,
7207
+ ...dashscopeExtras2
7208
+ };
7209
+ if (enableThinkingFromEffort && "reasoning" in visionResult) {
7210
+ delete visionResult["reasoning"];
7211
+ }
7212
+ return {
7213
+ ...visionResult,
7207
7214
  ...extraBody ? extraBody : {}
7208
7215
  };
7209
7216
  }
7210
- return {
7217
+ const dashscopeExtras = {
7218
+ preserve_thinking: true,
7219
+ ...enableThinkingFromEffort ? { enable_thinking: true } : {}
7220
+ };
7221
+ const result = {
7211
7222
  ...requestWithTokenLimits,
7212
7223
  // Preserve all original parameters including sampling params and adjusted max_tokens
7213
7224
  messages,
7214
7225
  ...tools ? { tools } : {},
7215
7226
  ...this.buildMetadata(userPromptId) || {},
7216
- // Default-on for supported reasoning models; user extra_body wins.
7217
- /* @ts-expect-error dashscope exclusive */
7218
- preserve_thinking: true,
7227
+ ...dashscopeExtras
7228
+ };
7229
+ if (enableThinkingFromEffort && "reasoning" in result) {
7230
+ delete result["reasoning"];
7231
+ }
7232
+ return {
7233
+ ...result,
7219
7234
  ...extraBody ? extraBody : {}
7220
7235
  };
7221
7236
  }
7237
+ /**
7238
+ * Whether to send `enable_thinking: true` because the user selected a
7239
+ * reasoning effort. qwen's hybrid-thinking models expose thinking as the
7240
+ * boolean `enable_thinking` rather than a tiered `reasoning_effort`, so the
7241
+ * unified effort ladder collapses to on/off here. Gated to qwen-family wire
7242
+ * models (mirroring the pipeline's disable gate) so the qwen-specific field
7243
+ * never leaks to a non-qwen model sharing the DashScope endpoint.
7244
+ */
7245
+ shouldEnableThinkingFromEffort(model) {
7246
+ const reasoning = this.contentGeneratorConfig.reasoning;
7247
+ if (!reasoning || reasoning.effort === void 0) {
7248
+ return false;
7249
+ }
7250
+ const wireModel = (model ?? this.contentGeneratorConfig.model ?? "").toLowerCase();
7251
+ return wireModel.startsWith("qwen") || wireModel === "coder-model";
7252
+ }
7222
7253
  buildMetadata(userPromptId) {
7223
7254
  const channel = this.cliConfig.getChannel?.();
7224
7255
  return {
@@ -7546,6 +7577,76 @@ function translateReasoningEffort(request) {
7546
7577
  }
7547
7578
  __name(translateReasoningEffort, "translateReasoningEffort");
7548
7579
 
7580
+ // packages/core/src/core/openaiContentGenerator/provider/zai.ts
7581
+ init_esbuild_shims();
7582
+ var debugLogger2 = createDebugLogger("ZAI");
7583
+ function isZaiHostname(contentGeneratorConfig) {
7584
+ const baseUrl = contentGeneratorConfig.baseUrl;
7585
+ if (!baseUrl) {
7586
+ return false;
7587
+ }
7588
+ try {
7589
+ const hostname = new URL(baseUrl).hostname.toLowerCase();
7590
+ return hostname === "z.ai" || hostname.endsWith(".z.ai") || hostname === "bigmodel.cn" || hostname.endsWith(".bigmodel.cn");
7591
+ } catch {
7592
+ return false;
7593
+ }
7594
+ }
7595
+ __name(isZaiHostname, "isZaiHostname");
7596
+ function isZaiProvider(contentGeneratorConfig) {
7597
+ if (isZaiHostname(contentGeneratorConfig)) {
7598
+ return true;
7599
+ }
7600
+ const model = contentGeneratorConfig.model ?? "";
7601
+ return model.toLowerCase().startsWith("glm-");
7602
+ }
7603
+ __name(isZaiProvider, "isZaiProvider");
7604
+ var ZaiOpenAICompatibleProvider = class extends DefaultOpenAICompatibleProvider {
7605
+ static {
7606
+ __name(this, "ZaiOpenAICompatibleProvider");
7607
+ }
7608
+ static isZaiProvider = isZaiProvider;
7609
+ static isZaiHostname = isZaiHostname;
7610
+ // Latch so the skipped-flatten warning fires once per provider lifetime.
7611
+ nonZaiHostnameFlattenWarned = false;
7612
+ buildRequest(request, userPromptId) {
7613
+ const baseRequest = super.buildRequest(request, userPromptId);
7614
+ if (isZaiHostname(this.contentGeneratorConfig)) {
7615
+ return flattenReasoningEffort(baseRequest);
7616
+ }
7617
+ const reasoning = baseRequest["reasoning"];
7618
+ if (reasoning?.effort && !baseRequest["reasoning_effort"] && !this.nonZaiHostnameFlattenWarned) {
7619
+ debugLogger2.warn(
7620
+ `GLM model '${this.contentGeneratorConfig.model ?? "unknown"}' on a non-Z.ai hostname; leaving nested reasoning.effort='${String(
7621
+ reasoning.effort
7622
+ )}' unflattened (reasoning_effort reshape is hostname-gated).`
7623
+ );
7624
+ this.nonZaiHostnameFlattenWarned = true;
7625
+ }
7626
+ return baseRequest;
7627
+ }
7628
+ };
7629
+ function flattenReasoningEffort(request) {
7630
+ const r = request;
7631
+ const nested = r["reasoning"];
7632
+ const effort = nested?.effort;
7633
+ if (typeof effort !== "string" || !effort) {
7634
+ return request;
7635
+ }
7636
+ const next = { ...r };
7637
+ if (typeof next["reasoning_effort"] !== "string" || !next["reasoning_effort"]) {
7638
+ next["reasoning_effort"] = effort;
7639
+ }
7640
+ if (nested && Object.keys(nested).length === 1) {
7641
+ delete next["reasoning"];
7642
+ } else if (nested) {
7643
+ const { effort: _drop, ...rest } = nested;
7644
+ next["reasoning"] = rest;
7645
+ }
7646
+ return next;
7647
+ }
7648
+ __name(flattenReasoningEffort, "flattenReasoningEffort");
7649
+
7549
7650
  // packages/core/src/core/openaiContentGenerator/provider/minimax.ts
7550
7651
  init_esbuild_shims();
7551
7652
  var MINIMAX_KNOWN_HOSTS = ["api.minimaxi.com", "api.minimax.io"];
@@ -7672,7 +7773,7 @@ init_esbuild_shims();
7672
7773
 
7673
7774
  // packages/core/src/core/openaiContentGenerator/streamingToolCallParser.ts
7674
7775
  init_esbuild_shims();
7675
- var debugLogger2 = createDebugLogger("STREAMING_TOOL_CALL_PARSER");
7776
+ var debugLogger3 = createDebugLogger("STREAMING_TOOL_CALL_PARSER");
7676
7777
  var StreamingToolCallParser = class {
7677
7778
  static {
7678
7779
  __name(this, "StreamingToolCallParser");
@@ -7756,7 +7857,7 @@ var StreamingToolCallParser = class {
7756
7857
  if (isKnownId && currentBuffer.trim() && currentDepth === 0) {
7757
7858
  try {
7758
7859
  JSON.parse(currentBuffer);
7759
- debugLogger2.debug(
7860
+ debugLogger3.debug(
7760
7861
  `Ignoring replay chunk for completed toolCall id=${id}`
7761
7862
  );
7762
7863
  return { complete: false };
@@ -8004,7 +8105,7 @@ var StreamingToolCallParser = class {
8004
8105
  };
8005
8106
 
8006
8107
  // packages/core/src/core/openaiContentGenerator/pipeline.ts
8007
- var debugLogger3 = createDebugLogger("OPENAI_PIPELINE");
8108
+ var debugLogger4 = createDebugLogger("OPENAI_PIPELINE");
8008
8109
  var StreamContentError = class extends Error {
8009
8110
  static {
8010
8111
  __name(this, "StreamContentError");
@@ -8249,7 +8350,7 @@ var ContentGenerationPipeline = class {
8249
8350
  throw redactProxyError(error);
8250
8351
  }
8251
8352
  if (error instanceof StreamInactivityTimeoutError) {
8252
- debugLogger3.warn("OpenAI stream inactivity timeout", {
8353
+ debugLogger4.warn("OpenAI stream inactivity timeout", {
8253
8354
  idleMs: error.idleMs,
8254
8355
  chunksReceived: error.chunksReceived,
8255
8356
  streamLifetimeMs: error.streamLifetimeMs
@@ -8462,7 +8563,7 @@ var ContentGenerationPipeline = class {
8462
8563
 
8463
8564
  // packages/core/src/core/openaiContentGenerator/errorHandler.ts
8464
8565
  init_esbuild_shims();
8465
- var debugLogger4 = createDebugLogger("OPENAI_ERROR");
8566
+ var debugLogger5 = createDebugLogger("OPENAI_ERROR");
8466
8567
  var EnhancedErrorHandler = class {
8467
8568
  constructor(shouldSuppressLogging = () => false) {
8468
8569
  this.shouldSuppressLogging = shouldSuppressLogging;
@@ -8479,7 +8580,7 @@ var EnhancedErrorHandler = class {
8479
8580
  isTimeoutError
8480
8581
  );
8481
8582
  if (!this.shouldSuppressErrorLogging(redactedError, request)) {
8482
- debugLogger4.error("OpenAI API Error:", errorMessage);
8583
+ debugLogger5.error("OpenAI API Error:", errorMessage);
8483
8584
  }
8484
8585
  if (isTimeoutError) {
8485
8586
  throw new Error(
@@ -8519,7 +8620,7 @@ ${tips.join("\n")}`;
8519
8620
  };
8520
8621
 
8521
8622
  // packages/core/src/core/openaiContentGenerator/openaiContentGenerator.ts
8522
- var debugLogger5 = createDebugLogger("OPENAI");
8623
+ var debugLogger6 = createDebugLogger("OPENAI");
8523
8624
  var OpenAIContentGenerator = class {
8524
8625
  static {
8525
8626
  __name(this, "OpenAIContentGenerator");
@@ -8562,7 +8663,7 @@ var OpenAIContentGenerator = class {
8562
8663
  totalTokens: result.totalTokens
8563
8664
  };
8564
8665
  } catch (error) {
8565
- debugLogger5.warn(
8666
+ debugLogger6.warn(
8566
8667
  "Failed to calculate tokens with new tokenizer, falling back to simple method:",
8567
8668
  error
8568
8669
  );
@@ -8609,7 +8710,7 @@ var OpenAIContentGenerator = class {
8609
8710
  };
8610
8711
  } catch (error) {
8611
8712
  const redactedError = redactProxyError(error);
8612
- debugLogger5.error("OpenAI API Embedding Error:", redactedError);
8713
+ debugLogger6.error("OpenAI API Embedding Error:", redactedError);
8613
8714
  throw new Error(
8614
8715
  `OpenAI API error: ${redactedError instanceof Error ? redactedError.message : String(redactedError)}`
8615
8716
  );
@@ -8644,6 +8745,9 @@ function determineProvider(contentGeneratorConfig, cliConfig) {
8644
8745
  cliConfig
8645
8746
  );
8646
8747
  }
8748
+ if (ZaiOpenAICompatibleProvider.isZaiProvider(config)) {
8749
+ return new ZaiOpenAICompatibleProvider(contentGeneratorConfig, cliConfig);
8750
+ }
8647
8751
  if (MiMoOpenAICompatibleProvider.isMiMoProvider(config)) {
8648
8752
  return new MiMoOpenAICompatibleProvider(contentGeneratorConfig, cliConfig);
8649
8753
  }
@@ -2,12 +2,12 @@
2
2
  "use strict";
3
3
  import {
4
4
  buildPermissionSettings
5
- } from "./chunk-QAFQLTXG.js";
5
+ } from "./chunk-4JWM2UGC.js";
6
6
  import {
7
7
  resolveVoiceStreamConfig,
8
8
  resolveVoiceTranscriptionConfig,
9
9
  transcribeVoiceAudio
10
- } from "./chunk-BNJLLAQ7.js";
10
+ } from "./chunk-AYUVPH6L.js";
11
11
  import {
12
12
  getVoiceSettingsScope,
13
13
  isSelectableVoiceModel,
@@ -16,7 +16,11 @@ import {
16
16
  readVoiceMode,
17
17
  readVoiceModel,
18
18
  resolveVoiceTransport
19
- } from "./chunk-Q7VHIRDD.js";
19
+ } from "./chunk-7K4G2H2H.js";
20
+ import {
21
+ WorkspacePermissionRulesSessionRequiredError,
22
+ WorkspaceSettingsPartialPersistError
23
+ } from "./chunk-BMFMJINR.js";
20
24
  import {
21
25
  MCP_RESTART_SERVER_DEADLINE_MS
22
26
  } from "./chunk-P7M4GA57.js";
@@ -41,24 +45,20 @@ import {
41
45
  createIdleWorkspaceProvidersStatus,
42
46
  createIdleWorkspaceSkillsStatus,
43
47
  mapDomainErrorToErrorKind
44
- } from "./chunk-GICCHL2Q.js";
45
- import {
46
- WorkspacePermissionRulesSessionRequiredError,
47
- WorkspaceSettingsPartialPersistError
48
- } from "./chunk-BMFMJINR.js";
48
+ } from "./chunk-STP6AYKH.js";
49
49
  import {
50
50
  getPersistScopeForModelSelection,
51
51
  loadSettings
52
- } from "./chunk-MKHC4BYZ.js";
52
+ } from "./chunk-XAVV2JAM.js";
53
53
  import {
54
54
  getWorkspaceTrustStatus
55
- } from "./chunk-ZJP5T7IA.js";
55
+ } from "./chunk-ODPWORQZ.js";
56
56
  import {
57
57
  writeStderrLine
58
58
  } from "./chunk-Y6Z2O3WR.js";
59
59
  import {
60
60
  ModelsConfig
61
- } from "./chunk-BFG6OZN7.js";
61
+ } from "./chunk-WWOVV2PW.js";
62
62
  import {
63
63
  createDebugLogger
64
64
  } from "./chunk-AVQDCKNF.js";
@@ -334,6 +334,7 @@ function createDaemonWorkspaceService(deps) {
334
334
  contextFilename,
335
335
  statusProvider,
336
336
  workspaceProvidersStatusProvider,
337
+ workspaceSkillsStatusProvider,
337
338
  isChannelLive,
338
339
  persistDisabledTools,
339
340
  persistSetting,
@@ -343,6 +344,7 @@ function createDaemonWorkspaceService(deps) {
343
344
  refreshExtensionsForAllSessions: refreshExtensionsForAllSessionsOnBridge,
344
345
  publishWorkspaceEvent
345
346
  } = deps;
347
+ let lastWorkspaceSkillsStatus;
346
348
  return {
347
349
  // -- Status queries (delegate to ACP child via queryWorkspaceStatus) --
348
350
  async getWorkspaceMcpStatus(_ctx) {
@@ -352,10 +354,35 @@ function createDaemonWorkspaceService(deps) {
352
354
  );
353
355
  },
354
356
  async getWorkspaceSkillsStatus(_ctx) {
355
- return queryWorkspaceStatus(
356
- SERVE_STATUS_EXT_METHODS.workspaceSkills,
357
- () => createIdleWorkspaceSkillsStatus(boundWorkspace)
358
- );
357
+ let status;
358
+ try {
359
+ status = await queryWorkspaceStatus(
360
+ SERVE_STATUS_EXT_METHODS.workspaceSkills,
361
+ () => createIdleWorkspaceSkillsStatus(boundWorkspace)
362
+ );
363
+ } catch (err) {
364
+ writeStderrLine(
365
+ `qwen serve: getWorkspaceSkillsStatus query failed: ${err instanceof Error ? err.message : String(err)}`
366
+ );
367
+ status = createIdleWorkspaceSkillsStatus(boundWorkspace);
368
+ }
369
+ if (status.initialized) {
370
+ lastWorkspaceSkillsStatus = status;
371
+ return status;
372
+ }
373
+ if (lastWorkspaceSkillsStatus) {
374
+ return lastWorkspaceSkillsStatus;
375
+ }
376
+ if (workspaceSkillsStatusProvider) {
377
+ try {
378
+ return await workspaceSkillsStatusProvider(boundWorkspace);
379
+ } catch (err) {
380
+ writeStderrLine(
381
+ `qwen serve: getWorkspaceSkillsStatus local provider failed: ${err instanceof Error ? err.message : String(err)}`
382
+ );
383
+ }
384
+ }
385
+ return status;
359
386
  },
360
387
  async getWorkspaceProvidersStatus(_ctx) {
361
388
  if (workspaceProvidersStatusProvider) {
@@ -7,10 +7,10 @@ import {
7
7
  eastAsianWidth,
8
8
  isFullWidth,
9
9
  isWide
10
- } from "./chunk-HRZB5CSC.js";
10
+ } from "./chunk-ZRHHQFV4.js";
11
11
  import {
12
12
  stripAnsi
13
- } from "./chunk-BFG6OZN7.js";
13
+ } from "./chunk-WWOVV2PW.js";
14
14
  import {
15
15
  init_esbuild_shims
16
16
  } from "./chunk-A4BMJM77.js";
@@ -2,7 +2,10 @@
2
2
  "use strict";
3
3
  import {
4
4
  MissingCliEntryError
5
- } from "./chunk-GICCHL2Q.js";
5
+ } from "./chunk-STP6AYKH.js";
6
+ import {
7
+ redactLogCredentials
8
+ } from "./chunk-2Z43HUXT.js";
6
9
  import {
7
10
  ndJsonStream
8
11
  } from "./chunk-UFC57OYT.js";
@@ -43,8 +46,9 @@ function createStderrForwarder(opts) {
43
46
  let buf = "";
44
47
  const flush = /* @__PURE__ */ __name((line) => {
45
48
  if (line.length > 0) {
46
- process.stderr.write(prefix + line + "\n");
47
- if (onDiagnosticLine) onDiagnosticLine(prefix + line, "warn");
49
+ const safe = redactLogCredentials(line);
50
+ process.stderr.write(prefix + safe + "\n");
51
+ if (onDiagnosticLine) onDiagnosticLine(prefix + safe, "warn");
48
52
  }
49
53
  }, "flush");
50
54
  return {
@@ -57,7 +61,7 @@ function createStderrForwarder(opts) {
57
61
  nl = buf.indexOf("\n");
58
62
  }
59
63
  while (buf.length > STDERR_LINE_CAP_CHARS) {
60
- const truncated = buf.slice(0, STDERR_LINE_CAP_CHARS) + " [truncated]";
64
+ const truncated = redactLogCredentials(buf.slice(0, STDERR_LINE_CAP_CHARS)) + " [truncated]";
61
65
  process.stderr.write(prefix + truncated + "\n");
62
66
  if (onDiagnosticLine) onDiagnosticLine(prefix + truncated, "warn");
63
67
  buf = buf.slice(STDERR_LINE_CAP_CHARS);
@@ -1,8 +1,5 @@
1
1
  // Force strict mode and setup for ESM
2
2
  "use strict";
3
- import {
4
- relaunchApp
5
- } from "./chunk-6AQR7732.js";
6
3
  import {
7
4
  SHELL_COMMAND_NAME,
8
5
  SHELL_NAME,
@@ -13,7 +10,7 @@ import {
13
10
  getCommandSourceGroup,
14
11
  getCommandSubcommandNames,
15
12
  useSessionStats
16
- } from "./chunk-TTFNVEO5.js";
13
+ } from "./chunk-P5GH4DTN.js";
17
14
  import {
18
15
  Colors,
19
16
  RowMouseController,
@@ -22,7 +19,7 @@ import {
22
19
  useMouseEvents,
23
20
  useSettings,
24
21
  useTerminalSize
25
- } from "./chunk-CG7SVARK.js";
22
+ } from "./chunk-VDIZBM46.js";
26
23
  import {
27
24
  buildResumedHistoryItems,
28
25
  calculateAverageLatency,
@@ -32,16 +29,20 @@ import {
32
29
  computeDiffColumnWidths,
33
30
  computeSessionStats,
34
31
  getSystemInfoFields,
32
+ levelLabel,
35
33
  useKeypress,
36
34
  wrapForMultiplexer
37
- } from "./chunk-75X2VLSH.js";
35
+ } from "./chunk-F26BNXI2.js";
38
36
  import {
39
37
  isTerminalGoalStatusKind
40
38
  } from "./chunk-KSPVDFE4.js";
39
+ import {
40
+ relaunchApp
41
+ } from "./chunk-46IAL3RB.js";
41
42
  import {
42
43
  MINIMUM_MAX_HEIGHT,
43
44
  MaxSizedBox
44
- } from "./chunk-FNLXLI4I.js";
45
+ } from "./chunk-WMLQKZ64.js";
45
46
  import {
46
47
  theme
47
48
  } from "./chunk-VXGPYF7U.js";
@@ -53,7 +54,7 @@ import {
53
54
  require_jsx_runtime,
54
55
  use_is_screen_reader_enabled_default,
55
56
  use_stdin_default
56
- } from "./chunk-2X2JUE47.js";
57
+ } from "./chunk-FKHE7ZNF.js";
57
58
  import {
58
59
  require_react
59
60
  } from "./chunk-KYMBIKIW.js";
@@ -65,9 +66,6 @@ import {
65
66
  require_has_flag,
66
67
  require_source
67
68
  } from "./chunk-3GONHQOA.js";
68
- import {
69
- createLoadedSettingsAdapter
70
- } from "./chunk-73H73ASU.js";
71
69
  import {
72
70
  cpLen,
73
71
  cpSlice,
@@ -79,7 +77,10 @@ import {
79
77
  stripUnsafeCharacters,
80
78
  toCodePoints,
81
79
  wrapToVisualLines
82
- } from "./chunk-HRZB5CSC.js";
80
+ } from "./chunk-ZRHHQFV4.js";
81
+ import {
82
+ createLoadedSettingsAdapter
83
+ } from "./chunk-VJSWLYUL.js";
83
84
  import {
84
85
  formatDuration,
85
86
  formatMemoryUsage,
@@ -88,15 +89,15 @@ import {
88
89
  } from "./chunk-KHDZHZMH.js";
89
90
  import {
90
91
  getPersistScopeForModelSelection
91
- } from "./chunk-MKHC4BYZ.js";
92
+ } from "./chunk-XAVV2JAM.js";
92
93
  import {
93
94
  getCurrentLanguage,
94
95
  localizeToolDisplayName,
95
96
  t
96
- } from "./chunk-UQYOMM6J.js";
97
+ } from "./chunk-L4CYPEA7.js";
97
98
  import {
98
99
  isWorkspaceTrusted
99
- } from "./chunk-ZJP5T7IA.js";
100
+ } from "./chunk-ODPWORQZ.js";
100
101
  import {
101
102
  ALL_PROVIDERS,
102
103
  IdeClient,
@@ -117,15 +118,15 @@ import {
117
118
  resolveMetadataKey,
118
119
  resolveOwnsModel,
119
120
  stripAnsi
120
- } from "./chunk-BFG6OZN7.js";
121
+ } from "./chunk-WWOVV2PW.js";
121
122
  import {
122
123
  MAIN_SOURCE,
123
124
  getMCPServerStatus
124
- } from "./chunk-HJDF3ZVU.js";
125
+ } from "./chunk-UEGNXWAX.js";
125
126
  import {
126
127
  ToolDisplayNames,
127
128
  ToolNames
128
- } from "./chunk-4VZH35PN.js";
129
+ } from "./chunk-MTNTVOJR.js";
129
130
  import {
130
131
  createDebugLogger,
131
132
  escapePath,
@@ -8038,6 +8039,7 @@ __name(useRenderMode, "useRenderMode");
8038
8039
 
8039
8040
  // packages/cli/src/ui/utils/MarkdownDisplay.tsx
8040
8041
  var import_jsx_runtime6 = __toESM(require_jsx_runtime(), 1);
8042
+ var MIN_PENDING_CONTENT_LINES = 1;
8041
8043
  function countMarkdownSourceBlocks(text) {
8042
8044
  const codeBlockLanguageCounts = /* @__PURE__ */ new Map();
8043
8045
  const lines = text.split(/\r?\n/);
@@ -8156,7 +8158,10 @@ var MarkdownDisplayInternal = /* @__PURE__ */ __name(({
8156
8158
  if (!text) return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_jsx_runtime6.Fragment, {});
8157
8159
  const renderVisualBlocks = renderMode === "render";
8158
8160
  const displayText = isPending ? text.trimEnd() : text;
8159
- const lines = displayText.split(/\r?\n/);
8161
+ const allLines = displayText.split(/\r?\n/);
8162
+ const pendingLineBudget = isPending && availableTerminalHeight !== void 0 ? Math.max(MIN_PENDING_CONTENT_LINES, availableTerminalHeight - 2) : void 0;
8163
+ const pendingClipped = pendingLineBudget !== void 0 && allLines.length > pendingLineBudget;
8164
+ const lines = pendingClipped ? allLines.slice(0, pendingLineBudget) : allLines;
8160
8165
  const headerRegex = /^ *(#{1,4}) +(.*)/;
8161
8166
  const codeFenceRegex = /^ *(`{3,}|~{3,}) *([^`]*)$/;
8162
8167
  const ulItemRegex = /^([ \t]*)([-*+]) +(.*)/;
@@ -8524,6 +8529,12 @@ var MarkdownDisplayInternal = /* @__PURE__ */ __name(({
8524
8529
  )
8525
8530
  );
8526
8531
  }
8532
+ if (pendingClipped) {
8533
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(Box_default, { flexDirection: "column", children: [
8534
+ contentBlocks,
8535
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(Text, { color: theme.text.secondary, wrap: "truncate", children: "... generating more ..." })
8536
+ ] });
8537
+ }
8527
8538
  return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_jsx_runtime6.Fragment, { children: contentBlocks });
8528
8539
  }, "MarkdownDisplayInternal");
8529
8540
  var RenderCodeBlockInternal = /* @__PURE__ */ __name(({
@@ -17485,6 +17496,12 @@ var ExtensionsList = /* @__PURE__ */ __name(() => {
17485
17496
  // packages/cli/src/ui/components/views/SkillsList.tsx
17486
17497
  init_esbuild_shims();
17487
17498
  var import_jsx_runtime39 = __toESM(require_jsx_runtime(), 1);
17499
+ var NAME_COLUMN = 24;
17500
+ function truncate(text, max) {
17501
+ if (text.length <= max) return text;
17502
+ return `${text.slice(0, Math.max(0, max - 1))}\u2026`;
17503
+ }
17504
+ __name(truncate, "truncate");
17488
17505
  var SkillsList = /* @__PURE__ */ __name(({ skills }) => /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(Box_default, { flexDirection: "column", marginBottom: 1, children: [
17489
17506
  /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Text, { bold: true, color: theme.text.primary, children: t("Available skills:") }),
17490
17507
  /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Box_default, { height: 1 }),
@@ -17493,7 +17510,17 @@ var SkillsList = /* @__PURE__ */ __name(({ skills }) => /* @__PURE__ */ (0, impo
17493
17510
  " ",
17494
17511
  "- "
17495
17512
  ] }),
17496
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Text, { bold: true, color: theme.text.accent, children: skill.name })
17513
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Text, { bold: true, color: theme.text.accent, children: skill.description ? truncate(skill.name, NAME_COLUMN).padEnd(NAME_COLUMN) : skill.name }),
17514
+ skill.description && /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(Text, { color: theme.text.secondary, children: [
17515
+ " ",
17516
+ truncate(skill.description, 80)
17517
+ ] }),
17518
+ skill.level && /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(Text, { color: theme.text.secondary, children: [
17519
+ " ",
17520
+ "(",
17521
+ levelLabel(skill.level),
17522
+ ")"
17523
+ ] })
17497
17524
  ] }, skill.name)) : /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(Text, { color: theme.text.primary, children: [
17498
17525
  " ",
17499
17526
  t("No skills available")