Skip to main content

molo_agent/
lib.rs

1//! Agent runtime, memory, channels, and tool registry for molo.
2#![warn(missing_docs)]
3
4pub mod agent;
5pub mod event_channel;
6pub mod memory;
7pub mod message_channel;
8pub mod tool;
9
10pub use molo_core::{effect, message, observability, provider, run};
11
12extern crate self as molo;
13
14pub use agent::{
15    Agent, AgentAction, AgentConfig, AgentError, AgentEvent, AgentKernel, MessageChunk,
16    ModelObservation, ModelRequest, Observation, ReActAgent, ReActAgentBuilder, ReActEvent,
17};
18#[cfg(feature = "structured")]
19pub use agent::{StructuredOutcome, StructuredValidator, TypedAgent};
20pub use event_channel::{
21    BroadcastEventChannel, EventChannel, EventChannelStats, EventReceiver, MpscEventChannel,
22};
23pub use memory::{
24    Budget, CharTokenCounter, InMemoryMemory, Memory, MemoryError, SummarizeStrategy, TokenCounter,
25    TrimResult, TrimStrategy, WindowDrop, WindowMemory,
26};
27#[cfg(feature = "cli-channel")]
28pub use message_channel::CliMessageChannel;
29pub use message_channel::{
30    BroadcastChannel, BroadcastReceiver, ChannelError, IncomingMessage, MessageChannel,
31    MpscChannel, WatchChannel, WatchReceiver,
32};
33pub use molo_core::CancellationToken;
34#[cfg(feature = "structured")]
35pub use molo_core::run::TypedRunOutput;
36pub use molo_core::{
37    Artifact, Backoff, ChatRequest, ChatResponse, ContentBlock, DisplayFormat, DisplayOutput,
38    EffectKind, EffectObservation, EffectOutput, EffectRequest, EffectSource, EffectStatus,
39    FakeProvider, FakeReply, FinishReason, ImageContent, Message, ModelOptions, Provider,
40    ProviderCapabilities, ProviderError, ProviderRequestContext, RetryPolicy, RetryProvider,
41    Retryable, RiskLevel, RunContext, RunMetadata, RunOutput, RunRequest, RunSummary, SharedState,
42    SideEffectLevel, StreamEvent, Tool, ToolCall, ToolContext, ToolError, ToolMemoryPolicy,
43    ToolNamespace, ToolNamespaceKind, ToolOutput, ToolPolicy, ToolResult, ToolSchema, ToolSource,
44    ToolTrustLevel, Usage, UserInput, async_trait,
45};
46pub use tool::{MissingTools, RegistryError, ToolRegistry};