from inline_snapshot import snapshot

from mirascope.llm import (
    AssistantMessage,
    SystemMessage,
    Text,
    ToolCall,
    ToolOutput,
    UserMessage,
)

sync_snapshot = snapshot(
    {
        "response": {
            "provider_id": "google",
            "model_id": "google/gemini-2.5-flash",
            "provider_model_name": "gemini-2.5-flash",
            "params": {},
            "finish_reason": None,
            "usage": {
                "input_tokens": 268,
                "output_tokens": 262,
                "cache_read_tokens": 0,
                "cache_write_tokens": 0,
                "reasoning_tokens": 213,
                "provider_tool_usage": None,
                "raw": """\
cache_tokens_details=None cached_content_token_count=None candidates_token_count=49 candidates_tokens_details=None prompt_token_count=268 prompt_tokens_details=[ModalityTokenCount(
  modality=<MediaModality.TEXT: 'TEXT'>,
  token_count=268
)] thoughts_token_count=213 tool_use_prompt_token_count=None tool_use_prompt_tokens_details=None total_token_count=530 traffic_type=None\
""",
                "total_tokens": 530,
            },
            "messages": [
                SystemMessage(
                    content=Text(
                        text="Always respond to the user's query using the __mirascope_formatted_output_tool__ tool for structured output."
                    )
                ),
                UserMessage(
                    content=[
                        Text(
                            text="Please look up the book with ISBN 0-7653-1178-X and provide detailed info and a recommendation score"
                        )
                    ]
                ),
                AssistantMessage(
                    content=[
                        ToolCall(
                            id="google_unknown_tool_id",
                            name="get_book_info",
                            args='{"isbn": "0-7653-1178-X"}',
                        )
                    ],
                    provider_id="google",
                    model_id="google/gemini-2.5-flash",
                    provider_model_name="gemini-2.5-flash",
                    raw_message={
                        "parts": [
                            {
                                "media_resolution": None,
                                "code_execution_result": None,
                                "executable_code": None,
                                "file_data": None,
                                "function_call": {
                                    "id": None,
                                    "args": {"isbn": "0-7653-1178-X"},
                                    "name": "get_book_info",
                                    "partial_args": None,
                                    "will_continue": None,
                                },
                                "function_response": None,
                                "inline_data": None,
                                "text": None,
                                "thought": None,
                                "thought_signature": b'\n\xea\x07\x01r\xc8\xda|T_\xb6\x96\xb9p\x99Z\xf7\xabr\x8bj_\xc9d$y\x1f\xca\x1a\x92>`\xfd\xfeO\xdf\x85f\xceQ~\x84\xc4\xb4jr\xc0\xfef\x12\xf9\xb5y\xe1[\xdb\xe7y\xf8?\xc0\xaf\xe6\xf1\xafIF\xe2\x0c\x1d~~\xe8\xe7\xa71I.\xd0\xf0\x0f\xd3\x82W\x1a\x97D\xb5M\xcf\xcaH%C\xbd{\xe0\x82k\x14\xd5x\x98!\x16\xfb\x95r<ij\x1d\x9e\x18\x92\xab0<\xf32z\x82\x1c\x92\xfb\xb53\xe2\xe4\xad  Xa\xef\xf66\x8d`m\xc9\x96\xf0\xa9^\xf8G\xa2h\xef\xfe\x8f\nE\xabE\x1e\x1e=\xe5\xc4\x1f\x96\xa0#i\x87U\x01\xcc\x83\xd03\xee2 7g]\x8f\x90\\\xf6O\xea\x88\x81\x9b\xd9#\xfe\xe7\xee\xa3.\x94^Tc\xe4Z\xd355\x8c\xed\x85\x9c?\x9c\x0b\xfe\xf0\xe7\x1b\xe72Z\xeaL\xb7V3Pp\xa6<\xc06C\xadu\x94\xf2\xa9p$\x9f~\xc5Q\xc3\xe8\xa7\xacJ\xcc\x81\x8cK\x0f\x9a\xa6@\xef\x9f\xc7#4\xa49q\xdf\xeax\x8b\x88\xd1dRy\xb54=\xe8\xbcz\x85\x9a\xfc\x1e\xb3\x0f\xeez?\x16\xf1,\x80\x16\x1eM\x94\x8fC<s\xe6-\x7f\xcf\xc3<\x03c^8\xd8\x1cS\x11\x84\n7\xbb\xea\x07\x90\x17\x17\x06\xf3"~\xea"\xb4\xeb\xfa\xa2H\xd2\x98\xaai\xc2C\xe8\xae}\xc0\xb8b|\x1c\xc9\xea1&\x14\xee1\xa2\x96h\x11\xc3\xa5>\x9c\xdc\xd8\xb10Q\x8cPo\xaa\x8co$\x8c\x8do\x96\xe5LrY\xfe\xaf#\xbb\x83\x92\xce\xd6\xd7\xdcb\n4\xc2\x80\x00\x02\xeb\xab \x7f\x7fqq\x08Z\xda)!\xe3\x82%D\xaa!\xd2\x15`[\x1b|A\x137v\xa4[p\xd1\x9en6\xc6$\xcc\x8b\x04\xca\x11;wu\xe9\x18\x98\xbf\xd6\xf2\xbbp{\\}{\x9fW\xf9\xae\x82\xc8\xb7kbl\x9e\xa0\xee\xa1\xe7\t\x82\xd7#\x14\xbd\x97\x9dM3\xf1"=-\xc8J\x9d\xc9\xcc6\x05\x01H\xf5\x87z\xbb\x05,\xbfr\xb0z\x8d&\xd8\xf37\xfdM\x83\x8c\xa2\xd1\t<\xa1\xac\xd6\x1bo\xdc\x85\xe0\xe6\x88\xf3\xa2\\\xb7\x93\xe8=@\xbd\x16d0\x07\x03et6\xde\xff\xb3\x16\xc1\xb2\x00\xe0\x05\xab\x1ft\x1c\xa4Bct\xa3OYF\xa4\x82\xf7\x02\x0c-\x9f\x9b\x81\xcb\x89\xbf\x86\x1cqVM\xd7\x99\xd0\xb0\xd2\x7fT\xc2\x00\xb80"\x8b\x9e\xa2\xb2\x0f\xbb;O$\xfcO\x8f8L\xb91\x8b\x9b\x8e\x9f\xf1\xda\xe2\x9c\xc6\x9d!\xe7,AYK\x7f\xa94c|\xcb\x17\xc1\xc4\xf6\x94HXq\x1f\xf1\nZ\x17\xaca<T\xb6\xa2\x02Fg(\x93\xdaO\x17E\xb9\xd8\xa9\xaa\x17\xeb\xabx\x93\x8dh\x8c\xa9A\xf3\\\xe8}N[\x1d\x9f\x94\x93P\xd0\xa2\x7f\x11\x01\xfaz\x1fl\x1f\xd3\xeb\x05<\xa3?\xe8pO\x0c\xeaCr\xb5\n\xd1\xf1 \xadJy\xffqS\xda\xed\xb5\xe3\xdd\\\xf4\xa4]\x1cn\xbb\xf7@\x98I\xa2\xa2jk\xcbj\x1dp\x15k\xaf\xca\xce\xc1*]\x18.\xc17#\xc0S\xd8\x9cU\xce\xd1\x86R\xf2H\xe5\x06c\xfbce\x8dCvQ=0B\xa8\xa1Z!\x1b\xec\x04\xd0YB\xe99\x01\xed-%;VC\xf3\'H\x9d\x90f\xb3v\x0f\x88k\xff\x95y\xdb\x8a8\x12L\x95\xfdV\xc3\x13\xc4\xf4\x8c\r\x13X\xb8U\x84\x13\xb3\x0c\xe0\x1fJ\x9dX\\|\xa2\x19\x1b\xc4\xb7s)\xad9\x9c\xca\xc7\xd6g\x14\x03BV\xc3\xb8\x90\x14\xbab\x81E\xc3\x08\xf8~\xf73B\xa0\xca\xf5\x1c\xfc\xff\xfb%\xf2A\x95\xd3=\xe8l\x81\xa0/;\x19Uh\xddV\xc0%\xfc4\xf2q\xa2\xda\xd8\x1c\x97,\',N=\x1f?\xf6t;SFc\xda\x8c\n\x0e\x83\xcc\x84\xfc\xb2\x1e\x15\xc9\xf2\xa2\x99\xad/y\xf4\xa4,\xa4\xf3\xcb]<\x12?Q\x8f/^\xb3\xac\xdb\xe9\xa2\xf8<\xfa+\xeb\x04\xeb\x16\x89,\xda2\xe7\x9a\xb0N\xd1\xe5\xdaucH\x11\x1e\xd6\xce\x93\t\x89\x89\xde\xb4\xe0\xef\xb5\r,\xe9>\x93G\xd5k\xed\xf7\xb7',
                                "video_metadata": None,
                            }
                        ],
                        "role": "model",
                    },
                ),
                UserMessage(
                    content=[
                        ToolOutput(
                            id="google_unknown_tool_id",
                            name="get_book_info",
                            result="Title: Mistborn: The Final Empire, Author: Brandon Sanderson, Pages: 544, Published: 2006-07-25",
                        )
                    ]
                ),
                AssistantMessage(
                    content=[
                        Text(
                            text='{"author": "Brandon Sanderson", "publication_year": 2006, "title": "Mistborn: The Final Empire", "pages": 544}'
                        )
                    ],
                    provider_id="google",
                    model_id="google/gemini-2.5-flash",
                    provider_model_name="gemini-2.5-flash",
                    raw_message={
                        "parts": [
                            {
                                "media_resolution": None,
                                "code_execution_result": None,
                                "executable_code": None,
                                "file_data": None,
                                "function_call": {
                                    "id": None,
                                    "args": {
                                        "author": "Brandon Sanderson",
                                        "publication_year": 2006,
                                        "title": "Mistborn: The Final Empire",
                                        "pages": 544,
                                    },
                                    "name": "__mirascope_formatted_output_tool__",
                                    "partial_args": None,
                                    "will_continue": None,
                                },
                                "function_response": None,
                                "inline_data": None,
                                "text": None,
                                "thought": None,
                                "thought_signature": b"\n\xe0\x06\x01r\xc8\xda|R\x18\x8d\xe0\x91\xd9\x11Go\xb9\xe3v\xee\x93F^\xc1I?\xc2\x0c\xdb\xca\xdf\x16\x16cn\x96\x83\xbed\xfe\x96\xfc\x16\xa1\xe3\xd99\x1c\xd2=x\x00P!\xe3\x8a\xa8\nm\x88\x9f\xdfp\xdf\x1c\x82N\x0cE&\xc4\xf7\xf5\xe5\xf2\x9e\x8a\xd2{\x9f\xd8\xbf\xba\x1ei\xe7\xf9\x0b3\x8a\xabf~\xaaE\xb5\xeec\xfd\xb4j\n8\xa9\x80\xa9\xb4O4[<\xa4\x88\xe8\x8d\xcb\xa6gac4\xca.\xdbt\x19\x10\xec\xa4$\x10!\x03\xd2\x14V4\xfawXf\x80\xb5\xb4\x9bI\xe7\xbeU\xa4-\xa6a\x96\xdb]\xe8\x8bG\xcf\x86W\xaa4lG]i\xfb\x066\xa0\xc4\xc0\xbf\x18\xdb;\x02Nw\xb7\xb3/\xbf\xf3v\x1a\xa4\xae\xeb\t\xbci\xcc\xca~9\xea|+\xed\x97\x1f\xbf\x90\xb4\xae\x12\xa9]\xb8\xa7w\xd0+G\xbc\x0brqD~.W\x14\xab:;\x86\x0c\xbb\x08\xb1rs\x1a6\xfa+\x14\x03x\xbe\xfa\x8fb\xd4U\\\x12\xd5\x9f)\xbe\x0f\xb8=5\x15d\rEc\xdd\x95\x1f+\x8c\xb0\xac\xa1|?\xbd;\xb5\xc1\x16\x851\xf5\x85n\xca{8\x9e\x89\xf2Y\xa2s\x16H\xb7~\xe0\xfd#\xaaF\x08\x1f;N\x9f\xa6X\xe6\xe1Jz\x15\xdaO\xfe\x8c\xf5\xa6\xfcCp[+\xd3\x9b\x0c2\xcf\x1a\xd7\xe7\x83z\x0e\x11\xfdg7d\xc26\x10\x08?\xab\x17\x90O_3\xa5!\x0c\xde\xc51\xc0\xf3\x0cD\xd5,\x96\xc8ZV\x12\xde\xd0\xa7\x07\x16\xe4Z\xeel\x17*\xf1\x84\x1eK\xf4\xc7\x0e\xd9\x9e\xc1\x1c\xd1fd\xb49wn\x02Q\"n=\xb4\xeamIwI|B\x8e\xb5\xb3\x07\xbf\xa9\x90\x07C\xe8\xc3\xef2\xae\x80(\x1d\xc0\xe7\x13V\xb1\\S\x85\x00\xb9\xf2NReJ\xef\x91s\x97\x13\xfa\xe9\x13]\xbe\\\xea\x11\x03/\xc8a\x7f\xbc>\xc0\xd3\x7f\xf4\xf9\xf6M\x0c{\xd9\xdc\xf7\xe6r\x1b\xff\xf4=\x0c\xb83\xdd\xf7\xed\x012\xba\xc9U\x99\x84\xb5k\x81\xc6\xe8\x86\x14\xcd\x16\x16\x9bw\x02\xd0\xc2\x01\xe8\xd7d\xe8\xa9\xf1\xdb\xb4\xa9'R\x00vC\xa5\xa8\xc7\x08\xeaGE\x04\xdel\xd8W\xc4h\x129\x8b\xd9\xfa\xa8I8i\x18m\xc6?\xba\xad\xb2\xdd\xb4U3p\x0cw\r\xda\x08I\xda\x16Y\x02vL\x1bg\x9b\xe9\xa9\xf5\xdf\xf7\xa2\x9a\x9e\x96\xd0\xe3\xaa/\x9c\x8af\xed\xf3\xe3\xd8\x84G|\xb3\xb1\xff&Yu\xb8\x08\x95j\xdc'\xdc\xe1y/\x11q\xc5kwb(\x18T\x8a<\xf2D\xb1\x8f\xc8\xf8\x96\xfc\xad\r0wto\x8da\x8c,\xa4%\xe7\x9aEW\x9ek\xe7\x8d\xf1\xaf\xa77\x9b`\xa3\x07\xb8\x9a\xdc\x9fc\xf4  C\x86dW\x9dC\xf7=\x13Pj>\x1fl\xfbn\xd0\xa5 -\xd4\xb5\x905\xd1;\x90{\xbfo\xba|\xcb\x85q\xda.k.\x0fy\xb0\x85+\x8f\xdf\xb9\xe2\x9fX\x87\xda65\xac\xaeP\x91\xd7\xf1J\x8de\xc3W \xde/6~\x1a\xb6\x83\x10\xbb2\x86{I`5k\x06\r\x040\xde~\xfb\xb4\xc0;}+T\xedV\r\x0b\xee\xc5\xca4\r[5\x82x\xec\xd4\x02t\xf6\x04\xeb0(\x1az\xe0@G\x05\xe1\xfc\xa3jEyV\xeaH{\xe6\x08\xae\x01Xn\xc9\x07\x1f\xece\xd6\xec\xdbK@\xb4O\xf7n7\x00\x84\x0c\xd6x\x99\xa5\xe4t\xe4U\x0b\xa1\xfd\xbe\x81KPR\xa2\xf12\x90\x8f3)\xa4cCE\x887\x0c\x98\x13I\xe8\x9b\x16\xfd\x8b4\x85\xc8",
                                "video_metadata": None,
                            }
                        ],
                        "role": "model",
                    },
                ),
            ],
            "format": {
                "name": "BookSummary",
                "description": None,
                "schema": {
                    "properties": {
                        "title": {"title": "Title", "type": "string"},
                        "author": {"title": "Author", "type": "string"},
                        "pages": {"title": "Pages", "type": "integer"},
                        "publication_year": {
                            "title": "Publication Year",
                            "type": "integer",
                        },
                    },
                    "required": ["title", "author", "pages", "publication_year"],
                    "title": "BookSummary",
                    "type": "object",
                },
                "mode": "tool",
                "formatting_instructions": "Always respond to the user's query using the __mirascope_formatted_output_tool__ tool for structured output.",
            },
            "tools": [
                {
                    "name": "get_book_info",
                    "description": "Look up book information by ISBN.",
                    "parameters": """\
{
  "properties": {
    "isbn": {
      "title": "Isbn",
      "type": "string"
    }
  },
  "required": [
    "isbn"
  ],
  "additionalProperties": false,
  "defs": null
}\
""",
                    "strict": None,
                }
            ],
        }
    }
)
async_snapshot = snapshot(
    {
        "response": {
            "provider_id": "google",
            "model_id": "google/gemini-2.5-flash",
            "provider_model_name": "gemini-2.5-flash",
            "params": {},
            "finish_reason": None,
            "usage": {
                "input_tokens": 268,
                "output_tokens": 277,
                "cache_read_tokens": 0,
                "cache_write_tokens": 0,
                "reasoning_tokens": 228,
                "provider_tool_usage": None,
                "raw": """\
cache_tokens_details=None cached_content_token_count=None candidates_token_count=49 candidates_tokens_details=None prompt_token_count=268 prompt_tokens_details=[ModalityTokenCount(
  modality=<MediaModality.TEXT: 'TEXT'>,
  token_count=268
)] thoughts_token_count=228 tool_use_prompt_token_count=None tool_use_prompt_tokens_details=None total_token_count=545 traffic_type=None\
""",
                "total_tokens": 545,
            },
            "messages": [
                SystemMessage(
                    content=Text(
                        text="Always respond to the user's query using the __mirascope_formatted_output_tool__ tool for structured output."
                    )
                ),
                UserMessage(
                    content=[
                        Text(
                            text="Please look up the book with ISBN 0-7653-1178-X and provide detailed info and a recommendation score"
                        )
                    ]
                ),
                AssistantMessage(
                    content=[
                        ToolCall(
                            id="google_unknown_tool_id",
                            name="get_book_info",
                            args='{"isbn": "0-7653-1178-X"}',
                        )
                    ],
                    provider_id="google",
                    model_id="google/gemini-2.5-flash",
                    provider_model_name="gemini-2.5-flash",
                    raw_message={
                        "parts": [
                            {
                                "media_resolution": None,
                                "code_execution_result": None,
                                "executable_code": None,
                                "file_data": None,
                                "function_call": {
                                    "id": None,
                                    "args": {"isbn": "0-7653-1178-X"},
                                    "name": "get_book_info",
                                    "partial_args": None,
                                    "will_continue": None,
                                },
                                "function_response": None,
                                "inline_data": None,
                                "text": None,
                                "thought": None,
                                "thought_signature": b"\n\xd3\x0b\x01r\xc8\xda|\xfbf,|v\xfdp4\\\x91>m\xc7\xb9\x04\x85\x0c \xe1M\x99\x1bH\xcc@\xcfk\xe7&\xb97\xb9F\\\x88`L\xf5\x0cy\xb4\xf1\x15kdm\xb2\xc4M \xa9\x17\xd1.h\xd1'y\x1b\x13Bdj\xb5.\xae\xc7\x8e\x96\xc0;,\xae!\x8b\x17a\xa9\x18\xebe\x0e\xa4%\x88\xb7\x8f\xfc\xe8k\x9a\x85p\xbd\xafdJ\\\x0c\x04\xce\xbc\xcb\xa1\xe47\x91+\xa2\\\xc3,F\xecnA[c\xab\xd1{\xc6Fr4\xe7.S\xd6\xeb\xfd\x03\xa2\xdf\xe7\x1f=\xf0\xad\xdd\xee\\\x05#\xa2>&\x01x\xbeO\x87\xbc\x9d\x0e\xb9\x170s\xc5\xcaZ\xb1\x0459\\#u\x0eP`\x97\xe0\x18\x89\xbe\xf3\xd1&^\xe0\xc6D{\x14\x10\x9d=\xd7\xa4\x92\t\xdaM\x83.\xdcO\xd7\xf6/\xe0\x98\x18\x96U\xa5\x8e\xe1~;\x8a\xf7Sh\x8cv\x13\xbb\xf6F.\x87\x84N\xa6x5\xe5E\x0f\x8a6by\x9d\xdbKD\xba\xf0\xed\x89=\xeeB\xaf\xae\x9c\x1b[\xb9\xaf\xf44\xac5x\xcc\xfc:Z\xa2\x953\x9b\xc0\xd3\xd8\x11^\x9b\x10\xa2\xca\xba\xbf\x00Iu\xa0ct\xc0\x00\xa02M\x13\x9d\xf1\xa8\xc5\xb6\x01\xaf\x1bs\xdd\xdb\xa6\x95\xd9}&e\xa1\xc0GB\xc1\xc1\xb1\xfa\xe5\xd4\xadF\x11\x90\xfc\x97oX\x1e\xcf\x17lb#\x08Wi,\xed\xc9?M\xf9\xeauU\x85\x00\x98 M'\x9f\x13\xbduw\xa6.)\x83O\xd7?Hv\xe3A\x82\x10\ra\x90k\x87\x1dl\x90?\xe9i\x97|De\x1f5\x93\xcb\xbd\xc3\xae\xca\x95\x02\x87\xc7\x7f\x8e\xeby\x8c\xb7\x87\xb8\x96Z\xf3\xbf9\x06\x0e\x89\xde\x04\n\x0e\xa0\xe8\xefQ\x02i\\\xd3\xd7\x80\xee\xcbHP\x8b{s\x98E'\xb8b\x9c#\xfbi\x81 ))>\x1cx\xe1/\xee\x15\xcfG\x1c\x8f\xbb.\xd7rh\xf8\xf5~\x10k\xd2\xe8v\xa2\xf4\r\xf6u\x108\x8d\x92\xd3\xf8\x01\xfa\xfbs\xe88=\xed\x10\xe2\xfe\"\x16_C6\xe6\xd5\xb2p\x07\x00P\\MvK\x1bY\xad\xcb\x92\xf8\x8d\xe6\x82!\xcb\xb5\x92\xfbc?y\x1eIw_\\\x1d \xf7\xcak\x90Y\xab\xa9\xf7Z(\xb4\xb8\xd9\xae3\xf1\x9b4\xb9\xd0\xa4\xfc\x07?\x89\xd9j\x8e\xd0BiO\x88Xcn\x06]\x8d\xa9\xc1\xfd\xedZ\x9c\xff\xc0-\xf2\xf3\xb2\x06\xac\x8b\xa0\xcb\xcb\xe4\xb8<\x89\\\x95\xd8\x82\xfd\xf4\xea\xdb\x88mW\xc2M}\\|]M\xdb\xb8\x18$\xb4\xb2m`\x82\xc5'\x1f\xdb\xed\xf8\xd2\xd3,\x99\xb3\x84\xc4Q\x0ev\xc36\xeb|#\xddB\xfc\xd3\xf7\xb6V;q\xc6\xdf\xb5\xe5ie\x16\x91\x12\xd2\x83\xa3\xfd\x97\x1c\xd7s\xb0'_)p\xf8\xf7\xadc\xf4\x9f\xb0\xa2\xda\xb8\xa0jV\xb8\x07\xa5\xe1\xbcA4J\x94\x15o\x0cg\x19\x89M#tF\xbd\x8f%0\xb9\xd0\x8b\xe2\xf5\x19\"R\xeb\xedc\xab4\x95w\xf5\x90z(\xba+#\x9a\xa8@p\xbf\x0e\x0b\xe1\x1e\xd0\xb4\xa4QU\xd5\x91\xe3WH\xe3.\xa9\x06\x83\xda\xd7\xdfhN\x1f\x00c\x95\x1b6\xf3\x13\xc3\xd8\x8a5\xcbc\xf9\xfb\xde\x83\xef\x15\xe1\x9f\xd1\x82(\xd1\xbe\xb6W\xbd\x01\xdc\xa0\x11$p7\x88l^\xb7\xa0k\xdf\xc5\xd9\xc6\xd7JW\x0e3j\x1f\x1e\xdb\xfc;\x87\x86\x8bs\x96\x03\xa1\x9a)|\xb3\xfd\x1f'\xb3P\x86\x95\xf9\xf3b\xb8\x18\x9dB\x83k\x0b\xa4G\xc7\xee\xfc\x1e\xaf\xd7\xc6\x11\xe3\x94\xc9\xceW\xaf\x16\x87\xe1\x03\x9a\x88\xed\xab\x19:\xcbN\xfe\xd0\x08x\xed\x9b.\x157D\x94\x8e\xf0\xb5[n\xff\xf1z\x82N\x85.ZPX\x9e\xc2 \xaa}+\xa0e\x04\xd7\xc11FF\xa0`\xab\xb4\xb1\x98\xcc\x1d\x97\xb8(\xf2F\x9ak\xb6\x13A\xcc}\xbc\xca\xf8\xc8$\xe6\x0b\xf4\t`\xd9\xc3\x98)@\xfe\xcb\xc0\xdf\xdb\x93\xbd\xb1\xfd\xaaL\xd8\x0e\xa8bV`\xd7R;J[\xd1\x17>\xe9Q\x97\x13fU\x10 u\xb37ny\x88]pNZ\x9d\x0f'v\xd3w\x87\x05\x80\xd9q$\x88\x8b\x04p\x14\xa7d\xde\xa9\x1d+\xe7\xfe&\x05\xb7U_=E+\x18'\xc1\xbb2\x10Q\xa4\x92\x80\xfe\xfeLKD\xd5\xb5V\xa0\x1dtE\xb6\xbb\x04-G\x8eO[:B\x8f\xa2Q0\xb1\xd4\xfa\xe4O\xc6\xb9\x87D\xe5\xd0.\xde\x13\x9b\x9b\x9f(\xa9{?\xb4\x10)\x99Z\xfcN\xae\xee\x18'+\xc6!Z\xde\xa26U\xe9\xb5$\xadug\xc3\xc6-]\xa0\xfdK\xd8\xe9n\xa7\xe6\x14\xda)\x04x\xb6\x1d\x02[\x18z\x14\x15\x0f\xa2\x96\x8ehxAf\x9c\xe1\xe3\xf8\x0cJR\xa7(\xf1ru\x96\x99 |\x1a\x94X\xcfD(p\xb2/\xfa\x94\x942\xd4I\x15w|\xefIX\xfd:\xf9\xdf\xd3\xce\xb6\x07\x8e\xa8\xb6Z\xd6c{C\xd5A\xf8H\xbbK\x0b\x16\x8f\xa0&V\xd8\xeeq\xd5\xb9|d\x7f\xacre\xbd(\xce\xaa\xe27\xe8\x16\x83V\xa6u\xdc\x1es\x90\xe1\x13V\xdc\xeef\x8e\x95\x00\xef\xfb\x8fg\xdf\xcc.)\x82G\xf4\xda\x88\xf3w\xf8 \x84\xfft 4\xd3(\xe2\xd3\xe9\xbc!m\x1c\x83b7O\x96^M%L8;0\xdb\xfe\xe0\xab\x94\xd6\x8eA\xc3\x02\x1dp\xc8*\x08\xb4\x9c\x93A\x02[\xbc\x91\xa1\xdc\xaa\xf0\xb4n\xfa\x14O\x04\x85\xebo\xe3\xc3\xb6\xab\xbe\xa4\xdb\x10<\x03\xa4_\x7f\xd9W$\xe9z\x08\xab\xec\xa6\xcd\x19\xe7R\xc8F\xe5uE\xa67U\x94g{\xb4\xa5\xce6&\xb5#!UqP\xcd\x88\xb8\x17OX`\x8e\xf3y\xcf2\xa2\xf0\xb4\xd8\xb9\xd6\xd8\x9e\xae\xd7YJ\xb1R<\xc2h\x91Yg\xdb6\xc2ah\xb6\\\xf1S\x8b\x88\xbb\xdb\xafB\xf2a\x8ae\x11(\xca\x8d'\x8f\xe0j\xb7\xdb^\xc9\xb7\xae\x98%\x1bX\x1cp1\xce\x95=\xa6\xb6\xa0\n)#\xca\xa7\xde\x07%d\xae\xb7\x88V?chEY\xe7)+\xa5Y\xb1\xf0\xb5f\x9f\xd0e\"7\x8e\xdfGT\x85W'\xa4\xc9\xda\xfb",
                                "video_metadata": None,
                            }
                        ],
                        "role": "model",
                    },
                ),
                UserMessage(
                    content=[
                        ToolOutput(
                            id="google_unknown_tool_id",
                            name="get_book_info",
                            result="Title: Mistborn: The Final Empire, Author: Brandon Sanderson, Pages: 544, Published: 2006-07-25",
                        )
                    ]
                ),
                AssistantMessage(
                    content=[
                        Text(
                            text='{"author": "Brandon Sanderson", "title": "Mistborn: The Final Empire", "publication_year": 2006, "pages": 544}'
                        )
                    ],
                    provider_id="google",
                    model_id="google/gemini-2.5-flash",
                    provider_model_name="gemini-2.5-flash",
                    raw_message={
                        "parts": [
                            {
                                "media_resolution": None,
                                "code_execution_result": None,
                                "executable_code": None,
                                "file_data": None,
                                "function_call": {
                                    "id": None,
                                    "args": {
                                        "author": "Brandon Sanderson",
                                        "title": "Mistborn: The Final Empire",
                                        "publication_year": 2006,
                                        "pages": 544,
                                    },
                                    "name": "__mirascope_formatted_output_tool__",
                                    "partial_args": None,
                                    "will_continue": None,
                                },
                                "function_response": None,
                                "inline_data": None,
                                "text": None,
                                "thought": None,
                                "thought_signature": b'\n\xa2\x06\x01r\xc8\xda|B\n\xb6)\x1d\xad;\x0c\xfe\x8aL\xb8\xdd\x9fq\xacP\x1c\xa8x\x13\xaa\x1e(\xdf\x94\xf8UV\x9c\x14,\x86\xd1^\xc7\xcdq\xcc8\x8d\x91\xa9I\xd0\xb5\xb4\x8a\xec\xc9b\xd1UKwU\xbaG)\x1bG\xde\x9aL\xf1P`~F\xd3\\7{r\'\xd3dk\xcd^6\x84\xba\r\xb2\x95\xa2\x86\xe2\x7f[\x13\x0c\x15\xb31\xb3\xe9d$\xd2\xc4\x83Cod\x88\xd9\xa5\xb6r\xb1\xc7\xf5\x9dt\xcd\x92\x85\xd1\x038K\x00C\x8b\xb6\x1d\x17\xba\xf4\r\xa7*\x08\xdc\xc7\x13\x81F\xdb\x81\xc1\xc6dW\xe8 \xbf9D\x0b\x1f^n\x9d\xf5\xb8S\xf2\x8c\x02\xc3W\xed{"\x02\n\xbf\xedW\x06\xd6"\xb9\t1\xdez\xd20k\xbf\x95\x90?\x922\x1d\x9b\x90O\x0b\xc2\x87e.\xe3\x883\xd8\xb7)\x11:\xf82\xd2\xeeZ3\x90v\x05\xd7\xdd\xa1\xc0\xd2\xc8\x85\x8e\xd8,[\xbas+\xec\xc4\xc3\xe8d\xa0\x15\x86\x8d\x90\xbex\xb8\xf5\xd1;o\x9e\x90bW\xeb\xb2\xd0\xa1X0.\xd74\x16\'\xf9\xa4*|\xfc\xd5\xe6ZBB\xce-\xd6\xf5\xab\xeb\xd1 ?\xfb\x80?\xa9\xc1\x1bT\xf5\xf0w9\x81\xbd\xbc\xec\xa6\xc4Os6x\x98\x9e\xea!\xd0\xc0wz\xabK\xf6\xc5\xd3\xb7\xb4O\xfbN\xed\xcby\xb9\xbb\'\x7f\xb5\xea\x0f\n_\x8e\x0c\xadwN\xaf\x05\x17\x975FR\xf4\xbdmG\x8e\xee\x8ecF\x12hP\xe0\xe8\xe0\x16\x95\xcd\xf1\xd2\x16\x8b\xeb\xab \xc4\xd8q\xae2\xa9\x8e\xfc\xd2\x01\xa4\xe5\xf2\x05\x87\x1e\'\xfe#\x87\xc5x\x92\xdcFX][0\xd3G\xe4\xec\x0c\xec\xbc\x1e\x9b7\xc1\x0f\x89\xc7W\xc0Np\t6z\xc3o\nX\xa4X\x1e\x9f\x88\x1e\xe4\xa8=[L\xbd\x8b\x9c"<HX.p}i\xd0iL:\x1d\x98\x91\xf1\xb6\x95w\xca\xd3=.m\x169\xa9c^|m\xd3\x01T\x8c\x94\xa8;\xa0K\x1bU\xe0\xc8\xc6_\x98\xa2hk\x92\x00>\x0b\x80<\n&\x05\xb6\xd3Z\xd6J\r\x80|h\xf2o\xdd) ~k$/#\xff\x17\xa9\x7fi)\xfd\x85\x0b\xb6Z`\xc8\x10\xd9\xe0\xc4\xb1\\\x068\xe6j\xb2\xb5#V\xac\x1fC\xcav\x8d=\xe3\x14\xb4\x19\x1a\xd8/\xd51=\xff\xe0Y/\xe6t\x16ghi/\x17\xf2ISr\xc4\x1d\xbe\x16+SC\xab2(\xd0\xfeC\xe9\x17\x1f\x9d"\x98\xab\xe11g\x9e\x14\xb1\xd06`\xafZ\xdcr\xa4qQ\xf6\xa0\x88\x95\xa3\xa7FC`\xd6\x9a\xf5\xd7*\x055\xfb\\n\xeaw\x94\xf3\x84E\x11{(\xe0\x07\x10\xca\x12\x04R P\xe7(\x1a\xf1[\x982\xc1\x9f\x1a\x7f!\x99z|/b\xe31~=-/\x0fz"\x15\x86\xa0M\xe45OB6\x0c\xf5\x9f\xbd\xf8\xcd\x7f\x98\x9f\x96\xa2\xcd\x03/@a\x02\xcd\xb2|\xe3Q\x12"\xb7\xe8\xdb\x9d\xea\x832\x16q\x1f?6G\xe6\x1c\x11\x9e\x9bhy\x01\x94\x02\xb7\xfa8\xcbS"\x90=a\xabo\xdbU\xcb\xf7\xc5\x10\xf0\xbb\x99\xdb\xf7ya\xb0\x0c\x8e\x0f\x1c\rk\x00\xabW\xc1C\xdb\xbe\xecF\xefN\x0b\xb3\xb4\xbaVw8\x03r\ns7\xe6\x9c\xd65\xf6y\x9e\xc2J\x0e,,\xc4\x8f',
                                "video_metadata": None,
                            }
                        ],
                        "role": "model",
                    },
                ),
            ],
            "format": {
                "name": "BookSummary",
                "description": None,
                "schema": {
                    "properties": {
                        "title": {"title": "Title", "type": "string"},
                        "author": {"title": "Author", "type": "string"},
                        "pages": {"title": "Pages", "type": "integer"},
                        "publication_year": {
                            "title": "Publication Year",
                            "type": "integer",
                        },
                    },
                    "required": ["title", "author", "pages", "publication_year"],
                    "title": "BookSummary",
                    "type": "object",
                },
                "mode": "tool",
                "formatting_instructions": "Always respond to the user's query using the __mirascope_formatted_output_tool__ tool for structured output.",
            },
            "tools": [
                {
                    "name": "get_book_info",
                    "description": "Look up book information by ISBN.",
                    "parameters": """\
{
  "properties": {
    "isbn": {
      "title": "Isbn",
      "type": "string"
    }
  },
  "required": [
    "isbn"
  ],
  "additionalProperties": false,
  "defs": null
}\
""",
                    "strict": None,
                }
            ],
        }
    }
)
stream_snapshot = snapshot(
    {
        "response": {
            "provider_id": "google",
            "model_id": "google/gemini-2.5-flash",
            "provider_model_name": "gemini-2.5-flash",
            "finish_reason": None,
            "messages": [
                SystemMessage(
                    content=Text(
                        text="Always respond to the user's query using the __mirascope_formatted_output_tool__ tool for structured output."
                    )
                ),
                UserMessage(
                    content=[
                        Text(
                            text="Please look up the book with ISBN 0-7653-1178-X and provide detailed info and a recommendation score"
                        )
                    ]
                ),
                AssistantMessage(
                    content=[
                        ToolCall(
                            id="google_unknown_tool_id",
                            name="get_book_info",
                            args='{"isbn": "0-7653-1178-X"}',
                        )
                    ],
                    provider_id="google",
                    model_id="google/gemini-2.5-flash",
                    provider_model_name="gemini-2.5-flash",
                    raw_message={
                        "parts": [
                            {
                                "media_resolution": None,
                                "code_execution_result": None,
                                "executable_code": None,
                                "file_data": None,
                                "function_call": {
                                    "id": None,
                                    "args": {"isbn": "0-7653-1178-X"},
                                    "name": "get_book_info",
                                    "partial_args": None,
                                    "will_continue": None,
                                },
                                "function_response": None,
                                "inline_data": None,
                                "text": None,
                                "thought": None,
                                "thought_signature": b'\n$\x01r\xc8\xda|\xfa\xc8\xc0_\n\x9a\x9b\xf0g\xcb\xab\x97\xf6\xe0"\xc8\x11a\xd1Y#\x7f^b\xc8\xb6\xdd+\xb56k\n|\x01r\xc8\xda|\xdeF\xa3FrQ\x17^\xa0p\xe0\xf3*\xf2m\xa0S\x18s\xac\xd7\xc5\x12\xf7\xd9J\xe4\x17(\xd9O\xc1\x9f\xa2\xda\x8f\xf5\xb2@\x02\xa0 \xe34\x89(\x91\xf4*\xee\xd1ACf\x9ac{\xcf\x82\xf2\xf2\xc3\x87C(\x19$\x1f)\xab\xaat3RF\xd5Wf\x18y\xd5\x84\xd3D\xcc;\xed\x924r\x8ai\x1f\xf1|\x19S\xbaY\x0bi`\x9d\xf4\xd4\x14\xed\xac)\x15\xf6[\xbc\x9b\xf3y\x1c\x91\xdd\n\xbd\x01\x01r\xc8\xda|\xda\xcb+\xbdd{\xaf\x19\xc6\x90\x13^\xdde\xeb\x18\xdf\xf5\x8f9\x89\xc9:\xe6\x134\x006\xb7\x8dhC\xe4\xa3\x9d\xc4\x96\xed\xf5\xe4\xf7\xeb\x05\xeat\x1bVLx\xf7EX[\x97\xc0AJ\x1e\n\xfd\xddi7T\x1f\xe0\tc\x8f\x106\x9f\x93N\xa9\xf0\xc0h\x99\x17\x9arI\xcb\x0b\xc1\x7fLt\xa6\x8d\xf2\x8e?\x9b&\x98\xb3P\n\xb9\x94A\x13\x82\xaf\'\xd2c\xa9\xa0\x17\x8d\xb5\xdc\\\xe1a\xe65P#\x1f&i\xbd[\x14:\xa5\'\x8dT\x1e\xfc\xb8\xb4F\x84\xc9\x81C\xa3\xe4\xc8\xf8\x11o\xad\x0f\xa5\xcf_\x86<\xbb\xf5\xc1\xb7J7\xa2k\xd3\xe1\xef\xc0\xa2\x1f\x14\x83F)`\x7f\x07}\xdf\x94U\xc7\x88\x9fl\n\xe9\x01\x01r\xc8\xda|\x8b\xd1&\x87\xf0\xd7AT$7J)c\xf0\xd9\xe3\xf5\xe5\x13\xd2\xac\xbf!\xf7;\x87\xbd5\xaf\xa9vT\x0f\xdf\xd2\x8b\xf3\xcbAJ\x80\x14\x13\x15\xd1\xbe\xb2\x8f/\xb0\xe5\xf8\xbb\xed\xc5*Y\xb5\xb5<n\xa1\xc8W\xbe\x97b\x86\xc0(\xb9\xb8\\\xab\x0e\xbf\xe7\xd3\x13\xbe\xa6}\xfd\xfe\xb7\xf9\xbc\xee\xf8\x81\xa5>.]\xd7v\x11\xbe\xa0\x04-\x19`\xda\xa1!\x05}\x93M`G\xdd\xcfz\x86\xa2B\xa5)\x8a\xcd\x0f\x924E\xee\x9e\xe3\xc3grx\x07\x15\xfba;\x1f|\x95f\x93\xdf7\x89\xb3i0\xfe\xa4&\xf7}\xa82lf\xafv\xeb\xb5\x91V\xfb\xc8\xc9\'\xf7\xd0~\xb07O\x11\x8d\xcc\xb5\xce\xea\x13\xef-\x15\x94(\xe3x\xf64\tb \xce\x8c\xc4\x84\tt\xc8\xd1\xf2S\\\xcaZ\x9b\xcf\x10h\x81\x91\x04\xed`\x0e\xd3\xc2\xad9cy\x89\xbe\x050\x08Q\n\xf0\x01\x01r\xc8\xda|#\xc3\xbct+UF2\x99\xb4\xdc\x01h3aj\xcdL\xf7g3\x96A<\x12\xdc\xeap\xaf\xe0)P\xc0^\x18\x94\t\xc9t\xce\xa0\xf0\xac\xa1\xfdGV\x96\xfb\xf9\xb1\xbe\xf3i\xff\xc3\x99\x8f\xbf\x14\t\x8a\xb3F\xc7\xc4\x19+6\x10\xc39\xeb3\xc90#\x93\xbe\xa1\xba4w\xaa\xa7\xec7H\xdf\x04\xe5\xd3\xed\xd2\xcaf\xfb\xd4B\x8fm\xee\xf8\x1b\x7f\x0c\xcb\x98E\xeex\xed\x8b\x9c\xd0\xf2c\xf0\'Wa5\xd6\x86p\x96d\xd6\xf2\x8f\xf4\xf6.\xb9\x01\x85Y\x8b\xcfn\xba^\xa9\xa7\xd4<j\x9d\xdb\x04h\xb8x\xdc-\x96\x95\xb0<oM:\x83c\x9b\xc5\x84^K\xa7Nx=\xca\xd9\xab\xa4\x00\x83\xa9\xf8\x9ctO\xb6\x04\xe1H\x08\x87~\x83\xd3\xd1\xcc\xd8\x1c\xd9)m\x13\x83\x82\xf27A\xaa\x985\xfb\xac\xfbY\xa6\x0c/\xcb-"aB\xdf+\xb9\xee\xac*-D\x94S\xbd\xd5\x90\xcf\n\xf1\x01\x01r\xc8\xda|\xd5;(\xdf\xf6\x0b\xe0nR\xe2\xc6\xfb\xf4\x910\xaa]\xf3\t`a5|\xc8v\x16\xb0\xb9\x84s\xdc\x89\xb2\xae,\x14\xf9\xa7_\xf5\xe9\xd0\x05\x86k\xea\xb3\xa1\xb88\xc4tva\x891\r(\xc8\\\x8f\xd1\r9\x86\x887llm6\xac5h]b\x13\xcc\x96_Tu\xda5\xf5B8\xab\xb3\xf2\xf6\x87\x15\x99CK`\xcc2\x95\x97\xd3\xda\xd4\x1b\x17\x0c\xfd\x96\x08\x1eY\xe59\x17\xc4\x06_\xe3\xf8\xc4\x81\x82\xdd\xdb\x95f\xbd\xab{\x87`\nD\xf7\xce\xd1\x9b\xd1\xf2\xe0\xa5N\x0f\xaa`7\x91\x8bN\xbd\xdb%\xe1l\r\xe6\xd7\x95<\xc4\xc3vD\xd2)\xa6\x01]\xf9\xd8\xffT\x0b\x96\xa3\xcc>#k\x02\xd1qG$6\xd5}\xd1\x8c\xa5q\x96\xc9lJ\xb9\xd7\xddI\x9b\x89\x80\xdc\n\xb1+k\xec\x08\x9a)p\xb0\t\xd8\xa2\r\x16\x86\xe4\xc6E\xa1L\x05\xddS\x94aFk0\x99\x88@\n\xc9\x01\x01r\xc8\xda|\xc2ul\xf6\x9dpJ@\x0cc\x9aD\x01\xaf^\xc9v\x007\x10zC\xbc!\x91\xd2\x90\xaanN$\xab\xa9p\xac\xee\xa7\xdc\x1dleN\xcb\xbe\x08O\x18\x0eY\xc51\xdc\x902\t\xa7\xaa\xebe\x04eg\x93\x19\xcax\xa4\xdf\x19 \x8b\xae\x9foL\x03\xefMz\xf5K\xe3\x00 \xcc\x8c)\xa6\x13\x18\x0e5\xde3\xb8\xb9\x03\x9c\'\x94n"R\xf1\xe0\x0e\xf2p\xbb\xb2gZ\xcf-\x82\x93\xaf\xddNi\x85\x86\xfdKx\x12\xc95\xb4\x1co\x10\xc9\xe2\x972\xbe\xa4D5U\xf4\xbe\x18\x004\x81\xebsk\x00\xb7\xa0\xd1<t\x98<\xf2\xa5|\xe3>\xdc\x02\x80w\xb4^?\x00\xca\x9d}Yv\xfd>\xabt{$H\n{\xaf\xbe\xc7\xc3\xb1b\xb7\x05\xf5%\x94\n\xd2\x01\x01r\xc8\xda|0\xa8\t/N\xe6\xce\x94\xda\xbe\xb5\x1c\x90zL\xe7\x9a\x05\t\x92\xe9i{\xa7\x81-\x17-yvW\xb4T\x94\xa2\xc18\xda\x15{>\xfd\x8cJ\xa2i\'c\xcbe\xbe\xde\xe4\xdd2\x8b\x963\xa0\xc2k\x03\xbfF\xeb\xb4\x94\xf7\xfa\x98P\x15\xe0]\xb6\xcd\x99\x9b\x12m\x8b\x8eI\xce\xe2y\xc3%\x00&\x8fs\xa0{\xa9\x01H\x00eK\xa3\xf3\x17"\xaa\x1f\xfdw["\xe0\x8b\xeb\xb4Z\x83\xbb\xbd\xf1\xf4\xd5\x02KC\xdd\xd3b\x05\xeaB\xec\x1e\x8b"\x8a\xf3}T\x8d\x84\xf8\xce\x9eo\xc3\xcc-\x86\xe8\x1b:I\x9c\xa4l\x15\x9d\x976\x05(\xa8\xfe!\x8d\x8a\x12[<\xf2\x12\xcd[\x17\x1c-\xddp\x15\xe0\xffZ\xbdL\xd6\xb1P(\xf4\xa3\x1dR\x0f\xf7\x07u.\x0b\xaa\x19\xa5^\xf7\x18\x8f\n\xd3\x01\x01r\xc8\xda|\xb8X\xa2\x1f\xefJ\x8f\xd5\xb6\xe7\xb1P\x97u\x91\xe3\xacTer\xaf\xa2U\xbd\x18\xa90\x19\x9d\x02T\xbb+\xf2\xa2\xc6r\\\xa4ZP\xbdRF.\xae(\xfb\xaf\x9a\xa5\xd3*\x19@\xa7\xda8W\xcaI\xfd\xda\xc7~\xb2\x98\xa4\xf7\x89\xd1\x8fCe\xfa\xb2\x01\xa6-|\xf8\xa9+\xd3\x87\xa7\x1f\x11\x16\xee\xe5\xf1\x90\xa0\xf9\xf2\x8b\rR\xbb\'\x1bI\xf4\xa6p\x93GP\xb0J\xe6\xd4n\x892\t\xe5\xa2\xeb\x832\x16\x19\x06\x15~!\x85"\xf2\xf6\x826n\xce\xdajK\xc1\xda\xea\xdb\xd7\xcc\x12P}\x18\x80\xd5Y\xa4\x19Ob\xcd\xdfAL\x03\x90*\xff\xad\xf3\x99KA`n\xe2\x1c\x86\xe5x\xae\x18\xc3G\xb86Mz \x10)\x16\x19\xaf\xb3\xdd\x86+"\xd2\x03\xd2!\xd6$\x86d\x0ec\xa5\nu\x01r\xc8\xda|\x8b\xf8`\r\xf1\xfb\x96\x13`\x87\xd49\xe6\x8d\x8d\x8c\xd5E\x02\xc9\xc0\xc3\xecy\xc1U&^\xa3\xae/\x1a\x80X\xe7\xb2\x16ty\xaa\xfa\xd1\'\x1d{D\x0e\xfe\xad\x19\x1e<p|\x92S\xf8\x03\xcc\xffo _b]\xa5\x99H\xd9\x88$\xaf\xb5[\xf6\rK\xde\xce\xab7\x0457\xeeo\xcc\x9af%\xeb\x9a\x1d0:\xfe\xf9\x9c\xd8\xe7p\x97m\xeeV\n\xa9\xe9B&\x0f8\nb\x01r\xc8\xda|0\xf2\xb4\xf2D\xf3\x1b\xd4\x8c\xc8\xca_\x9d\x18\x00^`fdS\xbf\x96B\xf15\xee\xde(\xce\xf3l\xb1\xec\xd7<2\xe7;o\x1f\xfa\x15\x97\x92\xb99\xd7\xe4\x7f\xbe.\x01E\xffNM`6\x9fM\xd2R`\x12\xae0\x88(\x8e\xf7\xd8\x00 \xa2\xb1\xb9\xaeg\xe4\xc4#Ut\xa9\x19\xadZ\x8a\xa5P\x89\xa6\xad\nN\x01r\xc8\xda|&\x8a\x0f\xb99\x0e@\xf1\xac\xd8\'\xa3\xa3\xbe,\x9c^\x7f\x930\x94M\xc0\xef\xabt\x0b\t[\xb1\xbc\x87\xc8\xe9\x8a\x0e@@vH\x96!\xe7\x8as\x07N!\x16"?w\xe2(\xe5OVLN\x14kT\x08\x9a\x1eaT\x83\xef\xfe\x0bL\xd3\n$\x01r\xc8\xda|? jU\xbf\x19\xf0\xd4?#~\xd2\xb8\xd7S^\xf3\x97\x7f)vjV\x9d\xef{\xb37f\x03\xb3\nn\x01r\xc8\xda|d\x8b\x99!\xacx5\xf8\xb3]\x8f\xa0\xa9\xf8\x1a\xfc\xba\xc3mn\x90\x1ff\xebl\xa0{o\x07\x04\x05\xa0C\xb04\x88\x8c\xa3\xa7p\xfa\x1c\nd\xc6/f\xc5\x85h}k\x80Z\xa8\x8d\xf5\x12P\xb0Zu~|\xfb\x83\xad\xfd\xed\xf3\x900\x045s\x80\xa1\xcb3V\nh.\x10\xaf\xe3N\x17\x81B\xb1\xf3l\xa2\xfbu\xad\xe4\xf0\x0e\xca\x19\xa5i\xc9\n\xd5\x01\x01r\xc8\xda|\xad\xf0qb\xd5[EM s].\\\xf7\xbf^\x0cF\x81\xf2g\xc7x{"\xc8\xfde\xb8\xa9\xfa\x87e\xb5>~~5\\dl\xc1\x12L\x18\x99\xe5\x81GE-v\xc2G\x8ed~\x08\xe8\x03YP\xdb)#Ld5\x81\xc8s\x87\x8e\xd1Cg\xb4\xfc\x19\xcb\xf7\xf5\x18\xa7>\x816\x90A\xd3\xd7Y\x13\x81\x8c\xd8z:\x99t\xbcd\xf2\xde\x9a\x97\xcc\x90\x0c9\x15\x9c\xd2`\xc6\xc4OSx\xd6\x0c\x13\xf1\x02\xed\xe2\xf4\x18O\x9a\xf9\xbd\x88\xe9\xcb\xf9i^.L\xe1j\xb8E3\xe1\x9b\x88TuC\x8f\xa3\x13\xd9\xdf\xe1\xff\xab"\xaeg.4,h\x1e\x05o\x8ed\xd6\xd4\t\xecR7a\xab,\x18nx\x81&U\xfcvc\x83\xc6dx:o2\x88\xf4r;\xb2\xfe\xe9]h\x92K\x88\n\x80\x02\x01r\xc8\xda|\xfar\x83\xa5\xdf\xe4\x1e \x14\xc4N+\x8eLu\x1e\xfd\xd4\xe9qfa\xb9\x10]\x16\xfeT\x8e\xe1\x84x7^\xc6p\r\xaf4$_\xc3 \x0e\xe2C\xfc\xf6\x00y\xa2-xH\x11\x8aQ\x88 )\xf2\x1enH\\{\x0b\x03"7y\x9b`\x93\x13\x8b>\x89b\xf2$8\r\xac\xc7&\x9a\xa4nMm\xf4\xdb\x93\xe0j\xbb\xeeM\xff\x8a%\xfc61\xa0\x91\x96\xe3\x8bc\xda\xdb\xea{\xc5\xd2d\n\x00\xf36\x01\xd6\xe0<\xa2\xb1\x13c\xf4\xab\x93\xb1\x90\x91P\x03\xee\x7f\x1d\x92y{\xb6\x15\xc5d\xbb\xcdf\xbd\x96\xd7\x12\x02\xe5\xcd\x82\x9d\x10$\xe8<\x12\xa1\x0c\xc1s\x9d\xab\xbd\xbb\xfbr\x7fS\x80\x84$/:\xb6\xcc\xce)\xd3u\xf3a\xbd\x95\xfa-\xb99:\xd7\xb5\x1b\\\xc2f\x8f7\xf0\x94\xea\xb1\xbfe\xa8\x1a\to\xc9\xc6\xaf\x93\x81\xab*\x8a\xa2\x89\xc4\xa4\x90\xb0\x00\x10A\xa3\xaf-\x8f\x12\x8c\x05\x11\xec\x8f\xdfF\x00\xf3u|5U.\n\xfc\x01\x01r\xc8\xda|\xf7\xa9\xa5\x93\xddb\x90\x15\t3;\x87\x18\x7f5\x02\x13\xa7\xe28\x8a\xfc\xec\xed\xa5\xdd\x82\x8dD\x1a~\xae\xc4\xde\x98u\x8cH\x8d\xbd\x05p\x99\xd1\xe5\x02J\xf2W\x18/o\xa9H\x85\x95\x8c\xe0H\xd0K\x18\x9c\x8eX\x14 @\x14R\x95U\x05\xa2\x07\xe9A\xbbms\xdf\x8c\t\xa1\x9b\xd7\xc2"`<\xd7\xbf\xdb\xe1N\x8b(k\x94\xaf\x95\x83\x96T\t&\xfctD\r\xe4\x0e\x93\xbf\x1aL\x90\x13\'\xb4\xb2S=\x902\x10\x1cJ0\x8e\xceIC\x93}\xb7\xd2\x9c8,\xb4\xa8{\xb8\xd4\xe1W\xbc\xb1\xb4\xd0\x10Y\xbe\xdbrF^o\x0f\x9b\x93\xa3\xf4\xfa\x84\x0b0\xb8\xa8\xaa\x8c\xba0\xa2;EU\xc8?\xfe\xc9u\x9a\x1c\xb6w\xaf\xb9\x9f\xaa\xa0\xfd\x19x\x18\x03\x81,\xd5\x82\xc6\x80\x9a\x8a\xad\xdewB\xcf\x9b\x1c\x94;\x97\xfb\xecf\xd1\xa2\x06\x80\xf2\x9cc61\x8a\xfc4\xb5\xb6\xeb\x08\xaf\xf2\x86 Q\x91\x82We\xcbA\x01\x7f\n\xe7\x01\x01r\xc8\xda|\x1aeg\xcd\t#$\x9aI\xcb.\xc5\xdc\x16\xdeBFT\x15\xfbU\t\x84\xa7\xc1\x12\xa9\xae\x87s\x01\x07\x18\x91\xcdq\xd6]\x8d\x17\xa4~t6\x85q`;~\x86\xed\xa7&\xb3?\n)N\xddvS]%\xd2\xe7\x9a\xc9\xe9f\xc4\xf0OS\xdb5\x10\xaf\x8c\xf5\xac\x9bP)O\xc9\x16\xa9\x81\xf3\xd3\xe4\xce\x18\r\x1a\xca\xff\x83\xf9\x11\x98\xbd)\x95\x12_\xf9,/\xb7H\xc3\x94\x14\xc2\xc9\x11a\xd1WI\x9f\x877\xa8\t\xc5\xa7=\xed\xff\xe0\xdb<\xd1i\x0e_U\x1a\x94\x96\xfd49\x1de\x1d3\x1a6\r\x8d\xffM\xf1\xe5\x122\xb4\' \xc3T\xf0\x02s\xbf\x9aD4/C\xf7\xa9\xdd5\xfe\x9f:{\xdcN\xbc\xbf3\x05\x9f\x0f\xe3\xab\xd3\xabJ"Iv\xd2\xf6\xe9\x14/\xe6\x9f\x83+\x82\xd0\xce\xd6:\x96\xc7+\xfd\xa6Klk\x19\x9d\xad\x964B\xac\n\xee\x01\x01r\xc8\xda|f30\xcd\x81\x08g\xeazk\x01!o\xb7\x90U\xc2"\x105\xfe\xf0n\x15\xdc\x0bg\xb2\x97\xfc\xda\xf9\x86\x0bj\x02\x97bp\xf9?\xc3\x8f\xd6\xf7-\xae2m\x82\xcd\xccB\x87W\xce\xd6\x07$Z\xd6\xbf9\xde^yb\xaf\x1f\xb5\xa4O\xbd\x05\x8a\xba\xd1\x0c\x1a{W\xb0\xdb^\xc9\x18\xaeV\xd3\xe3^\x03o\x80Sz\xb3\xdd\x10B\xb8\xfa2\xd3Y\xbaH\xec:\x85\xf1\x8e\xa9\xa6\xe0`6|\t\x83^\xfd\x01W,\xa4\xc0\x8f^\x7fd\x14\xd2S\x19h\x19\xfb\x00\\\xcdz\xcf[V\r\xaa\xa4\x13<\\@\xdd@\xe9k\x86\xef\x9b\xec\xbb\xb9\xd1l\xff\x99\x7f\xa5\x00]\xdf\xb6\x97C\xe7\xcc\xb4\x8f\xdeH.c\xfa\xc5gz\x98TF\\O\x8b\x13\x7f\xcfh\xc5\xa7.SSW\xfa\x1d\\\x91\xde\x8e\x85!o\xac\xfc5\xfe73T\x05\xdeIy@ \x93\xc5\xa0@\xf0\xd0\x01#\xb5\n\xcd\x01\x01r\xc8\xda|=\'\t\xaf}\x08\x15\xb7\xdbx$\xe5\xa3\xac\xe7\xaa\xff(\x9e\xc4\xc3Z}7\xf8d\xd6\xe5\x12d\xa1\xd0\xea*\xa1\xa1$\xad\xb7\x9d\xdd\x17\x81\xd7\x99\xe6\xc0\x1e\x9c\x8c\xf1\xcb\xdd\xeb43\xdb}\x17\x8e\x8e>\xa54\x97\x9f\x15^\xff\xb4\xad\xeapHcu\xdek4G3\x85T\x8a\xb9\x8e\x91\xca\xe9\x00\xe0\x1ay\x92\x9e\xab_b\x1b\xb9\xf5\xa1\xb9j\xbe\xf7\xf4\x1dm6\xce\x03M\xbc\r\xf9\xb6\xf0i\xcf\x8c\xcde\xd9\x93-\x96-5\xe8N\x04HH8\xd3\x82\x05\x01\r5\x16c*K\x16\xcag\xa3\xa68`\xa6u\xa4l\x02\x96\x14*a\xda\xec\xbbS\xc5cH:\xdd\xa5U\x90\xf43\xdb9\xdb\xffA\xf4\x0cL\xc8N\xd3\x84\x94h?}\xd0\xbd-\x01\xe2\xdd\xeb\xef-\n\xa7\x02\x01r\xc8\xda|\xa9Tc\xaeL\x9f?\x8bRSG\xe0\xb3\xc0y8V\xe2\xe6o#X\x83\xee\xc0\x8a\xf4\xcb\x13\x01dj\xd3yCR\x9a\x86\xcf\xaf7I}\xc8=k\xf0\x9e*\xfb\xe3\xf0\x81\xb1\x93\x11/\x18\x80\xc0/VF\x15\x19\x00}\xfdE\xbb\x9a\x12\x95xD\xafP\xa4\x01mpj\x7f\xf4\x86SQ\x0b2\x0et\xb7L\x81]@\xd7\x08\xe0\x04\x12\x8a\x06b~\x0b\xd1\xcc\xd4\xaa\x96\xff[U\x80K\x8cq\xeea)\xc7@\xdc\x8b\xb2\x92\xce\x93w\xe8\xe7\x0c\x04?\x93\xb3~\x8f84}\x10\x01\xda31\xd8\xb1z\x04Z\x04\xb7I\xf7\xb0\xf8,\x15\xbe\xb5L\xb4C\x14\xcd\x14\x83:\x11}c\x0e\xa1\x9a\xbb\xd9)\x93\xd5\x9c\xaaF&\xc5&\xf9\xf2K\x06b\xc2\x18@k\xa6\x7f\xbd\x85\x05\xed$\n\xe2\xea\xbbp\xbb\xc92\x97S\x96\xee\xcc?\xb8\xdcK\x99\xfbGj\xb9\xf3\xb5\xb7\xfa\x84\x18\x148=\xcc\x80\x19\xce\xf0\xd4#\xb8\xac\x7f\x138O\x82\x95{>\x04:\xab\r\xd7HD\x89E\xf2\xebl\x93\xca\xdd\xb9\x1152}[d-5\x00\x83\x07\x07\xef8f\xa0\xff\xa0Q\x04\xa0*\xc8\n\xc1\x01\x01r\xc8\xda|\x0e\x9a\x15g\xa4ejg\xb8A\xd9\xd3\xb4\x1b\\\x88b\x12\xe0\xab\x85\xbb\x9dby1F\xc8\xde\r\xd2)0\xd1\x0bb\xc4@\xc8\x1d\xef\xe5\xe7\xb4\xdd\xf1w\xef4zd\xa3!\x04\xcc\xdda7\x93{\xac\x9c\xf0\xb7m7\xae\xb4>\xc5"\x0c\xa0\xef\xc6\x94\x12zZ\t\xf3\xb2T\xe8>\x87\xd6\xac\xd4P\x0b\xbd\xf2\x8c\xef\x7fi\xdd\x8e\xc2g`)\x8a\xb2\xa7\x87\xab\xd3\xf2Z\xd9==\xc9\x8e{\ng\x02\x9b\x02\xc3\xb9?ir\x9eN\xb0\xf4\x88\x16pH\xd4\xa2\x96\xd4\x84p\x8e2|\x84|\\i\xe9w\xe3G\x0e\xb1A\x81\x8dH\xf9\xfe@\x93V\x01\x1d\x10n\x91_\xb49&Z\xbcSt\xf1/\xd2\xa4p[\x04\x8c\xa4\xd4\x1a\x89\n\xf0\x01\x01r\xc8\xda|\x17\xa7\'\xf2\x04 \xfe\xc7D\x86\x0e\xbb\x7fB\x97\xcc\xc0|/Rcv\x80\xb8$\xa8\xa8.o"x\xa4Z\xe8n\x7f\x004x\x7fj^\x81\n\xcfza\x01nYz\xf5\xf91t_\xdf?b\x1cSD\xff5[u^\xf3\xf8\x7f\x8df\xcc\x1a\x00\xbbC\x96.\xa0\xd7B`\xa1\x16Y\xcd\x00\x15\x85+\xdc\xd0w\xa1i\xc1\xe6>2\x85\x1d\xb7\xa8\x8b\xcfn?k\x8d\xd0Z_f\xa1\xd1\xb0\'\xca#\xbd\x9f\xd1\x92s\xf1\xb8\xe6+~\x08\xff\xdf@\xf7\xb9\xd8\x99\xbc\x12\x10{\x85\xef\xa5U\xe9%/5\xdd\xa8\xfa3~\x86\x0e<\xfa\x10\rq\x05mz\xfb\xa0\x1b\x13\x00\x98\xd1\xf3\xa5\x97\xce09\xe3;=\xfdt\x0b\xf5\x0bt\x8eW\x0e\x06\x99W\x85|\xaf\x98\xabv\xaeg"\xf5p\xf9\x9cc\xb7G\xf2~\xb8K\xd6\x9d%{\xa1\xf3\n\xb67\xf5L\xa2\xa2\x02\xd61\x03\xdcY\xd3\x08\xa8\n\x89\x02\x01r\xc8\xda|?\'R\x1dHw\x11jY[o\xfb\xa2-\x84\xd7\xc4Fq\x9e\x14\x80ZaD\x1c\xfe\x1eK\xd3\xca\x951\x9fL\xa3\xc30\xcai\x8f\x01\xc8\x80T\x94\x989\xa1xi\x0b\nD\xa3\xd4r\xe0\rx\x8d1\xbd\x0e\x14|\xdfH\xdd\x06\x8em&\x0b\xd0`\xa7\x87E\x0c\xe1\x8d\xeflgU\x10\xf0\xaa\x02\xc5\xafb>9\xc2R\x02\xc5\xb9\xa6l5\xaek<\xd5\x84\x96?\x8a\xd9\xb1\xba"\x13\x18\xe7\x0fd\x89H\n\xbd\xb6->e_\x1eC\x0b-\x1c(A\xffL\xab7m\xb4\xbb\xfcg\xe1\xa9\x95\xc5\x80.\xffJ\xb5z\x17\xd1/\x9d+(\xd0\xa5;\x1d\xc6\xff\xb7\xdf\x1e\x88mk\r\xec*y\x84\x91u\xc9V\x9a,$\x02\x9e \xda\x1a43\x857\xca\xd9k\x0f\x83\xc6n\xc4\xd9\xec\xd3\xbe\x0et\xbc\x0c=\x0e\x04\xb3 \'cJ\xcb.<\x87\xad6\xb6e\xb3\xb1pP\x98\xfe\xbe\xa2r\x12eBD`VSs\x8dLb\xbe\x82\x16\xcf\xd7z\xcb\x9a\xe2\xd5\x80e\x83j\n\xa4\x01\x01r\xc8\xda|\xe7[\xd4\xd9\xb2 \x84\x02\xb2\xf3\x02\xaf\x87\xbc\xee\xee\xf6K-l\xf0S\x9c\xb8\xdcW\xe2\x93rN\xfb\x01\xc7\xa7s2\x84\xb1/\xab&\xfdV\xc9K\x80\x91\xf2X\x12\\\xd6\xeci\xcdj\xb3v\xf4_/*\xd8G\x82\xc0s\xd1\xf9\xfeU\x86\xdd#\xf2\xddh\xe9F\xac\xbc\x9d\x89.\xbf\\\xcc\x85e\xb5K^\x13\x83\xec\xa0h 8\x94\x07\xdfL\x89\xc9\xc3|\xa1\x0f\xfa\x1e\xda\xd4\xcc\xf6\x01\xaa\xd8bA\x0cN\xdf\xb1\xd2\xa98\x11Y^A*:#v\x81\x9dE(17.<q\x91h\xf7\x943\xcbXJG\xbe\xec \xc07n',
                                "video_metadata": None,
                            }
                        ],
                        "role": "model",
                    },
                ),
                UserMessage(
                    content=[
                        ToolOutput(
                            id="google_unknown_tool_id",
                            name="get_book_info",
                            result="Title: Mistborn: The Final Empire, Author: Brandon Sanderson, Pages: 544, Published: 2006-07-25",
                        )
                    ]
                ),
                AssistantMessage(
                    content=[
                        Text(
                            text='{"publication_year": 2006, "pages": 544, "title": "Mistborn: The Final Empire", "author": "Brandon Sanderson"}'
                        )
                    ],
                    provider_id="google",
                    model_id="google/gemini-2.5-flash",
                    provider_model_name="gemini-2.5-flash",
                    raw_message={
                        "parts": [
                            {
                                "media_resolution": None,
                                "code_execution_result": None,
                                "executable_code": None,
                                "file_data": None,
                                "function_call": {
                                    "id": None,
                                    "args": {
                                        "publication_year": 2006,
                                        "pages": 544,
                                        "title": "Mistborn: The Final Empire",
                                        "author": "Brandon Sanderson",
                                    },
                                    "name": "__mirascope_formatted_output_tool__",
                                    "partial_args": None,
                                    "will_continue": None,
                                },
                                "function_response": None,
                                "inline_data": None,
                                "text": None,
                                "thought": None,
                                "thought_signature": b"\n$\x01r\xc8\xda|\xcdr\xce\xb4\xb2\xa3\xe7\xcf\x02!n\x81'/\xc2\xf5L\x14\xfd\x9f=\xd4\x0c\xb9z\x08\x06_\xc8\xf9\x8b\nm\x01r\xc8\xda|I3\xa6[6x\xcf\xfb\xad}2D\x0fqR\x02\x00\x03aY\xa4\xda1d\x1b\x96\xaf\xc1\xcaDt\x90\xb6;\xa3\xec\x84B3\xf0%z\xd8\xce\xfb\x95\xd4\x1c\xa68\x9f\x18\x1a\xae\x89\xe2\r\x9e\xc4\x0f\x1f\xe94\x95\x16\xba\x9bz\x8a\xa9\x95\x1e]\x84\xe7\x18len\xdfk>\x8f\xc6\x84\x03\x8c<U0\x91`\xe5>(\x9b\xc3bK\xceq\xad\xc7\xac\n\xac\x01\x01r\xc8\xda|\x01\xabL\x83\xd4zG\xc6|\xd9\xae\xe5\xdf\x17O\xca\xde\xf3\x10\xdb\xb4\xb3\xa6\x037]\xeb\xecE6 X\xc5\xb4*\xa1\xb4D\xec\x19\xc1s\xf2w\xdcK\xaf\xd1\x9aT[w\xe7\xb4\xc3\xe1\x1bp\xf75\x0b\xc7C\xd9\x18$\xd2\x86\x8c\xb9\x1c\x13\x01\xa0L\xd3V\xb8\xf5\x8fE\xe2\xd1k\x80\x0b3^\xc3\x11\x97J\x12\x13\x0b\xbe\x1au~\x19\xbef\x86\x12>\x82\xb5\xa7.\xfd\xc5\xa4\x1c:\x96\xeceu$\xd0j9\xebL\x1f\x18\xbc\xe3\x19\xbd$*\x1f\r\xf0\x9aG\xe7\x10S0\x97\xbe!,l\xe6\x11\x82j\xa6\x83\xda-\x01\xd55\xea\xb0Uu\xc1\xc9D\x9c7E\n\xaa\x01\x01r\xc8\xda|\x85j\xe4\xe4\x97s\xe9\"(\xf9N\x96x:'s5L\x98\xaaC\xc0\xbcW<_\x04\t\x03\xacr3P\xf1\xc8/|\xc3m\x0e\x04\x16ch\xdf\x1b\xb9\xd7&\xb6=\x9c\xa1Z@\xcd!\xa7\xab\xe2\x99'{\xa8\x98\x80\xd6]8\xf1\x90\x96\x19<\xdc\x17\x13\xa8\xabK\xb0\x01\\\xaf\x91\xbdh\xce\x92~\xbe\x11(\x17\x1d\xc6\xa1\xd6U0rM\x87\x9a\xab\x16\xca\xec9\xc7\xb9\x9ec\xd9\xa28^!\xf6\xcbJw.\\C\x82\x92m*L~\xbf\xce\x88\x8ax\xf4\rg\xfa\x8b\x98\xedbiu\x8aR\x93\xa30\x89_'\xe7\x1fs\x82\xa1\x0e\xf5\xa5n\x03\x8e\n\x99\x01\x01r\xc8\xda|\x96\xbb\xee00\x8eS.'\xd2!\x9a_\"\x98\xd8\xc3\x8f\xbb,3\x95]\xf9\xd8r \x95\x0c\x84\xf3\x18\x12\x84\xa9\xc1\xabh\x91\xfd\x13\xcd\xa78L\xbf\xd4\x02JkZ\xeew0\x97g\x83* }\xa8\n'X\x97_;}c\x15\xff\"\xcb\xc4\xd2~\xe6\x1f\xfa\xa5\xb6\xc6\x9a\xd1x\x00.\xce\x80\xd9\xfb\xfb\x0e\xf1\x8d\x92\r\xee\xf2\xa5\xaf\xa1\xaa\xfb\xc3u \xb8i\x05O$\x9f\xc2'\xf9\x16*\x9f\xf1\xfa\xf1\xee\x92!\x87\xd7%\x02'\xf9\x06\xd1\xcb)\x90p\xfd\x825\x9a\xea-\xcfQP\x1dE\n\xee\x01\x01r\xc8\xda|\x00\xa4\xce\xaaRy\xfa6\xa2\x9bnE_\xf8M\xeb\x10\xc7w\x9f\xe8\x93\x8cJ\xb6\x9a\x9f]\x8c\xf5<\x04\x8f\x8f6\xedZ\xfa\xb6\x9f\xd5%,\x0e\x17r:\xc9R\x82\xe0\xf6\xdfp\xe8\x85\xbf%\x11\x1f\xc9\t\xed\xce\x12\xcc\x99\x19\xf6\x08\xc6\xb9\xba\x86\x8a\xc4\x96\xd7\xff\x85\xc07\x16\x10\x07\x85\x12\x90\r\xa2\xc9\xdc\x82*\xed\x97\xf5\xe5\xe05\xc1q\xd3Z\x15\xc9\"\xec\x05\x13\x14C\xb7\xa4\xa8tM}\xcaJlY\\P\xa4\xdc\xd0\x84\xbfM+q\xcc\xc7\xae~F\x1c\xd1\xa1#6\x0f\x9a\xa6\\\xfe\x93~\x0f\x98\x04\xbd\n\xeb\x0f\xc1\xb8\x83\xca\xdd\xcd\xbb\x00a/\x98eNs\"n\xca\x17\xa0\x18\n\xb8{\xb9\xe5\x90\x8d'\x15\xec\xf6l?`\x1c\xbb\x87:\xf3p?\xa184\xb9\xdd\xfc\x03y\x88S\xb1F\xa4\x83>\xd0\xd4\x9f1\x07\x074\xad S\x8c\x85l\x1e\xee\xef\x83\xde\x89k\xc8\n\x81\x02\x01r\xc8\xda|\x9b\"\xc7$$b\xb3\xf5\xe1\xd5\xbe\xe8AL\xbb\xf2\xcc\xb1R-6RUr\t7\xaa\"\t`6\x86\xbeU~Ff0w\xd4t\xb3\x85\x1ay~\x9d\x14\x96\x88\xe2\xb9\xec\xdeQ\xa6\xdf\xdd\x06\xc6x\xa8\xea\x81\xa5\xb7E~\xe4q\x15\xdb\xd8\x8c\\)\xd5\xf7z\xe9^X{E6@\xc0t\x83\xec\x939\xf6~\xc2\xa3\x17\x0f)B\xef\x05C\xb5;\xe2\x84\teP\xcbzS\xcd\x0fk\xb4A\xc9\xa8\xa2Z)\x18\xcd\xfe\x9dZ\xc8\xac\x87B\xe65\xe3\x00\x81\xf3\xcd\xc6\xa8\xbc\xab\x11\x17\x93\x9e\xa7\x83M\xfc 2\xc7=\x7f\x97j:moLTc\xc8+@\x89\x05\xda\xb6\xf4\xd0f\xb5sz\xf1\xfb`\xc5\xf9o)YZ0\xb8\x8d\x13\xd7\xe0\x9e\xc4X\xf2\x95\x0c\x9dh\x10\xf0\xc2\x95\x93;\xff\xb7c\x19*\xf0m\xc2\xe2\xa05\x89\xc9M\x0f8EB\x1d\x1d90\xb9\xea\n\x9d\x0e\x99$\xb1\x19\xe0=n\\\xf6\r\xddc\xa5H4\xff?\xaf2\n\xc3\x01\x01r\xc8\xda|\x06Q\x14X\xcd;W\xf0\xa4\n]xvCN[H\xb0\x8c\xf9\x93^\xfe\xf8\xf3\x06\xa2\x90\x9c\\[\xa8\x06\x9fI\xecE\x8d\xd4\xe9\xb9\xca\xd2T\xc8\xaf\xb3:!\xda\xf4\xd4\xf79\xfeWi\xd5\xdc!=rbT\x9b\x0b\xc00\x9d\x07\xe3\x17\x89\x9d\x8b\xd1V\xc9\x88gC\xa4\"9\"@J;\x8d\x1e\x1b\x1a=\x10?*\x899\xabI\xbc\xda\xbc9\xeb\x01\xebm\x97\xa7\\\xcc\xba\x81\xb5\x00\xf6\x19C\x13\x1e\x96\xb5\xa5\xc8\x92\xea\xed\x7fx\x81\xa8$\xa9\xee\xf6p\xf0\x16\xaf\x1b\xa1\xc0 \xda\xbd\x00e*Q\xab\x068N\xf3$\xe0\xd0\x89\x82J\x87Fe.5\xa4\x87\x06n\x96\xddrl\xb5\xfe\xbf#\xc2\x8c\xd6Xo\x1e-\x90\xffB\x1bV",
                                "video_metadata": None,
                            }
                        ],
                        "role": "model",
                    },
                ),
            ],
            "format": {
                "name": "BookSummary",
                "description": None,
                "schema": {
                    "properties": {
                        "title": {"title": "Title", "type": "string"},
                        "author": {"title": "Author", "type": "string"},
                        "pages": {"title": "Pages", "type": "integer"},
                        "publication_year": {
                            "title": "Publication Year",
                            "type": "integer",
                        },
                    },
                    "required": ["title", "author", "pages", "publication_year"],
                    "title": "BookSummary",
                    "type": "object",
                },
                "mode": "tool",
                "formatting_instructions": "Always respond to the user's query using the __mirascope_formatted_output_tool__ tool for structured output.",
            },
            "tools": [
                {
                    "name": "get_book_info",
                    "description": "Look up book information by ISBN.",
                    "parameters": """\
{
  "properties": {
    "isbn": {
      "title": "Isbn",
      "type": "string"
    }
  },
  "required": [
    "isbn"
  ],
  "additionalProperties": false,
  "defs": null
}\
""",
                    "strict": None,
                }
            ],
            "usage": {
                "input_tokens": 1256,
                "output_tokens": 49,
                "cache_read_tokens": 0,
                "cache_write_tokens": 0,
                "reasoning_tokens": 300,
                "provider_tool_usage": None,
                "raw": "None",
                "total_tokens": 1305,
            },
            "n_chunks": 3,
        }
    }
)
async_stream_snapshot = snapshot(
    {
        "response": {
            "provider_id": "google",
            "model_id": "google/gemini-2.5-flash",
            "provider_model_name": "gemini-2.5-flash",
            "finish_reason": None,
            "messages": [
                SystemMessage(
                    content=Text(
                        text="Always respond to the user's query using the __mirascope_formatted_output_tool__ tool for structured output."
                    )
                ),
                UserMessage(
                    content=[
                        Text(
                            text="Please look up the book with ISBN 0-7653-1178-X and provide detailed info and a recommendation score"
                        )
                    ]
                ),
                AssistantMessage(
                    content=[
                        ToolCall(
                            id="google_unknown_tool_id",
                            name="get_book_info",
                            args='{"isbn": "0-7653-1178-X"}',
                        )
                    ],
                    provider_id="google",
                    model_id="google/gemini-2.5-flash",
                    provider_model_name="gemini-2.5-flash",
                    raw_message={
                        "parts": [
                            {
                                "media_resolution": None,
                                "code_execution_result": None,
                                "executable_code": None,
                                "file_data": None,
                                "function_call": {
                                    "id": None,
                                    "args": {"isbn": "0-7653-1178-X"},
                                    "name": "get_book_info",
                                    "partial_args": None,
                                    "will_continue": None,
                                },
                                "function_response": None,
                                "inline_data": None,
                                "text": None,
                                "thought": None,
                                "thought_signature": b'\n"\x01r\xc8\xda|\xcc\xe5\x11\xcc\xdejQ\xb5E\x84\xfd\x85\xb2\x90\x80\xcb\x83vyD\xc7\xa5\x0e\xc9H\xfd\xea\x05\xde\na\x01r\xc8\xda|\xac\xd6%\x06R\xd2\x9d.y`\x19e\xcftA\xa2\x1d\xed\x00<w,\xeb\xadn!\x96m\xd2\xf2\xedO_L\x15\x9fFJ\xca\xd3e\x00\xaah(\x98\xecn\xd7\x17aq\x92D\xbcA0V\xa7\x1c\r\xa9\x08L\x19\xf7\x14ao\x7f;\x9e\xc3O9\x7f3\xe3\xe2\xc1\xb9\xb9>\xf0\x14 {B\xd4XzB\n\xb6\x01\x01r\xc8\xda|\xee\x11+\xb2]\xbe1n_\x14\xc86\xec\x11y9}\x9f\xb5b"\xa9Ne\xf98\x12\xa3\xffQ\x00\xae4\x8dm*p\x8f&}\xb2e\xda\x01.\x94}\x16w\xd2\x19;}\xd6J\xcc\xae\xd3e\xdc\x8c\xe0J\x10-\x07nR\x1czU\xa1Gy\xd1\x84Qe\x0e\xcam|M-i\xb5,\x84\xdb\x82=\xb6\xad\x95\xe2#+\x11\xc7\x81O\x9f\x15Z\x9b\xba`(\xdd\x8f\x97\x05v\xc9gx\x13\x0cS\xf1M\xea \x17~\xc8\xfe\xef\xa2kwc\xc5\xaf\xa3$\xf3\x97\x04\xd4\xbe\xac\x9b\xab\x9e\xce{\tL\xd3\xbb^\xca\x92\xf1\xbciak;\xdb`nt\x1c\xe31\x89\xdf\x15\xea\x13f\xfb\x9b\xf7\xb6\n\xdd\x01\x01r\xc8\xda|M\xc9\x0bC\x8f\xfa\xb8\xd4\x058?px\x051\x84\x8d}\xcc\trin\x03\xd91\x7fCTev6\x08\x97n6\xb4\x8a\xc8j\xd4\xb0\x8b(\xf8_\xec\x8d\xa2\x94_K\xefA\xddC\x0c\xad_\xc1\xc9P\xa0C*\xdcV\xd4\xfaG@\xb1\x1bO\xa7\xcd\xef\x0f\t\xcc\x02v@\x97\xb1\x1f \xa62y\x8f \x9e(a>?\\\x87\xdf\x1b\x96\x87/Cm\xdd\xb9\xbe\xb7PV\xe1\xe7\xd8J4UK\xdb\r\x8a\xcc\xdaHOo\x0bK*\xbe\xb9\x17\x91\xd7\xa3\x89{\x04h\xa0\xfa\xa2\xd8\x0e\xa1n\x10\x12\xb3@3f#\t\x1aS\x06\xec6Z\x82I\xd0j\'S*\xe5\xc4V)\\[Ec\xbb\x16}\x9d\x18)W\xd2\xb67\xd8\x10P\xfb\xb7\xb2\x94n\x01\x90b\xd2\xb5\xd2\xb2N\xaf\x82o\x06tM\x9b\x88;re\xe1\x9d\xab\n\x9f\x01\x01r\xc8\xda|\x15=+t\xa7L\xa2\xd5\xeb\xc4\xd5\xe5\xb5K\x85\x1eM\x16\x8b#\x05e\xe7\xbf\xe8)z\xab\x01\x15G\x8b\xee6{\x94\x19\x1af\xe7L\xcf\x02\xfd#\x15\x9d\x89\xcf!\xff\x01\xe9h\x92\x82]\x87\x95n1\xb0HE\xae\x88\xf3\xb5\xa7\x08\x16\xa8\xe2\x9a\x12\xc5\x83\x12\x80F\xc6\xea\xe5$\'\xde\xb5%\xf0,\xfd\xfbn\xca^\xc4\x1e\xbab\x16,:S2\xb9\x89\xde\x84$\xd3\xb1\xd5g\xb4\xcfkt9ao,\xc4\xd0\x81\x12\xb8\xd1\xae\x8cB\xfd\xf3\x10,\x86\x03au\xc7~\xd0Ni\xfc\x172\xfa\x91`L\xf4#11\n\xe8\x01\x01r\xc8\xda|I.\xfe\x8a\xac\x7f\x99\xaa\x82\xdb\xb8\x98\xc2C\xf1\x97\xd7\xe7t5K,P\xe3\x9fs\x9a\xc2\xa3\x98\xf2c_\\rk\xa5)$\x9eJO\xe3\x15\xab\xb1\xfb\t\xa0\t\xe6\x0c@\x00G\xc6z\x9f\xb3+\xf0\x08\xc5\xd9?U\xaf\xbe\x02;\x0b\xe0l\xea\xd7\x15\x82\xaa\x98=\xe4-\x05\x07\x03R\x8d\x9e\xba*\x0b-\xe0\x1b/|\x0e\xc1i\xfc\xf4\xa7%\xf3J\xff\x16\x16\x0eW\xec{\xc9\xe1=\xbc\xb2e!\xb1b\x1e\x0f\x9a\xbf5\x88\xd6V\xd9\x15\xec0\xab\xe7SKM\xea\x05\x93\xb1\x95\x8a\xbd\x93\x88x\x11u\xab\xa2v\xe6\xc51\xd6\x95\xde\xb5\xa07\x16\xa0\xe8\x92\xda\x04\r\x8c*\xa9}\xf7Us*\xc0J\x80f5\x8a\r\xdb\xea\x97-e\x12\xda\x14\x9d\x8b\x06D\x9e\x9f\x99\xad\x05\xd3O\x9f\x0e\x98\xb9\xaa\xbc\x10\x86\x1b\xde\xa82\xb5\x8bR \xa9\x80PP\x8b\xc6\x91\xd2\n\xe6\x01\x01r\xc8\xda|\xc8\xad\xb2e"\xd6:\r`\x8f\xd1-\x14uye\xe4\x0f\xf2\xb5.\xc1\xf3\xb5\xcd\xf9y\xebe\xbb!CF\\L\xce\xdeB\x8bx\xe9\x99\x12\xa1\x9b\x91\xe62^\xb2\xfb/O\x00\xac?\xf0Ya\x1c3\xe5{\xe7\xbf\xf3\xc7\xddH\xce\xf4\x19\x82\xed\t`\xbf\x9b\xc8\xbfB\xd7\x8b\x9ek\x9am\x13\x13\x1e]\xb9\xe2\x0f\x18HS\xd0\x08\x0f\xe3\x11\xc0(\xf1\\=\x15\xfb\xc1\x9a\x85\x7f\xb8\xbfw\x0cH\x05\r\x15\xc1\xe85\x96\x95\xcf1#;#\x95?R \xfe\x91\xee\xd7M\x16#\x07\x9b\xd6\xe1\x17\x91X\x93o+9\xd8J\xeb\x93\x1d\xc6\xa4Q=\xefh\x16\x89B\xdd\x10\xd6\xce\x16\xd3\x03K\x1e\xe0\xbb\xbd&\xf1\xb6<y\x8b\x00\xfd\xac\xf8\x14\x1e\xc1\x9d\xeff\x99\xb9L\xb6S\xdfL\xb1\x1a)\xf9\xc3\xde\x13\x86\x9a\x9a\xf2\xa8\xd0$\xa7\xa6\xa5\xbe\x00\x89\xd59\x9b\n\xc1\x01\x01r\xc8\xda|\xb5\xeb\xbd\xe1\x13\xb3\x8b\x06\x8e\xd6\xb0\xf9\x81\xaf\xac\xed\x8f\x82\xc2\x88J\x88i\x89b\x04\xfa\x85j\x7fe\xc4\xa8\xdd\xad,\x93\x90~\xe3\x00\xf4\x85\x97\x9a_\x92\xab\xc3\x8b#N\x90P\xe0\xce\x96\t\xac\xdd%\xa6H\x01\x17\x83&\x1a\x91\x9f\x0bZ\x0f\x88\xdal3\xbc\xd2\x9a\xd0RbQ-\x1d\xc7\xc0P\xd1\xe2M\xb0l\x98/\xcf\x02$\xf1\x89\xee\x15AF\xd5\xc1\x86\xb4U,\x81\xeaTE\x81\xca\xca\xear5\xaa\xc1\x9d\x1e\xdb\xd4?\xa2\xc3\x0bi\xe9b\xcdF\xad\xad5U\x15\xd0\xfc\xab\x8fH\xe9\x8b/[aME+\xc3\xe4v\xa4h\x16\xed\xfe\xaf6\xae\xd1\x12\x0b\xd3h\xa9\xd8\xb5c\xe0\xb1\x7f\x16\xf8\xc5=9\xcf#\xa1\xfb\x12\x85\n\xd6\x01\x01r\xc8\xda|\x1fa\xefP\xc2t\xbf\xcc1\xd5j\n\x957\xa8du\x01\xba2}\x02\xeb\xaep^\xb4\r\x84\xfd9/\x9fF\xf7\x1d\xdb\x9f=(\xba\xcdc\x01\xaf\x132\x17p\xbe@\x88\xab\x92\x9d5\x9b\xa5z\x84o\xa8\xbe\x0b\x1e@\xa9f#\x13\x94#\xcbd\xe0\x1c\x1c\x8cI\xe7\xd6\xfa\xef\xb3bK\xe8\x9cP8s\xf8w\xaa\x8c\xf7\x9dU\xb0$\xab$k\xb0\xce\x1d\xe1)\x84\x8f`\x82\x8040\x9c\xf4\xb1\xafj\x00F\r?\x15\x07\xfb1\xae\x99Lx\xa4F\xfe\x0e\xe1\xa0\xfd\x9d[\xb8*\x92\xa2]M\xf51\x86\xebvl\xebF\x1c1\xdch\xdbs)1\xb87\x00\xf3c\x93\xf2`\xaa\xc7c\xe5\x9d\xb2|\xf5v\xd5\xd8\xeb\xd4\x1b\x1a\xf2\x04\xbak\xe9%$7W\x95%\x1e\x99\xa7\x19R\xbf\x16\xae\xbc\xd3x\x93\n\xba\x01\x01r\xc8\xda|\xdeH\xf8O\x18f\xe2\xb7\x11\xb0\x82\x18u"\xfa\xf7\x03b\x90f\xd1\xa9\x08]G$\x8e\xcc\xe0:p=\xdcZwf\x13]\x96\x12\xd9\xb6}\xd3\xfb\xedo@q\x91\x7f<R\xd8\xf6\x04\xd8\xaf\x95\xf4\xc6g\x14\x1fz@\xc3\x0f\x0c\xa7\x14G\xcfnIu\xd3Qi\x1b^\x8cso\xfeI9\xaa\xb8(w\x9du\x84\xf6\x9c\x10\x9c\xe1p\x1d\x02>S4\x83\xbe\x85M\x94\x1dj\xd6\x8f\x87\x0eC\xa0\xc7\xb2\xd9\xfax\x1e\xde\xae\xa9=\xd1\xce\xbd\x9c\xb24\xa7\x15\x92\xb3a\xd9\x98\r0\x14W\x05-c3\xe3h\x1f.+\xd4X\x1d\xab2\x969\x9ep\x8d>\x96n\xb2\xd8f"\x93\x03\x8d\xe5?\x93\x0c\xc2\x0e\xee\n\xe4\x01\x01r\xc8\xda|\x03\xfc-\r\xe1\xf9m\xebtK\x03\xf7\x16\xe29Uh\x10\xa3\xa6\xd5>?b\x84\x10\x12\x97\xff\x987\xb0\xd9\xc3\xdc\x98\xc7\x1a\x01\x17m\xb2\xcc\xc1\xcd\x9d\xc2\x06\xb8J\xa0\x85\xddF\x13\xb8\xd7\x80\x95MS\xcdC$\xaa\xa2\x849\xd6\x97futF\x1b\xc9D\x95\xaa\xd1\x12\xcd\xb3 \x92c\x0e\xe1\xa1\x0b\x93\xe9{\xdb\x87\xa7\x8da\x0f\xd2\x99z$\x89\xbf`\xd5\xebj|\xc6\xc2Q\xd9L\\\xd5/\xe5A\xc5\xe0\xf7\x08\t\xc9`\xfeS\x94\xe6\xed\x95\x81.\xf8\x04\xbcS\xc7\\t\x9e\x9e\xc0@H\xacJ\xf4J\xe5{D\xcd\x08@\x05k\xa6s\xbb\xc9\x89\x81g\xfe\xc5l\xbd\xccr[>d\xfb\xfbOa\x16%{\x8b\x01\xb7\x95\xb8\x1f\x00y\x13~\xba \x16H\x80\x83\xec\x01\xebD@\x16\xad\x89\x06\x8a\xc5E\xddc\xb7\x8b}1(\xb1-\xd4\x84\xe5\x12\n\xd4\x01\x01r\xc8\xda|\x88\xd9P\xc0BS\x8a\x0c\x1eJM\xb9\x90@,\xe0\xd8\x1b\x19\xbf\x16u"\xa0` \x03\xff\xf5\xe8\xb8z\x85&2\xfdS\xc75\xbc1/\xeaJ\xa1\xd3y\xef\x02\xb5k7\xff!Q\xddG\x99G\xfa;\t"\xa6\x03\xd7\xf7)\x97\x16Y\xd3\xbe\xa2\xab\x11Z\x1ed\xbf\xacS\x03\xc0%\xb8\x1f\xd4\xc9twmTx\x18P\xc5\xe0d\xa3\xcd\xdc\x1bA\xba\xe5\xbe\xb2\x18{\xbb\xae\xd3V\xc0\x0cC\x12\xe9\xc0\xa4\xdd\xcar\x0f\ry\xcd\x87\x8cd\x88\x08\x1a \x17[vW\xfc\xa5\xa9/\xa9\xa2"\xf6x\x1fx\xe6,\x07\x9e\xbc\xc7M\\qu\\\x9c\x82R\x92\x1c\xdc\xb4\xa4e\x94\xccq\xd4\xce\x88\xdd\x88\x9b\xe9I\xa3/\x92]\x15\xe2j}\xa8\xd1\x99\x9c(Q\xca\xed^@"\xc8k\xdc\x98;\xee\xa2\n\xb8\x01\x01r\xc8\xda|6#=\xa0+\x00^\xf9\x8ez5\xae0\xb3\xba;\xa5\xb9S\xdc\xd5\xa6\nM\xc4T\x8e9\xd6\xc5\xc8\x1e\xda^\x15&\xf4\x13\xae\xd0\x9d\xc7a\x85\x9f\xfb\'B\x84\xa6c\xa7\xd8\x8f-1"\xed}FN\x80\xa9\x10YQ364\xc5+\xd6\xbc\xa5\xfa<@E\xd5*yw\x19\xde\xd2}%\xc5o\xb5C\xc2\tI\xac\xc8U\xb3\x0f\x80[O\x95\xd3pT\xeap\x15nG8\xf8\x1a\xb1\x13(\xa6\xd6S~\xda\x8a\x0b\x03\x91\x078\xbf\xb2\x975\x1e\x97e\x8b\x87\xe8\x96\x9f\x03\xc71b9\x86\x01L\x0e\xcc\x03\xff%\x02\tG\xf8\xdb\xd6\xbc\xa2\xfe0\xc4\xb0\xf3\xf4\x99\xdal\x7fx\xce\xee\\\xc7\xfb-\xc1',
                                "video_metadata": None,
                            }
                        ],
                        "role": "model",
                    },
                ),
                UserMessage(
                    content=[
                        ToolOutput(
                            id="google_unknown_tool_id",
                            name="get_book_info",
                            result="Title: Mistborn: The Final Empire, Author: Brandon Sanderson, Pages: 544, Published: 2006-07-25",
                        )
                    ]
                ),
                AssistantMessage(
                    content=[
                        Text(
                            text='{"title": "Mistborn: The Final Empire", "pages": 544, "publication_year": 2006, "author": "Brandon Sanderson"}'
                        )
                    ],
                    provider_id="google",
                    model_id="google/gemini-2.5-flash",
                    provider_model_name="gemini-2.5-flash",
                    raw_message={
                        "parts": [
                            {
                                "media_resolution": None,
                                "code_execution_result": None,
                                "executable_code": None,
                                "file_data": None,
                                "function_call": {
                                    "id": None,
                                    "args": {
                                        "title": "Mistborn: The Final Empire",
                                        "pages": 544,
                                        "publication_year": 2006,
                                        "author": "Brandon Sanderson",
                                    },
                                    "name": "__mirascope_formatted_output_tool__",
                                    "partial_args": None,
                                    "will_continue": None,
                                },
                                "function_response": None,
                                "inline_data": None,
                                "text": None,
                                "thought": None,
                                "thought_signature": b"\n)\x01r\xc8\xda|X\xbf\x85sq\xe1\xb2o\xf4M2N\xad\xfbKY\x8e\xb1\x82&Q\x83\x8e\xf4`C\x19\x83\xda\x85\xce\xc0My\xbc\xef\n\x91\x01\x01r\xc8\xda|#\x12b?\xfa\xee\x9dg\x0f\xf8\xec\x9b\xb2<'\xbf\t\x8d\x03\x8e\xbf3\xddFo\xe2N\x1b\xc7\x1bc\x1aW\xa9\x8fv@A\x05eZ\xf3z\xd5/V\x87\xe7\x7f{\x14#F\xb5d.\x8f\xa5BN\x13\x90$:S\xcfM\xe9f\xda-\xa3N;\x1d8\xd5v^\x00q\xcbuD\xe03\xaf\xfa\x0c\xca\xd2$:\xb2\x8e~\x06;#}\xc7\xfb(\x97\xd3\xb58\xc3\xc9\x0e$\x17\xc9\x0e\x02s\xf4\xbc\xccr\xf5u\xbc\xca\xf0\xa3\xe6y!\x9a7\x1b\x99\xc9\r\x0b\xfe\xc47\xe5\n\xcd\x01\x01r\xc8\xda|\x17\xf1\x90?5\xf1M\x93\xc7\\0\xb8\xa9\xf5\xa4?5&LX\xbc\x8a5\xb8\x85\x94\xd9\xe0\xb9x\x83\xa6(\x15\xe4h\xec\x9eYY\xd0\xd7\xb4q.Bv\xbd\xbe\x96%\xca\x03,\x10+\xa7\x00Vwt\xa8\xaa\xe7\xf8\x15{\xb0j\x08\x1f\xf9`\xa5&\x1fC\xbc\x0c4m*\xc8\xa5\xbf)\xe8\x90s\t\x94K\x84$\xc8#B7Z\xab\xf6\xab\xb3\xef\x06\xed>\xa0\xb3\xca=\x9c\xa3\xbb\xb7\xab\xee5\xdb\x08qj\x9e\xc6\x95(\x03z\xbc\xb7\x97\rU$l`\x8fb\x95\x06x\xff\xea\x9e\x94\xfei\xb1@}\x975\xd4f\x17w`\x8d\xee\xc3\xcd\tZ\xf5\xe6\xf1k\xf6\x06!G\xa6y\x83GvF.t\x85`K\xdf\xba`\xa4\xffu\xfbC?\x03\x85_\xc0\xc2xM\xc0\xdf\n\xf1\x01\x01r\xc8\xda|c\xc5b\x1c\xfeF\xb3\xde\xbf9\xbe\x9e\xcb\x81\xc7\x84\xd4U0\x0b\xee\x0b@E\xf8z\xf7\xb4\xc2\x98\xbe\xf7\x7f\xc3\xefa\x7f%!=N\x903\xde\xa7.\x11\x92y\xe1\xa1\x17\xed\xc8\x97\\0W3*\xa4\xac\xa5{\x05C\x8b\x8b\x17\x85\x0e;\xeb\x1b\x02\x8a%\xb0I\xc68X\xc6\x1d\t9\xee\xb4\xb8z\x1d\xa0q\x1a\x14\x85Piy+\x97G\xa7\xf0\xa0\xc7\x1e\xce\xc9\xbc\xb9\xce\xf9\xb5\xbd\xaf\x18\xb1b,uu\x8b\xe6v\xea\xf0l\xc7\xc2!2\xe0K\x98'T\xe1F\x90\xd94\x01\xda\xad<\xa3B\x8aSh\xe0\x1aS\xd84i\xfcAQ%\x80O\xdd;\xcb\xfaER\x14\t\xd5\xd0\xccj&\x8dz\xd8\xd8\x004\xd1o\xacq3\xfc$z\x895+\xc4c6\xd8@\xc6W\xabl]\xbd\x02\xf8\x0e\xc7\x82\xcb\x06\xd7\xb4\xfd#sV\xcaK\xc4\x93\tO\xe7k\x8c\x08|I\xc2\x8c\xd0\xf8\x0b q\n\xad\x01\x01r\xc8\xda|\xdaFX'\xa2h\x19\xca\x10\x10\x173\x08[-\x16\xc4\x87%\x1aV\x81\r\xeaE\xeeN=\xa6x\xa0\x17 \xf1\xe0\xa3?\xe0l4\xd8\xadG\xe1\xfcF\xcbm\";\xc0\x8f\xe1v\xa2K\xe4Y\xc6\xa7a*\x9f:\x99\xa0h\xa8\xe1\x12\xf0`\x88H\xb9u\xb5\xa9\xbe=Hn}\xf6\x8b\x12x_\xfc\x0c\xb4\x9c=\x84\x9aTA.\xafc\xb8\xc5\xcf]\xb3\xa1\xba\xf8;\xb6\xd7\xec\x11i\xdb\xc75(ss\xa2C\xed\xc3\x00i\xa7\x0b\xfa\xe4\xccW\xb2\xdca5a\x04u\xc5\x92\x15\xc9\x1b\x05\x10f\xb3\x93\x901J\xdc\xcdQ?8\xf6/~<\x8c\xff#\xff\xa8\x8c\xae",
                                "video_metadata": None,
                            }
                        ],
                        "role": "model",
                    },
                ),
            ],
            "format": {
                "name": "BookSummary",
                "description": None,
                "schema": {
                    "properties": {
                        "title": {"title": "Title", "type": "string"},
                        "author": {"title": "Author", "type": "string"},
                        "pages": {"title": "Pages", "type": "integer"},
                        "publication_year": {
                            "title": "Publication Year",
                            "type": "integer",
                        },
                    },
                    "required": ["title", "author", "pages", "publication_year"],
                    "title": "BookSummary",
                    "type": "object",
                },
                "mode": "tool",
                "formatting_instructions": "Always respond to the user's query using the __mirascope_formatted_output_tool__ tool for structured output.",
            },
            "tools": [
                {
                    "name": "get_book_info",
                    "description": "Look up book information by ISBN.",
                    "parameters": """\
{
  "properties": {
    "isbn": {
      "title": "Isbn",
      "type": "string"
    }
  },
  "required": [
    "isbn"
  ],
  "additionalProperties": false,
  "defs": null
}\
""",
                    "strict": None,
                }
            ],
            "usage": {
                "input_tokens": 808,
                "output_tokens": 49,
                "cache_read_tokens": 0,
                "cache_write_tokens": 0,
                "reasoning_tokens": 147,
                "provider_tool_usage": None,
                "raw": "None",
                "total_tokens": 857,
            },
            "n_chunks": 3,
        }
    }
)
