@qwen-code/qwen-code 0.21.6-preview.0 → 0.21.7

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 (309) hide show
  1. package/bundled/qc-helper/docs/configuration/settings.md +19 -9
  2. package/bundled/qc-helper/docs/features/channels/dingtalk.md +1 -1
  3. package/bundled/qc-helper/docs/features/channels/github.md +31 -19
  4. package/bundled/qc-helper/docs/features/code-review.md +30 -1
  5. package/bundled/qc-helper/docs/qwen-serve.md +1 -1
  6. package/bundled/review/SKILL.md +59 -22
  7. package/chunks/{MaxSizedBox-A3UYJS6B.js → MaxSizedBox-ANWZBPTS.js} +38 -38
  8. package/chunks/{StandaloneSessionPicker-NGLY26I4.js → StandaloneSessionPicker-XKS3VU3A.js} +56 -55
  9. package/chunks/{acp-startup-profiler-3RICG2YW.js → acp-startup-profiler-ORIQ2CCQ.js} +2 -2
  10. package/chunks/{acpAgent-V54T2EEL.js → acpAgent-KUAZ3GCZ.js} +1091 -150
  11. package/chunks/{agent-2P53VL2L.js → agent-T6PTGX5R.js} +35 -35
  12. package/chunks/{agent-headless-6X4GCFRD.js → agent-headless-PR7YCB7S.js} +35 -35
  13. package/chunks/{anthropicContentGenerator-3CAHEZBM.js → anthropicContentGenerator-DTMVEL5M.js} +7 -7
  14. package/chunks/{artifact-tool-RROCCJDA.js → artifact-tool-U4VOZIK5.js} +2 -2
  15. package/chunks/{askUserQuestion-2EPPBPUZ.js → askUserQuestion-XOBQLPFA.js} +2 -2
  16. package/chunks/{bridge-TCFMLKHR.js → bridge-NU6YEEHK.js} +41 -41
  17. package/chunks/{channel-management-service-5XPPTWUQ.js → channel-management-service-FSQ7SHYI.js} +1 -1
  18. package/chunks/{channel-settings-store-B4HNMNQV.js → channel-settings-store-35VQVUVV.js} +42 -42
  19. package/chunks/{channel-worker-group-SVGPDH2C.js → channel-worker-group-JWQK224X.js} +5 -5
  20. package/chunks/{channel-worker-manager-72ZK2GTS.js → channel-worker-manager-77E3OXRQ.js} +5 -5
  21. package/chunks/{channel-worker-supervisor-NUEDVHX4.js → channel-worker-supervisor-62YWUGP2.js} +3 -3
  22. package/chunks/{chunk-XC656O42.js → chunk-22NBYCPD.js} +3 -3
  23. package/chunks/{chunk-WXS647W5.js → chunk-23RZCH76.js} +3 -3
  24. package/chunks/{chunk-O656RSMC.js → chunk-2U3WZGZG.js} +18 -10
  25. package/chunks/chunk-2VSTGY6M.js +107 -0
  26. package/chunks/{chunk-AU3XNTMV.js → chunk-33ACCIIY.js} +3 -3
  27. package/chunks/{chunk-MBEMTXQT.js → chunk-3K7FH2KQ.js} +1 -32
  28. package/chunks/{chunk-CJBRIJ7W.js → chunk-3NB7TSE2.js} +3 -3
  29. package/chunks/{chunk-QYPT3QUD.js → chunk-3ULCB3NE.js} +3 -3
  30. package/chunks/{chunk-7FUVSN4D.js → chunk-55LYDVPU.js} +1 -1
  31. package/chunks/{chunk-3ZRS2XNY.js → chunk-5KH532V7.js} +1 -1
  32. package/chunks/{chunk-P7LKADIT.js → chunk-6EOI4HOK.js} +7 -7
  33. package/chunks/{chunk-X6DV3WKN.js → chunk-6GONZVLS.js} +1 -1
  34. package/chunks/{chunk-T4XY5CT4.js → chunk-6HVUFDS2.js} +7 -7
  35. package/chunks/{chunk-5L6CQ4ZU.js → chunk-6M26GBKX.js} +2 -2
  36. package/chunks/{chunk-SPUDIAHX.js → chunk-6UWFTUQL.js} +530 -388
  37. package/chunks/{chunk-EKWNNQQD.js → chunk-6XJMFJ4D.js} +16 -10
  38. package/chunks/{chunk-72DZPDH4.js → chunk-6XU3PH66.js} +10 -5
  39. package/chunks/{chunk-WIPQR44Y.js → chunk-72LNFGUY.js} +3 -3
  40. package/chunks/{chunk-33FNCQSY.js → chunk-7MH4J33A.js} +2 -2
  41. package/chunks/{chunk-2AGOQ7QO.js → chunk-7UFKAV7Y.js} +118 -6
  42. package/chunks/{chunk-HKNSU4WX.js → chunk-AE77C5ZU.js} +198 -35
  43. package/chunks/{chunk-JELIWHXD.js → chunk-AOHJKPKL.js} +1 -1
  44. package/chunks/{chunk-GLNBDYUX.js → chunk-AXMWHKXA.js} +6 -2
  45. package/chunks/{chunk-H36SETQS.js → chunk-B2GJNDTV.js} +1 -1
  46. package/chunks/{chunk-QMBEW7EW.js → chunk-BGG4MBYD.js} +2 -2
  47. package/chunks/{chunk-QL4TN4HS.js → chunk-BRVWYMKV.js} +1 -1
  48. package/chunks/{chunk-6WBWIPBF.js → chunk-BVWVWGLE.js} +2 -2
  49. package/chunks/{chunk-WPKIU4PA.js → chunk-CB2464BK.js} +6 -6
  50. package/chunks/{chunk-2UISUFHQ.js → chunk-CJXIIILK.js} +3 -3
  51. package/chunks/{chunk-WK4TJUEA.js → chunk-CKASRHZI.js} +1 -1
  52. package/chunks/{chunk-Z7JILXGX.js → chunk-CNIID3TV.js} +3 -3
  53. package/chunks/{chunk-6KEN3RIC.js → chunk-CSZEXZBE.js} +3 -3
  54. package/chunks/{chunk-KKN2IE7Q.js → chunk-CTJLZLB5.js} +1 -1
  55. package/chunks/{chunk-5CDI4UOY.js → chunk-CXE7E23H.js} +131 -48
  56. package/chunks/{chunk-URJHXOSO.js → chunk-CYR3HI5X.js} +3 -3
  57. package/chunks/{chunk-546CDN6D.js → chunk-DBOFL3LQ.js} +3 -3
  58. package/chunks/{chunk-4LKVQFHM.js → chunk-DREZZAZM.js} +2 -2
  59. package/chunks/{chunk-2U7GPHA6.js → chunk-E33LOKRA.js} +1 -1
  60. package/chunks/{chunk-2DNKEBXY.js → chunk-EI3HZX6C.js} +1 -1
  61. package/chunks/{chunk-U25CMJYY.js → chunk-EKPKKXY2.js} +1 -1
  62. package/chunks/{chunk-QG2ACINA.js → chunk-EORNAQDT.js} +1 -1
  63. package/chunks/{chunk-432XCUHF.js → chunk-EQL65XGA.js} +1 -1
  64. package/chunks/{chunk-TYERNYH4.js → chunk-EUNWC2VS.js} +2 -2
  65. package/chunks/{chunk-CDHNGCJI.js → chunk-EUQTXRKZ.js} +7 -7
  66. package/chunks/{chunk-UH7Z7Y45.js → chunk-FOGU3LJX.js} +1 -1
  67. package/chunks/{chunk-BU4BRCPX.js → chunk-FPM27XN4.js} +5 -5
  68. package/chunks/{chunk-E4WHKETF.js → chunk-FVKHVJZQ.js} +2 -49
  69. package/chunks/{chunk-NKST54XA.js → chunk-FZBZSYKU.js} +1 -1
  70. package/chunks/{chunk-XZCMQUOF.js → chunk-GDXET5XU.js} +31 -3387
  71. package/chunks/{chunk-A5YZ3FA2.js → chunk-GM463R2B.js} +1 -1
  72. package/chunks/{chunk-MOHAWIAW.js → chunk-GNPNYXJB.js} +2 -2
  73. package/chunks/{chunk-AFZTZLFB.js → chunk-GSS34377.js} +3 -3
  74. package/chunks/{chunk-MVLM6PJK.js → chunk-H2UQ2M5Z.js} +6 -2
  75. package/chunks/{chunk-BK2UNYWD.js → chunk-HIBNSEJE.js} +12 -0
  76. package/chunks/{chunk-CXYBX4AL.js → chunk-HQB2KUAN.js} +1 -1
  77. package/chunks/{chunk-ZQL73PPE.js → chunk-HYRDKNUY.js} +2 -2
  78. package/chunks/{chunk-D7D7RXIJ.js → chunk-IC4Z6LX6.js} +1 -1
  79. package/chunks/{chunk-HU5TUALO.js → chunk-IIJEYBNH.js} +3 -3
  80. package/chunks/{chunk-DTAPI453.js → chunk-IUFV6FYU.js} +2 -2
  81. package/chunks/{chunk-MISUEWB4.js → chunk-J6SZID63.js} +12 -8
  82. package/chunks/{chunk-OWAK7LMW.js → chunk-KGJGEEVR.js} +7 -0
  83. package/chunks/{chunk-BFHXDAR7.js → chunk-KKBPOU75.js} +1 -1
  84. package/chunks/{chunk-XOZ2R6XI.js → chunk-KKJJB5X6.js} +3578 -1487
  85. package/chunks/{chunk-PQTK2FVO.js → chunk-KR4ZSC7K.js} +4 -4
  86. package/chunks/{chunk-NAYPZ72V.js → chunk-KXSDEOFU.js} +1 -1
  87. package/chunks/{chunk-MGSSJT27.js → chunk-L4N6TIP7.js} +5 -3
  88. package/chunks/{chunk-4T6QMNX2.js → chunk-LA7YLSR6.js} +185 -12
  89. package/chunks/{chunk-4E5PO6R7.js → chunk-LEMXGVEP.js} +4 -4
  90. package/chunks/{chunk-WVAESIM6.js → chunk-LZC3B5N2.js} +4 -4
  91. package/chunks/{chunk-6O5DVH27.js → chunk-M6HMMKVG.js} +1 -1
  92. package/chunks/{chunk-Z5S6KH2B.js → chunk-MAJS7AT4.js} +6 -6
  93. package/chunks/{chunk-XNZBXQCG.js → chunk-MKVZE4ZJ.js} +1 -1
  94. package/chunks/{chunk-I7JDGNG6.js → chunk-MVUQRLOH.js} +9 -5
  95. package/chunks/{chunk-GLWP3FDB.js → chunk-MZSJ43WV.js} +31 -2
  96. package/chunks/{chunk-ZPPP6VCL.js → chunk-NG2R4N5O.js} +1 -1
  97. package/chunks/chunk-NKLP3DCK.js +22 -0
  98. package/chunks/{chunk-WIRAPZ62.js → chunk-NLREQJFK.js} +7 -1
  99. package/chunks/{chunk-N47ZM2KI.js → chunk-OFI7IGST.js} +12 -12
  100. package/chunks/{chunk-DBIEZC7T.js → chunk-OH2VKQXH.js} +42 -16
  101. package/chunks/{chunk-C4GRKMUL.js → chunk-OHJLEW5J.js} +5 -5
  102. package/chunks/{chunk-3RXUYQJI.js → chunk-OIVKILPI.js} +49 -0
  103. package/chunks/{chunk-VDLXPEI5.js → chunk-OMKQH5C5.js} +3 -3
  104. package/chunks/{chunk-LBWNSLJK.js → chunk-ONSZH6VM.js} +2 -2
  105. package/chunks/{chunk-DYA25Y7U.js → chunk-OWMAZHIX.js} +1 -1
  106. package/chunks/{chunk-WAOLM6SQ.js → chunk-P2AJ7FTI.js} +1 -1
  107. package/chunks/{chunk-MFBUJMQ3.js → chunk-P3LEG54R.js} +4 -4
  108. package/chunks/{chunk-WVRJKSIG.js → chunk-PJOBIWUG.js} +1 -1
  109. package/chunks/{chunk-YUVTZ4UH.js → chunk-PQBHU2IA.js} +114 -18
  110. package/chunks/{chunk-GTM6IHBB.js → chunk-Q3JQ7OSU.js} +2 -1
  111. package/chunks/{chunk-IISDPZ5X.js → chunk-QETYKPMG.js} +1 -1
  112. package/chunks/{chunk-UKZEXS6K.js → chunk-R574ATRM.js} +11 -0
  113. package/chunks/{chunk-DOICUTPO.js → chunk-RERATVSK.js} +11 -10
  114. package/chunks/chunk-RGSBTHSU.js +3381 -0
  115. package/chunks/{chunk-6D6V55ZQ.js → chunk-RMH5OWLD.js} +1 -1
  116. package/chunks/{chunk-AVDEBBMI.js → chunk-RNVQB725.js} +2 -2
  117. package/chunks/{chunk-QWUYFMAR.js → chunk-RUL4S3K3.js} +87 -67
  118. package/chunks/{chunk-RTWF7FF7.js → chunk-RZHU3ILK.js} +5 -5
  119. package/chunks/{chunk-3DTM3RPU.js → chunk-S7CV4KO6.js} +3 -3
  120. package/chunks/{chunk-ZH7G3A4U.js → chunk-SCI7K3GM.js} +4 -4
  121. package/chunks/{chunk-YAVY33G4.js → chunk-SEZ556DZ.js} +1 -1
  122. package/chunks/{chunk-6KZP75GT.js → chunk-SHZYHGQH.js} +1 -1
  123. package/chunks/chunk-SOORFWKY.js +155 -0
  124. package/chunks/{chunk-NYZAL2W2.js → chunk-SPMY6CX6.js} +4 -4
  125. package/chunks/{chunk-EHMN6SEG.js → chunk-TDXGKHDN.js} +4 -4
  126. package/chunks/{chunk-XKTCA6BW.js → chunk-TLV2IMHR.js} +5 -5
  127. package/chunks/{chunk-XSGQKR37.js → chunk-TRLYP7OF.js} +358 -20
  128. package/chunks/{chunk-DG563ZCS.js → chunk-TYKC75AX.js} +3 -3
  129. package/chunks/{chunk-KVUBYJDM.js → chunk-TZEZYNYD.js} +1 -1
  130. package/chunks/{chunk-XC2VAFVZ.js → chunk-UVX4Y6IN.js} +1 -1
  131. package/chunks/{chunk-IKXE3AAC.js → chunk-VOARQPTA.js} +2 -2
  132. package/chunks/{chunk-TVFC3XF5.js → chunk-W4B7UBUS.js} +7 -7
  133. package/chunks/{chunk-M744OFVE.js → chunk-W7U4ESW2.js} +1 -1
  134. package/chunks/{chunk-URN76TKR.js → chunk-WCG5O7IP.js} +2 -2
  135. package/chunks/{chunk-A6SX5TAH.js → chunk-XCWO3SMQ.js} +9 -5
  136. package/chunks/{chunk-FDV3CXTD.js → chunk-Y4EWSQF7.js} +3 -3
  137. package/chunks/{chunk-3PRJYMXC.js → chunk-Y4NGLFGJ.js} +1 -1
  138. package/chunks/{chunk-DOA7MCDY.js → chunk-Y7E5LNLO.js} +973 -892
  139. package/chunks/{chunk-3LGZEYOF.js → chunk-YHEEE624.js} +2 -2
  140. package/chunks/{chunk-Y5HIDFKZ.js → chunk-YJQCUTT2.js} +4 -4
  141. package/chunks/{chunk-QONSRAEV.js → chunk-YP5KH5Y7.js} +1 -1
  142. package/chunks/{chunk-SQ3ZJOYL.js → chunk-ZJ3VGYHK.js} +20 -20
  143. package/chunks/{chunk-7GYP5COR.js → chunk-ZXU5UHMI.js} +1 -1
  144. package/chunks/{computer-use-GTOP2CVH.js → computer-use-KEAPATUY.js} +35 -35
  145. package/chunks/{config-utils-LIRO7NSU.js → config-utils-K7SCOWHD.js} +2 -2
  146. package/chunks/{contextCommand-K6T6RRF3.js → contextCommand-ZJA6A5K5.js} +38 -38
  147. package/chunks/{core-runtime-D2626QQU.js → core-runtime-QMJPWHCI.js} +35 -35
  148. package/chunks/create-sub-session-DJE6XICH.js +772 -0
  149. package/chunks/{create-sub-session-6EWLAZD5.js → create-sub-session-E4PBYXV5.js} +2 -2
  150. package/chunks/{cron-create-CCRIULJE.js → cron-create-GRBWYMIJ.js} +4 -4
  151. package/chunks/{cron-delete-FCFW6BGP.js → cron-delete-4CMKBR2M.js} +4 -4
  152. package/chunks/{cron-list-QDBVCHRF.js → cron-list-W7K4ASOA.js} +4 -4
  153. package/chunks/{daemon-CCIX4BMG.js → daemon-SCTQMM7Z.js} +165 -5
  154. package/chunks/{daemon-status-provider-2EHRZZVF.js → daemon-status-provider-FSWDPE2G.js} +45 -45
  155. package/chunks/{daemon-trust-policy-B3EPDJDR.js → daemon-trust-policy-P5L5VFAY.js} +41 -41
  156. package/chunks/{daemon-trust-policy-monitor-MFM5X26G.js → daemon-trust-policy-monitor-73JYN6ET.js} +41 -41
  157. package/chunks/{deferred-core-runtime-KXN7HLN7.js → deferred-core-runtime-BWRCCFTE.js} +35 -35
  158. package/chunks/discovery-XLHITE74.js +220 -0
  159. package/chunks/{display-image-GUJA352B.js → display-image-O2XFPQTC.js} +4 -4
  160. package/chunks/{dist-A7H2KKUC.js → dist-K4WWQBHS.js} +277 -98
  161. package/chunks/{dist-IKGVITP3.js → dist-KS4O2NKE.js} +99 -6
  162. package/chunks/{earlyInputCapture-WUNYYFOS.js → earlyInputCapture-L5ST23A6.js} +36 -36
  163. package/chunks/{edit-DMFCBP2D.js → edit-LHHRFNFK.js} +35 -35
  164. package/chunks/{enter-worktree-5SVBCXFC.js → enter-worktree-6NXCRZPF.js} +35 -35
  165. package/chunks/{enterPlanMode-QUIZFQ4M.js → enterPlanMode-ZVQT4U7D.js} +35 -35
  166. package/chunks/{environment-U6QP23VJ.js → environment-GJ2HWJOS.js} +38 -38
  167. package/chunks/{errors-GZWFA6ON.js → errors-6RLH3XXC.js} +38 -38
  168. package/chunks/{exit-worktree-FUB44KAF.js → exit-worktree-I2YLUHHY.js} +35 -35
  169. package/chunks/{exitPlanMode-XSHHYR73.js → exitPlanMode-7CCWKO7I.js} +35 -35
  170. package/chunks/{fast-path-JHQJSIMZ.js → fast-path-DVFD4HQD.js} +2 -2
  171. package/chunks/{gemini-O44ETOKT.js → gemini-7FWGOYD4.js} +78 -78
  172. package/chunks/{geminiContentGenerator-TTM4TZJM.js → geminiContentGenerator-V2WVLIXU.js} +6 -6
  173. package/chunks/{glob-YECOWTRW.js → glob-3N6GGI75.js} +35 -35
  174. package/chunks/{goal-tools-3AZKX5WQ.js → goal-tools-APOW6UXL.js} +3 -3
  175. package/chunks/{grep-BZO4LOTA.js → grep-V43ILZVX.js} +35 -35
  176. package/chunks/{handleAutoUpdate-TOO52D6H.js → handleAutoUpdate-A5WFVWIA.js} +40 -40
  177. package/chunks/{i18n-ARJYXZQ5.js → i18n-PLVQ4FBZ.js} +37 -37
  178. package/chunks/{image-gen-J6Q2YBEU.js → image-gen-7C6IK6DC.js} +9 -9
  179. package/chunks/{initializer-CEZ4RPQV.js → initializer-CVAIKZYL.js} +42 -42
  180. package/chunks/{installationInfo-AEGIIQAT.js → installationInfo-J6QDHNTK.js} +36 -36
  181. package/chunks/{keychain-token-storage-7BT4TQ2A.js → keychain-token-storage-TVAMTNP7.js} +2 -2
  182. package/chunks/{list-7XLPV5GC.js → list-ZZ4OUUWV.js} +44 -44
  183. package/chunks/{list-agents-GC4BRET7.js → list-agents-KFFIIS2G.js} +2 -2
  184. package/chunks/{loadedSettingsAdapter-YK5SBHOT.js → loadedSettingsAdapter-QRYRJSWL.js} +41 -41
  185. package/chunks/{loggingContentGenerator-I7QDXS43.js → loggingContentGenerator-OJCO75HM.js} +17 -17
  186. package/chunks/{loop-wakeup-SQQSBMEY.js → loop-wakeup-TLMJPMMP.js} +5 -5
  187. package/chunks/{ls-63CC3NNX.js → ls-UVVE2XGE.js} +4 -4
  188. package/chunks/{lsp-P6NVJVNT.js → lsp-QMEA2VLB.js} +2 -2
  189. package/chunks/{managed-npm-update-YSL7PA7G.js → managed-npm-update-PCOSCP2N.js} +48 -39
  190. package/chunks/{mcp-RKFQZXP6.js → mcp-M3WKKWKY.js} +41 -41
  191. package/chunks/{monitor-QHHJIKGL.js → monitor-GN24FH6C.js} +35 -35
  192. package/chunks/{nonInteractiveCli-XEBIE7MG.js → nonInteractiveCli-KPTU3VSQ.js} +75 -75
  193. package/chunks/{notebook-edit-SG7X2EQA.js → notebook-edit-4YM65BBO.js} +35 -35
  194. package/chunks/{openaiContentGenerator-63CVR33K.js → openaiContentGenerator-EDQT6GTV.js} +19 -19
  195. package/chunks/{pidfile-I3CXJGQD.js → pidfile-JOIIRN2C.js} +36 -36
  196. package/chunks/{processUtils-LJ3DSANX.js → processUtils-5SV4MX3Q.js} +2 -2
  197. package/chunks/{qwenContentGenerator-JINBVCH6.js → qwenContentGenerator-ODRJSUGR.js} +40 -40
  198. package/chunks/{qwenOAuth2-SY2O3NRR.js → qwenOAuth2-NESCMZ47.js} +8 -8
  199. package/chunks/{read-file-PGTXF25I.js → read-file-HPSODLPK.js} +10 -10
  200. package/chunks/{read-mcp-resource-RTSSEER5.js → read-mcp-resource-2TNSJTC3.js} +2 -2
  201. package/chunks/{record-artifact-E6AWQU2Z.js → record-artifact-RAON52FC.js} +3 -3
  202. package/chunks/{resumeHistoryUtils-FB2NFVZ2.js → resumeHistoryUtils-TXCOFFMQ.js} +42 -41
  203. package/chunks/{ripGrep-IY3KGPM6.js → ripGrep-ZKQGTQAO.js} +35 -35
  204. package/chunks/{run-qwen-serve-UYEMGPKA.js → run-qwen-serve-ZPKPKECF.js} +516 -87
  205. package/chunks/{runtime-CG3BKRFE.js → runtime-2FLNNM36.js} +44 -44
  206. package/chunks/{scheduler-VFUVGDE5.js → scheduler-365PJHNR.js} +35 -35
  207. package/chunks/{sdk-exporters-http-IL2346MJ.js → sdk-exporters-http-KHAB5JSD.js} +2 -2
  208. package/chunks/{sdk-impl-SYKGVWOZ.js → sdk-impl-KD7FSTC3.js} +2 -2
  209. package/chunks/{send-message-TL6FIMMN.js → send-message-ZM7MRUGP.js} +5 -5
  210. package/chunks/{serve-ZCCQ2G2L.js → serve-QD2RNLKJ.js} +42 -42
  211. package/chunks/{server-WS7LWXPP.js → server-XLJVLTYM.js} +7952 -611
  212. package/chunks/{session-IQLCT32T.js → session-3VTUHH4Q.js} +78 -78
  213. package/chunks/{settings-NX4EUIE6.js → settings-KULVPCQC.js} +40 -40
  214. package/chunks/{shell-THDYM4CS.js → shell-3SWW22MH.js} +35 -35
  215. package/chunks/{skill-OXXZBNQB.js → skill-KDHWYS7W.js} +14 -14
  216. package/chunks/{skill-settings-T3JZ33T2.js → skill-settings-NMY4JEJC.js} +40 -40
  217. package/chunks/{spawnChannel-COLJMSA7.js → spawnChannel-ZKS4Q5OU.js} +37 -37
  218. package/chunks/{standalone-update-ICW7H5IF.js → standalone-update-7CXPGAQ4.js} +38 -38
  219. package/chunks/{startInteractiveUI-6BDRXSMF.js → startInteractiveUI-2QQLEKM6.js} +473 -233
  220. package/chunks/{stdioHelpers-HGIYTWAY.js → stdioHelpers-7A2EE64Z.js} +5 -3
  221. package/chunks/{syntheticOutput-BN7E626U.js → syntheticOutput-ZLCUTKO2.js} +3 -3
  222. package/chunks/{task-create-2X4UP4F3.js → task-create-CQP5UEA3.js} +9 -9
  223. package/chunks/{task-list-WOLJPZ64.js → task-list-XLEZOJXP.js} +5 -5
  224. package/chunks/{task-stop-TNXRNAL2.js → task-stop-7ZQM5CFF.js} +2 -2
  225. package/chunks/{task-update-VDUSN36E.js → task-update-JA75U2SN.js} +9 -9
  226. package/chunks/{team-create-BCSMDK4Z.js → team-create-2WTNGAOX.js} +35 -35
  227. package/chunks/{team-delete-D2VMSDOT.js → team-delete-MHY3UZGY.js} +5 -5
  228. package/chunks/{team-plan-approval-B5YRLJFV.js → team-plan-approval-LZTYLEG4.js} +35 -35
  229. package/chunks/{terminal-image-renderer-PW6Z6VFY.js → terminal-image-renderer-R5HHAFJN.js} +41 -36
  230. package/chunks/{theme-manager-CMVKD2JH.js → theme-manager-PAUCSJFF.js} +36 -36
  231. package/chunks/{todoWrite-MHWHO5UO.js → todoWrite-UPVOHYGD.js} +4 -4
  232. package/chunks/{tool-search-SQTUSG6P.js → tool-search-2BFCGLI6.js} +13 -13
  233. package/chunks/{total-session-admission-XAXOSE46.js → total-session-admission-MK4SINFK.js} +41 -41
  234. package/chunks/{trustedFolders-Z2UAEG2V.js → trustedFolders-TJ5S26N7.js} +37 -37
  235. package/chunks/{update-relaunch-JBLI6LJF.js → update-relaunch-N7AYLARF.js} +6 -6
  236. package/chunks/{updateCheck-FDAVGOFT.js → updateCheck-QRZ3DVT5.js} +39 -39
  237. package/chunks/{useAutoAcceptIndicator-PDZFIYRM.js → useAutoAcceptIndicator-DBJ7Y5AF.js} +44 -44
  238. package/chunks/{validateNonInterActiveAuth-Q4763ONQ.js → validateNonInterActiveAuth-6ZQWUDS3.js} +72 -72
  239. package/chunks/{version-C7MPCGWD.js → version-AJQGQWXC.js} +1 -1
  240. package/chunks/{web-fetch-L7RAPOJB.js → web-fetch-QWJYRXFL.js} +13 -13
  241. package/chunks/{web-search-IDOYUOWX.js → web-search-2AOXJGHU.js} +9 -9
  242. package/chunks/web-shell-static-O73YPVVC.js +33 -0
  243. package/chunks/{workflow-HXURUJB5.js → workflow-ERH3SJG2.js} +36 -36
  244. package/chunks/{workspace-providers-status-JZ3GPWNU.js → workspace-providers-status-HZ474RA4.js} +44 -44
  245. package/chunks/{workspace-registration-store-SM2PWB6L.js → workspace-registration-store-6EUP4JXG.js} +1 -1
  246. package/chunks/{workspace-registry-6W4ES7BJ.js → workspace-registry-R4APRRNC.js} +41 -41
  247. package/chunks/{workspace-service-V47ZFJRX.js → workspace-service-HFIFDMU7.js} +46 -46
  248. package/chunks/{workspace-skills-status-6ZQ45XKA.js → workspace-skills-status-HAHEIHGK.js} +42 -42
  249. package/chunks/{workspace-trust-reconciler-6V25LMCN.js → workspace-trust-reconciler-65GTAGDK.js} +50 -50
  250. package/chunks/{write-file-H2QOF25K.js → write-file-B34CDELV.js} +35 -35
  251. package/chunks/{zoom-image-JTUSS43N.js → zoom-image-HPRBZHSS.js} +10 -10
  252. package/cli.js +15 -15
  253. package/package.json +3 -3
  254. package/web-shell/assets/{arc-DtI1rZcQ.js → arc-Ip-FFDJ0.js} +1 -1
  255. package/web-shell/assets/{architectureDiagram-3BPJPVTR-BPZwSVct.js → architectureDiagram-3BPJPVTR-CChqgwIb.js} +1 -1
  256. package/web-shell/assets/{blockDiagram-GPEHLZMM-BIQ03j4C.js → blockDiagram-GPEHLZMM-BHN-Tfss.js} +1 -1
  257. package/web-shell/assets/{c4Diagram-AAUBKEIU-CB0RyFGm.js → c4Diagram-AAUBKEIU-BhyjzDjN.js} +1 -1
  258. package/web-shell/assets/channel-Cu8qd6OB.js +1 -0
  259. package/web-shell/assets/{chunk-2J33WTMH-B3WoS-4H.js → chunk-2J33WTMH-BB9eyHrx.js} +1 -1
  260. package/web-shell/assets/{chunk-4BX2VUAB-C98xYZ1X.js → chunk-4BX2VUAB-BeV7ce_J.js} +1 -1
  261. package/web-shell/assets/{chunk-55IACEB6-CbTIWRwQ.js → chunk-55IACEB6-DO7kXDiV.js} +1 -1
  262. package/web-shell/assets/{chunk-727SXJPM-DWGnKTPu.js → chunk-727SXJPM-B27MPznD.js} +1 -1
  263. package/web-shell/assets/{chunk-AQP2D5EJ-4__QyCEX.js → chunk-AQP2D5EJ-DHIjqjD_.js} +1 -1
  264. package/web-shell/assets/{chunk-FMBD7UC4-DFtG1YCW.js → chunk-FMBD7UC4-DabMqyN2.js} +1 -1
  265. package/web-shell/assets/{chunk-ND2GUHAM-rvAhW51N.js → chunk-ND2GUHAM-Dw7Nnnxc.js} +1 -1
  266. package/web-shell/assets/{chunk-QZHKN3VN-DfiU9pwZ.js → chunk-QZHKN3VN-DdaZew1Q.js} +1 -1
  267. package/web-shell/assets/classDiagram-4FO5ZUOK-BI3KrXhq.js +1 -0
  268. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-BI3KrXhq.js +1 -0
  269. package/web-shell/assets/{cose-bilkent-S5V4N54A-Cc4EIdxu.js → cose-bilkent-S5V4N54A-CgBpCYH5.js} +1 -1
  270. package/web-shell/assets/{dagre-BM42HDAG-CZNj4dGW.js → dagre-BM42HDAG-BB4IU8G0.js} +1 -1
  271. package/web-shell/assets/{diagram-2AECGRRQ-D5tiqQCr.js → diagram-2AECGRRQ-BcUTHU37.js} +1 -1
  272. package/web-shell/assets/{diagram-5GNKFQAL-pwzw0jVO.js → diagram-5GNKFQAL-B6Lyihyv.js} +1 -1
  273. package/web-shell/assets/{diagram-KO2AKTUF-4CWiM00x.js → diagram-KO2AKTUF-CRIJOjpG.js} +1 -1
  274. package/web-shell/assets/{diagram-LMA3HP47-Dd7rc7Qf.js → diagram-LMA3HP47-DdNiwWWT.js} +1 -1
  275. package/web-shell/assets/{diagram-OG6HWLK6-_vzV52ml.js → diagram-OG6HWLK6-Dz4b32Do.js} +1 -1
  276. package/web-shell/assets/{erDiagram-TEJ5UH35-CqbE2bx_.js → erDiagram-TEJ5UH35-D-8NGw77.js} +1 -1
  277. package/web-shell/assets/{flowDiagram-I6XJVG4X-CaxNr7w4.js → flowDiagram-I6XJVG4X-Dun26LyM.js} +1 -1
  278. package/web-shell/assets/{ganttDiagram-6RSMTGT7-AGjrtfUA.js → ganttDiagram-6RSMTGT7-F10Hu1Gc.js} +1 -1
  279. package/web-shell/assets/{gitGraphDiagram-PVQCEYII-ADG2zSkc.js → gitGraphDiagram-PVQCEYII-Bf8Ez6-D.js} +1 -1
  280. package/web-shell/assets/{index-BOryKCqt.js → index-BXqw-nGq.js} +1 -1
  281. package/web-shell/assets/index-QQlUCJGg.css +5 -0
  282. package/web-shell/assets/index-hcgjV7vS.js +1768 -0
  283. package/web-shell/assets/{infoDiagram-5YYISTIA-CE3B_IoZ.js → infoDiagram-5YYISTIA-DVgTMLvj.js} +1 -1
  284. package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-CN-Frhoi.js → ishikawaDiagram-YF4QCWOH-uT-KepvK.js} +1 -1
  285. package/web-shell/assets/{journeyDiagram-JHISSGLW-CGgezS93.js → journeyDiagram-JHISSGLW-Vg_XadQf.js} +1 -1
  286. package/web-shell/assets/{kanban-definition-UN3LZRKU-BqWijky5.js → kanban-definition-UN3LZRKU-Dyv1ESBE.js} +1 -1
  287. package/web-shell/assets/{linear-D8sfpZf6.js → linear-BMIepYX3.js} +1 -1
  288. package/web-shell/assets/{mermaid.core-3PA4QrzM.js → mermaid.core-zA8pJ9ag.js} +5 -5
  289. package/web-shell/assets/{mindmap-definition-RKZ34NQL-D9QxwiCY.js → mindmap-definition-RKZ34NQL-BCW_BZ_5.js} +1 -1
  290. package/web-shell/assets/{pieDiagram-4H26LBE5-Bioaf6uE.js → pieDiagram-4H26LBE5-DseNEGp2.js} +1 -1
  291. package/web-shell/assets/{quadrantDiagram-W4KKPZXB-DBb2AS73.js → quadrantDiagram-W4KKPZXB-6Z7wr1Fi.js} +1 -1
  292. package/web-shell/assets/{requirementDiagram-4Y6WPE33-DXOvZ3KB.js → requirementDiagram-4Y6WPE33-CVOlCRPf.js} +1 -1
  293. package/web-shell/assets/{sankeyDiagram-5OEKKPKP-D9qg09Dm.js → sankeyDiagram-5OEKKPKP-CGhgrUJZ.js} +1 -1
  294. package/web-shell/assets/{sequenceDiagram-3UESZ5HK-DSAUIfpw.js → sequenceDiagram-3UESZ5HK-dlqmpLuQ.js} +1 -1
  295. package/web-shell/assets/{stateDiagram-AJRCARHV-BPZkzfQ3.js → stateDiagram-AJRCARHV-B9EW10Xb.js} +1 -1
  296. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-CJTZJJ5X.js +1 -0
  297. package/web-shell/assets/{timeline-definition-PNZ67QCA-UDaQp9sP.js → timeline-definition-PNZ67QCA-BBRh0mgZ.js} +1 -1
  298. package/web-shell/assets/{vennDiagram-CIIHVFJN-2ouhAnHO.js → vennDiagram-CIIHVFJN-B8Gs-REP.js} +1 -1
  299. package/web-shell/assets/{wardley-L42UT6IY-Cq_WEvTK.js → wardley-L42UT6IY-D_y80Ur7.js} +1 -1
  300. package/web-shell/assets/{wardleyDiagram-YWT4CUSO-Dt24aXOM.js → wardleyDiagram-YWT4CUSO-D-CNfHJ-.js} +1 -1
  301. package/web-shell/assets/{xychartDiagram-2RQKCTM6-A5Xk2WCH.js → xychartDiagram-2RQKCTM6-DQ5CvELo.js} +1 -1
  302. package/web-shell/index.html +2 -2
  303. package/chunks/create-sub-session-MWUWNBM6.js +0 -401
  304. package/web-shell/assets/channel-vfbVFuM1.js +0 -1
  305. package/web-shell/assets/classDiagram-4FO5ZUOK-Cvr8atq3.js +0 -1
  306. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-Cvr8atq3.js +0 -1
  307. package/web-shell/assets/index-Cb1LjsCv.css +0 -5
  308. package/web-shell/assets/index-CvJDaIy8.js +0 -1756
  309. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-DInOqnhZ.js +0 -1
@@ -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
+ */
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  SkillError
5
- } from "./chunk-MISUEWB4.js";
5
+ } from "./chunk-J6SZID63.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";
@@ -90,6 +90,9 @@ var SERVE_CONTROL_EXT_METHODS = {
90
90
  sessionTitle: "qwen/control/session/title",
91
91
  sessionParent: "qwen/control/session/parent",
92
92
  sessionSource: "qwen/control/session/source",
93
+ sessionLiveConversation: "qwen/control/session/live-conversation",
94
+ sessionLiveTranscript: "qwen/control/session/live-transcript",
95
+ sessionBackgroundNotification: "qwen/control/session/background_notification",
93
96
  sessionArtifactsPersist: "qwen/control/session/artifacts/persist",
94
97
  workspaceMcpRestart: "qwen/control/workspace/mcp/restart",
95
98
  workspaceMcpManage: "qwen/control/workspace/mcp/manage",
@@ -147,6 +150,9 @@ var SERVE_CONTROL_EXT_METHODS = {
147
150
  * `first-turn` mode, which waits for the sub-session's first turn to finish).
148
151
  */
149
152
  createSubSession: "qwen/control/create-sub-session",
153
+ liveCaptureScreenContext: "qwen/control/live/capture-screen-context",
154
+ liveTaskTool: "qwen/control/live/task-tool",
155
+ liveSpeakToUser: "qwen/control/live/speak-to-user",
150
156
  channelDelivery: "qwen/control/channel-delivery"
151
157
  };
152
158
  var IDLE_HOOK_EVENTS = {
@@ -2,32 +2,32 @@
2
2
  "use strict";
3
3
  import {
4
4
  appEvents
5
- } from "./chunk-XOZ2R6XI.js";
5
+ } from "./chunk-KKJJB5X6.js";
6
6
  import {
7
7
  CUSTOM_SANDBOX_IMAGE_ENV_VAR,
8
8
  HOST_UPDATE_RELAUNCH_ENV_VAR,
9
9
  SKIP_UPDATE_CHECK_ENV_VAR,
10
10
  requestUpdateOnExit
11
- } from "./chunk-CXYBX4AL.js";
11
+ } from "./chunk-HQB2KUAN.js";
12
12
  import {
13
13
  loadUndici
14
14
  } from "./chunk-3Z43GZUQ.js";
15
15
  import {
16
16
  IdeClient,
17
17
  getAllProviderBaseUrls
18
- } from "./chunk-DOA7MCDY.js";
18
+ } from "./chunk-Y7E5LNLO.js";
19
19
  import {
20
20
  detectRuntime,
21
21
  getOrCreateSharedDispatcher,
22
22
  preloadRuntimeFetchModule,
23
23
  redactProxyCredentials
24
- } from "./chunk-BFHXDAR7.js";
24
+ } from "./chunk-KKBPOU75.js";
25
25
  import {
26
26
  initializeTelemetry
27
- } from "./chunk-5L6CQ4ZU.js";
27
+ } from "./chunk-6M26GBKX.js";
28
28
  import {
29
29
  createDebugLogger
30
- } from "./chunk-3RXUYQJI.js";
30
+ } from "./chunk-OIVKILPI.js";
31
31
  import {
32
32
  recordStartupEvent
33
33
  } from "./chunk-QSWDGAIC.js";
@@ -231,11 +231,11 @@ function startPostRenderPrefetches(config, settings, options = {}) {
231
231
  { updateEventEmitter },
232
232
  { t }
233
233
  ] = await Promise.all([
234
- import("./updateCheck-FDAVGOFT.js"),
235
- import("./handleAutoUpdate-TOO52D6H.js"),
236
- import("./installationInfo-AEGIIQAT.js"),
234
+ import("./updateCheck-QRZ3DVT5.js"),
235
+ import("./handleAutoUpdate-A5WFVWIA.js"),
236
+ import("./installationInfo-J6QDHNTK.js"),
237
237
  import("./updateEventEmitter-5MKC7BLQ.js"),
238
- import("./i18n-ARJYXZQ5.js")
238
+ import("./i18n-PLVQ4FBZ.js")
239
239
  ]);
240
240
  const updateCheckSkippedMessage = /* @__PURE__ */ __name((error) => t("Update check skipped ({{reason}}) \u2014 run /update to retry.", {
241
241
  reason: describeUpdateCheckFailure(error)
@@ -308,7 +308,7 @@ ${t(
308
308
  state: "connecting"
309
309
  });
310
310
  try {
311
- const { connectIdeForStartup } = await import("./initializer-CEZ4RPQV.js");
311
+ const { connectIdeForStartup } = await import("./initializer-CVAIKZYL.js");
312
312
  await withTimeout(
313
313
  connectIdeForStartup(config),
314
314
  "ide_connect",
@@ -332,7 +332,7 @@ ${t(
332
332
  }
333
333
  if (config.isInteractive()) {
334
334
  runDeferredTask("background_housekeeping", async () => {
335
- const { startBackgroundHousekeeping } = await import("./scheduler-VFUVGDE5.js");
335
+ const { startBackgroundHousekeeping } = await import("./scheduler-365PJHNR.js");
336
336
  startBackgroundHousekeeping(config, settings);
337
337
  });
338
338
  }
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  theme
5
- } from "./chunk-U25CMJYY.js";
5
+ } from "./chunk-EKPKKXY2.js";
6
6
  import {
7
7
  require_jsx_runtime
8
8
  } from "./chunk-SV5PQVQE.js";
@@ -14,10 +14,14 @@ import {
14
14
  import {
15
15
  require_react
16
16
  } from "./chunk-5QWWOFGG.js";
17
+ import {
18
+ collectInlineImages,
19
+ extractInlineContentRuns
20
+ } from "./chunk-2VSTGY6M.js";
17
21
  import {
18
22
  formatHistoryGapNotice,
19
23
  indexGapsByChild
20
- } from "./chunk-NAYPZ72V.js";
24
+ } from "./chunk-KXSDEOFU.js";
21
25
  import {
22
26
  stringWidth
23
27
  } from "./chunk-2MIN6GRR.js";
@@ -29,21 +33,21 @@ import {
29
33
  } from "./chunk-3SH53ANB.js";
30
34
  import {
31
35
  t
32
- } from "./chunk-546CDN6D.js";
36
+ } from "./chunk-DBOFL3LQ.js";
33
37
  import {
34
38
  getToolResponseDisplayText,
35
39
  stripTrailingUserPromptSubmitContextPart
36
- } from "./chunk-DOA7MCDY.js";
40
+ } from "./chunk-Y7E5LNLO.js";
37
41
  import {
38
42
  stripAnsi
39
43
  } from "./chunk-TWPJO254.js";
40
44
  import {
41
45
  GoalPersistenceUnavailableError,
42
46
  parseGoalStateRecordPayloadV2
43
- } from "./chunk-MBEMTXQT.js";
47
+ } from "./chunk-3K7FH2KQ.js";
44
48
  import {
45
49
  ToolDisplayNames
46
- } from "./chunk-D7D7RXIJ.js";
50
+ } from "./chunk-IC4Z6LX6.js";
47
51
  import {
48
52
  init_esbuild_shims
49
53
  } from "./chunk-5O2XNYP6.js";
@@ -3183,7 +3187,7 @@ function convertToHistoryItems(conversation, config, historyGaps) {
3183
3187
  case "assistant": {
3184
3188
  const parts = record.message?.parts;
3185
3189
  const thoughtText = !config ? extractThoughtTextFromParts(parts) : "";
3186
- const text = extractTextFromParts(parts);
3190
+ const displayRuns = extractInlineContentRuns(parts, "\n");
3187
3191
  const functionCalls = extractFunctionCalls(parts);
3188
3192
  if (thoughtText) {
3189
3193
  if (currentToolGroup.length > 0) {
@@ -3195,7 +3199,7 @@ function convertToHistoryItems(conversation, config, historyGaps) {
3195
3199
  }
3196
3200
  items.push({ type: "gemini_thought", text: thoughtText });
3197
3201
  }
3198
- if (text) {
3202
+ if (displayRuns.length > 0) {
3199
3203
  if (currentToolGroup.length > 0) {
3200
3204
  items.push({
3201
3205
  type: "tool_group",
@@ -3203,11 +3207,27 @@ function convertToHistoryItems(conversation, config, historyGaps) {
3203
3207
  });
3204
3208
  currentToolGroup = [];
3205
3209
  }
3206
- items.push({
3207
- type: "gemini",
3208
- text,
3209
- timestamp: new Date(record.timestamp).getTime()
3210
- });
3210
+ for (const [index, run] of displayRuns.entries()) {
3211
+ const type = index === 0 ? "gemini" : "gemini_content";
3212
+ const timestamp = index === 0 ? { timestamp: new Date(record.timestamp).getTime() } : {};
3213
+ if (run.kind === "text") {
3214
+ items.push({ type, text: run.text, ...timestamp });
3215
+ } else if (run.kind === "image") {
3216
+ items.push({
3217
+ type,
3218
+ text: "",
3219
+ images: [run.image],
3220
+ ...timestamp
3221
+ });
3222
+ } else {
3223
+ items.push({
3224
+ type,
3225
+ text: "",
3226
+ omittedImageCount: run.count,
3227
+ ...timestamp
3228
+ });
3229
+ }
3230
+ }
3211
3231
  }
3212
3232
  for (const fc of functionCalls) {
3213
3233
  const tool = getTool(config, fc.name);
@@ -3229,6 +3249,7 @@ function convertToHistoryItems(conversation, config, historyGaps) {
3229
3249
  const callId = record.toolCallResult.callId;
3230
3250
  const toolCall = currentToolGroup.find((t2) => t2.callId === callId);
3231
3251
  if (toolCall) {
3252
+ const responseParts = record.toolCallResult.responseParts ?? record.message?.parts;
3232
3253
  const rawDisplay = record.toolCallResult.resultDisplay;
3233
3254
  toolCall.resultDisplay = rawDisplay;
3234
3255
  if (record.toolCallResult.visionBridgeNotice !== void 0) {
@@ -3236,10 +3257,15 @@ function convertToHistoryItems(conversation, config, historyGaps) {
3236
3257
  }
3237
3258
  const rawStatus = record.toolCallResult["status"];
3238
3259
  toolCall.status = rawStatus === "error" ? "Error" /* Error */ : "Success" /* Success */;
3260
+ const { images, omittedImageCount } = collectInlineImages(responseParts);
3261
+ if (images.length > 0) {
3262
+ toolCall.images = images;
3263
+ }
3264
+ if (omittedImageCount > 0) {
3265
+ toolCall.omittedImageCount = omittedImageCount;
3266
+ }
3239
3267
  if (toolCall.status === "Success" /* Success */ && isCollapsibleTool(toolCall.name)) {
3240
- toolCall.detailedDisplay = getToolResponseDisplayText(
3241
- record.toolCallResult.responseParts ?? record.message?.parts
3242
- );
3268
+ toolCall.detailedDisplay = getToolResponseDisplayText(responseParts);
3243
3269
  }
3244
3270
  }
3245
3271
  pendingToolCalls.delete(callId || "");
@@ -5,27 +5,27 @@ import {
5
5
  } from "./chunk-57OAHC2Y.js";
6
6
  import {
7
7
  loadSettings
8
- } from "./chunk-YUVTZ4UH.js";
8
+ } from "./chunk-PQBHU2IA.js";
9
9
  import {
10
10
  getCurrentLanguage,
11
11
  t
12
- } from "./chunk-546CDN6D.js";
12
+ } from "./chunk-DBOFL3LQ.js";
13
13
  import {
14
14
  isWorkspaceTrusted
15
- } from "./chunk-72DZPDH4.js";
15
+ } from "./chunk-6XU3PH66.js";
16
16
  import {
17
17
  ExtensionManager,
18
18
  getExtensionDescription,
19
19
  getExtensionDisplayName,
20
20
  redactUrlCredentials,
21
21
  require_prompts
22
- } from "./chunk-DOA7MCDY.js";
22
+ } from "./chunk-Y7E5LNLO.js";
23
23
  import {
24
24
  stripAnsi
25
25
  } from "./chunk-TWPJO254.js";
26
26
  import {
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";
@@ -479,6 +479,54 @@ function isSubpaths(parentPath, childPath) {
479
479
  return parentPath.some((p) => isSubpath(p, childPath));
480
480
  }
481
481
  __name(isSubpaths, "isSubpaths");
482
+ function resolveLeafSymlink(inputPath) {
483
+ const maxHops = 40;
484
+ let current = path.resolve(inputPath);
485
+ for (let i = 0; i < maxHops; i++) {
486
+ let stat;
487
+ try {
488
+ stat = fs.lstatSync(current);
489
+ } catch {
490
+ return current;
491
+ }
492
+ if (!stat.isSymbolicLink()) {
493
+ return current;
494
+ }
495
+ const target = fs.readlinkSync(current);
496
+ if (path.isAbsolute(target)) {
497
+ current = target;
498
+ } else {
499
+ let parent;
500
+ try {
501
+ parent = fs.realpathSync(path.dirname(current));
502
+ } catch {
503
+ parent = path.dirname(current);
504
+ }
505
+ current = path.resolve(parent, target);
506
+ }
507
+ }
508
+ return current;
509
+ }
510
+ __name(resolveLeafSymlink, "resolveLeafSymlink");
511
+ function realpathNearestExisting(inputPath) {
512
+ const resolved = resolveLeafSymlink(inputPath);
513
+ const missingSegments = [];
514
+ let current = resolved;
515
+ while (!fs.existsSync(current)) {
516
+ const parent = path.dirname(current);
517
+ if (parent === current) {
518
+ return resolved;
519
+ }
520
+ missingSegments.unshift(path.basename(current));
521
+ current = parent;
522
+ }
523
+ try {
524
+ return path.join(fs.realpathSync(current), ...missingSegments);
525
+ } catch {
526
+ return resolved;
527
+ }
528
+ }
529
+ __name(realpathNearestExisting, "realpathNearestExisting");
482
530
  function resolvePath(baseDir = process.cwd(), relativePath) {
483
531
  const expandedPath = expandTilde(relativePath);
484
532
  if (path.isAbsolute(expandedPath)) {
@@ -1136,6 +1184,7 @@ export {
1136
1184
  sanitizeCwd,
1137
1185
  isSubpath,
1138
1186
  isSubpaths,
1187
+ realpathNearestExisting,
1139
1188
  resolvePath,
1140
1189
  resolveAndValidatePath,
1141
1190
  SKILL_PROVIDER_CONFIG_DIRS,
@@ -3,7 +3,7 @@
3
3
  import {
4
4
  getUserSettingsPath,
5
5
  v1ToV2Migration
6
- } from "./chunk-YUVTZ4UH.js";
6
+ } from "./chunk-PQBHU2IA.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-72DZPDH4.js";
15
+ } from "./chunk-6XU3PH66.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-DOA7MCDY.js";
24
+ } from "./chunk-Y7E5LNLO.js";
25
25
  import {
26
26
  init_esbuild_shims
27
27
  } from "./chunk-5O2XNYP6.js";
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  theme
5
- } from "./chunk-U25CMJYY.js";
5
+ } from "./chunk-EKPKKXY2.js";
6
6
  import {
7
7
  require_jsx_runtime
8
8
  } from "./chunk-SV5PQVQE.js";
@@ -21,7 +21,7 @@ import {
21
21
  } from "./chunk-2MIN6GRR.js";
22
22
  import {
23
23
  createDebugLogger
24
- } from "./chunk-3RXUYQJI.js";
24
+ } from "./chunk-OIVKILPI.js";
25
25
  import {
26
26
  init_esbuild_shims
27
27
  } from "./chunk-5O2XNYP6.js";
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  atomicWriteFileSync
5
- } from "./chunk-UH7Z7Y45.js";
5
+ } from "./chunk-FOGU3LJX.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";
@@ -563,7 +563,7 @@ var WorkspaceRegistrationStore = class {
563
563
  return removed;
564
564
  }
565
565
  async update(mutate) {
566
- const { atomicWriteFile } = await import("./deferred-core-runtime-KXN7HLN7.js");
566
+ const { atomicWriteFile } = await import("./deferred-core-runtime-BWRCCFTE.js");
567
567
  return withInProcessLock(this.filePath, async () => {
568
568
  const lock = await acquireFileLock(this.filePath);
569
569
  let committed = false;
@@ -8,17 +8,17 @@ import {
8
8
  } from "./chunk-Z4X5MTRT.js";
9
9
  import {
10
10
  STATUS_SCHEMA_VERSION
11
- } from "./chunk-WIRAPZ62.js";
11
+ } from "./chunk-NLREQJFK.js";
12
12
  import {
13
13
  loadSettings
14
- } from "./chunk-YUVTZ4UH.js";
14
+ } from "./chunk-PQBHU2IA.js";
15
15
  import {
16
16
  SkillManager,
17
17
  isSafeModeEnv
18
- } from "./chunk-DOA7MCDY.js";
18
+ } from "./chunk-Y7E5LNLO.js";
19
19
  import {
20
20
  writeStderrLine
21
- } from "./chunk-OWAK7LMW.js";
21
+ } from "./chunk-KGJGEEVR.js";
22
22
  import {
23
23
  init_esbuild_shims
24
24
  } from "./chunk-5O2XNYP6.js";
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  registerCleanup
5
- } from "./chunk-QG2ACINA.js";
5
+ } from "./chunk-EORNAQDT.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";
@@ -21,12 +21,12 @@ import {
21
21
  getLanguageNameFromLocale,
22
22
  getLanguageSettingsOptions,
23
23
  t
24
- } from "./chunk-546CDN6D.js";
24
+ } from "./chunk-DBOFL3LQ.js";
25
25
  import {
26
26
  getHomeEnvFallbackVars,
27
27
  loadEnvironment,
28
28
  preResolveHomeEnvOverrides
29
- } from "./chunk-IKXE3AAC.js";
29
+ } from "./chunk-VOARQPTA.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-72DZPDH4.js";
37
+ } from "./chunk-6XU3PH66.js";
38
38
  import {
39
39
  require_strip_json_comments
40
40
  } from "./chunk-ALGGS7UH.js";
@@ -46,13 +46,13 @@ 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-DOA7MCDY.js";
49
+ } from "./chunk-Y7E5LNLO.js";
50
50
  import {
51
51
  stripRuntimeSnapshotPrefix
52
- } from "./chunk-6D6V55ZQ.js";
52
+ } from "./chunk-RMH5OWLD.js";
53
53
  import {
54
54
  DEFAULT_QWEN_CUSTOM_IGNORE_FILE_NAMES
55
- } from "./chunk-432XCUHF.js";
55
+ } from "./chunk-EQL65XGA.js";
56
56
  import {
57
57
  DEFAULT_SENSITIVE_SPAN_ATTRIBUTE_MAX_LENGTH,
58
58
  SENSITIVE_SPAN_ATTRIBUTE_MAX_LENGTH_LIMIT
@@ -62,7 +62,7 @@ import {
62
62
  Storage,
63
63
  createDebugLogger,
64
64
  getErrorMessage
65
- } from "./chunk-3RXUYQJI.js";
65
+ } from "./chunk-OIVKILPI.js";
66
66
  import {
67
67
  init_esbuild_shims
68
68
  } from "./chunk-5O2XNYP6.js";
@@ -2636,6 +2636,19 @@ var SETTINGS_SCHEMA = {
2636
2636
  default: false,
2637
2637
  description: "When true, HTTP hooks may target private/link-local IP ranges (the SSRF IP-range checks are skipped). Cloud metadata hostnames (e.g. 169.254.169.254, metadata.google.internal) remain blocked. Only honored from User, System, and SystemDefaults settings scopes; values set in Workspace settings are ignored so a cloned repository cannot self-grant this bypass. Enable only in trusted, managed environments, and pair with security.allowedHttpHookUrls.",
2638
2638
  showInDialog: false
2639
+ },
2640
+ allowedInsecureVoiceBaseUrls: {
2641
+ type: "array",
2642
+ label: "Allowed Insecure Voice Base URLs",
2643
+ category: "Security",
2644
+ requiresRestart: false,
2645
+ default: [],
2646
+ description: "Complete voice base URLs that may use HTTP or private-network addresses. Entries must include an explicit http:// or https:// scheme and the full provider path; only URL serialization and trailing slashes are normalized. Wildcards are not supported; metadata, link-local, local-use NAT64, 6to4, and Teredo addresses remain blocked even when listed, as do hostnames that resolve to loopback; IPv4-mapped, IPv4-compatible, and well-known NAT64 (64:ff9b::/96) literals are classified by their embedded IPv4 address. Only honored from User, System, and SystemDefaults settings scopes; values set in Workspace settings are ignored. Enable only for trusted endpoints in managed private networks. Cleartext HTTP also exposes the provider API key transmitted in the Authorization header. An allowlisted hostname is only as trustworthy as its DNS; prefer IP-literal entries when the gateway address is stable.",
2647
+ showInDialog: false,
2648
+ items: {
2649
+ type: "string",
2650
+ description: "Complete voice provider base URL with explicit scheme and full path (no wildcards)"
2651
+ }
2639
2652
  }
2640
2653
  }
2641
2654
  },
@@ -3098,6 +3111,71 @@ var SETTINGS_SCHEMA = {
3098
3111
  description: "Settings to enable experimental features.",
3099
3112
  showInDialog: false,
3100
3113
  properties: {
3114
+ liveVoice: {
3115
+ type: "object",
3116
+ label: "Live Voice",
3117
+ category: "Experimental",
3118
+ requiresRestart: false,
3119
+ default: {},
3120
+ description: "Experimental realtime voice conversations through Qwen Live Host on macOS WebShell.",
3121
+ showInDialog: false,
3122
+ properties: {
3123
+ enabled: {
3124
+ type: "boolean",
3125
+ label: "Live Voice",
3126
+ category: "Experimental",
3127
+ requiresRestart: false,
3128
+ default: false,
3129
+ description: "Enable experimental realtime voice conversations on macOS WebShell.",
3130
+ showInDialog: false
3131
+ },
3132
+ apiKey: {
3133
+ type: "string",
3134
+ label: "DashScope Realtime API Key",
3135
+ category: "Experimental",
3136
+ requiresRestart: false,
3137
+ default: "",
3138
+ description: "Dedicated DashScope API key for qwen3.5-omni-plus-realtime.",
3139
+ showInDialog: false
3140
+ },
3141
+ model: {
3142
+ type: "string",
3143
+ label: "Live Voice Model",
3144
+ category: "Experimental",
3145
+ requiresRestart: false,
3146
+ default: "qwen3.5-omni-plus-realtime",
3147
+ description: "Upstream Realtime model used for Live Voice.",
3148
+ showInDialog: false
3149
+ },
3150
+ endpoint: {
3151
+ type: "string",
3152
+ label: "Live Voice Endpoint",
3153
+ category: "Experimental",
3154
+ requiresRestart: false,
3155
+ default: "wss://dashscope.aliyuncs.com/api-ws/v1/realtime",
3156
+ description: "Advanced override for the DashScope Realtime WebSocket endpoint.",
3157
+ showInDialog: false
3158
+ },
3159
+ voice: {
3160
+ type: "string",
3161
+ label: "Live Voice Output Voice",
3162
+ category: "Experimental",
3163
+ requiresRestart: false,
3164
+ default: "Tina",
3165
+ description: "Voice used for Realtime model audio output.",
3166
+ showInDialog: false
3167
+ },
3168
+ shortcut: {
3169
+ type: "string",
3170
+ label: "Live Voice Global Shortcut",
3171
+ category: "Experimental",
3172
+ requiresRestart: false,
3173
+ default: "Command+E",
3174
+ description: "Electron accelerator registered globally by Qwen Live Host.",
3175
+ showInDialog: false
3176
+ }
3177
+ }
3178
+ },
3101
3179
  sessionWorkflow: {
3102
3180
  type: "boolean",
3103
3181
  label: "Session Workflow Plan & Review",
@@ -4630,6 +4708,11 @@ function getSettingsWarnings(loadedSettings) {
4630
4708
  `Warning: security.allowPrivateNetworkHooks in workspace settings (${workspaceFile.path}) is ignored. This setting is only honored from User, System, or SystemDefaults scope settings.`
4631
4709
  );
4632
4710
  }
4711
+ if (workspaceFile.rawJson !== void 0 && workspaceFile.originalSettings.security?.allowedInsecureVoiceBaseUrls !== void 0) {
4712
+ warningSet.add(
4713
+ `Warning: security.allowedInsecureVoiceBaseUrls in workspace settings (${workspaceFile.path}) is ignored. This setting is only honored from User, System, or SystemDefaults scope settings.`
4714
+ );
4715
+ }
4633
4716
  return [...warningSet];
4634
4717
  }
4635
4718
  __name(getSettingsWarnings, "getSettingsWarnings");
@@ -4645,19 +4728,20 @@ function tagMcpServerScope(settings, scope) {
4645
4728
  return { ...settings, mcpServers: tagged };
4646
4729
  }
4647
4730
  __name(tagMcpServerScope, "tagMcpServerScope");
4648
- function stripWorkspacePrivateNetworkHooks(settings) {
4649
- if (settings.security?.allowPrivateNetworkHooks === void 0) {
4731
+ function stripWorkspaceSecurityBypasses(settings) {
4732
+ if (settings.security?.allowPrivateNetworkHooks === void 0 && settings.security?.allowedInsecureVoiceBaseUrls === void 0) {
4650
4733
  return settings;
4651
4734
  }
4652
- const { allowPrivateNetworkHooks: _stripped, ...restSecurity } = settings.security;
4735
+ const {
4736
+ allowPrivateNetworkHooks: _privateHooks,
4737
+ allowedInsecureVoiceBaseUrls: _insecureVoice,
4738
+ ...restSecurity
4739
+ } = settings.security;
4653
4740
  return { ...settings, security: restSecurity };
4654
4741
  }
4655
- __name(stripWorkspacePrivateNetworkHooks, "stripWorkspacePrivateNetworkHooks");
4742
+ __name(stripWorkspaceSecurityBypasses, "stripWorkspaceSecurityBypasses");
4656
4743
  function mergeSettings(system, systemDefaults, user, workspace, isTrusted) {
4657
- const safeWorkspace = isTrusted ? tagMcpServerScope(
4658
- stripWorkspacePrivateNetworkHooks(workspace),
4659
- "workspace"
4660
- ) : {};
4744
+ const safeWorkspace = isTrusted ? tagMcpServerScope(stripWorkspaceSecurityBypasses(workspace), "workspace") : {};
4661
4745
  return customDeepMerge(
4662
4746
  getMergeStrategyForPath,
4663
4747
  {},
@@ -4724,17 +4808,29 @@ var LoadedSettings = class {
4724
4808
  throw new Error(`Invalid scope: ${scope}`);
4725
4809
  }
4726
4810
  }
4727
- setValue(scope, key, value, assertCanCommit) {
4811
+ setValue(scope, key, value, assertCanCommit, opts = {}) {
4728
4812
  if (key === "model.name" && typeof value === "string") {
4729
4813
  value = stripRuntimeSnapshotPrefix(value);
4730
4814
  }
4731
4815
  assertCanCommit?.();
4732
4816
  const settingsFile = this.forScope(scope);
4817
+ const replacePath = key === "mcpServers" ? key.split(".") : [];
4818
+ if (opts.throwOnWriteFailure) {
4819
+ saveSettings(
4820
+ settingsFile,
4821
+ createSettingsUpdate(key, value),
4822
+ replacePath,
4823
+ {
4824
+ throwOnWriteFailure: true
4825
+ }
4826
+ );
4827
+ }
4733
4828
  setNestedPropertySafe(settingsFile.settings, key, value);
4734
4829
  setNestedPropertySafe(settingsFile.originalSettings, key, value);
4735
4830
  this._merged = this.computeMergedSettings();
4736
- const replacePath = key === "mcpServers" ? key.split(".") : [];
4737
- saveSettings(settingsFile, createSettingsUpdate(key, value), replacePath);
4831
+ if (!opts.throwOnWriteFailure) {
4832
+ saveSettings(settingsFile, createSettingsUpdate(key, value), replacePath);
4833
+ }
4738
4834
  }
4739
4835
  setValues(writes, onScopeCommitted, assertCanCommit) {
4740
4836
  const scopes = /* @__PURE__ */ new Set();
@@ -5,7 +5,7 @@ import {
5
5
  } from "./chunk-4NFY2S7N.js";
6
6
  import {
7
7
  createDebugLogger
8
- } from "./chunk-3RXUYQJI.js";
8
+ } from "./chunk-OIVKILPI.js";
9
9
  import {
10
10
  wrapper_default
11
11
  } from "./chunk-TYAMGABM.js";
@@ -614,6 +614,7 @@ async function openVoiceStreamWithRetry(open, opts = {}) {
614
614
  __name(openVoiceStreamWithRetry, "openVoiceStreamWithRetry");
615
615
 
616
616
  export {
617
+ deriveWebSocketBase,
617
618
  openVoiceStream,
618
619
  openQwenAsrRealtimeStream,
619
620
  openVoiceStreamWithRetry