Merge commit 'd803bfe2b1fe7f5e219e50ac20d6801a0a58ac75' as 'vendor/ruvector'
This commit is contained in:
104
vendor/ruvector/crates/ruvector-dag/src/lib.rs
vendored
Normal file
104
vendor/ruvector/crates/ruvector-dag/src/lib.rs
vendored
Normal file
@@ -0,0 +1,104 @@
|
||||
//! RuVector DAG - Directed Acyclic Graph structures for query plan optimization
|
||||
//!
|
||||
//! This crate provides efficient DAG data structures and algorithms for representing
|
||||
//! and manipulating query execution plans with neural learning capabilities.
|
||||
//!
|
||||
//! ## Features
|
||||
//!
|
||||
//! - **DAG Data Structures**: Efficient directed acyclic graph representation for query plans
|
||||
//! - **7 Attention Mechanisms**: Topological, Causal Cone, Critical Path, MinCut Gated, and more
|
||||
//! - **SONA Learning**: Self-Optimizing Neural Architecture with MicroLoRA adaptation (non-WASM only)
|
||||
//! - **MinCut Optimization**: Subpolynomial O(n^0.12) bottleneck detection
|
||||
//! - **Self-Healing**: Autonomous anomaly detection and repair (non-WASM only)
|
||||
//! - **QuDAG Integration**: Quantum-resistant distributed pattern learning (non-WASM only)
|
||||
//!
|
||||
//! ## Quick Start
|
||||
//!
|
||||
//! ```rust
|
||||
//! use ruvector_dag::{QueryDag, OperatorNode, OperatorType};
|
||||
//! use ruvector_dag::attention::{TopologicalAttention, DagAttention};
|
||||
//!
|
||||
//! // Build a query DAG
|
||||
//! let mut dag = QueryDag::new();
|
||||
//! let scan = dag.add_node(OperatorNode::seq_scan(0, "users"));
|
||||
//! let filter = dag.add_node(OperatorNode::filter(1, "age > 18"));
|
||||
//! dag.add_edge(scan, filter).unwrap();
|
||||
//!
|
||||
//! // Compute attention scores
|
||||
//! let attention = TopologicalAttention::new(Default::default());
|
||||
//! let scores = attention.forward(&dag).unwrap();
|
||||
//! ```
|
||||
//!
|
||||
//! ## Modules
|
||||
//!
|
||||
//! - [`dag`] - Core DAG data structures and algorithms
|
||||
//! - [`attention`] - Neural attention mechanisms for node importance
|
||||
//! - [`sona`] - Self-Optimizing Neural Architecture with adaptive learning (requires `full` feature)
|
||||
//! - [`mincut`] - Subpolynomial bottleneck detection and optimization
|
||||
//! - [`healing`] - Self-healing system with anomaly detection (requires `full` feature)
|
||||
//! - [`qudag`] - QuDAG network integration for distributed learning (requires `full` feature)
|
||||
|
||||
// Core modules (always available)
|
||||
pub mod attention;
|
||||
pub mod dag;
|
||||
pub mod mincut;
|
||||
|
||||
// Modules requiring async runtime (non-WASM only)
|
||||
#[cfg(feature = "full")]
|
||||
pub mod healing;
|
||||
#[cfg(feature = "full")]
|
||||
pub mod qudag;
|
||||
#[cfg(feature = "full")]
|
||||
pub mod sona;
|
||||
|
||||
pub use dag::{
|
||||
BfsIterator, DagDeserializer, DagError, DagSerializer, DfsIterator, OperatorNode, OperatorType,
|
||||
QueryDag, TopologicalIterator,
|
||||
};
|
||||
|
||||
pub use mincut::{
|
||||
Bottleneck, BottleneckAnalysis, DagMinCutEngine, FlowEdge, LocalKCut, MinCutConfig,
|
||||
MinCutResult, RedundancyStrategy, RedundancySuggestion,
|
||||
};
|
||||
|
||||
pub use attention::{
|
||||
AttentionConfig, AttentionError, AttentionScores, CausalConeAttention, CausalConeConfig,
|
||||
CriticalPathAttention, CriticalPathConfig, DagAttention, FlowCapacity,
|
||||
MinCutConfig as AttentionMinCutConfig, MinCutGatedAttention, TopologicalAttention,
|
||||
TopologicalConfig,
|
||||
};
|
||||
|
||||
#[cfg(feature = "full")]
|
||||
pub use qudag::QuDagClient;
|
||||
|
||||
// Re-export crypto security functions for easy access (requires full feature)
|
||||
#[cfg(feature = "full")]
|
||||
pub use qudag::crypto::{
|
||||
check_crypto_security, is_production_ready, security_status, SecurityStatus,
|
||||
};
|
||||
|
||||
#[cfg(feature = "full")]
|
||||
pub use healing::{
|
||||
Anomaly, AnomalyConfig, AnomalyDetector, AnomalyType, DriftMetric, DriftTrend,
|
||||
HealingCycleResult, HealingOrchestrator, HealthStatus, IndexCheckResult, IndexHealth,
|
||||
IndexHealthChecker, IndexThresholds, IndexType, LearningDriftDetector, RepairResult,
|
||||
RepairStrategy,
|
||||
};
|
||||
|
||||
#[cfg(feature = "full")]
|
||||
pub use sona::{
|
||||
DagPattern, DagReasoningBank, DagSonaEngine, DagTrajectory, DagTrajectoryBuffer, EwcConfig,
|
||||
EwcPlusPlus, MicroLoRA, MicroLoRAConfig, ReasoningBankConfig,
|
||||
};
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
|
||||
#[test]
|
||||
fn test_basic_dag_creation() {
|
||||
let dag = QueryDag::new();
|
||||
assert_eq!(dag.node_count(), 0);
|
||||
assert_eq!(dag.edge_count(), 0);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user