Skip to main content

agent_base/
lib.rs

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