Files
deepseek-harness/website/zh-CN/api/harness/code-runtime.md
T

3.4 KiB

ctx.codeRuntime

CodeRuntime (abstract seam) — provided by @deepseek-ai/dsh-code-runtime.

Registers one ctx.codeRuntime implementation. Program, budget, abort, and substrate failures resolve in CodeRunResult; only seam misuse rejects. Implementations bridge structured-cloneable bindings while treating programs as hostile peers, isolate runs from one another, and terminate and await in-flight runs during disposal.

Source

ctx.codeRuntime.language

/**
 * The source language {@link run} expects `program` to be written in, as a
 * lowercase identifier. Informational, not gating — a consumer that
 * generates language-specific presentation (typed SDK stubs, usage
 * instructions) switches on it and fails loud on a language it cannot
 * present. Well-known value: `'typescript'`.
 */
abstract readonly language: string

The source language run expects program to be written in, as a lowercase identifier. Informational, not gating — a consumer that generates language-specific presentation (typed SDK stubs, usage instructions) switches on it and fails loud on a language it cannot present. Well-known value: 'typescript'.

Source

ctx.codeRuntime.isolation

/**
 * The execution substrate, as a lowercase identifier. Informational, not
 * gating — a descriptor so deployments and diagnostics can tell backends
 * apart, not a security claim. Well-known values: `'worker-thread'`,
 * `'process'`, `'container'`.
 */
abstract readonly isolation: string

The execution substrate, as a lowercase identifier. Informational, not gating — a descriptor so deployments and diagnostics can tell backends apart, not a security claim. Well-known values: 'worker-thread', 'process', 'container'.

Source

ctx.codeRuntime.run(request)

/**
 * Execute one program against the request's bindings and capture what it
 * emitted. See the class doc for the resolution contract (error is a result
 * field; rejection means seam misuse only).
 * @param request - the program, its bindings, and the abort signal; the
 *   request carries everything the runtime acts on, with no hidden defaults.
 * @returns the run's outcome: completion value (when transferable), the
 *   ordered log capture, and the failure (if any).
 */
abstract run(request: CodeRunRequest): Promise<CodeRunResult>

Execute one program against the request's bindings and capture what it emitted. See the class doc for the resolution contract (error is a result field; rejection means seam misuse only).

  • request — the program, its bindings, and the abort signal; the request carries everything the runtime acts on, with no hidden defaults.

Returns the run's outcome: completion value (when transferable), the ordered log capture, and the failure (if any).

Source