@qwen-code/qwen-code 0.21.1 → 0.21.2-nightly.20260801.bc382c3ff

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 (367) hide show
  1. package/bundled/qc-helper/docs/configuration/settings.md +9 -7
  2. package/bundled/qc-helper/docs/features/channels/_meta.ts +1 -0
  3. package/bundled/qc-helper/docs/features/channels/github.md +49 -10
  4. package/bundled/qc-helper/docs/features/channels/gitlab.md +177 -0
  5. package/bundled/qc-helper/docs/features/code-review.md +20 -0
  6. package/bundled/qc-helper/docs/features/commands.md +1 -0
  7. package/bundled/qc-helper/docs/features/hooks.md +135 -18
  8. package/bundled/qc-helper/docs/features/memory.md +27 -0
  9. package/bundled/qc-helper/docs/features/skills.md +14 -0
  10. package/bundled/qc-helper/docs/features/sub-agents.md +55 -8
  11. package/bundled/qc-helper/docs/features/tool-use-summaries.md +7 -7
  12. package/bundled/qc-helper/docs/qwen-serve.md +28 -6
  13. package/bundled/qc-helper/docs/reference/keyboard-shortcuts.md +2 -2
  14. package/bundled/review/SKILL.md +1 -1
  15. package/chunks/{MaxSizedBox-VI3ROJJA.js → MaxSizedBox-CDHTDITS.js} +45 -40
  16. package/chunks/{StandaloneSessionPicker-LYXKD2EV.js → StandaloneSessionPicker-L63HUAHP.js} +65 -60
  17. package/chunks/{acp-startup-profiler-DFVPFQ6C.js → acp-startup-profiler-3RICG2YW.js} +2 -2
  18. package/chunks/{acpAgent-WN5SRDQO.js → acpAgent-6WVVT2P3.js} +962 -599
  19. package/chunks/{agent-K6ECSM64.js → agent-KDM4CBOU.js} +40 -35
  20. package/chunks/agent-headless-AS7K2K57.js +79 -0
  21. package/chunks/{anthropicContentGenerator-V2QOGVYD.js → anthropicContentGenerator-WCBYB6JG.js} +337 -27
  22. package/chunks/{artifact-tool-6K6U7XYJ.js → artifact-tool-ANV4CFCR.js} +2 -2
  23. package/chunks/{askUserQuestion-GD2IJJ7I.js → askUserQuestion-MALEB47H.js} +2 -2
  24. package/chunks/{bridge-3KJEWDNE.js → bridge-JNEW6FES.js} +46 -41
  25. package/chunks/{build-S6DO7LMM.js → build-GDBLPA24.js} +1 -1
  26. package/chunks/{ca-6W3SK7OQ.js → ca-4OJN75WT.js} +46 -5
  27. package/chunks/{channel-management-service-XR7GZSWF.js → channel-management-service-QOO7TD3T.js} +21 -6
  28. package/chunks/{channel-settings-store-HW4FXXUA.js → channel-settings-store-4CSMTR4L.js} +47 -42
  29. package/chunks/{channel-worker-group-XDPTDWTX.js → channel-worker-group-ERSUOPIR.js} +8 -8
  30. package/chunks/{channel-worker-manager-YYEHVRRE.js → channel-worker-manager-X247YDQ7.js} +8 -8
  31. package/chunks/{channel-worker-supervisor-74HTWA2G.js → channel-worker-supervisor-ORJIEEPP.js} +4 -4
  32. package/chunks/{chunk-VWOOBLTY.js → chunk-25QQVOCG.js} +5 -5
  33. package/chunks/{chunk-CAPPWD3X.js → chunk-2A6MHYIA.js} +3 -3
  34. package/chunks/{chunk-2XSLTRFZ.js → chunk-2CTKGIFR.js} +2 -2
  35. package/chunks/{chunk-DZLYR4U3.js → chunk-2DNKEBXY.js} +1 -1
  36. package/chunks/{chunk-UWMLWVCA.js → chunk-2IIJTXYF.js} +26 -10
  37. package/chunks/{chunk-JYBU6YUE.js → chunk-2M5N3DHY.js} +1 -1
  38. package/chunks/{chunk-AQIDMUGU.js → chunk-2PNQQ4UR.js} +2 -2
  39. package/chunks/{chunk-OKF7JF3R.js → chunk-2UISUFHQ.js} +3 -3
  40. package/chunks/{chunk-2LQTH543.js → chunk-33FNCQSY.js} +2 -2
  41. package/chunks/{chunk-M7OONWYU.js → chunk-3LGZEYOF.js} +4 -2
  42. package/chunks/{chunk-ZURDMIDR.js → chunk-3MHPWQ2M.js} +242 -76
  43. package/chunks/{chunk-UHUSJ6X7.js → chunk-3RXUYQJI.js} +25 -6
  44. package/chunks/{chunk-E5Z2AVNV.js → chunk-3SH53ANB.js} +0 -11
  45. package/chunks/{chunk-BNWB5CYE.js → chunk-3WXMXT7C.js} +22 -11
  46. package/chunks/{chunk-A2D5BAVP.js → chunk-42IKVPST.js} +1 -1
  47. package/chunks/{chunk-2DN4J57Y.js → chunk-432XCUHF.js} +1 -1
  48. package/chunks/{chunk-EVKE2FZL.js → chunk-433VD3HX.js} +4 -4
  49. package/chunks/{chunk-Q43KPN7X.js → chunk-434YCHSV.js} +6 -6
  50. package/chunks/{chunk-5TBMQLGG.js → chunk-4LKVQFHM.js} +2 -2
  51. package/chunks/{chunk-YDLJGZHL.js → chunk-4NFY2S7N.js} +0 -33
  52. package/chunks/{chunk-6PE7N3A4.js → chunk-5UJ6A3CH.js} +145 -10
  53. package/chunks/{chunk-GNR2RNMP.js → chunk-5UZITEHA.js} +3 -3
  54. package/chunks/chunk-6FMJLI5M.js +1591 -0
  55. package/chunks/{chunk-RPLGZJV2.js → chunk-6O5DVH27.js} +1 -1
  56. package/chunks/{chunk-2RFKHEXL.js → chunk-6PLDPT2C.js} +1 -1
  57. package/chunks/{chunk-7AEJDLRA.js → chunk-7IYLHTTM.js} +3 -3
  58. package/chunks/{chunk-65PQENQP.js → chunk-7K2WTPQO.js} +5 -5
  59. package/chunks/{chunk-P4WOAOJW.js → chunk-7MY2AR5A.js} +72 -26
  60. package/chunks/{chunk-GXIJHV66.js → chunk-A2A34TSB.js} +3 -3
  61. package/chunks/{chunk-XWWKIXVD.js → chunk-A5YZ3FA2.js} +2 -1
  62. package/chunks/{chunk-64LQLPL7.js → chunk-A6SX5TAH.js} +3 -3
  63. package/chunks/{chunk-SZ3KHTDR.js → chunk-AKA24BGO.js} +1 -1
  64. package/chunks/chunk-AQ37AY7B.js +93 -0
  65. package/chunks/{chunk-2N7CODY5.js → chunk-AQEWCKX4.js} +2 -2
  66. package/chunks/{chunk-KCO4FLFJ.js → chunk-AYB4HSBI.js} +3 -3
  67. package/chunks/{chunk-WZRWHXFE.js → chunk-BFHXDAR7.js} +1 -1
  68. package/chunks/{chunk-L55JWS76.js → chunk-BGXZBI5B.js} +1 -1
  69. package/chunks/{chunk-5MKRTI4T.js → chunk-BKUN5QHP.js} +7 -7
  70. package/chunks/{chunk-Y4IHBGBP.js → chunk-BV4QX43X.js} +1 -1
  71. package/chunks/{chunk-PB3MBFKG.js → chunk-C4L2MEIT.js} +4 -4
  72. package/chunks/{chunk-TCIFAA7K.js → chunk-CHCLO3M7.js} +14 -14
  73. package/chunks/{chunk-CVHIL5IG.js → chunk-CWEIMFFW.js} +13 -6
  74. package/chunks/{chunk-2FAK6PNM.js → chunk-DUIJ2IXG.js} +5 -13
  75. package/chunks/{chunk-T2QMKU3R.js → chunk-DVGTU5TC.js} +19 -7
  76. package/chunks/{chunk-LGAOC3ZS.js → chunk-DYA25Y7U.js} +1 -1
  77. package/chunks/{chunk-SGFT55XI.js → chunk-E4WHKETF.js} +32 -4
  78. package/chunks/{chunk-WBL3FJEU.js → chunk-FC4KQFCS.js} +1 -1
  79. package/chunks/{chunk-MHAIJPTD.js → chunk-FJHA23GM.js} +12 -12
  80. package/chunks/{chunk-S7W2GKIO.js → chunk-G7XXKQYS.js} +2 -0
  81. package/chunks/{chunk-MR5EAQ5M.js → chunk-GALUTA2C.js} +1 -1
  82. package/chunks/{chunk-7I5GTCT4.js → chunk-GB3AB7TR.js} +4008 -3648
  83. package/chunks/{chunk-QIZKCVM3.js → chunk-GHJM2C2T.js} +6 -8
  84. package/chunks/chunk-GOFAQQZA.js +132 -0
  85. package/chunks/{chunk-BCZFQXWK.js → chunk-GTM6IHBB.js} +2 -2
  86. package/chunks/{chunk-5ZF5XXTS.js → chunk-GVISB2OH.js} +2 -2
  87. package/chunks/{chunk-FNMZK765.js → chunk-H36SETQS.js} +1 -1
  88. package/chunks/{chunk-UBEPNVDI.js → chunk-H4346YW5.js} +28 -16
  89. package/chunks/{chunk-CQL64ESB.js → chunk-H4DSRWAS.js} +24 -13
  90. package/chunks/{chunk-YGF33UXG.js → chunk-H6MC6VQX.js} +222 -173
  91. package/chunks/{chunk-GZXCZHCT.js → chunk-I3G5JWBV.js} +1 -1
  92. package/chunks/{chunk-Y6AXW2OG.js → chunk-I5GNT6ZS.js} +7 -1
  93. package/chunks/{chunk-GEBV2JGB.js → chunk-I6FAHB4N.js} +1 -1
  94. package/chunks/{chunk-UPUG4GXM.js → chunk-I7JDGNG6.js} +3 -3
  95. package/chunks/{chunk-JHNRZMHI.js → chunk-II6WPWHY.js} +9 -9
  96. package/chunks/{chunk-B4AJNNOL.js → chunk-J26HHFI5.js} +1 -1
  97. package/chunks/{chunk-S3TWXGKA.js → chunk-JE7KQ2UP.js} +4 -2
  98. package/chunks/{chunk-ZHBO7WVX.js → chunk-JELIWHXD.js} +1 -1
  99. package/chunks/{chunk-3EFXSQCM.js → chunk-JRIDA5HF.js} +7 -7
  100. package/chunks/{chunk-TFRMVU6R.js → chunk-K4CGQN4Q.js} +1 -1
  101. package/chunks/{chunk-WUZ7H6DP.js → chunk-K5Q62CGR.js} +1 -1
  102. package/chunks/{chunk-JCW2R7WC.js → chunk-K623ENWT.js} +3 -79
  103. package/chunks/{chunk-T2NCM2ET.js → chunk-K6KS3LTN.js} +2 -749
  104. package/chunks/{chunk-TDL6LB4K.js → chunk-KG22G46Y.js} +22 -10
  105. package/chunks/{chunk-GATT5TKW.js → chunk-KKN2IE7Q.js} +1 -1
  106. package/chunks/{chunk-JMONIXMJ.js → chunk-KVUBYJDM.js} +2 -2
  107. package/chunks/{chunk-TBBV36Y4.js → chunk-KXSYDCP2.js} +4 -4
  108. package/chunks/{chunk-EIF3FXTB.js → chunk-LAPK3GLC.js} +121 -18
  109. package/chunks/chunk-LBOVL47Y.js +29 -0
  110. package/chunks/{chunk-U3E3UQAA.js → chunk-LBWNSLJK.js} +4 -4
  111. package/chunks/{chunk-S4WJVPZW.js → chunk-LL4U3BSH.js} +15 -7
  112. package/chunks/{chunk-657BH7VM.js → chunk-LRJWFR6L.js} +4 -4
  113. package/chunks/{chunk-PT722TDT.js → chunk-M2F5PLOW.js} +770 -125
  114. package/chunks/{chunk-3L2SPEBH.js → chunk-M744OFVE.js} +1 -1
  115. package/chunks/{chunk-VYOXCEPJ.js → chunk-MBKPUM5Y.js} +1 -1
  116. package/chunks/chunk-MISUEWB4.js +8749 -0
  117. package/chunks/{chunk-PONHVBRT.js → chunk-MOHAWIAW.js} +2 -2
  118. package/chunks/{chunk-HMRM2A3U.js → chunk-MSIVKDRC.js} +4 -4
  119. package/chunks/{record-artifact-XAMSFSW4.js → chunk-MYT7N6QH.js} +22 -7
  120. package/chunks/{chunk-X5WNMMIA.js → chunk-NGWYUZZO.js} +11510 -15137
  121. package/chunks/{chunk-PQNHRFJC.js → chunk-NYX53SV4.js} +0 -2
  122. package/chunks/{chunk-6RPMI2AB.js → chunk-NZB4NDJL.js} +10 -10
  123. package/chunks/{chunk-BGTQCTQW.js → chunk-O2ZYHG33.js} +6 -5
  124. package/chunks/chunk-O6GEWCJA.js +21 -0
  125. package/chunks/{chunk-JX27F6QS.js → chunk-OBAIHYFT.js} +1 -1
  126. package/chunks/{chunk-BPZKP57P.js → chunk-OCRM53TT.js} +3 -3
  127. package/chunks/{chunk-V7RNNPGC.js → chunk-P5Y23G2L.js} +18 -1
  128. package/chunks/{chunk-FTD6DP4T.js → chunk-PDDYAXL2.js} +5 -1
  129. package/chunks/{chunk-JSD33JG6.js → chunk-PGEGUNH5.js} +67 -10
  130. package/chunks/{chunk-A4COXFB3.js → chunk-PGP7Y3RQ.js} +5 -5
  131. package/chunks/{chunk-T3O2B4XO.js → chunk-PHODQP2V.js} +6 -6
  132. package/chunks/{chunk-BMFALVGQ.js → chunk-PXA5AWHY.js} +1 -1
  133. package/chunks/chunk-QL4TN4HS.js +59 -0
  134. package/chunks/{chunk-W4MIWP6M.js → chunk-QMBEW7EW.js} +2 -2
  135. package/chunks/{chunk-U4VTUMMK.js → chunk-QONSRAEV.js} +1 -1
  136. package/chunks/{chunk-LW3RFMG7.js → chunk-QYPT3QUD.js} +3 -3
  137. package/chunks/{chunk-TV64SXKD.js → chunk-RGJ4JWSU.js} +131 -48
  138. package/chunks/{chunk-75MIQ3LV.js → chunk-RPYYTL7E.js} +61 -13
  139. package/chunks/{chunk-52ZSWYEG.js → chunk-SK2UKB45.js} +1 -1
  140. package/chunks/{chunk-PLDQBIO6.js → chunk-SWEBEXPI.js} +1 -1
  141. package/chunks/chunk-T3CHYWJZ.js +758 -0
  142. package/chunks/{chunk-VCPIZRYH.js → chunk-TFFMATHX.js} +9 -7
  143. package/chunks/{chunk-J7OACQDE.js → chunk-TNVKFQXQ.js} +458 -97
  144. package/chunks/{chunk-A3NDJ5SB.js → chunk-TYERNYH4.js} +2 -2
  145. package/chunks/{chunk-GKX7E4CO.js → chunk-U25CMJYY.js} +1 -1
  146. package/chunks/{chunk-7XATOOE7.js → chunk-UH7Z7Y45.js} +1 -1
  147. package/chunks/{chunk-XFZYFU3I.js → chunk-UHQ3L6GC.js} +1 -1
  148. package/chunks/{chunk-GZ3RCT54.js → chunk-UHTJC7O3.js} +1 -1
  149. package/chunks/{chunk-XZC5VLBZ.js → chunk-UKZEXS6K.js} +6 -0
  150. package/chunks/{chunk-LO4ROVP4.js → chunk-UOFFZNXV.js} +111 -13
  151. package/chunks/{chunk-5YKDXHUY.js → chunk-URN76TKR.js} +2 -2
  152. package/chunks/{chunk-T4TXDL7G.js → chunk-UWLG4UCE.js} +132 -35
  153. package/chunks/{chunk-KAMYKP7E.js → chunk-UWSXFI6E.js} +1 -1
  154. package/chunks/{chunk-7BAU433D.js → chunk-VS3GXRNZ.js} +1198 -240
  155. package/chunks/{chunk-EJGJIBRS.js → chunk-VWF42XC6.js} +3 -3
  156. package/chunks/{chunk-RCUQIPTN.js → chunk-W7XZ3KP5.js} +1 -1
  157. package/chunks/{chunk-OCESJA77.js → chunk-WISQLM4Q.js} +1197 -1154
  158. package/chunks/{chunk-NOKIVHOL.js → chunk-WK4TJUEA.js} +1 -1
  159. package/chunks/{chunk-JFMA7Y5M.js → chunk-WP4HGHFG.js} +5 -5
  160. package/chunks/{chunk-4G2BISNC.js → chunk-XC2VAFVZ.js} +1 -1
  161. package/chunks/{chunk-2LKVPASC.js → chunk-XC656O42.js} +3 -3
  162. package/chunks/{chunk-5KTQXHPY.js → chunk-XCLLRKY5.js} +3 -3
  163. package/chunks/{chunk-HV26XH34.js → chunk-XFDPIC4P.js} +3 -3
  164. package/chunks/{chunk-JTV5K7NH.js → chunk-XSA5EKTJ.js} +1 -1
  165. package/chunks/{chunk-75GFAX4R.js → chunk-YAVY33G4.js} +1 -1
  166. package/chunks/{chunk-WBSMNTSV.js → chunk-YXEVDA66.js} +2 -2
  167. package/chunks/{chunk-7DXQIJID.js → chunk-ZRFJ75D7.js} +3 -3
  168. package/chunks/{chunk-XBYYDKAZ.js → chunk-ZTN6OA5J.js} +8 -7
  169. package/chunks/{computer-use-ZTIDHMMA.js → computer-use-Z4NCIIJN.js} +40 -35
  170. package/chunks/{config-utils-NYSXDMEQ.js → config-utils-64LM6OEQ.js} +4 -4
  171. package/chunks/{contextCommand-2PIEU37Z.js → contextCommand-HVM7XFCB.js} +43 -38
  172. package/chunks/{core-runtime-3XEYLQFK.js → core-runtime-NL3ZBHBU.js} +40 -35
  173. package/chunks/{create-sub-session-SBYUMSSS.js → create-sub-session-AM32K2HD.js} +2 -2
  174. package/chunks/{create-sub-session-R76FVXCI.js → create-sub-session-XHSCDYFU.js} +43 -38
  175. package/chunks/{cron-create-2QK6TCEC.js → cron-create-HPXYE6C5.js} +4 -4
  176. package/chunks/{cron-delete-FDCDFYMG.js → cron-delete-FPVNTKPK.js} +4 -4
  177. package/chunks/{cron-list-XN3WVBTP.js → cron-list-ZEI6PAAV.js} +4 -4
  178. package/chunks/{daemon-Q2AB5Z23.js → daemon-PCNCI5YU.js} +72 -3
  179. package/chunks/daemon-status-provider-XD23SNAM.js +94 -0
  180. package/chunks/{daemon-trust-policy-ILUDTLHD.js → daemon-trust-policy-NOHK7IW5.js} +46 -41
  181. package/chunks/{daemon-trust-policy-monitor-HS3PKKRO.js → daemon-trust-policy-monitor-ZBTSR333.js} +46 -41
  182. package/chunks/{de-SY6O76BF.js → de-A6TI4LBB.js} +46 -5
  183. package/chunks/{deferred-core-runtime-X4QV662U.js → deferred-core-runtime-JJBHKM2C.js} +40 -35
  184. package/chunks/{dist-HVRQ2CFL.js → dist-4LAMY2SK.js} +1180 -5
  185. package/chunks/{dist-DOLYHMXE.js → dist-4T4NCJFL.js} +2 -2
  186. package/chunks/dist-7KOL6OMD.js +13467 -0
  187. package/chunks/{dist-SSU66DM4.js → dist-BH76AT7N.js} +1 -1
  188. package/chunks/{dist-BSTVRPMT.js → dist-BXA3JXVQ.js} +541 -19
  189. package/chunks/{dist-SV7Q3AWJ.js → dist-OEEFI6UU.js} +12 -9
  190. package/chunks/{dist-YGBBMK3Z.js → dist-SMLVOWKV.js} +5 -4
  191. package/chunks/{dist-IXQEQWRG.js → dist-V2RK6S6Q.js} +1 -1
  192. package/chunks/{earlyInputCapture-XKLZT7ZD.js → earlyInputCapture-KLAZDAIP.js} +41 -36
  193. package/chunks/{edit-HHGIOTQ2.js → edit-YQZWCISX.js} +40 -35
  194. package/chunks/{en-NBK3JKCE.js → en-RESOFG55.js} +46 -5
  195. package/chunks/{enter-worktree-ZN7PUQ46.js → enter-worktree-WLVWI3FP.js} +40 -35
  196. package/chunks/{enterPlanMode-EIFIDSIV.js → enterPlanMode-6RYXFQUD.js} +40 -35
  197. package/chunks/{environment-XXQ75D2Q.js → environment-DXJTXSVT.js} +43 -38
  198. package/chunks/{errors-4GMVU7CK.js → errors-XGAGG2S2.js} +43 -38
  199. package/chunks/{exit-worktree-GXMI4ATY.js → exit-worktree-C4276VPP.js} +40 -35
  200. package/chunks/{exitPlanMode-34UVY7M6.js → exitPlanMode-MM5HIRUF.js} +40 -35
  201. package/chunks/{fast-path-VPIVA7L6.js → fast-path-PIXYOHCH.js} +6 -2
  202. package/chunks/{fr-4KG5V7UT.js → fr-QF7RI5ZE.js} +46 -5
  203. package/chunks/{gemini-4BWIK4WD.js → gemini-43RLVUNP.js} +158 -96
  204. package/chunks/{geminiContentGenerator-3XVV5MSS.js → geminiContentGenerator-PNQ4TSID.js} +6 -6
  205. package/chunks/{glob-TZ2ABCJG.js → glob-ZMBQKAU5.js} +40 -35
  206. package/chunks/goal-tools-Y767F7LZ.js +335 -0
  207. package/chunks/{grep-BEF463NA.js → grep-HSV37W2Q.js} +40 -35
  208. package/chunks/handleAutoUpdate-QDHZPBAY.js +85 -0
  209. package/chunks/{i18n-FMM5FDXR.js → i18n-ME22A6RN.js} +42 -37
  210. package/chunks/{image-gen-HHVLF7HS.js → image-gen-IFC7ZWSB.js} +9 -9
  211. package/chunks/{initializer-625TIAIO.js → initializer-J7H2CHVB.js} +47 -42
  212. package/chunks/{installationInfo-6AM4I2Y3.js → installationInfo-R7FXPQN5.js} +41 -36
  213. package/chunks/{ja-F3GSQXMF.js → ja-URQESVGW.js} +46 -5
  214. package/chunks/{keychain-token-storage-72IYCAZV.js → keychain-token-storage-7BT4TQ2A.js} +2 -2
  215. package/chunks/{kittyProtocolDetector-MBRTDRBK.js → kittyProtocolDetector-BFLAKYXH.js} +1 -1
  216. package/chunks/list-OYDIBA4N.js +93 -0
  217. package/chunks/{list-agents-R6KDXQR3.js → list-agents-GATIBBQQ.js} +2 -2
  218. package/chunks/{loadedSettingsAdapter-SPUTNKAV.js → loadedSettingsAdapter-OK6GK2GE.js} +46 -41
  219. package/chunks/{loggingContentGenerator-LKOF7XI7.js → loggingContentGenerator-U4ZEG4GL.js} +53 -38
  220. package/chunks/{loop-wakeup-3IQKCYAH.js → loop-wakeup-3DZMQQQQ.js} +13 -6
  221. package/chunks/{ls-DKZ37A7N.js → ls-7F4GHXIH.js} +4 -4
  222. package/chunks/{lsp-QNWN7KN3.js → lsp-6FEHVBWI.js} +2 -2
  223. package/chunks/{managed-npm-update-ACQGGIN5.js → managed-npm-update-PGKAJLLO.js} +43 -38
  224. package/chunks/mcp-S4DXJD2G.js +87 -0
  225. package/chunks/{monitor-DF52UVHI.js → monitor-E5ZFMT74.js} +40 -35
  226. package/chunks/nonInteractiveCli-HNOHKEPE.js +149 -0
  227. package/chunks/{notebook-edit-FCWS4XVN.js → notebook-edit-6QDN6VZJ.js} +40 -35
  228. package/chunks/{openaiContentGenerator-7LDK3DCJ.js → openaiContentGenerator-3NLB2C5O.js} +19 -19
  229. package/chunks/{pidfile-6ERW3DF4.js → pidfile-ZMOIUGG6.js} +41 -36
  230. package/chunks/{processUtils-COKZAMUP.js → processUtils-E4QGQVWW.js} +2 -2
  231. package/chunks/{pt-EQ33KWEN.js → pt-EEEQXRUI.js} +46 -5
  232. package/chunks/{qwenContentGenerator-TKWUMR7N.js → qwenContentGenerator-2LFRWJTM.js} +46 -41
  233. package/chunks/{qwenOAuth2-7HMU47SF.js → qwenOAuth2-N32BUQDC.js} +8 -8
  234. package/chunks/{read-file-X6DRC574.js → read-file-GLDCWZBG.js} +11 -11
  235. package/chunks/{read-mcp-resource-GFTWYXMK.js → read-mcp-resource-AFS3UKZO.js} +2 -2
  236. package/chunks/record-artifact-ECZSCEG5.js +21 -0
  237. package/chunks/{resumeHistoryUtils-PFPM2GWM.js → resumeHistoryUtils-F5BE5QDW.js} +48 -43
  238. package/chunks/ripGrep-T23Y4AGY.js +77 -0
  239. package/chunks/{ru-7OZAUKGG.js → ru-WGZDYQAB.js} +46 -5
  240. package/chunks/{run-qwen-serve-TSTCO4XE.js → run-qwen-serve-TI2HGLLU.js} +290 -75
  241. package/chunks/{runtime-DAUPSUKI.js → runtime-WCWM3DO7.js} +53 -46
  242. package/chunks/{scheduler-KMADMT26.js → scheduler-2QZO5AV5.js} +40 -35
  243. package/chunks/{sdk-exporters-http-WO556XNU.js → sdk-exporters-http-IKNWQJNV.js} +3 -3
  244. package/chunks/{sdk-impl-LPAVACSF.js → sdk-impl-7CUUMQDB.js} +3 -3
  245. package/chunks/{send-message-SAWK4DZX.js → send-message-X7G2JSII.js} +6 -11
  246. package/chunks/{serve-NNRWS6F4.js → serve-DZOMYUFU.js} +46 -41
  247. package/chunks/{server-WEH7DVCH.js → server-N4AJRKIQ.js} +2269 -1016
  248. package/chunks/{session-WXC56V2I.js → session-GS6AKMN7.js} +151 -86
  249. package/chunks/{settings-DJDXFDZ3.js → settings-CUN3SELH.js} +50 -45
  250. package/chunks/{shell-JN5VRQXD.js → shell-NGBFVXC5.js} +40 -35
  251. package/chunks/{skill-SGXPKJCS.js → skill-SC2BSO75.js} +30 -16
  252. package/chunks/{skill-settings-VJ5PDMZI.js → skill-settings-XVPCPW5K.js} +45 -40
  253. package/chunks/{spawnChannel-ETMJW7YX.js → spawnChannel-RILO4YY3.js} +42 -37
  254. package/chunks/{standalone-update-MK3Z7KBI.js → standalone-update-TMLT6LVJ.js} +43 -38
  255. package/chunks/{startInteractiveUI-ZCGIXPGT.js → startInteractiveUI-J45WOEOU.js} +883 -1112
  256. package/chunks/{syntheticOutput-355CB6CJ.js → syntheticOutput-FHRY3BPQ.js} +3 -3
  257. package/chunks/{task-create-INGWNUG4.js → task-create-LAQXBIHC.js} +11 -10
  258. package/chunks/{task-list-5XNNGTF4.js → task-list-V6K5DRDH.js} +6 -6
  259. package/chunks/{task-stop-4ROAOBXH.js → task-stop-LQXE52L6.js} +2 -2
  260. package/chunks/{task-update-CRK5VWWZ.js → task-update-NXRCXSPB.js} +11 -10
  261. package/chunks/{team-create-QQGAJG7P.js → team-create-W3EVWCTA.js} +40 -35
  262. package/chunks/{team-delete-S2RCXA4P.js → team-delete-Z4KGO7RC.js} +6 -6
  263. package/chunks/{team-plan-approval-RT7Q5R6O.js → team-plan-approval-URYVKJF4.js} +40 -35
  264. package/chunks/theme-manager-CUAMS2NI.js +81 -0
  265. package/chunks/{todoWrite-7WM3VDMY.js → todoWrite-OFIZDI7P.js} +32 -4
  266. package/chunks/{tool-search-Z3Z4AYKP.js → tool-search-DCICFL32.js} +15 -14
  267. package/chunks/total-session-admission-3ZTAXVUK.js +89 -0
  268. package/chunks/{trustedFolders-X2JEIO57.js → trustedFolders-EVCN36O5.js} +42 -37
  269. package/chunks/{update-relaunch-VWNPYDIP.js → update-relaunch-XLW46RHQ.js} +5 -5
  270. package/chunks/{updateCheck-KAQH67DV.js → updateCheck-ZHVXDAIH.js} +44 -39
  271. package/chunks/{useAutoAcceptIndicator-JH6BCF7S.js → useAutoAcceptIndicator-ZGD6BJSP.js} +50 -45
  272. package/chunks/{validateNonInterActiveAuth-GIUJ2UFS.js → validateNonInterActiveAuth-R3BAQFDY.js} +88 -83
  273. package/chunks/{version-BGLYIJUY.js → version-PMWREGCG.js} +1 -1
  274. package/chunks/{web-fetch-OTDU4VQF.js → web-fetch-PGN27SGF.js} +14 -14
  275. package/chunks/{web-search-FP6SIHPR.js → web-search-KW4UNMRE.js} +8 -8
  276. package/chunks/{workflow-YCIVBYSB.js → workflow-SN3TJBTJ.js} +363 -310
  277. package/chunks/workspace-providers-status-O3HUZGGR.js +90 -0
  278. package/chunks/{workspace-registration-store-OTMS3H4C.js → workspace-registration-store-M3FJ74RS.js} +2 -2
  279. package/chunks/{workspace-registry-O63R6IZ4.js → workspace-registry-U7ISW23N.js} +47 -42
  280. package/chunks/{workspace-service-M6LLHKJ5.js → workspace-service-VH6IWADT.js} +53 -48
  281. package/chunks/{workspace-skills-status-C2V7BAIS.js → workspace-skills-status-XANARSZS.js} +48 -43
  282. package/chunks/{workspace-trust-reconciler-IBUPOUJN.js → workspace-trust-reconciler-35EFR4GC.js} +53 -48
  283. package/chunks/write-file-NCRSGUDT.js +79 -0
  284. package/chunks/{zh-H3YDK5QW.js → zh-OHX23Q44.js} +43 -5
  285. package/chunks/{zh-TW-JYCP7XUA.js → zh-TW-4G7YKDAQ.js} +43 -5
  286. package/chunks/zoom-image-X7CIADYC.js +224 -0
  287. package/cli.js +55 -48
  288. package/locales/ca.js +60 -4
  289. package/locales/de.js +62 -4
  290. package/locales/en.js +59 -4
  291. package/locales/fr.js +64 -4
  292. package/locales/ja.js +61 -4
  293. package/locales/pt.js +60 -4
  294. package/locales/ru.js +63 -4
  295. package/locales/zh-TW.js +52 -4
  296. package/locales/zh.js +52 -4
  297. package/package.json +3 -3
  298. package/web-shell/assets/{arc-75-Wdeo3.js → arc-CaMTqKio.js} +1 -1
  299. package/web-shell/assets/{architectureDiagram-3BPJPVTR-FKeXQbyP.js → architectureDiagram-3BPJPVTR-Bjxztij2.js} +1 -1
  300. package/web-shell/assets/{blockDiagram-GPEHLZMM-CY0vc-A3.js → blockDiagram-GPEHLZMM-BYJzeHi9.js} +1 -1
  301. package/web-shell/assets/{c4Diagram-AAUBKEIU-CNP-A-8u.js → c4Diagram-AAUBKEIU-fYAa-Eil.js} +1 -1
  302. package/web-shell/assets/channel-LEZei0-5.js +1 -0
  303. package/web-shell/assets/{chunk-2J33WTMH-GybS4Gii.js → chunk-2J33WTMH-B1OTlTml.js} +1 -1
  304. package/web-shell/assets/{chunk-4BX2VUAB-02H91V8v.js → chunk-4BX2VUAB-DNj4uy6k.js} +1 -1
  305. package/web-shell/assets/{chunk-55IACEB6-D3M-2VT6.js → chunk-55IACEB6-DAqNmg3c.js} +1 -1
  306. package/web-shell/assets/{chunk-727SXJPM-CCu29u4H.js → chunk-727SXJPM-BwB4ddxE.js} +1 -1
  307. package/web-shell/assets/{chunk-AQP2D5EJ-CaFKWgrn.js → chunk-AQP2D5EJ-DmHR_UZs.js} +1 -1
  308. package/web-shell/assets/{chunk-FMBD7UC4-ZZpPqIwQ.js → chunk-FMBD7UC4-BlfOXumo.js} +1 -1
  309. package/web-shell/assets/{chunk-ND2GUHAM-D22DqGs8.js → chunk-ND2GUHAM-BKogiSy7.js} +1 -1
  310. package/web-shell/assets/{chunk-QZHKN3VN-Bu85S0fw.js → chunk-QZHKN3VN-DEclVrOF.js} +1 -1
  311. package/web-shell/assets/classDiagram-4FO5ZUOK-BiaRhfvf.js +1 -0
  312. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-BiaRhfvf.js +1 -0
  313. package/web-shell/assets/{cose-bilkent-S5V4N54A-f1CK1Gwe.js → cose-bilkent-S5V4N54A-CwtS21WT.js} +1 -1
  314. package/web-shell/assets/{dagre-BM42HDAG-D0Ow8F_n.js → dagre-BM42HDAG-BAAIlB4p.js} +1 -1
  315. package/web-shell/assets/{diagram-2AECGRRQ-BPrmTWp8.js → diagram-2AECGRRQ-ChljtF_V.js} +1 -1
  316. package/web-shell/assets/{diagram-5GNKFQAL-HccuFAzy.js → diagram-5GNKFQAL-BIXVd31-.js} +1 -1
  317. package/web-shell/assets/{diagram-KO2AKTUF-BrS76mbA.js → diagram-KO2AKTUF-BEiBaS15.js} +1 -1
  318. package/web-shell/assets/{diagram-LMA3HP47-V7T9lU-5.js → diagram-LMA3HP47-C-g4tWKM.js} +1 -1
  319. package/web-shell/assets/{diagram-OG6HWLK6-DKidyJMR.js → diagram-OG6HWLK6-CNCCbNQG.js} +1 -1
  320. package/web-shell/assets/{erDiagram-TEJ5UH35-DBadZIkp.js → erDiagram-TEJ5UH35-v8ysnsdI.js} +1 -1
  321. package/web-shell/assets/{flowDiagram-I6XJVG4X-BymfqdNJ.js → flowDiagram-I6XJVG4X-LKVlLjwA.js} +1 -1
  322. package/web-shell/assets/{ganttDiagram-6RSMTGT7-DOw340jf.js → ganttDiagram-6RSMTGT7-DA5MrKYG.js} +1 -1
  323. package/web-shell/assets/{gitGraphDiagram-PVQCEYII-_8EiD8sl.js → gitGraphDiagram-PVQCEYII-Cyg5fe6d.js} +1 -1
  324. package/web-shell/assets/index-BgOcEaVt.js +1756 -0
  325. package/web-shell/assets/index-C2GE3DAF.js +74 -0
  326. package/web-shell/assets/{index-CKIadvET.js → index-CKdUkVVS.js} +1 -1
  327. package/web-shell/assets/index-DA5Lvscv.css +5 -0
  328. package/web-shell/assets/{infoDiagram-5YYISTIA-D61KYQBu.js → infoDiagram-5YYISTIA-SLsfu3Qd.js} +1 -1
  329. package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-CsiXSpNx.js → ishikawaDiagram-YF4QCWOH-CmHOmTNx.js} +1 -1
  330. package/web-shell/assets/{journeyDiagram-JHISSGLW-Sdfionyh.js → journeyDiagram-JHISSGLW-C3gM_HFQ.js} +1 -1
  331. package/web-shell/assets/{kanban-definition-UN3LZRKU-C3WI3Cnl.js → kanban-definition-UN3LZRKU-BbHD7duM.js} +1 -1
  332. package/web-shell/assets/{linear-Dpigcc62.js → linear-CSBvm435.js} +1 -1
  333. package/web-shell/assets/{mermaid.core-Ct97pqgW.js → mermaid.core-CPMw15lU.js} +5 -5
  334. package/web-shell/assets/{mindmap-definition-RKZ34NQL-BzeaN0rB.js → mindmap-definition-RKZ34NQL-C_tNqXQW.js} +1 -1
  335. package/web-shell/assets/{pieDiagram-4H26LBE5-CvjgcbVD.js → pieDiagram-4H26LBE5-DH_N-8yY.js} +1 -1
  336. package/web-shell/assets/{quadrantDiagram-W4KKPZXB-BUzgTNdH.js → quadrantDiagram-W4KKPZXB-CRbS8UkN.js} +1 -1
  337. package/web-shell/assets/{requirementDiagram-4Y6WPE33-B7zKlgUQ.js → requirementDiagram-4Y6WPE33-DJgdZPZn.js} +1 -1
  338. package/web-shell/assets/{sankeyDiagram-5OEKKPKP-Bb9CQgrT.js → sankeyDiagram-5OEKKPKP-vhL1y5zx.js} +1 -1
  339. package/web-shell/assets/{sequenceDiagram-3UESZ5HK-DJ6V7itG.js → sequenceDiagram-3UESZ5HK-UQthhFwd.js} +1 -1
  340. package/web-shell/assets/{stateDiagram-AJRCARHV-IImflERY.js → stateDiagram-AJRCARHV-CAywEm20.js} +1 -1
  341. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-lfJQHw-7.js +1 -0
  342. package/web-shell/assets/{timeline-definition-PNZ67QCA-6Q_uWHKh.js → timeline-definition-PNZ67QCA-CLO8b3FD.js} +1 -1
  343. package/web-shell/assets/{vennDiagram-CIIHVFJN-TmyKyjwv.js → vennDiagram-CIIHVFJN-BNAAh0Mu.js} +1 -1
  344. package/web-shell/assets/{wardley-L42UT6IY-CRh9uiPv.js → wardley-L42UT6IY-CUY7bLpN.js} +1 -1
  345. package/web-shell/assets/{wardleyDiagram-YWT4CUSO-59TKAW8w.js → wardleyDiagram-YWT4CUSO-CSg_ORdW.js} +1 -1
  346. package/web-shell/assets/{xychartDiagram-2RQKCTM6-GCSUIK2L.js → xychartDiagram-2RQKCTM6-BjffV208.js} +1 -1
  347. package/web-shell/index.html +2 -2
  348. package/chunks/agent-headless-NO4Y2HOE.js +0 -74
  349. package/chunks/chunk-6QIGFD5W.js +0 -82
  350. package/chunks/chunk-HGT6JR3U.js +0 -177
  351. package/chunks/daemon-status-provider-3XJI6CAL.js +0 -89
  352. package/chunks/handleAutoUpdate-L6ERF36Y.js +0 -80
  353. package/chunks/list-L2GA674Y.js +0 -88
  354. package/chunks/mcp-SZLHKFJW.js +0 -82
  355. package/chunks/nonInteractiveCli-5T7KYKLK.js +0 -144
  356. package/chunks/ripGrep-OWV2IVJC.js +0 -72
  357. package/chunks/theme-manager-EEWIQJ7J.js +0 -76
  358. package/chunks/total-session-admission-44JKRWQD.js +0 -84
  359. package/chunks/workspace-providers-status-S35YAIUS.js +0 -85
  360. package/chunks/write-file-3BZC3EAE.js +0 -72
  361. package/chunks/zoom-image-TZ6S2O57.js +0 -351
  362. package/web-shell/assets/channel-DPYMT76A.js +0 -1
  363. package/web-shell/assets/classDiagram-4FO5ZUOK--JstsIgL.js +0 -1
  364. package/web-shell/assets/classDiagram-v2-Q7XG4LA2--JstsIgL.js +0 -1
  365. package/web-shell/assets/index-D1eXNRHe.js +0 -1389
  366. package/web-shell/assets/index-DVLD4CQq.css +0 -5
  367. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-CYI_YoNR.js +0 -1
@@ -17,7 +17,7 @@ import {
17
17
  } from "./chunk-OCPBI7J5.js";
18
18
  import {
19
19
  defaultSpawnChannelFactory
20
- } from "./chunk-KAMYKP7E.js";
20
+ } from "./chunk-UWSXFI6E.js";
21
21
  import {
22
22
  BridgeChannelClosedError,
23
23
  BridgeTimeoutError,
@@ -26,21 +26,24 @@ import {
26
26
  STATUS_SCHEMA_VERSION,
27
27
  createIdleWorkspaceExtensionsStatus,
28
28
  createIdleWorkspaceHooksStatus
29
- } from "./chunk-FTD6DP4T.js";
29
+ } from "./chunk-PDDYAXL2.js";
30
30
  import {
31
31
  CHANNEL_STARTUP_PROFILE_META_KEY,
32
32
  CHANNEL_STARTUP_PROFILE_VERSION,
33
33
  DAEMON_CHANNEL_DELIVERY_META_KEY,
34
34
  LOAD_REPLAY_BULK_MODE,
35
+ LOAD_REPLAY_HIDE_INHERITED_META_KEY,
35
36
  LOAD_REPLAY_META_KEY,
36
37
  LOAD_REPLAY_MODE_META_KEY,
37
38
  LOAD_REPLAY_PAGE_SIZE_META_KEY,
38
39
  LOAD_REPLAY_VERSION,
39
40
  MID_TURN_QUEUE_DRAIN_METHOD,
40
41
  PROMPT_CANCEL_METHOD,
42
+ REQUESTED_SESSION_ID_META_KEY,
41
43
  TODO_STOP_GUARD_CONTINUATION_CLAIM_METHOD,
42
- TODO_STOP_GUARD_QUEUE_RELEASE_METHOD
43
- } from "./chunk-XZC5VLBZ.js";
44
+ TODO_STOP_GUARD_QUEUE_RELEASE_METHOD,
45
+ WORKTREE_MCP_DEFER_META_KEY
46
+ } from "./chunk-UKZEXS6K.js";
44
47
  import {
45
48
  BranchWhilePromptActiveError,
46
49
  CancelSentinelCollisionError,
@@ -61,11 +64,11 @@ import {
61
64
  SessionShellDisabledError,
62
65
  WorkspaceMismatchError,
63
66
  isNotCurrentlyGeneratingCancelError
64
- } from "./chunk-B4AJNNOL.js";
67
+ } from "./chunk-J26HHFI5.js";
65
68
  import {
66
69
  canonicalizeWorkspace,
67
70
  translateAndCheckAbsoluteWorkspacePath
68
- } from "./chunk-2RFKHEXL.js";
71
+ } from "./chunk-6PLDPT2C.js";
69
72
  import {
70
73
  CHANNEL_DELIVERY_ERROR_CODES,
71
74
  MAX_SUB_SESSION_NAME_CHARS,
@@ -87,16 +90,16 @@ import {
87
90
  metadataBudgetBytes,
88
91
  normalizeSnapshotPayload,
89
92
  stableSessionArtifactId
90
- } from "./chunk-X5WNMMIA.js";
93
+ } from "./chunk-NGWYUZZO.js";
91
94
  import {
92
95
  DAEMON_TRACEPARENT_META_KEY,
93
96
  DAEMON_TRACESTATE_META_KEY
94
- } from "./chunk-75MIQ3LV.js";
97
+ } from "./chunk-RPYYTL7E.js";
95
98
  import {
96
99
  INVOCATION_CONTEXT_META_KEY,
97
100
  PRIVATE_ACP_CAPABILITY_ENV,
98
101
  PRIVATE_PARENT_CAPABILITY_META_KEY
99
- } from "./chunk-PT722TDT.js";
102
+ } from "./chunk-M2F5PLOW.js";
100
103
  import {
101
104
  init_esbuild_shims
102
105
  } from "./chunk-5O2XNYP6.js";
@@ -740,6 +743,7 @@ __name(mergeTranscriptUpdateMeta, "mergeTranscriptUpdateMeta");
740
743
 
741
744
  // packages/acp-bridge/src/session-source.ts
742
745
  init_esbuild_shims();
746
+ var SESSION_SOURCE_META_KEY = "qwen.session.source";
743
747
  var SESSION_SOURCE_TYPE_PATTERN = /^[a-z][a-z0-9_-]{0,63}$/;
744
748
  var MAX_SESSION_SOURCE_ID_LENGTH = 256;
745
749
  function parseSessionSource(sourceType, sourceId) {
@@ -5424,6 +5428,15 @@ function isRecord3(value) {
5424
5428
  return typeof value === "object" && value !== null && !Array.isArray(value);
5425
5429
  }
5426
5430
  __name(isRecord3, "isRecord");
5431
+ function sessionSourceRequestMeta(sourceType, sourceId) {
5432
+ return sourceType ? {
5433
+ [SESSION_SOURCE_META_KEY]: {
5434
+ sourceType,
5435
+ ...sourceId !== void 0 ? { sourceId } : {}
5436
+ }
5437
+ } : {};
5438
+ }
5439
+ __name(sessionSourceRequestMeta, "sessionSourceRequestMeta");
5427
5440
  function isDefinitiveAcpRequestError(error) {
5428
5441
  if (error instanceof RequestError) return true;
5429
5442
  if (!isRecord3(error)) return false;
@@ -5893,7 +5906,7 @@ var SESSION_TRANSCRIPT_TIMEOUT_MS = 6e4;
5893
5906
  var SHELL_COMMAND_TIMEOUT_MS = 12e4;
5894
5907
  var MAX_SHELL_OUTPUT_FOR_HISTORY = 1e4;
5895
5908
  var MAX_MID_TURN_QUEUE_DEPTH = 20;
5896
- var DEFAULT_MAX_SESSIONS = 20;
5909
+ var DEFAULT_MAX_SESSIONS = 32;
5897
5910
  var DEFAULT_MAX_PENDING_PROMPTS_PER_SESSION = 5;
5898
5911
  var MAX_EVENT_RING_SIZE = 1e6;
5899
5912
  var DEFAULT_PERMISSION_TIMEOUT_MS = 5 * 60 * 1e3;
@@ -6644,7 +6657,7 @@ function createAcpSessionBridge(opts) {
6644
6657
  }
6645
6658
  }
6646
6659
  __name(ensureChannel, "ensureChannel");
6647
- async function doSpawn(modelServiceId, effectiveScope, approvalMode, requestedClientId, onSessionRegistered, parentSessionId, sourceType, sourceId, worktree, branch) {
6660
+ async function doSpawn(modelServiceId, effectiveScope, approvalMode, requestedClientId, onSessionRegistered, parentSessionId, sourceType, sourceId, worktree, branch, requestedSessionId) {
6648
6661
  const channelPath = channelInfo && !channelInfo.isDying ? "reused" : inFlightChannelSpawn ? "joined" : "spawned_on_request";
6649
6662
  const ci = await telemetry.withSpan(
6650
6663
  "channel.wait",
@@ -6670,12 +6683,27 @@ function createAcpSessionBridge(opts) {
6670
6683
  "qwen-code.daemon.acp_channel.id": ci.id
6671
6684
  },
6672
6685
  async () => {
6686
+ const request = telemetry.injectPromptContext({
6687
+ cwd: boundWorkspace,
6688
+ mcpServers: [],
6689
+ ...requestedSessionId || sourceType ? {
6690
+ _meta: {
6691
+ ...sessionSourceRequestMeta(sourceType, sourceId),
6692
+ ...requestedSessionId ? {
6693
+ [REQUESTED_SESSION_ID_META_KEY]: requestedSessionId
6694
+ } : {}
6695
+ }
6696
+ } : {}
6697
+ });
6673
6698
  const response = await withTimeout(
6674
6699
  ci.connection.newSession(
6675
- telemetry.injectPromptContext({
6676
- cwd: boundWorkspace,
6677
- mcpServers: []
6678
- })
6700
+ worktree ? {
6701
+ ...request,
6702
+ _meta: {
6703
+ ...isRecord3(request._meta) ? request._meta : {},
6704
+ [WORKTREE_MCP_DEFER_META_KEY]: true
6705
+ }
6706
+ } : request
6679
6707
  ),
6680
6708
  initTimeoutMs,
6681
6709
  "newSession"
@@ -7449,6 +7477,7 @@ function createAcpSessionBridge(opts) {
7449
7477
  const entry = {
7450
7478
  sessionId,
7451
7479
  workspaceCwd,
7480
+ effectiveCwd: workspaceCwd,
7452
7481
  createdAt: (/* @__PURE__ */ new Date()).toISOString(),
7453
7482
  ...options.parentSessionId ? { parentSessionId: options.parentSessionId } : {},
7454
7483
  ...options.sourceType ? { sourceType: options.sourceType } : {},
@@ -7465,6 +7494,7 @@ function createAcpSessionBridge(opts) {
7465
7494
  }),
7466
7495
  recordingDegraded: false,
7467
7496
  closing: false,
7497
+ cwdChangeQueue: Promise.resolve(),
7468
7498
  promptQueue: Promise.resolve(),
7469
7499
  pendingPromptCount: 0,
7470
7500
  pendingPromptList: [],
@@ -7782,6 +7812,7 @@ function createAcpSessionBridge(opts) {
7782
7812
  );
7783
7813
  }
7784
7814
  const historyReplay = action === "load" ? req.historyReplay ?? "stream" : "stream";
7815
+ const hideInheritedHistory = action === "load" && req.hideInheritedHistory === true;
7785
7816
  const existing = byId.get(req.sessionId);
7786
7817
  if (existing) {
7787
7818
  if (existing.closing) {
@@ -7819,7 +7850,7 @@ function createAcpSessionBridge(opts) {
7819
7850
  }
7820
7851
  const inFlight = inFlightRestores.get(req.sessionId);
7821
7852
  if (inFlight) {
7822
- if (action !== inFlight.action || historyReplay !== inFlight.historyReplay) {
7853
+ if (action !== inFlight.action || historyReplay !== inFlight.historyReplay || hideInheritedHistory !== inFlight.hideInheritedHistory) {
7823
7854
  throw new RestoreInProgressError(
7824
7855
  req.sessionId,
7825
7856
  inFlight.action,
@@ -7901,11 +7932,20 @@ function createAcpSessionBridge(opts) {
7901
7932
  // intentionally has no `mcpServers` field for the
7902
7933
  // same reason.
7903
7934
  mcpServers: [],
7904
- ...historyReplay === "response" ? {
7935
+ ...historyReplay === "response" || hideInheritedHistory || req.sourceType ? {
7905
7936
  _meta: {
7906
- [LOAD_REPLAY_MODE_META_KEY]: LOAD_REPLAY_BULK_MODE,
7907
- ...req.historyPageSize !== void 0 ? {
7908
- [LOAD_REPLAY_PAGE_SIZE_META_KEY]: req.historyPageSize
7937
+ ...sessionSourceRequestMeta(
7938
+ req.sourceType,
7939
+ req.sourceId
7940
+ ),
7941
+ ...historyReplay === "response" ? {
7942
+ [LOAD_REPLAY_MODE_META_KEY]: LOAD_REPLAY_BULK_MODE,
7943
+ ...req.historyPageSize !== void 0 ? {
7944
+ [LOAD_REPLAY_PAGE_SIZE_META_KEY]: req.historyPageSize
7945
+ } : {}
7946
+ } : {},
7947
+ ...hideInheritedHistory ? {
7948
+ [LOAD_REPLAY_HIDE_INHERITED_META_KEY]: true
7909
7949
  } : {}
7910
7950
  }
7911
7951
  } : {}
@@ -7921,7 +7961,13 @@ function createAcpSessionBridge(opts) {
7921
7961
  ci.connection.unstable_resumeSession({
7922
7962
  sessionId: req.sessionId,
7923
7963
  cwd: workspaceKey,
7924
- mcpServers: []
7964
+ mcpServers: [],
7965
+ ...req.sourceType ? {
7966
+ _meta: sessionSourceRequestMeta(
7967
+ req.sourceType,
7968
+ req.sourceId
7969
+ )
7970
+ } : {}
7925
7971
  }),
7926
7972
  initTimeoutMs,
7927
7973
  "resumeSession"
@@ -8099,6 +8145,7 @@ function createAcpSessionBridge(opts) {
8099
8145
  inFlightRestores.set(req.sessionId, {
8100
8146
  action,
8101
8147
  historyReplay,
8148
+ hideInheritedHistory,
8102
8149
  promise,
8103
8150
  coalesceState
8104
8151
  });
@@ -8411,7 +8458,8 @@ function createAcpSessionBridge(opts) {
8411
8458
  source.sourceType,
8412
8459
  source.sourceId,
8413
8460
  req.worktree,
8414
- req.branch
8461
+ req.branch,
8462
+ req.sessionId
8415
8463
  );
8416
8464
  const tracker = effectiveScope === "single" ? workspaceKey : `${workspaceKey}#${randomUUID2()}`;
8417
8465
  inFlightSpawns.set(tracker, promise);
@@ -8977,12 +9025,18 @@ function createAcpSessionBridge(opts) {
8977
9025
  if (shuttingDown) throw new Error("AcpSessionBridge is shutting down");
8978
9026
  const entry = byId.get(sessionId);
8979
9027
  if (!entry) throw new SessionNotFoundError(sessionId);
9028
+ const source = parseSessionSource(req.sourceType, req.sourceId);
9029
+ if ("error" in source) {
9030
+ throw new InvalidSessionMetadataError("sourceType", source.error);
9031
+ }
9032
+ const isSideTask = source.sourceType === "side_task";
8980
9033
  let originatorClientId;
8981
9034
  if (context?.clientId !== void 0) {
8982
9035
  originatorClientId = resolveTrustedClientId(entry, context.clientId);
8983
9036
  }
8984
- const branchResult = entry.promptQueue.then(async () => {
8985
- if (entry.promptActive) {
9037
+ const concurrentSideTask = isSideTask && entry.promptActive;
9038
+ const branchResult = (concurrentSideTask ? Promise.resolve() : entry.promptQueue).then(async () => {
9039
+ if (entry.promptActive && !isSideTask) {
8986
9040
  throw new BranchWhilePromptActiveError(sessionId);
8987
9041
  }
8988
9042
  if (byId.size + inFlightSpawns.size + inFlightRestores.size >= maxSessions) {
@@ -9002,13 +9056,16 @@ function createAcpSessionBridge(opts) {
9002
9056
  try {
9003
9057
  const ci = await ensureChannel();
9004
9058
  const result = await withTimeout(
9005
- ci.connection.extMethod(SERVE_CONTROL_EXT_METHODS.sessionBranch, {
9006
- sessionId,
9007
- cwd: boundWorkspace,
9008
- name: req.name
9009
- }),
9059
+ ci.connection.extMethod(
9060
+ isSideTask ? SERVE_CONTROL_EXT_METHODS.sessionSideTask : SERVE_CONTROL_EXT_METHODS.sessionBranch,
9061
+ {
9062
+ sessionId,
9063
+ cwd: boundWorkspace,
9064
+ name: req.name
9065
+ }
9066
+ ),
9010
9067
  initTimeoutMs,
9011
- "branchSession"
9068
+ isSideTask ? "createSideTaskSession" : "branchSession"
9012
9069
  );
9013
9070
  if (!result || typeof result.newSessionId !== "string") {
9014
9071
  throw new Error(
@@ -9019,12 +9076,18 @@ function createAcpSessionBridge(opts) {
9019
9076
  const branchDisplayName = typeof rawBranchName === "string" ? rawBranchName : result.newSessionId.slice(0, 8);
9020
9077
  let restored;
9021
9078
  try {
9079
+ const hideInheritedHistory = req.replayInheritedHistory === false;
9022
9080
  restored = await restoreSession(
9023
9081
  "load",
9024
9082
  {
9025
9083
  sessionId: result.newSessionId,
9026
9084
  workspaceCwd: boundWorkspace,
9027
- clientId: context?.clientId
9085
+ clientId: context?.clientId,
9086
+ ...hideInheritedHistory ? {
9087
+ historyReplay: "response",
9088
+ hideInheritedHistory: true
9089
+ } : {},
9090
+ ...source
9028
9091
  },
9029
9092
  {
9030
9093
  skipFreshSessionAdmission: true
@@ -9049,35 +9112,80 @@ function createAcpSessionBridge(opts) {
9049
9112
  }
9050
9113
  const newEntry = byId.get(result.newSessionId);
9051
9114
  if (newEntry) newEntry.displayName = branchDisplayName;
9052
- const eventData = {
9053
- sourceSessionId: sessionId,
9054
- newSessionId: result.newSessionId,
9055
- displayName: branchDisplayName
9056
- };
9057
- const branchEnvelope = {
9058
- type: "session_branched",
9059
- data: eventData,
9060
- ...originatorClientId ? { originatorClientId } : {}
9061
- };
9062
- newEntry?.events.publish(branchEnvelope);
9115
+ let sourcePersisted;
9116
+ if (newEntry?.sourceType) {
9117
+ try {
9118
+ const sourceResult = await withTimeout(
9119
+ newEntry.connection.extMethod(
9120
+ SERVE_CONTROL_EXT_METHODS.sessionSource,
9121
+ {
9122
+ sessionId: newEntry.sessionId,
9123
+ sourceType: newEntry.sourceType,
9124
+ ...newEntry.sourceId !== void 0 ? { sourceId: newEntry.sourceId } : {}
9125
+ }
9126
+ ),
9127
+ initTimeoutMs,
9128
+ "sessionSource"
9129
+ );
9130
+ sourcePersisted = sourceResult?.persisted === true;
9131
+ } catch (error) {
9132
+ sourcePersisted = false;
9133
+ writeStderrLine(
9134
+ `qwen serve: source metadata for branched session ${result.newSessionId} was not persisted: ${error instanceof Error ? error.message : String(error)}`
9135
+ );
9136
+ }
9137
+ }
9138
+ if (!isSideTask) {
9139
+ const eventData = {
9140
+ sourceSessionId: sessionId,
9141
+ newSessionId: result.newSessionId,
9142
+ displayName: branchDisplayName
9143
+ };
9144
+ const branchEnvelope = {
9145
+ type: "session_branched",
9146
+ data: eventData,
9147
+ ...originatorClientId ? { originatorClientId } : {}
9148
+ };
9149
+ newEntry?.events.publish(branchEnvelope);
9150
+ }
9063
9151
  return {
9064
9152
  ...restored,
9065
9153
  displayName: branchDisplayName,
9066
9154
  forkedFrom: {
9067
9155
  sessionId,
9068
9156
  displayName: entry.displayName ?? sessionId.slice(0, 8)
9069
- }
9157
+ },
9158
+ ...sourcePersisted !== void 0 ? { sourcePersisted } : {}
9070
9159
  };
9071
9160
  } finally {
9072
9161
  releaseAdmissionOnce();
9073
9162
  }
9074
9163
  });
9075
- entry.promptQueue = branchResult.then(
9076
- () => void 0,
9077
- () => void 0
9078
- );
9164
+ if (!concurrentSideTask) {
9165
+ entry.promptQueue = branchResult.then(
9166
+ () => void 0,
9167
+ () => void 0
9168
+ );
9169
+ }
9079
9170
  return branchResult;
9080
9171
  },
9172
+ async createSideTaskSession(sessionId, req, context) {
9173
+ const result = await this.branchSession(
9174
+ sessionId,
9175
+ {
9176
+ name: req.name,
9177
+ sourceType: "side_task",
9178
+ sourceId: sessionId,
9179
+ replayInheritedHistory: false
9180
+ },
9181
+ context
9182
+ );
9183
+ const { forkedFrom: _forkedFrom, ...sideTask } = result;
9184
+ return {
9185
+ ...sideTask,
9186
+ parentSessionId: sessionId
9187
+ };
9188
+ },
9081
9189
  async changeSessionCwd(sessionId, req, context) {
9082
9190
  if (shuttingDown) throw new Error("AcpSessionBridge is shutting down");
9083
9191
  const entry = byId.get(sessionId);
@@ -9105,6 +9213,7 @@ function createAcpSessionBridge(opts) {
9105
9213
  `changeSessionCwd: unexpected response shape from agent: ${JSON.stringify(raw)}`
9106
9214
  );
9107
9215
  }
9216
+ entry.effectiveCwd = extResult.newCwd;
9108
9217
  if (extResult.previousCwd !== extResult.newCwd) {
9109
9218
  entry.events.publish({
9110
9219
  type: "session_cwd_changed",
@@ -9122,6 +9231,10 @@ function createAcpSessionBridge(opts) {
9122
9231
  () => void 0,
9123
9232
  () => void 0
9124
9233
  );
9234
+ entry.cwdChangeQueue = cdPromise.then(
9235
+ () => void 0,
9236
+ () => void 0
9237
+ );
9125
9238
  const result = await withTimeout(
9126
9239
  cdPromise,
9127
9240
  Math.max(initTimeoutMs, 3e4),
@@ -9623,44 +9736,79 @@ function createAcpSessionBridge(opts) {
9623
9736
  },
9624
9737
  async refreshExtensionsForAllSessions(data) {
9625
9738
  const sessions = Array.from(byId.values());
9739
+ const bootstrapRefreshConnections = /* @__PURE__ */ new Set();
9740
+ const refreshSession = /* @__PURE__ */ __name(async (entry, refreshBootstrap) => {
9741
+ let inFlight = inFlightExtensionRefreshes.get(entry.sessionId);
9742
+ if (!inFlight || inFlight.connection !== entry.connection || refreshBootstrap && !inFlight.refreshBootstrap) {
9743
+ const promise = (async () => {
9744
+ await entry.connection.extMethod(
9745
+ SERVE_CONTROL_EXT_METHODS.workspaceExtensionsRefresh,
9746
+ {
9747
+ sessionId: entry.sessionId,
9748
+ ...refreshBootstrap ? {} : { refreshBootstrap: false }
9749
+ }
9750
+ );
9751
+ })();
9752
+ inFlight = {
9753
+ connection: entry.connection,
9754
+ promise,
9755
+ refreshBootstrap
9756
+ };
9757
+ inFlightExtensionRefreshes.set(entry.sessionId, inFlight);
9758
+ const clear = /* @__PURE__ */ __name(() => {
9759
+ if (inFlightExtensionRefreshes.get(entry.sessionId) === inFlight) {
9760
+ inFlightExtensionRefreshes.delete(entry.sessionId);
9761
+ }
9762
+ }, "clear");
9763
+ void promise.then(clear, clear);
9764
+ }
9765
+ await Promise.race([
9766
+ withTimeout(
9767
+ inFlight.promise,
9768
+ 3e4,
9769
+ SERVE_CONTROL_EXT_METHODS.workspaceExtensionsRefresh
9770
+ ),
9771
+ getTransportClosedReject(entry)
9772
+ ]);
9773
+ }, "refreshSession");
9626
9774
  const results = await Promise.all(
9627
9775
  sessions.map(async (entry) => {
9628
9776
  const info = channelInfoForEntry(entry);
9629
9777
  if (!info || info.isDying) {
9630
- return { refreshed: 0, failed: 0 };
9778
+ return {
9779
+ refreshed: 0,
9780
+ failed: 0,
9781
+ entry,
9782
+ refreshBootstrap: false
9783
+ };
9631
9784
  }
9785
+ const refreshBootstrap = !bootstrapRefreshConnections.has(
9786
+ entry.connection
9787
+ );
9788
+ bootstrapRefreshConnections.add(entry.connection);
9632
9789
  try {
9633
- let inFlight = inFlightExtensionRefreshes.get(entry.sessionId);
9634
- if (!inFlight || inFlight.connection !== entry.connection) {
9635
- const promise = (async () => {
9636
- await entry.connection.extMethod(
9637
- SERVE_CONTROL_EXT_METHODS.workspaceExtensionsRefresh,
9638
- { sessionId: entry.sessionId }
9639
- );
9640
- })();
9641
- inFlight = { connection: entry.connection, promise };
9642
- inFlightExtensionRefreshes.set(entry.sessionId, inFlight);
9643
- const clear = /* @__PURE__ */ __name(() => {
9644
- if (inFlightExtensionRefreshes.get(entry.sessionId) === inFlight) {
9645
- inFlightExtensionRefreshes.delete(entry.sessionId);
9646
- }
9647
- }, "clear");
9648
- void promise.then(clear, clear);
9649
- }
9650
- await Promise.race([
9651
- withTimeout(
9652
- inFlight.promise,
9653
- 3e4,
9654
- SERVE_CONTROL_EXT_METHODS.workspaceExtensionsRefresh
9655
- ),
9656
- getTransportClosedReject(entry)
9657
- ]);
9658
- return { refreshed: 1, failed: 0 };
9790
+ await refreshSession(entry, refreshBootstrap);
9791
+ return { refreshed: 1, failed: 0, entry, refreshBootstrap };
9659
9792
  } catch (err) {
9660
9793
  writeServeDebugLine(
9661
9794
  `refreshExtensions: session ${entry.sessionId} failed: ${err instanceof Error ? err.message : String(err)}`
9662
9795
  );
9663
- return { refreshed: 0, failed: 1 };
9796
+ return { refreshed: 0, failed: 1, entry, refreshBootstrap };
9797
+ }
9798
+ })
9799
+ );
9800
+ await Promise.all(
9801
+ results.filter((result) => result.failed > 0 && result.refreshBootstrap).map(async (failedBootstrap) => {
9802
+ const retry = results.find(
9803
+ (result) => result.refreshed > 0 && result.entry.connection === failedBootstrap.entry.connection
9804
+ );
9805
+ if (!retry) return;
9806
+ try {
9807
+ await refreshSession(retry.entry, true);
9808
+ } catch (err) {
9809
+ writeServeDebugLine(
9810
+ `refreshExtensions: bootstrap retry via session ${retry.entry.sessionId} failed: ${err instanceof Error ? err.message : String(err)}`
9811
+ );
9664
9812
  }
9665
9813
  })
9666
9814
  );
@@ -10097,7 +10245,24 @@ function createAcpSessionBridge(opts) {
10097
10245
  if (signal?.aborted) {
10098
10246
  return { exitCode: null, output: "", aborted: true };
10099
10247
  }
10100
- const cwd = entry.workspaceCwd;
10248
+ let abortResolve;
10249
+ const onAbort = /* @__PURE__ */ __name(() => abortResolve?.(), "onAbort");
10250
+ try {
10251
+ await Promise.race([
10252
+ entry.cwdChangeQueue,
10253
+ new Promise((resolve2) => {
10254
+ abortResolve = resolve2;
10255
+ if (signal?.aborted) return resolve2();
10256
+ signal?.addEventListener("abort", onAbort, { once: true });
10257
+ })
10258
+ ]);
10259
+ } finally {
10260
+ signal?.removeEventListener("abort", onAbort);
10261
+ }
10262
+ if (signal?.aborted) {
10263
+ return { exitCode: null, output: "", aborted: true };
10264
+ }
10265
+ const cwd = entry.effectiveCwd;
10101
10266
  entry.events.publish({
10102
10267
  type: "user_shell_command",
10103
10268
  data: { sessionId, command, cwd },
@@ -10840,6 +11005,7 @@ var createHttpAcpBridge = createAcpSessionBridge;
10840
11005
  export {
10841
11006
  SessionArtifactValidationError,
10842
11007
  SessionArtifactAuthorizationError,
11008
+ SESSION_SOURCE_META_KEY,
10843
11009
  parseSessionSource,
10844
11010
  extractErrorMessage,
10845
11011
  extractErrorCode,
@@ -447,12 +447,15 @@ function escapePath(filePath) {
447
447
  return result;
448
448
  }
449
449
  __name(escapePath, "escapePath");
450
+ function unescapeShellSpecials(value) {
451
+ return value.replace(UNESCAPE_REGEX, "$1");
452
+ }
453
+ __name(unescapeShellSpecials, "unescapeShellSpecials");
450
454
  function unescapePath(filePath) {
451
455
  if (os.platform() === "win32") {
452
456
  return filePath;
453
457
  }
454
- const unescaped = filePath.replace(UNESCAPE_REGEX, "$1");
455
- return unescaped;
458
+ return unescapeShellSpecials(filePath);
456
459
  }
457
460
  __name(unescapePath, "unescapePath");
458
461
  function getProjectHash(projectRoot) {
@@ -612,8 +615,20 @@ var Storage = class _Storage {
612
615
  * This is used to isolate runtime output paths between concurrent sessions.
613
616
  */
614
617
  static runWithRuntimeBaseDir(dir, cwd, fn) {
618
+ if (_Storage.runtimeBaseDirContext.getStore()?.pinned) {
619
+ return fn();
620
+ }
615
621
  const resolved = _Storage.resolveRuntimeBaseDir(dir, cwd);
616
- return _Storage.runtimeBaseDirContext.run(resolved, fn);
622
+ return _Storage.runtimeBaseDirContext.run(
623
+ { dir: resolved, pinned: false },
624
+ fn
625
+ );
626
+ }
627
+ static runWithResolvedRuntimeBaseDir(dir, fn) {
628
+ return _Storage.runtimeBaseDirContext.run(
629
+ { dir: path2.resolve(dir), pinned: true },
630
+ fn
631
+ );
617
632
  }
618
633
  static hasRuntimeBaseDirContext() {
619
634
  return _Storage.runtimeBaseDirContext.getStore() !== void 0;
@@ -622,17 +637,20 @@ var Storage = class _Storage {
622
637
  * Returns the base directory for all runtime output (temp files, debug logs,
623
638
  * session data, todos, insights, etc.).
624
639
  *
625
- * Priority: QWEN_RUNTIME_DIR env var > setRuntimeBaseDir() value > getGlobalQwenDir()
640
+ * Priority: pinned runtime context > QWEN_RUNTIME_DIR env var > configurable context > setRuntimeBaseDir() value > getGlobalQwenDir()
626
641
  * @returns Absolute path to the runtime output base directory
627
642
  */
628
643
  static getRuntimeBaseDir() {
644
+ const contextualDir = _Storage.runtimeBaseDirContext.getStore();
645
+ if (contextualDir?.pinned) {
646
+ return contextualDir.dir ?? _Storage.getGlobalQwenDir();
647
+ }
629
648
  const envDir = process.env["QWEN_RUNTIME_DIR"];
630
649
  if (envDir) {
631
650
  return _Storage.resolveRuntimeBaseDir(envDir) ?? _Storage.getGlobalQwenDir();
632
651
  }
633
- const contextualDir = _Storage.runtimeBaseDirContext.getStore();
634
652
  if (contextualDir !== void 0) {
635
- return contextualDir ?? _Storage.getGlobalQwenDir();
653
+ return contextualDir.dir ?? _Storage.getGlobalQwenDir();
636
654
  }
637
655
  if (_Storage.runtimeBaseDir) {
638
656
  return _Storage.runtimeBaseDir;
@@ -1112,6 +1130,7 @@ export {
1112
1130
  makeRelative,
1113
1131
  formatDisplayPath,
1114
1132
  escapePath,
1133
+ unescapeShellSpecials,
1115
1134
  unescapePath,
1116
1135
  getProjectHash,
1117
1136
  sanitizeCwd,
@@ -9,16 +9,6 @@ import {
9
9
 
10
10
  // packages/cli/src/ui/utils/formatters.ts
11
11
  init_esbuild_shims();
12
- var formatMemoryUsage = /* @__PURE__ */ __name((bytes) => {
13
- const gb = bytes / (1024 * 1024 * 1024);
14
- if (bytes < 1024 * 1024) {
15
- return `${(bytes / 1024).toFixed(1)} KB`;
16
- }
17
- if (bytes < 1024 * 1024 * 1024) {
18
- return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;
19
- }
20
- return `${gb.toFixed(2)} GB`;
21
- }, "formatMemoryUsage");
22
12
  var formatRelativeTime = /* @__PURE__ */ __name((timestamp) => {
23
13
  const now = Date.now();
24
14
  const diffMs = now - timestamp;
@@ -94,7 +84,6 @@ var formatDuration = /* @__PURE__ */ __name((milliseconds, options) => {
94
84
  }, "formatDuration");
95
85
 
96
86
  export {
97
- formatMemoryUsage,
98
87
  formatRelativeTime,
99
88
  formatTokenCount,
100
89
  formatDuration