@qwen-code/qwen-code 0.23.2-preview.0 → 0.23.2

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 (282) hide show
  1. package/bundled/qc-helper/docs/configuration/auth.md +1 -1
  2. package/bundled/qc-helper/docs/configuration/model-providers.md +19 -15
  3. package/bundled/qc-helper/docs/features/channels/dingtalk.md +1 -1
  4. package/bundled/qc-helper/docs/features/channels/github.md +1 -9
  5. package/bundled/qc-helper/docs/features/channels/overview.md +26 -51
  6. package/bundled/qc-helper/docs/features/channels/qqbot.md +1 -2
  7. package/bundled/qc-helper/docs/features/commands.md +48 -9
  8. package/bundled/qc-helper/docs/features/goals.md +2 -0
  9. package/bundled/qc-helper/docs/features/sub-agents.md +8 -0
  10. package/bundled/qc-helper/docs/qwen-serve.md +62 -48
  11. package/chunks/{MaxSizedBox-ZZJT3PJF.js → MaxSizedBox-4C3BKKKY.js} +17 -16
  12. package/chunks/{StandaloneSessionPicker-DIOSZTMX.js → StandaloneSessionPicker-TXVF65YW.js} +32 -31
  13. package/chunks/{acpAgent-62JUP5A7.js → acpAgent-H5XBKGB4.js} +301 -166
  14. package/chunks/{agent-NLPEQQDZ.js → agent-T5LEFJIU.js} +10 -10
  15. package/chunks/{agent-headless-Y2GR5F2Q.js → agent-headless-VZKSRH36.js} +10 -10
  16. package/chunks/{anthropicContentGenerator-I7LQZH26.js → anthropicContentGenerator-PRJWWVYJ.js} +2 -2
  17. package/chunks/{artifact-tool-P52OKKEF.js → artifact-tool-G5LHNECG.js} +1 -1
  18. package/chunks/{bridge-Q66BD62H.js → bridge-AOX5IY44.js} +18 -17
  19. package/chunks/{channel-management-service-TRTLQTSV.js → channel-management-service-MWQGHPAS.js} +4 -4
  20. package/chunks/{channel-settings-store-R5STFWUW.js → channel-settings-store-XZCGDGHW.js} +26 -25
  21. package/chunks/{channel-worker-group-PIYPVCTF.js → channel-worker-group-SQ5FRWOH.js} +5 -5
  22. package/chunks/{channel-worker-manager-FQHEDTD2.js → channel-worker-manager-TU4ZNWOE.js} +5 -5
  23. package/chunks/{channel-worker-supervisor-XJPZZ3VK.js → channel-worker-supervisor-EMITFMCP.js} +4 -4
  24. package/chunks/{chunk-3SH53ANB.js → chunk-22GORRNY.js} +12 -0
  25. package/chunks/{chunk-7L35FKPF.js → chunk-2BMXHB6N.js} +2 -2
  26. package/chunks/chunk-2WC3Y7YY.js +1033 -0
  27. package/chunks/{chunk-WZ4YULVF.js → chunk-3OAXF3UK.js} +210 -80
  28. package/chunks/{chunk-W673V2H3.js → chunk-46MMBZHI.js} +3 -3
  29. package/chunks/{chunk-6GRDHIVI.js → chunk-4I3WFI3U.js} +4 -4
  30. package/chunks/{chunk-QXXBW2G4.js → chunk-4JNHNVAZ.js} +3 -3
  31. package/chunks/{chunk-R2266LQ5.js → chunk-4WMGYG3F.js} +2 -2
  32. package/chunks/{chunk-Y6ZWXM44.js → chunk-5BH2AIEY.js} +1 -1
  33. package/chunks/{chunk-EA4NFWVG.js → chunk-5OZUKLL7.js} +3 -3
  34. package/chunks/{chunk-RX3FYFCN.js → chunk-67XTVRVB.js} +1 -1
  35. package/chunks/{chunk-MA5OUNN6.js → chunk-6G4V7SE4.js} +1 -1
  36. package/chunks/{chunk-B54PFQS5.js → chunk-7CLLH5TI.js} +1 -1
  37. package/chunks/{chunk-7GZCCHJL.js → chunk-7LTCFO6T.js} +3 -3
  38. package/chunks/{chunk-33MLFMCL.js → chunk-7NDZKE2M.js} +2 -2
  39. package/chunks/{chunk-5WC2ECUK.js → chunk-7PD7ZMX5.js} +17 -4
  40. package/chunks/{chunk-ZUNWKOAP.js → chunk-7SVM3RP2.js} +4 -24
  41. package/chunks/{chunk-5GD7LYOH.js → chunk-A7EFXK7P.js} +1 -1
  42. package/chunks/{chunk-RDV4NLI3.js → chunk-AO2VMS72.js} +2 -2
  43. package/chunks/{chunk-XAXTQURR.js → chunk-APXIW2TF.js} +3 -3
  44. package/chunks/{chunk-3BTHHXXE.js → chunk-AUTUFD5X.js} +1 -1
  45. package/chunks/{chunk-VH764G6B.js → chunk-B25JYXZE.js} +2 -2
  46. package/chunks/{chunk-MMMA36MN.js → chunk-BK7D2JR6.js} +3 -3
  47. package/chunks/{chunk-RPFJJ33Z.js → chunk-CALTQWTZ.js} +1 -1
  48. package/chunks/{chunk-EUXF6URV.js → chunk-CCBTNJB4.js} +16 -18
  49. package/chunks/{chunk-BF3RUIVP.js → chunk-CH2YDT6X.js} +36 -38
  50. package/chunks/{chunk-L6ZME3W7.js → chunk-CMWU6P4D.js} +1 -1
  51. package/chunks/{chunk-QJAFSFYA.js → chunk-CWVZBIZJ.js} +1 -1
  52. package/chunks/{chunk-JDPBJIKI.js → chunk-DAI65CMX.js} +1 -1
  53. package/chunks/{chunk-GM44O6F7.js → chunk-DARWOZY6.js} +1 -1
  54. package/chunks/{chunk-J4ECGDA3.js → chunk-ELD3OBPU.js} +3 -3
  55. package/chunks/{chunk-ZELCTN6Y.js → chunk-F23YN37B.js} +10 -0
  56. package/chunks/{chunk-OIPUQE3S.js → chunk-F2NYVASI.js} +14 -1
  57. package/chunks/{chunk-ODBNTMZW.js → chunk-FAJPLSYF.js} +36 -29
  58. package/chunks/{chunk-GXIHBIHC.js → chunk-FGHPZGOP.js} +29 -24
  59. package/chunks/{chunk-TK4XHPKW.js → chunk-G37O7YO6.js} +2 -2
  60. package/chunks/{chunk-4JKLPTV6.js → chunk-G3ZUMSFS.js} +12 -5
  61. package/chunks/{chunk-743XE7N7.js → chunk-G5VOXCRX.js} +1 -1
  62. package/chunks/{chunk-BL6B2QS2.js → chunk-GOEVQADN.js} +618 -1122
  63. package/chunks/{chunk-XI7RST4D.js → chunk-GOKAOSCN.js} +1 -1
  64. package/chunks/{chunk-FDOGGKAA.js → chunk-GSFV5RQW.js} +2 -0
  65. package/chunks/{chunk-43CI6YWJ.js → chunk-HJ5UJQQL.js} +1384 -1245
  66. package/chunks/{chunk-LUVXLLMS.js → chunk-IR6JKBAP.js} +1 -1
  67. package/chunks/{chunk-CPJRFFPH.js → chunk-IRGDIDGJ.js} +558 -158
  68. package/chunks/{chunk-DCPRCDSR.js → chunk-IWABUX6T.js} +1 -1
  69. package/chunks/{chunk-DTB5BXRG.js → chunk-JO77FGNZ.js} +16 -15
  70. package/chunks/{chunk-45ROPFQY.js → chunk-JYGIJA4W.js} +1 -1
  71. package/chunks/{chunk-M6YLOETP.js → chunk-KCF2436G.js} +1 -1
  72. package/chunks/{chunk-CABDNUJ4.js → chunk-KEPC5BOL.js} +5 -5
  73. package/chunks/{chunk-RN6V5HKE.js → chunk-KFECPHLV.js} +3 -3
  74. package/chunks/{chunk-WIRYFL2L.js → chunk-LEAOJ43M.js} +17 -15
  75. package/chunks/{chunk-IUJLW6ZI.js → chunk-LUNC5KCL.js} +3 -3
  76. package/chunks/{chunk-WZS3X663.js → chunk-LWX4WDFF.js} +2 -5
  77. package/chunks/{chunk-ISPBBKJN.js → chunk-MV5DTLJV.js} +7 -2
  78. package/chunks/chunk-NFXXBWSE.js +463 -0
  79. package/chunks/{chunk-PQSCGZT2.js → chunk-NPKCVSXX.js} +26 -2
  80. package/chunks/{chunk-7RXOEUFF.js → chunk-NX7ZTXFF.js} +1 -1
  81. package/chunks/{chunk-G5QLLD53.js → chunk-OXR34GCD.js} +14 -2
  82. package/chunks/{chunk-VHPG7BH6.js → chunk-PDN7FJZV.js} +1 -1
  83. package/chunks/{chunk-UHUT4IDM.js → chunk-PFKGV6PO.js} +9 -9
  84. package/chunks/{chunk-NFIDVZND.js → chunk-QB3KS3N3.js} +2 -21
  85. package/chunks/{chunk-QLM7D7W3.js → chunk-QFJZAY7W.js} +7 -7
  86. package/chunks/{chunk-NVS4Z6GT.js → chunk-QHLHE2OT.js} +1 -1
  87. package/chunks/{chunk-B44JBZBB.js → chunk-QQK4L3UU.js} +1 -1
  88. package/chunks/{chunk-63ACHB2H.js → chunk-QTB4VP4K.js} +50 -18
  89. package/chunks/{chunk-4BLTSTF6.js → chunk-R3JIDRUL.js} +4 -4
  90. package/chunks/{chunk-VEQBVJYH.js → chunk-R457KFV7.js} +3 -3
  91. package/chunks/{chunk-CG2PDIGD.js → chunk-RM244SCQ.js} +1 -1
  92. package/chunks/{chunk-W7PXLIZJ.js → chunk-RNAJVXUG.js} +5 -5
  93. package/chunks/{chunk-VF6D6EGV.js → chunk-S5QR6CB5.js} +52 -6
  94. package/chunks/{chunk-IRKQ4YYX.js → chunk-SVWWF5TZ.js} +29 -1
  95. package/chunks/{chunk-5HBA2Z7V.js → chunk-TGNNLRC3.js} +2 -3
  96. package/chunks/{chunk-ORREXWOM.js → chunk-TODNHE76.js} +3 -3
  97. package/chunks/{chunk-W3ONSAYO.js → chunk-TOOOLHVS.js} +2 -2
  98. package/chunks/{chunk-EHTKOO6W.js → chunk-TRQNRP2H.js} +2 -2
  99. package/chunks/{chunk-PQWM4SX2.js → chunk-U6REWGVR.js} +2 -2
  100. package/chunks/{chunk-UXDVUFKU.js → chunk-ULZECEIP.js} +2 -2
  101. package/chunks/{chunk-6YEOCHSE.js → chunk-VBLAI2HA.js} +101 -0
  102. package/chunks/{chunk-M73KHGNR.js → chunk-VJJXG73H.js} +404 -226
  103. package/chunks/{chunk-Q2F43WTJ.js → chunk-WBU2PIZ5.js} +23 -6
  104. package/chunks/{chunk-UULHYZ4W.js → chunk-WDN64MVT.js} +74 -15
  105. package/chunks/{chunk-XVTCSVBK.js → chunk-WDVV3LRM.js} +193 -169
  106. package/chunks/{chunk-LBKYQ33T.js → chunk-WK7P62DV.js} +16 -10
  107. package/chunks/{chunk-ULY4ISY2.js → chunk-WXD7INFV.js} +19 -4
  108. package/chunks/{chunk-ZIPYCXQP.js → chunk-WXPPUPHM.js} +1 -1
  109. package/chunks/{chunk-5Z4FCEPY.js → chunk-X7LFJF5D.js} +600 -46
  110. package/chunks/{chunk-YHDGABDC.js → chunk-XKBFYTCD.js} +1 -1
  111. package/chunks/{chunk-MWEF5MUK.js → chunk-XSOXPG2L.js} +8 -8
  112. package/chunks/{chunk-5VZFJTL2.js → chunk-YLOHCA6I.js} +2 -2
  113. package/chunks/{chunk-LN3WBOKU.js → chunk-YQGW3M6Z.js} +2 -2
  114. package/chunks/{chunk-2OR32P5M.js → chunk-ZN5TKAVR.js} +125 -10
  115. package/chunks/{chunk-XBLG564H.js → chunk-ZP5XDLSA.js} +10 -10
  116. package/chunks/{config-utils-37FHWPTP.js → config-utils-GPLIABL2.js} +21 -20
  117. package/chunks/{contextCommand-R4JUBV5N.js → contextCommand-NCUQUDBY.js} +18 -17
  118. package/chunks/{core-runtime-6U4OXU5C.js → core-runtime-WKYKWVYU.js} +23 -21
  119. package/chunks/{create-sub-session-LLUYAGZN.js → create-sub-session-PPLXB3JJ.js} +17 -16
  120. package/chunks/{daemon-UI6SQSBV.js → daemon-2CKIAO3I.js} +2 -2
  121. package/chunks/{daemon-git-worktree-guard-O2UTNFJC.js → daemon-git-worktree-guard-73ZWOLKL.js} +17 -16
  122. package/chunks/{daemon-status-provider-7GMAKSTX.js → daemon-status-provider-OK7VONJG.js} +22 -21
  123. package/chunks/{daemon-trust-policy-VNP76VMO.js → daemon-trust-policy-CAUCREG2.js} +22 -21
  124. package/chunks/{daemon-trust-policy-monitor-TD5O3BZA.js → daemon-trust-policy-monitor-3Y36OOEQ.js} +22 -21
  125. package/chunks/{deferred-core-runtime-NJM63YJS.js → deferred-core-runtime-Q7WFWYD3.js} +17 -16
  126. package/chunks/{dist-STAGIFNB.js → dist-6YDUH3BB.js} +388 -102
  127. package/chunks/{dist-XJ25G6OH.js → dist-BNQVF565.js} +2 -8
  128. package/chunks/{dist-NQ2636VT.js → dist-F34J4FZX.js} +1 -1
  129. package/chunks/{dist-OR2ZQTXZ.js → dist-F6JLAJLE.js} +1 -1
  130. package/chunks/{dist-WZTUKIDR.js → dist-NP7QKLVG.js} +2 -2
  131. package/chunks/{dist-M4CBX53H.js → dist-UFTFGI6I.js} +1 -1
  132. package/chunks/{dist-5I4HLUTO.js → dist-XLV33CLY.js} +1 -2
  133. package/chunks/{dist-24TCWK5H.js → dist-Y5KC3IHW.js} +1 -2
  134. package/chunks/{dist-FDISN4AK.js → dist-ZDNJK74R.js} +3 -7
  135. package/chunks/{edit-GL7OA6RV.js → edit-YJD6IETK.js} +10 -10
  136. package/chunks/{enterPlanMode-VC4BCSZE.js → enterPlanMode-EFPVTWIH.js} +10 -10
  137. package/chunks/{environment-BI6IBAZJ.js → environment-HP3AXFTB.js} +19 -18
  138. package/chunks/{errors-D6G2ZM2R.js → errors-22ON46G7.js} +19 -18
  139. package/chunks/{exitPlanMode-DX446CA6.js → exitPlanMode-MOQUNCBH.js} +10 -10
  140. package/chunks/{fast-path-MAYDLJIP.js → fast-path-2X7BPMXX.js} +3 -3
  141. package/chunks/{glob-TVKRFY36.js → glob-Y7ACIB3P.js} +10 -10
  142. package/chunks/{goal-tools-CA6YANRN.js → goal-tools-DABMICUC.js} +10 -10
  143. package/chunks/{handleAutoUpdate-AW4ZAHON.js → handleAutoUpdate-MCAMHYDI.js} +19 -18
  144. package/chunks/{i18n-IH5CRAY7.js → i18n-C3GDCALP.js} +17 -16
  145. package/chunks/{initializer-UBR37ZNM.js → initializer-4URDQL2G.js} +22 -21
  146. package/chunks/{installationInfo-Y52756EC.js → installationInfo-LBOL6SBV.js} +17 -16
  147. package/chunks/{list-7V5JDZPO.js → list-JOGBAC2R.js} +25 -24
  148. package/chunks/{list-agents-I5TRH3J7.js → list-agents-2CXPGJUE.js} +3 -3
  149. package/chunks/{llm-QDB6JVF5.js → llm-2KPNSAVY.js} +65 -59
  150. package/chunks/{llm-content-generator-EO6MZCEO.js → llm-content-generator-GR3FOHLB.js} +2 -2
  151. package/chunks/{loadedSettingsAdapter-I3YQKMC4.js → loadedSettingsAdapter-DVKROEJD.js} +22 -21
  152. package/chunks/{loggingContentGenerator-MNXYUGDG.js → loggingContentGenerator-P4K6K5W4.js} +12 -12
  153. package/chunks/{managed-npm-update-EA3EXPTO.js → managed-npm-update-VWBKHNIN.js} +17 -16
  154. package/chunks/{mcp-QTAJ544Y.js → mcp-6YYNSYLK.js} +22 -21
  155. package/chunks/{monitor-6FQKQOTP.js → monitor-A255TNZR.js} +10 -10
  156. package/chunks/{nonInteractiveCli-MRCTZL5X.js → nonInteractiveCli-LXGIKQAT.js} +55 -54
  157. package/chunks/{notebook-edit-BQQCKI7K.js → notebook-edit-5UYHS2DM.js} +10 -10
  158. package/chunks/{open-with-auth-D6JD6LDS.js → open-with-auth-6MVIHMXB.js} +1 -1
  159. package/chunks/{openaiContentGenerator-TTSKXNVH.js → openaiContentGenerator-A6MAMEO5.js} +7 -7
  160. package/chunks/{pidfile-KPIS6RIT.js → pidfile-B7DZC4TP.js} +20 -17
  161. package/chunks/{processUtils-ZCASPKK4.js → processUtils-BPZ2MCZS.js} +2 -2
  162. package/chunks/{prompt-terminal-ledger-D6HM6TV7.js → prompt-terminal-ledger-FYYTAOXS.js} +18 -17
  163. package/chunks/{qwenContentGenerator-GGZEFLBD.js → qwenContentGenerator-4IOJFD4S.js} +13 -13
  164. package/chunks/{read-file-VE5GDFLP.js → read-file-A4H4O3VQ.js} +2 -2
  165. package/chunks/{resumeHistoryUtils-HSSGMYDC.js → resumeHistoryUtils-YQQ43E4N.js} +19 -18
  166. package/chunks/{ripGrep-SEJE7AA6.js → ripGrep-W32NWFTA.js} +3 -3
  167. package/chunks/{run-qwen-serve-OJYVH7N6.js → run-qwen-serve-WBSWWIRV.js} +216 -64
  168. package/chunks/{runtime-KGMQQFJD.js → runtime-VRVBX2E5.js} +29 -26
  169. package/chunks/{scheduled-tasks-7H5HWHYD.js → scheduled-tasks-D65KJDA3.js} +20 -19
  170. package/chunks/{scheduler-BE42AKDG.js → scheduler-M2YPN7Z7.js} +19 -18
  171. package/chunks/{send-message-AWKUDJBH.js → send-message-76BKWKFZ.js} +3 -3
  172. package/chunks/{serve-KZVKYMSL.js → serve-BE3H2P6P.js} +22 -21
  173. package/chunks/{server-PJRALPJQ.js → server-FLY5JERG.js} +84 -148
  174. package/chunks/{session-IHITXU2S.js → session-JVN62R5K.js} +85 -57
  175. package/chunks/{session-attachments-root-GQ2TUI3Y.js → session-attachments-root-7ACGLHXA.js} +17 -16
  176. package/chunks/{session-pr-refresh-H43LULTE.js → session-pr-refresh-TQS57SDK.js} +19 -18
  177. package/chunks/{settings-RKEQQDFC.js → settings-D44YMZFT.js} +21 -20
  178. package/chunks/{shell-6PJ444U5.js → shell-3VE6I4V5.js} +10 -10
  179. package/chunks/{skill-Q3UP7B5V.js → skill-FHEGRRZU.js} +2 -2
  180. package/chunks/{skill-settings-LZR5YRRW.js → skill-settings-VHEJMBFL.js} +21 -20
  181. package/chunks/{spawnChannel-WM3DT2BF.js → spawnChannel-T6MX2ZDN.js} +17 -16
  182. package/chunks/{standalone-update-E5474IBI.js → standalone-update-QUGHFMCS.js} +18 -17
  183. package/chunks/{start-opentui-ui-WLWZNQ2I.js → start-opentui-ui-IHIIZ2LE.js} +438 -203
  184. package/chunks/{startInteractiveUI-FBQSGWGO.js → startInteractiveUI-LR7K2ARZ.js} +1171 -1234
  185. package/chunks/{task-create-PMAFST2T.js → task-create-MWXJFRRM.js} +3 -3
  186. package/chunks/{task-list-R2HSY2NC.js → task-list-EYO3FE57.js} +2 -2
  187. package/chunks/{task-update-JYC57USF.js → task-update-2JJJRHMT.js} +3 -3
  188. package/chunks/{team-create-VIGUFUT4.js → team-create-GY3VFY47.js} +10 -10
  189. package/chunks/{team-delete-CBHVBTPB.js → team-delete-IQZ6XGFI.js} +2 -2
  190. package/chunks/{team-plan-approval-HQVZA3MD.js → team-plan-approval-BQPGZOT5.js} +10 -10
  191. package/chunks/{terminal-image-renderer-LUKNCOVM.js → terminal-image-renderer-YNYW5CQG.js} +17 -16
  192. package/chunks/{theme-manager-LOENKYLY.js → theme-manager-U6CIK3GM.js} +17 -16
  193. package/chunks/{tool-search-ZIFAQCE2.js → tool-search-XI3QWD5I.js} +2 -2
  194. package/chunks/{total-session-admission-FUUJH3QH.js → total-session-admission-3SNSJJ32.js} +18 -17
  195. package/chunks/{trustedFolders-C76KYROP.js → trustedFolders-OVAQKNV5.js} +18 -17
  196. package/chunks/{update-relaunch-4G2SRXKX.js → update-relaunch-XV5O74E3.js} +5 -5
  197. package/chunks/{updateCheck-EIZIO7HI.js → updateCheck-CHUYWD6L.js} +17 -16
  198. package/chunks/{useAutoAcceptIndicator-EAA6KSY4.js → useAutoAcceptIndicator-VKSVIXZC.js} +23 -22
  199. package/chunks/{validateNonInterActiveAuth-BRX22QCN.js → validateNonInterActiveAuth-ZNUTD3E5.js} +53 -52
  200. package/chunks/{version-E56RU7PR.js → version-EK7VAGSI.js} +3 -1
  201. package/chunks/{web-fetch-AAUCD7RM.js → web-fetch-24KZO763.js} +2 -2
  202. package/chunks/{web-search-HFUQF44Q.js → web-search-CRNXKZ2X.js} +184 -7
  203. package/chunks/{web-shell-static-POZHGGXE.js → web-shell-static-BFDESDD4.js} +5 -4
  204. package/chunks/{workflow-3MABM53N.js → workflow-HD5NYMW5.js} +201 -65
  205. package/chunks/{workspace-providers-status-2FRLBZ5I.js → workspace-providers-status-MAM42IZS.js} +24 -23
  206. package/chunks/{workspace-registration-store-YL7HLYYI.js → workspace-registration-store-HKLJEDQX.js} +1 -2
  207. package/chunks/{workspace-registry-BNRP2ELW.js → workspace-registry-7RDDOBLN.js} +18 -17
  208. package/chunks/{workspace-runtime-coordinator-WKGF7VHS.js → workspace-runtime-coordinator-LEPDPXJO.js} +18 -17
  209. package/chunks/{workspace-service-4MYO72MM.js → workspace-service-5IFDCNN3.js} +23 -22
  210. package/chunks/{workspace-skills-status-SU66TJLZ.js → workspace-skills-status-FJ3HNH4H.js} +22 -21
  211. package/chunks/{workspace-trust-reconciler-D5QT7WQB.js → workspace-trust-reconciler-PQFHIWLR.js} +23 -22
  212. package/chunks/{write-file-NVPQE2AZ.js → write-file-ERG67ZFX.js} +11 -11
  213. package/chunks/{zoom-image-RJHC66WG.js → zoom-image-WQYEC3SR.js} +2 -2
  214. package/cli.js +12 -12
  215. package/export-transcript-document.js +82 -82
  216. package/package.json +4 -4
  217. package/web-shell/assets/{abnfDiagram-VCTEODGH-DHc6plZn.js → abnfDiagram-VCTEODGH-BRLgQbnT.js} +1 -1
  218. package/web-shell/assets/{arc-BQ9m8TDV.js → arc-qAF9_XsR.js} +1 -1
  219. package/web-shell/assets/{architectureDiagram-5GKGNRK7-D5ap3oVB.js → architectureDiagram-5GKGNRK7-BorUttEz.js} +1 -1
  220. package/web-shell/assets/{blockDiagram-NRAW4CY4-BIbnyNph.js → blockDiagram-NRAW4CY4-Bj0qZVxu.js} +1 -1
  221. package/web-shell/assets/{c4Diagram-UCG6FXSJ-BRsdx_iG.js → c4Diagram-UCG6FXSJ-BTqJis32.js} +1 -1
  222. package/web-shell/assets/channel-COIuCrVH.js +1 -0
  223. package/web-shell/assets/{chunk-2Q5K7J3B-3lf1fNlx.js → chunk-2Q5K7J3B-RrQ5X8m-.js} +1 -1
  224. package/web-shell/assets/{chunk-5VM5RSS4-DP8VNRc4.js → chunk-5VM5RSS4-uUjDl8wO.js} +1 -1
  225. package/web-shell/assets/{chunk-F27PBJKO-DrohDmZ6.js → chunk-F27PBJKO-C3JhpyzI.js} +1 -1
  226. package/web-shell/assets/{chunk-G27WJ6UU-UZ2QhSx6.js → chunk-G27WJ6UU-C8ZNFs7F.js} +1 -1
  227. package/web-shell/assets/{chunk-JWPE2WC7-BIMHVcZK.js → chunk-JWPE2WC7-DNpXtEOs.js} +1 -1
  228. package/web-shell/assets/{chunk-LCL6LL3I-izRxdSDd.js → chunk-LCL6LL3I-DagA2ZLw.js} +1 -1
  229. package/web-shell/assets/{chunk-POPQ4Y6H-CXADD4PP.js → chunk-POPQ4Y6H-R23uH7Xm.js} +1 -1
  230. package/web-shell/assets/{chunk-SVP7TREG-B96d8Y_1.js → chunk-SVP7TREG-Qz9RN_BR.js} +1 -1
  231. package/web-shell/assets/{chunk-XXDRQBXY-CF2sVQpv.js → chunk-XXDRQBXY-jYb1_hni.js} +1 -1
  232. package/web-shell/assets/classDiagram-DTDB5LWJ-DoX6OYqu.js +1 -0
  233. package/web-shell/assets/classDiagram-v2-JRS7N3AN-DoX6OYqu.js +1 -0
  234. package/web-shell/assets/{cose-bilkent-JH36ORCC-CT6tXVAS.js → cose-bilkent-JH36ORCC-Cv2OunpE.js} +1 -1
  235. package/web-shell/assets/{cynefin-OW5HDTMX-X1NS4vtV.js → cynefin-OW5HDTMX-LH42KFJx.js} +1 -1
  236. package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-DNsKNOT4.js → cynefinDiagram-5FMLGOSQ-Dha4_OoR.js} +1 -1
  237. package/web-shell/assets/{dagre-3AP2YEHR-9-AHKqsb.js → dagre-3AP2YEHR-Br5lnUKD.js} +1 -1
  238. package/web-shell/assets/{diagram-S7CK7UJ4-Bjgms7j6.js → diagram-S7CK7UJ4-dpKq2bBX.js} +1 -1
  239. package/web-shell/assets/{diagram-UQ7AKVKN-h6bCprbE.js → diagram-UQ7AKVKN-BAgHWpXr.js} +1 -1
  240. package/web-shell/assets/{diagram-VSXAHHWV-4SbQXVLt.js → diagram-VSXAHHWV-GRRzpyE2.js} +1 -1
  241. package/web-shell/assets/{diagram-VX7I27RA-B5gPCzzB.js → diagram-VX7I27RA-BNFiaYpG.js} +1 -1
  242. package/web-shell/assets/{diagram-Z3DM3KII-DFJXIA3A.js → diagram-Z3DM3KII-BisZzB_h.js} +1 -1
  243. package/web-shell/assets/{ebnfDiagram-PWID7BFC-FwyaU7VY.js → ebnfDiagram-PWID7BFC-B1xbwycf.js} +1 -1
  244. package/web-shell/assets/{erDiagram-SSCWMZ5O-8vJQh2te.js → erDiagram-SSCWMZ5O-CQMzbGE5.js} +1 -1
  245. package/web-shell/assets/{flowDiagram-A5DVABFB-BzA_1gMN.js → flowDiagram-A5DVABFB-CZ_Zondl.js} +1 -1
  246. package/web-shell/assets/{ganttDiagram-EL5Y4UJY-Co-ABbVX.js → ganttDiagram-EL5Y4UJY-BTh2ShxS.js} +1 -1
  247. package/web-shell/assets/{gitGraphDiagram-WWUBYQGX-DW_FcyrX.js → gitGraphDiagram-WWUBYQGX-oHOB-Uxt.js} +1 -1
  248. package/web-shell/assets/{index-Bu-rZoJ-.js → index-CI1ysIEv.js} +478 -474
  249. package/web-shell/assets/index-CpxXGH-8.css +36 -0
  250. package/web-shell/assets/{index-BbMXfhNG.js → index-DWoFMu5x.js} +1 -1
  251. package/web-shell/assets/{infoDiagram-RXCK75RN-BEgfhUFN.js → infoDiagram-RXCK75RN-C0QpudbG.js} +1 -1
  252. package/web-shell/assets/{ishikawaDiagram-5VMMS53U-DCsMxQmc.js → ishikawaDiagram-5VMMS53U-a6B741uT.js} +1 -1
  253. package/web-shell/assets/{journeyDiagram-EYS64GPL-DyIEYoHz.js → journeyDiagram-EYS64GPL-Dbht9ICp.js} +1 -1
  254. package/web-shell/assets/{kanban-definition-3QL26DDD-CkxjqCNr.js → kanban-definition-3QL26DDD-D4OFR8-h.js} +1 -1
  255. package/web-shell/assets/{layout-BEWc0Al9.js → layout-Dvdh5jRH.js} +1 -1
  256. package/web-shell/assets/{linear-CNuNxirL.js → linear-Dvc6KIW2.js} +1 -1
  257. package/web-shell/assets/{mermaid.core-DZBre674.js → mermaid.core-CB36RfIb.js} +6 -6
  258. package/web-shell/assets/{mindmap-definition-FBJOCRG2-CpafFz_F.js → mindmap-definition-FBJOCRG2-Fmqo1CjP.js} +1 -1
  259. package/web-shell/assets/{pegDiagram-XKGWAZYB-DfZqk_dq.js → pegDiagram-XKGWAZYB-CCxYBoA4.js} +1 -1
  260. package/web-shell/assets/{pieDiagram-E7YTZNPT-S0UWXlgC.js → pieDiagram-E7YTZNPT-BVHKQFzt.js} +1 -1
  261. package/web-shell/assets/{quadrantDiagram-AXDQQJYC-dd37_Ohj.js → quadrantDiagram-AXDQQJYC-l95IznwR.js} +1 -1
  262. package/web-shell/assets/{railroadDiagram-O6MQD6OU-CH8NJZ7u.js → railroadDiagram-O6MQD6OU-BlLdRdXp.js} +1 -1
  263. package/web-shell/assets/{requirementDiagram-EFPCY7ZU-CFdqWYih.js → requirementDiagram-EFPCY7ZU-BkDLBR5w.js} +1 -1
  264. package/web-shell/assets/{sankeyDiagram-P5KCCOFB-CsddcEGD.js → sankeyDiagram-P5KCCOFB-jAIqRp65.js} +1 -1
  265. package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-BZ270mGw.js → sequenceDiagram-WJ2MYXX4-f-soZYPr.js} +1 -1
  266. package/web-shell/assets/{sizeCapture-X5ZJPWSS-CGaS4DBV.js → sizeCapture-X5ZJPWSS-BzOuAfB2.js} +1 -1
  267. package/web-shell/assets/{stateDiagram-HBIQ2CUA-COpIzMu6.js → stateDiagram-HBIQ2CUA-BPLSs12r.js} +1 -1
  268. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-IRul-LaT.js +1 -0
  269. package/web-shell/assets/{swimlanes-XN3QIQJK-CMF889m3.js → swimlanes-XN3QIQJK-D-9E_RIR.js} +1 -1
  270. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-D6lgKepA.js +8 -0
  271. package/web-shell/assets/{timeline-definition-24CTP7MA-BelnxYz5.js → timeline-definition-24CTP7MA-CT56K-gV.js} +1 -1
  272. package/web-shell/assets/{vennDiagram-4TSXK5OY-CU-NRqIB.js → vennDiagram-4TSXK5OY-B-vi4IyO.js} +1 -1
  273. package/web-shell/assets/{wardleyDiagram-VM6X3IG4-CDNKqWh-.js → wardleyDiagram-VM6X3IG4-C9O7Ju98.js} +1 -1
  274. package/web-shell/assets/{xychartDiagram-S5SC5T6Z-CLqguL5D.js → xychartDiagram-S5SC5T6Z-6d8w3jg2.js} +1 -1
  275. package/web-shell/index.html +2 -2
  276. package/chunks/chunk-X35VIWWJ.js +0 -276
  277. package/web-shell/assets/channel-uMMdTrYk.js +0 -1
  278. package/web-shell/assets/classDiagram-DTDB5LWJ-DcY-26Ig.js +0 -1
  279. package/web-shell/assets/classDiagram-v2-JRS7N3AN-DcY-26Ig.js +0 -1
  280. package/web-shell/assets/index-CsPwZ1ut.css +0 -36
  281. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-D6qEVAji.js +0 -1
  282. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-mem5Jj4m.js +0 -8
@@ -18,7 +18,7 @@ import {
18
18
  matchMcpServerByRef,
19
19
  parseExtensionRef,
20
20
  parseMcpServerRef
21
- } from "./chunk-QXXBW2G4.js";
21
+ } from "./chunk-4JNHNVAZ.js";
22
22
  import {
23
23
  getAvailableCommands,
24
24
  getSlashCommandFirstToken,
@@ -28,10 +28,10 @@ import {
28
28
  pLimit,
29
29
  recordDaemonSessionModel,
30
30
  restoreSessionModelThenAuthenticate
31
- } from "./chunk-ODBNTMZW.js";
31
+ } from "./chunk-FAJPLSYF.js";
32
32
  import {
33
33
  recomputeMcpGating
34
- } from "./chunk-XAXTQURR.js";
34
+ } from "./chunk-APXIW2TF.js";
35
35
  import {
36
36
  SessionIdConflictError,
37
37
  appEvents,
@@ -41,39 +41,39 @@ import {
41
41
  loadCliConfig,
42
42
  normalizeDisabledToolList,
43
43
  parseApprovalModeValue
44
- } from "./chunk-WZ4YULVF.js";
44
+ } from "./chunk-3OAXF3UK.js";
45
45
  import {
46
46
  getCommandSubcommandNames
47
- } from "./chunk-QJAFSFYA.js";
47
+ } from "./chunk-CWVZBIZJ.js";
48
48
  import {
49
49
  getEffectiveSupportedModes
50
- } from "./chunk-W3ONSAYO.js";
51
- import "./chunk-3SH53ANB.js";
50
+ } from "./chunk-TOOOLHVS.js";
51
+ import "./chunk-22GORRNY.js";
52
52
  import "./chunk-NYX53SV4.js";
53
53
  import "./chunk-UYDQYDW2.js";
54
54
  import {
55
55
  collectContextData,
56
56
  formatContextUsageText
57
- } from "./chunk-7L35FKPF.js";
57
+ } from "./chunk-2BMXHB6N.js";
58
58
  import "./chunk-4WGODMVR.js";
59
59
  import {
60
60
  startNonInteractiveOpenAILogHousekeeping
61
- } from "./chunk-J4ECGDA3.js";
61
+ } from "./chunk-ELD3OBPU.js";
62
62
  import "./chunk-KW7NOTN6.js";
63
63
  import "./chunk-2XRE4KE4.js";
64
- import "./chunk-W673V2H3.js";
65
- import "./chunk-VEQBVJYH.js";
66
- import "./chunk-CG2PDIGD.js";
64
+ import "./chunk-46MMBZHI.js";
65
+ import "./chunk-R457KFV7.js";
66
+ import "./chunk-RM244SCQ.js";
67
67
  import {
68
68
  isGoalStatusKind
69
69
  } from "./chunk-EKTCKZV5.js";
70
- import "./chunk-LUVXLLMS.js";
70
+ import "./chunk-IR6JKBAP.js";
71
71
  import "./chunk-YAF2MQZ6.js";
72
72
  import {
73
73
  computeCpuPercent
74
74
  } from "./chunk-LBOVL47Y.js";
75
75
  import "./chunk-24FVUD5P.js";
76
- import "./chunk-QLM7D7W3.js";
76
+ import "./chunk-QFJZAY7W.js";
77
77
  import "./chunk-6H67XLET.js";
78
78
  import {
79
79
  beginAcpBootstrapConfigProfiling,
@@ -101,7 +101,7 @@ import {
101
101
  shouldSuppressRememberErrorDetails,
102
102
  workspaceMemoryFailureCode,
103
103
  workspaceMemoryFailureDiagnostics
104
- } from "./chunk-MMMA36MN.js";
104
+ } from "./chunk-BK7D2JR6.js";
105
105
  import {
106
106
  BaseEmitter,
107
107
  HistoryReplayer,
@@ -112,7 +112,7 @@ import {
112
112
  hasFullSessionContext,
113
113
  observeAcpToolResultProjection,
114
114
  observeAcpToolResultWire
115
- } from "./chunk-UULHYZ4W.js";
115
+ } from "./chunk-WDN64MVT.js";
116
116
  import "./chunk-M3JGHRMQ.js";
117
117
  import "./chunk-VFFQAOPR.js";
118
118
  import "./chunk-ERXNTINK.js";
@@ -143,7 +143,7 @@ import {
143
143
  normalizeChannelDeliveryText,
144
144
  scheduledTaskRunSessionName,
145
145
  scheduledTaskRunSourceId
146
- } from "./chunk-TK4XHPKW.js";
146
+ } from "./chunk-G37O7YO6.js";
147
147
  import {
148
148
  normalizeSessionIdForLookup,
149
149
  parseCallerSuppliedSessionId
@@ -154,7 +154,7 @@ import {
154
154
  buildPermissionSettings,
155
155
  normalizePermissionRules,
156
156
  readPermissionRuleSet
157
- } from "./chunk-ZIPYCXQP.js";
157
+ } from "./chunk-WXPPUPHM.js";
158
158
  import {
159
159
  MAX_AUDIO_BYTES,
160
160
  sanitizeVoiceErrorMessage,
@@ -164,12 +164,12 @@ import {
164
164
  readVoiceModel
165
165
  } from "./chunk-NB3NDQQK.js";
166
166
  import "./chunk-Y53DG2HA.js";
167
- import "./chunk-EA4NFWVG.js";
168
- import "./chunk-R2266LQ5.js";
167
+ import "./chunk-5OZUKLL7.js";
168
+ import "./chunk-4WMGYG3F.js";
169
169
  import "./chunk-JS73NNWF.js";
170
170
  import {
171
171
  SCHEDULED_TASK_RUN_SOURCE_TYPE
172
- } from "./chunk-63ACHB2H.js";
172
+ } from "./chunk-QTB4VP4K.js";
173
173
  import "./chunk-7U5G6JXI.js";
174
174
  import "./chunk-WCCLLK7X.js";
175
175
  import "./chunk-OCPBI7J5.js";
@@ -187,10 +187,12 @@ import {
187
187
  buildModelReasoningConfigPreview,
188
188
  clearReasoningRequestOverrides,
189
189
  getConfiguredModelReasoning,
190
+ getDefaultReasoningConfig,
191
+ getGptReasoningOverrideState,
190
192
  isReasoningSelectionSupported,
191
193
  parseReasoningSelection,
192
194
  resolvePersistedReasoningConfigState
193
- } from "./chunk-2OR32P5M.js";
195
+ } from "./chunk-ZN5TKAVR.js";
194
196
  import {
195
197
  ACP_ROUTE_ID_PREFIX,
196
198
  buildAcpModelOptions,
@@ -199,7 +201,7 @@ import {
199
201
  parseAcpModelOption,
200
202
  resolveAcpModelOption,
201
203
  sanitizeProviderBaseUrl
202
- } from "./chunk-7GZCCHJL.js";
204
+ } from "./chunk-7LTCFO6T.js";
203
205
  import {
204
206
  mapSkillConfigToStatus
205
207
  } from "./chunk-BHTYRHJF.js";
@@ -214,18 +216,18 @@ import {
214
216
  import {
215
217
  resolveSkillSettings
216
218
  } from "./chunk-HWVUSYSN.js";
217
- import "./chunk-5WC2ECUK.js";
218
- import "./chunk-4JKLPTV6.js";
219
- import "./chunk-ORREXWOM.js";
219
+ import "./chunk-7PD7ZMX5.js";
220
+ import "./chunk-G3ZUMSFS.js";
221
+ import "./chunk-TODNHE76.js";
220
222
  import "./chunk-57OAHC2Y.js";
221
- import "./chunk-UXDVUFKU.js";
222
- import "./chunk-UHUT4IDM.js";
223
- import "./chunk-3BTHHXXE.js";
223
+ import "./chunk-ULZECEIP.js";
224
+ import "./chunk-PFKGV6PO.js";
225
+ import "./chunk-AUTUFD5X.js";
224
226
  import "./chunk-V6WHFGST.js";
225
227
  import {
226
228
  createLoadedSettingsAdapter
227
- } from "./chunk-NVS4Z6GT.js";
228
- import "./chunk-45ROPFQY.js";
229
+ } from "./chunk-QHLHE2OT.js";
230
+ import "./chunk-JYGIJA4W.js";
229
231
  import "./chunk-N6VQ37ZZ.js";
230
232
  import {
231
233
  ACTIVE_WORK_CLOSE_IF_UNHELD_PARAM,
@@ -273,7 +275,7 @@ import {
273
275
  import "./chunk-6PLDPT2C.js";
274
276
  import "./chunk-FYJ7W2PI.js";
275
277
  import "./chunk-STUJ7IMZ.js";
276
- import "./chunk-GM44O6F7.js";
278
+ import "./chunk-DARWOZY6.js";
277
279
  import "./chunk-GYTKQYDB.js";
278
280
  import "./chunk-ALMR3E6Q.js";
279
281
  import "./chunk-RKFGE7JH.js";
@@ -288,21 +290,21 @@ import {
288
290
  SHELL_EXECUTING_TOOL_NAMES,
289
291
  isValidExternalToolGuardDenialReason
290
292
  } from "./chunk-3VUENPWF.js";
293
+ import "./chunk-TGNNLRC3.js";
291
294
  import {
292
295
  ACP_EVENT_LOOP_STALL_RESTART_MS,
293
296
  CHANNEL_PROMPT_META_KEY
294
- } from "./chunk-XVTCSVBK.js";
297
+ } from "./chunk-WDVV3LRM.js";
295
298
  import {
296
299
  AgentSideConnection,
297
300
  PROTOCOL_VERSION,
298
301
  RequestError
299
302
  } from "./chunk-IW6RQPQB.js";
300
- import "./chunk-5HBA2Z7V.js";
301
- import "./chunk-X35VIWWJ.js";
303
+ import "./chunk-NFXXBWSE.js";
302
304
  import {
303
305
  assembleMcpServers,
304
306
  loadMcpApprovals
305
- } from "./chunk-W7PXLIZJ.js";
307
+ } from "./chunk-RNAJVXUG.js";
306
308
  import {
307
309
  deleteNestedPropertySafe,
308
310
  getOutputLanguageFilePath,
@@ -314,8 +316,8 @@ import {
314
316
  settingExistsInScope,
315
317
  updateOutputLanguageFile,
316
318
  writeOutputLanguageAndRegisterPath
317
- } from "./chunk-Q2F43WTJ.js";
318
- import "./chunk-MWEF5MUK.js";
319
+ } from "./chunk-WBU2PIZ5.js";
320
+ import "./chunk-XSOXPG2L.js";
319
321
  import "./chunk-RKUWKYED.js";
320
322
  import "./chunk-BW4333PP.js";
321
323
  import {
@@ -333,26 +335,27 @@ import {
333
335
  findEnvFiles,
334
336
  preResolveHomeEnvOverrides,
335
337
  reloadEnvironment
336
- } from "./chunk-Y6ZWXM44.js";
338
+ } from "./chunk-5BH2AIEY.js";
337
339
  import {
338
340
  ENV_ACP_REPEATED_TOOL_FAILURE_GUARD,
339
341
  QWEN_CODE_SERVE_ENV
340
342
  } from "./chunk-QTNCGZHQ.js";
341
343
  import "./chunk-2EAZ43JQ.js";
342
344
  import "./chunk-NF5J2WFA.js";
343
- import "./chunk-ISPBBKJN.js";
345
+ import "./chunk-MV5DTLJV.js";
344
346
  import "./chunk-W3N5XAZ6.js";
345
347
  import {
346
348
  isWorkspaceTrusted,
347
349
  loadTrustedFolders
348
- } from "./chunk-7RXOEUFF.js";
350
+ } from "./chunk-NX7ZTXFF.js";
349
351
  import "./chunk-NPQ5ZKRP.js";
350
352
  import "./chunk-MR3PXB6E.js";
351
353
  import {
352
- ALL_PROVIDERS,
353
354
  BTW_MAX_INPUT_LENGTH,
355
+ DroppedNotificationTally,
354
356
  IMAGE_CAPABILITY,
355
357
  LoopTickResolver,
358
+ MAX_BACKGROUND_NOTIFICATION_QUEUE,
356
359
  McpTransportPool,
357
360
  TURN_INTERRUPTION_HISTORY_TAIL_COUNT,
358
361
  WorkspaceMcpBudget,
@@ -360,24 +363,19 @@ import {
360
363
  buildBtwCacheSafeParams,
361
364
  buildBtwPrompt,
362
365
  buildGoalContinuationParts,
363
- buildInstallPlan,
364
366
  buildSessionRecoveryPlanFromApiHistory,
365
367
  countApiUserPrompts,
368
+ decideNotificationAdmission,
366
369
  detectAutonomousSentinel,
367
370
  detectLoopSentinel,
368
371
  findApiRewindCutPoint,
369
- findExistingProviderModels,
370
- findProviderById,
371
372
  generatePromptSuggestion,
372
373
  generateSessionRecap,
373
- getDefaultBaseUrlForProtocol,
374
- getDefaultModelIds,
375
374
  projectGoalStateToLegacy,
376
375
  readManyFiles,
377
- resolveBaseUrl,
378
376
  runManagedRememberByAgent,
379
377
  subagentGenerator
380
- } from "./chunk-BL6B2QS2.js";
378
+ } from "./chunk-GOEVQADN.js";
381
379
  import {
382
380
  buildToolWriteOriginMeta
383
381
  } from "./chunk-GELRJXE2.js";
@@ -390,7 +388,7 @@ import {
390
388
  listWorkflowSnapshots,
391
389
  resolveSavedWorkflowScript,
392
390
  toSnapshot
393
- } from "./chunk-G5QLLD53.js";
391
+ } from "./chunk-OXR34GCD.js";
394
392
  import "./chunk-XFSFZCM5.js";
395
393
  import {
396
394
  CreateSubSessionTool
@@ -399,19 +397,28 @@ import "./chunk-LJZSMWOH.js";
399
397
  import {
400
398
  restoreWorktreeContext
401
399
  } from "./chunk-YZTGGCEE.js";
402
- import "./chunk-DCPRCDSR.js";
400
+ import {
401
+ ALL_PROVIDERS,
402
+ buildInstallPlan,
403
+ findExistingProviderModels,
404
+ findProviderById,
405
+ getDefaultBaseUrlForProtocol,
406
+ getDefaultModelIds,
407
+ resolveBaseUrl
408
+ } from "./chunk-2WC3Y7YY.js";
409
+ import "./chunk-IWABUX6T.js";
403
410
  import "./chunk-DJXSOEFB.js";
404
- import "./chunk-LN3WBOKU.js";
411
+ import "./chunk-YQGW3M6Z.js";
405
412
  import "./chunk-J3VZF2AL.js";
406
413
  import "./chunk-OWCFKIFQ.js";
407
414
  import "./chunk-ZPJWUGCS.js";
408
- import "./chunk-5Z4FCEPY.js";
415
+ import "./chunk-X7LFJF5D.js";
409
416
  import "./chunk-BUQN5LTI.js";
410
417
  import {
411
418
  clearCachedCredentialFile,
412
419
  qwenOAuth2Events
413
420
  } from "./chunk-XDNFODER.js";
414
- import "./chunk-XI7RST4D.js";
421
+ import "./chunk-GOKAOSCN.js";
415
422
  import "./chunk-VNOVK4I7.js";
416
423
  import {
417
424
  APPROVAL_MODE_INFO,
@@ -551,7 +558,7 @@ import {
551
558
  updateSetting,
552
559
  validatePlanModeShellApproval,
553
560
  validatePlanModeShellContext
554
- } from "./chunk-43CI6YWJ.js";
561
+ } from "./chunk-HJ5UJQQL.js";
555
562
  import "./chunk-GOFAQQZA.js";
556
563
  import "./chunk-65I7S4Z3.js";
557
564
  import "./chunk-6HUXPLB5.js";
@@ -559,9 +566,9 @@ import "./chunk-TWPJO254.js";
559
566
  import {
560
567
  external_exports
561
568
  } from "./chunk-CQ35AJ4Z.js";
562
- import "./chunk-YHDGABDC.js";
569
+ import "./chunk-XKBFYTCD.js";
563
570
  import "./chunk-LYT2OU7D.js";
564
- import "./chunk-B54PFQS5.js";
571
+ import "./chunk-7CLLH5TI.js";
565
572
  import "./chunk-HIXUUCGY.js";
566
573
  import {
567
574
  parsePositiveIntegerEnv
@@ -574,7 +581,7 @@ import {
574
581
  normalizeEventPayload,
575
582
  normalizeSnapshotPayload,
576
583
  wrapUserPromptSubmitContext
577
- } from "./chunk-FDOGGKAA.js";
584
+ } from "./chunk-GSFV5RQW.js";
578
585
  import "./chunk-IRH27ZC2.js";
579
586
  import "./chunk-QHWCP53L.js";
580
587
  import "./chunk-F53KKZUD.js";
@@ -589,8 +596,8 @@ import {
589
596
  escapeJsonTagCharacters
590
597
  } from "./chunk-CHEIIBT3.js";
591
598
  import "./chunk-QAZ2MGYT.js";
592
- import "./chunk-B44JBZBB.js";
593
- import "./chunk-BF3RUIVP.js";
599
+ import "./chunk-QQK4L3UU.js";
600
+ import "./chunk-CH2YDT6X.js";
594
601
  import {
595
602
  APPROVAL_MODES
596
603
  } from "./chunk-JX6XHPTX.js";
@@ -613,7 +620,7 @@ import {
613
620
  } from "./chunk-3LPJ776W.js";
614
621
  import "./chunk-3CZ2BQV6.js";
615
622
  import "./chunk-PQEISIKS.js";
616
- import "./chunk-VF6D6EGV.js";
623
+ import "./chunk-S5QR6CB5.js";
617
624
  import {
618
625
  runWithRuntimeContentGenerator
619
626
  } from "./chunk-H3Q3RSKZ.js";
@@ -626,8 +633,10 @@ import {
626
633
  getToolCallPreparations
627
634
  } from "./chunk-CFKIH3D3.js";
628
635
  import {
629
- REASONING_EFFORT_TIERS
630
- } from "./chunk-6YEOCHSE.js";
636
+ REASONING_EFFORT_TIERS,
637
+ getGptReasoningCapabilities,
638
+ parseModelReasoningCapabilities
639
+ } from "./chunk-VBLAI2HA.js";
631
640
  import "./chunk-DJ2GSRLV.js";
632
641
  import "./chunk-4ALNJDHL.js";
633
642
  import "./chunk-NOO4QFXM.js";
@@ -662,7 +671,7 @@ import {
662
671
  shouldRunVisionBridge,
663
672
  splitImageParts,
664
673
  uiTelemetryService
665
- } from "./chunk-OIPUQE3S.js";
674
+ } from "./chunk-F2NYVASI.js";
666
675
  import {
667
676
  INVOCATION_CONTEXT_META_KEY,
668
677
  PRIVATE_ACP_CAPABILITY_ENV,
@@ -691,7 +700,7 @@ import "./chunk-TIGXX4PA.js";
691
700
  import {
692
701
  hasVertexProjectConfigured,
693
702
  preloadContentGenerator
694
- } from "./chunk-DTB5BXRG.js";
703
+ } from "./chunk-JO77FGNZ.js";
695
704
  import "./chunk-XFFRI3WM.js";
696
705
  import {
697
706
  AuthType
@@ -737,11 +746,11 @@ import {
737
746
  isSubpath,
738
747
  sessionIdContext
739
748
  } from "./chunk-ZAFYHRVY.js";
740
- import "./chunk-L6ZME3W7.js";
749
+ import "./chunk-CMWU6P4D.js";
741
750
  import "./chunk-HRPFBHW7.js";
742
751
  import {
743
752
  runExitCleanup
744
- } from "./chunk-JDPBJIKI.js";
753
+ } from "./chunk-DAI65CMX.js";
745
754
  import {
746
755
  writeStderrLine,
747
756
  writeStderrLineSafe
@@ -3834,6 +3843,15 @@ var TodoStopGuardClaimTimeoutError = class extends Error {
3834
3843
  );
3835
3844
  }
3836
3845
  };
3846
+ function toAdmissibleNotification(item) {
3847
+ return {
3848
+ kind: item.kind,
3849
+ taskId: item.taskId,
3850
+ interim: item.kind === "monitor" && item.status === "running",
3851
+ persisted: item.persisted
3852
+ };
3853
+ }
3854
+ __name(toAdmissibleNotification, "toAdmissibleNotification");
3837
3855
  function beginChannelDeliveryResponseBlock(capture) {
3838
3856
  capture?.agentOutput.beginResponse();
3839
3857
  if (capture?.channelDelivery) capture.channelDelivery.finalText = "";
@@ -3895,7 +3913,6 @@ function parsePromptChannelDelivery(params) {
3895
3913
  };
3896
3914
  }
3897
3915
  __name(parsePromptChannelDelivery, "parsePromptChannelDelivery");
3898
- var MAX_NOTIFICATION_QUEUE = 20;
3899
3916
  var MAX_DEFERRED_UNRELATED_CRON_QUEUE = 20;
3900
3917
  function resolveExistingFile(resolved, resolveRealPath2 = realpathSync2, statFile = statSync2) {
3901
3918
  try {
@@ -4230,6 +4247,12 @@ var Session = class {
4230
4247
  // Background notification drain state. ACP does not have the TUI's idle
4231
4248
  // hook, so the session serializes registry callbacks through this queue.
4232
4249
  notificationQueue = [];
4250
+ /**
4251
+ * Notifications lost to queue overflow since the last drain. Reported as one
4252
+ * summary on the next notification turn rather than per loss, so an overflow
4253
+ * burst cannot itself flood the session.
4254
+ */
4255
+ droppedNotifications = new DroppedNotificationTally();
4233
4256
  notificationProcessing = false;
4234
4257
  notificationAbortController = null;
4235
4258
  notificationCompletion = null;
@@ -4358,19 +4381,17 @@ var Session = class {
4358
4381
  const host = {
4359
4382
  startGoalTurn: /* @__PURE__ */ __name(async (input) => {
4360
4383
  if (this.goalQueue.some(
4361
- ({ permit }) => permit.turnId === input.permit.turnId
4384
+ ({ permit: permit2 }) => permit2.turnId === input.permit.turnId
4362
4385
  ) || this.activeGoalTurn?.permit.turnId === input.permit.turnId) {
4363
4386
  return;
4364
4387
  }
4388
+ const { permit, ...continuation } = input;
4365
4389
  this.goalQueue.push({
4366
- permit: { ...input.permit },
4367
- turnKey: `goal-runtime:${input.permit.turnId}`,
4390
+ permit: { ...permit },
4391
+ turnKey: `goal-runtime:${permit.turnId}`,
4368
4392
  controller: new AbortController(),
4369
4393
  origin: "runtime",
4370
- continuationContext: input.continuationContext,
4371
- ...input.objectiveUpdated ? { objectiveUpdated: input.objectiveUpdated } : {},
4372
- ...input.windDown ? { windDown: true } : {},
4373
- ...input.verifierFeedback ? { verifierFeedback: input.verifierFeedback } : {},
4394
+ ...continuation,
4374
4395
  modelStarted: false
4375
4396
  });
4376
4397
  void this.#drainGoalQueue();
@@ -5806,6 +5827,7 @@ var Session = class {
5806
5827
  this.closeGateCompletion = null;
5807
5828
  this.hardSuspendTodoStopGuard();
5808
5829
  this.notificationQueue = [];
5830
+ this.droppedNotifications.clear();
5809
5831
  this.cronQueue = [];
5810
5832
  for (const turn of this.goalQueue.splice(0)) {
5811
5833
  turn.controller.abort(SESSION_DISPOSE_ABORT_REASON);
@@ -6018,6 +6040,7 @@ var Session = class {
6018
6040
  this.notificationAbortController = null;
6019
6041
  }
6020
6042
  this.notificationQueue = [];
6043
+ this.droppedNotifications.clear();
6021
6044
  this.notificationProcessing = false;
6022
6045
  const queuedGoalTurn = queuedGoalTurns[0];
6023
6046
  if (queuedGoalTurn) {
@@ -6188,6 +6211,7 @@ var Session = class {
6188
6211
  this.notificationAbortController.abort();
6189
6212
  this.notificationAbortController = null;
6190
6213
  this.notificationQueue = [];
6214
+ this.droppedNotifications.clear();
6191
6215
  this.notificationProcessing = false;
6192
6216
  }
6193
6217
  if (this.notificationCompletion) {
@@ -6528,6 +6552,7 @@ var Session = class {
6528
6552
  }
6529
6553
  this.turn += 1;
6530
6554
  const promptId = this.config.getSessionId() + "########" + this.turn;
6555
+ const daemonPromptId = getInvocationContext()?.promptId;
6531
6556
  const promptMetadata = params._meta;
6532
6557
  const continuesCurrentWorkChain = params.retry === true || promptMetadata?.[DAEMON_RETRY_META_KEY] === true || promptMetadata?.[DAEMON_CONTINUE_META_KEY] === true || promptMetadata?.[DAEMON_RESTORE_ASK_USER_QUESTION_META_KEY] === true;
6533
6558
  promptIdContext.enterWith(promptId);
@@ -6621,17 +6646,16 @@ var Session = class {
6621
6646
  promptMetadata?.[DAEMON_ATTACHMENT_REFERENCES_META_KEY]
6622
6647
  );
6623
6648
  const recorder = this.config.getChatRecordingService();
6624
- if (promptDisplayText !== void 0 || attachmentReferences) {
6625
- recorder?.recordUserMessage(promptText, goalTurn?.permit, {
6649
+ recorder?.recordUserMessage(
6650
+ promptText,
6651
+ goalTurn?.permit,
6652
+ promptDisplayText !== void 0 || attachmentReferences ? {
6626
6653
  displayText: promptDisplayText ?? promptText,
6627
6654
  hookContext: "",
6628
6655
  ...attachmentReferences ? { attachmentReferences } : {}
6629
- });
6630
- } else if (goalTurn) {
6631
- recorder?.recordUserMessage(promptText, goalTurn.permit);
6632
- } else {
6633
- recorder?.recordUserMessage(promptText);
6634
- }
6656
+ } : void 0,
6657
+ daemonPromptId
6658
+ );
6635
6659
  }
6636
6660
  if (!isSlashInput && !isContinue && !isRestoreAskUserQuestion && !isRetry) {
6637
6661
  this.refreshContextFilesOnWrite = false;
@@ -6681,16 +6705,12 @@ var Session = class {
6681
6705
  const shouldRecordSlashCommand = !(resolvedCommandInfo?.kind === "built-in" /* BUILT_IN */ && resolvedCommandInfo.name === "advisor");
6682
6706
  if (slashCommandName === "advisor" && shouldRecordSlashCommand && goalTurn?.origin !== "runtime" && !isRetry) {
6683
6707
  const recorder = this.config.getChatRecordingService();
6684
- if (promptDisplayText !== void 0) {
6685
- recorder?.recordUserMessage(promptText, goalTurn?.permit, {
6686
- displayText: promptDisplayText,
6687
- hookContext: ""
6688
- });
6689
- } else if (goalTurn) {
6690
- recorder?.recordUserMessage(promptText, goalTurn.permit);
6691
- } else {
6692
- recorder?.recordUserMessage(promptText);
6693
- }
6708
+ recorder?.recordUserMessage(
6709
+ promptText,
6710
+ goalTurn?.permit,
6711
+ promptDisplayText !== void 0 ? { displayText: promptDisplayText, hookContext: "" } : void 0,
6712
+ daemonPromptId
6713
+ );
6694
6714
  }
6695
6715
  try {
6696
6716
  parts = await this.#processSlashCommandResult(
@@ -9689,30 +9709,34 @@ ${this.pendingRecoveredAgentsNotice}
9689
9709
  }
9690
9710
  }
9691
9711
  #enqueueBackgroundNotification(item) {
9692
- while (this.notificationQueue.length >= MAX_NOTIFICATION_QUEUE) {
9693
- let evictedIndex = 0;
9694
- if (this.todoStopGuard.blocksUnrelatedAutomaticTurns || this.todoStopGuardQueuedPromptPriority) {
9712
+ while (this.notificationQueue.length >= MAX_BACKGROUND_NOTIFICATION_QUEUE) {
9713
+ const guardDefersUnrelatedWork = this.todoStopGuard.blocksUnrelatedAutomaticTurns || this.todoStopGuardQueuedPromptPriority;
9714
+ const admission = decideNotificationAdmission(
9715
+ this.notificationQueue.map(toAdmissibleNotification),
9716
+ toAdmissibleNotification(item),
9717
+ {
9718
+ max: MAX_BACKGROUND_NOTIFICATION_QUEUE,
9719
+ isProtected: /* @__PURE__ */ __name((_projected, index) => guardDefersUnrelatedWork && this.#notificationContinuesTodoStopGuardWorkChain(
9720
+ this.notificationQueue[index]
9721
+ ), "isProtected")
9722
+ }
9723
+ );
9724
+ if (admission.action === "drop") {
9695
9725
  const incomingIsRelated = this.#notificationContinuesTodoStopGuardWorkChain(item);
9696
- evictedIndex = this.notificationQueue.findIndex(
9697
- (queued) => !this.#notificationContinuesTodoStopGuardWorkChain(queued)
9726
+ debugLogger6.warn(
9727
+ incomingIsRelated ? `Notification queue overflow: dropping related task=${item.taskId} kind=${item.kind} because all queued items are related` : `Notification queue overflow: dropping unrelated task=${item.taskId} kind=${item.kind} while automatic work is deferred`
9698
9728
  );
9699
- if (evictedIndex < 0 && !incomingIsRelated) {
9700
- debugLogger6.warn(
9701
- `Notification queue overflow: dropping unrelated task=${item.taskId} kind=${item.kind} while automatic work is deferred`
9702
- );
9703
- return;
9704
- }
9705
- if (evictedIndex < 0) {
9706
- debugLogger6.warn(
9707
- `Notification queue overflow: dropping related task=${item.taskId} kind=${item.kind} because all queued items are related`
9708
- );
9709
- return;
9710
- }
9729
+ this.droppedNotifications.record(toAdmissibleNotification(item));
9730
+ return;
9711
9731
  }
9712
- const [evicted] = this.notificationQueue.splice(evictedIndex, 1);
9732
+ if (admission.action === "push") break;
9733
+ const [evicted] = this.notificationQueue.splice(admission.index, 1);
9713
9734
  debugLogger6.warn(
9714
9735
  `Notification queue overflow: evicting task=${evicted?.taskId ?? "unknown"} kind=${evicted?.kind ?? "unknown"}`
9715
9736
  );
9737
+ if (evicted) {
9738
+ this.droppedNotifications.record(toAdmissibleNotification(evicted));
9739
+ }
9716
9740
  }
9717
9741
  this.notificationQueue.push(item);
9718
9742
  this.#activeWorkChanged();
@@ -9905,16 +9929,39 @@ ${this.pendingRecoveredAgentsNotice}
9905
9929
  promptId,
9906
9930
  item.todoWorkChainId
9907
9931
  );
9932
+ const droppedSummary = this.droppedNotifications.take();
9933
+ if (droppedSummary) {
9934
+ await this.#emitDroppedNotificationSummary(droppedSummary);
9935
+ }
9908
9936
  await this.#emitBackgroundNotificationDisplay(item);
9909
9937
  const notificationParts = [{ text: item.modelText }];
9938
+ if (droppedSummary) {
9939
+ notificationParts.unshift({ text: droppedSummary.modelText });
9940
+ }
9910
9941
  if (!item.persisted) {
9911
- this.config.getChatRecordingService()?.recordNotification(notificationParts, item.displayText, {
9912
- taskId: item.taskId,
9913
- status: item.status,
9914
- kind: item.kind,
9915
- toolUseId: item.toolUseId,
9916
- ...item.structured
9917
- });
9942
+ const recording = this.config.getChatRecordingService();
9943
+ if (droppedSummary) {
9944
+ recording?.recordNotification(
9945
+ [{ text: droppedSummary.modelText }],
9946
+ droppedSummary.displayText
9947
+ );
9948
+ }
9949
+ recording?.recordNotification(
9950
+ [{ text: item.modelText }],
9951
+ item.displayText,
9952
+ {
9953
+ taskId: item.taskId,
9954
+ status: item.status,
9955
+ kind: item.kind,
9956
+ toolUseId: item.toolUseId,
9957
+ ...item.structured
9958
+ }
9959
+ );
9960
+ } else if (droppedSummary) {
9961
+ this.config.getChatRecordingService()?.recordNotification(
9962
+ [{ text: droppedSummary.modelText }],
9963
+ droppedSummary.displayText
9964
+ );
9918
9965
  }
9919
9966
  const notificationReminders = await this.#buildInitialSystemReminders();
9920
9967
  const activeTodoReminder = this.config.takeActiveTodoReminder(
@@ -10131,6 +10178,17 @@ ${this.pendingRecoveredAgentsNotice}
10131
10178
  }
10132
10179
  );
10133
10180
  }
10181
+ async #emitDroppedNotificationSummary(summary) {
10182
+ await this.sendUpdate({
10183
+ sessionUpdate: "agent_message_chunk",
10184
+ content: { type: "text", text: summary.displayText },
10185
+ _meta: {
10186
+ source: "background_notification",
10187
+ qwenDiscreteMessage: true,
10188
+ backgroundTask: { kind: "queue", status: summary.status }
10189
+ }
10190
+ });
10191
+ }
10134
10192
  async #emitBackgroundNotificationDisplay(item) {
10135
10193
  await this.sendUpdate({
10136
10194
  sessionUpdate: "agent_message_chunk",
@@ -10343,7 +10401,10 @@ ${this.pendingRecoveredAgentsNotice}
10343
10401
  void this.client.extNotification("qwen/notify/session/mode-update", {
10344
10402
  v: 1,
10345
10403
  sessionId: this.sessionId,
10346
- currentModeId: params.modeId
10404
+ currentModeId: params.modeId,
10405
+ ...approvalMode === "plan" /* PLAN */ ? {
10406
+ planExecutionMode: this.config.getPlanExecutionMode?.() ?? this.config.getPrePlanMode?.()
10407
+ } : {}
10347
10408
  }).catch((error) => {
10348
10409
  debugLogger6.debug("mode-update extNotification failed", error);
10349
10410
  });
@@ -10445,14 +10506,7 @@ ${this.pendingRecoveredAgentsNotice}
10445
10506
  };
10446
10507
  }
10447
10508
  getDefaultReasoningConfig() {
10448
- const authType = this.config.getAuthType?.();
10449
- const model = authType && !this.config.getActiveRuntimeModelSnapshot?.() ? this.config.getResolvedModelConfig?.(
10450
- authType,
10451
- this.config.getModel(),
10452
- this.config.getCurrentModelRegistryBaseUrl?.() ?? void 0
10453
- ) : void 0;
10454
- if (model) return model.generationConfig.reasoning;
10455
- return this.settings.merged.model?.generationConfig?.reasoning;
10509
+ return getDefaultReasoningConfig(this.config, this.settings);
10456
10510
  }
10457
10511
  reloadReasoningSelection() {
10458
10512
  this.settings.reloadScopeFromDisk("User" /* User */);
@@ -10513,25 +10567,24 @@ ${this.pendingRecoveredAgentsNotice}
10513
10567
  const generation = this.config.getContentGeneratorConfig?.();
10514
10568
  const thinkingMandatory = generation?.thinkingMandatory === true;
10515
10569
  const modelReasoning = getConfiguredModelReasoning(this.config, modelId);
10516
- let supported = selection !== void 0 && selection !== REASONING_EFFORT_DEFAULT && isReasoningSelectionSupported(
10570
+ const gptCapabilities = getGptReasoningCapabilities(modelId);
10571
+ const configuredReasoning = parseModelReasoningCapabilities(modelReasoning);
10572
+ const gptModel = gptCapabilities !== void 0 && !configuredReasoning;
10573
+ const supportsPreference = /* @__PURE__ */ __name((value) => value !== void 0 && value !== REASONING_EFFORT_DEFAULT && (gptModel && value !== REASONING_EFFORT_NONE || isReasoningSelectionSupported(
10517
10574
  modelId,
10518
- selection,
10575
+ value,
10519
10576
  thinkingMandatory,
10520
10577
  modelReasoning
10521
- );
10578
+ )), "supportsPreference");
10579
+ let supported = supportsPreference(selection);
10522
10580
  const appliesSessionDefault = hasSessionSelection && selection === REASONING_EFFORT_DEFAULT;
10523
10581
  if (hasSessionSelection && !supported && !appliesSessionDefault) {
10524
10582
  this.sessionReasoningSelection = void 0;
10525
10583
  hasSessionSelection = false;
10526
10584
  selection = parseReasoningSelection(rawSelection);
10527
- supported = selection !== void 0 && selection !== REASONING_EFFORT_DEFAULT && isReasoningSelectionSupported(
10528
- modelId,
10529
- selection,
10530
- thinkingMandatory,
10531
- modelReasoning
10532
- );
10585
+ supported = supportsPreference(selection);
10533
10586
  }
10534
- if (!hasSessionSelection && rawSelection !== void 0 && !supported && options.persist) {
10587
+ if (!hasSessionSelection && rawSelection !== void 0 && !supported && !(selection === REASONING_EFFORT_NONE && gptCapabilities !== void 0 && configuredReasoning?.canDisable !== false) && options.persist) {
10535
10588
  try {
10536
10589
  this.persistReasoningSelection(REASONING_EFFORT_DEFAULT);
10537
10590
  } catch (error) {
@@ -10585,6 +10638,9 @@ ${this.pendingRecoveredAgentsNotice}
10585
10638
  v: 1,
10586
10639
  sessionId: this.sessionId,
10587
10640
  currentModeId: newModeId,
10641
+ ...newModeId === "plan" /* PLAN */ ? {
10642
+ planExecutionMode: this.config.getPlanExecutionMode?.() ?? this.config.getPrePlanMode?.()
10643
+ } : {},
10588
10644
  legacyFrameSent
10589
10645
  });
10590
10646
  } catch (error) {
@@ -12098,7 +12154,10 @@ ${this.pendingRecoveredAgentsNotice}
12098
12154
  );
12099
12155
  }
12100
12156
  let confirmationPayload = {
12101
- answers: output.answers
12157
+ answers: output.answers,
12158
+ ...output.expectedPlanExecutionMode !== void 0 ? {
12159
+ expectedPlanExecutionMode: output.expectedPlanExecutionMode
12160
+ } : {}
12102
12161
  };
12103
12162
  if (planShellDecision.classification !== "not-applicable") {
12104
12163
  const approval = await validatePlanModeShellApproval({
@@ -12207,7 +12266,7 @@ ${this.pendingRecoveredAgentsNotice}
12207
12266
  }
12208
12267
  }
12209
12268
  }
12210
- if (!didRequestPermission && !isTodoWriteTool) {
12269
+ if ((!didRequestPermission || isAgentTool) && !isTodoWriteTool) {
12211
12270
  const startParams = {
12212
12271
  callId,
12213
12272
  toolName,
@@ -12349,10 +12408,22 @@ ${this.pendingRecoveredAgentsNotice}
12349
12408
  let toolSettled = false;
12350
12409
  let heartbeatCount = 0;
12351
12410
  let lastHeartbeat;
12411
+ let subagentSessionReadySent = false;
12352
12412
  const onToolProgress = /* @__PURE__ */ __name((chunk) => {
12353
- if (toolSettled || !isShellProgressData(chunk)) {
12354
- return;
12413
+ if (toolSettled) return;
12414
+ if (isAgentTool && !subagentSessionReadySent && typeof chunk === "object" && chunk !== null && "subagentSessionReady" in chunk && chunk.subagentSessionReady === true) {
12415
+ subagentSessionReadySent = true;
12416
+ void this.sendUpdate({
12417
+ sessionUpdate: "tool_call_update",
12418
+ toolCallId: callId,
12419
+ _meta: { toolName, subagentSessionReady: true }
12420
+ }).catch((err) => {
12421
+ debugLogger6.debug(
12422
+ `[Session.runTool] subagent readiness update failed for ${callId}: ${err}`
12423
+ );
12424
+ });
12355
12425
  }
12426
+ if (!isShellProgressData(chunk)) return;
12356
12427
  heartbeatCount++;
12357
12428
  lastHeartbeat = chunk;
12358
12429
  void this.sendUpdate({
@@ -14565,6 +14636,7 @@ function serializeWorkflowTask(entry, now) {
14565
14636
  })),
14566
14637
  agentsDispatched: entry.agentsDispatched,
14567
14638
  agentsCompleted: entry.agentsCompleted,
14639
+ agentsRespawned: entry.agentsRespawned ?? 0,
14568
14640
  tokensSpent: entry.tokensSpent,
14569
14641
  tokenBudgetTotal: entry.tokenBudgetTotal,
14570
14642
  recentLogs: [...entry.recentLogs],
@@ -14605,6 +14677,7 @@ function serializeWorkflowSnapshot(snapshot) {
14605
14677
  })),
14606
14678
  agentsDispatched: snapshot.agentsDispatched,
14607
14679
  agentsCompleted: snapshot.agentsCompleted,
14680
+ agentsRespawned: snapshot.agentsRespawned ?? 0,
14608
14681
  tokensSpent: snapshot.tokensSpent,
14609
14682
  tokenBudgetTotal: snapshot.tokenBudgetTotal,
14610
14683
  recentLogs: [...snapshot.recentLogs],
@@ -17853,7 +17926,7 @@ var QwenAgent = class _QwenAgent {
17853
17926
  }
17854
17927
  this.clientCapabilities = args.clientCapabilities;
17855
17928
  const authMethods = buildAuthMethods();
17856
- const version = "0.23.2-preview.0";
17929
+ const version = "0.23.2";
17857
17930
  const response = {
17858
17931
  protocolVersion: PROTOCOL_VERSION,
17859
17932
  agentInfo: {
@@ -18105,7 +18178,10 @@ var QwenAgent = class _QwenAgent {
18105
18178
  sessionId: session.getId(),
18106
18179
  models: this.buildAvailableModels(config),
18107
18180
  modes: this.buildModesData(config),
18108
- configOptions: this.buildConfigOptions(config)
18181
+ configOptions: this.buildConfigOptions(
18182
+ config,
18183
+ session.getDefaultReasoningConfig()
18184
+ )
18109
18185
  }));
18110
18186
  },
18111
18187
  parentContext ? { parentContext } : {}
@@ -18168,7 +18244,10 @@ var QwenAgent = class _QwenAgent {
18168
18244
  () => ({
18169
18245
  modes: this.buildModesData(config),
18170
18246
  models: this.buildAvailableModels(config),
18171
- configOptions: this.buildConfigOptions(config),
18247
+ configOptions: this.buildConfigOptions(
18248
+ config,
18249
+ liveSession.getDefaultReasoningConfig()
18250
+ ),
18172
18251
  ...projection?.artifactSnapshot ? { artifactSnapshot: projection.artifactSnapshot } : {}
18173
18252
  })
18174
18253
  );
@@ -18300,7 +18379,10 @@ var QwenAgent = class _QwenAgent {
18300
18379
  const buildResponse = /* @__PURE__ */ __name(() => profiler.timeSync("response_build", () => ({
18301
18380
  modes: this.buildModesData(config),
18302
18381
  models: this.buildAvailableModels(config),
18303
- configOptions: this.buildConfigOptions(config),
18382
+ configOptions: this.buildConfigOptions(
18383
+ config,
18384
+ getDefaultReasoningConfig(config, settings)
18385
+ ),
18304
18386
  ...projection?.runtime.artifactSnapshot ? { artifactSnapshot: projection.runtime.artifactSnapshot } : {},
18305
18387
  ...replayEnvelope ? {
18306
18388
  _meta: {
@@ -18572,7 +18654,10 @@ var QwenAgent = class _QwenAgent {
18572
18654
  () => ({
18573
18655
  modes: this.buildModesData(config),
18574
18656
  models: this.buildAvailableModels(config),
18575
- configOptions: this.buildConfigOptions(config),
18657
+ configOptions: this.buildConfigOptions(
18658
+ config,
18659
+ liveSession.getDefaultReasoningConfig()
18660
+ ),
18576
18661
  ...projection?.artifactSnapshot ? { artifactSnapshot: projection.artifactSnapshot } : {}
18577
18662
  })
18578
18663
  )
@@ -18664,7 +18749,10 @@ var QwenAgent = class _QwenAgent {
18664
18749
  response = profiler.timeSync("response_build", () => ({
18665
18750
  modes: this.buildModesData(config),
18666
18751
  models: this.buildAvailableModels(config),
18667
- configOptions: this.buildConfigOptions(config),
18752
+ configOptions: this.buildConfigOptions(
18753
+ config,
18754
+ getDefaultReasoningConfig(config, settings)
18755
+ ),
18668
18756
  ...projection?.runtime.artifactSnapshot ? { artifactSnapshot: projection.runtime.artifactSnapshot } : {}
18669
18757
  }));
18670
18758
  }, "beforeSessionPublish"),
@@ -18819,7 +18907,8 @@ var QwenAgent = class _QwenAgent {
18819
18907
  case "reasoning_effort": {
18820
18908
  const config = session.getConfig();
18821
18909
  const generation = config.getContentGeneratorConfig();
18822
- const option = this.buildConfigOptions(config).find(
18910
+ const defaultReasoning = session.getDefaultReasoningConfig();
18911
+ const option = this.buildConfigOptions(config, defaultReasoning).find(
18823
18912
  (candidate) => candidate.id === "reasoning_effort"
18824
18913
  );
18825
18914
  const modelReasoning = this.getModelReasoningConfiguration(config);
@@ -18847,7 +18936,6 @@ var QwenAgent = class _QwenAgent {
18847
18936
  "Reasoning effort cannot be applied while thinking is disabled"
18848
18937
  );
18849
18938
  }
18850
- const defaultReasoning = session.getDefaultReasoningConfig();
18851
18939
  const previous = {
18852
18940
  reasoning: generation.reasoning,
18853
18941
  extra_body: generation.extra_body,
@@ -18865,12 +18953,15 @@ var QwenAgent = class _QwenAgent {
18865
18953
  selected === REASONING_EFFORT_DEFAULT ? defaultReasoning ? defaultReasoning.effort : void 0 : selected
18866
18954
  );
18867
18955
  }
18868
- const configOptions = this.buildConfigOptions(config);
18956
+ const configOptions = this.buildConfigOptions(
18957
+ config,
18958
+ defaultReasoning
18959
+ );
18869
18960
  const confirmedValue = configOptions.find(
18870
18961
  (candidate) => candidate.id === "reasoning_effort"
18871
18962
  )?.currentValue;
18872
18963
  const confirmed = selected === REASONING_EFFORT_DEFAULT ? confirmedValue !== void 0 : confirmedValue === selected;
18873
- if (!confirmed) {
18964
+ if (!confirmed || tierSelected && getGptReasoningOverrideState(generation, modelReasoning)?.blocksTierChange) {
18874
18965
  throw RequestError.invalidParams(
18875
18966
  void 0,
18876
18967
  modelReasoning ? `Reasoning selection was not applied: ${selected}` : "Reasoning effort cannot be applied while thinking is disabled"
@@ -18900,7 +18991,10 @@ var QwenAgent = class _QwenAgent {
18900
18991
  );
18901
18992
  }
18902
18993
  return {
18903
- configOptions: this.buildConfigOptions(session.getConfig())
18994
+ configOptions: this.buildConfigOptions(
18995
+ session.getConfig(),
18996
+ session.getDefaultReasoningConfig()
18997
+ )
18904
18998
  };
18905
18999
  });
18906
19000
  }
@@ -19824,6 +19918,7 @@ var QwenAgent = class _QwenAgent {
19824
19918
  buildWorkspaceProvidersStatus(config) {
19825
19919
  try {
19826
19920
  const workspaceCwd = this.workspaceCwd(config);
19921
+ const settings = loadSettingsCached(workspaceCwd);
19827
19922
  const currentAuthType = config.getAuthType?.();
19828
19923
  const activeRuntimeSnapshot = config.getActiveRuntimeModelSnapshot?.();
19829
19924
  const currentModelId = activeRuntimeSnapshot ? activeRuntimeSnapshot.id : (config.getModel() || "").trim();
@@ -19854,19 +19949,25 @@ var QwenAgent = class _QwenAgent {
19854
19949
  providers.set(authType, provider);
19855
19950
  }
19856
19951
  const isCurrent = currentAuth === model.authType && currentAcpModelId === modelId;
19952
+ const resolved = !model.isRuntimeModel && !modelId.startsWith(ACP_ROUTE_ID_PREFIX) ? config.getResolvedModelConfig?.(
19953
+ model.authType,
19954
+ model.id,
19955
+ model.registryBaseUrl ?? model.baseUrl
19956
+ ) : void 0;
19857
19957
  const configOptions = model.isRuntimeModel || modelId.startsWith(ACP_ROUTE_ID_PREFIX) ? void 0 : buildModelReasoningConfigPreview(
19858
19958
  model.id,
19859
19959
  resolvePersistedReasoningConfigState(
19860
19960
  model.id,
19861
- this.settings.merged.model?.reasoningEffort,
19862
- config.getResolvedModelConfig?.(
19863
- model.authType,
19864
- model.id,
19865
- model.registryBaseUrl ?? model.baseUrl
19866
- )?.generationConfig.thinkingMandatory === true,
19961
+ settings.merged.model?.reasoningEffort,
19962
+ resolved?.generationConfig.thinkingMandatory === true,
19867
19963
  model.capabilities?.reasoning
19868
19964
  ),
19869
- model.capabilities?.reasoning
19965
+ model.capabilities?.reasoning,
19966
+ resolved ? {
19967
+ ...resolved.generationConfig,
19968
+ model: model.id,
19969
+ baseUrl: resolved.baseUrl
19970
+ } : void 0
19870
19971
  );
19871
19972
  const providerModel = {
19872
19973
  modelId,
@@ -20266,7 +20367,10 @@ var QwenAgent = class _QwenAgent {
20266
20367
  state: {
20267
20368
  models: this.buildAvailableModels(config),
20268
20369
  modes: this.buildModesData(config),
20269
- configOptions: this.buildConfigOptions(config)
20370
+ configOptions: this.buildConfigOptions(
20371
+ config,
20372
+ session.getDefaultReasoningConfig()
20373
+ )
20270
20374
  }
20271
20375
  };
20272
20376
  }
@@ -22936,6 +23040,7 @@ var QwenAgent = class _QwenAgent {
22936
23040
  case SERVE_CONTROL_EXT_METHODS.sessionApprovalMode: {
22937
23041
  const sessionId = params["sessionId"];
22938
23042
  const mode = params["mode"];
23043
+ const planMode = params["planMode"];
22939
23044
  if (typeof sessionId !== "string" || sessionId.length === 0) {
22940
23045
  throw RequestError.invalidParams(
22941
23046
  void 0,
@@ -22948,11 +23053,21 @@ var QwenAgent = class _QwenAgent {
22948
23053
  `Invalid approval mode; allowed: ${APPROVAL_MODES.join(", ")}`
22949
23054
  );
22950
23055
  }
23056
+ if (planMode !== void 0 && (typeof planMode !== "boolean" || mode === "plan" /* PLAN */)) {
23057
+ throw RequestError.invalidParams(
23058
+ void 0,
23059
+ "planMode must be a boolean with a non-plan execution mode"
23060
+ );
23061
+ }
22951
23062
  const session = this.sessionOrThrow(sessionId);
22952
23063
  const config = session.getConfig();
22953
23064
  const previous = config.getApprovalMode();
22954
23065
  try {
22955
- config.setApprovalMode(mode);
23066
+ if (typeof planMode === "boolean") {
23067
+ config.setPlanMode(planMode, mode);
23068
+ } else {
23069
+ config.setApprovalMode(mode);
23070
+ }
22956
23071
  } catch (err) {
22957
23072
  if (err instanceof Error && err.name === "TrustGateError") {
22958
23073
  throw new RequestError(-32003, err.message, {
@@ -22970,7 +23085,13 @@ var QwenAgent = class _QwenAgent {
22970
23085
  } else if (previous === "plan") {
22971
23086
  session.clearActiveTodoPlanRevision();
22972
23087
  }
22973
- return { previous, current };
23088
+ return {
23089
+ previous,
23090
+ current,
23091
+ ...current === "plan" /* PLAN */ ? {
23092
+ planExecutionMode: config.getPlanExecutionMode?.() ?? config.getPrePlanMode?.()
23093
+ } : {}
23094
+ };
22974
23095
  }
22975
23096
  case SERVE_CONTROL_EXT_METHODS.workspaceSessionWorkflow: {
22976
23097
  const enabled = params["enabled"];
@@ -25643,10 +25764,15 @@ ${outputText}
25643
25764
  }));
25644
25765
  return {
25645
25766
  currentModeId: currentApprovalMode,
25767
+ ...currentApprovalMode === "plan" /* PLAN */ ? {
25768
+ _meta: {
25769
+ planExecutionMode: config.getPlanExecutionMode?.() ?? config.getPrePlanMode?.()
25770
+ }
25771
+ } : {},
25646
25772
  availableModes
25647
25773
  };
25648
25774
  }
25649
- buildConfigOptions(config) {
25775
+ buildConfigOptions(config, defaultReasoning) {
25650
25776
  const currentApprovalMode = config.getApprovalMode();
25651
25777
  const modelOptions = this.buildSelectableModelOptions(config);
25652
25778
  const rawCurrentModelId = (config.getModel() || "").trim();
@@ -25711,17 +25837,26 @@ ${outputText}
25711
25837
  const normalizedBudgetOverride = reasoningOverride?.field === "thinking_budget" && typeof reasoningOverrideValue === "number" && Number.isFinite(reasoningOverrideValue) && reasoningOverrideValue >= 0 && reasoningOverrideValue <= 262144 ? reasoningOverrideValue <= 4096 ? "low" : reasoningOverrideValue <= 16384 ? "medium" : "xhigh" : void 0;
25712
25838
  const normalizedOverrideEffort = normalizedEffortOverride ?? normalizedBudgetOverride;
25713
25839
  const overrideDisablesReasoning = reasoningOverride?.field === "enable_thinking" && reasoningOverrideValue === false || reasoningOverride?.field === "reasoning_effort" && reasoningOverrideValue === REASONING_EFFORT_NONE;
25840
+ const gptOverride = getGptReasoningOverrideState(
25841
+ generation,
25842
+ modelReasoning
25843
+ );
25844
+ const gptEnableOverride = generation.reasoning === false ? getGptReasoningOverrideState(
25845
+ { ...generation, reasoning: void 0 },
25846
+ modelReasoning
25847
+ ) : gptOverride;
25714
25848
  const mandatoryUsesDefaultEffort = generation.thinkingMandatory === true && (overrideDisablesReasoning || generation.reasoning === false && reasoningOverride?.field === "reasoning_effort");
25715
- const effectiveModelEffort = modelReasoning && !modelReasoning.toggleOnly ? mandatoryUsesDefaultEffort ? modelReasoning.defaultEffort : normalizedOverrideEffort ? modelReasoning.efforts?.find(
25849
+ const effectiveModelEffort = modelReasoning && !modelReasoning.toggleOnly ? mandatoryUsesDefaultEffort || gptOverride?.useDefaultEffort ? modelReasoning.defaultEffort : normalizedOverrideEffort ? modelReasoning.efforts?.find(
25716
25850
  (effort) => effort === normalizedOverrideEffort
25717
- ) ?? modelReasoning.defaultEffort : currentModelEffort : currentModelEffort;
25718
- const reasoningEnabled = generation.reasoning !== false && (!reasoningOverride || !overrideDisablesReasoning);
25851
+ ) ?? modelReasoning.defaultEffort : gptOverride?.effort ?? currentModelEffort : currentModelEffort;
25852
+ const reasoningEnabled = generation.reasoning === void 0 && !reasoningOverride && gptOverride?.enabled === void 0 ? void 0 : generation.reasoning !== false && (!reasoningOverride || !overrideDisablesReasoning) && gptOverride?.enabled !== false;
25719
25853
  const canDisableReasoning = generation.thinkingMandatory !== true;
25720
25854
  const reasoningEffortConfigOption = (modelReasoning ? buildModelReasoningConfigOption(
25721
25855
  rawCurrentModelId,
25722
25856
  {
25723
25857
  enabled: reasoningEnabled,
25724
25858
  effort: effectiveModelEffort,
25859
+ ...gptEnableOverride?.blocksTierChange ? gptEnableOverride.enabled && defaultReasoning !== false ? { enableValue: REASONING_EFFORT_DEFAULT } : { canEnable: false } : {},
25725
25860
  thinkingMandatory: generation.thinkingMandatory === true
25726
25861
  },
25727
25862
  modelReasoning