@qwen-code/qwen-code 0.21.5 → 0.21.6-nightly.20260806.cb3dc107f

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 (250) hide show
  1. package/bundled/qc-helper/docs/configuration/model-providers.md +8 -8
  2. package/bundled/qc-helper/docs/configuration/settings.md +15 -15
  3. package/bundled/qc-helper/docs/features/channels/github.md +31 -19
  4. package/bundled/qc-helper/docs/features/code-review.md +5 -1
  5. package/bundled/qc-helper/docs/features/headless.md +31 -0
  6. package/bundled/qc-helper/docs/qwen-serve.md +75 -0
  7. package/bundled/review/SKILL.md +72 -60
  8. package/chunks/{MaxSizedBox-2MWU5JYB.js → MaxSizedBox-76SOXLCN.js} +11 -10
  9. package/chunks/{StandaloneSessionPicker-B6MI5NTB.js → StandaloneSessionPicker-2I5HXMVH.js} +26 -25
  10. package/chunks/{acp-startup-profiler-3RICG2YW.js → acp-startup-profiler-ORIQ2CCQ.js} +2 -2
  11. package/chunks/{acpAgent-MRPYN6FH.js → acpAgent-IC4KYVXZ.js} +1232 -139
  12. package/chunks/{agent-NAOXNW4I.js → agent-FAN6AQL2.js} +11 -10
  13. package/chunks/{agent-headless-L4PPVFKW.js → agent-headless-ZCJVZHRW.js} +11 -10
  14. package/chunks/{bridge-LHXGYNCO.js → bridge-CPJXZP6D.js} +17 -15
  15. package/chunks/{channel-management-service-UHX56NBO.js → channel-management-service-IGEUOVRT.js} +3 -3
  16. package/chunks/{channel-settings-store-QB54TLYE.js → channel-settings-store-FFCUWSV7.js} +18 -17
  17. package/chunks/{channel-worker-group-NDG4WOOZ.js → channel-worker-group-JWQK224X.js} +6 -5
  18. package/chunks/{channel-worker-manager-ZCW6UW34.js → channel-worker-manager-77E3OXRQ.js} +6 -5
  19. package/chunks/{channel-worker-supervisor-ATGFTZRN.js → channel-worker-supervisor-62YWUGP2.js} +4 -3
  20. package/chunks/{chunk-TCOJPG2P.js → chunk-2DMV6FEP.js} +1 -1
  21. package/chunks/{chunk-SJMCYCUQ.js → chunk-2OCWVHXP.js} +5 -5
  22. package/chunks/{chunk-GBY3ODW7.js → chunk-35EWEBOO.js} +3 -3
  23. package/chunks/{chunk-IK3RYLAD.js → chunk-3AE4R25G.js} +3 -3
  24. package/chunks/{chunk-YO4JI7B4.js → chunk-3IVUXQBG.js} +12 -6
  25. package/chunks/{chunk-3GOCVBYR.js → chunk-3NUZRMFI.js} +5 -5
  26. package/chunks/{chunk-7MFQLOHZ.js → chunk-3PRJYMXC.js} +1 -1
  27. package/chunks/{chunk-FEUXV3DC.js → chunk-4HKEJS5D.js} +1 -1
  28. package/chunks/{chunk-XD2PNH3K.js → chunk-4MBOMW76.js} +5 -5
  29. package/chunks/{chunk-CAX76R46.js → chunk-4MMRFNEA.js} +1 -1
  30. package/chunks/{chunk-MISUEWB4.js → chunk-4S4OEQ6U.js} +10 -6
  31. package/chunks/{chunk-URJHXOSO.js → chunk-4WTAQEHV.js} +1 -1
  32. package/chunks/{chunk-K64OI7S7.js → chunk-57XZYJ54.js} +2 -2
  33. package/chunks/{chunk-SQTA6PAY.js → chunk-73HIRDR3.js} +6 -2
  34. package/chunks/{chunk-K6VEL5KP.js → chunk-7D4X4CUD.js} +1 -1
  35. package/chunks/{chunk-G2UXFO2B.js → chunk-7UZWRM4U.js} +1 -1
  36. package/chunks/{chunk-K2ETEWG6.js → chunk-AEPCN3SJ.js} +1 -1
  37. package/chunks/{chunk-JDNWIXHJ.js → chunk-AIVD3BA4.js} +3 -3
  38. package/chunks/{chunk-BWLUCN35.js → chunk-BBYDYDRE.js} +2 -2
  39. package/chunks/chunk-BKHCW2BI.js +41 -0
  40. package/chunks/{chunk-QL4TN4HS.js → chunk-BRVWYMKV.js} +1 -1
  41. package/chunks/{chunk-4NEBUDWS.js → chunk-C3AV3DT5.js} +9 -9
  42. package/chunks/{chunk-4O6HLCOF.js → chunk-CMDEHXIZ.js} +1 -1
  43. package/chunks/{chunk-EXHQZBVJ.js → chunk-DWFGL55L.js} +2 -2
  44. package/chunks/{chunk-KH2BIJ4H.js → chunk-DWO5MRNA.js} +267 -11
  45. package/chunks/{chunk-DTAPI453.js → chunk-EMYZIABH.js} +1 -1
  46. package/chunks/{chunk-3P4GP4S2.js → chunk-F5NHZNIW.js} +4 -4
  47. package/chunks/{chunk-Q2V4AOQL.js → chunk-FMFPVZLW.js} +1 -1
  48. package/chunks/{chunk-B2RBYP7Z.js → chunk-FQMID2PL.js} +2 -2
  49. package/chunks/{chunk-TJ56V3AR.js → chunk-FTYCQRAN.js} +4 -4
  50. package/chunks/{chunk-7W5KOBYU.js → chunk-GQMVWRDJ.js} +1 -1
  51. package/chunks/{chunk-VJPF6GF2.js → chunk-GSSHJ5YH.js} +3 -3
  52. package/chunks/{chunk-LMNM37OE.js → chunk-H4UDE45I.js} +1 -1
  53. package/chunks/{chunk-BK2UNYWD.js → chunk-HIBNSEJE.js} +12 -0
  54. package/chunks/{chunk-4LLUH3A7.js → chunk-HU5TUALO.js} +95 -8
  55. package/chunks/{chunk-N3RERU5N.js → chunk-I2O7DAYN.js} +3 -3
  56. package/chunks/{chunk-GP4IMBX5.js → chunk-ISWZRFDK.js} +1696 -476
  57. package/chunks/{chunk-RM3F46UT.js → chunk-IT4CNDZX.js} +71 -6
  58. package/chunks/{chunk-NLQIEY6W.js → chunk-JBRPBNZS.js} +3 -3
  59. package/chunks/{chunk-GEP54CHX.js → chunk-JD4X55P3.js} +3 -3
  60. package/chunks/{chunk-OWAK7LMW.js → chunk-KGJGEEVR.js} +7 -0
  61. package/chunks/{chunk-J7I2BZHS.js → chunk-KPOMSNS3.js} +23 -6
  62. package/chunks/{chunk-VOA2UPZM.js → chunk-KXCTLL3T.js} +5 -5
  63. package/chunks/{chunk-4NNR24EP.js → chunk-L7DXFIT7.js} +3 -3
  64. package/chunks/{chunk-LEZFUYPM.js → chunk-LAAFLUQV.js} +4 -4
  65. package/chunks/{chunk-ZPGMDT4S.js → chunk-LLM2DCGI.js} +19 -92
  66. package/chunks/{chunk-FHPKHXHT.js → chunk-MKVZE4ZJ.js} +5 -1
  67. package/chunks/{chunk-7M2RLFNX.js → chunk-NIFEBX4K.js} +11 -11
  68. package/chunks/chunk-NKLP3DCK.js +22 -0
  69. package/chunks/{chunk-YLL3SC5S.js → chunk-NSESTZWP.js} +1032 -913
  70. package/chunks/{chunk-5HWAJ4BK.js → chunk-OCNX2VNN.js} +1 -1
  71. package/chunks/{chunk-ZLGPHA34.js → chunk-PKWS5H7T.js} +5 -5
  72. package/chunks/{chunk-SVIEVA3L.js → chunk-QDM3MZRE.js} +29 -4
  73. package/chunks/{chunk-OGAARVN7.js → chunk-QKCO7NQU.js} +3 -3
  74. package/chunks/{chunk-B3EBIZUY.js → chunk-QMDTTQ7D.js} +8 -3
  75. package/chunks/{chunk-C6ARWPCG.js → chunk-R4A3ZQB4.js} +2 -2
  76. package/chunks/{chunk-UKZEXS6K.js → chunk-R574ATRM.js} +11 -0
  77. package/chunks/{chunk-IWYXZAGT.js → chunk-RE7NVPE7.js} +33 -33
  78. package/chunks/{chunk-2JBETW4S.js → chunk-RJNSNQLE.js} +5 -5
  79. package/chunks/{chunk-D7QAZ5DF.js → chunk-RJOKRCEV.js} +1 -1
  80. package/chunks/{chunk-AEWOKOJY.js → chunk-RTHXX6H7.js} +1 -1
  81. package/chunks/{chunk-CIUUYB23.js → chunk-S7CV4KO6.js} +3 -3
  82. package/chunks/{chunk-UWSXFI6E.js → chunk-SQC6K5HI.js} +6 -2
  83. package/chunks/{chunk-YMUZQ3MQ.js → chunk-SSQW2QUF.js} +3 -3
  84. package/chunks/{chunk-I7JDGNG6.js → chunk-T5U6IM4C.js} +6 -2
  85. package/chunks/{chunk-LYPXNRBX.js → chunk-TE7P6I5J.js} +1 -1
  86. package/chunks/{chunk-A6SX5TAH.js → chunk-TSERKWCX.js} +6 -2
  87. package/chunks/{chunk-3H5RFLTS.js → chunk-TVHTRN4G.js} +2 -2
  88. package/chunks/{chunk-OIGB253L.js → chunk-UBR4W53E.js} +8 -8
  89. package/chunks/{chunk-PDDYAXL2.js → chunk-UGTWD35F.js} +14 -1
  90. package/chunks/{chunk-IWGMDSC3.js → chunk-UXWEOM4U.js} +355 -17
  91. package/chunks/{chunk-WU5NBSLD.js → chunk-VRAPDAZM.js} +3 -3
  92. package/chunks/{chunk-M744OFVE.js → chunk-W7U4ESW2.js} +1 -1
  93. package/chunks/{chunk-GTM6IHBB.js → chunk-WO2B5E5B.js} +1 -0
  94. package/chunks/chunk-WOJZWRAZ.js +123 -0
  95. package/chunks/{chunk-IZ2CMEYO.js → chunk-X4TEVZB7.js} +1 -1
  96. package/chunks/{chunk-WTM5QONI.js → chunk-YO7P73TY.js} +2 -2
  97. package/chunks/{chunk-QONSRAEV.js → chunk-YP5KH5Y7.js} +1 -1
  98. package/chunks/{chunk-ZLJQIGCH.js → chunk-YZQTA3ID.js} +28 -11
  99. package/chunks/{chunk-5XNO4AW7.js → chunk-ZHFLN4VK.js} +11 -11
  100. package/chunks/{chunk-LSYVASZS.js → chunk-ZKHTMT7B.js} +1 -1
  101. package/chunks/{chunk-P3SLTSNY.js → chunk-ZRTBFP6O.js} +4 -4
  102. package/chunks/{computer-use-XDOGP2KA.js → computer-use-ZOQOY5J4.js} +11 -10
  103. package/chunks/{config-utils-E3ZQTHGM.js → config-utils-VXD4SPVR.js} +2 -2
  104. package/chunks/{contextCommand-N3LQDCYJ.js → contextCommand-PJHOBZP3.js} +14 -13
  105. package/chunks/{core-runtime-STAFP45W.js → core-runtime-DJDDHMGC.js} +11 -10
  106. package/chunks/create-sub-session-3VXZRNWN.js +772 -0
  107. package/chunks/{daemon-CCIX4BMG.js → daemon-YI5RY62O.js} +115 -3
  108. package/chunks/{daemon-status-provider-PPAH3ATF.js → daemon-status-provider-EUXM7W4W.js} +21 -19
  109. package/chunks/{daemon-trust-policy-X6XL3MB4.js → daemon-trust-policy-GTNLLGVX.js} +17 -16
  110. package/chunks/{daemon-trust-policy-monitor-M5LBL2HD.js → daemon-trust-policy-monitor-C2WRLHKH.js} +17 -16
  111. package/chunks/{deferred-core-runtime-O54YPTBU.js → deferred-core-runtime-F2LMMSGP.js} +11 -10
  112. package/chunks/discovery-XLHITE74.js +220 -0
  113. package/chunks/{dist-IKGVITP3.js → dist-KS4O2NKE.js} +99 -6
  114. package/chunks/{earlyInputCapture-CBIT2RGT.js → earlyInputCapture-FSJYF2T3.js} +11 -10
  115. package/chunks/{edit-KW2TOC6A.js → edit-BGSW6JWC.js} +11 -10
  116. package/chunks/{enter-worktree-YL34NEU5.js → enter-worktree-R6Q76ED7.js} +11 -10
  117. package/chunks/{enterPlanMode-JFJTDASQ.js → enterPlanMode-76F2FEEC.js} +11 -10
  118. package/chunks/{environment-IATU5GXG.js → environment-VJVOYNQY.js} +14 -13
  119. package/chunks/{errors-SAVRDE7Q.js → errors-A3YG5LT3.js} +14 -13
  120. package/chunks/{exit-worktree-5M43QPBB.js → exit-worktree-BZRA3IOQ.js} +11 -10
  121. package/chunks/{exitPlanMode-W4EICZ4N.js → exitPlanMode-BL2REOQM.js} +11 -10
  122. package/chunks/external-tool-guard-provider-5HTGOPGU.js +273 -0
  123. package/chunks/{fast-path-YQJPIKMP.js → fast-path-JIH22X6C.js} +5 -5
  124. package/chunks/{gemini-FUF5SSPR.js → gemini-US7BS42U.js} +70 -55
  125. package/chunks/{geminiContentGenerator-LLLZBOUG.js → geminiContentGenerator-XE44Y7CB.js} +1 -1
  126. package/chunks/{glob-LJFFMN4D.js → glob-FPHX3RAK.js} +11 -10
  127. package/chunks/{grep-Q64EAM73.js → grep-EEUBJAK4.js} +11 -10
  128. package/chunks/{handleAutoUpdate-QBMPRTSQ.js → handleAutoUpdate-P2ZCEJTF.js} +16 -15
  129. package/chunks/{i18n-LDUW5DMN.js → i18n-CNZUAFR4.js} +13 -12
  130. package/chunks/{image-gen-G7RLG3KR.js → image-gen-V47WPVSK.js} +1 -1
  131. package/chunks/{initializer-74A7DMMD.js → initializer-XO4M57DM.js} +17 -16
  132. package/chunks/{installationInfo-OFDYLDFD.js → installationInfo-Q6R73NUW.js} +12 -11
  133. package/chunks/{list-JA2EWRHJ.js → list-YKMYC2Y5.js} +20 -19
  134. package/chunks/{loadedSettingsAdapter-2GNJOQ3L.js → loadedSettingsAdapter-JJ3MRGFE.js} +17 -16
  135. package/chunks/{loggingContentGenerator-B6B5EGB3.js → loggingContentGenerator-AO72RGAX.js} +4 -3
  136. package/chunks/{managed-npm-update-4YZHLUER.js → managed-npm-update-PVUZBYUX.js} +24 -14
  137. package/chunks/{mcp-LLK5YJVH.js → mcp-3ETUN2UW.js} +17 -16
  138. package/chunks/{monitor-NYJPAWVP.js → monitor-YVE5CUDP.js} +11 -10
  139. package/chunks/{nonInteractiveCli-HZBBBDJD.js → nonInteractiveCli-227LJD6N.js} +47 -45
  140. package/chunks/{notebook-edit-LLM6UXFX.js → notebook-edit-US4VX3NB.js} +11 -10
  141. package/chunks/{openaiContentGenerator-2AEXDN55.js → openaiContentGenerator-M6HEQOON.js} +5 -4
  142. package/chunks/{pidfile-3JUWX7G2.js → pidfile-CC7CYCCD.js} +11 -10
  143. package/chunks/{processUtils-JLLRVZHT.js → processUtils-34OHR6UD.js} +2 -2
  144. package/chunks/{qwenContentGenerator-2FESCF27.js → qwenContentGenerator-2WX5HJCA.js} +12 -11
  145. package/chunks/{qwenOAuth2-2KKPYA5J.js → qwenOAuth2-GJ4Q3E2F.js} +1 -1
  146. package/chunks/{read-file-5GVXLY74.js → read-file-2FZDO5GP.js} +3 -2
  147. package/chunks/{record-artifact-L3BAHQFN.js → record-artifact-E6AWQU2Z.js} +1 -1
  148. package/chunks/{resumeHistoryUtils-Z4OFBXPM.js → resumeHistoryUtils-EBJRJB3Y.js} +15 -14
  149. package/chunks/{ripGrep-TKOJTIAB.js → ripGrep-HJDLUUOZ.js} +11 -10
  150. package/chunks/{run-qwen-serve-K5W6MM6M.js → run-qwen-serve-OWEETWOR.js} +518 -75
  151. package/chunks/{runtime-IADXMRCY.js → runtime-RI27GIVJ.js} +20 -19
  152. package/chunks/{scheduler-T7AV37LD.js → scheduler-EZ36YLU5.js} +11 -10
  153. package/chunks/{serve-ROEGMS3I.js → serve-UZJ5I4X3.js} +18 -16
  154. package/chunks/{server-NGXMRODI.js → server-ADQU7JNR.js} +7556 -397
  155. package/chunks/{session-RCDLDJA4.js → session-7EA3WMTE.js} +50 -48
  156. package/chunks/{settings-E6H3AURD.js → settings-RUKTTVZD.js} +16 -15
  157. package/chunks/{shell-RHGGJ6BE.js → shell-5277KYMM.js} +11 -10
  158. package/chunks/{skill-GQ7PBS25.js → skill-47PHCPGC.js} +4 -3
  159. package/chunks/{skill-settings-E2F7OCBL.js → skill-settings-WXVWFK2I.js} +16 -15
  160. package/chunks/{spawnChannel-Q2IQBHME.js → spawnChannel-53GKUCUN.js} +14 -12
  161. package/chunks/{standalone-update-NYYZEHLD.js → standalone-update-CNPXCYU7.js} +14 -13
  162. package/chunks/{startInteractiveUI-IX6I3Y2Z.js → startInteractiveUI-IKDPDJEU.js} +140 -138
  163. package/chunks/{stdioHelpers-HGIYTWAY.js → stdioHelpers-7A2EE64Z.js} +5 -3
  164. package/chunks/{task-create-2X4UP4F3.js → task-create-Q727MXHJ.js} +2 -2
  165. package/chunks/{task-list-WOLJPZ64.js → task-list-G6KPQ5JT.js} +1 -1
  166. package/chunks/{task-update-VDUSN36E.js → task-update-YB7PXO4R.js} +2 -2
  167. package/chunks/{team-create-UTRVUEDA.js → team-create-6JEMKGZJ.js} +11 -10
  168. package/chunks/{team-delete-D2VMSDOT.js → team-delete-GDO7H2T4.js} +1 -1
  169. package/chunks/{team-plan-approval-YZNB4U5U.js → team-plan-approval-64OL7VCA.js} +11 -10
  170. package/chunks/{terminal-image-renderer-QRSCS2BE.js → terminal-image-renderer-FH6P46SE.js} +11 -10
  171. package/chunks/{theme-manager-EKZBY34I.js → theme-manager-UD3HG3Q3.js} +11 -10
  172. package/chunks/{tool-search-N2R7LVMC.js → tool-search-VPWI3KLB.js} +3 -2
  173. package/chunks/{total-session-admission-HBIYARPO.js → total-session-admission-UNVZOBI5.js} +17 -15
  174. package/chunks/{trustedFolders-ZQLYRCSY.js → trustedFolders-MP6IUKPQ.js} +13 -12
  175. package/chunks/{update-relaunch-PJWXMPCR.js → update-relaunch-I6RX2JPJ.js} +6 -6
  176. package/chunks/{updateCheck-ZXRCGY66.js → updateCheck-F52UPQ63.js} +15 -14
  177. package/chunks/{useAutoAcceptIndicator-ZYQW5SGJ.js → useAutoAcceptIndicator-PN3O5YBX.js} +19 -18
  178. package/chunks/{validateNonInterActiveAuth-M7J7OTRH.js → validateNonInterActiveAuth-SVF7KFFU.js} +44 -42
  179. package/chunks/{version-2AOHMPK3.js → version-2WVTHGLQ.js} +1 -1
  180. package/chunks/{web-fetch-DS34CJ3R.js → web-fetch-IZKYM3VK.js} +3 -2
  181. package/chunks/{web-search-ITFPD7V4.js → web-search-72BTYDYR.js} +4 -3
  182. package/chunks/{workflow-LZQ4PGNS.js → workflow-TJJWOY3O.js} +12 -11
  183. package/chunks/{workspace-providers-status-ZPTLKOBM.js → workspace-providers-status-6UODWWFN.js} +20 -19
  184. package/chunks/{workspace-registration-store-OTFKSGG7.js → workspace-registration-store-BW62HHVV.js} +1 -1
  185. package/chunks/{workspace-registry-YZ3OXPHP.js → workspace-registry-OHXQNS46.js} +17 -15
  186. package/chunks/{workspace-service-OCZXOOSQ.js → workspace-service-IMSSY6WR.js} +21 -20
  187. package/chunks/{workspace-skills-status-K2ALGUCD.js → workspace-skills-status-4YQB7NOM.js} +18 -17
  188. package/chunks/{workspace-trust-reconciler-KMRZISJP.js → workspace-trust-reconciler-5S4NOT3Y.js} +26 -24
  189. package/chunks/{write-file-AWBI4GJS.js → write-file-7OPAETB2.js} +11 -10
  190. package/chunks/{zoom-image-NHKN6F77.js → zoom-image-U3YSNF6S.js} +3 -2
  191. package/cli-entry.js +14 -0
  192. package/cli.js +19 -15
  193. package/package.json +3 -3
  194. package/web-shell/assets/{arc-Dpg66jw7.js → arc-B-Vtkp1W.js} +1 -1
  195. package/web-shell/assets/{architectureDiagram-3BPJPVTR-BJ4FIBxN.js → architectureDiagram-3BPJPVTR-qmTXIj64.js} +1 -1
  196. package/web-shell/assets/{blockDiagram-GPEHLZMM-VXmYdtYT.js → blockDiagram-GPEHLZMM-ZlnXEtdP.js} +1 -1
  197. package/web-shell/assets/{c4Diagram-AAUBKEIU-BNLDb8FE.js → c4Diagram-AAUBKEIU-Wyoirf6Z.js} +1 -1
  198. package/web-shell/assets/channel-DXaHnfjS.js +1 -0
  199. package/web-shell/assets/{chunk-2J33WTMH-DR5yHxr0.js → chunk-2J33WTMH-WQwbq9d8.js} +1 -1
  200. package/web-shell/assets/{chunk-4BX2VUAB-Czkq8UZU.js → chunk-4BX2VUAB-DQKnAXC4.js} +1 -1
  201. package/web-shell/assets/{chunk-55IACEB6-DugUgM6s.js → chunk-55IACEB6-DIdgXNcO.js} +1 -1
  202. package/web-shell/assets/{chunk-727SXJPM-Dw6quA1K.js → chunk-727SXJPM-CUwGOLEd.js} +1 -1
  203. package/web-shell/assets/{chunk-AQP2D5EJ-BoVYOTTz.js → chunk-AQP2D5EJ-CCBGZFZ4.js} +1 -1
  204. package/web-shell/assets/{chunk-FMBD7UC4--Amcse-j.js → chunk-FMBD7UC4-DMGXProk.js} +1 -1
  205. package/web-shell/assets/{chunk-ND2GUHAM-ajaEYAC8.js → chunk-ND2GUHAM-yejcFqsh.js} +1 -1
  206. package/web-shell/assets/{chunk-QZHKN3VN-CUNDZ7im.js → chunk-QZHKN3VN-DxCyqTf7.js} +1 -1
  207. package/web-shell/assets/classDiagram-4FO5ZUOK-BigU82A0.js +1 -0
  208. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-BigU82A0.js +1 -0
  209. package/web-shell/assets/{cose-bilkent-S5V4N54A-BnfkD-m1.js → cose-bilkent-S5V4N54A-DOrF3cg_.js} +1 -1
  210. package/web-shell/assets/{dagre-BM42HDAG-BuUdFk7Z.js → dagre-BM42HDAG-Be6CdYQ_.js} +1 -1
  211. package/web-shell/assets/{diagram-2AECGRRQ-B2ZXxoab.js → diagram-2AECGRRQ-B_Rjsft2.js} +1 -1
  212. package/web-shell/assets/{diagram-5GNKFQAL-BsgOICzM.js → diagram-5GNKFQAL-BvQbKSm1.js} +1 -1
  213. package/web-shell/assets/{diagram-KO2AKTUF-DTTjG6U-.js → diagram-KO2AKTUF-BsdmMdpS.js} +1 -1
  214. package/web-shell/assets/{diagram-LMA3HP47-temLf1x7.js → diagram-LMA3HP47-CrQlBaNr.js} +1 -1
  215. package/web-shell/assets/{diagram-OG6HWLK6-CRFjScs2.js → diagram-OG6HWLK6-aB1MD_DL.js} +1 -1
  216. package/web-shell/assets/{erDiagram-TEJ5UH35-D4oaY-rQ.js → erDiagram-TEJ5UH35-F-eUUn9n.js} +1 -1
  217. package/web-shell/assets/{flowDiagram-I6XJVG4X-BqG8B49b.js → flowDiagram-I6XJVG4X-DY_d8lUK.js} +1 -1
  218. package/web-shell/assets/{ganttDiagram-6RSMTGT7-DffQBdd5.js → ganttDiagram-6RSMTGT7-Dqu7KBPg.js} +1 -1
  219. package/web-shell/assets/{gitGraphDiagram-PVQCEYII-CMDPfseF.js → gitGraphDiagram-PVQCEYII-2IkU_VEj.js} +1 -1
  220. package/web-shell/assets/{index-qTQR_smP.js → index-BuSbqggh.js} +1 -1
  221. package/web-shell/assets/index-DrfC2e9s.js +1768 -0
  222. package/web-shell/assets/index-QQlUCJGg.css +5 -0
  223. package/web-shell/assets/{infoDiagram-5YYISTIA-Cn3T83MA.js → infoDiagram-5YYISTIA-C4orwzPw.js} +1 -1
  224. package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-ijFs7e25.js → ishikawaDiagram-YF4QCWOH-fXUEfef_.js} +1 -1
  225. package/web-shell/assets/{journeyDiagram-JHISSGLW-CINTv8VB.js → journeyDiagram-JHISSGLW-Bs0I1_J5.js} +1 -1
  226. package/web-shell/assets/{kanban-definition-UN3LZRKU-CMGRZCxx.js → kanban-definition-UN3LZRKU-BPRj1dw_.js} +1 -1
  227. package/web-shell/assets/{linear-Co-2_37d.js → linear-DFS6ZDpW.js} +1 -1
  228. package/web-shell/assets/{mermaid.core-DijbyaN5.js → mermaid.core-CZxjWMaO.js} +5 -5
  229. package/web-shell/assets/{mindmap-definition-RKZ34NQL-k_sDYDPZ.js → mindmap-definition-RKZ34NQL-Dsr3PmNs.js} +1 -1
  230. package/web-shell/assets/{pieDiagram-4H26LBE5-CG-oz8V3.js → pieDiagram-4H26LBE5-D5Ngpz5Y.js} +1 -1
  231. package/web-shell/assets/{quadrantDiagram-W4KKPZXB-Baq7HIG2.js → quadrantDiagram-W4KKPZXB-WJK9I25z.js} +1 -1
  232. package/web-shell/assets/{requirementDiagram-4Y6WPE33-CDM3ZvBt.js → requirementDiagram-4Y6WPE33-CmrYcwOH.js} +1 -1
  233. package/web-shell/assets/{sankeyDiagram-5OEKKPKP-C2dJbWKN.js → sankeyDiagram-5OEKKPKP-7SjCc4Mv.js} +1 -1
  234. package/web-shell/assets/{sequenceDiagram-3UESZ5HK-Cf1_h59p.js → sequenceDiagram-3UESZ5HK-Dl9E0IRM.js} +1 -1
  235. package/web-shell/assets/{stateDiagram-AJRCARHV-CI5clUEc.js → stateDiagram-AJRCARHV-CRRio7yV.js} +1 -1
  236. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-1atT7XaU.js +1 -0
  237. package/web-shell/assets/{timeline-definition-PNZ67QCA-B2O8cAZX.js → timeline-definition-PNZ67QCA-DVyXjjfq.js} +1 -1
  238. package/web-shell/assets/{vennDiagram-CIIHVFJN-BLsJ_h9s.js → vennDiagram-CIIHVFJN-Nb2Lckzq.js} +1 -1
  239. package/web-shell/assets/{wardley-L42UT6IY-BlPU4FTA.js → wardley-L42UT6IY-DuL_otIP.js} +1 -1
  240. package/web-shell/assets/{wardleyDiagram-YWT4CUSO-D_U-RdU4.js → wardleyDiagram-YWT4CUSO-DVI9Q4Aa.js} +1 -1
  241. package/web-shell/assets/{xychartDiagram-2RQKCTM6-BynXGSTl.js → xychartDiagram-2RQKCTM6-BNjAm7KD.js} +1 -1
  242. package/web-shell/index.html +2 -2
  243. package/bundled/review/DESIGN.md +0 -724
  244. package/chunks/create-sub-session-2B3JENWD.js +0 -400
  245. package/web-shell/assets/channel-Bd9wOnaA.js +0 -1
  246. package/web-shell/assets/classDiagram-4FO5ZUOK-XhCT8FE3.js +0 -1
  247. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-XhCT8FE3.js +0 -1
  248. package/web-shell/assets/index-2F4RsNzd.js +0 -1756
  249. package/web-shell/assets/index-CaucmEO_.css +0 -5
  250. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-BDc8asKD.js +0 -1
@@ -21,12 +21,12 @@ import {
21
21
  getLanguageNameFromLocale,
22
22
  getLanguageSettingsOptions,
23
23
  t
24
- } from "./chunk-K64OI7S7.js";
24
+ } from "./chunk-57XZYJ54.js";
25
25
  import {
26
26
  getHomeEnvFallbackVars,
27
27
  loadEnvironment,
28
28
  preResolveHomeEnvOverrides
29
- } from "./chunk-LYPXNRBX.js";
29
+ } from "./chunk-TE7P6I5J.js";
30
30
  import {
31
31
  ENV_CORRUPTED_PATH,
32
32
  ENV_WAS_RECOVERED
@@ -34,7 +34,7 @@ import {
34
34
  import {
35
35
  isWorkspaceTrusted,
36
36
  updateSettingsFilePreservingFormat
37
- } from "./chunk-B3EBIZUY.js";
37
+ } from "./chunk-QMDTTQ7D.js";
38
38
  import {
39
39
  require_strip_json_comments
40
40
  } from "./chunk-ALGGS7UH.js";
@@ -46,10 +46,10 @@ import {
46
46
  DEFAULT_TOOL_RESULTS_TOTAL_CHARS_THRESHOLD,
47
47
  DEFAULT_TRUNCATE_TOOL_OUTPUT_LINES,
48
48
  DEFAULT_TRUNCATE_TOOL_OUTPUT_THRESHOLD
49
- } from "./chunk-YLL3SC5S.js";
49
+ } from "./chunk-NSESTZWP.js";
50
50
  import {
51
51
  stripRuntimeSnapshotPrefix
52
- } from "./chunk-7W5KOBYU.js";
52
+ } from "./chunk-GQMVWRDJ.js";
53
53
  import {
54
54
  DEFAULT_QWEN_CUSTOM_IGNORE_FILE_NAMES
55
55
  } from "./chunk-432XCUHF.js";
@@ -1650,7 +1650,7 @@ var SETTINGS_SCHEMA = {
1650
1650
  category: "Context",
1651
1651
  requiresRestart: false,
1652
1652
  default: DEFAULT_TOOL_RESULTS_TOTAL_CHARS_THRESHOLD,
1653
- description: "Total compactable tool result output characters allowed in history before clearing oldest results. Use -1 to disable. This is a soft threshold: protected recent tool results may keep the total above it.",
1653
+ description: "Total compactable tool result output characters allowed in history before clearing oldest results. When exceeded, oldest results are cleared down to half this threshold (best effort) to preserve the provider prompt cache on later turns. Use -1 to disable. This is a soft threshold: protected recent tool results may keep the total above it.",
1654
1654
  showInDialog: false
1655
1655
  }
1656
1656
  }
@@ -3098,6 +3098,71 @@ var SETTINGS_SCHEMA = {
3098
3098
  description: "Settings to enable experimental features.",
3099
3099
  showInDialog: false,
3100
3100
  properties: {
3101
+ liveVoice: {
3102
+ type: "object",
3103
+ label: "Live Voice",
3104
+ category: "Experimental",
3105
+ requiresRestart: false,
3106
+ default: {},
3107
+ description: "Experimental realtime voice conversations through Qwen Live Host on macOS WebShell.",
3108
+ showInDialog: false,
3109
+ properties: {
3110
+ enabled: {
3111
+ type: "boolean",
3112
+ label: "Live Voice",
3113
+ category: "Experimental",
3114
+ requiresRestart: false,
3115
+ default: false,
3116
+ description: "Enable experimental realtime voice conversations on macOS WebShell.",
3117
+ showInDialog: false
3118
+ },
3119
+ apiKey: {
3120
+ type: "string",
3121
+ label: "DashScope Realtime API Key",
3122
+ category: "Experimental",
3123
+ requiresRestart: false,
3124
+ default: "",
3125
+ description: "Dedicated DashScope API key for qwen3.5-omni-plus-realtime.",
3126
+ showInDialog: false
3127
+ },
3128
+ model: {
3129
+ type: "string",
3130
+ label: "Live Voice Model",
3131
+ category: "Experimental",
3132
+ requiresRestart: false,
3133
+ default: "qwen3.5-omni-plus-realtime",
3134
+ description: "Upstream Realtime model used for Live Voice.",
3135
+ showInDialog: false
3136
+ },
3137
+ endpoint: {
3138
+ type: "string",
3139
+ label: "Live Voice Endpoint",
3140
+ category: "Experimental",
3141
+ requiresRestart: false,
3142
+ default: "wss://dashscope.aliyuncs.com/api-ws/v1/realtime",
3143
+ description: "Advanced override for the DashScope Realtime WebSocket endpoint.",
3144
+ showInDialog: false
3145
+ },
3146
+ voice: {
3147
+ type: "string",
3148
+ label: "Live Voice Output Voice",
3149
+ category: "Experimental",
3150
+ requiresRestart: false,
3151
+ default: "Tina",
3152
+ description: "Voice used for Realtime model audio output.",
3153
+ showInDialog: false
3154
+ },
3155
+ shortcut: {
3156
+ type: "string",
3157
+ label: "Live Voice Global Shortcut",
3158
+ category: "Experimental",
3159
+ requiresRestart: false,
3160
+ default: "Command+E",
3161
+ description: "Electron accelerator registered globally by Qwen Live Host.",
3162
+ showInDialog: false
3163
+ }
3164
+ }
3165
+ },
3101
3166
  sessionWorkflow: {
3102
3167
  type: "boolean",
3103
3168
  label: "Session Workflow Plan & Review",
@@ -3,7 +3,7 @@
3
3
  import {
4
4
  getUserSettingsPath,
5
5
  v1ToV2Migration
6
- } from "./chunk-RM3F46UT.js";
6
+ } from "./chunk-IT4CNDZX.js";
7
7
  import {
8
8
  getSystemDefaultsPath,
9
9
  getSystemSettingsPath
@@ -12,7 +12,7 @@ import {
12
12
  LoadedTrustedFolders,
13
13
  TrustLevel,
14
14
  getTrustedFoldersPath
15
- } from "./chunk-B3EBIZUY.js";
15
+ } from "./chunk-QMDTTQ7D.js";
16
16
  import {
17
17
  require_strip_json_comments
18
18
  } from "./chunk-ALGGS7UH.js";
@@ -21,7 +21,7 @@ import {
21
21
  } from "./chunk-MR3PXB6E.js";
22
22
  import {
23
23
  ideContextStore
24
- } from "./chunk-YLL3SC5S.js";
24
+ } from "./chunk-NSESTZWP.js";
25
25
  import {
26
26
  init_esbuild_shims
27
27
  } from "./chunk-5O2XNYP6.js";
@@ -17,7 +17,7 @@ import {
17
17
  import {
18
18
  formatHistoryGapNotice,
19
19
  indexGapsByChild
20
- } from "./chunk-5HWAJ4BK.js";
20
+ } from "./chunk-OCNX2VNN.js";
21
21
  import {
22
22
  stringWidth
23
23
  } from "./chunk-2MIN6GRR.js";
@@ -29,11 +29,11 @@ import {
29
29
  } from "./chunk-3SH53ANB.js";
30
30
  import {
31
31
  t
32
- } from "./chunk-K64OI7S7.js";
32
+ } from "./chunk-57XZYJ54.js";
33
33
  import {
34
34
  getToolResponseDisplayText,
35
35
  stripTrailingUserPromptSubmitContextPart
36
- } from "./chunk-YLL3SC5S.js";
36
+ } from "./chunk-NSESTZWP.js";
37
37
  import {
38
38
  stripAnsi
39
39
  } from "./chunk-TWPJO254.js";
@@ -17,6 +17,12 @@ var writeStderrLine = /* @__PURE__ */ __name((message) => {
17
17
  process.stderr.write(message.endsWith("\n") ? message : `${message}
18
18
  `);
19
19
  }, "writeStderrLine");
20
+ var writeStdoutLineSafe = /* @__PURE__ */ __name((message) => {
21
+ try {
22
+ writeStdoutLine(message);
23
+ } catch {
24
+ }
25
+ }, "writeStdoutLineSafe");
20
26
  var writeStderrLineSafe = /* @__PURE__ */ __name((message) => {
21
27
  try {
22
28
  writeStderrLine(message);
@@ -30,6 +36,7 @@ var clearScreen = /* @__PURE__ */ __name(() => {
30
36
  export {
31
37
  writeStdoutLine,
32
38
  writeStderrLine,
39
+ writeStdoutLineSafe,
33
40
  writeStderrLineSafe,
34
41
  clearScreen
35
42
  };
@@ -3,7 +3,7 @@
3
3
  import {
4
4
  DashScopeOpenAICompatibleProvider,
5
5
  DefaultOpenAICompatibleProvider
6
- } from "./chunk-4LLUH3A7.js";
6
+ } from "./chunk-HU5TUALO.js";
7
7
  import {
8
8
  RequestTokenizer
9
9
  } from "./chunk-H36SETQS.js";
@@ -41,7 +41,11 @@ import {
41
41
  import {
42
42
  ProtocolTagSanitizedEvent,
43
43
  logProtocolTagSanitized
44
- } from "./chunk-ZPGMDT4S.js";
44
+ } from "./chunk-LLM2DCGI.js";
45
+ import {
46
+ isQwenFamilyWireModel,
47
+ isTieredEffortWireModel
48
+ } from "./chunk-WOJZWRAZ.js";
45
49
  import {
46
50
  reconcileMaxTokens
47
51
  } from "./chunk-ZBVS26BY.js";
@@ -1404,9 +1408,15 @@ var ContentGenerationPipeline = class {
1404
1408
  const reasoningDisabled = request.config?.thinkingConfig?.includeThoughts === false || this.contentGeneratorConfig.reasoning === false;
1405
1409
  if (reasoningDisabled) {
1406
1410
  const typed2 = providerRequest;
1407
- if (!thinkingMandatory && (model.startsWith("qwen") || model === "coder-model")) {
1411
+ if (!thinkingMandatory && isQwenFamilyWireModel(model)) {
1408
1412
  if (isDashScope) {
1409
- typed2["enable_thinking"] = false;
1413
+ if (isTieredEffortWireModel(model)) {
1414
+ delete typed2["enable_thinking"];
1415
+ delete typed2["thinking_budget"];
1416
+ typed2["reasoning_effort"] = "none";
1417
+ } else {
1418
+ typed2["enable_thinking"] = false;
1419
+ }
1410
1420
  } else {
1411
1421
  delete typed2["enable_thinking"];
1412
1422
  const existing = typed2["chat_template_kwargs"] ?? {};
@@ -1444,7 +1454,11 @@ var ContentGenerationPipeline = class {
1444
1454
  }
1445
1455
  const typed = providerRequest;
1446
1456
  const reasoningEffort = typed["reasoning_effort"];
1447
- if (isDashScope && typed["tool_choice"] === "required" && (thinkingMandatory || typed["enable_thinking"] === true || typeof reasoningEffort === "string" && reasoningEffort !== "none")) {
1457
+ if (isDashScope && typed["tool_choice"] === "required" && (thinkingMandatory || isQwenFamilyWireModel(model) && (typed["enable_thinking"] === true || typeof reasoningEffort === "string" && reasoningEffort !== "none"))) {
1458
+ debugLogger3.debug(
1459
+ "DashScope: dropping tool_choice=required while thinking is enabled",
1460
+ { model, reasoningEffort, thinkingMandatory }
1461
+ );
1448
1462
  delete typed["tool_choice"];
1449
1463
  }
1450
1464
  return providerRequest;
@@ -1533,7 +1547,10 @@ var ContentGenerationPipeline = class {
1533
1547
  const model = context.model.toLowerCase();
1534
1548
  const wireRequest = openaiRequest;
1535
1549
  const chatTemplateKwargs = wireRequest?.["chat_template_kwargs"];
1536
- if ((wireRequest?.["enable_thinking"] === false || chatTemplateKwargs?.["enable_thinking"] === false) && request.config?.abortSignal?.aborted !== true && isRequiredThinkingError(error)) {
1550
+ if ((wireRequest?.["enable_thinking"] === false || chatTemplateKwargs?.["enable_thinking"] === false || // The tier-native family's disable shape (reasoning_effort:
1551
+ // 'none') replaces enable_thinking: false on the wire; recognise
1552
+ // it so runtime learning still fires there.
1553
+ wireRequest?.["reasoning_effort"] === "none") && request.config?.abortSignal?.aborted !== true && isRequiredThinkingError(error)) {
1537
1554
  this.requiredThinkingModels.add(model);
1538
1555
  debugLogger3.warn("Retrying with required thinking enabled", {
1539
1556
  model,
@@ -2,20 +2,20 @@
2
2
  "use strict";
3
3
  import {
4
4
  getExtensionManager
5
- } from "./chunk-3GOCVBYR.js";
5
+ } from "./chunk-3NUZRMFI.js";
6
6
  import {
7
7
  parseChannelConfig
8
- } from "./chunk-LEZFUYPM.js";
8
+ } from "./chunk-LAAFLUQV.js";
9
9
  import {
10
10
  getPlugin,
11
11
  registerPlugin
12
- } from "./chunk-DTAPI453.js";
12
+ } from "./chunk-EMYZIABH.js";
13
13
  import {
14
14
  sanitizeLogText
15
15
  } from "./chunk-DIEFUBV6.js";
16
16
  import {
17
17
  loadSettings
18
- } from "./chunk-RM3F46UT.js";
18
+ } from "./chunk-IT4CNDZX.js";
19
19
  import {
20
20
  hashDaemonWorkspace
21
21
  } from "./chunk-MGSSJT27.js";
@@ -25,7 +25,7 @@ import {
25
25
  import {
26
26
  writeStderrLine,
27
27
  writeStdoutLine
28
- } from "./chunk-OWAK7LMW.js";
28
+ } from "./chunk-KGJGEEVR.js";
29
29
  import {
30
30
  init_esbuild_shims
31
31
  } from "./chunk-5O2XNYP6.js";
@@ -2,19 +2,19 @@
2
2
  "use strict";
3
3
  import {
4
4
  t
5
- } from "./chunk-K64OI7S7.js";
5
+ } from "./chunk-57XZYJ54.js";
6
6
  import {
7
7
  computeThresholds,
8
8
  getCoreSystemPrompt,
9
9
  resolveInteractionMode
10
- } from "./chunk-YLL3SC5S.js";
10
+ } from "./chunk-NSESTZWP.js";
11
11
  import {
12
12
  buildSkillLlmContent
13
13
  } from "./chunk-K623ENWT.js";
14
14
  import {
15
15
  DiscoveredMCPTool,
16
16
  uiTelemetryService
17
- } from "./chunk-ZPGMDT4S.js";
17
+ } from "./chunk-LLM2DCGI.js";
18
18
  import {
19
19
  ToolNames
20
20
  } from "./chunk-D7D7RXIJ.js";
@@ -1,12 +1,12 @@
1
1
  // Force strict mode and setup for ESM
2
2
  "use strict";
3
- import {
4
- getPlugin,
5
- supportedTypes
6
- } from "./chunk-DTAPI453.js";
7
3
  import {
8
4
  resolveChannelCwd
9
5
  } from "./chunk-VWOVHOTT.js";
6
+ import {
7
+ getPlugin,
8
+ supportedTypes
9
+ } from "./chunk-EMYZIABH.js";
10
10
  import {
11
11
  init_esbuild_shims
12
12
  } from "./chunk-5O2XNYP6.js";
@@ -1,5 +1,8 @@
1
1
  // Force strict mode and setup for ESM
2
2
  "use strict";
3
+ import {
4
+ defaultModalities
5
+ } from "./chunk-WOJZWRAZ.js";
3
6
  import {
4
7
  Mutex
5
8
  } from "./chunk-VGC4I5JJ.js";
@@ -19,15 +22,12 @@ import {
19
22
  } from "./chunk-D7D7RXIJ.js";
20
23
  import {
21
24
  DEFAULT_QWEN_MODEL
22
- } from "./chunk-XD2PNH3K.js";
25
+ } from "./chunk-4MBOMW76.js";
23
26
  import {
24
27
  estimateTextTokens,
25
28
  generateLegacyMcpToolName,
26
29
  normalizeToolNameForProvider
27
30
  } from "./chunk-46UV252V.js";
28
- import {
29
- normalize
30
- } from "./chunk-ZBVS26BY.js";
31
31
  import {
32
32
  InstallationManager
33
33
  } from "./chunk-TYERNYH4.js";
@@ -8982,7 +8982,7 @@ async function readTextCursorWindowFromHandle(fileHandle, request2) {
8982
8982
  let truncatedByBytes = false;
8983
8983
  let stop = false;
8984
8984
  let skipRestOfLine = false;
8985
- let sawCrlf = false;
8985
+ let sawCrlf = await precededByCrlfTerminator(fileHandle, startOffset);
8986
8986
  const emit = /* @__PURE__ */ __name((line, hadNewline) => {
8987
8987
  const separator = lines.length > 0 ? 1 : 0;
8988
8988
  const lineBytes = Buffer.byteLength(line, "utf8");
@@ -9069,6 +9069,9 @@ async function readTextCursorWindowFromHandle(fileHandle, request2) {
9069
9069
  true
9070
9070
  );
9071
9071
  consumedBytes = resumeAt - startOffset;
9072
+ if (!sawCrlf) {
9073
+ sawCrlf = await precededByCrlfTerminator(fileHandle, resumeAt);
9074
+ }
9072
9075
  }
9073
9076
  const content = lines.join("\n");
9074
9077
  const nextOffset = startOffset + consumedBytes;
@@ -9085,6 +9088,14 @@ async function readTextCursorWindowFromHandle(fileHandle, request2) {
9085
9088
  __name(readTextCursorWindowFromHandle, "readTextCursorWindowFromHandle");
9086
9089
  var UTF8_BOM_BYTES = 3;
9087
9090
  var LINE_FEED = 10;
9091
+ var CARRIAGE_RETURN = 13;
9092
+ async function precededByCrlfTerminator(fileHandle, startOffset) {
9093
+ if (startOffset < 2) return false;
9094
+ const probe = Buffer.alloc(2);
9095
+ const { bytesRead } = await fileHandle.read(probe, 0, 2, startOffset - 2);
9096
+ return bytesRead === 2 && probe[0] === CARRIAGE_RETURN && probe[1] === LINE_FEED;
9097
+ }
9098
+ __name(precededByCrlfTerminator, "precededByCrlfTerminator");
9088
9099
  async function hasUtf8Bom(fileHandle, fileSize) {
9089
9100
  if (fileSize < UTF8_BOM_BYTES) return false;
9090
9101
  const probe = Buffer.alloc(UTF8_BOM_BYTES);
@@ -14451,6 +14462,9 @@ var DiscoveredMCPToolInvocation = class _DiscoveredMCPToolInvocation extends Bas
14451
14462
  if (isAbortError(error)) {
14452
14463
  return false;
14453
14464
  }
14465
+ if (this.cliConfig?.getToolInvocationGuard?.()) {
14466
+ return false;
14467
+ }
14454
14468
  if (getMCPServerStatus(this.serverName) === "disconnected" /* DISCONNECTED */) {
14455
14469
  return true;
14456
14470
  }
@@ -16086,92 +16100,6 @@ __name(getFileReadDefaultPermission, "getFileReadDefaultPermission");
16086
16100
  // packages/core/src/services/visionBridge/vision-bridge-service.ts
16087
16101
  init_esbuild_shims();
16088
16102
 
16089
- // packages/core/src/core/modalityDefaults.ts
16090
- init_esbuild_shims();
16091
- var FULL_MULTIMODAL = {
16092
- image: true,
16093
- pdf: true,
16094
- audio: true,
16095
- video: true
16096
- };
16097
- var MODALITY_PATTERNS = [
16098
- // -------------------
16099
- // Google Gemini — full multimodal
16100
- // -------------------
16101
- [/^gemini-3/, FULL_MULTIMODAL],
16102
- [/^gemini-/, FULL_MULTIMODAL],
16103
- // -------------------
16104
- // OpenAI — image by default for all gpt/o-series models
16105
- // -------------------
16106
- [/^gpt-5/, { image: true }],
16107
- [/^gpt-/, { image: true }],
16108
- [/^o\d/, { image: true }],
16109
- // -------------------
16110
- // Anthropic Claude — image + pdf
16111
- // -------------------
16112
- [/^claude-/, { image: true, pdf: true }],
16113
- // -------------------
16114
- // Alibaba / Qwen
16115
- // -------------------
16116
- // Qwen Plus models: image + video support
16117
- [/^qwen3\.5-plus/, { image: true, video: true }],
16118
- [/^qwen3\.6-plus/, { image: true, video: true }],
16119
- [/^qwen3\.7-plus/, { image: true, video: true }],
16120
- // Qwen Max models (3.8+): image support
16121
- [/^qwen3\.8-max/, { image: true }],
16122
- [/^coder-model$/, { image: true, video: true }],
16123
- // Qwen VL (vision-language) models: image + video
16124
- [/^qwen-vl-/, { image: true, video: true }],
16125
- [/^qwen3-vl-/, { image: true, video: true }],
16126
- // Qwen coder / text models: text-only
16127
- [/^qwen3-coder-/, {}],
16128
- // Qwen3.6-35B-A3B (local quant variants) — image + video
16129
- [/^qwen3\.6-35b/, { image: true, video: true }],
16130
- [/^qwen/, {}],
16131
- // -------------------
16132
- // DeepSeek — text-only
16133
- // -------------------
16134
- [/^deepseek/, {}],
16135
- // -------------------
16136
- // Zhipu GLM
16137
- // -------------------
16138
- [/^glm-4\.5v/, { image: true }],
16139
- [/^glm-5(?:-|$)/, {}],
16140
- [/^glm-/, {}],
16141
- // -------------------
16142
- // MiniMax — M3 supports image + video input; older models default to text-only
16143
- // -------------------
16144
- [/^minimax-m3/i, { image: true, video: true }],
16145
- [/^minimax-/, {}],
16146
- // -------------------
16147
- // Moonshot / Kimi
16148
- // -------------------
16149
- [/^kimi-k3/, { image: true, video: true }],
16150
- [/^kimi-k2\./, { image: true, video: true }],
16151
- [/^kimi-/, {}],
16152
- // -------------------
16153
- // ByteDance Doubao — Seed-series and *-vision / *-vl models accept image
16154
- // input; other Doubao models (pro / lite / text) are text-only.
16155
- // (QwenLM/qwen-code#4876)
16156
- // -------------------
16157
- // seedance (text→video) and seedream (text→image) are generation models with
16158
- // text-only input — exclude them before the multimodal Seed chat series.
16159
- [/^doubao-seed(ance|ream)/, {}],
16160
- [/^doubao-seed/, { image: true }],
16161
- [/^doubao-.*(vision|vl)/, { image: true }],
16162
- [/^doubao/, {}]
16163
- ];
16164
- function defaultModalities(model) {
16165
- const norm = normalize(model);
16166
- for (const [regex, modalities] of MODALITY_PATTERNS) {
16167
- if (regex.test(norm)) {
16168
- return { ...modalities };
16169
- }
16170
- }
16171
- return {};
16172
- }
16173
- __name(defaultModalities, "defaultModalities");
16174
-
16175
16103
  // packages/core/src/utils/sideQuery.ts
16176
16104
  init_esbuild_shims();
16177
16105
  import { readFile as readFile2 } from "node:fs/promises";
@@ -17025,7 +16953,6 @@ var ReadFileTool = class _ReadFileTool extends BaseDeclarativeTool {
17025
16953
  };
17026
16954
 
17027
16955
  export {
17028
- defaultModalities,
17029
16956
  runSideQuery,
17030
16957
  VISION_BRIDGE_MAX_IMAGES,
17031
16958
  VISION_BRIDGE_MAX_IMAGE_BASE64_BYTES,
@@ -30,7 +30,7 @@ import {
30
30
  isChannelStartupReportType,
31
31
  isChannelWebhookEnqueueErrorCode,
32
32
  isChannelWebhookTaskResultMessage
33
- } from "./chunk-QONSRAEV.js";
33
+ } from "./chunk-YP5KH5Y7.js";
34
34
  import {
35
35
  createWorkerDiagnosticRedactor,
36
36
  normalizeWorkerDiagnostic,
@@ -39,6 +39,9 @@ import {
39
39
  import {
40
40
  channelSelectionNames
41
41
  } from "./chunk-ALMR3E6Q.js";
42
+ import {
43
+ EXTERNAL_TOOL_GUARD_TOKEN_ENV
44
+ } from "./chunk-BKHCW2BI.js";
42
45
  import {
43
46
  CHANNEL_WORKER_KILL_GRACE_MS,
44
47
  CHANNEL_WORKER_STARTUP_TIMEOUT_MS,
@@ -182,6 +185,7 @@ function createWorkerEnv(opts) {
182
185
  env[QWEN_DAEMON_WORKSPACE_ENV] = opts.workspace;
183
186
  delete env[QWEN_SERVER_TOKEN_ENV];
184
187
  delete env[QWEN_DAEMON_TOKEN_ENV];
188
+ delete env[EXTERNAL_TOOL_GUARD_TOKEN_ENV];
185
189
  if (opts.daemonToken) {
186
190
  env[QWEN_DAEMON_TOKEN_ENV] = opts.daemonToken;
187
191
  }
@@ -3,16 +3,16 @@
3
3
  import {
4
4
  settleChatRecording,
5
5
  subscribeToHeadlessChatRecordingFailures
6
- } from "./chunk-3H5RFLTS.js";
6
+ } from "./chunk-TVHTRN4G.js";
7
7
  import {
8
8
  handleAtCommand
9
- } from "./chunk-JDNWIXHJ.js";
9
+ } from "./chunk-AIVD3BA4.js";
10
10
  import {
11
11
  JsonOutputAdapter
12
- } from "./chunk-FEUXV3DC.js";
12
+ } from "./chunk-4HKEJS5D.js";
13
13
  import {
14
14
  StreamJsonOutputAdapter
15
- } from "./chunk-N3RERU5N.js";
15
+ } from "./chunk-I2O7DAYN.js";
16
16
  import {
17
17
  buildInitialSystemReminders,
18
18
  buildSystemMessage,
@@ -24,11 +24,11 @@ import {
24
24
  insertAfterFunctionResponses,
25
25
  isSlashCommand,
26
26
  normalizePartList
27
- } from "./chunk-IWYXZAGT.js";
27
+ } from "./chunk-RE7NVPE7.js";
28
28
  import {
29
29
  RunBudgetEnforcer,
30
30
  cleanupReviewWorktreeLeases
31
- } from "./chunk-GP4IMBX5.js";
31
+ } from "./chunk-ISWZRFDK.js";
32
32
  import {
33
33
  AlreadyReportedError,
34
34
  handleBudgetExceededError,
@@ -36,10 +36,10 @@ import {
36
36
  handleError,
37
37
  handleMaxTurnsExceededError,
38
38
  handleToolError
39
- } from "./chunk-VJPF6GF2.js";
39
+ } from "./chunk-GSSHJ5YH.js";
40
40
  import {
41
41
  isInlineModelOverrideAllowed
42
- } from "./chunk-WU5NBSLD.js";
42
+ } from "./chunk-VRAPDAZM.js";
43
43
  import {
44
44
  PLAN_MODE_ENTRY_SIBLING_SKIP_MESSAGE,
45
45
  buildSessionRecoveryPlanFromApiHistory,
@@ -57,7 +57,7 @@ import {
57
57
  parseAndFormatApiError,
58
58
  partitionByConcurrencySafety,
59
59
  restoreWorktreeContext
60
- } from "./chunk-YLL3SC5S.js";
60
+ } from "./chunk-NSESTZWP.js";
61
61
  import {
62
62
  parsePositiveIntegerEnv
63
63
  } from "./chunk-6PVPNMXU.js";
@@ -79,7 +79,7 @@ import {
79
79
  shouldRunVisionBridge,
80
80
  splitImageParts,
81
81
  uiTelemetryService
82
- } from "./chunk-ZPGMDT4S.js";
82
+ } from "./chunk-LLM2DCGI.js";
83
83
  import {
84
84
  ToolNames
85
85
  } from "./chunk-D7D7RXIJ.js";
@@ -93,7 +93,7 @@ import {
93
93
  } from "./chunk-3RXUYQJI.js";
94
94
  import {
95
95
  registerCleanup
96
- } from "./chunk-LSYVASZS.js";
96
+ } from "./chunk-ZKHTMT7B.js";
97
97
  import {
98
98
  init_esbuild_shims
99
99
  } from "./chunk-5O2XNYP6.js";
@@ -0,0 +1,22 @@
1
+ // Force strict mode and setup for ESM
2
+ "use strict";
3
+ import {
4
+ init_esbuild_shims
5
+ } from "./chunk-5O2XNYP6.js";
6
+
7
+ // packages/cli/src/serve/live/types.ts
8
+ init_esbuild_shims();
9
+ var LIVE_HOST_PROTOCOL_VERSION = 6;
10
+ var LIVE_HOST_BUNDLE_ID = "com.alibaba.qwen-code.live-host";
11
+ var LIVE_INPUT_AUDIO_EPOCH_BYTES = 8;
12
+
13
+ export {
14
+ LIVE_HOST_PROTOCOL_VERSION,
15
+ LIVE_HOST_BUNDLE_ID,
16
+ LIVE_INPUT_AUDIO_EPOCH_BYTES
17
+ };
18
+ /**
19
+ * @license
20
+ * Copyright 2026 Qwen Team
21
+ * SPDX-License-Identifier: Apache-2.0
22
+ */