smithers-orchestrator/browser. It runs the
real Smithers driver, scheduler, renderer, graph extractor, schema validation,
and task dependency semantics without pulling Node database, server, CLI-agent,
or subprocess code into the bundle.
createBrowserSmithers creates a fresh driver and scheduler session for every
run() call. getRun(runId) and getOutputs(runId) read through the selected
runtime storage adapter. runBrowserWorkflow(workflow, options) is the
one-shot equivalent when you do not need to retain the Smithers wrapper.
Browser-safe exports
Runtime options
The default runtime usesDate, performance, abortable setTimeout, Web
Crypto UUIDs, and Map-backed run/output storage. Override any portable seam:
storage when state must outlive a page refresh. Provide
executeTask to route task execution through an application-owned worker,
provider client, or policy boundary. The default executor supports static and
compute tasks plus in-process agents exposing generate, execute, run, or
call. It validates Zod-like outputSchema values before storing outputs.
Capability boundary
The browser adapter intentionally fails closed forfilesystem, subprocess,
worktree, and sandbox. Calling one of those operations throws a
RuntimeCapabilityError with code RUNTIME_CAPABILITY_UNAVAILABLE, the
runtime name, capability, and operation. The exported Worktree primitive is
portable at graph-render time, but a browser run cannot resolve a real
worktree unless the application supplies a custom RuntimeAdapter that owns
that capability.
The browser facade does not include Node database factories, server helpers,
CLI agents, bundled tools, or the full Node component barrel. Use the main
smithers-orchestrator entry point for those surfaces.
Source browser engine · Tests browser runtime tests · See also Run workflow, Testing workflows, Package configuration