tool.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: 490
10    host: ""
11    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"}],"usage":{"include":true}}'
12    headers:
13      Accept:
14      - application/json
15      Content-Type:
16      - application/json
17      User-Agent:
18      - OpenAI/Go 2.7.1
19    url: https://openrouter.ai/api/v1/chat/completions
20    method: POST
21  response:
22    proto: HTTP/2.0
23    proto_major: 2
24    proto_minor: 0
25    content_length: -1
26    uncompressed: true
27    body: "\n         \n\n         \n\n         \n\n         \n\n         \n\n         \n\n         \n\n         \n\n         \n\n         \n{\"id\":\"gen-1773324575-QAAZrqJLYWL3AOSJPPiO\",\"object\":\"chat.completion\",\"created\":1773324575,\"model\":\"openai/gpt-5-2025-08-07\",\"provider\":\"OpenAI\",\"system_fingerprint\":null,\"choices\":[{\"index\":0,\"logprobs\":null,\"finish_reason\":\"tool_calls\",\"native_finish_reason\":\"completed\",\"message\":{\"role\":\"assistant\",\"content\":null,\"refusal\":null,\"reasoning\":\"**Gathering weather info**\\n\\nI need to provide the weather information. I have a weather tool at my disposal, which takes a location as an input. Since we only need one tool, I’ll go ahead and call functions.weather. But wait, there might be confusion about which Florence the user means—Italy or South Carolina. Since the user specified Florence, Italy, that's clear! Now, I can proceed to call the tool.\",\"tool_calls\":[{\"type\":\"function\",\"index\":0,\"id\":\"call_gFD4BCgLbZibgm4lz6Gaxo9e\",\"function\":{\"name\":\"weather\",\"arguments\":\"{\\\"location\\\":\\\"Florence, Italy\\\"}\"}}],\"reasoning_details\":[{\"type\":\"reasoning.summary\",\"summary\":\"**Gathering weather info**\\n\\nI need to provide the weather information. I have a weather tool at my disposal, which takes a location as an input. Since we only need one tool, I’ll go ahead and call functions.weather. But wait, there might be confusion about which Florence the user means—Italy or South Carolina. Since the user specified Florence, Italy, that's clear! Now, I can proceed to call the tool.\",\"format\":\"openai-responses-v1\",\"index\":0},{\"type\":\"reasoning.encrypted\",\"data\":\"gAAAAABpsskjL6NtLMm2gYf8B_84HgKgn3wMb79fhKZcK4WDqzWel-KZfZasScjM_t8s6P9LlyU7eTbo7GKO4aeMPJalyxZX3a-9E2Ski8Hum4YkjP5fUtZK3HRzxZwFE7jONXKUWZxdSqaFGKGI-3KC4CcQ2c9TXdEHVQHFtEACaan_gfMh4ehk418rI-3fSO_dgMrs6VXglta5TTt3Y9CbWiyOKs3i92avS_jxvWGekuj9adZqI9R17f4X6rBnWCYhQshEmj8Yn_kOVqa2we3tl9P7vQNBjVG8DxyigpGQlAzWI8M1sBobiUg6CzvA2SrkoHJNgPUWNLFry5K8h_1pLRtS_xGGx-UFeaUsg9lH2l4vcgdhkr5ehfbJEd6B06pjIWjHAsTJC0FtO3ELDGOSOYM2NIQvpxkMkVdDH8LKdO2vq7Ws0mvsJ5WEHWb_wbHYIZmh_JjOpoXHTsiV42xXRk21laU0XF4aEK9uVhdJaNuhKBIt4R3A3iRwl0C4YYTxmyO1iIkHFN1osdfUut48jTpK3cZJN8Eh0xEvR6qckKzgfyhHH5LSu3GHCOobJsyAGvIMsgW1M1j0F2-HCWwx00EFc3gjKr8Ij1ts7LFlRTqVKU-xuS8uxOrhZuztB6LZGMcy6RIt1kzGieXF79omc8XPwgQXdCNapaU70Qzof84WuiZb11Z9s9PH0ikG-I0gVi6XNp4AN8rVlYvs-NVEuXGn-eiJkqBZwkv5Vwh3P39CVX0rsTr1mR512yaC45XOQQlGi1T21j9vxD2CvJwOvil519AeqmWSm8xJ-EXR6OSsp4_5YBRUIujv-3HB0WDRVeE7BOXqcc-pbZLLQTVUPtY76X-GOjuVKUB8vQCUiucy-YL_V4q56lv_k3IoD2pJSfydFNfNAE8m33vfbboMrqXwYbDzBifp9w5L3yYziRKp8TI6F0AOMajF2eGmJh9Ouo64TnQQmST1UFBLtr1di-bIM3caYhhGaGuA8HX2rN6ZW7je4128oRP4DbcSujNxPpxxAT_QS6yXyOmKM9eavhbIqKD4qgQkD6BN3ofLeZcfms6qNHZMN78Yq6WlRYibR3P5ycmAakiETbwka5Y8LB0ljXm9mvhlgRCvjylgi-B3djgWVtCUWTkD5hLGRtH0j9217WEaErkaXWKKBVuzmG8CdElz2Ziei6YW59UjzYdr9DVDcz65Sw_64xAhDQ3ddShNi4AtCxmDIj1fZ4YkpKa6JNeluWHPGkxGY4jNhR0dC-lgm-I1umBpwAOAxn6owHQ-g2EbYhVinOje-hqlHeR4bct7kOH-KK85YA0O_EEdVUFAFNjMkN7cKxmZBQv7a060TQQG\",\"format\":\"openai-responses-v1\",\"id\":\"rs_08acd5c21bf032190169b2c9202940819681ab3b773d32d468\",\"index\":1}]}}],\"usage\":{\"prompt_tokens\":63,\"completion_tokens\":102,\"total_tokens\":165,\"cost\":0.00109875,\"is_byok\":false,\"prompt_tokens_details\":{\"cached_tokens\":0,\"cache_write_tokens\":0,\"audio_tokens\":0,\"video_tokens\":0},\"cost_details\":{\"upstream_inference_cost\":0.00109875,\"upstream_inference_prompt_cost\":0.00007875,\"upstream_inference_completions_cost\":0.00102},\"completion_tokens_details\":{\"reasoning_tokens\":64,\"image_tokens\":0,\"audio_tokens\":0}}}"
28    headers:
29      Content-Type:
30      - application/json
31    status: 200 OK
32    code: 200
33    duration: 459.379584ms
34- id: 1
35  request:
36    proto: HTTP/1.1
37    proto_major: 1
38    proto_minor: 1
39    content_length: 2263
40    host: ""
41    body: '{"messages":[{"content":"You are a helpful assistant","role":"system"},{"content":"What''s the weather in Florence,Italy?","role":"user"},{"tool_calls":[{"id":"call_gFD4BCgLbZibgm4lz6Gaxo9e","function":{"arguments":"{\"location\":\"Florence, Italy\"}","name":"weather"},"type":"function"}],"role":"assistant","reasoning_details":[{"data":"gAAAAABpsskjL6NtLMm2gYf8B_84HgKgn3wMb79fhKZcK4WDqzWel-KZfZasScjM_t8s6P9LlyU7eTbo7GKO4aeMPJalyxZX3a-9E2Ski8Hum4YkjP5fUtZK3HRzxZwFE7jONXKUWZxdSqaFGKGI-3KC4CcQ2c9TXdEHVQHFtEACaan_gfMh4ehk418rI-3fSO_dgMrs6VXglta5TTt3Y9CbWiyOKs3i92avS_jxvWGekuj9adZqI9R17f4X6rBnWCYhQshEmj8Yn_kOVqa2we3tl9P7vQNBjVG8DxyigpGQlAzWI8M1sBobiUg6CzvA2SrkoHJNgPUWNLFry5K8h_1pLRtS_xGGx-UFeaUsg9lH2l4vcgdhkr5ehfbJEd6B06pjIWjHAsTJC0FtO3ELDGOSOYM2NIQvpxkMkVdDH8LKdO2vq7Ws0mvsJ5WEHWb_wbHYIZmh_JjOpoXHTsiV42xXRk21laU0XF4aEK9uVhdJaNuhKBIt4R3A3iRwl0C4YYTxmyO1iIkHFN1osdfUut48jTpK3cZJN8Eh0xEvR6qckKzgfyhHH5LSu3GHCOobJsyAGvIMsgW1M1j0F2-HCWwx00EFc3gjKr8Ij1ts7LFlRTqVKU-xuS8uxOrhZuztB6LZGMcy6RIt1kzGieXF79omc8XPwgQXdCNapaU70Qzof84WuiZb11Z9s9PH0ikG-I0gVi6XNp4AN8rVlYvs-NVEuXGn-eiJkqBZwkv5Vwh3P39CVX0rsTr1mR512yaC45XOQQlGi1T21j9vxD2CvJwOvil519AeqmWSm8xJ-EXR6OSsp4_5YBRUIujv-3HB0WDRVeE7BOXqcc-pbZLLQTVUPtY76X-GOjuVKUB8vQCUiucy-YL_V4q56lv_k3IoD2pJSfydFNfNAE8m33vfbboMrqXwYbDzBifp9w5L3yYziRKp8TI6F0AOMajF2eGmJh9Ouo64TnQQmST1UFBLtr1di-bIM3caYhhGaGuA8HX2rN6ZW7je4128oRP4DbcSujNxPpxxAT_QS6yXyOmKM9eavhbIqKD4qgQkD6BN3ofLeZcfms6qNHZMN78Yq6WlRYibR3P5ycmAakiETbwka5Y8LB0ljXm9mvhlgRCvjylgi-B3djgWVtCUWTkD5hLGRtH0j9217WEaErkaXWKKBVuzmG8CdElz2Ziei6YW59UjzYdr9DVDcz65Sw_64xAhDQ3ddShNi4AtCxmDIj1fZ4YkpKa6JNeluWHPGkxGY4jNhR0dC-lgm-I1umBpwAOAxn6owHQ-g2EbYhVinOje-hqlHeR4bct7kOH-KK85YA0O_EEdVUFAFNjMkN7cKxmZBQv7a060TQQG","format":"openai-responses-v1","id":"rs_08acd5c21bf032190169b2c9202940819681ab3b773d32d468","index":0,"type":"reasoning.encrypted"}]},{"content":"40 C","tool_call_id":"call_gFD4BCgLbZibgm4lz6Gaxo9e","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"}],"usage":{"include":true}}'
42    headers:
43      Accept:
44      - application/json
45      Content-Type:
46      - application/json
47      User-Agent:
48      - OpenAI/Go 2.7.1
49    url: https://openrouter.ai/api/v1/chat/completions
50    method: POST
51  response:
52    proto: HTTP/2.0
53    proto_major: 2
54    proto_minor: 0
55    content_length: -1
56    uncompressed: true
57    body: "\n         \n\n         \n\n         \n\n         \n\n         \n\n         \n\n         \n\n         \n\n         \n\n         \n\n         \n\n         \n\n         \n\n         \n{\"id\":\"gen-1773324580-BKAyo0fFzswyhbH0C1AI\",\"object\":\"chat.completion\",\"created\":1773324580,\"model\":\"openai/gpt-5-2025-08-07\",\"provider\":\"OpenAI\",\"system_fingerprint\":null,\"choices\":[{\"index\":0,\"logprobs\":null,\"finish_reason\":\"stop\",\"native_finish_reason\":\"completed\",\"message\":{\"role\":\"assistant\",\"content\":\"The current temperature in Florence, Italy is 40°C (104°F). Would you like details like forecast, humidity, or wind?\",\"refusal\":null,\"reasoning\":\"**Presenting temperature info**\\n\\nThe tool returned \\\"40 C,\\\" so that’s just the temperature. I need to present it clearly while mentioning that it’s recent data. I'll say, \\\"The current temperature in Florence, Italy, is 40°C (104°F).\\\" If they want more details like humidity or the forecast, I’ll encourage them to ask for more info. I want to keep it concise, so I’ll avoid special formatting and stick to the essentials!\",\"reasoning_details\":[{\"type\":\"reasoning.summary\",\"summary\":\"**Presenting temperature info**\\n\\nThe tool returned \\\"40 C,\\\" so that’s just the temperature. I need to present it clearly while mentioning that it’s recent data. I'll say, \\\"The current temperature in Florence, Italy, is 40°C (104°F).\\\" If they want more details like humidity or the forecast, I’ll encourage them to ask for more info. I want to keep it concise, so I’ll avoid special formatting and stick to the essentials!\",\"format\":\"openai-responses-v1\",\"index\":0},{\"type\":\"reasoning.encrypted\",\"data\":\"gAAAAABpsskpwHoAl_Bba2upIUQg59eX-Rx9a42XKkd6SIeMa4QpEfHYSmcAv2ctT0tMpHxfpyyf1qhEaJGTJNUZLnL6LIG1tjI-exXfo2f4ljOuB4-t_2u5X8jyflsIFcOj_Sjcx3hn-BlUQG2OAhODyxxBOSY2sbZhXJ5rhErFWt8UKVnOG79lHfxei-0jUquRzw91a43b7U2eVlguFrwAu6OzH711_AWKcTX6QZi00fjpJO8tv11U6TQxtO9hTRHCNHCbigteXl5foDxX6Ng9BZr13AKxa538o3X0habthkKwyDjJbmqsmv5ejgBGU_RummUHeUsGinSvL_1lLOwtDwaJrGVv6tbvxV89zH9JQPgrdQFqrXjcQjY3VuETNsRLuucnpLnWD9Qmd98gY1HJ5Zp1ONauxi5QS5DCfhR0xCVUguwigq-btox1Un9gO4DlllUBUwzrQ1Vp-_i3G9kA2FDvObnSyvH_LaWsPjMsCZNtAMOcrvc7CcXSTbJakGTzFMANX-Bu5rgWo7YGPOM3d9jt_G9mfaDdbUngg1BEEUTDkLctZdWZWVbM0ScDvrRvwX5csAxK1-vBihmrQyBB-dtpXHH937uyjv4v_Y-SaULuz4ei779bv79Ok29MHmmkTtAJyf8gtAOW43oIF6mEQLJWfeqaTQaC97wnMF5CzHGSX694SqIPEQ2Grf2_pephXbhe155jmlDLAlYkCijbdwX7OZ_MhAU36VdJ0LGLAcbsZ4RtBCmqgqm4qTbzQoMHvYG0u2cC2H5HBrt-h-wortBViDW9uT7qXQX-axOr9CnCakVLCY7hv6cNkSj1Xj72Y75UXdO6L8PEve1vhX7S8Skw-ekt5ku84ZGJq86HkS33s5zl-q2YCIZj9YsG19ERS9-6NAdFhKH59ekexIHcZ4oPirinLjnvxjHd1iJ0qFtv8dVRBJYu4nqFrFCJNqKZ2k-ZwtTrG4ATTz6MpFmZG3g8YHZ1weiIyJi3X0o73f53pWD71-a6WbeotrYVAEmLkYHv3MLS2687_H7KLtym7-CBcbeszcYkl0xD5gSPo-fIRWu5yFMyAK-5W_b0f7WPRerfNuMh1fOXbvK2bbNYVWruZX7CH2k3qAtyk_jpRFw1yAALtvNnGoOdxJl4SNylaA6HkEyoYB-ZFQjf8G23av6jHmYzlpon8zgcwmgW98jNpTXKi_15foFgVjs3RUycsbZl6SgheraCNRzbbGNguSZdFvjrHuFzGVBq11QqfJ5f_rjlvixRKjV79sN7cmwUCMNMHN2JfNf8AJFU7Nofinh4UM4L0xFsOgwK1nHyTxqfkW1ygGwARB1EzVqak53JbK8FN7GiS7nMWmdiyAbH_GLMyebjl-o5nAMpYFRxiiQGw6V9s1sJ6DcmQYRcGVKSHABijQpU2k_FMyaMFbvyw5-ZC-ZCRewGcMzPY2AXmF37iZzIfC61kNsuOwSrxSM5NW3G-WUFq9bMADM8xzeKyLlVo_RMFGV2LmbXINhWGy7JQr5NWRoej6S4f-IfFcuUyGYqblwF9_s2nWx4Lg952ijUVYdVoL_hYxLMi2jU0mZ4xuCiAMjrTZEdjq7EG3xKoRr-Hy7gJAibtquYIfrZMK1faRUAjDJwrX6OnVk61_UN6ccFhzTmx78m7oSuzIdIE-5AS30-LkAtRpNokZipuGk_yk0ltehnypoqdZPUD2235iEgjJOUkGdMMFdt8IsZIISgdtD8mWMGhSP62QA2g1AzvbiH3M2QhBfufheGbNNFUF1eqeFT1wDtgj35DVZ48TH1q6M8\",\"format\":\"openai-responses-v1\",\"id\":\"rs_08acd5c21bf032190169b2c924ca6c81969a2391f5acda101c\",\"index\":1}]}}],\"usage\":{\"prompt_tokens\":174,\"completion_tokens\":192,\"total_tokens\":366,\"cost\":0.0021375,\"is_byok\":false,\"prompt_tokens_details\":{\"cached_tokens\":0,\"cache_write_tokens\":0,\"audio_tokens\":0,\"video_tokens\":0},\"cost_details\":{\"upstream_inference_cost\":0.0021375,\"upstream_inference_prompt_cost\":0.0002175,\"upstream_inference_completions_cost\":0.00192},\"completion_tokens_details\":{\"reasoning_tokens\":128,\"image_tokens\":0,\"audio_tokens\":0}}}"
58    headers:
59      Content-Type:
60      - application/json
61    status: 200 OK
62    code: 200
63    duration: 520.646583ms