use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, Serialize, Deserialize)]
pub struct MemoryId(pub u128);
impl MemoryId {
pub fn generate() -> Self {
let ulid = ulid::Ulid::new();
Self(ulid.into())
}
pub fn as_u128(&self) -> u128 {
self.0
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
pub struct VectorId(pub u128);
impl VectorId {
pub fn as_u128(&self) -> u128 {
self.0
}
}
pub type EntityKey = u64;
pub type TopicKey = u64;
pub type GoalKey = u64;
pub type EventKey = u64;
pub type CausalKey = u64;
pub type EmotionKey = u8;
pub type TemporalKey = u32;