import type { QueueAdapter, QueueConfig } from './types.js'; type QueueType = QueueConfig['type']; const registry = new Map QueueAdapter>(); export function registerQueueAdapter( type: QueueType, factory: (config: QueueConfig) => QueueAdapter, ): void { registry.set(type, factory); } export function createQueueAdapter(config: QueueConfig): QueueAdapter { const factory = registry.get(config.type); if (!factory) throw new Error(`No adapter registered for type: ${config.type}`); return factory(config); }