---
version: 2
interactions:
- id: 0
  request:
    proto: HTTP/1.1
    proto_major: 1
    proto_minor: 1
    content_length: 465
    host: ""
    body: '{"messages":[{"content":"You are a helpful assistant","role":"system"},{"content":"What''s the weather in Florence,Italy?","role":"user"}],"model":"openai/gpt-5","max_completion_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_01KKHTQ0CJTY0140JR88RN7YAK","object":"chat.completion","created":1773346197,"model":"openai/gpt-5","choices":[{"index":0,"message":{"role":"assistant","content":null,"reasoning_details":[{"type":"reasoning.encrypted","data":"gAAAAABpsx2Va4wvGFY7powe3oKGIz8wsphbF8wA7jVDY4l2kdJzCFr7JWCvKeH6tmagRQlNjWnE2NNeGAOYzmPnBOOWiF4VqV8g7tU8nFznCveIboY_urduTLeegsFAcN-i03_pgpC-IjPs_V1u4mIqlOrOixHIGJLHUIHU23ToeDX6sQhVyMz7-2aXJBY3Z90E3UNHX-yunTq-iO5UnmE4ywEL1B1XNwfENnKIBRmWycJv1EOW0c-z3bv6yR51AW0ROrtw5SewVr3eJo_eY5j7-xEdNxUy9LpaMJPaNTIMcSSbPFrt_JUmK0XExEdzh_QBmAf2vZLXZTXwBv4vnAovBfKUox196bdqGgLvWmsvBgfSKwa8NVa5ci5MNJAp97bTFoYY0wGgIZ_P-Ao31csmwu1wn5NCkpkE4jIrF0Yfgp6nRRDnZLueHZIPGO6xeck0PGb6j8Iiqr-rFg_s6ZzNTj4B3jO1zHMsJc4PdbWqMGoo2EqD0Z5715WetcTf3-3qBeiViD78GQBF417ubelNwFePwIox419BvaYiCww5NM_WOJUXH25ESotFh30JBeLdHBsGhLenrO_Dp84uj0BfS4tlltzm-RZWlRKalhKgyk3mImLJU6ap0CrnvUSNeF2SltCOWGd1Obxc-x_8QBTL540hQQpKlH1JK_yGUryU9_P01wj4Gx3JW4tRd9irwAF94BhurdNfmF3VmojuaWqPgfwZX2huANHgozWdpOn_8mRrKNwmXu32PRSNzunR5Lb4fcBx22XR-srpa9oRKvJX6FoC3cDhf5BR712tHsfrL98PT22SprdKrbpj_SmMrQt1xmR5pfb6zsgtccSzA5lgO5gjRgft2-iD2Nl8nYZrBhtNJ0cwZClOJAs2jqRAvGuyprwjxh47wIUw7kPlOqBQ22lsyUWMtZ30Clk3jQ6eKIQ_UXbaGEqsrjr1K8pFLUM9LZamHTmsZ2GSq3OQhG0CJKoCaMd4rW00Y_oayh4f-gaLJMQUjyPMvhUGxL2edP029UIbo8_p_mwNgouD-ZySliqgBpE-7GtS9GcJFOYPuqJdm2ojhd4dEBOkv4JC7przRmgjrXAv12DZ_Bmvpg10S0BIzauOWf8oxIKt8zYmB8WoGio47iRMycoDuytf7up_Uwn-Kyaa_iSchdREy8i1JekmHlyZtcUlvL5IKSFd67u82bhNxJXq2ojfO_oFHDTpIvb1TH2I1_94IAzh10rg0T3zOx9Gac91OKVWwIxQvBxtR--lp_Cdvc2G39ro8gbUqzi3PUEIopgOvQdeVQGhgHTFVj4gUGMxGmz0q3SQRwJFR-v2oKwv4l4egDWqhF-RR6WXDHPcy-XmNpBgvi5GboodDuEs0UGxd2Fn7O_nhH6yp-ObfnrFnbLDzs8UVOsXvwDhDqLNffPpiefSdNbNyUB38TLXrcUReN8F-ujibY6WYk8DLpgAHgPRTfSRKbU9zPlc7iZU6erF31_37Sk8ciMVtKw9ecCeZozm4Jsx70jsjN1zkfw=","id":"rs_0db9d6348a03ce940169b31d9262788190af880d148e48099d","format":"openai-responses-v1","index":0}],"tool_calls":[{"id":"call_AoJljp4UK0bvFbTCY7Fk80CO","type":"function","function":{"name":"weather","arguments":"{\"location\":\"Florence, Italy\"}"}}],"provider_metadata":{"openai":{"responseId":"resp_0db9d6348a03ce940169b31d91e4508190a9c736e9e09fc659","serviceTier":"default"},"gateway":{"routing":{"originalModelId":"openai/gpt-5","resolvedProvider":"openai","resolvedProviderApiModelId":"gpt-5-2025-08-07","internalResolvedModelId":"openai:gpt-5-2025-08-07","fallbacksAvailable":["azure"],"internalReasoning":"Selected openai as preferred provider for gpt-5. 1 fallback(s) available: azure","planningReasoning":"System credentials planned for: openai, azure. Total execution order: openai(system) → azure(system)","canonicalSlug":"openai/gpt-5","finalProvider":"openai","attempts":[{"provider":"openai","internalModelId":"openai:gpt-5-2025-08-07","providerApiModelId":"gpt-5-2025-08-07","credentialType":"system","success":true,"startTime":1212778.214971,"endTime":1216138.899976,"statusCode":200,"providerResponseId":"resp_0db9d6348a03ce940169b31d91e4508190a9c736e9e09fc659"}],"modelAttemptCount":1,"modelAttempts":[{"modelId":"openai:gpt-5-2025-08-07","canonicalSlug":"openai/gpt-5","success":true,"providerAttemptCount":1,"providerAttempts":[{"provider":"openai","internalModelId":"openai:gpt-5-2025-08-07","providerApiModelId":"gpt-5-2025-08-07","credentialType":"system","success":true,"startTime":1212778.214971,"endTime":1216138.899976,"statusCode":200,"providerResponseId":"resp_0db9d6348a03ce940169b31d91e4508190a9c736e9e09fc659"}]}],"totalProviderAttemptCount":1},"cost":"0.00200875","marketCost":"0.00200875","generationId":"gen_01KKHTQ0CJTY0140JR88RN7YAK","billableWebSearchCalls":0}}},"logprobs":null,"finish_reason":"tool_calls"}],"usage":{"prompt_tokens":63,"completion_tokens":129,"total_tokens":192,"cost":0.00200875,"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":64,"image_tokens":0},"cache_creation_input_tokens":0,"market_cost":0.00200875},"system_fingerprint":"fp_m166kuwmda","service_tier":"default","generationId":"gen_01KKHTQ0CJTY0140JR88RN7YAK"}'
    headers:
      Content-Type:
      - application/json
    status: 200 OK
    code: 200
    duration: 3.541367833s
- id: 1
  request:
    proto: HTTP/1.1
    proto_major: 1
    proto_minor: 1
    content_length: 2410
    host: ""
    body: '{"messages":[{"content":"You are a helpful assistant","role":"system"},{"content":"What''s the weather in Florence,Italy?","role":"user"},{"tool_calls":[{"id":"call_AoJljp4UK0bvFbTCY7Fk80CO","function":{"arguments":"{\"location\":\"Florence, Italy\"}","name":"weather"},"type":"function"}],"role":"assistant","reasoning_details":[{"data":"gAAAAABpsx2Va4wvGFY7powe3oKGIz8wsphbF8wA7jVDY4l2kdJzCFr7JWCvKeH6tmagRQlNjWnE2NNeGAOYzmPnBOOWiF4VqV8g7tU8nFznCveIboY_urduTLeegsFAcN-i03_pgpC-IjPs_V1u4mIqlOrOixHIGJLHUIHU23ToeDX6sQhVyMz7-2aXJBY3Z90E3UNHX-yunTq-iO5UnmE4ywEL1B1XNwfENnKIBRmWycJv1EOW0c-z3bv6yR51AW0ROrtw5SewVr3eJo_eY5j7-xEdNxUy9LpaMJPaNTIMcSSbPFrt_JUmK0XExEdzh_QBmAf2vZLXZTXwBv4vnAovBfKUox196bdqGgLvWmsvBgfSKwa8NVa5ci5MNJAp97bTFoYY0wGgIZ_P-Ao31csmwu1wn5NCkpkE4jIrF0Yfgp6nRRDnZLueHZIPGO6xeck0PGb6j8Iiqr-rFg_s6ZzNTj4B3jO1zHMsJc4PdbWqMGoo2EqD0Z5715WetcTf3-3qBeiViD78GQBF417ubelNwFePwIox419BvaYiCww5NM_WOJUXH25ESotFh30JBeLdHBsGhLenrO_Dp84uj0BfS4tlltzm-RZWlRKalhKgyk3mImLJU6ap0CrnvUSNeF2SltCOWGd1Obxc-x_8QBTL540hQQpKlH1JK_yGUryU9_P01wj4Gx3JW4tRd9irwAF94BhurdNfmF3VmojuaWqPgfwZX2huANHgozWdpOn_8mRrKNwmXu32PRSNzunR5Lb4fcBx22XR-srpa9oRKvJX6FoC3cDhf5BR712tHsfrL98PT22SprdKrbpj_SmMrQt1xmR5pfb6zsgtccSzA5lgO5gjRgft2-iD2Nl8nYZrBhtNJ0cwZClOJAs2jqRAvGuyprwjxh47wIUw7kPlOqBQ22lsyUWMtZ30Clk3jQ6eKIQ_UXbaGEqsrjr1K8pFLUM9LZamHTmsZ2GSq3OQhG0CJKoCaMd4rW00Y_oayh4f-gaLJMQUjyPMvhUGxL2edP029UIbo8_p_mwNgouD-ZySliqgBpE-7GtS9GcJFOYPuqJdm2ojhd4dEBOkv4JC7przRmgjrXAv12DZ_Bmvpg10S0BIzauOWf8oxIKt8zYmB8WoGio47iRMycoDuytf7up_Uwn-Kyaa_iSchdREy8i1JekmHlyZtcUlvL5IKSFd67u82bhNxJXq2ojfO_oFHDTpIvb1TH2I1_94IAzh10rg0T3zOx9Gac91OKVWwIxQvBxtR--lp_Cdvc2G39ro8gbUqzi3PUEIopgOvQdeVQGhgHTFVj4gUGMxGmz0q3SQRwJFR-v2oKwv4l4egDWqhF-RR6WXDHPcy-XmNpBgvi5GboodDuEs0UGxd2Fn7O_nhH6yp-ObfnrFnbLDzs8UVOsXvwDhDqLNffPpiefSdNbNyUB38TLXrcUReN8F-ujibY6WYk8DLpgAHgPRTfSRKbU9zPlc7iZU6erF31_37Sk8ciMVtKw9ecCeZozm4Jsx70jsjN1zkfw=","format":"openai-responses-v1","id":"rs_0db9d6348a03ce940169b31d9262788190af880d148e48099d","index":0,"type":"reasoning.encrypted"}]},{"content":"40 C","tool_call_id":"call_AoJljp4UK0bvFbTCY7Fk80CO","role":"tool"}],"model":"openai/gpt-5","max_completion_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_01KKHTQ3TYGHA6QQ996QJ1Z7AA","object":"chat.completion","created":1773346201,"model":"openai/gpt-5","choices":[{"index":0,"message":{"role":"assistant","content":"It’s currently 40°C (104°F) in Florence, Italy. Would you like a short forecast or tips for dealing with the heat?","reasoning_details":[{"type":"reasoning.encrypted","data":"gAAAAABpsx2ZevGiCVbvGP4-CangVCwbJl8h-s639k0sCjD2cWJoi438obovCRIshHX06gW7RWoZmVaheMiarXFaFD6Yisvd4lGqZxzFhNwuDvq66aciifVR6lAf223HoVjbYONOxtnrYAc3UdWVm03-6QYj-NFnf_q834kwioKkpVa-5ehQTHkKSIA9iQ_qL8LjcnJ6ba0g94zJjtGp8OwNuHj384J3_8fIGIsO4WUCocPBefZ12n1RDXig9SszTbB5UG0ZshMSMtdWPUOv8CUu1aZayaWmNNwe49lqa2yFG96pfocTJMmvpEt_b0D7N2XFSxDogxRH4Gf8t7lFWT52FaBaqLrsY0aKQ6xxlyhsuJ27KR6JqHEc_L_43ZzJTLJnGZSRO_42LJu3lyTSvxn_oBlyD0cMKsbMyTlLv7NQSVcajw54YlnSSFatZY_lG8EoBBqvDCwBrJn1TkEvmllJcNGGylyQhIjdB4mwck2yRMxxSVmDWUelZkInlRKupxEj0H3EOrH263ykoPVuN1VXHGMlRF9vOOQYrlye283cfu4FyBRTEuNm98wEUW__AuRt0KzWcAGawfh-woKue-crosoKg1OSAvh-HfxNdbBMYyZ2FeH-nA5wTavIhJVYDSvOAKCveROl8LCXL8uT-8Hd34nJG1efzZjt74YypavV58o3QtfH_rPCSk-tJ04cU-0dr0dvjTQE0ZhxjMqmoszc-9UsjUhnP7FsRk0FeZw789quu6abu4G68xop_nV5RIUW1hDlK64OokTUz0Mmk6iriLxAnIxvi23oAp7ircGEXnhFB2Vf6W6HxQz5QHdKbQ6PB1N38sH5V93mk2M_yGhqgBLxTDv3au4ve91kviNhplzEZgBnfA44MQQlhGHDikTbT7GUjJP9H36MA4edUdtF50X7fn9mcqCLvBLR1_1xxdMgdGfVjrnzyu6pakgdzFkaqJ7yTwAIqXmGGPTIEEiRNdMCGcsz8xZuitKqHkvIkjsavATugaEAw4VWBudQ3xH-bx8RiQ8fcXiW5sydNae8b4xP57tnqKmrOcJn0-gabtl239kllkQKNMt8JbaQbzOaFMnmKBMFNHJ1x2OIY5MfNHrIihRdKfDytKr_wzDub95ko3aWx7wSk7A_bNYXdx-NPfddlEpi9NC_HHay4xYpDIwYppiHACl-2a7W5UDfZ_9C6r4hQJoAuWNH5xf2jRrfI3KJrE6uPxgT406RjqJTtMwKYc43GfgZKgC_a-O9ZJgtnP6Jn4itpW06Sw01jnxT9HVyWHrIApk1xa1322O0ZX_KjkmUQ5GWu04hC3FP7wl3AN-EaiP5UEheER2AcjdHIglFZnZ-AgyYksAQlm11fcUcDYkYU5hFzxB-vZKo7nh9RB30jlHfnUAfe8A_dyGoTNaTM-IwneAoYHe6xsV5nM04pCOwjh8UaMpPpte8W4PtFYDFHwX7_HeNcAuCeNSKKGPV8PQz3-PpuGAyxRXTO2DH42UXFJky_JR_t1Ag7ANjR1HtTlEWc5nyV3x4XcFF8BM7EGIju5CTH_8EI7fDwZDI03gNBA==","id":"rs_0db9d6348a03ce940169b31d95f9fc81909c0506a3f32d8fa8","format":"openai-responses-v1","index":0}],"provider_metadata":{"openai":{"responseId":"resp_0db9d6348a03ce940169b31d9570648190be551b5812db89cf","serviceTier":"default"},"gateway":{"routing":{"originalModelId":"openai/gpt-5","resolvedProvider":"openai","resolvedProviderApiModelId":"gpt-5-2025-08-07","internalResolvedModelId":"openai:gpt-5-2025-08-07","fallbacksAvailable":["azure"],"internalReasoning":"Selected openai as preferred provider for gpt-5. 1 fallback(s) available: azure","planningReasoning":"System credentials planned for: openai, azure. Total execution order: openai(system) → azure(system)","canonicalSlug":"openai/gpt-5","finalProvider":"openai","attempts":[{"provider":"openai","internalModelId":"openai:gpt-5-2025-08-07","providerApiModelId":"gpt-5-2025-08-07","credentialType":"system","success":true,"startTime":844644.532921,"endTime":848866.673993,"statusCode":200,"providerResponseId":"resp_0db9d6348a03ce940169b31d9570648190be551b5812db89cf"}],"modelAttemptCount":1,"modelAttempts":[{"modelId":"openai:gpt-5-2025-08-07","canonicalSlug":"openai/gpt-5","success":true,"providerAttemptCount":1,"providerAttempts":[{"provider":"openai","internalModelId":"openai:gpt-5-2025-08-07","providerApiModelId":"gpt-5-2025-08-07","credentialType":"system","success":true,"startTime":844644.532921,"endTime":848866.673993,"statusCode":200,"providerResponseId":"resp_0db9d6348a03ce940169b31d9570648190be551b5812db89cf"}]}],"totalProviderAttemptCount":1},"cost":"0.00249125","marketCost":"0.00249125","generationId":"gen_01KKHTQ3TYGHA6QQ996QJ1Z7AA","billableWebSearchCalls":0}}},"logprobs":null,"finish_reason":"stop"}],"usage":{"prompt_tokens":201,"completion_tokens":160,"total_tokens":361,"cost":0.00249125,"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":64,"image_tokens":0},"cache_creation_input_tokens":0,"market_cost":0.00249125},"system_fingerprint":"fp_93qjt7xfq2","service_tier":"default","generationId":"gen_01KKHTQ3TYGHA6QQ996QJ1Z7AA"}'
    headers:
      Content-Type:
      - application/json
    status: 200 OK
    code: 200
    duration: 4.432285375s
