walrus_core/lib.rs
1//! Walrus agent library.
2//!
3//! - [`Agent`]: Stateful execution unit with step/run/run_stream.
4//! - [`AgentBuilder`]: Fluent construction with a model provider.
5//! - [`AgentConfig`]: Serializable agent parameters.
6//! - [`Dispatcher`]: Generic async trait for tool dispatch.
7//! - [`ToolRegistry`]: Canonical dispatcher — holds `(Tool, Handler)` pairs.
8//! - [`Hook`]: Lifecycle backend for agent building, events, and tool registration.
9//! - [`Runtime`]: Agent registry, tool registry, and hook orchestration.
10//! - [`model`]: Unified LLM interface types and traits.
11//! - Agent event types: [`AgentEvent`], [`AgentStep`], [`AgentResponse`], [`AgentStopReason`].
12
13pub use agent::{
14 Agent, AgentBuilder, AgentConfig,
15 event::{AgentEvent, AgentResponse, AgentStep, AgentStopReason},
16 parse_agent_md,
17 tool::{Dispatcher, Handler, ToolRegistry},
18};
19pub use memory::{Embedder, Memory, MemoryEntry, RecallOptions};
20pub use runtime::{Runtime, hook::Hook};
21
22mod agent;
23pub mod memory;
24pub mod model;
25pub mod protocol;
26mod runtime;
27pub mod utils;