#![cfg_attr(docsrs, feature(doc_cfg))]
pub mod adaptive;
pub mod auth;
pub mod check;
pub mod config;
pub mod dlq;
pub mod error;
pub mod observability;
pub mod pipeline;
#[cfg(feature = "quality")]
pub mod quality;
pub mod replication;
pub mod retry;
pub mod schema;
pub mod stage;
pub mod state;
pub mod traits;
pub mod transform;
pub mod transforming_source;
pub mod util;
#[cfg(feature = "compression")]
pub mod compression;
pub use adaptive::{
AdaptiveBatchConfig, AdjustDirection, AdjustReason, Adjustment, AimdController, Observation,
};
pub use auth::{AuthProvider, AuthReference, AuthSpec, Credential, SharedAuthProvider};
pub use check::{CheckContext, CheckReport, Probe, ProbeStatus};
pub use dlq::{DlqConfig, DlqReason, DlqStats, OnBatchError, build_envelope};
pub use error::FaucetError;
#[cfg(feature = "quality")]
pub use observability::instrumented_apply_quality;
pub use observability::{
DurationGuard, InstallError, InstallReport, InstrumentedSink, InstrumentedSource,
InstrumentedStateStore, Labels, ObservabilityConfig, PrometheusConfig, RunStreamOptions,
TracingConfig, install_observability, instrumented_apply_stages, register_build_info,
update_bookmark_lag,
};
pub use pipeline::{
DEFAULT_BATCH_SIZE, MAX_BATCH_SIZE, Pipeline, PipelineResult, StreamPage, run_stream,
validate_batch_size,
};
pub use replication::ReplicationMethod;
pub use retry::execute_with_retry;
#[cfg(feature = "transform-explode")]
pub use stage::{ExplodeSpec, OnMissing};
#[cfg(feature = "transform-filter")]
pub use stage::{FilterOp, FilterSpec};
pub use stage::{TransformStage, compile_stage};
pub use state::{FileStateStore, MemoryStateStore, StateStore};
pub use traits::{RowOutcome, Sink, Source};
#[cfg(feature = "transform-keys-case")]
pub use transform::KeyCaseMode;
pub use transform::RecordTransform;
#[cfg(feature = "transform-value-case")]
pub use transform::ValueCaseMode;
#[cfg(feature = "transform-cast")]
pub use transform::{CastOnError, CastType};
pub use transforming_source::TransformingSource;
pub use async_stream;
pub use async_trait::async_trait;
pub use futures_core::{self, Stream};
pub use schemars::{self, JsonSchema, schema_for};
pub use serde_json::{self, Value, json};
pub use tokio_util::sync::CancellationToken;
#[cfg(feature = "compression")]
pub use compression::{Compression, CompressionConfig, compress_buf, warn_mismatch};
#[cfg(feature = "quality")]
pub use quality::{
BatchCheck, CheckTally, CompareOp, CompiledQuality, JsonType, OnFailure, QualityOutcome,
QualitySpec, QuarantinedRecord, RecordCheck, apply_quality,
};