1#![doc = include_str!("../README.md")]
2
3mod default_paths;
4
5pub use mentra_provider as provider_core;
6
7pub mod agent;
9#[cfg(feature = "openai-oauth")]
11pub mod auth;
12pub mod background;
14pub mod compaction;
16pub mod memory;
18pub mod provider;
20pub mod runtime;
22pub mod session;
24pub mod team;
26#[cfg(any(test, feature = "test-utils"))]
28pub mod test;
29pub mod tool;
31pub mod transcript;
33
34pub use mentra_provider::{
35 AnthropicRequestOptions, BuiltinProvider, ContentBlock, ContentBlockDelta, ContentBlockStart,
36 GeminiRequestOptions, ImageSource, Message, ModelInfo, ModelSelector, OpenAIRequestOptions,
37 ProviderCapabilities, ProviderCredentials, ProviderDefinition, ProviderDescriptor,
38 ProviderError, ProviderEvent, ProviderEventStream, ProviderId, ProviderRequestOptions,
39 ReasoningEffort, ReasoningOptions, Request, ResponsesRequestOptions, RetryPolicy, Role,
40 TokenUsage, ToolChoice, ToolSearchMode, WireApi, collect_response_from_stream,
41 provider_event_stream_from_response,
42};
43
44pub use provider::{Provider, ProviderRegistry};
45
46pub use agent::{Agent, AgentConfig, SpawnedAgentStatus, SpawnedAgentSummary};
47pub use background::{BackgroundNotification, BackgroundTaskStatus, BackgroundTaskSummary};
48pub use compaction::{CompactionEngine, CompactionMode, StandardCompactionEngine};
49pub use runtime::{
50 AgentStore, AuditStore, HybridRuntimeStore, LeaseStore, PermissionRuleStore, RunStore, Runtime,
51 RuntimePolicy, TaskStore,
52};
53pub use session::{
54 PermissionDecision, PermissionRequest, RememberedRule, RuleKey, RuleStore, Session,
55 SessionEvent, SessionEventReceiver, SessionId, SessionMetadata, SessionPermissionHandle,
56 SessionStatus, SubagentHandle,
57};
58pub use team::{
59 TeamDispatch, TeamMemberStatus, TeamMemberSummary, TeamMessage, TeamMessageKind,
60 TeamProtocolRequestSummary, TeamProtocolStatus,
61};
62pub use transcript::{
63 AgentTranscript, CompactionSummary, DelegationArtifact, DelegationEdge, DelegationKind,
64 DelegationStatus, TranscriptItem, TranscriptKind,
65};
66
67pub mod error {
68 pub use crate::provider::ProviderError;
69 pub use crate::runtime::{ErrorCategory, RuntimeError};
70}