codemem_core/lib.rs
1//! codemem-core: Shared types, traits, and errors for the Codemem memory engine.
2
3// ── PageRank algorithm constants ──────────────────────────────────────────────
4/// Default PageRank damping factor. Higher values give more weight to graph structure,
5/// lower values favor uniform distribution (common: 0.85).
6pub const PAGERANK_DAMPING_DEFAULT: f64 = 0.85;
7
8/// Default maximum iterations for PageRank power iteration. Higher values increase accuracy
9/// but cost; 100 iterations typically suffices for convergence (common: 100).
10pub const PAGERANK_ITERATIONS_DEFAULT: usize = 100;
11
12/// Default convergence tolerance for PageRank. Iteration stops when max score delta
13/// drops below this threshold (common: 1e-6).
14pub const PAGERANK_TOLERANCE_DEFAULT: f64 = 1e-6;
15
16pub mod config;
17pub mod error;
18pub mod metrics;
19pub mod traits;
20pub mod types;
21pub mod utils;
22
23// ── utils ───────────────────────────────────────────────────────────────────
24pub use utils::truncate;
25
26// ── config ──────────────────────────────────────────────────────────────────
27pub use config::{
28 ChunkingConfig, CodememConfig, EmbeddingConfig, EnrichmentConfig, FanOutLimits, MemoryConfig,
29 ScipConfig, ScipIndexersConfig, StorageConfig,
30};
31
32// ── error ───────────────────────────────────────────────────────────────────
33pub use error::CodememError;
34
35// ── metrics ─────────────────────────────────────────────────────────────────
36pub use metrics::{LatencyStats, Metrics, MetricsSnapshot, NoopMetrics};
37
38// ── traits ──────────────────────────────────────────────────────────────────
39pub use traits::{
40 ConsolidationLogEntry, EmbeddingProvider, GraphBackend, GraphStats, PendingUnresolvedRef,
41 StorageBackend, StorageStats, VectorBackend, VectorStats,
42};
43
44// ── types ───────────────────────────────────────────────────────────────────
45pub use types::{
46 content_hash, DetectedPattern, DistanceMetric, Edge, GraphConfig, GraphNode, MemoryNode,
47 MemoryType, NodeCoverageEntry, NodeKind, NodeMemoryResult, PatternType, RawGraphMetrics,
48 RelationshipType, Repository, ScopeContext, ScoreBreakdown, ScoringWeights, SearchResult,
49 Session, SessionActivitySummary, UnresolvedRefData, VectorConfig, ENRICHMENT_ANALYSES,
50};