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

from __future__ import annotations
from .dialogmessage import DialogMessage, DialogMessageTypedDict
from .dialogrole import DialogRole
from .dialogtoolcall import DialogToolCall, DialogToolCallTypedDict
from datetime import datetime
from syllable_sdk.types import BaseModel
from typing import List
from typing_extensions import TypedDict


class SessionMessageTypedDict(TypedDict):
    role: DialogRole
    r"""Role of dialog"""
    dialog: DialogMessageTypedDict
    tool_calls: List[DialogToolCallTypedDict]
    r"""Tool calls"""
    timestamp: datetime
    r"""Message timestamp"""


class SessionMessage(BaseModel):
    role: DialogRole
    r"""Role of dialog"""

    dialog: DialogMessage

    tool_calls: List[DialogToolCall]
    r"""Tool calls"""

    timestamp: datetime
    r"""Message timestamp"""
