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