# File generated from our OpenAPI spec by Stainless.

from typing import Dict, List, Optional

from .._models import BaseModel

__all__ = ["KpuRunResponse", "Intent"]


class Intent(BaseModel):
    explain_steps: List[str]
    """Array of the steps of the intent explained in natural language.

    This field is an ampty array if `explain_steps` param is set to `false`
    """

    intent: int
    """Intent number, starting from 0."""

    result: str
    """The result of the intent."""

    solved: bool
    """Whether the intent was interpreted as solved by the KPU or not."""

    downloadable_files: Optional[Dict[str, str]] = None
    """Key-value of the files generated by the KPU."""


class KpuRunResponse(BaseModel):
    intents: List[Intent]
    """Array of the intents executed by the KPU."""

    result: str
    """The result of the KPU execution.

    The result may be invalid if none of the intents were successful.
    """

    downloadable_files: Optional[Dict[str, str]] = None
    """Key-value of the files generated by the KPU."""
