JSDoc
Classes
EventBus
classclass EventBus
Members
constructor
constructorconstructor(eventsJsonlPath: string): EventBus
emit
methodemit(event: unknown): void
on
methodon(cb: EventCallback): () => void
close
methodclose(): void
events
methodevents(): AsyncIterableIterator<TaskEvent>
[Symbol.asyncIterator]
method[Symbol.asyncIterator](): AsyncIterableIterator<TaskEvent>
TaskboxError
classclass TaskboxError
Members
code
propertycode: "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
propertycategory: "validation" | "runtime" | "image" | "network" | "proxy" | "timeout" | "resource" | "tool" | "artifact" | "unknown"
retryable
propertyretryable: boolean
details
propertydetails: Record<string, unknown>
stderrTail
propertystderrTail: string
suggestions
propertysuggestions: string[]
constructor
constructorconstructor(init: TaskboxErrorInit): TaskboxError
serialize
methodserialize(): TaskboxErrorShape
Functions
newTaskId
functionnewTaskId(): string
createWorkspace
functioncreateWorkspace(opts?: WorkspaceOptions): Workspace
wrap
functionwrap(err: unknown, fallback: { code: TaskboxErrorCode; category: TaskboxErrorCategory; }): TaskboxErrorproxyToEnv
functionproxyToEnv(p: ProxyConfig): Record<string, string>
redactProxyUrl
functionredactProxyUrl(url: string): string
runTask
functionrunTask(specInput: unknown, adapter: RuntimeAdapter, opts?: RunTaskOptions): Promise<TaskResult>
Types
TaskboxErrorCode
typetype TaskboxErrorCode = "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"
TaskboxErrorCategory
typetype TaskboxErrorCategory = "validation" | "runtime" | "image" | "network" | "proxy" | "timeout" | "resource" | "tool" | "artifact" | "unknown"
Interfaces
Workspace
interfaceinterface Workspace
Members
taskId
propertytaskId: string
root
propertyroot: string
inputDir
propertyinputDir: string
outputDir
propertyoutputDir: string
logsDir
propertylogsDir: string
taskJsonPath
propertytaskJsonPath: string
resultJsonPath
propertyresultJsonPath: string
eventsJsonlPath
propertyeventsJsonlPath: string
cleanup
methodcleanup(): Promise<void>
WorkspaceOptions
interfaceinterface WorkspaceOptions
Members
taskId
propertytaskId: string
root
propertyroot: string
keep
propertykeep: boolean
TaskboxErrorInit
interfaceinterface TaskboxErrorInit
Members
code
propertycode: "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
propertymessage: string
category
propertycategory: "validation" | "runtime" | "image" | "network" | "proxy" | "timeout" | "resource" | "tool" | "artifact" | "unknown"
retryable
propertyretryable: boolean
details
propertydetails: Record<string, unknown>
stderrTail
propertystderrTail: string
suggestions
propertysuggestions: string[]
RuntimeAdapter
interfaceinterface RuntimeAdapter
Members
name
propertyname: string
available
methodavailable(): Promise<{ ok: boolean; details?: Record<string, unknown>; }>prepareImage
methodprepareImage(ref: string): Promise<{ digest?: string; }>runTask
methodrunTask(args: { spec: TaskSpec; workspace: Workspace; bus: EventBus; signal?: AbortSignal; }): Promise<{ exitCode: number; durationMs: number; rawResult?: unknown; }>RunTaskOptions
interfaceinterface RunTaskOptions
Members
bus
propertybus: EventBus
onEvent
propertyonEvent: (e: TaskEvent) => void
signal
propertysignal: AbortSignal
Constants
defaultImageRef
constconst defaultImageRef: "taskbox/kitchen-sink:0.1.0"