"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""

from __future__ import annotations
from gram_ai.types import BaseModel
from typing import List, Optional
from typing_extensions import NotRequired, TypedDict


class ToolVariationTypedDict(TypedDict):
    created_at: str
    r"""The creation date of the tool variation"""
    group_id: str
    r"""The ID of the tool variation group"""
    id: str
    r"""The ID of the tool variation"""
    src_tool_name: str
    r"""The name of the source tool"""
    updated_at: str
    r"""The last update date of the tool variation"""
    confirm: NotRequired[str]
    r"""The confirmation mode for the tool variation"""
    confirm_prompt: NotRequired[str]
    r"""The confirmation prompt for the tool variation"""
    description: NotRequired[str]
    r"""The description of the tool variation"""
    name: NotRequired[str]
    r"""The name of the tool variation"""
    summarizer: NotRequired[str]
    r"""The summarizer of the tool variation"""
    summary: NotRequired[str]
    r"""The summary of the tool variation"""
    tags: NotRequired[List[str]]
    r"""The tags of the tool variation"""


class ToolVariation(BaseModel):
    created_at: str
    r"""The creation date of the tool variation"""

    group_id: str
    r"""The ID of the tool variation group"""

    id: str
    r"""The ID of the tool variation"""

    src_tool_name: str
    r"""The name of the source tool"""

    updated_at: str
    r"""The last update date of the tool variation"""

    confirm: Optional[str] = None
    r"""The confirmation mode for the tool variation"""

    confirm_prompt: Optional[str] = None
    r"""The confirmation prompt for the tool variation"""

    description: Optional[str] = None
    r"""The description of the tool variation"""

    name: Optional[str] = None
    r"""The name of the tool variation"""

    summarizer: Optional[str] = None
    r"""The summarizer of the tool variation"""

    summary: Optional[str] = None
    r"""The summary of the tool variation"""

    tags: Optional[List[str]] = None
    r"""The tags of the tool variation"""
