@@ -65,6 +65,9 @@ export const {
6565 provider_default : Record < string , string >
6666 provider_next : ProviderListResponse
6767 console_state : ConsoleState
68+ capabilities : {
69+ experimentalBackgroundSubagents : boolean
70+ }
6871 provider_auth : Record < string , ProviderAuthMethod [ ] >
6972 agent : Agent [ ]
7073 command : Command [ ]
@@ -107,6 +110,9 @@ export const {
107110 connected : [ ] ,
108111 } ,
109112 console_state : emptyConsoleState ,
113+ capabilities : {
114+ experimentalBackgroundSubagents : false ,
115+ } ,
110116 provider_auth : { } ,
111117 config : { } ,
112118 status : "loading" ,
@@ -434,6 +440,10 @@ export const {
434440 // blocking - include session.list when continuing a session
435441 const providersPromise = sdk . client . config . providers ( { workspace } , { throwOnError : true } )
436442 const providerListPromise = sdk . client . provider . list ( { workspace } , { throwOnError : true } )
443+ const capabilitiesPromise = sdk . client . experimental . capabilities
444+ . get ( { workspace } , { throwOnError : true } )
445+ . then ( ( x ) => x . data )
446+ . catch ( ( ) => undefined )
437447 const consoleStatePromise = sdk . client . experimental . console
438448 . get ( { workspace } , { throwOnError : true } )
439449 . then ( ( x ) => x . data )
@@ -443,6 +453,7 @@ export const {
443453 await Promise . all ( [
444454 providersPromise ,
445455 providerListPromise ,
456+ capabilitiesPromise ,
446457 agentsPromise ,
447458 configPromise ,
448459 projectPromise ,
@@ -451,6 +462,7 @@ export const {
451462 . then ( async ( ) => {
452463 const providersResponse = providersPromise . then ( ( x ) => x . data ! )
453464 const providerListResponse = providerListPromise . then ( ( x ) => x . data ! )
465+ const capabilitiesResponse = capabilitiesPromise
454466 const consoleStateResponse = consoleStatePromise
455467 const agentsResponse = agentsPromise . then ( ( x ) => x . data ?? [ ] )
456468 const configResponse = configPromise . then ( ( x ) => x . data ! )
@@ -459,22 +471,29 @@ export const {
459471 return Promise . all ( [
460472 providersResponse ,
461473 providerListResponse ,
474+ capabilitiesResponse ,
462475 consoleStateResponse ,
463476 agentsResponse ,
464477 configResponse ,
465478 ...( sessionListResponse ? [ sessionListResponse ] : [ ] ) ,
466479 ] ) . then ( ( responses ) => {
467480 const providers = responses [ 0 ]
468481 const providerList = responses [ 1 ]
469- const consoleState = responses [ 2 ]
470- const agents = responses [ 3 ]
471- const config = responses [ 4 ]
472- const sessions = responses [ 5 ]
482+ const capabilities = responses [ 2 ]
483+ const consoleState = responses [ 3 ]
484+ const agents = responses [ 4 ]
485+ const config = responses [ 5 ]
486+ const sessions = responses [ 6 ]
473487
474488 batch ( ( ) => {
475489 setStore ( "provider" , reconcile ( providers . providers ) )
476490 setStore ( "provider_default" , reconcile ( providers . default ) )
477491 setStore ( "provider_next" , reconcile ( providerList ) )
492+ setStore (
493+ "capabilities" ,
494+ "experimentalBackgroundSubagents" ,
495+ capabilities ?. backgroundSubagents === true ,
496+ )
478497 setStore ( "console_state" , reconcile ( consoleState ) )
479498 setStore ( "agent" , reconcile ( agents ) )
480499 setStore ( "config" , reconcile ( config ) )
0 commit comments