Architecture Overview
Monorepo layout
apps/api: Fastify API and execution endpointsapps/web: React + React Flow visual editorapps/docs: VitePress docs sitepackages/shared: types, schemas, node definitionspackages/workflow-engine: DAG execution + node runners + validationpackages/agent-runtime: iterative LLM tool-calling looppackages/provider-sdk: LLM adapter interfaces + implementationspackages/connector-sdk: connector adapter interfaces + implementationspackages/mcp-sdk: MCP adapter interfaces + implementations
Data flow
- UI saves workflow JSON to API
- API validates and persists workflow in SQLite
- API starts execution (manual, webhook, or API trigger)
- Workflow engine resolves execution order and executes node handlers
- Agent runtime handles iterative tool-calling for agent nodes
- Results and execution history are persisted and exposed to UI
Extension model
Core engine remains stable while adding:
- new LLM providers via provider adapters
- new connectors via connector adapters
- new MCP integrations via MCP adapters
- new node definitions via shared schemas and node runners
This design is intended to avoid core-engine rewrites for each new integration.