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_RETIREMENT_RECEIPT_FORMAT_VERSION, COLLECTION_RETIREMENT_REQUEST_FORMAT_VERSION,
86    COLLECTION_RETIREMENT_STATUS_FORMAT_VERSION, ClusterControlActionV2, ClusterControlCredentialKindV1,
87    ClusterControlResponseDispositionV2, CollectionId, CollectionRetirementBlockerKindV1,
88    CollectionRetirementBlockerV1, CollectionRetirementChildSummaryV1, CollectionRetirementClosurePolicyV1,
89    CollectionRetirementContractError, CollectionRetirementCursorV1, CollectionRetirementOutcomeV1,
90    CollectionRetirementOwnerV1, CollectionRetirementReceiptV1, CollectionRetirementRequestV1,
91    CollectionSecurityGeneration, LogicalMillis,
92};
93pub use lodestone_wire::*;
94pub use observability_ingest::{
95    MAX_OBSERVABILITY_INGEST_MESSAGE_BYTES, ObservabilityContentEncodingV1, ObservabilityIngestDispositionV1,
96    ObservabilityIngestEndpointV1, ObservabilityIngestErrorV1, ObservabilityIngestModeV1,
97    ObservabilityIngestProtocolV1, ObservabilityIngestReceiptV1, ObservabilityIngestRequestV1,
98    ObservabilityIngestResponseV1,
99};
100pub use operation_waiter::{OperationWaitError, OperationWaitOptions, OperationWaitOutcome};
101pub use pager::{
102    AliasPager, AuditEventsPager, AuditExportPager, ComponentTemplatePager, DataStreamPager, IndexPager,
103    IndexTemplatePager, IngestPipelinePager, LifecyclePolicyPager, MaintenancePager, OperationsPager, PagerError,
104    SearchPager, ServiceCredentialsPager, UsagePager,
105};
106pub use portability::{
107    CollectionExportExecutionV1, CollectionExportRetirementExecutionV1, CollectionRestoreExecutionV1,
108    CollectionTransferExportExecutionV1, CollectionTransferRestoreExecutionV1, IndexExportExecutionV1,
109    IndexImportExecutionV1, PORTABILITY_WORKFLOW_FORMAT_VERSION, PortabilityWorkflowError,
110};
111pub use provisioning::{
112    PROVISION_RETAINED_APPEND_FORMAT_VERSION, ProvisionCatalogPreparation, ProvisionRetainedAppendIntent,
113    ProvisionRetainedAppendState, ProvisionRetainedAppendTransition, ProvisionRolePreparation,
114    RoleAppendApplyResolution, RoleAppendAttemptClosure, profile_sha256, provision_definition_sha256,
115};
116pub use secure_publication::{
117    PublishedFileIdentity, SecureCreateNewFilePublisher, SecurePrivateDirectoryTree, SecurePublicationError,
118};
119pub use state::{AbsoluteExpiry, StateActionId, StateIndex, StateWriteOutcome};
120pub use subscription::{Subscription, SubscriptionCheckpoint, SubscriptionError};
121pub use tooling::{ToolPackError, describe_tool_operation, load_tool_pack};
122pub use transport::{
123    CallCancellation, CallOptions, CellTransport, CellTransportMetricsSnapshot, Client, ClientError, CollectionSession,
124    MAX_VERIFIED_SESSION_METADATA, ProfileVerification, SubmissionDisposition, TransportErrorKind, raw_json_text,
125};
126pub use workflow_journal::{
127    LocalOperatorWorkflowKind, MAX_WORKFLOW_JOURNAL_INTENT_BYTES, MAX_WORKFLOW_JOURNAL_RECORD_BYTES,
128    MAX_WORKFLOW_JOURNAL_RECORDS, WORKFLOW_JOURNAL_FORMAT_VERSION, WorkflowJournal, WorkflowJournalError,
129    WorkflowJournalIntent, WorkflowJournalRecordReceipt, WorkflowJournalReplay, WorkflowJournalTransition,
130    WorkflowTransactionId,
131};
132
133/// Explicit raw generated command surface. Prefer the recovery-aware workflow
134/// helpers re-exported at the crate root for mutations, paging, credentials,
135/// connection verification, and operation waiting.
136pub mod low_level {
137    pub use crate::{CallOptions, Client};
138    pub use lodestone_wire::*;
139}