openai 0.88.0 → 0.89.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 (239) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +12 -0
  3. data/README.md +1 -1
  4. data/lib/openai/client.rb +4 -0
  5. data/lib/openai/models/beta/beta_response_input_item.rb +91 -1
  6. data/lib/openai/models/beta/beta_response_item.rb +93 -1
  7. data/lib/openai/models/beta/beta_response_output_item.rb +91 -1
  8. data/lib/openai/models/conversations/conversation_item.rb +91 -1
  9. data/lib/openai/models/live/audio_format.rb +109 -0
  10. data/lib/openai/models/live/built_in_voice.rb +38 -0
  11. data/lib/openai/models/live/client_config.rb +22 -0
  12. data/lib/openai/models/live/client_delegation.rb +22 -0
  13. data/lib/openai/models/live/client_event.rb +54 -0
  14. data/lib/openai/models/live/commentary_append_event.rb +59 -0
  15. data/lib/openai/models/live/commentary_appended_event.rb +65 -0
  16. data/lib/openai/models/live/custom_voice.rb +17 -0
  17. data/lib/openai/models/live/data_channel_config.rb +81 -0
  18. data/lib/openai/models/live/delegation_created_event.rb +140 -0
  19. data/lib/openai/models/live/error.rb +60 -0
  20. data/lib/openai/models/live/error_event.rb +52 -0
  21. data/lib/openai/models/live/fork_client_event.rb +53 -0
  22. data/lib/openai/models/live/fork_server_event.rb +295 -0
  23. data/lib/openai/models/live/fork_session_config.rb +107 -0
  24. data/lib/openai/models/live/fork_session_start_event.rb +48 -0
  25. data/lib/openai/models/live/function_tool.rb +60 -0
  26. data/lib/openai/models/live/info_event.rb +60 -0
  27. data/lib/openai/models/live/initial_item.rb +419 -0
  28. data/lib/openai/models/live/input_audio_append_event.rb +50 -0
  29. data/lib/openai/models/live/input_audio_mute_event.rb +33 -0
  30. data/lib/openai/models/live/input_audio_muted_event.rb +42 -0
  31. data/lib/openai/models/live/input_audio_unmute_event.rb +33 -0
  32. data/lib/openai/models/live/input_audio_unmuted_event.rb +42 -0
  33. data/lib/openai/models/live/input_transcript_delta_event.rb +76 -0
  34. data/lib/openai/models/live/instructions_append_event.rb +57 -0
  35. data/lib/openai/models/live/instructions_appended_event.rb +65 -0
  36. data/lib/openai/models/live/live_create_params.rb +57 -0
  37. data/lib/openai/models/live/live_create_response.rb +77 -0
  38. data/lib/openai/models/live/media_session_config.rb +227 -0
  39. data/lib/openai/models/live/media_session_fork_config.rb +75 -0
  40. data/lib/openai/models/live/output_audio_delta_event.rb +58 -0
  41. data/lib/openai/models/live/output_transcript_delta_event.rb +76 -0
  42. data/lib/openai/models/live/response_create_event.rb +33 -0
  43. data/lib/openai/models/live/response_event.rb +67 -0
  44. data/lib/openai/models/live/response_item_create_event.rb +44 -0
  45. data/lib/openai/models/live/responses_delegation_config.rb +332 -0
  46. data/lib/openai/models/live/responses_delegation_update_config.rb +332 -0
  47. data/lib/openai/models/live/server_event.rb +295 -0
  48. data/lib/openai/models/live/server_event_selector.rb +32 -0
  49. data/lib/openai/models/live/session_accept_params.rb +257 -0
  50. data/lib/openai/models/live/session_close_event.rb +33 -0
  51. data/lib/openai/models/live/session_closed_event.rb +113 -0
  52. data/lib/openai/models/live/session_config.rb +236 -0
  53. data/lib/openai/models/live/session_download_recording_params.rb +27 -0
  54. data/lib/openai/models/live/session_fork_params.rb +66 -0
  55. data/lib/openai/models/live/session_fork_response.rb +77 -0
  56. data/lib/openai/models/live/session_hangup_params.rb +22 -0
  57. data/lib/openai/models/live/session_refer_params.rb +34 -0
  58. data/lib/openai/models/live/session_reject_params.rb +32 -0
  59. data/lib/openai/models/live/session_resource.rb +268 -0
  60. data/lib/openai/models/live/session_start_event.rb +46 -0
  61. data/lib/openai/models/live/session_started_event.rb +51 -0
  62. data/lib/openai/models/live/session_update_config.rb +69 -0
  63. data/lib/openai/models/live/session_update_event.rb +46 -0
  64. data/lib/openai/models/live/session_updated_event.rb +51 -0
  65. data/lib/openai/models/live/session_usage.rb +24 -0
  66. data/lib/openai/models/live/session_usage_updated_event.rb +81 -0
  67. data/lib/openai/models/live/thinking_append_event.rb +59 -0
  68. data/lib/openai/models/live/thinking_appended_event.rb +65 -0
  69. data/lib/openai/models/responses/response_input_item.rb +91 -1
  70. data/lib/openai/models/responses/response_item.rb +93 -1
  71. data/lib/openai/models/responses/response_output_item.rb +91 -1
  72. data/lib/openai/models/webhooks/live_call_incoming_webhook_event.rb +12 -7
  73. data/lib/openai/models/webhooks/live_transport_incoming_webhook_event.rb +137 -0
  74. data/lib/openai/models/webhooks/realtime_call_incoming_webhook_event.rb +4 -4
  75. data/lib/openai/models/webhooks/unwrap_webhook_event.rb +9 -2
  76. data/lib/openai/models.rb +2 -0
  77. data/lib/openai/resources/live/forks.rb +16 -0
  78. data/lib/openai/resources/live/sessions.rb +180 -0
  79. data/lib/openai/resources/live/sideband.rb +16 -0
  80. data/lib/openai/resources/live.rb +54 -0
  81. data/lib/openai/resources/webhooks.rb +1 -1
  82. data/lib/openai/version.rb +1 -1
  83. data/lib/openai.rb +65 -0
  84. data/rbi/openai/client.rbi +3 -0
  85. data/rbi/openai/models/beta/beta_response_input_item.rbi +109 -0
  86. data/rbi/openai/models/beta/beta_response_item.rbi +105 -0
  87. data/rbi/openai/models/beta/beta_response_output_item.rbi +119 -0
  88. data/rbi/openai/models/conversations/conversation_item.rbi +133 -0
  89. data/rbi/openai/models/live/audio_format.rbi +185 -0
  90. data/rbi/openai/models/live/built_in_voice.rbi +46 -0
  91. data/rbi/openai/models/live/client_config.rbi +54 -0
  92. data/rbi/openai/models/live/client_delegation.rbi +51 -0
  93. data/rbi/openai/models/live/client_event.rbi +41 -0
  94. data/rbi/openai/models/live/commentary_append_event.rbi +88 -0
  95. data/rbi/openai/models/live/commentary_appended_event.rbi +97 -0
  96. data/rbi/openai/models/live/custom_voice.rbi +46 -0
  97. data/rbi/openai/models/live/data_channel_config.rbi +119 -0
  98. data/rbi/openai/models/live/delegation_created_event.rbi +207 -0
  99. data/rbi/openai/models/live/error.rbi +95 -0
  100. data/rbi/openai/models/live/error_event.rbi +87 -0
  101. data/rbi/openai/models/live/fork_client_event.rbi +40 -0
  102. data/rbi/openai/models/live/fork_server_event.rbi +436 -0
  103. data/rbi/openai/models/live/fork_session_config.rbi +234 -0
  104. data/rbi/openai/models/live/fork_session_start_event.rbi +80 -0
  105. data/rbi/openai/models/live/function_tool.rbi +95 -0
  106. data/rbi/openai/models/live/info_event.rbi +92 -0
  107. data/rbi/openai/models/live/initial_item.rbi +661 -0
  108. data/rbi/openai/models/live/input_audio_append_event.rbi +79 -0
  109. data/rbi/openai/models/live/input_audio_mute_event.rbi +62 -0
  110. data/rbi/openai/models/live/input_audio_muted_event.rbi +74 -0
  111. data/rbi/openai/models/live/input_audio_unmute_event.rbi +62 -0
  112. data/rbi/openai/models/live/input_audio_unmuted_event.rbi +74 -0
  113. data/rbi/openai/models/live/input_transcript_delta_event.rbi +115 -0
  114. data/rbi/openai/models/live/instructions_append_event.rbi +86 -0
  115. data/rbi/openai/models/live/instructions_appended_event.rbi +97 -0
  116. data/rbi/openai/models/live/live_create_params.rbi +121 -0
  117. data/rbi/openai/models/live/live_create_response.rbi +160 -0
  118. data/rbi/openai/models/live/media_session_config.rbi +390 -0
  119. data/rbi/openai/models/live/media_session_fork_config.rbi +143 -0
  120. data/rbi/openai/models/live/output_audio_delta_event.rbi +93 -0
  121. data/rbi/openai/models/live/output_transcript_delta_event.rbi +115 -0
  122. data/rbi/openai/models/live/response_create_event.rbi +62 -0
  123. data/rbi/openai/models/live/response_event.rbi +105 -0
  124. data/rbi/openai/models/live/response_item_create_event.rbi +183 -0
  125. data/rbi/openai/models/live/responses_delegation_config.rbi +562 -0
  126. data/rbi/openai/models/live/responses_delegation_update_config.rbi +585 -0
  127. data/rbi/openai/models/live/server_event.rbi +436 -0
  128. data/rbi/openai/models/live/server_event_selector.rbi +64 -0
  129. data/rbi/openai/models/live/session_accept_params.rbi +451 -0
  130. data/rbi/openai/models/live/session_close_event.rbi +62 -0
  131. data/rbi/openai/models/live/session_closed_event.rbi +148 -0
  132. data/rbi/openai/models/live/session_config.rbi +427 -0
  133. data/rbi/openai/models/live/session_download_recording_params.rbi +57 -0
  134. data/rbi/openai/models/live/session_fork_params.rbi +131 -0
  135. data/rbi/openai/models/live/session_fork_response.rbi +160 -0
  136. data/rbi/openai/models/live/session_hangup_params.rbi +53 -0
  137. data/rbi/openai/models/live/session_refer_params.rbi +64 -0
  138. data/rbi/openai/models/live/session_reject_params.rbi +62 -0
  139. data/rbi/openai/models/live/session_resource.rbi +461 -0
  140. data/rbi/openai/models/live/session_start_event.rbi +78 -0
  141. data/rbi/openai/models/live/session_started_event.rbi +86 -0
  142. data/rbi/openai/models/live/session_update_config.rbi +134 -0
  143. data/rbi/openai/models/live/session_update_event.rbi +78 -0
  144. data/rbi/openai/models/live/session_updated_event.rbi +86 -0
  145. data/rbi/openai/models/live/session_usage.rbi +53 -0
  146. data/rbi/openai/models/live/session_usage_updated_event.rbi +148 -0
  147. data/rbi/openai/models/live/thinking_append_event.rbi +88 -0
  148. data/rbi/openai/models/live/thinking_appended_event.rbi +97 -0
  149. data/rbi/openai/models/responses/response_input_item.rbi +113 -0
  150. data/rbi/openai/models/responses/response_item.rbi +105 -0
  151. data/rbi/openai/models/responses/response_output_item.rbi +125 -0
  152. data/rbi/openai/models/webhooks/live_call_incoming_webhook_event.rbi +11 -7
  153. data/rbi/openai/models/webhooks/live_transport_incoming_webhook_event.rbi +226 -0
  154. data/rbi/openai/models/webhooks/realtime_call_incoming_webhook_event.rbi +4 -4
  155. data/rbi/openai/models/webhooks/unwrap_webhook_event.rbi +1 -0
  156. data/rbi/openai/models.rbi +2 -0
  157. data/rbi/openai/resources/live/forks.rbi +19 -0
  158. data/rbi/openai/resources/live/sessions.rbi +110 -0
  159. data/rbi/openai/resources/live/sideband.rbi +19 -0
  160. data/rbi/openai/resources/live.rbi +43 -0
  161. data/rbi/openai/resources/responses.rbi +75 -38
  162. data/rbi/openai/resources/webhooks.rbi +1 -0
  163. data/sig/openai/client.rbs +2 -0
  164. data/sig/openai/models/beta/beta_response_input_item.rbs +56 -0
  165. data/sig/openai/models/beta/beta_response_item.rbs +56 -0
  166. data/sig/openai/models/beta/beta_response_output_item.rbs +56 -0
  167. data/sig/openai/models/conversations/conversation_item.rbs +56 -0
  168. data/sig/openai/models/live/audio_format.rbs +73 -0
  169. data/sig/openai/models/live/built_in_voice.rbs +58 -0
  170. data/sig/openai/models/live/client_config.rbs +15 -0
  171. data/sig/openai/models/live/client_delegation.rbs +15 -0
  172. data/sig/openai/models/live/client_event.rbs +24 -0
  173. data/sig/openai/models/live/commentary_append_event.rbs +37 -0
  174. data/sig/openai/models/live/commentary_appended_event.rbs +44 -0
  175. data/sig/openai/models/live/custom_voice.rbs +15 -0
  176. data/sig/openai/models/live/data_channel_config.rbs +56 -0
  177. data/sig/openai/models/live/delegation_created_event.rbs +89 -0
  178. data/sig/openai/models/live/error.rbs +46 -0
  179. data/sig/openai/models/live/error_event.rbs +39 -0
  180. data/sig/openai/models/live/fork_client_event.rbs +24 -0
  181. data/sig/openai/models/live/fork_server_event.rbs +212 -0
  182. data/sig/openai/models/live/fork_session_config.rbs +89 -0
  183. data/sig/openai/models/live/fork_session_start_event.rbs +32 -0
  184. data/sig/openai/models/live/function_tool.rbs +42 -0
  185. data/sig/openai/models/live/info_event.rbs +44 -0
  186. data/sig/openai/models/live/initial_item.rbs +332 -0
  187. data/sig/openai/models/live/input_audio_append_event.rbs +32 -0
  188. data/sig/openai/models/live/input_audio_mute_event.rbs +24 -0
  189. data/sig/openai/models/live/input_audio_muted_event.rbs +34 -0
  190. data/sig/openai/models/live/input_audio_unmute_event.rbs +24 -0
  191. data/sig/openai/models/live/input_audio_unmuted_event.rbs +34 -0
  192. data/sig/openai/models/live/input_transcript_delta_event.rbs +49 -0
  193. data/sig/openai/models/live/instructions_append_event.rbs +37 -0
  194. data/sig/openai/models/live/instructions_appended_event.rbs +44 -0
  195. data/sig/openai/models/live/live_create_params.rbs +45 -0
  196. data/sig/openai/models/live/live_create_response.rbs +49 -0
  197. data/sig/openai/models/live/media_session_config.rbs +157 -0
  198. data/sig/openai/models/live/media_session_fork_config.rbs +66 -0
  199. data/sig/openai/models/live/output_audio_delta_event.rbs +41 -0
  200. data/sig/openai/models/live/output_transcript_delta_event.rbs +49 -0
  201. data/sig/openai/models/live/response_create_event.rbs +18 -0
  202. data/sig/openai/models/live/response_event.rbs +44 -0
  203. data/sig/openai/models/live/response_item_create_event.rbs +32 -0
  204. data/sig/openai/models/live/responses_delegation_config.rbs +244 -0
  205. data/sig/openai/models/live/responses_delegation_update_config.rbs +246 -0
  206. data/sig/openai/models/live/server_event.rbs +212 -0
  207. data/sig/openai/models/live/server_event_selector.rbs +19 -0
  208. data/sig/openai/models/live/session_accept_params.rbs +185 -0
  209. data/sig/openai/models/live/session_close_event.rbs +17 -0
  210. data/sig/openai/models/live/session_closed_event.rbs +68 -0
  211. data/sig/openai/models/live/session_config.rbs +168 -0
  212. data/sig/openai/models/live/session_download_recording_params.rbs +25 -0
  213. data/sig/openai/models/live/session_fork_params.rbs +54 -0
  214. data/sig/openai/models/live/session_fork_response.rbs +49 -0
  215. data/sig/openai/models/live/session_hangup_params.rbs +25 -0
  216. data/sig/openai/models/live/session_refer_params.rbs +33 -0
  217. data/sig/openai/models/live/session_reject_params.rbs +33 -0
  218. data/sig/openai/models/live/session_resource.rbs +183 -0
  219. data/sig/openai/models/live/session_start_event.rbs +32 -0
  220. data/sig/openai/models/live/session_started_event.rbs +39 -0
  221. data/sig/openai/models/live/session_update_config.rbs +56 -0
  222. data/sig/openai/models/live/session_update_event.rbs +32 -0
  223. data/sig/openai/models/live/session_updated_event.rbs +39 -0
  224. data/sig/openai/models/live/session_usage.rbs +15 -0
  225. data/sig/openai/models/live/session_usage_updated_event.rbs +58 -0
  226. data/sig/openai/models/live/thinking_append_event.rbs +37 -0
  227. data/sig/openai/models/live/thinking_appended_event.rbs +44 -0
  228. data/sig/openai/models/responses/response_input_item.rbs +56 -0
  229. data/sig/openai/models/responses/response_item.rbs +56 -0
  230. data/sig/openai/models/responses/response_output_item.rbs +56 -0
  231. data/sig/openai/models/webhooks/live_transport_incoming_webhook_event.rbs +95 -0
  232. data/sig/openai/models/webhooks/unwrap_webhook_event.rbs +1 -0
  233. data/sig/openai/models.rbs +2 -0
  234. data/sig/openai/resources/live/forks.rbs +9 -0
  235. data/sig/openai/resources/live/sessions.rbs +44 -0
  236. data/sig/openai/resources/live/sideband.rbs +9 -0
  237. data/sig/openai/resources/live.rbs +19 -0
  238. data/sig/openai/resources/webhooks.rbs +1 -0
  239. metadata +196 -1
@@ -0,0 +1,46 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Live
6
+ class SessionUpdateEvent < OpenAI::Internal::Type::BaseModel
7
+ # @!attribute session
8
+ # Sparse delegation updates. Omitted settings retain their values. The delegation
9
+ # type cannot change, including resetting Responses delegation to null or client.
10
+ # Model, frontend instructions, audio, and startup input are immutable.
11
+ #
12
+ # @return [OpenAI::Models::Live::SessionUpdateConfig]
13
+ required :session, -> { OpenAI::Live::SessionUpdateConfig }
14
+
15
+ # @!attribute type
16
+ # The Live client event type. Always `session.update`.
17
+ #
18
+ # @return [Symbol, :"session.update"]
19
+ required :type, const: :"session.update"
20
+
21
+ # @!attribute event_id
22
+ # Optional client identifier for correlating this command with a server event's
23
+ # client_event_id or error.client_event_id.
24
+ #
25
+ # @return [String, nil]
26
+ optional :event_id, String, nil?: true
27
+
28
+ # @!method initialize(session:, event_id: nil, type: :"session.update")
29
+ # Update the delegation settings of an active Live session. The server
30
+ # acknowledges accepted changes with `session.updated`.
31
+ #
32
+ # @param session [OpenAI::Models::Live::SessionUpdateConfig]
33
+ # Sparse delegation updates. Omitted settings retain their values. The delegation
34
+ # type cannot change, including resetting Responses delegation to null or client.
35
+ # Model, frontend instructions, audio, and startup input are immutable.
36
+ #
37
+ # @param event_id [String, nil]
38
+ # Optional client identifier for correlating this command with a server event's
39
+ # client_event_id or error.client_event_id.
40
+ #
41
+ # @param type [Symbol, :"session.update"]
42
+ # The Live client event type. Always `session.update`.
43
+ end
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,51 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Live
6
+ class SessionUpdatedEvent < OpenAI::Internal::Type::BaseModel
7
+ # @!attribute event_id
8
+ # The unique ID of the Live server event.
9
+ #
10
+ # @return [String]
11
+ required :event_id, String
12
+
13
+ # @!attribute session
14
+ # The resolved Live session configuration and server-assigned session metadata.
15
+ #
16
+ # @return [OpenAI::Models::Live::SessionResource]
17
+ required :session, -> { OpenAI::Live::SessionResource }
18
+
19
+ # @!attribute type
20
+ # The event type, always `session.updated`.
21
+ #
22
+ # @return [Symbol, :"session.updated"]
23
+ required :type, const: :"session.updated"
24
+
25
+ # @!attribute client_event_id
26
+ # The event_id of the client command associated with this server event, when
27
+ # supplied.
28
+ #
29
+ # @return [String, nil]
30
+ optional :client_event_id, String
31
+
32
+ # @!method initialize(event_id:, session:, client_event_id: nil, type: :"session.updated")
33
+ # Returned when a Live session update is accepted. Contains the resolved session
34
+ # configuration after the update.
35
+ #
36
+ # @param event_id [String]
37
+ # The unique ID of the Live server event.
38
+ #
39
+ # @param session [OpenAI::Models::Live::SessionResource]
40
+ # The resolved Live session configuration and server-assigned session metadata.
41
+ #
42
+ # @param client_event_id [String]
43
+ # The event_id of the client command associated with this server event, when
44
+ # supplied.
45
+ #
46
+ # @param type [Symbol, :"session.updated"]
47
+ # The event type, always `session.updated`.
48
+ end
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Live
6
+ class SessionUsage < OpenAI::Internal::Type::BaseModel
7
+ # @!attribute seconds
8
+ # The cumulative Live audio duration in seconds. Do not sum this value across
9
+ # usage events.
10
+ #
11
+ # @return [Float]
12
+ required :seconds, Float
13
+
14
+ # @!method initialize(seconds:)
15
+ # Cumulative audio duration for a Live session. Values are totals for the session,
16
+ # not increments to sum across usage events.
17
+ #
18
+ # @param seconds [Float]
19
+ # The cumulative Live audio duration in seconds. Do not sum this value across
20
+ # usage events.
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,81 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Live
6
+ class SessionUsageUpdatedEvent < OpenAI::Internal::Type::BaseModel
7
+ # @!attribute event_id
8
+ # The unique ID of the Live server event.
9
+ #
10
+ # @return [String]
11
+ required :event_id, String
12
+
13
+ # @!attribute type
14
+ # The event type, always `session.usage.updated`.
15
+ #
16
+ # @return [Symbol, :"session.usage.updated"]
17
+ required :type, const: :"session.usage.updated"
18
+
19
+ # @!attribute usage
20
+ # The cumulative Live audio usage so far.
21
+ #
22
+ # @return [OpenAI::Models::Live::SessionUsage]
23
+ required :usage, -> { OpenAI::Live::SessionUsage }
24
+
25
+ # @!attribute client_event_id
26
+ # The event_id of the client command associated with this server event, when
27
+ # supplied.
28
+ #
29
+ # @return [String, nil]
30
+ optional :client_event_id, String
31
+
32
+ # @!attribute context_window
33
+ # The latest measured Live context-window usage. Omitted when the context limit is
34
+ # unknown.
35
+ #
36
+ # @return [OpenAI::Models::Live::SessionUsageUpdatedEvent::ContextWindow, nil]
37
+ optional :context_window, -> { OpenAI::Live::SessionUsageUpdatedEvent::ContextWindow }
38
+
39
+ # @!method initialize(event_id:, usage:, client_event_id: nil, context_window: nil, type: :"session.usage.updated")
40
+ # Reports cumulative Live audio usage and, when available, the most recent
41
+ # context-window usage. Delegated Responses token usage is reported separately in
42
+ # response.event events.
43
+ #
44
+ # @param event_id [String]
45
+ # The unique ID of the Live server event.
46
+ #
47
+ # @param usage [OpenAI::Models::Live::SessionUsage]
48
+ # The cumulative Live audio usage so far.
49
+ #
50
+ # @param client_event_id [String]
51
+ # The event_id of the client command associated with this server event, when
52
+ # supplied.
53
+ #
54
+ # @param context_window [OpenAI::Models::Live::SessionUsageUpdatedEvent::ContextWindow]
55
+ # The latest measured Live context-window usage. Omitted when the context limit is
56
+ # unknown.
57
+ #
58
+ # @param type [Symbol, :"session.usage.updated"]
59
+ # The event type, always `session.usage.updated`.
60
+
61
+ # @see OpenAI::Models::Live::SessionUsageUpdatedEvent#context_window
62
+ class ContextWindow < OpenAI::Internal::Type::BaseModel
63
+ # @!attribute usage_ratio
64
+ # The latest active context token count divided by the Live model context limit.
65
+ # Can decrease after compaction and may lag between measured audio frames.
66
+ #
67
+ # @return [Float]
68
+ required :usage_ratio, Float
69
+
70
+ # @!method initialize(usage_ratio:)
71
+ # The latest measured Live context-window usage. Omitted when the context limit is
72
+ # unknown.
73
+ #
74
+ # @param usage_ratio [Float]
75
+ # The latest active context token count divided by the Live model context limit.
76
+ # Can decrease after compaction and may lag between measured audio frames.
77
+ end
78
+ end
79
+ end
80
+ end
81
+ end
@@ -0,0 +1,59 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Live
6
+ class ThinkingAppendEvent < OpenAI::Internal::Type::BaseModel
7
+ # @!attribute content
8
+ # Silent reasoning or progress context, limited to 500 tokens. It does not
9
+ # directly request speech, but can influence later speech and is not a secrecy
10
+ # boundary.
11
+ #
12
+ # @return [String]
13
+ required :content, String
14
+
15
+ # @!attribute delegation_id
16
+ # Required, nullable. Set null for general session context, or use the ID from
17
+ # session.delegation.created for an existing client delegation. Non-null IDs are
18
+ # not accepted with Responses delegation.
19
+ #
20
+ # @return [String, nil]
21
+ required :delegation_id, String, nil?: true
22
+
23
+ # @!attribute type
24
+ # The Live client event type. Always `session.thinking.append`.
25
+ #
26
+ # @return [Symbol, :"session.thinking.append"]
27
+ required :type, const: :"session.thinking.append"
28
+
29
+ # @!attribute event_id
30
+ # Optional client identifier for correlating this command with a server event's
31
+ # client_event_id or error.client_event_id.
32
+ #
33
+ # @return [String, nil]
34
+ optional :event_id, String, nil?: true
35
+
36
+ # @!method initialize(content:, delegation_id:, event_id: nil, type: :"session.thinking.append")
37
+ # Provide silent reasoning or progress context to the Live model, optionally for
38
+ # an existing client delegation.
39
+ #
40
+ # @param content [String]
41
+ # Silent reasoning or progress context, limited to 500 tokens. It does not
42
+ # directly request speech, but can influence later speech and is not a secrecy
43
+ # boundary.
44
+ #
45
+ # @param delegation_id [String, nil]
46
+ # Required, nullable. Set null for general session context, or use the ID from
47
+ # session.delegation.created for an existing client delegation. Non-null IDs are
48
+ # not accepted with Responses delegation.
49
+ #
50
+ # @param event_id [String, nil]
51
+ # Optional client identifier for correlating this command with a server event's
52
+ # client_event_id or error.client_event_id.
53
+ #
54
+ # @param type [Symbol, :"session.thinking.append"]
55
+ # The Live client event type. Always `session.thinking.append`.
56
+ end
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,65 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Live
6
+ class ThinkingAppendedEvent < OpenAI::Internal::Type::BaseModel
7
+ # @!attribute end_ms
8
+ # The end of this event on the Live session timeline, in milliseconds from the
9
+ # beginning of the session. For appended context, this can equal start_ms.
10
+ #
11
+ # @return [Integer]
12
+ required :end_ms, Integer
13
+
14
+ # @!attribute event_id
15
+ # The unique ID of the Live server event.
16
+ #
17
+ # @return [String]
18
+ required :event_id, String
19
+
20
+ # @!attribute start_ms
21
+ # The start of this event on the Live session timeline, in milliseconds from the
22
+ # beginning of the session.
23
+ #
24
+ # @return [Integer]
25
+ required :start_ms, Integer
26
+
27
+ # @!attribute type
28
+ # The event type, always `session.thinking.appended`.
29
+ #
30
+ # @return [Symbol, :"session.thinking.appended"]
31
+ required :type, const: :"session.thinking.appended"
32
+
33
+ # @!attribute client_event_id
34
+ # The event_id of the client command associated with this server event, when
35
+ # supplied.
36
+ #
37
+ # @return [String, nil]
38
+ optional :client_event_id, String
39
+
40
+ # @!method initialize(end_ms:, event_id:, start_ms:, client_event_id: nil, type: :"session.thinking.appended")
41
+ # Returned when a session.thinking.append command is accepted into the Live
42
+ # session timeline. Acknowledges the added reasoning context without guaranteeing
43
+ # any spoken output.
44
+ #
45
+ # @param end_ms [Integer]
46
+ # The end of this event on the Live session timeline, in milliseconds from the
47
+ # beginning of the session. For appended context, this can equal start_ms.
48
+ #
49
+ # @param event_id [String]
50
+ # The unique ID of the Live server event.
51
+ #
52
+ # @param start_ms [Integer]
53
+ # The start of this event on the Live session timeline, in milliseconds from the
54
+ # beginning of the session.
55
+ #
56
+ # @param client_event_id [String]
57
+ # The event_id of the client command associated with this server event, when
58
+ # supplied.
59
+ #
60
+ # @param type [Symbol, :"session.thinking.appended"]
61
+ # The event type, always `session.thinking.appended`.
62
+ end
63
+ end
64
+ end
65
+ end
@@ -655,6 +655,36 @@ module OpenAI
655
655
  # @return [Symbol, :image_generation_call]
656
656
  required :type, const: :image_generation_call
657
657
 
658
+ # @!attribute action
659
+ # The action used for image generation.
660
+ #
661
+ # @return [Symbol, OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall::Action, nil]
662
+ optional(
663
+ :action,
664
+ enum: -> { OpenAI::Responses::ResponseInputItem::ImageGenerationCall::Action },
665
+ nil?: true
666
+ )
667
+
668
+ # @!attribute background
669
+ # The background setting used for generation.
670
+ #
671
+ # @return [Symbol, OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall::Background, nil]
672
+ optional(
673
+ :background,
674
+ enum: -> { OpenAI::Responses::ResponseInputItem::ImageGenerationCall::Background },
675
+ nil?: true
676
+ )
677
+
678
+ # @!attribute output_format
679
+ # The output format used for generation.
680
+ #
681
+ # @return [Symbol, OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall::OutputFormat, nil]
682
+ optional(
683
+ :output_format,
684
+ enum: -> { OpenAI::Responses::ResponseInputItem::ImageGenerationCall::OutputFormat },
685
+ nil?: true
686
+ )
687
+
658
688
  # @!attribute quality
659
689
  # The quality of the image generated by the image generation tool call. One of
660
690
  # `low`, `medium`, `high`, `xhigh`, `max`, or `auto`.
@@ -666,6 +696,12 @@ module OpenAI
666
696
  nil?: true
667
697
  )
668
698
 
699
+ # @!attribute revised_prompt
700
+ # The prompt that was used after any model prompt rewriting.
701
+ #
702
+ # @return [String, nil]
703
+ optional :revised_prompt, String, nil?: true
704
+
669
705
  # @!attribute size
670
706
  # The image dimensions as a `WIDTHxHEIGHT` string, for example `1536x864`.
671
707
  #
@@ -678,7 +714,7 @@ module OpenAI
678
714
  nil?: true
679
715
  )
680
716
 
681
- # @!method initialize(id:, result:, status:, quality: nil, size: nil, type: :image_generation_call)
717
+ # @!method initialize(id:, result:, status:, action: nil, background: nil, output_format: nil, quality: nil, revised_prompt: nil, size: nil, type: :image_generation_call)
682
718
  # An image generation request made by the model.
683
719
  #
684
720
  # @param id [String]
@@ -690,10 +726,22 @@ module OpenAI
690
726
  # @param status [Symbol, OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall::Status]
691
727
  # The status of the image generation call.
692
728
  #
729
+ # @param action [Symbol, OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall::Action, nil]
730
+ # The action used for image generation.
731
+ #
732
+ # @param background [Symbol, OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall::Background, nil]
733
+ # The background setting used for generation.
734
+ #
735
+ # @param output_format [Symbol, OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall::OutputFormat, nil]
736
+ # The output format used for generation.
737
+ #
693
738
  # @param quality [Symbol, OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall::Quality, nil]
694
739
  # The quality of the image generated by the image generation tool call. One of
695
740
  # `low`, `medium`, `high`, `xhigh`, `max`, or `auto`.
696
741
  #
742
+ # @param revised_prompt [String, nil]
743
+ # The prompt that was used after any model prompt rewriting.
744
+ #
697
745
  # @param size [String, Symbol, OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall::Size, nil]
698
746
  # The image dimensions as a `WIDTHxHEIGHT` string, for example `1536x864`.
699
747
  #
@@ -715,6 +763,48 @@ module OpenAI
715
763
  # @return [Array<Symbol>]
716
764
  end
717
765
 
766
+ # The action used for image generation.
767
+ #
768
+ # @see OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall#action
769
+ module Action
770
+ extend OpenAI::Internal::Type::Enum
771
+
772
+ GENERATE = :generate
773
+ EDIT = :edit
774
+ AUTO = :auto
775
+
776
+ # @!method self.values
777
+ # @return [Array<Symbol>]
778
+ end
779
+
780
+ # The background setting used for generation.
781
+ #
782
+ # @see OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall#background
783
+ module Background
784
+ extend OpenAI::Internal::Type::Enum
785
+
786
+ TRANSPARENT = :transparent
787
+ OPAQUE = :opaque
788
+ AUTO = :auto
789
+
790
+ # @!method self.values
791
+ # @return [Array<Symbol>]
792
+ end
793
+
794
+ # The output format used for generation.
795
+ #
796
+ # @see OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall#output_format
797
+ module OutputFormat
798
+ extend OpenAI::Internal::Type::Enum
799
+
800
+ PNG = :png
801
+ WEBP = :webp
802
+ JPEG = :jpeg
803
+
804
+ # @!method self.values
805
+ # @return [Array<Symbol>]
806
+ end
807
+
718
808
  # The quality of the image generated by the image generation tool call. One of
719
809
  # `low`, `medium`, `high`, `xhigh`, `max`, or `auto`.
720
810
  #
@@ -291,6 +291,38 @@ module OpenAI
291
291
  # @return [Symbol, :image_generation_call]
292
292
  required :type, const: :image_generation_call
293
293
 
294
+ # @!attribute action
295
+ # The action used for image generation.
296
+ #
297
+ # @return [Symbol, OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::Action, nil]
298
+ optional(
299
+ :action,
300
+ enum: -> {
301
+ OpenAI::Responses::ResponseItem::ImageGenerationCall::Action
302
+ },
303
+ nil?: true
304
+ )
305
+
306
+ # @!attribute background
307
+ # The background setting used for generation.
308
+ #
309
+ # @return [Symbol, OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::Background, nil]
310
+ optional(
311
+ :background,
312
+ enum: -> { OpenAI::Responses::ResponseItem::ImageGenerationCall::Background },
313
+ nil?: true
314
+ )
315
+
316
+ # @!attribute output_format
317
+ # The output format used for generation.
318
+ #
319
+ # @return [Symbol, OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::OutputFormat, nil]
320
+ optional(
321
+ :output_format,
322
+ enum: -> { OpenAI::Responses::ResponseItem::ImageGenerationCall::OutputFormat },
323
+ nil?: true
324
+ )
325
+
294
326
  # @!attribute quality
295
327
  # The quality of the image generated by the image generation tool call. One of
296
328
  # `low`, `medium`, `high`, `xhigh`, `max`, or `auto`.
@@ -304,13 +336,19 @@ module OpenAI
304
336
  nil?: true
305
337
  )
306
338
 
339
+ # @!attribute revised_prompt
340
+ # The prompt that was used after any model prompt rewriting.
341
+ #
342
+ # @return [String, nil]
343
+ optional :revised_prompt, String, nil?: true
344
+
307
345
  # @!attribute size
308
346
  # The image dimensions as a `WIDTHxHEIGHT` string, for example `1536x864`.
309
347
  #
310
348
  # @return [String, Symbol, OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::Size, nil]
311
349
  optional :size, union: -> { OpenAI::Responses::ResponseItem::ImageGenerationCall::Size }, nil?: true
312
350
 
313
- # @!method initialize(id:, result:, status:, quality: nil, size: nil, type: :image_generation_call)
351
+ # @!method initialize(id:, result:, status:, action: nil, background: nil, output_format: nil, quality: nil, revised_prompt: nil, size: nil, type: :image_generation_call)
314
352
  # An image generation request made by the model.
315
353
  #
316
354
  # @param id [String]
@@ -322,10 +360,22 @@ module OpenAI
322
360
  # @param status [Symbol, OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::Status]
323
361
  # The status of the image generation call.
324
362
  #
363
+ # @param action [Symbol, OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::Action, nil]
364
+ # The action used for image generation.
365
+ #
366
+ # @param background [Symbol, OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::Background, nil]
367
+ # The background setting used for generation.
368
+ #
369
+ # @param output_format [Symbol, OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::OutputFormat, nil]
370
+ # The output format used for generation.
371
+ #
325
372
  # @param quality [Symbol, OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::Quality, nil]
326
373
  # The quality of the image generated by the image generation tool call. One of
327
374
  # `low`, `medium`, `high`, `xhigh`, `max`, or `auto`.
328
375
  #
376
+ # @param revised_prompt [String, nil]
377
+ # The prompt that was used after any model prompt rewriting.
378
+ #
329
379
  # @param size [String, Symbol, OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::Size, nil]
330
380
  # The image dimensions as a `WIDTHxHEIGHT` string, for example `1536x864`.
331
381
  #
@@ -347,6 +397,48 @@ module OpenAI
347
397
  # @return [Array<Symbol>]
348
398
  end
349
399
 
400
+ # The action used for image generation.
401
+ #
402
+ # @see OpenAI::Models::Responses::ResponseItem::ImageGenerationCall#action
403
+ module Action
404
+ extend OpenAI::Internal::Type::Enum
405
+
406
+ GENERATE = :generate
407
+ EDIT = :edit
408
+ AUTO = :auto
409
+
410
+ # @!method self.values
411
+ # @return [Array<Symbol>]
412
+ end
413
+
414
+ # The background setting used for generation.
415
+ #
416
+ # @see OpenAI::Models::Responses::ResponseItem::ImageGenerationCall#background
417
+ module Background
418
+ extend OpenAI::Internal::Type::Enum
419
+
420
+ TRANSPARENT = :transparent
421
+ OPAQUE = :opaque
422
+ AUTO = :auto
423
+
424
+ # @!method self.values
425
+ # @return [Array<Symbol>]
426
+ end
427
+
428
+ # The output format used for generation.
429
+ #
430
+ # @see OpenAI::Models::Responses::ResponseItem::ImageGenerationCall#output_format
431
+ module OutputFormat
432
+ extend OpenAI::Internal::Type::Enum
433
+
434
+ PNG = :png
435
+ WEBP = :webp
436
+ JPEG = :jpeg
437
+
438
+ # @!method self.values
439
+ # @return [Array<Symbol>]
440
+ end
441
+
350
442
  # The quality of the image generated by the image generation tool call. One of
351
443
  # `low`, `medium`, `high`, `xhigh`, `max`, or `auto`.
352
444
  #