@jupyterlite/services-extension 0.6.0-alpha.4 → 0.6.0-alpha.6

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,5 +1,5 @@
1
- import { ConfigSection, Contents, Event, Kernel, KernelSpec, NbConvert, ServerConnection, ServiceManagerPlugin, Session, Setting, User } from '@jupyterlab/services';
1
+ import { ConfigSection, Contents, Event, Kernel, KernelSpec, NbConvert, ServiceManagerPlugin, Session, Setting, User } from '@jupyterlab/services';
2
2
  import { IKernelSpecs } from '@jupyterlite/kernel';
3
3
  import { ILocalForage } from '@jupyterlite/localforage';
4
- declare const _default: (ServiceManagerPlugin<ConfigSection.IManager> | ServiceManagerPlugin<Contents.IDrive> | ServiceManagerPlugin<Event.IManager> | ServiceManagerPlugin<Kernel.IManager> | ServiceManagerPlugin<KernelSpec.IManager> | ServiceManagerPlugin<Kernel.IKernelAPIClient> | ServiceManagerPlugin<IKernelSpecs> | ServiceManagerPlugin<ILocalForage> | ServiceManagerPlugin<NbConvert.IManager> | ServiceManagerPlugin<ServerConnection.ISettings> | ServiceManagerPlugin<Session.IManager> | ServiceManagerPlugin<Setting.IManager> | ServiceManagerPlugin<User.IManager>)[];
4
+ declare const _default: (ServiceManagerPlugin<ConfigSection.IManager> | ServiceManagerPlugin<Contents.IDrive> | ServiceManagerPlugin<Event.IManager> | ServiceManagerPlugin<Kernel.IManager> | ServiceManagerPlugin<KernelSpec.IKernelSpecAPIClient> | ServiceManagerPlugin<KernelSpec.IManager> | ServiceManagerPlugin<Kernel.IKernelAPIClient> | ServiceManagerPlugin<IKernelSpecs> | ServiceManagerPlugin<ILocalForage> | ServiceManagerPlugin<NbConvert.IManager> | ServiceManagerPlugin<Session.IManager> | ServiceManagerPlugin<Setting.IManager> | ServiceManagerPlugin<User.IManager>)[];
5
5
  export default _default;
package/lib/index.js CHANGED
@@ -1,9 +1,9 @@
1
1
  // Copyright (c) Jupyter Development Team.
2
2
  // Distributed under the terms of the Modified BSD License.
3
3
  import { PageConfig } from '@jupyterlab/coreutils';
4
- import { ConfigSection, IConfigSectionManager, IDefaultDrive, IEventManager, IKernelManager, IKernelSpecManager, INbConvertManager, IServerSettings, ISessionManager, ISettingManager, IUserManager, NbConvertManager, ServerConnection, SessionManager, UserManager, } from '@jupyterlab/services';
4
+ import { ConfigSection, IConfigSectionManager, IDefaultDrive, IEventManager, IKernelManager, IKernelSpecManager, INbConvertManager, IServerSettings, ISessionManager, ISettingManager, IUserManager, KernelManager, KernelSpecManager, NbConvertManager, ServerConnection, SessionManager, UserManager, } from '@jupyterlab/services';
5
5
  import { BrowserStorageDrive } from '@jupyterlite/contents';
6
- import { IKernelClient, IKernelSpecs, KernelSpecs, LiteKernelClient, LiteKernelManager, LiteKernelSpecs, } from '@jupyterlite/kernel';
6
+ import { IKernelClient, IKernelSpecClient, IKernelSpecs, KernelSpecs, LiteKernelClient, LiteKernelSpecClient, } from '@jupyterlite/kernel';
7
7
  import { ILocalForage, ensureMemoryStorage } from '@jupyterlite/localforage';
8
8
  import { LiteSessionClient } from '@jupyterlite/session';
9
9
  import { Settings as JupyterLiteSettings } from '@jupyterlite/settings';
@@ -69,10 +69,32 @@ const kernelManagerPlugin = {
69
69
  description: 'The kernel manager plugin.',
70
70
  autoStart: true,
71
71
  provides: IKernelManager,
72
- requires: [IKernelSpecs, IKernelClient],
72
+ requires: [IKernelClient, IKernelSpecClient],
73
73
  optional: [IServerSettings],
74
- activate: (_, kernelSpecs, kernelClient, serverSettings) => {
75
- return new LiteKernelManager({ kernelSpecs, kernelClient, serverSettings });
74
+ activate: (_, kernelAPIClient, kernelSpecAPIClient, serverSettings) => {
75
+ return new KernelManager({
76
+ kernelAPIClient,
77
+ kernelSpecAPIClient,
78
+ serverSettings: {
79
+ ...ServerConnection.makeSettings(),
80
+ ...serverSettings,
81
+ WebSocket,
82
+ },
83
+ });
84
+ },
85
+ };
86
+ /**
87
+ * The client for managing in-browser kernel specs
88
+ */
89
+ const kernelSpecClientPlugin = {
90
+ id: '@jupyterlite/services-extension:kernel-spec-client',
91
+ description: 'The client for managing in-browser kernel specs',
92
+ autoStart: true,
93
+ requires: [IKernelSpecs],
94
+ optional: [IServerSettings],
95
+ provides: IKernelSpecClient,
96
+ activate: (_, kernelSpecs, serverSettings) => {
97
+ return new LiteKernelSpecClient({ kernelSpecs, serverSettings });
76
98
  },
77
99
  };
78
100
  /**
@@ -83,10 +105,20 @@ const kernelSpecManagerPlugin = {
83
105
  description: 'The kernel spec manager plugin.',
84
106
  autoStart: true,
85
107
  provides: IKernelSpecManager,
86
- requires: [IKernelSpecs],
87
- optional: [IServerSettings],
88
- activate: (_, kernelSpecs, serverSettings) => {
89
- return new LiteKernelSpecs({ kernelSpecs, serverSettings });
108
+ requires: [IKernelSpecClient],
109
+ optional: [IKernelSpecs, IServerSettings],
110
+ activate: (_, kernelSpecAPIClient, kernelSpecs, serverSettings) => {
111
+ const kernelSpecManager = new KernelSpecManager({
112
+ kernelSpecAPIClient,
113
+ serverSettings,
114
+ });
115
+ if (kernelSpecs) {
116
+ // refresh the kernel spec manager when new lite specs are added
117
+ kernelSpecs.changed.connect(() => {
118
+ void kernelSpecManager.refreshSpecs();
119
+ });
120
+ }
121
+ return kernelSpecManager;
90
122
  },
91
123
  };
92
124
  /**
@@ -100,7 +132,10 @@ const kernelClientPlugin = {
100
132
  optional: [IServerSettings],
101
133
  provides: IKernelClient,
102
134
  activate: (_, kernelSpecs, serverSettings) => {
103
- return new LiteKernelClient({ kernelSpecs, serverSettings });
135
+ return new LiteKernelClient({
136
+ kernelSpecs,
137
+ serverSettings,
138
+ });
104
139
  },
105
140
  };
106
141
  /**
@@ -148,27 +183,6 @@ const nbConvertManagerPlugin = {
148
183
  return nbConvertManager;
149
184
  },
150
185
  };
151
- /**
152
- * The default server settings plugin.
153
- */
154
- const serverSettingsPlugin = {
155
- id: '@jupyterlite/services-extension:server-settings',
156
- description: 'The default server settings plugin.',
157
- autoStart: true,
158
- provides: IServerSettings,
159
- activate: (_) => {
160
- return {
161
- ...ServerConnection.makeSettings(),
162
- WebSocket,
163
- fetch: async (req, init) => {
164
- const request = new Request(req, init !== null && init !== void 0 ? init : undefined);
165
- const url = new URL(request.url);
166
- console.error(`Unhandled fetch request path: ${url.pathname}`);
167
- return new Response(JSON.stringify({}));
168
- },
169
- };
170
- },
171
- };
172
186
  /**
173
187
  * The session manager plugin.
174
188
  */
@@ -235,12 +249,12 @@ export default [
235
249
  defaultDrivePlugin,
236
250
  eventManagerPlugin,
237
251
  kernelManagerPlugin,
238
- kernelSpecManagerPlugin,
239
252
  kernelClientPlugin,
253
+ kernelSpecClientPlugin,
254
+ kernelSpecManagerPlugin,
240
255
  liteKernelSpecManagerPlugin,
241
256
  localforagePlugin,
242
257
  nbConvertManagerPlugin,
243
- serverSettingsPlugin,
244
258
  sessionManagerPlugin,
245
259
  settingsPlugin,
246
260
  userManagerPlugin,
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jupyterlite/services-extension",
3
- "version": "0.6.0-alpha.4",
3
+ "version": "0.6.0-alpha.6",
4
4
  "description": "JupyterLite - Services Extension",
5
5
  "homepage": "https://github.com/jupyterlite/jupyterlite",
6
6
  "bugs": {
@@ -31,13 +31,13 @@
31
31
  "watch": "tsc -b --watch"
32
32
  },
33
33
  "dependencies": {
34
- "@jupyterlab/coreutils": "~6.4.0-beta.1",
35
- "@jupyterlab/services": "~7.4.0-beta.1",
36
- "@jupyterlite/contents": "^0.6.0-alpha.4",
37
- "@jupyterlite/kernel": "^0.6.0-alpha.4",
38
- "@jupyterlite/localforage": "^0.6.0-alpha.4",
39
- "@jupyterlite/session": "^0.6.0-alpha.4",
40
- "@jupyterlite/settings": "^0.6.0-alpha.4",
34
+ "@jupyterlab/coreutils": "~6.4.0-rc.0",
35
+ "@jupyterlab/services": "~7.4.0-rc.0",
36
+ "@jupyterlite/contents": "^0.6.0-alpha.6",
37
+ "@jupyterlite/kernel": "^0.6.0-alpha.6",
38
+ "@jupyterlite/localforage": "^0.6.0-alpha.6",
39
+ "@jupyterlite/session": "^0.6.0-alpha.6",
40
+ "@jupyterlite/settings": "^0.6.0-alpha.6",
41
41
  "@lumino/coreutils": "^2.2.0"
42
42
  },
43
43
  "devDependencies": {
package/src/index.ts CHANGED
@@ -18,7 +18,9 @@ import {
18
18
  ISettingManager,
19
19
  IUserManager,
20
20
  Kernel,
21
+ KernelManager,
21
22
  KernelSpec,
23
+ KernelSpecManager,
22
24
  NbConvert,
23
25
  NbConvertManager,
24
26
  ServerConnection,
@@ -34,11 +36,11 @@ import { BrowserStorageDrive } from '@jupyterlite/contents';
34
36
 
35
37
  import {
36
38
  IKernelClient,
39
+ IKernelSpecClient,
37
40
  IKernelSpecs,
38
41
  KernelSpecs,
39
42
  LiteKernelClient,
40
- LiteKernelManager,
41
- LiteKernelSpecs,
43
+ LiteKernelSpecClient,
42
44
  } from '@jupyterlite/kernel';
43
45
 
44
46
  import { ILocalForage, ensureMemoryStorage } from '@jupyterlite/localforage';
@@ -121,15 +123,42 @@ const kernelManagerPlugin: ServiceManagerPlugin<Kernel.IManager> = {
121
123
  description: 'The kernel manager plugin.',
122
124
  autoStart: true,
123
125
  provides: IKernelManager,
124
- requires: [IKernelSpecs, IKernelClient],
126
+ requires: [IKernelClient, IKernelSpecClient],
125
127
  optional: [IServerSettings],
126
128
  activate: (
127
129
  _: null,
128
- kernelSpecs: IKernelSpecs,
129
- kernelClient: IKernelClient,
130
+ kernelAPIClient: IKernelClient,
131
+ kernelSpecAPIClient: IKernelSpecClient,
130
132
  serverSettings: ServerConnection.ISettings | undefined,
131
133
  ): Kernel.IManager => {
132
- return new LiteKernelManager({ kernelSpecs, kernelClient, serverSettings });
134
+ return new KernelManager({
135
+ kernelAPIClient,
136
+ kernelSpecAPIClient,
137
+ serverSettings: {
138
+ ...ServerConnection.makeSettings(),
139
+ ...serverSettings,
140
+ WebSocket,
141
+ },
142
+ });
143
+ },
144
+ };
145
+
146
+ /**
147
+ * The client for managing in-browser kernel specs
148
+ */
149
+ const kernelSpecClientPlugin: ServiceManagerPlugin<KernelSpec.IKernelSpecAPIClient> = {
150
+ id: '@jupyterlite/services-extension:kernel-spec-client',
151
+ description: 'The client for managing in-browser kernel specs',
152
+ autoStart: true,
153
+ requires: [IKernelSpecs],
154
+ optional: [IServerSettings],
155
+ provides: IKernelSpecClient,
156
+ activate: (
157
+ _: null,
158
+ kernelSpecs: IKernelSpecs,
159
+ serverSettings?: ServerConnection.ISettings,
160
+ ): IKernelSpecClient => {
161
+ return new LiteKernelSpecClient({ kernelSpecs, serverSettings });
133
162
  },
134
163
  };
135
164
 
@@ -141,14 +170,25 @@ const kernelSpecManagerPlugin: ServiceManagerPlugin<KernelSpec.IManager> = {
141
170
  description: 'The kernel spec manager plugin.',
142
171
  autoStart: true,
143
172
  provides: IKernelSpecManager,
144
- requires: [IKernelSpecs],
145
- optional: [IServerSettings],
173
+ requires: [IKernelSpecClient],
174
+ optional: [IKernelSpecs, IServerSettings],
146
175
  activate: (
147
176
  _: null,
148
- kernelSpecs: IKernelSpecs,
177
+ kernelSpecAPIClient: IKernelSpecClient,
178
+ kernelSpecs: IKernelSpecs | null,
149
179
  serverSettings: ServerConnection.ISettings | undefined,
150
180
  ): KernelSpec.IManager => {
151
- return new LiteKernelSpecs({ kernelSpecs, serverSettings });
181
+ const kernelSpecManager = new KernelSpecManager({
182
+ kernelSpecAPIClient,
183
+ serverSettings,
184
+ });
185
+ if (kernelSpecs) {
186
+ // refresh the kernel spec manager when new lite specs are added
187
+ kernelSpecs.changed.connect(() => {
188
+ void kernelSpecManager.refreshSpecs();
189
+ });
190
+ }
191
+ return kernelSpecManager;
152
192
  },
153
193
  };
154
194
 
@@ -167,7 +207,10 @@ const kernelClientPlugin: ServiceManagerPlugin<Kernel.IKernelAPIClient> = {
167
207
  kernelSpecs: IKernelSpecs,
168
208
  serverSettings?: ServerConnection.ISettings,
169
209
  ): IKernelClient => {
170
- return new LiteKernelClient({ kernelSpecs, serverSettings });
210
+ return new LiteKernelClient({
211
+ kernelSpecs,
212
+ serverSettings,
213
+ });
171
214
  },
172
215
  };
173
216
 
@@ -227,31 +270,6 @@ const nbConvertManagerPlugin: ServiceManagerPlugin<NbConvert.IManager> = {
227
270
  },
228
271
  };
229
272
 
230
- /**
231
- * The default server settings plugin.
232
- */
233
- const serverSettingsPlugin: ServiceManagerPlugin<ServerConnection.ISettings> = {
234
- id: '@jupyterlite/services-extension:server-settings',
235
- description: 'The default server settings plugin.',
236
- autoStart: true,
237
- provides: IServerSettings,
238
- activate: (_: null): ServerConnection.ISettings => {
239
- return {
240
- ...ServerConnection.makeSettings(),
241
- WebSocket,
242
- fetch: async (
243
- req: RequestInfo,
244
- init?: RequestInit | null | undefined,
245
- ): Promise<Response> => {
246
- const request = new Request(req, init ?? undefined);
247
- const url = new URL(request.url);
248
- console.error(`Unhandled fetch request path: ${url.pathname}`);
249
- return new Response(JSON.stringify({}));
250
- },
251
- };
252
- },
253
- };
254
-
255
273
  /**
256
274
  * The session manager plugin.
257
275
  */
@@ -335,12 +353,12 @@ export default [
335
353
  defaultDrivePlugin,
336
354
  eventManagerPlugin,
337
355
  kernelManagerPlugin,
338
- kernelSpecManagerPlugin,
339
356
  kernelClientPlugin,
357
+ kernelSpecClientPlugin,
358
+ kernelSpecManagerPlugin,
340
359
  liteKernelSpecManagerPlugin,
341
360
  localforagePlugin,
342
361
  nbConvertManagerPlugin,
343
- serverSettingsPlugin,
344
362
  sessionManagerPlugin,
345
363
  settingsPlugin,
346
364
  userManagerPlugin,