Skip to main content

khive_runtime/
lib.rs

1//! khive-runtime: composable Service API used by daemon, MCP server, and CLI.
2//!
3//! Wraps `StorageBackend` + query compilation into a single Rust API.
4//!
5//! # Quick start
6//!
7//! ```ignore
8//! use khive_runtime::{KhiveRuntime, RuntimeConfig};
9//! use khive_types::Namespace;
10//!
11//! // In-memory for tests:
12//! let rt = KhiveRuntime::memory()?;
13//! let tok = rt.authorize(Namespace::local());
14//!
15//! // Create an entity:
16//! let entity = rt.create_entity(&tok, "concept", None, "LoRA", None, None, vec![]).await?;
17//!
18//! // Link two entities:
19//! let edge = rt.link(&tok, entity.id, other_id, EdgeRelation::Extends, 1.0, None).await?;
20//! ```
21
22pub mod curation;
23pub mod error;
24pub mod fusion;
25pub mod graph_traversal;
26pub mod objectives;
27pub mod operations;
28pub mod pack;
29pub mod portability;
30pub mod presentation;
31pub mod registry;
32pub mod retrieval;
33pub mod runtime;
34pub mod validation;
35
36pub use curation::{
37    ContentMergeStrategy, EdgeListFilter, EdgePatch, EntityDedupMergePolicy, EntityPatch,
38    MergeSummary, NotePatch,
39};
40pub use error::{RuntimeError, RuntimeResult};
41pub use fusion::FusionStrategy;
42pub use graph_traversal::{PathNode, TraversalOptions};
43pub use khive_gate::{
44    ActorRef, AllowAllGate, AuditDecision, AuditEvent, Gate, GateContext, GateDecision, GateError,
45    GateRef, GateRequest, Obligation,
46};
47pub use khive_storage::{EventObservation, EventView, ObservationRole, ReferentKind};
48pub use khive_types::namespace::Namespace;
49pub use objectives::{
50    DecayAwareImportanceObjective, GraphProximityObjective, NoteCandidate, RerankerObjective,
51    RetrievalCandidate, RrfFusionObjective, TemporalRecencyObjective, TextRelevanceObjective,
52    VectorSimilarityObjective,
53};
54pub use operations::{LinkSpec, NoteSearchHit, QueryResult, Resolved};
55pub use pack::{
56    DispatchHook, KindHook, NoteKindSpec, NoteLifecycleSpec, PackFactory, PackRegistration,
57    PackRegistry, PackRuntime, PackSchemaPlan, SchemaPlan, VerbRegistry, VerbRegistryBuilder,
58};
59pub use portability::{ImportSummary, KgArchive};
60pub use presentation::{present, PresentationMode};
61pub use registry::{ObjectiveRegistry, RegisteredObjective};
62pub use retrieval::{SearchHit, SearchSource};
63pub use runtime::{parse_pack_list, BackendId, KhiveRuntime, NamespaceToken, RuntimeConfig};
64pub use validation::{
65    GraphPatch, GraphSnapshot, RuleFn, RuleId, Severity, ValidationContext, ValidationReport,
66    ValidationRule, Violation,
67};