1#![cfg_attr(docsrs, feature(doc_cfg))]
2
3pub mod adaptive;
17pub mod auth;
18pub mod check;
19pub mod config;
20pub mod dlq;
21pub mod error;
22pub mod idempotency;
23pub mod observability;
24pub mod pipeline;
25#[cfg(feature = "quality")]
26pub mod quality;
27pub mod replication;
28pub mod retry;
29pub mod schema;
30pub mod stage;
31pub mod state;
32pub mod traits;
33pub mod transform;
34pub mod transforming_source;
35pub mod util;
36pub mod write_mode;
37
38#[cfg(feature = "compression")]
39pub mod compression;
40
41pub use adaptive::{
42 AdaptiveBatchConfig, AdjustDirection, AdjustReason, Adjustment, AimdController, Observation,
43};
44pub use auth::{AuthProvider, AuthReference, AuthSpec, Credential, SharedAuthProvider};
45pub use check::{CheckContext, CheckReport, Probe, ProbeStatus};
46pub use dlq::{DlqConfig, DlqReason, DlqStats, OnBatchError, build_envelope};
47pub use error::FaucetError;
48pub use idempotency::{DeliveryMode, format_token, parse_token, unwrap_state, wrap_state};
49#[cfg(feature = "quality")]
50pub use observability::instrumented_apply_quality;
51pub use observability::{
52 DurationGuard, InstallError, InstallReport, InstrumentedSink, InstrumentedSource,
53 InstrumentedStateStore, Labels, ObservabilityConfig, PrometheusConfig, RunStreamOptions,
54 TracingConfig, install_observability, instrumented_apply_stages, register_build_info,
55 update_bookmark_lag,
56};
57pub use pipeline::{
58 DEFAULT_BATCH_SIZE, MAX_BATCH_SIZE, Pipeline, PipelineResult, StreamPage, run_stream,
59 validate_batch_size,
60};
61pub use replication::ReplicationMethod;
62pub use retry::execute_with_retry;
63#[cfg(feature = "transform-cdc-unwrap")]
64pub use stage::CdcUnwrapSpec;
65#[cfg(feature = "transform-explode")]
66pub use stage::{ExplodeSpec, OnMissing};
67#[cfg(feature = "transform-filter")]
68pub use stage::{FilterOp, FilterSpec};
69pub use stage::{TransformStage, compile_stage};
70pub use state::{FileStateStore, MemoryStateStore, StateStore};
71pub use traits::{RowOutcome, Sink, Source};
72#[cfg(feature = "transform-keys-case")]
73pub use transform::KeyCaseMode;
74pub use transform::RecordTransform;
75#[cfg(feature = "transform-value-case")]
76pub use transform::ValueCaseMode;
77#[cfg(feature = "transform-cast")]
78pub use transform::{CastOnError, CastType};
79pub use transforming_source::TransformingSource;
80pub use util::redact_uri_credentials;
81pub use write_mode::{
82 DeleteMarker, KeyTuple, WriteMode, WritePlan, WriteSpec, key_to_doc_id, key_to_filter,
83 plan_writes,
84};
85
86pub use async_stream;
89pub use async_trait::async_trait;
90pub use futures_core::{self, Stream};
91pub use schemars::{self, JsonSchema, schema_for};
92pub use serde_json::{self, Value, json};
93pub use tokio_util::sync::CancellationToken;
97
98#[cfg(feature = "compression")]
99pub use compression::{Compression, CompressionConfig, compress_buf, warn_mismatch};
100
101#[cfg(feature = "quality")]
102pub use quality::{
103 BatchCheck, CheckTally, CompareOp, CompiledQuality, JsonType, OnFailure, QualityOutcome,
104 QualitySpec, QuarantinedRecord, RecordCheck, apply_quality,
105};