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

from __future__ import annotations
from .chatmessagecontentitem import (
    ChatMessageContentItem,
    ChatMessageContentItemTypedDict,
)
from openrouter.types import BaseModel
from typing import List, Literal, Union
from typing_extensions import TypeAliasType, TypedDict


ToolResponseMessageRole = Literal["tool",]


ToolResponseMessageContentTypedDict = TypeAliasType(
    "ToolResponseMessageContentTypedDict",
    Union[str, List[ChatMessageContentItemTypedDict]],
)
r"""Tool response content"""


ToolResponseMessageContent = TypeAliasType(
    "ToolResponseMessageContent", Union[str, List[ChatMessageContentItem]]
)
r"""Tool response content"""


class ToolResponseMessageTypedDict(TypedDict):
    r"""Tool response message"""

    role: ToolResponseMessageRole
    content: ToolResponseMessageContentTypedDict
    r"""Tool response content"""
    tool_call_id: str
    r"""ID of the assistant message tool call this message responds to"""


class ToolResponseMessage(BaseModel):
    r"""Tool response message"""

    role: ToolResponseMessageRole

    content: ToolResponseMessageContent
    r"""Tool response content"""

    tool_call_id: str
    r"""ID of the assistant message tool call this message responds to"""
