@qwen-code/web-shell 0.25.1 → 0.25.2-preview.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (398) hide show
  1. package/NOTICES.txt +2435 -0
  2. package/README.md +54 -12
  3. package/dist/PierreFilePreview-Ctb1tsDd.js +15087 -0
  4. package/dist/SpreadsheetPreview-D-v9WPl_.js +379 -0
  5. package/dist/WorkspaceFileBrowser-ChMwviRm.js +11389 -0
  6. package/dist/abap-Y8Dl9g_6.js +6 -0
  7. package/dist/actionscript-3-BaF0d0xQ.js +6 -0
  8. package/dist/ada-BF2KzuNn.js +6 -0
  9. package/dist/{agents-route-CufkSNnD.js → agents-route-C_2yzkr2.js} +35 -35
  10. package/dist/ahk-B-WqUgDL.js +6 -0
  11. package/dist/ahk2-SbcCPlaJ.js +6 -0
  12. package/dist/andromeeda-BbmzSJq1.js +4 -0
  13. package/dist/angular-html-rmyRipUB.js +32 -0
  14. package/dist/angular-ts-gqGZGIqw.js +21 -0
  15. package/dist/apache-BUjz-sD2.js +6 -0
  16. package/dist/apex-DvkHwMsp.js +6 -0
  17. package/dist/apl-9WGfvSCD.js +16 -0
  18. package/dist/applescript-BPx7YFFu.js +6 -0
  19. package/dist/ara-Z2fSOxSw.js +6 -0
  20. package/dist/asciidoc-BiIPQCNW.js +6 -0
  21. package/dist/asm-BTWLY5ym.js +6 -0
  22. package/dist/astro-B3VnZ88h.js +18 -0
  23. package/dist/aurora-x-BwoVEUWZ.js +4 -0
  24. package/dist/awk-Fb0P9dkn.js +6 -0
  25. package/dist/ayu-dark-DJoqd4M9.js +4 -0
  26. package/dist/ayu-light-BzXEJRJ-.js +4 -0
  27. package/dist/ayu-mirage-BJ2oZGzi.js +4 -0
  28. package/dist/ballerina-oZK-YekG.js +6 -0
  29. package/dist/bat-ydjv7YKs.js +6 -0
  30. package/dist/beancount-B97e4I_p.js +6 -0
  31. package/dist/berry-DODBq_Ff.js +6 -0
  32. package/dist/bibtex-EULQRLY5.js +6 -0
  33. package/dist/bicep-BorU73w0.js +6 -0
  34. package/dist/bird2-pg9hCHlc.js +6 -0
  35. package/dist/blade-C1Ndts_b.js +20 -0
  36. package/dist/bsl-D_YKmA0K.js +8 -0
  37. package/dist/c-eeMepfLm.js +6 -0
  38. package/dist/c3-CFUossGW.js +6 -0
  39. package/dist/cadence-02UX7mW8.js +6 -0
  40. package/dist/cairo-DM6WF2e3.js +8 -0
  41. package/dist/catppuccin-frappe-DUuBHM65.js +4 -0
  42. package/dist/catppuccin-latte-BNGb0x5j.js +4 -0
  43. package/dist/catppuccin-macchiato-BxrBWMCk.js +4 -0
  44. package/dist/catppuccin-mocha-CuiVuFkm.js +4 -0
  45. package/dist/chapel-eL5CQ0M-.js +8 -0
  46. package/dist/clarity-9DleLt1s.js +6 -0
  47. package/dist/clojure-CXJfHrL3.js +6 -0
  48. package/dist/cmake-BJz8BOTU.js +6 -0
  49. package/dist/cobol-Dl6_7gJe.js +10 -0
  50. package/dist/codeowners-Bt9yU6NX.js +6 -0
  51. package/dist/codeql-DHkodjjI.js +6 -0
  52. package/dist/coffee-DGBR_nr_.js +8 -0
  53. package/dist/common-lisp-EVqT9Zhp.js +6 -0
  54. package/dist/coq-5TmQn6M5.js +6 -0
  55. package/dist/cpp-Bb6c2fiE.js +15 -0
  56. package/dist/crystal-Bfb0oPlr.js +18 -0
  57. package/dist/csharp-B2h9rwLg.js +6 -0
  58. package/dist/css-D8kMf1Az.js +6 -0
  59. package/dist/csv-CmYOceLb.js +6 -0
  60. package/dist/cue-ZzumE7IT.js +6 -0
  61. package/dist/cypher-jpdmjtA6.js +6 -0
  62. package/dist/d-CBagWSwH.js +6 -0
  63. package/dist/daemon-react-sdk.js +1 -1
  64. package/dist/dark-plus-pUHDTVV0.js +4 -0
  65. package/dist/dart-K6TBxHBr.js +6 -0
  66. package/dist/dax-CcDT-8dH.js +6 -0
  67. package/dist/desktop-B93p9R9O.js +6 -0
  68. package/dist/diff-BxzP2J8R.js +6 -0
  69. package/dist/docker-CsHqm9tx.js +6 -0
  70. package/dist/dotenv-To_iU2bW.js +6 -0
  71. package/dist/dracula-BtZx2Kac.js +4 -0
  72. package/dist/dracula-soft-BKa-aqBv.js +4 -0
  73. package/dist/dream-maker-PAx17jaB.js +6 -0
  74. package/dist/edge-Qug5O-Uv.js +12 -0
  75. package/dist/elixir-jJSGlzPp.js +8 -0
  76. package/dist/elm-BtNbw_Cd.js +8 -0
  77. package/dist/emacs-lisp--TAIYkU3.js +6 -0
  78. package/dist/erb-B9A6WGNp.js +10 -0
  79. package/dist/erlang-DNcDT8Hi.js +8 -0
  80. package/dist/everforest-dark-DMCBqXCK.js +4 -0
  81. package/dist/everforest-light-BbXl82Em.js +4 -0
  82. package/dist/fennel-N4WcXuKx.js +6 -0
  83. package/dist/fish-BTDEUgqH.js +6 -0
  84. package/dist/fluent-BMXUxfv1.js +6 -0
  85. package/dist/fortran-fixed-form-B67KFkXH.js +8 -0
  86. package/dist/fortran-free-form-CwqYvCLJ.js +6 -0
  87. package/dist/fsharp-CYOiIVNx.js +8 -0
  88. package/dist/gdresource-B6Cnl39M.js +10 -0
  89. package/dist/gdscript-BWeFgEe_.js +6 -0
  90. package/dist/gdshader-Bk8fF6yr.js +6 -0
  91. package/dist/genie-DzUvd7U9.js +6 -0
  92. package/dist/gherkin-DHRaV0YP.js +6 -0
  93. package/dist/git-commit-Bd32YZ0K.js +8 -0
  94. package/dist/git-rebase-ZWUFO_T4.js +8 -0
  95. package/dist/github-dark-DenFmJkN.js +4 -0
  96. package/dist/github-dark-default-BJPUVz4H.js +4 -0
  97. package/dist/github-dark-dimmed-DUshB20C.js +4 -0
  98. package/dist/github-dark-high-contrast-D3aGCnF8.js +4 -0
  99. package/dist/github-light-JYsPkUQd.js +4 -0
  100. package/dist/github-light-default-D99KPAby.js +4 -0
  101. package/dist/github-light-high-contrast-BbmZE-Mp.js +4 -0
  102. package/dist/gleam-Bv284lvN.js +6 -0
  103. package/dist/glimmer-js-B-ut3b08.js +14 -0
  104. package/dist/glimmer-ts-CDiMEfki.js +14 -0
  105. package/dist/glsl-CkUcVZNK.js +8 -0
  106. package/dist/gn-B0BSgybI.js +6 -0
  107. package/dist/gnuplot-yPG9-sE_.js +6 -0
  108. package/dist/go-EbF93JXO.js +6 -0
  109. package/dist/graphql-CBu2ehBn.js +14 -0
  110. package/dist/groovy-CJQTphOW.js +6 -0
  111. package/dist/gruvbox-dark-hard-C5HOtKIh.js +4 -0
  112. package/dist/gruvbox-dark-medium-FVgwJHuz.js +4 -0
  113. package/dist/gruvbox-dark-soft-B46F314v.js +4 -0
  114. package/dist/gruvbox-light-hard-CJD38wDZ.js +4 -0
  115. package/dist/gruvbox-light-medium-BlIhMYTA.js +4 -0
  116. package/dist/gruvbox-light-soft-DoPHyLVZ.js +4 -0
  117. package/dist/hack-p63ac3SB.js +10 -0
  118. package/dist/haml-CM7CpQHU.js +10 -0
  119. package/dist/handlebars-DfCj1TEO.js +14 -0
  120. package/dist/haskell-WeIwNIP6.js +6 -0
  121. package/dist/haxe-CfMPOItY.js +6 -0
  122. package/dist/hcl-D438OF-I.js +6 -0
  123. package/dist/hjson-DYBUbqOl.js +6 -0
  124. package/dist/hlsl-Bk8TCZNL.js +6 -0
  125. package/dist/horizon-CJQ10nlf.js +4 -0
  126. package/dist/horizon-bright-2WzHy-Vo.js +4 -0
  127. package/dist/houston-BDYrDoDW.js +4 -0
  128. package/dist/html-Wr5yTrgx.js +10 -0
  129. package/dist/html-derivative-DG8ajaXt.js +8 -0
  130. package/dist/http-DLvAkeD-.js +14 -0
  131. package/dist/hurl-CgkFN90t.js +12 -0
  132. package/dist/hxml-DV49tgRk.js +8 -0
  133. package/dist/hy-Brt5EZ7-.js +6 -0
  134. package/dist/imba-CimUv-Uh.js +6 -0
  135. package/dist/{index-Deg_ZdBo.js → index-CAf7sm7W.js} +49368 -46361
  136. package/dist/index.js +19 -19
  137. package/dist/ini-BZIuRIvJ.js +6 -0
  138. package/dist/java-DY6VlHhP.js +6 -0
  139. package/dist/javascript-C25yR2R2.js +6 -0
  140. package/dist/jinja-BHOV3ePe.js +11 -0
  141. package/dist/jison-DdreslRX.js +8 -0
  142. package/dist/json-DxJze_jm.js +6 -0
  143. package/dist/json5-BT4Fjg39.js +6 -0
  144. package/dist/jsonc-CHjZD8gR.js +6 -0
  145. package/dist/jsonl-BGuvDmy9.js +6 -0
  146. package/dist/jsonnet-Bx2cfsXg.js +6 -0
  147. package/dist/jssm-BcADi6EI.js +6 -0
  148. package/dist/jsx-BtKADgXT.js +6 -0
  149. package/dist/julia-BxeXMQSJ.js +16 -0
  150. package/dist/just-CJ4EVsJK.js +18 -0
  151. package/dist/kanagawa-dragon-CQySOoTe.js +4 -0
  152. package/dist/kanagawa-lotus-CJRfph3t.js +4 -0
  153. package/dist/kanagawa-wave-Cu5PDRcJ.js +4 -0
  154. package/dist/kdl-BNOv9TC3.js +6 -0
  155. package/dist/kotlin-ByBMgTeR.js +6 -0
  156. package/dist/kusto-BlqsQffZ.js +6 -0
  157. package/dist/laserwave-6a00oqik.js +4 -0
  158. package/dist/latex-BfhWTgWa.js +8 -0
  159. package/dist/lean-BnVxaZxY.js +6 -0
  160. package/dist/less-B1GLI2Di.js +6 -0
  161. package/dist/light-plus-CZuVqSLX.js +4 -0
  162. package/dist/liquid-D7d9j__1.js +14 -0
  163. package/dist/llvm-DMgfhPsy.js +6 -0
  164. package/dist/log-Al8wyEFV.js +6 -0
  165. package/dist/logo-DBa4JDzV.js +6 -0
  166. package/dist/lua-Bp3IRv7I.js +8 -0
  167. package/dist/luau-1oy8yWWo.js +6 -0
  168. package/dist/make-CsMclxtr.js +6 -0
  169. package/dist/markdown-CrScaQ96.js +6 -0
  170. package/dist/marko-D0HGUaN1.js +14 -0
  171. package/dist/material-theme-D6KBX41T.js +4 -0
  172. package/dist/material-theme-darker-CkRroheE.js +4 -0
  173. package/dist/material-theme-lighter-BUBw43Yz.js +4 -0
  174. package/dist/material-theme-ocean-ClGX14Ja.js +4 -0
  175. package/dist/material-theme-palenight-C1RVm8K1.js +4 -0
  176. package/dist/matlab-BOAaUVP0.js +6 -0
  177. package/dist/mdc-BI6stFvl.js +12 -0
  178. package/dist/mdx-BOhZZUJ8.js +6 -0
  179. package/dist/mermaid-xImSC5pG.js +6 -0
  180. package/dist/min-dark-C7ak0t6c.js +4 -0
  181. package/dist/min-light-CKFxVcPp.js +4 -0
  182. package/dist/mipsasm-CTx18fBl.js +6 -0
  183. package/dist/mojo-DjLViMAF.js +6 -0
  184. package/dist/monokai-B1aFr0iD.js +4 -0
  185. package/dist/moonbit-qkz9oK4f.js +6 -0
  186. package/dist/move-DoIXlL5f.js +6 -0
  187. package/dist/narrat-DmhDCBs-.js +6 -0
  188. package/dist/nextflow-BTRbEaxp.js +8 -0
  189. package/dist/nextflow-groovy-BJmbcwBu.js +6 -0
  190. package/dist/nginx-D7O4WoB1.js +8 -0
  191. package/dist/night-owl-Bm2rzalh.js +4 -0
  192. package/dist/night-owl-light-CBI5u5kw.js +4 -0
  193. package/dist/nim-DG7jk4Ht.js +20 -0
  194. package/dist/nix-fTRXMGic.js +9 -0
  195. package/dist/nord-CC5OiUXg.js +4 -0
  196. package/dist/nsis-CtKAvjMM.js +6 -0
  197. package/dist/nushell-CgtwSlO3.js +6 -0
  198. package/dist/objective-c-Itk8tzmv.js +6 -0
  199. package/dist/objective-cpp-DGt5UKRO.js +6 -0
  200. package/dist/ocaml-eSVK32Eg.js +6 -0
  201. package/dist/odin-BItnF517.js +6 -0
  202. package/dist/one-dark-pro-C5d58L87.js +4 -0
  203. package/dist/one-light-LkMrt1Cf.js +4 -0
  204. package/dist/openscad-Sp5uZ6f2.js +6 -0
  205. package/dist/org-C5S6WgHQ.js +100 -0
  206. package/dist/pascal-xy8pJNns.js +6 -0
  207. package/dist/perl-vJzCkjjH.js +16 -0
  208. package/dist/php-DBsTw_pP.js +18 -0
  209. package/dist/pierre-dark-D52vmD1t.js +4 -0
  210. package/dist/pierre-dark-protanopia-deuteranopia-Coza2ydH.js +4 -0
  211. package/dist/pierre-dark-soft-D0o08Lfm.js +4 -0
  212. package/dist/pierre-dark-tritanopia-BP-A_WyN.js +4 -0
  213. package/dist/pierre-dark-vibrant-BjUzbiGn.js +4 -0
  214. package/dist/pierre-light-CzM3AfLn.js +4 -0
  215. package/dist/pierre-light-protanopia-deuteranopia-DFclCKch.js +4 -0
  216. package/dist/pierre-light-soft-m3tr_5b6.js +4 -0
  217. package/dist/pierre-light-tritanopia-Dh0MAsTp.js +4 -0
  218. package/dist/pierre-light-vibrant-BZSORskK.js +4 -0
  219. package/dist/pkl-C-zSNmaA.js +6 -0
  220. package/dist/plastic-CSTz3KZp.js +4 -0
  221. package/dist/plsql-pVbGZfOv.js +6 -0
  222. package/dist/po-BNfHvqmm.js +6 -0
  223. package/dist/poimandres-C-VADXHD.js +4 -0
  224. package/dist/polar-CAZahv3u.js +6 -0
  225. package/dist/postcss-05aHdL-n.js +6 -0
  226. package/dist/powerquery-DI9HkTvs.js +6 -0
  227. package/dist/powershell-DwQB8F1X.js +6 -0
  228. package/dist/prisma-K8HipzoA.js +6 -0
  229. package/dist/prolog-C5-yg4TO.js +6 -0
  230. package/dist/proto-C7QgialS.js +6 -0
  231. package/dist/pug-DWY5n4I0.js +12 -0
  232. package/dist/puppet-CUJHmnxV.js +6 -0
  233. package/dist/purescript-rUfGld-4.js +6 -0
  234. package/dist/python-BFNSHbwJ.js +6 -0
  235. package/dist/qml-rTNXsquU.js +8 -0
  236. package/dist/qmldir-BInDYbpo.js +6 -0
  237. package/dist/qss-AeJTysr_.js +6 -0
  238. package/dist/r-BPg6DDVi.js +6 -0
  239. package/dist/racket-B83wSAja.js +6 -0
  240. package/dist/raku-nEQ4ZJJ7.js +6 -0
  241. package/dist/razor-DfCpierF.js +10 -0
  242. package/dist/rbs-CssrqYJT.js +6 -0
  243. package/dist/red-ZH55KNtO.js +4 -0
  244. package/dist/reg-m_s_Kiip.js +6 -0
  245. package/dist/regexp-BazyLpPg.js +6 -0
  246. package/dist/rel-BcRfyd6Q.js +6 -0
  247. package/dist/riscv-Ce8MAQLP.js +6 -0
  248. package/dist/ron-DCEEQypA.js +6 -0
  249. package/dist/rose-pine-CBkWCxr6.js +4 -0
  250. package/dist/rose-pine-dawn-B6ai6aO_.js +4 -0
  251. package/dist/rose-pine-moon-c2UTtcmd.js +4 -0
  252. package/dist/rosmsg-Cz0w1km8.js +6 -0
  253. package/dist/rst-DLMli9w9.js +22 -0
  254. package/dist/ruby-CbJ15R3t.js +30 -0
  255. package/dist/rust-BMMJSOUe.js +6 -0
  256. package/dist/sas-CPEc4gxJ.js +8 -0
  257. package/dist/sass-DxHp5rTx.js +6 -0
  258. package/dist/scala-B_IFinKC.js +6 -0
  259. package/dist/scheme-BCRWuEm4.js +6 -0
  260. package/dist/scss-BoS_aSJ3.js +8 -0
  261. package/dist/sdbl-B7T8abf4.js +6 -0
  262. package/dist/shaderlab-Cr62-Wb4.js +8 -0
  263. package/dist/shellscript-InADTalH.js +6 -0
  264. package/dist/shellsession-DiDJNQdy.js +8 -0
  265. package/dist/slack-dark-i7wN4OET.js +4 -0
  266. package/dist/slack-ochin-ndHf0LoP.js +4 -0
  267. package/dist/smalltalk-4m7fIk5G.js +6 -0
  268. package/dist/smithy-BqBKlq_3.js +6 -0
  269. package/dist/snazzy-light-BlSJXAu4.js +4 -0
  270. package/dist/solarized-dark-DkqKcBES.js +4 -0
  271. package/dist/solarized-light-PzVcYh5f.js +4 -0
  272. package/dist/solidity-CA32r_X5.js +6 -0
  273. package/dist/soy-zKSLgLn7.js +8 -0
  274. package/dist/sparql-B0KWFEri.js +8 -0
  275. package/dist/splunk-CRXR8A9s.js +6 -0
  276. package/dist/sql-CZBvVSLl.js +6 -0
  277. package/dist/ssh-config-DP-hNVbF.js +6 -0
  278. package/dist/stata-CfG8pWjZ.js +8 -0
  279. package/dist/stylus-CyKEU1Ej.js +6 -0
  280. package/dist/surrealql-C-LAJEpk.js +8 -0
  281. package/dist/svelte-DwQZuWui.js +14 -0
  282. package/dist/sw.js +1 -1
  283. package/dist/swift-DOmCYlRt.js +6 -0
  284. package/dist/synthwave-84-NU3C_KFZ.js +4 -0
  285. package/dist/system-verilog-CT3NeZzU.js +6 -0
  286. package/dist/systemd-C-4qm6XH.js +6 -0
  287. package/dist/talonscript-CFF3LF_O.js +6 -0
  288. package/dist/tasl-Cg_WBUAe.js +6 -0
  289. package/dist/tcl-DN7buRTF.js +6 -0
  290. package/dist/templ-kEkd0dRE.js +12 -0
  291. package/dist/terraform-DGvcn9zM.js +6 -0
  292. package/dist/tex-CXAy09re.js +8 -0
  293. package/dist/tokyo-night-DP4TmcQl.js +4 -0
  294. package/dist/toml-DY62mUL_.js +6 -0
  295. package/dist/transcript.js +7525 -7384
  296. package/dist/ts-tags-CheYVw2x.js +41 -0
  297. package/dist/tsv-BtvSkaG0.js +6 -0
  298. package/dist/tsx-B8rCNbgL.js +6 -0
  299. package/dist/turtle-_H59FV7D.js +6 -0
  300. package/dist/twig-CDICZk1J.js +18 -0
  301. package/dist/types/App.d.ts +6 -4
  302. package/dist/types/adapters/transcriptAdapter.d.ts +1 -1
  303. package/dist/types/browser-turn-notifications.d.ts +2 -1
  304. package/dist/types/components/ChatContextHeader.d.ts +10 -3
  305. package/dist/types/components/ChatEditor.d.ts +3 -0
  306. package/dist/types/components/WorkspaceSelector.d.ts +2 -1
  307. package/dist/types/components/artifacts/ArtifactPanel.d.ts +12 -3
  308. package/dist/types/components/artifacts/PierreFilePreview.d.ts +4 -0
  309. package/dist/types/components/artifacts/SpreadsheetPreview.d.ts +7 -0
  310. package/dist/types/components/artifacts/TrajectoryInspector.d.ts +3 -1
  311. package/dist/types/components/artifacts/TrajectoryPanel.d.ts +2 -1
  312. package/dist/types/components/artifacts/WorkspaceFileBrowser.d.ts +11 -0
  313. package/dist/types/components/artifacts/artifactUtils.d.ts +1 -0
  314. package/dist/types/components/artifacts/excel-preview-parser.d.ts +5 -0
  315. package/dist/types/components/artifacts/excel-preview-types.d.ts +44 -0
  316. package/dist/types/components/artifacts/excel-preview.worker.d.ts +1 -0
  317. package/dist/types/components/artifacts/files-messages.d.ts +36 -0
  318. package/dist/types/components/artifacts/files-messages.transcript-stub.d.ts +2 -0
  319. package/dist/types/components/artifacts/useArtifactWorkspaceTarget.d.ts +2 -1
  320. package/dist/types/components/managed/ManagedTaskPanel.d.ts +15 -0
  321. package/dist/types/components/managed/ManagedToolResultPanel.d.ts +6 -1
  322. package/dist/types/components/managed/WorkspaceBindingCreator.d.ts +2 -1
  323. package/dist/types/components/managed/generated/managed-agent-api.d.ts +18 -15
  324. package/dist/types/components/managed/java-managed-agent-client.d.ts +37 -0
  325. package/dist/types/components/managed/java-managed-agent-provider.d.ts +4 -0
  326. package/dist/types/components/managed/managed-agent-provider.d.ts +37 -0
  327. package/dist/types/components/managed/managed-development-options.d.ts +7 -0
  328. package/dist/types/components/managed/managed-task-messages.d.ts +9 -0
  329. package/dist/types/components/managed/managed-task-messages.transcript-stub.d.ts +7 -0
  330. package/dist/types/components/managed/managed-task.test-fixtures.d.ts +4 -0
  331. package/dist/types/components/managed/use-managed-task-cancel.d.ts +12 -0
  332. package/dist/types/components/managed/use-managed-tasks.d.ts +49 -0
  333. package/dist/types/components/messages/BrowserNotificationControl.d.ts +1 -0
  334. package/dist/types/components/messages/SelectionCopyMenu.d.ts +8 -0
  335. package/dist/types/components/messages/SelectionCopyMenu.transcript-stub.d.ts +2 -0
  336. package/dist/types/components/messages/TasksStatusMessage.d.ts +2 -1
  337. package/dist/types/components/messages/ToolApproval.d.ts +2 -1
  338. package/dist/types/components/messages/WorkflowExecutionView.d.ts +3 -1
  339. package/dist/types/components/messages/toolFormatting.d.ts +3 -3
  340. package/dist/types/components/messages/workflow-agent-details.d.ts +3 -0
  341. package/dist/types/components/messages/workflow-agent-details.transcript-stub.d.ts +1 -0
  342. package/dist/types/components/panels/EnvironmentPanel.d.ts +5 -0
  343. package/dist/types/components/ui/alert.d.ts +1 -1
  344. package/dist/types/components/ui/resizable.d.ts +5 -0
  345. package/dist/types/components/workflows/WorkflowRunsPage.d.ts +3 -1
  346. package/dist/types/constants/toolNames.d.ts +1 -0
  347. package/dist/types/customization.d.ts +7 -5
  348. package/dist/types/daemon/session/turn-notification-context.d.ts +2 -1
  349. package/dist/types/daemon/session/types.d.ts +4 -1
  350. package/dist/types/hooks/useComposerCore.d.ts +3 -0
  351. package/dist/types/hooks/useMcpAppMessages.d.ts +22 -0
  352. package/dist/types/mcp-app/messages.d.ts +7 -0
  353. package/dist/types/mcp-app/messages.transcript-stub.d.ts +7 -0
  354. package/dist/types/mcpAppHostContext.d.ts +13 -0
  355. package/dist/types/subagentDetailsContext.d.ts +1 -1
  356. package/dist/types/trajectory/project-trajectory-lifecycle.d.ts +27 -0
  357. package/dist/types/trajectory/trajectory-live-context.d.ts +3 -0
  358. package/dist/types/trajectory/trajectory-live-store.d.ts +36 -0
  359. package/dist/types/trajectory/transcriptPageLoader.d.ts +5 -1
  360. package/dist/types/trajectory/useTrajectoryWindow.d.ts +2 -0
  361. package/dist/types/utils/askUserPermission.d.ts +1 -1
  362. package/dist/types/utils/composerModels.d.ts +18 -0
  363. package/dist/types/utils/promptAdmission.d.ts +4 -0
  364. package/dist/types/utils/selectionClipboard.d.ts +5 -0
  365. package/dist/types/voice/messages.d.ts +9 -0
  366. package/dist/types/voice/messages.transcript-stub.d.ts +7 -0
  367. package/dist/types/voice/voice-error.d.ts +7 -0
  368. package/dist/typescript-RycA9KXf.js +6 -0
  369. package/dist/typespec-ClIfKiQP.js +6 -0
  370. package/dist/typst-E3pfxOv6.js +120 -0
  371. package/dist/{toolNames-Co4lBbW-.js → useDaemonMidTurnInjected-ClQx7vwI.js} +5725 -5076
  372. package/dist/v-CxJbuWik.js +6 -0
  373. package/dist/vala-uxaPR7d1.js +6 -0
  374. package/dist/vb-BD2YOVbP.js +6 -0
  375. package/dist/verilog-BHj4jYdq.js +6 -0
  376. package/dist/vesper-DIoW1cuD.js +4 -0
  377. package/dist/vhdl-CUlNa8ac.js +6 -0
  378. package/dist/viml-DsfA-sWm.js +6 -0
  379. package/dist/vitesse-black-BoGvW84i.js +4 -0
  380. package/dist/vitesse-dark-Cym-eLtO.js +4 -0
  381. package/dist/vitesse-light-CcmG315c.js +4 -0
  382. package/dist/vue-d9VL4uFG.js +31 -0
  383. package/dist/vue-html-j9xNEdu3.js +8 -0
  384. package/dist/vue-vine-Hkz8HiFl.js +18 -0
  385. package/dist/vyper-CPQuu50u.js +6 -0
  386. package/dist/wasm-BBXxrAl7.js +6 -0
  387. package/dist/wasm-DQxwEHae.js +7 -0
  388. package/dist/wenyan-pbVjoM9_.js +6 -0
  389. package/dist/wgsl-DY4iK1q1.js +6 -0
  390. package/dist/wikitext-Z-MoUasO.js +6 -0
  391. package/dist/wit-CQMQOlTg.js +6 -0
  392. package/dist/wolfram-Dz4KXISs.js +6 -0
  393. package/dist/xml-C2J0sS9M.js +8 -0
  394. package/dist/xsl-BmSZphgC.js +8 -0
  395. package/dist/yaml-DaO7k5B1.js +6 -0
  396. package/dist/zenscript-CxBjpf9c.js +6 -0
  397. package/dist/zig-Vm0PO9wB.js +6 -0
  398. package/package.json +16 -2
@@ -57,7 +57,7 @@ export interface paths {
57
57
  };
58
58
  get?: never;
59
59
  put?: never;
60
- /** @description POST SSE consumed through fetch response.body. An afterSequence below the replay floor ends the stream with one agent.session.resync_required frame instead of a 409 only while the Snapshot backs the floor (replay_floor_sequence <= snapshot_through_sequence); a stream reconciliation discards the Snapshot without lowering the floor, and during that rebuild such a cursor is served from the retained events. On the resync frame, reload the transcript and resume after its lastSequence. */
60
+ /** @description POST SSE consumed through fetch response.body. An afterSequence strictly below the durable replay floor ends the stream with one agent.session.resync_required frame. Projection rebuilds preserve that floor and the current immutable Snapshot. On the resync frame, reload the transcript and resume after its lastSequence. */
61
61
  post: operations["webShellStreamEvents"];
62
62
  delete?: never;
63
63
  options?: never;
@@ -74,7 +74,7 @@ export interface paths {
74
74
  };
75
75
  get?: never;
76
76
  put?: never;
77
- /** @description Maps workspaceId/cwdRelative to public Workspace selection without using environmentId or absolute cwd. Shares G0's opt-in initial file-tool Turn admission with public Session creation: the fixed server-owned profile for the built-in qwen-code agent, and the profile selected by a stored definition's single allowlisted hosted_profile tools entry for a definition-pinned Session. Any caller holding the OPERATOR role may submit later Turns and rename the Session under the same opt-in, while the Workspace registry row stays ACTIVE and still backs the binding, the actor recorded by the Workspace create command keeps OPERATOR or above, and the Session is active and undeleted and is either a qwen-code Session on the frozen execution profile or pinned to a stored definition; Workspace close follows its separate close capability and lifecycle admission; the same caller may cancel a running Turn (its delivery re-checks no grant it needs survives the cancellation), and the Session's own liveness keeps OPERATOR access even when its Workspace's background-exit observation closes some other bound Session; cancel is always allowed for its own running Turn even outside the Workspace files opt-in. A definition-pinned Session keeps its pinned revision's tool profile, model and instructions for its whole life, and a replay of the create command reuses the original pin; a WebShell Session inherits its Workspace's default Workspace selection when the request omits one. */
77
+ /** @description Maps workspaceId/cwdRelative to public Workspace selection without using environmentId or absolute cwd. Shares G0's opt-in initial file-tool Turn admission with public Session creation: the server-selected profile for the built-in qwen-code agent, and the profile selected by a stored definition's single allowlisted hosted_profile tools entry for a definition-pinned Session. Newly bound qwen-code Sessions, including empty creation, persist hosted-workspace-shell/1 with mandatory default/auto-edit approval when the Shell deployment opt-in is enabled; otherwise they persist hosted-workspace-files/1 with the configured file approval mode. The switch does not override a stored AgentDefinition's compiled profile or approval mode. Public callers cannot select the built-in profile. Any caller holding the OPERATOR role may submit later Turns and rename the Session under the same opt-in, while the Workspace registry row stays ACTIVE and still backs the binding, the actor recorded by the Workspace create command keeps OPERATOR or above, and the Session is active and undeleted and is either a qwen-code Session on the frozen execution profile or pinned to a stored definition; Workspace close follows its separate close capability and lifecycle admission; the same caller may cancel a running Turn (its delivery re-checks no grant it needs survives the cancellation), and the Session's own liveness keeps OPERATOR access even when its Workspace's background-exit observation closes some other bound Session; cancel is always allowed for its own running Turn even outside the Workspace files opt-in. A definition-pinned Session keeps its pinned revision's tool profile, model and instructions for its whole life, and a replay of the create command reuses the original pin; a WebShell Session inherits its Workspace's default Workspace selection when the request omits one. Shell Sessions additionally require the Shell opt-in and valid persisted approval for fresh Turns; disabling only Shell admission preserves original-key replay and accepted approvals and cancellation while Workspace files remain enabled and persisted approval remains valid. The public Shell tool list does not include the child agent tool. Invalid approval or files-off can refuse attachment. Public Shell close, archive, unarchive and delete stay unavailable, including protocol-0. Fresh Shell sending also requires foregroundShell=true; workspaceTurns advertises submit/rename permission and is not sufficient Shell Turn admission. */
78
78
  post: operations["webShellCreateSession"];
79
79
  delete?: never;
80
80
  options?: never;
@@ -173,7 +173,7 @@ export interface paths {
173
173
  };
174
174
  get?: never;
175
175
  put?: never;
176
- /** @description D6 serves Hosted permission Actions. Question Actions and vote_recorded remain planned. Reads follow Session authorization; the Session's recorded owner or any caller holding OPERATOR on the bound Workspace may respond (an unbound Session with no recorded creator and no recorded create command answers to any caller in its tenant, matching its read ACL; a bound Session without an owner record answers through the create-command actor recorded for it, or through the Workspace role arm). Responses are durable operations, reconciled against the original journal decision. */
176
+ /** @description D6 serves Hosted permission Actions. Question Actions and vote_recorded remain planned. Reads follow Session authorization; the Session's recorded owner or any caller holding OPERATOR on the bound Workspace may respond; a Shell Session's Actions may be answered only by its recorded owner (an unbound Session with no recorded creator and no recorded create command answers to any caller in its tenant, matching its read ACL; a bound Session without an owner record answers through the create-command actor recorded for it, or through the Workspace role arm). Responses are durable operations, reconciled against the original journal decision. */
177
177
  post: operations["queryWebShellActions"];
178
178
  delete?: never;
179
179
  options?: never;
@@ -190,7 +190,7 @@ export interface paths {
190
190
  };
191
191
  get?: never;
192
192
  put?: never;
193
- /** @description D6 serves Hosted permission Actions. Question Actions and vote_recorded remain planned. Reads follow Session authorization; the Session's recorded owner or any caller holding OPERATOR on the bound Workspace may respond (an unbound Session with no recorded creator and no recorded create command answers to any caller in its tenant, matching its read ACL; a bound Session without an owner record answers through the create-command actor recorded for it, or through the Workspace role arm). Responses are durable operations, reconciled against the original journal decision. */
193
+ /** @description D6 serves Hosted permission Actions. Question Actions and vote_recorded remain planned. Reads follow Session authorization; the Session's recorded owner or any caller holding OPERATOR on the bound Workspace may respond; a Shell Session's Actions may be answered only by its recorded owner (an unbound Session with no recorded creator and no recorded create command answers to any caller in its tenant, matching its read ACL; a bound Session without an owner record answers through the create-command actor recorded for it, or through the Workspace role arm). Responses are durable operations, reconciled against the original journal decision. */
194
194
  post: operations["getWebShellAction"];
195
195
  delete?: never;
196
196
  options?: never;
@@ -207,7 +207,7 @@ export interface paths {
207
207
  };
208
208
  get?: never;
209
209
  put?: never;
210
- /** @description D6 serves Hosted permission Actions. Question Actions and vote_recorded remain planned. Reads follow Session authorization; the Session's recorded owner or any caller holding OPERATOR on the bound Workspace may respond (an unbound Session with no recorded creator and no recorded create command answers to any caller in its tenant, matching its read ACL; a bound Session without an owner record answers through the create-command actor recorded for it, or through the Workspace role arm). Responses are durable operations, reconciled against the original journal decision. */
210
+ /** @description D6 serves Hosted permission Actions. Question Actions and vote_recorded remain planned. Reads follow Session authorization; the Session's recorded owner or any caller holding OPERATOR on the bound Workspace may respond; a Shell Session's Actions may be answered only by its recorded owner (an unbound Session with no recorded creator and no recorded create command answers to any caller in its tenant, matching its read ACL; a bound Session without an owner record answers through the create-command actor recorded for it, or through the Workspace role arm). Responses are durable operations, reconciled against the original journal decision. */
211
211
  post: operations["respondWebShellAction"];
212
212
  delete?: never;
213
213
  options?: never;
@@ -404,7 +404,7 @@ export interface paths {
404
404
  };
405
405
  get?: never;
406
406
  put?: never;
407
- /** @description Synchronously restores an archived Session to closed. Workspace-bound Sessions require completed reliable-close evidence and the Session's recorded owner with current read access (404 unreadable, 403 readable non-owner). Bound keys are tenant/Session/actor scoped. Replay returns the current visible Session without repeating the mutation; a deleted Session returns 404. The permanent close fence is preserved and no Harness or Runtime call is made. */
407
+ /** @description Synchronously restores an archived Session to closed. Workspace-bound Sessions require completed reliable-close evidence and the Session's recorded owner with current read access (404 unreadable, 403 readable non-owner). Bound keys are tenant/Session/actor scoped. Replay returns the recorded outcome without repeating the mutation; a replay after delete answers with the Session as last visible — its pre-delete status — rather than 404. The permanent close fence is preserved and no Harness or Runtime call is made. */
408
408
  post: operations["unarchiveWebShellSession"];
409
409
  delete?: never;
410
410
  options?: never;
@@ -474,7 +474,9 @@ export interface components {
474
474
  agentId: string;
475
475
  /** @description Planned; phase one rejects non-blank values. */
476
476
  environmentId?: string | null;
477
+ /** @description The server enforces the bound in UTF-16 code units (Java String.length()), so an astral character counts as two: a title this schema's code-point maxLength accepts can still exceed the server's 256-unit bound and answer 400 invalid_title. */
477
478
  title?: string | null;
479
+ /** @description Each block adds to a 4,000,000-character aggregate admission budget per command (per-block 1,000,000-character cap applies). Admission ceiling only: a command whose serialized prompt or durable Session-store record exceeds the Hosted Harness's 64 KiB durable-record limit is accepted and then fails the Turn with hosted_harness_rejected. */
478
480
  input?: components["schemas"]["InputBlock"][];
479
481
  metadata?: components["schemas"]["WebShellMetadata"];
480
482
  workspace?: components["schemas"]["WebShellWorkspaceSelection"];
@@ -485,6 +487,7 @@ export interface components {
485
487
  idempotencyKey: string;
486
488
  /** Format: uuid */
487
489
  sessionId: string;
490
+ /** @description Each block adds to a 4,000,000-character aggregate admission budget per command (per-block 1,000,000-character cap applies). Admission ceiling only: a command whose serialized prompt or durable Session-store record exceeds the Hosted Harness's 64 KiB durable-record limit is accepted and then fails the Turn with hosted_harness_rejected. */
488
491
  input?: components["schemas"]["InputBlock"][];
489
492
  metadata?: components["schemas"]["WebShellMetadata"];
490
493
  };
@@ -496,8 +499,9 @@ export interface components {
496
499
  sessionId: string;
497
500
  turnId: string;
498
501
  };
502
+ /** @description Arbitrary caller metadata, as a JSON object (or null). Accepted and ignored in Phase 1: nothing from it is persisted. On WebShellCreateRequest the Session title travels in that request's own `title` field; WebShellSubmitRequest has no title surface. Any keys are valid. */
499
503
  WebShellMetadata: {
500
- clientId?: string;
504
+ [key: string]: unknown;
501
505
  } | null;
502
506
  /** @description With durable_operations enabled, all three target fields are returned. accepted means Java durable delivery responsibility, not model execution. Missing fields retain the deployed legacy response semantics. */
503
507
  WebShellAdmission: {
@@ -517,9 +521,6 @@ export interface components {
517
521
  /** Format: int64 */
518
522
  completedAt?: number | null;
519
523
  errorCode?: string | null;
520
- usage?: {
521
- [key: string]: unknown;
522
- } | null;
523
524
  };
524
525
  WebShellSession: {
525
526
  /** Format: uuid */
@@ -549,7 +550,7 @@ export interface components {
549
550
  /** @default false */
550
551
  actions: boolean;
551
552
  /**
552
- * @description True when the caller may submit later Turns of this Workspace-bound Session or rename it: the deployment enables Workspace files, the caller holds the OPERATOR role on a Workspace registry row whose state is ACTIVE and still backs the Session's binding, the actor recorded by the Workspace create command keeps OPERATOR or above, and the Session is active and undeleted and is either a qwen-code Session or a Session pinned to a stored definition (both on the Workspace's frozen execution profile). Cancelling only aborts work already running, so an OPERATOR caller may cancel a running Turn even when this is false; the capability does not gate cancellation. False for every other caller and for unbound Sessions, which do not use it.
553
+ * @description True when the caller may submit later Turns of this Workspace-bound Session or rename it: the deployment enables Workspace files, the caller holds the OPERATOR role on a Workspace registry row whose state is ACTIVE and still backs the Session's binding, the actor recorded by the Workspace create command keeps OPERATOR or above, and the Session is active and undeleted and is either a qwen-code Session or a Session pinned to a stored definition (both on the Workspace's frozen execution profile). Cancelling only aborts work already running, so an OPERATOR caller may cancel a running Turn even when this is false; the capability does not gate cancellation. False for every other caller and for unbound Sessions, which do not use it. Shell Sessions also require foregroundShell=true for fresh sending; workspaceTurns may remain true with Shell admission disabled and is not sufficient Shell Turn admission.
553
554
  * @default false
554
555
  */
555
556
  workspaceTurns: boolean;
@@ -575,6 +576,8 @@ export interface components {
575
576
  * @default false
576
577
  */
577
578
  sessionDelete?: boolean;
579
+ /** @description Present only for persisted Shell Sessions, with no schema default; files and unbound Sessions omit it. True when Workspace files, Shell deployment admission and persisted default/auto-edit approval are valid. False prevents fresh sending. Disabling only the Shell flag preserves accepted cancellation and approval while Workspace files remain enabled and persisted approval remains valid; files-off or invalid approval can refuse attachment. This capability does not override authorization or recovery refusals. */
580
+ foregroundShell?: boolean;
578
581
  };
579
582
  WebShellSessionPage: {
580
583
  data: components["schemas"]["WebShellSession"][];
@@ -710,7 +713,7 @@ export interface components {
710
713
  * @default false
711
714
  */
712
715
  workspaceContext: boolean;
713
- /** @description Supports authorized Workspace discovery, Session creation, and saved binding read-back. This capability does not advertise execution readiness. Deployments may separately opt in to an initial Workspace Read/Write/Edit Turn at creation; callers holding the OPERATOR role may submit later Turns or rename under the same opt-in while the registry row stays ACTIVE and still backs the Session's binding and the actor recorded by the Workspace create command keeps OPERATOR or above, and may cancel a running Turn (its delivery re-checks no grants), while close follows its separate capability and lifecycle admission; archive, delete and unarchive follow their separate retention capabilities after reliable Workspace close. */
716
+ /** @description Supports authorized Workspace discovery, Session creation, and saved binding read-back. This capability does not advertise execution readiness. Deployments may separately opt in to an initial Workspace Turn at creation: Read/Write/Edit under hosted-workspace-files/1, or file tools plus mandatory-approval foreground Shell under hosted-workspace-shell/1 when the Shell opt-in is enabled. The public Shell tool list does not include the child agent tool. Callers holding the OPERATOR role may submit later Turns or rename under the same opt-in while the registry row stays ACTIVE and still backs the Session's binding and the actor recorded by the Workspace create command keeps OPERATOR or above, and may cancel a running Turn (its delivery re-checks no grants). Shell fresh sending also requires foregroundShell=true. Public Shell close, archive, unarchive and delete stay unavailable, including protocol-0, while close of other profiles follows its separate capability and lifecycle admission; archive, delete and unarchive follow their separate retention capabilities after reliable Workspace close. */
714
717
  workspaceBinding: boolean;
715
718
  };
716
719
  /** @description Same authorized explicit default as default_workspace, including when outside this page; null if absent or not creatable. A non-null default is active and has canCreateSession=true. */
@@ -919,7 +922,7 @@ export interface components {
919
922
  */
920
923
  TaskRuntimeState: "unbound" | "provisioning" | "ready" | "draining" | "lost";
921
924
  /**
922
- * @description Actions the task supports now, the same for every caller. cancel: the cancel route accepts a new command for this task (since 1.40, child_agent tasks in pending, running, waiting or degraded, in an active Session); whether a caller may use it is an authorization check (403 on the cancel route). send_input: reserved for a later capability route. read_output: the task events route returns output events for this task to any caller that can read it. read_output does not change during the task's life, and a task without it produces no output events: its output goes only to Artifacts, so the events route never filters out events that exist.
925
+ * @description Actions the task supports now, the same for every caller. cancel: the cancel route accepts a new command for this task (since 1.40 for child_agent and 1.46 for workflow, tasks of those kinds in pending, running, waiting or degraded, in an active Session); whether a caller may use it is an authorization check (403 on the cancel route). send_input: reserved for a later capability route. read_output: the task events route returns output events for this task to any caller that can read it. read_output does not change during the task's life, and a task without it produces no output events: its output goes only to Artifacts, so the events route never filters out events that exist.
923
926
  * @enum {string}
924
927
  */
925
928
  TaskActionCapability: "cancel" | "send_input" | "read_output";
@@ -1172,7 +1175,7 @@ export interface components {
1172
1175
  parameters: never;
1173
1176
  requestBodies: never;
1174
1177
  headers: {
1175
- /** @description True when an accepted command or operation was replayed for the same idempotency key and digest without repeating its mutation. Session mutation responses represent the current visible Session; operation responses represent the original operation at its current state. */
1178
+ /** @description True when an accepted command or operation was replayed for the same idempotency key and digest without repeating its mutation. Session mutation responses represent the recorded outcome on the Session as last visible — a rename or unarchive replay after delete answers with the Session's pre-delete status rather than 404, while a create replay after delete answers 404 on the public create route, which re-reads the Session before responding, and answers the recorded 202 admission carrying the tombstoned sessionId on the WebShell create route, which does not re-read it; operation responses represent the original operation at its current state. */
1176
1179
  IdempotentReplay: boolean;
1177
1180
  /** @description Trace-only correlation identifier; never an idempotency key. */
1178
1181
  RequestId: string;
@@ -1565,7 +1568,7 @@ export interface operations {
1565
1568
  };
1566
1569
  400: components["responses"]["BadRequest"];
1567
1570
  401: components["responses"]["Unauthorized"];
1568
- /** @description Responding requires the Session's recorded owner or a Workspace OPERATOR (action_forbidden). An unbound Session with no recorded creator and no recorded create command (anonymous open-mode creation, or an unbound Session created before the V40 migration that also has no Workspace creation record) answers to any caller in its tenant, matching its read ACL; a bound Session with no recorded owner answers through the create-command actor recorded for it, or through the Workspace role arm. The tenant filter's 403 actor_scope_mismatch also applies on this route. */
1571
+ /** @description Responding requires the Session's recorded owner or a Workspace OPERATOR (action_forbidden); a Shell Session's Actions may be answered only by its recorded owner. An unbound Session with no recorded creator and no recorded create command (anonymous open-mode creation, or an unbound Session created before the V40 migration that also has no Workspace creation record) answers to any caller in its tenant, matching its read ACL; a bound Session with no recorded owner answers through the create-command actor recorded for it, or through the Workspace role arm. The tenant filter's 403 actor_scope_mismatch also applies on this route. */
1569
1572
  403: components["responses"]["Forbidden"];
1570
1573
  /** @description Unknown or unreadable Session (session_not_found), or unknown Action (action_not_found). */
1571
1574
  404: components["responses"]["NotFound"];
@@ -57,6 +57,43 @@ export declare class JavaManagedAgentClient {
57
57
  submitTurn(request: Schemas['WebShellSubmitRequest'], signal?: AbortSignal): Promise<JavaAgentCommandAdmission>;
58
58
  cancelTurn(request: Schemas['WebShellCancelRequest'], signal?: AbortSignal): Promise<JavaAgentCommandAdmission>;
59
59
  queryActions(request: Schemas['WebShellActionQueryRequest'], signal?: AbortSignal): Promise<JavaAgentActionPage>;
60
+ listTasks(request: Schemas['WebShellTaskQueryRequest'], signal?: AbortSignal): Promise<{
61
+ data: components["schemas"]["WebShellTask"][];
62
+ hasMore: boolean;
63
+ nextCursor?: string | null;
64
+ }>;
65
+ getTask(request: Schemas['WebShellTaskGetRequest'], signal?: AbortSignal): Promise<{
66
+ taskId: string;
67
+ sessionId: string;
68
+ kind: components["schemas"]["TaskKind"];
69
+ state: components["schemas"]["TaskState"];
70
+ definitionRevision?: number;
71
+ runtimeState?: components["schemas"]["TaskRuntimeState"];
72
+ createdAt: number;
73
+ startedAt?: number;
74
+ settledAt?: number;
75
+ outputCursor?: string;
76
+ artifactRefs: string[];
77
+ actionCapabilities: components["schemas"]["TaskActionCapability"][];
78
+ }>;
79
+ listTaskEvents(request: Schemas['WebShellTaskEventQueryRequest'], signal?: AbortSignal): Promise<{
80
+ data: components["schemas"]["WebShellTaskEvent"][];
81
+ hasMore: boolean;
82
+ nextCursor: string;
83
+ }>;
84
+ cancelTask(request: Schemas['WebShellTaskCancelRequest'], signal?: AbortSignal): Promise<{
85
+ operationId: string;
86
+ sessionId: string;
87
+ type: "create_session" | "submit_input" | "cancel" | "action_response" | "close" | "archive" | "delete" | "task_cancel";
88
+ taskId?: string;
89
+ status: "pending" | "running" | "completed" | "failed" | "cancelled" | "recovery_blocked";
90
+ admissionStage: "java_durable" | "harness_confirmed";
91
+ deliveryState: "pending" | "leased" | "confirmed" | "blocked";
92
+ receiptId?: string;
93
+ actionResolution?: components["schemas"]["WebShellActionResolution"];
94
+ failureCode?: string;
95
+ replayed: boolean;
96
+ }>;
60
97
  respondAction(request: Schemas['WebShellActionRespondRequest'], signal?: AbortSignal): Promise<Schemas['WebShellCommandOperation']>;
61
98
  /** Reads an operation's latest durable status; polling is not a replay. */
62
99
  queryOperation(request: Schemas['WebShellOperationRequest'], signal?: AbortSignal): Promise<Schemas['WebShellOperation']>;
@@ -7,6 +7,10 @@ export interface JavaManagedAgentProviderOptions extends JavaManagedAgentClientO
7
7
  /** Include tenant and actor identity; replace this scope/provider when either changes. Token refresh alone can use getHeaders. */
8
8
  productScope?: string;
9
9
  enableWorkspaceBinding?: boolean;
10
+ modelPresets?: readonly {
11
+ agentId: string;
12
+ label: string;
13
+ }[];
10
14
  /** Acquire a streaming save target during the user gesture, then call openStream. */
11
15
  saveArtifact?: ManagedArtifactSave;
12
16
  }
@@ -4,6 +4,7 @@ export type ManagedAgentSessionPhase = 'created' | 'admitted' | 'runtime_startin
4
4
  export type ManagedAgentRuntimeState = 'unknown' | 'starting' | 'ready' | 'failed';
5
5
  export interface ManagedAgentSessionSummary {
6
6
  sessionId: string;
7
+ agentId?: string;
7
8
  activeTurnId?: string;
8
9
  title: string;
9
10
  workspaceCwd?: string;
@@ -23,6 +24,7 @@ export interface ManagedAgentSessionSummary {
23
24
  canSend: boolean;
24
25
  canCancel: boolean;
25
26
  actions?: boolean;
27
+ tasks?: boolean;
26
28
  artifacts?: boolean;
27
29
  /** The caller may submit later Turns to this Workspace-bound Session. */
28
30
  workspaceTurns?: boolean;
@@ -65,6 +67,13 @@ export interface ManagedAgentCommandOptions extends ManagedAgentRequestOptions {
65
67
  idempotencyKey: string;
66
68
  }
67
69
  export type ManagedCwdOperation = components['schemas']['WebShellCwdOperation'];
70
+ export type ManagedTask = components['schemas']['WebShellTask'];
71
+ export type ManagedTaskPage = components['schemas']['WebShellTaskPage'];
72
+ export type ManagedTaskEvent = components['schemas']['WebShellTaskEvent'];
73
+ export type ManagedTaskEventPage = components['schemas']['WebShellTaskEventPage'];
74
+ export type ManagedTaskCancelOperation = components['schemas']['WebShellCommandOperation'] & {
75
+ type: 'task_cancel';
76
+ };
68
77
  /** A Hosted tool approval waiting for the Session owner's answer. */
69
78
  export interface ManagedAgentPendingAction {
70
79
  actionId: string;
@@ -93,6 +102,21 @@ export interface ManagedAgentProvider {
93
102
  respond(action: ManagedAgentPendingAction, optionId: string, options: ManagedAgentCommandOptions): Promise<void>;
94
103
  };
95
104
  readonly toolResults?: ManagedToolResultReader;
105
+ readonly tasks?: {
106
+ list(sessionId: string, options: ManagedAgentRequestOptions & {
107
+ cursor?: string;
108
+ limit?: number;
109
+ }): Promise<ManagedTaskPage>;
110
+ get(sessionId: string, taskId: string, options: ManagedAgentRequestOptions): Promise<ManagedTask>;
111
+ listEvents(sessionId: string, taskId: string, options: ManagedAgentRequestOptions & {
112
+ after?: string;
113
+ limit?: number;
114
+ }): Promise<ManagedTaskEventPage>;
115
+ readonly cancel?: {
116
+ submit(sessionId: string, taskId: string, options: ManagedAgentCommandOptions): Promise<ManagedTaskCancelOperation>;
117
+ query(sessionId: string, taskId: string, operationId: string, options: ManagedAgentRequestOptions): Promise<ManagedTaskCancelOperation>;
118
+ };
119
+ };
96
120
  readonly cwdChange?: {
97
121
  submit(sessionId: string, request: {
98
122
  cwdRelative: string;
@@ -102,6 +126,11 @@ export interface ManagedAgentProvider {
102
126
  };
103
127
  readonly workspaceBinding?: {
104
128
  readonly agentId: string;
129
+ /** Host-published model-specific AgentDefinitions available for new Sessions. */
130
+ readonly modelPresets?: readonly {
131
+ agentId: string;
132
+ label: string;
133
+ }[];
105
134
  list(options: ManagedAgentRequestOptions & {
106
135
  cursor?: string;
107
136
  limit?: number;
@@ -119,6 +148,14 @@ export interface ManagedAgentProvider {
119
148
  }, options: ManagedAgentCommandOptions): Promise<{
120
149
  sessionId: string;
121
150
  }>;
151
+ createSession?(request: {
152
+ agentId: string;
153
+ workspaceId: string;
154
+ cwdRelative: string;
155
+ text: string;
156
+ }, options: ManagedAgentCommandOptions): Promise<{
157
+ sessionId: string;
158
+ }>;
122
159
  };
123
160
  listSessions(options: ManagedAgentRequestOptions & {
124
161
  workspaceCwd?: string;
@@ -0,0 +1,7 @@
1
+ import type { JavaManagedAgentProviderOptions } from './java-managed-agent-provider';
2
+ /** Local Vite configuration; the production host supplies these provider options directly. */
3
+ export declare function managedDevelopmentOptions(params: URLSearchParams, env: {
4
+ VITE_MANAGED_AGENT_ACTOR_ID?: string;
5
+ VITE_MANAGED_AGENT_MODEL_PRESETS?: string;
6
+ VITE_MANAGED_AGENT_WORKSPACE_BINDING?: string;
7
+ }): Pick<JavaManagedAgentProviderOptions, 'productScope' | 'getHeaders' | 'enableWorkspaceBinding' | 'modelPresets'>;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Qwen Team
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ type ManagedTaskMessage = string | ((vars?: Record<string, string | number>) => string);
7
+ export declare const MANAGED_TASK_MESSAGES_EN: Record<string, ManagedTaskMessage>;
8
+ export declare const MANAGED_TASK_MESSAGES_ZH: Record<string, ManagedTaskMessage>;
9
+ export {};
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Qwen Team
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export declare const MANAGED_TASK_MESSAGES_EN: {};
7
+ export declare const MANAGED_TASK_MESSAGES_ZH: {};
@@ -0,0 +1,4 @@
1
+ import type { ManagedTask, ManagedTaskCancelOperation, ManagedTaskEvent } from './managed-agent-provider';
2
+ export declare const task: ManagedTask;
3
+ export declare const taskOperation: ManagedTaskCancelOperation;
4
+ export declare function taskEvent(cursor: string, type?: string): ManagedTaskEvent;
@@ -0,0 +1,12 @@
1
+ import type { ManagedAgentProvider, ManagedTask } from './managed-agent-provider';
2
+ export interface ManagedTaskCancelState {
3
+ status: 'submitting' | 'stopping' | 'unconfirmed' | 'failed';
4
+ busy: boolean;
5
+ code?: string;
6
+ }
7
+ export declare function useManagedTaskCancel(provider: ManagedAgentProvider, clientId: string, sessionId: string | undefined, snapshots: readonly ManagedTask[], refreshTasks: () => void, applySnapshot: (task: ManagedTask) => void): {
8
+ states: Record<string, ManagedTaskCancelState>;
9
+ pendingTaskIds: string[];
10
+ submit(task: ManagedTask): Promise<void>;
11
+ resume(taskId: string): Promise<void>;
12
+ };
@@ -0,0 +1,49 @@
1
+ import type { ManagedAgentProvider, ManagedTask } from './managed-agent-provider';
2
+ export declare function isManagedTaskTerminal(task: ManagedTask): boolean;
3
+ export declare function useManagedTasks(provider: ManagedAgentProvider, clientId: string, sessionId: string | undefined, open: boolean): {
4
+ page: {
5
+ data: import("./generated/managed-agent-api").components["schemas"]["WebShellTask"][];
6
+ hasMore: boolean;
7
+ nextCursor?: string | null;
8
+ };
9
+ task: {
10
+ taskId: string;
11
+ sessionId: string;
12
+ kind: import("./generated/managed-agent-api").components["schemas"]["TaskKind"];
13
+ state: import("./generated/managed-agent-api").components["schemas"]["TaskState"];
14
+ definitionRevision?: number;
15
+ runtimeState?: import("./generated/managed-agent-api").components["schemas"]["TaskRuntimeState"];
16
+ createdAt: number;
17
+ startedAt?: number;
18
+ settledAt?: number;
19
+ outputCursor?: string;
20
+ artifactRefs: string[];
21
+ actionCapabilities: import("./generated/managed-agent-api").components["schemas"]["TaskActionCapability"][];
22
+ } | undefined;
23
+ selectedId: string | undefined;
24
+ events: {
25
+ schemaVersion: number;
26
+ projectionVersion: number;
27
+ taskId: string;
28
+ sessionId: string;
29
+ type: import("./generated/managed-agent-api").components["schemas"]["TaskEventType"];
30
+ cursor: string;
31
+ createdAt: number;
32
+ state?: import("./generated/managed-agent-api").components["schemas"]["TaskState"];
33
+ runtimeState?: import("./generated/managed-agent-api").components["schemas"]["TaskRuntimeState"];
34
+ text?: string;
35
+ truncated?: boolean;
36
+ artifactId?: string;
37
+ }[];
38
+ moreEvents: boolean;
39
+ historyGap: boolean;
40
+ loading: boolean;
41
+ error: unknown;
42
+ hasPrevious: boolean;
43
+ refresh: () => void;
44
+ apply: (task: ManagedTask) => void;
45
+ select: (taskId?: string) => void;
46
+ next: () => void;
47
+ previous: () => void;
48
+ loadMoreEvents: () => void;
49
+ };
@@ -0,0 +1 @@
1
+ export declare function BrowserNotificationControl(): import("react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1,8 @@
1
+ import { type ReactNode } from 'react';
2
+ export interface SelectionCopyMenuProps {
3
+ children: ReactNode;
4
+ className: string;
5
+ content: string;
6
+ enabled: boolean;
7
+ }
8
+ export declare function SelectionCopyMenu({ children, className, content, enabled, }: SelectionCopyMenuProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import type { SelectionCopyMenuProps } from './SelectionCopyMenu';
2
+ export declare function SelectionCopyMenu({ children, className, }: SelectionCopyMenuProps): import("react/jsx-runtime").JSX.Element;
@@ -1,6 +1,7 @@
1
1
  import type { DaemonSessionMonitorTaskStatus, DaemonSessionShellTaskStatus, DaemonSessionWorkflowTasksStatus } from '@qwen-code/sdk/daemon';
2
2
  import { type DaemonSessionActions } from '@qwen-code/web-shell/daemon-react-sdk';
3
3
  import type { ACPToolCall, TodoItem } from '../../adapters/types';
4
+ import type { OpenSubagentDetails } from '../../subagentDetailsContext';
4
5
  declare const ACTIVE_EVENT = "web-shell:tasks-panel-active";
5
6
  type DaemonSessionTasksStatus = DaemonSessionWorkflowTasksStatus;
6
7
  export interface SerializedTasksMessage {
@@ -24,7 +25,7 @@ export declare function TasksStatusMessage({ message, embedded, manageActiveEven
24
25
  onClose?: () => void;
25
26
  planTodos?: readonly TodoItem[];
26
27
  agentTools?: readonly ACPToolCall[];
27
- onOpenSubagent?: (tool: ACPToolCall) => void;
28
+ onOpenSubagent?: OpenSubagentDetails;
28
29
  onOpenMonitor?: (task: DaemonSessionMonitorTaskStatus) => void;
29
30
  }): import("react/jsx-runtime").JSX.Element | null;
30
31
  export declare function MonitorTaskDetail({ task, actions: providedActions, }: {
@@ -5,6 +5,7 @@ interface ToolApprovalProps {
5
5
  onConfirm: (id: string, selectedOption: string) => void | Promise<void>;
6
6
  variant?: 'inline' | 'floating';
7
7
  disabled?: boolean;
8
+ showBrowserNotifications?: boolean;
8
9
  /**
9
10
  * Whether this approval should pull keyboard focus to its safe-default option
10
11
  * when it becomes the topmost (visible) one — on appearance, or when a panel/
@@ -32,5 +33,5 @@ export declare function parseTitle(title?: string): {
32
33
  toolName: string;
33
34
  description: string;
34
35
  };
35
- export declare function ToolApproval({ request, onConfirm, variant, disabled, keyboardActive, extraDescriptionId, planTodos, planExecutionMode, generateContent, }: ToolApprovalProps): import("react/jsx-runtime").JSX.Element;
36
+ export declare function ToolApproval({ request, onConfirm, variant, disabled, showBrowserNotifications, keyboardActive, extraDescriptionId, planTodos, planExecutionMode, generateContent, }: ToolApprovalProps): import("react/jsx-runtime").JSX.Element;
36
37
  export {};
@@ -1,5 +1,6 @@
1
1
  import { type ReactNode } from 'react';
2
2
  import type { DaemonSessionWorkflowTaskStatus, DaemonWorkflowDispatchStatus, DaemonWorkflowDispatchStatusEntry } from '@qwen-code/sdk/daemon';
3
+ import type { OpenSubagentDetails } from '../../subagentDetailsContext';
3
4
  export declare const WORKFLOW_GRAPH_RENDER_LIMITS: {
4
5
  readonly lanes: 64;
5
6
  readonly nodes: 240;
@@ -36,7 +37,7 @@ export interface WorkflowGraphLayout {
36
37
  export declare function buildWorkflowGraphLayout(task: DaemonSessionWorkflowTaskStatus, options?: {
37
38
  laneWidth?: number;
38
39
  }): WorkflowGraphLayout;
39
- export declare function WorkflowExecutionView({ task, sourceTask, historyTasks, historyActionBusy, onDeleteHistory, actions, }: {
40
+ export declare function WorkflowExecutionView({ task, sourceTask, historyTasks, historyActionBusy, onDeleteHistory, actions, onOpenSubagent, }: {
40
41
  task: DaemonSessionWorkflowTaskStatus;
41
42
  sourceTask?: DaemonSessionWorkflowTaskStatus;
42
43
  historyTasks?: readonly DaemonSessionWorkflowTaskStatus[];
@@ -44,5 +45,6 @@ export declare function WorkflowExecutionView({ task, sourceTask, historyTasks,
44
45
  onDeleteHistory?: (runId: string) => void;
45
46
  /** Run controls (pause / stop / rerun …) shown at the end of the metrics strip. */
46
47
  actions?: ReactNode;
48
+ onOpenSubagent?: OpenSubagentDetails;
47
49
  }): import("react/jsx-runtime").JSX.Element;
48
50
  export {};
@@ -1,5 +1,6 @@
1
- import type { ACPToolCall } from '../../adapters/types';
2
- export { isActiveToolStatus } from '../../adapters/toolClassification';
1
+ import type { ACPToolCall } from '../../adapters/types.js';
2
+ export { isAskUserQuestionToolName } from '../../constants/toolNames.js';
3
+ export { isActiveToolStatus } from '../../adapters/toolClassification.js';
3
4
  /**
4
5
  * Internal-tool-name → display-name lookup. This is a standalone copy of
5
6
  * core's `ToolDisplayNames` (mapped to wire names, as the CLI's shared
@@ -19,7 +20,6 @@ export declare function formatToolDisplayName(toolName: string): string;
19
20
  * English {@link formatToolDisplayName}. Pass the `t` from `useI18n()`.
20
21
  */
21
22
  export declare function localizeToolDisplayName(toolName: string, t: (key: string, vars?: Record<string, string | number>) => string): string;
22
- export declare function isAskUserQuestionToolName(toolName: string): boolean;
23
23
  export declare function isAdvisorToolName(toolName: string): boolean;
24
24
  export declare function isCompletedAskUserQuestion(tool: ACPToolCall): boolean;
25
25
  export declare function getQuestionAnswerResult(tool: ACPToolCall): {
@@ -0,0 +1,3 @@
1
+ import type { DaemonSessionWorkflowTaskStatus, DaemonWorkflowDispatchStatusEntry } from '@qwen-code/sdk/daemon';
2
+ import { type OpenSubagentDetails } from '../../subagentDetailsContext';
3
+ export declare function useWorkflowAgentDetails(task: DaemonSessionWorkflowTaskStatus, onOpenSubagent?: OpenSubagentDetails): (dispatch: DaemonWorkflowDispatchStatusEntry) => void;
@@ -0,0 +1 @@
1
+ export declare function useWorkflowAgentDetails(): () => void;
@@ -44,5 +44,10 @@ export type EnvironmentAgentTask = DaemonSessionAgentTaskStatus & {
44
44
  color?: string;
45
45
  lineageState?: 'complete' | 'orphaned' | 'cycle';
46
46
  };
47
+ /**
48
+ * Statuses this panel renders with a spinner. The header's activity dot keys
49
+ * off the same set, so the dot cannot promise a row the panel shows settled.
50
+ */
51
+ export declare function isTaskInProgress(status: DaemonSessionTaskWithWorkflowStatus['status']): boolean;
47
52
  export declare function EnvironmentPanel({ sources, onOpenSource, retrySourceRegistration, floating, hidden, workspaceCwd, gitWorkspaceCwd, gitCwd, gitSessionId, branch, gitStatus, tasks, agentTasks, attachments, attachmentsLoading, attachmentsError, onRetryAttachments, artifacts, artifactsLoading, items, onOpenGitDiff, onOpenGitCommit, onOpenGitWorktrees, onOpenGitLog, onOpenAgent, onOpenAgentWorkflow, onOpenTask, onReadImage, onImagePreview, onAttachmentPreview, onAttachmentPreviewError, onOpenArtifact, onDismiss, }: EnvironmentPanelProps): import("react/jsx-runtime").JSX.Element;
48
53
  export {};
@@ -1,7 +1,7 @@
1
1
  import type * as React from 'react';
2
2
  import { type VariantProps } from 'class-variance-authority';
3
3
  declare const alertVariants: (props?: ({
4
- variant?: "default" | "destructive" | "success" | null | undefined;
4
+ variant?: "success" | "default" | "destructive" | null | undefined;
5
5
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
6
6
  declare function Alert({ className, variant, ...props }: React.ComponentProps<'div'> & VariantProps<typeof alertVariants>): import("react/jsx-runtime").JSX.Element;
7
7
  declare function AlertTitle({ className, ...props }: React.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,5 @@
1
+ import * as ResizablePrimitive from 'react-resizable-panels';
2
+ declare const ResizablePanelGroup: import("react").ForwardRefExoticComponent<Omit<ResizablePrimitive.GroupProps, "elementRef"> & import("react").RefAttributes<HTMLDivElement>>;
3
+ declare const ResizablePanel: import("react").ForwardRefExoticComponent<Omit<ResizablePrimitive.PanelProps, "elementRef"> & import("react").RefAttributes<HTMLDivElement>>;
4
+ declare const ResizableHandle: import("react").ForwardRefExoticComponent<Omit<ResizablePrimitive.SeparatorProps, "elementRef"> & import("react").RefAttributes<HTMLDivElement>>;
5
+ export { ResizableHandle, ResizablePanel, ResizablePanelGroup };
@@ -1,6 +1,8 @@
1
+ import type { OpenSubagentDetails } from '../../subagentDetailsContext';
1
2
  interface WorkflowRunsPageProps {
2
3
  onCreateViaChat: () => void;
3
4
  onWorkflowRunStarted?: () => void;
5
+ onOpenSubagent?: OpenSubagentDetails;
4
6
  }
5
- export declare function WorkflowRunsPage({ onCreateViaChat, onWorkflowRunStarted, }: WorkflowRunsPageProps): import("react/jsx-runtime").JSX.Element;
7
+ export declare function WorkflowRunsPage({ onCreateViaChat, onWorkflowRunStarted, onOpenSubagent, }: WorkflowRunsPageProps): import("react/jsx-runtime").JSX.Element;
6
8
  export {};
@@ -7,3 +7,4 @@
7
7
  export declare const AGENT_TOOL_NAME = "agent";
8
8
  /** Whether a tool name identifies the Agent (sub-agent) tool. */
9
9
  export declare function isAgentTool(toolName: string | undefined): boolean;
10
+ export declare function isAskUserQuestionToolName(toolName: string): boolean;
@@ -136,7 +136,7 @@ export interface WebShellChatHeaderOptions {
136
136
  /** Built-in header actions to show. Token and context usage are opt-in. */
137
137
  items?: readonly WebShellChatHeaderItem[];
138
138
  }
139
- export type WebShellRightPanelItem = 'review' | 'sideTask' | 'terminal' | 'webPreview' | 'trajectory';
139
+ export type WebShellRightPanelItem = 'files' | 'review' | 'sideTask' | 'terminal' | 'webPreview' | 'trajectory';
140
140
  export interface WebShellRightPanelOptions {
141
141
  /** Empty-state actions to show. Defaults to review and sideTask. */
142
142
  items?: readonly WebShellRightPanelItem[];
@@ -205,6 +205,7 @@ export interface WebShellSubmitSnapshot {
205
205
  sessionId?: string;
206
206
  prompt: string;
207
207
  inputAnnotations: readonly DaemonInputAnnotation[];
208
+ source?: 'mcp-app';
208
209
  }
209
210
  export type UserMessageContentRenderer = (info: UserMessageContentRenderInfo) => ReactNode;
210
211
  export interface WebShellBottomStatusItem {
@@ -557,8 +558,8 @@ export interface WebShellCustomization {
557
558
  markdown?: WebShellMarkdownCustomization;
558
559
  loadingPhrases?: LoadingPhrasesResolver;
559
560
  /**
560
- * Controls whether the composer's file-upload entry points (drag-and-drop
561
- * and the @ panel upload item) are enabled. Does not disable attachments.
561
+ * Controls composer uploads (drag-and-drop and the @ panel upload item)
562
+ * and Files tree drag-and-drop uploads. Does not disable attachments.
562
563
  * Works alongside the daemon's
563
564
  * `workspace_file_upload` capability, not instead of it: setting `false`
564
565
  * force-disables upload even when the daemon advertises the capability,
@@ -571,13 +572,14 @@ export interface WebShellCustomization {
571
572
  */
572
573
  fileDropAction?: 'upload' | 'attach';
573
574
  /**
574
- * Directory that drag-and-dropped files upload into, **relative to the
575
+ * Directory that composer-dropped files upload into, **relative to the
575
576
  * workspace root**. Use a relative path WITHOUT a leading `/` — e.g.
576
577
  * `'uploads'`, `'uploads/images'`, or omit it to upload into the
577
578
  * workspace root (the default). A leading-slash path like `'/uploads'`
578
579
  * is rejected by the daemon as outside the workspace. The directory
579
580
  * (including intermediate components) is created automatically on upload
580
- * when it does not exist.
581
+ * when it does not exist. Files tree drops use the explicit tree destination
582
+ * instead of this setting.
581
583
  */
582
584
  fileUploadDirectory?: string;
583
585
  }
@@ -15,10 +15,11 @@ export interface TurnNotificationContent {
15
15
  sessionTitle?: string;
16
16
  promptText?: string;
17
17
  responseText?: string;
18
+ attention?: 'approval' | 'question';
18
19
  }
19
20
  export interface TurnNotification extends TurnNotificationContent {
20
21
  key: string;
21
- outcome: 'completed' | 'failed' | 'ended' | 'cancelled';
22
+ outcome: 'completed' | 'failed' | 'ended' | 'cancelled' | 'approval' | 'question';
22
23
  }
23
24
  export interface TurnNotificationObserver {
24
25
  retain(scope: string): () => void;