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