openai 0.99.0 → 0.101.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 (195) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +26 -0
  3. data/README.md +1 -1
  4. data/bedrock.md +17 -1
  5. data/lib/openai/client.rb +13 -0
  6. data/lib/openai/helpers/agents/session_stream.rb +11 -36
  7. data/lib/openai/helpers/agents/tools.rb +34 -4
  8. data/lib/openai/helpers/beta/agents/creation_stream.rb +26 -0
  9. data/lib/openai/helpers/beta/agents/function_tool.rb +11 -4
  10. data/lib/openai/helpers/beta/agents/tool_dispatcher.rb +74 -0
  11. data/lib/openai/helpers/beta/agents/tool_error.rb +28 -0
  12. data/lib/openai/models/admin/organization/usage_audio_speeches_response.rb +125 -3
  13. data/lib/openai/models/admin/organization/usage_audio_transcriptions_response.rb +125 -3
  14. data/lib/openai/models/admin/organization/usage_code_interpreter_sessions_response.rb +125 -3
  15. data/lib/openai/models/admin/organization/usage_completions_params.rb +9 -4
  16. data/lib/openai/models/admin/organization/usage_completions_response.rb +125 -3
  17. data/lib/openai/models/admin/organization/usage_costs_params.rb +16 -4
  18. data/lib/openai/models/admin/organization/usage_costs_response.rb +125 -3
  19. data/lib/openai/models/admin/organization/usage_embeddings_response.rb +125 -3
  20. data/lib/openai/models/admin/organization/usage_file_search_calls_response.rb +125 -3
  21. data/lib/openai/models/admin/organization/usage_images_response.rb +125 -3
  22. data/lib/openai/models/admin/organization/usage_moderations_response.rb +125 -3
  23. data/lib/openai/models/admin/organization/usage_vector_stores_response.rb +125 -3
  24. data/lib/openai/models/admin/organization/usage_web_search_calls_params.rb +9 -4
  25. data/lib/openai/models/admin/organization/usage_web_search_calls_response.rb +125 -3
  26. data/lib/openai/models/beta/agents/environments/template_create_params.rb +6 -6
  27. data/lib/openai/models/beta/agents/environments/template_update_params.rb +3 -6
  28. data/lib/openai/models/beta/agents/sessions/turns/item_list_params.rb +79 -0
  29. data/lib/openai/models/beta/beta_response_computer_tool_call_output_item.rb +2 -2
  30. data/lib/openai/models/beta/beta_response_error.rb +12 -1
  31. data/lib/openai/models/beta/beta_response_tool_search_output_item_param.rb +1166 -3
  32. data/lib/openai/models/beta/beta_responses_server_event.rb +12 -1
  33. data/lib/openai/models/beta/beta_tool.rb +12 -9
  34. data/lib/openai/models/beta/beta_tool_search_output_namespace_tool.rb +176 -0
  35. data/lib/openai/models/beta/environment_param.rb +6 -6
  36. data/lib/openai/models/beta/session_turn_error.rb +9 -0
  37. data/lib/openai/models/chat/chat_completion_chunk.rb +85 -18
  38. data/lib/openai/models/decision.rb +313 -0
  39. data/lib/openai/models/decision_create_params.rb +233 -0
  40. data/lib/openai/models/decision_input_image.rb +53 -0
  41. data/lib/openai/models/decision_input_message.rb +60 -0
  42. data/lib/openai/models/decision_input_part.rb +20 -0
  43. data/lib/openai/models/decision_input_text.rb +21 -0
  44. data/lib/openai/models/error_object.rb +12 -1
  45. data/lib/openai/models/eval_create_params.rb +1 -1
  46. data/lib/openai/models/eval_create_response.rb +1 -1
  47. data/lib/openai/models/eval_list_response.rb +1 -1
  48. data/lib/openai/models/eval_retrieve_response.rb +1 -1
  49. data/lib/openai/models/eval_update_response.rb +1 -1
  50. data/lib/openai/models/fine_tuning/job_list_params.rb +14 -4
  51. data/lib/openai/models/graders/score_model_grader.rb +2 -2
  52. data/lib/openai/models/image_edit_params.rb +12 -9
  53. data/lib/openai/models/realtime/realtime_client_event.rb +9 -0
  54. data/lib/openai/models/realtime/session_update_event.rb +16 -0
  55. data/lib/openai/models/responses/response_computer_tool_call_output_item.rb +2 -2
  56. data/lib/openai/models/responses/response_error.rb +12 -1
  57. data/lib/openai/models/responses/response_tool_search_output_item_param.rb +1166 -3
  58. data/lib/openai/models/responses/responses_server_event.rb +12 -1
  59. data/lib/openai/models/responses/tool.rb +12 -9
  60. data/lib/openai/models/responses/tool_search_output_namespace_tool.rb +174 -0
  61. data/lib/openai/models/video_create_error.rb +12 -1
  62. data/lib/openai/models.rb +12 -0
  63. data/lib/openai/providers/bedrock.rb +20 -1
  64. data/lib/openai/resources/admin/organization/usage.rb +15 -6
  65. data/lib/openai/resources/beta/agents/environments/templates.rb +3 -4
  66. data/lib/openai/resources/beta/agents/sessions/turns/items.rb +68 -0
  67. data/lib/openai/resources/beta/agents/sessions/turns.rb +4 -0
  68. data/lib/openai/resources/beta/agents/sessions.rb +22 -2
  69. data/lib/openai/resources/decisions.rb +59 -0
  70. data/lib/openai/resources/fine_tuning/jobs.rb +7 -2
  71. data/lib/openai/resources/images.rb +8 -6
  72. data/lib/openai/version.rb +1 -1
  73. data/lib/openai.rb +11 -0
  74. data/rbi/openai/client.rbi +3 -0
  75. data/rbi/openai/helpers/agents.rbi +2 -0
  76. data/rbi/openai/helpers/beta/agents/function_tool.rbi +8 -3
  77. data/rbi/openai/helpers/beta/agents/tool_error.rbi +19 -0
  78. data/rbi/openai/helpers/beta/agents.rbi +12 -0
  79. data/rbi/openai/models/admin/organization/usage_audio_speeches_response.rbi +194 -1
  80. data/rbi/openai/models/admin/organization/usage_audio_transcriptions_response.rbi +194 -1
  81. data/rbi/openai/models/admin/organization/usage_code_interpreter_sessions_response.rbi +194 -1
  82. data/rbi/openai/models/admin/organization/usage_completions_params.rbi +9 -4
  83. data/rbi/openai/models/admin/organization/usage_completions_response.rbi +194 -1
  84. data/rbi/openai/models/admin/organization/usage_costs_params.rbi +16 -4
  85. data/rbi/openai/models/admin/organization/usage_costs_response.rbi +194 -1
  86. data/rbi/openai/models/admin/organization/usage_embeddings_response.rbi +194 -1
  87. data/rbi/openai/models/admin/organization/usage_file_search_calls_response.rbi +194 -1
  88. data/rbi/openai/models/admin/organization/usage_images_response.rbi +194 -1
  89. data/rbi/openai/models/admin/organization/usage_moderations_response.rbi +194 -1
  90. data/rbi/openai/models/admin/organization/usage_vector_stores_response.rbi +194 -1
  91. data/rbi/openai/models/admin/organization/usage_web_search_calls_params.rbi +12 -4
  92. data/rbi/openai/models/admin/organization/usage_web_search_calls_response.rbi +194 -1
  93. data/rbi/openai/models/beta/agents/environments/template_create_params.rbi +6 -6
  94. data/rbi/openai/models/beta/agents/environments/template_update_params.rbi +3 -6
  95. data/rbi/openai/models/beta/agents/sessions/turns/item_list_params.rbi +139 -0
  96. data/rbi/openai/models/beta/beta_response_computer_tool_call_output_item.rbi +2 -2
  97. data/rbi/openai/models/beta/beta_response_error.rbi +12 -0
  98. data/rbi/openai/models/beta/beta_response_tool_search_output_item_param.rbi +1893 -18
  99. data/rbi/openai/models/beta/beta_responses_server_event.rbi +12 -0
  100. data/rbi/openai/models/beta/beta_tool.rbi +12 -9
  101. data/rbi/openai/models/beta/beta_tool_search_output_namespace_tool.rbi +272 -0
  102. data/rbi/openai/models/beta/environment_param.rbi +6 -6
  103. data/rbi/openai/models/beta/session_turn_error.rbi +18 -0
  104. data/rbi/openai/models/chat/chat_completion_chunk.rbi +123 -17
  105. data/rbi/openai/models/decision.rbi +586 -0
  106. data/rbi/openai/models/decision_create_params.rbi +435 -0
  107. data/rbi/openai/models/decision_input_image.rbi +81 -0
  108. data/rbi/openai/models/decision_input_message.rbi +96 -0
  109. data/rbi/openai/models/decision_input_part.rbi +24 -0
  110. data/rbi/openai/models/decision_input_text.rbi +49 -0
  111. data/rbi/openai/models/error_object.rbi +12 -0
  112. data/rbi/openai/models/eval_create_params.rbi +1 -1
  113. data/rbi/openai/models/eval_create_response.rbi +1 -1
  114. data/rbi/openai/models/eval_list_response.rbi +1 -1
  115. data/rbi/openai/models/eval_retrieve_response.rbi +1 -1
  116. data/rbi/openai/models/eval_update_response.rbi +1 -1
  117. data/rbi/openai/models/fine_tuning/job_list_params.rbi +14 -4
  118. data/rbi/openai/models/graders/score_model_grader.rbi +2 -2
  119. data/rbi/openai/models/image_edit_params.rbi +12 -9
  120. data/rbi/openai/models/realtime/session_update_event.rbi +16 -0
  121. data/rbi/openai/models/responses/response_computer_tool_call_output_item.rbi +2 -2
  122. data/rbi/openai/models/responses/response_error.rbi +12 -0
  123. data/rbi/openai/models/responses/response_tool_search_output_item_param.rbi +1901 -18
  124. data/rbi/openai/models/responses/responses_server_event.rbi +12 -0
  125. data/rbi/openai/models/responses/tool.rbi +12 -9
  126. data/rbi/openai/models/responses/tool_search_output_namespace_tool.rbi +272 -0
  127. data/rbi/openai/models/video_create_error.rbi +12 -0
  128. data/rbi/openai/models.rbi +12 -0
  129. data/rbi/openai/resources/admin/organization/usage.rbi +15 -6
  130. data/rbi/openai/resources/beta/agents/environments/templates.rbi +3 -4
  131. data/rbi/openai/resources/beta/agents/sessions/turns/items.rbi +62 -0
  132. data/rbi/openai/resources/beta/agents/sessions/turns.rbi +3 -0
  133. data/rbi/openai/resources/beta/agents/sessions.rbi +2 -0
  134. data/rbi/openai/resources/decisions.rbi +57 -0
  135. data/rbi/openai/resources/fine_tuning/jobs.rbi +7 -2
  136. data/rbi/openai/resources/images.rbi +8 -6
  137. data/sig/openai/client.rbs +2 -0
  138. data/sig/openai/helpers/agents.rbs +3 -0
  139. data/sig/openai/helpers/beta/agents/function_tool.rbs +5 -2
  140. data/sig/openai/helpers/beta/agents/tool_error.rbs +17 -0
  141. data/sig/openai/helpers/beta/agents.rbs +5 -0
  142. data/sig/openai/models/admin/organization/usage_audio_speeches_response.rbs +87 -2
  143. data/sig/openai/models/admin/organization/usage_audio_transcriptions_response.rbs +87 -2
  144. data/sig/openai/models/admin/organization/usage_code_interpreter_sessions_response.rbs +87 -2
  145. data/sig/openai/models/admin/organization/usage_completions_params.rbs +14 -6
  146. data/sig/openai/models/admin/organization/usage_completions_response.rbs +87 -2
  147. data/sig/openai/models/admin/organization/usage_costs_params.rbs +25 -7
  148. data/sig/openai/models/admin/organization/usage_costs_response.rbs +87 -2
  149. data/sig/openai/models/admin/organization/usage_embeddings_response.rbs +87 -2
  150. data/sig/openai/models/admin/organization/usage_file_search_calls_response.rbs +87 -2
  151. data/sig/openai/models/admin/organization/usage_images_response.rbs +87 -2
  152. data/sig/openai/models/admin/organization/usage_moderations_response.rbs +87 -2
  153. data/sig/openai/models/admin/organization/usage_vector_stores_response.rbs +87 -2
  154. data/sig/openai/models/admin/organization/usage_web_search_calls_params.rbs +19 -7
  155. data/sig/openai/models/admin/organization/usage_web_search_calls_response.rbs +87 -2
  156. data/sig/openai/models/beta/agents/environments/template_create_params.rbs +4 -4
  157. data/sig/openai/models/beta/agents/environments/template_update_params.rbs +2 -4
  158. data/sig/openai/models/beta/agents/sessions/turns/item_list_params.rbs +91 -0
  159. data/sig/openai/models/beta/beta_response_computer_tool_call_output_item.rbs +2 -2
  160. data/sig/openai/models/beta/beta_response_error.rbs +10 -0
  161. data/sig/openai/models/beta/beta_response_tool_search_output_item_param.rbs +993 -4
  162. data/sig/openai/models/beta/beta_responses_server_event.rbs +10 -0
  163. data/sig/openai/models/beta/beta_tool.rbs +8 -6
  164. data/sig/openai/models/beta/beta_tool_search_output_namespace_tool.rbs +162 -0
  165. data/sig/openai/models/beta/environment_param.rbs +4 -4
  166. data/sig/openai/models/beta/session_turn_error.rbs +12 -0
  167. data/sig/openai/models/chat/chat_completion_chunk.rbs +96 -12
  168. data/sig/openai/models/decision.rbs +296 -0
  169. data/sig/openai/models/decision_create_params.rbs +227 -0
  170. data/sig/openai/models/decision_input_image.rbs +51 -0
  171. data/sig/openai/models/decision_input_message.rbs +57 -0
  172. data/sig/openai/models/decision_input_part.rbs +12 -0
  173. data/sig/openai/models/decision_input_text.rbs +15 -0
  174. data/sig/openai/models/error_object.rbs +10 -0
  175. data/sig/openai/models/eval_create_params.rbs +1 -1
  176. data/sig/openai/models/eval_create_response.rbs +1 -1
  177. data/sig/openai/models/eval_list_response.rbs +1 -1
  178. data/sig/openai/models/eval_retrieve_response.rbs +1 -1
  179. data/sig/openai/models/eval_update_response.rbs +1 -1
  180. data/sig/openai/models/fine_tuning/job_list_params.rbs +14 -4
  181. data/sig/openai/models/graders/score_model_grader.rbs +3 -3
  182. data/sig/openai/models/image_edit_params.rbs +8 -6
  183. data/sig/openai/models/responses/response_computer_tool_call_output_item.rbs +2 -2
  184. data/sig/openai/models/responses/response_error.rbs +10 -0
  185. data/sig/openai/models/responses/response_tool_search_output_item_param.rbs +993 -4
  186. data/sig/openai/models/responses/responses_server_event.rbs +10 -0
  187. data/sig/openai/models/responses/tool.rbs +8 -6
  188. data/sig/openai/models/responses/tool_search_output_namespace_tool.rbs +160 -0
  189. data/sig/openai/models/video_create_error.rbs +10 -0
  190. data/sig/openai/models.rbs +12 -0
  191. data/sig/openai/resources/beta/agents/sessions/turns/items.rbs +24 -0
  192. data/sig/openai/resources/beta/agents/sessions/turns.rbs +2 -0
  193. data/sig/openai/resources/beta/agents/sessions.rbs +1 -0
  194. data/sig/openai/resources/decisions.rbs +15 -0
  195. metadata +38 -1
@@ -3074,6 +3074,7 @@ module OpenAI
3074
3074
  {
3075
3075
  ?detailed_explanation: String,
3076
3076
  ?error_type: OpenAI::Models::Responses::ResponsesServerEvent::ResponseWsError::Error::Misalignment::error_type,
3077
+ ?review_target: String?,
3077
3078
  ?steer: OpenAI::Responses::ResponsesServerEvent::ResponseWsError::Error::Misalignment::Steer
3078
3079
  }
3079
3080
 
@@ -3092,6 +3093,10 @@ module OpenAI
3092
3093
  OpenAI::Models::Responses::ResponsesServerEvent::ResponseWsError::Error::Misalignment::error_type
3093
3094
  ) -> OpenAI::Models::Responses::ResponsesServerEvent::ResponseWsError::Error::Misalignment::error_type
3094
3095
 
3096
+ # An opaque target for explicitly continuing this review, or null when
3097
+ # unavailable.
3098
+ attr_accessor review_target: String?
3099
+
3095
3100
  # An optional public continuation instruction.
3096
3101
  attr_reader steer: OpenAI::Responses::ResponsesServerEvent::ResponseWsError::Error::Misalignment::Steer?
3097
3102
 
@@ -3104,17 +3109,22 @@ module OpenAI
3104
3109
  # The public explanation for this block.
3105
3110
  # @param error_type
3106
3111
  # An optional classification; clients must accept additional values.
3112
+ # @param review_target
3113
+ # An opaque target for explicitly continuing this review, or null when
3114
+ # unavailable.
3107
3115
  # @param steer
3108
3116
  # An optional public continuation instruction.
3109
3117
  def initialize: (
3110
3118
  ?detailed_explanation: String,
3111
3119
  ?error_type: OpenAI::Models::Responses::ResponsesServerEvent::ResponseWsError::Error::Misalignment::error_type,
3120
+ ?review_target: String?,
3112
3121
  ?steer: OpenAI::Responses::ResponsesServerEvent::ResponseWsError::Error::Misalignment::Steer
3113
3122
  ) -> void
3114
3123
 
3115
3124
  def to_hash: -> {
3116
3125
  ?detailed_explanation: String,
3117
3126
  ?error_type: OpenAI::Models::Responses::ResponsesServerEvent::ResponseWsError::Error::Misalignment::error_type,
3127
+ ?review_target: String?,
3118
3128
  ?steer: OpenAI::Responses::ResponsesServerEvent::ResponseWsError::Error::Misalignment::Steer
3119
3129
  }
3120
3130
 
@@ -641,9 +641,10 @@ module OpenAI
641
641
  OpenAI::Models::Responses::Tool::ImageGeneration::background
642
642
  ) -> OpenAI::Models::Responses::Tool::ImageGeneration::background
643
643
 
644
- # Controls fidelity to the original input image(s). This parameter is supported
645
- # for GPT image models that support input fidelity. `gpt-image-2` and
646
- # `gpt-image-2-2026-04-21` ignore this parameter.
644
+ # Control how much effort the model will exert to match the style and features,
645
+ # especially facial features, of input images. Supports `high` and `low` on
646
+ # `gpt-image-1` and `gpt-image-1.5`; `gpt-image-1-mini` supports only `low`. For
647
+ # `gpt-image-2`, omit this parameter. Defaults to `low` on supported models.
647
648
  attr_accessor input_fidelity: OpenAI::Models::Responses::Tool::ImageGeneration::input_fidelity?
648
649
 
649
650
  # Optional mask for inpainting. Contains `image_url` (string, optional) and
@@ -757,9 +758,10 @@ module OpenAI
757
758
  # `gpt-image-2-2026-04-21`, this support is in preview. When using `transparent`,
758
759
  # set the output format to `png` or `webp`.
759
760
  # @param input_fidelity
760
- # Controls fidelity to the original input image(s). This parameter is supported
761
- # for GPT image models that support input fidelity. `gpt-image-2` and
762
- # `gpt-image-2-2026-04-21` ignore this parameter.
761
+ # Control how much effort the model will exert to match the style and features,
762
+ # especially facial features, of input images. Supports `high` and `low` on
763
+ # `gpt-image-1` and `gpt-image-1.5`; `gpt-image-1-mini` supports only `low`. For
764
+ # `gpt-image-2`, omit this parameter. Defaults to `low` on supported models.
763
765
  # @param input_image_mask
764
766
  # Optional mask for inpainting. Contains `image_url` (string, optional) and
765
767
  # `file_id` (string, optional).
@@ -0,0 +1,160 @@
1
+ module OpenAI
2
+ module Models
3
+ module Responses
4
+ type tool_search_output_namespace_tool =
5
+ {
6
+ description: String,
7
+ name: String,
8
+ tools: ::Array[OpenAI::Models::Responses::ToolSearchOutputNamespaceTool::tool],
9
+ ?type: :namespace
10
+ }
11
+
12
+ class ToolSearchOutputNamespaceTool < OpenAI::Internal::Type::BaseModel
13
+ # A description of the namespace shown to the model.
14
+ attr_accessor description: String
15
+
16
+ # The namespace name used in tool calls (for example, `crm`).
17
+ attr_accessor name: String
18
+
19
+ # The function/custom tools loaded inside this namespace.
20
+ attr_accessor tools: ::Array[OpenAI::Models::Responses::ToolSearchOutputNamespaceTool::tool]
21
+
22
+ # The type of the tool. Always `namespace`.
23
+ attr_accessor type: :namespace
24
+
25
+ # @param description
26
+ # A description of the namespace shown to the model.
27
+ # @param name
28
+ # The namespace name used in tool calls (for example, `crm`).
29
+ # @param tools
30
+ # The function/custom tools loaded inside this namespace.
31
+ # @param type
32
+ # The type of the tool. Always `namespace`.
33
+ def initialize: (
34
+ description: String,
35
+ name: String,
36
+ tools: ::Array[OpenAI::Models::Responses::ToolSearchOutputNamespaceTool::tool],
37
+ ?type: :namespace
38
+ ) -> void
39
+
40
+ def to_hash: -> {
41
+ description: String,
42
+ name: String,
43
+ tools: ::Array[OpenAI::Models::Responses::ToolSearchOutputNamespaceTool::tool],
44
+ ?type: :namespace
45
+ }
46
+
47
+ type tool =
48
+ OpenAI::Responses::ToolSearchOutputNamespaceTool::Tool::Function
49
+ | OpenAI::Responses::CustomTool
50
+
51
+ module Tool
52
+ extend OpenAI::Internal::Type::Union
53
+
54
+ type function =
55
+ {
56
+ name: String,
57
+ ?type: :function,
58
+ ?allowed_callers: ::Array[OpenAI::Models::Responses::ToolSearchOutputNamespaceTool::Tool::Function::allowed_caller]?,
59
+ ?async: bool,
60
+ ?defer_loading: bool,
61
+ ?description: String?,
62
+ ?output_schema: ::Hash[Symbol, top]?,
63
+ ?parameters: top?,
64
+ ?strict: bool?
65
+ }
66
+
67
+ class Function < OpenAI::Internal::Type::BaseModel
68
+ # The name of the loaded function tool.
69
+ attr_accessor name: String
70
+
71
+ attr_accessor type: :function
72
+
73
+ # The tool invocation context(s).
74
+ attr_accessor allowed_callers: ::Array[OpenAI::Models::Responses::ToolSearchOutputNamespaceTool::Tool::Function::allowed_caller]?
75
+
76
+ # Whether the tool response can be returned asynchronously versus immediately
77
+ # returned on next response creation.
78
+ attr_reader async: bool?
79
+
80
+ # Whether the tool response can be returned asynchronously versus immediately
81
+ # returned on next response creation.
82
+ def async=: (bool) -> bool
83
+
84
+ # Whether this function should be deferred and discovered via tool search.
85
+ attr_reader defer_loading: bool?
86
+
87
+ # Whether this function should be deferred and discovered via tool search.
88
+ def defer_loading=: (bool) -> bool
89
+
90
+ attr_accessor description: String?
91
+
92
+ # A JSON Schema describing the JSON value encoded in string outputs for this
93
+ # function tool. This does not describe content-array outputs.
94
+ attr_accessor output_schema: ::Hash[Symbol, top]?
95
+
96
+ attr_accessor parameters: top?
97
+
98
+ # Whether to enforce strict parameter validation. If omitted, Responses attempts
99
+ # to use strict validation when the schema is compatible, and falls back to
100
+ # non-strict validation otherwise.
101
+ attr_accessor strict: bool?
102
+
103
+ # @param name
104
+ # The name of the loaded function tool.
105
+ # @param allowed_callers
106
+ # The tool invocation context(s).
107
+ # @param async
108
+ # Whether the tool response can be returned asynchronously versus immediately
109
+ # returned on next response creation.
110
+ # @param defer_loading
111
+ # Whether this function should be deferred and discovered via tool search.
112
+ # @param output_schema
113
+ # A JSON Schema describing the JSON value encoded in string outputs for this
114
+ # function tool. This does not describe content-array outputs.
115
+ # @param strict
116
+ # Whether to enforce strict parameter validation. If omitted, Responses attempts
117
+ # to use strict validation when the schema is compatible, and falls back to
118
+ # non-strict validation otherwise.
119
+ def initialize: (
120
+ name: String,
121
+ ?allowed_callers: ::Array[OpenAI::Models::Responses::ToolSearchOutputNamespaceTool::Tool::Function::allowed_caller]?,
122
+ ?async: bool,
123
+ ?defer_loading: bool,
124
+ ?description: String?,
125
+ ?output_schema: ::Hash[Symbol, top]?,
126
+ ?parameters: top?,
127
+ ?strict: bool?,
128
+ ?type: :function
129
+ ) -> void
130
+
131
+ def to_hash: -> {
132
+ name: String,
133
+ ?type: :function,
134
+ ?allowed_callers: ::Array[OpenAI::Models::Responses::ToolSearchOutputNamespaceTool::Tool::Function::allowed_caller]?,
135
+ ?async: bool,
136
+ ?defer_loading: bool,
137
+ ?description: String?,
138
+ ?output_schema: ::Hash[Symbol, top]?,
139
+ ?parameters: top?,
140
+ ?strict: bool?
141
+ }
142
+
143
+ type allowed_caller = :direct | :programmatic
144
+
145
+ module AllowedCaller
146
+ extend OpenAI::Internal::Type::Enum
147
+
148
+ DIRECT: :direct
149
+ PROGRAMMATIC: :programmatic
150
+
151
+ def self?.values: -> ::Array[OpenAI::Models::Responses::ToolSearchOutputNamespaceTool::Tool::Function::allowed_caller]
152
+ end
153
+ end
154
+
155
+ def self?.variants: -> ::Array[OpenAI::Models::Responses::ToolSearchOutputNamespaceTool::tool]
156
+ end
157
+ end
158
+ end
159
+ end
160
+ end
@@ -54,6 +54,7 @@ module OpenAI
54
54
  {
55
55
  ?detailed_explanation: String,
56
56
  ?error_type: OpenAI::Models::VideoCreateError::Misalignment::error_type,
57
+ ?review_target: String?,
57
58
  ?steer: OpenAI::VideoCreateError::Misalignment::Steer
58
59
  }
59
60
 
@@ -72,6 +73,10 @@ module OpenAI
72
73
  OpenAI::Models::VideoCreateError::Misalignment::error_type
73
74
  ) -> OpenAI::Models::VideoCreateError::Misalignment::error_type
74
75
 
76
+ # An opaque target for explicitly continuing this review, or null when
77
+ # unavailable.
78
+ attr_accessor review_target: String?
79
+
75
80
  # An optional public continuation instruction.
76
81
  attr_reader steer: OpenAI::VideoCreateError::Misalignment::Steer?
77
82
 
@@ -84,17 +89,22 @@ module OpenAI
84
89
  # The public explanation for this block.
85
90
  # @param error_type
86
91
  # An optional classification; clients must accept additional values.
92
+ # @param review_target
93
+ # An opaque target for explicitly continuing this review, or null when
94
+ # unavailable.
87
95
  # @param steer
88
96
  # An optional public continuation instruction.
89
97
  def initialize: (
90
98
  ?detailed_explanation: String,
91
99
  ?error_type: OpenAI::Models::VideoCreateError::Misalignment::error_type,
100
+ ?review_target: String?,
92
101
  ?steer: OpenAI::VideoCreateError::Misalignment::Steer
93
102
  ) -> void
94
103
 
95
104
  def to_hash: -> {
96
105
  ?detailed_explanation: String,
97
106
  ?error_type: OpenAI::Models::VideoCreateError::Misalignment::error_type,
107
+ ?review_target: String?,
98
108
  ?steer: OpenAI::VideoCreateError::Misalignment::Steer
99
109
  }
100
110
 
@@ -65,6 +65,18 @@ module OpenAI
65
65
 
66
66
  module CustomToolInputFormat = OpenAI::Models::CustomToolInputFormat
67
67
 
68
+ class Decision = OpenAI::Models::Decision
69
+
70
+ class DecisionCreateParams = OpenAI::Models::DecisionCreateParams
71
+
72
+ class DecisionInputImage = OpenAI::Models::DecisionInputImage
73
+
74
+ class DecisionInputMessage = OpenAI::Models::DecisionInputMessage
75
+
76
+ module DecisionInputPart = OpenAI::Models::DecisionInputPart
77
+
78
+ class DecisionInputText = OpenAI::Models::DecisionInputText
79
+
68
80
  class DeletedSkill = OpenAI::Models::DeletedSkill
69
81
 
70
82
  class Embedding = OpenAI::Models::Embedding
@@ -0,0 +1,24 @@
1
+ module OpenAI
2
+ module Resources
3
+ class Beta
4
+ class Agents
5
+ class Sessions
6
+ class Turns
7
+ class Items
8
+ def list: (
9
+ String turn_id,
10
+ session_id: String,
11
+ ?after: String,
12
+ ?limit: Integer,
13
+ ?order: OpenAI::Models::Beta::Agents::Sessions::Turns::ItemListParams::order,
14
+ ?request_options: OpenAI::request_opts
15
+ ) -> OpenAI::Internal::ConversationCursorPage[OpenAI::Models::Beta::agent_session_item]
16
+
17
+ def initialize: (client: OpenAI::Client) -> void
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -4,6 +4,8 @@ module OpenAI
4
4
  class Agents
5
5
  class Sessions
6
6
  class Turns
7
+ attr_reader items: OpenAI::Resources::Beta::Agents::Sessions::Turns::Items
8
+
7
9
  def retrieve: (
8
10
  String turn_id,
9
11
  session_id: String,
@@ -29,6 +29,7 @@ module OpenAI
29
29
  environment: OpenAI::Models::Beta::environment_param,
30
30
  ?agent: OpenAI::Beta::Agents::SessionCreateParams::Agent,
31
31
  ?agent_id: String,
32
+ ?tool_handlers: ::Hash[String, OpenAI::Helpers::Agents::tool_handler],
32
33
  ?output_type: singleton(OpenAI::Helpers::StructuredOutput::BaseModel)?,
33
34
  ?input: OpenAI::Models::Beta::Agents::SessionCreateParams::input?,
34
35
  ?metadata: ::Hash[Symbol, String]?,
@@ -0,0 +1,15 @@
1
+ module OpenAI
2
+ module Resources
3
+ class Decisions
4
+ def create: (
5
+ input: OpenAI::Models::DecisionCreateParams::input,
6
+ model: String,
7
+ questions: ::Array[OpenAI::Models::DecisionCreateParams::question],
8
+ ?safety_identifier: String?,
9
+ ?request_options: OpenAI::request_opts
10
+ ) -> OpenAI::Decision
11
+
12
+ def initialize: (client: OpenAI::Client) -> void
13
+ end
14
+ end
15
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: openai
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.99.0
4
+ version: 0.101.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - OpenAI
@@ -98,6 +98,8 @@ files:
98
98
  - lib/openai/helpers/beta/agents/function_tool.rb
99
99
  - lib/openai/helpers/beta/agents/model_adapter.rb
100
100
  - lib/openai/helpers/beta/agents/result.rb
101
+ - lib/openai/helpers/beta/agents/tool_dispatcher.rb
102
+ - lib/openai/helpers/beta/agents/tool_error.rb
101
103
  - lib/openai/helpers/beta/agents/typed_output.rb
102
104
  - lib/openai/helpers/client_options.rb
103
105
  - lib/openai/helpers/data_residency.rb
@@ -542,6 +544,7 @@ files:
542
544
  - lib/openai/models/beta/agents/sessions/turn.rb
543
545
  - lib/openai/models/beta/agents/sessions/turn_list_params.rb
544
546
  - lib/openai/models/beta/agents/sessions/turn_retrieve_params.rb
547
+ - lib/openai/models/beta/agents/sessions/turns/item_list_params.rb
545
548
  - lib/openai/models/beta/agents/vault.rb
546
549
  - lib/openai/models/beta/agents/vault_create_params.rb
547
550
  - lib/openai/models/beta/agents/vault_delete_params.rb
@@ -743,6 +746,7 @@ files:
743
746
  - lib/openai/models/beta/beta_tool_choice_options.rb
744
747
  - lib/openai/models/beta/beta_tool_choice_shell.rb
745
748
  - lib/openai/models/beta/beta_tool_choice_types.rb
749
+ - lib/openai/models/beta/beta_tool_search_output_namespace_tool.rb
746
750
  - lib/openai/models/beta/beta_tool_search_tool.rb
747
751
  - lib/openai/models/beta/beta_web_search_preview_tool.rb
748
752
  - lib/openai/models/beta/beta_web_search_tool.rb
@@ -980,6 +984,12 @@ files:
980
984
  - lib/openai/models/conversations/text_content.rb
981
985
  - lib/openai/models/create_embedding_response.rb
982
986
  - lib/openai/models/custom_tool_input_format.rb
987
+ - lib/openai/models/decision.rb
988
+ - lib/openai/models/decision_create_params.rb
989
+ - lib/openai/models/decision_input_image.rb
990
+ - lib/openai/models/decision_input_message.rb
991
+ - lib/openai/models/decision_input_part.rb
992
+ - lib/openai/models/decision_input_text.rb
983
993
  - lib/openai/models/deleted_skill.rb
984
994
  - lib/openai/models/embedding.rb
985
995
  - lib/openai/models/embedding_create_params.rb
@@ -1463,6 +1473,7 @@ files:
1463
1473
  - lib/openai/models/responses/tool_choice_options.rb
1464
1474
  - lib/openai/models/responses/tool_choice_shell.rb
1465
1475
  - lib/openai/models/responses/tool_choice_types.rb
1476
+ - lib/openai/models/responses/tool_search_output_namespace_tool.rb
1466
1477
  - lib/openai/models/responses/tool_search_tool.rb
1467
1478
  - lib/openai/models/responses/web_search_preview_tool.rb
1468
1479
  - lib/openai/models/responses/web_search_tool.rb
@@ -1638,6 +1649,7 @@ files:
1638
1649
  - lib/openai/resources/beta/agents/sessions/subagents/turns/items.rb
1639
1650
  - lib/openai/resources/beta/agents/sessions/traces.rb
1640
1651
  - lib/openai/resources/beta/agents/sessions/turns.rb
1652
+ - lib/openai/resources/beta/agents/sessions/turns/items.rb
1641
1653
  - lib/openai/resources/beta/agents/vaults.rb
1642
1654
  - lib/openai/resources/beta/agents/vaults/credentials.rb
1643
1655
  - lib/openai/resources/beta/assistants.rb
@@ -1661,6 +1673,7 @@ files:
1661
1673
  - lib/openai/resources/content_provenance_checks.rb
1662
1674
  - lib/openai/resources/conversations.rb
1663
1675
  - lib/openai/resources/conversations/items.rb
1676
+ - lib/openai/resources/decisions.rb
1664
1677
  - lib/openai/resources/embeddings.rb
1665
1678
  - lib/openai/resources/evals.rb
1666
1679
  - lib/openai/resources/evals/runs.rb
@@ -1726,6 +1739,7 @@ files:
1726
1739
  - rbi/openai/helpers/beta/agents/files.rbi
1727
1740
  - rbi/openai/helpers/beta/agents/function_tool.rbi
1728
1741
  - rbi/openai/helpers/beta/agents/model_adapter.rbi
1742
+ - rbi/openai/helpers/beta/agents/tool_error.rbi
1729
1743
  - rbi/openai/helpers/client_options.rbi
1730
1744
  - rbi/openai/helpers/data_residency.rbi
1731
1745
  - rbi/openai/helpers/live/transcript_grouper.rbi
@@ -2149,6 +2163,7 @@ files:
2149
2163
  - rbi/openai/models/beta/agents/sessions/turn.rbi
2150
2164
  - rbi/openai/models/beta/agents/sessions/turn_list_params.rbi
2151
2165
  - rbi/openai/models/beta/agents/sessions/turn_retrieve_params.rbi
2166
+ - rbi/openai/models/beta/agents/sessions/turns/item_list_params.rbi
2152
2167
  - rbi/openai/models/beta/agents/vault.rbi
2153
2168
  - rbi/openai/models/beta/agents/vault_create_params.rbi
2154
2169
  - rbi/openai/models/beta/agents/vault_delete_params.rbi
@@ -2350,6 +2365,7 @@ files:
2350
2365
  - rbi/openai/models/beta/beta_tool_choice_options.rbi
2351
2366
  - rbi/openai/models/beta/beta_tool_choice_shell.rbi
2352
2367
  - rbi/openai/models/beta/beta_tool_choice_types.rbi
2368
+ - rbi/openai/models/beta/beta_tool_search_output_namespace_tool.rbi
2353
2369
  - rbi/openai/models/beta/beta_tool_search_tool.rbi
2354
2370
  - rbi/openai/models/beta/beta_web_search_preview_tool.rbi
2355
2371
  - rbi/openai/models/beta/beta_web_search_tool.rbi
@@ -2586,6 +2602,12 @@ files:
2586
2602
  - rbi/openai/models/conversations/text_content.rbi
2587
2603
  - rbi/openai/models/create_embedding_response.rbi
2588
2604
  - rbi/openai/models/custom_tool_input_format.rbi
2605
+ - rbi/openai/models/decision.rbi
2606
+ - rbi/openai/models/decision_create_params.rbi
2607
+ - rbi/openai/models/decision_input_image.rbi
2608
+ - rbi/openai/models/decision_input_message.rbi
2609
+ - rbi/openai/models/decision_input_part.rbi
2610
+ - rbi/openai/models/decision_input_text.rbi
2589
2611
  - rbi/openai/models/deleted_skill.rbi
2590
2612
  - rbi/openai/models/embedding.rbi
2591
2613
  - rbi/openai/models/embedding_create_params.rbi
@@ -3069,6 +3091,7 @@ files:
3069
3091
  - rbi/openai/models/responses/tool_choice_options.rbi
3070
3092
  - rbi/openai/models/responses/tool_choice_shell.rbi
3071
3093
  - rbi/openai/models/responses/tool_choice_types.rbi
3094
+ - rbi/openai/models/responses/tool_search_output_namespace_tool.rbi
3072
3095
  - rbi/openai/models/responses/tool_search_tool.rbi
3073
3096
  - rbi/openai/models/responses/web_search_preview_tool.rbi
3074
3097
  - rbi/openai/models/responses/web_search_tool.rbi
@@ -3243,6 +3266,7 @@ files:
3243
3266
  - rbi/openai/resources/beta/agents/sessions/subagents/turns/items.rbi
3244
3267
  - rbi/openai/resources/beta/agents/sessions/traces.rbi
3245
3268
  - rbi/openai/resources/beta/agents/sessions/turns.rbi
3269
+ - rbi/openai/resources/beta/agents/sessions/turns/items.rbi
3246
3270
  - rbi/openai/resources/beta/agents/vaults.rbi
3247
3271
  - rbi/openai/resources/beta/agents/vaults/credentials.rbi
3248
3272
  - rbi/openai/resources/beta/assistants.rbi
@@ -3266,6 +3290,7 @@ files:
3266
3290
  - rbi/openai/resources/content_provenance_checks.rbi
3267
3291
  - rbi/openai/resources/conversations.rbi
3268
3292
  - rbi/openai/resources/conversations/items.rbi
3293
+ - rbi/openai/resources/decisions.rbi
3269
3294
  - rbi/openai/resources/embeddings.rbi
3270
3295
  - rbi/openai/resources/evals.rbi
3271
3296
  - rbi/openai/resources/evals/runs.rbi
@@ -3331,6 +3356,7 @@ files:
3331
3356
  - sig/openai/helpers/beta/agents/files.rbs
3332
3357
  - sig/openai/helpers/beta/agents/function_tool.rbs
3333
3358
  - sig/openai/helpers/beta/agents/model_adapter.rbs
3359
+ - sig/openai/helpers/beta/agents/tool_error.rbs
3334
3360
  - sig/openai/helpers/client_options.rbs
3335
3361
  - sig/openai/helpers/data_residency.rbs
3336
3362
  - sig/openai/helpers/live/transcript_grouper.rbs
@@ -3746,6 +3772,7 @@ files:
3746
3772
  - sig/openai/models/beta/agents/sessions/turn.rbs
3747
3773
  - sig/openai/models/beta/agents/sessions/turn_list_params.rbs
3748
3774
  - sig/openai/models/beta/agents/sessions/turn_retrieve_params.rbs
3775
+ - sig/openai/models/beta/agents/sessions/turns/item_list_params.rbs
3749
3776
  - sig/openai/models/beta/agents/vault.rbs
3750
3777
  - sig/openai/models/beta/agents/vault_create_params.rbs
3751
3778
  - sig/openai/models/beta/agents/vault_delete_params.rbs
@@ -3947,6 +3974,7 @@ files:
3947
3974
  - sig/openai/models/beta/beta_tool_choice_options.rbs
3948
3975
  - sig/openai/models/beta/beta_tool_choice_shell.rbs
3949
3976
  - sig/openai/models/beta/beta_tool_choice_types.rbs
3977
+ - sig/openai/models/beta/beta_tool_search_output_namespace_tool.rbs
3950
3978
  - sig/openai/models/beta/beta_tool_search_tool.rbs
3951
3979
  - sig/openai/models/beta/beta_web_search_preview_tool.rbs
3952
3980
  - sig/openai/models/beta/beta_web_search_tool.rbs
@@ -4183,6 +4211,12 @@ files:
4183
4211
  - sig/openai/models/conversations/text_content.rbs
4184
4212
  - sig/openai/models/create_embedding_response.rbs
4185
4213
  - sig/openai/models/custom_tool_input_format.rbs
4214
+ - sig/openai/models/decision.rbs
4215
+ - sig/openai/models/decision_create_params.rbs
4216
+ - sig/openai/models/decision_input_image.rbs
4217
+ - sig/openai/models/decision_input_message.rbs
4218
+ - sig/openai/models/decision_input_part.rbs
4219
+ - sig/openai/models/decision_input_text.rbs
4186
4220
  - sig/openai/models/deleted_skill.rbs
4187
4221
  - sig/openai/models/embedding.rbs
4188
4222
  - sig/openai/models/embedding_create_params.rbs
@@ -4666,6 +4700,7 @@ files:
4666
4700
  - sig/openai/models/responses/tool_choice_options.rbs
4667
4701
  - sig/openai/models/responses/tool_choice_shell.rbs
4668
4702
  - sig/openai/models/responses/tool_choice_types.rbs
4703
+ - sig/openai/models/responses/tool_search_output_namespace_tool.rbs
4669
4704
  - sig/openai/models/responses/tool_search_tool.rbs
4670
4705
  - sig/openai/models/responses/web_search_preview_tool.rbs
4671
4706
  - sig/openai/models/responses/web_search_tool.rbs
@@ -4840,6 +4875,7 @@ files:
4840
4875
  - sig/openai/resources/beta/agents/sessions/subagents/turns/items.rbs
4841
4876
  - sig/openai/resources/beta/agents/sessions/traces.rbs
4842
4877
  - sig/openai/resources/beta/agents/sessions/turns.rbs
4878
+ - sig/openai/resources/beta/agents/sessions/turns/items.rbs
4843
4879
  - sig/openai/resources/beta/agents/vaults.rbs
4844
4880
  - sig/openai/resources/beta/agents/vaults/credentials.rbs
4845
4881
  - sig/openai/resources/beta/assistants.rbs
@@ -4863,6 +4899,7 @@ files:
4863
4899
  - sig/openai/resources/content_provenance_checks.rbs
4864
4900
  - sig/openai/resources/conversations.rbs
4865
4901
  - sig/openai/resources/conversations/items.rbs
4902
+ - sig/openai/resources/decisions.rbs
4866
4903
  - sig/openai/resources/embeddings.rbs
4867
4904
  - sig/openai/resources/evals.rbs
4868
4905
  - sig/openai/resources/evals/runs.rbs