Add FeedOrchestrator that coordinates fetch→parse→dedup→store pipeline: - FeedSource type for managing RSS/Atom feed configurations - Feed source CRUD operations in IStorage interface - Database schema migration for feed_sources table - Exponential backoff retry with configurable delays - Per-feed poll intervals with health tracking - Concurrency-limited parallel feed processing - ProcessResult and FeedHealth interfaces for status monitoring Files added: - orchestrator/orchestrator.ts - main orchestrator class - orchestrator/scheduler.ts - backoff calculation utilities - orchestrator/index.ts - module exports - orchestrator/orchestrator.test.ts - comprehensive test suite Files modified: - interfaces/feed.types.ts - add FeedSource type - interfaces/storage.interface.ts - extend with feed source methods - infrastructure/db/database.ts - add FeedSourceTable interface - infrastructure/db/schema.ts - add feed_sources table migration - modules/storage/storage.ts - implement feed source CRUD - modules/storage/storage.test.ts - add feed source tests
18 lines
345 B
TypeScript
18 lines
345 B
TypeScript
/**
|
|
* Orchestrator module exports.
|
|
* Coordinates fetching, parsing, deduplication, and storage of feed items.
|
|
*/
|
|
|
|
export {
|
|
FeedOrchestrator,
|
|
type OrchestratorOptions,
|
|
type ProcessResult,
|
|
type FeedHealth,
|
|
} from './orchestrator.js';
|
|
|
|
export {
|
|
calculateNextDelay,
|
|
calculateJitter,
|
|
createConcurrencyLimit,
|
|
} from './scheduler.js';
|