"""Agent adapters, by name.

Subprocess CLI adapters rather than SDK bindings (ADR-0003): the thing being
measured is what a developer actually runs, and an SDK reimplementation of the
harness would measure something adjacent to it.
"""

from ablate.agents.base import AgentAdapter, PreflightResult, TrialSpec, TrialTelemetry
from ablate.agents.claude_code import ClaudeCodeAdapter
from ablate.agents.codex import CodexAdapter

ADAPTERS: dict[str, type] = {
    "claude-code": ClaudeCodeAdapter,
    "codex": CodexAdapter,
}

__all__ = [
    "ADAPTERS",
    "AgentAdapter",
    "ClaudeCodeAdapter",
    "CodexAdapter",
    "PreflightResult",
    "TrialSpec",
    "TrialTelemetry",
]
