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