"""Queue manager abstraction prepared for RQ or Celery adoption."""

from __future__ import annotations

import uuid
from datetime import datetime, timezone
from typing import Any


class QueueManager:
    """Submit jobs through a stable API while the backend remains pluggable."""

    def enqueue(self, *, job_name: str, payload: dict[str, Any], queue_name: str = "default") -> dict[str, Any]:
        return {
            "job_id": str(uuid.uuid4()),
            "job_name": job_name,
            "queue_name": queue_name,
            "payload": payload,
            "status": "queued",
            "queued_at": datetime.now(timezone.utc).isoformat(),
        }

