#![doc = include_str!("../README.md")]
mod default_paths;
pub use mentra_provider as provider_core;
pub mod agent;
#[cfg(feature = "openai-oauth")]
pub mod auth;
pub mod background;
pub mod compaction;
pub mod mcp;
pub mod memory;
pub mod process;
pub mod provider;
pub mod runtime;
pub mod session;
pub mod team;
#[cfg(any(test, feature = "test-utils"))]
pub mod test;
pub mod tool;
pub mod transcript;
pub use mentra_provider::{
AnthropicRequestOptions, BuiltinProvider, ContentBlock, ContentBlockDelta, ContentBlockStart,
GeminiRequestOptions, ImageSource, Message, ModelInfo, ModelSelector, OpenAIRequestOptions,
ProviderCapabilities, ProviderCredentials, ProviderDefinition, ProviderDescriptor,
ProviderError, ProviderEvent, ProviderEventStream, ProviderId, ProviderRequestOptions,
ReasoningEffort, ReasoningFormat, ReasoningOptions, ReasoningProvenance, Request,
ResponsesRequestOptions, ResponsesStateMode, ResponsesTransport, RetryPolicy, Role, TokenUsage,
ToolChoice, ToolSearchMode, WireApi, collect_response_from_stream,
provider_event_stream_from_response,
};
pub use provider::{Provider, ProviderRegistry, ProviderSessionScope};
pub use agent::{
Agent, AgentConfig, AgentWaitFuture, AgentWaitHandle, FinalOutput, QueueMode, ReasoningChange,
RoundAdjustment, RoundBoundary, RoundContext, RoundDecision, RoundStrategy, RoundToolResult,
SpawnedAgentStatus, SpawnedAgentSummary, SteeringHandle, TerminalOutputDecision,
TerminalOutputReservation, TerminalOutputSpec, ToolResultPagingConfig,
};
pub use background::{BackgroundNotification, BackgroundTaskStatus, BackgroundTaskSummary};
pub use compaction::{
CompactionBounds, CompactionEngine, CompactionMode, StandardCompactionEngine,
};
pub use mcp::{
McpClientError, McpManager, McpServerConfig, McpServerStatus, McpServerSummary, McpSseClient,
McpSseConfigError, McpSseError, McpSseLimits, McpSseServerConfig, McpStreamableHttpClient,
McpStreamableHttpConfigError, McpStreamableHttpError, McpStreamableHttpLimits,
McpStreamableHttpServerConfig,
};
#[cfg(feature = "store-sqlite")]
pub use runtime::HybridRuntimeStore;
pub use runtime::{
AgentStore, AuditStore, FileRuntimeStore, LeaseStore, NewTask, PermissionRuleContext,
PermissionRuleStore, RunStore, Runtime, RuntimeBuilder, RuntimePolicy, ShellValidationMode,
SkillInfo, SkillLoadError, TaskBoard, TaskBoardError, TaskPatch, TaskStore, skill_root_key,
};
pub use session::{
PermissionDecision, PermissionRequest, PermissionRuleAddress, RememberedRule, RuleKey,
RuleStore, Session, SessionEvent, SessionEventReceiver, SessionId, SessionMetadata,
SessionPermissionHandle, SessionStatus, SubagentHandle,
};
pub use team::{
TeamDispatch, TeamMemberStatus, TeamMemberSummary, TeamMessage, TeamMessageKind,
TeamProtocolRequestSummary, TeamProtocolStatus,
};
pub use tool::{AudienceToolRegistration, FileToolProfile, PreparedTool, ToolAudience};
pub use transcript::{
AgentTranscript, BranchError, CompactionSummary, DelegationArtifact, DelegationEdge,
DelegationKind, DelegationStatus, EntryId, TranscriptItem, TranscriptKind,
};
pub mod error {
pub use crate::provider::ProviderError;
pub use crate::runtime::{ErrorCategory, RuntimeError};
}