mirror of
https://github.com/gristlabs/grist-core.git
synced 2024-10-27 20:44:07 +00:00
29 lines
1.0 KiB
TypeScript
29 lines
1.0 KiB
TypeScript
|
import * as log from 'app/server/lib/log';
|
||
|
|
||
|
/**
|
||
|
* Starting to whittle down the options used when creating a sandbox, to leave more
|
||
|
* freedom in how the sandbox works.
|
||
|
*/
|
||
|
export interface ISandboxCreationOptions {
|
||
|
comment?: string; // an argument to add in command line when possible, so it shows in `ps`
|
||
|
|
||
|
logCalls?: boolean;
|
||
|
logMeta?: log.ILogMeta;
|
||
|
logTimes?: boolean;
|
||
|
|
||
|
// This batch of options is used by SafePythonComponent, so are important for importers.
|
||
|
entryPoint?: string; // main script to call - leave undefined for default
|
||
|
sandboxMount?: string; // if defined, make this path available read-only as "/sandbox"
|
||
|
importMount?: string; // if defined, make this path available read-only as "/importdir"
|
||
|
}
|
||
|
|
||
|
export interface ISandbox {
|
||
|
shutdown(): Promise<unknown>; // TODO: tighten up this type.
|
||
|
pyCall(funcName: string, ...varArgs: unknown[]): Promise<any>;
|
||
|
reportMemoryUsage(): Promise<void>;
|
||
|
}
|
||
|
|
||
|
export interface ISandboxCreator {
|
||
|
create(options: ISandboxCreationOptions): ISandbox;
|
||
|
}
|