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
@@ -64,6 +64,8 @@ module OpenAI
64
64
  end
65
65
 
66
66
  class Decisions < OpenAI::Internal::Type::BaseModel
67
+ Question = ::OpenAI::Models::Live::DecisionQuestion
68
+
67
69
  OrHash = T.type_alias do
68
70
  T.any(
69
71
  OpenAI::Live::DecisionTrigger::Decisions,
@@ -76,9 +78,9 @@ module OpenAI
76
78
  returns(
77
79
  T::Array[
78
80
  T.any(
79
- OpenAI::Live::DecisionTrigger::Decisions::Question::Predicate,
80
- OpenAI::Live::DecisionTrigger::Decisions::Question::Choice,
81
- OpenAI::Live::DecisionTrigger::Decisions::Question::Score
81
+ OpenAI::Live::DecisionQuestion::Choice,
82
+ OpenAI::Live::DecisionQuestion::Predicate,
83
+ OpenAI::Live::DecisionQuestion::Score
82
84
  )
83
85
  ]
84
86
  )
@@ -92,9 +94,9 @@ module OpenAI
92
94
 
93
95
  questions: T::Array[
94
96
  T.any(
95
- OpenAI::Live::DecisionTrigger::Decisions::Question::Predicate::OrHash,
96
- OpenAI::Live::DecisionTrigger::Decisions::Question::Choice::OrHash,
97
- OpenAI::Live::DecisionTrigger::Decisions::Question::Score::OrHash
97
+ OpenAI::Live::DecisionQuestion::Choice::OrHash,
98
+ OpenAI::Live::DecisionQuestion::Predicate::OrHash,
99
+ OpenAI::Live::DecisionQuestion::Score::OrHash
98
100
  )
99
101
  ]
100
102
  )
@@ -113,9 +115,9 @@ module OpenAI
113
115
  {
114
116
  questions: T::Array[
115
117
  T.any(
116
- OpenAI::Live::DecisionTrigger::Decisions::Question::Predicate,
117
- OpenAI::Live::DecisionTrigger::Decisions::Question::Choice,
118
- OpenAI::Live::DecisionTrigger::Decisions::Question::Score
118
+ OpenAI::Live::DecisionQuestion::Choice,
119
+ OpenAI::Live::DecisionQuestion::Predicate,
120
+ OpenAI::Live::DecisionQuestion::Score
119
121
  )
120
122
  ]
121
123
  }
@@ -124,317 +126,6 @@ module OpenAI
124
126
  def to_hash
125
127
  end
126
128
 
127
- # A question about the request's input, with an optional correlation name.
128
- module Question
129
- extend OpenAI::Internal::Type::Union
130
-
131
- Variants = T.type_alias {
132
- T.any(
133
- OpenAI::Live::DecisionTrigger::Decisions::Question::Predicate,
134
- OpenAI::Live::DecisionTrigger::Decisions::Question::Choice,
135
- OpenAI::Live::DecisionTrigger::Decisions::Question::Score
136
- )
137
- }
138
-
139
- class Predicate < OpenAI::Internal::Type::BaseModel
140
- OrHash = T.type_alias do
141
- T.any(
142
- OpenAI::Live::DecisionTrigger::Decisions::Question::Predicate,
143
- OpenAI::Internal::AnyHash
144
- )
145
- end
146
-
147
- sig { returns(String) }
148
- attr_accessor :instructions
149
-
150
- # The type of the object. Always `predicate`.
151
- sig { returns(Symbol) }
152
- attr_accessor :type
153
-
154
- sig { returns(T.nilable(String)) }
155
- attr_reader :name
156
-
157
- sig { params(name: String).void }
158
- attr_writer :name
159
-
160
- # Estimate how likely it is that a statement about the input is true.
161
- sig do
162
- params(
163
-
164
- instructions: String,
165
-
166
- name: String,
167
-
168
- type: Symbol
169
- )
170
- .returns(T.attached_class)
171
- end
172
- def self.new(
173
-
174
- instructions:,
175
-
176
- name: nil,
177
-
178
- # The type of the object. Always `predicate`.
179
-
180
- type: :predicate
181
- )
182
- end
183
-
184
- sig do
185
- override.returns(
186
- {instructions: String, type: Symbol, name: String}
187
- )
188
- end
189
- def to_hash
190
- end
191
-
192
- end
193
-
194
- class Choice < OpenAI::Internal::Type::BaseModel
195
- OrHash = T.type_alias do
196
- T.any(
197
- OpenAI::Live::DecisionTrigger::Decisions::Question::Choice,
198
- OpenAI::Internal::AnyHash
199
- )
200
- end
201
-
202
- # Provide between 2 and 255 choices. Each choice must be unique.
203
- sig { returns(T::Array[OpenAI::Live::DecisionTrigger::Decisions::Question::Choice::Choice]) }
204
- attr_accessor :choices
205
-
206
- sig { returns(String) }
207
- attr_accessor :instructions
208
-
209
- # The type of the object. Always `choice`.
210
- sig { returns(Symbol) }
211
- attr_accessor :type
212
-
213
- sig { returns(T.nilable(String)) }
214
- attr_reader :name
215
-
216
- sig { params(name: String).void }
217
- attr_writer :name
218
-
219
- # Choose from the supplied options based on the input.
220
- sig do
221
- params(
222
-
223
- choices: T::Array[OpenAI::Live::DecisionTrigger::Decisions::Question::Choice::Choice::OrHash],
224
-
225
- instructions: String,
226
-
227
- name: String,
228
-
229
- type: Symbol
230
- )
231
- .returns(T.attached_class)
232
- end
233
- def self.new(
234
-
235
- # Provide between 2 and 255 choices. Each choice must be unique.
236
- choices:,
237
-
238
- instructions:,
239
-
240
- name: nil,
241
-
242
- # The type of the object. Always `choice`.
243
-
244
- type: :choice
245
- )
246
- end
247
-
248
- sig do
249
- override.returns(
250
- {
251
- choices: T::Array[OpenAI::Live::DecisionTrigger::Decisions::Question::Choice::Choice],
252
- instructions: String,
253
- type: Symbol,
254
- name: String
255
- }
256
- )
257
- end
258
- def to_hash
259
- end
260
-
261
- class Choice < OpenAI::Internal::Type::BaseModel
262
- OrHash = T.type_alias do
263
- T.any(
264
- OpenAI::Live::DecisionTrigger::Decisions::Question::Choice::Choice,
265
- OpenAI::Internal::AnyHash
266
- )
267
- end
268
-
269
- # Choice values are typed: a string and a boolean with the same text are distinct.
270
- sig { returns(T.any(String, T::Boolean)) }
271
- attr_accessor :value
272
-
273
- sig { returns(T.nilable(String)) }
274
- attr_reader :description
275
-
276
- sig { params(description: String).void }
277
- attr_writer :description
278
-
279
- sig do
280
- params(
281
-
282
- value: T.any(String, T::Boolean),
283
-
284
- description: String
285
- )
286
- .returns(T.attached_class)
287
- end
288
- def self.new(
289
-
290
- # Choice values are typed: a string and a boolean with the same text are distinct.
291
- value:,
292
-
293
- description: nil
294
- )
295
- end
296
-
297
- sig do
298
- override.returns(
299
- {value: T.any(String, T::Boolean), description: String}
300
- )
301
- end
302
- def to_hash
303
- end
304
-
305
- # Choice values are typed: a string and a boolean with the same text are distinct.
306
- module Value
307
- extend OpenAI::Internal::Type::Union
308
-
309
- Variants = T.type_alias { T.any(String, T::Boolean) }
310
-
311
- sig {
312
- override.returns(
313
- T::Array[OpenAI::Live::DecisionTrigger::Decisions::Question::Choice::Choice::Value::Variants]
314
- )
315
- }
316
- def self.variants
317
- end
318
-
319
- end
320
- end
321
- end
322
-
323
- class Score < OpenAI::Internal::Type::BaseModel
324
- OrHash = T.type_alias do
325
- T.any(
326
- OpenAI::Live::DecisionTrigger::Decisions::Question::Score,
327
- OpenAI::Internal::AnyHash
328
- )
329
- end
330
-
331
- sig { returns(String) }
332
- attr_accessor :instructions
333
-
334
- sig { returns(T::Array[OpenAI::Live::DecisionTrigger::Decisions::Question::Score::Level]) }
335
- attr_accessor :levels
336
-
337
- # The type of the object. Always `score`.
338
- sig { returns(Symbol) }
339
- attr_accessor :type
340
-
341
- sig { returns(T.nilable(String)) }
342
- attr_reader :name
343
-
344
- sig { params(name: String).void }
345
- attr_writer :name
346
-
347
- # Rate the input against the supplied ordered levels.
348
- sig do
349
- params(
350
-
351
- instructions: String,
352
-
353
- levels: T::Array[OpenAI::Live::DecisionTrigger::Decisions::Question::Score::Level::OrHash],
354
-
355
- name: String,
356
-
357
- type: Symbol
358
- )
359
- .returns(T.attached_class)
360
- end
361
- def self.new(
362
-
363
- instructions:,
364
-
365
- levels:,
366
-
367
- name: nil,
368
-
369
- # The type of the object. Always `score`.
370
-
371
- type: :score
372
- )
373
- end
374
-
375
- sig do
376
- override.returns(
377
- {
378
- instructions: String,
379
- levels: T::Array[OpenAI::Live::DecisionTrigger::Decisions::Question::Score::Level],
380
- type: Symbol,
381
- name: String
382
- }
383
- )
384
- end
385
- def to_hash
386
- end
387
-
388
- class Level < OpenAI::Internal::Type::BaseModel
389
- OrHash = T.type_alias do
390
- T.any(
391
- OpenAI::Live::DecisionTrigger::Decisions::Question::Score::Level,
392
- OpenAI::Internal::AnyHash
393
- )
394
- end
395
-
396
- sig { returns(String) }
397
- attr_accessor :label
398
-
399
- sig { returns(T.nilable(String)) }
400
- attr_reader :description
401
-
402
- sig { params(description: String).void }
403
- attr_writer :description
404
-
405
- sig do
406
- params(
407
-
408
- label: String,
409
-
410
- description: String
411
- )
412
- .returns(T.attached_class)
413
- end
414
- def self.new(
415
-
416
- label:,
417
-
418
- description: nil
419
- )
420
- end
421
-
422
- sig do
423
- override.returns(
424
- {label: String, description: String}
425
- )
426
- end
427
- def to_hash
428
- end
429
-
430
- end
431
- end
432
-
433
- sig { override.returns(T::Array[OpenAI::Live::DecisionTrigger::Decisions::Question::Variants]) }
434
- def self.variants
435
- end
436
-
437
- end
438
129
  end
439
130
 
440
131
  module EventType
@@ -0,0 +1,320 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+
6
+ module Live
7
+
8
+ class DecisionUserMessage < OpenAI::Internal::Type::BaseModel
9
+
10
+ OrHash = T.type_alias do
11
+ T.any(
12
+ OpenAI::Live::DecisionUserMessage,
13
+ OpenAI::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ # The text input to the model.
18
+ sig { returns(OpenAI::Live::DecisionUserMessage::Content::Variants) }
19
+ attr_accessor :content
20
+
21
+ # The message role. Always `user`.
22
+ sig { returns(Symbol) }
23
+ attr_accessor :role
24
+
25
+ # The unique ID of this message item.
26
+ sig { returns(T.nilable(String)) }
27
+ attr_accessor :id
28
+
29
+ sig { returns(T.nilable(OpenAI::Live::DecisionUserMessage::Type::OrSymbol)) }
30
+ attr_reader :type
31
+
32
+ sig { params(type: OpenAI::Live::DecisionUserMessage::Type::OrSymbol).void }
33
+ attr_writer :type
34
+
35
+ sig do
36
+ params(
37
+
38
+ content: OpenAI::Live::DecisionUserMessage::Content::Variants,
39
+
40
+ id: T.nilable(String),
41
+
42
+ type: OpenAI::Live::DecisionUserMessage::Type::OrSymbol,
43
+
44
+ role: Symbol
45
+ )
46
+ .returns(T.attached_class)
47
+ end
48
+ def self.new(
49
+
50
+ # The text input to the model.
51
+ content:,
52
+
53
+ # The unique ID of this message item.
54
+ id: nil,
55
+
56
+ type: nil,
57
+
58
+ # The message role. Always `user`.
59
+
60
+ role: :user
61
+ )
62
+ end
63
+
64
+ sig do
65
+ override.returns(
66
+ {
67
+ content: OpenAI::Live::DecisionUserMessage::Content::Variants,
68
+ role: Symbol,
69
+ id: T.nilable(String),
70
+ type: OpenAI::Live::DecisionUserMessage::Type::OrSymbol
71
+ }
72
+ )
73
+ end
74
+ def to_hash
75
+ end
76
+
77
+ # The text input to the model.
78
+ module Content
79
+ extend OpenAI::Internal::Type::Union
80
+
81
+ Variants = T.type_alias {
82
+ T.any(String, T::Array[OpenAI::Live::DecisionUserMessage::Content::Part::Variants])
83
+ }
84
+
85
+ module Part
86
+ extend OpenAI::Internal::Type::Union
87
+
88
+ Variants = T.type_alias {
89
+ T.any(
90
+ OpenAI::Live::DecisionUserMessage::Content::Part::InputText,
91
+ OpenAI::Live::DecisionUserMessage::Content::Part::InputImage,
92
+ OpenAI::Live::DecisionUserMessage::Content::Part::InputJSON
93
+ )
94
+ }
95
+
96
+ class InputText < OpenAI::Internal::Type::BaseModel
97
+ OrHash = T.type_alias do
98
+ T.any(
99
+ OpenAI::Live::DecisionUserMessage::Content::Part::InputText,
100
+ OpenAI::Internal::AnyHash
101
+ )
102
+ end
103
+
104
+ # The text input to the model.
105
+ sig { returns(String) }
106
+ attr_accessor :text
107
+
108
+ sig { returns(Symbol) }
109
+ attr_accessor :type
110
+
111
+ sig do
112
+ params(
113
+
114
+ text: String,
115
+
116
+ type: Symbol
117
+ )
118
+ .returns(T.attached_class)
119
+ end
120
+ def self.new(
121
+
122
+ # The text input to the model.
123
+ text:,
124
+
125
+ type: :input_text
126
+ )
127
+ end
128
+
129
+ sig do
130
+ override.returns(
131
+ {text: String, type: Symbol}
132
+ )
133
+ end
134
+ def to_hash
135
+ end
136
+
137
+ end
138
+
139
+ class InputImage < OpenAI::Internal::Type::BaseModel
140
+ OrHash = T.type_alias do
141
+ T.any(
142
+ OpenAI::Live::DecisionUserMessage::Content::Part::InputImage,
143
+ OpenAI::Internal::AnyHash
144
+ )
145
+ end
146
+
147
+ # A base64-encoded image data URL or a publicly accessible HTTP(S) image URL.
148
+ sig { returns(String) }
149
+ attr_accessor :image_url
150
+
151
+ sig { returns(Symbol) }
152
+ attr_accessor :type
153
+
154
+ # The detail level of the image to be sent to the model. One of `high`, `low`,
155
+ # `auto`, or `original`. Defaults to `auto`.
156
+ sig {
157
+ returns(T.nilable(OpenAI::Live::DecisionUserMessage::Content::Part::InputImage::Detail::OrSymbol))
158
+ }
159
+ attr_accessor :detail
160
+
161
+ sig do
162
+ params(
163
+
164
+ image_url: String,
165
+
166
+ detail: T.nilable(OpenAI::Live::DecisionUserMessage::Content::Part::InputImage::Detail::OrSymbol),
167
+
168
+ type: Symbol
169
+ )
170
+ .returns(T.attached_class)
171
+ end
172
+ def self.new(
173
+
174
+ # A base64-encoded image data URL or a publicly accessible HTTP(S) image URL.
175
+ image_url:,
176
+
177
+ # The detail level of the image to be sent to the model. One of `high`, `low`,
178
+ # `auto`, or `original`. Defaults to `auto`.
179
+ detail: nil,
180
+
181
+ type: :input_image
182
+ )
183
+ end
184
+
185
+ sig do
186
+ override.returns(
187
+ {
188
+ image_url: String,
189
+ type: Symbol,
190
+ detail: T.nilable(OpenAI::Live::DecisionUserMessage::Content::Part::InputImage::Detail::OrSymbol)
191
+ }
192
+ )
193
+ end
194
+ def to_hash
195
+ end
196
+
197
+ # The detail level of the image to be sent to the model. One of `high`, `low`,
198
+ # `auto`, or `original`. Defaults to `auto`.
199
+ module Detail
200
+ extend OpenAI::Internal::Type::Enum
201
+
202
+ TaggedSymbol = T.type_alias {
203
+ T.all(Symbol, OpenAI::Live::DecisionUserMessage::Content::Part::InputImage::Detail)
204
+ }
205
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
206
+
207
+ LOW = T.let(:low, OpenAI::Live::DecisionUserMessage::Content::Part::InputImage::Detail::TaggedSymbol)
208
+ HIGH = T.let(:high, OpenAI::Live::DecisionUserMessage::Content::Part::InputImage::Detail::TaggedSymbol)
209
+ AUTO = T.let(:auto, OpenAI::Live::DecisionUserMessage::Content::Part::InputImage::Detail::TaggedSymbol)
210
+ ORIGINAL = T.let(
211
+ :original,
212
+ OpenAI::Live::DecisionUserMessage::Content::Part::InputImage::Detail::TaggedSymbol
213
+ )
214
+
215
+ sig {
216
+ override.returns(
217
+ T::Array[OpenAI::Live::DecisionUserMessage::Content::Part::InputImage::Detail::TaggedSymbol]
218
+ )
219
+ }
220
+ def self.values
221
+ end
222
+ end
223
+ end
224
+
225
+ class InputJSON < OpenAI::Internal::Type::BaseModel
226
+ OrHash = T.type_alias do
227
+ T.any(
228
+ OpenAI::Live::DecisionUserMessage::Content::Part::InputJSON,
229
+ OpenAI::Internal::AnyHash
230
+ )
231
+ end
232
+
233
+ sig { returns(T.any(T::Hash[Symbol, T.anything], T::Array[T::Hash[Symbol, T.anything]])) }
234
+ attr_accessor :data
235
+
236
+ sig { returns(Symbol) }
237
+ attr_accessor :type
238
+
239
+ sig do
240
+ params(
241
+
242
+ data: T.any(T::Hash[Symbol, T.anything], T::Array[T::Hash[Symbol, T.anything]]),
243
+
244
+ type: Symbol
245
+ )
246
+ .returns(T.attached_class)
247
+ end
248
+ def self.new(
249
+
250
+ data:,
251
+
252
+ type: :input_json
253
+ )
254
+ end
255
+
256
+ sig do
257
+ override.returns(
258
+ {data: T.any(T::Hash[Symbol, T.anything], T::Array[T::Hash[Symbol, T.anything]]), type: Symbol}
259
+ )
260
+ end
261
+ def to_hash
262
+ end
263
+
264
+ module Data
265
+ extend OpenAI::Internal::Type::Union
266
+
267
+ Variants = T.type_alias { T.any(T::Hash[Symbol, T.anything], T::Array[T::Hash[Symbol, T.anything]]) }
268
+
269
+ sig {
270
+ override.returns(
271
+ T::Array[OpenAI::Live::DecisionUserMessage::Content::Part::InputJSON::Data::Variants]
272
+ )
273
+ }
274
+ def self.variants
275
+ end
276
+
277
+ DecisionJSONObjectArray = T.let(
278
+ OpenAI::Internal::Type::ArrayOf[OpenAI::Internal::Type::HashOf[OpenAI::Internal::Type::Unknown]],
279
+ OpenAI::Internal::Type::Converter
280
+ )
281
+
282
+ end
283
+ end
284
+
285
+ sig { override.returns(T::Array[OpenAI::Live::DecisionUserMessage::Content::Part::Variants]) }
286
+ def self.variants
287
+ end
288
+
289
+ end
290
+
291
+ sig { override.returns(T::Array[OpenAI::Live::DecisionUserMessage::Content::Variants]) }
292
+ def self.variants
293
+ end
294
+
295
+ PartsArray = T.let(
296
+ OpenAI::Internal::Type::ArrayOf[union: OpenAI::Live::DecisionUserMessage::Content::Part],
297
+ OpenAI::Internal::Type::Converter
298
+ )
299
+
300
+ end
301
+
302
+ module Type
303
+ extend OpenAI::Internal::Type::Enum
304
+
305
+ TaggedSymbol = T.type_alias { T.all(Symbol, OpenAI::Live::DecisionUserMessage::Type) }
306
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
307
+
308
+ MESSAGE = T.let(:message, OpenAI::Live::DecisionUserMessage::Type::TaggedSymbol)
309
+
310
+ sig { override.returns(T::Array[OpenAI::Live::DecisionUserMessage::Type::TaggedSymbol]) }
311
+ def self.values
312
+ end
313
+ end
314
+
315
+ end
316
+
317
+ end
318
+
319
+ end
320
+ end