DromioWorkflow SDK
Workflow SDKAuthoringAPIWorkflow Apps & Harnesses

Reference

API mapAuthoring API referenceStatus and compatibility
Reference
API map
Authoring API reference
Status and compatibility

Workflow SDK API status

@dromio/workflow is beta. Pin the package version and review exported TypeScript types when upgrading. The public npm release is currently 0.2.5.

Root authoring APIs​

APIStatusNotes
step()AvailableContracted app-owned behavior and side effects
step.model()AvailableOne structured model operation
step.delegate()AvailableDurable work owned by an external harness
step.gate()AvailableDeterministic score-policy decision
step.ask()AvailableValidated human question
step.approval()AvailableTyped durable approval hook
step.waitFor()AvailableTyped external-signal hook
step.sleep()AvailableDuration or absolute-time timer hook
step.workflow()AvailableOne child workflow as a step
step.router()AvailableExactly one compatible child route
step.fork()AvailableConcurrent children with all join
step.forEach()AvailableSimple and advanced child iteration
catalog()AvailableSearchable executable step catalog
workflow()AvailableDocument compilation and direct execution
workflow.judge()AvailableOne assessor step or child workflow plus deterministic gate
workflow.judgeUntil()AvailableBounded produce, judge, revise loop
workflow.clarifyUntil()AvailableTyped, durable human clarification loop
workflowApp()AvailableExecutable workflow registry
defineSignal()AvailableTyped correlation and payload definition
promptFile()AvailableFile-backed prompt source

Compatibility APIs​

APIStatusReplacement
step.evaluate()Deprecated, supportedworkflow.judge() plus step.workflow() when placement is needed
step.promptedContract()Deprecated, supportedworkflow.clarifyUntil()
codexCliWorker()Deprecated, supportedstep.delegate() with a Codex harness
opencodeWorker()Deprecated, supportedstep.delegate() with an OpenCode harness

createModelRouter() remains supported while current products move provider selection to the application runtime boundary. It is not the canonical example for new workflows. Generic file-write helpers are not root APIs.

Root execution and surface APIs​

APIStatusRuntime note
workflow.start() / workflow.hydrate()AvailableIn-process execution and recovery
createWorkflowAppHost()AvailableStore-backed runtime and Fetch adapter
runWorkflowCli()AvailableWorkflow Apps with one prompt input key
runWorkflowTui()AvailableBun interactive terminal surface
runWorkflowGui()AvailableBun browser canvas server
runWorkflowSvg()AvailableBun lightweight graph server
runWorkflowServer()AvailableBun durable host and signal control plane
createWorkflowControlPlaneMcpProvider()Available in 0.2.5MCP discovery, triggers, run inspection, and resume_hook

Important current limits​

  • The prompt-based Workflow App adapters require exactly one trigger input key.
  • step.delegate() requires a harness or operator to resume its handoff_requested hook; Dromio does not run a nested agent on its behalf.
  • step.router() requires compatible routes and cannot change its choice while resuming a durable child.
  • step.fork() currently joins all branches; branch output keys cannot collide.
  • The core runtime retries explicit retry() results, not arbitrary exceptions.
  • There is no generic per-step timeout. Timer waits use step.sleep(); provider request limits belong to their adapters.
  • In-memory storage is not durable. Use snapshots, a LoopStore, SQLite host storage, or a custom runtime store appropriate to the deployment.
  • Events may gain new types during beta; consumers must tolerate unknown types.

Stability and compatibility​

The root namespace is the preferred authoring surface. @dromio/workflow/core, @dromio/workflow/product, and workflow-control-plane subpaths are public package exports but expose lower-level integration machinery that may change more quickly before 1.0.

The package is Apache-2.0 licensed. Report SDK issues and follow releases in the source repository.

For signatures and primitive behavior, continue to the Authoring API reference. For runtime limits and persistence, use Execution and durability.

Source of truth​

Published exports and declarations are authoritative. In the source tree, the main references are:

packages/sdk/src/sdk/index.ts
packages/sdk/src/sdk/authoring/
packages/sdk/src/sdk/core/loop/
packages/sdk/src/sdk/client/interactions/workflow-app/

If prose and TypeScript disagree, follow the shipped types and open a docs issue with the package version and the conflicting page.

On this page

  • Authoring primitives
  • Workflow App surfaces
  • Reserved external waits
  • Current file side effects
  • Testing status
  • Source of truth