tool_streaming.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: 523
10    host: ""
11    body: '{"messages":[{"content":"You are a helpful assistant","role":"system"},{"content":"What''s the weather in Florence,Italy?","role":"user"}],"model":"google/gemini-3-pro-preview","max_tokens":4000,"stream_options":{"include_usage":true},"tool_choice":"auto","tools":[{"function":{"name":"weather","strict":false,"description":"Get weather information for a location","parameters":{"properties":{"location":{"description":"the city","type":"string"}},"required":["location"],"type":"object"}},"type":"function"}],"stream":true}'
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    body: |+
27      data: {"id":"gen_01KKHTRJNNNFX0C9P22EMB8XNJ","object":"chat.completion.chunk","created":1773346247,"model":"google/gemini-3-pro-preview","choices":[{"index":0,"delta":{"role":"assistant"},"logprobs":null,"finish_reason":null}],"system_fingerprint":"fp_hqfs9ejtdk"}
28
29      data: {"id":"gen_01KKHTRJNNNFX0C9P22EMB8XNJ","object":"chat.completion.chunk","created":1773346247,"model":"google/gemini-3-pro-preview","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"id":"XxJypvJEEcLmxyOD","type":"function","function":{"name":"weather","arguments":""}}]},"logprobs":null,"finish_reason":null}],"system_fingerprint":"fp_hqfs9ejtdk"}
30
31      data: {"id":"gen_01KKHTRJNNNFX0C9P22EMB8XNJ","object":"chat.completion.chunk","created":1773346247,"model":"google/gemini-3-pro-preview","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"{\"location\":\"Florence, Italy\"}"}}]},"logprobs":null,"finish_reason":null}],"system_fingerprint":"fp_hqfs9ejtdk"}
32
33      data: {"id":"gen_01KKHTRJNNNFX0C9P22EMB8XNJ","object":"chat.completion.chunk","created":1773346247,"model":"google/gemini-3-pro-preview","choices":[{"index":0,"delta":{"provider_metadata":{"google":{"promptFeedback":null,"groundingMetadata":null,"urlContextMetadata":null,"safetyRatings":null,"usageMetadata":{"thoughtsTokenCount":84,"promptTokenCount":28,"candidatesTokenCount":9,"totalTokenCount":121,"trafficType":"PROVISIONED_THROUGHPUT"}},"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":317008.637861,"endTime":319448.994732,"statusCode":200}],"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":317008.637861,"endTime":319448.994732,"statusCode":200}]}],"totalProviderAttemptCount":1},"cost":"0.001172","marketCost":"0.001172","generationId":"gen_01KKHTRJNNNFX0C9P22EMB8XNJ","billableWebSearchCalls":0}}},"logprobs":null,"finish_reason":"tool_calls"}],"usage":{"prompt_tokens":28,"completion_tokens":9,"total_tokens":37,"cost":0.001172,"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":84,"image_tokens":0},"cache_creation_input_tokens":0,"market_cost":0.001172},"system_fingerprint":"fp_hqfs9ejtdk","generationId":"gen_01KKHTRJNNNFX0C9P22EMB8XNJ"}
34
35      data: [DONE]
36
37    headers:
38      Content-Type:
39      - text/event-stream
40    status: 200 OK
41    code: 200
42    duration: 2.672002s
43- id: 1
44  request:
45    proto: HTTP/1.1
46    proto_major: 1
47    proto_minor: 1
48    content_length: 749
49    host: ""
50    body: '{"messages":[{"content":"You are a helpful assistant","role":"system"},{"content":"What''s the weather in Florence,Italy?","role":"user"},{"tool_calls":[{"id":"XxJypvJEEcLmxyOD","function":{"arguments":"{\"location\":\"Florence, Italy\"}","name":"weather"},"type":"function"}],"role":"assistant"},{"content":"40 C","tool_call_id":"XxJypvJEEcLmxyOD","role":"tool"}],"model":"google/gemini-3-pro-preview","max_tokens":4000,"stream_options":{"include_usage":true},"tool_choice":"auto","tools":[{"function":{"name":"weather","strict":false,"description":"Get weather information for a location","parameters":{"properties":{"location":{"description":"the city","type":"string"}},"required":["location"],"type":"object"}},"type":"function"}],"stream":true}'
51    headers:
52      Accept:
53      - application/json
54      Content-Type:
55      - application/json
56      User-Agent:
57      - Charm-Fantasy/0.12.2 (https://charm.land/fantasy)
58    url: https://ai-gateway.vercel.sh/v1/chat/completions
59    method: POST
60  response:
61    proto: HTTP/2.0
62    proto_major: 2
63    proto_minor: 0
64    content_length: -1
65    body: |+
66      data: {"id":"gen_01KKHTRN9BZ3TXNZYNZF4G9YZH","object":"chat.completion.chunk","created":1773346250,"model":"google/gemini-3-pro-preview","choices":[{"index":0,"delta":{"role":"assistant"},"logprobs":null,"finish_reason":null}],"system_fingerprint":"fp_hf8pszkidg"}
67
68      data: {"id":"gen_01KKHTRN9BZ3TXNZYNZF4G9YZH","object":"chat.completion.chunk","created":1773346250,"model":"google/gemini-3-pro-preview","choices":[{"index":0,"delta":{"content":"The weather in Florence"},"logprobs":null,"finish_reason":null}],"system_fingerprint":"fp_hf8pszkidg"}
69
70      data: {"id":"gen_01KKHTRN9BZ3TXNZYNZF4G9YZH","object":"chat.completion.chunk","created":1773346250,"model":"google/gemini-3-pro-preview","choices":[{"index":0,"delta":{"content":", Italy is currently 40 degrees Celsius."},"logprobs":null,"finish_reason":null}],"system_fingerprint":"fp_hf8pszkidg"}
71
72      data: {"id":"gen_01KKHTRN9BZ3TXNZYNZF4G9YZH","object":"chat.completion.chunk","created":1773346250,"model":"google/gemini-3-pro-preview","choices":[{"index":0,"delta":{"provider_metadata":{"google":{"promptFeedback":null,"groundingMetadata":null,"urlContextMetadata":null,"safetyRatings":null,"usageMetadata":{"promptTokenCount":40,"candidatesTokenCount":14,"totalTokenCount":54,"trafficType":"PROVISIONED_THROUGHPUT"}},"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":1535469.408445,"endTime":1537760.745292,"statusCode":200}],"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":1535469.408445,"endTime":1537760.745292,"statusCode":200}]}],"totalProviderAttemptCount":1},"cost":"0.000248","marketCost":"0.000248","generationId":"gen_01KKHTRN9BZ3TXNZYNZF4G9YZH","billableWebSearchCalls":0}}},"logprobs":null,"finish_reason":"stop"}],"usage":{"prompt_tokens":40,"completion_tokens":14,"total_tokens":54,"cost":0.000248,"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":0,"image_tokens":0},"cache_creation_input_tokens":0,"market_cost":0.000248},"system_fingerprint":"fp_hf8pszkidg","generationId":"gen_01KKHTRN9BZ3TXNZYNZF4G9YZH"}
73
74      data: [DONE]
75
76    headers:
77      Content-Type:
78      - text/event-stream
79    status: 200 OK
80    code: 200
81    duration: 2.546376667s