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
@@ -0,0 +1,34 @@
1
+ module OpenAI
2
+ module Models
3
+ type decision_input_json =
4
+ { data: OpenAI::Models::DecisionInputJSON::data, ?type: :input_json }
5
+
6
+ class DecisionInputJSON < OpenAI::Internal::Type::BaseModel
7
+ attr_accessor data: OpenAI::Models::DecisionInputJSON::data
8
+
9
+ attr_accessor type: :input_json
10
+
11
+ def initialize: (
12
+ data: OpenAI::Models::DecisionInputJSON::data,
13
+ ?type: :input_json
14
+ ) -> void
15
+
16
+ def to_hash: -> {
17
+ data: OpenAI::Models::DecisionInputJSON::data,
18
+ ?type: :input_json
19
+ }
20
+
21
+ type data = ::Hash[Symbol, top] | ::Array[::Hash[Symbol, top?]]
22
+
23
+ module Data
24
+ extend OpenAI::Internal::Type::Union
25
+
26
+ def self?.variants: -> ::Array[OpenAI::Models::DecisionInputJSON::data]
27
+
28
+ UnionMember0Map: OpenAI::Internal::Type::Converter
29
+
30
+ UnionMember1Array: OpenAI::Internal::Type::Converter
31
+ end
32
+ end
33
+ end
34
+ end
@@ -1,57 +1,286 @@
1
1
  module OpenAI
2
2
  module Models
3
3
  type decision_input_message =
4
- {
5
- content: OpenAI::Models::DecisionInputMessage::content,
6
- ?role: :user,
7
- ?type: OpenAI::Models::DecisionInputMessage::type_
8
- }
4
+ OpenAI::DecisionInputMessage::User
5
+ | OpenAI::DecisionInputMessage::Developer
6
+ | OpenAI::DecisionInputMessage::System
7
+ | OpenAI::DecisionInputMessage::Assistant
9
8
 
10
- class DecisionInputMessage < OpenAI::Internal::Type::BaseModel
11
- # Text evidence or an ordered list of text and image parts.
12
- attr_accessor content: OpenAI::Models::DecisionInputMessage::content
9
+ module DecisionInputMessage
10
+ extend OpenAI::Internal::Type::Union
13
11
 
14
- attr_accessor role: :user
12
+ type user =
13
+ {
14
+ content: OpenAI::Models::DecisionInputMessage::User::content,
15
+ ?role: :user,
16
+ ?type: OpenAI::Models::DecisionInputMessage::User::type_
17
+ }
15
18
 
16
- attr_reader type: OpenAI::Models::DecisionInputMessage::type_?
19
+ class User < OpenAI::Internal::Type::BaseModel
20
+ # A text string or an ordered list of text, image, and JSON parts.
21
+ attr_accessor content: OpenAI::Models::DecisionInputMessage::User::content
17
22
 
18
- def type=: (
19
- OpenAI::Models::DecisionInputMessage::type_
20
- ) -> OpenAI::Models::DecisionInputMessage::type_
23
+ attr_accessor role: :user
21
24
 
22
- # @param content
23
- # Text evidence or an ordered list of text and image parts.
24
- def initialize: (
25
- content: OpenAI::Models::DecisionInputMessage::content,
26
- ?type: OpenAI::Models::DecisionInputMessage::type_,
27
- ?role: :user
28
- ) -> void
25
+ attr_reader type: OpenAI::Models::DecisionInputMessage::User::type_?
29
26
 
30
- def to_hash: -> {
31
- content: OpenAI::Models::DecisionInputMessage::content,
32
- ?role: :user,
33
- ?type: OpenAI::Models::DecisionInputMessage::type_
34
- }
27
+ def type=: (
28
+ OpenAI::Models::DecisionInputMessage::User::type_
29
+ ) -> OpenAI::Models::DecisionInputMessage::User::type_
35
30
 
36
- type content = String | ::Array[OpenAI::Models::decision_input_part]
31
+ # @param content
32
+ # A text string or an ordered list of text, image, and JSON parts.
33
+ def initialize: (
34
+ content: OpenAI::Models::DecisionInputMessage::User::content,
35
+ ?type: OpenAI::Models::DecisionInputMessage::User::type_,
36
+ ?role: :user
37
+ ) -> void
37
38
 
38
- module Content
39
- extend OpenAI::Internal::Type::Union
39
+ def to_hash: -> {
40
+ content: OpenAI::Models::DecisionInputMessage::User::content,
41
+ ?role: :user,
42
+ ?type: OpenAI::Models::DecisionInputMessage::User::type_
43
+ }
40
44
 
41
- def self?.variants: -> ::Array[OpenAI::Models::DecisionInputMessage::content]
45
+ type content = String | ::Array[OpenAI::Models::decision_input_part]
42
46
 
43
- DecisionInputPartArray: OpenAI::Internal::Type::Converter
47
+ module Content
48
+ extend OpenAI::Internal::Type::Union
49
+
50
+ def self?.variants: -> ::Array[OpenAI::Models::DecisionInputMessage::User::content]
51
+
52
+ DecisionInputPartArray: OpenAI::Internal::Type::Converter
53
+ end
54
+
55
+ type type_ = :message
56
+
57
+ module Type
58
+ extend OpenAI::Internal::Type::Enum
59
+
60
+ MESSAGE: :message
61
+
62
+ def self?.values: -> ::Array[OpenAI::Models::DecisionInputMessage::User::type_]
63
+ end
64
+ end
65
+
66
+ type developer =
67
+ {
68
+ content: OpenAI::Models::DecisionInputMessage::Developer::content,
69
+ ?role: :developer,
70
+ ?type: OpenAI::Models::DecisionInputMessage::Developer::type_
71
+ }
72
+
73
+ class Developer < OpenAI::Internal::Type::BaseModel
74
+ # A text string or an ordered list of input text parts.
75
+ attr_accessor content: OpenAI::Models::DecisionInputMessage::Developer::content
76
+
77
+ attr_accessor role: :developer
78
+
79
+ attr_reader type: OpenAI::Models::DecisionInputMessage::Developer::type_?
80
+
81
+ def type=: (
82
+ OpenAI::Models::DecisionInputMessage::Developer::type_
83
+ ) -> OpenAI::Models::DecisionInputMessage::Developer::type_
84
+
85
+ # @param content
86
+ # A text string or an ordered list of input text parts.
87
+ def initialize: (
88
+ content: OpenAI::Models::DecisionInputMessage::Developer::content,
89
+ ?type: OpenAI::Models::DecisionInputMessage::Developer::type_,
90
+ ?role: :developer
91
+ ) -> void
92
+
93
+ def to_hash: -> {
94
+ content: OpenAI::Models::DecisionInputMessage::Developer::content,
95
+ ?role: :developer,
96
+ ?type: OpenAI::Models::DecisionInputMessage::Developer::type_
97
+ }
98
+
99
+ type content = String | ::Array[OpenAI::DecisionInputText]
100
+
101
+ module Content
102
+ extend OpenAI::Internal::Type::Union
103
+
104
+ def self?.variants: -> ::Array[OpenAI::Models::DecisionInputMessage::Developer::content]
105
+
106
+ DecisionInputTextArray: OpenAI::Internal::Type::Converter
107
+ end
108
+
109
+ type type_ = :message
110
+
111
+ module Type
112
+ extend OpenAI::Internal::Type::Enum
113
+
114
+ MESSAGE: :message
115
+
116
+ def self?.values: -> ::Array[OpenAI::Models::DecisionInputMessage::Developer::type_]
117
+ end
118
+ end
119
+
120
+ type system_ =
121
+ {
122
+ content: OpenAI::Models::DecisionInputMessage::System::content,
123
+ ?role: :system,
124
+ ?type: OpenAI::Models::DecisionInputMessage::System::type_
125
+ }
126
+
127
+ class System < OpenAI::Internal::Type::BaseModel
128
+ # A text string or an ordered list of input text parts.
129
+ attr_accessor content: OpenAI::Models::DecisionInputMessage::System::content
130
+
131
+ attr_accessor role: :system
132
+
133
+ attr_reader type: OpenAI::Models::DecisionInputMessage::System::type_?
134
+
135
+ def type=: (
136
+ OpenAI::Models::DecisionInputMessage::System::type_
137
+ ) -> OpenAI::Models::DecisionInputMessage::System::type_
138
+
139
+ # @param content
140
+ # A text string or an ordered list of input text parts.
141
+ def initialize: (
142
+ content: OpenAI::Models::DecisionInputMessage::System::content,
143
+ ?type: OpenAI::Models::DecisionInputMessage::System::type_,
144
+ ?role: :system
145
+ ) -> void
146
+
147
+ def to_hash: -> {
148
+ content: OpenAI::Models::DecisionInputMessage::System::content,
149
+ ?role: :system,
150
+ ?type: OpenAI::Models::DecisionInputMessage::System::type_
151
+ }
152
+
153
+ type content = String | ::Array[OpenAI::DecisionInputText]
154
+
155
+ module Content
156
+ extend OpenAI::Internal::Type::Union
157
+
158
+ def self?.variants: -> ::Array[OpenAI::Models::DecisionInputMessage::System::content]
159
+
160
+ DecisionInputTextArray: OpenAI::Internal::Type::Converter
161
+ end
162
+
163
+ type type_ = :message
164
+
165
+ module Type
166
+ extend OpenAI::Internal::Type::Enum
167
+
168
+ MESSAGE: :message
169
+
170
+ def self?.values: -> ::Array[OpenAI::Models::DecisionInputMessage::System::type_]
171
+ end
44
172
  end
45
173
 
46
- type type_ = :message
174
+ type assistant =
175
+ {
176
+ content: OpenAI::Models::DecisionInputMessage::Assistant::content,
177
+ ?role: :assistant,
178
+ ?phase: OpenAI::Models::DecisionInputMessage::Assistant::phase?,
179
+ ?type: OpenAI::Models::DecisionInputMessage::Assistant::type_
180
+ }
181
+
182
+ class Assistant < OpenAI::Internal::Type::BaseModel
183
+ # A text string or an ordered list of output text and refusal parts.
184
+ attr_accessor content: OpenAI::Models::DecisionInputMessage::Assistant::content
185
+
186
+ attr_accessor role: :assistant
187
+
188
+ # The phase of an assistant message.
189
+ attr_accessor phase: OpenAI::Models::DecisionInputMessage::Assistant::phase?
190
+
191
+ attr_reader type: OpenAI::Models::DecisionInputMessage::Assistant::type_?
192
+
193
+ def type=: (
194
+ OpenAI::Models::DecisionInputMessage::Assistant::type_
195
+ ) -> OpenAI::Models::DecisionInputMessage::Assistant::type_
196
+
197
+ # @param content
198
+ # A text string or an ordered list of output text and refusal parts.
199
+ # @param phase
200
+ # The phase of an assistant message.
201
+ def initialize: (
202
+ content: OpenAI::Models::DecisionInputMessage::Assistant::content,
203
+ ?phase: OpenAI::Models::DecisionInputMessage::Assistant::phase?,
204
+ ?type: OpenAI::Models::DecisionInputMessage::Assistant::type_,
205
+ ?role: :assistant
206
+ ) -> void
207
+
208
+ def to_hash: -> {
209
+ content: OpenAI::Models::DecisionInputMessage::Assistant::content,
210
+ ?role: :assistant,
211
+ ?phase: OpenAI::Models::DecisionInputMessage::Assistant::phase?,
212
+ ?type: OpenAI::Models::DecisionInputMessage::Assistant::type_
213
+ }
214
+
215
+ type content =
216
+ String
217
+ | ::Array[OpenAI::Models::DecisionInputMessage::Assistant::Content::part]
218
+
219
+ module Content
220
+ extend OpenAI::Internal::Type::Union
221
+
222
+ type part =
223
+ OpenAI::DecisionInputMessage::Assistant::Content::Part::OutputText
224
+ | OpenAI::DecisionInputMessage::Assistant::Content::Part::Refusal
225
+
226
+ module Part
227
+ extend OpenAI::Internal::Type::Union
228
+
229
+ type output_text = { text: String, ?type: :output_text }
230
+
231
+ class OutputText < OpenAI::Internal::Type::BaseModel
232
+ attr_accessor text: String
47
233
 
48
- module Type
49
- extend OpenAI::Internal::Type::Enum
234
+ attr_accessor type: :output_text
50
235
 
51
- MESSAGE: :message
236
+ def initialize: (text: String, ?type: :output_text) -> void
52
237
 
53
- def self?.values: -> ::Array[OpenAI::Models::DecisionInputMessage::type_]
238
+ def to_hash: -> { text: String, ?type: :output_text }
239
+ end
240
+
241
+ type refusal = { refusal: String, ?type: :refusal }
242
+
243
+ class Refusal < OpenAI::Internal::Type::BaseModel
244
+ attr_accessor refusal: String
245
+
246
+ attr_accessor type: :refusal
247
+
248
+ def initialize: (refusal: String, ?type: :refusal) -> void
249
+
250
+ def to_hash: -> { refusal: String, ?type: :refusal }
251
+ end
252
+
253
+ def self?.variants: -> ::Array[OpenAI::Models::DecisionInputMessage::Assistant::Content::part]
254
+ end
255
+
256
+ def self?.variants: -> ::Array[OpenAI::Models::DecisionInputMessage::Assistant::content]
257
+
258
+ PartsArray: OpenAI::Internal::Type::Converter
259
+ end
260
+
261
+ type phase = :commentary | :final_answer
262
+
263
+ module Phase
264
+ extend OpenAI::Internal::Type::Enum
265
+
266
+ COMMENTARY: :commentary
267
+ FINAL_ANSWER: :final_answer
268
+
269
+ def self?.values: -> ::Array[OpenAI::Models::DecisionInputMessage::Assistant::phase]
270
+ end
271
+
272
+ type type_ = :message
273
+
274
+ module Type
275
+ extend OpenAI::Internal::Type::Enum
276
+
277
+ MESSAGE: :message
278
+
279
+ def self?.values: -> ::Array[OpenAI::Models::DecisionInputMessage::Assistant::type_]
280
+ end
54
281
  end
282
+
283
+ def self?.variants: -> ::Array[OpenAI::Models::decision_input_message]
55
284
  end
56
285
  end
57
286
  end
@@ -1,7 +1,9 @@
1
1
  module OpenAI
2
2
  module Models
3
3
  type decision_input_part =
4
- OpenAI::DecisionInputText | OpenAI::DecisionInputImage
4
+ OpenAI::DecisionInputText
5
+ | OpenAI::DecisionInputImage
6
+ | OpenAI::DecisionInputJSON
5
7
 
6
8
  module DecisionInputPart
7
9
  extend OpenAI::Internal::Type::Union
@@ -0,0 +1,51 @@
1
+ module OpenAI
2
+ module Models
3
+ type decision_question_input_image =
4
+ {
5
+ image_url: String,
6
+ ?type: :input_image,
7
+ ?detail: OpenAI::Models::DecisionQuestionInputImage::detail?
8
+ }
9
+
10
+ class DecisionQuestionInputImage < OpenAI::Internal::Type::BaseModel
11
+ # A base64-encoded image in a data URL or a publicly accessible HTTP(S) image URL.
12
+ attr_accessor image_url: String
13
+
14
+ attr_accessor type: :input_image
15
+
16
+ # The image detail level, using the selected model's image profile. Defaults to
17
+ # auto.
18
+ attr_accessor detail: OpenAI::Models::DecisionQuestionInputImage::detail?
19
+
20
+ # @param image_url
21
+ # A base64-encoded image in a data URL or a publicly accessible HTTP(S) image URL.
22
+ # @param detail
23
+ # The image detail level, using the selected model's image profile. Defaults to
24
+ # auto.
25
+ def initialize: (
26
+ image_url: String,
27
+ ?detail: OpenAI::Models::DecisionQuestionInputImage::detail?,
28
+ ?type: :input_image
29
+ ) -> void
30
+
31
+ def to_hash: -> {
32
+ image_url: String,
33
+ ?type: :input_image,
34
+ ?detail: OpenAI::Models::DecisionQuestionInputImage::detail?
35
+ }
36
+
37
+ type detail = :low | :high | :auto | :original
38
+
39
+ module Detail
40
+ extend OpenAI::Internal::Type::Enum
41
+
42
+ LOW: :low
43
+ HIGH: :high
44
+ AUTO: :auto
45
+ ORIGINAL: :original
46
+
47
+ def self?.values: -> ::Array[OpenAI::Models::DecisionQuestionInputImage::detail]
48
+ end
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,14 @@
1
+ module OpenAI
2
+ module Models
3
+ type decision_question_input_part =
4
+ OpenAI::DecisionQuestionInputText
5
+ | OpenAI::DecisionQuestionInputImage
6
+ | OpenAI::DecisionInputJSON
7
+
8
+ module DecisionQuestionInputPart
9
+ extend OpenAI::Internal::Type::Union
10
+
11
+ def self?.variants: -> ::Array[OpenAI::Models::decision_question_input_part]
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,15 @@
1
+ module OpenAI
2
+ module Models
3
+ type decision_question_input_text = { text: String, ?type: :input_text }
4
+
5
+ class DecisionQuestionInputText < OpenAI::Internal::Type::BaseModel
6
+ attr_accessor text: String
7
+
8
+ attr_accessor type: :input_text
9
+
10
+ def initialize: (text: String, ?type: :input_text) -> void
11
+
12
+ def to_hash: -> { text: String, ?type: :input_text }
13
+ end
14
+ end
15
+ end
@@ -60,10 +60,14 @@ module OpenAI
60
60
  extend OpenAI::Internal::Type::Union
61
61
 
62
62
  type predicate =
63
- { instructions: String, ?type: :predicate, ?name: String }
63
+ {
64
+ instructions: OpenAI::Models::Live::DecisionTrigger::Decisions::Question::Predicate::instructions,
65
+ ?type: :predicate,
66
+ ?name: String
67
+ }
64
68
 
65
69
  class Predicate < OpenAI::Internal::Type::BaseModel
66
- attr_accessor instructions: String
70
+ attr_accessor instructions: OpenAI::Models::Live::DecisionTrigger::Decisions::Question::Predicate::instructions
67
71
 
68
72
  # The type of the object. Always `predicate`.
69
73
  attr_accessor type: :predicate
@@ -75,22 +79,33 @@ module OpenAI
75
79
  # @param type
76
80
  # The type of the object. Always `predicate`.
77
81
  def initialize: (
78
- instructions: String,
82
+ instructions: OpenAI::Models::Live::DecisionTrigger::Decisions::Question::Predicate::instructions,
79
83
  ?name: String,
80
84
  ?type: :predicate
81
85
  ) -> void
82
86
 
83
87
  def to_hash: -> {
84
- instructions: String,
88
+ instructions: OpenAI::Models::Live::DecisionTrigger::Decisions::Question::Predicate::instructions,
85
89
  ?type: :predicate,
86
90
  ?name: String
87
91
  }
92
+
93
+ type instructions =
94
+ String | ::Array[OpenAI::Models::decision_question_input_part]
95
+
96
+ module Instructions
97
+ extend OpenAI::Internal::Type::Union
98
+
99
+ def self?.variants: -> ::Array[OpenAI::Models::Live::DecisionTrigger::Decisions::Question::Predicate::instructions]
100
+
101
+ DecisionQuestionInputPartArray: OpenAI::Internal::Type::Converter
102
+ end
88
103
  end
89
104
 
90
105
  type choice =
91
106
  {
92
107
  choices: ::Array[OpenAI::Live::DecisionTrigger::Decisions::Question::Choice::Choice],
93
- instructions: String,
108
+ instructions: OpenAI::Models::Live::DecisionTrigger::Decisions::Question::Choice::instructions,
94
109
  ?type: :choice,
95
110
  ?name: String
96
111
  }
@@ -99,7 +114,7 @@ module OpenAI
99
114
  # Provide between 2 and 255 choices. Each choice must be unique.
100
115
  attr_accessor choices: ::Array[OpenAI::Live::DecisionTrigger::Decisions::Question::Choice::Choice]
101
116
 
102
- attr_accessor instructions: String
117
+ attr_accessor instructions: OpenAI::Models::Live::DecisionTrigger::Decisions::Question::Choice::instructions
103
118
 
104
119
  # The type of the object. Always `choice`.
105
120
  attr_accessor type: :choice
@@ -114,14 +129,14 @@ module OpenAI
114
129
  # The type of the object. Always `choice`.
115
130
  def initialize: (
116
131
  choices: ::Array[OpenAI::Live::DecisionTrigger::Decisions::Question::Choice::Choice],
117
- instructions: String,
132
+ instructions: OpenAI::Models::Live::DecisionTrigger::Decisions::Question::Choice::instructions,
118
133
  ?name: String,
119
134
  ?type: :choice
120
135
  ) -> void
121
136
 
122
137
  def to_hash: -> {
123
138
  choices: ::Array[OpenAI::Live::DecisionTrigger::Decisions::Question::Choice::Choice],
124
- instructions: String,
139
+ instructions: OpenAI::Models::Live::DecisionTrigger::Decisions::Question::Choice::instructions,
125
140
  ?type: :choice,
126
141
  ?name: String
127
142
  }
@@ -160,18 +175,29 @@ module OpenAI
160
175
  def self?.variants: -> ::Array[OpenAI::Models::Live::DecisionTrigger::Decisions::Question::Choice::Choice::value]
161
176
  end
162
177
  end
178
+
179
+ type instructions =
180
+ String | ::Array[OpenAI::Models::decision_question_input_part]
181
+
182
+ module Instructions
183
+ extend OpenAI::Internal::Type::Union
184
+
185
+ def self?.variants: -> ::Array[OpenAI::Models::Live::DecisionTrigger::Decisions::Question::Choice::instructions]
186
+
187
+ DecisionQuestionInputPartArray: OpenAI::Internal::Type::Converter
188
+ end
163
189
  end
164
190
 
165
191
  type score =
166
192
  {
167
- instructions: String,
193
+ instructions: OpenAI::Models::Live::DecisionTrigger::Decisions::Question::Score::instructions,
168
194
  levels: ::Array[OpenAI::Live::DecisionTrigger::Decisions::Question::Score::Level],
169
195
  ?type: :score,
170
196
  ?name: String
171
197
  }
172
198
 
173
199
  class Score < OpenAI::Internal::Type::BaseModel
174
- attr_accessor instructions: String
200
+ attr_accessor instructions: OpenAI::Models::Live::DecisionTrigger::Decisions::Question::Score::instructions
175
201
 
176
202
  attr_accessor levels: ::Array[OpenAI::Live::DecisionTrigger::Decisions::Question::Score::Level]
177
203
 
@@ -185,19 +211,30 @@ module OpenAI
185
211
  # @param type
186
212
  # The type of the object. Always `score`.
187
213
  def initialize: (
188
- instructions: String,
214
+ instructions: OpenAI::Models::Live::DecisionTrigger::Decisions::Question::Score::instructions,
189
215
  levels: ::Array[OpenAI::Live::DecisionTrigger::Decisions::Question::Score::Level],
190
216
  ?name: String,
191
217
  ?type: :score
192
218
  ) -> void
193
219
 
194
220
  def to_hash: -> {
195
- instructions: String,
221
+ instructions: OpenAI::Models::Live::DecisionTrigger::Decisions::Question::Score::instructions,
196
222
  levels: ::Array[OpenAI::Live::DecisionTrigger::Decisions::Question::Score::Level],
197
223
  ?type: :score,
198
224
  ?name: String
199
225
  }
200
226
 
227
+ type instructions =
228
+ String | ::Array[OpenAI::Models::decision_question_input_part]
229
+
230
+ module Instructions
231
+ extend OpenAI::Internal::Type::Union
232
+
233
+ def self?.variants: -> ::Array[OpenAI::Models::Live::DecisionTrigger::Decisions::Question::Score::instructions]
234
+
235
+ DecisionQuestionInputPartArray: OpenAI::Internal::Type::Converter
236
+ end
237
+
201
238
  type level = { label: String, ?description: String }
202
239
 
203
240
  class Level < OpenAI::Internal::Type::BaseModel