pub mod algebra;
pub mod contract;
pub mod extension;
pub mod handler;
pub mod handlers;
pub mod interpreter;
pub mod middleware;
pub mod registry;
pub use algebra::{
Effect, InterpretResult, InterpreterState, Program, ProgramBuilder, ProgramError,
ProgramMessage,
};
pub use contract::{
validate_handler_contract_profile, validated_contract_profile, DeliveryModel,
DocumentedHandlerContract, ExtensionDispatchContract, ExtensionDispatchMode,
HandlerContractProfile, HandlerContractTier, HandlerContractViolation,
ProtocolSemanticContract, RetryPolicy, TimeoutPolicy, TransportPolicyContract,
};
pub use extension::{ExtensionEffect, ExtensionError};
pub use handler::{
ChoreoHandler, ChoreoHandlerExt, ChoreoResult, ChoreographyError, ContextExt, Endpoint,
LabelId, MessageTag, NoOpHandler, RoleId,
};
pub use interpreter::{interpret, interpret_extensible};
pub use registry::{ExtensibleHandler, ExtensionRegistry};
pub use handlers::{InMemoryHandler, RecordedEvent, RecordingHandler};
pub use handlers::{TelltaleEndpoint, TelltaleHandler, TelltaleSession};
pub use middleware::{Metrics, Retry, Trace};
#[cfg(feature = "test-utils")]
pub use middleware::FaultInjection;