---
version: 2
interactions:
- id: 0
  request:
    proto: HTTP/1.1
    proto_major: 1
    proto_minor: 1
    content_length: 469
    host: ""
    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,"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"}]}'
    headers:
      Accept:
      - application/json
      Content-Type:
      - application/json
      User-Agent:
      - Charm-Fantasy/0.12.2 (https://charm.land/fantasy)
    url: https://ai-gateway.vercel.sh/v1/chat/completions
    method: POST
  response:
    proto: HTTP/2.0
    proto_major: 2
    proto_minor: 0
    content_length: -1
    uncompressed: true
    body: '{"id":"gen_01KKHTRACM2Y5K5484DEQ1J27B","object":"chat.completion","created":1773346239,"model":"google/gemini-3-pro-preview","choices":[{"index":0,"message":{"role":"assistant","content":null,"tool_calls":[{"id":"JssQ0ov1zY9DYVCF","type":"function","function":{"name":"weather","arguments":"{\"location\":\"Florence, Italy\"}"}}],"provider_metadata":{"google":{"promptFeedback":null,"groundingMetadata":null,"urlContextMetadata":null,"safetyRatings":null,"usageMetadata":{"thoughtsTokenCount":75,"promptTokenCount":28,"candidatesTokenCount":9,"totalTokenCount":112,"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":1253095.653846,"endTime":1255913.537728,"statusCode":200,"providerResponseId":"vB2zaYKwNqio-7UPmsKH4AM"}],"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":1253095.653846,"endTime":1255913.537728,"statusCode":200,"providerResponseId":"vB2zaYKwNqio-7UPmsKH4AM"}]}],"totalProviderAttemptCount":1},"cost":"0.001064","marketCost":"0.001064","generationId":"gen_01KKHTRACM2Y5K5484DEQ1J27B","billableWebSearchCalls":0}}},"logprobs":null,"finish_reason":"tool_calls"}],"usage":{"prompt_tokens":28,"completion_tokens":9,"total_tokens":37,"cost":0.001064,"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":75,"image_tokens":0},"cache_creation_input_tokens":0,"market_cost":0.001064},"system_fingerprint":"fp_ae53chl877","generationId":"gen_01KKHTRACM2Y5K5484DEQ1J27B"}'
    headers:
      Content-Type:
      - application/json
    status: 200 OK
    code: 200
    duration: 3.003527708s
- id: 1
  request:
    proto: HTTP/1.1
    proto_major: 1
    proto_minor: 1
    content_length: 695
    host: ""
    body: '{"messages":[{"content":"You are a helpful assistant","role":"system"},{"content":"What''s the weather in Florence,Italy?","role":"user"},{"tool_calls":[{"id":"JssQ0ov1zY9DYVCF","function":{"arguments":"{\"location\":\"Florence, Italy\"}","name":"weather"},"type":"function"}],"role":"assistant"},{"content":"40 C","tool_call_id":"JssQ0ov1zY9DYVCF","role":"tool"}],"model":"google/gemini-3-pro-preview","max_tokens":4000,"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"}]}'
    headers:
      Accept:
      - application/json
      Content-Type:
      - application/json
      User-Agent:
      - Charm-Fantasy/0.12.2 (https://charm.land/fantasy)
    url: https://ai-gateway.vercel.sh/v1/chat/completions
    method: POST
  response:
    proto: HTTP/2.0
    proto_major: 2
    proto_minor: 0
    content_length: -1
    uncompressed: true
    body: '{"id":"gen_01KKHTRD9GPWGQCVGMPPB92P7Q","object":"chat.completion","created":1773346245,"model":"google/gemini-3-pro-preview","choices":[{"index":0,"message":{"role":"assistant","content":"The current weather in Florence, Italy is 40°C.","reasoning_details":[{"type":"reasoning.encrypted","data":"CvIDAY89a1/ybjDdY0C6KJeBJyuMeQCNu+WOJinQGzwnMBQ6K7wvhObCtZkvpS3oODO2OkF61BwvpwqXNgUZdioz151Ma3FhWETYqFV8qUKuZjf8Ref8bp8oQ0oypK3sply4zyCHsVmUXB0vDpzDLVMwCa5O6J+E9pkRTjvnzgbANXGSFeP/QCCXWBlPyyCpOT+EIcr+VqKESTc+LFK7A1DJ86UEF9493TqCMAiuf7ChHXzx2whmkyUpv2dGGO86YdMkxTQOxEI2u/QoCmUVvUsP243rWShdl+fxSQSwuXxD/ZwlGW9nihX+Z4956HFHMbHsKoIKsXxpkZfozvUPeUT0XZBq3oPFVfmrWZH0o9d07eMUuyNhZYxVTuic2hv++wBrGwCJOrZ19U0cnuaf3pUI5NmKIMWPik/1zAc18UKKmtf9iAAgGE8LtUPZ8v/cDp8LQzUW8bAwReW5bppGux8W7pDLVSeXvii7aB9AneibEpkejqBrFrxWAmGSb4I2C0oixFHv3Ck/cVOMaWar+3plv1u9KXOvNYdYw0KKvN/ghswiAosjSNbNd1VOmlyq/LwnXxQUt6Wq6BXtZEWKjGk+ydazbvEkpxOx/aK0YtdtwCAHGVgvhgSUivVcas9QUojv5B3s6f0YVHx/mFHOMQdtr4XA","format":"google-gemini-v1","index":0}],"provider_metadata":{"google":{"promptFeedback":null,"groundingMetadata":null,"urlContextMetadata":null,"safetyRatings":null,"usageMetadata":{"thoughtsTokenCount":112,"promptTokenCount":40,"candidatesTokenCount":14,"totalTokenCount":166,"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":1258678.266805,"endTime":1263941.773774,"statusCode":200,"providerResponseId":"vx2zae3iNIuiw8cPg6PG4QE"}],"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":1258678.266805,"endTime":1263941.773774,"statusCode":200,"providerResponseId":"vx2zae3iNIuiw8cPg6PG4QE"}]}],"totalProviderAttemptCount":1},"cost":"0.001592","marketCost":"0.001592","generationId":"gen_01KKHTRD9GPWGQCVGMPPB92P7Q","billableWebSearchCalls":0}}},"logprobs":null,"finish_reason":"stop"}],"usage":{"prompt_tokens":40,"completion_tokens":14,"total_tokens":54,"cost":0.001592,"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":112,"image_tokens":0},"cache_creation_input_tokens":0,"market_cost":0.001592},"system_fingerprint":"fp_2ojc50bn35","generationId":"gen_01KKHTRD9GPWGQCVGMPPB92P7Q"}'
    headers:
      Content-Type:
      - application/json
    status: 200 OK
    code: 200
    duration: 5.500913334s
