thinking-streaming.yaml

 1---
 2version: 2
 3interactions:
 4- id: 0
 5  request:
 6    proto: HTTP/1.1
 7    proto_major: 1
 8    proto_minor: 1
 9    content_length: 563
10    host: ""
11    body: '{"messages":[{"content":"You are a helpful assistant","role":"system"},{"content":"What''s the weather in Florence, Italy?","role":"user"}],"model":"google/gemini-3-pro-preview","stream_options":{"include_usage":true},"tool_choice":"auto","tools":[{"function":{"name":"weather","strict":false,"description":"Get weather information for a location","parameters":{"properties":{"location":{"description":"the city","type":"string"}},"required":["location"],"type":"object"}},"type":"function"}],"reasoning":{"effort":"medium"},"usage":{"include":true},"stream":true}'
12    headers:
13      Accept:
14      - application/json
15      Content-Type:
16      - application/json
17      User-Agent:
18      - OpenAI/Go 2.7.1
19    url: https://openrouter.ai/api/v1/chat/completions
20    method: POST
21  response:
22    proto: HTTP/2.0
23    proto_major: 2
24    proto_minor: 0
25    content_length: -1
26    body: |+
27      data: {"id":"gen-1773324252-euYchQc6cJybvZVcHvS8","object":"chat.completion.chunk","created":1773324252,"model":"google/gemini-3-pro-preview-20251117","provider":"Google","choices":[{"index":0,"delta":{"content":"","role":"assistant","reasoning":"**Assessing User Intent**\n\n\\n\\n\n\nI've begun to break down the user's query about Florence's weather. My focus is on extracting the core intent: the need for current weather data. I am dissecting the question to identify all key entities. Specifically, the location (Florence, Italy), and the desired information (weather). This should facilitate the correct function call.\n\n\n","reasoning_details":[{"type":"reasoning.text","text":"**Assessing User Intent**\n\n\\n\\n\n\nI've begun to break down the user's query about Florence's weather. My focus is on extracting the core intent: the need for current weather data. I am dissecting the question to identify all key entities. Specifically, the location (Florence, Italy), and the desired information (weather). This should facilitate the correct function call.\n\n\n","format":"google-gemini-v1","index":0}]},"finish_reason":null,"native_finish_reason":null}]}
28
29      data: {"id":"gen-1773324252-euYchQc6cJybvZVcHvS8","object":"chat.completion.chunk","created":1773324252,"model":"google/gemini-3-pro-preview-20251117","provider":"Google","choices":[{"index":0,"delta":{"content":"","role":"assistant","reasoning":"**Pinpointing the Tool's Use**\n\n\\n\\n\n\nI'm solidifying the link between the extracted entities and the available tools. I've confirmed that the 'weather' tool is a direct match for the user's intent. Now, I'm concentrating on the parameters needed by this tool. It looks like the 'location' entity is the most critical parameter for the weather function call.\n\n\n","reasoning_details":[{"type":"reasoning.text","text":"**Pinpointing the Tool's Use**\n\n\\n\\n\n\nI'm solidifying the link between the extracted entities and the available tools. I've confirmed that the 'weather' tool is a direct match for the user's intent. Now, I'm concentrating on the parameters needed by this tool. It looks like the 'location' entity is the most critical parameter for the weather function call.\n\n\n","format":"google-gemini-v1","index":0}]},"finish_reason":null,"native_finish_reason":null}]}
30
31      data: {"id":"gen-1773324252-euYchQc6cJybvZVcHvS8","object":"chat.completion.chunk","created":1773324252,"model":"google/gemini-3-pro-preview-20251117","provider":"Google","choices":[{"index":0,"delta":{"content":"","role":"assistant","reasoning":null,"reasoning_details":[{"type":"reasoning.encrypted","data":"CiUBjz1rX+QNZZDaA519jWkmEHkL1bakA2T4Xvum2KvF9e8Ip0JZCmYBjz1rXzYAg5DeuNR0igEJn1YkVzIDEDsN7c183Vby+BpOaHARLB3bHGv0e70ycuaWFo93c9Yrzt2M8YXDZ3QA6egDq8uyFl5d50PS2EkHhW2MAitddmo+CWEKR0/ArMSGIVtXNjoKWAGPPWtf82UQipGTeH2p9JXfgf77tsHltpd9eIOO+OWaVCCGo9sZmhRZli96b2418FXNchuxiGLM+NL6oVtpoS4TAuqrubnNOjRNW3HMQz++9XeCBrB0bpoKoAEBjz1rX4uy8Ad3E1qhSHtFO3Mcijzc8MrMY6p4uVMi15Yd0goRptdXcc8QwAFZQb1vWaZZu1qjycxo5t+a5zbb+VY4JNRAb60Ytc6/kvE/yHKFXUd9RV1fusEsfndZP8WoxsLky/bSDyCnpSdMh3mSzWZsPJbusTRoP4LuNYte4fgdCqDHVLaqc4eyRb/PSbFb6Re1d1GyAOC0JjEc4qEMCpkBAY89a18ChJiGTSg6PLZcSpJw6mic2L821YrJ5p2D08BpQSF+ntq803BNUTfNTqF9J4Za7GYqYob/3D86CHkAmlRgFWkMal7Boz/z4fonHgxmnCJ4x9TtE2w0YvBCrXSNDb30wg/DPHm8QGvj6kn1DEv0ZoKUeMmj6ZN8qWhhPHiKqQ/XgO2mRl7NLmFAey5HZv9OaNtNa768CkcBjz1rXw34o+sxxk0yPfe/P0+jPpB1ZQqPhIHI/pR4EwVJfUThCyILiIh0tJPqFuKAhaxE4CRwq06SvO2RkWTZFHQamLhSzQoiAY89a18xSodo3zwA3KYOLPuT8LyRSApnEE9lvwmPQ7X8iQ==","format":"google-gemini-v1","id":"tool_weather_wJMhKbJOiIeWsXDA84qT","index":0}]},"finish_reason":null,"native_finish_reason":null}]}
32
33      data: {"id":"gen-1773324252-euYchQc6cJybvZVcHvS8","object":"chat.completion.chunk","created":1773324252,"model":"google/gemini-3-pro-preview-20251117","provider":"Google","choices":[{"index":0,"delta":{"content":null,"role":"assistant","tool_calls":[{"index":0,"id":"tool_weather_wJMhKbJOiIeWsXDA84qT","type":"function","function":{"name":"weather","arguments":""}}]},"finish_reason":null,"native_finish_reason":null}]}
34
35      data: {"id":"gen-1773324252-euYchQc6cJybvZVcHvS8","object":"chat.completion.chunk","created":1773324252,"model":"google/gemini-3-pro-preview-20251117","provider":"Google","choices":[{"index":0,"delta":{"content":null,"role":"assistant","tool_calls":[{"index":0,"function":{"arguments":"{\"location\":\"Florence, Italy\"}"}}]},"finish_reason":null,"native_finish_reason":null}]}
36
37      data: {"id":"gen-1773324252-euYchQc6cJybvZVcHvS8","object":"chat.completion.chunk","created":1773324252,"model":"google/gemini-3-pro-preview-20251117","provider":"Google","choices":[{"index":0,"delta":{"content":"","role":"assistant","reasoning":null},"finish_reason":"tool_calls","native_finish_reason":"STOP"}]}
38
39      data: {"id":"gen-1773324252-euYchQc6cJybvZVcHvS8","object":"chat.completion.chunk","created":1773324252,"model":"google/gemini-3-pro-preview-20251117","provider":"Google","choices":[],"usage":{"prompt_tokens":28,"completion_tokens":120,"total_tokens":148,"cost":0.001496,"is_byok":false,"prompt_tokens_details":{"cached_tokens":0,"cache_write_tokens":0,"audio_tokens":0,"video_tokens":0},"cost_details":{"upstream_inference_cost":0.001496,"upstream_inference_prompt_cost":0.000056,"upstream_inference_completions_cost":0.00144},"completion_tokens_details":{"reasoning_tokens":111,"image_tokens":0,"audio_tokens":0}}}
40
41      data: [DONE]
42
43    headers:
44      Content-Type:
45      - text/event-stream
46    status: 200 OK
47    code: 200
48    duration: 6.221147583s
49- id: 1
50  request:
51    proto: HTTP/1.1
52    proto_major: 1
53    proto_minor: 1
54    content_length: 2677
55    host: ""
56    body: '{"messages":[{"content":"You are a helpful assistant","role":"system"},{"content":"What''s the weather in Florence, Italy?","role":"user"},{"tool_calls":[{"id":"tool_weather_wJMhKbJOiIeWsXDA84qT","function":{"arguments":"{\"location\":\"Florence, Italy\"}","name":"weather"},"type":"function"}],"role":"assistant","reasoning_details":[{"format":"google-gemini-v1","index":0,"text":"**Assessing User Intent**\n\n\\n\\n\n\nI''ve begun to break down the user''s query about Florence''s weather. My focus is on extracting the core intent: the need for current weather data. I am dissecting the question to identify all key entities. Specifically, the location (Florence, Italy), and the desired information (weather). This should facilitate the correct function call.\n\n\n**Pinpointing the Tool''s Use**\n\n\\n\\n\n\nI''m solidifying the link between the extracted entities and the available tools. I''ve confirmed that the ''weather'' tool is a direct match for the user''s intent. Now, I''m concentrating on the parameters needed by this tool. It looks like the ''location'' entity is the most critical parameter for the weather function call.\n\n\n","type":"reasoning.text"},{"data":"CiUBjz1rX+QNZZDaA519jWkmEHkL1bakA2T4Xvum2KvF9e8Ip0JZCmYBjz1rXzYAg5DeuNR0igEJn1YkVzIDEDsN7c183Vby+BpOaHARLB3bHGv0e70ycuaWFo93c9Yrzt2M8YXDZ3QA6egDq8uyFl5d50PS2EkHhW2MAitddmo+CWEKR0/ArMSGIVtXNjoKWAGPPWtf82UQipGTeH2p9JXfgf77tsHltpd9eIOO+OWaVCCGo9sZmhRZli96b2418FXNchuxiGLM+NL6oVtpoS4TAuqrubnNOjRNW3HMQz++9XeCBrB0bpoKoAEBjz1rX4uy8Ad3E1qhSHtFO3Mcijzc8MrMY6p4uVMi15Yd0goRptdXcc8QwAFZQb1vWaZZu1qjycxo5t+a5zbb+VY4JNRAb60Ytc6/kvE/yHKFXUd9RV1fusEsfndZP8WoxsLky/bSDyCnpSdMh3mSzWZsPJbusTRoP4LuNYte4fgdCqDHVLaqc4eyRb/PSbFb6Re1d1GyAOC0JjEc4qEMCpkBAY89a18ChJiGTSg6PLZcSpJw6mic2L821YrJ5p2D08BpQSF+ntq803BNUTfNTqF9J4Za7GYqYob/3D86CHkAmlRgFWkMal7Boz/z4fonHgxmnCJ4x9TtE2w0YvBCrXSNDb30wg/DPHm8QGvj6kn1DEv0ZoKUeMmj6ZN8qWhhPHiKqQ/XgO2mRl7NLmFAey5HZv9OaNtNa768CkcBjz1rXw34o+sxxk0yPfe/P0+jPpB1ZQqPhIHI/pR4EwVJfUThCyILiIh0tJPqFuKAhaxE4CRwq06SvO2RkWTZFHQamLhSzQoiAY89a18xSodo3zwA3KYOLPuT8LyRSApnEE9lvwmPQ7X8iQ==","format":"google-gemini-v1","id":"tool_weather_wJMhKbJOiIeWsXDA84qT","index":0,"type":"reasoning.encrypted"}]},{"content":"40 C","tool_call_id":"tool_weather_wJMhKbJOiIeWsXDA84qT","role":"tool"}],"model":"google/gemini-3-pro-preview","stream_options":{"include_usage":true},"tool_choice":"auto","tools":[{"function":{"name":"weather","strict":false,"description":"Get weather information for a location","parameters":{"properties":{"location":{"description":"the city","type":"string"}},"required":["location"],"type":"object"}},"type":"function"}],"reasoning":{"effort":"medium"},"usage":{"include":true},"stream":true}'
57    headers:
58      Accept:
59      - application/json
60      Content-Type:
61      - application/json
62      User-Agent:
63      - OpenAI/Go 2.7.1
64    url: https://openrouter.ai/api/v1/chat/completions
65    method: POST
66  response:
67    proto: HTTP/2.0
68    proto_major: 2
69    proto_minor: 0
70    content_length: -1
71    body: |+
72      data: {"id":"gen-1773324260-cfneHKlNa3n1Gl0DPBly","object":"chat.completion.chunk","created":1773324260,"model":"google/gemini-3-pro-preview-20251117","provider":"Google","choices":[{"index":0,"delta":{"content":"The weather in Florence","role":"assistant"},"finish_reason":null,"native_finish_reason":null}]}
73
74      data: {"id":"gen-1773324260-cfneHKlNa3n1Gl0DPBly","object":"chat.completion.chunk","created":1773324260,"model":"google/gemini-3-pro-preview-20251117","provider":"Google","choices":[{"index":0,"delta":{"content":", Italy, currently feels quite hot at 40°C.","role":"assistant"},"finish_reason":null,"native_finish_reason":null}]}
75
76      data: {"id":"gen-1773324260-cfneHKlNa3n1Gl0DPBly","object":"chat.completion.chunk","created":1773324260,"model":"google/gemini-3-pro-preview-20251117","provider":"Google","choices":[{"index":0,"delta":{"content":"","role":"assistant"},"finish_reason":"stop","native_finish_reason":"STOP"}]}
77
78      data: {"id":"gen-1773324260-cfneHKlNa3n1Gl0DPBly","object":"chat.completion.chunk","created":1773324260,"model":"google/gemini-3-pro-preview-20251117","provider":"Google","choices":[],"usage":{"prompt_tokens":56,"completion_tokens":18,"total_tokens":74,"cost":0.000328,"is_byok":false,"prompt_tokens_details":{"cached_tokens":0,"cache_write_tokens":0,"audio_tokens":0,"video_tokens":0},"cost_details":{"upstream_inference_cost":0.000328,"upstream_inference_prompt_cost":0.000112,"upstream_inference_completions_cost":0.000216},"completion_tokens_details":{"reasoning_tokens":0,"image_tokens":0,"audio_tokens":0}}}
79
80      data: [DONE]
81
82    headers:
83      Content-Type:
84      - text/event-stream
85    status: 200 OK
86    code: 200
87    duration: 4.672774791s