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

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 (334) hide show
  1. package/NOTICES.txt +32 -0
  2. package/README.md +19 -3
  3. package/dist/{PierreFilePreview-Ctb1tsDd.js → PierreFilePreview-DAD1C1oX.js} +3218 -5181
  4. package/dist/{SpreadsheetPreview-D-v9WPl_.js → SpreadsheetPreview-DShn9rcb.js} +2 -2
  5. package/dist/WorkspaceFileBrowser-zWgE76sn.js +9102 -0
  6. package/dist/{agents-route-C_2yzkr2.js → agents-route-CYSCpPDR.js} +2 -2
  7. package/dist/{cpp-Bb6c2fiE.js → cpp-C0xArK63.js} +12 -8
  8. package/dist/daemon-react-sdk.js +1 -1
  9. package/dist/{index-CAf7sm7W.js → index-CWxIoEi_.js} +51336 -49658
  10. package/dist/index.js +22 -22
  11. package/dist/ruby-vDzP41xB.js +41 -0
  12. package/dist/sw.js +1 -1
  13. package/dist/transcript.js +7491 -7390
  14. package/dist/types/App.d.ts +2 -1
  15. package/dist/types/components/ChatContextHeader.d.ts +3 -1
  16. package/dist/types/components/ChatEditor.d.ts +4 -0
  17. package/dist/types/components/ChatPane.d.ts +2 -1
  18. package/dist/types/components/ContextUsagePopover.d.ts +2 -1
  19. package/dist/types/components/SplitView.d.ts +2 -1
  20. package/dist/types/components/StreamingStatus.d.ts +2 -1
  21. package/dist/types/components/artifacts/ArtifactPanel.d.ts +6 -1
  22. package/dist/types/components/artifacts/TrajectoryExecutions.d.ts +9 -0
  23. package/dist/types/components/artifacts/TrajectoryInspector.d.ts +4 -1
  24. package/dist/types/components/artifacts/file-name-display.d.ts +1 -0
  25. package/dist/types/components/artifacts/files-messages.d.ts +30 -0
  26. package/dist/types/components/artifacts/useArtifactWorkspaceTarget.d.ts +6 -2
  27. package/dist/types/components/managed/ManagedSessionsPage.d.ts +4 -1
  28. package/dist/types/components/managed/WorkspaceBindingCreator.d.ts +2 -1
  29. package/dist/types/components/managed/generated/managed-agent-api.d.ts +392 -1
  30. package/dist/types/components/managed/java-managed-agent-client.d.ts +14 -0
  31. package/dist/types/components/managed/managed-agent-provider.d.ts +70 -0
  32. package/dist/types/components/managed/managed-session-storage.d.ts +1 -1
  33. package/dist/types/components/managed/use-managed-approval-change.d.ts +24 -0
  34. package/dist/types/components/managed/use-managed-model-change.d.ts +23 -0
  35. package/dist/types/components/sidebar/WebShellSidebar.d.ts +4 -1
  36. package/dist/types/components/ui/alert.d.ts +1 -1
  37. package/dist/types/components/ui/drawer.d.ts +1 -1
  38. package/dist/types/constants/sessions.d.ts +1 -0
  39. package/dist/types/daemon/session/types.d.ts +3 -1
  40. package/dist/types/hooks/useComposerCore.d.ts +0 -2
  41. package/dist/types/trajectory/execution-messages.d.ts +9 -0
  42. package/dist/types/trajectory/execution-messages.transcript-stub.d.ts +7 -0
  43. package/dist/types/trajectory/project-trajectory-executions.d.ts +23 -0
  44. package/dist/types/utils/planMode.d.ts +1 -1
  45. package/dist/{useDaemonMidTurnInjected-ClQx7vwI.js → useDaemonMidTurnInjected-Cf5L3VKm.js} +3177 -3009
  46. package/dist/{vue-d9VL4uFG.js → vue-IHw0KG71.js} +23 -21
  47. package/package.json +7 -4
  48. package/dist/WorkspaceFileBrowser-ChMwviRm.js +0 -11389
  49. package/dist/abap-Y8Dl9g_6.js +0 -6
  50. package/dist/actionscript-3-BaF0d0xQ.js +0 -6
  51. package/dist/ada-BF2KzuNn.js +0 -6
  52. package/dist/ahk-B-WqUgDL.js +0 -6
  53. package/dist/ahk2-SbcCPlaJ.js +0 -6
  54. package/dist/andromeeda-BbmzSJq1.js +0 -4
  55. package/dist/angular-html-rmyRipUB.js +0 -32
  56. package/dist/angular-ts-gqGZGIqw.js +0 -21
  57. package/dist/apache-BUjz-sD2.js +0 -6
  58. package/dist/apex-DvkHwMsp.js +0 -6
  59. package/dist/apl-9WGfvSCD.js +0 -16
  60. package/dist/applescript-BPx7YFFu.js +0 -6
  61. package/dist/ara-Z2fSOxSw.js +0 -6
  62. package/dist/asciidoc-BiIPQCNW.js +0 -6
  63. package/dist/asm-BTWLY5ym.js +0 -6
  64. package/dist/astro-B3VnZ88h.js +0 -18
  65. package/dist/aurora-x-BwoVEUWZ.js +0 -4
  66. package/dist/awk-Fb0P9dkn.js +0 -6
  67. package/dist/ayu-dark-DJoqd4M9.js +0 -4
  68. package/dist/ayu-light-BzXEJRJ-.js +0 -4
  69. package/dist/ayu-mirage-BJ2oZGzi.js +0 -4
  70. package/dist/ballerina-oZK-YekG.js +0 -6
  71. package/dist/bat-ydjv7YKs.js +0 -6
  72. package/dist/beancount-B97e4I_p.js +0 -6
  73. package/dist/berry-DODBq_Ff.js +0 -6
  74. package/dist/bibtex-EULQRLY5.js +0 -6
  75. package/dist/bicep-BorU73w0.js +0 -6
  76. package/dist/bird2-pg9hCHlc.js +0 -6
  77. package/dist/blade-C1Ndts_b.js +0 -20
  78. package/dist/bsl-D_YKmA0K.js +0 -8
  79. package/dist/c3-CFUossGW.js +0 -6
  80. package/dist/cadence-02UX7mW8.js +0 -6
  81. package/dist/cairo-DM6WF2e3.js +0 -8
  82. package/dist/catppuccin-frappe-DUuBHM65.js +0 -4
  83. package/dist/catppuccin-latte-BNGb0x5j.js +0 -4
  84. package/dist/catppuccin-macchiato-BxrBWMCk.js +0 -4
  85. package/dist/catppuccin-mocha-CuiVuFkm.js +0 -4
  86. package/dist/chapel-eL5CQ0M-.js +0 -8
  87. package/dist/clarity-9DleLt1s.js +0 -6
  88. package/dist/clojure-CXJfHrL3.js +0 -6
  89. package/dist/cmake-BJz8BOTU.js +0 -6
  90. package/dist/cobol-Dl6_7gJe.js +0 -10
  91. package/dist/codeowners-Bt9yU6NX.js +0 -6
  92. package/dist/codeql-DHkodjjI.js +0 -6
  93. package/dist/coffee-DGBR_nr_.js +0 -8
  94. package/dist/common-lisp-EVqT9Zhp.js +0 -6
  95. package/dist/coq-5TmQn6M5.js +0 -6
  96. package/dist/crystal-Bfb0oPlr.js +0 -18
  97. package/dist/csv-CmYOceLb.js +0 -6
  98. package/dist/cue-ZzumE7IT.js +0 -6
  99. package/dist/cypher-jpdmjtA6.js +0 -6
  100. package/dist/d-CBagWSwH.js +0 -6
  101. package/dist/dark-plus-pUHDTVV0.js +0 -4
  102. package/dist/dart-K6TBxHBr.js +0 -6
  103. package/dist/dax-CcDT-8dH.js +0 -6
  104. package/dist/desktop-B93p9R9O.js +0 -6
  105. package/dist/dotenv-To_iU2bW.js +0 -6
  106. package/dist/dracula-BtZx2Kac.js +0 -4
  107. package/dist/dracula-soft-BKa-aqBv.js +0 -4
  108. package/dist/dream-maker-PAx17jaB.js +0 -6
  109. package/dist/edge-Qug5O-Uv.js +0 -12
  110. package/dist/elixir-jJSGlzPp.js +0 -8
  111. package/dist/elm-BtNbw_Cd.js +0 -8
  112. package/dist/emacs-lisp--TAIYkU3.js +0 -6
  113. package/dist/erb-B9A6WGNp.js +0 -10
  114. package/dist/erlang-DNcDT8Hi.js +0 -8
  115. package/dist/everforest-dark-DMCBqXCK.js +0 -4
  116. package/dist/everforest-light-BbXl82Em.js +0 -4
  117. package/dist/fennel-N4WcXuKx.js +0 -6
  118. package/dist/fish-BTDEUgqH.js +0 -6
  119. package/dist/fluent-BMXUxfv1.js +0 -6
  120. package/dist/fortran-fixed-form-B67KFkXH.js +0 -8
  121. package/dist/fortran-free-form-CwqYvCLJ.js +0 -6
  122. package/dist/fsharp-CYOiIVNx.js +0 -8
  123. package/dist/gdresource-B6Cnl39M.js +0 -10
  124. package/dist/gdscript-BWeFgEe_.js +0 -6
  125. package/dist/gdshader-Bk8fF6yr.js +0 -6
  126. package/dist/genie-DzUvd7U9.js +0 -6
  127. package/dist/gherkin-DHRaV0YP.js +0 -6
  128. package/dist/git-commit-Bd32YZ0K.js +0 -8
  129. package/dist/git-rebase-ZWUFO_T4.js +0 -8
  130. package/dist/github-dark-default-BJPUVz4H.js +0 -4
  131. package/dist/github-dark-dimmed-DUshB20C.js +0 -4
  132. package/dist/github-dark-high-contrast-D3aGCnF8.js +0 -4
  133. package/dist/github-light-default-D99KPAby.js +0 -4
  134. package/dist/github-light-high-contrast-BbmZE-Mp.js +0 -4
  135. package/dist/gleam-Bv284lvN.js +0 -6
  136. package/dist/glimmer-js-B-ut3b08.js +0 -14
  137. package/dist/glimmer-ts-CDiMEfki.js +0 -14
  138. package/dist/glsl-CkUcVZNK.js +0 -8
  139. package/dist/gn-B0BSgybI.js +0 -6
  140. package/dist/gnuplot-yPG9-sE_.js +0 -6
  141. package/dist/graphql-CBu2ehBn.js +0 -14
  142. package/dist/groovy-CJQTphOW.js +0 -6
  143. package/dist/gruvbox-dark-hard-C5HOtKIh.js +0 -4
  144. package/dist/gruvbox-dark-medium-FVgwJHuz.js +0 -4
  145. package/dist/gruvbox-dark-soft-B46F314v.js +0 -4
  146. package/dist/gruvbox-light-hard-CJD38wDZ.js +0 -4
  147. package/dist/gruvbox-light-medium-BlIhMYTA.js +0 -4
  148. package/dist/gruvbox-light-soft-DoPHyLVZ.js +0 -4
  149. package/dist/hack-p63ac3SB.js +0 -10
  150. package/dist/haml-CM7CpQHU.js +0 -10
  151. package/dist/handlebars-DfCj1TEO.js +0 -14
  152. package/dist/haskell-WeIwNIP6.js +0 -6
  153. package/dist/haxe-CfMPOItY.js +0 -6
  154. package/dist/hcl-D438OF-I.js +0 -6
  155. package/dist/hjson-DYBUbqOl.js +0 -6
  156. package/dist/hlsl-Bk8TCZNL.js +0 -6
  157. package/dist/horizon-CJQ10nlf.js +0 -4
  158. package/dist/horizon-bright-2WzHy-Vo.js +0 -4
  159. package/dist/houston-BDYrDoDW.js +0 -4
  160. package/dist/html-derivative-DG8ajaXt.js +0 -8
  161. package/dist/http-DLvAkeD-.js +0 -14
  162. package/dist/hurl-CgkFN90t.js +0 -12
  163. package/dist/hxml-DV49tgRk.js +0 -8
  164. package/dist/hy-Brt5EZ7-.js +0 -6
  165. package/dist/imba-CimUv-Uh.js +0 -6
  166. package/dist/jinja-BHOV3ePe.js +0 -11
  167. package/dist/jison-DdreslRX.js +0 -8
  168. package/dist/json5-BT4Fjg39.js +0 -6
  169. package/dist/jsonl-BGuvDmy9.js +0 -6
  170. package/dist/jsonnet-Bx2cfsXg.js +0 -6
  171. package/dist/jssm-BcADi6EI.js +0 -6
  172. package/dist/julia-BxeXMQSJ.js +0 -16
  173. package/dist/just-CJ4EVsJK.js +0 -18
  174. package/dist/kanagawa-dragon-CQySOoTe.js +0 -4
  175. package/dist/kanagawa-lotus-CJRfph3t.js +0 -4
  176. package/dist/kanagawa-wave-Cu5PDRcJ.js +0 -4
  177. package/dist/kdl-BNOv9TC3.js +0 -6
  178. package/dist/kusto-BlqsQffZ.js +0 -6
  179. package/dist/laserwave-6a00oqik.js +0 -4
  180. package/dist/latex-BfhWTgWa.js +0 -8
  181. package/dist/lean-BnVxaZxY.js +0 -6
  182. package/dist/less-B1GLI2Di.js +0 -6
  183. package/dist/light-plus-CZuVqSLX.js +0 -4
  184. package/dist/liquid-D7d9j__1.js +0 -14
  185. package/dist/llvm-DMgfhPsy.js +0 -6
  186. package/dist/log-Al8wyEFV.js +0 -6
  187. package/dist/logo-DBa4JDzV.js +0 -6
  188. package/dist/luau-1oy8yWWo.js +0 -6
  189. package/dist/marko-D0HGUaN1.js +0 -14
  190. package/dist/material-theme-D6KBX41T.js +0 -4
  191. package/dist/material-theme-darker-CkRroheE.js +0 -4
  192. package/dist/material-theme-lighter-BUBw43Yz.js +0 -4
  193. package/dist/material-theme-ocean-ClGX14Ja.js +0 -4
  194. package/dist/material-theme-palenight-C1RVm8K1.js +0 -4
  195. package/dist/matlab-BOAaUVP0.js +0 -6
  196. package/dist/mdc-BI6stFvl.js +0 -12
  197. package/dist/mdx-BOhZZUJ8.js +0 -6
  198. package/dist/mermaid-xImSC5pG.js +0 -6
  199. package/dist/min-dark-C7ak0t6c.js +0 -4
  200. package/dist/min-light-CKFxVcPp.js +0 -4
  201. package/dist/mipsasm-CTx18fBl.js +0 -6
  202. package/dist/mojo-DjLViMAF.js +0 -6
  203. package/dist/monokai-B1aFr0iD.js +0 -4
  204. package/dist/moonbit-qkz9oK4f.js +0 -6
  205. package/dist/move-DoIXlL5f.js +0 -6
  206. package/dist/narrat-DmhDCBs-.js +0 -6
  207. package/dist/nextflow-BTRbEaxp.js +0 -8
  208. package/dist/nextflow-groovy-BJmbcwBu.js +0 -6
  209. package/dist/nginx-D7O4WoB1.js +0 -8
  210. package/dist/night-owl-Bm2rzalh.js +0 -4
  211. package/dist/night-owl-light-CBI5u5kw.js +0 -4
  212. package/dist/nim-DG7jk4Ht.js +0 -20
  213. package/dist/nix-fTRXMGic.js +0 -9
  214. package/dist/nord-CC5OiUXg.js +0 -4
  215. package/dist/nsis-CtKAvjMM.js +0 -6
  216. package/dist/nushell-CgtwSlO3.js +0 -6
  217. package/dist/objective-c-Itk8tzmv.js +0 -6
  218. package/dist/ocaml-eSVK32Eg.js +0 -6
  219. package/dist/odin-BItnF517.js +0 -6
  220. package/dist/one-dark-pro-C5d58L87.js +0 -4
  221. package/dist/one-light-LkMrt1Cf.js +0 -4
  222. package/dist/openscad-Sp5uZ6f2.js +0 -6
  223. package/dist/org-C5S6WgHQ.js +0 -100
  224. package/dist/pascal-xy8pJNns.js +0 -6
  225. package/dist/perl-vJzCkjjH.js +0 -16
  226. package/dist/pierre-dark-D52vmD1t.js +0 -4
  227. package/dist/pierre-dark-protanopia-deuteranopia-Coza2ydH.js +0 -4
  228. package/dist/pierre-dark-soft-D0o08Lfm.js +0 -4
  229. package/dist/pierre-dark-tritanopia-BP-A_WyN.js +0 -4
  230. package/dist/pierre-dark-vibrant-BjUzbiGn.js +0 -4
  231. package/dist/pierre-light-CzM3AfLn.js +0 -4
  232. package/dist/pierre-light-protanopia-deuteranopia-DFclCKch.js +0 -4
  233. package/dist/pierre-light-soft-m3tr_5b6.js +0 -4
  234. package/dist/pierre-light-tritanopia-Dh0MAsTp.js +0 -4
  235. package/dist/pierre-light-vibrant-BZSORskK.js +0 -4
  236. package/dist/pkl-C-zSNmaA.js +0 -6
  237. package/dist/plastic-CSTz3KZp.js +0 -4
  238. package/dist/plsql-pVbGZfOv.js +0 -6
  239. package/dist/po-BNfHvqmm.js +0 -6
  240. package/dist/poimandres-C-VADXHD.js +0 -4
  241. package/dist/polar-CAZahv3u.js +0 -6
  242. package/dist/postcss-05aHdL-n.js +0 -6
  243. package/dist/powerquery-DI9HkTvs.js +0 -6
  244. package/dist/powershell-DwQB8F1X.js +0 -6
  245. package/dist/prisma-K8HipzoA.js +0 -6
  246. package/dist/prolog-C5-yg4TO.js +0 -6
  247. package/dist/proto-C7QgialS.js +0 -6
  248. package/dist/pug-DWY5n4I0.js +0 -12
  249. package/dist/puppet-CUJHmnxV.js +0 -6
  250. package/dist/purescript-rUfGld-4.js +0 -6
  251. package/dist/qml-rTNXsquU.js +0 -8
  252. package/dist/qmldir-BInDYbpo.js +0 -6
  253. package/dist/qss-AeJTysr_.js +0 -6
  254. package/dist/r-BPg6DDVi.js +0 -6
  255. package/dist/racket-B83wSAja.js +0 -6
  256. package/dist/raku-nEQ4ZJJ7.js +0 -6
  257. package/dist/razor-DfCpierF.js +0 -10
  258. package/dist/rbs-CssrqYJT.js +0 -6
  259. package/dist/red-ZH55KNtO.js +0 -4
  260. package/dist/reg-m_s_Kiip.js +0 -6
  261. package/dist/regexp-BazyLpPg.js +0 -6
  262. package/dist/rel-BcRfyd6Q.js +0 -6
  263. package/dist/riscv-Ce8MAQLP.js +0 -6
  264. package/dist/ron-DCEEQypA.js +0 -6
  265. package/dist/rose-pine-CBkWCxr6.js +0 -4
  266. package/dist/rose-pine-dawn-B6ai6aO_.js +0 -4
  267. package/dist/rose-pine-moon-c2UTtcmd.js +0 -4
  268. package/dist/rosmsg-Cz0w1km8.js +0 -6
  269. package/dist/rst-DLMli9w9.js +0 -22
  270. package/dist/ruby-CbJ15R3t.js +0 -30
  271. package/dist/sas-CPEc4gxJ.js +0 -8
  272. package/dist/sass-DxHp5rTx.js +0 -6
  273. package/dist/scala-B_IFinKC.js +0 -6
  274. package/dist/scheme-BCRWuEm4.js +0 -6
  275. package/dist/scss-BoS_aSJ3.js +0 -8
  276. package/dist/sdbl-B7T8abf4.js +0 -6
  277. package/dist/shaderlab-Cr62-Wb4.js +0 -8
  278. package/dist/shellsession-DiDJNQdy.js +0 -8
  279. package/dist/slack-dark-i7wN4OET.js +0 -4
  280. package/dist/slack-ochin-ndHf0LoP.js +0 -4
  281. package/dist/smalltalk-4m7fIk5G.js +0 -6
  282. package/dist/smithy-BqBKlq_3.js +0 -6
  283. package/dist/snazzy-light-BlSJXAu4.js +0 -4
  284. package/dist/solarized-dark-DkqKcBES.js +0 -4
  285. package/dist/solarized-light-PzVcYh5f.js +0 -4
  286. package/dist/solidity-CA32r_X5.js +0 -6
  287. package/dist/soy-zKSLgLn7.js +0 -8
  288. package/dist/sparql-B0KWFEri.js +0 -8
  289. package/dist/splunk-CRXR8A9s.js +0 -6
  290. package/dist/ssh-config-DP-hNVbF.js +0 -6
  291. package/dist/stata-CfG8pWjZ.js +0 -8
  292. package/dist/stylus-CyKEU1Ej.js +0 -6
  293. package/dist/surrealql-C-LAJEpk.js +0 -8
  294. package/dist/svelte-DwQZuWui.js +0 -14
  295. package/dist/synthwave-84-NU3C_KFZ.js +0 -4
  296. package/dist/system-verilog-CT3NeZzU.js +0 -6
  297. package/dist/systemd-C-4qm6XH.js +0 -6
  298. package/dist/talonscript-CFF3LF_O.js +0 -6
  299. package/dist/tasl-Cg_WBUAe.js +0 -6
  300. package/dist/tcl-DN7buRTF.js +0 -6
  301. package/dist/templ-kEkd0dRE.js +0 -12
  302. package/dist/terraform-DGvcn9zM.js +0 -6
  303. package/dist/tex-CXAy09re.js +0 -8
  304. package/dist/tokyo-night-DP4TmcQl.js +0 -4
  305. package/dist/ts-tags-CheYVw2x.js +0 -41
  306. package/dist/tsv-BtvSkaG0.js +0 -6
  307. package/dist/turtle-_H59FV7D.js +0 -6
  308. package/dist/twig-CDICZk1J.js +0 -18
  309. package/dist/typespec-ClIfKiQP.js +0 -6
  310. package/dist/typst-E3pfxOv6.js +0 -120
  311. package/dist/v-CxJbuWik.js +0 -6
  312. package/dist/vala-uxaPR7d1.js +0 -6
  313. package/dist/vb-BD2YOVbP.js +0 -6
  314. package/dist/verilog-BHj4jYdq.js +0 -6
  315. package/dist/vesper-DIoW1cuD.js +0 -4
  316. package/dist/vhdl-CUlNa8ac.js +0 -6
  317. package/dist/viml-DsfA-sWm.js +0 -6
  318. package/dist/vitesse-black-BoGvW84i.js +0 -4
  319. package/dist/vitesse-dark-Cym-eLtO.js +0 -4
  320. package/dist/vitesse-light-CcmG315c.js +0 -4
  321. package/dist/vue-html-j9xNEdu3.js +0 -8
  322. package/dist/vue-vine-Hkz8HiFl.js +0 -18
  323. package/dist/vyper-CPQuu50u.js +0 -6
  324. package/dist/wasm-BBXxrAl7.js +0 -6
  325. package/dist/wenyan-pbVjoM9_.js +0 -6
  326. package/dist/wgsl-DY4iK1q1.js +0 -6
  327. package/dist/wikitext-Z-MoUasO.js +0 -6
  328. package/dist/wit-CQMQOlTg.js +0 -6
  329. package/dist/wolfram-Dz4KXISs.js +0 -6
  330. package/dist/xsl-BmSZphgC.js +0 -8
  331. package/dist/zenscript-CxBjpf9c.js +0 -6
  332. package/dist/zig-Vm0PO9wB.js +0 -6
  333. /package/dist/{docker-CsHqm9tx.js → dockerfile-CsHqm9tx.js} +0 -0
  334. /package/dist/{make-CsMclxtr.js → makefile-CsMclxtr.js} +0 -0
@@ -412,6 +412,108 @@ export interface paths {
412
412
  patch?: never;
413
413
  trace?: never;
414
414
  };
415
+ "/api/agent/web-shell/v1/workspaces/create": {
416
+ parameters: {
417
+ query?: never;
418
+ header?: never;
419
+ path?: never;
420
+ cookie?: never;
421
+ };
422
+ get?: never;
423
+ put?: never;
424
+ /** @description Create an independent empty Workspace under the operator-controlled creation root and grant its authenticated creator OWNER access. Disabled deployments reject creation. The actor-scoped idempotency key freezes the normalized name and storage registration; retry the same request after an uncertain response. Completed replay checks current access and does not restore removed Workspaces or revoked grants. No host path is accepted or returned. */
425
+ post: operations["webShellCreateWorkspace"];
426
+ delete?: never;
427
+ options?: never;
428
+ head?: never;
429
+ patch?: never;
430
+ trace?: never;
431
+ };
432
+ "/api/agent/web-shell/v1/session-options/query": {
433
+ parameters: {
434
+ query?: never;
435
+ header?: never;
436
+ path?: never;
437
+ cookie?: never;
438
+ };
439
+ get?: never;
440
+ put?: never;
441
+ /** @description Read effective approval policy options for an Agent in the authenticated tenant. Requires an actor. Does not create a Session or change an existing policy. */
442
+ post: operations["queryWebShellSessionOptions"];
443
+ delete?: never;
444
+ options?: never;
445
+ head?: never;
446
+ patch?: never;
447
+ trace?: never;
448
+ };
449
+ "/api/agent/web-shell/v1/session-models/query": {
450
+ parameters: {
451
+ query?: never;
452
+ header?: never;
453
+ path?: never;
454
+ cookie?: never;
455
+ };
456
+ get?: never;
457
+ put?: never;
458
+ /** @description Read the allowed model catalog and current model selection of a readable Session. No credentials or provider routes are returned. */
459
+ post: operations["queryWebShellSessionModels"];
460
+ delete?: never;
461
+ options?: never;
462
+ head?: never;
463
+ patch?: never;
464
+ trace?: never;
465
+ };
466
+ "/api/agent/web-shell/v1/session-models/change": {
467
+ parameters: {
468
+ query?: never;
469
+ header?: never;
470
+ path?: never;
471
+ cookie?: never;
472
+ };
473
+ get?: never;
474
+ put?: never;
475
+ /** @description Change the model of an idle Workspace Session for later Turns. The actor-scoped idempotency key replays an earlier completed change before current admission checks; expectedRevision prevents overwriting a concurrent selection. */
476
+ post: operations["changeWebShellSessionModel"];
477
+ delete?: never;
478
+ options?: never;
479
+ head?: never;
480
+ patch?: never;
481
+ trace?: never;
482
+ };
483
+ "/api/agent/web-shell/v1/session-approval/query": {
484
+ parameters: {
485
+ query?: never;
486
+ header?: never;
487
+ path?: never;
488
+ cookie?: never;
489
+ };
490
+ get?: never;
491
+ put?: never;
492
+ /** @description Read the current policy and owner-authorized change support of a readable Workspace Session. */
493
+ post: operations["queryWebShellSessionApproval"];
494
+ delete?: never;
495
+ options?: never;
496
+ head?: never;
497
+ patch?: never;
498
+ trace?: never;
499
+ };
500
+ "/api/agent/web-shell/v1/session-approval/change": {
501
+ parameters: {
502
+ query?: never;
503
+ header?: never;
504
+ path?: never;
505
+ cookie?: never;
506
+ };
507
+ get?: never;
508
+ put?: never;
509
+ /** @description Change the next-Turn policy of an idle built-in Workspace Session. Requires its recorded owner and current OPERATOR access. Changes are revision-checked and actor/session-scoped idempotent. */
510
+ post: operations["changeWebShellSessionApproval"];
511
+ delete?: never;
512
+ options?: never;
513
+ head?: never;
514
+ patch?: never;
515
+ trace?: never;
516
+ };
415
517
  }
416
518
  export type webhooks = Record<string, never>;
417
519
  export interface components {
@@ -480,6 +582,11 @@ export interface components {
480
582
  input?: components["schemas"]["InputBlock"][];
481
583
  metadata?: components["schemas"]["WebShellMetadata"];
482
584
  workspace?: components["schemas"]["WebShellWorkspaceSelection"];
585
+ /**
586
+ * @description Optional policy for Workspace-bound creation only. Omission preserves the existing default and idempotency digest. Explicit selection is validated against the resolved Agent and tool profile and frozen in the Session; Shell refuses yolo and definitions retain their compiled policy.
587
+ * @enum {string}
588
+ */
589
+ approvalMode?: "default" | "auto-edit" | "yolo";
483
590
  };
484
591
  WebShellSubmitRequest: {
485
592
  /** @description Trace correlation only. */
@@ -540,6 +647,20 @@ export interface components {
540
647
  lastSequence: number;
541
648
  workspace?: components["schemas"]["WebShellWorkspaceContext"];
542
649
  capabilities: components["schemas"]["WebShellSessionCapabilities"];
650
+ /**
651
+ * @description Current effective approval policy; initialApprovalMode retains the immutable creation policy.
652
+ * @enum {string}
653
+ */
654
+ approvalMode?: "default" | "auto-edit" | "yolo";
655
+ modelContext?: components["schemas"]["WebShellModelContext"];
656
+ modelSelection?: components["schemas"]["WebShellModelSelection"];
657
+ /** Format: int64 */
658
+ approvalRevision?: number;
659
+ /**
660
+ * @description Immutable creation-time policy, used to confirm creation replay.
661
+ * @enum {string}
662
+ */
663
+ initialApprovalMode?: "default" | "auto-edit" | "yolo";
543
664
  };
544
665
  WebShellSessionCapabilities: {
545
666
  /**
@@ -576,8 +697,12 @@ export interface components {
576
697
  * @default false
577
698
  */
578
699
  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. */
700
+ /** @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 a valid persisted approval mode 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
701
  foregroundShell?: boolean;
702
+ /** @description The caller may request an idle Session model change using the server model catalog. Missing means unsupported; authorization and revision admission still apply. */
703
+ modelChange?: boolean;
704
+ /** @description The caller owns this built-in Workspace Session with OPERATOR access and the Harness supports approval-selection/1. Idle-state admission is checked separately. Missing means false. */
705
+ approvalModeChange?: boolean;
581
706
  };
582
707
  WebShellSessionPage: {
583
708
  data: components["schemas"]["WebShellSession"][];
@@ -715,6 +840,10 @@ export interface components {
715
840
  workspaceContext: boolean;
716
841
  /** @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. */
717
842
  workspaceBinding: boolean;
843
+ /** @description Supports creating empty Workspaces under the operator-controlled root. Missing or false means unsupported; current actor and server admission checks still apply. */
844
+ workspaceCreation?: boolean;
845
+ /** @description Supports effective Session policy options and explicit Workspace-bound creation policy. Missing or false means unsupported. */
846
+ approvalModeSelection?: boolean;
718
847
  };
719
848
  /** @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. */
720
849
  defaultWorkspace: (components["schemas"]["WebShellWorkspace"] & {
@@ -1097,6 +1226,89 @@ export interface components {
1097
1226
  */
1098
1227
  byteLength: number;
1099
1228
  };
1229
+ WebShellWorkspaceCreateRequest: {
1230
+ /** @description Trimmed display name, without control characters. The server validates the normalized name. */
1231
+ displayName: string;
1232
+ idempotencyKey: string;
1233
+ };
1234
+ WebShellSessionOptionsRequest: {
1235
+ agentId: string;
1236
+ };
1237
+ WebShellSessionOptions: {
1238
+ /** @enum {string} */
1239
+ approvalMode: "default" | "auto-edit" | "yolo";
1240
+ /** @description Effective modes for this Agent/profile. Stored definitions offer only their pinned mode; auto and plan are unsupported. */
1241
+ availableApprovalModes: ("default" | "auto-edit" | "yolo")[];
1242
+ };
1243
+ /** @description Safe allowlisted observation for a Workspace-bound Session. Unknown counts are omitted, never estimated. */
1244
+ WebShellModelContext: {
1245
+ /** @description Actual model identity from the committed main-model usage resource. */
1246
+ modelId: string;
1247
+ /** @description Provider prompt token count for the latest successfully committed main-model request; not cumulative billing usage. */
1248
+ inputTokens?: number;
1249
+ /** @description Context capacity from the same resolved model configuration. Missing means unknown. */
1250
+ contextWindowSize?: number;
1251
+ /** @description Timestamp of the committed source observation, in Unix epoch milliseconds. */
1252
+ observedAt: number;
1253
+ };
1254
+ WebShellModelSelection: {
1255
+ modelId?: string;
1256
+ /** Format: int64 */
1257
+ revision: number;
1258
+ };
1259
+ WebShellModelOption: {
1260
+ modelId: string;
1261
+ label: string;
1262
+ };
1263
+ WebShellSessionModelsRequest: {
1264
+ sessionId: string;
1265
+ };
1266
+ WebShellSessionModels: {
1267
+ models: components["schemas"]["WebShellModelOption"][];
1268
+ modelSelection: components["schemas"]["WebShellModelSelection"];
1269
+ supported: boolean;
1270
+ };
1271
+ WebShellChangeModelRequest: {
1272
+ sessionId: string;
1273
+ modelId: string;
1274
+ /** Format: int64 */
1275
+ expectedRevision: number;
1276
+ idempotencyKey: string;
1277
+ requestId?: string;
1278
+ };
1279
+ WebShellModelChangeResult: {
1280
+ sessionId: string;
1281
+ modelSelection: components["schemas"]["WebShellModelSelection"];
1282
+ replayed: boolean;
1283
+ };
1284
+ WebShellSessionApprovalRequest: {
1285
+ sessionId: string;
1286
+ };
1287
+ WebShellSessionApproval: {
1288
+ /** @enum {string} */
1289
+ approvalMode: "default" | "auto-edit" | "yolo";
1290
+ /** Format: int64 */
1291
+ approvalRevision: number;
1292
+ availableApprovalModes: ("default" | "auto-edit" | "yolo")[];
1293
+ supported: boolean;
1294
+ };
1295
+ WebShellChangeApprovalRequest: {
1296
+ sessionId: string;
1297
+ /** Format: int64 */
1298
+ expectedRevision: number;
1299
+ idempotencyKey: string;
1300
+ requestId?: string;
1301
+ /** @enum {string} */
1302
+ approvalMode: "default" | "auto-edit" | "yolo";
1303
+ };
1304
+ WebShellApprovalChangeResult: {
1305
+ sessionId: string;
1306
+ /** @enum {string} */
1307
+ approvalMode: "default" | "auto-edit" | "yolo";
1308
+ /** Format: int64 */
1309
+ approvalRevision: number;
1310
+ replayed: boolean;
1311
+ };
1100
1312
  };
1101
1313
  responses: {
1102
1314
  /** @description The authenticated actor belongs to another tenant than X-Qwen-Tenant-Id or has an invalid ID (actor_scope_mismatch, which the tenant filter answers on every /v1/agents/ and WebShell route), or the resource is readable but the actor lacks this operation or the original Action responder permission. Artifact content reads may also return artifact_content_forbidden when the actor cannot read the original bytes. */
@@ -2035,4 +2247,183 @@ export interface operations {
2035
2247
  413: components["responses"]["PayloadTooLarge"];
2036
2248
  };
2037
2249
  };
2250
+ webShellCreateWorkspace: {
2251
+ parameters: {
2252
+ query?: never;
2253
+ header?: never;
2254
+ path?: never;
2255
+ cookie?: never;
2256
+ };
2257
+ requestBody: {
2258
+ content: {
2259
+ "application/json": components["schemas"]["WebShellWorkspaceCreateRequest"];
2260
+ };
2261
+ };
2262
+ responses: {
2263
+ /** @description Created Workspace or authorized same-key replay. */
2264
+ 200: {
2265
+ headers: {
2266
+ [name: string]: unknown;
2267
+ };
2268
+ content: {
2269
+ "application/json": components["schemas"]["WebShellWorkspace"];
2270
+ };
2271
+ };
2272
+ 400: components["responses"]["BadRequest"];
2273
+ 401: components["responses"]["Unauthorized"];
2274
+ 403: components["responses"]["Forbidden"];
2275
+ 404: components["responses"]["NotFound"];
2276
+ 409: components["responses"]["Conflict"];
2277
+ 413: components["responses"]["PayloadTooLarge"];
2278
+ };
2279
+ };
2280
+ queryWebShellSessionOptions: {
2281
+ parameters: {
2282
+ query?: never;
2283
+ header?: never;
2284
+ path?: never;
2285
+ cookie?: never;
2286
+ };
2287
+ requestBody: {
2288
+ content: {
2289
+ "application/json": components["schemas"]["WebShellSessionOptionsRequest"];
2290
+ };
2291
+ };
2292
+ responses: {
2293
+ /** @description Effective default and supported policies. */
2294
+ 200: {
2295
+ headers: {
2296
+ [name: string]: unknown;
2297
+ };
2298
+ content: {
2299
+ "application/json": components["schemas"]["WebShellSessionOptions"];
2300
+ };
2301
+ };
2302
+ 400: components["responses"]["BadRequest"];
2303
+ 401: components["responses"]["Unauthorized"];
2304
+ 403: components["responses"]["Forbidden"];
2305
+ 404: components["responses"]["NotFound"];
2306
+ 413: components["responses"]["PayloadTooLarge"];
2307
+ };
2308
+ };
2309
+ queryWebShellSessionModels: {
2310
+ parameters: {
2311
+ query?: never;
2312
+ header?: never;
2313
+ path?: never;
2314
+ cookie?: never;
2315
+ };
2316
+ requestBody: {
2317
+ content: {
2318
+ "application/json": components["schemas"]["WebShellSessionModelsRequest"];
2319
+ };
2320
+ };
2321
+ responses: {
2322
+ /** @description Session model options. */
2323
+ 200: {
2324
+ headers: {
2325
+ [name: string]: unknown;
2326
+ };
2327
+ content: {
2328
+ "application/json": components["schemas"]["WebShellSessionModels"];
2329
+ };
2330
+ };
2331
+ 400: components["responses"]["BadRequest"];
2332
+ 401: components["responses"]["Unauthorized"];
2333
+ 403: components["responses"]["Forbidden"];
2334
+ 404: components["responses"]["NotFound"];
2335
+ 409: components["responses"]["Conflict"];
2336
+ 413: components["responses"]["PayloadTooLarge"];
2337
+ };
2338
+ };
2339
+ changeWebShellSessionModel: {
2340
+ parameters: {
2341
+ query?: never;
2342
+ header?: never;
2343
+ path?: never;
2344
+ cookie?: never;
2345
+ };
2346
+ requestBody: {
2347
+ content: {
2348
+ "application/json": components["schemas"]["WebShellChangeModelRequest"];
2349
+ };
2350
+ };
2351
+ responses: {
2352
+ /** @description The admitted model selection, or the same original result on replay. */
2353
+ 200: {
2354
+ headers: {
2355
+ [name: string]: unknown;
2356
+ };
2357
+ content: {
2358
+ "application/json": components["schemas"]["WebShellModelChangeResult"];
2359
+ };
2360
+ };
2361
+ 400: components["responses"]["BadRequest"];
2362
+ 401: components["responses"]["Unauthorized"];
2363
+ 403: components["responses"]["Forbidden"];
2364
+ 404: components["responses"]["NotFound"];
2365
+ 409: components["responses"]["Conflict"];
2366
+ 413: components["responses"]["PayloadTooLarge"];
2367
+ };
2368
+ };
2369
+ queryWebShellSessionApproval: {
2370
+ parameters: {
2371
+ query?: never;
2372
+ header?: never;
2373
+ path?: never;
2374
+ cookie?: never;
2375
+ };
2376
+ requestBody: {
2377
+ content: {
2378
+ "application/json": components["schemas"]["WebShellSessionApprovalRequest"];
2379
+ };
2380
+ };
2381
+ responses: {
2382
+ /** @description The current policy options. */
2383
+ 200: {
2384
+ headers: {
2385
+ [name: string]: unknown;
2386
+ };
2387
+ content: {
2388
+ "application/json": components["schemas"]["WebShellSessionApproval"];
2389
+ };
2390
+ };
2391
+ 400: components["responses"]["BadRequest"];
2392
+ 401: components["responses"]["Unauthorized"];
2393
+ 403: components["responses"]["Forbidden"];
2394
+ 404: components["responses"]["NotFound"];
2395
+ 409: components["responses"]["Conflict"];
2396
+ 413: components["responses"]["PayloadTooLarge"];
2397
+ };
2398
+ };
2399
+ changeWebShellSessionApproval: {
2400
+ parameters: {
2401
+ query?: never;
2402
+ header?: never;
2403
+ path?: never;
2404
+ cookie?: never;
2405
+ };
2406
+ requestBody: {
2407
+ content: {
2408
+ "application/json": components["schemas"]["WebShellChangeApprovalRequest"];
2409
+ };
2410
+ };
2411
+ responses: {
2412
+ /** @description The committed approval selection, or its original receipt on replay. */
2413
+ 200: {
2414
+ headers: {
2415
+ [name: string]: unknown;
2416
+ };
2417
+ content: {
2418
+ "application/json": components["schemas"]["WebShellApprovalChangeResult"];
2419
+ };
2420
+ };
2421
+ 400: components["responses"]["BadRequest"];
2422
+ 401: components["responses"]["Unauthorized"];
2423
+ 403: components["responses"]["Forbidden"];
2424
+ 404: components["responses"]["NotFound"];
2425
+ 409: components["responses"]["Conflict"];
2426
+ 413: components["responses"]["PayloadTooLarge"];
2427
+ };
2428
+ };
2038
2429
  }
@@ -52,6 +52,10 @@ export declare class JavaManagedAgentClient {
52
52
  canCreateSession: boolean;
53
53
  state: "active" | "draining" | "removed";
54
54
  }>;
55
+ createWorkspace(request: Schemas['WebShellWorkspaceCreateRequest'], signal?: AbortSignal): Promise<JavaAgentWorkspace>;
56
+ getSessionApproval(sessionId: string, signal?: AbortSignal): Promise<Schemas['WebShellSessionApproval']>;
57
+ changeApproval(request: Schemas['WebShellChangeApprovalRequest'], signal?: AbortSignal): Promise<Schemas['WebShellApprovalChangeResult']>;
58
+ getSessionOptions(agentId: string, signal?: AbortSignal): Promise<Schemas['WebShellSessionOptions']>;
55
59
  getTranscript(request: Schemas['WebShellTranscriptRequest'], signal?: AbortSignal): Promise<JavaAgentTranscript>;
56
60
  createSession(request: Schemas['WebShellCreateRequest'], signal?: AbortSignal): Promise<JavaAgentCommandAdmission>;
57
61
  submitTurn(request: Schemas['WebShellSubmitRequest'], signal?: AbortSignal): Promise<JavaAgentCommandAdmission>;
@@ -98,6 +102,16 @@ export declare class JavaManagedAgentClient {
98
102
  /** Reads an operation's latest durable status; polling is not a replay. */
99
103
  queryOperation(request: Schemas['WebShellOperationRequest'], signal?: AbortSignal): Promise<Schemas['WebShellOperation']>;
100
104
  changeCwd(request: Schemas['WebShellChangeCwdRequest'], signal?: AbortSignal): Promise<Schemas['WebShellCwdOperation']>;
105
+ getSessionModels(sessionId: string, signal?: AbortSignal): Promise<{
106
+ models: components["schemas"]["WebShellModelOption"][];
107
+ modelSelection: components["schemas"]["WebShellModelSelection"];
108
+ supported: boolean;
109
+ }>;
110
+ changeModel(request: Schemas['WebShellChangeModelRequest'], signal?: AbortSignal): Promise<{
111
+ sessionId: string;
112
+ modelSelection: components["schemas"]["WebShellModelSelection"];
113
+ replayed: boolean;
114
+ }>;
101
115
  getToolResult(sessionId: string, itemId: string, signal?: AbortSignal): Promise<{
102
116
  result: components["schemas"]["PublicToolResult"];
103
117
  access: components["schemas"]["ArtifactAccess"];
@@ -2,9 +2,53 @@ import type { components } from './generated/managed-agent-api';
2
2
  import type { ManagedToolResultReader } from './managed-tool-result-types';
3
3
  export type ManagedAgentSessionPhase = 'created' | 'admitted' | 'runtime_starting' | 'agent_running' | 'waiting_runtime' | 'tool_running' | 'cancelling' | 'completed' | 'failed' | 'cancelled';
4
4
  export type ManagedAgentRuntimeState = 'unknown' | 'starting' | 'ready' | 'failed';
5
+ export type ManagedApprovalMode = 'default' | 'auto-edit' | 'yolo';
6
+ export declare function isManagedApprovalMode(value: unknown): value is ManagedApprovalMode;
7
+ export interface ManagedSessionOptions {
8
+ approvalMode: ManagedApprovalMode;
9
+ availableApprovalModes: ManagedApprovalMode[];
10
+ }
11
+ export interface ManagedSessionApproval extends ManagedSessionOptions {
12
+ approvalRevision: number;
13
+ supported: boolean;
14
+ }
15
+ export interface ManagedApprovalChangeResult {
16
+ sessionId: string;
17
+ approvalMode: ManagedApprovalMode;
18
+ approvalRevision: number;
19
+ replayed: boolean;
20
+ }
21
+ export interface ManagedModelContext {
22
+ modelId: string;
23
+ inputTokens?: number;
24
+ contextWindowSize?: number;
25
+ observedAt: number;
26
+ }
27
+ export interface ManagedModelSelection {
28
+ modelId?: string;
29
+ revision: number;
30
+ }
31
+ export interface ManagedSessionModels {
32
+ models: {
33
+ modelId: string;
34
+ label: string;
35
+ }[];
36
+ modelSelection: ManagedModelSelection;
37
+ supported: boolean;
38
+ }
39
+ export interface ManagedModelChangeResult {
40
+ sessionId: string;
41
+ modelSelection: ManagedModelSelection;
42
+ replayed: boolean;
43
+ }
5
44
  export interface ManagedAgentSessionSummary {
6
45
  sessionId: string;
7
46
  agentId?: string;
47
+ approvalMode?: ManagedApprovalMode;
48
+ initialApprovalMode?: ManagedApprovalMode;
49
+ approvalRevision?: number;
50
+ modelContext?: ManagedModelContext;
51
+ modelSelection?: ManagedModelSelection;
8
52
  activeTurnId?: string;
9
53
  title: string;
10
54
  workspaceCwd?: string;
@@ -29,6 +73,8 @@ export interface ManagedAgentSessionSummary {
29
73
  /** The caller may submit later Turns to this Workspace-bound Session. */
30
74
  workspaceTurns?: boolean;
31
75
  cwdChange?: boolean;
76
+ modelChange?: boolean;
77
+ approvalModeChange?: boolean;
32
78
  };
33
79
  failure?: {
34
80
  code: string;
@@ -124,6 +170,22 @@ export interface ManagedAgentProvider {
124
170
  }, options: ManagedAgentCommandOptions): Promise<ManagedCwdOperation>;
125
171
  query(sessionId: string, operationId: string, options: ManagedAgentRequestOptions): Promise<ManagedCwdOperation>;
126
172
  };
173
+ readonly approvalChange?: {
174
+ queryOptions(sessionId: string, options: ManagedAgentRequestOptions): Promise<ManagedSessionApproval>;
175
+ submit(sessionId: string, request: {
176
+ approvalMode: ManagedApprovalMode;
177
+ expectedRevision: number;
178
+ }, options: ManagedAgentCommandOptions & {
179
+ requestId: string;
180
+ }): Promise<ManagedApprovalChangeResult>;
181
+ };
182
+ readonly modelChange?: {
183
+ queryOptions(sessionId: string, options: ManagedAgentRequestOptions): Promise<ManagedSessionModels>;
184
+ submit(sessionId: string, request: {
185
+ modelId: string;
186
+ expectedRevision: number;
187
+ }, options: ManagedAgentCommandOptions): Promise<ManagedModelChangeResult>;
188
+ };
127
189
  readonly workspaceBinding?: {
128
190
  readonly agentId: string;
129
191
  /** Host-published model-specific AgentDefinitions available for new Sessions. */
@@ -139,12 +201,19 @@ export interface ManagedAgentProvider {
139
201
  defaultWorkspace?: ManagedAgentWorkspace | null;
140
202
  nextCursor?: string;
141
203
  supported: boolean;
204
+ canCreateWorkspace?: boolean;
205
+ supportsApprovalModeSelection?: boolean;
142
206
  }>;
143
207
  get(workspaceId: string, options: ManagedAgentRequestOptions): Promise<ManagedAgentWorkspace>;
208
+ createWorkspace?(request: {
209
+ displayName: string;
210
+ }, options: ManagedAgentCommandOptions): Promise<ManagedAgentWorkspace>;
211
+ getSessionOptions?(agentId: string, options: ManagedAgentRequestOptions): Promise<ManagedSessionOptions>;
144
212
  createEmpty(request: {
145
213
  agentId: string;
146
214
  workspaceId: string;
147
215
  cwdRelative: string;
216
+ approvalMode?: ManagedApprovalMode;
148
217
  }, options: ManagedAgentCommandOptions): Promise<{
149
218
  sessionId: string;
150
219
  }>;
@@ -153,6 +222,7 @@ export interface ManagedAgentProvider {
153
222
  workspaceId: string;
154
223
  cwdRelative: string;
155
224
  text: string;
225
+ approvalMode?: ManagedApprovalMode;
156
226
  }, options: ManagedAgentCommandOptions): Promise<{
157
227
  sessionId: string;
158
228
  }>;
@@ -1,6 +1,6 @@
1
1
  export declare function managedRequestId(): string;
2
2
  export declare function getManagedClientId(baseUrl: string): string;
3
- export declare function managedSelectionFromUrl(): {
3
+ export declare function managedSelectionFromUrl(defaultOpen?: boolean): {
4
4
  open: boolean;
5
5
  sessionId?: string;
6
6
  };
@@ -0,0 +1,24 @@
1
+ import type { ManagedAgentProvider, ManagedApprovalMode, ManagedAgentSessionSummary, ManagedSessionApproval } from './managed-agent-provider';
2
+ interface ApprovalIntent {
3
+ sessionId: string;
4
+ approvalMode: ManagedApprovalMode;
5
+ expectedRevision: number;
6
+ idempotencyKey: string;
7
+ requestId: string;
8
+ }
9
+ export declare function useManagedApprovalChange(provider: ManagedAgentProvider, clientId: string, sessionId: string | undefined, summary: ManagedAgentSessionSummary | undefined, refreshSummary: (signal?: AbortSignal) => Promise<ManagedAgentSessionSummary | undefined>, interactive: boolean): {
10
+ options: ManagedSessionApproval | undefined;
11
+ optionsLoading: boolean;
12
+ optionsError: boolean;
13
+ supported: boolean;
14
+ blocked: boolean;
15
+ submit: (approvalMode: ManagedApprovalMode) => Promise<true | undefined>;
16
+ confirm: () => Promise<true | undefined>;
17
+ reloadOptions: () => void;
18
+ isBlocked: () => boolean;
19
+ key: string;
20
+ pending?: ApprovalIntent;
21
+ busy: boolean;
22
+ errorCode?: string;
23
+ };
24
+ export {};
@@ -0,0 +1,23 @@
1
+ import type { ManagedAgentProvider, ManagedAgentSessionSummary, ManagedSessionModels } from './managed-agent-provider';
2
+ interface ModelIntent {
3
+ sessionId: string;
4
+ modelId: string;
5
+ expectedRevision: number;
6
+ idempotencyKey: string;
7
+ }
8
+ export declare function useManagedModelChange(provider: ManagedAgentProvider, clientId: string, sessionId: string | undefined, summary: ManagedAgentSessionSummary | undefined, refreshSummary: (signal?: AbortSignal) => Promise<ManagedAgentSessionSummary | undefined>, interactive: boolean): {
9
+ options: ManagedSessionModels | undefined;
10
+ optionsLoading: boolean;
11
+ optionsError: boolean;
12
+ supported: boolean;
13
+ blocked: boolean;
14
+ submit: (modelId: string) => Promise<true | undefined>;
15
+ confirm: () => Promise<true | undefined>;
16
+ reloadOptions: () => void;
17
+ isBlocked: () => boolean;
18
+ key: string;
19
+ pending?: ModelIntent;
20
+ busy: boolean;
21
+ errorCode?: string;
22
+ };
23
+ export {};
@@ -135,6 +135,9 @@ interface WebShellSidebarProps {
135
135
  lockedWorkspace?: WebShellSidebarLockedWorkspace;
136
136
  branding?: false | WebShellSidebarBranding;
137
137
  primaryNav?: WebShellSidebarPrimaryNavOptions;
138
+ /** Replace daemon history with navigation owned by an external session provider. */
139
+ sessionContent?: ReactNode;
140
+ sessionHeader?: ReactNode;
138
141
  /** Whether to show the Tasks/Channels session-source switch. Defaults to true. */
139
142
  showSessionSourceSwitch?: boolean;
140
143
  /** Show Live conversations and, in rail layout, the Live entry. Defaults to false. */
@@ -162,4 +165,4 @@ interface WebShellSidebarProps {
162
165
  onLoadStandaloneSession?: (sessionId: string) => Promise<void> | void;
163
166
  onStandaloneNotice?: (message: string) => void;
164
167
  }
165
- export declare function WebShellSidebar({ collapsed, layout, activePage, containerWidth, onOpenHome, onCollapsedChange, onOpenSettings, onOpenAgents, onOpenPlugins, onOpenChannels, onOpenLive, onLiveVoiceSlotChange, onOpenManagedSessions, onOpenDaemonStatus, onOpenScheduledTasks, onOpenWorkflows, onOpenGoals, onOpenSessions, canOpenSessionsOverview, onOpenWorkspacesOverview, onOpenSplitView, canOpenSplitView, onNewSession, onNewStandaloneSession, onLoadSession, onOpenHostSession, onSelectCurrentSession, onSessionRenameConfirmed, onSessionsDeleted, onError, theme, onThemeChange, mobileOpen, onMobileClose, selectedWorkspaceCwd, onSelectWorkspace, onOpenGitDiff, onOpenCommit, onOpenAddWorkspace, workspaces: providedWorkspaces, lockedWorkspaceCwd, lockedWorkspace: lockedWorkspaceOptions, branding, primaryNav: primaryNavOptions, showSessionSourceSwitch, showLive, hideProjectHeader, sessionActions: sessionActionsOptions, footer, workspaceOverview, onOpenWorkspaceManagement, onNewWorktreeSession, projectFeaturesEnabled, onLoadStandaloneSession, onStandaloneNotice, }: WebShellSidebarProps): import("react/jsx-runtime").JSX.Element;
168
+ export declare function WebShellSidebar({ collapsed, layout, activePage, containerWidth, onOpenHome, onCollapsedChange, onOpenSettings, onOpenAgents, onOpenPlugins, onOpenChannels, onOpenLive, onLiveVoiceSlotChange, onOpenManagedSessions, onOpenDaemonStatus, onOpenScheduledTasks, onOpenWorkflows, onOpenGoals, onOpenSessions, canOpenSessionsOverview, onOpenWorkspacesOverview, onOpenSplitView, canOpenSplitView, onNewSession, onNewStandaloneSession, onLoadSession, onOpenHostSession, onSelectCurrentSession, onSessionRenameConfirmed, onSessionsDeleted, onError, theme, onThemeChange, mobileOpen, onMobileClose, selectedWorkspaceCwd, onSelectWorkspace, onOpenGitDiff, onOpenCommit, onOpenAddWorkspace, workspaces: providedWorkspaces, lockedWorkspaceCwd, lockedWorkspace: lockedWorkspaceOptions, branding, primaryNav: primaryNavOptions, sessionContent, sessionHeader, showSessionSourceSwitch, showLive, hideProjectHeader, sessionActions: sessionActionsOptions, footer, workspaceOverview, onOpenWorkspaceManagement, onNewWorktreeSession, projectFeaturesEnabled, onLoadStandaloneSession, onStandaloneNotice, }: WebShellSidebarProps): import("react/jsx-runtime").JSX.Element;
@@ -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?: "success" | "default" | "destructive" | null | undefined;
4
+ variant?: "default" | "success" | "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;