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
@@ -67,6 +67,12 @@ module OpenAI
67
67
  # The organization has reached a usage, plan, or billing limit.
68
68
  USAGE_LIMIT_EXCEEDED = T.let(:usage_limit_exceeded, OpenAI::Beta::SessionTurnError::Code::TaggedSymbol)
69
69
 
70
+ # The organization has no API credits remaining.
71
+ CREDIT_BALANCE_EXHAUSTED = T.let(
72
+ :credit_balance_exhausted,
73
+ OpenAI::Beta::SessionTurnError::Code::TaggedSymbol
74
+ )
75
+
70
76
  # The request exceeds the available rate limit.
71
77
  RATE_LIMIT_EXCEEDED = T.let(:rate_limit_exceeded, OpenAI::Beta::SessionTurnError::Code::TaggedSymbol)
72
78
 
@@ -29,7 +29,6 @@ module OpenAI
29
29
  GPT_5_1 = T.let(:"gpt-5.1", OpenAI::ChatModel::TaggedSymbol)
30
30
  GPT_5_1_2025_11_13 = T.let(:"gpt-5.1-2025-11-13", OpenAI::ChatModel::TaggedSymbol)
31
31
  GPT_5_1_CODEX = T.let(:"gpt-5.1-codex", OpenAI::ChatModel::TaggedSymbol)
32
- GPT_5_1_MINI = T.let(:"gpt-5.1-mini", OpenAI::ChatModel::TaggedSymbol)
33
32
  GPT_5_1_CHAT_LATEST = T.let(:"gpt-5.1-chat-latest", OpenAI::ChatModel::TaggedSymbol)
34
33
  GPT_5 = T.let(:"gpt-5", OpenAI::ChatModel::TaggedSymbol)
35
34
  GPT_5_MINI = T.let(:"gpt-5-mini", OpenAI::ChatModel::TaggedSymbol)
@@ -60,6 +59,8 @@ module OpenAI
60
59
  GPT_4O_2024_11_20 = T.let(:"gpt-4o-2024-11-20", OpenAI::ChatModel::TaggedSymbol)
61
60
  GPT_4O_2024_08_06 = T.let(:"gpt-4o-2024-08-06", OpenAI::ChatModel::TaggedSymbol)
62
61
  GPT_4O_2024_05_13 = T.let(:"gpt-4o-2024-05-13", OpenAI::ChatModel::TaggedSymbol)
62
+ GPT_AUDIO_MINI = T.let(:"gpt-audio-mini", OpenAI::ChatModel::TaggedSymbol)
63
+ GPT_AUDIO_MINI_2025_12_15 = T.let(:"gpt-audio-mini-2025-12-15", OpenAI::ChatModel::TaggedSymbol)
63
64
  GPT_4O_AUDIO_PREVIEW = T.let(:"gpt-4o-audio-preview", OpenAI::ChatModel::TaggedSymbol)
64
65
  GPT_4O_AUDIO_PREVIEW_2024_10_01 = T.let(:"gpt-4o-audio-preview-2024-10-01", OpenAI::ChatModel::TaggedSymbol)
65
66
  GPT_4O_AUDIO_PREVIEW_2024_12_17 = T.let(:"gpt-4o-audio-preview-2024-12-17", OpenAI::ChatModel::TaggedSymbol)
@@ -99,6 +100,7 @@ module OpenAI
99
100
  GPT_3_5_TURBO_1106 = T.let(:"gpt-3.5-turbo-1106", OpenAI::ChatModel::TaggedSymbol)
100
101
  GPT_3_5_TURBO_0125 = T.let(:"gpt-3.5-turbo-0125", OpenAI::ChatModel::TaggedSymbol)
101
102
  GPT_3_5_TURBO_16K_0613 = T.let(:"gpt-3.5-turbo-16k-0613", OpenAI::ChatModel::TaggedSymbol)
103
+ GPT_5_1_MINI = T.let(:"gpt-5.1-mini", OpenAI::ChatModel::TaggedSymbol)
102
104
 
103
105
  sig { override.returns(T::Array[OpenAI::ChatModel::TaggedSymbol]) }
104
106
  def self.values
@@ -50,6 +50,10 @@ module OpenAI
50
50
  # service connectors
51
51
  # [here](https://developers.openai.com/api/docs/guides/tools-connectors-mcp#connectors).
52
52
  #
53
+ # This field is deprecated for models released after September 1, 2026. Use
54
+ # `server_url` to connect to a remote MCP server, or `tunnel_id` to connect
55
+ # through a Secure MCP Tunnel.
56
+ #
53
57
  # Currently supported `connector_id` values are:
54
58
  #
55
59
  # - Dropbox: `connector_dropbox`
@@ -179,6 +183,10 @@ module OpenAI
179
183
  # service connectors
180
184
  # [here](https://developers.openai.com/api/docs/guides/tools-connectors-mcp#connectors).
181
185
  #
186
+ # This field is deprecated for models released after September 1, 2026. Use
187
+ # `server_url` to connect to a remote MCP server, or `tunnel_id` to connect
188
+ # through a Secure MCP Tunnel.
189
+ #
182
190
  # Currently supported `connector_id` values are:
183
191
  #
184
192
  # - Dropbox: `connector_dropbox`
@@ -350,6 +358,10 @@ module OpenAI
350
358
  # service connectors
351
359
  # [here](https://developers.openai.com/api/docs/guides/tools-connectors-mcp#connectors).
352
360
  #
361
+ # This field is deprecated for models released after September 1, 2026. Use
362
+ # `server_url` to connect to a remote MCP server, or `tunnel_id` to connect
363
+ # through a Secure MCP Tunnel.
364
+ #
353
365
  # Currently supported `connector_id` values are:
354
366
  #
355
367
  # - Dropbox: `connector_dropbox`
@@ -1320,6 +1320,10 @@ module OpenAI
1320
1320
  # service connectors
1321
1321
  # [here](https://developers.openai.com/api/docs/guides/tools-connectors-mcp#connectors).
1322
1322
  #
1323
+ # This field is deprecated for models released after September 1, 2026. Use
1324
+ # `server_url` to connect to a remote MCP server, or `tunnel_id` to connect
1325
+ # through a Secure MCP Tunnel.
1326
+ #
1323
1327
  # Currently supported `connector_id` values are:
1324
1328
  #
1325
1329
  # - Dropbox: `connector_dropbox`
@@ -1453,6 +1457,10 @@ module OpenAI
1453
1457
  # service connectors
1454
1458
  # [here](https://developers.openai.com/api/docs/guides/tools-connectors-mcp#connectors).
1455
1459
  #
1460
+ # This field is deprecated for models released after September 1, 2026. Use
1461
+ # `server_url` to connect to a remote MCP server, or `tunnel_id` to connect
1462
+ # through a Secure MCP Tunnel.
1463
+ #
1456
1464
  # Currently supported `connector_id` values are:
1457
1465
  #
1458
1466
  # - Dropbox: `connector_dropbox`
@@ -1637,6 +1645,10 @@ module OpenAI
1637
1645
  # service connectors
1638
1646
  # [here](https://developers.openai.com/api/docs/guides/tools-connectors-mcp#connectors).
1639
1647
  #
1648
+ # This field is deprecated for models released after September 1, 2026. Use
1649
+ # `server_url` to connect to a remote MCP server, or `tunnel_id` to connect
1650
+ # through a Secure MCP Tunnel.
1651
+ #
1640
1652
  # Currently supported `connector_id` values are:
1641
1653
  #
1642
1654
  # - Dropbox: `connector_dropbox`
@@ -64,6 +64,10 @@ module OpenAI
64
64
  # service connectors
65
65
  # [here](https://developers.openai.com/api/docs/guides/tools-connectors-mcp#connectors).
66
66
  #
67
+ # This field is deprecated for models released after September 1, 2026. Use
68
+ # `server_url` to connect to a remote MCP server, or `tunnel_id` to connect
69
+ # through a Secure MCP Tunnel.
70
+ #
67
71
  # Currently supported `connector_id` values are:
68
72
  #
69
73
  # - Dropbox: `connector_dropbox`
@@ -193,6 +197,10 @@ module OpenAI
193
197
  # service connectors
194
198
  # [here](https://developers.openai.com/api/docs/guides/tools-connectors-mcp#connectors).
195
199
  #
200
+ # This field is deprecated for models released after September 1, 2026. Use
201
+ # `server_url` to connect to a remote MCP server, or `tunnel_id` to connect
202
+ # through a Secure MCP Tunnel.
203
+ #
196
204
  # Currently supported `connector_id` values are:
197
205
  #
198
206
  # - Dropbox: `connector_dropbox`
@@ -366,6 +374,10 @@ module OpenAI
366
374
  # service connectors
367
375
  # [here](https://developers.openai.com/api/docs/guides/tools-connectors-mcp#connectors).
368
376
  #
377
+ # This field is deprecated for models released after September 1, 2026. Use
378
+ # `server_url` to connect to a remote MCP server, or `tunnel_id` to connect
379
+ # through a Secure MCP Tunnel.
380
+ #
369
381
  # Currently supported `connector_id` values are:
370
382
  #
371
383
  # - Dropbox: `connector_dropbox`
@@ -258,7 +258,6 @@ module OpenAI
258
258
  OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
259
259
  )
260
260
  GPT_5_1_CODEX = T.let(:"gpt-5.1-codex", OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol)
261
- GPT_5_1_MINI = T.let(:"gpt-5.1-mini", OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol)
262
261
  GPT_5_1_CHAT_LATEST = T.let(
263
262
  :"gpt-5.1-chat-latest",
264
263
  OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
@@ -319,6 +318,11 @@ module OpenAI
319
318
  GPT_4O_2024_11_20 = T.let(:"gpt-4o-2024-11-20", OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol)
320
319
  GPT_4O_2024_08_06 = T.let(:"gpt-4o-2024-08-06", OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol)
321
320
  GPT_4O_2024_05_13 = T.let(:"gpt-4o-2024-05-13", OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol)
321
+ GPT_AUDIO_MINI = T.let(:"gpt-audio-mini", OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol)
322
+ GPT_AUDIO_MINI_2025_12_15 = T.let(
323
+ :"gpt-audio-mini-2025-12-15",
324
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
325
+ )
322
326
  GPT_4O_AUDIO_PREVIEW = T.let(
323
327
  :"gpt-4o-audio-preview",
324
328
  OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
@@ -415,6 +419,7 @@ module OpenAI
415
419
  :"gpt-3.5-turbo-16k-0613",
416
420
  OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
417
421
  )
422
+ GPT_5_1_MINI = T.let(:"gpt-5.1-mini", OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol)
418
423
  O1_PRO = T.let(:"o1-pro", OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol)
419
424
  O1_PRO_2025_03_19 = T.let(:"o1-pro-2025-03-19", OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol)
420
425
  O3_PRO = T.let(:"o3-pro", OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol)
@@ -0,0 +1,78 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+
6
+ module Responses
7
+
8
+ class ResponseCompactionCompactingEvent < OpenAI::Internal::Type::BaseModel
9
+
10
+ OrHash = T.type_alias do
11
+ T.any(
12
+ OpenAI::Responses::ResponseCompactionCompactingEvent,
13
+ OpenAI::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ # The ID of the compaction output item.
18
+ sig { returns(String) }
19
+ attr_accessor :item_id
20
+
21
+ # The index of the compaction output item.
22
+ sig { returns(Integer) }
23
+ attr_accessor :output_index
24
+
25
+ # The sequence number of the event that was emitted.
26
+ sig { returns(Integer) }
27
+ attr_accessor :sequence_number
28
+
29
+ # The type of the event, always `response.compaction.compacting`.
30
+ sig { returns(Symbol) }
31
+ attr_accessor :type
32
+
33
+ # Emitted when new summary content is sampled for a compaction trigger. Contains
34
+ # no summary content.
35
+ sig do
36
+ params(
37
+
38
+ item_id: String,
39
+
40
+ output_index: Integer,
41
+
42
+ sequence_number: Integer,
43
+
44
+ type: Symbol
45
+ )
46
+ .returns(T.attached_class)
47
+ end
48
+ def self.new(
49
+
50
+ # The ID of the compaction output item.
51
+ item_id:,
52
+
53
+ # The index of the compaction output item.
54
+ output_index:,
55
+
56
+ # The sequence number of the event that was emitted.
57
+ sequence_number:,
58
+
59
+ # The type of the event, always `response.compaction.compacting`.
60
+
61
+ type: :"response.compaction.compacting"
62
+ )
63
+ end
64
+
65
+ sig do
66
+ override.returns(
67
+ {item_id: String, output_index: Integer, sequence_number: Integer, type: Symbol}
68
+ )
69
+ end
70
+ def to_hash
71
+ end
72
+
73
+ end
74
+
75
+ end
76
+
77
+ end
78
+ end
@@ -1176,6 +1176,14 @@ module OpenAI
1176
1176
  sig { params(mode: OpenAI::Responses::ResponseCreateParams::PromptCacheOptions::Mode::OrSymbol).void }
1177
1177
  attr_writer :mode
1178
1178
 
1179
+ # Prepares the prompt cache without generating output. Defaults to `false`. When
1180
+ # set to `true`, overrides the `generate` field to `false`.
1181
+ sig { returns(T.nilable(T::Boolean)) }
1182
+ attr_reader :prewarm
1183
+
1184
+ sig { params(prewarm: T::Boolean).void }
1185
+ attr_writer :prewarm
1186
+
1179
1187
  # The minimum lifetime applied to every implicit and explicit cache breakpoint
1180
1188
  # written by the request. Defaults to `30m`, which is currently the only supported
1181
1189
  # value. The backend may retain cache entries for longer.
@@ -1201,6 +1209,8 @@ module OpenAI
1201
1209
 
1202
1210
  mode: OpenAI::Responses::ResponseCreateParams::PromptCacheOptions::Mode::OrSymbol,
1203
1211
 
1212
+ prewarm: T::Boolean,
1213
+
1204
1214
  ttl: OpenAI::Responses::ResponseCreateParams::PromptCacheOptions::Ttl::OrSymbol
1205
1215
  )
1206
1216
  .returns(T.attached_class)
@@ -1219,6 +1229,10 @@ module OpenAI
1219
1229
  # request does not use prompt caching.
1220
1230
  mode: nil,
1221
1231
 
1232
+ # Prepares the prompt cache without generating output. Defaults to `false`. When
1233
+ # set to `true`, overrides the `generate` field to `false`.
1234
+ prewarm: nil,
1235
+
1222
1236
  # The minimum lifetime applied to every implicit and explicit cache breakpoint
1223
1237
  # written by the request. Defaults to `30m`, which is currently the only supported
1224
1238
  # value. The backend may retain cache entries for longer.
@@ -1232,6 +1246,7 @@ module OpenAI
1232
1246
  {
1233
1247
  comparison_response_id: T.nilable(String),
1234
1248
  mode: OpenAI::Responses::ResponseCreateParams::PromptCacheOptions::Mode::OrSymbol,
1249
+ prewarm: T::Boolean,
1235
1250
  ttl: OpenAI::Responses::ResponseCreateParams::PromptCacheOptions::Ttl::OrSymbol
1236
1251
  }
1237
1252
  )
@@ -20,6 +20,7 @@ module OpenAI
20
20
  OpenAI::Responses::ResponseCodeInterpreterCallCompletedEvent,
21
21
  OpenAI::Responses::ResponseCodeInterpreterCallInProgressEvent,
22
22
  OpenAI::Responses::ResponseCodeInterpreterCallInterpretingEvent,
23
+ OpenAI::Responses::ResponseCompactionCompactingEvent,
23
24
  OpenAI::Responses::ResponseCompletedEvent,
24
25
  OpenAI::Responses::ResponseContentPartAddedEvent,
25
26
  OpenAI::Responses::ResponseContentPartDoneEvent,
@@ -1327,6 +1327,14 @@ module OpenAI
1327
1327
  }
1328
1328
  attr_writer :mode
1329
1329
 
1330
+ # Prepares the prompt cache without generating output. Defaults to `false`. When
1331
+ # set to `true`, overrides the `generate` field to `false`.
1332
+ sig { returns(T.nilable(T::Boolean)) }
1333
+ attr_reader :prewarm
1334
+
1335
+ sig { params(prewarm: T::Boolean).void }
1336
+ attr_writer :prewarm
1337
+
1330
1338
  # The minimum lifetime applied to every implicit and explicit cache breakpoint
1331
1339
  # written by the request. Defaults to `30m`, which is currently the only supported
1332
1340
  # value. The backend may retain cache entries for longer.
@@ -1359,6 +1367,8 @@ module OpenAI
1359
1367
 
1360
1368
  mode: OpenAI::Responses::ResponsesClientEvent::ResponseCreate::PromptCacheOptions::Mode::OrSymbol,
1361
1369
 
1370
+ prewarm: T::Boolean,
1371
+
1362
1372
  ttl: OpenAI::Responses::ResponsesClientEvent::ResponseCreate::PromptCacheOptions::Ttl::OrSymbol
1363
1373
  )
1364
1374
  .returns(T.attached_class)
@@ -1377,6 +1387,10 @@ module OpenAI
1377
1387
  # request does not use prompt caching.
1378
1388
  mode: nil,
1379
1389
 
1390
+ # Prepares the prompt cache without generating output. Defaults to `false`. When
1391
+ # set to `true`, overrides the `generate` field to `false`.
1392
+ prewarm: nil,
1393
+
1380
1394
  # The minimum lifetime applied to every implicit and explicit cache breakpoint
1381
1395
  # written by the request. Defaults to `30m`, which is currently the only supported
1382
1396
  # value. The backend may retain cache entries for longer.
@@ -1392,6 +1406,7 @@ module OpenAI
1392
1406
  mode: T.nilable(
1393
1407
  OpenAI::Responses::ResponsesClientEvent::ResponseCreate::PromptCacheOptions::Mode::OrSymbol
1394
1408
  ),
1409
+ prewarm: T.nilable(T::Boolean),
1395
1410
  ttl: T.nilable(
1396
1411
  OpenAI::Responses::ResponsesClientEvent::ResponseCreate::PromptCacheOptions::Ttl::OrSymbol
1397
1412
  )
@@ -24,6 +24,7 @@ module OpenAI
24
24
  OpenAI::Responses::ResponsesServerEvent::ResponseCodeInterpreterCallWsCompleted,
25
25
  OpenAI::Responses::ResponsesServerEvent::ResponseCodeInterpreterCallInWsProgress,
26
26
  OpenAI::Responses::ResponsesServerEvent::ResponseCodeInterpreterCallWsInterpreting,
27
+ OpenAI::Responses::ResponsesServerEvent::ResponseCompactionWsCompacting,
27
28
  OpenAI::Responses::ResponsesServerEvent::ResponseWsCompleted,
28
29
  OpenAI::Responses::ResponsesServerEvent::ResponseContentPartWsAdded,
29
30
  OpenAI::Responses::ResponsesServerEvent::ResponseContentPartWsDone,
@@ -658,6 +659,76 @@ module OpenAI
658
659
 
659
660
  end
660
661
 
662
+ class ResponseCompactionWsCompacting < OpenAI::Models::Responses::ResponseCompactionCompactingEvent
663
+ OrHash = T.type_alias do
664
+ T.any(
665
+ OpenAI::Responses::ResponsesServerEvent::ResponseCompactionWsCompacting,
666
+ OpenAI::Internal::AnyHash
667
+ )
668
+ end
669
+
670
+ # The WebSocket lane that emitted this event. This field is present when the
671
+ # originating `response.create` event supplied a `stream_id`.
672
+ sig { returns(T.nilable(String)) }
673
+ attr_reader :stream_id
674
+
675
+ sig { params(stream_id: String).void }
676
+ attr_writer :stream_id
677
+
678
+ # Emitted when new summary content is sampled for a compaction trigger. Contains
679
+ # no summary content.
680
+ sig do
681
+ params(
682
+
683
+ item_id: String,
684
+
685
+ output_index: Integer,
686
+
687
+ sequence_number: Integer,
688
+
689
+ stream_id: String,
690
+
691
+ type: Symbol
692
+ )
693
+ .returns(T.attached_class)
694
+ end
695
+ def self.new(
696
+
697
+ # The ID of the compaction output item.
698
+ item_id:,
699
+
700
+ # The index of the compaction output item.
701
+ output_index:,
702
+
703
+ # The sequence number of the event that was emitted.
704
+ sequence_number:,
705
+
706
+ # The WebSocket lane that emitted this event. This field is present when the
707
+ # originating `response.create` event supplied a `stream_id`.
708
+ stream_id: nil,
709
+
710
+ # The type of the event, always `response.compaction.compacting`.
711
+
712
+ type: :"response.compaction.compacting"
713
+ )
714
+ end
715
+
716
+ sig do
717
+ override.returns(
718
+ {
719
+ item_id: String,
720
+ output_index: Integer,
721
+ sequence_number: Integer,
722
+ type: Symbol,
723
+ stream_id: T.nilable(String)
724
+ }
725
+ )
726
+ end
727
+ def to_hash
728
+ end
729
+
730
+ end
731
+
661
732
  class ResponseWsCompleted < OpenAI::Models::Responses::ResponseCompletedEvent
662
733
  OrHash = T.type_alias do
663
734
  T.any(
@@ -70,6 +70,10 @@ module OpenAI
70
70
  # service connectors
71
71
  # [here](https://developers.openai.com/api/docs/guides/tools-connectors-mcp#connectors).
72
72
  #
73
+ # This field is deprecated for models released after September 1, 2026. Use
74
+ # `server_url` to connect to a remote MCP server, or `tunnel_id` to connect
75
+ # through a Secure MCP Tunnel.
76
+ #
73
77
  # Currently supported `connector_id` values are:
74
78
  #
75
79
  # - Dropbox: `connector_dropbox`
@@ -194,6 +198,10 @@ module OpenAI
194
198
  # service connectors
195
199
  # [here](https://developers.openai.com/api/docs/guides/tools-connectors-mcp#connectors).
196
200
  #
201
+ # This field is deprecated for models released after September 1, 2026. Use
202
+ # `server_url` to connect to a remote MCP server, or `tunnel_id` to connect
203
+ # through a Secure MCP Tunnel.
204
+ #
197
205
  # Currently supported `connector_id` values are:
198
206
  #
199
207
  # - Dropbox: `connector_dropbox`
@@ -358,6 +366,10 @@ module OpenAI
358
366
  # service connectors
359
367
  # [here](https://developers.openai.com/api/docs/guides/tools-connectors-mcp#connectors).
360
368
  #
369
+ # This field is deprecated for models released after September 1, 2026. Use
370
+ # `server_url` to connect to a remote MCP server, or `tunnel_id` to connect
371
+ # through a Secure MCP Tunnel.
372
+ #
361
373
  # Currently supported `connector_id` values are:
362
374
  #
363
375
  # - Dropbox: `connector_dropbox`
@@ -0,0 +1,67 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+
6
+ module Webhooks
7
+
8
+ class DeletedWebhookEndpoint < OpenAI::Internal::Type::BaseModel
9
+
10
+ OrHash = T.type_alias do
11
+ T.any(
12
+ OpenAI::Webhooks::DeletedWebhookEndpoint,
13
+ OpenAI::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ # The ID of the deleted webhook endpoint.
18
+ sig { returns(String) }
19
+ attr_accessor :id
20
+
21
+ # Whether the endpoint was deleted.
22
+ sig { returns(T::Boolean) }
23
+ attr_accessor :deleted
24
+
25
+ # The object type, which is always webhook_endpoint.deleted.
26
+ sig { returns(Symbol) }
27
+ attr_accessor :object
28
+
29
+ sig do
30
+ params(
31
+
32
+ id: String,
33
+
34
+ deleted: T::Boolean,
35
+
36
+ object: Symbol
37
+ )
38
+ .returns(T.attached_class)
39
+ end
40
+ def self.new(
41
+
42
+ # The ID of the deleted webhook endpoint.
43
+ id:,
44
+
45
+ # Whether the endpoint was deleted.
46
+ deleted:,
47
+
48
+ # The object type, which is always webhook_endpoint.deleted.
49
+
50
+ object: :"webhook_endpoint.deleted"
51
+ )
52
+ end
53
+
54
+ sig do
55
+ override.returns(
56
+ {id: String, deleted: T::Boolean, object: Symbol}
57
+ )
58
+ end
59
+ def to_hash
60
+ end
61
+
62
+ end
63
+
64
+ end
65
+
66
+ end
67
+ end
@@ -0,0 +1,37 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+
6
+ module Webhooks
7
+
8
+ class EventTypeListParams < OpenAI::Internal::Type::BaseModel
9
+
10
+ extend OpenAI::Internal::Type::RequestParameters::Converter
11
+ include OpenAI::Internal::Type::RequestParameters
12
+
13
+ OrHash = T.type_alias do
14
+ T.any(
15
+ OpenAI::Webhooks::EventTypeListParams,
16
+ OpenAI::Internal::AnyHash
17
+ )
18
+ end
19
+
20
+ sig do
21
+ params(request_options: OpenAI::RequestOptions::OrHash).returns(
22
+ T.attached_class
23
+ )
24
+ end
25
+ def self.new(request_options: {})
26
+ end
27
+
28
+ sig { override.returns({request_options: OpenAI::RequestOptions}) }
29
+ def to_hash
30
+ end
31
+
32
+ end
33
+
34
+ end
35
+
36
+ end
37
+ end
@@ -100,10 +100,9 @@ module OpenAI
100
100
  )
101
101
  end
102
102
 
103
- # The Transceiver `rtc_...` ID of the pending SIP session. The paired
104
- # `live.transport.incoming` event derives its `session_id` by replacing the `rtc_`
105
- # prefix with `live_`. Use the ID returned by the event with the corresponding
106
- # Realtime or Live API.
103
+ # The ID of the pending SIP call. Pass this value unchanged when accepting or
104
+ # rejecting the call through the Realtime API. For the Live API, use the
105
+ # `session_id` from `live.transport.incoming` instead.
107
106
  sig { returns(String) }
108
107
  attr_accessor :call_id
109
108
 
@@ -125,10 +124,9 @@ module OpenAI
125
124
  end
126
125
  def self.new(
127
126
 
128
- # The Transceiver `rtc_...` ID of the pending SIP session. The paired
129
- # `live.transport.incoming` event derives its `session_id` by replacing the `rtc_`
130
- # prefix with `live_`. Use the ID returned by the event with the corresponding
131
- # Realtime or Live API.
127
+ # The ID of the pending SIP call. Pass this value unchanged when accepting or
128
+ # rejecting the call through the Realtime API. For the Live API, use the
129
+ # `session_id` from `live.transport.incoming` instead.
132
130
  call_id:,
133
131
 
134
132
  # Headers from the SIP INVITE, excluding SIP authorization headers. Retained