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, CompactionKind,
47    CompactionOutcome, ConsecutiveFailureRecovery, ContextCompaction, ContextWindowManager,
48    DenyAllApprovalHandler, GuardCtx, GuardDecision, Middleware, NoopGuard, NoticeHandle,
49    PostLlmCtx, PreLlmCtx, ReactLoopGuard, RetryOnError, RiskLevel, StopOnError,
50    ToolEnforcementConfig, ToolEnforcementMiddleware, ToolErrorAction, ToolErrorRecovery,
51    TurnFactMiddleware, TurnToolLimitMiddleware, UserMessageCtx, estimate_messages_tokens,
52    first_system_prompt,
53};
54
55// ---------------------------------------------------------------------------
56// Tools
57// ---------------------------------------------------------------------------
58pub use tool::{
59    ActivationContext, AutoContinueTool, Content, DenyAllToolPolicy, Tool, ToolContext,
60    ToolDecision, ToolExposure, ToolMetadata, ToolPolicy, ToolRegistry, TypedTool, UpdatePlanTool,
61};
62
63// ---------------------------------------------------------------------------
64// Events
65// ---------------------------------------------------------------------------
66pub use types::{RuntimeEvent, UserEvent};
67
68// ---------------------------------------------------------------------------
69// Errors
70// ---------------------------------------------------------------------------
71pub use types::{AgentError, AgentResult, ErrorKind};
72
73// ---------------------------------------------------------------------------
74// Types
75// ---------------------------------------------------------------------------
76pub use types::{
77    AgentConfig, ChatMessage, CheckpointData, CheckpointStep, FinishReason, ImageAttachment,
78    ImageDetail, Language, Message, MessageRole, PlanItem, PlanStepStatus, ResponseFormat,
79    RetryConfig, RunOutcome, SafetyConfig, SessionConfig, ToolCallMessage, ToolResultData,
80    TurnContext, UpdatePlanArgs,
81};