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
@@ -12,262 +12,17 @@ module OpenAI
12
12
  # @!attribute questions
13
13
  # Native Decision API questions evaluated together, in order.
14
14
  #
15
- # @return [Array<OpenAI::Models::Live::DecisionsDelegationConfig::Question::Predicate, OpenAI::Models::Live::DecisionsDelegationConfig::Question::Choice, OpenAI::Models::Live::DecisionsDelegationConfig::Question::Score>]
16
- required(
17
- :questions,
18
- -> { OpenAI::Internal::Type::ArrayOf[union: OpenAI::Live::DecisionsDelegationConfig::Question] }
19
- )
15
+ # @return [Array<OpenAI::Models::Live::DecisionQuestion::Choice, OpenAI::Models::Live::DecisionQuestion::Predicate, OpenAI::Models::Live::DecisionQuestion::Score>]
16
+ required :questions, -> { OpenAI::Internal::Type::ArrayOf[union: OpenAI::Live::DecisionQuestion] }
20
17
 
21
18
  # @!method initialize(model:, questions:)
22
19
  # @param model [String]
23
20
  #
24
- # @param questions [Array<OpenAI::Models::Live::DecisionsDelegationConfig::Question::Predicate, OpenAI::Models::Live::DecisionsDelegationConfig::Question::Choice, OpenAI::Models::Live::DecisionsDelegationConfig::Question::Score>]
21
+ # @param questions [Array<OpenAI::Models::Live::DecisionQuestion::Choice, OpenAI::Models::Live::DecisionQuestion::Predicate, OpenAI::Models::Live::DecisionQuestion::Score>]
25
22
  # Native Decision API questions evaluated together, in order.
26
23
 
27
- # A question about the request's input, with an optional correlation name.
28
- module Question
29
- extend OpenAI::Internal::Type::Union
30
-
31
- discriminator :type
32
-
33
- # Estimate how likely it is that a statement about the input is true.
34
- variant :predicate, -> { OpenAI::Live::DecisionsDelegationConfig::Question::Predicate }
35
-
36
- # Choose from the supplied options based on the input.
37
- variant :choice, -> { OpenAI::Live::DecisionsDelegationConfig::Question::Choice }
38
-
39
- # Rate the input against the supplied ordered levels.
40
- variant :score, -> { OpenAI::Live::DecisionsDelegationConfig::Question::Score }
41
-
42
- class Predicate < OpenAI::Internal::Type::BaseModel
43
- # @!attribute instructions
44
- #
45
- # @return [String, Array<OpenAI::Models::DecisionQuestionInputText, OpenAI::Models::DecisionQuestionInputImage, OpenAI::Models::DecisionInputJSON>]
46
- required(
47
- :instructions,
48
- union: -> { OpenAI::Live::DecisionsDelegationConfig::Question::Predicate::Instructions }
49
- )
50
-
51
- # @!attribute type
52
- # The type of the object. Always `predicate`.
53
- #
54
- # @return [Symbol, :predicate]
55
- required :type, const: :predicate
56
-
57
- # @!attribute name
58
- #
59
- # @return [String, nil]
60
- optional :name, String
61
-
62
- # @!method initialize(instructions:, name: nil, type: :predicate)
63
- # Estimate how likely it is that a statement about the input is true.
64
- #
65
- # @param instructions [String, Array<OpenAI::Models::DecisionQuestionInputText, OpenAI::Models::DecisionQuestionInputImage, OpenAI::Models::DecisionInputJSON>]
66
- #
67
- # @param name [String]
68
- #
69
- # @param type [Symbol, :predicate]
70
- # The type of the object. Always `predicate`.
71
-
72
- # @see OpenAI::Models::Live::DecisionsDelegationConfig::Question::Predicate#instructions
73
- module Instructions
74
- extend OpenAI::Internal::Type::Union
75
-
76
- variant String
77
-
78
- variant(
79
- -> {
80
- OpenAI::Models::Live::DecisionsDelegationConfig::Question::Predicate::Instructions::DecisionQuestionInputPartArray
81
- }
82
- )
83
-
84
- # @!method self.variants
85
- # @return [Array(String, Array<OpenAI::Models::DecisionQuestionInputText, OpenAI::Models::DecisionQuestionInputImage, OpenAI::Models::DecisionInputJSON>)]
86
-
87
- # @type [OpenAI::Internal::Type::Converter]
88
- DecisionQuestionInputPartArray = OpenAI::Internal::Type::ArrayOf[
89
- union: -> { OpenAI::DecisionQuestionInputPart }
90
- ]
91
- end
92
- end
93
-
94
- class Choice < OpenAI::Internal::Type::BaseModel
95
- # @!attribute choices
96
- # Provide between 2 and 255 choices. Each choice must be unique.
97
- #
98
- # @return [Array<OpenAI::Models::Live::DecisionsDelegationConfig::Question::Choice::Choice>]
99
- required(
100
- :choices,
101
- -> { OpenAI::Internal::Type::ArrayOf[OpenAI::Live::DecisionsDelegationConfig::Question::Choice::Choice] }
102
- )
103
-
104
- # @!attribute instructions
105
- #
106
- # @return [String, Array<OpenAI::Models::DecisionQuestionInputText, OpenAI::Models::DecisionQuestionInputImage, OpenAI::Models::DecisionInputJSON>]
107
- required(
108
- :instructions,
109
- union: -> { OpenAI::Live::DecisionsDelegationConfig::Question::Choice::Instructions }
110
- )
111
-
112
- # @!attribute type
113
- # The type of the object. Always `choice`.
114
- #
115
- # @return [Symbol, :choice]
116
- required :type, const: :choice
117
-
118
- # @!attribute name
119
- #
120
- # @return [String, nil]
121
- optional :name, String
122
-
123
- # @!method initialize(choices:, instructions:, name: nil, type: :choice)
124
- # Choose from the supplied options based on the input.
125
- #
126
- # @param choices [Array<OpenAI::Models::Live::DecisionsDelegationConfig::Question::Choice::Choice>]
127
- # Provide between 2 and 255 choices. Each choice must be unique.
128
- #
129
- # @param instructions [String, Array<OpenAI::Models::DecisionQuestionInputText, OpenAI::Models::DecisionQuestionInputImage, OpenAI::Models::DecisionInputJSON>]
130
- #
131
- # @param name [String]
132
- #
133
- # @param type [Symbol, :choice]
134
- # The type of the object. Always `choice`.
135
- class Choice < OpenAI::Internal::Type::BaseModel
136
- # @!attribute value
137
- # Choice values are typed: a string and a boolean with the same text are distinct.
138
- #
139
- # @return [String, Boolean]
140
- required :value, union: -> { OpenAI::Live::DecisionsDelegationConfig::Question::Choice::Choice::Value }
141
-
142
- # @!attribute description
143
- #
144
- # @return [String, nil]
145
- optional :description, String
146
-
147
- # @!method initialize(value:, description: nil)
148
- # @param value [String, Boolean]
149
- # Choice values are typed: a string and a boolean with the same text are distinct.
150
- #
151
- # @param description [String]
152
-
153
- # Choice values are typed: a string and a boolean with the same text are distinct.
154
- #
155
- # @see OpenAI::Models::Live::DecisionsDelegationConfig::Question::Choice::Choice#value
156
- module Value
157
- extend OpenAI::Internal::Type::Union
158
-
159
- variant String
160
-
161
- variant OpenAI::Internal::Type::Boolean
162
-
163
- # @!method self.variants
164
- # @return [Array(String, Boolean)]
165
- end
166
- end
167
-
168
- # @see OpenAI::Models::Live::DecisionsDelegationConfig::Question::Choice#instructions
169
- module Instructions
170
- extend OpenAI::Internal::Type::Union
171
-
172
- variant String
173
-
174
- variant(
175
- -> {
176
- OpenAI::Models::Live::DecisionsDelegationConfig::Question::Choice::Instructions::DecisionQuestionInputPartArray
177
- }
178
- )
179
-
180
- # @!method self.variants
181
- # @return [Array(String, Array<OpenAI::Models::DecisionQuestionInputText, OpenAI::Models::DecisionQuestionInputImage, OpenAI::Models::DecisionInputJSON>)]
182
-
183
- # @type [OpenAI::Internal::Type::Converter]
184
- DecisionQuestionInputPartArray = OpenAI::Internal::Type::ArrayOf[
185
- union: -> { OpenAI::DecisionQuestionInputPart }
186
- ]
187
- end
188
- end
189
-
190
- class Score < OpenAI::Internal::Type::BaseModel
191
- # @!attribute instructions
192
- #
193
- # @return [String, Array<OpenAI::Models::DecisionQuestionInputText, OpenAI::Models::DecisionQuestionInputImage, OpenAI::Models::DecisionInputJSON>]
194
- required(
195
- :instructions,
196
- union: -> { OpenAI::Live::DecisionsDelegationConfig::Question::Score::Instructions }
197
- )
198
-
199
- # @!attribute levels
200
- #
201
- # @return [Array<OpenAI::Models::Live::DecisionsDelegationConfig::Question::Score::Level>]
202
- required(
203
- :levels,
204
- -> { OpenAI::Internal::Type::ArrayOf[OpenAI::Live::DecisionsDelegationConfig::Question::Score::Level] }
205
- )
206
-
207
- # @!attribute type
208
- # The type of the object. Always `score`.
209
- #
210
- # @return [Symbol, :score]
211
- required :type, const: :score
212
-
213
- # @!attribute name
214
- #
215
- # @return [String, nil]
216
- optional :name, String
217
-
218
- # @!method initialize(instructions:, levels:, name: nil, type: :score)
219
- # Rate the input against the supplied ordered levels.
220
- #
221
- # @param instructions [String, Array<OpenAI::Models::DecisionQuestionInputText, OpenAI::Models::DecisionQuestionInputImage, OpenAI::Models::DecisionInputJSON>]
222
- #
223
- # @param levels [Array<OpenAI::Models::Live::DecisionsDelegationConfig::Question::Score::Level>]
224
- #
225
- # @param name [String]
226
- #
227
- # @param type [Symbol, :score]
228
- # The type of the object. Always `score`.
229
-
230
- # @see OpenAI::Models::Live::DecisionsDelegationConfig::Question::Score#instructions
231
- module Instructions
232
- extend OpenAI::Internal::Type::Union
233
-
234
- variant String
235
-
236
- variant(
237
- -> {
238
- OpenAI::Models::Live::DecisionsDelegationConfig::Question::Score::Instructions::DecisionQuestionInputPartArray
239
- }
240
- )
241
-
242
- # @!method self.variants
243
- # @return [Array(String, Array<OpenAI::Models::DecisionQuestionInputText, OpenAI::Models::DecisionQuestionInputImage, OpenAI::Models::DecisionInputJSON>)]
244
-
245
- # @type [OpenAI::Internal::Type::Converter]
246
- DecisionQuestionInputPartArray = OpenAI::Internal::Type::ArrayOf[
247
- union: -> { OpenAI::DecisionQuestionInputPart }
248
- ]
249
- end
250
-
251
- class Level < OpenAI::Internal::Type::BaseModel
252
- # @!attribute label
253
- #
254
- # @return [String]
255
- required :label, String
256
-
257
- # @!attribute description
258
- #
259
- # @return [String, nil]
260
- optional :description, String
261
-
262
- # @!method initialize(label:, description: nil)
263
- # @param label [String]
264
- # @param description [String]
265
- end
266
- end
267
-
268
- # @!method self.variants
269
- # @return [Array(OpenAI::Models::Live::DecisionsDelegationConfig::Question::Predicate, OpenAI::Models::Live::DecisionsDelegationConfig::Question::Choice, OpenAI::Models::Live::DecisionsDelegationConfig::Question::Score)]
270
- end
24
+ require_relative "decision_question"
25
+ Question = ::OpenAI::Models::Live::DecisionQuestion
271
26
  end
272
27
  end
273
28
  end
@@ -12,269 +12,17 @@ module OpenAI
12
12
  # @!attribute questions
13
13
  # Native Decision API questions evaluated together, in order.
14
14
  #
15
- # @return [Array<OpenAI::Models::Live::DecisionsDelegationUpdateConfig::Question::Predicate, OpenAI::Models::Live::DecisionsDelegationUpdateConfig::Question::Choice, OpenAI::Models::Live::DecisionsDelegationUpdateConfig::Question::Score>, nil]
16
- optional(
17
- :questions,
18
- -> { OpenAI::Internal::Type::ArrayOf[union: OpenAI::Live::DecisionsDelegationUpdateConfig::Question] }
19
- )
15
+ # @return [Array<OpenAI::Models::Live::DecisionQuestion::Choice, OpenAI::Models::Live::DecisionQuestion::Predicate, OpenAI::Models::Live::DecisionQuestion::Score>, nil]
16
+ optional :questions, -> { OpenAI::Internal::Type::ArrayOf[union: OpenAI::Live::DecisionQuestion] }
20
17
 
21
18
  # @!method initialize(model: nil, questions: nil)
22
19
  # @param model [String]
23
20
  #
24
- # @param questions [Array<OpenAI::Models::Live::DecisionsDelegationUpdateConfig::Question::Predicate, OpenAI::Models::Live::DecisionsDelegationUpdateConfig::Question::Choice, OpenAI::Models::Live::DecisionsDelegationUpdateConfig::Question::Score>]
21
+ # @param questions [Array<OpenAI::Models::Live::DecisionQuestion::Choice, OpenAI::Models::Live::DecisionQuestion::Predicate, OpenAI::Models::Live::DecisionQuestion::Score>]
25
22
  # Native Decision API questions evaluated together, in order.
26
23
 
27
- # A question about the request's input, with an optional correlation name.
28
- module Question
29
- extend OpenAI::Internal::Type::Union
30
-
31
- discriminator :type
32
-
33
- # Estimate how likely it is that a statement about the input is true.
34
- variant :predicate, -> { OpenAI::Live::DecisionsDelegationUpdateConfig::Question::Predicate }
35
-
36
- # Choose from the supplied options based on the input.
37
- variant :choice, -> { OpenAI::Live::DecisionsDelegationUpdateConfig::Question::Choice }
38
-
39
- # Rate the input against the supplied ordered levels.
40
- variant :score, -> { OpenAI::Live::DecisionsDelegationUpdateConfig::Question::Score }
41
-
42
- class Predicate < OpenAI::Internal::Type::BaseModel
43
- # @!attribute instructions
44
- #
45
- # @return [String, Array<OpenAI::Models::DecisionQuestionInputText, OpenAI::Models::DecisionQuestionInputImage, OpenAI::Models::DecisionInputJSON>]
46
- required(
47
- :instructions,
48
- union: -> { OpenAI::Live::DecisionsDelegationUpdateConfig::Question::Predicate::Instructions }
49
- )
50
-
51
- # @!attribute type
52
- # The type of the object. Always `predicate`.
53
- #
54
- # @return [Symbol, :predicate]
55
- required :type, const: :predicate
56
-
57
- # @!attribute name
58
- #
59
- # @return [String, nil]
60
- optional :name, String
61
-
62
- # @!method initialize(instructions:, name: nil, type: :predicate)
63
- # Estimate how likely it is that a statement about the input is true.
64
- #
65
- # @param instructions [String, Array<OpenAI::Models::DecisionQuestionInputText, OpenAI::Models::DecisionQuestionInputImage, OpenAI::Models::DecisionInputJSON>]
66
- #
67
- # @param name [String]
68
- #
69
- # @param type [Symbol, :predicate]
70
- # The type of the object. Always `predicate`.
71
-
72
- # @see OpenAI::Models::Live::DecisionsDelegationUpdateConfig::Question::Predicate#instructions
73
- module Instructions
74
- extend OpenAI::Internal::Type::Union
75
-
76
- variant String
77
-
78
- variant(
79
- -> {
80
- OpenAI::Models::Live::DecisionsDelegationUpdateConfig::Question::Predicate::Instructions::DecisionQuestionInputPartArray
81
- }
82
- )
83
-
84
- # @!method self.variants
85
- # @return [Array(String, Array<OpenAI::Models::DecisionQuestionInputText, OpenAI::Models::DecisionQuestionInputImage, OpenAI::Models::DecisionInputJSON>)]
86
-
87
- # @type [OpenAI::Internal::Type::Converter]
88
- DecisionQuestionInputPartArray = OpenAI::Internal::Type::ArrayOf[
89
- union: -> { OpenAI::DecisionQuestionInputPart }
90
- ]
91
- end
92
- end
93
-
94
- class Choice < OpenAI::Internal::Type::BaseModel
95
- # @!attribute choices
96
- # Provide between 2 and 255 choices. Each choice must be unique.
97
- #
98
- # @return [Array<OpenAI::Models::Live::DecisionsDelegationUpdateConfig::Question::Choice::Choice>]
99
- required(
100
- :choices,
101
- -> {
102
- OpenAI::Internal::Type::ArrayOf[OpenAI::Live::DecisionsDelegationUpdateConfig::Question::Choice::Choice]
103
- }
104
- )
105
-
106
- # @!attribute instructions
107
- #
108
- # @return [String, Array<OpenAI::Models::DecisionQuestionInputText, OpenAI::Models::DecisionQuestionInputImage, OpenAI::Models::DecisionInputJSON>]
109
- required(
110
- :instructions,
111
- union: -> { OpenAI::Live::DecisionsDelegationUpdateConfig::Question::Choice::Instructions }
112
- )
113
-
114
- # @!attribute type
115
- # The type of the object. Always `choice`.
116
- #
117
- # @return [Symbol, :choice]
118
- required :type, const: :choice
119
-
120
- # @!attribute name
121
- #
122
- # @return [String, nil]
123
- optional :name, String
124
-
125
- # @!method initialize(choices:, instructions:, name: nil, type: :choice)
126
- # Choose from the supplied options based on the input.
127
- #
128
- # @param choices [Array<OpenAI::Models::Live::DecisionsDelegationUpdateConfig::Question::Choice::Choice>]
129
- # Provide between 2 and 255 choices. Each choice must be unique.
130
- #
131
- # @param instructions [String, Array<OpenAI::Models::DecisionQuestionInputText, OpenAI::Models::DecisionQuestionInputImage, OpenAI::Models::DecisionInputJSON>]
132
- #
133
- # @param name [String]
134
- #
135
- # @param type [Symbol, :choice]
136
- # The type of the object. Always `choice`.
137
- class Choice < OpenAI::Internal::Type::BaseModel
138
- # @!attribute value
139
- # Choice values are typed: a string and a boolean with the same text are distinct.
140
- #
141
- # @return [String, Boolean]
142
- required(
143
- :value,
144
- union: -> { OpenAI::Live::DecisionsDelegationUpdateConfig::Question::Choice::Choice::Value }
145
- )
146
-
147
- # @!attribute description
148
- #
149
- # @return [String, nil]
150
- optional :description, String
151
-
152
- # @!method initialize(value:, description: nil)
153
- # @param value [String, Boolean]
154
- # Choice values are typed: a string and a boolean with the same text are distinct.
155
- #
156
- # @param description [String]
157
-
158
- # Choice values are typed: a string and a boolean with the same text are distinct.
159
- #
160
- # @see OpenAI::Models::Live::DecisionsDelegationUpdateConfig::Question::Choice::Choice#value
161
- module Value
162
- extend OpenAI::Internal::Type::Union
163
-
164
- variant String
165
-
166
- variant OpenAI::Internal::Type::Boolean
167
-
168
- # @!method self.variants
169
- # @return [Array(String, Boolean)]
170
- end
171
- end
172
-
173
- # @see OpenAI::Models::Live::DecisionsDelegationUpdateConfig::Question::Choice#instructions
174
- module Instructions
175
- extend OpenAI::Internal::Type::Union
176
-
177
- variant String
178
-
179
- variant(
180
- -> {
181
- OpenAI::Models::Live::DecisionsDelegationUpdateConfig::Question::Choice::Instructions::DecisionQuestionInputPartArray
182
- }
183
- )
184
-
185
- # @!method self.variants
186
- # @return [Array(String, Array<OpenAI::Models::DecisionQuestionInputText, OpenAI::Models::DecisionQuestionInputImage, OpenAI::Models::DecisionInputJSON>)]
187
-
188
- # @type [OpenAI::Internal::Type::Converter]
189
- DecisionQuestionInputPartArray = OpenAI::Internal::Type::ArrayOf[
190
- union: -> { OpenAI::DecisionQuestionInputPart }
191
- ]
192
- end
193
- end
194
-
195
- class Score < OpenAI::Internal::Type::BaseModel
196
- # @!attribute instructions
197
- #
198
- # @return [String, Array<OpenAI::Models::DecisionQuestionInputText, OpenAI::Models::DecisionQuestionInputImage, OpenAI::Models::DecisionInputJSON>]
199
- required(
200
- :instructions,
201
- union: -> { OpenAI::Live::DecisionsDelegationUpdateConfig::Question::Score::Instructions }
202
- )
203
-
204
- # @!attribute levels
205
- #
206
- # @return [Array<OpenAI::Models::Live::DecisionsDelegationUpdateConfig::Question::Score::Level>]
207
- required(
208
- :levels,
209
- -> {
210
- OpenAI::Internal::Type::ArrayOf[OpenAI::Live::DecisionsDelegationUpdateConfig::Question::Score::Level]
211
- }
212
- )
213
-
214
- # @!attribute type
215
- # The type of the object. Always `score`.
216
- #
217
- # @return [Symbol, :score]
218
- required :type, const: :score
219
-
220
- # @!attribute name
221
- #
222
- # @return [String, nil]
223
- optional :name, String
224
-
225
- # @!method initialize(instructions:, levels:, name: nil, type: :score)
226
- # Rate the input against the supplied ordered levels.
227
- #
228
- # @param instructions [String, Array<OpenAI::Models::DecisionQuestionInputText, OpenAI::Models::DecisionQuestionInputImage, OpenAI::Models::DecisionInputJSON>]
229
- #
230
- # @param levels [Array<OpenAI::Models::Live::DecisionsDelegationUpdateConfig::Question::Score::Level>]
231
- #
232
- # @param name [String]
233
- #
234
- # @param type [Symbol, :score]
235
- # The type of the object. Always `score`.
236
-
237
- # @see OpenAI::Models::Live::DecisionsDelegationUpdateConfig::Question::Score#instructions
238
- module Instructions
239
- extend OpenAI::Internal::Type::Union
240
-
241
- variant String
242
-
243
- variant(
244
- -> {
245
- OpenAI::Models::Live::DecisionsDelegationUpdateConfig::Question::Score::Instructions::DecisionQuestionInputPartArray
246
- }
247
- )
248
-
249
- # @!method self.variants
250
- # @return [Array(String, Array<OpenAI::Models::DecisionQuestionInputText, OpenAI::Models::DecisionQuestionInputImage, OpenAI::Models::DecisionInputJSON>)]
251
-
252
- # @type [OpenAI::Internal::Type::Converter]
253
- DecisionQuestionInputPartArray = OpenAI::Internal::Type::ArrayOf[
254
- union: -> { OpenAI::DecisionQuestionInputPart }
255
- ]
256
- end
257
-
258
- class Level < OpenAI::Internal::Type::BaseModel
259
- # @!attribute label
260
- #
261
- # @return [String]
262
- required :label, String
263
-
264
- # @!attribute description
265
- #
266
- # @return [String, nil]
267
- optional :description, String
268
-
269
- # @!method initialize(label:, description: nil)
270
- # @param label [String]
271
- # @param description [String]
272
- end
273
- end
274
-
275
- # @!method self.variants
276
- # @return [Array(OpenAI::Models::Live::DecisionsDelegationUpdateConfig::Question::Predicate, OpenAI::Models::Live::DecisionsDelegationUpdateConfig::Question::Choice, OpenAI::Models::Live::DecisionsDelegationUpdateConfig::Question::Score)]
277
- end
24
+ require_relative "decision_question"
25
+ Question = ::OpenAI::Models::Live::DecisionQuestion
278
26
  end
279
27
  end
280
28
  end
@@ -24,19 +24,19 @@ module OpenAI
24
24
  # Mute audio input to the Live model without closing the session. The server acknowledges with `session.input_audio.muted`.
25
25
  variant :"session.input_audio.mute", -> { OpenAI::Live::InputAudioMuteEvent }
26
26
 
27
- # Resume audio input to a Live model after muting it. The server acknowledges with `session.input_audio.unmuted`.
27
+ # Resume audio input to a Live model after muting it. The server acknowledges with `session.input_audio.unmuted`. An active audio fixture still pauses inference until playback finishes.
28
28
  variant :"session.input_audio.unmute", -> { OpenAI::Live::InputAudioUnmuteEvent }
29
29
 
30
30
  # Play one complete audio fixture through the session output. Send this event over the primary WebSocket or a server sideband. Audio must be raw mono PCM16 little-endian at 24 kHz, regardless of the session audio format, and at most 30 seconds. The entire payload is validated before model speech is interrupted and input is muted. Only one fixture can be active. fixture.playing acknowledges acceptance and fixture.played reports server mixer drain. These notifications are not exact transport-media boundaries. Input arriving during playback is dropped and not replayed.
31
31
  variant :"session.output_audio.fixture.play", -> { OpenAI::Live::OutputAudioFixturePlayEvent }
32
32
 
33
- # Append instructions to the Live conversation while it is running, optionally associating them with an existing client delegation.
33
+ # Append developer instructions to the Live conversation while it is running, optionally associating them with an existing client delegation. Rejected while an audio fixture is active. These instructions remain in conversation history through compaction and are included in future backend delegations. For external audio, describe content already delivered so the assistant does not repeat it.
34
34
  variant :"session.instructions.append", -> { OpenAI::Live::InstructionsAppendEvent }
35
35
 
36
- # Provide silent reasoning or progress context to the Live model, optionally for an existing client delegation.
36
+ # Provide silent reasoning or progress context to the Live model, optionally for an existing client delegation. Rejected while an audio fixture is active.
37
37
  variant :"session.thinking.append", -> { OpenAI::Live::ThinkingAppendEvent }
38
38
 
39
- # Provide context the Live model can communicate to the user, optionally for an existing client delegation.
39
+ # Provide context the Live model can communicate to the user, optionally for an existing client delegation. Rejected while an audio fixture is active.
40
40
  variant :"session.commentary.append", -> { OpenAI::Live::CommentaryAppendEvent }
41
41
 
42
42
  # Evaluate the configured questions using the current conversation and Decision inputs. Reusing an event_id is rejected for the lifetime of the session.
@@ -19,10 +19,10 @@ module OpenAI
19
19
  # Returned when a Live session update is accepted. Contains the resolved session configuration after the update.
20
20
  variant :"session.updated", -> { OpenAI::Live::SessionUpdatedEvent }
21
21
 
22
- # Returned when a session.input_audio.mute command is accepted. Input audio is no longer sent to the model; sideband audio reflection continues.
22
+ # Acknowledges a session.input_audio.mute command. An independent input mute sends silence to the model and preserves sideband audio reflection. Fixture playback does not emit this event.
23
23
  variant :"session.input_audio.muted", -> { OpenAI::Live::InputAudioMutedEvent }
24
24
 
25
- # Returned when a session.input_audio.unmute command is accepted. Input audio is sent to the model again.
25
+ # Acknowledges a session.input_audio.unmute command, removing the independent input mute. An active audio fixture still pauses inference until playback finishes. Fixture playback does not emit this event.
26
26
  variant :"session.input_audio.unmuted", -> { OpenAI::Live::InputAudioUnmutedEvent }
27
27
 
28
28
  # The existing playback path has accepted the validated audio fixture. This acknowledgment does not identify when the listener receives the first sample. The optional client_event_id echoes the play command.
@@ -82,6 +82,17 @@ module OpenAI
82
82
  # @return [Symbol, :responses]
83
83
  required :type, const: :responses
84
84
 
85
+ # @!attribute acknowledgement_delay_ms
86
+ # Milliseconds to wait before requesting an automatic spoken acknowledgement for a
87
+ # delegation. The model may still speak before this delay. Any commentary or
88
+ # thinking appended to the session cancels all pending acknowledgements, including
89
+ # those for other delegations. Defaults to 400 for Decisions sessions and 0
90
+ # (request immediately) for other sessions. Omission in a session update preserves
91
+ # the current value. Updates apply to subsequent delegations.
92
+ #
93
+ # @return [Integer, nil]
94
+ optional :acknowledgement_delay_ms, Integer
95
+
85
96
  # @!attribute responses
86
97
  # Responses backend settings to update. Omitted settings keep their existing
87
98
  # values.
@@ -89,11 +100,19 @@ module OpenAI
89
100
  # @return [OpenAI::Models::Live::ResponsesDelegationUpdateConfig, nil]
90
101
  optional :responses, -> { OpenAI::Live::ResponsesDelegationUpdateConfig }
91
102
 
92
- # @!method initialize(responses: nil, type: :responses)
103
+ # @!method initialize(acknowledgement_delay_ms: nil, responses: nil, type: :responses)
93
104
  # Overrides for the stored session’s Responses backend. Only supported when the
94
105
  # stored session already uses Responses delegation; the delegation type cannot
95
106
  # change.
96
107
  #
108
+ # @param acknowledgement_delay_ms [Integer]
109
+ # Milliseconds to wait before requesting an automatic spoken acknowledgement for a
110
+ # delegation. The model may still speak before this delay. Any commentary or
111
+ # thinking appended to the session cancels all pending acknowledgements, including
112
+ # those for other delegations. Defaults to 400 for Decisions sessions and 0
113
+ # (request immediately) for other sessions. Omission in a session update preserves
114
+ # the current value. Updates apply to subsequent delegations.
115
+ #
97
116
  # @param responses [OpenAI::Models::Live::ResponsesDelegationUpdateConfig]
98
117
  # Responses backend settings to update. Omitted settings keep their existing
99
118
  # values.
@@ -24,8 +24,9 @@ module OpenAI
24
24
  optional :client_event_id, String
25
25
 
26
26
  # @!method initialize(event_id:, client_event_id: nil, type: :"session.input_audio.muted")
27
- # Returned when a session.input_audio.mute command is accepted. Input audio is no
28
- # longer sent to the model; sideband audio reflection continues.
27
+ # Acknowledges a session.input_audio.mute command. An independent input mute sends
28
+ # silence to the model and preserves sideband audio reflection. Fixture playback
29
+ # does not emit this event.
29
30
  #
30
31
  # @param event_id [String]
31
32
  # The unique ID of the Live server event.
@@ -19,7 +19,8 @@ module OpenAI
19
19
 
20
20
  # @!method initialize(event_id: nil, type: :"session.input_audio.unmute")
21
21
  # Resume audio input to a Live model after muting it. The server acknowledges with
22
- # `session.input_audio.unmuted`.
22
+ # `session.input_audio.unmuted`. An active audio fixture still pauses inference
23
+ # until playback finishes.
23
24
  #
24
25
  # @param event_id [String, nil]
25
26
  # Optional client identifier for correlating this command with a server event's
@@ -24,8 +24,9 @@ module OpenAI
24
24
  optional :client_event_id, String
25
25
 
26
26
  # @!method initialize(event_id:, client_event_id: nil, type: :"session.input_audio.unmuted")
27
- # Returned when a session.input_audio.unmute command is accepted. Input audio is
28
- # sent to the model again.
27
+ # Acknowledges a session.input_audio.unmute command, removing the independent
28
+ # input mute. An active audio fixture still pauses inference until playback
29
+ # finishes. Fixture playback does not emit this event.
29
30
  #
30
31
  # @param event_id [String]
31
32
  # The unique ID of the Live server event.