---
version: 2
interactions:
- id: 0
  request:
    proto: HTTP/1.1
    proto_major: 1
    proto_minor: 1
    content_length: 479
    host: ""
    body: '{"messages":[{"content":"You are a helpful assistant","role":"system"},{"content":"What''s the weather in Florence, Italy?","role":"user"}],"model":"anthropic/claude-sonnet-4","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"}],"reasoning":{"enabled":true}}'
    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_01KKHTVHMJY8EZQHKVWXDFCEXF","object":"chat.completion","created":1773346345,"model":"anthropic/claude-sonnet-4","choices":[{"index":0,"message":{"role":"assistant","content":null,"reasoning":"The user is asking for weather information for Florence, Italy. I have a weather function available that takes a location parameter. The user has provided the location as \"Florence, Italy\" which is clear and specific. I have all the required parameters to make the function call.","reasoning_details":[{"type":"reasoning.text","text":"The user is asking for weather information for Florence, Italy. I have a weather function available that takes a location parameter. The user has provided the location as \"Florence, Italy\" which is clear and specific. I have all the required parameters to make the function call.","signature":"EsADCkYICxgCKkCkWwaz9Lb+3sB9wwwIilgS6S4fUpSpc2HRpnQGFwxj4wdEqGpU3t2sUtj4upGk18R4zhY0BqCFtGS8yuzeAZ5vEgyLeAHn4lQW/hBztmkaDIaeOynDqjSpEIE3myIw3ZFO8WFwX6KcVEfI6XqKJvStPdSQ2PadzoEKwoY1jEDXJ+fEUx91PqVQBfiPlGxeKqcCySbppRNFbAq/krSQmJAulfiy+08By36PNaSwShgO5nRpIAwWz+EfAmnLMSeA8ocil7QHI/GxtI8lgiewTD97Uj+iDvXmh78w4TO2Vx6w5VqlwxItpF1DIAZU6CYqpLXkfHRzKajdxH9o92HIQvnuYe/yq31ObqO8NCPQyTSEqnjpqYy65kS3vjnHzEirRSeI1Mf5ymZrinV1Sg+7TJyUYw5m2XyZxyoROkwS2YQT+CwuEvDbA2bI5s0UUlpeyElNw1ucg8Teg07Prhus5lkGcSKn4G27DdIn5/XJfHCL8XCVcWy6UIOV7iS3XiFHOOXlEw/DQ1mLF23zgfJ5koBOLaSMjpBEANYmquMAeU/UcIIS+lCUFTmOxNSeUFmE32UF18tdUb7fFRgB","format":"anthropic-claude-v1","index":0}],"tool_calls":[{"id":"toolu_01Rje6C4UuMWbBmnprofAn6w","type":"function","function":{"name":"weather","arguments":"{\"location\":\"Florence, Italy\"}"}}],"provider_metadata":{"anthropic":{"usage":{"input_tokens":424,"output_tokens":115,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"service_tier":"standard","inference_geo":"not_available"},"cacheCreationInputTokens":0,"stopSequence":null,"iterations":null,"container":null,"contextManagement":null},"gateway":{"routing":{"originalModelId":"anthropic/claude-sonnet-4","resolvedProvider":"anthropic","resolvedProviderApiModelId":"claude-sonnet-4-20250514","internalResolvedModelId":"anthropic:claude-sonnet-4-20250514","fallbacksAvailable":["vertexAnthropic","bedrock"],"internalReasoning":"Selected anthropic as preferred provider for claude-sonnet-4. 2 fallback(s) available: vertexAnthropic, bedrock","planningReasoning":"System credentials planned for: anthropic, vertexAnthropic, bedrock. Total execution order: anthropic(system) → vertexAnthropic(system) → bedrock(system)","canonicalSlug":"anthropic/claude-sonnet-4","finalProvider":"anthropic","attempts":[{"provider":"anthropic","internalModelId":"anthropic:claude-sonnet-4-20250514","providerApiModelId":"claude-sonnet-4-20250514","credentialType":"system","success":true,"startTime":1361460.3925,"endTime":1364001.130708,"statusCode":200,"providerResponseId":"msg_01SDAJnvsPKU4hLJrrdnjLXY"}],"modelAttemptCount":1,"modelAttempts":[{"modelId":"anthropic:claude-sonnet-4-20250514","canonicalSlug":"anthropic/claude-sonnet-4","success":true,"providerAttemptCount":1,"providerAttempts":[{"provider":"anthropic","internalModelId":"anthropic:claude-sonnet-4-20250514","providerApiModelId":"claude-sonnet-4-20250514","credentialType":"system","success":true,"startTime":1361460.3925,"endTime":1364001.130708,"statusCode":200,"providerResponseId":"msg_01SDAJnvsPKU4hLJrrdnjLXY"}]}],"totalProviderAttemptCount":1},"cost":"0.002997","marketCost":"0.002997","generationId":"gen_01KKHTVHMJY8EZQHKVWXDFCEXF","billableWebSearchCalls":0}}},"logprobs":null,"finish_reason":"tool_calls"}],"usage":{"prompt_tokens":424,"completion_tokens":115,"total_tokens":539,"cost":0.002997,"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.002997},"system_fingerprint":"fp_y29xbjq057","generationId":"gen_01KKHTVHMJY8EZQHKVWXDFCEXF"}'
    headers:
      Content-Type:
      - application/json
    status: 200 OK
    code: 200
    duration: 2.69811925s
- id: 1
  request:
    proto: HTTP/1.1
    proto_major: 1
    proto_minor: 1
    content_length: 2028
    host: ""
    body: '{"messages":[{"content":"You are a helpful assistant","role":"system"},{"content":"What''s the weather in Florence, Italy?","role":"user"},{"tool_calls":[{"id":"toolu_01Rje6C4UuMWbBmnprofAn6w","function":{"arguments":"{\"location\":\"Florence, Italy\"}","name":"weather"},"type":"function"}],"role":"assistant","reasoning_details":[{"format":"anthropic-claude-v1","index":0,"signature":"EsADCkYICxgCKkCkWwaz9Lb+3sB9wwwIilgS6S4fUpSpc2HRpnQGFwxj4wdEqGpU3t2sUtj4upGk18R4zhY0BqCFtGS8yuzeAZ5vEgyLeAHn4lQW/hBztmkaDIaeOynDqjSpEIE3myIw3ZFO8WFwX6KcVEfI6XqKJvStPdSQ2PadzoEKwoY1jEDXJ+fEUx91PqVQBfiPlGxeKqcCySbppRNFbAq/krSQmJAulfiy+08By36PNaSwShgO5nRpIAwWz+EfAmnLMSeA8ocil7QHI/GxtI8lgiewTD97Uj+iDvXmh78w4TO2Vx6w5VqlwxItpF1DIAZU6CYqpLXkfHRzKajdxH9o92HIQvnuYe/yq31ObqO8NCPQyTSEqnjpqYy65kS3vjnHzEirRSeI1Mf5ymZrinV1Sg+7TJyUYw5m2XyZxyoROkwS2YQT+CwuEvDbA2bI5s0UUlpeyElNw1ucg8Teg07Prhus5lkGcSKn4G27DdIn5/XJfHCL8XCVcWy6UIOV7iS3XiFHOOXlEw/DQ1mLF23zgfJ5koBOLaSMjpBEANYmquMAeU/UcIIS+lCUFTmOxNSeUFmE32UF18tdUb7fFRgB","text":"The user is asking for weather information for Florence, Italy. I have a weather function available that takes a location parameter. The user has provided the location as \"Florence, Italy\" which is clear and specific. I have all the required parameters to make the function call.","type":"reasoning.text"}],"reasoning":"The user is asking for weather information for Florence, Italy. I have a weather function available that takes a location parameter. The user has provided the location as \"Florence, Italy\" which is clear and specific. I have all the required parameters to make the function call."},{"content":"40 C","tool_call_id":"toolu_01Rje6C4UuMWbBmnprofAn6w","role":"tool"}],"model":"anthropic/claude-sonnet-4","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"}],"reasoning":{"enabled":true}}'
    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_01KKHTVM93BHFWWQJVBD9HKCV9","object":"chat.completion","created":1773346347,"model":"anthropic/claude-sonnet-4","choices":[{"index":0,"message":{"role":"assistant","content":"The current temperature in Florence, Italy is 40°C (104°F). That''s quite hot! It looks like Florence is experiencing very warm weather right now. You might want to stay hydrated and seek shade if you''re planning to be outdoors.","provider_metadata":{"anthropic":{"usage":{"input_tokens":554,"output_tokens":56,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"service_tier":"standard","inference_geo":"not_available"},"cacheCreationInputTokens":0,"stopSequence":null,"iterations":null,"container":null,"contextManagement":null},"gateway":{"routing":{"originalModelId":"anthropic/claude-sonnet-4","resolvedProvider":"anthropic","resolvedProviderApiModelId":"claude-sonnet-4-20250514","internalResolvedModelId":"anthropic:claude-sonnet-4-20250514","fallbacksAvailable":["vertexAnthropic","bedrock"],"internalReasoning":"Selected anthropic as preferred provider for claude-sonnet-4. 2 fallback(s) available: vertexAnthropic, bedrock","planningReasoning":"System credentials planned for: anthropic, vertexAnthropic, bedrock. Total execution order: anthropic(system) → vertexAnthropic(system) → bedrock(system)","canonicalSlug":"anthropic/claude-sonnet-4","finalProvider":"anthropic","attempts":[{"provider":"anthropic","internalModelId":"anthropic:claude-sonnet-4-20250514","providerApiModelId":"claude-sonnet-4-20250514","credentialType":"system","success":true,"startTime":1364217.95089,"endTime":1366119.08087,"statusCode":200,"providerResponseId":"msg_01UMKzHooPWZ46Rp2VirLu34"}],"modelAttemptCount":1,"modelAttempts":[{"modelId":"anthropic:claude-sonnet-4-20250514","canonicalSlug":"anthropic/claude-sonnet-4","success":true,"providerAttemptCount":1,"providerAttempts":[{"provider":"anthropic","internalModelId":"anthropic:claude-sonnet-4-20250514","providerApiModelId":"claude-sonnet-4-20250514","credentialType":"system","success":true,"startTime":1364217.95089,"endTime":1366119.08087,"statusCode":200,"providerResponseId":"msg_01UMKzHooPWZ46Rp2VirLu34"}]}],"totalProviderAttemptCount":1},"cost":"0.002502","marketCost":"0.002502","generationId":"gen_01KKHTVM93BHFWWQJVBD9HKCV9","billableWebSearchCalls":0}}},"logprobs":null,"finish_reason":"stop"}],"usage":{"prompt_tokens":554,"completion_tokens":56,"total_tokens":610,"cost":0.002502,"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.002502},"system_fingerprint":"fp_77rzd4q4c8","generationId":"gen_01KKHTVM93BHFWWQJVBD9HKCV9"}'
    headers:
      Content-Type:
      - application/json
    status: 200 OK
    code: 200
    duration: 2.1491885s
