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{\"id\":\"gen-1761054234-3w7r9GFNyhUJONXBloDl\",\"provider\":\"OpenAI\",\"model\":\"openai/gpt-5\",\"object\":\"chat.completion\",\"created\":1761054234,\"choices\":[{\"logprobs\":null,\"finish_reason\":\"tool_calls\",\"native_finish_reason\":\"completed\",\"index\":0,\"message\":{\"role\":\"assistant\",\"content\":\"\",\"refusal\":null,\"reasoning\":\"**Calling weather tool**\\n\\nI’m planning to use the weather tool to fetch data for Florence, Italy. We only need one function call, so I don’t really need to use the multi_tool_use.parallel option, which is for calling multiple functions at once. Instead, I'll call functions.weather directly. It’s important to use the commentary channel for this tool call. I’m ready to proceed and get that weather information!\",\"tool_calls\":[{\"id\":\"call_V9rp4VzfGhqfligrK0CjAvky\",\"index\":0,\"type\":\"function\",\"function\":{\"name\":\"weather\",\"arguments\":\"{\\\"location\\\":\\\"Florence, Italy\\\"}\"}}],\"reasoning_details\":[{\"type\":\"reasoning.summary\",\"summary\":\"**Calling weather tool**\\n\\nI’m planning to use the weather tool to fetch data for Florence, Italy. We only need one function call, so I don’t really need to use the multi_tool_use.parallel option, which is for calling multiple functions at once. Instead, I'll call functions.weather directly. It’s important to use the commentary channel for this tool call. I’m ready to proceed and get that weather information!\",\"format\":\"openai-responses-v1\",\"index\":0},{\"type\":\"reasoning.encrypted\",\"data\":\"gAAAAABo944dZfX4x5upHEO9O6o8FIEssTvKUDKVENphC3oqiFFBWesRyticYRIg5wDWANPnawSFvxjrflYOxJn7dxhKoV4Qk5Vgc40ImuoVGjnDw85-xytqO038cMi7sZYouck0O14iOt78tDVS2dcPDYqcHfG4tQjkWQHJGfY2hS5HgKB1b9w8--ZNdEG_3ssltjlCQQ2zhkQMem5aHpXQuddxGCn8zXaNcnnt4aNfdjkW20q4XZuUBc_bQNrZb-3fptvWhFecSFCF8mX3xZsSbeP5DIEzu7R8TWrMJn4ZHPos6WvOX-7DLVaZfw2WtZok7EjTMYuerKFrZcTWfCmv57iENzDDeCnzzxNwqbn1eOooWvcddK9I0Pk7_WeoeVYovA6g9rMnHDhODLQYrB3-80dgslK6nuQsnPx63pm3Mb7FvzbOPZqlrushqaQDrXSVnG9GxH_imzQ-ZXvsBiUfEZg_hV30F7VkFAJC8TOk0sXwrfQyqj9XV7txK-zg-IHkgMsP95nQ5f37-vJ5R42yb0c1pBZCLl_mNW3WiTP_e4Ghwf8mlKrPqKGn5X8T9JwXqDM4u9QOZAjlTTpkxhAUn9Am4XkldTg5E3OLQYjZjqgAKwgLMUOU2yu1U_szM_VyVceHMsvlDDh4RANYR2hHvECkrdpy7FD2x_UG7kx2dP6bqJrlhO8xVahT66OW8EX-3HJ68rrRSYt3GzuvTavzTkOS-XzroI4zFjQxm4Ye7mUk6BbtpZwYMFBlXRh_7YItH6XdICQYLqhsYGCmQlZoqQfwCZ_lZA-wxzXApcjkNxqWEuKLckwi4Lug3SyrHEtbYtNqTzaS62HsaLfEidhdwLSIL3vxJ09wTI3oyR-wrFrqBel21mCcH5rLUp3qb1OUt0n7ojldhIGfzFuEuPUocaTHr4s5JBaoH4drv55NkrzifQrEbPoq91BcF3Za_lEPtZD-sgVL7X2eEu3d8W58Yf0cBT1kyJNRv6Mu10mGwczdZtZAPmC7vUW_hsrN3Teu2cXARAKE96ouVUydHIXOf30jCNv9wtyWL8OojMkQiIlInR8r1lnXmRYUHrMgIKHfDBSd5pNZS_svvmbAhm6UNfdh6W473vmYCocwooI7DdW-91DZUAW7hTd2FQ9ydmN_iDSmZUYrnEHQYEWyMsT2e41I1RVrNkfp3nsf_TrYZDGYlv8giigeickCQQSXs2qgq68tLRI7h1Niz5RUQ0EMNqcfUlM_R9bC2N2HymCPmPZZWkrEzXgALOUUZWpdlUCoi8OpQ9XFwUzPE2m9KE3hbI1bN1MrgJTMfwYjWYagVgxYxk4ldJL6rIgECbn5ifENIfgLWy2GVI5omyNCvtGhw-CjX5wHM3Oa8lR2nV6qGi7sfonEddk5PgtKL6QyZZ6ylwqugEZZIzkcY1j9zWdblPDq8nHI9o_DNWsy_ixmf6K6016gk1WxCb67iFlqYiC1lYSwJV2_3JkYqrznrAAiskOTDmlmtwwuN2VXRO6buX2X75OpeukxuRBBaO81TKdsWYPWKbzTO4EDZzHRS7QRrQViNDvoUqSgZSe-r5N6Ezj9bFwp3os=\",\"id\":\"rs_09029a2dc312d9a70168f78e1ae6848194985709ebc38f7346\",\"format\":\"openai-responses-v1\",\"index\":0}]}}],\"usage\":{\"prompt_tokens\":66,\"completion_tokens\":86,\"total_tokens\":152,\"cost\":0.0009425,\"is_byok\":false,\"prompt_tokens_details\":{\"cached_tokens\":0,\"audio_tokens\":0},\"cost_details\":{\"upstream_inference_cost\":null,\"upstream_inference_prompt_cost\":0.0000825,\"upstream_inference_completions_cost\":0.00086},\"completion_tokens_details\":{\"reasoning_tokens\":64,\"image_tokens\":0}}}"
28    headers:
29      Content-Type:
30      - application/json
31    status: 200 OK
32    code: 200
33    duration: 394.015334ms
34- id: 1
35  request:
36    proto: HTTP/1.1
37    proto_major: 1
38    proto_minor: 1
39    content_length: 3003
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_V9rp4VzfGhqfligrK0CjAvky","function":{"arguments":"{\"location\":\"Florence, Italy\"}","name":"weather"},"type":"function"}],"role":"assistant","reasoning_details":[{"format":"openai-responses-v1","index":0,"summary":"**Calling weather tool**\n\nI’m planning to use the weather tool to fetch data for Florence, Italy. We only need one function call, so I don’t really need to use the multi_tool_use.parallel option, which is for calling multiple functions at once. Instead, I''ll call functions.weather directly. It’s important to use the commentary channel for this tool call. I’m ready to proceed and get that weather information!","type":"reasoning.summary"},{"data":"gAAAAABo944dZfX4x5upHEO9O6o8FIEssTvKUDKVENphC3oqiFFBWesRyticYRIg5wDWANPnawSFvxjrflYOxJn7dxhKoV4Qk5Vgc40ImuoVGjnDw85-xytqO038cMi7sZYouck0O14iOt78tDVS2dcPDYqcHfG4tQjkWQHJGfY2hS5HgKB1b9w8--ZNdEG_3ssltjlCQQ2zhkQMem5aHpXQuddxGCn8zXaNcnnt4aNfdjkW20q4XZuUBc_bQNrZb-3fptvWhFecSFCF8mX3xZsSbeP5DIEzu7R8TWrMJn4ZHPos6WvOX-7DLVaZfw2WtZok7EjTMYuerKFrZcTWfCmv57iENzDDeCnzzxNwqbn1eOooWvcddK9I0Pk7_WeoeVYovA6g9rMnHDhODLQYrB3-80dgslK6nuQsnPx63pm3Mb7FvzbOPZqlrushqaQDrXSVnG9GxH_imzQ-ZXvsBiUfEZg_hV30F7VkFAJC8TOk0sXwrfQyqj9XV7txK-zg-IHkgMsP95nQ5f37-vJ5R42yb0c1pBZCLl_mNW3WiTP_e4Ghwf8mlKrPqKGn5X8T9JwXqDM4u9QOZAjlTTpkxhAUn9Am4XkldTg5E3OLQYjZjqgAKwgLMUOU2yu1U_szM_VyVceHMsvlDDh4RANYR2hHvECkrdpy7FD2x_UG7kx2dP6bqJrlhO8xVahT66OW8EX-3HJ68rrRSYt3GzuvTavzTkOS-XzroI4zFjQxm4Ye7mUk6BbtpZwYMFBlXRh_7YItH6XdICQYLqhsYGCmQlZoqQfwCZ_lZA-wxzXApcjkNxqWEuKLckwi4Lug3SyrHEtbYtNqTzaS62HsaLfEidhdwLSIL3vxJ09wTI3oyR-wrFrqBel21mCcH5rLUp3qb1OUt0n7ojldhIGfzFuEuPUocaTHr4s5JBaoH4drv55NkrzifQrEbPoq91BcF3Za_lEPtZD-sgVL7X2eEu3d8W58Yf0cBT1kyJNRv6Mu10mGwczdZtZAPmC7vUW_hsrN3Teu2cXARAKE96ouVUydHIXOf30jCNv9wtyWL8OojMkQiIlInR8r1lnXmRYUHrMgIKHfDBSd5pNZS_svvmbAhm6UNfdh6W473vmYCocwooI7DdW-91DZUAW7hTd2FQ9ydmN_iDSmZUYrnEHQYEWyMsT2e41I1RVrNkfp3nsf_TrYZDGYlv8giigeickCQQSXs2qgq68tLRI7h1Niz5RUQ0EMNqcfUlM_R9bC2N2HymCPmPZZWkrEzXgALOUUZWpdlUCoi8OpQ9XFwUzPE2m9KE3hbI1bN1MrgJTMfwYjWYagVgxYxk4ldJL6rIgECbn5ifENIfgLWy2GVI5omyNCvtGhw-CjX5wHM3Oa8lR2nV6qGi7sfonEddk5PgtKL6QyZZ6ylwqugEZZIzkcY1j9zWdblPDq8nHI9o_DNWsy_ixmf6K6016gk1WxCb67iFlqYiC1lYSwJV2_3JkYqrznrAAiskOTDmlmtwwuN2VXRO6buX2X75OpeukxuRBBaO81TKdsWYPWKbzTO4EDZzHRS7QRrQViNDvoUqSgZSe-r5N6Ezj9bFwp3os=","format":"openai-responses-v1","id":"rs_09029a2dc312d9a70168f78e1ae6848194985709ebc38f7346","index":0,"type":"reasoning.encrypted"}]},{"content":"40 C","tool_call_id":"call_V9rp4VzfGhqfligrK0CjAvky","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{\"id\":\"gen-1761054238-xQNrpePK82YW0rGinOOz\",\"provider\":\"OpenAI\",\"model\":\"openai/gpt-5\",\"object\":\"chat.completion\",\"created\":1761054238,\"choices\":[{\"logprobs\":null,\"finish_reason\":\"stop\",\"native_finish_reason\":\"completed\",\"index\":0,\"message\":{\"role\":\"assistant\",\"content\":\"Right now in Florence, Italy, it’s 40°C (about 104°F). Would you like details like wind, humidity, or a forecast?\",\"refusal\":null,\"reasoning\":\"**Reporting Florence weather**\\n\\nThe tool says the temperature in Florence is 40°C, which is extremely hot. I plan to present this clearly: “It’s 40°C (104°F) right now.” The user asked specifically about Florence’s weather, but since I only have the temperature, I’ll let them know that if they want more details like the forecast, humidity, or wind information, they can ask. I’ll keep the formatting minimal and straightforward!\",\"reasoning_details\":[{\"type\":\"reasoning.summary\",\"summary\":\"**Reporting Florence weather**\\n\\nThe tool says the temperature in Florence is 40°C, which is extremely hot. I plan to present this clearly: “It’s 40°C (104°F) right now.” The user asked specifically about Florence’s weather, but since I only have the temperature, I’ll let them know that if they want more details like the forecast, humidity, or wind information, they can ask. I’ll keep the formatting minimal and straightforward!\",\"format\":\"openai-responses-v1\",\"index\":0},{\"type\":\"reasoning.encrypted\",\"data\":\"gAAAAABo944jF01C67U4zDS7nK1XiLlkDBfH87ZsVtc4nIRLaWALjHhJRqXKuNPEL-ImKNW49wXPUm0uwziVgchbOw_cUOQDdsocetEHg4UDFCq_Qqm7wdAesjwQSMXeuN0XF3yuO6rLa33kPRPzA9sh-Y-SiXnX_B1jjaVpztt-XlWZrAemaFQk_5qehuqVG83MZqQT4CL1x5TwXHQW4MrmYzVRC_gneZGtEXrmY0Dk_2nNGsogFgsb8obWNouVI43UexMaxkZe3CNN2hOUz0Wy3j46ErR4th8VDFK3eebzpsdsHWkvVva4_2hAhEQFgDgAknQVY1TiCTEVg0jcvpOCuVLb41RXax4atO1tYAYvyutG1NK_MNGpjlmRwQuPk3yFXNoSvHq4kb1_YK4RZYLlcJSkzFxXSGWgKzttv9T8eaA6_oRWUu1MZEQSrIrwyMDic5ZwBBoJyuFobknZ9V8Lt2syWDgarOBwvuRE075xIHLAMPP4gE4eB6Z_AMpD6evadjBSdc3HxX96qhGAuINehOjhhAQ_-j4-fu3knAEKb3uoR7e4tAu5voW9f0Q4eutLZSzDMz_ARloK3gd3mCCZbQBPGJIuMA9kHQAqUpmYWrqimIM9OJZ9RowU3Bnhi4L63f-4iWB5Ebb5z4gjuRwKn6BI5n_8VkimJgSLYYQfXBl5YOsk2k0JnfjX7lFMbVAiHxnxwSn7ekD2-Js_mw0GSBkRx_rutRlXrQ8B09qnvoy-S1zlZC9EowksQtTLjt-RKwqtBZoKu0USOpMuRNibBqybcR55MTWlsuqj2DNiL1p5jPW3tqJsYQj5kLW2J9SsH96vfpufEnfykt1inLfqQyy-v1MKge9Chuq3Z_wKtfkmVY5n8CPryXIngSrI6965uxK292BDS-k7LlvYU8kwN_m1ILm2i4r7YY-rSZkoKPrKL7IGomhjr9mw3wNK4Ta27uw4syVyRLyQ0gl6FnmPJcRcbsWb774C6JTYklHa-jJXNLL_AHeBZbBAR3Too5Cvk_ZTLQQXsPHNqD6us2vLqUlJHtJLJTiR98XOt_pDfCBKHm0EZyeSL2fq9FOUCY32-F4uPeZEROd1zZF-Tx0j45VlePpTAYZ7JQEvuOrH89iAPw8JwxgZgqcWqI3Ky9cZF5-d5Lxs2C_KoNMcvXr7gTjaOXsKEs0C529sdpo-Yfd_WyZj8LI46L70qmBF7n66hDsKQjyyVdb8x9u3UAbURtlROhXOx_E8hK0S9QeN4VIlfi2GPfysvADSesWdWMx0FmVaLYX9IXpuOh15cfCLl6Oob1GjUrvlEDown_6GUOW20ZJIJG8s_s8wjTa7TvlCaVF8B1f7rq1RtlnscAswMFRW5itVj3Fcz83W6cUx4nuvPifs3_MrQ1Ef6ErfizAbC_o2ZOs0WMr5XAfNBITgCb_JiNmjoZKrMhEpXLkpgDE1JYZw9NlGtwBJaE1GbtOP5cNDIZMjcqms75vej-gqS6CqzWm7DsPxoOabYlROMMJveFiEdtLNZUXwaLN8cOU84t9BRSuo64yNRHgHyVlvTKwTy5uodoivkgWh5xZ4cx_ro396f-fpCAVaWQ6Zfd3LVCAqkMxkJKR7MJlQ7mGrSf-Z1XVs-G2gJ0ST4PFa_Mflww0r-P3igvzbr1quOBwxgHKU7oozO6lws47aeMJxdeODrDN0zw==\",\"id\":\"rs_09029a2dc312d9a70168f78e1f6924819494d36d087f855215\",\"format\":\"openai-responses-v1\",\"index\":0}]}}],\"usage\":{\"prompt_tokens\":204,\"completion_tokens\":165,\"total_tokens\":369,\"cost\":0.001905,\"is_byok\":false,\"prompt_tokens_details\":{\"cached_tokens\":0,\"audio_tokens\":0},\"cost_details\":{\"upstream_inference_cost\":null,\"upstream_inference_prompt_cost\":0.000255,\"upstream_inference_completions_cost\":0.00165},\"completion_tokens_details\":{\"reasoning_tokens\":128,\"image_tokens\":0}}}"
58    headers:
59      Content-Type:
60      - application/json
61    status: 200 OK
62    code: 200
63    duration: 729.454917ms