openai 0.116.0 → 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 (77) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +7 -0
  3. data/README.md +1 -1
  4. data/lib/openai/models/admin/organization/workload_identity_provider.rb +158 -0
  5. data/lib/openai/models/admin/organization/workload_identity_provider_create_params.rb +143 -0
  6. data/lib/openai/models/admin/organization/workload_identity_provider_delete_params.rb +24 -0
  7. data/lib/openai/models/admin/organization/workload_identity_provider_deleted.rb +32 -0
  8. data/lib/openai/models/admin/organization/workload_identity_provider_list_params.rb +58 -0
  9. data/lib/openai/models/admin/organization/workload_identity_provider_retrieve_params.rb +24 -0
  10. data/lib/openai/models/admin/organization/workload_identity_provider_update_params.rb +143 -0
  11. data/lib/openai/models/admin/organization/workload_identity_providers/federation_rule.rb +161 -0
  12. data/lib/openai/models/admin/organization/workload_identity_providers/federation_rule_create_params.rb +144 -0
  13. data/lib/openai/models/admin/organization/workload_identity_providers/federation_rule_delete_params.rb +32 -0
  14. data/lib/openai/models/admin/organization/workload_identity_providers/federation_rule_deleted.rb +34 -0
  15. data/lib/openai/models/admin/organization/workload_identity_providers/federation_rule_list_params.rb +85 -0
  16. data/lib/openai/models/admin/organization/workload_identity_providers/federation_rule_retrieve_params.rb +32 -0
  17. data/lib/openai/models/admin/organization/workload_identity_providers/federation_rule_update_params.rb +134 -0
  18. data/lib/openai/models/beta/chatkit/chat_session_workflow_param.rb +5 -3
  19. data/lib/openai/models/beta/chatkit_workflow.rb +5 -3
  20. data/lib/openai/resources/admin/organization/workload_identity_providers/federation_rules.rb +198 -0
  21. data/lib/openai/resources/admin/organization/workload_identity_providers.rb +148 -0
  22. data/lib/openai/resources/admin/organization.rb +6 -0
  23. data/lib/openai/version.rb +1 -1
  24. data/lib/openai.rb +16 -0
  25. data/rbi/openai/models/admin/organization/workload_identity_provider.rbi +288 -0
  26. data/rbi/openai/models/admin/organization/workload_identity_provider_create_params.rbi +311 -0
  27. data/rbi/openai/models/admin/organization/workload_identity_provider_delete_params.rbi +57 -0
  28. data/rbi/openai/models/admin/organization/workload_identity_provider_deleted.rbi +64 -0
  29. data/rbi/openai/models/admin/organization/workload_identity_provider_list_params.rbi +111 -0
  30. data/rbi/openai/models/admin/organization/workload_identity_provider_retrieve_params.rbi +57 -0
  31. data/rbi/openai/models/admin/organization/workload_identity_provider_update_params.rbi +317 -0
  32. data/rbi/openai/models/admin/organization/workload_identity_providers/federation_rule.rbi +276 -0
  33. data/rbi/openai/models/admin/organization/workload_identity_providers/federation_rule_create_params.rbi +282 -0
  34. data/rbi/openai/models/admin/organization/workload_identity_providers/federation_rule_delete_params.rbi +72 -0
  35. data/rbi/openai/models/admin/organization/workload_identity_providers/federation_rule_deleted.rbi +68 -0
  36. data/rbi/openai/models/admin/organization/workload_identity_providers/federation_rule_list_params.rbi +153 -0
  37. data/rbi/openai/models/admin/organization/workload_identity_providers/federation_rule_retrieve_params.rbi +72 -0
  38. data/rbi/openai/models/admin/organization/workload_identity_providers/federation_rule_update_params.rbi +281 -0
  39. data/rbi/openai/models/beta/chatkit/chat_session_workflow_param.rbi +1 -1
  40. data/rbi/openai/models/beta/chatkit_workflow.rbi +1 -1
  41. data/rbi/openai/resources/admin/organization/workload_identity_providers/federation_rules.rbi +148 -0
  42. data/rbi/openai/resources/admin/organization/workload_identity_providers.rbi +123 -0
  43. data/rbi/openai/resources/admin/organization.rbi +3 -0
  44. data/sig/openai/models/admin/organization/external_key_create_params.rbs +9 -9
  45. data/sig/openai/models/admin/organization/workload_identity_provider.rbs +136 -0
  46. data/sig/openai/models/admin/organization/workload_identity_provider_create_params.rbs +140 -0
  47. data/sig/openai/models/admin/organization/workload_identity_provider_delete_params.rbs +30 -0
  48. data/sig/openai/models/admin/organization/workload_identity_provider_deleted.rbs +34 -0
  49. data/sig/openai/models/admin/organization/workload_identity_provider_list_params.rbs +59 -0
  50. data/sig/openai/models/admin/organization/workload_identity_provider_retrieve_params.rbs +30 -0
  51. data/sig/openai/models/admin/organization/workload_identity_provider_update_params.rbs +145 -0
  52. data/sig/openai/models/admin/organization/workload_identity_providers/federation_rule.rbs +124 -0
  53. data/sig/openai/models/admin/organization/workload_identity_providers/federation_rule_create_params.rbs +126 -0
  54. data/sig/openai/models/admin/organization/workload_identity_providers/federation_rule_delete_params.rbs +37 -0
  55. data/sig/openai/models/admin/organization/workload_identity_providers/federation_rule_deleted.rbs +36 -0
  56. data/sig/openai/models/admin/organization/workload_identity_providers/federation_rule_list_params.rbs +73 -0
  57. data/sig/openai/models/admin/organization/workload_identity_providers/federation_rule_retrieve_params.rbs +37 -0
  58. data/sig/openai/models/admin/organization/workload_identity_providers/federation_rule_update_params.rbs +123 -0
  59. data/sig/openai/models/audio/transcription_create_params.rbs +3 -3
  60. data/sig/openai/models/audio/voice_create_params.rbs +6 -6
  61. data/sig/openai/models/beta/assistant_create_params.rbs +14 -2
  62. data/sig/openai/models/beta/chatkit/chat_session_workflow_param.rbs +1 -1
  63. data/sig/openai/models/beta/chatkit_workflow.rbs +1 -1
  64. data/sig/openai/models/beta/thread_create_and_run_params.rbs +14 -2
  65. data/sig/openai/models/beta/thread_create_params.rbs +14 -2
  66. data/sig/openai/models/decision_create_params.rbs +42 -0
  67. data/sig/openai/models/eval_create_params.rbs +29 -2
  68. data/sig/openai/models/evals/run_create_params.rbs +53 -2
  69. data/sig/openai/resources/admin/organization/external_keys.rbs +3 -3
  70. data/sig/openai/resources/admin/organization/workload_identity_providers/federation_rules.rbs +61 -0
  71. data/sig/openai/resources/admin/organization/workload_identity_providers.rbs +58 -0
  72. data/sig/openai/resources/admin/organization.rbs +2 -0
  73. data/sig/openai/resources/audio/transcriptions.rbs +2 -2
  74. data/sig/openai/resources/audio/voices.rbs +2 -2
  75. data/sig/openai/resources/decisions.rbs +14 -0
  76. data/sig/openai/resources/evals.rbs +8 -1
  77. metadata +49 -1
@@ -0,0 +1,123 @@
1
+ module OpenAI
2
+ module Models
3
+ module Admin
4
+ module Organization
5
+ module WorkloadIdentityProviders
6
+ type federation_rule_update_params =
7
+ {
8
+ workload_identity_provider_id: String,
9
+ workload_identity_federation_rule_id: String,
10
+ ?attribute_matchers: ::Hash[Symbol, OpenAI::Models::Admin::Organization::WorkloadIdentityProviders::FederationRuleUpdateParams::attribute_matcher],
11
+ ?description: String?,
12
+ ?enabled: bool,
13
+ ?name: String?,
14
+ ?permissions: OpenAI::Models::Admin::Organization::WorkloadIdentityProviders::FederationRuleUpdateParams::permissions,
15
+ ?request_options: OpenAI::request_opts
16
+ }
17
+
18
+ class FederationRuleUpdateParams < OpenAI::Internal::Type::BaseModel
19
+ extend OpenAI::Internal::Type::RequestParameters::Converter
20
+ include OpenAI::Internal::Type::RequestParameters
21
+
22
+ attr_accessor workload_identity_provider_id: String
23
+
24
+ attr_accessor workload_identity_federation_rule_id: String
25
+
26
+ attr_reader attribute_matchers: ::Hash[Symbol, OpenAI::Models::Admin::Organization::WorkloadIdentityProviders::FederationRuleUpdateParams::attribute_matcher]?
27
+
28
+ def attribute_matchers=: (
29
+ ::Hash[Symbol, OpenAI::Models::Admin::Organization::WorkloadIdentityProviders::FederationRuleUpdateParams::attribute_matcher]
30
+ ) -> ::Hash[Symbol, OpenAI::Models::Admin::Organization::WorkloadIdentityProviders::FederationRuleUpdateParams::attribute_matcher]
31
+
32
+ attr_accessor description: String?
33
+
34
+ attr_reader enabled: bool?
35
+
36
+ def enabled=: (bool) -> bool
37
+
38
+ attr_accessor name: String?
39
+
40
+ attr_reader permissions: OpenAI::Models::Admin::Organization::WorkloadIdentityProviders::FederationRuleUpdateParams::permissions?
41
+
42
+ def permissions=: (
43
+ OpenAI::Models::Admin::Organization::WorkloadIdentityProviders::FederationRuleUpdateParams::permissions
44
+ | { type: :service_account_default }
45
+ | { scopes: ::Array[String], type: :restricted }
46
+ ) -> (OpenAI::Models::Admin::Organization::WorkloadIdentityProviders::FederationRuleUpdateParams::permissions
47
+ | { type: :service_account_default }
48
+ | { scopes: ::Array[String], type: :restricted })
49
+
50
+ def initialize: (
51
+ workload_identity_provider_id: String,
52
+ workload_identity_federation_rule_id: String,
53
+ ?attribute_matchers: ::Hash[Symbol, OpenAI::Models::Admin::Organization::WorkloadIdentityProviders::FederationRuleUpdateParams::attribute_matcher],
54
+ ?description: String?,
55
+ ?enabled: bool,
56
+ ?name: String?,
57
+ ?permissions: OpenAI::Models::Admin::Organization::WorkloadIdentityProviders::FederationRuleUpdateParams::permissions
58
+ | { type: :service_account_default }
59
+ | { scopes: ::Array[String], type: :restricted },
60
+ ?request_options: OpenAI::request_opts
61
+ ) -> void
62
+
63
+ def to_hash: -> {
64
+ workload_identity_provider_id: String,
65
+ workload_identity_federation_rule_id: String,
66
+ ?attribute_matchers: ::Hash[Symbol, OpenAI::Models::Admin::Organization::WorkloadIdentityProviders::FederationRuleUpdateParams::attribute_matcher],
67
+ ?description: String?,
68
+ ?enabled: bool,
69
+ ?name: String?,
70
+ ?permissions: OpenAI::Models::Admin::Organization::WorkloadIdentityProviders::FederationRuleUpdateParams::permissions,
71
+ ?request_options: OpenAI::RequestOptions
72
+ }
73
+
74
+ type attribute_matcher = String | bool | Integer | Float
75
+
76
+ module AttributeMatcher
77
+ extend OpenAI::Internal::Type::Union
78
+
79
+ def self?.variants: -> ::Array[OpenAI::Models::Admin::Organization::WorkloadIdentityProviders::FederationRuleUpdateParams::attribute_matcher]
80
+ end
81
+
82
+ type permissions =
83
+ OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRuleUpdateParams::Permissions::DefaultPermissionsParam
84
+ | OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRuleUpdateParams::Permissions::RestrictedPermissionsParam
85
+
86
+ module Permissions
87
+ extend OpenAI::Internal::Type::Union
88
+
89
+ type default_permissions_param =
90
+ { ?type: :service_account_default }
91
+
92
+ class DefaultPermissionsParam < OpenAI::Internal::Type::BaseModel
93
+ attr_accessor type: :service_account_default
94
+
95
+ def initialize: (?type: :service_account_default) -> void
96
+
97
+ def to_hash: -> { ?type: :service_account_default }
98
+ end
99
+
100
+ type restricted_permissions_param =
101
+ { scopes: ::Array[String], ?type: :restricted }
102
+
103
+ class RestrictedPermissionsParam < OpenAI::Internal::Type::BaseModel
104
+ attr_accessor scopes: ::Array[String]
105
+
106
+ attr_accessor type: :restricted
107
+
108
+ def initialize: (
109
+ scopes: ::Array[String],
110
+ ?type: :restricted
111
+ ) -> void
112
+
113
+ def to_hash: -> { scopes: ::Array[String], ?type: :restricted }
114
+ end
115
+
116
+ def self?.variants: -> ::Array[OpenAI::Models::Admin::Organization::WorkloadIdentityProviders::FederationRuleUpdateParams::permissions]
117
+ end
118
+ end
119
+ end
120
+ end
121
+ end
122
+ end
123
+ end
@@ -56,14 +56,14 @@ module OpenAI
56
56
  def chunking_strategy=: (
57
57
  (OpenAI::Models::Audio::TranscriptionCreateParams::chunking_strategy
58
58
  | {
59
- type: :server_vad,
59
+ type: OpenAI::Models::Audio::TranscriptionCreateParams::ChunkingStrategy::VadConfig::type_,
60
60
  ?prefix_padding_ms: Integer,
61
61
  ?silence_duration_ms: Integer,
62
62
  ?threshold: Float
63
63
  })?
64
64
  ) -> (OpenAI::Models::Audio::TranscriptionCreateParams::chunking_strategy
65
65
  | {
66
- type: :server_vad,
66
+ type: OpenAI::Models::Audio::TranscriptionCreateParams::ChunkingStrategy::VadConfig::type_,
67
67
  ?prefix_padding_ms: Integer,
68
68
  ?silence_duration_ms: Integer,
69
69
  ?threshold: Float
@@ -280,7 +280,7 @@ module OpenAI
280
280
  model: OpenAI::Models::Audio::TranscriptionCreateParams::model,
281
281
  ?chunking_strategy: (OpenAI::Models::Audio::TranscriptionCreateParams::chunking_strategy
282
282
  | {
283
- type: :server_vad,
283
+ type: OpenAI::Models::Audio::TranscriptionCreateParams::ChunkingStrategy::VadConfig::type_,
284
284
  ?prefix_padding_ms: Integer,
285
285
  ?silence_duration_ms: Integer,
286
286
  ?threshold: Float
@@ -23,12 +23,12 @@ module OpenAI
23
23
  audio_sample: OpenAI::Internal::file_input,
24
24
  consent: String,
25
25
  name: String,
26
- ?type: :audio_sample
26
+ ?type: OpenAI::Models::Audio::VoiceCreateParams::Body::AudioSample::type_
27
27
  }
28
28
  | {
29
29
  name: String,
30
30
  prompt: String,
31
- type: :prompt,
31
+ type: OpenAI::Models::Audio::VoiceCreateParams::Body::Prompt::type_,
32
32
  ?model: String | :auto | :"2026-10-08",
33
33
  ?script_hint: String
34
34
  }
@@ -37,12 +37,12 @@ module OpenAI
37
37
  audio_sample: OpenAI::Internal::file_input,
38
38
  consent: String,
39
39
  name: String,
40
- ?type: :audio_sample
40
+ ?type: OpenAI::Models::Audio::VoiceCreateParams::Body::AudioSample::type_
41
41
  }
42
42
  | {
43
43
  name: String,
44
44
  prompt: String,
45
- type: :prompt,
45
+ type: OpenAI::Models::Audio::VoiceCreateParams::Body::Prompt::type_,
46
46
  ?model: (String | :auto | :"2026-10-08"),
47
47
  ?script_hint: String
48
48
  })
@@ -56,12 +56,12 @@ module OpenAI
56
56
  audio_sample: OpenAI::Internal::file_input,
57
57
  consent: String,
58
58
  name: String,
59
- ?type: :audio_sample
59
+ ?type: OpenAI::Models::Audio::VoiceCreateParams::Body::AudioSample::type_
60
60
  }
61
61
  | {
62
62
  name: String,
63
63
  prompt: String,
64
- type: :prompt,
64
+ type: OpenAI::Models::Audio::VoiceCreateParams::Body::Prompt::type_,
65
65
  ?model: String | :auto | :"2026-10-08",
66
66
  ?script_hint: String
67
67
  },
@@ -332,8 +332,16 @@ module OpenAI
332
332
  def chunking_strategy=: (
333
333
  OpenAI::Models::Beta::AssistantCreateParams::ToolResources::FileSearch::VectorStore::chunking_strategy
334
334
  | { type: :auto }
335
+ | {
336
+ static: OpenAI::Models::Beta::AssistantCreateParams::ToolResources::FileSearch::VectorStore::ChunkingStrategy::Static::Static,
337
+ type: :static
338
+ }
335
339
  ) -> (OpenAI::Models::Beta::AssistantCreateParams::ToolResources::FileSearch::VectorStore::chunking_strategy
336
- | { type: :auto })
340
+ | { type: :auto }
341
+ | {
342
+ static: OpenAI::Models::Beta::AssistantCreateParams::ToolResources::FileSearch::VectorStore::ChunkingStrategy::Static::Static,
343
+ type: :static
344
+ })
337
345
 
338
346
  # A list of [file](https://developers.openai.com/api/reference/resources/files)
339
347
  # IDs to add to the vector store. For vector stores created before Nov 2025, there
@@ -372,7 +380,11 @@ module OpenAI
372
380
  # a maximum length of 512 characters.
373
381
  def initialize: (
374
382
  ?chunking_strategy: OpenAI::Models::Beta::AssistantCreateParams::ToolResources::FileSearch::VectorStore::chunking_strategy
375
- | { type: :auto },
383
+ | { type: :auto }
384
+ | {
385
+ static: OpenAI::Models::Beta::AssistantCreateParams::ToolResources::FileSearch::VectorStore::ChunkingStrategy::Static::Static,
386
+ type: :static
387
+ },
376
388
  ?file_ids: ::Array[String],
377
389
  ?metadata: OpenAI::Models::metadata?
378
390
  ) -> void
@@ -64,7 +64,7 @@ module OpenAI
64
64
  ?version: String
65
65
  }
66
66
 
67
- type state_variable = String | bool | Float
67
+ type state_variable = String | Integer | bool | Float
68
68
 
69
69
  module StateVariable
70
70
  extend OpenAI::Internal::Type::Union
@@ -48,7 +48,7 @@ module OpenAI
48
48
  version: String?
49
49
  }
50
50
 
51
- type state_variable = String | bool | Float
51
+ type state_variable = String | Integer | bool | Float
52
52
 
53
53
  module StateVariable
54
54
  extend OpenAI::Internal::Type::Union
@@ -607,8 +607,16 @@ module OpenAI
607
607
  def chunking_strategy=: (
608
608
  OpenAI::Models::Beta::ThreadCreateAndRunParams::Thread::ToolResources::FileSearch::VectorStore::chunking_strategy
609
609
  | { type: :auto }
610
+ | {
611
+ static: OpenAI::Models::Beta::ThreadCreateAndRunParams::Thread::ToolResources::FileSearch::VectorStore::ChunkingStrategy::Static::Static,
612
+ type: :static
613
+ }
610
614
  ) -> (OpenAI::Models::Beta::ThreadCreateAndRunParams::Thread::ToolResources::FileSearch::VectorStore::chunking_strategy
611
- | { type: :auto })
615
+ | { type: :auto }
616
+ | {
617
+ static: OpenAI::Models::Beta::ThreadCreateAndRunParams::Thread::ToolResources::FileSearch::VectorStore::ChunkingStrategy::Static::Static,
618
+ type: :static
619
+ })
612
620
 
613
621
  # A list of [file](https://developers.openai.com/api/reference/resources/files)
614
622
  # IDs to add to the vector store. For vector stores created before Nov 2025, there
@@ -647,7 +655,11 @@ module OpenAI
647
655
  # a maximum length of 512 characters.
648
656
  def initialize: (
649
657
  ?chunking_strategy: OpenAI::Models::Beta::ThreadCreateAndRunParams::Thread::ToolResources::FileSearch::VectorStore::chunking_strategy
650
- | { type: :auto },
658
+ | { type: :auto }
659
+ | {
660
+ static: OpenAI::Models::Beta::ThreadCreateAndRunParams::Thread::ToolResources::FileSearch::VectorStore::ChunkingStrategy::Static::Static,
661
+ type: :static
662
+ },
651
663
  ?file_ids: ::Array[String],
652
664
  ?metadata: OpenAI::Models::metadata?
653
665
  ) -> void
@@ -339,8 +339,16 @@ module OpenAI
339
339
  def chunking_strategy=: (
340
340
  OpenAI::Models::Beta::ThreadCreateParams::ToolResources::FileSearch::VectorStore::chunking_strategy
341
341
  | { type: :auto }
342
+ | {
343
+ static: OpenAI::Models::Beta::ThreadCreateParams::ToolResources::FileSearch::VectorStore::ChunkingStrategy::Static::Static,
344
+ type: :static
345
+ }
342
346
  ) -> (OpenAI::Models::Beta::ThreadCreateParams::ToolResources::FileSearch::VectorStore::chunking_strategy
343
- | { type: :auto })
347
+ | { type: :auto }
348
+ | {
349
+ static: OpenAI::Models::Beta::ThreadCreateParams::ToolResources::FileSearch::VectorStore::ChunkingStrategy::Static::Static,
350
+ type: :static
351
+ })
344
352
 
345
353
  # A list of [file](https://developers.openai.com/api/reference/resources/files)
346
354
  # IDs to add to the vector store. For vector stores created before Nov 2025, there
@@ -379,7 +387,11 @@ module OpenAI
379
387
  # a maximum length of 512 characters.
380
388
  def initialize: (
381
389
  ?chunking_strategy: OpenAI::Models::Beta::ThreadCreateParams::ToolResources::FileSearch::VectorStore::chunking_strategy
382
- | { type: :auto },
390
+ | { type: :auto }
391
+ | {
392
+ static: OpenAI::Models::Beta::ThreadCreateParams::ToolResources::FileSearch::VectorStore::ChunkingStrategy::Static::Static,
393
+ type: :static
394
+ },
383
395
  ?file_ids: ::Array[String],
384
396
  ?metadata: OpenAI::Models::metadata?
385
397
  ) -> void
@@ -37,6 +37,20 @@ module OpenAI
37
37
  | ::Array[OpenAI::Models::decision_question_input_part],
38
38
  type: :predicate,
39
39
  ?name: String
40
+ }
41
+ | {
42
+ choices: ::Array[OpenAI::Models::DecisionCreateParams::Question::Choice::Choice],
43
+ instructions: String
44
+ | ::Array[OpenAI::Models::decision_question_input_part],
45
+ type: :choice,
46
+ ?name: String
47
+ }
48
+ | {
49
+ instructions: String
50
+ | ::Array[OpenAI::Models::decision_question_input_part],
51
+ levels: ::Array[OpenAI::Models::DecisionCreateParams::Question::Score::Level],
52
+ type: :score,
53
+ ?name: String
40
54
  }]
41
55
  ) -> ::Array[(OpenAI::Models::DecisionCreateParams::question
42
56
  | {
@@ -44,6 +58,20 @@ module OpenAI
44
58
  | ::Array[OpenAI::Models::decision_question_input_part]),
45
59
  type: :predicate,
46
60
  ?name: String
61
+ }
62
+ | {
63
+ choices: ::Array[OpenAI::Models::DecisionCreateParams::Question::Choice::Choice],
64
+ instructions: (String
65
+ | ::Array[OpenAI::Models::decision_question_input_part]),
66
+ type: :choice,
67
+ ?name: String
68
+ }
69
+ | {
70
+ instructions: (String
71
+ | ::Array[OpenAI::Models::decision_question_input_part]),
72
+ levels: ::Array[OpenAI::Models::DecisionCreateParams::Question::Score::Level],
73
+ type: :score,
74
+ ?name: String
47
75
  })]
48
76
 
49
77
  # Partition prompt cache reuse by caller-provided key.
@@ -98,6 +126,20 @@ module OpenAI
98
126
  | ::Array[OpenAI::Models::decision_question_input_part],
99
127
  type: :predicate,
100
128
  ?name: String
129
+ }
130
+ | {
131
+ choices: ::Array[OpenAI::Models::DecisionCreateParams::Question::Choice::Choice],
132
+ instructions: String
133
+ | ::Array[OpenAI::Models::decision_question_input_part],
134
+ type: :choice,
135
+ ?name: String
136
+ }
137
+ | {
138
+ instructions: String
139
+ | ::Array[OpenAI::Models::decision_question_input_part],
140
+ levels: ::Array[OpenAI::Models::DecisionCreateParams::Question::Score::Level],
141
+ type: :score,
142
+ ?name: String
101
143
  }],
102
144
  ?prompt_cache_key: String?,
103
145
  ?prompt_cache_options: (OpenAI::DecisionCreateParams::PromptCacheOptions
@@ -15,7 +15,27 @@ module OpenAI
15
15
 
16
16
  # The configuration for the data source used for the evaluation runs. Dictates the
17
17
  # schema of the data used in the evaluation.
18
- attr_accessor data_source_config: OpenAI::Models::EvalCreateParams::data_source_config
18
+ attr_reader data_source_config: OpenAI::Models::EvalCreateParams::data_source_config
19
+
20
+ # The configuration for the data source used for the evaluation runs. Dictates the
21
+ # schema of the data used in the evaluation.
22
+ def data_source_config=: (
23
+ OpenAI::Models::EvalCreateParams::data_source_config
24
+ | {
25
+ item_schema: ::Hash[Symbol, top],
26
+ type: :custom,
27
+ ?include_sample_schema: bool
28
+ }
29
+ | { type: :logs, ?metadata: ::Hash[Symbol, top] }
30
+ | { type: :stored_completions, ?metadata: ::Hash[Symbol, top] }
31
+ ) -> (OpenAI::Models::EvalCreateParams::data_source_config
32
+ | {
33
+ item_schema: ::Hash[Symbol, top],
34
+ type: :custom,
35
+ ?include_sample_schema: bool
36
+ }
37
+ | { type: :logs, ?metadata: ::Hash[Symbol, top] }
38
+ | { type: :stored_completions, ?metadata: ::Hash[Symbol, top] })
19
39
 
20
40
  # A list of graders for all eval runs in this group. Graders can reference
21
41
  # variables in the data source using double curly braces notation, like
@@ -55,7 +75,14 @@ module OpenAI
55
75
  # @param name
56
76
  # The name of the evaluation.
57
77
  def initialize: (
58
- data_source_config: OpenAI::Models::EvalCreateParams::data_source_config,
78
+ data_source_config: OpenAI::Models::EvalCreateParams::data_source_config
79
+ | {
80
+ item_schema: ::Hash[Symbol, top],
81
+ type: :custom,
82
+ ?include_sample_schema: bool
83
+ }
84
+ | { type: :logs, ?metadata: ::Hash[Symbol, top] }
85
+ | { type: :stored_completions, ?metadata: ::Hash[Symbol, top] },
59
86
  testing_criteria: ::Array[OpenAI::Models::EvalCreateParams::testing_criterion],
60
87
  ?metadata: OpenAI::Models::metadata?,
61
88
  ?name: String,
@@ -84,9 +84,43 @@ module OpenAI
84
84
  # Determines what populates the `item` namespace in this run's data source.
85
85
  def source=: (
86
86
  OpenAI::Models::Evals::RunCreateParams::DataSource::CreateEvalResponsesRunDataSource::source
87
+ | {
88
+ content: ::Array[OpenAI::Models::Evals::RunCreateParams::DataSource::CreateEvalResponsesRunDataSource::Source::FileContent::Content],
89
+ type: :file_content
90
+ }
87
91
  | { id: String, type: :file_id }
92
+ | {
93
+ type: :responses,
94
+ ?created_after: Integer?,
95
+ ?created_before: Integer?,
96
+ ?instructions_search: String?,
97
+ ?metadata: top?,
98
+ ?model: String?,
99
+ ?reasoning_effort: OpenAI::Models::reasoning_effort?,
100
+ ?temperature: Float?,
101
+ ?tools: ::Array[String]?,
102
+ ?top_p: Float?,
103
+ ?users: ::Array[String]?
104
+ }
88
105
  ) -> (OpenAI::Models::Evals::RunCreateParams::DataSource::CreateEvalResponsesRunDataSource::source
89
- | { id: String, type: :file_id })
106
+ | {
107
+ content: ::Array[OpenAI::Models::Evals::RunCreateParams::DataSource::CreateEvalResponsesRunDataSource::Source::FileContent::Content],
108
+ type: :file_content
109
+ }
110
+ | { id: String, type: :file_id }
111
+ | {
112
+ type: :responses,
113
+ ?created_after: Integer?,
114
+ ?created_before: Integer?,
115
+ ?instructions_search: String?,
116
+ ?metadata: top?,
117
+ ?model: String?,
118
+ ?reasoning_effort: OpenAI::Models::reasoning_effort?,
119
+ ?temperature: Float?,
120
+ ?tools: ::Array[String]?,
121
+ ?top_p: Float?,
122
+ ?users: ::Array[String]?
123
+ })
90
124
 
91
125
  # The type of run data source. Always `responses`.
92
126
  attr_accessor type: OpenAI::Models::Evals::RunCreateParams::DataSource::CreateEvalResponsesRunDataSource::type_
@@ -132,7 +166,24 @@ module OpenAI
132
166
  # The name of the model to use for generating completions (e.g. "o3-mini").
133
167
  def initialize: (
134
168
  source: OpenAI::Models::Evals::RunCreateParams::DataSource::CreateEvalResponsesRunDataSource::source
135
- | { id: String, type: :file_id },
169
+ | {
170
+ content: ::Array[OpenAI::Models::Evals::RunCreateParams::DataSource::CreateEvalResponsesRunDataSource::Source::FileContent::Content],
171
+ type: :file_content
172
+ }
173
+ | { id: String, type: :file_id }
174
+ | {
175
+ type: :responses,
176
+ ?created_after: Integer?,
177
+ ?created_before: Integer?,
178
+ ?instructions_search: String?,
179
+ ?metadata: top?,
180
+ ?model: String?,
181
+ ?reasoning_effort: OpenAI::Models::reasoning_effort?,
182
+ ?temperature: Float?,
183
+ ?tools: ::Array[String]?,
184
+ ?top_p: Float?,
185
+ ?users: ::Array[String]?
186
+ },
136
187
  type: OpenAI::Models::Evals::RunCreateParams::DataSource::CreateEvalResponsesRunDataSource::type_,
137
188
  ?input_messages: OpenAI::Models::Evals::RunCreateParams::DataSource::CreateEvalResponsesRunDataSource::input_messages
138
189
  | { item_reference: String, type: :item_reference },
@@ -11,7 +11,7 @@ module OpenAI
11
11
  name: String,
12
12
  role_arn: String,
13
13
  type: :aws,
14
- ?purpose: :ekm | :psp_decryption
14
+ ?purpose: OpenAI::Models::Admin::Organization::ExternalKeyCreateParams::Body::Aws::purpose
15
15
  }
16
16
  | {
17
17
  audience: String,
@@ -25,7 +25,7 @@ module OpenAI
25
25
  workload_identity_project_number: String,
26
26
  workload_identity_provider_id: String,
27
27
  ?kms_key_version: String,
28
- ?purpose: :ekm | :psp_decryption
28
+ ?purpose: OpenAI::Models::Admin::Organization::ExternalKeyCreateParams::Body::Gcp::purpose
29
29
  }
30
30
  | {
31
31
  key_name: String,
@@ -34,7 +34,7 @@ module OpenAI
34
34
  type: :azure,
35
35
  vault_uri: String,
36
36
  ?key_version: String,
37
- ?purpose: :ekm | :psp_decryption
37
+ ?purpose: OpenAI::Models::Admin::Organization::ExternalKeyCreateParams::Body::Azure::purpose
38
38
  },
39
39
  ?request_options: OpenAI::request_opts
40
40
  ) -> OpenAI::Admin::Organization::ExternalKey
@@ -0,0 +1,61 @@
1
+ module OpenAI
2
+ module Resources
3
+ class Admin
4
+ class Organization
5
+ class WorkloadIdentityProviders
6
+ class FederationRules
7
+ def create: (
8
+ String workload_identity_provider_id,
9
+ attribute_matchers: ::Hash[Symbol, OpenAI::Models::Admin::Organization::WorkloadIdentityProviders::FederationRuleCreateParams::attribute_matcher],
10
+ project_id: String,
11
+ service_account_id: String,
12
+ ?description: String,
13
+ ?enabled: bool,
14
+ ?name: String,
15
+ ?permissions: OpenAI::Models::Admin::Organization::WorkloadIdentityProviders::FederationRuleCreateParams::permissions
16
+ | { type: :service_account_default }
17
+ | { scopes: ::Array[String], type: :restricted },
18
+ ?request_options: OpenAI::request_opts
19
+ ) -> OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRule
20
+
21
+ def retrieve: (
22
+ String workload_identity_federation_rule_id,
23
+ workload_identity_provider_id: String,
24
+ ?request_options: OpenAI::request_opts
25
+ ) -> OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRule
26
+
27
+ def update: (
28
+ String workload_identity_federation_rule_id,
29
+ workload_identity_provider_id: String,
30
+ ?attribute_matchers: ::Hash[Symbol, OpenAI::Models::Admin::Organization::WorkloadIdentityProviders::FederationRuleUpdateParams::attribute_matcher],
31
+ ?description: String?,
32
+ ?enabled: bool,
33
+ ?name: String?,
34
+ ?permissions: OpenAI::Models::Admin::Organization::WorkloadIdentityProviders::FederationRuleUpdateParams::permissions
35
+ | { type: :service_account_default }
36
+ | { scopes: ::Array[String], type: :restricted },
37
+ ?request_options: OpenAI::request_opts
38
+ ) -> OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRule
39
+
40
+ def list: (
41
+ String workload_identity_provider_id,
42
+ ?after: String,
43
+ ?limit: Integer,
44
+ ?order: OpenAI::Models::Admin::Organization::WorkloadIdentityProviders::FederationRuleListParams::order,
45
+ ?service_account_id: String,
46
+ ?request_options: OpenAI::request_opts
47
+ ) -> OpenAI::Internal::CursorPage[OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRule]
48
+
49
+ def delete: (
50
+ String workload_identity_federation_rule_id,
51
+ workload_identity_provider_id: String,
52
+ ?request_options: OpenAI::request_opts
53
+ ) -> OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRuleDeleted
54
+
55
+ def initialize: (client: OpenAI::Client) -> void
56
+ end
57
+ end
58
+ end
59
+ end
60
+ end
61
+ end
@@ -0,0 +1,58 @@
1
+ module OpenAI
2
+ module Resources
3
+ class Admin
4
+ class Organization
5
+ class WorkloadIdentityProviders
6
+ attr_reader federation_rules: OpenAI::Resources::Admin::Organization::WorkloadIdentityProviders::FederationRules
7
+
8
+ def create: (
9
+ audience: String,
10
+ issuer: String,
11
+ name: String,
12
+ ?attribute_transformations: ::Array[OpenAI::Admin::Organization::WorkloadIdentityProviderCreateParams::AttributeTransformation],
13
+ ?description: String,
14
+ ?enabled: bool,
15
+ ?verification: OpenAI::Models::Admin::Organization::WorkloadIdentityProviderCreateParams::verification
16
+ | { discovery_url: String?, type: :discovery }
17
+ | { jwks: ::Hash[Symbol, top], type: :uploaded_jwks },
18
+ ?type: :oidc,
19
+ ?request_options: OpenAI::request_opts
20
+ ) -> OpenAI::Admin::Organization::WorkloadIdentityProvider
21
+
22
+ def retrieve: (
23
+ String workload_identity_provider_id,
24
+ ?request_options: OpenAI::request_opts
25
+ ) -> OpenAI::Admin::Organization::WorkloadIdentityProvider
26
+
27
+ def update: (
28
+ String workload_identity_provider_id,
29
+ ?attribute_transformations: ::Array[OpenAI::Admin::Organization::WorkloadIdentityProviderUpdateParams::AttributeTransformation],
30
+ ?audience: String,
31
+ ?description: String?,
32
+ ?enabled: bool,
33
+ ?issuer: String,
34
+ ?name: String,
35
+ ?verification: OpenAI::Models::Admin::Organization::WorkloadIdentityProviderUpdateParams::verification
36
+ | { discovery_url: String?, type: :discovery }
37
+ | { jwks: ::Hash[Symbol, top], type: :uploaded_jwks },
38
+ ?request_options: OpenAI::request_opts
39
+ ) -> OpenAI::Admin::Organization::WorkloadIdentityProvider
40
+
41
+ def list: (
42
+ ?after: String,
43
+ ?limit: Integer,
44
+ ?order: OpenAI::Models::Admin::Organization::WorkloadIdentityProviderListParams::order,
45
+ ?request_options: OpenAI::request_opts
46
+ ) -> OpenAI::Internal::CursorPage[OpenAI::Admin::Organization::WorkloadIdentityProvider]
47
+
48
+ def delete: (
49
+ String workload_identity_provider_id,
50
+ ?request_options: OpenAI::request_opts
51
+ ) -> OpenAI::Admin::Organization::WorkloadIdentityProviderDeleted
52
+
53
+ def initialize: (client: OpenAI::Client) -> void
54
+ end
55
+ end
56
+ end
57
+ end
58
+ end
@@ -30,6 +30,8 @@ module OpenAI
30
30
 
31
31
  attr_reader projects: OpenAI::Resources::Admin::Organization::Projects
32
32
 
33
+ attr_reader workload_identity_providers: OpenAI::Resources::Admin::Organization::WorkloadIdentityProviders
34
+
33
35
  def initialize: (client: OpenAI::Client) -> void
34
36
  end
35
37
  end
@@ -7,7 +7,7 @@ module OpenAI
7
7
  model: OpenAI::Models::Audio::TranscriptionCreateParams::model,
8
8
  ?chunking_strategy: (OpenAI::Models::Audio::TranscriptionCreateParams::chunking_strategy
9
9
  | {
10
- type: :server_vad,
10
+ type: OpenAI::Models::Audio::TranscriptionCreateParams::ChunkingStrategy::VadConfig::type_,
11
11
  ?prefix_padding_ms: Integer,
12
12
  ?silence_duration_ms: Integer,
13
13
  ?threshold: Float
@@ -30,7 +30,7 @@ module OpenAI
30
30
  model: OpenAI::Models::Audio::TranscriptionCreateParams::model,
31
31
  ?chunking_strategy: (OpenAI::Models::Audio::TranscriptionCreateParams::chunking_strategy
32
32
  | {
33
- type: :server_vad,
33
+ type: OpenAI::Models::Audio::TranscriptionCreateParams::ChunkingStrategy::VadConfig::type_,
34
34
  ?prefix_padding_ms: Integer,
35
35
  ?silence_duration_ms: Integer,
36
36
  ?threshold: Float