Skip to main content

saddle_core/
lib.rs

1//! Stable contracts shared by Saddle components.
2//!
3//! Business applications should depend on the `saddle` facade instead of this
4//! crate directly.
5
6mod bootstrap_rendezvous;
7mod bounded_diagnostic;
8pub use bounded_diagnostic::DiagnosticOccurrence;
9pub use bounded_diagnostic::RegisteredDiagnosticCode;
10mod context;
11pub mod request_context;
12pub use request_context::{
13    ContextConflict, ContextFact, ContextIdentity, ContextLabel, RegisteredContextOperation,
14    RequestExecutionView, RequestIdentityGroup, RequestLocalFacts, RequestRootPublisher,
15    RequestRootRef, RequestViewPhase,
16};
17mod db_physical_disposition;
18mod deployment_applicability;
19mod diagnostic;
20pub use bounded_diagnostic::{
21    BoundedDiagnostic, BoundedDiagnosticCause, BusinessOutcome, CleanupOutcome,
22    DiagnosticFactUnavailable, DiagnosticOutcomeAxes, InlineDiagnosticText, OperationOutcome,
23    PhysicalDispositionFact, ResponseDelivery,
24};
25mod error;
26pub use diagnostic::{
27    CaptureSite, DeferredDiagnosticStack, Diagnostic, DiagnosticCategory, DiagnosticCause,
28    DiagnosticCode, DiagnosticDriverDetails, DiagnosticInputLocation, DiagnosticLocator,
29    DiagnosticObject, DiagnosticObjectKind, DiagnosticStage, DiagnosticTypeName,
30    DiagnosticTypeUnavailable, ResolvedDiagnosticStack,
31};
32mod generation_pair;
33mod golden_c8_applicability;
34mod golden_c8_startup_assembly;
35mod lifecycle;
36mod observability_block_state;
37mod observability_identity;
38mod rendezvous_manifest;
39mod trusted_candidate_set;
40
41#[doc(hidden)]
42pub use bootstrap_rendezvous::{
43    BootstrapApplicationHalf, BootstrapBindingReceipt, BootstrapListenerHalf,
44    BootstrapListenerIssuer, BootstrapRendezvousError, BootstrapRendezvousIssuer,
45    BootstrapRendezvousWhole, BootstrapRuntimeBindingReceipt, BootstrapRuntimeBindingRemainder,
46    BoundBootstrapRendezvous, GeneratedApplicationFreezeSource, ListenerStartupFreezeSource,
47    VerifiedBootstrapRuntimeBinding, bind_bootstrap_receipt, pair_bootstrap_rendezvous,
48    recover_verified_runtime_bootstrap_binding, restore_bound_bootstrap_rendezvous,
49    take_runtime_bootstrap_receipt, verify_runtime_bootstrap_binding,
50};
51pub use context::{
52    ApplicationId, CallContext, MAX_TRACE_CORRELATION_ID_BYTES, ModuleId, OperationId,
53    RpcCorrelationId, ServiceId, SpanId, TraceCorrelationId, TraceCorrelationIdError, TraceId,
54};
55#[doc(hidden)]
56pub use db_physical_disposition::{
57    DbPhysicalDisposition, DbPhysicalDispositionIssuer, DbPhysicalDispositionOwner,
58    DbPhysicalDispositionReceipt, DbPhysicalExecutionHalf, DbPhysicalProcessCapability,
59    DbPhysicalRequestHalf, DbPhysicalRequestIssuer, DbPhysicalStartupHalf, DbRequestNotUsedReceipt,
60    DbScopeContinuation, DbScopeDiagnosticContext, DbScopeDiagnosticIdentity, DbScopeLogFields,
61    DbScopeObservation, DbScopeTerminalObservation, pair_db_physical_disposition,
62    seal_db_request_not_used,
63};
64#[doc(hidden)]
65pub use deployment_applicability::{
66    DeploymentApplicabilityError, DeploymentSplitError, RevocationSnapshotReceipt,
67    RuntimeResourceShape, RuntimeResourceShapeError, TrustedDeploymentPolicyReceipt,
68    TrustedTimeReceipt, VerifiedDeploymentBundleApplicabilityOwner,
69    VerifiedDeploymentDirectoryAuthority, VerifiedDeploymentDirectoryPermit,
70    VerifiedDeploymentGateBuildAuthoritySeed, VerifiedDeploymentGateBuildOwner,
71    VerifiedDeploymentResourceObservationOwner, VerifiedDeploymentResourcePermit,
72    VerifiedDeploymentSchedulerObservationOwner, VerifiedDeploymentSchedulerObservationSeed,
73    VerifiedDeploymentStartupAuthoritySeed, VerifiedDeploymentSubjectContinuation,
74    VerifiedDeploymentSupervisorStartupOwner, VerifiedDeploymentSupervisorStartupSeed,
75    VerifiedFilesystemServiceBudgetAuthoritySeed, VerifiedFinalDirectoryReceipt,
76    VerifiedFinalDirectoryReceiptPair, VerifiedFinalFilesystemCreatorBinding,
77    VerifiedFinalGeneratedReceipt, VerifiedFinalPairingParts, VerifiedFinalPairingReceipts,
78    VerifiedFinalResourceReceipt, VerifiedFinalSubjectReceipt, VerifiedFinishedFinalDirectorySeal,
79    VerifiedReceiptIssuerTrustAnchorOwner, VerifiedRuntimeResourceParts,
80    VerifiedStartupTimePolicyOwner, consume_deployment_binding_split,
81    consume_final_pairing_receipts, finish_final_pairing_parts,
82    pair_deployment_applicability_generation, pair_deployment_directory_permit,
83    pair_final_startup_receipts, recover_rejected_final_pairing_receipts,
84    restore_final_directory_receipt_pair, seal_verified_runtime_resource_parts,
85    verify_canonical_deployment_resource_observation, verify_deployment_bundle_applicability,
86    verify_deployment_bundle_applicability_pair, verify_production_deployment_receipts,
87};
88pub use error::{ErrorKind, Result, SaddleError};
89pub use generation_pair::{
90    CanonicalSignedFiveLeafGenerationV2Input, FiveLeafGenerationV2NonAuthorityView,
91    FiveLeafV2SignerResponse, FiveLeafV2SigningError, FiveLeafV2SigningRequest,
92    GenerationPairError, VerifiedComponentGenerationPairingReceipt,
93    VerifiedFiveLeafGenerationV2Owner, VerifiedFiveLeafGenerationV2PairedOwner,
94    VerifiedFiveLeafV2SignerPolicyOwner, VerifiedFiveLeafV2SigningRequestApprovalOwner,
95    VerifiedGeneratedComponentGenerationOwner,
96    VerifiedGeneratedComponentGenerationV2FinalTransaction,
97    VerifiedGeneratedComponentGenerationV2Owner, VerifiedGenerationKeyApplicabilityReceipt,
98    VerifiedObservabilityCapacityView, VerifiedSignedDeploymentGenerationOwner,
99    begin_generated_component_generation_v2_final_transaction, bind_generated_component_generation,
100    bind_generated_component_generation_v2, capture_untrusted_five_leaf_v2_signer_response,
101    consume_component_generation_pairing, pair_component_generation,
102    pair_verified_five_leaf_generation_v2, prepare_five_leaf_v2_signing_request,
103    restore_generated_component_generation_v2_final_transaction,
104    verify_approved_five_leaf_generation_v2, verify_five_leaf_v2_signing_response,
105};
106#[doc(hidden)]
107pub use golden_c8_applicability::{
108    ApprovedGoldenC8ApplicabilityInput, GoldenC8ApplicabilityRejection,
109    VerifiedGoldenC8ApplicabilityOwner, approved_golden_c8_applicability_input,
110    verify_golden_c8_applicability,
111};
112#[doc(hidden)]
113pub use golden_c8_startup_assembly::{
114    ApprovedGoldenC8StartupAssemblyInput, GoldenC8StartupAssemblyRejection,
115    VerifiedGoldenC8StartupAssemblyInputOwner, approved_golden_c8_startup_assembly_input,
116    verify_golden_c8_startup_assembly_input,
117};
118pub use lifecycle::{ComponentLifecycle, LifecycleFuture};
119#[doc(hidden)]
120pub use observability_block_state::{
121    ObservabilityBlockState, allocate_observability_block_states,
122    observability_block_state_array_layout, observability_block_state_schema_identity,
123};
124#[doc(hidden)]
125pub use observability_identity::{
126    ObservabilityBundleIdentityAuthority, ObservabilityBundleIdentityContinuation,
127    SignedDirectoryIssuerError, VerifiedSignedDirectorySubjectContinuation,
128    issue_final_directory_receipts, issue_observability_bundle_identity,
129    pair_signed_directory_subject_generation, pair_signed_directory_subject_generation_v2,
130    verify_observability_bundle_binding, verify_signed_directory_subject,
131    verify_signed_directory_subject_deployment_pair,
132};
133#[doc(hidden)]
134pub use rendezvous_manifest::{
135    CanonicalSignedRendezvousManifestInput, RendezvousManifestPreflightError,
136    StructurallyVerifiedRendezvousManifestPreflightOwner,
137    VerifiedRendezvousManifestKeyApplicabilityReceipt,
138    verify_rendezvous_manifest_structural_preflight,
139};
140#[doc(hidden)]
141pub use trusted_candidate_set::{
142    ApprovedTrustedCandidateSetInput, TrustedCandidateSetRejection,
143    VerifiedTrustedCandidateSetOwner, approved_trusted_candidate_set_input,
144    rollback_trusted_candidate_set, verify_trusted_candidate_set,
145};