Overview
Symbiote Engine is a domain-agnostic execution runtime for schema-driven workflows modeled as Directed Acyclic Graphs (DAGs). Written as ECMAScript modules, the engine decouples execution logic and graph state from product interfaces and network services.
It is designed to satisfy two main runtime environments:
- Browser contexts: The
symbiote-engine/browserexport excludes Node-only server, provider, job-queue, and file-helper exports. Shared Persistence.js source still contains dormant dynamic Node imports. - Node entrypoint: Via the root
symbiote-engineexport, hosts can dynamically reload node handler scripts from the filesystem and process background jobs. GraphServer is only thesymbiote-engine/GraphServer.jssubpath.
Design goals #
- Portability: Workflows serialize to pure JSON, allowing agents to author and modify them dynamically. Portable JSON is executable only after host registers node implementations.
- Incremental Caching: Incremental cache reuses by node ID, without input comparison. Lifecycle keys are raw, order-sensitive
JSON.stringify({ i: inputs, p: params }). - Socket compatibility: Registered input and output types are checked when graph connections are created, but only if both node definitions and named sockets are present.
Get Started #
To begin using Symbiote Engine, install the package and import the core classes.
Installation #
npm install symbiote-engineFor a complete basic setup and execution example, see the Getting Started guide.