openai 0.97.0 → 0.99.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 (244) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +31 -0
  3. data/README.md +76 -1
  4. data/lib/openai/helpers/agents/session_stream.rb +60 -3
  5. data/lib/openai/helpers/beta/agents/artifacts.rb +72 -0
  6. data/lib/openai/helpers/beta/agents/creation_stream.rb +69 -0
  7. data/lib/openai/helpers/beta/agents/files.rb +236 -0
  8. data/lib/openai/helpers/beta/agents/function_tool.rb +65 -0
  9. data/lib/openai/helpers/beta/agents/model_adapter.rb +27 -0
  10. data/lib/openai/helpers/beta/agents/result.rb +170 -0
  11. data/lib/openai/helpers/beta/agents/typed_output.rb +191 -0
  12. data/lib/openai/helpers/live/websocket.rb +7 -1
  13. data/lib/openai/helpers/realtime/conversation_item_variant_resolver.rb +1 -1
  14. data/lib/openai/helpers/responses_websocket/connection.rb +7 -1
  15. data/lib/openai/helpers/responses_websocket/session.rb +5 -1
  16. data/lib/openai/helpers/responses_websocket/transports/async_websocket.rb +12 -2
  17. data/lib/openai/internal/transport/base_client.rb +18 -0
  18. data/lib/openai/internal/type/array_of.rb +1 -1
  19. data/lib/openai/internal/type/base_model.rb +6 -3
  20. data/lib/openai/internal/type/converter.rb +50 -3
  21. data/lib/openai/internal/type/hash_of.rb +1 -1
  22. data/lib/openai/internal/type/union.rb +6 -6
  23. data/lib/openai/models/admin/organization/usage_audio_speeches_response.rb +16 -3
  24. data/lib/openai/models/admin/organization/usage_audio_transcriptions_response.rb +16 -3
  25. data/lib/openai/models/admin/organization/usage_code_interpreter_sessions_response.rb +16 -3
  26. data/lib/openai/models/admin/organization/usage_completions_response.rb +16 -3
  27. data/lib/openai/models/admin/organization/usage_costs_response.rb +16 -3
  28. data/lib/openai/models/admin/organization/usage_embeddings_response.rb +16 -3
  29. data/lib/openai/models/admin/organization/usage_file_search_calls_response.rb +16 -3
  30. data/lib/openai/models/admin/organization/usage_images_response.rb +16 -3
  31. data/lib/openai/models/admin/organization/usage_moderations_response.rb +16 -3
  32. data/lib/openai/models/admin/organization/usage_vector_stores_response.rb +16 -3
  33. data/lib/openai/models/admin/organization/usage_web_search_calls_response.rb +16 -3
  34. data/lib/openai/models/all_models.rb +42 -0
  35. data/lib/openai/models/audio/speech_create_params.rb +6 -0
  36. data/lib/openai/models/audio/voice.rb +75 -0
  37. data/lib/openai/models/audio/voice_create_params.rb +217 -0
  38. data/lib/openai/models/beta/agent_create_params.rb +0 -3
  39. data/lib/openai/models/beta/agent_update_params.rb +0 -3
  40. data/lib/openai/models/beta/agents/session_create_params.rb +0 -3
  41. data/lib/openai/models/beta/agents/session_update_params.rb +0 -3
  42. data/lib/openai/models/beta/agents/sessions/session_trace.rb +64 -0
  43. data/lib/openai/models/beta/agents/sessions/trace_list_params.rb +68 -0
  44. data/lib/openai/models/beta/agents/vaults/credential.rb +8 -4
  45. data/lib/openai/models/beta/beta_response.rb +220 -0
  46. data/lib/openai/models/beta/beta_response_output_text.rb +2 -2
  47. data/lib/openai/models/beta/beta_response_output_text_annotation_added_event.rb +2 -2
  48. data/lib/openai/models/beta/beta_responses_client_event.rb +220 -0
  49. data/lib/openai/models/beta/beta_tool.rb +3 -9
  50. data/lib/openai/models/beta/environment.rb +33 -1
  51. data/lib/openai/models/beta/environment_param.rb +24 -1
  52. data/lib/openai/models/beta/response_compact_params.rb +220 -0
  53. data/lib/openai/models/beta/response_create_params.rb +220 -0
  54. data/lib/openai/models/beta/session_turn_error.rb +3 -0
  55. data/lib/openai/models/chat/chat_completion_audio_param.rb +6 -3
  56. data/lib/openai/models/chat/chat_completion_content_part_image.rb +1 -0
  57. data/lib/openai/models/chat_model.rb +178 -0
  58. data/lib/openai/models/image.rb +14 -14
  59. data/lib/openai/models/image_create_variation_params.rb +7 -7
  60. data/lib/openai/models/image_edit_params.rb +76 -87
  61. data/lib/openai/models/image_generate_params.rb +51 -62
  62. data/lib/openai/models/image_model.rb +5 -3
  63. data/lib/openai/models/live/fork_server_event.rb +14 -3
  64. data/lib/openai/models/live/server_event.rb +14 -3
  65. data/lib/openai/models/realtime/realtime_audio_config_output.rb +9 -6
  66. data/lib/openai/models/realtime/realtime_response_create_audio_output.rb +9 -6
  67. data/lib/openai/models/realtime/translations/client_secret_create_params.rb +28 -0
  68. data/lib/openai/models/responses/response_compact_params.rb +220 -0
  69. data/lib/openai/models/responses/response_output_text.rb +2 -2
  70. data/lib/openai/models/responses/response_output_text_annotation_added_event.rb +2 -2
  71. data/lib/openai/models/responses/tool.rb +3 -9
  72. data/lib/openai/models/responses_model.rb +42 -0
  73. data/lib/openai/models/webhooks/agent_session_action_required_webhook_event.rb +109 -0
  74. data/lib/openai/models/webhooks/agent_session_created_webhook_event.rb +106 -0
  75. data/lib/openai/models/webhooks/agent_session_failed_webhook_event.rb +86 -0
  76. data/lib/openai/models/webhooks/agent_session_idle_webhook_event.rb +86 -0
  77. data/lib/openai/models/webhooks/agent_session_in_progress_webhook_event.rb +86 -0
  78. data/lib/openai/models/webhooks/unwrap_webhook_event.rb +18 -2
  79. data/lib/openai/models/webhooks/webhook_create_params.rb +5 -0
  80. data/lib/openai/models/webhooks/webhook_test_params.rb +5 -0
  81. data/lib/openai/models/webhooks/webhook_update_params.rb +5 -0
  82. data/lib/openai/resources/audio/speech.rb +2 -0
  83. data/lib/openai/resources/audio/voices.rb +53 -0
  84. data/lib/openai/resources/audio.rb +5 -0
  85. data/lib/openai/resources/beta/agents/environments/files.rb +31 -0
  86. data/lib/openai/resources/beta/agents/sessions/artifacts.rb +8 -0
  87. data/lib/openai/resources/beta/agents/sessions/events.rb +6 -5
  88. data/lib/openai/resources/beta/agents/sessions/traces.rb +58 -0
  89. data/lib/openai/resources/beta/agents/sessions.rb +18 -5
  90. data/lib/openai/resources/evals/runs.rb +1 -1
  91. data/lib/openai/resources/images.rb +71 -103
  92. data/lib/openai/resources/realtime/translations/client_secrets.rb +58 -0
  93. data/lib/openai/resources/realtime/translations.rb +20 -0
  94. data/lib/openai/resources/realtime.rb +4 -0
  95. data/lib/openai/resources/webhooks.rb +1 -1
  96. data/lib/openai/version.rb +1 -1
  97. data/lib/openai.rb +17 -1
  98. data/rbi/openai/helpers/agents.rbi +20 -1
  99. data/rbi/openai/helpers/beta/agents/artifacts.rbi +29 -0
  100. data/rbi/openai/helpers/beta/agents/files.rbi +65 -0
  101. data/rbi/openai/helpers/beta/agents/function_tool.rbi +40 -0
  102. data/rbi/openai/helpers/beta/agents/model_adapter.rbi +22 -0
  103. data/rbi/openai/helpers/beta/agents.rbi +146 -0
  104. data/rbi/openai/internal/transport/base_client.rbi +12 -0
  105. data/rbi/openai/internal/type/base_model.rbi +2 -2
  106. data/rbi/openai/internal/type/converter.rbi +21 -3
  107. data/rbi/openai/internal/type/union.rbi +6 -2
  108. data/rbi/openai/models/admin/organization/usage_audio_speeches_response.rbi +19 -2
  109. data/rbi/openai/models/admin/organization/usage_audio_transcriptions_response.rbi +19 -2
  110. data/rbi/openai/models/admin/organization/usage_code_interpreter_sessions_response.rbi +19 -2
  111. data/rbi/openai/models/admin/organization/usage_completions_response.rbi +19 -2
  112. data/rbi/openai/models/admin/organization/usage_costs_response.rbi +19 -2
  113. data/rbi/openai/models/admin/organization/usage_embeddings_response.rbi +19 -2
  114. data/rbi/openai/models/admin/organization/usage_file_search_calls_response.rbi +19 -2
  115. data/rbi/openai/models/admin/organization/usage_images_response.rbi +19 -2
  116. data/rbi/openai/models/admin/organization/usage_moderations_response.rbi +19 -2
  117. data/rbi/openai/models/admin/organization/usage_vector_stores_response.rbi +19 -2
  118. data/rbi/openai/models/admin/organization/usage_web_search_calls_response.rbi +19 -2
  119. data/rbi/openai/models/audio/speech_create_params.rbi +6 -0
  120. data/rbi/openai/models/audio/voice.rbi +111 -0
  121. data/rbi/openai/models/audio/voice_create_params.rbi +321 -0
  122. data/rbi/openai/models/beta/agent_create_params.rbi +0 -3
  123. data/rbi/openai/models/beta/agent_update_params.rbi +0 -3
  124. data/rbi/openai/models/beta/agents/session_create_params.rbi +0 -3
  125. data/rbi/openai/models/beta/agents/session_update_params.rbi +0 -3
  126. data/rbi/openai/models/beta/agents/sessions/session_trace.rbi +97 -0
  127. data/rbi/openai/models/beta/agents/sessions/trace_list_params.rbi +121 -0
  128. data/rbi/openai/models/beta/agents/vaults/credential.rbi +5 -5
  129. data/rbi/openai/models/beta/beta_response_output_text.rbi +2 -2
  130. data/rbi/openai/models/beta/beta_response_output_text_annotation_added_event.rbi +2 -2
  131. data/rbi/openai/models/beta/beta_tool.rbi +3 -9
  132. data/rbi/openai/models/beta/environment.rbi +29 -0
  133. data/rbi/openai/models/beta/environment_param.rbi +31 -0
  134. data/rbi/openai/models/beta/session_turn_error.rbi +3 -0
  135. data/rbi/openai/models/chat/chat_completion_audio_param.rbi +6 -3
  136. data/rbi/openai/models/chat/chat_completion_content_part_image.rbi +1 -0
  137. data/rbi/openai/models/image.rbi +14 -14
  138. data/rbi/openai/models/image_create_variation_params.rbi +6 -6
  139. data/rbi/openai/models/image_edit_params.rbi +61 -82
  140. data/rbi/openai/models/image_generate_params.rbi +30 -61
  141. data/rbi/openai/models/image_model.rbi +3 -3
  142. data/rbi/openai/models/live/fork_server_event.rbi +14 -2
  143. data/rbi/openai/models/live/server_event.rbi +14 -2
  144. data/rbi/openai/models/realtime/realtime_audio_config_output.rbi +9 -6
  145. data/rbi/openai/models/realtime/realtime_response_create_audio_output.rbi +9 -6
  146. data/rbi/openai/models/realtime/translations/client_secret_create_params.rbi +68 -0
  147. data/rbi/openai/models/responses/response_output_text.rbi +2 -2
  148. data/rbi/openai/models/responses/response_output_text_annotation_added_event.rbi +2 -2
  149. data/rbi/openai/models/responses/tool.rbi +3 -9
  150. data/rbi/openai/models/webhooks/agent_session_action_required_webhook_event.rbi +222 -0
  151. data/rbi/openai/models/webhooks/agent_session_created_webhook_event.rbi +202 -0
  152. data/rbi/openai/models/webhooks/agent_session_failed_webhook_event.rbi +151 -0
  153. data/rbi/openai/models/webhooks/agent_session_idle_webhook_event.rbi +151 -0
  154. data/rbi/openai/models/webhooks/agent_session_in_progress_webhook_event.rbi +151 -0
  155. data/rbi/openai/models/webhooks/unwrap_webhook_event.rbi +7 -1
  156. data/rbi/openai/models/webhooks/webhook_create_params.rbi +20 -0
  157. data/rbi/openai/models/webhooks/webhook_test_params.rbi +20 -0
  158. data/rbi/openai/models/webhooks/webhook_update_params.rbi +20 -0
  159. data/rbi/openai/resources/audio/speech.rbi +2 -0
  160. data/rbi/openai/resources/audio/voices.rbi +49 -0
  161. data/rbi/openai/resources/audio.rbi +4 -0
  162. data/rbi/openai/resources/beta/agents/environments/files.rbi +31 -0
  163. data/rbi/openai/resources/beta/agents/sessions/artifacts.rbi +8 -0
  164. data/rbi/openai/resources/beta/agents/sessions/events.rbi +6 -5
  165. data/rbi/openai/resources/beta/agents/sessions/traces.rbi +54 -0
  166. data/rbi/openai/resources/beta/agents/sessions.rbi +6 -1
  167. data/rbi/openai/resources/images.rbi +69 -103
  168. data/rbi/openai/resources/realtime/translations/client_secrets.rbi +54 -0
  169. data/rbi/openai/resources/realtime/translations.rbi +22 -0
  170. data/rbi/openai/resources/realtime.rbi +3 -0
  171. data/rbi/openai/resources/webhooks.rbi +5 -0
  172. data/sig/openai/helpers/agents.rbs +7 -0
  173. data/sig/openai/helpers/beta/agents/artifacts.rbs +20 -0
  174. data/sig/openai/helpers/beta/agents/files.rbs +41 -0
  175. data/sig/openai/helpers/beta/agents/function_tool.rbs +24 -0
  176. data/sig/openai/helpers/beta/agents/model_adapter.rbs +16 -0
  177. data/sig/openai/helpers/beta/agents.rbs +71 -0
  178. data/sig/openai/helpers/structured_output.rbs +12 -0
  179. data/sig/openai/internal/transport/base_client.rbs +8 -0
  180. data/sig/openai/internal/type/base_model.rbs +3 -1
  181. data/sig/openai/internal/type/converter.rbs +16 -2
  182. data/sig/openai/internal/type/union.rbs +2 -1
  183. data/sig/openai/models/admin/organization/usage_audio_speeches_response.rbs +20 -3
  184. data/sig/openai/models/admin/organization/usage_audio_transcriptions_response.rbs +20 -3
  185. data/sig/openai/models/admin/organization/usage_code_interpreter_sessions_response.rbs +20 -3
  186. data/sig/openai/models/admin/organization/usage_completions_response.rbs +20 -3
  187. data/sig/openai/models/admin/organization/usage_costs_response.rbs +20 -3
  188. data/sig/openai/models/admin/organization/usage_embeddings_response.rbs +20 -3
  189. data/sig/openai/models/admin/organization/usage_file_search_calls_response.rbs +20 -3
  190. data/sig/openai/models/admin/organization/usage_images_response.rbs +20 -3
  191. data/sig/openai/models/admin/organization/usage_moderations_response.rbs +20 -3
  192. data/sig/openai/models/admin/organization/usage_vector_stores_response.rbs +20 -3
  193. data/sig/openai/models/admin/organization/usage_web_search_calls_response.rbs +20 -3
  194. data/sig/openai/models/audio/speech_create_params.rbs +4 -0
  195. data/sig/openai/models/audio/voice.rbs +70 -0
  196. data/sig/openai/models/audio/voice_create_params.rbs +203 -0
  197. data/sig/openai/models/beta/agent_create_params.rbs +1 -5
  198. data/sig/openai/models/beta/agent_update_params.rbs +1 -5
  199. data/sig/openai/models/beta/agents/session_create_params.rbs +1 -5
  200. data/sig/openai/models/beta/agents/session_update_params.rbs +1 -5
  201. data/sig/openai/models/beta/agents/sessions/session_trace.rbs +65 -0
  202. data/sig/openai/models/beta/agents/sessions/trace_list_params.rbs +81 -0
  203. data/sig/openai/models/beta/agents/vaults/credential.rbs +5 -5
  204. data/sig/openai/models/beta/beta_response_output_text.rbs +2 -2
  205. data/sig/openai/models/beta/beta_response_output_text_annotation_added_event.rbs +2 -2
  206. data/sig/openai/models/beta/beta_tool.rbs +3 -9
  207. data/sig/openai/models/beta/environment.rbs +22 -0
  208. data/sig/openai/models/beta/environment_param.rbs +25 -0
  209. data/sig/openai/models/beta/session_turn_error.rbs +4 -0
  210. data/sig/openai/models/chat/chat_completion_audio_param.rbs +4 -2
  211. data/sig/openai/models/chat/chat_completion_content_part_image.rbs +2 -1
  212. data/sig/openai/models/image.rbs +21 -21
  213. data/sig/openai/models/image_create_variation_params.rbs +4 -4
  214. data/sig/openai/models/image_edit_params.rbs +46 -60
  215. data/sig/openai/models/image_generate_params.rbs +23 -45
  216. data/sig/openai/models/image_model.rbs +6 -6
  217. data/sig/openai/models/live/fork_server_event.rbs +17 -2
  218. data/sig/openai/models/live/server_event.rbs +17 -2
  219. data/sig/openai/models/realtime/realtime_audio_config_output.rbs +9 -6
  220. data/sig/openai/models/realtime/realtime_response_create_audio_output.rbs +9 -6
  221. data/sig/openai/models/realtime/translations/client_secret_create_params.rbs +39 -0
  222. data/sig/openai/models/responses/response_output_text.rbs +2 -2
  223. data/sig/openai/models/responses/response_output_text_annotation_added_event.rbs +2 -2
  224. data/sig/openai/models/responses/tool.rbs +3 -9
  225. data/sig/openai/models/webhooks/agent_session_action_required_webhook_event.rbs +114 -0
  226. data/sig/openai/models/webhooks/agent_session_created_webhook_event.rbs +115 -0
  227. data/sig/openai/models/webhooks/agent_session_failed_webhook_event.rbs +89 -0
  228. data/sig/openai/models/webhooks/agent_session_idle_webhook_event.rbs +89 -0
  229. data/sig/openai/models/webhooks/agent_session_in_progress_webhook_event.rbs +89 -0
  230. data/sig/openai/models/webhooks/unwrap_webhook_event.rbs +6 -1
  231. data/sig/openai/models/webhooks/webhook_create_params.rbs +10 -0
  232. data/sig/openai/models/webhooks/webhook_test_params.rbs +10 -0
  233. data/sig/openai/models/webhooks/webhook_update_params.rbs +10 -0
  234. data/sig/openai/resources/audio/voices.rbs +14 -0
  235. data/sig/openai/resources/audio.rbs +2 -0
  236. data/sig/openai/resources/beta/agents/environments/files.rbs +17 -0
  237. data/sig/openai/resources/beta/agents/sessions/artifacts.rbs +4 -0
  238. data/sig/openai/resources/beta/agents/sessions/traces.rbs +21 -0
  239. data/sig/openai/resources/beta/agents/sessions.rbs +4 -1
  240. data/sig/openai/resources/realtime/translations/client_secrets.rbs +17 -0
  241. data/sig/openai/resources/realtime/translations.rbs +11 -0
  242. data/sig/openai/resources/realtime.rbs +2 -0
  243. data/sig/openai/resources/webhooks.rbs +6 -1
  244. metadata +61 -1
@@ -0,0 +1,115 @@
1
+ module OpenAI
2
+ module Models
3
+ module Webhooks
4
+ type agent_session_created_webhook_event =
5
+ {
6
+ id: String,
7
+ created_at: Integer,
8
+ data: OpenAI::Webhooks::AgentSessionCreatedWebhookEvent::Data,
9
+ ?object: :event,
10
+ ?type: :"agent.session.created"
11
+ }
12
+
13
+ class AgentSessionCreatedWebhookEvent < OpenAI::Internal::Type::BaseModel
14
+ # The unique ID of the event.
15
+ attr_accessor id: String
16
+
17
+ # The Unix timestamp, in seconds, when the event was created.
18
+ attr_accessor created_at: Integer
19
+
20
+ attr_accessor data: OpenAI::Webhooks::AgentSessionCreatedWebhookEvent::Data
21
+
22
+ # The object type. Always `event`.
23
+ attr_accessor object: :event
24
+
25
+ # The event type. Always `agent.session.created`.
26
+ attr_accessor type: :"agent.session.created"
27
+
28
+ # @param id
29
+ # The unique ID of the event.
30
+ # @param created_at
31
+ # The Unix timestamp, in seconds, when the event was created.
32
+ # @param object
33
+ # The object type. Always `event`.
34
+ # @param type
35
+ # The event type. Always `agent.session.created`.
36
+ def initialize: (
37
+ id: String,
38
+ created_at: Integer,
39
+ data: OpenAI::Webhooks::AgentSessionCreatedWebhookEvent::Data,
40
+ ?object: :event,
41
+ ?type: :"agent.session.created"
42
+ ) -> void
43
+
44
+ def to_hash: -> {
45
+ id: String,
46
+ created_at: Integer,
47
+ data: OpenAI::Webhooks::AgentSessionCreatedWebhookEvent::Data,
48
+ ?object: :event,
49
+ ?type: :"agent.session.created"
50
+ }
51
+
52
+ type data =
53
+ {
54
+ id: String,
55
+ environment_type: String,
56
+ ?connect: OpenAI::Webhooks::AgentSessionCreatedWebhookEvent::Data::Connect,
57
+ ?environment_id: String
58
+ }
59
+
60
+ class Data < OpenAI::Internal::Type::BaseModel
61
+ # The ID of the session.
62
+ attr_accessor id: String
63
+
64
+ # The environment type: `none`, `openai_hosted`, or `self_hosted`.
65
+ attr_accessor environment_type: String
66
+
67
+ attr_reader connect: OpenAI::Webhooks::AgentSessionCreatedWebhookEvent::Data::Connect?
68
+
69
+ def connect=: (
70
+ OpenAI::Webhooks::AgentSessionCreatedWebhookEvent::Data::Connect
71
+ ) -> OpenAI::Webhooks::AgentSessionCreatedWebhookEvent::Data::Connect
72
+
73
+ # The ID of the environment, when one exists.
74
+ attr_reader environment_id: String?
75
+
76
+ # The ID of the environment, when one exists.
77
+ def environment_id=: (String) -> String
78
+
79
+ # @param id
80
+ # The ID of the session.
81
+ # @param environment_type
82
+ # The environment type: `none`, `openai_hosted`, or `self_hosted`.
83
+ # @param environment_id
84
+ # The ID of the environment, when one exists.
85
+ def initialize: (
86
+ id: String,
87
+ environment_type: String,
88
+ ?connect: OpenAI::Webhooks::AgentSessionCreatedWebhookEvent::Data::Connect,
89
+ ?environment_id: String
90
+ ) -> void
91
+
92
+ def to_hash: -> {
93
+ id: String,
94
+ environment_type: String,
95
+ ?connect: OpenAI::Webhooks::AgentSessionCreatedWebhookEvent::Data::Connect,
96
+ ?environment_id: String
97
+ }
98
+
99
+ type connect = { remote_url: String }
100
+
101
+ class Connect < OpenAI::Internal::Type::BaseModel
102
+ # The URL used to connect the self-hosted environment.
103
+ attr_accessor remote_url: String
104
+
105
+ # @param remote_url
106
+ # The URL used to connect the self-hosted environment.
107
+ def initialize: (remote_url: String) -> void
108
+
109
+ def to_hash: -> { remote_url: String }
110
+ end
111
+ end
112
+ end
113
+ end
114
+ end
115
+ end
@@ -0,0 +1,89 @@
1
+ module OpenAI
2
+ module Models
3
+ module Webhooks
4
+ type agent_session_failed_webhook_event =
5
+ {
6
+ id: String,
7
+ created_at: Integer,
8
+ data: OpenAI::Webhooks::AgentSessionFailedWebhookEvent::Data,
9
+ ?object: :event,
10
+ ?type: :"agent.session.failed"
11
+ }
12
+
13
+ class AgentSessionFailedWebhookEvent < OpenAI::Internal::Type::BaseModel
14
+ # The unique ID of the event.
15
+ attr_accessor id: String
16
+
17
+ # The Unix timestamp, in seconds, when the event was created.
18
+ attr_accessor created_at: Integer
19
+
20
+ attr_accessor data: OpenAI::Webhooks::AgentSessionFailedWebhookEvent::Data
21
+
22
+ # The object type. Always `event`.
23
+ attr_accessor object: :event
24
+
25
+ # The event type. Always `agent.session.failed`.
26
+ attr_accessor type: :"agent.session.failed"
27
+
28
+ # @param id
29
+ # The unique ID of the event.
30
+ # @param created_at
31
+ # The Unix timestamp, in seconds, when the event was created.
32
+ # @param object
33
+ # The object type. Always `event`.
34
+ # @param type
35
+ # The event type. Always `agent.session.failed`.
36
+ def initialize: (
37
+ id: String,
38
+ created_at: Integer,
39
+ data: OpenAI::Webhooks::AgentSessionFailedWebhookEvent::Data,
40
+ ?object: :event,
41
+ ?type: :"agent.session.failed"
42
+ ) -> void
43
+
44
+ def to_hash: -> {
45
+ id: String,
46
+ created_at: Integer,
47
+ data: OpenAI::Webhooks::AgentSessionFailedWebhookEvent::Data,
48
+ ?object: :event,
49
+ ?type: :"agent.session.failed"
50
+ }
51
+
52
+ type data =
53
+ { id: String, environment_type: String, ?environment_id: String }
54
+
55
+ class Data < OpenAI::Internal::Type::BaseModel
56
+ # The ID of the session.
57
+ attr_accessor id: String
58
+
59
+ # The environment type: `none`, `openai_hosted`, or `self_hosted`.
60
+ attr_accessor environment_type: String
61
+
62
+ # The ID of the environment, when one exists.
63
+ attr_reader environment_id: String?
64
+
65
+ # The ID of the environment, when one exists.
66
+ def environment_id=: (String) -> String
67
+
68
+ # @param id
69
+ # The ID of the session.
70
+ # @param environment_type
71
+ # The environment type: `none`, `openai_hosted`, or `self_hosted`.
72
+ # @param environment_id
73
+ # The ID of the environment, when one exists.
74
+ def initialize: (
75
+ id: String,
76
+ environment_type: String,
77
+ ?environment_id: String
78
+ ) -> void
79
+
80
+ def to_hash: -> {
81
+ id: String,
82
+ environment_type: String,
83
+ ?environment_id: String
84
+ }
85
+ end
86
+ end
87
+ end
88
+ end
89
+ end
@@ -0,0 +1,89 @@
1
+ module OpenAI
2
+ module Models
3
+ module Webhooks
4
+ type agent_session_idle_webhook_event =
5
+ {
6
+ id: String,
7
+ created_at: Integer,
8
+ data: OpenAI::Webhooks::AgentSessionIdleWebhookEvent::Data,
9
+ ?object: :event,
10
+ ?type: :"agent.session.idle"
11
+ }
12
+
13
+ class AgentSessionIdleWebhookEvent < OpenAI::Internal::Type::BaseModel
14
+ # The unique ID of the event.
15
+ attr_accessor id: String
16
+
17
+ # The Unix timestamp, in seconds, when the event was created.
18
+ attr_accessor created_at: Integer
19
+
20
+ attr_accessor data: OpenAI::Webhooks::AgentSessionIdleWebhookEvent::Data
21
+
22
+ # The object type. Always `event`.
23
+ attr_accessor object: :event
24
+
25
+ # The event type. Always `agent.session.idle`.
26
+ attr_accessor type: :"agent.session.idle"
27
+
28
+ # @param id
29
+ # The unique ID of the event.
30
+ # @param created_at
31
+ # The Unix timestamp, in seconds, when the event was created.
32
+ # @param object
33
+ # The object type. Always `event`.
34
+ # @param type
35
+ # The event type. Always `agent.session.idle`.
36
+ def initialize: (
37
+ id: String,
38
+ created_at: Integer,
39
+ data: OpenAI::Webhooks::AgentSessionIdleWebhookEvent::Data,
40
+ ?object: :event,
41
+ ?type: :"agent.session.idle"
42
+ ) -> void
43
+
44
+ def to_hash: -> {
45
+ id: String,
46
+ created_at: Integer,
47
+ data: OpenAI::Webhooks::AgentSessionIdleWebhookEvent::Data,
48
+ ?object: :event,
49
+ ?type: :"agent.session.idle"
50
+ }
51
+
52
+ type data =
53
+ { id: String, environment_type: String, ?environment_id: String }
54
+
55
+ class Data < OpenAI::Internal::Type::BaseModel
56
+ # The ID of the session.
57
+ attr_accessor id: String
58
+
59
+ # The environment type: `none`, `openai_hosted`, or `self_hosted`.
60
+ attr_accessor environment_type: String
61
+
62
+ # The ID of the environment, when one exists.
63
+ attr_reader environment_id: String?
64
+
65
+ # The ID of the environment, when one exists.
66
+ def environment_id=: (String) -> String
67
+
68
+ # @param id
69
+ # The ID of the session.
70
+ # @param environment_type
71
+ # The environment type: `none`, `openai_hosted`, or `self_hosted`.
72
+ # @param environment_id
73
+ # The ID of the environment, when one exists.
74
+ def initialize: (
75
+ id: String,
76
+ environment_type: String,
77
+ ?environment_id: String
78
+ ) -> void
79
+
80
+ def to_hash: -> {
81
+ id: String,
82
+ environment_type: String,
83
+ ?environment_id: String
84
+ }
85
+ end
86
+ end
87
+ end
88
+ end
89
+ end
@@ -0,0 +1,89 @@
1
+ module OpenAI
2
+ module Models
3
+ module Webhooks
4
+ type agent_session_in_progress_webhook_event =
5
+ {
6
+ id: String,
7
+ created_at: Integer,
8
+ data: OpenAI::Webhooks::AgentSessionInProgressWebhookEvent::Data,
9
+ ?object: :event,
10
+ ?type: :"agent.session.in_progress"
11
+ }
12
+
13
+ class AgentSessionInProgressWebhookEvent < OpenAI::Internal::Type::BaseModel
14
+ # The unique ID of the event.
15
+ attr_accessor id: String
16
+
17
+ # The Unix timestamp, in seconds, when the event was created.
18
+ attr_accessor created_at: Integer
19
+
20
+ attr_accessor data: OpenAI::Webhooks::AgentSessionInProgressWebhookEvent::Data
21
+
22
+ # The object type. Always `event`.
23
+ attr_accessor object: :event
24
+
25
+ # The event type. Always `agent.session.in_progress`.
26
+ attr_accessor type: :"agent.session.in_progress"
27
+
28
+ # @param id
29
+ # The unique ID of the event.
30
+ # @param created_at
31
+ # The Unix timestamp, in seconds, when the event was created.
32
+ # @param object
33
+ # The object type. Always `event`.
34
+ # @param type
35
+ # The event type. Always `agent.session.in_progress`.
36
+ def initialize: (
37
+ id: String,
38
+ created_at: Integer,
39
+ data: OpenAI::Webhooks::AgentSessionInProgressWebhookEvent::Data,
40
+ ?object: :event,
41
+ ?type: :"agent.session.in_progress"
42
+ ) -> void
43
+
44
+ def to_hash: -> {
45
+ id: String,
46
+ created_at: Integer,
47
+ data: OpenAI::Webhooks::AgentSessionInProgressWebhookEvent::Data,
48
+ ?object: :event,
49
+ ?type: :"agent.session.in_progress"
50
+ }
51
+
52
+ type data =
53
+ { id: String, environment_type: String, ?environment_id: String }
54
+
55
+ class Data < OpenAI::Internal::Type::BaseModel
56
+ # The ID of the session.
57
+ attr_accessor id: String
58
+
59
+ # The environment type: `none`, `openai_hosted`, or `self_hosted`.
60
+ attr_accessor environment_type: String
61
+
62
+ # The ID of the environment, when one exists.
63
+ attr_reader environment_id: String?
64
+
65
+ # The ID of the environment, when one exists.
66
+ def environment_id=: (String) -> String
67
+
68
+ # @param id
69
+ # The ID of the session.
70
+ # @param environment_type
71
+ # The environment type: `none`, `openai_hosted`, or `self_hosted`.
72
+ # @param environment_id
73
+ # The ID of the environment, when one exists.
74
+ def initialize: (
75
+ id: String,
76
+ environment_type: String,
77
+ ?environment_id: String
78
+ ) -> void
79
+
80
+ def to_hash: -> {
81
+ id: String,
82
+ environment_type: String,
83
+ ?environment_id: String
84
+ }
85
+ end
86
+ end
87
+ end
88
+ end
89
+ end
@@ -2,7 +2,12 @@ module OpenAI
2
2
  module Models
3
3
  module Webhooks
4
4
  type unwrap_webhook_event =
5
- OpenAI::Webhooks::BatchCancelledWebhookEvent
5
+ OpenAI::Webhooks::AgentSessionActionRequiredWebhookEvent
6
+ | OpenAI::Webhooks::AgentSessionCreatedWebhookEvent
7
+ | OpenAI::Webhooks::AgentSessionFailedWebhookEvent
8
+ | OpenAI::Webhooks::AgentSessionIdleWebhookEvent
9
+ | OpenAI::Webhooks::AgentSessionInProgressWebhookEvent
10
+ | OpenAI::Webhooks::BatchCancelledWebhookEvent
6
11
  | OpenAI::Webhooks::BatchCompletedWebhookEvent
7
12
  | OpenAI::Webhooks::BatchExpiredWebhookEvent
8
13
  | OpenAI::Webhooks::BatchFailedWebhookEvent
@@ -60,6 +60,11 @@ module OpenAI
60
60
  | :"realtime.call.incoming"
61
61
  | :"video.completed"
62
62
  | :"video.failed"
63
+ | :"agent.session.created"
64
+ | :"agent.session.action_required"
65
+ | :"agent.session.in_progress"
66
+ | :"agent.session.idle"
67
+ | :"agent.session.failed"
63
68
  | :"safety.alert.created"
64
69
 
65
70
  module EventType
@@ -82,6 +87,11 @@ module OpenAI
82
87
  REALTIME_CALL_INCOMING: :"realtime.call.incoming"
83
88
  VIDEO_COMPLETED: :"video.completed"
84
89
  VIDEO_FAILED: :"video.failed"
90
+ AGENT_SESSION_CREATED: :"agent.session.created"
91
+ AGENT_SESSION_ACTION_REQUIRED: :"agent.session.action_required"
92
+ AGENT_SESSION_IN_PROGRESS: :"agent.session.in_progress"
93
+ AGENT_SESSION_IDLE: :"agent.session.idle"
94
+ AGENT_SESSION_FAILED: :"agent.session.failed"
85
95
  SAFETY_ALERT_CREATED: :"safety.alert.created"
86
96
 
87
97
  def self?.values: -> ::Array[OpenAI::Models::Webhooks::WebhookCreateParams::event_type]
@@ -49,6 +49,11 @@ module OpenAI
49
49
  | :"realtime.call.incoming"
50
50
  | :"video.completed"
51
51
  | :"video.failed"
52
+ | :"agent.session.created"
53
+ | :"agent.session.action_required"
54
+ | :"agent.session.in_progress"
55
+ | :"agent.session.idle"
56
+ | :"agent.session.failed"
52
57
  | :"safety.alert.created"
53
58
 
54
59
  module EventType
@@ -71,6 +76,11 @@ module OpenAI
71
76
  REALTIME_CALL_INCOMING: :"realtime.call.incoming"
72
77
  VIDEO_COMPLETED: :"video.completed"
73
78
  VIDEO_FAILED: :"video.failed"
79
+ AGENT_SESSION_CREATED: :"agent.session.created"
80
+ AGENT_SESSION_ACTION_REQUIRED: :"agent.session.action_required"
81
+ AGENT_SESSION_IN_PROGRESS: :"agent.session.in_progress"
82
+ AGENT_SESSION_IDLE: :"agent.session.idle"
83
+ AGENT_SESSION_FAILED: :"agent.session.failed"
74
84
  SAFETY_ALERT_CREATED: :"safety.alert.created"
75
85
 
76
86
  def self?.values: -> ::Array[OpenAI::Models::Webhooks::WebhookTestParams::event_type]
@@ -76,6 +76,11 @@ module OpenAI
76
76
  | :"realtime.call.incoming"
77
77
  | :"video.completed"
78
78
  | :"video.failed"
79
+ | :"agent.session.created"
80
+ | :"agent.session.action_required"
81
+ | :"agent.session.in_progress"
82
+ | :"agent.session.idle"
83
+ | :"agent.session.failed"
79
84
  | :"safety.alert.created"
80
85
 
81
86
  module EventType
@@ -98,6 +103,11 @@ module OpenAI
98
103
  REALTIME_CALL_INCOMING: :"realtime.call.incoming"
99
104
  VIDEO_COMPLETED: :"video.completed"
100
105
  VIDEO_FAILED: :"video.failed"
106
+ AGENT_SESSION_CREATED: :"agent.session.created"
107
+ AGENT_SESSION_ACTION_REQUIRED: :"agent.session.action_required"
108
+ AGENT_SESSION_IN_PROGRESS: :"agent.session.in_progress"
109
+ AGENT_SESSION_IDLE: :"agent.session.idle"
110
+ AGENT_SESSION_FAILED: :"agent.session.failed"
101
111
  SAFETY_ALERT_CREATED: :"safety.alert.created"
102
112
 
103
113
  def self?.values: -> ::Array[OpenAI::Models::Webhooks::WebhookUpdateParams::event_type]
@@ -0,0 +1,14 @@
1
+ module OpenAI
2
+ module Resources
3
+ class Audio
4
+ class Voices
5
+ def create: (
6
+ body: OpenAI::Models::Audio::VoiceCreateParams::body,
7
+ ?request_options: OpenAI::request_opts
8
+ ) -> OpenAI::Audio::Voice
9
+
10
+ def initialize: (client: OpenAI::Client) -> void
11
+ end
12
+ end
13
+ end
14
+ end
@@ -7,6 +7,8 @@ module OpenAI
7
7
 
8
8
  attr_reader speech: OpenAI::Resources::Audio::Speech
9
9
 
10
+ attr_reader voices: OpenAI::Resources::Audio::Voices
11
+
10
12
  def initialize: (client: OpenAI::Client) -> void
11
13
  end
12
14
  end
@@ -4,6 +4,23 @@ module OpenAI
4
4
  class Agents
5
5
  class Environments
6
6
  class Files
7
+ # Beta file helpers.
8
+ def prepare: (
9
+ Hash[String, String | Pathname] files,
10
+ ?request_options: OpenAI::request_opts
11
+ ) -> OpenAI::Helpers::Beta::Agents::PreparedFiles
12
+ def prepare_directory: (
13
+ String | Pathname directory,
14
+ destination: String,
15
+ include: Array[String],
16
+ ?request_options: OpenAI::request_opts
17
+ ) -> OpenAI::Helpers::Beta::Agents::PreparedFiles
18
+ def upload: (
19
+ String environment_id,
20
+ file: String | Pathname,
21
+ path: String,
22
+ ?request_options: OpenAI::request_opts
23
+ ) -> OpenAI::Helpers::Beta::Agents::PreparedFiles
7
24
  def create: (
8
25
  String environment_id,
9
26
  hosted_environment_file_param: OpenAI::Models::Beta::hosted_environment_file_param,
@@ -4,6 +4,10 @@ module OpenAI
4
4
  class Agents
5
5
  class Sessions
6
6
  class Artifacts
7
+ # Beta result-scoped downloads.
8
+ def for_result: (
9
+ OpenAI::Helpers::Beta::Agents::TurnResult result
10
+ ) -> OpenAI::Helpers::Beta::Agents::ResultArtifacts
7
11
  def retrieve: (
8
12
  String artifact_id,
9
13
  session_id: String,
@@ -0,0 +1,21 @@
1
+ module OpenAI
2
+ module Resources
3
+ class Beta
4
+ class Agents
5
+ class Sessions
6
+ class Traces
7
+ def list: (
8
+ String session_id,
9
+ ?after: String,
10
+ ?limit: Integer,
11
+ ?order: OpenAI::Models::Beta::Agents::Sessions::TraceListParams::order,
12
+ ?request_options: OpenAI::request_opts
13
+ ) -> OpenAI::Internal::CursorPage[OpenAI::Beta::Agents::Sessions::SessionTrace]
14
+
15
+ def initialize: (client: OpenAI::Client) -> void
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -11,6 +11,8 @@ module OpenAI
11
11
 
12
12
  attr_reader events: OpenAI::Resources::Beta::Agents::Sessions::Events
13
13
 
14
+ attr_reader traces: OpenAI::Resources::Beta::Agents::Sessions::Traces
15
+
14
16
  attr_reader turns: OpenAI::Resources::Beta::Agents::Sessions::Turns
15
17
 
16
18
  def create: (
@@ -27,11 +29,12 @@ module OpenAI
27
29
  environment: OpenAI::Models::Beta::environment_param,
28
30
  ?agent: OpenAI::Beta::Agents::SessionCreateParams::Agent,
29
31
  ?agent_id: String,
32
+ ?output_type: singleton(OpenAI::Helpers::StructuredOutput::BaseModel)?,
30
33
  ?input: OpenAI::Models::Beta::Agents::SessionCreateParams::input?,
31
34
  ?metadata: ::Hash[Symbol, String]?,
32
35
  ?vault_ids: ::Array[String]?,
33
36
  ?request_options: OpenAI::request_opts
34
- ) -> OpenAI::Internal::Stream[OpenAI::Models::Beta::agent_session_event]
37
+ ) -> OpenAI::Helpers::Beta::Agents::CreationStream
35
38
 
36
39
  def retrieve: (
37
40
  String session_id,
@@ -0,0 +1,17 @@
1
+ module OpenAI
2
+ module Resources
3
+ class Realtime
4
+ class Translations
5
+ class ClientSecrets
6
+ def create: (
7
+ session: OpenAI::Realtime::RealtimeTranslationSessionCreateRequest,
8
+ ?expires_after: OpenAI::Realtime::RealtimeTranslationClientSecretCreateRequest::ExpiresAfter,
9
+ ?request_options: OpenAI::request_opts
10
+ ) -> OpenAI::Realtime::RealtimeTranslationClientSecretCreateResponse
11
+
12
+ def initialize: (client: OpenAI::Client) -> void
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,11 @@
1
+ module OpenAI
2
+ module Resources
3
+ class Realtime
4
+ class Translations
5
+ attr_reader client_secrets: OpenAI::Resources::Realtime::Translations::ClientSecrets
6
+
7
+ def initialize: (client: OpenAI::Client) -> void
8
+ end
9
+ end
10
+ end
11
+ end
@@ -5,6 +5,8 @@ module OpenAI
5
5
 
6
6
  attr_reader calls: OpenAI::Resources::Realtime::Calls
7
7
 
8
+ attr_reader translations: OpenAI::Resources::Realtime::Translations
9
+
8
10
  def initialize: (client: OpenAI::Client) -> void
9
11
  end
10
12
  end
@@ -50,7 +50,12 @@ module OpenAI
50
50
  String payload,
51
51
  ?Hash[String | Symbol, String] headers,
52
52
  ?String? webhook_secret
53
- ) -> (OpenAI::Webhooks::BatchCancelledWebhookEvent
53
+ ) -> (OpenAI::Webhooks::AgentSessionActionRequiredWebhookEvent
54
+ | OpenAI::Webhooks::AgentSessionCreatedWebhookEvent
55
+ | OpenAI::Webhooks::AgentSessionFailedWebhookEvent
56
+ | OpenAI::Webhooks::AgentSessionIdleWebhookEvent
57
+ | OpenAI::Webhooks::AgentSessionInProgressWebhookEvent
58
+ | OpenAI::Webhooks::BatchCancelledWebhookEvent
54
59
  | OpenAI::Webhooks::BatchCompletedWebhookEvent
55
60
  | OpenAI::Webhooks::BatchExpiredWebhookEvent
56
61
  | OpenAI::Webhooks::BatchFailedWebhookEvent