Stateful code transport, owned exclusively by one ExecutionSession. execute() does not reset exercise state: an attempt spans several requests. Resolving an execution includes its outputs; later outputs from retired work must not reach the caller. Only owned kernels may be replaced or disposed.

interface KernelRuntime {
    state: RuntimeState;
    dispose(): Promise<void>;
    ensureKernel(language): Promise<KernelIdentity>;
    execute(code, options, onOutput): Promise<ExecuteReply>;
    recover(language): Promise<KernelIdentity>;
    subscribe(listener): (() => void);
}

Implemented by

Properties

Methods