phaseo_sdk 2.1.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.
data/lib/gen/models.rb ADDED
@@ -0,0 +1,2124 @@
1
+ module Phaseo
2
+ module Gen
3
+ # @!attribute [rw] byok_usage_inference
4
+ # @return [Float]
5
+ # @!attribute [rw] completion_tokens
6
+ # @return [Integer]
7
+ # @!attribute [rw] date
8
+ # @return [String]
9
+ # @!attribute [rw] endpoint_id
10
+ # @return [String]
11
+ # @!attribute [rw] model
12
+ # @return [String]
13
+ # @!attribute [rw] model_permaslug
14
+ # @return [String]
15
+ # @!attribute [rw] prompt_tokens
16
+ # @return [Integer]
17
+ # @!attribute [rw] provider_name
18
+ # @return [String]
19
+ # @!attribute [rw] reasoning_tokens
20
+ # @return [Integer]
21
+ # @!attribute [rw] requests
22
+ # @return [Integer]
23
+ # @!attribute [rw] usage
24
+ # @return [Float]
25
+ ActivityEntry = Struct.new(:byok_usage_inference, :completion_tokens, :date, :endpoint_id, :model, :model_permaslug, :prompt_tokens, :provider_name, :reasoning_tokens, :requests, :usage, keyword_init: true)
26
+ # @!attribute [rw] data
27
+ # @return [Array<Hash{String => Object}>]
28
+ ActivityResponse = Struct.new(:data, keyword_init: true)
29
+ # @!attribute [rw] error
30
+ # @return [String]
31
+ # @!attribute [rw] ok
32
+ # @return [String]
33
+ AnalyticsAccessTokenRequiredResponse = Struct.new(:error, :ok, keyword_init: true)
34
+ # @!attribute [rw] message
35
+ # @return [String]
36
+ # @!attribute [rw] ok
37
+ # @return [String]
38
+ # @!attribute [rw] status
39
+ # @return [String]
40
+ AnalyticsNotImplementedResponse = Struct.new(:message, :ok, :status, keyword_init: true)
41
+ # @!attribute [rw] cache_control
42
+ # @return [Hash{String => Object}, nil]
43
+ # @!attribute [rw] content
44
+ # @return [String, nil]
45
+ # @!attribute [rw] id
46
+ # @return [String, nil]
47
+ # @!attribute [rw] input
48
+ # @return [Hash{String => Object}, nil]
49
+ # @!attribute [rw] name
50
+ # @return [String, nil]
51
+ # @!attribute [rw] source
52
+ # @return [Hash{String => Object}, nil]
53
+ # @!attribute [rw] text
54
+ # @return [String, nil]
55
+ # @!attribute [rw] tool_use_id
56
+ # @return [String, nil]
57
+ # @!attribute [rw] type
58
+ # @return [String, nil]
59
+ AnthropicContentBlock = Struct.new(:cache_control, :content, :id, :input, :name, :source, :text, :tool_use_id, :type, keyword_init: true)
60
+ # @!attribute [rw] content
61
+ # @return [String, Array<Hash{String => Object}>]
62
+ # @!attribute [rw] role
63
+ # @return [String]
64
+ AnthropicMessage = Struct.new(:content, :role, keyword_init: true)
65
+ # @!attribute [rw] debug
66
+ # @return [Hash{String => Object}, nil]
67
+ # @!attribute [rw] echo_upstream_request
68
+ # @return [Boolean, nil]
69
+ # @!attribute [rw] max_tokens
70
+ # @return [Integer]
71
+ # @!attribute [rw] messages
72
+ # @return [Array<Hash{String => Object}>]
73
+ # @!attribute [rw] meta
74
+ # @return [Boolean, nil]
75
+ # @!attribute [rw] metadata
76
+ # @return [Hash{String => Object}, nil]
77
+ # @!attribute [rw] model
78
+ # @return [String]
79
+ # @!attribute [rw] provider
80
+ # @return [Hash{String => Object}, nil]
81
+ # @!attribute [rw] provider_options
82
+ # @return [Hash{String => Object}, nil]
83
+ # @!attribute [rw] reasoning
84
+ # @return [Hash{String => Object}, nil]
85
+ # @!attribute [rw] session_id
86
+ # @return [String, nil]
87
+ # @!attribute [rw] stop_sequences
88
+ # @return [Array<String>, nil]
89
+ # @!attribute [rw] stream
90
+ # @return [Boolean, nil]
91
+ # @!attribute [rw] system
92
+ # @return [String, Array<Hash{String => Object}>, nil]
93
+ # @!attribute [rw] temperature
94
+ # @return [Float, nil]
95
+ # @!attribute [rw] tool_choice
96
+ # @return [Hash{String => Object}, String, nil]
97
+ # @!attribute [rw] tools
98
+ # @return [Array<Hash{String => Object}>, nil]
99
+ # @!attribute [rw] top_k
100
+ # @return [Integer, nil]
101
+ # @!attribute [rw] top_p
102
+ # @return [Float, nil]
103
+ # @!attribute [rw] usage
104
+ # @return [Boolean, nil]
105
+ AnthropicMessagesRequest = Struct.new(:debug, :echo_upstream_request, :max_tokens, :messages, :meta, :metadata, :model, :provider, :provider_options, :reasoning, :session_id, :stop_sequences, :stream, :system, :temperature, :tool_choice, :tools, :top_k, :top_p, :usage, keyword_init: true)
106
+ # @!attribute [rw] content
107
+ # @return [Array<Hash{String => Object}>, nil]
108
+ # @!attribute [rw] id
109
+ # @return [String, nil]
110
+ # @!attribute [rw] model
111
+ # @return [String, nil]
112
+ # @!attribute [rw] role
113
+ # @return [String, nil]
114
+ # @!attribute [rw] stop_reason
115
+ # @return [String, nil]
116
+ # @!attribute [rw] stop_sequence
117
+ # @return [String, nil]
118
+ # @!attribute [rw] type
119
+ # @return [String, nil]
120
+ # @!attribute [rw] usage
121
+ # @return [Hash{String => Object}, nil]
122
+ AnthropicMessagesResponse = Struct.new(:content, :id, :model, :role, :stop_reason, :stop_sequence, :type, :usage, keyword_init: true)
123
+ # @!attribute [rw] description
124
+ # @return [String, nil]
125
+ # @!attribute [rw] input_schema
126
+ # @return [Hash{String => Object}, nil]
127
+ # @!attribute [rw] name
128
+ # @return [String]
129
+ AnthropicTool = Struct.new(:description, :input_schema, :name, keyword_init: true)
130
+ # @!attribute [rw] input_tokens
131
+ # @return [Integer, nil]
132
+ # @!attribute [rw] output_tokens
133
+ # @return [Integer, nil]
134
+ AnthropicUsage = Struct.new(:input_tokens, :output_tokens, keyword_init: true)
135
+ # @!attribute [rw] created_at
136
+ # @return [String, nil]
137
+ # @!attribute [rw] created_by
138
+ # @return [String, nil]
139
+ # @!attribute [rw] disabled
140
+ # @return [Boolean]
141
+ # @!attribute [rw] expires_at
142
+ # @return [String, nil]
143
+ # @!attribute [rw] hash
144
+ # @return [String]
145
+ # @!attribute [rw] id
146
+ # @return [String]
147
+ # @!attribute [rw] label
148
+ # @return [String, nil]
149
+ # @!attribute [rw] last_used_at
150
+ # @return [String, nil]
151
+ # @!attribute [rw] name
152
+ # @return [String, nil]
153
+ # @!attribute [rw] prefix
154
+ # @return [String, nil]
155
+ # @!attribute [rw] scopes
156
+ # @return [String, Array<String>]
157
+ # @!attribute [rw] soft_blocked
158
+ # @return [Boolean]
159
+ # @!attribute [rw] status
160
+ # @return [String, nil]
161
+ # @!attribute [rw] updated_at
162
+ # @return [String, nil]
163
+ # @!attribute [rw] workspace_id
164
+ # @return [String]
165
+ ApiKey = Struct.new(:created_at, :created_by, :disabled, :expires_at, :hash, :id, :label, :last_used_at, :name, :prefix, :scopes, :soft_blocked, :status, :updated_at, :workspace_id, keyword_init: true)
166
+ # @!attribute [rw] disabled
167
+ # @return [Boolean, nil]
168
+ # @!attribute [rw] expires_at
169
+ # @return [String, nil]
170
+ # @!attribute [rw] include_byok_in_limit
171
+ # @return [Boolean, nil]
172
+ # @!attribute [rw] limit
173
+ # @return [Float, nil]
174
+ # @!attribute [rw] limit_reset
175
+ # @return [String, nil]
176
+ # @!attribute [rw] name
177
+ # @return [String]
178
+ # @!attribute [rw] scopes
179
+ # @return [String, Array<String>, nil]
180
+ # @!attribute [rw] soft_blocked
181
+ # @return [Boolean, nil]
182
+ # @!attribute [rw] workspace_id
183
+ # @return [String, nil]
184
+ ApiKeyCreateRequest = Struct.new(:disabled, :expires_at, :include_byok_in_limit, :limit, :limit_reset, :name, :scopes, :soft_blocked, :workspace_id, keyword_init: true)
185
+ # @!attribute [rw] data
186
+ # @return [Array<Hash{String => Object}>]
187
+ # @!attribute [rw] total_count
188
+ # @return [Integer]
189
+ ApiKeyListResponse = Struct.new(:data, :total_count, keyword_init: true)
190
+ # @!attribute [rw] data
191
+ # @return [Hash{String => Object}]
192
+ ApiKeyResponse = Struct.new(:data, keyword_init: true)
193
+ ApiKeyScopeValue = Object
194
+ # @!attribute [rw] disabled
195
+ # @return [Boolean, nil]
196
+ # @!attribute [rw] expires_at
197
+ # @return [String, nil]
198
+ # @!attribute [rw] include_byok_in_limit
199
+ # @return [Boolean, nil]
200
+ # @!attribute [rw] limit
201
+ # @return [Float, nil]
202
+ # @!attribute [rw] limit_reset
203
+ # @return [String, nil]
204
+ # @!attribute [rw] name
205
+ # @return [String, nil]
206
+ # @!attribute [rw] scopes
207
+ # @return [String, Array<String>, nil]
208
+ # @!attribute [rw] soft_blocked
209
+ # @return [Boolean, nil]
210
+ ApiKeyUpdateRequest = Struct.new(:disabled, :expires_at, :include_byok_in_limit, :limit, :limit_reset, :name, :scopes, :soft_blocked, keyword_init: true)
211
+ # @!attribute [rw] created_at
212
+ # @return [String, nil]
213
+ # @!attribute [rw] created_by
214
+ # @return [String, nil]
215
+ # @!attribute [rw] disabled
216
+ # @return [Boolean]
217
+ # @!attribute [rw] expires_at
218
+ # @return [String, nil]
219
+ # @!attribute [rw] hash
220
+ # @return [String]
221
+ # @!attribute [rw] id
222
+ # @return [String]
223
+ # @!attribute [rw] key
224
+ # @return [String]
225
+ # @!attribute [rw] label
226
+ # @return [String, nil]
227
+ # @!attribute [rw] last_used_at
228
+ # @return [String, nil]
229
+ # @!attribute [rw] name
230
+ # @return [String, nil]
231
+ # @!attribute [rw] prefix
232
+ # @return [String, nil]
233
+ # @!attribute [rw] scopes
234
+ # @return [String, Array<String>]
235
+ # @!attribute [rw] soft_blocked
236
+ # @return [Boolean]
237
+ # @!attribute [rw] status
238
+ # @return [String, nil]
239
+ # @!attribute [rw] updated_at
240
+ # @return [String, nil]
241
+ # @!attribute [rw] workspace_id
242
+ # @return [String]
243
+ ApiKeyWithValue = Struct.new(:created_at, :created_by, :disabled, :expires_at, :hash, :id, :key, :label, :last_used_at, :name, :prefix, :scopes, :soft_blocked, :status, :updated_at, :workspace_id, keyword_init: true)
244
+ # @!attribute [rw] data
245
+ # @return [Hash{String => Object}]
246
+ ApiKeyWithValueResponse = Struct.new(:data, keyword_init: true)
247
+ # @!attribute [rw] type
248
+ # @return [String]
249
+ AsyncJobWebSocketClientEvent = Struct.new(:type, keyword_init: true)
250
+ # @!attribute [rw] data
251
+ # @return [Hash{String => Object}, nil]
252
+ # @!attribute [rw] type
253
+ # @return [String]
254
+ AsyncJobWebSocketServerEvent = Struct.new(:data, :type, keyword_init: true)
255
+ # @!attribute [rw] error
256
+ # @return [Hash{String => Object}, nil]
257
+ AsyncJobWebSocketUpgradeRequiredResponse = Struct.new(:error, keyword_init: true)
258
+ # @!attribute [rw] attempt_number
259
+ # @return [Integer, nil]
260
+ # @!attribute [rw] delivered_at
261
+ # @return [String, nil]
262
+ # @!attribute [rw] delivery_key
263
+ # @return [String, nil]
264
+ # @!attribute [rw] error_message
265
+ # @return [String, nil]
266
+ # @!attribute [rw] event_type
267
+ # @return [String, nil]
268
+ # @!attribute [rw] id
269
+ # @return [String, nil]
270
+ # @!attribute [rw] max_attempts
271
+ # @return [Integer, nil]
272
+ # @!attribute [rw] next_retry_at
273
+ # @return [String, nil]
274
+ # @!attribute [rw] response_body_preview
275
+ # @return [String, nil]
276
+ # @!attribute [rw] response_status
277
+ # @return [Integer, nil]
278
+ # @!attribute [rw] status
279
+ # @return [String, nil]
280
+ # @!attribute [rw] tried_at
281
+ # @return [String, nil]
282
+ AsyncWebhookDeliveryAttempt = Struct.new(:attempt_number, :delivered_at, :delivery_key, :error_message, :event_type, :id, :max_attempts, :next_retry_at, :response_body_preview, :response_status, :status, :tried_at, keyword_init: true)
283
+ # @!attribute [rw] delivered_event_types
284
+ # @return [Array<String>, nil]
285
+ # @!attribute [rw] delivered_events
286
+ # @return [Integer, nil]
287
+ # @!attribute [rw] last_attempt_at
288
+ # @return [String, nil]
289
+ # @!attribute [rw] last_attempt_status
290
+ # @return [String, nil]
291
+ # @!attribute [rw] last_delivered_at
292
+ # @return [String, nil]
293
+ # @!attribute [rw] last_error_message
294
+ # @return [String, nil]
295
+ # @!attribute [rw] last_failure_at
296
+ # @return [String, nil]
297
+ # @!attribute [rw] last_response_status
298
+ # @return [Integer, nil]
299
+ # @!attribute [rw] next_retry_at
300
+ # @return [String, nil]
301
+ # @!attribute [rw] pending_retries
302
+ # @return [Integer, nil]
303
+ # @!attribute [rw] total_attempts
304
+ # @return [Integer, nil]
305
+ AsyncWebhookDeliverySummary = Struct.new(:delivered_event_types, :delivered_events, :last_attempt_at, :last_attempt_status, :last_delivered_at, :last_error_message, :last_failure_at, :last_response_status, :next_retry_at, :pending_retries, :total_attempts, keyword_init: true)
306
+ # @!attribute [rw] attempts
307
+ # @return [Array<Hash{String => Object}>, nil]
308
+ # @!attribute [rw] delivery
309
+ # @return [Hash{String => Object}, nil]
310
+ # @!attribute [rw] events
311
+ # @return [Array<String>, nil]
312
+ # @!attribute [rw] has_secret
313
+ # @return [Boolean, nil]
314
+ # @!attribute [rw] url
315
+ # @return [String, nil]
316
+ AsyncWebhookPublicState = Struct.new(:attempts, :delivery, :events, :has_secret, :url, keyword_init: true)
317
+ # @!attribute [rw] input_audio
318
+ # @return [Hash{String => Object}]
319
+ # @!attribute [rw] type
320
+ # @return [String]
321
+ AudioContentPart = Struct.new(:input_audio, :type, keyword_init: true)
322
+ # @!attribute [rw] format
323
+ # @return [String, nil]
324
+ # @!attribute [rw] input
325
+ # @return [String]
326
+ # @!attribute [rw] model
327
+ # @return [String]
328
+ # @!attribute [rw] provider
329
+ # @return [Hash{String => Object}, nil]
330
+ # @!attribute [rw] voice
331
+ # @return [String, nil]
332
+ AudioSpeechRequest = Struct.new(:format, :input, :model, :provider, :voice, keyword_init: true)
333
+ # @!attribute [rw] audio_b64
334
+ # @return [String, nil]
335
+ # @!attribute [rw] audio_url
336
+ # @return [String, nil]
337
+ # @!attribute [rw] language
338
+ # @return [String, nil]
339
+ # @!attribute [rw] model
340
+ # @return [String]
341
+ # @!attribute [rw] provider
342
+ # @return [Hash{String => Object}, nil]
343
+ AudioTranscriptionRequest = Struct.new(:audio_b64, :audio_url, :language, :model, :provider, keyword_init: true)
344
+ # @!attribute [rw] text
345
+ # @return [String, nil]
346
+ AudioTranscriptionResponse = Struct.new(:text, keyword_init: true)
347
+ # @!attribute [rw] audio_b64
348
+ # @return [String, nil]
349
+ # @!attribute [rw] audio_url
350
+ # @return [String, nil]
351
+ # @!attribute [rw] language
352
+ # @return [String, nil]
353
+ # @!attribute [rw] model
354
+ # @return [String]
355
+ # @!attribute [rw] prompt
356
+ # @return [String, nil]
357
+ # @!attribute [rw] provider
358
+ # @return [Hash{String => Object}, nil]
359
+ # @!attribute [rw] temperature
360
+ # @return [Float, nil]
361
+ AudioTranslationRequest = Struct.new(:audio_b64, :audio_url, :language, :model, :prompt, :provider, :temperature, keyword_init: true)
362
+ # @!attribute [rw] text
363
+ # @return [String, nil]
364
+ AudioTranslationResponse = Struct.new(:text, keyword_init: true)
365
+ # @!attribute [rw] billed
366
+ # @return [Boolean, nil]
367
+ # @!attribute [rw] charged
368
+ # @return [Boolean, nil]
369
+ # @!attribute [rw] cost_nanos
370
+ # @return [Integer, nil]
371
+ # @!attribute [rw] cost_usd
372
+ # @return [Float, nil]
373
+ # @!attribute [rw] currency
374
+ # @return [String, nil]
375
+ # @!attribute [rw] estimated_nanos
376
+ # @return [Integer, nil]
377
+ # @!attribute [rw] estimated_provider_cost
378
+ # @return [String, nil]
379
+ # @!attribute [rw] estimated_user_cost
380
+ # @return [String, nil]
381
+ # @!attribute [rw] estimation_sample_size
382
+ # @return [Integer, nil]
383
+ # @!attribute [rw] estimation_total_rows
384
+ # @return [Integer, nil]
385
+ # @!attribute [rw] estimation_truncated
386
+ # @return [Boolean, nil]
387
+ # @!attribute [rw] finalized_at
388
+ # @return [String, nil]
389
+ # @!attribute [rw] pricing_breakdown
390
+ # @return [Hash{String => Object}, nil]
391
+ # @!attribute [rw] reason
392
+ # @return [String, nil]
393
+ # @!attribute [rw] reservation_id
394
+ # @return [String, nil]
395
+ # @!attribute [rw] reservation_status
396
+ # @return [String, nil]
397
+ # @!attribute [rw] reserved_nanos
398
+ # @return [Integer, nil]
399
+ # @!attribute [rw] settled_provider_cost
400
+ # @return [String, nil]
401
+ # @!attribute [rw] settled_user_cost
402
+ # @return [String, nil]
403
+ # @!attribute [rw] state
404
+ # @return [String, nil]
405
+ # @!attribute [rw] total_nanos
406
+ # @return [Integer, nil]
407
+ BatchBillingSummary = Struct.new(:billed, :charged, :cost_nanos, :cost_usd, :currency, :estimated_nanos, :estimated_provider_cost, :estimated_user_cost, :estimation_sample_size, :estimation_total_rows, :estimation_truncated, :finalized_at, :pricing_breakdown, :reason, :reservation_id, :reservation_status, :reserved_nanos, :settled_provider_cost, :settled_user_cost, :state, :total_nanos, keyword_init: true)
408
+ # @!attribute [rw] data
409
+ # @return [Array<Hash{String => Object}>, nil]
410
+ # @!attribute [rw] first_id
411
+ # @return [String, nil]
412
+ # @!attribute [rw] has_more
413
+ # @return [Boolean, nil]
414
+ # @!attribute [rw] last_id
415
+ # @return [String, nil]
416
+ # @!attribute [rw] object
417
+ # @return [String, nil]
418
+ BatchListResponse = Struct.new(:data, :first_id, :has_more, :last_id, :object, keyword_init: true)
419
+ # @!attribute [rw] input_types
420
+ # @return [Array<String>, nil]
421
+ # @!attribute [rw] model
422
+ # @return [String, nil]
423
+ # @!attribute [rw] name
424
+ # @return [String, nil]
425
+ # @!attribute [rw] output_types
426
+ # @return [Array<String>, nil]
427
+ # @!attribute [rw] pricing
428
+ # @return [Hash{String => Object}, nil]
429
+ # @!attribute [rw] providers
430
+ # @return [Array<Hash{String => Object}>, nil]
431
+ # @!attribute [rw] status
432
+ # @return [String, nil]
433
+ # @!attribute [rw] supported_parameters
434
+ # @return [Array<String>, nil]
435
+ # @!attribute [rw] supported_parameters_detail
436
+ # @return [Hash{String => Object}, nil]
437
+ # @!attribute [rw] supported_params
438
+ # @return [Array<String>, nil]
439
+ # @!attribute [rw] supported_params_detail
440
+ # @return [Hash{String => Object}, nil]
441
+ BatchModelCapability = Struct.new(:input_types, :model, :name, :output_types, :pricing, :providers, :status, :supported_parameters, :supported_parameters_detail, :supported_params, :supported_params_detail, keyword_init: true)
442
+ # @!attribute [rw] id
443
+ # @return [String, nil]
444
+ # @!attribute [rw] supported_parameters
445
+ # @return [Array<String>, nil]
446
+ # @!attribute [rw] supported_parameters_detail
447
+ # @return [Hash{String => Object}, nil]
448
+ # @!attribute [rw] supported_params
449
+ # @return [Array<String>, nil]
450
+ # @!attribute [rw] supported_params_detail
451
+ # @return [Hash{String => Object}, nil]
452
+ BatchModelProviderCapability = Struct.new(:id, :supported_parameters, :supported_parameters_detail, :supported_params, :supported_params_detail, keyword_init: true)
453
+ # @!attribute [rw] data
454
+ # @return [Array<Hash{String => Object}>, nil]
455
+ # @!attribute [rw] object
456
+ # @return [String, nil]
457
+ BatchModelsResponse = Struct.new(:data, :object, keyword_init: true)
458
+ # @!attribute [rw] documentation_url
459
+ # @return [String, nil]
460
+ # @!attribute [rw] gateway_input_modes
461
+ # @return [Array<String>, nil]
462
+ # @!attribute [rw] id
463
+ # @return [String, nil]
464
+ # @!attribute [rw] name
465
+ # @return [String, nil]
466
+ # @!attribute [rw] native_input_modes
467
+ # @return [Array<String>, nil]
468
+ # @!attribute [rw] notes
469
+ # @return [String, nil]
470
+ # @!attribute [rw] status
471
+ # @return [String, nil]
472
+ BatchProviderCapability = Struct.new(:documentation_url, :gateway_input_modes, :id, :name, :native_input_modes, :notes, :status, keyword_init: true)
473
+ # @!attribute [rw] completion_window
474
+ # @return [String, nil]
475
+ # @!attribute [rw] debug
476
+ # @return [Hash{String => Object}, nil]
477
+ # @!attribute [rw] endpoint
478
+ # @return [String, nil]
479
+ # @!attribute [rw] input_file_id
480
+ # @return [String, nil]
481
+ # @!attribute [rw] items
482
+ # @return [Array<Hash{String => Object}>, nil]
483
+ # @!attribute [rw] max_tokens
484
+ # @return [Integer, nil]
485
+ # @!attribute [rw] metadata
486
+ # @return [Hash{String => Object}, nil]
487
+ # @!attribute [rw] model
488
+ # @return [String, nil]
489
+ # @!attribute [rw] prompts
490
+ # @return [Array<String>, nil]
491
+ # @!attribute [rw] provider
492
+ # @return [Hash{String => Object}, nil]
493
+ # @!attribute [rw] requests
494
+ # @return [Array<Hash{String => Object}>, nil]
495
+ # @!attribute [rw] session_id
496
+ # @return [String, nil]
497
+ # @!attribute [rw] system
498
+ # @return [String, nil]
499
+ # @!attribute [rw] temperature
500
+ # @return [Float, nil]
501
+ # @!attribute [rw] webhook
502
+ # @return [Hash{String => Object}, nil]
503
+ # @!attribute [rw] webhook_endpoint_id
504
+ # @return [String, nil]
505
+ BatchRequest = Struct.new(:completion_window, :debug, :endpoint, :input_file_id, :items, :max_tokens, :metadata, :model, :prompts, :provider, :requests, :session_id, :system, :temperature, :webhook, :webhook_endpoint_id, keyword_init: true)
506
+ # @!attribute [rw] completed
507
+ # @return [Integer, nil]
508
+ # @!attribute [rw] failed
509
+ # @return [Integer, nil]
510
+ # @!attribute [rw] total
511
+ # @return [Integer, nil]
512
+ BatchRequestCounts = Struct.new(:completed, :failed, :total, keyword_init: true)
513
+ # @!attribute [rw] body
514
+ # @return [Hash{String => Object}]
515
+ # @!attribute [rw] custom_id
516
+ # @return [String, nil]
517
+ # @!attribute [rw] method
518
+ # @return [String, nil]
519
+ # @!attribute [rw] url
520
+ # @return [String, nil]
521
+ BatchRequestItem = Struct.new(:body, :custom_id, :method, :url, keyword_init: true)
522
+ # @!attribute [rw] completed_at
523
+ # @return [String, nil]
524
+ # @!attribute [rw] cost_nanos
525
+ # @return [Integer, nil]
526
+ # @!attribute [rw] cost_usd
527
+ # @return [Float, nil]
528
+ # @!attribute [rw] created_at
529
+ # @return [String, nil]
530
+ # @!attribute [rw] custom_id
531
+ # @return [String, nil]
532
+ # @!attribute [rw] endpoint
533
+ # @return [String, nil]
534
+ # @!attribute [rw] error_body
535
+ # @return [Hash{String => Object}, nil]
536
+ # @!attribute [rw] id
537
+ # @return [String, nil]
538
+ # @!attribute [rw] meta
539
+ # @return [Hash{String => Object}, nil]
540
+ # @!attribute [rw] method
541
+ # @return [String, nil]
542
+ # @!attribute [rw] model
543
+ # @return [String, nil]
544
+ # @!attribute [rw] native_batch_id
545
+ # @return [String, nil]
546
+ # @!attribute [rw] provider
547
+ # @return [String, nil]
548
+ # @!attribute [rw] request_body_hash
549
+ # @return [String, nil]
550
+ # @!attribute [rw] request_index
551
+ # @return [Integer, nil]
552
+ # @!attribute [rw] response_body
553
+ # @return [Hash{String => Object}, nil]
554
+ # @!attribute [rw] response_status
555
+ # @return [Integer, nil]
556
+ # @!attribute [rw] status
557
+ # @return [String, nil]
558
+ # @!attribute [rw] updated_at
559
+ # @return [String, nil]
560
+ # @!attribute [rw] usage
561
+ # @return [Hash{String => Object}, nil]
562
+ BatchRequestRow = Struct.new(:completed_at, :cost_nanos, :cost_usd, :created_at, :custom_id, :endpoint, :error_body, :id, :meta, :method, :model, :native_batch_id, :provider, :request_body_hash, :request_index, :response_body, :response_status, :status, :updated_at, :usage, keyword_init: true)
563
+ # @!attribute [rw] billing
564
+ # @return [Hash{String => Object}, nil]
565
+ # @!attribute [rw] cancel_url
566
+ # @return [String, nil]
567
+ # @!attribute [rw] cancelled_at
568
+ # @return [Integer, nil]
569
+ # @!attribute [rw] cancelling_at
570
+ # @return [Integer, nil]
571
+ # @!attribute [rw] completed_at
572
+ # @return [Integer, nil]
573
+ # @!attribute [rw] completion_window
574
+ # @return [String, nil]
575
+ # @!attribute [rw] created_at
576
+ # @return [Integer, nil]
577
+ # @!attribute [rw] endpoint
578
+ # @return [String, nil]
579
+ # @!attribute [rw] error_file_id
580
+ # @return [String, nil]
581
+ # @!attribute [rw] errors
582
+ # @return [Hash{String => Object}, nil]
583
+ # @!attribute [rw] expired_at
584
+ # @return [Integer, nil]
585
+ # @!attribute [rw] expires_at
586
+ # @return [Integer, nil]
587
+ # @!attribute [rw] failed_at
588
+ # @return [Integer, nil]
589
+ # @!attribute [rw] finalized_at
590
+ # @return [String, nil]
591
+ # @!attribute [rw] finalizing_at
592
+ # @return [Integer, nil]
593
+ # @!attribute [rw] id
594
+ # @return [String, nil]
595
+ # @!attribute [rw] in_progress_at
596
+ # @return [Integer, nil]
597
+ # @!attribute [rw] input_file_id
598
+ # @return [String, nil]
599
+ # @!attribute [rw] last_webhook_dispatched_at
600
+ # @return [String, nil]
601
+ # @!attribute [rw] last_webhook_progress
602
+ # @return [Float, nil]
603
+ # @!attribute [rw] last_webhook_progress_at
604
+ # @return [String, nil]
605
+ # @!attribute [rw] lifecycle_status
606
+ # @return [String, nil]
607
+ # @!attribute [rw] metadata
608
+ # @return [Hash{String => Object}, nil]
609
+ # @!attribute [rw] native_batch_id
610
+ # @return [String, nil]
611
+ # @!attribute [rw] next_webhook_retry_at
612
+ # @return [String, nil]
613
+ # @!attribute [rw] object
614
+ # @return [String, nil]
615
+ # @!attribute [rw] output_file_id
616
+ # @return [String, nil]
617
+ # @!attribute [rw] polling_url
618
+ # @return [String, nil]
619
+ # @!attribute [rw] pricing_lines
620
+ # @return [Array<Hash{String => Object}>, nil]
621
+ # @!attribute [rw] progress
622
+ # @return [Integer, nil]
623
+ # @!attribute [rw] provider
624
+ # @return [String, nil]
625
+ # @!attribute [rw] request_counts
626
+ # @return [Hash{String => Object}, nil]
627
+ # @!attribute [rw] request_id
628
+ # @return [String, nil]
629
+ # @!attribute [rw] session_id
630
+ # @return [String, nil]
631
+ # @!attribute [rw] status
632
+ # @return [String, nil]
633
+ # @!attribute [rw] webhook
634
+ # @return [Hash{String => Object}, nil]
635
+ # @!attribute [rw] websocket_url
636
+ # @return [String, nil]
637
+ BatchResponse = Struct.new(:billing, :cancel_url, :cancelled_at, :cancelling_at, :completed_at, :completion_window, :created_at, :endpoint, :error_file_id, :errors, :expired_at, :expires_at, :failed_at, :finalized_at, :finalizing_at, :id, :in_progress_at, :input_file_id, :last_webhook_dispatched_at, :last_webhook_progress, :last_webhook_progress_at, :lifecycle_status, :metadata, :native_batch_id, :next_webhook_retry_at, :object, :output_file_id, :polling_url, :pricing_lines, :progress, :provider, :request_counts, :request_id, :session_id, :status, :webhook, :websocket_url, keyword_init: true)
638
+ BenchmarkId = Object
639
+ # @!attribute [rw] scope
640
+ # @return [String, nil]
641
+ # @!attribute [rw] ttl
642
+ # @return [String, nil]
643
+ # @!attribute [rw] type
644
+ # @return [String, nil]
645
+ CacheControl = Struct.new(:scope, :ttl, :type, keyword_init: true)
646
+ # @!attribute [rw] audio_url
647
+ # @return [Hash{String => Object}]
648
+ # @!attribute [rw] format
649
+ # @return [String, nil]
650
+ # @!attribute [rw] mime_type
651
+ # @return [String, nil]
652
+ # @!attribute [rw] type
653
+ # @return [String]
654
+ ChatAudioOutputPart = Struct.new(:audio_url, :format, :mime_type, :type, keyword_init: true)
655
+ # @!attribute [rw] finish_reason
656
+ # @return [String, nil]
657
+ # @!attribute [rw] index
658
+ # @return [Integer, nil]
659
+ # @!attribute [rw] message
660
+ # @return [Hash{String => Object}, nil]
661
+ ChatChoice = Struct.new(:finish_reason, :index, :message, keyword_init: true)
662
+ # @!attribute [rw] debug
663
+ # @return [Hash{String => Object}, nil]
664
+ # @!attribute [rw] echo_upstream_request
665
+ # @return [Boolean, nil]
666
+ # @!attribute [rw] frequency_penalty
667
+ # @return [Float, nil]
668
+ # @!attribute [rw] image_config
669
+ # @return [Hash{String => Object}, nil]
670
+ # @!attribute [rw] logit_bias
671
+ # @return [Hash{String => Object}, nil]
672
+ # @!attribute [rw] logprobs
673
+ # @return [Boolean, nil]
674
+ # @!attribute [rw] max_completion_tokens
675
+ # @return [Integer, nil]
676
+ # @!attribute [rw] max_tokens
677
+ # @return [Integer, nil]
678
+ # @!attribute [rw] max_tool_calls
679
+ # @return [Integer, nil]
680
+ # @!attribute [rw] messages
681
+ # @return [Array<Hash{String => Object}>]
682
+ # @!attribute [rw] meta
683
+ # @return [Boolean, nil]
684
+ # @!attribute [rw] metadata
685
+ # @return [Hash{String => Object}, nil]
686
+ # @!attribute [rw] modalities
687
+ # @return [Array<String>, nil]
688
+ # @!attribute [rw] model
689
+ # @return [String]
690
+ # @!attribute [rw] parallel_tool_calls
691
+ # @return [Boolean, nil]
692
+ # @!attribute [rw] presence_penalty
693
+ # @return [Float, nil]
694
+ # @!attribute [rw] prompt_cache_key
695
+ # @return [String, nil]
696
+ # @!attribute [rw] provider
697
+ # @return [String, Hash{String => Object}, nil]
698
+ # @!attribute [rw] provider_options
699
+ # @return [Hash{String => Object}, nil]
700
+ # @!attribute [rw] reasoning
701
+ # @return [Hash{String => Object}, nil]
702
+ # @!attribute [rw] response_format
703
+ # @return [String, Hash{String => Object}, nil]
704
+ # @!attribute [rw] safety_identifier
705
+ # @return [String, nil]
706
+ # @!attribute [rw] seed
707
+ # @return [Integer, nil]
708
+ # @!attribute [rw] service_tier
709
+ # @return [String, nil]
710
+ # @!attribute [rw] session_id
711
+ # @return [String, nil]
712
+ # @!attribute [rw] stop
713
+ # @return [String, Array<String>, nil]
714
+ # @!attribute [rw] store
715
+ # @return [Boolean, nil]
716
+ # @!attribute [rw] stream
717
+ # @return [Boolean, nil]
718
+ # @!attribute [rw] stream_options
719
+ # @return [Hash{String => Object}, nil]
720
+ # @!attribute [rw] temperature
721
+ # @return [Float, nil]
722
+ # @!attribute [rw] tool_choice
723
+ # @return [String, Hash{String => Object}, nil]
724
+ # @!attribute [rw] tools
725
+ # @return [Array<Hash{String => Object}>, nil]
726
+ # @!attribute [rw] top_logprobs
727
+ # @return [Integer, nil]
728
+ # @!attribute [rw] top_p
729
+ # @return [Float, nil]
730
+ # @!attribute [rw] usage
731
+ # @return [Boolean, nil]
732
+ # @!attribute [rw] user
733
+ # @return [String, nil]
734
+ # @!attribute [rw] user_id
735
+ # @return [String, nil]
736
+ ChatCompletionsRequest = Struct.new(:debug, :echo_upstream_request, :frequency_penalty, :image_config, :logit_bias, :logprobs, :max_completion_tokens, :max_tokens, :max_tool_calls, :messages, :meta, :metadata, :modalities, :model, :parallel_tool_calls, :presence_penalty, :prompt_cache_key, :provider, :provider_options, :reasoning, :response_format, :safety_identifier, :seed, :service_tier, :session_id, :stop, :store, :stream, :stream_options, :temperature, :tool_choice, :tools, :top_logprobs, :top_p, :usage, :user, :user_id, keyword_init: true)
737
+ # @!attribute [rw] choices
738
+ # @return [Array<Hash{String => Object}>, nil]
739
+ # @!attribute [rw] created
740
+ # @return [Integer, nil]
741
+ # @!attribute [rw] id
742
+ # @return [String, nil]
743
+ # @!attribute [rw] model
744
+ # @return [String, nil]
745
+ # @!attribute [rw] nativeResponseId
746
+ # @return [String, nil]
747
+ # @!attribute [rw] object
748
+ # @return [String, nil]
749
+ # @!attribute [rw] provider
750
+ # @return [String, nil]
751
+ # @!attribute [rw] usage
752
+ # @return [Hash{String => Object}, nil]
753
+ ChatCompletionsResponse = Struct.new(:choices, :created, :id, :model, :nativeResponseId, :object, :provider, :usage, keyword_init: true)
754
+ # @!attribute [rw] image_url
755
+ # @return [Hash{String => Object}]
756
+ # @!attribute [rw] mime_type
757
+ # @return [String, nil]
758
+ # @!attribute [rw] type
759
+ # @return [String]
760
+ ChatImageOutputPart = Struct.new(:image_url, :mime_type, :type, keyword_init: true)
761
+ # @!attribute [rw] audios
762
+ # @return [Array<Hash{String => Object}>, nil]
763
+ # @!attribute [rw] content
764
+ # @return [String, Array<Hash{String => Object}>, nil]
765
+ # @!attribute [rw] images
766
+ # @return [Array<Hash{String => Object}>, nil]
767
+ # @!attribute [rw] name
768
+ # @return [String, nil]
769
+ # @!attribute [rw] role
770
+ # @return [String]
771
+ # @!attribute [rw] tool_call_id
772
+ # @return [String, nil]
773
+ # @!attribute [rw] tool_calls
774
+ # @return [Array<Hash{String => Object}>, nil]
775
+ ChatMessage = Struct.new(:audios, :content, :images, :name, :role, :tool_call_id, :tool_calls, keyword_init: true)
776
+ # @!attribute [rw] credits
777
+ # @return [Hash{String => Object}]
778
+ # @!attribute [rw] ok
779
+ # @return [String]
780
+ CreditsResponse = Struct.new(:credits, :ok, keyword_init: true)
781
+ # @!attribute [rw] deprecation_date
782
+ # @return [String, nil]
783
+ # @!attribute [rw] hidden
784
+ # @return [Boolean, nil]
785
+ # @!attribute [rw] input_types
786
+ # @return [Array<String>, nil]
787
+ # @!attribute [rw] lifecycle
788
+ # @return [ModelLifecycle, nil]
789
+ # @!attribute [rw] model_id
790
+ # @return [String, nil]
791
+ # @!attribute [rw] name
792
+ # @return [String, nil]
793
+ # @!attribute [rw] organisation
794
+ # @return [Hash{String => Object}, nil]
795
+ # @!attribute [rw] output_types
796
+ # @return [Array<String>, nil]
797
+ # @!attribute [rw] release_date
798
+ # @return [String, nil]
799
+ # @!attribute [rw] retirement_date
800
+ # @return [String, nil]
801
+ # @!attribute [rw] status
802
+ # @return [String, nil]
803
+ DataModel = Struct.new(:deprecation_date, :hidden, :input_types, :lifecycle, :model_id, :name, :organisation, :output_types, :release_date, :retirement_date, :status, keyword_init: true)
804
+ DataModelOrganisation = Object
805
+ # @!attribute [rw] enabled
806
+ # @return [Boolean, nil]
807
+ # @!attribute [rw] return_upstream_request
808
+ # @return [Boolean, nil]
809
+ # @!attribute [rw] return_upstream_response
810
+ # @return [Boolean, nil]
811
+ # @!attribute [rw] trace
812
+ # @return [Boolean, nil]
813
+ # @!attribute [rw] trace_level
814
+ # @return [String, nil]
815
+ DebugOptions = Struct.new(:enabled, :return_upstream_request, :return_upstream_response, :trace, :trace_level, keyword_init: true)
816
+ # @!attribute [rw] deleted
817
+ # @return [String]
818
+ DeletedResponse = Struct.new(:deleted, keyword_init: true)
819
+ # @!attribute [rw] embedding
820
+ # @return [Array<Float>, nil]
821
+ # @!attribute [rw] index
822
+ # @return [Integer, nil]
823
+ # @!attribute [rw] object
824
+ # @return [String, nil]
825
+ Embedding = Struct.new(:embedding, :index, :object, keyword_init: true)
826
+ # @!attribute [rw] content
827
+ # @return [Array<Hash{String => Object}>]
828
+ EmbeddingsMultimodalInput = Struct.new(:content, keyword_init: true)
829
+ # @!attribute [rw] debug
830
+ # @return [Hash{String => Object}, nil]
831
+ # @!attribute [rw] dimensions
832
+ # @return [Integer, nil]
833
+ # @!attribute [rw] encoding_format
834
+ # @return [String, nil]
835
+ # @!attribute [rw] input
836
+ # @return [String, Array<Integer>, Hash{String => Object}, Array<String, Array<Integer>, Hash{String => Object}>]
837
+ # @!attribute [rw] model
838
+ # @return [String]
839
+ # @!attribute [rw] provider
840
+ # @return [Hash{String => Object}, nil]
841
+ # @!attribute [rw] provider_options
842
+ # @return [Hash{String => Object}, nil]
843
+ # @!attribute [rw] user
844
+ # @return [String, nil]
845
+ EmbeddingsRequest = Struct.new(:debug, :dimensions, :encoding_format, :input, :model, :provider, :provider_options, :user, keyword_init: true)
846
+ # @!attribute [rw] data
847
+ # @return [Array<Hash{String => Object}>, nil]
848
+ # @!attribute [rw] model
849
+ # @return [String, nil]
850
+ # @!attribute [rw] object
851
+ # @return [String, nil]
852
+ # @!attribute [rw] usage
853
+ # @return [Hash{String => Object}, nil]
854
+ EmbeddingsResponse = Struct.new(:data, :model, :object, :usage, keyword_init: true)
855
+ # @!attribute [rw] provider
856
+ # @return [String, nil]
857
+ # @!attribute [rw] retryable
858
+ # @return [Boolean, nil]
859
+ # @!attribute [rw] status
860
+ # @return [Integer, nil]
861
+ # @!attribute [rw] type
862
+ # @return [String, nil]
863
+ # @!attribute [rw] upstream_error_code
864
+ # @return [String, nil]
865
+ # @!attribute [rw] upstream_error_description
866
+ # @return [String, nil]
867
+ # @!attribute [rw] upstream_error_message
868
+ # @return [String, nil]
869
+ # @!attribute [rw] upstream_error_param
870
+ # @return [String, nil]
871
+ # @!attribute [rw] upstream_payload_preview
872
+ # @return [String, nil]
873
+ ErrorFailureSampleItem = Struct.new(:provider, :retryable, :status, :type, :upstream_error_code, :upstream_error_description, :upstream_error_message, :upstream_error_param, :upstream_payload_preview, keyword_init: true)
874
+ # @!attribute [rw] candidateCount
875
+ # @return [Integer, nil]
876
+ # @!attribute [rw] droppedMissingAdapter
877
+ # @return [Array<Hash{String => Object}>, nil]
878
+ # @!attribute [rw] droppedUnsupportedEndpoint
879
+ # @return [Array<String>, nil]
880
+ # @!attribute [rw] supportsEndpointCount
881
+ # @return [Integer, nil]
882
+ # @!attribute [rw] totalProviders
883
+ # @return [Integer, nil]
884
+ ErrorProviderCandidateDiagnostics = Struct.new(:candidateCount, :droppedMissingAdapter, :droppedUnsupportedEndpoint, :supportsEndpointCount, :totalProviders, keyword_init: true)
885
+ # @!attribute [rw] capability
886
+ # @return [String, nil]
887
+ # @!attribute [rw] dropped
888
+ # @return [Array<Hash{String => Object}>, nil]
889
+ # @!attribute [rw] providersAfter
890
+ # @return [Array<String>, nil]
891
+ # @!attribute [rw] providersBefore
892
+ # @return [Array<String>, nil]
893
+ ErrorProviderEnablementDiagnostics = Struct.new(:capability, :dropped, :providersAfter, :providersBefore, keyword_init: true)
894
+ # @!attribute [rw] category
895
+ # @return [String, nil]
896
+ # @!attribute [rw] hint
897
+ # @return [String, nil]
898
+ # @!attribute [rw] provider
899
+ # @return [String, nil]
900
+ ErrorProviderFailureDiagnostics = Struct.new(:category, :hint, :provider, keyword_init: true)
901
+ # @!attribute [rw] attempt_count
902
+ # @return [Integer, nil]
903
+ # @!attribute [rw] description
904
+ # @return [String, nil]
905
+ # @!attribute [rw] details
906
+ # @return [Array<Hash{String => Object}>, nil]
907
+ # @!attribute [rw] error
908
+ # @return [String, Hash{String => Object}]
909
+ # @!attribute [rw] error_origin
910
+ # @return [String, nil]
911
+ # @!attribute [rw] error_type
912
+ # @return [String, nil]
913
+ # @!attribute [rw] failed_providers
914
+ # @return [Array<String>, nil]
915
+ # @!attribute [rw] failed_statuses
916
+ # @return [Array<Integer>, nil]
917
+ # @!attribute [rw] failure_sample
918
+ # @return [Array<Hash{String => Object}>, nil]
919
+ # @!attribute [rw] generation_id
920
+ # @return [String, nil]
921
+ # @!attribute [rw] message
922
+ # @return [String, nil]
923
+ # @!attribute [rw] missing_pricing_providers
924
+ # @return [Array<String>, nil]
925
+ # @!attribute [rw] ok
926
+ # @return [Boolean, nil]
927
+ # @!attribute [rw] provider_candidate_diagnostics
928
+ # @return [Hash{String => Object}, nil]
929
+ # @!attribute [rw] provider_enablement
930
+ # @return [Hash{String => Object}, nil]
931
+ # @!attribute [rw] provider_failure_diagnostics
932
+ # @return [Hash{String => Object}, nil]
933
+ # @!attribute [rw] provider_payment_required_provider
934
+ # @return [String, nil]
935
+ # @!attribute [rw] provider_payment_required_support_notice
936
+ # @return [String, nil]
937
+ # @!attribute [rw] reason
938
+ # @return [String, nil]
939
+ # @!attribute [rw] routing_diagnostics
940
+ # @return [Hash{String => Object}, nil]
941
+ # @!attribute [rw] status_code
942
+ # @return [Integer, nil]
943
+ # @!attribute [rw] upstream_error
944
+ # @return [Hash{String => Object}, nil]
945
+ ErrorResponse = Struct.new(:attempt_count, :description, :details, :error, :error_origin, :error_type, :failed_providers, :failed_statuses, :failure_sample, :generation_id, :message, :missing_pricing_providers, :ok, :provider_candidate_diagnostics, :provider_enablement, :provider_failure_diagnostics, :provider_payment_required_provider, :provider_payment_required_support_notice, :reason, :routing_diagnostics, :status_code, :upstream_error, keyword_init: true)
946
+ # @!attribute [rw] filterStages
947
+ # @return [Array<Hash{String => Object}>, nil]
948
+ ErrorRoutingDiagnostics = Struct.new(:filterStages, keyword_init: true)
949
+ # @!attribute [rw] code
950
+ # @return [String, nil]
951
+ # @!attribute [rw] description
952
+ # @return [String, nil]
953
+ # @!attribute [rw] message
954
+ # @return [String, nil]
955
+ # @!attribute [rw] param
956
+ # @return [String, nil]
957
+ ErrorUpstreamError = Struct.new(:code, :description, :message, :param, keyword_init: true)
958
+ # @!attribute [rw] bytes
959
+ # @return [Integer, nil]
960
+ # @!attribute [rw] created_at
961
+ # @return [Integer, nil]
962
+ # @!attribute [rw] filename
963
+ # @return [String, nil]
964
+ # @!attribute [rw] id
965
+ # @return [String, nil]
966
+ # @!attribute [rw] object
967
+ # @return [String, nil]
968
+ # @!attribute [rw] purpose
969
+ # @return [String, nil]
970
+ # @!attribute [rw] status
971
+ # @return [String, nil]
972
+ # @!attribute [rw] status_details
973
+ # @return [Hash{String => Object}, nil]
974
+ FileResponse = Struct.new(:bytes, :created_at, :filename, :id, :object, :purpose, :status, :status_details, keyword_init: true)
975
+ # @!attribute [rw] file
976
+ # @return [Object]
977
+ # @!attribute [rw] purpose
978
+ # @return [String]
979
+ FileUploadRequest = Struct.new(:file, :purpose, keyword_init: true)
980
+ # @!attribute [rw] function
981
+ # @return [Hash{String => Object}]
982
+ # @!attribute [rw] type
983
+ # @return [String]
984
+ FunctionToolDefinition = Struct.new(:function, :type, keyword_init: true)
985
+ # @!attribute [rw] parameters
986
+ # @return [Hash{String => Object}, nil]
987
+ # @!attribute [rw] timezone
988
+ # @return [String, nil]
989
+ # @!attribute [rw] type
990
+ # @return [String]
991
+ GatewayDatetimeToolDefinition = Struct.new(:parameters, :timezone, :type, keyword_init: true)
992
+ # @!attribute [rw] availability_mode
993
+ # @return [String]
994
+ # @!attribute [rw] limit
995
+ # @return [Integer]
996
+ # @!attribute [rw] models
997
+ # @return [Array<Hash{String => Object}>]
998
+ # @!attribute [rw] offset
999
+ # @return [Integer]
1000
+ # @!attribute [rw] ok
1001
+ # @return [Boolean]
1002
+ # @!attribute [rw] privacy_scope
1003
+ # @return [String]
1004
+ # @!attribute [rw] total
1005
+ # @return [Integer]
1006
+ GatewayModelsResponse = Struct.new(:availability_mode, :limit, :models, :offset, :ok, :privacy_scope, :total, keyword_init: true)
1007
+ # @!attribute [rw] max_chars
1008
+ # @return [Integer, nil]
1009
+ # @!attribute [rw] parameters
1010
+ # @return [Hash{String => Object}, nil]
1011
+ # @!attribute [rw] type
1012
+ # @return [String]
1013
+ GatewayWebFetchToolDefinition = Struct.new(:max_chars, :parameters, :type, keyword_init: true)
1014
+ # @!attribute [rw] include_highlights
1015
+ # @return [Boolean, nil]
1016
+ # @!attribute [rw] include_text
1017
+ # @return [Boolean, nil]
1018
+ # @!attribute [rw] max_results
1019
+ # @return [Integer, nil]
1020
+ # @!attribute [rw] parameters
1021
+ # @return [Hash{String => Object}, nil]
1022
+ # @!attribute [rw] type
1023
+ # @return [String]
1024
+ GatewayWebSearchToolDefinition = Struct.new(:include_highlights, :include_text, :max_results, :parameters, :type, keyword_init: true)
1025
+ # @!attribute [rw] app_id
1026
+ # @return [String, nil]
1027
+ # @!attribute [rw] byok
1028
+ # @return [Boolean, nil]
1029
+ # @!attribute [rw] cost_nanos
1030
+ # @return [Float, nil]
1031
+ # @!attribute [rw] created_at
1032
+ # @return [String, nil]
1033
+ # @!attribute [rw] currency
1034
+ # @return [String, nil]
1035
+ # @!attribute [rw] endpoint
1036
+ # @return [String, nil]
1037
+ # @!attribute [rw] error_code
1038
+ # @return [String, nil]
1039
+ # @!attribute [rw] error_message
1040
+ # @return [String, nil]
1041
+ # @!attribute [rw] generation_ms
1042
+ # @return [Float, nil]
1043
+ # @!attribute [rw] key_id
1044
+ # @return [String, nil]
1045
+ # @!attribute [rw] latency_ms
1046
+ # @return [Float, nil]
1047
+ # @!attribute [rw] model_id
1048
+ # @return [String, nil]
1049
+ # @!attribute [rw] native_response_id
1050
+ # @return [String, nil]
1051
+ # @!attribute [rw] pricing_lines
1052
+ # @return [Array<Hash{String => Object}>, nil]
1053
+ # @!attribute [rw] provider
1054
+ # @return [String, nil]
1055
+ # @!attribute [rw] replay_request
1056
+ # @return [Hash{String => Object}, nil]
1057
+ # @!attribute [rw] replay_supported
1058
+ # @return [Boolean, nil]
1059
+ # @!attribute [rw] request_id
1060
+ # @return [String, nil]
1061
+ # @!attribute [rw] status_code
1062
+ # @return [Float, nil]
1063
+ # @!attribute [rw] stream
1064
+ # @return [Boolean, nil]
1065
+ # @!attribute [rw] success
1066
+ # @return [Boolean, nil]
1067
+ # @!attribute [rw] team_id
1068
+ # @return [String, nil]
1069
+ # @!attribute [rw] throughput
1070
+ # @return [Float, nil]
1071
+ # @!attribute [rw] usage
1072
+ # @return [Hash{String => Object}, nil]
1073
+ GenerationResponse = Struct.new(:app_id, :byok, :cost_nanos, :created_at, :currency, :endpoint, :error_code, :error_message, :generation_ms, :key_id, :latency_ms, :model_id, :native_response_id, :pricing_lines, :provider, :replay_request, :replay_supported, :request_id, :status_code, :stream, :success, :team_id, :throughput, :usage, keyword_init: true)
1074
+ # @!attribute [rw] b64_json
1075
+ # @return [String, nil]
1076
+ # @!attribute [rw] revised_prompt
1077
+ # @return [String, nil]
1078
+ # @!attribute [rw] url
1079
+ # @return [String, nil]
1080
+ Image = Struct.new(:b64_json, :revised_prompt, :url, keyword_init: true)
1081
+ # @!attribute [rw] aspect_ratio
1082
+ # @return [String, nil]
1083
+ # @!attribute [rw] font_inputs
1084
+ # @return [Array<Hash{String => Object}>, nil]
1085
+ # @!attribute [rw] image_size
1086
+ # @return [String, nil]
1087
+ # @!attribute [rw] include_rai_reason
1088
+ # @return [Boolean, nil]
1089
+ # @!attribute [rw] reference_images
1090
+ # @return [Array<Hash{String => Object}>, nil]
1091
+ # @!attribute [rw] super_resolution_references
1092
+ # @return [Array<String>, nil]
1093
+ ImageConfig = Struct.new(:aspect_ratio, :font_inputs, :image_size, :include_rai_reason, :reference_images, :super_resolution_references, keyword_init: true)
1094
+ # @!attribute [rw] image_url
1095
+ # @return [Hash{String => Object}]
1096
+ # @!attribute [rw] type
1097
+ # @return [String]
1098
+ ImageContentPart = Struct.new(:image_url, :type, keyword_init: true)
1099
+ # @!attribute [rw] image_url
1100
+ # @return [Hash{String => Object}]
1101
+ # @!attribute [rw] type
1102
+ # @return [String]
1103
+ ImageModerationInput = Struct.new(:image_url, :type, keyword_init: true)
1104
+ # @!attribute [rw] image
1105
+ # @return [String]
1106
+ # @!attribute [rw] mask
1107
+ # @return [String, nil]
1108
+ # @!attribute [rw] meta
1109
+ # @return [Boolean, nil]
1110
+ # @!attribute [rw] model
1111
+ # @return [String]
1112
+ # @!attribute [rw] n
1113
+ # @return [Integer, nil]
1114
+ # @!attribute [rw] prompt
1115
+ # @return [String]
1116
+ # @!attribute [rw] provider
1117
+ # @return [Hash{String => Object}, nil]
1118
+ # @!attribute [rw] size
1119
+ # @return [String, nil]
1120
+ # @!attribute [rw] usage
1121
+ # @return [Boolean, nil]
1122
+ # @!attribute [rw] user
1123
+ # @return [String, nil]
1124
+ ImagesEditRequest = Struct.new(:image, :mask, :meta, :model, :n, :prompt, :provider, :size, :usage, :user, keyword_init: true)
1125
+ # @!attribute [rw] created
1126
+ # @return [Integer, nil]
1127
+ # @!attribute [rw] data
1128
+ # @return [Array<Hash{String => Object}>, nil]
1129
+ ImagesEditResponse = Struct.new(:created, :data, keyword_init: true)
1130
+ # @!attribute [rw] model
1131
+ # @return [String]
1132
+ # @!attribute [rw] n
1133
+ # @return [Integer, nil]
1134
+ # @!attribute [rw] prompt
1135
+ # @return [String]
1136
+ # @!attribute [rw] provider
1137
+ # @return [Hash{String => Object}, nil]
1138
+ # @!attribute [rw] quality
1139
+ # @return [String, nil]
1140
+ # @!attribute [rw] response_format
1141
+ # @return [String, nil]
1142
+ # @!attribute [rw] size
1143
+ # @return [String, nil]
1144
+ # @!attribute [rw] style
1145
+ # @return [String, nil]
1146
+ # @!attribute [rw] user
1147
+ # @return [String, nil]
1148
+ ImagesGenerationRequest = Struct.new(:model, :n, :prompt, :provider, :quality, :response_format, :size, :style, :user, keyword_init: true)
1149
+ # @!attribute [rw] created
1150
+ # @return [Integer, nil]
1151
+ # @!attribute [rw] data
1152
+ # @return [Array<Hash{String => Object}>, nil]
1153
+ ImagesGenerationResponse = Struct.new(:created, :data, keyword_init: true)
1154
+ # @!attribute [rw] error
1155
+ # @return [String]
1156
+ # @!attribute [rw] max_offset
1157
+ # @return [Integer, nil]
1158
+ # @!attribute [rw] message
1159
+ # @return [String]
1160
+ # @!attribute [rw] ok
1161
+ # @return [String]
1162
+ InvalidRequestResponse = Struct.new(:error, :max_offset, :message, :ok, keyword_init: true)
1163
+ # @!attribute [rw] cache_version
1164
+ # @return [Hash{String => Object}]
1165
+ # @!attribute [rw] key
1166
+ # @return [Hash{String => Object}]
1167
+ # @!attribute [rw] message
1168
+ # @return [String]
1169
+ # @!attribute [rw] ok
1170
+ # @return [String]
1171
+ KeyInvalidateResponse = Struct.new(:cache_version, :key, :message, :ok, keyword_init: true)
1172
+ KnownModelId = Object
1173
+ # @!attribute [rw] data
1174
+ # @return [Array<Hash{String => Object}>, nil]
1175
+ # @!attribute [rw] object
1176
+ # @return [String, nil]
1177
+ ListFilesResponse = Struct.new(:data, :object, keyword_init: true)
1178
+ # @!attribute [rw] created_by
1179
+ # @return [String, nil]
1180
+ # @!attribute [rw] name
1181
+ # @return [String]
1182
+ # @!attribute [rw] scopes
1183
+ # @return [String, Array<String>, nil]
1184
+ # @!attribute [rw] soft_blocked
1185
+ # @return [Boolean, nil]
1186
+ # @!attribute [rw] status
1187
+ # @return [String, nil]
1188
+ # @!attribute [rw] team_id
1189
+ # @return [String, nil]
1190
+ ManagementKeyCreateRequest = Struct.new(:created_by, :name, :scopes, :soft_blocked, :status, :team_id, keyword_init: true)
1191
+ # @!attribute [rw] key
1192
+ # @return [Hash{String => Object}]
1193
+ # @!attribute [rw] ok
1194
+ # @return [String]
1195
+ ManagementKeyCreateResponse = Struct.new(:key, :ok, keyword_init: true)
1196
+ # @!attribute [rw] message
1197
+ # @return [String]
1198
+ # @!attribute [rw] ok
1199
+ # @return [String]
1200
+ ManagementKeyDeleteResponse = Struct.new(:message, :ok, keyword_init: true)
1201
+ # @!attribute [rw] key
1202
+ # @return [Hash{String => Object}]
1203
+ # @!attribute [rw] ok
1204
+ # @return [String]
1205
+ ManagementKeyDetailResponse = Struct.new(:key, :ok, keyword_init: true)
1206
+ # @!attribute [rw] keys
1207
+ # @return [Array<Hash{String => Object}>]
1208
+ # @!attribute [rw] limit
1209
+ # @return [Integer]
1210
+ # @!attribute [rw] offset
1211
+ # @return [Integer]
1212
+ # @!attribute [rw] ok
1213
+ # @return [String]
1214
+ # @!attribute [rw] total
1215
+ # @return [Integer]
1216
+ ManagementKeyListResponse = Struct.new(:keys, :limit, :offset, :ok, :total, keyword_init: true)
1217
+ # @!attribute [rw] name
1218
+ # @return [String, nil]
1219
+ # @!attribute [rw] soft_blocked
1220
+ # @return [Boolean, nil]
1221
+ # @!attribute [rw] status
1222
+ # @return [String, nil]
1223
+ ManagementKeyUpdateRequest = Struct.new(:name, :soft_blocked, :status, keyword_init: true)
1224
+ # @!attribute [rw] message
1225
+ # @return [String]
1226
+ # @!attribute [rw] ok
1227
+ # @return [String]
1228
+ ManagementKeyUpdateResponse = Struct.new(:message, :ok, keyword_init: true)
1229
+ MessageContentPart = Object
1230
+ # @!attribute [rw] aliases
1231
+ # @return [Array<String>, nil]
1232
+ # @!attribute [rw] architecture
1233
+ # @return [Hash{String => Object}, nil]
1234
+ # @!attribute [rw] availability
1235
+ # @return [Hash{String => Object}, nil]
1236
+ # @!attribute [rw] canonical_slug
1237
+ # @return [String, nil]
1238
+ # @!attribute [rw] created
1239
+ # @return [Integer, nil]
1240
+ # @!attribute [rw] deprecation_date
1241
+ # @return [String, nil]
1242
+ # @!attribute [rw] description
1243
+ # @return [String, nil]
1244
+ # @!attribute [rw] endpoints
1245
+ # @return [Array<String>, nil]
1246
+ # @!attribute [rw] id
1247
+ # @return [String, nil]
1248
+ # @!attribute [rw] input_types
1249
+ # @return [Array<String>, nil]
1250
+ # @!attribute [rw] lifecycle
1251
+ # @return [ModelLifecycle, nil]
1252
+ # @!attribute [rw] model_id
1253
+ # @return [String, nil]
1254
+ # @!attribute [rw] name
1255
+ # @return [String, nil]
1256
+ # @!attribute [rw] organisation_colour
1257
+ # @return [String, nil]
1258
+ # @!attribute [rw] organisation_id
1259
+ # @return [String, nil]
1260
+ # @!attribute [rw] organisation_name
1261
+ # @return [String, nil]
1262
+ # @!attribute [rw] output_types
1263
+ # @return [Array<String>, nil]
1264
+ # @!attribute [rw] per_request_limits
1265
+ # @return [Hash{String => Object}, nil]
1266
+ # @!attribute [rw] pricing
1267
+ # @return [Hash{String => Object}, nil]
1268
+ # @!attribute [rw] pricing_detail
1269
+ # @return [Hash{String => Object}, nil]
1270
+ # @!attribute [rw] providers
1271
+ # @return [Array<Hash{String => Object}>, nil]
1272
+ # @!attribute [rw] release_date
1273
+ # @return [String, nil]
1274
+ # @!attribute [rw] retirement_date
1275
+ # @return [String, nil]
1276
+ # @!attribute [rw] status
1277
+ # @return [String, nil]
1278
+ # @!attribute [rw] supported_parameters
1279
+ # @return [Array<String>, nil]
1280
+ # @!attribute [rw] supported_parameters_detail
1281
+ # @return [Hash{String => Object}, nil]
1282
+ # @!attribute [rw] supported_params
1283
+ # @return [Array<String>, nil]
1284
+ # @!attribute [rw] supported_params_detail
1285
+ # @return [Hash{String => Object}, nil]
1286
+ # @!attribute [rw] top_provider
1287
+ # @return [Hash{String => Object}, nil]
1288
+ # @!attribute [rw] top_provider_id
1289
+ # @return [String, nil]
1290
+ Model = Struct.new(:aliases, :architecture, :availability, :canonical_slug, :created, :deprecation_date, :description, :endpoints, :id, :input_types, :lifecycle, :model_id, :name, :organisation_colour, :organisation_id, :organisation_name, :output_types, :per_request_limits, :pricing, :pricing_detail, :providers, :release_date, :retirement_date, :status, :supported_parameters, :supported_parameters_detail, :supported_params, :supported_params_detail, :top_provider, :top_provider_id, keyword_init: true)
1291
+ # @!attribute [rw] active_provider_count
1292
+ # @return [Integer]
1293
+ # @!attribute [rw] inactive_provider_count
1294
+ # @return [Integer]
1295
+ # @!attribute [rw] provider_count
1296
+ # @return [Integer]
1297
+ # @!attribute [rw] status
1298
+ # @return [String]
1299
+ ModelAvailability = Struct.new(:active_provider_count, :inactive_provider_count, :provider_count, :status, keyword_init: true)
1300
+ ModelId = Object
1301
+ # @!attribute [rw] deprecation_date
1302
+ # @return [String, nil]
1303
+ # @!attribute [rw] message
1304
+ # @return [String, nil]
1305
+ # @!attribute [rw] replacement_model_id
1306
+ # @return [String, nil]
1307
+ # @!attribute [rw] retirement_date
1308
+ # @return [String, nil]
1309
+ # @!attribute [rw] status
1310
+ # @return [String, nil]
1311
+ ModelLifecycle = Struct.new(:deprecation_date, :message, :replacement_model_id, :retirement_date, :status, keyword_init: true)
1312
+ # @!attribute [rw] api_provider_id
1313
+ # @return [String]
1314
+ # @!attribute [rw] api_provider_name
1315
+ # @return [String, nil]
1316
+ # @!attribute [rw] availability_reason
1317
+ # @return [String]
1318
+ # @!attribute [rw] availability_status
1319
+ # @return [String]
1320
+ # @!attribute [rw] capability_status
1321
+ # @return [String]
1322
+ # @!attribute [rw] effective_from
1323
+ # @return [String, nil]
1324
+ # @!attribute [rw] effective_to
1325
+ # @return [String, nil]
1326
+ # @!attribute [rw] endpoints
1327
+ # @return [Array<String>]
1328
+ # @!attribute [rw] is_active_gateway
1329
+ # @return [Boolean]
1330
+ # @!attribute [rw] model_routing_status
1331
+ # @return [String]
1332
+ # @!attribute [rw] params
1333
+ # @return [Array<String>]
1334
+ # @!attribute [rw] params_detail
1335
+ # @return [Hash{String => Object}, nil]
1336
+ # @!attribute [rw] provider_routing_status
1337
+ # @return [String]
1338
+ # @!attribute [rw] provider_status
1339
+ # @return [String]
1340
+ # @!attribute [rw] supported_parameters
1341
+ # @return [Array<String>, nil]
1342
+ # @!attribute [rw] supported_parameters_detail
1343
+ # @return [Hash{String => Object}, nil]
1344
+ ModelProviderAvailability = Struct.new(:api_provider_id, :api_provider_name, :availability_reason, :availability_status, :capability_status, :effective_from, :effective_to, :endpoints, :is_active_gateway, :model_routing_status, :params, :params_detail, :provider_routing_status, :provider_status, :supported_parameters, :supported_parameters_detail, keyword_init: true)
1345
+ # @!attribute [rw] code
1346
+ # @return [String]
1347
+ # @!attribute [rw] error
1348
+ # @return [String]
1349
+ # @!attribute [rw] message
1350
+ # @return [String]
1351
+ # @!attribute [rw] ok
1352
+ # @return [String]
1353
+ # @!attribute [rw] privacy_scope
1354
+ # @return [String]
1355
+ ModelsPrivacyScopeNotImplementedResponse = Struct.new(:code, :error, :message, :ok, :privacy_scope, keyword_init: true)
1356
+ # @!attribute [rw] harassment
1357
+ # @return [Boolean, nil]
1358
+ # @!attribute [rw] harassment_threatening
1359
+ # @return [Boolean, nil]
1360
+ # @!attribute [rw] hate
1361
+ # @return [Boolean, nil]
1362
+ # @!attribute [rw] hate_threatening
1363
+ # @return [Boolean, nil]
1364
+ # @!attribute [rw] self_harm
1365
+ # @return [Boolean, nil]
1366
+ # @!attribute [rw] self_harm_instructions
1367
+ # @return [Boolean, nil]
1368
+ # @!attribute [rw] self_harm_intent
1369
+ # @return [Boolean, nil]
1370
+ # @!attribute [rw] sexual
1371
+ # @return [Boolean, nil]
1372
+ # @!attribute [rw] sexual_minors
1373
+ # @return [Boolean, nil]
1374
+ # @!attribute [rw] violence
1375
+ # @return [Boolean, nil]
1376
+ # @!attribute [rw] violence_graphic
1377
+ # @return [Boolean, nil]
1378
+ ModerationCategories = Struct.new(:harassment, :harassment_threatening, :hate, :hate_threatening, :self_harm, :self_harm_instructions, :self_harm_intent, :sexual, :sexual_minors, :violence, :violence_graphic, keyword_init: true)
1379
+ # @!attribute [rw] harassment
1380
+ # @return [Float, nil]
1381
+ # @!attribute [rw] harassment_threatening
1382
+ # @return [Float, nil]
1383
+ # @!attribute [rw] hate
1384
+ # @return [Float, nil]
1385
+ # @!attribute [rw] hate_threatening
1386
+ # @return [Float, nil]
1387
+ # @!attribute [rw] self_harm
1388
+ # @return [Float, nil]
1389
+ # @!attribute [rw] self_harm_instructions
1390
+ # @return [Float, nil]
1391
+ # @!attribute [rw] self_harm_intent
1392
+ # @return [Float, nil]
1393
+ # @!attribute [rw] sexual
1394
+ # @return [Float, nil]
1395
+ # @!attribute [rw] sexual_minors
1396
+ # @return [Float, nil]
1397
+ # @!attribute [rw] violence
1398
+ # @return [Float, nil]
1399
+ # @!attribute [rw] violence_graphic
1400
+ # @return [Float, nil]
1401
+ ModerationCategoryScores = Struct.new(:harassment, :harassment_threatening, :hate, :hate_threatening, :self_harm, :self_harm_instructions, :self_harm_intent, :sexual, :sexual_minors, :violence, :violence_graphic, keyword_init: true)
1402
+ # @!attribute [rw] categories
1403
+ # @return [Hash{String => Object}, nil]
1404
+ # @!attribute [rw] category_scores
1405
+ # @return [Hash{String => Object}, nil]
1406
+ # @!attribute [rw] flagged
1407
+ # @return [Boolean, nil]
1408
+ ModerationResult = Struct.new(:categories, :category_scores, :flagged, keyword_init: true)
1409
+ # @!attribute [rw] debug
1410
+ # @return [Hash{String => Object}, nil]
1411
+ # @!attribute [rw] input
1412
+ # @return [String, Array<Hash{String => Object}>]
1413
+ # @!attribute [rw] meta
1414
+ # @return [Boolean, nil]
1415
+ # @!attribute [rw] model
1416
+ # @return [String]
1417
+ # @!attribute [rw] provider
1418
+ # @return [Hash{String => Object}, nil]
1419
+ ModerationsRequest = Struct.new(:debug, :input, :meta, :model, :provider, keyword_init: true)
1420
+ # @!attribute [rw] id
1421
+ # @return [String, nil]
1422
+ # @!attribute [rw] model
1423
+ # @return [String, nil]
1424
+ # @!attribute [rw] results
1425
+ # @return [Array<Hash{String => Object}>, nil]
1426
+ ModerationsResponse = Struct.new(:id, :model, :results, keyword_init: true)
1427
+ # @!attribute [rw] debug
1428
+ # @return [Hash{String => Object}, nil]
1429
+ # @!attribute [rw] duration
1430
+ # @return [Integer, nil]
1431
+ # @!attribute [rw] echo_upstream_request
1432
+ # @return [Boolean, nil]
1433
+ # @!attribute [rw] elevenlabs
1434
+ # @return [Hash{String => Object}, nil]
1435
+ # @!attribute [rw] format
1436
+ # @return [String, nil]
1437
+ # @!attribute [rw] model
1438
+ # @return [String]
1439
+ # @!attribute [rw] prompt
1440
+ # @return [String, nil]
1441
+ # @!attribute [rw] provider
1442
+ # @return [Hash{String => Object}, nil]
1443
+ # @!attribute [rw] suno
1444
+ # @return [Hash{String => Object}, nil]
1445
+ MusicGenerateRequest = Struct.new(:debug, :duration, :echo_upstream_request, :elevenlabs, :format, :model, :prompt, :provider, :suno, keyword_init: true)
1446
+ MusicGenerateResponse = Struct.new(:_unused, keyword_init: true)
1447
+ # @!attribute [rw] description
1448
+ # @return [String]
1449
+ # @!attribute [rw] error
1450
+ # @return [String]
1451
+ # @!attribute [rw] status_code
1452
+ # @return [Integer]
1453
+ NotImplementedResponse = Struct.new(:description, :error, :status_code, keyword_init: true)
1454
+ # @!attribute [rw] debug
1455
+ # @return [Hash{String => Object}, nil]
1456
+ # @!attribute [rw] echo_upstream_request
1457
+ # @return [Boolean, nil]
1458
+ # @!attribute [rw] image
1459
+ # @return [String]
1460
+ # @!attribute [rw] language
1461
+ # @return [String, nil]
1462
+ # @!attribute [rw] model
1463
+ # @return [String]
1464
+ # @!attribute [rw] provider
1465
+ # @return [Hash{String => Object}, nil]
1466
+ OcrRequest = Struct.new(:debug, :echo_upstream_request, :image, :language, :model, :provider, keyword_init: true)
1467
+ OcrResponse = Struct.new(:_unused, keyword_init: true)
1468
+ OrganisationId = Object
1469
+ OrganisationIdList = Object
1470
+ # @!attribute [rw] api_provider_id
1471
+ # @return [String, nil]
1472
+ # @!attribute [rw] api_provider_name
1473
+ # @return [String, nil]
1474
+ # @!attribute [rw] country_code
1475
+ # @return [String, nil]
1476
+ # @!attribute [rw] description
1477
+ # @return [String, nil]
1478
+ # @!attribute [rw] link
1479
+ # @return [String, nil]
1480
+ Provider = Struct.new(:api_provider_id, :api_provider_name, :country_code, :description, :link, keyword_init: true)
1481
+ # @!attribute [rw] anthropic
1482
+ # @return [Hash{String => Object}, nil]
1483
+ # @!attribute [rw] google
1484
+ # @return [Hash{String => Object}, nil]
1485
+ # @!attribute [rw] openai
1486
+ # @return [Hash{String => Object}, nil]
1487
+ ProviderOptions = Struct.new(:anthropic, :google, :openai, keyword_init: true)
1488
+ # @!attribute [rw] allow_fallbacks
1489
+ # @return [Boolean, nil]
1490
+ # @!attribute [rw] data_collection
1491
+ # @return [String, nil]
1492
+ # @!attribute [rw] enforce_distillable_text
1493
+ # @return [Boolean, nil]
1494
+ # @!attribute [rw] ignore
1495
+ # @return [Array<String>, nil]
1496
+ # @!attribute [rw] include_alpha
1497
+ # @return [Boolean, nil]
1498
+ # @!attribute [rw] max_price
1499
+ # @return [Hash{String => Object}, nil]
1500
+ # @!attribute [rw] only
1501
+ # @return [Array<String>, nil]
1502
+ # @!attribute [rw] order
1503
+ # @return [Array<String>, nil]
1504
+ # @!attribute [rw] preferred_max_latency
1505
+ # @return [Float, Hash{String => Object}, nil]
1506
+ # @!attribute [rw] preferred_min_throughput
1507
+ # @return [Float, Hash{String => Object}, nil]
1508
+ # @!attribute [rw] quantizations
1509
+ # @return [Array<String>, nil]
1510
+ # @!attribute [rw] require_parameters
1511
+ # @return [Boolean, nil]
1512
+ # @!attribute [rw] require_zero_data_retention
1513
+ # @return [Boolean, nil]
1514
+ # @!attribute [rw] required_data_region
1515
+ # @return [String, nil]
1516
+ # @!attribute [rw] required_execution_region
1517
+ # @return [String, nil]
1518
+ # @!attribute [rw] sort
1519
+ # @return [String, Hash{String => Object}, nil]
1520
+ # @!attribute [rw] zdr
1521
+ # @return [Boolean, nil]
1522
+ ProviderRoutingOptions = Struct.new(:allow_fallbacks, :data_collection, :enforce_distillable_text, :ignore, :include_alpha, :max_price, :only, :order, :preferred_max_latency, :preferred_min_throughput, :quantizations, :require_parameters, :require_zero_data_retention, :required_data_region, :required_execution_region, :sort, :zdr, keyword_init: true)
1523
+ # @!attribute [rw] created_at
1524
+ # @return [String, nil]
1525
+ # @!attribute [rw] id
1526
+ # @return [String, nil]
1527
+ # @!attribute [rw] last_used_at
1528
+ # @return [String, nil]
1529
+ # @!attribute [rw] name
1530
+ # @return [String, nil]
1531
+ # @!attribute [rw] prefix
1532
+ # @return [String, nil]
1533
+ # @!attribute [rw] scopes
1534
+ # @return [String, nil]
1535
+ # @!attribute [rw] status
1536
+ # @return [String, nil]
1537
+ ProvisioningKey = Struct.new(:created_at, :id, :last_used_at, :name, :prefix, :scopes, :status, keyword_init: true)
1538
+ # @!attribute [rw] created_at
1539
+ # @return [String, nil]
1540
+ # @!attribute [rw] created_by
1541
+ # @return [String, nil]
1542
+ # @!attribute [rw] id
1543
+ # @return [String, nil]
1544
+ # @!attribute [rw] last_used_at
1545
+ # @return [String, nil]
1546
+ # @!attribute [rw] name
1547
+ # @return [String, nil]
1548
+ # @!attribute [rw] prefix
1549
+ # @return [String, nil]
1550
+ # @!attribute [rw] scopes
1551
+ # @return [String, nil]
1552
+ # @!attribute [rw] soft_blocked
1553
+ # @return [Boolean, nil]
1554
+ # @!attribute [rw] status
1555
+ # @return [String, nil]
1556
+ # @!attribute [rw] team_id
1557
+ # @return [String, nil]
1558
+ ProvisioningKeyDetail = Struct.new(:created_at, :created_by, :id, :last_used_at, :name, :prefix, :scopes, :soft_blocked, :status, :team_id, keyword_init: true)
1559
+ # @!attribute [rw] created_at
1560
+ # @return [String, nil]
1561
+ # @!attribute [rw] id
1562
+ # @return [String, nil]
1563
+ # @!attribute [rw] key
1564
+ # @return [String, nil]
1565
+ # @!attribute [rw] name
1566
+ # @return [String, nil]
1567
+ # @!attribute [rw] prefix
1568
+ # @return [String, nil]
1569
+ # @!attribute [rw] scopes
1570
+ # @return [String, nil]
1571
+ # @!attribute [rw] status
1572
+ # @return [String, nil]
1573
+ ProvisioningKeyWithValue = Struct.new(:created_at, :id, :key, :name, :prefix, :scopes, :status, keyword_init: true)
1574
+ # @!attribute [rw] effort
1575
+ # @return [String, nil]
1576
+ # @!attribute [rw] enabled
1577
+ # @return [Boolean, nil]
1578
+ # @!attribute [rw] max_tokens
1579
+ # @return [Integer, nil]
1580
+ # @!attribute [rw] mode
1581
+ # @return [String, nil]
1582
+ # @!attribute [rw] summary
1583
+ # @return [String, nil]
1584
+ ReasoningConfig = Struct.new(:effort, :enabled, :max_tokens, :mode, :summary, keyword_init: true)
1585
+ RerankDocument = Object
1586
+ # @!attribute [rw] debug
1587
+ # @return [Hash{String => Object}, nil]
1588
+ # @!attribute [rw] documents
1589
+ # @return [Array<String>, Array<Hash{String => Object}>]
1590
+ # @!attribute [rw] max_chunks_per_doc
1591
+ # @return [Integer, nil]
1592
+ # @!attribute [rw] metadata
1593
+ # @return [Hash{String => Object}, nil]
1594
+ # @!attribute [rw] model
1595
+ # @return [String]
1596
+ # @!attribute [rw] provider
1597
+ # @return [Hash{String => Object}, nil]
1598
+ # @!attribute [rw] provider_options
1599
+ # @return [Hash{String => Object}, nil]
1600
+ # @!attribute [rw] query
1601
+ # @return [String]
1602
+ # @!attribute [rw] rank_fields
1603
+ # @return [Array<String>, nil]
1604
+ # @!attribute [rw] return_documents
1605
+ # @return [Boolean, nil]
1606
+ # @!attribute [rw] top_k
1607
+ # @return [Integer, nil]
1608
+ # @!attribute [rw] top_n
1609
+ # @return [Integer, nil]
1610
+ # @!attribute [rw] user
1611
+ # @return [String, nil]
1612
+ RerankRequest = Struct.new(:debug, :documents, :max_chunks_per_doc, :metadata, :model, :provider, :provider_options, :query, :rank_fields, :return_documents, :top_k, :top_n, :user, keyword_init: true)
1613
+ # @!attribute [rw] id
1614
+ # @return [String, nil]
1615
+ # @!attribute [rw] model
1616
+ # @return [String, nil]
1617
+ # @!attribute [rw] nativeResponseId
1618
+ # @return [String, nil]
1619
+ # @!attribute [rw] object
1620
+ # @return [String, nil]
1621
+ # @!attribute [rw] results
1622
+ # @return [Array<Hash{String => Object}>, nil]
1623
+ # @!attribute [rw] usage
1624
+ # @return [Hash{String => Object}, nil]
1625
+ RerankResponse = Struct.new(:id, :model, :nativeResponseId, :object, :results, :usage, keyword_init: true)
1626
+ # @!attribute [rw] document
1627
+ # @return [String, Hash{String => Object}, nil]
1628
+ # @!attribute [rw] index
1629
+ # @return [Integer, nil]
1630
+ # @!attribute [rw] relevance_score
1631
+ # @return [Float, nil]
1632
+ RerankResult = Struct.new(:document, :index, :relevance_score, keyword_init: true)
1633
+ # @!attribute [rw] content
1634
+ # @return [String, Array<Hash{String => Object}>, Hash{String => Object}, nil]
1635
+ # @!attribute [rw] role
1636
+ # @return [String, nil]
1637
+ # @!attribute [rw] type
1638
+ # @return [String, nil]
1639
+ ResponsesInputItem = Struct.new(:content, :role, :type, keyword_init: true)
1640
+ # @!attribute [rw] audio_url
1641
+ # @return [Hash{String => Object}, nil]
1642
+ # @!attribute [rw] b64_json
1643
+ # @return [String, nil]
1644
+ # @!attribute [rw] format
1645
+ # @return [String, nil]
1646
+ # @!attribute [rw] mime_type
1647
+ # @return [String, nil]
1648
+ # @!attribute [rw] type
1649
+ # @return [String]
1650
+ ResponsesOutputAudioPart = Struct.new(:audio_url, :b64_json, :format, :mime_type, :type, keyword_init: true)
1651
+ ResponsesOutputContentPart = Object
1652
+ # @!attribute [rw] b64_json
1653
+ # @return [String, nil]
1654
+ # @!attribute [rw] image_url
1655
+ # @return [Hash{String => Object}, nil]
1656
+ # @!attribute [rw] mime_type
1657
+ # @return [String, nil]
1658
+ # @!attribute [rw] type
1659
+ # @return [String]
1660
+ ResponsesOutputImagePart = Struct.new(:b64_json, :image_url, :mime_type, :type, keyword_init: true)
1661
+ # @!attribute [rw] arguments
1662
+ # @return [String, nil]
1663
+ # @!attribute [rw] call_id
1664
+ # @return [String, nil]
1665
+ # @!attribute [rw] content
1666
+ # @return [Array<Hash{String => Object}>, nil]
1667
+ # @!attribute [rw] name
1668
+ # @return [String, nil]
1669
+ # @!attribute [rw] role
1670
+ # @return [String, nil]
1671
+ # @!attribute [rw] type
1672
+ # @return [String, nil]
1673
+ ResponsesOutputItem = Struct.new(:arguments, :call_id, :content, :name, :role, :type, keyword_init: true)
1674
+ # @!attribute [rw] annotations
1675
+ # @return [Array<Hash{String => Object}>, nil]
1676
+ # @!attribute [rw] text
1677
+ # @return [String]
1678
+ # @!attribute [rw] type
1679
+ # @return [String]
1680
+ ResponsesOutputTextPart = Struct.new(:annotations, :text, :type, keyword_init: true)
1681
+ # @!attribute [rw] background
1682
+ # @return [Boolean, nil]
1683
+ # @!attribute [rw] debug
1684
+ # @return [Hash{String => Object}, nil]
1685
+ # @!attribute [rw] echo_upstream_request
1686
+ # @return [Boolean, nil]
1687
+ # @!attribute [rw] image_config
1688
+ # @return [Hash{String => Object}, nil]
1689
+ # @!attribute [rw] include
1690
+ # @return [Array<String>, nil]
1691
+ # @!attribute [rw] input
1692
+ # @return [String, Array<Hash{String => Object}>, Hash{String => Object}]
1693
+ # @!attribute [rw] instructions
1694
+ # @return [String, nil]
1695
+ # @!attribute [rw] max_output_tokens
1696
+ # @return [Integer, nil]
1697
+ # @!attribute [rw] meta
1698
+ # @return [Boolean, nil]
1699
+ # @!attribute [rw] metadata
1700
+ # @return [Hash{String => Object}, nil]
1701
+ # @!attribute [rw] modalities
1702
+ # @return [Array<String>, nil]
1703
+ # @!attribute [rw] model
1704
+ # @return [String]
1705
+ # @!attribute [rw] parallel_tool_calls
1706
+ # @return [Boolean, nil]
1707
+ # @!attribute [rw] previous_response_id
1708
+ # @return [String, nil]
1709
+ # @!attribute [rw] prompt_cache_key
1710
+ # @return [String, nil]
1711
+ # @!attribute [rw] provider
1712
+ # @return [Hash{String => Object}, nil]
1713
+ # @!attribute [rw] provider_options
1714
+ # @return [Hash{String => Object}, nil]
1715
+ # @!attribute [rw] reasoning
1716
+ # @return [Hash{String => Object}, nil]
1717
+ # @!attribute [rw] safety_identifier
1718
+ # @return [String, nil]
1719
+ # @!attribute [rw] service_tier
1720
+ # @return [String, nil]
1721
+ # @!attribute [rw] session_id
1722
+ # @return [String, nil]
1723
+ # @!attribute [rw] store
1724
+ # @return [Boolean, nil]
1725
+ # @!attribute [rw] stream
1726
+ # @return [Boolean, nil]
1727
+ # @!attribute [rw] temperature
1728
+ # @return [Float, nil]
1729
+ # @!attribute [rw] text
1730
+ # @return [Hash{String => Object}, nil]
1731
+ # @!attribute [rw] tool_choice
1732
+ # @return [String, Hash{String => Object}, nil]
1733
+ # @!attribute [rw] tools
1734
+ # @return [Array<Hash{String => Object}>, nil]
1735
+ # @!attribute [rw] top_p
1736
+ # @return [Float, nil]
1737
+ # @!attribute [rw] truncation
1738
+ # @return [String, nil]
1739
+ # @!attribute [rw] usage
1740
+ # @return [Boolean, nil]
1741
+ # @!attribute [rw] user
1742
+ # @return [String, nil]
1743
+ ResponsesRequest = Struct.new(:background, :debug, :echo_upstream_request, :image_config, :include, :input, :instructions, :max_output_tokens, :meta, :metadata, :modalities, :model, :parallel_tool_calls, :previous_response_id, :prompt_cache_key, :provider, :provider_options, :reasoning, :safety_identifier, :service_tier, :session_id, :store, :stream, :temperature, :text, :tool_choice, :tools, :top_p, :truncation, :usage, :user, keyword_init: true)
1744
+ # @!attribute [rw] content
1745
+ # @return [Array<Hash{String => Object}>, nil]
1746
+ # @!attribute [rw] cost_cents
1747
+ # @return [Integer, nil]
1748
+ # @!attribute [rw] cost_nanos
1749
+ # @return [Float, nil]
1750
+ # @!attribute [rw] created
1751
+ # @return [Integer, nil]
1752
+ # @!attribute [rw] currency
1753
+ # @return [String, nil]
1754
+ # @!attribute [rw] finish_reason
1755
+ # @return [String, nil]
1756
+ # @!attribute [rw] id
1757
+ # @return [String, nil]
1758
+ # @!attribute [rw] meta
1759
+ # @return [Hash{String => Object}, nil]
1760
+ # @!attribute [rw] model
1761
+ # @return [String, nil]
1762
+ # @!attribute [rw] nativeResponseId
1763
+ # @return [String, nil]
1764
+ # @!attribute [rw] object
1765
+ # @return [String, nil]
1766
+ # @!attribute [rw] output
1767
+ # @return [Array<Hash{String => Object}>, nil]
1768
+ # @!attribute [rw] output_items
1769
+ # @return [Array<Hash{String => Object}>, nil]
1770
+ # @!attribute [rw] pricing_lines
1771
+ # @return [Array<Hash{String => Object}>, nil]
1772
+ # @!attribute [rw] provider
1773
+ # @return [String, nil]
1774
+ # @!attribute [rw] provider_id
1775
+ # @return [String, nil]
1776
+ # @!attribute [rw] role
1777
+ # @return [String, nil]
1778
+ # @!attribute [rw] status
1779
+ # @return [String, nil]
1780
+ # @!attribute [rw] stop_reason
1781
+ # @return [String, nil]
1782
+ # @!attribute [rw] type
1783
+ # @return [String, nil]
1784
+ # @!attribute [rw] usage
1785
+ # @return [Hash{String => Object}, nil]
1786
+ ResponsesResponse = Struct.new(:content, :cost_cents, :cost_nanos, :created, :currency, :finish_reason, :id, :meta, :model, :nativeResponseId, :object, :output, :output_items, :pricing_lines, :provider, :provider_id, :role, :status, :stop_reason, :type, :usage, keyword_init: true)
1787
+ # @!attribute [rw] datetime_requests
1788
+ # @return [Integer, nil]
1789
+ # @!attribute [rw] web_fetch_requests
1790
+ # @return [Integer, nil]
1791
+ # @!attribute [rw] web_search_requests
1792
+ # @return [Integer, nil]
1793
+ ServerToolUsage = Struct.new(:datetime_requests, :web_fetch_requests, :web_search_requests, keyword_init: true)
1794
+ SupportedParameterDetails = Struct.new(:_unused, keyword_init: true)
1795
+ # @!attribute [rw] text
1796
+ # @return [String]
1797
+ # @!attribute [rw] type
1798
+ # @return [String]
1799
+ TextContentPart = Struct.new(:text, :type, keyword_init: true)
1800
+ TextGenerateTool = Object
1801
+ # @!attribute [rw] text
1802
+ # @return [String]
1803
+ # @!attribute [rw] type
1804
+ # @return [String]
1805
+ TextModerationInput = Struct.new(:text, :type, keyword_init: true)
1806
+ TextToolChoice = Object
1807
+ # @!attribute [rw] function
1808
+ # @return [Hash{String => Object}]
1809
+ # @!attribute [rw] id
1810
+ # @return [String]
1811
+ # @!attribute [rw] type
1812
+ # @return [String]
1813
+ ToolCall = Struct.new(:function, :id, :type, keyword_init: true)
1814
+ # @!attribute [rw] function
1815
+ # @return [Hash{String => Object}]
1816
+ # @!attribute [rw] id
1817
+ # @return [String]
1818
+ # @!attribute [rw] type
1819
+ # @return [String]
1820
+ ToolCallContentPart = Struct.new(:function, :id, :type, keyword_init: true)
1821
+ # @!attribute [rw] completion_tokens
1822
+ # @return [Integer, nil]
1823
+ # @!attribute [rw] prompt_tokens
1824
+ # @return [Integer, nil]
1825
+ # @!attribute [rw] server_tool_use
1826
+ # @return [Hash{String => Object}, nil]
1827
+ # @!attribute [rw] total_tokens
1828
+ # @return [Integer, nil]
1829
+ Usage = Struct.new(:completion_tokens, :prompt_tokens, :server_tool_use, :total_tokens, keyword_init: true)
1830
+ # @!attribute [rw] billable
1831
+ # @return [Boolean, nil]
1832
+ # @!attribute [rw] billed_at
1833
+ # @return [String, nil]
1834
+ # @!attribute [rw] charge_reason
1835
+ # @return [String, nil]
1836
+ # @!attribute [rw] charged
1837
+ # @return [Boolean, nil]
1838
+ # @!attribute [rw] currency
1839
+ # @return [String, nil]
1840
+ # @!attribute [rw] estimated_nanos
1841
+ # @return [Integer, nil]
1842
+ # @!attribute [rw] estimated_provider_cost
1843
+ # @return [String, nil]
1844
+ # @!attribute [rw] estimated_user_cost
1845
+ # @return [String, nil]
1846
+ # @!attribute [rw] reservation_id
1847
+ # @return [String, nil]
1848
+ # @!attribute [rw] reservation_status
1849
+ # @return [String, nil]
1850
+ # @!attribute [rw] reserved_nanos
1851
+ # @return [Integer, nil]
1852
+ # @!attribute [rw] settled_provider_cost
1853
+ # @return [String, nil]
1854
+ # @!attribute [rw] settled_user_cost
1855
+ # @return [String, nil]
1856
+ # @!attribute [rw] state
1857
+ # @return [String, nil]
1858
+ # @!attribute [rw] total_nanos
1859
+ # @return [Integer, nil]
1860
+ VideoBillingSummary = Struct.new(:billable, :billed_at, :charge_reason, :charged, :currency, :estimated_nanos, :estimated_provider_cost, :estimated_user_cost, :reservation_id, :reservation_status, :reserved_nanos, :settled_provider_cost, :settled_user_cost, :state, :total_nanos, keyword_init: true)
1861
+ # @!attribute [rw] type
1862
+ # @return [String]
1863
+ # @!attribute [rw] video_url
1864
+ # @return [String]
1865
+ VideoContentPart = Struct.new(:type, :video_url, keyword_init: true)
1866
+ # @!attribute [rw] deleted
1867
+ # @return [Boolean, nil]
1868
+ # @!attribute [rw] id
1869
+ # @return [String, nil]
1870
+ # @!attribute [rw] object
1871
+ # @return [String, nil]
1872
+ VideoDeleteResponse = Struct.new(:deleted, :id, :object, keyword_init: true)
1873
+ # @!attribute [rw] aspect_ratio
1874
+ # @return [String, nil]
1875
+ # @!attribute [rw] compression_quality
1876
+ # @return [Integer, nil]
1877
+ # @!attribute [rw] duration
1878
+ # @return [Integer, nil]
1879
+ # @!attribute [rw] enhance_prompt
1880
+ # @return [Boolean, nil]
1881
+ # @!attribute [rw] generate_audio
1882
+ # @return [Boolean, nil]
1883
+ # @!attribute [rw] input_references
1884
+ # @return [Array<Hash{String => Object}>, nil]
1885
+ # @!attribute [rw] model
1886
+ # @return [String]
1887
+ # @!attribute [rw] negative_prompt
1888
+ # @return [String, nil]
1889
+ # @!attribute [rw] output
1890
+ # @return [Hash{String => Object}, nil]
1891
+ # @!attribute [rw] person_generation
1892
+ # @return [String, nil]
1893
+ # @!attribute [rw] prompt
1894
+ # @return [String]
1895
+ # @!attribute [rw] provider
1896
+ # @return [Hash{String => Object}, nil]
1897
+ # @!attribute [rw] provider_params
1898
+ # @return [Hash{String => Object}, nil]
1899
+ # @!attribute [rw] resize_mode
1900
+ # @return [String, nil]
1901
+ # @!attribute [rw] resolution
1902
+ # @return [String, nil]
1903
+ # @!attribute [rw] sample_count
1904
+ # @return [Integer, nil]
1905
+ # @!attribute [rw] seed
1906
+ # @return [Integer, nil]
1907
+ # @!attribute [rw] size
1908
+ # @return [String, nil]
1909
+ # @!attribute [rw] webhook
1910
+ # @return [Hash{String => Object}, nil]
1911
+ VideoGenerationRequest = Struct.new(:aspect_ratio, :compression_quality, :duration, :enhance_prompt, :generate_audio, :input_references, :model, :negative_prompt, :output, :person_generation, :prompt, :provider, :provider_params, :resize_mode, :resolution, :sample_count, :seed, :size, :webhook, keyword_init: true)
1912
+ # @!attribute [rw] asset
1913
+ # @return [Hash{String => Object}, nil]
1914
+ # @!attribute [rw] audio
1915
+ # @return [Boolean, nil]
1916
+ # @!attribute [rw] billing
1917
+ # @return [Hash{String => Object}, nil]
1918
+ # @!attribute [rw] cancel_url
1919
+ # @return [String, nil]
1920
+ # @!attribute [rw] completed_at
1921
+ # @return [Integer, String, nil]
1922
+ # @!attribute [rw] content_url
1923
+ # @return [String, nil]
1924
+ # @!attribute [rw] created_at
1925
+ # @return [Integer, String, nil]
1926
+ # @!attribute [rw] download_url
1927
+ # @return [String, nil]
1928
+ # @!attribute [rw] error
1929
+ # @return [Object, nil]
1930
+ # @!attribute [rw] expires_at
1931
+ # @return [Integer, nil]
1932
+ # @!attribute [rw] generation_id
1933
+ # @return [String, nil]
1934
+ # @!attribute [rw] id
1935
+ # @return [String, nil]
1936
+ # @!attribute [rw] last_webhook_dispatched_at
1937
+ # @return [String, nil]
1938
+ # @!attribute [rw] last_webhook_progress
1939
+ # @return [Float, nil]
1940
+ # @!attribute [rw] last_webhook_progress_at
1941
+ # @return [String, nil]
1942
+ # @!attribute [rw] lifecycle_status
1943
+ # @return [String, nil]
1944
+ # @!attribute [rw] model
1945
+ # @return [String, nil]
1946
+ # @!attribute [rw] native_video_id
1947
+ # @return [String, nil]
1948
+ # @!attribute [rw] next_webhook_retry_at
1949
+ # @return [String, nil]
1950
+ # @!attribute [rw] object
1951
+ # @return [String, nil]
1952
+ # @!attribute [rw] output_access
1953
+ # @return [String, nil]
1954
+ # @!attribute [rw] outputs
1955
+ # @return [Array<Hash{String => Object}>, nil]
1956
+ # @!attribute [rw] poll_after_seconds
1957
+ # @return [Integer, nil]
1958
+ # @!attribute [rw] polling_url
1959
+ # @return [String, nil]
1960
+ # @!attribute [rw] progress
1961
+ # @return [Integer, nil]
1962
+ # @!attribute [rw] progress_source
1963
+ # @return [String, nil]
1964
+ # @!attribute [rw] provider
1965
+ # @return [String, nil]
1966
+ # @!attribute [rw] request_id
1967
+ # @return [String, nil]
1968
+ # @!attribute [rw] seconds
1969
+ # @return [Float, nil]
1970
+ # @!attribute [rw] session_id
1971
+ # @return [String, nil]
1972
+ # @!attribute [rw] size
1973
+ # @return [String, nil]
1974
+ # @!attribute [rw] started_at
1975
+ # @return [Integer, String, nil]
1976
+ # @!attribute [rw] status
1977
+ # @return [String, nil]
1978
+ # @!attribute [rw] usage
1979
+ # @return [Hash{String => Object}, nil]
1980
+ # @!attribute [rw] webhook
1981
+ # @return [Hash{String => Object}, nil]
1982
+ # @!attribute [rw] websocket_url
1983
+ # @return [String, nil]
1984
+ VideoGenerationResponse = Struct.new(:asset, :audio, :billing, :cancel_url, :completed_at, :content_url, :created_at, :download_url, :error, :expires_at, :generation_id, :id, :last_webhook_dispatched_at, :last_webhook_progress, :last_webhook_progress_at, :lifecycle_status, :model, :native_video_id, :next_webhook_retry_at, :object, :output_access, :outputs, :poll_after_seconds, :polling_url, :progress, :progress_source, :provider, :request_id, :seconds, :session_id, :size, :started_at, :status, :usage, :webhook, :websocket_url, keyword_init: true)
1985
+ # @!attribute [rw] image_url
1986
+ # @return [Hash{String => Object}, nil]
1987
+ # @!attribute [rw] reference_type
1988
+ # @return [String, nil]
1989
+ # @!attribute [rw] role
1990
+ # @return [String, nil]
1991
+ # @!attribute [rw] type
1992
+ # @return [String]
1993
+ VideoInputReference = Struct.new(:image_url, :reference_type, :role, :type, keyword_init: true)
1994
+ # @!attribute [rw] data
1995
+ # @return [Array<Hash{String => Object}>, nil]
1996
+ # @!attribute [rw] first_id
1997
+ # @return [String, nil]
1998
+ # @!attribute [rw] has_more
1999
+ # @return [Boolean, nil]
2000
+ # @!attribute [rw] last_id
2001
+ # @return [String, nil]
2002
+ # @!attribute [rw] object
2003
+ # @return [String, nil]
2004
+ VideoListResponse = Struct.new(:data, :first_id, :has_more, :last_id, :object, keyword_init: true)
2005
+ # @!attribute [rw] input_types
2006
+ # @return [Array<String>, nil]
2007
+ # @!attribute [rw] model
2008
+ # @return [String, nil]
2009
+ # @!attribute [rw] name
2010
+ # @return [String, nil]
2011
+ # @!attribute [rw] output_types
2012
+ # @return [Array<String>, nil]
2013
+ # @!attribute [rw] pricing
2014
+ # @return [Hash{String => Object}, nil]
2015
+ # @!attribute [rw] providers
2016
+ # @return [Array<Hash{String => Object}>, nil]
2017
+ # @!attribute [rw] status
2018
+ # @return [String, nil]
2019
+ # @!attribute [rw] supported_parameters
2020
+ # @return [Array<String>, nil]
2021
+ # @!attribute [rw] supported_parameters_detail
2022
+ # @return [Hash{String => Object}, nil]
2023
+ # @!attribute [rw] supported_params
2024
+ # @return [Array<String>, nil]
2025
+ # @!attribute [rw] supported_params_detail
2026
+ # @return [Hash{String => Object}, nil]
2027
+ VideoModelCapability = Struct.new(:input_types, :model, :name, :output_types, :pricing, :providers, :status, :supported_parameters, :supported_parameters_detail, :supported_params, :supported_params_detail, keyword_init: true)
2028
+ # @!attribute [rw] id
2029
+ # @return [String, nil]
2030
+ # @!attribute [rw] supported_parameters
2031
+ # @return [Array<String>, nil]
2032
+ # @!attribute [rw] supported_parameters_detail
2033
+ # @return [Hash{String => Object}, nil]
2034
+ # @!attribute [rw] supported_params
2035
+ # @return [Array<String>, nil]
2036
+ # @!attribute [rw] supported_params_detail
2037
+ # @return [Hash{String => Object}, nil]
2038
+ VideoModelProviderCapability = Struct.new(:id, :supported_parameters, :supported_parameters_detail, :supported_params, :supported_params_detail, keyword_init: true)
2039
+ # @!attribute [rw] data
2040
+ # @return [Array<Hash{String => Object}>, nil]
2041
+ # @!attribute [rw] object
2042
+ # @return [String, nil]
2043
+ VideoModelsResponse = Struct.new(:data, :object, keyword_init: true)
2044
+ # @!attribute [rw] bytes_available
2045
+ # @return [Boolean, nil]
2046
+ # @!attribute [rw] content_url
2047
+ # @return [String, nil]
2048
+ # @!attribute [rw] download_url
2049
+ # @return [String, nil]
2050
+ # @!attribute [rw] expires_at
2051
+ # @return [Integer, nil]
2052
+ # @!attribute [rw] index
2053
+ # @return [Integer, nil]
2054
+ # @!attribute [rw] mime_type
2055
+ # @return [String, nil]
2056
+ VideoOutput = Struct.new(:bytes_available, :content_url, :download_url, :expires_at, :index, :mime_type, keyword_init: true)
2057
+ # @!attribute [rw] access
2058
+ # @return [String, nil]
2059
+ VideoOutputConfig = Struct.new(:access, keyword_init: true)
2060
+ # @!attribute [rw] created_at
2061
+ # @return [String, nil]
2062
+ # @!attribute [rw] created_by
2063
+ # @return [String, nil]
2064
+ # @!attribute [rw] id
2065
+ # @return [String]
2066
+ # @!attribute [rw] name
2067
+ # @return [String, nil]
2068
+ # @!attribute [rw] slug
2069
+ # @return [String, nil]
2070
+ # @!attribute [rw] updated_at
2071
+ # @return [String, nil]
2072
+ Workspace = Struct.new(:created_at, :created_by, :id, :name, :slug, :updated_at, keyword_init: true)
2073
+ # @!attribute [rw] cost_cents
2074
+ # @return [Float]
2075
+ # @!attribute [rw] endpoint
2076
+ # @return [String, nil]
2077
+ # @!attribute [rw] latency_ms
2078
+ # @return [Integer, nil]
2079
+ # @!attribute [rw] model
2080
+ # @return [String, nil]
2081
+ # @!attribute [rw] provider
2082
+ # @return [String, nil]
2083
+ # @!attribute [rw] request_id
2084
+ # @return [String, nil]
2085
+ # @!attribute [rw] timestamp
2086
+ # @return [String, nil]
2087
+ # @!attribute [rw] usage
2088
+ # @return [Hash{String => Object}, nil]
2089
+ WorkspaceActivityEntry = Struct.new(:cost_cents, :endpoint, :latency_ms, :model, :provider, :request_id, :timestamp, :usage, keyword_init: true)
2090
+ # @!attribute [rw] activity
2091
+ # @return [Array<Hash{String => Object}>]
2092
+ # @!attribute [rw] limit
2093
+ # @return [Integer]
2094
+ # @!attribute [rw] offset
2095
+ # @return [Integer]
2096
+ # @!attribute [rw] ok
2097
+ # @return [String]
2098
+ # @!attribute [rw] period_days
2099
+ # @return [Integer]
2100
+ # @!attribute [rw] total
2101
+ # @return [Integer]
2102
+ # @!attribute [rw] total_cost_cents
2103
+ # @return [Float]
2104
+ WorkspaceActivityResponse = Struct.new(:activity, :limit, :offset, :ok, :period_days, :total, :total_cost_cents, keyword_init: true)
2105
+ # @!attribute [rw] name
2106
+ # @return [String]
2107
+ # @!attribute [rw] slug
2108
+ # @return [String, nil]
2109
+ WorkspaceCreateRequest = Struct.new(:name, :slug, keyword_init: true)
2110
+ # @!attribute [rw] data
2111
+ # @return [Array<Hash{String => Object}>]
2112
+ # @!attribute [rw] total_count
2113
+ # @return [Integer]
2114
+ WorkspaceListResponse = Struct.new(:data, :total_count, keyword_init: true)
2115
+ # @!attribute [rw] data
2116
+ # @return [Hash{String => Object}]
2117
+ WorkspaceResponse = Struct.new(:data, keyword_init: true)
2118
+ # @!attribute [rw] name
2119
+ # @return [String, nil]
2120
+ # @!attribute [rw] slug
2121
+ # @return [String, nil]
2122
+ WorkspaceUpdateRequest = Struct.new(:name, :slug, keyword_init: true)
2123
+ end
2124
+ end