#![doc = include_str!("../README.md")]
mod db;
mod embedder;
mod error;
mod paths;
mod readonly;
#[cfg(feature = "config")]
mod settings;
#[cfg(feature = "config")]
mod settings_help;
mod storage;
mod workspace;
pub use db::{Database, DatabaseBuilder, ExportPage, ExportedFact, FactSnapshot, RecoverReport};
pub use embedder::{Embedder, NullEmbedder, OpenAiCompatEmbedder, SharedEmbedder};
pub use error::HostError;
pub use paths::{default_config_dir, default_config_path, default_data_dir, default_database_path};
pub use readonly::{ReadOnlyDatabase, Scrub};
#[cfg(feature = "config")]
pub use settings::{Settings, SettingsError, WorkspaceSettings, read_config};
#[cfg(feature = "config")]
pub use settings_help::{SettingDoc, SettingScope, SettingWarning, SettingsHelp, settings_help};
pub use storage::{FileScratch, FileStorage, FsyncPolicy};
pub use workspace::{
ARCHIVED_TAG, DEFAULT_IDLE_TIMEOUT_MS, DEFAULT_MAX_OPEN, DbEntry, DbName, Description,
ENTRY_TAG, IfMissing, MAX_DB_NAME, MAX_OPEN_CEILING, NameProblem, Opener, ReindexReport,
SELF_ENTITY, Workspace, WorkspaceError, WorkspaceIssue, WorkspaceLayout, WorkspaceLimits,
};
pub use plugmem_core::snapshot::{DEFAULT_SCRUB_BUDGET, ScrubProgress};
pub use plugmem_core::{
Config, EdgeId, EntityId, Error, FactId, FactRecord, LinkInput, MaintainReport,
MaintenanceMode, MaintenanceOptions, OpenReport, RecallQuery, RecallResult, RecallScratch,
RecalledEdge, RecalledFact, RememberInput, RememberOutcome, ShardLayout, Similar,
SimilarReason, Stats, UnlinkInput, VALID_TO_OPEN, fact_flags,
};
pub use plugmem_core::{MemScratch, Scratch};