Skip to main content

agent_base/
lib.rs

1pub mod engine;
2pub mod llm;
3pub mod tool;
4pub mod types;
5
6// ---------------------------------------------------------------------------
7// Prelude — most commonly used types for `use agent_base::prelude::*`
8// ---------------------------------------------------------------------------
9pub mod prelude {
10    pub use crate::engine::{
11        AgentBuilder, AgentRuntime, AgentSession, AllowAllApprovalHandler, DenyAllApprovalHandler,
12    };
13    pub use crate::llm::{
14        AnthropicClient, LlmClient, LlmClientBuilder, OpenAiClient, StreamClient,
15    };
16    pub use crate::tool::{
17        AutoContinueTool, Content, DenyAllToolPolicy, Tool, ToolContext, ToolMetadata, ToolPolicy,
18        ToolRegistry, TypedTool,
19    };
20    pub use crate::types::{
21        AgentConfig, AgentError, AgentResult, ChatMessage, Language, Message, MessageRole,
22        RunOutcome, RuntimeEvent, SessionId, TurnContext, UserEvent,
23    };
24}
25
26// ---------------------------------------------------------------------------
27// Agent Runtime
28// ---------------------------------------------------------------------------
29pub use engine::{
30    AgentBuilder, AgentRuntime, AgentSession, CircuitBreaker, CircuitState, DefaultPipeline,
31    InMemorySessionStore, QueueMode, SessionId, SessionStore, ToolExecutionPipeline,
32};
33
34// ---------------------------------------------------------------------------
35// LLM Provider
36// ---------------------------------------------------------------------------
37pub use llm::{
38    AnthropicClient, LlmCapabilities, LlmClient, LlmClientBuilder, LlmProvider, OpenAiClient,
39    ReasoningConfig, ReasoningEffort, StreamChunk, StreamClient, UsageInfo,
40};
41
42// ---------------------------------------------------------------------------
43// Approval
44// ---------------------------------------------------------------------------
45pub use engine::{
46    AllowAllApprovalHandler, ApprovalDecision, ApprovalHandler, ApprovalRequest,
47    ConsecutiveFailureRecovery, ContextWindowManager, DenyAllApprovalHandler, Middleware,
48    PostLlmCtx, PreLlmCtx, RetryOnError, RiskLevel, StopOnError, ToolEnforcementConfig,
49    ToolEnforcementMiddleware, ToolErrorAction, ToolErrorRecovery, TurnFactMiddleware,
50    TurnToolLimitMiddleware, UserMessageCtx,
51};
52
53// ---------------------------------------------------------------------------
54// Tools
55// ---------------------------------------------------------------------------
56pub use tool::{
57    AutoContinueTool, Content, DenyAllToolPolicy, Tool, ToolContext, ToolMetadata, ToolPolicy,
58    ToolRegistry, TypedTool, UpdatePlanTool,
59};
60
61// ---------------------------------------------------------------------------
62// Events
63// ---------------------------------------------------------------------------
64pub use types::{RuntimeEvent, UserEvent};
65
66// ---------------------------------------------------------------------------
67// Errors
68// ---------------------------------------------------------------------------
69pub use types::{AgentError, AgentResult, ErrorKind};
70
71// ---------------------------------------------------------------------------
72// Types
73// ---------------------------------------------------------------------------
74pub use types::{
75    AgentConfig, ChatMessage, CheckpointData, CheckpointStep, ImageAttachment, ImageDetail,
76    Language, Message, MessageRole, PlanItem, PlanStepStatus, ResponseFormat, RetryConfig,
77    RunOutcome, SafetyConfig, SessionConfig, ToolCallMessage, ToolResultData, TurnContext,
78    UpdatePlanArgs,
79};