Workflow Studio
Remote compute for Workflow DevKit applications
Workflow Studio
Workflow Studio runs Workflow DevKit functions on a remote compute worker while preserving existing workflow usage in your application.
Your workflow functions and start(...) trigger routes remain unchanged. Remote execution is enabled by configuration and deployment environment variables.
What Workflow Studio provides
- Remote execution through a dedicated compute worker.
- Artifact packaging and deployment lifecycle commands.
- Framework helpers for Next.js, Nitro, and SvelteKit.
- Ownership validation and diagnostics for remote routing.
Production reroute requirement
For unchanged start(...) paths to execute remotely, set the deployment environment variable below on the application service:
WORKFLOW_TARGET_WORLD=workflow-studio/world-remoteHow execution works
- You compile your workflow functions into JS bundles (
workflow build), package them into a deployment archive (compute build), upload to the server (compute deploy), and activate (compute activate). - Your app receives a request and calls
start(...). - In remote mode, the request is forwarded over HTTP to the server.
- The server executes the workflow function from the active deployment artifact.
- Payload data is sent per request. Function source is uploaded once per deployment.
Package architecture
Four packages make up Workflow Studio. Each has a distinct role.
compute-worker --> compute <-- compute-client
^ ^
└────── workflow-studio ───────────┘| Package | Role | Key exports |
|---|---|---|
@workflow-studio/compute | Shared protocol - interfaces, schemas, branded IDs | Compute interface, ComputeScope, request/response types, createWorldComputeAdapter |
@workflow-studio/compute-client | HTTP client SDK - calls the worker's REST API | ComputeClient class, error hierarchy, retry logic |
@workflow-studio/compute-worker | HTTP server (the worker itself, SQLite-backed) | Routes, auth, rate limiting, idempotency, deployment lifecycle |
workflow-studio | User-facing tooling - config, CLI, framework adapters | defineWorkflowStudioConfig, CLI commands, Next.js/Nitro/SvelteKit helpers |
Error types are defined in @workflow-studio/compute-client where they are constructed from HTTP responses. The Compute interface in @workflow-studio/compute uses untyped error channels because it is a user-pluggable slot - implementations have different error semantics. See the compute API reference and compute-client error classes for details.