#![cfg_attr(test, allow(clippy::too_many_lines))] #![cfg_attr(test, allow(clippy::unwrap_used))] #![allow(clippy::items_after_statements)] #![allow(clippy::unused_self)] #![allow(clippy::needless_range_loop)] #![allow(clippy::match_same_arms)] #![allow(clippy::needless_pass_by_value)] #![allow(clippy::too_many_lines)] #![allow(clippy::explicit_iter_loop)] #![allow(clippy::explicit_counter_loop)]
mod erasure_executor;
mod error;
mod kimberlite;
mod sieve_cache;
mod tenant;
mod timestamp_index;
#[cfg(kani)]
mod kani_proofs;
#[cfg(feature = "broadcast")]
pub mod broadcast;
pub use error::{KimberliteError, Result};
pub use kimberlite::{Kimberlite, KimberliteConfig};
pub use tenant::{ExecuteResult, TenantHandle};
pub use kimberlite_types::{
DataClass, GroupId, Offset, Placement, Region, StreamId, StreamMetadata, StreamName, TenantId,
};
pub use kimberlite_crypto::{ChainHash, chain_hash};
pub use kimberlite_crypto::{
FieldKey, ReversibleToken, Token, decrypt_field, encrypt_field, tokenize,
};
pub use kimberlite_crypto::{
DatePrecision, GeoLevel, KAnonymityResult, MaskStyle, check_k_anonymity, generalize_age,
generalize_numeric, generalize_zip, mask, redact, truncate_date,
};
pub use kimberlite_storage::{Record, Storage, StorageError};
pub use kimberlite_kernel::{Command, Effect, KernelError, State, apply_committed};
pub use kimberlite_directory::{Directory, DirectoryError};
pub use kimberlite_query::{
ColumnDef, ColumnName, DataType, QueryEngine, QueryError, QueryResult, Row, Schema,
SchemaBuilder, TableDef, TableName, Value,
};
pub use kimberlite_store::{
BTreeStore, Key, ProjectionStore, StoreError, TableId, WriteBatch, WriteOp,
};
pub use kimberlite_rbac::{
AccessPolicy, ColumnFilter, EnforcementError, Permission, PermissionSet, PolicyEnforcer, Role,
RowFilter, RowFilterOperator, StandardPolicies, StreamFilter,
};
pub use kimberlite_rbac::masking::{
FieldMask, MaskingError, MaskingPolicy, MaskingStrategy, RedactPattern,
};
pub use kimberlite_abac::{
AbacPolicy, Decision as AbacDecision, EnvironmentAttributes, PolicyEffect, ResourceAttributes,
Rule as AbacRule, UserAttributes,
};
pub use kimberlite_compliance::{
ComplianceError, ComplianceFramework, ComplianceReport, ProofCertificate, ProofStatus,
Requirement,
};
pub use kimberlite_compliance::consent::{
ConsentError, ConsentRecord, ConsentScope, ConsentTracker,
};
pub use kimberlite_compliance::purpose::Purpose;
pub use kimberlite_compliance::erasure::{
ErasureEngine, ErasureError, ErasureRequest, ErasureStatus, ExemptionBasis,
};
pub use kimberlite_compliance::breach::{
BreachDetector, BreachError, BreachEvent, BreachIndicator, BreachReport, BreachSeverity,
BreachStatus, BreachThresholds,
};
pub use kimberlite_compliance::export::{
ExportEngine, ExportError, ExportFormat, ExportRecord, PortabilityExport,
};
pub use kimberlite_compliance::audit::{
AuditQuery, ComplianceAuditAction, ComplianceAuditEvent, ComplianceAuditLog,
};