Skip to main content

khive_types/
lib.rs

1//! khive-types — core primitives and substrate data types.
2//!
3//! `#![no_std]` compatible. Minimal dependencies. No ID generation, no clock
4//! access, no panics. Substrate structs (Note, Entity, Event) are merged into
5//! this crate — they are the data shape that the rest of the runtime operates on.
6
7#![no_std]
8#![forbid(unsafe_code)]
9
10extern crate alloc;
11
12#[cfg(feature = "std")]
13extern crate std;
14
15pub mod edge;
16pub mod entity;
17pub mod error;
18pub mod event;
19pub mod header;
20pub mod id;
21pub mod namespace;
22pub mod note;
23pub mod pack;
24pub mod substrate;
25pub mod timestamp;
26pub mod vector;
27
28pub use edge::{EdgeCategory, EdgeRelation};
29pub use entity::{Entity, EntityKind, Link, PropertyValue};
30pub use error::{TypeError, UnknownVariant};
31pub use event::{Event, EventBuilder, EventOutcome};
32pub use header::Header;
33pub use id::{Id128, ParseIdError};
34pub use namespace::Namespace;
35pub use note::{Note, NoteKind, NoteStatus};
36pub use pack::{Pack, VerbDef};
37pub use substrate::{SubstrateKind, SUBSTRATE_COUNT};
38pub use timestamp::Timestamp;
39pub use vector::DistanceMetric;