thinking.yaml

  1---
  2version: 2
  3interactions:
  4- id: 0
  5  request:
  6    proto: HTTP/1.1
  7    proto_major: 1
  8    proto_minor: 1
  9    content_length: 556
 10    host: ""
 11    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-mini","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"}]}'
 12    headers:
 13      Accept:
 14      - application/json
 15      Content-Type:
 16      - application/json
 17      User-Agent:
 18      - Charm-Fantasy/0.12.2 (https://charm.land/fantasy)
 19    url: https://fantasy-playground-resource.openai.azure.com/openai/v1/responses
 20    method: POST
 21  response:
 22    proto: HTTP/2.0
 23    proto_major: 2
 24    proto_minor: 0
 25    content_length: 5968
 26    body: |-
 27      {
 28        "id": "resp_03e04b1d440a87110169b2ff8dceac819697919beb0b86d619",
 29        "object": "response",
 30        "created_at": 1773338509,
 31        "status": "completed",
 32        "background": false,
 33        "completed_at": 1773338517,
 34        "content_filters": [
 35          {
 36            "blocked": false,
 37            "source_type": "prompt",
 38            "content_filter_raw": [],
 39            "content_filter_results": {
 40              "jailbreak": {
 41                "detected": false,
 42                "filtered": false
 43              },
 44              "hate": {
 45                "filtered": false,
 46                "severity": "safe"
 47              },
 48              "sexual": {
 49                "filtered": false,
 50                "severity": "safe"
 51              },
 52              "violence": {
 53                "filtered": false,
 54                "severity": "safe"
 55              },
 56              "self_harm": {
 57                "filtered": false,
 58                "severity": "safe"
 59              }
 60            },
 61            "content_filter_offsets": {
 62              "start_offset": 0,
 63              "end_offset": 71,
 64              "check_offset": 0
 65            }
 66          },
 67          {
 68            "blocked": false,
 69            "source_type": "completion",
 70            "content_filter_raw": [],
 71            "content_filter_results": {
 72              "protected_material_text": {
 73                "detected": false,
 74                "filtered": false
 75              },
 76              "protected_material_code": {
 77                "detected": false,
 78                "filtered": false
 79              },
 80              "hate": {
 81                "filtered": false,
 82                "severity": "safe"
 83              },
 84              "sexual": {
 85                "filtered": false,
 86                "severity": "safe"
 87              },
 88              "violence": {
 89                "filtered": false,
 90                "severity": "safe"
 91              },
 92              "self_harm": {
 93                "filtered": false,
 94                "severity": "safe"
 95              }
 96            },
 97            "content_filter_offsets": {
 98              "start_offset": 0,
 99              "end_offset": 1878,
100              "check_offset": 0
101            }
102          }
103        ],
104        "error": null,
105        "frequency_penalty": 0.0,
106        "incomplete_details": null,
107        "instructions": null,
108        "max_output_tokens": null,
109        "max_tool_calls": null,
110        "model": "gpt-5-mini",
111        "output": [
112          {
113            "id": "rs_03e04b1d440a87110169b2ff91f840819692bf236ebfcc7f66",
114            "type": "reasoning",
115            "encrypted_content": "gAAAAABpsv-VXwrkiA2LGZS81tv6gXmlZFltBSfylmK7DeO9bnDg43lIoU7T_Dmcxg4SHjIsSOAt1-QnNyApcix2-vjt8aim5NX85sGG-DOFbsikMl-eSyXc4B98LXjP9nS0XxNAakLhhBMObzmIFlf7CwMGSyn3z9VT9Z0oizw6BP5TiEVXSJKZcnzPW4CDfVlGzrBk60NnS2ugDpkWUd6krcc_vU_CudDFDAbFVs4HGEGJDSAXnms0XEWemEnkbjL1dLhesjW-MX-W4uQEGXNJqcVoaC0z0LPu6G7T9SdKEZbrNI5GQu-bL67pjdFfddv6VrrSWovs7-D0X6lr5ZAjuDkqPLQo1uyJDAoOUgx-Z2z7tACHEkG7jqCenTJ3fwQe88KdDcoJoZ59s6VqL-msbnAZpiTKdMyM0wR5jQSXwtaVp9yhNgqjRWDW-RlJc7RbY_4x4j5xL3p1vyF1ioFjo2z7u5Lb9tsBLHOXRDpb9BFGXQbxOmP4VpvMN_93CcszyIRd6mPp3taVpnJPlLTSVW4uBXfGX2RKLAcT0DsYicB3O0sjjfWpGLQuEvmCWSrCHBwYAy-PGDPAQgcsGjsE9alwXOhHXONyq5BkiIs4cQ3ZWCibDTqg2CEVsCuXZPHL50SjuQOFRmFZkXRbnH8xXTAhDNGqFsISgHCeSV6EPEUL72n1SPeJPdxHc1x1ZZL7HdqHMQUfPnE-eMW4IKapOU3MJ5rxXui6ye5aYBHtRFVJgv6xf-lYpWQXLjJWqulelZPST5gLeAl9NPcPwpz3frgoWH9GpB6glNgavPVWQ2cJwYTv85gJ0I3kLATYBY5LRegYAqBvKGBE0ZDR55neZwn83uckMcEh37diCV3SbPFQMUbxw9gkFVobB3jC3r0OetBTXc0rBcO1bN2s1pRf_493hP1uG4r1Q40_kJubyq6KjaJm_aOl6-X9aGVV6VmTmcvSPzrfga7_sXoS23Qxgo5qfyqj6ERnsSUHvqofb7XRUZDbpMSYUyQ8MonZSYs8OuZT7ZoFI0F2WNqZEOBfbYCMeCimlPYmdwgb_3LJMf5ivUbuRq9uG94TrZXxLG2MprIvNHJAxVVt3eRHOzMIo0kgwRYtHd-MdIyeo6nUmv_JPZIRJvnJ5w4GRCvcX9V6j2Yq2CV39NM7QFhSkoSTDz2dKvXwQY3gzhCQM651-mINb86qiL3L-vVtGzZe2ZL5z6VBDON-QOiQyZV7fLH8S5ECKgoK_X81fEjxBAuRkBZGAB-HiuIA6DV_B2O_zE-z09a0ObdBztRd68qMMBNQEuTGZx07C1nVLNZPKro-qT_mx9IbAUwQClw2QHhT6vWIvuWdFWdod44rFDtv-zTImkWtMxbQOjc7dWSPZN6dN-7TCQtVR0DIPl0aouEtgRu3eSWKeHOjTUKBa8D0izB2UQYGHpkyL5-FlTc7NplZRbWMjBDsio-63EV4a_ZISrt2AtacO7p1Tk_H-7atZdWYi1Y0aBg8qf1QWtKzdef-EdgkGPcmUr4rqkH67LrOiNncq-tiqiZhRQ1lHduosIB2dN-Of5NFPe3N5oRD0cSlwhMWJjgC3zkA7ECx8kzKjFsJNPFSqh738KQRxwpaZbqLBIc_FA5WzgSByt_7mLpNKTqQHss_RtU2YMe2JH0VO8V7Waa_mpqELoHcMjHfaIKci-srsOtheWV1x8VSE38ouhV16xaE5WieXL5vtrUJGjdKLsKbm7wYrSnIuU9nr_Ms9nGx5dqdEguJkjKbuNkrZFuUk_Ld5s0Dyg9loLcagD_rRJ8wswmH9xRY-4P1zNZMFKwULj92Xw==",
116            "summary": [
117              {
118                "type": "summary_text",
119                "text": "**Fetching weather for Florence**\n\nThe user is asking for the weather in Florence, Italy. I see that I can use the functions.weather tool, which takes a location string. I could use multi_tool_use.parallel, but since I just need one tool, it makes more sense to call functions.weather directly. The tool expects a JSON format with the location specified, so I'll structure it as {\"location\":\"Florence, Italy\"}. Now, I\u2019ll go ahead and call this function to get the weather."
120              }
121            ]
122          },
123          {
124            "id": "fc_03e04b1d440a87110169b2ff9482d08196b9611b538400d9b0",
125            "type": "function_call",
126            "status": "completed",
127            "arguments": "{\"location\":\"Florence, Italy\"}",
128            "call_id": "call_58ZCzgYxpwaBCsl2an3OWjkQ",
129            "name": "weather"
130          }
131        ],
132        "parallel_tool_calls": true,
133        "presence_penalty": 0.0,
134        "previous_response_id": null,
135        "prompt_cache_key": null,
136        "prompt_cache_retention": null,
137        "reasoning": {
138          "effort": "high",
139          "summary": "detailed"
140        },
141        "safety_identifier": null,
142        "service_tier": "default",
143        "store": false,
144        "temperature": 1.0,
145        "text": {
146          "format": {
147            "type": "text"
148          },
149          "verbosity": "medium"
150        },
151        "tool_choice": "auto",
152        "tools": [
153          {
154            "type": "function",
155            "description": "Get weather information for a location",
156            "name": "weather",
157            "parameters": {
158              "properties": {
159                "location": {
160                  "description": "the city",
161                  "type": "string"
162                }
163              },
164              "required": [
165                "location"
166              ],
167              "type": "object"
168            },
169            "strict": false
170          }
171        ],
172        "top_logprobs": 0,
173        "top_p": 1.0,
174        "truncation": "disabled",
175        "usage": {
176          "input_tokens": 66,
177          "input_tokens_details": {
178            "cached_tokens": 0
179          },
180          "output_tokens": 171,
181          "output_tokens_details": {
182            "reasoning_tokens": 128
183          },
184          "total_tokens": 237
185        },
186        "user": null,
187        "metadata": {}
188      }
189    headers:
190      Content-Type:
191      - application/json
192    status: 200 OK
193    code: 200
194    duration: 8.094597125s
195- id: 1
196  request:
197    proto: HTTP/1.1
198    proto_major: 1
199    proto_minor: 1
200    content_length: 791
201    host: ""
202    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"},{"arguments":"\"{\\\"location\\\":\\\"Florence, Italy\\\"}\"","call_id":"call_58ZCzgYxpwaBCsl2an3OWjkQ","name":"weather","type":"function_call"},{"call_id":"call_58ZCzgYxpwaBCsl2an3OWjkQ","output":"40 C","type":"function_call_output"}],"model":"gpt-5-mini","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"}]}'
203    headers:
204      Accept:
205      - application/json
206      Content-Type:
207      - application/json
208      User-Agent:
209      - Charm-Fantasy/0.12.2 (https://charm.land/fantasy)
210    url: https://fantasy-playground-resource.openai.azure.com/openai/v1/responses
211    method: POST
212  response:
213    proto: HTTP/2.0
214    proto_major: 2
215    proto_minor: 0
216    content_length: 7839
217    body: |-
218      {
219        "id": "resp_03e04b1d440a87110169b2ff95e7e881968351190f833d9929",
220        "object": "response",
221        "created_at": 1773338517,
222        "status": "completed",
223        "background": false,
224        "completed_at": 1773338527,
225        "content_filters": [
226          {
227            "blocked": false,
228            "source_type": "completion",
229            "content_filter_raw": [],
230            "content_filter_results": {
231              "protected_material_code": {
232                "detected": false,
233                "filtered": false
234              },
235              "protected_material_text": {
236                "detected": false,
237                "filtered": false
238              },
239              "hate": {
240                "filtered": false,
241                "severity": "safe"
242              },
243              "sexual": {
244                "filtered": false,
245                "severity": "safe"
246              },
247              "violence": {
248                "filtered": false,
249                "severity": "safe"
250              },
251              "self_harm": {
252                "filtered": false,
253                "severity": "safe"
254              }
255            },
256            "content_filter_offsets": {
257              "start_offset": 0,
258              "end_offset": 3357,
259              "check_offset": 0
260            }
261          }
262        ],
263        "error": null,
264        "frequency_penalty": 0.0,
265        "incomplete_details": null,
266        "instructions": null,
267        "max_output_tokens": null,
268        "max_tool_calls": null,
269        "model": "gpt-5-mini",
270        "output": [
271          {
272            "id": "rs_03e04b1d440a87110169b2ff9728608196a7633ffa976a82d9",
273            "type": "reasoning",
274            "encrypted_content": "gAAAAABpsv-fpb3rS7-bQl4c_t4hmXUOwnwmGym7XB5QpPIRXiNgCXQVpiKPvvmqEGMhzrlTx0S1pxIn8cuyWLmsQnI76mv63_LRfNGBZekDfsfFDa2ZNTGW8WiWq3LMbP3CZz24Ld9x0rp83M90cKY4tWrWERKfsii6bX4b41p42leowZQMa9QAbuJH2z897shfIVbmwLsG8vUuD0OsrCcLfQcqHoTQJBE0Xme2H9o79idNBOf5mbrG8JhF9OxUHtwjH6LRuubx3fFtyfDAS53sx5oKtYZHbQoG0YMbD1oSqlWgO9DEqApKNb848RvGoXOp1_Yu2Pq4hLNBaH-I2VfR_3HEWupf5GJ1t85Sc3Ag69Ix_RcL2x46y1fpCaSrxw1dPZ0XlPX55cOVErQ4-3hNc3EdsQ4Qi5XWT-LYvophKrSzd02pFWYj4T86KiHX6ROteeGTxDkRZtf7v-3lO-QC1uNlsE5lHuPYsunES_ZXoyCc9n_mKrKxQlXyjVONQavgkpZz3BLNHQSFWPJ4ajip3aYHDjzdHtRp5Z3g7AWPC9_isbZ9MHx3IoR9gcnAEjYmo-yIJffbSEnPVyBCgiGpX9dG3KFue11g-uM9wzkQ_PvLnSeNCiXrP1JXEukQRJic9gQ7KvmRCzjNmGcbQnCvDt6iFmv9gut9HEPEj5DqLDnA5ntX2u_0vCJtCUGeL0iT0cChchvrLlA48XWwgYCmH3UyifNa7gh7NQ2Vm3vyMFcOmcWDFUYSYkTytc33Xr48yzPZKjxmkRtsxJqpF4h8v3z8N3hfRRq-fDsQZsmKW8soI03yuAW1bsVvabnEmdpu8Olk88HCD4NdBeEKHqA4-FiKYnXd6-KT2KZVvMejaCMPYYYE3FsTXpjMlBihDvl2Ajclc_izAD0KKhaGlHQ6VEzuVBDbxvleoOYsDGQwCI9bZXcneqeSSUxUOotJOHyt8gGISVuWkKuM8hLGMqn2gIOyuQERcwWwj1WkxwAaNSNdWszbwlmpSjFSdc9K6knWQna5R2DqlEh9-WQcHSxNtsWo8rGPWb3PbbuQMvaPfD1zVntCfTO3UssmXwwIWwnkMdgZylRDhaQqIln4Xsgx4DYhiK5eYN4Es9bXEXugi5cOq0OEOVj_A9C5-Aj438k9luAAnm09q1xZOIxI5amDblv80zleGijt1r2qsLpdsGCejr44GDFZ-S1Py9pWURzDQ7kfXsqv18Sw1TjsrewP2GwRmJQ4aYSpbsjZRUa82xoHb7kxdLz9j27Fyxi6I9HmnZf-bCcMzy7f8WzGmmCWgGQDRpE5iy7fMxTI0hML0sZpfxAxRWwFtMp7Emr4m8zjDzCgLFjp3S47wRtGJHft_JaWkBXbpjkiJknz0Wo_72Tshqk64PopsGyYNqU_sk2wBL98aHgL-tsrd7XJ4Xjzm0padS9iJ0NqkIX4pQyZ8cXyZa1kXoMb1_JWK2DEJSj1o34iZbxnKPKhgt9tM4yHJrmSX5wgbmeTYjPQVkmx5yiN8FygqyFaeSsCulS1HAfcwoQs59QWcj-vJS_a6ffpYJ336RMpodQ2PgloXTEdJzNvoSWEeZOPML7WKQsGHqjVfAzeENW9Psd2T3IuMjgfoE3xM8opHGd7PFIIS-5FPaWzE16vFWXT9vJDeZaeCOuTetYJjtxs-qaj5uBfQ-OknsSLposZcyYty__eagFdxfPKR_iFcy_AdBPp1mufM71OrN4CyRdQ2QCnPcLFNVzlXVR6LRKwBNCOkUq-gBei474FLheWLh0psuaUy9rxxo8y_hLjxn0_Z0LwAbdYKF2Siz9E18W8YmjGVD9iD1lcraodYs6Xl2D4J2jFKL4dmopw0P9-U143P46HXplpTANifxEGW_RnKG9HpgpUfv6Gp9vPPrL-GeBW-51JDAq-y0BCD0e4SFEHWSDT7b16c5BQpYul2K3XviYHGxjGAI8rWNS03Lac96eAmzuCn8KzqBvOHJcFyZ54PfcEitmhCzOZ03UXEQwduMbRnCCW1Gp-WZGloWpTxbJNQYpLH01nqSJn86wzsVj-g0DLQWSsC1pcOIh_wsslvp15HRqLD3fUtEFc_ls3BDciXoIkNG8O0wZ9HVQJcLm1k08hYvU-5W7X_LW8-cOa3-kBaW6oU0yqk9sNrzl-rAdl90U2j0L0oQF3lufR6A6K8ZJf67MzAWpXcazPOVN58gVu9ZvfR_KbraKjyTkIsQQmFBecWoptOMbxgD_uCOhsHtFzeS5SVFfg77Woxo1BFLqy2PUbw-IpDsTJ4ssJ241Ycyjg1KY8XDSl24AiyCaw70QIksSrcc__dAIUaE-lbHQlQRwRCFu3BHKgHHbwkgFbH2ar9xo_dI7v-uriY0gVxvzwVrnCnKKA6phKGJZs9nVb9fLupHBm5IiueakkoIWTpsGcl6nfZCnSAy3d1SpZJZ9OGHhR0yD_8uP6RvVeT3B5nebw8ko-LF6CWI9Wlb_T0m0yuzgwXqliYlHEVqT0u3IDFbpQ4yAUpIa9PFYatuYX6IEr_a5pfUbrnW63Z-1H3iz7iKJdDKdvrPbje1mvf70ZmRv7esI6BphFj2VRH9A4yJukCx5Kv_w4OYNfk3D7KCQ858p5V_JcUdVGxpOXP_s1PCJe7eZtpdywewNfcH_25mdK70IkAOEPSFsvA9tVmR0KJzYRycs5Nqpsd111HGylZIdrRSAiuxrBc0OiZP7dVsxBx6MeQhG7j-hUh0nk9iMenbyY4yA45R4jalCvR6yjuvJJ6Dgx6E1ePqFEfnISHPZrYTPXjqZtLZUnyD3zKbpF_kxpMlxA930Gi4-_qPNDtQm00TwraPvXkWTmTFHLtxGEh3D_btbymaRxRPkIfwi0myHkJNS-tsa3CUd4QfzvOAYMB5rB-K1dKSr38j_m4l0ZnhfZ7fCSHYgDcSZUWye5f2f3khFuPG5_xrGz_h0CIzugDxTCZI3BNUYQeO7u2e1XeovICoUspkat_BVE-pP2Hm6OSX2ZUNiVemI00bPoxjpxPhriAgzjAlxwz-hPbnc8cAkm6PZNMH4HeNfxJdeYFrtmES86AGW9lYCY8oxIjFsXXnxFhDDFtal1-5bnCSpi1EnsGmP5WmbDKUkj9vqWi1NUk0WrwnjsefvnOGwkvneoP8Yp6Dn4nLPQJl_e-L-cbjNInGf3FS2vdFtNEOMm7VbI-J4qIBnk3UQoTL8jCxct7TQvSEkFwZE-HO-oSFz03KPyWk4X2j2-A4xfUnGCuQOZOSyvIhh6BcJBsU1OwhqC3G0CZMwAj1-hWBvb3QPg00e-zqAADusg2ggkekD-fbopAG8x4rejhRBvrob2IA6Oroig69H1_WnpLuPHgJ9-TYP25iler8R66zuHkX60LKNN-D6B-ff6ymmQ_kF1zVGg2ufjfQ5xlkR302PCLKrb8IhVe5vBsTJEWERR2WehtdCvoqySNgh3u7C2t2thPV4mHN0xA5_HzOk6Zz7AqMLnnW-0m1-eKxWYDic=",
275            "summary": [
276              {
277                "type": "summary_text",
278                "text": "**Reporting Florence weather**\n\nThe tool returned \"40 C,\" which is pretty hot! I need to provide the user with the current weather in Florence, Italy, but I realize it only gives the temperature. So, I should clarify that it's 40\u00b0C right now. It's extremely hot, and I want to remind the user to stay hydrated and seek shade. I'll keep the response concise and ask if they\u2019d like more details about the forecast or hourly conditions."
279              },
280              {
281                "type": "summary_text",
282                "text": "**Summarizing Florence weather info**\n\nI want to provide a comprehensive yet concise update on the weather in Florence, Italy. I\u2019ll tell the user the current temperature is 40\u00b0C (104\u00b0F), along with safety tips: stay hydrated, take breaks in the shade or air conditioning, and wear light clothing and sunscreen. I might also ask if they want a detailed forecast or hourly updates. I need to avoid claiming specifics about weather conditions since the tool didn\u2019t provide that data."
283              }
284            ]
285          },
286          {
287            "id": "msg_03e04b1d440a87110169b2ff9ed2a8819688f2b28a2cdba9a8",
288            "type": "message",
289            "status": "completed",
290            "content": [
291              {
292                "type": "output_text",
293                "annotations": [],
294                "logprobs": [],
295                "text": "Current temperature in Florence, Italy: 40\u00b0C (104\u00b0F).\n\nThat\u2019s very hot \u2014 stay hydrated, avoid strenuous outdoor activity in the midday sun, seek shade or air conditioning, wear light clothing and sunscreen. Would you like a full forecast (conditions, humidity, wind) or an hourly outlook?"
296              }
297            ],
298            "role": "assistant"
299          }
300        ],
301        "parallel_tool_calls": true,
302        "presence_penalty": 0.0,
303        "previous_response_id": null,
304        "prompt_cache_key": null,
305        "prompt_cache_retention": null,
306        "reasoning": {
307          "effort": "high",
308          "summary": "detailed"
309        },
310        "safety_identifier": null,
311        "service_tier": "default",
312        "store": false,
313        "temperature": 1.0,
314        "text": {
315          "format": {
316            "type": "text"
317          },
318          "verbosity": "medium"
319        },
320        "tool_choice": "auto",
321        "tools": [
322          {
323            "type": "function",
324            "description": "Get weather information for a location",
325            "name": "weather",
326            "parameters": {
327              "properties": {
328                "location": {
329                  "description": "the city",
330                  "type": "string"
331                }
332              },
333              "required": [
334                "location"
335              ],
336              "type": "object"
337            },
338            "strict": false
339          }
340        ],
341        "top_logprobs": 0,
342        "top_p": 1.0,
343        "truncation": "disabled",
344        "usage": {
345          "input_tokens": 248,
346          "input_tokens_details": {
347            "cached_tokens": 0
348          },
349          "output_tokens": 489,
350          "output_tokens_details": {
351            "reasoning_tokens": 384
352          },
353          "total_tokens": 737
354        },
355        "user": null,
356        "metadata": {}
357      }
358    headers:
359      Content-Type:
360      - application/json
361    status: 200 OK
362    code: 200
363    duration: 9.999820417s