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