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 folder_cover;
15pub mod history;
16pub mod id;
17pub mod privacy;
18mod search_scope;
19pub mod status;
20pub mod timeutil;
21pub mod versions;
22
23#[cfg(test)]
24mod tests;
25
26pub use data_class::{CleanupAction, CleanupPlan, DataClass, StorageCategory, StorageMeasurement};
27pub use error::{ErrorCategory, OrbokError, OrbokResult};
28pub use history::{
29    SearchHistoryEntry, SearchHistoryId, SearchHistorySettings, StoredChangedFilter,
30    StoredKindFilter, StoredLanguageFilter, StoredReadyFilter, StoredSearchFilter,
31    StoredSearchStyle,
32};
33pub use id::{
34    ChunkId, EmbeddingId, EventId, ExtractionId, FileId, JobId, ModelId, QueryId, SourceId,
35};
36pub use privacy::{DiagnosticsPolicy, LocalDataCategory, PrivacySettings};
37pub use search_scope::{FolderScope, SearchScope};
38pub use status::{
39    FileStatus, HiddenFilePolicy, IndexMode, JobStatus, JobType, PersistenceMode,
40    SEARCHABLE_SOURCE_STATUS_SQL, SourceStatus, SourceType, SymlinkPolicy,
41};
42pub use timeutil::{now_iso8601, system_time_iso8601};