openai 0.98.0 → 0.99.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (138) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +7 -0
  3. data/README.md +1 -1
  4. data/lib/openai/models/admin/organization/usage_audio_speeches_response.rb +16 -3
  5. data/lib/openai/models/admin/organization/usage_audio_transcriptions_response.rb +16 -3
  6. data/lib/openai/models/admin/organization/usage_code_interpreter_sessions_response.rb +16 -3
  7. data/lib/openai/models/admin/organization/usage_completions_response.rb +16 -3
  8. data/lib/openai/models/admin/organization/usage_costs_response.rb +16 -3
  9. data/lib/openai/models/admin/organization/usage_embeddings_response.rb +16 -3
  10. data/lib/openai/models/admin/organization/usage_file_search_calls_response.rb +16 -3
  11. data/lib/openai/models/admin/organization/usage_images_response.rb +16 -3
  12. data/lib/openai/models/admin/organization/usage_moderations_response.rb +16 -3
  13. data/lib/openai/models/admin/organization/usage_vector_stores_response.rb +16 -3
  14. data/lib/openai/models/admin/organization/usage_web_search_calls_response.rb +16 -3
  15. data/lib/openai/models/all_models.rb +42 -0
  16. data/lib/openai/models/audio/speech_create_params.rb +6 -0
  17. data/lib/openai/models/audio/voice.rb +75 -0
  18. data/lib/openai/models/audio/voice_create_params.rb +217 -0
  19. data/lib/openai/models/beta/agent_create_params.rb +0 -3
  20. data/lib/openai/models/beta/agent_update_params.rb +0 -3
  21. data/lib/openai/models/beta/agents/session_create_params.rb +0 -3
  22. data/lib/openai/models/beta/agents/session_update_params.rb +0 -3
  23. data/lib/openai/models/beta/beta_response.rb +220 -0
  24. data/lib/openai/models/beta/beta_responses_client_event.rb +220 -0
  25. data/lib/openai/models/beta/beta_tool.rb +3 -9
  26. data/lib/openai/models/beta/response_compact_params.rb +220 -0
  27. data/lib/openai/models/beta/response_create_params.rb +220 -0
  28. data/lib/openai/models/chat/chat_completion_audio_param.rb +6 -3
  29. data/lib/openai/models/chat_model.rb +178 -0
  30. data/lib/openai/models/image.rb +14 -14
  31. data/lib/openai/models/image_create_variation_params.rb +7 -7
  32. data/lib/openai/models/image_edit_params.rb +76 -87
  33. data/lib/openai/models/image_generate_params.rb +51 -62
  34. data/lib/openai/models/image_model.rb +5 -3
  35. data/lib/openai/models/realtime/realtime_audio_config_output.rb +9 -6
  36. data/lib/openai/models/realtime/realtime_response_create_audio_output.rb +9 -6
  37. data/lib/openai/models/responses/response_compact_params.rb +220 -0
  38. data/lib/openai/models/responses/tool.rb +3 -9
  39. data/lib/openai/models/responses_model.rb +42 -0
  40. data/lib/openai/models/webhooks/agent_session_action_required_webhook_event.rb +109 -0
  41. data/lib/openai/models/webhooks/agent_session_created_webhook_event.rb +106 -0
  42. data/lib/openai/models/webhooks/agent_session_failed_webhook_event.rb +86 -0
  43. data/lib/openai/models/webhooks/agent_session_idle_webhook_event.rb +86 -0
  44. data/lib/openai/models/webhooks/agent_session_in_progress_webhook_event.rb +86 -0
  45. data/lib/openai/models/webhooks/unwrap_webhook_event.rb +18 -2
  46. data/lib/openai/models/webhooks/webhook_create_params.rb +5 -0
  47. data/lib/openai/models/webhooks/webhook_test_params.rb +5 -0
  48. data/lib/openai/models/webhooks/webhook_update_params.rb +5 -0
  49. data/lib/openai/resources/audio/speech.rb +2 -0
  50. data/lib/openai/resources/audio/voices.rb +53 -0
  51. data/lib/openai/resources/audio.rb +5 -0
  52. data/lib/openai/resources/images.rb +71 -103
  53. data/lib/openai/resources/webhooks.rb +1 -1
  54. data/lib/openai/version.rb +1 -1
  55. data/lib/openai.rb +8 -0
  56. data/rbi/openai/models/admin/organization/usage_audio_speeches_response.rbi +19 -2
  57. data/rbi/openai/models/admin/organization/usage_audio_transcriptions_response.rbi +19 -2
  58. data/rbi/openai/models/admin/organization/usage_code_interpreter_sessions_response.rbi +19 -2
  59. data/rbi/openai/models/admin/organization/usage_completions_response.rbi +19 -2
  60. data/rbi/openai/models/admin/organization/usage_costs_response.rbi +19 -2
  61. data/rbi/openai/models/admin/organization/usage_embeddings_response.rbi +19 -2
  62. data/rbi/openai/models/admin/organization/usage_file_search_calls_response.rbi +19 -2
  63. data/rbi/openai/models/admin/organization/usage_images_response.rbi +19 -2
  64. data/rbi/openai/models/admin/organization/usage_moderations_response.rbi +19 -2
  65. data/rbi/openai/models/admin/organization/usage_vector_stores_response.rbi +19 -2
  66. data/rbi/openai/models/admin/organization/usage_web_search_calls_response.rbi +19 -2
  67. data/rbi/openai/models/audio/speech_create_params.rbi +6 -0
  68. data/rbi/openai/models/audio/voice.rbi +111 -0
  69. data/rbi/openai/models/audio/voice_create_params.rbi +321 -0
  70. data/rbi/openai/models/beta/agent_create_params.rbi +0 -3
  71. data/rbi/openai/models/beta/agent_update_params.rbi +0 -3
  72. data/rbi/openai/models/beta/agents/session_create_params.rbi +0 -3
  73. data/rbi/openai/models/beta/agents/session_update_params.rbi +0 -3
  74. data/rbi/openai/models/beta/beta_tool.rbi +3 -9
  75. data/rbi/openai/models/chat/chat_completion_audio_param.rbi +6 -3
  76. data/rbi/openai/models/image.rbi +14 -14
  77. data/rbi/openai/models/image_create_variation_params.rbi +6 -6
  78. data/rbi/openai/models/image_edit_params.rbi +61 -82
  79. data/rbi/openai/models/image_generate_params.rbi +30 -61
  80. data/rbi/openai/models/image_model.rbi +3 -3
  81. data/rbi/openai/models/realtime/realtime_audio_config_output.rbi +9 -6
  82. data/rbi/openai/models/realtime/realtime_response_create_audio_output.rbi +9 -6
  83. data/rbi/openai/models/responses/tool.rbi +3 -9
  84. data/rbi/openai/models/webhooks/agent_session_action_required_webhook_event.rbi +222 -0
  85. data/rbi/openai/models/webhooks/agent_session_created_webhook_event.rbi +202 -0
  86. data/rbi/openai/models/webhooks/agent_session_failed_webhook_event.rbi +151 -0
  87. data/rbi/openai/models/webhooks/agent_session_idle_webhook_event.rbi +151 -0
  88. data/rbi/openai/models/webhooks/agent_session_in_progress_webhook_event.rbi +151 -0
  89. data/rbi/openai/models/webhooks/unwrap_webhook_event.rbi +7 -1
  90. data/rbi/openai/models/webhooks/webhook_create_params.rbi +20 -0
  91. data/rbi/openai/models/webhooks/webhook_test_params.rbi +20 -0
  92. data/rbi/openai/models/webhooks/webhook_update_params.rbi +20 -0
  93. data/rbi/openai/resources/audio/speech.rbi +2 -0
  94. data/rbi/openai/resources/audio/voices.rbi +49 -0
  95. data/rbi/openai/resources/audio.rbi +4 -0
  96. data/rbi/openai/resources/images.rbi +69 -103
  97. data/rbi/openai/resources/webhooks.rbi +5 -0
  98. data/sig/openai/models/admin/organization/usage_audio_speeches_response.rbs +20 -3
  99. data/sig/openai/models/admin/organization/usage_audio_transcriptions_response.rbs +20 -3
  100. data/sig/openai/models/admin/organization/usage_code_interpreter_sessions_response.rbs +20 -3
  101. data/sig/openai/models/admin/organization/usage_completions_response.rbs +20 -3
  102. data/sig/openai/models/admin/organization/usage_costs_response.rbs +20 -3
  103. data/sig/openai/models/admin/organization/usage_embeddings_response.rbs +20 -3
  104. data/sig/openai/models/admin/organization/usage_file_search_calls_response.rbs +20 -3
  105. data/sig/openai/models/admin/organization/usage_images_response.rbs +20 -3
  106. data/sig/openai/models/admin/organization/usage_moderations_response.rbs +20 -3
  107. data/sig/openai/models/admin/organization/usage_vector_stores_response.rbs +20 -3
  108. data/sig/openai/models/admin/organization/usage_web_search_calls_response.rbs +20 -3
  109. data/sig/openai/models/audio/speech_create_params.rbs +4 -0
  110. data/sig/openai/models/audio/voice.rbs +70 -0
  111. data/sig/openai/models/audio/voice_create_params.rbs +203 -0
  112. data/sig/openai/models/beta/agent_create_params.rbs +1 -5
  113. data/sig/openai/models/beta/agent_update_params.rbs +1 -5
  114. data/sig/openai/models/beta/agents/session_create_params.rbs +1 -5
  115. data/sig/openai/models/beta/agents/session_update_params.rbs +1 -5
  116. data/sig/openai/models/beta/beta_tool.rbs +3 -9
  117. data/sig/openai/models/chat/chat_completion_audio_param.rbs +4 -2
  118. data/sig/openai/models/image.rbs +21 -21
  119. data/sig/openai/models/image_create_variation_params.rbs +4 -4
  120. data/sig/openai/models/image_edit_params.rbs +46 -60
  121. data/sig/openai/models/image_generate_params.rbs +23 -45
  122. data/sig/openai/models/image_model.rbs +6 -6
  123. data/sig/openai/models/realtime/realtime_audio_config_output.rbs +9 -6
  124. data/sig/openai/models/realtime/realtime_response_create_audio_output.rbs +9 -6
  125. data/sig/openai/models/responses/tool.rbs +3 -9
  126. data/sig/openai/models/webhooks/agent_session_action_required_webhook_event.rbs +114 -0
  127. data/sig/openai/models/webhooks/agent_session_created_webhook_event.rbs +115 -0
  128. data/sig/openai/models/webhooks/agent_session_failed_webhook_event.rbs +89 -0
  129. data/sig/openai/models/webhooks/agent_session_idle_webhook_event.rbs +89 -0
  130. data/sig/openai/models/webhooks/agent_session_in_progress_webhook_event.rbs +89 -0
  131. data/sig/openai/models/webhooks/unwrap_webhook_event.rbs +6 -1
  132. data/sig/openai/models/webhooks/webhook_create_params.rbs +10 -0
  133. data/sig/openai/models/webhooks/webhook_test_params.rbs +10 -0
  134. data/sig/openai/models/webhooks/webhook_update_params.rbs +10 -0
  135. data/sig/openai/resources/audio/voices.rbs +14 -0
  136. data/sig/openai/resources/audio.rbs +2 -0
  137. data/sig/openai/resources/webhooks.rbs +6 -1
  138. metadata +25 -1
@@ -0,0 +1,222 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+
6
+ module Webhooks
7
+
8
+ class AgentSessionActionRequiredWebhookEvent < OpenAI::Internal::Type::BaseModel
9
+
10
+ OrHash = T.type_alias do
11
+ T.any(
12
+ OpenAI::Webhooks::AgentSessionActionRequiredWebhookEvent,
13
+ OpenAI::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ # The unique ID of the event.
18
+ sig { returns(String) }
19
+ attr_accessor :id
20
+
21
+ # The Unix timestamp, in seconds, when the event was created.
22
+ sig { returns(Integer) }
23
+ attr_accessor :created_at
24
+
25
+ sig { returns(OpenAI::Webhooks::AgentSessionActionRequiredWebhookEvent::Data) }
26
+ attr_reader :data
27
+
28
+ sig { params(data: OpenAI::Webhooks::AgentSessionActionRequiredWebhookEvent::Data::OrHash).void }
29
+ attr_writer :data
30
+
31
+ # The object type. Always `event`.
32
+ sig { returns(Symbol) }
33
+ attr_accessor :object
34
+
35
+ # The event type. Always `agent.session.action_required`.
36
+ sig { returns(Symbol) }
37
+ attr_accessor :type
38
+
39
+ # Sent when an agent session requires an action. Retrieve the session for action
40
+ # details.
41
+ sig do
42
+ params(
43
+
44
+ id: String,
45
+
46
+ created_at: Integer,
47
+
48
+ data: OpenAI::Webhooks::AgentSessionActionRequiredWebhookEvent::Data::OrHash,
49
+
50
+ object: Symbol,
51
+
52
+ type: Symbol
53
+ )
54
+ .returns(T.attached_class)
55
+ end
56
+ def self.new(
57
+
58
+ # The unique ID of the event.
59
+ id:,
60
+
61
+ # The Unix timestamp, in seconds, when the event was created.
62
+ created_at:,
63
+
64
+ data:,
65
+
66
+ # The object type. Always `event`.
67
+ object: :event,
68
+
69
+ # The event type. Always `agent.session.action_required`.
70
+
71
+ type: :"agent.session.action_required"
72
+ )
73
+ end
74
+
75
+ sig do
76
+ override.returns(
77
+ {
78
+ id: String,
79
+ created_at: Integer,
80
+ data: OpenAI::Webhooks::AgentSessionActionRequiredWebhookEvent::Data,
81
+ object: Symbol,
82
+ type: Symbol
83
+ }
84
+ )
85
+ end
86
+ def to_hash
87
+ end
88
+
89
+ class Data < OpenAI::Internal::Type::BaseModel
90
+ OrHash = T.type_alias do
91
+ T.any(
92
+ OpenAI::Webhooks::AgentSessionActionRequiredWebhookEvent::Data,
93
+ OpenAI::Internal::AnyHash
94
+ )
95
+ end
96
+
97
+ # The ID of the session.
98
+ sig { returns(String) }
99
+ attr_accessor :id
100
+
101
+ # The action type. Retrieve the session for action details.
102
+ sig { returns(OpenAI::Webhooks::AgentSessionActionRequiredWebhookEvent::Data::RequiredAction) }
103
+ attr_reader :required_action
104
+
105
+ sig {
106
+ params(
107
+ required_action: OpenAI::Webhooks::AgentSessionActionRequiredWebhookEvent::Data::RequiredAction::OrHash
108
+ )
109
+ .void
110
+ }
111
+ attr_writer :required_action
112
+
113
+ sig do
114
+ params(
115
+
116
+ id: String,
117
+
118
+ required_action: OpenAI::Webhooks::AgentSessionActionRequiredWebhookEvent::Data::RequiredAction::OrHash
119
+ )
120
+ .returns(T.attached_class)
121
+ end
122
+ def self.new(
123
+
124
+ # The ID of the session.
125
+ id:,
126
+
127
+ # The action type. Retrieve the session for action details.
128
+
129
+ required_action:
130
+ )
131
+ end
132
+
133
+ sig do
134
+ override.returns(
135
+ {
136
+ id: String,
137
+ required_action: OpenAI::Webhooks::AgentSessionActionRequiredWebhookEvent::Data::RequiredAction
138
+ }
139
+ )
140
+ end
141
+ def to_hash
142
+ end
143
+
144
+ class RequiredAction < OpenAI::Internal::Type::BaseModel
145
+ OrHash = T.type_alias do
146
+ T.any(
147
+ OpenAI::Webhooks::AgentSessionActionRequiredWebhookEvent::Data::RequiredAction,
148
+ OpenAI::Internal::AnyHash
149
+ )
150
+ end
151
+
152
+ sig {
153
+ returns(
154
+ OpenAI::Webhooks::AgentSessionActionRequiredWebhookEvent::Data::RequiredAction::Type::TaggedSymbol
155
+ )
156
+ }
157
+ attr_accessor :type
158
+
159
+ # The action type. Retrieve the session for action details.
160
+ sig do
161
+ params(
162
+
163
+ type: OpenAI::Webhooks::AgentSessionActionRequiredWebhookEvent::Data::RequiredAction::Type::OrSymbol
164
+ )
165
+ .returns(T.attached_class)
166
+ end
167
+ def self.new(
168
+
169
+ type:
170
+ )
171
+ end
172
+
173
+ sig do
174
+ override.returns(
175
+ {
176
+ type: OpenAI::Webhooks::AgentSessionActionRequiredWebhookEvent::Data::RequiredAction::Type::TaggedSymbol
177
+ }
178
+ )
179
+ end
180
+ def to_hash
181
+ end
182
+
183
+ module Type
184
+ extend OpenAI::Internal::Type::Enum
185
+
186
+ TaggedSymbol = T.type_alias {
187
+ T.all(Symbol, OpenAI::Webhooks::AgentSessionActionRequiredWebhookEvent::Data::RequiredAction::Type)
188
+ }
189
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
190
+
191
+ COMPUTER_USE_APPROVAL_REQUEST = T.let(
192
+ :computer_use_approval_request,
193
+ OpenAI::Webhooks::AgentSessionActionRequiredWebhookEvent::Data::RequiredAction::Type::TaggedSymbol
194
+ )
195
+ FUNCTION_CALL = T.let(
196
+ :function_call,
197
+ OpenAI::Webhooks::AgentSessionActionRequiredWebhookEvent::Data::RequiredAction::Type::TaggedSymbol
198
+ )
199
+ ENVIRONMENT_CONNECTION = T.let(
200
+ :environment_connection,
201
+ OpenAI::Webhooks::AgentSessionActionRequiredWebhookEvent::Data::RequiredAction::Type::TaggedSymbol
202
+ )
203
+
204
+ sig {
205
+ override.returns(
206
+ T::Array[
207
+ OpenAI::Webhooks::AgentSessionActionRequiredWebhookEvent::Data::RequiredAction::Type::TaggedSymbol
208
+ ]
209
+ )
210
+ }
211
+ def self.values
212
+ end
213
+ end
214
+ end
215
+ end
216
+
217
+ end
218
+
219
+ end
220
+
221
+ end
222
+ end
@@ -0,0 +1,202 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+
6
+ module Webhooks
7
+
8
+ class AgentSessionCreatedWebhookEvent < OpenAI::Internal::Type::BaseModel
9
+
10
+ OrHash = T.type_alias do
11
+ T.any(
12
+ OpenAI::Webhooks::AgentSessionCreatedWebhookEvent,
13
+ OpenAI::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ # The unique ID of the event.
18
+ sig { returns(String) }
19
+ attr_accessor :id
20
+
21
+ # The Unix timestamp, in seconds, when the event was created.
22
+ sig { returns(Integer) }
23
+ attr_accessor :created_at
24
+
25
+ sig { returns(OpenAI::Webhooks::AgentSessionCreatedWebhookEvent::Data) }
26
+ attr_reader :data
27
+
28
+ sig { params(data: OpenAI::Webhooks::AgentSessionCreatedWebhookEvent::Data::OrHash).void }
29
+ attr_writer :data
30
+
31
+ # The object type. Always `event`.
32
+ sig { returns(Symbol) }
33
+ attr_accessor :object
34
+
35
+ # The event type. Always `agent.session.created`.
36
+ sig { returns(Symbol) }
37
+ attr_accessor :type
38
+
39
+ # Sent when an agent session is created.
40
+ sig do
41
+ params(
42
+
43
+ id: String,
44
+
45
+ created_at: Integer,
46
+
47
+ data: OpenAI::Webhooks::AgentSessionCreatedWebhookEvent::Data::OrHash,
48
+
49
+ object: Symbol,
50
+
51
+ type: Symbol
52
+ )
53
+ .returns(T.attached_class)
54
+ end
55
+ def self.new(
56
+
57
+ # The unique ID of the event.
58
+ id:,
59
+
60
+ # The Unix timestamp, in seconds, when the event was created.
61
+ created_at:,
62
+
63
+ data:,
64
+
65
+ # The object type. Always `event`.
66
+ object: :event,
67
+
68
+ # The event type. Always `agent.session.created`.
69
+
70
+ type: :"agent.session.created"
71
+ )
72
+ end
73
+
74
+ sig do
75
+ override.returns(
76
+ {
77
+ id: String,
78
+ created_at: Integer,
79
+ data: OpenAI::Webhooks::AgentSessionCreatedWebhookEvent::Data,
80
+ object: Symbol,
81
+ type: Symbol
82
+ }
83
+ )
84
+ end
85
+ def to_hash
86
+ end
87
+
88
+ class Data < OpenAI::Internal::Type::BaseModel
89
+ OrHash = T.type_alias do
90
+ T.any(
91
+ OpenAI::Webhooks::AgentSessionCreatedWebhookEvent::Data,
92
+ OpenAI::Internal::AnyHash
93
+ )
94
+ end
95
+
96
+ # The ID of the session.
97
+ sig { returns(String) }
98
+ attr_accessor :id
99
+
100
+ # The environment type: `none`, `openai_hosted`, or `self_hosted`.
101
+ sig { returns(String) }
102
+ attr_accessor :environment_type
103
+
104
+ sig { returns(T.nilable(OpenAI::Webhooks::AgentSessionCreatedWebhookEvent::Data::Connect)) }
105
+ attr_reader :connect
106
+
107
+ sig { params(connect: OpenAI::Webhooks::AgentSessionCreatedWebhookEvent::Data::Connect::OrHash).void }
108
+ attr_writer :connect
109
+
110
+ # The ID of the environment, when one exists.
111
+ sig { returns(T.nilable(String)) }
112
+ attr_reader :environment_id
113
+
114
+ sig { params(environment_id: String).void }
115
+ attr_writer :environment_id
116
+
117
+ sig do
118
+ params(
119
+
120
+ id: String,
121
+
122
+ environment_type: String,
123
+
124
+ connect: OpenAI::Webhooks::AgentSessionCreatedWebhookEvent::Data::Connect::OrHash,
125
+
126
+ environment_id: String
127
+ )
128
+ .returns(T.attached_class)
129
+ end
130
+ def self.new(
131
+
132
+ # The ID of the session.
133
+ id:,
134
+
135
+ # The environment type: `none`, `openai_hosted`, or `self_hosted`.
136
+ environment_type:,
137
+
138
+ connect: nil,
139
+
140
+ # The ID of the environment, when one exists.
141
+
142
+ environment_id: nil
143
+ )
144
+ end
145
+
146
+ sig do
147
+ override.returns(
148
+ {
149
+ id: String,
150
+ environment_type: String,
151
+ connect: OpenAI::Webhooks::AgentSessionCreatedWebhookEvent::Data::Connect,
152
+ environment_id: String
153
+ }
154
+ )
155
+ end
156
+ def to_hash
157
+ end
158
+
159
+ class Connect < OpenAI::Internal::Type::BaseModel
160
+ OrHash = T.type_alias do
161
+ T.any(
162
+ OpenAI::Webhooks::AgentSessionCreatedWebhookEvent::Data::Connect,
163
+ OpenAI::Internal::AnyHash
164
+ )
165
+ end
166
+
167
+ # The URL used to connect the self-hosted environment.
168
+ sig { returns(String) }
169
+ attr_accessor :remote_url
170
+
171
+ sig do
172
+ params(
173
+
174
+ remote_url: String
175
+ )
176
+ .returns(T.attached_class)
177
+ end
178
+ def self.new(
179
+
180
+ # The URL used to connect the self-hosted environment.
181
+
182
+ remote_url:
183
+ )
184
+ end
185
+
186
+ sig do
187
+ override.returns(
188
+ {remote_url: String}
189
+ )
190
+ end
191
+ def to_hash
192
+ end
193
+
194
+ end
195
+ end
196
+
197
+ end
198
+
199
+ end
200
+
201
+ end
202
+ end
@@ -0,0 +1,151 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+
6
+ module Webhooks
7
+
8
+ class AgentSessionFailedWebhookEvent < OpenAI::Internal::Type::BaseModel
9
+
10
+ OrHash = T.type_alias do
11
+ T.any(
12
+ OpenAI::Webhooks::AgentSessionFailedWebhookEvent,
13
+ OpenAI::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ # The unique ID of the event.
18
+ sig { returns(String) }
19
+ attr_accessor :id
20
+
21
+ # The Unix timestamp, in seconds, when the event was created.
22
+ sig { returns(Integer) }
23
+ attr_accessor :created_at
24
+
25
+ sig { returns(OpenAI::Webhooks::AgentSessionFailedWebhookEvent::Data) }
26
+ attr_reader :data
27
+
28
+ sig { params(data: OpenAI::Webhooks::AgentSessionFailedWebhookEvent::Data::OrHash).void }
29
+ attr_writer :data
30
+
31
+ # The object type. Always `event`.
32
+ sig { returns(Symbol) }
33
+ attr_accessor :object
34
+
35
+ # The event type. Always `agent.session.failed`.
36
+ sig { returns(Symbol) }
37
+ attr_accessor :type
38
+
39
+ # Sent when an agent session fails.
40
+ sig do
41
+ params(
42
+
43
+ id: String,
44
+
45
+ created_at: Integer,
46
+
47
+ data: OpenAI::Webhooks::AgentSessionFailedWebhookEvent::Data::OrHash,
48
+
49
+ object: Symbol,
50
+
51
+ type: Symbol
52
+ )
53
+ .returns(T.attached_class)
54
+ end
55
+ def self.new(
56
+
57
+ # The unique ID of the event.
58
+ id:,
59
+
60
+ # The Unix timestamp, in seconds, when the event was created.
61
+ created_at:,
62
+
63
+ data:,
64
+
65
+ # The object type. Always `event`.
66
+ object: :event,
67
+
68
+ # The event type. Always `agent.session.failed`.
69
+
70
+ type: :"agent.session.failed"
71
+ )
72
+ end
73
+
74
+ sig do
75
+ override.returns(
76
+ {
77
+ id: String,
78
+ created_at: Integer,
79
+ data: OpenAI::Webhooks::AgentSessionFailedWebhookEvent::Data,
80
+ object: Symbol,
81
+ type: Symbol
82
+ }
83
+ )
84
+ end
85
+ def to_hash
86
+ end
87
+
88
+ class Data < OpenAI::Internal::Type::BaseModel
89
+ OrHash = T.type_alias do
90
+ T.any(
91
+ OpenAI::Webhooks::AgentSessionFailedWebhookEvent::Data,
92
+ OpenAI::Internal::AnyHash
93
+ )
94
+ end
95
+
96
+ # The ID of the session.
97
+ sig { returns(String) }
98
+ attr_accessor :id
99
+
100
+ # The environment type: `none`, `openai_hosted`, or `self_hosted`.
101
+ sig { returns(String) }
102
+ attr_accessor :environment_type
103
+
104
+ # The ID of the environment, when one exists.
105
+ sig { returns(T.nilable(String)) }
106
+ attr_reader :environment_id
107
+
108
+ sig { params(environment_id: String).void }
109
+ attr_writer :environment_id
110
+
111
+ sig do
112
+ params(
113
+
114
+ id: String,
115
+
116
+ environment_type: String,
117
+
118
+ environment_id: String
119
+ )
120
+ .returns(T.attached_class)
121
+ end
122
+ def self.new(
123
+
124
+ # The ID of the session.
125
+ id:,
126
+
127
+ # The environment type: `none`, `openai_hosted`, or `self_hosted`.
128
+ environment_type:,
129
+
130
+ # The ID of the environment, when one exists.
131
+
132
+ environment_id: nil
133
+ )
134
+ end
135
+
136
+ sig do
137
+ override.returns(
138
+ {id: String, environment_type: String, environment_id: String}
139
+ )
140
+ end
141
+ def to_hash
142
+ end
143
+
144
+ end
145
+
146
+ end
147
+
148
+ end
149
+
150
+ end
151
+ end
@@ -0,0 +1,151 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+
6
+ module Webhooks
7
+
8
+ class AgentSessionIdleWebhookEvent < OpenAI::Internal::Type::BaseModel
9
+
10
+ OrHash = T.type_alias do
11
+ T.any(
12
+ OpenAI::Webhooks::AgentSessionIdleWebhookEvent,
13
+ OpenAI::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ # The unique ID of the event.
18
+ sig { returns(String) }
19
+ attr_accessor :id
20
+
21
+ # The Unix timestamp, in seconds, when the event was created.
22
+ sig { returns(Integer) }
23
+ attr_accessor :created_at
24
+
25
+ sig { returns(OpenAI::Webhooks::AgentSessionIdleWebhookEvent::Data) }
26
+ attr_reader :data
27
+
28
+ sig { params(data: OpenAI::Webhooks::AgentSessionIdleWebhookEvent::Data::OrHash).void }
29
+ attr_writer :data
30
+
31
+ # The object type. Always `event`.
32
+ sig { returns(Symbol) }
33
+ attr_accessor :object
34
+
35
+ # The event type. Always `agent.session.idle`.
36
+ sig { returns(Symbol) }
37
+ attr_accessor :type
38
+
39
+ # Sent when an agent session becomes idle.
40
+ sig do
41
+ params(
42
+
43
+ id: String,
44
+
45
+ created_at: Integer,
46
+
47
+ data: OpenAI::Webhooks::AgentSessionIdleWebhookEvent::Data::OrHash,
48
+
49
+ object: Symbol,
50
+
51
+ type: Symbol
52
+ )
53
+ .returns(T.attached_class)
54
+ end
55
+ def self.new(
56
+
57
+ # The unique ID of the event.
58
+ id:,
59
+
60
+ # The Unix timestamp, in seconds, when the event was created.
61
+ created_at:,
62
+
63
+ data:,
64
+
65
+ # The object type. Always `event`.
66
+ object: :event,
67
+
68
+ # The event type. Always `agent.session.idle`.
69
+
70
+ type: :"agent.session.idle"
71
+ )
72
+ end
73
+
74
+ sig do
75
+ override.returns(
76
+ {
77
+ id: String,
78
+ created_at: Integer,
79
+ data: OpenAI::Webhooks::AgentSessionIdleWebhookEvent::Data,
80
+ object: Symbol,
81
+ type: Symbol
82
+ }
83
+ )
84
+ end
85
+ def to_hash
86
+ end
87
+
88
+ class Data < OpenAI::Internal::Type::BaseModel
89
+ OrHash = T.type_alias do
90
+ T.any(
91
+ OpenAI::Webhooks::AgentSessionIdleWebhookEvent::Data,
92
+ OpenAI::Internal::AnyHash
93
+ )
94
+ end
95
+
96
+ # The ID of the session.
97
+ sig { returns(String) }
98
+ attr_accessor :id
99
+
100
+ # The environment type: `none`, `openai_hosted`, or `self_hosted`.
101
+ sig { returns(String) }
102
+ attr_accessor :environment_type
103
+
104
+ # The ID of the environment, when one exists.
105
+ sig { returns(T.nilable(String)) }
106
+ attr_reader :environment_id
107
+
108
+ sig { params(environment_id: String).void }
109
+ attr_writer :environment_id
110
+
111
+ sig do
112
+ params(
113
+
114
+ id: String,
115
+
116
+ environment_type: String,
117
+
118
+ environment_id: String
119
+ )
120
+ .returns(T.attached_class)
121
+ end
122
+ def self.new(
123
+
124
+ # The ID of the session.
125
+ id:,
126
+
127
+ # The environment type: `none`, `openai_hosted`, or `self_hosted`.
128
+ environment_type:,
129
+
130
+ # The ID of the environment, when one exists.
131
+
132
+ environment_id: nil
133
+ )
134
+ end
135
+
136
+ sig do
137
+ override.returns(
138
+ {id: String, environment_type: String, environment_id: String}
139
+ )
140
+ end
141
+ def to_hash
142
+ end
143
+
144
+ end
145
+
146
+ end
147
+
148
+ end
149
+
150
+ end
151
+ end