from __future__ import annotations

from typing import Any

from pydantic import BaseModel


class WorkflowGenRequest(BaseModel):
    """
    Request body for POST /ai/workflow-gen.
    """

    repo_files: dict[str, str]
    directory_structure: dict[str, Any]
    codeflash_config: dict[str, Any] | None = None
    trace_id: str = ""


class WorkflowGenResponse(BaseModel):
    """
    Successful response from POST /ai/workflow-gen.
    """

    workflow_steps: str


class WorkflowGenErrorResponse(BaseModel):
    """
    Error response from POST /ai/workflow-gen.
    """

    error: str
