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;
16
17pub use capture::{CaptureRequest, CaptureResult};
18pub use consolidation::{EdgeType, MemoryTier, RetentionScore};
19pub use context_template::{
20    AUTO_VARIABLE_PREFIXES, AUTO_VARIABLES, ContextTemplate, OutputFormat, TemplateVariable,
21    TemplateVersion, VariableType, is_auto_variable,
22};
23pub use domain::{Domain, MemoryStatus, Namespace};
24pub use events::{EventMeta, MemoryEvent};
25pub use memory::{Memory, MemoryId, MemoryResult};
26pub use prompt::{
27    ExtractedVariable, IssueSeverity, MAX_VARIABLE_VALUE_LENGTH, PromptTemplate, PromptVariable,
28    ValidationIssue, ValidationResult, extract_variables, is_reserved_variable_name,
29    sanitize_variable_value, substitute_variables, validate_prompt_content,
30};
31pub use search::{DetailLevel, SearchFilter, SearchHit, SearchMode, SearchResult};
32
33// Group types (feature-gated)
34#[cfg(feature = "group-scope")]
35pub use group::{
36    AddMemberRequest, CreateGroupRequest, CreateInviteRequest, Group, GroupId, GroupInvite,
37    GroupMember, GroupMembership, GroupRole, is_valid_email, normalize_email,
38};