"""AI-related job handlers stubbed out for smoke import. Actual execution routes through asf-ai.AIGateway once it is wired. The handler below produces a stable HandlerResult.ok(...) carrying a placeholder payload so that consumer-loop smoke tests do not need a live LLM. """ from __future__ import annotations from asf_events.base import JobRequestEnvelope from ..handlers import HandlerResult from ..worker import WorkerDependencies async def run_ai_job(req: JobRequestEnvelope, deps: WorkerDependencies) -> HandlerResult: del deps payload = req.payload or {} handler = payload.get("handler") if isinstance(payload, dict) else None return HandlerResult.ok(job_id=req.job_id, output={"handler": handler or "ai.stub", "status": "ok"})