@qwen-code/qwen-code 0.23.5-dev.codemode-responses.20260915.af4da34719 → 0.23.5-preview.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (377) hide show
  1. package/bundled/computer-use/SKILL.md +24 -3
  2. package/bundled/qc-helper/docs/configuration/model-providers.md +43 -0
  3. package/bundled/qc-helper/docs/configuration/settings.md +10 -9
  4. package/bundled/qc-helper/docs/extension/agent-plugins.md +1 -0
  5. package/bundled/qc-helper/docs/extension/introduction.md +49 -0
  6. package/bundled/qc-helper/docs/features/channels/dingtalk.md +39 -4
  7. package/bundled/qc-helper/docs/features/channels/overview.md +12 -0
  8. package/bundled/qc-helper/docs/features/commands.md +57 -52
  9. package/bundled/qc-helper/docs/features/computer-use.md +1 -1
  10. package/bundled/qc-helper/docs/features/goals.md +8 -0
  11. package/bundled/qc-helper/docs/features/hooks.md +16 -0
  12. package/bundled/qc-helper/docs/qwen-serve.md +3 -1
  13. package/bundled/workflow-authoring/SKILL.md +48 -22
  14. package/chunks/{MaxSizedBox-3K65WFGY.js → MaxSizedBox-FCF6M53W.js} +40 -43
  15. package/chunks/{StandaloneSessionPicker-JKM33JPY.js → StandaloneSessionPicker-V635V72I.js} +60 -63
  16. package/chunks/{acp-startup-profiler-RUQNTNU5.js → acp-startup-profiler-MOOU37VM.js} +2 -2
  17. package/chunks/{acp-subagent-executor-KIZBB2CL.js → acp-subagent-executor-TND6W2O5.js} +46 -47
  18. package/chunks/{acpAgent-SHI4L5EV.js → acpAgent-3DPWZTNC.js} +954 -322
  19. package/chunks/{agent-AJXNVRX2.js → agent-KIHGINKN.js} +27 -30
  20. package/chunks/{agent-headless-2JPJKYHK.js → agent-headless-EJ4QOUSM.js} +27 -30
  21. package/chunks/{anthropicContentGenerator-H5YPXIDE.js → anthropicContentGenerator-4FGOM5LK.js} +46 -64
  22. package/chunks/{artifact-tool-MFGORTWZ.js → artifact-tool-MUTNH4NI.js} +1 -1
  23. package/chunks/{askUserQuestion-WS4GUT7C.js → askUserQuestion-AKIRLVB5.js} +1 -1
  24. package/chunks/bareMode-QWKZPLPX.js +14 -0
  25. package/chunks/{bridge-KZYSMV4N.js → bridge-MUX5YJZT.js} +46 -49
  26. package/chunks/{ca-GZ4FDJU2.js → ca-WC3A5B3Q.js} +12 -1
  27. package/chunks/{channel-management-service-AFVIT4VH.js → channel-management-service-RRILWSXX.js} +4 -4
  28. package/chunks/{channel-settings-store-IJG52IDV.js → channel-settings-store-7CBIRZER.js} +51 -54
  29. package/chunks/{channel-worker-group-JR6JOELM.js → channel-worker-group-3DUJFZJR.js} +8 -8
  30. package/chunks/{channel-worker-manager-AVKJEZFL.js → channel-worker-manager-E5UW2VLA.js} +8 -8
  31. package/chunks/{channel-worker-supervisor-OOYY7BAQ.js → channel-worker-supervisor-VN33GSEC.js} +5 -5
  32. package/chunks/{chunk-2YMRRI2C.js → chunk-2C5TR6HN.js} +82 -9
  33. package/chunks/{chunk-YDFOHRS5.js → chunk-2GP6BQ2J.js} +1 -1
  34. package/chunks/{chunk-JATZTB7X.js → chunk-347O2YZJ.js} +158 -290
  35. package/chunks/{chunk-RYREFZFH.js → chunk-36NRLIR6.js} +10 -8
  36. package/chunks/{chunk-AXZMWAJV.js → chunk-36SDZ2Q4.js} +8 -0
  37. package/chunks/{chunk-QR4Q425T.js → chunk-3BZI5GDP.js} +1 -1
  38. package/chunks/{chunk-IP6NRULS.js → chunk-3HTUE6ZR.js} +3 -3
  39. package/chunks/{chunk-B2VSRPS6.js → chunk-3LLEB5CU.js} +2 -2
  40. package/chunks/{chunk-L2XNHRDL.js → chunk-3UGMLA4V.js} +10 -8
  41. package/chunks/{chunk-66N6C4EH.js → chunk-3WILPKTJ.js} +2 -2
  42. package/chunks/{chunk-SROLVJFY.js → chunk-3WWPEFMX.js} +1 -1
  43. package/chunks/{chunk-ZKIAGIGH.js → chunk-3XBUCOWS.js} +1 -1
  44. package/chunks/{chunk-737SVOO7.js → chunk-43Y26NPF.js} +3 -3
  45. package/chunks/{chunk-INGBUYL6.js → chunk-4FLUQWJ4.js} +1 -1
  46. package/chunks/{chunk-BTBJEB27.js → chunk-4JFLRHNE.js} +1 -1
  47. package/chunks/{chunk-MJHLKWGJ.js → chunk-4QPVZA5J.js} +70 -23
  48. package/chunks/{chunk-XX5HQLCZ.js → chunk-6OTF7TTE.js} +32 -1
  49. package/chunks/{chunk-4Y2I3CI3.js → chunk-6USYH3EU.js} +99 -6
  50. package/chunks/{chunk-Q3TFRP5G.js → chunk-7D4CV7JH.js} +102 -9
  51. package/chunks/{chunk-EWJTAP3Y.js → chunk-7O5PYQ3M.js} +20 -1
  52. package/chunks/chunk-ADN5KESB.js +28 -0
  53. package/chunks/chunk-AKRSSKUT.js +229 -0
  54. package/chunks/{chunk-IOXJX7XE.js → chunk-AQP3H22J.js} +1 -1
  55. package/chunks/{chunk-YP7QCE7X.js → chunk-AUX2FL5T.js} +24 -7
  56. package/chunks/{chunk-YGFJ6BRT.js → chunk-AZCTY64Z.js} +1 -1
  57. package/chunks/{chunk-5CDDYYNI.js → chunk-B5TJK7B3.js} +1 -1
  58. package/chunks/{chunk-7MKB7L25.js → chunk-B6RMK4ED.js} +4 -4
  59. package/chunks/{chunk-YH24ZJ65.js → chunk-BHG3H6OZ.js} +1 -1
  60. package/chunks/{chunk-BRPYJQDD.js → chunk-BHVF3R6B.js} +7 -5
  61. package/chunks/{chunk-HFJSQ4GL.js → chunk-BTICBRPL.js} +1 -1
  62. package/chunks/{chunk-KZCK5JUN.js → chunk-C3T6HPNM.js} +1 -1
  63. package/chunks/{chunk-UB2MATP5.js → chunk-CDDP4ONL.js} +164 -27
  64. package/chunks/{chunk-OL3TNHFM.js → chunk-CQPM66MG.js} +4 -4
  65. package/chunks/{chunk-WKVZES7O.js → chunk-CXONOVBN.js} +1 -1
  66. package/chunks/{chunk-6IHJLXNF.js → chunk-CXY6BICQ.js} +501 -479
  67. package/chunks/{chunk-I5QPDANL.js → chunk-D3KVGQUV.js} +1 -1
  68. package/chunks/{chunk-LMJSPC55.js → chunk-D7JMO2GP.js} +3 -7
  69. package/chunks/{chunk-CXXAZ2LZ.js → chunk-DC4ZNGH4.js} +1 -1
  70. package/chunks/{chunk-FMLBBXHB.js → chunk-DRAX5YAI.js} +2 -2
  71. package/chunks/{chunk-DOTF2PF2.js → chunk-DRD6VBNH.js} +1 -1
  72. package/chunks/chunk-DX6JTDMR.js +105 -0
  73. package/chunks/{chunk-HJAJ6MR6.js → chunk-E2VSBAFA.js} +53 -11
  74. package/chunks/{chunk-G7ZYRFHS.js → chunk-EIBECN2J.js} +3 -3
  75. package/chunks/{chunk-LWWRJRCD.js → chunk-ESBYWATJ.js} +1 -1
  76. package/chunks/{chunk-2PLQ3CXJ.js → chunk-FASYATAZ.js} +5 -7
  77. package/chunks/{chunk-3ADU34IF.js → chunk-FBY32737.js} +4 -4
  78. package/chunks/{chunk-SIDVJZWH.js → chunk-FCPJXKDG.js} +10 -7
  79. package/chunks/{chunk-5GXJBU7K.js → chunk-FEDFZBGR.js} +3 -3
  80. package/chunks/{chunk-CALVKIIG.js → chunk-FIJODK52.js} +3 -3
  81. package/chunks/{chunk-ZTVYMZBD.js → chunk-FX6PZBOV.js} +3 -3
  82. package/chunks/{chunk-L6DIANLD.js → chunk-G45B3INR.js} +1 -1
  83. package/chunks/{chunk-TATT2THJ.js → chunk-GI7SLDOI.js} +2 -2
  84. package/chunks/chunk-GJKP6XOB.js +1092 -0
  85. package/chunks/{chunk-I6YJZGHS.js → chunk-GSAOVDTH.js} +9 -9
  86. package/chunks/{chunk-7MIOAF77.js → chunk-H6L4NEAT.js} +1 -1
  87. package/chunks/{chunk-MJGJF6G6.js → chunk-HNFKYKHH.js} +103 -22
  88. package/chunks/{chunk-PN6D5LWJ.js → chunk-HX4WXX3H.js} +301 -138
  89. package/chunks/{chunk-HG46TTAG.js → chunk-HXUI5D4H.js} +1 -1
  90. package/chunks/{chunk-JF2CFBDK.js → chunk-HYHSMTRA.js} +4 -4
  91. package/chunks/{chunk-4DZMYFZA.js → chunk-IKBEIDOH.js} +14 -14
  92. package/chunks/{chunk-QEENIXYB.js → chunk-INN5ORKX.js} +1 -1
  93. package/chunks/{chunk-GNV2SFO7.js → chunk-IVFTLUZD.js} +26 -1
  94. package/chunks/{chunk-L2NII7PZ.js → chunk-IXO2OCIP.js} +2 -2
  95. package/chunks/{chunk-6MAHSVMB.js → chunk-K4XMAIRX.js} +30 -33
  96. package/chunks/{chunk-AYMSNIYL.js → chunk-KAYC5FBN.js} +5269 -2785
  97. package/chunks/chunk-KEM7MWS7.js +3541 -0
  98. package/chunks/{chunk-ADQUK6WA.js → chunk-KVC7HZWK.js} +1 -1
  99. package/chunks/{chunk-Z35OSDIT.js → chunk-KVQ3QL4K.js} +3 -3
  100. package/chunks/{chunk-7U5G6JXI.js → chunk-KWYTSSTJ.js} +105 -6
  101. package/chunks/{chunk-PZRAE65J.js → chunk-L2A5VBDL.js} +3019 -2352
  102. package/chunks/{chunk-WD6YQI5M.js → chunk-L3SNMEDW.js} +1 -1
  103. package/chunks/{chunk-BYUAT5OC.js → chunk-L7TJUPNR.js} +19 -3
  104. package/chunks/{chunk-ABNX6E6K.js → chunk-LFKXIOGC.js} +1 -1
  105. package/chunks/{chunk-NFQOOITE.js → chunk-LO2UWNO5.js} +2 -2
  106. package/chunks/{chunk-LWUTZKDU.js → chunk-M22WLKLI.js} +5 -5
  107. package/chunks/{chunk-54B2LTKP.js → chunk-M23GFJ5B.js} +24 -5
  108. package/chunks/{chunk-VGY2RGXL.js → chunk-M4U2LTD2.js} +1 -1
  109. package/chunks/{chunk-ZNI3YJHS.js → chunk-MFDKHGTD.js} +1 -1
  110. package/chunks/{chunk-R7OO56VZ.js → chunk-MMRGG6R4.js} +1 -1
  111. package/chunks/{chunk-E6IR653O.js → chunk-MO4XID7S.js} +1 -1
  112. package/chunks/{chunk-FZQQMVLB.js → chunk-NKTMUPHJ.js} +3 -6
  113. package/chunks/{chunk-V77DTVCM.js → chunk-NQ272MQG.js} +1 -1
  114. package/chunks/{chunk-TDFLM7BE.js → chunk-OALXNGUA.js} +6 -6
  115. package/chunks/{chunk-FBDHP23D.js → chunk-OSG23MR3.js} +1 -1
  116. package/chunks/{chunk-NJ2OFVUX.js → chunk-P42KMMU6.js} +860 -1
  117. package/chunks/{chunk-Y33TCKXL.js → chunk-PF7GAP6K.js} +60 -58
  118. package/chunks/{chunk-MQRLLBMQ.js → chunk-PPJSG2PU.js} +2 -2
  119. package/chunks/{chunk-EPVEPTI3.js → chunk-PZRXWQUA.js} +753 -18
  120. package/chunks/{chunk-OLN7QX4P.js → chunk-Q54O3EIA.js} +30 -28
  121. package/chunks/{chunk-DQH3EVAD.js → chunk-QGEISOJ2.js} +4 -4
  122. package/chunks/{chunk-3M4O2AY3.js → chunk-QHSOINX6.js} +2 -2
  123. package/chunks/{chunk-HIQEL7EM.js → chunk-QIPLWW6Q.js} +1 -1
  124. package/chunks/chunk-QMENOK5T.js +1246 -0
  125. package/chunks/chunk-QT6Z2IBF.js +347 -0
  126. package/chunks/{chunk-TBSCTWKF.js → chunk-RN6A53UJ.js} +25 -0
  127. package/chunks/{chunk-65BKWMMH.js → chunk-RRI764F7.js} +21 -19
  128. package/chunks/{chunk-YI2YCNSP.js → chunk-SENYKRII.js} +1 -1
  129. package/chunks/chunk-SFHX5G2S.js +2796 -0
  130. package/chunks/chunk-SK3RZOPS.js +34 -0
  131. package/chunks/{chunk-MD6KXINN.js → chunk-SOLRBF7L.js} +13 -9
  132. package/chunks/{chunk-6BCN3VOY.js → chunk-SSWTA7CH.js} +12 -12
  133. package/chunks/{chunk-IAS753HG.js → chunk-SYMXYRM5.js} +11 -2
  134. package/chunks/{chunk-FGROOEKM.js → chunk-TDKUXSJO.js} +34 -6
  135. package/chunks/{chunk-ZJ7JQUGY.js → chunk-TKF4JINY.js} +1 -1
  136. package/chunks/{chunk-RVK37FWG.js → chunk-TPY6HW55.js} +4 -4
  137. package/chunks/{chunk-EDB556X7.js → chunk-TRZ22SG5.js} +1 -1
  138. package/chunks/{chunk-7LG4MUUD.js → chunk-TXTCM3TC.js} +4 -4
  139. package/chunks/{chunk-5ODRE7E5.js → chunk-U4AASWUQ.js} +28 -12
  140. package/chunks/{chunk-WPMRT4AR.js → chunk-UQGRJTDK.js} +2 -2
  141. package/chunks/{chunk-JBS56C7O.js → chunk-UZSB57EV.js} +6 -8
  142. package/chunks/{chunk-S4M6BDNE.js → chunk-V4JJAVHQ.js} +2 -2
  143. package/chunks/chunk-VEXUA6DX.js +1026 -0
  144. package/chunks/{chunk-ME4JBHSB.js → chunk-VQDWCQOE.js} +2 -0
  145. package/chunks/{chunk-3XXDCC5C.js → chunk-VU3XMZ5I.js} +23 -4
  146. package/chunks/{chunk-RD2HAF25.js → chunk-WL36KHUQ.js} +6 -6
  147. package/chunks/{chunk-WYRSEVBQ.js → chunk-WNQIJTOP.js} +8 -8
  148. package/chunks/{chunk-GTBXQ5W2.js → chunk-WSJI6ODG.js} +99 -30
  149. package/chunks/{chunk-VN5G33G7.js → chunk-WZWTY7SG.js} +6 -6
  150. package/chunks/{chunk-EKMJR7M3.js → chunk-X7AYIXC7.js} +1 -1
  151. package/chunks/{chunk-IBRQG2MP.js → chunk-XAJZFGD2.js} +11 -11
  152. package/chunks/{chunk-VRQZESKP.js → chunk-XICCGDWF.js} +2 -2
  153. package/chunks/{chunk-OZ2KDR2L.js → chunk-Y2KJC55Y.js} +12 -7
  154. package/chunks/{chunk-2S2WIGCM.js → chunk-Y4NNIGYO.js} +1 -1
  155. package/chunks/{chunk-J7LBAKDH.js → chunk-YL3UJML3.js} +7 -7
  156. package/chunks/{chunk-GSS4SZNG.js → chunk-YP2K3WOS.js} +40 -56
  157. package/chunks/{chunk-ZZUXUBEB.js → chunk-YQQ2U7AS.js} +8 -5
  158. package/chunks/{chunk-FAWTMDX7.js → chunk-YXHY6BKS.js} +15 -0
  159. package/chunks/{chunk-VIV2I3R7.js → chunk-YZXSDPOQ.js} +140 -39
  160. package/chunks/{chunk-KZ63S3HX.js → chunk-ZFHKUQZ4.js} +3 -3
  161. package/chunks/{chunk-B6KSTADQ.js → chunk-ZMYKNKET.js} +6 -6
  162. package/chunks/{codex-subagent-executor-6M7TD3MF.js → codex-subagent-executor-AEAIQZDC.js} +48 -49
  163. package/chunks/{config-utils-TB4QERW7.js → config-utils-KX2YS725.js} +43 -46
  164. package/chunks/{contextCommand-BFQMDECM.js → contextCommand-RV6Y5LNJ.js} +41 -44
  165. package/chunks/{core-runtime-Z2QJJMHR.js → core-runtime-ZI4RTOJQ.js} +45 -48
  166. package/chunks/{create-sub-session-GE4U3D7C.js → create-sub-session-BBWFQARJ.js} +46 -48
  167. package/chunks/{daemon-NJB4PWZ7.js → daemon-INCM4VBX.js} +3 -1
  168. package/chunks/{daemon-git-worktree-guard-IPA22S72.js → daemon-git-worktree-guard-KECEMV6A.js} +39 -42
  169. package/chunks/{daemon-status-provider-2U5WPCCB.js → daemon-status-provider-NULJNAEV.js} +53 -56
  170. package/chunks/{daemon-trust-policy-GEIGMVDQ.js → daemon-trust-policy-S4KWGPV3.js} +47 -50
  171. package/chunks/{daemon-trust-policy-monitor-JETBW5FX.js → daemon-trust-policy-monitor-546N5ZVL.js} +47 -50
  172. package/chunks/{de-VGY3VNBU.js → de-6AVKPTXQ.js} +11 -0
  173. package/chunks/{deferred-core-runtime-LANRK77C.js → deferred-core-runtime-T23ZT443.js} +39 -42
  174. package/chunks/{dist-NIOJXMGY.js → dist-4P3ZJYGI.js} +1 -1
  175. package/chunks/{dist-VDLSBCLM.js → dist-7MGRENQ5.js} +1 -1
  176. package/chunks/{dist-SE4J6Z4O.js → dist-BNW423XT.js} +326 -77
  177. package/chunks/{dist-TFGETXFN.js → dist-CESMUYGN.js} +4 -4
  178. package/chunks/{dist-MPUZZOG5.js → dist-DBBOFWSC.js} +1 -1
  179. package/chunks/{dist-T6DDPDLQ.js → dist-G5UMXIGF.js} +1 -1
  180. package/chunks/{dist-PA7WPFVE.js → dist-UXVNLQHG.js} +3 -3
  181. package/chunks/{dist-GUB7QRYA.js → dist-VA4LREAQ.js} +2 -2
  182. package/chunks/{dist-2QYIVNS6.js → dist-XDRTR4QP.js} +1 -1
  183. package/chunks/{edit-QC63PJOZ.js → edit-CMSQB7NP.js} +27 -30
  184. package/chunks/{en-E5ZO5TZW.js → en-56QLKXS2.js} +23 -1
  185. package/chunks/{enter-worktree-CAARFWBI.js → enter-worktree-DA6A4XC5.js} +3 -3
  186. package/chunks/{enterPlanMode-5TMWDRXD.js → enterPlanMode-UDPMNESD.js} +27 -30
  187. package/chunks/{environment-TNQVM5B3.js → environment-TSQJUTPV.js} +42 -45
  188. package/chunks/{errors-KWDDLG7P.js → errors-RIVYJS6T.js} +41 -44
  189. package/chunks/{exit-worktree-JXGGUOBP.js → exit-worktree-4H6Z2VQI.js} +3 -3
  190. package/chunks/{exitPlanMode-CLEWPZIE.js → exitPlanMode-BYBBFN2T.js} +27 -30
  191. package/chunks/{fast-path-PMRLQT7J.js → fast-path-F2CYDDZ4.js} +4 -4
  192. package/chunks/{fast-path-settings-XDYX7X5Z.js → fast-path-settings-N2VGRGDJ.js} +2 -2
  193. package/chunks/{fr-UAZJJH5N.js → fr-EBUDHJL3.js} +11 -0
  194. package/chunks/{glob-3AK4KKCE.js → glob-Z2JMJKKN.js} +27 -30
  195. package/chunks/{goal-tools-FD6OCE6Q.js → goal-tools-HXVVLGCV.js} +27 -30
  196. package/chunks/{handleAutoUpdate-QUNNMMY6.js → handleAutoUpdate-FZP45KOR.js} +43 -46
  197. package/chunks/{i18n-DVN326VM.js → i18n-OTB62AKW.js} +40 -43
  198. package/chunks/{image-gen-5G2TQ3DY.js → image-gen-HIAZCB5T.js} +6 -7
  199. package/chunks/{initializer-JHEJBPVJ.js → initializer-4JXZEC4B.js} +47 -50
  200. package/chunks/{installationInfo-DYOI4I5U.js → installationInfo-2IJV5QKC.js} +39 -42
  201. package/chunks/{ja-2RITCMAJ.js → ja-NCDT4CGV.js} +11 -0
  202. package/chunks/{list-MW74DDMO.js → list-KQSQ4A5G.js} +50 -53
  203. package/chunks/{llm-HUDP76IA.js → llm-LSUBOJAR.js} +154 -974
  204. package/chunks/{llm-content-generator-KYD6ZEM6.js → llm-content-generator-MLIONRXE.js} +17 -12
  205. package/chunks/{loadedSettingsAdapter-RRAZOPRB.js → loadedSettingsAdapter-TZTTNRHI.js} +47 -50
  206. package/chunks/{loggingContentGenerator-MHE6Z2OZ.js → loggingContentGenerator-TUPEXFMM.js} +31 -34
  207. package/chunks/{loop-wakeup-VG6CGBQA.js → loop-wakeup-ZBVRI6VH.js} +1 -1
  208. package/chunks/{managed-npm-update-3G3O3T3R.js → managed-npm-update-WEA5XMFZ.js} +40 -43
  209. package/chunks/{mcp-JGLBFJQB.js → mcp-TFDTUPIA.js} +47 -50
  210. package/chunks/{model-configuration-EGWMLK4P.js → model-configuration-ZCAKKIOF.js} +48 -51
  211. package/chunks/{modelConfigUtils-H4WFGWQD.js → modelConfigUtils-J3ZPW7ZK.js} +41 -44
  212. package/chunks/{monitor-62V72TGX.js → monitor-CI7YE7MT.js} +29 -32
  213. package/chunks/{nonInteractiveCli-GYKHG7RX.js → nonInteractiveCli-GPT3TVOK.js} +96 -98
  214. package/chunks/{notebook-edit-HOJLHP3F.js → notebook-edit-3WCVRNGL.js} +27 -30
  215. package/chunks/{openaiContentGenerator-ZAJTUWVO.js → openaiContentGenerator-OGILGUZE.js} +12 -17
  216. package/chunks/{openaiResponsesContentGenerator-AWRYZLJU.js → openaiResponsesContentGenerator-NXOXUPFM.js} +45 -13
  217. package/chunks/{pidfile-CS7LHAN5.js → pidfile-GBTBIGHF.js} +39 -42
  218. package/chunks/{process-registry-X6ZCASEN.js → process-registry-7LAPI3ZB.js} +1 -1
  219. package/chunks/{processUtils-OWQU3JQM.js → processUtils-O4II3RYH.js} +2 -2
  220. package/chunks/{prompt-terminal-ledger-76P527XD.js → prompt-terminal-ledger-ILIXZI3E.js} +40 -43
  221. package/chunks/{pt-5ZF7ZQUV.js → pt-FYYFWYUC.js} +11 -0
  222. package/chunks/{qwenContentGenerator-QZCQ3UTX.js → qwenContentGenerator-I4LRYADV.js} +33 -36
  223. package/chunks/{qwenOAuth2-WIEUEFEY.js → qwenOAuth2-3J66TOT5.js} +6 -7
  224. package/chunks/{read-file-KR5BES2E.js → read-file-G4XKW2CS.js} +5 -9
  225. package/chunks/{record-artifact-PXMNP7GZ.js → record-artifact-L3CFJOMA.js} +2 -2
  226. package/chunks/{report-findings-W6GR7SYZ.js → report-findings-LY5HQY4K.js} +3 -3
  227. package/chunks/{resumeHistoryUtils-36NM5S3D.js → resumeHistoryUtils-YPJU4XFE.js} +44 -47
  228. package/chunks/{ripGrep-QGFIVODS.js → ripGrep-AAKMALLM.js} +7 -11
  229. package/chunks/{ru-7BNZFQKG.js → ru-RHEB3RNS.js} +11 -0
  230. package/chunks/{run-qwen-serve-UFEOUIDD.js → run-qwen-serve-ZVEKGS7Y.js} +177 -98
  231. package/chunks/{runtime-7LTR2C7Q.js → runtime-SJCRYNPA.js} +52 -55
  232. package/chunks/safe-mode-KLGUG54M.js +11 -0
  233. package/chunks/sandbox-UIXL423Z.js +146 -0
  234. package/chunks/sandboxConfig-CY343YNJ.js +114 -0
  235. package/chunks/{scheduled-tasks-MV22T3JO.js → scheduled-tasks-5UGBEVNZ.js} +50 -53
  236. package/chunks/{scheduler-HSNQ53ML.js → scheduler-GCZYLZ2P.js} +41 -44
  237. package/chunks/{sdk-exporters-http-3R2TRQHE.js → sdk-exporters-http-DR4G663K.js} +1 -1
  238. package/chunks/{sdk-impl-4WF3VZ2F.js → sdk-impl-SJR26MQF.js} +3 -3
  239. package/chunks/{send-message-UMJKN27Q.js → send-message-DN76MXDX.js} +6 -6
  240. package/chunks/{serve-LDD4FEJQ.js → serve-2XXQLVK2.js} +48 -51
  241. package/chunks/{server-IKTZFW3E.js → server-UHMKPCAZ.js} +408 -211
  242. package/chunks/{session-T77EXOOI.js → session-ZLUK7E4P.js} +108 -108
  243. package/chunks/{session-attachments-root-FBASBVAO.js → session-attachments-root-DHQM5IEZ.js} +39 -42
  244. package/chunks/{session-pr-refresh-2BHKIMIN.js → session-pr-refresh-3OMTQWCZ.js} +48 -51
  245. package/chunks/{settings-TJNUFBGG.js → settings-P4DHIIUP.js} +50 -53
  246. package/chunks/{shell-HDI5VPGD.js → shell-IMFUVQQ5.js} +27 -30
  247. package/chunks/{skill-VTA6FNDX.js → skill-NB5RJGZW.js} +7 -11
  248. package/chunks/{skill-settings-K4LSGCKA.js → skill-settings-IXG5CTQO.js} +47 -50
  249. package/chunks/{spawnChannel-YSGSPD5D.js → spawnChannel-Q3YALTCJ.js} +44 -45
  250. package/chunks/{standalone-update-O5LYCCMB.js → standalone-update-H5OJ7MM7.js} +41 -44
  251. package/chunks/{start-opentui-ui-CS6HKYCE.js → start-opentui-ui-JKAIWGF7.js} +733 -386
  252. package/chunks/{startInteractiveUI-IVP5HEDD.js → startInteractiveUI-YRPOT6GH.js} +370 -337
  253. package/chunks/task-create-75HVPEAH.js +1 -1
  254. package/chunks/{team-create-DW4KE2PR.js → team-create-2XTBYRJF.js} +31 -34
  255. package/chunks/{team-plan-approval-33UL4JDG.js → team-plan-approval-CFNWW7ZQ.js} +27 -30
  256. package/chunks/{terminal-image-renderer-4FK76L22.js → terminal-image-renderer-UDPJPGPQ.js} +39 -42
  257. package/chunks/{theme-manager-UQ3EKEJ4.js → theme-manager-SK57EKMO.js} +39 -42
  258. package/chunks/{tool-search-QUOG6M6M.js → tool-search-ZHTJU2MV.js} +5 -9
  259. package/chunks/{total-session-admission-QRWPWSK5.js → total-session-admission-UUZBDQCG.js} +47 -50
  260. package/chunks/{tree-sitter-ALGO6NDO.js → tree-sitter-4D7QS7F6.js} +1 -1
  261. package/chunks/{tree-sitter-bash-H6YH7EBF.js → tree-sitter-bash-VEJGF5XF.js} +1 -1
  262. package/chunks/{trustedFolders-HESP75BK.js → trustedFolders-4LDBLNTS.js} +40 -43
  263. package/chunks/{update-relaunch-YROJ7A26.js → update-relaunch-LI7GRP36.js} +5 -5
  264. package/chunks/{updateCheck-CUKTRHID.js → updateCheck-PKSSORPO.js} +43 -46
  265. package/chunks/{useAutoAcceptIndicator-BQGSRBHX.js → useAutoAcceptIndicator-I32UEQPI.js} +50 -53
  266. package/chunks/{validateNonInterActiveAuth-UM5U2ZZI.js → validateNonInterActiveAuth-YFPCYYNL.js} +93 -95
  267. package/chunks/{version-A6G2KO4K.js → version-4MTL4JVU.js} +1 -1
  268. package/chunks/{web-fetch-A3RMCVQY.js → web-fetch-O6RG6ISB.js} +9 -13
  269. package/chunks/{web-search-3XGJ773E.js → web-search-JHAXVEMD.js} +9 -14
  270. package/chunks/{web-shell-static-T7UGLVE4.js → web-shell-static-FFWCUUZS.js} +8 -4
  271. package/chunks/{workflow-4TWAFNIB.js → workflow-O7L6VDYU.js} +396 -113
  272. package/chunks/{workspace-providers-status-GNTJ4OIZ.js → workspace-providers-status-WRX6CJM4.js} +53 -56
  273. package/chunks/{workspace-registration-store-D3K34O63.js → workspace-registration-store-7G4E7YPY.js} +1 -1
  274. package/chunks/{workspace-registry-ZE5ZSWNF.js → workspace-registry-SXIMGT4D.js} +47 -50
  275. package/chunks/{workspace-runtime-coordinator-DEXM2635.js → workspace-runtime-coordinator-7DOEHXYT.js} +47 -50
  276. package/chunks/{workspace-service-OGYORPWD.js → workspace-service-HDXOZMYC.js} +53 -56
  277. package/chunks/{workspace-skills-status-4W4H3BGJ.js → workspace-skills-status-VN4L37CA.js} +50 -53
  278. package/chunks/{workspace-trust-reconciler-BHR7S7UJ.js → workspace-trust-reconciler-XEBW5FUL.js} +57 -60
  279. package/chunks/{write-file-EP5AEO5E.js → write-file-LKX4ETIO.js} +29 -32
  280. package/chunks/{zh-V2EYTYJP.js → zh-F76MZTL3.js} +23 -1
  281. package/chunks/{zh-TW-7PRVUGLW.js → zh-TW-S3YTQ4DS.js} +23 -1
  282. package/chunks/{zoom-image-DDEGWG3R.js → zoom-image-RDPRTP4B.js} +5 -9
  283. package/cli.js +19 -15
  284. package/export-transcript-document.css +1 -1
  285. package/export-transcript-document.js +151 -150
  286. package/locales/ca.js +19 -2
  287. package/locales/de.js +18 -0
  288. package/locales/en.js +33 -2
  289. package/locales/fr.js +18 -0
  290. package/locales/ja.js +18 -0
  291. package/locales/pt.js +18 -0
  292. package/locales/ru.js +18 -0
  293. package/locales/zh-TW.js +33 -2
  294. package/locales/zh.js +33 -2
  295. package/package.json +3 -3
  296. package/web-shell/assets/{abnfDiagram-VCTEODGH-BtpzKw3A.js → abnfDiagram-VCTEODGH-RxykUDmi.js} +1 -1
  297. package/web-shell/assets/{arc-CQiVKZJP.js → arc-CZpgGCJC.js} +1 -1
  298. package/web-shell/assets/{architectureDiagram-5GKGNRK7-ekIPBb2d.js → architectureDiagram-5GKGNRK7-BHSMzNDT.js} +1 -1
  299. package/web-shell/assets/{blockDiagram-NRAW4CY4-BrRWkWri.js → blockDiagram-NRAW4CY4-Bn4mF9SZ.js} +1 -1
  300. package/web-shell/assets/{c4Diagram-UCG6FXSJ-qYS8CYZ3.js → c4Diagram-UCG6FXSJ-CBM-Bj6t.js} +1 -1
  301. package/web-shell/assets/channel-DFYs_LlK.js +1 -0
  302. package/web-shell/assets/{chunk-2Q5K7J3B-ZasyyEZm.js → chunk-2Q5K7J3B-D5Fin58O.js} +1 -1
  303. package/web-shell/assets/{chunk-5VM5RSS4-C_IzCGeA.js → chunk-5VM5RSS4-CY05weF7.js} +1 -1
  304. package/web-shell/assets/{chunk-F27PBJKO-C25NZOyD.js → chunk-F27PBJKO-3neZnj5Y.js} +1 -1
  305. package/web-shell/assets/{chunk-G27WJ6UU-XPOHNSGX.js → chunk-G27WJ6UU-Cd7EU4BE.js} +1 -1
  306. package/web-shell/assets/{chunk-JWPE2WC7-BQBh0Xni.js → chunk-JWPE2WC7-DwK1mqFw.js} +1 -1
  307. package/web-shell/assets/{chunk-LCL6LL3I-CoShjpX7.js → chunk-LCL6LL3I-Sl7vY22C.js} +1 -1
  308. package/web-shell/assets/{chunk-POPQ4Y6H-BwRmCDSz.js → chunk-POPQ4Y6H-BXNzpbVg.js} +1 -1
  309. package/web-shell/assets/{chunk-SVP7TREG-DSzE5-Mw.js → chunk-SVP7TREG-DjjButcp.js} +1 -1
  310. package/web-shell/assets/{chunk-XXDRQBXY-BQSQv30h.js → chunk-XXDRQBXY-DNOiCjOJ.js} +1 -1
  311. package/web-shell/assets/classDiagram-DTDB5LWJ-DnGrKXoM.js +1 -0
  312. package/web-shell/assets/classDiagram-v2-JRS7N3AN-DnGrKXoM.js +1 -0
  313. package/web-shell/assets/{cose-bilkent-JH36ORCC-XVUVTHVo.js → cose-bilkent-JH36ORCC-BUnker7a.js} +1 -1
  314. package/web-shell/assets/{cynefin-OW5HDTMX-CrsKx4lQ.js → cynefin-OW5HDTMX-DcUgdWE5.js} +1 -1
  315. package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-BPeZEuHw.js → cynefinDiagram-5FMLGOSQ-CvDKsZsL.js} +1 -1
  316. package/web-shell/assets/{dagre-3AP2YEHR-D31cQ2Qs.js → dagre-3AP2YEHR-jpCmUbr1.js} +1 -1
  317. package/web-shell/assets/{diagram-S7CK7UJ4-zyiG097Q.js → diagram-S7CK7UJ4-DBe_bKE5.js} +1 -1
  318. package/web-shell/assets/{diagram-UQ7AKVKN-Br3vtfsy.js → diagram-UQ7AKVKN-oXvPpDgs.js} +1 -1
  319. package/web-shell/assets/{diagram-VSXAHHWV-Bxkhjx4u.js → diagram-VSXAHHWV-BD7-_SGh.js} +1 -1
  320. package/web-shell/assets/{diagram-VX7I27RA-BQH8QiDk.js → diagram-VX7I27RA-DOJL0wub.js} +1 -1
  321. package/web-shell/assets/{diagram-Z3DM3KII-B_aQ1cw0.js → diagram-Z3DM3KII-DRIiodDD.js} +1 -1
  322. package/web-shell/assets/{ebnfDiagram-PWID7BFC-B9N7BRQE.js → ebnfDiagram-PWID7BFC-Db31Ulmb.js} +1 -1
  323. package/web-shell/assets/{erDiagram-SSCWMZ5O-Cx6Hb1Re.js → erDiagram-SSCWMZ5O-CVHhwI2_.js} +1 -1
  324. package/web-shell/assets/{flowDiagram-A5DVABFB-DTuLP7GU.js → flowDiagram-A5DVABFB-DWOFy1FK.js} +1 -1
  325. package/web-shell/assets/{ganttDiagram-EL5Y4UJY-DYS3d-sL.js → ganttDiagram-EL5Y4UJY-C0sxQtPd.js} +1 -1
  326. package/web-shell/assets/{gitGraphDiagram-WWUBYQGX-Cp0EGx04.js → gitGraphDiagram-WWUBYQGX-CNituBYC.js} +1 -1
  327. package/web-shell/assets/index-B15NlwB8.js +2213 -0
  328. package/web-shell/assets/index-BSrS0tQ6.css +36 -0
  329. package/web-shell/assets/{index-45-LkPDB.js → index-gm9tLk7h.js} +1 -1
  330. package/web-shell/assets/{infoDiagram-RXCK75RN-9--kukiT.js → infoDiagram-RXCK75RN-CxhJYtIR.js} +1 -1
  331. package/web-shell/assets/{ishikawaDiagram-5VMMS53U-CGBdsDLD.js → ishikawaDiagram-5VMMS53U-By2mchUy.js} +1 -1
  332. package/web-shell/assets/{journeyDiagram-EYS64GPL-DeXhcscd.js → journeyDiagram-EYS64GPL-CVH-OweI.js} +1 -1
  333. package/web-shell/assets/{kanban-definition-3QL26DDD-CFdvsU3b.js → kanban-definition-3QL26DDD-Cc9dQXLy.js} +1 -1
  334. package/web-shell/assets/knowledge-Dg9788h4.svg +1 -0
  335. package/web-shell/assets/{layout-DAnwQ3KB.js → layout-C_60ysHw.js} +1 -1
  336. package/web-shell/assets/{linear-CTo7v7Nh.js → linear-BvAVfqwu.js} +1 -1
  337. package/web-shell/assets/{mermaid.core-jggSxF1i.js → mermaid.core-C3CoBKAc.js} +6 -6
  338. package/web-shell/assets/{mindmap-definition-FBJOCRG2-DzIepvlJ.js → mindmap-definition-FBJOCRG2-Cuu8Q8LM.js} +1 -1
  339. package/web-shell/assets/{pegDiagram-XKGWAZYB-BFGS9GJv.js → pegDiagram-XKGWAZYB-DmAeyDO2.js} +1 -1
  340. package/web-shell/assets/{pieDiagram-E7YTZNPT-B2UUcNIT.js → pieDiagram-E7YTZNPT-B7vbB_xv.js} +1 -1
  341. package/web-shell/assets/{quadrantDiagram-AXDQQJYC-BgM6htrX.js → quadrantDiagram-AXDQQJYC-BqOBkRR7.js} +1 -1
  342. package/web-shell/assets/{railroadDiagram-O6MQD6OU-Dk9cS7N-.js → railroadDiagram-O6MQD6OU-sI06lZIu.js} +1 -1
  343. package/web-shell/assets/{requirementDiagram-EFPCY7ZU-C9oRg7xi.js → requirementDiagram-EFPCY7ZU-Bg13d10S.js} +1 -1
  344. package/web-shell/assets/{sankeyDiagram-P5KCCOFB-B-_c7GzI.js → sankeyDiagram-P5KCCOFB-WFOzZHrR.js} +1 -1
  345. package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-R0M-347u.js → sequenceDiagram-WJ2MYXX4-CCdRbA4E.js} +1 -1
  346. package/web-shell/assets/{sizeCapture-X5ZJPWSS-Df0f8UAW.js → sizeCapture-X5ZJPWSS-BH5F3bGg.js} +1 -1
  347. package/web-shell/assets/{stateDiagram-HBIQ2CUA-CsUEfAA-.js → stateDiagram-HBIQ2CUA-NwS2X3QB.js} +1 -1
  348. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-1aU2JZXO.js +1 -0
  349. package/web-shell/assets/{swimlanes-XN3QIQJK-9OGHVSrx.js → swimlanes-XN3QIQJK-Bm38pM28.js} +1 -1
  350. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-Dp-u6kQG.js +8 -0
  351. package/web-shell/assets/{timeline-definition-24CTP7MA-DAfGqS2B.js → timeline-definition-24CTP7MA-Do-agLSo.js} +1 -1
  352. package/web-shell/assets/{vennDiagram-4TSXK5OY-CKATpwHi.js → vennDiagram-4TSXK5OY-aggLfZzl.js} +1 -1
  353. package/web-shell/assets/{wardleyDiagram-VM6X3IG4-CQHdhTrm.js → wardleyDiagram-VM6X3IG4-D5JR3mXX.js} +1 -1
  354. package/web-shell/assets/{xychartDiagram-S5SC5T6Z-5k9NLqlY.js → xychartDiagram-S5SC5T6Z-DhtLDuXs.js} +1 -1
  355. package/web-shell/index.html +2 -2
  356. package/chunks/chunk-7MIBD3LG.js +0 -137
  357. package/chunks/chunk-ARDHE6MM.js +0 -235
  358. package/chunks/chunk-C75BXMPM.js +0 -169
  359. package/chunks/chunk-ERU3SDXT.js +0 -27
  360. package/chunks/chunk-FPGTNKCP.js +0 -251
  361. package/chunks/chunk-JL6APGBX.js +0 -43
  362. package/chunks/chunk-L5OBTAXN.js +0 -137
  363. package/chunks/chunk-MZ3W3F44.js +0 -4172
  364. package/chunks/chunk-OIDF7L67.js +0 -514
  365. package/chunks/chunk-VSXX6VUI.js +0 -2812
  366. package/chunks/chunk-ZFYACOVD.js +0 -1416
  367. package/web-shell/assets/channel-DSQQnOZj.js +0 -1
  368. package/web-shell/assets/classDiagram-DTDB5LWJ-V94ta08R.js +0 -1
  369. package/web-shell/assets/classDiagram-v2-JRS7N3AN-V94ta08R.js +0 -1
  370. package/web-shell/assets/index-H8um-iEl.js +0 -2207
  371. package/web-shell/assets/index-n6N-2a3v.css +0 -36
  372. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-CnSuTPJ2.js +0 -1
  373. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-Bb7TcWQw.js +0 -8
  374. package/chunks/{chunk-QZW6WRB7.js → chunk-5NUKK2DT.js} +2 -2
  375. package/chunks/{chunk-JS73NNWF.js → chunk-FUSEMYFX.js} +0 -0
  376. package/chunks/{chunk-SVWWF5TZ.js → chunk-WVURIAEE.js} +3 -3
  377. package/chunks/{task-update-RI7QNVDP.js → task-update-3LSYQDRW.js} +4 -4
@@ -604,6 +604,17 @@ function requireWorkspaceCwd(caps) {
604
604
  return caps.workspaceCwd;
605
605
  }
606
606
  __name(requireWorkspaceCwd, "requireWorkspaceCwd");
607
+ function parseDaemonBackgroundTurn(value) {
608
+ if (!value || typeof value !== "object" || Array.isArray(value))
609
+ return void 0;
610
+ const record = value;
611
+ if (typeof record["turnId"] !== "string" || !record["turnId"] || typeof record["taskId"] !== "string" || !record["taskId"] || record["kind"] !== "agent" && record["kind"] !== "monitor" && record["kind"] !== "shell" && record["kind"] !== "workflow" || typeof record["startedAt"] !== "number" || !Number.isFinite(record["startedAt"]) || record["startedAt"] < 0 || ["toolUseId", "sourceTurnId", "label"].some(
612
+ (key) => record[key] !== void 0 && typeof record[key] !== "string"
613
+ ))
614
+ return void 0;
615
+ return value;
616
+ }
617
+ __name(parseDaemonBackgroundTurn, "parseDaemonBackgroundTurn");
607
618
  var DAEMON_ERROR_KINDS = [
608
619
  "missing_binary",
609
620
  "blocked_egress",
@@ -1060,6 +1071,8 @@ var CLIENT_ID_HEADER = "X-Qwen-Client-Id";
1060
1071
  var urlEncode = encodeURIComponent;
1061
1072
  function transcriptPageSuffix(opts) {
1062
1073
  const query = new URLSearchParams();
1074
+ if (opts.compactedReplayMode !== void 0)
1075
+ query.set("compactedReplayMode", opts.compactedReplayMode);
1063
1076
  if (opts.cursor !== void 0) query.set("cursor", opts.cursor);
1064
1077
  if (opts.direction !== void 0) query.set("direction", opts.direction);
1065
1078
  if (opts.atRecordId !== void 0) query.set("atRecordId", opts.atRecordId);
@@ -3360,8 +3373,27 @@ var DaemonClient = class {
3360
3373
  clientId
3361
3374
  );
3362
3375
  }
3363
- async sessionWorkflowTaskAction(sessionId, taskId, action, clientId) {
3364
- return await this.sessionTaskMutation(sessionId, taskId, "workflow-action", { action }, clientId);
3376
+ /**
3377
+ * Control a workflow run, or start a new one. `taskId` is the run id for the
3378
+ * control actions, the definition name for `run-saved`, and the caller's own
3379
+ * start key for `run-script` — two concurrent starts under one key start one
3380
+ * run. `input` is read by the two start actions only.
3381
+ */
3382
+ async sessionWorkflowTaskAction(sessionId, taskId, action, clientId, input) {
3383
+ return await this.sessionTaskMutation(
3384
+ sessionId,
3385
+ taskId,
3386
+ "workflow-action",
3387
+ {
3388
+ action,
3389
+ // Sent only when supplied, so a control action's body is what it was
3390
+ // before start input existed.
3391
+ ...input?.args !== void 0 ? { args: input.args } : {},
3392
+ ...input?.sourceRef !== void 0 ? { sourceRef: input.sourceRef } : {},
3393
+ ...input?.script !== void 0 ? { script: input.script } : {}
3394
+ },
3395
+ clientId
3396
+ );
3365
3397
  }
3366
3398
  async sessionTaskMutation(sessionId, taskId, route, body, clientId) {
3367
3399
  return await this.fetchWithTimeout(
@@ -3446,6 +3478,7 @@ var DaemonClient = class {
3446
3478
  cwd: req.workspaceCwd,
3447
3479
  ...req.approvalMode !== void 0 ? { approvalMode: req.approvalMode } : {},
3448
3480
  ...action === "load" && req.historyPageSize !== void 0 ? { historyPageSize: req.historyPageSize } : {},
3481
+ ...action === "load" && req.compactedReplayMode !== void 0 ? { compactedReplayMode: req.compactedReplayMode } : {},
3449
3482
  ...action === "load" && req.liveReplayMode !== void 0 ? { liveReplayMode: req.liveReplayMode } : {},
3450
3483
  ...sourceType !== void 0 ? { sourceType } : {},
3451
3484
  ...sourceId !== void 0 ? { sourceId } : {}
@@ -3744,6 +3777,7 @@ var DaemonClient = class {
3744
3777
  body: JSON.stringify({
3745
3778
  message,
3746
3779
  messageId: opts?.messageId,
3780
+ ...opts?.eventDetailMode !== void 0 ? { eventDetailMode: opts.eventDetailMode } : {},
3747
3781
  ...opts?.content && opts.content.length > 0 ? { content: opts.content } : {}
3748
3782
  }),
3749
3783
  signal: opts?.signal
@@ -6512,6 +6546,8 @@ var DaemonSessionClient = class _DaemonSessionClient {
6512
6546
  replayPartial;
6513
6547
  replayError;
6514
6548
  hasActivePrompt;
6549
+ backgroundTurn;
6550
+ hasRunningBackgroundTasks;
6515
6551
  historyHasMore;
6516
6552
  /**
6517
6553
  * Fallback pagination anchor from the daemon load response (see
@@ -6551,6 +6587,10 @@ var DaemonSessionClient = class _DaemonSessionClient {
6551
6587
  this.restoreStrategy = opts.session.sourceType === "standalone" && context?.kind === "standalone" ? { kind: "standalone" } : { kind: "workspace", workspaceCwd: opts.session.workspaceCwd };
6552
6588
  this.state = { ...opts.state ?? {} };
6553
6589
  this.hasActivePrompt = opts.hasActivePrompt ?? false;
6590
+ this.backgroundTurn = parseDaemonBackgroundTurn(
6591
+ opts.session.backgroundTurn
6592
+ );
6593
+ this.hasRunningBackgroundTasks = opts.session.hasRunningBackgroundTasks;
6554
6594
  this.historyHasMore = opts.historyHasMore ?? false;
6555
6595
  this.historyAnchorRecordId = opts.historyAnchorRecordId;
6556
6596
  this.replayDegraded = opts.replayDegraded ?? false;
@@ -7062,6 +7102,7 @@ var DaemonSessionClient = class _DaemonSessionClient {
7062
7102
  enqueueMidTurnMessage(message, opts) {
7063
7103
  return this.client.enqueueMidTurnMessage(this.sessionId, message, {
7064
7104
  ...opts?.signal ? { signal: opts.signal } : {},
7105
+ ...opts?.eventDetailMode !== void 0 ? { eventDetailMode: opts.eventDetailMode } : {},
7065
7106
  ...opts?.messageId ? { messageId: opts.messageId } : {},
7066
7107
  ...opts?.content && opts.content.length > 0 ? { content: opts.content } : {},
7067
7108
  ...this.clientId ? { clientId: this.clientId } : {}
@@ -7190,12 +7231,13 @@ var DaemonSessionClient = class _DaemonSessionClient {
7190
7231
  this.clientId
7191
7232
  );
7192
7233
  }
7193
- controlWorkflowTask(taskId, action) {
7234
+ controlWorkflowTask(taskId, action, input) {
7194
7235
  return this.client.sessionWorkflowTaskAction(
7195
7236
  this.sessionId,
7196
7237
  taskId,
7197
7238
  action,
7198
- this.clientId
7239
+ this.clientId,
7240
+ input
7199
7241
  );
7200
7242
  }
7201
7243
  clearGoal() {
@@ -9990,12 +10032,18 @@ function createBase(event, opts) {
9990
10032
  const sourceRecordIds = extractSourceRecordIds(event);
9991
10033
  const segmentId = extractTranscriptSegmentId(event);
9992
10034
  const branchRecordId = extractBranchRecordId(event);
10035
+ const update = getSessionUpdatePayload(event.data);
10036
+ const backgroundTurn = parseDaemonBackgroundTurn(
10037
+ (update && isRecord2(update["_meta"]) ? update["_meta"]["backgroundTurn"] : void 0) ?? (isRecord2(event.data) ? event.data["backgroundTurn"] : void 0)
10038
+ );
10039
+ const promptId = event.promptId ?? backgroundTurn?.turnId;
9993
10040
  return {
9994
10041
  ...event.id !== void 0 ? { eventId: event.id } : {},
9995
10042
  ...serverTimestamp !== void 0 ? { serverTimestamp } : {},
9996
10043
  ...sourceRecordIds ? { sourceRecordIds } : {},
9997
10044
  ...segmentId ? { segmentId } : {},
9998
- ...event.promptId ? { promptId: event.promptId } : {},
10045
+ ...promptId ? { promptId } : {},
10046
+ ...backgroundTurn ? { backgroundTurn } : {},
9999
10047
  ...branchRecordId ? { branchRecordId } : {},
10000
10048
  ...event.originatorClientId ? { originatorClientId: event.originatorClientId } : {},
10001
10049
  ...opts.includeRawEvent ? { rawEvent: { ...event, data: redactSensitiveFields(event.data) } } : {}
@@ -10169,6 +10217,17 @@ function normalizeSessionUpdate(event, base, opts) {
10169
10217
  const text = getTextContent(update["content"]);
10170
10218
  const parentToolCallId = extractParentToolCallId(update);
10171
10219
  const meta = extractUpdateMeta(update);
10220
+ if (meta?.["source"] === "background_task_completed" || meta?.["source"] === "background_notification_turn_started") {
10221
+ return [
10222
+ {
10223
+ ...base,
10224
+ type: "status",
10225
+ source: meta["source"],
10226
+ text: text ?? "",
10227
+ data: meta["source"] === "background_task_completed" ? meta["backgroundTask"] : meta["backgroundTurn"]
10228
+ }
10229
+ ];
10230
+ }
10172
10231
  const events = [];
10173
10232
  if (!parentToolCallId && meta?.["promptCancelled"] !== void 0) {
10174
10233
  return normalizePromptCancellation(meta["promptCancelled"], base);
@@ -11318,6 +11377,7 @@ function applyDaemonTranscriptEvent(next, event) {
11318
11377
  }
11319
11378
  break;
11320
11379
  case "assistant.usage":
11380
+ if (isSubagentUsageDuplicate(next, event)) break;
11321
11381
  if (event.parentToolCallId && !next.retainSubagentBlocks) {
11322
11382
  applySubagentUsageToParentTool(next, event);
11323
11383
  } else {
@@ -11492,7 +11552,6 @@ function clearActiveAssistant(state, event) {
11492
11552
  }
11493
11553
  __name(clearActiveAssistant, "clearActiveAssistant");
11494
11554
  function applyAssistantUsage(state, event) {
11495
- if (isLegacySubagentUsageDuplicate(state, event)) return;
11496
11555
  const activeBlockId = state.activeAssistantBlockId ?? (event.parentToolCallId ? void 0 : latestTopLevelAssistantBlockIdInCurrentTurn(state));
11497
11556
  const block = getWritableBlockById(state, activeBlockId);
11498
11557
  if (!block || block.kind !== "assistant") return;
@@ -11505,8 +11564,8 @@ function applyAssistantUsage(state, event) {
11505
11564
  block.updatedAt = state.now;
11506
11565
  }
11507
11566
  __name(applyAssistantUsage, "applyAssistantUsage");
11508
- function isLegacySubagentUsageDuplicate(state, event) {
11509
- if (event.parentToolCallId || !event.sourceRecordIds?.length) return false;
11567
+ function isSubagentUsageDuplicate(state, event) {
11568
+ if (!event.sourceRecordIds?.length) return false;
11510
11569
  const sourceRecordIds = new Set(event.sourceRecordIds);
11511
11570
  for (let i = state.blocks.length - 1; i >= 0; i -= 1) {
11512
11571
  const block = state.blocks[i];
@@ -11516,11 +11575,12 @@ function isLegacySubagentUsageDuplicate(state, event) {
11516
11575
  }
11517
11576
  const rawOutput = isRecord2(block.rawOutput) ? block.rawOutput : void 0;
11518
11577
  const summary = rawOutput && isRecord2(rawOutput["executionSummary"]) ? rawOutput["executionSummary"] : void 0;
11578
+ if (summary && event.parentToolCallId === block.toolCallId) return true;
11519
11579
  return summary?.["inputTokens"] === event.usage.inputTokens && summary["outputTokens"] === event.usage.outputTokens && (summary["cachedTokens"] ?? 0) === (event.usage.cachedTokens ?? 0);
11520
11580
  }
11521
11581
  return false;
11522
11582
  }
11523
- __name(isLegacySubagentUsageDuplicate, "isLegacySubagentUsageDuplicate");
11583
+ __name(isSubagentUsageDuplicate, "isSubagentUsageDuplicate");
11524
11584
  function latestTopLevelAssistantBlockIdInCurrentTurn(state) {
11525
11585
  for (let i = state.blocks.length - 1; i >= 0; i -= 1) {
11526
11586
  const block = state.blocks[i];
@@ -11839,6 +11899,10 @@ function upsertToolBlock(state, event) {
11839
11899
  createdAt: state.now,
11840
11900
  updatedAt: state.now,
11841
11901
  ...event.eventId !== void 0 ? { eventId: event.eventId } : {},
11902
+ ...event.backgroundTurn ? {
11903
+ backgroundTurn: event.backgroundTurn,
11904
+ promptId: event.backgroundTurn.turnId
11905
+ } : {},
11842
11906
  ...event.serverTimestamp !== void 0 ? { serverTimestamp: event.serverTimestamp } : {},
11843
11907
  ...event.sourceRecordIds ? { sourceRecordIds: [...event.sourceRecordIds] } : {},
11844
11908
  ...event.segmentId ? { segmentId: event.segmentId } : {},
@@ -11976,6 +12040,10 @@ function appendShellBlock(state, event) {
11976
12040
  createdAt: state.now,
11977
12041
  updatedAt: state.now,
11978
12042
  ...event.eventId !== void 0 ? { eventId: event.eventId } : {},
12043
+ ...event.backgroundTurn ? {
12044
+ backgroundTurn: event.backgroundTurn,
12045
+ promptId: event.backgroundTurn.turnId
12046
+ } : {},
11979
12047
  ...event.serverTimestamp !== void 0 ? { serverTimestamp: event.serverTimestamp } : {},
11980
12048
  ...event.segmentId ? { segmentId: event.segmentId } : {},
11981
12049
  ...event.stream ? { stream: event.stream } : {}
@@ -12009,6 +12077,10 @@ function appendUserShellBlock(state, event) {
12009
12077
  createdAt: state.now,
12010
12078
  updatedAt: state.now,
12011
12079
  ...event.eventId !== void 0 ? { eventId: event.eventId } : {},
12080
+ ...event.backgroundTurn ? {
12081
+ backgroundTurn: event.backgroundTurn,
12082
+ promptId: event.backgroundTurn.turnId
12083
+ } : {},
12012
12084
  ...event.serverTimestamp !== void 0 ? { serverTimestamp: event.serverTimestamp } : {},
12013
12085
  ...event.segmentId ? { segmentId: event.segmentId } : {},
12014
12086
  ...event.stream ? { stream: event.stream } : {}
@@ -12050,6 +12122,10 @@ function upsertPermissionBlock(state, event) {
12050
12122
  createdAt: state.now,
12051
12123
  updatedAt: state.now,
12052
12124
  ...event.eventId !== void 0 ? { eventId: event.eventId } : {},
12125
+ ...event.backgroundTurn ? {
12126
+ backgroundTurn: event.backgroundTurn,
12127
+ promptId: event.backgroundTurn.turnId
12128
+ } : {},
12053
12129
  ...event.serverTimestamp !== void 0 ? { serverTimestamp: event.serverTimestamp } : {},
12054
12130
  ...event.segmentId ? { segmentId: event.segmentId } : {},
12055
12131
  ...event.sessionId ? { sessionId: event.sessionId } : {},
@@ -12084,6 +12160,10 @@ function resolvePermissionBlock(state, event) {
12084
12160
  createdAt: state.now,
12085
12161
  updatedAt: state.now,
12086
12162
  ...event.eventId !== void 0 ? { eventId: event.eventId } : {},
12163
+ ...event.backgroundTurn ? {
12164
+ backgroundTurn: event.backgroundTurn,
12165
+ promptId: event.backgroundTurn.turnId
12166
+ } : {},
12087
12167
  ...event.serverTimestamp !== void 0 ? { serverTimestamp: event.serverTimestamp } : {},
12088
12168
  ...event.segmentId ? { segmentId: event.segmentId } : {}
12089
12169
  };
@@ -12107,6 +12187,10 @@ function appendUnrecognizedDiagnostic(state, event) {
12107
12187
  ...event.branchRecordId !== void 0 ? { branchRecordId: event.branchRecordId } : {},
12108
12188
  ...event.originatorClientId !== void 0 ? { originatorClientId: event.originatorClientId } : {},
12109
12189
  ...event.eventId !== void 0 ? { eventId: event.eventId } : {},
12190
+ ...event.backgroundTurn ? {
12191
+ backgroundTurn: event.backgroundTurn,
12192
+ promptId: event.backgroundTurn.turnId
12193
+ } : {},
12110
12194
  ...event.serverTimestamp !== void 0 ? { serverTimestamp: event.serverTimestamp } : {}
12111
12195
  };
12112
12196
  const diagnostics = [...state.unrecognizedDiagnostics, diagnostic];
@@ -12123,6 +12207,10 @@ function appendStatusBlock(state, kind, text, event, opts = {}) {
12123
12207
  createdAt: state.now,
12124
12208
  updatedAt: state.now,
12125
12209
  ...event?.eventId !== void 0 ? { eventId: event.eventId } : {},
12210
+ ...event?.backgroundTurn ? {
12211
+ backgroundTurn: event.backgroundTurn,
12212
+ promptId: event.backgroundTurn.turnId
12213
+ } : {},
12126
12214
  ...event?.serverTimestamp !== void 0 ? { serverTimestamp: event.serverTimestamp } : {},
12127
12215
  ...event?.segmentId ? { segmentId: event.segmentId } : {},
12128
12216
  ...event?.type === "error" && event.code ? { code: event.code } : {},
@@ -12175,6 +12263,10 @@ function appendPromptCancelledBlock(state, event) {
12175
12263
  ...event.sourceRecordIds ? { sourceRecordIds: event.sourceRecordIds } : {},
12176
12264
  ...event.reason ? { reason: event.reason } : {},
12177
12265
  ...event.eventId !== void 0 ? { eventId: event.eventId } : {},
12266
+ ...event.backgroundTurn ? {
12267
+ backgroundTurn: event.backgroundTurn,
12268
+ promptId: event.backgroundTurn.turnId
12269
+ } : {},
12178
12270
  ...event.serverTimestamp !== void 0 ? { serverTimestamp: event.serverTimestamp } : {},
12179
12271
  ...event.segmentId ? { segmentId: event.segmentId } : {}
12180
12272
  };
@@ -14171,6 +14263,7 @@ export {
14171
14263
  GOAL_CHECKPOINT_STALL_LIMIT,
14172
14264
  DaemonCapabilityMissingError,
14173
14265
  requireWorkspaceCwd,
14266
+ parseDaemonBackgroundTurn,
14174
14267
  DAEMON_ERROR_KINDS,
14175
14268
  isDaemonContentHash,
14176
14269
  DAEMON_APPROVAL_MODES,
@@ -426,6 +426,18 @@ function buildFetchOptionsWithDispatcher(sdkType, proxyUrl) {
426
426
  }
427
427
  __name(buildFetchOptionsWithDispatcher, "buildFetchOptionsWithDispatcher");
428
428
 
429
+ // packages/core/src/utils/auth-type.ts
430
+ init_esbuild_shims();
431
+ var AuthType = /* @__PURE__ */ ((AuthType2) => {
432
+ AuthType2["USE_OPENAI"] = "openai";
433
+ AuthType2["USE_OPENAI_RESPONSES"] = "openai-responses";
434
+ AuthType2["QWEN_OAUTH"] = "qwen-oauth";
435
+ AuthType2["USE_GEMINI"] = "gemini";
436
+ AuthType2["USE_VERTEX_AI"] = "vertex-ai";
437
+ AuthType2["USE_ANTHROPIC"] = "anthropic";
438
+ return AuthType2;
439
+ })(AuthType || {});
440
+
429
441
  export {
430
442
  loadUndici,
431
443
  preloadRuntimeFetchModule,
@@ -436,10 +448,17 @@ export {
436
448
  setResolvedProxyUrlForRuntimeFetch,
437
449
  getOrCreateMcpDispatcher,
438
450
  redactProxyCredentials,
439
- redactProxyError
451
+ redactProxyError,
452
+ AuthType
440
453
  };
441
454
  /**
442
455
  * @license
443
456
  * Copyright 2025 Qwen Team
444
457
  * SPDX-License-Identifier: Apache-2.0
445
458
  */
459
+ /**
460
+ * @license
461
+ * Copyright 2025 Google LLC
462
+ * Copyright 2026 Qwen Team
463
+ * SPDX-License-Identifier: Apache-2.0
464
+ */
@@ -0,0 +1,28 @@
1
+ // Force strict mode and setup for ESM
2
+ "use strict";
3
+ import {
4
+ isTruthy
5
+ } from "./chunk-SK3RZOPS.js";
6
+ import {
7
+ init_esbuild_shims
8
+ } from "./chunk-5O2XNYP6.js";
9
+ import {
10
+ __name
11
+ } from "./chunk-J2S4EL5Y.js";
12
+
13
+ // packages/core/src/utils/safe-mode.ts
14
+ init_esbuild_shims();
15
+ var SAFE_MODE_ENV_VAR = "QWEN_CODE_SAFE_MODE";
16
+ function isSafeModeEnv() {
17
+ return isTruthy(process.env[SAFE_MODE_ENV_VAR]);
18
+ }
19
+ __name(isSafeModeEnv, "isSafeModeEnv");
20
+
21
+ export {
22
+ isSafeModeEnv
23
+ };
24
+ /**
25
+ * @license
26
+ * Copyright 2026 Qwen Team
27
+ * SPDX-License-Identifier: Apache-2.0
28
+ */
@@ -0,0 +1,229 @@
1
+ // Force strict mode and setup for ESM
2
+ "use strict";
3
+ import {
4
+ mapSkillConfigToStatus
5
+ } from "./chunk-TKF4JINY.js";
6
+ import {
7
+ resolveSkillSettings
8
+ } from "./chunk-D7JMO2GP.js";
9
+ import {
10
+ STATUS_SCHEMA_VERSION
11
+ } from "./chunk-M23GFJ5B.js";
12
+ import {
13
+ loadSettings
14
+ } from "./chunk-RRI764F7.js";
15
+ import {
16
+ resolveLanguage,
17
+ resolveLanguageSetting
18
+ } from "./chunk-GSAOVDTH.js";
19
+ import {
20
+ ExtensionManager,
21
+ ExtensionStore,
22
+ SkillManager,
23
+ getExtensionDisplayName
24
+ } from "./chunk-KAYC5FBN.js";
25
+ import {
26
+ authoredSkillName,
27
+ qualifySkillName
28
+ } from "./chunk-P42KMMU6.js";
29
+ import {
30
+ isSafeModeEnv
31
+ } from "./chunk-ADN5KESB.js";
32
+ import {
33
+ Storage
34
+ } from "./chunk-ZAFYHRVY.js";
35
+ import {
36
+ writeStderrLine
37
+ } from "./chunk-7FA2II6K.js";
38
+ import {
39
+ init_esbuild_shims
40
+ } from "./chunk-5O2XNYP6.js";
41
+ import {
42
+ __name
43
+ } from "./chunk-J2S4EL5Y.js";
44
+
45
+ // packages/cli/src/serve/workspace-skills-status.ts
46
+ init_esbuild_shims();
47
+ import * as fs from "node:fs/promises";
48
+ var VALID_SKILL_LEVELS = /* @__PURE__ */ new Set([
49
+ "project",
50
+ "user",
51
+ "extension",
52
+ "bundled"
53
+ ]);
54
+ function createWorkspaceSkillsStatusProvider(options = {}) {
55
+ const managers = /* @__PURE__ */ new Map();
56
+ const provider = /* @__PURE__ */ __name((workspaceCwd) => buildWorkspaceSkillsStatus(
57
+ workspaceCwd,
58
+ managers,
59
+ options.workspaceTrusted ?? true,
60
+ options.includeUntrustedSkills ?? false
61
+ ), "provider");
62
+ provider.invalidate = (workspaceCwd) => managers.delete(workspaceCwd);
63
+ return provider;
64
+ }
65
+ __name(createWorkspaceSkillsStatusProvider, "createWorkspaceSkillsStatusProvider");
66
+ async function buildWorkspaceSkillsStatus(workspaceCwd, managers, workspaceTrusted, includeUntrustedSkills) {
67
+ try {
68
+ const settings = loadSettings(workspaceCwd, {
69
+ consumeCorruptionEnvVars: false,
70
+ skipLoadEnvironment: true,
71
+ skipWorkspaceSettings: !workspaceTrusted,
72
+ workspaceTrusted
73
+ });
74
+ const rawLanguage = settings.merged.general?.language;
75
+ const locale = resolveLanguage(
76
+ resolveLanguageSetting(
77
+ typeof rawLanguage === "string" ? rawLanguage : void 0
78
+ )
79
+ );
80
+ let cached = managers.get(workspaceCwd);
81
+ if (!cached) {
82
+ const rawLevels = !workspaceTrusted || isSafeModeEnv() ? void 0 : settings.merged.skills?.disabledLevels;
83
+ const disabledLevels = new Set(
84
+ Array.isArray(rawLevels) ? rawLevels.filter(
85
+ (v) => typeof v === "string" && VALID_SKILL_LEVELS.has(v)
86
+ ) : []
87
+ );
88
+ const safeMode = !workspaceTrusted && !includeUntrustedSkills || isSafeModeEnv();
89
+ let extensionManager2;
90
+ const extensionSkillStates2 = /* @__PURE__ */ new Map();
91
+ if (workspaceTrusted && !safeMode) {
92
+ const directory = Storage.getUserExtensionsDir();
93
+ const entry = await fs.lstat(directory).catch((error) => {
94
+ if (error.code === "ENOENT") return void 0;
95
+ throw error;
96
+ });
97
+ if (entry) {
98
+ await fs.readdir(directory);
99
+ const extensionStore = new ExtensionStore();
100
+ extensionManager2 = new ExtensionManager({
101
+ extensionStore,
102
+ workspaceDir: workspaceCwd,
103
+ isWorkspaceTrusted: workspaceTrusted,
104
+ locale
105
+ });
106
+ const snapshot = await extensionManager2.refreshCacheWithSnapshot();
107
+ for (const extension of extensionManager2.getLoadedExtensions()) {
108
+ const states = /* @__PURE__ */ new Map();
109
+ for (const skill of extension.skills ?? []) {
110
+ const name = skill.name.trim().toLowerCase();
111
+ const defaults = extension.config.skillStates;
112
+ const defaultEnabled = defaults && Object.hasOwn(defaults, name) ? defaults[name] : true;
113
+ states.set(
114
+ name,
115
+ extensionStore.getSkillWorkspaceOverride(
116
+ snapshot,
117
+ extension.id,
118
+ workspaceCwd,
119
+ name
120
+ ) ?? defaultEnabled
121
+ );
122
+ }
123
+ extensionSkillStates2.set(extension, states);
124
+ }
125
+ }
126
+ }
127
+ const shim = {
128
+ // Honor the safe-mode env the same way `Config` does when no explicit
129
+ // flag is passed, so an operator running in safe mode gets the same
130
+ // bundled-only listing the child would produce.
131
+ isSafeMode: /* @__PURE__ */ __name(() => safeMode, "isSafeMode"),
132
+ // Bare mode is the interactive `--bare` CLI flag; the daemon never runs
133
+ // bare, so it is always off here.
134
+ getBareMode: /* @__PURE__ */ __name(() => false, "getBareMode"),
135
+ getProjectRoot: /* @__PURE__ */ __name(() => workspaceCwd, "getProjectRoot"),
136
+ getActiveExtensions: /* @__PURE__ */ __name(() => extensionManager2?.getLoadedExtensions().filter((e) => e.isActive) ?? [], "getActiveExtensions"),
137
+ getDisabledSkillLevels: /* @__PURE__ */ __name(() => disabledLevels, "getDisabledSkillLevels")
138
+ };
139
+ const skillManager2 = new SkillManager(shim);
140
+ if (!safeMode) {
141
+ for (const level of ["project", "user"]) {
142
+ if (disabledLevels.has(level)) continue;
143
+ for (const directory of skillManager2.getSkillsBaseDirs(level)) {
144
+ try {
145
+ await fs.readdir(directory);
146
+ } catch (error) {
147
+ if (error.code !== "ENOENT") {
148
+ throw error;
149
+ }
150
+ }
151
+ }
152
+ }
153
+ }
154
+ cached = { skillManager: skillManager2, extensionManager: extensionManager2, extensionSkillStates: extensionSkillStates2 };
155
+ managers.set(workspaceCwd, cached);
156
+ }
157
+ const { disablements, enabledNames } = resolveSkillSettings(settings);
158
+ const { skillManager, extensionManager, extensionSkillStates } = cached;
159
+ const extensions = extensionManager?.getLoadedExtensions() ?? [];
160
+ const skills = await skillManager.listSkills();
161
+ const statuses = skills.map((skill) => {
162
+ const extension = skill.level === "extension" ? extensions.find((e) => e.name === skill.extensionName) : void 0;
163
+ const enabled = extension ? extensionSkillStates.get(extension)?.get(authoredSkillName(skill).trim().toLowerCase()) : void 0;
164
+ const localizedSkill = extension?.displayName !== void 0 ? {
165
+ ...skill,
166
+ extensionDisplayName: getExtensionDisplayName(extension, locale)
167
+ } : skill;
168
+ return mapSkillConfigToStatus(localizedSkill, disablements, {
169
+ enabled: enabledNames.has(skill.name.trim().toLowerCase()) || enabled !== false
170
+ });
171
+ });
172
+ for (const extension of extensions) {
173
+ if (extension.isActive) continue;
174
+ const seenNames = /* @__PURE__ */ new Set();
175
+ for (const skill of extension.skills ?? []) {
176
+ if (seenNames.has(skill.name)) continue;
177
+ seenNames.add(skill.name);
178
+ statuses.push(
179
+ mapSkillConfigToStatus(
180
+ {
181
+ ...skill,
182
+ name: qualifySkillName(extension.name, skill.name),
183
+ authoredName: skill.name,
184
+ level: "extension",
185
+ extensionName: extension.name,
186
+ extensionDisplayName: extension.displayName === void 0 ? void 0 : getExtensionDisplayName(extension, locale)
187
+ },
188
+ disablements,
189
+ { disabled: true }
190
+ )
191
+ );
192
+ }
193
+ }
194
+ return {
195
+ v: STATUS_SCHEMA_VERSION,
196
+ workspaceCwd,
197
+ initialized: true,
198
+ skills: statuses.sort((a, b) => a.name.localeCompare(b.name))
199
+ };
200
+ } catch (error) {
201
+ const message = error instanceof Error ? error.message : String(error);
202
+ writeStderrLine(
203
+ `qwen serve: daemon-local skills enumeration failed for ${workspaceCwd}: ${message}`
204
+ );
205
+ return {
206
+ v: STATUS_SCHEMA_VERSION,
207
+ workspaceCwd,
208
+ initialized: false,
209
+ skills: [],
210
+ errors: [
211
+ {
212
+ kind: "skills",
213
+ status: "error",
214
+ error: message
215
+ }
216
+ ]
217
+ };
218
+ }
219
+ }
220
+ __name(buildWorkspaceSkillsStatus, "buildWorkspaceSkillsStatus");
221
+
222
+ export {
223
+ createWorkspaceSkillsStatusProvider
224
+ };
225
+ /**
226
+ * @license
227
+ * Copyright 2025 Qwen Team
228
+ * SPDX-License-Identifier: Apache-2.0
229
+ */
@@ -14,7 +14,7 @@ import {
14
14
  init_esbuild_shims();
15
15
  async function getCliVersion() {
16
16
  const pkgJson = await getPackageJson();
17
- return "0.23.5-dev.codemode-responses.20260915.af4da34719";
17
+ return "0.23.5-preview.0";
18
18
  }
19
19
  __name(getCliVersion, "getCliVersion");
20
20
  function formatVersionLabel(version) {
@@ -8,7 +8,7 @@ import {
8
8
  DEFAULT_WEB_SEARCH_TIMEOUT_MS,
9
9
  MAX_WEB_SEARCH_MAX_PER_SESSION,
10
10
  MAX_WEB_SEARCH_TIMEOUT_MS
11
- } from "./chunk-VSXX6VUI.js";
11
+ } from "./chunk-VEXUA6DX.js";
12
12
  import {
13
13
  DEFAULT_MAX_SUBAGENT_DEPTH,
14
14
  DEFAULT_MAX_TOOL_CALLS_PER_TURN,
@@ -20,17 +20,17 @@ import {
20
20
  GOAL_CHECKPOINT_TIMEOUT_SECONDS_CAP,
21
21
  GOAL_MAX_ACTIVE_MINUTES_CAP,
22
22
  GOAL_MAX_TURNS_CAP
23
- } from "./chunk-AYMSNIYL.js";
23
+ } from "./chunk-KAYC5FBN.js";
24
24
  import {
25
25
  DEFAULT_QWEN_CUSTOM_IGNORE_FILE_NAMES
26
26
  } from "./chunk-IZ2U57NY.js";
27
27
  import {
28
28
  REASONING_EFFORT_TIERS
29
- } from "./chunk-ARDHE6MM.js";
29
+ } from "./chunk-GJKP6XOB.js";
30
30
  import {
31
31
  DEFAULT_SENSITIVE_SPAN_ATTRIBUTE_MAX_LENGTH,
32
32
  SENSITIVE_SPAN_ATTRIBUTE_MAX_LENGTH_LIMIT
33
- } from "./chunk-4Y2I3CI3.js";
33
+ } from "./chunk-6USYH3EU.js";
34
34
  import {
35
35
  init_esbuild_shims
36
36
  } from "./chunk-5O2XNYP6.js";
@@ -1565,7 +1565,7 @@ var SETTINGS_SCHEMA = {
1565
1565
  category: "Model",
1566
1566
  requiresRestart: false,
1567
1567
  default: DEFAULT_MAX_TOOL_CALLS_PER_TURN,
1568
- description: "Per-turn tool-call cap (one model turn plus its tool-result continuations; blocking Stop-hook continuations such as /goal iterations start a fresh budget). When set explicitly, this value is a hard cap: the turn halts on the next tool call after it is reached (the released behavior). When left unset (default 100), the cap is adaptive: once the turn exceeds 100 it halts only when the model keeps repeating the same call (a stuck loop); a productive turn (diverse calls) continues up to a hard backstop of 1000, which always halts. The adaptive default applies to the interactive TUI, non-interactive (-p / JSON / stream-JSON) core-client runs, and daemon/ACP sessions alike. Daemon/ACP sessions evaluate the cap once per tool batch, before execution: a batch that would cross an explicit cap or the hard backstop is skipped whole, so a turn never executes past either (it can halt up to one batch short), while the adaptive soft cap is exceeded by design, up to the backstop. They also have no in-session disable. An always-on circuit breaker against runaway turns, independent of model.skipLoopDetection. Set to 0 or a negative value to disable the cap.",
1568
+ description: "Per-turn tool-call cap (one model turn plus its tool-result continuations; blocking Stop-hook continuations and runtime-scheduled Goal turns each start a fresh budget). When set explicitly, this value is a hard cap: the turn halts on the next tool call after it is reached (the released behavior). When left unset (default 100), the cap is adaptive: once the turn exceeds 100 it halts only when the model keeps repeating the same call (a stuck loop); a productive turn (diverse calls) continues up to a hard backstop of 1000, which always halts. The adaptive default applies to the interactive TUI, non-interactive (-p / JSON / stream-JSON) core-client runs, and daemon/ACP sessions alike. Daemon/ACP sessions evaluate the cap once per tool batch, before execution: a batch that would cross an explicit cap or the hard backstop is skipped whole, so a turn never executes past either (it can halt up to one batch short), while the adaptive soft cap is exceeded by design, up to the backstop. They also have no in-session disable. An always-on circuit breaker against runaway turns, independent of model.skipLoopDetection. Set to 0 or a negative value to disable the cap.",
1569
1569
  showInDialog: false
1570
1570
  },
1571
1571
  skipStartupContext: {
@@ -2700,6 +2700,23 @@ var SETTINGS_SCHEMA = {
2700
2700
  description: 'Enable the Workflow tool, which lets the model author and run a script that orchestrates subagents in parallel. Off by default; a run can dispatch many subagents and spend tokens accordingly. The QWEN_CODE_ENABLE_WORKFLOWS=1 and QWEN_CODE_DISABLE_WORKFLOWS=1 environment variables override this setting (disable wins). Unrelated to the Session Workflow plan-and-review view; to stop the "workflow" keyword from steering a turn, see Disable Workflow Keyword Trigger.',
2701
2701
  showInDialog: true
2702
2702
  },
2703
+ workflowSizeGuideline: {
2704
+ type: "enum",
2705
+ label: "Dynamic Workflow Size",
2706
+ category: "Tools",
2707
+ // Read on the next prompt: the change is announced to the model then,
2708
+ // and runs started afterwards use the new agent threshold.
2709
+ requiresRestart: false,
2710
+ default: "medium",
2711
+ description: 'Advisory size guideline for the dynamic workflows the model writes: "small" aims for fewer than 5 agents, "medium" (the default) fewer than 15, "large" fewer than 50, and "unrestricted" sends no guideline. It is a guideline, not an enforced limit. It also sets the agent count at which a running workflow is flagged as large (QWEN_CODE_WORKFLOW_SIZE_WARNING_AGENTS overrides that threshold). A change takes effect from your next message.',
2712
+ showInDialog: true,
2713
+ options: [
2714
+ { value: "small", label: "Small (under 5 agents)" },
2715
+ { value: "medium", label: "Medium (under 15 agents)" },
2716
+ { value: "large", label: "Large (under 50 agents)" },
2717
+ { value: "unrestricted", label: "Unrestricted (no guideline)" }
2718
+ ]
2719
+ },
2703
2720
  truncateToolOutputThreshold: {
2704
2721
  type: "number",
2705
2722
  label: "Tool Output Truncation Threshold",
@@ -3072,8 +3089,8 @@ var SETTINGS_SCHEMA = {
3072
3089
  label: "Cross-Session Messaging",
3073
3090
  category: "Advanced",
3074
3091
  requiresRestart: true,
3075
- default: false,
3076
- description: "Experimental. Let Qwen Code sessions on this machine send each other messages over a per-session local socket. Off by default; turning it on opens this session to peer messages, makes it discoverable to others, and lets its model address them from send_message.",
3092
+ default: true,
3093
+ description: `Let Qwen Code sessions on this machine send each other messages over a per-session local socket. On by default: this session is discoverable by the others, takes peer messages under the review rules of agents.crossSessionInbound, and its model can address them from send_message. Two senders are delivered without review unless agents.crossSessionInbound is "hold" or "refuse": processes this session starts, which inherit its child token, and a same-user process that claims this session's own review class, which nothing authenticates. Set to false to keep this session invisible and unreachable.`,
3077
3094
  showInDialog: false
3078
3095
  },
3079
3096
  crossSessionInbound: {
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  t
5
- } from "./chunk-I6YJZGHS.js";
5
+ } from "./chunk-GSAOVDTH.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";