Skip to content

CodeInterpreterClient

Source: src/services/code-interpreter.ts

CodeInterpreterClient(transport: Leap0Transport)

Talks to the sandbox-hosted code interpreter service.

  • Leap0Error: If API calls, stream decoding, or response validation fail.
async health(sandbox: SandboxRef, options: RequestOptions = {}): Promise<boolean>

Returns whether the code interpreter service is healthy.

  • sandbox: Sandbox ID or sandbox-like object.
  • options: Optional request settings such as timeout and query params.
  • Whether the code interpreter reports a healthy status.
async createContext(sandbox: SandboxRef, language: CodeLanguage = "python" as CodeLanguage, cwd?: string, options: RequestOptions = {}): Promise<CodeContext>

Creates a reusable interpreter context.

  • sandbox: Sandbox ID or sandbox-like object.
  • language: Interpreter language for the context.
  • cwd: Optional working directory.
  • options: Optional request settings such as timeout and query params.
  • The created interpreter context.
async listContexts(sandbox: SandboxRef, options: RequestOptions = {}): Promise<CodeContext[]>

Lists active interpreter contexts.

  • sandbox: Sandbox ID or sandbox-like object.
  • options: Optional request settings such as timeout and query params.
  • The active interpreter contexts.
async getContext(sandbox: SandboxRef, contextId: string, options: RequestOptions = {}): Promise<CodeContext>

Fetches a single interpreter context by ID.

  • sandbox: Sandbox ID or sandbox-like object.
  • contextId: Interpreter context ID.
  • options: Optional request settings such as timeout and query params.
  • The requested interpreter context.
async deleteContext(sandbox: SandboxRef, contextId: string, options: RequestOptions = {}): Promise<void>

Deletes an interpreter context by ID.

  • sandbox: Sandbox ID or sandbox-like object.
  • contextId: Interpreter context ID.
  • options: Optional request settings such as timeout and query params.
async execute(sandbox: SandboxRef, params: { code: string; language?: CodeLanguage; contextId?: string; envVars?: Record<string, string>; timeoutMs?: number; }, options: RequestOptions = {}): Promise<CodeExecutionResult>

Executes code and waits for the final result.

  • sandbox: Sandbox ID or sandbox-like object.
  • params: Execution parameters.
  • params.code: Source code to execute.
  • params.language: Optional interpreter language.
  • params.contextId: Optional existing context ID to reuse.
  • params.envVars: Optional environment variables for execution.
  • params.timeoutMs: Optional execution timeout in milliseconds.
  • options: Optional request settings such as timeout and query params.
  • The completed execution result.
const result = await sandbox.codeInterpreter.execute({
language: "python",
code: "print('hello')",
});
async executeStream(sandbox: SandboxRef, params: { code: string; language?: CodeLanguage; contextId?: string; timeoutMs?: number; }, options: RequestOptions = {}): AsyncIterable<StreamEvent>

Streams code execution events until the interpreter exits.

  • sandbox: Sandbox ID or sandbox-like object.
  • params: Stream execution parameters.
  • params.code: Source code to execute.
  • params.language: Optional interpreter language.
  • params.contextId: Optional existing context ID to reuse.
  • params.timeoutMs: Optional execution timeout in milliseconds.
  • options: Optional request settings such as timeout and query params.
  • Leap0Error: If the stream returns malformed events or reports an execution error.
for await (const event of sandbox.codeInterpreter.executeStream({
language: "python",
code: "print('hello')",
})) {
console.log(event);
}