#![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 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};
pub use agent::{
Agent, AgentConfig, AgentWaitFuture, AgentWaitHandle, FinalOutput, QueueMode, ReasoningChange,
RoundAdjustment, RoundBoundary, RoundContext, RoundDecision, RoundStrategy, RoundToolResult,
SpawnedAgentStatus, SpawnedAgentSummary, SteeringHandle, TerminalOutputSpec,
ToolResultPagingConfig,
};
pub use background::{BackgroundNotification, BackgroundTaskStatus, BackgroundTaskSummary};
pub use compaction::{CompactionEngine, CompactionMode, StandardCompactionEngine};
pub use mcp::{
McpClientError, McpManager, McpServerConfig, McpServerStatus, McpServerSummary, McpSseClient,
McpSseConfigError, McpSseError, McpSseLimits, McpSseServerConfig,
};
pub use runtime::{
AgentStore, AuditStore, HybridRuntimeStore, LeaseStore, NewTask, PermissionRuleStore, RunStore,
Runtime, RuntimePolicy, ShellValidationMode, TaskBoard, TaskBoardError, TaskPatch, TaskStore,
};
pub use session::{
PermissionDecision, PermissionRequest, RememberedRule, RuleKey, RuleStore, Session,
SessionEvent, SessionEventReceiver, SessionId, SessionMetadata, SessionPermissionHandle,
SessionStatus, SubagentHandle,
};
pub use team::{
TeamDispatch, TeamMemberStatus, TeamMemberSummary, TeamMessage, TeamMessageKind,
TeamProtocolRequestSummary, TeamProtocolStatus,
};
pub use tool::FileToolProfile;
pub use transcript::{
AgentTranscript, CompactionSummary, DelegationArtifact, DelegationEdge, DelegationKind,
DelegationStatus, TranscriptItem, TranscriptKind,
};
pub mod error {
pub use crate::provider::ProviderError;
pub use crate::runtime::{ErrorCategory, RuntimeError};
}