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/// Model Context Protocol (MCP) client and tool bridge.
17pub mod mcp;
18/// Working-memory journal and long-term memory services.
19pub mod memory;
20/// Provider integrations and transport-neutral request/response types.
21pub mod provider;
22/// Runtime orchestration, persistence, policies, and agent APIs.
23pub mod runtime;
24/// Session types, metadata, and event stream primitives.
25pub mod session;
26/// Team coordination types and collaboration services.
27pub mod team;
28/// Optional test helpers for deterministic scripted runtimes.
29#[cfg(any(test, feature = "test-utils"))]
30pub mod test;
31/// Tool traits, metadata, and builtin tools.
32pub mod tool;
33/// Canonical runtime transcript primitives.
34pub mod transcript;
35
36pub use mentra_provider::{
37    AnthropicRequestOptions, BuiltinProvider, ContentBlock, ContentBlockDelta, ContentBlockStart,
38    GeminiRequestOptions, ImageSource, Message, ModelInfo, ModelSelector, OpenAIRequestOptions,
39    ProviderCapabilities, ProviderCredentials, ProviderDefinition, ProviderDescriptor,
40    ProviderError, ProviderEvent, ProviderEventStream, ProviderId, ProviderRequestOptions,
41    ReasoningEffort, ReasoningFormat, ReasoningOptions, ReasoningProvenance, Request,
42    ResponsesRequestOptions, ResponsesStateMode, ResponsesTransport, RetryPolicy, Role, TokenUsage,
43    ToolChoice, ToolSearchMode, WireApi, collect_response_from_stream,
44    provider_event_stream_from_response,
45};
46
47pub use provider::{Provider, ProviderRegistry};
48
49pub use agent::{
50    Agent, AgentConfig, AgentWaitFuture, AgentWaitHandle, FinalOutput, QueueMode, ReasoningChange,
51    RoundAdjustment, RoundBoundary, RoundContext, RoundDecision, RoundStrategy, RoundToolResult,
52    SpawnedAgentStatus, SpawnedAgentSummary, SteeringHandle, TerminalOutputSpec,
53    ToolResultPagingConfig,
54};
55pub use background::{BackgroundNotification, BackgroundTaskStatus, BackgroundTaskSummary};
56pub use compaction::{CompactionEngine, CompactionMode, StandardCompactionEngine};
57pub use mcp::{
58    McpClientError, McpManager, McpServerConfig, McpServerStatus, McpServerSummary, McpSseClient,
59    McpSseConfigError, McpSseError, McpSseLimits, McpSseServerConfig,
60};
61pub use runtime::{
62    AgentStore, AuditStore, HybridRuntimeStore, LeaseStore, NewTask, PermissionRuleStore, RunStore,
63    Runtime, RuntimeBuilder, RuntimePolicy, ShellValidationMode, SkillInfo, SkillLoadError,
64    TaskBoard, TaskBoardError, TaskPatch, TaskStore,
65};
66pub use session::{
67    PermissionDecision, PermissionRequest, RememberedRule, RuleKey, RuleStore, Session,
68    SessionEvent, SessionEventReceiver, SessionId, SessionMetadata, SessionPermissionHandle,
69    SessionStatus, SubagentHandle,
70};
71pub use team::{
72    TeamDispatch, TeamMemberStatus, TeamMemberSummary, TeamMessage, TeamMessageKind,
73    TeamProtocolRequestSummary, TeamProtocolStatus,
74};
75pub use tool::FileToolProfile;
76pub use transcript::{
77    AgentTranscript, BranchError, CompactionSummary, DelegationArtifact, DelegationEdge,
78    DelegationKind, DelegationStatus, EntryId, TranscriptItem, TranscriptKind,
79};
80
81pub mod error {
82    pub use crate::provider::ProviderError;
83    pub use crate::runtime::{ErrorCategory, RuntimeError};
84}