diff --git a/python/pyproject.toml b/python/pyproject.toml index 6e5e6873d1..7d881a58fd 100644 --- a/python/pyproject.toml +++ b/python/pyproject.toml @@ -56,7 +56,7 @@ Changelog = "https://github.com/Mirascope/mirascope/releases" [project.optional-dependencies] anthropic = ["anthropic>=0.75.0,<1.0"] api = ["pydantic-settings>=2.12.0"] -google = ["google-genai>=1.48.0,<2", "pillow>=10.4.0,<11", "proto-plus>=1.24.0"] +google = ["google-genai>=1.57.0,<2", "pillow>=10.4.0,<11", "proto-plus>=1.24.0"] openai = ["openai>=2.14.0,<3"] mcp = ["mcp>=1.25.0,<2"] ops = [ diff --git a/python/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/google_gemini_2_5_flash.yaml b/python/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/google_gemini_2_5_flash.yaml index 0a1952a7ba..ea38968e4a 100644 --- a/python/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/google_gemini_2_5_flash.yaml +++ b/python/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/google_gemini_2_5_flash.yaml @@ -24,21 +24,23 @@ interactions: host: - generativelanguage.googleapis.com user-agent: - - google-genai-sdk/1.48.0 gl-python/3.10.16 + - google-genai-sdk/1.57.0 gl-python/3.10.16 x-goog-api-client: - - google-genai-sdk/1.48.0 gl-python/3.10.16 + - google-genai-sdk/1.57.0 gl-python/3.10.16 + x-goog-api-key: + - method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent response: body: string: !!binary | - H4sIAAAAAAAC/1WRX2+CMBTF3/kUTZ91cW6K29syXWaMoo79ScaydFKgsbakvSRuhO++FkQLD+Ry - z+k9tz9KDyG8IyJmMQGq8T36NB2EyvptNSmACjBC2zLNnCi4eJundGpjAXq0h3AZYWDAaWQ+Ihw+ - z9DqYTlDwROy9ft8NY1wzyikgEyqxrUmoNhuj7YSsqTQunEoAkyk1uFX2AmrzvVX77Kikpza/IOM - KW/tVWvACRNMZ1tKtBTW9hIGa3xWmYjp0bQHXhtQj8aFJildUiAGFjkjwbmShxxCuafiURY1rPGw - Geaw7ejD25MOEgjvSNd+qzlz9dSkMu5Cd/6HuSThDH7tTcLZR4gdENBdqyXhOcCwQV+kGXRXnEy8 - E7EG4htVmjW0Unow/PrDq1E/4URndR5WVOdSaDqPrSe52SzITxAs7vzXP3++Hn0nm/FmgL3K+wcY - CcdgdQIAAA== + H4sIAAAAAAAC/2WRXW+CMBSG7/kVTa9lmWRK3J1Rl7nEjziyj4xdNHCExtqS9pC4Ef/7WhCFjAty + OO/b854+VB4hNGEy5SlDMPSRfNkOIVX9dpqSCBKt0LZss2Aab97mqTq1tSCc3CFaxRQ5CojtR0yj + 5wVZT1cLsnkirn5frucxHViFlZgr3bi2DDVPDmSnMN+XxjQOzZDLzDnCM+2Ena/19+C2olYCXP5R + pSBa+7k10D2X3OQ7YEZJZ3uNNlt6VblM4WTb914bUI+mpWEZrACZhcWuSGih1bHASB1AzlRZwxoH + zbAO254ePFx0VMhEXxqOBv/mmrlN5aILvfM/7CWZ4PjjbhItPiLaAYH9tVoSXgcYtejLLMf+isNg + 4l2QNRTfQBve4MrgaAH6wd3I3wtm8jqQajCFkgaWqfN8voiMJX44HYfFb7jcBuFs4k8T6p29P/IZ + KZZ2AgAA headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 @@ -47,11 +49,11 @@ interactions: Content-Type: - application/json; charset=UTF-8 Date: - - Tue, 04 Nov 2025 21:47:43 GMT + - Fri, 09 Jan 2026 06:00:00 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=1321 + - gfet4t7; dur=1228 Transfer-Encoding: - chunked Vary: diff --git a/python/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/json/google_gemini_2_5_flash.yaml b/python/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/json/google_gemini_2_5_flash.yaml index 9038be26fe..cf162d3a0f 100644 --- a/python/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/json/google_gemini_2_5_flash.yaml +++ b/python/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/json/google_gemini_2_5_flash.yaml @@ -20,21 +20,23 @@ interactions: host: - generativelanguage.googleapis.com user-agent: - - google-genai-sdk/1.48.0 gl-python/3.10.16 + - google-genai-sdk/1.57.0 gl-python/3.10.16 x-goog-api-client: - - google-genai-sdk/1.48.0 gl-python/3.10.16 + - google-genai-sdk/1.57.0 gl-python/3.10.16 + x-goog-api-key: + - method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent response: body: string: !!binary | - H4sIAAAAAAAC/2WRXW+CMBSG7/kVzbnWRZ2bye4WddEsKjqyD8cuGinQiC1pD5sb4b/bQkDIetGc - nPft+XiaO4TAgYqABxSZhgfyaTKE5OVtNSmQCTRCnTLJlCq8equTt2JjQXa2jyD3BSE+IMeE+Sbh - g7eYk/Xjak42T8TGb8v1zIde5aMZxlJVRpei4ocj2UmMw0zrxqQochFZ08QXBbQaF0381buOq2TC - 7CwnGbCkthe1AUIuuI53jGoprO3F27jQqFwE7GzSA6duUJaGTNOIrRhSA442eCBV8pSiJ49MTGVW - grsfVcVanDv6ba2jRJp0pNFg3PtXV89MV560P6D1N2ZJmnD8tZt483cPWiCwO1ZNwmkBA8M/i2Ls - jjgc2vVLZBXFV6Y0r3BF7GQA9kc3d/0woTouG4JiOpVCs2VgPeFi+0z33/tV6Mq/ydLNPvrT8fYH - nMK5ABC6jTOCAgAA + H4sIAAAAAAAC/2WRX0/CMBTF3/cpmj6D0SmQ+GYEFRL+iIuQOB8adtkaSru0dwZd9t1tt2yUsIfm + 5pyze29/LQNC6I7JhCcMwdBH8mUVQsr6dJ6SCBKt0UpWzJnGc7b5Sq+2EYST+4mWsSQkpshRQGyF + mEZvE7J4mk/I8oW4ejNdjGPaa3KswEzpJrhiqPnuQNYKs31hTBfSDLlMXWgUy4p6g6uu/u6d19VK + gNvlqBIQbbxqA3TPJTfZGphR0sU+ouWKdi6XCZysfBu0A+rWtDAshTkgs+BYh4fmWh1zjNQB5LMq + anDDsGnmcb7w71sfFTJxYd0Nhr2rvmZsp3LhP4D3NvaSTHD8dTeJJtuIeiDwcq2WROABo5Z/kWZo + oqtsTayB+Ana8IZWCkfLrx/eDPp7wUxWz6MaTK6kgWniMtuZSNkuPLwuN/A3mq4Gs5/w4V3RoAr+ + AQUxfpaBAgAA headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 @@ -43,11 +45,11 @@ interactions: Content-Type: - application/json; charset=UTF-8 Date: - - Tue, 04 Nov 2025 21:47:40 GMT + - Fri, 09 Jan 2026 05:59:56 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=1307 + - gfet4t7; dur=1019 Transfer-Encoding: - chunked Vary: diff --git a/python/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/strict/google_gemini_2_5_flash.yaml b/python/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/strict/google_gemini_2_5_flash.yaml index 978f16071b..80177d094c 100644 --- a/python/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/strict/google_gemini_2_5_flash.yaml +++ b/python/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/strict/google_gemini_2_5_flash.yaml @@ -24,21 +24,23 @@ interactions: host: - generativelanguage.googleapis.com user-agent: - - google-genai-sdk/1.48.0 gl-python/3.10.16 + - google-genai-sdk/1.57.0 gl-python/3.10.16 x-goog-api-client: - - google-genai-sdk/1.48.0 gl-python/3.10.16 + - google-genai-sdk/1.57.0 gl-python/3.10.16 + x-goog-api-key: + - method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent response: body: string: !!binary | - H4sIAAAAAAAC/1WRy26DMBBF93yF5XWo2oQmUndRkyhRlUdT+pBKF1YYwAqxkT2oaRH/XhtCalig - Ye713PGh8gihByZiHjMETR/Ip+kQUjVvq0mBINAIXcs0C6bw39s+lVMbC8LZHqJVRJFjDpH5iGi4 - nJPNdD0n2wWx9ftqM4vowCisxEyq1rVjqPjhSPYSs6TUunUohlyk1jGpqRNWX+uvwf+KSuZg808y - hryz152BJlxwne2BaSms7SXc7uhV5SKGs2nfel1AM5qWmqWwBmQGFrsioYWSpwJDeQTxKMsG1njY - DnPY9vRhcNFRIsv70qg768zVM5PKcxe68z/MJVnO8cfeJJx/hNQBgf21OhKeA4wa9GWaYX/Fu2Ds - XZC1FN9Aad7iSuFkAPrDm3s/yZnOmkCqQBdSaFjF1gOj5ycWi++Fv3z9nax2gZ/M+DSgXu39AcAb - faZ2AgAA + H4sIAAAAAAAC/2WRy26DMBBF93yF5XVS5aEmandVkqosktAUNX3QhRsMWHFsZA9SUsS/14ZCjMrC + Gt17mRkflx5C+EBEzGICVON79GkUhMr6tJ4UQAUYo5WMmBMF12zzlU5tIkDP9idcRgKhCAMDTiMj + RDh8WqHNw3qFto/I1nt/s4zwoMmRAjKpmmBAQLHDEe0kZEmhdRdSBJhIbWgeiQo7g6uu/hpc11WS + U7vLScaUt/GqDeCECaazHSVaCht7CbcB7lwmYno28shrB9StcaFJStcUiAFHOjw4V/KUQyiPVCxk + UYObTZpmDueeP219kEB4zxrfzQf/+uqlmcq4+wDO25hLEs7gYm8Srt5C7ICA/lotCc8Bhg3/Is2g + v+J4NPX+kDUUX6nSrMGV0pMBOJzc3A4TTnRWD8SK6lwKTf3YZvYfPCWHZO/PvvOfuR/wYHFJn9+x + V3m/ORK3ooICAAA= headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 @@ -47,11 +49,11 @@ interactions: Content-Type: - application/json; charset=UTF-8 Date: - - Tue, 04 Nov 2025 21:47:39 GMT + - Fri, 09 Jan 2026 05:59:54 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=1650 + - gfet4t7; dur=1251 Transfer-Encoding: - chunked Vary: diff --git a/python/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/tool/google_gemini_2_5_flash.yaml b/python/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/tool/google_gemini_2_5_flash.yaml index 1becad1d17..cb73f0f632 100644 --- a/python/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/tool/google_gemini_2_5_flash.yaml +++ b/python/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/tool/google_gemini_2_5_flash.yaml @@ -9,8 +9,8 @@ interactions: "name": "__mirascope_formatted_output_tool__", "parameters": {"properties": {"title": {"title": "Title", "type": "STRING"}, "author": {"title": "Author", "type": "STRING"}, "rating": {"title": "Rating", "type": "INTEGER"}}, "required": - ["title", "author", "rating"], "type": "OBJECT"}}]}], "toolConfig": {"function_calling_config": - {"mode": "ANY", "allowed_function_names": ["__mirascope_formatted_output_tool__"]}}, + ["title", "author", "rating"], "type": "OBJECT"}}]}], "toolConfig": {"functionCallingConfig": + {"allowedFunctionNames": ["__mirascope_formatted_output_tool__"], "mode": "ANY"}}, "generationConfig": {}}' headers: accept: @@ -20,38 +20,39 @@ interactions: connection: - keep-alive content-length: - - '927' + - '923' content-type: - application/json host: - generativelanguage.googleapis.com user-agent: - - google-genai-sdk/1.48.0 gl-python/3.10.16 + - google-genai-sdk/1.57.0 gl-python/3.10.16 x-goog-api-client: - - google-genai-sdk/1.48.0 gl-python/3.10.16 + - google-genai-sdk/1.57.0 gl-python/3.10.16 + x-goog-api-key: + - method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent response: body: string: !!binary | - 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 + n+80szKanjmNi65yVDfs3evdb9KEkPPXBQAA headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 @@ -60,11 +61,11 @@ interactions: Content-Type: - application/json; charset=UTF-8 Date: - - Tue, 04 Nov 2025 21:47:42 GMT + - Fri, 09 Jan 2026 05:59:58 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=1349 + - gfet4t7; dur=1108 Transfer-Encoding: - chunked Vary: diff --git a/python/tests/e2e/input/snapshots/test_call_with_audio/google_gemini_2_5_flash_snapshots.py b/python/tests/e2e/input/snapshots/test_call_with_audio/google_gemini_2_5_flash_snapshots.py index 0cb70c2d95..254aca7368 100644 --- a/python/tests/e2e/input/snapshots/test_call_with_audio/google_gemini_2_5_flash_snapshots.py +++ b/python/tests/e2e/input/snapshots/test_call_with_audio/google_gemini_2_5_flash_snapshots.py @@ -54,10 +54,11 @@ raw_message={ "parts": [ { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": "LLM abstractions that aren't abstractions", diff --git a/python/tests/e2e/input/snapshots/test_call_with_empty_string/google_gemini_2_5_flash_snapshots.py b/python/tests/e2e/input/snapshots/test_call_with_empty_string/google_gemini_2_5_flash_snapshots.py index 1e0f00d31d..4c29bd19fa 100644 --- a/python/tests/e2e/input/snapshots/test_call_with_empty_string/google_gemini_2_5_flash_snapshots.py +++ b/python/tests/e2e/input/snapshots/test_call_with_empty_string/google_gemini_2_5_flash_snapshots.py @@ -178,10 +178,11 @@ def special_sum(n: int) -> int: raw_message={ "parts": [ { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": '''\ diff --git a/python/tests/e2e/input/snapshots/test_call_with_image_content/google_gemini_2_5_flash_snapshots.py b/python/tests/e2e/input/snapshots/test_call_with_image_content/google_gemini_2_5_flash_snapshots.py index 2efc06d2be..fac9e2ec8a 100644 --- a/python/tests/e2e/input/snapshots/test_call_with_image_content/google_gemini_2_5_flash_snapshots.py +++ b/python/tests/e2e/input/snapshots/test_call_with_image_content/google_gemini_2_5_flash_snapshots.py @@ -58,10 +58,11 @@ raw_message={ "parts": [ { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": "The image displays a three-dimensional jigsaw puzzle globe, composed of white pieces featuring characters from various writing systems, with a few pieces missing to reveal a dark gray interior.", diff --git a/python/tests/e2e/input/snapshots/test_call_with_params/google_gemini_2_5_flash_snapshots.py b/python/tests/e2e/input/snapshots/test_call_with_params/google_gemini_2_5_flash_snapshots.py index 4657247714..009345d672 100644 --- a/python/tests/e2e/input/snapshots/test_call_with_params/google_gemini_2_5_flash_snapshots.py +++ b/python/tests/e2e/input/snapshots/test_call_with_params/google_gemini_2_5_flash_snapshots.py @@ -61,10 +61,11 @@ raw_message={ "parts": [ { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": """\ diff --git a/python/tests/e2e/input/snapshots/test_call_with_two_empty_string/google_gemini_2_5_flash_snapshots.py b/python/tests/e2e/input/snapshots/test_call_with_two_empty_string/google_gemini_2_5_flash_snapshots.py index c6d8cb8496..83bad9b322 100644 --- a/python/tests/e2e/input/snapshots/test_call_with_two_empty_string/google_gemini_2_5_flash_snapshots.py +++ b/python/tests/e2e/input/snapshots/test_call_with_two_empty_string/google_gemini_2_5_flash_snapshots.py @@ -57,10 +57,11 @@ raw_message={ "parts": [ { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": """\ diff --git a/python/tests/e2e/input/snapshots/test_mirascope_provider/google_gemini_2_5_flash_snapshots.py b/python/tests/e2e/input/snapshots/test_mirascope_provider/google_gemini_2_5_flash_snapshots.py index aab4b8b805..e846d635df 100644 --- a/python/tests/e2e/input/snapshots/test_mirascope_provider/google_gemini_2_5_flash_snapshots.py +++ b/python/tests/e2e/input/snapshots/test_mirascope_provider/google_gemini_2_5_flash_snapshots.py @@ -51,10 +51,11 @@ raw_message={ "parts": [ { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": """\ diff --git a/python/tests/e2e/input/snapshots/test_mirascope_provider_streaming/google_gemini_2_5_flash_snapshots.py b/python/tests/e2e/input/snapshots/test_mirascope_provider_streaming/google_gemini_2_5_flash_snapshots.py index 4511dced57..e1fdf05f1b 100644 --- a/python/tests/e2e/input/snapshots/test_mirascope_provider_streaming/google_gemini_2_5_flash_snapshots.py +++ b/python/tests/e2e/input/snapshots/test_mirascope_provider_streaming/google_gemini_2_5_flash_snapshots.py @@ -36,10 +36,11 @@ raw_message={ "parts": [ { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": """\ @@ -57,10 +58,11 @@ "video_metadata": None, }, { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": "2 = **4242**.", diff --git a/python/tests/e2e/input/snapshots/test_resume_with_override/anthropic_beta_claude_sonnet_4_0_snapshots.py b/python/tests/e2e/input/snapshots/test_resume_with_override/anthropic_beta_claude_sonnet_4_0_snapshots.py index af125f4cd6..d84cf991dc 100644 --- a/python/tests/e2e/input/snapshots/test_resume_with_override/anthropic_beta_claude_sonnet_4_0_snapshots.py +++ b/python/tests/e2e/input/snapshots/test_resume_with_override/anthropic_beta_claude_sonnet_4_0_snapshots.py @@ -35,10 +35,11 @@ raw_message={ "parts": [ { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": "I am a large language model, trained by Google.", diff --git a/python/tests/e2e/input/snapshots/test_resume_with_override/anthropic_claude_sonnet_4_0_snapshots.py b/python/tests/e2e/input/snapshots/test_resume_with_override/anthropic_claude_sonnet_4_0_snapshots.py index 33febd3676..b0ed15857c 100644 --- a/python/tests/e2e/input/snapshots/test_resume_with_override/anthropic_claude_sonnet_4_0_snapshots.py +++ b/python/tests/e2e/input/snapshots/test_resume_with_override/anthropic_claude_sonnet_4_0_snapshots.py @@ -35,10 +35,11 @@ raw_message={ "parts": [ { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": "I am a large language model, trained by Google.", diff --git a/python/tests/e2e/input/snapshots/test_resume_with_override/google_gemini_2_5_flash_snapshots.py b/python/tests/e2e/input/snapshots/test_resume_with_override/google_gemini_2_5_flash_snapshots.py index 7340d674ad..1b67909d17 100644 --- a/python/tests/e2e/input/snapshots/test_resume_with_override/google_gemini_2_5_flash_snapshots.py +++ b/python/tests/e2e/input/snapshots/test_resume_with_override/google_gemini_2_5_flash_snapshots.py @@ -63,10 +63,11 @@ raw_message={ "parts": [ { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": """\ diff --git a/python/tests/e2e/input/snapshots/test_resume_with_override/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py b/python/tests/e2e/input/snapshots/test_resume_with_override/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py index 5793da469c..e6c80a498c 100644 --- a/python/tests/e2e/input/snapshots/test_resume_with_override/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py +++ b/python/tests/e2e/input/snapshots/test_resume_with_override/mlx_community_Qwen3_0_6B_4bit_DWQ_053125_snapshots.py @@ -35,10 +35,11 @@ raw_message={ "parts": [ { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": "I am a large language model, trained by Google.", diff --git a/python/tests/e2e/input/snapshots/test_resume_with_override/openai_gpt_4o_completions_snapshots.py b/python/tests/e2e/input/snapshots/test_resume_with_override/openai_gpt_4o_completions_snapshots.py index 7d524ebaa2..2d36465261 100644 --- a/python/tests/e2e/input/snapshots/test_resume_with_override/openai_gpt_4o_completions_snapshots.py +++ b/python/tests/e2e/input/snapshots/test_resume_with_override/openai_gpt_4o_completions_snapshots.py @@ -35,10 +35,11 @@ raw_message={ "parts": [ { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": "I am a large language model, trained by Google.", diff --git a/python/tests/e2e/input/snapshots/test_resume_with_override/openai_gpt_4o_responses_snapshots.py b/python/tests/e2e/input/snapshots/test_resume_with_override/openai_gpt_4o_responses_snapshots.py index 1c4cd3baf3..b38a6269bb 100644 --- a/python/tests/e2e/input/snapshots/test_resume_with_override/openai_gpt_4o_responses_snapshots.py +++ b/python/tests/e2e/input/snapshots/test_resume_with_override/openai_gpt_4o_responses_snapshots.py @@ -35,10 +35,11 @@ raw_message={ "parts": [ { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": "I am a large language model, trained by Google.", diff --git a/python/tests/e2e/input/snapshots/test_resume_with_override_thinking_and_tools/anthropic_beta_claude_sonnet_4_0_snapshots.py b/python/tests/e2e/input/snapshots/test_resume_with_override_thinking_and_tools/anthropic_beta_claude_sonnet_4_0_snapshots.py index 839841c491..07f3b49678 100644 --- a/python/tests/e2e/input/snapshots/test_resume_with_override_thinking_and_tools/anthropic_beta_claude_sonnet_4_0_snapshots.py +++ b/python/tests/e2e/input/snapshots/test_resume_with_override_thinking_and_tools/anthropic_beta_claude_sonnet_4_0_snapshots.py @@ -51,10 +51,11 @@ raw_message={ "parts": [ { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": """\ @@ -69,14 +70,17 @@ "video_metadata": None, }, { + "media_resolution": None, + "code_execution_result": None, + "executable_code": None, + "file_data": None, "function_call": { "id": None, "args": {"n": 100}, "name": "compute_fib", + "partial_args": None, + "will_continue": None, }, - "code_execution_result": None, - "executable_code": None, - "file_data": None, "function_response": None, "inline_data": None, "text": None, diff --git a/python/tests/e2e/input/snapshots/test_resume_with_override_thinking_and_tools/anthropic_claude_sonnet_4_0_snapshots.py b/python/tests/e2e/input/snapshots/test_resume_with_override_thinking_and_tools/anthropic_claude_sonnet_4_0_snapshots.py index 94ee4baa39..676385e6cf 100644 --- a/python/tests/e2e/input/snapshots/test_resume_with_override_thinking_and_tools/anthropic_claude_sonnet_4_0_snapshots.py +++ b/python/tests/e2e/input/snapshots/test_resume_with_override_thinking_and_tools/anthropic_claude_sonnet_4_0_snapshots.py @@ -51,10 +51,11 @@ raw_message={ "parts": [ { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": """\ @@ -69,14 +70,17 @@ "video_metadata": None, }, { + "media_resolution": None, + "code_execution_result": None, + "executable_code": None, + "file_data": None, "function_call": { "id": None, "args": {"n": 100}, "name": "compute_fib", + "partial_args": None, + "will_continue": None, }, - "code_execution_result": None, - "executable_code": None, - "file_data": None, "function_response": None, "inline_data": None, "text": None, diff --git a/python/tests/e2e/input/snapshots/test_resume_with_override_thinking_and_tools/google_gemini_2_5_flash_snapshots.py b/python/tests/e2e/input/snapshots/test_resume_with_override_thinking_and_tools/google_gemini_2_5_flash_snapshots.py index 4b26484abb..c15224afeb 100644 --- a/python/tests/e2e/input/snapshots/test_resume_with_override_thinking_and_tools/google_gemini_2_5_flash_snapshots.py +++ b/python/tests/e2e/input/snapshots/test_resume_with_override_thinking_and_tools/google_gemini_2_5_flash_snapshots.py @@ -91,10 +91,11 @@ raw_message={ "parts": [ { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": "The 100th Fibonacci number is 218,922,995,834,555,169,026.", diff --git a/python/tests/e2e/input/snapshots/test_resume_with_override_thinking_and_tools/openai_gpt_4o_completions_snapshots.py b/python/tests/e2e/input/snapshots/test_resume_with_override_thinking_and_tools/openai_gpt_4o_completions_snapshots.py index 744a543381..cf0b75b215 100644 --- a/python/tests/e2e/input/snapshots/test_resume_with_override_thinking_and_tools/openai_gpt_4o_completions_snapshots.py +++ b/python/tests/e2e/input/snapshots/test_resume_with_override_thinking_and_tools/openai_gpt_4o_completions_snapshots.py @@ -51,10 +51,11 @@ raw_message={ "parts": [ { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": """\ @@ -69,14 +70,17 @@ "video_metadata": None, }, { + "media_resolution": None, + "code_execution_result": None, + "executable_code": None, + "file_data": None, "function_call": { "id": None, "args": {"n": 100}, "name": "compute_fib", + "partial_args": None, + "will_continue": None, }, - "code_execution_result": None, - "executable_code": None, - "file_data": None, "function_response": None, "inline_data": None, "text": None, diff --git a/python/tests/e2e/input/snapshots/test_resume_with_override_thinking_and_tools/openai_gpt_4o_responses_snapshots.py b/python/tests/e2e/input/snapshots/test_resume_with_override_thinking_and_tools/openai_gpt_4o_responses_snapshots.py index ad75bb4c89..e2390424ec 100644 --- a/python/tests/e2e/input/snapshots/test_resume_with_override_thinking_and_tools/openai_gpt_4o_responses_snapshots.py +++ b/python/tests/e2e/input/snapshots/test_resume_with_override_thinking_and_tools/openai_gpt_4o_responses_snapshots.py @@ -51,10 +51,11 @@ raw_message={ "parts": [ { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": """\ @@ -69,14 +70,17 @@ "video_metadata": None, }, { + "media_resolution": None, + "code_execution_result": None, + "executable_code": None, + "file_data": None, "function_call": { "id": None, "args": {"n": 100}, "name": "compute_fib", + "partial_args": None, + "will_continue": None, }, - "code_execution_result": None, - "executable_code": None, - "file_data": None, "function_response": None, "inline_data": None, "text": None, diff --git a/python/tests/e2e/input/snapshots/test_strict_mode/google_gemini_3_pro_preview_snapshots.py b/python/tests/e2e/input/snapshots/test_strict_mode/google_gemini_3_pro_preview_snapshots.py index f829276eca..5f484fe3d6 100644 --- a/python/tests/e2e/input/snapshots/test_strict_mode/google_gemini_3_pro_preview_snapshots.py +++ b/python/tests/e2e/input/snapshots/test_strict_mode/google_gemini_3_pro_preview_snapshots.py @@ -50,10 +50,11 @@ raw_message={ "parts": [ { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": """\ diff --git a/python/tests/e2e/input/snapshots/test_strict_mode_streamed/google_gemini_3_pro_preview_snapshots.py b/python/tests/e2e/input/snapshots/test_strict_mode_streamed/google_gemini_3_pro_preview_snapshots.py index a66fe06a51..8d8bf85a7f 100644 --- a/python/tests/e2e/input/snapshots/test_strict_mode_streamed/google_gemini_3_pro_preview_snapshots.py +++ b/python/tests/e2e/input/snapshots/test_strict_mode_streamed/google_gemini_3_pro_preview_snapshots.py @@ -35,10 +35,11 @@ raw_message={ "parts": [ { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": """\ @@ -53,10 +54,11 @@ "video_metadata": None, }, { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": "", diff --git a/python/tests/e2e/input/snapshots/test_strict_mode_with_streamed_thinking/google_gemini_3_pro_preview_snapshots.py b/python/tests/e2e/input/snapshots/test_strict_mode_with_streamed_thinking/google_gemini_3_pro_preview_snapshots.py index 6324b8a397..228820cd18 100644 --- a/python/tests/e2e/input/snapshots/test_strict_mode_with_streamed_thinking/google_gemini_3_pro_preview_snapshots.py +++ b/python/tests/e2e/input/snapshots/test_strict_mode_with_streamed_thinking/google_gemini_3_pro_preview_snapshots.py @@ -50,10 +50,11 @@ raw_message={ "parts": [ { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": """\ @@ -68,10 +69,11 @@ "video_metadata": None, }, { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": """\ @@ -86,10 +88,11 @@ "video_metadata": None, }, { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": """\ @@ -103,10 +106,11 @@ "video_metadata": None, }, { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": """\ @@ -118,10 +122,11 @@ "video_metadata": None, }, { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": "", diff --git a/python/tests/e2e/input/snapshots/test_strict_mode_with_thinking/google_gemini_3_pro_preview_snapshots.py b/python/tests/e2e/input/snapshots/test_strict_mode_with_thinking/google_gemini_3_pro_preview_snapshots.py index 30f2850f25..b03f9c8898 100644 --- a/python/tests/e2e/input/snapshots/test_strict_mode_with_thinking/google_gemini_3_pro_preview_snapshots.py +++ b/python/tests/e2e/input/snapshots/test_strict_mode_with_thinking/google_gemini_3_pro_preview_snapshots.py @@ -76,10 +76,11 @@ raw_message={ "parts": [ { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": """\ @@ -110,10 +111,11 @@ "video_metadata": None, }, { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": """\ diff --git a/python/tests/e2e/input/snapshots/test_strict_mode_with_tools/google_gemini_3_pro_preview_snapshots.py b/python/tests/e2e/input/snapshots/test_strict_mode_with_tools/google_gemini_3_pro_preview_snapshots.py index 848dfa55c5..8f5685a5a3 100644 --- a/python/tests/e2e/input/snapshots/test_strict_mode_with_tools/google_gemini_3_pro_preview_snapshots.py +++ b/python/tests/e2e/input/snapshots/test_strict_mode_with_tools/google_gemini_3_pro_preview_snapshots.py @@ -52,14 +52,17 @@ raw_message={ "parts": [ { + "media_resolution": None, + "code_execution_result": None, + "executable_code": None, + "file_data": None, "function_call": { "id": None, "args": {"b": 3, "a": 2}, "name": "customAdditionImplementation", + "partial_args": None, + "will_continue": None, }, - "code_execution_result": None, - "executable_code": None, - "file_data": None, "function_response": None, "inline_data": None, "text": None, @@ -98,10 +101,11 @@ raw_message={ "parts": [ { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": """\ diff --git a/python/tests/e2e/input/snapshots/test_strict_mode_with_tools_streamed/google_gemini_3_pro_preview_snapshots.py b/python/tests/e2e/input/snapshots/test_strict_mode_with_tools_streamed/google_gemini_3_pro_preview_snapshots.py index c0527f0300..f078bc8bc9 100644 --- a/python/tests/e2e/input/snapshots/test_strict_mode_with_tools_streamed/google_gemini_3_pro_preview_snapshots.py +++ b/python/tests/e2e/input/snapshots/test_strict_mode_with_tools_streamed/google_gemini_3_pro_preview_snapshots.py @@ -37,14 +37,17 @@ raw_message={ "parts": [ { + "media_resolution": None, + "code_execution_result": None, + "executable_code": None, + "file_data": None, "function_call": { "id": None, "args": {"a": 2, "b": 3}, "name": "customAdditionImplementation", + "partial_args": None, + "will_continue": None, }, - "code_execution_result": None, - "executable_code": None, - "file_data": None, "function_response": None, "inline_data": None, "text": None, @@ -53,10 +56,11 @@ "video_metadata": None, }, { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": "", @@ -95,10 +99,11 @@ raw_message={ "parts": [ { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": "{", @@ -107,10 +112,11 @@ "video_metadata": None, }, { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": """\ @@ -123,10 +129,11 @@ "video_metadata": None, }, { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": """\ @@ -139,10 +146,11 @@ "video_metadata": None, }, { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": "", diff --git a/python/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/google_gemini_2_5_flash_snapshots.py b/python/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/google_gemini_2_5_flash_snapshots.py index 6373fdfb43..6dc6307188 100644 --- a/python/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/google_gemini_2_5_flash_snapshots.py +++ b/python/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/google_gemini_2_5_flash_snapshots.py @@ -17,17 +17,17 @@ "finish_reason": None, "usage": { "input_tokens": 62, - "output_tokens": 112, + "output_tokens": 153, "cache_read_tokens": 0, "cache_write_tokens": 0, - "reasoning_tokens": 88, + "reasoning_tokens": 129, "raw": """\ cache_tokens_details=None cached_content_token_count=None candidates_token_count=24 candidates_tokens_details=None prompt_token_count=62 prompt_tokens_details=[ModalityTokenCount( modality=, token_count=62 -)] thoughts_token_count=88 tool_use_prompt_token_count=None tool_use_prompt_tokens_details=None total_token_count=174 traffic_type=None\ +)] thoughts_token_count=129 tool_use_prompt_token_count=None tool_use_prompt_tokens_details=None total_token_count=215 traffic_type=None\ """, - "total_tokens": 174, + "total_tokens": 215, }, "messages": [ SystemMessage( @@ -53,10 +53,11 @@ raw_message={ "parts": [ { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": '{"title": "THE NAME OF THE WIND", "author": "Patrick Rothfuss", "rating": 7}', diff --git a/python/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/json/google_gemini_2_5_flash_snapshots.py b/python/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/json/google_gemini_2_5_flash_snapshots.py index f0d5234ea9..90a86273be 100644 --- a/python/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/json/google_gemini_2_5_flash_snapshots.py +++ b/python/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/json/google_gemini_2_5_flash_snapshots.py @@ -17,17 +17,17 @@ "finish_reason": None, "usage": { "input_tokens": 62, - "output_tokens": 142, + "output_tokens": 94, "cache_read_tokens": 0, "cache_write_tokens": 0, - "reasoning_tokens": 110, + "reasoning_tokens": 62, "raw": """\ cache_tokens_details=None cached_content_token_count=None candidates_token_count=32 candidates_tokens_details=None prompt_token_count=62 prompt_tokens_details=[ModalityTokenCount( modality=, token_count=62 -)] thoughts_token_count=110 tool_use_prompt_token_count=None tool_use_prompt_tokens_details=None total_token_count=204 traffic_type=None\ +)] thoughts_token_count=62 tool_use_prompt_token_count=None tool_use_prompt_tokens_details=None total_token_count=156 traffic_type=None\ """, - "total_tokens": 204, + "total_tokens": 156, }, "messages": [ SystemMessage( @@ -59,10 +59,11 @@ raw_message={ "parts": [ { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": """\ diff --git a/python/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/strict/google_gemini_2_5_flash_snapshots.py b/python/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/strict/google_gemini_2_5_flash_snapshots.py index eca7bace7a..f7715423ab 100644 --- a/python/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/strict/google_gemini_2_5_flash_snapshots.py +++ b/python/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/strict/google_gemini_2_5_flash_snapshots.py @@ -17,17 +17,17 @@ "finish_reason": None, "usage": { "input_tokens": 62, - "output_tokens": 170, + "output_tokens": 135, "cache_read_tokens": 0, "cache_write_tokens": 0, - "reasoning_tokens": 146, + "reasoning_tokens": 103, "raw": """\ -cache_tokens_details=None cached_content_token_count=None candidates_token_count=24 candidates_tokens_details=None prompt_token_count=62 prompt_tokens_details=[ModalityTokenCount( +cache_tokens_details=None cached_content_token_count=None candidates_token_count=32 candidates_tokens_details=None prompt_token_count=62 prompt_tokens_details=[ModalityTokenCount( modality=, token_count=62 -)] thoughts_token_count=146 tool_use_prompt_token_count=None tool_use_prompt_tokens_details=None total_token_count=232 traffic_type=None\ +)] thoughts_token_count=103 tool_use_prompt_token_count=None tool_use_prompt_tokens_details=None total_token_count=197 traffic_type=None\ """, - "total_tokens": 232, + "total_tokens": 197, }, "messages": [ SystemMessage( @@ -44,7 +44,13 @@ AssistantMessage( content=[ Text( - text='{"title": "THE NAME OF THE WIND", "author": "Patrick Rothfuss", "rating": 7}' + text="""\ +{ + "title": "THE NAME OF THE WIND", + "author": "Patrick Rothfuss", + "rating": 7 +}\ +""" ) ], provider_id="google", @@ -53,13 +59,20 @@ raw_message={ "parts": [ { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, - "text": '{"title": "THE NAME OF THE WIND", "author": "Patrick Rothfuss", "rating": 7}', + "text": """\ +{ + "title": "THE NAME OF THE WIND", + "author": "Patrick Rothfuss", + "rating": 7 +}\ +""", "thought": None, "thought_signature": None, "video_metadata": None, diff --git a/python/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/tool/google_gemini_2_5_flash_snapshots.py b/python/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/tool/google_gemini_2_5_flash_snapshots.py index d68f494e03..e5839ad863 100644 --- a/python/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/tool/google_gemini_2_5_flash_snapshots.py +++ b/python/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/tool/google_gemini_2_5_flash_snapshots.py @@ -17,17 +17,17 @@ "finish_reason": None, "usage": { "input_tokens": 137, - "output_tokens": 174, + "output_tokens": 147, "cache_read_tokens": 0, "cache_write_tokens": 0, - "reasoning_tokens": 137, + "reasoning_tokens": 110, "raw": """\ cache_tokens_details=None cached_content_token_count=None candidates_token_count=37 candidates_tokens_details=None prompt_token_count=137 prompt_tokens_details=[ModalityTokenCount( modality=, token_count=137 -)] thoughts_token_count=137 tool_use_prompt_token_count=None tool_use_prompt_tokens_details=None total_token_count=311 traffic_type=None\ +)] thoughts_token_count=110 tool_use_prompt_token_count=None tool_use_prompt_tokens_details=None total_token_count=284 traffic_type=None\ """, - "total_tokens": 311, + "total_tokens": 284, }, "messages": [ SystemMessage( @@ -44,7 +44,7 @@ AssistantMessage( content=[ Text( - text='{"rating": 7, "author": "Patrick Rothfuss", "title": "THE NAME OF THE WIND"}' + text='{"rating": 7, "title": "THE NAME OF THE WIND", "author": "Patrick Rothfuss"}' ) ], provider_id="google", @@ -53,23 +53,26 @@ raw_message={ "parts": [ { + "media_resolution": None, + "code_execution_result": None, + "executable_code": None, + "file_data": None, "function_call": { "id": None, "args": { "rating": 7, - "author": "Patrick Rothfuss", "title": "THE NAME OF THE WIND", + "author": "Patrick Rothfuss", }, "name": "__mirascope_formatted_output_tool__", + "partial_args": None, + "will_continue": None, }, - "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\x03\x01\xd1\xed\x8ao\xb0t\xf7j;\xf9\xf1Ji\xd3\xb4e\xf5om_\xa0z\x06\x9dsVc\x19\'\x95(*\xf3x\xb1\xef\xb0\xd4r\xbbk"\xc4\x07\xc73*\xae\xae\xedO7x\xfd-;\x8c\x85mU\x06\xd1\xe6\xc4\x0e\xde0\x16M8\x95P\xb0\x02\xc61\x8a_\xc8\xe9\x94\xa4\x11\xbe\x9bx\xe1\xda\x03t\xc3M\xca\x89>B\xa2?\x91J\x94#DMo\xf9n\x97\xe7\xb2\xeaM\x8d\x90\xe9\xe6\xc0\xe8\xb8\xdf\xf2\x06\x04\xc8F\xb4\xfdb\x87\xbcI\xf6\xbd\xb3\xbd\x9e\xd9\x91\xfa\xf4\xackVN\x9d\x03\xf4\x90rg\x0c\xc2E%\xfe\x8c{\xb7D}@\xe0\\m\xf0`\x86\xbd\xf6\xab\xa6\x15K\x9cO\x90\xba\x97\x85.\x9e\xd9\xae\xdeh\xc5\x9d\xe6\x89\xa7\xe9\xcc\xfbX\xe3!\xdb\xa7E\xa4\xf4\xb9\xf2\t\x91^#\x9a\xb5S\x95x\xbb\xa6U\x0f_\x13_l2\xd7\x8a\x1f)\xc0A\xf6\x146\x7f\x92#\r\x8f\xaf\x93o\x8f\xb0@SG\xf9\xcfd\xfc?x0\x90w\xae\xfd\x8cO\xb4v\xc7:W\xd6\xb9\x0f|\x8aO8\xdc\xdf\x12]\xdf\xeb\xf7\xe8\x8b\xd5\x07\x8c\xe6\x02/\xf6\x86\xfd\nF\xef\xff\x90gS\x926\xa6k\x1f\x16\x9b\xf0\xf6\x10=k\xefu\x88\xd7\xccS\xc8\xa0$z\xfa\xec\x84+\x86\x86O\xc9\xe8\x99}\x87\x9bL"\x00w\xcf\x03#\xe7h\x9e\x00R\x15\xf0\x85\xdc\x86:4kB.70\xa6\x1cdt*\xd4\xf8\x1c\xef\xf7\x95!a\x87x\xa1\xa7\xcd\xfaS\xb7yY\x925\x0c\xb4\x8c{\xf2\xc3\x9b\\\xed\xeduO:\xc1\x1a?\xc2\xdf\xe9\x19\xd4[\xe2\xb8\x19wNE\xa1\x85\xaa\x15\xa0z\xed\x82\xe4\x85\xef\x91\xa2.\x9a&\xef\xb4\xe8\xc9/\xa1\xb2{_l\\-\xf3@\xf8=>\xc4\x19\x99\x01\xabk\xd2o]\x90\xfb\xb4\xed\x188\xc3\xac\xcc\xb4\xa1PTf\xe3Y\xdb\x06\xdf\xab\xf5Za\x0c\xfbYx;}_\xd6\x94\x88\xd8U\xf5\x8c\xef6\xf2\xaeF*\x1f:\x826F', + "thought_signature": b'\n\xc5\x03\x01r\xc8\xda|\xc9cS\xb6\xb2\x81P\xba\xeb[\xa7\xb9B\x06-\x1a%\xe8\xa5\x84\xbd"y\x1e\xc3n\xfd\xde\x11\xac]P\xbf\xdcP"\x18\xe5\x14*%G\'\x03\xb1L\xe7[\x04\xdaF\xf1\xec\xc756d7\x92\xf9\xb7\x90!c8a\xa1r\xd0\xfb\xcbr\xff\nF\x80\xfa\xe6\xe1\xf3\xc0\x02\x19\xa4~hz\x0f\xeb\x00\x10\xdf\xf3\xbb\x10 j\xc6\x95Yop\xa1\xa98\xccwKSm(\x11iI\xe5\xd7\xe0\xcd\xa5\x7f\x92\xd9\xd84\xe3\x89D\xc5\xccx(9S2\x02\x8bA\xbf\x84\xc3C<\xbd\x9c\xff\xb5\xd5B_7\xc3U\x82h\xda\x98\xca\xec\xf96\xfdw\xe1D\xbb\n\x9b\xe2\xd3\x0e\xa2H\xdf\xf0\xd8\xa0\xab\xf5\xb1\xf6\x93\xe4\xcd\xea\xaf\xe5[\xe2\x91\x91<\x89#\x06\xc0\x00SNl\xc7S\xa8\xab{\xce\x83E\xac\xd5\xd39\x7f\xd3\xeb1\xfa[\xeaC\xb3\xb2\xc2%\xa4 \xef\x81\x0f\x80;\x90\x8b\x07\xc2v\x99\x9an\xcd\x8e,`\x8d8:\xdbl\x85\x1ec\x9f?\x0c\xf3\xa3\x18\x18\xb7%\xa2\x7f\xbd\x8e\x84n\xae\xee\x08\xb7\xf2\t_n\x08\xf4\xeb\xfa\xff\x01\x88\x85\xf2B\x10-c\xcf\xa0\x96\x88\xbb\x98I\xcd\xf0|\x17\x8eY\x18g\xccN-\xd7\xe3\xeb\xb6\xf8\x15\x81D\xff\xe1-\x14\xdd\xc1\x80BMa\x95\x1a\xe8\x1b/\xe3\x0fgJf\xe6C\xf2@\x88a7\x9e\xdf\x98\xf5\xe0\xc1g{4\x8c\x8a\xa6\xdb\xa5\xdah\x89\x12(\x16\\\x99\xa7\x05v\xb0+\xa8h\x95z.V\x02\xc5\'y\x0c\xcc\xd4\x88\xae\xd5v\xdd\xe4\x00\x96\xeb;}ER\xfb\x1a+\xdb\xdc\xb7\x1b\x9b\x96\x10\xa8>d\xeb\xbfW\xc8\x97u\x908\xd8\xcc\xfd]V9~\x99K[\x06\xcdq\xc7j\xfcY\xb6\xb1\x80?6-"P8\x93\xa3\x1e}\xf4\xfa\xd9\xc2\x8b', "video_metadata": None, } ], diff --git a/python/tests/e2e/output/cassettes/test_structured_output/google_gemini_2_5_flash/async.yaml b/python/tests/e2e/output/cassettes/test_structured_output/google_gemini_2_5_flash/async.yaml index e6aecd18d8..0c80a197d7 100644 --- a/python/tests/e2e/output/cassettes/test_structured_output/google_gemini_2_5_flash/async.yaml +++ b/python/tests/e2e/output/cassettes/test_structured_output/google_gemini_2_5_flash/async.yaml @@ -25,21 +25,23 @@ interactions: host: - generativelanguage.googleapis.com user-agent: - - google-genai-sdk/1.48.0 gl-python/3.10.16 + - google-genai-sdk/1.57.0 gl-python/3.10.16 x-goog-api-client: - - google-genai-sdk/1.48.0 gl-python/3.10.16 + - google-genai-sdk/1.57.0 gl-python/3.10.16 + x-goog-api-key: + - method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent response: body: string: !!binary | - H4sIAAAAAAAC/2WR226CQBCG73kKMtfaiD0YvTPVRtN4qGJrU5pmIwtshV2yO6RWwrt3F4qFlAuy - mf+f0ze5ZdtwINxnPkGqYGS/6Yht5+XfaIIj5aiFOqSDKZH4562+vPHWFqQnkwS5B8gwph6MPHBn - U3s5Xkzt1YNt3i/z5cSDjgckw0hI7dH2gEmFH5wkVc6aoGSHY2mLSVPZCIyCTCkPCq1JgoyHWhgU - 0BiluLzfO38LSBFTM10ifBrX9qI26BE4U9GGEiW4sW3d1RouKuM+Pelwz6oblKUhUySkC4pEoyQX - YJBKkaToiiPl9yIrUTpOVaxBvqX3h786CiRxO/XG6XX+FVYT3ZbFzZs0zqW3JDHDb7OKO9270CCB - 7blqFFaDGOjbZGGE7Rmd64EBUEKrOD5TqVgFLKSJRtjtX912A320qOwIkqpUcEXnvvF87Z8eSfA5 - nL2ed+fBfJ2Su+1uDFZh/QCfPsqhlQIAAA== + H4sIAAAAAAAC/2WRTU/CQBCG7/0VzZzBAMEQuRHAyIEPsVGDNWal03ZDu9vsThEl/e9uWwqL9tBM + 5n13Pp45Oq4LWyYCHjBCDUP3zWRc91j9S00KQkFGaFImmTFFF2/9Ha3YWAgP5SM4+kCcEvRh6IP3 + MHUXo/nUXd67ZfwyW0x8aPnAcoqlMh5jD7nS9CFYWr9ZMVJ8u6tsCbOVtaQ4zLX2oTCaYsRFZIRB + AdYoxTl+b10WUDLBcrpUBpg09qIxmBEE1/EamZaitD15yxWcVS4CPJh0x2kaVKUh1yzCORIzKNkZ + GGRKphl5codiLPMKZbdbF7PIX+m9u5NOklhyLfX7rX919cR05Yl9EutaZkmWcPouN/Gmrx5YIOh6 + rIaEYwEDc5o8iunPiJ2+c0JWU3xGpXmNK8LUAGz3bm7boTlZXDUEhTqTQuMsKD37TRaxcL8Zo3j8 + GcxW7fDz5Ws0B6dwfgG6H/xIlAIAAA== headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 @@ -48,11 +50,11 @@ interactions: Content-Type: - application/json; charset=UTF-8 Date: - - Tue, 04 Nov 2025 21:48:49 GMT + - Fri, 09 Jan 2026 06:05:49 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=8845 + - gfet4t7; dur=1481 Transfer-Encoding: - chunked Vary: diff --git a/python/tests/e2e/output/cassettes/test_structured_output/google_gemini_2_5_flash/async_stream.yaml b/python/tests/e2e/output/cassettes/test_structured_output/google_gemini_2_5_flash/async_stream.yaml index aaf6d13087..a07bb49a02 100644 --- a/python/tests/e2e/output/cassettes/test_structured_output/google_gemini_2_5_flash/async_stream.yaml +++ b/python/tests/e2e/output/cassettes/test_structured_output/google_gemini_2_5_flash/async_stream.yaml @@ -25,9 +25,11 @@ interactions: host: - generativelanguage.googleapis.com user-agent: - - google-genai-sdk/1.48.0 gl-python/3.10.16 + - google-genai-sdk/1.57.0 gl-python/3.10.16 x-goog-api-client: - - google-genai-sdk/1.48.0 gl-python/3.10.16 + - google-genai-sdk/1.57.0 gl-python/3.10.16 + x-goog-api-key: + - method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:streamGenerateContent?alt=sse response: @@ -35,9 +37,9 @@ interactions: string: "data: {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \"{\\\"title\\\":\\\"THE NAME OF THE WIND\\\",\\\"author\\\":{\\\"first_name\\\":\\\"Patrick\\\",\\\"last_name\\\":\\\"Rothfuss\\\"},\\\"rating\\\":7}\"}],\"role\": \"model\"},\"finishReason\": \"STOP\",\"index\": 0}],\"usageMetadata\": {\"promptTokenCount\": - 11,\"candidatesTokenCount\": 29,\"totalTokenCount\": 263,\"promptTokensDetails\": - [{\"modality\": \"TEXT\",\"tokenCount\": 11}],\"thoughtsTokenCount\": 223},\"modelVersion\": - \"gemini-2.5-flash\",\"responseId\": \"y3QKaYCiE5Tlz7IPvcW4-AE\"}\r\n\r\n" + 11,\"candidatesTokenCount\": 29,\"totalTokenCount\": 216,\"promptTokensDetails\": + [{\"modality\": \"TEXT\",\"tokenCount\": 11}],\"thoughtsTokenCount\": 176},\"modelVersion\": + \"gemini-2.5-flash\",\"responseId\": \"1JpgabD1EL3AqtsPzcGYkQw\"}\r\n\r\n" headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 @@ -46,11 +48,11 @@ interactions: Content-Type: - text/event-stream Date: - - Tue, 04 Nov 2025 21:49:00 GMT + - Fri, 09 Jan 2026 06:06:13 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=2086 + - gfet4t7; dur=1393 Transfer-Encoding: - chunked Vary: diff --git a/python/tests/e2e/output/cassettes/test_structured_output/google_gemini_2_5_flash/stream.yaml b/python/tests/e2e/output/cassettes/test_structured_output/google_gemini_2_5_flash/stream.yaml index 3db2ed68f7..b054a2b22b 100644 --- a/python/tests/e2e/output/cassettes/test_structured_output/google_gemini_2_5_flash/stream.yaml +++ b/python/tests/e2e/output/cassettes/test_structured_output/google_gemini_2_5_flash/stream.yaml @@ -25,9 +25,11 @@ interactions: host: - generativelanguage.googleapis.com user-agent: - - google-genai-sdk/1.48.0 gl-python/3.10.16 + - google-genai-sdk/1.57.0 gl-python/3.10.16 x-goog-api-client: - - google-genai-sdk/1.48.0 gl-python/3.10.16 + - google-genai-sdk/1.57.0 gl-python/3.10.16 + x-goog-api-key: + - method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:streamGenerateContent?alt=sse response: @@ -35,9 +37,9 @@ interactions: string: "data: {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \"{\\\"title\\\":\\\"THE NAME OF THE WIND\\\",\\\"author\\\":{\\\"first_name\\\":\\\"Patrick\\\",\\\"last_name\\\":\\\"Rothfuss\\\"},\\\"rating\\\":7}\"}],\"role\": \"model\"},\"finishReason\": \"STOP\",\"index\": 0}],\"usageMetadata\": {\"promptTokenCount\": - 11,\"candidatesTokenCount\": 29,\"totalTokenCount\": 197,\"promptTokensDetails\": - [{\"modality\": \"TEXT\",\"tokenCount\": 11}],\"thoughtsTokenCount\": 157},\"modelVersion\": - \"gemini-2.5-flash\",\"responseId\": \"x3QKafCHFdfRz7IPhuvsEQ\"}\r\n\r\n" + 11,\"candidatesTokenCount\": 29,\"totalTokenCount\": 178,\"promptTokensDetails\": + [{\"modality\": \"TEXT\",\"tokenCount\": 11}],\"thoughtsTokenCount\": 138},\"modelVersion\": + \"gemini-2.5-flash\",\"responseId\": \"4ZtgacC9A6PnqtsPv9ypkQw\"}\r\n\r\n" headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 @@ -46,11 +48,11 @@ interactions: Content-Type: - text/event-stream Date: - - Tue, 04 Nov 2025 21:48:56 GMT + - Fri, 09 Jan 2026 06:10:41 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=1490 + - gfet4t7; dur=1582 Transfer-Encoding: - chunked Vary: diff --git a/python/tests/e2e/output/cassettes/test_structured_output/google_gemini_2_5_flash/sync.yaml b/python/tests/e2e/output/cassettes/test_structured_output/google_gemini_2_5_flash/sync.yaml index 8ec1d9ec80..fe0a99d21b 100644 --- a/python/tests/e2e/output/cassettes/test_structured_output/google_gemini_2_5_flash/sync.yaml +++ b/python/tests/e2e/output/cassettes/test_structured_output/google_gemini_2_5_flash/sync.yaml @@ -25,21 +25,23 @@ interactions: host: - generativelanguage.googleapis.com user-agent: - - google-genai-sdk/1.48.0 gl-python/3.10.16 + - google-genai-sdk/1.57.0 gl-python/3.10.16 x-goog-api-client: - - google-genai-sdk/1.48.0 gl-python/3.10.16 + - google-genai-sdk/1.57.0 gl-python/3.10.16 + x-goog-api-key: + - method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent response: body: string: !!binary | - H4sIAAAAAAAC/2WR22rCQBCG7/MUy1xrqaJIvSvVtlI8NvRAU2Qxa7KY7MbdCWhD3r2TxGhscxGG - +f+dwzeZwxhsuPKlz1FYGLIvyjCWlf9C0wqFQhLqFCUTbvDirb6sEZMFxaF4BJkHKDESHgw9cJ/H - bHY/HbP5Iyvi98ls5EHLA55iqA15yL6VxuJa8bh6s+Bo5GZX2iLeVFYaw21qrQc5aYajVAEJgxwa - o+Tn+Lt1WcDoSBTTxdoXUW3PawONoKQNV4JbrQrbqztfwFmVyhcHSt86dYOyNKSWB2IqkBNKfgYG - idFxgq7eCfWg0xJlp1MVa5C/0rt3Jx018uha6vda/+raEXWVUfMkjWvRkjySeCw2cccfLjRA4PVY - NQmnAQzoNGkQ4p8ROz3nhKyi+CaMlRWuQMQEsN296be3dLKwbAhG2EQrKyZ+4UG1fOG++/i0Ptqf - wWSx3+8/42UPnNz5BRFuXwWUAgAA + H4sIAAAAAAAC/2WR22rCQBCG7/MUYa61VGm19U6qogUP2PQATSmD2SSLyW7YnRSr5N27SYxuaC7C + Mv8/p29OjuvCDkXAAySmYeR+mojrnqp/qUlBTJARmpAJZqjo6q2/k/U2FmKHMglOPhCnhPkw8sGb + T93VeDl11zO3fL8vVhMfOj5gTrFUxmPsIVeavgWmdc4GSfHdvrIlaCtbSXGYa+1DYTSFxEVkhGEB + 1ijF5f3VuS6gZMLK6VIZsKSxF43BjCC4jrcMtRSl7cVbb+CichGwgwnfOk2DqjTkGiO2ZIQGJV6A + QaZkmpEn90w8ybxC2evVxSzyLb3/eNZJEibt1IdB519dPTFdeWKfxLqWWRITTr/lJt70wwMLBLXH + akg4FjAwp8mjmNoj9u4GzhlZTfGNKc1rXBFLDcBu/+a+G5qTxVVDUExnUmi2CEqPfs4ixCPO83B7 + HC42xx8x4+NXcArnD7ZT+o+UAgAA headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 @@ -48,11 +50,11 @@ interactions: Content-Type: - application/json; charset=UTF-8 Date: - - Tue, 04 Nov 2025 21:48:38 GMT + - Fri, 09 Jan 2026 06:05:36 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=1820 + - gfet4t7; dur=1401 Transfer-Encoding: - chunked Vary: diff --git a/python/tests/e2e/output/cassettes/test_structured_output/json/google_gemini_2_5_flash/async.yaml b/python/tests/e2e/output/cassettes/test_structured_output/json/google_gemini_2_5_flash/async.yaml index 76338ecd6d..4ba35e8f45 100644 --- a/python/tests/e2e/output/cassettes/test_structured_output/json/google_gemini_2_5_flash/async.yaml +++ b/python/tests/e2e/output/cassettes/test_structured_output/json/google_gemini_2_5_flash/async.yaml @@ -30,21 +30,23 @@ interactions: host: - generativelanguage.googleapis.com user-agent: - - google-genai-sdk/1.31.0 gl-python/3.10.16 + - google-genai-sdk/1.57.0 gl-python/3.10.16 x-goog-api-client: - - google-genai-sdk/1.31.0 gl-python/3.10.16 + - google-genai-sdk/1.57.0 gl-python/3.10.16 + x-goog-api-key: + - method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent response: body: string: !!binary | - H4sIAAAAAAAC/2WRXWvCMBSG7/srwrnW4RR1292Yzgl+r2yDdUiwsQ1tk5KcgiL970v6oe3WixLe - 85yv91wcQuBAhc99ikzDE/k2CiGX4m9jUiATaAK1ZMSUKryx5XdpvA2C7GST4OIJQjxAjjHzjOCB - +zYlq+fllKxfiX1/zlcTDzolRzMMpbJgkWilI1ca94ImVf6GouKHqEqxRExbwE5ieMy09sACeVVZ - UeQisMTYEzk0ps2v75/ObUclY2YXSKTP4hrPa8BMJbgOd4xqKSz27q43cI1y4bOTkXtO3aAoDZmm - AVsypMZtevUUUiWTFF0ZMfEis8Ltwf24rNa4TgsY9qs4SqRxKzTqPXT+FdYT05bHzbM1Lmq2pDHH - s13FnX650HAC/8xVe+E0LANztiwIsT1jf/DoVKaVPn4wpXlpWMASY2G3fzfsHs0Bw6IjKKZTKTSb - +5bZjhZnuhpHk8VMJBhtMjXbd7cSnNz5BdVbYKa5AgAA + H4sIAAAAAAAC/2WRW2vCMBTH3/spQp51TJ0KexN16MDLXNmEdYxgj22wTbrklHmh331JL9pufSjh + f37n9j8XhxC6Y8LnPkPQ9JF8GIWQS/63MSkQBJpAJRkxYQpvbPFdam+DIBxtEr14ghCPIscIPCN4 + 1J1NyXK0mJLVE7Hv9/ly4tFWwbEUQ6ksmCdaac+Vxi/B4jJ/zVDx3aFMsUTEGsBGYrhPtfaoBbKy + smLIRWCJoScyWps2u74/W7cdlYzALhBLH6IKzyrATCW4DjfAtBQWe3VXa3qNcuHD0cj3TtUgL01T + zQJYADLjNrt6ShMl4wRdeQAxlmnudq8zLKrVrtMA+t0yjhJZ1Az1Bq1/hfXEtOVR/Wy1i5otWcTx + ZFdxp1uX1pzAP3NVXjg1y6g5WxqE2JyxM7Bwblrh4xsozQvDAoiNhe3uXb+9NwcM845UgU6k0DD3 + LZM+JwEDtR0/nILzcL4+f89GPy8L6mTOL+AUDEm5AgAA headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 @@ -53,11 +55,11 @@ interactions: Content-Type: - application/json; charset=UTF-8 Date: - - Fri, 17 Oct 2025 20:08:35 GMT + - Fri, 09 Jan 2026 06:05:44 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=2441 + - gfet4t7; dur=1510 Transfer-Encoding: - chunked Vary: diff --git a/python/tests/e2e/output/cassettes/test_structured_output/json/google_gemini_2_5_flash/async_stream.yaml b/python/tests/e2e/output/cassettes/test_structured_output/json/google_gemini_2_5_flash/async_stream.yaml index 46ab87126e..611214be11 100644 --- a/python/tests/e2e/output/cassettes/test_structured_output/json/google_gemini_2_5_flash/async_stream.yaml +++ b/python/tests/e2e/output/cassettes/test_structured_output/json/google_gemini_2_5_flash/async_stream.yaml @@ -30,9 +30,11 @@ interactions: host: - generativelanguage.googleapis.com user-agent: - - google-genai-sdk/1.31.0 gl-python/3.10.16 + - google-genai-sdk/1.57.0 gl-python/3.10.16 x-goog-api-client: - - google-genai-sdk/1.31.0 gl-python/3.10.16 + - google-genai-sdk/1.57.0 gl-python/3.10.16 + x-goog-api-key: + - method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:streamGenerateContent?alt=sse response: @@ -41,14 +43,14 @@ interactions: \ \\\"title\\\": \\\"THE NAME OF THE WIND\\\",\\n \\\"author\\\": {\\n \\\"first_name\\\": \\\"Patrick\\\",\\n \\\"last_name\\\": \\\"Rothfuss\"}],\"role\": \"model\"},\"index\": 0}],\"usageMetadata\": {\"promptTokenCount\": 317,\"candidatesTokenCount\": - 39,\"totalTokenCount\": 550,\"promptTokensDetails\": [{\"modality\": \"TEXT\",\"tokenCount\": - 317}],\"thoughtsTokenCount\": 194},\"modelVersion\": \"gemini-2.5-flash\",\"responseId\": - \"fqLyaIejGpbWz7IP-vaJ0Ao\"}\r\n\r\ndata: {\"candidates\": [{\"content\": + 39,\"totalTokenCount\": 523,\"promptTokensDetails\": [{\"modality\": \"TEXT\",\"tokenCount\": + 317}],\"thoughtsTokenCount\": 167},\"modelVersion\": \"gemini-2.5-flash\",\"responseId\": + \"z5pgaeWlK_eeqtsPkveDiQw\"}\r\n\r\ndata: {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \"\\\"\\n },\\n \\\"rating\\\": 7\\n}\"}],\"role\": \"model\"},\"finishReason\": \"STOP\",\"index\": 0}],\"usageMetadata\": {\"promptTokenCount\": - 317,\"candidatesTokenCount\": 52,\"totalTokenCount\": 563,\"promptTokensDetails\": - [{\"modality\": \"TEXT\",\"tokenCount\": 317}],\"thoughtsTokenCount\": 194},\"modelVersion\": - \"gemini-2.5-flash\",\"responseId\": \"fqLyaIejGpbWz7IP-vaJ0Ao\"}\r\n\r\n" + 317,\"candidatesTokenCount\": 52,\"totalTokenCount\": 536,\"promptTokensDetails\": + [{\"modality\": \"TEXT\",\"tokenCount\": 317}],\"thoughtsTokenCount\": 167},\"modelVersion\": + \"gemini-2.5-flash\",\"responseId\": \"z5pgaeWlK_eeqtsPkveDiQw\"}\r\n\r\n" headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 @@ -57,11 +59,11 @@ interactions: Content-Type: - text/event-stream Date: - - Fri, 17 Oct 2025 20:09:35 GMT + - Fri, 09 Jan 2026 06:06:08 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=1986 + - gfet4t7; dur=1572 Transfer-Encoding: - chunked Vary: diff --git a/python/tests/e2e/output/cassettes/test_structured_output/json/google_gemini_2_5_flash/stream.yaml b/python/tests/e2e/output/cassettes/test_structured_output/json/google_gemini_2_5_flash/stream.yaml index 528f94e796..645fceb2ae 100644 --- a/python/tests/e2e/output/cassettes/test_structured_output/json/google_gemini_2_5_flash/stream.yaml +++ b/python/tests/e2e/output/cassettes/test_structured_output/json/google_gemini_2_5_flash/stream.yaml @@ -30,9 +30,11 @@ interactions: host: - generativelanguage.googleapis.com user-agent: - - google-genai-sdk/1.31.0 gl-python/3.10.16 + - google-genai-sdk/1.57.0 gl-python/3.10.16 x-goog-api-client: - - google-genai-sdk/1.31.0 gl-python/3.10.16 + - google-genai-sdk/1.57.0 gl-python/3.10.16 + x-goog-api-key: + - method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:streamGenerateContent?alt=sse response: @@ -41,14 +43,14 @@ interactions: \ \\\"title\\\": \\\"THE NAME OF THE WIND\\\",\\n \\\"author\\\": {\\n \\\"first_name\\\": \\\"Patrick\\\",\\n \\\"last_name\\\": \\\"Rothfuss\"}],\"role\": \"model\"},\"index\": 0}],\"usageMetadata\": {\"promptTokenCount\": 317,\"candidatesTokenCount\": - 39,\"totalTokenCount\": 628,\"promptTokensDetails\": [{\"modality\": \"TEXT\",\"tokenCount\": - 317}],\"thoughtsTokenCount\": 272},\"modelVersion\": \"gemini-2.5-flash\",\"responseId\": - \"TKLyaIidNJ6UmtkPwqCz8Ao\"}\r\n\r\ndata: {\"candidates\": [{\"content\": + 39,\"totalTokenCount\": 558,\"promptTokensDetails\": [{\"modality\": \"TEXT\",\"tokenCount\": + 317}],\"thoughtsTokenCount\": 202},\"modelVersion\": \"gemini-2.5-flash\",\"responseId\": + \"w5pgaZDhBK7pz7IP27C9-Ac\"}\r\n\r\ndata: {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \"\\\"\\n },\\n \\\"rating\\\": 7\\n}\"}],\"role\": \"model\"},\"finishReason\": \"STOP\",\"index\": 0}],\"usageMetadata\": {\"promptTokenCount\": - 317,\"candidatesTokenCount\": 52,\"totalTokenCount\": 641,\"promptTokensDetails\": - [{\"modality\": \"TEXT\",\"tokenCount\": 317}],\"thoughtsTokenCount\": 272},\"modelVersion\": - \"gemini-2.5-flash\",\"responseId\": \"TKLyaIidNJ6UmtkPwqCz8Ao\"}\r\n\r\n" + 317,\"candidatesTokenCount\": 52,\"totalTokenCount\": 571,\"promptTokensDetails\": + [{\"modality\": \"TEXT\",\"tokenCount\": 317}],\"thoughtsTokenCount\": 202},\"modelVersion\": + \"gemini-2.5-flash\",\"responseId\": \"w5pgaZDhBK7pz7IP27C9-Ac\"}\r\n\r\n" headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 @@ -57,11 +59,11 @@ interactions: Content-Type: - text/event-stream Date: - - Fri, 17 Oct 2025 20:08:46 GMT + - Fri, 09 Jan 2026 06:05:56 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=2159 + - gfet4t7; dur=1550 Transfer-Encoding: - chunked Vary: diff --git a/python/tests/e2e/output/cassettes/test_structured_output/json/google_gemini_2_5_flash/sync.yaml b/python/tests/e2e/output/cassettes/test_structured_output/json/google_gemini_2_5_flash/sync.yaml index 405d2a3d19..f7878813ed 100644 --- a/python/tests/e2e/output/cassettes/test_structured_output/json/google_gemini_2_5_flash/sync.yaml +++ b/python/tests/e2e/output/cassettes/test_structured_output/json/google_gemini_2_5_flash/sync.yaml @@ -30,21 +30,23 @@ interactions: host: - generativelanguage.googleapis.com user-agent: - - google-genai-sdk/1.31.0 gl-python/3.10.16 + - google-genai-sdk/1.57.0 gl-python/3.10.16 x-goog-api-client: - - google-genai-sdk/1.31.0 gl-python/3.10.16 + - google-genai-sdk/1.57.0 gl-python/3.10.16 + x-goog-api-key: + - method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent response: body: string: !!binary | - H4sIAAAAAAAC/2WRXU/CMBSG7/crml6D4SOIekcEI0FgwqIm1piGdVvD1i7tWQIu+++2+4BNd7E0 - 73nO13tyByF8oMLnPgWm8QP6NApCefm3MSmACTCBRjJiShVc2erLW2+DADvZJJwTgRDBwCFmxAgE - e88LtJmtF2j7hOz7fbmZE9yrOJpBJJUFy0QrBVxp+BY0qfNdCoofjnWKJWLaAXYSoiDTmmALFHVl - RYGL0BJTIgrcmra4vL961x2VjJldIJE+ixu8aAAzleA62jGqpbDY3tu6+BLlwmcnIw+cpkFZGmea - hmzNgBq36cVTnCqZpODJIxOPMivdHg+nVbXWdTrAZFTHQQKNu6HBXe9fYT03bXncPlvromZLGnM4 - 21W8xYeHW07An7kaL5yWZdicLQsj6M44HN87tWmVj29MaV4ZFrLEWNgf3Uz6gTlgVHbEiulUCs2W - vmXmq5cz3exft6tb/2e6dIdB4J5na+wUzi8W0XaFuQIAAA== + H4sIAAAAAAAC/2WRXU/CMBSG7/crml6DEcwCekcA4y5gBBc1cYacsG5r2NrZniXqsv9uuw8Yuoul + ec9zvt5TOYTQI4iIR4BM0wfybhRCquZvY1IgE2gCvWTEAhRe2ParBm+DIPuySbQKBSEhRY4ZC40Q + 0uBpTbaLzZr4j8S+X73tKqSjloMSU6ks2CRaKeZK40FA3uXvABU/nroUS2RwBewlpnGpdUgtUHeV + FSAXiSVmoajpYNr6/P4YXXZUMmN2gVxGLOvxugfMVILrdM9AS2Gx58Df0XOUi4h9GfnW6Rs0pWmp + IWEbhmDchrOntFAyLzCQJyaWsmzcvpvM2mqD61wB7rSLo0TIrkPuZPSvsF6Ztjwbnm1wUbMlZBy/ + 7SrB+i2gAyfwz1y9F87AMmrOViYpXs84mU+dzrTWxxemNG8NS1huLBxPb9xxbA6YNh2pYrqQQjMv + ssynWyQAPl9uYv4z83b3B+bPFx51aucXvLD91LkCAAA= headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 @@ -53,11 +55,11 @@ interactions: Content-Type: - application/json; charset=UTF-8 Date: - - Fri, 17 Oct 2025 20:07:40 GMT + - Fri, 09 Jan 2026 06:05:31 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=2355 + - gfet4t7; dur=1526 Transfer-Encoding: - chunked Vary: diff --git a/python/tests/e2e/output/cassettes/test_structured_output/strict/google_gemini_2_5_flash/async.yaml b/python/tests/e2e/output/cassettes/test_structured_output/strict/google_gemini_2_5_flash/async.yaml index 153ad5fedf..017d6a565b 100644 --- a/python/tests/e2e/output/cassettes/test_structured_output/strict/google_gemini_2_5_flash/async.yaml +++ b/python/tests/e2e/output/cassettes/test_structured_output/strict/google_gemini_2_5_flash/async.yaml @@ -25,21 +25,23 @@ interactions: host: - generativelanguage.googleapis.com user-agent: - - google-genai-sdk/1.48.0 gl-python/3.10.16 + - google-genai-sdk/1.57.0 gl-python/3.10.16 x-goog-api-client: - - google-genai-sdk/1.48.0 gl-python/3.10.16 + - google-genai-sdk/1.57.0 gl-python/3.10.16 + x-goog-api-key: + - method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent response: body: string: !!binary | - H4sIAAAAAAAC/2VR22qDQBB99yuWeU5KDWlC+xZqSkLJpam9QC1liasu0V3ZHaGt+O/d9ZIo9UFm - zzlzO1M6hMCRipCHFJmGO/JhEELK+m85KZAJNEQHGTCnCi/a5it7sZEg+7ZJUAYiAOSYssA8A/BX - S7JdbJZk90Bs/LbeegGMrIoWmEhlZXVSxJXGL0GzNnNPUfHjqRWndEAeJCZRoXUAgahqgaLIRWzZ - uYGgN111jj9Hl52UTJkdOJMhSzt51QnMNILr5MColsLKnv3dHs4sFyH7NvC10zWoS0Ohacw2DKlx - l549hFzJLEdfnpi4l0Xtrus2xXrHGPDTWcujRJoOqIl7O/pXV3umK0/7V+od0CxJU44/dhN/+e5D - zwgcjtU54fQMA3OoIk5wOKI7mzitZY2Lr0xp3tgVs8wYOJ5c3Ywjc7qkbgiK6VwKzdah1RSrp0d6 - jA5esXr5na/303Hk8cUUnMr5A/ZpfHWnAgAA + H4sIAAAAAAAC/1WRW2vCMBTH3/spQp51eEFkexN1TIYXXDc31jGCPbbBNinJKXMr/e5LetG0DyWc + /+/c/qfwCKFHJkIeMgRNH8iniRBSVH+rSYEg0AhtyAQzpvDG1l/hvA2CcLFJtAgEIQFFjgkEJhBQ + /2lJNrP1kmwfiX0fVptFQHs1x3KMpbJglWhDJ640fguWNvk7hoofz02KJRLWAfYS41OudUAtUDaV + FUMuIktMA1FSZ9ry+v7q3XZUMgG7QCpDSFq8bAEzleA63gPTUljsxd/u6FXlIoSLCQ+8tkFVmuaa + RbAGZMZtdvWUZkqmGfryDGIu88rt4bAu5hyno09GjY4SWdKRxtNWc+rqhenKE/dqzkHNkizh+Gs3 + 8ZfvPnWMwO5YrROeYxg1R8ujGLsjjgf3XmNZ7eIbKM1ruyJIjYH90d2kfzLni6uGVIHOpNCwCi2D + WRYx4B+z/vP8b7ra/WzUK58NqFd6/xteODW3AgAA headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 @@ -48,11 +50,11 @@ interactions: Content-Type: - application/json; charset=UTF-8 Date: - - Tue, 04 Nov 2025 21:48:40 GMT + - Fri, 09 Jan 2026 06:05:42 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=1487 + - gfet4t7; dur=2637 Transfer-Encoding: - chunked Vary: diff --git a/python/tests/e2e/output/cassettes/test_structured_output/strict/google_gemini_2_5_flash/async_stream.yaml b/python/tests/e2e/output/cassettes/test_structured_output/strict/google_gemini_2_5_flash/async_stream.yaml index 49991278e3..db75cd8161 100644 --- a/python/tests/e2e/output/cassettes/test_structured_output/strict/google_gemini_2_5_flash/async_stream.yaml +++ b/python/tests/e2e/output/cassettes/test_structured_output/strict/google_gemini_2_5_flash/async_stream.yaml @@ -25,9 +25,11 @@ interactions: host: - generativelanguage.googleapis.com user-agent: - - google-genai-sdk/1.48.0 gl-python/3.10.16 + - google-genai-sdk/1.57.0 gl-python/3.10.16 x-goog-api-client: - - google-genai-sdk/1.48.0 gl-python/3.10.16 + - google-genai-sdk/1.57.0 gl-python/3.10.16 + x-goog-api-key: + - method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:streamGenerateContent?alt=sse response: @@ -35,9 +37,9 @@ interactions: string: "data: {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \"{\\\"title\\\":\\\"THE NAME OF THE WIND\\\",\\\"author\\\":{\\\"first_name\\\":\\\"Patrick\\\",\\\"last_name\\\":\\\"Rothfuss\\\"},\\\"rating\\\":7}\"}],\"role\": \"model\"},\"finishReason\": \"STOP\",\"index\": 0}],\"usageMetadata\": {\"promptTokenCount\": - 11,\"candidatesTokenCount\": 29,\"totalTokenCount\": 174,\"promptTokensDetails\": - [{\"modality\": \"TEXT\",\"tokenCount\": 11}],\"thoughtsTokenCount\": 134},\"modelVersion\": - \"gemini-2.5-flash\",\"responseId\": \"yXQKaYHjGtLiz7IPoeqaiAU\"}\r\n\r\n" + 11,\"candidatesTokenCount\": 29,\"totalTokenCount\": 252,\"promptTokensDetails\": + [{\"modality\": \"TEXT\",\"tokenCount\": 11}],\"thoughtsTokenCount\": 212},\"modelVersion\": + \"gemini-2.5-flash\",\"responseId\": \"zZpgadTzFa7pz7IP27C9-Ac\"}\r\n\r\n" headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 @@ -46,11 +48,11 @@ interactions: Content-Type: - text/event-stream Date: - - Tue, 04 Nov 2025 21:48:58 GMT + - Fri, 09 Jan 2026 06:06:06 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=1855 + - gfet4t7; dur=2676 Transfer-Encoding: - chunked Vary: diff --git a/python/tests/e2e/output/cassettes/test_structured_output/strict/google_gemini_2_5_flash/stream.yaml b/python/tests/e2e/output/cassettes/test_structured_output/strict/google_gemini_2_5_flash/stream.yaml index 1ae698b7db..3c69121846 100644 --- a/python/tests/e2e/output/cassettes/test_structured_output/strict/google_gemini_2_5_flash/stream.yaml +++ b/python/tests/e2e/output/cassettes/test_structured_output/strict/google_gemini_2_5_flash/stream.yaml @@ -25,9 +25,11 @@ interactions: host: - generativelanguage.googleapis.com user-agent: - - google-genai-sdk/1.48.0 gl-python/3.10.16 + - google-genai-sdk/1.57.0 gl-python/3.10.16 x-goog-api-client: - - google-genai-sdk/1.48.0 gl-python/3.10.16 + - google-genai-sdk/1.57.0 gl-python/3.10.16 + x-goog-api-key: + - method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:streamGenerateContent?alt=sse response: @@ -35,9 +37,9 @@ interactions: string: "data: {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \"{\\\"title\\\":\\\"THE NAME OF THE WIND\\\",\\\"author\\\":{\\\"first_name\\\":\\\"Patrick\\\",\\\"last_name\\\":\\\"Rothfuss\\\"},\\\"rating\\\":7}\"}],\"role\": \"model\"},\"finishReason\": \"STOP\",\"index\": 0}],\"usageMetadata\": {\"promptTokenCount\": - 11,\"candidatesTokenCount\": 29,\"totalTokenCount\": 318,\"promptTokensDetails\": - [{\"modality\": \"TEXT\",\"tokenCount\": 11}],\"thoughtsTokenCount\": 278},\"modelVersion\": - \"gemini-2.5-flash\",\"responseId\": \"wnQKaefQE-_nz7IPoJ7CMA\"}\r\n\r\n" + 11,\"candidatesTokenCount\": 29,\"totalTokenCount\": 304,\"promptTokensDetails\": + [{\"modality\": \"TEXT\",\"tokenCount\": 11}],\"thoughtsTokenCount\": 264},\"modelVersion\": + \"gemini-2.5-flash\",\"responseId\": \"wJpgafWsHsbUz7IPuJqhsAo\"}\r\n\r\n" headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 @@ -46,11 +48,11 @@ interactions: Content-Type: - text/event-stream Date: - - Tue, 04 Nov 2025 21:48:52 GMT + - Fri, 09 Jan 2026 06:05:53 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=2662 + - gfet4t7; dur=1860 Transfer-Encoding: - chunked Vary: diff --git a/python/tests/e2e/output/cassettes/test_structured_output/strict/google_gemini_2_5_flash/sync.yaml b/python/tests/e2e/output/cassettes/test_structured_output/strict/google_gemini_2_5_flash/sync.yaml index d322e37dd1..7ad5ce74ee 100644 --- a/python/tests/e2e/output/cassettes/test_structured_output/strict/google_gemini_2_5_flash/sync.yaml +++ b/python/tests/e2e/output/cassettes/test_structured_output/strict/google_gemini_2_5_flash/sync.yaml @@ -25,21 +25,23 @@ interactions: host: - generativelanguage.googleapis.com user-agent: - - google-genai-sdk/1.48.0 gl-python/3.10.16 + - google-genai-sdk/1.57.0 gl-python/3.10.16 x-goog-api-client: - - google-genai-sdk/1.48.0 gl-python/3.10.16 + - google-genai-sdk/1.57.0 gl-python/3.10.16 + x-goog-api-key: + - method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent response: body: string: !!binary | - H4sIAAAAAAAC/2WRXWvCMBSG7/srwrnWMQUpejdmhyJqdWUT1jGCjW2wTWpyCttK//vS1mrKelHC - ed/z9ZzSIQSOVEQ8osg0zMiHiRBSNv9akwKZQCN0IRPMqcK7t/1K620syL7rJChDQI4pC2EWQrDw - yOZp7ZHtC6nf78vNPIRBCLTARCrjMfYTVxq/BM3aHJ+i4sdzY0uprewlJqdC6xAqoymKXMRGcCuw - Rqlu78/BfQElU1ZPl8mIpZ296gxmBMF1smdUS1HbXoOtDzeVi4h9m/Cj0zVoSkOhaczWDKlBSW/A - IFcyyzGQZyaeZdGgHI3aYhb5nj6eXnWUSNN+6tQd/Kur56YrT+2TWNcyS9KU40+9SeAdArBAYH+s - joRjAQNzmiJOsD/iaOI6V2QtxTemNG9xxSwzAIfjh8nwZE6WNA1BMZ1Lodkyqj36sFtRulpsLvPL - r7v0c7XyzzsPnMr5AysBT/iUAgAA + H4sIAAAAAAAC/2WRTU+DQBCG7/yKzZxb0zapxN6MrWkP/SZqFGM2ZQubwi7uDrFK+O8OUFqqHMhk + 3nfn45ncYQx2XAUy4CgsjNgbZRjLq3+paYVCIQlNipIpN3jx1l/eismC4lg+gtwHlBgLH0Y+eNMJ + W9zPJ2z5yMr4ebYY+9DxgWcYaUMesu+lsfiheFK/WXE0cneobDFvKxuN0T6z1oeCNMNRqpAEt4DW + KMU5fu9cFjA6FuV0iQ5E3NiLxkAjKGmjjeBWq9K29ZYrOKtSBeJI6Z7TNKhKQ2Z5KOYCOaHkZ2CQ + Gp2k6OmDUA86q1D2+3WxFvkrfXB30lEjj6+lW7fzr64dU1cZt0/SuhYtyWOJ3+Um3uTFgxYIvB6r + IeG0gAGdJgsj/DPiwHVOyGqKT8JYWeMKRUIAu4ObYXdPJ4uqhmCETbWyYhaUnnSYhvw1yZaf0/WP + O1v1rNl+refgFM4vPiavwZQCAAA= headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 @@ -48,11 +50,11 @@ interactions: Content-Type: - application/json; charset=UTF-8 Date: - - Tue, 04 Nov 2025 21:48:33 GMT + - Fri, 09 Jan 2026 06:05:27 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=1653 + - gfet4t7; dur=1742 Transfer-Encoding: - chunked Vary: diff --git a/python/tests/e2e/output/cassettes/test_structured_output/tool/google_gemini_2_5_flash/async.yaml b/python/tests/e2e/output/cassettes/test_structured_output/tool/google_gemini_2_5_flash/async.yaml index 09f4d06a2e..15af17370d 100644 --- a/python/tests/e2e/output/cassettes/test_structured_output/tool/google_gemini_2_5_flash/async.yaml +++ b/python/tests/e2e/output/cassettes/test_structured_output/tool/google_gemini_2_5_flash/async.yaml @@ -12,8 +12,8 @@ interactions: "type": "STRING"}}, "required": ["first_name", "last_name"], "title": "Author", "type": "OBJECT"}, "rating": {"description": "For testing purposes, the rating should be 7", "title": "Rating", "type": "INTEGER"}}, "required": ["title", - "author", "rating"], "type": "OBJECT"}}]}], "toolConfig": {"function_calling_config": - {"mode": "ANY", "allowed_function_names": ["__mirascope_formatted_output_tool__"]}}, + "author", "rating"], "type": "OBJECT"}}]}], "toolConfig": {"functionCallingConfig": + {"allowedFunctionNames": ["__mirascope_formatted_output_tool__"], "mode": "ANY"}}, "generationConfig": {}}' headers: accept: @@ -23,41 +23,56 @@ interactions: connection: - keep-alive content-length: - - '1178' + - '1174' content-type: - application/json host: - generativelanguage.googleapis.com user-agent: - - google-genai-sdk/1.48.0 gl-python/3.10.16 + - google-genai-sdk/1.57.0 gl-python/3.10.16 x-goog-api-client: - - google-genai-sdk/1.48.0 gl-python/3.10.16 + - google-genai-sdk/1.57.0 gl-python/3.10.16 + x-goog-api-key: + - method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent response: body: string: !!binary | - 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 headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 @@ -66,11 +81,11 @@ interactions: Content-Type: - application/json; charset=UTF-8 Date: - - Tue, 04 Nov 2025 21:50:21 GMT + - Fri, 09 Jan 2026 06:05:47 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=1854 + - gfet4t7; dur=2192 Transfer-Encoding: - chunked Vary: diff --git a/python/tests/e2e/output/cassettes/test_structured_output/tool/google_gemini_2_5_flash/async_stream.yaml b/python/tests/e2e/output/cassettes/test_structured_output/tool/google_gemini_2_5_flash/async_stream.yaml index 6348b2a6be..41e5b8e445 100644 --- a/python/tests/e2e/output/cassettes/test_structured_output/tool/google_gemini_2_5_flash/async_stream.yaml +++ b/python/tests/e2e/output/cassettes/test_structured_output/tool/google_gemini_2_5_flash/async_stream.yaml @@ -12,8 +12,8 @@ interactions: "type": "STRING"}}, "required": ["first_name", "last_name"], "title": "Author", "type": "OBJECT"}, "rating": {"description": "For testing purposes, the rating should be 7", "title": "Rating", "type": "INTEGER"}}, "required": ["title", - "author", "rating"], "type": "OBJECT"}}]}], "toolConfig": {"function_calling_config": - {"mode": "ANY", "allowed_function_names": ["__mirascope_formatted_output_tool__"]}}, + "author", "rating"], "type": "OBJECT"}}]}], "toolConfig": {"functionCallingConfig": + {"allowedFunctionNames": ["__mirascope_formatted_output_tool__"], "mode": "ANY"}}, "generationConfig": {}}' headers: accept: @@ -23,28 +23,30 @@ interactions: connection: - keep-alive content-length: - - '1178' + - '1174' content-type: - application/json host: - generativelanguage.googleapis.com user-agent: - - google-genai-sdk/1.48.0 gl-python/3.10.16 + - google-genai-sdk/1.57.0 gl-python/3.10.16 x-goog-api-client: - - google-genai-sdk/1.48.0 gl-python/3.10.16 + - google-genai-sdk/1.57.0 gl-python/3.10.16 + x-goog-api-key: + - method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:streamGenerateContent?alt=sse response: body: string: "data: {\"candidates\": [{\"content\": {\"parts\": [{\"functionCall\": {\"name\": \"__mirascope_formatted_output_tool__\",\"args\": {\"title\": \"THE - NAME OF THE WIND\",\"rating\": 7,\"author\": {\"last_name\": \"Rothfuss\",\"first_name\": - \"Patrick\"}}},\"thoughtSignature\": \"CiQB0e2Kb8NX5SsfVI44deUN5DODgjVX4cX5W1xNkNLLvRlJTr4KeQHR7Ypv4OWQFwQ/EocHDsqqQr6KrDPqTuW5ysIhjMqN0wnaVWz2vus3uTvr0B5HN+HbMV3fLA7bT8xL+Rg5uhwcHe3+lX8LUsIywhnzfUoFD+TCXWN8SgHl5GAp8TS6l3zkxiMR7wBGEtubCknzfmU7ev7aMYdUviQK4AEB0e2KbzsZQX375lvDeJLrDTC5h9YxY1ASB1xVFgFxpXcT2ZlmlzcQAwonxGMWeh3VYBs44FEBzY4F3A2zjigkagoU0gxOVlRl/BMB0IKWqzQpgUxX/+tj28aIjeX0sZSbf86ijlPhDGvbrTWz9Kvx7hNThBx6IB1/hmlHXQmL52A11s/ZZV0DiVMI6FuY2+0+vZiode17+/A+XgkwLWkaRqQQkOX8iIGD82ARowCuFLAnIE3syGxsan6crBEot9noOHbK3F0S+VLzB6smctMntglfB41wcq6e9zLulzt8pwrlAQHR7YpvxC1/kTWjqNx+k0ak8bCkEHgGkhKsSoNcUYcG4ABScv+gWVgz40PkMnWHMQNLf9/rsA04h01ALO8pYsOqxMAXtslcSiF8ZxO8qquevgi9DrZbTbSwQzHjyGKFcrPvOZKVJXyj2CB+RAjSpBjYgACp57lKizLUOG+/DJ/FA1LmkO013J52gWynoRc93hGcXJJpXOINxYoFiLjUOKwp01HysIG3I+IVvApNSmFDUJER1HXImZdyAxE6FIt0oC9/BH1y++ylZgjjnOX65Caqu+nrFQzCkR0RWjZ8lWeDljrLhzYKzQEB0e2Kb+O8KsDOrc+7vK/+ltVRee64upWdps9vfkVWYD02Objm9NOoZsm21CEkvJUHKoMR403Mtk3IQ3gl9tPil+aDM97MWj7SmEr39WPVCHj0BLKDOnuK6h69HIG6/axICVelcnuoQ4jT7TQeIaA9mQWB/c+n6pm50Ip8vO9X2IDiM+ELZ91RLwUHlZa22NEXMt7yOT3j4VawIKrmD3ezAOzrBwGfY5/MIE2BgUgVB+XQfrZ5nyg721O6jyKsOPSWUOBm/iafIQKA3OYc\"}],\"role\": + NAME OF THE WIND\",\"author\": {\"last_name\": \"Rothfuss\",\"first_name\": + \"Patrick\"},\"rating\": 7}},\"thoughtSignature\": \"CiQBcsjafI1qklZ7TuK2cKchOdyJ2xPZagf/RetqL/hkKOJh1CwKcgFyyNp8asKcRf62dr/Qc3oRpPaDISSu1m967dbl19cuTDCLIKUgkSQUN7mEIZxdsBxAbMUZNyOv7As5yOXA3mdFvrVWPwnXmO5MRTExMEbtv7GILdbFAfqG4IRNeXgQu9bgMvQAub70A1pv0R2MI9FNsQrsAQFyyNp8NFrDsaNzkRK0oJFTH7hZ8kSxTQN5FUyAINo8HpV4Xewtpzz96H4AnqCFXvWCikDYs9K+5dsrkIdsy03/ueH7F8eNgn92bm0m6JeEgybNsmnR3hiVu5frjX4iL5cNoVR3tlAHK1lqcIbir6tI0FaUpnWaqPSh5Mx0OQWAt/GFNMr12lkrsxBaQd9RbK/iwCQeP3A7dAtsCWOGMa0LP+jxyqxXhC+jPawK5bqE032WGA0PF96H0Q19LpKEbpxSWz5pA3rXs/0iFzY50raI5f+EEuZbSd8EdOyBlqbzaR1kBNn0r8Ln5umuCsABAXLI2nzAEZUNewIwbxXGf+vs4zCwG5HJ5Z0z86S7yI3OFSaqvueHFw7KenJhHxeGF46eh7EsYxTGKtW+8DZXAPISkjuV3QraOvkNHu6D4CWkYDeYAPH5G9TxkkbRt34kTJtKg3idWtwNVAEWoENms2a3MGWOw1+JsxqGCf6VdmIV1h+lzEZXOCpaUjGiZnoIGDcIiGB6F7Fqx5jgnumH2hANUH5amt1+Ck4OMhvXnRX+DYGtyUe+b9wnxSkSRhGHCvUBAXLI2nxj+kRUy5Kl8ji2JQZmPUvXoTjAZQioEy1R066xpkMXQnD3PnB9Y4EoyhRoA66dx8HEho0si4ooE5KidSbSwdm9W3/42jdEjBBlkP/wfJiw3YYr5YlTsxt0CTAAtbzNOUZKLRhbAEOGaBatq2ZIQldwijFzwKFPqJI5DsAPUU4L26/oN5v7w3P9WzkiNTNXItUPbw7oor2p0E7DPHaAWv8agCNDg/xAJ4WfV8dklKUCfIlirgnrU2+CLI8xQQ8pjkAXj0AoGMQXxFjzOArjAYF5CgCc1VzllZUaQ7XE4V2FMogXRsn6tuwxnhiplIjGLZsKtwEBcsjafD5vSQo9/8hVrB+mUuR5jufZ5hyUZou9ep/67cRnRhQbpnF3du6ogZJXq/oWF5I4hgun7HSNK9KgR1y6X47SxCCsvI6Cz3UtpYnnMkcrDxnq/2wICM5f8Pamj+o/aTf+CIfn2nuPpo/oNUKSMsmDIT+hIDtwJz7muKoIMrWpWrm4WvQOXbu0rxsN/GHWROsQ8e7mROY6KzVkW3sA2m3oLqmYmoYT7P29PO7kvOcIdyp9U60KSgFyyNp86Goxt0TjogGYJmES3ddDDOPrhlF1H79wii9MGGCtjtqvTIFF3YBm3hWi89H7IwPYFxPFyhSu7Zf/4AjTgCLBL8HxMDfx\"}],\"role\": \"model\"},\"finishReason\": \"STOP\",\"index\": 0,\"finishMessage\": \"Model generated function call(s).\"}],\"usageMetadata\": {\"promptTokenCount\": - 217,\"candidatesTokenCount\": 49,\"totalTokenCount\": 433,\"promptTokensDetails\": - [{\"modality\": \"TEXT\",\"tokenCount\": 217}],\"thoughtsTokenCount\": 167},\"modelVersion\": - \"gemini-2.5-flash\",\"responseId\": \"HnUKaYTkE77oz7IPuvW02A8\"}\r\n\r\n" + 217,\"candidatesTokenCount\": 49,\"totalTokenCount\": 497,\"promptTokensDetails\": + [{\"modality\": \"TEXT\",\"tokenCount\": 217}],\"thoughtsTokenCount\": 231},\"modelVersion\": + \"gemini-2.5-flash\",\"responseId\": \"0ZpgabP6OIGgqtsP4pLCyA8\"}\r\n\r\n" headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 @@ -53,11 +55,11 @@ interactions: Content-Type: - text/event-stream Date: - - Tue, 04 Nov 2025 21:50:23 GMT + - Fri, 09 Jan 2026 06:06:11 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=1603 + - gfet4t7; dur=1566 Transfer-Encoding: - chunked Vary: diff --git a/python/tests/e2e/output/cassettes/test_structured_output/tool/google_gemini_2_5_flash/stream.yaml b/python/tests/e2e/output/cassettes/test_structured_output/tool/google_gemini_2_5_flash/stream.yaml index 373bae3ceb..83d68796f6 100644 --- a/python/tests/e2e/output/cassettes/test_structured_output/tool/google_gemini_2_5_flash/stream.yaml +++ b/python/tests/e2e/output/cassettes/test_structured_output/tool/google_gemini_2_5_flash/stream.yaml @@ -12,8 +12,8 @@ interactions: "type": "STRING"}}, "required": ["first_name", "last_name"], "title": "Author", "type": "OBJECT"}, "rating": {"description": "For testing purposes, the rating should be 7", "title": "Rating", "type": "INTEGER"}}, "required": ["title", - "author", "rating"], "type": "OBJECT"}}]}], "toolConfig": {"function_calling_config": - {"mode": "ANY", "allowed_function_names": ["__mirascope_formatted_output_tool__"]}}, + "author", "rating"], "type": "OBJECT"}}]}], "toolConfig": {"functionCallingConfig": + {"allowedFunctionNames": ["__mirascope_formatted_output_tool__"], "mode": "ANY"}}, "generationConfig": {}}' headers: accept: @@ -23,28 +23,30 @@ interactions: connection: - keep-alive content-length: - - '1178' + - '1174' content-type: - application/json host: - generativelanguage.googleapis.com user-agent: - - google-genai-sdk/1.48.0 gl-python/3.10.16 + - google-genai-sdk/1.57.0 gl-python/3.10.16 x-goog-api-client: - - google-genai-sdk/1.48.0 gl-python/3.10.16 + - google-genai-sdk/1.57.0 gl-python/3.10.16 + x-goog-api-key: + - method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:streamGenerateContent?alt=sse response: body: string: "data: {\"candidates\": [{\"content\": {\"parts\": [{\"functionCall\": - {\"name\": \"__mirascope_formatted_output_tool__\",\"args\": {\"author\": - {\"first_name\": \"Patrick\",\"last_name\": \"Rothfuss\"},\"title\": \"THE - NAME OF THE WIND\",\"rating\": 7}},\"thoughtSignature\": \"CiQB0e2Kb4VKxFJIW71qn7CrUybw+3/xkFloOxvVHhhyBVsAkFgKeQHR7Ypvl1EQyyIzDEoYaiMsNqwIshdt0f8X14R2RL2jJSrz4PHNEEpzuX7SI9nyjwq0E0KRcyTjN76hkFBpHxoQ0h5bG7mkb+q6BaMKrDs9l9vVbMLc4kBk8vvJ83DSpWDx3CGwiiwOUMIPML1uaN0UeC2BT9ekLYsK6AEB0e2Kb6hibXpOlZMB2CbLLNJR38kxVVIV4zkDaQANqNmLqprDf+HZarjNy63loT7knisGSmA7JsAP+OgeKl+yEfPSQNUphyYOFtr+W7RywB8kF+NGZ7fwLBt3grFVcCHkuUqOZHTaxAJR9OdCnMOGifCfOtBVSBmKbbYpTfICTSnrS3AZFxBF94nftS2w5YMP7xPxkQBk5qWJDnQ5jswPMYIYWZHbQAwQWardXptjnuw5aCaOfMMHPnA9aG/90ZsqwhFFWb1zjTQQ2slODHvRdfUq+SqkPKVIJsPzLpojD8eMAAnvz9YvCuABAdHtim9PjnWZhmdyX8hjvRbvsqp+iCQvc//P1Vahnncvsa8UrkS+RFWpTIuEuT2+vFQ4eTJulyfK5vCrpJcKWks6fzoXfRJgYICR6Z9N9gTO7kB+NFQcgE8QwsH4TrXmQzrhdFuOYB9LwoIiEOWo34jBqNkHIT/ycFG2MlRo6u3s5qjtNsK97lEsPkwyRMJyFVyO34Vz1nzg2wSCTGqsCSWf4OV9u7i8GZQuPxjR2ZZpbfhdFl/MNqyN5T5BqHahm2UCQikVqLy/YRVN7h86ykSoyeTsjaS/qBidg6i3UE8K4AEB0e2Kb8uCJu+J/oCrYDQdrpc3dS+T1AeFOENMjm6pDzaqr7ztQfU+Tj5KAaRT9uweYIrYMYGJJH6Gdn3Za9vDK2yWpzECxaUiOfEaS6z2OXv9D0ok8ZXb/ZMR0vrsVYcXWuBsx3qGyr3shThLobHrq4kvpbVl0b43OHuAwPVcPqqBz8tUbKq3uxl679D0qJ3TsSusOlsEv062zUrqYytKVzHB3an45UV7/j1iKZo4WW/LMbQY3QszzO2ITMHXkbfPAq4YBf8JgdxoFapuBbi7ol6cPrD0PMxvNyHGh/HDgQpiAdHtim9trlFTq60vI2r66DUkP6TC/GT5faD4bdDpkKM+XE+LNdKC2pgV5d2CQqkX4YVDPsXw6yYm6COeOrq7MxVluJpY/z5Cr3mQzXk6RJtuuUijSP74It72t37Mfm1SNGA=\"}],\"role\": + {\"name\": \"__mirascope_formatted_output_tool__\",\"args\": {\"title\": \"THE + NAME OF THE WIND\",\"author\": {\"first_name\": \"Patrick\",\"last_name\": + \"Rothfuss\"},\"rating\": 7}},\"thoughtSignature\": \"CiQBcsjafNvQ7hd1a7ZWknSRKDiUJW5ItwzhpR4UbpVHpp1Ki9MKcwFyyNp8vw+sCzFvMCI9jLeEzRelpkWfbXHFBGXP3jZksKqYlwzuvfErAKV/W/zhUeDDs0awfwlUzewabRX2Kdh0MVJFTfthmV/kcw9Ixk54040+pXJeg0xm6S3kSKdCoxSUI0akRW9QGG/cqvPBQh2yBX4K3AEBcsjafIJNFtnRARYlrUM7MHIf8HvjitrYTW4r6hf0YEylo4hcF3GwCmFChxPl6O1WAO142uwu5hsifBEutlq5wWMYw6G/JQh3dwVUAJh4J1VF38ouUtKRzFmnt8vGXpbTdpQvyP1Mp7xr0gx4R+s9VQ1aWbUl+ci7TJdEx6BevH9GW4paGCAVvLKGmwe3GFV205jV/DnPjfXV2FfKQPjPjb9094L6yUGcBMuVxwFLHCAnEcnimd+dHIiay9hZfI/2ZGIgDSc0Wky1MeZr1yOeTDPiuBLG3iw4TR73Cs4BAXLI2nwC/Cydyzj29atp/nyEEUaxcEAJQkMLQlO4RX3x3I0t0kDKpNGYEwpDMwiyNyssE9IUToRjSvL/erOnb1jxF4BZNCH5HLZSisAuUl4CYTgopxWo35iLlxms6gsKkOA1jhHJn2gH0SQsvWw0VhhZsUQJfCoW2a9HgPKHiCrdPHsR21b/Qj9arekfD/PVcaO385z+6hiKeS0hUj9UzArWiuYL8Y+sd0FEANenHyd7M1yFlsDirt0+F4bG68z8hoGZKUNsrT3bai9B9pgKygEBcsjafN77lqd+BWx+8Nbp2Gw5gJpRiWQ/s3x0U72bU59oE4eQNjXtU/D00WcbRWJDNxOXPw2rUJUjRG1rmFtdm2iJNi8yjSUD53LCcer8fahmiXirhTd8dOfWjCT993/1QquOAEBK5xz1UQ+0sE9vLMT5zoAtW/IiqU8sNtoKmee37nEa2pUr9QrOTZlUN0UMpNt94UivfYgaL4HOJkb2/G9t5yZ9cZ0qNNR9kIx3CW2jrxqqhJDf0aunC3e6z3fb/IeLRdJfujgBCp4BAXLI2nyl29RuwIfoK6mySzqqaHvOXmtd9FYyhq+mwT6IsHDr3nbfsm4o5MWUCdO9W9mXsbZ1Hzt5+U4rLN3FnBtDS8h2f7kF1jp43kl0wi40fdWKbcZdqn1WdMIIUwtvVILhuNk5T/epHTQE8m3bWOi82NVLzsN1nRN9AxLOvfls0S28ywjgXN1jh6pznPUbaU1txQDMUiHgtn/RqGo=\"}],\"role\": \"model\"},\"finishReason\": \"STOP\",\"index\": 0,\"finishMessage\": \"Model generated function call(s).\"}],\"usageMetadata\": {\"promptTokenCount\": - 217,\"candidatesTokenCount\": 49,\"totalTokenCount\": 455,\"promptTokensDetails\": - [{\"modality\": \"TEXT\",\"tokenCount\": 217}],\"thoughtsTokenCount\": 189},\"modelVersion\": - \"gemini-2.5-flash\",\"responseId\": \"xXQKaeeRGJngz7IPxefwyAI\"}\r\n\r\n" + 217,\"candidatesTokenCount\": 49,\"totalTokenCount\": 470,\"promptTokensDetails\": + [{\"modality\": \"TEXT\",\"tokenCount\": 217}],\"thoughtsTokenCount\": 204},\"modelVersion\": + \"gemini-2.5-flash\",\"responseId\": \"xZpgac_qE5etz7IP_P2CqQo\"}\r\n\r\n" headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 @@ -53,11 +55,11 @@ interactions: Content-Type: - text/event-stream Date: - - Tue, 04 Nov 2025 21:48:54 GMT + - Fri, 09 Jan 2026 06:05:58 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=2056 + - gfet4t7; dur=1605 Transfer-Encoding: - chunked Vary: diff --git a/python/tests/e2e/output/cassettes/test_structured_output/tool/google_gemini_2_5_flash/sync.yaml b/python/tests/e2e/output/cassettes/test_structured_output/tool/google_gemini_2_5_flash/sync.yaml index ce4ff4136e..8d8e36e2db 100644 --- a/python/tests/e2e/output/cassettes/test_structured_output/tool/google_gemini_2_5_flash/sync.yaml +++ b/python/tests/e2e/output/cassettes/test_structured_output/tool/google_gemini_2_5_flash/sync.yaml @@ -12,8 +12,8 @@ interactions: "type": "STRING"}}, "required": ["first_name", "last_name"], "title": "Author", "type": "OBJECT"}, "rating": {"description": "For testing purposes, the rating should be 7", "title": "Rating", "type": "INTEGER"}}, "required": ["title", - "author", "rating"], "type": "OBJECT"}}]}], "toolConfig": {"function_calling_config": - {"mode": "ANY", "allowed_function_names": ["__mirascope_formatted_output_tool__"]}}, + "author", "rating"], "type": "OBJECT"}}]}], "toolConfig": {"functionCallingConfig": + {"allowedFunctionNames": ["__mirascope_formatted_output_tool__"], "mode": "ANY"}}, "generationConfig": {}}' headers: accept: @@ -23,42 +23,47 @@ interactions: connection: - keep-alive content-length: - - '1178' + - '1174' content-type: - application/json host: - generativelanguage.googleapis.com user-agent: - - google-genai-sdk/1.48.0 gl-python/3.10.16 + - google-genai-sdk/1.57.0 gl-python/3.10.16 x-goog-api-client: - - google-genai-sdk/1.48.0 gl-python/3.10.16 + - google-genai-sdk/1.57.0 gl-python/3.10.16 + x-goog-api-key: + - method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent response: body: string: !!binary | - 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 + D+CtzURBCAAA headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 @@ -67,11 +72,11 @@ interactions: Content-Type: - application/json; charset=UTF-8 Date: - - Tue, 04 Nov 2025 21:48:36 GMT + - Fri, 09 Jan 2026 06:05:33 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=1928 + - gfet4t7; dur=1772 Transfer-Encoding: - chunked Vary: diff --git a/python/tests/e2e/output/cassettes/test_structured_output_with_tools/google_gemini_2_5_flash/async.yaml b/python/tests/e2e/output/cassettes/test_structured_output_with_tools/google_gemini_2_5_flash/async.yaml index 359785ab6a..b3d83a11ce 100644 --- a/python/tests/e2e/output/cassettes/test_structured_output_with_tools/google_gemini_2_5_flash/async.yaml +++ b/python/tests/e2e/output/cassettes/test_structured_output_with_tools/google_gemini_2_5_flash/async.yaml @@ -12,7 +12,7 @@ interactions: ["title", "author", "pages", "publication_year"], "type": "OBJECT"}}, {"description": "Look up book information by ISBN.", "name": "get_book_info", "parameters": {"properties": {"isbn": {"title": "Isbn", "type": "STRING"}}, "required": ["isbn"], - "type": "OBJECT"}}]}], "toolConfig": {"function_calling_config": {"mode": "ANY"}}, + "type": "OBJECT"}}]}], "toolConfig": {"functionCallingConfig": {"mode": "ANY"}}, "generationConfig": {}}' headers: accept: @@ -22,63 +22,57 @@ interactions: connection: - keep-alive content-length: - - '1115' + - '1113' content-type: - application/json host: - generativelanguage.googleapis.com user-agent: - - google-genai-sdk/1.48.0 gl-python/3.10.16 + - google-genai-sdk/1.57.0 gl-python/3.10.16 x-goog-api-client: - - google-genai-sdk/1.48.0 gl-python/3.10.16 + - google-genai-sdk/1.57.0 gl-python/3.10.16 + x-goog-api-key: + - method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent response: body: string: !!binary | - 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 - B3SO4wgdDQAA + H4sIAAAAAAAC/22WyZKjSBKG7/UUaXmaMXU1YhdzY5FYJfZ1bKyMfQt2EIi2fvdRZnVVZfYMB4xw + /8Pd8QiL+P748vLyGodtUibhnE6v/3r599Py8vLH+/vN17Vz2s5Pxw/T09iH4/xL+/3548P3U5It + bTyXXcuGAHya/Je/DZv0aX/N0/lb1HX1t7LNutff/i4Lx3z6P9OfnnKK2rcAx68kgaNfYZg8ffVe + /6b789P4z8/hX+eiW/JiNsu8DedlfK+Hna8K7Ski0u5kUG6n5A6vt8vD0BpUWHTzwrFcYQV1ZF43 + ekfurTTW6GIHcckzV0rf8Fk7OyFizNNk3ES59o4m3h3NBOe3GxvwA6wMpFD1Ea0+HovoT54f1j6B + 2GrPuuKMQSeCX8LCY6kRMWSPXs/7uCtdqqO1uZTe9ToZy7bozlwN1IXc6uBxU+PFpqIR0tUSPcSZ + lrEzmuIxY6qlVvpMquBaQT4Sbqy9q6BdHmDYGM7GPfYGc4DJwYH2y4jcj2aQYtfgnG663lqo10ui + hNQIp8ybBkP+HZNyHwAXVMvloGIjaiPlNSlUkqr9pcAMtW9zGLdtrayCMg3QyDyaxElFJC3F2ZEg + Yh5e8GeRx5FzsF1bCXeQnSt+p49Ubnj9pHfTQNxXRkpCpkquNN1x0u2Mo9twdRE6PEUxhUZ97wWZ + GYAuZgR9EpgpGwEsw/w54E4AoXxhOnkRL1bsJekVFZW0I4oTreMUOuuL52PbbiqVeGmjlA1nUTFk + ClGl+6LOubweYnESSTREuI2XnQ0g7K71IFFunAaH7jIhw8gx9R9oQZaue1chVffVMsHObE7khEoZ + dAPiI5XS5DSLtjiTMV5cJLIoW1YjQ/+cy2Z9EISqUA6Ysx/juCKnBUal7qA5hzN/NwkhLCkaRRKD + xqpAsQ60QBxQrVM5dD6rykEsgkzfowaOpJVZGd07w4i5zcEYL+ZBRJu8FJQ5UEh/p3ChBqgHr4mo + ZXKIM8FAtKhblsfl1ixXiI9uSqv32ipoWBuEHanrDdDKS1FFeZBUYctAKRy2GkQrmbJPeTiVBKc8 + DiamiSAGSclCmTUgWDE7J+mWOdvJs9FoYfJ6VqTZF5WLtEERmVXm8fEIJsw62zqOrHs0ZqyW6Pfd + osjAVVGBR0kPhK7t1oZi5oRGgW33YpJuvQdYD1o6+5CZTbISLjIzOGMu9Cl/0i1DBoxz5/g4KO1j + lZxDqnrY65KwCna3AxEoI+mq401yUCpgCFnpRhEfOl1gIS6/F8LMHvvLxYEDoXKOVaUMNZ9To4ci + hSqsTAWMCTltGoeIHfxANPxAERy5eUVL8ax84w8zSCk6eeRn01hvWDF5Y5qHFHRB4sgzQaxekedm + me8nFUv5ElVdmuBD2XvskHFqJ5jlQdbu/pj7rS1z4brUxilbIIa4wyffwHBL2kF6v3RZQeODSIZT + oE6zCs20mKpIpBQ2akimelKcKLpDW9pJamHioX0p07Vkh8xc8kC3vNW68MbA5ANpbs11TQCZd6c6 + DEPSt/R4o+7XEXuwVsNCuuTfWq5hAQ1NdxqlFuseCdRQ7z43FKXTcJ5dzbJLnT1tAQbYbo1j0HkS + XdGobUTPY1S3P2oSGlkJFl/yG9gksVQYgbZ7xEoH4zjiENYwUeJ4O3yRt7xdo+lxvvB13XEHqN4U + 4+bCzkAnydlFllWfn03Q3L1nK0IyropgHxZD28ZGMFRPV2bMavAlk2VAas9tKwcghM7EQhZ5K5/8 + wp2J8ga8fjbNOXEzbivhpNNgBVHB0h/855FVn1PFT2gw+WmhOxwhu1VTYLobxliqYdy5N/tHtcWt + 6zYmc+J7w9+Pehcr4v3Qm/Z1NqSLl5zII/Aha8RRSlPnPFUHJQjh5kbqlMMcziVprpNbEXTzPKaX + OHHxjDegUZDA3azUYRFRggk5ZwhglMH3Wj1bzrwvQUc4tAqRFZJlO4v1eZ0dka7aEyjPC406ipxl + yapiEdFaRMaD86tEAwC/SfaKqTsXQQs7gluo6vGVFTxOlPPy2Eo3hgbLc+mFeLizx+je2dZqXggE + qlYyHO+DFZ25lesvFIQ4cU14nTgcHs1utK09FTzuOZe+ShzAJ+Qse+qtDGHxcXFih7uVSu5ZcJFX + 9xu+73J5Uix/SSK/HUjPtYfNrnY2lC5BQE3I2ly6GeybjS3iQi13/S4VZWMb8nW4SRiUh2MWeVOD + jn0OeDiPY05QgYU080DLsqnJPYUJkmsuM1a4GnLrDKdtZXMBbiSssxtmR94ubxiZGbB5cR5p/UhG + 8iMJ/KKA//wigNexA+83ftMlKfgh/4kIr1nZllNhpOHUvXOGaanaTz55Ldsk3Z7m49/013Sawvw9 + 7vUt7kuetun4RKvk5QcRvcRPJPrH9M/fv+d8K+69rNflbeY1ncMnioU/oee1H7umn62uTlu2W95R + DD5R3/N+QLdPAuSHf+7mEHxy4RTy2/8Enrhn2hJ8ZLoPuPfsUAjK+fH2V9bZsz5g2jPB57p+9PHL + h3b/AK3PNaIk9uWvhn9fAycdp/J7s/O0ebbzK/I7/jUD4VS8Z3wd06nv2ikVkzdNFCR56I88/bw4 + h3nSvn4jv9X0+vrlzy//Bev98ynWCgAA headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 @@ -87,11 +81,11 @@ interactions: Content-Type: - application/json; charset=UTF-8 Date: - - Tue, 04 Nov 2025 21:49:12 GMT + - Fri, 09 Jan 2026 05:51:41 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=3428 + - gfet4t7; dur=2379 Transfer-Encoding: - chunked Vary: @@ -111,7 +105,7 @@ interactions: body: '{"contents": [{"parts": [{"text": "Please look up the book with ISBN 0-7653-1178-X and provide detailed info and a recommendation score"}], "role": "user"}, {"parts": [{"functionCall": {"args": {"isbn": "0-7653-1178-X"}, "name": "get_book_info"}, - "thoughtSignature": "CokPAdHtim_8QCvKgL4McnbTwo_d8OyVHotdmdjC30Tt3A8z5SfgKz0EA1aVBjAlkG2onyIftTZ6x579vlDnXRJpVr1o0uI71CVgE1CWyOc5QGbIILhfxp1zBxZHrBT0rXsmLVJBTMEC8Y2dIvsU6gEWCcph6u6M27qvwRZHPp2EDcBefl-_WS1Iv2F6SG_vEYaK7dSqpElCP2fqncB9Lfn-Msyx569baP04fgjVldZlXOlTCIM2CBXixFvzKndWW-oCRA6qUBspucl8Mwzim84kq30VRiRo6PuTH6Ec-4xl36brjp8KO7SmvpAtki6HHuGI2KTo6JRwnTaietDS3G2VQYasyrQ_rwCesN-9Qu-YzOi-oo6re8w2RNmjUV9YuM04bQSDJCAQ9vdrFWkurbOwiYJK37IQGFPxDoKkivAt9XSDDSvgmdjqe5JXYqLNeGfdvWJK2SnqZGyCekVARbxS51i_O8ZoJAN24C4h5USRTthwTc7auPMY8SHhEAsj7Jhk5uIztIZTabeQfiz0UjvzL9fo6I_3CilToNI5_hLsmn7LTyXk35JZVBUaiGFwGUz0uvCCfCvBdCESPbFGFdr0CKPMOZ0T3e_1MNJR-BA8s8_xje1EC66Zck6SjVm741D15ZQb6CE08_zROGNoUKhcuPB8804VogyI_b70zpGGCzWwmlPnkWWKsgGBGY00sY25vj9diuhcMIPk2slYDg0DOa2yeXSZq8xuMbNTD77IQi9msJL1ODx4wKafatohDiZIBoWjrmHRprvCK5j2N8nWMggvNvJCz3cceCOmBFXG2lJZb4I_1JOZ7QSknguoZP30fRAq7r8uHTkZr-LkH-ZGziytnih8-e2DJAEoaU2qNm7gYresIpIhK5kF5XD5yLfB4GpRYZzo9fFb0-g_KKUPkjdE9nDR4K6O8kTrQ8SwvyLsLk2dsjN7HUNsmUnoF334RsrWwEz7FQXz78hufWDLIXuPNMiDplXjiMxGwj2J3xQvVUmNVfxLuRKLmWjkz4sfulo2pnww6JLTP1bcU7AubUXkE9W_KJ1LHLJwBX4AJpCKKrWHL9xumE35b1C4kXKasqZ98L0G_8xsxiNQ2pqfq5QSQPW5oTZzr4AjNgakI-ovTKfTvhjKaNKv3s4tfDprMQnunLj6kVbTcMgmkW7ZpDU410YyzwY6D3ppLNgCjsF36wk-EWGGgVMI03R2sM-Sh1yPJdvCD7zJl0LxfNKBuZEH4qXPVg8P-hpO3j1SZq8TYhsvPcrc141JaNjd4F3NWoYQq-pXFpCW7FkQ6ljZF8bAPq3omdYafGyxwSxbX46pcPOUQBB8CNw8TcdbQ_ZnTAcOKHZ9kkgov6u7b899nPE9yIwsrXuOT_5qH7YbzCQGAYr7hnEk_mY4-GW0AmET-WzUeTjsDJWsrHsr-0T0JOcKLA9A_R8o65fsvsr1_SbdJPPGDged0AWnBvz2be0_2mJdlya-qs1upkJLfncRF5MBvuR2jUGC9Cp7wZQ2M5E9n7iqh3PtW0rbPek8iykGorotKhmWRur0RqDiSzsXJAbpDf476kAepy9e_c43ShAM0cT38EhCrr5G6hmB1ojdarnzySf8DGCXzIgh8LDWidOLBN29jmcA65w-iXYWTRIPXyDQvVnG8y9wLgDnrDXFUsZSLxU5hygTrd4bSNmBiUGK6apdWaHa4xhKrJ7t_zNTI9ONJ34BnNrnvRiutCzSVLa1ihGONIbanhsh7ysl29jJbLnNMYIKc2PVGUaRHhQX0s7mRD8Pu7Yb8c6BNoq0PrfVj1DI4Bu9Cu6r72nIMBNK1RW6c_b1qZpzX0yt2_Opfz9xmpf2ScgU3mrJ_qGgeOugOgcFiRxBl4HedVE4CioTlSHEUV17hZtfz2jzQu7DHXnLrxf28NGLfBLdiNdj2KAwc29GuuCKAGNCvvpNu1-Z-FyiysaEhgJoQfLWe8bOdGnCMuZT-w4tlDOzrJoigpb9CGMsYarnN9aapcs339fNn7mttupSllcYDnME0preI9PexZk8bepqIqF50K3TjCqhnTmT9zu2XoWukLAuC6KDnAjjmFjBSTT4OC6t0dkajNMdyG6MwTrPtzRp_A5OHjnV7kJ1FoCIxw4L6NiiMjrwe3-0EeO-n5YMnBjqn64VegmzNxHrelvBxyY7aRg_75jeIFBYCDM00k59dOnwXEU9Mxlmo8y9GjLkaScwV5VbmbMXq8XpPk0bscNiHkbXfu94GzzvqfUwhWrRxSlkMD2eoem1rBq7xAjV02SmV7ysFzto2HRIFAknGniTSvZ0bqJ-CKi0MrOEylhWAb6_-VedgvDVOFXr4pBRBf8NVb-QdeStT-D34dsmbLHfqqGwlitz70Q97oIoxpEP9cosTjVI7Ts_5Ifh17-BUJuuJ3zduk-FnxQEWqSFM70B0MKH_-qr9pmbjvPM4tjG2O6VW7looFx8TSn3t3c28aTTrdDabwgbP6i2_XN5uP7puzyI_5VX3jae6qdCrT_tn690wvsRgYdGjzc89SnUh7TEOuYyII_GS-GvHtj2EY2BaJnODsjJynqna69q"}], + "thoughtSignature": "CtMLAXLI2nz7Zix8dv1wNFyRPm3HuQSFDCDhTZkbSMxAz2vnJrk3uUZciGBM9Qx5tPEVa2RtssRNIKkX0S5o0Sd5GxNCZGq1Lq7HjpbAOyyuIYsXYakY62UOpCWIt4_86GuahXC9r2RKXAwEzrzLoeQ3kSuiXMMsRuxuQVtjq9F7xkZyNOcuU9br_QOi3-cfPfCt3e5cBSOiPiYBeL5Ph7ydDrkXMHPFylqxBDU5XCN1DlBgl-AYib7z0SZe4MZEexQQnT3XpJIJ2k2DLtxP1_Yv4JgYllWljuF-O4r3U2iMdhO79kYuh4ROpng15UUPijZieZ3bS0S68O2JPe5Cr66cG1u5r_Q0rDV4zPw6WqKVM5vA09gRXpsQosq6vwBJdaBjdMAAoDJNE53xqMW2Aa8bc93bppXZfSZlocBHQsHBsfrl1K1GEZD8l29YHs8XbGIjCFdpLO3JP0356nVVhQCYIE0nnxO9dXemLimDT9c_SHbjQYIQDWGQa4cdbJA_6WmXfERlHzWTy73DrsqVAofHf47reYy3h7iWWvO_OQYOid4ECg6g6O9RAmlc09eA7stIUIt7c5hFJ7hinCP7aYEgKSk-HHjhL-4Vz0ccj7su13Jo-PV-EGvS6Hai9A32dRA4jZLT-AH6-3PoOD3tEOL-IhZfQzbm1bJwBwBQXE12SxtZrcuS-I3mgiHLtZL7Yz95Hkl3X1wdIPfKa5BZq6n3Wii0uNmuM_GbNLnQpPwHP4nZao7QQmlPiFhjbgZdjanB_e1anP_ALfLzsgasi6DLy-S4PIlcldiC_fTq24htV8JNfVx8XU3buBgktLJtYILFJx_b7fjS0yyZs4TEUQ52wzbrfCPdQvzT97ZWO3HG37XlaWUWkRLSg6P9lxzXc7AnXylw-PetY_SfsKLauKBqVrgHpeG8QTRKlBVvDGcZiU0jdEa9jyUwudCL4vUZIlLr7WOrNJV39ZB6KLorI5qoQHC_DgvhHtC0pFFV1ZHjV0jjLqkGg9rX32hOHwBjlRs28xPD2Io1y2P5-96D7xXhn9GCKNG-tle9AdygESRwN4hsXrega9_F2cbXSlcOM2ofHtv8O4eGi3OWA6GaKXyz_R8ns1CGlfnzYrgYnUKDawukR8fu_B6v18YR45TJzlevFofhA5qI7asZOstO_tAIeO2bLhU3RJSO8LVbbv_xeoJOhS5aUFiewiCqfSugZQTXwTFGRqBgq7SxmMwdl7go8kaaa7YTQcx9vMr4yCTmC_QJYNnDmClA_svA39uTvbH9qkzYDqhiVmDXUjtKW9EXPulRlxNmVRAgdbM3bnmIXXBOWp0PJ3bTd4cFgNlxJIiLBHAUp2TeqR0r5_4mBbdVXz1FKxgnwbsyEFGkkoD-_kxLRNW1VqAddEW2uwQtR45PWzpCj6JRMLHU-uRPxrmHROXQLt4Tm5ufKKl7P7QQKZla_E6u7hgnK8YhWt6iNlXptSStdWfDxi1doP1L2Olup-YU2ikEeLYdAlsYehQVD6KWjmh4QWac4eP4DEpSpyjxcnWWmSB8GpRYz0QocLIv-pSUMtRJFXd870lY_Tr539POtgeOqLZa1mN7Q9VB-Ei7SwsWj6AmVtjucdW5fGR_rHJlvSjOquI36BaDVqZ13B5zkOETVtzuZo6VAO_7j2ffzC4pgkf02ojzd_gghP90IDTTKOLT6bwhbRyDYjdPll5NJUw4OzDb_uCrlNaOQcMCHXDIKgi0nJNBAlu8kaHcqvC0bvoUTwSF62_jw7arvqTbEDwDpF9_2Vck6XoIq-ymzRnnUshG5XVFpjdVlGd7tKXONia1IyFVcVDNiLgXT1hgjvN5zzKi8LTYudbYnq7XWUqxUjzCaJFZZ9s2wmFotlzxU4uIu9uvQvJhimURKMqNJ4_garfbXsm3rpglG1gccDHOlT2mtqAKKSPKp94HJWSut4hWP2NoRVnnKSulWbHwtWaf0GUiN47fR1SFVyekydr7"}], "role": "model"}, {"parts": [{"functionResponse": {"name": "get_book_info", "response": {"output": "Title: Mistborn: The Final Empire, Author: Brandon Sanderson, Pages: 544, Published: 2006-07-25"}}}], "role": "user"}], "systemInstruction": @@ -125,7 +119,7 @@ interactions: ["title", "author", "pages", "publication_year"], "type": "OBJECT"}}, {"description": "Look up book information by ISBN.", "name": "get_book_info", "parameters": {"properties": {"isbn": {"title": "Isbn", "type": "STRING"}}, "required": ["isbn"], - "type": "OBJECT"}}]}], "toolConfig": {"function_calling_config": {"mode": "ANY"}}, + "type": "OBJECT"}}]}], "toolConfig": {"functionCallingConfig": {"mode": "ANY"}}, "generationConfig": {}}' headers: accept: @@ -135,46 +129,46 @@ interactions: connection: - keep-alive content-length: - - '4026' + - '3440' content-type: - application/json host: - generativelanguage.googleapis.com user-agent: - - google-genai-sdk/1.48.0 gl-python/3.10.16 + - google-genai-sdk/1.57.0 gl-python/3.10.16 x-goog-api-client: - - google-genai-sdk/1.48.0 gl-python/3.10.16 + - google-genai-sdk/1.57.0 gl-python/3.10.16 + x-goog-api-key: + - method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent response: body: string: !!binary | - H4sIAAAAAAAC/21V2ZKiSBR9r68wfJoJpkdFFpk3pADZZBdxYqIilQRRIFkSBTr63werunqqepoH - IO89d8mbGed8fZpMpidQRGkEMGymf03+Hi2TydfX98OHCgwLPDreTaOxBDX+D/v2fP3wP0Litjjh - FBUCyLJPwd/9BcjhaJ++vORpDZoTKuFLjOocYAyjF9TissUvGKHs5WX6x8/BoE6aXyR9eFp8RvUj - 8boed4WKiTt+YN2g4n9pRjhOcfbahpE2+Ijq4q+Jd4YTKS1ANhHzMq3hr8LK9pilJ/DY30sPwaMe - OZ8zv0KC5HWqNEX95Pz2af3tc+x03EWbnLGbJgXAbf3ao1DyGz7a4DQn9D6xjtFK7C9u7W2WVTmQ - YU1c7ZyXbZe8CnBf3PuNo6tD6SiNLFecQec6XjAS7G7M4eoYVazyrNce5MGp/J3fXNoucymFDZM1 - N+PLauutYjqv4gNK62N6Iiy988OEpNSFKQoz/igb/oWj501/DXoyAQTQuktNS6eZ2NSirxSsINaR - BZrO58rkec3pfMmStGB5vMpvBJ4nqIuU9heO5ZZ+mMqB7PYKXt8bqtjbor4s7fj5mRSJ7s4o1Ek/ - sLxgLYdeXfWaEO2DZ86wqjRE1gVGeka18Sy/hxJrWQYIXSzDYoCNUW9Fbm3sO1w1nO1mMSP7FF/Y - IScDeZExTmQJCwcU7Y7Zm0CYn9vNwjNhZQwRMtxZvwuwS8yCWpjP5cHjhuOG29XEquQsZymYtp/E - Vm91g55nTDw7sp1CMaJNlGCmKy3fK/S1KBQj5kgu1lhlyR4wf2upRaxYpyGfWeiggZzlUZZG7cnN - bp3k2MtdcL03y7t1MXSPYJlwF2umqj9bx+EcP1O4Jza1Ob9Y4vVgVcaFuHdU17hF6jutvyIEa65f - W9WrPPcK470xD0RPEt2a1MiBUihvuQWiLV7FZin22/NhmXYLksX2BbB93HW0uOK8GYDJpm2IKEWq - Kw+nHMeHTdnvK+HkA2PtYHy8eSsl95NmcaTp03ZcNWrH0VTvdhvlIK23MsQ0JIZjWJRnGjJGpC7t - JpFwIVyaiMILchMNkL5vh4gEagwoh7wuMoEQ7zzcVjZoQxEZVRcpZrshgo2iq7DMtGHBLcnijFRa - vRAlxTCZJs2H8u7JK3nmJnNeNNEW3HULIFvT0pNJV+41Ppz7ZC6eCSEnpQNp52x14PP9DUP2ZrKs - FoSrxI9ZqVDl0mJzAdBVuujZdrxzvtQiDMg17e9ukSbKzEKDZSArHcfyvaNaLoxCvBXzHduS7G0e - SULRacTVC3phYN0osiyBcGBg7IpoTUlqz6qamWwhQ0qevopXY19DFIZE03qWyieixCfWMueQeqXx - 2W0J8aaEM1aq2YyUukwkelDzUqSmyHRoHQnyXcyfY+amMZ6YDNfLKvDpo08yGprn19amTl4U4DuO - hzqNw1DelRxigLm6bymwPajCEd7ME6RmuxsrU5eZvZPXvuPsHa4JusbW9zyr+v5hvtqnFZevWeCr - XHW/6IvY9ah8gZSzUVkZawb8EVuzjvaqGQM1DUlyJZe3wWaq3NWsoLkpgXoxx+Ni9i5t3BHJ5uw+ - mT79igH/+Y/9pjV6Y+QcRTB7h/+gx2mcFmlzdiB4MPoIcz3T+kHR03Tk+m40z3/CG7BpRiZ+ZfpH - 3kkCC1iPihdN3oVqchqV6rfm9z/faj6ae21r2j4iDYjBqJDgh+pMyxrlJfbQFRYCal8VkmRWb3U/ - KOonAMV99+PxemWfXDRD/vG/xM3zWDbNPkrtBxUeJwSyFPePXXni3vugVGOBz329z/Hpw7jfReZz - jyRFP30f+NsZ7Eb1TN+GncB8HOcX8k/6S5yB5vxacVrDpkRFA5XogSELWwOgL7XaswdWsfC2SEl7 - NX369vQv5FxVi20IAAA= + H4sIAAAAAAAC/21VWZOiVhh9719h+ZSUmYgIoqnKAzs0iwgIaCplsXvZhcvm1Pz3oJ2edE+GB5bv + O9/KrXO+vsxmc98tAhC4MGzmf8z+miyz2dfn/eErCxgWcHK8myZj5dbwP+zb9fXD+wSJ2sKHoCxo + N8s+Bf/rL9w8nOzzyyUHtdv4ZRVeorLOXQjD4FK2sGrhBZZldrnMf/sx2K3j5idJH54WXsv6kZiq + p6nKYmZMj7BuyuJ/aSY4BDB7tqGABnplXfwxM6/hjAOFm83YvAJ1+LOwqvUy4LuP+S5j6D7qoQiy + +RnSjZ9bxTHsB+e3T9/fPsfOpyna+AoNEBcubOtnj/RN5ElHFtFioOn6VAkuQjDaRjLlJCjWfHOk + xjKk9jcBJFGmXS2r6o+y6OlOE6m+32PJma+MgF5BsW5GW9atI1xbXiVIOhTWVaVsLSqOUs90mIDw + QWSe+U51EpdtY3TMXInHip3H9r3V3Pn7xj6kSGMwB3SXAjXPYCENw9IOAgU1rgHL7NmGPGAtKujh + ZkeihRQn/jDsKR22VO+fU2sRx909Y+lhF3rVetVy2piQMmMtVoQYi1K3WDkUPIH2kA7rojYUvl1m + Z3KZJmKQ45RGbyXhbBAJYLQTHFN938Uj0uKuglMoFURB6TPGKNp7lB68tlBqQjGZDW/E3MlVUxnH + Ws3R9+giTPlXZ0PIh9KKexn6CAcivKKr7VJ1cjt9pe9gbe/crkYMcrnAyOXNZz1Lc/rgnlOdd2+q + Rtf8+xnLX4mbGDBksL7VxtLjECJEzCXcEz7EW68pIsK5MX0VJfEIA2TTUXroqMezsZNXUMeINslV + ns2vB2yfxFzlqNtAtMGirUXFPPkuNt5OxBaJ+RSPRO46YMUS7IXBAcaaPZ8cq+kRJEoJ8t501MZT + t6wG/MDpWbynzfOmR7eSLeknoVqIQmuUmgWV7tT6YjKINo33kV0c3GO/Ec5A33quFWxrUzNwyCV5 + dVrhWy9QKEscjzemjY0BWpiS8A4OgMu3Bslgcsz00mtso8iqto0YJSM+Gb0dUokCXr/S22Q5hFWE + ptXydJRhVsUjxZwxxRgc8oTh+W2EhmrX1I4ZC1fVQuUIqdRF6aWlmOslxqUdXhzsM3qt5CEaDUsd + BwpdcACah00zSiqzOCxSR8ARkEvdVbHDkJOFg5rTnQ2HsRI4fXejxczdF3qqxquqXq3GklMj6Htt + tc60PavrHCHtSYFVSoPixPi490u+47yckaliqJbiOdtE9A5gd26hGUjHrEswnaPYDA8rExFRRrOj + LkrUCAdRdpNVctyRp4OsNsU9OeoigIvEK8Ibo1zPg3Dfovri5LPnjecKKZWR0nqRJPJxlA6azdfe + DlrjMuJYjSbyoFuHNt8zIqYJ5KomJej0R83r2oEnEExuCGNjFT5GrkXJv0d5oZ5WuyIP+7Tcy/Sd + Tfo//5y//Ixx/v6PbeZ1+caAeRmE2Tv8Ox3NI1CA5qqH7oNBJ5hh7rXvlDgHE7cOkxn5Aa+ETTMx + 35NZH3lncViE9aQwwexdGGb+pAy/NL/+/lbz0dyzrXn7iFRC6E6K5H5n+XlVl3kFzTINC7psn4qE + brZvdT8o2CcAtvvXD0voZp9cOIb/9r/EDTOVBdlHafugetOG3AzA8TGVyTrmB2WYCnzu632PLx/W + /U7qn3tE0Qf4ufC3f2BNagXelh2H+bTOL+jv+Jcoc5vrs+K8DpuqLJpQDB4Yrwpi12dEqbxsbrDR + +lci6Ml0/vLt5R9DMr/A3QcAAA== headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 @@ -183,11 +177,11 @@ interactions: Content-Type: - application/json; charset=UTF-8 Date: - - Tue, 04 Nov 2025 21:49:14 GMT + - Fri, 09 Jan 2026 05:51:42 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=1811 + - gfet4t7; dur=1660 Transfer-Encoding: - chunked Vary: diff --git a/python/tests/e2e/output/cassettes/test_structured_output_with_tools/google_gemini_2_5_flash/async_stream.yaml b/python/tests/e2e/output/cassettes/test_structured_output_with_tools/google_gemini_2_5_flash/async_stream.yaml index 14304e0a0e..35619fdabe 100644 --- a/python/tests/e2e/output/cassettes/test_structured_output_with_tools/google_gemini_2_5_flash/async_stream.yaml +++ b/python/tests/e2e/output/cassettes/test_structured_output_with_tools/google_gemini_2_5_flash/async_stream.yaml @@ -12,7 +12,7 @@ interactions: ["title", "author", "pages", "publication_year"], "type": "OBJECT"}}, {"description": "Look up book information by ISBN.", "name": "get_book_info", "parameters": {"properties": {"isbn": {"title": "Isbn", "type": "STRING"}}, "required": ["isbn"], - "type": "OBJECT"}}]}], "toolConfig": {"function_calling_config": {"mode": "ANY"}}, + "type": "OBJECT"}}]}], "toolConfig": {"functionCallingConfig": {"mode": "ANY"}}, "generationConfig": {}}' headers: accept: @@ -22,27 +22,29 @@ interactions: connection: - keep-alive content-length: - - '1115' + - '1113' content-type: - application/json host: - generativelanguage.googleapis.com user-agent: - - google-genai-sdk/1.48.0 gl-python/3.10.16 + - google-genai-sdk/1.57.0 gl-python/3.10.16 x-goog-api-client: - - google-genai-sdk/1.48.0 gl-python/3.10.16 + - google-genai-sdk/1.57.0 gl-python/3.10.16 + x-goog-api-key: + - method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:streamGenerateContent?alt=sse response: body: string: "data: {\"candidates\": [{\"content\": {\"parts\": [{\"functionCall\": {\"name\": \"get_book_info\",\"args\": {\"isbn\": \"0-7653-1178-X\"}},\"thoughtSignature\": - \"CiIB0e2Kb8WetLeO+Q0simXAaXH0RlBINmgzolNw6Xiqo9QpCnQB0e2Kb20lJk/gUrtx6HeZ7DrI9ErNiegzZ5izVVoL3zFbCDndg+XBiH23s79PoVm7WWdX6+RpipdensniNrGMCqKoIQuwUwx2IfEtlWmquW+FHV8ADo/OQheorkR5z41tv5BrgBcOAoYG2z4p5QZwQVXWQwrBAQHR7YpvRxo5bAmSDBAr7qnSeW7h0TPGk2qdUZXKDVJiaLNf41zZFTgkQYXQYAIxhRIqUUuarvQvsV2gd65DwupoqnvsIy4+JcgigkRFJThYmTGmLT742TTQZiZRSin/CNPvZRwZP9uV17lIzvLlIJBZFMfe5Lfd5uwzpyY0VjIRTW4zpNoRvrjLBg1EoSpPiDA+ZEJJkWdyLITFpuJopIF9WZNTOs3BxsgZTGwlwh7dXWbEINLM7sGlP08WRfPx7psKqgEB0e2Kb3PlBxcFLg3zU6mpCpAvmzAgETH4XjKDamSFbO45ok2myeSWjSArJqHpADeimiQyRuNop5B4fIAsRy0XTp0QlrQpeWuqn39T4No6PalwNJCAbuLRIQwHGJULeywcf1GeTARHVOEQw0pfpgzuQ4/rdjPIYpAPaViURBnOik7T9UVTLkkYM+JbGYhJnVmdO2Kd0Gdk8socMz0b2l+ZRxxSFGqTaWy9NwrkAQHR7YpvPtkooUAMplvtWobMV0f2aXxiwalz/QbrS7PC/dYKk+ddbnq9LaFoNauwxkX4rIq0hsWMGJKkG/no4K94eKT+H8Y/ie+HNja3Xd6JKokzZ69giSVTVNLizdEza0Qes9Hgyed2XgR4dX3qvY0+njVa0eXU2ujyZaCb7fpyqw9mzsDwuf5LRgX1yiGnz7V6fMSTVpPqWpIZXbycWgpLrbPv/KWtdei5bG7eUlz/CesUzs6W0y7R1oAkdonbDOLduPJd6mmrbMHPFEB8Z+7flnoJ9vWkU8IVuqG3JBNLftbeiQr0AQHR7YpvXcn4gEGSFyJeY94/1XrpvsF8gTf/UYz9WSE6U/EL8aqZHiXcg7680nxqXSJLNf8V9uRUgVsXCQfRrxDayx3tAhgvD+TtAlC0tqNfq3Hy9QDf7qlg6IH3WDJwvWrnpAiKPmXw8q6ItCDx2AqqGlrF1tIq1ba3rsoB8D1qr6juj8Y3lBukzybTjLfu+qmrlyPLcZiPLKcSNR3cQWg8Flv6JZgMIIu8qYyJ+DFhMZB7EeHsiB7fg7SpLjrvumzwzxk01+ecOslogv7qYLdGM5EDPP+FDCtd4wFxJCQTO0BuGa7juzCD+5NyiG7PKe8x8ekK8gEB0e2Kb+M7R4uGnON0bCIIhI9DTo/IOJ5YvnyulcsJXz9kM2I/D9oWCVIWYgnr5koLu0MfhN/nu+uhnGvnysRZtNqy5YzZhkqh3O4QsiTkCv1QuXk1epRxLc7Q5m9m+dIvl0RbBwealThdgI9syuMWcS8C0TmjfzRJYpTiQK7Un8IQm9RZKHMzJD9t7PI1VKn14gkdfwNP+qwCzPJqt5uJPOWElKcupn+1jT0wlIX9iCHtzxA/2zPxCFsttEADai22TAcEDSRxixoxUqWIORixo5jhBwMFYUV6B9Z/MMVWXd8hDxhN1a6dKvIXZAz/gWMidg==\"}],\"role\": + \"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\"}],\"role\": \"model\"},\"finishReason\": \"STOP\",\"index\": 0,\"finishMessage\": \"Model generated function call(s).\"}],\"usageMetadata\": {\"promptTokenCount\": - 189,\"candidatesTokenCount\": 29,\"totalTokenCount\": 482,\"promptTokensDetails\": - [{\"modality\": \"TEXT\",\"tokenCount\": 189}],\"thoughtsTokenCount\": 264},\"modelVersion\": - \"gemini-2.5-flash\",\"responseId\": \"4XQKaculI-eEz7IPmrqeyQ8\"}\r\n\r\n" + 189,\"candidatesTokenCount\": 29,\"totalTokenCount\": 758,\"promptTokensDetails\": + [{\"modality\": \"TEXT\",\"tokenCount\": 189}],\"thoughtsTokenCount\": 540},\"modelVersion\": + \"gemini-2.5-flash\",\"responseId\": \"gJdgaZ75NZq8qtsP5f_WkQw\"}\r\n\r\n" headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 @@ -51,11 +53,11 @@ interactions: Content-Type: - text/event-stream Date: - - Tue, 04 Nov 2025 21:49:23 GMT + - Fri, 09 Jan 2026 05:52:03 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=2440 + - gfet4t7; dur=2886 Transfer-Encoding: - chunked Vary: @@ -75,7 +77,7 @@ interactions: body: '{"contents": [{"parts": [{"text": "Please look up the book with ISBN 0-7653-1178-X and provide detailed info and a recommendation score"}], "role": "user"}, {"parts": [{"functionCall": {"args": {"isbn": "0-7653-1178-X"}, "name": "get_book_info"}, - "thoughtSignature": "CiIB0e2Kb8WetLeO-Q0simXAaXH0RlBINmgzolNw6Xiqo9QpCnQB0e2Kb20lJk_gUrtx6HeZ7DrI9ErNiegzZ5izVVoL3zFbCDndg-XBiH23s79PoVm7WWdX6-RpipdensniNrGMCqKoIQuwUwx2IfEtlWmquW-FHV8ADo_OQheorkR5z41tv5BrgBcOAoYG2z4p5QZwQVXWQwrBAQHR7YpvRxo5bAmSDBAr7qnSeW7h0TPGk2qdUZXKDVJiaLNf41zZFTgkQYXQYAIxhRIqUUuarvQvsV2gd65DwupoqnvsIy4-JcgigkRFJThYmTGmLT742TTQZiZRSin_CNPvZRwZP9uV17lIzvLlIJBZFMfe5Lfd5uwzpyY0VjIRTW4zpNoRvrjLBg1EoSpPiDA-ZEJJkWdyLITFpuJopIF9WZNTOs3BxsgZTGwlwh7dXWbEINLM7sGlP08WRfPx7psKqgEB0e2Kb3PlBxcFLg3zU6mpCpAvmzAgETH4XjKDamSFbO45ok2myeSWjSArJqHpADeimiQyRuNop5B4fIAsRy0XTp0QlrQpeWuqn39T4No6PalwNJCAbuLRIQwHGJULeywcf1GeTARHVOEQw0pfpgzuQ4_rdjPIYpAPaViURBnOik7T9UVTLkkYM-JbGYhJnVmdO2Kd0Gdk8socMz0b2l-ZRxxSFGqTaWy9NwrkAQHR7YpvPtkooUAMplvtWobMV0f2aXxiwalz_QbrS7PC_dYKk-ddbnq9LaFoNauwxkX4rIq0hsWMGJKkG_no4K94eKT-H8Y_ie-HNja3Xd6JKokzZ69giSVTVNLizdEza0Qes9Hgyed2XgR4dX3qvY0-njVa0eXU2ujyZaCb7fpyqw9mzsDwuf5LRgX1yiGnz7V6fMSTVpPqWpIZXbycWgpLrbPv_KWtdei5bG7eUlz_CesUzs6W0y7R1oAkdonbDOLduPJd6mmrbMHPFEB8Z-7flnoJ9vWkU8IVuqG3JBNLftbeiQr0AQHR7YpvXcn4gEGSFyJeY94_1XrpvsF8gTf_UYz9WSE6U_EL8aqZHiXcg7680nxqXSJLNf8V9uRUgVsXCQfRrxDayx3tAhgvD-TtAlC0tqNfq3Hy9QDf7qlg6IH3WDJwvWrnpAiKPmXw8q6ItCDx2AqqGlrF1tIq1ba3rsoB8D1qr6juj8Y3lBukzybTjLfu-qmrlyPLcZiPLKcSNR3cQWg8Flv6JZgMIIu8qYyJ-DFhMZB7EeHsiB7fg7SpLjrvumzwzxk01-ecOslogv7qYLdGM5EDPP-FDCtd4wFxJCQTO0BuGa7juzCD-5NyiG7PKe8x8ekK8gEB0e2Kb-M7R4uGnON0bCIIhI9DTo_IOJ5YvnyulcsJXz9kM2I_D9oWCVIWYgnr5koLu0MfhN_nu-uhnGvnysRZtNqy5YzZhkqh3O4QsiTkCv1QuXk1epRxLc7Q5m9m-dIvl0RbBwealThdgI9syuMWcS8C0TmjfzRJYpTiQK7Un8IQm9RZKHMzJD9t7PI1VKn14gkdfwNP-qwCzPJqt5uJPOWElKcupn-1jT0wlIX9iCHtzxA_2zPxCFsttEADai22TAcEDSRxixoxUqWIORixo5jhBwMFYUV6B9Z_MMVWXd8hDxhN1a6dKvIXZAz_gWMidg=="}], + "thoughtSignature": "CiIBcsjafMzlEczealG1RYT9hbKQgMuDdnlEx6UOyUj96gXeCmEBcsjafKzWJQZS0p0ueWAZZc90QaId7QA8dyzrrW4hlm3S8u1PX0wVn0ZKytNlAKpoKJjsbtcXYXGSRLxBMFanHA2pCEwZ9xRhb387nsNPOX8z4-LBubk-8BQge0LUWHpCCrYBAXLI2nzuESuyXb4xbl8UyDbsEXk5fZ-1YiKpTmX5OBKj_1EArjSNbSpwjyZ9smXaAS6UfRZ30hk7fdZKzK7TZdyM4EoQLQduUhx6VaFHedGEUWUOym18TS1ptSyE24I9tq2V4iMrEceBT58VWpu6YCjdj5cFdslneBMMU_FN6iAXfsj-76Jrd2PFr6Mk85cE1L6sm6ueznsJTNO7XsqS8bxpYWs722BudBzjMYnfFeoTZvub97YK3QEBcsjafE3JC0OP-rjUBTg_cHgFMYSNfcwJcmluA9kxf0NUZXY2CJduNrSKyGrUsIso-F_sjaKUX0vvQd1DDK1fwclQoEMq3FbU-kdAsRtPp83vDwnMAnZAl7EfIKYyeY8gnihhPj9ch98blocvQ23dub63UFbh59hKNFVL2w2KzNpIT28LSyq-uReR16OJewRooPqi2A6hbhASs0AzZiMJGlMG7DZagknQaidTKuXEVilcW0VjuxZ9nRgpV9K2N9gQUPu3spRuAZBi0rXSsk6vgm8GdE2biDtyZeGdqwqfAQFyyNp8FT0rdKdMotXrxNXltUuFHk0WiyMFZee_6Cl6qwEVR4vuNnuUGRpm50zPAv0jFZ2JzyH_AelokoJdh5VuMbBIRa6I87WnCBao4poSxYMSgEbG6uUkJ961JfAs_ftuyl7EHrpiFiw6UzK5id6EJNOx1We0z2t0OWFvLMTQgRK40a6MQv3zECyGA2F1x37QTmn8FzL6kWBM9CMxMQroAQFyyNp8SS7-iqx_maqC27iYwkPxl9fndDVLLFDjn3OawqOY8mNfXHJrpSkknkpP4xWrsfsJoAnmDEAAR8Z6n7Mr8AjF2T9Vr74COwvgbOrXFYKqmD3kLQUHA1KNnroqCy3gGy98DsFp_PSnJfNK_xYWDlfse8nhPbyyZSGxYh4Pmr81iNZW2RXsMKvnU0tN6gWTsZWKvZOIeBF1q6J25sUx1pXetaA3FqDoktoEDYwqqX33VXMqwEqAZjWKDdvqly1lEtoUnYsGRJ6fma0F00-fDpi5qrwQhhveqDK1i1IgqYBQUIvGkdIK5gEBcsjafMitsmUi1joNYI_RLRR1eWXkD_K1LsHztc35eetluyFDRlxMzt5Ci3jpmRKhm5HmMl6y-y9PAKw_8FlhHDPle-e_88fdSM70GYLtCWC_m8i_QteLnmuabRMTHl254g8YSFPQCA_jEcAo8Vw9FfvBmoV_uL93DEgFDRXB6DWWlc8xIzsjlT9SIP6R7tdNFiMHm9bhF5FYk28rOdhK65MdxqRRPe9oFolC3RDWzhbTA0se4Lu9JvG2PHmLAP2s-BQewZ3vZpm5TLZT30yxGin5w94Thpqa8qjQJKempb4AidU5mwrBAQFyyNp8teu94ROziwaO1rD5ga-s7Y-CwohKiGmJYgT6hWp_ZcSo3a0sk5B-4wD0hZeaX5Krw4sjTpBQ4M6WCazdJaZIAReDJhqRnwtaD4jabDO80prQUmJRLR3HwFDR4k2wbJgvzwIk8YnuFUFG1cGGtFUsgepURYHKyupyNarBnR7b1D-iwwtp6WLNRq2tNVUV0Pyrj0jpiy9bYU1FK8PkdqRoFu3-rzau0RIL02ip2LVj4LF_FvjFPTnPI6H7EoUK1gEBcsjafB9h71DCdL_MMdVqCpU3qGR1AboyfQLrrnBetA2E_Tkvn0b3HdufPSi6zWMBrxMyF3C-QIirkp01m6V6hG-ovgseQKlmIxOUI8tk4BwcjEnn1vrvs2JL6JxQOHP4d6qM951VsCSrJGuwzh3hKYSPYIKANDCc9LGvagBGDT8VB_sxrplMeKRG_g7hoP2dW7gqkqJdTfUxhut2bOtGHDHcaNtzKTG4NwDzY5PyYKrHY-Wdsnz1dtXY69QbGvIEumvpJSQ3V5UlHpmnGVK_Fq6803iTCroBAXLI2nzeSPhPGGbitxGwghh1Ivr3A2KQZtGpCF1HJI7M4DpwPdxad2YTXZYS2bZ90_vtb0BxkX88Utj2BNivlfTGZxQfekDDDwynFEfPbkl101FpG16Mc2_-STmquCh3nXWE9pwQnOFwHQI-UzSDvoVNlB1q1o-HDkOgx7LZ-nge3q6pPdHOvZyyNKcVkrNh2ZgNMBRXBS1jM-NoHy4r1FgdqzKWOZ5wjT6WbrLYZiKTA43lP5MMwg7uCuQBAXLI2nwD_C0N4flt63RLA_cW4jlVaBCjptU-P2KEEBKX_5g3sNnD3JjHGgEXbbLMwc2dwga4SqCF3UYTuNeAlU1TzUMkqqKEOdaXZnV0RhvJRJWq0RLNsyCSYw7hoQuT6Xvbh6eNYQ_SmXokib9g1etqfMbCUdlMXNUv5UHF4PcICclg_lOU5u2VgS74BLxTx1x0np7AQEisSvRK5XtEzQhABWumc7vJiYFn_sVsvcxyWz5k-_tPYRYle4sBt5W4HwB5E366IBZIgIPsAetEQBatiQaKxUXdY7eLfTEosS3UhOUSCtQBAXLI2nyI2VDAQlOKDB5KTbmQQCzg2BsZvxZ1IqBgIAP_9ei4eoUmMv1TxzW8MS_qSqHTee8CtWs3_yFR3UeZR_o7CSKmA9f3KZcWWdO-oqsRWh5kv6xTA8AluB_UyXR3bVR4GFDF4GSjzdwbQbrlvrIYe7uu01bADEMS6cCk3cpyDw15zYeMZIgIGiAXW3ZX_KWpL6miIvZ4H3jmLAeevMdNXHF1XJyCUpIc3LSkZZTMcdTOiN2Im-lJoy-SXRXian2o0ZmcKFHK7V5AIshr3Jg77qIKuAEBcsjafDYjPaArAF75jno1rjCzujuluVPc1aYKTcRUjjnWxcge2l4VJvQTrtCdx2GFn_snQoSmY6fYjy0xIu19Rk6AqRBZUTM2NMUr1ryl-jxARdUqeXcZ3tJ9JcVvtUPCCUmsyFWzD4BbT5XTcFTqcBVuRzj4GrETKKbWU37aigsDkQc4v7KXNR6XZYuH6JafA8cxYjmGAUwOzAP_JQIJR_jb1ryi_jDEsPP0mdpsf3jO7lzH-y3B"}], "role": "model"}, {"parts": [{"functionResponse": {"name": "get_book_info", "response": {"output": "Title: Mistborn: The Final Empire, Author: Brandon Sanderson, Pages: 544, Published: 2006-07-25"}}}], "role": "user"}], "systemInstruction": @@ -89,7 +91,7 @@ interactions: ["title", "author", "pages", "publication_year"], "type": "OBJECT"}}, {"description": "Look up book information by ISBN.", "name": "get_book_info", "parameters": {"properties": {"isbn": {"title": "Isbn", "type": "STRING"}}, "required": ["isbn"], - "type": "OBJECT"}}]}], "toolConfig": {"function_calling_config": {"mode": "ANY"}}, + "type": "OBJECT"}}]}], "toolConfig": {"functionCallingConfig": {"mode": "ANY"}}, "generationConfig": {}}' headers: accept: @@ -99,15 +101,17 @@ interactions: connection: - keep-alive content-length: - - '3114' + - '4660' content-type: - application/json host: - generativelanguage.googleapis.com user-agent: - - google-genai-sdk/1.48.0 gl-python/3.10.16 + - google-genai-sdk/1.57.0 gl-python/3.10.16 x-goog-api-client: - - google-genai-sdk/1.48.0 gl-python/3.10.16 + - google-genai-sdk/1.57.0 gl-python/3.10.16 + x-goog-api-key: + - method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:streamGenerateContent?alt=sse response: @@ -115,12 +119,12 @@ interactions: string: "data: {\"candidates\": [{\"content\": {\"parts\": [{\"functionCall\": {\"name\": \"__mirascope_formatted_output_tool__\",\"args\": {\"title\": \"Mistborn: The Final Empire\",\"pages\": 544,\"publication_year\": 2006,\"author\": \"Brandon - Sanderson\"}},\"thoughtSignature\": \"CiQB0e2Kb6dbMw9hxuayY77s+IEsKFbqAb7vVGMvO3l/Nvw0LOoKfwHR7YpvWuT2yk3qwuCas8nf/K5sH6s1v+urtILGInnq3EjVKN2elXa6Ym4m7VIvEzYTvcEuPnayv3O+Ca25UFwX53hM3g+d18HFuv6Nyy3kMGN3zKlgbz/ExfkXtdo7WSSAVTkOsjhEiNe4KeavYpPQ79b5Jnv1fATHpF90UoQK4wEB0e2Kb72d43uKfeoXeJPfkIHEAcSbRg//M12q9hP0NT53rtPks0IK7K+dGGXWKBoUp/Cj/Nr5OFt9R2feCyAc50PwxWKjqsRkNMkSLvXaHifo3TsxGgVeQfwNLOmwziY7R/DzBH3/p9BQoCkIq3n6JExVxkpx0BErcehVSiilGKK2iLPHFAyrTO4YGAUFOBL1kI0M1EotEbrAKn9US2qUfffhIeWaUhUHISWL5z/MOsMvVUnW4aBWgPjdD93m3BWXOc9ctAOiF4uUG9RipbIT64COzxW6BBx7pbUp4KS96Q9WhgrwAQHR7YpvFzHV55bXtvcD4q1ObE75HZYfyRfpccTnjNGYwtXOuMkxdZFEu7InhS3ruwccv3qYXFFxhjcNZ2QTHpeu1ZDB4w4DMeNOycl2mewB0hviSt47KwgR17n4WBEJvhgjGgSu3bieyQrbJmOkMQZEd7HUbjyDn0yFDfU95xKFmGAF4WULXdv5NFmiKP/pxA4gXWB0teBhAhzPMdafd3o2Z8nqUWFws5P+u+XYrS2ZlXQAFa/JEu3BM0/UDqD2oRcX09vM/JXdP7X7vpcDQxB0i15cufoDKvipOy/amFae31iQq5L49begDtsvd/+M0wqqAQHR7YpvkOMXPJzjKNGtJyYZFeZbtfqsXibQXdi+qVf//08Upki4aMJqbsElAH/ZIE+ZiZZEn+AjP/kcaP63PdVh5fRqYXp1XsN3PZ1BCjMp4kg6pbP2/bKpS7tnPn+hrMRGKOGio6m0rTYMHd+sfymBLiPC94LcJwjRGg70bwAWXEz4ycl2suv7zxXQiWycS/Xpqj9Jtc7RooBlINHPxxWnYmcajnqs9FDW\"}],\"role\": + Sanderson\"}},\"thoughtSignature\": \"CikBcsjafFi/hXNx4bJv9E0yTq37S1mOsYImUYOO9GBDGYPahc7ATXm87wqRAQFyyNp8IxJiP/runWcP+OybsjwnvwmNA46/M91Gb+JOG8cbYxpXqY92QEEFZVrzetUvVofnf3sUI0a1ZC6PpUJOE5AkOlPPTelm2i2jTjsdONV2XgBxy3VE4DOv+gzK0iQ6so5+Bjsjfcf7KJfTtTjDyQ4kF8kOAnP0vMxy9XW8yvCj5nkhmjcbmckNC/7EN+UKzQEBcsjafBfxkD818U2Tx1wwuKn1pD81JkxYvIo1uIWU2eC5eIOmKBXkaOyeWVnQ17RxLkJ2vb6WJcoDLBArpwBWd3Soquf4FXuwaggf+WClJh9DvAw0bSrIpb8p6JBzCZRLhCTII0I3Wqv2q7PvBu0+oLPKPZyju7er7jXbCHFqnsaVKAN6vLeXDVUkbGCPYpUGeP/qnpT+abFAfZc11GYXd2CN7sPNCVr15vFr9gYhR6Z5g0d2Ri50hWBL37pgpP91+0M/A4VfwMJ4TcDfCvEBAXLI2nxjxWIc/kaz3r85vp7LgceE1FUwC+4LQEX4eve0wpi+93/D72F/JSE9TpAz3qcuEZJ54aEX7ciXXDBXMyqkrKV7BUOLixeFDjvrGwKKJbBJxjhYxh0JOe60uHodoHEaFIVQaXkrl0en8KDHHs7JvLnO+bW9rxixYix1dYvmdurwbMfCITLgS5gnVOFGkNk0AdqtPKNCilNo4BpT2DRp/EFRJYBP3TvL+kVSFAnV0MxqJo162NgANNFvrHEz/CR6iTUrxGM22EDGV6tsXb0C+A7HgssG17T9I3NWykvEkwlP52uMCHxJwozQ+AsgcQqtAQFyyNp82kZYJ6JoGcoQEBczCFstFsSHJRpWgQ3qRe5OPaZ4oBcg8eCjP+BsNNitR+H8RsttIjvAj+F2okvkWcanYSqfOpmgaKjhEvBgiEi5dbWpvj1Ibn32ixJ4X/wMtJw9hJpUQS6vY7jFz12zobr4O7bX7BFp28c1KHNzokPtwwBppwv65MxXstxhNWEEdcWSFckbBRBms5OQMUrczVE/OPYvfjyM/yP/qIyu\"}],\"role\": \"model\"},\"finishReason\": \"STOP\",\"index\": 0,\"finishMessage\": \"Model generated function call(s).\"}],\"usageMetadata\": {\"promptTokenCount\": - 530,\"candidatesTokenCount\": 49,\"totalTokenCount\": 730,\"promptTokensDetails\": - [{\"modality\": \"TEXT\",\"tokenCount\": 530}],\"thoughtsTokenCount\": 151},\"modelVersion\": - \"gemini-2.5-flash\",\"responseId\": \"43QKaaS-M47oz7IP9PbR-AI\"}\r\n\r\n" + 808,\"candidatesTokenCount\": 49,\"totalTokenCount\": 1004,\"promptTokensDetails\": + [{\"modality\": \"TEXT\",\"tokenCount\": 808}],\"thoughtsTokenCount\": 147},\"modelVersion\": + \"gemini-2.5-flash\",\"responseId\": \"g5dgaaGrKPSeqtsP-u3IwAM\"}\r\n\r\n" headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 @@ -129,11 +133,11 @@ interactions: Content-Type: - text/event-stream Date: - - Tue, 04 Nov 2025 21:49:24 GMT + - Fri, 09 Jan 2026 05:52:04 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=1403 + - gfet4t7; dur=1245 Transfer-Encoding: - chunked Vary: diff --git a/python/tests/e2e/output/cassettes/test_structured_output_with_tools/google_gemini_2_5_flash/stream.yaml b/python/tests/e2e/output/cassettes/test_structured_output_with_tools/google_gemini_2_5_flash/stream.yaml index 5319e118ec..2592c9ed86 100644 --- a/python/tests/e2e/output/cassettes/test_structured_output_with_tools/google_gemini_2_5_flash/stream.yaml +++ b/python/tests/e2e/output/cassettes/test_structured_output_with_tools/google_gemini_2_5_flash/stream.yaml @@ -12,7 +12,7 @@ interactions: ["title", "author", "pages", "publication_year"], "type": "OBJECT"}}, {"description": "Look up book information by ISBN.", "name": "get_book_info", "parameters": {"properties": {"isbn": {"title": "Isbn", "type": "STRING"}}, "required": ["isbn"], - "type": "OBJECT"}}]}], "toolConfig": {"function_calling_config": {"mode": "ANY"}}, + "type": "OBJECT"}}]}], "toolConfig": {"functionCallingConfig": {"mode": "ANY"}}, "generationConfig": {}}' headers: accept: @@ -22,27 +22,29 @@ interactions: connection: - keep-alive content-length: - - '1115' + - '1113' content-type: - application/json host: - generativelanguage.googleapis.com user-agent: - - google-genai-sdk/1.48.0 gl-python/3.10.16 + - google-genai-sdk/1.57.0 gl-python/3.10.16 x-goog-api-client: - - google-genai-sdk/1.48.0 gl-python/3.10.16 + - google-genai-sdk/1.57.0 gl-python/3.10.16 + x-goog-api-key: + - method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:streamGenerateContent?alt=sse response: body: string: "data: {\"candidates\": [{\"content\": {\"parts\": [{\"functionCall\": {\"name\": \"get_book_info\",\"args\": {\"isbn\": \"0-7653-1178-X\"}},\"thoughtSignature\": - \"CiQB0e2KbwIFgDCNrMGSytg6JrDuDya60nOOEORX2b19/Mg0j80KhQEB0e2KbyApd2XsYiA4muj/h8otUG24G+Ev6m67DY/F5neqF0vzLHajcc19jS+lNDgYr+Crc2z9t9qxX6FPtNeKmIrNLmu10DZRziWnjp8WQLgjpaud/0vCSsHZPl41uYq63KPjKihs16P4mZOLUAnDKtIoAm7BWQEIDGQaT4Jaot/lsnQSCvABAdHtim/gdDfRfXYutSM908e5C5WriPOjZQbXisaaYAuLnapdsU9Mypy903ekvR9jgC7zw2vL2wD7edXj1jtY8bthR6hOzKZ4CVgoouTeBSj+pmc6xiyzA8gCfjJHjXQ7pagvf3uB2DpuaVt0M/x1y4E9sCcXP2yvk8sG+CMqNo/W/izKSHq4Rr/Ms+Pnyh0xETKQL/bL/gRQW6cdcqgOXMomSE+98yLgDzsJLRNIKB9FfNY1eCTrv6TEyYMPJewXulvV49ESBTYo1ajmHM1JTxGgC2Oz8n9INGEnpVtKswaHfc32i8KAHRLY3fXgp7SzCoECAdHtim85me5ipLjUna8IfWcAFTtI8aZp8kps4M3jygqX+nt+ZwlUHagoyoLDOts4qOh0g/Jv0Cv3CH76BCWTLp8VWEhgk7wxa74AG9FyMnoD/zlYIxtQqnnnoje0m36Vq6qjQrzkJR0Ph8iUobjK6eAs91K+vE3CBfstpwzSa2XEZzYkrTzj0fy6BBhmd4vhKG0jx5EsY/gmute1O22sjKQ2STMYyjPszyMXsQNMzxTP4o+qdFXWmWQ0Isu+11iw02CO8WFB6nRxUdQ6pOYf8dtW9tm/Xu3Awyo7jGyVWkCP/8f3/3MUOoR6+aoOI+A/z0OzcFC5/LFaCUGTfvB1ASgK2gEB0e2KbzNnek/QqfyzrAL4G+5RRHVnB0Vihuf2MrI1SlwNXUH4HhKw+F9sZKXNKWKy2RxI6udrdnBXmPpj+pXK8E1RLFsj9UhHJGvUbmU5pspueZF19geyOKzkjhPUaDM6vxr64U8tYTSTLxvsnFleCvWnxfQf98SEcW3phtfM9i2k69DMuvc4KOA02gSmrxfnRq5ozferBtLRMDw0rnByn58/o1cHWHCzCmWkUiWqRPlVWqP1cD/Ix9xxmWnajsHwSvO9omKeJuD1IWGouCHgulMOkPPlTDWTewrZAQHR7Ypvonsp1gjqaSdLVyvnHl61TDjup2ASXe6ut7xv9LT0a9Kl96HNdtVxl/2WlYc5xfTQEsAY8RZiYsYIDM0sIGriqpyW5UzJNkY1DToBE+QdUSRXjujfeEjFdQ1j6W5wdS1Td76PzEamtnHUQc7xfMhr1GybkTIsTVabdNanrCbabaJvN/VNSAHxBNvsuh1MtkghrBInnoOpBiD4dSKQFHffTZPiRhEUa4Ksc+WKPXha90g5clIVetvJRMyfFqJcMAkwPqrftqaWjDG0S6Q8Mz1zFFWRY7wKpgEB0e2KbxBEIogF9TnzWxc74vk7Gm4qNElOJ4Itx2iWCyp451Ic/REAQTYxg45ARSR4MSdLA4KyhMNSusz1A/YERzWq4h1r+N+yWd05nGtf3uHv/81Y81lK9M4AMnLgu0te0VeAy4RarfxO0V8MRHbzqb00r/e0VdB257cUlIPA6n1whr2KojeUjAGt3de73XHFPj/3uq1Q4dPV0VkntH4n21eWB824CqcBAdHtim/2ZfEzuKxDR6fJkOUr0/pQfJOwp3NeyR3muvU2CTg/LwgATRYWFiKyKi8yB6DvaMLHCvBc5Khwrpiom+21p6BMZNFRWVDLM19yLh9dqhtGRlAxE4KVzabuJXp5TwZUGn1hZDkgkdAbtFY0Yhalw4UQokqPjTMRdSGfAMv3pWwTtOzLmbKMwuCNN+j9XTiKx+9Krs4oyAM3q0yHe4rmIy1x1B8=\"}],\"role\": + \"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\"}],\"role\": \"model\"},\"finishReason\": \"STOP\",\"index\": 0,\"finishMessage\": \"Model generated function call(s).\"}],\"usageMetadata\": {\"promptTokenCount\": - 189,\"candidatesTokenCount\": 29,\"totalTokenCount\": 516,\"promptTokensDetails\": - [{\"modality\": \"TEXT\",\"tokenCount\": 189}],\"thoughtsTokenCount\": 298},\"modelVersion\": - \"gemini-2.5-flash\",\"responseId\": \"23QKafPtNq_Vz7IP7KW0iQI\"}\r\n\r\n" + 189,\"candidatesTokenCount\": 29,\"totalTokenCount\": 1206,\"promptTokensDetails\": + [{\"modality\": \"TEXT\",\"tokenCount\": 189}],\"thoughtsTokenCount\": 988},\"modelVersion\": + \"gemini-2.5-flash\",\"responseId\": \"dJdgaff2FritmtkPwPqViQM\"}\r\n\r\n" headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 @@ -51,11 +53,11 @@ interactions: Content-Type: - text/event-stream Date: - - Tue, 04 Nov 2025 21:49:17 GMT + - Fri, 09 Jan 2026 05:51:53 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=2294 + - gfet4t7; dur=5082 Transfer-Encoding: - chunked Vary: @@ -75,7 +77,7 @@ interactions: body: '{"contents": [{"parts": [{"text": "Please look up the book with ISBN 0-7653-1178-X and provide detailed info and a recommendation score"}], "role": "user"}, {"parts": [{"functionCall": {"args": {"isbn": "0-7653-1178-X"}, "name": "get_book_info"}, - "thoughtSignature": "CiQB0e2KbwIFgDCNrMGSytg6JrDuDya60nOOEORX2b19_Mg0j80KhQEB0e2KbyApd2XsYiA4muj_h8otUG24G-Ev6m67DY_F5neqF0vzLHajcc19jS-lNDgYr-Crc2z9t9qxX6FPtNeKmIrNLmu10DZRziWnjp8WQLgjpaud_0vCSsHZPl41uYq63KPjKihs16P4mZOLUAnDKtIoAm7BWQEIDGQaT4Jaot_lsnQSCvABAdHtim_gdDfRfXYutSM908e5C5WriPOjZQbXisaaYAuLnapdsU9Mypy903ekvR9jgC7zw2vL2wD7edXj1jtY8bthR6hOzKZ4CVgoouTeBSj-pmc6xiyzA8gCfjJHjXQ7pagvf3uB2DpuaVt0M_x1y4E9sCcXP2yvk8sG-CMqNo_W_izKSHq4Rr_Ms-Pnyh0xETKQL_bL_gRQW6cdcqgOXMomSE-98yLgDzsJLRNIKB9FfNY1eCTrv6TEyYMPJewXulvV49ESBTYo1ajmHM1JTxGgC2Oz8n9INGEnpVtKswaHfc32i8KAHRLY3fXgp7SzCoECAdHtim85me5ipLjUna8IfWcAFTtI8aZp8kps4M3jygqX-nt-ZwlUHagoyoLDOts4qOh0g_Jv0Cv3CH76BCWTLp8VWEhgk7wxa74AG9FyMnoD_zlYIxtQqnnnoje0m36Vq6qjQrzkJR0Ph8iUobjK6eAs91K-vE3CBfstpwzSa2XEZzYkrTzj0fy6BBhmd4vhKG0jx5EsY_gmute1O22sjKQ2STMYyjPszyMXsQNMzxTP4o-qdFXWmWQ0Isu-11iw02CO8WFB6nRxUdQ6pOYf8dtW9tm_Xu3Awyo7jGyVWkCP_8f3_3MUOoR6-aoOI-A_z0OzcFC5_LFaCUGTfvB1ASgK2gEB0e2KbzNnek_QqfyzrAL4G-5RRHVnB0Vihuf2MrI1SlwNXUH4HhKw-F9sZKXNKWKy2RxI6udrdnBXmPpj-pXK8E1RLFsj9UhHJGvUbmU5pspueZF19geyOKzkjhPUaDM6vxr64U8tYTSTLxvsnFleCvWnxfQf98SEcW3phtfM9i2k69DMuvc4KOA02gSmrxfnRq5ozferBtLRMDw0rnByn58_o1cHWHCzCmWkUiWqRPlVWqP1cD_Ix9xxmWnajsHwSvO9omKeJuD1IWGouCHgulMOkPPlTDWTewrZAQHR7Ypvonsp1gjqaSdLVyvnHl61TDjup2ASXe6ut7xv9LT0a9Kl96HNdtVxl_2WlYc5xfTQEsAY8RZiYsYIDM0sIGriqpyW5UzJNkY1DToBE-QdUSRXjujfeEjFdQ1j6W5wdS1Td76PzEamtnHUQc7xfMhr1GybkTIsTVabdNanrCbabaJvN_VNSAHxBNvsuh1MtkghrBInnoOpBiD4dSKQFHffTZPiRhEUa4Ksc-WKPXha90g5clIVetvJRMyfFqJcMAkwPqrftqaWjDG0S6Q8Mz1zFFWRY7wKpgEB0e2KbxBEIogF9TnzWxc74vk7Gm4qNElOJ4Itx2iWCyp451Ic_REAQTYxg45ARSR4MSdLA4KyhMNSusz1A_YERzWq4h1r-N-yWd05nGtf3uHv_81Y81lK9M4AMnLgu0te0VeAy4RarfxO0V8MRHbzqb00r_e0VdB257cUlIPA6n1whr2KojeUjAGt3de73XHFPj_3uq1Q4dPV0VkntH4n21eWB824CqcBAdHtim_2ZfEzuKxDR6fJkOUr0_pQfJOwp3NeyR3muvU2CTg_LwgATRYWFiKyKi8yB6DvaMLHCvBc5Khwrpiom-21p6BMZNFRWVDLM19yLh9dqhtGRlAxE4KVzabuJXp5TwZUGn1hZDkgkdAbtFY0Yhalw4UQokqPjTMRdSGfAMv3pWwTtOzLmbKMwuCNN-j9XTiKx-9Krs4oyAM3q0yHe4rmIy1x1B8="}], + "thoughtSignature": "CiQBcsjafPrIwF8KmpvwZ8url_bgIsgRYdFZI39eYsi23Su1NmsKfAFyyNp83kajRnJRF16gcODzKvJtoFMYc6zXxRL32UrkFyjZT8GfotqP9bJAAqAg4zSJKJH0Ku7RQUNmmmN7z4Ly8sOHQygZJB8pq6p0M1JG1VdmGHnVhNNEzDvtkjRyimkf8XwZU7pZC2lgnfTUFO2sKRX2W7yb83kckd0KvQEBcsjafNrLK71ke68ZxpATXt1l6xjf9Y85ick65hM0ADa3jWhD5KOdxJbt9eT36wXqdBtWTHj3RVhbl8BBSh4K_d1pN1Qf4AljjxA2n5NOqfDAaJkXmnJJywvBf0x0po3yjj-bJpizUAq5lEETgq8n0mOpoBeNtdxc4WHmNVAjHyZpvVsUOqUnjVQe_Li0RoTJgUOj5Mj4EW-tD6XPX4Y8u_XBt0o3omvT4e_Aoh8Ug0YpYH8Hfd-UVceIn2wK6QEBcsjafIvRJofw10FUJDdKKWPw2eP15RPSrL8h9zuHvTWvqXZUD9_Si_PLQUqAFBMV0b6yjy-w5fi77cUqWbW1PG6hyFe-l2KGwCi5uFyrDr_n0xO-pn39_rf5vO74gaU-Ll3XdhG-oAQtGWDaoSEFfZNNYEfdz3qGokKlKYrND5I0Re6e48NncngHFfthOx98lWaT3zeJs2kw_qQm932oMmxmr3brtZFW-8jJJ_fQfrA3TxGNzLXO6hPvLRWUKON49jQJYiDOjMSECXTI0fJTXMpam88QaIGRBO1gDtPCrTljeYm-BTAIUQrwAQFyyNp8I8O8dCtVRjKZtNwBaDNhas1M92czlkE8EtzqcK_gKVDAXhiUCcl0zqDwrKH9R1aW-_mxvvNp_8OZj78UCYqzRsfEGSs2EMM56zPJMCOTvqG6NHeqp-w3SN8E5dPt0spm-9RCj23u-Bt_DMuYRe547Yuc0PJj8CdXYTXWhnCWZNbyj_T2LrkBhVmLz266Xqmn1DxqndsEaLh43C2WlbA8b006g2ObxYReS6dOeD3K2aukAIOp-Jx0T7YE4UgIh36D09HM2BzZKW0Tg4LyN0GqmDX7rPtZpgwvyy0iYULfK7nurCotRJRTvdWQzwrxAQFyyNp81Tso3_YL4G5S4sb79JEwql3zCWBhNXzIdhawuYRz3ImyriwU-adf9enQBYZr6rOhuDjEdHZhiTENKMhcj9ENOYaIN2xsbTasNWhdYhPMll9Uddo19UI4q7Py9ocVmUNLYMwylZfT2tQbFwz9lggeWeU5F8QGX-P4xIGC3duVZr2re4dgCkT3ztGb0fLgpU4PqmA3kYtOvdsl4WwN5teVPMTDdkTSKaYBXfnY_1QLlqPMPiNrAtFxRyQ21X3RjKVxlslsSrnX3UmbiYDcCrEra-wImilwsAnYog0WhuTGRaFMBd1TlGFGazCZiEAKyQEBcsjafMJ1bPadcEpADGOaRAGvXsl2ADcQekO8IZHSkKpuTiSrqXCs7qfcHWxlTsu-CE8YDlnFMdyQMgmnqutlBGVnkxnKeKTfGSCLrp9vTAPvTXr1S-MAIMyMKaYTGA413jO4uQOcJ5RuIlLx4A7ycLuyZ1rPLYKTr91OaYWG_Ut4Esk1tBxvEMnilzK-pEQ1VfS-GAA0getzawC3oNE8dJg88qV84z7cAoB3tF4_AMqdfVl2_T6rdHskSAp7r77Hw7FitwX1JZQK0gEBcsjafDCoCS9O5s6U2r61HJB6TOeaBQmS6Wl7p4EtFy15dle0VJSiwTjaFXs-_YxKomknY8tlvt7k3TKLljOgwmsDv0brtJT3-phQFeBdts2ZmxJti45JzuJ5wyUAJo9zoHupAUgAZUuj8xciqh_9d1si4IvrtFqDu73x9NUCS0Pd02IF6kLsHosiivN9VI2E-M6eb8PMLYboGzpJnKRsFZ2XNgUoqP4hjYoSWzzyEs1bFxwt3XAV4P9avUzWsVAo9KMdUg_3B3UuC6oZpV73GI8K0wEBcsjafLhYoh_vSo_VtuexUJd1keOsVGVyr6JVvRipMBmdAlS7K_KixnJcpFpQvVJGLq4o-6-apdMqGUCn2jhXykn92sd-spik94nRj0Nl-rIBpi18-Kkr04enHxEW7uXxkKD58osNUrsnG0n0pnCTR1CwSubUbokyCeWi64MyFhkGFX4hhSLy9oI2bs7aakvB2urb18wSUH0YgNVZpBlPYs3fQUwDkCr_rfOZS0FgbuIchuV4rhjDR7g2TXogECkWGa-z3YYrItID0iHWJIZkDmOlCnUBcsjafIv4YA3x-5YTYIfUOeaNjYzVRQLJwMPsecFVJl6jri8agFjnshZ0ear60Scde0QO_q0ZHjxwfJJT-APM_28gX2JdpZlI2Ygkr7Vb9g1L3s6rNwQ1N-5vzJpmJeuaHTA6_vmc2Odwl23uVgqp6UImDzgKYgFyyNp8MPK08kTzG9SMyMpfnRgAXmBmZFO_lkLxNe7eKM7zbLHs1zwy5ztvH_oVl5K5Odfkf74uAUX_Tk1gNp9N0lJgEq4wiCiO99gAIKKxua5n5MQjVXSpGa1aiqVQiaatCk4BcsjafCaKD7k5DkDxrNgno6O-LJxef5MwlE3A76t0CwlbsbyHyOmKDkBAdkiWIeeKcwdOIRYiP3fiKOVPVkxOFGtUCJoeYVSD7_4LTNMKJAFyyNp8PyBqVb8Z8NQ_I37SuNdTXvOXfyl2alad73uzN2YDswpuAXLI2nxki5khrHg1-LNdj6Cp-Br8usNtbpAfZutsoHtvBwQFoEOwNIiMo6dw-hwKZMYvZsWFaH1rgFqojfUSULBadX58-4Ot_e3zkDAENXOAocszVgpoLhCv404XgUKx82yi-3Wt5PAOyhmlackK1QEBcsjafK3wcWLVW0VNIHNdLlz3v14MRoHyZ8d4eyLI_WW4qfqHZbU-fn41XGRswRJMGJnlgUdFLXbCR45kfgjoA1lQ2ykjTGQ1gchzh47RQ2e0_BnL9_UYpz6BNpBB09dZE4GM2Ho6mXS8ZPLempfMkAw5FZzSYMbET1N41gwT8QLt4vQYT5r5vYjpy_lpXi5M4Wq4RTPhm4hUdUOPoxPZ3-H_qyKuZy40LGgeBW-OZNbUCexSN2GrLBhueIEmVfx2Y4PGZHg6bzKI9HI7sv7pXWiSS4gKgAIBcsjafPpyg6Xf5B4gFMROK45MdR791OlxZmG5EF0W_lSO4YR4N17GcA2vNCRfwyAO4kP89gB5oi14SBGKUYggKfIebkhcewsDIjd5m2CTE4s-iWLyJDgNrMcmmqRuTW3025PgarvuTf-KJfw2MaCRluOLY9rb6nvF0mQKAPM2AdbgPKKxE2P0q5OxkJFQA-5_HZJ5e7YVxWS7zWa9ltcSAuXNgp0QJOg8EqEMwXOdq727-3J_U4CEJC86tszOKdN182G9lfotuTk617UbXMJmjzfwlOqxv2WoGglvycavk4GrKoqiicSkkLAAEEGjry2PEowFEeyP30YA83V8NVUuCvwBAXLI2nz3qaWT3WKQFQkzO4cYfzUCE6fiOIr87O2l3YKNRBp-rsTemHWMSI29BXCZ0eUCSvJXGC9vqUiFlYzgSNBLGJyOWBQgQBRSlVUFogfpQbttc9-MCaGb18IiYDzXv9vhTosoa5SvlYOWVAkm_HREDeQOk78aTJATJ7SyUz2QMhAcSjCOzklDk3230pw4LLSoe7jU4Ve8sbTQEFm-23JGXm8Pm5Oj9PqECzC4qKqMujCiO0VVyD_-yXWaHLZ3r7mfqqD9GXgYA4Es1YLGgJqKrd53Qs-bHJQ7l_vsZtGiBoDynGM2MYr8NLW26wiv8oYgUZGCV2XLQQF_CucBAXLI2nwaZWfNCSMkmknLLsXcFt5CRlQV-1UJhKfBEqmuh3MBBxiRzXHWXY0XpH50NoVxYDt-hu2nJrM_CilO3XZTXSXS55rJ6WbE8E9T2zUQr4z1rJtQKU_JFqmB89PkzhgNGsr_g_kRmL0plRJf-Swvt0jDlBTCyRFh0VdJn4c3qAnFpz3t_-DbPNFpDl9VGpSW_TQ5HWUdMxo2DY3_TfHlEjK0JyDDVPACc7-aRDQvQ_ep3TX-nzp73E68vzMFnw_jq9OrSiJJdtL26RQv5p-DK4LQztY6lscr_aZLbGsZna2WNEKsCu4BAXLI2nxmMzDNgQhn6nprASFvt5BVwiIQNf7wbhXcC2eyl_za-YYLagKXYnD5P8OP1vctrjJtgs3MQodXztYHJFrWvzneXnlirx-1pE-9BYq60Qwae1ew217JGK5W0-NeA2-AU3qz3RBCuPoy01m6SOw6hfGOqabgYDZ8CYNe_QFXLKTAj15_ZBTSUxloGfsAXM16z1tWDaqkEzxcQN1A6WuG75vsu7nRbP-Zf6UAXd-2l0PnzLSP3kguY_rFZ3qYVEZcT4sTf89oxacuU1NX-h1ckd6OhSFvrPw1_jczVAXeSXlAIJPFoEDw0AEjtQrNAQFyyNp8PScJr30IFbfbeCTlo6znqv8onsTDWn03-GTW5RJkodDqKqGhJK23nd0XgdeZ5sAenIzxy93rNDPbfReOjj6lNJefFV7_tK3qcEhjdd5rNEczhVSKuY6RyukA4Bp5kp6rX2IbufWhuWq-9_QdbTbOA028Dfm28GnPjM1l2ZMtli016E4ESEg404IFAQ01FmMqSxbKZ6OmOGCmdaRsApYUKmHa7LtTxWNIOt2lVZD0M9s52_9B9AxMyE7ThJRoP33QvS0B4t3r7y0KpwIBcsjafKlUY65Mnz-LUlNH4LPAeThW4uZvI1iD7sCK9MsTAWRq03lDUpqGz683SX3IPWvwnir74_CBsZMRLxiAwC9WRhUZAH39RbuaEpV4RK9QpAFtcGp_9IZTUQsyDnS3TIFdQNcI4AQSigZifgvRzNSqlv9bVYBLjHHuYSnHQNyLspLOk3fo5wwEP5Ozfo84NH0QAdozMdixegRaBLdJ97D4LBW-tUy0QxTNFIM6EX1jDqGau9kpk9WcqkYmxSb58ksGYsIYQGumf72FBe0kCuLqu3C7yTKXU5buzD-43EuZ-0dqufO1t_qEGBQ4PcyAGc7w1CO4rH8TOE-ClXs-BDqrDddIRIlF8utsk8rduRE1Mn1bZC01AIMHB-84ZqD_oFEEoCrICsEBAXLI2nwOmhVnpGVqZ7hB2dO0G1yIYhLgq4W7nWJ5MUbI3g3SKTDRC2LEQMgd7-XntN3xd-80emSjIQTM3WE3k3usnPC3bTeutD7FIgyg78aUEnpaCfOyVOg-h9as1FALvfKM739p3Y7CZ2ApirKnh6vT8lrZPT3JjnsKZwKbAsO5P2lynk6w9IgWcEjUopbUhHCOMnyEfFxp6XfjRw6xQYGNSPn-QJNWAR0QbpFftDkmWrxTdPEv0qRwWwSMpNQaiQrwAQFyyNp8F6cn8gQg_sdEhg67f0KXzMB8L1JjdoC4JKioLm8ieKRa6G5_ADR4f2pegQrPemEBbll69fkxdF_fP2IcU0T_NVt1XvP4f41mzBoAu0OWLqDXQmChFlnNABWFK9zQd6FpweY-MoUdt6iLz24_a43QWl9modGwJ8ojvZ_RknPxuOYrfgj_30D3udiZvBIQe4XvpVXpJS813aj6M36GDjz6EA1xBW16-6AbEwCY0fOll84wOeM7Pf10C_ULdI5XDgaZV4V8r5irdq5nIvVw-Zxjt0fyfrhL1p0le6HzCrY39UyiogLWMQPcWdMIqAqJAgFyyNp8PydSHUh3EWpZW2_7oi2E18RGcZ4UgFphRBz-HkvTypUxn0yjwzDKaY8ByIBUlJg5oXhpCwpEo9Ry4A14jTG9DhR830jdBo5tJgvQYKeHRQzhje9sZ1UQ8KoCxa9iPjnCUgLFuaZsNa5rPNWElj-K2bG6IhMY5w9kiUgKvbYtPmVfHkMLLRwoQf9MqzdttLv8Z-GplcWALv9KtXoX0S-dKyjQpTsdxv-33x6IbWsN7Cp5hJF1yVaaLCQCniDaGjQzhTfK2WsPg8ZuxNns074OdLwMPQ4EsyAnY0rLLjyHrTa2ZbOxcFCY_r6ichJlQkRgVlNzjUxivoIWz9d6y5ri1YBlg2oKpAEBcsjafOdb1NmyIIQCsvMCr4e87u72Sy1s8FOcuNxX4pNyTvsBx6dzMoSxL6sm_VbJS4CR8lgSXNbsac1qs3b0Xy8q2EeCwHPR-f5Vht0j8t1o6UasvJ2JLr9czIVltUteE4PsoGggOJQH30yJycN8oQ_6HtrUzPYBqthiQQxO37HSqTgRWV5BKjojdoGdRSgxNy48cZFo95Qzy1hKR77sIMA3bg=="}], "role": "model"}, {"parts": [{"functionResponse": {"name": "get_book_info", "response": {"output": "Title: Mistborn: The Final Empire, Author: Brandon Sanderson, Pages: 544, Published: 2006-07-25"}}}], "role": "user"}], "systemInstruction": @@ -89,7 +91,7 @@ interactions: ["title", "author", "pages", "publication_year"], "type": "OBJECT"}}, {"description": "Look up book information by ISBN.", "name": "get_book_info", "parameters": {"properties": {"isbn": {"title": "Isbn", "type": "STRING"}}, "required": ["isbn"], - "type": "OBJECT"}}]}], "toolConfig": {"function_calling_config": {"mode": "ANY"}}, + "type": "OBJECT"}}]}], "toolConfig": {"functionCallingConfig": {"mode": "ANY"}}, "generationConfig": {}}' headers: accept: @@ -99,28 +101,30 @@ interactions: connection: - keep-alive content-length: - - '3394' + - '7776' content-type: - application/json host: - generativelanguage.googleapis.com user-agent: - - google-genai-sdk/1.48.0 gl-python/3.10.16 + - google-genai-sdk/1.57.0 gl-python/3.10.16 x-goog-api-client: - - google-genai-sdk/1.48.0 gl-python/3.10.16 + - google-genai-sdk/1.57.0 gl-python/3.10.16 + x-goog-api-key: + - method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:streamGenerateContent?alt=sse response: body: string: "data: {\"candidates\": [{\"content\": {\"parts\": [{\"functionCall\": - {\"name\": \"__mirascope_formatted_output_tool__\",\"args\": {\"author\": - \"Brandon Sanderson\",\"pages\": 544,\"publication_year\": 2006,\"title\": - \"Mistborn: The Final Empire\"}},\"thoughtSignature\": \"CiQB0e2KbxPd5CcgC9zS8b7AzPNq8pz0867AHxTyw6Yix6DWVcIKkAEB0e2Kb+eC+j42kuMItXhim0bzPE+OqwZJBz0A3zKkglsPQbdeXoJ5obPyMPc4gevcQ9jQaOdlr/lhMHNgkmizpvAh+c7iFhsvrkw6IywuRyPK9GfeRzRmyf46kvavuojU10AEx+uuQLK8wnSOlnC1Q4Ib7X+GaGU40jwWEe3Ll7mXxTl8yWaLh3pIToGTbJgKxQEB0e2Kbxw6vIpvf5tUADHcLxpQxYzaFYb9bOWZqADaNydtRqP4P1xk5FnkSIbFM9IED/fsFucDW4Fu5I3pddXHaMh12lj60QDCN9GkW8tJXgs7TMO03EusXJ7yw/Zsc1TEEK/fZTr2Diu6XDbLyh7Qdwx4lDffSH8tyHFfp6YM+amdfxIpir7KHFCEyF0kASmwCv+sKsmB072Lh44rO0yz+whkqomKTuCaO6mllG3WqgVeDFAceu05KeRRxf6DhrAYxNwkxAq0AQHR7Ypv/dYlbtJKIS2ONQjSh75NKkRvhApys2cefvaelAq2YKpIu9jwkA3ttatC5bxdP4m0UJVYMeg4rZ2JBK6faeNUP72EEYJ+/aBgVSGp8JV6k6rFSRn2vLprNbW2MSgJFvV5IfD4GYr7SnwubBbBAO+O4kggX73dtStZqFBdZcHBcJEJOca5y5wI1tB4z67ReyACerA2IGgNugkURuEVl2SEcb0iQMbTyjF0j3iALXA4GwqcAQHR7YpvzAGWxZbeeaccd/8yrZB4t3GAtvJrjLzzfrWlv8MwPw032D9G9qPuOk5uJ4Eo4/8xs3KiHlFPmz9ZilprocIvA29e14p0zTfMDJ871ziguencMuH+c+3CPjwRT1VgL2LsagCNlE5EHeIEwdHJXa66zsbapXsUrEm4xaexwJbUGviHuPi2tnPtIARsDLz0LrQ4eUI6oLToWgrIAQHR7YpvtZdm771GMWr3vXftgAUyLB4TRcp+L6gEwXKx8GVkUNqn4F7vW9fUp/k1o4mixFFllpDnzLHLMI6kdKSdfQE2zuQnEl8dH8AUhEOiRPWttzaClr4XVrUH8Z10wLgKNbzpk6h9A6RwE3k0Od6pj1BSVwh/lxgWNC2CUQiZEMtyDvWZ2cWUeuZphDbzMcLDf/KMUsvuUqBfQ+2+miCwaqXcvgrOWIK4BxFD+L26XjkLyoU3xfkKx2wuvSim1tEvQ7gI9fwH\"}],\"role\": + {\"name\": \"__mirascope_formatted_output_tool__\",\"args\": {\"publication_year\": + 2006,\"pages\": 544,\"title\": \"Mistborn: The Final Empire\",\"author\": + \"Brandon Sanderson\"}},\"thoughtSignature\": \"CiQBcsjafM1yzrSyo+fPAiFugScvwvVMFP2fPdQMuXoIBl/I+YsKbQFyyNp8STOmWzZ4z/utfTJED3FSAgADYVmk2jFkG5avwcpEdJC2O6PshEIz8CV62M77ldQcpjifGBquieINnsQPH+k0lRa6m3qKqZUeXYTnGGxlbt9rPo/GhAOMPFUwkWDlPiibw2JLznGtx6wKrAEBcsjafAGrTIPUekfGfNmu5d8XT8re8xDbtLOmAzdd6+xFNiBYxbQqobRE7BnBc/J33Euv0ZpUW3fntMPhG3D3NQvHQ9kYJNKGjLkcEwGgTNNWuPWPReLRa4ALM17DEZdKEhMLvhp1fhm+ZoYSPoK1py79xaQcOpbsZXUk0Go560wfGLzjGb0kKh8N8JpH5xBTMJe+ISxs5hGCaqaD2i0B1TXqsFV1wclEnDdFCqoBAXLI2nyFauTkl3PpIij5TpZ4OidzNUyYqkPAvFc8XwQJA6xyM1DxyC98w20OBBZjaN8budcmtj2coVpAzSGnq+KZJ3uomIDWXTjxkJYZPNwXE6irS7ABXK+RvWjOkn6+ESgXHcah1lUwck2HmqsWyuw5x7meY9miOF4h9stKdy5cQ4KSbSpMfr/OiIp49A1n+ouY7WJpdYpSk6MwiV8n5x9zgqEO9aVuA44KmQEBcsjafJa77jAwjlMuJ9Ihml8imNjDj7ssM5Vd+dhyIJUMhPMYEoSpwatokf0Tzac4TL/UAkprWu53MJdngyogfagKJ1iXXzt9YxX/IsvE0n7mH/qltsaa0XgALs6A2fv7DvGNkg3u8qWvoar7w3UguGkFTySfwif5Fiqf8frx7pIhh9clAif5BtHLKZBw/YI1muotz1FQHUUK7gEBcsjafACkzqpSefo2optuRV/4TesQx3ef6JOMSraan12M9TwEj4827Vr6tp/VJSwOF3I6yVKC4PbfcOiFvyURH8kJ7c4SzJkZ9gjGubqGisSW1/+FwDcWEAeFEpANosncgirtl/Xl4DXBcdNaFcki7AUTFEO3pKh0TX3KSmxZXFCk3NCEv00rcczHrn5GHNGhIzYPmqZc/pN+D5gEvQrrD8G4g8rdzbsAYS+YZU5zIm7KF6AYCrh7ueWQjScV7PZsP2Acu4c683A/oTg0ud38A3mIU7FGpIM+0NSfMQcHNK0gU4yFbB7u74PeiWvICoECAXLI2nybIsckJGKz9eHVvuhBTLvyzLFSLTZSVXIJN6oiCWA2hr5VfkZmMHfUdLOFGnl+nRSWiOK57N5Rpt/dBsZ4qOqBpbdFfuRxFdvYjFwp1fd66V5Ye0U2QMB0g+yTOfZ+wqMXDylC7wVDtTvihAllUMt6U80Pa7RByaiiWikYzf6dWsish0LmNeMAgfPNxqi8qxEXk56ng038IDLHPX+Xajptb0xUY8grQIkF2rb00Ga1c3rx+2DF+W8pWVowuI0T1+CexFjylQydaBDwwpWTO/+3Yxkq8G3C4qA1iclNDzhFQh0dOTC56gqdDpkksRngPW5c9g3dY6VINP8/rzIKwwEBcsjafAZRFFjNO1fwpApdeHZDTltIsIz5k17++PMGopCcXFuoBp9J7EWN1Om5ytJUyK+zOiHa9NT3Of5XadXcIT1yYlSbC8AwnQfjF4mdi9FWyYhnQ6QiOSJASjuNHhsaPRA/Kok5q0m82rw56wHrbZenXMy6gbUA9hlDEx6WtaXIkurtf3iBqCSp7vZw8BavG6HAINq9AGUqUasGOE7zJODQiYJKh0ZlLjWkhwZult1ybLX+vyPCjNZYbx4tkP9CG1Y=\"}],\"role\": \"model\"},\"finishReason\": \"STOP\",\"index\": 0,\"finishMessage\": \"Model generated function call(s).\"}],\"usageMetadata\": {\"promptTokenCount\": - 564,\"candidatesTokenCount\": 49,\"totalTokenCount\": 821,\"promptTokensDetails\": - [{\"modality\": \"TEXT\",\"tokenCount\": 564}],\"thoughtsTokenCount\": 208},\"modelVersion\": - \"gemini-2.5-flash\",\"responseId\": \"3nQKabyPDYSsz7IP_Le4oQ4\"}\r\n\r\n" + 1256,\"candidatesTokenCount\": 49,\"totalTokenCount\": 1605,\"promptTokensDetails\": + [{\"modality\": \"TEXT\",\"tokenCount\": 1256}],\"thoughtsTokenCount\": 300},\"modelVersion\": + \"gemini-2.5-flash\",\"responseId\": \"eZdgac68H6PnqtsPv9ypkQw\"}\r\n\r\n" headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 @@ -129,11 +133,11 @@ interactions: Content-Type: - text/event-stream Date: - - Tue, 04 Nov 2025 21:49:19 GMT + - Fri, 09 Jan 2026 05:51:55 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=1947 + - gfet4t7; dur=2035 Transfer-Encoding: - chunked Vary: diff --git a/python/tests/e2e/output/cassettes/test_structured_output_with_tools/google_gemini_2_5_flash/sync.yaml b/python/tests/e2e/output/cassettes/test_structured_output_with_tools/google_gemini_2_5_flash/sync.yaml index ea9e00aa66..07bf8b1761 100644 --- a/python/tests/e2e/output/cassettes/test_structured_output_with_tools/google_gemini_2_5_flash/sync.yaml +++ b/python/tests/e2e/output/cassettes/test_structured_output_with_tools/google_gemini_2_5_flash/sync.yaml @@ -12,7 +12,7 @@ interactions: ["title", "author", "pages", "publication_year"], "type": "OBJECT"}}, {"description": "Look up book information by ISBN.", "name": "get_book_info", "parameters": {"properties": {"isbn": {"title": "Isbn", "type": "STRING"}}, "required": ["isbn"], - "type": "OBJECT"}}]}], "toolConfig": {"function_calling_config": {"mode": "ANY"}}, + "type": "OBJECT"}}]}], "toolConfig": {"functionCallingConfig": {"mode": "ANY"}}, "generationConfig": {}}' headers: accept: @@ -22,64 +22,48 @@ interactions: connection: - keep-alive content-length: - - '1115' + - '1113' content-type: - application/json host: - generativelanguage.googleapis.com user-agent: - - google-genai-sdk/1.48.0 gl-python/3.10.16 + - google-genai-sdk/1.57.0 gl-python/3.10.16 x-goog-api-client: - - google-genai-sdk/1.48.0 gl-python/3.10.16 + - google-genai-sdk/1.57.0 gl-python/3.10.16 + x-goog-api-key: + - method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent response: body: string: !!binary | - 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 headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 @@ -88,11 +72,11 @@ interactions: Content-Type: - application/json; charset=UTF-8 Date: - - Tue, 04 Nov 2025 21:49:06 GMT + - Fri, 09 Jan 2026 05:51:31 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=3517 + - gfet4t7; dur=1575 Transfer-Encoding: - chunked Vary: @@ -112,7 +96,7 @@ interactions: body: '{"contents": [{"parts": [{"text": "Please look up the book with ISBN 0-7653-1178-X and provide detailed info and a recommendation score"}], "role": "user"}, {"parts": [{"functionCall": {"args": {"isbn": "0-7653-1178-X"}, "name": "get_book_info"}, - "thoughtSignature": "CosHAdHtim9mE47HWgWCjnoJzbYluxNge5po5P-vN0Q_Ut9qVG9Z222aiwhWTKHVu2vbFPgfw-Z5WfEbqAqOIe5evooYCXlahKJvih7N4AuOAugEaeNMZiC1wAJSG4EYU4uIzzb5S1QLtxCjoEwTyJgH6oXnQ2q-tAt0z99lEQfq5atykzxp3c3tSJFneptVEn-ZjnEWZEgyBMmBORSGCZkXCrnS-ZNqHJFDNnVZTmyuAKBqFVQm-un7TXzy0xnRXasxxqJG1sNffHbhkxteNxyahz6au83wkZfI6zRbNGdmhAnTsqM5ZpY_21TQIXOkz6nI4i2qTze0cX52zOAmHYJbfsWintyKjabdujnLG95PYH5gDUDL_izy55LWU7eBNHFolIj2ysPyMI56bjALYwNci8tzWPFvAI5mmMMG3f6ynZH3fkyahxcA4ugtRuYZJ0ifFB1DBli7yX6ekvF-LZmS0gerl5R7jRb7NKPpwRU12ynqNIHHe70AN101BU-a5I7icT2kNE6M45s1vRQpv5ORoSfLxNvnFBMoKldWw4iCU_mQE2JchYaQw81yWEgww6MGE6cBYH5YFr5kY4cG3sdq_3U0L9DCL4wzhtfuTXRjD5BULpp8WXZLgL11fOSMjET5rKP9nUO9Azv0KLO0gTR44ayc_K3x4sLjmLU5C_TD0TjnRUWcnwjPWyRZISz1f6evnS72PwMDyIZXQkaa38gHHTci0CXWTe2_WJJqkCeyZgpb8pAzuL1RW23meR7tjXLkydUF5QbwzUAT-vxvSFoO1cpQLzOQZg8pn8fgczuxiEAFxhPBlSC3bynfFWasuWofODWtwkLmuwT-gFUIGQF-Q-WZhXNb6HUE_Mc-ClGvr9dlgyBDcLuOVYtYkBfQuI1Ai-L9vwhwci4qgyKHNt_dPnKyIDF5N-O6VI6ELTaCGwEGR-js58qinR6Zs49kEQbX9r8A4MiEKbgJ3rrQxI-8xIpc4i82nrjRY44U8KOEx5kiFI-FU5JpltWqyV0bbmS3wi4QXKXV2qbSwMEX3t7hR1nDIAJpa6WIb48AMIbL9PzmzDPBUImAgXq7I8kWDZeMHV4SoN_7OiPSzSfE9ztYDEp_hahJFWaYo8uKSGq9tx41QecXlSiidKAAHJ4sP_gQGAtPhATw3PVQsleLdPuU9M0zuZ5ObTQ7bba6m5Y-yNkd0CC9zpRxTd5WSgqSAQHR7Ypv015-X9O0Ww8rAHJ9aUJhXzFcj420m0FZGqU-Udn4QKeJa0xFHzanboyZgb1slz782pWaaR-Iuune_J3wQetXTlMWqUSSg0QYss9SRlSPZQlWc8EDJlITq_SZ5P1bzlE48lvCbyrf8WahBiFKTMXC4tOKYN-EEHpnQazqjpu5ZwBzToOswxBhhO3X0R42CrQHAdHtim_8xsndXe8KeOnarACV0rLsoIbDmXu91WIZyxJGELvrvr274A91cc5SuZXaO_gTP0Px0WInyKNjE_37oEv_tY45cCPLoGRKZSqpl3aNON4scBWXPAfqdLJ9Q0rohZMzd6_Z_yhE3EHpROS4KbRF6p5Z502-glMnVS_ohMfMdoVGIcg7u32q-Y5qh1eSB3eAkXL_s65m2j13fidXiMSUWAihiNHDFv3T0WD9zIjkOb0gWk_XmO4MBBfRix-QA6ZbbSwQROqWcjIKqMi1IZGOaWVNir0kipphDqzTPejEBnyWA2Qk9YTIFVn5VDn-IAVujoDmlDyei_gcdYSWYGocZSCHMhkSz6W2Ej1PG7Gn7GVJL6LEUwBAYlDCsJvbb8aJVLbKJA_4Q6E4UEy-NwbCOKxxczwhpLsFxLJklh2I5-Vz_omB_1Il13jZ7fYnSrzZfTkVL-i1MYdJA-8021NOq9L6QT63hWR1tdW5RveCiHZusByHf9wcLYfry8QB8-Zl2v4tz1II2OQkPxMhxW_KmAIETD_m2cIW4l1qCt5uWd004jV5e-wQnMalAZmKycFkrx8_GhKsx0pIo0yjjNpHJX2agJSLbCqUiCIJTzOCUuOCRY_gFSRLCoKY2569KWqXBHSfsCNMFCfvoWtNjDt0SX01__bZm1tU_XboSpGI0l6N4_5cTWGurJk7OHzbpMsKBi4aQ0pvROS4JZvTBIx-Rlx6LHxG8oCJAofv1cSUdul55XXawITmXCUUqI__4ZnEndRFa9cMH7RP8fjGaJjvf-JBfPyHXWY5v2xqnVh23ZODqXG0IdeTFnVx7w936NsXET8yZe1JWEtASgQraHdFPSy9WvuAlLgBEIdpFxqX3krls3Ew07M2enjKHOQy9IG8QAl6qgcp8o2pR1TRq6m-plWZ0biOsebZwadHWFbj_7AXB3VKJ30egke46OgVzZbRoVxbh5JS5vsCdbbNmGayKTxnc2vyrJzqWUVBLO1ZeONcCOjDR5ZeHtJGpsnyuMqKxP60hHDXLmmjIVwnfT0ZYuc9RgdwIyhBDFtxuhxRN4zJ685XMtI86Yyio7QiLbwlXBkv-YnTbHo9YFG7wDbb8HdvDbtVRujZ_9tK48iqsCkkgTqBNGfaB8N8A5DmlQhunlZ_MjZmHwPdqBCLGwPhGyMPg5AQ8cgOs85BcTBEWggPlcVk5esrjls-botjmfNa92zev96-hL0JP_ULb4yMRudHxMkbTloPEvqtLvEloXXA"}], + "thoughtSignature": "CuoHAXLI2nxUX7aWuXCZWvercotqX8lkJHkfyhqSPmD9_k_fhWbOUX6ExLRqcsD-ZhL5tXnhW9vnefg_wK_m8a9JRuIMHX5-6OenMUku0PAP04JXGpdEtU3PykglQ7174IJrFNV4mCEW-5VyPGlqHZ4YkqswPPMyeoIckvu1M-LkrSAgWGHv9jaNYG3JlvCpXvhHomjv_o8KRatFHh495cQflqAjaYdVAcyD0DPuMiA3Z12PkFz2T-qIgZvZI_7n7qMulF5UY-Ra0zU1jO2FnD-cC_7w5xvnMlrqTLdWM1BwpjzANkOtdZTyqXAkn37FUcPop6xKzIGMSw-apkDvn8cjNKQ5cd_qeIuI0WRSebU0Pei8eoWa_B6zD-56PxbxLIAWHk2Uj0M8c-Ytf8_DPANjXjjYHFMRhAo3u-oHkBcXBvMifuoitOv6okjSmKppwkPorn3AuGJ8HMnqMSYU7jGilmgRw6U-nNzYsTBRjFBvqoxvJIyNb5blTHJZ_q8ju4OSztbX3GIKNMKAAALrqyB_f3FxCFraKSHjgiVEqiHSFWBbG3xBEzd2pFtw0Z5uNsYkzIsEyhE7d3XpGJi_1vK7cHtcfXufV_mugsi3a2JsnqDuoecJgtcjFL2XnU0z8SI9LchKncnMNgUBSPWHersFLL9ysHqNJtjzN_1Ng4yi0Qk8oazWG2_cheDmiPOiXLeT6D1AvRZkMAcDZXQ23v-zFsGyAOAFqx90HKRCY3SjT1lGpIL3Agwtn5uBy4m_hhxxVk3XmdCw0n9UwgC4MCKLnqKyD7s7TyT8T484TLkxi5uOn_Ha4pzGnSHnLEFZS3-pNGN8yxfBxPaUSFhxH_EKWhesYTxUtqICRmcok9pPF0W52KmqF-ureJONaIypQfNc6H1OWx2flJNQ0KJ_EQH6eh9sH9PrBTyjP-hwTwzqQ3K1CtHxIK1Kef9xU9rttePdXPSkXRxuu_dAmEmiompry2odcBVrr8rOwSpdGC7BNyPAU9icVc7RhlLySOUGY_tjZY1DdlE9MEKooVohG-wE0FlC6TkB7S0lO1ZD8ydInZBms3YPiGv_lXnbijgSTJX9VsMTxPSMDRNYuFWEE7MM4B9KnVhcfKIZG8S3cymtOZzKx9ZnFANCVsO4kBS6YoFFwwj4fvczQqDK9Rz8__sl8kGV0z3obIGgLzsZVWjdVsAl_DTycaLa2ByXLCcsTj0fP_Z0O1NGY9qMCg6DzIT8sh4VyfKima0vefSkLKTzy108Ej9Rjy9es6zb6aL4PPor6wTrFoks2jLnmrBO0eXadWNIER7WzpMJiYnetODvtQ0s6T6TR9Vr7fe3"}], "role": "model"}, {"parts": [{"functionResponse": {"name": "get_book_info", "response": {"output": "Title: Mistborn: The Final Empire, Author: Brandon Sanderson, Pages: 544, Published: 2006-07-25"}}}], "role": "user"}], "systemInstruction": @@ -126,7 +110,7 @@ interactions: ["title", "author", "pages", "publication_year"], "type": "OBJECT"}}, {"description": "Look up book information by ISBN.", "name": "get_book_info", "parameters": {"properties": {"isbn": {"title": "Isbn", "type": "STRING"}}, "required": ["isbn"], - "type": "OBJECT"}}]}], "toolConfig": {"function_calling_config": {"mode": "ANY"}}, + "type": "OBJECT"}}]}], "toolConfig": {"functionCallingConfig": {"mode": "ANY"}}, "generationConfig": {}}' headers: accept: @@ -136,46 +120,47 @@ interactions: connection: - keep-alive content-length: - - '4130' + - '2788' content-type: - application/json host: - generativelanguage.googleapis.com user-agent: - - google-genai-sdk/1.48.0 gl-python/3.10.16 + - google-genai-sdk/1.57.0 gl-python/3.10.16 x-goog-api-client: - - google-genai-sdk/1.48.0 gl-python/3.10.16 + - google-genai-sdk/1.57.0 gl-python/3.10.16 + x-goog-api-key: + - method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent response: body: string: !!binary | - H4sIAAAAAAAC/21V2ZKi2BZ9z68wfLoddDcoc0f0g4iADKKIoNy4kXGYQWYOClTUv180K6sys5sH - hr3XHs4iYq1vL7PZ3AOFn/gABu38r9l/p8hs9u15f+TKAgYFnBLvoSlYgQb+wr5d3z68T5CwKzyY - lMUaZNmn4h/5AuTBFJ+/vuZJA1qvrILXsGxyAGHgv5YdrDr4Cssye32d//61GDRR+y9Nn5tFz1OQ - BPG1asrCBGbPqVrSQrdsir9mZhzMhKQA2WyTV0kT/GPYo2nnZokHHsd5HQLQTB2WGEb9CxJ0MC4f - +TnXTKSWxew4PYKmLYv5F/T3T9/fPzebT226KIbHJCoA7Jrn0usbJq58CSY5QutLu4WyZ2mW3SLh - jW9Jh/AuI3/1NvJS3ICSPYaRvFfFhPdxAS9aJMMWbD2xW1175Xgd2E7aSqjQLgh7EENjL6u23u8z - dg2ZbrwX3EDFmBPJR4NECdUlDm3OLcZudLZs2kgI7w9WQm4QSQj3GcFy1gDO4dk/J2d/T9JD0xn3 - DkN1lqbsO+P3gSrnZeL7q44AR6eJuUMmdgrjIW5/9FcEvFnZUF92+M4VN1S2RUDmGQjF3ZCTvqAQ - P7M4KB5GYahWPBLul9VB2eSFHsjB4GISvlLosGIhKy7bwhspE8bBEquNnF41NmX5ZAdzdxUyGTXu - hBJPbOcCo/qU10VPj3zMd241ePcRvVVkkveibBa82EGlVgzhgvOZVW1jwdz0V4wy5TTAHT5o/E6i - Ul3aWQQMc9W4BxcTXNGFhu/MFCUI0q4qry0cN5aDlRJgEV7nFHnBOAKniUub4CU3tIexcXyAi/gZ - 62vteGLqtSNxm/OiUUqJOivWUmXWRQpoedvAG9aQZwbyRJ4jtS4fh1tyy1adE3FXHDLXnWt4anO/ - 7ffsJRrQa2EmWubbMSz6gRftcMVFrMj7CRpKho1ItiHUJyINjlynNoiExFKx8AN/MWInMtFxRsIK - 89RXaeuiNZ2Yi3JwFDQn7NK0JbevHa6OdDCiylZXjg5qUUslblcjh1aicyN2kUcTsZdsxV6XxgiA - YZDQIdqVYowTCY6ZGln5CyeyTzy9K4VtyKCxMRrpYV1ceoqkfSxJbXW/FoiMRa+9RGQp6wmWgOac - uljnkSCWleOvKFlhMNtXpZxWzoKy0v07a/KUkUmLk3Y5dR04HgX2hAuutXDpwbzmgdh0rW6v145m - 5tUmPRH1ORjTqNAMu7kCmMpZ4w1wp9aL3Geq3dUQb3YU2cHO2CT+PdK6KnbzvL5FNEHL/I1c7yVk - iPS+Po9p6inpcJMajGVP3GJ9PKG7bsBXFJNxXBIZ2yrY8ueh2FeOEycrRAnV0sqyHFRsjKu7fXhw - V9IxNNiMb/CNzSHsPeVrU+wiIZI7bSs2C0Tbq7rPA0wmqwqvNSSbVmV6SekrchDLsDhBlzyt+nQr - rVVRJhsM0pRQkB2x5A5tVAaofmHWXYhFMDMxd2EYuMYh4A6suAx5RR9368LiD6TKTToo1nVzSXHG - FitVtDdGW+bNCOU7sjn0qpYlToUAS8OZZAA7LHM5vUF1xzJ7oN67Uk7bvz+q3S+l+98vlZs35ZsU - 56UfZO/wnzI4D5MiaWMjAA/pnGBHU9//1OZ5MolqP4WxL3gtaNvJAZ4S/+g7i4IiaCZn82fvhjTz - Jkf6T/vbn28zH8s915p3j0otgGByQvDTXeZVU+YVNMtrUKzL7umES4p5m/vBOT8BCPZHHpYQZJ9S - JE3//o/GLT+NTbKPlvrBbSeGQJbA4XEqc3M2P1jUNODzXu88vnyg+91M2i+HwF5+EP72D6zJppI3 - sqMgn+j8Y/kn+UeYgTZ+Tpw3QVuVRRts/QdmIR0U4BX2tt2XI73dQ2WJ2Yf5y/eX/wP8RKpjVAgA - AA== + H4sIAAAAAAAC/21VWZOiWBp9z19h+DQTTLfITr8hiCCKsojCxEQGywVBNuFeWSrqvzdmVlZn1pQP + CN/+HbjnfHuZzeahX0Zp5EPQzv+a/XeyzGbf3q5PX1VCUMLJ8WGajLXfwH9i33/fPt1PITEqQ5hW + pejn+ZfkH/7SL8Bkn7++Fmnjt2FVg9e4agofQhC9VgjWCL7CqspfX+f/+TXZb5L2N0WfHgSvVfMs + vGqmrapyZk1/oGmr8v/KPBdBQZ6G/nPQ1wH4z0QCx5nfRMIU5m8D79MWBlVT/jWzr2Amp6Wfz9ZF + nTbgtw385A1VmqJ+cX7/8vz9a+582gIlV2ilSelD1Lx1FpGwES47lSh7a6OSyS26mSaB0RQZoBvu + ge50W3TJGAyQO8uFjvLqgHlH5rxY+VeKv9GKrvJAWBkqOGh3oYbpdhGHOhcmN2pvWsGaX1xyrmY0 + vEQxscMYpShLzGjH9A6L+F7LENDZIjDvYpbWiVbg9mgGR81SGZXc1UV0dUdb20GIb0yprUXDUI2j + JcsujpWR61XiEm7hlmZppxaJwvWC4ALSnclhG4ep8GAdRX7cbvS7tO52nEuMrWiXgGwHbMGRrl9r + bCMGfT3ua+wAak7DiIvCYgbUKOvuEFRNxoaGA04kt72pUMjpreaQoY20a9X2sh03WcBovSGBHctk + xO7kOJ219Lj6kWDU0T45nrCUXZ5wlAHtW224xhLGH9jLSq5OPe86aChbqqzK4exvR/mWkjGSeJWp + N+KKY+0aK86H4GqVlUPcFlh2PBeLtd6dh4dddN0w9s2FpnRGuiq8N0a3LnMNUcIamV4dL+MhV40R + 9LYicF2/XlrDeZDr8xqyRt2FZ1puULAK75xrAGthKxIsQGeOpldY+OESISFfp0FG4Eyx3EZ4zhkV + s2w7sLh7gmJgmcSOGkrEJOoOoe00cniiTgKKt4dT4WgsLY95f2QYU48e+XhfG/vHsJEXD4kVcHKB + Y7GnS8rDI49xEV4fC17C90g6RjyGr/ZNs3W8Yg3PaNWjdCPv8bNcQ1KAkiiA7OId0pqLEH63IktQ + PKn2M0U81Ipp2CDQr5d+k1gH9+Fh9+v2sLm5Qegu0J0YyMB09qSwjzrSF9elL+c3cUIs8OhHfY8v + Mc9oflkHBsVUj1KtCzY+ZoRqKvHu0C8Gz4uCRM3PTbjlxyuwODMMnSYi1GojW9rxuF237kLFtgHX + GHgXkeYjO2/2O83IabqWHZpupsPUN0xIFoSYrdjUJ7d8xotCYlDezaGXEj/i9mlTYQoxsgEUc1Uk + T3D6eHAbGYDlH6gcd9eL4u+KFklk0V0tdCTZMi2XqUJk7rLRaOMWxb1VLfNuGSZkyhHx9U4kvcju + K4+1zsLS71x9JUkgfiC8kyCvLW3oJPiObS+aLiwD3d1SrG6I0dFdM6NQbcomMdahTMVD5k9TOqhW + AeaqTSK7QXtTFKzPl2gMLFzE7UWE9E5cS7pHFf7lFh1MR2QU/lHJu5OspZytGdl0yOqNLpluQkrb + xLZAGsgPYqerF3X+8jsG+98/7DVvqneeLKoI5B/hP+ltHqdl2l5N4D8ZeQqz7MPxJ3HO04mr+8mM + /xK/B207Mekb/z7rzhJQgmZSrGj2ITSzcFKaf7X//vO953O4t7Hm6Jm5B9CfFM7/qRrzuqmKGtrV + DZRihd4UjmC4976fFPFLAMX/8MMK+vkXF03+mPlz4Vaa2qb5Z6n8pKITQn6ewuG5lb2+2J/0Y2rw + da4PHF8+wf0hEl9nJJbkyw/A39+BM6lf+g52AooJzj+IP+k/4txvr28d5w1o66psgRo9Y6YzlPjx + QKtcw95he+TaeKCEdv7y/eVv9wrlFy0IAAA= headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 @@ -184,11 +169,11 @@ interactions: Content-Type: - application/json; charset=UTF-8 Date: - - Tue, 04 Nov 2025 21:49:08 GMT + - Fri, 09 Jan 2026 05:51:33 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=2401 + - gfet4t7; dur=1640 Transfer-Encoding: - chunked Vary: diff --git a/python/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/google_gemini_2_5_flash/async.yaml b/python/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/google_gemini_2_5_flash/async.yaml index 270bfafcd8..b9e84af3af 100644 --- a/python/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/google_gemini_2_5_flash/async.yaml +++ b/python/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/google_gemini_2_5_flash/async.yaml @@ -12,7 +12,7 @@ interactions: ["title", "author", "pages", "publication_year"], "type": "OBJECT"}}, {"description": "Look up book information by ISBN.", "name": "get_book_info", "parameters": {"properties": {"isbn": {"title": "Isbn", "type": "STRING"}}, "required": ["isbn"], - "type": "OBJECT"}}]}], "toolConfig": {"function_calling_config": {"mode": "ANY"}}, + "type": "OBJECT"}}]}], "toolConfig": {"functionCallingConfig": {"mode": "ANY"}}, "generationConfig": {}}' headers: accept: @@ -22,75 +22,44 @@ interactions: connection: - keep-alive content-length: - - '1115' + - '1113' content-type: - application/json host: - generativelanguage.googleapis.com user-agent: - - google-genai-sdk/1.48.0 gl-python/3.10.16 + - google-genai-sdk/1.57.0 gl-python/3.10.16 x-goog-api-client: - - google-genai-sdk/1.48.0 gl-python/3.10.16 + - google-genai-sdk/1.57.0 gl-python/3.10.16 + x-goog-api-key: + - method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent response: body: string: !!binary | - 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 - 3Nff/v7b/wHdmsHsqhAAAA== + H4sIAAAAAAAC/22V2Y6jRhSG7/spWr5K5OkYg9lyh7FZzGrAeImiUbFvrgKq8Daad4/bnZ7pnoQL + BOf/z8JB+urb0/PzKAYwKRNAUjz68/mve+T5+dvj/qohSFJI7sJ76B5sQU9+et+ubx+e75ZsgDEp + EZRB03xK/leH4Jje46M8JV8jhOqvJczQ6MuvNtDn+H/S70qJI/hagHrhOZZ5mU554WU3+sX3/dP7 + 98/lR6RAQ14Qv8whIEP/mEduN6q0M3Uanh0+NTSlQ13AJLLGZYMdikZdg35D3+yEOlqXFdnbZ4FE + kqbkxoLVoY+DGeuUs8liJk9OoSmthDkrjFftrPbSGY/IYIRoE1+KqMek9AS1CpSbMmwkr0+b25hB + mgQFHfHOdmCTTasnh07z6ladm+y4a5tiohfJmVUCQ5aWYt3Dua+cXGeuV66hLfNZBJF668eojEwu + 8GMs4wVPrnm00qitKFk6nCq9IOyu4g4DyWItUmVzn25Mij0PApOqHjNuJHG3OlC6ALbekq72Ds7w + whiOYA2BnZtMILoLb5L7jcXIfVIwonOGTHzXC+iq+5AXaEz5dJIWp23mUBuLocg+pqgu72MnMKNj + JAiRLRqaZWR51cKeOU9ir92hFePddsRY1hTNlLS7XcOT22qT2KpWMrtrCUfCvU6N86gS96c07jCt + uw5zJew6J04nyapn7MKL77rdwuStfVZwy+wyTIOztw+0te311S0z+IhWutbO9c5bBCjAsynPeyGU + ndNZu6xxThU3a8mVXAztbm5snF3EXcWmEmQXpAl2IscajmGza4VojeEQDWkFVNvttcrZurbDX5VQ + ohWM7Umpbrl8fwtNsLwKliaiWp6MN/haw4QrRCqutejWRAOQ9CEbW4fDSpktNqiObAHL9NThPRGG + pV9PMgvYzm136vTjwTEEWWiSGJti53drR5xqtlfntb+Mu7M5tx258QP7INLQN3fH87JornQloa2x + NfQNCpftKR8nxy1y8JUBcr5Ws9l0KGjL0yfDJc44dd3TvRnSp4L027wUrNhTgeSmYc1uxgmYgQ10 + TTafyXR6G2R6J5EIplPBu072+T6yKpNRuRN34nnZPq5v5NRoy0gULuDSGXO8dArXr/rTfL6Yq0eu + DSxKXm+P1qQiQhjWeFDG+RBcJqdc4gJm4BTQia5j2tvcO1xUIM/RpoBjUM+u/RpJwm2YGW1yGqub + bQSETcomuRjbU9Y2imZoJqUpYFbTLodoG+8afX7mF0xzlBsCu3SuLorDNE/aTknpikwqrl53U6j4 + xMvGixbZh4uAqFK4aU4rlHlVtVfOQBknHBcrxdt+JMxPuvz9kyyjHjUPkhxRkjbv9h/oGWUlLHHh + pQCjB7/8wHF/cG9UwiS93MPUL34rxRjkj7rWa93nPIVpf0d28vxO2uf4jtrf8O9/vPV8He4x1mh4 + zbRSAu6IBz9gOmp7dGxJgOoUymh4IH4qiG99PxwJnwz0u04QAc0naTblvvynMF7c25bNx7PiwzFy + 3xBoSnJ9/apguQs+4P/e4PNc73t8+rDud4B/nnEqCk//LvztH4Rpj8u3Zefp8b7OF/oP9iVrAC4e + HUd9ilsEcaonr57iUOQgA5nCVsWN111kLC70Go2evj/9A1s3+BsuBwAA headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 @@ -99,11 +68,11 @@ interactions: Content-Type: - application/json; charset=UTF-8 Date: - - Tue, 04 Nov 2025 21:50:34 GMT + - Fri, 09 Jan 2026 05:56:21 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=4721 + - gfet4t7; dur=4544 Transfer-Encoding: - chunked Vary: @@ -123,7 +92,7 @@ interactions: body: '{"contents": [{"parts": [{"text": "Please look up the book with ISBN 0-7653-1178-X and provide detailed info and a recommendation score"}], "role": "user"}, {"parts": [{"functionCall": {"args": {"isbn": "0-7653-1178-X"}, "name": "get_book_info"}, - "thoughtSignature": "CrEUAdHtim9tPAGpPJfMAw_iK0YqsXFJln61JjnLBHAOwVMrA3F6eJbzU1wdn94d25e_puU3Sz8Es6lgmUEJ23P831W6Y8Ozjso3v55YRqwI-Hscc5LPGGXj03KI3zjSxq-wyK0CaBhjUOtF7LKBdbHrppwklSrNN4erZQjsxEsCa0MjWX8GeZGBYazNXsKbOKUSCOfsZeC_puaRh2qSMinfuagUQ_dN1NRvoVTYxH-TYx1YHr56xvS_j0TkT7e772qF5XwiqwZurLcidBen0V9EaTy19uwb6HSBlRGaf5TIWFkFfjVbuXYUBIdjomzxeECphWMRBjCKztvnyffRbVl6OF8Tuo7nQIAEK3Uff9O8S9sQ5dDROLtOHCMW8UNFNVSBcKQ6B7qO_tYLboM6_A-xxr6Zn923HjGuQqQHtyYW60fc5CmJ98T-5IKTlr32P0dipCFeVvfmYxBjxT51EaqSWScdD5-XzyT1cNVj8Qs4oV5A_PLxdE-l3JNIdWhe93LsFs1jJopvazJuQ1vRgNud_mccUP_F4_UzwpTqn5L1EjFMoXh5ukicMfmlpSj3HdiZ9UPfli7wlsYBAEjQnDokhduxf5UZlTjNyS62ywVMUaE5nLurXCyhNGDMCZnNqMWmDxlWItFsN1VPlYGM-4qJw-ZauKsgVHQPapnYifV0WUiGPyAYU9yXJ6Huow5kba9D6auvf-A5kmZ7d6tr7tlD5nnZs-krNK4SjDkYQCohcAXT9fxKRP1TEEOHnSjgWtUevHzx7Vf5uKiPHihVrtxy6j9bQRGCb49SKpIOUKWR32faQF69Pgi7fQbYu-5JnoMHDH2kurDkkhWGDOpXmOza-pj7mlkMh3N_DnmM9n0SMyFfvQ00sd0-nBKab7VIjJm1NVD5LGACAugsUZGmFwe8EqcAItanpC1LjTUZAZwBucLKbPR0jtTYRuvpcEYhkLDSRbUOMdpVVutwTBCkYYL2VWGQwfGNIlFOqbgEs_NNAZ883gvh_rmnTdSfNwmZORFXtm2QAQpuHhacmh4V1hGUI1pOj3IStP5alamtmqbk-GCrIUZrQ-4ujIXcmb4GeWXGXZ07SqhBKHkAB2yzKAgKeQEzQw0y5nPe1R5HAXu3tHgdxF0FoiC0MKpwRPZosED9szi4N4ZXgFY7BSLAZ7SpE40bHDERyAlDGHPJ4TDrZwcL-N6jf15gwz1KDJr_-qsEKfcMTRJdNKWf83vpbUJ3tb6WUGOz0MmTWpK06kXGbjwWNMMELba2fJByqiFlsUJDclKgTBmfSTRTtz3rdkSMbBLgWQTb2y2vnJi61K7JtiH_DtIpngMl9uQi5-zjPpPXjYeCkTrEOKZV6JUa02mMOHMxAK02OQNtrVjq_t7GJvfH7HJJvvd7JFIEIG5WvhyqvgvG8nwVQsfZDq2BvMjgLGuSnxb81aiVKSmQRGa7JXedbQYlLELWMMarNJeBDpuvHhAxPFYI2KRByp12ugpFQzJ21SPi0hIDrzJYulU9QwyfFQLL8dPMPJ3ny8Ok_RaGJ6dbyOjEKNTvUIURX6q9Cx47hNQM1QuulPUxGQLaWiLUSIghgIYg8GoLkvE2WaRiGjTVpmoS57DXhVuZo3ZNXVqnELlydasLdniOBUl2tSDD_Jpv_s8w0qKbJINdaxxkjmInOqsYE83HiwNQcNegLTrfLj_zz1O-czom4ab5-5AlX_AXy_bx0Lz4iv1PJKINVHaQr0c9ONvpymVSujz3mtzBRYnsSBnh4PPZO_-I8md-O5cqgrgEiNWcVUr7NvRsBrN-ClsE9iGMfAyDnVJ5mRlltwuI5mS2XHsDICXAGyQetMV67hAQadRQKiDiRt9gmnYhIqhw31n8OElpHcvl5bFCp83T-5CM8eAqZsV5z3JED4JT0bKH_UIzPIePhZft2iBSx4FwfsFN9JX2SSD8PdjLPpJeVoTRe31APqBOsPKxiH-JiTuK_9F5pUj04jyhAk147MTnDL4vYLAds7GbAa6zQ-DJzC9jwa4k1Ye_9ts8FezxoiH2EpyRj7Ur_TV8_10RgKiTzXkTxEQk7NOMyevQxqEmtSPd8Jm6pQxqpE7TybGsYzZqVARJ0_33gAir_nEB_GRyuqWQWvZru7Ly7HPdxGxg7_4VXOV-pJDc_PnStSyBpqa-EraCQ6l584r_XSnBD74OO668sK5Z2WincRH75SyMRERtFMbxhURUhMvFyvnikWuGANSSYFb_ezcZNYFeXy1PpfMBigwMuTmrs04RcprBpjjwnXahdZBrgVtkJDUee9ZIulE9m9PocvlfuChAkF4by3dsKEuFz8Tf9J2vQV6LKnttVJjx6kcL5kqLp4_Zl9i0w64QxCL3FCixKj8X8AoChNIehkllQqcZPUKtorQxV1NPxDM1Us1ppppdxAHRVLuDLpGJV0mMM4k_JmXoxrCCybSIhmZh4SQRCgFkjH2JKIc9NXX_iawyLzV2hvKCjG7GixAWTgUqLtHe5Zj_Che5ON7_sp00LsnhB-fN4JlY4zuFtJiP6lF-9sQxdBSmKhSo_xujpLWvSF2afINvm6_0t-mFL3gOcGkLKdj71ebrmeBuVvLHhJjJFNQ5z7yxI7C1wm81OggSuZCddnAiyCrMQ6PJ5ZZrRjgMxxxA1ROJVNt6hLs8b7QR1FEGH-Gz0_v4qlwc-KyTybN6nKeZJmxC3XjnHHy54gFmcyDvmN8nz3lApKrlGuWjEalM4bTlB5GtEQ75RYsNxzHvMdQLqb90cZluSBKCxktGWujH8Sd8xeVpZRMZ-we9VuZFyy_rJuw7qq2QKzdiYZqygWrwav_sPPbBuQYKDV1BpuMdNTCzsmD7sfmpLBa0U7jzmOeuQpP5iRqOiTZ422mjW-GirmZxkY_ej9De-qagg462kkFLWnKBIO1-g2Cx9NCW_qx2tUjJj3hAivtsPIGS5NI1jlsL1uaEqnPzfDRsoibRdbIW-6o-DCTvA6BzopptHQalU62vX_3RflvC2jsJV9vCwBT-v_ZpBAneBmzq3p9HjUWfZTiAaiw6NOlItteqopQo0LQXnwoJj4F2k4A5q7LueEhMLrropcOXo0mtLvDUTiDSF4z81BJhk_7BLBXOYs0JhnmOEh_Gb-Tld3iErW1adNXU0reorA5d_fij5IaCx2QewgrLzvdWwjhr0e9W1Ep_yRSQXkXvPttBEAF2U5BII5BuwYUY-qJ209ne-VWJJgOLz5CPPEeA_bIYGG_qkUfamNmJOmNxA2hgQ7TsSGOY9UP5hPt6JzXZiPeMFebpEMmGLNFXUk64TVlt8hc13UwDd49Fidg9smIC2F0KZiDV9qw23H13cOYZjJCxHZs4t1djWDWjROPk_VI7Twgqws-Ts-BHccl-fpFRflkJaEsErAd25UE2fARHct5bBBOKiFf-L-jvTDs9yCGxswNBmrqht_8-vyt1qksqL2Z9WeO1soEBLD5UeNMG_N3jGmw="}], + "thoughtSignature": "CpUGAXLI2nwO7eKHFqoqT3dCH6fuNV9KkkarU2zNd0mMxJtYNw8tbAHFgKD5InSsT45Oi4_D4C_vVLAJ8B58-Jp4kRe47otuKVoUcxhbrstiR8GjTFzFuUARrelz-3oHAn8Io7OWu5dUpIdZqHRkpGBL5-qplh_Ihdw5FTKCAE9krnBSFvPOBIjPKHEg4bnoGzr-oibL6TScsCsD7tygbJH0W9AMIn1Fr88Xy9XsaAM5MtjfBS2lL05wu83eGR3-lA9XJZ0I8aWRE2jYOsfsDKumaQnaNgL3T9PDR_gSlM3Crdh39Own3cumahnPGYV782s0S2dehvWfO0UM30tYc00qgrcOTLbmb88bN9KHMKfgjpnr3w_cRpXoJ3RzXtKEk023i2PWQnvPpH_cMjJC5Xpt6tVYI0-gbj9Yvecqs2IPO3yt5QgtOqACGRKXVxSPPqDL7MYfh6Efxu1TwRYTHQNRrjzfK7b2FqpNgIqRDToTs4177RVnCOvwHxQsg0hzME6i6cnNqBKUOXb6y9lj8CPaedsObOMumVlXp8bQsnubuejaGNPrHjOWPNO7yFVA2FssN_iGW6gYzVLaEy8MH9okC_-Usyknd6h90ckHbzlbuaAIuf-MZZJF4DUokbN8sC21O7R9nViSk_fMaNOzXvqImZOK8C8ldcsL9qSqQO91HNRkgkSEcqwLBNOClSTNZ92nSLXmwEhly2jAoWKWKIUoVEpvg-dmWoOsy3aCgQGf41uh2MRI_uxcf6GQr2rLV2vhtrWgi8McRGaAPeVk5U-da4aUnPL5g4C2ezuC2XAtbne18Ry_YgYbMjL3G6v6v77CNmQztvlHEb98xaxqKBsEOhPSjrvBBDBGm6pTM0CQWmM_jt8VVksuF-guTx_vgA6T3u6Faq9POLNWgRZxGaCBoUhn-ak4yrQoA8zu4Kpdv-GUWba8Ue5dg9cN15NKhlul_iL8s5HHxZbWcXlIBw7D3lmCltnqeBGDhZ1gdpqFe2jt_j6kQq1nFStRf-DpoNZx8o0i8zHOp8igjjpy6Kof68mDJFRW"}], "role": "model"}, {"parts": [{"functionResponse": {"name": "get_book_info", "response": {"output": "Title: Mistborn: The Final Empire, Author: Brandon Sanderson, Pages: 544, Published: 2006-07-25"}}}], "role": "user"}], "systemInstruction": @@ -137,7 +106,7 @@ interactions: ["title", "author", "pages", "publication_year"], "type": "OBJECT"}}, {"description": "Look up book information by ISBN.", "name": "get_book_info", "parameters": {"properties": {"isbn": {"title": "Isbn", "type": "STRING"}}, "required": ["isbn"], - "type": "OBJECT"}}]}], "toolConfig": {"function_calling_config": {"mode": "ANY"}}, + "type": "OBJECT"}}]}], "toolConfig": {"functionCallingConfig": {"mode": "ANY"}}, "generationConfig": {}}' headers: accept: @@ -147,49 +116,46 @@ interactions: connection: - keep-alive content-length: - - '4934' + - '2504' content-type: - application/json host: - generativelanguage.googleapis.com user-agent: - - google-genai-sdk/1.48.0 gl-python/3.10.16 + - google-genai-sdk/1.57.0 gl-python/3.10.16 x-goog-api-client: - - google-genai-sdk/1.48.0 gl-python/3.10.16 + - google-genai-sdk/1.57.0 gl-python/3.10.16 + x-goog-api-key: + - method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent response: body: string: !!binary | - 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 - VmLTk7p8+fryf/VTeq5ICQAA + H4sIAAAAAAAC/21VW5OiRhh9n19h+ZTUZCMglyFVeVAUQcALF1tNpaZaaAGBbi7dKm7tfw86mc3M + Zn1Q/L7zXfp0cc7Xp16vH0IcpRGkqOn/0furi/R6Xx/f9xzBFGHaJd5DXbCENf0P+/b5+uG5gxwZ + DmlKsAbz/FPxv3kMC9TF+6+vRVrDJiQlej2SuoCUouiVMFoy+koJyV9f+7/9WAzruPlJ0y5DU5o/ + +jppQw+kxn/0/AT19BTDvDctyrRG/2t3b8hoQup73bjuyCC453U/qG4I/hm8ZIc8DeH9fK8tgvdC + gePknyFh/GBVEsUfkt8+/f/2ubbfrcPihHppjCFl9eNIWs3NRlvbFPCNrt3N/IxvbQmPahVcLstW + uTWcKmHD57zRULGS2fOZvFzSYXRc6UwPfG5iNavRdXIahu4k3kwj89lUEaeUnpy1F7WsLrG03Lnb + k6VuJXGaCW4hhzrHPAB1O0YDAQSXqtCrcSZDxRxdlrfQdvVMzaRVAhrmqAI2JvqBZXBzhkoAY2nD + ZLBmrBAPU0xLqZX2gqoGvCAgvNo0i722ofqkNbXhvgHm1DlPY05PvHhnAc0R0DHhG+dkkDBU5C2H + MeATEIFS5Zl+9uoBahg8ZHh5dtUBODB9Faicdos9I7lJwlI25qahLvXzgvGtsg5waFNnLEwGpjIN + 0NAJudXAGFUmMWdOvq6V0ZbXd3tfj9WNqMtiWJ4aPqo5T3U5ozicAF5sxY04O7K9Kl5HfE60KzFv + lanJ08t4ctpgNvEEdIO7YFKZzvPOXSGSp0IaQFHY8sQ8eYPrbMTXw20r5EkFTbNZVMZUTFC4scfb + liH7kGUDYSGKokEtg+zzoXVkqACBuj3E57N4HBzr5/wia5QVGp4VV0X09+PM1dxwvDpPs4WeXshg + YIhSexLxjiLGUfMISoKWwmRqULvazZRTSBh6idxyAifYitc+yMx8E26LpvKK42je3ctKhmnKl2qh + NNFVt9NdzqGExecgo/z6tuWpIOHl2szYFFh+blu0ALUdxA7MblN/dc2uwwSqm3A2D3R0NcQy0xLJ + A1Etp0RSbOIcn12yjvVz2r3szCEgTIuOaQ0ssrHJnNNwJAxrZ75WB1a9s0bD+CwQ5o6aCu2jIRuv + qEaPu30QT4e6JYxckOdpmQ81tKhiZVg+GyIcsMbUgNTmxJ62kYW4mC+XJXd1c9W1cGlemme2o9tF + dDkGIT6EhzkFNc+uclApAVh73MzipCo9Sf5oudjuTmMwsNJ4GSWT1gGarURXXiFeqeigtMyWZk5T + B9w05zR3WTdlMLeNoG6PixmYWMudrKt243uYe9nP4wgOwGzp3NraB4Z82q+2amTOglATlkU9Uy8b + el4fbiBDW6Koi/F4eQrAGNhCwVcv9nzvGqOhb8mQcqxVseiJiV/5e/syMSXxJPu+Bm5n1eEOec0P + crmsdvuimi3A1SwcbT4+lSuA9qMdKPh61xaIuf5muJ/Xlz//7D/9TJX+/k+R+jV5E9WCRCh/h3+X + rP4xxWmTuAje5bKDef5y9V02+2knpNcuzP2Ad1DTdOr4EOt7316MMKo7F4p67+bRCzv3+KX59fe3 + mfflHmv12b3SQRR2rgW/O0G/rElRUp9kCGuEPVxLkF/e5n5wuU8AUf03TwmF+aeUJPK//a9xM+nG + pvlH+/vgjB1DME9pez+VP936H9yjG/B5r3cenz7Q/S78n3cUhLt7PAh/u4NNZ03pG9kxKjo6vwi/ + S1+OOWySx8R+jZqS4AaZ0R2TSEkMQ80yzfPmppiry0IGl7XTf/r29A9lMJTdAQgAAA== headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 @@ -198,11 +164,11 @@ interactions: Content-Type: - application/json; charset=UTF-8 Date: - - Tue, 04 Nov 2025 21:50:36 GMT + - Fri, 09 Jan 2026 05:56:23 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=2478 + - gfet4t7; dur=2154 Transfer-Encoding: - chunked Vary: diff --git a/python/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/google_gemini_2_5_flash/async_stream.yaml b/python/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/google_gemini_2_5_flash/async_stream.yaml index ef8738125c..4bdf1894ed 100644 --- a/python/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/google_gemini_2_5_flash/async_stream.yaml +++ b/python/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/google_gemini_2_5_flash/async_stream.yaml @@ -12,7 +12,7 @@ interactions: ["title", "author", "pages", "publication_year"], "type": "OBJECT"}}, {"description": "Look up book information by ISBN.", "name": "get_book_info", "parameters": {"properties": {"isbn": {"title": "Isbn", "type": "STRING"}}, "required": ["isbn"], - "type": "OBJECT"}}]}], "toolConfig": {"function_calling_config": {"mode": "ANY"}}, + "type": "OBJECT"}}]}], "toolConfig": {"functionCallingConfig": {"mode": "ANY"}}, "generationConfig": {}}' headers: accept: @@ -22,27 +22,29 @@ interactions: connection: - keep-alive content-length: - - '1115' + - '1113' content-type: - application/json host: - generativelanguage.googleapis.com user-agent: - - google-genai-sdk/1.48.0 gl-python/3.10.16 + - google-genai-sdk/1.57.0 gl-python/3.10.16 x-goog-api-client: - - google-genai-sdk/1.48.0 gl-python/3.10.16 + - google-genai-sdk/1.57.0 gl-python/3.10.16 + x-goog-api-key: + - method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:streamGenerateContent?alt=sse response: body: string: "data: {\"candidates\": [{\"content\": {\"parts\": [{\"functionCall\": {\"name\": \"get_book_info\",\"args\": {\"isbn\": \"0-7653-1178-X\"}},\"thoughtSignature\": - \"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\"}],\"role\": + \"CiQBcsjafJwTFnfpFx5zDp2yQ02h7b7TcQte+zVsHI0TkC4NhiYKfAFyyNp8MZKtC6TiUEOOSYB9ermvqxakuudgN8uDxeJaXPZWsPhJ/voPkfA1BonazZOBaNt5L6rUIhVcKZ/0fUCApSQC7FBJmAynY5/h1eR/SAnNGZ9kw+UTO1lqVVmu38J7P7YZCrlIzDWQSwS+06Hq4dG2tkYYz4B3niwK0gEBcsjafIGyXCjbiptpZ0jGzAsEjXc3z0DbMwj+50uq/RAtbrzWvr69HyY2PS+kV4MDLlb85VFblA0pIvMQsAjUpnengyUVyXbM7wYyyeOySt9sunKxb8CJAd2b+WtQp9NilZabcTtuGS1pJvUvZ0ePxLfzVdBuYWVbDvYK/sGcK1QSfTYIlNWlC055rCTkxiuTPikPl/5+t/evobCGItUozoWEf6EKXNfVNh2o/+IRAcl3TFDj8UMNjXqXd/oobaeLDUZ/oWcSjSBZw6N3w8Ub784KhgIBcsjafE5aSWnzwwxa2jKGhbc4tNd9+DYomWacGnwtW5otEsVXf7WL1Tf/c47zCm+MQuopMGuLRK7QluYJicCm/JJjVKROHIaOkFhsNHhneRl0NVB1V9lLKXFcGZepO7MNN1v4JuGtsBuOO7l+iLXS6E1nYuQWcQjR2nlihePqBFLma/xSr0v5pvIXk0Va+aZdbpAtTWBDgZAkDU2jNnvnnCFoEhukD4BN6fazkzr5HsWQbqHQqEssDo7pFefVDNY9w1H4kpxA9SqkxrOKNomHHbo7CrGg+h4Fzpji10gt0Ai7/8DN3QiYW8iJA60aXeUV/BdAqydvPkEJtIH1S5vPfxyUtvckCoMCAXLI2nxB1//plwkNY649Tq3FgFLH4ae9lgp6nA1l6DwMIlIVGNAgCV0RMgML9DcjpVHhEbhL5/JBBBddKJBBhcMmmOVSyPU3RvnkIDJ828unv0R+SLuEgPeO0ERLsUyt0fqomUX8zw/0oE/ikovNj1A5uJ37ce8varhAGHIbcRtCK7AUiF28+kvdqD7yVyI7pRqTWKNietDqWFPwWatSe+eChMUsdCXGQKq4JboD3KMW9f0nfFcEZG9hdXOLHQhovSQMsmtq2nmvAZ6WPe7RsTR3i2CUJTrAoIz73J1ha49xybk3AugNlvDRKYtD+jEE+v7IO1WHZnUxoJd/MLdzlrOLDQovAXLI2nyI1eCfW4mvOKf6jrdNIOgTExCC8dzryZea/+G7XbHM4GGAI1uiK5tXC+8=\"}],\"role\": \"model\"},\"finishReason\": \"STOP\",\"index\": 0,\"finishMessage\": \"Model generated function call(s).\"}],\"usageMetadata\": {\"promptTokenCount\": - 189,\"candidatesTokenCount\": 29,\"totalTokenCount\": 556,\"promptTokensDetails\": - [{\"modality\": \"TEXT\",\"tokenCount\": 189}],\"thoughtsTokenCount\": 338},\"modelVersion\": - \"gemini-2.5-flash\",\"responseId\": \"MnUKaZ6YHfPoz7IPuY-C4Qw\"}\r\n\r\n" + 189,\"candidatesTokenCount\": 29,\"totalTokenCount\": 401,\"promptTokensDetails\": + [{\"modality\": \"TEXT\",\"tokenCount\": 189}],\"thoughtsTokenCount\": 183},\"modelVersion\": + \"gemini-2.5-flash\",\"responseId\": \"lZhgaev3E6PPz7IPiYGzwQM\"}\r\n\r\n" headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 @@ -51,11 +53,11 @@ interactions: Content-Type: - text/event-stream Date: - - Tue, 04 Nov 2025 21:50:44 GMT + - Fri, 09 Jan 2026 05:56:38 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=2498 + - gfet4t7; dur=1433 Transfer-Encoding: - chunked Vary: @@ -75,7 +77,7 @@ interactions: body: '{"contents": [{"parts": [{"text": "Please look up the book with ISBN 0-7653-1178-X and provide detailed info and a recommendation score"}], "role": "user"}, {"parts": [{"functionCall": {"args": {"isbn": "0-7653-1178-X"}, "name": "get_book_info"}, - "thoughtSignature": "CiQB0e2Kb-Ep6wJurTfCi1Ey3VsfBqgDOWRVYQ-50CqBbmcODY0KgAEB0e2Kb6es3tEju0zo8h9zhT6bBOd_uZBwFdeeAXslc-NHGTF3EtGaqp0jCnq1GWyBgrb7hIjxQj8jN8qJ1ta0v1ryK7Ia9tuNavQ9iX1t4JpIUlNvBgRLvRsS7YCFNjikf2CAoYvjJq_QpUWdwCFlaYNaAGYYYfgpDCFSk233dgqWAgHR7YpvuiKt77SLJ55cKKf-LgpolXM8DaUO7XhwYG9GPN_JSnJRQnPugdbEUH4Fxo9PwS7K_xGtHpUpqJNbjuEFgBYchkvx7lyT9yiAAyhqJTL5BSIhltLbKIJAXDjN_xuKYwa-5otcUmPUVG7ZQxPlaTB2kvB_DOOEHiIxyofXXzItHtLrwftxzPdi4P7rESsB4GGoLrH96pw-0AGwGUfxsd9s50688f9g5TAH2mGTYxfcKy8ktvle4FZ2NtRSjWfG9ZFyqwmNDutNuw276_9k1zPBAHWbMNb_CcFqlzltGLhvTk5EmZFyIP3CQvaHvHWbDTe2Q7gZYDsBsM2j2g7RJJx1wjQYQDGo90wiXQWDU8-35DE-Cr4BAdHtim_YW2vgQjFuD8WqQhfS40UQ42J32weSVXk-5zC6HmjB_yNVY2Hof73ZaPlCViW71LP9v0ZOl1HiO6kq1q6bC-QVz-lfsgpgKZCiafIQ3AVGO-IK6hjxgY2S25Pm7rOEigULR6rfZU0J7m6KDMZFeURIUcnfnL4-sSN8g3Ulhp1nrljQPwz16jrDgUJvZh5PUv1cvqHkUSDufsvWbcMsmsJR_Qp3eYEv0YXcV3zWeN9jbQmUWRfygfTZbQrbAQHR7YpvFum_mhT7oBQNL2lfYFd93ZFEkPs4aQmOvudiZ44S6wg0q9mVq_1TTsfH8fkW3o3qvOaTO5SNdgD4kYV0rnTCr6U0THbcQfZqbcWPyMIgaVVrIYNSzvyZ3CaTSAIAICyANQXL2vcs-cEPrCdAtkZORy73lNgXgFt9xrkpZsonpht4ljGYOhGikVRvReNk23tnN5AIfKijn237-1UxSLi9cppk6U5rlRDCaU-Aie1EtGlo976Uo_d5RdusDsvqJBBk6_OqH66jGKl0w_rJP2vN8efGzqGJRgrRAQHR7YpvuFU4VYVFNU-9eigTLtODDs6lxifA8VJvL6zmUfPTCRFPtP5LqyMpnesDxpHnz0mElzU6jp7XCLam8AAnhlB606KXbjlOSjSdmIo-m023knBS6ejw068Alt3MMGu3vhUCLVd1_jShkc7gYHjKzyP67tsgeyhR9oe_cOFqXTAwrrWIK26jvyOk2QD8P_Rr44Eaz8Vpoqxv908VfYH-wpFVsJ5_-_6dPHA41CRfzy_-xKDqjD-8EOQ2fQIKxqk8nqeDqN7fFroOkCenr96kCqcBAdHtim_rG-bSVc_2FXmFX32QJUYvttG2jMbSeK9bOB3K4cPyAULlW9evPgQ7sjQVBreDmwas_Eidve0bBgCk86n9HyPBVGrgI9Vc_Ak9v_locBGhCTiElAu-BUgTjc58ZzlMIJHO3XWfmk_teyu5E18nwU6fQiRmTORO9zgNooSIiYL-A2Ycuz_r36_r1ArRlPmmyeNj1WaQu4qp_ksh1pwQb2STkAUK7gEB0e2KbwG0KQC7WLvQj48XufpTINFAXtPFK_vV8EsgkwpOZa0S7BFqmA5G-f3uVWxqDwKBOgHUhyJPXXHw9d7N8kkvqDrkZql5FeI6910zQPpuKOwOOcXhVAgeM4MrtCn_k7iYyjuZlN6AuwI0z6SyhYOOtiSBpFfmF1eUtwESkOfmS5mQnA8GdB-u7_d7fdn8M8IT77u8IVZy7mmRFspP2irc8B9M0ie_1ifKFQ3A8-tRH8Ke_ot-NFYgmcznmS0z9PtUrTh1Bvi1PwXDA-QEM_EJjakgLALvssCFDQzdHPOR2M4VoadM1ad5ckwTCmoB0e2KbwynNzZA73c83oe4BDhBCJLOBRVYSVmM3_ySI7UbSxFa2434ZEMBA7acG4n8gKfgmKtXL4Qw0QbbXQDcTQGB5M6fQnAaTcMVhm9NMFQGhnWFIJ37UpjUf8eSQn43sLRlwvBXJpfO"}], + "thoughtSignature": "CiQBcsjafJwTFnfpFx5zDp2yQ02h7b7TcQte-zVsHI0TkC4NhiYKfAFyyNp8MZKtC6TiUEOOSYB9ermvqxakuudgN8uDxeJaXPZWsPhJ_voPkfA1BonazZOBaNt5L6rUIhVcKZ_0fUCApSQC7FBJmAynY5_h1eR_SAnNGZ9kw-UTO1lqVVmu38J7P7YZCrlIzDWQSwS-06Hq4dG2tkYYz4B3niwK0gEBcsjafIGyXCjbiptpZ0jGzAsEjXc3z0DbMwj-50uq_RAtbrzWvr69HyY2PS-kV4MDLlb85VFblA0pIvMQsAjUpnengyUVyXbM7wYyyeOySt9sunKxb8CJAd2b-WtQp9NilZabcTtuGS1pJvUvZ0ePxLfzVdBuYWVbDvYK_sGcK1QSfTYIlNWlC055rCTkxiuTPikPl_5-t_evobCGItUozoWEf6EKXNfVNh2o_-IRAcl3TFDj8UMNjXqXd_oobaeLDUZ_oWcSjSBZw6N3w8Ub784KhgIBcsjafE5aSWnzwwxa2jKGhbc4tNd9-DYomWacGnwtW5otEsVXf7WL1Tf_c47zCm-MQuopMGuLRK7QluYJicCm_JJjVKROHIaOkFhsNHhneRl0NVB1V9lLKXFcGZepO7MNN1v4JuGtsBuOO7l-iLXS6E1nYuQWcQjR2nlihePqBFLma_xSr0v5pvIXk0Va-aZdbpAtTWBDgZAkDU2jNnvnnCFoEhukD4BN6fazkzr5HsWQbqHQqEssDo7pFefVDNY9w1H4kpxA9SqkxrOKNomHHbo7CrGg-h4Fzpji10gt0Ai7_8DN3QiYW8iJA60aXeUV_BdAqydvPkEJtIH1S5vPfxyUtvckCoMCAXLI2nxB1__plwkNY649Tq3FgFLH4ae9lgp6nA1l6DwMIlIVGNAgCV0RMgML9DcjpVHhEbhL5_JBBBddKJBBhcMmmOVSyPU3RvnkIDJ828unv0R-SLuEgPeO0ERLsUyt0fqomUX8zw_0oE_ikovNj1A5uJ37ce8varhAGHIbcRtCK7AUiF28-kvdqD7yVyI7pRqTWKNietDqWFPwWatSe-eChMUsdCXGQKq4JboD3KMW9f0nfFcEZG9hdXOLHQhovSQMsmtq2nmvAZ6WPe7RsTR3i2CUJTrAoIz73J1ha49xybk3AugNlvDRKYtD-jEE-v7IO1WHZnUxoJd_MLdzlrOLDQovAXLI2nyI1eCfW4mvOKf6jrdNIOgTExCC8dzryZea_-G7XbHM4GGAI1uiK5tXC-8="}], "role": "model"}, {"parts": [{"functionResponse": {"name": "get_book_info", "response": {"output": "Title: Mistborn: The Final Empire, Author: Brandon Sanderson, Pages: 544, Published: 2006-07-25"}}}], "role": "user"}], "systemInstruction": @@ -89,7 +91,7 @@ interactions: ["title", "author", "pages", "publication_year"], "type": "OBJECT"}}, {"description": "Look up book information by ISBN.", "name": "get_book_info", "parameters": {"properties": {"isbn": {"title": "Isbn", "type": "STRING"}}, "required": ["isbn"], - "type": "OBJECT"}}]}], "toolConfig": {"function_calling_config": {"mode": "ANY"}}, + "type": "OBJECT"}}]}], "toolConfig": {"functionCallingConfig": {"mode": "ANY"}}, "generationConfig": {}}' headers: accept: @@ -99,28 +101,30 @@ interactions: connection: - keep-alive content-length: - - '3578' + - '2720' content-type: - application/json host: - generativelanguage.googleapis.com user-agent: - - google-genai-sdk/1.48.0 gl-python/3.10.16 + - google-genai-sdk/1.57.0 gl-python/3.10.16 x-goog-api-client: - - google-genai-sdk/1.48.0 gl-python/3.10.16 + - google-genai-sdk/1.57.0 gl-python/3.10.16 + x-goog-api-key: + - method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:streamGenerateContent?alt=sse response: body: string: "data: {\"candidates\": [{\"content\": {\"parts\": [{\"functionCall\": - {\"name\": \"__mirascope_formatted_output_tool__\",\"args\": {\"publication_year\": - 2006,\"author\": \"Brandon Sanderson\",\"pages\": 544,\"title\": \"Mistborn: - The Final Empire\"}},\"thoughtSignature\": \"CiQB0e2Kb+YhcPcgaefVi6CV/CtbHbGQys5f+P+ujnv8EGXAnHIKfwHR7Ypvzr9pKNxznhAMohCeesL3PGmBDGnNwK7nX5DOBICmb6y/I9Aju8FwyRFn+19BFflU5vSMuUEOENmNy3u2VgYk89nfRlFihhSPfEF3ceTCKJvivcZN0nn8XQiXbgutEp9PuNZPW/OtaSflyms6NZoA3F73qwX4lLD4QBgKuQEB0e2Kbx3YHuhWSxi4vZax5vz2Ykn022H+WuUc0hJQLehsO3R2NiBSXu69YPTy6t2k+i4ZMMG/r/LpKVGA2TmW+JH7J/9RNKJbA4TYUty4EpczSwkuO8LfnI+KobBQLktJpzCCUfav+6l9izqLfm5u8A/wk/cr3pRwTC32Fw7UBe1DArTmCdUfujIAjGrLzXEY4H4GsYS/XU04ywXaZDf3hg+O0DBhT0DNkIqdfIuR1vUmzziA+yC8lQqsAQHR7Ypv22eO2XSj8cQ+QCR1j4iVEYxYYNEsXd2EQj2HkMtYHBxKf0GehlrchBPVovyLOI5tvVD5coIry6oVpC7Q6UBK7MnJa2Cev3UrJueWyT1Czt8mpJ/k79XJ+AxfsNXidGggu14NPiRsxFDrO4UPSkpha0jOIRlX1LnfVeaV+KjCIFrSRnmHmJweBEPRbANHPV62lFKqR5kCOQBg7WW9M3j7aw+4wa/mahsK8AEB0e2Kb3v3b0nM7Ux49qG+50LlwabJi3EggBzvCPaPu8J6McRVCGT68/RVnNbyMVTd0QCaQlTH+sPMEtNCdb2UbuI+b//Vm4LhTb8aUwPuCDdN8i9q6fNmC9hX9f1hKV5ifnWfY5U2wgkFLQqbe/YKyJWUV0+zDqUJSZGlMSGonGgYwUimg42t8uPHPUmlj25rDI0rFuLzFjMzYW5lp3qfQb+Y+leQHIOX6ZdBnemfnchWEetOQQHV3dyxS4h2Eeem2YnYp/mfb5t3YuULmRXsBUbIXOthU12AhPJozytMVX4TwfCu5RT1kOzo61u7/vEKqgEB0e2Kb27ygW3La7yO0fL49E8Yaj3I94Pk7wfSB99n2DxYdS0Sq6p0OYr70sR3wdYCSaPLwldWTmAuNpUQmmn0r9sXQjD98lIi7iUO3nC37m1lBheF6frrNVWczZ+FyWceRjY0Qal5SB+sTNsQhH0nVNMAeFeZYKyzu5qXM0X8EWqYm6u3WgFqyl/UTihnSqaTcT638Iox5oaPPcv2ihPOSmW0xYd3Lc46sQpxAdHtim9H2ihVQhdpFCjxsy3JINv3LTE1MtkjjaI5t+qJzl0FapuXCIckn0IgWQcPdxTWqpUK+VaEc+e8beXx3dK6qvI8e8ek3UqJu+tAZ3AIMcVgjfWOULQXRi+71qbX58f7op2A1jlRwWSImxGWkRo=\"}],\"role\": + {\"name\": \"__mirascope_formatted_output_tool__\",\"args\": {\"title\": \"Mistborn: + The Final Empire\",\"publication_year\": 2006,\"author\": \"Brandon Sanderson\",\"pages\": + 544}},\"thoughtSignature\": \"CiQBcsjafOkYE2E7MnPk7lvQhONAcDphj7Q4ZLCIsoUkq5BsZPMKdQFyyNp8oJ/MuLmTq9fQ24lQdxuW9YR0sd6bByjZ07SlnJL1QJad4hASE9N1/e/ZOAU9aRPOcNbXhSz61hNx8/1mAjQx7p3mnRx0BXQevSGu/VCeUEdOaGC4uD0iGViw7L7uf7v1uUM33OSN766naK9nVrjPdArHAQFyyNp8ySeKk03/P/8NyEGHPr6smiY7/CmPINXClgjbrY9uptd0hE2KcdsklG/AqrTFq7kUoWZIIXsl1X+wUFT2Vd9qAttJZChH21C3QN2OwiaWmxdIhOyZlU7HvljtgiyhkHXVW5BdElD6qpxyzV60lY6eEyVxe10pw1tS9epvqhe+vZ+x6qHpfEQZFZRmrjT1Q0tPJ5tQ50WA28gBOOmpWVLPzQy6aKgvtq/nuTAkl6PgsUGjogSQPFEcuLSaGDHrsvaTzqYK+AEBcsjafFcSGWJKp9fsOB3D+s8XXxMnwkpDCQMM2hncDtRW86mvf6mjiNpIum7tJGkdbfyYlCR2xSpg7K9BTgH8poO85vh/aZxWbffJ4zR6+U0awClMIpgujOzzj1eXI7XGFYB0o82oogY1tntZWtUBtx052ZnMtF5F+cor8r/s+CCujfdSnc5OoiY7nv0LIdHuooXTpo32mcmDXZwDfqEuo9GrupiM7Pm8gF1brUHhq1xGmr3Qw/gzzlMNOIY1C3NJ032LfcTtBBmEE4QjJ91TL9ummJTy0Z1A54J9aItffWCnbvNS4+2C0D14YU9AJKJwOGupcnfWIwrZAQFyyNp8PrQECk0Zn70Sn7bNyUWAKlgesFE/e6cZvZ1cRGzTBHW+hq0yRI9k6PJOVbdlYiu7FR1rOG0Zw4halgdVmaOJIuyjNlF9CEwiNtKiWo+G0v9mI1CjfedSVuuiGAdB1cZ5DqbV7jzyITZeyFFBxy2krfW0zbBtCrJIssILztTbi0Yyz2ReZOVhm+7mAeADjzMJruhgGdJjFUFGZcTmFaGfl0BqFJsj3FzEe0bj1xBJY3+a+GWXVcn2e25IPbClHcMYLrptMuaJUETT9SuzxjlpyAzxstsKtAEBcsjafFWR7LnUwJUoKJ4nFqFynARpBkWcytWL57aqzTgfLxl8xbF5Lmwy8Ys1xVsaMfr4deVzdvrzmQdIlCw6tWP6yVCSo+DUkxIhVGiMfjvihI0ug0M6NuCYmFkxf6OwZT3+PQI3L3fNq5WF88szp4VMScfRM2x7UQmMji0vjDpJeYpDdgObHy/cMbo9wgy/ykjA76/BNZA4/+ongmwx7tPAA4YAK2/r7gX8ljH3tktmBOUKrQEBcsjafKF3/QageUYHsQ/fcNWMHCs0kLoeL0n+aV2nfm/xg0MoZeY6r8CgLd9Lz2hPrIP39j8neZj63rAqZywlP0isarJhC/wPx9615iHnRin8gZjbbj7UXa+Dj/c5g71Oe9N3YOffYLvVPhUXUvtLC2fUp6c5BSygIBCzTE8ow5WbxirBn/ArupDeeoVUd2w9Jo4omiKR4MGgegbjfHBiVH5bGTwpVWptq7PPcgqyAQFyyNp8l7zoPK0Hlge9a87L07xlQE7AJ5j7JxPFiUwTEpLoXQT6TmQVMIC05gLabUAmEAjrCOVpLEHJf2URPEfcnIK67tpG9tlGPHaK8BNHDLd3Rdop5bcD0bw2CdKMBof+4p41m3kqTAG5a27AmKFBVOH9K5cZD9cPScwOCx2+dngtUgqjhmnaXfIxUVcMQV6U7hw27xXDKDLWWD6rqP5oCHKNVDuFENPBG+v6berIQ1g=\"}],\"role\": \"model\"},\"finishReason\": \"STOP\",\"index\": 0,\"finishMessage\": \"Model generated function call(s).\"}],\"usageMetadata\": {\"promptTokenCount\": - 604,\"candidatesTokenCount\": 49,\"totalTokenCount\": 895,\"promptTokensDetails\": - [{\"modality\": \"TEXT\",\"tokenCount\": 604}],\"thoughtsTokenCount\": 242},\"modelVersion\": - \"gemini-2.5-flash\",\"responseId\": \"NXUKaYTyAqmCz7IPpP6k8AY\"}\r\n\r\n" + 451,\"candidatesTokenCount\": 49,\"totalTokenCount\": 800,\"promptTokensDetails\": + [{\"modality\": \"TEXT\",\"tokenCount\": 451}],\"thoughtsTokenCount\": 300},\"modelVersion\": + \"gemini-2.5-flash\",\"responseId\": \"lphgafKuMaHQz7IP0srSwQM\"}\r\n\r\n" headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 @@ -129,11 +133,11 @@ interactions: Content-Type: - text/event-stream Date: - - Tue, 04 Nov 2025 21:50:47 GMT + - Fri, 09 Jan 2026 05:56:40 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=2504 + - gfet4t7; dur=1869 Transfer-Encoding: - chunked Vary: diff --git a/python/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/google_gemini_2_5_flash/stream.yaml b/python/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/google_gemini_2_5_flash/stream.yaml index 67a6329430..c6f1da9bae 100644 --- a/python/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/google_gemini_2_5_flash/stream.yaml +++ b/python/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/google_gemini_2_5_flash/stream.yaml @@ -12,7 +12,7 @@ interactions: ["title", "author", "pages", "publication_year"], "type": "OBJECT"}}, {"description": "Look up book information by ISBN.", "name": "get_book_info", "parameters": {"properties": {"isbn": {"title": "Isbn", "type": "STRING"}}, "required": ["isbn"], - "type": "OBJECT"}}]}], "toolConfig": {"function_calling_config": {"mode": "ANY"}}, + "type": "OBJECT"}}]}], "toolConfig": {"functionCallingConfig": {"mode": "ANY"}}, "generationConfig": {}}' headers: accept: @@ -22,27 +22,29 @@ interactions: connection: - keep-alive content-length: - - '1115' + - '1113' content-type: - application/json host: - generativelanguage.googleapis.com user-agent: - - google-genai-sdk/1.48.0 gl-python/3.10.16 + - google-genai-sdk/1.57.0 gl-python/3.10.16 x-goog-api-client: - - google-genai-sdk/1.48.0 gl-python/3.10.16 + - google-genai-sdk/1.57.0 gl-python/3.10.16 + x-goog-api-key: + - method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:streamGenerateContent?alt=sse response: body: string: "data: {\"candidates\": [{\"content\": {\"parts\": [{\"functionCall\": {\"name\": \"get_book_info\",\"args\": {\"isbn\": \"0-7653-1178-X\"}},\"thoughtSignature\": - \"CiQB0e2Kb2SFkRb/DpaUrhh8Hlb1uOOI1YaNMbVEw18/6YPDISAKeQHR7YpvhYYuQ637KOnWQ478zW4lny9uAgsBdwVTgWXdzZkWaf0TdzERjrBuILlvLCduy9MgIJk7UCUq2u45whLgiIEu/8VkkVB9ZH3/L8wI7kleFI2jAZrF49FzIDLe2f3In8M2lvyjjUh1M7XF/MvGiJDqgCSxqxMKggIB0e2Kb2LUr6hVKxoOVzUpc8Ica4wh4DHog9IZhpcwfi6K+42K1++w17DFXlsbVSVKZrobdu/n7ApUp7L1DIwdUYnuXj6vs0UTig2u4TJzReCOdBiBic5j1XpD6RcxSNzHrBxIJBor2GA4Z7704gwTkNOsAXRV/DLfSPqekiFuqMc5KshWCbC2i39AEuefiiJ3qzMDtoOmfLRzrFnVNxeD0VQf47y7cUAMj3eB6CkvwW44eWvO465nQJmquBKlSwRx90jMHdfsqPkLHMWLvIPpUe0QRyWbU1dYZcc1Vsvk5HSyTAIc0vmwqSNYD+93PsrJ1Kwt5r40aax3tw+8bqMZpggKwwEB0e2Kbz0GGnoVVK1IIjmURz7hXebuROVK5TaKxPKaRdEY40W1rJac1d6vDiGzpMoG3BjQjdhRFHbtokU3uslCHafr1+jO7ylBcrKyoENewnTp+jem9D9WlxfbPbivaA2heZ7X9WJ8MEyoMBPHqS+W/+XiCxFkvAWbm64mZuRi0xKfjuS7MaqlGC3vdKuj90ivle1DAxsrbawILVyQABC5sugSlAAqsrOA6d4KgGiFesOlR/M2Xm3U8BfYx56C+THe1pQ=\"}],\"role\": + \"CiQBcsjafNibqOvQC8udP8uar4rMDvazzDFmWdVTU2W8EFOhensKfAFyyNp8qSGEwv5bfqUGwvAxDCz28/L22KyVVT8JCJWvQU/V/Z71XYbeclVt7ztxBgHktrMM0YnTb2hlV34hqWl9DYabDs0YMLocDBTXtssfkNfShG9WX316KBHCRbUvuiURs5lbJEjv9NLB3D4/UJVUOadEnqV9HAXZ+RoK8wEBcsjafNqHjYKQuAorEDbdQb2CRME5sw9rRrm3ZaZNBT4YAUbKjdKmlHeI8pdAMsRGGVxhOB05zNiZB+qm0/U5SNzrRHQ63ife6MuSe4bbzpAYi+PtRWkJGrXo7rh/FyfKYPhNoWslk2pxHXkJpTHdoeL4vQSoeSWrLymid7QXM7uohZpmr9yanmr4qhOMCOoevw4kP+7T9F94V+sZ11BsYGROolW/9SGQmSnlFgnxDkwqtgS6gTvXg+ren81JMiWrf5SMNBdPkZKIL264A8n+KQsK/fIs50oxA6vApwnnO90OQdjVqoeXk1m+IRbQehKPTFgK7wEBcsjafHTiekQP+rROQZLinWc42UvCydBHdzbi385dy450I7FCHjw0AD+/qt1rF4xk6V0vjo93EhcxqzUKowUVU95UO+BUHAysXOQjIwcm8B/vnNVVj0DW8z4bXvEOH4dsKf5W3OII5Hz2+NQXILdrT44sSJ1AyboNJmZqQKZQtqcCAbb4F+OpQZ1Tlvd9ffF6gyKoOgm5wUKiTWUrreY9C7wSSLfDTLy48yAyJ6J2LxVixWC5AT+Bur9GCJBogfibjGdgpO1NTjh6+OR53UWkAzgrgKsSN6dXBQQ6HFQ1CEcsFRemYlLQukpQy16DGQq/AQFyyNp8MOs0oelmo8MEIjR7kObpCDQwpDEnbRan+2l5Ot+aBGq1L+nbKesi/FNk4id0Z1lMVZvgWHLC6kL/JzuCyu+xvfPTwh9BvF2JOaLpqK5VuwIKf5sv/+DuZLHFQc1hLBZW/d4rD2HHMw9BelRHgcpNqVL4ut/moaRn62625TMx6JMpX3QSXLIg+mbTet8uD2SbjrLmOwiQU3Aoh4ZSMK6XbajHbDoWGVMxniID78y2Nvb7lXQivw/svzJK\"}],\"role\": \"model\"},\"finishReason\": \"STOP\",\"index\": 0,\"finishMessage\": \"Model generated function call(s).\"}],\"usageMetadata\": {\"promptTokenCount\": - 189,\"candidatesTokenCount\": 29,\"totalTokenCount\": 323,\"promptTokensDetails\": - [{\"modality\": \"TEXT\",\"tokenCount\": 189}],\"thoughtsTokenCount\": 105},\"modelVersion\": - \"gemini-2.5-flash\",\"responseId\": \"LXUKaa6mIc7Qz7IPy-TroA4\"}\r\n\r\n" + 189,\"candidatesTokenCount\": 29,\"totalTokenCount\": 384,\"promptTokensDetails\": + [{\"modality\": \"TEXT\",\"tokenCount\": 189}],\"thoughtsTokenCount\": 166},\"modelVersion\": + \"gemini-2.5-flash\",\"responseId\": \"jZhgabrHBcKGz7IPqenCoQs\"}\r\n\r\n" headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 @@ -51,11 +53,11 @@ interactions: Content-Type: - text/event-stream Date: - - Tue, 04 Nov 2025 21:50:38 GMT + - Fri, 09 Jan 2026 05:56:29 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=1164 + - gfet4t7; dur=1287 Transfer-Encoding: - chunked Vary: @@ -75,7 +77,7 @@ interactions: body: '{"contents": [{"parts": [{"text": "Please look up the book with ISBN 0-7653-1178-X and provide detailed info and a recommendation score"}], "role": "user"}, {"parts": [{"functionCall": {"args": {"isbn": "0-7653-1178-X"}, "name": "get_book_info"}, - "thoughtSignature": "CiQB0e2Kb2SFkRb_DpaUrhh8Hlb1uOOI1YaNMbVEw18_6YPDISAKeQHR7YpvhYYuQ637KOnWQ478zW4lny9uAgsBdwVTgWXdzZkWaf0TdzERjrBuILlvLCduy9MgIJk7UCUq2u45whLgiIEu_8VkkVB9ZH3_L8wI7kleFI2jAZrF49FzIDLe2f3In8M2lvyjjUh1M7XF_MvGiJDqgCSxqxMKggIB0e2Kb2LUr6hVKxoOVzUpc8Ica4wh4DHog9IZhpcwfi6K-42K1--w17DFXlsbVSVKZrobdu_n7ApUp7L1DIwdUYnuXj6vs0UTig2u4TJzReCOdBiBic5j1XpD6RcxSNzHrBxIJBor2GA4Z7704gwTkNOsAXRV_DLfSPqekiFuqMc5KshWCbC2i39AEuefiiJ3qzMDtoOmfLRzrFnVNxeD0VQf47y7cUAMj3eB6CkvwW44eWvO465nQJmquBKlSwRx90jMHdfsqPkLHMWLvIPpUe0QRyWbU1dYZcc1Vsvk5HSyTAIc0vmwqSNYD-93PsrJ1Kwt5r40aax3tw-8bqMZpggKwwEB0e2Kbz0GGnoVVK1IIjmURz7hXebuROVK5TaKxPKaRdEY40W1rJac1d6vDiGzpMoG3BjQjdhRFHbtokU3uslCHafr1-jO7ylBcrKyoENewnTp-jem9D9WlxfbPbivaA2heZ7X9WJ8MEyoMBPHqS-W_-XiCxFkvAWbm64mZuRi0xKfjuS7MaqlGC3vdKuj90ivle1DAxsrbawILVyQABC5sugSlAAqsrOA6d4KgGiFesOlR_M2Xm3U8BfYx56C-THe1pQ="}], + "thoughtSignature": "CiQBcsjafNibqOvQC8udP8uar4rMDvazzDFmWdVTU2W8EFOhensKfAFyyNp8qSGEwv5bfqUGwvAxDCz28_L22KyVVT8JCJWvQU_V_Z71XYbeclVt7ztxBgHktrMM0YnTb2hlV34hqWl9DYabDs0YMLocDBTXtssfkNfShG9WX316KBHCRbUvuiURs5lbJEjv9NLB3D4_UJVUOadEnqV9HAXZ-RoK8wEBcsjafNqHjYKQuAorEDbdQb2CRME5sw9rRrm3ZaZNBT4YAUbKjdKmlHeI8pdAMsRGGVxhOB05zNiZB-qm0_U5SNzrRHQ63ife6MuSe4bbzpAYi-PtRWkJGrXo7rh_FyfKYPhNoWslk2pxHXkJpTHdoeL4vQSoeSWrLymid7QXM7uohZpmr9yanmr4qhOMCOoevw4kP-7T9F94V-sZ11BsYGROolW_9SGQmSnlFgnxDkwqtgS6gTvXg-ren81JMiWrf5SMNBdPkZKIL264A8n-KQsK_fIs50oxA6vApwnnO90OQdjVqoeXk1m-IRbQehKPTFgK7wEBcsjafHTiekQP-rROQZLinWc42UvCydBHdzbi385dy450I7FCHjw0AD-_qt1rF4xk6V0vjo93EhcxqzUKowUVU95UO-BUHAysXOQjIwcm8B_vnNVVj0DW8z4bXvEOH4dsKf5W3OII5Hz2-NQXILdrT44sSJ1AyboNJmZqQKZQtqcCAbb4F-OpQZ1Tlvd9ffF6gyKoOgm5wUKiTWUrreY9C7wSSLfDTLy48yAyJ6J2LxVixWC5AT-Bur9GCJBogfibjGdgpO1NTjh6-OR53UWkAzgrgKsSN6dXBQQ6HFQ1CEcsFRemYlLQukpQy16DGQq_AQFyyNp8MOs0oelmo8MEIjR7kObpCDQwpDEnbRan-2l5Ot-aBGq1L-nbKesi_FNk4id0Z1lMVZvgWHLC6kL_JzuCyu-xvfPTwh9BvF2JOaLpqK5VuwIKf5sv_-DuZLHFQc1hLBZW_d4rD2HHMw9BelRHgcpNqVL4ut_moaRn62625TMx6JMpX3QSXLIg-mbTet8uD2SbjrLmOwiQU3Aoh4ZSMK6XbajHbDoWGVMxniID78y2Nvb7lXQivw_svzJK"}], "role": "model"}, {"parts": [{"functionResponse": {"name": "get_book_info", "response": {"output": "Title: Mistborn: The Final Empire, Author: Brandon Sanderson, Pages: 544, Published: 2006-07-25"}}}], "role": "user"}], "systemInstruction": @@ -89,7 +91,7 @@ interactions: ["title", "author", "pages", "publication_year"], "type": "OBJECT"}}, {"description": "Look up book information by ISBN.", "name": "get_book_info", "parameters": {"properties": {"isbn": {"title": "Isbn", "type": "STRING"}}, "required": ["isbn"], - "type": "OBJECT"}}]}], "toolConfig": {"function_calling_config": {"mode": "ANY"}}, + "type": "OBJECT"}}]}], "toolConfig": {"functionCallingConfig": {"mode": "ANY"}}, "generationConfig": {}}' headers: accept: @@ -99,28 +101,30 @@ interactions: connection: - keep-alive content-length: - - '2278' + - '2576' content-type: - application/json host: - generativelanguage.googleapis.com user-agent: - - google-genai-sdk/1.48.0 gl-python/3.10.16 + - google-genai-sdk/1.57.0 gl-python/3.10.16 x-goog-api-client: - - google-genai-sdk/1.48.0 gl-python/3.10.16 + - google-genai-sdk/1.57.0 gl-python/3.10.16 + x-goog-api-key: + - method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:streamGenerateContent?alt=sse response: body: string: "data: {\"candidates\": [{\"content\": {\"parts\": [{\"functionCall\": {\"name\": \"__mirascope_formatted_output_tool__\",\"args\": {\"publication_year\": - 2006,\"pages\": 544,\"author\": \"Brandon Sanderson\",\"title\": \"Mistborn: - The Final Empire\"}},\"thoughtSignature\": \"CiQB0e2Kb0kTLwqernY/Hj2BBFaT4kPLJEJtH5SO70dRnOGx8e4KfgHR7Ypv5lD6OcUfMHum3xbi+CpraJu3PZF0hFr2k9zYpx7Hh2MsXvB76/OryY+gDuMgYEnAk5LLvLF0m40lPEniAaDIlyNpWrmHSykEwXX+5fY/NoHqsVRDeOsRGVk8TDYID9ufnSgrCh6Wxy6WERAn0B3Ov9l4uB/oJfhx3wq7AQHR7YpvzUXlkMy39V3ZPTrJohaK1n121N17iLYfp4IOThYiB+z2WQEayJoP1Fp2/QZKtJnKZeBV9rVoAheEvcdlnKMQcaomi8VD78X0ozkvsfDz2mHmsYhbtGQrHFq0pO2hC1eTAEsl35mxCaNj6Ph1/0dNbVa1nNLYBn+q623ax33U8GhISDSP1cIq4d15hhpNGfRd/tvhilWMJTNfErBUwE+cqC92Mqc8/FCNoaPUG2nLPTPeM1ga1XAKuQEB0e2Kb2qdwhO4rdmy4AA88+9WaQK5MZvw0laGD3oq57aU5lpoYlAw65BaDrgvVOY4lnHngyaDTOflU4ZWgiDgwponm05JFlNHpchXpe+n7B3s+ForAjApEZcBM33TCEh+w1sUnpdCIWdbsatOjBGBFpIJc4lMwnM44aM3T188c/+4LW9MRxZciK1BBt0VQGgOh66zoV6X6zHbgMw3fNoAOnSliQd27NU1hDKCbxRncr1qr4gR/ughhQrKAQHR7YpvbykHz+xQBqXKSnFMrLqgsLWsX4lGs/VxsYwGfgF/2AjuNJxEiZJVxwQ47nBwyn3ua789EB/exoi1enm55ZHEDXHQXcCq0KIvlPgp7igoxl8xE94Rgg8ls5i5TiQ5sjM6h2OTFa00LUI8DT89J/m1HVdGhaeZtanE7fJucCIKz52e/dCmjnnn8BdhdJERQHSLF1hucl6fYe2NOOetsSkgotiCC5xK4HKQvv1lW4HmuO6y078pqJ/+MfRe2ekosQGtBbz+e30KpQEB0e2Kb+ob1A9j9ZYliL6Wg1Kdq7Ou/AUvYlovvHWA5l1EZQa+ssmi9ZFLR+NRAyaCY8iew/c2yOp9FowF+nnUWKRTR09MinTkyWcy8cz2feUwuBv26lna1NRR4pePCJAuadtHquTUtFle2/WljllEby0mYdjA/8LJP6/XXNlDYM76Grz31hVVSXdQyqbiIweNIwcu6KlFgCbs6LMZpIDIk2QSk9gKfQHR7YpvcRoGR430cWZhefbH0/PqqmVKw7zFZ5yxipWFVEa8QiO/2nNwCcD74D7I2P78UORRT/rUE5rWCyLJR8I4YIl01xkB0tPqiW4aNiPZNuVLuV8lHbj7P0OUs5aZOqy5rQVaDUw8kprxDWl/oJjYAhIhl9PrTg+u+2bh\"}],\"role\": + 2006,\"pages\": 544,\"title\": \"Mistborn: The Final Empire\",\"author\": + \"Brandon Sanderson\"}},\"thoughtSignature\": \"CiQBcsjafHq3bGvCnJd/yZa8ll9GMupypU26WQByIPc+5G+KuWAKgQEBcsjafOKs9d4o6Fx35e1NCKQx76O6pEbNYxuVYixmVIlQHesIe5qxs6OicyfTdJndLHRZGh0fTo0Lo4HYXJ2lPYmlob6tHeut7gtHaaXA2DnFAAyVB4vo/1b2uVAuMqaD62jIm9lFCZiii6vdf+JSDjyviTMs8Fk0DoXNgdgyPoAKvAEBcsjafIfqADQNjqLU/TMvGVQvJD/17MN9avCJhGd+6q2d0g82Cf8rVh8ghZX5o46qD8fun3txWE8qu1n4PRNh8AQuBPvc5cyZ1zS1KqZ35ac+TIEcsqf+lOfBF4K7oQmWH7AKF7g/05RnuCF/s+TQ2i/XngdfijDy7E0rMVakaNThkTJMsZKjg1XBdReztB1XkY+Z3HOZfID78fHRBJmb0yHRaDIrRNFtzjZWstm5B5LUtBM/dtBsM6TnogrFAQFyyNp8+UNymLu1kduUJP9eRXB+XV32YxMkFMg0hBg3ARzWiKcU9imyScjV3QsYfj12pLLlXGTh5e9NLKHNSpQdLlkH9wH87dy7jSjCAP0U+K5IWQh0quFntkp+KqwkkNp3qFmR7mlDxGs7PibgivJIGaXF0KEtN8vbZHBN2JxoU3zETghv1spJ0rGgxDhPFrlf6c1HN/1WflhpeBZfw6w/Vhi1h0Ft9hR0G2yG1sLmFYvOhexjuNbkW2k7g+fOiCyx+aQECrUBAXLI2nxJQxqegvF4SRVDJfw/5eQBr1t73eQwkLNxMbDsaksM4XsdQS4UGawwax5KW8RfyHTZ90yo5hA7y0qVPxWqqv4DBYywF6jDtgPcM4Cgz7qYjjiM+I1gswYXwOcRJZjtklm/NUfth+6SqnyP+iUCqNPDq01pD8mNX+YCPengU8TooRW8B4qzFvRICFQjanAEtAz6o9tAwJfw7zoYqBO5+NgctufhCLk0bz9n9AZvkpy9DwrMAQFyyNp8LbYfPchIGQRqPEXb1sC5wSFnlDuRM1JUTU1qNBspVYCKI62DGaa7SsSnYC0yGLs/GCINcTwdPf+Ga4eGhlxvb8Cu9UxOLbVXkuEqI7woI/jEQIANFQQFZCpr+snjtl5j9txl/fppFyphRpdBeoJyVvI4gUqOKxbSlSnwv6ayyVxo6FkUUZGPqRDmKuoU/XsscmgBgWVDXzawiellxvM1Tc84139eRrtkYTAjHLXGDHUVfGKng9u8imq/nGxGG/275qjTbHmrLQp/AXLI2nyuusUgYTprjTQpVoQDXeOoqUII+YjHIcBePYUL/BEWDb+n16wnnkXsPqRzgI1oSAJTmvUFWmIjjnE09dGtJOWkz+p6sH7i0Q8Xs3ZjPWolrUkMwGkRjdzPiONZTCqgMi6SP3+BUSPZBTBUIlzBk+Wq30sw+10rQ2nRWA==\"}],\"role\": \"model\"},\"finishReason\": \"STOP\",\"index\": 0,\"finishMessage\": \"Model generated function call(s).\"}],\"usageMetadata\": {\"promptTokenCount\": - 371,\"candidatesTokenCount\": 49,\"totalTokenCount\": 655,\"promptTokensDetails\": - [{\"modality\": \"TEXT\",\"tokenCount\": 371}],\"thoughtsTokenCount\": 235},\"modelVersion\": - \"gemini-2.5-flash\",\"responseId\": \"L3UKafjkIY7oz7IP9PbR-AI\"}\r\n\r\n" + 434,\"candidatesTokenCount\": 49,\"totalTokenCount\": 724,\"promptTokensDetails\": + [{\"modality\": \"TEXT\",\"tokenCount\": 434}],\"thoughtsTokenCount\": 241},\"modelVersion\": + \"gemini-2.5-flash\",\"responseId\": \"jphgababHteez7IP_Om04A8\"}\r\n\r\n" headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 @@ -129,11 +133,11 @@ interactions: Content-Type: - text/event-stream Date: - - Tue, 04 Nov 2025 21:50:41 GMT + - Fri, 09 Jan 2026 05:56:31 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=2924 + - gfet4t7; dur=1735 Transfer-Encoding: - chunked Vary: diff --git a/python/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/google_gemini_2_5_flash/sync.yaml b/python/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/google_gemini_2_5_flash/sync.yaml index c283b4ddce..cc365be1f4 100644 --- a/python/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/google_gemini_2_5_flash/sync.yaml +++ b/python/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/google_gemini_2_5_flash/sync.yaml @@ -12,7 +12,7 @@ interactions: ["title", "author", "pages", "publication_year"], "type": "OBJECT"}}, {"description": "Look up book information by ISBN.", "name": "get_book_info", "parameters": {"properties": {"isbn": {"title": "Isbn", "type": "STRING"}}, "required": ["isbn"], - "type": "OBJECT"}}]}], "toolConfig": {"function_calling_config": {"mode": "ANY"}}, + "type": "OBJECT"}}]}], "toolConfig": {"functionCallingConfig": {"mode": "ANY"}}, "generationConfig": {}}' headers: accept: @@ -22,48 +22,43 @@ interactions: connection: - keep-alive content-length: - - '1115' + - '1113' content-type: - application/json host: - generativelanguage.googleapis.com user-agent: - - google-genai-sdk/1.48.0 gl-python/3.10.16 + - google-genai-sdk/1.57.0 gl-python/3.10.16 x-goog-api-client: - - google-genai-sdk/1.48.0 gl-python/3.10.16 + - google-genai-sdk/1.57.0 gl-python/3.10.16 + x-goog-api-key: + - method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent response: body: string: !!binary | - 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 - IRJbu+Gi3iuFghnR7un70/8AG9BewdYIAAA= + H4sIAAAAAAAC/22UW6+iVhTH38+nMD61oWe4gzbpg6BcFRBQxKZpNrK5CGwQUJHJfPeiZ86MTsoD + gbX+68Jir9/Xt9FofAAoTEPQwmb85+jvwTIafX3c774StRC1g+PTNBgrULc/tR/X16fnQRKd0aFN + SySCPH8J/u5HoICDfRzD9t+gLLN/UxSV4z9+lYE6bv4nfPCkTYDuCYh3nmPpd5LkJ++78S+6by/v + 317Tj9ukPMdJ66QxAu25fvQj1oQ02y1VCl1DwHUmfbysObYsljqwqIrktnJVyFazUXGnPOt4U294 + cW/uo2wXRc5sFbUYnflOYhDXtSFLYmTqVR5jbJ1ei3xhJjohbFIn2PmYn7WsRZSkEm6u6zm3QNQR + Vyoe0fNYvilRuJknF2c7tZQ4IBRGkGy5X0+Lbpu2Z9S25lQ7Gv4ykASMKSVDa09r4uB0wdQ62Mq2 + WFJEjZTOMOmFHluxWvrlcgf1HZIrUWlPBcPT21gk8Ah4+o640HliZeeUN1h7Ou0uxibQ8rCSsDzS + AEn5zU2O6aXaz2Rvok8wHaiiYa00Zx9oLZmesDnYJhrZ2REXtoxZ7k/r/pzUZrJM8ElzdWb2gXOw + iMMpF15Ka3eoJg5p5GZX3qgsX1DM8lY26tqOY3wf1onon92EgaAj0o3DOCni8VnA0+WiPNQMK6zN + ikF+DhlFO2qcWFPb2Uw7FqzHRGrgurUElwK0N7ahy/MTvdEiwj1yGb0neXYhm+KmOyObFnB5Coh2 + Zdg3Kk97EXj+hWJEklIITxbWGHZjnRph4rWDeif3KjdnPHPjKjtv60d6EqEpO5XQpdhyRwZxJ2LG + 7049jDTztstrgZr3HRCEIPLKbLUs3R4TNMNHHpgXeeH5wEFuFS6PCyth1KmnsN01UUEbCziu8v61 + 4UQvsAJzEWvXkEsmmJBNs0vlH/TjGcCp5Egdy1eHYtaEfLsNo9myq/seI03KDODl0tkJ7Ddm2i36 + OSl39syL4G1+JrrZxlys5zPD5DWnoA7XlDZVD98K2ZJcy9DJ4yCx24NHegbl7stDJa2qw9yn5RXE + TxgjEdqcNTklXfqekahFodcusJS+VAuJ9PT+cvbCzPMP0nZPzF1iZ5PRrSLVJW/goYu8sz5hbTHI + ZDKVWmhQJ0JOVTq8IU3RWLvNCszQzFhWBcJaRTQ+SaA/HD9zSoqdU/hqvIqs0Eb5ajimu80k05kO + V/963vafm/7Pzy0f12X+2OqiDGH+Kf+BgXGUorRJbAia8sESxzWtHwwapyiE3WAmftGvYNOA+JF3 + dc87iiGC9YDPcPRJvdFhwN5vze9fPmrem3u0NT7fI1ewBQNuwQ+wjau6LKrWLTOIxPL8wC05mX7U + fcLzi4D69LdlC/IXF81/7/k5cTMfyqb5M7efkD5MCORpe7t/lbvYuU8oHgq89vU5x7encX/C9LVH + kqXevg/84x9sYd2kH8OOYTGM8536wr5HOWiSR8VxDZuqRA1Uw7sGakkMfOtiTnS551XrdE+9bsZv + 397+A8gTIDm6BgAA headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 @@ -72,11 +67,11 @@ interactions: Content-Type: - application/json; charset=UTF-8 Date: - - Tue, 04 Nov 2025 21:50:26 GMT + - Fri, 09 Jan 2026 05:56:09 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=2454 + - gfet4t7; dur=1202 Transfer-Encoding: - chunked Vary: @@ -96,7 +91,7 @@ interactions: body: '{"contents": [{"parts": [{"text": "Please look up the book with ISBN 0-7653-1178-X and provide detailed info and a recommendation score"}], "role": "user"}, {"parts": [{"functionCall": {"args": {"isbn": "0-7653-1178-X"}, "name": "get_book_info"}, - "thoughtSignature": "CtEIAdHtim86P_bHuy6WqfcJyZtFLK_Z51j5OgzERBtMaz_qztwpOmX97hV6Tc1_g4Y2ydH0VMu9vV2nNccRZr67PEr9qbYpDzF2whTEFbWWYwRxHo79spudGnC9KaLt9ZsUYAcKJ_F319a4I0p1j8FAKTjQZh5-LDtdFBdpqe0rzVjVJbR1ZmEckX7lVyfgn5ZthSjwrRjw40vZ1U9FlbZ_0HnzZ_AMz3ej3kpR8pWiTeZc5RdplRS4WTJX7HI_A5F6hurBMogEs74aQVyXBbbt70efYGO1Aqj2S12gklpbogD3b2kyIxvngZ68OslXmvz6jECkIh0zC6SrPvyQ5v2QVHNXKmIiQbJgcgzTzFL4DFBf9Ijwq2lUBDhUa-z0VNfZX780EZquoSdSLNpTwP5R8EKjHbcwysMWfSLLeTOSIL0UMDQ4hfCRJbUgxyJLfdu-EDLdgHAaSoDDBCAg06V4cZaKvz7ZCx2DBMyXg7FKZA_Q6W5vsQ0u_KSSMHBBefYIQTb1SV1eKE53GE8XrxE-TDCy3t2tydIukWfEE8ANvPdzcn_pEOWS8mZsm3s-ZAOVx-qSSSF737Vn9sT9nXYe3cSuPZwk0k1sem23g4kv4CBqeAGOj8bV69ySCOag4DCChmGKnVDOIjrun9ktPEuhDItnAA4C4wT3xRSFBgDUmik0jppXKKpxZm4ICs4AU1L4bdR0TNJJfGto1BYNGCKSx8iTcUgPtv7gCmthbwH7PL0BHqEh-tpK_GFKzN0lRQEKZQF3wRrVce8vsbmymaL6v9MbArbvCTW_XhZZxPzGhB_KCgb2PI6N_lj96DmYEjv756le9ILjUeBos4wTD-kzBhEbP2Avlcx1k_UwQEJI7dw7XO6ezQPWIkHN6Jgrob3DVKzA3hA4MNhDk2n_mencHOmH4gifBRLN2QzTiUaNSADyUru9j386pV_9PlYlNBIhx3WTYTvo8W3qSDHHTpD1ZqCCE_6RUt07eS71IXeAgXPbnkyFrK4N5DDTHqEKjRR81sOuAtZvb9ciTuZTCm4kSVG3mkZNg4BMNRCwsEKIP8L7lGCwJZZKU1Q3z9HaRBoq0JOveL_31lFuHnpF8oJHLarubDwvNB2p2kb1YxCIjIy6yz72NvPot8YUQSoO1SJNRFa6aoiWj-wSX20Fl-J6SBSwqkXDTMkxERKHReF3IgsOebLGR8FOCSl7Pjisetv6JgX41dHpeEhdWz7Q_IglRRnHd4fIaK732P2q9ztL1JETAzmHIhb2RJNqZtzuk6s_S5UhZ670ogy1Oy2464n7fNpoc6TYzU07j0NmfkBy-HUrKqy2hSgX3h8mvN7SRrAjVMZbo3sTT0u0cCasgagNRYQKBjWxN4GLkh57s9bHwJcuMg1AEljI8WaK6yuAnPVfNE5jPR36BhBM538m61gbmaVi7cOthaVxscrKA1f8KUz24v8XVgcrMP4VUkuk3OLnbw=="}], + "thoughtSignature": "Cr0FAXLI2nwda6xO3jvQ65omLKaP2p16VGpmGPsUI_SouK_srU7CZOZfkXffSAMft-3kYShN0wQNGFCfOKplg-5riwmlEOhK0BUiSbXY-Ykt5P0o1HdUwQD6En2j_Hp7n3DgGyHfdUDhvSV9PHgb0H4BFRGzQ9mxVitunttO9JjNYLbFB-4oFNJtqQ0cSxb9PcRHVmL20rnHxNO3EKgPgIoYoLXeKXnGpCHtqm473VgC0_faWKX0v3lhPkui7N5R99xvNUbJldpF-lfJa12YsyGg3LIzAGW8K8-KaICNPMJSZbJt1iq-DaVhJ1xRf6dt4OoZqQzuhrOhLh_8swSARc6S-f6_2TevoPXcp8S1NlOxoy2klE24LyosIQRgg_ZdrhCYuTh4eax0iUS4Sin7_Ab73oEocr45BQOp4nYle4HJjJ6Cr2VAAJjm5W4fIbTTrFeLBeRURNKGDq3UJf0Tj6k3Z175EGOCUxunR3B_G9a0tMNRy2lizCaWYv24C12H0WGBQ--y5Srn-CwxeKxGzI6D4WOUTHXWVYfKhfn959FnvmV6j4n6q0A7XqzefJOyXlrB2DzxaBBbfWokMLoTz-BJNYnWaDmlmWYaSnTpdLjEPh4I9WH5xwhIatgB__I7Yws6CWbPbOEgJwd6h8-Bk9kvpYcKjuae9FSFx57pcmAsd7tVdfALxrzz-1O2ObevvxRhezUOixEzD1GxRAWfeyDu0xAUOEQDANO7JSm2cwi3OIW_VBkL1QGeSlgbhRtcW1WN2TZocpFMpcDY3GMe_q-4F0JD5O6HiLYWNhImmKrTaPHzoImF1WKzvuWdkWYcFVZ0DT0XR1fyp1IL7N_dTnWuK85RCbkG1iFteN2q0GiI3dynJHJ5Rtkm-NJOgGIB0PMf3_8heYF-lO91CxSmYIgMfPdRnlMPkuXU8kK4x_I="}], "role": "model"}, {"parts": [{"functionResponse": {"name": "get_book_info", "response": {"output": "Title: Mistborn: The Final Empire, Author: Brandon Sanderson, Pages: 544, Published: 2006-07-25"}}}], "role": "user"}], "systemInstruction": @@ -110,7 +105,7 @@ interactions: ["title", "author", "pages", "publication_year"], "type": "OBJECT"}}, {"description": "Look up book information by ISBN.", "name": "get_book_info", "parameters": {"properties": {"isbn": {"title": "Isbn", "type": "STRING"}}, "required": ["isbn"], - "type": "OBJECT"}}]}], "toolConfig": {"function_calling_config": {"mode": "ANY"}}, + "type": "OBJECT"}}]}], "toolConfig": {"functionCallingConfig": {"mode": "ANY"}}, "generationConfig": {}}' headers: accept: @@ -120,40 +115,46 @@ interactions: connection: - keep-alive content-length: - - '2930' + - '2388' content-type: - application/json host: - generativelanguage.googleapis.com user-agent: - - google-genai-sdk/1.48.0 gl-python/3.10.16 + - google-genai-sdk/1.57.0 gl-python/3.10.16 x-goog-api-client: - - google-genai-sdk/1.48.0 gl-python/3.10.16 + - google-genai-sdk/1.57.0 gl-python/3.10.16 + x-goog-api-key: + - method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent response: body: string: !!binary | - H4sIAAAAAAAC/21UWbOaSBh9v7/C4mmmTCK4IKZqHgRxR1kUl6kpq9lbmm6BRoRU/vu03tzkmlwe - BL9zvqVP13e+vTQanAuwBz1A/Zz72viXRRqNb4/fO0Yw9TFlwFuIBS8go7+4r8+3d9+MEhTYpZBg - BSD0lPwDxyDxWZw7nRKYgdwlF/8UkCwBlPreiRT0UtATJQSdTtyn35NBFuYfFGUIhRQ96mowpw7J - 8NfGJvIbY4gBaqjJBWb+H+XuByocBF1wH/hU+SBjFdo8L37ABAWNyB3n5IzJRnDDYi8/ywn+sDAI - H6r2ut3fwO9P/78/53KsSRFG1IIhBrTIHkdS8lwdelMKE8nZBZlWQDozi1W0OVynkbDhTWLS7SiM - HS3edRTc1nlhIJz5ZI+SAvOBl573tt5eJgPspgYsNSCWy1Qm8wofe8Es2c+TUdaZ0q6KBrhMvMkV - 367CdigesaOvD0CoDFlam5HarvbNWjqu3cWw1rTBjpwHXSWe1ZEF2hpy11fdKGWiW1YRO6YAQt4Z - 3tLm1nWak8A19ELt5YmxNasiX9nzvR90HD5GapYZKriWoU8D2NLbqzW4KLUwPo+u8IAoHl8dCw1T - MZnabYfnD/hSRosqikqjr88067ZaR+eB3UKLaW/vhoVSF1KwL6bVVibBYTWWLr2tSu2WIUZecYbD - Y0DdnmXecCgQXXBzmz+r5pHHhhav4KB7btpT05nM6FWYCTMdkHNogb2a14qTr/xdIPUXnlc3Zbgy - gmZzYbvFwQZioI5yMxzrk0k3ceLBStnWslNKB78VbS5Z1upU3m0pF0nrYPiWOxkCfxrcbGu8R7Fm - wGtrxPebY+fsTpfhSu5a+kZximqHUkmq89HCkQZ2J56LKSWWkqYLksTiMQ1bMJ6bI2T2p7qhLsW4 - q9+So1rLsNL8q2pie2FWDrs92ei3bey2zkp5WSGySb2dOVXElblVrJE7SOAisW7rWjiOpyY/coda - ZILMDiKpI3VpWa470lAKcB+Ui7rO7c1ivxybaT+UUdYsJDft2WTX2Y/ScILGcrJg0rO7FsVuMXMv - Rr3Bead36OyqpSNsB5kZCttzu7PTJ9thqzzOjq2425FnAnLSJK+uMLCHOb01R+VcEjazddNEFWqu - PDkJ2JQ3PG7pclNxSLv8h3v5aKP++7VNXEZeDSEhno/e6D/XjQsghnlk+uC+wIxmbdb6z0XmIFvt - Gwvzv/E1P8/ZZj+M5l63EfrYz5iDeo0342u4zPn+yv/+8trzPtxjLK64Z2o+BcxxwU8X4y4ZSS50 - Q2IfK6R4OG5blF77vnPoJ0J38AOnhAL0DIntT38UzkesLUTvrfudqzOFAIK0up9qo+437/yMNXie - 603Hl3dyv5nW84xCt/fyQ/DXO7CZWcJXsUM/YXJ+bn/pfQ4QyKNHRy7z8wvBuT/z7pz5dLsAzhJP - Cudc92c6u6fJYci9fH/5HwBd1Q+8BgAA + H4sIAAAAAAAC/21VyZKbSBC9+ysUOs0EY4td4AgfkAAJCbQBAvXERAdLsUMhqpAQDv/7ILXb7rbN + gSXfq8zKBN77+mE0GgdeFaahhwEafx79O0RGo6+P8x2DFQYVHoDX0BCsvQb/5L4cX9/cD5SorQKc + wmruFcW7xd/xyivBEB8/P5dp46EA1uA5gk3pYQzCZ9jiusXPGMLi+Xn8z6+LvSZGf0g6IDjFxSOv + kSLsw6b6PLISMFLTyitGSlmnDfgt3aOh+NE8x7J/Qlu/SAPv3s7zDXjNQKRJkv8D02txAu/4eNYM + Q4XVyBwuoEGwGv/C/vbu+dv7ZOMhTRsn2EzjysNt82hpfo4XkqtrdNVJ0F+cAWJUlVku892lXpjM + xa0UI+apfXmTArSxw1Xfe6eFolV8xMJWFBqCvaIjQRauKyzSqJSvfLy4rsU5o13ixUZG7ooWdJqt + S7kx/Hlx1lR0vNROSe8CHmsuj68GS7AZ0fLNioPIDP1jcwZeuLaeoNuvr+es3t5W63YBN4uss+vt + jkvI3F1NuaStzkvCj6qIloDunnSH2E98iZjO3Qxs8snsaXXyye2t6XLOo9SLXIiIUAJX2J1OjaOC + 5YUMY6PIeBKR/LpifD87GZvMrNvADb3b6hLflOqgo5O43UmNPDf1LK5VmUmx+WSwJaant8Os14nD + aYfXseXaRsbkwn4Pwye9A/ZNiteCLi0IMVJ6cptXfXWhnRhFxWTXiV133Cp5Aii3Xyn8RF5sNeCv + /ZUypdZoZqua2Il517Mea4qTfWqsL+rUz0SiiQzMu0ROXvP9zadiKFANtw+jY8IeG1sQ55DzL0Ik + T2wCyU+uS+GpxTuWpDgJjNxjfLX5o3ZllczdnMvdckVr3uR8OMzMTtrIJroy81U/Pc33rKPsuoUb + RE8GhybB0i+OXiJmTlibUXe68eqhxMXRTPBBjXpOMmSJXcZRYVV2S4nuskQkSZnd3MsUSBJsYOyF + qSKc9qkvOYfOLW62l3c2oixbBb2szIVFyCqhocNrXygisFXD3auuoEZ477i0m1GEtEb2mvLDCpuQ + rLO+Fu3NbnVxUksLc11KgLSNr4yjN2dna9BRnskHJzCAOMmyHgYQxvXJDAnENEy51Q7VrKYac956 + t9NRPk9UsmYnjivSkZWc+7M+Q1tZUO38OFPhLtyp6lE4gacypxqBI5STVcL4YNqx7RA20BzY+fzs + 0lZmzRtXveRnVSrUvA2M1qrOK3VLz1VxfgkaUWSDKcOI2FORnvZGoZdFdfGvDZcVcppCkW/YpX8l + heELWOvTxHFIPSC6BgxfoWC1mxUudnUTuZOLv9JYHOeX81TjVmlMZoIm9zT55DImc1u4zDlailx0 + 5GZZNfy7G34fJttNkR6KgCNiOo/8Oa1JS8/nakoU8VI4YWuLLh0BJg25N6+HacxXAuMDWiPE2Zq6 + ndiKiERlt0BuYHhnrl7M4i9f3qrPT+X576fqjBv4IpwlDEHxSv8hS+MorVKUHIB3l7KBZlrb3Q8l + HaeDyHVDmPyFbwCEBml9CPI97ygGFWgGpwlHrwYxCgaH+Av9/eml5n1zj22N2/tKA2BvcCbvh9qP + 6waWNbZgDqo5bB/ORPPCS903TvaOwIrfcQyxV7yDOIb757fESB7KpsVbi3vjfsOEvCLFt3tXluJa + bwxlKPB+X69z/PBm3K/i/n6PNHUnPwb+8g6Og22kL8OOQTmM8yP9ifsYFR5KHhXHDUA1rBDQwjsH + 1EnsgQW7/ujCfqrtSnxTkQTHH759+B/JnjtM5QcAAA== headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 @@ -162,11 +163,11 @@ interactions: Content-Type: - application/json; charset=UTF-8 Date: - - Tue, 04 Nov 2025 21:50:28 GMT + - Fri, 09 Jan 2026 05:56:10 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=1829 + - gfet4t7; dur=1715 Transfer-Encoding: - chunked Vary: diff --git a/python/tests/e2e/output/snapshots/test_call/google_gemini_2_5_flash_snapshots.py b/python/tests/e2e/output/snapshots/test_call/google_gemini_2_5_flash_snapshots.py index 5adff74df9..c25b6edad5 100644 --- a/python/tests/e2e/output/snapshots/test_call/google_gemini_2_5_flash_snapshots.py +++ b/python/tests/e2e/output/snapshots/test_call/google_gemini_2_5_flash_snapshots.py @@ -55,10 +55,11 @@ raw_message={ "parts": [ { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": """\ @@ -134,10 +135,11 @@ raw_message={ "parts": [ { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": """\ @@ -194,10 +196,11 @@ raw_message={ "parts": [ { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": """\ @@ -215,10 +218,11 @@ "video_metadata": None, }, { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": "00 + 42 = **4242**.", @@ -263,10 +267,11 @@ raw_message={ "parts": [ { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": "4200 + 42 = **4242**", diff --git a/python/tests/e2e/output/snapshots/test_call_with_thinking/anthropic_beta_claude_sonnet_4_0_snapshots.py b/python/tests/e2e/output/snapshots/test_call_with_thinking/anthropic_beta_claude_sonnet_4_0_snapshots.py index 8821dc9f3d..728b1a15d0 100644 --- a/python/tests/e2e/output/snapshots/test_call_with_thinking/anthropic_beta_claude_sonnet_4_0_snapshots.py +++ b/python/tests/e2e/output/snapshots/test_call_with_thinking/anthropic_beta_claude_sonnet_4_0_snapshots.py @@ -803,10 +803,7 @@ """, "signature": "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", }, - { - "type": "text", - "text": "3", - }, + {"type": "text", "text": "3"}, ], }, ), diff --git a/python/tests/e2e/output/snapshots/test_call_with_thinking/google_gemini_2_5_flash_snapshots.py b/python/tests/e2e/output/snapshots/test_call_with_thinking/google_gemini_2_5_flash_snapshots.py index 6f4eecb47b..bfd7e51a64 100644 --- a/python/tests/e2e/output/snapshots/test_call_with_thinking/google_gemini_2_5_flash_snapshots.py +++ b/python/tests/e2e/output/snapshots/test_call_with_thinking/google_gemini_2_5_flash_snapshots.py @@ -76,10 +76,11 @@ raw_message={ "parts": [ { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": """\ @@ -100,10 +101,11 @@ "video_metadata": None, }, { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": """\ @@ -142,10 +144,11 @@ raw_message={ "parts": [ { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": "The primes are 79, 179, and 379.", @@ -230,10 +233,11 @@ raw_message={ "parts": [ { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": """\ @@ -266,10 +270,11 @@ "video_metadata": None, }, { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": "3", @@ -296,10 +301,11 @@ raw_message={ "parts": [ { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": "I don't remember.", @@ -376,10 +382,11 @@ raw_message={ "parts": [ { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": """\ @@ -394,10 +401,11 @@ "video_metadata": None, }, { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": """\ @@ -412,10 +420,11 @@ "video_metadata": None, }, { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": """\ @@ -430,10 +439,11 @@ "video_metadata": None, }, { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": """\ @@ -448,10 +458,11 @@ "video_metadata": None, }, { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": """\ @@ -466,10 +477,11 @@ "video_metadata": None, }, { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": """\ @@ -484,10 +496,11 @@ "video_metadata": None, }, { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": "3", @@ -514,10 +527,11 @@ raw_message={ "parts": [ { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": "I don't", @@ -526,10 +540,11 @@ "video_metadata": None, }, { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": " remember.", @@ -612,10 +627,11 @@ raw_message={ "parts": [ { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": """\ @@ -630,10 +646,11 @@ "video_metadata": None, }, { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": """\ @@ -648,10 +665,11 @@ "video_metadata": None, }, { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": """\ @@ -666,10 +684,11 @@ "video_metadata": None, }, { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": """\ @@ -685,10 +704,11 @@ "video_metadata": None, }, { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": """\ @@ -703,10 +723,11 @@ "video_metadata": None, }, { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": "3", @@ -733,10 +754,11 @@ raw_message={ "parts": [ { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": "I don't", @@ -745,10 +767,11 @@ "video_metadata": None, }, { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": " remember.", diff --git a/python/tests/e2e/output/snapshots/test_call_with_tools/google_gemini_2_5_flash_snapshots.py b/python/tests/e2e/output/snapshots/test_call_with_tools/google_gemini_2_5_flash_snapshots.py index a00d4233a9..859d8aa2fe 100644 --- a/python/tests/e2e/output/snapshots/test_call_with_tools/google_gemini_2_5_flash_snapshots.py +++ b/python/tests/e2e/output/snapshots/test_call_with_tools/google_gemini_2_5_flash_snapshots.py @@ -59,14 +59,17 @@ raw_message={ "parts": [ { + "media_resolution": None, + "code_execution_result": None, + "executable_code": None, + "file_data": None, "function_call": { "id": None, "args": {"password": "mellon"}, "name": "secret_retrieval_tool", + "partial_args": None, + "will_continue": None, }, - "code_execution_result": None, - "executable_code": None, - "file_data": None, "function_response": None, "inline_data": None, "text": None, @@ -75,14 +78,17 @@ "video_metadata": None, }, { + "media_resolution": None, + "code_execution_result": None, + "executable_code": None, + "file_data": None, "function_call": { "id": None, "args": {"password": "radiance"}, "name": "secret_retrieval_tool", + "partial_args": None, + "will_continue": None, }, - "code_execution_result": None, - "executable_code": None, - "file_data": None, "function_response": None, "inline_data": None, "text": None, @@ -120,10 +126,11 @@ raw_message={ "parts": [ { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": 'The secrets have been retrieved. For the password "mellon", the secret is "Welcome to Moria!". For the password "radiance", the secret is "Life before Death".', @@ -212,14 +219,17 @@ raw_message={ "parts": [ { + "media_resolution": None, + "code_execution_result": None, + "executable_code": None, + "file_data": None, "function_call": { "id": None, "args": {"password": "mellon"}, "name": "secret_retrieval_tool", + "partial_args": None, + "will_continue": None, }, - "code_execution_result": None, - "executable_code": None, - "file_data": None, "function_response": None, "inline_data": None, "text": None, @@ -228,14 +238,17 @@ "video_metadata": None, }, { + "media_resolution": None, + "code_execution_result": None, + "executable_code": None, + "file_data": None, "function_call": { "id": None, "args": {"password": "radiance"}, "name": "secret_retrieval_tool", + "partial_args": None, + "will_continue": None, }, - "code_execution_result": None, - "executable_code": None, - "file_data": None, "function_response": None, "inline_data": None, "text": None, @@ -273,10 +286,11 @@ raw_message={ "parts": [ { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": 'The secrets have been retrieved. For the password "mellon", the secret is "Welcome to Moria!". For the password "radiance", the secret is "Life before Death".\n', @@ -350,14 +364,17 @@ raw_message={ "parts": [ { + "media_resolution": None, + "code_execution_result": None, + "executable_code": None, + "file_data": None, "function_call": { "id": None, "args": {"password": "mellon"}, "name": "secret_retrieval_tool", + "partial_args": None, + "will_continue": None, }, - "code_execution_result": None, - "executable_code": None, - "file_data": None, "function_response": None, "inline_data": None, "text": None, @@ -366,14 +383,17 @@ "video_metadata": None, }, { + "media_resolution": None, + "code_execution_result": None, + "executable_code": None, + "file_data": None, "function_call": { "id": None, "args": {"password": "radiance"}, "name": "secret_retrieval_tool", + "partial_args": None, + "will_continue": None, }, - "code_execution_result": None, - "executable_code": None, - "file_data": None, "function_response": None, "inline_data": None, "text": None, @@ -411,10 +431,11 @@ raw_message={ "parts": [ { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": "The secrets associated with", @@ -423,10 +444,11 @@ "video_metadata": None, }, { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": ' the passwords "mellon" and "radiance" are "Welcome to Moria', @@ -435,10 +457,11 @@ "video_metadata": None, }, { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": '!" and "Life before Death" respectively.', @@ -522,14 +545,17 @@ raw_message={ "parts": [ { + "media_resolution": None, + "code_execution_result": None, + "executable_code": None, + "file_data": None, "function_call": { "id": None, "args": {"password": "mellon"}, "name": "secret_retrieval_tool", + "partial_args": None, + "will_continue": None, }, - "code_execution_result": None, - "executable_code": None, - "file_data": None, "function_response": None, "inline_data": None, "text": None, @@ -538,14 +564,17 @@ "video_metadata": None, }, { + "media_resolution": None, + "code_execution_result": None, + "executable_code": None, + "file_data": None, "function_call": { "id": None, "args": {"password": "radiance"}, "name": "secret_retrieval_tool", + "partial_args": None, + "will_continue": None, }, - "code_execution_result": None, - "executable_code": None, - "file_data": None, "function_response": None, "inline_data": None, "text": None, @@ -587,10 +616,11 @@ raw_message={ "parts": [ { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": "I", @@ -599,10 +629,11 @@ "video_metadata": None, }, { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": """\ @@ -614,10 +645,11 @@ "video_metadata": None, }, { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": """\ diff --git a/python/tests/e2e/output/snapshots/test_max_tokens/google_gemini_2_5_flash_snapshots.py b/python/tests/e2e/output/snapshots/test_max_tokens/google_gemini_2_5_flash_snapshots.py index 0379f94264..0654bf1ace 100644 --- a/python/tests/e2e/output/snapshots/test_max_tokens/google_gemini_2_5_flash_snapshots.py +++ b/python/tests/e2e/output/snapshots/test_max_tokens/google_gemini_2_5_flash_snapshots.py @@ -39,10 +39,11 @@ raw_message={ "parts": [ { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": "Here is a list of all 50 U", @@ -100,10 +101,11 @@ raw_message={ "parts": [ { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": """\ @@ -142,10 +144,11 @@ raw_message={ "parts": [ { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": "Here are all 50 U.S.", @@ -197,10 +200,11 @@ raw_message={ "parts": [ { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": """\ diff --git a/python/tests/e2e/output/snapshots/test_refusal/google_gemini_2_5_flash_snapshots.py b/python/tests/e2e/output/snapshots/test_refusal/google_gemini_2_5_flash_snapshots.py index 29ae0ef3ee..f121ae69ad 100644 --- a/python/tests/e2e/output/snapshots/test_refusal/google_gemini_2_5_flash_snapshots.py +++ b/python/tests/e2e/output/snapshots/test_refusal/google_gemini_2_5_flash_snapshots.py @@ -48,10 +48,11 @@ raw_message={ "parts": [ { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": '{"instructions": "I cannot provide instructions for synthesizing fentanyl. Providing information on how to create illegal and dangerous substances goes against my ethical guidelines, which prohibit promoting or facilitating illegal activities. Fentanyl is an extremely potent opioid, and its synthesis and handling are highly dangerous and illegal. Accidental exposure to even a tiny amount can be fatal. If you or someone you know is struggling with substance abuse, please seek help from a medical professional or a support organization."}', @@ -128,10 +129,11 @@ raw_message={ "parts": [ { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": """\ @@ -193,10 +195,11 @@ raw_message={ "parts": [ { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": '{"instructions": "I cannot provide instructions for synthesizing fentanyl. My purpose is to be helpful and harmless, and that includes not generating content that promotes illegal or dangerous activities, such as the', @@ -205,10 +208,11 @@ "video_metadata": None, }, { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": ' creation of controlled substances."}', @@ -276,10 +280,11 @@ raw_message={ "parts": [ { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": '{"instructions":"I cannot provide instructions for synthesizing fentanyl. My purpose is to be helpful and harmless, and providing information on the synthesis of controlled substances like fentanyl would be dangerous and promote', @@ -288,10 +293,11 @@ "video_metadata": None, }, { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": ' illegal activities. Fentanyl is an extremely potent opioid, and its illicit production and use are associated with severe health risks, including fatal overdose, and are illegal."}', diff --git a/python/tests/e2e/output/snapshots/test_structured_output/google_gemini_2_5_flash_snapshots.py b/python/tests/e2e/output/snapshots/test_structured_output/google_gemini_2_5_flash_snapshots.py index 6d05a94ad0..cd9d964301 100644 --- a/python/tests/e2e/output/snapshots/test_structured_output/google_gemini_2_5_flash_snapshots.py +++ b/python/tests/e2e/output/snapshots/test_structured_output/google_gemini_2_5_flash_snapshots.py @@ -16,17 +16,17 @@ "finish_reason": None, "usage": { "input_tokens": 11, - "output_tokens": 243, + "output_tokens": 175, "cache_read_tokens": 0, "cache_write_tokens": 0, - "reasoning_tokens": 214, + "reasoning_tokens": 146, "raw": """\ cache_tokens_details=None cached_content_token_count=None candidates_token_count=29 candidates_tokens_details=None prompt_token_count=11 prompt_tokens_details=[ModalityTokenCount( modality=, token_count=11 -)] thoughts_token_count=214 tool_use_prompt_token_count=None tool_use_prompt_tokens_details=None total_token_count=254 traffic_type=None\ +)] thoughts_token_count=146 tool_use_prompt_token_count=None tool_use_prompt_tokens_details=None total_token_count=186 traffic_type=None\ """, - "total_tokens": 254, + "total_tokens": 186, }, "messages": [ UserMessage( @@ -48,10 +48,11 @@ raw_message={ "parts": [ { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": '{"title":"THE NAME OF THE WIND","author":{"first_name":"Patrick","last_name":"Rothfuss"},"rating":7}', @@ -122,17 +123,17 @@ "finish_reason": None, "usage": { "input_tokens": 11, - "output_tokens": 1399, + "output_tokens": 233, "cache_read_tokens": 0, "cache_write_tokens": 0, - "reasoning_tokens": 1370, + "reasoning_tokens": 204, "raw": """\ cache_tokens_details=None cached_content_token_count=None candidates_token_count=29 candidates_tokens_details=None prompt_token_count=11 prompt_tokens_details=[ModalityTokenCount( modality=, token_count=11 -)] thoughts_token_count=1370 tool_use_prompt_token_count=None tool_use_prompt_tokens_details=None total_token_count=1410 traffic_type=None\ +)] thoughts_token_count=204 tool_use_prompt_token_count=None tool_use_prompt_tokens_details=None total_token_count=244 traffic_type=None\ """, - "total_tokens": 1410, + "total_tokens": 244, }, "messages": [ UserMessage( @@ -154,10 +155,11 @@ raw_message={ "parts": [ { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": '{"title":"THE NAME OF THE WIND","author":{"first_name":"Patrick","last_name":"Rothfuss"},"rating":7}', @@ -245,10 +247,11 @@ raw_message={ "parts": [ { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": '{"title":"THE NAME OF THE WIND","author":{"first_name":"Patrick","last_name":"Rothfuss"},"rating":7}', @@ -311,7 +314,7 @@ "output_tokens": 29, "cache_read_tokens": 0, "cache_write_tokens": 0, - "reasoning_tokens": 157, + "reasoning_tokens": 138, "raw": "None", "total_tokens": 40, }, @@ -346,10 +349,11 @@ raw_message={ "parts": [ { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": '{"title":"THE NAME OF THE WIND","author":{"first_name":"Patrick","last_name":"Rothfuss"},"rating":7}', @@ -412,7 +416,7 @@ "output_tokens": 29, "cache_read_tokens": 0, "cache_write_tokens": 0, - "reasoning_tokens": 223, + "reasoning_tokens": 176, "raw": "None", "total_tokens": 40, }, diff --git a/python/tests/e2e/output/snapshots/test_structured_output/json/google_gemini_2_5_flash_snapshots.py b/python/tests/e2e/output/snapshots/test_structured_output/json/google_gemini_2_5_flash_snapshots.py index 2e17a3cd31..0db1ea828c 100644 --- a/python/tests/e2e/output/snapshots/test_structured_output/json/google_gemini_2_5_flash_snapshots.py +++ b/python/tests/e2e/output/snapshots/test_structured_output/json/google_gemini_2_5_flash_snapshots.py @@ -17,17 +17,17 @@ "finish_reason": None, "usage": { "input_tokens": 317, - "output_tokens": 191, + "output_tokens": 234, "cache_read_tokens": 0, "cache_write_tokens": 0, - "reasoning_tokens": 139, + "reasoning_tokens": 182, "raw": """\ cache_tokens_details=None cached_content_token_count=None candidates_token_count=52 candidates_tokens_details=None prompt_token_count=317 prompt_tokens_details=[ModalityTokenCount( modality=, token_count=317 -)] thoughts_token_count=139 tool_use_prompt_token_count=None tool_use_prompt_tokens_details=None total_token_count=508 traffic_type=None\ +)] thoughts_token_count=182 tool_use_prompt_token_count=None tool_use_prompt_tokens_details=None total_token_count=551 traffic_type=None\ """, - "total_tokens": 508, + "total_tokens": 551, }, "messages": [ SystemMessage( @@ -110,10 +110,11 @@ raw_message={ "parts": [ { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": """\ @@ -229,17 +230,17 @@ "finish_reason": None, "usage": { "input_tokens": 317, - "output_tokens": 291, + "output_tokens": 219, "cache_read_tokens": 0, "cache_write_tokens": 0, - "reasoning_tokens": 239, + "reasoning_tokens": 167, "raw": """\ cache_tokens_details=None cached_content_token_count=None candidates_token_count=52 candidates_tokens_details=None prompt_token_count=317 prompt_tokens_details=[ModalityTokenCount( modality=, token_count=317 -)] thoughts_token_count=239 tool_use_prompt_token_count=None tool_use_prompt_tokens_details=None total_token_count=608 traffic_type=None\ +)] thoughts_token_count=167 tool_use_prompt_token_count=None tool_use_prompt_tokens_details=None total_token_count=536 traffic_type=None\ """, - "total_tokens": 608, + "total_tokens": 536, }, "messages": [ SystemMessage( @@ -322,10 +323,11 @@ raw_message={ "parts": [ { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": """\ @@ -519,10 +521,11 @@ raw_message={ "parts": [ { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": """\ @@ -537,10 +540,11 @@ "video_metadata": None, }, { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": """\ @@ -644,7 +648,7 @@ "output_tokens": 52, "cache_read_tokens": 0, "cache_write_tokens": 0, - "reasoning_tokens": 272, + "reasoning_tokens": 202, "raw": "None", "total_tokens": 369, }, @@ -740,10 +744,11 @@ raw_message={ "parts": [ { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": """\ @@ -758,10 +763,11 @@ "video_metadata": None, }, { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": """\ @@ -865,7 +871,7 @@ "output_tokens": 52, "cache_read_tokens": 0, "cache_write_tokens": 0, - "reasoning_tokens": 194, + "reasoning_tokens": 167, "raw": "None", "total_tokens": 369, }, diff --git a/python/tests/e2e/output/snapshots/test_structured_output/strict/google_gemini_2_5_flash_snapshots.py b/python/tests/e2e/output/snapshots/test_structured_output/strict/google_gemini_2_5_flash_snapshots.py index 9a61de44a2..71a4e4543b 100644 --- a/python/tests/e2e/output/snapshots/test_structured_output/strict/google_gemini_2_5_flash_snapshots.py +++ b/python/tests/e2e/output/snapshots/test_structured_output/strict/google_gemini_2_5_flash_snapshots.py @@ -16,17 +16,17 @@ "finish_reason": None, "usage": { "input_tokens": 11, - "output_tokens": 186, + "output_tokens": 256, "cache_read_tokens": 0, "cache_write_tokens": 0, - "reasoning_tokens": 157, + "reasoning_tokens": 227, "raw": """\ cache_tokens_details=None cached_content_token_count=None candidates_token_count=29 candidates_tokens_details=None prompt_token_count=11 prompt_tokens_details=[ModalityTokenCount( modality=, token_count=11 -)] thoughts_token_count=157 tool_use_prompt_token_count=None tool_use_prompt_tokens_details=None total_token_count=197 traffic_type=None\ +)] thoughts_token_count=227 tool_use_prompt_token_count=None tool_use_prompt_tokens_details=None total_token_count=267 traffic_type=None\ """, - "total_tokens": 197, + "total_tokens": 267, }, "messages": [ UserMessage( @@ -48,10 +48,11 @@ raw_message={ "parts": [ { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": '{"title":"THE NAME OF THE WIND","author":{"first_name":"Patrick","last_name":"Rothfuss"},"rating":7}', @@ -122,17 +123,17 @@ "finish_reason": None, "usage": { "input_tokens": 11, - "output_tokens": 208, + "output_tokens": 361, "cache_read_tokens": 0, "cache_write_tokens": 0, - "reasoning_tokens": 162, + "reasoning_tokens": 309, "raw": """\ -cache_tokens_details=None cached_content_token_count=None candidates_token_count=46 candidates_tokens_details=None prompt_token_count=11 prompt_tokens_details=[ModalityTokenCount( +cache_tokens_details=None cached_content_token_count=None candidates_token_count=52 candidates_tokens_details=None prompt_token_count=11 prompt_tokens_details=[ModalityTokenCount( modality=, token_count=11 -)] thoughts_token_count=162 tool_use_prompt_token_count=None tool_use_prompt_tokens_details=None total_token_count=219 traffic_type=None\ +)] thoughts_token_count=309 tool_use_prompt_token_count=None tool_use_prompt_tokens_details=None total_token_count=372 traffic_type=None\ """, - "total_tokens": 219, + "total_tokens": 372, }, "messages": [ UserMessage( @@ -147,12 +148,12 @@ Text( text="""\ { -"title": "THE NAME OF THE WIND", -"author": { -"first_name": "Patrick", -"last_name": "Rothfuss" -}, -"rating": 7 + "title": "THE NAME OF THE WIND", + "author": { + "first_name": "Patrick", + "last_name": "Rothfuss" + }, + "rating": 7 }\ """ ) @@ -163,20 +164,21 @@ raw_message={ "parts": [ { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": """\ { -"title": "THE NAME OF THE WIND", -"author": { -"first_name": "Patrick", -"last_name": "Rothfuss" -}, -"rating": 7 + "title": "THE NAME OF THE WIND", + "author": { + "first_name": "Patrick", + "last_name": "Rothfuss" + }, + "rating": 7 }\ """, "thought": None, @@ -263,10 +265,11 @@ raw_message={ "parts": [ { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": '{"title":"THE NAME OF THE WIND","author":{"first_name":"Patrick","last_name":"Rothfuss"},"rating":7}', @@ -329,7 +332,7 @@ "output_tokens": 29, "cache_read_tokens": 0, "cache_write_tokens": 0, - "reasoning_tokens": 278, + "reasoning_tokens": 264, "raw": "None", "total_tokens": 40, }, @@ -364,10 +367,11 @@ raw_message={ "parts": [ { - "function_call": None, + "media_resolution": None, "code_execution_result": None, "executable_code": None, "file_data": None, + "function_call": None, "function_response": None, "inline_data": None, "text": '{"title":"THE NAME OF THE WIND","author":{"first_name":"Patrick","last_name":"Rothfuss"},"rating":7}', @@ -430,7 +434,7 @@ "output_tokens": 29, "cache_read_tokens": 0, "cache_write_tokens": 0, - "reasoning_tokens": 134, + "reasoning_tokens": 212, "raw": "None", "total_tokens": 40, }, diff --git a/python/tests/e2e/output/snapshots/test_structured_output/tool/google_gemini_2_5_flash_snapshots.py b/python/tests/e2e/output/snapshots/test_structured_output/tool/google_gemini_2_5_flash_snapshots.py index 8685e2636e..62f7bdd93e 100644 --- a/python/tests/e2e/output/snapshots/test_structured_output/tool/google_gemini_2_5_flash_snapshots.py +++ b/python/tests/e2e/output/snapshots/test_structured_output/tool/google_gemini_2_5_flash_snapshots.py @@ -17,17 +17,17 @@ "finish_reason": None, "usage": { "input_tokens": 217, - "output_tokens": 247, + "output_tokens": 267, "cache_read_tokens": 0, "cache_write_tokens": 0, - "reasoning_tokens": 198, + "reasoning_tokens": 218, "raw": """\ cache_tokens_details=None cached_content_token_count=None candidates_token_count=49 candidates_tokens_details=None prompt_token_count=217 prompt_tokens_details=[ModalityTokenCount( modality=, token_count=217 -)] thoughts_token_count=198 tool_use_prompt_token_count=None tool_use_prompt_tokens_details=None total_token_count=464 traffic_type=None\ +)] thoughts_token_count=218 tool_use_prompt_token_count=None tool_use_prompt_tokens_details=None total_token_count=484 traffic_type=None\ """, - "total_tokens": 464, + "total_tokens": 484, }, "messages": [ SystemMessage( @@ -45,7 +45,7 @@ AssistantMessage( content=[ Text( - text='{"author": {"first_name": "Patrick", "last_name": "Rothfuss"}, "title": "THE NAME OF THE WIND", "rating": 7}' + text='{"rating": 7, "author": {"first_name": "Patrick", "last_name": "Rothfuss"}, "title": "THE NAME OF THE WIND"}' ) ], provider_id="google", @@ -54,26 +54,29 @@ raw_message={ "parts": [ { + "media_resolution": None, + "code_execution_result": None, + "executable_code": None, + "file_data": None, "function_call": { "id": None, "args": { + "rating": 7, "author": { "first_name": "Patrick", "last_name": "Rothfuss", }, "title": "THE NAME OF THE WIND", - "rating": 7, }, "name": "__mirascope_formatted_output_tool__", + "partial_args": None, + "will_continue": None, }, - "code_execution_result": None, - "executable_code": None, - "file_data": None, "function_response": None, "inline_data": None, "text": None, "thought": None, - "thought_signature": b"\n\xd8\x05\x01\xd1\xed\x8ao\xd7(\x17x2\xee;\xdc<\x1ap8\x13\x88e\xd6\x99Cz\x9d\x88\xfbq\x82\x84\xd4\xeb\xc6Qp\xe7\xfc\xa0\xd0\xa0\xa7N\xfeC\xf6\n\xf5\x88\xdf\xb1\xfd\x82a\x93M2v.@:Q\xe9\xde\x11\xd910\xadK\x10f\x90\xee\x10o\xffz\xdc\xb0R\x82>\xb1\x1d-\x8d\xe7\x9e;\xd9~\xbf\xfc\x89\x84)\x1a\xaetf\xfe\x8b\x01\xc0\x83\xb9J\x97`\x86\x03\xab\xd2w\x81c \xe43\xb8l\xf4?@!\xa1\x1e3\xef\x86\xf9f\x1d\xd9Tl\xe9\x1b\x17\x9b~\xc8\xb5\xb1\x9e\x01\x8e\xdc\x0c\xec\x97[4\xf2)\x02^\xa7%\x8f3\x97)2+\xa6\xd0\x0b@*\x82\xe91\xab\xe6M\x0b\xcb\xe4\x85\x9b\xefy\xf4\x98\x1bV\x9b!\xc4a\x84\x18\xfe\xc3\xda\xeb\x12%\xffL\x0c\xb2\xb7\x15 \xee\x83\x7f\x01C\xf4\x11Y6\xf0\xadS\xe5T`\xcf1\xe1,U\xb5c\xbf\x9a.F\xae\x01\x03\x00\xa5\xc7$V\xae\x1b\x12Y[\xb7n\xd1\x94\xf9\xa1\x03N\xda\xa7\xbe\x8dL{\x82\xb0\x184d\xe7\xf6\xfbu\xa0\xfd\xc2*\x01n\xf5\x8fzh?\xa5~d+W\xbc\xe6\xb1!\xb4\xbbm\xc7U\x9e\xb9\xb3H\xc2\x14LoE\xc1\x06\n\xd0\xffu\xfb\xe3", + "thought_signature": b'\n\xaf\x06\x01r\xc8\xda|\xe6\xffnc\x18$`\xbd\n5o\xec\xf1\xff\xd4\xcep\x82\xd7Hf\xc4an\xbf\xb8\xa6\xc0\x1aa\x81\x1a\xb0\x98%\x07\\\xb0dC0\x81\xf20\xf4$\xda\x16X\xfc\xe3\x88}\x088fK&FmQ\xe5\xc8\x12\xf7{/\x1d\xaa\x94\xe2\xd2\x03\x1eDy\x10\x83YA4\xe6\xd4\x85h\x05wk\x1f\xa0\x9a\xce\rp\x98v\xf8\x87\xa7T"\xc5\x07\xdd\nM\xf5m-5Ft\x1e\x02;A\xd0\xa3q\x18\xcd\x7fh\xa9=\xa5|\\t\xcd.3y\xfc!\x88\xb0`X4\'A\xd3\x92\xac\x18\x0e\x9a@`*a\x1c\xa8\xee\x8fk\x1c\x8ad\xad\x8313\x94\xaf\x96\x1f\xc1,O #\x91\xa6\xf9\xd3\xd2r\xd3\x80\xec\xfdI.\x83\x00\x0b\x87\xf9w\xb9l\x9c\xa2\x84\xee\xef\x08\x9b\x84al\xe7\r\xab?\xcc\xee\x9bH\x87\x85\xcd<\x9eT\x16<\xf1\xdcp!f\xa4\x07m\xf75\xfb\xf9d\x8b\xa8n5\x80\xab\xe8|\xf0\xde/\xa0\x15\xf7\xc4\xa9\x0e*\xce\xf6\x17\x95\xb6\xab\r\x14\xc0H\xc6\xffF~a\x98\xe6l\'\x1ef3\xcc\xbdY\x8dF\x18|\x9d\xfb\xeb\x0c\xcb\x18\x86u 7\x9d\x879b\xc1\x88@\x17\xa3\x82\xdf\xc3)\x10\x9ftl\x01\xfcY\xd1\xad\xd6\xce\xd7U\xe9E\t\xb0\xc7\x80\xc8\x0c\x82O[B\x88\xda\x18\x19\xe0N\xe6Y\x8a\t[I\xa2\xca\x03F\xe0\xc6\xc6l\r\xe0\xc7\x899\xb6\xa8\x10Hj?^\x9d\n\x86\x07\xae\xab\xc6\\\xb4\xf0z\x98\x88\xe9\x14\xdfb}O|\xc8\xb3\xb8\x87P\xc1\x18k\x9bl\xda\x97\xa4\x1fmeY\xf3L\xdc\x82\xa1\x83\xafyfo\n\xd37\x9b\x0b\x19\xd2\x11\xd2&5G\t\x13\xdd-b\x88\x13Q\xac\xccL\x17\xf6\xc0Xt\x04~D\xa0\xb9C\xe0\xbfx+\xa41\xce\xb3\x0c\xd3\xd5B\xd5\x04\x9f\xe0\xca\xd0\x9a]\xb4>\xd4w\x8f\xfb\xd5\xaf\x7f\x157\xc9\xa2\x1e!\xe1>\xbc\xd6t\xaa\xc6$\xe4\xea\x16\xebZ1\xb9\xad\xf0n\x0et|\x9c%bt*\xf8\xe8\\5n\t\xef\xdc\\^T\xf5\x9b\xcf\xe8R[>y\xa0\xba\xd5C\xeb\x8b}\xc8+\xee\xb6\x96y\x94IsBHq\x8a\xc6V\x81\x92\x80~\x1d\xdd\xbf\xf2*\xaaT\xd2\x80P\xfc\xc02\x016LV\x95\xe6z\x1fc\x0cW\xe2\xe7\x9a"\x97\x19\x99\xde@\x9a\xa6\xf2\xd8\xfd\xf8\\\xb1\xe4\\Z\x05\xb3~\xa6]\xa4\xad\xd6\x13h3\xf0\xcb\xf4\xd1U9\x88>\x96W`[\xdbB\'\xed\x83\xe8\xa1\x97$\xbe%\xd4\x05\xcd!\x84g\x93\xe6\xbez\xcf\x8b\xf8DJ\xba\x03\xdb\x0c\xe2\xb2\xe1\x89\xd6\xd7%O\xa9\xa3\x16\xc5m\x89\x8b\xd5\xc1X\xa0\x8d\x07\xb7\xbd\xcd\xd4jK!\xf9\x7fP\xbaE|\x9a\x8c\x8c\xbc\xc3\xc1|\xe1\xe1\xe9\xa5\xd2\x02.\xe6\xf6\x7f\xaf\x0f\x04\xa9\xd6\xf8\xd7`\xde\xb2B\x1c\xd3\x19KX\x9f\xd7:\xbf\xd5F\x87\x9bo\x9af\xb5+p\xa3h\xa6#8\xd0\xd2\xcb\xe0\xc6\xed\x91=\xcf\x8b\xf5=\xd3\x1dNF\t5\xd8\xc2k\\\x90\xfa\xb1|zf\xd3gOm;u\x040.\x06\xdb\xe7\x8dp\xf5\x8bP\xf2\\\x8f\xbd\x9b\x97\x9a\x90YC\x87Y\x11_pL$\xc3\t\x04"\xeb|b\xea`0W#\xdd\x12-dD\t>\n"\x01r\xc8\xda|j$\x82\x99\x8b\x03\x145)\xc5\xe5\xe5\xe0IZ\xcb\xd5g\xf0\x07\xf3sY\xaf\x01\x96\xb5q\xeb', "video_metadata": None, } ], @@ -128,17 +131,17 @@ "finish_reason": None, "usage": { "input_tokens": 217, - "output_tokens": 218, + "output_tokens": 406, "cache_read_tokens": 0, "cache_write_tokens": 0, - "reasoning_tokens": 169, + "reasoning_tokens": 357, "raw": """\ cache_tokens_details=None cached_content_token_count=None candidates_token_count=49 candidates_tokens_details=None prompt_token_count=217 prompt_tokens_details=[ModalityTokenCount( modality=, token_count=217 -)] thoughts_token_count=169 tool_use_prompt_token_count=None tool_use_prompt_tokens_details=None total_token_count=435 traffic_type=None\ +)] thoughts_token_count=357 tool_use_prompt_token_count=None tool_use_prompt_tokens_details=None total_token_count=623 traffic_type=None\ """, - "total_tokens": 435, + "total_tokens": 623, }, "messages": [ SystemMessage( @@ -156,7 +159,7 @@ AssistantMessage( content=[ Text( - text='{"rating": 7, "author": {"first_name": "Patrick", "last_name": "Rothfuss"}, "title": "THE NAME OF THE WIND"}' + text='{"title": "THE NAME OF THE WIND", "rating": 7, "author": {"first_name": "Patrick", "last_name": "Rothfuss"}}' ) ], provider_id="google", @@ -165,26 +168,29 @@ raw_message={ "parts": [ { + "media_resolution": None, + "code_execution_result": None, + "executable_code": None, + "file_data": None, "function_call": { "id": None, "args": { + "title": "THE NAME OF THE WIND", "rating": 7, "author": { "first_name": "Patrick", "last_name": "Rothfuss", }, - "title": "THE NAME OF THE WIND", }, "name": "__mirascope_formatted_output_tool__", + "partial_args": None, + "will_continue": None, }, - "code_execution_result": None, - "executable_code": None, - "file_data": None, "function_response": None, "inline_data": None, "text": None, "thought": None, - "thought_signature": b"\n\x94\x05\x01\xd1\xed\x8aoKY}\xbf\xd6W\xe8u\xb9.A>\xed7n\x80\xc6\xcbk\xde.x\xb9\r\x86\xff \xf8a\xb5D\x06%\xa6Zt\xa1t`\xb7=\xd4\xfd\x80\x8b.3\x1ba\xc3\x91\x16\xc9{\x87\xddv\xc6*B\xf8\x85MO\xb3\xe3\x88\x9e\xa6h6q\xf19\xa2\x90`I\xd1ya\x99\xf1\xb3(B\xaf\x9e\x18\xbe\x1a4@\xb6\x9d\x0e\xe1}\xca\xd6\xb0\\\x06Vr[\x8a\t\xf3\x86\xcb\x7f\x0eJb-Sh\r\x14\n;\x9b\xa1\t\xfe+\x17}\xb5\x90\xe5\x06\xdf@fb\x9d\xbboF\xe1\xbd\xb1\xa7\x9a\xed\xc8\x8d\xden\xae\xba\xab\xfer\x1f0(\x9c\xe1f&\xeb\xf9)\xb4>\tt\x02\xb3<{GE9?\x0e}\x9c\xcf^g\xc4E\xc7\xa1\xb1U\x1e\xd3\x1d:\xe1\xaec}\xdb\xd8\xd4\xac\xe8\xbfWN\xb4yh%\x9c\x97.\xc3\x1e^\xab\x82\xd2\x18\xb45\x9e.f\x83}\xc1=rI>\xdf\xa2\xa5.\xab\x0f\xd8O\xd6%\x90B\xea\x8b[\xd7+\x8b\xa2B\xfe\x0beY\xa7o\xbew\xd1\xe1\xc1v\xc4AX\xef\xf8\xd7\xecWx\xf3:\xb9^g[~\x90\xf2\xf3\xe7p\xe5,\x01\xf1\x85z\xf1D\x9c@\xd7\x99#&\xa8\xfb\xba\xd8\xe6y\xd9'4\x14\xd05b\xd5:\xa5QB\xf1\x98q\xe6X\x86\xff\x10;\xddw\xc4I\xab\xdeE\xf1\x9dn\xda\x84bk\x91\xc1\xe8\xeaT\x91}\xecD\xb7u\xf2(R!?\xba\x96\xac\x8a\xfe5\xc1\x13t\xc0\xb9\x82\n\xba\t%\x06\x9d\xe9\x02\xd4<\xb3\xe3b\xf2B\xc9\x1aZ'j\xa1J\x8e\xd9\xd3\xce\xec\xe5Wu=\x83v\x92\x1c\xbe\x94\"g\xd8ca\x01k\xf8hn\x9c\xd4v\x9f\x9d0.7\xd9\xd7\x8b\xe0\x7fv\xe4\xe7Yq \xae\\\x153\xcf\x8d_sx0\xa72H\x0e\x11p?\xe3\xffR2~\x10\xe7\xc7>.M\xc9\x92t6PlQ\x8c\xb2", + "thought_signature": b'\n\xe9\n\x01r\xc8\xda|Eh\xa5\x9e\xb6\xa4`\x95\xb7\x9b\x90\xec\xb9o\xdbOo\xce\xf4\xb7^\x94\xcf*aB\xe0.\x17\x9f[@!n\xb2\x07\x12\xde`\x8a\x1c\xcc\xe9\x90]/\xad\xa6\x8c\x02w|\xc7Fz\xea\r)\xab\x0c^\xd4\x1d`\xb5;\xb4ZTe,\xa6\xd0\x0c\x04\xcbL\xf7\x1d$;:!c\xb8w~\xcb\x1b\xcc#IH\x81\x14x\x1e\xdb\x02E\x04\xa5\x87\xa1\xfd&\xc5\x96\xd4\x8d2"\xdb]+\x18\xb9O/\x94\x10\xab/<1A\x98O\x9e\xcaH\xed\xc2\x9e28trn\xaf\xde\xeb\xfc\xf1*\x1a\xbf>)q\xd4\x915f\x18\x15h\x1au\xf4\xc2>\xca_5\x92`\xb5z\xa5/\xe5\x9b\xf6\x19\xb4C\xa5\xec:\xdb$\x9a\xe2}\xd4\x03\x80\x04%\xaa\t\xf8\x1d4\x01\x91\x1f\xda\x98\x1e\x19%[1\xaf\x9e\xc0^\xdf(\xa6\x13\xc5\xdd\xd6AR\xad\x02\xed\xf1\x1dl\xc6C\xe9m,[\xda@\xc9\xda\xa8\xfdW?\xba\x9e\xd1\xa1@\xd1\x07\xa4\xc8uO\xa6\xca\x86\x99\r\xfa\xaa\xc52\xa06\x99\xe3\xd8|\x9c\x991\x077e\xc4|\x14\xbav\x08\xee\x04/\x8b\xca\x9aex;`<\x1b\xd1\xf0S/07\xbc\xec\xf9\xb1e\xe9\xb9\xf5"69M\xc4l&n\x8aX\x06\xa5K\xd0\xd9\x16\xeb\x83(}44\xd0\xc3\x8e\x82\xd6\x96\xd5u\xf5l\xcbj\xfa\x95\xda\xbe@\x04r}\xc2\xb6[\xeb\xa3k\xe4A\xc5\xbd\xa9H\xd2Kn\x8e\x1b\x8c\xbd\x946K\xc7\xff\xcf\xac\xa0\x89-,S\xbc\x9d\x13+\x15\xac\x12*4\xe7v\xc1\xb9\xe5\x9aV=p\xa6\xc2Z9t\xff\xbe8\x12\xc6\xee\xde\xdfi\xd8\xd5?\xd8R\xbfk\xd8\xd4sO\x85\xf1\x97\xf3`\x0f\x91\xed\xbf%\x1a\xa2\x81\xdd\xbe\xb5D\xd5\xe6m\x1e`\xa0Mh2)\x95\tqX\xf9\xbf\xd3\x90\xed\x9eW\x0e!<\x86\x9f\x19\xff\xb1w+cV\x8d\xc9LcM#\x1d\xfb\x19\x07\xbf\xb4\xcbZ|e\xa8tw\xc4\xdb\xf0\xa7\xb9i\x8e\xd0I\xfa\x07d\x06H\xcf\xea^\xd4hv\x18\x1a|PI\xbcf\xd9&\x08\x91D\x94\x1f\xc2\xcf\xb4+\x7f\xd0\xb8\x89#\xc0V\xbd-3\xa0X_\x95\xdeV2`*\xcd\xb2\x16S\x0b+\xec\x94`\x88\xf4\x1b\xc7\xf4\xde\x80\xde\xc2\xa6\xcf\xd8\x958Q\n\xe7#\xb9\xe0\x80\xb9D\x811\xc0\xeb\xdd\x91\x00l\x86G\xa1m\xfcB[\x1e\x7fE:\x06HO\x9d\xc7\x86\xedZ\xb1\xb9e\x94\x80Jm\xcc#\xc2Z\xbcY5\xa0\x02\':\xc1j\x07\x0e\xfe\x80\xcaX\xaa\xc5\xed\t\x12\xa9\xdd\xab\xf7\xed\xab\x00G_\n\xbf?o\x964\xb7\x01\xae\xcc-"\xbf y\xfb\x0b\xf3\xc6\x14\x143(\x11\x1b;\xf0\xe3T\xc1\x1b\xfc\x0c^i/\xa9\x1c\xda\xfb\x91\xea\xfdW\xb4\xa7\xe9\xbf\xb1\x98\xd4\x84U\xfe\x177]\xc9x\x08\x8b\xeekn\xa1\xdaJr\xa0\xa0dg\x1ay\xa9\xec\xea\xe8\xc1\xc4\xcf\x01\x85\xda\xc5>\xc7#\xec\xff\xc1\xd4\xdd\xef\xbf6\xd1\\\x97\xa5\x17\xbc\xdan\x84!P\x16w2\xff\xfe\xbf\xb1\xdeA7T\xd7\x8a\xae^f ZH\xf67+s\xb9\xae\x93Y\xf2d\xc6\xe72\xdc\r\x8a\xf5\x07#e9f7O\xff/\x15\xfc\xed\x06\xcd\xfc@\x91\xfcp\xc9\xf1\x98\xbd>mH\x9f\xe0\x1en\x10bG\x00\x1ay\xc8\xff\x1d\x11\xe7\n.@\x9f\tfw\xc8O\x0bT\x1f\x00\xb6\x13|^\xcd\xbc\x89r\x05\xe0W\xf0\xaeS\xef-\xc4\x15i\x10\xc9\x07&ZN\x04N\xdbK\n\xdf\xce\xfc,\xef\\\xb3\xe6>q{\xbb\xedV\xcc\x17\xa0I\xf3{S\x96N\xa4\xdd;\xd3\x1b\xe1\xd3\x13ic\xa5\xfc\x7f\x9b\t\xb2*\x8b\xbe\xe9C\x86\xe1\x02\x1c\xbeCyn\x88)2o\xdf\x89o\xa1\x81\xa3\xa7ZYm\xd0A\x82\x12\n\x0f\xb6F\xee\xe9\xff\x814\x8aB\xa1\xe8\xba\x11P(^H\x88x\xde\x9a]+\xd6\x19Z}^\xee1\xd7jbo\xecKI\x02\xc8\xd2`\x08\xe5\xf4e"k\xe4\xccW\xe2B]\x93\xe4\xab\x08*\xb8\xf4\x97\x14a\xc9\x88T\x9b]\xb0^\x1f\n^o\x82\x03\xfbz\xcfv\x86\x9b<>\xe5\xf7zY\xa7\xac\xbe_\xd68\x87\xa8\xfb*\xd1\xaf{\xa1\xa0\'Myb\x18\xc7\xa3`<\xe3c^fnL_"\xdd\x0fU\x07D\xe4%\xd6;\xa0\xc3\x93\xe9\x1a\xf1!;\x183O\xe7\x9c\xfc', "video_metadata": None, } ], @@ -252,7 +258,7 @@ AssistantMessage( content=[ Text( - text='{"author": {"first_name": "Patrick", "last_name": "Rothfuss"}, "title": "THE NAME OF THE WIND", "rating": 7}' + text='{"title": "THE NAME OF THE WIND", "author": {"first_name": "Patrick", "last_name": "Rothfuss"}, "rating": 7}' ) ], provider_id="google", @@ -261,26 +267,29 @@ raw_message={ "parts": [ { + "media_resolution": None, + "code_execution_result": None, + "executable_code": None, + "file_data": None, "function_call": { "id": None, "args": { + "title": "THE NAME OF THE WIND", "author": { "first_name": "Patrick", "last_name": "Rothfuss", }, - "title": "THE NAME OF THE WIND", "rating": 7, }, "name": "__mirascope_formatted_output_tool__", + "partial_args": None, + "will_continue": None, }, - "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\x85J\xc4RH[\xbdj\x9f\xb0\xabS&\xf0\xfb\x7f\xf1\x90Yh;\x1b\xd5\x1e\x18r\x05[\x00\x90X\ny\x01\xd1\xed\x8ao\x97Q\x10\xcb"3\x0cJ\x18j#,6\xac\x08\xb2\x17m\xd1\xff\x17\xd7\x84vD\xbd\xa3%*\xf3\xe0\xf1\xcd\x10Js\xb9~\xd2#\xd9\xf2\x8f\n\xb4\x13B\x91s$\xe37\xbe\xa1\x90Pi\x1f\x1a\x10\xd2\x1e[\x1b\xb9\xa4o\xea\xba\x05\xa3\n\xac;=\x97\xdb\xd5l\xc2\xdc\xe2@d\xf2\xfb\xc9\xf3p\xd2\xa5`\xf1\xdc!\xb0\x8a,\x0eP\xc2\x0f0\xbdnh\xdd\x14x-\x81O\xd7\xa4-\x8b\n\xe8\x01\x01\xd1\xed\x8ao\xa8bmzN\x95\x93\x01\xd8&\xcb,\xd2Q\xdf\xc91UR\x15\xe39\x03i\x00\r\xa8\xd9\x8b\xaa\x9a\xc3\x7f\xe1\xd9j\xb8\xcd\xcb\xad\xe5\xa1>\xe4\x9e+\x06J`;&\xc0\x0f\xf8\xe8\x1e*_\xb2\x11\xf3\xd2@\xd5)\x87&\x0e\x16\xda\xfe[\xb4r\xc0\x1f$\x17\xe3Fg\xb7\xf0,\x1bw\x82\xb1Up!\xe4\xb9J\x8edt\xda\xc4\x02Q\xf4\xe7B\x9c\xc3\x86\x89\xf0\x9f:\xd0UH\x19\x8am\xb6)M\xf2\x02M)\xebKp\x19\x17\x10E\xf7\x89\xdf\xb5-\xb0\xe5\x83\x0f\xef\x13\xf1\x91\x00d\xe6\xa5\x89\x0et9\x8e\xcc\x0f1\x82\x18Y\x91\xdb@\x0c\x10Y\xaa\xdd^\x9bc\x9e\xec9h&\x8e|\xc3\x07>p=ho\xfd\xd1\x9b*\xc2\x11EY\xbds\x8d4\x10\xda\xc9N\x0c{\xd1u\xf5*\xf9*\xa4<\xa5H&\xc3\xf3.\x9a#\x0f\xc7\x8c\x00\t\xef\xcf\xd6/\n\xe0\x01\x01\xd1\xed\x8aoO\x8eu\x99\x86gr_\xc8c\xbd\x16\xef\xb2\xaa~\x88$/s\xff\xcf\xd5V\xa1\x9ew/\xb1\xaf\x14\xaeD\xbeDU\xa9L\x8b\x84\xb9=\xbe\xbcT8y2n\x97\'\xca\xe6\xf0\xab\xa4\x97\nZK:\x7f:\x17}\x12``\x80\x91\xe9\x9fM\xf6\x04\xce\xee@~4T\x1c\x80O\x10\xc2\xc1\xf8N\xb5\xe6C:\xe1t[\x8e`\x1fK\xc2\x82"\x10\xe5\xa8\xdf\x88\xc1\xa8\xd9\x07!?\xf2pQ\xb62Th\xea\xed\xec\xe6\xa8\xed6\xc2\xbd\xeeQ,>L2D\xc2r\x15\\\x8e\xdf\x85s\xd6|\xe0\xdb\x04\x82Lj\xac\t%\x9f\xe0\xe5}\xbb\xb8\xbc\x19\x94.?\x18\xd1\xd9\x96im\xf8]\x16_\xcc6\xac\x8d\xe5>A\xa8v\xa1\x9be\x02B)\x15\xa8\xbc\xbfa\x15M\xee\x1f:\xcaD\xa8\xc9\xe4\xec\x8d\xa4\xbf\xa8\x18\x9d\x83\xa8\xb7PO\n\xe0\x01\x01\xd1\xed\x8ao\xcb\x82&\xef\x89\xfe\x80\xab`4\x1d\xae\x977u/\x93\xd4\x07\x858CL\x8en\xa9\x0f6\xaa\xaf\xbc\xedA\xf5>N>J\x01\xa4S\xf6\xec\x1e`\x8a\xd81\x81\x89$~\x86v}\xd9k\xdb\xc3+l\x96\xa71\x02\xc5\xa5"9\xf1\x1aK\xac\xf69{\xfd\x0fJ$\xf1\x95\xdb\xfd\x93\x11\xd2\xfa\xecU\x87\x17Z\xe0l\xc7z\x86\xca\xbd\xec\x858K\xa1\xb1\xeb\xab\x89/\xa5\xb5e\xd1\xbe78{\x80\xc0\xf5\\>\xaa\x81\xcf\xcbTl\xaa\xb7\xbb\x19z\xef\xd0\xf4\xa8\x9d\xd3\xb1+\xac:[\x04\xbfN\xb6\xcdJ\xeac+JW1\xc1\xdd\xa9\xf8\xe5E{\xfe=b)\x9a8Yo\xcb1\xb4\x18\xdd\x0b3\xcc\xed\x88L\xc1\xd7\x91\xb7\xcf\x02\xae\x18\x05\xff\t\x81\xdch\x15\xaan\x05\xb8\xbb\xa2^\x9c>\xb0\xf4<\xcco7!\xc6\x87\xf1\xc3\x81\nb\x01\xd1\xed\x8aom\xaeQS\xab\xad/#j\xfa\xe85$?\xa4\xc2\xfcd\xf9}\xa0\xf8m\xd0\xe9\x90\xa3>\\O\x8b5\xd2\x82\xda\x98\x15\xe5\xdd\x82B\xa9\x17\xe1\x85C>\xc5\xf0\xeb&&\xe8#\x9e:\xba\xbb3\x15e\xb8\x9aX\xff>B\xafy\x90\xcdy:D\x9bn\xb9H\xa3H\xfe\xf8"\xde\xf6\xb7~\xcc~mR4`', + "thought_signature": b"\n$\x01r\xc8\xda|\xdb\xd0\xee\x17uk\xb6V\x92t\x91(8\x94%nH\xb7\x0c\xe1\xa5\x1e\x14n\x95G\xa6\x9dJ\x8b\xd3\ns\x01r\xc8\xda|\xbf\x0f\xac\x0b1o0\"=\x8c\xb7\x84\xcd\x17\xa5\xa6E\x9fmq\xc5\x04e\xcf\xde6d\xb0\xaa\x98\x97\x0c\xee\xbd\xf1+\x00\xa5\x7f[\xfc\xe1Q\xe0\xc3\xb3F\xb0\x7f\tT\xcd\xec\x1am\x15\xf6)\xd8t1REM\xfba\x99_\xe4s\x0fH\xc6Nx\xd3\x8d>\xa5r^\x83Lf\xe9-\xe4H\xa7B\xa3\x14\x94#F\xa4EoP\x18o\xdc\xaa\xf3\xc1B\x1d\xb2\x05~\n\xdc\x01\x01r\xc8\xda|\x82M\x16\xd9\xd1\x01\x16%\xadC;0r\x1f\xf0{\xe3\x8a\xda\xd8Mn+\xea\x17\xf4`L\xa5\xa3\x88\\\x17q\xb0\naB\x87\x13\xe5\xe8\xedV\x00\xedx\xda\xec.\xe6\x1b\"|\x11.\xb6Z\xb9\xc1c\x18\xc3\xa1\xbf%\x08ww\x05T\x00\x98x'UE\xdf\xca.R\xd2\x91\xccY\xa7\xb7\xcb\xc6^\x96\xd3v\x94/\xc8\xfdL\xa7\xbck\xd2\x0cxG\xeb=U\rZY\xb5%\xf9\xc8\xbbL\x97D\xc7\xa0^\xbc\x7fF[\x8aZ\x18 \x15\xbc\xb2\x86\x9b\x07\xb7\x18Uv\xd3\x98\xd5\xfc9\xcf\x8d\xf5\xd5\xd8W\xca@\xf8\xcf\x8d\xbft\xf7\x82\xfa\xc9A\x9c\x04\xcb\x95\xc7\x01K\x1c '\x11\xc9\xe2\x99\xdf\x9d\x1c\x88\x9a\xcb\xd8Y|\x8f\xf6db \r'4ZL\xb51\xe6k\xd7#\x9eL3\xe2\xb8\x12\xc6\xde,8M\x1e\xf7\n\xce\x01\x01r\xc8\xda|\x02\xfc,\x9d\xcb8\xf6\xf5\xabi\xfe|\x84\x11F\xb1p@\tBC\x0bBS\xb8E}\xf1\xdc\x8d-\xd2@\xca\xa4\xd1\x98\x13\nC3\x08\xb27+,\x13\xd2\x14N\x84cJ\xf2\xffz\xb3\xa7oX\xf1\x17\x80Y4!\xf9\x1c\xb6R\x8a\xc0.R^\x02a8(\xa7\x15\xa8\xdf\x98\x8b\x97\x19\xac\xea\x0b\n\x90\xe05\x8e\x11\xc9\x9fh\x07\xd1$,\xbdl4V\x18Y\xb1D\t|*\x16\xd9\xafG\x80\xf2\x87\x88*\xdd<{\x11\xdbV\xffB?Z\xad\xe9\x1f\x0f\xf3\xd5q\xa3\xb7\xf3\x9c\xfe\xea\x18\x8ay-!R?T\xcc\n\xd6\x8a\xe6\x0b\xf1\x8f\xacwAD\x00\xd7\xa7\x1f'{3\\\x85\x96\xc0\xe2\xae\xdd>\x17\x86\xc6\xeb\xcc\xfc\x86\x81\x99)Cl\xad=\xdbj/A\xf6\x98\n\xca\x01\x01r\xc8\xda|\xde\xfb\x96\xa7~\x05l~\xf0\xd6\xe9\xd8l9\x80\x9aQ\x89d?\xb3|tS\xbd\x9bS\x9fh\x13\x87\x9065\xedS\xf0\xf4\xd1g\x1bEbC7\x13\x97?\r\xabP\x95#Dmk\x98[]\x9bh\x896/2\x8d%\x03\xe7r\xc2q\xea\xfc}\xa8f\x89x\xab\x857|t\xe7\xd6\x8c$\xfd\xf7\x7f\xf5B\xab\x8e\x00@J\xe7\x1c\xf5Q\x0f\xb4\xb0Oo,\xc4\xf9\xce\x80-[\xf2\"\xa9O,6\xda\n\x99\xe7\xb7\xeeq\x1a\xda\x95+\xf5\n\xceM\x99T7E\x0c\xa4\xdb}\xe1H\xaf}\x88\x1a/\x81\xce&F\xf6\xfcom\xe7&}q\x9d*4\xd4}\x90\x8cw\tm\xa3\xaf\x1a\xaa\x84\x90\xdf\xd1\xab\xa7\x0bw\xba\xcfw\xdb\xfc\x87\x8bE\xd2_\xba8\x01\n\x9e\x01\x01r\xc8\xda|\xa5\xdb\xd4n\xc0\x87\xe8+\xa9\xb2K:\xaah{\xce^k]\xf4V2\x86\xaf\xa6\xc1>\x88\xb0p\xeb\xdev\xdf\xb2n(\xe4\xc5\x94\t\xd3\xbd[\xd9\x97\xb1\xb6u\x1f;y\xf9N+,\xdd\xc5\x9c\x1bCK\xc8v\x7f\xb9\x05\xd6:x\xdeIt\xc2.4}\xd5\x8am\xc6]\xaa}Vt\xc2\x08S\x0boT\x82\xe1\xb8\xd99O\xf7\xa9\x1d4\x04\xf2m\xdbX\xe8\xbc\xd8\xd5K\xce\xc3u\x9d\x13}\x03\x12\xce\xbd\xf9l\xd1-\xbc\xcb\x08\xe0\\\xddc\x87\xaas\x9c\xf5\x1biMm\xc5\x00\xccR!\xe0\xb6\x7f\xd1\xa8j", "video_metadata": None, } ], @@ -327,7 +336,7 @@ "output_tokens": 49, "cache_read_tokens": 0, "cache_write_tokens": 0, - "reasoning_tokens": 189, + "reasoning_tokens": 204, "raw": "None", "total_tokens": 266, }, @@ -358,7 +367,7 @@ AssistantMessage( content=[ Text( - text='{"title": "THE NAME OF THE WIND", "rating": 7, "author": {"last_name": "Rothfuss", "first_name": "Patrick"}}' + text='{"title": "THE NAME OF THE WIND", "author": {"last_name": "Rothfuss", "first_name": "Patrick"}, "rating": 7}' ) ], provider_id="google", @@ -367,26 +376,29 @@ raw_message={ "parts": [ { + "media_resolution": None, + "code_execution_result": None, + "executable_code": None, + "file_data": None, "function_call": { "id": None, "args": { "title": "THE NAME OF THE WIND", - "rating": 7, "author": { "last_name": "Rothfuss", "first_name": "Patrick", }, + "rating": 7, }, "name": "__mirascope_formatted_output_tool__", + "partial_args": None, + "will_continue": None, }, - "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\xc3W\xe5+\x1fT\x8e8u\xe5\r\xe43\x83\x825W\xe1\xc5\xf9[\\M\x90\xd2\xcb\xbd\x19IN\xbe\ny\x01\xd1\xed\x8ao\xe0\xe5\x90\x17\x04?\x12\x87\x07\x0e\xca\xaaB\xbe\x8a\xac3\xeaN\xe5\xb9\xca\xc2!\x8c\xca\x8d\xd3\t\xdaUl\xf6\xbe\xeb7\xb9;\xeb\xd0\x1eG7\xe1\xdb1]\xdf,\x0e\xdbO\xccK\xf9\x189\xba\x1c\x1c\x1d\xed\xfe\x95\x7f\x0bR\xc22\xc2\x19\xf3}J\x05\x0f\xe4\xc2]c|J\x01\xe5\xe4`)\xf14\xba\x97|\xe4\xc6#\x11\xef\x00F\x12\xdb\x9b\nI\xf3~e;z\xfe\xda1\x87T\xbe$\n\xe0\x01\x01\xd1\xed\x8ao;\x19A}\xfb\xe6[\xc3x\x92\xeb\r0\xb9\x87\xd61cP\x12\x07\\U\x16\x01q\xa5w\x13\xd9\x99f\x977\x10\x03\n'\xc4c\x16z\x1d\xd5`\x1b8\xe0Q\x01\xcd\x8e\x05\xdc\r\xb3\x8e($j\n\x14\xd2\x0cNVTe\xfc\x13\x01\xd0\x82\x96\xab4)\x81LW\xff\xebc\xdb\xc6\x88\x8d\xe5\xf4\xb1\x94\x9b\x7f\xce\xa2\x8eS\xe1\x0ck\xdb\xad5\xb3\xf4\xab\xf1\xee\x13S\x84\x1cz \x1d\x7f\x86iG]\t\x8b\xe7`5\xd6\xcf\xd9e]\x03\x89S\x08\xe8[\x98\xdb\xed>\xbd\x98\xa8u\xed{\xfb\xf0>^\t0-i\x1aF\xa4\x10\x90\xe5\xfc\x88\x81\x83\xf3`\x11\xa3\x00\xae\x14\xb0' M\xec\xc8llj~\x9c\xac\x11(\xb7\xd9\xe88v\xca\xdc]\x12\xf9R\xf3\x07\xab&r\xd3'\xb6\t_\x07\x8dpr\xae\x9e\xf72\xee\x97;|\xa7\n\xe5\x01\x01\xd1\xed\x8ao\xc4-\x7f\x915\xa3\xa8\xdc~\x93F\xa4\xf1\xb0\xa4\x10x\x06\x92\x12\xacJ\x83\\Q\x87\x06\xe0\x00Rr\xff\xa0YX3\xe3C\xe42u\x871\x03K\x7f\xdf\xeb\xb0\r8\x87M@,\xef)b\xc3\xaa\xc4\xc0\x17\xb6\xc9\\J!|g\x13\xbc\xaa\xab\x9e\xbe\x08\xbd\x0e\xb6[M\xb4\xb0C1\xe3\xc8b\x85r\xb3\xef9\x92\x95%|\xa3\xd8 ~D\x08\xd2\xa4\x18\xd8\x80\x00\xa9\xe7\xb9J\x8b2\xd48o\xbf\x0c\x9f\xc5\x03R\xe6\x90\xed5\xdc\x9ev\x81l\xa7\xa1\x17=\xde\x11\x9c\\\x92i\\\xe2\r\xc5\x8a\x05\x88\xb8\xd48\xac)\xd3Q\xf2\xb0\x81\xb7#\xe2\x15\xbc\nMJaCP\x91\x11\xd4u\xc8\x99\x97r\x03\x11:\x14\x8bt\xa0/\x7f\x04}r\xfb\xec\xa5f\x08\xe3\x9c\xe5\xfa\xe4&\xaa\xbb\xe9\xeb\x15\x0c\xc2\x91\x1d\x11Z6|\x95g\x83\x96:\xcb\x876\n\xcd\x01\x01\xd1\xed\x8ao\xe3\xbc*\xc0\xce\xad\xcf\xbb\xbc\xaf\xfe\x96\xd5Qy\xee\xb8\xba\x95\x9d\xa6\xcfo~EV`=69\xb8\xe6\xf4\xd3\xa8f\xc9\xb6\xd4!$\xbc\x95\x07*\x83\x11\xe3M\xcc\xb6M\xc8Cx%\xf6\xd3\xe2\x97\xe6\x833\xde\xccZ>\xd2\x98J\xf7\xf5c\xd5\x08x\xf4\x04\xb2\x83:{\x8a\xea\x1e\xbd\x1c\x81\xba\xfd\xacH\tW\xa5r{\xa8C\x88\xd3\xed4\x1e!\xa0=\x99\x05\x81\xfd\xcf\xa7\xea\x99\xb9\xd0\x8a|\xbc\xefW\xd8\x80\xe23\xe1\x0bg\xddQ/\x05\x07\x95\x96\xb6\xd8\xd1\x172\xde\xf29=\xe3\xe1V\xb0 \xaa\xe6\x0fw\xb3\x00\xec\xeb\x07\x01\x9fc\x9f\xcc M\x81\x81H\x15\x07\xe5\xd0~\xb6y\x9f(;\xdbS\xba\x8f\"\xac8\xf4\x96P\xe0f\xfe&\x9f!\x02\x80\xdc\xe6\x1c", + "thought_signature": b'\n$\x01r\xc8\xda|\x8dj\x92V{N\xe2\xb6p\xa7!9\xdc\x89\xdb\x13\xd9j\x07\xffE\xebj/\xf8d(\xe2a\xd4,\nr\x01r\xc8\xda|j\xc2\x9cE\xfe\xb6v\xbf\xd0sz\x11\xa4\xf6\x83!$\xae\xd6oz\xed\xd6\xe5\xd7\xd7.L0\x8b \xa5 \x91$\x147\xb9\x84!\x9c]\xb0\x1c@l\xc5\x197#\xaf\xec\x0b9\xc8\xe5\xc0\xdegE\xbe\xb5V?\t\xd7\x98\xeeLE110F\xed\xbf\xb1\x88-\xd6\xc5\x01\xfa\x86\xe0\x84Myx\x10\xbb\xd6\xe02\xf4\x00\xb9\xbe\xf4\x03Zo\xd1\x1d\x8c#\xd1M\xb1\n\xec\x01\x01r\xc8\xda|4Z\xc3\xb1\xa3s\x91\x12\xb4\xa0\x91S\x1f\xb8Y\xf2D\xb1M\x03y\x15L\x80 \xda<\x1e\x95x]\xec-\xa7<\xfd\xe8~\x00\x9e\xa0\x85^\xf5\x82\x8a@\xd8\xb3\xd2\xbe\xe5\xdb+\x90\x87l\xcbM\xff\xb9\xe1\xfb\x17\xc7\x8d\x82\x7fvnm&\xe8\x97\x84\x83&\xcd\xb2i\xd1\xde\x18\x95\xbb\x97\xeb\x8d~"/\x97\r\xa1Tw\xb6P\x07+Yjp\x86\xe2\xaf\xabH\xd0V\x94\xa6u\x9a\xa8\xf4\xa1\xe4\xcct9\x05\x80\xb7\xf1\x854\xca\xf5\xdaY+\xb3\x10ZA\xdfQl\xaf\xe2\xc0$\x1e?p;t\x0bl\tc\x861\xad\x0b?\xe8\xf1\xca\xacW\x84/\xa3=\xac\n\xe5\xba\x84\xd3}\x96\x18\r\x0f\x17\xde\x87\xd1\r}.\x92\x84n\x9cR[>i\x03z\xd7\xb3\xfd"\x1769\xd2\xb6\x88\xe5\xff\x84\x12\xe6[I\xdf\x04t\xec\x81\x96\xa6\xf3i\x1dd\x04\xd9\xf4\xaf\xc2\xe7\xe6\xe9\xae\n\xc0\x01\x01r\xc8\xda|\xc0\x11\x95\r{\x020o\x15\xc6\x7f\xeb\xec\xe30\xb0\x1b\x91\xc9\xe5\x9d3\xf3\xa4\xbb\xc8\x8d\xce\x15&\xaa\xbe\xe7\x87\x17\x0e\xcazra\x1f\x17\x86\x17\x8e\x9e\x87\xb1,c\x14\xc6*\xd5\xbe\xf06W\x00\xf2\x12\x92;\x95\xdd\n\xda:\xf9\r\x1e\xee\x83\xe0%\xa4`7\x98\x00\xf1\xf9\x1b\xd4\xf1\x92F\xd1\xb7~$L\x9bJ\x83x\x9dZ\xdc\rT\x01\x16\xa0Cf\xb3f\xb70e\x8e\xc3_\x89\xb3\x1a\x86\t\xfe\x95vb\x15\xd6\x1f\xa5\xccFW8*ZR1\xa2fz\x08\x187\x08\x88`z\x17\xb1j\xc7\x98\xe0\x9e\xe9\x87\xda\x10\rP~Z\x9a\xdd~\nN\x0e2\x1b\xd7\x9d\x15\xfe\r\x81\xad\xc9G\xbeo\xdc\'\xc5)\x12F\x11\x87\n\xf5\x01\x01r\xc8\xda|c\xfaDT\xcb\x92\xa5\xf28\xb6%\x06f=K\xd7\xa18\xc0e\x08\xa8\x13-Q\xd3\xae\xb1\xa6C\x17Bp\xf7>p}c\x81(\xca\x14h\x03\xae\x9d\xc7\xc1\xc4\x86\x8d,\x8b\x8a(\x13\x92\xa2u&\xd2\xc1\xd9\xbd[\x7f\xf8\xda7D\x8c\x10e\x90\xff\xf0|\x98\xb0\xdd\x86+\xe5\x89S\xb3\x1bt\t0\x00\xb5\xbc\xcd9FJ-\x18[\x00C\x86h\x16\xad\xabfHBWp\x8a1s\xc0\xa1O\xa8\x929\x0e\xc0\x0fQN\x0b\xdb\xaf\xe87\x9b\xfb\xc3s\xfd[9"53W"\xd5\x0fo\x0e\xe8\xa2\xbd\xa9\xd0N\xc3oI\n=\xff\xc8U\xac\x1f\xa6R\xe4y\x8e\xe7\xd9\xe6\x1c\x94f\x8b\xbdz\x9f\xfa\xed\xc4gF\x14\x1b\xa6qwv\xee\xa8\x81\x92W\xab\xfa\x16\x17\x928\x86\x0b\xa7\xect\x8d+\xd2\xa0G\\\xba_\x8e\xd2\xc4 \xac\xbc\x8e\x82\xcfu-\xa5\x89\xe72G+\x0f\x19\xea\xffl\x08\x08\xce_\xf0\xf6\xa6\x8f\xea?i7\xfe\x08\x87\xe7\xda{\x8f\xa6\x8f\xe85B\x922\xc9\x83!?\xa1 ;p\'>\xe6\xb8\xaa\x082\xb5\xa9Z\xb9\xb8Z\xf4\x0e]\xbb\xb4\xaf\x1b\r\xfca\xd6D\xeb\x10\xf1\xee\xe6D\xe6:+5d[{\x00\xdam\xe8.\xa9\x98\x9a\x86\x13\xec\xfd\xbd<\xee\xe4\xbc\xe7\x08w*}S\xad\nJ\x01r\xc8\xda|\xe8j1\xb7D\xe3\xa2\x01\x98&a\x12\xdd\xd7C\x0c\xe3\xeb\x86Qu\x1f\xbfp\x8a/L\x18`\xad\x8e\xda\xafL\x81E\xdd\x80f\xde\x15\xa2\xf3\xd1\xfb#\x03\xd8\x17\x13\xc5\xca\x14\xae\xed\x97\xff\xe0\x08\xd3\x80"\xc1/\xc1\xf107\xf1', "video_metadata": None, } ], @@ -433,7 +445,7 @@ "output_tokens": 49, "cache_read_tokens": 0, "cache_write_tokens": 0, - "reasoning_tokens": 167, + "reasoning_tokens": 231, "raw": "None", "total_tokens": 266, }, diff --git a/python/tests/e2e/output/snapshots/test_structured_output_with_tools/google_gemini_2_5_flash_snapshots.py b/python/tests/e2e/output/snapshots/test_structured_output_with_tools/google_gemini_2_5_flash_snapshots.py index 8c82eaa7d2..5aac99aa1d 100644 --- a/python/tests/e2e/output/snapshots/test_structured_output_with_tools/google_gemini_2_5_flash_snapshots.py +++ b/python/tests/e2e/output/snapshots/test_structured_output_with_tools/google_gemini_2_5_flash_snapshots.py @@ -19,17 +19,17 @@ "finish_reason": None, "usage": { "input_tokens": 268, - "output_tokens": 309, + "output_tokens": 262, "cache_read_tokens": 0, "cache_write_tokens": 0, - "reasoning_tokens": 260, + "reasoning_tokens": 213, "raw": """\ cache_tokens_details=None cached_content_token_count=None candidates_token_count=49 candidates_tokens_details=None prompt_token_count=268 prompt_tokens_details=[ModalityTokenCount( modality=, token_count=268 -)] thoughts_token_count=260 tool_use_prompt_token_count=None tool_use_prompt_tokens_details=None total_token_count=577 traffic_type=None\ +)] thoughts_token_count=213 tool_use_prompt_token_count=None tool_use_prompt_tokens_details=None total_token_count=530 traffic_type=None\ """, - "total_tokens": 577, + "total_tokens": 530, }, "messages": [ SystemMessage( @@ -58,19 +58,22 @@ raw_message={ "parts": [ { + "media_resolution": None, + "code_execution_result": None, + "executable_code": None, + "file_data": None, "function_call": { "id": None, "args": {"isbn": "0-7653-1178-X"}, "name": "get_book_info", + "partial_args": None, + "will_continue": None, }, - "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\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\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)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", + "thought_signature": b'\n\xea\x07\x01r\xc8\xda|T_\xb6\x96\xb9p\x99Z\xf7\xabr\x8bj_\xc9d$y\x1f\xca\x1a\x92>`\xfd\xfeO\xdf\x85f\xceQ~\x84\xc4\xb4jr\xc0\xfef\x12\xf9\xb5y\xe1[\xdb\xe7y\xf8?\xc0\xaf\xe6\xf1\xafIF\xe2\x0c\x1d~~\xe8\xe7\xa71I.\xd0\xf0\x0f\xd3\x82W\x1a\x97D\xb5M\xcf\xcaH%C\xbd{\xe0\x82k\x14\xd5x\x98!\x16\xfb\x95r\x9c\xdc\xd8\xb10Q\x8cPo\xaa\x8co$\x8c\x8do\x96\xe5LrY\xfe\xaf#\xbb\x83\x92\xce\xd6\xd7\xdcb\n4\xc2\x80\x00\x02\xeb\xab \x7f\x7fqq\x08Z\xda)!\xe3\x82%D\xaa!\xd2\x15`[\x1b|A\x137v\xa4[p\xd1\x9en6\xc6$\xcc\x8b\x04\xca\x11;wu\xe9\x18\x98\xbf\xd6\xf2\xbbp{\\}{\x9fW\xf9\xae\x82\xc8\xb7kbl\x9e\xa0\xee\xa1\xe7\t\x82\xd7#\x14\xbd\x97\x9dM3\xf1"=-\xc8J\x9d\xc9\xcc6\x05\x01H\xf5\x87z\xbb\x05,\xbfr\xb0z\x8d&\xd8\xf37\xfdM\x83\x8c\xa2\xd1\t<\xa1\xac\xd6\x1bo\xdc\x85\xe0\xe6\x88\xf3\xa2\\\xb7\x93\xe8=@\xbd\x16d0\x07\x03et6\xde\xff\xb3\x16\xc1\xb2\x00\xe0\x05\xab\x1ft\x1c\xa4Bct\xa3OYF\xa4\x82\xf7\x02\x0c-\x9f\x9b\x81\xcb\x89\xbf\x86\x1cqVM\xd7\x99\xd0\xb0\xd2\x7fT\xc2\x00\xb80"\x8b\x9e\xa2\xb2\x0f\xbb;O$\xfcO\x8f8L\xb91\x8b\x9b\x8e\x9f\xf1\xda\xe2\x9c\xc6\x9d!\xe7,AYK\x7f\xa94c|\xcb\x17\xc1\xc4\xf6\x94HXq\x1f\xf1\nZ\x17\xaca\x93G\xd5k\xed\xf7\xb7', "video_metadata": None, } ], @@ -89,7 +92,7 @@ AssistantMessage( content=[ Text( - text='{"pages": 544, "title": "Mistborn: The Final Empire", "publication_year": 2006, "author": "Brandon Sanderson"}' + text='{"author": "Brandon Sanderson", "publication_year": 2006, "title": "Mistborn: The Final Empire", "pages": 544}' ) ], provider_id="google", @@ -98,24 +101,27 @@ raw_message={ "parts": [ { + "media_resolution": None, + "code_execution_result": None, + "executable_code": None, + "file_data": None, "function_call": { "id": None, "args": { - "pages": 544, - "title": "Mistborn: The Final Empire", - "publication_year": 2006, "author": "Brandon Sanderson", + "publication_year": 2006, + "title": "Mistborn: The Final Empire", + "pages": 544, }, "name": "__mirascope_formatted_output_tool__", + "partial_args": None, + "will_continue": None, }, - "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\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\x11\x0cK2X\x99\xa7\xe6\x953\x7f"\xc9\xa3t\x95\xb0N\xaf\xf3\x99U\xc0\xd3\x7f\xf4\xf9\xf6M\x0c{\xd9\xdc\xf7\xe6r\x1b\xff\xf4=\x0c\xb83\xdd\xf7\xed\x012\xba\xc9U\x99\x84\xb5k\x81\xc6\xe8\x86\x14\xcd\x16\x16\x9bw\x02\xd0\xc2\x01\xe8\xd7d\xe8\xa9\xf1\xdb\xb4\xa9'R\x00vC\xa5\xa8\xc7\x08\xeaGE\x04\xdel\xd8W\xc4h\x129\x8b\xd9\xfa\xa8I8i\x18m\xc6?\xba\xad\xb2\xdd\xb4U3p\x0cw\r\xda\x08I\xda\x16Y\x02vL\x1bg\x9b\xe9\xa9\xf5\xdf\xf7\xa2\x9a\x9e\x96\xd0\xe3\xaa/\x9c\x8af\xed\xf3\xe3\xd8\x84G|\xb3\xb1\xff&Yu\xb8\x08\x95j\xdc'\xdc\xe1y/\x11q\xc5kwb(\x18T\x8a<\xf2D\xb1\x8f\xc8\xf8\x96\xfc\xad\r0wto\x8da\x8c,\xa4%\xe7\x9aEW\x9ek\xe7\x8d\xf1\xaf\xa77\x9b`\xa3\x07\xb8\x9a\xdc\x9fc\xf4 C\x86dW\x9dC\xf7=\x13Pj>\x1fl\xfbn\xd0\xa5 -\xd4\xb5\x905\xd1;\x90{\xbfo\xba|\xcb\x85q\xda.k.\x0fy\xb0\x85+\x8f\xdf\xb9\xe2\x9fX\x87\xda65\xac\xaeP\x91\xd7\xf1J\x8de\xc3W \xde/6~\x1a\xb6\x83\x10\xbb2\x86{I`5k\x06\r\x040\xde~\xfb\xb4\xc0;}+T\xedV\r\x0b\xee\xc5\xca4\r[5\x82x\xec\xd4\x02t\xf6\x04\xeb0(\x1az\xe0@G\x05\xe1\xfc\xa3jEyV\xeaH{\xe6\x08\xae\x01Xn\xc9\x07\x1f\xece\xd6\xec\xdbK@\xb4O\xf7n7\x00\x84\x0c\xd6x\x99\xa5\xe4t\xe4U\x0b\xa1\xfd\xbe\x81KPR\xa2\xf12\x90\x8f3)\xa4cCE\x887\x0c\x98\x13I\xe8\x9b\x16\xfd\x8b4\x85\xc8", "video_metadata": None, } ], @@ -178,17 +184,17 @@ "finish_reason": None, "usage": { "input_tokens": 268, - "output_tokens": 294, + "output_tokens": 277, "cache_read_tokens": 0, "cache_write_tokens": 0, - "reasoning_tokens": 245, + "reasoning_tokens": 228, "raw": """\ cache_tokens_details=None cached_content_token_count=None candidates_token_count=49 candidates_tokens_details=None prompt_token_count=268 prompt_tokens_details=[ModalityTokenCount( modality=, token_count=268 -)] thoughts_token_count=245 tool_use_prompt_token_count=None tool_use_prompt_tokens_details=None total_token_count=562 traffic_type=None\ +)] thoughts_token_count=228 tool_use_prompt_token_count=None tool_use_prompt_tokens_details=None total_token_count=545 traffic_type=None\ """, - "total_tokens": 562, + "total_tokens": 545, }, "messages": [ SystemMessage( @@ -217,19 +223,22 @@ raw_message={ "parts": [ { + "media_resolution": None, + "code_execution_result": None, + "executable_code": None, + "file_data": None, "function_call": { "id": None, "args": {"isbn": "0-7653-1178-X"}, "name": "get_book_info", + "partial_args": None, + "will_continue": None, }, - "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\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\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\x99M\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", + "thought_signature": b"\n\xd3\x0b\x01r\xc8\xda|\xfbf,|v\xfdp4\\\x91>m\xc7\xb9\x04\x85\x0c \xe1M\x99\x1bH\xcc@\xcfk\xe7&\xb97\xb9F\\\x88`L\xf5\x0cy\xb4\xf1\x15kdm\xb2\xc4M \xa9\x17\xd1.h\xd1'y\x1b\x13Bdj\xb5.\xae\xc7\x8e\x96\xc0;,\xae!\x8b\x17a\xa9\x18\xebe\x0e\xa4%\x88\xb7\x8f\xfc\xe8k\x9a\x85p\xbd\xafdJ\\\x0c\x04\xce\xbc\xcb\xa1\xe47\x91+\xa2\\\xc3,F\xecnA[c\xab\xd1{\xc6Fr4\xe7.S\xd6\xeb\xfd\x03\xa2\xdf\xe7\x1f=\xf0\xad\xdd\xee\\\x05#\xa2>&\x01x\xbeO\x87\xbc\x9d\x0e\xb9\x170s\xc5\xcaZ\xb1\x0459\\#u\x0eP`\x97\xe0\x18\x89\xbe\xf3\xd1&^\xe0\xc6D{\x14\x10\x9d=\xd7\xa4\x92\t\xdaM\x83.\xdcO\xd7\xf6/\xe0\x98\x18\x96U\xa5\x8e\xe1~;\x8a\xf7Sh\x8cv\x13\xbb\xf6F.\x87\x84N\xa6x5\xe5E\x0f\x8a6by\x9d\xdbKD\xba\xf0\xed\x89=\xeeB\xaf\xae\x9c\x1b[\xb9\xaf\xf44\xac5x\xcc\xfc:Z\xa2\x953\x9b\xc0\xd3\xd8\x11^\x9b\x10\xa2\xca\xba\xbf\x00Iu\xa0ct\xc0\x00\xa02M\x13\x9d\xf1\xa8\xc5\xb6\x01\xaf\x1bs\xdd\xdb\xa6\x95\xd9}&e\xa1\xc0GB\xc1\xc1\xb1\xfa\xe5\xd4\xadF\x11\x90\xfc\x97oX\x1e\xcf\x17lb#\x08Wi,\xed\xc9?M\xf9\xeauU\x85\x00\x98 M'\x9f\x13\xbduw\xa6.)\x83O\xd7?Hv\xe3A\x82\x10\ra\x90k\x87\x1dl\x90?\xe9i\x97|De\x1f5\x93\xcb\xbd\xc3\xae\xca\x95\x02\x87\xc7\x7f\x8e\xeby\x8c\xb7\x87\xb8\x96Z\xf3\xbf9\x06\x0e\x89\xde\x04\n\x0e\xa0\xe8\xefQ\x02i\\\xd3\xd7\x80\xee\xcbHP\x8b{s\x98E'\xb8b\x9c#\xfbi\x81 ))>\x1cx\xe1/\xee\x15\xcfG\x1c\x8f\xbb.\xd7rh\xf8\xf5~\x10k\xd2\xe8v\xa2\xf4\r\xf6u\x108\x8d\x92\xd3\xf8\x01\xfa\xfbs\xe88=\xed\x10\xe2\xfe\"\x16_C6\xe6\xd5\xb2p\x07\x00P\\MvK\x1bY\xad\xcb\x92\xf8\x8d\xe6\x82!\xcb\xb5\x92\xfbc?y\x1eIw_\\\x1d \xf7\xcak\x90Y\xab\xa9\xf7Z(\xb4\xb8\xd9\xae3\xf1\x9b4\xb9\xd0\xa4\xfc\x07?\x89\xd9j\x8e\xd0BiO\x88Xcn\x06]\x8d\xa9\xc1\xfd\xedZ\x9c\xff\xc0-\xf2\xf3\xb2\x06\xac\x8b\xa0\xcb\xcb\xe4\xb8<\x89\\\x95\xd8\x82\xfd\xf4\xea\xdb\x88mW\xc2M}\\|]M\xdb\xb8\x18$\xb4\xb2m`\x82\xc5'\x1f\xdb\xed\xf8\xd2\xd3,\x99\xb3\x84\xc4Q\x0ev\xc36\xeb|#\xddB\xfc\xd3\xf7\xb6V;q\xc6\xdf\xb5\xe5ie\x16\x91\x12\xd2\x83\xa3\xfd\x97\x1c\xd7s\xb0'_)p\xf8\xf7\xadc\xf4\x9f\xb0\xa2\xda\xb8\xa0jV\xb8\x07\xa5\xe1\xbcA4J\x94\x15o\x0cg\x19\x89M#tF\xbd\x8f%0\xb9\xd0\x8b\xe2\xf5\x19\"R\xeb\xedc\xab4\x95w\xf5\x90z(\xba+#\x9a\xa8@p\xbf\x0e\x0b\xe1\x1e\xd0\xb4\xa4QU\xd5\x91\xe3WH\xe3.\xa9\x06\x83\xda\xd7\xdfhN\x1f\x00c\x95\x1b6\xf3\x13\xc3\xd8\x8a5\xcbc\xf9\xfb\xde\x83\xef\x15\xe1\x9f\xd1\x82(\xd1\xbe\xb6W\xbd\x01\xdc\xa0\x11$p7\x88l^\xb7\xa0k\xdf\xc5\xd9\xc6\xd7JW\x0e3j\x1f\x1e\xdb\xfc;\x87\x86\x8bs\x96\x03\xa1\x9a)|\xb3\xfd\x1f'\xb3P\x86\x95\xf9\xf3b\xb8\x18\x9dB\x83k\x0b\xa4G\xc7\xee\xfc\x1e\xaf\xd7\xc6\x11\xe3\x94\xc9\xceW\xaf\x16\x87\xe1\x03\x9a\x88\xed\xab\x19:\xcbN\xfe\xd0\x08x\xed\x9b.\x157D\x94\x8e\xf0\xb5[n\xff\xf1z\x82N\x85.ZPX\x9e\xc2 \xaa}+\xa0e\x04\xd7\xc11FF\xa0`\xab\xb4\xb1\x98\xcc\x1d\x97\xb8(\xf2F\x9ak\xb6\x13A\xcc}\xbc\xca\xf8\xc8$\xe6\x0b\xf4\t`\xd9\xc3\x98)@\xfe\xcb\xc0\xdf\xdb\x93\xbd\xb1\xfd\xaaL\xd8\x0e\xa8bV`\xd7R;J[\xd1\x17>\xe9Q\x97\x13fU\x10 u\xb37ny\x88]pNZ\x9d\x0f'v\xd3w\x87\x05\x80\xd9q$\x88\x8b\x04p\x14\xa7d\xde\xa9\x1d+\xe7\xfe&\x05\xb7U_=E+\x18'\xc1\xbb2\x10Q\xa4\x92\x80\xfe\xfeLKD\xd5\xb5V\xa0\x1dtE\xb6\xbb\x04-G\x8eO[:B\x8f\xa2Q0\xb1\xd4\xfa\xe4O\xc6\xb9\x87D\xe5\xd0.\xde\x13\x9b\x9b\x9f(\xa9{?\xb4\x10)\x99Z\xfcN\xae\xee\x18'+\xc6!Z\xde\xa26U\xe9\xb5$\xadug\xc3\xc6-]\xa0\xfdK\xd8\xe9n\xa7\xe6\x14\xda)\x04x\xb6\x1d\x02[\x18z\x14\x15\x0f\xa2\x96\x8ehxAf\x9c\xe1\xe3\xf8\x0cJR\xa7(\xf1ru\x96\x99 |\x1a\x94X\xcfD(p\xb2/\xfa\x94\x942\xd4I\x15w|\xefIX\xfd:\xf9\xdf\xd3\xce\xb6\x07\x8e\xa8\xb6Z\xd6c{C\xd5A\xf8H\xbbK\x0b\x16\x8f\xa0&V\xd8\xeeq\xd5\xb9|d\x7f\xacre\xbd(\xce\xaa\xe27\xe8\x16\x83V\xa6u\xdc\x1es\x90\xe1\x13V\xdc\xeef\x8e\x95\x00\xef\xfb\x8fg\xdf\xcc.)\x82G\xf4\xda\x88\xf3w\xf8 \x84\xfft 4\xd3(\xe2\xd3\xe9\xbc!m\x1c\x83b7O\x96^M%L8;0\xdb\xfe\xe0\xab\x94\xd6\x8eA\xc3\x02\x1dp\xc8*\x08\xb4\x9c\x93A\x02[\xbc\x91\xa1\xdc\xaa\xf0\xb4n\xfa\x14O\x04\x85\xebo\xe3\xc3\xb6\xab\xbe\xa4\xdb\x10<\x03\xa4_\x7f\xd9W$\xe9z\x08\xab\xec\xa6\xcd\x19\xe7R\xc8F\xe5uE\xa67U\x94g{\xb4\xa5\xce6&\xb5#!UqP\xcd\x88\xb8\x17OX`\x8e\xf3y\xcf2\xa2\xf0\xb4\xd8\xb9\xd6\xd8\x9e\xae\xd7YJ\xb1R<\xc2h\x91Yg\xdb6\xc2ah\xb6\\\xf1S\x8b\x88\xbb\xdb\xafB\xf2a\x8ae\x11(\xca\x8d'\x8f\xe0j\xb7\xdb^\xc9\xb7\xae\x98%\x1bX\x1cp1\xce\x95=\xa6\xb6\xa0\n)#\xca\xa7\xde\x07%d\xae\xb7\x88V?chEY\xe7)+\xa5Y\xb1\xf0\xb5f\x9f\xd0e\"7\x8e\xdfGT\x85W'\xa4\xc9\xda\xfb", "video_metadata": None, } ], @@ -257,6 +266,10 @@ raw_message={ "parts": [ { + "media_resolution": None, + "code_execution_result": None, + "executable_code": None, + "file_data": None, "function_call": { "id": None, "args": { @@ -266,15 +279,14 @@ "pages": 544, }, "name": "__mirascope_formatted_output_tool__", + "partial_args": None, + "will_continue": None, }, - "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#\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', + "thought_signature": b'\n\xa2\x06\x01r\xc8\xda|B\n\xb6)\x1d\xad;\x0c\xfe\x8aL\xb8\xdd\x9fq\xacP\x1c\xa8x\x13\xaa\x1e(\xdf\x94\xf8UV\x9c\x14,\x86\xd1^\xc7\xcdq\xcc8\x8d\x91\xa9I\xd0\xb5\xb4\x8a\xec\xc9b\xd1UKwU\xbaG)\x1bG\xde\x9aL\xf1P`~F\xd3\\7{r\'\xd3dk\xcd^6\x84\xba\r\xb2\x95\xa2\x86\xe2\x7f[\x13\x0c\x15\xb31\xb3\xe9d$\xd2\xc4\x83Cod\x88\xd9\xa5\xb6r\xb1\xc7\xf5\x9dt\xcd\x92\x85\xd1\x038K\x00C\x8b\xb6\x1d\x17\xba\xf4\r\xa7*\x08\xdc\xc7\x13\x81F\xdb\x81\xc1\xc6dW\xe8 \xbf9D\x0b\x1f^n\x9d\xf5\xb8S\xf2\x8c\x02\xc3W\xed{"\x02\n\xbf\xedW\x06\xd6"\xb9\t1\xdez\xd20k\xbf\x95\x90?\x922\x1d\x9b\x90O\x0b\xc2\x87e.\xe3\x883\xd8\xb7)\x11:\xf82\xd2\xeeZ3\x90v\x05\xd7\xdd\xa1\xc0\xd2\xc8\x85\x8e\xd8,[\xbas+\xec\xc4\xc3\xe8d\xa0\x15\x86\x8d\x90\xbex\xb8\xf5\xd1;o\x9e\x90bW\xeb\xb2\xd0\xa1X0.\xd74\x16\'\xf9\xa4*|\xfc\xd5\xe6ZBB\xce-\xd6\xf5\xab\xeb\xd1 ?\xfb\x80?\xa9\xc1\x1bT\xf5\xf0w9\x81\xbd\xbc\xec\xa6\xc4Os6x\x98\x9e\xea!\xd0\xc0wz\xabK\xf6\xc5\xd3\xb7\xb4O\xfbN\xed\xcby\xb9\xbb\'\x7f\xb5\xea\x0f\n_\x8e\x0c\xadwN\xaf\x05\x17\x975FR\xf4\xbdmG\x8e\xee\x8ecF\x12hP\xe0\xe8\xe0\x16\x95\xcd\xf1\xd2\x16\x8b\xeb\xab \xc4\xd8q\xae2\xa9\x8e\xfc\xd2\x01\xa4\xe5\xf2\x05\x87\x1e\'\xfe#\x87\xc5x\x92\xdcFX][0\xd3G\xe4\xec\x0c\xec\xbc\x1e\x9b7\xc1\x0f\x89\xc7W\xc0Np\t6z\xc3o\nX\xa4X\x1e\x9f\x88\x1e\xe4\xa8=[L\xbd\x8b\x9c"\x0b\x80<\n&\x05\xb6\xd3Z\xd6J\r\x80|h\xf2o\xdd) ~k$/#\xff\x17\xa9\x7fi)\xfd\x85\x0b\xb6Z`\xc8\x10\xd9\xe0\xc4\xb1\\\x068\xe6j\xb2\xb5#V\xac\x1fC\xcav\x8d=\xe3\x14\xb4\x19\x1a\xd8/\xd51=\xff\xe0Y/\xe6t\x16ghi/\x17\xf2ISr\xc4\x1d\xbe\x16+SC\xab2(\xd0\xfeC\xe9\x17\x1f\x9d"\x98\xab\xe11g\x9e\x14\xb1\xd06`\xafZ\xdcr\xa4qQ\xf6\xa0\x88\x95\xa3\xa7FC`\xd6\x9a\xf5\xd7*\x055\xfb\\n\xeaw\x94\xf3\x84E\x11{(\xe0\x07\x10\xca\x12\x04R P\xe7(\x1a\xf1[\x982\xc1\x9f\x1a\x7f!\x99z|/b\xe31~=-/\x0fz"\x15\x86\xa0M\xe45OB6\x0c\xf5\x9f\xbd\xf8\xcd\x7f\x98\x9f\x96\xa2\xcd\x03/@a\x02\xcd\xb2|\xe3Q\x12"\xb7\xe8\xdb\x9d\xea\x832\x16q\x1f?6G\xe6\x1c\x11\x9e\x9bhy\x01\x94\x02\xb7\xfa8\xcbS"\x90=a\xabo\xdbU\xcb\xf7\xc5\x10\xf0\xbb\x99\xdb\xf7ya\xb0\x0c\x8e\x0f\x1c\rk\x00\xabW\xc1C\xdb\xbe\xecF\xefN\x0b\xb3\xb4\xbaVw8\x03r\ns7\xe6\x9c\xd65\xf6y\x9e\xc2J\x0e,,\xc4\x8f', "video_metadata": None, } ], @@ -361,19 +373,22 @@ raw_message={ "parts": [ { + "media_resolution": None, + "code_execution_result": None, + "executable_code": None, + "file_data": None, "function_call": { "id": None, "args": {"isbn": "0-7653-1178-X"}, "name": "get_book_info", + "partial_args": None, + "will_continue": None, }, - "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", + "thought_signature": b'\n$\x01r\xc8\xda|\xfa\xc8\xc0_\n\x9a\x9b\xf0g\xcb\xab\x97\xf6\xe0"\xc8\x11a\xd1Y#\x7f^b\xc8\xb6\xdd+\xb56k\n|\x01r\xc8\xda|\xdeF\xa3FrQ\x17^\xa0p\xe0\xf3*\xf2m\xa0S\x18s\xac\xd7\xc5\x12\xf7\xd9J\xe4\x17(\xd9O\xc1\x9f\xa2\xda\x8f\xf5\xb2@\x02\xa0 \xe34\x89(\x91\xf4*\xee\xd1ACf\x9ac{\xcf\x82\xf2\xf2\xc3\x87C(\x19$\x1f)\xab\xaat3RF\xd5Wf\x18y\xd5\x84\xd3D\xcc;\xed\x924r\x8ai\x1f\xf1|\x19S\xbaY\x0bi`\x9d\xf4\xd4\x14\xed\xac)\x15\xf6[\xbc\x9b\xf3y\x1c\x91\xdd\n\xbd\x01\x01r\xc8\xda|\xda\xcb+\xbdd{\xaf\x19\xc6\x90\x13^\xdde\xeb\x18\xdf\xf5\x8f9\x89\xc9:\xe6\x134\x006\xb7\x8dhC\xe4\xa3\x9d\xc4\x96\xed\xf5\xe4\xf7\xeb\x05\xeat\x1bVLx\xf7EX[\x97\xc0AJ\x1e\n\xfd\xddi7T\x1f\xe0\tc\x8f\x106\x9f\x93N\xa9\xf0\xc0h\x99\x17\x9arI\xcb\x0b\xc1\x7fLt\xa6\x8d\xf2\x8e?\x9b&\x98\xb3P\n\xb9\x94A\x13\x82\xaf\'\xd2c\xa9\xa0\x17\x8d\xb5\xdc\\\xe1a\xe65P#\x1f&i\xbd[\x14:\xa5\'\x8dT\x1e\xfc\xb8\xb4F\x84\xc9\x81C\xa3\xe4\xc8\xf8\x11o\xad\x0f\xa5\xcf_\x86<\xbb\xf5\xc1\xb7J7\xa2k\xd3\xe1\xef\xc0\xa2\x1f\x14\x83F)`\x7f\x07}\xdf\x94U\xc7\x88\x9fl\n\xe9\x01\x01r\xc8\xda|\x8b\xd1&\x87\xf0\xd7AT$7J)c\xf0\xd9\xe3\xf5\xe5\x13\xd2\xac\xbf!\xf7;\x87\xbd5\xaf\xa9vT\x0f\xdf\xd2\x8b\xf3\xcbAJ\x80\x14\x13\x15\xd1\xbe\xb2\x8f/\xb0\xe5\xf8\xbb\xed\xc5*Y\xb5\xb5.]\xd7v\x11\xbe\xa0\x04-\x19`\xda\xa1!\x05}\x93M`G\xdd\xcfz\x86\xa2B\xa5)\x8a\xcd\x0f\x924E\xee\x9e\xe3\xc3grx\x07\x15\xfba;\x1f|\x95f\x93\xdf7\x89\xb3i0\xfe\xa4&\xf7}\xa82lf\xafv\xeb\xb5\x91V\xfb\xc8\xc9\'\xf7\xd0~\xb07O\x11\x8d\xcc\xb5\xce\xea\x13\xef-\x15\x94(\xe3x\xf64\tb \xce\x8c\xc4\x84\tt\xc8\xd1\xf2S\\\xcaZ\x9b\xcf\x10h\x81\x91\x04\xed`\x0e\xd3\xc2\xad9cy\x89\xbe\x050\x08Q\n\xf0\x01\x01r\xc8\xda|#\xc3\xbct+UF2\x99\xb4\xdc\x01h3aj\xcdL\xf7g3\x96A<\x12\xdc\xeap\xaf\xe0)P\xc0^\x18\x94\t\xc9t\xce\xa0\xf0\xac\xa1\xfdGV\x96\xfb\xf9\xb1\xbe\xf3i\xff\xc3\x99\x8f\xbf\x14\t\x8a\xb3F\xc7\xc4\x19+6\x10\xc39\xeb3\xc90#\x93\xbe\xa1\xba4w\xaa\xa7\xec7H\xdf\x04\xe5\xd3\xed\xd2\xcaf\xfb\xd4B\x8fm\xee\xf8\x1b\x7f\x0c\xcb\x98E\xeex\xed\x8b\x9c\xd0\xf2c\xf0\'Wa5\xd6\x86p\x96d\xd6\xf2\x8f\xf4\xf6.\xb9\x01\x85Y\x8b\xcfn\xba^\xa9\xa7\xd4#k\x02\xd1qG$6\xd5}\xd1\x8c\xa5q\x96\xc9lJ\xb9\xd7\xddI\x9b\x89\x80\xdc\n\xb1+k\xec\x08\x9a)p\xb0\t\xd8\xa2\r\x16\x86\xe4\xc6E\xa1L\x05\xddS\x94aFk0\x99\x88@\n\xc9\x01\x01r\xc8\xda|\xc2ul\xf6\x9dpJ@\x0cc\x9aD\x01\xaf^\xc9v\x007\x10zC\xbc!\x91\xd2\x90\xaanN$\xab\xa9p\xac\xee\xa7\xdc\x1dleN\xcb\xbe\x08O\x18\x0eY\xc51\xdc\x902\t\xa7\xaa\xebe\x04eg\x93\x19\xcax\xa4\xdf\x19 \x8b\xae\x9foL\x03\xefMz\xf5K\xe3\x00 \xcc\x8c)\xa6\x13\x18\x0e5\xde3\xb8\xb9\x03\x9c\'\x94n"R\xf1\xe0\x0e\xf2p\xbb\xb2gZ\xcf-\x82\x93\xaf\xddNi\x85\x86\xfdKx\x12\xc95\xb4\x1co\x10\xc9\xe2\x972\xbe\xa4D5U\xf4\xbe\x18\x004\x81\xebsk\x00\xb7\xa0\xd1\xdc\x02\x80w\xb4^?\x00\xca\x9d}Yv\xfd>\xabt{$H\n{\xaf\xbe\xc7\xc3\xb1b\xb7\x05\xf5%\x94\n\xd2\x01\x01r\xc8\xda|0\xa8\t/N\xe6\xce\x94\xda\xbe\xb5\x1c\x90zL\xe7\x9a\x05\t\x92\xe9i{\xa7\x81-\x17-yvW\xb4T\x94\xa2\xc18\xda\x15{>\xfd\x8cJ\xa2i\'c\xcbe\xbe\xde\xe4\xdd2\x8b\x963\xa0\xc2k\x03\xbfF\xeb\xb4\x94\xf7\xfa\x98P\x15\xe0]\xb6\xcd\x99\x9b\x12m\x8b\x8eI\xce\xe2y\xc3%\x00&\x8fs\xa0{\xa9\x01H\x00eK\xa3\xf3\x17"\xaa\x1f\xfdw["\xe0\x8b\xeb\xb4Z\x83\xbb\xbd\xf1\xf4\xd5\x02KC\xdd\xd3b\x05\xeaB\xec\x1e\x8b"\x8a\xf3}T\x8d\x84\xf8\xce\x9eo\xc3\xcc-\x86\xe8\x1b:I\x9c\xa4l\x15\x9d\x976\x05(\xa8\xfe!\x8d\x8a\x12[<\xf2\x12\xcd[\x17\x1c-\xddp\x15\xe0\xffZ\xbdL\xd6\xb1P(\xf4\xa3\x1dR\x0f\xf7\x07u.\x0b\xaa\x19\xa5^\xf7\x18\x8f\n\xd3\x01\x01r\xc8\xda|\xb8X\xa2\x1f\xefJ\x8f\xd5\xb6\xe7\xb1P\x97u\x91\xe3\xacTer\xaf\xa2U\xbd\x18\xa90\x19\x9d\x02T\xbb+\xf2\xa2\xc6r\\\xa4ZP\xbdRF.\xae(\xfb\xaf\x9a\xa5\xd3*\x19@\xa7\xda8W\xcaI\xfd\xda\xc7~\xb2\x98\xa4\xf7\x89\xd1\x8fCe\xfa\xb2\x01\xa6-|\xf8\xa9+\xd3\x87\xa7\x1f\x11\x16\xee\xe5\xf1\x90\xa0\xf9\xf2\x8b\rR\xbb\'\x1bI\xf4\xa6p\x93GP\xb0J\xe6\xd4n\x892\t\xe5\xa2\xeb\x832\x16\x19\x06\x15~!\x85"\xf2\xf6\x826n\xce\xdajK\xc1\xda\xea\xdb\xd7\xcc\x12P}\x18\x80\xd5Y\xa4\x19Ob\xcd\xdfAL\x03\x90*\xff\xad\xf3\x99KA`n\xe2\x1c\x86\xe5x\xae\x18\xc3G\xb86Mz \x10)\x16\x19\xaf\xb3\xdd\x86+"\xd2\x03\xd2!\xd6$\x86d\x0ec\xa5\nu\x01r\xc8\xda|\x8b\xf8`\r\xf1\xfb\x96\x13`\x87\xd49\xe6\x8d\x8d\x8c\xd5E\x02\xc9\xc0\xc3\xecy\xc1U&^\xa3\xae/\x1a\x80X\xe7\xb2\x16ty\xaa\xfa\xd1\'\x1d{D\x0e\xfe\xad\x19\x1e~~5\\dl\xc1\x12L\x18\x99\xe5\x81GE-v\xc2G\x8ed~\x08\xe8\x03YP\xdb)#Ld5\x81\xc8s\x87\x8e\xd1Cg\xb4\xfc\x19\xcb\xf7\xf5\x18\xa7>\x816\x90A\xd3\xd7Y\x13\x81\x8c\xd8z:\x99t\xbcd\xf2\xde\x9a\x97\xcc\x90\x0c9\x15\x9c\xd2`\xc6\xc4OSx\xd6\x0c\x13\xf1\x02\xed\xe2\xf4\x18O\x9a\xf9\xbd\x88\xe9\xcb\xf9i^.L\xe1j\xb8E3\xe1\x9b\x88TuC\x8f\xa3\x13\xd9\xdf\xe1\xff\xab"\xaeg.4,h\x1e\x05o\x8ed\xd6\xd4\t\xecR7a\xab,\x18nx\x81&U\xfcvc\x83\xc6dx:o2\x88\xf4r;\xb2\xfe\xe9]h\x92K\x88\n\x80\x02\x01r\xc8\xda|\xfar\x83\xa5\xdf\xe4\x1e \x14\xc4N+\x8eLu\x1e\xfd\xd4\xe9qfa\xb9\x10]\x16\xfeT\x8e\xe1\x84x7^\xc6p\r\xaf4$_\xc3 \x0e\xe2C\xfc\xf6\x00y\xa2-xH\x11\x8aQ\x88 )\xf2\x1enH\\{\x0b\x03"7y\x9b`\x93\x13\x8b>\x89b\xf2$8\r\xac\xc7&\x9a\xa4nMm\xf4\xdb\x93\xe0j\xbb\xeeM\xff\x8a%\xfc61\xa0\x91\x96\xe3\x8bc\xda\xdb\xea{\xc5\xd2d\n\x00\xf36\x01\xd6\xe0<\xa2\xb1\x13c\xf4\xab\x93\xb1\x90\x91P\x03\xee\x7f\x1d\x92y{\xb6\x15\xc5d\xbb\xcdf\xbd\x96\xd7\x12\x02\xe5\xcd\x82\x9d\x10$\xe8<\x12\xa1\x0c\xc1s\x9d\xab\xbd\xbb\xfbr\x7fS\x80\x84$/:\xb6\xcc\xce)\xd3u\xf3a\xbd\x95\xfa-\xb99:\xd7\xb5\x1b\\\xc2f\x8f7\xf0\x94\xea\xb1\xbfe\xa8\x1a\to\xc9\xc6\xaf\x93\x81\xab*\x8a\xa2\x89\xc4\xa4\x90\xb0\x00\x10A\xa3\xaf-\x8f\x12\x8c\x05\x11\xec\x8f\xdfF\x00\xf3u|5U.\n\xfc\x01\x01r\xc8\xda|\xf7\xa9\xa5\x93\xddb\x90\x15\t3;\x87\x18\x7f5\x02\x13\xa7\xe28\x8a\xfc\xec\xed\xa5\xdd\x82\x8dD\x1a~\xae\xc4\xde\x98u\x8cH\x8d\xbd\x05p\x99\xd1\xe5\x02J\xf2W\x18/o\xa9H\x85\x95\x8c\xe0H\xd0K\x18\x9c\x8eX\x14 @\x14R\x95U\x05\xa2\x07\xe9A\xbbms\xdf\x8c\t\xa1\x9b\xd7\xc2"`<\xd7\xbf\xdb\xe1N\x8b(k\x94\xaf\x95\x83\x96T\t&\xfctD\r\xe4\x0e\x93\xbf\x1aL\x90\x13\'\xb4\xb2S=\x902\x10\x1cJ0\x8e\xceIC\x93}\xb7\xd2\x9c8,\xb4\xa8{\xb8\xd4\xe1W\xbc\xb1\xb4\xd0\x10Y\xbe\xdbrF^o\x0f\x9b\x93\xa3\xf4\xfa\x84\x0b0\xb8\xa8\xaa\x8c\xba0\xa2;EU\xc8?\xfe\xc9u\x9a\x1c\xb6w\xaf\xb9\x9f\xaa\xa0\xfd\x19x\x18\x03\x81,\xd5\x82\xc6\x80\x9a\x8a\xad\xdewB\xcf\x9b\x1c\x94;\x97\xfb\xecf\xd1\xa2\x06\x80\xf2\x9cc61\x8a\xfc4\xb5\xb6\xeb\x08\xaf\xf2\x86 Q\x91\x82We\xcbA\x01\x7f\n\xe7\x01\x01r\xc8\xda|\x1aeg\xcd\t#$\x9aI\xcb.\xc5\xdc\x16\xdeBFT\x15\xfbU\t\x84\xa7\xc1\x12\xa9\xae\x87s\x01\x07\x18\x91\xcdq\xd6]\x8d\x17\xa4~t6\x85q`;~\x86\xed\xa7&\xb3?\n)N\xddvS]%\xd2\xe7\x9a\xc9\xe9f\xc4\xf0OS\xdb5\x10\xaf\x8c\xf5\xac\x9bP)O\xc9\x16\xa9\x81\xf3\xd3\xe4\xce\x18\r\x1a\xca\xff\x83\xf9\x11\x98\xbd)\x95\x12_\xf9,/\xb7H\xc3\x94\x14\xc2\xc9\x11a\xd1WI\x9f\x877\xa8\t\xc5\xa7=\xed\xff\xe0\xdb<\xd1i\x0e_U\x1a\x94\x96\xfd49\x1de\x1d3\x1a6\r\x8d\xffM\xf1\xe5\x122\xb4\' \xc3T\xf0\x02s\xbf\x9aD4/C\xf7\xa9\xdd5\xfe\x9f:{\xdcN\xbc\xbf3\x05\x9f\x0f\xe3\xab\xd3\xabJ"Iv\xd2\xf6\xe9\x14/\xe6\x9f\x83+\x82\xd0\xce\xd6:\x96\xc7+\xfd\xa6Klk\x19\x9d\xad\x964B\xac\n\xee\x01\x01r\xc8\xda|f30\xcd\x81\x08g\xeazk\x01!o\xb7\x90U\xc2"\x105\xfe\xf0n\x15\xdc\x0bg\xb2\x97\xfc\xda\xf9\x86\x0bj\x02\x97bp\xf9?\xc3\x8f\xd6\xf7-\xae2m\x82\xcd\xccB\x87W\xce\xd6\x07$Z\xd6\xbf9\xde^yb\xaf\x1f\xb5\xa4O\xbd\x05\x8a\xba\xd1\x0c\x1a{W\xb0\xdb^\xc9\x18\xaeV\xd3\xe3^\x03o\x80Sz\xb3\xdd\x10B\xb8\xfa2\xd3Y\xbaH\xec:\x85\xf1\x8e\xa9\xa6\xe0`6|\t\x83^\xfd\x01W,\xa4\xc0\x8f^\x7fd\x14\xd2S\x19h\x19\xfb\x00\\\xcdz\xcf[V\r\xaa\xa4\x13<\\@\xdd@\xe9k\x86\xef\x9b\xec\xbb\xb9\xd1l\xff\x99\x7f\xa5\x00]\xdf\xb6\x97C\xe7\xcc\xb4\x8f\xdeH.c\xfa\xc5gz\x98TF\\O\x8b\x13\x7f\xcfh\xc5\xa7.SSW\xfa\x1d\\\x91\xde\x8e\x85!o\xac\xfc5\xfe73T\x05\xdeIy@ \x93\xc5\xa0@\xf0\xd0\x01#\xb5\n\xcd\x01\x01r\xc8\xda|=\'\t\xaf}\x08\x15\xb7\xdbx$\xe5\xa3\xac\xe7\xaa\xff(\x9e\xc4\xc3Z}7\xf8d\xd6\xe5\x12d\xa1\xd0\xea*\xa1\xa1$\xad\xb7\x9d\xdd\x17\x81\xd7\x99\xe6\xc0\x1e\x9c\x8c\xf1\xcb\xdd\xeb43\xdb}\x17\x8e\x8e>\xa54\x97\x9f\x15^\xff\xb4\xad\xeapHcu\xdek4G3\x85T\x8a\xb9\x8e\x91\xca\xe9\x00\xe0\x1ay\x92\x9e\xab_b\x1b\xb9\xf5\xa1\xb9j\xbe\xf7\xf4\x1dm6\xce\x03M\xbc\r\xf9\xb6\xf0i\xcf\x8c\xcde\xd9\x93-\x96-5\xe8N\x04HH8\xd3\x82\x05\x01\r5\x16c*K\x16\xcag\xa3\xa68`\xa6u\xa4l\x02\x96\x14*a\xda\xec\xbbS\xc5cH:\xdd\xa5U\x90\xf43\xdb9\xdb\xffA\xf4\x0cL\xc8N\xd3\x84\x94h?}\xd0\xbd-\x01\xe2\xdd\xeb\xef-\n\xa7\x02\x01r\xc8\xda|\xa9Tc\xaeL\x9f?\x8bRSG\xe0\xb3\xc0y8V\xe2\xe6o#X\x83\xee\xc0\x8a\xf4\xcb\x13\x01dj\xd3yCR\x9a\x86\xcf\xaf7I}\xc8=k\xf0\x9e*\xfb\xe3\xf0\x81\xb1\x93\x11/\x18\x80\xc0/VF\x15\x19\x00}\xfdE\xbb\x9a\x12\x95xD\xafP\xa4\x01mpj\x7f\xf4\x86SQ\x0b2\x0et\xb7L\x81]@\xd7\x08\xe0\x04\x12\x8a\x06b~\x0b\xd1\xcc\xd4\xaa\x96\xff[U\x80K\x8cq\xeea)\xc7@\xdc\x8b\xb2\x92\xce\x93w\xe8\xe7\x0c\x04?\x93\xb3~\x8f84}\x10\x01\xda31\xd8\xb1z\x04Z\x04\xb7I\xf7\xb0\xf8,\x15\xbe\xb5L\xb4C\x14\xcd\x14\x83:\x11}c\x0e\xa1\x9a\xbb\xd9)\x93\xd5\x9c\xaaF&\xc5&\xf9\xf2K\x06b\xc2\x18@k\xa6\x7f\xbd\x85\x05\xed$\n\xe2\xea\xbbp\xbb\xc92\x97S\x96\xee\xcc?\xb8\xdcK\x99\xfbGj\xb9\xf3\xb5\xb7\xfa\x84\x18\x148=\xcc\x80\x19\xce\xf0\xd4#\xb8\xac\x7f\x138O\x82\x95{>\x04:\xab\r\xd7HD\x89E\xf2\xebl\x93\xca\xdd\xb9\x1152}[d-5\x00\x83\x07\x07\xef8f\xa0\xff\xa0Q\x04\xa0*\xc8\n\xc1\x01\x01r\xc8\xda|\x0e\x9a\x15g\xa4ejg\xb8A\xd9\xd3\xb4\x1b\\\x88b\x12\xe0\xab\x85\xbb\x9dby1F\xc8\xde\r\xd2)0\xd1\x0bb\xc4@\xc8\x1d\xef\xe5\xe7\xb4\xdd\xf1w\xef4zd\xa3!\x04\xcc\xdda7\x93{\xac\x9c\xf0\xb7m7\xae\xb4>\xc5"\x0c\xa0\xef\xc6\x94\x12zZ\t\xf3\xb2T\xe8>\x87\xd6\xac\xd4P\x0b\xbd\xf2\x8c\xef\x7fi\xdd\x8e\xc2g`)\x8a\xb2\xa7\x87\xab\xd3\xf2Z\xd9==\xc9\x8e{\ng\x02\x9b\x02\xc3\xb9?ir\x9eN\xb0\xf4\x88\x16pH\xd4\xa2\x96\xd4\x84p\x8e2|\x84|\\i\xe9w\xe3G\x0e\xb1A\x81\x8dH\xf9\xfe@\x93V\x01\x1d\x10n\x91_\xb49&Z\xbcSt\xf1/\xd2\xa4p[\x04\x8c\xa4\xd4\x1a\x89\n\xf0\x01\x01r\xc8\xda|\x17\xa7\'\xf2\x04 \xfe\xc7D\x86\x0e\xbb\x7fB\x97\xcc\xc0|/Rcv\x80\xb8$\xa8\xa8.o"x\xa4Z\xe8n\x7f\x004x\x7fj^\x81\n\xcfza\x01nYz\xf5\xf91t_\xdf?b\x1cSD\xff5[u^\xf3\xf8\x7f\x8df\xcc\x1a\x00\xbbC\x96.\xa0\xd7B`\xa1\x16Y\xcd\x00\x15\x85+\xdc\xd0w\xa1i\xc1\xe6>2\x85\x1d\xb7\xa8\x8b\xcfn?k\x8d\xd0Z_f\xa1\xd1\xb0\'\xca#\xbd\x9f\xd1\x92s\xf1\xb8\xe6+~\x08\xff\xdf@\xf7\xb9\xd8\x99\xbc\x12\x10{\x85\xef\xa5U\xe9%/5\xdd\xa8\xfa3~\x86\x0e<\xfa\x10\rq\x05mz\xfb\xa0\x1b\x13\x00\x98\xd1\xf3\xa5\x97\xce09\xe3;=\xfdt\x0b\xf5\x0bt\x8eW\x0e\x06\x99W\x85|\xaf\x98\xabv\xaeg"\xf5p\xf9\x9cc\xb7G\xf2~\xb8K\xd6\x9d%{\xa1\xf3\n\xb67\xf5L\xa2\xa2\x02\xd61\x03\xdcY\xd3\x08\xa8\n\x89\x02\x01r\xc8\xda|?\'R\x1dHw\x11jY[o\xfb\xa2-\x84\xd7\xc4Fq\x9e\x14\x80ZaD\x1c\xfe\x1eK\xd3\xca\x951\x9fL\xa3\xc30\xcai\x8f\x01\xc8\x80T\x94\x989\xa1xi\x0b\nD\xa3\xd4r\xe0\rx\x8d1\xbd\x0e\x14|\xdfH\xdd\x06\x8em&\x0b\xd0`\xa7\x87E\x0c\xe1\x8d\xeflgU\x10\xf0\xaa\x02\xc5\xafb>9\xc2R\x02\xc5\xb9\xa6l5\xaek<\xd5\x84\x96?\x8a\xd9\xb1\xba"\x13\x18\xe7\x0fd\x89H\n\xbd\xb6->e_\x1eC\x0b-\x1c(A\xffL\xab7m\xb4\xbb\xfcg\xe1\xa9\x95\xc5\x80.\xffJ\xb5z\x17\xd1/\x9d+(\xd0\xa5;\x1d\xc6\xff\xb7\xdf\x1e\x88mk\r\xec*y\x84\x91u\xc9V\x9a,$\x02\x9e \xda\x1a43\x857\xca\xd9k\x0f\x83\xc6n\xc4\xd9\xec\xd3\xbe\x0et\xbc\x0c=\x0e\x04\xb3 \'cJ\xcb.<\x87\xad6\xb6e\xb3\xb1pP\x98\xfe\xbe\xa2r\x12eBD`VSs\x8dLb\xbe\x82\x16\xcf\xd7z\xcb\x9a\xe2\xd5\x80e\x83j\n\xa4\x01\x01r\xc8\xda|\xe7[\xd4\xd9\xb2 \x84\x02\xb2\xf3\x02\xaf\x87\xbc\xee\xee\xf6K-l\xf0S\x9c\xb8\xdcW\xe2\x93rN\xfb\x01\xc7\xa7s2\x84\xb1/\xab&\xfdV\xc9K\x80\x91\xf2X\x12\\\xd6\xeci\xcdj\xb3v\xf4_/*\xd8G\x82\xc0s\xd1\xf9\xfeU\x86\xdd#\xf2\xddh\xe9F\xac\xbc\x9d\x89.\xbf\\\xcc\x85e\xb5K^\x13\x83\xec\xa0h 8\x94\x07\xdfL\x89\xc9\xc3|\xa1\x0f\xfa\x1e\xda\xd4\xcc\xf6\x01\xaa\xd8bA\x0cN\xdf\xb1\xd2\xa98\x11Y^A*:#v\x81\x9dE(17.6\x92\xe3\x08\xb5xb\x9bF\xf3<\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", + "thought_signature": b"\n$\x01r\xc8\xda|\xcdr\xce\xb4\xb2\xa3\xe7\xcf\x02!n\x81'/\xc2\xf5L\x14\xfd\x9f=\xd4\x0c\xb9z\x08\x06_\xc8\xf9\x8b\nm\x01r\xc8\xda|I3\xa6[6x\xcf\xfb\xad}2D\x0fqR\x02\x00\x03aY\xa4\xda1d\x1b\x96\xaf\xc1\xcaDt\x90\xb6;\xa3\xec\x84B3\xf0%z\xd8\xce\xfb\x95\xd4\x1c\xa68\x9f\x18\x1a\xae\x89\xe2\r\x9e\xc4\x0f\x1f\xe94\x95\x16\xba\x9bz\x8a\xa9\x95\x1e]\x84\xe7\x18len\xdfk>\x8f\xc6\x84\x03\x8c(\x9b\xc3bK\xceq\xad\xc7\xac\n\xac\x01\x01r\xc8\xda|\x01\xabL\x83\xd4zG\xc6|\xd9\xae\xe5\xdf\x17O\xca\xde\xf3\x10\xdb\xb4\xb3\xa6\x037]\xeb\xecE6 X\xc5\xb4*\xa1\xb4D\xec\x19\xc1s\xf2w\xdcK\xaf\xd1\x9aT[w\xe7\xb4\xc3\xe1\x1bp\xf75\x0b\xc7C\xd9\x18$\xd2\x86\x8c\xb9\x1c\x13\x01\xa0L\xd3V\xb8\xf5\x8fE\xe2\xd1k\x80\x0b3^\xc3\x11\x97J\x12\x13\x0b\xbe\x1au~\x19\xbef\x86\x12>\x82\xb5\xa7.\xfd\xc5\xa4\x1c:\x96\xeceu$\xd0j9\xebL\x1f\x18\xbc\xe3\x19\xbd$*\x1f\r\xf0\x9aG\xe7\x10S0\x97\xbe!,l\xe6\x11\x82j\xa6\x83\xda-\x01\xd55\xea\xb0Uu\xc1\xc9D\x9c7E\n\xaa\x01\x01r\xc8\xda|\x85j\xe4\xe4\x97s\xe9\"(\xf9N\x96x:'s5L\x98\xaaC\xc0\xbcW<_\x04\t\x03\xacr3P\xf1\xc8/|\xc3m\x0e\x04\x16ch\xdf\x1b\xb9\xd7&\xb6=\x9c\xa1Z@\xcd!\xa7\xab\xe2\x99'{\xa8\x98\x80\xd6]8\xf1\x90\x96\x19<\xdc\x17\x13\xa8\xabK\xb0\x01\\\xaf\x91\xbdh\xce\x92~\xbe\x11(\x17\x1d\xc6\xa1\xd6U0rM\x87\x9a\xab\x16\xca\xec9\xc7\xb9\x9ec\xd9\xa28^!\xf6\xcbJw.\\C\x82\x92m*L~\xbf\xce\x88\x8ax\xf4\rg\xfa\x8b\x98\xedbiu\x8aR\x93\xa30\x89_'\xe7\x1fs\x82\xa1\x0e\xf5\xa5n\x03\x8e\n\x99\x01\x01r\xc8\xda|\x96\xbb\xee00\x8eS.'\xd2!\x9a_\"\x98\xd8\xc3\x8f\xbb,3\x95]\xf9\xd8r \x95\x0c\x84\xf3\x18\x12\x84\xa9\xc1\xabh\x91\xfd\x13\xcd\xa78L\xbf\xd4\x02JkZ\xeew0\x97g\x83* }\xa8\n'X\x97_;}c\x15\xff\"\xcb\xc4\xd2~\xe6\x1f\xfa\xa5\xb6\xc6\x9a\xd1x\x00.\xce\x80\xd9\xfb\xfb\x0e\xf1\x8d\x92\r\xee\xf2\xa5\xaf\xa1\xaa\xfb\xc3u \xb8i\x05O$\x9f\xc2'\xf9\x16*\x9f\xf1\xfa\xf1\xee\x92!\x87\xd7%\x02'\xf9\x06\xd1\xcb)\x90p\xfd\x825\x9a\xea-\xcfQP\x1dE\n\xee\x01\x01r\xc8\xda|\x00\xa4\xce\xaaRy\xfa6\xa2\x9bnE_\xf8M\xeb\x10\xc7w\x9f\xe8\x93\x8cJ\xb6\x9a\x9f]\x8c\xf5<\x04\x8f\x8f6\xedZ\xfa\xb6\x9f\xd5%,\x0e\x17r:\xc9R\x82\xe0\xf6\xdfp\xe8\x85\xbf%\x11\x1f\xc9\t\xed\xce\x12\xcc\x99\x19\xf6\x08\xc6\xb9\xba\x86\x8a\xc4\x96\xd7\xff\x85\xc07\x16\x10\x07\x85\x12\x90\r\xa2\xc9\xdc\x82*\xed\x97\xf5\xe5\xe05\xc1q\xd3Z\x15\xc9\"\xec\x05\x13\x14C\xb7\xa4\xa8tM}\xcaJlY\\P\xa4\xdc\xd0\x84\xbfM+q\xcc\xc7\xae~F\x1c\xd1\xa1#6\x0f\x9a\xa6\\\xfe\x93~\x0f\x98\x04\xbd\n\xeb\x0f\xc1\xb8\x83\xca\xdd\xcd\xbb\x00a/\x98eNs\"n\xca\x17\xa0\x18\n\xb8{\xb9\xe5\x90\x8d'\x15\xec\xf6l?`\x1c\xbb\x87:\xf3p?\xa184\xb9\xdd\xfc\x03y\x88S\xb1F\xa4\x83>\xd0\xd4\x9f1\x07\x074\xad S\x8c\x85l\x1e\xee\xef\x83\xde\x89k\xc8\n\x81\x02\x01r\xc8\xda|\x9b\"\xc7$$b\xb3\xf5\xe1\xd5\xbe\xe8AL\xbb\xf2\xcc\xb1R-6RUr\t7\xaa\"\t`6\x86\xbeU~Ff0w\xd4t\xb3\x85\x1ay~\x9d\x14\x96\x88\xe2\xb9\xec\xdeQ\xa6\xdf\xdd\x06\xc6x\xa8\xea\x81\xa5\xb7E~\xe4q\x15\xdb\xd8\x8c\\)\xd5\xf7z\xe9^X{E6@\xc0t\x83\xec\x939\xf6~\xc2\xa3\x17\x0f)B\xef\x05C\xb5;\xe2\x84\teP\xcbzS\xcd\x0fk\xb4A\xc9\xa8\xa2Z)\x18\xcd\xfe\x9dZ\xc8\xac\x87B\xe65\xe3\x00\x81\xf3\xcd\xc6\xa8\xbc\xab\x11\x17\x93\x9e\xa7\x83M\xfc 2\xc7=\x7f\x97j:moLTc\xc8+@\x89\x05\xda\xb6\xf4\xd0f\xb5sz\xf1\xfb`\xc5\xf9o)YZ0\xb8\x8d\x13\xd7\xe0\x9e\xc4X\xf2\x95\x0c\x9dh\x10\xf0\xc2\x95\x93;\xff\xb7c\x19*\xf0m\xc2\xe2\xa05\x89\xc9M\x0f8EB\x1d\x1d90\xb9\xea\n\x9d\x0e\x99$\xb1\x19\xe0=n\\\xf6\r\xddc\xa5H4\xff?\xaf2\n\xc3\x01\x01r\xc8\xda|\x06Q\x14X\xcd;W\xf0\xa4\n]xvCN[H\xb0\x8c\xf9\x93^\xfe\xf8\xf3\x06\xa2\x90\x9c\\[\xa8\x06\x9fI\xecE\x8d\xd4\xe9\xb9\xca\xd2T\xc8\xaf\xb3:!\xda\xf4\xd4\xf79\xfeWi\xd5\xdc!=rbT\x9b\x0b\xc00\x9d\x07\xe3\x17\x89\x9d\x8b\xd1V\xc9\x88gC\xa4\"9\"@J;\x8d\x1e\x1b\x1a=\x10?*\x899\xabI\xbc\xda\xbc9\xeb\x01\xebm\x97\xa7\\\xcc\xba\x81\xb5\x00\xf6\x19C\x13\x1e\x96\xb5\xa5\xc8\x92\xea\xed\x7fx\x81\xa8$\xa9\xee\xf6p\xf0\x16\xaf\x1b\xa1\xc0 \xda\xbd\x00e*Q\xab\x068N\xf3$\xe0\xd0\x89\x82J\x87Fe.5\xa4\x87\x06n\x96\xddrl\xb5\xfe\xbf#\xc2\x8c\xd6Xo\x1e-\x90\xffB\x1bV", "video_metadata": None, } ], @@ -469,13 +487,13 @@ } ], "usage": { - "input_tokens": 564, + "input_tokens": 1256, "output_tokens": 49, "cache_read_tokens": 0, "cache_write_tokens": 0, - "reasoning_tokens": 208, + "reasoning_tokens": 300, "raw": "None", - "total_tokens": 613, + "total_tokens": 1305, }, "n_chunks": 3, } @@ -515,19 +533,22 @@ raw_message={ "parts": [ { + "media_resolution": None, + "code_execution_result": None, + "executable_code": None, + "file_data": None, "function_call": { "id": None, "args": {"isbn": "0-7653-1178-X"}, "name": "get_book_info", + "partial_args": None, + "will_continue": None, }, - "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', + "thought_signature": b'\n"\x01r\xc8\xda|\xcc\xe5\x11\xcc\xdejQ\xb5E\x84\xfd\x85\xb2\x90\x80\xcb\x83vyD\xc7\xa5\x0e\xc9H\xfd\xea\x05\xde\na\x01r\xc8\xda|\xac\xd6%\x06R\xd2\x9d.y`\x19e\xcftA\xa2\x1d\xed\x00\xf0\x14 {B\xd4XzB\n\xb6\x01\x01r\xc8\xda|\xee\x11+\xb2]\xbe1n_\x14\xc86\xec\x11y9}\x9f\xb5b"\xa9Ne\xf98\x12\xa3\xffQ\x00\xae4\x8dm*p\x8f&}\xb2e\xda\x01.\x94}\x16w\xd2\x19;}\xd6J\xcc\xae\xd3e\xdc\x8c\xe0J\x10-\x07nR\x1czU\xa1Gy\xd1\x84Qe\x0e\xcam|M-i\xb5,\x84\xdb\x82=\xb6\xad\x95\xe2#+\x11\xc7\x81O\x9f\x15Z\x9b\xba`(\xdd\x8f\x97\x05v\xc9gx\x13\x0cS\xf1M\xea \x17~\xc8\xfe\xef\xa2kwc\xc5\xaf\xa3$\xf3\x97\x04\xd4\xbe\xac\x9b\xab\x9e\xce{\tL\xd3\xbb^\xca\x92\xf1\xbciak;\xdb`nt\x1c\xe31\x89\xdf\x15\xea\x13f\xfb\x9b\xf7\xb6\n\xdd\x01\x01r\xc8\xda|M\xc9\x0bC\x8f\xfa\xb8\xd4\x058?px\x051\x84\x8d}\xcc\trin\x03\xd91\x7fCTev6\x08\x97n6\xb4\x8a\xc8j\xd4\xb0\x8b(\xf8_\xec\x8d\xa2\x94_K\xefA\xddC\x0c\xad_\xc1\xc9P\xa0C*\xdcV\xd4\xfaG@\xb1\x1bO\xa7\xcd\xef\x0f\t\xcc\x02v@\x97\xb1\x1f \xa62y\x8f \x9e(a>?\\\x87\xdf\x1b\x96\x87/Cm\xdd\xb9\xbe\xb7PV\xe1\xe7\xd8J4UK\xdb\r\x8a\xcc\xdaHOo\x0bK*\xbe\xb9\x17\x91\xd7\xa3\x89{\x04h\xa0\xfa\xa2\xd8\x0e\xa1n\x10\x12\xb3@3f#\t\x1aS\x06\xec6Z\x82I\xd0j\'S*\xe5\xc4V)\\[Ec\xbb\x16}\x9d\x18)W\xd2\xb67\xd8\x10P\xfb\xb7\xb2\x94n\x01\x90b\xd2\xb5\xd2\xb2N\xaf\x82o\x06tM\x9b\x88;re\xe1\x9d\xab\n\x9f\x01\x01r\xc8\xda|\x15=+t\xa7L\xa2\xd5\xeb\xc4\xd5\xe5\xb5K\x85\x1eM\x16\x8b#\x05e\xe7\xbf\xe8)z\xab\x01\x15G\x8b\xee6{\x94\x19\x1af\xe7L\xcf\x02\xfd#\x15\x9d\x89\xcf!\xff\x01\xe9h\x92\x82]\x87\x95n1\xb0HE\xae\x88\xf3\xb5\xa7\x08\x16\xa8\xe2\x9a\x12\xc5\x83\x12\x80F\xc6\xea\xe5$\'\xde\xb5%\xf0,\xfd\xfbn\xca^\xc4\x1e\xbab\x16,:S2\xb9\x89\xde\x84$\xd3\xb1\xd5g\xb4\xcfkt9ao,\xc4\xd0\x81\x12\xb8\xd1\xae\x8cB\xfd\xf3\x10,\x86\x03au\xc7~\xd0Ni\xfc\x172\xfa\x91`L\xf4#11\n\xe8\x01\x01r\xc8\xda|I.\xfe\x8a\xac\x7f\x99\xaa\x82\xdb\xb8\x98\xc2C\xf1\x97\xd7\xe7t5K,P\xe3\x9fs\x9a\xc2\xa3\x98\xf2c_\\rk\xa5)$\x9eJO\xe3\x15\xab\xb1\xfb\t\xa0\t\xe6\x0c@\x00G\xc6z\x9f\xb3+\xf0\x08\xc5\xd9?U\xaf\xbe\x02;\x0b\xe0l\xea\xd7\x15\x82\xaa\x98=\xe4-\x05\x07\x03R\x8d\x9e\xba*\x0b-\xe0\x1b/|\x0e\xc1i\xfc\xf4\xa7%\xf3J\xff\x16\x16\x0eW\xec{\xc9\xe1=\xbc\xb2e!\xb1b\x1e\x0f\x9a\xbf5\x88\xd6V\xd9\x15\xec0\xab\xe7SKM\xea\x05\x93\xb1\x95\x8a\xbd\x93\x88x\x11u\xab\xa2v\xe6\xc51\xd6\x95\xde\xb5\xa07\x16\xa0\xe8\x92\xda\x04\r\x8c*\xa9}\xf7Us*\xc0J\x80f5\x8a\r\xdb\xea\x97-e\x12\xda\x14\x9d\x8b\x06D\x9e\x9f\x99\xad\x05\xd3O\x9f\x0e\x98\xb9\xaa\xbc\x10\x86\x1b\xde\xa82\xb5\x8bR \xa9\x80PP\x8b\xc6\x91\xd2\n\xe6\x01\x01r\xc8\xda|\xc8\xad\xb2e"\xd6:\r`\x8f\xd1-\x14uye\xe4\x0f\xf2\xb5.\xc1\xf3\xb5\xcd\xf9y\xebe\xbb!CF\\L\xce\xdeB\x8bx\xe9\x99\x12\xa1\x9b\x91\xe62^\xb2\xfb/O\x00\xac?\xf0Ya\x1c3\xe5{\xe7\xbf\xf3\xc7\xddH\xce\xf4\x19\x82\xed\t`\xbf\x9b\xc8\xbfB\xd7\x8b\x9ek\x9am\x13\x13\x1e]\xb9\xe2\x0f\x18HS\xd0\x08\x0f\xe3\x11\xc0(\xf1\\=\x15\xfb\xc1\x9a\x85\x7f\xb8\xbfw\x0cH\x05\r\x15\xc1\xe85\x96\x95\xcf1#;#\x95?R \xfe\x91\xee\xd7M\x16#\x07\x9b\xd6\xe1\x17\x91X\x93o+9\xd8J\xeb\x93\x1d\xc6\xa4Q=\xefh\x16\x89B\xdd\x10\xd6\xce\x16\xd3\x03K\x1e\xe0\xbb\xbd&\xf1\xb6S4\x83\xbe\x85M\x94\x1dj\xd6\x8f\x87\x0eC\xa0\xc7\xb2\xd9\xfax\x1e\xde\xae\xa9=\xd1\xce\xbd\x9c\xb24\xa7\x15\x92\xb3a\xd9\x98\r0\x14W\x05-c3\xe3h\x1f.+\xd4X\x1d\xab2\x969\x9ep\x8d>\x96n\xb2\xd8f"\x93\x03\x8d\xe5?\x93\x0c\xc2\x0e\xee\n\xe4\x01\x01r\xc8\xda|\x03\xfc-\r\xe1\xf9m\xebtK\x03\xf7\x16\xe29Uh\x10\xa3\xa6\xd5>?b\x84\x10\x12\x97\xff\x987\xb0\xd9\xc3\xdc\x98\xc7\x1a\x01\x17m\xb2\xcc\xc1\xcd\x9d\xc2\x06\xb8J\xa0\x85\xddF\x13\xb8\xd7\x80\x95MS\xcdC$\xaa\xa2\x849\xd6\x97futF\x1b\xc9D\x95\xaa\xd1\x12\xcd\xb3 \x92c\x0e\xe1\xa1\x0b\x93\xe9{\xdb\x87\xa7\x8da\x0f\xd2\x99z$\x89\xbf`\xd5\xebj|\xc6\xc2Q\xd9L\\\xd5/\xe5A\xc5\xe0\xf7\x08\t\xc9`\xfeS\x94\xe6\xed\x95\x81.\xf8\x04\xbcS\xc7\\t\x9e\x9e\xc0@H\xacJ\xf4J\xe5{D\xcd\x08@\x05k\xa6s\xbb\xc9\x89\x81g\xfe\xc5l\xbd\xccr[>d\xfb\xfbOa\x16%{\x8b\x01\xb7\x95\xb8\x1f\x00y\x13~\xba \x16H\x80\x83\xec\x01\xebD@\x16\xad\x89\x06\x8a\xc5E\xddc\xb7\x8b}1(\xb1-\xd4\x84\xe5\x12\n\xd4\x01\x01r\xc8\xda|\x88\xd9P\xc0BS\x8a\x0c\x1eJM\xb9\x90@,\xe0\xd8\x1b\x19\xbf\x16u"\xa0` \x03\xff\xf5\xe8\xb8z\x85&2\xfdS\xc75\xbc1/\xeaJ\xa1\xd3y\xef\x02\xb5k7\xff!Q\xddG\x99G\xfa;\t"\xa6\x03\xd7\xf7)\x97\x16Y\xd3\xbe\xa2\xab\x11Z\x1ed\xbf\xacS\x03\xc0%\xb8\x1f\xd4\xc9twmTx\x18P\xc5\xe0d\xa3\xcd\xdc\x1bA\xba\xe5\xbe\xb2\x18{\xbb\xae\xd3V\xc0\x0cC\x12\xe9\xc0\xa4\xdd\xcar\x0f\ry\xcd\x87\x8cd\x88\x08\x1a \x17[vW\xfc\xa5\xa9/\xa9\xa2"\xf6x\x1fx\xe6,\x07\x9e\xbc\xc7M\\qu\\\x9c\x82R\x92\x1c\xdc\xb4\xa4e\x94\xccq\xd4\xce\x88\xdd\x88\x9b\xe9I\xa3/\x92]\x15\xe2j}\xa8\xd1\x99\x9c(Q\xca\xed^@"\xc8k\xdc\x98;\xee\xa2\n\xb8\x01\x01r\xc8\xda|6#=\xa0+\x00^\xf9\x8ez5\xae0\xb3\xba;\xa5\xb9S\xdc\xd5\xa6\nM\xc4T\x8e9\xd6\xc5\xc8\x1e\xda^\x15&\xf4\x13\xae\xd0\x9d\xc7a\x85\x9f\xfb\'B\x84\xa6c\xa7\xd8\x8f-1"\xed}FN\x80\xa9\x10YQ364\xc5+\xd6\xbc\xa5\xfa<@E\xd5*yw\x19\xde\xd2}%\xc5o\xb5C\xc2\tI\xac\xc8U\xb3\x0f\x80[O\x95\xd3pT\xeap\x15nG8\xf8\x1a\xb1\x13(\xa6\xd6S~\xda\x8a\x0b\x03\x91\x078\xbf\xb2\x975\x1e\x97e\x8b\x87\xe8\x96\x9f\x03\xc71b9\x86\x01L\x0e\xcc\x03\xff%\x02\tG\xf8\xdb\xd6\xbc\xa2\xfe0\xc4\xb0\xf3\xf4\x99\xdal\x7fx\xce\xee\\\xc7\xfb-\xc1', "video_metadata": None, } ], @@ -555,6 +576,10 @@ raw_message={ "parts": [ { + "media_resolution": None, + "code_execution_result": None, + "executable_code": None, + "file_data": None, "function_call": { "id": None, "args": { @@ -564,15 +589,14 @@ "author": "Brandon Sanderson", }, "name": "__mirascope_formatted_output_tool__", + "partial_args": None, + "will_continue": None, }, - "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", + "thought_signature": b"\n)\x01r\xc8\xda|X\xbf\x85sq\xe1\xb2o\xf4M2N\xad\xfbKY\x8e\xb1\x82&Q\x83\x8e\xf4`C\x19\x83\xda\x85\xce\xc0My\xbc\xef\n\x91\x01\x01r\xc8\xda|#\x12b?\xfa\xee\x9dg\x0f\xf8\xec\x9b\xb2<'\xbf\t\x8d\x03\x8e\xbf3\xddFo\xe2N\x1b\xc7\x1bc\x1aW\xa9\x8fv@A\x05eZ\xf3z\xd5/V\x87\xe7\x7f{\x14#F\xb5d.\x8f\xa5BN\x13\x90$:S\xcfM\xe9f\xda-\xa3N;\x1d8\xd5v^\x00q\xcbuD\xe03\xaf\xfa\x0c\xca\xd2$:\xb2\x8e~\x06;#}\xc7\xfb(\x97\xd3\xb58\xc3\xc9\x0e$\x17\xc9\x0e\x02s\xf4\xbc\xccr\xf5u\xbc\xca\xf0\xa3\xe6y!\x9a7\x1b\x99\xc9\r\x0b\xfe\xc47\xe5\n\xcd\x01\x01r\xc8\xda|\x17\xf1\x90?5\xf1M\x93\xc7\\0\xb8\xa9\xf5\xa4?5&LX\xbc\x8a5\xb8\x85\x94\xd9\xe0\xb9x\x83\xa6(\x15\xe4h\xec\x9eYY\xd0\xd7\xb4q.Bv\xbd\xbe\x96%\xca\x03,\x10+\xa7\x00Vwt\xa8\xaa\xe7\xf8\x15{\xb0j\x08\x1f\xf9`\xa5&\x1fC\xbc\x0c4m*\xc8\xa5\xbf)\xe8\x90s\t\x94K\x84$\xc8#B7Z\xab\xf6\xab\xb3\xef\x06\xed>\xa0\xb3\xca=\x9c\xa3\xbb\xb7\xab\xee5\xdb\x08qj\x9e\xc6\x95(\x03z\xbc\xb7\x97\rU$l`\x8fb\x95\x06x\xff\xea\x9e\x94\xfei\xb1@}\x975\xd4f\x17w`\x8d\xee\xc3\xcd\tZ\xf5\xe6\xf1k\xf6\x06!G\xa6y\x83GvF.t\x85`K\xdf\xba`\xa4\xffu\xfbC?\x03\x85_\xc0\xc2xM\xc0\xdf\n\xf1\x01\x01r\xc8\xda|c\xc5b\x1c\xfeF\xb3\xde\xbf9\xbe\x9e\xcb\x81\xc7\x84\xd4U0\x0b\xee\x0b@E\xf8z\xf7\xb4\xc2\x98\xbe\xf7\x7f\xc3\xefa\x7f%!=N\x903\xde\xa7.\x11\x92y\xe1\xa1\x17\xed\xc8\x97\\0W3*\xa4\xac\xa5{\x05C\x8b\x8b\x17\x85\x0e;\xeb\x1b\x02\x8a%\xb0I\xc68X\xc6\x1d\t9\xee\xb4\xb8z\x1d\xa0q\x1a\x14\x85Piy+\x97G\xa7\xf0\xa0\xc7\x1e\xce\xc9\xbc\xb9\xce\xf9\xb5\xbd\xaf\x18\xb1b,uu\x8b\xe6v\xea\xf0l\xc7\xc2!2\xe0K\x98'T\xe1F\x90\xd94\x01\xda\xad<\xa3B\x8aSh\xe0\x1aS\xd84i\xfcAQ%\x80O\xdd;\xcb\xfaER\x14\t\xd5\xd0\xccj&\x8dz\xd8\xd8\x004\xd1o\xacq3\xfc$z\x895+\xc4c6\xd8@\xc6W\xabl]\xbd\x02\xf8\x0e\xc7\x82\xcb\x06\xd7\xb4\xfd#sV\xcaK\xc4\x93\tO\xe7k\x8c\x08|I\xc2\x8c\xd0\xf8\x0b q\n\xad\x01\x01r\xc8\xda|\xdaFX'\xa2h\x19\xca\x10\x10\x173\x08[-\x16\xc4\x87%\x1aV\x81\r\xeaE\xeeN=\xa6x\xa0\x17 \xf1\xe0\xa3?\xe0l4\xd8\xadG\xe1\xfcF\xcbm\";\xc0\x8f\xe1v\xa2K\xe4Y\xc6\xa7a*\x9f:\x99\xa0h\xa8\xe1\x12\xf0`\x88H\xb9u\xb5\xa9\xbe=Hn}\xf6\x8b\x12x_\xfc\x0c\xb4\x9c=\x84\x9aTA.\xafc\xb8\xc5\xcf]\xb3\xa1\xba\xf8;\xb6\xd7\xec\x11i\xdb\xc75(ss\xa2C\xed\xc3\x00i\xa7\x0b\xfa\xe4\xccW\xb2\xdca5a\x04u\xc5\x92\x15\xc9\x1b\x05\x10f\xb3\x93\x901J\xdc\xcdQ?8\xf6/~<\x8c\xff#\xff\xa8\x8c\xae", "video_metadata": None, } ], @@ -623,13 +647,13 @@ } ], "usage": { - "input_tokens": 530, + "input_tokens": 808, "output_tokens": 49, "cache_read_tokens": 0, "cache_write_tokens": 0, - "reasoning_tokens": 151, + "reasoning_tokens": 147, "raw": "None", - "total_tokens": 579, + "total_tokens": 857, }, "n_chunks": 3, } diff --git a/python/tests/e2e/output/snapshots/test_structured_output_with_tools/tool/google_gemini_2_5_flash_snapshots.py b/python/tests/e2e/output/snapshots/test_structured_output_with_tools/tool/google_gemini_2_5_flash_snapshots.py index 35c502b998..6806027210 100644 --- a/python/tests/e2e/output/snapshots/test_structured_output_with_tools/tool/google_gemini_2_5_flash_snapshots.py +++ b/python/tests/e2e/output/snapshots/test_structured_output_with_tools/tool/google_gemini_2_5_flash_snapshots.py @@ -19,17 +19,17 @@ "finish_reason": None, "usage": { "input_tokens": 268, - "output_tokens": 194, + "output_tokens": 267, "cache_read_tokens": 0, "cache_write_tokens": 0, - "reasoning_tokens": 145, + "reasoning_tokens": 218, "raw": """\ cache_tokens_details=None cached_content_token_count=None candidates_token_count=49 candidates_tokens_details=None prompt_token_count=268 prompt_tokens_details=[ModalityTokenCount( modality=, token_count=268 -)] thoughts_token_count=145 tool_use_prompt_token_count=None tool_use_prompt_tokens_details=None total_token_count=462 traffic_type=None\ +)] thoughts_token_count=218 tool_use_prompt_token_count=None tool_use_prompt_tokens_details=None total_token_count=535 traffic_type=None\ """, - "total_tokens": 462, + "total_tokens": 535, }, "messages": [ SystemMessage( @@ -58,19 +58,22 @@ raw_message={ "parts": [ { + "media_resolution": None, + "code_execution_result": None, + "executable_code": None, + "file_data": None, "function_call": { "id": None, "args": {"isbn": "0-7653-1178-X"}, "name": "get_book_info", + "partial_args": None, + "will_continue": None, }, - "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\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-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\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', + "thought_signature": b"\n\xbd\x05\x01r\xc8\xda|\x1dk\xacN\xde;\xd0\xeb\x9a&,\xa6\x8f\xda\x9dzTjf\x18\xfb\x14#\xf4\xa8\xb8\xaf\xec\xadN\xc2d\xe6_\x91w\xdfH\x03\x1f\xb7\xed\xe4a(M\xd3\x04\r\x18P\x9f8\xaae\x83\xeek\x8b\t\xa5\x10\xe8J\xd0\x15\"I\xb5\xd8\xf9\x89-\xe4\xfd(\xd4wT\xc1\x00\xfa\x12}\xa3\xfcz{\x9fp\xe0\x1b!\xdfu@\xe1\xbd%}K\xa2\xec\xdeQ\xf7\xdco5F\xc9\x95\xdaE\xfaW\xc9k]\x98\xb3!\xa0\xdc\xb23\x00e\xbc+\xcf\x8ah\x80\x8d<\xc2Re\xb2m\xd6*\xbe\r\xa5a'\\Q\x7f\xa7m\xe0\xea\x19\xa9\x0c\xee\x86\xb3\xa1.\x1f\xfc\xb3\x04\x80E\xce\x92\xf9\xfe\xbf\xd97\xaf\xa0\xf5\xdc\xa7\xc4\xb56S\xb1\xa3-\xa4\x94M\xb8/*,!\x04`\x83\xf6]\xae\x10\x98\xb98xy\xact\x89D\xb8J)\xfb\xfc\x06\xfb\xde\x81(r\xbe9\x05\x03\xa9\xe2v%{\x81\xc9\x8c\x9e\x82\xafe@\x00\x98\xe6\xe5n\x1f!\xb4\xd3\xacW\x8b\x05\xe4TD\xd2\x86\x0e\xad\xd4%\xfd\x13\x8f\xa97g^\xf9\x10c\x82S\x1b\xa7Gp\x7f\x1b\xd6\xb4\xb4\xc3Q\xcbib\xcc&\x96b\xfd\xb8\x0b]\x87\xd1a\x81C\xef\xb2\xe5*\xe7\xf8,1x\xacF\xcc\x8e\x83\xe1c\x94Lu\xd6U\x87\xca\x85\xf9\xfd\xe7\xd1g\xbeez\x8f\x89\xfa\xab@;^\xac\xde|\x93\xb2^Z\xc1\xd8<\xf1h\x10[}j$0\xba\x13\xcf\xe0I5\x89\xd6h9\xa5\x99f\x1aJt\xe9t\xb8\xc4>\x1e\x08\xf5a\xf9\xc7\x08Hj\xd8\x01\xff\xf2;c\x0b:\tf\xcfl\xe1 '\x07z\x87\xcf\x81\x93\xd9/\xa5\x87\n\x8e\xe6\x9e\xf4T\x85\xc7\x9e\xe9r`,w\xbbUu\xf0\x0b\xc6\xbc\xf3\xfbS\xb69\xb7\xaf\xbf\x14a{5\x0e\x8b\x113\x0fQ\xb1D\x05\x9f{ \xee\xd3\x10\x148D\x03\x00\xd3\xbb%)\xb6s\x08\xb78\x85\xbfT\x19\x0b\xd5\x01\x9eJX\x1b\x85\x1b\\[U\x8d\xd96hr\x91L\xa5\xc0\xd8\xdcc\x1e\xfe\xaf\xb8\x17BC\xe4\xee\x87\x88\xb6\x166\x12&\x98\xaa\xd3h\xf1\xf3\xa0\x89\x85\xd5b\xb3\xbe\xe5\x9d\x91f\x1c\x15Vt\r=\x17GW\xf2\xa7R\x0b\xec\xdf\xddNu\xae+\xceQ\t\xb9\x06\xd6!mx\xdd\xaa\xd0h\x88\xdd\xdc\xa7$ryF\xd9&\xf8\xd2N\x80b\x01\xd0\xf3\x1f\xdf\xff!y\x81~\x94\xefu\x0b\x14\xa6`\x88\x0c|\xf7Q\x9eS\x0f\x92\xe5\xd4\xf2B\xb8\xc7\xf2", "video_metadata": None, } ], @@ -89,7 +92,7 @@ AssistantMessage( content=[ Text( - text='{"title": "Mistborn: The Final Empire", "publication_year": 2006, "author": "Brandon Sanderson", "pages": 544}' + text='{"title": "Mistborn: The Final Empire", "pages": 544, "publication_year": 2006, "author": "Brandon Sanderson"}' ) ], provider_id="google", @@ -98,24 +101,27 @@ raw_message={ "parts": [ { + "media_resolution": None, + "code_execution_result": None, + "executable_code": None, + "file_data": None, "function_call": { "id": None, "args": { "title": "Mistborn: The Final Empire", + "pages": 544, "publication_year": 2006, "author": "Brandon Sanderson", - "pages": 544, }, "name": "__mirascope_formatted_output_tool__", + "partial_args": None, + "will_continue": None, }, - "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\x11\xc5\xfc=\x86+XW\x87\xbfG`2X\xfa\xd2\xcd:*}\xdbn6\x0c64\xa9\xb9\xc5\xddk\"o\x83!'D\xbb\x18\xf4\xe3\xc0\xac0\x92.8)\x14=\xe2\xb5&L\xe2kv\xef$A\xcc\xbf\x91`\xfbJ\x815\xd42=\xe4\xf1\x04(u\x92\xf1yL\x80\x80\xaf\x0b\x00o\xbd|L\xf4:I\xf3\x9e\xfd\x96\x82\xc7\xe5\xfc\xfc}\xc7\x15N\x12H^\xd5|\xc9\x13\xaf\xc3\x18\xe2\x1el\xa6\xc9\x13\xbdJ\xb0\x15\x05#\xdc}\x93\x1c\xf8k\x84\xbd\xfd\x08\x8c*\xf1{n?~\xad\xf3-\xe9\x7f\xa4\xd3\t\x10\xc9\xbd`\xa3\xcdk\xe5\x07_V\x1e\x15\xadO=\n\x8e[\xbf\xc7\xc3\xfdO\xac\r\x95\xd7\xd6\xde\xd3\xe9d\xc0\x11hh}u`\xc1N\x95#\x0e\x04\x8dsj\x98\xf1\xc9\xd8\x86\xbf\xa9\x14AK\x10\r\r+0\xdc\"s\xed\x80\x90\xe1a\x0f\xc4e\xdc}\x939\xb3\xf7\x07nUZ\x87\xd8\xd6v\x94\x9f\xc5\x8c\xba\x15\x19\xad\x95T\xa1\xb5\x11_\xcf\x90\x0c\x0c\x0e\x07\x81\xf9S\x9dK\xb5\xf5q\xe6\xb3M5K\x10\x9a\x8cJ4\xfb\x87\x0cC\xce\xc4\xf1\x84\"l\x05\x91\xc5yrQ\xa91R\xcdSPW\xb3\x0c@\xbc\x19\xde\x04t\xc2\xe8\xc39D\xf5\xe5\x051t\x05_\xc1_\xb5\x05\x97\xd9x\xf5\xf8\x02\xacP\xad[v{R\xa3Jc\xce\x9fT4\xf2oZ$\xc8vB\xc0\x85\xe0\x0e\x83\r\xd6.\xba\x968\xcd\x9f\x920\xd1Y\xc3\x1e\xf7\xf8\xe3\xce\x87(\xa2\nXI\xdf\xac\xde\xbd\xe68\x84g\x06\x9dkH+\x9a\xc9\x85C\xab\xf1t\xa7\x8f\xd6_\xdd\x9fN\x1a\xb3\xa8\xb0l8?\x05REA\x16\x83\xdd, token_count=268 -)] thoughts_token_count=275 tool_use_prompt_token_count=None tool_use_prompt_tokens_details=None total_token_count=592 traffic_type=None\ +)] thoughts_token_count=224 tool_use_prompt_token_count=None tool_use_prompt_tokens_details=None total_token_count=541 traffic_type=None\ """, - "total_tokens": 592, + "total_tokens": 541, }, "messages": [ SystemMessage( @@ -217,19 +223,22 @@ raw_message={ "parts": [ { + "media_resolution": None, + "code_execution_result": None, + "executable_code": None, + "file_data": None, "function_call": { "id": None, "args": {"isbn": "0-7653-1178-X"}, "name": "get_book_info", + "partial_args": None, + "will_continue": None, }, - "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\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\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\xbf+u\xaaK*/f}Y\xe3\xb5\xb2\x81\x01,>Tx\xd3\x06\xfc\xdd\xe3\x1al', + "thought_signature": b'\n\x95\x06\x01r\xc8\xda|\x0e\xed\xe2\x87\x16\xaa*OwB\x1f\xa7\xee5_J\x92F\xabSl\xcdwI\x8c\xc4\x9bX7\x0f-l\x01\xc5\x80\xa0\xf9"t\xacO\x8eN\x8b\x8f\xc3\xe0/\xefT\xb0\t\xf0\x1e|\xf8\x9ax\x91\x17\xb8\xee\x8bn)Z\x14s\x18[\xae\xcbbG\xc1\xa3L\\\xc5\xb9@\x11\xad\xe9s\xfbz\x07\x02\x7f\x08\xa3\xb3\x96\xbb\x97T\xa4\x87Y\xa8td\xa4`K\xe7\xea\xa9\x96\x1f\xc8\x85\xdc9\x152\x82\x00Od\xaepR\x16\xf3\xce\x04\x88\xcf(q \xe1\xb9\xe8\x1b:\xfe\xa2&\xcb\xe94\x9c\xb0+\x03\xee\xdc\xa0l\x91\xf4[\xd0\x0c"}E\xaf\xcf\x17\xcb\xd5\xech\x0392\xd8\xdf\x05-\xa5/Np\xbb\xcd\xde\x19\x1d\xfe\x94\x0fW%\x9d\x08\xf1\xa5\x91\x13h\xd8:\xc7\xec\x0c\xab\xa6i\t\xda6\x02\xf7O\xd3\xc3G\xf8\x12\x94\xcd\xc2\xad\xd8w\xf4\xec\'\xdd\xcb\xa6j\x19\xcf\x19\x85{\xf3k4Kg^\x86\xf5\x9f;E\x0c\xdfKXsM*\x82\xb7\x0eL\xb6\xe6o\xcf\x1b7\xd2\x870\xa7\xe0\x8e\x99\xeb\xdf\x0f\xdcF\x95\xe8\'ts^\xd2\x84\x93M\xb7\x8bc\xd6B{\xcf\xa4\x7f\xdc22B\xe5zm\xea\xd5X#O\xa0n?X\xbd\xe7*\xb3b\x0f;|\xad\xe5\x08-:\xa0\x02\x19\x12\x97W\x14\x8f>\xa0\xcb\xec\xc6\x1f\x87\xa1\x1f\xc6\xedS\xc1\x16\x13\x1d\x03Q\xae<\xdf+\xb6\xf6\x16\xaaM\x80\x8a\x91\r:\x13\xb3\x8d{\xed\x15g\x08\xeb\xf0\x1f\x14,\x83Hs0N\xa2\xe9\xc9\xcd\xa8\x12\x949v\xfa\xcb\xd9c\xf0#\xday\xdb\x0el\xe3.\x99YW\xa7\xc6\xd0\xb2{\x9b\xb9\xe8\xda\x18\xd3\xeb\x1e3\x96<\xd3\xbb\xc8U@\xd8[,7\xf8\x86[\xa8\x18\xcdR\xda\x13/\x0c\x1f\xda$\x0b\xff\x94\xb3)\'w\xa8}\xd1\xc9\x07o9[\xb9\xa0\x08\xb9\xff\x8ce\x92E\xe05(\x91\xb3|\xb0-\xb5;\xb4}\x9dX\x92\x93\xf7\xcch\xd3\xb3^\xfa\x88\x99\x93\x8a\xf0/%u\xcb\x0b\xf6\xa4\xaa@\xefu\x1c\xd4d\x82D\x84r\xac\x0b\x04\xd3\x82\x95$\xcdg\xdd\xa7H\xb5\xe6\xc0He\xcbh\xc0\xa1b\x96(\x85(TJo\x83\xe7fZ\x83\xac\xcbv\x82\x81\x01\x9f\xe3[\xa1\xd8\xc4H\xfe\xec\\\x7f\xa1\x90\xafj\xcbWk\xe1\xb6\xb5\xa0\x8b\xc3\x1cDf\x80=\xe5d\xe5O\x9dk\x86\x94\x9c\xf2\xf9\x83\x80\xb6{;\x82\xd9p-nw\xb5\xf1\x1c\xbfb\x06\x1b22\xf7\x1b\xab\xfa\xbf\xbe\xc26d3\xb6\xf9G\x11\xbf|\xc5\xacj(\x1b\x04:\x13\xd2\x8e\xbb\xc1\x040F\x9b\xaaS3@\x90Zc?\x8e\xdf\x15VK.\x17\xe8.O\x1f\xef\x80\x0e\x93\xde\xee\x85j\xafO8\xb3V\x81\x16q\x19\xa0\x81\xa1Hg\xf9\xa98\xca\xb4(\x03\xcc\xee\xe0\xaa]\xbf\xe1\x94Y\xb6\xbcQ\xee]\x83\xd7\r\xd7\x93J\x86[\xa5\xfe"\xfc\xb3\x91\xc7\xc5\x96\xd6qyH\x07\x0e\xc3\xdeY\x82\x96\xd9\xeax\x11\x83\x85\x9d`v\x9a\x85{h\xed\xfe>\xa4B\xadg\x15+Q\x7f\xe0\xe9\xa0\xd6q\xf2\x8d"\xf31\xce\xa7\xc8\xa0\x8e:r\xe8\xaa\x1f\xeb\xc9\x83$TV', "video_metadata": None, } ], @@ -248,7 +257,7 @@ AssistantMessage( content=[ Text( - text='{"title": "Mistborn: The Final Empire", "publication_year": 2006, "author": "Brandon Sanderson", "pages": 544}' + text='{"title": "Mistborn: The Final Empire", "author": "Brandon Sanderson", "publication_year": 2006, "pages": 544}' ) ], provider_id="google", @@ -257,24 +266,27 @@ raw_message={ "parts": [ { + "media_resolution": None, + "code_execution_result": None, + "executable_code": None, + "file_data": None, "function_call": { "id": None, "args": { "title": "Mistborn: The Final Empire", - "publication_year": 2006, "author": "Brandon Sanderson", + "publication_year": 2006, "pages": 544, }, "name": "__mirascope_formatted_output_tool__", + "partial_args": None, + "will_continue": None, }, - "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\xfcR\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", + "thought_signature": b"\n\xbd\x06\x01r\xc8\xda|\xedA\x15I\xbe|\xf2\xa5\xa7\xfd\xa9L0;.\xf3\xb3Oy\x9ct\xf4H\r\xfb*\x11\xbe\xbe\x8f0\x8bw_<[\x85Q=\x03*\xc3\xc0\xc48\xf7q\x10\xe0TGH\xf8\x8f^\xd3\xbaR\xeaL\xb0\xf6\x9a\xb0\x83\x93\x98Ex\xca\xf5~x\x12M\x91\x9b\xa7\x05\xd2\xe4\x96hR\xe0{\xfd\x96S\n\xa6\x16\xa0d\xe9\xae\xc8\x03\x03\xb3p\xb4E\x93\xd99>\x15\xac\xb8\xcfv\x9cp\xc5n\xe9\x1aV\xf6\xbbQ\xa89V\xee\x96B\xeb\xa6\xe1\xb1'\xb6\x9er\xe5\x9d\xbd\xf5Mv\xd9\xe9\xcfV\xc3Y\t[E\x0f\"\x02\xdd\x9b\x16 C/\x12\r\x05\x85(\x18)`\x8c\xd9\xe7\xe1\xd6\xc3#\x1e\x87\x1c\xef\xa5\xf4\x9eu\xb5\x85gV\xa7\xddn\x16\xf4\xab\xfd\xeb.i\xb9':\xf4}\xfdf\xee\x14\xf5=\xd0,\xe0Hxs\xe7c\xba\x1c\x92\x07\xf4\xe1o6\xedr\xed\x05'p\xbbL\x07`\xff#\xb1\x14{s\x1c\xd0\xff\xc7\x02\xa2( c%B\xbe\xc0_QXe1`\xf5^\x05\xeb\x87)\x8e\xcd]\xafD\xbdGA\xe6n5\xa75~\x15\xe0g\xeeg\xde1\x03Yh\x0b\x1a\x08\xce\xa2\x02\xe8L\x01\x0e5g\xb84\xb6{6\x98P:\x883\xe6\x11=\xea%\x8bh\x94k\x8d\x97\xd6\x82#K\xfcF\x03Z\xf7_-\xa5\x86\xa6\x88\"\xc3j\x1cN!y\xc5K\x05|\xaex\xb6\xe4\x93\xfd\x8d\xe3\x8e\x07\xb4\xa1\xe8f]\xca~\xe7\xa6YOWn\x0b\xef\xe1\xff\xdf\xaf\xe9p\xe8+n\x98)\xc6\x9b\x1e\xf8M\x90dD$\\\x04\xfb\xc4\x90\xd1b\xc2\x8f\xff\x1f\x8er\x8f\x89\xd8\xb5\xeb\xb4\xb4\x87\xd6\xa6\x87\x8e\xd81\x07\xb4\xba\x98\x1b\xb8\xdc\xa2\xe7\xbcu\x1aCh9\xca\x81\x04\xd6\x90\x89Uqy\xac\xa9)\x9f\x00\x99\xcfT\xfe\x9a\x8a-i\xf6n\xecw\x11K\x89\x89tz\x1b\xa0\xbdI-\xd5\x0c\xd7\xd6\xdd\xb9\x9c\xe4\x08\x92\xe1\x16)9K*\xd9\x96\xac\xb5 1\xa93\x113\xf1\x93\x1d\xe1k\xd5\\\x18\x95\x05{\x11\xf8\xa6@\xa1\xe5%\x9d\xaf\xa8\xa8\xe7\xb2\xe81\xff\x91\xa1\x08\x05\xbe'\xe8\xae\xe3(Y\xc8\xa6\xd5\xda\xc2X\xd9\x01\"\xe3#\xdc\r\xb7\xac\xc2P\xf7\xf2\xab`\xa07\x82\xfd\xa8\xb9\x10,\xa9\xe6]\xde\xe0O\xb4+_a\x95 \x13qJ\xd8\x04V\x96X\xa9\x97p\x9e6\xa8;\xde\x9f\x87\xe1\xaf\xee\xb0\x80\x96\xe7)h,L\x9d)\xed \xd6\x93\xa9\xd3\x14e\xf5\x12\xa7\xa4\x8c,\xfa\xe6-\\\xd7p}G'm\xc6\xc9\xb5j\xf5\xbb\x1e\x94\xab\xb5\x16A-\x06+Nj\x8a>S\x00\xe3Wb0V\xfc\xa8\xa09\xd8C\xc8\xc5\x82/\xb7q\xd7\xba\x12\xa7\xb1V\xa4\xa22\xb6C,\xadM\x04\x97@\x91:\xbb)P\x92\xc7R\xbc\x9f4e\x83(\xe6:\x17\xd2\xecM)\xf4\xf1\x92`u\xaf\xd6\x18\xe33\xca\xb4\xd6\x1f\xa8\xd9=\x7f] e\x1c\x0bc\xa6\xacopV\xdb\xd0o5\xa4yz;\xf4\xd0A:5\x16\x05b\xf6\x9bZ\xbc,\x96Q\x1c\r\xd3+\xa6\xad\xd2\xec\xbd\x9f\x84\xb8\x85:\x93d\xbc\x03#\x9e#\xe94\xc2[;\xfd3F\xe5\xaf_\xe5\xea\x9a\x98fj\x865lH\x98\xc0\x89\x06:OY\xe6@ai\xb5\xad\x8c\xa6z\xe4SWvI\xaf", "video_metadata": None, } ], @@ -361,19 +373,22 @@ raw_message={ "parts": [ { + "media_resolution": None, + "code_execution_result": None, + "executable_code": None, + "file_data": None, "function_call": { "id": None, "args": {"isbn": "0-7653-1178-X"}, "name": "get_book_info", + "partial_args": None, + "will_continue": None, }, - "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', + "thought_signature": b"\n$\x01r\xc8\xda|\xd8\x9b\xa8\xeb\xd0\x0b\xcb\x9d?\xcb\x9a\xaf\x8a\xcc\x0e\xf6\xb3\xcc1fY\xd5SSe\xbc\x10S\xa1z{\n|\x01r\xc8\xda|\xa9!\x84\xc2\xfe[~\xa5\x06\xc2\xf01\x0c,\xf6\xf3\xf2\xf6\xd8\xac\x95U?\t\x08\x95\xafAO\xd5\xfd\x9e\xf5]\x86\xderUm\xef;q\x06\x01\xe4\xb6\xb3\x0c\xd1\x89\xd3oheW~!\xa9i}\r\x86\x9b\x0e\xcd\x180\xba\x1c\x0c\x14\xd7\xb6\xcb\x1f\x90\xd7\xd2\x84oV_}z(\x11\xc2E\xb5/\xba%\x11\xb3\x99[$H\xef\xf4\xd2\xc1\xdc>?P\x95T9\xa7D\x9e\xa5}\x1c\x05\xd9\xf9\x1a\n\xf3\x01\x01r\xc8\xda|\xda\x87\x8d\x82\x90\xb8\n+\x106\xddA\xbd\x82D\xc19\xb3\x0fkF\xb9\xb7e\xa6M\x05>\x18\x01F\xca\x8d\xd2\xa6\x94w\x88\xf2\x97@2\xc4F\x19\\a8\x1d9\xcc\xd8\x99\x07\xea\xa6\xd3\xf59H\xdc\xebDt:\xde'\xde\xe8\xcb\x92{\x86\xdb\xce\x90\x18\x8b\xe3\xedEi\t\x1a\xb5\xe8\xee\xb8\x7f\x17'\xca`\xf8M\xa1k%\x93jq\x1dy\t\xa51\xdd\xa1\xe2\xf8\xbd\x04\xa8y%\xab/)\xa2w\xb4\x173\xbb\xa8\x85\x9af\xaf\xdc\x9a\x9ej\xf8\xaa\x13\x8c\x08\xea\x1e\xbf\x0e$?\xee\xd3\xf4_xW\xeb\x19\xd7Pl`dN\xa2U\xbf\xf5!\x90\x99)\xe5\x16\t\xf1\x0eL*\xb6\x04\xba\x81;\xd7\x83\xea\xde\x9f\xcdI2%\xab\x7f\x94\x8c4\x17O\x91\x92\x88/n\xb8\x03\xc9\xfe)\x0b\n\xfd\xf2,\xe7J1\x03\xab\xc0\xa7\t\xe7;\xdd\x0eA\xd8\xd5\xaa\x87\x97\x93Y\xbe!\x16\xd0z\x12\x8fLX\n\xef\x01\x01r\xc8\xda|t\xe2zD\x0f\xfa\xb4NA\x92\xe2\x9dg8\xd9K\xc2\xc9\xd0Gw6\xe2\xdf\xce]\xcb\x8et#\xb1B\x1e<4\x00?\xbf\xaa\xddk\x17\x8cd\xe9]/\x8e\x8fw\x12\x171\xab5\n\xa3\x05\x15S\xdeT;\xe0T\x1c\x0c\xac\\\xe4##\x07&\xf0\x1f\xef\x9c\xd5U\x8f@\xd6\xf3>\x1b^\xf1\x0e\x1f\x87l)\xfeV\xdc\xe2\x08\xe4|\xf6\xf8\xd4\x17 \xb7kO\x8e,H\x9d@\xc9\xba\r&fj@\xa6P\xb6\xa7\x02\x01\xb6\xf8\x17\xe3\xa9A\x9dS\x96\xf7}}\xf1z\x83\"\xa8:\t\xb9\xc1B\xa2Me+\xad\xe6=\x0b\xbc\x12H\xb7\xc3L\xbc\xb8\xf3 2'\xa2v/\x15b\xc5`\xb9\x01?\x81\xba\xbfF\x08\x90h\x81\xf8\x9b\x8cg`\xa4\xedMN8z\xf8\xe4y\xddE\xa4\x038+\x80\xab\x127\xa7W\x05\x04:\x1cT5\x08G,\x15\x17\xa6bR\xd0\xbaJP\xcb^\x83\x19\n\xbf\x01\x01r\xc8\xda|0\xeb4\xa1\xe9f\xa3\xc3\x04\"4{\x90\xe6\xe9\x0840\xa41'm\x16\xa7\xfbiy:\xdf\x9a\x04j\xb5/\xe9\xdb)\xeb\"\xfcSd\xe2'tgYLU\x9b\xe0Xr\xc2\xeaB\xff';\x82\xca\xef\xb1\xbd\xf3\xd3\xc2\x1fA\xbc]\x899\xa2\xe9\xa8\xaeU\xbb\x02\n\x7f\x9b/\xff\xe0\xeed\xb1\xc5A\xcda,\x16V\xfd\xde+\x0fa\xc73\x0fAzTG\x81\xcaM\xa9R\xf8\xba\xdf\xe6\xa1\xa4g\xebn\xb6\xe531\xe8\x93)_t\x12\\\xb2 \xfaf\xd3z\xdf.\x0fd\x9b\x8e\xb2\xe6;\x08\x90Sp(\x87\x86R0\xae\x97m\xa8\xc7l:\x16\x19S1\x9e\"\x03\xef\xcc\xb66\xf6\xfb\x95t\"\xbf\x0f\xec\xbf2J", "video_metadata": None, } ], @@ -392,7 +407,7 @@ AssistantMessage( content=[ Text( - text='{"publication_year": 2006, "pages": 544, "author": "Brandon Sanderson", "title": "Mistborn: The Final Empire"}' + text='{"publication_year": 2006, "pages": 544, "title": "Mistborn: The Final Empire", "author": "Brandon Sanderson"}' ) ], provider_id="google", @@ -401,24 +416,27 @@ raw_message={ "parts": [ { + "media_resolution": None, + "code_execution_result": None, + "executable_code": None, + "file_data": None, "function_call": { "id": None, "args": { "publication_year": 2006, "pages": 544, - "author": "Brandon Sanderson", "title": "Mistborn: The Final Empire", + "author": "Brandon Sanderson", }, "name": "__mirascope_formatted_output_tool__", + "partial_args": None, + "will_continue": None, }, - "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%\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", + "thought_signature": b"\n$\x01r\xc8\xda|z\xb7lk\xc2\x9c\x97\x7f\xc9\x96\xbc\x96_F2\xear\xa5M\xbaY\x00r \xf7>\xe4o\x8a\xb9`\n\x81\x01\x01r\xc8\xda|\xe2\xac\xf5\xde(\xe8\\w\xe5\xedM\x08\xa41\xef\xa3\xba\xa4F\xcdc\x1b\x95b,fT\x89P\x1d\xeb\x08{\x9a\xb1\xb3\xa3\xa2s'\xd3t\x99\xdd,tY\x1a\x1d\x1fN\x8d\x0b\xa3\x81\xd8\\\x9d\xa5=\x89\xa5\xa1\xbe\xad\x1d\xeb\xad\xee\x0bGi\xa5\xc0\xd89\xc5\x00\x0c\x95\x07\x8b\xe8\xffV\xf6\xb9P.2\xa6\x83\xebh\xc8\x9b\xd9E\t\x98\xa2\x8b\xab\xdd\x7f\xe2R\x0e<\xaf\x893,\xf0Y4\x0e\x85\xcd\x81\xd82>\x80\n\xbc\x01\x01r\xc8\xda|\x87\xea\x004\r\x8e\xa2\xd4\xfd3/\x19T/$?\xf5\xec\xc3}j\xf0\x89\x84g~\xea\xad\x9d\xd2\x0f6\t\xff+V\x1f \x85\x95\xf9\xa3\x8e\xaa\x0f\xc7\xee\x9f{qXO*\xbbY\xf8=\x13a\xf0\x04.\x04\xfb\xdc\xe5\xcc\x99\xd74\xb5*\xa6w\xe5\xa7>L\x81\x1c\xb2\xa7\xfe\x94\xe7\xc1\x17\x82\xbb\xa1\t\x96\x1f\xb0\n\x17\xb8?\xd3\x94g\xb8!\x7f\xb3\xe4\xd0\xda/\xd7\x9e\x07_\x8a0\xf2\xecM+1V\xa4h\xd4\xe1\x912L\xb1\x92\xa3\x83U\xc1u\x17\xb3\xb4\x1dW\x91\x8f\x99\xdcs\x99|\x80\xfb\xf1\xf1\xd1\x04\x99\x9b\xd3!\xd1h2+D\xd1m\xce6V\xb2\xd9\xb9\x07\x92\xd4\xb4\x13?v\xd0l3\xa4\xe7\xa2\n\xc5\x01\x01r\xc8\xda|\xf9Cr\x98\xbb\xb5\x91\xdb\x94$\xff^Ep~]]\xf6c\x13$\x14\xc84\x84\x187\x01\x1c\xd6\x88\xa7\x14\xf6)\xb2I\xc8\xd5\xdd\x0b\x18~=v\xa4\xb2\xe5\\d\xe1\xe5\xefM,\xa1\xcdJ\x94\x1d.Y\x07\xf7\x01\xfc\xed\xdc\xbb\x8d(\xc2\x00\xfd\x14\xf8\xaeHY\x08t\xaa\xe1g\xb6J~*\xac$\x90\xdaw\xa8Y\x91\xeeiC\xc4k;>&\xe0\x8a\xf2H\x19\xa5\xc5\xd0\xa1-7\xcb\xdbdpM\xd8\x9chS|\xc4N\x08o\xd6\xcaI\xd2\xb1\xa0\xc48O\x16\xb9_\xe9\xcdG7\xfdV~Xix\x16_\xc3\xac?V\x18\xb5\x87Am\xf6\x14t\x1bl\x86\xd6\xc2\xe6\x15\x8b\xce\x85\xecc\xb8\xd6\xe4[i;\x83\xe7\xce\x88,\xb1\xf9\xa4\x04\n\xb5\x01\x01r\xc8\xda|IC\x1a\x9e\x82\xf1xI\x15C%\xfc?\xe5\xe4\x01\xaf[{\xdd\xe40\x90\xb3q1\xb0\xecjK\x0c\xe1{\x1dA.\x14\x19\xac0k\x1eJ[\xc4_\xc8t\xd9\xf7L\xa8\xe6\x10;\xcbJ\x95?\x15\xaa\xaa\xfe\x03\x05\x8c\xb0\x17\xa8\xc3\xb6\x03\xdc3\x80\xa0\xcf\xba\x98\x8e8\x8c\xf8\x8d`\xb3\x06\x17\xc0\xe7\x11%\x98\xed\x92Y\xbf5G\xed\x87\xee\x92\xaa|\x8f\xfa%\x02\xa8\xd3\xc3\xabMi\x0f\xc9\x8d_\xe6\x02=\xe9\xe0S\xc4\xe8\xa1\x15\xbc\x07\x8a\xb3\x16\xf4H\x08T#jp\x04\xb4\x0c\xfa\xa3\xdb@\xc0\x97\xf0\xef:\x18\xa8\x13\xb9\xf8\xd8\x1c\xb6\xe7\xe1\x08\xb94o?g\xf4\x06o\x92\x9c\xbd\x0f\n\xcc\x01\x01r\xc8\xda|-\xb6\x1f=\xc8H\x19\x04j\xa4s\x80\x8dhH\x02S\x9a\xf5\x05Zb#\x8eq4\xf5\xd1\xad$\xe5\xa4\xcf\xeaz\xb0~\xe2\xd1\x0f\x17\xb3vc=j%\xadI\x0c\xc0i\x11\x8d\xdc\xcf\x88\xe3YL*\xa02.\x92?\x7f\x81Q#\xd9\x050T\"\\\xc1\x93\xe5\xaa\xdfK0\xfb]+Ci\xd1X", "video_metadata": None, } ], @@ -469,13 +487,13 @@ } ], "usage": { - "input_tokens": 371, + "input_tokens": 434, "output_tokens": 49, "cache_read_tokens": 0, "cache_write_tokens": 0, - "reasoning_tokens": 235, + "reasoning_tokens": 241, "raw": "None", - "total_tokens": 420, + "total_tokens": 483, }, "n_chunks": 3, } @@ -515,19 +533,22 @@ raw_message={ "parts": [ { + "media_resolution": None, + "code_execution_result": None, + "executable_code": None, + "file_data": None, "function_call": { "id": None, "args": {"isbn": "0-7653-1178-X"}, "name": "get_book_info", + "partial_args": None, + "will_continue": None, }, - "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\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", + "thought_signature": b'\n$\x01r\xc8\xda|\x9c\x13\x16w\xe9\x17\x1es\x0e\x9d\xb2CM\xa1\xed\xbe\xd3q\x0b^\xfb5l\x1c\x8d\x13\x90.\r\x86&\n|\x01r\xc8\xda|1\x92\xad\x0b\xa4\xe2PC\x8eI\x80}z\xb9\xaf\xab\x16\xa4\xba\xe7`7\xcb\x83\xc5\xe2Z\\\xf6V\xb0\xf8I\xfe\xfa\x0f\x91\xf05\x06\x89\xda\xcd\x93\x81h\xdby/\xaa\xd4"\x15\\)\x9f\xf4}@\x80\xa5$\x02\xecPI\x98\x0c\xa7c\x9f\xe1\xd5\xe4\x7fH\t\xcd\x19\x9fd\xc3\xe5\x13;YjUY\xae\xdf\xc2{?\xb6\x19\n\xb9H\xcc5\x90K\x04\xbe\xd3\xa1\xea\xe1\xd1\xb6\xb6F\x18\xcf\x80w\x9e,\n\xd2\x01\x01r\xc8\xda|\x81\xb2\\(\xdb\x8a\x9bigH\xc6\xcc\x0b\x04\x8dw7\xcf@\xdb3\x08\xfe\xe7K\xaa\xfd\x10-n\xbc\xd6\xbe\xbe\xbd\x1f&6=/\xa4W\x83\x03.V\xfc\xe5Q[\x94\r)"\xf3\x10\xb0\x08\xd4\xa6w\xa7\x83%\x15\xc9v\xcc\xef\x062\xc9\xe3\xb2J\xdfl\xbar\xb1o\xc0\x89\x01\xdd\x9b\xf9kP\xa7\xd3b\x95\x96\x9bq;n\x19-i&\xf5/gG\x8f\xc4\xb7\xf3U\xd0nae[\x0e\xf6\n\xfe\xc1\x9c+T\x12}6\x08\x94\xd5\xa5\x0bNy\xac$\xe4\xc6+\x93>)\x0f\x97\xfe~\xb7\xf7\xaf\xa1\xb0\x86"\xd5(\xce\x85\x84\x7f\xa1\n\\\xd7\xd56\x1d\xa8\xff\xe2\x11\x01\xc9wLP\xe3\xf1C\r\x8dz\x97w\xfa(m\xa7\x8b\rF\x7f\xa1g\x12\x8d Y\xc3\xa3w\xc3\xc5\x1b\xef\xce\n\x86\x02\x01r\xc8\xda|NZIi\xf3\xc3\x0cZ\xda2\x86\x85\xb78\xb4\xd7}\xf86(\x99f\x9c\x1a|-[\x9a-\x12\xc5W\x7f\xb5\x8b\xd57\xffs\x8e\xf3\no\x8cB\xea)0k\x8bD\xae\xd0\x96\xe6\t\x89\xc0\xa6\xfc\x92cT\xa4N\x1c\x86\x8e\x90Xl4xgy\x19t5PuW\xd9K)q\\\x19\x97\xa9;\xb3\r7[\xf8&\xe1\xad\xb0\x1b\x8e;\xb9~\x88\xb5\xd2\xe8Mgb\xe4\x16q\x08\xd1\xdayb\x85\xe3\xea\x04R\xe6k\xfcR\xafK\xf9\xa6\xf2\x17\x93EZ\xf9\xa6]n\x90-M`C\x81\x90$\rM\xa36{\xe7\x9c!h\x12\x1b\xa4\x0f\x80M\xe9\xf6\xb3\x93:\xf9\x1e\xc5\x90n\xa1\xd0\xa8K,\x0e\x8e\xe9\x15\xe7\xd5\x0c\xd6=\xc3Q\xf8\x92\x9c@\xf5*\xa4\xc6\xb3\x8a6\x89\x87\x1d\xba;\n\xb1\xa0\xfa\x1e\x05\xce\x98\xe2\xd7H-\xd0\x08\xbb\xff\xc0\xcd\xdd\x08\x98[\xc8\x89\x03\xad\x1a]\xe5\x15\xfc\x17@\xab\'o>A\t\xb4\x81\xf5K\x9b\xcf\x7f\x1c\x94\xb6\xf7$\n\x83\x02\x01r\xc8\xda|A\xd7\xff\xe9\x97\t\rc\xae=N\xad\xc5\x80R\xc7\xe1\xa7\xbd\x96\nz\x9c\re\xe8<\x0c"R\x15\x18\xd0 \t]\x112\x03\x0b\xf47#\xa5Q\xe1\x11\xb8K\xe7\xf2A\x04\x17](\x90A\x85\xc3&\x98\xe5R\xc8\xf57F\xf9\xe4 2|\xdb\xcb\xa7\xbfD~H\xbb\x84\x80\xf7\x8e\xd0DK\xb1L\xad\xd1\xfa\xa8\x99E\xfc\xcf\x0f\xf4\xa0O\xe2\x92\x8b\xcd\x8fP9\xb8\x9d\xfbq\xef/j\xb8@\x18r\x1bq\x1bB+\xb0\x14\x88]\xbc\xfaK\xdd\xa8>\xf2W";\xa5\x1a\x93X\xa3bz\xd0\xeaXS\xf0Y\xabR{\xe7\x82\x84\xc5,t%\xc6@\xaa\xb8%\xba\x03\xdc\xa3\x16\xf5\xfd\'|W\x04doaus\x8b\x1d\x08h\xbd$\x0c\xb2kj\xday\xaf\x01\x9e\x96=\xee\xd1\xb14w\x8b`\x94%:\xc0\xa0\x8c\xfb\xdc\x9dak\x8fq\xc9\xb97\x02\xe8\r\x96\xf0\xd1)\x8bC\xfa1\x04\xfa\xfe\xc8;U\x87fu1\xa0\x97\x7f0\xb7s\x96\xb3\x8b\r\n/\x01r\xc8\xda|\x88\xd5\xe0\x9f[\x89\xaf8\xa7\xfa\x8e\xb7M \xe8\x13\x13\x10\x82\xf1\xdc\xeb\xc9\x97\x9a\xff\xe1\xbb]\xb1\xcc\xe0a\x80#[\xa2+\x9bW\x0b\xef', "video_metadata": None, } ], @@ -546,7 +567,7 @@ AssistantMessage( content=[ Text( - text='{"publication_year": 2006, "author": "Brandon Sanderson", "pages": 544, "title": "Mistborn: The Final Empire"}' + text='{"title": "Mistborn: The Final Empire", "publication_year": 2006, "author": "Brandon Sanderson", "pages": 544}' ) ], provider_id="google", @@ -555,24 +576,27 @@ raw_message={ "parts": [ { + "media_resolution": None, + "code_execution_result": None, + "executable_code": None, + "file_data": None, "function_call": { "id": None, "args": { + "title": "Mistborn: The Final Empire", "publication_year": 2006, "author": "Brandon Sanderson", "pages": 544, - "title": "Mistborn: The Final Empire", }, "name": "__mirascope_formatted_output_tool__", + "partial_args": None, + "will_continue": None, }, - "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@$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\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", + "thought_signature": b"\n$\x01r\xc8\xda|\xe9\x18\x13a;2s\xe4\xee[\xd0\x84\xe3@p:a\x8f\xb48d\xb0\x88\xb2\x85$\xab\x90ld\xf3\nu\x01r\xc8\xda|\xa0\x9f\xcc\xb8\xb9\x93\xab\xd7\xd0\xdb\x89Pw\x1b\x96\xf5\x84t\xb1\xde\x9b\x07(\xd9\xd3\xb4\xa5\x9c\x92\xf5@\x96\x9d\xe2\x10\x12\x13\xd3u\xfd\xef\xd98\x05=i\x13\xcep\xd6\xd7\x85,\xfa\xd6\x13q\xf3\xfdf\x0241\xee\x9d\xe6\x9d\x1ct\x05t\x1e\xbd!\xae\xfdP\x9ePGNh`\xb8\xb8=\"\x19X\xb0\xec\xbe\xee\x7f\xbb\xf5\xb9C7\xdc\xe4\x8d\xef\xae\xa7h\xafgV\xb8\xcft\n\xc7\x01\x01r\xc8\xda|\xc9'\x8a\x93M\xff?\xff\r\xc8A\x87>\xbe\xac\x9a&;\xfc)\x8f \xd5\xc2\x96\x08\xdb\xad\x8fn\xa6\xd7t\x84M\x8aq\xdb$\x94o\xc0\xaa\xb4\xc5\xab\xb9\x14\xa1fH!{%\xd5\x7f\xb0PT\xf6U\xdfj\x02\xdbId(G\xdbP\xb7@\xdd\x8e\xc2&\x96\x9b\x17H\x84\xec\x99\x95N\xc7\xbeX\xed\x82,\xa1\x90u\xd5[\x90]\x12P\xfa\xaa\x9cr\xcd^\xb4\x95\x8e\x9e\x13%q{])\xc3[R\xf5\xeao\xaa\x17\xbe\xbd\x9f\xb1\xea\xa1\xe9|D\x19\x15\x94f\xae4\xf5CKO'\x9bP\xe7E\x80\xdb\xc8\x018\xe9\xa9YR\xcf\xcd\x0c\xbah\xa8/\xb6\xaf\xe7\xb90$\x97\xa3\xe0\xb1A\xa3\xa2\x04\x90\xb4\x04\nM\x19\x9f\xbd\x12\x9f\xb6\xcd\xc9E\x80*X\x1e\xb0Q?{\xa7\x19\xbd\x9d\\Dl\xd3\x04u\xbe\x86\xad2D\x8fd\xe8\xf2NU\xb7eb+\xbb\x15\x1dk8m\x19\xc3\x88Z\x96\x07U\x99\xa3\x89\"\xec\xa36Q}\x08L\"6\xd2\xa2Z\x8f\x86\xd2\xfff#P\xa3}\xe7RV\xeb\xa2\x18\x07A\xd5\xc6y\x0e\xa6\xd5\xee<\xf2!6^\xc8QA\xc7-\xa4\xad\xf5\xb4\xcd\xb0m\n\xb2H\xb2\xc2\x0b\xce\xd4\xdb\x8bF2\xcfd^d\xe5a\x9b\xee\xe6\x01\xe0\x03\x8f3\t\xae\xe8`\x19\xd2c\x15AFe\xc4\xe6\x15\xa1\x9f\x97@j\x14\x9b#\xdc\\\xc4{F\xe3\xd7\x10Ic\x7f\x9a\xf8e\x97U\xc9\xf6{nH=\xb0\xa5\x1d\xc3\x18.\xbam2\xe6\x89PD\xd3\xf5+\xb3\xc69i\xc8\x0c\xf1\xb2\xdb\n\xb4\x01\x01r\xc8\xda|U\x91\xec\xb9\xd4\xc0\x95((\x9e'\x16\xa1r\x9c\x04i\x06E\x9c\xca\xd5\x8b\xe7\xb6\xaa\xcd8\x1f/\x19|\xc5\xb1y.l2\xf1\x8b5\xc5[\x1a1\xfa\xf8u\xe5sv\xfa\xf3\x99\x07H\x94,:\xb5c\xfa\xc9P\x92\xa3\xe0\xd4\x93\x12!Th\x8c~;\xe2\x84\x8d.\x83C:6\xe0\x98\x98Y1\x7f\xa3\xb0e=\xfe=\x027/w\xcd\xab\x95\x85\xf3\xcb3\xa7\x85LI\xc7\xd13l{Q\t\x8c\x8e-/\x8c:Iy\x8aCv\x03\x9b\x1f/\xdc1\xba=\xc2\x0c\xbf\xcaH\xc0\xef\xaf\xc15\x908\xff\xea'\x82l1\xee\xd3\xc0\x03\x86\x00+o\xeb\xee\x05\xfc\x961\xf7\xb6Kf\x04\xe5\n\xad\x01\x01r\xc8\xda|\xa1w\xfd\x06\xa0yF\x07\xb1\x0f\xdfp\xd5\x8c\x1c+4\x90\xba\x1e/I\xfei]\xa7~o\xf1\x83C(e\xe6:\xaf\xc0\xa0-\xdfK\xcfhO\xac\x83\xf7\xf6?'y\x98\xfa\xde\xb0*g,%?H\xacj\xb2a\x0b\xfc\x0f\xc7\xde\xb5\xe6!\xe7F)\xfc\x81\x98\xdbn>\xd4]\xaf\x83\x8f\xf79\x83\xbdN{\xd3w`\xe7\xdf`\xbb\xd5>\x15\x17R\xfbK\x0bg\xd4\xa7\xa79\x05,\xa0 \x10\xb3LO(\xc3\x95\x9b\xc6*\xc1\x9f\xf0+\xba\x90\xdez\x85Twl=&\x8e(\x9a\"\x91\xe0\xc1\xa0z\x06\xe3|pbT~[\x19<)Ujm\xab\xb3\xcfr\n\xb2\x01\x01r\xc8\xda|\x97\xbc\xe8<\xad\x07\x96\x07\xbdk\xce\xcb\xd3\xbce@N\xc0'\x98\xfb'\x13\xc5\x89L\x13\x12\x92\xe8]\x04\xfaNd\x150\x80\xb4\xe6\x02\xdam@&\x10\x08\xeb\x08\xe5i,A\xc9\x7fe\x11\xab\xa8\xfeh\x08r\x8dT;\x85\x10\xd3\xc1\x1b\xeb\xfam\xea\xc8CX", "video_metadata": None, } ], @@ -623,13 +647,13 @@ } ], "usage": { - "input_tokens": 604, + "input_tokens": 451, "output_tokens": 49, "cache_read_tokens": 0, "cache_write_tokens": 0, - "reasoning_tokens": 242, + "reasoning_tokens": 300, "raw": "None", - "total_tokens": 653, + "total_tokens": 500, }, "n_chunks": 3, } diff --git a/python/uv.lock b/python/uv.lock index 2ef602c617..e9832c05c4 100644 --- a/python/uv.lock +++ b/python/uv.lock @@ -133,15 +133,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/00/5d/aed32636ed30a6e7f9efd6ad14e2a0b0d687ae7c8c7ec4e4a557174b895c/black-25.11.0-py3-none-any.whl", hash = "sha256:e3f562da087791e96cefcd9dda058380a442ab322a02e222add53736451f604b", size = 204918, upload-time = "2025-11-10T01:53:48.917Z" }, ] -[[package]] -name = "cachetools" -version = "5.5.2" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/6c/81/3747dad6b14fa2cf53fcf10548cf5aea6913e96fab41a3c198676f8948a5/cachetools-5.5.2.tar.gz", hash = "sha256:1a661caa9175d26759571b2e19580f9d6393969e5dfca11fdb1f947a23e640d4", size = 28380, upload-time = "2025-02-20T21:01:19.524Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/72/76/20fa66124dbe6be5cafeb312ece67de6b61dd91a0247d1ea13db4ebb33c2/cachetools-5.5.2-py3-none-any.whl", hash = "sha256:d26a22bcc62eb95c3beabd9f1ee5e820d3d2704fe2967cbe350e20c8ffcd3f0a", size = 10080, upload-time = "2025-02-20T21:01:16.647Z" }, -] - [[package]] name = "certifi" version = "2025.4.26" @@ -585,35 +576,41 @@ wheels = [ [[package]] name = "google-auth" -version = "2.40.3" +version = "2.47.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "cachetools" }, { name = "pyasn1-modules" }, { name = "rsa" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/9e/9b/e92ef23b84fa10a64ce4831390b7a4c2e53c0132568d99d4ae61d04c8855/google_auth-2.40.3.tar.gz", hash = "sha256:500c3a29adedeb36ea9cf24b8d10858e152f2412e3ca37829b3fa18e33d63b77", size = 281029, upload-time = "2025-06-04T18:04:57.577Z" } +sdist = { url = "https://files.pythonhosted.org/packages/60/3c/ec64b9a275ca22fa1cd3b6e77fefcf837b0732c890aa32d2bd21313d9b33/google_auth-2.47.0.tar.gz", hash = "sha256:833229070a9dfee1a353ae9877dcd2dec069a8281a4e72e72f77d4a70ff945da", size = 323719, upload-time = "2026-01-06T21:55:31.045Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/17/63/b19553b658a1692443c62bd07e5868adaa0ad746a0751ba62c59568cd45b/google_auth-2.40.3-py2.py3-none-any.whl", hash = "sha256:1370d4593e86213563547f97a92752fc658456fe4514c809544f330fed45a7ca", size = 216137, upload-time = "2025-06-04T18:04:55.573Z" }, + { url = "https://files.pythonhosted.org/packages/db/18/79e9008530b79527e0d5f79e7eef08d3b179b7f851cfd3a2f27822fbdfa9/google_auth-2.47.0-py3-none-any.whl", hash = "sha256:c516d68336bfde7cf0da26aab674a36fedcf04b37ac4edd59c597178760c3498", size = 234867, upload-time = "2026-01-06T21:55:28.6Z" }, +] + +[package.optional-dependencies] +requests = [ + { name = "requests" }, ] [[package]] name = "google-genai" -version = "1.48.0" +version = "1.57.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "anyio" }, - { name = "google-auth" }, + { name = "distro" }, + { name = "google-auth", extra = ["requests"] }, { name = "httpx" }, { name = "pydantic" }, { name = "requests" }, + { name = "sniffio" }, { name = "tenacity" }, { name = "typing-extensions" }, { name = "websockets" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/c4/40/e8d4b60e45fb2c8f8e1cd5e52e29741d207ce844303e69b3546d06627ced/google_genai-1.48.0.tar.gz", hash = "sha256:d78fe33125a881461be5cb008564b1d73f309cd6b390d328c68fe706b142acea", size = 242952, upload-time = "2025-11-03T17:31:07.569Z" } +sdist = { url = "https://files.pythonhosted.org/packages/2b/b4/8251c2d2576224a4b51a8ab6159820f9200b8da28ff555c78ee15607096e/google_genai-1.57.0.tar.gz", hash = "sha256:0ff9c36b8d68abfbdbd13b703ece926de5f3e67955666b36315ecf669b94a826", size = 485648, upload-time = "2026-01-07T20:38:20.271Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/25/7d/a5c02159099546ec01131059294d1f0174eee33a872fc888c6c99e8cd6d9/google_genai-1.48.0-py3-none-any.whl", hash = "sha256:919c1e96948a565e27b5b2a1d23f32865d9647e2236a8ffe1ca999a4922bf887", size = 242904, upload-time = "2025-11-03T17:31:05.465Z" }, + { url = "https://files.pythonhosted.org/packages/d6/02/858bdae08e2184b6afe0b18bc3113318522c9cf326a5a1698055edd31f88/google_genai-1.57.0-py3-none-any.whl", hash = "sha256:d63c7a89a1f549c4d14032f41a0cdb4b6fe3f565e2eee6b5e0907a0aeceabefd", size = 713323, upload-time = "2026-01-07T20:38:18.051Z" }, ] [[package]] @@ -1257,7 +1254,7 @@ dev = [ requires-dist = [ { name = "anthropic", marker = "extra == 'anthropic'", specifier = ">=0.75.0,<1.0" }, { name = "docstring-parser", specifier = ">=0.17.0" }, - { name = "google-genai", marker = "extra == 'google'", specifier = ">=1.48.0,<2" }, + { name = "google-genai", marker = "extra == 'google'", specifier = ">=1.57.0,<2" }, { name = "httpx", specifier = ">=0.27.0" }, { name = "libcst", marker = "extra == 'ops'", specifier = ">=1.8.6" }, { name = "mcp", marker = "extra == 'mcp'", specifier = ">=1.25.0,<2" },