Dispach
Concepts

Architecture

Dispach keeps the agent harness independent from its transports and optional integrations.

channel | HTTP API | schedule
              |
              v
       core agent harness
 context -> model -> tools -> observation
              |
              v
       store and outbox

Package boundaries

Package areaOwns
packages/coreLoop, context, tools, memory, store, schedules, and public plugin contracts
packages/serverHTTP, SSE, WebSocket, auth, and OpenAPI
packages/clientTyped API client and stream handling
packages/cliCommands and terminal interface
packages/channel-*First-party channel transports
packages/tools-*Optional tool providers
packages/controlSeparate container lifecycle control plane

Core imports no sibling packages. This keeps the embedder-facing harness usable without the CLI, server, or provider implementations.

Startup boundary

Local configuration, stores, manifests, and tool registries load before runtime.ready. Anything that needs network I/O starts afterwards and reports state through events. This boundary makes readiness a statement about the runtime itself rather than the speed of every external service.

For binding details and rationales, read the Architecture and Decision Log documents in the repository.

On this page