Skip to main content

Crate keepsake

Crate keepsake 

Source
Expand description

Deterministic relation lifecycle primitives.

Re-exports§

pub use audit::AuditContext;
pub use audit::AuditDecision;
pub use audit::AuditEvent;
pub use audit::AuditEventType;
pub use audit::AuditSink;
pub use audit::NoopAuditSink;
pub use command::ApplyKeepsake;
pub use command::CommandContext;
pub use command::RevokeKeepsake;
pub use error::KeepsakeError;
pub use error::Result;
pub use evaluation::DecisionKind;
pub use evaluation::EvaluationDecision;
pub use evaluation::NoopReason;
pub use evaluation::TransitionReason;
pub use evaluation::evaluate;
pub use model::ActiveRelation;
pub use model::ActorRef;
pub use model::ExpiryCause;
pub use model::FulfillmentSnapshot;
pub use model::Keepsake;
pub use model::KeepsakeId;
pub use model::KeepsakeLifecycle;
pub use model::KeepsakeRecord;
pub use model::LifecycleState;
pub use model::RelationDefinition;
pub use model::RelationId;
pub use model::RelationKey;
pub use model::RelationKind;
pub use model::RelationName;
pub use model::RelationSpec;
pub use model::StaticRelationKey;
pub use model::SubjectRef;
pub use observe::MetricsRecorder;
pub use observe::NoopMetricsRecorder;
pub use observe::NoopTransitionObserver;
pub use observe::TransitionObserver;
pub use policy::ExpiryPolicy;
pub use policy::FulfillmentPolicy;
pub use provider::ActiveRelationSource;
pub use provider::DynActiveRelationSource;
pub use provider::FulfillmentProvider;
pub use provider::KeepsakeStore;

Modules§

audit
Durable audit event contracts.
command
Typed lifecycle commands.
error
Error types for core validation contracts.
evaluation
Synchronous deterministic lifecycle evaluation.
model
Typed domain model for relation assignments.
observe
Lightweight observability contracts.
policy
Expiry and fulfillment policy types.
prelude
Common imports for application modules using Keepsake.
provider
Provider traits for persistence and fulfillment snapshots.

Macros§

relation_spec
Defines a zero-sized typed relation catalogue entry.