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

from __future__ import annotations
from .chatcontentitems import ChatContentItems, ChatContentItemsTypedDict
from openrouter.types import BaseModel
from typing import List, Literal, Union
from typing_extensions import TypeAliasType, TypedDict


ChatToolMessageContentTypedDict = TypeAliasType(
    "ChatToolMessageContentTypedDict", Union[str, List[ChatContentItemsTypedDict]]
)
r"""Tool response content"""


ChatToolMessageContent = TypeAliasType(
    "ChatToolMessageContent", Union[str, List[ChatContentItems]]
)
r"""Tool response content"""


ChatToolMessageRole = Literal["tool",]


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

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


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

    content: ChatToolMessageContent
    r"""Tool response content"""

    role: ChatToolMessageRole

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