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