openai 0.111.0 → 0.112.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (230) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -0
  3. data/README.md +1 -1
  4. data/lib/openai/models/beta/agent.rb +2 -2
  5. data/lib/openai/models/beta/agent_create_params.rb +2 -2
  6. data/lib/openai/models/beta/agent_session.rb +2 -2
  7. data/lib/openai/models/beta/agent_tool.rb +18 -1
  8. data/lib/openai/models/beta/agent_tool_param.rb +18 -1
  9. data/lib/openai/models/beta/agent_update_params.rb +2 -2
  10. data/lib/openai/models/beta/agents/session_create_params.rb +2 -2
  11. data/lib/openai/models/beta/beta_response_input_file.rb +23 -1
  12. data/lib/openai/models/beta/beta_response_input_file_content.rb +23 -1
  13. data/lib/openai/models/beta/beta_response_input_image.rb +23 -1
  14. data/lib/openai/models/beta/beta_response_input_image_content.rb +23 -1
  15. data/lib/openai/models/beta/beta_response_input_text.rb +23 -1
  16. data/lib/openai/models/beta/beta_response_input_text_content.rb +23 -1
  17. data/lib/openai/models/beta/beta_response_item.rb +28 -1
  18. data/lib/openai/models/beta/beta_response_output_item.rb +28 -1
  19. data/lib/openai/models/beta/beta_response_tool_search_output_item_param.rb +26 -15
  20. data/lib/openai/models/beta/beta_tool.rb +26 -15
  21. data/lib/openai/models/beta/persisted_agent_tool.rb +18 -1
  22. data/lib/openai/models/beta/persisted_agent_tool_param.rb +18 -1
  23. data/lib/openai/models/chat/chat_completion_content_part.rb +23 -1
  24. data/lib/openai/models/chat/chat_completion_content_part_image.rb +23 -1
  25. data/lib/openai/models/chat/chat_completion_content_part_input_audio.rb +23 -1
  26. data/lib/openai/models/chat/chat_completion_content_part_text.rb +23 -1
  27. data/lib/openai/models/conversations/computer_screenshot_content.rb +23 -1
  28. data/lib/openai/models/decision_create_params.rb +8 -4
  29. data/lib/openai/models/image_edit_params.rb +20 -4
  30. data/lib/openai/models/image_generate_params.rb +23 -7
  31. data/lib/openai/models/image_model.rb +2 -0
  32. data/lib/openai/models/live/client_delegation.rb +20 -1
  33. data/lib/openai/models/live/client_event.rb +4 -4
  34. data/lib/openai/models/live/commentary_append_event.rb +1 -1
  35. data/lib/openai/models/live/decision_assistant_message.rb +154 -0
  36. data/lib/openai/models/live/decision_choice_option.rb +35 -0
  37. data/lib/openai/models/live/decision_developer_message.rb +70 -0
  38. data/lib/openai/models/live/decision_input_text.rb +26 -0
  39. data/lib/openai/models/live/decision_item_create_event.rb +490 -131
  40. data/lib/openai/models/live/decision_item_created_event.rb +486 -131
  41. data/lib/openai/models/live/decision_json_object.rb +10 -0
  42. data/lib/openai/models/live/decision_question.rb +172 -0
  43. data/lib/openai/models/live/decision_stored_assistant_message.rb +152 -0
  44. data/lib/openai/models/live/decision_stored_developer_message.rb +68 -0
  45. data/lib/openai/models/live/decision_stored_system_message.rb +68 -0
  46. data/lib/openai/models/live/decision_stored_user_message.rb +195 -0
  47. data/lib/openai/models/live/decision_system_message.rb +70 -0
  48. data/lib/openai/models/live/decision_trigger.rb +6 -258
  49. data/lib/openai/models/live/decision_user_message.rb +193 -0
  50. data/lib/openai/models/live/decisions_delegation_config.rb +5 -250
  51. data/lib/openai/models/live/decisions_delegation_update_config.rb +5 -257
  52. data/lib/openai/models/live/fork_client_event.rb +4 -4
  53. data/lib/openai/models/live/fork_server_event.rb +2 -2
  54. data/lib/openai/models/live/fork_session_config.rb +20 -1
  55. data/lib/openai/models/live/input_audio_muted_event.rb +3 -2
  56. data/lib/openai/models/live/input_audio_unmute_event.rb +2 -1
  57. data/lib/openai/models/live/input_audio_unmuted_event.rb +3 -2
  58. data/lib/openai/models/live/instructions_append_event.rb +5 -2
  59. data/lib/openai/models/live/media_session_config.rb +39 -2
  60. data/lib/openai/models/live/media_session_fork_config.rb +20 -1
  61. data/lib/openai/models/live/server_event.rb +2 -2
  62. data/lib/openai/models/live/session_accept_params.rb +39 -2
  63. data/lib/openai/models/live/session_config.rb +39 -2
  64. data/lib/openai/models/live/session_resource.rb +39 -2
  65. data/lib/openai/models/live/session_update_config.rb +41 -2
  66. data/lib/openai/models/live/sideband_client_event.rb +4 -4
  67. data/lib/openai/models/live/sideband_server_event.rb +2 -2
  68. data/lib/openai/models/live/thinking_append_event.rb +1 -1
  69. data/lib/openai/models/realtime/conversation_item_input_audio_transcription_delta_event.rb +10 -12
  70. data/lib/openai/models/realtime/realtime_error_event.rb +1 -1
  71. data/lib/openai/models/realtime/realtime_server_event.rb +1 -1
  72. data/lib/openai/models/realtime/realtime_translation_server_event.rb +1 -1
  73. data/lib/openai/models/responses/response_input_file.rb +23 -1
  74. data/lib/openai/models/responses/response_input_file_content.rb +23 -1
  75. data/lib/openai/models/responses/response_input_image.rb +23 -1
  76. data/lib/openai/models/responses/response_input_image_content.rb +23 -1
  77. data/lib/openai/models/responses/response_input_text.rb +23 -1
  78. data/lib/openai/models/responses/response_input_text_content.rb +23 -1
  79. data/lib/openai/models/responses/response_tool_search_output_item_param.rb +26 -15
  80. data/lib/openai/models/responses/tool.rb +26 -15
  81. data/lib/openai/resources/beta/agents.rb +2 -2
  82. data/lib/openai/resources/beta/responses.rb +2 -2
  83. data/lib/openai/resources/images.rb +18 -6
  84. data/lib/openai/resources/live/forks.rb +2 -2
  85. data/lib/openai/resources/live/sideband.rb +2 -2
  86. data/lib/openai/resources/live.rb +2 -2
  87. data/lib/openai/resources/realtime/translations.rb +2 -2
  88. data/lib/openai/resources/realtime.rb +2 -2
  89. data/lib/openai/resources/responses.rb +2 -2
  90. data/lib/openai/version.rb +1 -1
  91. data/lib/openai.rb +12 -0
  92. data/rbi/openai/models/beta/agent.rbi +2 -1
  93. data/rbi/openai/models/beta/agent_create_params.rbi +6 -3
  94. data/rbi/openai/models/beta/agent_session.rbi +2 -1
  95. data/rbi/openai/models/beta/agent_tool.rbi +40 -1
  96. data/rbi/openai/models/beta/agent_tool_param.rbi +40 -1
  97. data/rbi/openai/models/beta/agent_update_params.rbi +6 -3
  98. data/rbi/openai/models/beta/agents/session_create_params.rbi +6 -3
  99. data/rbi/openai/models/beta/beta_response_input_file.rbi +31 -1
  100. data/rbi/openai/models/beta/beta_response_input_file_content.rbi +39 -1
  101. data/rbi/openai/models/beta/beta_response_input_image.rbi +31 -1
  102. data/rbi/openai/models/beta/beta_response_input_image_content.rbi +39 -1
  103. data/rbi/openai/models/beta/beta_response_input_text.rbi +31 -1
  104. data/rbi/openai/models/beta/beta_response_input_text_content.rbi +39 -1
  105. data/rbi/openai/models/beta/beta_response_item.rbi +58 -1
  106. data/rbi/openai/models/beta/beta_response_output_item.rbi +58 -1
  107. data/rbi/openai/models/beta/beta_response_tool_search_output_item_param.rbi +24 -15
  108. data/rbi/openai/models/beta/beta_tool.rbi +24 -15
  109. data/rbi/openai/models/beta/persisted_agent_tool.rbi +40 -1
  110. data/rbi/openai/models/beta/persisted_agent_tool_param.rbi +40 -1
  111. data/rbi/openai/models/chat/chat_completion_content_part.rbi +43 -1
  112. data/rbi/openai/models/chat/chat_completion_content_part_image.rbi +41 -1
  113. data/rbi/openai/models/chat/chat_completion_content_part_input_audio.rbi +46 -1
  114. data/rbi/openai/models/chat/chat_completion_content_part_text.rbi +39 -1
  115. data/rbi/openai/models/conversations/computer_screenshot_content.rbi +48 -1
  116. data/rbi/openai/models/image_edit_params.rbi +12 -3
  117. data/rbi/openai/models/image_generate_params.rbi +15 -6
  118. data/rbi/openai/models/live/client_delegation.rbi +23 -1
  119. data/rbi/openai/models/live/commentary_append_event.rbi +1 -1
  120. data/rbi/openai/models/live/decision_assistant_message.rbi +247 -0
  121. data/rbi/openai/models/live/decision_choice_option.rbi +67 -0
  122. data/rbi/openai/models/live/decision_developer_message.rbi +109 -0
  123. data/rbi/openai/models/live/decision_input_text.rbi +55 -0
  124. data/rbi/openai/models/live/decision_item_create_event.rbi +765 -184
  125. data/rbi/openai/models/live/decision_item_created_event.rbi +737 -184
  126. data/rbi/openai/models/live/decision_json_object.rbi +16 -0
  127. data/rbi/openai/models/live/decision_question.rbi +300 -0
  128. data/rbi/openai/models/live/decision_stored_assistant_message.rbi +245 -0
  129. data/rbi/openai/models/live/decision_stored_developer_message.rbi +107 -0
  130. data/rbi/openai/models/live/decision_stored_system_message.rbi +107 -0
  131. data/rbi/openai/models/live/decision_stored_user_message.rbi +333 -0
  132. data/rbi/openai/models/live/decision_system_message.rbi +109 -0
  133. data/rbi/openai/models/live/decision_trigger.rbi +11 -383
  134. data/rbi/openai/models/live/decision_user_message.rbi +320 -0
  135. data/rbi/openai/models/live/decisions_delegation_config.rbi +10 -384
  136. data/rbi/openai/models/live/decisions_delegation_update_config.rbi +13 -387
  137. data/rbi/openai/models/live/fork_session_config.rbi +27 -1
  138. data/rbi/openai/models/live/input_audio_muted_event.rbi +3 -2
  139. data/rbi/openai/models/live/input_audio_unmute_event.rbi +2 -1
  140. data/rbi/openai/models/live/input_audio_unmuted_event.rbi +3 -2
  141. data/rbi/openai/models/live/instructions_append_event.rbi +5 -2
  142. data/rbi/openai/models/live/media_session_config.rbi +44 -2
  143. data/rbi/openai/models/live/media_session_fork_config.rbi +27 -1
  144. data/rbi/openai/models/live/session_accept_params.rbi +44 -2
  145. data/rbi/openai/models/live/session_config.rbi +44 -2
  146. data/rbi/openai/models/live/session_resource.rbi +44 -2
  147. data/rbi/openai/models/live/session_update_config.rbi +54 -2
  148. data/rbi/openai/models/live/thinking_append_event.rbi +1 -1
  149. data/rbi/openai/models/realtime/conversation_item_input_audio_transcription_delta_event.rbi +10 -12
  150. data/rbi/openai/models/realtime/realtime_error_event.rbi +1 -1
  151. data/rbi/openai/models/responses/response_input_file.rbi +31 -1
  152. data/rbi/openai/models/responses/response_input_file_content.rbi +39 -1
  153. data/rbi/openai/models/responses/response_input_image.rbi +33 -1
  154. data/rbi/openai/models/responses/response_input_image_content.rbi +41 -1
  155. data/rbi/openai/models/responses/response_input_text.rbi +31 -1
  156. data/rbi/openai/models/responses/response_input_text_content.rbi +39 -1
  157. data/rbi/openai/models/responses/response_tool_search_output_item_param.rbi +24 -15
  158. data/rbi/openai/models/responses/tool.rbi +24 -15
  159. data/rbi/openai/resources/beta/agents.rbi +4 -2
  160. data/rbi/openai/resources/beta/responses.rbi +8 -1
  161. data/rbi/openai/resources/images.rbi +18 -6
  162. data/rbi/openai/resources/live/forks.rbi +8 -1
  163. data/rbi/openai/resources/live/sideband.rbi +8 -1
  164. data/rbi/openai/resources/live.rbi +8 -1
  165. data/rbi/openai/resources/realtime/translations.rbi +8 -1
  166. data/rbi/openai/resources/realtime.rbi +8 -1
  167. data/rbi/openai/resources/responses.rbi +8 -1
  168. data/sig/openai/models/beta/agent_tool.rbs +14 -0
  169. data/sig/openai/models/beta/agent_tool_param.rbs +14 -0
  170. data/sig/openai/models/beta/beta_response_input_file.rbs +34 -3
  171. data/sig/openai/models/beta/beta_response_input_file_content.rbs +34 -3
  172. data/sig/openai/models/beta/beta_response_input_image.rbs +34 -3
  173. data/sig/openai/models/beta/beta_response_input_image_content.rbs +34 -3
  174. data/sig/openai/models/beta/beta_response_input_text.rbs +34 -3
  175. data/sig/openai/models/beta/beta_response_input_text_content.rbs +34 -3
  176. data/sig/openai/models/beta/beta_response_item.rbs +34 -3
  177. data/sig/openai/models/beta/beta_response_output_item.rbs +34 -3
  178. data/sig/openai/models/beta/beta_response_tool_search_output_item_param.rbs +24 -15
  179. data/sig/openai/models/beta/beta_tool.rbs +24 -15
  180. data/sig/openai/models/beta/persisted_agent_tool.rbs +14 -0
  181. data/sig/openai/models/beta/persisted_agent_tool_param.rbs +14 -0
  182. data/sig/openai/models/chat/chat_completion_content_part.rbs +34 -3
  183. data/sig/openai/models/chat/chat_completion_content_part_image.rbs +34 -3
  184. data/sig/openai/models/chat/chat_completion_content_part_input_audio.rbs +34 -3
  185. data/sig/openai/models/chat/chat_completion_content_part_text.rbs +34 -3
  186. data/sig/openai/models/conversations/computer_screenshot_content.rbs +34 -3
  187. data/sig/openai/models/image_edit_params.rbs +8 -2
  188. data/sig/openai/models/image_generate_params.rbs +10 -4
  189. data/sig/openai/models/live/client_delegation.rbs +30 -3
  190. data/sig/openai/models/live/decision_assistant_message.rbs +134 -0
  191. data/sig/openai/models/live/decision_choice_option.rbs +37 -0
  192. data/sig/openai/models/live/decision_developer_message.rbs +67 -0
  193. data/sig/openai/models/live/decision_input_text.rbs +20 -0
  194. data/sig/openai/models/live/decision_item_create_event.rbs +413 -131
  195. data/sig/openai/models/live/decision_item_created_event.rbs +401 -131
  196. data/sig/openai/models/live/decision_json_object.rbs +9 -0
  197. data/sig/openai/models/live/decision_question.rbs +164 -0
  198. data/sig/openai/models/live/decision_stored_assistant_message.rbs +131 -0
  199. data/sig/openai/models/live/decision_stored_developer_message.rbs +64 -0
  200. data/sig/openai/models/live/decision_stored_system_message.rbs +64 -0
  201. data/sig/openai/models/live/decision_stored_user_message.rbs +177 -0
  202. data/sig/openai/models/live/decision_system_message.rbs +67 -0
  203. data/sig/openai/models/live/decision_trigger.rbs +8 -208
  204. data/sig/openai/models/live/decision_user_message.rbs +180 -0
  205. data/sig/openai/models/live/decisions_delegation_config.rbs +6 -204
  206. data/sig/openai/models/live/decisions_delegation_update_config.rbs +8 -206
  207. data/sig/openai/models/live/fork_session_config.rbs +26 -0
  208. data/sig/openai/models/live/media_session_config.rbs +53 -4
  209. data/sig/openai/models/live/media_session_fork_config.rbs +26 -0
  210. data/sig/openai/models/live/session_accept_params.rbs +53 -4
  211. data/sig/openai/models/live/session_config.rbs +53 -4
  212. data/sig/openai/models/live/session_resource.rbs +53 -4
  213. data/sig/openai/models/live/session_update_config.rbs +52 -0
  214. data/sig/openai/models/realtime/conversation_item_input_audio_transcription_delta_event.rbs +10 -12
  215. data/sig/openai/models/responses/response_input_file.rbs +34 -3
  216. data/sig/openai/models/responses/response_input_file_content.rbs +34 -3
  217. data/sig/openai/models/responses/response_input_image.rbs +34 -3
  218. data/sig/openai/models/responses/response_input_image_content.rbs +34 -3
  219. data/sig/openai/models/responses/response_input_text.rbs +34 -3
  220. data/sig/openai/models/responses/response_input_text_content.rbs +34 -3
  221. data/sig/openai/models/responses/response_tool_search_output_item_param.rbs +24 -15
  222. data/sig/openai/models/responses/tool.rbs +24 -15
  223. data/sig/openai/resources/beta/responses.rbs +2 -1
  224. data/sig/openai/resources/live/forks.rbs +2 -1
  225. data/sig/openai/resources/live/sideband.rbs +2 -1
  226. data/sig/openai/resources/live.rbs +2 -1
  227. data/sig/openai/resources/realtime/translations.rbs +2 -1
  228. data/sig/openai/resources/realtime.rbs +2 -1
  229. data/sig/openai/resources/responses.rbs +2 -1
  230. metadata +37 -1
@@ -12,8 +12,8 @@ module OpenAI
12
12
 
13
13
  # @!attribute item
14
14
  #
15
- # @return [OpenAI::Models::Live::DecisionItemCreatedEvent::Item]
16
- required :item, -> { OpenAI::Live::DecisionItemCreatedEvent::Item }
15
+ # @return [OpenAI::Models::Live::DecisionStoredUserMessage, OpenAI::Models::Live::DecisionStoredDeveloperMessage, OpenAI::Models::Live::DecisionStoredSystemMessage, OpenAI::Models::Live::DecisionStoredAssistantMessage, OpenAI::Models::Live::DecisionItemCreatedEvent::ItemUnion::FunctionCall, OpenAI::Models::Live::DecisionItemCreatedEvent::ItemUnion::FunctionCallOutput, OpenAI::Models::Live::DecisionItemCreatedEvent::ItemUnion::CustomToolCall, OpenAI::Models::Live::DecisionItemCreatedEvent::ItemUnion::CustomToolCallOutput]
16
+ required :item, union: -> { OpenAI::Live::DecisionItemCreatedEvent::ItemUnion }
17
17
 
18
18
  # @!attribute type
19
19
  #
@@ -33,7 +33,7 @@ module OpenAI
33
33
  # @param event_id [String]
34
34
  # The unique ID of the Live server event.
35
35
  #
36
- # @param item [OpenAI::Models::Live::DecisionItemCreatedEvent::Item]
36
+ # @param item [OpenAI::Models::Live::DecisionStoredUserMessage, OpenAI::Models::Live::DecisionStoredDeveloperMessage, OpenAI::Models::Live::DecisionStoredSystemMessage, OpenAI::Models::Live::DecisionStoredAssistantMessage, OpenAI::Models::Live::DecisionItemCreatedEvent::ItemUnion::FunctionCall, OpenAI::Models::Live::DecisionItemCreatedEvent::ItemUnion::FunctionCallOutput, OpenAI::Models::Live::DecisionItemCreatedEvent::ItemUnion::CustomToolCall, OpenAI::Models::Live::DecisionItemCreatedEvent::ItemUnion::CustomToolCallOutput]
37
37
  #
38
38
  # @param client_event_id [String]
39
39
  # The event_id of the client command associated with this server event, when
@@ -42,160 +42,515 @@ module OpenAI
42
42
  # @param type [Symbol, :"decision.item.created"]
43
43
 
44
44
  # @see OpenAI::Models::Live::DecisionItemCreatedEvent#item
45
- class Item < OpenAI::Internal::Type::BaseModel
46
- # @!attribute id
47
- # The ID of the stored Decision input item.
48
- #
49
- # @return [String]
50
- required :id, String
51
-
52
- # @!attribute content
53
- # The text input to the model.
54
- #
55
- # @return [String, Array<OpenAI::Models::Live::DecisionItemCreatedEvent::Item::Content::Part::InputText, OpenAI::Models::Live::DecisionItemCreatedEvent::Item::Content::Part::InputImage>]
56
- required :content, union: -> { OpenAI::Live::DecisionItemCreatedEvent::Item::Content }
57
-
58
- # @!attribute role
59
- # The message role. Always `user`.
60
- #
61
- # @return [Symbol, :user]
62
- required :role, const: :user
63
-
64
- # @!attribute type
65
- #
66
- # @return [Symbol, OpenAI::Models::Live::DecisionItemCreatedEvent::Item::Type, nil]
67
- optional :type, enum: -> { OpenAI::Live::DecisionItemCreatedEvent::Item::Type }
68
-
69
- # @!method initialize(id:, content:, type: nil, role: :user)
70
- # @param id [String]
71
- # The ID of the stored Decision input item.
72
- #
73
- # @param content [String, Array<OpenAI::Models::Live::DecisionItemCreatedEvent::Item::Content::Part::InputText, OpenAI::Models::Live::DecisionItemCreatedEvent::Item::Content::Part::InputImage>]
74
- # The text input to the model.
75
- #
76
- # @param type [Symbol, OpenAI::Models::Live::DecisionItemCreatedEvent::Item::Type]
77
- #
78
- # @param role [Symbol, :user]
79
- # The message role. Always `user`.
80
-
81
- # The text input to the model.
82
- #
83
- # @see OpenAI::Models::Live::DecisionItemCreatedEvent::Item#content
84
- module Content
45
+ module ItemUnion
46
+ extend OpenAI::Internal::Type::Union
47
+
48
+ discriminator :type
49
+
50
+ variant :message, -> { OpenAI::Live::DecisionItemCreatedEvent::ItemUnion::Message }
51
+
52
+ variant :function_call, -> { OpenAI::Live::DecisionItemCreatedEvent::ItemUnion::FunctionCall }
53
+
54
+ variant :function_call_output, -> { OpenAI::Live::DecisionItemCreatedEvent::ItemUnion::FunctionCallOutput }
55
+
56
+ variant :custom_tool_call, -> { OpenAI::Live::DecisionItemCreatedEvent::ItemUnion::CustomToolCall }
57
+
58
+ variant(
59
+ :custom_tool_call_output,
60
+ -> { OpenAI::Live::DecisionItemCreatedEvent::ItemUnion::CustomToolCallOutput }
61
+ )
62
+
63
+ # @api private
64
+ module Message
85
65
  extend OpenAI::Internal::Type::Union
66
+ discriminator :role
86
67
 
87
- # The text input to the model.
88
- variant String
68
+ variant :user, -> { OpenAI::Live::DecisionStoredUserMessage }
89
69
 
90
- variant -> { OpenAI::Models::Live::DecisionItemCreatedEvent::Item::Content::PartsArray }
70
+ variant :developer, -> { OpenAI::Live::DecisionStoredDeveloperMessage }
91
71
 
92
- module Part
93
- extend OpenAI::Internal::Type::Union
72
+ variant :system, -> { OpenAI::Live::DecisionStoredSystemMessage }
94
73
 
95
- discriminator :type
74
+ variant :assistant, -> { OpenAI::Live::DecisionStoredAssistantMessage }
75
+ end
96
76
 
97
- variant :input_text, -> { OpenAI::Live::DecisionItemCreatedEvent::Item::Content::Part::InputText }
77
+ class FunctionCall < OpenAI::Internal::Type::BaseModel
78
+ # @!attribute id
79
+ #
80
+ # @return [String]
81
+ required :id, String
82
+
83
+ # @!attribute arguments
84
+ # The function arguments as a JSON string.
85
+ #
86
+ # @return [String]
87
+ required :arguments, String
88
+
89
+ # @!attribute call_id
90
+ # The unique ID of the function tool call generated by the model.
91
+ #
92
+ # @return [String]
93
+ required :call_id, String
94
+
95
+ # @!attribute name
96
+ #
97
+ # @return [String]
98
+ required :name, String
99
+
100
+ # @!attribute type
101
+ # The item type. Always `function_call`.
102
+ #
103
+ # @return [Symbol, :function_call]
104
+ required :type, const: :function_call
105
+
106
+ # @!attribute namespace
107
+ # The namespace of the function to call.
108
+ #
109
+ # @return [String, nil]
110
+ optional :namespace, String, nil?: true
111
+
112
+ # @!attribute status
113
+ #
114
+ # @return [Symbol, OpenAI::Models::Live::DecisionItemCreatedEvent::ItemUnion::FunctionCall::Status, nil]
115
+ optional(
116
+ :status,
117
+ enum: -> { OpenAI::Live::DecisionItemCreatedEvent::ItemUnion::FunctionCall::Status },
118
+ nil?: true
119
+ )
120
+
121
+ # @!method initialize(id:, arguments:, call_id:, name:, namespace: nil, status: nil, type: :function_call)
122
+ # @param id [String]
123
+ #
124
+ # @param arguments [String]
125
+ # The function arguments as a JSON string.
126
+ #
127
+ # @param call_id [String]
128
+ # The unique ID of the function tool call generated by the model.
129
+ #
130
+ # @param name [String]
131
+ #
132
+ # @param namespace [String, nil]
133
+ # The namespace of the function to call.
134
+ #
135
+ # @param status [Symbol, OpenAI::Models::Live::DecisionItemCreatedEvent::ItemUnion::FunctionCall::Status, nil]
136
+ #
137
+ # @param type [Symbol, :function_call]
138
+ # The item type. Always `function_call`.
139
+
140
+ # @see OpenAI::Models::Live::DecisionItemCreatedEvent::ItemUnion::FunctionCall#status
141
+ module Status
142
+ extend OpenAI::Internal::Type::Enum
143
+
144
+ IN_PROGRESS = :in_progress
145
+ COMPLETED = :completed
146
+ INCOMPLETE = :incomplete
147
+
148
+ # @!method self.values
149
+ # @return [Array<Symbol>]
150
+ end
151
+ end
98
152
 
99
- variant :input_image, -> { OpenAI::Live::DecisionItemCreatedEvent::Item::Content::Part::InputImage }
153
+ class FunctionCallOutput < OpenAI::Internal::Type::BaseModel
154
+ # @!attribute id
155
+ #
156
+ # @return [String]
157
+ required :id, String
158
+
159
+ # @!attribute call_id
160
+ # The unique ID of the function tool call generated by the model.
161
+ #
162
+ # @return [String]
163
+ required :call_id, String
164
+
165
+ # @!attribute output
166
+ # The text input to the model.
167
+ #
168
+ # @return [String, Array<OpenAI::Models::Live::DecisionInputText, OpenAI::Models::Live::DecisionItemCreatedEvent::ItemUnion::FunctionCallOutput::Output::Part::InputImage>]
169
+ required(
170
+ :output,
171
+ union: -> { OpenAI::Live::DecisionItemCreatedEvent::ItemUnion::FunctionCallOutput::Output }
172
+ )
173
+
174
+ # @!attribute type
175
+ # The type of the function tool call output. Always `function_call_output`.
176
+ #
177
+ # @return [Symbol, :function_call_output]
178
+ required :type, const: :function_call_output
179
+
180
+ # @!attribute status
181
+ #
182
+ # @return [Symbol, OpenAI::Models::Live::DecisionItemCreatedEvent::ItemUnion::FunctionCallOutput::Status, nil]
183
+ optional(
184
+ :status,
185
+ enum: -> { OpenAI::Live::DecisionItemCreatedEvent::ItemUnion::FunctionCallOutput::Status },
186
+ nil?: true
187
+ )
188
+
189
+ # @!method initialize(id:, call_id:, output:, status: nil, type: :function_call_output)
190
+ # @param id [String]
191
+ #
192
+ # @param call_id [String]
193
+ # The unique ID of the function tool call generated by the model.
194
+ #
195
+ # @param output [String, Array<OpenAI::Models::Live::DecisionInputText, OpenAI::Models::Live::DecisionItemCreatedEvent::ItemUnion::FunctionCallOutput::Output::Part::InputImage>]
196
+ # The text input to the model.
197
+ #
198
+ # @param status [Symbol, OpenAI::Models::Live::DecisionItemCreatedEvent::ItemUnion::FunctionCallOutput::Status, nil]
199
+ #
200
+ # @param type [Symbol, :function_call_output]
201
+ # The type of the function tool call output. Always `function_call_output`.
100
202
 
101
- class InputText < OpenAI::Internal::Type::BaseModel
102
- # @!attribute text
103
- # The text input to the model.
104
- #
105
- # @return [String]
106
- required :text, String
203
+ # The text input to the model.
204
+ #
205
+ # @see OpenAI::Models::Live::DecisionItemCreatedEvent::ItemUnion::FunctionCallOutput#output
206
+ module Output
207
+ extend OpenAI::Internal::Type::Union
107
208
 
108
- # @!attribute type
109
- # The type of the input item. Always `input_text`.
110
- #
111
- # @return [Symbol, :input_text]
112
- required :type, const: :input_text
209
+ # The text input to the model.
210
+ variant String
113
211
 
114
- # @!method initialize(text:, type: :input_text)
115
- # @param text [String]
116
- # The text input to the model.
117
- #
118
- # @param type [Symbol, :input_text]
119
- # The type of the input item. Always `input_text`.
120
- end
212
+ variant(
213
+ -> {
214
+ OpenAI::Models::Live::DecisionItemCreatedEvent::ItemUnion::FunctionCallOutput::Output::PartsArray
215
+ }
216
+ )
217
+
218
+ module Part
219
+ extend OpenAI::Internal::Type::Union
220
+
221
+ discriminator :type
222
+
223
+ variant :input_text, -> { OpenAI::Live::DecisionInputText }
121
224
 
122
- class InputImage < OpenAI::Internal::Type::BaseModel
123
- # @!attribute image_url
124
- # An inline image encoded as a data URL.
125
- #
126
- # @return [String]
127
- required :image_url, String
128
-
129
- # @!attribute type
130
- # The type of the input item. Always `input_image`.
131
- #
132
- # @return [Symbol, :input_image]
133
- required :type, const: :input_image
134
-
135
- # @!attribute detail
136
- # The detail level of the image to be sent to the model. One of `high`, `low`,
137
- # `auto`, or `original`. Defaults to `auto`.
138
- #
139
- # @return [Symbol, OpenAI::Models::Live::DecisionItemCreatedEvent::Item::Content::Part::InputImage::Detail, nil]
140
- optional(
141
- :detail,
142
- enum: -> {
143
- OpenAI::Live::DecisionItemCreatedEvent::Item::Content::Part::InputImage::Detail
144
- },
145
- nil?: true
225
+ variant(
226
+ :input_image,
227
+ -> {
228
+ OpenAI::Live::DecisionItemCreatedEvent::ItemUnion::FunctionCallOutput::Output::Part::InputImage
229
+ }
146
230
  )
147
231
 
148
- # @!method initialize(image_url:, detail: nil, type: :input_image)
149
- # @param image_url [String]
150
- # An inline image encoded as a data URL.
151
- #
152
- # @param detail [Symbol, OpenAI::Models::Live::DecisionItemCreatedEvent::Item::Content::Part::InputImage::Detail, nil]
153
- # The detail level of the image to be sent to the model. One of `high`, `low`,
154
- # `auto`, or `original`. Defaults to `auto`.
155
- #
156
- # @param type [Symbol, :input_image]
157
- # The type of the input item. Always `input_image`.
158
-
159
- # The detail level of the image to be sent to the model. One of `high`, `low`,
160
- # `auto`, or `original`. Defaults to `auto`.
161
- #
162
- # @see OpenAI::Models::Live::DecisionItemCreatedEvent::Item::Content::Part::InputImage#detail
163
- module Detail
164
- extend OpenAI::Internal::Type::Enum
165
-
166
- LOW = :low
167
- HIGH = :high
168
- AUTO = :auto
169
- ORIGINAL = :original
170
-
171
- # @!method self.values
172
- # @return [Array<Symbol>]
232
+ class InputImage < OpenAI::Internal::Type::BaseModel
233
+ # @!attribute image_url
234
+ # A base64-encoded image data URL or a publicly accessible HTTP(S) image URL.
235
+ #
236
+ # @return [String]
237
+ required :image_url, String
238
+
239
+ # @!attribute type
240
+ #
241
+ # @return [Symbol, :input_image]
242
+ required :type, const: :input_image
243
+
244
+ # @!attribute detail
245
+ # The detail level of the image to be sent to the model. One of `high`, `low`,
246
+ # `auto`, or `original`. Defaults to `auto`.
247
+ #
248
+ # @return [Symbol, OpenAI::Models::Live::DecisionItemCreatedEvent::ItemUnion::FunctionCallOutput::Output::Part::InputImage::Detail, nil]
249
+ optional(
250
+ :detail,
251
+ enum: -> {
252
+ OpenAI::Live::DecisionItemCreatedEvent::ItemUnion::FunctionCallOutput::Output::Part::InputImage::Detail
253
+ },
254
+ nil?: true
255
+ )
256
+
257
+ # @!method initialize(image_url:, detail: nil, type: :input_image)
258
+ # @param image_url [String]
259
+ # A base64-encoded image data URL or a publicly accessible HTTP(S) image URL.
260
+ #
261
+ # @param detail [Symbol, OpenAI::Models::Live::DecisionItemCreatedEvent::ItemUnion::FunctionCallOutput::Output::Part::InputImage::Detail, nil]
262
+ # The detail level of the image to be sent to the model. One of `high`, `low`,
263
+ # `auto`, or `original`. Defaults to `auto`.
264
+ #
265
+ # @param type [Symbol, :input_image]
266
+
267
+ # The detail level of the image to be sent to the model. One of `high`, `low`,
268
+ # `auto`, or `original`. Defaults to `auto`.
269
+ #
270
+ # @see OpenAI::Models::Live::DecisionItemCreatedEvent::ItemUnion::FunctionCallOutput::Output::Part::InputImage#detail
271
+ module Detail
272
+ extend OpenAI::Internal::Type::Enum
273
+
274
+ LOW = :low
275
+ HIGH = :high
276
+ AUTO = :auto
277
+ ORIGINAL = :original
278
+
279
+ # @!method self.values
280
+ # @return [Array<Symbol>]
281
+ end
173
282
  end
283
+
284
+ # @!method self.variants
285
+ # @return [Array(OpenAI::Models::Live::DecisionInputText, OpenAI::Models::Live::DecisionItemCreatedEvent::ItemUnion::FunctionCallOutput::Output::Part::InputImage)]
174
286
  end
175
287
 
176
288
  # @!method self.variants
177
- # @return [Array(OpenAI::Models::Live::DecisionItemCreatedEvent::Item::Content::Part::InputText, OpenAI::Models::Live::DecisionItemCreatedEvent::Item::Content::Part::InputImage)]
289
+ # @return [Array(String, Array<OpenAI::Models::Live::DecisionInputText, OpenAI::Models::Live::DecisionItemCreatedEvent::ItemUnion::FunctionCallOutput::Output::Part::InputImage>)]
290
+
291
+ # @type [OpenAI::Internal::Type::Converter]
292
+ PartsArray = OpenAI::Internal::Type::ArrayOf[
293
+ union: -> {
294
+ OpenAI::Live::DecisionItemCreatedEvent::ItemUnion::FunctionCallOutput::Output::Part
295
+ }
296
+ ]
178
297
  end
179
298
 
180
- # @!method self.variants
181
- # @return [Array(String, Array<OpenAI::Models::Live::DecisionItemCreatedEvent::Item::Content::Part::InputText, OpenAI::Models::Live::DecisionItemCreatedEvent::Item::Content::Part::InputImage>)]
299
+ # @see OpenAI::Models::Live::DecisionItemCreatedEvent::ItemUnion::FunctionCallOutput#status
300
+ module Status
301
+ extend OpenAI::Internal::Type::Enum
302
+
303
+ IN_PROGRESS = :in_progress
304
+ COMPLETED = :completed
305
+ INCOMPLETE = :incomplete
306
+
307
+ # @!method self.values
308
+ # @return [Array<Symbol>]
309
+ end
310
+ end
182
311
 
183
- # @type [OpenAI::Internal::Type::Converter]
184
- PartsArray = OpenAI::Internal::Type::ArrayOf[
185
- union: -> { OpenAI::Live::DecisionItemCreatedEvent::Item::Content::Part }
186
- ]
312
+ class CustomToolCall < OpenAI::Internal::Type::BaseModel
313
+ # @!attribute id
314
+ #
315
+ # @return [String]
316
+ required :id, String
317
+
318
+ # @!attribute call_id
319
+ # The unique ID of the function tool call generated by the model.
320
+ #
321
+ # @return [String]
322
+ required :call_id, String
323
+
324
+ # @!attribute input
325
+ # The input to the custom tool call.
326
+ #
327
+ # @return [String]
328
+ required :input, String
329
+
330
+ # @!attribute name
331
+ # The name of the custom tool to call.
332
+ #
333
+ # @return [String]
334
+ required :name, String
335
+
336
+ # @!attribute type
337
+ # The item type. Always `custom_tool_call`.
338
+ #
339
+ # @return [Symbol, :custom_tool_call]
340
+ required :type, const: :custom_tool_call
341
+
342
+ # @!attribute namespace
343
+ # The namespace of the function to call.
344
+ #
345
+ # @return [String, nil]
346
+ optional :namespace, String, nil?: true
347
+
348
+ # @!attribute status
349
+ #
350
+ # @return [Symbol, OpenAI::Models::Live::DecisionItemCreatedEvent::ItemUnion::CustomToolCall::Status, nil]
351
+ optional(
352
+ :status,
353
+ enum: -> { OpenAI::Live::DecisionItemCreatedEvent::ItemUnion::CustomToolCall::Status },
354
+ nil?: true
355
+ )
356
+
357
+ # @!method initialize(id:, call_id:, input:, name:, namespace: nil, status: nil, type: :custom_tool_call)
358
+ # @param id [String]
359
+ #
360
+ # @param call_id [String]
361
+ # The unique ID of the function tool call generated by the model.
362
+ #
363
+ # @param input [String]
364
+ # The input to the custom tool call.
365
+ #
366
+ # @param name [String]
367
+ # The name of the custom tool to call.
368
+ #
369
+ # @param namespace [String, nil]
370
+ # The namespace of the function to call.
371
+ #
372
+ # @param status [Symbol, OpenAI::Models::Live::DecisionItemCreatedEvent::ItemUnion::CustomToolCall::Status, nil]
373
+ #
374
+ # @param type [Symbol, :custom_tool_call]
375
+ # The item type. Always `custom_tool_call`.
376
+
377
+ # @see OpenAI::Models::Live::DecisionItemCreatedEvent::ItemUnion::CustomToolCall#status
378
+ module Status
379
+ extend OpenAI::Internal::Type::Enum
380
+
381
+ IN_PROGRESS = :in_progress
382
+ COMPLETED = :completed
383
+ INCOMPLETE = :incomplete
384
+
385
+ # @!method self.values
386
+ # @return [Array<Symbol>]
387
+ end
187
388
  end
188
389
 
189
- # @see OpenAI::Models::Live::DecisionItemCreatedEvent::Item#type
190
- module Type
191
- extend OpenAI::Internal::Type::Enum
390
+ class CustomToolCallOutput < OpenAI::Internal::Type::BaseModel
391
+ # @!attribute id
392
+ #
393
+ # @return [String]
394
+ required :id, String
395
+
396
+ # @!attribute call_id
397
+ # The unique ID of the function tool call generated by the model.
398
+ #
399
+ # @return [String]
400
+ required :call_id, String
401
+
402
+ # @!attribute output
403
+ # The text input to the model.
404
+ #
405
+ # @return [String, Array<OpenAI::Models::Live::DecisionInputText, OpenAI::Models::Live::DecisionItemCreatedEvent::ItemUnion::CustomToolCallOutput::Output::Part::InputImage>]
406
+ required(
407
+ :output,
408
+ union: -> { OpenAI::Live::DecisionItemCreatedEvent::ItemUnion::CustomToolCallOutput::Output }
409
+ )
410
+
411
+ # @!attribute type
412
+ #
413
+ # @return [Symbol, :custom_tool_call_output]
414
+ required :type, const: :custom_tool_call_output
415
+
416
+ # @!attribute status
417
+ #
418
+ # @return [Symbol, OpenAI::Models::Live::DecisionItemCreatedEvent::ItemUnion::CustomToolCallOutput::Status, nil]
419
+ optional(
420
+ :status,
421
+ enum: -> { OpenAI::Live::DecisionItemCreatedEvent::ItemUnion::CustomToolCallOutput::Status },
422
+ nil?: true
423
+ )
424
+
425
+ # @!method initialize(id:, call_id:, output:, status: nil, type: :custom_tool_call_output)
426
+ # @param id [String]
427
+ #
428
+ # @param call_id [String]
429
+ # The unique ID of the function tool call generated by the model.
430
+ #
431
+ # @param output [String, Array<OpenAI::Models::Live::DecisionInputText, OpenAI::Models::Live::DecisionItemCreatedEvent::ItemUnion::CustomToolCallOutput::Output::Part::InputImage>]
432
+ # The text input to the model.
433
+ #
434
+ # @param status [Symbol, OpenAI::Models::Live::DecisionItemCreatedEvent::ItemUnion::CustomToolCallOutput::Status, nil]
435
+ #
436
+ # @param type [Symbol, :custom_tool_call_output]
437
+
438
+ # The text input to the model.
439
+ #
440
+ # @see OpenAI::Models::Live::DecisionItemCreatedEvent::ItemUnion::CustomToolCallOutput#output
441
+ module Output
442
+ extend OpenAI::Internal::Type::Union
443
+
444
+ # The text input to the model.
445
+ variant String
446
+
447
+ variant(
448
+ -> {
449
+ OpenAI::Models::Live::DecisionItemCreatedEvent::ItemUnion::CustomToolCallOutput::Output::PartsArray
450
+ }
451
+ )
192
452
 
193
- MESSAGE = :message
453
+ module Part
454
+ extend OpenAI::Internal::Type::Union
455
+
456
+ discriminator :type
457
+
458
+ variant :input_text, -> { OpenAI::Live::DecisionInputText }
459
+
460
+ variant(
461
+ :input_image,
462
+ -> {
463
+ OpenAI::Live::DecisionItemCreatedEvent::ItemUnion::CustomToolCallOutput::Output::Part::InputImage
464
+ }
465
+ )
466
+
467
+ class InputImage < OpenAI::Internal::Type::BaseModel
468
+ # @!attribute image_url
469
+ # A base64-encoded image data URL or a publicly accessible HTTP(S) image URL.
470
+ #
471
+ # @return [String]
472
+ required :image_url, String
473
+
474
+ # @!attribute type
475
+ #
476
+ # @return [Symbol, :input_image]
477
+ required :type, const: :input_image
478
+
479
+ # @!attribute detail
480
+ # The detail level of the image to be sent to the model. One of `high`, `low`,
481
+ # `auto`, or `original`. Defaults to `auto`.
482
+ #
483
+ # @return [Symbol, OpenAI::Models::Live::DecisionItemCreatedEvent::ItemUnion::CustomToolCallOutput::Output::Part::InputImage::Detail, nil]
484
+ optional(
485
+ :detail,
486
+ enum: -> {
487
+ OpenAI::Live::DecisionItemCreatedEvent::ItemUnion::CustomToolCallOutput::Output::Part::InputImage::Detail
488
+ },
489
+ nil?: true
490
+ )
491
+
492
+ # @!method initialize(image_url:, detail: nil, type: :input_image)
493
+ # @param image_url [String]
494
+ # A base64-encoded image data URL or a publicly accessible HTTP(S) image URL.
495
+ #
496
+ # @param detail [Symbol, OpenAI::Models::Live::DecisionItemCreatedEvent::ItemUnion::CustomToolCallOutput::Output::Part::InputImage::Detail, nil]
497
+ # The detail level of the image to be sent to the model. One of `high`, `low`,
498
+ # `auto`, or `original`. Defaults to `auto`.
499
+ #
500
+ # @param type [Symbol, :input_image]
501
+
502
+ # The detail level of the image to be sent to the model. One of `high`, `low`,
503
+ # `auto`, or `original`. Defaults to `auto`.
504
+ #
505
+ # @see OpenAI::Models::Live::DecisionItemCreatedEvent::ItemUnion::CustomToolCallOutput::Output::Part::InputImage#detail
506
+ module Detail
507
+ extend OpenAI::Internal::Type::Enum
508
+
509
+ LOW = :low
510
+ HIGH = :high
511
+ AUTO = :auto
512
+ ORIGINAL = :original
513
+
514
+ # @!method self.values
515
+ # @return [Array<Symbol>]
516
+ end
517
+ end
194
518
 
195
- # @!method self.values
196
- # @return [Array<Symbol>]
519
+ # @!method self.variants
520
+ # @return [Array(OpenAI::Models::Live::DecisionInputText, OpenAI::Models::Live::DecisionItemCreatedEvent::ItemUnion::CustomToolCallOutput::Output::Part::InputImage)]
521
+ end
522
+
523
+ # @!method self.variants
524
+ # @return [Array(String, Array<OpenAI::Models::Live::DecisionInputText, OpenAI::Models::Live::DecisionItemCreatedEvent::ItemUnion::CustomToolCallOutput::Output::Part::InputImage>)]
525
+
526
+ # @type [OpenAI::Internal::Type::Converter]
527
+ PartsArray = OpenAI::Internal::Type::ArrayOf[
528
+ union: -> {
529
+ OpenAI::Live::DecisionItemCreatedEvent::ItemUnion::CustomToolCallOutput::Output::Part
530
+ }
531
+ ]
532
+ end
533
+
534
+ # @see OpenAI::Models::Live::DecisionItemCreatedEvent::ItemUnion::CustomToolCallOutput#status
535
+ module Status
536
+ extend OpenAI::Internal::Type::Enum
537
+
538
+ IN_PROGRESS = :in_progress
539
+ COMPLETED = :completed
540
+ INCOMPLETE = :incomplete
541
+
542
+ # @!method self.values
543
+ # @return [Array<Symbol>]
544
+ end
197
545
  end
546
+
547
+ # @!method self.variants
548
+ # @return [Array(OpenAI::Models::Live::DecisionStoredUserMessage, OpenAI::Models::Live::DecisionStoredDeveloperMessage, OpenAI::Models::Live::DecisionStoredSystemMessage, OpenAI::Models::Live::DecisionStoredAssistantMessage, OpenAI::Models::Live::DecisionItemCreatedEvent::ItemUnion::FunctionCall, OpenAI::Models::Live::DecisionItemCreatedEvent::ItemUnion::FunctionCallOutput, OpenAI::Models::Live::DecisionItemCreatedEvent::ItemUnion::CustomToolCall, OpenAI::Models::Live::DecisionItemCreatedEvent::ItemUnion::CustomToolCallOutput)]
198
549
  end
550
+
551
+ require_relative "decision_stored_user_message"
552
+
553
+ Item = ::OpenAI::Models::Live::DecisionStoredUserMessage
199
554
  end
200
555
  end
201
556
  end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Live
6
+ # @type [OpenAI::Internal::Type::Converter]
7
+ DecisionJSONObject = OpenAI::Internal::Type::HashOf[OpenAI::Internal::Type::Unknown]
8
+ end
9
+ end
10
+ end