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\x8b\x07\x01\xd1\xed\x8aof\x13\x8e\xc7Z\x05\x82\x8ez\t\xcd\xb6%\xbb\x13`{\x9ah\xe4\xff\xaf7D?R\xdfjToY\xdbm\x9a\x8b\x08VL\xa1\xd5\xbbk\xdb\x14\xf8\x1f\xc3\xe6yY\xf1\x1b\xa8\n\x8e!\xee^\xbe\x8a\x18\tyZ\x84\xa2o\x8a\x1e\xcd\xe0\x0b\x8e\x02\xe8\x04i\xe3Lf \xb5\xc0\x02R\x1b\x81\x18S\x8b\x88\xcf6\xf9KT\x0b\xb7\x10\xa3\xa0L\x13\xc8\x98\x07\xea\x85\xe7Cj\xbe\xb4\x0bt\xcf\xdfe\x11\x07\xea\xe5\xabr\x93<i\xdd\xcd\xedH\x91gz\x9bU\x12\x7f\x99\x8eq\x16dH2\x04\xc9\x819\x14\x86\t\x99\x17\n\xb9\xd2\xf9\x93j\x1c\x91C6uYNl\xae\x00\xa0j\x15T&\xfa\xe9\xfbM|\xf2\xd3\x19\xd1]\xab1\xc6\xa2F\xd6\xc3_|v\xe1\x93\x1b^7\x1c\x9a\x87>\x9a\xbb\xcd\xf0\x91\x97\xc8\xeb4[4gf\x84\t\xd3\xb2\xa39f\x96?\xdbT\xd0!s\xa4\xcf\xa9\xc8\xe2-\xaaO7\xb4q~v\xcc\xe0&\x1d\x82[~\xc5\xa2\x9e\xdc\x8a\x8d\xa6\xdd\xba9\xcb\x1b\xdeO`~`\r@\xcb\xfe,\xf2\xe7\x92\xd6S\xb7\x814qh\x94\x88\xf6\xca\xc3\xf20\x8ezn0\x0bc\x03\\\x8b\xcbsX\xf1o\x00\x8ef\x98\xc3\x06\xdd\xfe\xb2\x9d\x91\xf7~L\x9a\x87\x17\x00\xe2\xe8-F\xe6\x19'H\x9f\x14\x1dC\x06X\xbb\xc9~\x9e\x92\xf1~-\x99\x92\xd2\x07\xab\x97\x94{\x8d\x16\xfb4\xa3\xe9\xc1\x155\xdb)\xea4\x81\xc7{\xbd\x007]5\x05O\x9a\xe4\x8e\xe2q=\xa44N\x8c\xe3\x9b5\xbd\x14)\xbf\x93\x91\xa1'\xcb\xc4\xdb\xe7\x14\x13(*WV\xc3\x88\x82S\xf9\x90\x13b\\\x85\x86\x90\xc3\xcdrXH0\xc3\xa3\x06\x13\xa7\x01`~X\x16\xbedc\x87\x06\xde\xc7j\xffu4/\xd0\xc2/\x8c3\x86\xd7\xeeMtc\x0f\x90T.\x9a|YvK\x80\xbdu|\xe4\x8c\x8cD\xf9\xac\xa3\xfd\x9dC\xbd\x03;\xf4(\xb3\xb4\x814x\xe1\xac\x9c\xfc\xad\xf1\xe2\xc2\xe3\x98\xb59\x0b\xf4\xc3\xd18\xe7EE\x9c\x9f\x08\xcf[$Y!,\xf5\x7f\xa7\xaf\x9d.\xf6?\x03\x03\xc8\x86WBF\x9a\xdf\xc8\x07\x1d7\"\xd0%\xd6M\xed\xbfX\x92j\x90'\xb2f\n[\xf2\x903\xb8\xbdQ[m\xe6y\x1e\xed\x8dr\xe4\xc9\xd5\x05\xe5\x06\xf0\xcd@\x13\xfa\xfcoHZ\x0e\xd5\xcaP/3\x90f\x0f)\x9f\xc7\xe0s;\xb1\x88@\x05\xc6\x13\xc1\x95 \xb7o)\xdf\x15f\xac\xb9j\x1f85\xad\xc2B\xe6\xbb\x04\xfe\x80U\x08\x19\x01~C\xe5\x99\x85s[\xe8u\x04\xfc\xc7>\nQ\xaf\xaf\xd7e\x83 Cp\xbb\x8eU\x8bX\x90\x17\xd0\xb8\x8d@\x8b\xe2\xfd\xbf\x08pr.*\x83\"\x876\xdf\xdd>r\xb2 1y7\xe3\xbaT\x8e\x84-6\x82\x1b\x01\x06G\xe8\xec\xe7\xca\xa2\x9d\x1e\x99\xb3\x8fd\x11\x06\xd7\xf6\xbf\x00\xe0\xc8\x84)\xb8\t\xde\xba\xd0\xc4\x8f\xbc\xc4\x8a\\\xe2/6\x9e\xb8\xd1c\x8e\x14\xf0\xa3\x84\xc7\x99\"\x14\x8f\x85S\x92i\x96\xd5\xaa\xc9]\x1bnd\xb7\xc2.\x10\\\xa5\xd5\xda\xa6\xd2\xc0\xc1\x17\xde\xde\xe1GY\xc3 \x02ik\xa5\x88o\x8f\x000\x86\xcb\xf4\xfc\xe6\xcc3\xc1P\x89\x80\x81z\xbb#\xc9\x16\r\x97\x8c\x1d^\x12\xa0\xdf\xfb:#\xd2\xcd'\xc4\xf7;X\x0cJ\x7f\x85\xa8I\x15f\x98\xa3\xcb\x8aHj\xbd\xb7\x1e5A\xe7\x17\x95(\xa2t\xa0\x00\x1c\x9e,?\xf8\x10\x18\x0bO\x84\x04\xf0\xdc\xf5P\xb2W\x8bt\xfb\x94\xf4\xcd3\xb9\x9eNm4;m\xb6\xba\x9b\x96>\xc8\xd9\x1d\xd0 \xbd\xce\x94qM\xdeVJ\n\x92\x01\x01\xd1\xed\x8ao\xd3^~_\xd3\xb4[\x0f+\x00r}iBa_1\\\x8f\x8d\xb4\x9bAY\x1a\xa5>Q\xd9\xf8@\xa7\x89kLE\x1f6\xa7n\x8c\x99\x81\xbdl\x97>\xfc\xda\x95\x9ai\x1f\x88\xba\xe9\xde\xfc\x9d\xf0A\xebWNS\x16\xa9D\x92\x83D\x18\xb2\xcfRFT\x8fe\tVs\xc1\x03&R\x13\xab\xf4\x99\xe4\xfd[\xceQ8\xf2[\xc2o*\xdf\xf1f\xa1\x06!JL\xc5\xc2\xe2\xd3\x8a`\xdf\x84\x10zgA\xac\xea\x8e\x9b\xb9g\x00sN\x83\xac\xc3\x10a\x84\xed\xd7\xd1\x1e6\n\xb4\x07\x01\xd1\xed\x8ao\xfc\xc6\xc9\xdd]\xef\nx\xe9\xda\xac\x00\x95\xd2\xb2\xec\xa0\x86\xc3\x99{\xbd\xd5b\x19\xcb\x12F\x10\xbb\xeb\xbe\xbd\xbb\xe0\x0fuq\xceR\xb9\x95\xda;\xf8\x13?C\xf1\xd1b'\xc8\xa3c\x13\xfd\xfb\xa0K\xff\xb5\x8e9p#\xcb\xa0dJe*\xa9\x97v\x8d8\xde,p\x15\x97<\x07\xeat\xb2}CJ\xe8\x85\x933w\xaf\xd9\xff(D\xdcA\xe9D\xe4\xb8)\xb4E\xea\x9eY\xe7M\xbe\x82S'U/\xe8\x84\xc7\xccv\x85F!\xc8;\xbb}\xaa\xf9\x8ej\x87W\x92\x07w\x80\x91r\xff\xb3\xaef\xda=w~'W\x88\xc4\x94X\x08\xa1\x88\xd1\xc3\x16\xfd\xd3\xd1`\xfd\xcc\x88\xe49\xbd ZO\xd7\x98\xee\x0c\x04\x17\xd1\x8b\x1f\x90\x03\xa6[m,\x10D\xea\x96r2\n\xa8\xc8\xb5!\x91\x8eieM\x8a\xbd$\x8a\x9aa\x0e\xac\xd3=\xe8\xc4\x06|\x96\x03d$\xf5\x84\xc8\x15Y\xf9T9\xfe \x05n\x8e\x80\xe6\x94<\x9e\x8b\xf8\x1cu\x84\x96`j\x1ce \x872\x19\x12\xcf\xa5\xb6\x12=O\x1b\xb1\xa7\xeceI/\xa2\xc4S\x00@bP\xc2\xb0\x9b\xdbo\xc6\x89T\xb6\xca$\x0f\xf8C\xa18PL\xbe7\x06\xc28\xacqs<!\xa4\xbb\x05\xc4\xb2d\x96\x1d\x88\xe7\xe5s\xfe\x89\x81\xffR%\xd7x\xd9\xed\xf6'J\xbc\xd9}9\x15/\xe8\xb51\x87I\x03\xef4\xdbSN\xab\xd2\xfaA>\xb7\x85du\xb5\xd5\xb9F\xf7\x82\x88vn\xb0\x1c\x87\x7f\xdc\x1c-\x87\xeb\xcb\xc4\x01\xf3\xe6e\xda\xfe-\xcfR\x08\xd8\xe4$?\x13!\xc5o\xca\x98\x02\x04L?\xe6\xd9\xc2\x16\xe2]j\n\xdenY\xdd4\xe25y{\xec\x10\x9c\xc6\xa5\x01\x99\x8a\xc9\xc1d\xaf\x1f?\x1a\x12\xac\xc7JH\xa3L\xa3\x8c\xdaG%}\x9a\x80\x94\x8bl*\x94\x88\"\tO3\x82R\xe3\x82E\x8f\xe0\x15$K\n\x82\x98\xdb\x9e\xbd)j\x97\x04t\x9f\xb0#L\x14'\xef\xa1kM\x8c;tI}5\xff\xf6\xd9\x9b[T\xfdv\xe8J\x91\x88\xd2^\x8d\xe3\xfe\\Ma\xae\xac\x99;8|\xdb\xa4\xcb\n\x06.\x1aCJoD\xe4\xb8%\x9b\xd3\x04\x8c~F\\z,|F\xf2\x80\x89\x02\x87\xef\xd5\xc4\x94v\xe9y\xe5u\xda\xc0\x84\xe6\\%\x14\xa8\x8f\xff\xe1\x99\xc4\x9d\xd4Ek\xd7\x0c\x1f\xb4O\xf1\xf8\xc6h\x98\xef\x7f\xe2A|\xfc\x87]f9\xbflj\x9dXv\xdd\x93\x83\xa9q\xb4!\xd7\x93\x16uq\xef\x0fw\xe8\xdb\x17\x11?2e\xedIXK@J\x04+hwE=,\xbdZ\xfb\x80\x94\xb8\x01\x10\x87i\x17\x1a\x97\xdeJ\xe5\xb3q0\xd3\xb36zx\xca\x1c\xe42\xf4\x81\xbc@\tz\xaa\x07)\xf2\x8d\xa9GT\xd1\xab\xa9\xbe\xa6U\x99\xd1\xb8\x8e\xb1\xe6\xd9\xc1\xa7GXV\xe3\xff\xb0\x17\x07uJ'}\x1e\x82G\xb8\xe8\xe8\x15\xcd\x96\xd1\xa1\\[\x87\x92R\xe6\xfb\x02u\xb6\xcd\x98f\xb2)<gsk\xf2\xac\x9c\xeaYEA,\xedYx\xe3\\\x08\xe8\xc3G\x96^\x1e\xd2F\xa6\xc9\xf2\xb8\xca\x8a\xc4\xfe\xb4\x84p\xd7.i\xa3!\\'}=\x19b\xe7=F\x07p#(A\x0c[q\xba\x1cQ7\x8c\xc9\xeb\xceW2\xd2<\xe9\x8c\xa2\xa3\xb4\"-\xbc%\\\x19/\xf9\x89\xd3lz=`Q\xbb\xc06\xdb\xf0wo\r\xbbUF\xe8\xd9\xff\xdbJ\xe3\xc8\xaa\xb0)$\x81:\x814g\xda\x07\xc3|\x03\x90\xe6\x95\x08n\x9eV\x7f26f\x1f\x03\xdd\xa8\x10\x8b\x1b\x03\xe1\x1b#\x0f\x83\x90\x10\xf1\xc8\x0e\xb3\xceAq0DZ\x08\x0f\x95\xc5d\xe5\xeb+\x8e[>n\x8bc\x99\xf3Z\xf7l\xde\xbf\xde\xbe\x84\xbd\t?\xf5\x0bo\x8c\x8cF\xe7G\xc4\xc9\x1bNZ\x0f\x12\xfa\xad.\xf1%\xa1u\xc0",
                                "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='{"pages": 544, "title": "Mistborn: The Final Empire", "publication_year": 2006, "author": "Brandon Sanderson"}'
                        )
                    ],
                    provider="google",
                    model_id="gemini-2.5-flash",
                    raw_message={
                        "parts": [
                            {
                                "function_call": {
                                    "id": None,
                                    "args": {
                                        "pages": 544,
                                        "title": "Mistborn: The Final Empire",
                                        "publication_year": 2006,
                                        "author": "Brandon Sanderson",
                                    },
                                    "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\xfd\x06\x01\xd1\xed\x8ao\xbb;e\xac\xb4\x97\x151U\xac\xf9\xfb\xc3\xb3\x96xq\x8c\xc3\x91\xc1\t\xd8a\x1a\xa3\xd4\x9f\x80\x93\xcb\x1a \xdd\xdc]\xe7\xb3\xe9t\xd7\xda\x9a\xb6\xdad\xc4\xa4\xa4\xcb\xdb\x87 \x7f\xc5\xb3^\x16\xc8g\xd1<\x92\xd6;\x13\xe5\xf4+|\xbb<\'\x07.\xa1\xd1\x98\tI\x1e\x7f\xe0\xb6\xf8B\xc9\x81\xd7;\xb3d\x8fc\xac\x7f\x83w%b\xe4O\x87\x15\xf3\xe5\xe3\xd0U\xc9\xa5\xdf]\xd5\xe2]\xd3\xf9\xef*\xeeG\x0b\xb4\xfc\xef{\xe9l<w\x17\x8b&j"u\xd0.\xe1\xa4\x99\xae\x10P\x94k\x8a\xf1\xcf\x9b\xc5\'@\xe2\xdb\xd5\x97*\x987s[\x18N\xa5#\xe6\xa5q\x1f\xba\x06\xff\x94;^\xbevUA\xb4d3\x17*@\x0f\xe7\xcf\xda\x94\n\x12i\xcex\x97\xb2oA\xf7\x00\xae\xdf\xa7\xdb}\x1bk\'s>\x93\xb6\x17\xb6\xd2\xa4f\xec\n\xd6\xe9Wy\xba\xd9\x9b\x01\xff%\xeb3E\xa3x\x96e\x8b`\xa9I\xaa\x9f\x1e\xf3\x0e\x10\xeen\x9c\x9c\xc3?\xef\xa7\x98\xa6\xc4bS\x9c1\xae\xb4\xaa\x8aDV7\x0eUi"\x11S\x13\x194\xe92c{vCz\xb7n\x1f\xa8\xce\x1c\xd5x\xb5\xf9\x8bG\x07\x98M\xa9?\xd4\xcd\xcdN?\xf8\xe3\x95\xa9\xa5\xcb\'e\xb8Ix\x02\x9e\xd2\r\xea\x9b\xaeX\xd0\x1e7\xef\x86,\x8bz\x01\xca\xc43\xad\x97Z\xdcm\xd7\xd3\x1a\x8cIO*\t\x91\xc1\x11}k*\x81\xfa\\\xa5v/\xc0\xa7\x8d\xae\xc9"\xbbo\xd2\xbeW\xf2\xd0\xf8\x9ao\xaa8\x94\xb2\xbe+\xe5\x02\xe6`\x06M\xed\xf2C[E\xc2\xeb\xc2\xf3\xcf\xf5\x882\xfeI\xd3\x88\xc9]Z\x1bg\xc7 \xc6Y\xf0\x01\x83\xd1\x83v/\xdf\x1d\x15\xbe\x1ddE\xa9N#y n.\xbf\x87\xfa\x11\xe7\xd5\xd7\x9d\xd7=\x14\xe6#\xb7\xf0}\'MLi\x8e\xc6\xff\xab\xb8\x93\xd6\x8c\x99+\xf9\xb8Z\x84\xd6\x1d\xbcjd\x1a\xa09\xac\xff(\x83\x8aI\x9f\xd5\xebb\xa1\xb0\x0c\xc1\xfe\x91\x99\xbf\x83`s\xbe!r"\x06\xc4\xe1\xf3\x81\xa6\xb2\xc8\x7f\xf2\x80\xda\x06\x87~"\xdfD\xcc\xe6\x97uf\x05\x94\x0f\xb3h\x14\x87\xfc\xfe\x14sF4\x02\x9d\x8cz\xe7\xb7t\x8a5\x8b<!x\x97\xdf\xe4\xc4~%\x8f\xd7\x05T_\xe6\x04\xbdB\x9a\x01F\xa2\x96]\x03\xa2J\xf3E\x9d,y\xbb)qJ\x00\xe7p\xf50\xfaFQ\xf5P\xc6\x14\xba\xe6\x92H_T\xdcV\xd5\xd5\xbe\xf2NI\x9e\x1a\xbb\xac9`\x82d\xc4\xe6\xa4H\xd4\xe2\xa5\xde\xce8\'1\x15\xab\x91\xabc&Z\xdc\xca\xd3K\xabY\x9d\xf2\x93dDk\xd6\x82\x05\x9e5\x11"w\x08\x0c\xba\x98[\x9aj\xaf\x83\xbe;$;\xf9\x08\xf1\xfe\xca\x03\xb1\xa9|\xe3\x8d\xc2\xa3\xca\xf1\xeb\xd3\xdfT\x07P\x92S\xf3n\xcbp:\xf2PA\x8a\x04H\xa5\xe2\x03_)\xcf\xa5\x96a\x88\x0f\x8a|\xba\x15\x96Y\x9a\xa7\xd8w,\xd3\xdfA\xb0\x07I\xf4}\x94:\xf7\x11`~\xf7\x08\xc3\xa91\xae\x80X\t\xb8\xc2\x06\xaf_\x8c<\xb3\x9d\r\xad\t\xe6\x9aw\xa8\xcf\xa5\xb4\xd2\xfc\xc4r\xb1\xa7\x9c\x86\xa1\xf9\xd4\xb5\xbeT\x03\x18\xc8\x1c"\xc6\'\x9a\xf4\xb7\xbe\x85\x9f\x9b\xb8\xd8\x14,\x82\x87\xbf9\x8f\x02\xb9\xfd \xb6T\xf4oTQ\xdc\xc0~k\x06\x95\x86\x87\xc3(\xec\xcd\nuCC\x92\xc1\x9a\x98\x86\xaa\xaa\xd8\x8f\x7f\x16\x1a\x92\xc6XDl\xa2j\xf3\xb4\x9c>\x11\x0cK2X\x99\xa7\xe6\x953\x7f"\xc9\xa3t\x95\xb0N\xaf\xf3\x99U<Z/\x0b\xa8&;',
                                "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\x89\x0f\x01\xd1\xed\x8ao\xfc@+\xca\x80\xbe\x0crv\xd3\xc2\x8f\xdd\xf0\xec\x95\x1e\x8b]\x99\xd8\xc2\xdfD\xed\xdc\x0f3\xe5'\xe0+=\x04\x03V\x95\x060%\x90m\xa8\x9f\"\x1f\xb56z\xc7\x9e\xfd\xbeP\xe7]\x12iV\xbdh\xd2\xe2;\xd4%`\x13P\x96\xc8\xe79@f\xc8 \xb8_\xc6\x9ds\x07\x16G\xac\x14\xf4\xad{&-RAL\xc1\x02\xf1\x8d\x9d\"\xfb\x14\xea\x01\x16\t\xcaa\xea\xee\x8c\xdb\xba\xaf\xc1\x16G>\x9d\x84\r\xc0^~_\xbfY-H\xbfazHo\xef\x11\x86\x8a\xed\xd4\xaa\xa4IB?g\xea\x9d\xc0}-\xf9\xfe2\xcc\xb1\xe7\xaf[h\xfd8~\x08\xd5\x95\xd6e\\\xe9S\x08\x836\x08\x15\xe2\xc4[\xf3*wV[\xea\x02D\x0e\xaaP\x1b)\xb9\xc9|3\x0c\xe2\x9b\xce$\xab}\x15F$h\xe8\xfb\x93\x1f\xa1\x1c\xfb\x8ce\xdf\xa6\xeb\x8e\x9f\n;\xb4\xa6\xbe\x90-\x92.\x87\x1e\xe1\x88\xd8\xa4\xe8\xe8\x94p\x9d6\xa2z\xd0\xd2\xdcm\x95A\x86\xac\xca\xb4?\xaf\x00\x9e\xb0\xdf\xbdB\xef\x98\xcc\xe8\xbe\xa2\x8e\xab{\xcc6D\xd9\xa3Q_X\xb8\xcd8m\x04\x83$ \x10\xf6\xf7k\x15i.\xad\xb3\xb0\x89\x82J\xdf\xb2\x10\x18S\xf1\x0e\x82\xa4\x8a\xf0-\xf5t\x83\r+\xe0\x99\xd8\xea{\x92Wb\xa2\xcdxg\xdd\xbdbJ\xd9)\xeadl\x82zE@E\xbcR\xe7X\xbf;\xc6h$\x03v\xe0.!\xe5D\x91N\xd8pM\xce\xda\xb8\xf3\x18\xf1!\xe1\x10\x0b#\xec\x98d\xe6\xe23\xb4\x86Si\xb7\x90~,\xf4R;\xf3/\xd7\xe8\xe8\x8f\xf7\n)S\xa0\xd29\xfe\x12\xec\x9a~\xcbO%\xe4\xdf\x92YT\x15\x1a\x88ap\x19L\xf4\xba\xf0\x82|+\xc1t!\x12=\xb1F\x15\xda\xf4\x08\xa3\xcc9\x9d\x13\xdd\xef\xf50\xd2Q\xf8\x10<\xb3\xcf\xf1\x8d\xedD\x0b\xae\x99rN\x92\x8dY\xbb\xe3P\xf5\xe5\x94\x1b\xe8!4\xf3\xfc\xd18chP\xa8\\\xb8\xf0|\xf3N\x15\xa2\x0c\x88\xfd\xbe\xf4\xce\x91\x86\x0b5\xb0\x9aS\xe7\x91e\x8a\xb2\x01\x81\x19\x8d4\xb1\x8d\xb9\xbe?]\x8a\xe8\\0\x83\xe4\xda\xc9X\x0e\r\x039\xad\xb2yt\x99\xab\xccn1\xb3S\x0f\xbe\xc8B/f\xb0\x92\xf58<x\xc0\xa6\x9fj\xda!\x0e&H\x06\x85\xa3\xaea\xd1\xa6\xbb\xc2+\x98\xf67\xc9\xd62\x08/6\xf2B\xcfw\x1cx#\xa6\x04U\xc6\xdaRYo\x82?\xd4\x93\x99\xed\x04\xa4\x9e\x0b\xa8d\xfd\xf4}\x10*\xee\xbf.\x1d9\x19\xaf\xe2\xe4\x1f\xe6F\xce,\xad\x9e(|\xf9\xed\x83$\x01(iM\xaa6n\xe0b\xb7\xac\"\x92!+\x99\x05\xe5p\xf9\xc8\xb7\xc1\xe0jQa\x9c\xe8\xf5\xf1[\xd3\xe8?(\xa5\x0f\x927D\xf6p\xd1\xe0\xae\x8e\xf2D\xebC\xc4\xb0\xbf\"\xec.M\x9d\xb23{\x1dCl\x99I\xe8\x17}\xf8F\xca\xd6\xc0L\xfb\x15\x05\xf3\xef\xc8n}`\xcb!{\x8f4\xc8\x83\xa6U\xe3\x88\xccF\xc2=\x89\xdf\x14/UI\x8dU\xfcK\xb9\x12\x8b\x99h\xe4\xcf\x8b\x1f\xbaZ6\xa6|0\xe8\x92\xd3?V\xdcS\xb0.mE\xe4\x13\xd5\xbf(\x9dK\x1c\xb2p\x05~\x00&\x90\x8a*\xb5\x87/\xdcn\x98M\xf9oP\xb8\x91r\x9a\xb2\xa6}\xf0\xbd\x06\xff\xccl\xc6#P\xda\x9a\x9f\xab\x94\x12@\xf5\xb9\xa16s\xaf\x80#6\x06\xa4#\xea/L\xa7\xd3\xbe\x18\xcah\xd2\xaf\xde\xce-|:k1\t\xee\x9c\xb8\xfa\x91V\xd3p\xc8&\x91n\xd9\xa458\xd7F2\xcf\x06:\x0fzi,\xd8\x02\x8e\xc1w\xeb\t>\x11a\x86\x81S\x08\xd3tv\xb0\xcf\x92\x87\\\x8f%\xdb\xc2\x0f\xbc\xc9\x97B\xf1|\xd2\x81\xb9\x91\x07\xe2\xa5\xcfV\x0f\x0f\xfa\x1aN\xde=Rf\xaf\x13b\x1b/=\xca\xdc\xd7\x8dIh\xd8\xdd\xe0]\xcdZ\x86\x10\xab\xeaW\x16\x90\x96\xecY\x10\xeaX\xd9\x17\xc6\xc0>\xad\xe8\x99\xd6\x1a|l\xb1\xc1,[_\x8e\xa9p\xf3\x94@\x10|\x08\xdc<M\xc7[C\xf6gL\x07\x0e(v}\x92H(\xbf\xab\xbbo\xcf}\x9c\xf1=\xc8\x8c,\xad{\x8eO\xfej\x1f\xb6\x1b\xcc$\x06\x01\x8a\xfb\x86q$\xfef8\xf8e\xb4\x02a\x13\xf9l\xd4y8\xec\x0c\x95\xac\xac{+\xfbD\xf4$\xe7\n,\x0f@\xfd\x1f(\xeb\x97\xec\xbe\xca\xf5\xfd&\xdd$\xf3\xc6\x0e\x07\x9d\xd0\x05\xa7\x06\xfc\xf6m\xed?\xdab]\x97&\xbe\xaa\xcdn\xa6BK~w\x11\x17\x93\x01\xbe\xe4v\x8dA\x82\xf4*{\xc1\x9463\x91=\x9f\xb8\xaa\x87s\xed[J\xdb=\xe9<\x8b)\x06\xa2\xba-*\x19\x96F\xea\xf4F\xa0\xe2K;\x17$\x06\xe9\r\xfe;\xea@\x1e\xa7/^\xfd\xce7J\x10\x0c\xd1\xc4\xf7\xf0HB\xae\xbeF\xea\x19\x81\xd6\x88\xddj\xb9\xf3\xc9'\xfc\x0c`\x97\xcc\x88!\xf0\xb0\xd6\x89\xd3\x8b\x04\xdd\xbd\x8eg\x00\xeb\x9c>\x89v\x16M\x12\x0f_ \xd0\xbdY\xc6\xf3/p.\x00\xe7\xac5\xc5R\xc6R/\x159\x87(\x13\xad\xde\x1bH\xd9\x81\x89A\x8a\xe9\xaa]Y\xa1\xda\xe3\x18J\xac\x9e\xed\xff3S#\xd3\x8d'~\x01\x9c\xda\xe7\xbd\x18\xae\xb4,\xd2T\xb6\xb5\x8a\x11\x8e4\x86\xda\x9e\x1b!\xef+%\xdb\xd8\xc9l\xb9\xcd1\x82\nsc\xd5\x19F\x91\x1e\x14\x17\xd2\xce\xe6D?\x0f\xbb\xb6\x1b\xf1\xce\x816\x8a\xb4>\xb7\xd5\x8fP\xc8\xe0\x1b\xbd\n\xee\xab\xefi\xc80\x13J\xd5\x15\xbas\xf6\xf5\xa9\x9as_L\xad\xdb\xf3\xa9\x7f?q\x9a\x97\xf6I\xc8\x14\xdej\xc9\xfe\xa1\xa0x\xeb\xa0:\x07\x05\x89\x1cA\x97\x81\xdeuQ8\n*\x13\x95!\xc4Q]{\x85\x9b_\xcfh\xf3B\xee\xc3\x1dy\xcb\xaf\x17\xf6\xf0\xd1\x8b|\x12\xdd\x88\xd7c\xd8\xa00soF\xba\xe0\x8a\x00cB\xbe\xfaM\xbb_\x99\xf8\\\xa2\xca\xc6\x84\x86\x02hA\xf2\xd6{\xc6\xceti\xc22\xe6S\xfb\x0e-\x943\xb3\xac\x9a\"\x82\x96\xfd\x08c,a\xaa\xe77\xd6\x9a\xa5\xcb7\xdf\xd7\xcd\x9f\xb9\xad\xb6\xeaR\x96W\x18\x0es\x04\xd2\x9a\xde#\xd3\xde\xc5\x99<m\xeaj\"\xa1y\xd0\xad\xd3\x8c*\xa1\x9d9\x93\xf7;\xb6^\x85\xae\x90\xb0.\x0b\xa2\x83\x9c\x08\xe3\x98X\xc1I4\xf88.\xad\xd1\xd9\x1a\x8c\xd3\x1d\xc8n\x8c\xc1:\xcf\xb74i\xfc\x0eN\x1e9\xd5\xeeBu\x16\x80\x88\xc7\x0e\x0b\xe8\xd8\xa22:\xf0{\x7f\xb4\x11\xe3\xbe\x9f\x96\x0c\x9c\x18\xea\x9f\xae\x15z\t\xb37\x11\xebz[\xc1\xc7&;i\x18?\xef\x98\xde PX\x0834\xd2N}t\xe9\xf0\\E=3\x19f\xa3\xcc\xbd\x1a2\xe4i'0W\x95[\x99\xb3\x17\xab\xc5\xe9>M\x1b\xb1\xc3b\x1eF\xd7~\xefx\x1b<\xef\xa9\xf50\x85j\xd1\xc5)d0=\x9e\xa1\xe9\xb5\xac\x1a\xbb\xc4\x08\xd5\xd3d\xa6W\xbc\xac\x17;h\xd8tH\x14\t'\x1ax\x93J\xf6tn\xa2~\x08\xa8\xb42\xb3\x84\xcaXV\x01\xbe\xbf\xf9W\x9d\x82\xf0\xd58U\xeb\xe2\x90Q\x05\xff\rU\xbf\x90u\xe4\xadO\xe0\xf7\xe1\xdb&l\xb1\xdf\xaa\xa1\xb0\x96+s\xefD=\xee\x82(\xc6\x91\x0f\xf5\xca,N5H\xed;?\xe4\x87\xe1\xd7\xbf\x81P\x9b\xae'|\xdd\xbaO\x85\x9f\x14\x04Z\xa4\x853\xbd\x01\xd0\xc2\x87\xff\xea\xab\xf6\x99\x9b\x8e\xf3\xcc\xe2\xd8\xc6\xd8\xee\x95[\xb9h\xa0\\|M)\xf7\xb7w6\xf1\xa4\xd3\xad\xd0\xdao\x08\x1b?\xa8\xb6\xfdsy\xb8\xfe\xe9\xbb<\x88\xff\x95W\xde6\x9e\xea\xa7B\xad?\xed\x9f\xaft\xc2\xfb\x11\x81\x87F\x8f7<\xf5)\xd4\x87\xb4\xc4:\xe62 \x8f\xc6K\xe1\xaf\x1e\xd8\xf6\x11\x8d\x81h\x99\xce\x0e\xc8\xc9\xcaz\xa7k\xafj",
                                "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='{"author": "Brandon Sanderson", "title": "Mistborn: The Final Empire", "publication_year": 2006, "pages": 544}'
                        )
                    ],
                    provider="google",
                    model_id="gemini-2.5-flash",
                    raw_message={
                        "parts": [
                            {
                                "function_call": {
                                    "id": None,
                                    "args": {
                                        "author": "Brandon Sanderson",
                                        "title": "Mistborn: The Final Empire",
                                        "publication_year": 2006,
                                        "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\x90\x07\x01\xd1\xed\x8ao\x8b\xca\x03\xdbw\xc12\x8d*\xd3\x1fz\xa9\xcff+\xfaD&\x00d\x12\xda@\x9e^|2\x1d\x12\xc9\xce\x94H\xb0a\xaa\xf4\xcef.\xddz\x15\xeco\xe9\x99\x112\xa7\xc9\x03\xb4\xeedl\xd1\xa9ET\xb2;\xb1\x95.\x08\xed\x88\x01\xf7\xf0)\xa8\xd4\xfc\x7f\x99\xaa}\x9a"\xad\xb8\x9c\xf8\xf2\xf1Q\x886\xe0\x9dN\x10/\xc0lc\x14\x8f\xdet\xb3)\x16\xcbh\x1a\xf9\xa2\xb1\x8e\xbeEs\xf1,\xacE\x08\x9f\xb0\x84\xad\xd3\xda\xb3\x15=\xa6\x00\xc1\xf4\xb0)\xefnB=0\t\x00p\x80\x03\xee#\x16,\xa3\xf7\xbfwQ\x88\x86Xd\xb2"\xd0p\xb3\x89\xd7@B\xf7\xa5\x07\xc3\x0fa>\xc7\x0e\x88\xe1\xc2\xd9\xec\x00\x8f\xdf<\x89\xf3"\x82uu\x83\xf4\xc3\xea\x89\x8a\x0f\x8d\xe7K\x97\x8b\x9f\xfel\x18\x17\xb3\xcf1\xa6\x12\xb4g\xa7\xcd\xeb\x0c\xac\xd1=\x04\xc5\xf1\xb6\xab=A)_\xe8e8\x02t\x18\xf4f\x86\xd6^\x91t\xf0\xb5E\xa9\xeeW\xa5\xceh-!\xb8}S9\xea\x8c\xcd\xda\x0cK\xfc\x95Z\xd4\xbe\xfdj\xc2\xd3A\xb3O\xdc\xdb\x1f\xd5k\xfb\xca}=\x1d\xc29\x05 |\xfc\x8f\xc72\xe6\x97\xa7\xffo\xbcH\xe3\xa1\x10\xfa\x96\xbf,\x8b\x80\xc8\x8ed\x9er\x0c\x7f\xdd\xbd|\xae\xc8\xdf\xb6m\x02\xfb\xb8\xd5\xf2\x0fs9\xbf>\x86Jjn\xc0\xa2X\x9d\xb9\xc4\xa5\xbf\x11QCuV\x93\x0b7\xc0\xf8\xcc-?\xbb\xe9\x85_(\xe2K\x0c\xf6\xf3\x85\xf0\xf8\xb7/\x87\xac\xed#<I\x19>\xa3#\xfb\x0cx\xc6\xc4\xa7\x89DnS\xcf\x82?B\xe4\xb8\x94\xeaM)\x1e}s4XD\xc5\x11*\xf6+l\xf8#\x84\xf75\xa1\x10\x12A,\xdcL\x8d\x85\x9d\xe2\xc7]\xbb\xb5\x08\xda\xef\'\xf1\xc7\x91<\xf5?\xdaz\x01\xee\xb3\xe7b\xa0\x94\x86\xcd\xc9\xad}\x91\xe9\xc9z\x82qF\x8c\x05\x1bmn\xf4\xfc"e \xb3V\xf9\xe5\xc3oO\xcb\t\xc7\xdex\xc9,G!\x91A4g\xad\xe5\xef\xb3m\x89\xe9\x87\x97\xba1\xd2wB\xc8\x05\xb6p\xa3\xb1\xde-\xd7a\xdd\xcd\xeep77vh\x97\xda\xe1\x1d\xa4\xd6P\xbe\x13\x00\x1e6\xa4\x1a\xb9\x81(2\xac] \xeb\x87\xf9a\xc8,\x97\xa9\x94\xac\xf5\xf7}\xa7\x86\x82y&?\xa9\xe3\xae\xa5(]3\xa7\x04\xc6\xf0o\xd2\x83@\x04:\x83Z\xc0\xb3\xda\xa1\x02\x8a\x89\xc3\xb9\xa9)\x1ff\x1c\xa0\xd0H~\nm\x85gd&\xee\xa6@\x99{\xed{\xbb\xce\xef\xb2\x96c\xc8\x14\x7f\xb1g$jO\xee`\x9a\xe6\xa8\xb5\xcb\xbb\xbe\xc7\x05\x05\xba\x8bZ\xd8\x1eTV\xf7J\x10n\xb5)\xeaV\x18\x8c}\xec\x0c\x91$\xf4\x9eu\x8bM\x12e{\xbbn\xef\xd1\xd1B\x9f\x12\xbe\x915\xb2\x0b>\xd2u\xd3\xcf\x0b\xe4^X\xc5gt\x1e\x05\'.\xc9(\xe8\r{\xad\x85L\xbf\x1f\xf2\x1c\xa0\xcd\xd6\x18\xfa\xcb\x93<\x90 \x10P ?y\xbd\xa0\x999\xb6\x14\xae\xf8K\xc8c\xfe\xc5\xaf\xb9v\x17\x19D\xfb&\xab\x00WI\x8a\x83\x91\xe4\xba\x02\x1b\x01&\r\xfe\xaf+\xa4\xc4\x839#\xf1e9mM\xba*\x8d&\x92\xe48q7V\xb7\x0b_\xce\xb8\x9fa\x81\x95\xa7\xda:h\xef07\x86\x8dd\x90\x9bz\xf3\x9c{\x8f\xd5\xbf\xb1\xb8\x8f\xf4\x15\x18\x15\x11Et}\xb1ll@\xb5\xc0\xec\x95\x14gO\x17\x8a\xaff\x07\xb6\x94\'\xda\xb0\x8c\xbd_I>&\xd6\x82!2\xa3\xe5\xec\xe5\x80n\xd3\xff\xc7\x94\xea\xff\xa7\x8a*\x81F\xa8jo\xcd\x0e\xaa\x99"\x8fZ\xcb\xc8X\x98\xce\x8f\xeaz].L\xc2\x8d\xbb\x9b\xb5\xe0',
                                "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\x8ao\x02\x05\x800\x8d\xac\xc1\x92\xca\xd8:&\xb0\xee\x0f&\xba\xd2s\x8e\x10\xe4W\xd9\xbd}\xfc\xc84\x8f\xcd\n\x85\x01\x01\xd1\xed\x8ao )we\xecb 8\x9a\xe8\xff\x87\xca-Pm\xb8\x1b\xe1/\xean\xbb\r\x8f\xc5\xe6w\xaa\x17K\xf3,v\xa3q\xcd}\x8d/\xa548\x18\xaf\xe0\xabsl\xfd\xb7\xda\xb1_\xa1O\xb4\xd7\x8a\x98\x8a\xcd.k\xb5\xd06Q\xce%\xa7\x8e\x9f\x16@\xb8#\xa5\xab\x9d\xffK\xc2J\xc1\xd9>^5\xb9\x8a\xba\xdc\xa3\xe3*(l\xd7\xa3\xf8\x99\x93\x8bP\t\xc3*\xd2(\x02n\xc1Y\x01\x08\x0cd\x1aO\x82Z\xa2\xdf\xe5\xb2t\x12\n\xf0\x01\x01\xd1\xed\x8ao\xe0t7\xd1}v.\xb5#=\xd3\xc7\xb9\x0b\x95\xab\x88\xf3\xa3e\x06\xd7\x8a\xc6\x9a`\x0b\x8b\x9d\xaa]\xb1OL\xca\x9c\xbd\xd3w\xa4\xbd\x1fc\x80.\xf3\xc3k\xcb\xdb\x00\xfby\xd5\xe3\xd6;X\xf1\xbbaG\xa8N\xcc\xa6x\tX(\xa2\xe4\xde\x05(\xfe\xa6g:\xc6,\xb3\x03\xc8\x02~2G\x8dt;\xa5\xa8/\x7f{\x81\xd8:ni[t3\xfcu\xcb\x81=\xb0'\x17?l\xaf\x93\xcb\x06\xf8#*6\x8f\xd6\xfe,\xcaHz\xb8F\xbf\xcc\xb3\xe3\xe7\xca\x1d1\x112\x90/\xf6\xcb\xfe\x04P[\xa7\x1dr\xa8\x0e\\\xca&HO\xbd\xf3\"\xe0\x0f;\t-\x13H(\x1fE|\xd65x$\xeb\xbf\xa4\xc4\xc9\x83\x0f%\xec\x17\xba[\xd5\xe3\xd1\x12\x056(\xd5\xa8\xe6\x1c\xcdIO\x11\xa0\x0bc\xb3\xf2\x7fH4a'\xa5[J\xb3\x06\x87}\xcd\xf6\x8b\xc2\x80\x1d\x12\xd8\xdd\xf5\xe0\xa7\xb4\xb3\n\x81\x02\x01\xd1\xed\x8ao9\x99\xeeb\xa4\xb8\xd4\x9d\xaf\x08}g\x00\x15;H\xf1\xa6i\xf2Jl\xe0\xcd\xe3\xca\n\x97\xfa{~g\tT\x1d\xa8(\xca\x82\xc3:\xdb8\xa8\xe8t\x83\xf2o\xd0+\xf7\x08~\xfa\x04%\x93.\x9f\x15XH`\x93\xbc1k\xbe\x00\x1b\xd1r2z\x03\xff9X#\x1bP\xaay\xe7\xa27\xb4\x9b~\x95\xab\xaa\xa3B\xbc\xe4%\x1d\x0f\x87\xc8\x94\xa1\xb8\xca\xe9\xe0,\xf7R\xbe\xbcM\xc2\x05\xfb-\xa7\x0c\xd2ke\xc4g6$\xad<\xe3\xd1\xfc\xba\x04\x18fw\x8b\xe1(m#\xc7\x91,c\xf8&\xba\xd7\xb5;m\xac\x8c\xa46I3\x18\xca3\xec\xcf#\x17\xb1\x03L\xcf\x14\xcf\xe2\x8f\xaatU\xd6\x99d4\"\xcb\xbe\xd7X\xb0\xd3`\x8e\xf1aA\xeatqQ\xd4:\xa4\xe6\x1f\xf1\xdbV\xf6\xd9\xbf^\xed\xc0\xc3*;\x8cl\x95Z@\x8f\xff\xc7\xf7\xffs\x14:\x84z\xf9\xaa\x0e#\xe0?\xcfC\xb3pP\xb9\xfc\xb1Z\tA\x93~\xf0u\x01(\n\xda\x01\x01\xd1\xed\x8ao3gzO\xd0\xa9\xfc\xb3\xac\x02\xf8\x1b\xeeQDug\x07Eb\x86\xe7\xf62\xb25J\\\r]A\xf8\x1e\x12\xb0\xf8_ld\xa5\xcd)b\xb2\xd9\x1cH\xea\xe7kvpW\x98\xfac\xfa\x95\xca\xf0MQ,[#\xf5HG$k\xd4ne9\xa6\xcany\x91u\xf6\x07\xb28\xac\xe4\x8e\x13\xd4h3:\xbf\x1a\xfa\xe1O-a4\x93/\x1b\xec\x9cY^\n\xf5\xa7\xc5\xf4\x1f\xf7\xc4\x84qm\xe9\x86\xd7\xcc\xf6-\xa4\xeb\xd0\xcc\xba\xf78(\xe04\xda\x04\xa6\xaf\x17\xe7F\xaeh\xcd\xf7\xab\x06\xd2\xd10<4\xaepr\x9f\x9f?\xa3W\x07Xp\xb3\ne\xa4R%\xaaD\xf9UZ\xa3\xf5p?\xc8\xc7\xdcq\x99i\xda\x8e\xc1\xf0J\xf3\xbd\xa2b\x9e&\xe0\xf5!a\xa8\xb8!\xe0\xbaS\x0e\x90\xf3\xe5L5\x93{\n\xd9\x01\x01\xd1\xed\x8ao\xa2{)\xd6\x08\xeai'KW+\xe7\x1e^\xb5L8\xee\xa7`\x12]\xee\xae\xb7\xbco\xf4\xb4\xf4k\xd2\xa5\xf7\xa1\xcdv\xd5q\x97\xfd\x96\x95\x879\xc5\xf4\xd0\x12\xc0\x18\xf1\x16bb\xc6\x08\x0c\xcd, j\xe2\xaa\x9c\x96\xe5L\xc96F5\r:\x01\x13\xe4\x1dQ$W\x8e\xe8\xdfxH\xc5u\rc\xe9npu-Sw\xbe\x8f\xccF\xa6\xb6q\xd4A\xce\xf1|\xc8k\xd4l\x9b\x912,MV\x9bt\xd6\xa7\xac&\xdam\xa2o7\xf5MH\x01\xf1\x04\xdb\xec\xba\x1dL\xb6H!\xac\x12'\x9e\x83\xa9\x06 \xf8u\"\x90\x14w\xdfM\x93\xe2F\x11\x14k\x82\xacs\xe5\x8a=xZ\xf7H9rR\x15z\xdb\xc9D\xcc\x9f\x16\xa2\\0\t0>\xaa\xdf\xb6\xa6\x96\x8c1\xb4K\xa4<3=s\x14U\x91c\xbc\n\xa6\x01\x01\xd1\xed\x8ao\x10D\"\x88\x05\xf59\xf3[\x17;\xe2\xf9;\x1an*4IN'\x82-\xc7h\x96\x0b*x\xe7R\x1c\xfd\x11\x00A61\x83\x8e@E$x1'K\x03\x82\xb2\x84\xc3R\xba\xcc\xf5\x03\xf6\x04G5\xaa\xe2\x1dk\xf8\xdf\xb2Y\xdd9\x9ck_\xde\xe1\xef\xff\xcdX\xf3YJ\xf4\xce\x002r\xe0\xbbK^\xd1W\x80\xcb\x84Z\xad\xfcN\xd1_\x0cDv\xf3\xa9\xbd4\xaf\xf7\xb4U\xd0v\xe7\xb7\x14\x94\x83\xc0\xea}p\x86\xbd\x8a\xa27\x94\x8c\x01\xad\xdd\xd7\xbb\xddq\xc5>?\xf7\xba\xadP\xe1\xd3\xd5\xd1Y'\xb4~'\xdbW\x96\x07\xcd\xb8\n\xa7\x01\x01\xd1\xed\x8ao\xf6e\xf13\xb8\xacCG\xa7\xc9\x90\xe5+\xd3\xfaP|\x93\xb0\xa7s^\xc9\x1d\xe6\xba\xf56\t8?/\x08\x00M\x16\x16\x16\"\xb2*/2\x07\xa0\xefh\xc2\xc7\n\xf0\\\xe4\xa8p\xae\x98\xa8\x9b\xed\xb5\xa7\xa0Ld\xd1QYP\xcb3_r.\x1f]\xaa\x1bFFP1\x13\x82\x95\xcd\xa6\xee%zyO\x06T\x1a}ad9 \x91\xd0\x1b\xb4V4b\x16\xa5\xc3\x85\x10\xa2J\x8f\x8d3\x11u!\x9f\x00\xcb\xf7\xa5l\x13\xb4\xec\xcb\x99\xb2\x8c\xc2\xe0\x8d7\xe8\xfd]8\x8a\xc7\xefJ\xae\xce(\xc8\x037\xabL\x87{\x8a\xe6#-q\xd4\x1f",
                                "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='{"author": "Brandon Sanderson", "pages": 544, "publication_year": 2006, "title": "Mistborn: The Final Empire"}'
                        )
                    ],
                    provider="google",
                    model_id="gemini-2.5-flash",
                    raw_message={
                        "parts": [
                            {
                                "function_call": {
                                    "id": None,
                                    "args": {
                                        "author": "Brandon Sanderson",
                                        "pages": 544,
                                        "publication_year": 2006,
                                        "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\x13\xdd\xe4' \x0b\xdc\xd2\xf1\xbe\xc0\xcc\xf3j\xf2\x9c\xf4\xf3\xae\xc0\x1f\x14\xf2\xc3\xa6\"\xc7\xa0\xd6U\xc2\n\x90\x01\x01\xd1\xed\x8ao\xe7\x82\xfa>6\x92\xe3\x08\xb5xb\x9bF\xf3<O\x8e\xab\x06I\x07=\x00\xdf2\xa4\x82[\x0fA\xb7^^\x82y\xa1\xb3\xf20\xf78\x81\xeb\xdcC\xd8\xd0h\xe7e\xaf\xf9a0s`\x92h\xb3\xa6\xf0!\xf9\xce\xe2\x16\x1b/\xaeL:#,.G#\xca\xf4g\xdeG4f\xc9\xfe:\x92\xf6\xaf\xba\x88\xd4\xd7@\x04\xc7\xeb\xae@\xb2\xbc\xc2t\x8e\x96p\xb5C\x82\x1b\xed\x7f\x86he8\xd2<\x16\x11\xed\xcb\x97\xb9\x97\xc59|\xc9f\x8b\x87zHN\x81\x93l\x98\n\xc5\x01\x01\xd1\xed\x8ao\x1c:\xbc\x8ao\x7f\x9bT\x001\xdc/\x1aP\xc5\x8c\xda\x15\x86\xfdl\xe5\x99\xa8\x00\xda7'mF\xa3\xf8?\\d\xe4Y\xe4H\x86\xc53\xd2\x04\x0f\xf7\xec\x16\xe7\x03[\x81n\xe4\x8d\xe9u\xd5\xc7h\xc8u\xdaX\xfa\xd1\x00\xc27\xd1\xa4[\xcbI^\x0b;L\xc3\xb4\xdcK\xac\\\x9e\xf2\xc3\xf6lsT\xc4\x10\xaf\xdfe:\xf6\x0e+\xba\\6\xcb\xca\x1e\xd0w\x0cx\x947\xdfH\x7f-\xc8q_\xa7\xa6\x0c\xf9\xa9\x9d\x7f\x12)\x8a\xbe\xca\x1cP\x84\xc8]$\x01)\xb0\n\xff\xac*\xc9\x81\xd3\xbd\x8b\x87\x8e+;L\xb3\xfb\x08d\xaa\x89\x8aN\xe0\x9a;\xa9\xa5\x94m\xd6\xaa\x05^\x0cP\x1cz\xed9)\xe4Q\xc5\xfe\x83\x86\xb0\x18\xc4\xdc$\xc4\n\xb4\x01\x01\xd1\xed\x8ao\xfd\xd6%n\xd2J!-\x8e5\x08\xd2\x87\xbeM*Do\x84\nr\xb3g\x1e~\xf6\x9e\x94\n\xb6`\xaaH\xbb\xd8\xf0\x90\r\xed\xb5\xabB\xe5\xbc]?\x89\xb4P\x95X1\xe88\xad\x9d\x89\x04\xae\x9fi\xe3T?\xbd\x84\x11\x82~\xfd\xa0`U!\xa9\xf0\x95z\x93\xaa\xc5I\x19\xf6\xbc\xbak5\xb5\xb61(\t\x16\xf5y!\xf0\xf8\x19\x8a\xfbJ|.l\x16\xc1\x00\xef\x8e\xe2H _\xbd\xdd\xb5+Y\xa8P]e\xc1\xc1p\x91\t9\xc6\xb9\xcb\x9c\x08\xd6\xd0x\xcf\xae\xd1{ \x02z\xb06 h\r\xba\t\x14F\xe1\x15\x97d\x84q\xbd\"@\xc6\xd3\xca1t\x8fx\x80-p8\x1b\n\x9c\x01\x01\xd1\xed\x8ao\xcc\x01\x96\xc5\x96\xdey\xa7\x1cw\xff2\xad\x90x\xb7q\x80\xb6\xf2k\x8c\xbc\xf3~\xb5\xa5\xbf\xc30?\r7\xd8?F\xf6\xa3\xee:Nn'\x81(\xe3\xff1\xb3r\xa2\x1eQO\x9b?Y\x8aZk\xa1\xc2/\x03o^\xd7\x8at\xcd7\xcc\x0c\x9f;\xd78\xa0\xb9\xe9\xdc2\xe1\xfes\xed\xc2><\x11OU`/b\xecj\x00\x8d\x94ND\x1d\xe2\x04\xc1\xd1\xc9]\xae\xba\xce\xc6\xda\xa5{\x14\xacI\xb8\xc5\xa7\xb1\xc0\x96\xd4\x1a\xf8\x87\xb8\xf8\xb6\xb6s\xed \x04l\x0c\xbc\xf4.\xb48yB:\xa0\xb4\xe8Z\n\xc8\x01\x01\xd1\xed\x8ao\xb5\x97f\xef\xbdF1j\xf7\xbdw\xed\x80\x052,\x1e\x13E\xca~/\xa8\x04\xc1r\xb1\xf0edP\xda\xa7\xe0^\xef[\xd7\xd4\xa7\xf95\xa3\x89\xa2\xc4Qe\x96\x90\xe7\xcc\xb1\xcb0\x8e\xa4t\xa4\x9d}\x016\xce\xe4'\x12_\x1d\x1f\xc0\x14\x84C\xa2D\xf5\xad\xb76\x82\x96\xbe\x17V\xb5\x07\xf1\x9dt\xc0\xb8\n5\xbc\xe9\x93\xa8}\x03\xa4p\x13y49\xde\xa9\x8fPRW\x08\x7f\x97\x18\x164-\x82Q\x08\x99\x10\xcbr\x0e\xf5\x99\xd9\xc5\x94z\xe6i\x846\xf31\xc2\xc3\x7f\xf2\x8cR\xcb\xeeR\xa0_C\xed\xbe\x9a \xb0j\xa5\xdc\xbe\n\xceX\x82\xb8\x07\x11C\xf8\xbd\xba^9\x0b\xca\x857\xc5\xf9\n\xc7l.\xbd(\xa6\xd6\xd1/C\xb8\x08\xf5\xfc\x07",
                                "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\xc5\x9e\xb4\xb7\x8e\xf9\r,\x8ae\xc0iq\xf4FPH6h3\xa2Sp\xe9x\xaa\xa3\xd4)\nt\x01\xd1\xed\x8aom%&O\xe0R\xbbq\xe8w\x99\xec:\xc8\xf4J\xcd\x89\xe83g\x98\xb3UZ\x0b\xdf1[\x089\xdd\x83\xe5\xc1\x88}\xb7\xb3\xbfO\xa1Y\xbbYgW\xeb\xe4i\x8a\x97^\x9e\xc9\xe26\xb1\x8c\n\xa2\xa8!\x0b\xb0S\x0cv!\xf1-\x95i\xaa\xb9o\x85\x1d_\x00\x0e\x8f\xceB\x17\xa8\xaeDy\xcf\x8dm\xbf\x90k\x80\x17\x0e\x02\x86\x06\xdb>)\xe5\x06pAU\xd6C\n\xc1\x01\x01\xd1\xed\x8aoG\x1a9l\t\x92\x0c\x10+\xee\xa9\xd2yn\xe1\xd13\xc6\x93j\x9dQ\x95\xca\rRbh\xb3_\xe3\\\xd9\x158$A\x85\xd0`\x021\x85\x12*QK\x9a\xae\xf4/\xb1]\xa0w\xaeC\xc2\xeah\xaa{\xec#.>%\xc8"\x82DE%8X\x991\xa6->\xf8\xd94\xd0f&QJ)\xff\x08\xd3\xefe\x1c\x19?\xdb\x95\xd7\xb9H\xce\xf2\xe5 \x90Y\x14\xc7\xde\xe4\xb7\xdd\xe6\xec3\xa7&4V2\x11Mn3\xa4\xda\x11\xbe\xb8\xcb\x06\rD\xa1*O\x880>dBI\x91gr,\x84\xc5\xa6\xe2h\xa4\x81}Y\x93S:\xcd\xc1\xc6\xc8\x19Ll%\xc2\x1e\xdd]f\xc4 \xd2\xcc\xee\xc1\xa5?O\x16E\xf3\xf1\xee\x9b\n\xaa\x01\x01\xd1\xed\x8aos\xe5\x07\x17\x05.\r\xf3S\xa9\xa9\n\x90/\x9b0 \x111\xf8^2\x83jd\x85l\xee9\xa2M\xa6\xc9\xe4\x96\x8d +&\xa1\xe9\x007\xa2\x9a$2F\xe3h\xa7\x90x|\x80,G-\x17N\x9d\x10\x96\xb4)yk\xaa\x9f\x7fS\xe0\xda:=\xa9p4\x90\x80n\xe2\xd1!\x0c\x07\x18\x95\x0b{,\x1c\x7fQ\x9eL\x04GT\xe1\x10\xc3J_\xa6\x0c\xeeC\x8f\xebv3\xc8b\x90\x0fiX\x94D\x19\xce\x8aN\xd3\xf5ES.I\x183\xe2[\x19\x88I\x9dY\x9d;b\x9d\xd0gd\xf2\xca\x1c3=\x1b\xda_\x99G\x1cR\x14j\x93il\xbd7\n\xe4\x01\x01\xd1\xed\x8ao>\xd9(\xa1@\x0c\xa6[\xedZ\x86\xccWG\xf6i|b\xc1\xa9s\xfd\x06\xebK\xb3\xc2\xfd\xd6\n\x93\xe7]nz\xbd-\xa1h5\xab\xb0\xc6E\xf8\xac\x8a\xb4\x86\xc5\x8c\x18\x92\xa4\x1b\xf9\xe8\xe0\xafxx\xa4\xfe\x1f\xc6?\x89\xef\x8766\xb7]\xde\x89*\x893g\xaf`\x89%ST\xd2\xe2\xcd\xd13kD\x1e\xb3\xd1\xe0\xc9\xe7v^\x04xu}\xea\xbd\x8d>\x9e5Z\xd1\xe5\xd4\xda\xe8\xf2e\xa0\x9b\xed\xfar\xab\x0ff\xce\xc0\xf0\xb9\xfeKF\x05\xf5\xca!\xa7\xcf\xb5z|\xc4\x93V\x93\xeaZ\x92\x19]\xbc\x9cZ\nK\xad\xb3\xef\xfc\xa5\xadu\xe8\xb9ln\xdeR\\\xff\t\xeb\x14\xce\xce\x96\xd3.\xd1\xd6\x80$v\x89\xdb\x0c\xe2\xdd\xb8\xf2]\xeai\xabl\xc1\xcf\x14@|g\xee\xdf\x96z\t\xf6\xf5\xa4S\xc2\x15\xba\xa1\xb7$\x13K~\xd6\xde\x89\n\xf4\x01\x01\xd1\xed\x8ao]\xc9\xf8\x80A\x92\x17"^c\xde?\xd5z\xe9\xbe\xc1|\x817\xffQ\x8c\xfdY!:S\xf1\x0b\xf1\xaa\x99\x1e%\xdc\x83\xbe\xbc\xd2|j]"K5\xff\x15\xf6\xe4T\x81[\x17\t\x07\xd1\xaf\x10\xda\xcb\x1d\xed\x02\x18/\x0f\xe4\xed\x02P\xb4\xb6\xa3_\xabq\xf2\xf5\x00\xdf\xee\xa9`\xe8\x81\xf7X2p\xbdj\xe7\xa4\x08\x8a>e\xf0\xf2\xae\x88\xb4 \xf1\xd8\n\xaa\x1aZ\xc5\xd6\xd2*\xd5\xb6\xb7\xae\xca\x01\xf0=j\xaf\xa8\xee\x8f\xc67\x94\x1b\xa4\xcf&\xd3\x8c\xb7\xee\xfa\xa9\xab\x97#\xcbq\x98\x8f,\xa7\x125\x1d\xdcAh<\x16[\xfa%\x98\x0c \x8b\xbc\xa9\x8c\x89\xf81a1\x90{\x11\xe1\xec\x88\x1e\xdf\x83\xb4\xa9.:\xef\xbal\xf0\xcf\x194\xd7\xe7\x9c:\xc9h\x82\xfe\xea`\xb7F3\x91\x03<\xff\x85\x0c+]\xe3\x01q$$\x13;@n\x19\xae\xe3\xbb0\x83\xfb\x93r\x88n\xcf)\xef1\xf1\xe9\n\xf2\x01\x01\xd1\xed\x8ao\xe3;G\x8b\x86\x9c\xe3tl"\x08\x84\x8fCN\x8f\xc88\x9eX\xbe|\xae\x95\xcb\t_?d3b?\x0f\xda\x16\tR\x16b\t\xeb\xe6J\x0b\xbbC\x1f\x84\xdf\xe7\xbb\xeb\xa1\x9ck\xe7\xca\xc4Y\xb4\xda\xb2\xe5\x8c\xd9\x86J\xa1\xdc\xee\x10\xb2$\xe4\n\xfdP\xb9y5z\x94q-\xce\xd0\xe6of\xf9\xd2/\x97D[\x07\x07\x9a\x958]\x80\x8fl\xca\xe3\x16q/\x02\xd19\xa3\x7f4Ib\x94\xe2@\xae\xd4\x9f\xc2\x10\x9b\xd4Y(s3$?m\xec\xf25T\xa9\xf5\xe2\t\x1d\x7f\x03O\xfa\xac\x02\xcc\xf2j\xb7\x9b\x89<\xe5\x84\x94\xa7.\xa6\x7f\xb5\x8d=0\x94\x85\xfd\x88!\xed\xcf\x10?\xdb3\xf1\x08[-\xb4@\x03j-\xb6L\x07\x04\r$q\x8b\x1a1R\xa5\x889\x18\xb1\xa3\x98\xe1\x07\x03\x05aEz\x07\xd6\x7f0\xc5V]\xdf!\x0f\x18M\xd5\xae\x9d*\xf2\x17d\x0c\xff\x81c"v',
                                "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", "pages": 544, "publication_year": 2006, "author": "Brandon Sanderson"}'
                        )
                    ],
                    provider="google",
                    model_id="gemini-2.5-flash",
                    raw_message={
                        "parts": [
                            {
                                "function_call": {
                                    "id": None,
                                    "args": {
                                        "title": "Mistborn: The Final Empire",
                                        "pages": 544,
                                        "publication_year": 2006,
                                        "author": "Brandon Sanderson",
                                    },
                                    "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\xa7[3\x0fa\xc6\xe6\xb2c\xbe\xec\xf8\x81,(V\xea\x01\xbe\xefTc/;y\x7f6\xfc4,\xea\n\x7f\x01\xd1\xed\x8aoZ\xe4\xf6\xcaM\xea\xc2\xe0\x9a\xb3\xc9\xdf\xfc\xael\x1f\xab5\xbf\xeb\xab\xb4\x82\xc6\"y\xea\xdcH\xd5(\xdd\x9e\x95v\xbabn&\xedR/\x136\x13\xbd\xc1.>v\xb2\xbfs\xbe\t\xad\xb9P\\\x17\xe7xL\xde\x0f\x9d\xd7\xc1\xc5\xba\xfe\x8d\xcb-\xe40cw\xcc\xa9`o?\xc4\xc5\xf9\x17\xb5\xda;Y$\x80U9\x0e\xb28D\x88\xd7\xb8)\xe6\xafb\x93\xd0\xef\xd6\xf9&{\xf5|\x04\xc7\xa4_tR\x84\n\xe3\x01\x01\xd1\xed\x8ao\xbd\x9d\xe3{\x8a}\xea\x17x\x93\xdf\x90\x81\xc4\x01\xc4\x9bF\x0f\xff3]\xaa\xf6\x13\xf45>w\xae\xd3\xe4\xb3B\n\xec\xaf\x9d\x18e\xd6(\x1a\x14\xa7\xf0\xa3\xfc\xda\xf98[}Gg\xde\x0b \x1c\xe7C\xf0\xc5b\xa3\xaa\xc4d4\xc9\x12.\xf5\xda\x1e'\xe8\xdd;1\x1a\x05^A\xfc\r,\xe9\xb0\xce&;G\xf0\xf3\x04}\xff\xa7\xd0P\xa0)\x08\xaby\xfa$LU\xc6Jq\xd0\x11+q\xe8UJ(\xa5\x18\xa2\xb6\x88\xb3\xc7\x14\x0c\xabL\xee\x18\x18\x05\x058\x12\xf5\x90\x8d\x0c\xd4J-\x11\xba\xc0*\x7fTKj\x94}\xf7\xe1!\xe5\x9aR\x15\x07!%\x8b\xe7?\xcc:\xc3/UI\xd6\xe1\xa0V\x80\xf8\xdd\x0f\xdd\xe6\xdc\x15\x979\xcf\\\xb4\x03\xa2\x17\x8b\x94\x1b\xd4b\xa5\xb2\x13\xeb\x80\x8e\xcf\x15\xba\x04\x1c{\xa5\xb5)\xe0\xa4\xbd\xe9\x0fV\x86\n\xf0\x01\x01\xd1\xed\x8ao\x171\xd5\xe7\x96\xd7\xb6\xf7\x03\xe2\xadNlN\xf9\x1d\x96\x1f\xc9\x17\xe9q\xc4\xe7\x8c\xd1\x98\xc2\xd5\xce\xb8\xc91u\x91D\xbb\xb2'\x85-\xeb\xbb\x07\x1c\xbfz\x98\\Qq\x867\rgd\x13\x1e\x97\xae\xd5\x90\xc1\xe3\x0e\x031\xe3N\xc9\xc9v\x99\xec\x01\xd2\x1b\xe2J\xde;+\x08\x11\xd7\xb9\xf8X\x11\t\xbe\x18#\x1a\x04\xae\xdd\xb8\x9e\xc9\n\xdb&c\xa41\x06Dw\xb1\xd4n<\x83\x9fL\x85\r\xf5=\xe7\x12\x85\x98`\x05\xe1e\x0b]\xdb\xf94Y\xa2(\xff\xe9\xc4\x0e ]`t\xb5\xe0a\x02\x1c\xcf1\xd6\x9fwz6g\xc9\xeaQap\xb3\x93\xfe\xbb\xe5\xd8\xad-\x99\x95t\x00\x15\xaf\xc9\x12\xed\xc13O\xd4\x0e\xa0\xf6\xa1\x17\x17\xd3\xdb\xcc\xfc\x95\xdd?\xb5\xfb\xbe\x97\x03C\x10t\x8b^\\\xb9\xfa\x03*\xf8\xa9;/\xda\x98V\x9e\xdfX\x90\xab\x92\xf8\xf5\xb7\xa0\x0e\xdb/w\xff\x8c\xd3\n\xaa\x01\x01\xd1\xed\x8ao\x90\xe3\x17<\x9c\xe3(\xd1\xad'&\x19\x15\xe6[\xb5\xfa\xac^&\xd0]\xd8\xbe\xa9W\xff\xffO\x14\xa6H\xb8h\xc2jn\xc1%\x00\x7f\xd9 O\x99\x89\x96D\x9f\xe0#?\xf9\x1ch\xfe\xb7=\xd5a\xe5\xf4jazu^\xc3w=\x9dA\n3)\xe2H:\xa5\xb3\xf6\xfd\xb2\xa9K\xbbg>\x7f\xa1\xac\xc4F(\xe1\xa2\xa3\xa9\xb4\xad6\x0c\x1d\xdf\xac\x7f)\x81.#\xc2\xf7\x82\xdc'\x08\xd1\x1a\x0e\xf4o\x00\x16\\L\xf8\xc9\xc9v\xb2\xeb\xfb\xcf\x15\xd0\x89l\x9cK\xf5\xe9\xaa?I\xb5\xce\xd1\xa2\x80e \xd1\xcf\xc7\x15\xa7bg\x1a\x8ez\xac\xf4P\xd6",
                                "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,
        }
    }
)
