---
version: 2
interactions:
- id: 0
  request:
    proto: HTTP/1.1
    proto_major: 1
    proto_minor: 1
    content_length: 551
    host: ""
    body: '{"store":false,"include":["reasoning.encrypted_content"],"input":[{"content":"You are a helpful assistant","role":"developer"},{"content":[{"text":"What''s the weather in Florence, Italy?","type":"input_text"}],"role":"user"}],"model":"gpt-5","reasoning":{"effort":"high","summary":"auto"},"tool_choice":"auto","tools":[{"strict":false,"parameters":{"properties":{"location":{"description":"the city","type":"string"}},"required":["location"],"type":"object"},"name":"weather","description":"Get weather information for a location","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/responses
    method: POST
  response:
    proto: HTTP/2.0
    proto_major: 2
    proto_minor: 0
    content_length: -1
    uncompressed: true
    body: |-
      {
        "id": "resp_075b435690aee51e0169b3196ee5ec819ea14e6d34ecdd4aed",
        "object": "response",
        "created_at": 1773345134,
        "status": "completed",
        "background": false,
        "billing": {
          "payer": "developer"
        },
        "completed_at": 1773345139,
        "error": null,
        "frequency_penalty": 0.0,
        "incomplete_details": null,
        "instructions": null,
        "max_output_tokens": null,
        "max_tool_calls": null,
        "model": "gpt-5-2025-08-07",
        "output": [
          {
            "id": "rs_075b435690aee51e0169b3196f54a8819e9a33c038fdc1f932",
            "type": "reasoning",
            "encrypted_content": "gAAAAABpsxlz3zqwjvVFph3GpyCoNOUWPvEYHgvC39jVaRRd3SQ2K3vbO0ocwgzzM5dsBis4F8Ow3j5jcd3B8xKCqy7Wsxsfe2zz_DaERYO_bLZc3NjID8kelhxHKcuocSNx9tVQWpNTxUoYCveFyCyveaZ3lt0u4SZGWK_ZAkfIgmsGfddN-UeUH2lyheldZajgTPwa_PZQgTpcY7ERXCM_jh__IT1zibygPsb4u5G-XPvtkjA2oirQ8KbzaWqWhjj_hOJ43g_jePL0v1LHSNC9SiIVMmbifsBoQ6smsOYl3e_227AwvLspEWH10T1FtajmyfOPGYhRr1ZPfyx2eRDcP0vMPIejfDgLfKZklJUeErKVZrx785QR4ugWM7Qr2nggdM15H2rWQoZumX-RNQNtAVYTXmnyQPwoWbtL0fQ7oZDmEw9o0rQo987rawE2cjgrE9yic4wPw14g2fciUgluYaESuuJnNa4ebOawL2iIRWzrV6GNF6B6dkxmByHv8BGwZbZV3afroFwRc3C9-3M0wglbNlwyPiWWL0VMcaHUNlyk2cEFn-sgzBv2bYPtu3KSK0ww54r2iwxoPr7BvLf61HnPeiaWVxdcrhYWexAaUjMyAtDTWzwHKVwDVVCk-uspqH_PRxu5bxq6KkOjA6COUlwCEoGeopc5f6WdopbFlYekzY4hd73DiFJYfArUfcFyLf0kB475TTeLhCQtdlsAjwZyqk2rNKxV1D4Td0RsibuanFKcKc3WsShVypvNWd7WjByl13xUHXOFZ_LN6dX_ZhfDAW21N4Yp5XWHBT59xlvF7oeh6CvdgN21SJ0HfyurQBbI4TyhwX3xB9doC-Qhh-rDURnA3LZUCN3Iudg0Eo0RjJCbmT_Crv-PthflMMT95TR6M4LXv7puGvx94Xemc7H2BtFy9E3If0Zsf8uRksxr89Er23vwkaKTtRsMvX1wGPUgpcaxyMqV5FWwLj2-dennw2lDHTk2k46YeeaeSrn0lkV-s1-pQw9GwPIy-Mcmo6Aa_ncLETgyRGHLSTH28SElvWXgsa4oa8XypwNISTATjwzgM9yGhXbmA9CVbXCuhQ0uKzGgNzsYOwBqtxS8aVigdTPj9ktCZJD2Y4GziE-i7q4FLc511fiIMQZC-MUNMQO4d7A1kEveveZZntjiP-ZfBvdXMSb24fxfKWhAguFREzVm-7V8tbweipr5s950Ae7uJqjM_TJ4xGs66lg-TLTJLCCho4EnfYqjAmU-cR1o3l6A9RQXTzW4Okmh4oKyhlsWkL2LbMKU5UUfIfnWYM8vsJA75CPR633cGscm2Ku5SNdu5bY6cReO2YN8yRqViEUi4K04ORzaO9xNLnS3tf0FYsv7g2yM88eOEsLoCpHRsXdpvslmxKYb6K4Kjo24wvLuduTy19OzCsF4v69vcgUUOAwvPnJMfdYK9mQOTUmNyxqJ-wErLLn3FkUXylUvLDsb7bQtGZqwYh2e65YuQvOzRA2Djv_dUAaVquf3bl0TQAu0iQp9ddOSfwjfH96B1ZUH2KIP",
            "summary": [
              {
                "type": "summary_text",
                "text": "**Getting weather information**\n\nI need to gather weather info, and I see that the tool functions.weather is here for that. Since we only need one call, using multi_tool_use.parallel isn't necessary. I'll go ahead and use functions.weather with the location \"Florence, Italy.\" There\u2019s no need for parallel execution. It's important to use this tool and provide the output based on whatever it returns. Time to make that call!"
              }
            ]
          },
          {
            "id": "fc_075b435690aee51e0169b319730394819e92318d9404c5f97f",
            "type": "function_call",
            "status": "completed",
            "arguments": "{\"location\":\"Florence, Italy\"}",
            "call_id": "call_1z70BexeUjpiAcqPgwQiiVRh",
            "name": "weather"
          }
        ],
        "parallel_tool_calls": true,
        "presence_penalty": 0.0,
        "previous_response_id": null,
        "prompt_cache_key": null,
        "prompt_cache_retention": null,
        "reasoning": {
          "effort": "high",
          "summary": "detailed"
        },
        "safety_identifier": null,
        "service_tier": "default",
        "store": false,
        "temperature": 1.0,
        "text": {
          "format": {
            "type": "text"
          },
          "verbosity": "medium"
        },
        "tool_choice": "auto",
        "tools": [
          {
            "type": "function",
            "description": "Get weather information for a location",
            "name": "weather",
            "parameters": {
              "properties": {
                "location": {
                  "description": "the city",
                  "type": "string"
                }
              },
              "required": [
                "location"
              ],
              "type": "object"
            },
            "strict": false
          }
        ],
        "top_logprobs": 0,
        "top_p": 1.0,
        "truncation": "disabled",
        "usage": {
          "input_tokens": 63,
          "input_tokens_details": {
            "cached_tokens": 0
          },
          "output_tokens": 128,
          "output_tokens_details": {
            "reasoning_tokens": 64
          },
          "total_tokens": 191
        },
        "user": null,
        "metadata": {}
      }
    headers:
      Content-Type:
      - application/json
    status: 200 OK
    code: 200
    duration: 4.511691209s
- id: 1
  request:
    proto: HTTP/1.1
    proto_major: 1
    proto_minor: 1
    content_length: 2916
    host: ""
    body: '{"store":false,"include":["reasoning.encrypted_content"],"input":[{"content":"You are a helpful assistant","role":"developer"},{"content":[{"text":"What''s the weather in Florence, Italy?","type":"input_text"}],"role":"user"},{"id":"rs_075b435690aee51e0169b3196f54a8819e9a33c038fdc1f932","summary":[{"text":"**Getting weather information**\n\nI need to gather weather info, and I see that the tool functions.weather is here for that. Since we only need one call, using multi_tool_use.parallel isn''t necessary. I''ll go ahead and use functions.weather with the location \"Florence, Italy.\" There’s no need for parallel execution. It''s important to use this tool and provide the output based on whatever it returns. Time to make that call!","type":"summary_text"}],"encrypted_content":"gAAAAABpsxlz3zqwjvVFph3GpyCoNOUWPvEYHgvC39jVaRRd3SQ2K3vbO0ocwgzzM5dsBis4F8Ow3j5jcd3B8xKCqy7Wsxsfe2zz_DaERYO_bLZc3NjID8kelhxHKcuocSNx9tVQWpNTxUoYCveFyCyveaZ3lt0u4SZGWK_ZAkfIgmsGfddN-UeUH2lyheldZajgTPwa_PZQgTpcY7ERXCM_jh__IT1zibygPsb4u5G-XPvtkjA2oirQ8KbzaWqWhjj_hOJ43g_jePL0v1LHSNC9SiIVMmbifsBoQ6smsOYl3e_227AwvLspEWH10T1FtajmyfOPGYhRr1ZPfyx2eRDcP0vMPIejfDgLfKZklJUeErKVZrx785QR4ugWM7Qr2nggdM15H2rWQoZumX-RNQNtAVYTXmnyQPwoWbtL0fQ7oZDmEw9o0rQo987rawE2cjgrE9yic4wPw14g2fciUgluYaESuuJnNa4ebOawL2iIRWzrV6GNF6B6dkxmByHv8BGwZbZV3afroFwRc3C9-3M0wglbNlwyPiWWL0VMcaHUNlyk2cEFn-sgzBv2bYPtu3KSK0ww54r2iwxoPr7BvLf61HnPeiaWVxdcrhYWexAaUjMyAtDTWzwHKVwDVVCk-uspqH_PRxu5bxq6KkOjA6COUlwCEoGeopc5f6WdopbFlYekzY4hd73DiFJYfArUfcFyLf0kB475TTeLhCQtdlsAjwZyqk2rNKxV1D4Td0RsibuanFKcKc3WsShVypvNWd7WjByl13xUHXOFZ_LN6dX_ZhfDAW21N4Yp5XWHBT59xlvF7oeh6CvdgN21SJ0HfyurQBbI4TyhwX3xB9doC-Qhh-rDURnA3LZUCN3Iudg0Eo0RjJCbmT_Crv-PthflMMT95TR6M4LXv7puGvx94Xemc7H2BtFy9E3If0Zsf8uRksxr89Er23vwkaKTtRsMvX1wGPUgpcaxyMqV5FWwLj2-dennw2lDHTk2k46YeeaeSrn0lkV-s1-pQw9GwPIy-Mcmo6Aa_ncLETgyRGHLSTH28SElvWXgsa4oa8XypwNISTATjwzgM9yGhXbmA9CVbXCuhQ0uKzGgNzsYOwBqtxS8aVigdTPj9ktCZJD2Y4GziE-i7q4FLc511fiIMQZC-MUNMQO4d7A1kEveveZZntjiP-ZfBvdXMSb24fxfKWhAguFREzVm-7V8tbweipr5s950Ae7uJqjM_TJ4xGs66lg-TLTJLCCho4EnfYqjAmU-cR1o3l6A9RQXTzW4Okmh4oKyhlsWkL2LbMKU5UUfIfnWYM8vsJA75CPR633cGscm2Ku5SNdu5bY6cReO2YN8yRqViEUi4K04ORzaO9xNLnS3tf0FYsv7g2yM88eOEsLoCpHRsXdpvslmxKYb6K4Kjo24wvLuduTy19OzCsF4v69vcgUUOAwvPnJMfdYK9mQOTUmNyxqJ-wErLLn3FkUXylUvLDsb7bQtGZqwYh2e65YuQvOzRA2Djv_dUAaVquf3bl0TQAu0iQp9ddOSfwjfH96B1ZUH2KIP","type":"reasoning"},{"arguments":"\"{\\\"location\\\":\\\"Florence, Italy\\\"}\"","call_id":"call_1z70BexeUjpiAcqPgwQiiVRh","name":"weather","type":"function_call"},{"call_id":"call_1z70BexeUjpiAcqPgwQiiVRh","output":"40 C","type":"function_call_output"}],"model":"gpt-5","reasoning":{"effort":"high","summary":"auto"},"tool_choice":"auto","tools":[{"strict":false,"parameters":{"properties":{"location":{"description":"the city","type":"string"}},"required":["location"],"type":"object"},"name":"weather","description":"Get weather information for a location","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/responses
    method: POST
  response:
    proto: HTTP/2.0
    proto_major: 2
    proto_minor: 0
    content_length: -1
    uncompressed: true
    body: |-
      {
        "id": "resp_075b435690aee51e0169b319736be0819ea63b2b27ecbb91a2",
        "object": "response",
        "created_at": 1773345139,
        "status": "completed",
        "background": false,
        "billing": {
          "payer": "developer"
        },
        "completed_at": 1773345151,
        "error": null,
        "frequency_penalty": 0.0,
        "incomplete_details": null,
        "instructions": null,
        "max_output_tokens": null,
        "max_tool_calls": null,
        "model": "gpt-5-2025-08-07",
        "output": [
          {
            "id": "rs_075b435690aee51e0169b319741a8c819e9ddb8e4886799617",
            "type": "reasoning",
            "encrypted_content": "gAAAAABpsxl_jPfSWqxtyp8aqpWzeHLs-fmW8jdC7aCqvNYybxg4Ak0bpb1vy_YXoPoRThh25H6aM4URRDaMxHPduZ3osUmb4HRdgSaiKsw1I709PL44HxeHqE6fXbUmiGeLA5iJhg_kF4W_UN2zwrFzRZjFTnS13nKCK3AS5_fqbcSpVQ0RXSL5jM_hSk0J36IPJuTa7TB-J0KBgO1VwzHC_WeKjG-nXeejNb31312q6Fje8BP-YOeK_lYlT9GWeOxQ5K2ZTV49UGr_qhx6z2WpWfvETvCDmIHzy9P6oY5SA-J5xBly2ould4sfaxCM2c6eEX8g8SMdpvB6pERZwDN8j3MRLlgje6dAM90b6KlksvOpXCBBCYBrDS8-GbNejTZ_8etg7wVtgBtMnfEpLv2DarDZ1nS3naCFrcJuAqOPzfyxDEmREJhAN5pwUrKIHzkhQzfYQ2eVdJYOPANjGL_T1j6D6MSNcBDLjRwpjsC27Wer_XhsD-wKCAf1P-ylTuLwMRMiSLqhcicbt2yzW8OrPkqi8-Rxqa_nYqHmfHq7hZZ5s6FfjEeh-iK1vWBcgRlzPgFOM9a2DdpIB1WqXHb2ysCACImyqrxY6OY3J5YDN6cE8N5K4gC3simNtBLiNDae3_dbt9233ituqprv9j52u5BUbvJhqUUShKYQDLX9bP3qEi1TOcwAGI6X5JmckFz6obUWaoWZgjhM3-88Z_d-aY-oJFy2CbltjM3JVw9xM9E5VyfvmrLkLJEl0Nb5ImiH48_ICoGd2PFJl3OyjpuxVferrVtOz9ngJxju9ENha4UqnpGBmyaIqokrynH0FgUcil7Vb0BC1IWtg5Cou22i7oOW1khuOLr9bsTcmabDaQ8rIFZXITBA1Wt6Rk2FC3t1-OAWwB27RLrSbvRt5PfuBIu7J9kgGYt4jJPLDl-_vw3YHQBzDGj3t6miz_JyrAOVw0UBwuLcQgW_7sLHE6LMUXdIPX3mjqxhdAvS0WY_HUoxFznrhUCYIRWpcOFlGiUSujic8usPtXZIJDw79NSZph0e2B-WTIueFU4iYE2FAMG3PW3QKHUCib49z_YCBYIGzPfENFGJSCO8eKH33WB4dKNc7AoBsZ5WPLvDf3qHJvqNDnkMc94voQ9bf-C7syDSeTaC37H1Pb_YOk-d5oWlcruBgo_4n5Evh24tAj-U7i86VHhlmWXu0itarRB16XeRqbIDT28o_pBtCVJxhTEyJtGYwp91azDWC18V8HeIM1q9eTsyWuCKBUEb2wTxH36wIoGKiwhPpyIvj-ZqckI9-qqI4Mb5HRSp8HG6_flICJL8ukp5-idrLfVEP2YelTMYeR3af4me3fdproSWXHUWU_k6tXEaeh6O_sR9ppdYQvUeGNL5Oja3mN156PSnvImqnmisu5sWe17AcqnIGx1CV-wmIBXtgSusphHf2cs9H8d5VBHotWtdJAzlG8ZKYvWlAZZxYWmsGeWW0u55h_nzy-ubHxPs3OfHTtpvZ3zGVxq4hliWsQFHqIcV-PU9KQKU_lGV4NFIecV1Z_EpxVme__vpskB3nDWwbH_y0Y_XPiUYljC3M7sEuJqs5xGlYTeTQKHnJZh8DduFnim5f72Zh-M-pKKd7AjO7w3TkfC8mAnUEShiH4of5mX5T6x4aAQqWOrKzgM231J0QTL9kFyo95wI6ttjLSvwLvo3W0PavUuHQcRgW6uQ7RWzFoBr1GtZn521pKsCZwzuHAEQCm527jUinRAPkSm4Qq37wkBPQMpa3NS4h-S2OwFccdxCTP4fvBFqP7maapwJ6vdqOH2R-TBp-2Bc6nmRun17y0TxoRm2IQ3uDT5nzpkbVYzfGiN1Q-RXw4Tf8H0QBJdAerbpUIdpmUVkwoORRxGNmL_P_emhQX3MtAdQHIxZat31Vqvge6B3uvV40vqB4wWSgi9O055dEr_kla5ZSjuCxhR42N4Zf3OwV6bongH9gMsQRdLEGOhDWI_QEGEYTpktr_6xDmsrEuAczwLo8d6F24NDCYITLG8h3g572EfxAGvgN5XbFwwbTq2ma_sq5xmouepK824sX08s6uNo1YlQbmp4SuBpgWzSHQ_WiZxiUuG9hKuSQ_J30vdrhVFCLDc4CWMKs-m89fZY0GuawduDnTN3pGsIUwXywAegQWbTkcQobxmbtDgaHAJ8-6P9TlrsLBhGykIgtxIgcdaCdo-slzY7bmXb0AbGQpE9WSaAYFoHRW0Y4WyKVhTc_pE0mXkjJLWrW5AtivxYi-KxfwLMLc9E5bnPEXkrXf48MSzKbhrtt4pYI9NbnZv42x88G3KGZR-PznUOoslqvX7I_hqyySKW303-AYJQrDeCVHIImZ4P4YCrHs0aGfnoZpW2uy5waYJXNCpWgruAbDl4xr8bds2MfGVoFyiyA9xpNnrJ2yyyZ00iMvcO3NHqL3dti07xUon26HZ7mclCFBTmhIYqDv_HFXtyZ8yuy3qHm4t_UtO856U1kkQNztsYb4BGXglw_mTB4ktLStV8UfjmNK2PAyJFNOeQ2dod9NHD1SmsxJ3gRZd9zglvodYBfVmKrSot0ftLCvij3sAr505QaFQcQ6Hxh4TY8781dn8xdMHjZ8HTofpsZLz5itt9ec26jjbyAL5FzndJuHREWqzTvQrwgiWGkKkGdNswPJTBKSG2CoFJaDpQYfeC2STqQwLU9Xfxc33GrOHyzcGjQF4SbMErSrqFf5rMxBO3QqkXSKtxWwweD0cnWysjJwBMRal3K-8gBqMIAcJwMjwt0djQfYxdqvpCfMFNjH3MYui_jjPDmpgHYPXw2Z6u7YZ_Aw4nM2ae94soQ9AoHKVJ-nz9wUXbw-zj67nxGe1KqtCaxXtx5ua9FY_XlEZqm2lSb6RDjzrKP8Uy9hLxwoL_jD4IVdYisHzofLLBzvnyBpS6ebrj30MzpownlhlJ5UA9qvbaUKFhqLiGalwnEUA7L4maXxe_8ZnXFnwM8d3KxLDJ0mnfomZMTNgDy6ELYWrI5pOuwO4pee844EbMEnJnwzGL94RVPp69RkZivRxzg8AWn16OlrqIjjutMXg1ig8y3cL7ijv5jzHx60ys7_tvRMjIVmcCR5sbeVY_TTBnDQ3Mg5NpxWfakFwHLSL_B25z19VdIq3fctvhFVGIS_mN-eXyTTmDrNL2YizGIzWGBxy4y4TPWufSvu0O1_IS3nlSz5V1ivRy6zdZIuAtSLTOlOQpjxVfq-Dq4w66wo5sGGTwzrglQmjyj30gv8uIcODqepNtVlV_DSK3hfEymnZlWlH0ec6Akv2pF_QQWl4r7jH0Zk-oS2gvyrgUeyn7EAWUs_UrfS4059Ny77HXJ_8L4jod7SLubwBl_2IvgxvtgvOca9zMv020ceNVrW7x_kR1y3eM30XIXDRr4QyL4-sAYJ0sODI5KrTSS6jIbHrtC__5jaeLFypAFkhofVJL59Kf",
            "summary": [
              {
                "type": "summary_text",
                "text": "**Providing weather update**\n\nOkay, I need to give the current weather in Florence, Italy. It's about 40\u00b0C, which converts to 104\u00b0F. I should ask if the user wants a forecast for today or the next few days. It might also be helpful to remind them to stay hydrated since it's very hot. But I need to keep it straightforward and minimal. So, here\u2019s what I\u2019ll present: \"Current weather in Florence, Italy: 40\u00b0C (104\u00b0F). Want the hourly or 7-day forecast?\""
              }
            ]
          },
          {
            "id": "msg_075b435690aee51e0169b3197f2a24819e815e6689dfc4d1e7",
            "type": "message",
            "status": "completed",
            "content": [
              {
                "type": "output_text",
                "annotations": [],
                "logprobs": [],
                "text": "It\u2019s currently about 40\u00b0C (104\u00b0F) in Florence, Italy. Would you like the hourly or 7-day forecast?"
              }
            ],
            "role": "assistant"
          }
        ],
        "parallel_tool_calls": true,
        "presence_penalty": 0.0,
        "previous_response_id": null,
        "prompt_cache_key": null,
        "prompt_cache_retention": null,
        "reasoning": {
          "effort": "high",
          "summary": "detailed"
        },
        "safety_identifier": null,
        "service_tier": "default",
        "store": false,
        "temperature": 1.0,
        "text": {
          "format": {
            "type": "text"
          },
          "verbosity": "medium"
        },
        "tool_choice": "auto",
        "tools": [
          {
            "type": "function",
            "description": "Get weather information for a location",
            "name": "weather",
            "parameters": {
              "properties": {
                "location": {
                  "description": "the city",
                  "type": "string"
                }
              },
              "required": [
                "location"
              ],
              "type": "object"
            },
            "strict": false
          }
        ],
        "top_logprobs": 0,
        "top_p": 1.0,
        "truncation": "disabled",
        "usage": {
          "input_tokens": 202,
          "input_tokens_details": {
            "cached_tokens": 0
          },
          "output_tokens": 471,
          "output_tokens_details": {
            "reasoning_tokens": 384
          },
          "total_tokens": 673
        },
        "user": null,
        "metadata": {}
      }
    headers:
      Content-Type:
      - application/json
    status: 200 OK
    code: 200
    duration: 12.040060083s
