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 operation_waiter;
23mod pager;
24mod portability;
25mod provisioning;
26mod secure_publication;
27mod state;
28mod subscription;
29mod tooling;
30mod transport;
31mod workflow_journal;
32
33pub use bootstrap_credential::{
34    BOOTSTRAP_API_KEY_GENERATION, BOOTSTRAP_API_KEY_ID, BootstrapCredentialError, MAX_BOOTSTRAP_CREDENTIAL_BYTES,
35    PreparedBootstrapCredential,
36};
37pub use bulk::{BulkExecution, BulkRecovery, BulkRecoveryError};
38pub use client_material::{
39    CLIENT_MATERIAL_CREDENTIAL_REFERENCE_OWNER, CLIENT_MATERIAL_FORMAT_VERSION, CLIENT_MATERIAL_SCHEMA_ID,
40    ClientMaterialError, ClientMaterialFileReferenceV1, ClientMaterialSupplyBindingV1, ClientMaterialV1,
41    ClientTrustMaterialReferenceV1, MAX_CLIENT_MATERIAL_BYTES,
42};
43pub use cluster_control::{
44    CLUSTER_CONTROL_ALPN, ClusterControlClient, ClusterControlClientConfig, ClusterControlClientError,
45    ClusterControlCredential, ClusterControlRefusal,
46};
47pub use config::{
48    CellOperationClass, CellTransportConfig, CellTransportIdentity, ClientConfigError, CollectionSessionConfig,
49    PoolConfig, TlsTrust, ValidatedConnectionProfile, ValidatedEndpoint,
50};
51pub use connection_doctor::{
52    ConnectionDoctorFailure, ConnectionDoctorFailureClass, ConnectionDoctorReport, ConnectionDoctorStage,
53};
54pub use credential::{
55    ActiveOperationalCredential, CredentialActivationError, CredentialActivationPlan, CredentialFuture,
56    CredentialMaterial, CredentialMaterialStoreError, CredentialProvider, CredentialProviderError,
57    EphemeralCredentialDelivery, EphemeralDeliveryFuture, FileCredentialProvider, OperationalCredentialMaterialStore,
58    PendingOperationalCredential, SecretBytes, SecretStoreFuture, StoredCredentialTransition,
59};
60pub use credential_rotation::{
61    AtomicFileCredentialMaterialStore, CREDENTIAL_ROTATION_FORMAT_VERSION, CredentialRotationError,
62    CredentialRotationIntent, CredentialRotationState, CredentialRotationTransition, RecoverableServiceCredentialFile,
63    StagedCredential, StagedServiceCredentialFile, credential_file_reference,
64};
65pub use development_workflows::{
66    DEVELOPMENT_MATERIALIZE_FORMAT_VERSION, DEVELOPMENT_PKI_SUCCESSOR_FORMAT_VERSION,
67    DEVELOPMENT_RECONCILE_FORMAT_VERSION, DevelopmentMaterializeArtifact, DevelopmentMaterializeIntent,
68    DevelopmentMaterializePrivatePlan, DevelopmentMaterializeState, DevelopmentMaterializeTransition,
69    DevelopmentPkiSuccessorArtifact, DevelopmentPkiSuccessorIntent, DevelopmentPkiSuccessorOperation,
70    DevelopmentPkiSuccessorPrivatePlan, DevelopmentPkiSuccessorState, DevelopmentPkiSuccessorTransition,
71    DevelopmentReconcileIntent, DevelopmentReconcileRoleTarget, DevelopmentReconcileState,
72    DevelopmentReconcileTerminalOutcome, DevelopmentReconcileTransition,
73};
74pub use exact_workflows::{
75    AppendExactItemResultV1, AppendExactRequestV1, AppendExactResultV1, DEFAULT_EXACT_WORKFLOW_STORE_CONFLICT_LIMIT,
76    DocumentMutationExactResultV1, EXACT_MUTATION_FORMAT_VERSION, ExactExecutionV2, ExactMutationKindV1,
77    ExactMutationOutcomeV1, ExactWorkflowClock, ExactWorkflowError, ExactWorkflowOptions, ExactWorkflowPhaseV2,
78    ExactWorkflowRecoveryStore, ExactWorkflowRecoveryV2, ExactWorkflowStoreError, ExactWorkflowStoreFuture,
79    FilesystemExactWorkflowRecoveryStore, ReconcileIndexExactResultV1, create_index_action_kind,
80};
81pub use generated::{RUST_CLIENT_METHOD_COUNT, request_command};
82pub use index_change::{IndexChangeExecution, IndexChangeRecovery, IndexChangeRecoveryError};
83pub use lodestone_proto::{
84    COLLECTION_RETIREMENT_RECEIPT_FORMAT_VERSION, COLLECTION_RETIREMENT_REQUEST_FORMAT_VERSION,
85    COLLECTION_RETIREMENT_STATUS_FORMAT_VERSION, ClusterControlActionV2, ClusterControlCredentialKindV1,
86    ClusterControlResponseDispositionV2, CollectionId, CollectionRetirementBlockerKindV1,
87    CollectionRetirementBlockerV1, CollectionRetirementChildSummaryV1, CollectionRetirementClosurePolicyV1,
88    CollectionRetirementContractError, CollectionRetirementCursorV1, CollectionRetirementOutcomeV1,
89    CollectionRetirementOwnerV1, CollectionRetirementReceiptV1, CollectionRetirementRequestV1,
90    CollectionSecurityGeneration, LogicalMillis,
91};
92pub use lodestone_wire::*;
93pub use operation_waiter::{OperationWaitError, OperationWaitOptions, OperationWaitOutcome};
94pub use pager::{
95    AliasPager, AuditEventsPager, AuditExportPager, ComponentTemplatePager, DataStreamPager, IndexPager,
96    IndexTemplatePager, IngestPipelinePager, LifecyclePolicyPager, MaintenancePager, OperationsPager, PagerError,
97    SearchPager, ServiceCredentialsPager, UsagePager,
98};
99pub use portability::{
100    CollectionExportExecutionV1, CollectionExportRetirementExecutionV1, CollectionRestoreExecutionV1,
101    CollectionTransferExportExecutionV1, CollectionTransferRestoreExecutionV1, IndexExportExecutionV1,
102    IndexImportExecutionV1, PORTABILITY_WORKFLOW_FORMAT_VERSION, PortabilityWorkflowError,
103};
104pub use provisioning::{
105    PROVISION_RETAINED_APPEND_FORMAT_VERSION, ProvisionCatalogPreparation, ProvisionRetainedAppendIntent,
106    ProvisionRetainedAppendState, ProvisionRetainedAppendTransition, ProvisionRolePreparation,
107    RoleAppendApplyResolution, RoleAppendAttemptClosure, profile_sha256, provision_definition_sha256,
108};
109pub use secure_publication::{
110    PublishedFileIdentity, SecureCreateNewFilePublisher, SecurePrivateDirectoryTree, SecurePublicationError,
111};
112pub use state::{AbsoluteExpiry, StateActionId, StateIndex, StateWriteOutcome};
113pub use subscription::{Subscription, SubscriptionCheckpoint, SubscriptionError};
114pub use tooling::{ToolPackError, describe_tool_operation, load_tool_pack};
115pub use transport::{
116    CallCancellation, CallOptions, CellTransport, CellTransportMetricsSnapshot, Client, ClientError, CollectionSession,
117    MAX_VERIFIED_SESSION_METADATA, ProfileVerification, SubmissionDisposition, TransportErrorKind, raw_json_text,
118};
119pub use workflow_journal::{
120    LocalOperatorWorkflowKind, MAX_WORKFLOW_JOURNAL_INTENT_BYTES, MAX_WORKFLOW_JOURNAL_RECORD_BYTES,
121    MAX_WORKFLOW_JOURNAL_RECORDS, WORKFLOW_JOURNAL_FORMAT_VERSION, WorkflowJournal, WorkflowJournalError,
122    WorkflowJournalIntent, WorkflowJournalRecordReceipt, WorkflowJournalReplay, WorkflowJournalTransition,
123    WorkflowTransactionId,
124};
125
126/// Explicit raw generated command surface. Prefer the recovery-aware workflow
127/// helpers re-exported at the crate root for mutations, paging, credentials,
128/// connection verification, and operation waiting.
129pub mod low_level {
130    pub use crate::{CallOptions, Client};
131    pub use lodestone_wire::*;
132}