@difizen/libro-kernel 0.0.2-alpha.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/LICENSE +21 -0
- package/README.md +1 -0
- package/es/basemanager.d.ts +94 -0
- package/es/basemanager.d.ts.map +1 -0
- package/es/basemanager.js +110 -0
- package/es/contents/contents-drive.d.ts +189 -0
- package/es/contents/contents-drive.d.ts.map +1 -0
- package/es/contents/contents-drive.js +792 -0
- package/es/contents/contents-manager.d.ts +229 -0
- package/es/contents/contents-manager.d.ts.map +1 -0
- package/es/contents/contents-manager.js +551 -0
- package/es/contents/contents-module.d.ts +3 -0
- package/es/contents/contents-module.d.ts.map +1 -0
- package/es/contents/contents-module.js +4 -0
- package/es/contents/contents-protocol.d.ts +487 -0
- package/es/contents/contents-protocol.d.ts.map +1 -0
- package/es/contents/contents-protocol.js +1 -0
- package/es/contents/index.d.ts +6 -0
- package/es/contents/index.d.ts.map +1 -0
- package/es/contents/index.js +5 -0
- package/es/contents/validate.d.ts +10 -0
- package/es/contents/validate.d.ts.map +1 -0
- package/es/contents/validate.js +22 -0
- package/es/index.d.ts +10 -0
- package/es/index.d.ts.map +1 -0
- package/es/index.js +9 -0
- package/es/index.less +0 -0
- package/es/kernel/comm.d.ts +92 -0
- package/es/kernel/comm.d.ts.map +1 -0
- package/es/kernel/comm.js +216 -0
- package/es/kernel/future.d.ts +178 -0
- package/es/kernel/future.d.ts.map +1 -0
- package/es/kernel/future.js +587 -0
- package/es/kernel/index.d.ts +8 -0
- package/es/kernel/index.d.ts.map +1 -0
- package/es/kernel/index.js +8 -0
- package/es/kernel/kernel-connection.d.ts +550 -0
- package/es/kernel/kernel-connection.d.ts.map +1 -0
- package/es/kernel/kernel-connection.js +1957 -0
- package/es/kernel/kernel-module.d.ts +3 -0
- package/es/kernel/kernel-module.d.ts.map +1 -0
- package/es/kernel/kernel-module.js +32 -0
- package/es/kernel/libro-kernel-manager.d.ts +69 -0
- package/es/kernel/libro-kernel-manager.d.ts.map +1 -0
- package/es/kernel/libro-kernel-manager.js +349 -0
- package/es/kernel/libro-kernel-protocol.d.ts +675 -0
- package/es/kernel/libro-kernel-protocol.d.ts.map +1 -0
- package/es/kernel/libro-kernel-protocol.js +60 -0
- package/es/kernel/libro-kernel-utils.d.ts +95 -0
- package/es/kernel/libro-kernel-utils.d.ts.map +1 -0
- package/es/kernel/libro-kernel-utils.js +130 -0
- package/es/kernel/libro-kernel.d.ts +14 -0
- package/es/kernel/libro-kernel.d.ts.map +1 -0
- package/es/kernel/libro-kernel.js +54 -0
- package/es/kernel/messages.d.ts +845 -0
- package/es/kernel/messages.d.ts.map +1 -0
- package/es/kernel/messages.js +457 -0
- package/es/kernel/restapi.d.ts +78 -0
- package/es/kernel/restapi.d.ts.map +1 -0
- package/es/kernel/restapi.js +367 -0
- package/es/kernel/serialize.d.ts +10 -0
- package/es/kernel/serialize.d.ts.map +1 -0
- package/es/kernel/serialize.js +214 -0
- package/es/kernel/validate.d.ts +15 -0
- package/es/kernel/validate.d.ts.map +1 -0
- package/es/kernel/validate.js +125 -0
- package/es/kernelspec/index.d.ts +5 -0
- package/es/kernelspec/index.d.ts.map +1 -0
- package/es/kernelspec/index.js +4 -0
- package/es/kernelspec/kernelspec-module.d.ts +3 -0
- package/es/kernelspec/kernelspec-module.d.ts.map +1 -0
- package/es/kernelspec/kernelspec-module.js +4 -0
- package/es/kernelspec/kernelspec.d.ts +33 -0
- package/es/kernelspec/kernelspec.d.ts.map +1 -0
- package/es/kernelspec/kernelspec.js +1 -0
- package/es/kernelspec/manager.d.ts +81 -0
- package/es/kernelspec/manager.d.ts.map +1 -0
- package/es/kernelspec/manager.js +248 -0
- package/es/kernelspec/restapi.d.ts +71 -0
- package/es/kernelspec/restapi.d.ts.map +1 -0
- package/es/kernelspec/restapi.js +107 -0
- package/es/kernelspec/validate.d.ts +10 -0
- package/es/kernelspec/validate.d.ts.map +1 -0
- package/es/kernelspec/validate.js +69 -0
- package/es/libro-kernel-connection-manager.d.ts +19 -0
- package/es/libro-kernel-connection-manager.d.ts.map +1 -0
- package/es/libro-kernel-connection-manager.js +142 -0
- package/es/module.d.ts +3 -0
- package/es/module.d.ts.map +1 -0
- package/es/module.js +9 -0
- package/es/page-config.d.ts +36 -0
- package/es/page-config.d.ts.map +1 -0
- package/es/page-config.js +129 -0
- package/es/protocol.d.ts +13 -0
- package/es/protocol.d.ts.map +1 -0
- package/es/protocol.js +8 -0
- package/es/server/connection-error.d.ts +36 -0
- package/es/server/connection-error.d.ts.map +1 -0
- package/es/server/connection-error.js +109 -0
- package/es/server/index.d.ts +6 -0
- package/es/server/index.d.ts.map +1 -0
- package/es/server/index.js +5 -0
- package/es/server/server-connection-protocol.d.ts +49 -0
- package/es/server/server-connection-protocol.d.ts.map +1 -0
- package/es/server/server-connection-protocol.js +0 -0
- package/es/server/server-connection.d.ts +25 -0
- package/es/server/server-connection.d.ts.map +1 -0
- package/es/server/server-connection.js +159 -0
- package/es/server/server-manager.d.ts +22 -0
- package/es/server/server-manager.d.ts.map +1 -0
- package/es/server/server-manager.js +163 -0
- package/es/server/server-module.d.ts +3 -0
- package/es/server/server-module.d.ts.map +1 -0
- package/es/server/server-module.js +4 -0
- package/es/session/index.d.ts +5 -0
- package/es/session/index.d.ts.map +1 -0
- package/es/session/index.js +4 -0
- package/es/session/libro-session-manager.d.ts +71 -0
- package/es/session/libro-session-manager.d.ts.map +1 -0
- package/es/session/libro-session-manager.js +539 -0
- package/es/session/libro-session-protocol.d.ts +50 -0
- package/es/session/libro-session-protocol.d.ts.map +1 -0
- package/es/session/libro-session-protocol.js +21 -0
- package/es/session/libro-session.d.ts +12 -0
- package/es/session/libro-session.d.ts.map +1 -0
- package/es/session/libro-session.js +19 -0
- package/es/session/restapi.d.ts +28 -0
- package/es/session/restapi.d.ts.map +1 -0
- package/es/session/restapi.js +214 -0
- package/es/session/session-module.d.ts +3 -0
- package/es/session/session-module.d.ts.map +1 -0
- package/es/session/session-module.js +18 -0
- package/es/session/validate.d.ts +14 -0
- package/es/session/validate.d.ts.map +1 -0
- package/es/session/validate.js +37 -0
- package/es/utils.d.ts +4 -0
- package/es/utils.d.ts.map +1 -0
- package/es/utils.js +29 -0
- package/es/validate-property.d.ts +2 -0
- package/es/validate-property.d.ts.map +1 -0
- package/es/validate-property.js +35 -0
- package/package.json +62 -0
- package/src/basemanager.ts +133 -0
- package/src/contents/contents-drive.ts +495 -0
- package/src/contents/contents-manager.ts +465 -0
- package/src/contents/contents-module.ts +6 -0
- package/src/contents/contents-protocol.ts +604 -0
- package/src/contents/index.ts +5 -0
- package/src/contents/validate.ts +29 -0
- package/src/index.tsx +9 -0
- package/src/kernel/comm.ts +220 -0
- package/src/kernel/future.ts +474 -0
- package/src/kernel/index.ts +7 -0
- package/src/kernel/kernel-connection.ts +1770 -0
- package/src/kernel/kernel-module.ts +50 -0
- package/src/kernel/libro-kernel-manager.ts +199 -0
- package/src/kernel/libro-kernel-protocol.ts +858 -0
- package/src/kernel/libro-kernel-utils.ts +152 -0
- package/src/kernel/libro-kernel.ts +39 -0
- package/src/kernel/messages.ts +1104 -0
- package/src/kernel/restapi.ts +183 -0
- package/src/kernel/serialize.ts +262 -0
- package/src/kernel/validate.ts +101 -0
- package/src/kernelspec/index.ts +5 -0
- package/src/kernelspec/kernelspec-module.ts +9 -0
- package/src/kernelspec/kernelspec.ts +37 -0
- package/src/kernelspec/manager.ts +173 -0
- package/src/kernelspec/restapi.ts +104 -0
- package/src/kernelspec/validate.ts +80 -0
- package/src/libro-kernel-connection-manager.ts +73 -0
- package/src/module.ts +19 -0
- package/src/page-config.ts +106 -0
- package/src/protocol.ts +24 -0
- package/src/server/connection-error.ts +60 -0
- package/src/server/index.ts +5 -0
- package/src/server/server-connection-protocol.ts +57 -0
- package/src/server/server-connection.ts +144 -0
- package/src/server/server-manager.ts +76 -0
- package/src/server/server-module.ts +9 -0
- package/src/session/index.ts +4 -0
- package/src/session/libro-session-manager.ts +377 -0
- package/src/session/libro-session-protocol.ts +61 -0
- package/src/session/libro-session.ts +33 -0
- package/src/session/restapi.ts +126 -0
- package/src/session/session-module.ts +26 -0
- package/src/session/validate.ts +39 -0
- package/src/utils.ts +28 -0
- package/src/validate-property.ts +38 -0
|
@@ -0,0 +1,550 @@
|
|
|
1
|
+
import type { JSONObject } from '@difizen/libro-common';
|
|
2
|
+
import type { Event as ManaEvent } from '@difizen/mana-app';
|
|
3
|
+
import { Deferred, Emitter } from '@difizen/mana-app';
|
|
4
|
+
import type { ISpecModel } from '../kernelspec/index.js';
|
|
5
|
+
import { KernelSpecRestAPI } from '../kernelspec/index.js';
|
|
6
|
+
import { ServerConnection } from '../server/index.js';
|
|
7
|
+
import type { ISettings } from '../server/index.js';
|
|
8
|
+
import type { KernelFutureHandler } from './future.js';
|
|
9
|
+
import type { ConnectionStatus, IAnyMessageArgs, IComm, IControlFuture, IFuture, IKernelConnection, IKernelModel, IShellFuture } from './libro-kernel-protocol.js';
|
|
10
|
+
import { KernelConnectionOptions, LibroKernelConnectionFactory } from './libro-kernel-protocol.js';
|
|
11
|
+
import * as KernelMessage from './messages.js';
|
|
12
|
+
import { KernelRestAPI } from './restapi.js';
|
|
13
|
+
/**
|
|
14
|
+
* Implementation of the Kernel object.
|
|
15
|
+
*
|
|
16
|
+
* #### Notes
|
|
17
|
+
* Messages from the server are handled in the order they were received and
|
|
18
|
+
* asynchronously. Any message handler can return a promise, and message
|
|
19
|
+
* handling will pause until the promise is fulfilled.
|
|
20
|
+
*/
|
|
21
|
+
export declare class KernelConnection implements IKernelConnection {
|
|
22
|
+
kernelSpecRestAPI: KernelSpecRestAPI;
|
|
23
|
+
kernelRestAPI: KernelRestAPI;
|
|
24
|
+
libroKernelConnectionFactory: LibroKernelConnectionFactory;
|
|
25
|
+
/**
|
|
26
|
+
* Construct a kernel object.
|
|
27
|
+
*/
|
|
28
|
+
constructor(options: KernelConnectionOptions, serverConnection: ServerConnection);
|
|
29
|
+
send(msg: string | ArrayBuffer): void;
|
|
30
|
+
get onDisposed(): ManaEvent<void>;
|
|
31
|
+
/**
|
|
32
|
+
* The server settings for the kernel.
|
|
33
|
+
*/
|
|
34
|
+
readonly serverSettings: ISettings;
|
|
35
|
+
/**
|
|
36
|
+
* Handle comm messages
|
|
37
|
+
*
|
|
38
|
+
* #### Notes
|
|
39
|
+
* The comm message protocol currently has implicit assumptions that only
|
|
40
|
+
* one kernel connection is handling comm messages. This option allows a
|
|
41
|
+
* kernel connection to opt out of handling comms.
|
|
42
|
+
*
|
|
43
|
+
* See https://github.com/jupyter/jupyter_client/issues/263
|
|
44
|
+
*/
|
|
45
|
+
readonly handleComms: boolean;
|
|
46
|
+
/**
|
|
47
|
+
* A signal emitted when the kernel status changes.
|
|
48
|
+
*/
|
|
49
|
+
get statusChanged(): ManaEvent<KernelMessage.Status>;
|
|
50
|
+
/**
|
|
51
|
+
* A signal emitted when the kernel status changes.
|
|
52
|
+
*/
|
|
53
|
+
get connectionStatusChanged(): ManaEvent<ConnectionStatus>;
|
|
54
|
+
/**
|
|
55
|
+
* A signal emitted for iopub kernel messages.
|
|
56
|
+
*
|
|
57
|
+
* #### Notes
|
|
58
|
+
* This signal is emitted after the iopub message is handled asynchronously.
|
|
59
|
+
*/
|
|
60
|
+
get iopubMessage(): ManaEvent<KernelMessage.IIOPubMessage>;
|
|
61
|
+
/**
|
|
62
|
+
* A signal emitted for unhandled kernel message.
|
|
63
|
+
*
|
|
64
|
+
* #### Notes
|
|
65
|
+
* This signal is emitted for a message that was not handled. It is emitted
|
|
66
|
+
* during the asynchronous message handling code.
|
|
67
|
+
*/
|
|
68
|
+
get unhandledMessage(): ManaEvent<KernelMessage.IMessage>;
|
|
69
|
+
/**
|
|
70
|
+
* The kernel model
|
|
71
|
+
*/
|
|
72
|
+
get model(): IKernelModel;
|
|
73
|
+
/**
|
|
74
|
+
* A signal emitted for any kernel message.
|
|
75
|
+
*
|
|
76
|
+
* #### Notes
|
|
77
|
+
* This signal is emitted when a message is received, before it is handled
|
|
78
|
+
* asynchronously.
|
|
79
|
+
*
|
|
80
|
+
* This message is emitted when a message is queued for sending (either in
|
|
81
|
+
* the websocket buffer, or our own pending message buffer). The message may
|
|
82
|
+
* actually be sent across the wire at a later time.
|
|
83
|
+
*
|
|
84
|
+
* The message emitted in this signal should not be modified in any way.
|
|
85
|
+
*/
|
|
86
|
+
get anyMessage(): ManaEvent<IAnyMessageArgs>;
|
|
87
|
+
/**
|
|
88
|
+
* A signal emitted when a kernel has pending inputs from the user.
|
|
89
|
+
*/
|
|
90
|
+
get pendingInput(): ManaEvent<boolean>;
|
|
91
|
+
/**
|
|
92
|
+
* The id of the server-side kernel.
|
|
93
|
+
*/
|
|
94
|
+
get id(): string;
|
|
95
|
+
/**
|
|
96
|
+
* The name of the server-side kernel.
|
|
97
|
+
*/
|
|
98
|
+
get name(): string;
|
|
99
|
+
/**
|
|
100
|
+
* The client username.
|
|
101
|
+
*/
|
|
102
|
+
get username(): string;
|
|
103
|
+
/**
|
|
104
|
+
* The client unique id.
|
|
105
|
+
*/
|
|
106
|
+
get clientId(): string;
|
|
107
|
+
/**
|
|
108
|
+
* The current status of the kernel.
|
|
109
|
+
*/
|
|
110
|
+
get status(): KernelMessage.Status;
|
|
111
|
+
/**
|
|
112
|
+
* The current connection status of the kernel connection.
|
|
113
|
+
*/
|
|
114
|
+
get connectionStatus(): ConnectionStatus;
|
|
115
|
+
/**
|
|
116
|
+
* Test whether the kernel has been disposed.
|
|
117
|
+
*/
|
|
118
|
+
get isDisposed(): boolean;
|
|
119
|
+
/**
|
|
120
|
+
* The cached kernel info.
|
|
121
|
+
*
|
|
122
|
+
* @returns A promise that resolves to the kernel info.
|
|
123
|
+
*/
|
|
124
|
+
get info(): Promise<KernelMessage.IInfoReply>;
|
|
125
|
+
/**
|
|
126
|
+
* The kernel spec.
|
|
127
|
+
*
|
|
128
|
+
* @returns A promise that resolves to the kernel spec.
|
|
129
|
+
*/
|
|
130
|
+
get spec(): Promise<ISpecModel | undefined>;
|
|
131
|
+
/**
|
|
132
|
+
* Clone the current kernel with a new clientId.
|
|
133
|
+
*/
|
|
134
|
+
clone(options?: Pick<KernelConnectionOptions, 'clientId' | 'username' | 'handleComms'>): IKernelConnection;
|
|
135
|
+
/**
|
|
136
|
+
* Dispose of the resources held by the kernel.
|
|
137
|
+
*/
|
|
138
|
+
dispose(): void;
|
|
139
|
+
/**
|
|
140
|
+
* Send a shell message to the kernel.
|
|
141
|
+
*
|
|
142
|
+
* #### Notes
|
|
143
|
+
* Send a message to the kernel's shell channel, yielding a future object
|
|
144
|
+
* for accepting replies.
|
|
145
|
+
*
|
|
146
|
+
* If `expectReply` is given and `true`, the future is disposed when both a
|
|
147
|
+
* shell reply and an idle status message are received. If `expectReply`
|
|
148
|
+
* is not given or is `false`, the future is resolved when an idle status
|
|
149
|
+
* message is received.
|
|
150
|
+
* If `disposeOnDone` is not given or is `true`, the Future is disposed at this point.
|
|
151
|
+
* If `disposeOnDone` is given and `false`, it is up to the caller to dispose of the Future.
|
|
152
|
+
*
|
|
153
|
+
* All replies are validated as valid kernel messages.
|
|
154
|
+
*
|
|
155
|
+
* If the kernel status is `dead`, this will throw an error.
|
|
156
|
+
*/
|
|
157
|
+
sendShellMessage<T extends KernelMessage.ShellMessageType>(msg: KernelMessage.IShellMessage<T>, expectReply?: boolean, disposeOnDone?: boolean): IShellFuture<KernelMessage.IShellMessage<T>>;
|
|
158
|
+
/**
|
|
159
|
+
* Send a control message to the kernel.
|
|
160
|
+
*
|
|
161
|
+
* #### Notes
|
|
162
|
+
* Send a message to the kernel's control channel, yielding a future object
|
|
163
|
+
* for accepting replies.
|
|
164
|
+
*
|
|
165
|
+
* If `expectReply` is given and `true`, the future is disposed when both a
|
|
166
|
+
* control reply and an idle status message are received. If `expectReply`
|
|
167
|
+
* is not given or is `false`, the future is resolved when an idle status
|
|
168
|
+
* message is received.
|
|
169
|
+
* If `disposeOnDone` is not given or is `true`, the Future is disposed at this point.
|
|
170
|
+
* If `disposeOnDone` is given and `false`, it is up to the caller to dispose of the Future.
|
|
171
|
+
*
|
|
172
|
+
* All replies are validated as valid kernel messages.
|
|
173
|
+
*
|
|
174
|
+
* If the kernel status is `dead`, this will throw an error.
|
|
175
|
+
*/
|
|
176
|
+
sendControlMessage<T extends KernelMessage.ControlMessageType>(msg: KernelMessage.IControlMessage<T>, expectReply?: boolean, disposeOnDone?: boolean): IControlFuture<KernelMessage.IControlMessage<T>>;
|
|
177
|
+
protected _sendKernelShellControl<REQUEST extends KernelMessage.IShellControlMessage, REPLY extends KernelMessage.IShellControlMessage, KFH extends new (...params: any[]) => KernelFutureHandler<REQUEST, REPLY>, T extends KernelMessage.IMessage>(ctor: KFH, msg: T, expectReply?: boolean, disposeOnDone?: boolean): IFuture<KernelMessage.IShellControlMessage, KernelMessage.IShellControlMessage>;
|
|
178
|
+
/**
|
|
179
|
+
* Send a message on the websocket.
|
|
180
|
+
*
|
|
181
|
+
* If queue is true, queue the message for later sending if we cannot send
|
|
182
|
+
* now. Otherwise throw an error.
|
|
183
|
+
*
|
|
184
|
+
* #### Notes
|
|
185
|
+
* As an exception to the queueing, if we are sending a kernel_info_request
|
|
186
|
+
* message while we think the kernel is restarting, we send the message
|
|
187
|
+
* immediately without queueing. This is so that we can trigger a message
|
|
188
|
+
* back, which will then clear the kernel restarting state.
|
|
189
|
+
*/
|
|
190
|
+
protected _sendMessage(msg: KernelMessage.IMessage, queue?: boolean): void;
|
|
191
|
+
/**
|
|
192
|
+
* Interrupt a kernel.
|
|
193
|
+
*
|
|
194
|
+
* #### Notes
|
|
195
|
+
* Uses the [Jupyter Notebook API](http://petstore.swagger.io/?url=https://raw.githubusercontent.com/jupyter/notebook/master/notebook/services/api/api.yaml#!/kernels).
|
|
196
|
+
*
|
|
197
|
+
* The promise is fulfilled on a valid response and rejected otherwise.
|
|
198
|
+
*
|
|
199
|
+
* It is assumed that the API call does not mutate the kernel id or name.
|
|
200
|
+
*
|
|
201
|
+
* The promise will be rejected if the kernel status is `Dead` or if the
|
|
202
|
+
* request fails or the response is invalid.
|
|
203
|
+
*/
|
|
204
|
+
interrupt(): Promise<void>;
|
|
205
|
+
/**
|
|
206
|
+
* Request a kernel restart.
|
|
207
|
+
*
|
|
208
|
+
* #### Notes
|
|
209
|
+
* Uses the [Jupyter Notebook API](http://petstore.swagger.io/?url=https://raw.githubusercontent.com/jupyter/notebook/master/notebook/services/api/api.yaml#!/kernels)
|
|
210
|
+
* and validates the response model.
|
|
211
|
+
*
|
|
212
|
+
* Any existing Future or Comm objects are cleared once the kernel has
|
|
213
|
+
* actually be restarted.
|
|
214
|
+
*
|
|
215
|
+
* The promise is fulfilled on a valid server response (after the kernel restarts)
|
|
216
|
+
* and rejected otherwise.
|
|
217
|
+
*
|
|
218
|
+
* It is assumed that the API call does not mutate the kernel id or name.
|
|
219
|
+
*
|
|
220
|
+
* The promise will be rejected if the request fails or the response is
|
|
221
|
+
* invalid.
|
|
222
|
+
*/
|
|
223
|
+
restart(): Promise<void>;
|
|
224
|
+
/**
|
|
225
|
+
* Reconnect to a kernel.
|
|
226
|
+
*
|
|
227
|
+
* #### Notes
|
|
228
|
+
* This may try multiple times to reconnect to a kernel, and will sever any
|
|
229
|
+
* existing connection.
|
|
230
|
+
*/
|
|
231
|
+
reconnect(): Promise<void>;
|
|
232
|
+
/**
|
|
233
|
+
* Shutdown a kernel.
|
|
234
|
+
*
|
|
235
|
+
* #### Notes
|
|
236
|
+
* Uses the [Jupyter Notebook API](http://petstore.swagger.io/?url=https://raw.githubusercontent.com/jupyter/notebook/master/notebook/services/api/api.yaml#!/kernels).
|
|
237
|
+
*
|
|
238
|
+
* The promise is fulfilled on a valid response and rejected otherwise.
|
|
239
|
+
*
|
|
240
|
+
* On a valid response, disposes this kernel connection.
|
|
241
|
+
*
|
|
242
|
+
* If the kernel is already `dead`, disposes this kernel connection without
|
|
243
|
+
* a server request.
|
|
244
|
+
*/
|
|
245
|
+
shutdown(): Promise<void>;
|
|
246
|
+
/**
|
|
247
|
+
* Handles a kernel shutdown.
|
|
248
|
+
*
|
|
249
|
+
* #### Notes
|
|
250
|
+
* This method should be called if we know from outside information that a
|
|
251
|
+
* kernel is dead (for example, we cannot find the kernel model on the
|
|
252
|
+
* server).
|
|
253
|
+
*/
|
|
254
|
+
handleShutdown(): void;
|
|
255
|
+
/**
|
|
256
|
+
* Send a `kernel_info_request` message.
|
|
257
|
+
*
|
|
258
|
+
* #### Notes
|
|
259
|
+
* See [Messaging in Jupyter](https://jupyter-client.readthedocs.io/en/latest/messaging.html#kernel-info).
|
|
260
|
+
*
|
|
261
|
+
* Fulfills with the `kernel_info_response` content when the shell reply is
|
|
262
|
+
* received and validated.
|
|
263
|
+
*/
|
|
264
|
+
requestKernelInfo(): Promise<KernelMessage.IInfoReplyMsg | undefined>;
|
|
265
|
+
/**
|
|
266
|
+
* Send a `complete_request` message.
|
|
267
|
+
*
|
|
268
|
+
* #### Notes
|
|
269
|
+
* See [Messaging in Jupyter](https://jupyter-client.readthedocs.io/en/latest/messaging.html#completion).
|
|
270
|
+
*
|
|
271
|
+
* Fulfills with the `complete_reply` content when the shell reply is
|
|
272
|
+
* received and validated.
|
|
273
|
+
*/
|
|
274
|
+
requestComplete(content: KernelMessage.ICompleteRequestMsg['content']): Promise<KernelMessage.ICompleteReplyMsg>;
|
|
275
|
+
/**
|
|
276
|
+
* Send an `inspect_request` message.
|
|
277
|
+
*
|
|
278
|
+
* #### Notes
|
|
279
|
+
* See [Messaging in Jupyter](https://jupyter-client.readthedocs.io/en/latest/messaging.html#introspection).
|
|
280
|
+
*
|
|
281
|
+
* Fulfills with the `inspect_reply` content when the shell reply is
|
|
282
|
+
* received and validated.
|
|
283
|
+
*/
|
|
284
|
+
requestInspect(content: KernelMessage.IInspectRequestMsg['content']): Promise<KernelMessage.IInspectReplyMsg>;
|
|
285
|
+
/**
|
|
286
|
+
* Send a `history_request` message.
|
|
287
|
+
*
|
|
288
|
+
* #### Notes
|
|
289
|
+
* See [Messaging in Jupyter](https://jupyter-client.readthedocs.io/en/latest/messaging.html#history).
|
|
290
|
+
*
|
|
291
|
+
* Fulfills with the `history_reply` content when the shell reply is
|
|
292
|
+
* received and validated.
|
|
293
|
+
*/
|
|
294
|
+
requestHistory(content: KernelMessage.IHistoryRequestMsg['content']): Promise<KernelMessage.IHistoryReplyMsg>;
|
|
295
|
+
/**
|
|
296
|
+
* Send an `execute_request` message.
|
|
297
|
+
*
|
|
298
|
+
* #### Notes
|
|
299
|
+
* See [Messaging in Jupyter](https://jupyter-client.readthedocs.io/en/latest/messaging.html#execute).
|
|
300
|
+
*
|
|
301
|
+
* Future `onReply` is called with the `execute_reply` content when the
|
|
302
|
+
* shell reply is received and validated. The future will resolve when
|
|
303
|
+
* this message is received and the `idle` iopub status is received.
|
|
304
|
+
* The future will also be disposed at this point unless `disposeOnDone`
|
|
305
|
+
* is specified and `false`, in which case it is up to the caller to dispose
|
|
306
|
+
* of the future.
|
|
307
|
+
*
|
|
308
|
+
* **See also:** [[IExecuteReply]]
|
|
309
|
+
*/
|
|
310
|
+
requestExecute(content: KernelMessage.IExecuteRequestMsg['content'], disposeOnDone?: boolean, metadata?: JSONObject): IShellFuture<KernelMessage.IExecuteRequestMsg, KernelMessage.IExecuteReplyMsg>;
|
|
311
|
+
/**
|
|
312
|
+
* Send an experimental `debug_request` message.
|
|
313
|
+
*
|
|
314
|
+
* @hidden
|
|
315
|
+
*
|
|
316
|
+
* #### Notes
|
|
317
|
+
* Debug messages are experimental messages that are not in the official
|
|
318
|
+
* kernel message specification. As such, this function is *NOT* considered
|
|
319
|
+
* part of the public API, and may change without notice.
|
|
320
|
+
*/
|
|
321
|
+
requestDebug(content: KernelMessage.IDebugRequestMsg['content'], disposeOnDone?: boolean): IControlFuture<KernelMessage.IDebugRequestMsg, KernelMessage.IDebugReplyMsg>;
|
|
322
|
+
/**
|
|
323
|
+
* Send an `is_complete_request` message.
|
|
324
|
+
*
|
|
325
|
+
* #### Notes
|
|
326
|
+
* See [Messaging in Jupyter](https://jupyter-client.readthedocs.io/en/latest/messaging.html#code-completeness).
|
|
327
|
+
*
|
|
328
|
+
* Fulfills with the `is_complete_response` content when the shell reply is
|
|
329
|
+
* received and validated.
|
|
330
|
+
*/
|
|
331
|
+
requestIsComplete(content: KernelMessage.IIsCompleteRequestMsg['content']): Promise<KernelMessage.IIsCompleteReplyMsg>;
|
|
332
|
+
/**
|
|
333
|
+
* Send a `comm_info_request` message.
|
|
334
|
+
*
|
|
335
|
+
* #### Notes
|
|
336
|
+
* Fulfills with the `comm_info_reply` content when the shell reply is
|
|
337
|
+
* received and validated.
|
|
338
|
+
*/
|
|
339
|
+
requestCommInfo(content: KernelMessage.ICommInfoRequestMsg['content']): Promise<KernelMessage.ICommInfoReplyMsg>;
|
|
340
|
+
/**
|
|
341
|
+
* Send an `input_reply` message.
|
|
342
|
+
*
|
|
343
|
+
* #### Notes
|
|
344
|
+
* See [Messaging in Jupyter](https://jupyter-client.readthedocs.io/en/latest/messaging.html#messages-on-the-stdin-router-dealer-sockets).
|
|
345
|
+
*/
|
|
346
|
+
sendInputReply(content: KernelMessage.IInputReplyMsg['content'], parent_header: KernelMessage.IInputReplyMsg['parent_header']): void;
|
|
347
|
+
/**
|
|
348
|
+
* Create a new comm.
|
|
349
|
+
*
|
|
350
|
+
* #### Notes
|
|
351
|
+
* If a client-side comm already exists with the given commId, an error is thrown.
|
|
352
|
+
* If the kernel does not handle comms, an error is thrown.
|
|
353
|
+
*/
|
|
354
|
+
createComm(targetName: string, commId?: string): IComm;
|
|
355
|
+
/**
|
|
356
|
+
* Check if a comm exists.
|
|
357
|
+
*/
|
|
358
|
+
hasComm(commId: string): boolean;
|
|
359
|
+
/**
|
|
360
|
+
* Register a comm target handler.
|
|
361
|
+
*
|
|
362
|
+
* @param targetName - The name of the comm target.
|
|
363
|
+
*
|
|
364
|
+
* @param callback - The callback invoked for a comm open message.
|
|
365
|
+
*
|
|
366
|
+
* @returns A disposable used to unregister the comm target.
|
|
367
|
+
*
|
|
368
|
+
* #### Notes
|
|
369
|
+
* Only one comm target can be registered to a target name at a time, an
|
|
370
|
+
* existing callback for the same target name will be overridden. A registered
|
|
371
|
+
* comm target handler will take precedence over a comm which specifies a
|
|
372
|
+
* `target_module`.
|
|
373
|
+
*
|
|
374
|
+
* If the callback returns a promise, kernel message processing will pause
|
|
375
|
+
* until the returned promise is fulfilled.
|
|
376
|
+
*/
|
|
377
|
+
registerCommTarget(targetName: string, callback: (comm: IComm, msg: KernelMessage.ICommOpenMsg) => void | PromiseLike<void>): void;
|
|
378
|
+
/**
|
|
379
|
+
* Remove a comm target handler.
|
|
380
|
+
*
|
|
381
|
+
* @param targetName - The name of the comm target to remove.
|
|
382
|
+
*
|
|
383
|
+
* @param callback - The callback to remove.
|
|
384
|
+
*
|
|
385
|
+
* #### Notes
|
|
386
|
+
* The comm target is only removed if the callback argument matches.
|
|
387
|
+
*/
|
|
388
|
+
removeCommTarget(targetName: string, callback: (comm: IComm, msg: KernelMessage.ICommOpenMsg) => void | PromiseLike<void>): void;
|
|
389
|
+
/**
|
|
390
|
+
* Register an IOPub message hook.
|
|
391
|
+
*
|
|
392
|
+
* @param msg_id - The parent_header message id the hook will intercept.
|
|
393
|
+
*
|
|
394
|
+
* @param hook - The callback invoked for the message.
|
|
395
|
+
*
|
|
396
|
+
* #### Notes
|
|
397
|
+
* The IOPub hook system allows you to preempt the handlers for IOPub
|
|
398
|
+
* messages that are responses to a given message id.
|
|
399
|
+
*
|
|
400
|
+
* The most recently registered hook is run first. A hook can return a
|
|
401
|
+
* boolean or a promise to a boolean, in which case all kernel message
|
|
402
|
+
* processing pauses until the promise is fulfilled. If a hook return value
|
|
403
|
+
* resolves to false, any later hooks will not run and the function will
|
|
404
|
+
* return a promise resolving to false. If a hook throws an error, the error
|
|
405
|
+
* is logged to the console and the next hook is run. If a hook is
|
|
406
|
+
* registered during the hook processing, it will not run until the next
|
|
407
|
+
* message. If a hook is removed during the hook processing, it will be
|
|
408
|
+
* deactivated immediately.
|
|
409
|
+
*
|
|
410
|
+
* See also [[IFuture.registerMessageHook]].
|
|
411
|
+
*/
|
|
412
|
+
registerMessageHook(msgId: string, hook: (msg: KernelMessage.IIOPubMessage) => boolean | PromiseLike<boolean>): void;
|
|
413
|
+
/**
|
|
414
|
+
* Remove an IOPub message hook.
|
|
415
|
+
*
|
|
416
|
+
* @param msg_id - The parent_header message id the hook intercepted.
|
|
417
|
+
*
|
|
418
|
+
* @param hook - The callback invoked for the message.
|
|
419
|
+
*
|
|
420
|
+
*/
|
|
421
|
+
removeMessageHook(msgId: string, hook: (msg: KernelMessage.IIOPubMessage) => boolean | PromiseLike<boolean>): void;
|
|
422
|
+
/**
|
|
423
|
+
* Remove the input guard, if any.
|
|
424
|
+
*/
|
|
425
|
+
removeInputGuard(): void;
|
|
426
|
+
/**
|
|
427
|
+
* Handle a message with a display id.
|
|
428
|
+
*
|
|
429
|
+
* @returns Whether the message was handled.
|
|
430
|
+
*/
|
|
431
|
+
protected _handleDisplayId(displayId: string, msg: KernelMessage.IMessage): Promise<boolean>;
|
|
432
|
+
/**
|
|
433
|
+
* Forcefully clear the socket state.
|
|
434
|
+
*
|
|
435
|
+
* #### Notes
|
|
436
|
+
* This will clear all socket state without calling any handlers and will
|
|
437
|
+
* not update the connection status. If you call this method, you are
|
|
438
|
+
* responsible for updating the connection status as needed and recreating
|
|
439
|
+
* the socket if you plan to reconnect.
|
|
440
|
+
*/
|
|
441
|
+
protected _clearSocket: () => void;
|
|
442
|
+
/**
|
|
443
|
+
* Handle status iopub messages from the kernel.
|
|
444
|
+
*/
|
|
445
|
+
protected _updateStatus(status: KernelMessage.Status): void;
|
|
446
|
+
/**
|
|
447
|
+
* Send pending messages to the kernel.
|
|
448
|
+
*/
|
|
449
|
+
protected _sendPending(): void;
|
|
450
|
+
/**
|
|
451
|
+
* Clear the internal state.
|
|
452
|
+
*/
|
|
453
|
+
protected _clearKernelState(): void;
|
|
454
|
+
/**
|
|
455
|
+
* Check to make sure it is okay to proceed to handle a message.
|
|
456
|
+
*
|
|
457
|
+
* #### Notes
|
|
458
|
+
* Because we handle messages asynchronously, before a message is handled the
|
|
459
|
+
* kernel might be disposed or restarted (and have a different session id).
|
|
460
|
+
* This function throws an error in each of these cases. This is meant to be
|
|
461
|
+
* called at the start of an asynchronous message handler to cancel message
|
|
462
|
+
* processing if the message no longer is valid.
|
|
463
|
+
*/
|
|
464
|
+
protected _assertCurrentMessage(msg: KernelMessage.IMessage): void;
|
|
465
|
+
/**
|
|
466
|
+
* Handle a `comm_open` kernel message.
|
|
467
|
+
*/
|
|
468
|
+
protected _handleCommOpen(msg: KernelMessage.ICommOpenMsg): Promise<void>;
|
|
469
|
+
/**
|
|
470
|
+
* Handle 'comm_close' kernel message.
|
|
471
|
+
*/
|
|
472
|
+
protected _handleCommClose(msg: KernelMessage.ICommCloseMsg): Promise<void>;
|
|
473
|
+
/**
|
|
474
|
+
* Handle a 'comm_msg' kernel message.
|
|
475
|
+
*/
|
|
476
|
+
protected _handleCommMsg(msg: KernelMessage.ICommMsgMsg): Promise<void>;
|
|
477
|
+
/**
|
|
478
|
+
* Unregister a comm instance.
|
|
479
|
+
*/
|
|
480
|
+
protected _unregisterComm(commId: string): void;
|
|
481
|
+
/**
|
|
482
|
+
* Create the kernel websocket connection and add socket status handlers.
|
|
483
|
+
*/
|
|
484
|
+
protected _createSocket: (useProtocols?: boolean) => void;
|
|
485
|
+
/**
|
|
486
|
+
* Handle connection status changes.
|
|
487
|
+
*/
|
|
488
|
+
protected _updateConnectionStatus(connectionStatus: ConnectionStatus): void;
|
|
489
|
+
protected _handleMessage(msg: KernelMessage.IMessage): Promise<void>;
|
|
490
|
+
/**
|
|
491
|
+
* Attempt a connection if we have not exhausted connection attempts.
|
|
492
|
+
*/
|
|
493
|
+
protected _reconnect(): void;
|
|
494
|
+
/**
|
|
495
|
+
* Utility function to throw an error if this instance is disposed.
|
|
496
|
+
*/
|
|
497
|
+
protected _errorIfDisposed(): void;
|
|
498
|
+
/**
|
|
499
|
+
* Handle a websocket open event.
|
|
500
|
+
*/
|
|
501
|
+
protected _onWSOpen: () => void;
|
|
502
|
+
/**
|
|
503
|
+
* Handle a websocket message, validating and routing appropriately.
|
|
504
|
+
*/
|
|
505
|
+
protected _onWSMessage: (evt: MessageEvent) => void;
|
|
506
|
+
/**
|
|
507
|
+
* Handle a websocket close event.
|
|
508
|
+
*/
|
|
509
|
+
protected _onWSClose: (_evt: Event) => void;
|
|
510
|
+
get hasPendingInput(): boolean;
|
|
511
|
+
set hasPendingInput(value: boolean);
|
|
512
|
+
protected _id: string;
|
|
513
|
+
protected _name: string;
|
|
514
|
+
protected _model: IKernelModel | undefined;
|
|
515
|
+
protected _status: KernelMessage.Status;
|
|
516
|
+
protected _connectionStatus: ConnectionStatus;
|
|
517
|
+
protected _kernelSession: string;
|
|
518
|
+
protected _clientId: string;
|
|
519
|
+
protected _isDisposed: boolean;
|
|
520
|
+
/**
|
|
521
|
+
* Websocket to communicate with kernel.
|
|
522
|
+
*/
|
|
523
|
+
protected _ws: WebSocket | null;
|
|
524
|
+
protected _username: string;
|
|
525
|
+
protected _reconnectLimit: number;
|
|
526
|
+
protected _reconnectAttempt: number;
|
|
527
|
+
protected _reconnectTimeout: any;
|
|
528
|
+
protected _supportedProtocols: string[];
|
|
529
|
+
protected _selectedProtocol: string;
|
|
530
|
+
protected _futures: Map<string, KernelFutureHandler<KernelMessage.IShellControlMessage, KernelMessage.IShellControlMessage>>;
|
|
531
|
+
protected _comms: Map<string, IComm>;
|
|
532
|
+
protected _targetRegistry: Record<string, (comm: IComm, msg: KernelMessage.ICommOpenMsg) => void>;
|
|
533
|
+
protected _info: Deferred<KernelMessage.IInfoReply>;
|
|
534
|
+
protected _pendingMessages: KernelMessage.IMessage[];
|
|
535
|
+
protected _specPromise: Promise<ISpecModel | undefined>;
|
|
536
|
+
protected statusChangedEmitter: Emitter<KernelMessage.Status>;
|
|
537
|
+
protected connectionStatusChangedEmitter: Emitter<ConnectionStatus>;
|
|
538
|
+
protected onDisposedEmitter: Emitter<void>;
|
|
539
|
+
protected iopubMessageEmitter: Emitter<KernelMessage.IIOPubMessage<KernelMessage.IOPubMessageType>>;
|
|
540
|
+
protected anyMessageEmitter: Emitter<IAnyMessageArgs>;
|
|
541
|
+
protected pendingInputEmitter: Emitter<boolean>;
|
|
542
|
+
protected unhandledMessageEmitter: Emitter<KernelMessage.IMessage<KernelMessage.MessageType>>;
|
|
543
|
+
protected _displayIdToParentIds: Map<string, string[]>;
|
|
544
|
+
protected _msgIdToDisplayIds: Map<string, string[]>;
|
|
545
|
+
protected _msgChain: Promise<void>;
|
|
546
|
+
protected _hasPendingInput: boolean;
|
|
547
|
+
protected _reason: string;
|
|
548
|
+
protected _noOp: () => void;
|
|
549
|
+
}
|
|
550
|
+
//# sourceMappingURL=kernel-connection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kernel-connection.d.ts","sourceRoot":"","sources":["../../src/kernel/kernel-connection.ts"],"names":[],"mappings":"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"}
|