UNPKG

@jupyterlab/services

Version:

Client APIs for the Jupyter services REST APIs

173 lines (153 loc) 4.23 kB
// Copyright (c) Jupyter Development Team. // Distributed under the terms of the Modified BSD License. import { ConfigSection, Contents, Event, Kernel, KernelSpec, NbConvert, ServerConnection, Session, Setting, Terminal, User, Workspace } from '.'; import { ServiceManager } from './manager'; import { type IPlugin, Token } from '@lumino/coreutils'; /** * The type for a service manager plugin. * * @typeparam T - The type that the plugin `provides` upon being activated. * * #### Notes * This type of plugin is different than a JupyterFrontEndPlugin, * as the app will still be `null` when its `activate` method is called. */ export type ServiceManagerPlugin<T> = IPlugin<null, T>; /** * Application connection status interface */ export interface IConnectionStatus { /** * Whether the application is connected to the server or not. * * #### Notes * * Every periodic network polling should be paused while this is set * to `false`. Extensions should use this value to decide whether to proceed * with the polling. * The extensions may also set this value to `false` if there is no need to * fetch anything from the server backend basing on some conditions * (e.g. when an error message dialog is displayed). * At the same time, the extensions are responsible for setting this value * back to `true`. */ isConnected: boolean; } /** * Token providing the application connection status. */ export const IConnectionStatus = new Token<IConnectionStatus>( '@jupyterlab/application:IConnectionStatus', 'A service providing the application connection status.' ); /** * Token providing the config section manager. */ export const IConfigSectionManager = new Token<ConfigSection.IManager>( '@jupyterlab/services:IConfigSectionManager', 'A service providing the config section manager.' ); /** * The contents manager token. */ export const IContentsManager = new Token<Contents.IManager>( '@jupyterlab/services:IContentsManager', 'The contents manager token.' ); /** * The default drive token. */ export const IDefaultDrive = new Token<Contents.IDrive>( '@jupyterlab/services:IDefaultDrive', 'The default drive for the contents manager.' ); /** * The event manager token. */ export const IEventManager = new Token<Event.IManager>( '@jupyterlab/services:IEventManager', 'The event manager token.' ); /** * The kernel manager token. */ export const IKernelManager = new Token<Kernel.IManager>( '@jupyterlab/services:IKernelManager', 'The kernel manager token.' ); /** * The kernel spec manager token. */ export const IKernelSpecManager = new Token<KernelSpec.IManager>( '@jupyterlab/services:IKernelSpecManager', 'The kernel spec manager token.' ); /** * The nbconvert manager token. */ export const INbConvertManager = new Token<NbConvert.IManager>( '@jupyterlab/services:INbConvertManager', 'The nbconvert manager token.' ); /** * The server settings token. */ export const IServerSettings = new Token<ServerConnection.ISettings>( '@jupyterlab/services:IServerSettings', 'The server settings for the application.' ); /** * The session manager token. */ export const ISessionManager = new Token<Session.IManager>( '@jupyterlab/services:ISessionManager', 'The session manager token.' ); /** * The setting manager token. */ export const ISettingManager = new Token<Setting.IManager>( '@jupyterlab/services:ISettingManager', 'The setting manager token.' ); /** * The default service manager token. */ export const IServiceManager = new Token<ServiceManager.IManager>( '@jupyterlab/services:IServiceManager', 'The service manager for the application.' ); /** * The terminal manager token. */ export const ITerminalManager = new Token<Terminal.IManager>( '@jupyterlab/services:ITerminalManager', 'The terminal manager token.' ); /** * The user manager token. */ export const IUserManager = new Token<User.IManager>( '@jupyterlab/services:IUserManager', 'The user manager token.' ); /** * The workspace manager token. */ export const IWorkspaceManager = new Token<Workspace.IManager>( '@jupyterlab/services:IWorkspaceManager', 'The workspace manager token.' );