Skip to main content

hirn_engine/
lib.rs

1//! `hirn-engine` — orchestrator crate for the Hirn cognitive memory database.
2//!
3//! Wires together storage, graph, execution, query compilation, and policy
4//! enforcement into the [`HirnDB`] entry-point. Sub-modules cover
5//! recall/think pipelines, consolidation, admission control, observability,
6//! and agent tooling.
7
8pub use hirn_graph::activation;
9pub use hirn_storage::HydratedResource;
10pub mod adaptive;
11pub mod admission;
12pub mod agent_context;
13pub mod backup;
14pub mod consolidation;
15mod db;
16mod error;
17pub mod export;
18pub mod graph;
19pub mod index_advisor;
20pub mod integrity;
21pub mod observability;
22pub mod operators;
23pub mod policy;
24pub mod provider_registry;
25pub mod ql;
26mod resource_presentation;
27mod result_json;
28pub mod retrieval;
29pub use hirn_graph::hebbian;
30pub mod scoring;
31pub mod security;
32pub mod tools;
33pub mod watch;
34
35// ── Backward-compatible re-exports (sub-modules moved into directories) ──
36pub use graph::cached_graph_store;
37pub use graph::causal;
38pub use graph::graph_store;
39pub use graph::persistent_activation;
40pub use graph::persistent_graph;
41pub use graph::persistent_hebbian;
42pub use observability::diagnostics;
43pub use observability::event;
44pub use observability::event_log;
45pub use observability::inspect;
46pub use observability::metrics;
47pub use observability::trace;
48pub use retrieval::global_retrieval;
49pub use retrieval::recall;
50pub use retrieval::think;
51
52pub use activation::ActivationMode;
53pub use admission::{
54    AdmissionController, AdmissionDecision, AdmissionPipeline, ContradictionGate,
55    ControllerVerdict, DuplicateAction, DuplicateDetector, MemoryCandidate, PipelineResult,
56    RateLimiter, SurpriseGate, TokenBudgetGate,
57};
58pub use agent_context::AgentContext;
59pub use backup::{RollbackReport, Snapshot, SnapshotReport};
60pub use causal::{
61    CausalChain, CausalChainResult, CausalLink, ContradictionDetection, Counterfactual,
62    CounterfactualConstraint, TraceReport, causal_relevance,
63};
64pub use consolidation::{
65    Community, CommunityConfig, CommunityResult, CommunitySummaryResult, ConsolidateBuilder,
66    ConsolidationConfig, ConsolidationResult, ConsolidationSchedule, ConsolidationScheduler,
67    ConsolidationStatus, DetectedPatterns, DreamCycleConfig, DreamCycleResult, DreamHypothesis,
68    DreamPhase, EpisodeSegment, ForgettingResult, NarrativeThread, Pattern, PhaseResult,
69    ReconsolidationTracker, ReconsolidationUpdate, execute_dream_cycle,
70    generate_community_summaries, retention_score,
71};
72pub use db::{
73    AdminView, CausalView, CrossAgentConsolidationResult, DbStats, EpisodicFilter, EpisodicView,
74    GraphView, HirnDB, LayerCounts, MutationWriteContract, MutationWriteGuarantee, NamespaceView,
75    PolicyView, PrefetchStats, ProceduralView, PurgeReport, QueryView, RecallView, SemanticFilter,
76    SemanticMerge, SemanticMergeOutcome, SemanticOverride, SemanticRetraction,
77    SemanticSupersession, SemanticUpdate, SemanticView, WorkingView, mutation_write_contracts,
78};
79pub use diagnostics::{QueryDiagnostics, QueryId};
80pub use error::StoreError;
81pub use event::{EventEnvelope, MemoryEvent};
82pub use event_log::{CompactionResult, EventFilter, EventLog, RetentionPolicy, SnapshotMeta};
83pub use export::{ExportData, ExportReport, ImportReport};
84pub use global_retrieval::{
85    CommunityMatch, GlobalRetrievalConfig, GlobalRetrievalResult, global_recall,
86};
87pub use graph::{EdgeId, GraphEdge, GraphNodeData, MAX_EDGES_PER_NODE};
88pub use graph_store::GraphStore;
89pub use hebbian::{HebbianBuffer, HebbianConfig, HebbianUpdateResult};
90pub use index_advisor::{DatasetQueryStats, IndexAdvisor, IndexRecommendation, QueryKind};
91pub use inspect::{InspectBuilder, InspectResult, NeighborInfo};
92pub use integrity::{
93    IntegrityIssue, IntegrityReport, IssueKind, RepairReport, SemanticRevisionIntegrityIssue,
94    SemanticRevisionIntegrityReport, SemanticRevisionIssueKind, SemanticRevisionRepairReport,
95};
96pub use observability::write_path::{
97    AdmissionExplanation, EmbeddingDisposition, InterferenceDisposition, InterferenceExplanation,
98    RememberExplanation, RememberFailure, RememberStatus, RpeExplanation,
99    WritePathOperationExplanation, WritePathOperationStatus,
100};
101pub use persistent_graph::{BfsResult, CausalBfsRow, PersistentGraph};
102pub use policy::{
103    Action, AuthzDecision, AuthzRequest, EntityKind, PolicyEngine, PolicyError,
104    PolicyNamespaceResolver,
105};
106pub use provider_registry::{
107    ApiKeySource, DefaultsConfig, EmbedderConfig, LlmConfig, ProviderConfig, ProviderDefaults,
108    ProviderRegistry, ProvidersSection, RerankerConfig, TokenizerConfig,
109};
110pub use ql::{ParseError, QueryPlan, QueryResult, Statement};
111pub use recall::{
112    LayerFilter, RecallBuilder, RecallPresentation, RecallPresentationItem, RecallResult,
113    RecallViewMode, ResourceEvidenceSummary,
114};
115pub use resource_presentation::ResourceScoreAttribution;
116pub use result_json::{inspected_result_to_json, trace_result_to_json, traced_result_to_json};
117pub use retrieval::explanation::{
118    RetrievalExplanation, RetrievalPolicyScope, RetrievalPolicySummary,
119    RetrievalSuppressionSummary, RetrievedRecordExplanation, ThinkExplanation,
120};
121pub use scoring::{ScoreBreakdown, ScoringWeights};
122pub use security::{
123    CorruptionDefense, CorruptionDefenseConfig, QuarantineApprovalOutcome, QuarantineEntry,
124    QuarantineStatus,
125};
126pub use think::ThinkBuilder;
127pub use tools::{
128    IntrospectionResult, LinkRequest, MemoryAgent, MemoryToolkit, RecallOptions, RecallRecord,
129    StoreRequest, UpdateRequest,
130};
131pub use trace::{TraceBuilder, TraceResult};
132pub use watch::{WatchFilter, WatchSubscription};