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, DocumentMutationExactResultV1,
75    EXACT_MUTATION_FORMAT_VERSION, ExactExecutionV1, ExactMutationKindV1, ExactMutationOutcomeV1, ExactWorkflowClock,
76    ExactWorkflowError, ExactWorkflowOptions, ExactWorkflowRecoveryV1, ExactWorkflowStore, ReconcileIndexExactResultV1,
77    create_index_action_kind,
78};
79pub use generated::{RUST_CLIENT_METHOD_COUNT, request_command};
80pub use lodestone_proto::{
81    ClusterControlActionV1, ClusterControlCredentialKindV1, ClusterControlResponseDispositionV1,
82};
83pub use lodestone_wire::*;
84pub use operation_waiter::{OperationWaitError, OperationWaitOptions, OperationWaitOutcome};
85pub use pager::{
86    AliasPager, AuditEventsPager, AuditExportPager, ComponentTemplatePager, DataStreamPager, IndexPager,
87    IndexTemplatePager, IngestPipelinePager, LifecyclePolicyPager, MaintenancePager, OperationsPager, PagerError,
88    SearchPager, ServiceCredentialsPager, UsagePager,
89};
90pub use portability::{
91    CollectionExportExecutionV1, CollectionRestoreExecutionV1, PORTABILITY_WORKFLOW_FORMAT_VERSION,
92    PortabilityWorkflowError,
93};
94pub use provisioning::{
95    PROVISION_RETAINED_APPEND_FORMAT_VERSION, ProvisionCatalogPreparation, ProvisionRetainedAppendIntent,
96    ProvisionRetainedAppendState, ProvisionRetainedAppendTransition, ProvisionRolePreparation,
97    RoleAppendApplyResolution, RoleAppendAttemptClosure, profile_sha256, provision_definition_sha256,
98};
99pub use secure_publication::{
100    PublishedFileIdentity, SecureCreateNewFilePublisher, SecurePrivateDirectoryTree, SecurePublicationError,
101};
102pub use state::{AbsoluteExpiry, StateActionId, StateIndex, StateWriteOutcome};
103pub use subscription::{Subscription, SubscriptionCheckpoint, SubscriptionError};
104pub use tooling::{ToolPackError, describe_tool_operation, load_tool_pack};
105pub use transport::{
106    CallCancellation, CallOptions, CellTransport, CellTransportMetricsSnapshot, Client, ClientError, CollectionSession,
107    MAX_VERIFIED_SESSION_METADATA, ProfileVerification, SubmissionDisposition, TransportErrorKind, raw_json_text,
108};
109pub use workflow_journal::{
110    LocalOperatorWorkflowKind, MAX_WORKFLOW_JOURNAL_INTENT_BYTES, MAX_WORKFLOW_JOURNAL_RECORD_BYTES,
111    MAX_WORKFLOW_JOURNAL_RECORDS, WORKFLOW_JOURNAL_FORMAT_VERSION, WorkflowJournal, WorkflowJournalError,
112    WorkflowJournalIntent, WorkflowJournalRecordReceipt, WorkflowJournalReplay, WorkflowJournalTransition,
113    WorkflowTransactionId,
114};
115
116/// Explicit raw generated command surface. Prefer the recovery-aware workflow
117/// helpers re-exported at the crate root for mutations, paging, credentials,
118/// connection verification, and operation waiting.
119pub mod low_level {
120    pub use crate::{CallOptions, Client};
121    pub use lodestone_wire::*;
122}