---
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_01KKHTT0QR1KQDH5FTB0AM2RN3","object":"chat.completion","created":1773346295,"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 access to a weather function that takes a location parameter. The user has provided a specific location: \"Florence, Italy\". I should use this exact location string to get the weather information.\n\nLet me check the function parameters:\n- Function name: weather\n- Required parameter: location (string) - the city\n- The user provided: \"Florence, Italy\"\n\nI have all the required information to make the function call.","reasoning_details":[{"type":"reasoning.text","text":"The user is asking for weather information for Florence, Italy. I have access to a weather function that takes a location parameter. The user has provided a specific location: \"Florence, Italy\". I should use this exact location string to get the weather information.\n\nLet me check the function parameters:\n- Function name: weather\n- Required parameter: location (string) - the city\n- The user provided: \"Florence, Italy\"\n\nI have all the required information to make the function call.","signature":"Eo0FCkYICxgCKkAZouqOwhFbVsJ36alXevsoi3MaUPP+ZBpLQKzRcoZpdoAomO1sBqhmbvZGH07kMEZY5AWJX6lJjcx7l2FGS6GGEgyelwhLgPouQDs5nw0aDKb6G2kBU68asCtRZCIwOZiFQ6DWAyP9SjFAog131HW24RxIDa7VOIEs2NmHXhmNTZRN9Wfl1t43A4z3302GKvQDqplPwkAtRCl7dhivzTjSYEPr8sEclqRNJsI+kCmXT5rMfUwcYfANAr3TxbueNZVRM7dt0idlHPACFpxHQw+VcqwBP6i9BLNC54vsHmehDzxmmlKXdhmJ2GcxCZySJ7GJCtF+OwBhzoqIfHOBLnkTA99nP9oxtISl0i6mJrLY9tmJtaFuToxg1I5aZ4IGS+AjnNducG3yRDAXcz7/ZvQTBWrqFyrcfY02e1o/KS0ODTEGgH2mRKIKxx9mmWdc+zjh9GaLXsLRWUZD4q7OL3C1z6sax/QubfR3Py1xuWvATLTxUaXIQb+N2KhL8ClXSKN/0gbnot1ZbCrof1WJK8xwBXRqQPqNi0e31YNz45nW6cbDbRF72YuSkCtxZYyO8gw4kc1Kss5M1RFPt8CUmcr3ki296kLqlV9GbOtKRAGEqUnNgrz2snJ2G0eQaGpfKTseGLUhGa6SgOovuQOhDzRHVtPdFYR32tTh2yct0m+Z5HNHhZF4lTn8tB5EnJh5Xw8KPpfO+BS5rPTaZ6Du4W58o9JluY4FkKab1B8muFQV5eO7ZsqYz9Xw8jk2Z0+hP9W73pUTtwPPpU52OOB9aR0XQ+UwLh5vJY0p2KDZHcYte9/625ksBLg/LyHyy19Qq2yhmLXJ40a7r/+OvOzsV78/6TcZ93gYAQ==","format":"anthropic-claude-v1","index":0}],"tool_calls":[{"id":"toolu_01JYUGCL9Kn2khh2rLQmQDVA","type":"function","function":{"name":"weather","arguments":"{\"location\":\"Florence, Italy\"}"}}],"provider_metadata":{"anthropic":{"usage":{"input_tokens":424,"output_tokens":162,"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":1308759.372898,"endTime":1311916.773986,"statusCode":200,"providerResponseId":"msg_01ERY9uAfg85PFQRAUbSRFYF"}],"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":1308759.372898,"endTime":1311916.773986,"statusCode":200,"providerResponseId":"msg_01ERY9uAfg85PFQRAUbSRFYF"}]}],"totalProviderAttemptCount":1},"cost":"0.003702","marketCost":"0.003702","generationId":"gen_01KKHTT0QR1KQDH5FTB0AM2RN3","billableWebSearchCalls":0}}},"logprobs":null,"finish_reason":"tool_calls"}],"usage":{"prompt_tokens":424,"completion_tokens":162,"total_tokens":586,"cost":0.003702,"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.003702},"system_fingerprint":"fp_d428pf7hvu","generationId":"gen_01KKHTT0QR1KQDH5FTB0AM2RN3"}'
    headers:
      Content-Type:
      - application/json
    status: 200 OK
    code: 200
    duration: 3.339722833s
- id: 1
  request:
    proto: HTTP/1.1
    proto_major: 1
    proto_minor: 1
    content_length: 2732
    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_01JYUGCL9Kn2khh2rLQmQDVA","function":{"arguments":"{\"location\":\"Florence, Italy\"}","name":"weather"},"type":"function"}],"role":"assistant","reasoning_details":[{"format":"anthropic-claude-v1","index":0,"signature":"Eo0FCkYICxgCKkAZouqOwhFbVsJ36alXevsoi3MaUPP+ZBpLQKzRcoZpdoAomO1sBqhmbvZGH07kMEZY5AWJX6lJjcx7l2FGS6GGEgyelwhLgPouQDs5nw0aDKb6G2kBU68asCtRZCIwOZiFQ6DWAyP9SjFAog131HW24RxIDa7VOIEs2NmHXhmNTZRN9Wfl1t43A4z3302GKvQDqplPwkAtRCl7dhivzTjSYEPr8sEclqRNJsI+kCmXT5rMfUwcYfANAr3TxbueNZVRM7dt0idlHPACFpxHQw+VcqwBP6i9BLNC54vsHmehDzxmmlKXdhmJ2GcxCZySJ7GJCtF+OwBhzoqIfHOBLnkTA99nP9oxtISl0i6mJrLY9tmJtaFuToxg1I5aZ4IGS+AjnNducG3yRDAXcz7/ZvQTBWrqFyrcfY02e1o/KS0ODTEGgH2mRKIKxx9mmWdc+zjh9GaLXsLRWUZD4q7OL3C1z6sax/QubfR3Py1xuWvATLTxUaXIQb+N2KhL8ClXSKN/0gbnot1ZbCrof1WJK8xwBXRqQPqNi0e31YNz45nW6cbDbRF72YuSkCtxZYyO8gw4kc1Kss5M1RFPt8CUmcr3ki296kLqlV9GbOtKRAGEqUnNgrz2snJ2G0eQaGpfKTseGLUhGa6SgOovuQOhDzRHVtPdFYR32tTh2yct0m+Z5HNHhZF4lTn8tB5EnJh5Xw8KPpfO+BS5rPTaZ6Du4W58o9JluY4FkKab1B8muFQV5eO7ZsqYz9Xw8jk2Z0+hP9W73pUTtwPPpU52OOB9aR0XQ+UwLh5vJY0p2KDZHcYte9/625ksBLg/LyHyy19Qq2yhmLXJ40a7r/+OvOzsV78/6TcZ93gYAQ==","text":"The user is asking for weather information for Florence, Italy. I have access to a weather function that takes a location parameter. The user has provided a specific location: \"Florence, Italy\". I should use this exact location string to get the weather information.\n\nLet me check the function parameters:\n- Function name: weather\n- Required parameter: location (string) - the city\n- The user provided: \"Florence, Italy\"\n\nI have all the required information to make the function call.","type":"reasoning.text"}],"reasoning":"The user is asking for weather information for Florence, Italy. I have access to a weather function that takes a location parameter. The user has provided a specific location: \"Florence, Italy\". I should use this exact location string to get the weather information.\n\nLet me check the function parameters:\n- Function name: weather\n- Required parameter: location (string) - the city\n- The user provided: \"Florence, Italy\"\n\nI have all the required information to make the function call."},{"content":"40 C","tool_call_id":"toolu_01JYUGCL9Kn2khh2rLQmQDVA","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_01KKHTT41ESQC2R9YDN0BQQ7ZV","object":"chat.completion","created":1773346297,"model":"anthropic/claude-sonnet-4","choices":[{"index":0,"message":{"role":"assistant","content":"The weather in Florence, Italy is currently 40°C (104°F). That''s quite hot! It''s a very warm day in Florence.","provider_metadata":{"anthropic":{"usage":{"input_tokens":601,"output_tokens":34,"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":367668.002028,"endTime":369346.26482,"statusCode":200,"providerResponseId":"msg_011xUXeYHXV2GeRK87PcULLK"}],"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":367668.002028,"endTime":369346.26482,"statusCode":200,"providerResponseId":"msg_011xUXeYHXV2GeRK87PcULLK"}]}],"totalProviderAttemptCount":1},"cost":"0.002313","marketCost":"0.002313","generationId":"gen_01KKHTT41ESQC2R9YDN0BQQ7ZV","billableWebSearchCalls":0}}},"logprobs":null,"finish_reason":"stop"}],"usage":{"prompt_tokens":601,"completion_tokens":34,"total_tokens":635,"cost":0.002313,"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.002313},"system_fingerprint":"fp_eeuy9oiedh","generationId":"gen_01KKHTT41ESQC2R9YDN0BQQ7ZV"}'
    headers:
      Content-Type:
      - application/json
    status: 200 OK
    code: 200
    duration: 1.901482417s
