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
@@ -33,188 +33,25 @@ module OpenAI
33
33
  }
34
34
 
35
35
  type decisions =
36
- {
37
- questions: ::Array[OpenAI::Models::Live::DecisionTrigger::Decisions::question]
38
- }
36
+ { questions: ::Array[OpenAI::Models::Live::decision_question] }
39
37
 
40
38
  class Decisions < OpenAI::Internal::Type::BaseModel
39
+ type question = ::OpenAI::Models::Live::decision_question
40
+
41
+ module Question = ::OpenAI::Models::Live::DecisionQuestion
42
+
41
43
  # Native Decision API questions evaluated together, in order.
42
- attr_accessor questions: ::Array[OpenAI::Models::Live::DecisionTrigger::Decisions::question]
44
+ attr_accessor questions: ::Array[OpenAI::Models::Live::decision_question]
43
45
 
44
46
  # @param questions
45
47
  # Native Decision API questions evaluated together, in order.
46
48
  def initialize: (
47
- questions: ::Array[OpenAI::Models::Live::DecisionTrigger::Decisions::question]
49
+ questions: ::Array[OpenAI::Models::Live::decision_question]
48
50
  ) -> void
49
51
 
50
52
  def to_hash: -> {
51
- questions: ::Array[OpenAI::Models::Live::DecisionTrigger::Decisions::question]
53
+ questions: ::Array[OpenAI::Models::Live::decision_question]
52
54
  }
53
-
54
- type question =
55
- OpenAI::Live::DecisionTrigger::Decisions::Question::Predicate
56
- | OpenAI::Live::DecisionTrigger::Decisions::Question::Choice
57
- | OpenAI::Live::DecisionTrigger::Decisions::Question::Score
58
-
59
- module Question
60
- extend OpenAI::Internal::Type::Union
61
-
62
- type predicate =
63
- { instructions: String, ?type: :predicate, ?name: String }
64
-
65
- class Predicate < OpenAI::Internal::Type::BaseModel
66
- attr_accessor instructions: String
67
-
68
- # The type of the object. Always `predicate`.
69
- attr_accessor type: :predicate
70
-
71
- attr_reader name: String?
72
-
73
- def name=: (String) -> String
74
-
75
- # @param type
76
- # The type of the object. Always `predicate`.
77
- def initialize: (
78
- instructions: String,
79
- ?name: String,
80
- ?type: :predicate
81
- ) -> void
82
-
83
- def to_hash: -> {
84
- instructions: String,
85
- ?type: :predicate,
86
- ?name: String
87
- }
88
- end
89
-
90
- type choice =
91
- {
92
- choices: ::Array[OpenAI::Live::DecisionTrigger::Decisions::Question::Choice::Choice],
93
- instructions: String,
94
- ?type: :choice,
95
- ?name: String
96
- }
97
-
98
- class Choice < OpenAI::Internal::Type::BaseModel
99
- # Provide between 2 and 255 choices. Each choice must be unique.
100
- attr_accessor choices: ::Array[OpenAI::Live::DecisionTrigger::Decisions::Question::Choice::Choice]
101
-
102
- attr_accessor instructions: String
103
-
104
- # The type of the object. Always `choice`.
105
- attr_accessor type: :choice
106
-
107
- attr_reader name: String?
108
-
109
- def name=: (String) -> String
110
-
111
- # @param choices
112
- # Provide between 2 and 255 choices. Each choice must be unique.
113
- # @param type
114
- # The type of the object. Always `choice`.
115
- def initialize: (
116
- choices: ::Array[OpenAI::Live::DecisionTrigger::Decisions::Question::Choice::Choice],
117
- instructions: String,
118
- ?name: String,
119
- ?type: :choice
120
- ) -> void
121
-
122
- def to_hash: -> {
123
- choices: ::Array[OpenAI::Live::DecisionTrigger::Decisions::Question::Choice::Choice],
124
- instructions: String,
125
- ?type: :choice,
126
- ?name: String
127
- }
128
-
129
- type choice =
130
- {
131
- value: OpenAI::Models::Live::DecisionTrigger::Decisions::Question::Choice::Choice::value,
132
- ?description: String
133
- }
134
-
135
- class Choice < OpenAI::Internal::Type::BaseModel
136
- # Choice values are typed: a string and a boolean with the same text are distinct.
137
- attr_accessor value: OpenAI::Models::Live::DecisionTrigger::Decisions::Question::Choice::Choice::value
138
-
139
- attr_reader description: String?
140
-
141
- def description=: (String) -> String
142
-
143
- # @param value
144
- # Choice values are typed: a string and a boolean with the same text are distinct.
145
- def initialize: (
146
- value: OpenAI::Models::Live::DecisionTrigger::Decisions::Question::Choice::Choice::value,
147
- ?description: String
148
- ) -> void
149
-
150
- def to_hash: -> {
151
- value: OpenAI::Models::Live::DecisionTrigger::Decisions::Question::Choice::Choice::value,
152
- ?description: String
153
- }
154
-
155
- type value = String | bool
156
-
157
- module Value
158
- extend OpenAI::Internal::Type::Union
159
-
160
- def self?.variants: -> ::Array[OpenAI::Models::Live::DecisionTrigger::Decisions::Question::Choice::Choice::value]
161
- end
162
- end
163
- end
164
-
165
- type score =
166
- {
167
- instructions: String,
168
- levels: ::Array[OpenAI::Live::DecisionTrigger::Decisions::Question::Score::Level],
169
- ?type: :score,
170
- ?name: String
171
- }
172
-
173
- class Score < OpenAI::Internal::Type::BaseModel
174
- attr_accessor instructions: String
175
-
176
- attr_accessor levels: ::Array[OpenAI::Live::DecisionTrigger::Decisions::Question::Score::Level]
177
-
178
- # The type of the object. Always `score`.
179
- attr_accessor type: :score
180
-
181
- attr_reader name: String?
182
-
183
- def name=: (String) -> String
184
-
185
- # @param type
186
- # The type of the object. Always `score`.
187
- def initialize: (
188
- instructions: String,
189
- levels: ::Array[OpenAI::Live::DecisionTrigger::Decisions::Question::Score::Level],
190
- ?name: String,
191
- ?type: :score
192
- ) -> void
193
-
194
- def to_hash: -> {
195
- instructions: String,
196
- levels: ::Array[OpenAI::Live::DecisionTrigger::Decisions::Question::Score::Level],
197
- ?type: :score,
198
- ?name: String
199
- }
200
-
201
- type level = { label: String, ?description: String }
202
-
203
- class Level < OpenAI::Internal::Type::BaseModel
204
- attr_accessor label: String
205
-
206
- attr_reader description: String?
207
-
208
- def description=: (String) -> String
209
-
210
- def initialize: (label: String, ?description: String) -> void
211
-
212
- def to_hash: -> { label: String, ?description: String }
213
- end
214
- end
215
-
216
- def self?.variants: -> ::Array[OpenAI::Models::Live::DecisionTrigger::Decisions::question]
217
- end
218
55
  end
219
56
 
220
57
  type event_type =
@@ -0,0 +1,180 @@
1
+ module OpenAI
2
+ module Models
3
+ module Live
4
+ type decision_user_message =
5
+ {
6
+ content: OpenAI::Models::Live::DecisionUserMessage::content,
7
+ ?role: :user,
8
+ ?id: String?,
9
+ ?type: OpenAI::Models::Live::DecisionUserMessage::type_
10
+ }
11
+
12
+ class DecisionUserMessage < OpenAI::Internal::Type::BaseModel
13
+ # The text input to the model.
14
+ attr_accessor content: OpenAI::Models::Live::DecisionUserMessage::content
15
+
16
+ # The message role. Always `user`.
17
+ attr_accessor role: :user
18
+
19
+ # The unique ID of this message item.
20
+ attr_accessor id: String?
21
+
22
+ attr_reader type: OpenAI::Models::Live::DecisionUserMessage::type_?
23
+
24
+ def type=: (
25
+ OpenAI::Models::Live::DecisionUserMessage::type_
26
+ ) -> OpenAI::Models::Live::DecisionUserMessage::type_
27
+
28
+ # @param content
29
+ # The text input to the model.
30
+ # @param id
31
+ # The unique ID of this message item.
32
+ # @param role
33
+ # The message role. Always `user`.
34
+ def initialize: (
35
+ content: OpenAI::Models::Live::DecisionUserMessage::content,
36
+ ?id: String?,
37
+ ?type: OpenAI::Models::Live::DecisionUserMessage::type_,
38
+ ?role: :user
39
+ ) -> void
40
+
41
+ def to_hash: -> {
42
+ content: OpenAI::Models::Live::DecisionUserMessage::content,
43
+ ?role: :user,
44
+ ?id: String?,
45
+ ?type: OpenAI::Models::Live::DecisionUserMessage::type_
46
+ }
47
+
48
+ type content =
49
+ String
50
+ | ::Array[OpenAI::Models::Live::DecisionUserMessage::Content::part]
51
+
52
+ module Content
53
+ extend OpenAI::Internal::Type::Union
54
+
55
+ type part =
56
+ OpenAI::Live::DecisionUserMessage::Content::Part::InputText
57
+ | OpenAI::Live::DecisionUserMessage::Content::Part::InputImage
58
+ | OpenAI::Live::DecisionUserMessage::Content::Part::InputJSON
59
+
60
+ module Part
61
+ extend OpenAI::Internal::Type::Union
62
+
63
+ type input_text = { text: String, ?type: :input_text }
64
+
65
+ class InputText < OpenAI::Internal::Type::BaseModel
66
+ # The text input to the model.
67
+ attr_accessor text: String
68
+
69
+ attr_accessor type: :input_text
70
+
71
+ # @param text
72
+ # The text input to the model.
73
+ def initialize: (text: String, ?type: :input_text) -> void
74
+
75
+ def to_hash: -> { text: String, ?type: :input_text }
76
+ end
77
+
78
+ type input_image =
79
+ {
80
+ image_url: String,
81
+ ?type: :input_image,
82
+ ?detail: OpenAI::Models::Live::DecisionUserMessage::Content::Part::InputImage::detail?
83
+ }
84
+
85
+ class InputImage < OpenAI::Internal::Type::BaseModel
86
+ # A base64-encoded image data URL or a publicly accessible HTTP(S) image URL.
87
+ attr_accessor image_url: String
88
+
89
+ attr_accessor type: :input_image
90
+
91
+ # The detail level of the image to be sent to the model. One of `high`, `low`,
92
+ # `auto`, or `original`. Defaults to `auto`.
93
+ attr_accessor detail: OpenAI::Models::Live::DecisionUserMessage::Content::Part::InputImage::detail?
94
+
95
+ # @param image_url
96
+ # A base64-encoded image data URL or a publicly accessible HTTP(S) image URL.
97
+ # @param detail
98
+ # The detail level of the image to be sent to the model. One of `high`, `low`,
99
+ # `auto`, or `original`. Defaults to `auto`.
100
+ def initialize: (
101
+ image_url: String,
102
+ ?detail: OpenAI::Models::Live::DecisionUserMessage::Content::Part::InputImage::detail?,
103
+ ?type: :input_image
104
+ ) -> void
105
+
106
+ def to_hash: -> {
107
+ image_url: String,
108
+ ?type: :input_image,
109
+ ?detail: OpenAI::Models::Live::DecisionUserMessage::Content::Part::InputImage::detail?
110
+ }
111
+
112
+ type detail = :low | :high | :auto | :original
113
+
114
+ module Detail
115
+ extend OpenAI::Internal::Type::Enum
116
+
117
+ LOW: :low
118
+ HIGH: :high
119
+ AUTO: :auto
120
+ ORIGINAL: :original
121
+
122
+ def self?.values: -> ::Array[OpenAI::Models::Live::DecisionUserMessage::Content::Part::InputImage::detail]
123
+ end
124
+ end
125
+
126
+ type input_json =
127
+ {
128
+ data: OpenAI::Models::Live::DecisionUserMessage::Content::Part::InputJSON::data,
129
+ ?type: :input_json
130
+ }
131
+
132
+ class InputJSON < OpenAI::Internal::Type::BaseModel
133
+ attr_accessor data: OpenAI::Models::Live::DecisionUserMessage::Content::Part::InputJSON::data
134
+
135
+ attr_accessor type: :input_json
136
+
137
+ def initialize: (
138
+ data: OpenAI::Models::Live::DecisionUserMessage::Content::Part::InputJSON::data,
139
+ ?type: :input_json
140
+ ) -> void
141
+
142
+ def to_hash: -> {
143
+ data: OpenAI::Models::Live::DecisionUserMessage::Content::Part::InputJSON::data,
144
+ ?type: :input_json
145
+ }
146
+
147
+ type data =
148
+ OpenAI::Models::Live::decision_json_object
149
+ | ::Array[OpenAI::Models::Live::decision_json_object]
150
+
151
+ module Data
152
+ extend OpenAI::Internal::Type::Union
153
+
154
+ def self?.variants: -> ::Array[OpenAI::Models::Live::DecisionUserMessage::Content::Part::InputJSON::data]
155
+
156
+ DecisionJSONObjectArray: OpenAI::Internal::Type::Converter
157
+ end
158
+ end
159
+
160
+ def self?.variants: -> ::Array[OpenAI::Models::Live::DecisionUserMessage::Content::part]
161
+ end
162
+
163
+ def self?.variants: -> ::Array[OpenAI::Models::Live::DecisionUserMessage::content]
164
+
165
+ PartsArray: OpenAI::Internal::Type::Converter
166
+ end
167
+
168
+ type type_ = :message
169
+
170
+ module Type
171
+ extend OpenAI::Internal::Type::Enum
172
+
173
+ MESSAGE: :message
174
+
175
+ def self?.values: -> ::Array[OpenAI::Models::Live::DecisionUserMessage::type_]
176
+ end
177
+ end
178
+ end
179
+ end
180
+ end
@@ -4,191 +4,30 @@ module OpenAI
4
4
  type decisions_delegation_config =
5
5
  {
6
6
  model: String,
7
- questions: ::Array[OpenAI::Models::Live::DecisionsDelegationConfig::question]
7
+ questions: ::Array[OpenAI::Models::Live::decision_question]
8
8
  }
9
9
 
10
10
  class DecisionsDelegationConfig < OpenAI::Internal::Type::BaseModel
11
11
  attr_accessor model: String
12
12
 
13
13
  # Native Decision API questions evaluated together, in order.
14
- attr_accessor questions: ::Array[OpenAI::Models::Live::DecisionsDelegationConfig::question]
14
+ attr_accessor questions: ::Array[OpenAI::Models::Live::decision_question]
15
15
 
16
16
  # @param questions
17
17
  # Native Decision API questions evaluated together, in order.
18
18
  def initialize: (
19
19
  model: String,
20
- questions: ::Array[OpenAI::Models::Live::DecisionsDelegationConfig::question]
20
+ questions: ::Array[OpenAI::Models::Live::decision_question]
21
21
  ) -> void
22
22
 
23
23
  def to_hash: -> {
24
24
  model: String,
25
- questions: ::Array[OpenAI::Models::Live::DecisionsDelegationConfig::question]
25
+ questions: ::Array[OpenAI::Models::Live::decision_question]
26
26
  }
27
27
 
28
- type question =
29
- OpenAI::Live::DecisionsDelegationConfig::Question::Predicate
30
- | OpenAI::Live::DecisionsDelegationConfig::Question::Choice
31
- | OpenAI::Live::DecisionsDelegationConfig::Question::Score
28
+ type question = ::OpenAI::Models::Live::decision_question
32
29
 
33
- module Question
34
- extend OpenAI::Internal::Type::Union
35
-
36
- type predicate =
37
- { instructions: String, ?type: :predicate, ?name: String }
38
-
39
- class Predicate < OpenAI::Internal::Type::BaseModel
40
- attr_accessor instructions: String
41
-
42
- # The type of the object. Always `predicate`.
43
- attr_accessor type: :predicate
44
-
45
- attr_reader name: String?
46
-
47
- def name=: (String) -> String
48
-
49
- # @param type
50
- # The type of the object. Always `predicate`.
51
- def initialize: (
52
- instructions: String,
53
- ?name: String,
54
- ?type: :predicate
55
- ) -> void
56
-
57
- def to_hash: -> {
58
- instructions: String,
59
- ?type: :predicate,
60
- ?name: String
61
- }
62
- end
63
-
64
- type choice =
65
- {
66
- choices: ::Array[OpenAI::Live::DecisionsDelegationConfig::Question::Choice::Choice],
67
- instructions: String,
68
- ?type: :choice,
69
- ?name: String
70
- }
71
-
72
- class Choice < OpenAI::Internal::Type::BaseModel
73
- # Provide between 2 and 255 choices. Each choice must be unique.
74
- attr_accessor choices: ::Array[OpenAI::Live::DecisionsDelegationConfig::Question::Choice::Choice]
75
-
76
- attr_accessor instructions: String
77
-
78
- # The type of the object. Always `choice`.
79
- attr_accessor type: :choice
80
-
81
- attr_reader name: String?
82
-
83
- def name=: (String) -> String
84
-
85
- # @param choices
86
- # Provide between 2 and 255 choices. Each choice must be unique.
87
- # @param type
88
- # The type of the object. Always `choice`.
89
- def initialize: (
90
- choices: ::Array[OpenAI::Live::DecisionsDelegationConfig::Question::Choice::Choice],
91
- instructions: String,
92
- ?name: String,
93
- ?type: :choice
94
- ) -> void
95
-
96
- def to_hash: -> {
97
- choices: ::Array[OpenAI::Live::DecisionsDelegationConfig::Question::Choice::Choice],
98
- instructions: String,
99
- ?type: :choice,
100
- ?name: String
101
- }
102
-
103
- type choice =
104
- {
105
- value: OpenAI::Models::Live::DecisionsDelegationConfig::Question::Choice::Choice::value,
106
- ?description: String
107
- }
108
-
109
- class Choice < OpenAI::Internal::Type::BaseModel
110
- # Choice values are typed: a string and a boolean with the same text are distinct.
111
- attr_accessor value: OpenAI::Models::Live::DecisionsDelegationConfig::Question::Choice::Choice::value
112
-
113
- attr_reader description: String?
114
-
115
- def description=: (String) -> String
116
-
117
- # @param value
118
- # Choice values are typed: a string and a boolean with the same text are distinct.
119
- def initialize: (
120
- value: OpenAI::Models::Live::DecisionsDelegationConfig::Question::Choice::Choice::value,
121
- ?description: String
122
- ) -> void
123
-
124
- def to_hash: -> {
125
- value: OpenAI::Models::Live::DecisionsDelegationConfig::Question::Choice::Choice::value,
126
- ?description: String
127
- }
128
-
129
- type value = String | bool
130
-
131
- module Value
132
- extend OpenAI::Internal::Type::Union
133
-
134
- def self?.variants: -> ::Array[OpenAI::Models::Live::DecisionsDelegationConfig::Question::Choice::Choice::value]
135
- end
136
- end
137
- end
138
-
139
- type score =
140
- {
141
- instructions: String,
142
- levels: ::Array[OpenAI::Live::DecisionsDelegationConfig::Question::Score::Level],
143
- ?type: :score,
144
- ?name: String
145
- }
146
-
147
- class Score < OpenAI::Internal::Type::BaseModel
148
- attr_accessor instructions: String
149
-
150
- attr_accessor levels: ::Array[OpenAI::Live::DecisionsDelegationConfig::Question::Score::Level]
151
-
152
- # The type of the object. Always `score`.
153
- attr_accessor type: :score
154
-
155
- attr_reader name: String?
156
-
157
- def name=: (String) -> String
158
-
159
- # @param type
160
- # The type of the object. Always `score`.
161
- def initialize: (
162
- instructions: String,
163
- levels: ::Array[OpenAI::Live::DecisionsDelegationConfig::Question::Score::Level],
164
- ?name: String,
165
- ?type: :score
166
- ) -> void
167
-
168
- def to_hash: -> {
169
- instructions: String,
170
- levels: ::Array[OpenAI::Live::DecisionsDelegationConfig::Question::Score::Level],
171
- ?type: :score,
172
- ?name: String
173
- }
174
-
175
- type level = { label: String, ?description: String }
176
-
177
- class Level < OpenAI::Internal::Type::BaseModel
178
- attr_accessor label: String
179
-
180
- attr_reader description: String?
181
-
182
- def description=: (String) -> String
183
-
184
- def initialize: (label: String, ?description: String) -> void
185
-
186
- def to_hash: -> { label: String, ?description: String }
187
- end
188
- end
189
-
190
- def self?.variants: -> ::Array[OpenAI::Models::Live::DecisionsDelegationConfig::question]
191
- end
30
+ module Question = ::OpenAI::Models::Live::DecisionQuestion
192
31
  end
193
32
  end
194
33
  end