agent-base 0.1.3

A lightweight Agent Runtime Kernel for building AI agents in Rust
Documentation
pub mod engine;
pub mod llm;
pub mod tool;
pub mod types;

// ---------------------------------------------------------------------------
// Prelude — most commonly used types for `use agent_base::prelude::*`
// ---------------------------------------------------------------------------
pub mod prelude {
    pub use crate::engine::{
        AgentBuilder, AgentRuntime, AgentSession, AllowAllApprovalHandler,
        DenyAllApprovalHandler,
    };
    pub use crate::llm::{
        AnthropicClient, LlmClient, LlmClientBuilder, OpenAiClient,
    };
    pub use crate::tool::{
        AutoContinueTool, SubAgentTool, Tool, ToolContext, ToolOutput,
        ToolPolicy, ToolRegistry, TypedTool,
    };
    pub use crate::types::{
        AgentConfig, AgentError, AgentResult, ChatMessage, Language,
        Message, MessageRole, RunOutcome, RuntimeEvent, SessionId, UserEvent,
    };
}

// ---------------------------------------------------------------------------
// Agent Runtime
// ---------------------------------------------------------------------------
pub use engine::{
    AgentBuilder,
    AgentRuntime,
    AgentSession,
    CircuitBreaker,
    CircuitState,
    DefaultPipeline,
    InMemorySessionStore,
    SessionId,
    SessionStore,
    ToolExecutionPipeline,
};

// ---------------------------------------------------------------------------
// LLM Provider
// ---------------------------------------------------------------------------
pub use llm::{
    AnthropicClient,
    LlmCapabilities,
    LlmClient,
    LlmClientBuilder,
    LlmProvider,
    OpenAiClient,
    ReasoningConfig,
    ReasoningEffort,
    StreamChunk,
    UsageInfo,
};

// ---------------------------------------------------------------------------
// Approval
// ---------------------------------------------------------------------------
pub use engine::{
    AllowAllApprovalHandler,
    ApprovalDecision,
    ApprovalHandler,
    ApprovalRequest,
    ConsecutiveFailureRecovery,
    DenyAllApprovalHandler,
    Middleware,
    PostLlmCtx,
    PreLlmCtx,
    UserMessageCtx,
    ContextWindowManager,
    RiskLevel,
    RetryOnError,
    StopOnError,
    ToolEnforcementConfig,
    ToolEnforcementMiddleware,
    ToolErrorAction,
    ToolErrorRecovery,
    TurnFactMiddleware,
    TurnToolLimitMiddleware,
};

// ---------------------------------------------------------------------------
// Tools
// ---------------------------------------------------------------------------
pub use tool::{
    AutoContinueTool,
    SubAgentSessionPolicy,
    SubAgentTool,
    Tool,
    ToolContext,
    ToolControlFlow,
    ToolOutput,
    ToolPolicy,
    ToolRegistry,
    TypedTool,
    UpdatePlanTool,
};

// ---------------------------------------------------------------------------
// Events
// ---------------------------------------------------------------------------
pub use types::{RuntimeEvent, UserEvent};

// ---------------------------------------------------------------------------
// Errors
// ---------------------------------------------------------------------------
pub use types::{AgentError, AgentResult, ErrorKind};

// ---------------------------------------------------------------------------
// Types
// ---------------------------------------------------------------------------
pub use types::{
    AgentConfig,
    ChatMessage,
    CheckpointData,
    CheckpointStep,
    ImageAttachment,
    ImageDetail,
    Language,
    Message,
    MessageRole,
    PlanItem,
    PlanStepStatus,
    ResponseFormat,
    RetryConfig,
    RunOutcome,
    SafetyConfig,
    SessionConfig,
    ToolCallMessage,
    ToolResultData,
    UpdatePlanArgs,
};