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