Skip to main content

orbok_core/
lib.rs

1//! # orbok-core
2//!
3//! Shared vocabulary for the `orbok` local-first document search
4//! application: typed identifiers, the RFC-001 data lifecycle classes,
5//! lifecycle status enums shared between the catalog (RFC-002) and the
6//! scanner (RFC-004), pipeline version constants, error types, and time
7//! helpers.
8//!
9//! This crate is dependency-light by design. It must not depend on the
10//! database, the file system layer, or the UI.
11
12pub mod data_class;
13pub mod error;
14pub mod history;
15pub mod id;
16pub mod privacy;
17mod search_scope;
18pub mod status;
19pub mod timeutil;
20pub mod versions;
21
22#[cfg(test)]
23mod tests;
24
25pub use data_class::{CleanupAction, CleanupPlan, DataClass, StorageCategory, StorageMeasurement};
26pub use error::{ErrorCategory, OrbokError, OrbokResult};
27pub use history::{
28    SearchHistoryEntry, SearchHistoryId, SearchHistorySettings, StoredChangedFilter,
29    StoredKindFilter, StoredLanguageFilter, StoredReadyFilter, StoredSearchFilter,
30    StoredSearchStyle,
31};
32pub use id::{
33    ChunkId, EmbeddingId, EventId, ExtractionId, FileId, JobId, ModelId, QueryId, SourceId,
34};
35pub use privacy::{DiagnosticsPolicy, LocalDataCategory, PrivacyMode, PrivacySettings};
36pub use search_scope::{FolderScope, SearchScope};
37pub use status::{
38    FileStatus, HiddenFilePolicy, IndexMode, JobStatus, JobType, PersistenceMode,
39    SEARCHABLE_SOURCE_STATUS_SQL, SourceStatus, SourceType, SymlinkPolicy,
40};
41pub use timeutil::{now_iso8601, system_time_iso8601};