openai 0.110.0 → 0.111.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 (41) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +12 -0
  3. data/README.md +1 -1
  4. data/lib/openai/models/decision_create_params.rb +798 -28
  5. data/lib/openai/models/decision_input_json.rb +45 -0
  6. data/lib/openai/models/decision_input_message.rb +304 -48
  7. data/lib/openai/models/decision_input_part.rb +4 -1
  8. data/lib/openai/models/decision_question_input_image.rb +54 -0
  9. data/lib/openai/models/decision_question_input_part.rb +23 -0
  10. data/lib/openai/models/decision_question_input_text.rb +21 -0
  11. data/lib/openai/models/live/decision_trigger.rb +82 -9
  12. data/lib/openai/models/live/decisions_delegation_config.rb +82 -9
  13. data/lib/openai/models/live/decisions_delegation_update_config.rb +82 -9
  14. data/lib/openai/models.rb +8 -0
  15. data/lib/openai/resources/decisions.rb +5 -6
  16. data/lib/openai/version.rb +1 -1
  17. data/lib/openai.rb +4 -0
  18. data/rbi/openai/models/decision_create_params.rbi +1273 -26
  19. data/rbi/openai/models/decision_input_json.rbi +75 -0
  20. data/rbi/openai/models/decision_input_message.rbi +455 -52
  21. data/rbi/openai/models/decision_input_part.rbi +2 -1
  22. data/rbi/openai/models/decision_question_input_image.rbi +82 -0
  23. data/rbi/openai/models/decision_question_input_part.rbi +25 -0
  24. data/rbi/openai/models/decision_question_input_text.rbi +49 -0
  25. data/rbi/openai/models/live/decision_trigger.rbi +72 -9
  26. data/rbi/openai/models/live/decisions_delegation_config.rbi +72 -9
  27. data/rbi/openai/models/live/decisions_delegation_update_config.rbi +72 -9
  28. data/rbi/openai/models.rbi +8 -0
  29. data/rbi/openai/resources/decisions.rbi +4 -5
  30. data/sig/openai/models/decision_create_params.rbs +610 -24
  31. data/sig/openai/models/decision_input_json.rbs +34 -0
  32. data/sig/openai/models/decision_input_message.rbs +264 -35
  33. data/sig/openai/models/decision_input_part.rbs +3 -1
  34. data/sig/openai/models/decision_question_input_image.rbs +51 -0
  35. data/sig/openai/models/decision_question_input_part.rbs +14 -0
  36. data/sig/openai/models/decision_question_input_text.rbs +15 -0
  37. data/sig/openai/models/live/decision_trigger.rbs +49 -12
  38. data/sig/openai/models/live/decisions_delegation_config.rbs +49 -12
  39. data/sig/openai/models/live/decisions_delegation_update_config.rbs +49 -12
  40. data/sig/openai/models.rbs +9 -1
  41. metadata +13 -1
@@ -42,8 +42,11 @@ module OpenAI
42
42
  class Predicate < OpenAI::Internal::Type::BaseModel
43
43
  # @!attribute instructions
44
44
  #
45
- # @return [String]
46
- required :instructions, String
45
+ # @return [String, Array<OpenAI::Models::DecisionQuestionInputText, OpenAI::Models::DecisionQuestionInputImage, OpenAI::Models::DecisionInputJSON>]
46
+ required(
47
+ :instructions,
48
+ union: -> { OpenAI::Live::DecisionsDelegationConfig::Question::Predicate::Instructions }
49
+ )
47
50
 
48
51
  # @!attribute type
49
52
  # The type of the object. Always `predicate`.
@@ -59,12 +62,33 @@ module OpenAI
59
62
  # @!method initialize(instructions:, name: nil, type: :predicate)
60
63
  # Estimate how likely it is that a statement about the input is true.
61
64
  #
62
- # @param instructions [String]
65
+ # @param instructions [String, Array<OpenAI::Models::DecisionQuestionInputText, OpenAI::Models::DecisionQuestionInputImage, OpenAI::Models::DecisionInputJSON>]
63
66
  #
64
67
  # @param name [String]
65
68
  #
66
69
  # @param type [Symbol, :predicate]
67
70
  # The type of the object. Always `predicate`.
71
+
72
+ # @see OpenAI::Models::Live::DecisionsDelegationConfig::Question::Predicate#instructions
73
+ module Instructions
74
+ extend OpenAI::Internal::Type::Union
75
+
76
+ variant String
77
+
78
+ variant(
79
+ -> {
80
+ OpenAI::Models::Live::DecisionsDelegationConfig::Question::Predicate::Instructions::DecisionQuestionInputPartArray
81
+ }
82
+ )
83
+
84
+ # @!method self.variants
85
+ # @return [Array(String, Array<OpenAI::Models::DecisionQuestionInputText, OpenAI::Models::DecisionQuestionInputImage, OpenAI::Models::DecisionInputJSON>)]
86
+
87
+ # @type [OpenAI::Internal::Type::Converter]
88
+ DecisionQuestionInputPartArray = OpenAI::Internal::Type::ArrayOf[
89
+ union: -> { OpenAI::DecisionQuestionInputPart }
90
+ ]
91
+ end
68
92
  end
69
93
 
70
94
  class Choice < OpenAI::Internal::Type::BaseModel
@@ -79,8 +103,11 @@ module OpenAI
79
103
 
80
104
  # @!attribute instructions
81
105
  #
82
- # @return [String]
83
- required :instructions, String
106
+ # @return [String, Array<OpenAI::Models::DecisionQuestionInputText, OpenAI::Models::DecisionQuestionInputImage, OpenAI::Models::DecisionInputJSON>]
107
+ required(
108
+ :instructions,
109
+ union: -> { OpenAI::Live::DecisionsDelegationConfig::Question::Choice::Instructions }
110
+ )
84
111
 
85
112
  # @!attribute type
86
113
  # The type of the object. Always `choice`.
@@ -99,7 +126,7 @@ module OpenAI
99
126
  # @param choices [Array<OpenAI::Models::Live::DecisionsDelegationConfig::Question::Choice::Choice>]
100
127
  # Provide between 2 and 255 choices. Each choice must be unique.
101
128
  #
102
- # @param instructions [String]
129
+ # @param instructions [String, Array<OpenAI::Models::DecisionQuestionInputText, OpenAI::Models::DecisionQuestionInputImage, OpenAI::Models::DecisionInputJSON>]
103
130
  #
104
131
  # @param name [String]
105
132
  #
@@ -137,13 +164,37 @@ module OpenAI
137
164
  # @return [Array(String, Boolean)]
138
165
  end
139
166
  end
167
+
168
+ # @see OpenAI::Models::Live::DecisionsDelegationConfig::Question::Choice#instructions
169
+ module Instructions
170
+ extend OpenAI::Internal::Type::Union
171
+
172
+ variant String
173
+
174
+ variant(
175
+ -> {
176
+ OpenAI::Models::Live::DecisionsDelegationConfig::Question::Choice::Instructions::DecisionQuestionInputPartArray
177
+ }
178
+ )
179
+
180
+ # @!method self.variants
181
+ # @return [Array(String, Array<OpenAI::Models::DecisionQuestionInputText, OpenAI::Models::DecisionQuestionInputImage, OpenAI::Models::DecisionInputJSON>)]
182
+
183
+ # @type [OpenAI::Internal::Type::Converter]
184
+ DecisionQuestionInputPartArray = OpenAI::Internal::Type::ArrayOf[
185
+ union: -> { OpenAI::DecisionQuestionInputPart }
186
+ ]
187
+ end
140
188
  end
141
189
 
142
190
  class Score < OpenAI::Internal::Type::BaseModel
143
191
  # @!attribute instructions
144
192
  #
145
- # @return [String]
146
- required :instructions, String
193
+ # @return [String, Array<OpenAI::Models::DecisionQuestionInputText, OpenAI::Models::DecisionQuestionInputImage, OpenAI::Models::DecisionInputJSON>]
194
+ required(
195
+ :instructions,
196
+ union: -> { OpenAI::Live::DecisionsDelegationConfig::Question::Score::Instructions }
197
+ )
147
198
 
148
199
  # @!attribute levels
149
200
  #
@@ -167,7 +218,7 @@ module OpenAI
167
218
  # @!method initialize(instructions:, levels:, name: nil, type: :score)
168
219
  # Rate the input against the supplied ordered levels.
169
220
  #
170
- # @param instructions [String]
221
+ # @param instructions [String, Array<OpenAI::Models::DecisionQuestionInputText, OpenAI::Models::DecisionQuestionInputImage, OpenAI::Models::DecisionInputJSON>]
171
222
  #
172
223
  # @param levels [Array<OpenAI::Models::Live::DecisionsDelegationConfig::Question::Score::Level>]
173
224
  #
@@ -175,6 +226,28 @@ module OpenAI
175
226
  #
176
227
  # @param type [Symbol, :score]
177
228
  # The type of the object. Always `score`.
229
+
230
+ # @see OpenAI::Models::Live::DecisionsDelegationConfig::Question::Score#instructions
231
+ module Instructions
232
+ extend OpenAI::Internal::Type::Union
233
+
234
+ variant String
235
+
236
+ variant(
237
+ -> {
238
+ OpenAI::Models::Live::DecisionsDelegationConfig::Question::Score::Instructions::DecisionQuestionInputPartArray
239
+ }
240
+ )
241
+
242
+ # @!method self.variants
243
+ # @return [Array(String, Array<OpenAI::Models::DecisionQuestionInputText, OpenAI::Models::DecisionQuestionInputImage, OpenAI::Models::DecisionInputJSON>)]
244
+
245
+ # @type [OpenAI::Internal::Type::Converter]
246
+ DecisionQuestionInputPartArray = OpenAI::Internal::Type::ArrayOf[
247
+ union: -> { OpenAI::DecisionQuestionInputPart }
248
+ ]
249
+ end
250
+
178
251
  class Level < OpenAI::Internal::Type::BaseModel
179
252
  # @!attribute label
180
253
  #
@@ -42,8 +42,11 @@ module OpenAI
42
42
  class Predicate < OpenAI::Internal::Type::BaseModel
43
43
  # @!attribute instructions
44
44
  #
45
- # @return [String]
46
- required :instructions, String
45
+ # @return [String, Array<OpenAI::Models::DecisionQuestionInputText, OpenAI::Models::DecisionQuestionInputImage, OpenAI::Models::DecisionInputJSON>]
46
+ required(
47
+ :instructions,
48
+ union: -> { OpenAI::Live::DecisionsDelegationUpdateConfig::Question::Predicate::Instructions }
49
+ )
47
50
 
48
51
  # @!attribute type
49
52
  # The type of the object. Always `predicate`.
@@ -59,12 +62,33 @@ module OpenAI
59
62
  # @!method initialize(instructions:, name: nil, type: :predicate)
60
63
  # Estimate how likely it is that a statement about the input is true.
61
64
  #
62
- # @param instructions [String]
65
+ # @param instructions [String, Array<OpenAI::Models::DecisionQuestionInputText, OpenAI::Models::DecisionQuestionInputImage, OpenAI::Models::DecisionInputJSON>]
63
66
  #
64
67
  # @param name [String]
65
68
  #
66
69
  # @param type [Symbol, :predicate]
67
70
  # The type of the object. Always `predicate`.
71
+
72
+ # @see OpenAI::Models::Live::DecisionsDelegationUpdateConfig::Question::Predicate#instructions
73
+ module Instructions
74
+ extend OpenAI::Internal::Type::Union
75
+
76
+ variant String
77
+
78
+ variant(
79
+ -> {
80
+ OpenAI::Models::Live::DecisionsDelegationUpdateConfig::Question::Predicate::Instructions::DecisionQuestionInputPartArray
81
+ }
82
+ )
83
+
84
+ # @!method self.variants
85
+ # @return [Array(String, Array<OpenAI::Models::DecisionQuestionInputText, OpenAI::Models::DecisionQuestionInputImage, OpenAI::Models::DecisionInputJSON>)]
86
+
87
+ # @type [OpenAI::Internal::Type::Converter]
88
+ DecisionQuestionInputPartArray = OpenAI::Internal::Type::ArrayOf[
89
+ union: -> { OpenAI::DecisionQuestionInputPart }
90
+ ]
91
+ end
68
92
  end
69
93
 
70
94
  class Choice < OpenAI::Internal::Type::BaseModel
@@ -81,8 +105,11 @@ module OpenAI
81
105
 
82
106
  # @!attribute instructions
83
107
  #
84
- # @return [String]
85
- required :instructions, String
108
+ # @return [String, Array<OpenAI::Models::DecisionQuestionInputText, OpenAI::Models::DecisionQuestionInputImage, OpenAI::Models::DecisionInputJSON>]
109
+ required(
110
+ :instructions,
111
+ union: -> { OpenAI::Live::DecisionsDelegationUpdateConfig::Question::Choice::Instructions }
112
+ )
86
113
 
87
114
  # @!attribute type
88
115
  # The type of the object. Always `choice`.
@@ -101,7 +128,7 @@ module OpenAI
101
128
  # @param choices [Array<OpenAI::Models::Live::DecisionsDelegationUpdateConfig::Question::Choice::Choice>]
102
129
  # Provide between 2 and 255 choices. Each choice must be unique.
103
130
  #
104
- # @param instructions [String]
131
+ # @param instructions [String, Array<OpenAI::Models::DecisionQuestionInputText, OpenAI::Models::DecisionQuestionInputImage, OpenAI::Models::DecisionInputJSON>]
105
132
  #
106
133
  # @param name [String]
107
134
  #
@@ -142,13 +169,37 @@ module OpenAI
142
169
  # @return [Array(String, Boolean)]
143
170
  end
144
171
  end
172
+
173
+ # @see OpenAI::Models::Live::DecisionsDelegationUpdateConfig::Question::Choice#instructions
174
+ module Instructions
175
+ extend OpenAI::Internal::Type::Union
176
+
177
+ variant String
178
+
179
+ variant(
180
+ -> {
181
+ OpenAI::Models::Live::DecisionsDelegationUpdateConfig::Question::Choice::Instructions::DecisionQuestionInputPartArray
182
+ }
183
+ )
184
+
185
+ # @!method self.variants
186
+ # @return [Array(String, Array<OpenAI::Models::DecisionQuestionInputText, OpenAI::Models::DecisionQuestionInputImage, OpenAI::Models::DecisionInputJSON>)]
187
+
188
+ # @type [OpenAI::Internal::Type::Converter]
189
+ DecisionQuestionInputPartArray = OpenAI::Internal::Type::ArrayOf[
190
+ union: -> { OpenAI::DecisionQuestionInputPart }
191
+ ]
192
+ end
145
193
  end
146
194
 
147
195
  class Score < OpenAI::Internal::Type::BaseModel
148
196
  # @!attribute instructions
149
197
  #
150
- # @return [String]
151
- required :instructions, String
198
+ # @return [String, Array<OpenAI::Models::DecisionQuestionInputText, OpenAI::Models::DecisionQuestionInputImage, OpenAI::Models::DecisionInputJSON>]
199
+ required(
200
+ :instructions,
201
+ union: -> { OpenAI::Live::DecisionsDelegationUpdateConfig::Question::Score::Instructions }
202
+ )
152
203
 
153
204
  # @!attribute levels
154
205
  #
@@ -174,7 +225,7 @@ module OpenAI
174
225
  # @!method initialize(instructions:, levels:, name: nil, type: :score)
175
226
  # Rate the input against the supplied ordered levels.
176
227
  #
177
- # @param instructions [String]
228
+ # @param instructions [String, Array<OpenAI::Models::DecisionQuestionInputText, OpenAI::Models::DecisionQuestionInputImage, OpenAI::Models::DecisionInputJSON>]
178
229
  #
179
230
  # @param levels [Array<OpenAI::Models::Live::DecisionsDelegationUpdateConfig::Question::Score::Level>]
180
231
  #
@@ -182,6 +233,28 @@ module OpenAI
182
233
  #
183
234
  # @param type [Symbol, :score]
184
235
  # The type of the object. Always `score`.
236
+
237
+ # @see OpenAI::Models::Live::DecisionsDelegationUpdateConfig::Question::Score#instructions
238
+ module Instructions
239
+ extend OpenAI::Internal::Type::Union
240
+
241
+ variant String
242
+
243
+ variant(
244
+ -> {
245
+ OpenAI::Models::Live::DecisionsDelegationUpdateConfig::Question::Score::Instructions::DecisionQuestionInputPartArray
246
+ }
247
+ )
248
+
249
+ # @!method self.variants
250
+ # @return [Array(String, Array<OpenAI::Models::DecisionQuestionInputText, OpenAI::Models::DecisionQuestionInputImage, OpenAI::Models::DecisionInputJSON>)]
251
+
252
+ # @type [OpenAI::Internal::Type::Converter]
253
+ DecisionQuestionInputPartArray = OpenAI::Internal::Type::ArrayOf[
254
+ union: -> { OpenAI::DecisionQuestionInputPart }
255
+ ]
256
+ end
257
+
185
258
  class Level < OpenAI::Internal::Type::BaseModel
186
259
  # @!attribute label
187
260
  #
data/lib/openai/models.rb CHANGED
@@ -119,6 +119,8 @@ module OpenAI
119
119
 
120
120
  DecisionInputImage = OpenAI::Models::DecisionInputImage
121
121
 
122
+ DecisionInputJSON = OpenAI::Models::DecisionInputJSON
123
+
122
124
  DecisionInputMessage = OpenAI::Models::DecisionInputMessage
123
125
 
124
126
  DecisionInputPart = OpenAI::Models::DecisionInputPart
@@ -127,6 +129,12 @@ module OpenAI
127
129
 
128
130
  DecisionPromptCacheBreakpoint = OpenAI::Models::DecisionPromptCacheBreakpoint
129
131
 
132
+ DecisionQuestionInputImage = OpenAI::Models::DecisionQuestionInputImage
133
+
134
+ DecisionQuestionInputPart = OpenAI::Models::DecisionQuestionInputPart
135
+
136
+ DecisionQuestionInputText = OpenAI::Models::DecisionQuestionInputText
137
+
130
138
  DeletedSkill = OpenAI::Models::DeletedSkill
131
139
 
132
140
  Embedding = OpenAI::Models::Embedding
@@ -8,17 +8,16 @@ module OpenAI
8
8
  #
9
9
  # @overload create(input:, model:, questions:, prompt_cache_key: nil, prompt_cache_options: nil, safety_identifier: nil, request_options: {})
10
10
  #
11
- # @param input [String, Array<OpenAI::Models::DecisionInputMessage>]
12
- # The text or images to evaluate for every question. Provide a text string or user
13
- # messages containing text and images. Images can be base64 data URLs or publicly
14
- # accessible HTTP(S) URLs; at most 128 images are allowed across all messages in
15
- # one request. Files, audio, tools, and item references are not supported.
11
+ # @param input [String, Array<OpenAI::Models::decision_input_message, OpenAI::Models::DecisionCreateParams::Input::UnionMember1::DecisionInputDeveloperMessage, OpenAI::Models::DecisionCreateParams::Input::UnionMember1::DecisionInputSystemMessage, OpenAI::Models::DecisionCreateParams::Input::UnionMember1::DecisionInputAssistantMessage, OpenAI::Models::DecisionCreateParams::Input::UnionMember1::FunctionCall, OpenAI::Models::DecisionCreateParams::Input::UnionMember1::FunctionCallOutput, OpenAI::Models::DecisionCreateParams::Input::UnionMember1::CustomToolCall, OpenAI::Models::DecisionCreateParams::Input::UnionMember1::CustomToolCallOutput>]
12
+ # The input to evaluate for every question. Provide a text string or an ordered
13
+ # array of messages, function calls and outputs, or custom tool calls and outputs.
14
+ # Each tool output must identify a matching call by call ID.
16
15
  #
17
16
  # @param model [String]
18
17
  # The model to use. Only `gpt-6-luna` is supported.
19
18
  #
20
19
  # @param questions [Array<OpenAI::Models::DecisionCreateParams::Question::Predicate, OpenAI::Models::DecisionCreateParams::Question::Choice, OpenAI::Models::DecisionCreateParams::Question::Score>]
21
- # Ask 1–200 questions about the input. Each question can be a predicate, choice,
20
+ # Ask 1–400 questions about the input. Each question can be a predicate, choice,
22
21
  # or score. Answers come back in the same order.
23
22
  #
24
23
  # @param prompt_cache_key [String, nil]
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module OpenAI
4
- VERSION = "0.110.0"
4
+ VERSION = "0.111.0"
5
5
  end
data/lib/openai.rb CHANGED
@@ -980,10 +980,14 @@ require_relative "openai/models/custom_tool_input_format"
980
980
  require_relative "openai/models/decision"
981
981
  require_relative "openai/models/decision_create_params"
982
982
  require_relative "openai/models/decision_input_image"
983
+ require_relative "openai/models/decision_input_json"
983
984
  require_relative "openai/models/decision_input_message"
984
985
  require_relative "openai/models/decision_input_part"
985
986
  require_relative "openai/models/decision_input_text"
986
987
  require_relative "openai/models/decision_prompt_cache_breakpoint"
988
+ require_relative "openai/models/decision_question_input_image"
989
+ require_relative "openai/models/decision_question_input_part"
990
+ require_relative "openai/models/decision_question_input_text"
987
991
  require_relative "openai/models/deleted_skill"
988
992
  require_relative "openai/models/embedding"
989
993
  require_relative "openai/models/embedding_create_params"