@qwen-code/qwen-code 0.21.10 → 0.21.11-preview.0

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 (202) hide show
  1. package/bundled/qc-helper/docs/extension/_meta.ts +1 -0
  2. package/bundled/qc-helper/docs/extension/agent-plugins.md +50 -0
  3. package/bundled/qc-helper/docs/extension/extension-releasing.md +3 -3
  4. package/bundled/qc-helper/docs/extension/introduction.md +17 -3
  5. package/chunks/{MaxSizedBox-FKXYULMW.js → MaxSizedBox-FVSXOMKP.js} +3 -3
  6. package/chunks/{StandaloneSessionPicker-OQS3M7AY.js → StandaloneSessionPicker-Q27UAQ3X.js} +17 -17
  7. package/chunks/{acpAgent-AGS6HLQQ.js → acpAgent-C6TV2BIU.js} +39 -39
  8. package/chunks/{agent-4NCVO27U.js → agent-IPODFZTU.js} +3 -3
  9. package/chunks/{agent-headless-HYEHZFH6.js → agent-headless-JOL3STCJ.js} +3 -3
  10. package/chunks/{bridge-FHINXZMN.js → bridge-YX2R6VVM.js} +5 -5
  11. package/chunks/{channel-settings-store-OXYG5S5X.js → channel-settings-store-CDUEUDYS.js} +9 -9
  12. package/chunks/{chunk-ZRBMO3C7.js → chunk-2Z6PYTOK.js} +1 -1
  13. package/chunks/{chunk-Y4R47ZUH.js → chunk-3WOZVMGJ.js} +5 -5
  14. package/chunks/{chunk-A7XMDZRI.js → chunk-4P66JPNV.js} +2 -2
  15. package/chunks/{chunk-OONWZLFK.js → chunk-5BRSWOSC.js} +3 -3
  16. package/chunks/{chunk-5MZCSWI4.js → chunk-5C7FDVHB.js} +3 -3
  17. package/chunks/{chunk-NV65ZUVM.js → chunk-6CONQTS2.js} +1 -1
  18. package/chunks/{chunk-VWKER4ZH.js → chunk-6S4NCX23.js} +2 -2
  19. package/chunks/{chunk-AAE6SR4Q.js → chunk-6WIKTX4C.js} +1 -1
  20. package/chunks/{chunk-NDU63YLI.js → chunk-7C7RTJPC.js} +2 -2
  21. package/chunks/{chunk-KONVMRK7.js → chunk-7OFX3YZW.js} +1 -1
  22. package/chunks/{chunk-D27I6YJT.js → chunk-7S4DYMFG.js} +10 -10
  23. package/chunks/{chunk-NRLFZWCT.js → chunk-7WUUNAJP.js} +1 -1
  24. package/chunks/{chunk-F6WDTQ3M.js → chunk-A6PSUNCY.js} +2 -2
  25. package/chunks/{chunk-AQAJJMRR.js → chunk-AJ6LQ5A6.js} +1 -1
  26. package/chunks/{chunk-VSFKIRRW.js → chunk-B7SQOICP.js} +3 -3
  27. package/chunks/{chunk-Y3OVRWRY.js → chunk-BCZ2TTSH.js} +1 -1
  28. package/chunks/{chunk-YF5MALI4.js → chunk-BO2VRKY2.js} +3 -3
  29. package/chunks/{chunk-QG3FFJYU.js → chunk-CQGGDOR5.js} +1 -1
  30. package/chunks/{chunk-4MKXUHXY.js → chunk-DCGYLIYO.js} +2 -2
  31. package/chunks/{chunk-IBUGFUXC.js → chunk-DVQECPGW.js} +9 -9
  32. package/chunks/{chunk-F24A2JBM.js → chunk-E2XBEWAK.js} +42 -24
  33. package/chunks/{chunk-I5VM3SKY.js → chunk-EV3LZGGK.js} +332 -34
  34. package/chunks/{chunk-LLCWZQCU.js → chunk-F32C6V5B.js} +1 -1
  35. package/chunks/{chunk-DCZEPFB4.js → chunk-FTO3P6PZ.js} +2 -2
  36. package/chunks/{chunk-26CXSA6V.js → chunk-FYTHSJDQ.js} +1 -1
  37. package/chunks/{chunk-YWPSGJFI.js → chunk-HDHLWOG5.js} +2 -2
  38. package/chunks/{chunk-UBX6NL47.js → chunk-HGBUHVFO.js} +1 -1
  39. package/chunks/{chunk-KID7K6H2.js → chunk-HOUK5CR2.js} +4 -4
  40. package/chunks/{chunk-2PLNY5TN.js → chunk-I7XTOGIS.js} +3 -3
  41. package/chunks/{chunk-Z4JX4NSH.js → chunk-K4QON4BH.js} +10 -10
  42. package/chunks/{chunk-UEOKWYGY.js → chunk-KHLBIO6M.js} +1 -1
  43. package/chunks/{chunk-QJMOAMXT.js → chunk-LU7RJB2W.js} +4 -4
  44. package/chunks/{chunk-P3BJLFSZ.js → chunk-MTE6R5HF.js} +1 -1
  45. package/chunks/{chunk-EI3NWELG.js → chunk-O3VWAZLP.js} +3816 -3033
  46. package/chunks/{chunk-GWVUR3QZ.js → chunk-P6RBCBBE.js} +1 -1
  47. package/chunks/{chunk-NEOXOWYH.js → chunk-PDUIXSYP.js} +2 -2
  48. package/chunks/{chunk-47PEPJO7.js → chunk-PFWPBYL2.js} +3 -3
  49. package/chunks/{chunk-IWTMYQ32.js → chunk-PIA35YOG.js} +3 -3
  50. package/chunks/{chunk-QGNOFE5E.js → chunk-PWYEWOZM.js} +1 -1
  51. package/chunks/{chunk-AEL7KN2O.js → chunk-RKCPPZV6.js} +1 -1
  52. package/chunks/{chunk-URKIBIFC.js → chunk-SKSOLRPK.js} +2 -2
  53. package/chunks/{chunk-ABVRJU3D.js → chunk-SVY7G3WS.js} +5 -5
  54. package/chunks/{chunk-4WL6SY4F.js → chunk-T3FNRMFJ.js} +1 -1
  55. package/chunks/{chunk-TRRF5BSP.js → chunk-TCRQD7F6.js} +1 -1
  56. package/chunks/{chunk-UMD7WQTR.js → chunk-TG3IUQ6M.js} +10 -8
  57. package/chunks/{chunk-OJUQF2PL.js → chunk-TZ3FN4B2.js} +2 -2
  58. package/chunks/{chunk-OCSFNUU4.js → chunk-UHJ5S7DF.js} +6 -6
  59. package/chunks/{chunk-IRZ2ZH72.js → chunk-UMEB4DHF.js} +4 -4
  60. package/chunks/{chunk-O3EU6GMH.js → chunk-UO2N5QWP.js} +2 -2
  61. package/chunks/{chunk-EBZ6BJTF.js → chunk-UXV3DYVT.js} +1 -1
  62. package/chunks/{chunk-ZJ4W6SUY.js → chunk-V3KCCRKA.js} +1 -1
  63. package/chunks/{chunk-MIKXJYZB.js → chunk-VBU76UYP.js} +25 -23
  64. package/chunks/{chunk-6LP743KE.js → chunk-VVSMEI6C.js} +3 -3
  65. package/chunks/{chunk-ECWR5LQR.js → chunk-X76PVMPQ.js} +1 -1
  66. package/chunks/{chunk-Q3AL4JQ3.js → chunk-X7XXP7CN.js} +1 -1
  67. package/chunks/{chunk-KZ22NXBY.js → chunk-XGLVQQ6F.js} +2 -2
  68. package/chunks/{chunk-XVHYA33G.js → chunk-Y3NNBNGM.js} +3 -3
  69. package/chunks/{chunk-7GTMV7UE.js → chunk-ZUIOLZ4V.js} +18 -18
  70. package/chunks/{computer-use-WQFK33Z3.js → computer-use-5LGM2YO5.js} +3 -3
  71. package/chunks/{contextCommand-7EOZND7C.js → contextCommand-JT44ADUD.js} +5 -5
  72. package/chunks/{core-runtime-FGMQRM6E.js → core-runtime-XHEJM2VB.js} +3 -3
  73. package/chunks/{create-sub-session-QM2K5HLZ.js → create-sub-session-UQBDJF5G.js} +3 -3
  74. package/chunks/{daemon-status-provider-L3J6GKCT.js → daemon-status-provider-67M3LFIJ.js} +9 -9
  75. package/chunks/{daemon-trust-policy-4PHPY23S.js → daemon-trust-policy-3XCIBLLT.js} +9 -9
  76. package/chunks/{daemon-trust-policy-monitor-6UKEABN5.js → daemon-trust-policy-monitor-LUMB46CL.js} +9 -9
  77. package/chunks/{deferred-core-runtime-67GJXHXS.js → deferred-core-runtime-BFB6YRTZ.js} +3 -3
  78. package/chunks/{earlyInputCapture-IWMYR6OB.js → earlyInputCapture-GPULMO2H.js} +3 -3
  79. package/chunks/{edit-ZFGROCAF.js → edit-XYMQNMWU.js} +3 -3
  80. package/chunks/{enter-worktree-TZZZCDM5.js → enter-worktree-TIASENJP.js} +3 -3
  81. package/chunks/{enterPlanMode-U77BI3R6.js → enterPlanMode-K6LTIGWM.js} +3 -3
  82. package/chunks/{environment-HC37DS2I.js → environment-3XX7LUMG.js} +5 -5
  83. package/chunks/{errors-6AG54JPD.js → errors-VTFZ6M4W.js} +5 -5
  84. package/chunks/{exit-worktree-UYYWFPNK.js → exit-worktree-IBKPEHUJ.js} +3 -3
  85. package/chunks/{exitPlanMode-RWJR2KGB.js → exitPlanMode-2U23CG2U.js} +3 -3
  86. package/chunks/{fast-path-F5FSZ3O7.js → fast-path-QOBSDLA6.js} +2 -2
  87. package/chunks/{gemini-NKQHYM36.js → gemini-OCRXJUWF.js} +36 -36
  88. package/chunks/{geminiContentGenerator-HCWZOUX3.js → geminiContentGenerator-VHSPCS6F.js} +1 -1
  89. package/chunks/{glob-3PDXKBAO.js → glob-BVX4L3CM.js} +3 -3
  90. package/chunks/{grep-5HZKZYVD.js → grep-CJSUX5NJ.js} +3 -3
  91. package/chunks/{handleAutoUpdate-NHFSGYTF.js → handleAutoUpdate-2F3RWBIT.js} +7 -7
  92. package/chunks/{i18n-Q27KKNDL.js → i18n-BPEDXABF.js} +4 -4
  93. package/chunks/{image-gen-2Z2RJ6W7.js → image-gen-DEEXNNA2.js} +1 -1
  94. package/chunks/{initializer-Y5DJLT43.js → initializer-QRD7X25L.js} +9 -9
  95. package/chunks/{installationInfo-XXB75T7O.js → installationInfo-JCUKPGDB.js} +4 -4
  96. package/chunks/{list-YHNQ32CS.js → list-G6SHYRHQ.js} +12 -12
  97. package/chunks/{loadedSettingsAdapter-GHUQK7H4.js → loadedSettingsAdapter-S4EPYP35.js} +9 -9
  98. package/chunks/{loggingContentGenerator-6NTFBM7Q.js → loggingContentGenerator-MOOIBKKR.js} +1 -1
  99. package/chunks/{managed-npm-update-SPHYQUWZ.js → managed-npm-update-7K2LDL7V.js} +4 -4
  100. package/chunks/{mcp-EA3KO6FS.js → mcp-R2Z6IKPN.js} +9 -9
  101. package/chunks/{monitor-ZBBPAA54.js → monitor-EXI73A5P.js} +3 -3
  102. package/chunks/{nonInteractiveCli-NNOR56HU.js → nonInteractiveCli-E6CEE6IG.js} +33 -33
  103. package/chunks/{notebook-edit-5W3FW7Z2.js → notebook-edit-GKKQJQQU.js} +3 -3
  104. package/chunks/{openaiContentGenerator-TQANPEVZ.js → openaiContentGenerator-NSPCP4FY.js} +1 -1
  105. package/chunks/{pidfile-EQOBLH4E.js → pidfile-IU4ETBRE.js} +3 -3
  106. package/chunks/{processUtils-7XQG7EHS.js → processUtils-GZOVMFK4.js} +2 -2
  107. package/chunks/{qwenContentGenerator-BKCPHHXU.js → qwenContentGenerator-BBTNTOMB.js} +3 -3
  108. package/chunks/{qwenOAuth2-BJ6PQKE6.js → qwenOAuth2-D6L2W25Z.js} +1 -1
  109. package/chunks/{read-file-KKTXGIZD.js → read-file-S2BROE4F.js} +1 -1
  110. package/chunks/{resumeHistoryUtils-6N6XGJJW.js → resumeHistoryUtils-VUY4B6BO.js} +6 -6
  111. package/chunks/{ripGrep-SJVAAYDV.js → ripGrep-V4EX6SLA.js} +3 -3
  112. package/chunks/{run-qwen-serve-BCKBCAMX.js → run-qwen-serve-7BDTKCFP.js} +32 -28
  113. package/chunks/{runtime-E2437YKL.js → runtime-VMWGIAX7.js} +10 -10
  114. package/chunks/{scheduler-K3D5Z655.js → scheduler-MUKPARY5.js} +5 -5
  115. package/chunks/{serve-IH4XR5IL.js → serve-7G5R52HX.js} +9 -9
  116. package/chunks/{server-UD6INW7J.js → server-FTSWAHXF.js} +41 -35
  117. package/chunks/{session-GR4ZEVW4.js → session-FLUDUMZJ.js} +34 -34
  118. package/chunks/{settings-5O24D3OJ.js → settings-CJVTBEW7.js} +8 -8
  119. package/chunks/{shell-UTLWLG5G.js → shell-2DOQIYEE.js} +3 -3
  120. package/chunks/{skill-QQAZL4VO.js → skill-2GOEKN34.js} +1 -1
  121. package/chunks/{skill-settings-P3YHJVBZ.js → skill-settings-5FEOMZQS.js} +8 -8
  122. package/chunks/{spawnChannel-UAQMH6Y6.js → spawnChannel-VJRIO75F.js} +6 -4
  123. package/chunks/{standalone-update-QP742MGP.js → standalone-update-OC5IKJGY.js} +5 -5
  124. package/chunks/{startInteractiveUI-YCS6AEPN.js → startInteractiveUI-HFHFI2ZR.js} +43 -42
  125. package/chunks/{team-create-WFH7OCDQ.js → team-create-ZWAXZR75.js} +3 -3
  126. package/chunks/{team-plan-approval-EGTT53MV.js → team-plan-approval-LH23GCUV.js} +3 -3
  127. package/chunks/{terminal-image-renderer-BWRESAQ7.js → terminal-image-renderer-7L3GCHD5.js} +3 -3
  128. package/chunks/{theme-manager-ZNDGAHJN.js → theme-manager-7WO6DXIT.js} +3 -3
  129. package/chunks/{tool-search-TI5PTIBF.js → tool-search-BZOZHGKI.js} +1 -1
  130. package/chunks/{total-session-admission-66UDSOHO.js → total-session-admission-KP4CJTSB.js} +5 -5
  131. package/chunks/{trustedFolders-4KYHA4IG.js → trustedFolders-57QEHV67.js} +4 -4
  132. package/chunks/{update-relaunch-WB6LGIF2.js → update-relaunch-53MODFE4.js} +5 -5
  133. package/chunks/{updateCheck-LOS5GYFC.js → updateCheck-4QDI7CUZ.js} +6 -6
  134. package/chunks/{useAutoAcceptIndicator-MHAPY52L.js → useAutoAcceptIndicator-VVQUPTM5.js} +9 -9
  135. package/chunks/{validateNonInterActiveAuth-QV22HNQU.js → validateNonInterActiveAuth-KKVD5E43.js} +30 -30
  136. package/chunks/{version-DALWZHKQ.js → version-IB5ASN63.js} +1 -1
  137. package/chunks/{web-fetch-JMJVMYFE.js → web-fetch-APSFQMIH.js} +1 -1
  138. package/chunks/{web-search-DNDUIPU5.js → web-search-EWEHMFIW.js} +2 -2
  139. package/chunks/{workflow-JGNN64PM.js → workflow-LA4ACRO4.js} +4 -4
  140. package/chunks/{workspace-providers-status-K22B3Z6B.js → workspace-providers-status-5C3HGWHF.js} +11 -11
  141. package/chunks/{workspace-registration-store-LRJG7QA4.js → workspace-registration-store-WSLHN7HA.js} +1 -1
  142. package/chunks/{workspace-registry-KVXIFM36.js → workspace-registry-5HXRV7L4.js} +5 -5
  143. package/chunks/{workspace-service-PO4AAKKT.js → workspace-service-SSP4PLBC.js} +12 -12
  144. package/chunks/{workspace-skills-status-DDYCBVSH.js → workspace-skills-status-DX7CA34S.js} +9 -9
  145. package/chunks/{workspace-trust-reconciler-DOZPCVHG.js → workspace-trust-reconciler-PASUNEKQ.js} +11 -11
  146. package/chunks/{write-file-TT6MWIKC.js → write-file-3N2WAE3F.js} +3 -3
  147. package/chunks/{zoom-image-CNC77ZMA.js → zoom-image-NAVVM4R2.js} +1 -1
  148. package/cli.js +12 -12
  149. package/package.json +3 -3
  150. package/web-shell/assets/{arc-CDk0d60K.js → arc-BGiARkbG.js} +1 -1
  151. package/web-shell/assets/{architectureDiagram-3BPJPVTR-h-W3I2lP.js → architectureDiagram-3BPJPVTR-3QBZDeqg.js} +1 -1
  152. package/web-shell/assets/{blockDiagram-GPEHLZMM-D1pvSmZg.js → blockDiagram-GPEHLZMM-CbJI0j0o.js} +1 -1
  153. package/web-shell/assets/{c4Diagram-AAUBKEIU-ByAm5ZNf.js → c4Diagram-AAUBKEIU-pita1IYy.js} +1 -1
  154. package/web-shell/assets/channel-3vYOf77E.js +1 -0
  155. package/web-shell/assets/{chunk-2J33WTMH-VrGPPOGV.js → chunk-2J33WTMH-WzTFww1i.js} +1 -1
  156. package/web-shell/assets/{chunk-4BX2VUAB-B7hTowgG.js → chunk-4BX2VUAB-8TIRo9bL.js} +1 -1
  157. package/web-shell/assets/{chunk-55IACEB6-j1Fq8DpE.js → chunk-55IACEB6-CuCr34qf.js} +1 -1
  158. package/web-shell/assets/{chunk-727SXJPM-UjABYpF2.js → chunk-727SXJPM-Bb_xWEAx.js} +1 -1
  159. package/web-shell/assets/{chunk-AQP2D5EJ-D4uBItrs.js → chunk-AQP2D5EJ-C8T1b2Qw.js} +1 -1
  160. package/web-shell/assets/{chunk-FMBD7UC4-DeFbKlb8.js → chunk-FMBD7UC4-kjpyMkNM.js} +1 -1
  161. package/web-shell/assets/{chunk-ND2GUHAM-rQJ8TIgT.js → chunk-ND2GUHAM-Dm35jDmi.js} +1 -1
  162. package/web-shell/assets/{chunk-QZHKN3VN-DAGcRxvq.js → chunk-QZHKN3VN-BPVKwuby.js} +1 -1
  163. package/web-shell/assets/classDiagram-4FO5ZUOK-Dr2aqxvr.js +1 -0
  164. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-Dr2aqxvr.js +1 -0
  165. package/web-shell/assets/{cose-bilkent-S5V4N54A-MaE7MJSt.js → cose-bilkent-S5V4N54A-M-7J9Xyz.js} +1 -1
  166. package/web-shell/assets/{dagre-BM42HDAG-DzijYGSb.js → dagre-BM42HDAG-u6rmS689.js} +1 -1
  167. package/web-shell/assets/{diagram-2AECGRRQ-WdbG7WnX.js → diagram-2AECGRRQ-nAisfOUB.js} +1 -1
  168. package/web-shell/assets/{diagram-5GNKFQAL-NYutsBnw.js → diagram-5GNKFQAL-CpobRd3l.js} +1 -1
  169. package/web-shell/assets/{diagram-KO2AKTUF-Dqg0eBY0.js → diagram-KO2AKTUF-B82W_wPq.js} +1 -1
  170. package/web-shell/assets/{diagram-LMA3HP47-C7vRP2Lb.js → diagram-LMA3HP47-ClTkmPW6.js} +1 -1
  171. package/web-shell/assets/{diagram-OG6HWLK6-B2sEPpPt.js → diagram-OG6HWLK6-42fbxGPW.js} +1 -1
  172. package/web-shell/assets/{erDiagram-TEJ5UH35-a4zIbzm8.js → erDiagram-TEJ5UH35-8_zQfzlQ.js} +1 -1
  173. package/web-shell/assets/{flowDiagram-I6XJVG4X-BK9y89ya.js → flowDiagram-I6XJVG4X-DQDoN_oV.js} +1 -1
  174. package/web-shell/assets/{ganttDiagram-6RSMTGT7-wUQTSNvV.js → ganttDiagram-6RSMTGT7-Cqd646fB.js} +1 -1
  175. package/web-shell/assets/{gitGraphDiagram-PVQCEYII-Dnzt4SAi.js → gitGraphDiagram-PVQCEYII-B6qWs_tS.js} +1 -1
  176. package/web-shell/assets/{index-BA3wUcKL.js → index-BCeQB_tk.js} +1 -1
  177. package/web-shell/assets/{index-QzFq6w7o.js → index-Dv9zBWC9.js} +341 -341
  178. package/web-shell/assets/{index-BjC3yjjL.css → index-eYjX7fQg.css} +1 -1
  179. package/web-shell/assets/{infoDiagram-5YYISTIA-DcaoToij.js → infoDiagram-5YYISTIA-BVyDAHuu.js} +1 -1
  180. package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-DzduqhP2.js → ishikawaDiagram-YF4QCWOH-BBHM904I.js} +1 -1
  181. package/web-shell/assets/{journeyDiagram-JHISSGLW-BvviZR_O.js → journeyDiagram-JHISSGLW-B5Bv5Z_0.js} +1 -1
  182. package/web-shell/assets/{kanban-definition-UN3LZRKU-Efm2JxY3.js → kanban-definition-UN3LZRKU-BwSTb0YF.js} +1 -1
  183. package/web-shell/assets/{linear-DtY3IbOs.js → linear-CHtTm36c.js} +1 -1
  184. package/web-shell/assets/{mermaid.core-PzpFqoMe.js → mermaid.core-vBCuAUkf.js} +5 -5
  185. package/web-shell/assets/{mindmap-definition-RKZ34NQL-BLlTkHS0.js → mindmap-definition-RKZ34NQL-CNfKHJrA.js} +1 -1
  186. package/web-shell/assets/{pieDiagram-4H26LBE5-D-mKF-jE.js → pieDiagram-4H26LBE5-DT6QMLhc.js} +1 -1
  187. package/web-shell/assets/{quadrantDiagram-W4KKPZXB-DYCzslGm.js → quadrantDiagram-W4KKPZXB-Rb2Dar4i.js} +1 -1
  188. package/web-shell/assets/{requirementDiagram-4Y6WPE33-Dfpxlk7R.js → requirementDiagram-4Y6WPE33-CA9YzPUY.js} +1 -1
  189. package/web-shell/assets/{sankeyDiagram-5OEKKPKP-D5cRaaxh.js → sankeyDiagram-5OEKKPKP-CJ5SkhJw.js} +1 -1
  190. package/web-shell/assets/{sequenceDiagram-3UESZ5HK-s04DReiS.js → sequenceDiagram-3UESZ5HK-T31AiuVM.js} +1 -1
  191. package/web-shell/assets/{stateDiagram-AJRCARHV-01UNFgnb.js → stateDiagram-AJRCARHV-f7Xpd_Xh.js} +1 -1
  192. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-wucbNzkr.js +1 -0
  193. package/web-shell/assets/{timeline-definition-PNZ67QCA-DX8_wZBC.js → timeline-definition-PNZ67QCA-dCwsTscr.js} +1 -1
  194. package/web-shell/assets/{vennDiagram-CIIHVFJN-BK0FlBme.js → vennDiagram-CIIHVFJN-SQtBFYkQ.js} +1 -1
  195. package/web-shell/assets/{wardley-L42UT6IY-DkPc9UlD.js → wardley-L42UT6IY-Dfh4eW0B.js} +1 -1
  196. package/web-shell/assets/{wardleyDiagram-YWT4CUSO-DNKkpDAo.js → wardleyDiagram-YWT4CUSO-BWBKXBsC.js} +1 -1
  197. package/web-shell/assets/{xychartDiagram-2RQKCTM6-CiPwg8QG.js → xychartDiagram-2RQKCTM6-DVqzcaxh.js} +1 -1
  198. package/web-shell/index.html +2 -2
  199. package/web-shell/assets/channel-DPFUV4oi.js +0 -1
  200. package/web-shell/assets/classDiagram-4FO5ZUOK-CLm0hVvw.js +0 -1
  201. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-CLm0hVvw.js +0 -1
  202. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-DXb5olqv.js +0 -1
@@ -25,31 +25,69 @@ import { getHeapStatistics } from "node:v8";
25
25
 
26
26
  // packages/acp-bridge/src/ndJsonStream.ts
27
27
  init_esbuild_shims();
28
- function ndJsonStream(output, input, hooks) {
28
+ import { createHash } from "node:crypto";
29
+ var NdJsonFrameTooLargeError = class extends Error {
30
+ constructor(direction, limitBytes, observedBytes) {
31
+ super(
32
+ `NDJSON ${direction} frame exceeds ${limitBytes} bytes (observed ${observedBytes} bytes)`
33
+ );
34
+ this.direction = direction;
35
+ this.limitBytes = limitBytes;
36
+ this.observedBytes = observedBytes;
37
+ this.name = "NdJsonFrameTooLargeError";
38
+ }
39
+ static {
40
+ __name(this, "NdJsonFrameTooLargeError");
41
+ }
42
+ code = "ndjson_frame_too_large";
43
+ };
44
+ var NdJsonQueueLimitError = class extends Error {
45
+ constructor(maxQueuedMessages, maxQueuedBytes, requiredBytes, availableBytes) {
46
+ super(
47
+ `NDJSON decoded queue is full (required ${requiredBytes} bytes, available ${availableBytes} bytes)`
48
+ );
49
+ this.maxQueuedMessages = maxQueuedMessages;
50
+ this.maxQueuedBytes = maxQueuedBytes;
51
+ this.requiredBytes = requiredBytes;
52
+ this.availableBytes = availableBytes;
53
+ this.name = "NdJsonQueueLimitError";
54
+ }
55
+ static {
56
+ __name(this, "NdJsonQueueLimitError");
57
+ }
58
+ code = "ndjson_queue_limit_exceeded";
59
+ };
60
+ var NdJsonIncompleteFrameError = class extends Error {
61
+ constructor(observedBytes) {
62
+ super(`NDJSON input ended with an incomplete ${observedBytes}-byte frame`);
63
+ this.observedBytes = observedBytes;
64
+ this.name = "NdJsonIncompleteFrameError";
65
+ }
66
+ static {
67
+ __name(this, "NdJsonIncompleteFrameError");
68
+ }
69
+ code = "ndjson_incomplete_frame";
70
+ };
71
+ function ndJsonStream(output, input, hooks, limits) {
29
72
  const textEncoder = new TextEncoder();
30
73
  const textDecoder = new TextDecoder();
31
- const readable = new ReadableStream({
32
- async start(controller) {
33
- const pending = [];
34
- const reader = input.getReader();
35
- try {
36
- while (true) {
37
- const { value, done } = await reader.read();
38
- if (done) break;
39
- if (!value) continue;
40
- readChunk(value, pending, controller, textDecoder, hooks);
41
- }
42
- } finally {
43
- reader.releaseLock();
44
- controller.close();
45
- }
46
- }
47
- });
74
+ if (limits) validateNdJsonStreamLimits(limits);
75
+ const readable = limits ? createBoundedReadable(input, textDecoder, hooks, limits) : createLegacyReadable(input, textDecoder, hooks);
48
76
  const writable = new WritableStream({
49
77
  async write(message) {
50
78
  const content = JSON.stringify(message);
51
79
  const payload = textEncoder.encode(content);
52
- const frame = new Uint8Array(payload.byteLength + 1);
80
+ const frameBytes = payload.byteLength + 1;
81
+ if (limits && frameBytes > limits.maxFrameBytes) {
82
+ const error = new NdJsonFrameTooLargeError(
83
+ "sent",
84
+ limits.maxFrameBytes,
85
+ frameBytes
86
+ );
87
+ callHook(hooks?.onTransportError, error);
88
+ throw error;
89
+ }
90
+ const frame = new Uint8Array(frameBytes);
53
91
  frame.set(payload);
54
92
  frame[payload.byteLength] = 10;
55
93
  const writer = output.getWriter();
@@ -61,6 +99,9 @@ function ndJsonStream(output, input, hooks) {
61
99
  bytes: payload.byteLength,
62
100
  message
63
101
  });
102
+ } catch (error) {
103
+ if (limits) callHook(hooks?.onTransportError, error);
104
+ throw error;
64
105
  } finally {
65
106
  writer.releaseLock();
66
107
  }
@@ -69,12 +110,110 @@ function ndJsonStream(output, input, hooks) {
69
110
  return { readable, writable };
70
111
  }
71
112
  __name(ndJsonStream, "ndJsonStream");
72
- function readChunk(chunk, pending, controller, textDecoder, hooks) {
113
+ function createLegacyReadable(input, textDecoder, hooks) {
114
+ return new ReadableStream({
115
+ async start(controller) {
116
+ const pending = [];
117
+ const reader = input.getReader();
118
+ try {
119
+ while (true) {
120
+ const { value, done } = await reader.read();
121
+ if (done) break;
122
+ if (!value) continue;
123
+ readLegacyChunk(value, pending, controller, textDecoder, hooks);
124
+ }
125
+ } finally {
126
+ reader.releaseLock();
127
+ controller.close();
128
+ }
129
+ }
130
+ });
131
+ }
132
+ __name(createLegacyReadable, "createLegacyReadable");
133
+ function createBoundedReadable(input, textDecoder, hooks, limits) {
134
+ const pending = new BoundedFrameBuffer(limits.maxFrameBytes);
135
+ const minimumQueueCharge = Math.ceil(
136
+ limits.maxQueuedBytes / limits.maxQueuedMessages
137
+ );
138
+ let nextQueueCharge = minimumQueueCharge;
139
+ let reader;
140
+ let canceled = false;
141
+ return new ReadableStream(
142
+ {
143
+ start(controller) {
144
+ reader = input.getReader();
145
+ void pumpBoundedInput(
146
+ reader,
147
+ pending,
148
+ controller,
149
+ textDecoder,
150
+ hooks,
151
+ limits,
152
+ minimumQueueCharge,
153
+ (charge) => {
154
+ nextQueueCharge = charge;
155
+ },
156
+ () => canceled
157
+ );
158
+ },
159
+ async cancel(reason) {
160
+ canceled = true;
161
+ pending.clear();
162
+ if (reader) await cancelReader(reader, reason);
163
+ }
164
+ },
165
+ {
166
+ highWaterMark: limits.maxQueuedBytes,
167
+ size: /* @__PURE__ */ __name(() => nextQueueCharge, "size")
168
+ }
169
+ );
170
+ }
171
+ __name(createBoundedReadable, "createBoundedReadable");
172
+ async function pumpBoundedInput(reader, pending, controller, textDecoder, hooks, limits, minimumQueueCharge, setNextQueueCharge, isCanceled) {
173
+ try {
174
+ while (true) {
175
+ const result = await reader.read();
176
+ if (result.done) {
177
+ if (isCanceled()) return;
178
+ if (pending.byteLength > 0) {
179
+ throw new NdJsonIncompleteFrameError(pending.byteLength);
180
+ }
181
+ controller.close();
182
+ return;
183
+ }
184
+ if (!result.value) continue;
185
+ readBoundedChunk(
186
+ result.value,
187
+ pending,
188
+ controller,
189
+ textDecoder,
190
+ hooks,
191
+ limits,
192
+ minimumQueueCharge,
193
+ setNextQueueCharge
194
+ );
195
+ }
196
+ } catch (error) {
197
+ if (isCanceled()) return;
198
+ pending.clear();
199
+ callHook(hooks?.onTransportError, error);
200
+ await cancelReader(reader, error);
201
+ if (!isCanceled()) controller.close();
202
+ } finally {
203
+ pending.clear();
204
+ reader.releaseLock();
205
+ }
206
+ }
207
+ __name(pumpBoundedInput, "pumpBoundedInput");
208
+ function readLegacyChunk(chunk, pending, controller, textDecoder, hooks) {
73
209
  let start = 0;
74
210
  let newline = chunk.indexOf(10, start);
75
211
  while (newline !== -1) {
76
- const lineBytes = takeLineBytes(pending, chunk.subarray(start, newline));
77
- handleLine(lineBytes, controller, textDecoder, hooks);
212
+ const lineBytes = takeLegacyLineBytes(
213
+ pending,
214
+ chunk.subarray(start, newline)
215
+ );
216
+ handleLegacyLine(lineBytes, controller, textDecoder, hooks);
78
217
  start = newline + 1;
79
218
  newline = chunk.indexOf(10, start);
80
219
  }
@@ -82,8 +221,39 @@ function readChunk(chunk, pending, controller, textDecoder, hooks) {
82
221
  pending.push(chunk.subarray(start));
83
222
  }
84
223
  }
85
- __name(readChunk, "readChunk");
86
- function takeLineBytes(pending, current) {
224
+ __name(readLegacyChunk, "readLegacyChunk");
225
+ function readBoundedChunk(chunk, pending, controller, textDecoder, hooks, limits, minimumQueueCharge, setNextQueueCharge) {
226
+ let start = 0;
227
+ let newline = chunk.indexOf(10, start);
228
+ while (newline !== -1) {
229
+ const current = chunk.subarray(start, newline);
230
+ const frameBytes = pending.byteLength + current.byteLength + 1;
231
+ assertFrameSize("received", limits.maxFrameBytes, frameBytes);
232
+ if (pending.isJsonWhitespaceLine(current)) {
233
+ pending.clear();
234
+ start = newline + 1;
235
+ newline = chunk.indexOf(10, start);
236
+ continue;
237
+ }
238
+ const queueCharge = Math.max(frameBytes, minimumQueueCharge);
239
+ const availableBytes = controller.desiredSize;
240
+ if (availableBytes === null || queueCharge > availableBytes) {
241
+ throw new NdJsonQueueLimitError(
242
+ limits.maxQueuedMessages,
243
+ limits.maxQueuedBytes,
244
+ queueCharge,
245
+ Math.max(0, availableBytes ?? 0)
246
+ );
247
+ }
248
+ setNextQueueCharge(queueCharge);
249
+ handleBoundedLine(pending.take(current), controller, textDecoder, hooks);
250
+ start = newline + 1;
251
+ newline = chunk.indexOf(10, start);
252
+ }
253
+ if (start < chunk.length) pending.append(chunk.subarray(start));
254
+ }
255
+ __name(readBoundedChunk, "readBoundedChunk");
256
+ function takeLegacyLineBytes(pending, current) {
87
257
  if (pending.length === 0) return current;
88
258
  const totalLength = pending.reduce((sum, part) => sum + part.byteLength, 0) + current.byteLength;
89
259
  const line = new Uint8Array(totalLength);
@@ -96,30 +266,82 @@ function takeLineBytes(pending, current) {
96
266
  pending.length = 0;
97
267
  return line;
98
268
  }
99
- __name(takeLineBytes, "takeLineBytes");
100
- function handleLine(lineBytes, controller, textDecoder, hooks) {
269
+ __name(takeLegacyLineBytes, "takeLegacyLineBytes");
270
+ function handleLegacyLine(lineBytes, controller, textDecoder, hooks) {
101
271
  const line = textDecoder.decode(lineBytes);
102
272
  const trimmedLine = line.trim();
103
273
  if (!trimmedLine) return;
104
274
  try {
105
275
  const message = JSON.parse(trimmedLine);
106
276
  controller.enqueue(message);
277
+ reportReceivedMessage(lineBytes, message, hooks);
278
+ } catch (err) {
279
+ console.error("Failed to parse JSON message:", trimmedLine, err);
280
+ }
281
+ }
282
+ __name(handleLegacyLine, "handleLegacyLine");
283
+ function handleBoundedLine(lineBytes, controller, textDecoder, hooks) {
284
+ const line = textDecoder.decode(lineBytes);
285
+ const trimmedLine = line.trim();
286
+ if (!trimmedLine) return;
287
+ let message;
288
+ try {
289
+ message = JSON.parse(trimmedLine);
290
+ } catch {
107
291
  const bytes = jsonPayloadByteLength(lineBytes);
108
- callHook(hooks?.onMessageReceived, bytes);
109
- callHook(hooks?.onMessageObserved, {
110
- direction: "received",
292
+ const digest = createHash("sha256").update(lineBytes.subarray(0, bytes)).digest("hex");
293
+ console.error("Failed to parse JSON message:", {
294
+ errorKind: "ndjson_parse_error",
111
295
  bytes,
112
- message
296
+ sha256: digest,
297
+ payloadOmitted: true
113
298
  });
114
- } catch (err) {
115
- console.error("Failed to parse JSON message:", trimmedLine, err);
299
+ return;
116
300
  }
301
+ controller.enqueue(message);
302
+ reportReceivedMessage(lineBytes, message, hooks);
303
+ }
304
+ __name(handleBoundedLine, "handleBoundedLine");
305
+ function reportReceivedMessage(lineBytes, message, hooks) {
306
+ const bytes = jsonPayloadByteLength(lineBytes);
307
+ callHook(hooks?.onMessageReceived, bytes);
308
+ callHook(hooks?.onMessageObserved, {
309
+ direction: "received",
310
+ bytes,
311
+ message
312
+ });
117
313
  }
118
- __name(handleLine, "handleLine");
314
+ __name(reportReceivedMessage, "reportReceivedMessage");
119
315
  function jsonPayloadByteLength(lineBytes) {
120
316
  return lineBytes[lineBytes.byteLength - 1] === 13 ? lineBytes.byteLength - 1 : lineBytes.byteLength;
121
317
  }
122
318
  __name(jsonPayloadByteLength, "jsonPayloadByteLength");
319
+ function validateNdJsonStreamLimits(limits) {
320
+ const values = [
321
+ ["maxFrameBytes", limits.maxFrameBytes],
322
+ ["maxQueuedMessages", limits.maxQueuedMessages],
323
+ ["maxQueuedBytes", limits.maxQueuedBytes]
324
+ ];
325
+ for (const [name, value] of values) {
326
+ if (!Number.isSafeInteger(value) || value <= 0) {
327
+ throw new RangeError(`${name} must be a positive safe integer`);
328
+ }
329
+ }
330
+ }
331
+ __name(validateNdJsonStreamLimits, "validateNdJsonStreamLimits");
332
+ function assertFrameSize(direction, limitBytes, observedBytes) {
333
+ if (observedBytes > limitBytes) {
334
+ throw new NdJsonFrameTooLargeError(direction, limitBytes, observedBytes);
335
+ }
336
+ }
337
+ __name(assertFrameSize, "assertFrameSize");
338
+ async function cancelReader(reader, reason) {
339
+ try {
340
+ await reader.cancel(reason);
341
+ } catch {
342
+ }
343
+ }
344
+ __name(cancelReader, "cancelReader");
123
345
  function callHook(hook, value) {
124
346
  try {
125
347
  hook?.(value);
@@ -127,6 +349,62 @@ function callHook(hook, value) {
127
349
  }
128
350
  }
129
351
  __name(callHook, "callHook");
352
+ var BoundedFrameBuffer = class {
353
+ constructor(maxFrameBytes) {
354
+ this.maxFrameBytes = maxFrameBytes;
355
+ }
356
+ static {
357
+ __name(this, "BoundedFrameBuffer");
358
+ }
359
+ buffer;
360
+ length = 0;
361
+ get byteLength() {
362
+ return this.length;
363
+ }
364
+ append(bytes) {
365
+ const requiredBytes = this.length + bytes.byteLength;
366
+ assertFrameSize("received", this.maxFrameBytes, requiredBytes);
367
+ if (requiredBytes === 0) return;
368
+ if (!this.buffer || this.buffer.byteLength < requiredBytes) {
369
+ const doubledCapacity = Math.min(
370
+ this.maxFrameBytes,
371
+ Math.max(1024, (this.buffer?.byteLength ?? 0) * 2)
372
+ );
373
+ const next = new Uint8Array(Math.max(requiredBytes, doubledCapacity));
374
+ if (this.buffer) next.set(this.buffer.subarray(0, this.length));
375
+ this.buffer = next;
376
+ }
377
+ this.buffer.set(bytes, this.length);
378
+ this.length = requiredBytes;
379
+ }
380
+ take(current) {
381
+ if (this.length === 0) return current;
382
+ const line = new Uint8Array(this.length + current.byteLength);
383
+ line.set(this.buffer.subarray(0, this.length));
384
+ line.set(current, this.length);
385
+ this.clear();
386
+ return line;
387
+ }
388
+ isJsonWhitespaceLine(current) {
389
+ if (this.buffer) {
390
+ for (let index = 0; index < this.length; index++) {
391
+ if (!isJsonWhitespaceByte(this.buffer[index])) return false;
392
+ }
393
+ }
394
+ for (const byte of current) {
395
+ if (!isJsonWhitespaceByte(byte)) return false;
396
+ }
397
+ return true;
398
+ }
399
+ clear() {
400
+ this.buffer = void 0;
401
+ this.length = 0;
402
+ }
403
+ };
404
+ function isJsonWhitespaceByte(byte) {
405
+ return byte === 32 || byte === 9 || byte === 13;
406
+ }
407
+ __name(isJsonWhitespaceByte, "isJsonWhitespaceByte");
130
408
 
131
409
  // packages/acp-bridge/src/process-registry.ts
132
410
  init_esbuild_shims();
@@ -283,6 +561,11 @@ var TrackedChild = class {
283
561
 
284
562
  // packages/acp-bridge/src/spawnChannel.ts
285
563
  var cachedMemoryArgs;
564
+ var DAEMON_ACP_NDJSON_LIMITS = Object.freeze({
565
+ maxFrameBytes: 64 * 1024 * 1024,
566
+ maxQueuedMessages: 256,
567
+ maxQueuedBytes: 64 * 1024 * 1024
568
+ });
286
569
  function getAcpMemoryArgs() {
287
570
  if (cachedMemoryArgs) return cachedMemoryArgs;
288
571
  const constrainedMemory = process.constrainedMemory;
@@ -334,6 +617,7 @@ function createStderrForwarder(opts) {
334
617
  }
335
618
  __name(createStderrForwarder, "createStderrForwarder");
336
619
  function createSpawnChannelFactory(options = {}) {
620
+ if (options.pipeLimits) validateNdJsonStreamLimits(options.pipeLimits);
337
621
  const processRegistry = options.processRegistry ?? new ProcessRegistry();
338
622
  return async (workspaceCwd, childEnvOverrides) => {
339
623
  const sourceEnv = options.sourceEnv ?? process.env;
@@ -396,7 +680,20 @@ function createSpawnChannelFactory(options = {}) {
396
680
  }
397
681
  const writable = Writable.toWeb(child.stdin);
398
682
  const readable = Readable.toWeb(child.stdout);
399
- const stream = ndJsonStream(writable, readable, options.pipeHooks);
683
+ const pipeHooks = options.pipeLimits ? {
684
+ ...options.pipeHooks,
685
+ onTransportError: /* @__PURE__ */ __name((error) => {
686
+ void trackedChild.terminate().catch(() => {
687
+ });
688
+ options.pipeHooks?.onTransportError?.(error);
689
+ }, "onTransportError")
690
+ } : options.pipeHooks;
691
+ const stream = ndJsonStream(
692
+ writable,
693
+ readable,
694
+ pipeHooks,
695
+ options.pipeLimits
696
+ );
400
697
  return {
401
698
  stream,
402
699
  kill: /* @__PURE__ */ __name(() => trackedChild.terminate(), "kill"),
@@ -433,6 +730,7 @@ __name(scrubChildEnv, "scrubChildEnv");
433
730
 
434
731
  export {
435
732
  ndJsonStream,
733
+ DAEMON_ACP_NDJSON_LIMITS,
436
734
  getAcpMemoryArgs,
437
735
  createStderrForwarder,
438
736
  createSpawnChannelFactory,
@@ -5,7 +5,7 @@ import {
5
5
  isTranscribableVoiceModel,
6
6
  readVoiceLanguage,
7
7
  resolveVoiceTransport
8
- } from "./chunk-EBZ6BJTF.js";
8
+ } from "./chunk-UXV3DYVT.js";
9
9
  import {
10
10
  resolvePath
11
11
  } from "./chunk-AOHJKPKL.js";
@@ -3,7 +3,7 @@
3
3
  import {
4
4
  JsonFormatter,
5
5
  parseAndFormatApiError
6
- } from "./chunk-EI3NWELG.js";
6
+ } from "./chunk-O3VWAZLP.js";
7
7
  import {
8
8
  FatalBudgetExceededError,
9
9
  FatalCancellationError,
@@ -12,7 +12,7 @@ import {
12
12
  } from "./chunk-OIVKILPI.js";
13
13
  import {
14
14
  runExitCleanup
15
- } from "./chunk-AAE6SR4Q.js";
15
+ } from "./chunk-6WIKTX4C.js";
16
16
  import {
17
17
  writeStderrLine
18
18
  } from "./chunk-KGJGEEVR.js";
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  t
5
- } from "./chunk-UEOKWYGY.js";
5
+ } from "./chunk-KHLBIO6M.js";
6
6
  import {
7
7
  createDebugLogger
8
8
  } from "./chunk-OIVKILPI.js";
@@ -5,12 +5,12 @@ import {
5
5
  } from "./chunk-4NFY2S7N.js";
6
6
  import {
7
7
  t
8
- } from "./chunk-UEOKWYGY.js";
8
+ } from "./chunk-KHLBIO6M.js";
9
9
  import {
10
10
  fetchGitDiff,
11
11
  findProviderByCredentials,
12
12
  resolveMetadataKey
13
- } from "./chunk-EI3NWELG.js";
13
+ } from "./chunk-O3VWAZLP.js";
14
14
  import {
15
15
  init_esbuild_shims
16
16
  } from "./chunk-5O2XNYP6.js";
@@ -11,7 +11,7 @@ import {
11
11
  DEFAULT_TOOL_RESULTS_TOTAL_CHARS_THRESHOLD,
12
12
  DEFAULT_TRUNCATE_TOOL_OUTPUT_LINES,
13
13
  DEFAULT_TRUNCATE_TOOL_OUTPUT_THRESHOLD
14
- } from "./chunk-EI3NWELG.js";
14
+ } from "./chunk-O3VWAZLP.js";
15
15
  import {
16
16
  DEFAULT_QWEN_CUSTOM_IGNORE_FILE_NAMES
17
17
  } from "./chunk-EQL65XGA.js";
@@ -2,13 +2,13 @@
2
2
  "use strict";
3
3
  import {
4
4
  loadSettings
5
- } from "./chunk-ABVRJU3D.js";
5
+ } from "./chunk-SVY7G3WS.js";
6
6
  import {
7
7
  getCurrentLanguage
8
- } from "./chunk-UEOKWYGY.js";
8
+ } from "./chunk-KHLBIO6M.js";
9
9
  import {
10
10
  isWorkspaceTrusted
11
- } from "./chunk-GWVUR3QZ.js";
11
+ } from "./chunk-P6RBCBBE.js";
12
12
  import {
13
13
  require_strip_json_comments
14
14
  } from "./chunk-NPQ5ZKRP.js";
@@ -23,7 +23,7 @@ import {
23
23
  isGatedMcpScope,
24
24
  normalizeClaudeMcpServer,
25
25
  runWithTimeout
26
- } from "./chunk-EI3NWELG.js";
26
+ } from "./chunk-O3VWAZLP.js";
27
27
  import {
28
28
  atomicWriteFile
29
29
  } from "./chunk-FOGU3LJX.js";
@@ -3,13 +3,13 @@
3
3
  import {
4
4
  resolveModelConfig,
5
5
  resolveProviderProtocol
6
- } from "./chunk-EI3NWELG.js";
6
+ } from "./chunk-O3VWAZLP.js";
7
7
  import {
8
8
  external_exports
9
9
  } from "./chunk-H6XPXXMH.js";
10
10
  import {
11
11
  stripRuntimeSnapshotPrefix
12
- } from "./chunk-TRRF5BSP.js";
12
+ } from "./chunk-TCRQD7F6.js";
13
13
  import {
14
14
  REASONING_EFFORT_TIERS,
15
15
  normalizeReasoningEffort
@@ -17,7 +17,7 @@ import {
17
17
  import {
18
18
  AuthType,
19
19
  MODEL_GENERATION_CONFIG_FIELDS
20
- } from "./chunk-Y4R47ZUH.js";
20
+ } from "./chunk-3WOZVMGJ.js";
21
21
  import {
22
22
  init_esbuild_shims
23
23
  } from "./chunk-5O2XNYP6.js";
@@ -15,7 +15,7 @@ import {
15
15
  estimateCompactToolGroupHeight,
16
16
  isCollapsibleTool,
17
17
  wrapAnsi
18
- } from "./chunk-IWTMYQ32.js";
18
+ } from "./chunk-PIA35YOG.js";
19
19
  import {
20
20
  disableMouseEvents,
21
21
  enableMouseEvents,
@@ -28,7 +28,7 @@ import {
28
28
  getCommandSourceBadge,
29
29
  getCommandSourceGroup,
30
30
  getCommandSubcommandNames
31
- } from "./chunk-QG3FFJYU.js";
31
+ } from "./chunk-CQGGDOR5.js";
32
32
  import {
33
33
  INLINE_CODE_SPAN_PATTERN_SOURCE,
34
34
  calculateAverageLatency,
@@ -43,7 +43,7 @@ import {
43
43
  readInlineMathSpanAt,
44
44
  unescapeMarkdownBeforeMath,
45
45
  unescapeMarkdownDollars
46
- } from "./chunk-YWPSGJFI.js";
46
+ } from "./chunk-HDHLWOG5.js";
47
47
  import {
48
48
  MINIMUM_MAX_HEIGHT,
49
49
  MaxSizedBox
@@ -82,10 +82,10 @@ import {
82
82
  } from "./chunk-PJRW65JO.js";
83
83
  import {
84
84
  relaunchApp
85
- } from "./chunk-KONVMRK7.js";
85
+ } from "./chunk-7OFX3YZW.js";
86
86
  import {
87
87
  getErrorMessage
88
- } from "./chunk-DCZEPFB4.js";
88
+ } from "./chunk-FTO3P6PZ.js";
89
89
  import {
90
90
  cpLen,
91
91
  cpSlice,
@@ -116,18 +116,18 @@ import {
116
116
  } from "./chunk-57OAHC2Y.js";
117
117
  import {
118
118
  createLoadedSettingsAdapter
119
- } from "./chunk-4WL6SY4F.js";
119
+ } from "./chunk-T3FNRMFJ.js";
120
120
  import {
121
121
  getPersistScopeForModelSelection
122
- } from "./chunk-ABVRJU3D.js";
122
+ } from "./chunk-SVY7G3WS.js";
123
123
  import {
124
124
  getCurrentLanguage,
125
125
  localizeToolDisplayName,
126
126
  t
127
- } from "./chunk-UEOKWYGY.js";
127
+ } from "./chunk-KHLBIO6M.js";
128
128
  import {
129
129
  isWorkspaceTrusted
130
- } from "./chunk-GWVUR3QZ.js";
130
+ } from "./chunk-P6RBCBBE.js";
131
131
  import {
132
132
  ALL_PROVIDERS,
133
133
  IdeClient,
@@ -150,7 +150,7 @@ import {
150
150
  resolveBaseUrl,
151
151
  resolveMetadataKey,
152
152
  resolveOwnsModel
153
- } from "./chunk-EI3NWELG.js";
153
+ } from "./chunk-O3VWAZLP.js";
154
154
  import {
155
155
  stripAnsi
156
156
  } from "./chunk-TWPJO254.js";
@@ -5,7 +5,7 @@ import {
5
5
  } from "./chunk-5EJZE3FP.js";
6
6
  import {
7
7
  resolveBundleDir
8
- } from "./chunk-EI3NWELG.js";
8
+ } from "./chunk-O3VWAZLP.js";
9
9
  import {
10
10
  Storage
11
11
  } from "./chunk-OIVKILPI.js";
@@ -7,19 +7,19 @@ import {
7
7
  parseAcpBaseModelId,
8
8
  resolveCliGenerationConfig,
9
9
  sanitizeProviderBaseUrl
10
- } from "./chunk-2PLNY5TN.js";
10
+ } from "./chunk-I7XTOGIS.js";
11
11
  import {
12
12
  snapshotProcessEnv
13
- } from "./chunk-P3BJLFSZ.js";
13
+ } from "./chunk-MTE6R5HF.js";
14
14
  import {
15
15
  STATUS_SCHEMA_VERSION
16
16
  } from "./chunk-DA4HRSBW.js";
17
17
  import {
18
18
  loadSettings
19
- } from "./chunk-ABVRJU3D.js";
19
+ } from "./chunk-SVY7G3WS.js";
20
20
  import {
21
21
  ModelsConfig
22
- } from "./chunk-EI3NWELG.js";
22
+ } from "./chunk-O3VWAZLP.js";
23
23
  import {
24
24
  APPROVAL_MODES
25
25
  } from "./chunk-WAUGQKUU.js";
@@ -5,7 +5,7 @@ import {
5
5
  } from "./chunk-DA4HRSBW.js";
6
6
  import {
7
7
  formatMemoryUsage
8
- } from "./chunk-EI3NWELG.js";
8
+ } from "./chunk-O3VWAZLP.js";
9
9
  import {
10
10
  detectRuntime,
11
11
  redactProxyCredentials