@qwen-code/qwen-code 0.23.1-preview.1 → 0.23.1

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 (351) hide show
  1. package/bundled/computer-use/SKILL.md +189 -116
  2. package/bundled/goal-draft/SKILL.md +23 -13
  3. package/bundled/qc-helper/docs/_meta.ts +1 -0
  4. package/bundled/qc-helper/docs/configuration/model-providers.md +47 -1
  5. package/bundled/qc-helper/docs/configuration/settings.md +57 -7
  6. package/bundled/qc-helper/docs/conversations-recovery.md +102 -0
  7. package/bundled/qc-helper/docs/features/channels/dingtalk.md +26 -0
  8. package/bundled/qc-helper/docs/features/channels/overview.md +1 -1
  9. package/bundled/qc-helper/docs/features/commands.md +71 -6
  10. package/bundled/qc-helper/docs/features/computer-use.md +9 -7
  11. package/bundled/qc-helper/docs/features/followup-suggestions.md +2 -2
  12. package/bundled/qc-helper/docs/features/goals.md +15 -3
  13. package/bundled/qc-helper/docs/features/skills.md +40 -0
  14. package/bundled/qc-helper/docs/qwen-serve.md +19 -1
  15. package/chunks/{MaxSizedBox-5ARLO5PR.js → MaxSizedBox-UDO6Y7RB.js} +35 -36
  16. package/chunks/{StandaloneSessionPicker-T6B322CB.js → StandaloneSessionPicker-D4CUOO4H.js} +55 -56
  17. package/chunks/{acp-startup-profiler-6ULXXQMS.js → acp-startup-profiler-KEU6VAYR.js} +2 -2
  18. package/chunks/{acpAgent-WTDEY5KD.js → acpAgent-KWLJFADK.js} +210 -131
  19. package/chunks/{agent-NXPUXEVZ.js → agent-GSUPGEOL.js} +24 -25
  20. package/chunks/{agent-headless-QQZTWOKO.js → agent-headless-HNYCQUJB.js} +24 -25
  21. package/chunks/{anthropicContentGenerator-6XDHXIII.js → anthropicContentGenerator-I7LQZH26.js} +30 -7
  22. package/chunks/{artifact-tool-DFVVJXL2.js → artifact-tool-P52OKKEF.js} +1 -1
  23. package/chunks/{askUserQuestion-GF7VQ44M.js → askUserQuestion-I5W5S3D6.js} +2 -2
  24. package/chunks/{bridge-OHY5OGOZ.js → bridge-B7CV6RVI.js} +40 -41
  25. package/chunks/{channel-management-service-ZDDG3G5S.js → channel-management-service-TRTLQTSV.js} +4 -4
  26. package/chunks/{channel-settings-store-7BJAS2SU.js → channel-settings-store-FW45IRUP.js} +46 -47
  27. package/chunks/{channel-worker-group-2ISMRENV.js → channel-worker-group-PIYPVCTF.js} +6 -6
  28. package/chunks/{channel-worker-manager-VSRPVPRH.js → channel-worker-manager-FQHEDTD2.js} +6 -6
  29. package/chunks/{channel-worker-supervisor-SRJBK72Z.js → channel-worker-supervisor-XJPZZ3VK.js} +3 -3
  30. package/chunks/{chunk-2WGJG2KW.js → chunk-25CBAK3H.js} +4 -4
  31. package/chunks/{chunk-XUSOYE2I.js → chunk-27LTEY6D.js} +1 -1
  32. package/chunks/{chunk-WTW36TJ3.js → chunk-2EKVPSIJ.js} +1 -1
  33. package/chunks/{chunk-NAKALAL4.js → chunk-2TMJRF46.js} +116 -15
  34. package/chunks/{chunk-E4L5BM2B.js → chunk-2YS3NU4A.js} +4 -4
  35. package/chunks/chunk-2Z3T52OC.js +82 -0
  36. package/chunks/{chunk-ER273QE6.js → chunk-2ZFO5JD7.js} +21 -4
  37. package/chunks/{chunk-WXC6OAWD.js → chunk-3BTHHXXE.js} +1 -1
  38. package/chunks/{chunk-GXZHYPHZ.js → chunk-3LPJ776W.js} +5 -2
  39. package/chunks/{chunk-XY3USGFE.js → chunk-3VDLQUR2.js} +1 -1
  40. package/chunks/{chunk-LK7S2D6V.js → chunk-3VWPPK5Q.js} +58 -4
  41. package/chunks/{chunk-IKLFS6SC.js → chunk-3YQMUBTS.js} +3 -3
  42. package/chunks/{chunk-P4RUUG64.js → chunk-45ROPFQY.js} +1 -1
  43. package/chunks/{chunk-W4LL5RZO.js → chunk-4ALNJDHL.js} +52 -13
  44. package/chunks/{chunk-D6PIMKY3.js → chunk-4VY3ITHR.js} +4 -4
  45. package/chunks/{chunk-H3UDNQLO.js → chunk-5CVY5Q2P.js} +3 -3
  46. package/chunks/{chunk-6UIACMGH.js → chunk-5DQ4YTIZ.js} +1 -1
  47. package/chunks/{chunk-P6LATTDG.js → chunk-5IL2BZHW.js} +3 -3
  48. package/chunks/{chunk-537SQ2AI.js → chunk-5WC2ECUK.js} +104 -16
  49. package/chunks/{chunk-HFTB354P.js → chunk-5Z4FCEPY.js} +60 -6
  50. package/chunks/{chunk-3K65MUKD.js → chunk-65I7S4Z3.js} +2 -1
  51. package/chunks/{chunk-AQ5NAGWI.js → chunk-66JBCTJF.js} +8 -7
  52. package/chunks/{chunk-54TF2ZIQ.js → chunk-6JXHO7LG.js} +3 -3
  53. package/chunks/{chunk-YCDL2SAS.js → chunk-6QILGINT.js} +2 -2
  54. package/chunks/{chunk-P5LDR7FI.js → chunk-6QV7Z74P.js} +3 -3
  55. package/chunks/{chunk-4HC4DYKN.js → chunk-6RZX2HIH.js} +1 -1
  56. package/chunks/{chunk-O45WBTNS.js → chunk-6SADVYQQ.js} +3 -3
  57. package/chunks/{chunk-KE3Q4JMY.js → chunk-6TPVIESH.js} +5 -7
  58. package/chunks/{chunk-2LD5U7Q3.js → chunk-6YEOCHSE.js} +29 -1
  59. package/chunks/{chunk-QWZOOIR3.js → chunk-75LBC7SV.js} +69 -12
  60. package/chunks/{chunk-7BZS4ZDV.js → chunk-7SL55L5H.js} +25 -18
  61. package/chunks/{chunk-O2GG7H4C.js → chunk-ARYNBBBM.js} +3 -3
  62. package/chunks/{chunk-CZACBHAW.js → chunk-B3EL44K3.js} +5 -5
  63. package/chunks/{chunk-VY6UVU7G.js → chunk-CABDNUJ4.js} +2 -2
  64. package/chunks/{chunk-RVNS7NWN.js → chunk-CALNF3Z3.js} +1 -1
  65. package/chunks/{chunk-MWHY26G3.js → chunk-CHVU543W.js} +1 -1
  66. package/chunks/{chunk-GZWW2QWR.js → chunk-CIKL2DQP.js} +2 -2
  67. package/chunks/{chunk-R355CUNQ.js → chunk-CLKE4IY3.js} +1 -77
  68. package/chunks/{chunk-MUZCSTOO.js → chunk-CRZBDVP2.js} +5 -4
  69. package/chunks/{chunk-SFMCYMVF.js → chunk-D6AQNMUA.js} +4 -4
  70. package/chunks/{chunk-D4CU6DKR.js → chunk-DO5SMV52.js} +10 -8
  71. package/chunks/{chunk-ZAZ3NFL6.js → chunk-DXQ6Z7AH.js} +315 -63
  72. package/chunks/{chunk-IXSGOSEG.js → chunk-DZ6D4B3K.js} +28 -25
  73. package/chunks/{chunk-GMNLYQOS.js → chunk-E6TI726I.js} +1 -1
  74. package/chunks/{chunk-JBTZUFR4.js → chunk-E7XSUYCZ.js} +6 -6
  75. package/chunks/{chunk-AHBLRVD5.js → chunk-EEKU6COG.js} +4 -4
  76. package/chunks/{chunk-47BZVBTE.js → chunk-EHTKOO6W.js} +4 -4
  77. package/chunks/{chunk-HJ34U5J4.js → chunk-ENZDGHGJ.js} +4 -4
  78. package/chunks/{chunk-IFD3BTEA.js → chunk-EOET4H7C.js} +3 -3
  79. package/chunks/{chunk-ZTAVGFKA.js → chunk-ERXNTINK.js} +1 -1
  80. package/chunks/{chunk-F47DITLZ.js → chunk-FAWTMDX7.js} +14 -0
  81. package/chunks/{chunk-KPXRFTT7.js → chunk-FETY36NQ.js} +1 -1
  82. package/chunks/{chunk-5JLQWQK6.js → chunk-FV4DM2M4.js} +2 -2
  83. package/chunks/{chunk-4F2QRVW6.js → chunk-FW4E4QPG.js} +1 -1
  84. package/chunks/{chunk-KJJPJYHI.js → chunk-FWRRUITH.js} +8 -8
  85. package/chunks/{chunk-4VUVBN3Y.js → chunk-G6UUOCUT.js} +87 -0
  86. package/chunks/{chunk-4JAGXZR3.js → chunk-GM44O6F7.js} +1 -1
  87. package/chunks/{chunk-4MCY33Y2.js → chunk-GNY7B3CA.js} +1 -1
  88. package/chunks/{chunk-VEFRT7NX.js → chunk-H3Q3RSKZ.js} +1 -1
  89. package/chunks/{chunk-43NOB5NM.js → chunk-HIXUUCGY.js} +188 -13
  90. package/chunks/{chunk-EJNYBDYC.js → chunk-HNLMYDQE.js} +1 -1
  91. package/chunks/{chunk-JOPC3FND.js → chunk-HUX2DOTF.js} +5 -5
  92. package/chunks/{chunk-GCFZ2LAX.js → chunk-HZ2HUXX7.js} +2 -2
  93. package/chunks/{chunk-CWNC7M73.js → chunk-IKG2YVRZ.js} +2 -2
  94. package/chunks/{chunk-L4R7BCVV.js → chunk-J3TJH52D.js} +1 -1
  95. package/chunks/{chunk-QMFOYPGV.js → chunk-J3VZF2AL.js} +2 -2
  96. package/chunks/{chunk-ZJ2LM2SI.js → chunk-JGDRB4FP.js} +104 -33
  97. package/chunks/{chunk-LMJQSPWB.js → chunk-KA5HR3G2.js} +1 -1
  98. package/chunks/{chunk-G34YLYCS.js → chunk-L7V52QEZ.js} +10 -10
  99. package/chunks/{chunk-GVVCLL2P.js → chunk-LNCNUMJ5.js} +451 -396
  100. package/chunks/{chunk-RDKXZ2LS.js → chunk-LYT2OU7D.js} +1 -1
  101. package/chunks/{chunk-SAZS4IWW.js → chunk-LZGFVUWZ.js} +3 -3
  102. package/chunks/{chunk-32YDNYXP.js → chunk-M73KHGNR.js} +13 -66
  103. package/chunks/{chunk-ADJD4LZF.js → chunk-MA5OUNN6.js} +1 -1
  104. package/chunks/{chunk-2RYWGYB3.js → chunk-MFYH2VXV.js} +3 -3
  105. package/chunks/{chunk-RPBMP6BN.js → chunk-MWIO7MF6.js} +3 -0
  106. package/chunks/{chunk-OECNP26L.js → chunk-N6S3NUYJ.js} +1 -1
  107. package/chunks/{chunk-5MTARK4Y.js → chunk-N7YQEKGX.js} +6 -6
  108. package/chunks/{chunk-XOVVCGZX.js → chunk-NB3NDQQK.js} +1 -1
  109. package/chunks/chunk-NOO4QFXM.js +171 -0
  110. package/chunks/{chunk-NGX4NUNP.js → chunk-O2FEO2CB.js} +131 -6
  111. package/chunks/{chunk-XHGGYCTA.js → chunk-O2JBJQCF.js} +1 -1
  112. package/chunks/{chunk-LPBQODMR.js → chunk-OESZTXTG.js} +4 -4
  113. package/chunks/{chunk-UKADFFL2.js → chunk-OFVAS4AR.js} +1 -1
  114. package/chunks/{chunk-TDP7UULF.js → chunk-OPMKGOLD.js} +1 -1
  115. package/chunks/{chunk-LDS57224.js → chunk-OWCFKIFQ.js} +1 -1
  116. package/chunks/{chunk-I72PHOKL.js → chunk-PDUMGZ2P.js} +1524 -1382
  117. package/chunks/{chunk-JRYL3T2O.js → chunk-PQSCGZT2.js} +1 -1
  118. package/chunks/{chunk-WEXA2DNG.js → chunk-PSPAM24S.js} +14 -0
  119. package/chunks/{chunk-UKKYOIVT.js → chunk-QAZ2MGYT.js} +2 -2
  120. package/chunks/{chunk-J3O5I5ZD.js → chunk-QK4K76T6.js} +3 -3
  121. package/chunks/{chunk-NUQFUXOG.js → chunk-QTNCGZHQ.js} +2 -0
  122. package/chunks/{chunk-5YY5MZT6.js → chunk-QZOXVQPK.js} +1 -1
  123. package/chunks/{chunk-QJVZLILI.js → chunk-R7OO56VZ.js} +1 -1
  124. package/chunks/{chunk-IQN2CCIE.js → chunk-RNYENHN5.js} +398 -55
  125. package/chunks/{chunk-64MQTIX7.js → chunk-RPFJJ33Z.js} +2 -2
  126. package/chunks/{chunk-4VZCORNT.js → chunk-RXT4QBDX.js} +1 -1
  127. package/chunks/{chunk-SN5FV4FY.js → chunk-S6QVI3MV.js} +3 -3
  128. package/chunks/{chunk-NXWYCSPL.js → chunk-SOA4HKRJ.js} +1 -1
  129. package/chunks/{chunk-JLWFGYXU.js → chunk-T2IHCZLS.js} +2 -2
  130. package/chunks/{chunk-DNPHKA72.js → chunk-TGC4264Q.js} +6 -6
  131. package/chunks/{chunk-PZV2FASB.js → chunk-TRWQQBVH.js} +1 -1
  132. package/chunks/{chunk-Y3ZKI4RQ.js → chunk-TWAMIEQ2.js} +85 -22
  133. package/chunks/{chunk-KK2GZGBK.js → chunk-TWWS7XUW.js} +14 -11
  134. package/chunks/{chunk-4IQKBLTQ.js → chunk-UHUT4IDM.js} +18 -9
  135. package/chunks/{chunk-BKNY7PDI.js → chunk-USN6VNTO.js} +1 -1
  136. package/chunks/{chunk-TMWB67LS.js → chunk-UXDVUFKU.js} +3 -3
  137. package/chunks/{chunk-HY3DXYZK.js → chunk-UYDQYDW2.js} +1 -1
  138. package/chunks/{chunk-3K456UJF.js → chunk-VF6D6EGV.js} +12 -4
  139. package/chunks/{chunk-PZUOHCWI.js → chunk-WAASYFPK.js} +2 -2
  140. package/chunks/{chunk-OHOO527W.js → chunk-WG7BL3FY.js} +52 -2
  141. package/chunks/{chunk-JPEAQJNS.js → chunk-WJDXKQIO.js} +1 -1
  142. package/chunks/{chunk-MNEYUNOE.js → chunk-WNISCNTA.js} +40 -2
  143. package/chunks/{chunk-Z6WZPXQH.js → chunk-WQMUGQ6G.js} +2 -2
  144. package/chunks/{chunk-N7VURC4O.js → chunk-WXFCI3O5.js} +2 -2
  145. package/chunks/{chunk-VU7O7CGQ.js → chunk-XDNFODER.js} +1 -1
  146. package/chunks/{chunk-N7EYO2E7.js → chunk-XQ4RDO5B.js} +1 -1
  147. package/chunks/{chunk-VDXYYVCD.js → chunk-XVTCSVBK.js} +579 -57
  148. package/chunks/{chunk-PTFFWTTO.js → chunk-XZ3Z43XL.js} +3 -3
  149. package/chunks/{chunk-QSC5YOEC.js → chunk-YAC7H4K3.js} +2 -2
  150. package/chunks/{chunk-43JNQAHO.js → chunk-YCEKI7QX.js} +51 -10
  151. package/chunks/{chunk-7IKXTGZT.js → chunk-YI2YCNSP.js} +1 -1
  152. package/chunks/{chunk-VUSSAGKI.js → chunk-YZTGGCEE.js} +10 -2
  153. package/chunks/{chunk-WR3SH3EY.js → chunk-ZNO5BUAD.js} +149 -66
  154. package/chunks/{chunk-URSCX7S7.js → chunk-ZPL2TZNA.js} +353 -11
  155. package/chunks/{chunk-UEZOXZNI.js → chunk-ZU2T5JIS.js} +804 -371
  156. package/chunks/{config-utils-QXDOTXEQ.js → config-utils-KTDSQ4MU.js} +39 -40
  157. package/chunks/{contextCommand-RN4KARWC.js → contextCommand-UQ3KRYGK.js} +37 -38
  158. package/chunks/{core-runtime-NAZCOKHB.js → core-runtime-JR34JAFH.js} +35 -36
  159. package/chunks/{create-sub-session-BCSM4WKB.js → create-sub-session-RGPJOI4S.js} +45 -40
  160. package/chunks/{create-sub-session-BQ3SE4TX.js → create-sub-session-TGIX63YU.js} +2 -2
  161. package/chunks/{cron-create-D6HQ7I7I.js → cron-create-GTPVMJCF.js} +1 -1
  162. package/chunks/{cron-delete-KK3D2SQV.js → cron-delete-ZBK27Z4K.js} +1 -1
  163. package/chunks/{cron-list-VBF3IZMF.js → cron-list-KTFKFDKC.js} +1 -1
  164. package/chunks/{daemon-LCUELM6E.js → daemon-UI6SQSBV.js} +1 -1
  165. package/chunks/{daemon-git-worktree-guard-3K5CAU36.js → daemon-git-worktree-guard-H3OA26KQ.js} +35 -36
  166. package/chunks/{daemon-status-provider-4X3ZZQTZ.js → daemon-status-provider-6WZLKSZU.js} +45 -46
  167. package/chunks/{daemon-trust-policy-R45CFUJA.js → daemon-trust-policy-3EDP2BYD.js} +42 -43
  168. package/chunks/{daemon-trust-policy-monitor-DSSFCO3K.js → daemon-trust-policy-monitor-CRHZPK52.js} +42 -43
  169. package/chunks/{deferred-core-runtime-UO2M6WYI.js → deferred-core-runtime-LO5NTQQ4.js} +35 -36
  170. package/chunks/{discovery-TUM3ZQ6U.js → discovery-XP4RMDUM.js} +4 -2
  171. package/chunks/{display-image-EVVTBVYE.js → display-image-CTNHJRZC.js} +4 -4
  172. package/chunks/{dist-SIHF5MU2.js → dist-24TCWK5H.js} +1 -1
  173. package/chunks/{dist-AFH3BMZZ.js → dist-5I4HLUTO.js} +1 -1
  174. package/chunks/{dist-3T5MDUHP.js → dist-FDISN4AK.js} +1 -1
  175. package/chunks/{dist-SB2XRXZA.js → dist-M4CBX53H.js} +1 -1
  176. package/chunks/{dist-UVHW2U56.js → dist-NQ2636VT.js} +1 -1
  177. package/chunks/{dist-PH5RSTEA.js → dist-OR2ZQTXZ.js} +1 -1
  178. package/chunks/{dist-MK5PPBRF.js → dist-STAGIFNB.js} +1099 -67
  179. package/chunks/{dist-R5Y34V6T.js → dist-WZTUKIDR.js} +2 -2
  180. package/chunks/{dist-QUU7TVE3.js → dist-XJ25G6OH.js} +1 -1
  181. package/chunks/{edit-VNBCTRWP.js → edit-LB7Z7XK5.js} +24 -25
  182. package/chunks/{en-JMR535HP.js → en-YJNRUQG4.js} +1 -1
  183. package/chunks/{enter-worktree-CEVK7MQ2.js → enter-worktree-YFTKHXHZ.js} +4 -4
  184. package/chunks/{enterPlanMode-4KMZMUIA.js → enterPlanMode-P6TVUFIY.js} +24 -25
  185. package/chunks/{environment-S2HYQDON.js → environment-QATJNNKI.js} +38 -39
  186. package/chunks/{errors-DAAN5TL7.js → errors-3XJ37PS2.js} +37 -38
  187. package/chunks/{exit-worktree-D3YE6MUN.js → exit-worktree-NF2XEMES.js} +5 -5
  188. package/chunks/{exitPlanMode-HR36HG3D.js → exitPlanMode-A3OKL5UO.js} +24 -25
  189. package/chunks/{fast-path-4IWSW3UV.js → fast-path-DBIT5YQQ.js} +3 -3
  190. package/chunks/{fast-path-settings-ISEJPRYE.js → fast-path-settings-SATXY3PD.js} +3 -3
  191. package/chunks/{glob-IZYB2XH2.js → glob-73EDTXUE.js} +24 -25
  192. package/chunks/{goal-tools-VGUPKQDJ.js → goal-tools-DFI6YMSD.js} +24 -25
  193. package/chunks/{grep-OUVLNXG7.js → grep-BLHF2S5D.js} +2 -2
  194. package/chunks/{handleAutoUpdate-D56FMDTW.js → handleAutoUpdate-2FUNJO3B.js} +38 -39
  195. package/chunks/{i18n-BKE5WO6T.js → i18n-FDIA6KFI.js} +38 -37
  196. package/chunks/{image-gen-SHVQ3XID.js → image-gen-XP4NNIYG.js} +5 -5
  197. package/chunks/{initializer-MS4SGEHF.js → initializer-4MJTJOTW.js} +42 -43
  198. package/chunks/{installationInfo-542MGC4S.js → installationInfo-232RA2OK.js} +35 -36
  199. package/chunks/{list-H6XTKUWL.js → list-WN6WSGEB.js} +45 -46
  200. package/chunks/{list-agents-ULYBGJXC.js → list-agents-I5TRH3J7.js} +2 -2
  201. package/chunks/{llm-3NUC4EJY.js → llm-UDFWQWZA.js} +77 -78
  202. package/chunks/{llm-content-generator-R4NL3OQN.js → llm-content-generator-VLMZ2A7A.js} +23 -8
  203. package/chunks/{loadedSettingsAdapter-3XLKYDVT.js → loadedSettingsAdapter-OBQEIXM7.js} +42 -43
  204. package/chunks/{loggingContentGenerator-ZYSWVNEO.js → loggingContentGenerator-RGVUMUVX.js} +26 -27
  205. package/chunks/{loop-wakeup-B27BEYRL.js → loop-wakeup-HL6XOWI4.js} +2 -2
  206. package/chunks/{ls-3IIMMVKF.js → ls-YV7RKLKY.js} +1 -1
  207. package/chunks/{lsp-VJAT7XKS.js → lsp-NO3AMRZT.js} +1 -1
  208. package/chunks/{managed-npm-update-L2I53ZAI.js → managed-npm-update-QBAJYCFU.js} +35 -36
  209. package/chunks/{mcp-4PIXQASW.js → mcp-OTIZZCPY.js} +42 -43
  210. package/chunks/{monitor-O2YQTOZZ.js → monitor-BV5XF6LL.js} +24 -25
  211. package/chunks/{nonInteractiveCli-LV7CDBA2.js → nonInteractiveCli-W6MUKDVJ.js} +79 -77
  212. package/chunks/{notebook-edit-4RE2ALH4.js → notebook-edit-HGBEKGTE.js} +24 -25
  213. package/chunks/{openaiContentGenerator-7ND7K5CP.js → openaiContentGenerator-NSU3ERBH.js} +15 -15
  214. package/chunks/{pidfile-UFTLQ7NP.js → pidfile-LE3TU4GE.js} +35 -36
  215. package/chunks/{processUtils-3XBB4FYV.js → processUtils-YFBGJK67.js} +2 -2
  216. package/chunks/{prompt-terminal-ledger-2QASOGMM.js → prompt-terminal-ledger-4W4W7DSO.js} +36 -37
  217. package/chunks/{qwenContentGenerator-AELTUTH6.js → qwenContentGenerator-HTA57WFC.js} +28 -29
  218. package/chunks/{qwenOAuth2-BS5D2LYV.js → qwenOAuth2-KX6LVYQ3.js} +4 -4
  219. package/chunks/{read-file-PDWHZPHX.js → read-file-KHPQ2MB6.js} +4 -4
  220. package/chunks/{read-mcp-resource-YXJZ75UB.js → read-mcp-resource-D3N75DGF.js} +1 -1
  221. package/chunks/{record-artifact-WJDOV6XU.js → record-artifact-Q5CRGJTP.js} +2 -2
  222. package/chunks/{report-findings-Q4UACKWR.js → report-findings-TJ34R7QK.js} +3 -3
  223. package/chunks/{request-shutdown-2YZ3E3GH.js → request-shutdown-LRKMTBAD.js} +6 -6
  224. package/chunks/{resumeHistoryUtils-QRXZEEBA.js → resumeHistoryUtils-K7RV3QBN.js} +39 -40
  225. package/chunks/{ripGrep-KSOOLE6H.js → ripGrep-NBBVCMG4.js} +7 -7
  226. package/chunks/{run-qwen-serve-RTAREPT6.js → run-qwen-serve-A3JBOZCM.js} +58 -60
  227. package/chunks/{runtime-ESFSCJRZ.js → runtime-7YOU2KJ3.js} +47 -48
  228. package/chunks/{scheduled-tasks-6ZHRNBH6.js → scheduled-tasks-52LXK7LN.js} +42 -43
  229. package/chunks/{scheduler-DQI6KV7T.js → scheduler-J44M72VM.js} +37 -38
  230. package/chunks/{send-message-PQCVSVMN.js → send-message-AWKUDJBH.js} +8 -8
  231. package/chunks/{serve-FY7ZEW52.js → serve-TRC6XJUB.js} +42 -43
  232. package/chunks/{server-KNDY6K5F.js → server-YPNTJLX2.js} +1314 -841
  233. package/chunks/{session-MCEPXAZP.js → session-FMMIBFYX.js} +98 -84
  234. package/chunks/{session-attachments-root-OLNAE6GF.js → session-attachments-root-LDJMNK7K.js} +35 -36
  235. package/chunks/{session-pr-refresh-HKJHQQQK.js → session-pr-refresh-NLR4EK2J.js} +41 -42
  236. package/chunks/{settings-VXO4WBMK.js → settings-A46L577J.js} +41 -42
  237. package/chunks/{shell-U263OTES.js → shell-Q5LSQPPY.js} +24 -25
  238. package/chunks/{skill-SDODGBKL.js → skill-75KPJRCM.js} +10 -57
  239. package/chunks/{skill-settings-YEIA22QJ.js → skill-settings-775YT4YR.js} +41 -42
  240. package/chunks/{spawnChannel-4WJZVFPP.js → spawnChannel-XY73I5CU.js} +37 -38
  241. package/chunks/{standalone-update-ZWVQUO64.js → standalone-update-L46XXNQ2.js} +37 -38
  242. package/chunks/{start-opentui-ui-BFYCJQRZ.js → start-opentui-ui-WLV43247.js} +2007 -1003
  243. package/chunks/{startInteractiveUI-JYAFCMHL.js → startInteractiveUI-F5DKMLOV.js} +1231 -1528
  244. package/chunks/{syntheticOutput-AUAJBNXR.js → syntheticOutput-D2P5V6RG.js} +2 -2
  245. package/chunks/{task-create-LD5ISM3E.js → task-create-PMAFST2T.js} +7 -7
  246. package/chunks/{task-list-YISJ4RJA.js → task-list-R2HSY2NC.js} +1 -1
  247. package/chunks/{task-stop-65ZOVATJ.js → task-stop-BFSKRTGV.js} +1 -1
  248. package/chunks/{task-update-AAN4ZVEY.js → task-update-JYC57USF.js} +7 -7
  249. package/chunks/{team-create-KU7MABNO.js → team-create-2PATB77U.js} +24 -25
  250. package/chunks/{team-delete-XFRRTJTT.js → team-delete-CBHVBTPB.js} +1 -1
  251. package/chunks/{team-plan-approval-DPB377A3.js → team-plan-approval-QTANEWOS.js} +24 -25
  252. package/chunks/{terminal-image-renderer-WGWRENOF.js → terminal-image-renderer-OGULCFNF.js} +37 -38
  253. package/chunks/{theme-manager-GBUFULSO.js → theme-manager-CNO3QERP.js} +35 -36
  254. package/chunks/{todoWrite-G7NT4IFP.js → todoWrite-5ERKFWAK.js} +3 -5
  255. package/chunks/{tool-search-6YUXHBPT.js → tool-search-VXWEOZE7.js} +9 -9
  256. package/chunks/{total-session-admission-54R2JQ5L.js → total-session-admission-4KAADZPB.js} +41 -42
  257. package/chunks/{trustedFolders-KAJIDJTH.js → trustedFolders-PPJSOPOT.js} +36 -37
  258. package/chunks/{update-relaunch-XM4IWBFD.js → update-relaunch-4PT4MW7B.js} +5 -5
  259. package/chunks/{updateCheck-W6UZFURI.js → updateCheck-WAVFLWNG.js} +37 -38
  260. package/chunks/{useAutoAcceptIndicator-LAWYHY3U.js → useAutoAcceptIndicator-XNED4NRB.js} +44 -45
  261. package/chunks/{validateNonInterActiveAuth-7WCKHRN2.js → validateNonInterActiveAuth-J676DUQ2.js} +74 -74
  262. package/chunks/{version-3ZU43RJ6.js → version-J6SRRQB2.js} +1 -1
  263. package/chunks/{web-fetch-QHI2SQL4.js → web-fetch-FMZZYX44.js} +7 -7
  264. package/chunks/{web-search-3KZZKWNY.js → web-search-3G2KXCX5.js} +19 -8
  265. package/chunks/{workflow-HRW7Y2X4.js → workflow-PPZZICQ7.js} +26 -27
  266. package/chunks/{workspace-providers-status-KTGCWCPC.js → workspace-providers-status-IIYTAQST.js} +46 -47
  267. package/chunks/{workspace-registration-store-LHLPPWNE.js → workspace-registration-store-VHCDXAV7.js} +1 -1
  268. package/chunks/{workspace-registry-X34MLN52.js → workspace-registry-I7VQIPS2.js} +41 -42
  269. package/chunks/{workspace-runtime-coordinator-U4PW4P7K.js → workspace-runtime-coordinator-DBGNY32G.js} +41 -42
  270. package/chunks/{workspace-service-KD7BCGYL.js → workspace-service-QSKB2T54.js} +47 -48
  271. package/chunks/{workspace-skills-status-YJGO6Y3T.js → workspace-skills-status-T7GPT65J.js} +43 -44
  272. package/chunks/{workspace-trust-reconciler-EUYHISCH.js → workspace-trust-reconciler-2PKRDAU4.js} +48 -49
  273. package/chunks/{write-file-EBSB34NJ.js → write-file-L76CGFTQ.js} +26 -27
  274. package/chunks/{zh-TW-W2GNP2IU.js → zh-TW-N2TBF2F2.js} +1 -1
  275. package/chunks/{zh-DVFYHRK5.js → zh-VBFCRQBL.js} +1 -1
  276. package/chunks/{zoom-image-UJ5VKWKP.js → zoom-image-TDJJY2VZ.js} +4 -4
  277. package/cli.js +13 -13
  278. package/export-transcript-document.js +126 -122
  279. package/locales/en.js +2 -2
  280. package/locales/zh-TW.js +2 -2
  281. package/locales/zh.js +2 -2
  282. package/package.json +3 -3
  283. package/web-shell/assets/{abnfDiagram-VCTEODGH-Dur--luQ.js → abnfDiagram-VCTEODGH-DHc6plZn.js} +1 -1
  284. package/web-shell/assets/{arc-tYLobxFi.js → arc-BQ9m8TDV.js} +1 -1
  285. package/web-shell/assets/{architectureDiagram-5GKGNRK7-IG6aXD03.js → architectureDiagram-5GKGNRK7-D5ap3oVB.js} +1 -1
  286. package/web-shell/assets/{blockDiagram-NRAW4CY4-C6eBSkfA.js → blockDiagram-NRAW4CY4-BIbnyNph.js} +1 -1
  287. package/web-shell/assets/{c4Diagram-UCG6FXSJ-BrX3HJqB.js → c4Diagram-UCG6FXSJ-BRsdx_iG.js} +1 -1
  288. package/web-shell/assets/channel-uMMdTrYk.js +1 -0
  289. package/web-shell/assets/{chunk-2Q5K7J3B-B3fcJ8ee.js → chunk-2Q5K7J3B-3lf1fNlx.js} +1 -1
  290. package/web-shell/assets/{chunk-5VM5RSS4-CeC90yKM.js → chunk-5VM5RSS4-DP8VNRc4.js} +1 -1
  291. package/web-shell/assets/{chunk-F27PBJKO-CW44RVki.js → chunk-F27PBJKO-DrohDmZ6.js} +1 -1
  292. package/web-shell/assets/{chunk-G27WJ6UU-D1PAMukD.js → chunk-G27WJ6UU-UZ2QhSx6.js} +1 -1
  293. package/web-shell/assets/{chunk-JWPE2WC7-Dt3Y2Fvx.js → chunk-JWPE2WC7-BIMHVcZK.js} +1 -1
  294. package/web-shell/assets/{chunk-LCL6LL3I-CZHw2lLI.js → chunk-LCL6LL3I-izRxdSDd.js} +1 -1
  295. package/web-shell/assets/{chunk-POPQ4Y6H-ysNAdTGx.js → chunk-POPQ4Y6H-CXADD4PP.js} +1 -1
  296. package/web-shell/assets/{chunk-SVP7TREG-BdNXW6YQ.js → chunk-SVP7TREG-B96d8Y_1.js} +1 -1
  297. package/web-shell/assets/{chunk-XXDRQBXY-DgqQ9UA8.js → chunk-XXDRQBXY-CF2sVQpv.js} +1 -1
  298. package/web-shell/assets/classDiagram-DTDB5LWJ-DcY-26Ig.js +1 -0
  299. package/web-shell/assets/classDiagram-v2-JRS7N3AN-DcY-26Ig.js +1 -0
  300. package/web-shell/assets/{cose-bilkent-JH36ORCC-BILImXzJ.js → cose-bilkent-JH36ORCC-CT6tXVAS.js} +1 -1
  301. package/web-shell/assets/csv-CX7rUNeC.svg +1 -0
  302. package/web-shell/assets/{cynefin-OW5HDTMX-DR88Pund.js → cynefin-OW5HDTMX-X1NS4vtV.js} +1 -1
  303. package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-BYFbfkA6.js → cynefinDiagram-5FMLGOSQ-DNsKNOT4.js} +1 -1
  304. package/web-shell/assets/{dagre-3AP2YEHR-rfpyc6sX.js → dagre-3AP2YEHR-9-AHKqsb.js} +1 -1
  305. package/web-shell/assets/{diagram-S7CK7UJ4-BJxLmEwH.js → diagram-S7CK7UJ4-Bjgms7j6.js} +1 -1
  306. package/web-shell/assets/{diagram-UQ7AKVKN-H34xm7k3.js → diagram-UQ7AKVKN-h6bCprbE.js} +1 -1
  307. package/web-shell/assets/{diagram-VSXAHHWV-HYxhwNLx.js → diagram-VSXAHHWV-4SbQXVLt.js} +1 -1
  308. package/web-shell/assets/{diagram-VX7I27RA-BJazso8F.js → diagram-VX7I27RA-B5gPCzzB.js} +1 -1
  309. package/web-shell/assets/{diagram-Z3DM3KII-Clje1aNy.js → diagram-Z3DM3KII-DFJXIA3A.js} +1 -1
  310. package/web-shell/assets/{ebnfDiagram-PWID7BFC-M93YBkFh.js → ebnfDiagram-PWID7BFC-FwyaU7VY.js} +1 -1
  311. package/web-shell/assets/{erDiagram-SSCWMZ5O-DY8XzSHU.js → erDiagram-SSCWMZ5O-8vJQh2te.js} +1 -1
  312. package/web-shell/assets/{flowDiagram-A5DVABFB-CE6Aylcq.js → flowDiagram-A5DVABFB-BzA_1gMN.js} +1 -1
  313. package/web-shell/assets/{ganttDiagram-EL5Y4UJY-DI-5LL22.js → ganttDiagram-EL5Y4UJY-Co-ABbVX.js} +1 -1
  314. package/web-shell/assets/{gitGraphDiagram-WWUBYQGX-C7BZWElk.js → gitGraphDiagram-WWUBYQGX-DW_FcyrX.js} +1 -1
  315. package/web-shell/assets/{index-DclFHns9.js → index-BbMXfhNG.js} +1 -1
  316. package/web-shell/assets/{index-CVyqwW7y.js → index-Bu-rZoJ-.js} +483 -475
  317. package/web-shell/assets/index-CsPwZ1ut.css +36 -0
  318. package/web-shell/assets/{infoDiagram-RXCK75RN-CGUSy4Pc.js → infoDiagram-RXCK75RN-BEgfhUFN.js} +1 -1
  319. package/web-shell/assets/{ishikawaDiagram-5VMMS53U-B5BVks9q.js → ishikawaDiagram-5VMMS53U-DCsMxQmc.js} +1 -1
  320. package/web-shell/assets/{journeyDiagram-EYS64GPL-CFh6Tf7h.js → journeyDiagram-EYS64GPL-DyIEYoHz.js} +1 -1
  321. package/web-shell/assets/{kanban-definition-3QL26DDD-B7TlxP7c.js → kanban-definition-3QL26DDD-CkxjqCNr.js} +1 -1
  322. package/web-shell/assets/{layout-Br_pZq2Q.js → layout-BEWc0Al9.js} +1 -1
  323. package/web-shell/assets/{linear-BVlP6fte.js → linear-CNuNxirL.js} +1 -1
  324. package/web-shell/assets/{mermaid.core-TrcYWoiF.js → mermaid.core-DZBre674.js} +6 -6
  325. package/web-shell/assets/{mindmap-definition-FBJOCRG2-BJ4LzqjZ.js → mindmap-definition-FBJOCRG2-CpafFz_F.js} +1 -1
  326. package/web-shell/assets/{pegDiagram-XKGWAZYB-1b_MxlOl.js → pegDiagram-XKGWAZYB-DfZqk_dq.js} +1 -1
  327. package/web-shell/assets/{pieDiagram-E7YTZNPT-B8zl0YhY.js → pieDiagram-E7YTZNPT-S0UWXlgC.js} +1 -1
  328. package/web-shell/assets/{quadrantDiagram-AXDQQJYC-CIZO8ukl.js → quadrantDiagram-AXDQQJYC-dd37_Ohj.js} +1 -1
  329. package/web-shell/assets/{railroadDiagram-O6MQD6OU-CepHSbCj.js → railroadDiagram-O6MQD6OU-CH8NJZ7u.js} +1 -1
  330. package/web-shell/assets/{requirementDiagram-EFPCY7ZU-BCgxkcSW.js → requirementDiagram-EFPCY7ZU-CFdqWYih.js} +1 -1
  331. package/web-shell/assets/{sankeyDiagram-P5KCCOFB-CE5CcoMM.js → sankeyDiagram-P5KCCOFB-CsddcEGD.js} +1 -1
  332. package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-DvgHi-d5.js → sequenceDiagram-WJ2MYXX4-BZ270mGw.js} +1 -1
  333. package/web-shell/assets/{sizeCapture-X5ZJPWSS-T-fAsCPX.js → sizeCapture-X5ZJPWSS-CGaS4DBV.js} +1 -1
  334. package/web-shell/assets/{stateDiagram-HBIQ2CUA-DYHaul-5.js → stateDiagram-HBIQ2CUA-COpIzMu6.js} +1 -1
  335. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-D6qEVAji.js +1 -0
  336. package/web-shell/assets/{swimlanes-XN3QIQJK-Dbz3Qiej.js → swimlanes-XN3QIQJK-CMF889m3.js} +1 -1
  337. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-mem5Jj4m.js +8 -0
  338. package/web-shell/assets/{timeline-definition-24CTP7MA-9NVRts3N.js → timeline-definition-24CTP7MA-BelnxYz5.js} +1 -1
  339. package/web-shell/assets/{vennDiagram-4TSXK5OY-C7cb7vnH.js → vennDiagram-4TSXK5OY-CU-NRqIB.js} +1 -1
  340. package/web-shell/assets/{wardleyDiagram-VM6X3IG4-CG-8Ddjm.js → wardleyDiagram-VM6X3IG4-CDNKqWh-.js} +1 -1
  341. package/web-shell/assets/{xychartDiagram-S5SC5T6Z-iGeYAcP4.js → xychartDiagram-S5SC5T6Z-CLqguL5D.js} +1 -1
  342. package/web-shell/index.html +6 -3
  343. package/chunks/chunk-3UMWOKJC.js +0 -78
  344. package/chunks/chunk-FKJM6JKY.js +0 -98
  345. package/chunks/chunk-IQAFKVXS.js +0 -22
  346. package/web-shell/assets/channel-uEkvKckd.js +0 -1
  347. package/web-shell/assets/classDiagram-DTDB5LWJ-DuPsnhWS.js +0 -1
  348. package/web-shell/assets/classDiagram-v2-JRS7N3AN-DuPsnhWS.js +0 -1
  349. package/web-shell/assets/index-FO7JXPnH.css +0 -36
  350. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-BcYho9a4.js +0 -1
  351. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-D6HsOIgX.js +0 -8
@@ -23,7 +23,7 @@ import {
23
23
  } from "./chunk-F53KKZUD.js";
24
24
  import {
25
25
  ToolNames
26
- } from "./chunk-RPBMP6BN.js";
26
+ } from "./chunk-MWIO7MF6.js";
27
27
  import {
28
28
  Storage,
29
29
  createDebugLogger,
@@ -2,15 +2,15 @@
2
2
  "use strict";
3
3
  import {
4
4
  multiSessionCompatibilityError
5
- } from "./chunk-TMWB67LS.js";
5
+ } from "./chunk-UXDVUFKU.js";
6
6
  import {
7
7
  UNSAFE_OBJECT_KEYS,
8
8
  getPlugin
9
- } from "./chunk-4IQKBLTQ.js";
9
+ } from "./chunk-UHUT4IDM.js";
10
10
  import {
11
11
  loadSettings,
12
12
  saveSettings
13
- } from "./chunk-AQ5NAGWI.js";
13
+ } from "./chunk-66JBCTJF.js";
14
14
  import {
15
15
  init_esbuild_shims
16
16
  } from "./chunk-5O2XNYP6.js";
@@ -16,9 +16,12 @@ import {
16
16
  import {
17
17
  isInternalWorkspaceRuntime
18
18
  } from "./chunk-NYWWQ437.js";
19
+ import {
20
+ conversationRuntimeUnavailableError
21
+ } from "./chunk-2Z3T52OC.js";
19
22
  import {
20
23
  CLIENT_MCP_OVER_WS_CONFIG_FLAG
21
- } from "./chunk-WEXA2DNG.js";
24
+ } from "./chunk-PSPAM24S.js";
22
25
  import {
23
26
  parseToolWriteOriginMeta
24
27
  } from "./chunk-GELRJXE2.js";
@@ -1783,6 +1786,10 @@ var SERVE_CAPABILITY_REGISTRY = {
1783
1786
  workspace_skill_settings_toggle: { since: "v1" },
1784
1787
  workspace_skill_settings_batch_toggle: { since: "v1" },
1785
1788
  extension_batch_activation_v2: { since: "v1" },
1789
+ // Extension activation commits do not refresh active sessions. Clients that
1790
+ // need immediate runtime application must submit the independent refresh
1791
+ // operation after the activation operation commits.
1792
+ extension_activation_explicit_refresh: { since: "v1" },
1786
1793
  workspace_skill_manage: { since: "v1" },
1787
1794
  workspace_settings: { since: "v1" },
1788
1795
  // `GET /workspace/permissions` is always available when this tag is
@@ -2024,6 +2031,11 @@ var SERVE_CAPABILITY_REGISTRY = {
2024
2031
  // Worktree-backed session create/load responses are durably persisted and
2025
2032
  // carry per-response `persisted-v1` attestation.
2026
2033
  session_worktree_persistence_v1: { since: "v1" },
2034
+ // Worktree ownership transfer: `POST /session/:id/worktree-reset` moves a
2035
+ // session's checkout ownership to a fresh replacement session, and the
2036
+ // restore surface reports the superseded / interrupted / missing-marker
2037
+ // classifications as typed 409s.
2038
+ session_worktree_reset_v1: { since: "v1" },
2027
2039
  // Workspace-qualified ACP transport (issue #6378 Phase 4):
2028
2040
  // `/workspaces/:workspace/acp` mounts a per-runtime ACP dispatcher (HTTP +
2029
2041
  // WebSocket) for each registered workspace, with per-runtime device-flow and
@@ -2702,58 +2714,6 @@ async function createManagedScratchDirectory(root) {
2702
2714
  }
2703
2715
  __name(createManagedScratchDirectory, "createManagedScratchDirectory");
2704
2716
 
2705
- // packages/cli/src/serve/conversations/conversation-runtime-errors.ts
2706
- init_esbuild_shims();
2707
- var DEFAULT_MESSAGES = {
2708
- conversation_runtime_in_use: "The Conversations runtime is owned by another daemon.",
2709
- conversation_runtime_unavailable: "The Conversations runtime is temporarily unavailable.",
2710
- conversation_root_compromised: "The Conversations root could not be verified.",
2711
- conversation_runtime_ownership_compromised: "The Conversations runtime ownership state could not be verified."
2712
- };
2713
- var ConversationRuntimeOwnershipError = class extends Error {
2714
- constructor(code, retryable, options) {
2715
- super(DEFAULT_MESSAGES[code], options);
2716
- this.code = code;
2717
- this.retryable = retryable;
2718
- this.name = "ConversationRuntimeOwnershipError";
2719
- }
2720
- static {
2721
- __name(this, "ConversationRuntimeOwnershipError");
2722
- }
2723
- status = 503;
2724
- };
2725
- function conversationRuntimeInUseError() {
2726
- return new ConversationRuntimeOwnershipError(
2727
- "conversation_runtime_in_use",
2728
- true
2729
- );
2730
- }
2731
- __name(conversationRuntimeInUseError, "conversationRuntimeInUseError");
2732
- function conversationRuntimeUnavailableError(cause) {
2733
- return new ConversationRuntimeOwnershipError(
2734
- "conversation_runtime_unavailable",
2735
- true,
2736
- { cause }
2737
- );
2738
- }
2739
- __name(conversationRuntimeUnavailableError, "conversationRuntimeUnavailableError");
2740
- function conversationRuntimeOwnershipCompromisedError(cause) {
2741
- return new ConversationRuntimeOwnershipError(
2742
- "conversation_runtime_ownership_compromised",
2743
- false,
2744
- { cause }
2745
- );
2746
- }
2747
- __name(conversationRuntimeOwnershipCompromisedError, "conversationRuntimeOwnershipCompromisedError");
2748
- function conversationRootCompromisedError(cause) {
2749
- return new ConversationRuntimeOwnershipError(
2750
- "conversation_root_compromised",
2751
- false,
2752
- { cause }
2753
- );
2754
- }
2755
- __name(conversationRootCompromisedError, "conversationRootCompromisedError");
2756
-
2757
2717
  // packages/cli/src/serve/serve-app-lifecycle.ts
2758
2718
  init_esbuild_shims();
2759
2719
  var SERVE_APP_LIFECYCLE = Symbol("qwen.serveAppLifecycle");
@@ -2781,7 +2741,6 @@ var ServeAppLifecycleController = class {
2781
2741
  listenerClosed = false;
2782
2742
  sealed = false;
2783
2743
  closePending;
2784
- ownership;
2785
2744
  appDrain;
2786
2745
  hostDrain;
2787
2746
  bootStarter;
@@ -2837,12 +2796,6 @@ var ServeAppLifecycleController = class {
2837
2796
  });
2838
2797
  return pending;
2839
2798
  }
2840
- setOwnership(ownership) {
2841
- if (this.ownership) {
2842
- throw new Error("Serve app lifecycle ownership is already configured.");
2843
- }
2844
- this.ownership = ownership;
2845
- }
2846
2799
  setAppDrain(drain) {
2847
2800
  this.appDrain = drain;
2848
2801
  }
@@ -2926,7 +2879,6 @@ var ServeAppLifecycleController = class {
2926
2879
  if (errors.length > 1) {
2927
2880
  throw new AggregateError(errors, "Serve app shutdown is incomplete.");
2928
2881
  }
2929
- await this.ownership?.release();
2930
2882
  }
2931
2883
  startDrain(drain) {
2932
2884
  if (!drain) return void 0;
@@ -4564,11 +4516,6 @@ export {
4564
4516
  isScratchRootCompatible,
4565
4517
  prepareManagedScratchRoot,
4566
4518
  createManagedScratchDirectory,
4567
- ConversationRuntimeOwnershipError,
4568
- conversationRuntimeInUseError,
4569
- conversationRuntimeUnavailableError,
4570
- conversationRuntimeOwnershipCompromisedError,
4571
- conversationRootCompromisedError,
4572
4519
  ServeAppLifecycleController,
4573
4520
  installServeAppLifecycle,
4574
4521
  createRateLimiter,
@@ -6,7 +6,7 @@ import {
6
6
  MAX_STREAM_GUARD_TIMEOUT_MS,
7
7
  QWEN_STREAM_IDLE_TIMEOUT_MS_ENV,
8
8
  QWEN_STREAM_MAX_LIFETIME_MS_ENV
9
- } from "./chunk-2LD5U7Q3.js";
9
+ } from "./chunk-6YEOCHSE.js";
10
10
  import {
11
11
  init_esbuild_shims
12
12
  } from "./chunk-5O2XNYP6.js";
@@ -5,15 +5,15 @@ import {
5
5
  } from "./chunk-47ECGEJC.js";
6
6
  import {
7
7
  t
8
- } from "./chunk-MUZCSTOO.js";
8
+ } from "./chunk-CRZBDVP2.js";
9
9
  import {
10
10
  findProviderByCredentials,
11
11
  resolveMetadataKey
12
- } from "./chunk-UEZOXZNI.js";
12
+ } from "./chunk-ZU2T5JIS.js";
13
13
  import {
14
14
  fetchGitDiff,
15
15
  isCompressionFailureStatus
16
- } from "./chunk-I72PHOKL.js";
16
+ } from "./chunk-PDUMGZ2P.js";
17
17
  import {
18
18
  init_esbuild_shims
19
19
  } from "./chunk-5O2XNYP6.js";
@@ -15644,6 +15644,9 @@ var BaseToolInvocation = class {
15644
15644
  requiresUserInteraction() {
15645
15645
  return false;
15646
15646
  }
15647
+ canAutoApproveOnAllow() {
15648
+ return true;
15649
+ }
15647
15650
  /**
15648
15651
  * Default fallback: returns a generic 'info' confirmation dialog using the
15649
15652
  * tool's getDescription(). This ensures that even tools whose
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  isTool
5
- } from "./chunk-RPBMP6BN.js";
5
+ } from "./chunk-MWIO7MF6.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";
@@ -411,18 +411,18 @@ async function createContentGenerator(generatorConfig, config, isInitialAuth) {
411
411
  try {
412
412
  if (authType === "openai" /* USE_OPENAI */) {
413
413
  loadBaseGenerator = /* @__PURE__ */ __name(async () => {
414
- const { createOpenAIContentGenerator } = await import("./openaiContentGenerator-7ND7K5CP.js");
414
+ const { createOpenAIContentGenerator } = await import("./openaiContentGenerator-NSU3ERBH.js");
415
415
  return createOpenAIContentGenerator(generatorConfig, config);
416
416
  }, "loadBaseGenerator");
417
417
  } else if (authType === "qwen-oauth" /* QWEN_OAUTH */) {
418
- const { getQwenOAuthClient: getQwenOauthClient } = await import("./qwenOAuth2-BS5D2LYV.js");
418
+ const { getQwenOAuthClient: getQwenOauthClient } = await import("./qwenOAuth2-KX6LVYQ3.js");
419
419
  try {
420
420
  const qwenClient = await getQwenOauthClient(
421
421
  config,
422
422
  isInitialAuth ? { requireCachedCredentials: true } : void 0
423
423
  );
424
424
  loadBaseGenerator = /* @__PURE__ */ __name(async () => {
425
- const { QwenContentGenerator } = await import("./qwenContentGenerator-AELTUTH6.js");
425
+ const { QwenContentGenerator } = await import("./qwenContentGenerator-HTA57WFC.js");
426
426
  return new QwenContentGenerator(qwenClient, generatorConfig, config);
427
427
  }, "loadBaseGenerator");
428
428
  } catch (error) {
@@ -433,12 +433,12 @@ async function createContentGenerator(generatorConfig, config, isInitialAuth) {
433
433
  }
434
434
  } else if (authType === "anthropic" /* USE_ANTHROPIC */) {
435
435
  loadBaseGenerator = /* @__PURE__ */ __name(async () => {
436
- const { createAnthropicContentGenerator } = await import("./anthropicContentGenerator-6XDHXIII.js");
436
+ const { createAnthropicContentGenerator } = await import("./anthropicContentGenerator-I7LQZH26.js");
437
437
  return createAnthropicContentGenerator(generatorConfig, config);
438
438
  }, "loadBaseGenerator");
439
439
  } else if (authType === "gemini" /* USE_GEMINI */ || authType === "vertex-ai" /* USE_VERTEX_AI */) {
440
440
  loadBaseGenerator = /* @__PURE__ */ __name(async () => {
441
- const { createLlmContentGenerator } = await import("./llm-content-generator-R4NL3OQN.js");
441
+ const { createLlmContentGenerator } = await import("./llm-content-generator-VLMZ2A7A.js");
442
442
  return createLlmContentGenerator(generatorConfig, config);
443
443
  }, "loadBaseGenerator");
444
444
  } else {
@@ -453,7 +453,7 @@ async function createContentGenerator(generatorConfig, config, isInitialAuth) {
453
453
  try {
454
454
  const [baseGenerator, { LoggingContentGenerator }] = await Promise.all([
455
455
  loadBaseGenerator(),
456
- import("./loggingContentGenerator-ZYSWVNEO.js")
456
+ import("./loggingContentGenerator-RGVUMUVX.js")
457
457
  ]);
458
458
  return new LoggingContentGenerator(
459
459
  baseGenerator,
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  t
5
- } from "./chunk-MUZCSTOO.js";
5
+ } from "./chunk-CRZBDVP2.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";
@@ -0,0 +1,171 @@
1
+ // Force strict mode and setup for ESM
2
+ "use strict";
3
+ import {
4
+ createDebugLogger
5
+ } from "./chunk-ZAFYHRVY.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/core/outbound-session-id.ts
14
+ init_esbuild_shims();
15
+
16
+ // packages/core/src/core/outbound-dynamic-headers.ts
17
+ init_esbuild_shims();
18
+ var debugLogger = createDebugLogger("OUTBOUND_CORRELATION");
19
+ var PLACEHOLDERS = [{ token: "${session_id}", resolve: /* @__PURE__ */ __name((config) => config.getSessionId(), "resolve") }];
20
+ var SESSION_ID_PLACEHOLDER_PATTERN = /\$(?:session_id|QWEN_CODE_SESSION_ID)(?!\w)|\$\{(?:session_id|QWEN_CODE_SESSION_ID)\}/gi;
21
+ var warnedGateOff = /* @__PURE__ */ new Set();
22
+ function warnIfDynamicHeadersDisabled(customHeaders, config) {
23
+ try {
24
+ const names = Object.entries(customHeaders ?? {}).filter(
25
+ ([, value]) => typeof value === "string" && hasDynamicPlaceholder(value)
26
+ ).map(([name]) => name);
27
+ if (names.length === 0) return;
28
+ if (config.getOutboundAllowDynamicHeaderValues()) return;
29
+ const key = names.slice().sort().join(",");
30
+ if (warnedGateOff.has(key)) return;
31
+ warnedGateOff.add(key);
32
+ console.warn(
33
+ `customHeaders ${names.join(", ")} contain a runtime placeholder, but outboundCorrelation.allowDynamicHeaderValues is not enabled \u2014 the header(s) will not be sent. Set it to true in settings.json to allow the value to be filled in per request.`
34
+ );
35
+ } catch {
36
+ }
37
+ }
38
+ __name(warnIfDynamicHeadersDisabled, "warnIfDynamicHeadersDisabled");
39
+ function hasDynamicPlaceholder(value) {
40
+ return value.search(SESSION_ID_PLACEHOLDER_PATTERN) !== -1;
41
+ }
42
+ __name(hasDynamicPlaceholder, "hasDynamicPlaceholder");
43
+ function resolveDynamicHeaderValue(value, config) {
44
+ if (typeof value !== "string") return void 0;
45
+ if (!hasDynamicPlaceholder(value)) return value;
46
+ try {
47
+ if (!config.getOutboundAllowDynamicHeaderValues()) {
48
+ debugLogger.warn(
49
+ `Dropping a customHeaders value containing a runtime placeholder: outboundCorrelation.allowDynamicHeaderValues is not enabled.`
50
+ );
51
+ return void 0;
52
+ }
53
+ let expanded = value.replace(
54
+ SESSION_ID_PLACEHOLDER_PATTERN,
55
+ "${session_id}"
56
+ );
57
+ for (const { token, resolve } of PLACEHOLDERS) {
58
+ if (!expanded.includes(token)) continue;
59
+ const resolved = resolve(config);
60
+ if (!resolved) return void 0;
61
+ expanded = expanded.split(token).join(resolved);
62
+ }
63
+ return expanded;
64
+ } catch (error) {
65
+ debugLogger.warn(
66
+ `Unable to expand a customHeaders placeholder: ${error instanceof Error ? error.message : String(error)}`
67
+ );
68
+ return void 0;
69
+ }
70
+ }
71
+ __name(resolveDynamicHeaderValue, "resolveDynamicHeaderValue");
72
+ function applyDynamicHeaderValues(headers, config) {
73
+ const pending = [];
74
+ headers.forEach((value, key) => {
75
+ if (hasDynamicPlaceholder(value)) pending.push([key, value]);
76
+ });
77
+ for (const [key, value] of pending) {
78
+ const resolved = resolveDynamicHeaderValue(value, config);
79
+ if (resolved === void 0) {
80
+ headers.delete(key);
81
+ } else {
82
+ headers.set(key, resolved);
83
+ }
84
+ }
85
+ }
86
+ __name(applyDynamicHeaderValues, "applyDynamicHeaderValues");
87
+ function expandDynamicHeaders(customHeaders, config) {
88
+ if (!customHeaders) return {};
89
+ const expanded = {};
90
+ for (const [key, value] of Object.entries(customHeaders)) {
91
+ if (typeof value !== "string" || !hasDynamicPlaceholder(value)) continue;
92
+ const resolved = resolveDynamicHeaderValue(value, config);
93
+ if (resolved !== void 0) expanded[key] = resolved;
94
+ }
95
+ return expanded;
96
+ }
97
+ __name(expandDynamicHeaders, "expandDynamicHeaders");
98
+
99
+ // packages/core/src/core/outbound-session-id.ts
100
+ var debugLogger2 = createDebugLogger("OUTBOUND_CORRELATION");
101
+ var SESSION_ID_HEADER = "session_id";
102
+ var SESSION_ID_HEADER_HOSTS = [
103
+ "routify.alibaba-inc.com",
104
+ "routify-online.alibaba-inc.com",
105
+ "routify-pub.alibaba-inc.com"
106
+ ];
107
+ function requestUrl(input) {
108
+ try {
109
+ if (typeof input === "string") return new URL(input);
110
+ if (input instanceof URL) return input;
111
+ return new URL(input.url);
112
+ } catch {
113
+ return void 0;
114
+ }
115
+ }
116
+ __name(requestUrl, "requestUrl");
117
+ function buildSessionIdHeaders(config, destination) {
118
+ try {
119
+ const url = requestUrl(destination);
120
+ if (url?.protocol !== "https:" || !SESSION_ID_HEADER_HOSTS.includes(url.hostname.toLowerCase())) {
121
+ return {};
122
+ }
123
+ const sessionId = config.getSessionId();
124
+ return sessionId ? { [SESSION_ID_HEADER]: sessionId } : {};
125
+ } catch (error) {
126
+ debugLogger2.warn(
127
+ `Unable to add ${SESSION_ID_HEADER} to outbound request: ${error instanceof Error ? error.message : String(error)}`
128
+ );
129
+ return {};
130
+ }
131
+ }
132
+ __name(buildSessionIdHeaders, "buildSessionIdHeaders");
133
+ function wrapFetchWithSessionId(baseFetch, config, customHeaders) {
134
+ const fetchLike = baseFetch;
135
+ const expandsHeaders = Object.values(customHeaders ?? {}).some(
136
+ (value) => typeof value === "string" && hasDynamicPlaceholder(value)
137
+ );
138
+ if (expandsHeaders) warnIfDynamicHeadersDisabled(customHeaders, config);
139
+ const wrapped = /* @__PURE__ */ __name(async (input, init) => {
140
+ const sessionHeaders = buildSessionIdHeaders(config, input);
141
+ const sessionId = sessionHeaders[SESSION_ID_HEADER];
142
+ if (!sessionId && !expandsHeaders) return fetchLike(input, init);
143
+ const headers = new Headers(
144
+ input instanceof Request ? input.headers : void 0
145
+ );
146
+ new Headers(init?.headers).forEach((value, key) => headers.set(key, value));
147
+ if (expandsHeaders) applyDynamicHeaderValues(headers, config);
148
+ if (sessionId) headers.set(SESSION_ID_HEADER, sessionId);
149
+ return fetchLike(input, { ...init, headers });
150
+ }, "wrapped");
151
+ return wrapped;
152
+ }
153
+ __name(wrapFetchWithSessionId, "wrapFetchWithSessionId");
154
+ function buildSessionAwareFetch(runtimeFetch, config, customHeaders) {
155
+ const baseFetch = runtimeFetch ?? globalThis.fetch;
156
+ return wrapFetchWithSessionId(baseFetch, config, customHeaders);
157
+ }
158
+ __name(buildSessionAwareFetch, "buildSessionAwareFetch");
159
+
160
+ export {
161
+ warnIfDynamicHeadersDisabled,
162
+ hasDynamicPlaceholder,
163
+ expandDynamicHeaders,
164
+ buildSessionIdHeaders,
165
+ buildSessionAwareFetch
166
+ };
167
+ /**
168
+ * @license
169
+ * Copyright 2025 Qwen
170
+ * SPDX-License-Identifier: Apache-2.0
171
+ */
@@ -2,10 +2,10 @@
2
2
  "use strict";
3
3
  import {
4
4
  escapeXml
5
- } from "./chunk-FKJM6JKY.js";
5
+ } from "./chunk-G6UUOCUT.js";
6
6
  import {
7
7
  ToolNames
8
- } from "./chunk-RPBMP6BN.js";
8
+ } from "./chunk-MWIO7MF6.js";
9
9
  import {
10
10
  createDebugLogger
11
11
  } from "./chunk-ZAFYHRVY.js";
@@ -18,7 +18,84 @@ import {
18
18
 
19
19
  // packages/core/src/tools/skill-utils.ts
20
20
  init_esbuild_shims();
21
- var debugLogger = createDebugLogger("SKILL");
21
+
22
+ // packages/core/src/hooks/registerSkillHooks.ts
23
+ init_esbuild_shims();
24
+ var debugLogger = createDebugLogger("SKILL_HOOKS");
25
+ function registerSkillHooks(sessionHooksManager, sessionId, skill) {
26
+ if (!skill.hooks) {
27
+ debugLogger.debug(`Skill '${skill.name}' has no hooks to register`);
28
+ return 0;
29
+ }
30
+ const hooksSettings = skill.hooks;
31
+ let registeredCount = 0;
32
+ for (const eventName of Object.keys(hooksSettings)) {
33
+ const matchers = hooksSettings[eventName];
34
+ if (!matchers) continue;
35
+ for (const matcher of matchers) {
36
+ const matcherPattern = matcher.matcher || "";
37
+ for (const hook of matcher.hooks) {
38
+ if (hook.type === "function" /* Function */) {
39
+ debugLogger.debug(
40
+ "Skipping function hook from skill (not supported in frontmatter)"
41
+ );
42
+ continue;
43
+ }
44
+ const hookConfig = prepareHookConfig(
45
+ hook,
46
+ skill.skillRoot
47
+ );
48
+ const alreadyRegistered = sessionHooksManager.getHooksForEvent(sessionId, eventName).some(
49
+ (entry) => entry.matcher === matcherPattern && entry.skillRoot === skill.skillRoot && hookConfigKey(entry.config) === hookConfigKey(hookConfig)
50
+ );
51
+ if (alreadyRegistered) {
52
+ debugLogger.debug(
53
+ `Hook for ${eventName} with matcher '${matcherPattern}' from skill '${skill.name}' already registered; skipping duplicate`
54
+ );
55
+ continue;
56
+ }
57
+ sessionHooksManager.addSessionHook(
58
+ sessionId,
59
+ eventName,
60
+ matcherPattern,
61
+ hookConfig,
62
+ { skillRoot: skill.skillRoot, trustGated: skill.level === "project" }
63
+ );
64
+ registeredCount++;
65
+ debugLogger.debug(
66
+ `Registered hook for ${eventName} with matcher '${matcherPattern}' from skill '${skill.name}'`
67
+ );
68
+ }
69
+ }
70
+ }
71
+ if (registeredCount > 0) {
72
+ debugLogger.info(
73
+ `Registered ${registeredCount} hooks from skill '${skill.name}'`
74
+ );
75
+ }
76
+ return registeredCount;
77
+ }
78
+ __name(registerSkillHooks, "registerSkillHooks");
79
+ function hookConfigKey(hook) {
80
+ return `${hook.type}:${JSON.stringify(hook)}`;
81
+ }
82
+ __name(hookConfigKey, "hookConfigKey");
83
+ function prepareHookConfig(hook, skillRoot) {
84
+ if (hook.type === "command" && skillRoot) {
85
+ return {
86
+ ...hook,
87
+ env: {
88
+ ...hook.env,
89
+ QWEN_SKILL_ROOT: skillRoot
90
+ }
91
+ };
92
+ }
93
+ return hook;
94
+ }
95
+ __name(prepareHookConfig, "prepareHookConfig");
96
+
97
+ // packages/core/src/tools/skill-utils.ts
98
+ var debugLogger2 = createDebugLogger("SKILL");
22
99
  function buildSkillLlmContent(baseDir, body) {
23
100
  return `Base directory for this skill: ${baseDir}
24
101
  Important: ALWAYS resolve absolute paths from this base directory when working with skills.
@@ -145,11 +222,55 @@ function applySkillAllowedTools(permissionManager, allowedTools, options) {
145
222
  }
146
223
  }
147
224
  __name(applySkillAllowedTools, "applySkillAllowedTools");
225
+ function applySkillHooks(config, skill) {
226
+ if (!skill.hooks || Object.keys(skill.hooks).length === 0) {
227
+ return;
228
+ }
229
+ const hookSystem = config.getHookSystem();
230
+ const sessionId = config.getSessionId();
231
+ if (!hookSystem || !sessionId) {
232
+ debugLogger2.warn(
233
+ `Skipping hook registration for skill "${skill.name}": no hook system or session id (hooks disabled?)`
234
+ );
235
+ return;
236
+ }
237
+ const count = registerSkillHooks(
238
+ hookSystem.getSessionHooksManager(),
239
+ sessionId,
240
+ skill
241
+ );
242
+ if (count > 0) {
243
+ debugLogger2.info(`Registered ${count} hooks from skill "${skill.name}"`);
244
+ } else {
245
+ debugLogger2.debug(
246
+ `No new hooks registered from skill "${skill.name}" (already registered or none registrable)`
247
+ );
248
+ }
249
+ }
250
+ __name(applySkillHooks, "applySkillHooks");
251
+ function applySkillSideEffects(config, skill) {
252
+ if (!config) {
253
+ return;
254
+ }
255
+ if (!canApplySkillSideEffects(skill, config)) {
256
+ if (skill.allowedTools?.length || skill.hooks) {
257
+ debugLogger2.warn(
258
+ `Skill "${skill.name}" is a project skill in an untrusted folder; ignoring its allowedTools and hooks.`
259
+ );
260
+ }
261
+ return;
262
+ }
263
+ applySkillAllowedTools(config.getPermissionManager(), skill.allowedTools, {
264
+ trustGated: skill.level === "project"
265
+ });
266
+ applySkillHooks(config, skill);
267
+ }
268
+ __name(applySkillSideEffects, "applySkillSideEffects");
148
269
  function clearLoadedSkillTracking(toolRegistry, logTag) {
149
270
  const tool = toolRegistry?.getTool(ToolNames.SKILL);
150
271
  if (tool && "clearLoadedSkills" in tool) {
151
272
  tool.clearLoadedSkills();
152
- debugLogger.debug(
273
+ debugLogger2.debug(
153
274
  `[SKILL_TRACKING] conservatively cleared loaded-skill tracking after ${logTag}`
154
275
  );
155
276
  }
@@ -161,10 +282,14 @@ export {
161
282
  clearCollectedSkillEntriesCache,
162
283
  collectAvailableSkillEntries,
163
284
  renderAvailableSkillsBlock,
164
- canApplySkillSideEffects,
165
- applySkillAllowedTools,
285
+ applySkillSideEffects,
166
286
  clearLoadedSkillTracking
167
287
  };
288
+ /**
289
+ * @license
290
+ * Copyright 2026 Qwen Team
291
+ * SPDX-License-Identifier: Apache-2.0
292
+ */
168
293
  /**
169
294
  * @license
170
295
  * Copyright 2025 Qwen
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  getEffectiveSupportedModes
5
- } from "./chunk-2RYWGYB3.js";
5
+ } from "./chunk-MFYH2VXV.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";
@@ -3,17 +3,17 @@
3
3
  import {
4
4
  getGitVersion,
5
5
  getNpmVersion
6
- } from "./chunk-P6LATTDG.js";
6
+ } from "./chunk-5IL2BZHW.js";
7
7
  import {
8
8
  buildEnvStatusFromEnv,
9
9
  snapshotProcessEnv
10
- } from "./chunk-4HC4DYKN.js";
10
+ } from "./chunk-6RZX2HIH.js";
11
11
  import {
12
12
  mapDomainErrorToErrorKind
13
- } from "./chunk-KPXRFTT7.js";
13
+ } from "./chunk-FETY36NQ.js";
14
14
  import {
15
15
  canUseRipgrep
16
- } from "./chunk-PZV2FASB.js";
16
+ } from "./chunk-TRWQQBVH.js";
17
17
  import {
18
18
  init_esbuild_shims
19
19
  } from "./chunk-5O2XNYP6.js";
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  delay
5
- } from "./chunk-EJNYBDYC.js";
5
+ } from "./chunk-HNLMYDQE.js";
6
6
  import {
7
7
  isTlsVerificationDisabled
8
8
  } from "./chunk-4HOEU2OR.js";
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  registerCleanup
5
- } from "./chunk-BKNY7PDI.js";
5
+ } from "./chunk-USN6VNTO.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";
@@ -8,7 +8,7 @@ import {
8
8
  BaseToolInvocation,
9
9
  ToolDisplayNames,
10
10
  ToolNames
11
- } from "./chunk-RPBMP6BN.js";
11
+ } from "./chunk-MWIO7MF6.js";
12
12
  import {
13
13
  isNodeError
14
14
  } from "./chunk-ZAFYHRVY.js";