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
@@ -0,0 +1,42 @@
1
+ module OpenAI
2
+ module Models
3
+ module Webhooks
4
+ type webhook_endpoint_test_result =
5
+ {
6
+ event_type: String,
7
+ ?object: :"webhook_endpoint.test",
8
+ status_code: Integer,
9
+ success: bool,
10
+ webhook_endpoint_id: String
11
+ }
12
+
13
+ class WebhookEndpointTestResult < OpenAI::Internal::Type::BaseModel
14
+ attr_accessor event_type: String
15
+
16
+ attr_accessor object: :"webhook_endpoint.test"
17
+
18
+ attr_accessor status_code: Integer
19
+
20
+ attr_accessor success: bool
21
+
22
+ attr_accessor webhook_endpoint_id: String
23
+
24
+ def initialize: (
25
+ event_type: String,
26
+ status_code: Integer,
27
+ success: bool,
28
+ webhook_endpoint_id: String,
29
+ ?object: :"webhook_endpoint.test"
30
+ ) -> void
31
+
32
+ def to_hash: -> {
33
+ event_type: String,
34
+ ?object: :"webhook_endpoint.test",
35
+ status_code: Integer,
36
+ success: bool,
37
+ webhook_endpoint_id: String
38
+ }
39
+ end
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,64 @@
1
+ module OpenAI
2
+ module Models
3
+ module Webhooks
4
+ type webhook_endpoint_with_secret =
5
+ {
6
+ id: String,
7
+ created_at: Integer,
8
+ event_types: ::Array[String],
9
+ name: String,
10
+ ?object: :webhook_endpoint,
11
+ signing_secret: String,
12
+ signing_secret_hint: String?,
13
+ url: String,
14
+ ?updated_at: Integer
15
+ }
16
+
17
+ class WebhookEndpointWithSecret < OpenAI::Internal::Type::BaseModel
18
+ attr_accessor id: String
19
+
20
+ attr_accessor created_at: Integer
21
+
22
+ attr_accessor event_types: ::Array[String]
23
+
24
+ attr_accessor name: String
25
+
26
+ attr_accessor object: :webhook_endpoint
27
+
28
+ attr_accessor signing_secret: String
29
+
30
+ attr_accessor signing_secret_hint: String?
31
+
32
+ attr_accessor url: String
33
+
34
+ attr_reader updated_at: Integer?
35
+
36
+ def updated_at=: (Integer) -> Integer
37
+
38
+ def initialize: (
39
+ id: String,
40
+ created_at: Integer,
41
+ event_types: ::Array[String],
42
+ name: String,
43
+ signing_secret: String,
44
+ signing_secret_hint: String?,
45
+ url: String,
46
+ ?updated_at: Integer,
47
+ ?object: :webhook_endpoint
48
+ ) -> void
49
+
50
+ def to_hash: -> {
51
+ id: String,
52
+ created_at: Integer,
53
+ event_types: ::Array[String],
54
+ name: String,
55
+ ?object: :webhook_endpoint,
56
+ signing_secret: String,
57
+ signing_secret_hint: String?,
58
+ url: String,
59
+ ?updated_at: Integer
60
+ }
61
+ end
62
+ end
63
+ end
64
+ end
@@ -0,0 +1,17 @@
1
+ module OpenAI
2
+ module Models
3
+ module Webhooks
4
+ type webhook_event_type_list = { data: ::Array[String], ?object: :list }
5
+
6
+ class WebhookEventTypeList < OpenAI::Internal::Type::BaseModel
7
+ attr_accessor data: ::Array[String]
8
+
9
+ attr_accessor object: :list
10
+
11
+ def initialize: (data: ::Array[String], ?object: :list) -> void
12
+
13
+ def to_hash: -> { data: ::Array[String], ?object: :list }
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,35 @@
1
+ module OpenAI
2
+ module Models
3
+ module Webhooks
4
+ type webhook_list_params =
5
+ {
6
+ ?after: String?,
7
+ ?limit: Integer,
8
+ ?request_options: OpenAI::request_opts
9
+ }
10
+
11
+ class WebhookListParams < OpenAI::Internal::Type::BaseModel
12
+ extend OpenAI::Internal::Type::RequestParameters::Converter
13
+ include OpenAI::Internal::Type::RequestParameters
14
+
15
+ attr_accessor after: String?
16
+
17
+ attr_reader limit: Integer?
18
+
19
+ def limit=: (Integer) -> Integer
20
+
21
+ def initialize: (
22
+ ?after: String?,
23
+ ?limit: Integer,
24
+ ?request_options: OpenAI::request_opts
25
+ ) -> void
26
+
27
+ def to_hash: -> {
28
+ ?after: String?,
29
+ ?limit: Integer,
30
+ ?request_options: OpenAI::RequestOptions
31
+ }
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,25 @@
1
+ module OpenAI
2
+ module Models
3
+ module Webhooks
4
+ type webhook_retrieve_params =
5
+ { webhook_endpoint_id: String, ?request_options: OpenAI::request_opts }
6
+
7
+ class WebhookRetrieveParams < 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,35 @@
1
+ module OpenAI
2
+ module Models
3
+ module Webhooks
4
+ type webhook_rotate_secret_params =
5
+ {
6
+ webhook_endpoint_id: String,
7
+ ?:keep_old_secret_active_for_24_hours => bool,
8
+ ?request_options: OpenAI::request_opts
9
+ }
10
+
11
+ class WebhookRotateSecretParams < OpenAI::Internal::Type::BaseModel
12
+ extend OpenAI::Internal::Type::RequestParameters::Converter
13
+ include OpenAI::Internal::Type::RequestParameters
14
+
15
+ attr_accessor webhook_endpoint_id: String
16
+
17
+ attr_reader keep_old_secret_active_for_24_hours: bool?
18
+
19
+ def keep_old_secret_active_for_24_hours=: (bool) -> bool
20
+
21
+ def initialize: (
22
+ webhook_endpoint_id: String,
23
+ ?keep_old_secret_active_for_24_hours: bool,
24
+ ?request_options: OpenAI::request_opts
25
+ ) -> void
26
+
27
+ def to_hash: -> {
28
+ webhook_endpoint_id: String,
29
+ ?:keep_old_secret_active_for_24_hours => bool,
30
+ ?request_options: OpenAI::RequestOptions
31
+ }
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,78 @@
1
+ module OpenAI
2
+ module Models
3
+ module Webhooks
4
+ type webhook_test_params =
5
+ {
6
+ webhook_endpoint_id: String,
7
+ event_type: OpenAI::Models::Webhooks::WebhookTestParams::event_type,
8
+ ?request_options: OpenAI::request_opts
9
+ }
10
+
11
+ class WebhookTestParams < OpenAI::Internal::Type::BaseModel
12
+ extend OpenAI::Internal::Type::RequestParameters::Converter
13
+ include OpenAI::Internal::Type::RequestParameters
14
+
15
+ attr_accessor webhook_endpoint_id: String
16
+
17
+ attr_accessor event_type: OpenAI::Models::Webhooks::WebhookTestParams::event_type
18
+
19
+ def initialize: (
20
+ webhook_endpoint_id: String,
21
+ event_type: OpenAI::Models::Webhooks::WebhookTestParams::event_type,
22
+ ?request_options: OpenAI::request_opts
23
+ ) -> void
24
+
25
+ def to_hash: -> {
26
+ webhook_endpoint_id: String,
27
+ event_type: OpenAI::Models::Webhooks::WebhookTestParams::event_type,
28
+ ?request_options: OpenAI::RequestOptions
29
+ }
30
+
31
+ type event_type =
32
+ :"batch.completed"
33
+ | :"batch.failed"
34
+ | :"batch.expired"
35
+ | :"batch.cancelled"
36
+ | :"response.completed"
37
+ | :"response.failed"
38
+ | :"response.cancelled"
39
+ | :"response.incomplete"
40
+ | :"eval.run.succeeded"
41
+ | :"eval.run.failed"
42
+ | :"eval.run.canceled"
43
+ | :"fine_tuning.job.succeeded"
44
+ | :"fine_tuning.job.failed"
45
+ | :"fine_tuning.job.cancelled"
46
+ | :"realtime.call.incoming"
47
+ | :"video.completed"
48
+ | :"video.failed"
49
+ | :"safety.alert.created"
50
+
51
+ module EventType
52
+ extend OpenAI::Internal::Type::Enum
53
+
54
+ BATCH_COMPLETED: :"batch.completed"
55
+ BATCH_FAILED: :"batch.failed"
56
+ BATCH_EXPIRED: :"batch.expired"
57
+ BATCH_CANCELLED: :"batch.cancelled"
58
+ RESPONSE_COMPLETED: :"response.completed"
59
+ RESPONSE_FAILED: :"response.failed"
60
+ RESPONSE_CANCELLED: :"response.cancelled"
61
+ RESPONSE_INCOMPLETE: :"response.incomplete"
62
+ EVAL_RUN_SUCCEEDED: :"eval.run.succeeded"
63
+ EVAL_RUN_FAILED: :"eval.run.failed"
64
+ EVAL_RUN_CANCELED: :"eval.run.canceled"
65
+ FINE_TUNING_JOB_SUCCEEDED: :"fine_tuning.job.succeeded"
66
+ FINE_TUNING_JOB_FAILED: :"fine_tuning.job.failed"
67
+ FINE_TUNING_JOB_CANCELLED: :"fine_tuning.job.cancelled"
68
+ REALTIME_CALL_INCOMING: :"realtime.call.incoming"
69
+ VIDEO_COMPLETED: :"video.completed"
70
+ VIDEO_FAILED: :"video.failed"
71
+ SAFETY_ALERT_CREATED: :"safety.alert.created"
72
+
73
+ def self?.values: -> ::Array[OpenAI::Models::Webhooks::WebhookTestParams::event_type]
74
+ end
75
+ end
76
+ end
77
+ end
78
+ end
@@ -0,0 +1,96 @@
1
+ module OpenAI
2
+ module Models
3
+ module Webhooks
4
+ type webhook_update_params =
5
+ {
6
+ webhook_endpoint_id: String,
7
+ ?event_types: ::Array[OpenAI::Models::Webhooks::WebhookUpdateParams::event_type],
8
+ ?name: String,
9
+ ?url: String,
10
+ ?request_options: OpenAI::request_opts
11
+ }
12
+
13
+ class WebhookUpdateParams < OpenAI::Internal::Type::BaseModel
14
+ extend OpenAI::Internal::Type::RequestParameters::Converter
15
+ include OpenAI::Internal::Type::RequestParameters
16
+
17
+ attr_accessor webhook_endpoint_id: String
18
+
19
+ attr_reader event_types: ::Array[OpenAI::Models::Webhooks::WebhookUpdateParams::event_type]?
20
+
21
+ def event_types=: (
22
+ ::Array[OpenAI::Models::Webhooks::WebhookUpdateParams::event_type]
23
+ ) -> ::Array[OpenAI::Models::Webhooks::WebhookUpdateParams::event_type]
24
+
25
+ attr_reader name: String?
26
+
27
+ def name=: (String) -> String
28
+
29
+ attr_reader url: String?
30
+
31
+ def url=: (String) -> String
32
+
33
+ def initialize: (
34
+ webhook_endpoint_id: String,
35
+ ?event_types: ::Array[OpenAI::Models::Webhooks::WebhookUpdateParams::event_type],
36
+ ?name: String,
37
+ ?url: String,
38
+ ?request_options: OpenAI::request_opts
39
+ ) -> void
40
+
41
+ def to_hash: -> {
42
+ webhook_endpoint_id: String,
43
+ ?event_types: ::Array[OpenAI::Models::Webhooks::WebhookUpdateParams::event_type],
44
+ ?name: String,
45
+ ?url: String,
46
+ ?request_options: OpenAI::RequestOptions
47
+ }
48
+
49
+ type event_type =
50
+ :"batch.completed"
51
+ | :"batch.failed"
52
+ | :"batch.expired"
53
+ | :"batch.cancelled"
54
+ | :"response.completed"
55
+ | :"response.failed"
56
+ | :"response.cancelled"
57
+ | :"response.incomplete"
58
+ | :"eval.run.succeeded"
59
+ | :"eval.run.failed"
60
+ | :"eval.run.canceled"
61
+ | :"fine_tuning.job.succeeded"
62
+ | :"fine_tuning.job.failed"
63
+ | :"fine_tuning.job.cancelled"
64
+ | :"realtime.call.incoming"
65
+ | :"video.completed"
66
+ | :"video.failed"
67
+ | :"safety.alert.created"
68
+
69
+ module EventType
70
+ extend OpenAI::Internal::Type::Enum
71
+
72
+ BATCH_COMPLETED: :"batch.completed"
73
+ BATCH_FAILED: :"batch.failed"
74
+ BATCH_EXPIRED: :"batch.expired"
75
+ BATCH_CANCELLED: :"batch.cancelled"
76
+ RESPONSE_COMPLETED: :"response.completed"
77
+ RESPONSE_FAILED: :"response.failed"
78
+ RESPONSE_CANCELLED: :"response.cancelled"
79
+ RESPONSE_INCOMPLETE: :"response.incomplete"
80
+ EVAL_RUN_SUCCEEDED: :"eval.run.succeeded"
81
+ EVAL_RUN_FAILED: :"eval.run.failed"
82
+ EVAL_RUN_CANCELED: :"eval.run.canceled"
83
+ FINE_TUNING_JOB_SUCCEEDED: :"fine_tuning.job.succeeded"
84
+ FINE_TUNING_JOB_FAILED: :"fine_tuning.job.failed"
85
+ FINE_TUNING_JOB_CANCELLED: :"fine_tuning.job.cancelled"
86
+ REALTIME_CALL_INCOMING: :"realtime.call.incoming"
87
+ VIDEO_COMPLETED: :"video.completed"
88
+ VIDEO_FAILED: :"video.failed"
89
+ SAFETY_ALERT_CREATED: :"safety.alert.created"
90
+
91
+ def self?.values: -> ::Array[OpenAI::Models::Webhooks::WebhookUpdateParams::event_type]
92
+ end
93
+ end
94
+ end
95
+ end
96
+ end
@@ -40,6 +40,7 @@ module OpenAI
40
40
 
41
41
  def update: (
42
42
  String session_id,
43
+ ?agent: OpenAI::Beta::Agents::SessionUpdateParams::Agent,
43
44
  ?metadata: ::Hash[Symbol, String]?,
44
45
  ?request_options: OpenAI::request_opts
45
46
  ) -> OpenAI::Beta::AgentSession
@@ -0,0 +1,13 @@
1
+ module OpenAI
2
+ module Resources
3
+ class Webhooks
4
+ class EventTypes
5
+ def list: (
6
+ ?request_options: OpenAI::request_opts
7
+ ) -> OpenAI::Webhooks::WebhookEventTypeList
8
+
9
+ def initialize: (client: OpenAI::Client) -> void
10
+ end
11
+ end
12
+ end
13
+ end
@@ -1,6 +1,51 @@
1
1
  module OpenAI
2
2
  module Resources
3
3
  class Webhooks
4
+ attr_reader event_types: OpenAI::Resources::Webhooks::EventTypes
5
+
6
+ def create: (
7
+ event_types: ::Array[OpenAI::Models::Webhooks::WebhookCreateParams::event_type],
8
+ name: String,
9
+ url: String,
10
+ ?request_options: OpenAI::request_opts
11
+ ) -> OpenAI::Webhooks::WebhookEndpointWithSecret
12
+
13
+ def retrieve: (
14
+ String webhook_endpoint_id,
15
+ ?request_options: OpenAI::request_opts
16
+ ) -> OpenAI::Webhooks::WebhookEndpoint
17
+
18
+ def update: (
19
+ String webhook_endpoint_id,
20
+ ?event_types: ::Array[OpenAI::Models::Webhooks::WebhookUpdateParams::event_type],
21
+ ?name: String,
22
+ ?url: String,
23
+ ?request_options: OpenAI::request_opts
24
+ ) -> OpenAI::Webhooks::WebhookEndpoint
25
+
26
+ def list: (
27
+ ?after: String?,
28
+ ?limit: Integer,
29
+ ?request_options: OpenAI::request_opts
30
+ ) -> OpenAI::Internal::CursorPage[OpenAI::Webhooks::WebhookEndpoint]
31
+
32
+ def delete: (
33
+ String webhook_endpoint_id,
34
+ ?request_options: OpenAI::request_opts
35
+ ) -> OpenAI::Webhooks::DeletedWebhookEndpoint
36
+
37
+ def rotate_secret: (
38
+ String webhook_endpoint_id,
39
+ ?keep_old_secret_active_for_24_hours: bool,
40
+ ?request_options: OpenAI::request_opts
41
+ ) -> OpenAI::Webhooks::WebhookEndpointWithSecret
42
+
43
+ def test_: (
44
+ String webhook_endpoint_id,
45
+ event_type: OpenAI::Models::Webhooks::WebhookTestParams::event_type,
46
+ ?request_options: OpenAI::request_opts
47
+ ) -> OpenAI::Webhooks::WebhookEndpointTestResult
48
+
4
49
  def unwrap: (
5
50
  String payload,
6
51
  ?Hash[String | Symbol, String] headers,