| from __future__ import annotations | |
| from dataclasses import dataclass | |
| from typing import Any, Dict, Protocol | |
| from service.tasks import TaskRecord | |
| class EngineRunOutput: | |
| raw: Any | |
| normalized: Any | |
| meta: Dict[str, Any] | |
| def to_dict(self) -> Dict[str, Any]: | |
| return {"raw": self.raw, "normalized": self.normalized, "meta": self.meta} | |
| class Engine(Protocol): | |
| name: str | |
| def run(self, task: TaskRecord) -> EngineRunOutput: ... | |