INTEGRITY Dokumentace

Interpreter

Metody jsou dostupné na sandbox.interpreter poté, co připojíte withInterpreter na vašem Sandbox podtřída. Názvy metod odpovídají stabilnímu interpretu; runCode vrátí čistá serializovatelná data. Připojení a první spuštění: Code interpreter.

createCodeContext()

createCodeContext(options?: CreateContextOptions): Promise<CodeContext>

CreateContextOptions

createCodeContext přijímá následující možnosti:

Pole Typ Popis
language "python" | "javascript" | "typescript" Jazyk Interpreteru. Výchozí hodnota: python.
cwd string Pracovní adresář. Výchozí hodnota: /workspace.

CodeContext

Vytvořený kontext má následující pole:

Pole Typ Popis
id string ID kontextu v aktuálním kontejneru
language string Jazyk kontextu
cwd string Pracovní adresář
createdAt Date Čas vytvoření
lastUsed Date Čas posledního použití

runCode()

runCode(code: string, options?: RunCodeOptions): Promise<ExecutionResult>

RunCodeOptions

runCode přijímá následující možnosti. Pole callbacku platí pro runCode pouze.

Pole Typ Popis
context CodeContext Kontext, který se má použít. Pokud jej vynecháte, použije se výchozí kontext pro language se používá.
language "python" | "javascript" | "typescript" Používá se při vytváření nebo výběru výchozího kontextu. Výchozí: python.
onStdout (output: OutputMessage) => void | Promise<void> Volá se pro části stdout během běhu
onStderr (output: OutputMessage) => void | Promise<void> Volá se pro části stderr během běhu
onResult (result: ResultData) => void | Promise<void> Volá se pro obohacené výsledky (čistá data)
onError (error: ExecutionError) => void | Promise<void> Volá se, když běh nahlásí chybu spuštění

OutputMessage

interface OutputMessage {
	text: string;
	timestamp: number;
}

ExecutionResult

interface ExecutionResult {
	code: string;
	logs: {
		stdout: string[];
		stderr: string[];
	};
	error?: ExecutionError;
	executionCount?: number;
	results: ResultData[];
}

ResultData může obsahovat obyčejná pole, například text, html, png, jpeg, svg, latex, markdown, json, a chart když je vytvoří runtime.

ExecutionError

interface ExecutionError {
	name: string;
	message: string;
	traceback: string[];
	lineNumber?: number;
}

runCodeStream()

runCodeStream(
	code: string,
	options?: RunCodeOptions,
): Promise<ReadableStream<Uint8Array>>

Vrátí bajtový SSE stream událostí provádění. Typ TypeScript využívá stejný typ jako RunCodeOptions pro context a language, streamovaná cesta to však dělá ne volejte onStdout, onStderr, onResult, nebo onError : místo toho zpracujte tělo SSE. Zrušení streamu může přerušit právě probíhající běh.

listCodeContexts()

listCodeContexts(): Promise<CodeContext[]>

deleteCodeContext()

deleteCodeContext(contextId: string): Promise<void>

Chyby

Chyby Interpreteru se mohou projevit jako InterpreterNotReadyError, ContextNotFoundError, nebo CodeExecutionError. Viz API chyb a Chyby a zotavení.

Python vyžaduje -python varianta obrazu kontejneru. Balíček Workeru a obraz kontejneru nasaďte ze stejné preview řady.