//! 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 config; pub mod llm; pub mod policy; pub mod service; pub mod tool_loop; pub mod types; #[cfg(test)] mod policy_tests; #[cfg(feature = "live-grid")] pub use backend::LibremetaverseClientOwner; pub use backend::{ AuthorizedToolBackend, BackendError, BackendFuture, GridBackend, OfflineGridBackend, WorldMutator, }; pub use config::{ AgentConfig, BehaviorSettings, ConfigError, ConfigLoader, EndpointUrl, Environment, GridConnection, Limits, LlmConnection, MapEnvironment, OperatingMode, SecretString, StdEnvironment, Timeouts, }; pub use llm::{ Completion, CompletionMessage, ContentPart, ImageDetail, LlmClient, LlmError, LlmTransportLimits, ToolDefinition, ToolSchema, Usage, }; pub use policy::{ ActionOrigin, AllowedOrigins, ApprovalId, ApprovalRule, AuthenticatedPrincipal, AuthorizedAction, BudgetLimits, Capability, FixedCost, Idempotency, MemoryPolicyAudit, OriginClass, 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 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, };