openai 0.9.0 → 0.11.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 (164) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +40 -0
  3. data/README.md +79 -1
  4. data/lib/openai/client.rb +11 -0
  5. data/lib/openai/errors.rb +25 -0
  6. data/lib/openai/internal/type/array_of.rb +6 -1
  7. data/lib/openai/internal/type/base_model.rb +76 -24
  8. data/lib/openai/internal/type/boolean.rb +7 -1
  9. data/lib/openai/internal/type/converter.rb +42 -34
  10. data/lib/openai/internal/type/enum.rb +10 -2
  11. data/lib/openai/internal/type/file_input.rb +6 -1
  12. data/lib/openai/internal/type/hash_of.rb +6 -1
  13. data/lib/openai/internal/type/union.rb +12 -7
  14. data/lib/openai/internal/type/unknown.rb +7 -1
  15. data/lib/openai/models/all_models.rb +4 -0
  16. data/lib/openai/models/audio/speech_create_params.rb +23 -2
  17. data/lib/openai/models/audio/transcription.rb +118 -1
  18. data/lib/openai/models/audio/transcription_text_done_event.rb +80 -1
  19. data/lib/openai/models/audio/transcription_verbose.rb +31 -1
  20. data/lib/openai/models/chat/chat_completion.rb +32 -31
  21. data/lib/openai/models/chat/chat_completion_chunk.rb +30 -29
  22. data/lib/openai/models/chat/completion_create_params.rb +34 -31
  23. data/lib/openai/models/fine_tuning/checkpoints/permission_retrieve_response.rb +60 -25
  24. data/lib/openai/models/images_response.rb +92 -1
  25. data/lib/openai/models/responses/response.rb +59 -35
  26. data/lib/openai/models/responses/response_code_interpreter_call_code_delta_event.rb +17 -8
  27. data/lib/openai/models/responses/response_code_interpreter_call_code_done_event.rb +14 -10
  28. data/lib/openai/models/responses/response_code_interpreter_call_completed_event.rb +11 -10
  29. data/lib/openai/models/responses/response_code_interpreter_call_in_progress_event.rb +11 -10
  30. data/lib/openai/models/responses/response_code_interpreter_call_interpreting_event.rb +11 -10
  31. data/lib/openai/models/responses/response_code_interpreter_tool_call.rb +49 -78
  32. data/lib/openai/models/responses/response_create_params.rb +92 -67
  33. data/lib/openai/models/responses/response_function_web_search.rb +115 -1
  34. data/lib/openai/models/responses/response_includable.rb +8 -6
  35. data/lib/openai/models/responses/response_output_text.rb +18 -2
  36. data/lib/openai/models/responses/response_stream_event.rb +2 -2
  37. data/lib/openai/models/responses/tool_choice_mcp.rb +40 -0
  38. data/lib/openai/models/responses/tool_choice_types.rb +0 -3
  39. data/lib/openai/models/responses_model.rb +4 -0
  40. data/lib/openai/models/webhooks/batch_cancelled_webhook_event.rb +84 -0
  41. data/lib/openai/models/webhooks/batch_completed_webhook_event.rb +84 -0
  42. data/lib/openai/models/webhooks/batch_expired_webhook_event.rb +84 -0
  43. data/lib/openai/models/webhooks/batch_failed_webhook_event.rb +84 -0
  44. data/lib/openai/models/webhooks/eval_run_canceled_webhook_event.rb +84 -0
  45. data/lib/openai/models/webhooks/eval_run_failed_webhook_event.rb +84 -0
  46. data/lib/openai/models/webhooks/eval_run_succeeded_webhook_event.rb +84 -0
  47. data/lib/openai/models/webhooks/fine_tuning_job_cancelled_webhook_event.rb +85 -0
  48. data/lib/openai/models/webhooks/fine_tuning_job_failed_webhook_event.rb +85 -0
  49. data/lib/openai/models/webhooks/fine_tuning_job_succeeded_webhook_event.rb +85 -0
  50. data/lib/openai/models/webhooks/response_cancelled_webhook_event.rb +85 -0
  51. data/lib/openai/models/webhooks/response_completed_webhook_event.rb +85 -0
  52. data/lib/openai/models/webhooks/response_failed_webhook_event.rb +84 -0
  53. data/lib/openai/models/webhooks/response_incomplete_webhook_event.rb +85 -0
  54. data/lib/openai/models/webhooks/unwrap_webhook_event.rb +59 -0
  55. data/lib/openai/models/webhooks/webhook_unwrap_params.rb +16 -0
  56. data/lib/openai/models.rb +2 -0
  57. data/lib/openai/resources/audio/speech.rb +3 -1
  58. data/lib/openai/resources/chat/completions.rb +10 -2
  59. data/lib/openai/resources/fine_tuning/checkpoints/permissions.rb +1 -2
  60. data/lib/openai/resources/responses.rb +24 -16
  61. data/lib/openai/resources/webhooks.rb +124 -0
  62. data/lib/openai/version.rb +1 -1
  63. data/lib/openai.rb +18 -0
  64. data/rbi/openai/client.rbi +3 -0
  65. data/rbi/openai/errors.rbi +16 -0
  66. data/rbi/openai/internal/type/boolean.rbi +2 -0
  67. data/rbi/openai/internal/type/converter.rbi +15 -15
  68. data/rbi/openai/internal/type/union.rbi +5 -0
  69. data/rbi/openai/internal/type/unknown.rbi +2 -0
  70. data/rbi/openai/models/all_models.rbi +20 -0
  71. data/rbi/openai/models/audio/speech_create_params.rbi +59 -2
  72. data/rbi/openai/models/audio/transcription.rbi +213 -3
  73. data/rbi/openai/models/audio/transcription_text_done_event.rbi +146 -1
  74. data/rbi/openai/models/audio/transcription_verbose.rbi +47 -0
  75. data/rbi/openai/models/chat/chat_completion.rbi +47 -42
  76. data/rbi/openai/models/chat/chat_completion_chunk.rbi +47 -42
  77. data/rbi/openai/models/chat/completion_create_params.rbi +51 -42
  78. data/rbi/openai/models/fine_tuning/checkpoints/permission_retrieve_response.rbi +95 -26
  79. data/rbi/openai/models/images_response.rbi +146 -0
  80. data/rbi/openai/models/responses/response.rbi +75 -44
  81. data/rbi/openai/models/responses/response_code_interpreter_call_code_delta_event.rbi +17 -7
  82. data/rbi/openai/models/responses/response_code_interpreter_call_code_done_event.rbi +13 -5
  83. data/rbi/openai/models/responses/response_code_interpreter_call_completed_event.rbi +13 -21
  84. data/rbi/openai/models/responses/response_code_interpreter_call_in_progress_event.rbi +13 -21
  85. data/rbi/openai/models/responses/response_code_interpreter_call_interpreting_event.rbi +13 -21
  86. data/rbi/openai/models/responses/response_code_interpreter_tool_call.rbi +83 -125
  87. data/rbi/openai/models/responses/response_create_params.rbi +174 -115
  88. data/rbi/openai/models/responses/response_function_web_search.rbi +163 -0
  89. data/rbi/openai/models/responses/response_includable.rbi +17 -11
  90. data/rbi/openai/models/responses/response_output_text.rbi +26 -4
  91. data/rbi/openai/models/responses/tool_choice_mcp.rbi +53 -0
  92. data/rbi/openai/models/responses/tool_choice_types.rbi +0 -5
  93. data/rbi/openai/models/responses_model.rbi +20 -0
  94. data/rbi/openai/models/webhooks/batch_cancelled_webhook_event.rbi +154 -0
  95. data/rbi/openai/models/webhooks/batch_completed_webhook_event.rbi +154 -0
  96. data/rbi/openai/models/webhooks/batch_expired_webhook_event.rbi +150 -0
  97. data/rbi/openai/models/webhooks/batch_failed_webhook_event.rbi +149 -0
  98. data/rbi/openai/models/webhooks/eval_run_canceled_webhook_event.rbi +154 -0
  99. data/rbi/openai/models/webhooks/eval_run_failed_webhook_event.rbi +151 -0
  100. data/rbi/openai/models/webhooks/eval_run_succeeded_webhook_event.rbi +154 -0
  101. data/rbi/openai/models/webhooks/fine_tuning_job_cancelled_webhook_event.rbi +158 -0
  102. data/rbi/openai/models/webhooks/fine_tuning_job_failed_webhook_event.rbi +156 -0
  103. data/rbi/openai/models/webhooks/fine_tuning_job_succeeded_webhook_event.rbi +158 -0
  104. data/rbi/openai/models/webhooks/response_cancelled_webhook_event.rbi +154 -0
  105. data/rbi/openai/models/webhooks/response_completed_webhook_event.rbi +154 -0
  106. data/rbi/openai/models/webhooks/response_failed_webhook_event.rbi +154 -0
  107. data/rbi/openai/models/webhooks/response_incomplete_webhook_event.rbi +155 -0
  108. data/rbi/openai/models/webhooks/unwrap_webhook_event.rbi +40 -0
  109. data/rbi/openai/models/webhooks/webhook_unwrap_params.rbi +32 -0
  110. data/rbi/openai/models.rbi +2 -0
  111. data/rbi/openai/resources/audio/speech.rbi +6 -1
  112. data/rbi/openai/resources/chat/completions.rbi +34 -30
  113. data/rbi/openai/resources/fine_tuning/checkpoints/permissions.rbi +1 -3
  114. data/rbi/openai/resources/responses.rbi +108 -84
  115. data/rbi/openai/resources/webhooks.rbi +68 -0
  116. data/sig/openai/client.rbs +2 -0
  117. data/sig/openai/errors.rbs +9 -0
  118. data/sig/openai/internal/type/converter.rbs +7 -1
  119. data/sig/openai/models/all_models.rbs +8 -0
  120. data/sig/openai/models/audio/speech_create_params.rbs +21 -1
  121. data/sig/openai/models/audio/transcription.rbs +95 -3
  122. data/sig/openai/models/audio/transcription_text_done_event.rbs +72 -2
  123. data/sig/openai/models/audio/transcription_verbose.rbs +21 -0
  124. data/sig/openai/models/chat/chat_completion.rbs +2 -1
  125. data/sig/openai/models/chat/chat_completion_chunk.rbs +2 -1
  126. data/sig/openai/models/chat/completion_create_params.rbs +2 -1
  127. data/sig/openai/models/fine_tuning/checkpoints/permission_retrieve_response.rbs +53 -16
  128. data/sig/openai/models/images_response.rbs +83 -0
  129. data/sig/openai/models/responses/response.rbs +13 -1
  130. data/sig/openai/models/responses/response_code_interpreter_call_code_delta_event.rbs +5 -0
  131. data/sig/openai/models/responses/response_code_interpreter_call_code_done_event.rbs +5 -0
  132. data/sig/openai/models/responses/response_code_interpreter_call_completed_event.rbs +4 -4
  133. data/sig/openai/models/responses/response_code_interpreter_call_in_progress_event.rbs +4 -4
  134. data/sig/openai/models/responses/response_code_interpreter_call_interpreting_event.rbs +4 -4
  135. data/sig/openai/models/responses/response_code_interpreter_tool_call.rbs +31 -52
  136. data/sig/openai/models/responses/response_create_params.rbs +31 -11
  137. data/sig/openai/models/responses/response_function_web_search.rbs +54 -0
  138. data/sig/openai/models/responses/response_includable.rbs +7 -5
  139. data/sig/openai/models/responses/response_output_text.rbs +15 -1
  140. data/sig/openai/models/responses/tool_choice_mcp.rbs +23 -0
  141. data/sig/openai/models/responses/tool_choice_types.rbs +0 -2
  142. data/sig/openai/models/responses_model.rbs +8 -0
  143. data/sig/openai/models/webhooks/batch_cancelled_webhook_event.rbs +66 -0
  144. data/sig/openai/models/webhooks/batch_completed_webhook_event.rbs +66 -0
  145. data/sig/openai/models/webhooks/batch_expired_webhook_event.rbs +66 -0
  146. data/sig/openai/models/webhooks/batch_failed_webhook_event.rbs +66 -0
  147. data/sig/openai/models/webhooks/eval_run_canceled_webhook_event.rbs +66 -0
  148. data/sig/openai/models/webhooks/eval_run_failed_webhook_event.rbs +66 -0
  149. data/sig/openai/models/webhooks/eval_run_succeeded_webhook_event.rbs +66 -0
  150. data/sig/openai/models/webhooks/fine_tuning_job_cancelled_webhook_event.rbs +66 -0
  151. data/sig/openai/models/webhooks/fine_tuning_job_failed_webhook_event.rbs +66 -0
  152. data/sig/openai/models/webhooks/fine_tuning_job_succeeded_webhook_event.rbs +66 -0
  153. data/sig/openai/models/webhooks/response_cancelled_webhook_event.rbs +66 -0
  154. data/sig/openai/models/webhooks/response_completed_webhook_event.rbs +66 -0
  155. data/sig/openai/models/webhooks/response_failed_webhook_event.rbs +66 -0
  156. data/sig/openai/models/webhooks/response_incomplete_webhook_event.rbs +66 -0
  157. data/sig/openai/models/webhooks/unwrap_webhook_event.rbs +27 -0
  158. data/sig/openai/models/webhooks/webhook_unwrap_params.rbs +17 -0
  159. data/sig/openai/models.rbs +2 -0
  160. data/sig/openai/resources/audio/speech.rbs +1 -0
  161. data/sig/openai/resources/fine_tuning/checkpoints/permissions.rbs +1 -1
  162. data/sig/openai/resources/responses.rbs +8 -4
  163. data/sig/openai/resources/webhooks.rbs +33 -0
  164. metadata +56 -2
@@ -0,0 +1,158 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Webhooks
6
+ class FineTuningJobSucceededWebhookEvent < OpenAI::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ OpenAI::Webhooks::FineTuningJobSucceededWebhookEvent,
11
+ OpenAI::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ # The unique ID of the event.
16
+ sig { returns(String) }
17
+ attr_accessor :id
18
+
19
+ # The Unix timestamp (in seconds) of when the fine-tuning job succeeded.
20
+ sig { returns(Integer) }
21
+ attr_accessor :created_at
22
+
23
+ # Event data payload.
24
+ sig do
25
+ returns(OpenAI::Webhooks::FineTuningJobSucceededWebhookEvent::Data)
26
+ end
27
+ attr_reader :data
28
+
29
+ sig do
30
+ params(
31
+ data:
32
+ OpenAI::Webhooks::FineTuningJobSucceededWebhookEvent::Data::OrHash
33
+ ).void
34
+ end
35
+ attr_writer :data
36
+
37
+ # The type of the event. Always `fine_tuning.job.succeeded`.
38
+ sig { returns(Symbol) }
39
+ attr_accessor :type
40
+
41
+ # The object of the event. Always `event`.
42
+ sig do
43
+ returns(
44
+ T.nilable(
45
+ OpenAI::Webhooks::FineTuningJobSucceededWebhookEvent::Object::TaggedSymbol
46
+ )
47
+ )
48
+ end
49
+ attr_reader :object
50
+
51
+ sig do
52
+ params(
53
+ object:
54
+ OpenAI::Webhooks::FineTuningJobSucceededWebhookEvent::Object::OrSymbol
55
+ ).void
56
+ end
57
+ attr_writer :object
58
+
59
+ # Sent when a fine-tuning job has succeeded.
60
+ sig do
61
+ params(
62
+ id: String,
63
+ created_at: Integer,
64
+ data:
65
+ OpenAI::Webhooks::FineTuningJobSucceededWebhookEvent::Data::OrHash,
66
+ object:
67
+ OpenAI::Webhooks::FineTuningJobSucceededWebhookEvent::Object::OrSymbol,
68
+ type: Symbol
69
+ ).returns(T.attached_class)
70
+ end
71
+ def self.new(
72
+ # The unique ID of the event.
73
+ id:,
74
+ # The Unix timestamp (in seconds) of when the fine-tuning job succeeded.
75
+ created_at:,
76
+ # Event data payload.
77
+ data:,
78
+ # The object of the event. Always `event`.
79
+ object: nil,
80
+ # The type of the event. Always `fine_tuning.job.succeeded`.
81
+ type: :"fine_tuning.job.succeeded"
82
+ )
83
+ end
84
+
85
+ sig do
86
+ override.returns(
87
+ {
88
+ id: String,
89
+ created_at: Integer,
90
+ data: OpenAI::Webhooks::FineTuningJobSucceededWebhookEvent::Data,
91
+ type: Symbol,
92
+ object:
93
+ OpenAI::Webhooks::FineTuningJobSucceededWebhookEvent::Object::TaggedSymbol
94
+ }
95
+ )
96
+ end
97
+ def to_hash
98
+ end
99
+
100
+ class Data < OpenAI::Internal::Type::BaseModel
101
+ OrHash =
102
+ T.type_alias do
103
+ T.any(
104
+ OpenAI::Webhooks::FineTuningJobSucceededWebhookEvent::Data,
105
+ OpenAI::Internal::AnyHash
106
+ )
107
+ end
108
+
109
+ # The unique ID of the fine-tuning job.
110
+ sig { returns(String) }
111
+ attr_accessor :id
112
+
113
+ # Event data payload.
114
+ sig { params(id: String).returns(T.attached_class) }
115
+ def self.new(
116
+ # The unique ID of the fine-tuning job.
117
+ id:
118
+ )
119
+ end
120
+
121
+ sig { override.returns({ id: String }) }
122
+ def to_hash
123
+ end
124
+ end
125
+
126
+ # The object of the event. Always `event`.
127
+ module Object
128
+ extend OpenAI::Internal::Type::Enum
129
+
130
+ TaggedSymbol =
131
+ T.type_alias do
132
+ T.all(
133
+ Symbol,
134
+ OpenAI::Webhooks::FineTuningJobSucceededWebhookEvent::Object
135
+ )
136
+ end
137
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
138
+
139
+ EVENT =
140
+ T.let(
141
+ :event,
142
+ OpenAI::Webhooks::FineTuningJobSucceededWebhookEvent::Object::TaggedSymbol
143
+ )
144
+
145
+ sig do
146
+ override.returns(
147
+ T::Array[
148
+ OpenAI::Webhooks::FineTuningJobSucceededWebhookEvent::Object::TaggedSymbol
149
+ ]
150
+ )
151
+ end
152
+ def self.values
153
+ end
154
+ end
155
+ end
156
+ end
157
+ end
158
+ end
@@ -0,0 +1,154 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Webhooks
6
+ class ResponseCancelledWebhookEvent < OpenAI::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ OpenAI::Webhooks::ResponseCancelledWebhookEvent,
11
+ OpenAI::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ # The unique ID of the event.
16
+ sig { returns(String) }
17
+ attr_accessor :id
18
+
19
+ # The Unix timestamp (in seconds) of when the model response was cancelled.
20
+ sig { returns(Integer) }
21
+ attr_accessor :created_at
22
+
23
+ # Event data payload.
24
+ sig { returns(OpenAI::Webhooks::ResponseCancelledWebhookEvent::Data) }
25
+ attr_reader :data
26
+
27
+ sig do
28
+ params(
29
+ data: OpenAI::Webhooks::ResponseCancelledWebhookEvent::Data::OrHash
30
+ ).void
31
+ end
32
+ attr_writer :data
33
+
34
+ # The type of the event. Always `response.cancelled`.
35
+ sig { returns(Symbol) }
36
+ attr_accessor :type
37
+
38
+ # The object of the event. Always `event`.
39
+ sig do
40
+ returns(
41
+ T.nilable(
42
+ OpenAI::Webhooks::ResponseCancelledWebhookEvent::Object::TaggedSymbol
43
+ )
44
+ )
45
+ end
46
+ attr_reader :object
47
+
48
+ sig do
49
+ params(
50
+ object:
51
+ OpenAI::Webhooks::ResponseCancelledWebhookEvent::Object::OrSymbol
52
+ ).void
53
+ end
54
+ attr_writer :object
55
+
56
+ # Sent when a background response has been cancelled.
57
+ sig do
58
+ params(
59
+ id: String,
60
+ created_at: Integer,
61
+ data: OpenAI::Webhooks::ResponseCancelledWebhookEvent::Data::OrHash,
62
+ object:
63
+ OpenAI::Webhooks::ResponseCancelledWebhookEvent::Object::OrSymbol,
64
+ type: Symbol
65
+ ).returns(T.attached_class)
66
+ end
67
+ def self.new(
68
+ # The unique ID of the event.
69
+ id:,
70
+ # The Unix timestamp (in seconds) of when the model response was cancelled.
71
+ created_at:,
72
+ # Event data payload.
73
+ data:,
74
+ # The object of the event. Always `event`.
75
+ object: nil,
76
+ # The type of the event. Always `response.cancelled`.
77
+ type: :"response.cancelled"
78
+ )
79
+ end
80
+
81
+ sig do
82
+ override.returns(
83
+ {
84
+ id: String,
85
+ created_at: Integer,
86
+ data: OpenAI::Webhooks::ResponseCancelledWebhookEvent::Data,
87
+ type: Symbol,
88
+ object:
89
+ OpenAI::Webhooks::ResponseCancelledWebhookEvent::Object::TaggedSymbol
90
+ }
91
+ )
92
+ end
93
+ def to_hash
94
+ end
95
+
96
+ class Data < OpenAI::Internal::Type::BaseModel
97
+ OrHash =
98
+ T.type_alias do
99
+ T.any(
100
+ OpenAI::Webhooks::ResponseCancelledWebhookEvent::Data,
101
+ OpenAI::Internal::AnyHash
102
+ )
103
+ end
104
+
105
+ # The unique ID of the model response.
106
+ sig { returns(String) }
107
+ attr_accessor :id
108
+
109
+ # Event data payload.
110
+ sig { params(id: String).returns(T.attached_class) }
111
+ def self.new(
112
+ # The unique ID of the model response.
113
+ id:
114
+ )
115
+ end
116
+
117
+ sig { override.returns({ id: String }) }
118
+ def to_hash
119
+ end
120
+ end
121
+
122
+ # The object of the event. Always `event`.
123
+ module Object
124
+ extend OpenAI::Internal::Type::Enum
125
+
126
+ TaggedSymbol =
127
+ T.type_alias do
128
+ T.all(
129
+ Symbol,
130
+ OpenAI::Webhooks::ResponseCancelledWebhookEvent::Object
131
+ )
132
+ end
133
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
134
+
135
+ EVENT =
136
+ T.let(
137
+ :event,
138
+ OpenAI::Webhooks::ResponseCancelledWebhookEvent::Object::TaggedSymbol
139
+ )
140
+
141
+ sig do
142
+ override.returns(
143
+ T::Array[
144
+ OpenAI::Webhooks::ResponseCancelledWebhookEvent::Object::TaggedSymbol
145
+ ]
146
+ )
147
+ end
148
+ def self.values
149
+ end
150
+ end
151
+ end
152
+ end
153
+ end
154
+ end
@@ -0,0 +1,154 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Webhooks
6
+ class ResponseCompletedWebhookEvent < OpenAI::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ OpenAI::Webhooks::ResponseCompletedWebhookEvent,
11
+ OpenAI::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ # The unique ID of the event.
16
+ sig { returns(String) }
17
+ attr_accessor :id
18
+
19
+ # The Unix timestamp (in seconds) of when the model response was completed.
20
+ sig { returns(Integer) }
21
+ attr_accessor :created_at
22
+
23
+ # Event data payload.
24
+ sig { returns(OpenAI::Webhooks::ResponseCompletedWebhookEvent::Data) }
25
+ attr_reader :data
26
+
27
+ sig do
28
+ params(
29
+ data: OpenAI::Webhooks::ResponseCompletedWebhookEvent::Data::OrHash
30
+ ).void
31
+ end
32
+ attr_writer :data
33
+
34
+ # The type of the event. Always `response.completed`.
35
+ sig { returns(Symbol) }
36
+ attr_accessor :type
37
+
38
+ # The object of the event. Always `event`.
39
+ sig do
40
+ returns(
41
+ T.nilable(
42
+ OpenAI::Webhooks::ResponseCompletedWebhookEvent::Object::TaggedSymbol
43
+ )
44
+ )
45
+ end
46
+ attr_reader :object
47
+
48
+ sig do
49
+ params(
50
+ object:
51
+ OpenAI::Webhooks::ResponseCompletedWebhookEvent::Object::OrSymbol
52
+ ).void
53
+ end
54
+ attr_writer :object
55
+
56
+ # Sent when a background response has been completed.
57
+ sig do
58
+ params(
59
+ id: String,
60
+ created_at: Integer,
61
+ data: OpenAI::Webhooks::ResponseCompletedWebhookEvent::Data::OrHash,
62
+ object:
63
+ OpenAI::Webhooks::ResponseCompletedWebhookEvent::Object::OrSymbol,
64
+ type: Symbol
65
+ ).returns(T.attached_class)
66
+ end
67
+ def self.new(
68
+ # The unique ID of the event.
69
+ id:,
70
+ # The Unix timestamp (in seconds) of when the model response was completed.
71
+ created_at:,
72
+ # Event data payload.
73
+ data:,
74
+ # The object of the event. Always `event`.
75
+ object: nil,
76
+ # The type of the event. Always `response.completed`.
77
+ type: :"response.completed"
78
+ )
79
+ end
80
+
81
+ sig do
82
+ override.returns(
83
+ {
84
+ id: String,
85
+ created_at: Integer,
86
+ data: OpenAI::Webhooks::ResponseCompletedWebhookEvent::Data,
87
+ type: Symbol,
88
+ object:
89
+ OpenAI::Webhooks::ResponseCompletedWebhookEvent::Object::TaggedSymbol
90
+ }
91
+ )
92
+ end
93
+ def to_hash
94
+ end
95
+
96
+ class Data < OpenAI::Internal::Type::BaseModel
97
+ OrHash =
98
+ T.type_alias do
99
+ T.any(
100
+ OpenAI::Webhooks::ResponseCompletedWebhookEvent::Data,
101
+ OpenAI::Internal::AnyHash
102
+ )
103
+ end
104
+
105
+ # The unique ID of the model response.
106
+ sig { returns(String) }
107
+ attr_accessor :id
108
+
109
+ # Event data payload.
110
+ sig { params(id: String).returns(T.attached_class) }
111
+ def self.new(
112
+ # The unique ID of the model response.
113
+ id:
114
+ )
115
+ end
116
+
117
+ sig { override.returns({ id: String }) }
118
+ def to_hash
119
+ end
120
+ end
121
+
122
+ # The object of the event. Always `event`.
123
+ module Object
124
+ extend OpenAI::Internal::Type::Enum
125
+
126
+ TaggedSymbol =
127
+ T.type_alias do
128
+ T.all(
129
+ Symbol,
130
+ OpenAI::Webhooks::ResponseCompletedWebhookEvent::Object
131
+ )
132
+ end
133
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
134
+
135
+ EVENT =
136
+ T.let(
137
+ :event,
138
+ OpenAI::Webhooks::ResponseCompletedWebhookEvent::Object::TaggedSymbol
139
+ )
140
+
141
+ sig do
142
+ override.returns(
143
+ T::Array[
144
+ OpenAI::Webhooks::ResponseCompletedWebhookEvent::Object::TaggedSymbol
145
+ ]
146
+ )
147
+ end
148
+ def self.values
149
+ end
150
+ end
151
+ end
152
+ end
153
+ end
154
+ end
@@ -0,0 +1,154 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Webhooks
6
+ class ResponseFailedWebhookEvent < OpenAI::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ OpenAI::Webhooks::ResponseFailedWebhookEvent,
11
+ OpenAI::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ # The unique ID of the event.
16
+ sig { returns(String) }
17
+ attr_accessor :id
18
+
19
+ # The Unix timestamp (in seconds) of when the model response failed.
20
+ sig { returns(Integer) }
21
+ attr_accessor :created_at
22
+
23
+ # Event data payload.
24
+ sig { returns(OpenAI::Webhooks::ResponseFailedWebhookEvent::Data) }
25
+ attr_reader :data
26
+
27
+ sig do
28
+ params(
29
+ data: OpenAI::Webhooks::ResponseFailedWebhookEvent::Data::OrHash
30
+ ).void
31
+ end
32
+ attr_writer :data
33
+
34
+ # The type of the event. Always `response.failed`.
35
+ sig { returns(Symbol) }
36
+ attr_accessor :type
37
+
38
+ # The object of the event. Always `event`.
39
+ sig do
40
+ returns(
41
+ T.nilable(
42
+ OpenAI::Webhooks::ResponseFailedWebhookEvent::Object::TaggedSymbol
43
+ )
44
+ )
45
+ end
46
+ attr_reader :object
47
+
48
+ sig do
49
+ params(
50
+ object:
51
+ OpenAI::Webhooks::ResponseFailedWebhookEvent::Object::OrSymbol
52
+ ).void
53
+ end
54
+ attr_writer :object
55
+
56
+ # Sent when a background response has failed.
57
+ sig do
58
+ params(
59
+ id: String,
60
+ created_at: Integer,
61
+ data: OpenAI::Webhooks::ResponseFailedWebhookEvent::Data::OrHash,
62
+ object:
63
+ OpenAI::Webhooks::ResponseFailedWebhookEvent::Object::OrSymbol,
64
+ type: Symbol
65
+ ).returns(T.attached_class)
66
+ end
67
+ def self.new(
68
+ # The unique ID of the event.
69
+ id:,
70
+ # The Unix timestamp (in seconds) of when the model response failed.
71
+ created_at:,
72
+ # Event data payload.
73
+ data:,
74
+ # The object of the event. Always `event`.
75
+ object: nil,
76
+ # The type of the event. Always `response.failed`.
77
+ type: :"response.failed"
78
+ )
79
+ end
80
+
81
+ sig do
82
+ override.returns(
83
+ {
84
+ id: String,
85
+ created_at: Integer,
86
+ data: OpenAI::Webhooks::ResponseFailedWebhookEvent::Data,
87
+ type: Symbol,
88
+ object:
89
+ OpenAI::Webhooks::ResponseFailedWebhookEvent::Object::TaggedSymbol
90
+ }
91
+ )
92
+ end
93
+ def to_hash
94
+ end
95
+
96
+ class Data < OpenAI::Internal::Type::BaseModel
97
+ OrHash =
98
+ T.type_alias do
99
+ T.any(
100
+ OpenAI::Webhooks::ResponseFailedWebhookEvent::Data,
101
+ OpenAI::Internal::AnyHash
102
+ )
103
+ end
104
+
105
+ # The unique ID of the model response.
106
+ sig { returns(String) }
107
+ attr_accessor :id
108
+
109
+ # Event data payload.
110
+ sig { params(id: String).returns(T.attached_class) }
111
+ def self.new(
112
+ # The unique ID of the model response.
113
+ id:
114
+ )
115
+ end
116
+
117
+ sig { override.returns({ id: String }) }
118
+ def to_hash
119
+ end
120
+ end
121
+
122
+ # The object of the event. Always `event`.
123
+ module Object
124
+ extend OpenAI::Internal::Type::Enum
125
+
126
+ TaggedSymbol =
127
+ T.type_alias do
128
+ T.all(
129
+ Symbol,
130
+ OpenAI::Webhooks::ResponseFailedWebhookEvent::Object
131
+ )
132
+ end
133
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
134
+
135
+ EVENT =
136
+ T.let(
137
+ :event,
138
+ OpenAI::Webhooks::ResponseFailedWebhookEvent::Object::TaggedSymbol
139
+ )
140
+
141
+ sig do
142
+ override.returns(
143
+ T::Array[
144
+ OpenAI::Webhooks::ResponseFailedWebhookEvent::Object::TaggedSymbol
145
+ ]
146
+ )
147
+ end
148
+ def self.values
149
+ end
150
+ end
151
+ end
152
+ end
153
+ end
154
+ end