multi_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: 836
 10    host: ""
 11    body: '{"max_output_tokens":4000,"store":false,"input":[{"content":"You are a helpful assistant. CRITICAL: Always use both add and multiply at the same time ALWAYS.","role":"developer"},{"content":[{"text":"Add and multiply the number 2 and 3","type":"input_text"}],"role":"user"}],"model":"gpt-5","tool_choice":"auto","tools":[{"strict":false,"parameters":{"properties":{"a":{"description":"first number","type":"integer"},"b":{"description":"second number","type":"integer"}},"required":["a","b"],"type":"object"},"name":"add","description":"Add two numbers","type":"function"},{"strict":false,"parameters":{"properties":{"a":{"description":"first number","type":"integer"},"b":{"description":"second number","type":"integer"}},"required":["a","b"],"type":"object"},"name":"multiply","description":"Multiply two numbers","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://api.openai.com/v1/responses
 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: |-
 28      {
 29        "id": "resp_03b3c71eed97b5600169b3194dbf748191bbde243b0983aa49",
 30        "object": "response",
 31        "created_at": 1773345101,
 32        "status": "completed",
 33        "background": false,
 34        "billing": {
 35          "payer": "developer"
 36        },
 37        "completed_at": 1773345112,
 38        "error": null,
 39        "frequency_penalty": 0.0,
 40        "incomplete_details": null,
 41        "instructions": null,
 42        "max_output_tokens": 4000,
 43        "max_tool_calls": null,
 44        "model": "gpt-5-2025-08-07",
 45        "output": [
 46          {
 47            "id": "rs_03b3c71eed97b5600169b3194e5d948191bebefe1e37f969d9",
 48            "type": "reasoning",
 49            "summary": []
 50          },
 51          {
 52            "id": "fc_03b3c71eed97b5600169b3195844ac819186a843dc3f5705d0",
 53            "type": "function_call",
 54            "status": "completed",
 55            "arguments": "{\"a\":2,\"b\":3}",
 56            "call_id": "call_SXMdSYIWhKweiIjoBRxUmzZw",
 57            "name": "add"
 58          },
 59          {
 60            "id": "fc_03b3c71eed97b5600169b3195844b881918850ccf6295b1358",
 61            "type": "function_call",
 62            "status": "completed",
 63            "arguments": "{\"a\":2,\"b\":3}",
 64            "call_id": "call_wBPb8fIvZKT8tHxONHfs6iqq",
 65            "name": "multiply"
 66          }
 67        ],
 68        "parallel_tool_calls": true,
 69        "presence_penalty": 0.0,
 70        "previous_response_id": null,
 71        "prompt_cache_key": null,
 72        "prompt_cache_retention": null,
 73        "reasoning": {
 74          "effort": "medium",
 75          "summary": null
 76        },
 77        "safety_identifier": null,
 78        "service_tier": "default",
 79        "store": false,
 80        "temperature": 1.0,
 81        "text": {
 82          "format": {
 83            "type": "text"
 84          },
 85          "verbosity": "medium"
 86        },
 87        "tool_choice": "auto",
 88        "tools": [
 89          {
 90            "type": "function",
 91            "description": "Add two numbers",
 92            "name": "add",
 93            "parameters": {
 94              "properties": {
 95                "a": {
 96                  "description": "first number",
 97                  "type": "integer"
 98                },
 99                "b": {
100                  "description": "second number",
101                  "type": "integer"
102                }
103              },
104              "required": [
105                "a",
106                "b"
107              ],
108              "type": "object"
109            },
110            "strict": false
111          },
112          {
113            "type": "function",
114            "description": "Multiply two numbers",
115            "name": "multiply",
116            "parameters": {
117              "properties": {
118                "a": {
119                  "description": "first number",
120                  "type": "integer"
121                },
122                "b": {
123                  "description": "second number",
124                  "type": "integer"
125                }
126              },
127              "required": [
128                "a",
129                "b"
130              ],
131              "type": "object"
132            },
133            "strict": false
134          }
135        ],
136        "top_logprobs": 0,
137        "top_p": 1.0,
138        "truncation": "disabled",
139        "usage": {
140          "input_tokens": 113,
141          "input_tokens_details": {
142            "cached_tokens": 0
143          },
144          "output_tokens": 482,
145          "output_tokens_details": {
146            "reasoning_tokens": 384
147          },
148          "total_tokens": 595
149        },
150        "user": null,
151        "metadata": {}
152      }
153    headers:
154      Content-Type:
155      - application/json
156    status: 200 OK
157    code: 200
158    duration: 11.724504125s
159- id: 1
160  request:
161    proto: HTTP/1.1
162    proto_major: 1
163    proto_minor: 1
164    content_length: 1263
165    host: ""
166    body: '{"max_output_tokens":4000,"store":false,"input":[{"content":"You are a helpful assistant. CRITICAL: Always use both add and multiply at the same time ALWAYS.","role":"developer"},{"content":[{"text":"Add and multiply the number 2 and 3","type":"input_text"}],"role":"user"},{"arguments":"\"{\\\"a\\\":2,\\\"b\\\":3}\"","call_id":"call_SXMdSYIWhKweiIjoBRxUmzZw","name":"add","type":"function_call"},{"arguments":"\"{\\\"a\\\":2,\\\"b\\\":3}\"","call_id":"call_wBPb8fIvZKT8tHxONHfs6iqq","name":"multiply","type":"function_call"},{"call_id":"call_SXMdSYIWhKweiIjoBRxUmzZw","output":"5","type":"function_call_output"},{"call_id":"call_wBPb8fIvZKT8tHxONHfs6iqq","output":"6","type":"function_call_output"}],"model":"gpt-5","tool_choice":"auto","tools":[{"strict":false,"parameters":{"properties":{"a":{"description":"first number","type":"integer"},"b":{"description":"second number","type":"integer"}},"required":["a","b"],"type":"object"},"name":"add","description":"Add two numbers","type":"function"},{"strict":false,"parameters":{"properties":{"a":{"description":"first number","type":"integer"},"b":{"description":"second number","type":"integer"}},"required":["a","b"],"type":"object"},"name":"multiply","description":"Multiply two numbers","type":"function"}]}'
167    headers:
168      Accept:
169      - application/json
170      Content-Type:
171      - application/json
172      User-Agent:
173      - Charm-Fantasy/0.12.2 (https://charm.land/fantasy)
174    url: https://api.openai.com/v1/responses
175    method: POST
176  response:
177    proto: HTTP/2.0
178    proto_major: 2
179    proto_minor: 0
180    content_length: -1
181    uncompressed: true
182    body: |-
183      {
184        "id": "resp_090b2c2ec0612c180169b319590fc081979080b24b97425b44",
185        "object": "response",
186        "created_at": 1773345113,
187        "status": "completed",
188        "background": false,
189        "billing": {
190          "payer": "developer"
191        },
192        "completed_at": 1773345114,
193        "error": null,
194        "frequency_penalty": 0.0,
195        "incomplete_details": null,
196        "instructions": null,
197        "max_output_tokens": 4000,
198        "max_tool_calls": null,
199        "model": "gpt-5-2025-08-07",
200        "output": [
201          {
202            "id": "msg_090b2c2ec0612c180169b31959d5008197bc5cf5fcf895424d",
203            "type": "message",
204            "status": "completed",
205            "content": [
206              {
207                "type": "output_text",
208                "annotations": [],
209                "logprobs": [],
210                "text": "Results:\n- Sum (2 + 3) = 5\n- Product (2 \u00d7 3) = 6"
211              }
212            ],
213            "role": "assistant"
214          }
215        ],
216        "parallel_tool_calls": true,
217        "presence_penalty": 0.0,
218        "previous_response_id": null,
219        "prompt_cache_key": null,
220        "prompt_cache_retention": null,
221        "reasoning": {
222          "effort": "medium",
223          "summary": null
224        },
225        "safety_identifier": null,
226        "service_tier": "default",
227        "store": false,
228        "temperature": 1.0,
229        "text": {
230          "format": {
231            "type": "text"
232          },
233          "verbosity": "medium"
234        },
235        "tool_choice": "auto",
236        "tools": [
237          {
238            "type": "function",
239            "description": "Add two numbers",
240            "name": "add",
241            "parameters": {
242              "properties": {
243                "a": {
244                  "description": "first number",
245                  "type": "integer"
246                },
247                "b": {
248                  "description": "second number",
249                  "type": "integer"
250                }
251              },
252              "required": [
253                "a",
254                "b"
255              ],
256              "type": "object"
257            },
258            "strict": false
259          },
260          {
261            "type": "function",
262            "description": "Multiply two numbers",
263            "name": "multiply",
264            "parameters": {
265              "properties": {
266                "a": {
267                  "description": "first number",
268                  "type": "integer"
269                },
270                "b": {
271                  "description": "second number",
272                  "type": "integer"
273                }
274              },
275              "required": [
276                "a",
277                "b"
278              ],
279              "type": "object"
280            },
281            "strict": false
282          }
283        ],
284        "top_logprobs": 0,
285        "top_p": 1.0,
286        "truncation": "disabled",
287        "usage": {
288          "input_tokens": 173,
289          "input_tokens_details": {
290            "cached_tokens": 0
291          },
292          "output_tokens": 29,
293          "output_tokens_details": {
294            "reasoning_tokens": 0
295          },
296          "total_tokens": 202
297        },
298        "user": null,
299        "metadata": {}
300      }
301    headers:
302      Content-Type:
303      - application/json
304    status: 200 OK
305    code: 200
306    duration: 2.080252208s