---
version: 2
interactions:
- id: 0
  request:
    proto: HTTP/1.1
    proto_major: 1
    proto_minor: 1
    content_length: 458
    host: ""
    body: '{"messages":[{"content":"You are a helpful assistant","role":"system"},{"content":"What''s the weather in Florence,Italy?","role":"user"}],"model":"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://api.openai.com/v1/chat/completions
    method: POST
  response:
    proto: HTTP/2.0
    proto_major: 2
    proto_minor: 0
    content_length: -1
    uncompressed: true
    body: |
      {
        "id": "chatcmpl-DIgP1cdJUOKtUeAnEKhAXPlz4ocX1",
        "object": "chat.completion",
        "created": 1773345271,
        "model": "gpt-5-2025-08-07",
        "choices": [
          {
            "index": 0,
            "message": {
              "role": "assistant",
              "content": null,
              "tool_calls": [
                {
                  "id": "call_UC58858zDb1VGnI3t4T7v19X",
                  "type": "function",
                  "function": {
                    "name": "weather",
                    "arguments": "{\"location\":\"Florence, Italy\"}"
                  }
                }
              ],
              "refusal": null,
              "annotations": []
            },
            "finish_reason": "tool_calls"
          }
        ],
        "usage": {
          "prompt_tokens": 145,
          "completion_tokens": 153,
          "total_tokens": 298,
          "prompt_tokens_details": {
            "cached_tokens": 0,
            "audio_tokens": 0
          },
          "completion_tokens_details": {
            "reasoning_tokens": 128,
            "audio_tokens": 0,
            "accepted_prediction_tokens": 0,
            "rejected_prediction_tokens": 0
          }
        },
        "service_tier": "default",
        "system_fingerprint": null
      }
    headers:
      Content-Type:
      - application/json
    status: 200 OK
    code: 200
    duration: 3.250397625s
- id: 1
  request:
    proto: HTTP/1.1
    proto_major: 1
    proto_minor: 1
    content_length: 710
    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_UC58858zDb1VGnI3t4T7v19X","function":{"arguments":"{\"location\":\"Florence, Italy\"}","name":"weather"},"type":"function"}],"role":"assistant"},{"content":"40 C","tool_call_id":"call_UC58858zDb1VGnI3t4T7v19X","role":"tool"}],"model":"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://api.openai.com/v1/chat/completions
    method: POST
  response:
    proto: HTTP/2.0
    proto_major: 2
    proto_minor: 0
    content_length: -1
    uncompressed: true
    body: |
      {
        "id": "chatcmpl-DIgP5ZkKTU1fpDUXvRzcsYmgrTBv5",
        "object": "chat.completion",
        "created": 1773345275,
        "model": "gpt-5-2025-08-07",
        "choices": [
          {
            "index": 0,
            "message": {
              "role": "assistant",
              "content": "Right now in Florence, Italy, it’s about 40°C (104°F). Would you like a forecast or more details like wind and humidity?",
              "refusal": null,
              "annotations": []
            },
            "finish_reason": "stop"
          }
        ],
        "usage": {
          "prompt_tokens": 176,
          "completion_tokens": 359,
          "total_tokens": 535,
          "prompt_tokens_details": {
            "cached_tokens": 0,
            "audio_tokens": 0
          },
          "completion_tokens_details": {
            "reasoning_tokens": 320,
            "audio_tokens": 0,
            "accepted_prediction_tokens": 0,
            "rejected_prediction_tokens": 0
          }
        },
        "service_tier": "default",
        "system_fingerprint": null
      }
    headers:
      Content-Type:
      - application/json
    status: 200 OK
    code: 200
    duration: 11.360699125s
