---
version: 2
interactions:
- id: 0
  request:
    proto: HTTP/1.1
    proto_major: 1
    proto_minor: 1
    content_length: 509
    host: generativelanguage.googleapis.com
    body: |
      {"contents":[{"parts":[{"text":"What's the weather in Florence,Italy?"}],"role":"user"}],"generationConfig":{"maxOutputTokens":4000},"systemInstruction":{"parts":[{"text":"You are a helpful assistant"}],"role":"user"},"toolConfig":{"functionCallingConfig":{"mode":"AUTO"}},"tools":[{"functionDeclarations":[{"description":"Get weather information for a location","name":"weather","parameters":{"properties":{"location":{"description":"the city","type":"STRING"}},"required":["location"],"type":"OBJECT"}}]}]}
    form:
      alt:
      - sse
    headers:
      Content-Type:
      - application/json
      User-Agent:
      - Charm-Fantasy/0.12.2 (https://charm.land/fantasy)
      - google-genai-sdk/1.49.0 gl-go/go1.26.1
    url: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-pro:streamGenerateContent?alt=sse
    method: POST
  response:
    proto: HTTP/2.0
    proto_major: 2
    proto_minor: 0
    content_length: -1
    body: "data: {\"candidates\": [{\"content\": {\"parts\": [{\"functionCall\": {\"name\": \"weather\",\"args\": {\"location\": \"Florence, Italy\"}},\"thoughtSignature\": \"CiIBvj72+1v4QKkYPOC2jG3Va8DRpe8ihI2ScnfIBJDY2N8fCmcBvj72+/d+0GymuiakCGulxoE09dJ4iFALSGX9PK6RqSe3jO+BC4uHmnsIENG/1ry0N/ScX9Daqn4wmWIQ6y2yl0HgVo3MCEN2nI6Fe0HOsg+Znw6NYdDxL//CixiAVrJUEe60eoxLCocBAb4+9vtOKB25uRUGO8ff8YSXhdJeXwc8HV+8WC1Hfk4rQgaRRNkgmbfUCBr4Nc9QhypeVqodo+7YV2hEsFiWRdrMGTQoHLJ1+mq1e3taKJtJGrvwnsbPJaNFcv5iF/GiZV4NJmjbZEo1Tnvo4VLcv8syybSkH5KAhgdtEs2qUjccw/sXmoRcCoABAb4+9vtHE4LrV/lmqX2OO7koVDHduhTXREfiHj8QHMSQb8f7KYxxD+hemOcozCJVmQtnd8WpaDZWKZtBO3CyHep7ag6OOqFE0IxXZ5RKB+s1zrOdfIhaJRWWisQZ37IXi0MPCpDLkLyqWolJ/mnHD+NNi4d8JXaecy8p8E7o4JMKgQEBvj72+zqAt0jZkkAsfVRWnWs/mMAcYWRcuu4QH9ayaABA8EPMmtEJ16g6XsDFACBnhvNGs1XyfUYpDVNfzg0jCw83td7wvZY5iuf2JcOeCNPcJNtNOffYb0KKPu0tmUM6chn0G3m2Ls9qo8r5pnW9BoRsofrkVI+7RKEe+w4VWXwKkwEBvj72+6AYTIrtLPVxXAVq+TnIUzttMGWkJQDH+UIqc1EG6P/YH2xJ0rw//VtjHEeuQ/vYXpwB2VqHf8zNbmiXEM50Y5glpU6nYfEy0Qpa3jMAc0/cl/xX8lPYpwihChpf0tCbR/pvHyOPVoK0QRSnbIpRsHCvyFAbhVdwc2VeNl+bsBupkUxsm2f1o4aQ7VP6pEkKmgEBvj72+xUNgiMacUJoqo/5GO3Gu9EqQ87RDkT8471x+BPuaZbCxUno4AE7P6KkjsE5UWaEzvGQtct+64XKfbXW/Xz8FDjhW1R0CUDeHchJxN0hbeUbI3CEnTx1kl9zTjJlaWGpIPe1VJr1qqWro+VAJYWf0DymNVAlKPpGe5sSBrqwpAiztFvFLWJg9nz090+BliguV5PBn2Y5CoUBAb4+9vv7rXqsVZL4DDyPOuHt8bOfjzkZl0mt9BjZWqIjtknczJuoAmFIGQrzpc2viLvumINdmxTkq9Z4F/X5TMy3ECPLtVVCi63K73k693bz2STSIrKlRepFNIX6dvrRBZPUDKZp2r3wHhvcGhFir/s/Me3TOqHhJiDT3jff7tUH643SKAqKAQG+Pvb7DVgdIzgt4wE7iwTlmQXYWbksQ/tcpEezQB3nbo9tAL3calCnINp/tN3v7XPC/T8ohtrtzOLyOIwUYRStcGmusDLjKBioNgllneaelLi3IcJTIXOREtGtY+m2X3U5q32DQHT+vHrfZS7zY0g+KPcu3gVD/YiZJJlHPbeZiZ7ikwOi74H1tg==\"}],\"role\": \"model\"},\"finishReason\": \"STOP\",\"index\": 0,\"finishMessage\": \"Model generated function call(s).\"}],\"usageMetadata\": {\"promptTokenCount\": 54,\"candidatesTokenCount\": 15,\"totalTokenCount\": 259,\"promptTokensDetails\": [{\"modality\": \"TEXT\",\"tokenCount\": 54}],\"thoughtsTokenCount\": 190},\"modelVersion\": \"gemini-2.5-pro\",\"responseId\": \"dQCzaYOcOPaEz7IP5YenwQM\"}\r\n\r\n"
    headers:
      Content-Type:
      - text/event-stream
    status: 200 OK
    code: 200
    duration: 4.2315165s
- id: 1
  request:
    proto: HTTP/1.1
    proto_major: 1
    proto_minor: 1
    content_length: 2249
    host: generativelanguage.googleapis.com
    body: |
      {"contents":[{"parts":[{"text":"What's the weather in Florence,Italy?"}],"role":"user"},{"parts":[{"functionCall":{"args":{"location":"Florence, Italy"},"id":"1","name":"weather"},"thoughtSignature":"CiIBvj72+1v4QKkYPOC2jG3Va8DRpe8ihI2ScnfIBJDY2N8fCmcBvj72+/d+0GymuiakCGulxoE09dJ4iFALSGX9PK6RqSe3jO+BC4uHmnsIENG/1ry0N/ScX9Daqn4wmWIQ6y2yl0HgVo3MCEN2nI6Fe0HOsg+Znw6NYdDxL//CixiAVrJUEe60eoxLCocBAb4+9vtOKB25uRUGO8ff8YSXhdJeXwc8HV+8WC1Hfk4rQgaRRNkgmbfUCBr4Nc9QhypeVqodo+7YV2hEsFiWRdrMGTQoHLJ1+mq1e3taKJtJGrvwnsbPJaNFcv5iF/GiZV4NJmjbZEo1Tnvo4VLcv8syybSkH5KAhgdtEs2qUjccw/sXmoRcCoABAb4+9vtHE4LrV/lmqX2OO7koVDHduhTXREfiHj8QHMSQb8f7KYxxD+hemOcozCJVmQtnd8WpaDZWKZtBO3CyHep7ag6OOqFE0IxXZ5RKB+s1zrOdfIhaJRWWisQZ37IXi0MPCpDLkLyqWolJ/mnHD+NNi4d8JXaecy8p8E7o4JMKgQEBvj72+zqAt0jZkkAsfVRWnWs/mMAcYWRcuu4QH9ayaABA8EPMmtEJ16g6XsDFACBnhvNGs1XyfUYpDVNfzg0jCw83td7wvZY5iuf2JcOeCNPcJNtNOffYb0KKPu0tmUM6chn0G3m2Ls9qo8r5pnW9BoRsofrkVI+7RKEe+w4VWXwKkwEBvj72+6AYTIrtLPVxXAVq+TnIUzttMGWkJQDH+UIqc1EG6P/YH2xJ0rw//VtjHEeuQ/vYXpwB2VqHf8zNbmiXEM50Y5glpU6nYfEy0Qpa3jMAc0/cl/xX8lPYpwihChpf0tCbR/pvHyOPVoK0QRSnbIpRsHCvyFAbhVdwc2VeNl+bsBupkUxsm2f1o4aQ7VP6pEkKmgEBvj72+xUNgiMacUJoqo/5GO3Gu9EqQ87RDkT8471x+BPuaZbCxUno4AE7P6KkjsE5UWaEzvGQtct+64XKfbXW/Xz8FDjhW1R0CUDeHchJxN0hbeUbI3CEnTx1kl9zTjJlaWGpIPe1VJr1qqWro+VAJYWf0DymNVAlKPpGe5sSBrqwpAiztFvFLWJg9nz090+BliguV5PBn2Y5CoUBAb4+9vv7rXqsVZL4DDyPOuHt8bOfjzkZl0mt9BjZWqIjtknczJuoAmFIGQrzpc2viLvumINdmxTkq9Z4F/X5TMy3ECPLtVVCi63K73k693bz2STSIrKlRepFNIX6dvrRBZPUDKZp2r3wHhvcGhFir/s/Me3TOqHhJiDT3jff7tUH643SKAqKAQG+Pvb7DVgdIzgt4wE7iwTlmQXYWbksQ/tcpEezQB3nbo9tAL3calCnINp/tN3v7XPC/T8ohtrtzOLyOIwUYRStcGmusDLjKBioNgllneaelLi3IcJTIXOREtGtY+m2X3U5q32DQHT+vHrfZS7zY0g+KPcu3gVD/YiZJJlHPbeZiZ7ikwOi74H1tg=="}],"role":"model"},{"parts":[{"functionResponse":{"id":"1","name":"weather","response":{"result":"40 C"}}}],"role":"user"}],"generationConfig":{"maxOutputTokens":4000},"systemInstruction":{"parts":[{"text":"You are a helpful assistant"}],"role":"user"},"toolConfig":{"functionCallingConfig":{"mode":"AUTO"}},"tools":[{"functionDeclarations":[{"description":"Get weather information for a location","name":"weather","parameters":{"properties":{"location":{"description":"the city","type":"STRING"}},"required":["location"],"type":"OBJECT"}}]}]}
    form:
      alt:
      - sse
    headers:
      Content-Type:
      - application/json
      User-Agent:
      - Charm-Fantasy/0.12.2 (https://charm.land/fantasy)
      - google-genai-sdk/1.49.0 gl-go/go1.26.1
    url: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-pro:streamGenerateContent?alt=sse
    method: POST
  response:
    proto: HTTP/2.0
    proto_major: 2
    proto_minor: 0
    content_length: -1
    body: "data: {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \"The weather in Florence\"}],\"role\": \"model\"},\"index\": 0}],\"usageMetadata\": {\"promptTokenCount\": 274,\"candidatesTokenCount\": 4,\"totalTokenCount\": 278,\"promptTokensDetails\": [{\"modality\": \"TEXT\",\"tokenCount\": 274}]},\"modelVersion\": \"gemini-2.5-pro\",\"responseId\": \"eQCzaYyMA7znz7IP7oS00Ak\"}\r\n\r\ndata: {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \", Italy is 40 C.\\n\"}],\"role\": \"model\"},\"finishReason\": \"STOP\",\"index\": 0}],\"usageMetadata\": {\"promptTokenCount\": 274,\"candidatesTokenCount\": 12,\"totalTokenCount\": 286,\"promptTokensDetails\": [{\"modality\": \"TEXT\",\"tokenCount\": 274}]},\"modelVersion\": \"gemini-2.5-pro\",\"responseId\": \"eQCzaYyMA7znz7IP7oS00Ak\"}\r\n\r\n"
    headers:
      Content-Type:
      - text/event-stream
    status: 200 OK
    code: 200
    duration: 1.238609834s
