Skip to main content

mentra/
lib.rs

1#![doc = include_str!("../README.md")]
2
3mod default_paths;
4
5pub use mentra_provider as provider_core;
6
7/// Agent configuration, lifecycle, and event handling.
8pub mod agent;
9/// Optional OAuth helpers for provider authentication.
10#[cfg(feature = "openai-oauth")]
11pub mod auth;
12/// Background task coordination types and services.
13pub mod background;
14/// Transcript compaction engine and related types.
15pub mod compaction;
16/// Working-memory journal and long-term memory services.
17pub mod memory;
18/// Provider integrations and transport-neutral request/response types.
19pub mod provider;
20/// Runtime orchestration, persistence, policies, and agent APIs.
21pub mod runtime;
22/// Session types, metadata, and event stream primitives.
23pub mod session;
24/// Team coordination types and collaboration services.
25pub mod team;
26/// Optional test helpers for deterministic scripted runtimes.
27#[cfg(any(test, feature = "test-utils"))]
28pub mod test;
29/// Tool traits, metadata, and builtin tools.
30pub mod tool;
31/// Canonical runtime transcript primitives.
32pub 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}