---
version: 2
interactions:
- id: 0
  request:
    proto: HTTP/1.1
    proto_major: 1
    proto_minor: 1
    content_length: 809
    host: generativelanguage.googleapis.com
    body: |
      {"contents":[{"parts":[{"text":"Add and multiply the number 2 and 3"}],"role":"user"}],"generationConfig":{"maxOutputTokens":4000},"systemInstruction":{"parts":[{"text":"You are a helpful assistant. Always use both add and multiply at the same time."}],"role":"user"},"toolConfig":{"functionCallingConfig":{"mode":"AUTO"}},"tools":[{"functionDeclarations":[{"description":"Add two numbers","name":"add","parameters":{"properties":{"a":{"description":"first number","type":"INTEGER"},"b":{"description":"second number","type":"INTEGER"}},"required":["a","b"],"type":"OBJECT"}},{"description":"Multiply two numbers","name":"multiply","parameters":{"properties":{"a":{"description":"first number","type":"INTEGER"},"b":{"description":"second number","type":"INTEGER"}},"required":["a","b"],"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-3-pro-preview: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\": \"add\",\"args\": {\"a\": 2,\"b\": 3},\"id\": \"8hd01vsf\"},\"thoughtSignature\": \"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\"}],\"role\": \"model\"},\"index\": 0}],\"usageMetadata\": {\"promptTokenCount\": 157,\"candidatesTokenCount\": 16,\"totalTokenCount\": 611,\"promptTokensDetails\": [{\"modality\": \"TEXT\",\"tokenCount\": 157}],\"thoughtsTokenCount\": 438},\"modelVersion\": \"gemini-3.1-pro-preview\",\"responseId\": \"UwCzaaGdI_aEz7IPqoinwQM\"}\r\n\r\ndata: {\"candidates\": [{\"content\": {\"parts\": [{\"functionCall\": {\"name\": \"multiply\",\"args\": {\"b\": 3,\"a\": 2},\"id\": \"k0srpqrc\"}}],\"role\": \"model\"},\"index\": 0}],\"usageMetadata\": {\"promptTokenCount\": 157,\"candidatesTokenCount\": 32,\"totalTokenCount\": 627,\"promptTokensDetails\": [{\"modality\": \"TEXT\",\"tokenCount\": 157}],\"thoughtsTokenCount\": 438},\"modelVersion\": \"gemini-3.1-pro-preview\",\"responseId\": \"UwCzaaGdI_aEz7IPqoinwQM\"}\r\n\r\ndata: {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \"\"}],\"role\": \"model\"},\"finishReason\": \"STOP\",\"index\": 0}],\"usageMetadata\": {\"promptTokenCount\": 157,\"candidatesTokenCount\": 32,\"totalTokenCount\": 627,\"promptTokensDetails\": [{\"modality\": \"TEXT\",\"tokenCount\": 157}],\"thoughtsTokenCount\": 438},\"modelVersion\": \"gemini-3.1-pro-preview\",\"responseId\": \"UwCzaaGdI_aEz7IPqoinwQM\"}\r\n\r\n"
    headers:
      Content-Type:
      - text/event-stream
    status: 200 OK
    code: 200
    duration: 6.852588125s
- id: 1
  request:
    proto: HTTP/1.1
    proto_major: 1
    proto_minor: 1
    content_length: 3500
    host: generativelanguage.googleapis.com
    body: |
      {"contents":[{"parts":[{"text":"Add and multiply the number 2 and 3"}],"role":"user"},{"parts":[{"functionCall":{"args":{"a":2,"b":3},"id":"8hd01vsf","name":"add"},"thoughtSignature":"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"},{"functionCall":{"args":{"a":2,"b":3},"id":"k0srpqrc","name":"multiply"}}],"role":"model"},{"parts":[{"functionResponse":{"id":"8hd01vsf","name":"add","response":{"result":"5"}}},{"functionResponse":{"id":"k0srpqrc","name":"multiply","response":{"result":"6"}}}],"role":"user"}],"generationConfig":{"maxOutputTokens":4000},"systemInstruction":{"parts":[{"text":"You are a helpful assistant. Always use both add and multiply at the same time."}],"role":"user"},"toolConfig":{"functionCallingConfig":{"mode":"AUTO"}},"tools":[{"functionDeclarations":[{"description":"Add two numbers","name":"add","parameters":{"properties":{"a":{"description":"first number","type":"INTEGER"},"b":{"description":"second number","type":"INTEGER"}},"required":["a","b"],"type":"OBJECT"}},{"description":"Multiply two numbers","name":"multiply","parameters":{"properties":{"a":{"description":"first number","type":"INTEGER"},"b":{"description":"second number","type":"INTEGER"}},"required":["a","b"],"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-3-pro-preview: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 sum of 2 and 3 is 5, and their product is 6\"}],\"role\": \"model\"},\"index\": 0}],\"usageMetadata\": {\"promptTokenCount\": 211,\"candidatesTokenCount\": 18,\"totalTokenCount\": 249,\"promptTokensDetails\": [{\"modality\": \"TEXT\",\"tokenCount\": 211}],\"thoughtsTokenCount\": 20},\"modelVersion\": \"gemini-3.1-pro-preview\",\"responseId\": \"VgCzafjWBa_Qz7IP1KnJoQk\"}\r\n\r\ndata: {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \".\"}],\"role\": \"model\"},\"index\": 0}],\"usageMetadata\": {\"promptTokenCount\": 211,\"candidatesTokenCount\": 19,\"totalTokenCount\": 250,\"promptTokensDetails\": [{\"modality\": \"TEXT\",\"tokenCount\": 211}],\"thoughtsTokenCount\": 20},\"modelVersion\": \"gemini-3.1-pro-preview\",\"responseId\": \"VgCzafjWBa_Qz7IP1KnJoQk\"}\r\n\r\ndata: {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \"\",\"thoughtSignature\": \"EpEBCo4BAb4+9vueD6qXh+z6U+4AqU940Oj5Cdxb85BS4kZ2qdo/Y9VJGyog8DcshmXFSqqX9uP+fAbN5sHoRxt9Fb1OB26Rys1ta8uqCdGB2BgNVOHLczMzhIE4Zi9wjbuxNVjxrzzHK7OPxNjPDgJO/r/pJrsyNJXbEJD7XzoRKzHC/H0Ds3EXfMNoZrUmHSf7hw==\"}],\"role\": \"model\"},\"finishReason\": \"STOP\",\"index\": 0}],\"usageMetadata\": {\"promptTokenCount\": 646,\"candidatesTokenCount\": 19,\"totalTokenCount\": 685,\"promptTokensDetails\": [{\"modality\": \"TEXT\",\"tokenCount\": 646}],\"thoughtsTokenCount\": 20},\"modelVersion\": \"gemini-3.1-pro-preview\",\"responseId\": \"VgCzafjWBa_Qz7IP1KnJoQk\"}\r\n\r\n"
    headers:
      Content-Type:
      - text/event-stream
    status: 200 OK
    code: 200
    duration: 2.517556875s
