@jupyterlab/services
Advanced tools
Comparing version 4.0.0-alpha.13 to 4.0.0-rc.0
@@ -60,3 +60,3 @@ import { JSONObject } from '@phosphor/coreutils'; | ||
*/ | ||
open(data?: JSONObject, metadata?: JSONObject, buffers?: (ArrayBuffer | ArrayBufferView)[]): Kernel.IFuture; | ||
open(data?: JSONObject, metadata?: JSONObject, buffers?: (ArrayBuffer | ArrayBufferView)[]): Kernel.IShellFuture; | ||
/** | ||
@@ -70,3 +70,3 @@ * Send a `comm_msg` message to the kernel. | ||
*/ | ||
send(data: JSONObject, metadata?: JSONObject, buffers?: (ArrayBuffer | ArrayBufferView)[], disposeOnDone?: boolean): Kernel.IFuture; | ||
send(data: JSONObject, metadata?: JSONObject, buffers?: (ArrayBuffer | ArrayBufferView)[], disposeOnDone?: boolean): Kernel.IShellFuture; | ||
/** | ||
@@ -83,3 +83,3 @@ * Close the comm. | ||
*/ | ||
close(data?: JSONObject, metadata?: JSONObject, buffers?: (ArrayBuffer | ArrayBufferView)[]): Kernel.IFuture; | ||
close(data?: JSONObject, metadata?: JSONObject, buffers?: (ArrayBuffer | ArrayBufferView)[]): Kernel.IShellFuture; | ||
private _target; | ||
@@ -86,0 +86,0 @@ private _id; |
@@ -132,4 +132,24 @@ import { JSONObject } from '@phosphor/coreutils'; | ||
*/ | ||
sendShellMessage<T extends KernelMessage.ShellMessageType>(msg: KernelMessage.IShellMessage<T>, expectReply?: boolean, disposeOnDone?: boolean): Kernel.IFuture<KernelMessage.IShellMessage<T>>; | ||
sendShellMessage<T extends KernelMessage.ShellMessageType>(msg: KernelMessage.IShellMessage<T>, expectReply?: boolean, disposeOnDone?: boolean): Kernel.IShellFuture<KernelMessage.IShellMessage<T>>; | ||
/** | ||
* Send a control message to the kernel. | ||
* | ||
* #### Notes | ||
* Send a message to the kernel's control channel, yielding a future object | ||
* for accepting replies. | ||
* | ||
* If `expectReply` is given and `true`, the future is disposed when both a | ||
* control reply and an idle status message are received. If `expectReply` | ||
* is not given or is `false`, the future is resolved when an idle status | ||
* message is received. | ||
* If `disposeOnDone` is not given or is `true`, the Future is disposed at this point. | ||
* If `disposeOnDone` is given and `false`, it is up to the caller to dispose of the Future. | ||
* | ||
* All replies are validated as valid kernel messages. | ||
* | ||
* If the kernel status is `dead`, this will throw an error. | ||
*/ | ||
sendControlMessage<T extends KernelMessage.ControlMessageType>(msg: KernelMessage.IControlMessage<T>, expectReply?: boolean, disposeOnDone?: boolean): Kernel.IControlFuture<KernelMessage.IControlMessage<T>>; | ||
private _sendKernelShellControl; | ||
/** | ||
* Interrupt a kernel. | ||
@@ -246,3 +266,3 @@ * | ||
*/ | ||
requestExecute(content: KernelMessage.IExecuteRequestMsg['content'], disposeOnDone?: boolean, metadata?: JSONObject): Kernel.IFuture<KernelMessage.IExecuteRequestMsg, KernelMessage.IExecuteReplyMsg>; | ||
requestExecute(content: KernelMessage.IExecuteRequestMsg['content'], disposeOnDone?: boolean, metadata?: JSONObject): Kernel.IShellFuture<KernelMessage.IExecuteRequestMsg, KernelMessage.IExecuteReplyMsg>; | ||
/** | ||
@@ -249,0 +269,0 @@ * Send an `is_complete_request` message. |
@@ -362,2 +362,26 @@ "use strict"; | ||
sendShellMessage(msg, expectReply = false, disposeOnDone = true) { | ||
return this._sendKernelShellControl(future_1.KernelShellFutureHandler, msg, expectReply, disposeOnDone); | ||
} | ||
/** | ||
* Send a control message to the kernel. | ||
* | ||
* #### Notes | ||
* Send a message to the kernel's control channel, yielding a future object | ||
* for accepting replies. | ||
* | ||
* If `expectReply` is given and `true`, the future is disposed when both a | ||
* control reply and an idle status message are received. If `expectReply` | ||
* is not given or is `false`, the future is resolved when an idle status | ||
* message is received. | ||
* If `disposeOnDone` is not given or is `true`, the Future is disposed at this point. | ||
* If `disposeOnDone` is given and `false`, it is up to the caller to dispose of the Future. | ||
* | ||
* All replies are validated as valid kernel messages. | ||
* | ||
* If the kernel status is `dead`, this will throw an error. | ||
*/ | ||
sendControlMessage(msg, expectReply = false, disposeOnDone = true) { | ||
return this._sendKernelShellControl(future_1.KernelControlFutureHandler, msg, expectReply, disposeOnDone); | ||
} | ||
_sendKernelShellControl(ctor, msg, expectReply = false, disposeOnDone = true) { | ||
if (this.status === 'dead') { | ||
@@ -373,3 +397,3 @@ throw new Error('Kernel is dead'); | ||
this._anyMessage.emit({ msg, direction: 'send' }); | ||
let future = new future_1.KernelFutureHandler(() => { | ||
let future = new ctor(() => { | ||
let msgId = msg.header.msg_id; | ||
@@ -376,0 +400,0 @@ this._futures.delete(msgId); |
@@ -12,3 +12,3 @@ import { DisposableDelegate } from '@phosphor/disposable'; | ||
*/ | ||
export declare class KernelFutureHandler<REQUEST extends KernelMessage.IShellMessage = KernelMessage.IShellMessage, REPLY extends KernelMessage.IShellMessage = KernelMessage.IShellMessage> extends DisposableDelegate implements Kernel.IFuture<REQUEST, REPLY> { | ||
export declare abstract class KernelFutureHandler<REQUEST extends KernelMessage.IShellControlMessage, REPLY extends KernelMessage.IShellControlMessage> extends DisposableDelegate implements Kernel.IFuture<REQUEST, REPLY> { | ||
/** | ||
@@ -111,1 +111,5 @@ * Construct a new KernelFutureHandler. | ||
} | ||
export declare class KernelControlFutureHandler<REQUEST extends KernelMessage.IControlMessage = KernelMessage.IControlMessage, REPLY extends KernelMessage.IControlMessage = KernelMessage.IControlMessage> extends KernelFutureHandler<REQUEST, REPLY> implements Kernel.IControlFuture<REQUEST, REPLY> { | ||
} | ||
export declare class KernelShellFutureHandler<REQUEST extends KernelMessage.IShellMessage = KernelMessage.IShellMessage, REPLY extends KernelMessage.IShellMessage = KernelMessage.IShellMessage> extends KernelFutureHandler<REQUEST, REPLY> implements Kernel.IShellFuture<REQUEST, REPLY> { | ||
} |
@@ -163,4 +163,8 @@ "use strict"; | ||
switch (msg.channel) { | ||
case 'control': | ||
case 'shell': | ||
await this._handleReply(msg); | ||
if (msg.channel === this.msg.channel && | ||
msg.parent_header.msg_id === this.msg.header.msg_id) { | ||
await this._handleReply(msg); | ||
} | ||
break; | ||
@@ -237,2 +241,8 @@ case 'stdin': | ||
exports.KernelFutureHandler = KernelFutureHandler; | ||
class KernelControlFutureHandler extends KernelFutureHandler { | ||
} | ||
exports.KernelControlFutureHandler = KernelControlFutureHandler; | ||
class KernelShellFutureHandler extends KernelFutureHandler { | ||
} | ||
exports.KernelShellFutureHandler = KernelShellFutureHandler; | ||
var Private; | ||
@@ -239,0 +249,0 @@ (function (Private) { |
@@ -108,3 +108,4 @@ import { IIterator } from '@phosphor/algorithm'; | ||
*/ | ||
sendShellMessage<T extends KernelMessage.ShellMessageType>(msg: KernelMessage.IShellMessage<T>, expectReply?: boolean, disposeOnDone?: boolean): Kernel.IFuture<KernelMessage.IShellMessage<T>>; | ||
sendShellMessage<T extends KernelMessage.ShellMessageType>(msg: KernelMessage.IShellMessage<T>, expectReply?: boolean, disposeOnDone?: boolean): Kernel.IShellFuture<KernelMessage.IShellMessage<T>>; | ||
sendControlMessage<T extends KernelMessage.ControlMessageType>(msg: KernelMessage.IControlMessage<T>, expectReply?: boolean, disposeOnDone?: boolean): Kernel.IControlFuture<KernelMessage.IControlMessage<T>>; | ||
/** | ||
@@ -229,3 +230,3 @@ * Reconnect to a disconnected kernel. | ||
*/ | ||
requestExecute(content: KernelMessage.IExecuteRequestMsg['content'], disposeOnDone?: boolean, metadata?: JSONObject): Kernel.IFuture<KernelMessage.IExecuteRequestMsg, KernelMessage.IExecuteReplyMsg>; | ||
requestExecute(content: KernelMessage.IExecuteRequestMsg['content'], disposeOnDone?: boolean, metadata?: JSONObject): Kernel.IShellFuture<KernelMessage.IExecuteRequestMsg, KernelMessage.IExecuteReplyMsg>; | ||
/** | ||
@@ -608,3 +609,3 @@ * Send an `is_complete_request` message. | ||
*/ | ||
interface IFuture<REQUEST extends KernelMessage.IShellMessage = KernelMessage.IShellMessage, REPLY extends KernelMessage.IShellMessage = KernelMessage.IShellMessage> extends IDisposable { | ||
interface IFuture<REQUEST extends KernelMessage.IShellControlMessage, REPLY extends KernelMessage.IShellControlMessage> extends IDisposable { | ||
/** | ||
@@ -636,3 +637,3 @@ * The original outgoing message. | ||
/** | ||
* The stdin handler for the kernel future. | ||
* The iopub handler for the kernel future. | ||
* | ||
@@ -643,5 +644,5 @@ * #### Notes | ||
*/ | ||
onStdin: (msg: KernelMessage.IStdinMessage) => void | PromiseLike<void>; | ||
onIOPub: (msg: KernelMessage.IIOPubMessage) => void | PromiseLike<void>; | ||
/** | ||
* The iopub handler for the kernel future. | ||
* The stdin handler for the kernel future. | ||
* | ||
@@ -652,3 +653,3 @@ * #### Notes | ||
*/ | ||
onIOPub: (msg: KernelMessage.IIOPubMessage) => void | PromiseLike<void>; | ||
onStdin: (msg: KernelMessage.IStdinMessage) => void | PromiseLike<void>; | ||
/** | ||
@@ -688,2 +689,6 @@ * Register hook for IOPub messages. | ||
} | ||
interface IShellFuture<REQUEST extends KernelMessage.IShellMessage = KernelMessage.IShellMessage, REPLY extends KernelMessage.IShellMessage = KernelMessage.IShellMessage> extends IFuture<REQUEST, REPLY> { | ||
} | ||
interface IControlFuture<REQUEST extends KernelMessage.IControlMessage = KernelMessage.IControlMessage, REPLY extends KernelMessage.IControlMessage = KernelMessage.IControlMessage> extends IFuture<REQUEST, REPLY> { | ||
} | ||
/** | ||
@@ -731,3 +736,3 @@ * A client side Comm interface. | ||
*/ | ||
open(data?: JSONValue, metadata?: JSONObject, buffers?: (ArrayBuffer | ArrayBufferView)[]): IFuture; | ||
open(data?: JSONValue, metadata?: JSONObject, buffers?: (ArrayBuffer | ArrayBufferView)[]): IShellFuture; | ||
/** | ||
@@ -749,3 +754,3 @@ * Send a `comm_msg` message to the kernel. | ||
*/ | ||
send(data: JSONValue, metadata?: JSONObject, buffers?: (ArrayBuffer | ArrayBufferView)[], disposeOnDone?: boolean): IFuture; | ||
send(data: JSONValue, metadata?: JSONObject, buffers?: (ArrayBuffer | ArrayBufferView)[], disposeOnDone?: boolean): IShellFuture; | ||
/** | ||
@@ -766,3 +771,3 @@ * Close the comm. | ||
*/ | ||
close(data?: JSONValue, metadata?: JSONObject, buffers?: (ArrayBuffer | ArrayBufferView)[]): IFuture; | ||
close(data?: JSONValue, metadata?: JSONObject, buffers?: (ArrayBuffer | ArrayBufferView)[]): IShellFuture; | ||
} | ||
@@ -769,0 +774,0 @@ /** |
@@ -54,2 +54,6 @@ import { nbformat } from '@jupyterlab/coreutils'; | ||
/** | ||
* Control message types. | ||
*/ | ||
type ControlMessageType = never; | ||
/** | ||
* IOPub message types. | ||
@@ -65,7 +69,7 @@ */ | ||
*/ | ||
type MessageType = IOPubMessageType | ShellMessageType | StdinMessageType; | ||
type MessageType = IOPubMessageType | ShellMessageType | ControlMessageType | StdinMessageType; | ||
/** | ||
* The valid Jupyter channel names in a message to a frontend. | ||
*/ | ||
type Channel = 'shell' | 'iopub' | 'stdin'; | ||
type Channel = 'shell' | 'control' | 'iopub' | 'stdin'; | ||
/** | ||
@@ -142,2 +146,15 @@ * Kernel message header content. | ||
/** | ||
* A kernel message on the `'control'` channel. | ||
*/ | ||
interface IControlMessage<T extends ControlMessageType = ControlMessageType> extends IMessage<T> { | ||
channel: 'control'; | ||
} | ||
/** | ||
* A message type for shell or control messages. | ||
* | ||
* #### Notes | ||
* This convenience is so we can use it as a generic type constraint. | ||
*/ | ||
type IShellControlMessage = IShellMessage | IControlMessage; | ||
/** | ||
* A kernel message on the `'iopub'` channel. | ||
@@ -144,0 +161,0 @@ */ |
{ | ||
"name": "@jupyterlab/services", | ||
"version": "4.0.0-alpha.13", | ||
"version": "4.0.0-rc.0", | ||
"description": "Client APIs for the Jupyter services REST APIs", | ||
@@ -44,4 +44,4 @@ "keywords": [ | ||
"dependencies": { | ||
"@jupyterlab/coreutils": "^3.0.0-alpha.13", | ||
"@jupyterlab/observables": "^2.2.0-alpha.13", | ||
"@jupyterlab/coreutils": "^3.0.0-rc.0", | ||
"@jupyterlab/observables": "^2.2.0-rc.0", | ||
"@phosphor/algorithm": "^1.1.3", | ||
@@ -67,3 +67,3 @@ "@phosphor/coreutils": "^1.3.1", | ||
}, | ||
"gitHead": "6902480eee213e58fb0b51ce28faa1c057dbc45e" | ||
"gitHead": "1312f392be42866b0afd5bbc4bf1ff18d70d8ee0" | ||
} |
Sorry, the diff of this file is too big to display
1290174
15401