lib.rs (15597B)
1 #![forbid(unsafe_code)] 2 #![doc = include_str!("../README")] 3 4 #[cfg(any(target_os = "linux", target_os = "macos"))] 5 mod admin_v1; 6 #[cfg(any(target_os = "linux", target_os = "macos"))] 7 mod cli_bootstrap; 8 mod cli_v1; 9 mod config_loader; 10 mod config_v1; 11 #[cfg(all(test, any(target_os = "linux", target_os = "macos")))] 12 mod control_plane_wave_090_a; 13 mod delivery_worker; 14 mod diagnostics_v1; 15 mod doctor_v1; 16 mod nip46_admission; 17 mod nip46_authorization; 18 mod nip46_replay; 19 mod nip46_verification; 20 #[cfg(all(test, any(target_os = "linux", target_os = "macos")))] 21 mod nip46_wave_080_a; 22 #[cfg(all(test, any(target_os = "linux", target_os = "macos")))] 23 mod nip46_wave_080_b; 24 mod nip46_work; 25 mod operations_v1; 26 #[cfg(any(target_os = "linux", target_os = "macos"))] 27 mod process_v1; 28 #[cfg(not(any(target_os = "linux", target_os = "macos")))] 29 #[path = "process_v1_unsupported.rs"] 30 mod process_v1; 31 mod provider_contract; 32 mod provider_credential; 33 mod provider_envelope; 34 mod provider_executor; 35 mod provider_local_signer; 36 mod provider_verification; 37 mod runtime_context; 38 mod runtime_foundation; 39 #[cfg(any(target_os = "linux", target_os = "macos"))] 40 mod runtime_graph; 41 #[cfg(any(target_os = "linux", target_os = "macos"))] 42 mod runtime_nip46; 43 mod runtime_signal; 44 mod runtime_supervision; 45 #[cfg(any(target_os = "linux", target_os = "macos"))] 46 mod state_admin; 47 mod state_catalog; 48 mod state_completion; 49 mod state_config; 50 mod state_connection; 51 mod state_delivery; 52 mod state_discovery; 53 mod state_governance; 54 mod state_host; 55 mod state_maintenance; 56 mod state_metadata; 57 mod state_recovery; 58 mod state_repository; 59 mod state_request; 60 mod state_response; 61 mod status_v1; 62 #[cfg(any(target_os = "linux", target_os = "macos"))] 63 mod system_doctor; 64 mod transport_nostr_adapter; 65 66 #[cfg(any(target_os = "linux", target_os = "macos"))] 67 pub use admin_v1::{ 68 MycAdminCancellationToken, MycAdminDocumentError, MycAdminDocumentErrorKind, MycAdminFuture, 69 MycAdminHandler, MycAdminHandlerError, MycAdminHandlerErrorKind, MycAdminMethod, 70 MycAdminRequestDocument, MycAdminResponseDocument, MycAdminRoute, MycAdminRouter, 71 MycAdminRouterError, MycAdminServer, MycAdminServerError, MycAdminServerErrorKind, 72 MycBoundAdminServer, build_myc_admin_router, 73 }; 74 pub use cli_v1::{ 75 MycBootstrapProfileV1, MycCliAdminOperationV1, MycCliExecutionPlanV1, MycCliInvocationV1, 76 MycCliOfflineOperationV1, MycCliOutputModeV1, MycCliPrimaryAuthorityV1, MycCliV1Error, 77 MycCliV1ErrorKind, MycCommandV1, MycConfigApplyArgsV1, MycConfigCommandV1, 78 MycIdentityCommandArgsV1, MycIdentityCommandV1, MycStateBackupArgsV1, MycStateCommandV1, 79 MycStateRestoreArgsV1, parse_myc_cli_v1_from, plan_myc_cli_v1, 80 }; 81 pub use config_loader::{ 82 MycConfigLoadError, MycConfigLoadErrorKind, initialize_myc_config_document, 83 load_myc_config_candidate, load_myc_config_document, 84 }; 85 pub use config_v1::{ 86 MYC_CONFIG_DOCUMENT_MAX_UTF8_BYTES, MYC_CONFIG_SCHEMA, MYC_CONFIG_SCHEMA_VERSION, 87 MycConfigDocumentV1, MycConfigProfile, MycConfigV1Error, MycConfigV1ErrorKind, 88 MycConfigValueSource, MycEffectiveConfigV1, MycRuntimeThreadLimitsV1, parse_myc_config_v1, 89 }; 90 pub use diagnostics_v1::{ 91 MYC_DIAGNOSTICS_CONTRACT_VERSION, MYC_LOG_RECORD_MAX_UTF8_BYTES, MycLogEvent, MycLogLevel, 92 MycLogRecord, MycProcessResult, 93 }; 94 pub use doctor_v1::{ 95 MYC_DOCTOR_CHECK_COUNT, MYC_DOCTOR_CONTRACT_VERSION, MYC_DOCTOR_REPORT_MAX_UTF8_BYTES, 96 MYC_DOCTOR_SUMMARY_MAX_UTF8_BYTES, MycDoctorAggregateStatus, MycDoctorCheckDefinition, 97 MycDoctorCheckId, MycDoctorCheckResult, MycDoctorCheckStatus, MycDoctorError, 98 MycDoctorErrorKind, MycDoctorFuture, MycDoctorObservation, MycDoctorProbe, 99 MycDoctorRemediationCode, MycDoctorReport, myc_doctor_check_definitions, run_myc_doctor, 100 }; 101 pub use nip46_admission::{ 102 MYC_NIP46_EVENT_ID_MAX_BYTES, MYC_NIP46_PUBLIC_KEY_MAX_BYTES, MYC_NIP46_SIGNATURE_MAX_BYTES, 103 MycBoundedNip46Event, MycBoundedNip46Request, MycNip46AdmissionError, 104 MycNip46AdmissionErrorKind, MycNip46AdmissionLimits, admit_myc_nip46_event, 105 admit_myc_nip46_request, 106 }; 107 pub use nip46_replay::{ 108 MycNip46ConnectionIdentity, MycNip46LogicalRequestIdentity, MycNip46ReplayDisposition, 109 MycNip46ReplayKey, MycReplayBoundNip46Request, bind_myc_nip46_replay, 110 }; 111 pub use nip46_verification::{ 112 MycNip46AuthoredTimePolicy, MycNip46EncryptionContext, MycNip46ObservedAtUnixSeconds, 113 MycNip46VerificationError, MycNip46VerificationErrorKind, MycVerifiedNip46Event, 114 MycVerifiedNip46Request, verify_myc_nip46_event, verify_myc_nip46_request, 115 }; 116 pub use nip46_work::{ 117 MycDecryptedNip46Request, MycNip46DecryptWork, MycNip46Work, MycNip46WorkError, 118 MycNip46WorkErrorKind, MycNip46WorkKind, MycPreparedNip46Request, 119 prepare_myc_nip46_decrypt_work, prepare_myc_nip46_request, prepare_myc_nip46_work, 120 }; 121 pub use operations_v1::{ 122 MYC_LIVEZ_PATH, MYC_METRICS_PATH, MYC_OPERATIONS_CONTRACT_VERSION, MYC_READYZ_PATH, 123 MycBoundOperationsServer, MycOperationsCancellationToken, MycOperationsError, 124 MycOperationsErrorKind, MycOperationsServer, 125 }; 126 pub use process_v1::{execute_myc_cli_v1, execute_myc_cli_v1_with_signal_source}; 127 pub use provider_contract::{ 128 MYC_PROVIDER_CONCURRENCY_MAX, MYC_PROVIDER_CONTRACT_VERSION, MYC_PROVIDER_INPUT_MAX_BYTES, 129 MYC_PROVIDER_OUTPUT_MAX_BYTES, MYC_PROVIDER_REQUEST_DEADLINE_MAX_MS, 130 MYC_PROVIDER_REQUEST_MAX_BYTES, MYC_PROVIDER_RESPONSE_MAX_BYTES, MycLocalSignerLimits, 131 MycProviderBinding, MycProviderCapability, MycProviderCapabilitySet, MycProviderContract, 132 MycProviderContractError, MycProviderContractErrorKind, MycProviderCorrelationId, 133 MycProviderCredentialReference, MycProviderDeadlineUnixMs, MycProviderInstanceId, 134 MycProviderKind, MycProviderNip44Version, MycProviderOperation, MycProviderOperationId, 135 MycProviderOperationInput, MycProviderPublicIdentity, MycProviderRole, 136 MycUntrustedProviderOutput, 137 }; 138 pub use provider_credential::{ 139 MYC_WRAPPING_CREDENTIAL_ARTIFACT_BYTES, MYC_WRAPPING_CREDENTIAL_CONTRACT_VERSION, 140 MycCredentialResolutionError, MycCredentialResolutionErrorKind, 141 resolve_myc_wrapping_credential, 142 }; 143 pub use provider_envelope::{ 144 MYC_ENCRYPTED_IDENTITY_BACKUP_INCLUDED, MYC_ENCRYPTED_IDENTITY_ENVELOPE_CONTRACT_VERSION, 145 MYC_ENCRYPTED_IDENTITY_ENVELOPE_MAX_BYTES, MycDecryptedIdentity, 146 MycEncryptedIdentityEnvelopeError, MycEncryptedIdentityEnvelopeErrorKind, 147 MycEncryptedIdentityProvisioningMaterial, MycWrappingCredential, open_myc_encrypted_identity, 148 provision_myc_encrypted_identity, 149 }; 150 pub use provider_local_signer::{ 151 MYC_LOCAL_SIGNER_ENDPOINT, MYC_LOCAL_SIGNER_TRANSPORT_CONTRACT_VERSION, MycLocalSignerClient, 152 MycLocalSignerTransportError, MycLocalSignerTransportErrorKind, 153 MycLocalSignerUntrustedResponse, 154 }; 155 pub use provider_verification::{ 156 MycProviderResponseObservedAtUnixMs, MycProviderVerificationError, 157 MycProviderVerificationErrorKind, MycVerifiedProviderResponse, 158 }; 159 pub use radroots_runtime_paths::{ 160 INSTANCE_ID_MAX_BYTES, InstanceId, RadrootsHostEnvironment, RadrootsPathProfile, 161 RadrootsPathResolver, RadrootsPlatform, RadrootsServiceInstanceArtifacts, RuntimeContext, 162 RuntimeContextSource, ServiceId, 163 }; 164 pub use runtime_context::{ 165 MycRuntimeContext, MycRuntimeContextError, MycRuntimeContextErrorKind, 166 resolve_myc_runtime_context, 167 }; 168 pub use runtime_foundation::{ 169 MYC_RUNTIME_FOUNDATION_CONTRACT_VERSION, MycRuntimeFoundation, MycRuntimeFoundationError, 170 MycRuntimeFoundationErrorKind, MycRuntimePrerequisite, MycRuntimeReadiness, 171 MycRuntimeReadinessReason, open_myc_runtime_foundation, 172 }; 173 pub use runtime_signal::{MycProcessSignal, MycProcessSignalFuture, MycProcessSignalSource}; 174 pub use runtime_supervision::{ 175 MYC_CRITICAL_TASK_MAX_COUNT, MYC_RUNTIME_SUPERVISION_CONTRACT_VERSION, MycCriticalTask, 176 MycCriticalTaskError, MycRuntimeSupervisionError, MycRuntimeSupervisionErrorKind, 177 MycSupervisedRuntime, MycTaskCancellation, 178 }; 179 #[cfg(any(target_os = "linux", target_os = "macos"))] 180 pub use state_admin::{ 181 MYC_ADMIN_OPERATION_COMPLETED_LIMIT, MYC_ADMIN_OPERATION_DEFAULT_RETENTION_MS, 182 MYC_ADMIN_OPERATION_ID_MAX_BYTES, MYC_ADMIN_OPERATION_MAX_RETENTION_MS, 183 MYC_ADMIN_OPERATION_MIN_RETENTION_MS, MYC_ADMIN_OPERATION_PREPARED_LIMIT, 184 MYC_ADMIN_OPERATION_RESPONSE_ENVELOPE_MAX_UTF8_BYTES, 185 MYC_ADMIN_OPERATION_RESPONSE_MODEL_MAX_BYTES, MycAdminOperationAdmission, 186 MycAdminOperationCompletion, MycAdminOperationError, MycAdminOperationErrorKind, 187 MycAdminOperationJournalPolicy, MycAdminOperationTimeUnixMs, MycPreparedAdminOperation, 188 }; 189 pub use state_catalog::{ 190 MYC_MIGRATION_CATALOG_SHA256, MYC_STATE_BASE_SCHEMA_VERSION, MYC_STATE_SCHEMA_CATALOG_SHA256, 191 MYC_STATE_SCHEMA_VERSION, MYC_STATE_SCHEMA_VERSION_1_OBJECT_COUNT, 192 MYC_STATE_SCHEMA_VERSION_1_SHA256, MYC_STATE_SCHEMA_VERSION_2_MIGRATION_SHA256, 193 MYC_STATE_SCHEMA_VERSION_2_OBJECT_COUNT, MYC_STATE_SCHEMA_VERSION_2_SHA256, 194 MYC_STATE_SCHEMA_VERSION_3_MIGRATION_SHA256, MYC_STATE_SCHEMA_VERSION_3_OBJECT_COUNT, 195 MYC_STATE_SCHEMA_VERSION_3_SHA256, MYC_STATE_SCHEMA_VERSION_4_MIGRATION_SHA256, 196 MYC_STATE_SCHEMA_VERSION_4_OBJECT_COUNT, MYC_STATE_SCHEMA_VERSION_4_SHA256, 197 MYC_STATE_SCHEMA_VERSION_5_MIGRATION_SHA256, MYC_STATE_SCHEMA_VERSION_5_OBJECT_COUNT, 198 MYC_STATE_SCHEMA_VERSION_5_SHA256, MYC_STATE_SCHEMA_VERSION_6_MIGRATION_SHA256, 199 MYC_STATE_SCHEMA_VERSION_6_OBJECT_COUNT, MYC_STATE_SCHEMA_VERSION_6_SHA256, 200 MYC_STATE_SCHEMA_VERSION_7_MIGRATION_SHA256, MYC_STATE_SCHEMA_VERSION_7_OBJECT_COUNT, 201 MYC_STATE_SCHEMA_VERSION_7_SHA256, MYC_STATE_SCHEMA_VERSION_8_MIGRATION_SHA256, 202 MYC_STATE_SCHEMA_VERSION_8_OBJECT_COUNT, MYC_STATE_SCHEMA_VERSION_8_SHA256, 203 MYC_STATE_SCHEMA_VERSION_9_MIGRATION_SHA256, MYC_STATE_SCHEMA_VERSION_9_OBJECT_COUNT, 204 MYC_STATE_SCHEMA_VERSION_9_SHA256, MYC_STATE_SCHEMA_VERSION_10_MIGRATION_SHA256, 205 MYC_STATE_SCHEMA_VERSION_10_OBJECT_COUNT, MYC_STATE_SCHEMA_VERSION_10_SHA256, 206 MYC_STATE_SCHEMA_VERSION_11_MIGRATION_SHA256, MYC_STATE_SCHEMA_VERSION_11_OBJECT_COUNT, 207 MYC_STATE_SCHEMA_VERSION_11_SHA256, MYC_STATE_SCHEMA_VERSION_12_MIGRATION_SHA256, 208 MYC_STATE_SCHEMA_VERSION_12_OBJECT_COUNT, MYC_STATE_SCHEMA_VERSION_12_SHA256, 209 MycStateCatalogError, MycStateCatalogErrorKind, myc_migration_catalog, myc_schema_catalog, 210 validate_myc_state_catalogs, 211 }; 212 pub use state_completion::{ 213 MycNip46CommitAdmission, MycNip46CommitError, MycNip46CommitErrorKind, MycNip46CommitRecord, 214 MycNip46CommitRequest, MycNip46SessionEffect, 215 }; 216 pub use state_config::{ 217 MYC_CONFIG_BINDING_MAX_GENERATIONS, MycConfigApplyError, MycConfigApplyErrorKind, 218 MycConfigApplyOutcome, 219 }; 220 pub use state_connection::{ 221 MYC_AUTHORIZATION_CHALLENGE_URL_MAX_BYTES, MYC_CONNECTION_PERMISSION_MAX_COUNT, 222 MycAuthorizationChallengeAdmission, MycAuthorizationChallengeAuthorization, 223 MycAuthorizationChallengeId, MycAuthorizationChallengeNonce, MycAuthorizationChallengeRecord, 224 MycAuthorizationChallengeRequest, MycAuthorizationChallengeState, MycAuthorizationChallengeUrl, 225 MycConnectionAdmission, MycConnectionAdmissionPolicy, MycConnectionAdmissionRequest, 226 MycConnectionDecision, MycConnectionDecisionRecord, MycConnectionId, MycConnectionNonce, 227 MycConnectionOperatorDecision, MycConnectionPermission, MycConnectionPermissionSet, 228 MycConnectionPolicyGeneration, MycConnectionRecord, MycConnectionStateError, 229 MycConnectionStateErrorKind, MycConnectionStatus, MycConnectionTimeUnixMs, 230 }; 231 pub use state_delivery::{ 232 MYC_DELIVERY_ATTEMPT_MAX_COUNT, MYC_DELIVERY_RELAY_ID_MAX_BYTES, 233 MYC_DELIVERY_RETRY_JITTER_MAX_MS, MYC_DELIVERY_TARGET_MAX_COUNT, MycDeliveryArtifactDigest, 234 MycDeliveryAttemptId, MycDeliveryAttemptNonce, MycDeliveryAttemptOutcome, 235 MycDeliveryAttemptRecord, MycDeliveryAttemptStatus, MycDeliveryClaim, MycDeliveryJobAdmission, 236 MycDeliveryJobId, MycDeliveryJobRecord, MycDeliveryJobStatus, MycDeliveryPolicyMode, 237 MycDeliveryRelayId, MycDeliveryRetryJitter, MycDeliverySourceKind, MycDeliveryStateError, 238 MycDeliveryStateErrorKind, MycDeliveryTargetRecord, MycDeliveryTargetStatus, 239 MycDeliveryTimeUnixMs, 240 }; 241 pub use state_discovery::{ 242 MYC_DISCOVERY_DOCUMENT_MAX_BYTES, MYC_NIP05_DOCUMENT_MAX_BYTES, MYC_NIP05_PROJECTION_MAX_BYTES, 243 MycDiscoveryCommitAdmission, MycDiscoveryCommitRecord, MycDiscoveryCommitRequest, 244 MycDiscoveryDocumentDigest, MycDiscoveryDocumentRecord, MycDiscoveryGenerationId, 245 MycDiscoveryPublicationState, MycDiscoveryStateError, MycDiscoveryStateErrorKind, 246 MycNip05Document, MycNip05DocumentDigest, MycNip05ExportSelection, MycNip05ProjectionDigest, 247 }; 248 pub use state_governance::{ 249 MYC_AUDIT_PAGE_MAX_ITEMS, MYC_AUDIT_RETENTION_MAX_MS, MYC_COMPACTION_MAX_ROWS, 250 MYC_RATE_MAX_ATTEMPTS, MYC_RATE_MAX_TRACKED_SUBJECTS, MYC_RATE_RELAY_ID_MAX_BYTES, 251 MYC_RATE_RETENTION_MAX_MS, MYC_RATE_WINDOW_MAX_MS, MycAuditCorrelationId, MycAuditKind, 252 MycAuditOutcome, MycAuditPage, MycAuditPageLimit, MycAuditReasonCode, MycAuditRecord, 253 MycGovernanceCompactionOutcome, MycGovernanceCompactionPolicy, MycGovernanceStateError, 254 MycGovernanceStateErrorKind, MycRateLimitClass, MycRateLimitPolicy, MycRateRelayId, 255 }; 256 pub use state_host::{ 257 MycStateHost, MycStateHostError, MycStateHostErrorKind, MycStateHostMode, initialize_myc_state, 258 open_myc_state_inspection, open_myc_state_inspection_from_config, open_myc_state_read_write, 259 open_myc_state_read_write_from_config, 260 }; 261 pub use state_maintenance::{ 262 MycStagedStateRestore, MycStateMaintenanceError, MycStateMaintenanceErrorKind, 263 MycVerifiedStateBackup, finalize_myc_state_restore, stage_myc_state_restore, 264 verify_myc_state_backup, 265 }; 266 pub use state_metadata::{ 267 MYC_OPERATOR_CONTRACT_VERSION, MYC_SIGNER_STATUS_CONTRACT_VERSION, MYC_STATE_APPLICATION_ID, 268 MycExpectedIdentities, MycExpectedPublicIdentity, MycNormalizedConfigDigest, MycStateMetadata, 269 MycStateMetadataError, MycStateMetadataErrorKind, MycStatePolicyVersions, 270 }; 271 pub use state_recovery::{ 272 MYC_DELIVERY_RECOVERY_BATCH_MAX_COUNT, MycDeliveryRecoveryEntropy, MycDeliveryRecoveryReport, 273 }; 274 pub use state_repository::{ 275 MycStateRepository, MycStateRepositoryError, MycStateRepositoryErrorKind, 276 }; 277 pub use state_request::{ 278 MYC_NIP46_CANONICAL_REQUEST_MAX_BYTES, MYC_NIP46_REQUEST_ID_MAX_UTF8_BYTES, 279 MycNip46ClientPublicKey, MycNip46EventId, MycNip46RequestId, MycRequestReceivedAtUnixMs, 280 MycSignerCorrelationId, MycSignerOperationId, MycSignerOperationNonce, MycSignerRequest, 281 MycSignerRequestAdmission, MycSignerRequestDigest, MycSignerRequestError, 282 MycSignerRequestErrorKind, MycSignerRequestMethod, MycSignerRequestRecord, 283 }; 284 pub use state_response::{ 285 MycNip46ResponseCommitAdmission, MycNip46ResponseCommitError, MycNip46ResponseCommitErrorKind, 286 MycNip46ResponseCommitRecord, MycNip46ResponseCommitRequest, MycNip46ResponseRecord, 287 }; 288 pub use status_v1::{ 289 MYC_DETAILED_STATUS_MAX_UTF8_BYTES, MYC_STATUS_CACHE_CONTRACT_VERSION, 290 MYC_STATUS_REASON_CODE_COUNT, MycConnectionCountsV1, MycIdentityHealthV1, MycIntegrityStateV1, 291 MycOutboxStatusV1, MycPersistenceHealthV1, MycPersistenceStatusV1, MycProviderHealthV1, 292 MycProviderStatusV1, MycRelayTransportStatusV1, MycServicePhase, MycStatusBuildInfoV1, 293 MycStatusBuildMode, MycStatusCommonV1, MycStatusConfigurationIdentityV1, 294 MycStatusConfigurationSource, MycStatusError, MycStatusErrorKind, MycStatusObservationV1, 295 MycStatusPublisher, MycStatusReader, MycStatusReasonCode, MycStatusReasonCodes, 296 MycStatusSnapshot, MycStatusUnixSeconds, MycTransportHealthV1, myc_status_cache, 297 };