@jupyterlite/session 0.6.0-alpha.2 → 0.6.0-alpha.4
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/client.d.ts +85 -0
- package/lib/{sessions.js → client.js} +30 -15
- package/lib/client.js.map +1 -0
- package/lib/index.d.ts +1 -2
- package/lib/index.js +1 -2
- package/lib/index.js.map +1 -1
- package/package.json +6 -6
- package/src/{sessions.ts → client.ts} +47 -22
- package/src/index.ts +1 -2
- package/lib/sessions.d.ts +0 -68
- package/lib/sessions.js.map +0 -1
- package/lib/tokens.d.ts +0 -40
- package/lib/tokens.js +0 -6
- package/lib/tokens.js.map +0 -1
- package/src/tokens.ts +0 -47
package/lib/client.d.ts
ADDED
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { ServerConnection, Session } from '@jupyterlab/services';
|
|
2
|
+
import { LiteKernelClient } from '@jupyterlite/kernel';
|
|
3
|
+
import { ISessionAPIClient } from '@jupyterlab/services/lib/session/session';
|
|
4
|
+
type DeepPartial<T> = {
|
|
5
|
+
[P in keyof T]?: DeepPartial<T[P]>;
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* A class to handle requests to /api/sessions
|
|
9
|
+
*/
|
|
10
|
+
export declare class LiteSessionClient implements ISessionAPIClient {
|
|
11
|
+
/**
|
|
12
|
+
* Construct a new LiteSessionClient.
|
|
13
|
+
*
|
|
14
|
+
* @param options The instantiation options for a LiteSessionClient.
|
|
15
|
+
*/
|
|
16
|
+
constructor(options: LiteSessionClient.IOptions);
|
|
17
|
+
/**
|
|
18
|
+
* The server settings for the session client.
|
|
19
|
+
*/
|
|
20
|
+
get serverSettings(): ServerConnection.ISettings;
|
|
21
|
+
/**
|
|
22
|
+
* Get a session by id.
|
|
23
|
+
*
|
|
24
|
+
* @param id The id of the session.
|
|
25
|
+
*/
|
|
26
|
+
getModel(id: string): Promise<Session.IModel>;
|
|
27
|
+
/**
|
|
28
|
+
* List the running sessions
|
|
29
|
+
*/
|
|
30
|
+
listRunning(): Promise<Session.IModel[]>;
|
|
31
|
+
/**
|
|
32
|
+
* Patch an existing session.
|
|
33
|
+
* This can be used to rename a session.
|
|
34
|
+
*
|
|
35
|
+
* - path updates session to track renamed paths
|
|
36
|
+
* - kernel.name starts a new kernel with a given kernelspec
|
|
37
|
+
*
|
|
38
|
+
* @param options The options to patch the session.
|
|
39
|
+
*/
|
|
40
|
+
update(options: DeepPartial<Session.IModel>): Promise<Session.IModel>;
|
|
41
|
+
/**
|
|
42
|
+
* Start a new session
|
|
43
|
+
* TODO: read path and name
|
|
44
|
+
*
|
|
45
|
+
* @param options The options to start a new session.
|
|
46
|
+
*/
|
|
47
|
+
startNew(options: Session.ISessionOptions): Promise<Session.IModel>;
|
|
48
|
+
/**
|
|
49
|
+
* Shut down a session.
|
|
50
|
+
*
|
|
51
|
+
* @param id The id of the session to shut down.
|
|
52
|
+
*/
|
|
53
|
+
shutdown(id: string): Promise<void>;
|
|
54
|
+
/**
|
|
55
|
+
* Shut down all sessions.
|
|
56
|
+
*/
|
|
57
|
+
shutdownAll(): Promise<void>;
|
|
58
|
+
/**
|
|
59
|
+
* Handle kernel shutdown
|
|
60
|
+
*/
|
|
61
|
+
private _handleKernelShutdown;
|
|
62
|
+
private _kernelClient;
|
|
63
|
+
private _serverSettings;
|
|
64
|
+
private _sessions;
|
|
65
|
+
private _pendingRestarts;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* A namespace for LiteSessionClient statics.
|
|
69
|
+
*/
|
|
70
|
+
export declare namespace LiteSessionClient {
|
|
71
|
+
/**
|
|
72
|
+
* The instantiation options for the session client.
|
|
73
|
+
*/
|
|
74
|
+
interface IOptions {
|
|
75
|
+
/**
|
|
76
|
+
* A reference to the kernels service.
|
|
77
|
+
*/
|
|
78
|
+
kernelClient: LiteKernelClient;
|
|
79
|
+
/**
|
|
80
|
+
* Server settings for the session client.
|
|
81
|
+
*/
|
|
82
|
+
serverSettings?: ServerConnection.ISettings;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
export {};
|
|
@@ -1,21 +1,24 @@
|
|
|
1
|
+
import { ServerConnection } from '@jupyterlab/services';
|
|
1
2
|
import { PathExt } from '@jupyterlab/coreutils';
|
|
2
3
|
import { ArrayExt } from '@lumino/algorithm';
|
|
3
4
|
import { UUID } from '@lumino/coreutils';
|
|
4
5
|
/**
|
|
5
6
|
* A class to handle requests to /api/sessions
|
|
6
7
|
*/
|
|
7
|
-
export class
|
|
8
|
+
export class LiteSessionClient {
|
|
8
9
|
/**
|
|
9
|
-
* Construct a new
|
|
10
|
+
* Construct a new LiteSessionClient.
|
|
10
11
|
*
|
|
11
|
-
* @param options The instantiation options for a
|
|
12
|
+
* @param options The instantiation options for a LiteSessionClient.
|
|
12
13
|
*/
|
|
13
14
|
constructor(options) {
|
|
15
|
+
var _a;
|
|
14
16
|
this._sessions = [];
|
|
15
17
|
this._pendingRestarts = new Set();
|
|
16
|
-
this.
|
|
18
|
+
this._kernelClient = options.kernelClient;
|
|
19
|
+
this._serverSettings = (_a = options.serverSettings) !== null && _a !== void 0 ? _a : ServerConnection.makeSettings();
|
|
17
20
|
// Listen for kernel removals
|
|
18
|
-
this.
|
|
21
|
+
this._kernelClient.changed.connect((_, args) => {
|
|
19
22
|
var _a, _b;
|
|
20
23
|
switch (args.type) {
|
|
21
24
|
case 'remove': {
|
|
@@ -51,12 +54,18 @@ export class Sessions {
|
|
|
51
54
|
}
|
|
52
55
|
});
|
|
53
56
|
}
|
|
57
|
+
/**
|
|
58
|
+
* The server settings for the session client.
|
|
59
|
+
*/
|
|
60
|
+
get serverSettings() {
|
|
61
|
+
return this._serverSettings;
|
|
62
|
+
}
|
|
54
63
|
/**
|
|
55
64
|
* Get a session by id.
|
|
56
65
|
*
|
|
57
66
|
* @param id The id of the session.
|
|
58
67
|
*/
|
|
59
|
-
async
|
|
68
|
+
async getModel(id) {
|
|
60
69
|
const session = this._sessions.find((s) => s.id === id);
|
|
61
70
|
if (!session) {
|
|
62
71
|
throw Error(`Session ${id} not found`);
|
|
@@ -66,7 +75,7 @@ export class Sessions {
|
|
|
66
75
|
/**
|
|
67
76
|
* List the running sessions
|
|
68
77
|
*/
|
|
69
|
-
async
|
|
78
|
+
async listRunning() {
|
|
70
79
|
return this._sessions;
|
|
71
80
|
}
|
|
72
81
|
/**
|
|
@@ -78,7 +87,7 @@ export class Sessions {
|
|
|
78
87
|
*
|
|
79
88
|
* @param options The options to patch the session.
|
|
80
89
|
*/
|
|
81
|
-
async
|
|
90
|
+
async update(options) {
|
|
82
91
|
const { id, path, name, kernel } = options;
|
|
83
92
|
const index = this._sessions.findIndex((s) => s.id === id);
|
|
84
93
|
const session = this._sessions[index];
|
|
@@ -99,7 +108,7 @@ export class Sessions {
|
|
|
99
108
|
}
|
|
100
109
|
}
|
|
101
110
|
else if (kernel.name) {
|
|
102
|
-
const newKernel = await this.
|
|
111
|
+
const newKernel = await this._kernelClient.startNew({
|
|
103
112
|
id: UUID.uuid4(),
|
|
104
113
|
name: kernel.name,
|
|
105
114
|
location: PathExt.dirname(patched.path),
|
|
@@ -124,21 +133,21 @@ export class Sessions {
|
|
|
124
133
|
* @param options The options to start a new session.
|
|
125
134
|
*/
|
|
126
135
|
async startNew(options) {
|
|
127
|
-
var _a, _b, _c
|
|
136
|
+
var _a, _b, _c;
|
|
128
137
|
const { path, name } = options;
|
|
129
138
|
const running = this._sessions.find((s) => s.name === name);
|
|
130
139
|
if (running) {
|
|
131
140
|
return running;
|
|
132
141
|
}
|
|
133
142
|
const kernelName = (_b = (_a = options.kernel) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : '';
|
|
134
|
-
const id =
|
|
135
|
-
const nameOrPath = (
|
|
143
|
+
const id = UUID.uuid4();
|
|
144
|
+
const nameOrPath = (_c = options.name) !== null && _c !== void 0 ? _c : options.path;
|
|
136
145
|
const dirname = PathExt.dirname(options.name) || PathExt.dirname(options.path);
|
|
137
146
|
const hasDrive = nameOrPath.includes(':');
|
|
138
147
|
const driveName = hasDrive ? nameOrPath.split(':')[0] : '';
|
|
139
148
|
// add drive name if missing (top level directory)
|
|
140
149
|
const location = dirname.includes(driveName) ? dirname : `${driveName}:${dirname}`;
|
|
141
|
-
const kernel = await this.
|
|
150
|
+
const kernel = await this._kernelClient.startNew({
|
|
142
151
|
id,
|
|
143
152
|
name: kernelName,
|
|
144
153
|
location,
|
|
@@ -171,10 +180,16 @@ export class Sessions {
|
|
|
171
180
|
}
|
|
172
181
|
const kernelId = (_a = session.kernel) === null || _a === void 0 ? void 0 : _a.id;
|
|
173
182
|
if (kernelId) {
|
|
174
|
-
await this.
|
|
183
|
+
await this._kernelClient.shutdown(kernelId);
|
|
175
184
|
}
|
|
176
185
|
ArrayExt.removeFirstOf(this._sessions, session);
|
|
177
186
|
}
|
|
187
|
+
/**
|
|
188
|
+
* Shut down all sessions.
|
|
189
|
+
*/
|
|
190
|
+
async shutdownAll() {
|
|
191
|
+
await Promise.all(this._sessions.map((s) => this.shutdown(s.id)));
|
|
192
|
+
}
|
|
178
193
|
/**
|
|
179
194
|
* Handle kernel shutdown
|
|
180
195
|
*/
|
|
@@ -182,4 +197,4 @@ export class Sessions {
|
|
|
182
197
|
// No need to handle kernel shutdown here anymore since we're using the changed signal
|
|
183
198
|
}
|
|
184
199
|
}
|
|
185
|
-
//# sourceMappingURL=
|
|
200
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/lib/index.d.ts
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
export * from './
|
|
2
|
-
export * from './sessions';
|
|
1
|
+
export * from './client';
|
package/lib/index.js
CHANGED
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAE3D,cAAc,UAAU,CAAC
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAE3D,cAAc,UAAU,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jupyterlite/session",
|
|
3
|
-
"version": "0.6.0-alpha.
|
|
3
|
+
"version": "0.6.0-alpha.4",
|
|
4
4
|
"description": "JupyterLite - Session",
|
|
5
5
|
"homepage": "https://github.com/jupyterlite/jupyterlite",
|
|
6
6
|
"bugs": {
|
|
@@ -43,21 +43,21 @@
|
|
|
43
43
|
"watch": "tsc -b --watch"
|
|
44
44
|
},
|
|
45
45
|
"dependencies": {
|
|
46
|
-
"@jupyterlab/coreutils": "~6.4.0-beta.
|
|
47
|
-
"@jupyterlab/services": "~7.4.0-beta.
|
|
48
|
-
"@jupyterlite/kernel": "^0.6.0-alpha.
|
|
46
|
+
"@jupyterlab/coreutils": "~6.4.0-beta.1",
|
|
47
|
+
"@jupyterlab/services": "~7.4.0-beta.1",
|
|
48
|
+
"@jupyterlite/kernel": "^0.6.0-alpha.4",
|
|
49
49
|
"@lumino/algorithm": "^2.0.2",
|
|
50
50
|
"@lumino/coreutils": "^2.2.0"
|
|
51
51
|
},
|
|
52
52
|
"devDependencies": {
|
|
53
53
|
"@babel/core": "^7.11.6",
|
|
54
54
|
"@babel/preset-env": "^7.12.1",
|
|
55
|
-
"@jupyterlab/testutils": "~4.4.0-beta.
|
|
55
|
+
"@jupyterlab/testutils": "~4.4.0-beta.1",
|
|
56
56
|
"@types/jest": "^29.5.3",
|
|
57
57
|
"jest": "^29.6.2",
|
|
58
58
|
"rimraf": "~5.0.1",
|
|
59
59
|
"ts-jest": "^29.1.1",
|
|
60
|
-
"typescript": "~5.
|
|
60
|
+
"typescript": "~5.5.4"
|
|
61
61
|
},
|
|
62
62
|
"publishConfig": {
|
|
63
63
|
"access": "public"
|
|
@@ -1,28 +1,33 @@
|
|
|
1
|
-
import { Session } from '@jupyterlab/services';
|
|
1
|
+
import { ServerConnection, Session } from '@jupyterlab/services';
|
|
2
2
|
|
|
3
3
|
import { PathExt } from '@jupyterlab/coreutils';
|
|
4
4
|
|
|
5
|
-
import {
|
|
5
|
+
import { LiteKernelClient } from '@jupyterlite/kernel';
|
|
6
6
|
|
|
7
7
|
import { ArrayExt } from '@lumino/algorithm';
|
|
8
8
|
|
|
9
9
|
import { UUID } from '@lumino/coreutils';
|
|
10
10
|
|
|
11
|
-
import {
|
|
11
|
+
import { ISessionAPIClient } from '@jupyterlab/services/lib/session/session';
|
|
12
|
+
|
|
13
|
+
type DeepPartial<T> = {
|
|
14
|
+
[P in keyof T]?: DeepPartial<T[P]>;
|
|
15
|
+
};
|
|
12
16
|
|
|
13
17
|
/**
|
|
14
18
|
* A class to handle requests to /api/sessions
|
|
15
19
|
*/
|
|
16
|
-
export class
|
|
20
|
+
export class LiteSessionClient implements ISessionAPIClient {
|
|
17
21
|
/**
|
|
18
|
-
* Construct a new
|
|
22
|
+
* Construct a new LiteSessionClient.
|
|
19
23
|
*
|
|
20
|
-
* @param options The instantiation options for a
|
|
24
|
+
* @param options The instantiation options for a LiteSessionClient.
|
|
21
25
|
*/
|
|
22
|
-
constructor(options:
|
|
23
|
-
this.
|
|
26
|
+
constructor(options: LiteSessionClient.IOptions) {
|
|
27
|
+
this._kernelClient = options.kernelClient;
|
|
28
|
+
this._serverSettings = options.serverSettings ?? ServerConnection.makeSettings();
|
|
24
29
|
// Listen for kernel removals
|
|
25
|
-
this.
|
|
30
|
+
this._kernelClient.changed.connect((_, args) => {
|
|
26
31
|
switch (args.type) {
|
|
27
32
|
case 'remove': {
|
|
28
33
|
const kernelId = args.oldValue?.id;
|
|
@@ -58,12 +63,19 @@ export class Sessions implements ISessions {
|
|
|
58
63
|
});
|
|
59
64
|
}
|
|
60
65
|
|
|
66
|
+
/**
|
|
67
|
+
* The server settings for the session client.
|
|
68
|
+
*/
|
|
69
|
+
get serverSettings(): ServerConnection.ISettings {
|
|
70
|
+
return this._serverSettings;
|
|
71
|
+
}
|
|
72
|
+
|
|
61
73
|
/**
|
|
62
74
|
* Get a session by id.
|
|
63
75
|
*
|
|
64
76
|
* @param id The id of the session.
|
|
65
77
|
*/
|
|
66
|
-
async
|
|
78
|
+
async getModel(id: string): Promise<Session.IModel> {
|
|
67
79
|
const session = this._sessions.find((s) => s.id === id);
|
|
68
80
|
if (!session) {
|
|
69
81
|
throw Error(`Session ${id} not found`);
|
|
@@ -74,7 +86,7 @@ export class Sessions implements ISessions {
|
|
|
74
86
|
/**
|
|
75
87
|
* List the running sessions
|
|
76
88
|
*/
|
|
77
|
-
async
|
|
89
|
+
async listRunning(): Promise<Session.IModel[]> {
|
|
78
90
|
return this._sessions;
|
|
79
91
|
}
|
|
80
92
|
|
|
@@ -87,7 +99,7 @@ export class Sessions implements ISessions {
|
|
|
87
99
|
*
|
|
88
100
|
* @param options The options to patch the session.
|
|
89
101
|
*/
|
|
90
|
-
async
|
|
102
|
+
async update(options: DeepPartial<Session.IModel>): Promise<Session.IModel> {
|
|
91
103
|
const { id, path, name, kernel } = options;
|
|
92
104
|
const index = this._sessions.findIndex((s) => s.id === id);
|
|
93
105
|
const session = this._sessions[index];
|
|
@@ -110,7 +122,7 @@ export class Sessions implements ISessions {
|
|
|
110
122
|
patched.kernel = session.kernel;
|
|
111
123
|
}
|
|
112
124
|
} else if (kernel.name) {
|
|
113
|
-
const newKernel = await this.
|
|
125
|
+
const newKernel = await this._kernelClient.startNew({
|
|
114
126
|
id: UUID.uuid4(),
|
|
115
127
|
name: kernel.name,
|
|
116
128
|
location: PathExt.dirname(patched.path),
|
|
@@ -138,21 +150,21 @@ export class Sessions implements ISessions {
|
|
|
138
150
|
*
|
|
139
151
|
* @param options The options to start a new session.
|
|
140
152
|
*/
|
|
141
|
-
async startNew(options: Session.
|
|
153
|
+
async startNew(options: Session.ISessionOptions): Promise<Session.IModel> {
|
|
142
154
|
const { path, name } = options;
|
|
143
155
|
const running = this._sessions.find((s) => s.name === name);
|
|
144
156
|
if (running) {
|
|
145
157
|
return running;
|
|
146
158
|
}
|
|
147
159
|
const kernelName = options.kernel?.name ?? '';
|
|
148
|
-
const id =
|
|
160
|
+
const id = UUID.uuid4();
|
|
149
161
|
const nameOrPath = options.name ?? options.path;
|
|
150
162
|
const dirname = PathExt.dirname(options.name) || PathExt.dirname(options.path);
|
|
151
163
|
const hasDrive = nameOrPath.includes(':');
|
|
152
164
|
const driveName = hasDrive ? nameOrPath.split(':')[0] : '';
|
|
153
165
|
// add drive name if missing (top level directory)
|
|
154
166
|
const location = dirname.includes(driveName) ? dirname : `${driveName}:${dirname}`;
|
|
155
|
-
const kernel = await this.
|
|
167
|
+
const kernel = await this._kernelClient.startNew({
|
|
156
168
|
id,
|
|
157
169
|
name: kernelName,
|
|
158
170
|
location,
|
|
@@ -187,11 +199,18 @@ export class Sessions implements ISessions {
|
|
|
187
199
|
}
|
|
188
200
|
const kernelId = session.kernel?.id;
|
|
189
201
|
if (kernelId) {
|
|
190
|
-
await this.
|
|
202
|
+
await this._kernelClient.shutdown(kernelId);
|
|
191
203
|
}
|
|
192
204
|
ArrayExt.removeFirstOf(this._sessions, session);
|
|
193
205
|
}
|
|
194
206
|
|
|
207
|
+
/**
|
|
208
|
+
* Shut down all sessions.
|
|
209
|
+
*/
|
|
210
|
+
async shutdownAll(): Promise<void> {
|
|
211
|
+
await Promise.all(this._sessions.map((s) => this.shutdown(s.id)));
|
|
212
|
+
}
|
|
213
|
+
|
|
195
214
|
/**
|
|
196
215
|
* Handle kernel shutdown
|
|
197
216
|
*/
|
|
@@ -205,22 +224,28 @@ export class Sessions implements ISessions {
|
|
|
205
224
|
// No need to handle kernel shutdown here anymore since we're using the changed signal
|
|
206
225
|
}
|
|
207
226
|
|
|
208
|
-
private
|
|
227
|
+
private _kernelClient: LiteKernelClient;
|
|
228
|
+
private _serverSettings: ServerConnection.ISettings;
|
|
209
229
|
private _sessions: Session.IModel[] = [];
|
|
210
230
|
private _pendingRestarts = new Set<string>();
|
|
211
231
|
}
|
|
212
232
|
|
|
213
233
|
/**
|
|
214
|
-
* A namespace for
|
|
234
|
+
* A namespace for LiteSessionClient statics.
|
|
215
235
|
*/
|
|
216
|
-
export namespace
|
|
236
|
+
export namespace LiteSessionClient {
|
|
217
237
|
/**
|
|
218
|
-
* The instantiation options for the
|
|
238
|
+
* The instantiation options for the session client.
|
|
219
239
|
*/
|
|
220
240
|
export interface IOptions {
|
|
221
241
|
/**
|
|
222
242
|
* A reference to the kernels service.
|
|
223
243
|
*/
|
|
224
|
-
|
|
244
|
+
kernelClient: LiteKernelClient;
|
|
245
|
+
|
|
246
|
+
/**
|
|
247
|
+
* Server settings for the session client.
|
|
248
|
+
*/
|
|
249
|
+
serverSettings?: ServerConnection.ISettings;
|
|
225
250
|
}
|
|
226
251
|
}
|
package/src/index.ts
CHANGED
package/lib/sessions.d.ts
DELETED
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import { Session } from '@jupyterlab/services';
|
|
2
|
-
import { IKernels } from '@jupyterlite/kernel';
|
|
3
|
-
import { ISessions } from './tokens';
|
|
4
|
-
/**
|
|
5
|
-
* A class to handle requests to /api/sessions
|
|
6
|
-
*/
|
|
7
|
-
export declare class Sessions implements ISessions {
|
|
8
|
-
/**
|
|
9
|
-
* Construct a new Sessions.
|
|
10
|
-
*
|
|
11
|
-
* @param options The instantiation options for a Sessions.
|
|
12
|
-
*/
|
|
13
|
-
constructor(options: Sessions.IOptions);
|
|
14
|
-
/**
|
|
15
|
-
* Get a session by id.
|
|
16
|
-
*
|
|
17
|
-
* @param id The id of the session.
|
|
18
|
-
*/
|
|
19
|
-
get(id: string): Promise<Session.IModel>;
|
|
20
|
-
/**
|
|
21
|
-
* List the running sessions
|
|
22
|
-
*/
|
|
23
|
-
list(): Promise<Session.IModel[]>;
|
|
24
|
-
/**
|
|
25
|
-
* Patch an existing session.
|
|
26
|
-
* This can be used to rename a session.
|
|
27
|
-
*
|
|
28
|
-
* - path updates session to track renamed paths
|
|
29
|
-
* - kernel.name starts a new kernel with a given kernelspec
|
|
30
|
-
*
|
|
31
|
-
* @param options The options to patch the session.
|
|
32
|
-
*/
|
|
33
|
-
patch(options: Session.IModel): Promise<Session.IModel>;
|
|
34
|
-
/**
|
|
35
|
-
* Start a new session
|
|
36
|
-
* TODO: read path and name
|
|
37
|
-
*
|
|
38
|
-
* @param options The options to start a new session.
|
|
39
|
-
*/
|
|
40
|
-
startNew(options: Session.IModel): Promise<Session.IModel>;
|
|
41
|
-
/**
|
|
42
|
-
* Shut down a session.
|
|
43
|
-
*
|
|
44
|
-
* @param id The id of the session to shut down.
|
|
45
|
-
*/
|
|
46
|
-
shutdown(id: string): Promise<void>;
|
|
47
|
-
/**
|
|
48
|
-
* Handle kernel shutdown
|
|
49
|
-
*/
|
|
50
|
-
private _handleKernelShutdown;
|
|
51
|
-
private _kernels;
|
|
52
|
-
private _sessions;
|
|
53
|
-
private _pendingRestarts;
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* A namespace for sessions statics.
|
|
57
|
-
*/
|
|
58
|
-
export declare namespace Sessions {
|
|
59
|
-
/**
|
|
60
|
-
* The instantiation options for the sessions.
|
|
61
|
-
*/
|
|
62
|
-
interface IOptions {
|
|
63
|
-
/**
|
|
64
|
-
* A reference to the kernels service.
|
|
65
|
-
*/
|
|
66
|
-
kernels: IKernels;
|
|
67
|
-
}
|
|
68
|
-
}
|
package/lib/sessions.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sessions.js","sourceRoot":"","sources":["../src/sessions.ts"],"names":[],"mappings":"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"}
|
package/lib/tokens.d.ts
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { Session } from '@jupyterlab/services';
|
|
2
|
-
import { Token } from '@lumino/coreutils';
|
|
3
|
-
/**
|
|
4
|
-
* The token for the sessions service.
|
|
5
|
-
*/
|
|
6
|
-
export declare const ISessions: Token<ISessions>;
|
|
7
|
-
/**
|
|
8
|
-
* The interface for the sessions services.
|
|
9
|
-
*/
|
|
10
|
-
export interface ISessions {
|
|
11
|
-
/**
|
|
12
|
-
* Get a session by id.
|
|
13
|
-
*
|
|
14
|
-
* @param id The id of the session.
|
|
15
|
-
*/
|
|
16
|
-
get(id: string): Promise<Session.IModel>;
|
|
17
|
-
/**
|
|
18
|
-
* List the running sessions
|
|
19
|
-
*/
|
|
20
|
-
list(): Promise<Session.IModel[]>;
|
|
21
|
-
/**
|
|
22
|
-
* Path an existing session.
|
|
23
|
-
* This can be used to rename a session.
|
|
24
|
-
*
|
|
25
|
-
* @param options The options to patch the session.
|
|
26
|
-
*/
|
|
27
|
-
patch: (options: Session.IModel) => Promise<Session.IModel>;
|
|
28
|
-
/**
|
|
29
|
-
* Start a new session.
|
|
30
|
-
*
|
|
31
|
-
* @param options The options to start a new session.
|
|
32
|
-
*/
|
|
33
|
-
startNew: (options: Session.IModel) => Promise<Session.IModel>;
|
|
34
|
-
/**
|
|
35
|
-
* Shut down a session.
|
|
36
|
-
*
|
|
37
|
-
* @param id The id of the session to shut down.
|
|
38
|
-
*/
|
|
39
|
-
shutdown: (id: string) => Promise<void>;
|
|
40
|
-
}
|
package/lib/tokens.js
DELETED
package/lib/tokens.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,KAAK,CAAY,gCAAgC,CAAC,CAAC"}
|
package/src/tokens.ts
DELETED
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { Session } from '@jupyterlab/services';
|
|
2
|
-
|
|
3
|
-
import { Token } from '@lumino/coreutils';
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* The token for the sessions service.
|
|
7
|
-
*/
|
|
8
|
-
export const ISessions = new Token<ISessions>('@jupyterlite/session:ISessions');
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* The interface for the sessions services.
|
|
12
|
-
*/
|
|
13
|
-
export interface ISessions {
|
|
14
|
-
/**
|
|
15
|
-
* Get a session by id.
|
|
16
|
-
*
|
|
17
|
-
* @param id The id of the session.
|
|
18
|
-
*/
|
|
19
|
-
get(id: string): Promise<Session.IModel>;
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* List the running sessions
|
|
23
|
-
*/
|
|
24
|
-
list(): Promise<Session.IModel[]>;
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* Path an existing session.
|
|
28
|
-
* This can be used to rename a session.
|
|
29
|
-
*
|
|
30
|
-
* @param options The options to patch the session.
|
|
31
|
-
*/
|
|
32
|
-
patch: (options: Session.IModel) => Promise<Session.IModel>;
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* Start a new session.
|
|
36
|
-
*
|
|
37
|
-
* @param options The options to start a new session.
|
|
38
|
-
*/
|
|
39
|
-
startNew: (options: Session.IModel) => Promise<Session.IModel>;
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* Shut down a session.
|
|
43
|
-
*
|
|
44
|
-
* @param id The id of the session to shut down.
|
|
45
|
-
*/
|
|
46
|
-
shutdown: (id: string) => Promise<void>;
|
|
47
|
-
}
|