#![warn(missing_docs)]
#[cfg(feature = "ast")]
pub mod ast;
pub mod bootstrap;
pub mod brain;
pub mod context;
pub mod doctor;
pub mod error;
pub mod exporter;
pub mod fts;
pub mod id;
pub mod ignore;
pub mod indexer;
pub mod mmap;
pub mod mutator;
pub mod note;
#[cfg(feature = "obsidian")]
pub mod obsidian;
pub mod query;
pub mod registry;
pub mod storage;
pub mod symbols;
pub mod types;
pub mod watch;
pub use bootstrap::{
bootstrap_noninteractive, bootstrap_workspace, BootstrapAction, BootstrapMode,
BootstrapOptions, BootstrapReport,
};
pub use brain::Brain;
pub use context::ContextOptions;
pub use doctor::{run_doctor, DoctorFinding, DoctorReport, DoctorSeverity};
pub use error::{BrainError, Result};
pub use exporter::{BrainExporter, BrainImporter, PortableBrainBundle, BUNDLE_VERSION};
pub use ignore::{recommended_ignore_extras, write_rustbrainignore, IgnoreSet};
pub use indexer::WorkspaceIndexer;
pub use mmap::{CsrCompiler, CsrMmapGraph, MMAP_VERSION};
pub use note::{create_note, default_dir_for_type, slugify_title, NoteCreated, NoteNewOptions};
pub use query::{PendingLink, QueryOptions, RankedHit};
pub use registry::{GlobalRankedHit, GlobalRegistry};
pub use storage::{Database, SCHEMA_VERSION};
pub use symbols::{extract_symbol_refs, symbol_node_id, SymbolRef};
pub use types::{
xml_escape, ContextBundle, ContextNode, ContextRole, Edge, Node, NodeType, SyncStats,
};
pub use watch::WatchConfig;
#[cfg(feature = "ast")]
pub use ast::{compute_symbol_hash, AstError, CodeAstParser, SymbolAnchor};
#[cfg(feature = "obsidian")]
pub use obsidian::{
extract_wikilinks, parse_frontmatter, CanvasEdge, CanvasNode, Frontmatter, ObsidianCanvas,
WikiLink,
};
#[cfg(feature = "jshift")]
pub use mutator::{extract_json_field_slice, update_json_field_inplace};
#[cfg(feature = "watch")]
pub use watch::watch_workspace;