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-remote

How execution works

  1. 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).
  2. Your app receives a request and calls start(...).
  3. In remote mode, the request is forwarded over HTTP to the server.
  4. The server executes the workflow function from the active deployment artifact.
  5. 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 ───────────┘
PackageRoleKey exports
@workflow-studio/computeShared protocol - interfaces, schemas, branded IDsCompute interface, ComputeScope, request/response types, createWorldComputeAdapter
@workflow-studio/compute-clientHTTP client SDK - calls the worker's REST APIComputeClient class, error hierarchy, retry logic
@workflow-studio/compute-workerHTTP server (the worker itself, SQLite-backed)Routes, auth, rate limiting, idempotency, deployment lifecycle
workflow-studioUser-facing tooling - config, CLI, framework adaptersdefineWorkflowStudioConfig, 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.