1#![warn(missing_docs)]
29#![warn(clippy::all)]
30#![allow(clippy::too_many_arguments)]
31
32pub use uuid::Uuid;
34
35pub mod actions;
37pub mod agent_api;
38pub mod character_loader;
39pub mod config;
40pub mod distributed;
41pub mod dynamic_prompts;
42pub mod zoeyos;
43pub mod entities;
44pub mod error;
45pub mod function_calling;
46pub mod infrastructure;
47pub mod ipo;
48pub mod message;
49pub mod ml_bridge;
50pub mod multi_agent;
51pub mod observability;
52pub mod planner;
53pub mod plugin;
54pub mod plugin_system;
55pub mod preprocessor;
56pub mod resilience;
57pub mod roles;
58pub mod runtime;
59pub mod runtime_ref;
60pub mod secrets;
61pub mod security;
62pub mod streaming;
63pub mod templates;
64pub mod testing;
65pub mod training;
66pub mod types;
67pub mod utils;
68#[cfg(feature = "otel")]
69pub use infrastructure::otel;
70pub mod detectors;
71pub mod extensions;
72pub mod integration;
73pub mod nlp;
74pub mod pipeline;
75pub mod workers;
76
77pub use actions::{compose_action_examples, format_action_names, format_actions};
79pub use character_loader::{load_character_from_xml, parse_character_xml};
80pub use config::{
81 get_env_bool, get_env_float, get_env_int, get_env_or, get_required_env, load_env,
82 load_env_from_path, validate_env,
83};
84pub use distributed::{
85 ClusterConfig, DistributedMessage, DistributedRuntime, NodeInfo, NodeStatus,
86};
87pub use dynamic_prompts::{
88 compose_random_user, upgrade_double_to_triple, DynamicPromptExecutor, DynamicPromptOptions,
89 MetricsSummary, ModelMetrics, ResponseFormat, SchemaMetrics, SchemaRow, SchemaType,
90 ValidationLevel,
91};
92pub use zoeyos::{
93 ZoeyOS, ZoeyOSMetrics, HealthStatus as ZoeyOSHealthStatus, SendMessageOptions,
94 SendMessageResult,
95};
96pub use entities::{
97 create_unique_uuid_for_entity, find_entity_by_name, find_entity_by_name_with_config,
98 format_entities, get_entity_details, get_recent_interactions, EntityResolutionConfig,
99};
100pub use error::{ZoeyError, Result};
101pub use function_calling::{
102 create_function_definition, FunctionCall, FunctionDefinition, FunctionHandler,
103 FunctionRegistry, FunctionResult,
104};
105pub use integration::{
106 AdaptiveCapable,
107 AlternativeOption,
108 AlwaysOnPlugins,
109 AuditContext,
110 Capability,
112 CapabilityRegistry,
113 CpuInfo,
114 DynamicPluginManager,
116 ExplainabilityCapable,
117 Explanation,
118 FinetuneResult,
119 GpuInfo,
120 HardwareCapable,
121 HardwareInfo,
122 IntegrationBridge,
123 IntegrationSummary,
124 IntentCategory,
126 IntentDetector,
127 MLCapable,
129 MemoryInfo,
130 ModelStatus,
132 OptimizationRecommendation,
133 PluginLifecycle,
134 PluginManagerStatus,
135 PluginPolicy,
137 PluginState,
138 ProcessedIntent,
139 TaskConfig,
140 TrainingExample,
141 WorkflowCapable,
142 WorkflowConfig,
143 WorkflowResult,
144 WorkflowStatus,
145};
146pub use ipo::{create_government_pipeline, IPOPipeline, Input, Output, Process, ProcessDecision};
147pub use message::MessageProcessor;
148pub use ml_bridge::{
149 MLBridge, MLFramework, ModelInterface, PythonEnvironment, SecurityConfig, TrainedModel,
150};
151pub use multi_agent::{
152 AgentCapability, AgentStatus as MultiAgentStatus, CoordinationMessage, CoordinationMessageType,
153 MultiAgentCoordinator, MultiAgentService,
154};
155pub use observability::{
156 CostSummary, CostTracker, CostTrackingConfig, LLMCallContext, LLMCostRecord, Observability,
157 ObservabilityConfig, PromptStorageConfig, ProviderPricing, RestApiConfig,
158};
159pub use planner::{
160 AgentBudget, BudgetAction, BudgetCheckResult, BudgetManager, ComplexityAnalyzer,
161 ComplexityAssessment, ComplexityLevel, CostCalculator, CostEstimate, EmojiPlanner,
162 EmojiStrategy, EmojiTone, EmojiType, ExecutionPlan, ExecutionRecord, KnowledgeAnalyzer,
163 KnowledgeGap, KnowledgeState, MetricsTracker, ModelPricing, Optimization, PlanOptimizer,
164 Planner, PlannerConfig, PlannerMetrics, Priority, ResponseStrategy, ResponseTone, ResponseType,
165 TokenBudget, TokenCounter, TokenEstimate, TokenTracker,
166};
167pub use plugin::{
168 get_plugin_actions, get_plugin_evaluators, get_plugin_providers, get_plugin_services,
169 initialize_plugins, load_plugins, resolve_plugin_dependencies, validate_plugin,
170};
171pub use resilience::{
172 retry_with_backoff, CircuitBreaker, CircuitState, HealthCheck, HealthChecker, HealthStatus,
173 RetryConfig,
174};
175pub use roles::{
176 find_worlds_for_owner, get_user_world_role, is_admin_or_owner, is_moderator_or_higher, Role,
177};
178pub use runtime::{AgentRuntime, RuntimeOpts};
179pub use runtime_ref::{downcast_runtime_ref, RuntimeRef};
180pub use secrets::{
181 get_secret, has_character_secrets, load_secret_from_env, remove_secret,
182 set_default_secrets_from_env, set_secret,
183};
184pub use security::{
185 decrypt_secret, encrypt_secret, hash_password, sanitize_input, validate_input, verify_password,
186 RateLimiter,
187};
188pub use streaming::{
189 collect_stream, create_text_stream, StreamHandler, TextChunk, TextStream, TextStreamSender,
190};
191pub use templates::{
192 compose_prompt_from_state, TemplateEngine, MESSAGE_HANDLER_TEMPLATE, POST_CREATION_TEMPLATE,
193};
194pub use testing::{create_mock_runtime, create_test_memory, create_test_room, run_test_suite};
195pub use training::{
196 create_training_collector, DatasetBuilder, DatasetStatistics, RLHFManager, TrainingCollector,
197 TrainingConfig, TrainingFormat, TrainingSample,
198};
199pub use types::*;
200pub use utils::{create_unique_uuid, string_to_uuid, Logger, BM25};
201
202pub use extensions::{
204 LearningProvider, LearningFeedback, FeedbackSource, TrainingResult,
206 BasicLearningProvider,
207 ComplianceProvider, PiiFinding, PiiType, Severity, ComplianceFramework,
209 ComplianceCheckResult, ComplianceFinding, AuditEntry, AuditOutcome,
210 ComplianceAuditReport, BasicComplianceProvider,
211 DistributedExecutor,
213 NodeInfo as ExtNodeInfo,
214 NodeStatus as ExtNodeStatus,
215 NodeResources as ExtNodeResources,
216 DistributedTask, DistributedTaskResult, ClusterStatus,
217 PolicyProvider, PolicyRule, PolicyRuleType, PolicyDecision,
219 IdentityProvider, Identity, ConsentScope, DataExportRequest,
221 DataDeletionRequest, DataRequestStatus,
222 ExtensionRegistry,
224};