Skip to main content

Crate atomr_agents_channel_core

Crate atomr_agents_channel_core 

Source
Expand description

Channel + thread domain layer.

A channel is a provider-specific messaging transport — WhatsApp, Signal, Discord, or the in-process memory::InMemoryProvider used for tests. A thread is a long-lived conversation between a channel peer and a bound ThreadTarget; the target can be any Callable (so agents, harnesses, teams, workflows, or plain closures all qualify) or a [HarnessRef] routed through a HarnessInputAdapter.

Channels are an optional, additive layer over existing agent conversation interactions: nothing in AgentRef::turn or HarnessRef::run changes — channels just expose the same callables behind a messaging surface.

Modules§

memory
In-process channel provider used for tests and as a worked example.

Structs§

Capabilities
What kinds of payloads a channel will accept on outbound.
ChannelEventStream
Subscriber handle for ChannelEvents.
ChannelId
ChannelMessageRecord
Internal append-only message log entry. Stored per thread.
ChannelSpec
Persisted description of a channel.
InMemoryChannelStore
InboundMessage
One inbound message coming off a provider.
OutboundMessage
One outbound message the harness wants the provider to send.
PeerId
ProviderAck
Result of a successful provider send.
ProviderHandle
Cooperative shutdown handle for a provider’s long-running task.
Thread
One conversation between a peer and a bound target on a channel.
ThreadId
ThreadPolicy
Lightweight policy controlling thread behavior.
ThreadRef
Public, shared handle on a Thread. Implements Callable so a thread can be embedded as a workflow step or team child.
ThreadSummary
Lightweight summary row for listing threads in a channel.

Enums§

ChannelError
ChannelEvent
Direction
MessageContent
A piece of content that flows across a channel.
ProviderKind
Which transport this channel is backed by.
ThreadTarget
What a thread invokes when an inbound message arrives.

Traits§

Callable
Anything an agent / workflow / harness can call. Implemented by every executable unit so they’re interchangeable as workflow steps, tool invocations, and team routing targets.
ChannelProvider
A provider-specific transport (WhatsApp / Signal / Discord / Memory).
ChannelStore
HarnessInputAdapter
Bridge an inbound channel message into the state a harness reads on its next run.

Type Aliases§

CallableHandle
Type-erased handle. Crates that need to store heterogeneous callables (registries, workflow steps, tool slots) use this.
Result