Skip to main content

motosan_agent_loop/
lib.rs

1//! # motosan-agent-loop
2//!
3//! Standalone ReAct agent loop — [`LlmClient`] + [`AgentLoop`] with no
4//! platform dependencies.
5//!
6//! This crate provides the core loop that drives an LLM through iterative
7//! reasoning and tool execution, producing a final answer.
8
9pub mod context;
10pub mod error;
11pub mod llm;
12pub mod loop_;
13pub mod message;
14pub mod session;
15pub mod session_store;
16
17#[cfg(feature = "motosan-ai")]
18mod motosan_ai_impl;
19
20#[cfg(feature = "mcp-client")]
21pub mod mcp;
22
23// Re-export primary public types at crate root for convenience.
24pub use context::ContextProvider;
25pub use error::{AgentError, Result};
26pub use llm::{ChatOutput, LlmClient, LlmResponse, StreamChunk, TokenUsage, ToolCallItem};
27pub use loop_::{
28    AgentEvent, AgentLoop, AgentLoopBuilder, AgentOp, AgentResult, BackpressurePolicy,
29    ChannelConfig,
30};
31pub use message::{Message, Role, ToolCallRef};
32pub use session::AgentSession;
33pub use session_store::{FileSessionStore, MemorySessionStore, SessionMeta, SessionStore};