XmLLM / src /app /providers /runtimes /api_runtime.py
Claude
Code quality: fix all ruff warnings, add CI/CD, improve test coverage
bbbfba8 unverified
Raw
History Blame Contribute Delete
1.1 kB
"""API runtime — calls an external HTTP endpoint."""
from __future__ import annotations
from typing import TYPE_CHECKING, Any
from src.app.providers.runtimes.base import BaseRuntime
if TYPE_CHECKING:
from pathlib import Path
from src.app.domain.models import RawProviderPayload
class ApiRuntime(BaseRuntime):
"""Runtime that calls an external API endpoint.
Supports OpenAI-compatible and custom endpoints.
In V1 this is a skeleton — actual HTTP calls will be added
when API-based providers are integrated.
"""
def __init__(self, timeout: int = 60, max_retries: int = 2) -> None:
self._timeout = timeout
self._max_retries = max_retries
def execute(
self,
image_path: Path,
model_id: str,
*,
options: dict[str, Any] | None = None,
) -> RawProviderPayload:
raise NotImplementedError(
"ApiRuntime.execute is not yet implemented. "
"In V1, provide raw payloads directly to the job service."
)
def is_available(self) -> bool:
return True