Modules
A typed declarative IR for Agentic Computation Graphs (ACGs) that compiles to a Broadway supervision tree on the BEAM.
Compiles a parsed network manifest into Broadway-based source files written
to _build/<MIX_ENV>/bloccs_generated/<network>/.
Emits a Supervisor source file that boots every compiled node pipeline
and registers the edge table with Bloccs.Router.
Emits Broadway pipeline source file(s) for a single network node.
The per-message context passed to a node's pure-core and effect-shell.
Structural coverage over a parsed network.
Declared effect capabilities materialized at runtime.
Effect capability struct injected into a Bloccs.Context.
DB effect facade + backend behaviour.
Real DB backend that writes through an Ecto repo — with no compile-time
dependency on Ecto. It performs a schemaless repo.insert_all(table, [row])
via a runtime call on the repo module you configure, so the published bloccs
package never forces ecto/postgrex on consumers who don't use the DB axis.
Mock DB backend. Refuses out-of-scope table actions. Records every
successful insert for test introspection via inserts/0.
HTTP effect facade + backend behaviour.
Shared host/method allowlist enforcement for HTTP backends.
Mock HTTP backend. Refuses non-allowed hosts. Returns stubbed responses
registered per-node via stub/3.
Real HTTP backend built on Req.
Random effect facade + backend behaviour. Nodes call
Bloccs.Effects.Random.int/2 against ctx.effects.random.
Pseudo / crypto random effect.
Time effect facade + backend behaviour. Nodes call Bloccs.Effects.Time.now/1
against ctx.effects.time. Default backend is the real wall clock
(Time.System); tests can bind a frozen-clock backend.
Wall-clock time effect.
Batch / aggregate config from [batch]. Present only on aggregate nodes.
The node contract: function refs, retry policy, timeout, idempotency.
Human-facing documentation block from [doc]: intent + owner.
A wire connecting an output port on one node to one or more input ports.
Declared effect capabilities.
Network-level port exposure — promotes a network to be useable as a
subgraph node. v0.1 does not consume expose (subgraph composition is
v0.2) but the parser still captures it so manifests are forward-compatible.
Join / correlation config from [join]. Present only on join nodes.
A parsed network manifest. Declares topology: which nodes participate, how their ports are wired, supervision strategy, deploy concurrency.
An instantiated node within a network.
A parsed node manifest (.bloccs).
A node port. schema is a "Name@N" reference; buffer is the producer
buffer size for input ports (ignored for output ports).
Rate-limit (throttle) config from [rate]. Caps how fast a node's producer
delivers messages downstream — allowed messages per interval_ms — using
Broadway's built-in producer rate_limiting.
Supervision strategy declared at the network level.
use Bloccs.Node, manifest: "path/to/node.bloccs"
Parses .bloccs TOML manifests into typed structs.
A structured parser error pinned to a file + section.
Runtime helpers called from compiler-emitted Broadway pipelines.
A GenStage producer used as the input port of a compiled node.
Everything the runtime needs to execute one node, derived from the node's
manifest plus the {network, node, in_port} identity the compiler knows.
Versioned schema registry (Name@N).
Telemetry events emitted by the bloccs runtime, and an optional default logger handler.
Records an execution trace of a running network by attaching to bloccs telemetry, and derives structural-coverage obligations from it.
Contract validator for parsed node + network manifests.
A structured validation diagnostic.