Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
9547b52
feat: add reasoning output support for OpenAI Responses API
rranabha Mar 19, 2026
60898b4
chore: regenerate openai coverage after adding ReasoningItem variant
robinnarsinghranabhat Mar 20, 2026
1b948d7
test: add integration tests for reasoning output in Responses API
robinnarsinghranabhat Mar 20, 2026
4b18206
fix: use openai_client in reasoning integration tests
robinnarsinghranabhat Mar 20, 2026
6234443
feat: provider-level reasoning support via openai_chat_completions_wi…
robinnarsinghranabhat Mar 25, 2026
f67380e
refactor: use internal AssistantMessageWithReasoning instead of modif…
robinnarsinghranabhat Mar 27, 2026
a39d08f
test: add reasoning effort param to integration tests
robinnarsinghranabhat Mar 27, 2026
b81649b
feat: graceful fallback for reasoning unsupported providers
robinnarsinghranabhat Mar 27, 2026
3872c64
fix: minor cleanups in reasoning tests
rranabha Mar 27, 2026
33b3c07
fix: make integration tests compatible with current LlamaStack client
robinnarsinghranabhat Mar 27, 2026
33c1cf6
Recordings update from CI
github-actions[bot] Mar 27, 2026
e2d2ab3
test: re-record ollama-reasoning and vllm-reasoning integration test …
robinnarsinghranabhat Mar 27, 2026
8770017
fix: pass params copy to reasoning method to prevent router mutation …
robinnarsinghranabhat Mar 27, 2026
9fc7445
test: re-record gpt-reasoning integration test recordings
robinnarsinghranabhat Mar 27, 2026
f157657
chore: pre-commit formatting fixes
robinnarsinghranabhat Mar 28, 2026
01bba9b
chore: regenerate docs after rebase
robinnarsinghranabhat Mar 28, 2026
ca82390
fix: clear reasoning_effort on fallback to prevent provider rejection
robinnarsinghranabhat Mar 28, 2026
63e2987
fix: remove flawed unsupported-provider fallback test
robinnarsinghranabhat Mar 28, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
111 changes: 102 additions & 9 deletions client-sdks/stainless/openapi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6925,6 +6925,7 @@ components:
mcp_call: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
mcp_list_tools: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
message: '#/components/schemas/OpenAIResponseMessage'
reasoning: '#/components/schemas/OpenAIResponseOutputMessageReasoningItem'
web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
propertyName: type
oneOf:
Expand All @@ -6942,7 +6943,9 @@ components:
title: OpenAIResponseOutputMessageMCPListTools
- $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
title: OpenAIResponseMCPApprovalRequest
title: OpenAIResponseMessage | ... (7 variants)
- $ref: '#/components/schemas/OpenAIResponseOutputMessageReasoningItem'
title: OpenAIResponseOutputMessageReasoningItem
title: OpenAIResponseMessage | ... (8 variants)
- $ref: '#/components/schemas/OpenAIResponseInputFunctionToolCallOutput'
title: OpenAIResponseInputFunctionToolCallOutput
- $ref: '#/components/schemas/OpenAIResponseMCPApprovalResponse'
Expand Down Expand Up @@ -7094,6 +7097,8 @@ components:
title: OpenAIResponseOutputMessageMCPListTools
- $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
title: OpenAIResponseMCPApprovalRequest
- $ref: '#/components/schemas/OpenAIResponseOutputMessageReasoningItem'
title: OpenAIResponseOutputMessageReasoningItem
discriminator:
propertyName: type
mapping:
Expand All @@ -7103,8 +7108,9 @@ components:
mcp_call: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
mcp_list_tools: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
message: '#/components/schemas/OpenAIResponseMessage-Output'
reasoning: '#/components/schemas/OpenAIResponseOutputMessageReasoningItem'
web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
title: OpenAIResponseMessage-Output | ... (7 variants)
title: OpenAIResponseMessage-Output | ... (8 variants)
type: array
title: Output
parallel_tool_calls:
Expand Down Expand Up @@ -7270,6 +7276,8 @@ components:
title: OpenAIResponseOutputMessageMCPListTools
- $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
title: OpenAIResponseMCPApprovalRequest
- $ref: '#/components/schemas/OpenAIResponseOutputMessageReasoningItem'
title: OpenAIResponseOutputMessageReasoningItem
discriminator:
propertyName: type
mapping:
Expand All @@ -7279,8 +7287,9 @@ components:
mcp_call: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
mcp_list_tools: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
message: '#/components/schemas/OpenAIResponseMessage-Output'
reasoning: '#/components/schemas/OpenAIResponseOutputMessageReasoningItem'
web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
title: OpenAIResponseMessage-Output | ... (7 variants)
title: OpenAIResponseMessage-Output | ... (8 variants)
- $ref: '#/components/schemas/OpenAIResponseInputFunctionToolCallOutput'
title: OpenAIResponseInputFunctionToolCallOutput
- $ref: '#/components/schemas/OpenAIResponseMCPApprovalResponse'
Expand Down Expand Up @@ -7309,6 +7318,7 @@ components:
mcp_call: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
mcp_list_tools: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
message: '#/components/schemas/OpenAIResponseMessage'
reasoning: '#/components/schemas/OpenAIResponseOutputMessageReasoningItem'
web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
propertyName: type
oneOf:
Expand All @@ -7326,7 +7336,9 @@ components:
title: OpenAIResponseOutputMessageMCPListTools
- $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
title: OpenAIResponseMCPApprovalRequest
title: OpenAIResponseMessage | ... (7 variants)
- $ref: '#/components/schemas/OpenAIResponseOutputMessageReasoningItem'
title: OpenAIResponseOutputMessageReasoningItem
title: OpenAIResponseMessage | ... (8 variants)
OpenAIResponsePrompt:
properties:
id:
Expand Down Expand Up @@ -7577,6 +7589,8 @@ components:
title: OpenAIResponseOutputMessageMCPListTools
- $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
title: OpenAIResponseMCPApprovalRequest
- $ref: '#/components/schemas/OpenAIResponseOutputMessageReasoningItem'
title: OpenAIResponseOutputMessageReasoningItem
discriminator:
propertyName: type
mapping:
Expand All @@ -7586,8 +7600,9 @@ components:
mcp_call: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
mcp_list_tools: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
message: '#/components/schemas/OpenAIResponseMessage-Output'
reasoning: '#/components/schemas/OpenAIResponseOutputMessageReasoningItem'
web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
title: OpenAIResponseMessage-Output | ... (7 variants)
title: OpenAIResponseMessage-Output | ... (8 variants)
type: array
title: Output
parallel_tool_calls:
Expand Down Expand Up @@ -8382,6 +8397,7 @@ components:
mcp_call: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
mcp_list_tools: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
message: '#/components/schemas/OpenAIResponseMessage'
reasoning: '#/components/schemas/OpenAIResponseOutputMessageReasoningItem'
web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
propertyName: type
oneOf:
Expand All @@ -8399,7 +8415,9 @@ components:
title: OpenAIResponseOutputMessageMCPListTools
- $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
title: OpenAIResponseMCPApprovalRequest
title: OpenAIResponseMessage | ... (7 variants)
- $ref: '#/components/schemas/OpenAIResponseOutputMessageReasoningItem'
title: OpenAIResponseOutputMessageReasoningItem
title: OpenAIResponseMessage | ... (8 variants)
output_index:
title: Output Index
type: integer
Expand Down Expand Up @@ -8432,6 +8450,7 @@ components:
mcp_call: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
mcp_list_tools: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
message: '#/components/schemas/OpenAIResponseMessage'
reasoning: '#/components/schemas/OpenAIResponseOutputMessageReasoningItem'
web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
propertyName: type
oneOf:
Expand All @@ -8449,7 +8468,9 @@ components:
title: OpenAIResponseOutputMessageMCPListTools
- $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
title: OpenAIResponseMCPApprovalRequest
title: OpenAIResponseMessage | ... (7 variants)
- $ref: '#/components/schemas/OpenAIResponseOutputMessageReasoningItem'
title: OpenAIResponseOutputMessageReasoningItem
title: OpenAIResponseMessage | ... (8 variants)
output_index:
title: Output Index
type: integer
Expand Down Expand Up @@ -8925,6 +8946,8 @@ components:
title: OpenAIResponseOutputMessageMCPListTools
- $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
title: OpenAIResponseMCPApprovalRequest
- $ref: '#/components/schemas/OpenAIResponseOutputMessageReasoningItem'
title: OpenAIResponseOutputMessageReasoningItem
discriminator:
propertyName: type
mapping:
Expand All @@ -8934,8 +8957,9 @@ components:
mcp_call: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
mcp_list_tools: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
message: '#/components/schemas/OpenAIResponseMessage-Output'
reasoning: '#/components/schemas/OpenAIResponseOutputMessageReasoningItem'
web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
title: OpenAIResponseMessage-Output | ... (7 variants)
title: OpenAIResponseMessage-Output | ... (8 variants)
- $ref: '#/components/schemas/OpenAIResponseInputFunctionToolCallOutput'
title: OpenAIResponseInputFunctionToolCallOutput
- $ref: '#/components/schemas/OpenAIResponseMCPApprovalResponse'
Expand Down Expand Up @@ -11481,6 +11505,8 @@ components:
title: OpenAIResponseOutputMessageMCPListTools
- $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
title: OpenAIResponseMCPApprovalRequest
- $ref: '#/components/schemas/OpenAIResponseOutputMessageReasoningItem'
title: OpenAIResponseOutputMessageReasoningItem
discriminator:
propertyName: type
mapping:
Expand All @@ -11490,8 +11516,9 @@ components:
mcp_call: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
mcp_list_tools: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
message: '#/components/schemas/OpenAIResponseMessage-Input'
reasoning: '#/components/schemas/OpenAIResponseOutputMessageReasoningItem'
web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
title: OpenAIResponseMessage-Input | ... (7 variants)
title: OpenAIResponseMessage-Input | ... (8 variants)
- $ref: '#/components/schemas/OpenAIResponseInputFunctionToolCallOutput'
title: OpenAIResponseInputFunctionToolCallOutput
- $ref: '#/components/schemas/OpenAIResponseMCPApprovalResponse'
Expand Down Expand Up @@ -12573,6 +12600,64 @@ components:
- text
title: OpenAIResponseOutputMessageFileSearchToolCallResults
description: Search results returned by the file search operation.
OpenAIResponseOutputMessageReasoningContent:
properties:
text:
type: string
title: Text
type:
type: string
title: Type
enum:
- reasoning_text
required:
- text
title: OpenAIResponseOutputMessageReasoningContent
description: Reasoning text from the model.
OpenAIResponseOutputMessageReasoningItem:
properties:
id:
type: string
title: Id
summary:
items:
$ref: '#/components/schemas/OpenAIResponseOutputMessageReasoningSummary'
type: array
title: Summary
type:
type: string
title: Type
enum:
- reasoning
content:
anyOf:
- items:
$ref: '#/components/schemas/OpenAIResponseOutputMessageReasoningContent'
type: array
- type: 'null'
status:
anyOf:
- type: string
- type: 'null'
required:
- id
- summary
title: OpenAIResponseOutputMessageReasoningItem
description: Reasoning output from the model, representing the model's thinking process.
OpenAIResponseOutputMessageReasoningSummary:
properties:
text:
type: string
title: Text
type:
type: string
title: Type
enum:
- summary_text
required:
- text
title: OpenAIResponseOutputMessageReasoningSummary
description: A summary of reasoning output from the model.
OpenAIResponseReasoning:
properties:
effort:
Expand All @@ -12586,6 +12671,14 @@ components:
- high
- xhigh
- type: 'null'
summary:
anyOf:
- type: string
enum:
- auto
- concise
- detailed
- type: 'null'
title: OpenAIResponseReasoning
description: |-
Configuration for reasoning effort in OpenAI responses.
Expand Down
2 changes: 1 addition & 1 deletion docs/docs/api-openai/conformance.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -999,7 +999,7 @@ Below is a detailed breakdown of conformance issues and missing properties for e
| `responses.200.content.application/json.properties.incomplete_details` | Union variants added: 1; Union variants removed: 1 | Yes |
| `responses.200.content.application/json.properties.metadata` | Union variants added: 2 | Yes |
| `responses.200.content.application/json.properties.object` | Default changed: response -> None | No |
| `responses.200.content.application/json.properties.output.items` | Union variants added: 7; Union variants removed: 4 | Yes |
| `responses.200.content.application/json.properties.output.items` | Union variants added: 8; Union variants removed: 4 | Yes |
| `responses.200.content.application/json.properties.parallel_tool_calls` | Type removed: ['boolean']; Nullable added (OpenAI non-nullable); Union variants added: 2; Default changed: None -> True | Yes |
| `responses.200.content.application/json.properties.presence_penalty` | Type removed: ['number']; Nullable added (OpenAI non-nullable); Union variants added: 2 | No |
| `responses.200.content.application/json.properties.reasoning` | Union variants added: 1; Union variants removed: 1 | Yes |
Expand Down
Loading
Loading