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 config;
13mod credential;
14mod credential_rotation;
15mod development_workflows;
16mod exact_workflows;
17mod generated;
18mod generated_tool_packs;
19mod pager;
20mod provisioning;
21mod secure_publication;
22mod state;
23mod subscription;
24mod tooling;
25mod transport;
26mod workflow_journal;
27
28pub use bootstrap_credential::{
29    BOOTSTRAP_API_KEY_GENERATION, BOOTSTRAP_API_KEY_ID, BootstrapCredentialError, MAX_BOOTSTRAP_CREDENTIAL_BYTES,
30    PreparedBootstrapCredential,
31};
32pub use bulk::{BulkExecution, BulkRecoveryError};
33pub use client_material::{
34    CLIENT_MATERIAL_CREDENTIAL_REFERENCE_OWNER, CLIENT_MATERIAL_FORMAT_VERSION, CLIENT_MATERIAL_SCHEMA_ID,
35    ClientMaterialError, ClientMaterialFileReferenceV1, ClientMaterialSupplyBindingV1, ClientMaterialV1,
36    ClientTrustMaterialReferenceV1, MAX_CLIENT_MATERIAL_BYTES,
37};
38pub use config::{
39    CellOperationClass, CellTransportConfig, CellTransportIdentity, ClientConfigError, CollectionSessionConfig,
40    PoolConfig, TlsTrust, ValidatedConnectionProfile, ValidatedEndpoint,
41};
42pub use credential::{
43    ActiveOperationalCredential, CredentialActivationError, CredentialActivationPlan, CredentialFuture,
44    CredentialMaterial, CredentialMaterialStoreError, CredentialProvider, CredentialProviderError,
45    EphemeralCredentialDelivery, EphemeralDeliveryFuture, FileCredentialProvider, OperationalCredentialMaterialStore,
46    PendingOperationalCredential, SecretBytes, SecretStoreFuture, StoredCredentialTransition,
47};
48pub use credential_rotation::{
49    AtomicFileCredentialMaterialStore, CREDENTIAL_ROTATION_FORMAT_VERSION, CredentialRotationError,
50    CredentialRotationIntent, CredentialRotationState, CredentialRotationTransition, RecoverableServiceCredentialFile,
51    StagedCredential, StagedServiceCredentialFile, credential_file_reference,
52};
53pub use development_workflows::{
54    DEVELOPMENT_MATERIALIZE_FORMAT_VERSION, DEVELOPMENT_PKI_SUCCESSOR_FORMAT_VERSION,
55    DEVELOPMENT_RECONCILE_FORMAT_VERSION, DevelopmentMaterializeArtifact, DevelopmentMaterializeIntent,
56    DevelopmentMaterializePrivatePlan, DevelopmentMaterializeState, DevelopmentMaterializeTransition,
57    DevelopmentPkiSuccessorArtifact, DevelopmentPkiSuccessorIntent, DevelopmentPkiSuccessorOperation,
58    DevelopmentPkiSuccessorPrivatePlan, DevelopmentPkiSuccessorState, DevelopmentPkiSuccessorTransition,
59    DevelopmentReconcileIntent, DevelopmentReconcileRoleTarget, DevelopmentReconcileState,
60    DevelopmentReconcileTerminalOutcome, DevelopmentReconcileTransition,
61};
62pub use exact_workflows::{
63    AppendExactItemResultV1, AppendExactRequestV1, AppendExactResultV1, DocumentMutationExactResultV1,
64    EXACT_MUTATION_FORMAT_VERSION, ExactExecutionV1, ExactMutationKindV1, ExactMutationOutcomeV1, ExactWorkflowClock,
65    ExactWorkflowError, ExactWorkflowOptions, ExactWorkflowRecoveryV1, ExactWorkflowStore, ReconcileIndexExactResultV1,
66    create_index_action_kind,
67};
68pub use generated::{RUST_CLIENT_METHOD_COUNT, request_command};
69pub use lodestone_wire::*;
70pub use pager::{IndexPager, PagerError, SearchPager, UsagePager};
71pub use provisioning::{
72    PROVISION_RETAINED_APPEND_FORMAT_VERSION, ProvisionCatalogPreparation, ProvisionRetainedAppendIntent,
73    ProvisionRetainedAppendState, ProvisionRetainedAppendTransition, ProvisionRolePreparation,
74    RoleAppendApplyResolution, RoleAppendAttemptClosure, profile_sha256, provision_definition_sha256,
75};
76pub use secure_publication::{
77    PublishedFileIdentity, SecureCreateNewFilePublisher, SecurePrivateDirectoryTree, SecurePublicationError,
78};
79pub use state::{AbsoluteExpiry, StateActionId, StateIndex, StateWriteOutcome};
80pub use subscription::{Subscription, SubscriptionCheckpoint, SubscriptionError};
81pub use tooling::{ToolPackError, describe_tool_operation, load_tool_pack};
82pub use transport::{
83    CallCancellation, CallOptions, CellTransport, CellTransportMetricsSnapshot, Client, ClientError, CollectionSession,
84    MAX_VERIFIED_SESSION_METADATA, ProfileVerification, SubmissionDisposition, TransportErrorKind, raw_json_text,
85};
86pub use workflow_journal::{
87    LocalOperatorWorkflowKind, MAX_WORKFLOW_JOURNAL_INTENT_BYTES, MAX_WORKFLOW_JOURNAL_RECORD_BYTES,
88    MAX_WORKFLOW_JOURNAL_RECORDS, WORKFLOW_JOURNAL_FORMAT_VERSION, WorkflowJournal, WorkflowJournalError,
89    WorkflowJournalIntent, WorkflowJournalRecordReceipt, WorkflowJournalReplay, WorkflowJournalTransition,
90    WorkflowTransactionId,
91};