---
version: 2
interactions:
- id: 0
  request:
    proto: HTTP/1.1
    proto_major: 1
    proto_minor: 1
    content_length: 563
    host: ""
    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}'
    headers:
      Accept:
      - application/json
      Content-Type:
      - application/json
      User-Agent:
      - OpenAI/Go 2.7.1
    url: https://openrouter.ai/api/v1/chat/completions
    method: POST
  response:
    proto: HTTP/2.0
    proto_major: 2
    proto_minor: 0
    content_length: -1
    body: |+
      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}]}

      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}]}

      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}]}

      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}]}

      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}]}

      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"}]}

      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}}}

      data: [DONE]

    headers:
      Content-Type:
      - text/event-stream
    status: 200 OK
    code: 200
    duration: 6.221147583s
- id: 1
  request:
    proto: HTTP/1.1
    proto_major: 1
    proto_minor: 1
    content_length: 2677
    host: ""
    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}'
    headers:
      Accept:
      - application/json
      Content-Type:
      - application/json
      User-Agent:
      - OpenAI/Go 2.7.1
    url: https://openrouter.ai/api/v1/chat/completions
    method: POST
  response:
    proto: HTTP/2.0
    proto_major: 2
    proto_minor: 0
    content_length: -1
    body: |+
      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}]}

      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}]}

      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"}]}

      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}}}

      data: [DONE]

    headers:
      Content-Type:
      - text/event-stream
    status: 200 OK
    code: 200
    duration: 4.672774791s
