@qwen-code/qwen-code 0.19.6-nightly.20260707.bcdb44c5d → 0.19.6-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 (210) hide show
  1. package/bundled/qc-helper/docs/features/channels/_meta.ts +1 -0
  2. package/bundled/qc-helper/docs/features/channels/overview.md +17 -9
  3. package/bundled/qc-helper/docs/features/channels/wecom.md +111 -0
  4. package/bundled/qc-helper/docs/features/code-review.md +0 -4
  5. package/bundled/review/DESIGN.md +0 -4
  6. package/bundled/review/SKILL.md +2 -29
  7. package/chunks/{MaxSizedBox-EFDCCPYQ.js → MaxSizedBox-2JOX4MMR.js} +11 -9
  8. package/chunks/{StandaloneSessionPicker-5TQG34MY.js → StandaloneSessionPicker-Z2G37ETA.js} +24 -21
  9. package/chunks/{acpAgent-KQT52XWB.js → acpAgent-MQJT2H4Y.js} +74 -49
  10. package/chunks/{agent-RL2YOM2V.js → agent-HEVJ76EO.js} +6 -6
  11. package/chunks/{agent-headless-SCVFLRZ3.js → agent-headless-UNB5SWYC.js} +6 -6
  12. package/chunks/{anthropicContentGenerator-PPPLABT5.js → anthropicContentGenerator-AKYPSZIV.js} +3 -3
  13. package/chunks/{artifact-tool-H2TNPNP5.js → artifact-tool-D233YJFH.js} +25 -6
  14. package/chunks/{bridge-G3LFYH2D.js → bridge-GX2LGQDS.js} +11 -9
  15. package/chunks/{channel-worker-supervisor-B7MSMB5K.js → channel-worker-supervisor-CRCVYQIE.js} +1 -1
  16. package/chunks/{chunk-XUYYEFCM.js → chunk-27QGW3BK.js} +5 -5
  17. package/chunks/{chunk-HLJMZYTD.js → chunk-2D5Q33PT.js} +3 -3
  18. package/chunks/{chunk-TNIZ2HCQ.js → chunk-2MDHTI6A.js} +2 -2
  19. package/chunks/{chunk-VCKMHAEZ.js → chunk-2MJAXDFK.js} +6 -6
  20. package/chunks/{chunk-WSVZFWN4.js → chunk-2NPS2UDH.js} +305 -97
  21. package/chunks/{chunk-WAVK7GV6.js → chunk-2X3ZVAAT.js} +2 -2
  22. package/chunks/chunk-332PWN27.js +19 -0
  23. package/chunks/{chunk-FVMWEHWU.js → chunk-3B26UVCX.js} +114 -12
  24. package/chunks/{chunk-XZ2LJL4O.js → chunk-43W4YSO6.js} +1 -12
  25. package/chunks/{chunk-DLHOIROF.js → chunk-44NROQYV.js} +4 -2
  26. package/chunks/{chunk-65P5ZXUE.js → chunk-4XV2MRNK.js} +1 -1
  27. package/chunks/{chunk-DS6NG7SB.js → chunk-5HMMLTUD.js} +11 -11
  28. package/chunks/{chunk-A2CS67WK.js → chunk-5IGNZP2J.js} +1 -1
  29. package/chunks/{chunk-N7BUPX4V.js → chunk-6GHEZDDX.js} +1 -1
  30. package/chunks/{chunk-QU6OLW25.js → chunk-7O6DD2ES.js} +1 -1
  31. package/chunks/{chunk-RXDYWLOG.js → chunk-7R62CLMI.js} +4 -4
  32. package/chunks/{chunk-2BJWUJCW.js → chunk-7SAH6M3Y.js} +3 -3
  33. package/chunks/{chunk-OGAC66WF.js → chunk-7VCI24VZ.js} +4 -107
  34. package/chunks/chunk-A2X3KLC3.js +3807 -0
  35. package/chunks/chunk-A3ZQMFO6.js +949 -0
  36. package/chunks/{chunk-AY7CP32Q.js → chunk-A7UKINBT.js} +7 -7
  37. package/chunks/{chunk-72DDO73Z.js → chunk-ADO6IDOZ.js} +8 -8
  38. package/chunks/{chunk-UOGOM4NJ.js → chunk-AJ3CEJRJ.js} +10 -5
  39. package/chunks/{chunk-NCFY7PWS.js → chunk-CCGOFQV3.js} +51 -2
  40. package/chunks/{chunk-YFE4YEDW.js → chunk-DB7CZERZ.js} +1 -1
  41. package/chunks/{chunk-UECJ7AG2.js → chunk-DF74IL3R.js} +4 -4
  42. package/chunks/{chunk-7YLLBKDB.js → chunk-FCEHOKYP.js} +5 -5
  43. package/chunks/{chunk-JO6RDLLE.js → chunk-FRR5I3SQ.js} +1 -1
  44. package/chunks/{chunk-2NL7ED5Q.js → chunk-FV7425LN.js} +22 -1
  45. package/chunks/{chunk-NCOLCOA6.js → chunk-GPLKAQUX.js} +8 -8
  46. package/chunks/{chunk-AKGA72ZM.js → chunk-GV2S4F6Q.js} +5 -3
  47. package/chunks/{chunk-V63Q7BVE.js → chunk-GW67O5SO.js} +1 -1
  48. package/chunks/{chunk-2A6XOMBQ.js → chunk-HW4N45EE.js} +0 -44
  49. package/chunks/{chunk-S6PM5JQZ.js → chunk-IFDJAMJW.js} +484 -1222
  50. package/chunks/{chunk-B2FUQ22Z.js → chunk-ILFQAFWH.js} +1 -1
  51. package/chunks/chunk-JYFZFWSL.js +167 -0
  52. package/chunks/{chunk-CA373SPN.js → chunk-K56RTEBN.js} +1 -1
  53. package/chunks/chunk-LGFAYIKX.js +115 -0
  54. package/chunks/{chunk-6JESGXWU.js → chunk-LLTFLVFK.js} +4 -4
  55. package/chunks/{chunk-3A4MUHRP.js → chunk-MZWODTEA.js} +5 -13
  56. package/chunks/{chunk-IPKM25FZ.js → chunk-N33JAGJ7.js} +505 -62
  57. package/chunks/{chunk-B2NCNYBK.js → chunk-NVQVIJMO.js} +112 -42
  58. package/chunks/{chunk-INNPK6XG.js → chunk-O6T7PBUM.js} +30 -6
  59. package/chunks/{chunk-RN36CE4M.js → chunk-P452E6XF.js} +2 -2
  60. package/chunks/chunk-PS2NG7KU.js +262 -0
  61. package/chunks/{chunk-FTEFJT6V.js → chunk-QM4FKX7H.js} +2 -2
  62. package/chunks/chunk-RODQXLGZ.js +28 -0
  63. package/chunks/{chunk-KSPVDFE4.js → chunk-SAIILPQ3.js} +0 -3
  64. package/chunks/{chunk-EKDTGEX4.js → chunk-SJ3QRPN2.js} +14 -8
  65. package/chunks/{chunk-R57UD732.js → chunk-SKO6VJHG.js} +16 -4
  66. package/chunks/{chunk-66KNL43D.js → chunk-TBAZMRW3.js} +1 -1
  67. package/chunks/{chunk-H2UZO2II.js → chunk-TPTG52XG.js} +1 -1
  68. package/chunks/chunk-UIDXQNMV.js +13 -0
  69. package/chunks/chunk-VP2FB7OC.js +8223 -0
  70. package/chunks/{chunk-32KIF557.js → chunk-WKBA74DD.js} +1 -1
  71. package/chunks/{chunk-IEFMDFCG.js → chunk-WKTLDGD6.js} +1 -1
  72. package/chunks/{chunk-HT553O4R.js → chunk-WRLMLPWI.js} +3 -3
  73. package/chunks/{chunk-CYXPEKVN.js → chunk-XXICIIS5.js} +5 -5
  74. package/chunks/{chunk-5GSUPP7K.js → chunk-Y3QQV7WE.js} +2 -2
  75. package/chunks/{chunk-CKBRK552.js → chunk-ZKX7IBXU.js} +4 -4
  76. package/chunks/{chunk-CCPKBMZ4.js → chunk-ZOSL7K3L.js} +203 -38
  77. package/chunks/{chunk-KD4KV6XW.js → chunk-ZWFS7YCB.js} +4505 -3850
  78. package/chunks/{computer-use-NKJX6RTG.js → computer-use-IQ46C3YP.js} +6 -6
  79. package/chunks/{contextCommand-BCABFW4A.js → contextCommand-TTT6AP2W.js} +10 -9
  80. package/chunks/{cron-create-DDYU4DIR.js → cron-create-JSXEIPVS.js} +1 -1
  81. package/chunks/{cron-delete-DFKOUZWN.js → cron-delete-OIFVEPGU.js} +1 -1
  82. package/chunks/{cron-list-ME5QGAR5.js → cron-list-D4ZX4IOE.js} +1 -1
  83. package/chunks/{daemon-XWG2EGFX.js → daemon-F3I2RXP6.js} +23 -3
  84. package/chunks/{daemon-status-provider-V7BMA4EH.js → daemon-status-provider-5GAWK65R.js} +13 -12
  85. package/chunks/dist-573HNSVO.js +3217 -0
  86. package/chunks/{dist-VHBP2PIG.js → dist-FQ5WRJPL.js} +2 -2
  87. package/chunks/{dist-LPVU3L2M.js → dist-IMFFBMAT.js} +6 -3792
  88. package/chunks/{dist-7GU63KI5.js → dist-OT7G2WNM.js} +1 -1
  89. package/chunks/{dist-H4HHZYCI.js → dist-PKFTNUHO.js} +2 -2
  90. package/chunks/{dist-3UDX5T4T.js → dist-YTRKAVUB.js} +1 -1
  91. package/chunks/{earlyInputCapture-TVECMHWI.js → earlyInputCapture-LAGZUGGV.js} +6 -6
  92. package/chunks/{edit-VKUCEX2N.js → edit-Q5BUQC2S.js} +6 -6
  93. package/chunks/{en-AXARKOWO.js → en-GA2RMXY5.js} +5 -1
  94. package/chunks/{enter-worktree-TF6N7GA7.js → enter-worktree-DC4FHMVF.js} +6 -6
  95. package/chunks/{enterPlanMode-XXQGZP5T.js → enterPlanMode-5BGJBWIY.js} +6 -6
  96. package/chunks/{errors-LLC2B5D6.js → errors-EGX5DECS.js} +8 -8
  97. package/chunks/{exit-worktree-YBOMMZLI.js → exit-worktree-2EOSZNZI.js} +6 -6
  98. package/chunks/{exitPlanMode-74D7EOBH.js → exitPlanMode-JAQ35ELJ.js} +6 -6
  99. package/chunks/{fast-path-OGY4P74O.js → fast-path-QEWDA6O6.js} +5 -2
  100. package/chunks/{fr-MBMNQSQ6.js → fr-GWNQG4XH.js} +4 -0
  101. package/chunks/{gemini-IL6H4VNW.js → gemini-TQ5XANRS.js} +64 -187
  102. package/chunks/{geminiContentGenerator-O7OCAUQU.js → geminiContentGenerator-DCM2XGDQ.js} +1 -1
  103. package/chunks/{glob-X5XFJTAC.js → glob-7JLTQ4IQ.js} +6 -6
  104. package/chunks/{grep-53GLRSNS.js → grep-CAUXEO7Q.js} +6 -6
  105. package/chunks/handleAutoUpdate-XKXULZQX.js +65 -0
  106. package/chunks/{initializer-YBUEYP6D.js → initializer-3NRWU5JV.js} +12 -10
  107. package/chunks/{ja-HFV5QCHR.js → ja-2HOTA47X.js} +4 -0
  108. package/chunks/{list-2F3FSN46.js → list-NWO6QBDQ.js} +12 -12
  109. package/chunks/{loadedSettingsAdapter-AJBE627U.js → loadedSettingsAdapter-PJ77LGFS.js} +10 -10
  110. package/chunks/{loop-wakeup-ZW5P6VPY.js → loop-wakeup-OHWEMFP5.js} +2 -2
  111. package/chunks/{mcp-SEE2Z7TA.js → mcp-VFEHVF5A.js} +10 -10
  112. package/chunks/{monitor-YQW2M3DL.js → monitor-FY2ITVSC.js} +14 -9
  113. package/chunks/{nonInteractiveCli-TGWJDY47.js → nonInteractiveCli-KPCXTVWY.js} +41 -36
  114. package/chunks/{notebook-edit-O5G3EBYN.js → notebook-edit-BSJMXIWX.js} +6 -6
  115. package/chunks/{openaiContentGenerator-WAO7PPR6.js → openaiContentGenerator-BA6NWY4S.js} +5 -5
  116. package/chunks/{pidfile-XMDB2SF7.js → pidfile-WXMRN6QF.js} +6 -6
  117. package/chunks/{qwenContentGenerator-5NZ5EHRA.js → qwenContentGenerator-U4ZSLGFN.js} +8 -8
  118. package/chunks/{read-file-KJTMBLFF.js → read-file-VMVHNOMA.js} +2 -2
  119. package/chunks/{ripGrep-BCDYVQQR.js → ripGrep-NC6MUWXN.js} +6 -6
  120. package/chunks/{run-qwen-serve-LIWM3CMV.js → run-qwen-serve-NQH6LQTH.js} +124 -31
  121. package/chunks/{scheduler-VETDW3HX.js → scheduler-35T3E2UQ.js} +6 -6
  122. package/chunks/{serve-XKFTUZET.js → serve-C36LOB5N.js} +10 -10
  123. package/chunks/{server-W64GXOEJ.js → server-TDFPIDC3.js} +858 -105
  124. package/chunks/{session-GXNRZGVF.js → session-STHNQGRJ.js} +42 -37
  125. package/chunks/{settings-TIQCDHBZ.js → settings-GIE22AYF.js} +9 -9
  126. package/chunks/{shell-3ZZLLA35.js → shell-JD52AIMU.js} +6 -6
  127. package/chunks/{skill-TOX5QGBX.js → skill-L4IFKRQ5.js} +14 -4
  128. package/chunks/{spawnChannel-JBLAIP7L.js → spawnChannel-HGMOEPM7.js} +8 -8
  129. package/chunks/{src-Q7BIRWUP.js → src-3SNF3G3V.js} +15 -7
  130. package/chunks/{startInteractiveUI-PP72WI64.js → startInteractiveUI-C7DCDHGF.js} +4981 -13173
  131. package/chunks/{team-create-S44Z3N62.js → team-create-NYL7KAMA.js} +6 -6
  132. package/chunks/{team-plan-approval-2YPLSLO5.js → team-plan-approval-LH65JBEH.js} +6 -6
  133. package/chunks/{theme-manager-4MJVYHPB.js → theme-manager-ANKQO5DR.js} +6 -6
  134. package/chunks/{tool-search-4LSRQ24Z.js → tool-search-WZEGJFO4.js} +4 -21
  135. package/chunks/{trustedFolders-XMKLRQDH.js → trustedFolders-HECAG3S3.js} +7 -7
  136. package/chunks/updateCheck-72BBAE5V.js +65 -0
  137. package/chunks/{validateNonInterActiveAuth-MMMRF6WS.js → validateNonInterActiveAuth-PDQCPSNA.js} +38 -33
  138. package/chunks/{version-6HMEMR4K.js → version-VSEUTPNM.js} +2 -1
  139. package/chunks/{workflow-VYBLLOLC.js → workflow-DPF2CL7U.js} +7 -7
  140. package/chunks/{workspace-providers-status-5LSCQPWQ.js → workspace-providers-status-TQ23DQ2D.js} +12 -12
  141. package/chunks/{workspace-service-HBMBWJ4K.js → workspace-service-D34UDMEY.js} +14 -14
  142. package/chunks/{workspace-skills-status-TLBAQWKQ.js → workspace-skills-status-4DR5UNNC.js} +11 -11
  143. package/chunks/{write-file-QMAWLWCT.js → write-file-VFNAKGYM.js} +6 -6
  144. package/chunks/{zh-RS3HZHFH.js → zh-7XVVRTDH.js} +5 -1
  145. package/chunks/{zh-TW-L5GRQ4S4.js → zh-TW-DPH554OG.js} +5 -1
  146. package/cli.js +11 -11
  147. package/locales/en.js +8 -2
  148. package/locales/fr.js +6 -0
  149. package/locales/ja.js +6 -0
  150. package/locales/zh-TW.js +8 -2
  151. package/locales/zh.js +8 -2
  152. package/node_modules/@qwen-code/audio-capture/package.json +1 -1
  153. package/node_modules/@qwen-code/audio-capture/prebuilds/darwin-arm64/@qwen-code+audio-capture.node +0 -0
  154. package/node_modules/@qwen-code/audio-capture/prebuilds/darwin-x64/@qwen-code+audio-capture.node +0 -0
  155. package/node_modules/@qwen-code/audio-capture/prebuilds/win32-x64/@qwen-code+audio-capture.node +0 -0
  156. package/package.json +3 -3
  157. package/web-shell/assets/{arc-CqwzD3ok.js → arc-C7hjaa7g.js} +1 -1
  158. package/web-shell/assets/{architectureDiagram-3BPJPVTR-BfA-P0-O.js → architectureDiagram-3BPJPVTR-pm9KtMZY.js} +1 -1
  159. package/web-shell/assets/{blockDiagram-GPEHLZMM-DNTzkXRp.js → blockDiagram-GPEHLZMM-CApElKsU.js} +1 -1
  160. package/web-shell/assets/{c4Diagram-AAUBKEIU-D5axQoXQ.js → c4Diagram-AAUBKEIU-BeDe0-9N.js} +1 -1
  161. package/web-shell/assets/channel-BNf1dW-j.js +1 -0
  162. package/web-shell/assets/{chunk-2J33WTMH-CV0P48eN.js → chunk-2J33WTMH-DJEkmLdl.js} +1 -1
  163. package/web-shell/assets/{chunk-4BX2VUAB-CghJNPCS.js → chunk-4BX2VUAB-DXX8gdpe.js} +1 -1
  164. package/web-shell/assets/{chunk-55IACEB6-BrD-776x.js → chunk-55IACEB6-DORmk1kQ.js} +1 -1
  165. package/web-shell/assets/{chunk-727SXJPM-DLKkI5Yu.js → chunk-727SXJPM-DWmO4mCZ.js} +1 -1
  166. package/web-shell/assets/{chunk-AQP2D5EJ-C0HWhZNK.js → chunk-AQP2D5EJ-C7LRaYw2.js} +1 -1
  167. package/web-shell/assets/{chunk-FMBD7UC4-Cg6PsiNL.js → chunk-FMBD7UC4-CCdXgyC5.js} +1 -1
  168. package/web-shell/assets/{chunk-ND2GUHAM-B1pCuSlf.js → chunk-ND2GUHAM-SyL_xvWc.js} +1 -1
  169. package/web-shell/assets/{chunk-QZHKN3VN-CkE8llI2.js → chunk-QZHKN3VN-BzOuCKxa.js} +1 -1
  170. package/web-shell/assets/classDiagram-4FO5ZUOK-uOIGlzgi.js +1 -0
  171. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-uOIGlzgi.js +1 -0
  172. package/web-shell/assets/{cose-bilkent-S5V4N54A-Btr-W-vN.js → cose-bilkent-S5V4N54A-BMPWyDKc.js} +1 -1
  173. package/web-shell/assets/{dagre-BM42HDAG-CAhjVa5L.js → dagre-BM42HDAG-B_GnPWik.js} +1 -1
  174. package/web-shell/assets/{diagram-2AECGRRQ-eUQodUXw.js → diagram-2AECGRRQ-fJqMc3S_.js} +1 -1
  175. package/web-shell/assets/{diagram-5GNKFQAL-BiPKbH6E.js → diagram-5GNKFQAL-ximV3O9D.js} +1 -1
  176. package/web-shell/assets/{diagram-KO2AKTUF-DxuwR-Pu.js → diagram-KO2AKTUF-2vVyjzqw.js} +1 -1
  177. package/web-shell/assets/{diagram-LMA3HP47-nz9SQ3Az.js → diagram-LMA3HP47-Dckcx1sT.js} +1 -1
  178. package/web-shell/assets/{diagram-OG6HWLK6-UBbYk-Jq.js → diagram-OG6HWLK6-BAVv47ga.js} +1 -1
  179. package/web-shell/assets/{erDiagram-TEJ5UH35-BLpRQmgi.js → erDiagram-TEJ5UH35-Bn3nf5J0.js} +1 -1
  180. package/web-shell/assets/{flowDiagram-I6XJVG4X-C5Qqg1hx.js → flowDiagram-I6XJVG4X-BIbGF9JT.js} +1 -1
  181. package/web-shell/assets/{ganttDiagram-6RSMTGT7-BMdf3kjL.js → ganttDiagram-6RSMTGT7-CDbhb3AH.js} +1 -1
  182. package/web-shell/assets/{gitGraphDiagram-PVQCEYII-D9qG7BKD.js → gitGraphDiagram-PVQCEYII-CbKG1a_w.js} +1 -1
  183. package/web-shell/assets/index-CnE2ur2L.js +779 -0
  184. package/web-shell/assets/index-hSKXrlSE.css +5 -0
  185. package/web-shell/assets/{infoDiagram-5YYISTIA-CtDBPJM8.js → infoDiagram-5YYISTIA-DUFxTy8m.js} +1 -1
  186. package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-BQaS7H3_.js → ishikawaDiagram-YF4QCWOH-D69hrBG8.js} +1 -1
  187. package/web-shell/assets/{journeyDiagram-JHISSGLW-CEEujCNX.js → journeyDiagram-JHISSGLW-DsvEw51Y.js} +1 -1
  188. package/web-shell/assets/{kanban-definition-UN3LZRKU-B3QqyyNi.js → kanban-definition-UN3LZRKU-lFFjZEYd.js} +1 -1
  189. package/web-shell/assets/{linear-DC2Azd_6.js → linear-Bo5bWzvo.js} +1 -1
  190. package/web-shell/assets/{mermaid.core-DL5PRmh-.js → mermaid.core-C_HKMJx5.js} +5 -5
  191. package/web-shell/assets/{mindmap-definition-RKZ34NQL-DGlkd_fb.js → mindmap-definition-RKZ34NQL-DlV-NUTs.js} +1 -1
  192. package/web-shell/assets/{pieDiagram-4H26LBE5-Dew4R8DT.js → pieDiagram-4H26LBE5-B2e6FH2a.js} +1 -1
  193. package/web-shell/assets/{quadrantDiagram-W4KKPZXB-Bk02Tejc.js → quadrantDiagram-W4KKPZXB-D75kSk-b.js} +1 -1
  194. package/web-shell/assets/{requirementDiagram-4Y6WPE33-BkWJE-6M.js → requirementDiagram-4Y6WPE33-CQ6xakhM.js} +1 -1
  195. package/web-shell/assets/{sankeyDiagram-5OEKKPKP-BM9bZAuM.js → sankeyDiagram-5OEKKPKP-J_XTKrcY.js} +1 -1
  196. package/web-shell/assets/{sequenceDiagram-3UESZ5HK-IaE2rOTu.js → sequenceDiagram-3UESZ5HK-D7jTcBtf.js} +1 -1
  197. package/web-shell/assets/{stateDiagram-AJRCARHV-CQH-ENFJ.js → stateDiagram-AJRCARHV-CrlM_OT3.js} +1 -1
  198. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-Bs4TK_84.js +1 -0
  199. package/web-shell/assets/{timeline-definition-PNZ67QCA-DVH5FaeF.js → timeline-definition-PNZ67QCA-5oZi76Ef.js} +1 -1
  200. package/web-shell/assets/{vennDiagram-CIIHVFJN-ChT6J8JT.js → vennDiagram-CIIHVFJN-DO5YptPK.js} +1 -1
  201. package/web-shell/assets/{wardley-L42UT6IY-D9W5AEjE.js → wardley-L42UT6IY-4t1eJDvM.js} +1 -1
  202. package/web-shell/assets/{wardleyDiagram-YWT4CUSO-cNYKmuIA.js → wardleyDiagram-YWT4CUSO-DKZc661S.js} +1 -1
  203. package/web-shell/assets/{xychartDiagram-2RQKCTM6-BleLm4BJ.js → xychartDiagram-2RQKCTM6-su9hp08G.js} +1 -1
  204. package/web-shell/index.html +2 -2
  205. package/web-shell/assets/channel-EyH7BS8F.js +0 -1
  206. package/web-shell/assets/classDiagram-4FO5ZUOK-CPWvwYMM.js +0 -1
  207. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-CPWvwYMM.js +0 -1
  208. package/web-shell/assets/index-CgttHpqB.js +0 -763
  209. package/web-shell/assets/index-sVELoa_9.css +0 -5
  210. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-CFqBlFdE.js +0 -1
@@ -2,7 +2,11 @@
2
2
  "use strict";
3
3
  import {
4
4
  relaunchApp
5
- } from "./chunk-JO6RDLLE.js";
5
+ } from "./chunk-FRR5I3SQ.js";
6
+ import {
7
+ MINIMUM_MAX_HEIGHT,
8
+ MaxSizedBox
9
+ } from "./chunk-Y3QQV7WE.js";
6
10
  import {
7
11
  CODE_FENCE_RE,
8
12
  SHELL_COMMAND_NAME,
@@ -18,7 +22,7 @@ import {
18
22
  getCommandSubcommandNames,
19
23
  splitMarkdownTableRow,
20
24
  useSessionStats
21
- } from "./chunk-RXDYWLOG.js";
25
+ } from "./chunk-7R62CLMI.js";
22
26
  import {
23
27
  Colors,
24
28
  RowMouseController,
@@ -27,7 +31,7 @@ import {
27
31
  useMouseEvents,
28
32
  useSettings,
29
33
  useTerminalSize
30
- } from "./chunk-RN36CE4M.js";
34
+ } from "./chunk-P452E6XF.js";
31
35
  import {
32
36
  buildResumedHistoryItems,
33
37
  calculateAverageLatency,
@@ -40,14 +44,7 @@ import {
40
44
  levelLabel,
41
45
  useKeypress,
42
46
  wrapForMultiplexer
43
- } from "./chunk-NCOLCOA6.js";
44
- import {
45
- isTerminalGoalStatusKind
46
- } from "./chunk-KSPVDFE4.js";
47
- import {
48
- MINIMUM_MAX_HEIGHT,
49
- MaxSizedBox
50
- } from "./chunk-5GSUPP7K.js";
47
+ } from "./chunk-GPLKAQUX.js";
51
48
  import {
52
49
  theme
53
50
  } from "./chunk-IFEWJXFS.js";
@@ -59,7 +56,10 @@ import {
59
56
  require_jsx_runtime,
60
57
  use_is_screen_reader_enabled_default,
61
58
  use_stdin_default
62
- } from "./chunk-3A4MUHRP.js";
59
+ } from "./chunk-MZWODTEA.js";
60
+ import {
61
+ isTerminalGoalStatusKind
62
+ } from "./chunk-SAIILPQ3.js";
63
63
  import {
64
64
  require_react
65
65
  } from "./chunk-KYMBIKIW.js";
@@ -74,7 +74,6 @@ import {
74
74
  import {
75
75
  cpLen,
76
76
  cpSlice,
77
- eastAsianWidth,
78
77
  escapeAnsiCtrlCodes,
79
78
  getCachedStringWidth,
80
79
  sanitizeSensitiveText,
@@ -82,7 +81,10 @@ import {
82
81
  stripUnsafeCharacters,
83
82
  toCodePoints,
84
83
  wrapToVisualLines
85
- } from "./chunk-OGAC66WF.js";
84
+ } from "./chunk-7VCI24VZ.js";
85
+ import {
86
+ eastAsianWidth
87
+ } from "./chunk-LGFAYIKX.js";
86
88
  import {
87
89
  formatDuration,
88
90
  formatMemoryUsage,
@@ -91,18 +93,18 @@ import {
91
93
  } from "./chunk-KHDZHZMH.js";
92
94
  import {
93
95
  createLoadedSettingsAdapter
94
- } from "./chunk-CA373SPN.js";
96
+ } from "./chunk-K56RTEBN.js";
95
97
  import {
96
98
  getPersistScopeForModelSelection
97
- } from "./chunk-INNPK6XG.js";
99
+ } from "./chunk-O6T7PBUM.js";
98
100
  import {
99
101
  getCurrentLanguage,
100
102
  localizeToolDisplayName,
101
103
  t
102
- } from "./chunk-VCKMHAEZ.js";
104
+ } from "./chunk-2MJAXDFK.js";
103
105
  import {
104
106
  isWorkspaceTrusted
105
- } from "./chunk-32KIF557.js";
107
+ } from "./chunk-WKBA74DD.js";
106
108
  import {
107
109
  ALL_PROVIDERS,
108
110
  IdeClient,
@@ -123,11 +125,11 @@ import {
123
125
  resolveMetadataKey,
124
126
  resolveOwnsModel,
125
127
  stripAnsi
126
- } from "./chunk-KD4KV6XW.js";
128
+ } from "./chunk-ZWFS7YCB.js";
127
129
  import {
128
130
  MAIN_SOURCE,
129
131
  getMCPServerStatus
130
- } from "./chunk-IPKM25FZ.js";
132
+ } from "./chunk-N33JAGJ7.js";
131
133
  import {
132
134
  ToolDisplayNames,
133
135
  ToolNames,
@@ -5496,6 +5498,7 @@ var TableRenderer = /* @__PURE__ */ __name(({
5496
5498
  contentWidth,
5497
5499
  aligns,
5498
5500
  enableInlineMath = false,
5501
+ isStreaming = false,
5499
5502
  maxHeight
5500
5503
  }) => {
5501
5504
  const colCount = headers.length;
@@ -5584,18 +5587,23 @@ var TableRenderer = /* @__PURE__ */ __name(({
5584
5587
  }
5585
5588
  function calculateMaxRowLines() {
5586
5589
  let maxLines = 1;
5590
+ const rowsToMeasure = isStreaming ? rowMetrics.slice(0, 1) : rowMetrics;
5587
5591
  for (let i = 0; i < colCount; i++) {
5588
- const wrapped = wrapText(headerMetrics[i].rendered, columnWidths[i], {
5589
- hard: needsHardWrap
5590
- });
5591
- maxLines = Math.max(maxLines, wrapped.length);
5592
+ const headerWrapped = wrapText(
5593
+ headerMetrics[i].rendered,
5594
+ columnWidths[i],
5595
+ {
5596
+ hard: needsHardWrap
5597
+ }
5598
+ );
5599
+ maxLines = Math.max(maxLines, headerWrapped.length);
5592
5600
  }
5593
- for (const row of rowMetrics) {
5601
+ for (const row of rowsToMeasure) {
5594
5602
  for (let i = 0; i < colCount; i++) {
5595
- const wrapped = wrapText(row[i].rendered, columnWidths[i], {
5603
+ const cellWrapped = wrapText(row[i].rendered, columnWidths[i], {
5596
5604
  hard: needsHardWrap
5597
5605
  });
5598
- maxLines = Math.max(maxLines, wrapped.length);
5606
+ maxLines = Math.max(maxLines, cellWrapped.length);
5599
5607
  }
5600
5608
  }
5601
5609
  return maxLines;
@@ -5606,7 +5614,7 @@ var TableRenderer = /* @__PURE__ */ __name(({
5606
5614
  ABSOLUTE_MIN_HORIZONTAL_TABLE_WIDTH,
5607
5615
  colCount * MIN_COLUMN_WIDTH + borderOverhead + SAFETY_MARGIN
5608
5616
  );
5609
- const useVerticalFormat = contentWidth < minHorizontalTableWidth || maxRowLines > MAX_ROW_LINES;
5617
+ const useVerticalFormat = rowMetrics.length > 0 && (contentWidth < minHorizontalTableWidth || maxRowLines > MAX_ROW_LINES);
5610
5618
  const getAlign = /* @__PURE__ */ __name((colIndex) => aligns?.[colIndex] ?? "left", "getAlign");
5611
5619
  function renderBorderLine(type) {
5612
5620
  const [left, mid, cross, right] = {
@@ -5695,23 +5703,25 @@ var TableRenderer = /* @__PURE__ */ __name(({
5695
5703
  const tableLines = [];
5696
5704
  tableLines.push(renderBorderLine("top"));
5697
5705
  tableLines.push(...renderRowLines(headerRendered, true));
5698
- tableLines.push(renderBorderLine("middle"));
5699
- rowMetrics.forEach((row, rowIndex) => {
5700
- tableLines.push(
5701
- ...renderRowLines(
5702
- row.map((m) => m.rendered),
5703
- false
5704
- )
5705
- );
5706
- if (rowIndex < rows.length - 1) {
5707
- tableLines.push(renderBorderLine("middle"));
5708
- }
5709
- });
5706
+ if (rowMetrics.length > 0) {
5707
+ tableLines.push(renderBorderLine("middle"));
5708
+ rowMetrics.forEach((row, rowIndex) => {
5709
+ tableLines.push(
5710
+ ...renderRowLines(
5711
+ row.map((m) => m.rendered),
5712
+ false
5713
+ )
5714
+ );
5715
+ if (rowIndex < rows.length - 1) {
5716
+ tableLines.push(renderBorderLine("middle"));
5717
+ }
5718
+ });
5719
+ }
5710
5720
  tableLines.push(renderBorderLine("bottom"));
5711
5721
  const maxLineWidth = Math.max(
5712
5722
  ...tableLines.map((line) => getCachedStringWidth(stripAnsi(line)))
5713
5723
  );
5714
- if (maxLineWidth > contentWidth - SAFETY_MARGIN) {
5724
+ if (rowMetrics.length > 0 && maxLineWidth > contentWidth - SAFETY_MARGIN) {
5715
5725
  return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Box_default, { marginY: 1, children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Text, { children: clampToMaxHeight(renderVerticalFormat()) }) });
5716
5726
  }
5717
5727
  return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Box_default, { flexDirection: "column", marginY: 1, children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Text, { children: clampToMaxHeight(tableLines.join("\n")) }) });
@@ -8139,6 +8149,62 @@ var MarkdownDisplayInternal = /* @__PURE__ */ __name(({
8139
8149
  lines = allLines.slice(0, keptLines);
8140
8150
  }
8141
8151
  }
8152
+ if (isPending && renderVisualBlocks && lines.length > 0) {
8153
+ let start = lines.length;
8154
+ while (start > 0 && /^\s*\|/.test(lines[start - 1])) start--;
8155
+ if (start < lines.length) {
8156
+ let activeCodeFence = "";
8157
+ let insideMathBlock = false;
8158
+ for (let i = 0; i < start; i++) {
8159
+ const line = lines[i];
8160
+ if (activeCodeFence) {
8161
+ const fenceMatch2 = line.match(codeFenceRegex);
8162
+ if (fenceMatch2 && fenceMatch2[1].startsWith(activeCodeFence[0]) && fenceMatch2[1].length >= activeCodeFence.length) {
8163
+ activeCodeFence = "";
8164
+ }
8165
+ continue;
8166
+ }
8167
+ if (insideMathBlock) {
8168
+ if (mathFenceRegex.test(line)) insideMathBlock = false;
8169
+ continue;
8170
+ }
8171
+ const fenceMatch = line.match(codeFenceRegex);
8172
+ if (fenceMatch) {
8173
+ activeCodeFence = fenceMatch[1];
8174
+ } else if (mathFenceRegex.test(line)) {
8175
+ insideMathBlock = true;
8176
+ }
8177
+ }
8178
+ const insideCodeFence = activeCodeFence !== "";
8179
+ let headerCells = 0;
8180
+ if (!insideCodeFence && !insideMathBlock) {
8181
+ let hdr = lines[start].replace(/^\s*\|/, "");
8182
+ if (/\|\s*$/.test(hdr)) hdr = hdr.replace(/\|\s*$/, "");
8183
+ headerCells = splitMarkdownTableRow(hdr).length;
8184
+ }
8185
+ if (headerCells >= 2) {
8186
+ const rest = lines.slice(start + 1);
8187
+ const hasMatchingSeparator = rest.some((l) => {
8188
+ if (!tableSeparatorRegex.test(l)) return false;
8189
+ const cols = splitMarkdownTableRow(l).filter(
8190
+ (c) => c.length > 0
8191
+ ).length;
8192
+ return cols === headerCells;
8193
+ });
8194
+ const lineAfterHeader = rest[0];
8195
+ let couldStillBeTable = lineAfterHeader === void 0 || tableSeparatorRegex.test(lineAfterHeader);
8196
+ if (couldStillBeTable && lineAfterHeader !== void 0 && /\|\s*$/.test(lineAfterHeader)) {
8197
+ const sepCols = splitMarkdownTableRow(lineAfterHeader).filter(
8198
+ (c) => c.length > 0
8199
+ ).length;
8200
+ if (sepCols !== headerCells) couldStillBeTable = false;
8201
+ }
8202
+ if (!hasMatchingSeparator && couldStillBeTable) {
8203
+ lines = lines.slice(0, start);
8204
+ }
8205
+ }
8206
+ }
8207
+ }
8142
8208
  const parseTableAligns = /* @__PURE__ */ __name((line) => splitMarkdownTableRow(line).filter((cell) => cell.length > 0).map((cell) => {
8143
8209
  const startsWithColon = cell.startsWith(":");
8144
8210
  const endsWithColon = cell.endsWith(":");
@@ -8278,6 +8344,7 @@ var MarkdownDisplayInternal = /* @__PURE__ */ __name(({
8278
8344
  }
8279
8345
  } else if (inTable && tableSeparatorMatch) {
8280
8346
  tableAligns = parseTableAligns(line);
8347
+ } else if (isPending && inTable && index === lines.length - 1 && tableHeaders.length > 0 && /^\s*\|/.test(line) && (!tableRowMatch || splitMarkdownTableRow(tableRowMatch[1]).length < tableHeaders.length)) {
8281
8348
  } else if (inTable && tableRowMatch) {
8282
8349
  const cells = splitMarkdownTableRow(tableRowMatch[1]);
8283
8350
  while (cells.length < tableHeaders.length) {
@@ -8287,7 +8354,6 @@ var MarkdownDisplayInternal = /* @__PURE__ */ __name(({
8287
8354
  cells.length = tableHeaders.length;
8288
8355
  }
8289
8356
  tableRows.push(cells);
8290
- } else if (isPending && inTable && !tableRowMatch && index === lines.length - 1 && tableHeaders.length > 0 && /^\s*\|/.test(line)) {
8291
8357
  } else if (inTable && !tableRowMatch) {
8292
8358
  if (tableHeaders.length > 0 && tableRows.length > 0) {
8293
8359
  addContentBlock(
@@ -8300,6 +8366,7 @@ var MarkdownDisplayInternal = /* @__PURE__ */ __name(({
8300
8366
  aligns: tableAligns,
8301
8367
  enableInlineMath: renderVisualBlocks,
8302
8368
  isPending,
8369
+ isFrontier: false,
8303
8370
  availableTerminalHeight
8304
8371
  },
8305
8372
  `table-${contentBlocks.length}`
@@ -8496,6 +8563,7 @@ var MarkdownDisplayInternal = /* @__PURE__ */ __name(({
8496
8563
  aligns: tableAligns,
8497
8564
  enableInlineMath: renderVisualBlocks,
8498
8565
  isPending,
8566
+ isFrontier: true,
8499
8567
  availableTerminalHeight
8500
8568
  },
8501
8569
  `table-${contentBlocks.length}`
@@ -8709,6 +8777,7 @@ var RenderTableInternal = /* @__PURE__ */ __name(({
8709
8777
  aligns,
8710
8778
  enableInlineMath = false,
8711
8779
  isPending = false,
8780
+ isFrontier = true,
8712
8781
  availableTerminalHeight
8713
8782
  }) => {
8714
8783
  const maxHeight = isPending && availableTerminalHeight !== void 0 ? Math.max(2, availableTerminalHeight - TABLE_PENDING_RESERVED_ROWS) : void 0;
@@ -8720,6 +8789,7 @@ var RenderTableInternal = /* @__PURE__ */ __name(({
8720
8789
  contentWidth,
8721
8790
  aligns,
8722
8791
  enableInlineMath,
8792
+ isStreaming: isPending && isFrontier,
8723
8793
  maxHeight
8724
8794
  }
8725
8795
  );
@@ -6,7 +6,7 @@ import {
6
6
  getLanguageNameFromLocale,
7
7
  getLanguageSettingsOptions,
8
8
  t
9
- } from "./chunk-VCKMHAEZ.js";
9
+ } from "./chunk-2MJAXDFK.js";
10
10
  import {
11
11
  DEFAULT_DARK_THEME_NAME,
12
12
  DEFAULT_LIGHT_THEME_NAME
@@ -29,7 +29,7 @@ import {
29
29
  import {
30
30
  isWorkspaceTrusted,
31
31
  updateSettingsFilePreservingFormat
32
- } from "./chunk-32KIF557.js";
32
+ } from "./chunk-WKBA74DD.js";
33
33
  import {
34
34
  require_strip_json_comments
35
35
  } from "./chunk-QYUE6W3T.js";
@@ -42,7 +42,7 @@ import {
42
42
  DEFAULT_TRUNCATE_TOOL_OUTPUT_LINES,
43
43
  DEFAULT_TRUNCATE_TOOL_OUTPUT_THRESHOLD,
44
44
  stripRuntimeSnapshotPrefix
45
- } from "./chunk-KD4KV6XW.js";
45
+ } from "./chunk-ZWFS7YCB.js";
46
46
  import {
47
47
  require_main
48
48
  } from "./chunk-SKAZWEV5.js";
@@ -52,7 +52,7 @@ import {
52
52
  import {
53
53
  DEFAULT_SENSITIVE_SPAN_ATTRIBUTE_MAX_LENGTH,
54
54
  SENSITIVE_SPAN_ATTRIBUTE_MAX_LENGTH_LIMIT
55
- } from "./chunk-IPKM25FZ.js";
55
+ } from "./chunk-N33JAGJ7.js";
56
56
  import {
57
57
  FatalConfigError,
58
58
  QWEN_DIR,
@@ -1905,8 +1905,8 @@ var SETTINGS_SCHEMA = {
1905
1905
  label: "Pager",
1906
1906
  category: "Tools",
1907
1907
  requiresRestart: false,
1908
- default: "cat",
1909
- description: "The pager command to use for shell output. Defaults to `cat`.",
1908
+ default: void 0,
1909
+ description: "The pager command to use for shell output. Defaults to `cat` on non-Windows platforms and unset on Windows. Set to an empty string to disable pager environment variables.",
1910
1910
  showInDialog: false
1911
1911
  },
1912
1912
  showColor: {
@@ -1960,6 +1960,16 @@ var SETTINGS_SCHEMA = {
1960
1960
  showInDialog: false,
1961
1961
  mergeStrategy: "union" /* UNION */
1962
1962
  },
1963
+ visible: {
1964
+ type: "array",
1965
+ label: "Visible Deferred Tools",
1966
+ category: "Tools",
1967
+ requiresRestart: true,
1968
+ default: void 0,
1969
+ description: "Deferred tool names made visible at startup without requiring tool_search. Listed tools appear alongside core tools in the initial session.",
1970
+ showInDialog: false,
1971
+ mergeStrategy: "union" /* UNION */
1972
+ },
1963
1973
  approvalMode: {
1964
1974
  type: "enum",
1965
1975
  label: "Tool Approval Mode",
@@ -2362,6 +2372,20 @@ var SETTINGS_SCHEMA = {
2362
2372
  description: "Settings for multi-agent collaboration features (Arena, Team, Swarm).",
2363
2373
  showInDialog: false,
2364
2374
  properties: {
2375
+ maxParallelAgents: {
2376
+ type: "number",
2377
+ label: "Max Parallel Agents",
2378
+ category: "Advanced",
2379
+ requiresRestart: true,
2380
+ default: void 0,
2381
+ minimum: 1,
2382
+ description: "Global maximum number of background sub-agents that can run concurrently. Additional background agents wait in a queue until a slot is available. Per-model limits are not supported yet.",
2383
+ showInDialog: false,
2384
+ jsonSchemaOverride: {
2385
+ type: "integer",
2386
+ minimum: 1
2387
+ }
2388
+ },
2365
2389
  displayMode: {
2366
2390
  type: "enum",
2367
2391
  label: "Display Mode",
@@ -4,11 +4,11 @@ import {
4
4
  disableMouseEvents,
5
5
  enableMouseEvents,
6
6
  useKeypressContext
7
- } from "./chunk-NCOLCOA6.js";
7
+ } from "./chunk-GPLKAQUX.js";
8
8
  import {
9
9
  use_stdin_default,
10
10
  use_stdout_default
11
- } from "./chunk-3A4MUHRP.js";
11
+ } from "./chunk-MZWODTEA.js";
12
12
  import {
13
13
  require_react
14
14
  } from "./chunk-KYMBIKIW.js";
@@ -0,0 +1,262 @@
1
+ // Force strict mode and setup for ESM
2
+ "use strict";
3
+ import {
4
+ appEvents
5
+ } from "./chunk-ZOSL7K3L.js";
6
+ import {
7
+ require_undici
8
+ } from "./chunk-54YZOP7P.js";
9
+ import {
10
+ getAllProviderBaseUrls
11
+ } from "./chunk-ZWFS7YCB.js";
12
+ import {
13
+ initializeTelemetry
14
+ } from "./chunk-N33JAGJ7.js";
15
+ import {
16
+ detectRuntime,
17
+ getOrCreateSharedDispatcher,
18
+ redactProxyCredentials
19
+ } from "./chunk-H6EMK6QK.js";
20
+ import {
21
+ createDebugLogger
22
+ } from "./chunk-22MNNNXE.js";
23
+ import {
24
+ recordStartupEvent
25
+ } from "./chunk-ITOGNELQ.js";
26
+ import {
27
+ init_esbuild_shims
28
+ } from "./chunk-A4BMJM77.js";
29
+ import {
30
+ __name,
31
+ __toESM
32
+ } from "./chunk-J2S4EL5Y.js";
33
+
34
+ // packages/cli/src/startup/startup-prefetch.ts
35
+ init_esbuild_shims();
36
+
37
+ // packages/cli/src/utils/apiPreconnect.ts
38
+ init_esbuild_shims();
39
+ var import_undici = __toESM(require_undici(), 1);
40
+ var debugLogger = createDebugLogger("PRECONNECT");
41
+ var preconnectFired = false;
42
+ var DEFAULT_BASE_URLS = {
43
+ openai: "https://api.openai.com",
44
+ "qwen-oauth": "https://coding.dashscope.aliyuncs.com",
45
+ anthropic: "https://api.anthropic.com",
46
+ dashscope: "https://dashscope.aliyuncs.com"
47
+ };
48
+ var ALL_DEFAULT_URLS = [
49
+ ...Object.values(DEFAULT_BASE_URLS),
50
+ ...getAllProviderBaseUrls()
51
+ ];
52
+ function shouldSkipPreconnect() {
53
+ if (process.env["NODE_EXTRA_CA_CERTS"]) {
54
+ debugLogger.debug("Skipping preconnect: custom CA certificate configured");
55
+ return true;
56
+ }
57
+ return false;
58
+ }
59
+ __name(shouldSkipPreconnect, "shouldSkipPreconnect");
60
+ function isInSandboxMode() {
61
+ return process.env["SANDBOX"] !== void 0;
62
+ }
63
+ __name(isInSandboxMode, "isInSandboxMode");
64
+ function isDefaultBaseUrl(baseUrl) {
65
+ const normalizedInput = baseUrl.toLowerCase().replace(/^https?:\/\//, "").replace(/\/+$/, "");
66
+ return ALL_DEFAULT_URLS.some((defaultUrl) => {
67
+ const normalizedDefault = defaultUrl.toLowerCase().replace(/^https?:\/\//, "").replace(/\/+$/, "");
68
+ return normalizedInput === normalizedDefault || normalizedInput.startsWith(normalizedDefault + "/");
69
+ });
70
+ }
71
+ __name(isDefaultBaseUrl, "isDefaultBaseUrl");
72
+ function getPreconnectTargetUrl(authType, resolvedBaseUrl) {
73
+ if (resolvedBaseUrl && /^https?:\/\//i.test(resolvedBaseUrl)) {
74
+ if (isDefaultBaseUrl(resolvedBaseUrl)) {
75
+ return resolvedBaseUrl;
76
+ }
77
+ debugLogger.debug(
78
+ "Skipping preconnect: resolved baseUrl is not a default URL"
79
+ );
80
+ return void 0;
81
+ }
82
+ if (authType && DEFAULT_BASE_URLS[authType]) {
83
+ return DEFAULT_BASE_URLS[authType];
84
+ }
85
+ return void 0;
86
+ }
87
+ __name(getPreconnectTargetUrl, "getPreconnectTargetUrl");
88
+ function preconnectApi(authType, options = {}) {
89
+ if (preconnectFired) {
90
+ return;
91
+ }
92
+ if (process.env["QWEN_CODE_DISABLE_PRECONNECT"] === "1") {
93
+ debugLogger.debug("Preconnect disabled by environment variable");
94
+ preconnectFired = true;
95
+ return;
96
+ }
97
+ if (isInSandboxMode()) {
98
+ debugLogger.debug("Skipping preconnect: sandbox mode detected");
99
+ preconnectFired = true;
100
+ return;
101
+ }
102
+ if (shouldSkipPreconnect()) {
103
+ preconnectFired = true;
104
+ return;
105
+ }
106
+ if (detectRuntime() !== "node") {
107
+ debugLogger.debug("Skipping preconnect: unsupported runtime");
108
+ preconnectFired = true;
109
+ return;
110
+ }
111
+ if (!options.proxy) {
112
+ debugLogger.debug("Skipping preconnect dispatcher: no proxy configured");
113
+ return;
114
+ }
115
+ const proxy = options.proxy;
116
+ const targetUrl = getPreconnectTargetUrl(authType, options.resolvedBaseUrl);
117
+ if (!targetUrl) {
118
+ debugLogger.debug("No target URL for preconnect");
119
+ return;
120
+ }
121
+ preconnectFired = true;
122
+ debugLogger.debug(`Preconnecting to: ${targetUrl}`);
123
+ try {
124
+ const dispatcher = getOrCreateSharedDispatcher(proxy);
125
+ (0, import_undici.fetch)(targetUrl, {
126
+ method: "HEAD",
127
+ signal: AbortSignal.timeout(5e3),
128
+ headers: {
129
+ "User-Agent": "QwenCode-Preconnect/1.0"
130
+ },
131
+ dispatcher
132
+ }).then(() => {
133
+ debugLogger.debug("Preconnect completed");
134
+ }).catch((error) => {
135
+ const redactedError = redactProxyCredentials(String(error));
136
+ debugLogger.debug(`Preconnect failed (ignored): ${redactedError}`);
137
+ });
138
+ } catch (error) {
139
+ const redactedError = redactProxyCredentials(String(error));
140
+ debugLogger.debug(`Preconnect failed (ignored): ${redactedError}`);
141
+ }
142
+ }
143
+ __name(preconnectApi, "preconnectApi");
144
+
145
+ // packages/cli/src/startup/startup-prefetch.ts
146
+ var debugLogger2 = createDebugLogger("STARTUP_PREFETCH");
147
+ var DEFERRED_IDE_CONNECT_TIMEOUT_MS = 1e4;
148
+ var earlyStarted = /* @__PURE__ */ new WeakSet();
149
+ var postRenderStarted = /* @__PURE__ */ new WeakSet();
150
+ function withTimeout(promise, name, timeoutMs) {
151
+ let timeoutId;
152
+ let timedOut = false;
153
+ const timeout = new Promise((_, reject) => {
154
+ timeoutId = setTimeout(() => {
155
+ timedOut = true;
156
+ reject(new Error(`${name} timed out after ${timeoutMs}ms`));
157
+ }, timeoutMs);
158
+ timeoutId.unref?.();
159
+ });
160
+ promise.catch((err) => {
161
+ if (timedOut) {
162
+ debugLogger2.debug(`${name} underlying error after timeout:`, err);
163
+ }
164
+ });
165
+ return Promise.race([promise, timeout]).finally(() => {
166
+ if (timeoutId) {
167
+ clearTimeout(timeoutId);
168
+ }
169
+ });
170
+ }
171
+ __name(withTimeout, "withTimeout");
172
+ function runDeferredTask(name, task) {
173
+ recordStartupEvent("startup_prefetch_started", { name });
174
+ void Promise.resolve().then(task).then(() => {
175
+ recordStartupEvent("startup_prefetch_completed", { name });
176
+ }).catch((err) => {
177
+ recordStartupEvent("startup_prefetch_failed", { name });
178
+ debugLogger2.warn(`${name} failed:`, err);
179
+ });
180
+ }
181
+ __name(runDeferredTask, "runDeferredTask");
182
+ function startEarlyStartupPrefetches(config) {
183
+ if (earlyStarted.has(config)) return;
184
+ earlyStarted.add(config);
185
+ try {
186
+ const modelsConfig = config.getModelsConfig();
187
+ const authType = modelsConfig.getCurrentAuthType();
188
+ const resolvedBaseUrl = modelsConfig.getGenerationConfig().baseUrl;
189
+ const proxy = config.getProxy();
190
+ preconnectApi(authType, { resolvedBaseUrl, proxy });
191
+ } catch (error) {
192
+ debugLogger2.debug(
193
+ `Preconnect skipped due to error getting authType: ${error}`
194
+ );
195
+ }
196
+ }
197
+ __name(startEarlyStartupPrefetches, "startEarlyStartupPrefetches");
198
+ function startPostRenderPrefetches(config, settings, options = {}) {
199
+ if (postRenderStarted.has(config)) return;
200
+ postRenderStarted.add(config);
201
+ if (settings.merged.general?.enableAutoUpdate !== false) {
202
+ runDeferredTask("update_check", async () => {
203
+ const [{ checkForUpdates }, { handleAutoUpdate }] = await Promise.all([
204
+ import("./updateCheck-72BBAE5V.js"),
205
+ import("./handleAutoUpdate-XKXULZQX.js")
206
+ ]);
207
+ const info = await checkForUpdates();
208
+ handleAutoUpdate(info, settings, config.getProjectRoot());
209
+ });
210
+ }
211
+ if (options.connectIde && config.getIdeMode()) {
212
+ runDeferredTask("ide_connect", async () => {
213
+ appEvents.emit("startup-ide-connection-status-changed" /* StartupIdeConnectionStatusChanged */, {
214
+ state: "connecting"
215
+ });
216
+ try {
217
+ const { connectIdeForStartup } = await import("./initializer-3NRWU5JV.js");
218
+ await withTimeout(
219
+ connectIdeForStartup(config),
220
+ "ide_connect",
221
+ DEFERRED_IDE_CONNECT_TIMEOUT_MS
222
+ );
223
+ appEvents.emit("startup-ide-connection-status-changed" /* StartupIdeConnectionStatusChanged */, {
224
+ state: "connected"
225
+ });
226
+ } catch (err) {
227
+ appEvents.emit("startup-ide-connection-status-changed" /* StartupIdeConnectionStatusChanged */, {
228
+ state: "failed",
229
+ message: err instanceof Error ? err.message : String(err)
230
+ });
231
+ throw err;
232
+ }
233
+ });
234
+ }
235
+ if (options.initializeTelemetry) {
236
+ runDeferredTask("telemetry_init", () => {
237
+ initializeTelemetry(config);
238
+ });
239
+ }
240
+ if (config.isInteractive()) {
241
+ runDeferredTask("background_housekeeping", async () => {
242
+ const { startBackgroundHousekeeping } = await import("./scheduler-35T3E2UQ.js");
243
+ startBackgroundHousekeeping(config, settings);
244
+ });
245
+ }
246
+ }
247
+ __name(startPostRenderPrefetches, "startPostRenderPrefetches");
248
+
249
+ export {
250
+ startEarlyStartupPrefetches,
251
+ startPostRenderPrefetches
252
+ };
253
+ /**
254
+ * @license
255
+ * Copyright 2026 Qwen Team
256
+ * SPDX-License-Identifier: Apache-2.0
257
+ */
258
+ /**
259
+ * @license
260
+ * Copyright 2026 Qwen Code
261
+ * SPDX-License-Identifier: Apache-2.0
262
+ */
@@ -4,14 +4,14 @@ import {
4
4
  resolveModelConfig,
5
5
  resolveProviderProtocol,
6
6
  stripRuntimeSnapshotPrefix
7
- } from "./chunk-KD4KV6XW.js";
7
+ } from "./chunk-ZWFS7YCB.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-IPKM25FZ.js";
14
+ } from "./chunk-N33JAGJ7.js";
15
15
  import {
16
16
  REASONING_EFFORT_TIERS,
17
17
  normalizeReasoningEffort