feat!: Wire through parallel_tool_calls to Responses API (#4124)

# What does this PR do?
Initial PR against #4123
Adds `parallel_tool_calls` spec to Responses API and basic initial
implementation where no more than one function call is generated when
set to `False`.

## Test Plan
* Unit tests have been added to verify no more than one function call is
generated.
* A followup PR will verify passing through `parallel_tool_calls` to
providers.
* A followup PR will address verification and/or implementation of
incremental function calling across multiple conversational turns.

---------

Signed-off-by: Anastas Stoyanovsky <astoyano@redhat.com>
This commit is contained in:
Anastas Stoyanovsky 2025-11-18 14:25:08 -05:00 committed by GitHub
parent 7093978754
commit a3580e6bc0
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
10 changed files with 73 additions and 32 deletions

View file

@ -3263,9 +3263,10 @@ components:
type: array
title: Output
parallel_tool_calls:
type: boolean
title: Parallel Tool Calls
default: false
anyOf:
- type: boolean
- type: 'null'
default: true
previous_response_id:
anyOf:
- type: string
@ -3662,9 +3663,10 @@ components:
type: array
title: Output
parallel_tool_calls:
type: boolean
title: Parallel Tool Calls
default: false
anyOf:
- type: boolean
- type: 'null'
default: true
previous_response_id:
anyOf:
- type: string