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 context;
8mod db_physical_disposition;
9mod deployment_applicability;
10mod diagnostic;
11mod error;
12pub use diagnostic::{
13    CaptureSite, Diagnostic, DiagnosticCategory, DiagnosticCause, DiagnosticCode,
14    DiagnosticInputLocation, DiagnosticLocator, DiagnosticObject, DiagnosticObjectKind,
15    DiagnosticStage,
16};
17mod generation_pair;
18mod golden_c8_applicability;
19mod golden_c8_startup_assembly;
20mod lifecycle;
21mod observability_block_state;
22mod observability_identity;
23mod rendezvous_manifest;
24mod trusted_candidate_set;
25
26#[doc(hidden)]
27pub use bootstrap_rendezvous::{
28    BootstrapApplicationHalf, BootstrapBindingReceipt, BootstrapListenerHalf,
29    BootstrapListenerIssuer, BootstrapRendezvousError, BootstrapRendezvousIssuer,
30    BootstrapRendezvousWhole, BootstrapRuntimeBindingReceipt, BootstrapRuntimeBindingRemainder,
31    BoundBootstrapRendezvous, GeneratedApplicationFreezeSource, ListenerStartupFreezeSource,
32    VerifiedBootstrapRuntimeBinding, bind_bootstrap_receipt, pair_bootstrap_rendezvous,
33    recover_verified_runtime_bootstrap_binding, restore_bound_bootstrap_rendezvous,
34    take_runtime_bootstrap_receipt, verify_runtime_bootstrap_binding,
35};
36pub use context::{
37    ApplicationId, CallContext, MAX_TRACE_CORRELATION_ID_BYTES, ModuleId, OperationId,
38    RpcCorrelationId, ServiceId, SpanId, TraceCorrelationId, TraceCorrelationIdError, TraceId,
39};
40#[doc(hidden)]
41pub use db_physical_disposition::{
42    DbPhysicalDisposition, DbPhysicalDispositionIssuer, DbPhysicalDispositionOwner,
43    DbPhysicalDispositionReceipt, DbPhysicalExecutionHalf, DbPhysicalProcessCapability,
44    DbPhysicalRequestHalf, DbPhysicalRequestIssuer, DbPhysicalStartupHalf, DbRequestNotUsedReceipt,
45    DbScopeContinuation, DbScopeLogFields, DbScopeObservation, DbScopeTerminalObservation,
46    pair_db_physical_disposition, seal_db_request_not_used,
47};
48#[doc(hidden)]
49pub use deployment_applicability::{
50    DeploymentApplicabilityError, DeploymentSplitError, RevocationSnapshotReceipt,
51    RuntimeResourceShape, RuntimeResourceShapeError, TrustedDeploymentPolicyReceipt,
52    TrustedTimeReceipt, VerifiedDeploymentBundleApplicabilityOwner,
53    VerifiedDeploymentDirectoryAuthority, VerifiedDeploymentDirectoryPermit,
54    VerifiedDeploymentGateBuildAuthoritySeed, VerifiedDeploymentGateBuildOwner,
55    VerifiedDeploymentResourceObservationOwner, VerifiedDeploymentResourcePermit,
56    VerifiedDeploymentSchedulerObservationOwner, VerifiedDeploymentSchedulerObservationSeed,
57    VerifiedDeploymentStartupAuthoritySeed, VerifiedDeploymentSubjectContinuation,
58    VerifiedDeploymentSupervisorStartupOwner, VerifiedDeploymentSupervisorStartupSeed,
59    VerifiedFilesystemServiceBudgetAuthoritySeed, VerifiedFinalDirectoryReceipt,
60    VerifiedFinalDirectoryReceiptPair, VerifiedFinalFilesystemCreatorBinding,
61    VerifiedFinalGeneratedReceipt, VerifiedFinalPairingParts, VerifiedFinalPairingReceipts,
62    VerifiedFinalResourceReceipt, VerifiedFinalSubjectReceipt, VerifiedFinishedFinalDirectorySeal,
63    VerifiedReceiptIssuerTrustAnchorOwner, VerifiedRuntimeResourceParts,
64    VerifiedStartupTimePolicyOwner, consume_deployment_binding_split,
65    consume_final_pairing_receipts, finish_final_pairing_parts,
66    pair_deployment_applicability_generation, pair_deployment_directory_permit,
67    pair_final_startup_receipts, recover_rejected_final_pairing_receipts,
68    restore_final_directory_receipt_pair, seal_verified_runtime_resource_parts,
69    verify_canonical_deployment_resource_observation, verify_deployment_bundle_applicability,
70    verify_deployment_bundle_applicability_pair, verify_production_deployment_receipts,
71};
72pub use error::{ErrorKind, Result, SaddleError};
73pub use generation_pair::{
74    CanonicalSignedFiveLeafGenerationV2Input, FiveLeafGenerationV2NonAuthorityView,
75    FiveLeafV2SignerResponse, FiveLeafV2SigningError, FiveLeafV2SigningRequest,
76    GenerationPairError, VerifiedComponentGenerationPairingReceipt,
77    VerifiedFiveLeafGenerationV2Owner, VerifiedFiveLeafGenerationV2PairedOwner,
78    VerifiedFiveLeafV2SignerPolicyOwner, VerifiedFiveLeafV2SigningRequestApprovalOwner,
79    VerifiedGeneratedComponentGenerationOwner,
80    VerifiedGeneratedComponentGenerationV2FinalTransaction,
81    VerifiedGeneratedComponentGenerationV2Owner, VerifiedGenerationKeyApplicabilityReceipt,
82    VerifiedObservabilityCapacityView, VerifiedSignedDeploymentGenerationOwner,
83    begin_generated_component_generation_v2_final_transaction, bind_generated_component_generation,
84    bind_generated_component_generation_v2, capture_untrusted_five_leaf_v2_signer_response,
85    consume_component_generation_pairing, pair_component_generation,
86    pair_verified_five_leaf_generation_v2, prepare_five_leaf_v2_signing_request,
87    restore_generated_component_generation_v2_final_transaction,
88    verify_approved_five_leaf_generation_v2, verify_five_leaf_v2_signing_response,
89};
90#[doc(hidden)]
91pub use golden_c8_applicability::{
92    ApprovedGoldenC8ApplicabilityInput, GoldenC8ApplicabilityRejection,
93    VerifiedGoldenC8ApplicabilityOwner, approved_golden_c8_applicability_input,
94    verify_golden_c8_applicability,
95};
96#[doc(hidden)]
97pub use golden_c8_startup_assembly::{
98    ApprovedGoldenC8StartupAssemblyInput, GoldenC8StartupAssemblyRejection,
99    VerifiedGoldenC8StartupAssemblyInputOwner, approved_golden_c8_startup_assembly_input,
100    verify_golden_c8_startup_assembly_input,
101};
102pub use lifecycle::{ComponentLifecycle, LifecycleFuture};
103#[doc(hidden)]
104pub use observability_block_state::{
105    ObservabilityBlockState, allocate_observability_block_states,
106    observability_block_state_array_layout, observability_block_state_schema_identity,
107};
108#[doc(hidden)]
109pub use observability_identity::{
110    ObservabilityBundleIdentityAuthority, ObservabilityBundleIdentityContinuation,
111    SignedDirectoryIssuerError, VerifiedSignedDirectorySubjectContinuation,
112    issue_final_directory_receipts, issue_observability_bundle_identity,
113    pair_signed_directory_subject_generation, pair_signed_directory_subject_generation_v2,
114    verify_observability_bundle_binding, verify_signed_directory_subject,
115    verify_signed_directory_subject_deployment_pair,
116};
117#[doc(hidden)]
118pub use rendezvous_manifest::{
119    CanonicalSignedRendezvousManifestInput, RendezvousManifestPreflightError,
120    StructurallyVerifiedRendezvousManifestPreflightOwner,
121    VerifiedRendezvousManifestKeyApplicabilityReceipt,
122    verify_rendezvous_manifest_structural_preflight,
123};
124#[doc(hidden)]
125pub use trusted_candidate_set::{
126    ApprovedTrustedCandidateSetInput, TrustedCandidateSetRejection,
127    VerifiedTrustedCandidateSetOwner, approved_trusted_candidate_set_input,
128    rollback_trusted_candidate_set, verify_trusted_candidate_set,
129};