#![cfg_attr(docsrs, feature(doc_cfg))]
pub mod drivers;
#[cfg(feature = "fs")]
#[cfg_attr(docsrs, doc(cfg(feature = "fs")))]
pub mod filesystem;
#[cfg(feature = "hooks")]
#[cfg_attr(docsrs, doc(cfg(feature = "hooks")))]
pub mod hooks;
pub mod jsonl_log;
#[cfg(feature = "mcp")]
#[cfg_attr(docsrs, doc(cfg(feature = "mcp")))]
pub mod mcp;
pub use agentyk_core::{
atoms, budget, cancellation, capability, concurrency, context, controls, driver, error, event,
event_log, extensions, hook, id, input, message, middleware, profile, replay, tool, turn,
};
pub use agentyk_core::{
BudgetChecker, BudgetDecision, CancellationToken, Capability, ChatDriver, ChatRequest,
ChatResponse, CommandContext, CommandDescriptor, CompositeEventListener, ContentPart,
ContextAssembler, ContextAssembly, ContextEvent, ContextRequest, ContextSource,
DeferrablePolicy, DeltaSink, DriverId, DriverRegistry, Error, Event, EventData, EventId,
EventListener, EventLog, EventPage, EventRange, EventRequest, EventStore, ExpectedVersion,
Extensions, ExternalActor, FnTool, History, Hook, HookContext, HookErrorPolicy, HookEvent,
HookMatcher, HookOutcome, HookPayload, ImageContentPart, InMemoryEventLog,
InMemoryModelCatalog, InMemorySnapshotStore, InputQueue, LlmErrorKind, Message, MessageId,
ModelCatalog, ModelProfile, ModelSpec, NoopEventListener, PassthroughContextAssembler,
ProjectionSnapshot, ReasoningConfig, Result, Role, SealReason, SessionId, SessionPoint,
SnapshotStore, SystemPromptContext, TextContentPart, Tool, ToolCall, ToolCallDecision,
ToolChainOutcome, ToolContext, ToolDefinition, ToolInvocation, ToolOutput, ToolPolicy,
ToolProgress, ToolProgressSink, TurnAction, TurnControls, TurnId, TurnMiddleware, TurnOutcome,
TurnPhase, TurnState, Usage, after_tool_chain, before_tool_chain, event_types,
messages_from_events, notify_event_listeners,
};
pub mod prelude {
pub use crate::{
Agent, AgentBuilder, Capability, ChatDriver, CompositeEventListener, Event, EventData,
EventListener, EventLog, FnTool, Message, ModelSpec, NoopEventListener, Result, RunOptions,
Session, SessionView, Tool, ToolCallDecision, ToolContext, ToolDefinition, ToolInvocation,
ToolOutput, TurnMiddleware, TurnResult,
};
}
pub use agentyk_engine::{
Agent, AgentBuilder, AgentDefinition, AgentEnvironment, HookRejection, InProcessExecutor,
PreparedStep, PreparedToolCall, PreparedTurnStart, RunOptions, Session, SessionView,
TurnEngine, TurnHost, TurnOperation, TurnResult, agent, engine, host, in_process, session,
};
pub use drivers::sim::{SimDriver, SimToolCall, SimTurn};
#[cfg(feature = "fs")]
#[cfg_attr(docsrs, doc(cfg(feature = "fs")))]
pub use filesystem::{
FileEntry, FileStat, FileSystem, FileSystemCapability, InMemoryFileSystem, RealDiskFileSystem,
WriteBlocklistFileSystem,
};
#[cfg(feature = "hooks")]
#[cfg_attr(docsrs, doc(cfg(feature = "hooks")))]
pub use hooks::ShellHook;
pub use jsonl_log::JsonlEventLog;
#[cfg(feature = "mcp-oauth")]
#[cfg_attr(docsrs, doc(cfg(feature = "mcp-oauth")))]
pub use mcp::oauth::{
McpOAuthLoginOptions, McpOAuthTokenProvider, McpOAuthTokenSet, PreparedMcpOAuthLogin,
prepare_mcp_oauth_login, refresh_mcp_oauth_tokens,
};
#[cfg(feature = "mcp")]
#[cfg_attr(docsrs, doc(cfg(feature = "mcp")))]
pub use mcp::{
McpAuthProvider, McpCapability, McpClient, McpProtocolMode, McpServer, McpServerDiscovery,
McpTransport, StaticBearer,
};
#[cfg(feature = "http")]
#[cfg_attr(docsrs, doc(cfg(feature = "http")))]
pub use drivers::{anthropic::AnthropicDriver, openai::OpenAiDriver};