Skip to main content

merlion_core/
lib.rs

1//! merlion-core
2//!
3//! Shared types for the Merlion Agent: chat messages, tool calls, the tool
4//! trait, and the agent loop that drives an LLM ↔ tool conversation.
5//!
6//! This crate is intentionally provider-agnostic. `merlion-llm` plugs a
7//! concrete LLM behind [`LlmClient`], and `merlion-tools` plugs concrete
8//! tools behind [`Tool`].
9
10pub mod agent;
11pub mod approval;
12pub mod curator;
13pub mod error;
14pub mod llm;
15pub mod message;
16pub mod tool;
17
18pub use agent::{Agent, AgentEvent, AgentOptions};
19pub use approval::{AllowAllApprover, ApprovalDecision, DenyAllApprover, ToolApprover};
20pub use curator::Curator;
21pub use error::{Error, Result};
22pub use llm::{LlmClient, LlmRequest, LlmResponse, LlmStreamEvent, Usage};
23pub use message::{Message, Role, ToolCall, ToolResult};
24pub use tool::{Tool, ToolRegistry, ToolSchema};