Skip to main content

riffdb_client_rust/
lib.rs

1#![forbid(unsafe_code)]
2
3//! Typed public gRPC client for RiffDB.
4//!
5//! This crate contains transport ergonomics only. Contract validation,
6//! authorization, idempotency, command execution, and durable recovery remain
7//! server-owned semantics.
8
9mod application;
10mod capability;
11mod client;
12mod command;
13mod credential_file;
14mod export;
15mod ids;
16mod installation;
17mod maintenance;
18mod metadata;
19mod projected;
20mod reactive;
21mod reimport;
22mod session;
23mod status;
24mod tls;
25
26/// Boundaries implemented by contract-generated ergonomic modules.
27pub mod generated;
28
29/// Exact symbolic application wire types used by the typed transport client.
30pub use riffdb_proto::app::v1 as app_v1;
31/// Exact public wire types used by the typed transport client.
32///
33/// Re-exporting the generated package lets public-API consumers construct
34/// requests without taking a second direct dependency on the Proto owner.
35pub use riffdb_proto::v1;
36#[doc(hidden)]
37pub use riffdb_proto::{canonical_value_from_proto, canonical_value_to_proto};
38#[doc(hidden)]
39pub use riffdb_types::{CanonicalValue, decode_canonical_value};
40
41pub use application::{
42    ApplicationCardinality, ApplicationCatalogFeature, ApplicationCatalogFeatureState,
43    ApplicationCatalogFeatureView, ApplicationCatalogPreflight, ApplicationClientError,
44    ApplicationCommand, ApplicationCommandResult, ApplicationContract, ApplicationRecord,
45    ApplicationResultField, ApplicationUuid, ApplicationValue, GeneratedBatchError,
46    GeneratedBatchItem, GeneratedBatchOptions, GeneratedBatchProgress, GeneratedBatchResult,
47    IdempotentTransportBatchError, MAX_GENERATED_BATCH_CONCURRENCY, NamedQuery, NamedQueryResult,
48    QueryOptions, QueryResponseIdentity, StableApplicationClient, TypedCommandResult,
49    TypedQueryResult, VectorInspectionPage, VectorModelVersionItem, VectorModelVersionSummary,
50    VectorStalenessItem, VectorStalenessSummary, VectorStateInspection, VectorStateInspectionKind,
51    VectorStateInspectionResult,
52};
53#[doc(hidden)]
54pub use application::{raise_query_result, raise_value};
55pub use capability::{
56    BootstrapCapabilityCreateTemplate, CapabilityCreateTemplateError,
57    NormalCapabilityCreateTemplate,
58};
59pub use client::{
60    CommitNotificationStream, EventConsumerResponseStream, GeneratedExecution,
61    GeneratedExecutionError, LiveQueryUpdateStream, RiffDbClient,
62};
63pub use command::{AttemptBudget, CommandShapeError, IdempotentCommand};
64pub use credential_file::{BearerCredentialFileError, load_protected_bearer_credential};
65pub use export::StartApplicationExport;
66pub use ids::{
67    IdentifierGenerationError, SystemIdSource, generate_agent_session_id,
68    generate_application_export_operation_id, generate_application_installation_campaign_id,
69    generate_capability_id, generate_contract_migration_operation_id,
70    generate_offline_maintenance_operation_id, generate_request_id,
71};
72pub use installation::StartApplicationInstallation;
73pub use maintenance::{
74    ApplyContractMigration, CheckContractMigration, ContractMigrationSubmissionError,
75    CreateOfflineBackup, RestoreArchivedBackup, RestoreOfflineBackup, RetireOfflineBackup,
76    StartOfflineStorageScrub,
77};
78pub use metadata::{
79    BearerCredential, BootstrapCallMetadata, BootstrapCredential, CallMetadata, MetadataError,
80    TraceParent,
81};
82pub use projected::{
83    ProjectedAggregate, ProjectedAggregateGroup, ProjectedAggregateValue, ProjectedDegradedReason,
84    ProjectedOrder, ProjectedPredicate, ProjectedQuery, ProjectedQueryOutcome, ProjectedReadyRow,
85    ProjectedRebuildingReason, ProjectedResponseEncoding, ProjectedSortDirection,
86    raise_projected_response_for_query,
87};
88pub use reactive::{
89    ApplicationContextualBatch, ApplicationContextualHydration, ApplicationContextualReaction,
90    ApplicationContextualWorkItem, ApplicationEvent, ApplicationEventBatch,
91    ApplicationEventCheckpoint, ApplicationEventConsumer, ApplicationEventConsumerPublicStatus,
92    ApplicationEventConsumerStatus, ApplicationEventDelivery, ApplicationEventId,
93    ApplicationEventLeaseEvidence, ApplicationEventMutationResult, ApplicationEventProgressCursor,
94    ApplicationEventPullDisposition, ApplicationEventResponseStream, ApplicationLiveQueryStream,
95    ApplicationLiveQueryUpdate, ApplicationProtectedEventConsumerStatus,
96    ApplicationReactiveOperation, EventConsumerOptions, LiveQueryCheckpoint, LiveQueryCursor,
97    LiveQueryPatch, LiveQueryPatchOperation, LiveQueryTerminal, TypedContextualBatch,
98    TypedContextualWorkItem, TypedEventBatch, TypedEventDelivery, TypedLiveQueryReset,
99    TypedLiveQuerySnapshot, TypedLiveQueryStream,
100};
101pub use reimport::StartApplicationReimport;
102/// Freshness policy and commit token types used by projected queries.
103pub use riffdb_types::{CanonicalVector, CommitToken, FreshnessPolicy, ProjectionFrontier};
104pub use session::{
105    APPLICATION_SESSION_PROTOCOL_V1, ApplicationSessionConfigurationError,
106    ApplicationSessionIdentity, MAX_APPLICATION_SESSION_IN_FLIGHT,
107};
108pub use status::{
109    ClientError, DetailsFreeStatus, OutcomeUnknown, ProtocolFailure, ProtocolFailureKind,
110};
111pub use tls::{TlsClientFailure, TlsTrustReloadStatus, VerifiedTlsConnector};
112
113pub use riffdb_errors::{
114    ApplicationError, ApplicationErrorCategory, ApplicationErrorCode, ApplicationErrorContext,
115    ApplicationFixCode, ApplicationOperation, ApplicationRecoveryAction, ApplicationSourceSpan,
116    ErrorClass, PublicError, PublicErrorDetails, PublicErrorKind, RecoveryAction, ValidationCode,
117    ValidationIssue, ValidationIssues, ValidationPath, ValidationPathSegment,
118};
119pub use riffdb_types::{
120    ApplicationExportOperationId, ApplicationExportSelectionV1, ApplicationInstallationCampaignId,
121    ArchiveNameV1, ArchiveRestoreStopV1, BackupNameV1, BackupNameV1Error,
122    CapabilityApplicationExportScopeV1, CapabilityApplicationReimportScopeV1, CommitSequence,
123    ContractMigrationOperationId, DEFAULT_DATABASE_ALIAS, DatabaseAlias, MigrationBundleHash,
124    OfflineMaintenanceOperationId, OfflineMaintenanceReplacementConfirmation, RequestId, TenantId,
125};