openai 0.90.0 → 0.92.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 (143) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +31 -0
  3. data/README.md +1 -1
  4. data/examples/realtime/README.md +8 -0
  5. data/examples/realtime/browser/README.md +167 -0
  6. data/examples/realtime/browser/index.html +19 -0
  7. data/examples/realtime/browser/page.js +21 -0
  8. data/examples/realtime/browser/peer.js +180 -0
  9. data/examples/realtime/browser/server.rb +281 -0
  10. data/examples/responses/websocket_workflows.rb +66 -6
  11. data/lib/openai/auth/workload_identity.rb +5 -1
  12. data/lib/openai/auth/workload_identity_auth.rb +2 -2
  13. data/lib/openai/auth/x509_token_exchange.rb +1 -1
  14. data/lib/openai/helpers/local_audio/process.rb +1 -1
  15. data/lib/openai/helpers/responses_websocket/connection.rb +2 -1
  16. data/lib/openai/helpers/responses_websocket/session.rb +551 -0
  17. data/lib/openai/helpers/responses_websocket.rb +1 -0
  18. data/lib/openai/helpers/sorbet.rb +1 -1
  19. data/lib/openai/helpers/websocket/async_websocket_transport.rb +6 -1
  20. data/lib/openai/internal/poller.rb +2 -2
  21. data/lib/openai/internal/transport/base_client.rb +1 -1
  22. data/lib/openai/internal/util.rb +1 -1
  23. data/lib/openai/models/beta/agents/session_update_params.rb +108 -1
  24. data/lib/openai/models/beta/beta_response.rb +9 -3
  25. data/lib/openai/models/beta/beta_response_compaction_compacting_event.rb +75 -0
  26. data/lib/openai/models/beta/beta_response_stream_event.rb +4 -1
  27. data/lib/openai/models/beta/beta_responses_client_event.rb +25 -4
  28. data/lib/openai/models/beta/beta_responses_server_event.rb +39 -1
  29. data/lib/openai/models/beta/beta_tool.rb +16 -0
  30. data/lib/openai/models/beta/response_compact_params.rb +9 -3
  31. data/lib/openai/models/beta/response_create_params.rb +21 -4
  32. data/lib/openai/models/beta/session_turn_error.rb +3 -0
  33. data/lib/openai/models/chat_model.rb +3 -1
  34. data/lib/openai/models/realtime/realtime_response_create_mcp_tool.rb +16 -0
  35. data/lib/openai/models/realtime/realtime_session_create_response.rb +16 -0
  36. data/lib/openai/models/realtime/realtime_tools_config_union.rb +16 -0
  37. data/lib/openai/models/responses/response_compact_params.rb +9 -3
  38. data/lib/openai/models/responses/response_compaction_compacting_event.rb +49 -0
  39. data/lib/openai/models/responses/response_create_params.rb +12 -1
  40. data/lib/openai/models/responses/response_stream_event.rb +4 -1
  41. data/lib/openai/models/responses/responses_client_event.rb +12 -1
  42. data/lib/openai/models/responses/responses_server_event.rb +36 -1
  43. data/lib/openai/models/responses/tool.rb +16 -0
  44. data/lib/openai/models/webhooks/deleted_webhook_endpoint.rb +38 -0
  45. data/lib/openai/models/webhooks/event_type_list_params.rb +16 -0
  46. data/lib/openai/models/webhooks/realtime_call_incoming_webhook_event.rb +6 -8
  47. data/lib/openai/models/webhooks/webhook_create_params.rb +73 -0
  48. data/lib/openai/models/webhooks/webhook_delete_params.rb +22 -0
  49. data/lib/openai/models/webhooks/webhook_endpoint.rb +85 -0
  50. data/lib/openai/models/webhooks/webhook_endpoint_list.rb +55 -0
  51. data/lib/openai/models/webhooks/webhook_endpoint_test_result.rb +58 -0
  52. data/lib/openai/models/webhooks/webhook_endpoint_with_secret.rb +105 -0
  53. data/lib/openai/models/webhooks/webhook_event_type_list.rb +28 -0
  54. data/lib/openai/models/webhooks/webhook_list_params.rb +34 -0
  55. data/lib/openai/models/webhooks/webhook_retrieve_params.rb +22 -0
  56. data/lib/openai/models/webhooks/webhook_rotate_secret_params.rb +34 -0
  57. data/lib/openai/models/webhooks/webhook_test_params.rb +59 -0
  58. data/lib/openai/models/webhooks/webhook_update_params.rb +80 -0
  59. data/lib/openai/resources/beta/agents/sessions.rb +6 -2
  60. data/lib/openai/resources/beta/responses.rb +2 -2
  61. data/lib/openai/resources/responses.rb +2 -2
  62. data/lib/openai/resources/webhooks/event_types.rb +35 -0
  63. data/lib/openai/resources/webhooks.rb +195 -0
  64. data/lib/openai/version.rb +1 -1
  65. data/lib/openai.rb +17 -0
  66. data/rbi/openai/helpers/responses_websocket/connection.rbi +5 -0
  67. data/rbi/openai/helpers/responses_websocket/session.rbi +206 -0
  68. data/rbi/openai/models/beta/agents/session_update_params.rbi +178 -0
  69. data/rbi/openai/models/beta/beta_response.rbi +6 -1
  70. data/rbi/openai/models/beta/beta_response_compaction_compacting_event.rbi +136 -0
  71. data/rbi/openai/models/beta/beta_response_stream_event.rbi +1 -0
  72. data/rbi/openai/models/beta/beta_responses_client_event.rbi +27 -4
  73. data/rbi/openai/models/beta/beta_responses_server_event.rbi +77 -0
  74. data/rbi/openai/models/beta/beta_tool.rbi +12 -0
  75. data/rbi/openai/models/beta/response_compact_params.rbi +6 -1
  76. data/rbi/openai/models/beta/response_create_params.rbi +21 -1
  77. data/rbi/openai/models/beta/session_turn_error.rbi +6 -0
  78. data/rbi/openai/models/chat_model.rbi +3 -1
  79. data/rbi/openai/models/realtime/realtime_response_create_mcp_tool.rbi +12 -0
  80. data/rbi/openai/models/realtime/realtime_session_create_response.rbi +12 -0
  81. data/rbi/openai/models/realtime/realtime_tools_config_union.rbi +12 -0
  82. data/rbi/openai/models/responses/response_compact_params.rbi +6 -1
  83. data/rbi/openai/models/responses/response_compaction_compacting_event.rbi +78 -0
  84. data/rbi/openai/models/responses/response_create_params.rbi +15 -0
  85. data/rbi/openai/models/responses/response_stream_event.rbi +1 -0
  86. data/rbi/openai/models/responses/responses_client_event.rbi +15 -0
  87. data/rbi/openai/models/responses/responses_server_event.rbi +71 -0
  88. data/rbi/openai/models/responses/tool.rbi +12 -0
  89. data/rbi/openai/models/webhooks/deleted_webhook_endpoint.rbi +67 -0
  90. data/rbi/openai/models/webhooks/event_type_list_params.rbi +37 -0
  91. data/rbi/openai/models/webhooks/realtime_call_incoming_webhook_event.rbi +6 -8
  92. data/rbi/openai/models/webhooks/webhook_create_params.rbi +139 -0
  93. data/rbi/openai/models/webhooks/webhook_delete_params.rbi +53 -0
  94. data/rbi/openai/models/webhooks/webhook_endpoint.rbi +126 -0
  95. data/rbi/openai/models/webhooks/webhook_endpoint_list.rbi +91 -0
  96. data/rbi/openai/models/webhooks/webhook_endpoint_test_result.rbi +87 -0
  97. data/rbi/openai/models/webhooks/webhook_endpoint_with_secret.rbi +138 -0
  98. data/rbi/openai/models/webhooks/webhook_event_type_list.rbi +58 -0
  99. data/rbi/openai/models/webhooks/webhook_list_params.rbi +67 -0
  100. data/rbi/openai/models/webhooks/webhook_retrieve_params.rbi +53 -0
  101. data/rbi/openai/models/webhooks/webhook_rotate_secret_params.rbi +71 -0
  102. data/rbi/openai/models/webhooks/webhook_test_params.rbi +124 -0
  103. data/rbi/openai/models/webhooks/webhook_update_params.rbi +156 -0
  104. data/rbi/openai/resources/beta/agents/sessions.rbi +5 -1
  105. data/rbi/openai/resources/webhooks/event_types.rbi +24 -0
  106. data/rbi/openai/resources/webhooks.rbi +126 -0
  107. data/responses-websocket.md +117 -10
  108. data/sig/openai/helpers/responses_websocket/connection.rbs +5 -0
  109. data/sig/openai/helpers/responses_websocket/session.rbs +123 -0
  110. data/sig/openai/models/beta/agents/session_update_params.rbs +99 -0
  111. data/sig/openai/models/beta/beta_response.rbs +6 -2
  112. data/sig/openai/models/beta/beta_response_compaction_compacting_event.rbs +58 -0
  113. data/sig/openai/models/beta/beta_response_stream_event.rbs +1 -0
  114. data/sig/openai/models/beta/beta_responses_client_event.rbs +13 -2
  115. data/sig/openai/models/beta/beta_responses_server_event.rbs +35 -0
  116. data/sig/openai/models/beta/response_compact_params.rbs +6 -2
  117. data/sig/openai/models/beta/response_create_params.rbs +13 -2
  118. data/sig/openai/models/beta/session_turn_error.rbs +4 -0
  119. data/sig/openai/models/chat_model.rbs +6 -2
  120. data/sig/openai/models/responses/response_compact_params.rbs +6 -2
  121. data/sig/openai/models/responses/response_compaction_compacting_event.rbs +37 -0
  122. data/sig/openai/models/responses/response_create_params.rbs +7 -0
  123. data/sig/openai/models/responses/response_stream_event.rbs +1 -0
  124. data/sig/openai/models/responses/responses_client_event.rbs +7 -0
  125. data/sig/openai/models/responses/responses_server_event.rbs +32 -0
  126. data/sig/openai/models/webhooks/deleted_webhook_endpoint.rbs +28 -0
  127. data/sig/openai/models/webhooks/event_type_list_params.rbs +16 -0
  128. data/sig/openai/models/webhooks/webhook_create_params.rbs +83 -0
  129. data/sig/openai/models/webhooks/webhook_delete_params.rbs +25 -0
  130. data/sig/openai/models/webhooks/webhook_endpoint.rbs +59 -0
  131. data/sig/openai/models/webhooks/webhook_endpoint_list.rbs +42 -0
  132. data/sig/openai/models/webhooks/webhook_endpoint_test_result.rbs +42 -0
  133. data/sig/openai/models/webhooks/webhook_endpoint_with_secret.rbs +64 -0
  134. data/sig/openai/models/webhooks/webhook_event_type_list.rbs +17 -0
  135. data/sig/openai/models/webhooks/webhook_list_params.rbs +35 -0
  136. data/sig/openai/models/webhooks/webhook_retrieve_params.rbs +25 -0
  137. data/sig/openai/models/webhooks/webhook_rotate_secret_params.rbs +35 -0
  138. data/sig/openai/models/webhooks/webhook_test_params.rbs +78 -0
  139. data/sig/openai/models/webhooks/webhook_update_params.rbs +96 -0
  140. data/sig/openai/resources/beta/agents/sessions.rbs +1 -0
  141. data/sig/openai/resources/webhooks/event_types.rbs +13 -0
  142. data/sig/openai/resources/webhooks.rbs +45 -0
  143. metadata +61 -2
@@ -88,7 +88,6 @@ module OpenAI
88
88
  | :"gpt-5.1"
89
89
  | :"gpt-5.1-2025-11-13"
90
90
  | :"gpt-5.1-codex"
91
- | :"gpt-5.1-mini"
92
91
  | :"gpt-5.1-chat-latest"
93
92
  | :"gpt-5"
94
93
  | :"gpt-5-mini"
@@ -119,6 +118,8 @@ module OpenAI
119
118
  | :"gpt-4o-2024-11-20"
120
119
  | :"gpt-4o-2024-08-06"
121
120
  | :"gpt-4o-2024-05-13"
121
+ | :"gpt-audio-mini"
122
+ | :"gpt-audio-mini-2025-12-15"
122
123
  | :"gpt-4o-audio-preview"
123
124
  | :"gpt-4o-audio-preview-2024-10-01"
124
125
  | :"gpt-4o-audio-preview-2024-12-17"
@@ -152,6 +153,7 @@ module OpenAI
152
153
  | :"gpt-3.5-turbo-1106"
153
154
  | :"gpt-3.5-turbo-0125"
154
155
  | :"gpt-3.5-turbo-16k-0613"
156
+ | :"gpt-5.1-mini"
155
157
  | :"o1-pro"
156
158
  | :"o1-pro-2025-03-19"
157
159
  | :"o3-pro"
@@ -198,7 +200,6 @@ module OpenAI
198
200
  GPT_5_1: :"gpt-5.1"
199
201
  GPT_5_1_2025_11_13: :"gpt-5.1-2025-11-13"
200
202
  GPT_5_1_CODEX: :"gpt-5.1-codex"
201
- GPT_5_1_MINI: :"gpt-5.1-mini"
202
203
  GPT_5_1_CHAT_LATEST: :"gpt-5.1-chat-latest"
203
204
  GPT_5: :"gpt-5"
204
205
  GPT_5_MINI: :"gpt-5-mini"
@@ -229,6 +230,8 @@ module OpenAI
229
230
  GPT_4O_2024_11_20: :"gpt-4o-2024-11-20"
230
231
  GPT_4O_2024_08_06: :"gpt-4o-2024-08-06"
231
232
  GPT_4O_2024_05_13: :"gpt-4o-2024-05-13"
233
+ GPT_AUDIO_MINI: :"gpt-audio-mini"
234
+ GPT_AUDIO_MINI_2025_12_15: :"gpt-audio-mini-2025-12-15"
232
235
  GPT_4O_AUDIO_PREVIEW: :"gpt-4o-audio-preview"
233
236
  GPT_4O_AUDIO_PREVIEW_2024_10_01: :"gpt-4o-audio-preview-2024-10-01"
234
237
  GPT_4O_AUDIO_PREVIEW_2024_12_17: :"gpt-4o-audio-preview-2024-12-17"
@@ -262,6 +265,7 @@ module OpenAI
262
265
  GPT_3_5_TURBO_1106: :"gpt-3.5-turbo-1106"
263
266
  GPT_3_5_TURBO_0125: :"gpt-3.5-turbo-0125"
264
267
  GPT_3_5_TURBO_16K_0613: :"gpt-3.5-turbo-16k-0613"
268
+ GPT_5_1_MINI: :"gpt-5.1-mini"
265
269
  O1_PRO: :"o1-pro"
266
270
  O1_PRO_2025_03_19: :"o1-pro-2025-03-19"
267
271
  O3_PRO: :"o3-pro"
@@ -257,7 +257,6 @@ module OpenAI
257
257
  | :"gpt-5.1"
258
258
  | :"gpt-5.1-2025-11-13"
259
259
  | :"gpt-5.1-codex"
260
- | :"gpt-5.1-mini"
261
260
  | :"gpt-5.1-chat-latest"
262
261
  | :"gpt-5"
263
262
  | :"gpt-5-mini"
@@ -288,6 +287,8 @@ module OpenAI
288
287
  | :"gpt-4o-2024-11-20"
289
288
  | :"gpt-4o-2024-08-06"
290
289
  | :"gpt-4o-2024-05-13"
290
+ | :"gpt-audio-mini"
291
+ | :"gpt-audio-mini-2025-12-15"
291
292
  | :"gpt-4o-audio-preview"
292
293
  | :"gpt-4o-audio-preview-2024-10-01"
293
294
  | :"gpt-4o-audio-preview-2024-12-17"
@@ -321,6 +322,7 @@ module OpenAI
321
322
  | :"gpt-3.5-turbo-1106"
322
323
  | :"gpt-3.5-turbo-0125"
323
324
  | :"gpt-3.5-turbo-16k-0613"
325
+ | :"gpt-5.1-mini"
324
326
  | :"o1-pro"
325
327
  | :"o1-pro-2025-03-19"
326
328
  | :"o3-pro"
@@ -367,7 +369,6 @@ module OpenAI
367
369
  GPT_5_1: :"gpt-5.1"
368
370
  GPT_5_1_2025_11_13: :"gpt-5.1-2025-11-13"
369
371
  GPT_5_1_CODEX: :"gpt-5.1-codex"
370
- GPT_5_1_MINI: :"gpt-5.1-mini"
371
372
  GPT_5_1_CHAT_LATEST: :"gpt-5.1-chat-latest"
372
373
  GPT_5: :"gpt-5"
373
374
  GPT_5_MINI: :"gpt-5-mini"
@@ -398,6 +399,8 @@ module OpenAI
398
399
  GPT_4O_2024_11_20: :"gpt-4o-2024-11-20"
399
400
  GPT_4O_2024_08_06: :"gpt-4o-2024-08-06"
400
401
  GPT_4O_2024_05_13: :"gpt-4o-2024-05-13"
402
+ GPT_AUDIO_MINI: :"gpt-audio-mini"
403
+ GPT_AUDIO_MINI_2025_12_15: :"gpt-audio-mini-2025-12-15"
401
404
  GPT_4O_AUDIO_PREVIEW: :"gpt-4o-audio-preview"
402
405
  GPT_4O_AUDIO_PREVIEW_2024_10_01: :"gpt-4o-audio-preview-2024-10-01"
403
406
  GPT_4O_AUDIO_PREVIEW_2024_12_17: :"gpt-4o-audio-preview-2024-12-17"
@@ -431,6 +434,7 @@ module OpenAI
431
434
  GPT_3_5_TURBO_1106: :"gpt-3.5-turbo-1106"
432
435
  GPT_3_5_TURBO_0125: :"gpt-3.5-turbo-0125"
433
436
  GPT_3_5_TURBO_16K_0613: :"gpt-3.5-turbo-16k-0613"
437
+ GPT_5_1_MINI: :"gpt-5.1-mini"
434
438
  O1_PRO: :"o1-pro"
435
439
  O1_PRO_2025_03_19: :"o1-pro-2025-03-19"
436
440
  O3_PRO: :"o3-pro"
@@ -573,6 +577,7 @@ module OpenAI
573
577
  {
574
578
  ?comparison_response_id: String?,
575
579
  ?mode: OpenAI::Models::Beta::ResponseCreateParams::PromptCacheOptions::mode,
580
+ ?prewarm: bool,
576
581
  ?ttl: OpenAI::Models::Beta::ResponseCreateParams::PromptCacheOptions::ttl
577
582
  }
578
583
 
@@ -585,6 +590,10 @@ module OpenAI
585
590
  OpenAI::Models::Beta::ResponseCreateParams::PromptCacheOptions::mode
586
591
  ) -> OpenAI::Models::Beta::ResponseCreateParams::PromptCacheOptions::mode
587
592
 
593
+ attr_reader prewarm: bool?
594
+
595
+ def prewarm=: (bool) -> bool
596
+
588
597
  attr_reader ttl: OpenAI::Models::Beta::ResponseCreateParams::PromptCacheOptions::ttl?
589
598
 
590
599
  def ttl=: (
@@ -594,12 +603,14 @@ module OpenAI
594
603
  def initialize: (
595
604
  ?comparison_response_id: String?,
596
605
  ?mode: OpenAI::Models::Beta::ResponseCreateParams::PromptCacheOptions::mode,
606
+ ?prewarm: bool,
597
607
  ?ttl: OpenAI::Models::Beta::ResponseCreateParams::PromptCacheOptions::ttl
598
608
  ) -> void
599
609
 
600
610
  def to_hash: -> {
601
611
  ?comparison_response_id: String?,
602
612
  ?mode: OpenAI::Models::Beta::ResponseCreateParams::PromptCacheOptions::mode,
613
+ ?prewarm: bool,
603
614
  ?ttl: OpenAI::Models::Beta::ResponseCreateParams::PromptCacheOptions::ttl
604
615
  }
605
616
 
@@ -23,6 +23,7 @@ module OpenAI
23
23
  :context_length_exceeded
24
24
  | :session_budget_exceeded
25
25
  | :usage_limit_exceeded
26
+ | :credit_balance_exhausted
26
27
  | :rate_limit_exceeded
27
28
  | :server_overloaded
28
29
  | :cyber_policy
@@ -49,6 +50,9 @@ module OpenAI
49
50
  # The organization has reached a usage, plan, or billing limit.
50
51
  USAGE_LIMIT_EXCEEDED: :usage_limit_exceeded
51
52
 
53
+ # The organization has no API credits remaining.
54
+ CREDIT_BALANCE_EXHAUSTED: :credit_balance_exhausted
55
+
52
56
  # The request exceeds the available rate limit.
53
57
  RATE_LIMIT_EXCEEDED: :rate_limit_exceeded
54
58
 
@@ -21,7 +21,6 @@ module OpenAI
21
21
  | :"gpt-5.1"
22
22
  | :"gpt-5.1-2025-11-13"
23
23
  | :"gpt-5.1-codex"
24
- | :"gpt-5.1-mini"
25
24
  | :"gpt-5.1-chat-latest"
26
25
  | :"gpt-5"
27
26
  | :"gpt-5-mini"
@@ -52,6 +51,8 @@ module OpenAI
52
51
  | :"gpt-4o-2024-11-20"
53
52
  | :"gpt-4o-2024-08-06"
54
53
  | :"gpt-4o-2024-05-13"
54
+ | :"gpt-audio-mini"
55
+ | :"gpt-audio-mini-2025-12-15"
55
56
  | :"gpt-4o-audio-preview"
56
57
  | :"gpt-4o-audio-preview-2024-10-01"
57
58
  | :"gpt-4o-audio-preview-2024-12-17"
@@ -85,6 +86,7 @@ module OpenAI
85
86
  | :"gpt-3.5-turbo-1106"
86
87
  | :"gpt-3.5-turbo-0125"
87
88
  | :"gpt-3.5-turbo-16k-0613"
89
+ | :"gpt-5.1-mini"
88
90
 
89
91
  module ChatModel
90
92
  extend OpenAI::Internal::Type::Enum
@@ -109,7 +111,6 @@ module OpenAI
109
111
  GPT_5_1: :"gpt-5.1"
110
112
  GPT_5_1_2025_11_13: :"gpt-5.1-2025-11-13"
111
113
  GPT_5_1_CODEX: :"gpt-5.1-codex"
112
- GPT_5_1_MINI: :"gpt-5.1-mini"
113
114
  GPT_5_1_CHAT_LATEST: :"gpt-5.1-chat-latest"
114
115
  GPT_5: :"gpt-5"
115
116
  GPT_5_MINI: :"gpt-5-mini"
@@ -140,6 +141,8 @@ module OpenAI
140
141
  GPT_4O_2024_11_20: :"gpt-4o-2024-11-20"
141
142
  GPT_4O_2024_08_06: :"gpt-4o-2024-08-06"
142
143
  GPT_4O_2024_05_13: :"gpt-4o-2024-05-13"
144
+ GPT_AUDIO_MINI: :"gpt-audio-mini"
145
+ GPT_AUDIO_MINI_2025_12_15: :"gpt-audio-mini-2025-12-15"
143
146
  GPT_4O_AUDIO_PREVIEW: :"gpt-4o-audio-preview"
144
147
  GPT_4O_AUDIO_PREVIEW_2024_10_01: :"gpt-4o-audio-preview-2024-10-01"
145
148
  GPT_4O_AUDIO_PREVIEW_2024_12_17: :"gpt-4o-audio-preview-2024-12-17"
@@ -173,6 +176,7 @@ module OpenAI
173
176
  GPT_3_5_TURBO_1106: :"gpt-3.5-turbo-1106"
174
177
  GPT_3_5_TURBO_0125: :"gpt-3.5-turbo-0125"
175
178
  GPT_3_5_TURBO_16K_0613: :"gpt-3.5-turbo-16k-0613"
179
+ GPT_5_1_MINI: :"gpt-5.1-mini"
176
180
 
177
181
  def self?.values: -> ::Array[OpenAI::Models::chat_model]
178
182
  end
@@ -79,7 +79,6 @@ module OpenAI
79
79
  | :"gpt-5.1"
80
80
  | :"gpt-5.1-2025-11-13"
81
81
  | :"gpt-5.1-codex"
82
- | :"gpt-5.1-mini"
83
82
  | :"gpt-5.1-chat-latest"
84
83
  | :"gpt-5"
85
84
  | :"gpt-5-mini"
@@ -110,6 +109,8 @@ module OpenAI
110
109
  | :"gpt-4o-2024-11-20"
111
110
  | :"gpt-4o-2024-08-06"
112
111
  | :"gpt-4o-2024-05-13"
112
+ | :"gpt-audio-mini"
113
+ | :"gpt-audio-mini-2025-12-15"
113
114
  | :"gpt-4o-audio-preview"
114
115
  | :"gpt-4o-audio-preview-2024-10-01"
115
116
  | :"gpt-4o-audio-preview-2024-12-17"
@@ -143,6 +144,7 @@ module OpenAI
143
144
  | :"gpt-3.5-turbo-1106"
144
145
  | :"gpt-3.5-turbo-0125"
145
146
  | :"gpt-3.5-turbo-16k-0613"
147
+ | :"gpt-5.1-mini"
146
148
  | :"o1-pro"
147
149
  | :"o1-pro-2025-03-19"
148
150
  | :"o3-pro"
@@ -189,7 +191,6 @@ module OpenAI
189
191
  GPT_5_1: :"gpt-5.1"
190
192
  GPT_5_1_2025_11_13: :"gpt-5.1-2025-11-13"
191
193
  GPT_5_1_CODEX: :"gpt-5.1-codex"
192
- GPT_5_1_MINI: :"gpt-5.1-mini"
193
194
  GPT_5_1_CHAT_LATEST: :"gpt-5.1-chat-latest"
194
195
  GPT_5: :"gpt-5"
195
196
  GPT_5_MINI: :"gpt-5-mini"
@@ -220,6 +221,8 @@ module OpenAI
220
221
  GPT_4O_2024_11_20: :"gpt-4o-2024-11-20"
221
222
  GPT_4O_2024_08_06: :"gpt-4o-2024-08-06"
222
223
  GPT_4O_2024_05_13: :"gpt-4o-2024-05-13"
224
+ GPT_AUDIO_MINI: :"gpt-audio-mini"
225
+ GPT_AUDIO_MINI_2025_12_15: :"gpt-audio-mini-2025-12-15"
223
226
  GPT_4O_AUDIO_PREVIEW: :"gpt-4o-audio-preview"
224
227
  GPT_4O_AUDIO_PREVIEW_2024_10_01: :"gpt-4o-audio-preview-2024-10-01"
225
228
  GPT_4O_AUDIO_PREVIEW_2024_12_17: :"gpt-4o-audio-preview-2024-12-17"
@@ -253,6 +256,7 @@ module OpenAI
253
256
  GPT_3_5_TURBO_1106: :"gpt-3.5-turbo-1106"
254
257
  GPT_3_5_TURBO_0125: :"gpt-3.5-turbo-0125"
255
258
  GPT_3_5_TURBO_16K_0613: :"gpt-3.5-turbo-16k-0613"
259
+ GPT_5_1_MINI: :"gpt-5.1-mini"
256
260
  O1_PRO: :"o1-pro"
257
261
  O1_PRO_2025_03_19: :"o1-pro-2025-03-19"
258
262
  O3_PRO: :"o3-pro"
@@ -0,0 +1,37 @@
1
+ module OpenAI
2
+ module Models
3
+ module Responses
4
+ type response_compaction_compacting_event =
5
+ {
6
+ item_id: String,
7
+ output_index: Integer,
8
+ sequence_number: Integer,
9
+ ?type: :"response.compaction.compacting"
10
+ }
11
+
12
+ class ResponseCompactionCompactingEvent < OpenAI::Internal::Type::BaseModel
13
+ attr_accessor item_id: String
14
+
15
+ attr_accessor output_index: Integer
16
+
17
+ attr_accessor sequence_number: Integer
18
+
19
+ attr_accessor type: :"response.compaction.compacting"
20
+
21
+ def initialize: (
22
+ item_id: String,
23
+ output_index: Integer,
24
+ sequence_number: Integer,
25
+ ?type: :"response.compaction.compacting"
26
+ ) -> void
27
+
28
+ def to_hash: -> {
29
+ item_id: String,
30
+ output_index: Integer,
31
+ sequence_number: Integer,
32
+ ?type: :"response.compaction.compacting"
33
+ }
34
+ end
35
+ end
36
+ end
37
+ end
@@ -327,6 +327,7 @@ module OpenAI
327
327
  {
328
328
  ?comparison_response_id: String?,
329
329
  ?mode: OpenAI::Models::Responses::ResponseCreateParams::PromptCacheOptions::mode,
330
+ ?prewarm: bool,
330
331
  ?ttl: OpenAI::Models::Responses::ResponseCreateParams::PromptCacheOptions::ttl
331
332
  }
332
333
 
@@ -339,6 +340,10 @@ module OpenAI
339
340
  OpenAI::Models::Responses::ResponseCreateParams::PromptCacheOptions::mode
340
341
  ) -> OpenAI::Models::Responses::ResponseCreateParams::PromptCacheOptions::mode
341
342
 
343
+ attr_reader prewarm: bool?
344
+
345
+ def prewarm=: (bool) -> bool
346
+
342
347
  attr_reader ttl: OpenAI::Models::Responses::ResponseCreateParams::PromptCacheOptions::ttl?
343
348
 
344
349
  def ttl=: (
@@ -348,12 +353,14 @@ module OpenAI
348
353
  def initialize: (
349
354
  ?comparison_response_id: String?,
350
355
  ?mode: OpenAI::Models::Responses::ResponseCreateParams::PromptCacheOptions::mode,
356
+ ?prewarm: bool,
351
357
  ?ttl: OpenAI::Models::Responses::ResponseCreateParams::PromptCacheOptions::ttl
352
358
  ) -> void
353
359
 
354
360
  def to_hash: -> {
355
361
  ?comparison_response_id: String?,
356
362
  ?mode: OpenAI::Models::Responses::ResponseCreateParams::PromptCacheOptions::mode,
363
+ ?prewarm: bool,
357
364
  ?ttl: OpenAI::Models::Responses::ResponseCreateParams::PromptCacheOptions::ttl
358
365
  }
359
366
 
@@ -11,6 +11,7 @@ module OpenAI
11
11
  | OpenAI::Responses::ResponseCodeInterpreterCallCompletedEvent
12
12
  | OpenAI::Responses::ResponseCodeInterpreterCallInProgressEvent
13
13
  | OpenAI::Responses::ResponseCodeInterpreterCallInterpretingEvent
14
+ | OpenAI::Responses::ResponseCompactionCompactingEvent
14
15
  | OpenAI::Responses::ResponseCompletedEvent
15
16
  | OpenAI::Responses::ResponseContentPartAddedEvent
16
17
  | OpenAI::Responses::ResponseContentPartDoneEvent
@@ -346,6 +346,7 @@ module OpenAI
346
346
  {
347
347
  ?comparison_response_id: String?,
348
348
  ?mode: OpenAI::Models::Responses::ResponsesClientEvent::ResponseCreate::PromptCacheOptions::mode,
349
+ ?prewarm: bool,
349
350
  ?ttl: OpenAI::Models::Responses::ResponsesClientEvent::ResponseCreate::PromptCacheOptions::ttl
350
351
  }
351
352
 
@@ -358,6 +359,10 @@ module OpenAI
358
359
  OpenAI::Models::Responses::ResponsesClientEvent::ResponseCreate::PromptCacheOptions::mode
359
360
  ) -> OpenAI::Models::Responses::ResponsesClientEvent::ResponseCreate::PromptCacheOptions::mode
360
361
 
362
+ attr_reader prewarm: bool?
363
+
364
+ def prewarm=: (bool) -> bool
365
+
361
366
  attr_reader ttl: OpenAI::Models::Responses::ResponsesClientEvent::ResponseCreate::PromptCacheOptions::ttl?
362
367
 
363
368
  def ttl=: (
@@ -367,12 +372,14 @@ module OpenAI
367
372
  def initialize: (
368
373
  ?comparison_response_id: String?,
369
374
  ?mode: OpenAI::Models::Responses::ResponsesClientEvent::ResponseCreate::PromptCacheOptions::mode,
375
+ ?prewarm: bool,
370
376
  ?ttl: OpenAI::Models::Responses::ResponsesClientEvent::ResponseCreate::PromptCacheOptions::ttl
371
377
  ) -> void
372
378
 
373
379
  def to_hash: -> {
374
380
  ?comparison_response_id: String?,
375
381
  ?mode: OpenAI::Models::Responses::ResponsesClientEvent::ResponseCreate::PromptCacheOptions::mode,
382
+ ?prewarm: bool,
376
383
  ?ttl: OpenAI::Models::Responses::ResponsesClientEvent::ResponseCreate::PromptCacheOptions::ttl
377
384
  }
378
385
 
@@ -15,6 +15,7 @@ module OpenAI
15
15
  | OpenAI::Responses::ResponsesServerEvent::ResponseCodeInterpreterCallWsCompleted
16
16
  | OpenAI::Responses::ResponsesServerEvent::ResponseCodeInterpreterCallInWsProgress
17
17
  | OpenAI::Responses::ResponsesServerEvent::ResponseCodeInterpreterCallWsInterpreting
18
+ | OpenAI::Responses::ResponsesServerEvent::ResponseCompactionWsCompacting
18
19
  | OpenAI::Responses::ResponsesServerEvent::ResponseWsCompleted
19
20
  | OpenAI::Responses::ResponsesServerEvent::ResponseContentPartWsAdded
20
21
  | OpenAI::Responses::ResponsesServerEvent::ResponseContentPartWsDone
@@ -334,6 +335,37 @@ module OpenAI
334
335
  }
335
336
  end
336
337
 
338
+ type response_compaction_ws_compacting =
339
+ {
340
+ item_id: String,
341
+ output_index: Integer,
342
+ sequence_number: Integer,
343
+ ?type: :"response.compaction.compacting",
344
+ ?stream_id: String
345
+ }
346
+
347
+ class ResponseCompactionWsCompacting < OpenAI::Models::Responses::ResponseCompactionCompactingEvent
348
+ def stream_id: -> String?
349
+
350
+ def stream_id=: (String _) -> String
351
+
352
+ def initialize: (
353
+ item_id: String,
354
+ output_index: Integer,
355
+ sequence_number: Integer,
356
+ ?stream_id: String,
357
+ ?type: :"response.compaction.compacting"
358
+ ) -> void
359
+
360
+ def to_hash: -> {
361
+ item_id: String,
362
+ output_index: Integer,
363
+ sequence_number: Integer,
364
+ ?type: :"response.compaction.compacting",
365
+ ?stream_id: String
366
+ }
367
+ end
368
+
337
369
  type response_ws_completed =
338
370
  {
339
371
  response: OpenAI::Responses::Response,
@@ -0,0 +1,28 @@
1
+ module OpenAI
2
+ module Models
3
+ module Webhooks
4
+ type deleted_webhook_endpoint =
5
+ { id: String, deleted: bool, ?object: :"webhook_endpoint.deleted" }
6
+
7
+ class DeletedWebhookEndpoint < OpenAI::Internal::Type::BaseModel
8
+ attr_accessor id: String
9
+
10
+ attr_accessor deleted: bool
11
+
12
+ attr_accessor object: :"webhook_endpoint.deleted"
13
+
14
+ def initialize: (
15
+ id: String,
16
+ deleted: bool,
17
+ ?object: :"webhook_endpoint.deleted"
18
+ ) -> void
19
+
20
+ def to_hash: -> {
21
+ id: String,
22
+ deleted: bool,
23
+ ?object: :"webhook_endpoint.deleted"
24
+ }
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,16 @@
1
+ module OpenAI
2
+ module Models
3
+ module Webhooks
4
+ type event_type_list_params = { ?request_options: OpenAI::request_opts }
5
+
6
+ class EventTypeListParams < OpenAI::Internal::Type::BaseModel
7
+ extend OpenAI::Internal::Type::RequestParameters::Converter
8
+ include OpenAI::Internal::Type::RequestParameters
9
+
10
+ def initialize: (?request_options: OpenAI::request_opts) -> void
11
+
12
+ def to_hash: -> { ?request_options: OpenAI::RequestOptions }
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,83 @@
1
+ module OpenAI
2
+ module Models
3
+ module Webhooks
4
+ type webhook_create_params =
5
+ {
6
+ event_types: ::Array[OpenAI::Models::Webhooks::WebhookCreateParams::event_type],
7
+ name: String,
8
+ url: String,
9
+ ?request_options: OpenAI::request_opts
10
+ }
11
+
12
+ class WebhookCreateParams < OpenAI::Internal::Type::BaseModel
13
+ extend OpenAI::Internal::Type::RequestParameters::Converter
14
+ include OpenAI::Internal::Type::RequestParameters
15
+
16
+ attr_accessor event_types: ::Array[OpenAI::Models::Webhooks::WebhookCreateParams::event_type]
17
+
18
+ attr_accessor name: String
19
+
20
+ attr_accessor url: String
21
+
22
+ def initialize: (
23
+ event_types: ::Array[OpenAI::Models::Webhooks::WebhookCreateParams::event_type],
24
+ name: String,
25
+ url: String,
26
+ ?request_options: OpenAI::request_opts
27
+ ) -> void
28
+
29
+ def to_hash: -> {
30
+ event_types: ::Array[OpenAI::Models::Webhooks::WebhookCreateParams::event_type],
31
+ name: String,
32
+ url: String,
33
+ ?request_options: OpenAI::RequestOptions
34
+ }
35
+
36
+ type event_type =
37
+ :"batch.completed"
38
+ | :"batch.failed"
39
+ | :"batch.expired"
40
+ | :"batch.cancelled"
41
+ | :"response.completed"
42
+ | :"response.failed"
43
+ | :"response.cancelled"
44
+ | :"response.incomplete"
45
+ | :"eval.run.succeeded"
46
+ | :"eval.run.failed"
47
+ | :"eval.run.canceled"
48
+ | :"fine_tuning.job.succeeded"
49
+ | :"fine_tuning.job.failed"
50
+ | :"fine_tuning.job.cancelled"
51
+ | :"realtime.call.incoming"
52
+ | :"video.completed"
53
+ | :"video.failed"
54
+ | :"safety.alert.created"
55
+
56
+ module EventType
57
+ extend OpenAI::Internal::Type::Enum
58
+
59
+ BATCH_COMPLETED: :"batch.completed"
60
+ BATCH_FAILED: :"batch.failed"
61
+ BATCH_EXPIRED: :"batch.expired"
62
+ BATCH_CANCELLED: :"batch.cancelled"
63
+ RESPONSE_COMPLETED: :"response.completed"
64
+ RESPONSE_FAILED: :"response.failed"
65
+ RESPONSE_CANCELLED: :"response.cancelled"
66
+ RESPONSE_INCOMPLETE: :"response.incomplete"
67
+ EVAL_RUN_SUCCEEDED: :"eval.run.succeeded"
68
+ EVAL_RUN_FAILED: :"eval.run.failed"
69
+ EVAL_RUN_CANCELED: :"eval.run.canceled"
70
+ FINE_TUNING_JOB_SUCCEEDED: :"fine_tuning.job.succeeded"
71
+ FINE_TUNING_JOB_FAILED: :"fine_tuning.job.failed"
72
+ FINE_TUNING_JOB_CANCELLED: :"fine_tuning.job.cancelled"
73
+ REALTIME_CALL_INCOMING: :"realtime.call.incoming"
74
+ VIDEO_COMPLETED: :"video.completed"
75
+ VIDEO_FAILED: :"video.failed"
76
+ SAFETY_ALERT_CREATED: :"safety.alert.created"
77
+
78
+ def self?.values: -> ::Array[OpenAI::Models::Webhooks::WebhookCreateParams::event_type]
79
+ end
80
+ end
81
+ end
82
+ end
83
+ end
@@ -0,0 +1,25 @@
1
+ module OpenAI
2
+ module Models
3
+ module Webhooks
4
+ type webhook_delete_params =
5
+ { webhook_endpoint_id: String, ?request_options: OpenAI::request_opts }
6
+
7
+ class WebhookDeleteParams < OpenAI::Internal::Type::BaseModel
8
+ extend OpenAI::Internal::Type::RequestParameters::Converter
9
+ include OpenAI::Internal::Type::RequestParameters
10
+
11
+ attr_accessor webhook_endpoint_id: String
12
+
13
+ def initialize: (
14
+ webhook_endpoint_id: String,
15
+ ?request_options: OpenAI::request_opts
16
+ ) -> void
17
+
18
+ def to_hash: -> {
19
+ webhook_endpoint_id: String,
20
+ ?request_options: OpenAI::RequestOptions
21
+ }
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,59 @@
1
+ module OpenAI
2
+ module Models
3
+ module Webhooks
4
+ type webhook_endpoint =
5
+ {
6
+ id: String,
7
+ created_at: Integer,
8
+ event_types: ::Array[String],
9
+ name: String,
10
+ ?object: :webhook_endpoint,
11
+ signing_secret_hint: String?,
12
+ url: String,
13
+ ?updated_at: Integer
14
+ }
15
+
16
+ class WebhookEndpoint < OpenAI::Internal::Type::BaseModel
17
+ attr_accessor id: String
18
+
19
+ attr_accessor created_at: Integer
20
+
21
+ attr_accessor event_types: ::Array[String]
22
+
23
+ attr_accessor name: String
24
+
25
+ attr_accessor object: :webhook_endpoint
26
+
27
+ attr_accessor signing_secret_hint: String?
28
+
29
+ attr_accessor url: String
30
+
31
+ attr_reader updated_at: Integer?
32
+
33
+ def updated_at=: (Integer) -> Integer
34
+
35
+ def initialize: (
36
+ id: String,
37
+ created_at: Integer,
38
+ event_types: ::Array[String],
39
+ name: String,
40
+ signing_secret_hint: String?,
41
+ url: String,
42
+ ?updated_at: Integer,
43
+ ?object: :webhook_endpoint
44
+ ) -> void
45
+
46
+ def to_hash: -> {
47
+ id: String,
48
+ created_at: Integer,
49
+ event_types: ::Array[String],
50
+ name: String,
51
+ ?object: :webhook_endpoint,
52
+ signing_secret_hint: String?,
53
+ url: String,
54
+ ?updated_at: Integer
55
+ }
56
+ end
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,42 @@
1
+ module OpenAI
2
+ module Models
3
+ module Webhooks
4
+ type webhook_endpoint_list =
5
+ {
6
+ data: ::Array[OpenAI::Webhooks::WebhookEndpoint],
7
+ first_id: String?,
8
+ has_more: bool,
9
+ last_id: String?,
10
+ ?object: :list
11
+ }
12
+
13
+ class WebhookEndpointList < OpenAI::Internal::Type::BaseModel
14
+ attr_accessor data: ::Array[OpenAI::Webhooks::WebhookEndpoint]
15
+
16
+ attr_accessor first_id: String?
17
+
18
+ attr_accessor has_more: bool
19
+
20
+ attr_accessor last_id: String?
21
+
22
+ attr_accessor object: :list
23
+
24
+ def initialize: (
25
+ data: ::Array[OpenAI::Webhooks::WebhookEndpoint],
26
+ first_id: String?,
27
+ has_more: bool,
28
+ last_id: String?,
29
+ ?object: :list
30
+ ) -> void
31
+
32
+ def to_hash: -> {
33
+ data: ::Array[OpenAI::Webhooks::WebhookEndpoint],
34
+ first_id: String?,
35
+ has_more: bool,
36
+ last_id: String?,
37
+ ?object: :list
38
+ }
39
+ end
40
+ end
41
+ end
42
+ end