openai 0.110.0 → 0.112.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 (255) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +20 -0
  3. data/README.md +1 -1
  4. data/lib/openai/models/beta/agent.rb +2 -2
  5. data/lib/openai/models/beta/agent_create_params.rb +2 -2
  6. data/lib/openai/models/beta/agent_session.rb +2 -2
  7. data/lib/openai/models/beta/agent_tool.rb +18 -1
  8. data/lib/openai/models/beta/agent_tool_param.rb +18 -1
  9. data/lib/openai/models/beta/agent_update_params.rb +2 -2
  10. data/lib/openai/models/beta/agents/session_create_params.rb +2 -2
  11. data/lib/openai/models/beta/beta_response_input_file.rb +23 -1
  12. data/lib/openai/models/beta/beta_response_input_file_content.rb +23 -1
  13. data/lib/openai/models/beta/beta_response_input_image.rb +23 -1
  14. data/lib/openai/models/beta/beta_response_input_image_content.rb +23 -1
  15. data/lib/openai/models/beta/beta_response_input_text.rb +23 -1
  16. data/lib/openai/models/beta/beta_response_input_text_content.rb +23 -1
  17. data/lib/openai/models/beta/beta_response_item.rb +28 -1
  18. data/lib/openai/models/beta/beta_response_output_item.rb +28 -1
  19. data/lib/openai/models/beta/beta_response_tool_search_output_item_param.rb +26 -15
  20. data/lib/openai/models/beta/beta_tool.rb +26 -15
  21. data/lib/openai/models/beta/persisted_agent_tool.rb +18 -1
  22. data/lib/openai/models/beta/persisted_agent_tool_param.rb +18 -1
  23. data/lib/openai/models/chat/chat_completion_content_part.rb +23 -1
  24. data/lib/openai/models/chat/chat_completion_content_part_image.rb +23 -1
  25. data/lib/openai/models/chat/chat_completion_content_part_input_audio.rb +23 -1
  26. data/lib/openai/models/chat/chat_completion_content_part_text.rb +23 -1
  27. data/lib/openai/models/conversations/computer_screenshot_content.rb +23 -1
  28. data/lib/openai/models/decision_create_params.rb +802 -28
  29. data/lib/openai/models/decision_input_json.rb +45 -0
  30. data/lib/openai/models/decision_input_message.rb +304 -48
  31. data/lib/openai/models/decision_input_part.rb +4 -1
  32. data/lib/openai/models/decision_question_input_image.rb +54 -0
  33. data/lib/openai/models/decision_question_input_part.rb +23 -0
  34. data/lib/openai/models/decision_question_input_text.rb +21 -0
  35. data/lib/openai/models/image_edit_params.rb +20 -4
  36. data/lib/openai/models/image_generate_params.rb +23 -7
  37. data/lib/openai/models/image_model.rb +2 -0
  38. data/lib/openai/models/live/client_delegation.rb +20 -1
  39. data/lib/openai/models/live/client_event.rb +4 -4
  40. data/lib/openai/models/live/commentary_append_event.rb +1 -1
  41. data/lib/openai/models/live/decision_assistant_message.rb +154 -0
  42. data/lib/openai/models/live/decision_choice_option.rb +35 -0
  43. data/lib/openai/models/live/decision_developer_message.rb +70 -0
  44. data/lib/openai/models/live/decision_input_text.rb +26 -0
  45. data/lib/openai/models/live/decision_item_create_event.rb +490 -131
  46. data/lib/openai/models/live/decision_item_created_event.rb +486 -131
  47. data/lib/openai/models/live/decision_json_object.rb +10 -0
  48. data/lib/openai/models/live/decision_question.rb +172 -0
  49. data/lib/openai/models/live/decision_stored_assistant_message.rb +152 -0
  50. data/lib/openai/models/live/decision_stored_developer_message.rb +68 -0
  51. data/lib/openai/models/live/decision_stored_system_message.rb +68 -0
  52. data/lib/openai/models/live/decision_stored_user_message.rb +195 -0
  53. data/lib/openai/models/live/decision_system_message.rb +70 -0
  54. data/lib/openai/models/live/decision_trigger.rb +6 -185
  55. data/lib/openai/models/live/decision_user_message.rb +193 -0
  56. data/lib/openai/models/live/decisions_delegation_config.rb +5 -177
  57. data/lib/openai/models/live/decisions_delegation_update_config.rb +5 -184
  58. data/lib/openai/models/live/fork_client_event.rb +4 -4
  59. data/lib/openai/models/live/fork_server_event.rb +2 -2
  60. data/lib/openai/models/live/fork_session_config.rb +20 -1
  61. data/lib/openai/models/live/input_audio_muted_event.rb +3 -2
  62. data/lib/openai/models/live/input_audio_unmute_event.rb +2 -1
  63. data/lib/openai/models/live/input_audio_unmuted_event.rb +3 -2
  64. data/lib/openai/models/live/instructions_append_event.rb +5 -2
  65. data/lib/openai/models/live/media_session_config.rb +39 -2
  66. data/lib/openai/models/live/media_session_fork_config.rb +20 -1
  67. data/lib/openai/models/live/server_event.rb +2 -2
  68. data/lib/openai/models/live/session_accept_params.rb +39 -2
  69. data/lib/openai/models/live/session_config.rb +39 -2
  70. data/lib/openai/models/live/session_resource.rb +39 -2
  71. data/lib/openai/models/live/session_update_config.rb +41 -2
  72. data/lib/openai/models/live/sideband_client_event.rb +4 -4
  73. data/lib/openai/models/live/sideband_server_event.rb +2 -2
  74. data/lib/openai/models/live/thinking_append_event.rb +1 -1
  75. data/lib/openai/models/realtime/conversation_item_input_audio_transcription_delta_event.rb +10 -12
  76. data/lib/openai/models/realtime/realtime_error_event.rb +1 -1
  77. data/lib/openai/models/realtime/realtime_server_event.rb +1 -1
  78. data/lib/openai/models/realtime/realtime_translation_server_event.rb +1 -1
  79. data/lib/openai/models/responses/response_input_file.rb +23 -1
  80. data/lib/openai/models/responses/response_input_file_content.rb +23 -1
  81. data/lib/openai/models/responses/response_input_image.rb +23 -1
  82. data/lib/openai/models/responses/response_input_image_content.rb +23 -1
  83. data/lib/openai/models/responses/response_input_text.rb +23 -1
  84. data/lib/openai/models/responses/response_input_text_content.rb +23 -1
  85. data/lib/openai/models/responses/response_tool_search_output_item_param.rb +26 -15
  86. data/lib/openai/models/responses/tool.rb +26 -15
  87. data/lib/openai/models.rb +8 -0
  88. data/lib/openai/resources/beta/agents.rb +2 -2
  89. data/lib/openai/resources/beta/responses.rb +2 -2
  90. data/lib/openai/resources/decisions.rb +5 -6
  91. data/lib/openai/resources/images.rb +18 -6
  92. data/lib/openai/resources/live/forks.rb +2 -2
  93. data/lib/openai/resources/live/sideband.rb +2 -2
  94. data/lib/openai/resources/live.rb +2 -2
  95. data/lib/openai/resources/realtime/translations.rb +2 -2
  96. data/lib/openai/resources/realtime.rb +2 -2
  97. data/lib/openai/resources/responses.rb +2 -2
  98. data/lib/openai/version.rb +1 -1
  99. data/lib/openai.rb +16 -0
  100. data/rbi/openai/models/beta/agent.rbi +2 -1
  101. data/rbi/openai/models/beta/agent_create_params.rbi +6 -3
  102. data/rbi/openai/models/beta/agent_session.rbi +2 -1
  103. data/rbi/openai/models/beta/agent_tool.rbi +40 -1
  104. data/rbi/openai/models/beta/agent_tool_param.rbi +40 -1
  105. data/rbi/openai/models/beta/agent_update_params.rbi +6 -3
  106. data/rbi/openai/models/beta/agents/session_create_params.rbi +6 -3
  107. data/rbi/openai/models/beta/beta_response_input_file.rbi +31 -1
  108. data/rbi/openai/models/beta/beta_response_input_file_content.rbi +39 -1
  109. data/rbi/openai/models/beta/beta_response_input_image.rbi +31 -1
  110. data/rbi/openai/models/beta/beta_response_input_image_content.rbi +39 -1
  111. data/rbi/openai/models/beta/beta_response_input_text.rbi +31 -1
  112. data/rbi/openai/models/beta/beta_response_input_text_content.rbi +39 -1
  113. data/rbi/openai/models/beta/beta_response_item.rbi +58 -1
  114. data/rbi/openai/models/beta/beta_response_output_item.rbi +58 -1
  115. data/rbi/openai/models/beta/beta_response_tool_search_output_item_param.rbi +24 -15
  116. data/rbi/openai/models/beta/beta_tool.rbi +24 -15
  117. data/rbi/openai/models/beta/persisted_agent_tool.rbi +40 -1
  118. data/rbi/openai/models/beta/persisted_agent_tool_param.rbi +40 -1
  119. data/rbi/openai/models/chat/chat_completion_content_part.rbi +43 -1
  120. data/rbi/openai/models/chat/chat_completion_content_part_image.rbi +41 -1
  121. data/rbi/openai/models/chat/chat_completion_content_part_input_audio.rbi +46 -1
  122. data/rbi/openai/models/chat/chat_completion_content_part_text.rbi +39 -1
  123. data/rbi/openai/models/conversations/computer_screenshot_content.rbi +48 -1
  124. data/rbi/openai/models/decision_create_params.rbi +1273 -26
  125. data/rbi/openai/models/decision_input_json.rbi +75 -0
  126. data/rbi/openai/models/decision_input_message.rbi +455 -52
  127. data/rbi/openai/models/decision_input_part.rbi +2 -1
  128. data/rbi/openai/models/decision_question_input_image.rbi +82 -0
  129. data/rbi/openai/models/decision_question_input_part.rbi +25 -0
  130. data/rbi/openai/models/decision_question_input_text.rbi +49 -0
  131. data/rbi/openai/models/image_edit_params.rbi +12 -3
  132. data/rbi/openai/models/image_generate_params.rbi +15 -6
  133. data/rbi/openai/models/live/client_delegation.rbi +23 -1
  134. data/rbi/openai/models/live/commentary_append_event.rbi +1 -1
  135. data/rbi/openai/models/live/decision_assistant_message.rbi +247 -0
  136. data/rbi/openai/models/live/decision_choice_option.rbi +67 -0
  137. data/rbi/openai/models/live/decision_developer_message.rbi +109 -0
  138. data/rbi/openai/models/live/decision_input_text.rbi +55 -0
  139. data/rbi/openai/models/live/decision_item_create_event.rbi +765 -184
  140. data/rbi/openai/models/live/decision_item_created_event.rbi +737 -184
  141. data/rbi/openai/models/live/decision_json_object.rbi +16 -0
  142. data/rbi/openai/models/live/decision_question.rbi +300 -0
  143. data/rbi/openai/models/live/decision_stored_assistant_message.rbi +245 -0
  144. data/rbi/openai/models/live/decision_stored_developer_message.rbi +107 -0
  145. data/rbi/openai/models/live/decision_stored_system_message.rbi +107 -0
  146. data/rbi/openai/models/live/decision_stored_user_message.rbi +333 -0
  147. data/rbi/openai/models/live/decision_system_message.rbi +109 -0
  148. data/rbi/openai/models/live/decision_trigger.rbi +11 -320
  149. data/rbi/openai/models/live/decision_user_message.rbi +320 -0
  150. data/rbi/openai/models/live/decisions_delegation_config.rbi +10 -321
  151. data/rbi/openai/models/live/decisions_delegation_update_config.rbi +13 -324
  152. data/rbi/openai/models/live/fork_session_config.rbi +27 -1
  153. data/rbi/openai/models/live/input_audio_muted_event.rbi +3 -2
  154. data/rbi/openai/models/live/input_audio_unmute_event.rbi +2 -1
  155. data/rbi/openai/models/live/input_audio_unmuted_event.rbi +3 -2
  156. data/rbi/openai/models/live/instructions_append_event.rbi +5 -2
  157. data/rbi/openai/models/live/media_session_config.rbi +44 -2
  158. data/rbi/openai/models/live/media_session_fork_config.rbi +27 -1
  159. data/rbi/openai/models/live/session_accept_params.rbi +44 -2
  160. data/rbi/openai/models/live/session_config.rbi +44 -2
  161. data/rbi/openai/models/live/session_resource.rbi +44 -2
  162. data/rbi/openai/models/live/session_update_config.rbi +54 -2
  163. data/rbi/openai/models/live/thinking_append_event.rbi +1 -1
  164. data/rbi/openai/models/realtime/conversation_item_input_audio_transcription_delta_event.rbi +10 -12
  165. data/rbi/openai/models/realtime/realtime_error_event.rbi +1 -1
  166. data/rbi/openai/models/responses/response_input_file.rbi +31 -1
  167. data/rbi/openai/models/responses/response_input_file_content.rbi +39 -1
  168. data/rbi/openai/models/responses/response_input_image.rbi +33 -1
  169. data/rbi/openai/models/responses/response_input_image_content.rbi +41 -1
  170. data/rbi/openai/models/responses/response_input_text.rbi +31 -1
  171. data/rbi/openai/models/responses/response_input_text_content.rbi +39 -1
  172. data/rbi/openai/models/responses/response_tool_search_output_item_param.rbi +24 -15
  173. data/rbi/openai/models/responses/tool.rbi +24 -15
  174. data/rbi/openai/models.rbi +8 -0
  175. data/rbi/openai/resources/beta/agents.rbi +4 -2
  176. data/rbi/openai/resources/beta/responses.rbi +8 -1
  177. data/rbi/openai/resources/decisions.rbi +4 -5
  178. data/rbi/openai/resources/images.rbi +18 -6
  179. data/rbi/openai/resources/live/forks.rbi +8 -1
  180. data/rbi/openai/resources/live/sideband.rbi +8 -1
  181. data/rbi/openai/resources/live.rbi +8 -1
  182. data/rbi/openai/resources/realtime/translations.rbi +8 -1
  183. data/rbi/openai/resources/realtime.rbi +8 -1
  184. data/rbi/openai/resources/responses.rbi +8 -1
  185. data/sig/openai/models/beta/agent_tool.rbs +14 -0
  186. data/sig/openai/models/beta/agent_tool_param.rbs +14 -0
  187. data/sig/openai/models/beta/beta_response_input_file.rbs +34 -3
  188. data/sig/openai/models/beta/beta_response_input_file_content.rbs +34 -3
  189. data/sig/openai/models/beta/beta_response_input_image.rbs +34 -3
  190. data/sig/openai/models/beta/beta_response_input_image_content.rbs +34 -3
  191. data/sig/openai/models/beta/beta_response_input_text.rbs +34 -3
  192. data/sig/openai/models/beta/beta_response_input_text_content.rbs +34 -3
  193. data/sig/openai/models/beta/beta_response_item.rbs +34 -3
  194. data/sig/openai/models/beta/beta_response_output_item.rbs +34 -3
  195. data/sig/openai/models/beta/beta_response_tool_search_output_item_param.rbs +24 -15
  196. data/sig/openai/models/beta/beta_tool.rbs +24 -15
  197. data/sig/openai/models/beta/persisted_agent_tool.rbs +14 -0
  198. data/sig/openai/models/beta/persisted_agent_tool_param.rbs +14 -0
  199. data/sig/openai/models/chat/chat_completion_content_part.rbs +34 -3
  200. data/sig/openai/models/chat/chat_completion_content_part_image.rbs +34 -3
  201. data/sig/openai/models/chat/chat_completion_content_part_input_audio.rbs +34 -3
  202. data/sig/openai/models/chat/chat_completion_content_part_text.rbs +34 -3
  203. data/sig/openai/models/conversations/computer_screenshot_content.rbs +34 -3
  204. data/sig/openai/models/decision_create_params.rbs +610 -24
  205. data/sig/openai/models/decision_input_json.rbs +34 -0
  206. data/sig/openai/models/decision_input_message.rbs +264 -35
  207. data/sig/openai/models/decision_input_part.rbs +3 -1
  208. data/sig/openai/models/decision_question_input_image.rbs +51 -0
  209. data/sig/openai/models/decision_question_input_part.rbs +14 -0
  210. data/sig/openai/models/decision_question_input_text.rbs +15 -0
  211. data/sig/openai/models/image_edit_params.rbs +8 -2
  212. data/sig/openai/models/image_generate_params.rbs +10 -4
  213. data/sig/openai/models/live/client_delegation.rbs +30 -3
  214. data/sig/openai/models/live/decision_assistant_message.rbs +134 -0
  215. data/sig/openai/models/live/decision_choice_option.rbs +37 -0
  216. data/sig/openai/models/live/decision_developer_message.rbs +67 -0
  217. data/sig/openai/models/live/decision_input_text.rbs +20 -0
  218. data/sig/openai/models/live/decision_item_create_event.rbs +413 -131
  219. data/sig/openai/models/live/decision_item_created_event.rbs +401 -131
  220. data/sig/openai/models/live/decision_json_object.rbs +9 -0
  221. data/sig/openai/models/live/decision_question.rbs +164 -0
  222. data/sig/openai/models/live/decision_stored_assistant_message.rbs +131 -0
  223. data/sig/openai/models/live/decision_stored_developer_message.rbs +64 -0
  224. data/sig/openai/models/live/decision_stored_system_message.rbs +64 -0
  225. data/sig/openai/models/live/decision_stored_user_message.rbs +177 -0
  226. data/sig/openai/models/live/decision_system_message.rbs +67 -0
  227. data/sig/openai/models/live/decision_trigger.rbs +8 -171
  228. data/sig/openai/models/live/decision_user_message.rbs +180 -0
  229. data/sig/openai/models/live/decisions_delegation_config.rbs +6 -167
  230. data/sig/openai/models/live/decisions_delegation_update_config.rbs +8 -169
  231. data/sig/openai/models/live/fork_session_config.rbs +26 -0
  232. data/sig/openai/models/live/media_session_config.rbs +53 -4
  233. data/sig/openai/models/live/media_session_fork_config.rbs +26 -0
  234. data/sig/openai/models/live/session_accept_params.rbs +53 -4
  235. data/sig/openai/models/live/session_config.rbs +53 -4
  236. data/sig/openai/models/live/session_resource.rbs +53 -4
  237. data/sig/openai/models/live/session_update_config.rbs +52 -0
  238. data/sig/openai/models/realtime/conversation_item_input_audio_transcription_delta_event.rbs +10 -12
  239. data/sig/openai/models/responses/response_input_file.rbs +34 -3
  240. data/sig/openai/models/responses/response_input_file_content.rbs +34 -3
  241. data/sig/openai/models/responses/response_input_image.rbs +34 -3
  242. data/sig/openai/models/responses/response_input_image_content.rbs +34 -3
  243. data/sig/openai/models/responses/response_input_text.rbs +34 -3
  244. data/sig/openai/models/responses/response_input_text_content.rbs +34 -3
  245. data/sig/openai/models/responses/response_tool_search_output_item_param.rbs +24 -15
  246. data/sig/openai/models/responses/tool.rbs +24 -15
  247. data/sig/openai/models.rbs +9 -1
  248. data/sig/openai/resources/beta/responses.rbs +2 -1
  249. data/sig/openai/resources/live/forks.rbs +2 -1
  250. data/sig/openai/resources/live/sideband.rbs +2 -1
  251. data/sig/openai/resources/live.rbs +2 -1
  252. data/sig/openai/resources/realtime/translations.rbs +2 -1
  253. data/sig/openai/resources/realtime.rbs +2 -1
  254. data/sig/openai/resources/responses.rbs +2 -1
  255. metadata +49 -1
@@ -0,0 +1,164 @@
1
+ module OpenAI
2
+ module Models
3
+ module Live
4
+ type decision_question =
5
+ OpenAI::Live::DecisionQuestion::Choice
6
+ | OpenAI::Live::DecisionQuestion::Predicate
7
+ | OpenAI::Live::DecisionQuestion::Score
8
+
9
+ module DecisionQuestion
10
+ extend OpenAI::Internal::Type::Union
11
+
12
+ type choice =
13
+ {
14
+ choices: ::Array[OpenAI::Live::DecisionChoiceOption],
15
+ instructions: OpenAI::Models::Live::DecisionQuestion::Choice::instructions,
16
+ ?type: :choice,
17
+ ?name: String
18
+ }
19
+
20
+ class Choice < OpenAI::Internal::Type::BaseModel
21
+ type choice = ::OpenAI::Models::Live::decision_choice_option
22
+
23
+ class Choice = ::OpenAI::Models::Live::DecisionChoiceOption
24
+
25
+ attr_accessor choices: ::Array[OpenAI::Live::DecisionChoiceOption]
26
+
27
+ attr_accessor instructions: OpenAI::Models::Live::DecisionQuestion::Choice::instructions
28
+
29
+ attr_accessor type: :choice
30
+
31
+ attr_reader name: String?
32
+
33
+ def name=: (String) -> String
34
+
35
+ def initialize: (
36
+ choices: ::Array[OpenAI::Live::DecisionChoiceOption],
37
+ instructions: OpenAI::Models::Live::DecisionQuestion::Choice::instructions,
38
+ ?name: String,
39
+ ?type: :choice
40
+ ) -> void
41
+
42
+ def to_hash: -> {
43
+ choices: ::Array[OpenAI::Live::DecisionChoiceOption],
44
+ instructions: OpenAI::Models::Live::DecisionQuestion::Choice::instructions,
45
+ ?type: :choice,
46
+ ?name: String
47
+ }
48
+
49
+ type instructions =
50
+ String | ::Array[OpenAI::Models::decision_question_input_part]
51
+
52
+ module Instructions
53
+ extend OpenAI::Internal::Type::Union
54
+
55
+ def self?.variants: -> ::Array[OpenAI::Models::Live::DecisionQuestion::Choice::instructions]
56
+
57
+ DecisionQuestionInputPartArray: OpenAI::Internal::Type::Converter
58
+ end
59
+ end
60
+
61
+ type predicate =
62
+ {
63
+ instructions: OpenAI::Models::Live::DecisionQuestion::Predicate::instructions,
64
+ ?type: :predicate,
65
+ ?name: String
66
+ }
67
+
68
+ class Predicate < OpenAI::Internal::Type::BaseModel
69
+ attr_accessor instructions: OpenAI::Models::Live::DecisionQuestion::Predicate::instructions
70
+
71
+ attr_accessor type: :predicate
72
+
73
+ attr_reader name: String?
74
+
75
+ def name=: (String) -> String
76
+
77
+ def initialize: (
78
+ instructions: OpenAI::Models::Live::DecisionQuestion::Predicate::instructions,
79
+ ?name: String,
80
+ ?type: :predicate
81
+ ) -> void
82
+
83
+ def to_hash: -> {
84
+ instructions: OpenAI::Models::Live::DecisionQuestion::Predicate::instructions,
85
+ ?type: :predicate,
86
+ ?name: String
87
+ }
88
+
89
+ type instructions =
90
+ String | ::Array[OpenAI::Models::decision_question_input_part]
91
+
92
+ module Instructions
93
+ extend OpenAI::Internal::Type::Union
94
+
95
+ def self?.variants: -> ::Array[OpenAI::Models::Live::DecisionQuestion::Predicate::instructions]
96
+
97
+ DecisionQuestionInputPartArray: OpenAI::Internal::Type::Converter
98
+ end
99
+ end
100
+
101
+ type score =
102
+ {
103
+ instructions: OpenAI::Models::Live::DecisionQuestion::Score::instructions,
104
+ levels: ::Array[OpenAI::Live::DecisionQuestion::Score::Level],
105
+ ?type: :score,
106
+ ?name: String
107
+ }
108
+
109
+ class Score < OpenAI::Internal::Type::BaseModel
110
+ attr_accessor instructions: OpenAI::Models::Live::DecisionQuestion::Score::instructions
111
+
112
+ attr_accessor levels: ::Array[OpenAI::Live::DecisionQuestion::Score::Level]
113
+
114
+ attr_accessor type: :score
115
+
116
+ attr_reader name: String?
117
+
118
+ def name=: (String) -> String
119
+
120
+ def initialize: (
121
+ instructions: OpenAI::Models::Live::DecisionQuestion::Score::instructions,
122
+ levels: ::Array[OpenAI::Live::DecisionQuestion::Score::Level],
123
+ ?name: String,
124
+ ?type: :score
125
+ ) -> void
126
+
127
+ def to_hash: -> {
128
+ instructions: OpenAI::Models::Live::DecisionQuestion::Score::instructions,
129
+ levels: ::Array[OpenAI::Live::DecisionQuestion::Score::Level],
130
+ ?type: :score,
131
+ ?name: String
132
+ }
133
+
134
+ type instructions =
135
+ String | ::Array[OpenAI::Models::decision_question_input_part]
136
+
137
+ module Instructions
138
+ extend OpenAI::Internal::Type::Union
139
+
140
+ def self?.variants: -> ::Array[OpenAI::Models::Live::DecisionQuestion::Score::instructions]
141
+
142
+ DecisionQuestionInputPartArray: OpenAI::Internal::Type::Converter
143
+ end
144
+
145
+ type level = { label: String, ?description: String }
146
+
147
+ class Level < OpenAI::Internal::Type::BaseModel
148
+ attr_accessor label: String
149
+
150
+ attr_reader description: String?
151
+
152
+ def description=: (String) -> String
153
+
154
+ def initialize: (label: String, ?description: String) -> void
155
+
156
+ def to_hash: -> { label: String, ?description: String }
157
+ end
158
+ end
159
+
160
+ def self?.variants: -> ::Array[OpenAI::Models::Live::decision_question]
161
+ end
162
+ end
163
+ end
164
+ end
@@ -0,0 +1,131 @@
1
+ module OpenAI
2
+ module Models
3
+ module Live
4
+ type decision_stored_assistant_message =
5
+ {
6
+ id: String,
7
+ content: OpenAI::Models::Live::DecisionStoredAssistantMessage::content,
8
+ ?role: :assistant,
9
+ ?phase: OpenAI::Models::Live::DecisionStoredAssistantMessage::phase?,
10
+ ?type: OpenAI::Models::Live::DecisionStoredAssistantMessage::type_
11
+ }
12
+
13
+ class DecisionStoredAssistantMessage < OpenAI::Internal::Type::BaseModel
14
+ attr_accessor id: String
15
+
16
+ # The text input to the model.
17
+ attr_accessor content: OpenAI::Models::Live::DecisionStoredAssistantMessage::content
18
+
19
+ attr_accessor role: :assistant
20
+
21
+ # Labels an `assistant` message as intermediate commentary (`commentary`) or the
22
+ # final answer (`final_answer`). For models like `gpt-5.3-codex` and beyond, when
23
+ # sending follow-up requests, preserve and resend phase on all assistant messages
24
+ # — dropping it can degrade performance. Not used for user messages.
25
+ attr_accessor phase: OpenAI::Models::Live::DecisionStoredAssistantMessage::phase?
26
+
27
+ attr_reader type: OpenAI::Models::Live::DecisionStoredAssistantMessage::type_?
28
+
29
+ def type=: (
30
+ OpenAI::Models::Live::DecisionStoredAssistantMessage::type_
31
+ ) -> OpenAI::Models::Live::DecisionStoredAssistantMessage::type_
32
+
33
+ # @param content
34
+ # The text input to the model.
35
+ # @param phase
36
+ # Labels an `assistant` message as intermediate commentary (`commentary`) or the
37
+ # final answer (`final_answer`). For models like `gpt-5.3-codex` and beyond, when
38
+ # sending follow-up requests, preserve and resend phase on all assistant messages
39
+ # — dropping it can degrade performance. Not used for user messages.
40
+ def initialize: (
41
+ id: String,
42
+ content: OpenAI::Models::Live::DecisionStoredAssistantMessage::content,
43
+ ?phase: OpenAI::Models::Live::DecisionStoredAssistantMessage::phase?,
44
+ ?type: OpenAI::Models::Live::DecisionStoredAssistantMessage::type_,
45
+ ?role: :assistant
46
+ ) -> void
47
+
48
+ def to_hash: -> {
49
+ id: String,
50
+ content: OpenAI::Models::Live::DecisionStoredAssistantMessage::content,
51
+ ?role: :assistant,
52
+ ?phase: OpenAI::Models::Live::DecisionStoredAssistantMessage::phase?,
53
+ ?type: OpenAI::Models::Live::DecisionStoredAssistantMessage::type_
54
+ }
55
+
56
+ type content =
57
+ String
58
+ | ::Array[OpenAI::Models::Live::DecisionStoredAssistantMessage::Content::part]
59
+
60
+ module Content
61
+ extend OpenAI::Internal::Type::Union
62
+
63
+ type part =
64
+ OpenAI::Live::DecisionStoredAssistantMessage::Content::Part::OutputText
65
+ | OpenAI::Live::DecisionStoredAssistantMessage::Content::Part::Refusal
66
+
67
+ module Part
68
+ extend OpenAI::Internal::Type::Union
69
+
70
+ type output_text = { text: String, ?type: :output_text }
71
+
72
+ class OutputText < OpenAI::Internal::Type::BaseModel
73
+ # The text content.
74
+ attr_accessor text: String
75
+
76
+ attr_accessor type: :output_text
77
+
78
+ # @param text
79
+ # The text content.
80
+ def initialize: (text: String, ?type: :output_text) -> void
81
+
82
+ def to_hash: -> { text: String, ?type: :output_text }
83
+ end
84
+
85
+ type refusal = { refusal: String, ?type: :refusal }
86
+
87
+ class Refusal < OpenAI::Internal::Type::BaseModel
88
+ # The refusal text.
89
+ attr_accessor refusal: String
90
+
91
+ attr_accessor type: :refusal
92
+
93
+ # @param refusal
94
+ # The refusal text.
95
+ def initialize: (refusal: String, ?type: :refusal) -> void
96
+
97
+ def to_hash: -> { refusal: String, ?type: :refusal }
98
+ end
99
+
100
+ def self?.variants: -> ::Array[OpenAI::Models::Live::DecisionStoredAssistantMessage::Content::part]
101
+ end
102
+
103
+ def self?.variants: -> ::Array[OpenAI::Models::Live::DecisionStoredAssistantMessage::content]
104
+
105
+ PartsArray: OpenAI::Internal::Type::Converter
106
+ end
107
+
108
+ type phase = :commentary | :final_answer
109
+
110
+ module Phase
111
+ extend OpenAI::Internal::Type::Enum
112
+
113
+ COMMENTARY: :commentary
114
+ FINAL_ANSWER: :final_answer
115
+
116
+ def self?.values: -> ::Array[OpenAI::Models::Live::DecisionStoredAssistantMessage::phase]
117
+ end
118
+
119
+ type type_ = :message
120
+
121
+ module Type
122
+ extend OpenAI::Internal::Type::Enum
123
+
124
+ MESSAGE: :message
125
+
126
+ def self?.values: -> ::Array[OpenAI::Models::Live::DecisionStoredAssistantMessage::type_]
127
+ end
128
+ end
129
+ end
130
+ end
131
+ end
@@ -0,0 +1,64 @@
1
+ module OpenAI
2
+ module Models
3
+ module Live
4
+ type decision_stored_developer_message =
5
+ {
6
+ id: String,
7
+ content: OpenAI::Models::Live::DecisionStoredDeveloperMessage::content,
8
+ ?role: :developer,
9
+ ?type: OpenAI::Models::Live::DecisionStoredDeveloperMessage::type_
10
+ }
11
+
12
+ class DecisionStoredDeveloperMessage < OpenAI::Internal::Type::BaseModel
13
+ attr_accessor id: String
14
+
15
+ # The text input to the model.
16
+ attr_accessor content: OpenAI::Models::Live::DecisionStoredDeveloperMessage::content
17
+
18
+ attr_accessor role: :developer
19
+
20
+ attr_reader type: OpenAI::Models::Live::DecisionStoredDeveloperMessage::type_?
21
+
22
+ def type=: (
23
+ OpenAI::Models::Live::DecisionStoredDeveloperMessage::type_
24
+ ) -> OpenAI::Models::Live::DecisionStoredDeveloperMessage::type_
25
+
26
+ # @param content
27
+ # The text input to the model.
28
+ def initialize: (
29
+ id: String,
30
+ content: OpenAI::Models::Live::DecisionStoredDeveloperMessage::content,
31
+ ?type: OpenAI::Models::Live::DecisionStoredDeveloperMessage::type_,
32
+ ?role: :developer
33
+ ) -> void
34
+
35
+ def to_hash: -> {
36
+ id: String,
37
+ content: OpenAI::Models::Live::DecisionStoredDeveloperMessage::content,
38
+ ?role: :developer,
39
+ ?type: OpenAI::Models::Live::DecisionStoredDeveloperMessage::type_
40
+ }
41
+
42
+ type content = String | ::Array[OpenAI::Live::DecisionInputText]
43
+
44
+ module Content
45
+ extend OpenAI::Internal::Type::Union
46
+
47
+ def self?.variants: -> ::Array[OpenAI::Models::Live::DecisionStoredDeveloperMessage::content]
48
+
49
+ DecisionInputTextArray: OpenAI::Internal::Type::Converter
50
+ end
51
+
52
+ type type_ = :message
53
+
54
+ module Type
55
+ extend OpenAI::Internal::Type::Enum
56
+
57
+ MESSAGE: :message
58
+
59
+ def self?.values: -> ::Array[OpenAI::Models::Live::DecisionStoredDeveloperMessage::type_]
60
+ end
61
+ end
62
+ end
63
+ end
64
+ end
@@ -0,0 +1,64 @@
1
+ module OpenAI
2
+ module Models
3
+ module Live
4
+ type decision_stored_system_message =
5
+ {
6
+ id: String,
7
+ content: OpenAI::Models::Live::DecisionStoredSystemMessage::content,
8
+ ?role: :system,
9
+ ?type: OpenAI::Models::Live::DecisionStoredSystemMessage::type_
10
+ }
11
+
12
+ class DecisionStoredSystemMessage < OpenAI::Internal::Type::BaseModel
13
+ attr_accessor id: String
14
+
15
+ # The text input to the model.
16
+ attr_accessor content: OpenAI::Models::Live::DecisionStoredSystemMessage::content
17
+
18
+ attr_accessor role: :system
19
+
20
+ attr_reader type: OpenAI::Models::Live::DecisionStoredSystemMessage::type_?
21
+
22
+ def type=: (
23
+ OpenAI::Models::Live::DecisionStoredSystemMessage::type_
24
+ ) -> OpenAI::Models::Live::DecisionStoredSystemMessage::type_
25
+
26
+ # @param content
27
+ # The text input to the model.
28
+ def initialize: (
29
+ id: String,
30
+ content: OpenAI::Models::Live::DecisionStoredSystemMessage::content,
31
+ ?type: OpenAI::Models::Live::DecisionStoredSystemMessage::type_,
32
+ ?role: :system
33
+ ) -> void
34
+
35
+ def to_hash: -> {
36
+ id: String,
37
+ content: OpenAI::Models::Live::DecisionStoredSystemMessage::content,
38
+ ?role: :system,
39
+ ?type: OpenAI::Models::Live::DecisionStoredSystemMessage::type_
40
+ }
41
+
42
+ type content = String | ::Array[OpenAI::Live::DecisionInputText]
43
+
44
+ module Content
45
+ extend OpenAI::Internal::Type::Union
46
+
47
+ def self?.variants: -> ::Array[OpenAI::Models::Live::DecisionStoredSystemMessage::content]
48
+
49
+ DecisionInputTextArray: OpenAI::Internal::Type::Converter
50
+ end
51
+
52
+ type type_ = :message
53
+
54
+ module Type
55
+ extend OpenAI::Internal::Type::Enum
56
+
57
+ MESSAGE: :message
58
+
59
+ def self?.values: -> ::Array[OpenAI::Models::Live::DecisionStoredSystemMessage::type_]
60
+ end
61
+ end
62
+ end
63
+ end
64
+ end
@@ -0,0 +1,177 @@
1
+ module OpenAI
2
+ module Models
3
+ module Live
4
+ type decision_stored_user_message =
5
+ {
6
+ id: String,
7
+ content: OpenAI::Models::Live::DecisionStoredUserMessage::content,
8
+ ?role: :user,
9
+ ?type: OpenAI::Models::Live::DecisionStoredUserMessage::type_
10
+ }
11
+
12
+ class DecisionStoredUserMessage < OpenAI::Internal::Type::BaseModel
13
+ attr_accessor id: String
14
+
15
+ # The text input to the model.
16
+ attr_accessor content: OpenAI::Models::Live::DecisionStoredUserMessage::content
17
+
18
+ # The message role. Always `user`.
19
+ attr_accessor role: :user
20
+
21
+ attr_reader type: OpenAI::Models::Live::DecisionStoredUserMessage::type_?
22
+
23
+ def type=: (
24
+ OpenAI::Models::Live::DecisionStoredUserMessage::type_
25
+ ) -> OpenAI::Models::Live::DecisionStoredUserMessage::type_
26
+
27
+ # @param content
28
+ # The text input to the model.
29
+ # @param role
30
+ # The message role. Always `user`.
31
+ def initialize: (
32
+ id: String,
33
+ content: OpenAI::Models::Live::DecisionStoredUserMessage::content,
34
+ ?type: OpenAI::Models::Live::DecisionStoredUserMessage::type_,
35
+ ?role: :user
36
+ ) -> void
37
+
38
+ def to_hash: -> {
39
+ id: String,
40
+ content: OpenAI::Models::Live::DecisionStoredUserMessage::content,
41
+ ?role: :user,
42
+ ?type: OpenAI::Models::Live::DecisionStoredUserMessage::type_
43
+ }
44
+
45
+ type content =
46
+ String
47
+ | ::Array[OpenAI::Models::Live::DecisionStoredUserMessage::Content::part]
48
+
49
+ module Content
50
+ extend OpenAI::Internal::Type::Union
51
+
52
+ type part =
53
+ OpenAI::Live::DecisionStoredUserMessage::Content::Part::InputText
54
+ | OpenAI::Live::DecisionStoredUserMessage::Content::Part::InputImage
55
+ | OpenAI::Live::DecisionStoredUserMessage::Content::Part::InputJSON
56
+
57
+ module Part
58
+ extend OpenAI::Internal::Type::Union
59
+
60
+ type input_text = { text: String, ?type: :input_text }
61
+
62
+ class InputText < OpenAI::Internal::Type::BaseModel
63
+ # The text input to the model.
64
+ attr_accessor text: String
65
+
66
+ attr_accessor type: :input_text
67
+
68
+ # @param text
69
+ # The text input to the model.
70
+ def initialize: (text: String, ?type: :input_text) -> void
71
+
72
+ def to_hash: -> { text: String, ?type: :input_text }
73
+ end
74
+
75
+ type input_image =
76
+ {
77
+ image_url: String,
78
+ ?type: :input_image,
79
+ ?detail: OpenAI::Models::Live::DecisionStoredUserMessage::Content::Part::InputImage::detail?
80
+ }
81
+
82
+ class InputImage < OpenAI::Internal::Type::BaseModel
83
+ # A base64-encoded image data URL or a publicly accessible HTTP(S) image URL.
84
+ attr_accessor image_url: String
85
+
86
+ attr_accessor type: :input_image
87
+
88
+ # The detail level of the image to be sent to the model. One of `high`, `low`,
89
+ # `auto`, or `original`. Defaults to `auto`.
90
+ attr_accessor detail: OpenAI::Models::Live::DecisionStoredUserMessage::Content::Part::InputImage::detail?
91
+
92
+ # @param image_url
93
+ # A base64-encoded image data URL or a publicly accessible HTTP(S) image URL.
94
+ # @param detail
95
+ # The detail level of the image to be sent to the model. One of `high`, `low`,
96
+ # `auto`, or `original`. Defaults to `auto`.
97
+ def initialize: (
98
+ image_url: String,
99
+ ?detail: OpenAI::Models::Live::DecisionStoredUserMessage::Content::Part::InputImage::detail?,
100
+ ?type: :input_image
101
+ ) -> void
102
+
103
+ def to_hash: -> {
104
+ image_url: String,
105
+ ?type: :input_image,
106
+ ?detail: OpenAI::Models::Live::DecisionStoredUserMessage::Content::Part::InputImage::detail?
107
+ }
108
+
109
+ type detail = :low | :high | :auto | :original
110
+
111
+ module Detail
112
+ extend OpenAI::Internal::Type::Enum
113
+
114
+ LOW: :low
115
+ HIGH: :high
116
+ AUTO: :auto
117
+ ORIGINAL: :original
118
+
119
+ def self?.values: -> ::Array[OpenAI::Models::Live::DecisionStoredUserMessage::Content::Part::InputImage::detail]
120
+ end
121
+ end
122
+
123
+ type input_json =
124
+ {
125
+ data: OpenAI::Models::Live::DecisionStoredUserMessage::Content::Part::InputJSON::data,
126
+ ?type: :input_json
127
+ }
128
+
129
+ class InputJSON < OpenAI::Internal::Type::BaseModel
130
+ attr_accessor data: OpenAI::Models::Live::DecisionStoredUserMessage::Content::Part::InputJSON::data
131
+
132
+ attr_accessor type: :input_json
133
+
134
+ def initialize: (
135
+ data: OpenAI::Models::Live::DecisionStoredUserMessage::Content::Part::InputJSON::data,
136
+ ?type: :input_json
137
+ ) -> void
138
+
139
+ def to_hash: -> {
140
+ data: OpenAI::Models::Live::DecisionStoredUserMessage::Content::Part::InputJSON::data,
141
+ ?type: :input_json
142
+ }
143
+
144
+ type data =
145
+ OpenAI::Models::Live::decision_json_object
146
+ | ::Array[OpenAI::Models::Live::decision_json_object]
147
+
148
+ module Data
149
+ extend OpenAI::Internal::Type::Union
150
+
151
+ def self?.variants: -> ::Array[OpenAI::Models::Live::DecisionStoredUserMessage::Content::Part::InputJSON::data]
152
+
153
+ DecisionJSONObjectArray: OpenAI::Internal::Type::Converter
154
+ end
155
+ end
156
+
157
+ def self?.variants: -> ::Array[OpenAI::Models::Live::DecisionStoredUserMessage::Content::part]
158
+ end
159
+
160
+ def self?.variants: -> ::Array[OpenAI::Models::Live::DecisionStoredUserMessage::content]
161
+
162
+ PartsArray: OpenAI::Internal::Type::Converter
163
+ end
164
+
165
+ type type_ = :message
166
+
167
+ module Type
168
+ extend OpenAI::Internal::Type::Enum
169
+
170
+ MESSAGE: :message
171
+
172
+ def self?.values: -> ::Array[OpenAI::Models::Live::DecisionStoredUserMessage::type_]
173
+ end
174
+ end
175
+ end
176
+ end
177
+ end
@@ -0,0 +1,67 @@
1
+ module OpenAI
2
+ module Models
3
+ module Live
4
+ type decision_system_message =
5
+ {
6
+ content: OpenAI::Models::Live::DecisionSystemMessage::content,
7
+ ?role: :system,
8
+ ?id: String?,
9
+ ?type: OpenAI::Models::Live::DecisionSystemMessage::type_
10
+ }
11
+
12
+ class DecisionSystemMessage < OpenAI::Internal::Type::BaseModel
13
+ # The text input to the model.
14
+ attr_accessor content: OpenAI::Models::Live::DecisionSystemMessage::content
15
+
16
+ attr_accessor role: :system
17
+
18
+ # The unique ID of this message item.
19
+ attr_accessor id: String?
20
+
21
+ attr_reader type: OpenAI::Models::Live::DecisionSystemMessage::type_?
22
+
23
+ def type=: (
24
+ OpenAI::Models::Live::DecisionSystemMessage::type_
25
+ ) -> OpenAI::Models::Live::DecisionSystemMessage::type_
26
+
27
+ # @param content
28
+ # The text input to the model.
29
+ # @param id
30
+ # The unique ID of this message item.
31
+ def initialize: (
32
+ content: OpenAI::Models::Live::DecisionSystemMessage::content,
33
+ ?id: String?,
34
+ ?type: OpenAI::Models::Live::DecisionSystemMessage::type_,
35
+ ?role: :system
36
+ ) -> void
37
+
38
+ def to_hash: -> {
39
+ content: OpenAI::Models::Live::DecisionSystemMessage::content,
40
+ ?role: :system,
41
+ ?id: String?,
42
+ ?type: OpenAI::Models::Live::DecisionSystemMessage::type_
43
+ }
44
+
45
+ type content = String | ::Array[OpenAI::Live::DecisionInputText]
46
+
47
+ module Content
48
+ extend OpenAI::Internal::Type::Union
49
+
50
+ def self?.variants: -> ::Array[OpenAI::Models::Live::DecisionSystemMessage::content]
51
+
52
+ DecisionInputTextArray: 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::Live::DecisionSystemMessage::type_]
63
+ end
64
+ end
65
+ end
66
+ end
67
+ end