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
@@ -14,11 +14,21 @@ module OpenAI
14
14
  )
15
15
  end
16
16
 
17
- sig { returns(OpenAI::Live::DecisionItemCreateEvent::Item) }
18
- attr_reader :item
19
-
20
- sig { params(item: OpenAI::Live::DecisionItemCreateEvent::Item::OrHash).void }
21
- attr_writer :item
17
+ sig {
18
+ returns(
19
+ T.any(
20
+ OpenAI::Live::DecisionUserMessage,
21
+ OpenAI::Live::DecisionDeveloperMessage,
22
+ OpenAI::Live::DecisionSystemMessage,
23
+ OpenAI::Live::DecisionAssistantMessage,
24
+ OpenAI::Live::DecisionItemCreateEvent::ItemUnion::FunctionCall,
25
+ OpenAI::Live::DecisionItemCreateEvent::ItemUnion::FunctionCallOutput,
26
+ OpenAI::Live::DecisionItemCreateEvent::ItemUnion::CustomToolCall,
27
+ OpenAI::Live::DecisionItemCreateEvent::ItemUnion::CustomToolCallOutput
28
+ )
29
+ )
30
+ }
31
+ attr_accessor :item
22
32
 
23
33
  sig { returns(Symbol) }
24
34
  attr_accessor :type
@@ -33,7 +43,16 @@ module OpenAI
33
43
  sig do
34
44
  params(
35
45
 
36
- item: OpenAI::Live::DecisionItemCreateEvent::Item::OrHash,
46
+ item: T.any(
47
+ OpenAI::Live::DecisionUserMessage::OrHash,
48
+ OpenAI::Live::DecisionDeveloperMessage::OrHash,
49
+ OpenAI::Live::DecisionSystemMessage::OrHash,
50
+ OpenAI::Live::DecisionAssistantMessage::OrHash,
51
+ OpenAI::Live::DecisionItemCreateEvent::ItemUnion::FunctionCall::OrHash,
52
+ OpenAI::Live::DecisionItemCreateEvent::ItemUnion::FunctionCallOutput::OrHash,
53
+ OpenAI::Live::DecisionItemCreateEvent::ItemUnion::CustomToolCall::OrHash,
54
+ OpenAI::Live::DecisionItemCreateEvent::ItemUnion::CustomToolCallOutput::OrHash
55
+ ),
37
56
 
38
57
  event_id: T.nilable(String),
39
58
 
@@ -55,281 +74,843 @@ module OpenAI
55
74
 
56
75
  sig do
57
76
  override.returns(
58
- {item: OpenAI::Live::DecisionItemCreateEvent::Item, type: Symbol, event_id: T.nilable(String)}
77
+ {
78
+ item: T.any(
79
+ OpenAI::Live::DecisionUserMessage,
80
+ OpenAI::Live::DecisionDeveloperMessage,
81
+ OpenAI::Live::DecisionSystemMessage,
82
+ OpenAI::Live::DecisionAssistantMessage,
83
+ OpenAI::Live::DecisionItemCreateEvent::ItemUnion::FunctionCall,
84
+ OpenAI::Live::DecisionItemCreateEvent::ItemUnion::FunctionCallOutput,
85
+ OpenAI::Live::DecisionItemCreateEvent::ItemUnion::CustomToolCall,
86
+ OpenAI::Live::DecisionItemCreateEvent::ItemUnion::CustomToolCallOutput
87
+ ),
88
+ type: Symbol,
89
+ event_id: T.nilable(String)
90
+ }
59
91
  )
60
92
  end
61
93
  def to_hash
62
94
  end
63
95
 
64
- class Item < OpenAI::Internal::Type::BaseModel
65
- OrHash = T.type_alias do
96
+ module ItemUnion
97
+ extend OpenAI::Internal::Type::Union
98
+
99
+ Variants = T.type_alias {
66
100
  T.any(
67
- OpenAI::Live::DecisionItemCreateEvent::Item,
68
- OpenAI::Internal::AnyHash
101
+ OpenAI::Live::DecisionUserMessage,
102
+ OpenAI::Live::DecisionDeveloperMessage,
103
+ OpenAI::Live::DecisionSystemMessage,
104
+ OpenAI::Live::DecisionAssistantMessage,
105
+ OpenAI::Live::DecisionItemCreateEvent::ItemUnion::FunctionCall,
106
+ OpenAI::Live::DecisionItemCreateEvent::ItemUnion::FunctionCallOutput,
107
+ OpenAI::Live::DecisionItemCreateEvent::ItemUnion::CustomToolCall,
108
+ OpenAI::Live::DecisionItemCreateEvent::ItemUnion::CustomToolCallOutput
69
109
  )
70
- end
110
+ }
111
+
112
+ class FunctionCall < OpenAI::Internal::Type::BaseModel
113
+ OrHash = T.type_alias do
114
+ T.any(
115
+ OpenAI::Live::DecisionItemCreateEvent::ItemUnion::FunctionCall,
116
+ OpenAI::Internal::AnyHash
117
+ )
118
+ end
119
+
120
+ # The function arguments as a JSON string.
121
+ sig { returns(String) }
122
+ attr_accessor :arguments
123
+
124
+ # The unique ID of the function tool call generated by the model.
125
+ sig { returns(String) }
126
+ attr_accessor :call_id
127
+
128
+ sig { returns(String) }
129
+ attr_accessor :name
130
+
131
+ # The item type. Always `function_call`.
132
+ sig { returns(Symbol) }
133
+ attr_accessor :type
134
+
135
+ # The local Decision item ID.
136
+ sig { returns(T.nilable(String)) }
137
+ attr_accessor :id
138
+
139
+ # The namespace of the function to call.
140
+ sig { returns(T.nilable(String)) }
141
+ attr_accessor :namespace
142
+
143
+ sig {
144
+ returns(T.nilable(OpenAI::Live::DecisionItemCreateEvent::ItemUnion::FunctionCall::Status::OrSymbol))
145
+ }
146
+ attr_accessor :status
147
+
148
+ sig do
149
+ params(
71
150
 
72
- # The text input to the model.
73
- sig { returns(OpenAI::Live::DecisionItemCreateEvent::Item::Content::Variants) }
74
- attr_accessor :content
151
+ arguments: String,
75
152
 
76
- # The message role. Always `user`.
77
- sig { returns(Symbol) }
78
- attr_accessor :role
153
+ call_id: String,
79
154
 
80
- # The unique ID of this message item.
81
- sig { returns(T.nilable(String)) }
82
- attr_accessor :id
155
+ name: String,
83
156
 
84
- sig { returns(T.nilable(OpenAI::Live::DecisionItemCreateEvent::Item::Type::OrSymbol)) }
85
- attr_reader :type
157
+ id: T.nilable(String),
158
+
159
+ namespace: T.nilable(String),
160
+
161
+ status: T.nilable(OpenAI::Live::DecisionItemCreateEvent::ItemUnion::FunctionCall::Status::OrSymbol),
162
+
163
+ type: Symbol
164
+ )
165
+ .returns(T.attached_class)
166
+ end
167
+ def self.new(
86
168
 
87
- sig { params(type: OpenAI::Live::DecisionItemCreateEvent::Item::Type::OrSymbol).void }
88
- attr_writer :type
169
+ # The function arguments as a JSON string.
170
+ arguments:,
89
171
 
90
- sig do
91
- params(
172
+ # The unique ID of the function tool call generated by the model.
173
+ call_id:,
92
174
 
93
- content: OpenAI::Live::DecisionItemCreateEvent::Item::Content::Variants,
175
+ name:,
94
176
 
95
- id: T.nilable(String),
177
+ # The local Decision item ID.
178
+ id: nil,
96
179
 
97
- type: OpenAI::Live::DecisionItemCreateEvent::Item::Type::OrSymbol,
180
+ # The namespace of the function to call.
181
+ namespace: nil,
98
182
 
99
- role: Symbol
183
+ status: nil,
184
+
185
+ # The item type. Always `function_call`.
186
+
187
+ type: :function_call
100
188
  )
101
- .returns(T.attached_class)
189
+ end
190
+
191
+ sig do
192
+ override.returns(
193
+ {
194
+ arguments: String,
195
+ call_id: String,
196
+ name: String,
197
+ type: Symbol,
198
+ id: T.nilable(String),
199
+ namespace: T.nilable(String),
200
+ status: T.nilable(OpenAI::Live::DecisionItemCreateEvent::ItemUnion::FunctionCall::Status::OrSymbol)
201
+ }
202
+ )
203
+ end
204
+ def to_hash
205
+ end
206
+
207
+ module Status
208
+ extend OpenAI::Internal::Type::Enum
209
+
210
+ TaggedSymbol = T.type_alias {
211
+ T.all(Symbol, OpenAI::Live::DecisionItemCreateEvent::ItemUnion::FunctionCall::Status)
212
+ }
213
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
214
+
215
+ IN_PROGRESS = T.let(
216
+ :in_progress,
217
+ OpenAI::Live::DecisionItemCreateEvent::ItemUnion::FunctionCall::Status::TaggedSymbol
218
+ )
219
+ COMPLETED = T.let(
220
+ :completed,
221
+ OpenAI::Live::DecisionItemCreateEvent::ItemUnion::FunctionCall::Status::TaggedSymbol
222
+ )
223
+ INCOMPLETE = T.let(
224
+ :incomplete,
225
+ OpenAI::Live::DecisionItemCreateEvent::ItemUnion::FunctionCall::Status::TaggedSymbol
226
+ )
227
+
228
+ sig {
229
+ override.returns(
230
+ T::Array[OpenAI::Live::DecisionItemCreateEvent::ItemUnion::FunctionCall::Status::TaggedSymbol]
231
+ )
232
+ }
233
+ def self.values
234
+ end
235
+ end
102
236
  end
103
- def self.new(
237
+
238
+ class FunctionCallOutput < OpenAI::Internal::Type::BaseModel
239
+ OrHash = T.type_alias do
240
+ T.any(
241
+ OpenAI::Live::DecisionItemCreateEvent::ItemUnion::FunctionCallOutput,
242
+ OpenAI::Internal::AnyHash
243
+ )
244
+ end
245
+
246
+ # The unique ID of the function tool call generated by the model.
247
+ sig { returns(String) }
248
+ attr_accessor :call_id
104
249
 
105
250
  # The text input to the model.
106
- content:,
251
+ sig { returns(OpenAI::Live::DecisionItemCreateEvent::ItemUnion::FunctionCallOutput::Output::Variants) }
252
+ attr_accessor :output
107
253
 
108
- # The unique ID of this message item.
109
- id: nil,
254
+ # The type of the function tool call output. Always `function_call_output`.
255
+ sig { returns(Symbol) }
256
+ attr_accessor :type
110
257
 
111
- type: nil,
258
+ # The local Decision item ID.
259
+ sig { returns(T.nilable(String)) }
260
+ attr_accessor :id
112
261
 
113
- # The message role. Always `user`.
262
+ sig {
263
+ returns(T.nilable(OpenAI::Live::DecisionItemCreateEvent::ItemUnion::FunctionCallOutput::Status::OrSymbol))
264
+ }
265
+ attr_accessor :status
114
266
 
115
- role: :user
116
- )
117
- end
267
+ sig do
268
+ params(
269
+
270
+ call_id: String,
271
+
272
+ output: OpenAI::Live::DecisionItemCreateEvent::ItemUnion::FunctionCallOutput::Output::Variants,
118
273
 
119
- sig do
120
- override.returns(
121
- {
122
- content: OpenAI::Live::DecisionItemCreateEvent::Item::Content::Variants,
123
- role: Symbol,
124
274
  id: T.nilable(String),
125
- type: T.nilable(OpenAI::Live::DecisionItemCreateEvent::Item::Type::OrSymbol)
126
- }
127
- )
128
- end
129
- def to_hash
130
- end
131
275
 
132
- # The text input to the model.
133
- module Content
134
- extend OpenAI::Internal::Type::Union
276
+ status: T.nilable(
277
+ OpenAI::Live::DecisionItemCreateEvent::ItemUnion::FunctionCallOutput::Status::OrSymbol
278
+ ),
135
279
 
136
- Variants = T.type_alias {
137
- T.any(String, T::Array[OpenAI::Live::DecisionItemCreateEvent::Item::Content::Part::Variants])
138
- }
280
+ type: Symbol
281
+ )
282
+ .returns(T.attached_class)
283
+ end
284
+ def self.new(
285
+
286
+ # The unique ID of the function tool call generated by the model.
287
+ call_id:,
139
288
 
140
- module Part
289
+ # The text input to the model.
290
+ output:,
291
+
292
+ # The local Decision item ID.
293
+ id: nil,
294
+
295
+ status: nil,
296
+
297
+ # The type of the function tool call output. Always `function_call_output`.
298
+
299
+ type: :function_call_output
300
+ )
301
+ end
302
+
303
+ sig do
304
+ override.returns(
305
+ {
306
+ call_id: String,
307
+ output: OpenAI::Live::DecisionItemCreateEvent::ItemUnion::FunctionCallOutput::Output::Variants,
308
+ type: Symbol,
309
+ id: T.nilable(String),
310
+ status: T.nilable(
311
+ OpenAI::Live::DecisionItemCreateEvent::ItemUnion::FunctionCallOutput::Status::OrSymbol
312
+ )
313
+ }
314
+ )
315
+ end
316
+ def to_hash
317
+ end
318
+
319
+ # The text input to the model.
320
+ module Output
141
321
  extend OpenAI::Internal::Type::Union
142
322
 
143
323
  Variants = T.type_alias {
144
324
  T.any(
145
- OpenAI::Live::DecisionItemCreateEvent::Item::Content::Part::InputText,
146
- OpenAI::Live::DecisionItemCreateEvent::Item::Content::Part::InputImage
325
+ String,
326
+ T::Array[OpenAI::Live::DecisionItemCreateEvent::ItemUnion::FunctionCallOutput::Output::Part::Variants]
147
327
  )
148
328
  }
149
329
 
150
- class InputText < OpenAI::Internal::Type::BaseModel
151
- OrHash = T.type_alias do
330
+ module Part
331
+ extend OpenAI::Internal::Type::Union
332
+
333
+ Variants = T.type_alias {
152
334
  T.any(
153
- OpenAI::Live::DecisionItemCreateEvent::Item::Content::Part::InputText,
154
- OpenAI::Internal::AnyHash
335
+ OpenAI::Live::DecisionInputText,
336
+ OpenAI::Live::DecisionItemCreateEvent::ItemUnion::FunctionCallOutput::Output::Part::InputImage
155
337
  )
156
- end
338
+ }
157
339
 
158
- # The text input to the model.
159
- sig { returns(String) }
160
- attr_accessor :text
340
+ class InputImage < OpenAI::Internal::Type::BaseModel
341
+ OrHash = T.type_alias do
342
+ T.any(
343
+ OpenAI::Live::DecisionItemCreateEvent::ItemUnion::FunctionCallOutput::Output::Part::InputImage,
344
+ OpenAI::Internal::AnyHash
345
+ )
346
+ end
347
+
348
+ # A base64-encoded image data URL or a publicly accessible HTTP(S) image URL.
349
+ sig { returns(String) }
350
+ attr_accessor :image_url
161
351
 
162
- # The type of the input item. Always `input_text`.
163
- sig { returns(Symbol) }
164
- attr_accessor :type
352
+ sig { returns(Symbol) }
353
+ attr_accessor :type
354
+
355
+ # The detail level of the image to be sent to the model. One of `high`, `low`,
356
+ # `auto`, or `original`. Defaults to `auto`.
357
+ sig {
358
+ returns(
359
+ T.nilable(
360
+ OpenAI::Live::DecisionItemCreateEvent::ItemUnion::FunctionCallOutput::Output::Part::InputImage::Detail::OrSymbol
361
+ )
362
+ )
363
+ }
364
+ attr_accessor :detail
365
+
366
+ sig do
367
+ params(
368
+
369
+ image_url: String,
370
+
371
+ detail: T.nilable(
372
+ OpenAI::Live::DecisionItemCreateEvent::ItemUnion::FunctionCallOutput::Output::Part::InputImage::Detail::OrSymbol
373
+ ),
374
+
375
+ type: Symbol
376
+ )
377
+ .returns(T.attached_class)
378
+ end
379
+ def self.new(
165
380
 
166
- sig do
167
- params(
381
+ # A base64-encoded image data URL or a publicly accessible HTTP(S) image URL.
382
+ image_url:,
168
383
 
169
- text: String,
384
+ # The detail level of the image to be sent to the model. One of `high`, `low`,
385
+ # `auto`, or `original`. Defaults to `auto`.
386
+ detail: nil,
170
387
 
171
- type: Symbol
388
+ type: :input_image
172
389
  )
173
- .returns(T.attached_class)
174
- end
175
- def self.new(
390
+ end
176
391
 
177
- # The text input to the model.
178
- text:,
392
+ sig do
393
+ override.returns(
394
+ {
395
+ image_url: String,
396
+ type: Symbol,
397
+ detail: T.nilable(
398
+ OpenAI::Live::DecisionItemCreateEvent::ItemUnion::FunctionCallOutput::Output::Part::InputImage::Detail::OrSymbol
399
+ )
400
+ }
401
+ )
402
+ end
403
+ def to_hash
404
+ end
179
405
 
180
- # The type of the input item. Always `input_text`.
406
+ # The detail level of the image to be sent to the model. One of `high`, `low`,
407
+ # `auto`, or `original`. Defaults to `auto`.
408
+ module Detail
409
+ extend OpenAI::Internal::Type::Enum
181
410
 
182
- type: :input_text
183
- )
411
+ TaggedSymbol = T.type_alias {
412
+ T.all(
413
+ Symbol,
414
+ OpenAI::Live::DecisionItemCreateEvent::ItemUnion::FunctionCallOutput::Output::Part::InputImage::Detail
415
+ )
416
+ }
417
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
418
+
419
+ LOW = T.let(
420
+ :low,
421
+ OpenAI::Live::DecisionItemCreateEvent::ItemUnion::FunctionCallOutput::Output::Part::InputImage::Detail::TaggedSymbol
422
+ )
423
+ HIGH = T.let(
424
+ :high,
425
+ OpenAI::Live::DecisionItemCreateEvent::ItemUnion::FunctionCallOutput::Output::Part::InputImage::Detail::TaggedSymbol
426
+ )
427
+ AUTO = T.let(
428
+ :auto,
429
+ OpenAI::Live::DecisionItemCreateEvent::ItemUnion::FunctionCallOutput::Output::Part::InputImage::Detail::TaggedSymbol
430
+ )
431
+ ORIGINAL = T.let(
432
+ :original,
433
+ OpenAI::Live::DecisionItemCreateEvent::ItemUnion::FunctionCallOutput::Output::Part::InputImage::Detail::TaggedSymbol
434
+ )
435
+
436
+ sig {
437
+ override.returns(
438
+ T::Array[
439
+ OpenAI::Live::DecisionItemCreateEvent::ItemUnion::FunctionCallOutput::Output::Part::InputImage::Detail::TaggedSymbol
440
+ ]
441
+ )
442
+ }
443
+ def self.values
444
+ end
445
+ end
184
446
  end
185
447
 
186
- sig do
448
+ sig {
187
449
  override.returns(
188
- {text: String, type: Symbol}
450
+ T::Array[
451
+ OpenAI::Live::DecisionItemCreateEvent::ItemUnion::FunctionCallOutput::Output::Part::Variants
452
+ ]
189
453
  )
190
- end
191
- def to_hash
454
+ }
455
+ def self.variants
192
456
  end
193
457
 
194
458
  end
195
459
 
196
- class InputImage < OpenAI::Internal::Type::BaseModel
197
- OrHash = T.type_alias do
198
- T.any(
199
- OpenAI::Live::DecisionItemCreateEvent::Item::Content::Part::InputImage,
200
- OpenAI::Internal::AnyHash
201
- )
202
- end
460
+ sig {
461
+ override.returns(
462
+ T::Array[OpenAI::Live::DecisionItemCreateEvent::ItemUnion::FunctionCallOutput::Output::Variants]
463
+ )
464
+ }
465
+ def self.variants
466
+ end
467
+
468
+ PartsArray = T.let(
469
+ OpenAI::Internal::Type::ArrayOf[
470
+ union: OpenAI::Live::DecisionItemCreateEvent::ItemUnion::FunctionCallOutput::Output::Part
471
+ ],
472
+ OpenAI::Internal::Type::Converter
473
+ )
203
474
 
204
- # An inline image encoded as a data URL.
205
- sig { returns(String) }
206
- attr_accessor :image_url
475
+ end
207
476
 
208
- # The type of the input item. Always `input_image`.
209
- sig { returns(Symbol) }
210
- attr_accessor :type
477
+ module Status
478
+ extend OpenAI::Internal::Type::Enum
211
479
 
212
- # The detail level of the image to be sent to the model. One of `high`, `low`,
213
- # `auto`, or `original`. Defaults to `auto`.
214
- sig {
215
- returns(
216
- T.nilable(OpenAI::Live::DecisionItemCreateEvent::Item::Content::Part::InputImage::Detail::OrSymbol)
480
+ TaggedSymbol = T.type_alias {
481
+ T.all(Symbol, OpenAI::Live::DecisionItemCreateEvent::ItemUnion::FunctionCallOutput::Status)
482
+ }
483
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
484
+
485
+ IN_PROGRESS = T.let(
486
+ :in_progress,
487
+ OpenAI::Live::DecisionItemCreateEvent::ItemUnion::FunctionCallOutput::Status::TaggedSymbol
488
+ )
489
+ COMPLETED = T.let(
490
+ :completed,
491
+ OpenAI::Live::DecisionItemCreateEvent::ItemUnion::FunctionCallOutput::Status::TaggedSymbol
492
+ )
493
+ INCOMPLETE = T.let(
494
+ :incomplete,
495
+ OpenAI::Live::DecisionItemCreateEvent::ItemUnion::FunctionCallOutput::Status::TaggedSymbol
496
+ )
497
+
498
+ sig {
499
+ override.returns(
500
+ T::Array[OpenAI::Live::DecisionItemCreateEvent::ItemUnion::FunctionCallOutput::Status::TaggedSymbol]
501
+ )
502
+ }
503
+ def self.values
504
+ end
505
+ end
506
+ end
507
+
508
+ class CustomToolCall < OpenAI::Internal::Type::BaseModel
509
+ OrHash = T.type_alias do
510
+ T.any(
511
+ OpenAI::Live::DecisionItemCreateEvent::ItemUnion::CustomToolCall,
512
+ OpenAI::Internal::AnyHash
513
+ )
514
+ end
515
+
516
+ # The unique ID of the function tool call generated by the model.
517
+ sig { returns(String) }
518
+ attr_accessor :call_id
519
+
520
+ # The input to the custom tool call.
521
+ sig { returns(String) }
522
+ attr_accessor :input
523
+
524
+ # The name of the custom tool to call.
525
+ sig { returns(String) }
526
+ attr_accessor :name
527
+
528
+ # The item type. Always `custom_tool_call`.
529
+ sig { returns(Symbol) }
530
+ attr_accessor :type
531
+
532
+ # The local Decision item ID.
533
+ sig { returns(T.nilable(String)) }
534
+ attr_accessor :id
535
+
536
+ # The namespace of the function to call.
537
+ sig { returns(T.nilable(String)) }
538
+ attr_accessor :namespace
539
+
540
+ sig {
541
+ returns(T.nilable(OpenAI::Live::DecisionItemCreateEvent::ItemUnion::CustomToolCall::Status::OrSymbol))
542
+ }
543
+ attr_accessor :status
544
+
545
+ sig do
546
+ params(
547
+
548
+ call_id: String,
549
+
550
+ input: String,
551
+
552
+ name: String,
553
+
554
+ id: T.nilable(String),
555
+
556
+ namespace: T.nilable(String),
557
+
558
+ status: T.nilable(OpenAI::Live::DecisionItemCreateEvent::ItemUnion::CustomToolCall::Status::OrSymbol),
559
+
560
+ type: Symbol
561
+ )
562
+ .returns(T.attached_class)
563
+ end
564
+ def self.new(
565
+
566
+ # The unique ID of the function tool call generated by the model.
567
+ call_id:,
568
+
569
+ # The input to the custom tool call.
570
+ input:,
571
+
572
+ # The name of the custom tool to call.
573
+ name:,
574
+
575
+ # The local Decision item ID.
576
+ id: nil,
577
+
578
+ # The namespace of the function to call.
579
+ namespace: nil,
580
+
581
+ status: nil,
582
+
583
+ # The item type. Always `custom_tool_call`.
584
+
585
+ type: :custom_tool_call
586
+ )
587
+ end
588
+
589
+ sig do
590
+ override.returns(
591
+ {
592
+ call_id: String,
593
+ input: String,
594
+ name: String,
595
+ type: Symbol,
596
+ id: T.nilable(String),
597
+ namespace: T.nilable(String),
598
+ status: T.nilable(OpenAI::Live::DecisionItemCreateEvent::ItemUnion::CustomToolCall::Status::OrSymbol)
599
+ }
600
+ )
601
+ end
602
+ def to_hash
603
+ end
604
+
605
+ module Status
606
+ extend OpenAI::Internal::Type::Enum
607
+
608
+ TaggedSymbol = T.type_alias {
609
+ T.all(Symbol, OpenAI::Live::DecisionItemCreateEvent::ItemUnion::CustomToolCall::Status)
610
+ }
611
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
612
+
613
+ IN_PROGRESS = T.let(
614
+ :in_progress,
615
+ OpenAI::Live::DecisionItemCreateEvent::ItemUnion::CustomToolCall::Status::TaggedSymbol
616
+ )
617
+ COMPLETED = T.let(
618
+ :completed,
619
+ OpenAI::Live::DecisionItemCreateEvent::ItemUnion::CustomToolCall::Status::TaggedSymbol
620
+ )
621
+ INCOMPLETE = T.let(
622
+ :incomplete,
623
+ OpenAI::Live::DecisionItemCreateEvent::ItemUnion::CustomToolCall::Status::TaggedSymbol
624
+ )
625
+
626
+ sig {
627
+ override.returns(
628
+ T::Array[OpenAI::Live::DecisionItemCreateEvent::ItemUnion::CustomToolCall::Status::TaggedSymbol]
629
+ )
630
+ }
631
+ def self.values
632
+ end
633
+ end
634
+ end
635
+
636
+ class CustomToolCallOutput < OpenAI::Internal::Type::BaseModel
637
+ OrHash = T.type_alias do
638
+ T.any(
639
+ OpenAI::Live::DecisionItemCreateEvent::ItemUnion::CustomToolCallOutput,
640
+ OpenAI::Internal::AnyHash
641
+ )
642
+ end
643
+
644
+ # The unique ID of the function tool call generated by the model.
645
+ sig { returns(String) }
646
+ attr_accessor :call_id
647
+
648
+ # The text input to the model.
649
+ sig { returns(OpenAI::Live::DecisionItemCreateEvent::ItemUnion::CustomToolCallOutput::Output::Variants) }
650
+ attr_accessor :output
651
+
652
+ sig { returns(Symbol) }
653
+ attr_accessor :type
654
+
655
+ # The local Decision item ID.
656
+ sig { returns(T.nilable(String)) }
657
+ attr_accessor :id
658
+
659
+ sig {
660
+ returns(
661
+ T.nilable(OpenAI::Live::DecisionItemCreateEvent::ItemUnion::CustomToolCallOutput::Status::OrSymbol)
662
+ )
663
+ }
664
+ attr_accessor :status
665
+
666
+ sig do
667
+ params(
668
+
669
+ call_id: String,
670
+
671
+ output: OpenAI::Live::DecisionItemCreateEvent::ItemUnion::CustomToolCallOutput::Output::Variants,
672
+
673
+ id: T.nilable(String),
674
+
675
+ status: T.nilable(
676
+ OpenAI::Live::DecisionItemCreateEvent::ItemUnion::CustomToolCallOutput::Status::OrSymbol
677
+ ),
678
+
679
+ type: Symbol
680
+ )
681
+ .returns(T.attached_class)
682
+ end
683
+ def self.new(
684
+
685
+ # The unique ID of the function tool call generated by the model.
686
+ call_id:,
687
+
688
+ # The text input to the model.
689
+ output:,
690
+
691
+ # The local Decision item ID.
692
+ id: nil,
693
+
694
+ status: nil,
695
+
696
+ type: :custom_tool_call_output
697
+ )
698
+ end
699
+
700
+ sig do
701
+ override.returns(
702
+ {
703
+ call_id: String,
704
+ output: OpenAI::Live::DecisionItemCreateEvent::ItemUnion::CustomToolCallOutput::Output::Variants,
705
+ type: Symbol,
706
+ id: T.nilable(String),
707
+ status: T.nilable(
708
+ OpenAI::Live::DecisionItemCreateEvent::ItemUnion::CustomToolCallOutput::Status::OrSymbol
217
709
  )
218
710
  }
219
- attr_accessor :detail
711
+ )
712
+ end
713
+ def to_hash
714
+ end
220
715
 
221
- sig do
222
- params(
716
+ # The text input to the model.
717
+ module Output
718
+ extend OpenAI::Internal::Type::Union
223
719
 
224
- image_url: String,
720
+ Variants = T.type_alias {
721
+ T.any(
722
+ String,
723
+ T::Array[
724
+ OpenAI::Live::DecisionItemCreateEvent::ItemUnion::CustomToolCallOutput::Output::Part::Variants
725
+ ]
726
+ )
727
+ }
225
728
 
226
- detail: T.nilable(
227
- OpenAI::Live::DecisionItemCreateEvent::Item::Content::Part::InputImage::Detail::OrSymbol
228
- ),
729
+ module Part
730
+ extend OpenAI::Internal::Type::Union
229
731
 
230
- type: Symbol
732
+ Variants = T.type_alias {
733
+ T.any(
734
+ OpenAI::Live::DecisionInputText,
735
+ OpenAI::Live::DecisionItemCreateEvent::ItemUnion::CustomToolCallOutput::Output::Part::InputImage
231
736
  )
232
- .returns(T.attached_class)
233
- end
234
- def self.new(
737
+ }
738
+
739
+ class InputImage < OpenAI::Internal::Type::BaseModel
740
+ OrHash = T.type_alias do
741
+ T.any(
742
+ OpenAI::Live::DecisionItemCreateEvent::ItemUnion::CustomToolCallOutput::Output::Part::InputImage,
743
+ OpenAI::Internal::AnyHash
744
+ )
745
+ end
746
+
747
+ # A base64-encoded image data URL or a publicly accessible HTTP(S) image URL.
748
+ sig { returns(String) }
749
+ attr_accessor :image_url
235
750
 
236
- # An inline image encoded as a data URL.
237
- image_url:,
751
+ sig { returns(Symbol) }
752
+ attr_accessor :type
238
753
 
239
754
  # The detail level of the image to be sent to the model. One of `high`, `low`,
240
755
  # `auto`, or `original`. Defaults to `auto`.
241
- detail: nil,
242
-
243
- # The type of the input item. Always `input_image`.
756
+ sig {
757
+ returns(
758
+ T.nilable(
759
+ OpenAI::Live::DecisionItemCreateEvent::ItemUnion::CustomToolCallOutput::Output::Part::InputImage::Detail::OrSymbol
760
+ )
761
+ )
762
+ }
763
+ attr_accessor :detail
244
764
 
245
- type: :input_image
246
- )
247
- end
765
+ sig do
766
+ params(
248
767
 
249
- sig do
250
- override.returns(
251
- {
252
768
  image_url: String,
253
- type: Symbol,
769
+
254
770
  detail: T.nilable(
255
- OpenAI::Live::DecisionItemCreateEvent::Item::Content::Part::InputImage::Detail::OrSymbol
256
- )
257
- }
258
- )
259
- end
260
- def to_hash
261
- end
771
+ OpenAI::Live::DecisionItemCreateEvent::ItemUnion::CustomToolCallOutput::Output::Part::InputImage::Detail::OrSymbol
772
+ ),
262
773
 
263
- # The detail level of the image to be sent to the model. One of `high`, `low`,
264
- # `auto`, or `original`. Defaults to `auto`.
265
- module Detail
266
- extend OpenAI::Internal::Type::Enum
774
+ type: Symbol
775
+ )
776
+ .returns(T.attached_class)
777
+ end
778
+ def self.new(
267
779
 
268
- TaggedSymbol = T.type_alias {
269
- T.all(Symbol, OpenAI::Live::DecisionItemCreateEvent::Item::Content::Part::InputImage::Detail)
270
- }
271
- OrSymbol = T.type_alias { T.any(Symbol, String) }
780
+ # A base64-encoded image data URL or a publicly accessible HTTP(S) image URL.
781
+ image_url:,
272
782
 
273
- LOW = T.let(
274
- :low,
275
- OpenAI::Live::DecisionItemCreateEvent::Item::Content::Part::InputImage::Detail::TaggedSymbol
276
- )
277
- HIGH = T.let(
278
- :high,
279
- OpenAI::Live::DecisionItemCreateEvent::Item::Content::Part::InputImage::Detail::TaggedSymbol
280
- )
281
- AUTO = T.let(
282
- :auto,
283
- OpenAI::Live::DecisionItemCreateEvent::Item::Content::Part::InputImage::Detail::TaggedSymbol
284
- )
285
- ORIGINAL = T.let(
286
- :original,
287
- OpenAI::Live::DecisionItemCreateEvent::Item::Content::Part::InputImage::Detail::TaggedSymbol
783
+ # The detail level of the image to be sent to the model. One of `high`, `low`,
784
+ # `auto`, or `original`. Defaults to `auto`.
785
+ detail: nil,
786
+
787
+ type: :input_image
288
788
  )
789
+ end
289
790
 
290
- sig {
791
+ sig do
291
792
  override.returns(
292
- T::Array[
293
- OpenAI::Live::DecisionItemCreateEvent::Item::Content::Part::InputImage::Detail::TaggedSymbol
294
- ]
793
+ {
794
+ image_url: String,
795
+ type: Symbol,
796
+ detail: T.nilable(
797
+ OpenAI::Live::DecisionItemCreateEvent::ItemUnion::CustomToolCallOutput::Output::Part::InputImage::Detail::OrSymbol
798
+ )
799
+ }
295
800
  )
296
- }
297
- def self.values
801
+ end
802
+ def to_hash
803
+ end
804
+
805
+ # The detail level of the image to be sent to the model. One of `high`, `low`,
806
+ # `auto`, or `original`. Defaults to `auto`.
807
+ module Detail
808
+ extend OpenAI::Internal::Type::Enum
809
+
810
+ TaggedSymbol = T.type_alias {
811
+ T.all(
812
+ Symbol,
813
+ OpenAI::Live::DecisionItemCreateEvent::ItemUnion::CustomToolCallOutput::Output::Part::InputImage::Detail
814
+ )
815
+ }
816
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
817
+
818
+ LOW = T.let(
819
+ :low,
820
+ OpenAI::Live::DecisionItemCreateEvent::ItemUnion::CustomToolCallOutput::Output::Part::InputImage::Detail::TaggedSymbol
821
+ )
822
+ HIGH = T.let(
823
+ :high,
824
+ OpenAI::Live::DecisionItemCreateEvent::ItemUnion::CustomToolCallOutput::Output::Part::InputImage::Detail::TaggedSymbol
825
+ )
826
+ AUTO = T.let(
827
+ :auto,
828
+ OpenAI::Live::DecisionItemCreateEvent::ItemUnion::CustomToolCallOutput::Output::Part::InputImage::Detail::TaggedSymbol
829
+ )
830
+ ORIGINAL = T.let(
831
+ :original,
832
+ OpenAI::Live::DecisionItemCreateEvent::ItemUnion::CustomToolCallOutput::Output::Part::InputImage::Detail::TaggedSymbol
833
+ )
834
+
835
+ sig {
836
+ override.returns(
837
+ T::Array[
838
+ OpenAI::Live::DecisionItemCreateEvent::ItemUnion::CustomToolCallOutput::Output::Part::InputImage::Detail::TaggedSymbol
839
+ ]
840
+ )
841
+ }
842
+ def self.values
843
+ end
298
844
  end
299
845
  end
846
+
847
+ sig {
848
+ override.returns(
849
+ T::Array[
850
+ OpenAI::Live::DecisionItemCreateEvent::ItemUnion::CustomToolCallOutput::Output::Part::Variants
851
+ ]
852
+ )
853
+ }
854
+ def self.variants
855
+ end
856
+
300
857
  end
301
858
 
302
- sig { override.returns(T::Array[OpenAI::Live::DecisionItemCreateEvent::Item::Content::Part::Variants]) }
859
+ sig {
860
+ override.returns(
861
+ T::Array[OpenAI::Live::DecisionItemCreateEvent::ItemUnion::CustomToolCallOutput::Output::Variants]
862
+ )
863
+ }
303
864
  def self.variants
304
865
  end
305
866
 
306
- end
867
+ PartsArray = T.let(
868
+ OpenAI::Internal::Type::ArrayOf[
869
+ union: OpenAI::Live::DecisionItemCreateEvent::ItemUnion::CustomToolCallOutput::Output::Part
870
+ ],
871
+ OpenAI::Internal::Type::Converter
872
+ )
307
873
 
308
- sig { override.returns(T::Array[OpenAI::Live::DecisionItemCreateEvent::Item::Content::Variants]) }
309
- def self.variants
310
874
  end
311
875
 
312
- PartsArray = T.let(
313
- OpenAI::Internal::Type::ArrayOf[union: OpenAI::Live::DecisionItemCreateEvent::Item::Content::Part],
314
- OpenAI::Internal::Type::Converter
315
- )
876
+ module Status
877
+ extend OpenAI::Internal::Type::Enum
316
878
 
879
+ TaggedSymbol = T.type_alias {
880
+ T.all(Symbol, OpenAI::Live::DecisionItemCreateEvent::ItemUnion::CustomToolCallOutput::Status)
881
+ }
882
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
883
+
884
+ IN_PROGRESS = T.let(
885
+ :in_progress,
886
+ OpenAI::Live::DecisionItemCreateEvent::ItemUnion::CustomToolCallOutput::Status::TaggedSymbol
887
+ )
888
+ COMPLETED = T.let(
889
+ :completed,
890
+ OpenAI::Live::DecisionItemCreateEvent::ItemUnion::CustomToolCallOutput::Status::TaggedSymbol
891
+ )
892
+ INCOMPLETE = T.let(
893
+ :incomplete,
894
+ OpenAI::Live::DecisionItemCreateEvent::ItemUnion::CustomToolCallOutput::Status::TaggedSymbol
895
+ )
896
+
897
+ sig {
898
+ override.returns(
899
+ T::Array[OpenAI::Live::DecisionItemCreateEvent::ItemUnion::CustomToolCallOutput::Status::TaggedSymbol]
900
+ )
901
+ }
902
+ def self.values
903
+ end
904
+ end
317
905
  end
318
906
 
319
- module Type
320
- extend OpenAI::Internal::Type::Enum
321
-
322
- TaggedSymbol = T.type_alias { T.all(Symbol, OpenAI::Live::DecisionItemCreateEvent::Item::Type) }
323
- OrSymbol = T.type_alias { T.any(Symbol, String) }
324
-
325
- MESSAGE = T.let(:message, OpenAI::Live::DecisionItemCreateEvent::Item::Type::TaggedSymbol)
326
-
327
- sig { override.returns(T::Array[OpenAI::Live::DecisionItemCreateEvent::Item::Type::TaggedSymbol]) }
328
- def self.values
329
- end
907
+ sig { override.returns(T::Array[OpenAI::Live::DecisionItemCreateEvent::ItemUnion::Variants]) }
908
+ def self.variants
330
909
  end
910
+
331
911
  end
332
912
 
913
+ Item = ::OpenAI::Models::Live::DecisionUserMessage
333
914
  end
334
915
 
335
916
  end