@jupyterlite/services 0.1.0 → 0.7.0-rc.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/contents/drive.d.ts +277 -0
- package/lib/contents/drive.js +888 -0
- package/lib/contents/drive.js.map +1 -0
- package/lib/contents/drivecontents.d.ts +92 -0
- package/lib/contents/drivecontents.js +132 -0
- package/lib/contents/drivecontents.js.map +1 -0
- package/lib/contents/drivefs.d.ts +245 -0
- package/lib/contents/drivefs.js +481 -0
- package/lib/contents/drivefs.js.map +1 -0
- package/lib/contents/emscripten.d.ts +96 -0
- package/lib/contents/emscripten.js +10 -0
- package/lib/contents/emscripten.js.map +1 -0
- package/lib/contents/index.d.ts +5 -0
- package/lib/contents/index.js +8 -0
- package/lib/contents/index.js.map +1 -0
- package/lib/contents/tokens.d.ts +21 -0
- package/lib/contents/tokens.js +55 -0
- package/lib/contents/tokens.js.map +1 -0
- package/lib/index.d.ts +9 -0
- package/lib/index.js +12 -0
- package/lib/index.js.map +1 -0
- package/lib/kernel/base.d.ts +245 -0
- package/lib/kernel/base.js +457 -0
- package/lib/kernel/base.js.map +1 -0
- package/lib/kernel/client.d.ts +114 -0
- package/lib/kernel/client.js +375 -0
- package/lib/kernel/client.js.map +1 -0
- package/lib/kernel/index.d.ts +5 -0
- package/lib/kernel/index.js +8 -0
- package/lib/kernel/index.js.map +1 -0
- package/lib/kernel/kernelspecclient.d.ts +39 -0
- package/lib/kernel/kernelspecclient.js +37 -0
- package/lib/kernel/kernelspecclient.js.map +1 -0
- package/lib/kernel/kernelspecs.d.ts +59 -0
- package/lib/kernel/kernelspecs.js +62 -0
- package/lib/kernel/kernelspecs.js.map +1 -0
- package/lib/kernel/tokens.d.ts +163 -0
- package/lib/kernel/tokens.js +20 -0
- package/lib/kernel/tokens.js.map +1 -0
- package/lib/nbconvert/exporters.d.ts +80 -0
- package/lib/nbconvert/exporters.js +154 -0
- package/lib/nbconvert/exporters.js.map +1 -0
- package/lib/nbconvert/index.d.ts +3 -0
- package/lib/nbconvert/index.js +6 -0
- package/lib/nbconvert/index.js.map +1 -0
- package/lib/nbconvert/manager.d.ts +66 -0
- package/lib/nbconvert/manager.js +77 -0
- package/lib/nbconvert/manager.js.map +1 -0
- package/lib/nbconvert/tokens.d.ts +49 -0
- package/lib/nbconvert/tokens.js +8 -0
- package/lib/nbconvert/tokens.js.map +1 -0
- package/lib/session/client.d.ts +85 -0
- package/lib/session/client.js +200 -0
- package/lib/session/client.js.map +1 -0
- package/lib/session/index.d.ts +1 -0
- package/lib/session/index.js +4 -0
- package/lib/session/index.js.map +1 -0
- package/lib/settings/index.d.ts +1 -0
- package/lib/settings/index.js +4 -0
- package/lib/settings/index.js.map +1 -0
- package/lib/settings/settings.d.ts +91 -0
- package/lib/settings/settings.js +185 -0
- package/lib/settings/settings.js.map +1 -0
- package/package.json +67 -8
- package/src/contents/drive.ts +1030 -0
- package/src/contents/drivecontents.ts +253 -0
- package/src/contents/drivefs.ts +824 -0
- package/src/contents/emscripten.ts +148 -0
- package/src/contents/index.ts +8 -0
- package/src/contents/tokens.ts +61 -0
- package/src/index.ts +13 -0
- package/src/kernel/base.ts +637 -0
- package/src/kernel/client.ts +483 -0
- package/src/kernel/index.ts +8 -0
- package/src/kernel/kernelspecclient.ts +64 -0
- package/src/kernel/kernelspecs.ts +103 -0
- package/src/kernel/tokens.ts +222 -0
- package/src/nbconvert/exporters.ts +177 -0
- package/src/nbconvert/index.ts +6 -0
- package/src/nbconvert/manager.ts +105 -0
- package/src/nbconvert/tokens.ts +60 -0
- package/src/session/client.ts +251 -0
- package/src/session/index.ts +4 -0
- package/src/settings/index.ts +4 -0
- package/src/settings/settings.ts +236 -0
- package/style/index.css +6 -0
- package/style/index.js +6 -0
|
@@ -0,0 +1,375 @@
|
|
|
1
|
+
import { PageConfig, URLExt } from '@jupyterlab/coreutils';
|
|
2
|
+
import { ObservableMap } from '@jupyterlab/observables';
|
|
3
|
+
import { KernelAPI, KernelMessage, ServerConnection, } from '@jupyterlab/services';
|
|
4
|
+
import { deserialize, serialize } from '@jupyterlab/services/lib/kernel/serialize';
|
|
5
|
+
import { supportedKernelWebSocketProtocols } from '@jupyterlab/services/lib/kernel/messages';
|
|
6
|
+
import { PromiseDelegate, UUID } from '@lumino/coreutils';
|
|
7
|
+
import { Signal } from '@lumino/signaling';
|
|
8
|
+
import { Mutex } from 'async-mutex';
|
|
9
|
+
import { Server as WebSocketServer } from 'mock-socket';
|
|
10
|
+
import { FALLBACK_KERNEL } from './tokens';
|
|
11
|
+
/**
|
|
12
|
+
* Use the default kernel wire protocol.
|
|
13
|
+
*/
|
|
14
|
+
const KERNEL_WEBSOCKET_PROTOCOL = supportedKernelWebSocketProtocols.v1KernelWebsocketJupyterOrg;
|
|
15
|
+
/**
|
|
16
|
+
* A class to handle requests to /api/kernels
|
|
17
|
+
*/
|
|
18
|
+
export class LiteKernelClient {
|
|
19
|
+
/**
|
|
20
|
+
* Construct a new Kernels
|
|
21
|
+
*
|
|
22
|
+
* @param options The instantiation options
|
|
23
|
+
*/
|
|
24
|
+
constructor(options) {
|
|
25
|
+
var _a;
|
|
26
|
+
this._kernels = new ObservableMap();
|
|
27
|
+
this._clients = new ObservableMap();
|
|
28
|
+
this._mutexMap = new Map();
|
|
29
|
+
this._kernelClients = new ObservableMap();
|
|
30
|
+
this._changed = new Signal(this);
|
|
31
|
+
this._kernelSends = new ObservableMap();
|
|
32
|
+
this._cancelReason = new WeakMap();
|
|
33
|
+
const { kernelSpecs } = options;
|
|
34
|
+
this._kernelspecs = kernelSpecs;
|
|
35
|
+
this._serverSettings = (_a = options.serverSettings) !== null && _a !== void 0 ? _a : ServerConnection.makeSettings();
|
|
36
|
+
// Forward the changed signal from _kernels
|
|
37
|
+
this._kernels.changed.connect((_, args) => {
|
|
38
|
+
this._changed.emit(args);
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* The server settings for the kernel client.
|
|
43
|
+
*/
|
|
44
|
+
get serverSettings() {
|
|
45
|
+
return this._serverSettings;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Signal emitted when the kernels map changes
|
|
49
|
+
*/
|
|
50
|
+
get changed() {
|
|
51
|
+
return this._changed;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Start a new kernel.
|
|
55
|
+
*
|
|
56
|
+
* @param options The kernel start options.
|
|
57
|
+
*/
|
|
58
|
+
async startNew(options) {
|
|
59
|
+
const { id, name, location } = options;
|
|
60
|
+
const kernelName = name !== null && name !== void 0 ? name : FALLBACK_KERNEL;
|
|
61
|
+
const factory = this._kernelspecs.factories.get(kernelName);
|
|
62
|
+
// bail if there is no factory associated with the requested kernel
|
|
63
|
+
if (!factory) {
|
|
64
|
+
throw Error(`No factory for kernel ${kernelName}`);
|
|
65
|
+
}
|
|
66
|
+
// create a synchronization mechanism to allow only one message
|
|
67
|
+
// to be processed at a time
|
|
68
|
+
const mutex = new Mutex();
|
|
69
|
+
// hook a new client to a kernel
|
|
70
|
+
const hook = (kernelId, clientId, socket) => {
|
|
71
|
+
var _a;
|
|
72
|
+
const kernel = this._kernels.get(kernelId);
|
|
73
|
+
if (!kernel) {
|
|
74
|
+
throw Error(`No kernel ${kernelId}`);
|
|
75
|
+
}
|
|
76
|
+
this._clients.set(clientId, socket);
|
|
77
|
+
this._mutexMap.set(kernelId, mutex);
|
|
78
|
+
(_a = this._kernelClients.get(kernelId)) === null || _a === void 0 ? void 0 : _a.add(clientId);
|
|
79
|
+
const processMsg = async (msg) => {
|
|
80
|
+
try {
|
|
81
|
+
await mutex.runExclusive(async () => {
|
|
82
|
+
await kernel.ready;
|
|
83
|
+
await kernel.handleMessage(msg);
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
catch (error) {
|
|
87
|
+
if (error instanceof Error &&
|
|
88
|
+
error.message.includes('request for lock canceled')) {
|
|
89
|
+
// expected to throw when mutex.cancel() is called below on cell execution error or on interrupt
|
|
90
|
+
const cancelReason = this._cancelReason.get(mutex);
|
|
91
|
+
if ((cancelReason === 'interrupt' ||
|
|
92
|
+
cancelReason === 'interrupt-subsequent') &&
|
|
93
|
+
msg.header.msg_type === 'execute_request') {
|
|
94
|
+
if (cancelReason === 'interrupt') {
|
|
95
|
+
// Change cancel reason so that only one cell includes the error.
|
|
96
|
+
// Needs to go before await for mutex.
|
|
97
|
+
this._cancelReason.set(mutex, 'interrupt-subsequent');
|
|
98
|
+
}
|
|
99
|
+
await mutex.waitForUnlock();
|
|
100
|
+
// Send interrupt error to all clients
|
|
101
|
+
const content = {
|
|
102
|
+
status: 'error',
|
|
103
|
+
ename: 'Kernel Interrupt',
|
|
104
|
+
evalue: 'Interrupted',
|
|
105
|
+
traceback: [],
|
|
106
|
+
};
|
|
107
|
+
const sendMessage = this._kernelSends.get(kernelId);
|
|
108
|
+
if (sendMessage === undefined) {
|
|
109
|
+
console.warn('Did not find kernel send method');
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
if (cancelReason === 'interrupt') {
|
|
113
|
+
sendMessage(KernelMessage.createMessage({
|
|
114
|
+
channel: 'iopub',
|
|
115
|
+
session: clientId,
|
|
116
|
+
parentHeader: msg.header,
|
|
117
|
+
msgType: 'error',
|
|
118
|
+
content,
|
|
119
|
+
}));
|
|
120
|
+
}
|
|
121
|
+
sendMessage(KernelMessage.createMessage({
|
|
122
|
+
channel: 'shell',
|
|
123
|
+
session: clientId,
|
|
124
|
+
parentHeader: msg.header,
|
|
125
|
+
msgType: 'execute_reply',
|
|
126
|
+
content: {
|
|
127
|
+
...content,
|
|
128
|
+
execution_count: 0,
|
|
129
|
+
},
|
|
130
|
+
metadata: {
|
|
131
|
+
cause: 'interrupt',
|
|
132
|
+
},
|
|
133
|
+
}));
|
|
134
|
+
sendMessage(KernelMessage.createMessage({
|
|
135
|
+
channel: 'iopub',
|
|
136
|
+
session: clientId,
|
|
137
|
+
parentHeader: msg.header,
|
|
138
|
+
msgType: 'status',
|
|
139
|
+
content: {
|
|
140
|
+
execution_state: 'idle',
|
|
141
|
+
},
|
|
142
|
+
}));
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
else {
|
|
146
|
+
throw error;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
};
|
|
150
|
+
socket.on('message', async (message) => {
|
|
151
|
+
let msg;
|
|
152
|
+
if (message instanceof ArrayBuffer) {
|
|
153
|
+
message = new Uint8Array(message).buffer;
|
|
154
|
+
msg = deserialize(message, KERNEL_WEBSOCKET_PROTOCOL);
|
|
155
|
+
}
|
|
156
|
+
else if (typeof message === 'string') {
|
|
157
|
+
const encoder = new TextEncoder();
|
|
158
|
+
const encodedData = encoder.encode(message);
|
|
159
|
+
msg = deserialize(encodedData.buffer, KERNEL_WEBSOCKET_PROTOCOL);
|
|
160
|
+
}
|
|
161
|
+
else {
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
if (msg.header.msg_type === 'input_reply') {
|
|
165
|
+
if (this._stdinPromise !== undefined) {
|
|
166
|
+
// Stdin handled by Service Worker.
|
|
167
|
+
this._stdinPromise.resolve(msg);
|
|
168
|
+
}
|
|
169
|
+
else {
|
|
170
|
+
// Stdin handled by SharedArrayBuffer which is like conventional message
|
|
171
|
+
// passing to kernel except we cannot use processMsg as the mutex is
|
|
172
|
+
// already held.
|
|
173
|
+
void kernel.handleMessage(msg);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
else {
|
|
177
|
+
void processMsg(msg);
|
|
178
|
+
}
|
|
179
|
+
});
|
|
180
|
+
const removeClient = () => {
|
|
181
|
+
var _a;
|
|
182
|
+
this._clients.delete(clientId);
|
|
183
|
+
(_a = this._kernelClients.get(kernelId)) === null || _a === void 0 ? void 0 : _a.delete(clientId);
|
|
184
|
+
};
|
|
185
|
+
kernel.disposed.connect(removeClient);
|
|
186
|
+
socket.onclose = removeClient;
|
|
187
|
+
};
|
|
188
|
+
// ensure kernel id
|
|
189
|
+
const kernelId = id !== null && id !== void 0 ? id : UUID.uuid4();
|
|
190
|
+
// There is one server per kernel which handles multiple clients
|
|
191
|
+
const kernelUrl = URLExt.join(LiteKernelClient.WS_BASE_URL, KernelAPI.KERNEL_SERVICE_URL, encodeURIComponent(kernelId), 'channels');
|
|
192
|
+
const runningKernel = this._kernels.get(kernelId);
|
|
193
|
+
if (runningKernel) {
|
|
194
|
+
return {
|
|
195
|
+
id: runningKernel.id,
|
|
196
|
+
name: runningKernel.name,
|
|
197
|
+
};
|
|
198
|
+
}
|
|
199
|
+
// start the kernel
|
|
200
|
+
const sendMessage = (msg) => {
|
|
201
|
+
const clientId = msg.channel === 'stdin' ? msg.parent_header.session : msg.header.session;
|
|
202
|
+
const socket = this._clients.get(clientId);
|
|
203
|
+
if (!socket) {
|
|
204
|
+
console.warn(`Trying to send message on removed socket for kernel ${kernelId}`);
|
|
205
|
+
return;
|
|
206
|
+
}
|
|
207
|
+
const message = serialize(msg, KERNEL_WEBSOCKET_PROTOCOL);
|
|
208
|
+
// process iopub messages
|
|
209
|
+
if (msg.channel === 'iopub') {
|
|
210
|
+
const clients = this._kernelClients.get(kernelId);
|
|
211
|
+
clients === null || clients === void 0 ? void 0 : clients.forEach((id) => {
|
|
212
|
+
var _a;
|
|
213
|
+
(_a = this._clients.get(id)) === null || _a === void 0 ? void 0 : _a.send(message);
|
|
214
|
+
});
|
|
215
|
+
return;
|
|
216
|
+
}
|
|
217
|
+
// cancel the execution of other cells if there is an execute error
|
|
218
|
+
// to match the JupyterLab behavior
|
|
219
|
+
if (msg.header.msg_type === 'execute_reply') {
|
|
220
|
+
const executeReplyMsg = msg;
|
|
221
|
+
if (executeReplyMsg.content.status === 'error' &&
|
|
222
|
+
executeReplyMsg.metadata.cause !== 'interrupt') {
|
|
223
|
+
this._cancelReason.set(mutex, 'error');
|
|
224
|
+
mutex.cancel();
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
socket.send(message);
|
|
228
|
+
};
|
|
229
|
+
const kernel = await factory({
|
|
230
|
+
id: kernelId,
|
|
231
|
+
sendMessage,
|
|
232
|
+
name: kernelName,
|
|
233
|
+
location: location !== null && location !== void 0 ? location : '',
|
|
234
|
+
});
|
|
235
|
+
this._kernels.set(kernelId, kernel);
|
|
236
|
+
this._kernelClients.set(kernelId, new Set());
|
|
237
|
+
this._kernelSends.set(kernelId, sendMessage);
|
|
238
|
+
// create the websocket server for the kernel
|
|
239
|
+
const wsServer = new WebSocketServer(kernelUrl, {
|
|
240
|
+
mock: false,
|
|
241
|
+
selectProtocol: () => KERNEL_WEBSOCKET_PROTOCOL,
|
|
242
|
+
});
|
|
243
|
+
wsServer.on('connection', (socket) => {
|
|
244
|
+
var _a;
|
|
245
|
+
const url = new URL(socket.url);
|
|
246
|
+
const clientId = (_a = url.searchParams.get('session_id')) !== null && _a !== void 0 ? _a : '';
|
|
247
|
+
hook(kernelId, clientId, socket);
|
|
248
|
+
});
|
|
249
|
+
// clean up closed connection
|
|
250
|
+
wsServer.on('close', () => {
|
|
251
|
+
this._clients.keys().forEach((clientId) => {
|
|
252
|
+
var _a;
|
|
253
|
+
const socket = this._clients.get(clientId);
|
|
254
|
+
if ((socket === null || socket === void 0 ? void 0 : socket.readyState) === WebSocket.CLOSED) {
|
|
255
|
+
this._clients.delete(clientId);
|
|
256
|
+
(_a = this._kernelClients.get(kernelId)) === null || _a === void 0 ? void 0 : _a.delete(clientId);
|
|
257
|
+
}
|
|
258
|
+
});
|
|
259
|
+
});
|
|
260
|
+
// cleanup on kernel shutdown
|
|
261
|
+
kernel.disposed.connect(() => {
|
|
262
|
+
wsServer.close();
|
|
263
|
+
this._kernels.delete(kernelId);
|
|
264
|
+
this._kernelClients.delete(kernelId);
|
|
265
|
+
this._mutexMap.delete(kernelId);
|
|
266
|
+
this._kernelSends.delete(kernelId);
|
|
267
|
+
});
|
|
268
|
+
return {
|
|
269
|
+
id: kernel.id,
|
|
270
|
+
name: kernel.name,
|
|
271
|
+
};
|
|
272
|
+
}
|
|
273
|
+
/**
|
|
274
|
+
* Restart a kernel.
|
|
275
|
+
*
|
|
276
|
+
* @param kernelId The kernel id.
|
|
277
|
+
*/
|
|
278
|
+
async restart(kernelId) {
|
|
279
|
+
const kernel = this._kernels.get(kernelId);
|
|
280
|
+
if (!kernel) {
|
|
281
|
+
throw Error(`Kernel ${kernelId} does not exist`);
|
|
282
|
+
}
|
|
283
|
+
const { id, name, location } = kernel;
|
|
284
|
+
kernel.dispose();
|
|
285
|
+
await this.startNew({ id, name, location });
|
|
286
|
+
}
|
|
287
|
+
/**
|
|
288
|
+
* Interrupt a kernel.
|
|
289
|
+
*/
|
|
290
|
+
async interrupt(kernelId) {
|
|
291
|
+
const kernel = this._kernels.get(kernelId);
|
|
292
|
+
if (!kernel) {
|
|
293
|
+
throw Error(`Kernel ${kernelId} does not exist`);
|
|
294
|
+
}
|
|
295
|
+
// Wait for kernel to be ready
|
|
296
|
+
await kernel.ready;
|
|
297
|
+
// Cancel execution of following cells
|
|
298
|
+
const mutex = this._mutexMap.get(kernelId);
|
|
299
|
+
if (!mutex) {
|
|
300
|
+
console.warn('No mutex to cancel');
|
|
301
|
+
return;
|
|
302
|
+
}
|
|
303
|
+
this._cancelReason.set(mutex, 'interrupt');
|
|
304
|
+
mutex.cancel();
|
|
305
|
+
}
|
|
306
|
+
/**
|
|
307
|
+
* List the running kernels.
|
|
308
|
+
*/
|
|
309
|
+
async listRunning() {
|
|
310
|
+
return [...this._kernels.values()].map((kernel) => ({
|
|
311
|
+
id: kernel.id,
|
|
312
|
+
name: kernel.name,
|
|
313
|
+
}));
|
|
314
|
+
}
|
|
315
|
+
/**
|
|
316
|
+
* Shut down a kernel.
|
|
317
|
+
*
|
|
318
|
+
* @param id The kernel id.
|
|
319
|
+
*/
|
|
320
|
+
async shutdown(id) {
|
|
321
|
+
var _a;
|
|
322
|
+
(_a = this._kernels.delete(id)) === null || _a === void 0 ? void 0 : _a.dispose();
|
|
323
|
+
this._kernelClients.delete(id);
|
|
324
|
+
this._kernelSends.delete(id);
|
|
325
|
+
}
|
|
326
|
+
/**
|
|
327
|
+
* Shut down all kernels.
|
|
328
|
+
*/
|
|
329
|
+
async shutdownAll() {
|
|
330
|
+
this._kernels.keys().forEach((id) => {
|
|
331
|
+
this.shutdown(id);
|
|
332
|
+
});
|
|
333
|
+
}
|
|
334
|
+
/**
|
|
335
|
+
* Get a kernel by id
|
|
336
|
+
*/
|
|
337
|
+
async getModel(id) {
|
|
338
|
+
return this._kernels.get(id);
|
|
339
|
+
}
|
|
340
|
+
/**
|
|
341
|
+
* Handle stdin request received from Service Worker.
|
|
342
|
+
*/
|
|
343
|
+
async handleStdin(inputRequest) {
|
|
344
|
+
this._stdinPromise = new PromiseDelegate();
|
|
345
|
+
const clientId = inputRequest.parent_header.session;
|
|
346
|
+
const kernelId = this._getClientKernel(clientId);
|
|
347
|
+
if (kernelId !== undefined) {
|
|
348
|
+
const sendMessage = this._kernelSends.get(kernelId);
|
|
349
|
+
if (sendMessage !== undefined) {
|
|
350
|
+
sendMessage(inputRequest);
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
// Promise is resolved by input reply message.
|
|
354
|
+
return this._stdinPromise.promise;
|
|
355
|
+
}
|
|
356
|
+
/**
|
|
357
|
+
* Get a kernel id corresponding to a client id.
|
|
358
|
+
*/
|
|
359
|
+
_getClientKernel(clientId) {
|
|
360
|
+
// Walk the _kernelClients to find a match.
|
|
361
|
+
return this._kernelClients
|
|
362
|
+
.keys()
|
|
363
|
+
.find((kernelId) => this._kernelClients.get(kernelId).has(clientId));
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
/**
|
|
367
|
+
* A namespace for Kernels statics.
|
|
368
|
+
*/
|
|
369
|
+
(function (LiteKernelClient) {
|
|
370
|
+
/**
|
|
371
|
+
* The base url for the Kernels manager
|
|
372
|
+
*/
|
|
373
|
+
LiteKernelClient.WS_BASE_URL = PageConfig.getBaseUrl().replace(/^http/, 'ws');
|
|
374
|
+
})(LiteKernelClient || (LiteKernelClient = {}));
|
|
375
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/kernel/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// Copyright (c) Jupyter Development Team.
|
|
2
|
+
// Distributed under the terms of the Modified BSD License.
|
|
3
|
+
export * from './base';
|
|
4
|
+
export * from './kernelspecs';
|
|
5
|
+
export * from './kernelspecclient';
|
|
6
|
+
export * from './client';
|
|
7
|
+
export * from './tokens';
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/kernel/index.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAE3D,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { KernelSpec, ServerConnection } from '@jupyterlab/services';
|
|
2
|
+
import { IKernelSpecs } from './tokens';
|
|
3
|
+
/**
|
|
4
|
+
* An in-browser client for the kernel spec API.
|
|
5
|
+
*/
|
|
6
|
+
export declare class LiteKernelSpecClient implements KernelSpec.IKernelSpecAPIClient {
|
|
7
|
+
/**
|
|
8
|
+
* Construct a new kernel spec client.
|
|
9
|
+
*/
|
|
10
|
+
constructor(options: LiteKernelSpecClient.IOptions);
|
|
11
|
+
/**
|
|
12
|
+
* The server settings used by the client.
|
|
13
|
+
*/
|
|
14
|
+
get serverSettings(): ServerConnection.ISettings;
|
|
15
|
+
/**
|
|
16
|
+
* Get the kernel specs.
|
|
17
|
+
*/
|
|
18
|
+
get(): Promise<KernelSpec.ISpecModels>;
|
|
19
|
+
private _kernelspecs;
|
|
20
|
+
private _serverSettings;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* A namespace for LiteKernelSpecClient statics.
|
|
24
|
+
*/
|
|
25
|
+
export declare namespace LiteKernelSpecClient {
|
|
26
|
+
/**
|
|
27
|
+
* The options used to create a kernel spec client.
|
|
28
|
+
*/
|
|
29
|
+
interface IOptions {
|
|
30
|
+
/**
|
|
31
|
+
* The in-browser kernel specs.
|
|
32
|
+
*/
|
|
33
|
+
kernelSpecs: IKernelSpecs;
|
|
34
|
+
/**
|
|
35
|
+
* The server settings used by the client.
|
|
36
|
+
*/
|
|
37
|
+
serverSettings?: ServerConnection.ISettings;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
// Copyright (c) Jupyter Development Team.
|
|
2
|
+
// Distributed under the terms of the Modified BSD License.
|
|
3
|
+
import { ServerConnection } from '@jupyterlab/services';
|
|
4
|
+
/**
|
|
5
|
+
* Placeholder for the kernel specs.
|
|
6
|
+
*/
|
|
7
|
+
const EMPTY_KERNELSPECS = {
|
|
8
|
+
default: '',
|
|
9
|
+
kernelspecs: {},
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* An in-browser client for the kernel spec API.
|
|
13
|
+
*/
|
|
14
|
+
export class LiteKernelSpecClient {
|
|
15
|
+
/**
|
|
16
|
+
* Construct a new kernel spec client.
|
|
17
|
+
*/
|
|
18
|
+
constructor(options) {
|
|
19
|
+
var _a;
|
|
20
|
+
this._kernelspecs = options.kernelSpecs;
|
|
21
|
+
this._serverSettings = (_a = options.serverSettings) !== null && _a !== void 0 ? _a : ServerConnection.makeSettings();
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* The server settings used by the client.
|
|
25
|
+
*/
|
|
26
|
+
get serverSettings() {
|
|
27
|
+
return this._serverSettings;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Get the kernel specs.
|
|
31
|
+
*/
|
|
32
|
+
async get() {
|
|
33
|
+
var _a;
|
|
34
|
+
return Promise.resolve((_a = this._kernelspecs.specs) !== null && _a !== void 0 ? _a : EMPTY_KERNELSPECS);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=kernelspecclient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kernelspecclient.js","sourceRoot":"","sources":["../../src/kernel/kernelspecclient.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAE3D,OAAO,EAAc,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAIpE;;GAEG;AACH,MAAM,iBAAiB,GAA2B;IAChD,OAAO,EAAE,EAAE;IACX,WAAW,EAAE,EAAE;CAChB,CAAC;AAEF;;GAEG;AACH,MAAM,OAAO,oBAAoB;IAC/B;;OAEG;IACH,YAAY,OAAsC;;QAChD,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;QACxC,IAAI,CAAC,eAAe,GAAG,MAAA,OAAO,CAAC,cAAc,mCAAI,gBAAgB,CAAC,YAAY,EAAE,CAAC;IACnF,CAAC;IAED;;OAEG;IACH,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG;;QACP,OAAO,OAAO,CAAC,OAAO,CAAC,MAAA,IAAI,CAAC,YAAY,CAAC,KAAK,mCAAI,iBAAiB,CAAC,CAAC;IACvE,CAAC;CAIF"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { KernelSpec } from '@jupyterlab/services';
|
|
2
|
+
import { ISignal } from '@lumino/signaling';
|
|
3
|
+
import { IKernel, IKernelSpecs } from './tokens';
|
|
4
|
+
/**
|
|
5
|
+
* A class to register in-browser kernel specs.
|
|
6
|
+
*/
|
|
7
|
+
export declare class KernelSpecs implements IKernelSpecs {
|
|
8
|
+
/**
|
|
9
|
+
* Get the kernel specs.
|
|
10
|
+
*/
|
|
11
|
+
get specs(): KernelSpec.ISpecModels | null;
|
|
12
|
+
/**
|
|
13
|
+
* Get the default kernel name.
|
|
14
|
+
*/
|
|
15
|
+
get defaultKernelName(): string;
|
|
16
|
+
/**
|
|
17
|
+
* Get the kernel factories for the current kernels.
|
|
18
|
+
*/
|
|
19
|
+
get factories(): KernelSpecs.KernelFactories;
|
|
20
|
+
/**
|
|
21
|
+
* Signal emitted when the specs change.
|
|
22
|
+
*/
|
|
23
|
+
get changed(): ISignal<IKernelSpecs, KernelSpec.ISpecModels | null>;
|
|
24
|
+
/**
|
|
25
|
+
* Register a new kernel.
|
|
26
|
+
*
|
|
27
|
+
* @param options The options to register a new kernel.
|
|
28
|
+
*/
|
|
29
|
+
register(options: KernelSpecs.IKernelOptions): void;
|
|
30
|
+
private _specs;
|
|
31
|
+
private _factories;
|
|
32
|
+
private _changed;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* A namespace for KernelSpecs statics.
|
|
36
|
+
*/
|
|
37
|
+
export declare namespace KernelSpecs {
|
|
38
|
+
/**
|
|
39
|
+
* Registration options for a new kernel.
|
|
40
|
+
*/
|
|
41
|
+
interface IKernelOptions {
|
|
42
|
+
/**
|
|
43
|
+
* The kernel spec.
|
|
44
|
+
*/
|
|
45
|
+
spec: KernelSpec.ISpecModel;
|
|
46
|
+
/**
|
|
47
|
+
* The factory function to instantiate a new kernel.
|
|
48
|
+
*/
|
|
49
|
+
create: KernelFactory;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* The type for a kernel factory function used to instantiate new kernels.
|
|
53
|
+
*/
|
|
54
|
+
type KernelFactory = (options: IKernel.IOptions) => Promise<IKernel>;
|
|
55
|
+
/**
|
|
56
|
+
* The type for the record of kernel factory functions.
|
|
57
|
+
*/
|
|
58
|
+
type KernelFactories = Map<string, KernelFactory>;
|
|
59
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { PageConfig } from '@jupyterlab/coreutils';
|
|
2
|
+
import { Signal } from '@lumino/signaling';
|
|
3
|
+
import { FALLBACK_KERNEL } from './tokens';
|
|
4
|
+
/**
|
|
5
|
+
* A class to register in-browser kernel specs.
|
|
6
|
+
*/
|
|
7
|
+
export class KernelSpecs {
|
|
8
|
+
constructor() {
|
|
9
|
+
this._specs = new Map();
|
|
10
|
+
this._factories = new Map();
|
|
11
|
+
this._changed = new Signal(this);
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Get the kernel specs.
|
|
15
|
+
*/
|
|
16
|
+
get specs() {
|
|
17
|
+
if (this._specs.size === 0) {
|
|
18
|
+
return null;
|
|
19
|
+
}
|
|
20
|
+
return {
|
|
21
|
+
default: this.defaultKernelName,
|
|
22
|
+
kernelspecs: Object.fromEntries(this._specs),
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Get the default kernel name.
|
|
27
|
+
*/
|
|
28
|
+
get defaultKernelName() {
|
|
29
|
+
let defaultKernelName = PageConfig.getOption('defaultKernelName');
|
|
30
|
+
if (!defaultKernelName && this._specs.size) {
|
|
31
|
+
const keys = Array.from(this._specs.keys());
|
|
32
|
+
keys.sort();
|
|
33
|
+
defaultKernelName = keys[0];
|
|
34
|
+
}
|
|
35
|
+
return defaultKernelName || FALLBACK_KERNEL;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Get the kernel factories for the current kernels.
|
|
39
|
+
*/
|
|
40
|
+
get factories() {
|
|
41
|
+
return this._factories;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Signal emitted when the specs change.
|
|
45
|
+
*/
|
|
46
|
+
get changed() {
|
|
47
|
+
return this._changed;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Register a new kernel.
|
|
51
|
+
*
|
|
52
|
+
* @param options The options to register a new kernel.
|
|
53
|
+
*/
|
|
54
|
+
register(options) {
|
|
55
|
+
const { spec, create } = options;
|
|
56
|
+
this._specs.set(spec.name, spec);
|
|
57
|
+
this._factories.set(spec.name, create);
|
|
58
|
+
// notify a new spec has been added
|
|
59
|
+
this._changed.emit(this.specs);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=kernelspecs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kernelspecs.js","sourceRoot":"","sources":["../../src/kernel/kernelspecs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAInD,OAAO,EAAW,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,eAAe,EAAyB,MAAM,UAAU,CAAC;AAElE;;GAEG;AACH,MAAM,OAAO,WAAW;IAAxB;QA0DU,WAAM,GAAG,IAAI,GAAG,EAAiC,CAAC;QAClD,eAAU,GAAG,IAAI,GAAG,EAAqC,CAAC;QAC1D,aAAQ,GAAG,IAAI,MAAM,CAAsC,IAAI,CAAC,CAAC;IAC3E,CAAC;IA5DC;;OAEG;IACH,IAAI,KAAK;QACP,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,iBAAiB;YAC/B,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;SAC7C,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,IAAI,iBAAiB;QACnB,IAAI,iBAAiB,GAAG,UAAU,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;QAElE,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAC3C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YAC5C,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,iBAAiB,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9B,CAAC;QAED,OAAO,iBAAiB,IAAI,eAAe,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;;;OAIG;IACH,QAAQ,CAAC,OAAmC;QAC1C,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QACjC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAEvC,mCAAmC;QACnC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;CAKF"}
|