Skip to content
Symbiote Engine
Menu
Documentation Navigation
On this page

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/browser export 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-engine export, hosts can dynamically reload node handler scripts from the filesystem and process background jobs. GraphServer is only the symbiote-engine/GraphServer.js subpath.

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

For a complete basic setup and execution example, see the Getting Started guide.