Skip to main content

lodestone_client/
lib.rs

1//! Current-only asynchronous Rust client for the Lodestone API.
2//!
3//! Semantic request, result, error, cursor, locator, aggregation, usage, and
4//! subscription types come exclusively from [`lodestone_wire`]. This
5//! crate owns only external-client concerns: validated local profile material,
6//! secret-safe credential access, bounded TLS transport, retry/submission
7//! classification, helpers, and the canonical gRPC subscription stream.
8
9mod bootstrap_credential;
10mod bulk;
11mod client_material;
12mod cluster_control;
13mod config;
14mod connection_doctor;
15mod credential;
16mod credential_rotation;
17mod development_workflows;
18mod exact_workflows;
19mod generated;
20mod generated_tool_packs;
21mod index_change;
22mod observability_ingest;
23mod operation_waiter;
24mod pager;
25mod portability;
26mod provisioning;
27mod secure_publication;
28mod state;
29mod subscription;
30mod tooling;
31mod transport;
32mod workflow_journal;
33
34pub use bootstrap_credential::{
35    BOOTSTRAP_API_KEY_GENERATION, BOOTSTRAP_API_KEY_ID, BootstrapCredentialError, MAX_BOOTSTRAP_CREDENTIAL_BYTES,
36    PreparedBootstrapCredential,
37};
38pub use bulk::{BulkExecution, BulkRecovery, BulkRecoveryError};
39pub use client_material::{
40    CLIENT_MATERIAL_CREDENTIAL_REFERENCE_OWNER, CLIENT_MATERIAL_FORMAT_VERSION, CLIENT_MATERIAL_SCHEMA_ID,
41    ClientMaterialError, ClientMaterialFileReferenceV1, ClientMaterialSupplyBindingV1, ClientMaterialV1,
42    ClientTrustMaterialReferenceV1, MAX_CLIENT_MATERIAL_BYTES,
43};
44pub use cluster_control::{
45    CLUSTER_CONTROL_ALPN, ClusterControlClient, ClusterControlClientConfig, ClusterControlClientError,
46    ClusterControlCredential, ClusterControlRefusal,
47};
48pub use config::{
49    CellOperationClass, CellTransportConfig, CellTransportIdentity, ClientConfigError, CollectionSessionConfig,
50    PoolConfig, TlsTrust, ValidatedConnectionProfile, ValidatedEndpoint,
51};
52pub use connection_doctor::{
53    ConnectionDoctorFailure, ConnectionDoctorFailureClass, ConnectionDoctorReport, ConnectionDoctorStage,
54};
55pub use credential::{
56    ActiveOperationalCredential, CredentialActivationError, CredentialActivationPlan, CredentialFuture,
57    CredentialMaterial, CredentialMaterialStoreError, CredentialProvider, CredentialProviderError,
58    EphemeralCredentialDelivery, EphemeralDeliveryFuture, FileCredentialProvider, OperationalCredentialMaterialStore,
59    PendingOperationalCredential, SecretBytes, SecretStoreFuture, StoredCredentialTransition,
60};
61pub use credential_rotation::{
62    AtomicFileCredentialMaterialStore, CREDENTIAL_ROTATION_FORMAT_VERSION, CredentialRotationError,
63    CredentialRotationIntent, CredentialRotationState, CredentialRotationTransition, RecoverableServiceCredentialFile,
64    StagedCredential, StagedServiceCredentialFile, credential_file_reference,
65};
66pub use development_workflows::{
67    DEVELOPMENT_MATERIALIZE_FORMAT_VERSION, DEVELOPMENT_PKI_SUCCESSOR_FORMAT_VERSION,
68    DEVELOPMENT_RECONCILE_FORMAT_VERSION, DevelopmentMaterializeArtifact, DevelopmentMaterializeIntent,
69    DevelopmentMaterializePrivatePlan, DevelopmentMaterializeState, DevelopmentMaterializeTransition,
70    DevelopmentPkiSuccessorArtifact, DevelopmentPkiSuccessorIntent, DevelopmentPkiSuccessorOperation,
71    DevelopmentPkiSuccessorPrivatePlan, DevelopmentPkiSuccessorState, DevelopmentPkiSuccessorTransition,
72    DevelopmentReconcileIntent, DevelopmentReconcileRoleTarget, DevelopmentReconcileState,
73    DevelopmentReconcileTerminalOutcome, DevelopmentReconcileTransition,
74};
75pub use exact_workflows::{
76    AppendExactItemResultV1, AppendExactRequestV1, AppendExactResultV1, DEFAULT_EXACT_WORKFLOW_STORE_CONFLICT_LIMIT,
77    DocumentMutationExactResultV1, EXACT_MUTATION_FORMAT_VERSION, ExactExecutionV2, ExactMutationKindV1,
78    ExactMutationOutcomeV1, ExactWorkflowClock, ExactWorkflowError, ExactWorkflowOptions, ExactWorkflowPhaseV2,
79    ExactWorkflowRecoveryStore, ExactWorkflowRecoveryV2, ExactWorkflowStoreError, ExactWorkflowStoreFuture,
80    FilesystemExactWorkflowRecoveryStore, ReconcileIndexExactResultV1, create_index_action_kind,
81};
82pub use generated::{RUST_CLIENT_METHOD_COUNT, request_command};
83pub use index_change::{IndexChangeExecution, IndexChangeRecovery, IndexChangeRecoveryError};
84pub use lodestone_proto::{
85    COLLECTION_AUTHORITY_OBSERVATION_FORMAT_VERSION, COLLECTION_AUTHORITY_OBSERVATION_REQUEST_FORMAT_VERSION,
86    COLLECTION_RETIREMENT_RECEIPT_FORMAT_VERSION, COLLECTION_RETIREMENT_REQUEST_FORMAT_VERSION,
87    COLLECTION_RETIREMENT_STATUS_FORMAT_VERSION, ClusterControlActionV3, ClusterControlCredentialKindV1,
88    ClusterControlResponseDispositionV3, CollectionAuthorityObservationContractError,
89    CollectionAuthorityObservationRequestV1, CollectionAuthorityObservationStateV1, CollectionAuthorityObservationV1,
90    CollectionId, CollectionRetirementBlockerKindV1, CollectionRetirementBlockerV1, CollectionRetirementChildSummaryV1,
91    CollectionRetirementClosurePolicyV1, CollectionRetirementContractError, CollectionRetirementCursorV1,
92    CollectionRetirementOutcomeV1, CollectionRetirementOwnerV1, CollectionRetirementReceiptV1,
93    CollectionRetirementRequestV1, CollectionSecurityGeneration, LogicalMillis, RecoveryEra,
94};
95pub use lodestone_wire::*;
96pub use observability_ingest::{
97    MAX_OBSERVABILITY_INGEST_MESSAGE_BYTES, ObservabilityContentEncodingV1, ObservabilityIngestDispositionV1,
98    ObservabilityIngestEndpointV1, ObservabilityIngestErrorV1, ObservabilityIngestModeV1,
99    ObservabilityIngestProtocolV1, ObservabilityIngestReceiptV1, ObservabilityIngestRequestV1,
100    ObservabilityIngestResponseV1,
101};
102pub use operation_waiter::{OperationWaitError, OperationWaitOptions, OperationWaitOutcome};
103pub use pager::{
104    AliasPager, AuditEventsPager, AuditExportPager, ComponentTemplatePager, DataStreamPager, IndexPager,
105    IndexTemplatePager, IngestPipelinePager, LifecyclePolicyPager, MaintenancePager, OperationsPager, PagerError,
106    SearchPager, ServiceCredentialsPager, UsagePager,
107};
108pub use portability::{
109    CollectionExportExecutionV1, CollectionExportRetirementExecutionV1, CollectionRestoreExecutionV1,
110    CollectionStandbyActivationExecutionV1, CollectionStandbyAdmissionExecutionV1, CollectionTransferExportExecutionV1,
111    CollectionTransferRestoreExecutionV1, IndexExportExecutionV1, IndexImportExecutionV1,
112    PORTABILITY_WORKFLOW_FORMAT_VERSION, PortabilityWorkflowError,
113};
114pub use provisioning::{
115    PROVISION_RETAINED_APPEND_FORMAT_VERSION, ProvisionCatalogPreparation, ProvisionRetainedAppendIntent,
116    ProvisionRetainedAppendState, ProvisionRetainedAppendTransition, ProvisionRolePreparation,
117    RoleAppendApplyResolution, RoleAppendAttemptClosure, profile_sha256, provision_definition_sha256,
118};
119pub use secure_publication::{
120    PublishedFileIdentity, SecureCreateNewFilePublisher, SecurePrivateDirectoryTree, SecurePublicationError,
121};
122pub use state::{AbsoluteExpiry, StateActionId, StateIndex, StateWriteOutcome};
123pub use subscription::{Subscription, SubscriptionCheckpoint, SubscriptionError};
124pub use tooling::{ToolPackError, describe_tool_operation, load_tool_pack};
125pub use transport::{
126    CallCancellation, CallOptions, CellTransport, CellTransportMetricsSnapshot, Client, ClientError, CollectionSession,
127    MAX_VERIFIED_SESSION_METADATA, ProfileVerification, SubmissionDisposition, TransportErrorKind, raw_json_text,
128};
129pub use workflow_journal::{
130    LocalOperatorWorkflowKind, MAX_WORKFLOW_JOURNAL_INTENT_BYTES, MAX_WORKFLOW_JOURNAL_RECORD_BYTES,
131    MAX_WORKFLOW_JOURNAL_RECORDS, WORKFLOW_JOURNAL_FORMAT_VERSION, WorkflowJournal, WorkflowJournalError,
132    WorkflowJournalIntent, WorkflowJournalRecordReceipt, WorkflowJournalReplay, WorkflowJournalTransition,
133    WorkflowTransactionId,
134};
135
136/// Explicit raw generated command surface. Prefer the recovery-aware workflow
137/// helpers re-exported at the crate root for mutations, paging, credentials,
138/// connection verification, and operation waiting.
139pub mod low_level {
140    pub use crate::{CallOptions, Client};
141    pub use lodestone_wire::*;
142}