Taskbox

← Back to module

JSDoc

Classes

TaskboxError

class
class TaskboxError
Members

code

property
code: "E_SCHEMA_INVALID" | "E_RUNTIME_UNAVAILABLE" | "E_IMAGE_PULL_FAILED" | "E_PROXY_INVALID" | "E_PROXY_CONNECT_FAILED" | "E_NETWORK_FAILED" | "E_TIMEOUT" | "E_OUTPUT_TOO_LARGE" | "E_TOOL_EXIT_NONZERO" | "E_ARTIFACT_MISSING" | "E_UNSUPPORTED_FORMAT"

category

property
category: "proxy" | "validation" | "runtime" | "image" | "network" | "timeout" | "resource" | "tool" | "artifact" | "unknown"

retryable

property
retryable: boolean

details

property
details: Record<string, unknown>

stderrTail

property
stderrTail: string

suggestions

property
suggestions: string[]

constructor

constructor
constructor(init: TaskboxErrorInit): TaskboxError

serialize

method
serialize(): TaskboxError$1

EventBus

class
class EventBus
Members

constructor

constructor
constructor(eventsJsonlPath: string): EventBus

emit

method
emit(event: unknown): void

on

method
on(cb: EventCallback): () => void

close

method
close(): void

events

method
events(): AsyncIterableIterator<TaskEvent>

[Symbol.asyncIterator]

method
[Symbol.asyncIterator](): AsyncIterableIterator<TaskEvent>

Functions

createTaskbox

function
createTaskbox(config: TaskboxConfig): { prepare(): Promise<PrepareResult>; runTask(spec: unknown, opts?: { onEvent?: (e: TaskEvent) => void; }): Promise<TaskResult>; media: { downloadSubtitles(input: unknown, opts?: DownloadSubtitlesOptions): Promise<TaskResult>; }; }

Interfaces

RuntimeAdapter

interface
interface RuntimeAdapter
Members

name

property
name: string

available

method
available(): Promise<{ ok: boolean; details?: Record<string, unknown>; }>

prepareImage

method
prepareImage(ref: string): Promise<{ digest?: string; }>

runTask

method
runTask(args: { spec: TaskSpec; workspace: Workspace; bus: EventBus; signal?: AbortSignal; }): Promise<{ exitCode: number; durationMs: number; rawResult?: unknown; }>

TaskboxConfig

interface
interface TaskboxConfig
Members

runtime

property
runtime: RuntimeAdapter

image

property
image: string

defaults

property
defaults: { timeoutMs?: number; networkMode?: "none" | "direct" | "proxy"; defaultProxy?: ProxyConfig; }

DownloadSubtitlesOptions

interface
interface DownloadSubtitlesOptions
Members

onEvent

property
onEvent: (e: TaskEvent) => void

PrepareResult

interface
interface PrepareResult
Members

runtime

property
runtime: string

image

property
image: { ref: string; digest?: string; }

Constants

defaultImageRef

const
const defaultImageRef: "taskbox/kitchen-sink:0.1.0"

TaskboxErrorSchema

const
const TaskboxErrorSchema: z.ZodObject<{ code: z$1.ZodEnum<["E_SCHEMA_INVALID", "E_RUNTIME_UNAVAILABLE", "E_IMAGE_PULL_FAILED", "E_PROXY_INVALID", "E_PROXY_CONNECT_FAILED", "E_NETWORK_FAILED", "E_TIMEOUT", "E_OUTPUT_TOO_LARGE", "E_TOOL_EXIT_NONZERO", "E_ARTIFACT_MISSING", "E_UNSUPPORTED_FORMAT"]>; message: z$1.ZodString; retryable: z$1.ZodDefault<z$1.ZodBoolean>; category: z$1.ZodEnum<["validation", "runtime", "image", "network", "proxy", "timeout", "resource", "tool", "artifact", "unknown"]>; details: z$1.ZodOptional<z$1.ZodRecord<z$1.ZodString, z$1.ZodUnknown>>; stderrTail: z$1.ZodOptional<z$1.ZodString>; suggestions: z$1.ZodDefault<z$1.ZodArray<z$1.ZodString, "many">>; }, "strip", z.ZodTypeAny, { code: "E_SCHEMA_INVALID" | "E_RUNTIME_UNAVAILABLE" | "E_IMAGE_PULL_FAILED" | "E_PROXY_INVALID" | "E_PROXY_CONNECT_FAILED" | "E_NETWORK_FAILED" | "E_TIMEOUT" | "E_OUTPUT_TOO_LARGE" | "E_TOOL_EXIT_NONZERO" | "E_ARTIFACT_MISSING" | "E_UNSUPPORTED_FORMAT"; message: string; retryable: boolean; category: "validation" | "unknown" | "proxy" | "image" | "runtime" | "network" | "timeout" | "resource" | "tool" | "artifact"; suggestions: string[]; details?: Record<string, unknown> | undefined; stderrTail?: string | undefined; }, { code: "E_SCHEMA_INVALID" | "E_RUNTIME_UNAVAILABLE" | "E_IMAGE_PULL_FAILED" | "E_PROXY_INVALID" | "E_PROXY_CONNECT_FAILED" | "E_NETWORK_FAILED" | "E_TIMEOUT" | "E_OUTPUT_TOO_LARGE" | "E_TOOL_EXIT_NONZERO" | "E_ARTIFACT_MISSING" | "E_UNSUPPORTED_FORMAT"; message: string; category: "validation" | "unknown" | "proxy" | "image" | "runtime" | "network" | "timeout" | "resource" | "tool" | "artifact"; retryable?: boolean | undefined; details?: Record<string, unknown> | undefined; stderrTail?: string | undefined; suggestions?: string[] | undefined; }>