#![allow(clippy::cast_precision_loss)]
#![allow(clippy::missing_errors_doc)]
#![allow(clippy::missing_panics_doc)]
#![allow(clippy::missing_docs_in_private_items)]
#![allow(clippy::cast_possible_wrap)]
#![allow(clippy::cast_possible_truncation)]
#![allow(clippy::needless_pass_by_value)]
#![allow(clippy::redundant_closure_for_method_calls)]
#![allow(clippy::unused_self)]
#![allow(clippy::items_after_statements)]
#![allow(clippy::match_same_arms)]
#![allow(clippy::cast_sign_loss)]
#![allow(clippy::assigning_clones)]
#![allow(clippy::borrowed_box)]
#![allow(clippy::float_cmp)]
#![allow(clippy::ref_option)]
#![allow(unknown_lints)]
#![allow(renamed_and_removed_lints)]
#![allow(clippy::duplicated_attributes)]
#![allow(clippy::unnecessary_fallible_conversions)]
#![allow(clippy::uninlined_format_args)]
#![allow(clippy::unwrap_or)]
#![allow(clippy::implicit_hasher)]
#![allow(clippy::unnecessary_map_on_constructors)]
#![allow(clippy::empty_line_after_doc_comments)]
#![allow(clippy::fallible_impl_from)]
#![allow(clippy::trait_duplication_in_bounds)]
#![allow(clippy::type_repetition_in_bounds)]
#![allow(clippy::self_named_constructors)]
#![allow(clippy::map_unwrap_or)]
#![allow(clippy::unwrap_or_result)]
#![allow(clippy::manual_try_from)]
#![allow(clippy::default_constructed_unit_structs)]
#![allow(clippy::redundant_field_names)]
#![allow(clippy::manual_string_new)]
#![allow(clippy::match_like_matches_macro)]
#![allow(clippy::if_same_then_else)]
#![allow(clippy::enum_glob_use)]
#![allow(clippy::use_self)]
#![allow(clippy::use_debug)]
#![allow(clippy::struct_field_names)]
#![allow(clippy::min_ident_chars)]
#![allow(clippy::mixed_read_write_in_expression)]
#![allow(clippy::doc_line_length)]
#![allow(clippy::wildcard_imports)]
#![allow(clippy::restriction)]
#![allow(clippy::pattern_type_mismatch)]
#![allow(clippy::shadow_reuse)]
#![allow(clippy::shadow_same)]
#![allow(clippy::decimal_literal_representation)]
#![allow(clippy::absolute_paths)]
#![allow(clippy::single_call_fn)]
#![allow(clippy::std_instead_of_core)]
#![allow(clippy::std_instead_of_alloc)]
#![allow(clippy::arithmetic_side_effects)]
#![allow(clippy::float_arithmetic)]
#![allow(clippy::as_conversions)]
#![allow(clippy::implicit_return)]
#![allow(clippy::inefficient_to_string)]
#![allow(clippy::unreadable_literal)]
#![allow(clippy::bare_trait_objects)]
#![allow(clippy::must_use_candidate)]
#![allow(clippy::doc_markdown)]
pub mod constants;
pub mod embeddings;
pub mod episode;
pub mod episodic;
pub mod error;
pub mod extraction;
pub mod indexing;
pub mod learning;
pub mod memory;
pub mod monitoring;
pub mod pattern;
pub mod patterns;
pub mod pre_storage;
pub mod reflection;
pub mod retrieval;
pub mod reward;
pub mod search;
pub mod security;
pub mod semantic;
pub mod spatiotemporal;
pub mod storage;
pub mod sync;
pub use sync::StorageSynchronizer;
pub mod types;
pub mod embeddings_simple;
pub use episode::{Episode, ExecutionStep, PatternId};
pub use episodic::{CapacityManager, EvictionPolicy};
pub use error::{CacheError, Error, RelationshipError, Result};
pub use extraction::PatternExtractor;
pub use indexing::{
BenchmarkResult, IndexMetrics, IndexableMemory, QueryPerformance,
hierarchical::{HierarchicalIndex, HierarchicalIndexStats, HierarchicalQuery},
spatiotemporal::{IndexStats, QueryOptions, SpatiotemporalIndex, TimeBucket},
};
pub use learning::queue::{PatternExtractionQueue, QueueConfig, QueueStats};
pub use memory::SelfLearningMemory;
pub use memory::checkpoint::{CheckpointMeta, HandoffPack};
pub use memory::filters::{EpisodeFilter, EpisodeFilterBuilder, OutcomeType};
pub use memory::step_buffer::BatchConfig;
pub use monitoring::{AgentMetrics, AgentMonitor, AgentType, MonitoringConfig, TaskMetrics};
pub use pattern::{Heuristic, Pattern, PatternEffectiveness};
pub use patterns::{
Anomaly, AnomalyReason, ChangeDirection, ChangeType, Changepoint, ChangepointConfig,
ChangepointDetector, ClusterCentroid, ClusteringConfig, DBSCANAnomalyDetector,
DBSCANClusterResult, DBSCANConfig, DBSCANStats, EffectivenessTracker, EpisodeCluster,
FeatureWeights, PatternClusterer, PatternMetrics, PatternUsage, PatternValidator,
SegmentComparison, SegmentComparisonConfig, SegmentStats, UsageStats, ValidationConfig,
};
pub use reflection::ReflectionGenerator;
pub use retrieval::{CacheKey, CacheMetrics, QueryCache};
pub use reward::{
AdaptiveRewardCalculator, DomainStatistics, DomainStatisticsCache, RewardCalculator,
};
pub use security::audit::{
ActorType, AuditConfig, AuditContext, AuditEntry, AuditEventType, AuditLogLevel, AuditLogger,
AuditOutput, AuditResult,
};
pub use storage::{DEFAULT_QUERY_LIMIT, MAX_QUERY_LIMIT, StorageBackend, apply_query_limit};
pub use types::{
ComplexityLevel, ConcurrencyConfig, DualRewardScore, Evidence, ExecutionResult, MemoryConfig,
OutcomeStats, Reflection, RewardScore, StorageConfig, TaskContext, TaskOutcome, TaskType,
};
pub use memory::attribution::{
RecommendationFeedback, RecommendationSession, RecommendationStats, RecommendationTracker,
};