@jupyterlab/services-extension 0.9.0 → 4.4.0-beta.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.
package/lib/index.d.ts CHANGED
@@ -1,7 +1,12 @@
1
- import { IServiceManager } from '@jupyterlab/services';
2
- import { JupyterLabPlugin } from '@jupyterlab/application';
3
1
  /**
4
- * The default services provider.
2
+ * @packageDocumentation
3
+ * @module services-extension
5
4
  */
6
- declare const plugin: JupyterLabPlugin<IServiceManager>;
7
- export default plugin;
5
+ import { Contents, Event, IConnectionStatus, Kernel, KernelSpec, NbConvert, ServerConnection, ServiceManager, ServiceManagerPlugin, Session, Setting, Terminal, User, Workspace } from '@jupyterlab/services';
6
+ import type { IPlugin } from '@lumino/coreutils';
7
+ /**
8
+ * The default connection status provider.
9
+ */
10
+ export declare const connectionStatus: IPlugin<null, IConnectionStatus>;
11
+ declare const _default: (ServiceManagerPlugin<Contents.IManager> | ServiceManagerPlugin<Contents.IDrive> | ServiceManagerPlugin<Event.IManager> | ServiceManagerPlugin<Kernel.IManager> | ServiceManagerPlugin<KernelSpec.IManager> | ServiceManagerPlugin<NbConvert.IManager> | ServiceManagerPlugin<Session.IManager> | ServiceManagerPlugin<Setting.IManager> | ServiceManagerPlugin<Terminal.IManager> | ServiceManagerPlugin<User.IManager> | ServiceManagerPlugin<Workspace.IManager> | ServiceManagerPlugin<ServerConnection.ISettings> | ServiceManagerPlugin<ServiceManager.IManager>)[];
12
+ export default _default;
package/lib/index.js CHANGED
@@ -1,17 +1,240 @@
1
- "use strict";
2
- // Copyright (c) Jupyter Development Team.
3
- // Distributed under the terms of the Modified BSD License.
4
- Object.defineProperty(exports, "__esModule", { value: true });
5
- var services_1 = require("@jupyterlab/services");
1
+ /* -----------------------------------------------------------------------------
2
+ | Copyright (c) Jupyter Development Team.
3
+ | Distributed under the terms of the Modified BSD License.
4
+ |----------------------------------------------------------------------------*/
6
5
  /**
7
- * The default services provider.
6
+ * @packageDocumentation
7
+ * @module services-extension
8
8
  */
9
- var plugin = {
10
- id: 'jupyter.services.services',
11
- provides: services_1.IServiceManager,
12
- activate: function () { return new services_1.ServiceManager(); }
9
+ import { ConnectionStatus, ContentsManager, Drive, EventManager, IConnectionStatus, IContentsManager, IDefaultDrive, IEventManager, IKernelManager, IKernelSpecManager, INbConvertManager, IServerSettings, IServiceManager, ISessionManager, ISettingManager, ITerminalManager, IUserManager, IWorkspaceManager, KernelManager, KernelSpecManager, NbConvertManager, ServerConnection, ServiceManager, SessionManager, SettingManager, TerminalManager, UserManager, WorkspaceManager } from '@jupyterlab/services';
10
+ /**
11
+ * The default connection status provider.
12
+ */
13
+ export const connectionStatus = {
14
+ id: '@jupyterlab/services-extension:connection-status',
15
+ autoStart: true,
16
+ provides: IConnectionStatus,
17
+ description: 'Provides the default connection status.',
18
+ activate: () => {
19
+ return new ConnectionStatus();
20
+ }
21
+ };
22
+ /**
23
+ * The default contents manager plugin.
24
+ */
25
+ const contentsManagerPlugin = {
26
+ id: '@jupyterlab/services-extension:contents-manager',
27
+ description: 'The default contents manager plugin.',
28
+ autoStart: true,
29
+ provides: IContentsManager,
30
+ requires: [IDefaultDrive, IServerSettings],
31
+ activate: (_, defaultDrive, serverSettings) => {
32
+ return new ContentsManager({
33
+ defaultDrive,
34
+ serverSettings
35
+ });
36
+ }
37
+ };
38
+ /**
39
+ * The default drive plugin.
40
+ */
41
+ const defaultDrivePlugin = {
42
+ id: '@jupyterlab/services-extension:default-drive',
43
+ description: 'The default drive for the contents manager.',
44
+ autoStart: true,
45
+ provides: IDefaultDrive,
46
+ optional: [IServerSettings],
47
+ activate: (_, serverSettings) => {
48
+ return new Drive({ serverSettings: serverSettings !== null && serverSettings !== void 0 ? serverSettings : undefined });
49
+ }
50
+ };
51
+ /**
52
+ * The event manager plugin.
53
+ */
54
+ const eventManagerPlugin = {
55
+ id: '@jupyterlab/services-extension:event-manager',
56
+ description: 'The event manager plugin.',
57
+ autoStart: true,
58
+ provides: IEventManager,
59
+ optional: [IServerSettings],
60
+ activate: (_, serverSettings) => {
61
+ return new EventManager({ serverSettings });
62
+ }
63
+ };
64
+ /**
65
+ * The kernel manager plugin.
66
+ */
67
+ const kernelManagerPlugin = {
68
+ id: '@jupyterlab/services-extension:kernel-manager',
69
+ description: 'The kernel manager plugin.',
70
+ autoStart: true,
71
+ provides: IKernelManager,
72
+ optional: [IServerSettings],
73
+ activate: (_, serverSettings) => {
74
+ return new KernelManager({ serverSettings });
75
+ }
76
+ };
77
+ /**
78
+ * The kernel spec manager plugin.
79
+ */
80
+ const kernelSpecManagerPlugin = {
81
+ id: '@jupyterlab/services-extension:kernel-spec-manager',
82
+ description: 'The kernel spec manager plugin.',
83
+ autoStart: true,
84
+ provides: IKernelSpecManager,
85
+ optional: [IServerSettings],
86
+ activate: (_, serverSettings) => {
87
+ return new KernelSpecManager({ serverSettings });
88
+ }
89
+ };
90
+ /**
91
+ * The nbconvert manager plugin.
92
+ */
93
+ const nbConvertManagerPlugin = {
94
+ id: '@jupyterlab/services-extension:nbconvert-manager',
95
+ description: 'The nbconvert manager plugin.',
96
+ autoStart: true,
97
+ provides: INbConvertManager,
98
+ optional: [IServerSettings],
99
+ activate: (_, serverSettings) => {
100
+ return new NbConvertManager({ serverSettings });
101
+ }
13
102
  };
14
103
  /**
15
- * Export the plugin as default.
104
+ * The session manager plugin.
16
105
  */
17
- exports.default = plugin;
106
+ const sessionManagerPlugin = {
107
+ id: '@jupyterlab/services-extension:session-manager',
108
+ description: 'The session manager plugin.',
109
+ autoStart: true,
110
+ provides: ISessionManager,
111
+ requires: [IKernelManager],
112
+ optional: [IServerSettings],
113
+ activate: (_, kernelManager, serverSettings) => {
114
+ return new SessionManager({ kernelManager, serverSettings });
115
+ }
116
+ };
117
+ /**
118
+ * The setting manager plugin.
119
+ */
120
+ const settingManagerPlugin = {
121
+ id: '@jupyterlab/services-extension:setting-manager',
122
+ description: 'The setting manager plugin.',
123
+ autoStart: true,
124
+ provides: ISettingManager,
125
+ optional: [IServerSettings],
126
+ activate: (_, serverSettings) => {
127
+ return new SettingManager({ serverSettings });
128
+ }
129
+ };
130
+ /**
131
+ * The terminal manager plugin.
132
+ */
133
+ const terminalManagerPlugin = {
134
+ id: '@jupyterlab/services-extension:terminal-manager',
135
+ description: 'The terminal manager plugin.',
136
+ autoStart: true,
137
+ provides: ITerminalManager,
138
+ optional: [IServerSettings],
139
+ activate: (_, serverSettings) => {
140
+ return new TerminalManager({ serverSettings });
141
+ }
142
+ };
143
+ /**
144
+ * The user manager plugin.
145
+ */
146
+ const userManagerPlugin = {
147
+ id: '@jupyterlab/services-extension:user-manager',
148
+ description: 'The user manager plugin.',
149
+ autoStart: true,
150
+ provides: IUserManager,
151
+ optional: [IServerSettings],
152
+ activate: (_, serverSettings) => {
153
+ return new UserManager({ serverSettings });
154
+ }
155
+ };
156
+ /**
157
+ * The workspace manager plugin.
158
+ */
159
+ const workspaceManagerPlugin = {
160
+ id: '@jupyterlab/services-extension:workspace-manager',
161
+ description: 'The workspace manager plugin.',
162
+ autoStart: true,
163
+ provides: IWorkspaceManager,
164
+ optional: [IServerSettings],
165
+ activate: (_, serverSettings) => {
166
+ return new WorkspaceManager({ serverSettings });
167
+ }
168
+ };
169
+ /**
170
+ * The default server settings plugin.
171
+ */
172
+ const serverSettingsPlugin = {
173
+ id: '@jupyterlab/services-extension:server-settings',
174
+ description: 'The default server settings plugin.',
175
+ autoStart: true,
176
+ provides: IServerSettings,
177
+ activate: (_) => {
178
+ return ServerConnection.makeSettings();
179
+ }
180
+ };
181
+ /**
182
+ * Instantiate a new service manager.
183
+ */
184
+ const serviceManagerPlugin = {
185
+ id: '@jupyterlab/services-extension:service-manager',
186
+ description: 'The default service manager plugin.',
187
+ autoStart: true,
188
+ provides: IServiceManager,
189
+ // Builder is not exposed as a plugin since it is now deprecated.
190
+ optional: [
191
+ IConnectionStatus,
192
+ IContentsManager,
193
+ IDefaultDrive,
194
+ IServerSettings,
195
+ IEventManager,
196
+ IKernelManager,
197
+ IKernelSpecManager,
198
+ INbConvertManager,
199
+ ISessionManager,
200
+ ISettingManager,
201
+ ITerminalManager,
202
+ IUserManager,
203
+ IWorkspaceManager
204
+ ],
205
+ activate: (_, connectionStatus, contents, defaultDrive, serverSettings, events, kernels, kernelspecs, nbconvert, sessions, settings, terminals, user, workspaces) => {
206
+ return new ServiceManager({
207
+ standby: () => {
208
+ return !(connectionStatus === null || connectionStatus === void 0 ? void 0 : connectionStatus.isConnected) || 'when-hidden';
209
+ },
210
+ contents,
211
+ defaultDrive,
212
+ serverSettings,
213
+ events,
214
+ kernels,
215
+ kernelspecs,
216
+ nbconvert,
217
+ sessions,
218
+ settings,
219
+ terminals,
220
+ user,
221
+ workspaces
222
+ });
223
+ }
224
+ };
225
+ export default [
226
+ contentsManagerPlugin,
227
+ defaultDrivePlugin,
228
+ eventManagerPlugin,
229
+ kernelManagerPlugin,
230
+ kernelSpecManagerPlugin,
231
+ nbConvertManagerPlugin,
232
+ sessionManagerPlugin,
233
+ settingManagerPlugin,
234
+ serverSettingsPlugin,
235
+ serviceManagerPlugin,
236
+ terminalManagerPlugin,
237
+ userManagerPlugin,
238
+ workspaceManagerPlugin
239
+ ];
240
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,40 +1,56 @@
1
1
  {
2
2
  "name": "@jupyterlab/services-extension",
3
- "version": "0.9.0",
3
+ "version": "4.4.0-beta.0",
4
4
  "description": "JupyterLab - Services Extension",
5
+ "homepage": "https://github.com/jupyterlab/jupyterlab",
6
+ "bugs": {
7
+ "url": "https://github.com/jupyterlab/jupyterlab/issues"
8
+ },
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "https://github.com/jupyterlab/jupyterlab.git"
12
+ },
13
+ "license": "BSD-3-Clause",
14
+ "author": "Project Jupyter",
15
+ "sideEffects": [
16
+ "style/**/*"
17
+ ],
5
18
  "main": "lib/index.js",
6
19
  "types": "lib/index.d.ts",
7
- "files": [
8
- "lib/*.d.ts",
9
- "lib/*.js"
10
- ],
11
20
  "directories": {
12
21
  "lib": "lib/"
13
22
  },
23
+ "files": [
24
+ "lib/**/*.{d.ts,eot,gif,html,jpg,js,js.map,json,png,svg,woff2,ttf}",
25
+ "schema/*.json",
26
+ "style/**/*.{css,eot,gif,html,jpg,json,png,svg,woff2,ttf}",
27
+ "src/**/*.{ts,tsx}",
28
+ "style/index.js"
29
+ ],
30
+ "scripts": {
31
+ "build": "tsc -b",
32
+ "build:test": "tsc --build tsconfig.test.json",
33
+ "clean": "rimraf lib tsconfig.tsbuildinfo",
34
+ "test": "jest",
35
+ "test:cov": "jest --collect-coverage",
36
+ "test:debug": "node --inspect-brk ../../node_modules/.bin/jest --runInBand",
37
+ "test:debug:watch": "node --inspect-brk ../../node_modules/.bin/jest --runInBand --watch",
38
+ "watch": "tsc -b --watch"
39
+ },
14
40
  "dependencies": {
15
- "@jupyterlab/application": "^0.9.0",
16
- "@jupyterlab/services": "^0.48.0"
41
+ "@jupyterlab/services": "^7.4.0-beta.0",
42
+ "@lumino/coreutils": "^2.2.0"
17
43
  },
18
44
  "devDependencies": {
19
- "rimraf": "^2.5.2",
20
- "typescript": "~2.4.1"
45
+ "@jupyterlab/testing": "^4.4.0-beta.0",
46
+ "@types/jest": "^29.2.0",
47
+ "rimraf": "~5.0.5",
48
+ "typescript": "~5.5.4"
21
49
  },
22
- "scripts": {
23
- "build": "tsc",
24
- "clean": "rimraf lib",
25
- "watch": "tsc -w"
50
+ "publishConfig": {
51
+ "access": "public"
26
52
  },
27
53
  "jupyterlab": {
28
54
  "extension": true
29
- },
30
- "repository": {
31
- "type": "git",
32
- "url": "https://github.com/jupyterlab/jupyterlab.git"
33
- },
34
- "author": "Project Jupyter",
35
- "license": "BSD-3-Clause",
36
- "bugs": {
37
- "url": "https://github.com/jupyterlab/jupyterlab/issues"
38
- },
39
- "homepage": "https://github.com/jupyterlab/jupyterlab"
55
+ }
40
56
  }
package/src/index.ts ADDED
@@ -0,0 +1,347 @@
1
+ /* -----------------------------------------------------------------------------
2
+ | Copyright (c) Jupyter Development Team.
3
+ | Distributed under the terms of the Modified BSD License.
4
+ |----------------------------------------------------------------------------*/
5
+ /**
6
+ * @packageDocumentation
7
+ * @module services-extension
8
+ */
9
+
10
+ import {
11
+ ConnectionStatus,
12
+ Contents,
13
+ ContentsManager,
14
+ Drive,
15
+ Event,
16
+ EventManager,
17
+ IConnectionStatus,
18
+ IContentsManager,
19
+ IDefaultDrive,
20
+ IEventManager,
21
+ IKernelManager,
22
+ IKernelSpecManager,
23
+ INbConvertManager,
24
+ IServerSettings,
25
+ IServiceManager,
26
+ ISessionManager,
27
+ ISettingManager,
28
+ ITerminalManager,
29
+ IUserManager,
30
+ IWorkspaceManager,
31
+ Kernel,
32
+ KernelManager,
33
+ KernelSpec,
34
+ KernelSpecManager,
35
+ NbConvert,
36
+ NbConvertManager,
37
+ ServerConnection,
38
+ ServiceManager,
39
+ ServiceManagerPlugin,
40
+ Session,
41
+ SessionManager,
42
+ Setting,
43
+ SettingManager,
44
+ Terminal,
45
+ TerminalManager,
46
+ User,
47
+ UserManager,
48
+ Workspace,
49
+ WorkspaceManager
50
+ } from '@jupyterlab/services';
51
+
52
+ import type { IPlugin } from '@lumino/coreutils';
53
+
54
+ /**
55
+ * The default connection status provider.
56
+ */
57
+ export const connectionStatus: IPlugin<null, IConnectionStatus> = {
58
+ id: '@jupyterlab/services-extension:connection-status',
59
+ autoStart: true,
60
+ provides: IConnectionStatus,
61
+ description: 'Provides the default connection status.',
62
+ activate: () => {
63
+ return new ConnectionStatus();
64
+ }
65
+ };
66
+
67
+ /**
68
+ * The default contents manager plugin.
69
+ */
70
+ const contentsManagerPlugin: ServiceManagerPlugin<Contents.IManager> = {
71
+ id: '@jupyterlab/services-extension:contents-manager',
72
+ description: 'The default contents manager plugin.',
73
+ autoStart: true,
74
+ provides: IContentsManager,
75
+ requires: [IDefaultDrive, IServerSettings],
76
+ activate: (
77
+ _: null,
78
+ defaultDrive: Contents.IDrive,
79
+ serverSettings: ServerConnection.ISettings
80
+ ): Contents.IManager => {
81
+ return new ContentsManager({
82
+ defaultDrive,
83
+ serverSettings
84
+ });
85
+ }
86
+ };
87
+
88
+ /**
89
+ * The default drive plugin.
90
+ */
91
+ const defaultDrivePlugin: ServiceManagerPlugin<Contents.IDrive> = {
92
+ id: '@jupyterlab/services-extension:default-drive',
93
+ description: 'The default drive for the contents manager.',
94
+ autoStart: true,
95
+ provides: IDefaultDrive,
96
+ optional: [IServerSettings],
97
+ activate: (
98
+ _: null,
99
+ serverSettings: ServerConnection.ISettings | null
100
+ ): Contents.IDrive => {
101
+ return new Drive({ serverSettings: serverSettings ?? undefined });
102
+ }
103
+ };
104
+
105
+ /**
106
+ * The event manager plugin.
107
+ */
108
+ const eventManagerPlugin: ServiceManagerPlugin<Event.IManager> = {
109
+ id: '@jupyterlab/services-extension:event-manager',
110
+ description: 'The event manager plugin.',
111
+ autoStart: true,
112
+ provides: IEventManager,
113
+ optional: [IServerSettings],
114
+ activate: (
115
+ _: null,
116
+ serverSettings: ServerConnection.ISettings | undefined
117
+ ): Event.IManager => {
118
+ return new EventManager({ serverSettings });
119
+ }
120
+ };
121
+
122
+ /**
123
+ * The kernel manager plugin.
124
+ */
125
+ const kernelManagerPlugin: ServiceManagerPlugin<Kernel.IManager> = {
126
+ id: '@jupyterlab/services-extension:kernel-manager',
127
+ description: 'The kernel manager plugin.',
128
+ autoStart: true,
129
+ provides: IKernelManager,
130
+ optional: [IServerSettings],
131
+ activate: (
132
+ _: null,
133
+ serverSettings: ServerConnection.ISettings | undefined
134
+ ): Kernel.IManager => {
135
+ return new KernelManager({ serverSettings });
136
+ }
137
+ };
138
+
139
+ /**
140
+ * The kernel spec manager plugin.
141
+ */
142
+ const kernelSpecManagerPlugin: ServiceManagerPlugin<KernelSpec.IManager> = {
143
+ id: '@jupyterlab/services-extension:kernel-spec-manager',
144
+ description: 'The kernel spec manager plugin.',
145
+ autoStart: true,
146
+ provides: IKernelSpecManager,
147
+ optional: [IServerSettings],
148
+ activate: (
149
+ _: null,
150
+ serverSettings: ServerConnection.ISettings | undefined
151
+ ): KernelSpec.IManager => {
152
+ return new KernelSpecManager({ serverSettings });
153
+ }
154
+ };
155
+
156
+ /**
157
+ * The nbconvert manager plugin.
158
+ */
159
+ const nbConvertManagerPlugin: ServiceManagerPlugin<NbConvert.IManager> = {
160
+ id: '@jupyterlab/services-extension:nbconvert-manager',
161
+ description: 'The nbconvert manager plugin.',
162
+ autoStart: true,
163
+ provides: INbConvertManager,
164
+ optional: [IServerSettings],
165
+ activate: (
166
+ _: null,
167
+ serverSettings: ServerConnection.ISettings | undefined
168
+ ): NbConvert.IManager => {
169
+ return new NbConvertManager({ serverSettings });
170
+ }
171
+ };
172
+
173
+ /**
174
+ * The session manager plugin.
175
+ */
176
+ const sessionManagerPlugin: ServiceManagerPlugin<Session.IManager> = {
177
+ id: '@jupyterlab/services-extension:session-manager',
178
+ description: 'The session manager plugin.',
179
+ autoStart: true,
180
+ provides: ISessionManager,
181
+ requires: [IKernelManager],
182
+ optional: [IServerSettings],
183
+ activate: (
184
+ _: null,
185
+ kernelManager: Kernel.IManager,
186
+ serverSettings: ServerConnection.ISettings | undefined
187
+ ): Session.IManager => {
188
+ return new SessionManager({ kernelManager, serverSettings });
189
+ }
190
+ };
191
+
192
+ /**
193
+ * The setting manager plugin.
194
+ */
195
+ const settingManagerPlugin: ServiceManagerPlugin<Setting.IManager> = {
196
+ id: '@jupyterlab/services-extension:setting-manager',
197
+ description: 'The setting manager plugin.',
198
+ autoStart: true,
199
+ provides: ISettingManager,
200
+ optional: [IServerSettings],
201
+ activate: (
202
+ _: null,
203
+ serverSettings: ServerConnection.ISettings | undefined
204
+ ): Setting.IManager => {
205
+ return new SettingManager({ serverSettings });
206
+ }
207
+ };
208
+
209
+ /**
210
+ * The terminal manager plugin.
211
+ */
212
+ const terminalManagerPlugin: ServiceManagerPlugin<Terminal.IManager> = {
213
+ id: '@jupyterlab/services-extension:terminal-manager',
214
+ description: 'The terminal manager plugin.',
215
+ autoStart: true,
216
+ provides: ITerminalManager,
217
+ optional: [IServerSettings],
218
+ activate: (
219
+ _: null,
220
+ serverSettings: ServerConnection.ISettings | undefined
221
+ ): Terminal.IManager => {
222
+ return new TerminalManager({ serverSettings });
223
+ }
224
+ };
225
+
226
+ /**
227
+ * The user manager plugin.
228
+ */
229
+ const userManagerPlugin: ServiceManagerPlugin<User.IManager> = {
230
+ id: '@jupyterlab/services-extension:user-manager',
231
+ description: 'The user manager plugin.',
232
+ autoStart: true,
233
+ provides: IUserManager,
234
+ optional: [IServerSettings],
235
+ activate: (
236
+ _: null,
237
+ serverSettings: ServerConnection.ISettings | undefined
238
+ ): User.IManager => {
239
+ return new UserManager({ serverSettings });
240
+ }
241
+ };
242
+
243
+ /**
244
+ * The workspace manager plugin.
245
+ */
246
+ const workspaceManagerPlugin: ServiceManagerPlugin<Workspace.IManager> = {
247
+ id: '@jupyterlab/services-extension:workspace-manager',
248
+ description: 'The workspace manager plugin.',
249
+ autoStart: true,
250
+ provides: IWorkspaceManager,
251
+ optional: [IServerSettings],
252
+ activate: (
253
+ _: null,
254
+ serverSettings: ServerConnection.ISettings | undefined
255
+ ): Workspace.IManager => {
256
+ return new WorkspaceManager({ serverSettings });
257
+ }
258
+ };
259
+
260
+ /**
261
+ * The default server settings plugin.
262
+ */
263
+ const serverSettingsPlugin: ServiceManagerPlugin<ServerConnection.ISettings> = {
264
+ id: '@jupyterlab/services-extension:server-settings',
265
+ description: 'The default server settings plugin.',
266
+ autoStart: true,
267
+ provides: IServerSettings,
268
+ activate: (_: null): ServerConnection.ISettings => {
269
+ return ServerConnection.makeSettings();
270
+ }
271
+ };
272
+
273
+ /**
274
+ * Instantiate a new service manager.
275
+ */
276
+ const serviceManagerPlugin: ServiceManagerPlugin<ServiceManager.IManager> = {
277
+ id: '@jupyterlab/services-extension:service-manager',
278
+ description: 'The default service manager plugin.',
279
+ autoStart: true,
280
+ provides: IServiceManager,
281
+ // Builder is not exposed as a plugin since it is now deprecated.
282
+ optional: [
283
+ IConnectionStatus,
284
+ IContentsManager,
285
+ IDefaultDrive,
286
+ IServerSettings,
287
+ IEventManager,
288
+ IKernelManager,
289
+ IKernelSpecManager,
290
+ INbConvertManager,
291
+ ISessionManager,
292
+ ISettingManager,
293
+ ITerminalManager,
294
+ IUserManager,
295
+ IWorkspaceManager
296
+ ],
297
+ activate: (
298
+ _: null,
299
+ connectionStatus: IConnectionStatus | undefined,
300
+ contents: Contents.IManager | undefined,
301
+ defaultDrive: Contents.IDrive | undefined,
302
+ serverSettings: ServerConnection.ISettings | undefined,
303
+ events: Event.IManager | undefined,
304
+ kernels: Kernel.IManager | undefined,
305
+ kernelspecs: KernelSpec.IManager | undefined,
306
+ nbconvert: NbConvert.IManager | undefined,
307
+ sessions: Session.IManager | undefined,
308
+ settings: Setting.IManager | undefined,
309
+ terminals: Terminal.IManager | undefined,
310
+ user: User.IManager | undefined,
311
+ workspaces: Workspace.IManager | undefined
312
+ ): ServiceManager.IManager => {
313
+ return new ServiceManager({
314
+ standby: () => {
315
+ return !connectionStatus?.isConnected || 'when-hidden';
316
+ },
317
+ contents,
318
+ defaultDrive,
319
+ serverSettings,
320
+ events,
321
+ kernels,
322
+ kernelspecs,
323
+ nbconvert,
324
+ sessions,
325
+ settings,
326
+ terminals,
327
+ user,
328
+ workspaces
329
+ });
330
+ }
331
+ };
332
+
333
+ export default [
334
+ contentsManagerPlugin,
335
+ defaultDrivePlugin,
336
+ eventManagerPlugin,
337
+ kernelManagerPlugin,
338
+ kernelSpecManagerPlugin,
339
+ nbConvertManagerPlugin,
340
+ sessionManagerPlugin,
341
+ settingManagerPlugin,
342
+ serverSettingsPlugin,
343
+ serviceManagerPlugin,
344
+ terminalManagerPlugin,
345
+ userManagerPlugin,
346
+ workspaceManagerPlugin
347
+ ];