openai 0.111.0 → 0.113.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 (248) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +15 -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.rb +3 -0
  12. data/lib/openai/models/beta/beta_response_input_file.rb +23 -1
  13. data/lib/openai/models/beta/beta_response_input_file_content.rb +23 -1
  14. data/lib/openai/models/beta/beta_response_input_image.rb +23 -1
  15. data/lib/openai/models/beta/beta_response_input_image_content.rb +23 -1
  16. data/lib/openai/models/beta/beta_response_input_text.rb +23 -1
  17. data/lib/openai/models/beta/beta_response_input_text_content.rb +23 -1
  18. data/lib/openai/models/beta/beta_response_item.rb +28 -1
  19. data/lib/openai/models/beta/beta_response_output_item.rb +28 -1
  20. data/lib/openai/models/beta/beta_response_tool_search_output_item_param.rb +26 -15
  21. data/lib/openai/models/beta/beta_responses_client_event.rb +3 -0
  22. data/lib/openai/models/beta/beta_tool.rb +26 -15
  23. data/lib/openai/models/beta/persisted_agent_tool.rb +18 -1
  24. data/lib/openai/models/beta/persisted_agent_tool_param.rb +18 -1
  25. data/lib/openai/models/beta/response_compact_params.rb +3 -0
  26. data/lib/openai/models/beta/response_create_params.rb +3 -0
  27. data/lib/openai/models/chat/chat_completion_content_part.rb +23 -1
  28. data/lib/openai/models/chat/chat_completion_content_part_image.rb +23 -1
  29. data/lib/openai/models/chat/chat_completion_content_part_input_audio.rb +23 -1
  30. data/lib/openai/models/chat/chat_completion_content_part_text.rb +23 -1
  31. data/lib/openai/models/chat_model.rb +1 -0
  32. data/lib/openai/models/conversations/computer_screenshot_content.rb +23 -1
  33. data/lib/openai/models/decision_create_params.rb +8 -4
  34. data/lib/openai/models/image_edit_params.rb +20 -4
  35. data/lib/openai/models/image_generate_params.rb +23 -7
  36. data/lib/openai/models/image_model.rb +2 -0
  37. data/lib/openai/models/live/client_delegation.rb +20 -1
  38. data/lib/openai/models/live/client_event.rb +4 -4
  39. data/lib/openai/models/live/commentary_append_event.rb +1 -1
  40. data/lib/openai/models/live/decision_assistant_message.rb +154 -0
  41. data/lib/openai/models/live/decision_choice_option.rb +35 -0
  42. data/lib/openai/models/live/decision_developer_message.rb +70 -0
  43. data/lib/openai/models/live/decision_input_text.rb +26 -0
  44. data/lib/openai/models/live/decision_item_create_event.rb +490 -131
  45. data/lib/openai/models/live/decision_item_created_event.rb +486 -131
  46. data/lib/openai/models/live/decision_json_object.rb +10 -0
  47. data/lib/openai/models/live/decision_question.rb +172 -0
  48. data/lib/openai/models/live/decision_stored_assistant_message.rb +152 -0
  49. data/lib/openai/models/live/decision_stored_developer_message.rb +68 -0
  50. data/lib/openai/models/live/decision_stored_system_message.rb +68 -0
  51. data/lib/openai/models/live/decision_stored_user_message.rb +195 -0
  52. data/lib/openai/models/live/decision_system_message.rb +70 -0
  53. data/lib/openai/models/live/decision_trigger.rb +6 -258
  54. data/lib/openai/models/live/decision_user_message.rb +193 -0
  55. data/lib/openai/models/live/decisions_delegation_config.rb +5 -250
  56. data/lib/openai/models/live/decisions_delegation_update_config.rb +5 -257
  57. data/lib/openai/models/live/fork_client_event.rb +4 -4
  58. data/lib/openai/models/live/fork_server_event.rb +2 -2
  59. data/lib/openai/models/live/fork_session_config.rb +20 -1
  60. data/lib/openai/models/live/input_audio_muted_event.rb +3 -2
  61. data/lib/openai/models/live/input_audio_unmute_event.rb +2 -1
  62. data/lib/openai/models/live/input_audio_unmuted_event.rb +3 -2
  63. data/lib/openai/models/live/instructions_append_event.rb +5 -2
  64. data/lib/openai/models/live/media_session_config.rb +39 -2
  65. data/lib/openai/models/live/media_session_fork_config.rb +20 -1
  66. data/lib/openai/models/live/server_event.rb +2 -2
  67. data/lib/openai/models/live/session_accept_params.rb +39 -2
  68. data/lib/openai/models/live/session_config.rb +39 -2
  69. data/lib/openai/models/live/session_resource.rb +39 -2
  70. data/lib/openai/models/live/session_update_config.rb +41 -2
  71. data/lib/openai/models/live/sideband_client_event.rb +4 -4
  72. data/lib/openai/models/live/sideband_server_event.rb +2 -2
  73. data/lib/openai/models/live/thinking_append_event.rb +1 -1
  74. data/lib/openai/models/realtime/conversation_item_input_audio_transcription_delta_event.rb +10 -12
  75. data/lib/openai/models/realtime/realtime_error_event.rb +1 -1
  76. data/lib/openai/models/realtime/realtime_server_event.rb +1 -1
  77. data/lib/openai/models/realtime/realtime_translation_server_event.rb +1 -1
  78. data/lib/openai/models/responses/response_compact_params.rb +3 -0
  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/resources/beta/agents.rb +2 -2
  88. data/lib/openai/resources/beta/responses.rb +2 -2
  89. data/lib/openai/resources/images.rb +18 -6
  90. data/lib/openai/resources/live/forks.rb +2 -2
  91. data/lib/openai/resources/live/sideband.rb +2 -2
  92. data/lib/openai/resources/live.rb +2 -2
  93. data/lib/openai/resources/realtime/translations.rb +2 -2
  94. data/lib/openai/resources/realtime.rb +2 -2
  95. data/lib/openai/resources/responses.rb +2 -2
  96. data/lib/openai/version.rb +1 -1
  97. data/lib/openai.rb +12 -0
  98. data/rbi/openai/models/beta/agent.rbi +2 -1
  99. data/rbi/openai/models/beta/agent_create_params.rbi +6 -3
  100. data/rbi/openai/models/beta/agent_session.rbi +2 -1
  101. data/rbi/openai/models/beta/agent_tool.rbi +40 -1
  102. data/rbi/openai/models/beta/agent_tool_param.rbi +40 -1
  103. data/rbi/openai/models/beta/agent_update_params.rbi +6 -3
  104. data/rbi/openai/models/beta/agents/session_create_params.rbi +6 -3
  105. data/rbi/openai/models/beta/beta_response.rbi +1 -0
  106. data/rbi/openai/models/beta/beta_response_input_file.rbi +31 -1
  107. data/rbi/openai/models/beta/beta_response_input_file_content.rbi +39 -1
  108. data/rbi/openai/models/beta/beta_response_input_image.rbi +31 -1
  109. data/rbi/openai/models/beta/beta_response_input_image_content.rbi +39 -1
  110. data/rbi/openai/models/beta/beta_response_input_text.rbi +31 -1
  111. data/rbi/openai/models/beta/beta_response_input_text_content.rbi +39 -1
  112. data/rbi/openai/models/beta/beta_response_item.rbi +58 -1
  113. data/rbi/openai/models/beta/beta_response_output_item.rbi +58 -1
  114. data/rbi/openai/models/beta/beta_response_tool_search_output_item_param.rbi +24 -15
  115. data/rbi/openai/models/beta/beta_responses_client_event.rbi +4 -0
  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/beta/response_compact_params.rbi +1 -0
  120. data/rbi/openai/models/beta/response_create_params.rbi +1 -0
  121. data/rbi/openai/models/chat/chat_completion_content_part.rbi +43 -1
  122. data/rbi/openai/models/chat/chat_completion_content_part_image.rbi +41 -1
  123. data/rbi/openai/models/chat/chat_completion_content_part_input_audio.rbi +46 -1
  124. data/rbi/openai/models/chat/chat_completion_content_part_text.rbi +39 -1
  125. data/rbi/openai/models/chat_model.rbi +1 -0
  126. data/rbi/openai/models/conversations/computer_screenshot_content.rbi +48 -1
  127. data/rbi/openai/models/image_edit_params.rbi +12 -3
  128. data/rbi/openai/models/image_generate_params.rbi +15 -6
  129. data/rbi/openai/models/live/client_delegation.rbi +23 -1
  130. data/rbi/openai/models/live/commentary_append_event.rbi +1 -1
  131. data/rbi/openai/models/live/decision_assistant_message.rbi +247 -0
  132. data/rbi/openai/models/live/decision_choice_option.rbi +67 -0
  133. data/rbi/openai/models/live/decision_developer_message.rbi +109 -0
  134. data/rbi/openai/models/live/decision_input_text.rbi +55 -0
  135. data/rbi/openai/models/live/decision_item_create_event.rbi +765 -184
  136. data/rbi/openai/models/live/decision_item_created_event.rbi +737 -184
  137. data/rbi/openai/models/live/decision_json_object.rbi +16 -0
  138. data/rbi/openai/models/live/decision_question.rbi +300 -0
  139. data/rbi/openai/models/live/decision_stored_assistant_message.rbi +245 -0
  140. data/rbi/openai/models/live/decision_stored_developer_message.rbi +107 -0
  141. data/rbi/openai/models/live/decision_stored_system_message.rbi +107 -0
  142. data/rbi/openai/models/live/decision_stored_user_message.rbi +333 -0
  143. data/rbi/openai/models/live/decision_system_message.rbi +109 -0
  144. data/rbi/openai/models/live/decision_trigger.rbi +11 -383
  145. data/rbi/openai/models/live/decision_user_message.rbi +320 -0
  146. data/rbi/openai/models/live/decisions_delegation_config.rbi +10 -384
  147. data/rbi/openai/models/live/decisions_delegation_update_config.rbi +13 -387
  148. data/rbi/openai/models/live/fork_session_config.rbi +27 -1
  149. data/rbi/openai/models/live/input_audio_muted_event.rbi +3 -2
  150. data/rbi/openai/models/live/input_audio_unmute_event.rbi +2 -1
  151. data/rbi/openai/models/live/input_audio_unmuted_event.rbi +3 -2
  152. data/rbi/openai/models/live/instructions_append_event.rbi +5 -2
  153. data/rbi/openai/models/live/media_session_config.rbi +44 -2
  154. data/rbi/openai/models/live/media_session_fork_config.rbi +27 -1
  155. data/rbi/openai/models/live/session_accept_params.rbi +44 -2
  156. data/rbi/openai/models/live/session_config.rbi +44 -2
  157. data/rbi/openai/models/live/session_resource.rbi +44 -2
  158. data/rbi/openai/models/live/session_update_config.rbi +54 -2
  159. data/rbi/openai/models/live/thinking_append_event.rbi +1 -1
  160. data/rbi/openai/models/realtime/conversation_item_input_audio_transcription_delta_event.rbi +10 -12
  161. data/rbi/openai/models/realtime/realtime_error_event.rbi +1 -1
  162. data/rbi/openai/models/responses/response_compact_params.rbi +1 -0
  163. data/rbi/openai/models/responses/response_input_file.rbi +31 -1
  164. data/rbi/openai/models/responses/response_input_file_content.rbi +39 -1
  165. data/rbi/openai/models/responses/response_input_image.rbi +33 -1
  166. data/rbi/openai/models/responses/response_input_image_content.rbi +41 -1
  167. data/rbi/openai/models/responses/response_input_text.rbi +31 -1
  168. data/rbi/openai/models/responses/response_input_text_content.rbi +39 -1
  169. data/rbi/openai/models/responses/response_tool_search_output_item_param.rbi +24 -15
  170. data/rbi/openai/models/responses/tool.rbi +24 -15
  171. data/rbi/openai/resources/beta/agents.rbi +4 -2
  172. data/rbi/openai/resources/beta/responses.rbi +8 -1
  173. data/rbi/openai/resources/images.rbi +18 -6
  174. data/rbi/openai/resources/live/forks.rbi +8 -1
  175. data/rbi/openai/resources/live/sideband.rbi +8 -1
  176. data/rbi/openai/resources/live.rbi +8 -1
  177. data/rbi/openai/resources/realtime/translations.rbi +8 -1
  178. data/rbi/openai/resources/realtime.rbi +8 -1
  179. data/rbi/openai/resources/responses.rbi +8 -1
  180. data/sig/openai/models/beta/agent_tool.rbs +14 -0
  181. data/sig/openai/models/beta/agent_tool_param.rbs +14 -0
  182. data/sig/openai/models/beta/beta_response.rbs +2 -0
  183. data/sig/openai/models/beta/beta_response_input_file.rbs +34 -3
  184. data/sig/openai/models/beta/beta_response_input_file_content.rbs +34 -3
  185. data/sig/openai/models/beta/beta_response_input_image.rbs +34 -3
  186. data/sig/openai/models/beta/beta_response_input_image_content.rbs +34 -3
  187. data/sig/openai/models/beta/beta_response_input_text.rbs +34 -3
  188. data/sig/openai/models/beta/beta_response_input_text_content.rbs +34 -3
  189. data/sig/openai/models/beta/beta_response_item.rbs +34 -3
  190. data/sig/openai/models/beta/beta_response_output_item.rbs +34 -3
  191. data/sig/openai/models/beta/beta_response_tool_search_output_item_param.rbs +24 -15
  192. data/sig/openai/models/beta/beta_responses_client_event.rbs +2 -0
  193. data/sig/openai/models/beta/beta_tool.rbs +24 -15
  194. data/sig/openai/models/beta/persisted_agent_tool.rbs +14 -0
  195. data/sig/openai/models/beta/persisted_agent_tool_param.rbs +14 -0
  196. data/sig/openai/models/beta/response_compact_params.rbs +2 -0
  197. data/sig/openai/models/beta/response_create_params.rbs +2 -0
  198. data/sig/openai/models/chat/chat_completion_content_part.rbs +34 -3
  199. data/sig/openai/models/chat/chat_completion_content_part_image.rbs +34 -3
  200. data/sig/openai/models/chat/chat_completion_content_part_input_audio.rbs +34 -3
  201. data/sig/openai/models/chat/chat_completion_content_part_text.rbs +34 -3
  202. data/sig/openai/models/chat_model.rbs +2 -0
  203. data/sig/openai/models/conversations/computer_screenshot_content.rbs +34 -3
  204. data/sig/openai/models/image_edit_params.rbs +8 -2
  205. data/sig/openai/models/image_generate_params.rbs +10 -4
  206. data/sig/openai/models/live/client_delegation.rbs +30 -3
  207. data/sig/openai/models/live/decision_assistant_message.rbs +134 -0
  208. data/sig/openai/models/live/decision_choice_option.rbs +37 -0
  209. data/sig/openai/models/live/decision_developer_message.rbs +67 -0
  210. data/sig/openai/models/live/decision_input_text.rbs +20 -0
  211. data/sig/openai/models/live/decision_item_create_event.rbs +413 -131
  212. data/sig/openai/models/live/decision_item_created_event.rbs +401 -131
  213. data/sig/openai/models/live/decision_json_object.rbs +9 -0
  214. data/sig/openai/models/live/decision_question.rbs +164 -0
  215. data/sig/openai/models/live/decision_stored_assistant_message.rbs +131 -0
  216. data/sig/openai/models/live/decision_stored_developer_message.rbs +64 -0
  217. data/sig/openai/models/live/decision_stored_system_message.rbs +64 -0
  218. data/sig/openai/models/live/decision_stored_user_message.rbs +177 -0
  219. data/sig/openai/models/live/decision_system_message.rbs +67 -0
  220. data/sig/openai/models/live/decision_trigger.rbs +8 -208
  221. data/sig/openai/models/live/decision_user_message.rbs +180 -0
  222. data/sig/openai/models/live/decisions_delegation_config.rbs +6 -204
  223. data/sig/openai/models/live/decisions_delegation_update_config.rbs +8 -206
  224. data/sig/openai/models/live/fork_session_config.rbs +26 -0
  225. data/sig/openai/models/live/media_session_config.rbs +53 -4
  226. data/sig/openai/models/live/media_session_fork_config.rbs +26 -0
  227. data/sig/openai/models/live/session_accept_params.rbs +53 -4
  228. data/sig/openai/models/live/session_config.rbs +53 -4
  229. data/sig/openai/models/live/session_resource.rbs +53 -4
  230. data/sig/openai/models/live/session_update_config.rbs +52 -0
  231. data/sig/openai/models/realtime/conversation_item_input_audio_transcription_delta_event.rbs +10 -12
  232. data/sig/openai/models/responses/response_compact_params.rbs +2 -0
  233. data/sig/openai/models/responses/response_input_file.rbs +34 -3
  234. data/sig/openai/models/responses/response_input_file_content.rbs +34 -3
  235. data/sig/openai/models/responses/response_input_image.rbs +34 -3
  236. data/sig/openai/models/responses/response_input_image_content.rbs +34 -3
  237. data/sig/openai/models/responses/response_input_text.rbs +34 -3
  238. data/sig/openai/models/responses/response_input_text_content.rbs +34 -3
  239. data/sig/openai/models/responses/response_tool_search_output_item_param.rbs +24 -15
  240. data/sig/openai/models/responses/tool.rbs +24 -15
  241. data/sig/openai/resources/beta/responses.rbs +2 -1
  242. data/sig/openai/resources/live/forks.rbs +2 -1
  243. data/sig/openai/resources/live/sideband.rbs +2 -1
  244. data/sig/openai/resources/live.rbs +2 -1
  245. data/sig/openai/resources/realtime/translations.rbs +2 -1
  246. data/sig/openai/resources/realtime.rbs +2 -1
  247. data/sig/openai/resources/responses.rbs +2 -1
  248. metadata +37 -1
@@ -26,9 +26,9 @@ module OpenAI
26
26
  T.nilable(
27
27
  T::Array[
28
28
  T.any(
29
- OpenAI::Live::DecisionsDelegationUpdateConfig::Question::Predicate,
30
- OpenAI::Live::DecisionsDelegationUpdateConfig::Question::Choice,
31
- OpenAI::Live::DecisionsDelegationUpdateConfig::Question::Score
29
+ OpenAI::Live::DecisionQuestion::Choice,
30
+ OpenAI::Live::DecisionQuestion::Predicate,
31
+ OpenAI::Live::DecisionQuestion::Score
32
32
  )
33
33
  ]
34
34
  )
@@ -40,9 +40,9 @@ module OpenAI
40
40
  params(
41
41
  questions: T::Array[
42
42
  T.any(
43
- OpenAI::Live::DecisionsDelegationUpdateConfig::Question::Predicate::OrHash,
44
- OpenAI::Live::DecisionsDelegationUpdateConfig::Question::Choice::OrHash,
45
- OpenAI::Live::DecisionsDelegationUpdateConfig::Question::Score::OrHash
43
+ OpenAI::Live::DecisionQuestion::Choice::OrHash,
44
+ OpenAI::Live::DecisionQuestion::Predicate::OrHash,
45
+ OpenAI::Live::DecisionQuestion::Score::OrHash
46
46
  )
47
47
  ]
48
48
  )
@@ -57,9 +57,9 @@ module OpenAI
57
57
 
58
58
  questions: T::Array[
59
59
  T.any(
60
- OpenAI::Live::DecisionsDelegationUpdateConfig::Question::Predicate::OrHash,
61
- OpenAI::Live::DecisionsDelegationUpdateConfig::Question::Choice::OrHash,
62
- OpenAI::Live::DecisionsDelegationUpdateConfig::Question::Score::OrHash
60
+ OpenAI::Live::DecisionQuestion::Choice::OrHash,
61
+ OpenAI::Live::DecisionQuestion::Predicate::OrHash,
62
+ OpenAI::Live::DecisionQuestion::Score::OrHash
63
63
  )
64
64
  ]
65
65
  )
@@ -81,9 +81,9 @@ module OpenAI
81
81
  model: String,
82
82
  questions: T::Array[
83
83
  T.any(
84
- OpenAI::Live::DecisionsDelegationUpdateConfig::Question::Predicate,
85
- OpenAI::Live::DecisionsDelegationUpdateConfig::Question::Choice,
86
- OpenAI::Live::DecisionsDelegationUpdateConfig::Question::Score
84
+ OpenAI::Live::DecisionQuestion::Choice,
85
+ OpenAI::Live::DecisionQuestion::Predicate,
86
+ OpenAI::Live::DecisionQuestion::Score
87
87
  )
88
88
  ]
89
89
  }
@@ -92,381 +92,7 @@ module OpenAI
92
92
  def to_hash
93
93
  end
94
94
 
95
- # A question about the request's input, with an optional correlation name.
96
- module Question
97
- extend OpenAI::Internal::Type::Union
98
-
99
- Variants = T.type_alias {
100
- T.any(
101
- OpenAI::Live::DecisionsDelegationUpdateConfig::Question::Predicate,
102
- OpenAI::Live::DecisionsDelegationUpdateConfig::Question::Choice,
103
- OpenAI::Live::DecisionsDelegationUpdateConfig::Question::Score
104
- )
105
- }
106
-
107
- class Predicate < OpenAI::Internal::Type::BaseModel
108
- OrHash = T.type_alias do
109
- T.any(
110
- OpenAI::Live::DecisionsDelegationUpdateConfig::Question::Predicate,
111
- OpenAI::Internal::AnyHash
112
- )
113
- end
114
-
115
- sig { returns(OpenAI::Live::DecisionsDelegationUpdateConfig::Question::Predicate::Instructions::Variants) }
116
- attr_accessor :instructions
117
-
118
- # The type of the object. Always `predicate`.
119
- sig { returns(Symbol) }
120
- attr_accessor :type
121
-
122
- sig { returns(T.nilable(String)) }
123
- attr_reader :name
124
-
125
- sig { params(name: String).void }
126
- attr_writer :name
127
-
128
- # Estimate how likely it is that a statement about the input is true.
129
- sig do
130
- params(
131
-
132
- instructions: OpenAI::Live::DecisionsDelegationUpdateConfig::Question::Predicate::Instructions::Variants,
133
-
134
- name: String,
135
-
136
- type: Symbol
137
- )
138
- .returns(T.attached_class)
139
- end
140
- def self.new(
141
-
142
- instructions:,
143
-
144
- name: nil,
145
-
146
- # The type of the object. Always `predicate`.
147
-
148
- type: :predicate
149
- )
150
- end
151
-
152
- sig do
153
- override.returns(
154
- {
155
- instructions: OpenAI::Live::DecisionsDelegationUpdateConfig::Question::Predicate::Instructions::Variants,
156
- type: Symbol,
157
- name: String
158
- }
159
- )
160
- end
161
- def to_hash
162
- end
163
-
164
- module Instructions
165
- extend OpenAI::Internal::Type::Union
166
-
167
- Variants = T.type_alias { T.any(String, T::Array[OpenAI::DecisionQuestionInputPart::Variants]) }
168
-
169
- sig {
170
- override.returns(
171
- T::Array[OpenAI::Live::DecisionsDelegationUpdateConfig::Question::Predicate::Instructions::Variants]
172
- )
173
- }
174
- def self.variants
175
- end
176
-
177
- DecisionQuestionInputPartArray = T.let(
178
- OpenAI::Internal::Type::ArrayOf[union: OpenAI::DecisionQuestionInputPart],
179
- OpenAI::Internal::Type::Converter
180
- )
181
-
182
- end
183
- end
184
-
185
- class Choice < OpenAI::Internal::Type::BaseModel
186
- OrHash = T.type_alias do
187
- T.any(
188
- OpenAI::Live::DecisionsDelegationUpdateConfig::Question::Choice,
189
- OpenAI::Internal::AnyHash
190
- )
191
- end
192
-
193
- # Provide between 2 and 255 choices. Each choice must be unique.
194
- sig { returns(T::Array[OpenAI::Live::DecisionsDelegationUpdateConfig::Question::Choice::Choice]) }
195
- attr_accessor :choices
196
-
197
- sig { returns(OpenAI::Live::DecisionsDelegationUpdateConfig::Question::Choice::Instructions::Variants) }
198
- attr_accessor :instructions
199
-
200
- # The type of the object. Always `choice`.
201
- sig { returns(Symbol) }
202
- attr_accessor :type
203
-
204
- sig { returns(T.nilable(String)) }
205
- attr_reader :name
206
-
207
- sig { params(name: String).void }
208
- attr_writer :name
209
-
210
- # Choose from the supplied options based on the input.
211
- sig do
212
- params(
213
-
214
- choices: T::Array[OpenAI::Live::DecisionsDelegationUpdateConfig::Question::Choice::Choice::OrHash],
215
-
216
- instructions: OpenAI::Live::DecisionsDelegationUpdateConfig::Question::Choice::Instructions::Variants,
217
-
218
- name: String,
219
-
220
- type: Symbol
221
- )
222
- .returns(T.attached_class)
223
- end
224
- def self.new(
225
-
226
- # Provide between 2 and 255 choices. Each choice must be unique.
227
- choices:,
228
-
229
- instructions:,
230
-
231
- name: nil,
232
-
233
- # The type of the object. Always `choice`.
234
-
235
- type: :choice
236
- )
237
- end
238
-
239
- sig do
240
- override.returns(
241
- {
242
- choices: T::Array[OpenAI::Live::DecisionsDelegationUpdateConfig::Question::Choice::Choice],
243
- instructions: OpenAI::Live::DecisionsDelegationUpdateConfig::Question::Choice::Instructions::Variants,
244
- type: Symbol,
245
- name: String
246
- }
247
- )
248
- end
249
- def to_hash
250
- end
251
-
252
- class Choice < OpenAI::Internal::Type::BaseModel
253
- OrHash = T.type_alias do
254
- T.any(
255
- OpenAI::Live::DecisionsDelegationUpdateConfig::Question::Choice::Choice,
256
- OpenAI::Internal::AnyHash
257
- )
258
- end
259
-
260
- # Choice values are typed: a string and a boolean with the same text are distinct.
261
- sig { returns(T.any(String, T::Boolean)) }
262
- attr_accessor :value
263
-
264
- sig { returns(T.nilable(String)) }
265
- attr_reader :description
266
-
267
- sig { params(description: String).void }
268
- attr_writer :description
269
-
270
- sig do
271
- params(
272
-
273
- value: T.any(String, T::Boolean),
274
-
275
- description: String
276
- )
277
- .returns(T.attached_class)
278
- end
279
- def self.new(
280
-
281
- # Choice values are typed: a string and a boolean with the same text are distinct.
282
- value:,
283
-
284
- description: nil
285
- )
286
- end
287
-
288
- sig do
289
- override.returns(
290
- {value: T.any(String, T::Boolean), description: String}
291
- )
292
- end
293
- def to_hash
294
- end
295
-
296
- # Choice values are typed: a string and a boolean with the same text are distinct.
297
- module Value
298
- extend OpenAI::Internal::Type::Union
299
-
300
- Variants = T.type_alias { T.any(String, T::Boolean) }
301
-
302
- sig {
303
- override.returns(
304
- T::Array[OpenAI::Live::DecisionsDelegationUpdateConfig::Question::Choice::Choice::Value::Variants]
305
- )
306
- }
307
- def self.variants
308
- end
309
-
310
- end
311
- end
312
-
313
- module Instructions
314
- extend OpenAI::Internal::Type::Union
315
-
316
- Variants = T.type_alias { T.any(String, T::Array[OpenAI::DecisionQuestionInputPart::Variants]) }
317
-
318
- sig {
319
- override.returns(
320
- T::Array[OpenAI::Live::DecisionsDelegationUpdateConfig::Question::Choice::Instructions::Variants]
321
- )
322
- }
323
- def self.variants
324
- end
325
-
326
- DecisionQuestionInputPartArray = T.let(
327
- OpenAI::Internal::Type::ArrayOf[union: OpenAI::DecisionQuestionInputPart],
328
- OpenAI::Internal::Type::Converter
329
- )
330
-
331
- end
332
- end
333
-
334
- class Score < OpenAI::Internal::Type::BaseModel
335
- OrHash = T.type_alias do
336
- T.any(
337
- OpenAI::Live::DecisionsDelegationUpdateConfig::Question::Score,
338
- OpenAI::Internal::AnyHash
339
- )
340
- end
341
-
342
- sig { returns(OpenAI::Live::DecisionsDelegationUpdateConfig::Question::Score::Instructions::Variants) }
343
- attr_accessor :instructions
344
-
345
- sig { returns(T::Array[OpenAI::Live::DecisionsDelegationUpdateConfig::Question::Score::Level]) }
346
- attr_accessor :levels
347
-
348
- # The type of the object. Always `score`.
349
- sig { returns(Symbol) }
350
- attr_accessor :type
351
-
352
- sig { returns(T.nilable(String)) }
353
- attr_reader :name
354
-
355
- sig { params(name: String).void }
356
- attr_writer :name
357
-
358
- # Rate the input against the supplied ordered levels.
359
- sig do
360
- params(
361
-
362
- instructions: OpenAI::Live::DecisionsDelegationUpdateConfig::Question::Score::Instructions::Variants,
363
-
364
- levels: T::Array[OpenAI::Live::DecisionsDelegationUpdateConfig::Question::Score::Level::OrHash],
365
-
366
- name: String,
367
-
368
- type: Symbol
369
- )
370
- .returns(T.attached_class)
371
- end
372
- def self.new(
373
-
374
- instructions:,
375
-
376
- levels:,
377
-
378
- name: nil,
379
-
380
- # The type of the object. Always `score`.
381
-
382
- type: :score
383
- )
384
- end
385
-
386
- sig do
387
- override.returns(
388
- {
389
- instructions: OpenAI::Live::DecisionsDelegationUpdateConfig::Question::Score::Instructions::Variants,
390
- levels: T::Array[OpenAI::Live::DecisionsDelegationUpdateConfig::Question::Score::Level],
391
- type: Symbol,
392
- name: String
393
- }
394
- )
395
- end
396
- def to_hash
397
- end
398
-
399
- module Instructions
400
- extend OpenAI::Internal::Type::Union
401
-
402
- Variants = T.type_alias { T.any(String, T::Array[OpenAI::DecisionQuestionInputPart::Variants]) }
403
-
404
- sig {
405
- override.returns(
406
- T::Array[OpenAI::Live::DecisionsDelegationUpdateConfig::Question::Score::Instructions::Variants]
407
- )
408
- }
409
- def self.variants
410
- end
411
-
412
- DecisionQuestionInputPartArray = T.let(
413
- OpenAI::Internal::Type::ArrayOf[union: OpenAI::DecisionQuestionInputPart],
414
- OpenAI::Internal::Type::Converter
415
- )
416
-
417
- end
418
-
419
- class Level < OpenAI::Internal::Type::BaseModel
420
- OrHash = T.type_alias do
421
- T.any(
422
- OpenAI::Live::DecisionsDelegationUpdateConfig::Question::Score::Level,
423
- OpenAI::Internal::AnyHash
424
- )
425
- end
426
-
427
- sig { returns(String) }
428
- attr_accessor :label
429
-
430
- sig { returns(T.nilable(String)) }
431
- attr_reader :description
432
-
433
- sig { params(description: String).void }
434
- attr_writer :description
435
-
436
- sig do
437
- params(
438
-
439
- label: String,
440
-
441
- description: String
442
- )
443
- .returns(T.attached_class)
444
- end
445
- def self.new(
446
-
447
- label:,
448
-
449
- description: nil
450
- )
451
- end
452
-
453
- sig do
454
- override.returns(
455
- {label: String, description: String}
456
- )
457
- end
458
- def to_hash
459
- end
460
-
461
- end
462
- end
463
-
464
- sig { override.returns(T::Array[OpenAI::Live::DecisionsDelegationUpdateConfig::Question::Variants]) }
465
- def self.variants
466
- end
467
-
468
- end
469
-
95
+ Question = ::OpenAI::Models::Live::DecisionQuestion
470
96
  end
471
97
 
472
98
  end
@@ -184,6 +184,18 @@ module OpenAI
184
184
  sig { returns(Symbol) }
185
185
  attr_accessor :type
186
186
 
187
+ # Milliseconds to wait before requesting an automatic spoken acknowledgement for a
188
+ # delegation. The model may still speak before this delay. Any commentary or
189
+ # thinking appended to the session cancels all pending acknowledgements, including
190
+ # those for other delegations. Defaults to 400 for Decisions sessions and 0
191
+ # (request immediately) for other sessions. Omission in a session update preserves
192
+ # the current value. Updates apply to subsequent delegations.
193
+ sig { returns(T.nilable(Integer)) }
194
+ attr_reader :acknowledgement_delay_ms
195
+
196
+ sig { params(acknowledgement_delay_ms: Integer).void }
197
+ attr_writer :acknowledgement_delay_ms
198
+
187
199
  # Responses backend settings to update. Omitted settings keep their existing
188
200
  # values.
189
201
  sig { returns(T.nilable(OpenAI::Live::ResponsesDelegationUpdateConfig)) }
@@ -198,6 +210,8 @@ module OpenAI
198
210
  sig do
199
211
  params(
200
212
 
213
+ acknowledgement_delay_ms: Integer,
214
+
201
215
  responses: OpenAI::Live::ResponsesDelegationUpdateConfig::OrHash,
202
216
 
203
217
  type: Symbol
@@ -206,6 +220,14 @@ module OpenAI
206
220
  end
207
221
  def self.new(
208
222
 
223
+ # Milliseconds to wait before requesting an automatic spoken acknowledgement for a
224
+ # delegation. The model may still speak before this delay. Any commentary or
225
+ # thinking appended to the session cancels all pending acknowledgements, including
226
+ # those for other delegations. Defaults to 400 for Decisions sessions and 0
227
+ # (request immediately) for other sessions. Omission in a session update preserves
228
+ # the current value. Updates apply to subsequent delegations.
229
+ acknowledgement_delay_ms: nil,
230
+
209
231
  # Responses backend settings to update. Omitted settings keep their existing
210
232
  # values.
211
233
  responses: nil,
@@ -218,7 +240,11 @@ module OpenAI
218
240
 
219
241
  sig do
220
242
  override.returns(
221
- {type: Symbol, responses: OpenAI::Live::ResponsesDelegationUpdateConfig}
243
+ {
244
+ type: Symbol,
245
+ acknowledgement_delay_ms: Integer,
246
+ responses: OpenAI::Live::ResponsesDelegationUpdateConfig
247
+ }
222
248
  )
223
249
  end
224
250
  def to_hash
@@ -30,8 +30,9 @@ module OpenAI
30
30
  sig { params(client_event_id: String).void }
31
31
  attr_writer :client_event_id
32
32
 
33
- # Returned when a session.input_audio.mute command is accepted. Input audio is no
34
- # longer sent to the model; sideband audio reflection continues.
33
+ # Acknowledges a session.input_audio.mute command. An independent input mute sends
34
+ # silence to the model and preserves sideband audio reflection. Fixture playback
35
+ # does not emit this event.
35
36
  sig do
36
37
  params(
37
38
 
@@ -24,7 +24,8 @@ module OpenAI
24
24
  attr_accessor :event_id
25
25
 
26
26
  # Resume audio input to a Live model after muting it. The server acknowledges with
27
- # `session.input_audio.unmuted`.
27
+ # `session.input_audio.unmuted`. An active audio fixture still pauses inference
28
+ # until playback finishes.
28
29
  sig do
29
30
  params(
30
31
 
@@ -30,8 +30,9 @@ module OpenAI
30
30
  sig { params(client_event_id: String).void }
31
31
  attr_writer :client_event_id
32
32
 
33
- # Returned when a session.input_audio.unmute command is accepted. Input audio is
34
- # sent to the model again.
33
+ # Acknowledges a session.input_audio.unmute command, removing the independent
34
+ # input mute. An active audio fixture still pauses inference until playback
35
+ # finishes. Fixture playback does not emit this event.
35
36
  sig do
36
37
  params(
37
38
 
@@ -34,8 +34,11 @@ module OpenAI
34
34
  sig { returns(T.nilable(String)) }
35
35
  attr_accessor :event_id
36
36
 
37
- # Append instructions to the Live conversation while it is running, optionally
38
- # associating them with an existing client delegation.
37
+ # Append developer instructions to the Live conversation while it is running,
38
+ # optionally associating them with an existing client delegation. Rejected while
39
+ # an audio fixture is active. These instructions remain in conversation history
40
+ # through compaction and are included in future backend delegations. For external
41
+ # audio, describe content already delivered so the assistant does not repeat it.
39
42
  sig do
40
43
  params(
41
44
 
@@ -381,12 +381,26 @@ module OpenAI
381
381
  sig { returns(Symbol) }
382
382
  attr_accessor :type
383
383
 
384
+ # Milliseconds to wait before requesting an automatic spoken acknowledgement for a
385
+ # delegation. The model may still speak before this delay. Any commentary or
386
+ # thinking appended to the session cancels all pending acknowledgements, including
387
+ # those for other delegations. Defaults to 400 for Decisions sessions and 0
388
+ # (request immediately) for other sessions. Omission in a session update preserves
389
+ # the current value. Updates apply to subsequent delegations.
390
+ sig { returns(T.nilable(Integer)) }
391
+ attr_reader :acknowledgement_delay_ms
392
+
393
+ sig { params(acknowledgement_delay_ms: Integer).void }
394
+ attr_writer :acknowledgement_delay_ms
395
+
384
396
  # Delegate tasks to a Responses model managed by the Live session.
385
397
  sig do
386
398
  params(
387
399
 
388
400
  responses: OpenAI::Live::ResponsesDelegationConfig::OrHash,
389
401
 
402
+ acknowledgement_delay_ms: Integer,
403
+
390
404
  type: Symbol
391
405
  )
392
406
  .returns(T.attached_class)
@@ -397,6 +411,14 @@ module OpenAI
397
411
  # Responses.
398
412
  responses:,
399
413
 
414
+ # Milliseconds to wait before requesting an automatic spoken acknowledgement for a
415
+ # delegation. The model may still speak before this delay. Any commentary or
416
+ # thinking appended to the session cancels all pending acknowledgements, including
417
+ # those for other delegations. Defaults to 400 for Decisions sessions and 0
418
+ # (request immediately) for other sessions. Omission in a session update preserves
419
+ # the current value. Updates apply to subsequent delegations.
420
+ acknowledgement_delay_ms: nil,
421
+
400
422
  # The delegation owner. Always `responses` for tasks handled by the Responses API.
401
423
 
402
424
  type: :responses
@@ -405,7 +427,7 @@ module OpenAI
405
427
 
406
428
  sig do
407
429
  override.returns(
408
- {responses: OpenAI::Live::ResponsesDelegationConfig, type: Symbol}
430
+ {responses: OpenAI::Live::ResponsesDelegationConfig, type: Symbol, acknowledgement_delay_ms: Integer}
409
431
  )
410
432
  end
411
433
  def to_hash
@@ -430,11 +452,24 @@ module OpenAI
430
452
  sig { returns(Symbol) }
431
453
  attr_accessor :type
432
454
 
455
+ # Milliseconds to wait before requesting an automatic spoken acknowledgement for a
456
+ # delegation. The model may still speak before this delay. Any commentary or
457
+ # thinking appended to the session cancels all pending acknowledgements, including
458
+ # those for other delegations. Defaults to 400. Updates apply to subsequent
459
+ # delegations.
460
+ sig { returns(T.nilable(Integer)) }
461
+ attr_reader :acknowledgement_delay_ms
462
+
463
+ sig { params(acknowledgement_delay_ms: Integer).void }
464
+ attr_writer :acknowledgement_delay_ms
465
+
433
466
  sig do
434
467
  params(
435
468
 
436
469
  decisions: OpenAI::Live::DecisionsDelegationConfig::OrHash,
437
470
 
471
+ acknowledgement_delay_ms: Integer,
472
+
438
473
  type: Symbol
439
474
  )
440
475
  .returns(T.attached_class)
@@ -443,13 +478,20 @@ module OpenAI
443
478
 
444
479
  decisions:,
445
480
 
481
+ # Milliseconds to wait before requesting an automatic spoken acknowledgement for a
482
+ # delegation. The model may still speak before this delay. Any commentary or
483
+ # thinking appended to the session cancels all pending acknowledgements, including
484
+ # those for other delegations. Defaults to 400. Updates apply to subsequent
485
+ # delegations.
486
+ acknowledgement_delay_ms: nil,
487
+
446
488
  type: :decisions
447
489
  )
448
490
  end
449
491
 
450
492
  sig do
451
493
  override.returns(
452
- {decisions: OpenAI::Live::DecisionsDelegationConfig, type: Symbol}
494
+ {decisions: OpenAI::Live::DecisionsDelegationConfig, type: Symbol, acknowledgement_delay_ms: Integer}
453
495
  )
454
496
  end
455
497
  def to_hash
@@ -94,6 +94,18 @@ module OpenAI
94
94
  sig { returns(Symbol) }
95
95
  attr_accessor :type
96
96
 
97
+ # Milliseconds to wait before requesting an automatic spoken acknowledgement for a
98
+ # delegation. The model may still speak before this delay. Any commentary or
99
+ # thinking appended to the session cancels all pending acknowledgements, including
100
+ # those for other delegations. Defaults to 400 for Decisions sessions and 0
101
+ # (request immediately) for other sessions. Omission in a session update preserves
102
+ # the current value. Updates apply to subsequent delegations.
103
+ sig { returns(T.nilable(Integer)) }
104
+ attr_reader :acknowledgement_delay_ms
105
+
106
+ sig { params(acknowledgement_delay_ms: Integer).void }
107
+ attr_writer :acknowledgement_delay_ms
108
+
97
109
  # Responses backend settings to update. Omitted settings keep their existing
98
110
  # values.
99
111
  sig { returns(T.nilable(OpenAI::Live::ResponsesDelegationUpdateConfig)) }
@@ -107,6 +119,8 @@ module OpenAI
107
119
  sig do
108
120
  params(
109
121
 
122
+ acknowledgement_delay_ms: Integer,
123
+
110
124
  responses: OpenAI::Live::ResponsesDelegationUpdateConfig::OrHash,
111
125
 
112
126
  type: Symbol
@@ -115,6 +129,14 @@ module OpenAI
115
129
  end
116
130
  def self.new(
117
131
 
132
+ # Milliseconds to wait before requesting an automatic spoken acknowledgement for a
133
+ # delegation. The model may still speak before this delay. Any commentary or
134
+ # thinking appended to the session cancels all pending acknowledgements, including
135
+ # those for other delegations. Defaults to 400 for Decisions sessions and 0
136
+ # (request immediately) for other sessions. Omission in a session update preserves
137
+ # the current value. Updates apply to subsequent delegations.
138
+ acknowledgement_delay_ms: nil,
139
+
118
140
  # Responses backend settings to update. Omitted settings keep their existing
119
141
  # values.
120
142
  responses: nil,
@@ -127,7 +149,11 @@ module OpenAI
127
149
 
128
150
  sig do
129
151
  override.returns(
130
- {type: Symbol, responses: OpenAI::Live::ResponsesDelegationUpdateConfig}
152
+ {
153
+ type: Symbol,
154
+ acknowledgement_delay_ms: Integer,
155
+ responses: OpenAI::Live::ResponsesDelegationUpdateConfig
156
+ }
131
157
  )
132
158
  end
133
159
  def to_hash