multi_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: 832
10    host: ""
11    body: '{"messages":[{"content":"You are a helpful assistant. CRITICAL: Always use both add and multiply at the same time ALWAYS.","role":"system"},{"content":"Add and multiply the number 2 and 3","role":"user"}],"model":"google/gemini-3-pro-preview","max_tokens":4000,"tool_choice":"auto","tools":[{"function":{"name":"add","strict":false,"description":"Add two numbers","parameters":{"properties":{"a":{"description":"first number","type":"integer"},"b":{"description":"second number","type":"integer"}},"required":["a","b"],"type":"object"}},"type":"function"},{"function":{"name":"multiply","strict":false,"description":"Multiply two numbers","parameters":{"properties":{"a":{"description":"first number","type":"integer"},"b":{"description":"second number","type":"integer"}},"required":["a","b"],"type":"object"}},"type":"function"}]}'
12    headers:
13      Accept:
14      - application/json
15      Content-Type:
16      - application/json
17      User-Agent:
18      - Charm-Fantasy/0.12.2 (https://charm.land/fantasy)
19    url: https://ai-gateway.vercel.sh/v1/chat/completions
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: '{"id":"gen_01KKHTRQRYKH43CS2M3V70YQSP","object":"chat.completion","created":1773346254,"model":"google/gemini-3-pro-preview","choices":[{"index":0,"message":{"role":"assistant","content":null,"tool_calls":[{"id":"UEWl8wf7vCtSQIdF","type":"function","function":{"name":"add","arguments":"{\"b\":3,\"a\":2}"}},{"id":"lnzdKpzE1MRoXxao","type":"function","function":{"name":"multiply","arguments":"{\"b\":3,\"a\":2}"}}],"provider_metadata":{"google":{"promptFeedback":null,"groundingMetadata":null,"urlContextMetadata":null,"safetyRatings":null,"usageMetadata":{"thoughtsTokenCount":137,"promptTokenCount":61,"candidatesTokenCount":18,"totalTokenCount":216,"trafficType":"ON_DEMAND"}},"gateway":{"routing":{"originalModelId":"google/gemini-3-pro-preview","resolvedProvider":"vertex","resolvedProviderApiModelId":"gemini-3-pro-preview","internalResolvedModelId":"vertex:gemini-3-pro-preview","fallbacksAvailable":["google"],"internalReasoning":"Selected vertex as preferred provider for gemini-3-pro-preview. 1 fallback(s) available: google","planningReasoning":"System credentials planned for: vertex, google. Total execution order: vertex(system) → google(system)","canonicalSlug":"google/gemini-3-pro-preview","finalProvider":"vertex","attempts":[{"provider":"vertex","internalModelId":"vertex:gemini-3-pro-preview","providerApiModelId":"gemini-3-pro-preview","credentialType":"system","success":true,"startTime":1302633.769555,"endTime":1306285.12625,"statusCode":200,"providerResponseId":"yh2zaeuHJJKA4OUPxM_iqQI"}],"modelAttemptCount":1,"modelAttempts":[{"modelId":"vertex:gemini-3-pro-preview","canonicalSlug":"google/gemini-3-pro-preview","success":true,"providerAttemptCount":1,"providerAttempts":[{"provider":"vertex","internalModelId":"vertex:gemini-3-pro-preview","providerApiModelId":"gemini-3-pro-preview","credentialType":"system","success":true,"startTime":1302633.769555,"endTime":1306285.12625,"statusCode":200,"providerResponseId":"yh2zaeuHJJKA4OUPxM_iqQI"}]}],"totalProviderAttemptCount":1},"cost":"0.001982","marketCost":"0.001982","generationId":"gen_01KKHTRQRYKH43CS2M3V70YQSP","billableWebSearchCalls":0}}},"logprobs":null,"finish_reason":"tool_calls"}],"usage":{"prompt_tokens":61,"completion_tokens":18,"total_tokens":79,"cost":0.001982,"is_byok":false,"prompt_tokens_details":{"cached_tokens":0,"audio_tokens":0,"video_tokens":0},"cost_details":{"upstream_inference_cost":null,"upstream_inference_prompt_cost":0,"upstream_inference_completions_cost":0},"completion_tokens_details":{"reasoning_tokens":137,"image_tokens":0},"cache_creation_input_tokens":0,"market_cost":0.001982},"system_fingerprint":"fp_1qu3iai0cv","generationId":"gen_01KKHTRQRYKH43CS2M3V70YQSP"}'
28    headers:
29      Content-Type:
30      - application/json
31    status: 200 OK
32    code: 200
33    duration: 3.855656s
34- id: 1
35  request:
36    proto: HTTP/1.1
37    proto_major: 1
38    proto_minor: 1
39    content_length: 1205
40    host: ""
41    body: '{"messages":[{"content":"You are a helpful assistant. CRITICAL: Always use both add and multiply at the same time ALWAYS.","role":"system"},{"content":"Add and multiply the number 2 and 3","role":"user"},{"tool_calls":[{"id":"UEWl8wf7vCtSQIdF","function":{"arguments":"{\"b\":3,\"a\":2}","name":"add"},"type":"function"},{"id":"lnzdKpzE1MRoXxao","function":{"arguments":"{\"b\":3,\"a\":2}","name":"multiply"},"type":"function"}],"role":"assistant"},{"content":"5","tool_call_id":"UEWl8wf7vCtSQIdF","role":"tool"},{"content":"6","tool_call_id":"lnzdKpzE1MRoXxao","role":"tool"}],"model":"google/gemini-3-pro-preview","max_tokens":4000,"tool_choice":"auto","tools":[{"function":{"name":"add","strict":false,"description":"Add two numbers","parameters":{"properties":{"a":{"description":"first number","type":"integer"},"b":{"description":"second number","type":"integer"}},"required":["a","b"],"type":"object"}},"type":"function"},{"function":{"name":"multiply","strict":false,"description":"Multiply two numbers","parameters":{"properties":{"a":{"description":"first number","type":"integer"},"b":{"description":"second number","type":"integer"}},"required":["a","b"],"type":"object"}},"type":"function"}]}'
42    headers:
43      Accept:
44      - application/json
45      Content-Type:
46      - application/json
47      User-Agent:
48      - Charm-Fantasy/0.12.2 (https://charm.land/fantasy)
49    url: https://ai-gateway.vercel.sh/v1/chat/completions
50    method: POST
51  response:
52    proto: HTTP/2.0
53    proto_major: 2
54    proto_minor: 0
55    content_length: -1
56    uncompressed: true
57    body: '{"id":"gen_01KKHTRVHAN3K5TGZF8S3JD965","object":"chat.completion","created":1773346258,"model":"google/gemini-3-pro-preview","choices":[{"index":0,"message":{"role":"assistant","content":"The addition of 2 and 3 is 5, and the multiplication of 2 and 3 is 6.","reasoning_details":[{"type":"reasoning.encrypted","data":"EtsJCtgJAb4+9vuyV/3o1mGMws57R53bb1BY3r592wvKawVw4531Zc39lmmapELYnk4WmzMDcHh7EayWrZKnF63PZanblkkfZ5xp/M3t+8P8Q4wzkq+IPuiHGOoraQSNxyYD3n/oumaOmejR75KTGUrI5sVLDL0eyN5NcvFNOk2cOUPycOfGK/eKbHl8g8qgrk7S0RqgZOxsVtmpU8MYmFo736W1RGR3oXxjBekPTIQu6hZtgoNxR4UEugoIpI4+ux4GkLGvFLAHc7/lz5dIZHZlNrRFUVfTPUv8+q6yTSFamxjdX1liGY5s+yANEf7cFR2puc33ERjFPB22YcpFcstW53lu/BbeOoIy0be8TzDa2OFZWof8pvZnrZZe+LzXE6trdBDjluYEuPxdR0+kazkhYzzQpAzhEaai1GjiM/iz52K8FVoeLfrGA+EYXb2AkXvWD58vimoIeBF4FmLJmvaFe8naFk5au9V0V6m8MeOHnzYhT7RqGDgO3IdEtwIKnTRp+scicJ/m9JWuBimLRD+nI6HoWKLKoFWSeCaf3o3XD0M5MJ7i2FcMGG8m1VQi09623BJk9JFZgiyhfzjDHvnPQw7VoVEo6HyqSs8wUniQ180isX+zAkIW1wyPTlbmJpYtRIQTI0hnd/BUGJHv5AGLrVV4XwR1WSf/kQajUe9qRPaj9kHbZ2MbC0KVsPAHr0NULZpr4TpOWkB719s8B7FHX7bw/4+MDX/NZbw5LQYjDwZESP7hdZj0jr4+eHkZ0G+gvKEGY27b0XbTLDPG/haP4o+Hn4hXwK+FYQpJN50P6HUZsf0jGnUPmAxcX0tgwMdt+HbZhyC5mddk57DUeSJDTfsYXOXNCCceVM5LJ1dsK9w0/rxCzhLdQxttEwEdK5RlB7/3kGaPWQz00Cf6RXQYo0C01DOt0PkZyukCzoPU+KUmFdc66jwEnt1Wsz4OFQ+nbpQgzRfEheJlK/s52jfM2s5Tou6FMQ/h4sS7bd+67PU5cxDXHuw8BQxRBYeyFRNS2v+BO0v6+z/7+qGEeHn4/bmKPJxinUQmxlVEvzJLtIVkX5WRhK32iZX3Pk5yWUZ2xrqehd1IWF+N3skH/Ru/SDfTnt6g9ttkWZfQizyNEyvZAnhWcSc4r4WTqJt9hz5M6qJqBuMIXExPO+KVXGOrfZ1Zk57wBUBUkbYIp72LPZyViFO/DEvefSBLK0my/Jba7LZSedHYmdrY8uN3j1wUUhgWBwQja/feUhzMKzF9OlHAyUOJ/RAv/+Ix281+yaZZAgyj496VduIXLHwvy0rh/pxcpUwwY6oyfBz08+BC5ZKRzrgLb20KymkqmEKOm+5ZEIxNXuNN4DJAfFg+n7OkxUjPDIkubmMR/GlItrUlRjC05u21yyR4A9PMwm4g250srB+cCmxvhknIPdUT0CCoSWUxSgX3JaBmiNv2jSpqo7LKF3vnqMm5Vm5VzWpiidh4rsQqJv/RZJG0Qjafemr16Fy4OtQpSfZKcVmaByliCneW8e+xPEkKcJG9SUVpDms4nPAJs/GrpfV5DOOynJEDI8zeGUJNnwq0f1MSvP0K+uyRsLeREYkhqHhrapx57TbbuMv6mb58I2Qdie1CB8OjyQrpr+QoV1jlpbVcqDcTwp4XyD5BZvN6WlPldw==","format":"google-gemini-v1","index":0}],"provider_metadata":{"google":{"promptFeedback":null,"groundingMetadata":null,"urlContextMetadata":null,"safetyRatings":null,"usageMetadata":{"thoughtsTokenCount":266,"promptTokenCount":223,"candidatesTokenCount":25,"totalTokenCount":514}},"gateway":{"routing":{"originalModelId":"google/gemini-3-pro-preview","resolvedProvider":"vertex","resolvedProviderApiModelId":"gemini-3-pro-preview","internalResolvedModelId":"vertex:gemini-3-pro-preview","fallbacksAvailable":["google"],"internalReasoning":"Selected vertex as preferred provider for gemini-3-pro-preview. 1 fallback(s) available: google","planningReasoning":"System credentials planned for: vertex, google. Total execution order: vertex(system) → google(system)","canonicalSlug":"google/gemini-3-pro-preview","finalProvider":"google","attempts":[{"provider":"vertex","internalModelId":"vertex:gemini-3-pro-preview","providerApiModelId":"gemini-3-pro-preview","credentialType":"system","success":false,"error":"Please ensure that the number of function response parts is equal to the number of function call parts of the function call turn.","startTime":1306349.557116,"endTime":1306479.321452,"statusCode":400},{"provider":"google","internalModelId":"google:gemini-3.1-pro-preview-customtools","providerApiModelId":"gemini-3.1-pro-preview-customtools","credentialType":"system","success":true,"startTime":1306487.215895,"endTime":1310248.782797,"statusCode":200,"providerResponseId":"0h2zafDWD6OD-8YP-5vPwA0"}],"modelAttemptCount":1,"modelAttempts":[{"modelId":"vertex:gemini-3-pro-preview","canonicalSlug":"google/gemini-3-pro-preview","success":true,"providerAttemptCount":2,"providerAttempts":[{"provider":"vertex","internalModelId":"vertex:gemini-3-pro-preview","providerApiModelId":"gemini-3-pro-preview","credentialType":"system","success":false,"error":"Please ensure that the number of function response parts is equal to the number of function call parts of the function call turn.","startTime":1306349.557116,"endTime":1306479.321452,"statusCode":400},{"provider":"google","internalModelId":"google:gemini-3.1-pro-preview-customtools","providerApiModelId":"gemini-3.1-pro-preview-customtools","credentialType":"system","success":true,"startTime":1306487.215895,"endTime":1310248.782797,"statusCode":200,"providerResponseId":"0h2zafDWD6OD-8YP-5vPwA0"}]}],"totalProviderAttemptCount":2},"cost":"0.003938","marketCost":"0.003938","generationId":"gen_01KKHTRVHAN3K5TGZF8S3JD965","billableWebSearchCalls":0}}},"logprobs":null,"finish_reason":"stop"}],"usage":{"prompt_tokens":223,"completion_tokens":25,"total_tokens":248,"cost":0.003938,"is_byok":false,"prompt_tokens_details":{"cached_tokens":0,"audio_tokens":0,"video_tokens":0},"cost_details":{"upstream_inference_cost":null,"upstream_inference_prompt_cost":0,"upstream_inference_completions_cost":0},"completion_tokens_details":{"reasoning_tokens":266,"image_tokens":0},"cache_creation_input_tokens":0,"market_cost":0.003938},"system_fingerprint":"fp_muqainsi9x","generationId":"gen_01KKHTRVHAN3K5TGZF8S3JD965"}'
58    headers:
59      Content-Type:
60      - application/json
61    status: 200 OK
62    code: 200
63    duration: 4.082352584s