Creating Channels
'main', 'client-output', 'processing-queue'). This is enforced at runtime with a branded type.
Channel Events
You can optionally declare which events a channel carries:Proxies
Proxies declare how events can cross the boundary between the internal event plane and external systems.SSE Proxy
Routes events to HTTP SSE streams. Required forexpose() to work.
Kafka Proxy
Declares that events can be routed to a Kafka topic. Runtime Kafka activation is implemented separately.Multiple Proxies
A single channel can have multiple proxies:Event Flow
- A start event is published to the main channel (either programmatically or via
expose()) - Agents subscribed to that channel receive the event (filtered by their
listensTodeclarations) - Agent logic runs and emits new events
- Emitted events are published to the agent’s publishTo channels
- Other agents on those channels pick up the events, continuing the chain
- Events on channels with an SSE proxy are streamed to the client

