Skip to main content

subcog/models/
mod.rs

1//! Data models for subcog.
2//!
3//! This module contains all the core data structures used throughout the system.
4
5mod capture;
6mod consolidation;
7mod context_template;
8mod domain;
9mod events;
10pub mod graph;
11pub mod group;
12mod memory;
13mod prompt;
14mod search;
15pub mod temporal;
16mod urn;
17
18pub use capture::{CaptureRequest, CaptureResult};
19pub use consolidation::{EdgeType, MemoryTier, RetentionScore};
20pub use context_template::{
21    AUTO_VARIABLE_PREFIXES, AUTO_VARIABLES, ContextTemplate, OutputFormat, TemplateVariable,
22    TemplateVersion, VariableType, is_auto_variable,
23};
24pub use domain::{Domain, MemoryStatus, Namespace};
25pub use events::{EventMeta, MemoryEvent};
26pub use memory::{Memory, MemoryId, MemoryResult};
27pub use prompt::{
28    ExtractedVariable, IssueSeverity, MAX_VARIABLE_VALUE_LENGTH, PromptTemplate, PromptVariable,
29    ValidationIssue, ValidationResult, extract_variables, is_reserved_variable_name,
30    sanitize_variable_value, substitute_variables, validate_prompt_content,
31};
32pub use search::{DetailLevel, SearchFilter, SearchHit, SearchMode, SearchResult};
33pub use urn::{Urn, UrnComponent};
34
35// Group types (feature-gated)
36#[cfg(feature = "group-scope")]
37pub use group::{
38    AddMemberRequest, CreateGroupRequest, CreateInviteRequest, Group, GroupId, GroupInvite,
39    GroupMember, GroupMembership, GroupRole, is_valid_email, normalize_email,
40};