//! Memory sources — the registry of connectors that feed memory.
//!
//! This domain owns the **"what feeds my memory?"** question: a typed registry
//! of sources (Composio OAuth connections, local folders, GitHub repos, RSS
//! feeds, Twitter queries, web pages, and agent conversations) persisted in
//! `config.toml` under `[[memory_sources]]`.
//!
//! It provides:
//! - [`types`]: the [`MemorySourceEntry`] contract, [`SourceKind`] discriminator,
//! and reader output types ([`SourceItem`], [`SourceContent`], [`ContentType`]).
//! - [`validation`]: required-field rules per kind and the shared
//! path-traversal guard for local readers.
//! - [`registry`]: a TOML-backed [`SourceRegistry`] with the
//! load/modify/validate/save CRUD cycle.
//! - [`readers`]: the [`SourceReader`] trait and the local folder/conversation
//! reader implementations.
//!
//! ## Ownership boundary
//!
//! Per the engine spec, TinyCortex does **not** own live sync, polling, or
//! OAuth. Network-backed kinds keep their type contracts and validation here,
//! but their live fetchers are host-owned. Only the local kinds — `folder` and
//! `conversation` — ship real readers (see [`readers::reader_for`]). The host's
//! sync runner consumes this registry to decide what to sync and when.
pub use ;
pub use ;
pub use ;
pub use ;