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: 552
10 host: generativelanguage.googleapis.com
11 body: |
12 {"contents":[{"parts":[{"text":"What's the weather in Florence, Italy?"}],"role":"user"}],"generationConfig":{"thinkingConfig":{"includeThoughts":true,"thinkingLevel":"HIGH"}},"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 "text": "**My Thought Process: Weather in Florence**\n\nOkay, the user wants the weather in Florence, Italy. Simple enough. First, I need to identify the appropriate tool. Ah, the `default_api:weather` tool – perfect! That's exactly what I need for weather data. Now, what parameters does this tool require? Right, just a `location`. The user's provided location is \"Florence, Italy,\" so that's the value I'll use. Now to format the tool call correctly. I need a JSON object for the location, and then it's `{\"location\": \"Florence, Italy\"}`. Final step: I execute the tool call in the appropriate format: `டல்call:default_api:weather{\"location\": \"Florence, Italy\"}`. Done! I should get the weather data back shortly.\n\n\n",
35 "thought": true
36 },
37 {
38 "functionCall": {
39 "name": "weather",
40 "args": {
41 "location": "Florence, Italy"
42 },
43 "id": "v3yybtcf"
44 },
45 "thoughtSignature": "EucECuQEAb4+9vsYroJyp1uieeH5kjR2slN/TtULDJ5DWhM6IAskLN0yYqxSHckqkY3CLX/sBF+KwFP44rn+BjtIaS+rgcM+omQ3YzvLnnMVdeU97IAih7VbuWqqdpqcXrtiab4vZbhun83pab1NndOKL5M/o9RMPC8IlQNnzb3KMhmzhQ6whAePjKxI1bZpRil3s9aPHjHHwIMKhGhfjtbnli4XS93vEEWCe9YM5QYhY5afbnoJUxQXMDxH8SvUzqgTWULjDZPHNsr7jA/QvI8OFosXNjEFiyYFhsvNQxeHRW2Ce9kVJRSTskO5i+MXGVGYBZ1J7FpMAkTcbqUPHqnFd3kEMrsiGSHUDE6jCcYpN6DT215y9hnhG2cs0LqSVq8gqQqlCYeWW6fDXMhuzhOkcTOaZby8GrFumJiwbvBfZW9kEY+Dp0X1mDNuFethsFI9EsQ+3Q8Xw4OI1JaBCgriDuebHOgNrQZzMECawx7x3t1ctDwOa7Ehdh3Ct7X5+ZKur6x5JsCFqTpmbqD0mEx3xlHQsYMEpO+biVZkBHz0fb/sjAd55cvU0fyXYLt9YYPraY4jLDPr7dBlmh3/5u1yWShphIUyGdWaC5k4hhsZG4BRrm5ZERlWJdGwKj0Y9B45sbeObmT4X78WrWmghagQ29dvRYBeROneeVobZ7VY52zSfvtBmvnO614/9OjOKqKVJAdrNbo3LK3lT6dhIlesFvRV1c6O4QFf3z9ZdOKouH3vvxDg6TQsIc3dkIaKdT2G1fBUjjavEIjTWhjoe70FJGSp+5y5tWVGu+ULheKsjk7+bMX1gUw1"
46 }
47 ],
48 "role": "model"
49 },
50 "finishReason": "STOP",
51 "index": 0,
52 "finishMessage": "Model generated function call(s)."
53 }
54 ],
55 "usageMetadata": {
56 "promptTokenCount": 65,
57 "candidatesTokenCount": 16,
58 "totalTokenCount": 219,
59 "promptTokensDetails": [
60 {
61 "modality": "TEXT",
62 "tokenCount": 65
63 }
64 ],
65 "thoughtsTokenCount": 138
66 },
67 "modelVersion": "gemini-3.1-pro-preview",
68 "responseId": "wgCzaf-rHeXgz7IPoryaqAU"
69 }
70 headers:
71 Content-Type:
72 - application/json; charset=UTF-8
73 status: 200 OK
74 code: 200
75 duration: 4.6109495s
76- id: 1
77 request:
78 proto: HTTP/1.1
79 proto_major: 1
80 proto_minor: 1
81 content_length: 1626
82 host: generativelanguage.googleapis.com
83 body: |
84 {"contents":[{"parts":[{"text":"What's the weather in Florence, Italy?"}],"role":"user"},{"parts":[{"functionCall":{"args":{"location":"Florence, Italy"},"id":"v3yybtcf","name":"weather"},"thoughtSignature":"EucECuQEAb4+9vsYroJyp1uieeH5kjR2slN/TtULDJ5DWhM6IAskLN0yYqxSHckqkY3CLX/sBF+KwFP44rn+BjtIaS+rgcM+omQ3YzvLnnMVdeU97IAih7VbuWqqdpqcXrtiab4vZbhun83pab1NndOKL5M/o9RMPC8IlQNnzb3KMhmzhQ6whAePjKxI1bZpRil3s9aPHjHHwIMKhGhfjtbnli4XS93vEEWCe9YM5QYhY5afbnoJUxQXMDxH8SvUzqgTWULjDZPHNsr7jA/QvI8OFosXNjEFiyYFhsvNQxeHRW2Ce9kVJRSTskO5i+MXGVGYBZ1J7FpMAkTcbqUPHqnFd3kEMrsiGSHUDE6jCcYpN6DT215y9hnhG2cs0LqSVq8gqQqlCYeWW6fDXMhuzhOkcTOaZby8GrFumJiwbvBfZW9kEY+Dp0X1mDNuFethsFI9EsQ+3Q8Xw4OI1JaBCgriDuebHOgNrQZzMECawx7x3t1ctDwOa7Ehdh3Ct7X5+ZKur6x5JsCFqTpmbqD0mEx3xlHQsYMEpO+biVZkBHz0fb/sjAd55cvU0fyXYLt9YYPraY4jLDPr7dBlmh3/5u1yWShphIUyGdWaC5k4hhsZG4BRrm5ZERlWJdGwKj0Y9B45sbeObmT4X78WrWmghagQ29dvRYBeROneeVobZ7VY52zSfvtBmvnO614/9OjOKqKVJAdrNbo3LK3lT6dhIlesFvRV1c6O4QFf3z9ZdOKouH3vvxDg6TQsIc3dkIaKdT2G1fBUjjavEIjTWhjoe70FJGSp+5y5tWVGu+ULheKsjk7+bMX1gUw1"}],"role":"model"},{"parts":[{"functionResponse":{"id":"v3yybtcf","name":"weather","response":{"result":"40 C"}}}],"role":"user"}],"generationConfig":{"thinkingConfig":{"includeThoughts":true,"thinkingLevel":"HIGH"}},"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"}}]}]}
85 headers:
86 Content-Type:
87 - application/json
88 User-Agent:
89 - Charm-Fantasy/0.12.2 (https://charm.land/fantasy)
90 - google-genai-sdk/1.49.0 gl-go/go1.26.1
91 url: https://generativelanguage.googleapis.com/v1beta/models/gemini-3-pro-preview:generateContent
92 method: POST
93 response:
94 proto: HTTP/2.0
95 proto_major: 2
96 proto_minor: 0
97 content_length: -1
98 uncompressed: true
99 body: |
100 {
101 "candidates": [
102 {
103 "content": {
104 "parts": [
105 {
106 "text": "**My Immediate Thoughts on the Florence Weather Query**\n\nOkay, so the system just spat out \"40 C\" for Florence, Italy. That's my starting point. Now, the task is to translate this raw data into a human-readable and contextually appropriate response, and it's imperative that the language be concise and accurate. Therefore, I need to frame it in a way that is clear and easy to understand. Considering the user, the focus should be on directness. The simplest, most effective way to communicate this is: \"The current weather in Florence, Italy is 40°C.\" Done.\n\n\n",
107 "thought": true
108 },
109 {
110 "text": "The current weather in Florence, Italy is 40°C (104°F). Stay hydrated, it's quite hot!",
111 "thoughtSignature": "Eo4CCosCAb4+9vsxETlwySLJFpZ/qtlMnUAM3qEDlnHqRhZSkV9xniRXKG/EpuPM4I4FAc8YTUDWYW4lWjLGQpv5dxhQrRj0nmOSYkg9ENlrg0oAM28q/BNLo6w8ggk0uVsU4Oe0XZzP6rjTSBHiNxqCigE6fi/jP2Jk43tmM6iAKcHU0ZvSelZV4aTUaJ+LiyrBjckf5yCQcnxnJNy7FYKvGsYItkvB5KqEpJji9TjPHRjdwOAMd2nRIvUFnpusEtSAG8faV4Q/dRpub6Nge5xUrtGiRSU729ZBFdXZZfJA7S4sQOn8p/AGYsMZaLjfYJVkUxWmlrq9FEYggGgggvoCLL/0w/79A1H1zUZikDUX"
112 }
113 ],
114 "role": "model"
115 },
116 "finishReason": "STOP",
117 "index": 0
118 }
119 ],
120 "usageMetadata": {
121 "promptTokenCount": 234,
122 "candidatesTokenCount": 28,
123 "totalTokenCount": 318,
124 "promptTokensDetails": [
125 {
126 "modality": "TEXT",
127 "tokenCount": 234
128 }
129 ],
130 "thoughtsTokenCount": 56
131 },
132 "modelVersion": "gemini-3.1-pro-preview",
133 "responseId": "xgCzad_bDYzUz7IPxoCRiAk"
134 }
135 headers:
136 Content-Type:
137 - application/json; charset=UTF-8
138 status: 200 OK
139 code: 200
140 duration: 3.764384209s