Skip to main content

jamjet_state/
lib.rs

1// Clippy 1.95+ flags `match X { Variant => { if cond { ... } } }` patterns as
2// collapsible. These are intentional in the materializer and memory backend
3// where the if-condition is semantically distinct from the variant match
4// (status checks, filter predicates). Collapsing into match-guards would
5// require explicit catch-all arms and duplicate destructuring.
6#![allow(clippy::collapsible_match, clippy::collapsible_if)]
7
8pub mod backend;
9pub mod budget;
10pub mod event;
11pub mod materializer;
12pub mod memory;
13pub mod snapshot;
14pub mod sqlite;
15pub mod tenant;
16pub mod tenant_scoped;
17
18pub use backend::{
19    ApiToken, BackendResult, ReclaimResult, StateBackend, StateBackendError, WorkItem, WorkItemId,
20    WorkflowDefinition,
21};
22pub use budget::BudgetState;
23pub use event::{Event, EventKind, EventSequence, ProvenanceMetadata};
24pub use materializer::{apply_events, materialize, should_snapshot, MaterializedState};
25pub use memory::InMemoryBackend;
26pub use snapshot::Snapshot;
27pub use sqlite::SqliteBackend;
28pub use tenant::{Tenant, TenantId, TenantLimits, TenantStatus, DEFAULT_TENANT};
29pub use tenant_scoped::TenantScopedSqliteBackend;