openai 0.115.1 → 0.117.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 (88) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +26 -0
  3. data/README.md +1 -1
  4. data/lib/openai/helpers/responses_websocket/incremental.rb +500 -154
  5. data/lib/openai/helpers/responses_websocket/session.rb +75 -2
  6. data/lib/openai/models/admin/organization/workload_identity_provider.rb +158 -0
  7. data/lib/openai/models/admin/organization/workload_identity_provider_create_params.rb +143 -0
  8. data/lib/openai/models/admin/organization/workload_identity_provider_delete_params.rb +24 -0
  9. data/lib/openai/models/admin/organization/workload_identity_provider_deleted.rb +32 -0
  10. data/lib/openai/models/admin/organization/workload_identity_provider_list_params.rb +58 -0
  11. data/lib/openai/models/admin/organization/workload_identity_provider_retrieve_params.rb +24 -0
  12. data/lib/openai/models/admin/organization/workload_identity_provider_update_params.rb +143 -0
  13. data/lib/openai/models/admin/organization/workload_identity_providers/federation_rule.rb +161 -0
  14. data/lib/openai/models/admin/organization/workload_identity_providers/federation_rule_create_params.rb +144 -0
  15. data/lib/openai/models/admin/organization/workload_identity_providers/federation_rule_delete_params.rb +32 -0
  16. data/lib/openai/models/admin/organization/workload_identity_providers/federation_rule_deleted.rb +34 -0
  17. data/lib/openai/models/admin/organization/workload_identity_providers/federation_rule_list_params.rb +85 -0
  18. data/lib/openai/models/admin/organization/workload_identity_providers/federation_rule_retrieve_params.rb +32 -0
  19. data/lib/openai/models/admin/organization/workload_identity_providers/federation_rule_update_params.rb +134 -0
  20. data/lib/openai/models/beta/chatkit/chat_session_workflow_param.rb +5 -3
  21. data/lib/openai/models/beta/chatkit_workflow.rb +5 -3
  22. data/lib/openai/models/live/responses_delegation_config.rb +999 -6
  23. data/lib/openai/models/live/responses_delegation_update_config.rb +1043 -6
  24. data/lib/openai/resources/admin/organization/workload_identity_providers/federation_rules.rb +198 -0
  25. data/lib/openai/resources/admin/organization/workload_identity_providers.rb +148 -0
  26. data/lib/openai/resources/admin/organization.rb +6 -0
  27. data/lib/openai/version.rb +1 -1
  28. data/lib/openai.rb +16 -0
  29. data/rbi/openai/helpers/responses_websocket/incremental.rbi +4 -0
  30. data/rbi/openai/models/admin/organization/workload_identity_provider.rbi +288 -0
  31. data/rbi/openai/models/admin/organization/workload_identity_provider_create_params.rbi +311 -0
  32. data/rbi/openai/models/admin/organization/workload_identity_provider_delete_params.rbi +57 -0
  33. data/rbi/openai/models/admin/organization/workload_identity_provider_deleted.rbi +64 -0
  34. data/rbi/openai/models/admin/organization/workload_identity_provider_list_params.rbi +111 -0
  35. data/rbi/openai/models/admin/organization/workload_identity_provider_retrieve_params.rbi +57 -0
  36. data/rbi/openai/models/admin/organization/workload_identity_provider_update_params.rbi +317 -0
  37. data/rbi/openai/models/admin/organization/workload_identity_providers/federation_rule.rbi +276 -0
  38. data/rbi/openai/models/admin/organization/workload_identity_providers/federation_rule_create_params.rbi +282 -0
  39. data/rbi/openai/models/admin/organization/workload_identity_providers/federation_rule_delete_params.rbi +72 -0
  40. data/rbi/openai/models/admin/organization/workload_identity_providers/federation_rule_deleted.rbi +68 -0
  41. data/rbi/openai/models/admin/organization/workload_identity_providers/federation_rule_list_params.rbi +153 -0
  42. data/rbi/openai/models/admin/organization/workload_identity_providers/federation_rule_retrieve_params.rbi +72 -0
  43. data/rbi/openai/models/admin/organization/workload_identity_providers/federation_rule_update_params.rbi +281 -0
  44. data/rbi/openai/models/beta/chatkit/chat_session_workflow_param.rbi +1 -1
  45. data/rbi/openai/models/beta/chatkit_workflow.rbi +1 -1
  46. data/rbi/openai/models/live/responses_delegation_config.rbi +2253 -24
  47. data/rbi/openai/models/live/responses_delegation_update_config.rbi +2327 -24
  48. data/rbi/openai/resources/admin/organization/workload_identity_providers/federation_rules.rbi +148 -0
  49. data/rbi/openai/resources/admin/organization/workload_identity_providers.rbi +123 -0
  50. data/rbi/openai/resources/admin/organization.rbi +3 -0
  51. data/responses-websocket.md +40 -2
  52. data/sig/openai/helpers/responses_websocket/incremental.rbs +1 -0
  53. data/sig/openai/models/admin/organization/external_key_create_params.rbs +9 -9
  54. data/sig/openai/models/admin/organization/workload_identity_provider.rbs +136 -0
  55. data/sig/openai/models/admin/organization/workload_identity_provider_create_params.rbs +140 -0
  56. data/sig/openai/models/admin/organization/workload_identity_provider_delete_params.rbs +30 -0
  57. data/sig/openai/models/admin/organization/workload_identity_provider_deleted.rbs +34 -0
  58. data/sig/openai/models/admin/organization/workload_identity_provider_list_params.rbs +59 -0
  59. data/sig/openai/models/admin/organization/workload_identity_provider_retrieve_params.rbs +30 -0
  60. data/sig/openai/models/admin/organization/workload_identity_provider_update_params.rbs +145 -0
  61. data/sig/openai/models/admin/organization/workload_identity_providers/federation_rule.rbs +124 -0
  62. data/sig/openai/models/admin/organization/workload_identity_providers/federation_rule_create_params.rbs +126 -0
  63. data/sig/openai/models/admin/organization/workload_identity_providers/federation_rule_delete_params.rbs +37 -0
  64. data/sig/openai/models/admin/organization/workload_identity_providers/federation_rule_deleted.rbs +36 -0
  65. data/sig/openai/models/admin/organization/workload_identity_providers/federation_rule_list_params.rbs +73 -0
  66. data/sig/openai/models/admin/organization/workload_identity_providers/federation_rule_retrieve_params.rbs +37 -0
  67. data/sig/openai/models/admin/organization/workload_identity_providers/federation_rule_update_params.rbs +123 -0
  68. data/sig/openai/models/audio/transcription_create_params.rbs +3 -3
  69. data/sig/openai/models/audio/voice_create_params.rbs +6 -6
  70. data/sig/openai/models/beta/assistant_create_params.rbs +14 -2
  71. data/sig/openai/models/beta/chatkit/chat_session_workflow_param.rbs +1 -1
  72. data/sig/openai/models/beta/chatkit_workflow.rbs +1 -1
  73. data/sig/openai/models/beta/thread_create_and_run_params.rbs +14 -2
  74. data/sig/openai/models/beta/thread_create_params.rbs +14 -2
  75. data/sig/openai/models/decision_create_params.rbs +42 -0
  76. data/sig/openai/models/eval_create_params.rbs +29 -2
  77. data/sig/openai/models/evals/run_create_params.rbs +53 -2
  78. data/sig/openai/models/live/responses_delegation_config.rbs +851 -0
  79. data/sig/openai/models/live/responses_delegation_update_config.rbs +871 -0
  80. data/sig/openai/resources/admin/organization/external_keys.rbs +3 -3
  81. data/sig/openai/resources/admin/organization/workload_identity_providers/federation_rules.rbs +61 -0
  82. data/sig/openai/resources/admin/organization/workload_identity_providers.rbs +58 -0
  83. data/sig/openai/resources/admin/organization.rbs +2 -0
  84. data/sig/openai/resources/audio/transcriptions.rbs +2 -2
  85. data/sig/openai/resources/audio/voices.rbs +2 -2
  86. data/sig/openai/resources/decisions.rbs +14 -0
  87. data/sig/openai/resources/evals.rbs +8 -1
  88. metadata +49 -1
@@ -146,6 +146,7 @@ module OpenAI
146
146
  @in_flight = false
147
147
  @pending_steers = pending_steers
148
148
  @response_id = nil
149
+ @required_input = {}
149
150
  @changed = Async::Condition.new
150
151
  @accumulator = SessionAccumulator.new(session.limits.max_response_bytes)
151
152
  end
@@ -169,7 +170,9 @@ module OpenAI
169
170
  end
170
171
 
171
172
  pending = @pending_steers[@response_id]
172
- if @in_flight || queued_response || (pending && pending[:count].positive?)
173
+ if @in_flight ||
174
+ queued_response ||
175
+ (pending && pending[:count].positive? && !required_input_continuation?(data))
173
176
  raise SessionError, "Consume the current response before sending another create on this lane."
174
177
  end
175
178
 
@@ -244,9 +247,15 @@ module OpenAI
244
247
  @in_flight = true
245
248
  @pending_steers.delete(@response_id) if @response_id != event.response.id
246
249
  @response_id = event.response.id.dup.freeze
250
+ @required_input.clear
247
251
  elsif %w[response.completed response.failed response.incomplete error].include?(event.type.to_s)
248
252
  @in_flight = false
249
- @response_id = event.response.id.dup.freeze unless event.type.to_s == "error"
253
+ if event.type.to_s == "error"
254
+ @required_input.clear
255
+ else
256
+ @required_input = required_input_keys(@accumulator.final_response&.output || [])
257
+ @response_id = event.response.id.dup.freeze
258
+ end
250
259
  end
251
260
  end
252
261
 
@@ -262,6 +271,69 @@ module OpenAI
262
271
  end
263
272
  end
264
273
 
274
+ private def required_input_continuation?(data)
275
+ return false unless data[:previous_response_id] == @response_id
276
+
277
+ input = data[:input]
278
+ return false unless input.is_a?(Array) && !input.empty?
279
+
280
+ keys = input.map do |item|
281
+ return false unless item.is_a?(Hash)
282
+
283
+ required_input_key(item)
284
+ end
285
+
286
+ keys.uniq.length == keys.length && keys.all? { |key| @required_input.key?(key) }
287
+ end
288
+
289
+ private def required_input_key(data)
290
+ type = data[:type].to_s
291
+ id = case type
292
+ when
293
+ "function_call_output",
294
+ "custom_tool_call_output",
295
+ "computer_call_output",
296
+ "shell_call_output",
297
+ "apply_patch_call_output"
298
+ data[:call_id]
299
+ when "tool_search_output"
300
+ data[:call_id] if data[:execution].to_s == "client"
301
+ when "mcp_approval_response"
302
+ data[:approval_request_id]
303
+ end
304
+
305
+ [type, id] if id.is_a?(String) && !id.empty?
306
+ end
307
+
308
+ private def required_input_keys(items)
309
+ required = {}
310
+ items.each do |item|
311
+ data = item.to_h
312
+ type = data[:type].to_s
313
+ next if type != "mcp_approval_request" && data[:status] && data[:status].to_s != "completed"
314
+
315
+ result_type = case type
316
+ when "function_call", "custom_tool_call", "computer_call", "apply_patch_call"
317
+ "#{type}_output"
318
+ when "shell_call"
319
+ "shell_call_output" if data[:environment].to_h[:type].to_s == "local"
320
+ when "tool_search_call"
321
+ "tool_search_output" if data[:execution].to_s == "client"
322
+ when "mcp_approval_request"
323
+ "mcp_approval_response"
324
+ end
325
+
326
+ next unless result_type
327
+
328
+ id = data[type == "mcp_approval_request" ? :id : :call_id]
329
+ # Retain only detached IDs when get_final_response releases its collector.
330
+ required[[result_type, id.dup.freeze]] = true if id.is_a?(String) && !id.empty?
331
+ end
332
+
333
+ items.each { |item| required.delete(required_input_key(item.to_h)) }
334
+ required
335
+ end
336
+
265
337
  def get_final_response
266
338
  @session.assert_owner!
267
339
  loop do
@@ -306,6 +378,7 @@ module OpenAI
306
378
  @queue.clear
307
379
  @bytes = 0
308
380
  @accumulator = SessionAccumulator.new(@session.limits.max_response_bytes)
381
+ @required_input.clear
309
382
  @changed.signal
310
383
  end
311
384
 
@@ -0,0 +1,158 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Admin
6
+ module Organization
7
+ # @see OpenAI::Resources::Admin::Organization::WorkloadIdentityProviders#create
8
+ class WorkloadIdentityProvider < OpenAI::Internal::Type::BaseModel
9
+ # @!attribute id
10
+ #
11
+ # @return [String]
12
+ required :id, String
13
+
14
+ # @!attribute attribute_transformations
15
+ #
16
+ # @return [Array<OpenAI::Models::Admin::Organization::WorkloadIdentityProvider::AttributeTransformation>]
17
+ required(
18
+ :attribute_transformations,
19
+ -> {
20
+ OpenAI::Internal::Type::ArrayOf[
21
+ OpenAI::Admin::Organization::WorkloadIdentityProvider::AttributeTransformation
22
+ ]
23
+ }
24
+ )
25
+
26
+ # @!attribute audience
27
+ #
28
+ # @return [String]
29
+ required :audience, String
30
+
31
+ # @!attribute created_at
32
+ #
33
+ # @return [Integer]
34
+ required :created_at, Integer
35
+
36
+ # @!attribute description
37
+ #
38
+ # @return [String, nil]
39
+ required :description, String, nil?: true
40
+
41
+ # @!attribute enabled
42
+ #
43
+ # @return [Boolean]
44
+ required :enabled, OpenAI::Internal::Type::Boolean
45
+
46
+ # @!attribute issuer
47
+ #
48
+ # @return [String]
49
+ required :issuer, String
50
+
51
+ # @!attribute name
52
+ #
53
+ # @return [String]
54
+ required :name, String
55
+
56
+ # @!attribute object
57
+ #
58
+ # @return [Symbol, :"organization.workload_identity_provider"]
59
+ required :object, const: :"organization.workload_identity_provider"
60
+
61
+ # @!attribute type
62
+ #
63
+ # @return [Symbol, :oidc]
64
+ required :type, const: :oidc
65
+
66
+ # @!attribute updated_at
67
+ #
68
+ # @return [Integer]
69
+ required :updated_at, Integer
70
+
71
+ # @!attribute verification
72
+ #
73
+ # @return [OpenAI::Models::Admin::Organization::WorkloadIdentityProvider::Verification::Discovery, OpenAI::Models::Admin::Organization::WorkloadIdentityProvider::Verification::UploadedJwks]
74
+ required :verification, union: -> { OpenAI::Admin::Organization::WorkloadIdentityProvider::Verification }
75
+
76
+ # @!method initialize(id:, attribute_transformations:, audience:, created_at:, description:, enabled:, issuer:, name:, updated_at:, verification:, object: :"organization.workload_identity_provider", type: :oidc)
77
+ # @param id [String]
78
+ # @param attribute_transformations [Array<OpenAI::Models::Admin::Organization::WorkloadIdentityProvider::AttributeTransformation>]
79
+ # @param audience [String]
80
+ # @param created_at [Integer]
81
+ # @param description [String, nil]
82
+ # @param enabled [Boolean]
83
+ # @param issuer [String]
84
+ # @param name [String]
85
+ # @param updated_at [Integer]
86
+ # @param verification [OpenAI::Models::Admin::Organization::WorkloadIdentityProvider::Verification::Discovery, OpenAI::Models::Admin::Organization::WorkloadIdentityProvider::Verification::UploadedJwks]
87
+ # @param object [Symbol, :"organization.workload_identity_provider"]
88
+ # @param type [Symbol, :oidc]
89
+
90
+ class AttributeTransformation < OpenAI::Internal::Type::BaseModel
91
+ # @!attribute attribute
92
+ #
93
+ # @return [String]
94
+ required :attribute, String
95
+
96
+ # @!attribute expression
97
+ #
98
+ # @return [String]
99
+ required :expression, String
100
+
101
+ # @!method initialize(attribute:, expression:)
102
+ # @param attribute [String]
103
+ # @param expression [String]
104
+ end
105
+
106
+ # @see OpenAI::Models::Admin::Organization::WorkloadIdentityProvider#verification
107
+ module Verification
108
+ extend OpenAI::Internal::Type::Union
109
+
110
+ discriminator :type
111
+
112
+ variant :discovery, -> { OpenAI::Admin::Organization::WorkloadIdentityProvider::Verification::Discovery }
113
+
114
+ variant(
115
+ :uploaded_jwks,
116
+ -> { OpenAI::Admin::Organization::WorkloadIdentityProvider::Verification::UploadedJwks }
117
+ )
118
+
119
+ class Discovery < OpenAI::Internal::Type::BaseModel
120
+ # @!attribute discovery_url
121
+ #
122
+ # @return [String, nil]
123
+ required :discovery_url, String, nil?: true
124
+
125
+ # @!attribute type
126
+ #
127
+ # @return [Symbol, :discovery]
128
+ required :type, const: :discovery
129
+
130
+ # @!method initialize(discovery_url:, type: :discovery)
131
+ # @param discovery_url [String, nil]
132
+ # @param type [Symbol, :discovery]
133
+ end
134
+
135
+ class UploadedJwks < OpenAI::Internal::Type::BaseModel
136
+ # @!attribute jwks
137
+ #
138
+ # @return [Hash{Symbol=>Object}]
139
+ required :jwks, OpenAI::Internal::Type::HashOf[OpenAI::Internal::Type::Unknown]
140
+
141
+ # @!attribute type
142
+ #
143
+ # @return [Symbol, :uploaded_jwks]
144
+ required :type, const: :uploaded_jwks
145
+
146
+ # @!method initialize(jwks:, type: :uploaded_jwks)
147
+ # @param jwks [Hash{Symbol=>Object}]
148
+ # @param type [Symbol, :uploaded_jwks]
149
+ end
150
+
151
+ # @!method self.variants
152
+ # @return [Array(OpenAI::Models::Admin::Organization::WorkloadIdentityProvider::Verification::Discovery, OpenAI::Models::Admin::Organization::WorkloadIdentityProvider::Verification::UploadedJwks)]
153
+ end
154
+ end
155
+ end
156
+ end
157
+ end
158
+ end
@@ -0,0 +1,143 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Admin
6
+ module Organization
7
+ # @see OpenAI::Resources::Admin::Organization::WorkloadIdentityProviders#create
8
+ class WorkloadIdentityProviderCreateParams < OpenAI::Internal::Type::BaseModel
9
+ extend OpenAI::Internal::Type::RequestParameters::Converter
10
+ include OpenAI::Internal::Type::RequestParameters
11
+
12
+ # @!attribute audience
13
+ #
14
+ # @return [String]
15
+ required :audience, String
16
+
17
+ # @!attribute issuer
18
+ #
19
+ # @return [String]
20
+ required :issuer, String
21
+
22
+ # @!attribute name
23
+ #
24
+ # @return [String]
25
+ required :name, String
26
+
27
+ # @!attribute type
28
+ #
29
+ # @return [Symbol, :oidc]
30
+ required :type, const: :oidc
31
+
32
+ # @!attribute attribute_transformations
33
+ #
34
+ # @return [Array<OpenAI::Models::Admin::Organization::WorkloadIdentityProviderCreateParams::AttributeTransformation>, nil]
35
+ optional(
36
+ :attribute_transformations,
37
+ -> {
38
+ OpenAI::Internal::Type::ArrayOf[
39
+ OpenAI::Admin::Organization::WorkloadIdentityProviderCreateParams::AttributeTransformation
40
+ ]
41
+ }
42
+ )
43
+
44
+ # @!attribute description
45
+ #
46
+ # @return [String, nil]
47
+ optional :description, String
48
+
49
+ # @!attribute enabled
50
+ #
51
+ # @return [Boolean, nil]
52
+ optional :enabled, OpenAI::Internal::Type::Boolean
53
+
54
+ # @!attribute verification
55
+ #
56
+ # @return [OpenAI::Models::Admin::Organization::WorkloadIdentityProviderCreateParams::Verification::Discovery, OpenAI::Models::Admin::Organization::WorkloadIdentityProviderCreateParams::Verification::UploadedJwks, nil]
57
+ optional(
58
+ :verification,
59
+ union: -> { OpenAI::Admin::Organization::WorkloadIdentityProviderCreateParams::Verification }
60
+ )
61
+
62
+ # @!method initialize(audience:, issuer:, name:, attribute_transformations: nil, description: nil, enabled: nil, verification: nil, type: :oidc, request_options: {})
63
+ # @param audience [String]
64
+ # @param issuer [String]
65
+ # @param name [String]
66
+ # @param attribute_transformations [Array<OpenAI::Models::Admin::Organization::WorkloadIdentityProviderCreateParams::AttributeTransformation>]
67
+ # @param description [String]
68
+ # @param enabled [Boolean]
69
+ # @param verification [OpenAI::Models::Admin::Organization::WorkloadIdentityProviderCreateParams::Verification::Discovery, OpenAI::Models::Admin::Organization::WorkloadIdentityProviderCreateParams::Verification::UploadedJwks]
70
+ # @param type [Symbol, :oidc]
71
+ # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}]
72
+
73
+ class AttributeTransformation < OpenAI::Internal::Type::BaseModel
74
+ # @!attribute attribute
75
+ #
76
+ # @return [String]
77
+ required :attribute, String
78
+
79
+ # @!attribute expression
80
+ #
81
+ # @return [String]
82
+ required :expression, String
83
+
84
+ # @!method initialize(attribute:, expression:)
85
+ # @param attribute [String]
86
+ # @param expression [String]
87
+ end
88
+
89
+ module Verification
90
+ extend OpenAI::Internal::Type::Union
91
+
92
+ discriminator :type
93
+
94
+ variant(
95
+ :discovery,
96
+ -> { OpenAI::Admin::Organization::WorkloadIdentityProviderCreateParams::Verification::Discovery }
97
+ )
98
+
99
+ variant(
100
+ :uploaded_jwks,
101
+ -> { OpenAI::Admin::Organization::WorkloadIdentityProviderCreateParams::Verification::UploadedJwks }
102
+ )
103
+
104
+ class Discovery < OpenAI::Internal::Type::BaseModel
105
+ # @!attribute discovery_url
106
+ #
107
+ # @return [String, nil]
108
+ required :discovery_url, String, nil?: true
109
+
110
+ # @!attribute type
111
+ #
112
+ # @return [Symbol, :discovery]
113
+ required :type, const: :discovery
114
+
115
+ # @!method initialize(discovery_url:, type: :discovery)
116
+ # @param discovery_url [String, nil]
117
+ # @param type [Symbol, :discovery]
118
+ end
119
+
120
+ class UploadedJwks < OpenAI::Internal::Type::BaseModel
121
+ # @!attribute jwks
122
+ #
123
+ # @return [Hash{Symbol=>Object}]
124
+ required :jwks, OpenAI::Internal::Type::HashOf[OpenAI::Internal::Type::Unknown]
125
+
126
+ # @!attribute type
127
+ #
128
+ # @return [Symbol, :uploaded_jwks]
129
+ required :type, const: :uploaded_jwks
130
+
131
+ # @!method initialize(jwks:, type: :uploaded_jwks)
132
+ # @param jwks [Hash{Symbol=>Object}]
133
+ # @param type [Symbol, :uploaded_jwks]
134
+ end
135
+
136
+ # @!method self.variants
137
+ # @return [Array(OpenAI::Models::Admin::Organization::WorkloadIdentityProviderCreateParams::Verification::Discovery, OpenAI::Models::Admin::Organization::WorkloadIdentityProviderCreateParams::Verification::UploadedJwks)]
138
+ end
139
+ end
140
+ end
141
+ end
142
+ end
143
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Admin
6
+ module Organization
7
+ # @see OpenAI::Resources::Admin::Organization::WorkloadIdentityProviders#delete
8
+ class WorkloadIdentityProviderDeleteParams < OpenAI::Internal::Type::BaseModel
9
+ extend OpenAI::Internal::Type::RequestParameters::Converter
10
+ include OpenAI::Internal::Type::RequestParameters
11
+
12
+ # @!attribute workload_identity_provider_id
13
+ #
14
+ # @return [String]
15
+ required :workload_identity_provider_id, String
16
+
17
+ # @!method initialize(workload_identity_provider_id:, request_options: {})
18
+ # @param workload_identity_provider_id [String]
19
+ # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}]
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Admin
6
+ module Organization
7
+ # @see OpenAI::Resources::Admin::Organization::WorkloadIdentityProviders#delete
8
+ class WorkloadIdentityProviderDeleted < OpenAI::Internal::Type::BaseModel
9
+ # @!attribute id
10
+ #
11
+ # @return [String]
12
+ required :id, String
13
+
14
+ # @!attribute deleted
15
+ #
16
+ # @return [Boolean]
17
+ required :deleted, OpenAI::Internal::Type::Boolean
18
+
19
+ # @!attribute object
20
+ #
21
+ # @return [Symbol, :"organization.workload_identity_provider.deleted"]
22
+ required :object, const: :"organization.workload_identity_provider.deleted"
23
+
24
+ # @!method initialize(id:, deleted:, object: :"organization.workload_identity_provider.deleted")
25
+ # @param id [String]
26
+ # @param deleted [Boolean]
27
+ # @param object [Symbol, :"organization.workload_identity_provider.deleted"]
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,58 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Admin
6
+ module Organization
7
+ # @see OpenAI::Resources::Admin::Organization::WorkloadIdentityProviders#list
8
+ class WorkloadIdentityProviderListParams < OpenAI::Internal::Type::BaseModel
9
+ extend OpenAI::Internal::Type::RequestParameters::Converter
10
+ include OpenAI::Internal::Type::RequestParameters
11
+
12
+ # @!attribute after
13
+ #
14
+ # @return [String, nil]
15
+ optional :after, String
16
+
17
+ # @!attribute limit
18
+ #
19
+ # @return [Integer, nil]
20
+ optional :limit, Integer
21
+
22
+ # @!attribute order
23
+ #
24
+ # @return [Symbol, OpenAI::Models::Admin::Organization::WorkloadIdentityProviderListParams::Order, nil]
25
+ optional :order, union: -> { OpenAI::Admin::Organization::WorkloadIdentityProviderListParams::Order }
26
+
27
+ # @!method initialize(after: nil, limit: nil, order: nil, request_options: {})
28
+ # @param after [String]
29
+ # @param limit [Integer]
30
+ # @param order [Symbol, OpenAI::Models::Admin::Organization::WorkloadIdentityProviderListParams::Order]
31
+ # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}]
32
+
33
+ module Order
34
+ extend OpenAI::Internal::Type::Union
35
+
36
+ variant const: -> { OpenAI::Models::Admin::Organization::WorkloadIdentityProviderListParams::Order::ASC }
37
+
38
+ variant const: -> { OpenAI::Models::Admin::Organization::WorkloadIdentityProviderListParams::Order::DESC }
39
+
40
+ # @!method self.variants
41
+ # @return [Array(Symbol)]
42
+
43
+ define_sorbet_constant!(:Variants) do
44
+ T.type_alias { OpenAI::Admin::Organization::WorkloadIdentityProviderListParams::Order::TaggedSymbol }
45
+ end
46
+
47
+ # @!group
48
+
49
+ ASC = :asc
50
+ DESC = :desc
51
+
52
+ # @!endgroup
53
+ end
54
+ end
55
+ end
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Admin
6
+ module Organization
7
+ # @see OpenAI::Resources::Admin::Organization::WorkloadIdentityProviders#retrieve
8
+ class WorkloadIdentityProviderRetrieveParams < OpenAI::Internal::Type::BaseModel
9
+ extend OpenAI::Internal::Type::RequestParameters::Converter
10
+ include OpenAI::Internal::Type::RequestParameters
11
+
12
+ # @!attribute workload_identity_provider_id
13
+ #
14
+ # @return [String]
15
+ required :workload_identity_provider_id, String
16
+
17
+ # @!method initialize(workload_identity_provider_id:, request_options: {})
18
+ # @param workload_identity_provider_id [String]
19
+ # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}]
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end