import log4js from "logger"; const logger = log4js.getLogger("SCHEDULER"); export type TaskHandler = ( payload?: Record ) => Promise<{ success: boolean; message: string }>; const registry = new Map(); export function registerTask(name: string, handler: TaskHandler): void { if (registry.has(name)) { logger.warn("Task '%s' is already registered, overwriting", name); } registry.set(name, handler); logger.info("Registered task: %s", name); } export function hasTask(name: string): boolean { return registry.has(name); } export function listRegisteredTasks(): string[] { return Array.from(registry.keys()); } export function getTaskHandler(name: string): TaskHandler | undefined { return registry.get(name); }