from inline_snapshot import snapshot

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

sync_snapshot = snapshot(
    {
        "response": {
            "provider": "google",
            "model_id": "gemini-2.5-flash",
            "params": {},
            "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="google",
                    model_id="gemini-2.5-flash",
                    raw_message={
                        "parts": [
                            {
                                "function_call": {
                                    "id": None,
                                    "args": {"isbn": "0-7653-1178-X"},
                                    "name": "get_book_info",
                                },
                                "code_execution_result": None,
                                "executable_code": None,
                                "file_data": None,
                                "function_response": None,
                                "inline_data": None,
                                "text": None,
                                "thought": None,
                                "thought_signature": b'\n\xd1\x08\x01\xd1\xed\x8ao:?\xf6\xc7\xbb.\x96\xa9\xf7\t\xc9\x9bE,\xaf\xd9\xe7X\xf9:\x0c\xc4D\x1bLk?\xea\xce\xdc):e\xfd\xee\x15zM\xcd\x7f\x83\x866\xc9\xd1\xf4T\xcb\xbd\xbd]\xa75\xc7\x11f\xbe\xbb<J\xfd\xa9\xb6)\x0f1v\xc2\x14\xc4\x15\xb5\x96c\x04q\x1e\x8e\xfd\xb2\x9b\x9d\x1ap\xbd)\xa2\xed\xf5\x9b\x14`\x07\n\'\xf1w\xd7\xd6\xb8#Ju\x8f\xc1@)8\xd0f\x1e~,;]\x14\x17i\xa9\xed+\xcdX\xd5%\xb4ufa\x1c\x91~\xe5W\'\xe0\x9f\x96m\x85(\xf0\xad\x18\xf0\xe3K\xd9\xd5OE\x95\xb6\x7f\xd0y\xf3g\xf0\x0c\xcfw\xa3\xdeJQ\xf2\x95\xa2M\xe6\\\xe5\x17i\x95\x14\xb8Y2W\xecr?\x03\x91z\x86\xea\xc12\x88\x04\xb3\xbe\x1aA\\\x97\x05\xb6\xed\xefG\x9f`c\xb5\x02\xa8\xf6K]\xa0\x92Z[\xa2\x00\xf7oi2#\x1b\xe7\x81\x9e\xbc:\xc9W\x9a\xfc\xfa\x8c@\xa4"\x1d3\x0b\xa4\xab>\xfc\x90\xe6\xfd\x90TsW*b"A\xb2`r\x0c\xd3\xccR\xf8\x0cP_\xf4\x88\xf0\xabiT\x048Tk\xec\xf4T\xd7\xd9_\xbf4\x11\x9a\xae\xa1\'R,\xdaS\xc0\xfeQ\xf0B\xa3\x1d\xb70\xca\xc3\x16}"\xcby3\x92 \xbd\x14048\x85\xf0\x91%\xb5 \xc7"K}\xdb\xbe\x102\xdd\x80p\x1aJ\x80\xc3\x04  \xd3\xa5xq\x96\x8a\xbf>\xd9\x0b\x1d\x83\x04\xcc\x97\x83\xb1Jd\x0f\xd0\xe9no\xb1\r.\xfc\xa4\x920pAy\xf6\x08A6\xf5I]^(Nw\x18O\x17\xaf\x11>L0\xb2\xde\xdd\xad\xc9\xd2.\x91g\xc4\x13\xc0\r\xbc\xf7sr\x7f\xe9\x10\xe5\x92\xf2fl\x9b{>d\x03\x95\xc7\xea\x92I!{\xdf\xb5g\xf6\xc4\xfd\x9dv\x1e\xdd\xc4\xae=\x9c$\xd2Mlzm\xb7\x83\x89/\xe0 jx\x01\x8e\x8f\xc6\xd5\xeb\xdc\x92\x08\xe6\xa0\xe00\x82\x86a\x8a\x9dP\xce":\xee\x9f\xd9-<K\xa1\x0c\x8bg\x00\x0e\x02\xe3\x04\xf7\xc5\x14\x85\x06\x00\xd4\x9a)4\x8e\x9aW(\xaaqfn\x08\n\xce\x00SR\xf8m\xd4tL\xd2I|kh\xd4\x16\r\x18"\x92\xc7\xc8\x93qH\x0f\xb6\xfe\xe0\nkao\x01\xfb<\xbd\x01\x1e\xa1!\xfa\xdaJ\xfcaJ\xcc\xdd%E\x01\ne\x01w\xc1\x1a\xd5q\xef/\xb1\xb9\xb2\x99\xa2\xfa\xbf\xd3\x1b\x02\xb6\xef\t5\xbf^\x16Y\xc4\xfc\xc6\x84\x1f\xca\n\x06\xf6<\x8e\x8d\xfeX\xfd\xe89\x98\x12;\xfb\xe7\xa9^\xf4\x82\xe3Q\xe0h\xb3\x8c\x13\x0f\xe93\x06\x11\x1b?`/\x95\xccu\x93\xf50@BH\xed\xdc;\\\xee\x9e\xcd\x03\xd6"A\xcd\xe8\x98+\xa1\xbd\xc3T\xac\xc0\xde\x1080\xd8C\x93i\xff\x99\xe9\xdc\x1c\xe9\x87\xe2\x08\x9f\x05\x12\xcd\xd9\x0c\xd3\x89F\x8dH\x00\xf2R\xbb\xbd\x8f\x7f:\xa5_\xfd>V%4\x12!\xc7u\x93a;\xe8\xf1m\xeaH1\xc7N\x90\xf5f\xa0\x82\x13\xfe\x91R\xdd;y.\xf5!w\x80\x81s\xdb\x9eL\x85\xac\xae\r\xe40\xd3\x1e\xa1\n\x8d\x14|\xd6\xc3\xae\x02\xd6oo\xd7"N\xe6S\nn$IQ\xb7\x9aFM\x83\x80L5\x10\xb0\xb0B\x88?\xc2\xfb\x94`\xb0%\x96JST7\xcf\xd1\xdaD\x1a*\xd0\x93\xafx\xbf\xf7\xd6Qn\x1ezE\xf2\x82G-\xaa\xeel</4\x1d\xa9\xdaF\xf5c\x10\x88\x8c\x8c\xba\xcb>\xf66\xf3\xe8\xb7\xc6\x14A*\x0e\xd5"MDV\xbaj\x88\x96\x8f\xec\x12_m\x05\x97\xe2zH\x14\xb0\xaaE\xc3L\xc91\x11\x12\x87E\xe1w"\x0b\x0ey\xb2\xc6G\xc1N\t){>8\xacz\xdb\xfa&\x05\xf8\xd5\xd1\xe9xH][>\xd0\xfc\x88%E\x19\xc7w\x87\xc8h\xae\xf7\xd8\xfd\xaa\xf7;K\xd4\x91\x13\x039\x87"\x16\xf6D\x93jf\xdc\xee\x93\xab?K\x95!g\xae\xf4\xa2\x0c\xb5;-\xb8\xeb\x89\xfb|\xdahs\xa4\xd8\xcdM;\x8fCf~@r\xf8u+*\xac\xb6\x85(\x17\xde\x1f&\xbc\xde\xd2F\xb0#T\xc6[\xa3{\x13OK\xb4p&\xac\x81\xa8\rE\x84\n\x065\xb17\x81\x8b\x92\x1e{\xb3\xd6\xc7\xc0\x97.2\r@\x12X\xc8\xf1f\x8a\xeb+\x80\x9c\xf5_4Nc=\x1d\xfa\x06\x10L\xe7\x7f&\xebX\x1b\x99\xa5b\xed\xc3\xad\x85\xa5q\xb1\xca\xca\x03W\xfc)L\xf6\xe2\xff\x17V\x07+0\xfe\x15RK\xa4\xdc\xe2\xe7o',
                                "video_metadata": None,
                            }
                        ],
                        "role": "model",
                    },
                ),
                UserMessage(
                    content=[
                        ToolOutput(
                            id="google_unknown_tool_id",
                            name="get_book_info",
                            value="Title: Mistborn: The Final Empire, Author: Brandon Sanderson, Pages: 544, Published: 2006-07-25",
                        )
                    ]
                ),
                AssistantMessage(
                    content=[
                        Text(
                            text='{"title": "Mistborn: The Final Empire", "publication_year": 2006, "author": "Brandon Sanderson", "pages": 544}'
                        )
                    ],
                    provider="google",
                    model_id="gemini-2.5-flash",
                    raw_message={
                        "parts": [
                            {
                                "function_call": {
                                    "id": None,
                                    "args": {
                                        "title": "Mistborn: The Final Empire",
                                        "publication_year": 2006,
                                        "author": "Brandon Sanderson",
                                        "pages": 544,
                                    },
                                    "name": "__mirascope_formatted_output_tool__",
                                },
                                "code_execution_result": None,
                                "executable_code": None,
                                "file_data": None,
                                "function_response": None,
                                "inline_data": None,
                                "text": None,
                                "thought": None,
                                "thought_signature": b"\n\xcb\x04\x01\xd1\xed\x8ao\x1bY\xfa\xcc\xba+HF\xe3aM\x8b\xc7\x87T\xf4F\x84mP8$l\xc9\x16\xdc)\xf6?M}\xd6=&^Y\xae\x9fG\xdd\xaa5\xd5?b\xe6\xf6w*B,\x0ck\xac\x0b\xa8\x1a\t\xcavy|\x89\x97&`\xeb\xdc{x\x12_g\xc2gF\xbe|o\xd5@:fv\xcf9\x86\xb5\xc9\x00|9\x18D\xdb%\xfe\xcf\xc6Np\xa030\xcfV\xa2?x\nB3\x85&\xb62W\x0e\xbc\xf40\x06\x83\xd2J\xe9\x1bGV\xa0\xd1\xb01\xab\xe5\x1co\xe1\x9fq\x03\xee\x13\x9b&ADr\xba\xc3U%w\x9f\xdd\xbd$\x94J\xeb@F\xaf\xc2\x07\xad~/\xcf\xd8\xd3\x9a\xa4,\xf5\x160\xef\x89\x89m\x9c[\xdbJP*\xeaa\xd5\xd9\xbd4bzp\x84\xac\xa1\x87\x04;<\x83\x12\xc4\xd3\xa1\x8f\xd5\x7f\x94\xa1\xf9]\xc8.\x0b;\xbc}{\x87\xc9@h}\x83E\xf2\x9eT\x12\xd5\x7fC\xa8]\xba8\x80e\xfb\\\xe5$q\x9e\rh?W,WH\xc4E\x9d'@\xc9\r\x8b\xde#\xf9Q\xd1lb-\xbfR5 \xf6\xa8\x8e\x04\x9a\\K3\t\xbb\ryg\xfc\xec\xa7]\xcf\xe0b5\x07\xfe\xf8\xa5\\\xb9\x85Z\xe9\xf1\x03\xb1\x18\x05<a\xb8\x99\xb9=4%3\x05\xbc<a\xef\xe1N\x9a\xeb\xff|\x9d\xc4\xb0n\x9b\xf6\x10y'\x06\x01\xa7\x87\x7f\x15R\x15yd1\x08\xaf\xfc=;\xf8V\xe3pr\xe04\x1e\x12=0\x9b\xbb%\xa5\xab\xcf3\xb02\x9b\xf3\xd5w\x90\x9e\xaa\xb6\x84\x82\xaa\xa2\xa8\x9aN\x99\xaa\x0f\xe2\x90\x94C\x95\x1e\xc7=\x01\x0b\xeaN\x0f\xc6fD\xcc\x18\xb21\xeb\xc4FuJG&\xd8kPP\xefegs\xf8\xc2\xc2\x93e\xa1:\x9dY\x11\xc2\xe8\xd4T\t \xdc\xf6h\x8a\x99,N\xcfVE\x1d\x1d\x03p\x03!E\xaa\xd5~\x1f7\xf3\x8bp\xc0\xed\xfc\x03\xc7\xe7\xed\xac\n\xcf;\x15L\xa5\xcb\x15\x1a\xbb\x80\x19k\xfa\xef\x1c\xab\x95h[u\xc3\xaa\x01\xa5\x14\x19\x8a^\xe1\xdfq\x0e\xba\xe2\xe2\x1c\xa5\x0c\xd3\x9e\xcd\xf9cu\xb2-\xbdT\xf6\xb4`\xd5H\xf6\xddc\xc6P\x0f\xf0d\x86\x7f\x93\x8d\xc1#Y[\xaak2\xbe'\xd5\x02\xcbq\xf8<\t\xf3T\xc8;\xe4e\xca_\x8dt\x19\x9f\x88\xa9\xb1\x9c_\xcf\x07\xe0\x9b\xa3l",
                                "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": False,
                }
            ],
        }
    }
)
async_snapshot = snapshot(
    {
        "response": {
            "provider": "google",
            "model_id": "gemini-2.5-flash",
            "params": {},
            "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="google",
                    model_id="gemini-2.5-flash",
                    raw_message={
                        "parts": [
                            {
                                "function_call": {
                                    "id": None,
                                    "args": {"isbn": "0-7653-1178-X"},
                                    "name": "get_book_info",
                                },
                                "code_execution_result": None,
                                "executable_code": None,
                                "file_data": None,
                                "function_response": None,
                                "inline_data": None,
                                "text": None,
                                "thought": None,
                                "thought_signature": b'\n\xb1\x14\x01\xd1\xed\x8aom<\x01\xa9<\x97\xcc\x03\x0f\xe2+F*\xb1qI\x96~\xb5&9\xcb\x04p\x0e\xc1S+\x03qzx\x96\xf3S\\\x1d\x9f\xde\x1d\xdb\x97\xbf\xa6\xe57K?\x04\xb3\xa9`\x99A\t\xdbs\xfc\xdfU\xbac\xc3\xb3\x8e\xca7\xbf\x9eXF\xac\x08\xf8{\x1cs\x92\xcf\x18e\xe3\xd3r\x88\xdf8\xd2\xc6\xaf\xb0\xc8\xad\x02h\x18cP\xebE\xec\xb2\x81u\xb1\xeb\xa6\x9c$\x95*\xcd7\x87\xabe\x08\xec\xc4K\x02kC#Y\x7f\x06y\x91\x81a\xac\xcd^\xc2\x9b8\xa5\x12\x08\xe7\xece\xe0\xbf\xa6\xe6\x91\x87j\x922)\xdf\xb9\xa8\x14C\xf7M\xd4\xd4o\xa1T\xd8\xc4\x7f\x93c\x1dX\x1e\xbez\xc6\xf4\xbf\x8fD\xe4O\xb7\xbb\xefj\x85\xe5|"\xab\x06n\xac\xb7"t\x17\xa7\xd1_Di<\xb5\xf6\xec\x1b\xe8t\x81\x95\x11\x9a\x7f\x94\xc8XY\x05~5[\xb9v\x14\x04\x87c\xa2l\xf1x@\xa9\x85c\x11\x060\x8a\xce\xdb\xe7\xc9\xf7\xd1mYz8_\x13\xba\x8e\xe7@\x80\x04+u\x1f\x7f\xd3\xbcK\xdb\x10\xe5\xd0\xd18\xbbN\x1c#\x16\xf1CE5T\x81p\xa4:\x07\xba\x8e\xfe\xd6\x0bn\x83:\xfc\x0f\xb1\xc6\xbe\x99\x9f\xdd\xb7\x1e1\xaeB\xa4\x07\xb7&\x16\xebG\xdc\xe4)\x89\xf7\xc4\xfe\xe4\x82\x93\x96\xbd\xf6?Gb\xa4!^V\xf7\xe6c\x10c\xc5>u\x11\xaa\x92Y\'\x1d\x0f\x9f\x97\xcf$\xf5p\xd5c\xf1\x0b8\xa1^@\xfc\xf2\xf1tO\xa5\xdc\x93Huh^\xf7r\xec\x16\xcdc&\x8aok2nC[\xd1\x80\xdb\x9d\xfeg\x1cP\xff\xc5\xe3\xf53\xc2\x94\xea\x9f\x92\xf5\x121L\xa1xy\xbaH\x9c1\xf9\xa5\xa5(\xf7\x1d\xd8\x99\xf5C\xdf\x96.\xf0\x96\xc6\x01\x00H\xd0\x9c:$\x85\xdb\xb1\x7f\x95\x19\x958\xcd\xc9.\xb6\xcb\x05LQ\xa19\x9c\xbb\xab\\,\xa14`\xcc\t\x99\xcd\xa8\xc5\xa6\x0f\x19V"\xd1l7UO\x95\x81\x8c\xfb\x8a\x89\xc3\xe6Z\xb8\xab Tt\x0fj\x99\xd8\x89\xf5tYH\x86? \x18S\xdc\x97\'\xa1\xee\xa3\x0edm\xafC\xe9\xab\xaf\x7f\xe09\x92f{w\xabk\xee\xd9C\xe6y\xd9\xb3\xe9+4\xae\x12\x8c9\x18@*!p\x05\xd3\xf5\xfcJD\xfdS\x10C\x87\x9d(\xe0Z\xd5\x1e\xbc|\xf1\xedW\xf9\xb8\xa8\x8f\x1e(U\xae\xdcr\xea?[A\x11\x82o\x8fR*\x92\x0eP\xa5\x91\xdfg\xda@^\xbd>\x08\xbb}\x06\xd8\xbb\xeeI\x9e\x83\x07\x0c}\xa4\xba\xb0\xe4\x92\x15\x86\x0c\xeaW\x98\xec\xda\xfa\x98\xfb\x9aY\x0c\x87s\x7f\x0ey\x8c\xf6}\x123!_\xbd\r4\xb1\xdd>\x9c\x12\x9ao\xb5H\x8c\x99\xb55P\xf9,`\x02\x02\xe8,Q\x91\xa6\x17\x07\xbc\x12\xa7\x00"\xd6\xa7\xa4-K\x8d5\x19\x01\x9c\x01\xb9\xc2\xcal\xf4t\x8e\xd4\xd8F\xeb\xe9pF!\x90\xb0\xd2E\xb5\x0e1\xdaUV\xebpL\x10\xa4a\x82\xf6Ua\x90\xc1\xf1\x8d"QN\xa9\xb8\x04\xb3\xf3M\x01\x9f<\xde\x0b\xe1\xfe\xb9\xa7M\xd4\x9f7\t\x999\x11W\xb6m\x90\x01\nn\x1e\x16\x9c\x9a\x1e\x15\xd6\x11\x94#ZN\x8fr\x12\xb4\xfeZ\x95\xa9\xad\x9a\xa6\xe4\xf8`\xab!FkC\xee.\x8c\x85\xdc\x99\xbe\x06ye\xc6]\x9d;J\xa8A(y\x00\x07l\xb3(\x08\ny\x013C\r2\xe6s\xde\xd5\x1eG\x01{\xb7\xb4x\x1d\xc4]\x05\xa2 \xb40\xaapD\xf6h\xb0@\xfd\xb38\xb87\x86W\x80V;\x05"\xc0g\xb4\xa9\x13\x8d\x1b\x1c1\x11\xc8\tC\x18s\xc9\xe10\xebg\x07\x0b\xf8\xde\xa3\x7f^`\xc3=J\x0c\x9a\xff\xfa\xab\x04)\xf7\x0cM\x12]4\xa5\x9f\xf3{\xe9mBw\xb5\xbe\x96Pc\xb3\xd0\xc9\x93Z\x92\xb4\xeaE\xc6n<\x164\xc3\x04-\xb6\xb6|\x90r\xaa!e\xb1BCrR\xa0L\x19\x9fI4S\xb7=\xebvD\x8cl\x12\xe0Y\x04\xdb\xdb-\xaf\x9c\x98\xba\xd4\xae\xc9\xb6!\xff\x0e\xd2)\x9e\x03%\xf6\xe4"\xe7\xec\xe3>\x93\xd7\x8d\x87\x82\x91:\xc48\xa6U\xe8\x95\x1a\xd3i\x8c8s1\x00\xad69\x03m\xadX\xea\xfe\xde\xc6&\xf7\xc7\xecrI\xbe\xf7{$R\x04 nV\xbe\x1c\xaa\xbe\x0b\xc6\xf2|\x15B\xc7\xd9\x0e\xad\x81\xbc\xc8\xe0,k\x92\x9f\x16\xfc\xd5\xa8\x95))\x90Df\xbb%w\x9dm\x06%,B\xd60\xc6\xab4\x97\x81\x0e\x9b\xaf\x1e\x101<V\x08\xd8\xa4A\xca\x9dv\xba\nEC2v\xd5#\xe2\xd2\x12\x03\xaf2X\xbaU=C\x0c\x9f\x15\x02\xcb\xf1\xd3\xcc<\x9d\xe7\xcb\xc3\xa4\xfd\x16\x86\'\xa7[\xc8\xe8\xc4(\xd4\xefP\x85\x11_\xaa\xbd\x0b\x1e;\x84\xd4\x0c\xd5\x0b\xae\x94\xf51\x19\x02\xdaZ"\xd4H\x88!\x80\x86 \xf0j\x0b\x92\xf16Y\xa4b\x1a4\xd5\xa6j\x12\xe7\xb0\xd7\x85[\x99\xa3vM]Z\xa7\x10\xb9ru\xab\x0bvx\x8e\x05Iv\xb5 \xc3\xfc\x9ao\xfe\xcf0\xd2\xa2\x9b$\x83]k\x1cd\x8eb\':\xab\x18\x13\xcd\xc7\x8b\x03Pp\xd7\xa0-:\xdf.?\xf3\xcfS\xbes:&\xe1\xa6\xf9\xfb\x90%_\xf0\x17\xcb\xf6\xf1\xd0\xbc\xf8\x8a\xfdO$\xa2\rTv\x90\xafG=8\xdb\xe9\xcaeR\xba<\xf7\x9a\xdc\xc1E\x89\xecH\x19\xe1\xe0\xf3\xd9;\xff\x88\xf2g~;\x97*\x82\xb8\x04\x88\xd5\x9cUJ\xfb6\xf4l\x06\xb3~\n[\x04\xf6!\x8c|\x0c\x83\x9dRy\x99\x19e\xb7\x0b\x88\xe6d\xb6\\{\x03 %\xc0\x1b$\x1e\xb4\xc5z\xee\x10\x10i\xd4P* \xe2F\xdf`\x9av!"\xa8p\xdfY\xfc8Ii\x1d\xcb\xe5\xe5\xb1B\xa7\xcd\xd3\xfb\x90\x8c\xf1\xe0*f\xc5y\xcfrD\x0f\x82S\xd1\xb2\x87\xfdB3<\x87\x8f\x85\x97\xed\xda R\xc7\x81p~\xc1M\xf4\x95\xf6I \xfc=\xd8\xcb>\x92^V\x84\xd1{}@>\xa0N\xb0\xf2\xb1\x88\x7f\x89\x89;\x8a\xff\xd1y\xa5H\xf4\xe2<\xa1\x02Mx\xec\xc4\xe7\x0c\xbe/`\xb0\x1d\xb3\xb1\x9b\x01\xae\xb3C\xe0\xc9\xcc/c\xc1\xae$\xd5\x87\xbf\xf6\xdb<\x15\xec\xf1\xa2!\xf6\x12\x9c\x91\x8f\xb5+\xfd5|\xff]\x11\x80\xa8\x93\xcdy\x13\xc4D$\xec\xd3\x8c\xc9\xeb\xd0\xc6\xa1&\xb5#\xdd\xf0\x99\xba\xa5\x0cj\xa4N\xd3\xc9\xb1\xacc6jT\x04I\xd3\xfd\xf7\x80\x08\xab\xfeq\x01\xfcdr\xba\xa5\x90Z\xf6k\xbb\xb2\xf2\xecs\xdd\xc4l`\xef\xfe\x15\\\xe5~\xa4\x90\xdc\xfc\xf9\xd2\xb5,\x81\xa6\xa6\xbe\x12\xb6\x82C\xa9y\xf3\x8a\xff])\xc1\x0f\xbe\x0e;\xae\xbc\xb0\xaeY\xd9h\xa7q\x11\xfb\xe5,\x8cDDm\x14\xc6\xf1\x85DT\x84\xcb\xc5\xca\xf9\xe2\x91k\x86\x00\xd4\x92`V\xff{7\x195\x81^_-O\xa5\xf3\x01\x8a\x0c\x0c\xb99\xab\xb3N\x11r\x9a\xc1\xa68\xf0\x9dv\xa1u\x90k\x81[d$5\x1e{\xd6H\xbaQ=\x9b\xd3\xe8r\xf9_\xb8(@\x90^\x1b\xcbwl(K\x85\xcf\xc4\xdf\xf4\x9d\xafA^\x8b*{mT\x98\xf1\xeaG\x0b\xe6J\x8b\xa7\x8f\xd9\x97\xd8\xb4\xc3\xae\x10\xc4"\xf7\x14(\xb1*?\x17\xf0\n\x02\x84\xd2\x1e\x86IeB\xa7\x19=B\xad\xa2\xb41WSO\xc435R\xcdi\xa6\x9a]\xc4\x01\xd1T\xbb\x83.\x91\x89WI\x8c3\x89?&e\xe8\xc6\xb0\x82\xc9\xb4\x88\x86fa\xe1$\x11\n\x01d\x8c}\x89(\x87=5u\xff\x89\xac2/5v\x86\xf2\x82\x8cn\xc6\x8b\x10\x16N\x05*.\xd1\xde\xe5\x98\xff\n\x17\xb98\xde\xff\xb2\x9d4.\xc9\xe1\x07\xe7\xcd\xe0\x99X\xe3;\x85\xb4\x98\x8f\xeaQ~\xf6\xc41t\x14\xa6*\x14\xa8\xff\x1b\xa3\xa4\xb5\xafH]\x9a|\x83o\x9b\xaf\xf4\xb7\xe9\x85/x\x0epi\x0b)\xd8\xfb\xd5\xe6\xeb\x99\xe0nV\xf2\xc7\x84\x98\xc9\x14\xd49\xcf\xbc\xb1#\xb0\xb5\xc2o5:\x08\x12\xb9\x90\x9dvp"\xc8*\xccC\xa3\xc9\xe5\x96kF8\x0c\xc7\x1c@\xd5\x13\x89T\xdbz\x84\xbb<o\xb4\x11\xd4Q\x06\x1f\xe1\xb3\xd3\xfb\xf8\xaa\\\x1c\xf8\xac\x93\xc9\xb3z\x9c\xa7\x99&lB\xddx\xe7\x1c|\xb9\xe2\x01fs \xef\x98\xdf\'\xcfy@\xa4\xaa\xe5\x1a\xe5\xa3\x11\xa9L\xe1\xb4\xe5\x07\x91\xad\x11\x0e\xf9E\x8b\r\xc71\xef1\xd4\x0b\xa9\xbftq\x99nH\x12\x82\xc6KFZ\xe8\xc7\xf1\'|\xc5\xe5ie\x13\x19\xfb\x07\xbdV\xe6E\xcb/\xeb&\xec;\xaa\xad\x90+7ba\x9a\xb2\x81j\xf0j\xff\xec<\xf6\xc1\xb9\x06\n\r]A\xa6\xe3\x1d50\xb3\xb2`\xfb\xb1\xf9\xa9,\x16\xb4S\xb8\xf3\x98\xe7\xaeB\x93\xf9\x89\x1a\x8e\x896x\xdbi\xa3[\xe1\xa2\xaefq\x91\x8f\xde\x8f\xd0\xde\xfa\xa6\xa0\x83\x8e\xb6\x92AKZr\x81 \xed~\x83`\xb1\xf4\xd0\x96\xfe\xacv\xb5H\xc9\x8fx@\x8a\xfbl<\x81\x92\xe4\xd25\x8e[\x0b\xd6\xe6\x84\xaas\xf3|4l\xa2&\xd1u\xb2\x16\xfb\xaa>\x0c$\xef\x03\xa0s\xa2\x9am\x1d\x06\xa5S\xad\xaf_\xfd\xd1~[\xc2\xda;\tW\xdb\xc2\xc0\x14\xfe\xbf\xf6i\x04\t\xde\x06l\xea\xde\x9fG\x8dE\x9fe8\x80j,:4\xe9H\xb6\xd7\xaa\xa2\x94(\xd0\xb4\x17\x9f\n\t\x8f\x81v\x93\x809\xab\xb2\xeexHL.\xba\xe8\xa5\xc3\x97\xa3I\xad.\xf0\xd4N \xd2\x17\x8c\xfc\xd4\x12a\x93\xfe\xc1,\x15\xceb\xcd\t\x86y\x8e\x12\x1f\xc6o\xe4\xe5wx\x84\xadmZt\xd5\xd4\xd2\xb7\xa8\xac\x0e]\xfd\xf8\xa3\xe4\x86\x82\xc7d\x1e\xc2\n\xcb\xce\xf7V\xc28k\xd1\xefV\xd4J\x7f\xc9\x14\x90^E\xef>\xdbA\x10\x01vS\x90H#\x90n\xc1\x85\x18\xfa\xa2v\xd3\xd9\xde\xf9U\x89&\x03\x8b\xcf\x90\x8f<G\x80\xfd\xb2\x18\x18o\xea\x91G\xda\x98\xd9\x89:cq\x03h`C\xb4\xecHc\x98\xf5C\xf9\x84\xfbz\'5\xd9\x88\xf7\x8c\x15\xe6\xe9\x10\xc9\x86,\xd1WRN\xb8MYm\xf2\x175\xddL\x03w\x8fE\x89\xd8=\xb2b\x02\xd8]\nf \xd5\xf6\xac6\xdc}wp\xe6\x19\x8c\x90\xb1\x1d\x9b8\xb7WcX5\xa3D\xe3\xe4\xfdR;O\x08*\xc2\xcf\x93\xb3\xe0Gq\xc9~~\x91Q~Y\thK\x04\xac\x07v\xe5A6|\x04Gr\xde[\x04\x13\x8a\x88W\xfe/\xe8\xefL;=\xc8!\xb1\xb3\x03A\x9a\xba\xa1\xb7\xff>\xbf+u\xaaK*/f}Y\xe3\xb5\xb2\x81\x01,>Tx\xd3\x06\xfc\xdd\xe3\x1al',
                                "video_metadata": None,
                            }
                        ],
                        "role": "model",
                    },
                ),
                UserMessage(
                    content=[
                        ToolOutput(
                            id="google_unknown_tool_id",
                            name="get_book_info",
                            value="Title: Mistborn: The Final Empire, Author: Brandon Sanderson, Pages: 544, Published: 2006-07-25",
                        )
                    ]
                ),
                AssistantMessage(
                    content=[
                        Text(
                            text='{"title": "Mistborn: The Final Empire", "publication_year": 2006, "author": "Brandon Sanderson", "pages": 544}'
                        )
                    ],
                    provider="google",
                    model_id="gemini-2.5-flash",
                    raw_message={
                        "parts": [
                            {
                                "function_call": {
                                    "id": None,
                                    "args": {
                                        "title": "Mistborn: The Final Empire",
                                        "publication_year": 2006,
                                        "author": "Brandon Sanderson",
                                        "pages": 544,
                                    },
                                    "name": "__mirascope_formatted_output_tool__",
                                },
                                "code_execution_result": None,
                                "executable_code": None,
                                "file_data": None,
                                "function_response": None,
                                "inline_data": None,
                                "text": None,
                                "thought": None,
                                "thought_signature": b"\n\xb3\x08\x01\xd1\xed\x8ao~\xea\x01J\xc0\t\x15Z\xc3\xf0\xf8s1BCsl\\\xd2\x99\x85\xfc\x12\njW\xb5Z\xda\xcaq\x8d\xd7c\xfe \x0e\xffIn\xa0\xed\xc6IN\x99Z\xe44<2\xb8\t\xfa\xado\x83H\x81\x86\xe0m\x07h\x8f~&I\xb5\xd1G\xa2\xa7\xbb\xb1?\xed\xbd\xe0\xaa\xb0\xe1\xb25\x9b\xde\x1a\x19G\xb4\xd6s\x89\x06;\x98\xf7\xe1\xd7\xae\xb8~as\xb7\xcd4G\x9f\xd7\x04\xe4\x19\xceCV&\xe6+\x90\xcd\x8b\xfc\x12+\x12\xb3\x1d\xda\xecw\x99\xcbp\ng\x83M\xc4\xbeu\x97\xaa\xd5\x1fo\xda\xb8\xff\xaax*w\xd8\xf4$j\x80Q\x1d\xc9\r\x01\xe6\xfa>)\xe0\x12\t\\\xa9\xafS\xfc\x91\x05\x04?\xb0S\xd0\xcb6X\x88\xcf\x81\x18\xed\xaa\n'\x16\xe9\x7fG\x97\x92\xb9Y\x06n\x08\xea\x90\xf0i\x0e\x94\x8e\xdb\xfd\x0e\x9d\xbf\xa3\xc0\xe9\xbd4#\x86\x8a~\x07\xfd0\x80V[\xd7M7\x02\xae\x85\xe3\\pJ\x97\xdd\xc6Z\x17}3/\xf3ZdG\xc8\xeb\xe1\x91S-\xf7\xbd)\xb7b\x1b;)\x0e\x993P\xc4E\tG\xc2\x88\xc3\xc0\x9e\x16\xdc\x0f\x1c\x17P\xd8\xf6\x9c\xc8\x90A\xae\x8d\xcd3\x8d\xfc<x\xa7\xcbo\xafk3\x8af\x1c)\xea\x97\xf01ZD\xfer\xa2;\xb5G\x13\x8ek\xdft`\xd0\xf3\xf9<2\x7f\xf9&\x9a\xcc\xaa\x06{\x12\xac\x8fq\x15\x1cD\xe3cNQ\xbeoa\\\xe3\xd5\xe1\x1b'\x8f\xea\xe7|\x19\x9b,\xd6\xd0&\t1}\xee\x15\xa7\xc5L\x0f\xe8B\x81XD\x97\x1f2\xcf^\ty\tUe\xab\x94\xac\x05;\x91\xc8n\xfd\x83$\xaf>R\xf9N{l\x183\xa6\xf4\x11\xa2\x87La\xfd\xa2JK\xb7Z\xa9\xa1\xd6\xa0\xac@b\x7f\xcf\x12\x1fUL-\x1aDF-t\x1a\x8e\xa46Q\xc5.KH\xb3f\t\xe8\x00i\x80o5\xd1\x92\x13\xa52\xbf\xb6\xa0\x1d\x0c}j\xa7\xe7\xa2\xf0\xc9S\xb9\xe8\x15\xfbH\xed\xdb\xe9\n\xb7\xf0\xb7\x84\x81< lZ\x80vW]\xfc\xc9l\xdd\xfa\x91r\xd75i\xc4d\x19\x81\xd7\xe3\xd2\x14'\xe3<\xe39\xdf;c\x19\x15\x05\xa5\x9a\x187\xb4\xa6\xd7\x0e\xfb\n/\x1e\xff\xea\xc3\x1cg\xcak\xdcHf\x1a\xcb`\xcf\xc2x\xf2@\xd9\xba\xd6T\xb7Hwl\x01\x83R\x13\xfd\xd7\xa5\x83#>\xe3\x80t\x86\x81\x96\xcb!\xadX\x06/\xd7\x96q\xdc#t\x0b\x0c\x1bMg\x95n\x1a\xdd\xb3\x8c\x10\xa1u\x90\xb8t\xb9;G\xade\xc6{j\xd7\xf0\x84\xa1^\x8a\\d\x97\x10k\x95\xe8\xe6\x1c\x03\xf1\t\x14V-\x84\xd0\xac&\xed\xdf\xba\xe7?p\x1b\\\x9eJj\xe6\xce-\x8a\xa2\xac\xae\x01f$\xd3\"\xfaH\xccD\xe7\xe8\xf3\xcc\xe7\xc1'\xba\xbd7o\xe3\x95\xc05\xa5\x91\x8d\x96\x0b\x0c\xed\xab\x1e\xe0v\xadV.M\xbf\\]G\x0fu\xf1u\x976Qau5K\x10i\xbf+V!\x05o\xc4\x9f\xe0\x9a\x15\x06Qx\xfc\t\x8d\xb2\x95f\xe5\xdb\xbf\xe8FXhBkT\xd6\xfe\xf2\x8e\x8c\xb6g&~\xc6\xdb\xfd\x82gkl\x14\"=\xa8Hq\xa0\xadaG\x12\xc5\xb8\xd1Hz\x8b\x83\xc4\xb8\xa9c\x01!x\x1e#\x15z)\x1a\xdc\xa9'\x1aB\xcb-\xac\xdc4\xd7\xdd6\xf9\x14\xdb\xe0^\xffX\x9b\xa6\xe1F\x98\xcb\xa1\xc6l+k\x87\xade&\xa8\x90\x8a\xcd\xcel\x118\xc9\xc9\xce\x98j4\x1eK\x1f\x10\xf9M[m\xb7\x81\xe7-\xab\x00C\xee\x16\xf1gfK\xb3;2\xe6.,\x81\xa3\nz\x89\x06a}5\x1a\x96\xf2i\xb5l\x91\xac{\xed\xf5m\xb3\xb5S\t\xcf\xdd\x99\xf5/\xec\x8b\xd0b\xed\xa6\xa5\xffc\xd5p.\x863^$M\xbd\xb1C\xcb~V\x93M\x1f\xae\n\xec\x02n\xe1\xe1\xdc%\nT\xf8)\xdc\x13|d%\x82\x80\xaa\xfae\xb3^A\xc9\xb9\x88o\x96\xa0\xea>\x84\xc4BZ\xbb\xb3\xcd\xf2\x98\xe1fs\x18qs\x18\xc1\x8e\xc7\xc1M\n\xd0\x02V\xd3\x85I\xb7\x84v\xc5\xc0\x04$\x86\xad]\xfe\xd5\x8c\xfd\xf8\xfd\xdcS\xf7\xf7\xf2\xbcMJ\x87\xf8\xe4\xb0\x17I\xe7\x9e\xe81pZ\xd4RW\x13\x95\xfaH(\xf3w9\xc8P:\x8dhTB\xf8]\xcd\x83}\rM\x89\x8dK\xcbR\xf6\x8e\x98DD\xfb\xf3O\xd9",
                                "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": False,
                }
            ],
        }
    }
)
stream_snapshot = snapshot(
    {
        "response": {
            "provider": "google",
            "model_id": "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="google",
                    model_id="gemini-2.5-flash",
                    raw_message={
                        "parts": [
                            {
                                "function_call": {
                                    "id": None,
                                    "args": {"isbn": "0-7653-1178-X"},
                                    "name": "get_book_info",
                                },
                                "code_execution_result": None,
                                "executable_code": None,
                                "file_data": None,
                                "function_response": None,
                                "inline_data": None,
                                "text": None,
                                "thought": None,
                                "thought_signature": b'\n$\x01\xd1\xed\x8aod\x85\x91\x16\xff\x0e\x96\x94\xae\x18|\x1eV\xf5\xb8\xe3\x88\xd5\x86\x8d1\xb5D\xc3_?\xe9\x83\xc3! \ny\x01\xd1\xed\x8ao\x85\x86.C\xad\xfb(\xe9\xd6C\x8e\xfc\xcdn%\x9f/n\x02\x0b\x01w\x05S\x81e\xdd\xcd\x99\x16i\xfd\x13w1\x11\x8e\xb0n \xb9o,\'n\xcb\xd3  \x99;P%*\xda\xee9\xc2\x12\xe0\x88\x81.\xff\xc5d\x91P}d}\xff/\xcc\x08\xeeI^\x14\x8d\xa3\x01\x9a\xc5\xe3\xd1s 2\xde\xd9\xfd\xc8\x9f\xc36\x96\xfc\xa3\x8dHu3\xb5\xc5\xfc\xcb\xc6\x88\x90\xea\x80$\xb1\xab\x13\n\x82\x02\x01\xd1\xed\x8aob\xd4\xaf\xa8U+\x1a\x0eW5)s\xc2\x1ck\x8c!\xe01\xe8\x83\xd2\x19\x86\x970~.\x8a\xfb\x8d\x8a\xd7\xef\xb0\xd7\xb0\xc5^[\x1bU%Jf\xba\x1bv\xef\xe7\xec\nT\xa7\xb2\xf5\x0c\x8c\x1dQ\x89\xee^>\xaf\xb3E\x13\x8a\r\xae\xe12sE\xe0\x8et\x18\x81\x89\xcec\xd5zC\xe9\x171H\xdc\xc7\xac\x1cH$\x1a+\xd8`8g\xbe\xf4\xe2\x0c\x13\x90\xd3\xac\x01tU\xfc2\xdfH\xfa\x9e\x92!n\xa8\xc79*\xc8V\t\xb0\xb6\x8b\x7f@\x12\xe7\x9f\x8a"w\xab3\x03\xb6\x83\xa6|\xb4s\xacY\xd57\x17\x83\xd1T\x1f\xe3\xbc\xbbq@\x0c\x8fw\x81\xe8)/\xc1n8yk\xce\xe3\xaeg@\x99\xaa\xb8\x12\xa5K\x04q\xf7H\xcc\x1d\xd7\xec\xa8\xf9\x0b\x1c\xc5\x8b\xbc\x83\xe9Q\xed\x10G%\x9bSWXe\xc75V\xcb\xe4\xe4t\xb2L\x02\x1c\xd2\xf9\xb0\xa9#X\x0f\xefw>\xca\xc9\xd4\xac-\xe6\xbe4i\xacw\xb7\x0f\xbcn\xa3\x19\xa6\x08\n\xc3\x01\x01\xd1\xed\x8ao=\x06\x1az\x15T\xadH"9\x94G>\xe1]\xe6\xeeD\xe5J\xe56\x8a\xc4\xf2\x9aE\xd1\x18\xe3E\xb5\xac\x96\x9c\xd5\xde\xaf\x0e!\xb3\xa4\xca\x06\xdc\x18\xd0\x8d\xd8Q\x14v\xed\xa2E7\xba\xc9B\x1d\xa7\xeb\xd7\xe8\xce\xef)Ar\xb2\xb2\xa0C^\xc2t\xe9\xfa7\xa6\xf4?V\x97\x17\xdb=\xb8\xafh\r\xa1y\x9e\xd7\xf5b|0L\xa80\x13\xc7\xa9/\x96\xff\xe5\xe2\x0b\x11d\xbc\x05\x9b\x9b\xae&f\xe4b\xd3\x12\x9f\x8e\xe4\xbb1\xaa\xa5\x18-\xeft\xab\xa3\xf7H\xaf\x95\xedC\x03\x1b+m\xac\x08-\\\x90\x00\x10\xb9\xb2\xe8\x12\x94\x00*\xb2\xb3\x80\xe9\xde\n\x80h\x85z\xc3\xa5G\xf36^m\xd4\xf0\x17\xd8\xc7\x9e\x82\xf91\xde\xd6\x94',
                                "video_metadata": None,
                            }
                        ],
                        "role": "model",
                    },
                ),
                UserMessage(
                    content=[
                        ToolOutput(
                            id="google_unknown_tool_id",
                            name="get_book_info",
                            value="Title: Mistborn: The Final Empire, Author: Brandon Sanderson, Pages: 544, Published: 2006-07-25",
                        )
                    ]
                ),
                AssistantMessage(
                    content=[
                        Text(
                            text='{"publication_year": 2006, "pages": 544, "author": "Brandon Sanderson", "title": "Mistborn: The Final Empire"}'
                        )
                    ],
                    provider="google",
                    model_id="gemini-2.5-flash",
                    raw_message={
                        "parts": [
                            {
                                "function_call": {
                                    "id": None,
                                    "args": {
                                        "publication_year": 2006,
                                        "pages": 544,
                                        "author": "Brandon Sanderson",
                                        "title": "Mistborn: The Final Empire",
                                    },
                                    "name": "__mirascope_formatted_output_tool__",
                                },
                                "code_execution_result": None,
                                "executable_code": None,
                                "file_data": None,
                                "function_response": None,
                                "inline_data": None,
                                "text": None,
                                "thought": None,
                                "thought_signature": b"\n$\x01\xd1\xed\x8aoI\x13/\n\x9e\xaev?\x1e=\x81\x04V\x93\xe2C\xcb$Bm\x1f\x94\x8e\xefGQ\x9c\xe1\xb1\xf1\xee\n~\x01\xd1\xed\x8ao\xe6P\xfa9\xc5\x1f0{\xa6\xdf\x16\xe2\xf8*kh\x9b\xb7=\x91t\x84Z\xf6\x93\xdc\xd8\xa7\x1e\xc7\x87c,^\xf0{\xeb\xf3\xab\xc9\x8f\xa0\x0e\xe3 `I\xc0\x93\x92\xcb\xbc\xb1t\x9b\x8d%<I\xe2\x01\xa0\xc8\x97#iZ\xb9\x87K)\x04\xc1u\xfe\xe5\xf6?6\x81\xea\xb1TCx\xeb\x11\x19Y<L6\x08\x0f\xdb\x9f\x9d(+\n\x1e\x96\xc7.\x96\x11\x10'\xd0\x1d\xce\xbf\xd9x\xb8\x1f\xe8%\xf8q\xdf\n\xbb\x01\x01\xd1\xed\x8ao\xcdE\xe5\x90\xcc\xb7\xf5]\xd9=:\xc9\xa2\x16\x8a\xd6}v\xd4\xdd{\x88\xb6\x1f\xa7\x82\x0eN\x16\"\x07\xec\xf6Y\x01\x1a\xc8\x9a\x0f\xd4Zv\xfd\x06J\xb4\x99\xcae\xe0U\xf6\xb5h\x02\x17\x84\xbd\xc7e\x9c\xa3\x10q\xaa&\x8b\xc5C\xef\xc5\xf4\xa39/\xb1\xf0\xf3\xdaa\xe6\xb1\x88[\xb4d+\x1cZ\xb4\xa4\xed\xa1\x0bW\x93\x00K%\xdf\x99\xb1\t\xa3c\xe8\xf8u\xffGMmV\xb5\x9c\xd2\xd8\x06\x7f\xaa\xebm\xda\xc7}\xd4\xf0hHH4\x8f\xd5\xc2*\xe1\xddy\x86\x1aM\x19\xf4]\xfe\xdb\xe1\x8aU\x8c%3_\x12\xb0T\xc0O\x9c\xa8/v2\xa7<\xfcP\x8d\xa1\xa3\xd4\x1bi\xcb=3\xde3X\x1a\xd5p\n\xb9\x01\x01\xd1\xed\x8aoj\x9d\xc2\x13\xb8\xad\xd9\xb2\xe0\x00<\xf3\xefVi\x02\xb91\x9b\xf0\xd2V\x86\x0fz*\xe7\xb6\x94\xe6ZhbP0\xeb\x90Z\x0e\xb8/T\xe68\x96q\xe7\x83&\x83L\xe7\xe5S\x86V\x82 \xe0\xc2\x9a'\x9bNI\x16SG\xa5\xc8W\xa5\xef\xa7\xec\x1d\xec\xf8Z+\x020)\x11\x97\x013}\xd3\x08H~\xc3[\x14\x9e\x97B!g[\xb1\xabN\x8c\x11\x81\x16\x92\ts\x89L\xc2s8\xe1\xa37O_<s\xff\xb8-oLG\x16\\\x88\xadA\x06\xdd\x15@h\x0e\x87\xae\xb3\xa1^\x97\xeb1\xdb\x80\xcc7|\xda\x00:t\xa5\x89\x07v\xec\xd55\x842\x82o\x14gr\xbdj\xaf\x88\x11\xfe\xe8!\x85\n\xca\x01\x01\xd1\xed\x8aoo)\x07\xcf\xecP\x06\xa5\xcaJqL\xac\xba\xa0\xb0\xb5\xac_\x89F\xb3\xf5q\xb1\x8c\x06~\x01\x7f\xd8\x08\xee4\x9cD\x89\x92U\xc7\x048\xeepp\xca}\xeek\xbf=\x10\x1f\xde\xc6\x88\xb5zy\xb9\xe5\x91\xc4\rq\xd0]\xc0\xaa\xd0\xa2/\x94\xf8)\xee((\xc6_1\x13\xde\x11\x82\x0f%\xb3\x98\xb9N$9\xb23:\x87c\x93\x15\xad4-B<\r?='\xf9\xb5\x1dWF\x85\xa7\x99\xb5\xa9\xc4\xed\xf2np\"\n\xcf\x9d\x9e\xfd\xd0\xa6\x8ey\xe7\xf0\x17at\x91\x11@t\x8b\x17Xnr^\x9fa\xed\x8d8\xe7\xad\xb1) \xa2\xd8\x82\x0b\x9cJ\xe0r\x90\xbe\xfde[\x81\xe6\xb8\xee\xb2\xd3\xbf)\xa8\x9f\xfe1\xf4^\xd9\xe9(\xb1\x01\xad\x05\xbc\xfe{}\n\xa5\x01\x01\xd1\xed\x8ao\xea\x1b\xd4\x0fc\xf5\x96%\x88\xbe\x96\x83R\x9d\xab\xb3\xae\xfc\x05/bZ/\xbcu\x80\xe6]De\x06\xbe\xb2\xc9\xa2\xf5\x91KG\xe3Q\x03&\x82c\xc8\x9e\xc3\xf76\xc8\xea}\x16\x8c\x05\xfay\xd4X\xa4SGOL\x8at\xe4\xc9g2\xf1\xcc\xf6}\xe50\xb8\x1b\xf6\xeaY\xda\xd4\xd4Q\xe2\x97\x8f\x08\x90.i\xdbG\xaa\xe4\xd4\xb4Y^\xdb\xf5\xa5\x8eYDo-&a\xd8\xc0\xff\xc2\xc9?\xaf\xd7\\\xd9C`\xce\xfa\x1a\xbc\xf7\xd6\x15UIwP\xca\xa6\xe2#\x07\x8d#\x07.\xe8\xa9E\x80&\xec\xe8\xb3\x19\xa4\x80\xc8\x93d\x12\x93\xd8\n}\x01\xd1\xed\x8aoq\x1a\x06G\x8d\xf4qfay\xf6\xc7\xd3\xf3\xea\xaaeJ\xc3\xbc\xc5g\x9c\xb1\x8a\x95\x85TF\xbcB#\xbf\xdasp\t\xc0\xfb\xe0>\xc8\xd8\xfe\xfcP\xe4QO\xfa\xd4\x13\x9a\xd6\x0b\"\xc9G\xc28`\x89t\xd7\x19\x01\xd2\xd3\xea\x89n\x1a6#\xd96\xe5K\xb9_%\x1d\xb8\xfb?C\x94\xb3\x96\x99:\xac\xb9\xad\x05Z\rL<\x92\x9a\xf1\ri\x7f\xa0\x98\xd8\x02\x12!\x97\xd3\xebN\x0f\xae\xfbf\xe1",
                                "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": False,
                }
            ],
            "n_chunks": 3,
        }
    }
)
async_stream_snapshot = snapshot(
    {
        "response": {
            "provider": "google",
            "model_id": "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="google",
                    model_id="gemini-2.5-flash",
                    raw_message={
                        "parts": [
                            {
                                "function_call": {
                                    "id": None,
                                    "args": {"isbn": "0-7653-1178-X"},
                                    "name": "get_book_info",
                                },
                                "code_execution_result": None,
                                "executable_code": None,
                                "file_data": None,
                                "function_response": None,
                                "inline_data": None,
                                "text": None,
                                "thought": None,
                                "thought_signature": b"\n$\x01\xd1\xed\x8ao\xe1)\xeb\x02n\xad7\xc2\x8bQ2\xdd[\x1f\x06\xa8\x039dUa\x0f\xb9\xd0*\x81ng\x0e\r\x8d\n\x80\x01\x01\xd1\xed\x8ao\xa7\xac\xde\xd1#\xbbL\xe8\xf2\x1fs\x85>\x9b\x04\xe7\x7f\xb9\x90p\x15\xd7\x9e\x01{%s\xe3G\x191w\x12\xd1\x9a\xaa\x9d#\nz\xb5\x19l\x81\x82\xb6\xfb\x84\x88\xf1B?#7\xca\x89\xd6\xd6\xb4\xbfZ\xf2+\xb2\x1a\xf6\xdb\x8dj\xf4=\x89}m\xe0\x9aHRSo\x06\x04K\xbd\x1b\x12\xed\x80\x8568\xa4\x7f`\x80\xa1\x8b\xe3&\xaf\xd0\xa5E\x9d\xc0!ei\x83Z\x00f\x18a\xf8)\x0c!R\x93m\xf7v\n\x96\x02\x01\xd1\xed\x8ao\xba\"\xad\xef\xb4\x8b'\x9e\\(\xa7\xfe.\nh\x95s<\r\xa5\x0e\xedxp`oF<\xdf\xc9JrQBs\xee\x81\xd6\xc4P~\x05\xc6\x8fO\xc1.\xca\xff\x11\xad\x1e\x95)\xa8\x93[\x8e\xe1\x05\x80\x16\x1c\x86K\xf1\xee\\\x93\xf7(\x80\x03(j%2\xf9\x05\"!\x96\xd2\xdb(\x82@\\8\xcd\xff\x1b\x8ac\x06\xbe\xe6\x8b\\Rc\xd4Tn\xd9C\x13\xe5i0v\x92\xf0\x7f\x0c\xe3\x84\x1e\"1\xca\x87\xd7_2-\x1e\xd2\xeb\xc1\xfbq\xcc\xf7b\xe0\xfe\xeb\x11+\x01\xe0a\xa8.\xb1\xfd\xea\x9c>\xd0\x01\xb0\x19G\xf1\xb1\xdfl\xe7N\xbc\xf1\xff`\xe50\x07\xdaa\x93c\x17\xdc+/$\xb6\xf9^\xe0Vv6\xd4R\x8dg\xc6\xf5\x91r\xab\t\x8d\x0e\xebM\xbb\r\xbb\xeb\xffd\xd73\xc1\x00u\x9b0\xd6\xff\t\xc1j\x979m\x18\xb8oNND\x99\x91r \xfd\xc2B\xf6\x87\xbcu\x9b\r7\xb6C\xb8\x19`;\x01\xb0\xcd\xa3\xda\x0e\xd1$\x9cu\xc24\x18@1\xa8\xf7L\"]\x05\x83S\xcf\xb7\xe41>\n\xbe\x01\x01\xd1\xed\x8ao\xd8[k\xe0B1n\x0f\xc5\xaaB\x17\xd2\xe3E\x10\xe3bw\xdb\x07\x92Uy>\xe70\xba\x1eh\xc1\xff#Uca\xe8\x7f\xbd\xd9h\xf9BV%\xbb\xd4\xb3\xfd\xbfFN\x97Q\xe2;\xa9*\xd6\xae\x9b\x0b\xe4\x15\xcf\xe9_\xb2\n`)\x90\xa2i\xf2\x10\xdc\x05F;\xe2\n\xea\x18\xf1\x81\x8d\x92\xdb\x93\xe6\xee\xb3\x84\x8a\x05\x0bG\xaa\xdfeM\t\xeen\x8a\x0c\xc6EyDHQ\xc9\xdf\x9c\xbe>\xb1#|\x83u%\x86\x9dg\xaeX\xd0?\x0c\xf5\xea:\xc3\x81Bof\x1eOR\xfd\\\xbe\xa1\xe4Q \xee~\xcb\xd6m\xc3,\x9a\xc2Q\xfd\nwy\x81/\xd1\x85\xdcW|\xd6x\xdfcm\t\x94Y\x17\xf2\x81\xf4\xd9m\n\xdb\x01\x01\xd1\xed\x8ao\x16\xe9\xbf\x9a\x14\xfb\xa0\x14\r/i_`W}\xdd\x91D\x90\xfb8i\t\x8e\xbe\xe7bg\x8e\x12\xeb\x084\xab\xd9\x95\xab\xfdSN\xc7\xc7\xf1\xf9\x16\xde\x8d\xea\xbc\xe6\x93;\x94\x8dv\x00\xf8\x91\x85t\xaet\xc2\xaf\xa54Lv\xdcA\xf6jm\xc5\x8f\xc8\xc2 iUk!\x83R\xce\xfc\x99\xdc&\x93H\x02\x00 ,\x805\x05\xcb\xda\xf7,\xf9\xc1\x0f\xac'@\xb6FNG.\xf7\x94\xd8\x17\x80[}\xc6\xb9)f\xca'\xa6\x1bx\x961\x98:\x11\xa2\x91ToE\xe3d\xdb{g7\x90\x08|\xa8\xa3\x9fm\xfb\xfbU1H\xb8\xbdr\x9ad\xe9Nk\x95\x10\xc2iO\x80\x89\xedD\xb4ih\xf7\xbe\x94\xa3\xf7yE\xdb\xac\x0e\xcb\xea$\x10d\xeb\xf3\xaa\x1f\xae\xa3\x18\xa9t\xc3\xfa\xc9?k\xcd\xf1\xe7\xc6\xce\xa1\x89F\n\xd1\x01\x01\xd1\xed\x8ao\xb8U8U\x85E5O\xbdz(\x13.\xd3\x83\x0e\xce\xa5\xc6'\xc0\xf1Ro/\xac\xe6Q\xf3\xd3\t\x11O\xb4\xfeK\xab#)\x9d\xeb\x03\xc6\x91\xe7\xcfI\x84\x975:\x8e\x9e\xd7\x08\xb6\xa6\xf0\x00'\x86Pz\xd3\xa2\x97n9NJ4\x9d\x98\x8a>\x9bM\xb7\x92pR\xe9\xe8\xf0\xd3\xaf\x00\x96\xdd\xcc0k\xb7\xbe\x15\x02-Wu\xfe4\xa1\x91\xce\xe0`x\xca\xcf#\xfa\xee\xdb {(Q\xf6\x87\xbfp\xe1j]00\xae\xb5\x88+n\xa3\xbf#\xa4\xd9\x00\xfc?\xf4k\xe3\x81\x1a\xcf\xc5i\xa2\xaco\xf7O\x15}\x81\xfe\xc2\x91U\xb0\x9e\x7f\xfb\xfe\x9d<p8\xd4$_\xcf/\xfe\xc4\xa0\xea\x8c?\xbc\x10\xe46}\x02\n\xc6\xa9<\x9e\xa7\x83\xa8\xde\xdf\x16\xba\x0e\x90'\xa7\xaf\xde\xa4\n\xa7\x01\x01\xd1\xed\x8ao\xeb\x1b\xe6\xd2U\xcf\xf6\x15y\x85_}\x90%F/\xb6\xd1\xb6\x8c\xc6\xd2x\xaf[8\x1d\xca\xe1\xc3\xf2\x01B\xe5[\xd7\xaf>\x04;\xb24\x15\x06\xb7\x83\x9b\x06\xac\xfcH\x9d\xbd\xed\x1b\x06\x00\xa4\xf3\xa9\xfd\x1f#\xc1Tj\xe0#\xd5\\\xfc\t=\xbf\xf9hp\x11\xa1\t8\x84\x94\x0b\xbe\x05H\x13\x8d\xce|g9L \x91\xce\xddu\x9f\x9aO\xed{+\xb9\x13_'\xc1N\x9fB$fL\xe4N\xf78\r\xa2\x84\x88\x89\x82\xfe\x03f\x1c\xbb?\xeb\xdf\xaf\xeb\xd4\n\xd1\x94\xf9\xa6\xc9\xe3c\xd5f\x90\xbb\x8a\xa9\xfeK!\xd6\x9c\x10od\x93\x90\x05\n\xee\x01\x01\xd1\xed\x8ao\x01\xb4)\x00\xbbX\xbb\xd0\x8f\x8f\x17\xb9\xfaS \xd1@^\xd3\xc5+\xfb\xd5\xf0K \x93\nNe\xad\x12\xec\x11j\x98\x0eF\xf9\xfd\xeeUlj\x0f\x02\x81:\x01\xd4\x87\"O]q\xf0\xf5\xde\xcd\xf2I/\xa8:\xe4f\xa9y\x15\xe2:\xf7]3@\xfan(\xec\x0e9\xc5\xe1T\x08\x1e3\x83+\xb4)\xff\x93\xb8\x98\xca;\x99\x94\xde\x80\xbb\x024\xcf\xa4\xb2\x85\x83\x8e\xb6$\x81\xa4W\xe6\x17W\x94\xb7\x01\x12\x90\xe7\xe6K\x99\x90\x9c\x0f\x06t\x1f\xae\xef\xf7{}\xd9\xfc3\xc2\x13\xef\xbb\xbc!Vr\xeei\x91\x16\xcaO\xda*\xdc\xf0\x1fL\xd2'\xbf\xd6'\xca\x15\r\xc0\xf3\xebQ\x1f\xc2\x9e\xfe\x8b~4V \x99\xcc\xe7\x99-3\xf4\xfbT\xad8u\x06\xf8\xb5?\x05\xc3\x03\xe4\x043\xf1\t\x8d\xa9 ,\x02\xef\xb2\xc0\x85\r\x0c\xdd\x1c\xf3\x91\xd8\xce\x15\xa1\xa7L\xd5\xa7yrL\x13\nj\x01\xd1\xed\x8ao\x0c\xa776@\xefw<\xde\x87\xb8\x048A\x08\x92\xce\x05\x15XIY\x8c\xdf\xfc\x92#\xb5\x1bK\x11Z\xdb\x8d\xf8dC\x01\x03\xb6\x9c\x1b\x89\xfc\x80\xa7\xe0\x98\xabW/\x840\xd1\x06\xdb]\x00\xdcM\x01\x81\xe4\xce\x9fBp\x1aM\xc3\x15\x86oM0T\x06\x86u\x85 \x9d\xfbR\x98\xd4\x7f\xc7\x92B~7\xb0\xb4e\xc2\xf0W&\x97\xce",
                                "video_metadata": None,
                            }
                        ],
                        "role": "model",
                    },
                ),
                UserMessage(
                    content=[
                        ToolOutput(
                            id="google_unknown_tool_id",
                            name="get_book_info",
                            value="Title: Mistborn: The Final Empire, Author: Brandon Sanderson, Pages: 544, Published: 2006-07-25",
                        )
                    ]
                ),
                AssistantMessage(
                    content=[
                        Text(
                            text='{"publication_year": 2006, "author": "Brandon Sanderson", "pages": 544, "title": "Mistborn: The Final Empire"}'
                        )
                    ],
                    provider="google",
                    model_id="gemini-2.5-flash",
                    raw_message={
                        "parts": [
                            {
                                "function_call": {
                                    "id": None,
                                    "args": {
                                        "publication_year": 2006,
                                        "author": "Brandon Sanderson",
                                        "pages": 544,
                                        "title": "Mistborn: The Final Empire",
                                    },
                                    "name": "__mirascope_formatted_output_tool__",
                                },
                                "code_execution_result": None,
                                "executable_code": None,
                                "file_data": None,
                                "function_response": None,
                                "inline_data": None,
                                "text": None,
                                "thought": None,
                                "thought_signature": b"\n$\x01\xd1\xed\x8ao\xe6!p\xf7 i\xe7\xd5\x8b\xa0\x95\xfc+[\x1d\xb1\x90\xca\xce_\xf8\xff\xae\x8e{\xfc\x10e\xc0\x9cr\n\x7f\x01\xd1\xed\x8ao\xce\xbfi(\xdcs\x9e\x10\x0c\xa2\x10\x9ez\xc2\xf7<i\x81\x0ci\xcd\xc0\xae\xe7_\x90\xce\x04\x80\xa6o\xac\xbf#\xd0#\xbb\xc1p\xc9\x11g\xfb_A\x15\xf9T\xe6\xf4\x8c\xb9A\x0e\x10\xd9\x8d\xcb{\xb6V\x06$\xf3\xd9\xdfFQb\x86\x14\x8f|Awq\xe4\xc2(\x9b\xe2\xbd\xc6M\xd2y\xfc]\x08\x97n\x0b\xad\x12\x9fO\xb8\xd6O[\xf3\xadi'\xe5\xcak:5\x9a\x00\xdc^\xf7\xab\x05\xf8\x94\xb0\xf8@\x18\n\xb9\x01\x01\xd1\xed\x8ao\x1d\xd8\x1e\xe8VK\x18\xb8\xbd\x96\xb1\xe6\xfc\xf6bI\xf4\xdba\xfeZ\xe5\x1c\xd2\x12P-\xe8l;tv6 R^\xee\xbd`\xf4\xf2\xea\xdd\xa4\xfa.\x190\xc1\xbf\xaf\xf2\xe9)Q\x80\xd99\x96\xf8\x91\xfb'\xffQ4\xa2[\x03\x84\xd8R\xdc\xb8\x12\x973K\t.;\xc2\xdf\x9c\x8f\x8a\xa1\xb0P.KI\xa70\x82Q\xf6\xaf\xfb\xa9}\x8b:\x8b~nn\xf0\x0f\xf0\x93\xf7+\xde\x94pL-\xf6\x17\x0e\xd4\x05\xedC\x02\xb4\xe6\t\xd5\x1f\xba2\x00\x8cj\xcb\xcdq\x18\xe0~\x06\xb1\x84\xbf]M8\xcb\x05\xdad7\xf7\x86\x0f\x8e\xd00aO@\xcd\x90\x8a\x9d|\x8b\x91\xd6\xf5&\xcf8\x80\xfb \xbc\x95\n\xac\x01\x01\xd1\xed\x8ao\xdbg\x8e\xd9t\xa3\xf1\xc4>@$u\x8f\x88\x95\x11\x8cX`\xd1,]\xdd\x84B=\x87\x90\xcbX\x1c\x1cJ\x7fA\x9e\x86Z\xdc\x84\x13\xd5\xa2\xfc\x8b8\x8em\xbdP\xf9r\x82+\xcb\xaa\x15\xa4.\xd0\xe9@J\xec\xc9\xc9k`\x9e\xbfu+&\xe7\x96\xc9=B\xce\xdf&\xa4\x9f\xe4\xef\xd5\xc9\xf8\x0c_\xb0\xd5\xe2th \xbb^\r>$l\xc4P\xeb;\x85\x0fJJakH\xce!\x19W\xd4\xb9\xdfU\xe6\x95\xf8\xa8\xc2 Z\xd2Fy\x87\x98\x9c\x1e\x04C\xd1l\x03G=^\xb6\x94R\xaaG\x99\x029\x00`\xede\xbd3x\xfbk\x0f\xb8\xc1\xaf\xe6j\x1b\n\xf0\x01\x01\xd1\xed\x8ao{\xf7oI\xcc\xedLx\xf6\xa1\xbe\xe7B\xe5\xc1\xa6\xc9\x8bq \x80\x1c\xef\x08\xf6\x8f\xbb\xc2z1\xc4U\x08d\xfa\xf3\xf4U\x9c\xd6\xf21T\xdd\xd1\x00\x9aBT\xc7\xfa\xc3\xcc\x12\xd3Bu\xbd\x94n\xe2>o\xff\xd5\x9b\x82\xe1M\xbf\x1aS\x03\xee\x087M\xf2/j\xe9\xf3f\x0b\xd8W\xf5\xfda)^b~u\x9fc\x956\xc2\t\x05-\n\x9b{\xf6\n\xc8\x95\x94WO\xb3\x0e\xa5\tI\x91\xa51!\xa8\x9ch\x18\xc1H\xa6\x83\x8d\xad\xf2\xe3\xc7=I\xa5\x8fnk\x0c\x8d+\x16\xe2\xf3\x1633ane\xa7z\x9fA\xbf\x98\xfaW\x90\x1c\x83\x97\xe9\x97A\x9d\xe9\x9f\x9d\xc8V\x11\xebNA\x01\xd5\xdd\xdc\xb1K\x88v\x11\xe7\xa6\xd9\x89\xd8\xa7\xf9\x9fo\x9bwb\xe5\x0b\x99\x15\xec\x05F\xc8\\\xebaS]\x80\x84\xf2h\xcf+LU~\x13\xc1\xf0\xae\xe5\x14\xf5\x90\xec\xe8\xeb[\xbb\xfe\xf1\n\xaa\x01\x01\xd1\xed\x8aon\xf2\x81m\xcbk\xbc\x8e\xd1\xf2\xf8\xf4O\x18j=\xc8\xf7\x83\xe4\xef\x07\xd2\x07\xdfg\xd8<Xu-\x12\xab\xaat9\x8a\xfb\xd2\xc4w\xc1\xd6\x02I\xa3\xcb\xc2WVN`.6\x95\x10\x9ai\xf4\xaf\xdb\x17B0\xfd\xf2R\"\xee%\x0e\xdep\xb7\xeeme\x06\x17\x85\xe9\xfa\xeb5U\x9c\xcd\x9f\x85\xc9g\x1eF64A\xa9yH\x1f\xacL\xdb\x10\x84}'T\xd3\x00xW\x99`\xac\xb3\xbb\x9a\x973E\xfc\x11j\x98\x9b\xab\xb7Z\x01j\xca_\xd4N(gJ\xa6\x93q>\xb7\xf0\x8a1\xe6\x86\x8f=\xcb\xf6\x8a\x13\xceJe\xb4\xc5\x87w-\xce:\xb1\nq\x01\xd1\xed\x8aoG\xda(UB\x17i\x14(\xf1\xb3-\xc9 \xdb\xf7-152\xd9#\x8d\xa29\xb7\xea\x89\xce]\x05j\x9b\x97\x08\x87$\x9fB Y\x07\x0fw\x14\xd6\xaa\x95\n\xf9V\x84s\xe7\xbcm\xe5\xf1\xdd\xd2\xba\xaa\xf2<{\xc7\xa4\xddJ\x89\xbb\xeb@gp\x081\xc5`\x8d\xf5\x8eP\xb4\x17F/\xbb\xd6\xa6\xd7\xe7\xc7\xfb\xa2\x9d\x80\xd69Q\xc1d\x88\x9b\x11\x96\x91\x1a",
                                "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": False,
                }
            ],
            "n_chunks": 3,
        }
    }
)
