//! Bounded service foundation for the native `MetaCrate` `OpenSim` grid agent. //! //! Configuration is resolved and validated before [`AgentService::start`] //! creates tasks or calls a backend. The core has no signal, terminal, path, //! subprocess, provider-SDK, or platform-specific dependency. pub mod backend; pub mod behavior; pub mod config; pub mod control_plane; pub mod control_runtime; pub mod conversation; pub mod interaction; pub mod llm; pub mod observability; pub mod perception; pub mod policy; pub mod service; pub mod session; pub mod tool_loop; pub mod types; #[cfg(test)] mod behavior_tests; #[cfg(test)] mod control_plane_tests; #[cfg(test)] mod control_runtime_tests; #[cfg(test)] mod conversation_tests; #[cfg(test)] mod interaction_tests; #[cfg(test)] mod observability_tests; #[cfg(test)] mod perception_tests; #[cfg(test)] mod policy_tests; #[cfg(test)] mod session_tests; pub use backend::{ AuthorizedToolBackend, BackendError, BackendFuture, GridBackend, OfflineGridBackend, WorldMutator, }; #[cfg(feature = "live-grid")] pub use backend::{ LibremetaverseClientOwner, LibremetaverseEmbodimentSink, LibremetaverseInteractionSink, LibremetaverseSessionBackend, LibremetaverseWorldSnapshotSource, }; pub use behavior::{ AuthorizedBackendRouter, BehaviorBackend, BehaviorController, BehaviorError, BehaviorHandle, BehaviorIngress, BehaviorMode, BehaviorObservation, BehaviorOutcome, BehaviorPolicyResult, BehaviorRandom, BehaviorTrigger, CURRENT_POSE_TOOL, EmbodiedPose, EmbodimentFuture, EmbodimentSink, FACE_AVATAR_TOOL, FACE_POINT_TOOL, LOOK_AROUND_TOOL, SIT_TOOL, STAND_TOOL, STOP_TOOL, WALK_SHORT_TOOL, behavior_policy_tools, }; pub use config::{ AgentConfig, BehaviorSettings, ConfigError, ConfigLoader, ControlSettings, ConversationSettings, EndpointUrl, Environment, GridConnection, Limits, LlmConnection, MapEnvironment, OperatingMode, RemoteTlsSettings, SecretString, StdEnvironment, Timeouts, }; pub use control_plane::{ AuditEventView, CONTROL_PROTOCOL_VERSION, ControlContext, ControlError, ControlErrorBody, ControlErrorCode, ControlEvent, ControlEventKind, ControlFuture, ControlLimits, ControlPayload, ControlPlane, ControlRequest, ControlRequestEnvelope, ControlResponseEnvelope, ControlRole, ControlSubscription, ControlTarget, ConversationChannelView, HealthView, InProcessControlClient, Page, PageRequest, PendingApprovalView, RuntimeView, ScheduledJobView, SessionMetadataView, TcpControlClient, TcpControlConfig, TcpControlServer, }; pub use control_runtime::{AgentControlTarget, RuntimeControlCommand}; pub use conversation::{ ConversationChannel, ConversationClock, ConversationContext, ConversationError, ConversationKey, ConversationLimits, ConversationMetadata, ConversationPersistence, ConversationStore, MemoryEvent, MemoryReason, MemoryRecord, MemoryTrust, MemoryUpdate, SystemConversationClock, }; pub use interaction::{ DeliveryFuture, DeliveryOutcome, ImDialogKind, InboundInteraction, InboundSource, InferenceOutcome, InteractionChannel, InteractionCoordinator, InteractionDeliveryError, InteractionError, InteractionHandle, InteractionIngress, InteractionIntent, InteractionModelError, InteractionObservation, InteractionOrigin, InteractionPacingError, InteractionResponder, InteractionSettings, InteractionSink, OutboundInteraction, PacerFuture, PolicyLlmResponder, ResponderFuture, ResponsePacer, ResponseRequest, SuppressionReason, VisibleResponse, split_utf8, }; pub use llm::{ Completion, CompletionMessage, ContentPart, ImageDetail, LlmClient, LlmError, LlmTransportLimits, ToolDefinition, ToolSchema, Usage, }; pub use observability::{ AgentMetrics, CorrelationIds, DiagnosticDirection, EventDraft, EventFamily, EventOrigin, EventSeverity, EventSubscription, JournalConfig, LatencyMetrics, MetricsSnapshot, OBSERVABILITY_SCHEMA_VERSION, Observability, ObservabilityError, ObservabilityLimits, ObservabilityRuntime, OutcomeCode, OutcomeMetrics, ReplayAction, ReplayState, SensitiveDiagnosticPart, StructuredEvent, UnifiedPolicyAudit, event_json, pseudonymous_identifier, replay_journal, }; pub use perception::{ AGENT_STATE_TOOL, AgentSnapshot, EnvironmentSnapshot, INVENTORY_SEARCH_TOOL, InventoryMetadata, LOCATION_TOOL, LandmarkMetadata, NEARBY_AVATARS_TOOL, ObservedAvatar, ObservedObject, PARCEL_ENVIRONMENT_TOOL, PerceptionBackend, PerceptionError, PerceptionIngress, PerceptionObservation, PerceptionOutcome, RECEIVED_LANDMARKS_TOOL, RECENT_PARTICIPANTS_TOOL, SnapshotFuture, VISIBLE_OBJECTS_TOOL, WorldPosition, WorldSnapshot, WorldSnapshotSource, perception_policy_tools, unix_millis_now, }; pub use policy::{ ActionOrigin, AllowedOrigins, ApprovalId, ApprovalRule, AuthenticatedPrincipal, AuthorizedAction, BudgetLimits, Capability, FixedCost, Idempotency, MemoryPolicyAudit, OriginClass, PendingApprovalMetadata, PolicyAuditError, PolicyAuditRecord, PolicyAuditSink, PolicyDisposition, PolicyError, PolicyEvaluation, PolicyFinalOutcome, PolicyGateway, PolicyLimits, PolicyReasonCode, PolicyRequestContext, PolicySnapshot, PolicyTool, PolicyToolExecutor, ResourceCost, ResourceEstimator, Risk, SchedulerGrantId, UntrustedData, UntrustedSource, }; pub use service::{AgentService, ServiceError, ServiceHandle, ServiceState}; pub use session::{ GridSession, GridSessionBackend, ReconnectPolicy, SessionControl, SessionFailure, SessionFailureKind, SessionFuture, SessionObservation, SessionReason, SessionSignal, SessionState, SessionStatus, SessionSupervisor, SessionSupervisorError, SessionSupervisorHandle, SessionWork, WorkDisposition, WorkKind, }; pub use tool_loop::{ HistorySummarizer, SessionGeneration, ToolExecution, ToolExecutor, ToolFuture, ToolLoop, ToolLoopError, ToolLoopLimits, ToolLoopOutcome, }; pub use types::{ BoundaryError, BoundedText, BoundedVec, ControlCommand, Conversation, ConversationMessage, GridEvent, GridEventKind, LlmRequest, LlmResult, MessageRole, ObservableEvent, ProposedToolCall, ToolCallOutcome, };