@@ -54,6 +54,7 @@ import { ContextService } from './context';
5454import { IntegrationsService } from './integrations' ;
5555import { CoreApp } from './core_app' ;
5656import type { InternalApplicationSetup , InternalApplicationStart } from './application/types' ;
57+ import { WorkspacesService } from './workspace' ;
5758
5859interface Params {
5960 rootDomElement : HTMLElement ;
@@ -110,6 +111,7 @@ export class CoreSystem {
110111
111112 private readonly rootDomElement : HTMLElement ;
112113 private readonly coreContext : CoreContext ;
114+ private readonly workspaces : WorkspacesService ;
113115 private fatalErrorsSetup : FatalErrorsSetup | null = null ;
114116
115117 constructor ( params : Params ) {
@@ -138,6 +140,7 @@ export class CoreSystem {
138140 this . rendering = new RenderingService ( ) ;
139141 this . application = new ApplicationService ( ) ;
140142 this . integrations = new IntegrationsService ( ) ;
143+ this . workspaces = new WorkspacesService ( ) ;
141144
142145 this . coreContext = { coreId : Symbol ( 'core' ) , env : injectedMetadata . env } ;
143146
@@ -160,6 +163,7 @@ export class CoreSystem {
160163 const http = this . http . setup ( { injectedMetadata, fatalErrors : this . fatalErrorsSetup } ) ;
161164 const uiSettings = this . uiSettings . setup ( { http, injectedMetadata } ) ;
162165 const notifications = this . notifications . setup ( { uiSettings } ) ;
166+ const workspaces = this . workspaces . setup ( ) ;
163167
164168 const pluginDependencies = this . plugins . getOpaqueIds ( ) ;
165169 const context = this . context . setup ( {
@@ -176,6 +180,7 @@ export class CoreSystem {
176180 injectedMetadata,
177181 notifications,
178182 uiSettings,
183+ workspaces,
179184 } ;
180185
181186 // Services that do not expose contracts at setup
@@ -220,6 +225,7 @@ export class CoreSystem {
220225 targetDomElement : notificationsTargetDomElement ,
221226 } ) ;
222227 const application = await this . application . start ( { http, overlays } ) ;
228+ const workspaces = this . workspaces . start ( { application, http } ) ;
223229 const chrome = await this . chrome . start ( {
224230 application,
225231 docLinks,
@@ -242,6 +248,7 @@ export class CoreSystem {
242248 overlays,
243249 savedObjects,
244250 uiSettings,
251+ workspaces,
245252 } ) ) ;
246253
247254 const core : InternalCoreStart = {
@@ -256,6 +263,7 @@ export class CoreSystem {
256263 overlays,
257264 uiSettings,
258265 fatalErrors,
266+ workspaces,
259267 } ;
260268
261269 await this . plugins . start ( core ) ;
0 commit comments