@qwen-code/qwen-code 0.23.2-preview.0 → 0.23.3-nightly.20260910.c46cb85cf2

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 (409) hide show
  1. package/README.md +35 -15
  2. package/bundled/computer-use/SKILL.md +1 -1
  3. package/bundled/goal-draft/SKILL.md +2 -2
  4. package/bundled/qc-helper/docs/configuration/auth.md +1 -1
  5. package/bundled/qc-helper/docs/configuration/model-providers.md +76 -34
  6. package/bundled/qc-helper/docs/configuration/settings.md +5 -3
  7. package/bundled/qc-helper/docs/features/_meta.ts +1 -0
  8. package/bundled/qc-helper/docs/features/channels/dingtalk.md +1 -21
  9. package/bundled/qc-helper/docs/features/channels/dws.md +7 -1
  10. package/bundled/qc-helper/docs/features/channels/github.md +1 -9
  11. package/bundled/qc-helper/docs/features/channels/overview.md +30 -56
  12. package/bundled/qc-helper/docs/features/channels/qqbot.md +1 -2
  13. package/bundled/qc-helper/docs/features/commands.md +105 -18
  14. package/bundled/qc-helper/docs/features/computer-use.md +1 -1
  15. package/bundled/qc-helper/docs/features/cross-session-protocol.md +320 -0
  16. package/bundled/qc-helper/docs/features/goals.md +5 -3
  17. package/bundled/qc-helper/docs/features/hooks.md +14 -13
  18. package/bundled/qc-helper/docs/features/sub-agents.md +8 -0
  19. package/bundled/qc-helper/docs/qwen-serve.md +84 -53
  20. package/bundled/review/SKILL.md +82 -79
  21. package/bundled/review/references/posting.md +31 -14
  22. package/chunks/{MaxSizedBox-ZZJT3PJF.js → MaxSizedBox-UZW24XUX.js} +63 -55
  23. package/chunks/{StandaloneSessionPicker-DIOSZTMX.js → StandaloneSessionPicker-IDK7NAZL.js} +85 -77
  24. package/chunks/{acp-startup-profiler-KEU6VAYR.js → acp-startup-profiler-ARO4II44.js} +2 -2
  25. package/chunks/acp-subagent-executor-7TLJGISS.js +919 -0
  26. package/chunks/{acpAgent-62JUP5A7.js → acpAgent-YRCNNIIU.js} +939 -306
  27. package/chunks/{agent-NLPEQQDZ.js → agent-SGU5EE7U.js} +47 -41
  28. package/chunks/{agent-headless-Y2GR5F2Q.js → agent-headless-JVYBLNLT.js} +47 -41
  29. package/chunks/{anthropicContentGenerator-I7LQZH26.js → anthropicContentGenerator-SGIR5IKF.js} +68 -36
  30. package/chunks/{artifact-tool-P52OKKEF.js → artifact-tool-PMYZCYNH.js} +2 -2
  31. package/chunks/{askUserQuestion-I5W5S3D6.js → askUserQuestion-4M4YYIB4.js} +2 -2
  32. package/chunks/{bridge-Q66BD62H.js → bridge-YF6NYRPZ.js} +68 -60
  33. package/chunks/{ca-KC2AISNS.js → ca-MX3WCEEG.js} +1 -1
  34. package/chunks/{channel-management-service-TRTLQTSV.js → channel-management-service-E4HTMU7T.js} +9 -9
  35. package/chunks/{channel-settings-store-R5STFWUW.js → channel-settings-store-FZ5VKHQD.js} +74 -66
  36. package/chunks/{channel-worker-group-PIYPVCTF.js → channel-worker-group-X6WH4XWF.js} +9 -9
  37. package/chunks/{channel-worker-manager-FQHEDTD2.js → channel-worker-manager-SICFJDPJ.js} +19 -10
  38. package/chunks/{channel-worker-supervisor-XJPZZ3VK.js → channel-worker-supervisor-HSFAKML6.js} +6 -6
  39. package/chunks/{chunk-CLKE4IY3.js → chunk-2SZH22YO.js} +1 -1
  40. package/chunks/{chunk-OIPUQE3S.js → chunk-34ZYDM3F.js} +27 -12
  41. package/chunks/{chunk-HIXUUCGY.js → chunk-36HCNKDS.js} +1 -1
  42. package/chunks/{chunk-6YEOCHSE.js → chunk-3FPYT6QC.js} +101 -31
  43. package/chunks/{chunk-NFIDVZND.js → chunk-3I7W2POO.js} +3 -22
  44. package/chunks/{chunk-W3ONSAYO.js → chunk-3VPFA6L2.js} +3 -3
  45. package/chunks/chunk-532WHF4F.js +127 -0
  46. package/chunks/{chunk-J3TJH52D.js → chunk-5FFAUU4T.js} +1 -1
  47. package/chunks/{chunk-G5QLLD53.js → chunk-5FKZ7KFQ.js} +1864 -35
  48. package/chunks/{chunk-B44JBZBB.js → chunk-5GLDOLNQ.js} +132 -27
  49. package/chunks/{chunk-ORREXWOM.js → chunk-5ZJ3KK5J.js} +5 -5
  50. package/chunks/{chunk-2OR32P5M.js → chunk-6EDWSKN4.js} +125 -10
  51. package/chunks/{chunk-EA4NFWVG.js → chunk-6EOMQPTS.js} +4 -4
  52. package/chunks/{chunk-45ROPFQY.js → chunk-6NONRGYX.js} +1 -1
  53. package/chunks/{chunk-EHTKOO6W.js → chunk-6UK77U7D.js} +46 -3
  54. package/chunks/{chunk-QXXBW2G4.js → chunk-72BGC7RT.js} +4 -4
  55. package/chunks/{chunk-CRZBDVP2.js → chunk-74JEYK2C.js} +10 -10
  56. package/chunks/{chunk-B54PFQS5.js → chunk-7CLLH5TI.js} +1 -1
  57. package/chunks/{chunk-CG2PDIGD.js → chunk-7XM6KEVW.js} +1 -1
  58. package/chunks/{chunk-CALNF3Z3.js → chunk-7XVQNDFB.js} +1 -1
  59. package/chunks/{chunk-TK4XHPKW.js → chunk-7ZKDPTYO.js} +2 -2
  60. package/chunks/{chunk-ZIPYCXQP.js → chunk-7ZVIGDZF.js} +1 -1
  61. package/chunks/chunk-AEY27Z35.js +1411 -0
  62. package/chunks/{chunk-WIRYFL2L.js → chunk-ATH66AEU.js} +64 -59
  63. package/chunks/{chunk-33MLFMCL.js → chunk-AW2SIT3B.js} +3 -3
  64. package/chunks/{chunk-4BLTSTF6.js → chunk-AWMJRE5N.js} +4 -4
  65. package/chunks/chunk-AYEJOTIU.js +43 -0
  66. package/chunks/{chunk-M73KHGNR.js → chunk-B2TGBZXY.js} +420 -227
  67. package/chunks/{chunk-XDNFODER.js → chunk-B6BDT4RX.js} +1 -1
  68. package/chunks/{chunk-WZ4YULVF.js → chunk-BHR6IN2X.js} +3251 -974
  69. package/chunks/{chunk-GXIHBIHC.js → chunk-BI3WSRQE.js} +61 -72
  70. package/chunks/{chunk-NVS4Z6GT.js → chunk-BQOP3K76.js} +1 -1
  71. package/chunks/{chunk-R2266LQ5.js → chunk-BTWGOKHU.js} +2 -2
  72. package/chunks/{process-registry-OAEG6WGC.js → chunk-BYUAT5OC.js} +1 -0
  73. package/chunks/{chunk-XVTCSVBK.js → chunk-C4NLHK7X.js} +227 -298
  74. package/chunks/{chunk-NOO4QFXM.js → chunk-C75BXMPM.js} +1 -3
  75. package/chunks/chunk-CAAMI77K.js +937 -0
  76. package/chunks/chunk-CF5KXZZX.js +150 -0
  77. package/chunks/{chunk-SOA4HKRJ.js → chunk-CGKEUUYG.js} +2 -2
  78. package/chunks/{chunk-BF3RUIVP.js → chunk-CH2YDT6X.js} +36 -38
  79. package/chunks/{chunk-5HBA2Z7V.js → chunk-CJ3DHN5I.js} +3 -3
  80. package/chunks/{chunk-3BTHHXXE.js → chunk-CSHX5ZC4.js} +1 -1
  81. package/chunks/{chunk-UYDQYDW2.js → chunk-CUK6F5UF.js} +1 -1
  82. package/chunks/{chunk-RPFJJ33Z.js → chunk-DLH7YIX6.js} +3 -3
  83. package/chunks/{chunk-L6ZME3W7.js → chunk-DMX7RF6E.js} +1 -1
  84. package/chunks/{chunk-TRWQQBVH.js → chunk-DTNV6UZY.js} +1 -1
  85. package/chunks/{chunk-FDOGGKAA.js → chunk-E4UEO3XM.js} +5 -2
  86. package/chunks/{chunk-RN6V5HKE.js → chunk-E5GQNSJY.js} +3 -3
  87. package/chunks/chunk-ELRMZTPF.js +374 -0
  88. package/chunks/chunk-ERU3SDXT.js +27 -0
  89. package/chunks/{chunk-O2FEO2CB.js → chunk-EUURTIV6.js} +18 -2
  90. package/chunks/{chunk-4HOEU2OR.js → chunk-EWJTAP3Y.js} +1 -19
  91. package/chunks/{chunk-ZELCTN6Y.js → chunk-F23YN37B.js} +10 -0
  92. package/chunks/{chunk-BL6B2QS2.js → chunk-F2RKL5I2.js} +809 -1195
  93. package/chunks/{chunk-J4ECGDA3.js → chunk-F45SKYIQ.js} +3 -3
  94. package/chunks/{chunk-5WC2ECUK.js → chunk-FCQJLMA2.js} +114 -8
  95. package/chunks/{chunk-4JKLPTV6.js → chunk-FGRDUDCI.js} +13 -6
  96. package/chunks/{chunk-ZUNWKOAP.js → chunk-FGV2QEAO.js} +5 -27
  97. package/chunks/{chunk-4VY3ITHR.js → chunk-FN3JNDRU.js} +3 -3
  98. package/chunks/{chunk-XI7RST4D.js → chunk-FRVV5SSD.js} +2 -2
  99. package/chunks/{chunk-UXDVUFKU.js → chunk-FYZ5NZ3V.js} +2 -20
  100. package/chunks/{chunk-ALMR3E6Q.js → chunk-GDWE23OR.js} +3 -3
  101. package/chunks/{chunk-W7PXLIZJ.js → chunk-GP47UR3M.js} +6 -6
  102. package/chunks/{chunk-LNYV4GXX.js → chunk-GSKX53AN.js} +0 -139
  103. package/chunks/{chunk-MA5OUNN6.js → chunk-HG46TTAG.js} +1 -1
  104. package/chunks/{chunk-FETY36NQ.js → chunk-HGEUHUEV.js} +1 -1
  105. package/chunks/{chunk-UULHYZ4W.js → chunk-HL2DQG3Y.js} +148 -23
  106. package/chunks/{chunk-E6TI726I.js → chunk-HUXPEUFL.js} +1 -1
  107. package/chunks/{chunk-5DQ4YTIZ.js → chunk-HZTXKVSV.js} +1 -1
  108. package/chunks/{chunk-LYT2OU7D.js → chunk-IAEXTMED.js} +1 -1
  109. package/chunks/{chunk-CPJRFFPH.js → chunk-IFHJIEMN.js} +576 -169
  110. package/chunks/{chunk-IW6RQPQB.js → chunk-IJOS26LH.js} +1 -3
  111. package/chunks/{chunk-ORFIYTI2.js → chunk-IK2MWJP5.js} +1 -1
  112. package/chunks/{chunk-MWEF5MUK.js → chunk-IOUBOANU.js} +42 -13
  113. package/chunks/{chunk-KA5HR3G2.js → chunk-IUVIBDKU.js} +2 -2
  114. package/chunks/{chunk-PQWM4SX2.js → chunk-J2RNOJRV.js} +2 -2
  115. package/chunks/{chunk-VHPG7BH6.js → chunk-J5PYQVD2.js} +2 -2
  116. package/chunks/{chunk-JDPBJIKI.js → chunk-JDEW3V5B.js} +1 -1
  117. package/chunks/{chunk-RX3FYFCN.js → chunk-JEMDIKGQ.js} +7 -7
  118. package/chunks/chunk-JL6APGBX.js +43 -0
  119. package/chunks/{chunk-UHUT4IDM.js → chunk-JOMCZWX7.js} +9 -15
  120. package/chunks/{chunk-43CI6YWJ.js → chunk-JV5YASQA.js} +2777 -2151
  121. package/chunks/{chunk-N6S3NUYJ.js → chunk-JXNIF2O5.js} +1 -1
  122. package/chunks/chunk-K2OJUPOE.js +78 -0
  123. package/chunks/{chunk-QLM7D7W3.js → chunk-KFGPNCCY.js} +8 -8
  124. package/chunks/{chunk-7RXOEUFF.js → chunk-KHIBLKNK.js} +1 -1
  125. package/chunks/{chunk-5GD7LYOH.js → chunk-KVBNJ4K2.js} +5 -5
  126. package/chunks/{chunk-QJAFSFYA.js → chunk-KZ2CU2LH.js} +1 -1
  127. package/chunks/{chunk-DCPRCDSR.js → chunk-L2KF7HUE.js} +6 -6
  128. package/chunks/{chunk-4ALNJDHL.js → chunk-L3DTX6U4.js} +3 -1
  129. package/chunks/{chunk-3SH53ANB.js → chunk-LAP7X6EC.js} +12 -0
  130. package/chunks/{chunk-GM44O6F7.js → chunk-LEGNDA46.js} +1 -1
  131. package/chunks/{chunk-WXFCI3O5.js → chunk-LG5Y4OWO.js} +2 -2
  132. package/chunks/{chunk-3LPJ776W.js → chunk-LILGKQ4B.js} +10 -7
  133. package/chunks/{chunk-LBKYQ33T.js → chunk-LIR7YS2O.js} +18 -12
  134. package/chunks/{chunk-5Z4FCEPY.js → chunk-LK2WUCDQ.js} +625 -119
  135. package/chunks/{chunk-W673V2H3.js → chunk-LY2GK2PR.js} +4 -4
  136. package/chunks/{chunk-PQSCGZT2.js → chunk-MOS5OAOG.js} +36 -10
  137. package/chunks/chunk-MXOALJIL.js +691 -0
  138. package/chunks/chunk-NFXXBWSE.js +463 -0
  139. package/chunks/chunk-NUQ4GK5I.js +315 -0
  140. package/chunks/{chunk-J3VZF2AL.js → chunk-NUQVB25K.js} +2 -2
  141. package/chunks/{chunk-GNY7B3CA.js → chunk-NVIBH7WS.js} +1 -1
  142. package/chunks/{chunk-M6YLOETP.js → chunk-O3MKRN2I.js} +4 -4
  143. package/chunks/{chunk-ISPBBKJN.js → chunk-ONGZNOIP.js} +7 -2
  144. package/chunks/{chunk-Q2F43WTJ.js → chunk-OOLSYRZ7.js} +36 -19
  145. package/chunks/{chunk-63ACHB2H.js → chunk-PIGUW2U2.js} +197 -28
  146. package/chunks/{chunk-QAZ2MGYT.js → chunk-PLLIWEM3.js} +2 -2
  147. package/chunks/{chunk-ULY4ISY2.js → chunk-PMS4FVLY.js} +23 -8
  148. package/chunks/{chunk-NB3NDQQK.js → chunk-Q2XLNLAV.js} +1 -1
  149. package/chunks/{chunk-6GRDHIVI.js → chunk-Q6HXLBZF.js} +12 -12
  150. package/chunks/{chunk-EUXF6URV.js → chunk-QPWZX4ZV.js} +32 -34
  151. package/chunks/{chunk-DTB5BXRG.js → chunk-RJZTX2OF.js} +30 -17
  152. package/chunks/{chunk-PQEISIKS.js → chunk-SAH4BD2J.js} +0 -67
  153. package/chunks/{chunk-LUVXLLMS.js → chunk-SAWPURIU.js} +2 -2
  154. package/chunks/{chunk-WZS3X663.js → chunk-SNZWDV67.js} +43 -18
  155. package/chunks/{chunk-IRKQ4YYX.js → chunk-SVWWF5TZ.js} +29 -1
  156. package/chunks/{chunk-5VZFJTL2.js → chunk-SXEE6PND.js} +2 -2
  157. package/chunks/{chunk-743XE7N7.js → chunk-T4JVQR7Z.js} +2 -2
  158. package/chunks/{chunk-6RZX2HIH.js → chunk-TBEXLLAO.js} +2 -2
  159. package/chunks/{chunk-LN3WBOKU.js → chunk-TP2DUOB6.js} +8 -8
  160. package/chunks/{chunk-MWIO7MF6.js → chunk-TP6FYVQT.js} +2 -0
  161. package/chunks/{chunk-HRPFBHW7.js → chunk-TPKQIA7G.js} +1 -0
  162. package/chunks/{chunk-VH764G6B.js → chunk-TWC3FHUI.js} +4 -4
  163. package/chunks/{chunk-H3Q3RSKZ.js → chunk-U7O65WKL.js} +1 -1
  164. package/chunks/{chunk-IUJLW6ZI.js → chunk-UBEYS536.js} +7 -7
  165. package/chunks/{chunk-VEQBVJYH.js → chunk-UGS62IR2.js} +3 -3
  166. package/chunks/{chunk-VF6D6EGV.js → chunk-UKMWZ5NS.js} +109 -842
  167. package/chunks/{chunk-7GZCCHJL.js → chunk-VHKOULAI.js} +6 -5
  168. package/chunks/{chunk-ODBNTMZW.js → chunk-VID4BW52.js} +97 -86
  169. package/chunks/{chunk-7L35FKPF.js → chunk-VLZOU6UH.js} +7 -7
  170. package/chunks/{chunk-XBLG564H.js → chunk-VTBPMLRO.js} +12 -12
  171. package/chunks/{chunk-QTNCGZHQ.js → chunk-VX63RJXE.js} +9 -0
  172. package/chunks/{chunk-7VEYUF3N.js → chunk-W5ZQMAEM.js} +1 -1
  173. package/chunks/{chunk-XQ4RDO5B.js → chunk-WBCPROWX.js} +1 -1
  174. package/chunks/{chunk-RDV4NLI3.js → chunk-WS7MOFK6.js} +3 -3
  175. package/chunks/{chunk-FV4DM2M4.js → chunk-WXFK4MH7.js} +32 -12
  176. package/chunks/{chunk-XAXTQURR.js → chunk-WY4N6KS7.js} +4 -4
  177. package/chunks/{chunk-CABDNUJ4.js → chunk-XDQUDARC.js} +11 -14
  178. package/chunks/{chunk-YHDGABDC.js → chunk-XKBFYTCD.js} +1 -1
  179. package/chunks/{chunk-2EKVPSIJ.js → chunk-Y2MYW47X.js} +1 -1
  180. package/chunks/{chunk-Y6ZWXM44.js → chunk-YIU5PEAT.js} +2 -2
  181. package/chunks/{chunk-PSPAM24S.js → chunk-YKK2XXHF.js} +4 -0
  182. package/chunks/{chunk-HZ2HUXX7.js → chunk-YS2ZJSOA.js} +29 -12
  183. package/chunks/{chunk-OFVAS4AR.js → chunk-ZGQIIGNQ.js} +2 -2
  184. package/chunks/{chunk-HNLMYDQE.js → chunk-ZHECLGA6.js} +2 -4
  185. package/chunks/{chunk-XBVNNDPK.js → chunk-ZHKTKHMO.js} +8 -1
  186. package/chunks/{chunk-OWCFKIFQ.js → chunk-ZKYR7QS4.js} +1 -1
  187. package/chunks/{chunk-YZTGGCEE.js → chunk-ZKZHSB5W.js} +1 -1
  188. package/chunks/{chunk-ERXNTINK.js → chunk-ZT6EPPBY.js} +1 -1
  189. package/chunks/{chunk-565U2ANU.js → chunk-ZTTC7T4X.js} +1 -1
  190. package/chunks/{chunk-MMMA36MN.js → chunk-ZUQVZTWG.js} +3 -3
  191. package/chunks/{chunk-7OCIQNKX.js → chunk-ZW2EUO2A.js} +1 -1
  192. package/chunks/{config-utils-37FHWPTP.js → config-utils-S5LFS4RN.js} +67 -59
  193. package/chunks/{contextCommand-R4JUBV5N.js → contextCommand-XXKZMMSQ.js} +64 -56
  194. package/chunks/{core-runtime-6U4OXU5C.js → core-runtime-YGUA42AZ.js} +68 -59
  195. package/chunks/{create-sub-session-LLUYAGZN.js → create-sub-session-SEK6KCYR.js} +64 -56
  196. package/chunks/{create-sub-session-TGIX63YU.js → create-sub-session-TIGCFGCS.js} +2 -2
  197. package/chunks/{cron-create-GTPVMJCF.js → cron-create-AKWX67FO.js} +1 -1
  198. package/chunks/{cron-delete-ZBK27Z4K.js → cron-delete-XPB6IYZJ.js} +1 -1
  199. package/chunks/{cron-list-KTFKFDKC.js → cron-list-XBKO4WU5.js} +1 -1
  200. package/chunks/{daemon-UI6SQSBV.js → daemon-G5TYKZD6.js} +2 -2
  201. package/chunks/{daemon-git-worktree-guard-O2UTNFJC.js → daemon-git-worktree-guard-3AWINPPX.js} +65 -57
  202. package/chunks/{daemon-status-provider-7GMAKSTX.js → daemon-status-provider-RTKHKUFJ.js} +73 -65
  203. package/chunks/{daemon-trust-policy-VNP76VMO.js → daemon-trust-policy-6YQOC7B6.js} +69 -61
  204. package/chunks/{daemon-trust-policy-monitor-TD5O3BZA.js → daemon-trust-policy-monitor-EN5L23GS.js} +69 -61
  205. package/chunks/{de-UU2YTO37.js → de-OOLZAU2U.js} +1 -1
  206. package/chunks/{deferred-core-runtime-NJM63YJS.js → deferred-core-runtime-JPLQRVZO.js} +62 -54
  207. package/chunks/{display-image-CTNHJRZC.js → display-image-NAH3AZ63.js} +3 -3
  208. package/chunks/{dist-STAGIFNB.js → dist-3BJVSJ7D.js} +389 -724
  209. package/chunks/{dist-OR2ZQTXZ.js → dist-65Q3TRLH.js} +16 -36
  210. package/chunks/{dist-24TCWK5H.js → dist-HX2LG76F.js} +233 -35
  211. package/chunks/{dist-XJ25G6OH.js → dist-J7PDFK53.js} +13 -38
  212. package/chunks/{dist-WZTUKIDR.js → dist-JCXKXRH6.js} +3 -6
  213. package/chunks/{dist-M4CBX53H.js → dist-LHGMHIDK.js} +2 -6
  214. package/chunks/{dist-5I4HLUTO.js → dist-QPTIRE3U.js} +4 -13
  215. package/chunks/{dist-FDISN4AK.js → dist-SBK33YLC.js} +5 -40
  216. package/chunks/{dist-NQ2636VT.js → dist-WMFHZG3R.js} +2 -5
  217. package/chunks/{edit-GL7OA6RV.js → edit-QXJZIWRQ.js} +50 -44
  218. package/chunks/{en-YJNRUQG4.js → en-7BZ2OZKH.js} +2 -1
  219. package/chunks/{enter-worktree-YFTKHXHZ.js → enter-worktree-54L5QJ3N.js} +4 -4
  220. package/chunks/{enterPlanMode-VC4BCSZE.js → enterPlanMode-2ITCVQ5N.js} +47 -41
  221. package/chunks/{environment-BI6IBAZJ.js → environment-URPO5ORZ.js} +65 -57
  222. package/chunks/{errors-D6G2ZM2R.js → errors-TDUYLEKI.js} +64 -56
  223. package/chunks/{exit-worktree-NF2XEMES.js → exit-worktree-EORJDKDS.js} +4 -4
  224. package/chunks/{exitPlanMode-DX446CA6.js → exitPlanMode-RA7KMUEW.js} +47 -41
  225. package/chunks/{fast-path-MAYDLJIP.js → fast-path-Q2JYP64P.js} +7 -7
  226. package/chunks/{fast-path-settings-SATXY3PD.js → fast-path-settings-GTHZLVSS.js} +2 -2
  227. package/chunks/{fr-HKNWVXRJ.js → fr-JJWM2HUS.js} +1 -1
  228. package/chunks/{glob-TVKRFY36.js → glob-VHSV4BKE.js} +50 -44
  229. package/chunks/{goal-tools-CA6YANRN.js → goal-tools-5FIE56CK.js} +53 -43
  230. package/chunks/{grep-BLHF2S5D.js → grep-3PKFKLCA.js} +2 -2
  231. package/chunks/{handleAutoUpdate-AW4ZAHON.js → handleAutoUpdate-7FZFLKNZ.js} +65 -57
  232. package/chunks/{i18n-IH5CRAY7.js → i18n-NTFQDWKR.js} +63 -55
  233. package/chunks/{image-gen-XP4NNIYG.js → image-gen-TF3IQWSH.js} +7 -6
  234. package/chunks/{initializer-UBR37ZNM.js → initializer-LB3T635H.js} +69 -61
  235. package/chunks/{installationInfo-Y52756EC.js → installationInfo-KRO433ZG.js} +62 -54
  236. package/chunks/{ja-GJS5RZGU.js → ja-L67TXFDJ.js} +1 -1
  237. package/chunks/{list-7V5JDZPO.js → list-NEP3WPZ7.js} +72 -64
  238. package/chunks/{list-agents-I5TRH3J7.js → list-agents-QLDXS5OD.js} +18 -8
  239. package/chunks/{llm-QDB6JVF5.js → llm-AZEJEIAD.js} +141 -128
  240. package/chunks/{llm-content-generator-EO6MZCEO.js → llm-content-generator-KWXFHBR3.js} +6 -5
  241. package/chunks/{loadedSettingsAdapter-I3YQKMC4.js → loadedSettingsAdapter-NZORJLSD.js} +69 -61
  242. package/chunks/{loggingContentGenerator-MNXYUGDG.js → loggingContentGenerator-NGHVU6AK.js} +69 -62
  243. package/chunks/{loop-wakeup-HL6XOWI4.js → loop-wakeup-HHMYIC7Z.js} +2 -2
  244. package/chunks/{ls-YV7RKLKY.js → ls-N7ABR6HI.js} +4 -4
  245. package/chunks/{lsp-NO3AMRZT.js → lsp-LTOFWG5P.js} +1 -1
  246. package/chunks/{managed-npm-update-EA3EXPTO.js → managed-npm-update-3LHNBEAG.js} +62 -54
  247. package/chunks/{mcp-QTAJ544Y.js → mcp-4SWJKDX7.js} +69 -61
  248. package/chunks/{monitor-6FQKQOTP.js → monitor-V5EFBZC7.js} +49 -43
  249. package/chunks/{nonInteractiveCli-MRCTZL5X.js → nonInteractiveCli-5UFUBUAT.js} +117 -109
  250. package/chunks/{notebook-edit-BQQCKI7K.js → notebook-edit-ATV46KWD.js} +48 -42
  251. package/chunks/{open-with-auth-D6JD6LDS.js → open-with-auth-6MVIHMXB.js} +1 -1
  252. package/chunks/openai-WX26N5OJ.js +47 -0
  253. package/chunks/{openaiContentGenerator-TTSKXNVH.js → openaiContentGenerator-BKTO5QJK.js} +31 -25
  254. package/chunks/openaiResponsesContentGenerator-RTCAJ5V5.js +1658 -0
  255. package/chunks/{pidfile-KPIS6RIT.js → pidfile-JAIOWPI3.js} +65 -55
  256. package/chunks/process-registry-X6ZCASEN.js +10 -0
  257. package/chunks/{processUtils-ZCASPKK4.js → processUtils-TCQH3LVD.js} +2 -2
  258. package/chunks/{prompt-terminal-ledger-D6HM6TV7.js → prompt-terminal-ledger-BYXHEUHX.js} +63 -55
  259. package/chunks/{pt-FXMYXEUV.js → pt-77SBDL4B.js} +1 -1
  260. package/chunks/{qwenContentGenerator-GGZEFLBD.js → qwenContentGenerator-K5TJK75P.js} +60 -52
  261. package/chunks/{qwenOAuth2-KX6LVYQ3.js → qwenOAuth2-NOXRK323.js} +6 -5
  262. package/chunks/{read-file-VE5GDFLP.js → read-file-DL7GNZD5.js} +11 -9
  263. package/chunks/{read-mcp-resource-D3N75DGF.js → read-mcp-resource-B37WANAQ.js} +1 -1
  264. package/chunks/{record-artifact-Q5CRGJTP.js → record-artifact-OAXWXZ5D.js} +2 -2
  265. package/chunks/record-source-D7R7X3GT.js +22 -0
  266. package/chunks/{report-findings-TJ34R7QK.js → report-findings-AR3VC6EQ.js} +3 -3
  267. package/chunks/{request-shutdown-LRKMTBAD.js → request-shutdown-IKNWTX5M.js} +5 -5
  268. package/chunks/{resumeHistoryUtils-HSSGMYDC.js → resumeHistoryUtils-OYKXZ4YO.js} +68 -60
  269. package/chunks/{ripGrep-SEJE7AA6.js → ripGrep-EOUMIU4K.js} +15 -13
  270. package/chunks/{ru-RMHURE5U.js → ru-UYWHKWF2.js} +1 -1
  271. package/chunks/{run-qwen-serve-OJYVH7N6.js → run-qwen-serve-PPTGWC5B.js} +471 -152
  272. package/chunks/{runtime-KGMQQFJD.js → runtime-5RO22P2N.js} +77 -67
  273. package/chunks/{scheduled-tasks-7H5HWHYD.js → scheduled-tasks-YGERFWLZ.js} +70 -62
  274. package/chunks/{scheduler-BE42AKDG.js → scheduler-S6WU6M3C.js} +64 -56
  275. package/chunks/{sdk-exporters-grpc-MXTVSE3C.js → sdk-exporters-grpc-Y2ZUQDUQ.js} +2 -2
  276. package/chunks/{sdk-exporters-http-7R2ARBPV.js → sdk-exporters-http-VWTF4W6K.js} +3 -3
  277. package/chunks/{sdk-impl-YOLO7LV4.js → sdk-impl-G6FVTBQZ.js} +9 -9
  278. package/chunks/{send-message-AWKUDJBH.js → send-message-TWOGWCBG.js} +13 -10
  279. package/chunks/{serve-KZVKYMSL.js → serve-HT4WOCWS.js} +70 -62
  280. package/chunks/{server-PJRALPJQ.js → server-SWXVPRCS.js} +2977 -617
  281. package/chunks/{session-IHITXU2S.js → session-6DSFUOMO.js} +154 -119
  282. package/chunks/{session-attachments-root-GQ2TUI3Y.js → session-attachments-root-SOZCTQWW.js} +62 -54
  283. package/chunks/{session-pr-refresh-H43LULTE.js → session-pr-refresh-F7XUBQBH.js} +70 -62
  284. package/chunks/{settings-RKEQQDFC.js → settings-SWQH36PO.js} +74 -66
  285. package/chunks/{shell-6PJ444U5.js → shell-XUQL6EYV.js} +47 -41
  286. package/chunks/{skill-Q3UP7B5V.js → skill-HNRDD54C.js} +33 -23
  287. package/chunks/{skill-settings-LZR5YRRW.js → skill-settings-JU72PCII.js} +68 -60
  288. package/chunks/{spawnChannel-WM3DT2BF.js → spawnChannel-7ZVM3GBU.js} +65 -57
  289. package/chunks/{standalone-update-E5474IBI.js → standalone-update-64JQY2LX.js} +64 -56
  290. package/chunks/{start-opentui-ui-WLWZNQ2I.js → start-opentui-ui-RSLBXESU.js} +554 -297
  291. package/chunks/{startInteractiveUI-FBQSGWGO.js → startInteractiveUI-ZDPHD7XE.js} +1282 -1915
  292. package/chunks/{syntheticOutput-D2P5V6RG.js → syntheticOutput-F6F27JMK.js} +2 -2
  293. package/chunks/{task-create-PMAFST2T.js → task-create-Y623TBHB.js} +10 -10
  294. package/chunks/{task-list-R2HSY2NC.js → task-list-FCPEEGWL.js} +3 -3
  295. package/chunks/{task-stop-BFSKRTGV.js → task-stop-QTKZXLPH.js} +1 -1
  296. package/chunks/{task-update-JYC57USF.js → task-update-YLSXF25N.js} +10 -10
  297. package/chunks/{team-create-VIGUFUT4.js → team-create-U52VYSNO.js} +49 -43
  298. package/chunks/{team-delete-CBHVBTPB.js → team-delete-S7TLHZCF.js} +3 -3
  299. package/chunks/{team-plan-approval-HQVZA3MD.js → team-plan-approval-IQ4ADQIK.js} +47 -41
  300. package/chunks/{terminal-image-renderer-LUKNCOVM.js → terminal-image-renderer-ZEMF7LB2.js} +64 -56
  301. package/chunks/{theme-manager-LOENKYLY.js → theme-manager-DK2S2SOX.js} +62 -54
  302. package/chunks/{todoWrite-5ERKFWAK.js → todoWrite-5QI2H2FW.js} +4 -4
  303. package/chunks/{tool-search-ZIFAQCE2.js → tool-search-6U4OQG7K.js} +21 -15
  304. package/chunks/{total-session-admission-FUUJH3QH.js → total-session-admission-BOARHBZU.js} +68 -60
  305. package/chunks/{trustedFolders-C76KYROP.js → trustedFolders-GKQZXZSV.js} +63 -55
  306. package/chunks/{update-relaunch-4G2SRXKX.js → update-relaunch-GLACF7PX.js} +5 -5
  307. package/chunks/{updateCheck-EIZIO7HI.js → updateCheck-NLBSZB4Q.js} +64 -56
  308. package/chunks/{useAutoAcceptIndicator-EAA6KSY4.js → useAutoAcceptIndicator-3X3BYU7H.js} +72 -64
  309. package/chunks/{validateNonInterActiveAuth-BRX22QCN.js → validateNonInterActiveAuth-NE3JLOIR.js} +114 -106
  310. package/chunks/{version-E56RU7PR.js → version-6H5YAT4N.js} +3 -1
  311. package/chunks/{web-fetch-AAUCD7RM.js → web-fetch-RWSO7TTN.js} +15 -13
  312. package/chunks/{web-search-HFUQF44Q.js → web-search-DADI3LV5.js} +560 -322
  313. package/chunks/{web-shell-static-POZHGGXE.js → web-shell-static-CCN4JZEE.js} +5 -4
  314. package/chunks/workflow-LPGCZCIT.js +1224 -0
  315. package/chunks/workspace-providers-status-QBRBEFTO.js +127 -0
  316. package/chunks/{workspace-registration-store-YL7HLYYI.js → workspace-registration-store-WUKTMJPW.js} +3 -2
  317. package/chunks/{workspace-registry-BNRP2ELW.js → workspace-registry-CJV7KVGF.js} +68 -60
  318. package/chunks/{workspace-runtime-coordinator-WKGF7VHS.js → workspace-runtime-coordinator-7LYMFMFF.js} +71 -61
  319. package/chunks/{workspace-service-4MYO72MM.js → workspace-service-HWXZSA4J.js} +75 -67
  320. package/chunks/{workspace-skills-status-SU66TJLZ.js → workspace-skills-status-D6QXUWCC.js} +70 -62
  321. package/chunks/{workspace-trust-reconciler-D5QT7WQB.js → workspace-trust-reconciler-VZX7G7CZ.js} +75 -67
  322. package/chunks/{write-file-NVPQE2AZ.js → write-file-KKHV26YV.js} +49 -43
  323. package/chunks/{zh-VBFCRQBL.js → zh-J2GLI64H.js} +2 -1
  324. package/chunks/{zh-TW-N2TBF2F2.js → zh-TW-TBAICUJQ.js} +2 -1
  325. package/chunks/{zoom-image-RJHC66WG.js → zoom-image-OG7X7KAA.js} +12 -10
  326. package/cli.js +14 -14
  327. package/export-transcript-document.css +1 -0
  328. package/export-transcript-document.js +164 -165
  329. package/locales/ca.js +2 -2
  330. package/locales/de.js +2 -2
  331. package/locales/en.js +3 -2
  332. package/locales/fr.js +2 -2
  333. package/locales/ja.js +2 -2
  334. package/locales/pt.js +2 -2
  335. package/locales/ru.js +2 -2
  336. package/locales/zh-TW.js +3 -2
  337. package/locales/zh.js +3 -2
  338. package/package.json +6 -5
  339. package/web-shell/assets/{abnfDiagram-VCTEODGH-DHc6plZn.js → abnfDiagram-VCTEODGH-NT0lTLRG.js} +1 -1
  340. package/web-shell/assets/{arc-BQ9m8TDV.js → arc-DDqnIMMx.js} +1 -1
  341. package/web-shell/assets/{architectureDiagram-5GKGNRK7-D5ap3oVB.js → architectureDiagram-5GKGNRK7-DfYghE3W.js} +1 -1
  342. package/web-shell/assets/{blockDiagram-NRAW4CY4-BIbnyNph.js → blockDiagram-NRAW4CY4-DlqJIx5c.js} +1 -1
  343. package/web-shell/assets/{c4Diagram-UCG6FXSJ-BRsdx_iG.js → c4Diagram-UCG6FXSJ-CinqLGU4.js} +1 -1
  344. package/web-shell/assets/channel-BHGoSkEv.js +1 -0
  345. package/web-shell/assets/{chunk-2Q5K7J3B-3lf1fNlx.js → chunk-2Q5K7J3B-CsjJX5M7.js} +1 -1
  346. package/web-shell/assets/{chunk-5VM5RSS4-DP8VNRc4.js → chunk-5VM5RSS4-CaVb2tdH.js} +1 -1
  347. package/web-shell/assets/{chunk-F27PBJKO-DrohDmZ6.js → chunk-F27PBJKO-CRyErlzW.js} +1 -1
  348. package/web-shell/assets/{chunk-G27WJ6UU-UZ2QhSx6.js → chunk-G27WJ6UU-7I79DZCf.js} +1 -1
  349. package/web-shell/assets/{chunk-JWPE2WC7-BIMHVcZK.js → chunk-JWPE2WC7-Dz4cac5F.js} +1 -1
  350. package/web-shell/assets/{chunk-LCL6LL3I-izRxdSDd.js → chunk-LCL6LL3I-Ls24Derb.js} +1 -1
  351. package/web-shell/assets/{chunk-POPQ4Y6H-CXADD4PP.js → chunk-POPQ4Y6H-JzYe4qx7.js} +1 -1
  352. package/web-shell/assets/{chunk-SVP7TREG-B96d8Y_1.js → chunk-SVP7TREG-BxDwesA-.js} +1 -1
  353. package/web-shell/assets/{chunk-XXDRQBXY-CF2sVQpv.js → chunk-XXDRQBXY-CW4hjgWc.js} +1 -1
  354. package/web-shell/assets/classDiagram-DTDB5LWJ-E47Xnn15.js +1 -0
  355. package/web-shell/assets/classDiagram-v2-JRS7N3AN-E47Xnn15.js +1 -0
  356. package/web-shell/assets/{cose-bilkent-JH36ORCC-CT6tXVAS.js → cose-bilkent-JH36ORCC-DxikE9iF.js} +1 -1
  357. package/web-shell/assets/{cynefin-OW5HDTMX-X1NS4vtV.js → cynefin-OW5HDTMX-CvVsIkVN.js} +1 -1
  358. package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-DNsKNOT4.js → cynefinDiagram-5FMLGOSQ-CDHkk3wq.js} +1 -1
  359. package/web-shell/assets/{dagre-3AP2YEHR-9-AHKqsb.js → dagre-3AP2YEHR-BgLdkVLT.js} +1 -1
  360. package/web-shell/assets/{diagram-S7CK7UJ4-Bjgms7j6.js → diagram-S7CK7UJ4-DP43cGhe.js} +1 -1
  361. package/web-shell/assets/{diagram-UQ7AKVKN-h6bCprbE.js → diagram-UQ7AKVKN-BWrZYhoT.js} +1 -1
  362. package/web-shell/assets/{diagram-VSXAHHWV-4SbQXVLt.js → diagram-VSXAHHWV-B80wjH_n.js} +1 -1
  363. package/web-shell/assets/{diagram-VX7I27RA-B5gPCzzB.js → diagram-VX7I27RA-DPpKmDsY.js} +1 -1
  364. package/web-shell/assets/{diagram-Z3DM3KII-DFJXIA3A.js → diagram-Z3DM3KII-kaEBNbNU.js} +1 -1
  365. package/web-shell/assets/{ebnfDiagram-PWID7BFC-FwyaU7VY.js → ebnfDiagram-PWID7BFC-1-qbEZvk.js} +1 -1
  366. package/web-shell/assets/{erDiagram-SSCWMZ5O-8vJQh2te.js → erDiagram-SSCWMZ5O-CrK2gMkV.js} +1 -1
  367. package/web-shell/assets/{flowDiagram-A5DVABFB-BzA_1gMN.js → flowDiagram-A5DVABFB-Dic2xofW.js} +1 -1
  368. package/web-shell/assets/{ganttDiagram-EL5Y4UJY-Co-ABbVX.js → ganttDiagram-EL5Y4UJY-DJko8vT7.js} +1 -1
  369. package/web-shell/assets/{gitGraphDiagram-WWUBYQGX-DW_FcyrX.js → gitGraphDiagram-WWUBYQGX-DxsQ-bHT.js} +1 -1
  370. package/web-shell/assets/index-DY8CxdBr.js +2173 -0
  371. package/web-shell/assets/index-eBxK3rs2.css +36 -0
  372. package/web-shell/assets/{index-BbMXfhNG.js → index-t7VBrUeD.js} +1 -1
  373. package/web-shell/assets/{infoDiagram-RXCK75RN-BEgfhUFN.js → infoDiagram-RXCK75RN-DcRUJbNi.js} +1 -1
  374. package/web-shell/assets/{ishikawaDiagram-5VMMS53U-DCsMxQmc.js → ishikawaDiagram-5VMMS53U-CUPw-2_e.js} +1 -1
  375. package/web-shell/assets/{journeyDiagram-EYS64GPL-DyIEYoHz.js → journeyDiagram-EYS64GPL-yOHhZxkW.js} +1 -1
  376. package/web-shell/assets/{kanban-definition-3QL26DDD-CkxjqCNr.js → kanban-definition-3QL26DDD-CFUGBbqz.js} +1 -1
  377. package/web-shell/assets/{layout-BEWc0Al9.js → layout-BoilNfBU.js} +1 -1
  378. package/web-shell/assets/{linear-CNuNxirL.js → linear-DOuHaPrl.js} +1 -1
  379. package/web-shell/assets/{mermaid.core-DZBre674.js → mermaid.core-1G1fXWda.js} +6 -6
  380. package/web-shell/assets/{mindmap-definition-FBJOCRG2-CpafFz_F.js → mindmap-definition-FBJOCRG2-B8BhkrOX.js} +1 -1
  381. package/web-shell/assets/{pegDiagram-XKGWAZYB-DfZqk_dq.js → pegDiagram-XKGWAZYB-CipC5K1D.js} +1 -1
  382. package/web-shell/assets/{pieDiagram-E7YTZNPT-S0UWXlgC.js → pieDiagram-E7YTZNPT-CHBDFDUJ.js} +1 -1
  383. package/web-shell/assets/{quadrantDiagram-AXDQQJYC-dd37_Ohj.js → quadrantDiagram-AXDQQJYC-_iiBkoZO.js} +1 -1
  384. package/web-shell/assets/{railroadDiagram-O6MQD6OU-CH8NJZ7u.js → railroadDiagram-O6MQD6OU-Cx1peHDi.js} +1 -1
  385. package/web-shell/assets/{requirementDiagram-EFPCY7ZU-CFdqWYih.js → requirementDiagram-EFPCY7ZU-CBRiPbdQ.js} +1 -1
  386. package/web-shell/assets/{sankeyDiagram-P5KCCOFB-CsddcEGD.js → sankeyDiagram-P5KCCOFB-TT6GcHaZ.js} +1 -1
  387. package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-BZ270mGw.js → sequenceDiagram-WJ2MYXX4-CWP42PNb.js} +1 -1
  388. package/web-shell/assets/{sizeCapture-X5ZJPWSS-CGaS4DBV.js → sizeCapture-X5ZJPWSS-Bp94roEG.js} +1 -1
  389. package/web-shell/assets/{stateDiagram-HBIQ2CUA-COpIzMu6.js → stateDiagram-HBIQ2CUA-0ftrzTAy.js} +1 -1
  390. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-PgAST0dK.js +1 -0
  391. package/web-shell/assets/{swimlanes-XN3QIQJK-CMF889m3.js → swimlanes-XN3QIQJK-D-FsenYJ.js} +1 -1
  392. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-BcWcB5bj.js +8 -0
  393. package/web-shell/assets/{timeline-definition-24CTP7MA-BelnxYz5.js → timeline-definition-24CTP7MA-Ctvrj28y.js} +1 -1
  394. package/web-shell/assets/{vennDiagram-4TSXK5OY-CU-NRqIB.js → vennDiagram-4TSXK5OY-5DZncjOt.js} +1 -1
  395. package/web-shell/assets/{wardleyDiagram-VM6X3IG4-CDNKqWh-.js → wardleyDiagram-VM6X3IG4-jZjYwPY7.js} +1 -1
  396. package/web-shell/assets/{xychartDiagram-S5SC5T6Z-CLqguL5D.js → xychartDiagram-S5SC5T6Z-Ci6Q2C2_.js} +1 -1
  397. package/web-shell/index.html +29 -5
  398. package/chunks/chunk-V7RNNPGC.js +0 -44
  399. package/chunks/chunk-X35VIWWJ.js +0 -276
  400. package/chunks/workflow-3MABM53N.js +0 -2771
  401. package/chunks/workspace-providers-status-2FRLBZ5I.js +0 -119
  402. package/web-shell/assets/channel-uMMdTrYk.js +0 -1
  403. package/web-shell/assets/classDiagram-DTDB5LWJ-DcY-26Ig.js +0 -1
  404. package/web-shell/assets/classDiagram-v2-JRS7N3AN-DcY-26Ig.js +0 -1
  405. package/web-shell/assets/index-Bu-rZoJ-.js +0 -2150
  406. package/web-shell/assets/index-CsPwZ1ut.css +0 -36
  407. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-D6qEVAji.js +0 -1
  408. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-mem5Jj4m.js +0 -8
  409. /package/chunks/{chunk-JA5CBKRP.js → chunk-7NXSVSFB.js} +0 -0
@@ -20,7 +20,7 @@ import {
20
20
  import {
21
21
  channelFactoryForwardsChildEnv,
22
22
  defaultSpawnChannelFactory
23
- } from "./chunk-KA5HR3G2.js";
23
+ } from "./chunk-IUVIBDKU.js";
24
24
  import {
25
25
  BridgeChannelClosedError,
26
26
  BridgeTimeoutError,
@@ -30,7 +30,7 @@ import {
30
30
  SessionRestoreTimeoutError,
31
31
  createIdleWorkspaceExtensionsStatus,
32
32
  createIdleWorkspaceHooksStatus
33
- } from "./chunk-FETY36NQ.js";
33
+ } from "./chunk-HGEUHUEV.js";
34
34
  import {
35
35
  ACTIVE_WORK_CLOSE_IF_UNHELD_PARAM,
36
36
  ACTIVE_WORK_CLOSE_TIMEOUT_MS,
@@ -53,6 +53,7 @@ import {
53
53
  DAEMON_PERMISSION_CANCEL_REASON_META_KEY,
54
54
  DAEMON_PROMPT_DISPLAY_TEXT_META_KEY,
55
55
  DAEMON_RESTORE_ASK_USER_QUESTION_META_KEY,
56
+ DAEMON_SUBMITTED_PROMPT_META_KEY,
56
57
  DAEMON_SUPPRESS_RESTORE_ASK_USER_QUESTION_META_KEY,
57
58
  DAEMON_SUPPRESS_WORKTREE_CONTEXT_RESTORE_META_KEY,
58
59
  LOAD_REPLAY_BULK_MODE,
@@ -68,6 +69,7 @@ import {
68
69
  REQUESTED_SESSION_ID_META_KEY,
69
70
  SESSION_INITIALIZATION_DEADLINE_META_KEY,
70
71
  SESSION_INITIALIZATION_TIMEOUT_ERROR_KIND,
72
+ SUBMITTED_PROMPT_META_KEY,
71
73
  TODO_STOP_GUARD_CONTINUATION_CLAIM_METHOD,
72
74
  TODO_STOP_GUARD_QUEUE_RELEASE_METHOD,
73
75
  WORKTREE_MCP_DEFER_META_KEY,
@@ -75,7 +77,7 @@ import {
75
77
  clampActiveWorkIntervalMs,
76
78
  isValidTrustedModelPrompt,
77
79
  sessionCloseDrainBudgetMs
78
- } from "./chunk-PSPAM24S.js";
80
+ } from "./chunk-YKK2XXHF.js";
79
81
  import {
80
82
  BranchWhilePromptActiveError,
81
83
  BridgeChannelQuarantinedError,
@@ -101,10 +103,6 @@ import {
101
103
  WorkspaceMismatchError,
102
104
  isNotCurrentlyGeneratingCancelError
103
105
  } from "./chunk-FAWTMDX7.js";
104
- import {
105
- canonicalizeWorkspace,
106
- translateAndCheckAbsoluteWorkspacePath
107
- } from "./chunk-6PLDPT2C.js";
108
106
  import {
109
107
  CHANNEL_DELIVERY_ERROR_CODES,
110
108
  LIVE_TASK_TOOL_NAMES,
@@ -121,7 +119,11 @@ import {
121
119
  ClientSideConnection,
122
120
  PROTOCOL_VERSION,
123
121
  RequestError
124
- } from "./chunk-IW6RQPQB.js";
122
+ } from "./chunk-IJOS26LH.js";
123
+ import {
124
+ canonicalizeWorkspace,
125
+ translateAndCheckAbsoluteWorkspacePath
126
+ } from "./chunk-6PLDPT2C.js";
125
127
  import {
126
128
  PRIVATE_CONVERSATIONS_RUNTIME_ENABLE,
127
129
  PRIVATE_CONVERSATIONS_RUNTIME_ENV
@@ -136,7 +138,7 @@ import {
136
138
  isOfficeDocumentExtension,
137
139
  isRecordableDerivedChild,
138
140
  pathHasSkippedDirectoryComponent
139
- } from "./chunk-OWCFKIFQ.js";
141
+ } from "./chunk-ZKYR7QS4.js";
140
142
  import {
141
143
  SESSION_PR_LIST_LIMIT,
142
144
  SESSION_PR_URL_MAX_LENGTH,
@@ -148,7 +150,7 @@ import {
148
150
  canonicalSessionPrUrl,
149
151
  normalizeTurnResultError,
150
152
  toSessionPrInfo
151
- } from "./chunk-43CI6YWJ.js";
153
+ } from "./chunk-JV5YASQA.js";
152
154
  import {
153
155
  isUnverifiableIdentityError,
154
156
  openNoFollow
@@ -165,14 +167,18 @@ import {
165
167
  metadataBudgetBytes,
166
168
  normalizeSnapshotPayload,
167
169
  stableSessionArtifactId
168
- } from "./chunk-FDOGGKAA.js";
170
+ } from "./chunk-E4UEO3XM.js";
171
+ import {
172
+ SessionSourceError,
173
+ validateSessionSourceInput
174
+ } from "./chunk-ELRMZTPF.js";
169
175
  import {
170
176
  APPROVAL_MODES
171
177
  } from "./chunk-JX6XHPTX.js";
172
178
  import {
173
179
  DAEMON_TRACEPARENT_META_KEY,
174
180
  DAEMON_TRACESTATE_META_KEY
175
- } from "./chunk-7OCIQNKX.js";
181
+ } from "./chunk-ZW2EUO2A.js";
176
182
  import {
177
183
  INVOCATION_CONTEXT_META_KEY,
178
184
  PRIVATE_ACP_CAPABILITY_ENV,
@@ -4239,6 +4245,19 @@ var BridgeClient = class {
4239
4245
  if (typeof notificationSessionId === "string" && this.abandonedRestoreIds.has(notificationSessionId)) {
4240
4246
  return;
4241
4247
  }
4248
+ if (method === "qwen/notify/session/sources-changed") {
4249
+ const sessionId2 = params["sessionId"];
4250
+ const revision = params["revision"];
4251
+ if (typeof sessionId2 !== "string" || typeof revision !== "number" || !Number.isSafeInteger(revision) || revision < 0 || !this.ownsSession(sessionId2))
4252
+ return;
4253
+ const entry = this.resolveEntry(sessionId2);
4254
+ if (!entry) return;
4255
+ entry.events.publish({
4256
+ type: "source_changed",
4257
+ data: { sessionId: sessionId2, revision }
4258
+ });
4259
+ return;
4260
+ }
4242
4261
  if (method === ACTIVE_WORK_NOTIFICATION_METHOD) {
4243
4262
  const snapshot = parseActiveWorkSnapshot(params);
4244
4263
  if (snapshot) {
@@ -4702,6 +4721,8 @@ var BridgeClient = class {
4702
4721
  );
4703
4722
  return;
4704
4723
  }
4724
+ const selected = params["planExecutionMode"];
4725
+ const planExecutionMode = currentModeId === "plan" && typeof selected === "string" && selected !== "plan" && KNOWN_APPROVAL_MODES.has(selected) ? selected : void 0;
4705
4726
  const entry = this.resolveEntry(sessionId);
4706
4727
  if (!entry) {
4707
4728
  writeStderrLine(
@@ -4719,7 +4740,8 @@ var BridgeClient = class {
4719
4740
  this.onModePromoted(
4720
4741
  entry,
4721
4742
  currentModeId,
4722
- entry.activePromptOriginatorClientId
4743
+ entry.activePromptOriginatorClientId,
4744
+ planExecutionMode
4723
4745
  );
4724
4746
  } else {
4725
4747
  entry.events.publish({
@@ -4729,7 +4751,8 @@ var BridgeClient = class {
4729
4751
  sessionId,
4730
4752
  previous: "default",
4731
4753
  next: currentModeId,
4732
- persisted: false
4754
+ persisted: false,
4755
+ ...planExecutionMode ? { planExecutionMode } : {}
4733
4756
  },
4734
4757
  ...entry.activePromptOriginatorClientId ? { originatorClientId: entry.activePromptOriginatorClientId } : {}
4735
4758
  });
@@ -8241,14 +8264,19 @@ var MAX_DISPLAY_NAME_LENGTH = 256;
8241
8264
  var MAX_ECHO_CONTENT_BLOCKS = 256;
8242
8265
  function extractPermissionResponseMetadata(response) {
8243
8266
  if (response === null || typeof response !== "object") return void 0;
8267
+ const metadata = {};
8244
8268
  const answers = response.answers;
8245
8269
  if (answers !== null && typeof answers === "object" && !Array.isArray(answers)) {
8246
8270
  const entries = Object.entries(answers);
8247
8271
  if (entries.every(([, v]) => typeof v === "string")) {
8248
- return { answers };
8272
+ metadata["answers"] = answers;
8249
8273
  }
8250
8274
  }
8251
- return void 0;
8275
+ const expectedPlanExecutionMode = response.expectedPlanExecutionMode;
8276
+ if (typeof expectedPlanExecutionMode === "string") {
8277
+ metadata["expectedPlanExecutionMode"] = expectedPlanExecutionMode;
8278
+ }
8279
+ return Object.keys(metadata).length > 0 ? metadata : void 0;
8252
8280
  }
8253
8281
  __name(extractPermissionResponseMetadata, "extractPermissionResponseMetadata");
8254
8282
  function parseWorkspaceMemoryRememberResult(response) {
@@ -8518,6 +8546,7 @@ var REFRESH_APPEND_BOOKKEEPING_EVENT_TYPES = /* @__PURE__ */ new Set([
8518
8546
  "session_metadata_updated",
8519
8547
  "session_cwd_changed",
8520
8548
  "artifact_changed",
8549
+ "source_changed",
8521
8550
  "settings_changed",
8522
8551
  "extensions_changed",
8523
8552
  "mcp_server_changed",
@@ -10001,14 +10030,15 @@ function createAcpSessionBridge(opts) {
10001
10030
  (entry, modelId, originator) => publishModelSwitched(entry, modelId, originator),
10002
10031
  // A2: centralised approval_mode_changed publish on in-session mode
10003
10032
  // promotion. `previous` is read from the bridge state cache.
10004
- (entry, modeId, originator) => {
10033
+ (entry, modeId, originator, planExecutionMode) => {
10005
10034
  const se = entry;
10006
10035
  publishApprovalModeChanged(
10007
10036
  se,
10008
10037
  {
10009
10038
  previous: se.currentApprovalMode ?? "default",
10010
10039
  next: modeId,
10011
- persisted: false
10040
+ persisted: false,
10041
+ planExecutionMode
10012
10042
  },
10013
10043
  originator
10014
10044
  );
@@ -10287,6 +10317,7 @@ function createAcpSessionBridge(opts) {
10287
10317
  [PRIVATE_PARENT_CAPABILITY_META_KEY]: privateParentCapability
10288
10318
  },
10289
10319
  clientCapabilities: {
10320
+ _meta: { "qwen.goalProposals": true },
10290
10321
  fs: {
10291
10322
  readTextFile: delegateReadTextFileToClient,
10292
10323
  writeTextFile: true
@@ -10924,7 +10955,7 @@ function createAcpSessionBridge(opts) {
10924
10955
  return work;
10925
10956
  }
10926
10957
  __name(applyModelServiceId, "applyModelServiceId");
10927
- async function applyApprovalMode(entry, mode, persist, originatorClientId) {
10958
+ async function applyApprovalMode(entry, mode, persist, originatorClientId, planMode) {
10928
10959
  if (persist && !persistApprovalMode) {
10929
10960
  throw new Error(
10930
10961
  "setSessionApprovalMode called with `persist: true` but no `persistApprovalMode` callback wired in BridgeOptions. runQwenServe wires the production callback; direct embeds and tests must opt in or omit `persist`."
@@ -10938,7 +10969,11 @@ function createAcpSessionBridge(opts) {
10938
10969
  withTimeout(
10939
10970
  entry.connection.extMethod(
10940
10971
  SERVE_CONTROL_EXT_METHODS.sessionApprovalMode,
10941
- { sessionId: entry.sessionId, mode }
10972
+ {
10973
+ sessionId: entry.sessionId,
10974
+ mode,
10975
+ ...planMode !== void 0 ? { planMode } : {}
10976
+ }
10942
10977
  ),
10943
10978
  initTimeoutMs,
10944
10979
  SERVE_CONTROL_EXT_METHODS.sessionApprovalMode
@@ -10950,6 +10985,10 @@ function createAcpSessionBridge(opts) {
10950
10985
  `Agent returned unknown approval mode: ${JSON.stringify(response.current)}`
10951
10986
  );
10952
10987
  }
10988
+ if (response.planExecutionMode !== void 0 && (response.planExecutionMode === "plan" || !KNOWN_APPROVAL_MODES.has(response.planExecutionMode))) {
10989
+ throw new Error("Agent returned an invalid plan execution mode");
10990
+ }
10991
+ const planExecutionMode = response.current === "plan" ? response.planExecutionMode : void 0;
10953
10992
  let persisted = false;
10954
10993
  if (persist) {
10955
10994
  try {
@@ -10970,11 +11009,12 @@ function createAcpSessionBridge(opts) {
10970
11009
  {
10971
11010
  previous: response.previous,
10972
11011
  next: response.current,
10973
- persisted
11012
+ persisted,
11013
+ planExecutionMode
10974
11014
  },
10975
11015
  originatorClientId
10976
11016
  );
10977
- if (persisted) {
11017
+ if (persisted && planMode === void 0) {
10978
11018
  broadcastWorkspaceEvent(
10979
11019
  {
10980
11020
  type: "approval_mode_changed",
@@ -10993,6 +11033,7 @@ function createAcpSessionBridge(opts) {
10993
11033
  continue;
10994
11034
  }
10995
11035
  peer.currentApprovalMode = response.current;
11036
+ peer.planExecutionMode = void 0;
10996
11037
  }
10997
11038
  }
10998
11039
  succeeded = true;
@@ -11000,7 +11041,8 @@ function createAcpSessionBridge(opts) {
11000
11041
  sessionId: entry.sessionId,
11001
11042
  mode: response.current,
11002
11043
  previous: response.previous,
11003
- persisted
11044
+ persisted,
11045
+ ...planExecutionMode ? { planExecutionMode } : {}
11004
11046
  };
11005
11047
  } finally {
11006
11048
  entry.approvalModeRoundtripInFlight = false;
@@ -11407,6 +11449,16 @@ function createAcpSessionBridge(opts) {
11407
11449
  ]);
11408
11450
  return response;
11409
11451
  }, "requestSessionStatus");
11452
+ const requestSessionSources = /* @__PURE__ */ __name(async (sessionId, method, params = {}) => {
11453
+ const result = await requestSessionStatus(sessionId, method, params);
11454
+ if (result.sourceError) {
11455
+ throw new SessionSourceError(
11456
+ result.sourceError.code,
11457
+ result.sourceError.message
11458
+ );
11459
+ }
11460
+ return result;
11461
+ }, "requestSessionSources");
11410
11462
  const notifyAgentSessionClose = /* @__PURE__ */ __name(async (entry, ci, label, opts2) => {
11411
11463
  if (!ci || ci.channel !== entry.channel) {
11412
11464
  if (opts2?.throwOnFailure === true) {
@@ -11552,6 +11604,7 @@ function createAcpSessionBridge(opts) {
11552
11604
  }, "publishModelSwitched");
11553
11605
  const publishApprovalModeChanged = /* @__PURE__ */ __name((entry, payload, originatorClientId) => {
11554
11606
  entry.currentApprovalMode = payload.next;
11607
+ entry.planExecutionMode = payload.next === "plan" ? payload.planExecutionMode : void 0;
11555
11608
  entry.approvalModePublishGeneration++;
11556
11609
  entry.events.publish({
11557
11610
  type: "approval_mode_changed",
@@ -11560,7 +11613,8 @@ function createAcpSessionBridge(opts) {
11560
11613
  sessionId: entry.sessionId,
11561
11614
  previous: payload.previous,
11562
11615
  next: payload.next,
11563
- persisted: payload.persisted
11616
+ persisted: payload.persisted,
11617
+ ...entry.planExecutionMode ? { planExecutionMode: entry.planExecutionMode } : {}
11564
11618
  },
11565
11619
  ...originatorClientId ? { originatorClientId } : {}
11566
11620
  });
@@ -11593,12 +11647,15 @@ function createAcpSessionBridge(opts) {
11593
11647
  publishModelSwitched(entry, actual, void 0);
11594
11648
  }
11595
11649
  } else {
11596
- const actual = status?.state?.modes?.currentModeId;
11650
+ const modes = status?.state?.modes;
11651
+ const actual = modes?.currentModeId;
11652
+ const selected = modes?._meta?.["planExecutionMode"];
11653
+ const planExecutionMode = actual === "plan" && typeof selected === "string" && selected !== "plan" && KNOWN_APPROVAL_MODES.has(selected) ? selected : void 0;
11597
11654
  if (actual && !KNOWN_APPROVAL_MODES.has(actual)) {
11598
11655
  writeStderrLine(
11599
11656
  `[reconcile] session=${entry.sessionId} target=approvalMode action=dropped reason=unknown_mode mode=${actual}`
11600
11657
  );
11601
- } else if (actual && actual !== entry.currentApprovalMode) {
11658
+ } else if (actual && (actual !== entry.currentApprovalMode || planExecutionMode !== entry.planExecutionMode)) {
11602
11659
  writeStderrLine(
11603
11660
  `[reconcile] session=${entry.sessionId} target=approvalMode action=corrected cached=${entry.currentApprovalMode ?? "<unset>"} actual=${actual}`
11604
11661
  );
@@ -11607,7 +11664,8 @@ function createAcpSessionBridge(opts) {
11607
11664
  {
11608
11665
  previous: entry.currentApprovalMode ?? "default",
11609
11666
  next: actual,
11610
- persisted: false
11667
+ persisted: false,
11668
+ planExecutionMode
11611
11669
  },
11612
11670
  void 0
11613
11671
  );
@@ -11886,6 +11944,8 @@ function createAcpSessionBridge(opts) {
11886
11944
  const mode = resp.modes?.currentModeId;
11887
11945
  if (typeof mode === "string" && KNOWN_APPROVAL_MODES.has(mode)) {
11888
11946
  entry.currentApprovalMode = mode;
11947
+ const selected = resp.modes?._meta?.["planExecutionMode"];
11948
+ entry.planExecutionMode = mode === "plan" && typeof selected === "string" && selected !== "plan" && KNOWN_APPROVAL_MODES.has(selected) ? selected : void 0;
11889
11949
  } else if (mode != null) {
11890
11950
  writeStderrLine(
11891
11951
  `[seed] session=${entry.sessionId} target=approvalMode action=dropped value=${JSON.stringify(mode)} reason=${typeof mode !== "string" ? "invalid_type" : "unknown_mode"}`
@@ -12017,6 +12077,9 @@ function createAcpSessionBridge(opts) {
12017
12077
  }
12018
12078
  __name(requestSessionTurnIndexPage, "requestSessionTurnIndexPage");
12019
12079
  async function refreshedReplayFieldsFor(entry, historyPageSize, liveReplayMode) {
12080
+ if (entry.pendingInteractions.size > 0) {
12081
+ return replayFieldsFor(entry, "load", liveReplayMode);
12082
+ }
12020
12083
  for (let attempt = 0; attempt < 2; attempt++) {
12021
12084
  try {
12022
12085
  const lastEventId = entry.events.lastEventId;
@@ -12063,6 +12126,7 @@ function createAcpSessionBridge(opts) {
12063
12126
  ...page.hasMore ? { historyHasMore: true } : {}
12064
12127
  };
12065
12128
  }
12129
+ if (entry.pendingInteractions.size > 0) break;
12066
12130
  } catch {
12067
12131
  break;
12068
12132
  }
@@ -13320,6 +13384,7 @@ function createAcpSessionBridge(opts) {
13320
13384
  ...entry.sessionLastSeenAt !== void 0 ? { lastSeenAt: entry.sessionLastSeenAt } : {},
13321
13385
  ...entry.currentModelId ? { currentModelId: entry.currentModelId } : {},
13322
13386
  ...entry.currentApprovalMode ? { currentApprovalMode: entry.currentApprovalMode } : {},
13387
+ ...entry.planExecutionMode ? { planExecutionMode: entry.planExecutionMode } : {},
13323
13388
  maxJournalEvents: journalLimits?.maxEvents ?? maxJournalEvents,
13324
13389
  maxJournalBytes: journalLimits?.maxBytes ?? maxJournalBytes
13325
13390
  };
@@ -13983,9 +14048,18 @@ function createAcpSessionBridge(opts) {
13983
14048
  delete meta[DAEMON_RESTORE_ASK_USER_QUESTION_META_KEY];
13984
14049
  delete meta[DAEMON_CHANNEL_DELIVERY_META_KEY];
13985
14050
  delete meta[DAEMON_PROMPT_DISPLAY_TEXT_META_KEY];
14051
+ delete meta[SUBMITTED_PROMPT_META_KEY];
14052
+ delete meta[DAEMON_SUBMITTED_PROMPT_META_KEY];
14053
+ if (typeof context?.submittedPrompt === "string" && !isPromotedMidTurn && context?.channelPrompt !== true) {
14054
+ meta[DAEMON_SUBMITTED_PROMPT_META_KEY] = context.submittedPrompt;
14055
+ }
13986
14056
  delete meta[DAEMON_MODEL_PROMPT_META_KEY];
13987
14057
  delete meta[DAEMON_ATTACHMENT_REFERENCES_META_KEY];
13988
14058
  delete meta[CHANNEL_PROMPT_META_KEY];
14059
+ delete meta["qwen.goalProposalApproval"];
14060
+ if (originatorClientId !== void 0 && entry.clientIds.has(originatorClientId) && !context?.channelPrompt && !isContinue && !isRestoreAskUserQuestion) {
14061
+ meta["qwen.goalProposalApproval"] = true;
14062
+ }
13989
14063
  if (isRetry) {
13990
14064
  meta[DAEMON_RETRY_META_KEY] = true;
13991
14065
  }
@@ -14252,6 +14326,7 @@ function createAcpSessionBridge(opts) {
14252
14326
  sessionId: entry.sessionId,
14253
14327
  currentModelId: entry.currentModelId ?? null,
14254
14328
  currentApprovalMode: entry.currentApprovalMode ?? null,
14329
+ ...entry.planExecutionMode ? { planExecutionMode: entry.planExecutionMode } : {},
14255
14330
  recordingDegraded: entry.recordingDegraded
14256
14331
  }
14257
14332
  }), "snapshotFrame");
@@ -14456,6 +14531,28 @@ function createAcpSessionBridge(opts) {
14456
14531
  );
14457
14532
  }
14458
14533
  markSessionCatalogChanged();
14534
+ const sourceWarnings = [];
14535
+ const copySources = /* @__PURE__ */ __name(async (attachments) => {
14536
+ try {
14537
+ const attachmentIds = attachments ? (await attachments.list()).map((item) => item.attachmentId) : [];
14538
+ const copied = await Promise.race([
14539
+ entry.connection.extMethod("qwen/session/sources/copy", {
14540
+ sessionId,
14541
+ targetSessionId: result.newSessionId,
14542
+ targetCwd: boundWorkspace,
14543
+ attachmentIds
14544
+ }),
14545
+ getTransportClosedReject(entry)
14546
+ ]);
14547
+ if (copied.sourceError) {
14548
+ sourceWarnings.push("Session sources could not be copied.");
14549
+ } else {
14550
+ sourceWarnings.push(...copied.warnings ?? []);
14551
+ }
14552
+ } catch {
14553
+ sourceWarnings.push("Session sources could not be copied.");
14554
+ }
14555
+ }, "copySources");
14459
14556
  if (opts.sessionAttachmentsRoot) {
14460
14557
  const branchAttachments = new SessionAttachmentStore(
14461
14558
  opts.sessionAttachmentsRoot,
@@ -14469,13 +14566,17 @@ function createAcpSessionBridge(opts) {
14469
14566
  `qwen serve: failed to copy attachments for branched session ${result.newSessionId}: ${error instanceof Error ? error.message : String(error)}`
14470
14567
  );
14471
14568
  } finally {
14569
+ await copySources(branchAttachments);
14472
14570
  await branchAttachments.close();
14473
14571
  }
14572
+ } else if (!restoreBranch) {
14573
+ await copySources();
14474
14574
  }
14475
14575
  const rawBranchName = result.displayName ?? result.title;
14476
14576
  const branchDisplayName = typeof rawBranchName === "string" ? rawBranchName : result.newSessionId.slice(0, 8);
14477
14577
  if (!restoreBranch) {
14478
14578
  return {
14579
+ ...sourceWarnings.length > 0 ? { sourceWarnings } : {},
14479
14580
  sessionId: result.newSessionId,
14480
14581
  displayName: branchDisplayName,
14481
14582
  forkedFrom: {
@@ -14554,6 +14655,9 @@ function createAcpSessionBridge(opts) {
14554
14655
  );
14555
14656
  }
14556
14657
  }
14658
+ if (!opts.sessionAttachmentsRoot) {
14659
+ await copySources(newEntry?.attachments);
14660
+ }
14557
14661
  if (newEntry) newEntry.displayName = branchDisplayName;
14558
14662
  let sourcePersisted;
14559
14663
  if (newEntry?.sourceType) {
@@ -14580,6 +14684,7 @@ function createAcpSessionBridge(opts) {
14580
14684
  }
14581
14685
  return {
14582
14686
  ...restored,
14687
+ ...sourceWarnings.length > 0 ? { sourceWarnings } : {},
14583
14688
  displayName: branchDisplayName,
14584
14689
  forkedFrom: {
14585
14690
  sessionId,
@@ -15045,6 +15150,69 @@ function createAcpSessionBridge(opts) {
15045
15150
  } catch {
15046
15151
  }
15047
15152
  },
15153
+ async getSessionSources(sessionId, context) {
15154
+ const entry = byId.get(sessionId);
15155
+ if (!entry) throw new SessionNotFoundError(sessionId);
15156
+ if (isReservedStandaloneSessionSourceType(entry.sourceType) && entry.managedConversationBinding?.released !== true) {
15157
+ throw standaloneWorkingDirectoryMissingError();
15158
+ }
15159
+ resolveTrustedClientId(entry, context?.clientId);
15160
+ return requestSessionSources(sessionId, "qwen/session/sources/list");
15161
+ },
15162
+ async upsertSessionSource(sessionId, input, context) {
15163
+ const entry = byId.get(sessionId);
15164
+ if (!entry) throw new SessionNotFoundError(sessionId);
15165
+ if (isReservedStandaloneSessionSourceType(entry.sourceType) && entry.managedConversationBinding?.released !== true) {
15166
+ throw standaloneWorkingDirectoryMissingError();
15167
+ }
15168
+ const clientId = resolveTrustedClientId(entry, context.clientId);
15169
+ if (!clientId) {
15170
+ throw new RequestError(
15171
+ -32602,
15172
+ "A session-bound client id is required",
15173
+ {
15174
+ errorKind: "client_id_required"
15175
+ }
15176
+ );
15177
+ }
15178
+ const validated = validateSessionSourceInput(input);
15179
+ if (validated.locator.type === "attachment") {
15180
+ const attachmentId = validated.locator.attachmentId;
15181
+ const attachments = await entry.attachments.list();
15182
+ if (byId.get(sessionId) !== entry) {
15183
+ throw new SessionNotFoundError(sessionId);
15184
+ }
15185
+ resolveTrustedClientId(entry, context.clientId);
15186
+ if (!attachments.some((item) => item.attachmentId === attachmentId)) {
15187
+ throw new RequestError(-32602, "Session attachment not found", {
15188
+ errorKind: "source_attachment_not_found"
15189
+ });
15190
+ }
15191
+ }
15192
+ return requestSessionSources(sessionId, "qwen/session/sources/upsert", {
15193
+ input: validated
15194
+ });
15195
+ },
15196
+ async removeSessionSource(sessionId, sourceId, context) {
15197
+ const entry = byId.get(sessionId);
15198
+ if (!entry) throw new SessionNotFoundError(sessionId);
15199
+ if (isReservedStandaloneSessionSourceType(entry.sourceType) && entry.managedConversationBinding?.released !== true) {
15200
+ throw standaloneWorkingDirectoryMissingError();
15201
+ }
15202
+ const clientId = resolveTrustedClientId(entry, context.clientId);
15203
+ if (!clientId) {
15204
+ throw new RequestError(
15205
+ -32602,
15206
+ "A session-bound client id is required",
15207
+ {
15208
+ errorKind: "client_id_required"
15209
+ }
15210
+ );
15211
+ }
15212
+ return requestSessionSources(sessionId, "qwen/session/sources/remove", {
15213
+ sourceId
15214
+ });
15215
+ },
15048
15216
  async getSessionArtifacts(sessionId, context) {
15049
15217
  const entry = byId.get(sessionId);
15050
15218
  if (!entry) throw new SessionNotFoundError(sessionId);
@@ -15818,7 +15986,8 @@ function createAcpSessionBridge(opts) {
15818
15986
  entry,
15819
15987
  mode,
15820
15988
  opts2.persist,
15821
- originatorClientId
15989
+ originatorClientId,
15990
+ opts2.planMode
15822
15991
  );
15823
15992
  },
15824
15993
  async generateSessionRecap(sessionId, _context) {
@@ -2,14 +2,14 @@
2
2
  "use strict";
3
3
  import {
4
4
  getCurrentAgentId
5
- } from "./chunk-H3Q3RSKZ.js";
5
+ } from "./chunk-U7O65WKL.js";
6
6
  import {
7
7
  getTeammateContext,
8
8
  isTeammate
9
9
  } from "./chunk-S6LOFUVP.js";
10
10
  import {
11
11
  ToolNames
12
- } from "./chunk-MWIO7MF6.js";
12
+ } from "./chunk-TP6FYVQT.js";
13
13
  import {
14
14
  init_esbuild_shims
15
15
  } from "./chunk-5O2XNYP6.js";
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  formatDuration
5
- } from "./chunk-3SH53ANB.js";
5
+ } from "./chunk-LAP7X6EC.js";
6
6
  import {
7
7
  theme
8
8
  } from "./chunk-4LIPOIXS.js";
@@ -20,11 +20,11 @@ import {
20
20
  import {
21
21
  collectInlineImages,
22
22
  extractInlineContentRuns
23
- } from "./chunk-XQ4RDO5B.js";
23
+ } from "./chunk-WBCPROWX.js";
24
24
  import {
25
25
  formatHistoryGapNotice,
26
26
  indexGapsByChild
27
- } from "./chunk-ERXNTINK.js";
27
+ } from "./chunk-ZT6EPPBY.js";
28
28
  import {
29
29
  stringWidth
30
30
  } from "./chunk-2MIN6GRR.js";
@@ -33,24 +33,24 @@ import {
33
33
  } from "./chunk-QHTIBUWB.js";
34
34
  import {
35
35
  t
36
- } from "./chunk-CRZBDVP2.js";
36
+ } from "./chunk-74JEYK2C.js";
37
37
  import {
38
38
  isGoalCheckpointBookkeepingRecord
39
- } from "./chunk-BL6B2QS2.js";
39
+ } from "./chunk-F2RKL5I2.js";
40
40
  import {
41
41
  GoalPersistenceUnavailableError,
42
42
  getToolResponseDisplayText,
43
43
  parseGoalStateRecordPayloadV2
44
- } from "./chunk-43CI6YWJ.js";
44
+ } from "./chunk-JV5YASQA.js";
45
45
  import {
46
46
  stripAnsi
47
47
  } from "./chunk-TWPJO254.js";
48
48
  import {
49
49
  projectUserTranscriptForDisplay
50
- } from "./chunk-FDOGGKAA.js";
50
+ } from "./chunk-E4UEO3XM.js";
51
51
  import {
52
52
  ToolDisplayNames
53
- } from "./chunk-MWIO7MF6.js";
53
+ } from "./chunk-TP6FYVQT.js";
54
54
  import {
55
55
  init_esbuild_shims
56
56
  } from "./chunk-5O2XNYP6.js";
@@ -2419,6 +2419,19 @@ var ICON = {
2419
2419
  CHECK: `\u2713${_VS15}`,
2420
2420
  CROSS: `\u2716${_VS15}`
2421
2421
  };
2422
+ var SPINNER_FRAMES = [
2423
+ "\u280B",
2424
+ "\u2819",
2425
+ "\u2839",
2426
+ "\u2838",
2427
+ "\u283C",
2428
+ "\u2834",
2429
+ "\u2826",
2430
+ "\u2827",
2431
+ "\u2807",
2432
+ "\u280F"
2433
+ ];
2434
+ var SPINNER_INTERVAL_MS = 80;
2422
2435
 
2423
2436
  // packages/cli/src/ui/components/shared/ToolStatusIndicator.tsx
2424
2437
  init_esbuild_shims();
@@ -3493,6 +3506,8 @@ export {
3493
3506
  SHELL_COMMAND_NAME,
3494
3507
  SHELL_NAME,
3495
3508
  ICON,
3509
+ SPINNER_FRAMES,
3510
+ SPINNER_INTERVAL_MS,
3496
3511
  wrapAnsi,
3497
3512
  SCREEN_READER_USER_PREFIX,
3498
3513
  SCREEN_READER_MODEL_PREFIX,
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  t
5
- } from "./chunk-CRZBDVP2.js";
5
+ } from "./chunk-74JEYK2C.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";