Skip to main content

magic_bird/
lib.rs

1//! BIRD: Buffer and Invocation Record Database
2//!
3//! Storage layer for shell command history using DuckDB and Parquet.
4
5pub mod buffer;
6pub mod config;
7pub mod context;
8pub mod error;
9pub mod format_hints;
10pub mod init;
11pub mod project;
12pub mod query;
13pub mod schema;
14pub mod store;
15
16pub use buffer::{Buffer, BufferEntry, BufferMeta};
17pub use config::{BufferConfig, Config, RemoteConfig, RemoteMode, RemoteType, StorageMode, SyncConfig};
18pub use error::{Error, Result};
19pub use format_hints::{FormatHint, FormatHints};
20pub use project::{find_current_project, find_project, is_in_project, ProjectInfo};
21pub use query::{parse_query, CompareOp, FieldFilter, PathFilter, Query, QueryComponent, RangeSelector, SourceSelector};
22pub use schema::{
23    // V5 schema types
24    AttemptRecord, OutcomeRecord,
25    // V5 schema SQL constants
26    ATTEMPTS_SCHEMA, OUTCOMES_SCHEMA, BIRD_META_SCHEMA, INVOCATIONS_VIEW_SCHEMA, BIRD_SCHEMA_VERSION,
27    // Legacy v4 types (still used)
28    InvocationRecord, OutputRecord, SessionRecord,
29    // Environment variables
30    BIRD_INVOCATION_UUID_VAR, BIRD_PARENT_CLIENT_VAR,
31};
32pub use context::ContextMetadata;
33pub use store::{
34    parse_since, ArchiveStats, AutoCompactOptions, BuiltinFormat, CompactOptions, CompactStats,
35    ConnectionOptions, EventFilters, EventSummary, FormatMatch, FormatSource, InvocationBatch,
36    InvocationSummary, OutputInfo, PullOptions, PullStats, PushOptions, PushStats, Store,
37};