[console_scripts]
agora = agora.cli.main:main

[agora.middlewares]
ai_batch = agora.middlewares.ai.batch:AIBatchMiddleware
ai_classify = agora.middlewares.ai.classify:AIClassifyMiddleware
ai_enrich = agora.middlewares.ai.enrich:AIEnrichMiddleware
ai_extract = agora.middlewares.ai.extract:AIExtractMiddleware
ai_translate = agora.middlewares.ai.translate:AITranslateMiddleware
ai_validate = agora.middlewares.ai.validate:AIValidateMiddleware
enrich = agora.middlewares.enrich:EnrichMiddleware
validate = agora.middlewares.validate:ValidateMiddleware

[agora.middlewares.dedup.stores]
memory = agora.middlewares.dedup.stores.memory:InMemoryStore

[agora.middlewares.dedup.strategies]
exact = agora.middlewares.dedup.strategies.exact:ExactMatchStrategy
fuzzy = agora.middlewares.dedup.strategies.fuzzy:FuzzyMatchStrategy

[agora.runner]
scheduled = agora.runner.scheduled:ScheduledPipeline
worker_pool = agora.runner.worker:WorkerPool

[agora.sinks]
csv = agora.sinks.file.csv:CsvSink
jsonl = agora.sinks.file.jsonlines:JsonLinesSink
log = agora.sinks.io.log:LogSink
parquet = agora.sinks.file.parquet:ParquetSink
stdout = agora.sinks.io.stdout:StdoutSink
webhook = agora.sinks.http.webhook:WebhookSink

[agora.sources]
csv = agora.sources.file.csv:CsvSource
http = agora.sources.http.http:HTTPSource
jsonl = agora.sources.file.jsonlines:JsonLinesSource
parquet = agora.sources.file.parquet:ParquetSource
