✓ PASS
litellm 1.105.5
tools.parallel-calls · openai-responses
Requirements
| Id | Level | Status | Evidence |
|---|---|---|---|
| calls-reported | MUST | SATISFIED | tool_calls[0] id="call_BmeKD1OMtC1VdSDpPbOwYOp4", name="get_weather", args={"city": "São Paulo"}, parsed=true; truth id="call_BmeKD1OMtC1VdSDpPbOwYOp4", name="get_weather", args={"city": "São Paulo"}, parsed=true; tool_calls[1] id="call_m4m0SD7ATwUk2BagTcrk29Sx", name="get_weather", args={"city": "Zürich"}, parsed=true; truth id="call_m4m0SD7ATwUk2BagTcrk29Sx", name="get_weather", args={"city": "Zürich"}, parsed=true |
What the provider sent
- Finish
- tool_calls
- Raw finish
- completed
- Text
null
- Tool calls
[ { "arguments": { "city": "São Paulo" }, "arguments_parsed_ok": true, "arguments_raw": "{\"city\":\"São Paulo\"}", "id": "call_BmeKD1OMtC1VdSDpPbOwYOp4", "name": "get_weather" }, { "arguments": { "city": "Zürich" }, "arguments_parsed_ok": true, "arguments_raw": "{\"city\":\"Zürich\"}", "id": "call_m4m0SD7ATwUk2BagTcrk29Sx", "name": "get_weather" } ]- Usage
{ "alternatives": {}, "cached_input": 0, "input": 65, "output": 51, "raw": { "input_tokens": 65, "input_tokens_details": { "cache_write_tokens": 0, "cached_tokens": 0 }, "output_tokens": 51, "output_tokens_details": { "reasoning_tokens": 0 }, "total_tokens": 116 }, "reasoning": 0, "total": 116 }- Stream completed
null
- Error
null
Wire excerpt
status: 200
content-type: application/json
body (json):
{
"id": "resp_04eed3cf02db721e006acbfbfb3a4087d1a92ea146aae1c549",
"object": "response",
"created_at": 1791753211,
"status": "completed",
"access_programs": null,
"background": false,
"billing": {
"payer": "developer"
},
"completed_at": 1791753212,
"error": null,
"frequency_penalty": 0.0,
"incomplete_details": null,
"instructions": null,
"max_output_tokens": null,
"max_tool_calls": null,
"model": "gpt-6-luna",
"moderation": null,
"output": [
{
"id": "fc_04eed3cf02db721e006acbfbfc4e7087d185f2a8cff8a5f9bf",
"type": "function_call",
"status": "completed",
"arguments": "{\"city\":\"São Paulo\"}",
"call_id": "call_BmeKD1OMtC1VdSDpPbOwYOp4",
"name": "get_weather"
},
{
"id": "fc_04eed3cf02db721e006acbfbfc4e8087d1b522539e0a86ae6d",
"type": "function_call",
"status": "completed",
"arguments": "{\"city\":\"Zürich\"}",
"call_id": "call_m4m0SD7ATwUk2BagTcrk29Sx",
"name": "get_weather"
}
],
"parallel_tool_calls": true,
"presence_penalty": 0.0,
"previous_response_id": null,
"prompt_cache_key": null,
"prompt_cache_retention": "24h",
"reasoning": {
"context": "all_turns",
"effort": "none",
"mode": "standard",
"summary": null
},
"safety_identifier": null,
"service_tier": "default",
"store": true,
"temperature": 1.0,
"text": {
"format": {
"type": "text"
},
"verbosity": "medium"
},
"tool_choice": "auto",
"tool_usage": {
"image_gen": {
"input_tokens": 0,
"input_tokens_details": {
"image_tokens": 0,
"text_tokens": 0
},
"output_tokens": 0,
"output_tokens_details": {
"image_tokens": 0,
"text_tokens": 0
},
"total_tokens": 0
},
"web_search": {
"num_requests": 0
}
},
"tools": [
{
"type": "function",
"description": "Get the current weather for a city.",
"name": "get_weather",
"output_schema": null,
"parameters": {
"type": "object",
"properties": {
"city": {
"type": "string"
}
},
"required": [
"city"
],
"additionalProperties": false
},
"strict": true
}
],
"top_logprobs": 0,
"top_p": 0.98,
"truncation": "disabled",
"usage": {
"input_tokens": 65,
"input_tokens_details": {
"cache_write_tokens": 0,
"cached_tokens": 0
},
"output_tokens": 51,
"output_tokens_details": {
"reasoning_tokens": 0
},
"total_tokens": 116
},
"user": null,
"metadata": {}
}What the library reported
- Outcome
- returned
- Finish
{ "raw": "completed", "source": "status", "surface": "primary", "value": "tool_calls" }- Text
- Value
null
- Surface
- absent
- Tool calls
[ { "arguments": { "city": "São Paulo" }, "arguments_parsed_ok": true, "arguments_raw": "{\"city\":\"São Paulo\"}", "id": "call_BmeKD1OMtC1VdSDpPbOwYOp4", "name": "get_weather" }, { "arguments": { "city": "Zürich" }, "arguments_parsed_ok": true, "arguments_raw": "{\"city\":\"Zürich\"}", "id": "call_m4m0SD7ATwUk2BagTcrk29Sx", "name": "get_weather" } ]- Usage
{ "cached_input": 0, "input": 65, "output": 51, "reasoning": 0, "surface": { "cached_input": "primary", "input": "primary", "output": "primary", "reasoning": "primary", "total": "primary" }, "total": 116 }- Stream
{ "chunks_seen": null, "completed": null, "used": false }- Error
null
- Unsupported reason
null
Full observation JSON
{
"elapsed_ms": 52.34889592975378,
"error": null,
"finish": {
"raw": "completed",
"source": "status",
"surface": "primary",
"value": "tool_calls"
},
"format": "wiretruth.observation/v1",
"library": {
"api": "litellm.responses",
"language": "python",
"name": "litellm",
"version": "1.105.5"
},
"notes": [],
"outcome": "returned",
"stream": {
"chunks_seen": null,
"completed": null,
"used": false
},
"structured": {
"attempted": false,
"returned_as_success": false,
"value": null
},
"text": {
"surface": "absent",
"value": null
},
"tool_calls": [
{
"arguments": {
"city": "São Paulo"
},
"arguments_parsed_ok": true,
"arguments_raw": "{\"city\":\"São Paulo\"}",
"id": "call_BmeKD1OMtC1VdSDpPbOwYOp4",
"name": "get_weather"
},
{
"arguments": {
"city": "Zürich"
},
"arguments_parsed_ok": true,
"arguments_raw": "{\"city\":\"Zürich\"}",
"id": "call_m4m0SD7ATwUk2BagTcrk29Sx",
"name": "get_weather"
}
],
"unsupported_reason": null,
"usage": {
"cached_input": 0,
"input": 65,
"output": 51,
"reasoning": 0,
"surface": {
"cached_input": "primary",
"input": "primary",
"output": "primary",
"reasoning": "primary",
"total": "primary"
},
"total": 116
}
}Fixture
recorded openai-responses/tools.parallel-calls
| Provenance | Value |
|---|---|
| Recorded at | 2026-10-11T21:13:31Z |
| Requested model | gpt-6-luna |
| Returned model | gpt-6-luna |
| CI run | https://github.com/kartsan03/wiretruth/actions/runs/38175457862 |
Reproduce
wiretruth serve openai-responses/tools.parallel-callsPlain-library snippet from the shim manifest.
litellm.responses(model='openai/' + model, api_base=WIRETRUTH_BASE_URL_OPENAI_RESPONSES, api_key=WIRETRUTH_API_KEY)Upstream
No matching upstream report.
History
| Version | Grade |
|---|---|
| 1.105.5 | ✓ PASS |
| 1.105.1 | ✓ PASS |