tool.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: 509
 10    host: generativelanguage.googleapis.com
 11    body: |
 12      {"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"}}]}]}
 13    headers:
 14      Content-Type:
 15      - application/json
 16      User-Agent:
 17      - Charm-Fantasy/0.12.2 (https://charm.land/fantasy)
 18      - google-genai-sdk/1.49.0 gl-go/go1.26.1
 19    url: https://generativelanguage.googleapis.com/v1beta/models/gemini-3-pro-preview:generateContent
 20    method: POST
 21  response:
 22    proto: HTTP/2.0
 23    proto_major: 2
 24    proto_minor: 0
 25    content_length: -1
 26    uncompressed: true
 27    body: |
 28      {
 29        "candidates": [
 30          {
 31            "content": {
 32              "parts": [
 33                {
 34                  "functionCall": {
 35                    "name": "weather",
 36                    "args": {
 37                      "location": "Florence, Italy"
 38                    },
 39                    "id": "1wzw08fx"
 40                  },
 41                  "thoughtSignature": "EsEDCr4DAb4+9vtz3Lzm1KWmbKIe3x782+ag2WCNmnSLpPZrRIxWHAZV7clKnfj/XCOx3/6hxfzPpeu8fM/k9PMVeCS+qF0rnhNdWxzGshYizYQ1ByccUYKPb92D5ETNs/1zE7HhARHHIlj4y5R+Rci/UOWvfP/Fd64/XhmIrn8SpuZb1tnRMc4o2O+4sxlcVvOIdr3gY5gOK8Y3bB2JpopWAXQX2+CixuAilzLnO5b05TTyaTIUxOEPmvp+AjYFyvVe32jDOsQMFrvFkaWvr6Ii6sKUGmUQ61hYe2j6XhrPT9tVGSDx47Krp9itMZ7jMT+LaCyClUYp7VXeXGVrKwN5/AcOt+4bR74ovt0DZRNIyRF3pZ2xUz7eJnecJYTX/pfrt7I2atVFEg+mgcXxZKeSbsi5XKbCzms0w6TsVG9GNNkqjQmTw0zIpWO5+fIKxhuJx6bGtuZVQTJx5JIa73qKhvhvOz2EMiw4kvuyZSrWd/Z78UB4Kw3C9GFuBpjbBRZMkw0Z18ho+QKNVoLMA962yx/6iHIlR0p0Kbrk58OPmit1NjY/rnb/6HU907ytDP+n4T/FkxIaL6GJWqdGbQSnKdU="
 42                }
 43              ],
 44              "role": "model"
 45            },
 46            "finishReason": "STOP",
 47            "index": 0,
 48            "finishMessage": "Model generated function call(s)."
 49          }
 50        ],
 51        "usageMetadata": {
 52          "promptTokenCount": 65,
 53          "candidatesTokenCount": 16,
 54          "totalTokenCount": 183,
 55          "promptTokensDetails": [
 56            {
 57              "modality": "TEXT",
 58              "tokenCount": 65
 59            }
 60          ],
 61          "thoughtsTokenCount": 102
 62        },
 63        "modelVersion": "gemini-3.1-pro-preview",
 64        "responseId": "OQCzaZLeNYDVz7IPhPDJ0A0"
 65      }
 66    headers:
 67      Content-Type:
 68      - application/json; charset=UTF-8
 69    status: 200 OK
 70    code: 200
 71    duration: 3.102164459s
 72- id: 1
 73  request:
 74    proto: HTTP/1.1
 75    proto_major: 1
 76    proto_minor: 1
 77    content_length: 1363
 78    host: generativelanguage.googleapis.com
 79    body: |
 80      {"contents":[{"parts":[{"text":"What's the weather in Florence,Italy?"}],"role":"user"},{"parts":[{"functionCall":{"args":{"location":"Florence, Italy"},"id":"1wzw08fx","name":"weather"},"thoughtSignature":"EsEDCr4DAb4+9vtz3Lzm1KWmbKIe3x782+ag2WCNmnSLpPZrRIxWHAZV7clKnfj/XCOx3/6hxfzPpeu8fM/k9PMVeCS+qF0rnhNdWxzGshYizYQ1ByccUYKPb92D5ETNs/1zE7HhARHHIlj4y5R+Rci/UOWvfP/Fd64/XhmIrn8SpuZb1tnRMc4o2O+4sxlcVvOIdr3gY5gOK8Y3bB2JpopWAXQX2+CixuAilzLnO5b05TTyaTIUxOEPmvp+AjYFyvVe32jDOsQMFrvFkaWvr6Ii6sKUGmUQ61hYe2j6XhrPT9tVGSDx47Krp9itMZ7jMT+LaCyClUYp7VXeXGVrKwN5/AcOt+4bR74ovt0DZRNIyRF3pZ2xUz7eJnecJYTX/pfrt7I2atVFEg+mgcXxZKeSbsi5XKbCzms0w6TsVG9GNNkqjQmTw0zIpWO5+fIKxhuJx6bGtuZVQTJx5JIa73qKhvhvOz2EMiw4kvuyZSrWd/Z78UB4Kw3C9GFuBpjbBRZMkw0Z18ho+QKNVoLMA962yx/6iHIlR0p0Kbrk58OPmit1NjY/rnb/6HU907ytDP+n4T/FkxIaL6GJWqdGbQSnKdU="}],"role":"model"},{"parts":[{"functionResponse":{"id":"1wzw08fx","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"}}]}]}
 81    headers:
 82      Content-Type:
 83      - application/json
 84      User-Agent:
 85      - Charm-Fantasy/0.12.2 (https://charm.land/fantasy)
 86      - google-genai-sdk/1.49.0 gl-go/go1.26.1
 87    url: https://generativelanguage.googleapis.com/v1beta/models/gemini-3-pro-preview:generateContent
 88    method: POST
 89  response:
 90    proto: HTTP/2.0
 91    proto_major: 2
 92    proto_minor: 0
 93    content_length: -1
 94    uncompressed: true
 95    body: |
 96      {
 97        "candidates": [
 98          {
 99            "content": {
100              "parts": [
101                {
102                  "text": "The current weather in Florence, Italy is 40°C.",
103                  "thoughtSignature": "EsgCCsUCAb4+9vsw57zIJ+1f6+yJxsdAuUmJmBIhZuwPsNzHagQ73QMSeyg8+82Bfo3d4tSWIFHRPlr/x2BlvYF6JYA6VHi8cNqyu9vxgOfV5iDm709vf4mLFGCyg56MnPr6UJ3/7g9AFYHSEP7omoyB5UzXUDlunXkWhHrSlEK+2CRu/aWWFva8IHVpHbSkGbwX9MTwVyaKLZxMqvcHiewN2vge7dQFsdtR7ohJrpcxMEfxM66He3GZRv02Qpkh0u5Ij01g4nVGe3v+yJ8VHEy1KmKg5pMApgd2VL3yXt3P8l08F3+haOVTorBJG0lmKdfHWFD1ddOwcCRLqQt55u4AtmDbCurjT4odZtc4QKcczEFk1xQGZZY1050r36+siKsOvtTT4gxDH9jvZJ+LLf1ffRmea6/it0iTRqbWARdNXgfurEsmr3xg7A=="
104                }
105              ],
106              "role": "model"
107            },
108            "finishReason": "STOP",
109            "index": 0
110          }
111        ],
112        "usageMetadata": {
113          "promptTokenCount": 197,
114          "candidatesTokenCount": 13,
115          "totalTokenCount": 281,
116          "promptTokensDetails": [
117            {
118              "modality": "TEXT",
119              "tokenCount": 197
120            }
121          ],
122          "thoughtsTokenCount": 71
123        },
124        "modelVersion": "gemini-3.1-pro-preview",
125        "responseId": "PACzae-_H-zPz7IPwpX86AI"
126      }
127    headers:
128      Content-Type:
129      - application/json; charset=UTF-8
130    status: 200 OK
131    code: 200
132    duration: 2.607119541s