openai 0.19.0 → 0.20.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.
Files changed (38) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +15 -0
  3. data/README.md +1 -1
  4. data/lib/openai/models/chat/chat_completion_message.rb +7 -5
  5. data/lib/openai/models/chat/chat_completion_message_function_tool_call.rb +7 -5
  6. data/lib/openai/models/conversations/item_list_params.rb +2 -0
  7. data/lib/openai/models/evals/run_cancel_response.rb +2 -2
  8. data/lib/openai/models/evals/run_create_params.rb +2 -2
  9. data/lib/openai/models/evals/run_create_response.rb +2 -2
  10. data/lib/openai/models/evals/run_list_response.rb +2 -2
  11. data/lib/openai/models/evals/run_retrieve_response.rb +2 -2
  12. data/lib/openai/models/responses/response.rb +2 -2
  13. data/lib/openai/models/responses/response_create_params.rb +4 -2
  14. data/lib/openai/models/responses/response_function_tool_call.rb +7 -5
  15. data/lib/openai/models/responses/response_function_web_search.rb +35 -1
  16. data/lib/openai/models/responses/response_includable.rb +2 -0
  17. data/lib/openai/models/responses/response_output_text.rb +7 -5
  18. data/lib/openai/models/responses/tool.rb +158 -1
  19. data/lib/openai/resources/conversations.rb +1 -1
  20. data/lib/openai/resources/responses.rb +2 -2
  21. data/lib/openai/version.rb +1 -1
  22. data/rbi/openai/models/conversations/item_list_params.rbi +4 -0
  23. data/rbi/openai/models/evals/run_cancel_response.rbi +2 -0
  24. data/rbi/openai/models/evals/run_create_params.rbi +4 -0
  25. data/rbi/openai/models/evals/run_create_response.rbi +2 -0
  26. data/rbi/openai/models/evals/run_list_response.rbi +2 -0
  27. data/rbi/openai/models/evals/run_retrieve_response.rbi +2 -0
  28. data/rbi/openai/models/responses/response.rbi +1 -0
  29. data/rbi/openai/models/responses/response_create_params.rbi +8 -0
  30. data/rbi/openai/models/responses/response_function_web_search.rbi +78 -2
  31. data/rbi/openai/models/responses/response_includable.rbi +2 -0
  32. data/rbi/openai/models/responses/tool.rbi +347 -0
  33. data/rbi/openai/resources/conversations/items.rbi +2 -0
  34. data/rbi/openai/resources/conversations.rbi +1 -1
  35. data/rbi/openai/resources/responses.rbi +6 -0
  36. data/sig/openai/models/responses/response_function_web_search.rbs +34 -3
  37. data/sig/openai/models/responses/tool.rbs +121 -0
  38. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ac4ed9093113e0eba0188cabba2c4ba6bc349ea0a3d03ada3ed2c091634eeed9
4
- data.tar.gz: e20b7e18c4ddcfdefcb9dffc209a975d73e85f1203d0feac5f9cf120efa7dc09
3
+ metadata.gz: 4c6dd691067d679cc3e1fb922b6187850c4857704511bd48f6a0b182f212e72d
4
+ data.tar.gz: a885e6d50f931ab851dddb2f592f3d0e3a93eaefc985ae55c9962f6ea724e2ca
5
5
  SHA512:
6
- metadata.gz: a4caaa4c1f5a0ce634d6161f42867592da4df7a1d011ac79133304ba3f18f6fae564744f89062bf062c4167c0e22bedadf9b9f05f9416d9921311f0019f2cf9e
7
- data.tar.gz: 3ab46d651e729aa986a3befb934300fcd05badc4a44cc0a61bcd08041d9d1e166f2820d9854f133fce94b77ff8d7158cf88982571ccaaa683adcc8f9a541b1b6
6
+ metadata.gz: 8673a1b9933ba901c41811123d34d73217344d1589e2d4d4f2741cc7cf0732d6843ba387e27edffa9b60fdfbee032bdb839ce97f2c849032181432b86c021e31
7
+ data.tar.gz: a20ea6be9a122f849567e0e0f734f188f950b302acc1494dc15d302deb6874f8be0032758bae5ecd49aae84b5d98a347f0d05b9e05d1971abb03d237142758a4
data/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.20.0 (2025-08-26)
4
+
5
+ Full Changelog: [v0.19.0...v0.20.0](https://github.com/openai/openai-ruby/compare/v0.19.0...v0.20.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** add web search filters ([3b84ccf](https://github.com/openai/openai-ruby/commit/3b84ccfc4073237232eff453ee33cbc15ad96c5d))
10
+
11
+
12
+ ### Chores
13
+
14
+ * add example for using openai-ruby with Azure OpenAI ([#185](https://github.com/openai/openai-ruby/issues/185)) ([9a9338f](https://github.com/openai/openai-ruby/commit/9a9338fe333d81de3113ba4495b9b08c982e730b))
15
+ * add json schema comment for rubocop.yml ([1f85c0d](https://github.com/openai/openai-ruby/commit/1f85c0dcf5659e9b4bb995b2c7af40e79d28e376))
16
+ * annotate structured output parsed responses with `response_only` ([#814](https://github.com/openai/openai-ruby/issues/814)) ([320b726](https://github.com/openai/openai-ruby/commit/320b726deec82b34e06fbaa909c9fcc90dbe4d96))
17
+
3
18
  ## 0.19.0 (2025-08-21)
4
19
 
5
20
  Full Changelog: [v0.18.1...v0.19.0](https://github.com/openai/openai-ruby/compare/v0.18.1...v0.19.0)
data/README.md CHANGED
@@ -15,7 +15,7 @@ To use this gem, install via Bundler by adding the following to your application
15
15
  <!-- x-release-please-start-version -->
16
16
 
17
17
  ```ruby
18
- gem "openai", "~> 0.19.0"
18
+ gem "openai", "~> 0.20.0"
19
19
  ```
20
20
 
21
21
  <!-- x-release-please-end -->
@@ -10,11 +10,13 @@ module OpenAI
10
10
  # @return [String, nil]
11
11
  required :content, String, nil?: true
12
12
 
13
- # @!attribute parsed
14
- # The parsed contents of the message, if JSON schema is specified.
15
- #
16
- # @return [Object, nil]
17
- optional :parsed, OpenAI::StructuredOutput::ParsedJson
13
+ response_only do
14
+ # @!attribute parsed
15
+ # The parsed contents of the message, if JSON schema is specified.
16
+ #
17
+ # @return [Object, nil]
18
+ optional :parsed, OpenAI::StructuredOutput::ParsedJson
19
+ end
18
20
 
19
21
  # @!attribute refusal
20
22
  # The refusal message generated by the model.
@@ -42,11 +42,13 @@ module OpenAI
42
42
  # @return [String]
43
43
  required :arguments, String
44
44
 
45
- # @!attribute parsed
46
- # The parsed contents of the arguments.
47
- #
48
- # @return [Object, nil]
49
- required :parsed, OpenAI::StructuredOutput::ParsedJson
45
+ response_only do
46
+ # @!attribute parsed
47
+ # The parsed contents of the arguments.
48
+ #
49
+ # @return [Object, nil]
50
+ required :parsed, OpenAI::StructuredOutput::ParsedJson
51
+ end
50
52
 
51
53
  # @!attribute name
52
54
  # The name of the function to call.
@@ -18,6 +18,8 @@ module OpenAI
18
18
  # Specify additional output data to include in the model response. Currently
19
19
  # supported values are:
20
20
  #
21
+ # - `web_search_call.action.sources`: Include the sources of the web search tool
22
+ # call.
21
23
  # - `code_interpreter_call.outputs`: Includes the outputs of python code execution
22
24
  # in code interpreter tool call items.
23
25
  # - `computer_call_output.output.image_url`: Include image urls from the computer
@@ -686,7 +686,7 @@ module OpenAI
686
686
  # the model to call your own code. Learn more about
687
687
  # [function calling](https://platform.openai.com/docs/guides/function-calling).
688
688
  #
689
- # @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>, nil]
689
+ # @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::Tool::WebSearchTool, OpenAI::Models::Responses::WebSearchTool>, nil]
690
690
  optional :tools, -> { OpenAI::Internal::Type::ArrayOf[union: OpenAI::Responses::Tool] }
691
691
 
692
692
  # @!attribute top_p
@@ -708,7 +708,7 @@ module OpenAI
708
708
  #
709
709
  # @param text [OpenAI::Models::Evals::RunCancelResponse::DataSource::Responses::SamplingParams::Text] Configuration options for a text response from the model. Can be plain
710
710
  #
711
- # @param tools [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>] An array of tools the model may call while generating a response. You
711
+ # @param tools [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::Tool::WebSearchTool, OpenAI::Models::Responses::WebSearchTool>] An array of tools the model may call while generating a response. You
712
712
  #
713
713
  # @param top_p [Float] An alternative to temperature for nucleus sampling; 1.0 includes all tokens.
714
714
 
@@ -614,7 +614,7 @@ module OpenAI
614
614
  # the model to call your own code. Learn more about
615
615
  # [function calling](https://platform.openai.com/docs/guides/function-calling).
616
616
  #
617
- # @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>, nil]
617
+ # @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::Tool::WebSearchTool, OpenAI::Models::Responses::WebSearchTool>, nil]
618
618
  optional :tools, -> { OpenAI::Internal::Type::ArrayOf[union: OpenAI::Responses::Tool] }
619
619
 
620
620
  # @!attribute top_p
@@ -636,7 +636,7 @@ module OpenAI
636
636
  #
637
637
  # @param text [OpenAI::Models::Evals::RunCreateParams::DataSource::CreateEvalResponsesRunDataSource::SamplingParams::Text] Configuration options for a text response from the model. Can be plain
638
638
  #
639
- # @param tools [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>] An array of tools the model may call while generating a response. You
639
+ # @param tools [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::Tool::WebSearchTool, OpenAI::Models::Responses::WebSearchTool>] An array of tools the model may call while generating a response. You
640
640
  #
641
641
  # @param top_p [Float] An alternative to temperature for nucleus sampling; 1.0 includes all tokens.
642
642
 
@@ -686,7 +686,7 @@ module OpenAI
686
686
  # the model to call your own code. Learn more about
687
687
  # [function calling](https://platform.openai.com/docs/guides/function-calling).
688
688
  #
689
- # @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>, nil]
689
+ # @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::Tool::WebSearchTool, OpenAI::Models::Responses::WebSearchTool>, nil]
690
690
  optional :tools, -> { OpenAI::Internal::Type::ArrayOf[union: OpenAI::Responses::Tool] }
691
691
 
692
692
  # @!attribute top_p
@@ -708,7 +708,7 @@ module OpenAI
708
708
  #
709
709
  # @param text [OpenAI::Models::Evals::RunCreateResponse::DataSource::Responses::SamplingParams::Text] Configuration options for a text response from the model. Can be plain
710
710
  #
711
- # @param tools [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>] An array of tools the model may call while generating a response. You
711
+ # @param tools [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::Tool::WebSearchTool, OpenAI::Models::Responses::WebSearchTool>] An array of tools the model may call while generating a response. You
712
712
  #
713
713
  # @param top_p [Float] An alternative to temperature for nucleus sampling; 1.0 includes all tokens.
714
714
 
@@ -685,7 +685,7 @@ module OpenAI
685
685
  # the model to call your own code. Learn more about
686
686
  # [function calling](https://platform.openai.com/docs/guides/function-calling).
687
687
  #
688
- # @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>, nil]
688
+ # @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::Tool::WebSearchTool, OpenAI::Models::Responses::WebSearchTool>, nil]
689
689
  optional :tools, -> { OpenAI::Internal::Type::ArrayOf[union: OpenAI::Responses::Tool] }
690
690
 
691
691
  # @!attribute top_p
@@ -707,7 +707,7 @@ module OpenAI
707
707
  #
708
708
  # @param text [OpenAI::Models::Evals::RunListResponse::DataSource::Responses::SamplingParams::Text] Configuration options for a text response from the model. Can be plain
709
709
  #
710
- # @param tools [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>] An array of tools the model may call while generating a response. You
710
+ # @param tools [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::Tool::WebSearchTool, OpenAI::Models::Responses::WebSearchTool>] An array of tools the model may call while generating a response. You
711
711
  #
712
712
  # @param top_p [Float] An alternative to temperature for nucleus sampling; 1.0 includes all tokens.
713
713
 
@@ -690,7 +690,7 @@ module OpenAI
690
690
  # the model to call your own code. Learn more about
691
691
  # [function calling](https://platform.openai.com/docs/guides/function-calling).
692
692
  #
693
- # @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>, nil]
693
+ # @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::Tool::WebSearchTool, OpenAI::Models::Responses::WebSearchTool>, nil]
694
694
  optional :tools, -> { OpenAI::Internal::Type::ArrayOf[union: OpenAI::Responses::Tool] }
695
695
 
696
696
  # @!attribute top_p
@@ -712,7 +712,7 @@ module OpenAI
712
712
  #
713
713
  # @param text [OpenAI::Models::Evals::RunRetrieveResponse::DataSource::Responses::SamplingParams::Text] Configuration options for a text response from the model. Can be plain
714
714
  #
715
- # @param tools [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>] An array of tools the model may call while generating a response. You
715
+ # @param tools [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::Tool::WebSearchTool, OpenAI::Models::Responses::WebSearchTool>] An array of tools the model may call while generating a response. You
716
716
  #
717
717
  # @param top_p [Float] An alternative to temperature for nucleus sampling; 1.0 includes all tokens.
718
718
 
@@ -121,7 +121,7 @@ module OpenAI
121
121
  # [function calling](https://platform.openai.com/docs/guides/function-calling).
122
122
  # You can also use custom tools to call your own code.
123
123
  #
124
- # @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>]
124
+ # @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::Tool::WebSearchTool, OpenAI::Models::Responses::WebSearchTool>]
125
125
  required :tools, -> { OpenAI::Internal::Type::ArrayOf[union: OpenAI::Responses::Tool] }
126
126
 
127
127
  # @!attribute top_p
@@ -330,7 +330,7 @@ module OpenAI
330
330
  #
331
331
  # @param tool_choice [Symbol, OpenAI::Models::Responses::ToolChoiceOptions, OpenAI::Models::Responses::ToolChoiceAllowed, OpenAI::Models::Responses::ToolChoiceTypes, OpenAI::Models::Responses::ToolChoiceFunction, OpenAI::Models::Responses::ToolChoiceMcp, OpenAI::Models::Responses::ToolChoiceCustom] How the model should select which tool (or tools) to use when generating
332
332
  #
333
- # @param tools [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>] An array of tools the model may call while generating a response. You
333
+ # @param tools [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::Tool::WebSearchTool, OpenAI::Models::Responses::WebSearchTool>] An array of tools the model may call while generating a response. You
334
334
  #
335
335
  # @param top_p [Float, nil] An alternative to sampling with temperature, called nucleus sampling,
336
336
  #
@@ -34,6 +34,8 @@ module OpenAI
34
34
  # Specify additional output data to include in the model response. Currently
35
35
  # supported values are:
36
36
  #
37
+ # - `web_search_call.action.sources`: Include the sources of the web search tool
38
+ # call.
37
39
  # - `code_interpreter_call.outputs`: Includes the outputs of python code execution
38
40
  # in code interpreter tool call items.
39
41
  # - `computer_call_output.output.image_url`: Include image urls from the computer
@@ -248,7 +250,7 @@ module OpenAI
248
250
  # [function calling](https://platform.openai.com/docs/guides/function-calling).
249
251
  # You can also use custom tools to call your own code.
250
252
  #
251
- # @return [Array<OpenAI::StructuredOutput::JsonSchemaConverter, 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>, nil]
253
+ # @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::Tool::WebSearchTool, OpenAI::Models::Responses::WebSearchTool>, nil]
252
254
  optional :tools, -> { OpenAI::Internal::Type::ArrayOf[union: OpenAI::Responses::Tool] }
253
255
 
254
256
  # @!attribute top_logprobs
@@ -338,7 +340,7 @@ module OpenAI
338
340
  #
339
341
  # @param tool_choice [Symbol, OpenAI::Models::Responses::ToolChoiceOptions, OpenAI::Models::Responses::ToolChoiceAllowed, OpenAI::Models::Responses::ToolChoiceTypes, OpenAI::Models::Responses::ToolChoiceFunction, OpenAI::Models::Responses::ToolChoiceMcp, OpenAI::Models::Responses::ToolChoiceCustom] How the model should select which tool (or tools) to use when generating
340
342
  #
341
- # @param tools [Array<OpenAI::StructuredOutput::JsonSchemaConverter, 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>] An array of tools the model may call while generating a response. You
343
+ # @param tools [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::Tool::WebSearchTool, OpenAI::Models::Responses::WebSearchTool>] An array of tools the model may call while generating a response. You
342
344
  #
343
345
  # @param top_logprobs [Integer, nil] An integer between 0 and 20 specifying the number of most likely tokens to
344
346
  #
@@ -10,11 +10,13 @@ module OpenAI
10
10
  # @return [String]
11
11
  required :arguments, String
12
12
 
13
- # @!attribute parsed
14
- # The parsed contents of the arguments.
15
- #
16
- # @return [Object, nil]
17
- required :parsed, OpenAI::StructuredOutput::ParsedJson
13
+ response_only do
14
+ # @!attribute parsed
15
+ # The parsed contents of the arguments.
16
+ #
17
+ # @return [Object, nil]
18
+ required :parsed, OpenAI::StructuredOutput::ParsedJson
19
+ end
18
20
 
19
21
  # @!attribute call_id
20
22
  # The unique ID of the function tool call generated by the model.
@@ -76,7 +76,14 @@ module OpenAI
76
76
  # @return [Symbol, :search]
77
77
  required :type, const: :search
78
78
 
79
- # @!method initialize(query:, type: :search)
79
+ # @!attribute sources
80
+ # The sources used in the search.
81
+ #
82
+ # @return [Array<OpenAI::Models::Responses::ResponseFunctionWebSearch::Action::Search::Source>, nil]
83
+ optional :sources,
84
+ -> { OpenAI::Internal::Type::ArrayOf[OpenAI::Responses::ResponseFunctionWebSearch::Action::Search::Source] }
85
+
86
+ # @!method initialize(query:, sources: nil, type: :search)
80
87
  # Some parameter documentations has been truncated, see
81
88
  # {OpenAI::Models::Responses::ResponseFunctionWebSearch::Action::Search} for more
82
89
  # details.
@@ -85,7 +92,34 @@ module OpenAI
85
92
  #
86
93
  # @param query [String] The search query.
87
94
  #
95
+ # @param sources [Array<OpenAI::Models::Responses::ResponseFunctionWebSearch::Action::Search::Source>] The sources used in the search.
96
+ #
88
97
  # @param type [Symbol, :search] The action type.
98
+
99
+ class Source < OpenAI::Internal::Type::BaseModel
100
+ # @!attribute type
101
+ # The type of source. Always `url`.
102
+ #
103
+ # @return [Symbol, :url]
104
+ required :type, const: :url
105
+
106
+ # @!attribute url
107
+ # The URL of the source.
108
+ #
109
+ # @return [String]
110
+ required :url, String
111
+
112
+ # @!method initialize(url:, type: :url)
113
+ # Some parameter documentations has been truncated, see
114
+ # {OpenAI::Models::Responses::ResponseFunctionWebSearch::Action::Search::Source}
115
+ # for more details.
116
+ #
117
+ # A source used in the search.
118
+ #
119
+ # @param url [String] The URL of the source.
120
+ #
121
+ # @param type [Symbol, :url] The type of source. Always `url`.
122
+ end
89
123
  end
90
124
 
91
125
  class OpenPage < OpenAI::Internal::Type::BaseModel
@@ -6,6 +6,8 @@ module OpenAI
6
6
  # Specify additional output data to include in the model response. Currently
7
7
  # supported values are:
8
8
  #
9
+ # - `web_search_call.action.sources`: Include the sources of the web search tool
10
+ # call.
9
11
  # - `code_interpreter_call.outputs`: Includes the outputs of python code execution
10
12
  # in code interpreter tool call items.
11
13
  # - `computer_call_output.output.image_url`: Include image urls from the computer
@@ -17,11 +17,13 @@ module OpenAI
17
17
  # @return [String]
18
18
  required :text, String
19
19
 
20
- # @!attribute parsed
21
- # The parsed contents of the output, if JSON schema is specified.
22
- #
23
- # @return [Object, nil]
24
- optional :parsed, OpenAI::StructuredOutput::ParsedJson
20
+ response_only do
21
+ # @!attribute parsed
22
+ # The parsed contents of the output, if JSON schema is specified.
23
+ #
24
+ # @return [Object, nil]
25
+ optional :parsed, OpenAI::StructuredOutput::ParsedJson
26
+ end
25
27
 
26
28
  # @!attribute type
27
29
  # The type of the output text. Always `output_text`.
@@ -37,9 +37,166 @@ module OpenAI
37
37
  # [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools).
38
38
  variant :custom, -> { OpenAI::Responses::CustomTool }
39
39
 
40
+ # Search the Internet for sources related to the prompt. Learn more about the
41
+ # [web search tool](https://platform.openai.com/docs/guides/tools-web-search).
42
+ variant -> { OpenAI::Responses::Tool::WebSearchTool }
43
+
40
44
  # 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).
41
45
  variant -> { OpenAI::Responses::WebSearchTool }
42
46
 
47
+ class WebSearchTool < OpenAI::Internal::Type::BaseModel
48
+ # @!attribute type
49
+ # The type of the web search tool. One of `web_search` or `web_search_2025_08_26`.
50
+ #
51
+ # @return [Symbol, OpenAI::Models::Responses::Tool::WebSearchTool::Type]
52
+ required :type, enum: -> { OpenAI::Responses::Tool::WebSearchTool::Type }
53
+
54
+ # @!attribute filters
55
+ # Filters for the search.
56
+ #
57
+ # @return [OpenAI::Models::Responses::Tool::WebSearchTool::Filters, nil]
58
+ optional :filters, -> { OpenAI::Responses::Tool::WebSearchTool::Filters }, nil?: true
59
+
60
+ # @!attribute search_context_size
61
+ # High level guidance for the amount of context window space to use for the
62
+ # search. One of `low`, `medium`, or `high`. `medium` is the default.
63
+ #
64
+ # @return [Symbol, OpenAI::Models::Responses::Tool::WebSearchTool::SearchContextSize, nil]
65
+ optional :search_context_size, enum: -> { OpenAI::Responses::Tool::WebSearchTool::SearchContextSize }
66
+
67
+ # @!attribute user_location
68
+ # The approximate location of the user.
69
+ #
70
+ # @return [OpenAI::Models::Responses::Tool::WebSearchTool::UserLocation, nil]
71
+ optional :user_location, -> { OpenAI::Responses::Tool::WebSearchTool::UserLocation }, nil?: true
72
+
73
+ # @!method initialize(type:, filters: nil, search_context_size: nil, user_location: nil)
74
+ # Some parameter documentations has been truncated, see
75
+ # {OpenAI::Models::Responses::Tool::WebSearchTool} for more details.
76
+ #
77
+ # Search the Internet for sources related to the prompt. Learn more about the
78
+ # [web search tool](https://platform.openai.com/docs/guides/tools-web-search).
79
+ #
80
+ # @param type [Symbol, OpenAI::Models::Responses::Tool::WebSearchTool::Type] The type of the web search tool. One of `web_search` or `web_search_2025_08_26`.
81
+ #
82
+ # @param filters [OpenAI::Models::Responses::Tool::WebSearchTool::Filters, nil] Filters for the search.
83
+ #
84
+ # @param search_context_size [Symbol, OpenAI::Models::Responses::Tool::WebSearchTool::SearchContextSize] High level guidance for the amount of context window space to use for the search
85
+ #
86
+ # @param user_location [OpenAI::Models::Responses::Tool::WebSearchTool::UserLocation, nil] The approximate location of the user.
87
+
88
+ # The type of the web search tool. One of `web_search` or `web_search_2025_08_26`.
89
+ #
90
+ # @see OpenAI::Models::Responses::Tool::WebSearchTool#type
91
+ module Type
92
+ extend OpenAI::Internal::Type::Enum
93
+
94
+ WEB_SEARCH = :web_search
95
+ WEB_SEARCH_2025_08_26 = :web_search_2025_08_26
96
+
97
+ # @!method self.values
98
+ # @return [Array<Symbol>]
99
+ end
100
+
101
+ # @see OpenAI::Models::Responses::Tool::WebSearchTool#filters
102
+ class Filters < OpenAI::Internal::Type::BaseModel
103
+ # @!attribute allowed_domains
104
+ # Allowed domains for the search. If not provided, all domains are allowed.
105
+ # Subdomains of the provided domains are allowed as well.
106
+ #
107
+ # Example: `["pubmed.ncbi.nlm.nih.gov"]`
108
+ #
109
+ # @return [Array<String>, nil]
110
+ optional :allowed_domains, OpenAI::Internal::Type::ArrayOf[String], nil?: true
111
+
112
+ # @!method initialize(allowed_domains: nil)
113
+ # Some parameter documentations has been truncated, see
114
+ # {OpenAI::Models::Responses::Tool::WebSearchTool::Filters} for more details.
115
+ #
116
+ # Filters for the search.
117
+ #
118
+ # @param allowed_domains [Array<String>, nil] Allowed domains for the search. If not provided, all domains are allowed.
119
+ end
120
+
121
+ # High level guidance for the amount of context window space to use for the
122
+ # search. One of `low`, `medium`, or `high`. `medium` is the default.
123
+ #
124
+ # @see OpenAI::Models::Responses::Tool::WebSearchTool#search_context_size
125
+ module SearchContextSize
126
+ extend OpenAI::Internal::Type::Enum
127
+
128
+ LOW = :low
129
+ MEDIUM = :medium
130
+ HIGH = :high
131
+
132
+ # @!method self.values
133
+ # @return [Array<Symbol>]
134
+ end
135
+
136
+ # @see OpenAI::Models::Responses::Tool::WebSearchTool#user_location
137
+ class UserLocation < OpenAI::Internal::Type::BaseModel
138
+ # @!attribute city
139
+ # Free text input for the city of the user, e.g. `San Francisco`.
140
+ #
141
+ # @return [String, nil]
142
+ optional :city, String, nil?: true
143
+
144
+ # @!attribute country
145
+ # The two-letter [ISO country code](https://en.wikipedia.org/wiki/ISO_3166-1) of
146
+ # the user, e.g. `US`.
147
+ #
148
+ # @return [String, nil]
149
+ optional :country, String, nil?: true
150
+
151
+ # @!attribute region
152
+ # Free text input for the region of the user, e.g. `California`.
153
+ #
154
+ # @return [String, nil]
155
+ optional :region, String, nil?: true
156
+
157
+ # @!attribute timezone
158
+ # The [IANA timezone](https://timeapi.io/documentation/iana-timezones) of the
159
+ # user, e.g. `America/Los_Angeles`.
160
+ #
161
+ # @return [String, nil]
162
+ optional :timezone, String, nil?: true
163
+
164
+ # @!attribute type
165
+ # The type of location approximation. Always `approximate`.
166
+ #
167
+ # @return [Symbol, OpenAI::Models::Responses::Tool::WebSearchTool::UserLocation::Type, nil]
168
+ optional :type, enum: -> { OpenAI::Responses::Tool::WebSearchTool::UserLocation::Type }
169
+
170
+ # @!method initialize(city: nil, country: nil, region: nil, timezone: nil, type: nil)
171
+ # Some parameter documentations has been truncated, see
172
+ # {OpenAI::Models::Responses::Tool::WebSearchTool::UserLocation} for more details.
173
+ #
174
+ # The approximate location of the user.
175
+ #
176
+ # @param city [String, nil] Free text input for the city of the user, e.g. `San Francisco`.
177
+ #
178
+ # @param country [String, nil] The two-letter [ISO country code](https://en.wikipedia.org/wiki/ISO_3166-1) of t
179
+ #
180
+ # @param region [String, nil] Free text input for the region of the user, e.g. `California`.
181
+ #
182
+ # @param timezone [String, nil] The [IANA timezone](https://timeapi.io/documentation/iana-timezones) of the user
183
+ #
184
+ # @param type [Symbol, OpenAI::Models::Responses::Tool::WebSearchTool::UserLocation::Type] The type of location approximation. Always `approximate`.
185
+
186
+ # The type of location approximation. Always `approximate`.
187
+ #
188
+ # @see OpenAI::Models::Responses::Tool::WebSearchTool::UserLocation#type
189
+ module Type
190
+ extend OpenAI::Internal::Type::Enum
191
+
192
+ APPROXIMATE = :approximate
193
+
194
+ # @!method self.values
195
+ # @return [Array<Symbol>]
196
+ end
197
+ end
198
+ end
199
+
43
200
  class Mcp < OpenAI::Internal::Type::BaseModel
44
201
  # @!attribute server_label
45
202
  # A label for this MCP server, used to identify it in tool calls.
@@ -657,7 +814,7 @@ module OpenAI
657
814
  end
658
815
 
659
816
  # @!method self.variants
660
- # @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)]
817
+ # @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::Tool::WebSearchTool, OpenAI::Models::Responses::WebSearchTool)]
661
818
  end
662
819
  end
663
820
  end
@@ -9,7 +9,7 @@ module OpenAI
9
9
  # Some parameter documentations has been truncated, see
10
10
  # {OpenAI::Models::Conversations::ConversationCreateParams} for more details.
11
11
  #
12
- # Create a conversation with the given ID.
12
+ # Create a conversation.
13
13
  #
14
14
  # @overload create(items: nil, metadata: nil, request_options: {})
15
15
  #
@@ -67,7 +67,7 @@ module OpenAI
67
67
  #
68
68
  # @param tool_choice [Symbol, OpenAI::Models::Responses::ToolChoiceOptions, OpenAI::Models::Responses::ToolChoiceAllowed, OpenAI::Models::Responses::ToolChoiceTypes, OpenAI::Models::Responses::ToolChoiceFunction, OpenAI::Models::Responses::ToolChoiceMcp, OpenAI::Models::Responses::ToolChoiceCustom] How the model should select which tool (or tools) to use when generating
69
69
  #
70
- # @param tools [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>] An array of tools the model may call while generating a response. You
70
+ # @param tools [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::Tool::WebSearchTool, OpenAI::Models::Responses::WebSearchTool>] An array of tools the model may call while generating a response. You
71
71
  #
72
72
  # @param top_logprobs [Integer, nil] An integer between 0 and 20 specifying the number of most likely tokens to
73
73
  #
@@ -284,7 +284,7 @@ module OpenAI
284
284
  #
285
285
  # @param tool_choice [Symbol, OpenAI::Models::Responses::ToolChoiceOptions, OpenAI::Models::Responses::ToolChoiceAllowed, OpenAI::Models::Responses::ToolChoiceTypes, OpenAI::Models::Responses::ToolChoiceFunction, OpenAI::Models::Responses::ToolChoiceMcp, OpenAI::Models::Responses::ToolChoiceCustom] How the model should select which tool (or tools) to use when generating
286
286
  #
287
- # @param tools [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>] An array of tools the model may call while generating a response. You
287
+ # @param tools [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::Tool::WebSearchTool, OpenAI::Models::Responses::WebSearchTool>] An array of tools the model may call while generating a response. You
288
288
  #
289
289
  # @param top_logprobs [Integer, nil] An integer between 0 and 20 specifying the number of most likely tokens to
290
290
  #
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module OpenAI
4
- VERSION = "0.19.0"
4
+ VERSION = "0.20.0"
5
5
  end
@@ -25,6 +25,8 @@ module OpenAI
25
25
  # Specify additional output data to include in the model response. Currently
26
26
  # supported values are:
27
27
  #
28
+ # - `web_search_call.action.sources`: Include the sources of the web search tool
29
+ # call.
28
30
  # - `code_interpreter_call.outputs`: Includes the outputs of python code execution
29
31
  # in code interpreter tool call items.
30
32
  # - `computer_call_output.output.image_url`: Include image urls from the computer
@@ -93,6 +95,8 @@ module OpenAI
93
95
  # Specify additional output data to include in the model response. Currently
94
96
  # supported values are:
95
97
  #
98
+ # - `web_search_call.action.sources`: Include the sources of the web search tool
99
+ # call.
96
100
  # - `code_interpreter_call.outputs`: Includes the outputs of python code execution
97
101
  # in code interpreter tool call items.
98
102
  # - `computer_call_output.output.image_url`: Include image urls from the computer
@@ -1175,6 +1175,7 @@ module OpenAI
1175
1175
  OpenAI::Responses::Tool::ImageGeneration::OrHash,
1176
1176
  OpenAI::Responses::Tool::LocalShell::OrHash,
1177
1177
  OpenAI::Responses::CustomTool::OrHash,
1178
+ OpenAI::Responses::Tool::WebSearchTool::OrHash,
1178
1179
  OpenAI::Responses::WebSearchTool::OrHash
1179
1180
  )
1180
1181
  ]
@@ -1207,6 +1208,7 @@ module OpenAI
1207
1208
  OpenAI::Responses::Tool::ImageGeneration::OrHash,
1208
1209
  OpenAI::Responses::Tool::LocalShell::OrHash,
1209
1210
  OpenAI::Responses::CustomTool::OrHash,
1211
+ OpenAI::Responses::Tool::WebSearchTool::OrHash,
1210
1212
  OpenAI::Responses::WebSearchTool::OrHash
1211
1213
  )
1212
1214
  ],