openai 0.15.0 → 0.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +47 -0
- data/README.md +14 -20
- data/lib/openai/helpers/structured_output/json_schema_converter.rb +20 -21
- data/lib/openai/helpers/structured_output/union_of.rb +11 -1
- data/lib/openai/internal/transport/base_client.rb +1 -1
- data/lib/openai/internal/type/enum.rb +6 -6
- data/lib/openai/internal/type/union.rb +13 -17
- data/lib/openai/models/beta/assistant_create_params.rb +4 -5
- data/lib/openai/models/beta/assistant_update_params.rb +22 -5
- data/lib/openai/models/beta/threads/run_create_params.rb +4 -5
- data/lib/openai/models/chat/chat_completion_allowed_tool_choice.rb +33 -0
- data/lib/openai/models/chat/chat_completion_allowed_tools.rb +64 -0
- data/lib/openai/models/chat/chat_completion_assistant_message_param.rb +3 -5
- data/lib/openai/models/chat/chat_completion_custom_tool.rb +163 -0
- data/lib/openai/models/chat/chat_completion_function_tool.rb +29 -0
- data/lib/openai/models/chat/chat_completion_message.rb +3 -5
- data/lib/openai/models/chat/chat_completion_message_custom_tool_call.rb +60 -0
- data/lib/openai/models/chat/chat_completion_message_function_tool_call.rb +73 -0
- data/lib/openai/models/chat/chat_completion_message_tool_call.rb +10 -56
- data/lib/openai/models/chat/chat_completion_named_tool_choice.rb +2 -2
- data/lib/openai/models/chat/chat_completion_named_tool_choice_custom.rb +42 -0
- data/lib/openai/models/chat/chat_completion_store_message.rb +32 -1
- data/lib/openai/models/chat/chat_completion_stream_options.rb +14 -1
- data/lib/openai/models/chat/chat_completion_tool.rb +12 -14
- data/lib/openai/models/chat/chat_completion_tool_choice_option.rb +7 -1
- data/lib/openai/models/chat/completion_create_params.rb +65 -16
- data/lib/openai/models/chat_model.rb +7 -0
- data/lib/openai/models/custom_tool_input_format.rb +76 -0
- data/lib/openai/models/evals/create_eval_completions_run_data_source.rb +3 -3
- data/lib/openai/models/evals/run_cancel_response.rb +2 -2
- data/lib/openai/models/evals/run_create_params.rb +2 -2
- data/lib/openai/models/evals/run_create_response.rb +2 -2
- data/lib/openai/models/evals/run_list_response.rb +2 -2
- data/lib/openai/models/evals/run_retrieve_response.rb +2 -2
- data/lib/openai/models/reasoning.rb +4 -5
- data/lib/openai/models/reasoning_effort.rb +4 -4
- data/lib/openai/models/response_format_text_grammar.rb +27 -0
- data/lib/openai/models/response_format_text_python.rb +20 -0
- data/lib/openai/models/responses/custom_tool.rb +48 -0
- data/lib/openai/models/responses/response.rb +70 -16
- data/lib/openai/models/responses/response_create_params.rb +78 -14
- data/lib/openai/models/responses/response_custom_tool_call.rb +55 -0
- data/lib/openai/models/responses/response_custom_tool_call_input_delta_event.rb +52 -0
- data/lib/openai/models/responses/response_custom_tool_call_input_done_event.rb +52 -0
- data/lib/openai/models/responses/response_custom_tool_call_output.rb +47 -0
- data/lib/openai/models/responses/response_input_item.rb +7 -1
- data/lib/openai/models/responses/response_output_item.rb +4 -1
- data/lib/openai/models/responses/response_output_item_added_event.rb +2 -2
- data/lib/openai/models/responses/response_output_item_done_event.rb +2 -2
- data/lib/openai/models/responses/response_reasoning_item.rb +36 -5
- data/lib/openai/models/responses/response_reasoning_text_delta_event.rb +63 -0
- data/lib/openai/models/responses/response_reasoning_text_done_event.rb +63 -0
- data/lib/openai/models/responses/response_retrieve_params.rb +14 -1
- data/lib/openai/models/responses/response_stream_event.rb +13 -11
- data/lib/openai/models/responses/response_text_config.rb +27 -1
- data/lib/openai/models/responses/tool.rb +5 -1
- data/lib/openai/models/responses/tool_choice_allowed.rb +73 -0
- data/lib/openai/models/responses/tool_choice_custom.rb +28 -0
- data/lib/openai/models/vector_store_search_params.rb +6 -1
- data/lib/openai/models.rb +6 -0
- data/lib/openai/resources/beta/assistants.rb +2 -2
- data/lib/openai/resources/beta/threads/runs.rb +2 -2
- data/lib/openai/resources/chat/completions.rb +26 -12
- data/lib/openai/resources/responses.rb +77 -36
- data/lib/openai/version.rb +1 -1
- data/lib/openai.rb +19 -2
- data/rbi/openai/internal/transport/base_client.rbi +1 -1
- data/rbi/openai/models/beta/assistant_create_params.rbi +6 -8
- data/rbi/openai/models/beta/assistant_update_params.rbi +36 -8
- data/rbi/openai/models/beta/threads/run_create_params.rbi +6 -8
- data/rbi/openai/models/chat/chat_completion_allowed_tool_choice.rbi +60 -0
- data/rbi/openai/models/chat/chat_completion_allowed_tools.rbi +118 -0
- data/rbi/openai/models/chat/chat_completion_assistant_message_param.rbi +27 -4
- data/rbi/openai/models/chat/chat_completion_custom_tool.rbi +335 -0
- data/rbi/openai/models/chat/chat_completion_function_tool.rbi +51 -0
- data/rbi/openai/models/chat/chat_completion_message.rbi +17 -4
- data/rbi/openai/models/chat/chat_completion_message_custom_tool_call.rbi +105 -0
- data/rbi/openai/models/chat/chat_completion_message_function_tool_call.rbi +118 -0
- data/rbi/openai/models/chat/chat_completion_message_tool_call.rbi +9 -92
- data/rbi/openai/models/chat/chat_completion_named_tool_choice.rbi +2 -2
- data/rbi/openai/models/chat/chat_completion_named_tool_choice_custom.rbi +89 -0
- data/rbi/openai/models/chat/chat_completion_store_message.rbi +68 -3
- data/rbi/openai/models/chat/chat_completion_stream_options.rbi +30 -2
- data/rbi/openai/models/chat/chat_completion_tool.rbi +11 -30
- data/rbi/openai/models/chat/chat_completion_tool_choice_option.rbi +3 -1
- data/rbi/openai/models/chat/completion_create_params.rbi +150 -31
- data/rbi/openai/models/chat_model.rbi +11 -0
- data/rbi/openai/models/custom_tool_input_format.rbi +136 -0
- data/rbi/openai/models/evals/create_eval_completions_run_data_source.rbi +8 -4
- data/rbi/openai/models/evals/run_cancel_response.rbi +2 -0
- data/rbi/openai/models/evals/run_create_params.rbi +4 -0
- data/rbi/openai/models/evals/run_create_response.rbi +2 -0
- data/rbi/openai/models/evals/run_list_response.rbi +2 -0
- data/rbi/openai/models/evals/run_retrieve_response.rbi +2 -0
- data/rbi/openai/models/reasoning.rbi +6 -8
- data/rbi/openai/models/reasoning_effort.rbi +4 -4
- data/rbi/openai/models/response_format_text_grammar.rbi +35 -0
- data/rbi/openai/models/response_format_text_python.rbi +30 -0
- data/rbi/openai/models/responses/custom_tool.rbi +96 -0
- data/rbi/openai/models/responses/response.rbi +59 -11
- data/rbi/openai/models/responses/response_create_params.rbi +138 -13
- data/rbi/openai/models/responses/response_custom_tool_call.rbi +78 -0
- data/rbi/openai/models/responses/response_custom_tool_call_input_delta_event.rbi +75 -0
- data/rbi/openai/models/responses/response_custom_tool_call_input_done_event.rbi +75 -0
- data/rbi/openai/models/responses/response_custom_tool_call_output.rbi +65 -0
- data/rbi/openai/models/responses/response_input_item.rbi +2 -0
- data/rbi/openai/models/responses/response_output_item.rbi +2 -1
- data/rbi/openai/models/responses/response_output_item_added_event.rbi +2 -1
- data/rbi/openai/models/responses/response_output_item_done_event.rbi +2 -1
- data/rbi/openai/models/responses/response_reasoning_item.rbi +63 -4
- data/rbi/openai/models/responses/response_reasoning_text_delta_event.rbi +83 -0
- data/rbi/openai/models/responses/{response_reasoning_summary_done_event.rbi → response_reasoning_text_done_event.rbi} +20 -20
- data/rbi/openai/models/responses/response_retrieve_params.rbi +21 -0
- data/rbi/openai/models/responses/response_stream_event.rbi +4 -2
- data/rbi/openai/models/responses/response_text_config.rbi +64 -1
- data/rbi/openai/models/responses/tool.rbi +1 -0
- data/rbi/openai/models/responses/tool_choice_allowed.rbi +124 -0
- data/rbi/openai/models/responses/tool_choice_custom.rbi +39 -0
- data/rbi/openai/models/vector_store_search_params.rbi +12 -1
- data/rbi/openai/models.rbi +6 -0
- data/rbi/openai/resources/beta/assistants.rbi +6 -8
- data/rbi/openai/resources/beta/threads/runs.rbi +8 -10
- data/rbi/openai/resources/chat/completions.rbi +78 -25
- data/rbi/openai/resources/responses.rbi +249 -47
- data/sig/openai/internal/transport/base_client.rbs +1 -1
- data/sig/openai/models/beta/assistant_update_params.rbs +12 -0
- data/sig/openai/models/chat/chat_completion_allowed_tool_choice.rbs +29 -0
- data/sig/openai/models/chat/chat_completion_allowed_tools.rbs +38 -0
- data/sig/openai/models/chat/chat_completion_assistant_message_param.rbs +6 -6
- data/sig/openai/models/chat/chat_completion_custom_tool.rbs +137 -0
- data/sig/openai/models/chat/chat_completion_function_tool.rbs +26 -0
- data/sig/openai/models/chat/chat_completion_message.rbs +6 -6
- data/sig/openai/models/chat/chat_completion_message_custom_tool_call.rbs +46 -0
- data/sig/openai/models/chat/chat_completion_message_function_tool_call.rbs +46 -0
- data/sig/openai/models/chat/chat_completion_message_tool_call.rbs +6 -35
- data/sig/openai/models/chat/chat_completion_named_tool_choice_custom.rbs +39 -0
- data/sig/openai/models/chat/chat_completion_store_message.rbs +29 -3
- data/sig/openai/models/chat/chat_completion_stream_options.rbs +11 -3
- data/sig/openai/models/chat/chat_completion_tool.rbs +6 -15
- data/sig/openai/models/chat/chat_completion_tool_choice_option.rbs +2 -0
- data/sig/openai/models/chat/completion_create_params.rbs +37 -6
- data/sig/openai/models/chat_model.rbs +15 -1
- data/sig/openai/models/custom_tool_input_format.rbs +61 -0
- data/sig/openai/models/evals/create_eval_completions_run_data_source.rbs +6 -6
- data/sig/openai/models/reasoning_effort.rbs +2 -1
- data/sig/openai/models/response_format_text_grammar.rbs +15 -0
- data/sig/openai/models/response_format_text_python.rbs +13 -0
- data/sig/openai/models/responses/custom_tool.rbs +43 -0
- data/sig/openai/models/responses/response.rbs +16 -0
- data/sig/openai/models/responses/response_create_params.rbs +33 -0
- data/sig/openai/models/responses/response_custom_tool_call.rbs +44 -0
- data/sig/openai/models/responses/response_custom_tool_call_input_delta_event.rbs +42 -0
- data/sig/openai/models/responses/response_custom_tool_call_input_done_event.rbs +42 -0
- data/sig/openai/models/responses/response_custom_tool_call_output.rbs +39 -0
- data/sig/openai/models/responses/response_input_item.rbs +2 -0
- data/sig/openai/models/responses/response_output_item.rbs +1 -0
- data/sig/openai/models/responses/response_reasoning_item.rbs +21 -0
- data/sig/openai/models/responses/{response_reasoning_summary_delta_event.rbs → response_reasoning_text_delta_event.rbs} +15 -15
- data/sig/openai/models/responses/{response_reasoning_summary_done_event.rbs → response_reasoning_text_done_event.rbs} +11 -11
- data/sig/openai/models/responses/response_retrieve_params.rbs +7 -0
- data/sig/openai/models/responses/response_stream_event.rbs +4 -2
- data/sig/openai/models/responses/response_text_config.rbs +22 -3
- data/sig/openai/models/responses/tool.rbs +1 -0
- data/sig/openai/models/responses/tool_choice_allowed.rbs +43 -0
- data/sig/openai/models/responses/tool_choice_custom.rbs +17 -0
- data/sig/openai/models/vector_store_search_params.rbs +2 -1
- data/sig/openai/models.rbs +6 -0
- data/sig/openai/resources/chat/completions.rbs +8 -2
- data/sig/openai/resources/responses.rbs +36 -0
- metadata +59 -8
- data/lib/openai/models/responses/response_reasoning_summary_delta_event.rb +0 -65
- data/lib/openai/models/responses/response_reasoning_summary_done_event.rb +0 -60
- data/rbi/openai/models/responses/response_reasoning_summary_delta_event.rbi +0 -85
@@ -80,6 +80,12 @@ module OpenAI
|
|
80
80
|
# An invocation of a tool on an MCP server.
|
81
81
|
variant :mcp_call, -> { OpenAI::Responses::ResponseInputItem::McpCall }
|
82
82
|
|
83
|
+
# The output of a custom tool call from your code, being sent back to the model.
|
84
|
+
variant :custom_tool_call_output, -> { OpenAI::Responses::ResponseCustomToolCallOutput }
|
85
|
+
|
86
|
+
# A call to a custom tool created by the model.
|
87
|
+
variant :custom_tool_call, -> { OpenAI::Responses::ResponseCustomToolCall }
|
88
|
+
|
83
89
|
# An internal identifier for an item to reference.
|
84
90
|
variant :item_reference, -> { OpenAI::Responses::ResponseInputItem::ItemReference }
|
85
91
|
|
@@ -869,7 +875,7 @@ module OpenAI
|
|
869
875
|
end
|
870
876
|
|
871
877
|
# @!method self.variants
|
872
|
-
# @return [Array(OpenAI::Models::Responses::EasyInputMessage, OpenAI::Models::Responses::ResponseInputItem::Message, OpenAI::Models::Responses::ResponseOutputMessage, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseInputItem::ComputerCallOutput, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Responses::ResponseFunctionToolCall, OpenAI::Models::Responses::ResponseInputItem::FunctionCallOutput, OpenAI::Models::Responses::ResponseReasoningItem, OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Responses::ResponseInputItem::LocalShellCall, OpenAI::Models::Responses::ResponseInputItem::LocalShellCallOutput, OpenAI::Models::Responses::ResponseInputItem::McpListTools, OpenAI::Models::Responses::ResponseInputItem::McpApprovalRequest, OpenAI::Models::Responses::ResponseInputItem::McpApprovalResponse, OpenAI::Models::Responses::ResponseInputItem::McpCall, OpenAI::Models::Responses::ResponseInputItem::ItemReference)]
|
878
|
+
# @return [Array(OpenAI::Models::Responses::EasyInputMessage, OpenAI::Models::Responses::ResponseInputItem::Message, OpenAI::Models::Responses::ResponseOutputMessage, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseInputItem::ComputerCallOutput, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Responses::ResponseFunctionToolCall, OpenAI::Models::Responses::ResponseInputItem::FunctionCallOutput, OpenAI::Models::Responses::ResponseReasoningItem, OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Responses::ResponseInputItem::LocalShellCall, OpenAI::Models::Responses::ResponseInputItem::LocalShellCallOutput, OpenAI::Models::Responses::ResponseInputItem::McpListTools, OpenAI::Models::Responses::ResponseInputItem::McpApprovalRequest, OpenAI::Models::Responses::ResponseInputItem::McpApprovalResponse, OpenAI::Models::Responses::ResponseInputItem::McpCall, OpenAI::Models::Responses::ResponseCustomToolCallOutput, OpenAI::Models::Responses::ResponseCustomToolCall, OpenAI::Models::Responses::ResponseInputItem::ItemReference)]
|
873
879
|
end
|
874
880
|
end
|
875
881
|
end
|
@@ -52,6 +52,9 @@ module OpenAI
|
|
52
52
|
# A request for human approval of a tool invocation.
|
53
53
|
variant :mcp_approval_request, -> { OpenAI::Responses::ResponseOutputItem::McpApprovalRequest }
|
54
54
|
|
55
|
+
# A call to a custom tool created by the model.
|
56
|
+
variant :custom_tool_call, -> { OpenAI::Responses::ResponseCustomToolCall }
|
57
|
+
|
55
58
|
class ImageGenerationCall < OpenAI::Internal::Type::BaseModel
|
56
59
|
# @!attribute id
|
57
60
|
# The unique ID of the image generation call.
|
@@ -435,7 +438,7 @@ module OpenAI
|
|
435
438
|
end
|
436
439
|
|
437
440
|
# @!method self.variants
|
438
|
-
# @return [Array(OpenAI::Models::Responses::ResponseOutputMessage, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseFunctionToolCall, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseReasoningItem, OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Responses::ResponseOutputItem::LocalShellCall, OpenAI::Models::Responses::ResponseOutputItem::McpCall, OpenAI::Models::Responses::ResponseOutputItem::McpListTools, OpenAI::Models::Responses::ResponseOutputItem::McpApprovalRequest)]
|
441
|
+
# @return [Array(OpenAI::Models::Responses::ResponseOutputMessage, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseFunctionToolCall, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseReasoningItem, OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Responses::ResponseOutputItem::LocalShellCall, OpenAI::Models::Responses::ResponseOutputItem::McpCall, OpenAI::Models::Responses::ResponseOutputItem::McpListTools, OpenAI::Models::Responses::ResponseOutputItem::McpApprovalRequest, OpenAI::Models::Responses::ResponseCustomToolCall)]
|
439
442
|
end
|
440
443
|
end
|
441
444
|
end
|
@@ -7,7 +7,7 @@ module OpenAI
|
|
7
7
|
# @!attribute item
|
8
8
|
# The output item that was added.
|
9
9
|
#
|
10
|
-
# @return [OpenAI::Models::Responses::ResponseOutputMessage, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseFunctionToolCall, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseReasoningItem, OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Responses::ResponseOutputItem::LocalShellCall, OpenAI::Models::Responses::ResponseOutputItem::McpCall, OpenAI::Models::Responses::ResponseOutputItem::McpListTools, OpenAI::Models::Responses::ResponseOutputItem::McpApprovalRequest]
|
10
|
+
# @return [OpenAI::Models::Responses::ResponseOutputMessage, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseFunctionToolCall, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseReasoningItem, OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Responses::ResponseOutputItem::LocalShellCall, OpenAI::Models::Responses::ResponseOutputItem::McpCall, OpenAI::Models::Responses::ResponseOutputItem::McpListTools, OpenAI::Models::Responses::ResponseOutputItem::McpApprovalRequest, OpenAI::Models::Responses::ResponseCustomToolCall]
|
11
11
|
required :item, union: -> { OpenAI::Responses::ResponseOutputItem }
|
12
12
|
|
13
13
|
# @!attribute output_index
|
@@ -34,7 +34,7 @@ module OpenAI
|
|
34
34
|
#
|
35
35
|
# Emitted when a new output item is added.
|
36
36
|
#
|
37
|
-
# @param item [OpenAI::Models::Responses::ResponseOutputMessage, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseFunctionToolCall, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseReasoningItem, OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Responses::ResponseOutputItem::LocalShellCall, OpenAI::Models::Responses::ResponseOutputItem::McpCall, OpenAI::Models::Responses::ResponseOutputItem::McpListTools, OpenAI::Models::Responses::ResponseOutputItem::McpApprovalRequest] The output item that was added.
|
37
|
+
# @param item [OpenAI::Models::Responses::ResponseOutputMessage, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseFunctionToolCall, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseReasoningItem, OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Responses::ResponseOutputItem::LocalShellCall, OpenAI::Models::Responses::ResponseOutputItem::McpCall, OpenAI::Models::Responses::ResponseOutputItem::McpListTools, OpenAI::Models::Responses::ResponseOutputItem::McpApprovalRequest, OpenAI::Models::Responses::ResponseCustomToolCall] The output item that was added.
|
38
38
|
#
|
39
39
|
# @param output_index [Integer] The index of the output item that was added.
|
40
40
|
#
|
@@ -7,7 +7,7 @@ module OpenAI
|
|
7
7
|
# @!attribute item
|
8
8
|
# The output item that was marked done.
|
9
9
|
#
|
10
|
-
# @return [OpenAI::Models::Responses::ResponseOutputMessage, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseFunctionToolCall, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseReasoningItem, OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Responses::ResponseOutputItem::LocalShellCall, OpenAI::Models::Responses::ResponseOutputItem::McpCall, OpenAI::Models::Responses::ResponseOutputItem::McpListTools, OpenAI::Models::Responses::ResponseOutputItem::McpApprovalRequest]
|
10
|
+
# @return [OpenAI::Models::Responses::ResponseOutputMessage, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseFunctionToolCall, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseReasoningItem, OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Responses::ResponseOutputItem::LocalShellCall, OpenAI::Models::Responses::ResponseOutputItem::McpCall, OpenAI::Models::Responses::ResponseOutputItem::McpListTools, OpenAI::Models::Responses::ResponseOutputItem::McpApprovalRequest, OpenAI::Models::Responses::ResponseCustomToolCall]
|
11
11
|
required :item, union: -> { OpenAI::Responses::ResponseOutputItem }
|
12
12
|
|
13
13
|
# @!attribute output_index
|
@@ -34,7 +34,7 @@ module OpenAI
|
|
34
34
|
#
|
35
35
|
# Emitted when an output item is marked done.
|
36
36
|
#
|
37
|
-
# @param item [OpenAI::Models::Responses::ResponseOutputMessage, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseFunctionToolCall, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseReasoningItem, OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Responses::ResponseOutputItem::LocalShellCall, OpenAI::Models::Responses::ResponseOutputItem::McpCall, OpenAI::Models::Responses::ResponseOutputItem::McpListTools, OpenAI::Models::Responses::ResponseOutputItem::McpApprovalRequest] The output item that was marked done.
|
37
|
+
# @param item [OpenAI::Models::Responses::ResponseOutputMessage, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseFunctionToolCall, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseReasoningItem, OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Responses::ResponseOutputItem::LocalShellCall, OpenAI::Models::Responses::ResponseOutputItem::McpCall, OpenAI::Models::Responses::ResponseOutputItem::McpListTools, OpenAI::Models::Responses::ResponseOutputItem::McpApprovalRequest, OpenAI::Models::Responses::ResponseCustomToolCall] The output item that was marked done.
|
38
38
|
#
|
39
39
|
# @param output_index [Integer] The index of the output item that was marked done.
|
40
40
|
#
|
@@ -11,7 +11,7 @@ module OpenAI
|
|
11
11
|
required :id, String
|
12
12
|
|
13
13
|
# @!attribute summary
|
14
|
-
# Reasoning
|
14
|
+
# Reasoning summary content.
|
15
15
|
#
|
16
16
|
# @return [Array<OpenAI::Models::Responses::ResponseReasoningItem::Summary>]
|
17
17
|
required :summary,
|
@@ -23,6 +23,13 @@ module OpenAI
|
|
23
23
|
# @return [Symbol, :reasoning]
|
24
24
|
required :type, const: :reasoning
|
25
25
|
|
26
|
+
# @!attribute content
|
27
|
+
# Reasoning text content.
|
28
|
+
#
|
29
|
+
# @return [Array<OpenAI::Models::Responses::ResponseReasoningItem::Content>, nil]
|
30
|
+
optional :content,
|
31
|
+
-> { OpenAI::Internal::Type::ArrayOf[OpenAI::Responses::ResponseReasoningItem::Content] }
|
32
|
+
|
26
33
|
# @!attribute encrypted_content
|
27
34
|
# The encrypted content of the reasoning item - populated when a response is
|
28
35
|
# generated with `reasoning.encrypted_content` in the `include` parameter.
|
@@ -37,7 +44,7 @@ module OpenAI
|
|
37
44
|
# @return [Symbol, OpenAI::Models::Responses::ResponseReasoningItem::Status, nil]
|
38
45
|
optional :status, enum: -> { OpenAI::Responses::ResponseReasoningItem::Status }
|
39
46
|
|
40
|
-
# @!method initialize(id:, summary:, encrypted_content: nil, status: nil, type: :reasoning)
|
47
|
+
# @!method initialize(id:, summary:, content: nil, encrypted_content: nil, status: nil, type: :reasoning)
|
41
48
|
# Some parameter documentations has been truncated, see
|
42
49
|
# {OpenAI::Models::Responses::ResponseReasoningItem} for more details.
|
43
50
|
#
|
@@ -48,7 +55,9 @@ module OpenAI
|
|
48
55
|
#
|
49
56
|
# @param id [String] The unique identifier of the reasoning content.
|
50
57
|
#
|
51
|
-
# @param summary [Array<OpenAI::Models::Responses::ResponseReasoningItem::Summary>] Reasoning
|
58
|
+
# @param summary [Array<OpenAI::Models::Responses::ResponseReasoningItem::Summary>] Reasoning summary content.
|
59
|
+
#
|
60
|
+
# @param content [Array<OpenAI::Models::Responses::ResponseReasoningItem::Content>] Reasoning text content.
|
52
61
|
#
|
53
62
|
# @param encrypted_content [String, nil] The encrypted content of the reasoning item - populated when a response is
|
54
63
|
#
|
@@ -58,7 +67,7 @@ module OpenAI
|
|
58
67
|
|
59
68
|
class Summary < OpenAI::Internal::Type::BaseModel
|
60
69
|
# @!attribute text
|
61
|
-
# A
|
70
|
+
# A summary of the reasoning output from the model so far.
|
62
71
|
#
|
63
72
|
# @return [String]
|
64
73
|
required :text, String
|
@@ -73,11 +82,33 @@ module OpenAI
|
|
73
82
|
# Some parameter documentations has been truncated, see
|
74
83
|
# {OpenAI::Models::Responses::ResponseReasoningItem::Summary} for more details.
|
75
84
|
#
|
76
|
-
# @param text [String] A
|
85
|
+
# @param text [String] A summary of the reasoning output from the model so far.
|
77
86
|
#
|
78
87
|
# @param type [Symbol, :summary_text] The type of the object. Always `summary_text`.
|
79
88
|
end
|
80
89
|
|
90
|
+
class Content < OpenAI::Internal::Type::BaseModel
|
91
|
+
# @!attribute text
|
92
|
+
# Reasoning text output from the model.
|
93
|
+
#
|
94
|
+
# @return [String]
|
95
|
+
required :text, String
|
96
|
+
|
97
|
+
# @!attribute type
|
98
|
+
# The type of the object. Always `reasoning_text`.
|
99
|
+
#
|
100
|
+
# @return [Symbol, :reasoning_text]
|
101
|
+
required :type, const: :reasoning_text
|
102
|
+
|
103
|
+
# @!method initialize(text:, type: :reasoning_text)
|
104
|
+
# Some parameter documentations has been truncated, see
|
105
|
+
# {OpenAI::Models::Responses::ResponseReasoningItem::Content} for more details.
|
106
|
+
#
|
107
|
+
# @param text [String] Reasoning text output from the model.
|
108
|
+
#
|
109
|
+
# @param type [Symbol, :reasoning_text] The type of the object. Always `reasoning_text`.
|
110
|
+
end
|
111
|
+
|
81
112
|
# The status of the item. One of `in_progress`, `completed`, or `incomplete`.
|
82
113
|
# Populated when items are returned via API.
|
83
114
|
#
|
@@ -0,0 +1,63 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module OpenAI
|
4
|
+
module Models
|
5
|
+
module Responses
|
6
|
+
class ResponseReasoningTextDeltaEvent < OpenAI::Internal::Type::BaseModel
|
7
|
+
# @!attribute content_index
|
8
|
+
# The index of the reasoning content part this delta is associated with.
|
9
|
+
#
|
10
|
+
# @return [Integer]
|
11
|
+
required :content_index, Integer
|
12
|
+
|
13
|
+
# @!attribute delta
|
14
|
+
# The text delta that was added to the reasoning content.
|
15
|
+
#
|
16
|
+
# @return [String]
|
17
|
+
required :delta, String
|
18
|
+
|
19
|
+
# @!attribute item_id
|
20
|
+
# The ID of the item this reasoning text delta is associated with.
|
21
|
+
#
|
22
|
+
# @return [String]
|
23
|
+
required :item_id, String
|
24
|
+
|
25
|
+
# @!attribute output_index
|
26
|
+
# The index of the output item this reasoning text delta is associated with.
|
27
|
+
#
|
28
|
+
# @return [Integer]
|
29
|
+
required :output_index, Integer
|
30
|
+
|
31
|
+
# @!attribute sequence_number
|
32
|
+
# The sequence number of this event.
|
33
|
+
#
|
34
|
+
# @return [Integer]
|
35
|
+
required :sequence_number, Integer
|
36
|
+
|
37
|
+
# @!attribute type
|
38
|
+
# The type of the event. Always `response.reasoning_text.delta`.
|
39
|
+
#
|
40
|
+
# @return [Symbol, :"response.reasoning_text.delta"]
|
41
|
+
required :type, const: :"response.reasoning_text.delta"
|
42
|
+
|
43
|
+
# @!method initialize(content_index:, delta:, item_id:, output_index:, sequence_number:, type: :"response.reasoning_text.delta")
|
44
|
+
# Some parameter documentations has been truncated, see
|
45
|
+
# {OpenAI::Models::Responses::ResponseReasoningTextDeltaEvent} for more details.
|
46
|
+
#
|
47
|
+
# Emitted when a delta is added to a reasoning text.
|
48
|
+
#
|
49
|
+
# @param content_index [Integer] The index of the reasoning content part this delta is associated with.
|
50
|
+
#
|
51
|
+
# @param delta [String] The text delta that was added to the reasoning content.
|
52
|
+
#
|
53
|
+
# @param item_id [String] The ID of the item this reasoning text delta is associated with.
|
54
|
+
#
|
55
|
+
# @param output_index [Integer] The index of the output item this reasoning text delta is associated with.
|
56
|
+
#
|
57
|
+
# @param sequence_number [Integer] The sequence number of this event.
|
58
|
+
#
|
59
|
+
# @param type [Symbol, :"response.reasoning_text.delta"] The type of the event. Always `response.reasoning_text.delta`.
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
@@ -0,0 +1,63 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module OpenAI
|
4
|
+
module Models
|
5
|
+
module Responses
|
6
|
+
class ResponseReasoningTextDoneEvent < OpenAI::Internal::Type::BaseModel
|
7
|
+
# @!attribute content_index
|
8
|
+
# The index of the reasoning content part.
|
9
|
+
#
|
10
|
+
# @return [Integer]
|
11
|
+
required :content_index, Integer
|
12
|
+
|
13
|
+
# @!attribute item_id
|
14
|
+
# The ID of the item this reasoning text is associated with.
|
15
|
+
#
|
16
|
+
# @return [String]
|
17
|
+
required :item_id, String
|
18
|
+
|
19
|
+
# @!attribute output_index
|
20
|
+
# The index of the output item this reasoning text is associated with.
|
21
|
+
#
|
22
|
+
# @return [Integer]
|
23
|
+
required :output_index, Integer
|
24
|
+
|
25
|
+
# @!attribute sequence_number
|
26
|
+
# The sequence number of this event.
|
27
|
+
#
|
28
|
+
# @return [Integer]
|
29
|
+
required :sequence_number, Integer
|
30
|
+
|
31
|
+
# @!attribute text
|
32
|
+
# The full text of the completed reasoning content.
|
33
|
+
#
|
34
|
+
# @return [String]
|
35
|
+
required :text, String
|
36
|
+
|
37
|
+
# @!attribute type
|
38
|
+
# The type of the event. Always `response.reasoning_text.done`.
|
39
|
+
#
|
40
|
+
# @return [Symbol, :"response.reasoning_text.done"]
|
41
|
+
required :type, const: :"response.reasoning_text.done"
|
42
|
+
|
43
|
+
# @!method initialize(content_index:, item_id:, output_index:, sequence_number:, text:, type: :"response.reasoning_text.done")
|
44
|
+
# Some parameter documentations has been truncated, see
|
45
|
+
# {OpenAI::Models::Responses::ResponseReasoningTextDoneEvent} for more details.
|
46
|
+
#
|
47
|
+
# Emitted when a reasoning text is completed.
|
48
|
+
#
|
49
|
+
# @param content_index [Integer] The index of the reasoning content part.
|
50
|
+
#
|
51
|
+
# @param item_id [String] The ID of the item this reasoning text is associated with.
|
52
|
+
#
|
53
|
+
# @param output_index [Integer] The index of the output item this reasoning text is associated with.
|
54
|
+
#
|
55
|
+
# @param sequence_number [Integer] The sequence number of this event.
|
56
|
+
#
|
57
|
+
# @param text [String] The full text of the completed reasoning content.
|
58
|
+
#
|
59
|
+
# @param type [Symbol, :"response.reasoning_text.done"] The type of the event. Always `response.reasoning_text.done`.
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
@@ -17,18 +17,31 @@ module OpenAI
|
|
17
17
|
# @return [Array<Symbol, OpenAI::Models::Responses::ResponseIncludable>, nil]
|
18
18
|
optional :include, -> { OpenAI::Internal::Type::ArrayOf[enum: OpenAI::Responses::ResponseIncludable] }
|
19
19
|
|
20
|
+
# @!attribute include_obfuscation
|
21
|
+
# When true, stream obfuscation will be enabled. Stream obfuscation adds random
|
22
|
+
# characters to an `obfuscation` field on streaming delta events to normalize
|
23
|
+
# payload sizes as a mitigation to certain side-channel attacks. These obfuscation
|
24
|
+
# fields are included by default, but add a small amount of overhead to the data
|
25
|
+
# stream. You can set `include_obfuscation` to false to optimize for bandwidth if
|
26
|
+
# you trust the network links between your application and the OpenAI API.
|
27
|
+
#
|
28
|
+
# @return [Boolean, nil]
|
29
|
+
optional :include_obfuscation, OpenAI::Internal::Type::Boolean
|
30
|
+
|
20
31
|
# @!attribute starting_after
|
21
32
|
# The sequence number of the event after which to start streaming.
|
22
33
|
#
|
23
34
|
# @return [Integer, nil]
|
24
35
|
optional :starting_after, Integer
|
25
36
|
|
26
|
-
# @!method initialize(include: nil, starting_after: nil, request_options: {})
|
37
|
+
# @!method initialize(include: nil, include_obfuscation: nil, starting_after: nil, request_options: {})
|
27
38
|
# Some parameter documentations has been truncated, see
|
28
39
|
# {OpenAI::Models::Responses::ResponseRetrieveParams} for more details.
|
29
40
|
#
|
30
41
|
# @param include [Array<Symbol, OpenAI::Models::Responses::ResponseIncludable>] Additional fields to include in the response. See the `include`
|
31
42
|
#
|
43
|
+
# @param include_obfuscation [Boolean] When true, stream obfuscation will be enabled. Stream obfuscation adds
|
44
|
+
#
|
32
45
|
# @param starting_after [Integer] The sequence number of the event after which to start streaming.
|
33
46
|
#
|
34
47
|
# @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}]
|
@@ -110,6 +110,12 @@ module OpenAI
|
|
110
110
|
variant :"response.reasoning_summary_text.done",
|
111
111
|
-> { OpenAI::Responses::ResponseReasoningSummaryTextDoneEvent }
|
112
112
|
|
113
|
+
# Emitted when a delta is added to a reasoning text.
|
114
|
+
variant :"response.reasoning_text.delta", -> { OpenAI::Responses::ResponseReasoningTextDeltaEvent }
|
115
|
+
|
116
|
+
# Emitted when a reasoning text is completed.
|
117
|
+
variant :"response.reasoning_text.done", -> { OpenAI::Responses::ResponseReasoningTextDoneEvent }
|
118
|
+
|
113
119
|
# Emitted when there is a partial refusal text.
|
114
120
|
variant :"response.refusal.delta", -> { OpenAI::Responses::ResponseRefusalDeltaEvent }
|
115
121
|
|
@@ -191,20 +197,16 @@ module OpenAI
|
|
191
197
|
# Emitted when a response is queued and waiting to be processed.
|
192
198
|
variant :"response.queued", -> { OpenAI::Responses::ResponseQueuedEvent }
|
193
199
|
|
194
|
-
#
|
195
|
-
variant :"response.
|
196
|
-
-> {
|
197
|
-
OpenAI::Responses::ResponseReasoningSummaryDeltaEvent
|
198
|
-
}
|
200
|
+
# Event representing a delta (partial update) to the input of a custom tool call.
|
201
|
+
variant :"response.custom_tool_call_input.delta",
|
202
|
+
-> { OpenAI::Responses::ResponseCustomToolCallInputDeltaEvent }
|
199
203
|
|
200
|
-
#
|
201
|
-
variant :"response.
|
202
|
-
-> {
|
203
|
-
OpenAI::Responses::ResponseReasoningSummaryDoneEvent
|
204
|
-
}
|
204
|
+
# Event indicating that input for a custom tool call is complete.
|
205
|
+
variant :"response.custom_tool_call_input.done",
|
206
|
+
-> { OpenAI::Responses::ResponseCustomToolCallInputDoneEvent }
|
205
207
|
|
206
208
|
# @!method self.variants
|
207
|
-
# @return [Array(OpenAI::Models::Responses::ResponseAudioDeltaEvent, OpenAI::Models::Responses::ResponseAudioDoneEvent, OpenAI::Models::Responses::ResponseAudioTranscriptDeltaEvent, OpenAI::Models::Responses::ResponseAudioTranscriptDoneEvent, OpenAI::Models::Responses::ResponseCodeInterpreterCallCodeDeltaEvent, OpenAI::Models::Responses::ResponseCodeInterpreterCallCodeDoneEvent, OpenAI::Models::Responses::ResponseCodeInterpreterCallCompletedEvent, OpenAI::Models::Responses::ResponseCodeInterpreterCallInProgressEvent, OpenAI::Models::Responses::ResponseCodeInterpreterCallInterpretingEvent, OpenAI::Models::Responses::ResponseCompletedEvent, OpenAI::Models::Responses::ResponseContentPartAddedEvent, OpenAI::Models::Responses::ResponseContentPartDoneEvent, OpenAI::Models::Responses::ResponseCreatedEvent, OpenAI::Models::Responses::ResponseErrorEvent, OpenAI::Models::Responses::ResponseFileSearchCallCompletedEvent, OpenAI::Models::Responses::ResponseFileSearchCallInProgressEvent, OpenAI::Models::Responses::ResponseFileSearchCallSearchingEvent, OpenAI::Models::Responses::ResponseFunctionCallArgumentsDeltaEvent, OpenAI::Models::Responses::ResponseFunctionCallArgumentsDoneEvent, OpenAI::Models::Responses::ResponseInProgressEvent, OpenAI::Models::Responses::ResponseFailedEvent, OpenAI::Models::Responses::ResponseIncompleteEvent, OpenAI::Models::Responses::ResponseOutputItemAddedEvent, OpenAI::Models::Responses::ResponseOutputItemDoneEvent, OpenAI::Models::Responses::ResponseReasoningSummaryPartAddedEvent, OpenAI::Models::Responses::ResponseReasoningSummaryPartDoneEvent, OpenAI::Models::Responses::ResponseReasoningSummaryTextDeltaEvent, OpenAI::Models::Responses::ResponseReasoningSummaryTextDoneEvent, OpenAI::Models::Responses::ResponseRefusalDeltaEvent, OpenAI::Models::Responses::ResponseRefusalDoneEvent, OpenAI::Models::Responses::ResponseTextDeltaEvent, OpenAI::Models::Responses::ResponseTextDoneEvent, OpenAI::Models::Responses::ResponseWebSearchCallCompletedEvent, OpenAI::Models::Responses::ResponseWebSearchCallInProgressEvent, OpenAI::Models::Responses::ResponseWebSearchCallSearchingEvent, OpenAI::Models::Responses::ResponseImageGenCallCompletedEvent, OpenAI::Models::Responses::ResponseImageGenCallGeneratingEvent, OpenAI::Models::Responses::ResponseImageGenCallInProgressEvent, OpenAI::Models::Responses::ResponseImageGenCallPartialImageEvent, OpenAI::Models::Responses::ResponseMcpCallArgumentsDeltaEvent, OpenAI::Models::Responses::ResponseMcpCallArgumentsDoneEvent, OpenAI::Models::Responses::ResponseMcpCallCompletedEvent, OpenAI::Models::Responses::ResponseMcpCallFailedEvent, OpenAI::Models::Responses::ResponseMcpCallInProgressEvent, OpenAI::Models::Responses::ResponseMcpListToolsCompletedEvent, OpenAI::Models::Responses::ResponseMcpListToolsFailedEvent, OpenAI::Models::Responses::ResponseMcpListToolsInProgressEvent, OpenAI::Models::Responses::ResponseOutputTextAnnotationAddedEvent, OpenAI::Models::Responses::ResponseQueuedEvent, OpenAI::Models::Responses::
|
209
|
+
# @return [Array(OpenAI::Models::Responses::ResponseAudioDeltaEvent, OpenAI::Models::Responses::ResponseAudioDoneEvent, OpenAI::Models::Responses::ResponseAudioTranscriptDeltaEvent, OpenAI::Models::Responses::ResponseAudioTranscriptDoneEvent, OpenAI::Models::Responses::ResponseCodeInterpreterCallCodeDeltaEvent, OpenAI::Models::Responses::ResponseCodeInterpreterCallCodeDoneEvent, OpenAI::Models::Responses::ResponseCodeInterpreterCallCompletedEvent, OpenAI::Models::Responses::ResponseCodeInterpreterCallInProgressEvent, OpenAI::Models::Responses::ResponseCodeInterpreterCallInterpretingEvent, OpenAI::Models::Responses::ResponseCompletedEvent, OpenAI::Models::Responses::ResponseContentPartAddedEvent, OpenAI::Models::Responses::ResponseContentPartDoneEvent, OpenAI::Models::Responses::ResponseCreatedEvent, OpenAI::Models::Responses::ResponseErrorEvent, OpenAI::Models::Responses::ResponseFileSearchCallCompletedEvent, OpenAI::Models::Responses::ResponseFileSearchCallInProgressEvent, OpenAI::Models::Responses::ResponseFileSearchCallSearchingEvent, OpenAI::Models::Responses::ResponseFunctionCallArgumentsDeltaEvent, OpenAI::Models::Responses::ResponseFunctionCallArgumentsDoneEvent, OpenAI::Models::Responses::ResponseInProgressEvent, OpenAI::Models::Responses::ResponseFailedEvent, OpenAI::Models::Responses::ResponseIncompleteEvent, OpenAI::Models::Responses::ResponseOutputItemAddedEvent, OpenAI::Models::Responses::ResponseOutputItemDoneEvent, OpenAI::Models::Responses::ResponseReasoningSummaryPartAddedEvent, OpenAI::Models::Responses::ResponseReasoningSummaryPartDoneEvent, OpenAI::Models::Responses::ResponseReasoningSummaryTextDeltaEvent, OpenAI::Models::Responses::ResponseReasoningSummaryTextDoneEvent, OpenAI::Models::Responses::ResponseReasoningTextDeltaEvent, OpenAI::Models::Responses::ResponseReasoningTextDoneEvent, OpenAI::Models::Responses::ResponseRefusalDeltaEvent, OpenAI::Models::Responses::ResponseRefusalDoneEvent, OpenAI::Models::Responses::ResponseTextDeltaEvent, OpenAI::Models::Responses::ResponseTextDoneEvent, OpenAI::Models::Responses::ResponseWebSearchCallCompletedEvent, OpenAI::Models::Responses::ResponseWebSearchCallInProgressEvent, OpenAI::Models::Responses::ResponseWebSearchCallSearchingEvent, OpenAI::Models::Responses::ResponseImageGenCallCompletedEvent, OpenAI::Models::Responses::ResponseImageGenCallGeneratingEvent, OpenAI::Models::Responses::ResponseImageGenCallInProgressEvent, OpenAI::Models::Responses::ResponseImageGenCallPartialImageEvent, OpenAI::Models::Responses::ResponseMcpCallArgumentsDeltaEvent, OpenAI::Models::Responses::ResponseMcpCallArgumentsDoneEvent, OpenAI::Models::Responses::ResponseMcpCallCompletedEvent, OpenAI::Models::Responses::ResponseMcpCallFailedEvent, OpenAI::Models::Responses::ResponseMcpCallInProgressEvent, OpenAI::Models::Responses::ResponseMcpListToolsCompletedEvent, OpenAI::Models::Responses::ResponseMcpListToolsFailedEvent, OpenAI::Models::Responses::ResponseMcpListToolsInProgressEvent, OpenAI::Models::Responses::ResponseOutputTextAnnotationAddedEvent, OpenAI::Models::Responses::ResponseQueuedEvent, OpenAI::Models::Responses::ResponseCustomToolCallInputDeltaEvent, OpenAI::Models::Responses::ResponseCustomToolCallInputDoneEvent)]
|
208
210
|
end
|
209
211
|
end
|
210
212
|
end
|
@@ -22,7 +22,15 @@ module OpenAI
|
|
22
22
|
# @return [OpenAI::Models::ResponseFormatText, OpenAI::Models::Responses::ResponseFormatTextJSONSchemaConfig, OpenAI::Models::ResponseFormatJSONObject, nil]
|
23
23
|
optional :format_, union: -> { OpenAI::Responses::ResponseFormatTextConfig }, api_name: :format
|
24
24
|
|
25
|
-
# @!
|
25
|
+
# @!attribute verbosity
|
26
|
+
# Constrains the verbosity of the model's response. Lower values will result in
|
27
|
+
# more concise responses, while higher values will result in more verbose
|
28
|
+
# responses. Currently supported values are `low`, `medium`, and `high`.
|
29
|
+
#
|
30
|
+
# @return [Symbol, OpenAI::Models::Responses::ResponseTextConfig::Verbosity, nil]
|
31
|
+
optional :verbosity, enum: -> { OpenAI::Responses::ResponseTextConfig::Verbosity }, nil?: true
|
32
|
+
|
33
|
+
# @!method initialize(format_: nil, verbosity: nil)
|
26
34
|
# Some parameter documentations has been truncated, see
|
27
35
|
# {OpenAI::Models::Responses::ResponseTextConfig} for more details.
|
28
36
|
#
|
@@ -33,6 +41,24 @@ module OpenAI
|
|
33
41
|
# - [Structured Outputs](https://platform.openai.com/docs/guides/structured-outputs)
|
34
42
|
#
|
35
43
|
# @param format_ [OpenAI::Models::ResponseFormatText, OpenAI::Models::Responses::ResponseFormatTextJSONSchemaConfig, OpenAI::Models::ResponseFormatJSONObject] An object specifying the format that the model must output.
|
44
|
+
#
|
45
|
+
# @param verbosity [Symbol, OpenAI::Models::Responses::ResponseTextConfig::Verbosity, nil] Constrains the verbosity of the model's response. Lower values will result in
|
46
|
+
|
47
|
+
# Constrains the verbosity of the model's response. Lower values will result in
|
48
|
+
# more concise responses, while higher values will result in more verbose
|
49
|
+
# responses. Currently supported values are `low`, `medium`, and `high`.
|
50
|
+
#
|
51
|
+
# @see OpenAI::Models::Responses::ResponseTextConfig#verbosity
|
52
|
+
module Verbosity
|
53
|
+
extend OpenAI::Internal::Type::Enum
|
54
|
+
|
55
|
+
LOW = :low
|
56
|
+
MEDIUM = :medium
|
57
|
+
HIGH = :high
|
58
|
+
|
59
|
+
# @!method self.values
|
60
|
+
# @return [Array<Symbol>]
|
61
|
+
end
|
36
62
|
end
|
37
63
|
end
|
38
64
|
end
|
@@ -33,6 +33,10 @@ module OpenAI
|
|
33
33
|
# A tool that allows the model to execute shell commands in a local environment.
|
34
34
|
variant :local_shell, -> { OpenAI::Responses::Tool::LocalShell }
|
35
35
|
|
36
|
+
# A custom tool that processes input using a specified format. Learn more about
|
37
|
+
# [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools).
|
38
|
+
variant :custom, -> { OpenAI::Responses::CustomTool }
|
39
|
+
|
36
40
|
# This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search).
|
37
41
|
variant -> { OpenAI::Responses::WebSearchTool }
|
38
42
|
|
@@ -542,7 +546,7 @@ module OpenAI
|
|
542
546
|
end
|
543
547
|
|
544
548
|
# @!method self.variants
|
545
|
-
# @return [Array(OpenAI::Models::Responses::FunctionTool, OpenAI::Models::Responses::FileSearchTool, OpenAI::Models::Responses::ComputerTool, OpenAI::Models::Responses::Tool::Mcp, OpenAI::Models::Responses::Tool::CodeInterpreter, OpenAI::Models::Responses::Tool::ImageGeneration, OpenAI::Models::Responses::Tool::LocalShell, OpenAI::Models::Responses::WebSearchTool)]
|
549
|
+
# @return [Array(OpenAI::Models::Responses::FunctionTool, OpenAI::Models::Responses::FileSearchTool, OpenAI::Models::Responses::ComputerTool, OpenAI::Models::Responses::Tool::Mcp, OpenAI::Models::Responses::Tool::CodeInterpreter, OpenAI::Models::Responses::Tool::ImageGeneration, OpenAI::Models::Responses::Tool::LocalShell, OpenAI::Models::Responses::CustomTool, OpenAI::Models::Responses::WebSearchTool)]
|
546
550
|
end
|
547
551
|
end
|
548
552
|
end
|
@@ -0,0 +1,73 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module OpenAI
|
4
|
+
module Models
|
5
|
+
module Responses
|
6
|
+
class ToolChoiceAllowed < OpenAI::Internal::Type::BaseModel
|
7
|
+
# @!attribute mode
|
8
|
+
# Constrains the tools available to the model to a pre-defined set.
|
9
|
+
#
|
10
|
+
# `auto` allows the model to pick from among the allowed tools and generate a
|
11
|
+
# message.
|
12
|
+
#
|
13
|
+
# `required` requires the model to call one or more of the allowed tools.
|
14
|
+
#
|
15
|
+
# @return [Symbol, OpenAI::Models::Responses::ToolChoiceAllowed::Mode]
|
16
|
+
required :mode, enum: -> { OpenAI::Responses::ToolChoiceAllowed::Mode }
|
17
|
+
|
18
|
+
# @!attribute tools
|
19
|
+
# A list of tool definitions that the model should be allowed to call.
|
20
|
+
#
|
21
|
+
# For the Responses API, the list of tool definitions might look like:
|
22
|
+
#
|
23
|
+
# ```json
|
24
|
+
# [
|
25
|
+
# { "type": "function", "name": "get_weather" },
|
26
|
+
# { "type": "mcp", "server_label": "deepwiki" },
|
27
|
+
# { "type": "image_generation" }
|
28
|
+
# ]
|
29
|
+
# ```
|
30
|
+
#
|
31
|
+
# @return [Array<Hash{Symbol=>Object}>]
|
32
|
+
required :tools,
|
33
|
+
OpenAI::Internal::Type::ArrayOf[OpenAI::Internal::Type::HashOf[OpenAI::Internal::Type::Unknown]]
|
34
|
+
|
35
|
+
# @!attribute type
|
36
|
+
# Allowed tool configuration type. Always `allowed_tools`.
|
37
|
+
#
|
38
|
+
# @return [Symbol, :allowed_tools]
|
39
|
+
required :type, const: :allowed_tools
|
40
|
+
|
41
|
+
# @!method initialize(mode:, tools:, type: :allowed_tools)
|
42
|
+
# Some parameter documentations has been truncated, see
|
43
|
+
# {OpenAI::Models::Responses::ToolChoiceAllowed} for more details.
|
44
|
+
#
|
45
|
+
# Constrains the tools available to the model to a pre-defined set.
|
46
|
+
#
|
47
|
+
# @param mode [Symbol, OpenAI::Models::Responses::ToolChoiceAllowed::Mode] Constrains the tools available to the model to a pre-defined set.
|
48
|
+
#
|
49
|
+
# @param tools [Array<Hash{Symbol=>Object}>] A list of tool definitions that the model should be allowed to call.
|
50
|
+
#
|
51
|
+
# @param type [Symbol, :allowed_tools] Allowed tool configuration type. Always `allowed_tools`.
|
52
|
+
|
53
|
+
# Constrains the tools available to the model to a pre-defined set.
|
54
|
+
#
|
55
|
+
# `auto` allows the model to pick from among the allowed tools and generate a
|
56
|
+
# message.
|
57
|
+
#
|
58
|
+
# `required` requires the model to call one or more of the allowed tools.
|
59
|
+
#
|
60
|
+
# @see OpenAI::Models::Responses::ToolChoiceAllowed#mode
|
61
|
+
module Mode
|
62
|
+
extend OpenAI::Internal::Type::Enum
|
63
|
+
|
64
|
+
AUTO = :auto
|
65
|
+
REQUIRED = :required
|
66
|
+
|
67
|
+
# @!method self.values
|
68
|
+
# @return [Array<Symbol>]
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module OpenAI
|
4
|
+
module Models
|
5
|
+
module Responses
|
6
|
+
class ToolChoiceCustom < OpenAI::Internal::Type::BaseModel
|
7
|
+
# @!attribute name
|
8
|
+
# The name of the custom tool to call.
|
9
|
+
#
|
10
|
+
# @return [String]
|
11
|
+
required :name, String
|
12
|
+
|
13
|
+
# @!attribute type
|
14
|
+
# For custom tool calling, the type is always `custom`.
|
15
|
+
#
|
16
|
+
# @return [Symbol, :custom]
|
17
|
+
required :type, const: :custom
|
18
|
+
|
19
|
+
# @!method initialize(name:, type: :custom)
|
20
|
+
# Use this option to force the model to call a specific custom tool.
|
21
|
+
#
|
22
|
+
# @param name [String] The name of the custom tool to call.
|
23
|
+
#
|
24
|
+
# @param type [Symbol, :custom] For custom tool calling, the type is always `custom`.
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -85,6 +85,7 @@ module OpenAI
|
|
85
85
|
|
86
86
|
class RankingOptions < OpenAI::Internal::Type::BaseModel
|
87
87
|
# @!attribute ranker
|
88
|
+
# Enable re-ranking; set to `none` to disable, which can help reduce latency.
|
88
89
|
#
|
89
90
|
# @return [Symbol, OpenAI::Models::VectorStoreSearchParams::RankingOptions::Ranker, nil]
|
90
91
|
optional :ranker, enum: -> { OpenAI::VectorStoreSearchParams::RankingOptions::Ranker }
|
@@ -97,13 +98,17 @@ module OpenAI
|
|
97
98
|
# @!method initialize(ranker: nil, score_threshold: nil)
|
98
99
|
# Ranking options for search.
|
99
100
|
#
|
100
|
-
# @param ranker [Symbol, OpenAI::Models::VectorStoreSearchParams::RankingOptions::Ranker]
|
101
|
+
# @param ranker [Symbol, OpenAI::Models::VectorStoreSearchParams::RankingOptions::Ranker] Enable re-ranking; set to `none` to disable, which can help reduce latency.
|
102
|
+
#
|
101
103
|
# @param score_threshold [Float]
|
102
104
|
|
105
|
+
# Enable re-ranking; set to `none` to disable, which can help reduce latency.
|
106
|
+
#
|
103
107
|
# @see OpenAI::Models::VectorStoreSearchParams::RankingOptions#ranker
|
104
108
|
module Ranker
|
105
109
|
extend OpenAI::Internal::Type::Enum
|
106
110
|
|
111
|
+
NONE = :none
|
107
112
|
AUTO = :auto
|
108
113
|
DEFAULT_2024_11_15 = :"default-2024-11-15"
|
109
114
|
|
data/lib/openai/models.rb
CHANGED
@@ -93,6 +93,8 @@ module OpenAI
|
|
93
93
|
|
94
94
|
CreateEmbeddingResponse = OpenAI::Models::CreateEmbeddingResponse
|
95
95
|
|
96
|
+
CustomToolInputFormat = OpenAI::Models::CustomToolInputFormat
|
97
|
+
|
96
98
|
Embedding = OpenAI::Models::Embedding
|
97
99
|
|
98
100
|
EmbeddingCreateParams = OpenAI::Models::EmbeddingCreateParams
|
@@ -209,6 +211,10 @@ module OpenAI
|
|
209
211
|
|
210
212
|
ResponseFormatText = OpenAI::Models::ResponseFormatText
|
211
213
|
|
214
|
+
ResponseFormatTextGrammar = OpenAI::Models::ResponseFormatTextGrammar
|
215
|
+
|
216
|
+
ResponseFormatTextPython = OpenAI::Models::ResponseFormatTextPython
|
217
|
+
|
212
218
|
Responses = OpenAI::Models::Responses
|
213
219
|
|
214
220
|
ResponsesModel = OpenAI::Models::ResponsesModel
|
@@ -21,7 +21,7 @@ module OpenAI
|
|
21
21
|
#
|
22
22
|
# @param name [String, nil] The name of the assistant. The maximum length is 256 characters.
|
23
23
|
#
|
24
|
-
# @param reasoning_effort [Symbol, OpenAI::Models::ReasoningEffort, nil]
|
24
|
+
# @param reasoning_effort [Symbol, OpenAI::Models::ReasoningEffort, nil] Constrains effort on reasoning for
|
25
25
|
#
|
26
26
|
# @param response_format [Symbol, :auto, OpenAI::Models::ResponseFormatText, OpenAI::Models::ResponseFormatJSONObject, OpenAI::Models::ResponseFormatJSONSchema, nil] Specifies the format that the model must output. Compatible with [GPT-4o](https:
|
27
27
|
#
|
@@ -88,7 +88,7 @@ module OpenAI
|
|
88
88
|
#
|
89
89
|
# @param name [String, nil] The name of the assistant. The maximum length is 256 characters.
|
90
90
|
#
|
91
|
-
# @param reasoning_effort [Symbol, OpenAI::Models::ReasoningEffort, nil]
|
91
|
+
# @param reasoning_effort [Symbol, OpenAI::Models::ReasoningEffort, nil] Constrains effort on reasoning for
|
92
92
|
#
|
93
93
|
# @param response_format [Symbol, :auto, OpenAI::Models::ResponseFormatText, OpenAI::Models::ResponseFormatJSONObject, OpenAI::Models::ResponseFormatJSONSchema, nil] Specifies the format that the model must output. Compatible with [GPT-4o](https:
|
94
94
|
#
|
@@ -43,7 +43,7 @@ module OpenAI
|
|
43
43
|
#
|
44
44
|
# @param parallel_tool_calls [Boolean] Body param: Whether to enable [parallel function calling](https://platform.opena
|
45
45
|
#
|
46
|
-
# @param reasoning_effort [Symbol, OpenAI::Models::ReasoningEffort, nil] Body param:
|
46
|
+
# @param reasoning_effort [Symbol, OpenAI::Models::ReasoningEffort, nil] Body param: Constrains effort on reasoning for
|
47
47
|
#
|
48
48
|
# @param response_format [Symbol, :auto, OpenAI::Models::ResponseFormatText, OpenAI::Models::ResponseFormatJSONObject, OpenAI::Models::ResponseFormatJSONSchema, nil] Body param: Specifies the format that the model must output. Compatible with [GP
|
49
49
|
#
|
@@ -113,7 +113,7 @@ module OpenAI
|
|
113
113
|
#
|
114
114
|
# @param parallel_tool_calls [Boolean] Body param: Whether to enable [parallel function calling](https://platform.opena
|
115
115
|
#
|
116
|
-
# @param reasoning_effort [Symbol, OpenAI::Models::ReasoningEffort, nil] Body param:
|
116
|
+
# @param reasoning_effort [Symbol, OpenAI::Models::ReasoningEffort, nil] Body param: Constrains effort on reasoning for
|
117
117
|
#
|
118
118
|
# @param response_format [Symbol, :auto, OpenAI::Models::ResponseFormatText, OpenAI::Models::ResponseFormatJSONObject, OpenAI::Models::ResponseFormatJSONSchema, nil] Body param: Specifies the format that the model must output. Compatible with [GP
|
119
119
|
#
|