"""FlowNet data contracts and processing library (user-space)."""

from .contract_injection import (
    ExperimentRowMapper,
    ExperimentRowMapperProtocol,
    map_experiment_row,
)
from .contracts import ExperimentMeta, ExperimentRow, RunManifest, stable_json_fingerprint
from .contracts import (
    EXPERIMENT_ROW_CONTRACT_VERSION,
    RUN_MANIFEST_CONTRACT_VERSION,
)
from .manifest import build_run_manifest, compute_operator_chain_fingerprint
from .pipeline import DatasetPipeline, StreamBridgeCheckpoint
from .adapters import (
    SageDataMappingContext,
    build_sagedata_mapper,
    default_sagedata_row_mapper,
    iter_sagedata_rows,
    map_sagedata_row,
)
from .connectors import (
    DEFAULT_MAX_JSONL_LINE_BYTES,
    DEFAULT_MAX_PANDAS_FALLBACK_BYTES,
    ConnectorCheckpoint,
    ConnectorError,
    ConnectorQualityStats,
    batch_to_format,
    chunked,
    iter_image_rows,
    iter_jsonl,
    iter_parquet,
    iter_tfrecord_rows,
)

__all__ = [
    "ExperimentMeta",
    "ExperimentRow",
    "RunManifest",
    "EXPERIMENT_ROW_CONTRACT_VERSION",
    "RUN_MANIFEST_CONTRACT_VERSION",
    "stable_json_fingerprint",
    "ExperimentRowMapper",
    "ExperimentRowMapperProtocol",
    "map_experiment_row",
    "compute_operator_chain_fingerprint",
    "build_run_manifest",
    "DatasetPipeline",
    "StreamBridgeCheckpoint",
    "SageDataMappingContext",
    "default_sagedata_row_mapper",
    "build_sagedata_mapper",
    "map_sagedata_row",
    "iter_sagedata_rows",
    "DEFAULT_MAX_JSONL_LINE_BYTES",
    "DEFAULT_MAX_PANDAS_FALLBACK_BYTES",
    "ConnectorCheckpoint",
    "ConnectorError",
    "ConnectorQualityStats",
    "chunked",
    "iter_jsonl",
    "iter_parquet",
    "iter_image_rows",
    "iter_tfrecord_rows",
    "batch_to_format",
]
