""" Handler registry — maps job_type strings to Handler classes. """ from typing import Dict, Type from .handlers.base import Handler _handlers: Dict[str, Type[Handler]] = {} def register_handler(job_type: str, handler_class: Type[Handler]) -> None: """Register a handler class for a job type.""" _handlers[job_type] = handler_class def get_handler(job_type: str) -> Handler: """Get an instantiated handler for a job type.""" if job_type not in _handlers: raise ValueError(f"Unknown job type: {job_type}") return _handlers[job_type]() def _register_defaults() -> None: """Register built-in handlers.""" from .handlers.chunk import ChunkHandler from .handlers.transcode import TranscodeHandler register_handler("transcode", TranscodeHandler) register_handler("chunk", ChunkHandler) _register_defaults()