@qwen-code/qwen-code 0.23.1-preview.2 → 0.23.2-nightly.20260909.2e212144d3

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 (335) hide show
  1. package/README.md +35 -15
  2. package/bundled/computer-use/SKILL.md +189 -116
  3. package/bundled/goal-draft/SKILL.md +23 -13
  4. package/bundled/qc-helper/docs/_meta.ts +1 -0
  5. package/bundled/qc-helper/docs/configuration/auth.md +1 -1
  6. package/bundled/qc-helper/docs/configuration/model-providers.md +66 -16
  7. package/bundled/qc-helper/docs/configuration/settings.md +50 -0
  8. package/bundled/qc-helper/docs/conversations-recovery.md +102 -0
  9. package/bundled/qc-helper/docs/features/_meta.ts +1 -0
  10. package/bundled/qc-helper/docs/features/channels/dingtalk.md +1 -1
  11. package/bundled/qc-helper/docs/features/channels/github.md +1 -9
  12. package/bundled/qc-helper/docs/features/channels/overview.md +27 -52
  13. package/bundled/qc-helper/docs/features/channels/qqbot.md +1 -2
  14. package/bundled/qc-helper/docs/features/commands.md +79 -17
  15. package/bundled/qc-helper/docs/features/computer-use.md +9 -7
  16. package/bundled/qc-helper/docs/features/cross-session-protocol.md +291 -0
  17. package/bundled/qc-helper/docs/features/followup-suggestions.md +2 -2
  18. package/bundled/qc-helper/docs/features/goals.md +17 -3
  19. package/bundled/qc-helper/docs/features/sub-agents.md +8 -0
  20. package/bundled/qc-helper/docs/qwen-serve.md +80 -48
  21. package/chunks/{MaxSizedBox-IYIQ43IZ.js → MaxSizedBox-ZBGWYJZW.js} +29 -28
  22. package/chunks/{StandaloneSessionPicker-AWB2OHX6.js → StandaloneSessionPicker-NR5ACIJZ.js} +48 -47
  23. package/chunks/{acp-startup-profiler-BAL4LJTN.js → acp-startup-profiler-KEU6VAYR.js} +2 -2
  24. package/chunks/{acpAgent-ZC57OLS4.js → acpAgent-DM6XRCDQ.js} +361 -210
  25. package/chunks/{agent-GEBPAEJS.js → agent-EF3IIYE3.js} +20 -20
  26. package/chunks/{agent-headless-63ZEYAJK.js → agent-headless-5J2KFYR4.js} +20 -20
  27. package/chunks/{anthropicContentGenerator-6XDHXIII.js → anthropicContentGenerator-VIW2FG7G.js} +32 -9
  28. package/chunks/{artifact-tool-P52OKKEF.js → artifact-tool-G5LHNECG.js} +1 -1
  29. package/chunks/{askUserQuestion-3KAYLLMM.js → askUserQuestion-R3TXY77M.js} +1 -1
  30. package/chunks/{bridge-MHWO5I5T.js → bridge-LEMQM6QE.js} +32 -31
  31. package/chunks/{channel-management-service-NFRZXQFO.js → channel-management-service-TGF6XFXT.js} +4 -4
  32. package/chunks/{channel-settings-store-T7PMIHKC.js → channel-settings-store-FV365JSF.js} +40 -39
  33. package/chunks/{channel-worker-group-O2BWK5F7.js → channel-worker-group-SQ5FRWOH.js} +7 -7
  34. package/chunks/{channel-worker-manager-4WP7VJOD.js → channel-worker-manager-TU4ZNWOE.js} +7 -7
  35. package/chunks/{channel-worker-supervisor-CCUXD6J5.js → channel-worker-supervisor-EMITFMCP.js} +4 -4
  36. package/chunks/{chunk-3SH53ANB.js → chunk-22GORRNY.js} +12 -0
  37. package/chunks/{chunk-OFB36ZBA.js → chunk-2HYOOFDS.js} +10 -7
  38. package/chunks/chunk-2Z3T52OC.js +82 -0
  39. package/chunks/{chunk-LYHYXJJ3.js → chunk-34VPADLG.js} +3 -3
  40. package/chunks/{chunk-C7M445SS.js → chunk-3A2IMUDH.js} +14 -2
  41. package/chunks/{chunk-P5Z7VD23.js → chunk-3O77M472.js} +294 -87
  42. package/chunks/{chunk-4OCYWXKF.js → chunk-43EUMPKQ.js} +3 -3
  43. package/chunks/{chunk-W4LL5RZO.js → chunk-4ALNJDHL.js} +52 -13
  44. package/chunks/{chunk-VMFPZXRT.js → chunk-4DIMJKWU.js} +64 -43
  45. package/chunks/{chunk-ZRVFHLLK.js → chunk-5DQ4YTIZ.js} +1 -1
  46. package/chunks/{chunk-VYCJITND.js → chunk-5HV2HPO7.js} +1 -1
  47. package/chunks/{chunk-22QOQKG4.js → chunk-5WBA3DEF.js} +1 -1
  48. package/chunks/{chunk-3K65MUKD.js → chunk-65I7S4Z3.js} +2 -1
  49. package/chunks/{chunk-I7UNCY24.js → chunk-6GAYNM3F.js} +3 -3
  50. package/chunks/{chunk-2C3XDBGL.js → chunk-6S7YYUUH.js} +4 -4
  51. package/chunks/{chunk-Y3C5COGI.js → chunk-6VIATHL7.js} +1 -1
  52. package/chunks/{chunk-XNC2TCUO.js → chunk-76I36BEM.js} +4 -4
  53. package/chunks/{chunk-B54PFQS5.js → chunk-7CLLH5TI.js} +1 -1
  54. package/chunks/{chunk-RGAQDQ3Z.js → chunk-7IDZFJAV.js} +18 -9
  55. package/chunks/{chunk-5Z4FCEPY.js → chunk-7K4GGN3D.js} +606 -109
  56. package/chunks/{chunk-WLZRMF3C.js → chunk-7KZVXJ4U.js} +353 -11
  57. package/chunks/{chunk-REDVV5NC.js → chunk-7WCJEY3A.js} +7 -7
  58. package/chunks/{chunk-I67KJGM6.js → chunk-A7QZIGRB.js} +3 -3
  59. package/chunks/{chunk-SHX2HIE7.js → chunk-ATBLEXXV.js} +7 -2
  60. package/chunks/{chunk-RH344FKI.js → chunk-AUTUFD5X.js} +1 -1
  61. package/chunks/chunk-AXMWHKXA.js +42 -0
  62. package/chunks/{chunk-WFXD5OZH.js → chunk-AXWTG6R7.js} +2 -5
  63. package/chunks/{chunk-TSLRORQR.js → chunk-BDAVT6K2.js} +1809 -1588
  64. package/chunks/{chunk-HWZOOSEB.js → chunk-BDP3NTWD.js} +3 -3
  65. package/chunks/{chunk-RD3VPM4E.js → chunk-BZUHZCUO.js} +2 -2
  66. package/chunks/{chunk-HPE4LEWX.js → chunk-C24ZDDNY.js} +1 -1
  67. package/chunks/{chunk-R7TKFIQO.js → chunk-CALNF3Z3.js} +1 -1
  68. package/chunks/{chunk-RPFJJ33Z.js → chunk-CALTQWTZ.js} +1 -1
  69. package/chunks/{chunk-BF3RUIVP.js → chunk-CH2YDT6X.js} +36 -38
  70. package/chunks/{chunk-LD53HMPV.js → chunk-CRZBDVP2.js} +1 -0
  71. package/chunks/{chunk-GEV66YGE.js → chunk-D6AGS266.js} +1 -1
  72. package/chunks/{chunk-EPZWBYQI.js → chunk-D7DFZAK2.js} +19 -11
  73. package/chunks/{chunk-5V4B3EWA.js → chunk-DARWOZY6.js} +1 -1
  74. package/chunks/{chunk-XX4MBBFW.js → chunk-DGNRLJ6S.js} +4 -4
  75. package/chunks/{chunk-UTVIIA7N.js → chunk-DVOCOIS5.js} +1 -1
  76. package/chunks/{chunk-RQNAO42A.js → chunk-E4LXNQAK.js} +1 -1
  77. package/chunks/{chunk-EGRFCIXD.js → chunk-EATP5QCN.js} +84 -25
  78. package/chunks/{chunk-3RMVM33U.js → chunk-EDSU3VUG.js} +12 -5
  79. package/chunks/{chunk-733KQL63.js → chunk-EE5ZD4XU.js} +3 -3
  80. package/chunks/{chunk-QQGAR64U.js → chunk-EN3Q2S3J.js} +4 -4
  81. package/chunks/{chunk-PLUAIHZO.js → chunk-EOLGAQ25.js} +17 -16
  82. package/chunks/{chunk-37SOBIA3.js → chunk-ERXNTINK.js} +1 -1
  83. package/chunks/{chunk-L36LLVA5.js → chunk-EYCW6UF2.js} +7 -7
  84. package/chunks/{chunk-ZELCTN6Y.js → chunk-F23YN37B.js} +10 -0
  85. package/chunks/{chunk-FPGTNKCP.js → chunk-F3M6P6IQ.js} +199 -1
  86. package/chunks/{chunk-B44JBZBB.js → chunk-F4SAL7WM.js} +91 -3
  87. package/chunks/{chunk-F47DITLZ.js → chunk-FAWTMDX7.js} +14 -0
  88. package/chunks/{chunk-SI6Q52UI.js → chunk-FEEVHJOR.js} +3 -3
  89. package/chunks/{chunk-75UQFGFE.js → chunk-FN4KHWCL.js} +1 -1
  90. package/chunks/{chunk-WQBR7LN5.js → chunk-FRS3P7MQ.js} +15 -2
  91. package/chunks/{chunk-5JLQWQK6.js → chunk-FV4DM2M4.js} +2 -2
  92. package/chunks/{chunk-Z6DDPSGJ.js → chunk-GNY7B3CA.js} +1 -1
  93. package/chunks/{chunk-FDOGGKAA.js → chunk-GSFV5RQW.js} +2 -0
  94. package/chunks/{chunk-XBVNNDPK.js → chunk-GSYD7MYP.js} +8 -3
  95. package/chunks/{chunk-ERMAXPXA.js → chunk-HIXUUCGY.js} +187 -12
  96. package/chunks/{chunk-EJNYBDYC.js → chunk-HNLMYDQE.js} +1 -1
  97. package/chunks/{chunk-3K456UJF.js → chunk-HSO6D4KX.js} +93 -28
  98. package/chunks/{chunk-ANVC5CSK.js → chunk-HUJJFSMO.js} +10 -10
  99. package/chunks/{chunk-C4NXRR7T.js → chunk-HW4MRP4V.js} +2 -2
  100. package/chunks/{chunk-PMGWY6ZP.js → chunk-HWLLUDIA.js} +113 -18
  101. package/chunks/{chunk-RCUWMVN3.js → chunk-HZ2HUXX7.js} +1 -1
  102. package/chunks/{chunk-7PMKXGRP.js → chunk-IKK6NNS6.js} +91 -31
  103. package/chunks/{chunk-IMWCUWQT.js → chunk-J3TJH52D.js} +1 -1
  104. package/chunks/{chunk-BNWIX6BM.js → chunk-JFAGT5YG.js} +3 -3
  105. package/chunks/{chunk-RSU3I6UL.js → chunk-JGTMTJSQ.js} +1 -1
  106. package/chunks/{chunk-LTCI6ZOJ.js → chunk-JYGIJA4W.js} +1 -1
  107. package/chunks/{chunk-537SQ2AI.js → chunk-KECCLCXM.js} +146 -24
  108. package/chunks/{chunk-KAZWXVI3.js → chunk-KEPC5BOL.js} +5 -5
  109. package/chunks/{chunk-HZS3JRQW.js → chunk-L5VHJYHH.js} +40 -2
  110. package/chunks/{chunk-KTLT7VCX.js → chunk-LKBOBUA2.js} +2 -2
  111. package/chunks/{chunk-TDHVOZ65.js → chunk-LOBKNYPR.js} +2 -2
  112. package/chunks/{chunk-QW7BUOSI.js → chunk-LOVGQ3HZ.js} +26 -9
  113. package/chunks/{chunk-5FYGZ7E3.js → chunk-MUF4UGPB.js} +2 -2
  114. package/chunks/chunk-N3Z6Q7KC.js +384 -0
  115. package/chunks/{chunk-JOV46WGX.js → chunk-NB3NDQQK.js} +1 -1
  116. package/chunks/chunk-NFXXBWSE.js +463 -0
  117. package/chunks/chunk-NOO4QFXM.js +171 -0
  118. package/chunks/{chunk-PQSCGZT2.js → chunk-NPKCVSXX.js} +26 -2
  119. package/chunks/{chunk-FXYNIZPW.js → chunk-NV4YYXFT.js} +51 -10
  120. package/chunks/{chunk-FWH4736Q.js → chunk-O6BFERWN.js} +3 -3
  121. package/chunks/{chunk-UKADFFL2.js → chunk-OFVAS4AR.js} +1 -1
  122. package/chunks/{chunk-C55CR5I4.js → chunk-OVTPETDL.js} +6 -6
  123. package/chunks/chunk-PLEBBGHL.js +1401 -0
  124. package/chunks/{chunk-Z6KFLEG7.js → chunk-PSPAM24S.js} +1 -0
  125. package/chunks/{chunk-RRCNEW2A.js → chunk-PWR6BQ3U.js} +58 -4
  126. package/chunks/{chunk-SHK2SIR5.js → chunk-QA2B26PL.js} +4 -4
  127. package/chunks/{chunk-NFIDVZND.js → chunk-QB3KS3N3.js} +2 -21
  128. package/chunks/{chunk-NUQFUXOG.js → chunk-QTNCGZHQ.js} +2 -0
  129. package/chunks/{chunk-QJVZLILI.js → chunk-R7OO56VZ.js} +1 -1
  130. package/chunks/{chunk-MFCWL4LI.js → chunk-SK6VACCM.js} +936 -481
  131. package/chunks/{chunk-SD7Y2PMC.js → chunk-SM66GFKJ.js} +2 -2
  132. package/chunks/{chunk-ADJD4LZF.js → chunk-SNMUO5Z7.js} +1 -1
  133. package/chunks/{chunk-NXWYCSPL.js → chunk-SOA4HKRJ.js} +1 -1
  134. package/chunks/{chunk-IRKQ4YYX.js → chunk-SVWWF5TZ.js} +29 -1
  135. package/chunks/{chunk-YLFICBYK.js → chunk-SYKPMH2X.js} +3 -3
  136. package/chunks/{chunk-5HBA2Z7V.js → chunk-TGNNLRC3.js} +2 -3
  137. package/chunks/{chunk-AX23QSX3.js → chunk-TRQNRP2H.js} +4 -4
  138. package/chunks/{chunk-AUJOWIT5.js → chunk-UQOP2APG.js} +4 -24
  139. package/chunks/{chunk-HY3DXYZK.js → chunk-UYDQYDW2.js} +1 -1
  140. package/chunks/{chunk-IGOIYZBG.js → chunk-VAWM3A5N.js} +2 -2
  141. package/chunks/{chunk-6KYWU726.js → chunk-VJJXG73H.js} +417 -292
  142. package/chunks/{chunk-ZNI3V2XA.js → chunk-VJWJOKOQ.js} +2 -2
  143. package/chunks/{chunk-AWDF462I.js → chunk-VR6Y23FW.js} +2 -2
  144. package/chunks/{chunk-T7TP5UQL.js → chunk-VX2NR3SD.js} +21 -6
  145. package/chunks/{chunk-65GHQ4FX.js → chunk-WDVV3LRM.js} +707 -216
  146. package/chunks/{chunk-KP5QK3FB.js → chunk-WEU6O6VN.js} +397 -54
  147. package/chunks/{chunk-OHOO527W.js → chunk-WG7BL3FY.js} +52 -2
  148. package/chunks/{chunk-VU7O7CGQ.js → chunk-XDNFODER.js} +1 -1
  149. package/chunks/{chunk-YHDGABDC.js → chunk-XKBFYTCD.js} +1 -1
  150. package/chunks/{chunk-RUMSY4ES.js → chunk-Y7YHAY32.js} +28 -10
  151. package/chunks/{chunk-7IKXTGZT.js → chunk-YI2YCNSP.js} +1 -1
  152. package/chunks/{chunk-B5FF3LRF.js → chunk-YIE6REQ5.js} +29 -17
  153. package/chunks/{chunk-E4VX6LXB.js → chunk-YZTGGCEE.js} +10 -2
  154. package/chunks/{chunk-TXAEXF2B.js → chunk-ZEFWBG2C.js} +737 -1136
  155. package/chunks/{chunk-AIMZIXZM.js → chunk-ZM2TCZZ7.js} +5 -7
  156. package/chunks/{chunk-ZT3XUGSU.js → chunk-ZZ7RVOTU.js} +135 -26
  157. package/chunks/{config-utils-F4CFJ4MW.js → config-utils-SXFK3G4X.js} +33 -32
  158. package/chunks/{contextCommand-OIIGGOMU.js → contextCommand-QFPD26QO.js} +31 -30
  159. package/chunks/{core-runtime-JEHLOGMB.js → core-runtime-VXKNBODM.js} +35 -33
  160. package/chunks/{create-sub-session-MVFBE5RA.js → create-sub-session-7WSQETFR.js} +30 -29
  161. package/chunks/{daemon-LCUELM6E.js → daemon-U2456K5H.js} +2 -2
  162. package/chunks/{daemon-git-worktree-guard-5FTKLJOU.js → daemon-git-worktree-guard-I4DCSDUS.js} +29 -28
  163. package/chunks/{daemon-status-provider-P6A5MPMW.js → daemon-status-provider-5UV56RI4.js} +36 -35
  164. package/chunks/{daemon-trust-policy-ZJ3NFYUO.js → daemon-trust-policy-DKIBWTKU.js} +36 -35
  165. package/chunks/{daemon-trust-policy-monitor-6SDLEW7S.js → daemon-trust-policy-monitor-CPSD7UKT.js} +36 -35
  166. package/chunks/{deferred-core-runtime-DWOXIU5S.js → deferred-core-runtime-D2RF35BL.js} +29 -28
  167. package/chunks/{discovery-TUM3ZQ6U.js → discovery-XP4RMDUM.js} +4 -2
  168. package/chunks/{dist-P6YWBITG.js → dist-6YDUH3BB.js} +817 -152
  169. package/chunks/{dist-T4PRA5EZ.js → dist-BNQVF565.js} +2 -8
  170. package/chunks/{dist-AI25RVRA.js → dist-F34J4FZX.js} +1 -1
  171. package/chunks/{dist-3H3WODVS.js → dist-F6JLAJLE.js} +1 -1
  172. package/chunks/{dist-NXW4DUUX.js → dist-K5GHMXIG.js} +2 -2
  173. package/chunks/{dist-YNQU4CKC.js → dist-NP7QKLVG.js} +2 -2
  174. package/chunks/{dist-VCAS67N5.js → dist-UFTFGI6I.js} +1 -1
  175. package/chunks/{dist-I74QLLQS.js → dist-XLV33CLY.js} +1 -2
  176. package/chunks/{dist-XINEKB5A.js → dist-ZDNJK74R.js} +3 -7
  177. package/chunks/{edit-WPVXLL3T.js → edit-4IBADZ3O.js} +20 -20
  178. package/chunks/{enter-worktree-5A6VW6BN.js → enter-worktree-YFTKHXHZ.js} +2 -2
  179. package/chunks/{enterPlanMode-JSODW7E2.js → enterPlanMode-YN3GPQU5.js} +20 -20
  180. package/chunks/{environment-5LLJ3I3W.js → environment-E272IJMF.js} +32 -31
  181. package/chunks/{errors-IQT3YZEP.js → errors-CVAH3RWQ.js} +31 -30
  182. package/chunks/{exit-worktree-QV7E7KP6.js → exit-worktree-NF2XEMES.js} +3 -3
  183. package/chunks/{exitPlanMode-DDVFYNW4.js → exitPlanMode-24J5IHGC.js} +20 -20
  184. package/chunks/{fast-path-PAUQQEVU.js → fast-path-M5IDBMXF.js} +4 -4
  185. package/chunks/{fast-path-settings-ISEJPRYE.js → fast-path-settings-SATXY3PD.js} +3 -3
  186. package/chunks/{glob-SQ7CTZ7F.js → glob-ERBD7JYP.js} +20 -20
  187. package/chunks/{goal-tools-UWZRCLQB.js → goal-tools-245ULLQT.js} +20 -20
  188. package/chunks/{handleAutoUpdate-RUPZZTSG.js → handleAutoUpdate-JDZHHZKK.js} +32 -31
  189. package/chunks/{i18n-SF5MPWEB.js → i18n-LA4D5IXM.js} +32 -29
  190. package/chunks/{image-gen-Q3RUTVKR.js → image-gen-XP4NNIYG.js} +4 -4
  191. package/chunks/{initializer-CK4WPYZG.js → initializer-SHPTSWUZ.js} +36 -35
  192. package/chunks/{installationInfo-IRPQEYRF.js → installationInfo-QEQEPB3G.js} +29 -28
  193. package/chunks/{list-E3PS3EBJ.js → list-IBHCQWTF.js} +39 -38
  194. package/chunks/{list-agents-I5TRH3J7.js → list-agents-EDPZCGKN.js} +5 -4
  195. package/chunks/{llm-JQKBOYAF.js → llm-JAWCQLA4.js} +81 -75
  196. package/chunks/{llm-content-generator-2QWGBW42.js → llm-content-generator-GOV3A23T.js} +23 -8
  197. package/chunks/{loadedSettingsAdapter-DGXGVYZS.js → loadedSettingsAdapter-RVE2GNVU.js} +36 -35
  198. package/chunks/{loggingContentGenerator-ZYURLJKK.js → loggingContentGenerator-SSHNN5YW.js} +22 -22
  199. package/chunks/{managed-npm-update-HTHR63EA.js → managed-npm-update-BHSTITQO.js} +29 -28
  200. package/chunks/{mcp-I7G2AEWS.js → mcp-6ZZ7P2HU.js} +36 -35
  201. package/chunks/{monitor-4R76BCRZ.js → monitor-RKK6GSHG.js} +20 -20
  202. package/chunks/{nonInteractiveCli-24OQ3VP2.js → nonInteractiveCli-UQHP3G6P.js} +76 -72
  203. package/chunks/{notebook-edit-PPSH7FEX.js → notebook-edit-YM47A7WO.js} +20 -20
  204. package/chunks/{open-with-auth-D6JD6LDS.js → open-with-auth-6MVIHMXB.js} +1 -1
  205. package/chunks/{openaiContentGenerator-K7V5EO7F.js → openaiContentGenerator-FHKDWNI2.js} +11 -11
  206. package/chunks/{pidfile-TGIUY2GG.js → pidfile-SIIEJEEH.js} +32 -29
  207. package/chunks/{processUtils-3USXUQWX.js → processUtils-JF7CWBJC.js} +2 -2
  208. package/chunks/{prompt-terminal-ledger-XHVZRXJI.js → prompt-terminal-ledger-FXXHAEQU.js} +30 -29
  209. package/chunks/{qwenContentGenerator-MPBOQB64.js → qwenContentGenerator-KFJ77JP6.js} +24 -24
  210. package/chunks/{qwenOAuth2-BS5D2LYV.js → qwenOAuth2-KX6LVYQ3.js} +4 -4
  211. package/chunks/{read-file-R256LDWQ.js → read-file-S2NOCBIL.js} +4 -4
  212. package/chunks/{resumeHistoryUtils-S43LTFHD.js → resumeHistoryUtils-QHHPSQWU.js} +33 -32
  213. package/chunks/{ripGrep-L7HPZ75Y.js → ripGrep-F6TNOJUO.js} +5 -5
  214. package/chunks/{run-qwen-serve-CTFL5R6U.js → run-qwen-serve-KYBDQRDD.js} +229 -79
  215. package/chunks/{runtime-FS5TL6P7.js → runtime-3WNOFLCR.js} +43 -40
  216. package/chunks/{scheduled-tasks-QXPV3Q35.js → scheduled-tasks-RNBH56DJ.js} +34 -33
  217. package/chunks/{scheduler-EXU5HMVK.js → scheduler-ERMW7Q7B.js} +31 -30
  218. package/chunks/{send-message-GQKXGMPI.js → send-message-V5T3NMFM.js} +4 -4
  219. package/chunks/{serve-ITJC7WNN.js → serve-7NV46RMP.js} +36 -35
  220. package/chunks/{server-6JQY3PTU.js → server-6RZJR5QF.js} +1358 -932
  221. package/chunks/{session-PJDEKXD4.js → session-Z4EV7NVV.js} +107 -78
  222. package/chunks/{session-attachments-root-L37ORSST.js → session-attachments-root-SG5FC52X.js} +29 -28
  223. package/chunks/{session-pr-refresh-WIFD52YL.js → session-pr-refresh-ILC4Z3ZM.js} +33 -32
  224. package/chunks/{settings-LO6J5SAZ.js → settings-Y47SPE3X.js} +35 -34
  225. package/chunks/{shell-ANAFVYGR.js → shell-YBVCOPVO.js} +20 -20
  226. package/chunks/{skill-SHJWKSPH.js → skill-AXC63EBA.js} +4 -4
  227. package/chunks/{skill-settings-GX3XHZ5Q.js → skill-settings-AFPAYGLO.js} +35 -34
  228. package/chunks/{spawnChannel-WE42VBKM.js → spawnChannel-ZFL4J2V3.js} +29 -28
  229. package/chunks/{standalone-update-CWDIKJRP.js → standalone-update-Y2OZPLNJ.js} +31 -30
  230. package/chunks/{start-opentui-ui-BBHGFOTF.js → start-opentui-ui-G6TKT4LI.js} +2270 -1026
  231. package/chunks/{startInteractiveUI-FQX7LUYP.js → startInteractiveUI-YTNDPW7J.js} +1789 -2211
  232. package/chunks/{task-create-PMAFST2T.js → task-create-MWXJFRRM.js} +3 -3
  233. package/chunks/{task-list-R2HSY2NC.js → task-list-EYO3FE57.js} +2 -2
  234. package/chunks/{task-update-JYC57USF.js → task-update-2JJJRHMT.js} +3 -3
  235. package/chunks/{team-create-WKTPCH6D.js → team-create-BUFLGGSH.js} +20 -20
  236. package/chunks/{team-delete-CBHVBTPB.js → team-delete-IQZ6XGFI.js} +2 -2
  237. package/chunks/{team-plan-approval-Y23DL7WR.js → team-plan-approval-OUWWM42U.js} +20 -20
  238. package/chunks/{terminal-image-renderer-B646HBDW.js → terminal-image-renderer-WH2WV5ES.js} +29 -28
  239. package/chunks/{theme-manager-BNWESY26.js → theme-manager-5UDRARM2.js} +29 -28
  240. package/chunks/{tool-search-PVQ5O5Y2.js → tool-search-MCDIRPHN.js} +4 -4
  241. package/chunks/{total-session-admission-P5Z43KNW.js → total-session-admission-VL27U74Z.js} +33 -32
  242. package/chunks/{trustedFolders-FH2LT2MZ.js → trustedFolders-MSXT4VDD.js} +30 -29
  243. package/chunks/{update-relaunch-WOWTKJSN.js → update-relaunch-JKLEWVCB.js} +5 -5
  244. package/chunks/{updateCheck-3MYFMM35.js → updateCheck-ARTHAJT2.js} +31 -30
  245. package/chunks/{useAutoAcceptIndicator-Q7ZRRRKO.js → useAutoAcceptIndicator-YEAAGYVU.js} +38 -37
  246. package/chunks/{validateNonInterActiveAuth-MYEWJX3G.js → validateNonInterActiveAuth-EMRQKH5S.js} +71 -69
  247. package/chunks/{version-RO2FPO76.js → version-HFQU35WD.js} +3 -1
  248. package/chunks/{web-fetch-QAKY2LUA.js → web-fetch-QBXAO6VF.js} +7 -7
  249. package/chunks/{web-search-XA5Z4ZCD.js → web-search-2URQXA3A.js} +201 -13
  250. package/chunks/{web-shell-static-POZHGGXE.js → web-shell-static-BFDESDD4.js} +5 -4
  251. package/chunks/{workflow-QFIOCMDM.js → workflow-JDD6WDAH.js} +211 -75
  252. package/chunks/{workspace-providers-status-B2UD7RAG.js → workspace-providers-status-B4IKR6YJ.js} +38 -37
  253. package/chunks/{workspace-registration-store-VZLRTI3Q.js → workspace-registration-store-PJ3YHR45.js} +1 -2
  254. package/chunks/{workspace-registry-GYOGG6TM.js → workspace-registry-WVYJ5UGB.js} +33 -32
  255. package/chunks/{workspace-runtime-coordinator-7KRXGQ4V.js → workspace-runtime-coordinator-DXL5YVAG.js} +33 -32
  256. package/chunks/{workspace-service-DJEYGJE4.js → workspace-service-QNGAMVH7.js} +40 -39
  257. package/chunks/{workspace-skills-status-MOKNESUC.js → workspace-skills-status-BEISJIII.js} +36 -35
  258. package/chunks/{workspace-trust-reconciler-AXOSUTQW.js → workspace-trust-reconciler-ORYJF5L4.js} +40 -39
  259. package/chunks/{write-file-QOYVHAKK.js → write-file-DWLKFBTJ.js} +21 -21
  260. package/chunks/{zoom-image-UCCLGFNC.js → zoom-image-BYVIXSNQ.js} +4 -4
  261. package/cli.js +13 -13
  262. package/export-transcript-document.js +123 -119
  263. package/package.json +4 -4
  264. package/web-shell/assets/{abnfDiagram-VCTEODGH-CTstZpXw.js → abnfDiagram-VCTEODGH-C_8kzsly.js} +1 -1
  265. package/web-shell/assets/{arc-DKW0mbPo.js → arc-CDg7Zfpm.js} +1 -1
  266. package/web-shell/assets/{architectureDiagram-5GKGNRK7-DkMpJ42t.js → architectureDiagram-5GKGNRK7-DZzdCWyF.js} +1 -1
  267. package/web-shell/assets/{blockDiagram-NRAW4CY4-7Cp1_4i3.js → blockDiagram-NRAW4CY4-DI3B4gyR.js} +1 -1
  268. package/web-shell/assets/{c4Diagram-UCG6FXSJ-BfaoSlBK.js → c4Diagram-UCG6FXSJ-CfOgwHZW.js} +1 -1
  269. package/web-shell/assets/channel-e4xwS72w.js +1 -0
  270. package/web-shell/assets/{chunk-2Q5K7J3B-_n1qzAio.js → chunk-2Q5K7J3B-B_PUth0g.js} +1 -1
  271. package/web-shell/assets/{chunk-5VM5RSS4-0cira5ZV.js → chunk-5VM5RSS4-CrKtvBIL.js} +1 -1
  272. package/web-shell/assets/{chunk-F27PBJKO-DseRXSHC.js → chunk-F27PBJKO-B4z2n8Py.js} +1 -1
  273. package/web-shell/assets/{chunk-G27WJ6UU-BehQWin0.js → chunk-G27WJ6UU-BUtrFEO8.js} +1 -1
  274. package/web-shell/assets/{chunk-JWPE2WC7-B5ftg1Bb.js → chunk-JWPE2WC7-Cqw3aXW0.js} +1 -1
  275. package/web-shell/assets/{chunk-LCL6LL3I-D7rnbVdk.js → chunk-LCL6LL3I-CZolnvls.js} +1 -1
  276. package/web-shell/assets/{chunk-POPQ4Y6H-2Bp-Orju.js → chunk-POPQ4Y6H-DivgasCa.js} +1 -1
  277. package/web-shell/assets/{chunk-SVP7TREG-CD2goGva.js → chunk-SVP7TREG--seyb1B6.js} +1 -1
  278. package/web-shell/assets/{chunk-XXDRQBXY-DzQt-Rji.js → chunk-XXDRQBXY-D7pHtuVM.js} +1 -1
  279. package/web-shell/assets/classDiagram-DTDB5LWJ-CzXfUUOt.js +1 -0
  280. package/web-shell/assets/classDiagram-v2-JRS7N3AN-CzXfUUOt.js +1 -0
  281. package/web-shell/assets/{cose-bilkent-JH36ORCC-C-BZXSUn.js → cose-bilkent-JH36ORCC-4MWaRF_3.js} +1 -1
  282. package/web-shell/assets/csv-CX7rUNeC.svg +1 -0
  283. package/web-shell/assets/{cynefin-OW5HDTMX-BTcvowe1.js → cynefin-OW5HDTMX-nhJhAjgD.js} +1 -1
  284. package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-BoUE6K81.js → cynefinDiagram-5FMLGOSQ-NF-PwXlq.js} +1 -1
  285. package/web-shell/assets/{dagre-3AP2YEHR-BHxy9xeB.js → dagre-3AP2YEHR-Bu0ncdWP.js} +1 -1
  286. package/web-shell/assets/{diagram-S7CK7UJ4-DMiJIvDT.js → diagram-S7CK7UJ4-CsvhFHZC.js} +1 -1
  287. package/web-shell/assets/{diagram-UQ7AKVKN-DXV09Aes.js → diagram-UQ7AKVKN-Ck61sIB3.js} +1 -1
  288. package/web-shell/assets/{diagram-VSXAHHWV-CocpRomV.js → diagram-VSXAHHWV-D0171zrb.js} +1 -1
  289. package/web-shell/assets/{diagram-VX7I27RA-DL7nqtb4.js → diagram-VX7I27RA-DvdxY4UL.js} +1 -1
  290. package/web-shell/assets/{diagram-Z3DM3KII-CPZ2Jux_.js → diagram-Z3DM3KII-CGGpseiB.js} +1 -1
  291. package/web-shell/assets/{ebnfDiagram-PWID7BFC-BX-eVNsX.js → ebnfDiagram-PWID7BFC-K8-QMvY8.js} +1 -1
  292. package/web-shell/assets/{erDiagram-SSCWMZ5O-CPy_Ir6y.js → erDiagram-SSCWMZ5O-D316nAem.js} +1 -1
  293. package/web-shell/assets/{flowDiagram-A5DVABFB-eknAOte9.js → flowDiagram-A5DVABFB-B7siy_mn.js} +1 -1
  294. package/web-shell/assets/{ganttDiagram-EL5Y4UJY-crAxw_t7.js → ganttDiagram-EL5Y4UJY-BZQDxzTu.js} +1 -1
  295. package/web-shell/assets/{gitGraphDiagram-WWUBYQGX-M29pa3Tc.js → gitGraphDiagram-WWUBYQGX-DZynLCSV.js} +1 -1
  296. package/web-shell/assets/{index-C9R-iojE.js → index-9ie6xLTM.js} +1 -1
  297. package/web-shell/assets/index-DirkXQEg.js +2164 -0
  298. package/web-shell/assets/index-DzdST_7L.css +36 -0
  299. package/web-shell/assets/{infoDiagram-RXCK75RN-XqspXdOU.js → infoDiagram-RXCK75RN-B0gr769A.js} +1 -1
  300. package/web-shell/assets/{ishikawaDiagram-5VMMS53U-C5KFS-7j.js → ishikawaDiagram-5VMMS53U-0pQFfjvX.js} +1 -1
  301. package/web-shell/assets/{journeyDiagram-EYS64GPL-Cc57LVRo.js → journeyDiagram-EYS64GPL-DEGtClWb.js} +1 -1
  302. package/web-shell/assets/{kanban-definition-3QL26DDD-C81OG-AI.js → kanban-definition-3QL26DDD-CnN8gPzw.js} +1 -1
  303. package/web-shell/assets/{layout-CFVu37BB.js → layout-C_70RhaT.js} +1 -1
  304. package/web-shell/assets/{linear-ChBxdtWf.js → linear-BJ2ZLmcq.js} +1 -1
  305. package/web-shell/assets/{mermaid.core-CMLfue0w.js → mermaid.core-RlY0zPNC.js} +6 -6
  306. package/web-shell/assets/{mindmap-definition-FBJOCRG2-DFsvJThp.js → mindmap-definition-FBJOCRG2-CpVAxTNl.js} +1 -1
  307. package/web-shell/assets/{pegDiagram-XKGWAZYB-BzpRzM4F.js → pegDiagram-XKGWAZYB-DmrSv3hD.js} +1 -1
  308. package/web-shell/assets/{pieDiagram-E7YTZNPT-Cv0Kankl.js → pieDiagram-E7YTZNPT-CJmgp8KJ.js} +1 -1
  309. package/web-shell/assets/{quadrantDiagram-AXDQQJYC-Bh2BJ3Ay.js → quadrantDiagram-AXDQQJYC-UsgOyNco.js} +1 -1
  310. package/web-shell/assets/{railroadDiagram-O6MQD6OU-y8rNDdDS.js → railroadDiagram-O6MQD6OU-DQ6gMs_W.js} +1 -1
  311. package/web-shell/assets/{requirementDiagram-EFPCY7ZU-C0m2DKJ_.js → requirementDiagram-EFPCY7ZU-DhqadamF.js} +1 -1
  312. package/web-shell/assets/{sankeyDiagram-P5KCCOFB-BzdGnSF4.js → sankeyDiagram-P5KCCOFB-R4WnURaE.js} +1 -1
  313. package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-DPzAVmzz.js → sequenceDiagram-WJ2MYXX4-D7BwMi_D.js} +1 -1
  314. package/web-shell/assets/{sizeCapture-X5ZJPWSS-LcHG28Zh.js → sizeCapture-X5ZJPWSS-Bqngz088.js} +1 -1
  315. package/web-shell/assets/{stateDiagram-HBIQ2CUA-C1Bzy3IT.js → stateDiagram-HBIQ2CUA-DwaXPGqn.js} +1 -1
  316. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-8GCQZAvv.js +1 -0
  317. package/web-shell/assets/{swimlanes-XN3QIQJK-Bftk8V64.js → swimlanes-XN3QIQJK-BsaLeRDY.js} +1 -1
  318. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-BoRBF2Yw.js +8 -0
  319. package/web-shell/assets/{timeline-definition-24CTP7MA-BfXHcN1A.js → timeline-definition-24CTP7MA-NJ9G-NUU.js} +1 -1
  320. package/web-shell/assets/{vennDiagram-4TSXK5OY-DRSlI9-V.js → vennDiagram-4TSXK5OY-Ca3W4rSq.js} +1 -1
  321. package/web-shell/assets/{wardleyDiagram-VM6X3IG4-CaLmqGau.js → wardleyDiagram-VM6X3IG4-OabvjC-6.js} +1 -1
  322. package/web-shell/assets/{xychartDiagram-S5SC5T6Z-8lgUT6e8.js → xychartDiagram-S5SC5T6Z-C7rbjvpc.js} +1 -1
  323. package/web-shell/index.html +2 -2
  324. package/chunks/chunk-2LD5U7Q3.js +0 -114
  325. package/chunks/chunk-3UMWOKJC.js +0 -78
  326. package/chunks/chunk-IQAFKVXS.js +0 -22
  327. package/chunks/chunk-X35VIWWJ.js +0 -276
  328. package/chunks/chunk-ZJ2LM2SI.js +0 -198
  329. package/web-shell/assets/channel-CQx7VSAp.js +0 -1
  330. package/web-shell/assets/classDiagram-DTDB5LWJ-C-Uz8hHk.js +0 -1
  331. package/web-shell/assets/classDiagram-v2-JRS7N3AN-C-Uz8hHk.js +0 -1
  332. package/web-shell/assets/index-B4TLaxWs.js +0 -2142
  333. package/web-shell/assets/index-CCrkEbzz.css +0 -36
  334. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-LuuL5byY.js +0 -1
  335. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-COmnNq8s.js +0 -8
@@ -18,7 +18,7 @@ import {
18
18
  matchMcpServerByRef,
19
19
  parseExtensionRef,
20
20
  parseMcpServerRef
21
- } from "./chunk-XNC2TCUO.js";
21
+ } from "./chunk-76I36BEM.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-VMFPZXRT.js";
31
+ } from "./chunk-4DIMJKWU.js";
32
32
  import {
33
33
  recomputeMcpGating
34
- } from "./chunk-HWZOOSEB.js";
34
+ } from "./chunk-BDP3NTWD.js";
35
35
  import {
36
36
  SessionIdConflictError,
37
37
  appEvents,
@@ -41,46 +41,46 @@ import {
41
41
  loadCliConfig,
42
42
  normalizeDisabledToolList,
43
43
  parseApprovalModeValue
44
- } from "./chunk-P5Z7VD23.js";
44
+ } from "./chunk-3O77M472.js";
45
45
  import {
46
46
  getCommandSubcommandNames
47
- } from "./chunk-VYCJITND.js";
47
+ } from "./chunk-5HV2HPO7.js";
48
48
  import {
49
49
  getEffectiveSupportedModes
50
- } from "./chunk-I67KJGM6.js";
51
- import "./chunk-3SH53ANB.js";
50
+ } from "./chunk-A7QZIGRB.js";
51
+ import "./chunk-22GORRNY.js";
52
52
  import "./chunk-NYX53SV4.js";
53
- import "./chunk-HY3DXYZK.js";
53
+ import "./chunk-UYDQYDW2.js";
54
54
  import {
55
55
  collectContextData,
56
56
  formatContextUsageText
57
- } from "./chunk-XX4MBBFW.js";
57
+ } from "./chunk-DGNRLJ6S.js";
58
58
  import "./chunk-4WGODMVR.js";
59
59
  import {
60
60
  startNonInteractiveOpenAILogHousekeeping
61
- } from "./chunk-AIMZIXZM.js";
61
+ } from "./chunk-ZM2TCZZ7.js";
62
62
  import "./chunk-KW7NOTN6.js";
63
63
  import "./chunk-2XRE4KE4.js";
64
- import "./chunk-SHK2SIR5.js";
65
- import "./chunk-YLFICBYK.js";
66
- import "./chunk-22QOQKG4.js";
64
+ import "./chunk-QA2B26PL.js";
65
+ import "./chunk-SYKPMH2X.js";
66
+ import "./chunk-5WBA3DEF.js";
67
67
  import {
68
68
  isGoalStatusKind
69
69
  } from "./chunk-EKTCKZV5.js";
70
- import "./chunk-FXYNIZPW.js";
70
+ import "./chunk-NV4YYXFT.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-L36LLVA5.js";
76
+ import "./chunk-EYCW6UF2.js";
77
77
  import "./chunk-6H67XLET.js";
78
78
  import {
79
79
  beginAcpBootstrapConfigProfiling,
80
80
  buildAndFreezeAcpStartupProfile,
81
81
  endAcpBootstrapConfigProfiling,
82
82
  markAcpStartup
83
- } from "./chunk-IMWCUWQT.js";
83
+ } from "./chunk-J3TJH52D.js";
84
84
  import {
85
85
  GENERATION_MAX_PROMPT_BYTES,
86
86
  GENERATION_TIMEOUT_MS,
@@ -101,7 +101,7 @@ import {
101
101
  shouldSuppressRememberErrorDetails,
102
102
  workspaceMemoryFailureCode,
103
103
  workspaceMemoryFailureDiagnostics
104
- } from "./chunk-SI6Q52UI.js";
104
+ } from "./chunk-FEEVHJOR.js";
105
105
  import {
106
106
  BaseEmitter,
107
107
  HistoryReplayer,
@@ -112,10 +112,10 @@ import {
112
112
  hasFullSessionContext,
113
113
  observeAcpToolResultProjection,
114
114
  observeAcpToolResultWire
115
- } from "./chunk-PMGWY6ZP.js";
115
+ } from "./chunk-HWLLUDIA.js";
116
116
  import "./chunk-M3JGHRMQ.js";
117
117
  import "./chunk-VFFQAOPR.js";
118
- import "./chunk-37SOBIA3.js";
118
+ import "./chunk-ERXNTINK.js";
119
119
  import "./chunk-47ECGEJC.js";
120
120
  import "./chunk-2MIN6GRR.js";
121
121
  import "./chunk-QHTIBUWB.js";
@@ -143,7 +143,7 @@ import {
143
143
  normalizeChannelDeliveryText,
144
144
  scheduledTaskRunSessionName,
145
145
  scheduledTaskRunSourceId
146
- } from "./chunk-ZNI3V2XA.js";
146
+ } from "./chunk-VJWJOKOQ.js";
147
147
  import {
148
148
  normalizeSessionIdForLookup,
149
149
  parseCallerSuppliedSessionId
@@ -154,22 +154,22 @@ import {
154
154
  buildPermissionSettings,
155
155
  normalizePermissionRules,
156
156
  readPermissionRuleSet
157
- } from "./chunk-75UQFGFE.js";
157
+ } from "./chunk-FN4KHWCL.js";
158
158
  import {
159
159
  MAX_AUDIO_BYTES,
160
160
  sanitizeVoiceErrorMessage,
161
161
  transcribeVoiceAudio
162
- } from "./chunk-Z6DDPSGJ.js";
162
+ } from "./chunk-GNY7B3CA.js";
163
163
  import {
164
164
  readVoiceModel
165
- } from "./chunk-JOV46WGX.js";
165
+ } from "./chunk-NB3NDQQK.js";
166
166
  import "./chunk-Y53DG2HA.js";
167
- import "./chunk-FWH4736Q.js";
168
- import "./chunk-TDHVOZ65.js";
167
+ import "./chunk-O6BFERWN.js";
168
+ import "./chunk-LOBKNYPR.js";
169
169
  import "./chunk-JS73NNWF.js";
170
170
  import {
171
171
  SCHEDULED_TASK_RUN_SOURCE_TYPE
172
- } from "./chunk-ZT3XUGSU.js";
172
+ } from "./chunk-ZZ7RVOTU.js";
173
173
  import "./chunk-7U5G6JXI.js";
174
174
  import "./chunk-WCCLLK7X.js";
175
175
  import "./chunk-OCPBI7J5.js";
@@ -186,11 +186,13 @@ import {
186
186
  buildModelReasoningConfigOption,
187
187
  buildModelReasoningConfigPreview,
188
188
  clearReasoningRequestOverrides,
189
- getModelConfiguration,
189
+ getConfiguredModelReasoning,
190
+ getDefaultReasoningConfig,
191
+ getGptReasoningOverrideState,
190
192
  isReasoningSelectionSupported,
191
193
  parseReasoningSelection,
192
194
  resolvePersistedReasoningConfigState
193
- } from "./chunk-ZJ2LM2SI.js";
195
+ } from "./chunk-N3Z6Q7KC.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-I7UNCY24.js";
204
+ } from "./chunk-6GAYNM3F.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-537SQ2AI.js";
218
- import "./chunk-3RMVM33U.js";
219
- import "./chunk-2C3XDBGL.js";
219
+ import "./chunk-KECCLCXM.js";
220
+ import "./chunk-EDSU3VUG.js";
221
+ import "./chunk-6S7YYUUH.js";
220
222
  import "./chunk-57OAHC2Y.js";
221
- import "./chunk-BNWIX6BM.js";
222
- import "./chunk-RGAQDQ3Z.js";
223
- import "./chunk-RH344FKI.js";
223
+ import "./chunk-JFAGT5YG.js";
224
+ import "./chunk-7IDZFJAV.js";
225
+ import "./chunk-AUTUFD5X.js";
224
226
  import "./chunk-V6WHFGST.js";
225
227
  import {
226
228
  createLoadedSettingsAdapter
227
- } from "./chunk-UTVIIA7N.js";
228
- import "./chunk-LTCI6ZOJ.js";
229
+ } from "./chunk-DVOCOIS5.js";
230
+ import "./chunk-JYGIJA4W.js";
229
231
  import "./chunk-N6VQ37ZZ.js";
230
232
  import {
231
233
  ACTIVE_WORK_CLOSE_IF_UNHELD_PARAM,
@@ -265,15 +267,15 @@ import {
265
267
  WORKTREE_MCP_DEFER_META_KEY,
266
268
  clampActiveWorkIntervalMs,
267
269
  isValidTrustedModelPrompt
268
- } from "./chunk-Z6KFLEG7.js";
270
+ } from "./chunk-PSPAM24S.js";
269
271
  import {
270
272
  NOT_CURRENTLY_GENERATING_CANCEL_MESSAGE,
271
273
  isNotCurrentlyGeneratingCancelError
272
- } from "./chunk-F47DITLZ.js";
274
+ } from "./chunk-FAWTMDX7.js";
273
275
  import "./chunk-6PLDPT2C.js";
274
276
  import "./chunk-FYJ7W2PI.js";
275
277
  import "./chunk-STUJ7IMZ.js";
276
- import "./chunk-5V4B3EWA.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-65GHQ4FX.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-C55CR5I4.js";
307
+ } from "./chunk-OVTPETDL.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-RUMSY4ES.js";
318
- import "./chunk-QW7BUOSI.js";
319
+ } from "./chunk-Y7YHAY32.js";
320
+ import "./chunk-LOVGQ3HZ.js";
319
321
  import "./chunk-RKUWKYED.js";
320
322
  import "./chunk-BW4333PP.js";
321
323
  import {
@@ -325,7 +327,7 @@ import {
325
327
  import {
326
328
  getCurrentLanguage,
327
329
  setLanguageAsync
328
- } from "./chunk-LD53HMPV.js";
330
+ } from "./chunk-CRZBDVP2.js";
329
331
  import {
330
332
  SUPPORTED_LANGUAGES
331
333
  } from "./chunk-5EJZE3FP.js";
@@ -333,51 +335,49 @@ import {
333
335
  findEnvFiles,
334
336
  preResolveHomeEnvOverrides,
335
337
  reloadEnvironment
336
- } from "./chunk-4OCYWXKF.js";
338
+ } from "./chunk-43EUMPKQ.js";
337
339
  import {
338
340
  ENV_ACP_REPEATED_TOOL_FAILURE_GUARD,
339
341
  QWEN_CODE_SERVE_ENV
340
- } from "./chunk-NUQFUXOG.js";
342
+ } from "./chunk-QTNCGZHQ.js";
341
343
  import "./chunk-2EAZ43JQ.js";
342
344
  import "./chunk-NF5J2WFA.js";
343
- import "./chunk-SHX2HIE7.js";
345
+ import "./chunk-ATBLEXXV.js";
344
346
  import "./chunk-W3N5XAZ6.js";
345
347
  import {
346
348
  isWorkspaceTrusted,
347
349
  loadTrustedFolders
348
- } from "./chunk-GEV66YGE.js";
350
+ } from "./chunk-D6AGS266.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,
362
+ abortGoalForStopHookCap,
359
363
  applyProviderInstallPlan,
360
364
  buildBtwCacheSafeParams,
361
365
  buildBtwPrompt,
362
366
  buildGoalContinuationParts,
363
- buildInstallPlan,
364
367
  buildSessionRecoveryPlanFromApiHistory,
365
368
  countApiUserPrompts,
369
+ decideNotificationAdmission,
366
370
  detectAutonomousSentinel,
367
371
  detectLoopSentinel,
368
372
  findApiRewindCutPoint,
369
- findExistingProviderModels,
370
- findProviderById,
371
373
  generatePromptSuggestion,
372
374
  generateSessionRecap,
373
- getDefaultBaseUrlForProtocol,
374
- getDefaultModelIds,
375
+ getStopHookContinuationReason,
375
376
  projectGoalStateToLegacy,
376
377
  readManyFiles,
377
- resolveBaseUrl,
378
378
  runManagedRememberByAgent,
379
379
  subagentGenerator
380
- } from "./chunk-TXAEXF2B.js";
380
+ } from "./chunk-ZEFWBG2C.js";
381
381
  import {
382
382
  buildToolWriteOriginMeta
383
383
  } from "./chunk-GELRJXE2.js";
@@ -390,7 +390,7 @@ import {
390
390
  listWorkflowSnapshots,
391
391
  resolveSavedWorkflowScript,
392
392
  toSnapshot
393
- } from "./chunk-C7M445SS.js";
393
+ } from "./chunk-3A2IMUDH.js";
394
394
  import "./chunk-XFSFZCM5.js";
395
395
  import {
396
396
  CreateSubSessionTool
@@ -398,20 +398,29 @@ import {
398
398
  import "./chunk-LJZSMWOH.js";
399
399
  import {
400
400
  restoreWorktreeContext
401
- } from "./chunk-E4VX6LXB.js";
402
- import "./chunk-RSU3I6UL.js";
401
+ } from "./chunk-YZTGGCEE.js";
402
+ import {
403
+ ALL_PROVIDERS,
404
+ buildInstallPlan,
405
+ findExistingProviderModels,
406
+ findProviderById,
407
+ getDefaultBaseUrlForProtocol,
408
+ getDefaultModelIds,
409
+ resolveBaseUrl
410
+ } from "./chunk-PLEBBGHL.js";
411
+ import "./chunk-JGTMTJSQ.js";
403
412
  import "./chunk-DJXSOEFB.js";
404
- import "./chunk-KTLT7VCX.js";
413
+ import "./chunk-LKBOBUA2.js";
405
414
  import "./chunk-J3VZF2AL.js";
406
415
  import "./chunk-OWCFKIFQ.js";
407
416
  import "./chunk-ZPJWUGCS.js";
408
- import "./chunk-5Z4FCEPY.js";
417
+ import "./chunk-7K4GGN3D.js";
409
418
  import "./chunk-BUQN5LTI.js";
410
419
  import {
411
420
  clearCachedCredentialFile,
412
421
  qwenOAuth2Events
413
- } from "./chunk-VU7O7CGQ.js";
414
- import "./chunk-SD7Y2PMC.js";
422
+ } from "./chunk-XDNFODER.js";
423
+ import "./chunk-SM66GFKJ.js";
415
424
  import "./chunk-VNOVK4I7.js";
416
425
  import {
417
426
  APPROVAL_MODE_INFO,
@@ -454,7 +463,6 @@ import {
454
463
  SessionWriterUnavailableError,
455
464
  TURN_RESULT_CODE_TEXT_TRUNCATED,
456
465
  TURN_RESULT_TEXT_MAX_CHARS,
457
- abortGoalForStopHookCap,
458
466
  acquireSleepInhibitor,
459
467
  ambientGoalToolResultProvenance,
460
468
  applyAutoModeDecision,
@@ -491,7 +499,6 @@ import {
491
499
  formatDenialStateLog,
492
500
  formatStopHookBlockingCapWarning,
493
501
  generateToolUseId,
494
- getActiveGoal,
495
502
  getAutoModeActionFingerprint,
496
503
  getAutoModePermissionDeniedReason,
497
504
  getEffectivePermissionForConfirmation,
@@ -500,7 +507,6 @@ import {
500
507
  getOptInToolNotFoundMessage,
501
508
  getProviderToolCallId,
502
509
  getScopedEnvContents,
503
- getStopHookContinuationReason,
504
510
  getSubagentSessionDir,
505
511
  getToolCallRepeatKey,
506
512
  getWorkflowTaskMutationKey,
@@ -551,18 +557,18 @@ import {
551
557
  updateSetting,
552
558
  validatePlanModeShellApproval,
553
559
  validatePlanModeShellContext
554
- } from "./chunk-TSLRORQR.js";
560
+ } from "./chunk-BDAVT6K2.js";
555
561
  import "./chunk-GOFAQQZA.js";
556
- import "./chunk-3K65MUKD.js";
562
+ import "./chunk-65I7S4Z3.js";
557
563
  import "./chunk-6HUXPLB5.js";
558
564
  import "./chunk-TWPJO254.js";
559
565
  import {
560
566
  external_exports
561
567
  } from "./chunk-CQ35AJ4Z.js";
562
- import "./chunk-YHDGABDC.js";
568
+ import "./chunk-XKBFYTCD.js";
563
569
  import "./chunk-LYT2OU7D.js";
564
- import "./chunk-B54PFQS5.js";
565
- import "./chunk-ERMAXPXA.js";
570
+ import "./chunk-7CLLH5TI.js";
571
+ import "./chunk-HIXUUCGY.js";
566
572
  import {
567
573
  parsePositiveIntegerEnv
568
574
  } from "./chunk-6PVPNMXU.js";
@@ -574,7 +580,7 @@ import {
574
580
  normalizeEventPayload,
575
581
  normalizeSnapshotPayload,
576
582
  wrapUserPromptSubmitContext
577
- } from "./chunk-FDOGGKAA.js";
583
+ } from "./chunk-GSFV5RQW.js";
578
584
  import "./chunk-IRH27ZC2.js";
579
585
  import "./chunk-QHWCP53L.js";
580
586
  import "./chunk-F53KKZUD.js";
@@ -589,8 +595,8 @@ import {
589
595
  escapeJsonTagCharacters
590
596
  } from "./chunk-CHEIIBT3.js";
591
597
  import "./chunk-QAZ2MGYT.js";
592
- import "./chunk-B44JBZBB.js";
593
- import "./chunk-BF3RUIVP.js";
598
+ import "./chunk-F4SAL7WM.js";
599
+ import "./chunk-CH2YDT6X.js";
594
600
  import {
595
601
  APPROVAL_MODES
596
602
  } from "./chunk-JX6XHPTX.js";
@@ -603,34 +609,32 @@ import {
603
609
  startEventLoopLagMonitor
604
610
  } from "./chunk-CLKE4IY3.js";
605
611
  import "./chunk-ZSTCM3MX.js";
606
- import "./chunk-NXWYCSPL.js";
612
+ import "./chunk-SOA4HKRJ.js";
607
613
  import "./chunk-MLXTMF7H.js";
608
614
  import {
609
615
  getArenaSystemReminder,
610
616
  getOutputStyleTurnReminder,
611
617
  getPlanModeSystemReminder,
612
618
  resolveMainSessionOutputStyle
613
- } from "./chunk-OFB36ZBA.js";
619
+ } from "./chunk-2HYOOFDS.js";
614
620
  import "./chunk-3CZ2BQV6.js";
615
621
  import "./chunk-PQEISIKS.js";
616
- import "./chunk-3K456UJF.js";
622
+ import "./chunk-HSO6D4KX.js";
617
623
  import {
618
624
  runWithRuntimeContentGenerator
619
625
  } from "./chunk-H3Q3RSKZ.js";
620
626
  import "./chunk-S6LOFUVP.js";
621
627
  import "./chunk-NAVJD2PQ.js";
622
- import "./chunk-UKADFFL2.js";
623
- import "./chunk-EJNYBDYC.js";
628
+ import "./chunk-OFVAS4AR.js";
629
+ import "./chunk-HNLMYDQE.js";
624
630
  import "./chunk-QHMLYMMS.js";
625
631
  import {
626
632
  getToolCallPreparations
627
633
  } from "./chunk-CFKIH3D3.js";
628
- import {
629
- REASONING_EFFORT_TIERS
630
- } from "./chunk-2LD5U7Q3.js";
634
+ import "./chunk-AXMWHKXA.js";
631
635
  import "./chunk-DJ2GSRLV.js";
632
- import "./chunk-W4LL5RZO.js";
633
- import "./chunk-3UMWOKJC.js";
636
+ import "./chunk-4ALNJDHL.js";
637
+ import "./chunk-NOO4QFXM.js";
634
638
  import "./chunk-KFFCDLKV.js";
635
639
  import {
636
640
  addDaemonRequestAttribute,
@@ -662,7 +666,7 @@ import {
662
666
  shouldRunVisionBridge,
663
667
  splitImageParts,
664
668
  uiTelemetryService
665
- } from "./chunk-WQBR7LN5.js";
669
+ } from "./chunk-FRS3P7MQ.js";
666
670
  import {
667
671
  INVOCATION_CONTEXT_META_KEY,
668
672
  PRIVATE_ACP_CAPABILITY_ENV,
@@ -671,7 +675,7 @@ import {
671
675
  parseInvocationContext,
672
676
  runWithInvocationContext
673
677
  } from "./chunk-5ETULJLP.js";
674
- import "./chunk-XBVNNDPK.js";
678
+ import "./chunk-GSYD7MYP.js";
675
679
  import "./chunk-VGC4I5JJ.js";
676
680
  import {
677
681
  getAllMemoryFilenames,
@@ -685,13 +689,16 @@ import "./chunk-HD7O6WLV.js";
685
689
  import "./chunk-WZAD4ZNJ.js";
686
690
  import {
687
691
  DEFAULT_TOKEN_LIMIT,
692
+ REASONING_EFFORT_TIERS,
693
+ getGptReasoningCapabilities,
694
+ parseModelReasoningCapabilities,
688
695
  tokenLimit
689
- } from "./chunk-FPGTNKCP.js";
696
+ } from "./chunk-F3M6P6IQ.js";
690
697
  import "./chunk-TIGXX4PA.js";
691
698
  import {
692
699
  hasVertexProjectConfigured,
693
700
  preloadContentGenerator
694
- } from "./chunk-PLUAIHZO.js";
701
+ } from "./chunk-EOLGAQ25.js";
695
702
  import "./chunk-XFFRI3WM.js";
696
703
  import {
697
704
  AuthType
@@ -737,11 +744,11 @@ import {
737
744
  isSubpath,
738
745
  sessionIdContext
739
746
  } from "./chunk-ZAFYHRVY.js";
740
- import "./chunk-Y3C5COGI.js";
747
+ import "./chunk-6VIATHL7.js";
741
748
  import "./chunk-HRPFBHW7.js";
742
749
  import {
743
750
  runExitCleanup
744
- } from "./chunk-HPE4LEWX.js";
751
+ } from "./chunk-C24ZDDNY.js";
745
752
  import {
746
753
  writeStderrLine,
747
754
  writeStderrLineSafe
@@ -1784,7 +1791,6 @@ var MessageEmitter = class extends BaseEmitter {
1784
1791
  * @param stopHookCount - Number of Stop hooks that were executed
1785
1792
  */
1786
1793
  async emitStopHookLoop(iterationCount, reasons, stopHookCount) {
1787
- const activeGoal = getActiveGoal(this.sessionId);
1788
1794
  await this.sendUpdate({
1789
1795
  sessionUpdate: "agent_message_chunk",
1790
1796
  content: { type: "text", text: "" },
@@ -1792,15 +1798,7 @@ var MessageEmitter = class extends BaseEmitter {
1792
1798
  stopHookLoop: {
1793
1799
  iterationCount,
1794
1800
  reasons,
1795
- stopHookCount,
1796
- ...activeGoal ? {
1797
- goal: {
1798
- condition: activeGoal.condition,
1799
- iterations: activeGoal.iterations,
1800
- setAt: activeGoal.setAt,
1801
- lastReason: activeGoal.lastReason
1802
- }
1803
- } : {}
1801
+ stopHookCount
1804
1802
  }
1805
1803
  }
1806
1804
  });
@@ -3834,6 +3832,15 @@ var TodoStopGuardClaimTimeoutError = class extends Error {
3834
3832
  );
3835
3833
  }
3836
3834
  };
3835
+ function toAdmissibleNotification(item) {
3836
+ return {
3837
+ kind: item.kind,
3838
+ taskId: item.taskId,
3839
+ interim: item.kind === "monitor" && item.status === "running",
3840
+ persisted: item.persisted
3841
+ };
3842
+ }
3843
+ __name(toAdmissibleNotification, "toAdmissibleNotification");
3837
3844
  function beginChannelDeliveryResponseBlock(capture) {
3838
3845
  capture?.agentOutput.beginResponse();
3839
3846
  if (capture?.channelDelivery) capture.channelDelivery.finalText = "";
@@ -3895,7 +3902,6 @@ function parsePromptChannelDelivery(params) {
3895
3902
  };
3896
3903
  }
3897
3904
  __name(parsePromptChannelDelivery, "parsePromptChannelDelivery");
3898
- var MAX_NOTIFICATION_QUEUE = 20;
3899
3905
  var MAX_DEFERRED_UNRELATED_CRON_QUEUE = 20;
3900
3906
  function resolveExistingFile(resolved, resolveRealPath2 = realpathSync2, statFile = statSync2) {
3901
3907
  try {
@@ -4230,6 +4236,12 @@ var Session = class {
4230
4236
  // Background notification drain state. ACP does not have the TUI's idle
4231
4237
  // hook, so the session serializes registry callbacks through this queue.
4232
4238
  notificationQueue = [];
4239
+ /**
4240
+ * Notifications lost to queue overflow since the last drain. Reported as one
4241
+ * summary on the next notification turn rather than per loss, so an overflow
4242
+ * burst cannot itself flood the session.
4243
+ */
4244
+ droppedNotifications = new DroppedNotificationTally();
4233
4245
  notificationProcessing = false;
4234
4246
  notificationAbortController = null;
4235
4247
  notificationCompletion = null;
@@ -4358,19 +4370,17 @@ var Session = class {
4358
4370
  const host = {
4359
4371
  startGoalTurn: /* @__PURE__ */ __name(async (input) => {
4360
4372
  if (this.goalQueue.some(
4361
- ({ permit }) => permit.turnId === input.permit.turnId
4373
+ ({ permit: permit2 }) => permit2.turnId === input.permit.turnId
4362
4374
  ) || this.activeGoalTurn?.permit.turnId === input.permit.turnId) {
4363
4375
  return;
4364
4376
  }
4377
+ const { permit, ...continuation } = input;
4365
4378
  this.goalQueue.push({
4366
- permit: { ...input.permit },
4367
- turnKey: `goal-runtime:${input.permit.turnId}`,
4379
+ permit: { ...permit },
4380
+ turnKey: `goal-runtime:${permit.turnId}`,
4368
4381
  controller: new AbortController(),
4369
4382
  origin: "runtime",
4370
- continuationContext: input.continuationContext,
4371
- ...input.objectiveUpdated ? { objectiveUpdated: input.objectiveUpdated } : {},
4372
- ...input.windDown ? { windDown: true } : {},
4373
- ...input.verifierFeedback ? { verifierFeedback: input.verifierFeedback } : {},
4383
+ ...continuation,
4374
4384
  modelStarted: false
4375
4385
  });
4376
4386
  void this.#drainGoalQueue();
@@ -4539,6 +4549,7 @@ var Session = class {
4539
4549
  const turn = this.goalQueue.shift();
4540
4550
  if (!turn) return;
4541
4551
  this.goalProcessing = true;
4552
+ this.#activeWorkChanged();
4542
4553
  this.activeGoalTurn = turn;
4543
4554
  const parts = buildGoalContinuationParts(turn);
4544
4555
  let result;
@@ -4570,6 +4581,7 @@ var Session = class {
4570
4581
  await this.#emitGoalEndTurn(result);
4571
4582
  if (this.activeGoalTurn === turn) this.activeGoalTurn = void 0;
4572
4583
  this.goalProcessing = false;
4584
+ this.#activeWorkChanged();
4573
4585
  void this.#drainCronQueue();
4574
4586
  void this.#drainNotificationQueue();
4575
4587
  void this.#drainGoalQueue();
@@ -5673,6 +5685,9 @@ var Session = class {
5673
5685
  holds.push({ category: "workflow", id: task.runId });
5674
5686
  }
5675
5687
  }
5688
+ if (this.historyMutationActive || this.goalProcessing || this.cronProcessing || this.cronAbortController || this.cronCompletion || this.notificationQueue.some((item) => item.kind === "monitor") || this.notificationCompletion && this.currentAgentNotificationTaskId === null && this.currentWorkflowNotificationTaskId === null && !this.currentShellNotificationActive) {
5689
+ holds.push({ category: "session", id: "session:active-turn" });
5690
+ }
5676
5691
  return holds;
5677
5692
  }
5678
5693
  hasStandaloneRelocationBlockers() {
@@ -5696,12 +5711,14 @@ var Session = class {
5696
5711
  });
5697
5712
  }
5698
5713
  this.historyMutationActive = true;
5714
+ this.#activeWorkChanged();
5699
5715
  let released = false;
5700
5716
  return () => {
5701
5717
  if (released) return;
5702
5718
  released = true;
5703
5719
  this.historyMutationActive = false;
5704
5720
  if (this.disposed) return;
5721
+ this.#activeWorkChanged();
5705
5722
  void this.#drainCronQueue();
5706
5723
  void this.#drainNotificationQueue();
5707
5724
  };
@@ -5799,6 +5816,7 @@ var Session = class {
5799
5816
  this.closeGateCompletion = null;
5800
5817
  this.hardSuspendTodoStopGuard();
5801
5818
  this.notificationQueue = [];
5819
+ this.droppedNotifications.clear();
5802
5820
  this.cronQueue = [];
5803
5821
  for (const turn of this.goalQueue.splice(0)) {
5804
5822
  turn.controller.abort(SESSION_DISPOSE_ABORT_REASON);
@@ -6011,6 +6029,7 @@ var Session = class {
6011
6029
  this.notificationAbortController = null;
6012
6030
  }
6013
6031
  this.notificationQueue = [];
6032
+ this.droppedNotifications.clear();
6014
6033
  this.notificationProcessing = false;
6015
6034
  const queuedGoalTurn = queuedGoalTurns[0];
6016
6035
  if (queuedGoalTurn) {
@@ -6181,6 +6200,7 @@ var Session = class {
6181
6200
  this.notificationAbortController.abort();
6182
6201
  this.notificationAbortController = null;
6183
6202
  this.notificationQueue = [];
6203
+ this.droppedNotifications.clear();
6184
6204
  this.notificationProcessing = false;
6185
6205
  }
6186
6206
  if (this.notificationCompletion) {
@@ -6521,6 +6541,7 @@ var Session = class {
6521
6541
  }
6522
6542
  this.turn += 1;
6523
6543
  const promptId = this.config.getSessionId() + "########" + this.turn;
6544
+ const daemonPromptId = getInvocationContext()?.promptId;
6524
6545
  const promptMetadata = params._meta;
6525
6546
  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;
6526
6547
  promptIdContext.enterWith(promptId);
@@ -6614,17 +6635,16 @@ var Session = class {
6614
6635
  promptMetadata?.[DAEMON_ATTACHMENT_REFERENCES_META_KEY]
6615
6636
  );
6616
6637
  const recorder = this.config.getChatRecordingService();
6617
- if (promptDisplayText !== void 0 || attachmentReferences) {
6618
- recorder?.recordUserMessage(promptText, goalTurn?.permit, {
6638
+ recorder?.recordUserMessage(
6639
+ promptText,
6640
+ goalTurn?.permit,
6641
+ promptDisplayText !== void 0 || attachmentReferences ? {
6619
6642
  displayText: promptDisplayText ?? promptText,
6620
6643
  hookContext: "",
6621
6644
  ...attachmentReferences ? { attachmentReferences } : {}
6622
- });
6623
- } else if (goalTurn) {
6624
- recorder?.recordUserMessage(promptText, goalTurn.permit);
6625
- } else {
6626
- recorder?.recordUserMessage(promptText);
6627
- }
6645
+ } : void 0,
6646
+ daemonPromptId
6647
+ );
6628
6648
  }
6629
6649
  if (!isSlashInput && !isContinue && !isRestoreAskUserQuestion && !isRetry) {
6630
6650
  this.refreshContextFilesOnWrite = false;
@@ -6674,16 +6694,12 @@ var Session = class {
6674
6694
  const shouldRecordSlashCommand = !(resolvedCommandInfo?.kind === "built-in" /* BUILT_IN */ && resolvedCommandInfo.name === "advisor");
6675
6695
  if (slashCommandName === "advisor" && shouldRecordSlashCommand && goalTurn?.origin !== "runtime" && !isRetry) {
6676
6696
  const recorder = this.config.getChatRecordingService();
6677
- if (promptDisplayText !== void 0) {
6678
- recorder?.recordUserMessage(promptText, goalTurn?.permit, {
6679
- displayText: promptDisplayText,
6680
- hookContext: ""
6681
- });
6682
- } else if (goalTurn) {
6683
- recorder?.recordUserMessage(promptText, goalTurn.permit);
6684
- } else {
6685
- recorder?.recordUserMessage(promptText);
6686
- }
6697
+ recorder?.recordUserMessage(
6698
+ promptText,
6699
+ goalTurn?.permit,
6700
+ promptDisplayText !== void 0 ? { displayText: promptDisplayText, hookContext: "" } : void 0,
6701
+ daemonPromptId
6702
+ );
6687
6703
  }
6688
6704
  try {
6689
6705
  parts = await this.#processSlashCommandResult(
@@ -9140,6 +9156,7 @@ ${this.pendingRecoveredAgentsNotice}
9140
9156
  }
9141
9157
  if (this.#deferAutomaticQueueDrainUntilTurnsSettle()) return;
9142
9158
  this.cronProcessing = true;
9159
+ this.#activeWorkChanged();
9143
9160
  let resolveCompletion;
9144
9161
  this.cronCompletion = new Promise((resolve7) => {
9145
9162
  resolveCompletion = resolve7;
@@ -9156,6 +9173,7 @@ ${this.pendingRecoveredAgentsNotice}
9156
9173
  this.cronProcessing = false;
9157
9174
  resolveCompletion();
9158
9175
  this.cronCompletion = null;
9176
+ this.#activeWorkChanged();
9159
9177
  void this.#drainGoalQueue();
9160
9178
  void this.#drainNotificationQueue();
9161
9179
  if (this.config.isCronEnabled()) {
@@ -9680,30 +9698,34 @@ ${this.pendingRecoveredAgentsNotice}
9680
9698
  }
9681
9699
  }
9682
9700
  #enqueueBackgroundNotification(item) {
9683
- while (this.notificationQueue.length >= MAX_NOTIFICATION_QUEUE) {
9684
- let evictedIndex = 0;
9685
- if (this.todoStopGuard.blocksUnrelatedAutomaticTurns || this.todoStopGuardQueuedPromptPriority) {
9701
+ while (this.notificationQueue.length >= MAX_BACKGROUND_NOTIFICATION_QUEUE) {
9702
+ const guardDefersUnrelatedWork = this.todoStopGuard.blocksUnrelatedAutomaticTurns || this.todoStopGuardQueuedPromptPriority;
9703
+ const admission = decideNotificationAdmission(
9704
+ this.notificationQueue.map(toAdmissibleNotification),
9705
+ toAdmissibleNotification(item),
9706
+ {
9707
+ max: MAX_BACKGROUND_NOTIFICATION_QUEUE,
9708
+ isProtected: /* @__PURE__ */ __name((_projected, index) => guardDefersUnrelatedWork && this.#notificationContinuesTodoStopGuardWorkChain(
9709
+ this.notificationQueue[index]
9710
+ ), "isProtected")
9711
+ }
9712
+ );
9713
+ if (admission.action === "drop") {
9686
9714
  const incomingIsRelated = this.#notificationContinuesTodoStopGuardWorkChain(item);
9687
- evictedIndex = this.notificationQueue.findIndex(
9688
- (queued) => !this.#notificationContinuesTodoStopGuardWorkChain(queued)
9715
+ debugLogger6.warn(
9716
+ 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`
9689
9717
  );
9690
- if (evictedIndex < 0 && !incomingIsRelated) {
9691
- debugLogger6.warn(
9692
- `Notification queue overflow: dropping unrelated task=${item.taskId} kind=${item.kind} while automatic work is deferred`
9693
- );
9694
- return;
9695
- }
9696
- if (evictedIndex < 0) {
9697
- debugLogger6.warn(
9698
- `Notification queue overflow: dropping related task=${item.taskId} kind=${item.kind} because all queued items are related`
9699
- );
9700
- return;
9701
- }
9718
+ this.droppedNotifications.record(toAdmissibleNotification(item));
9719
+ return;
9702
9720
  }
9703
- const [evicted] = this.notificationQueue.splice(evictedIndex, 1);
9721
+ if (admission.action === "push") break;
9722
+ const [evicted] = this.notificationQueue.splice(admission.index, 1);
9704
9723
  debugLogger6.warn(
9705
9724
  `Notification queue overflow: evicting task=${evicted?.taskId ?? "unknown"} kind=${evicted?.kind ?? "unknown"}`
9706
9725
  );
9726
+ if (evicted) {
9727
+ this.droppedNotifications.record(toAdmissibleNotification(evicted));
9728
+ }
9707
9729
  }
9708
9730
  this.notificationQueue.push(item);
9709
9731
  this.#activeWorkChanged();
@@ -9896,16 +9918,39 @@ ${this.pendingRecoveredAgentsNotice}
9896
9918
  promptId,
9897
9919
  item.todoWorkChainId
9898
9920
  );
9921
+ const droppedSummary = this.droppedNotifications.take();
9922
+ if (droppedSummary) {
9923
+ await this.#emitDroppedNotificationSummary(droppedSummary);
9924
+ }
9899
9925
  await this.#emitBackgroundNotificationDisplay(item);
9900
9926
  const notificationParts = [{ text: item.modelText }];
9927
+ if (droppedSummary) {
9928
+ notificationParts.unshift({ text: droppedSummary.modelText });
9929
+ }
9901
9930
  if (!item.persisted) {
9902
- this.config.getChatRecordingService()?.recordNotification(notificationParts, item.displayText, {
9903
- taskId: item.taskId,
9904
- status: item.status,
9905
- kind: item.kind,
9906
- toolUseId: item.toolUseId,
9907
- ...item.structured
9908
- });
9931
+ const recording = this.config.getChatRecordingService();
9932
+ if (droppedSummary) {
9933
+ recording?.recordNotification(
9934
+ [{ text: droppedSummary.modelText }],
9935
+ droppedSummary.displayText
9936
+ );
9937
+ }
9938
+ recording?.recordNotification(
9939
+ [{ text: item.modelText }],
9940
+ item.displayText,
9941
+ {
9942
+ taskId: item.taskId,
9943
+ status: item.status,
9944
+ kind: item.kind,
9945
+ toolUseId: item.toolUseId,
9946
+ ...item.structured
9947
+ }
9948
+ );
9949
+ } else if (droppedSummary) {
9950
+ this.config.getChatRecordingService()?.recordNotification(
9951
+ [{ text: droppedSummary.modelText }],
9952
+ droppedSummary.displayText
9953
+ );
9909
9954
  }
9910
9955
  const notificationReminders = await this.#buildInitialSystemReminders();
9911
9956
  const activeTodoReminder = this.config.takeActiveTodoReminder(
@@ -10122,6 +10167,17 @@ ${this.pendingRecoveredAgentsNotice}
10122
10167
  }
10123
10168
  );
10124
10169
  }
10170
+ async #emitDroppedNotificationSummary(summary) {
10171
+ await this.sendUpdate({
10172
+ sessionUpdate: "agent_message_chunk",
10173
+ content: { type: "text", text: summary.displayText },
10174
+ _meta: {
10175
+ source: "background_notification",
10176
+ qwenDiscreteMessage: true,
10177
+ backgroundTask: { kind: "queue", status: summary.status }
10178
+ }
10179
+ });
10180
+ }
10125
10181
  async #emitBackgroundNotificationDisplay(item) {
10126
10182
  await this.sendUpdate({
10127
10183
  sessionUpdate: "agent_message_chunk",
@@ -10334,7 +10390,10 @@ ${this.pendingRecoveredAgentsNotice}
10334
10390
  void this.client.extNotification("qwen/notify/session/mode-update", {
10335
10391
  v: 1,
10336
10392
  sessionId: this.sessionId,
10337
- currentModeId: params.modeId
10393
+ currentModeId: params.modeId,
10394
+ ...approvalMode === "plan" /* PLAN */ ? {
10395
+ planExecutionMode: this.config.getPlanExecutionMode?.() ?? this.config.getPrePlanMode?.()
10396
+ } : {}
10338
10397
  }).catch((error) => {
10339
10398
  debugLogger6.debug("mode-update extNotification failed", error);
10340
10399
  });
@@ -10436,14 +10495,7 @@ ${this.pendingRecoveredAgentsNotice}
10436
10495
  };
10437
10496
  }
10438
10497
  getDefaultReasoningConfig() {
10439
- const authType = this.config.getAuthType?.();
10440
- const model = authType && !this.config.getActiveRuntimeModelSnapshot?.() ? this.config.getResolvedModelConfig?.(
10441
- authType,
10442
- this.config.getModel(),
10443
- this.config.getCurrentModelRegistryBaseUrl?.() ?? void 0
10444
- ) : void 0;
10445
- if (model) return model.generationConfig.reasoning;
10446
- return this.settings.merged.model?.generationConfig?.reasoning;
10498
+ return getDefaultReasoningConfig(this.config, this.settings);
10447
10499
  }
10448
10500
  reloadReasoningSelection() {
10449
10501
  this.settings.reloadScopeFromDisk("User" /* User */);
@@ -10503,15 +10555,25 @@ ${this.pendingRecoveredAgentsNotice}
10503
10555
  let selection = hasSessionSelection ? this.sessionReasoningSelection : parseReasoningSelection(rawSelection);
10504
10556
  const generation = this.config.getContentGeneratorConfig?.();
10505
10557
  const thinkingMandatory = generation?.thinkingMandatory === true;
10506
- let supported = selection !== void 0 && selection !== REASONING_EFFORT_DEFAULT && isReasoningSelectionSupported(modelId, selection, thinkingMandatory);
10558
+ const modelReasoning = getConfiguredModelReasoning(this.config, modelId);
10559
+ const gptCapabilities = getGptReasoningCapabilities(modelId);
10560
+ const configuredReasoning = parseModelReasoningCapabilities(modelReasoning);
10561
+ const gptModel = gptCapabilities !== void 0 && !configuredReasoning;
10562
+ const supportsPreference = /* @__PURE__ */ __name((value) => value !== void 0 && value !== REASONING_EFFORT_DEFAULT && (gptModel && value !== REASONING_EFFORT_NONE || isReasoningSelectionSupported(
10563
+ modelId,
10564
+ value,
10565
+ thinkingMandatory,
10566
+ modelReasoning
10567
+ )), "supportsPreference");
10568
+ let supported = supportsPreference(selection);
10507
10569
  const appliesSessionDefault = hasSessionSelection && selection === REASONING_EFFORT_DEFAULT;
10508
10570
  if (hasSessionSelection && !supported && !appliesSessionDefault) {
10509
10571
  this.sessionReasoningSelection = void 0;
10510
10572
  hasSessionSelection = false;
10511
10573
  selection = parseReasoningSelection(rawSelection);
10512
- supported = selection !== void 0 && selection !== REASONING_EFFORT_DEFAULT && isReasoningSelectionSupported(modelId, selection, thinkingMandatory);
10574
+ supported = supportsPreference(selection);
10513
10575
  }
10514
- if (!hasSessionSelection && rawSelection !== void 0 && !supported && options.persist) {
10576
+ if (!hasSessionSelection && rawSelection !== void 0 && !supported && !(selection === REASONING_EFFORT_NONE && gptCapabilities !== void 0 && configuredReasoning?.canDisable !== false) && options.persist) {
10515
10577
  try {
10516
10578
  this.persistReasoningSelection(REASONING_EFFORT_DEFAULT);
10517
10579
  } catch (error) {
@@ -10520,7 +10582,6 @@ ${this.pendingRecoveredAgentsNotice}
10520
10582
  );
10521
10583
  }
10522
10584
  }
10523
- const modelReasoning = getModelConfiguration(modelId)?.reasoning;
10524
10585
  if (supported && generation && modelReasoning && !modelReasoning.toggleOnly) {
10525
10586
  clearReasoningRequestOverrides(generation);
10526
10587
  }
@@ -10566,6 +10627,9 @@ ${this.pendingRecoveredAgentsNotice}
10566
10627
  v: 1,
10567
10628
  sessionId: this.sessionId,
10568
10629
  currentModeId: newModeId,
10630
+ ...newModeId === "plan" /* PLAN */ ? {
10631
+ planExecutionMode: this.config.getPlanExecutionMode?.() ?? this.config.getPrePlanMode?.()
10632
+ } : {},
10569
10633
  legacyFrameSent
10570
10634
  });
10571
10635
  } catch (error) {
@@ -12079,7 +12143,10 @@ ${this.pendingRecoveredAgentsNotice}
12079
12143
  );
12080
12144
  }
12081
12145
  let confirmationPayload = {
12082
- answers: output.answers
12146
+ answers: output.answers,
12147
+ ...output.expectedPlanExecutionMode !== void 0 ? {
12148
+ expectedPlanExecutionMode: output.expectedPlanExecutionMode
12149
+ } : {}
12083
12150
  };
12084
12151
  if (planShellDecision.classification !== "not-applicable") {
12085
12152
  const approval = await validatePlanModeShellApproval({
@@ -12188,7 +12255,7 @@ ${this.pendingRecoveredAgentsNotice}
12188
12255
  }
12189
12256
  }
12190
12257
  }
12191
- if (!didRequestPermission && !isTodoWriteTool) {
12258
+ if ((!didRequestPermission || isAgentTool) && !isTodoWriteTool) {
12192
12259
  const startParams = {
12193
12260
  callId,
12194
12261
  toolName,
@@ -12330,10 +12397,22 @@ ${this.pendingRecoveredAgentsNotice}
12330
12397
  let toolSettled = false;
12331
12398
  let heartbeatCount = 0;
12332
12399
  let lastHeartbeat;
12400
+ let subagentSessionReadySent = false;
12333
12401
  const onToolProgress = /* @__PURE__ */ __name((chunk) => {
12334
- if (toolSettled || !isShellProgressData(chunk)) {
12335
- return;
12402
+ if (toolSettled) return;
12403
+ if (isAgentTool && !subagentSessionReadySent && typeof chunk === "object" && chunk !== null && "subagentSessionReady" in chunk && chunk.subagentSessionReady === true) {
12404
+ subagentSessionReadySent = true;
12405
+ void this.sendUpdate({
12406
+ sessionUpdate: "tool_call_update",
12407
+ toolCallId: callId,
12408
+ _meta: { toolName, subagentSessionReady: true }
12409
+ }).catch((err) => {
12410
+ debugLogger6.debug(
12411
+ `[Session.runTool] subagent readiness update failed for ${callId}: ${err}`
12412
+ );
12413
+ });
12336
12414
  }
12415
+ if (!isShellProgressData(chunk)) return;
12337
12416
  heartbeatCount++;
12338
12417
  lastHeartbeat = chunk;
12339
12418
  void this.sendUpdate({
@@ -14546,6 +14625,7 @@ function serializeWorkflowTask(entry, now) {
14546
14625
  })),
14547
14626
  agentsDispatched: entry.agentsDispatched,
14548
14627
  agentsCompleted: entry.agentsCompleted,
14628
+ agentsRespawned: entry.agentsRespawned ?? 0,
14549
14629
  tokensSpent: entry.tokensSpent,
14550
14630
  tokenBudgetTotal: entry.tokenBudgetTotal,
14551
14631
  recentLogs: [...entry.recentLogs],
@@ -14586,6 +14666,7 @@ function serializeWorkflowSnapshot(snapshot) {
14586
14666
  })),
14587
14667
  agentsDispatched: snapshot.agentsDispatched,
14588
14668
  agentsCompleted: snapshot.agentsCompleted,
14669
+ agentsRespawned: snapshot.agentsRespawned ?? 0,
14589
14670
  tokensSpent: snapshot.tokensSpent,
14590
14671
  tokenBudgetTotal: snapshot.tokenBudgetTotal,
14591
14672
  recentLogs: [...snapshot.recentLogs],
@@ -17834,7 +17915,7 @@ var QwenAgent = class _QwenAgent {
17834
17915
  }
17835
17916
  this.clientCapabilities = args.clientCapabilities;
17836
17917
  const authMethods = buildAuthMethods();
17837
- const version = "0.23.1-preview.2";
17918
+ const version = "0.23.2-nightly.20260909.2e212144d3";
17838
17919
  const response = {
17839
17920
  protocolVersion: PROTOCOL_VERSION,
17840
17921
  agentInfo: {
@@ -18086,7 +18167,10 @@ var QwenAgent = class _QwenAgent {
18086
18167
  sessionId: session.getId(),
18087
18168
  models: this.buildAvailableModels(config),
18088
18169
  modes: this.buildModesData(config),
18089
- configOptions: this.buildConfigOptions(config)
18170
+ configOptions: this.buildConfigOptions(
18171
+ config,
18172
+ session.getDefaultReasoningConfig()
18173
+ )
18090
18174
  }));
18091
18175
  },
18092
18176
  parentContext ? { parentContext } : {}
@@ -18149,7 +18233,10 @@ var QwenAgent = class _QwenAgent {
18149
18233
  () => ({
18150
18234
  modes: this.buildModesData(config),
18151
18235
  models: this.buildAvailableModels(config),
18152
- configOptions: this.buildConfigOptions(config),
18236
+ configOptions: this.buildConfigOptions(
18237
+ config,
18238
+ liveSession.getDefaultReasoningConfig()
18239
+ ),
18153
18240
  ...projection?.artifactSnapshot ? { artifactSnapshot: projection.artifactSnapshot } : {}
18154
18241
  })
18155
18242
  );
@@ -18281,7 +18368,10 @@ var QwenAgent = class _QwenAgent {
18281
18368
  const buildResponse = /* @__PURE__ */ __name(() => profiler.timeSync("response_build", () => ({
18282
18369
  modes: this.buildModesData(config),
18283
18370
  models: this.buildAvailableModels(config),
18284
- configOptions: this.buildConfigOptions(config),
18371
+ configOptions: this.buildConfigOptions(
18372
+ config,
18373
+ getDefaultReasoningConfig(config, settings)
18374
+ ),
18285
18375
  ...projection?.runtime.artifactSnapshot ? { artifactSnapshot: projection.runtime.artifactSnapshot } : {},
18286
18376
  ...replayEnvelope ? {
18287
18377
  _meta: {
@@ -18553,7 +18643,10 @@ var QwenAgent = class _QwenAgent {
18553
18643
  () => ({
18554
18644
  modes: this.buildModesData(config),
18555
18645
  models: this.buildAvailableModels(config),
18556
- configOptions: this.buildConfigOptions(config),
18646
+ configOptions: this.buildConfigOptions(
18647
+ config,
18648
+ liveSession.getDefaultReasoningConfig()
18649
+ ),
18557
18650
  ...projection?.artifactSnapshot ? { artifactSnapshot: projection.artifactSnapshot } : {}
18558
18651
  })
18559
18652
  )
@@ -18645,7 +18738,10 @@ var QwenAgent = class _QwenAgent {
18645
18738
  response = profiler.timeSync("response_build", () => ({
18646
18739
  modes: this.buildModesData(config),
18647
18740
  models: this.buildAvailableModels(config),
18648
- configOptions: this.buildConfigOptions(config),
18741
+ configOptions: this.buildConfigOptions(
18742
+ config,
18743
+ getDefaultReasoningConfig(config, settings)
18744
+ ),
18649
18745
  ...projection?.runtime.artifactSnapshot ? { artifactSnapshot: projection.runtime.artifactSnapshot } : {}
18650
18746
  }));
18651
18747
  }, "beforeSessionPublish"),
@@ -18800,7 +18896,8 @@ var QwenAgent = class _QwenAgent {
18800
18896
  case "reasoning_effort": {
18801
18897
  const config = session.getConfig();
18802
18898
  const generation = config.getContentGeneratorConfig();
18803
- const option = this.buildConfigOptions(config).find(
18899
+ const defaultReasoning = session.getDefaultReasoningConfig();
18900
+ const option = this.buildConfigOptions(config, defaultReasoning).find(
18804
18901
  (candidate) => candidate.id === "reasoning_effort"
18805
18902
  );
18806
18903
  const modelReasoning = this.getModelReasoningConfiguration(config);
@@ -18828,7 +18925,6 @@ var QwenAgent = class _QwenAgent {
18828
18925
  "Reasoning effort cannot be applied while thinking is disabled"
18829
18926
  );
18830
18927
  }
18831
- const defaultReasoning = session.getDefaultReasoningConfig();
18832
18928
  const previous = {
18833
18929
  reasoning: generation.reasoning,
18834
18930
  extra_body: generation.extra_body,
@@ -18846,12 +18942,15 @@ var QwenAgent = class _QwenAgent {
18846
18942
  selected === REASONING_EFFORT_DEFAULT ? defaultReasoning ? defaultReasoning.effort : void 0 : selected
18847
18943
  );
18848
18944
  }
18849
- const configOptions = this.buildConfigOptions(config);
18945
+ const configOptions = this.buildConfigOptions(
18946
+ config,
18947
+ defaultReasoning
18948
+ );
18850
18949
  const confirmedValue = configOptions.find(
18851
18950
  (candidate) => candidate.id === "reasoning_effort"
18852
18951
  )?.currentValue;
18853
18952
  const confirmed = selected === REASONING_EFFORT_DEFAULT ? confirmedValue !== void 0 : confirmedValue === selected;
18854
- if (!confirmed) {
18953
+ if (!confirmed || tierSelected && getGptReasoningOverrideState(generation, modelReasoning)?.blocksTierChange) {
18855
18954
  throw RequestError.invalidParams(
18856
18955
  void 0,
18857
18956
  modelReasoning ? `Reasoning selection was not applied: ${selected}` : "Reasoning effort cannot be applied while thinking is disabled"
@@ -18881,7 +18980,10 @@ var QwenAgent = class _QwenAgent {
18881
18980
  );
18882
18981
  }
18883
18982
  return {
18884
- configOptions: this.buildConfigOptions(session.getConfig())
18983
+ configOptions: this.buildConfigOptions(
18984
+ session.getConfig(),
18985
+ session.getDefaultReasoningConfig()
18986
+ )
18885
18987
  };
18886
18988
  });
18887
18989
  }
@@ -19805,6 +19907,7 @@ var QwenAgent = class _QwenAgent {
19805
19907
  buildWorkspaceProvidersStatus(config) {
19806
19908
  try {
19807
19909
  const workspaceCwd = this.workspaceCwd(config);
19910
+ const settings = loadSettingsCached(workspaceCwd);
19808
19911
  const currentAuthType = config.getAuthType?.();
19809
19912
  const activeRuntimeSnapshot = config.getActiveRuntimeModelSnapshot?.();
19810
19913
  const currentModelId = activeRuntimeSnapshot ? activeRuntimeSnapshot.id : (config.getModel() || "").trim();
@@ -19835,17 +19938,25 @@ var QwenAgent = class _QwenAgent {
19835
19938
  providers.set(authType, provider);
19836
19939
  }
19837
19940
  const isCurrent = currentAuth === model.authType && currentAcpModelId === modelId;
19941
+ const resolved = !model.isRuntimeModel && !modelId.startsWith(ACP_ROUTE_ID_PREFIX) ? config.getResolvedModelConfig?.(
19942
+ model.authType,
19943
+ model.id,
19944
+ model.registryBaseUrl ?? model.baseUrl
19945
+ ) : void 0;
19838
19946
  const configOptions = model.isRuntimeModel || modelId.startsWith(ACP_ROUTE_ID_PREFIX) ? void 0 : buildModelReasoningConfigPreview(
19839
19947
  model.id,
19840
19948
  resolvePersistedReasoningConfigState(
19841
19949
  model.id,
19842
- this.settings.merged.model?.reasoningEffort,
19843
- config.getResolvedModelConfig?.(
19844
- model.authType,
19845
- model.id,
19846
- model.registryBaseUrl ?? model.baseUrl
19847
- )?.generationConfig.thinkingMandatory === true
19848
- )
19950
+ settings.merged.model?.reasoningEffort,
19951
+ resolved?.generationConfig.thinkingMandatory === true,
19952
+ model.capabilities?.reasoning
19953
+ ),
19954
+ model.capabilities?.reasoning,
19955
+ resolved ? {
19956
+ ...resolved.generationConfig,
19957
+ model: model.id,
19958
+ baseUrl: resolved.baseUrl
19959
+ } : void 0
19849
19960
  );
19850
19961
  const providerModel = {
19851
19962
  modelId,
@@ -20245,7 +20356,10 @@ var QwenAgent = class _QwenAgent {
20245
20356
  state: {
20246
20357
  models: this.buildAvailableModels(config),
20247
20358
  modes: this.buildModesData(config),
20248
- configOptions: this.buildConfigOptions(config)
20359
+ configOptions: this.buildConfigOptions(
20360
+ config,
20361
+ session.getDefaultReasoningConfig()
20362
+ )
20249
20363
  }
20250
20364
  };
20251
20365
  }
@@ -22915,6 +23029,7 @@ var QwenAgent = class _QwenAgent {
22915
23029
  case SERVE_CONTROL_EXT_METHODS.sessionApprovalMode: {
22916
23030
  const sessionId = params["sessionId"];
22917
23031
  const mode = params["mode"];
23032
+ const planMode = params["planMode"];
22918
23033
  if (typeof sessionId !== "string" || sessionId.length === 0) {
22919
23034
  throw RequestError.invalidParams(
22920
23035
  void 0,
@@ -22927,11 +23042,21 @@ var QwenAgent = class _QwenAgent {
22927
23042
  `Invalid approval mode; allowed: ${APPROVAL_MODES.join(", ")}`
22928
23043
  );
22929
23044
  }
23045
+ if (planMode !== void 0 && (typeof planMode !== "boolean" || mode === "plan" /* PLAN */)) {
23046
+ throw RequestError.invalidParams(
23047
+ void 0,
23048
+ "planMode must be a boolean with a non-plan execution mode"
23049
+ );
23050
+ }
22930
23051
  const session = this.sessionOrThrow(sessionId);
22931
23052
  const config = session.getConfig();
22932
23053
  const previous = config.getApprovalMode();
22933
23054
  try {
22934
- config.setApprovalMode(mode);
23055
+ if (typeof planMode === "boolean") {
23056
+ config.setPlanMode(planMode, mode);
23057
+ } else {
23058
+ config.setApprovalMode(mode);
23059
+ }
22935
23060
  } catch (err) {
22936
23061
  if (err instanceof Error && err.name === "TrustGateError") {
22937
23062
  throw new RequestError(-32003, err.message, {
@@ -22949,7 +23074,13 @@ var QwenAgent = class _QwenAgent {
22949
23074
  } else if (previous === "plan") {
22950
23075
  session.clearActiveTodoPlanRevision();
22951
23076
  }
22952
- return { previous, current };
23077
+ return {
23078
+ previous,
23079
+ current,
23080
+ ...current === "plan" /* PLAN */ ? {
23081
+ planExecutionMode: config.getPlanExecutionMode?.() ?? config.getPrePlanMode?.()
23082
+ } : {}
23083
+ };
22953
23084
  }
22954
23085
  case SERVE_CONTROL_EXT_METHODS.workspaceSessionWorkflow: {
22955
23086
  const enabled = params["enabled"];
@@ -25223,14 +25354,15 @@ ${outputText}
25223
25354
  }
25224
25355
  const generation = config.getContentGeneratorConfig?.();
25225
25356
  const modelId = generation?.model ?? config.getModel();
25357
+ const modelReasoning = getConfiguredModelReasoning(config, modelId);
25226
25358
  if (!isReasoningSelectionSupported(
25227
25359
  modelId,
25228
25360
  selection,
25229
- generation?.thinkingMandatory === true
25361
+ generation?.thinkingMandatory === true,
25362
+ modelReasoning
25230
25363
  )) {
25231
25364
  return;
25232
25365
  }
25233
- const modelReasoning = this.getModelReasoningConfiguration(config);
25234
25366
  if (generation && modelReasoning && !modelReasoning.toggleOnly) {
25235
25367
  clearReasoningRequestOverrides(generation);
25236
25368
  }
@@ -25621,10 +25753,15 @@ ${outputText}
25621
25753
  }));
25622
25754
  return {
25623
25755
  currentModeId: currentApprovalMode,
25756
+ ...currentApprovalMode === "plan" /* PLAN */ ? {
25757
+ _meta: {
25758
+ planExecutionMode: config.getPlanExecutionMode?.() ?? config.getPrePlanMode?.()
25759
+ }
25760
+ } : {},
25624
25761
  availableModes
25625
25762
  };
25626
25763
  }
25627
- buildConfigOptions(config) {
25764
+ buildConfigOptions(config, defaultReasoning) {
25628
25765
  const currentApprovalMode = config.getApprovalMode();
25629
25766
  const modelOptions = this.buildSelectableModelOptions(config);
25630
25767
  const rawCurrentModelId = (config.getModel() || "").trim();
@@ -25664,9 +25801,15 @@ ${outputText}
25664
25801
  currentValue: currentModelId,
25665
25802
  options: configModelOptions
25666
25803
  };
25804
+ const modelReasoning = this.getModelReasoningConfiguration(
25805
+ config,
25806
+ currentModelId
25807
+ );
25667
25808
  if (activeRuntimeSnapshot || currentModelId.startsWith(ACP_ROUTE_ID_PREFIX) || !isReasoningSelectionSupported(
25668
25809
  rawCurrentModelId,
25669
- REASONING_EFFORT_DEFAULT
25810
+ REASONING_EFFORT_DEFAULT,
25811
+ false,
25812
+ modelReasoning
25670
25813
  )) {
25671
25814
  return [modeConfigOption, modelConfigOption];
25672
25815
  }
@@ -25674,10 +25817,6 @@ ${outputText}
25674
25817
  if (!generation) {
25675
25818
  return [modeConfigOption, modelConfigOption];
25676
25819
  }
25677
- const modelReasoning = this.getModelReasoningConfiguration(
25678
- config,
25679
- currentModelId
25680
- );
25681
25820
  const currentModelEffort = config.getReasoningEffort?.();
25682
25821
  const reasoningOverride = config.getReasoningEffortOverride?.();
25683
25822
  const reasoningOverrideValue = reasoningOverride ? generation[reasoningOverride.source]?.[reasoningOverride.field] : void 0;
@@ -25687,17 +25826,30 @@ ${outputText}
25687
25826
  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;
25688
25827
  const normalizedOverrideEffort = normalizedEffortOverride ?? normalizedBudgetOverride;
25689
25828
  const overrideDisablesReasoning = reasoningOverride?.field === "enable_thinking" && reasoningOverrideValue === false || reasoningOverride?.field === "reasoning_effort" && reasoningOverrideValue === REASONING_EFFORT_NONE;
25829
+ const gptOverride = getGptReasoningOverrideState(
25830
+ generation,
25831
+ modelReasoning
25832
+ );
25833
+ const gptEnableOverride = generation.reasoning === false ? getGptReasoningOverrideState(
25834
+ { ...generation, reasoning: void 0 },
25835
+ modelReasoning
25836
+ ) : gptOverride;
25690
25837
  const mandatoryUsesDefaultEffort = generation.thinkingMandatory === true && (overrideDisablesReasoning || generation.reasoning === false && reasoningOverride?.field === "reasoning_effort");
25691
- const effectiveModelEffort = modelReasoning && !modelReasoning.toggleOnly ? mandatoryUsesDefaultEffort ? modelReasoning.defaultEffort : normalizedOverrideEffort ? modelReasoning.efforts.find(
25838
+ const effectiveModelEffort = modelReasoning && !modelReasoning.toggleOnly ? mandatoryUsesDefaultEffort || gptOverride?.useDefaultEffort ? modelReasoning.defaultEffort : normalizedOverrideEffort ? modelReasoning.efforts?.find(
25692
25839
  (effort) => effort === normalizedOverrideEffort
25693
- ) ?? modelReasoning.defaultEffort : currentModelEffort : currentModelEffort;
25694
- const reasoningEnabled = generation.reasoning !== false && (!reasoningOverride || !overrideDisablesReasoning);
25840
+ ) ?? modelReasoning.defaultEffort : gptOverride?.effort ?? currentModelEffort : currentModelEffort;
25841
+ const reasoningEnabled = generation.reasoning === void 0 && !reasoningOverride && gptOverride?.enabled === void 0 ? void 0 : generation.reasoning !== false && (!reasoningOverride || !overrideDisablesReasoning) && gptOverride?.enabled !== false;
25695
25842
  const canDisableReasoning = generation.thinkingMandatory !== true;
25696
- const reasoningEffortConfigOption = (modelReasoning ? buildModelReasoningConfigOption(rawCurrentModelId, {
25697
- enabled: reasoningEnabled,
25698
- effort: effectiveModelEffort,
25699
- thinkingMandatory: generation.thinkingMandatory === true
25700
- }) : void 0) ?? {
25843
+ const reasoningEffortConfigOption = (modelReasoning ? buildModelReasoningConfigOption(
25844
+ rawCurrentModelId,
25845
+ {
25846
+ enabled: reasoningEnabled,
25847
+ effort: effectiveModelEffort,
25848
+ ...gptEnableOverride?.blocksTierChange ? gptEnableOverride.enabled && defaultReasoning !== false ? { enableValue: REASONING_EFFORT_DEFAULT } : { canEnable: false } : {},
25849
+ thinkingMandatory: generation.thinkingMandatory === true
25850
+ },
25851
+ modelReasoning
25852
+ ) : void 0) ?? {
25701
25853
  id: "reasoning_effort",
25702
25854
  name: "Reasoning effort",
25703
25855
  description: "How hard reasoning-capable models should think",
@@ -25739,8 +25891,7 @@ ${outputText}
25739
25891
  if (completeModelId.startsWith(ACP_ROUTE_ID_PREFIX)) {
25740
25892
  return void 0;
25741
25893
  }
25742
- const reasoning = getModelConfiguration(config.getModel())?.reasoning;
25743
- return reasoning?.thinking ? reasoning : void 0;
25894
+ return getConfiguredModelReasoning(config);
25744
25895
  }
25745
25896
  buildSelectableModelOptions(config) {
25746
25897
  const currentAuthType = config.getAuthType();