rhi

Coordinated trade for connected markets
git clone https://radroots.dev/git/rhi.git
Log | Files | Refs | README | LICENSE

lib.rs (17353B)


      1 #![cfg_attr(coverage_nightly, feature(coverage_attribute))]
      2 #![forbid(unsafe_code)]
      3 #![doc = include_str!("../README")]
      4 
      5 mod adapters;
      6 mod admin_v1;
      7 mod cli_bootstrap;
      8 mod cli_v1;
      9 mod config_loader;
     10 mod config_v1;
     11 mod diagnostics_v1;
     12 mod doctor_v1;
     13 mod features;
     14 mod identity_credential;
     15 mod identity_envelope;
     16 mod operations_v1;
     17 mod presence_desired;
     18 mod presence_publication;
     19 mod process_result_v1;
     20 mod process_v1;
     21 mod publication;
     22 mod publication_attempt;
     23 mod publication_execution;
     24 mod publication_submission;
     25 mod reconciliation_attempt;
     26 mod reconciliation_attestation;
     27 mod reconciliation_commit;
     28 mod reconciliation_finalization;
     29 mod reconciliation_finalization_commit;
     30 mod reconciliation_job;
     31 mod reconciliation_manifest;
     32 mod reconciliation_reducer;
     33 mod reconciliation_replay;
     34 mod runtime_adapters;
     35 #[cfg(any(target_os = "linux", target_os = "macos"))]
     36 mod runtime_admin;
     37 mod runtime_context;
     38 mod runtime_foundation;
     39 #[cfg(any(target_os = "linux", target_os = "macos"))]
     40 mod runtime_graph;
     41 mod runtime_signal;
     42 mod source_ingest;
     43 #[cfg(any(target_os = "linux", target_os = "macos"))]
     44 mod state_admin;
     45 mod state_catalog;
     46 mod state_config;
     47 mod state_host;
     48 mod state_maintenance;
     49 mod state_metadata;
     50 mod state_repository;
     51 mod state_trade;
     52 mod status_v1;
     53 #[cfg(any(target_os = "linux", target_os = "macos"))]
     54 mod system_doctor;
     55 mod trade_ingest;
     56 #[cfg(any(target_os = "linux", target_os = "macos"))]
     57 mod transport_nostr_adapter;
     58 
     59 pub use adapters::nostr::event::NostrEventAdapter;
     60 pub use admin_v1::{
     61     RhiAdminCancellationToken, RhiAdminDocumentError, RhiAdminDocumentErrorKind, RhiAdminFuture,
     62     RhiAdminHandler, RhiAdminHandlerError, RhiAdminHandlerErrorKind, RhiAdminMethod,
     63     RhiAdminRequestDocument, RhiAdminResponseDocument, RhiAdminRoute, RhiAdminRouterError,
     64     RhiAdminServerError, RhiAdminServerErrorKind,
     65 };
     66 #[cfg(any(target_os = "linux", target_os = "macos"))]
     67 pub use admin_v1::{RhiAdminRouter, RhiAdminServer, RhiBoundAdminServer, build_rhi_admin_router};
     68 pub use cli_v1::{
     69     RhiBootstrapProfileV1, RhiCliAdminOperationV1, RhiCliExecutionPlanV1, RhiCliInvocationV1,
     70     RhiCliOfflineOperationV1, RhiCliOutputModeV1, RhiCliPrimaryAuthorityV1, RhiCliV1Error,
     71     RhiCliV1ErrorKind, RhiCommandV1, RhiConfigApplyArgsV1, RhiConfigCommandV1,
     72     RhiIdentityCommandV1, RhiMetricsCommandV1, RhiPageQueryArgsV1, RhiPresenceCommandV1,
     73     RhiPresenceMutationArgsV1, RhiPublicationCommandV1, RhiPublicationRetryArgsV1,
     74     RhiReconciliationCommandV1, RhiReconciliationRefreshArgsV1, RhiSourcesCommandV1,
     75     RhiStateBackupArgsV1, RhiStateCommandV1, RhiStateRestoreArgsV1, RhiTradeArgsV1,
     76     RhiTradeCommandV1, RhiTradePageArgsV1, parse_rhi_cli_v1_from, plan_rhi_cli_v1,
     77 };
     78 pub use config_loader::{
     79     RhiConfigLoadError, RhiConfigLoadErrorKind, initialize_rhi_config_document,
     80     load_rhi_config_candidate, load_rhi_config_document,
     81 };
     82 pub use config_v1::{
     83     RHI_CONFIG_DOCUMENT_MAX_UTF8_BYTES, RHI_CONFIG_EFFECTIVE_MAX_UTF8_BYTES, RHI_CONFIG_SCHEMA,
     84     RHI_CONFIG_SCHEMA_VERSION, RhiConfigDefaultAuthority, RhiConfigDocumentV1, RhiConfigProfile,
     85     RhiConfigV1Error, RhiConfigV1ErrorKind, RhiConfigValueSource, RhiEffectiveConfigV1,
     86     RhiRuntimeThreadLimitsV1, parse_rhi_config_v1,
     87 };
     88 pub use diagnostics_v1::{
     89     RHI_DIAGNOSTICS_CONTRACT_VERSION, RHI_LOG_RECORD_MAX_UTF8_BYTES, RhiLogEvent, RhiLogLevel,
     90     RhiLogRecord,
     91 };
     92 pub use doctor_v1::{
     93     RHI_DOCTOR_CHECK_COUNT, RHI_DOCTOR_CONTRACT_VERSION, RHI_DOCTOR_REPORT_MAX_UTF8_BYTES,
     94     RHI_DOCTOR_SUMMARY_MAX_UTF8_BYTES, RhiDoctorAggregateStatus, RhiDoctorCheckDefinition,
     95     RhiDoctorCheckId, RhiDoctorCheckResult, RhiDoctorCheckStatus, RhiDoctorError,
     96     RhiDoctorErrorKind, RhiDoctorFuture, RhiDoctorObservation, RhiDoctorProbe,
     97     RhiDoctorRemediationCode, RhiDoctorReport, rhi_doctor_check_definitions, run_rhi_doctor,
     98 };
     99 pub use features::trade_agreement_attestation::{
    100     RHI_AGREEMENT_ATTESTATION_PROOF_SYSTEM_LOCAL_STATEMENT_HASH,
    101     RHI_AGREEMENT_ATTESTATION_PROTOCOL_ID, RHI_AGREEMENT_ATTESTATION_REPORT_VERSION,
    102     TradeAgreementAttestationBackend, TradeAgreementAttestationError,
    103     TradeAgreementAttestationErrorKind, TradeAgreementAttestationPolicy,
    104     TradeAgreementAttestationReportV1, TradeAgreementAttestationStatementV1,
    105     TradeAgreementAttestationValidatorSetBinding, attest_projection_claim,
    106     trade_mutation_subscription_kinds,
    107 };
    108 pub use identity_credential::{
    109     RHI_WRAPPING_CREDENTIAL_ARTIFACT_BYTES, RHI_WRAPPING_CREDENTIAL_CONTRACT_VERSION,
    110     RhiCredentialResolutionError, RhiCredentialResolutionErrorKind,
    111     resolve_rhi_wrapping_credential,
    112 };
    113 pub use identity_envelope::{
    114     RHI_ENCRYPTED_IDENTITY_BACKUP_INCLUDED, RHI_ENCRYPTED_IDENTITY_ENVELOPE_CONTRACT_VERSION,
    115     RHI_ENCRYPTED_IDENTITY_ENVELOPE_MAX_BYTES, RhiDecryptedIdentity,
    116     RhiEncryptedIdentityEnvelopeError, RhiEncryptedIdentityEnvelopeErrorKind,
    117     RhiEncryptedIdentityProvisioningMaterial, RhiIdentityEnvelopeBinding, RhiIdentityProviderKind,
    118     RhiIdentityRole, RhiWrappingCredential, open_rhi_encrypted_identity,
    119     provision_rhi_encrypted_identity,
    120 };
    121 pub use operations_v1::{
    122     RHI_LIVEZ_PATH, RHI_METRICS_PATH, RHI_OPERATIONS_CONTRACT_VERSION, RHI_READYZ_PATH,
    123     RhiBoundOperationsServer, RhiOperationsCancellationToken, RhiOperationsError,
    124     RhiOperationsErrorKind, RhiOperationsServer,
    125 };
    126 pub use presence_desired::{
    127     RHI_PRESENCE_DESIRED_CONTRACT_VERSION, RHI_PRESENCE_DESIRED_MAX_TARGETS,
    128     RhiPresenceDesiredAuthority, RhiPresenceDesiredCommitOutcome, RhiPresenceDesiredError,
    129     RhiPresenceDesiredErrorKind, RhiPresenceDesiredMode, RhiPresenceDesiredState,
    130     RhiPresenceDocumentKind, RhiPresenceTarget, validate_rhi_presence_desired_authority,
    131 };
    132 pub use presence_publication::{
    133     RHI_PRESENCE_MAX_ATTEMPTS, RHI_PRESENCE_PUBLICATION_CONTRACT_VERSION,
    134     RHI_PRESENCE_SIGNED_EVENT_MAX_BYTES, RhiExactPresenceSink, RhiPreparedPresenceAttempt,
    135     RhiPresenceAttemptCommit, RhiPresenceAttemptId, RhiPresenceAttemptOutcome,
    136     RhiPresenceCommitOutcome, RhiPresenceLease, RhiPresenceLeaseOwner, RhiPresenceOutboxId,
    137     RhiPresenceOutboxState, RhiPresencePublicationError, RhiPresencePublicationErrorKind,
    138     RhiPresenceRetryDelayMilliseconds, RhiPresenceTargetState, RhiPresenceUnixMilliseconds,
    139     RhiSignedPresenceDocument, RhiSignedPresenceDocuments, build_rhi_signed_presence_documents,
    140     validate_rhi_signed_presence_documents,
    141 };
    142 pub use process_result_v1::RhiProcessResult;
    143 pub use process_v1::{execute_rhi_cli_v1, execute_rhi_cli_v1_with_signal_source};
    144 pub use publication::{
    145     RHI_PUBLICATION_CONTRACT_VERSION, RHI_PUBLICATION_MAX_ATTEMPTS, RHI_PUBLICATION_MAX_TARGETS,
    146     RhiPublicationAuthority, RhiPublicationError, RhiPublicationErrorKind, RhiPublicationMode,
    147     RhiPublicationRetryPolicy, RhiPublicationTarget,
    148 };
    149 pub use publication_attempt::{
    150     RHI_PUBLICATION_ATTEMPT_EVIDENCE_CONTRACT_VERSION, RHI_PUBLICATION_ATTEMPT_NUMBER_MAXIMUM,
    151     RHI_PUBLICATION_TARGET_ORDINAL_MAXIMUM, RhiPublicationAttemptEvidence,
    152     RhiPublicationAttemptEvidenceError, RhiPublicationAttemptEvidenceErrorKind,
    153     RhiPublicationAttemptId, RhiPublicationAttemptOutcome, RhiPublicationTargetState,
    154     RhiPublicationUnixMilliseconds,
    155 };
    156 pub use publication_execution::{
    157     RHI_PUBLICATION_EXECUTION_CONTRACT_VERSION, RhiExactPublicationSink,
    158     RhiPreparedPublicationAttempt, RhiPublicationAttemptCommit, RhiPublicationExecutionError,
    159     RhiPublicationExecutionErrorKind, RhiPublicationLease, RhiPublicationLeaseOwner,
    160     RhiPublicationOutboxState, RhiPublicationRetryDelayMilliseconds,
    161 };
    162 pub use publication_submission::{
    163     RHI_PUBLICATION_SUBMISSION_CONTRACT_VERSION, RhiCommittedPublication, RhiPublicationOutboxId,
    164     RhiPublicationSubmissionError, RhiPublicationSubmissionErrorKind,
    165 };
    166 pub use radroots_event::id::TradeId;
    167 pub use radroots_runtime_paths::{
    168     INSTANCE_ID_MAX_BYTES, InstanceId, RadrootsHostEnvironment, RadrootsPathProfile,
    169     RadrootsPathResolver, RadrootsPlatform, RadrootsServiceInstanceArtifacts, RuntimeContext,
    170     RuntimeContextSource, ServiceId,
    171 };
    172 pub use radroots_service_host::{
    173     EntropyError, EntropySource, MonotonicClock, MonotonicClockError, MonotonicDeadline,
    174     MonotonicTime, UnixTimeSeconds, WallClock, WallClockError,
    175 };
    176 pub use reconciliation_attempt::{
    177     RHI_RECONCILIATION_ATTEMPT_CONTRACT_VERSION, RHI_RECONCILIATION_ATTEMPT_MAX_SOURCES,
    178     RhiReconciliationAttemptError, RhiReconciliationAttemptErrorKind, RhiReconciliationAttemptId,
    179     RhiReconciliationAttemptPlan, RhiReconciliationAttemptResults, RhiReconciliationSourceRequest,
    180     RhiReconciliationSourceRequestId, RhiReconciliationSourceResult,
    181     RhiReconciliationSourceSelectorDigest,
    182 };
    183 pub use reconciliation_attestation::{
    184     RHI_RECONCILIATION_ATTESTATION_CONTRACT_VERSION,
    185     RHI_RECONCILIATION_SIGNED_ATTESTATION_MAX_BYTES, RhiEvidenceAttestationSupersession,
    186     RhiReconciliationAttestationError, RhiReconciliationAttestationErrorKind,
    187     RhiSignedEvidenceAttestation, build_rhi_signed_evidence_attestation,
    188 };
    189 pub use reconciliation_commit::{
    190     RHI_RECONCILIATION_COMMIT_CONTRACT_VERSION, RhiReconciliationCommitError,
    191     RhiReconciliationCommitErrorKind, RhiReconciliationSourceCommitOutcome,
    192 };
    193 pub use reconciliation_finalization::{
    194     RHI_RECONCILIATION_FINALIZATION_CONTRACT_VERSION, RhiReconciliationFinalizationError,
    195     RhiReconciliationFinalizationErrorKind, RhiReconciliationFinalizationFence,
    196 };
    197 pub use reconciliation_finalization_commit::{
    198     RHI_RECONCILIATION_FINALIZATION_COMMIT_CONTRACT_VERSION,
    199     RhiReconciliationFinalizationCommitError, RhiReconciliationFinalizationCommitErrorKind,
    200     RhiReconciliationFinalizationCommitOutcome,
    201 };
    202 pub use reconciliation_job::{
    203     RHI_RECONCILIATION_JOB_CONTRACT_VERSION, RHI_RECONCILIATION_JOB_MAX_ACTIVE,
    204     RhiReconciliationJob, RhiReconciliationJobError, RhiReconciliationJobErrorKind,
    205     RhiReconciliationJobId, RhiReconciliationJobPolicy, RhiReconciliationJobState,
    206     RhiReconciliationLease, RhiReconciliationLeaseOwner, RhiReconciliationRetryDelayMilliseconds,
    207     RhiReconciliationScheduleOutcome, RhiReconciliationUnixMilliseconds,
    208 };
    209 pub use reconciliation_manifest::{
    210     RHI_RECONCILIATION_MANIFEST_CONTRACT_VERSION, RhiReconciliationManifest,
    211     RhiReconciliationManifestError, RhiReconciliationManifestErrorKind,
    212     RhiReconciliationScopePrerequisites,
    213 };
    214 pub use reconciliation_reducer::{
    215     RHI_RECONCILIATION_OUTCOME_CONTRACT_VERSION, RHI_RECONCILIATION_REDUCER_CONTRACT_VERSION,
    216     RhiReconciliationCoverage, RhiReconciliationEvaluation, RhiReconciliationOutcome,
    217     RhiReconciliationProjection, RhiReconciliationReasonCode, RhiReconciliationReducerError,
    218     RhiReconciliationReducerErrorKind, evaluate_rhi_reconciliation_claim,
    219     reduce_rhi_reconciliation_manifest,
    220 };
    221 pub use reconciliation_replay::{
    222     RHI_RECONCILIATION_REPLAY_CONTRACT_VERSION, RhiReconciliationReplayError,
    223     RhiReconciliationReplayErrorKind, RhiReconciliationSourceCursorEvidence,
    224     RhiReconciliationSourceReplay, RhiReconciliationSourceReplayId,
    225     RhiReconciliationSourceReplayPlan,
    226 };
    227 pub use runtime_adapters::{
    228     CanonicalRhiCredentialAccess, CanonicalRhiIdentityAccess, RHI_RUNTIME_ADAPTER_CONTRACT_VERSION,
    229     RHI_RUNTIME_JITTER_MAX_ENTROPY_DRAWS, RHI_RUNTIME_JITTER_MAX_MILLISECONDS, RhiCredentialAccess,
    230     RhiIdentityAccess, RhiIdentityCredentialAdapters, RhiJitterBoundMilliseconds,
    231     RhiJitterMilliseconds, RhiRuntimeAdapterError, RhiRuntimeAdapterErrorKind, RhiRuntimeAdapters,
    232     RhiTimeEntropyAdapters, RhiTransportAdapters,
    233 };
    234 pub use runtime_context::{
    235     RhiRuntimeContext, RhiRuntimeContextError, RhiRuntimeContextErrorKind,
    236     resolve_rhi_runtime_context,
    237 };
    238 pub use runtime_foundation::{
    239     RHI_RUNTIME_FOUNDATION_CONTRACT_VERSION, RhiRuntimeFoundation, RhiRuntimeFoundationError,
    240     RhiRuntimeFoundationErrorKind, RhiRuntimePrerequisite, RhiRuntimeReadiness,
    241     RhiRuntimeReadinessReason, open_rhi_runtime_foundation,
    242 };
    243 pub use runtime_signal::{RhiProcessSignal, RhiProcessSignalFuture, RhiProcessSignalSource};
    244 pub use source_ingest::{
    245     RHI_TRADE_SOURCE_INGEST_CONTRACT_VERSION, RHI_TRADE_SOURCE_RESULT_MAX_BYTES,
    246     RHI_TRADE_SOURCE_RESULT_MAX_EVENTS, RhiTradeDirtyGeneration, RhiTradeSourceAttempt,
    247     RhiTradeSourceCompletion, RhiTradeSourceCursor, RhiTradeSourceIngestError,
    248     RhiTradeSourceIngestErrorKind, RhiTradeSourceIngestOutcome, ingest_rhi_trade_source,
    249 };
    250 pub use state_catalog::{
    251     RHI_MIGRATION_CATALOG_SHA256, RHI_STATE_BASE_SCHEMA_VERSION, RHI_STATE_SCHEMA_CATALOG_SHA256,
    252     RHI_STATE_SCHEMA_VERSION, RHI_STATE_SCHEMA_VERSION_1_OBJECT_COUNT,
    253     RHI_STATE_SCHEMA_VERSION_1_SHA256, RHI_STATE_SCHEMA_VERSION_2_MIGRATION_SHA256,
    254     RHI_STATE_SCHEMA_VERSION_2_OBJECT_COUNT, RHI_STATE_SCHEMA_VERSION_2_SHA256,
    255     RHI_STATE_SCHEMA_VERSION_3_MIGRATION_SHA256, RHI_STATE_SCHEMA_VERSION_3_OBJECT_COUNT,
    256     RHI_STATE_SCHEMA_VERSION_3_SHA256, RHI_STATE_SCHEMA_VERSION_4_MIGRATION_SHA256,
    257     RHI_STATE_SCHEMA_VERSION_4_OBJECT_COUNT, RHI_STATE_SCHEMA_VERSION_4_SHA256,
    258     RHI_STATE_SCHEMA_VERSION_5_MIGRATION_SHA256, RHI_STATE_SCHEMA_VERSION_5_OBJECT_COUNT,
    259     RHI_STATE_SCHEMA_VERSION_5_SHA256, RHI_STATE_SCHEMA_VERSION_6_MIGRATION_SHA256,
    260     RHI_STATE_SCHEMA_VERSION_6_OBJECT_COUNT, RHI_STATE_SCHEMA_VERSION_6_SHA256,
    261     RHI_STATE_SCHEMA_VERSION_7_MIGRATION_SHA256, RHI_STATE_SCHEMA_VERSION_7_OBJECT_COUNT,
    262     RHI_STATE_SCHEMA_VERSION_7_SHA256, RHI_STATE_SCHEMA_VERSION_8_MIGRATION_SHA256,
    263     RHI_STATE_SCHEMA_VERSION_8_OBJECT_COUNT, RHI_STATE_SCHEMA_VERSION_8_SHA256,
    264     RHI_STATE_SCHEMA_VERSION_9_MIGRATION_SHA256, RHI_STATE_SCHEMA_VERSION_9_OBJECT_COUNT,
    265     RHI_STATE_SCHEMA_VERSION_9_SHA256, RHI_STATE_SCHEMA_VERSION_10_MIGRATION_SHA256,
    266     RHI_STATE_SCHEMA_VERSION_10_OBJECT_COUNT, RHI_STATE_SCHEMA_VERSION_10_SHA256,
    267     RHI_STATE_SCHEMA_VERSION_11_MIGRATION_SHA256, RHI_STATE_SCHEMA_VERSION_11_OBJECT_COUNT,
    268     RHI_STATE_SCHEMA_VERSION_11_SHA256, RhiStateCatalogError, RhiStateCatalogErrorKind,
    269     rhi_migration_catalog, rhi_schema_catalog, validate_rhi_state_catalogs,
    270 };
    271 pub use state_config::{
    272     RHI_CONFIG_BINDING_MAX_GENERATIONS, RhiConfigApplyError, RhiConfigApplyErrorKind,
    273     RhiConfigApplyOutcome,
    274 };
    275 pub use state_host::{
    276     RhiStateHost, RhiStateHostError, RhiStateHostErrorKind, RhiStateHostMode,
    277     apply_rhi_configuration, initialize_rhi_state, open_rhi_state_inspection,
    278     open_rhi_state_inspection_from_config, open_rhi_state_read_write,
    279     open_rhi_state_read_write_from_config,
    280 };
    281 pub use state_maintenance::{
    282     RhiStagedStateRestore, RhiStateMaintenanceError, RhiStateMaintenanceErrorKind,
    283     RhiVerifiedStateBackup, finalize_rhi_state_restore, stage_rhi_state_restore,
    284     verify_rhi_state_backup,
    285 };
    286 pub use state_metadata::{
    287     RHI_ADMIN_CONTRACT_VERSION, RHI_PROVIDER_CONTRACT_VERSION, RHI_STATE_APPLICATION_ID,
    288     RHI_STATUS_CONTRACT_VERSION, RhiEvidencePolicyDigest, RhiExpectedPublicIdentity,
    289     RhiNormalizedConfigDigest, RhiStateMetadata, RhiStateMetadataError, RhiStateMetadataErrorKind,
    290     RhiStatePolicyVersions,
    291 };
    292 pub use state_repository::{
    293     RHI_STATE_REPOSITORY_CONTRACT_VERSION, RHI_STATE_REPOSITORY_COUNT,
    294     RhiDesiredPresenceRepository, RhiDirtyTradeRepository, RhiEvidenceManifestRepository,
    295     RhiMutationRepository, RhiPresenceAttemptRepository, RhiPresenceOutboxRepository,
    296     RhiPresenceTargetRepository, RhiProjectionRepository, RhiProvenanceRepository,
    297     RhiPublicationAttemptRepository, RhiPublicationOutboxRepository,
    298     RhiPublicationTargetRepository, RhiReconciliationAttemptRepository,
    299     RhiReconciliationJobRepository, RhiReportRepository, RhiSignedAttestationEventRepository,
    300     RhiSignedEventRepository, RhiSourceCompletionRepository, RhiSourceCursorRepository,
    301     RhiSourceRepository, RhiStateRepositories, RhiStateRepositoryDescriptor,
    302     RhiStateRepositoryKind, RhiStateRepositoryWriteClass, RhiSupersessionRepository,
    303     rhi_state_repository_descriptors,
    304 };
    305 pub use state_trade::{
    306     RHI_TRADE_EVIDENCE_PERSISTENCE_CONTRACT_VERSION, RhiTradeEvidencePersistenceError,
    307     RhiTradeEvidencePersistenceErrorKind, RhiTradeEvidencePersistenceOutcome,
    308     RhiTradeSourceObservation,
    309 };
    310 pub use status_v1::{
    311     RHI_DETAILED_STATUS_MAX_UTF8_BYTES, RHI_STATUS_CACHE_CONTRACT_VERSION,
    312     RHI_STATUS_REASON_CODE_COUNT, RhiEvidenceTransportStatusV1, RhiIdentityHealthV1,
    313     RhiIntegrityStateV1, RhiPersistenceHealthV1, RhiPersistenceStatusV1, RhiPresenceStatusV1,
    314     RhiProviderHealthV1, RhiProviderStatusV1, RhiPublicationStatusV1, RhiReconciliationStatusV1,
    315     RhiServicePhase, RhiStatusBuildInfoV1, RhiStatusBuildMode, RhiStatusCommonV1,
    316     RhiStatusConfigurationIdentityV1, RhiStatusConfigurationSource, RhiStatusError,
    317     RhiStatusErrorKind, RhiStatusObservationV1, RhiStatusPublisher, RhiStatusReader,
    318     RhiStatusReasonCode, RhiStatusReasonCodes, RhiStatusSnapshot, RhiStatusUnixSeconds,
    319     RhiTransportHealthV1, rhi_status_cache,
    320 };
    321 pub use trade_ingest::{
    322     RHI_TRADE_EVENT_EXTRA_FIELD_MAX_COUNT, RHI_TRADE_EVENT_EXTRA_JSON_MAX_BYTES,
    323     RHI_TRADE_EVENT_ID_MAX_BYTES, RHI_TRADE_EVENT_PUBLIC_KEY_MAX_BYTES,
    324     RHI_TRADE_EVENT_SIGNATURE_MAX_BYTES, RHI_TRADE_INGEST_CONTRACT_VERSION,
    325     RhiAdmittedTradeMutationEvent, RhiTradeMutationAdmissionError,
    326     RhiTradeMutationAdmissionErrorKind, RhiTradeMutationAdmissionLimits,
    327     RhiTradeMutationAuthoredTimePolicy, RhiTradeMutationObservedAtUnixSeconds,
    328     admit_rhi_trade_mutation_event,
    329 };