openai 0.70.0 → 0.72.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 (172) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +20 -0
  3. data/README.md +51 -1
  4. data/lib/openai/client.rb +62 -8
  5. data/lib/openai/internal/provider.rb +31 -0
  6. data/lib/openai/internal/transport/base_client.rb +65 -21
  7. data/lib/openai/models/admin/organization/audit_log_list_params.rb +84 -0
  8. data/lib/openai/models/admin/organization/audit_log_list_response.rb +84 -0
  9. data/lib/openai/models/admin/organization/organization_spend_limit.rb +151 -0
  10. data/lib/openai/models/admin/organization/organization_spend_limit_deleted.rb +33 -0
  11. data/lib/openai/models/admin/organization/projects/project_service_account.rb +4 -3
  12. data/lib/openai/models/admin/organization/projects/project_spend_limit.rb +155 -0
  13. data/lib/openai/models/admin/organization/projects/project_spend_limit_deleted.rb +35 -0
  14. data/lib/openai/models/admin/organization/projects/service_account_create_params.rb +9 -1
  15. data/lib/openai/models/admin/organization/projects/service_account_create_response.rb +26 -6
  16. data/lib/openai/models/admin/organization/projects/service_accounts/api_key_create_params.rb +54 -0
  17. data/lib/openai/models/admin/organization/projects/service_accounts/api_key_create_response.rb +57 -0
  18. data/lib/openai/models/admin/organization/projects/spend_limit_delete_params.rb +26 -0
  19. data/lib/openai/models/admin/organization/projects/spend_limit_retrieve_params.rb +26 -0
  20. data/lib/openai/models/admin/organization/projects/spend_limit_update_params.rb +77 -0
  21. data/lib/openai/models/admin/organization/spend_limit_delete_params.rb +18 -0
  22. data/lib/openai/models/admin/organization/spend_limit_retrieve_params.rb +18 -0
  23. data/lib/openai/models/admin/organization/spend_limit_update_params.rb +67 -0
  24. data/lib/openai/models/admin/organization/usage_audio_speeches_response.rb +88 -13
  25. data/lib/openai/models/admin/organization/usage_audio_transcriptions_response.rb +88 -13
  26. data/lib/openai/models/admin/organization/usage_code_interpreter_sessions_response.rb +88 -13
  27. data/lib/openai/models/admin/organization/usage_completions_response.rb +88 -13
  28. data/lib/openai/models/admin/organization/usage_costs_response.rb +88 -13
  29. data/lib/openai/models/admin/organization/usage_embeddings_response.rb +88 -13
  30. data/lib/openai/models/admin/organization/usage_file_search_calls_response.rb +88 -13
  31. data/lib/openai/models/admin/organization/usage_images_response.rb +88 -13
  32. data/lib/openai/models/admin/organization/usage_moderations_response.rb +88 -13
  33. data/lib/openai/models/admin/organization/usage_vector_stores_response.rb +88 -13
  34. data/lib/openai/models/admin/organization/usage_web_search_calls_response.rb +88 -13
  35. data/lib/openai/models/beta/beta_response.rb +12 -6
  36. data/lib/openai/models/beta/beta_response_error.rb +1 -0
  37. data/lib/openai/models/beta/beta_response_input_item.rb +16 -32
  38. data/lib/openai/models/beta/beta_response_text_config.rb +4 -2
  39. data/lib/openai/models/beta/beta_responses_client_event.rb +12 -6
  40. data/lib/openai/models/beta/response_create_params.rb +12 -6
  41. data/lib/openai/models/beta/responses/input_token_count_params.rb +12 -4
  42. data/lib/openai/models/chat/completion_create_params.rb +8 -6
  43. data/lib/openai/models/reasoning.rb +8 -2
  44. data/lib/openai/models/responses/input_token_count_params.rb +4 -2
  45. data/lib/openai/models/responses/response.rb +4 -4
  46. data/lib/openai/models/responses/response_create_params.rb +4 -4
  47. data/lib/openai/models/responses/response_error.rb +1 -0
  48. data/lib/openai/models/responses/response_text_config.rb +4 -2
  49. data/lib/openai/models/responses/responses_client_event.rb +4 -4
  50. data/lib/openai/provider.rb +18 -0
  51. data/lib/openai/providers/bedrock.rb +489 -0
  52. data/lib/openai/resources/admin/organization/projects/service_accounts/api_keys.rb +60 -0
  53. data/lib/openai/resources/admin/organization/projects/service_accounts.rb +10 -3
  54. data/lib/openai/resources/admin/organization/projects/spend_limit.rb +95 -0
  55. data/lib/openai/resources/admin/organization/projects.rb +4 -0
  56. data/lib/openai/resources/admin/organization/spend_limit.rb +86 -0
  57. data/lib/openai/resources/admin/organization.rb +4 -0
  58. data/lib/openai/resources/beta/responses.rb +4 -4
  59. data/lib/openai/resources/chat/completions.rb +4 -4
  60. data/lib/openai/resources/responses.rb +4 -4
  61. data/lib/openai/version.rb +1 -1
  62. data/lib/openai.rb +18 -0
  63. data/rbi/openai/client.rbi +17 -0
  64. data/rbi/openai/internal/provider.rbi +51 -0
  65. data/rbi/openai/internal/transport/base_client.rbi +32 -0
  66. data/rbi/openai/models/admin/organization/audit_log_list_params.rbi +420 -0
  67. data/rbi/openai/models/admin/organization/audit_log_list_response.rbi +420 -0
  68. data/rbi/openai/models/admin/organization/organization_spend_limit.rbi +278 -0
  69. data/rbi/openai/models/admin/organization/organization_spend_limit_deleted.rbi +48 -0
  70. data/rbi/openai/models/admin/organization/projects/project_service_account.rbi +8 -3
  71. data/rbi/openai/models/admin/organization/projects/project_spend_limit.rbi +280 -0
  72. data/rbi/openai/models/admin/organization/projects/project_spend_limit_deleted.rbi +49 -0
  73. data/rbi/openai/models/admin/organization/projects/service_account_create_params.rbi +8 -0
  74. data/rbi/openai/models/admin/organization/projects/service_account_create_response.rbi +52 -8
  75. data/rbi/openai/models/admin/organization/projects/service_accounts/api_key_create_params.rbi +84 -0
  76. data/rbi/openai/models/admin/organization/projects/service_accounts/api_key_create_response.rbi +80 -0
  77. data/rbi/openai/models/admin/organization/projects/spend_limit_delete_params.rbi +44 -0
  78. data/rbi/openai/models/admin/organization/projects/spend_limit_retrieve_params.rbi +44 -0
  79. data/rbi/openai/models/admin/organization/projects/spend_limit_update_params.rbi +149 -0
  80. data/rbi/openai/models/admin/organization/spend_limit_delete_params.rbi +34 -0
  81. data/rbi/openai/models/admin/organization/spend_limit_retrieve_params.rbi +34 -0
  82. data/rbi/openai/models/admin/organization/spend_limit_update_params.rbi +141 -0
  83. data/rbi/openai/models/admin/organization/usage_audio_speeches_response.rbi +121 -16
  84. data/rbi/openai/models/admin/organization/usage_audio_transcriptions_response.rbi +121 -16
  85. data/rbi/openai/models/admin/organization/usage_code_interpreter_sessions_response.rbi +121 -16
  86. data/rbi/openai/models/admin/organization/usage_completions_response.rbi +121 -16
  87. data/rbi/openai/models/admin/organization/usage_costs_response.rbi +121 -16
  88. data/rbi/openai/models/admin/organization/usage_embeddings_response.rbi +121 -16
  89. data/rbi/openai/models/admin/organization/usage_file_search_calls_response.rbi +121 -16
  90. data/rbi/openai/models/admin/organization/usage_images_response.rbi +121 -16
  91. data/rbi/openai/models/admin/organization/usage_moderations_response.rbi +121 -16
  92. data/rbi/openai/models/admin/organization/usage_vector_stores_response.rbi +121 -16
  93. data/rbi/openai/models/admin/organization/usage_web_search_calls_response.rbi +121 -16
  94. data/rbi/openai/models/beta/beta_response.rbi +18 -15
  95. data/rbi/openai/models/beta/beta_response_error.rbi +5 -0
  96. data/rbi/openai/models/beta/beta_response_input_item.rbi +39 -46
  97. data/rbi/openai/models/beta/beta_response_text_config.rbi +6 -3
  98. data/rbi/openai/models/beta/beta_responses_client_event.rbi +18 -15
  99. data/rbi/openai/models/beta/response_create_params.rbi +18 -15
  100. data/rbi/openai/models/beta/responses/input_token_count_params.rbi +18 -6
  101. data/rbi/openai/models/chat/completion_create_params.rbi +12 -15
  102. data/rbi/openai/models/reasoning.rbi +12 -3
  103. data/rbi/openai/models/responses/input_token_count_params.rbi +6 -3
  104. data/rbi/openai/models/responses/response.rbi +6 -12
  105. data/rbi/openai/models/responses/response_create_params.rbi +6 -12
  106. data/rbi/openai/models/responses/response_error.rbi +5 -0
  107. data/rbi/openai/models/responses/response_text_config.rbi +6 -3
  108. data/rbi/openai/models/responses/responses_client_event.rbi +6 -12
  109. data/rbi/openai/provider.rbi +9 -0
  110. data/rbi/openai/providers.rbi +33 -0
  111. data/rbi/openai/resources/admin/organization/projects/service_accounts/api_keys.rbi +45 -0
  112. data/rbi/openai/resources/admin/organization/projects/service_accounts.rbi +12 -2
  113. data/rbi/openai/resources/admin/organization/projects/spend_limit.rbi +78 -0
  114. data/rbi/openai/resources/admin/organization/projects.rbi +7 -0
  115. data/rbi/openai/resources/admin/organization/spend_limit.rbi +57 -0
  116. data/rbi/openai/resources/admin/organization.rbi +3 -0
  117. data/rbi/openai/resources/beta/responses.rbi +4 -4
  118. data/rbi/openai/resources/chat/completions.rbi +8 -6
  119. data/rbi/openai/resources/responses.rbi +4 -4
  120. data/sig/openai/client.rbs +7 -0
  121. data/sig/openai/internal/provider.rbs +29 -0
  122. data/sig/openai/internal/transport/base_client.rbs +17 -1
  123. data/sig/openai/models/admin/organization/audit_log_list_params.rbs +168 -0
  124. data/sig/openai/models/admin/organization/audit_log_list_response.rbs +168 -0
  125. data/sig/openai/models/admin/organization/organization_spend_limit.rbs +94 -0
  126. data/sig/openai/models/admin/organization/organization_spend_limit_deleted.rbs +28 -0
  127. data/sig/openai/models/admin/organization/projects/project_service_account.rbs +2 -1
  128. data/sig/openai/models/admin/organization/projects/project_spend_limit.rbs +96 -0
  129. data/sig/openai/models/admin/organization/projects/project_spend_limit_deleted.rbs +30 -0
  130. data/sig/openai/models/admin/organization/projects/service_account_create_params.rbs +9 -1
  131. data/sig/openai/models/admin/organization/projects/service_account_create_response.rbs +16 -5
  132. data/sig/openai/models/admin/organization/projects/service_accounts/api_key_create_params.rbs +53 -0
  133. data/sig/openai/models/admin/organization/projects/service_accounts/api_key_create_response.rbs +48 -0
  134. data/sig/openai/models/admin/organization/projects/spend_limit_delete_params.rbs +29 -0
  135. data/sig/openai/models/admin/organization/projects/spend_limit_retrieve_params.rbs +29 -0
  136. data/sig/openai/models/admin/organization/projects/spend_limit_update_params.rbs +67 -0
  137. data/sig/openai/models/admin/organization/spend_limit_delete_params.rbs +19 -0
  138. data/sig/openai/models/admin/organization/spend_limit_retrieve_params.rbs +19 -0
  139. data/sig/openai/models/admin/organization/spend_limit_update_params.rbs +60 -0
  140. data/sig/openai/models/admin/organization/usage_audio_speeches_response.rbs +63 -0
  141. data/sig/openai/models/admin/organization/usage_audio_transcriptions_response.rbs +63 -0
  142. data/sig/openai/models/admin/organization/usage_code_interpreter_sessions_response.rbs +63 -0
  143. data/sig/openai/models/admin/organization/usage_completions_response.rbs +63 -0
  144. data/sig/openai/models/admin/organization/usage_costs_response.rbs +63 -0
  145. data/sig/openai/models/admin/organization/usage_embeddings_response.rbs +63 -0
  146. data/sig/openai/models/admin/organization/usage_file_search_calls_response.rbs +63 -0
  147. data/sig/openai/models/admin/organization/usage_images_response.rbs +63 -0
  148. data/sig/openai/models/admin/organization/usage_moderations_response.rbs +63 -0
  149. data/sig/openai/models/admin/organization/usage_vector_stores_response.rbs +63 -0
  150. data/sig/openai/models/admin/organization/usage_web_search_calls_response.rbs +63 -0
  151. data/sig/openai/models/beta/beta_response.rbs +8 -12
  152. data/sig/openai/models/beta/beta_response_error.rbs +2 -0
  153. data/sig/openai/models/beta/beta_response_input_item.rbs +18 -24
  154. data/sig/openai/models/beta/beta_responses_client_event.rbs +8 -12
  155. data/sig/openai/models/beta/response_create_params.rbs +8 -12
  156. data/sig/openai/models/chat/completion_create_params.rbs +8 -12
  157. data/sig/openai/models/responses/response.rbs +8 -12
  158. data/sig/openai/models/responses/response_create_params.rbs +8 -12
  159. data/sig/openai/models/responses/response_error.rbs +2 -0
  160. data/sig/openai/models/responses/responses_client_event.rbs +8 -12
  161. data/sig/openai/provider.rbs +5 -0
  162. data/sig/openai/providers.rbs +15 -0
  163. data/sig/openai/resources/admin/organization/projects/service_accounts/api_keys.rbs +23 -0
  164. data/sig/openai/resources/admin/organization/projects/service_accounts.rbs +3 -0
  165. data/sig/openai/resources/admin/organization/projects/spend_limit.rbs +31 -0
  166. data/sig/openai/resources/admin/organization/projects.rbs +2 -0
  167. data/sig/openai/resources/admin/organization/spend_limit.rbs +26 -0
  168. data/sig/openai/resources/admin/organization.rbs +2 -0
  169. data/sig/openai/resources/beta/responses.rbs +4 -4
  170. data/sig/openai/resources/chat/completions.rbs +4 -4
  171. data/sig/openai/resources/responses.rbs +4 -4
  172. metadata +56 -2
@@ -805,30 +805,32 @@ module OpenAI
805
805
  # @!attribute annotations
806
806
  # Citations associated with the text content.
807
807
  #
808
- # @return [Array<OpenAI::Models::Beta::BetaResponseInputItem::MultiAgentCallOutput::Output::Annotations::UnionMember0>, Array<OpenAI::Models::Beta::BetaResponseInputItem::MultiAgentCallOutput::Output::Annotations::UnionMember1>, Array<OpenAI::Models::Beta::BetaResponseInputItem::MultiAgentCallOutput::Output::Annotations::UnionMember2>, nil]
808
+ # @return [Array<OpenAI::Models::Beta::BetaResponseInputItem::MultiAgentCallOutput::Output::Annotation::FileCitation, OpenAI::Models::Beta::BetaResponseInputItem::MultiAgentCallOutput::Output::Annotation::URLCitation, OpenAI::Models::Beta::BetaResponseInputItem::MultiAgentCallOutput::Output::Annotation::ContainerFileCitation>, nil]
809
809
  optional :annotations,
810
- union: -> { OpenAI::Beta::BetaResponseInputItem::MultiAgentCallOutput::Output::Annotations }
810
+ -> { OpenAI::Internal::Type::ArrayOf[union: OpenAI::Beta::BetaResponseInputItem::MultiAgentCallOutput::Output::Annotation] }
811
811
 
812
812
  # @!method initialize(text:, annotations: nil, type: :output_text)
813
813
  # @param text [String] The text content.
814
814
  #
815
- # @param annotations [Array<OpenAI::Models::Beta::BetaResponseInputItem::MultiAgentCallOutput::Output::Annotations::UnionMember0>, Array<OpenAI::Models::Beta::BetaResponseInputItem::MultiAgentCallOutput::Output::Annotations::UnionMember1>, Array<OpenAI::Models::Beta::BetaResponseInputItem::MultiAgentCallOutput::Output::Annotations::UnionMember2>] Citations associated with the text content.
815
+ # @param annotations [Array<OpenAI::Models::Beta::BetaResponseInputItem::MultiAgentCallOutput::Output::Annotation::FileCitation, OpenAI::Models::Beta::BetaResponseInputItem::MultiAgentCallOutput::Output::Annotation::URLCitation, OpenAI::Models::Beta::BetaResponseInputItem::MultiAgentCallOutput::Output::Annotation::ContainerFileCitation>] Citations associated with the text content.
816
816
  #
817
817
  # @param type [Symbol, :output_text] The content type. Always `output_text`.
818
818
 
819
- # Citations associated with the text content.
820
- #
821
- # @see OpenAI::Models::Beta::BetaResponseInputItem::MultiAgentCallOutput::Output#annotations
822
- module Annotations
819
+ module Annotation
823
820
  extend OpenAI::Internal::Type::Union
824
821
 
825
- variant -> { OpenAI::Models::Beta::BetaResponseInputItem::MultiAgentCallOutput::Output::Annotations::UnionMember0Array }
822
+ discriminator :type
823
+
824
+ variant :file_citation,
825
+ -> { OpenAI::Beta::BetaResponseInputItem::MultiAgentCallOutput::Output::Annotation::FileCitation }
826
826
 
827
- variant -> { OpenAI::Models::Beta::BetaResponseInputItem::MultiAgentCallOutput::Output::Annotations::UnionMember1Array }
827
+ variant :url_citation,
828
+ -> { OpenAI::Beta::BetaResponseInputItem::MultiAgentCallOutput::Output::Annotation::URLCitation }
828
829
 
829
- variant -> { OpenAI::Models::Beta::BetaResponseInputItem::MultiAgentCallOutput::Output::Annotations::UnionMember2Array }
830
+ variant :container_file_citation,
831
+ -> { OpenAI::Beta::BetaResponseInputItem::MultiAgentCallOutput::Output::Annotation::ContainerFileCitation }
830
832
 
831
- class UnionMember0 < OpenAI::Internal::Type::BaseModel
833
+ class FileCitation < OpenAI::Internal::Type::BaseModel
832
834
  # @!attribute file_id
833
835
  # The ID of the file.
834
836
  #
@@ -863,7 +865,7 @@ module OpenAI
863
865
  # @param type [Symbol, :file_citation] The citation type. Always `file_citation`.
864
866
  end
865
867
 
866
- class UnionMember1 < OpenAI::Internal::Type::BaseModel
868
+ class URLCitation < OpenAI::Internal::Type::BaseModel
867
869
  # @!attribute end_index
868
870
  # The index of the last character of the citation in the message.
869
871
  #
@@ -906,7 +908,7 @@ module OpenAI
906
908
  # @param type [Symbol, :url_citation] The citation type. Always `url_citation`.
907
909
  end
908
910
 
909
- class UnionMember2 < OpenAI::Internal::Type::BaseModel
911
+ class ContainerFileCitation < OpenAI::Internal::Type::BaseModel
910
912
  # @!attribute container_id
911
913
  # The ID of the container.
912
914
  #
@@ -958,25 +960,7 @@ module OpenAI
958
960
  end
959
961
 
960
962
  # @!method self.variants
961
- # @return [Array(Array<OpenAI::Models::Beta::BetaResponseInputItem::MultiAgentCallOutput::Output::Annotations::UnionMember0>, Array<OpenAI::Models::Beta::BetaResponseInputItem::MultiAgentCallOutput::Output::Annotations::UnionMember1>, Array<OpenAI::Models::Beta::BetaResponseInputItem::MultiAgentCallOutput::Output::Annotations::UnionMember2>)]
962
-
963
- # @type [OpenAI::Internal::Type::Converter]
964
- UnionMember0Array =
965
- OpenAI::Internal::Type::ArrayOf[-> {
966
- OpenAI::Beta::BetaResponseInputItem::MultiAgentCallOutput::Output::Annotations::UnionMember0
967
- }]
968
-
969
- # @type [OpenAI::Internal::Type::Converter]
970
- UnionMember1Array =
971
- OpenAI::Internal::Type::ArrayOf[-> {
972
- OpenAI::Beta::BetaResponseInputItem::MultiAgentCallOutput::Output::Annotations::UnionMember1
973
- }]
974
-
975
- # @type [OpenAI::Internal::Type::Converter]
976
- UnionMember2Array =
977
- OpenAI::Internal::Type::ArrayOf[-> {
978
- OpenAI::Beta::BetaResponseInputItem::MultiAgentCallOutput::Output::Annotations::UnionMember2
979
- }]
963
+ # @return [Array(OpenAI::Models::Beta::BetaResponseInputItem::MultiAgentCallOutput::Output::Annotation::FileCitation, OpenAI::Models::Beta::BetaResponseInputItem::MultiAgentCallOutput::Output::Annotation::URLCitation, OpenAI::Models::Beta::BetaResponseInputItem::MultiAgentCallOutput::Output::Annotation::ContainerFileCitation)]
980
964
  end
981
965
  end
982
966
 
@@ -25,7 +25,8 @@ module OpenAI
25
25
  # @!attribute verbosity
26
26
  # Constrains the verbosity of the model's response. Lower values will result in
27
27
  # more concise responses, while higher values will result in more verbose
28
- # responses. Currently supported values are `low`, `medium`, and `high`.
28
+ # responses. Currently supported values are `low`, `medium`, and `high`. The
29
+ # default is `medium`.
29
30
  #
30
31
  # @return [Symbol, OpenAI::Models::Beta::BetaResponseTextConfig::Verbosity, nil]
31
32
  optional :verbosity, enum: -> { OpenAI::Beta::BetaResponseTextConfig::Verbosity }, nil?: true
@@ -46,7 +47,8 @@ module OpenAI
46
47
 
47
48
  # Constrains the verbosity of the model's response. Lower values will result in
48
49
  # more concise responses, while higher values will result in more verbose
49
- # responses. Currently supported values are `low`, `medium`, and `high`.
50
+ # responses. Currently supported values are `low`, `medium`, and `high`. The
51
+ # default is `medium`.
50
52
  #
51
53
  # @see OpenAI::Models::Beta::BetaResponseTextConfig#verbosity
52
54
  module Verbosity
@@ -188,7 +188,7 @@ module OpenAI
188
188
  # [Learn more](https://platform.openai.com/docs/guides/prompt-caching).
189
189
  #
190
190
  # @return [String, nil]
191
- optional :prompt_cache_key, String
191
+ optional :prompt_cache_key, String, nil?: true
192
192
 
193
193
  # @!attribute prompt_cache_options
194
194
  # Options for prompt caching. Supported for `gpt-5.6` and later models. By
@@ -253,7 +253,7 @@ module OpenAI
253
253
  # [Learn more](https://platform.openai.com/docs/guides/safety-best-practices#safety-identifiers).
254
254
  #
255
255
  # @return [String, nil]
256
- optional :safety_identifier, String
256
+ optional :safety_identifier, String, nil?: true
257
257
 
258
258
  # @!attribute service_tier
259
259
  # Specifies the processing type used for serving the request.
@@ -443,7 +443,7 @@ module OpenAI
443
443
  #
444
444
  # @param prompt [OpenAI::Models::Beta::BetaResponsePrompt, nil] Reference to a prompt template and its variables.
445
445
  #
446
- # @param prompt_cache_key [String] Used by OpenAI to cache responses for similar requests to optimize your cache hi
446
+ # @param prompt_cache_key [String, nil] Used by OpenAI to cache responses for similar requests to optimize your cache hi
447
447
  #
448
448
  # @param prompt_cache_options [OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::PromptCacheOptions] Options for prompt caching. Supported for `gpt-5.6` and later models. By default
449
449
  #
@@ -451,7 +451,7 @@ module OpenAI
451
451
  #
452
452
  # @param reasoning [OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Reasoning, nil] **gpt-5 and o-series models only**
453
453
  #
454
- # @param safety_identifier [String] A stable identifier used to help detect users of your application that may be vi
454
+ # @param safety_identifier [String, nil] A stable identifier used to help detect users of your application that may be vi
455
455
  #
456
456
  # @param service_tier [Symbol, OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::ServiceTier, nil] Specifies the processing type used for serving the request.
457
457
  #
@@ -1102,7 +1102,10 @@ module OpenAI
1102
1102
  # @see OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate#reasoning
1103
1103
  class Reasoning < OpenAI::Internal::Type::BaseModel
1104
1104
  # @!attribute context
1105
- # Controls which reasoning items are rendered back to the model on later turns.
1105
+ # Controls which reasoning items are rendered back to the model on later turns. If
1106
+ # omitted or set to `auto`, the model determines the context mode. The `gpt-5.6`
1107
+ # model family defaults to `all_turns`; earlier models default to `current_turn`.
1108
+ #
1106
1109
  # When returned on a response, this is the effective reasoning context mode used
1107
1110
  # for the response.
1108
1111
  #
@@ -1181,7 +1184,10 @@ module OpenAI
1181
1184
  #
1182
1185
  # @param summary [Symbol, OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Reasoning::Summary, nil] A summary of the reasoning performed by the model. This can be
1183
1186
 
1184
- # Controls which reasoning items are rendered back to the model on later turns.
1187
+ # Controls which reasoning items are rendered back to the model on later turns. If
1188
+ # omitted or set to `auto`, the model determines the context mode. The `gpt-5.6`
1189
+ # model family defaults to `all_turns`; earlier models default to `current_turn`.
1190
+ #
1185
1191
  # When returned on a response, this is the effective reasoning context mode used
1186
1192
  # for the response.
1187
1193
  #
@@ -163,7 +163,7 @@ module OpenAI
163
163
  # [Learn more](https://platform.openai.com/docs/guides/prompt-caching).
164
164
  #
165
165
  # @return [String, nil]
166
- optional :prompt_cache_key, String
166
+ optional :prompt_cache_key, String, nil?: true
167
167
 
168
168
  # @!attribute prompt_cache_options
169
169
  # Options for prompt caching. Supported for `gpt-5.6` and later models. By
@@ -223,7 +223,7 @@ module OpenAI
223
223
  # [Learn more](https://platform.openai.com/docs/guides/safety-best-practices#safety-identifiers).
224
224
  #
225
225
  # @return [String, nil]
226
- optional :safety_identifier, String
226
+ optional :safety_identifier, String, nil?: true
227
227
 
228
228
  # @!attribute service_tier
229
229
  # Specifies the processing type used for serving the request.
@@ -392,7 +392,7 @@ module OpenAI
392
392
  #
393
393
  # @param prompt [OpenAI::Models::Beta::BetaResponsePrompt, nil] Reference to a prompt template and its variables.
394
394
  #
395
- # @param prompt_cache_key [String] Used by OpenAI to cache responses for similar requests to optimize your cache hi
395
+ # @param prompt_cache_key [String, nil] Used by OpenAI to cache responses for similar requests to optimize your cache hi
396
396
  #
397
397
  # @param prompt_cache_options [OpenAI::Models::Beta::ResponseCreateParams::PromptCacheOptions] Options for prompt caching. Supported for `gpt-5.6` and later models. By default
398
398
  #
@@ -400,7 +400,7 @@ module OpenAI
400
400
  #
401
401
  # @param reasoning [OpenAI::Models::Beta::ResponseCreateParams::Reasoning, nil] **gpt-5 and o-series models only**
402
402
  #
403
- # @param safety_identifier [String] A stable identifier used to help detect users of your application that may be vi
403
+ # @param safety_identifier [String, nil] A stable identifier used to help detect users of your application that may be vi
404
404
  #
405
405
  # @param service_tier [Symbol, OpenAI::Models::Beta::ResponseCreateParams::ServiceTier, nil] Specifies the processing type used for serving the request.
406
406
  #
@@ -1027,7 +1027,10 @@ module OpenAI
1027
1027
 
1028
1028
  class Reasoning < OpenAI::Internal::Type::BaseModel
1029
1029
  # @!attribute context
1030
- # Controls which reasoning items are rendered back to the model on later turns.
1030
+ # Controls which reasoning items are rendered back to the model on later turns. If
1031
+ # omitted or set to `auto`, the model determines the context mode. The `gpt-5.6`
1032
+ # model family defaults to `all_turns`; earlier models default to `current_turn`.
1033
+ #
1031
1034
  # When returned on a response, this is the effective reasoning context mode used
1032
1035
  # for the response.
1033
1036
  #
@@ -1097,7 +1100,10 @@ module OpenAI
1097
1100
  #
1098
1101
  # @param summary [Symbol, OpenAI::Models::Beta::ResponseCreateParams::Reasoning::Summary, nil] A summary of the reasoning performed by the model. This can be
1099
1102
 
1100
- # Controls which reasoning items are rendered back to the model on later turns.
1103
+ # Controls which reasoning items are rendered back to the model on later turns. If
1104
+ # omitted or set to `auto`, the model determines the context mode. The `gpt-5.6`
1105
+ # model family defaults to `all_turns`; earlier models default to `current_turn`.
1106
+ #
1101
1107
  # When returned on a response, this is the effective reasoning context mode used
1102
1108
  # for the response.
1103
1109
  #
@@ -214,7 +214,10 @@ module OpenAI
214
214
 
215
215
  class Reasoning < OpenAI::Internal::Type::BaseModel
216
216
  # @!attribute context
217
- # Controls which reasoning items are rendered back to the model on later turns.
217
+ # Controls which reasoning items are rendered back to the model on later turns. If
218
+ # omitted or set to `auto`, the model determines the context mode. The `gpt-5.6`
219
+ # model family defaults to `all_turns`; earlier models default to `current_turn`.
220
+ #
218
221
  # When returned on a response, this is the effective reasoning context mode used
219
222
  # for the response.
220
223
  #
@@ -289,7 +292,10 @@ module OpenAI
289
292
  #
290
293
  # @param summary [Symbol, OpenAI::Models::Beta::Responses::InputTokenCountParams::Reasoning::Summary, nil] A summary of the reasoning performed by the model. This can be
291
294
 
292
- # Controls which reasoning items are rendered back to the model on later turns.
295
+ # Controls which reasoning items are rendered back to the model on later turns. If
296
+ # omitted or set to `auto`, the model determines the context mode. The `gpt-5.6`
297
+ # model family defaults to `all_turns`; earlier models default to `current_turn`.
298
+ #
293
299
  # When returned on a response, this is the effective reasoning context mode used
294
300
  # for the response.
295
301
  #
@@ -419,7 +425,8 @@ module OpenAI
419
425
  # @!attribute verbosity
420
426
  # Constrains the verbosity of the model's response. Lower values will result in
421
427
  # more concise responses, while higher values will result in more verbose
422
- # responses. Currently supported values are `low`, `medium`, and `high`.
428
+ # responses. Currently supported values are `low`, `medium`, and `high`. The
429
+ # default is `medium`.
423
430
  #
424
431
  # @return [Symbol, OpenAI::Models::Beta::Responses::InputTokenCountParams::Text::Verbosity, nil]
425
432
  optional :verbosity,
@@ -442,7 +449,8 @@ module OpenAI
442
449
 
443
450
  # Constrains the verbosity of the model's response. Lower values will result in
444
451
  # more concise responses, while higher values will result in more verbose
445
- # responses. Currently supported values are `low`, `medium`, and `high`.
452
+ # responses. Currently supported values are `low`, `medium`, and `high`. The
453
+ # default is `medium`.
446
454
  #
447
455
  # @see OpenAI::Models::Beta::Responses::InputTokenCountParams::Text#verbosity
448
456
  module Verbosity
@@ -194,7 +194,7 @@ module OpenAI
194
194
  # [Learn more](https://platform.openai.com/docs/guides/prompt-caching).
195
195
  #
196
196
  # @return [String, nil]
197
- optional :prompt_cache_key, String
197
+ optional :prompt_cache_key, String, nil?: true
198
198
 
199
199
  # @!attribute prompt_cache_options
200
200
  # Options for prompt caching. Supported for `gpt-5.6` and later models. By
@@ -271,7 +271,7 @@ module OpenAI
271
271
  # [Learn more](https://platform.openai.com/docs/guides/safety-best-practices#safety-identifiers).
272
272
  #
273
273
  # @return [String, nil]
274
- optional :safety_identifier, String
274
+ optional :safety_identifier, String, nil?: true
275
275
 
276
276
  # @!attribute seed
277
277
  # @deprecated
@@ -401,7 +401,8 @@ module OpenAI
401
401
  # @!attribute verbosity
402
402
  # Constrains the verbosity of the model's response. Lower values will result in
403
403
  # more concise responses, while higher values will result in more verbose
404
- # responses. Currently supported values are `low`, `medium`, and `high`.
404
+ # responses. Currently supported values are `low`, `medium`, and `high`. The
405
+ # default is `medium`.
405
406
  #
406
407
  # @return [Symbol, OpenAI::Models::Chat::CompletionCreateParams::Verbosity, nil]
407
408
  optional :verbosity, enum: -> { OpenAI::Chat::CompletionCreateParams::Verbosity }, nil?: true
@@ -452,7 +453,7 @@ module OpenAI
452
453
  #
453
454
  # @param presence_penalty [Float, nil] Number between -2.0 and 2.0. Positive values penalize new tokens based on
454
455
  #
455
- # @param prompt_cache_key [String] Used by OpenAI to cache responses for similar requests to optimize your cache hi
456
+ # @param prompt_cache_key [String, nil] Used by OpenAI to cache responses for similar requests to optimize your cache hi
456
457
  #
457
458
  # @param prompt_cache_options [OpenAI::Models::Chat::CompletionCreateParams::PromptCacheOptions] Options for prompt caching. Supported for `gpt-5.6` and later models. By default
458
459
  #
@@ -462,7 +463,7 @@ module OpenAI
462
463
  #
463
464
  # @param response_format [OpenAI::Models::ResponseFormatText, OpenAI::Models::ResponseFormatJSONSchema, OpenAI::StructuredOutput::JsonSchemaConverter, OpenAI::Models::ResponseFormatJSONObject] An object specifying the format that the model must output.
464
465
  #
465
- # @param safety_identifier [String] A stable identifier used to help detect users of your application that may be vi
466
+ # @param safety_identifier [String, nil] A stable identifier used to help detect users of your application that may be vi
466
467
  #
467
468
  # @param seed [Integer, nil] This feature is in Beta.
468
469
  #
@@ -894,7 +895,8 @@ module OpenAI
894
895
 
895
896
  # Constrains the verbosity of the model's response. Lower values will result in
896
897
  # more concise responses, while higher values will result in more verbose
897
- # responses. Currently supported values are `low`, `medium`, and `high`.
898
+ # responses. Currently supported values are `low`, `medium`, and `high`. The
899
+ # default is `medium`.
898
900
  module Verbosity
899
901
  extend OpenAI::Internal::Type::Enum
900
902
 
@@ -4,7 +4,10 @@ module OpenAI
4
4
  module Models
5
5
  class Reasoning < OpenAI::Internal::Type::BaseModel
6
6
  # @!attribute context
7
- # Controls which reasoning items are rendered back to the model on later turns.
7
+ # Controls which reasoning items are rendered back to the model on later turns. If
8
+ # omitted or set to `auto`, the model determines the context mode. The `gpt-5.6`
9
+ # model family defaults to `all_turns`; earlier models default to `current_turn`.
10
+ #
8
11
  # When returned on a response, this is the effective reasoning context mode used
9
12
  # for the response.
10
13
  #
@@ -72,7 +75,10 @@ module OpenAI
72
75
  #
73
76
  # @param summary [Symbol, OpenAI::Models::Reasoning::Summary, nil] A summary of the reasoning performed by the model. This can be
74
77
 
75
- # Controls which reasoning items are rendered back to the model on later turns.
78
+ # Controls which reasoning items are rendered back to the model on later turns. If
79
+ # omitted or set to `auto`, the model determines the context mode. The `gpt-5.6`
80
+ # model family defaults to `all_turns`; earlier models default to `current_turn`.
81
+ #
76
82
  # When returned on a response, this is the effective reasoning context mode used
77
83
  # for the response.
78
84
  #
@@ -225,7 +225,8 @@ module OpenAI
225
225
  # @!attribute verbosity
226
226
  # Constrains the verbosity of the model's response. Lower values will result in
227
227
  # more concise responses, while higher values will result in more verbose
228
- # responses. Currently supported values are `low`, `medium`, and `high`.
228
+ # responses. Currently supported values are `low`, `medium`, and `high`. The
229
+ # default is `medium`.
229
230
  #
230
231
  # @return [Symbol, OpenAI::Models::Responses::InputTokenCountParams::Text::Verbosity, nil]
231
232
  optional :verbosity,
@@ -250,7 +251,8 @@ module OpenAI
250
251
 
251
252
  # Constrains the verbosity of the model's response. Lower values will result in
252
253
  # more concise responses, while higher values will result in more verbose
253
- # responses. Currently supported values are `low`, `medium`, and `high`.
254
+ # responses. Currently supported values are `low`, `medium`, and `high`. The
255
+ # default is `medium`.
254
256
  #
255
257
  # @see OpenAI::Models::Responses::InputTokenCountParams::Text#verbosity
256
258
  module Verbosity
@@ -204,7 +204,7 @@ module OpenAI
204
204
  # [Learn more](https://platform.openai.com/docs/guides/prompt-caching).
205
205
  #
206
206
  # @return [String, nil]
207
- optional :prompt_cache_key, String
207
+ optional :prompt_cache_key, String, nil?: true
208
208
 
209
209
  # @!attribute prompt_cache_options
210
210
  # The prompt-caching options that were applied to the response. Supported for
@@ -257,7 +257,7 @@ module OpenAI
257
257
  # [Learn more](https://platform.openai.com/docs/guides/safety-best-practices#safety-identifiers).
258
258
  #
259
259
  # @return [String, nil]
260
- optional :safety_identifier, String
260
+ optional :safety_identifier, String, nil?: true
261
261
 
262
262
  # @!attribute service_tier
263
263
  # Specifies the processing type used for serving the request.
@@ -402,7 +402,7 @@ module OpenAI
402
402
  #
403
403
  # @param prompt [OpenAI::Models::Responses::ResponsePrompt, nil] Reference to a prompt template and its variables.
404
404
  #
405
- # @param prompt_cache_key [String] Used by OpenAI to cache responses for similar requests to optimize your cache hi
405
+ # @param prompt_cache_key [String, nil] Used by OpenAI to cache responses for similar requests to optimize your cache hi
406
406
  #
407
407
  # @param prompt_cache_options [OpenAI::Models::Responses::Response::PromptCacheOptions] The prompt-caching options that were applied to the response. Supported for `gpt
408
408
  #
@@ -410,7 +410,7 @@ module OpenAI
410
410
  #
411
411
  # @param reasoning [OpenAI::Models::Reasoning, nil] **gpt-5 and o-series models only**
412
412
  #
413
- # @param safety_identifier [String] A stable identifier used to help detect users of your application that may be vi
413
+ # @param safety_identifier [String, nil] A stable identifier used to help detect users of your application that may be vi
414
414
  #
415
415
  # @param service_tier [Symbol, OpenAI::Models::Responses::Response::ServiceTier, nil] Specifies the processing type used for serving the request.
416
416
  #
@@ -161,7 +161,7 @@ module OpenAI
161
161
  # [Learn more](https://platform.openai.com/docs/guides/prompt-caching).
162
162
  #
163
163
  # @return [String, nil]
164
- optional :prompt_cache_key, String
164
+ optional :prompt_cache_key, String, nil?: true
165
165
 
166
166
  # @!attribute prompt_cache_options
167
167
  # Options for prompt caching. Supported for `gpt-5.6` and later models. By
@@ -221,7 +221,7 @@ module OpenAI
221
221
  # [Learn more](https://platform.openai.com/docs/guides/safety-best-practices#safety-identifiers).
222
222
  #
223
223
  # @return [String, nil]
224
- optional :safety_identifier, String
224
+ optional :safety_identifier, String, nil?: true
225
225
 
226
226
  # @!attribute service_tier
227
227
  # Specifies the processing type used for serving the request.
@@ -389,7 +389,7 @@ module OpenAI
389
389
  #
390
390
  # @param prompt [OpenAI::Models::Responses::ResponsePrompt, nil] Reference to a prompt template and its variables.
391
391
  #
392
- # @param prompt_cache_key [String] Used by OpenAI to cache responses for similar requests to optimize your cache hi
392
+ # @param prompt_cache_key [String, nil] Used by OpenAI to cache responses for similar requests to optimize your cache hi
393
393
  #
394
394
  # @param prompt_cache_options [OpenAI::Models::Responses::ResponseCreateParams::PromptCacheOptions] Options for prompt caching. Supported for `gpt-5.6` and later models. By default
395
395
  #
@@ -397,7 +397,7 @@ module OpenAI
397
397
  #
398
398
  # @param reasoning [OpenAI::Models::Reasoning, nil] **gpt-5 and o-series models only**
399
399
  #
400
- # @param safety_identifier [String] A stable identifier used to help detect users of your application that may be vi
400
+ # @param safety_identifier [String, nil] A stable identifier used to help detect users of your application that may be vi
401
401
  #
402
402
  # @param service_tier [Symbol, OpenAI::Models::Responses::ResponseCreateParams::ServiceTier, nil] Specifies the processing type used for serving the request.
403
403
  #
@@ -35,6 +35,7 @@ module OpenAI
35
35
  SERVER_ERROR = :server_error
36
36
  RATE_LIMIT_EXCEEDED = :rate_limit_exceeded
37
37
  INVALID_PROMPT = :invalid_prompt
38
+ DATA_RESIDENCY_MISMATCH = :data_residency_mismatch
38
39
  BIO_POLICY = :bio_policy
39
40
  VECTOR_STORE_TIMEOUT = :vector_store_timeout
40
41
  INVALID_IMAGE = :invalid_image
@@ -25,7 +25,8 @@ module OpenAI
25
25
  # @!attribute verbosity
26
26
  # Constrains the verbosity of the model's response. Lower values will result in
27
27
  # more concise responses, while higher values will result in more verbose
28
- # responses. Currently supported values are `low`, `medium`, and `high`.
28
+ # responses. Currently supported values are `low`, `medium`, and `high`. The
29
+ # default is `medium`.
29
30
  #
30
31
  # @return [Symbol, OpenAI::Models::Responses::ResponseTextConfig::Verbosity, nil]
31
32
  optional :verbosity, enum: -> { OpenAI::Responses::ResponseTextConfig::Verbosity }, nil?: true
@@ -46,7 +47,8 @@ module OpenAI
46
47
 
47
48
  # Constrains the verbosity of the model's response. Lower values will result in
48
49
  # more concise responses, while higher values will result in more verbose
49
- # responses. Currently supported values are `low`, `medium`, and `high`.
50
+ # responses. Currently supported values are `low`, `medium`, and `high`. The
51
+ # default is `medium`.
50
52
  #
51
53
  # @see OpenAI::Models::Responses::ResponseTextConfig#verbosity
52
54
  module Verbosity
@@ -161,7 +161,7 @@ module OpenAI
161
161
  # [Learn more](https://platform.openai.com/docs/guides/prompt-caching).
162
162
  #
163
163
  # @return [String, nil]
164
- optional :prompt_cache_key, String
164
+ optional :prompt_cache_key, String, nil?: true
165
165
 
166
166
  # @!attribute prompt_cache_options
167
167
  # Options for prompt caching. Supported for `gpt-5.6` and later models. By
@@ -221,7 +221,7 @@ module OpenAI
221
221
  # [Learn more](https://platform.openai.com/docs/guides/safety-best-practices#safety-identifiers).
222
222
  #
223
223
  # @return [String, nil]
224
- optional :safety_identifier, String
224
+ optional :safety_identifier, String, nil?: true
225
225
 
226
226
  # @!attribute service_tier
227
227
  # Specifies the processing type used for serving the request.
@@ -394,7 +394,7 @@ module OpenAI
394
394
  #
395
395
  # @param prompt [OpenAI::Models::Responses::ResponsePrompt, nil] Reference to a prompt template and its variables.
396
396
  #
397
- # @param prompt_cache_key [String] Used by OpenAI to cache responses for similar requests to optimize your cache hi
397
+ # @param prompt_cache_key [String, nil] Used by OpenAI to cache responses for similar requests to optimize your cache hi
398
398
  #
399
399
  # @param prompt_cache_options [OpenAI::Models::Responses::ResponsesClientEvent::PromptCacheOptions] Options for prompt caching. Supported for `gpt-5.6` and later models. By default
400
400
  #
@@ -402,7 +402,7 @@ module OpenAI
402
402
  #
403
403
  # @param reasoning [OpenAI::Models::Reasoning, nil] **gpt-5 and o-series models only**
404
404
  #
405
- # @param safety_identifier [String] A stable identifier used to help detect users of your application that may be vi
405
+ # @param safety_identifier [String, nil] A stable identifier used to help detect users of your application that may be vi
406
406
  #
407
407
  # @param service_tier [Symbol, OpenAI::Models::Responses::ResponsesClientEvent::ServiceTier, nil] Specifies the processing type used for serving the request.
408
408
  #
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ # Opaque configuration for an OpenAI-supported third-party provider.
5
+ #
6
+ # Provider instances are created by factories in OpenAI::Providers.
7
+ class Provider
8
+ # @api private
9
+ def initialize(definition) = @definition = definition
10
+
11
+ def inspect = "#<OpenAI::Provider>"
12
+
13
+ attr_reader(:definition)
14
+ private(:definition)
15
+
16
+ private_class_method :new, :allocate
17
+ end
18
+ end