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

from __future__ import annotations
from .tooldefinition import ToolDefinition, ToolDefinitionTypedDict
from syllable_sdk.types import BaseModel
from typing_extensions import TypedDict


class ToolCreateRequestTypedDict(TypedDict):
    r"""Request model to create a tool."""

    name: str
    r"""The name of the tool"""
    definition: ToolDefinitionTypedDict
    r"""A tool that can be called from an LLM during the conversation. See https://docs.syllable.ai/Resources/Tools."""
    service_id: int
    r"""Internal ID of the service to which the tool belongs"""


class ToolCreateRequest(BaseModel):
    r"""Request model to create a tool."""

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

    definition: ToolDefinition
    r"""A tool that can be called from an LLM during the conversation. See https://docs.syllable.ai/Resources/Tools."""

    service_id: int
    r"""Internal ID of the service to which the tool belongs"""
