mod errors;
mod recall;
mod registry;
mod render;
mod retrieval;
mod source_access;
mod traits;
pub use errors::{
BrainAnalysisError, BrainExtractError, BrainModelError, BrainSinkError, BrainValidateError,
OutcomeSignalError, RecallError, SourceAccessError, SourceContentError,
};
pub use recall::{
MAX_SUBJECT_HINTS, MemoryRecall, RecallConversation, RecallObservation, RecallOutcome,
RecallPrincipal, RecallReceipt, RecallRequest, ReuseHint, SkipReason,
};
pub use registry::{
BrainAnalysisRegistration, BrainExtractorRegistration, BrainFilterRegistration,
BrainImportanceRegistration, BrainInjectionPolicyRegistration, BrainOutcomeSignalRegistration,
BrainRetrieverRegistration, BrainSourceContentRegistration, BrainValidatorRegistration,
discover_brain_analyses, discover_brain_extractors, discover_brain_filters,
discover_brain_importance_models, discover_brain_injection_policies,
discover_brain_outcome_signals, discover_brain_retrievers, discover_brain_source_contents,
discover_brain_validators,
};
pub use render::{InjectedFact, RecallBlock, WithheldSummary};
pub use retrieval::{
AnalysisWindow, BrainAnalysis, FactRecallSource, FactRetriever, InjectionPolicy, OutcomeSignal,
};
pub use source_access::{SourceAccess, SourceVerdict};
pub use systemprompt_models::brain::WithheldReason;
pub use traits::{
BrainModelClient, EventFilter, FactExtractor, FactValidator, FilterVerdict, ImportanceModel,
SourceContent, ValidationVerdict,
};
#[cfg(feature = "sqlx")]
pub use traits::{BrainSink, DynBrainSink};