openai 0.116.0 → 0.118.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 (134) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +20 -0
  3. data/README.md +1 -1
  4. data/lib/openai/models/admin/organization/projects/project_optional_service_tier.rb +24 -0
  5. data/lib/openai/models/admin/organization/projects/project_service_tier_settings.rb +88 -0
  6. data/lib/openai/models/admin/organization/projects/service_tier_setting_retrieve_params.rb +29 -0
  7. data/lib/openai/models/admin/organization/projects/service_tier_setting_update_params.rb +92 -0
  8. data/lib/openai/models/admin/organization/workload_identity_provider.rb +158 -0
  9. data/lib/openai/models/admin/organization/workload_identity_provider_create_params.rb +143 -0
  10. data/lib/openai/models/admin/organization/workload_identity_provider_delete_params.rb +24 -0
  11. data/lib/openai/models/admin/organization/workload_identity_provider_deleted.rb +32 -0
  12. data/lib/openai/models/admin/organization/workload_identity_provider_list_params.rb +58 -0
  13. data/lib/openai/models/admin/organization/workload_identity_provider_retrieve_params.rb +24 -0
  14. data/lib/openai/models/admin/organization/workload_identity_provider_update_params.rb +143 -0
  15. data/lib/openai/models/admin/organization/workload_identity_providers/federation_rule.rb +161 -0
  16. data/lib/openai/models/admin/organization/workload_identity_providers/federation_rule_create_params.rb +144 -0
  17. data/lib/openai/models/admin/organization/workload_identity_providers/federation_rule_delete_params.rb +32 -0
  18. data/lib/openai/models/admin/organization/workload_identity_providers/federation_rule_deleted.rb +34 -0
  19. data/lib/openai/models/admin/organization/workload_identity_providers/federation_rule_list_params.rb +85 -0
  20. data/lib/openai/models/admin/organization/workload_identity_providers/federation_rule_retrieve_params.rb +32 -0
  21. data/lib/openai/models/admin/organization/workload_identity_providers/federation_rule_update_params.rb +134 -0
  22. data/lib/openai/models/beta/beta_response.rb +1 -0
  23. data/lib/openai/models/beta/beta_response_usage.rb +33 -1
  24. data/lib/openai/models/beta/beta_responses_client_event.rb +10 -9
  25. data/lib/openai/models/beta/chatkit/chat_session_workflow_param.rb +5 -3
  26. data/lib/openai/models/beta/chatkit_workflow.rb +5 -3
  27. data/lib/openai/models/beta/response_compact_params.rb +3 -3
  28. data/lib/openai/models/beta/response_create_params.rb +10 -9
  29. data/lib/openai/models/chat/completion_create_params.rb +3 -3
  30. data/lib/openai/models/responses/response.rb +1 -0
  31. data/lib/openai/models/responses/response_compact_params.rb +3 -3
  32. data/lib/openai/models/responses/response_create_params.rb +10 -9
  33. data/lib/openai/models/responses/response_usage.rb +33 -1
  34. data/lib/openai/models/responses/responses_client_event.rb +10 -9
  35. data/lib/openai/resources/admin/organization/projects/service_tier_settings.rb +77 -0
  36. data/lib/openai/resources/admin/organization/projects.rb +6 -0
  37. data/lib/openai/resources/admin/organization/workload_identity_providers/federation_rules.rb +198 -0
  38. data/lib/openai/resources/admin/organization/workload_identity_providers.rb +148 -0
  39. data/lib/openai/resources/admin/organization.rb +6 -0
  40. data/lib/openai/resources/beta/responses.rb +6 -6
  41. data/lib/openai/resources/chat/completions.rb +2 -2
  42. data/lib/openai/resources/responses.rb +3 -3
  43. data/lib/openai/version.rb +1 -1
  44. data/lib/openai.rb +21 -0
  45. data/rbi/openai/models/admin/organization/projects/project_optional_service_tier.rbi +45 -0
  46. data/rbi/openai/models/admin/organization/projects/project_service_tier_settings.rbi +143 -0
  47. data/rbi/openai/models/admin/organization/projects/service_tier_setting_retrieve_params.rbi +63 -0
  48. data/rbi/openai/models/admin/organization/projects/service_tier_setting_update_params.rbi +183 -0
  49. data/rbi/openai/models/admin/organization/workload_identity_provider.rbi +288 -0
  50. data/rbi/openai/models/admin/organization/workload_identity_provider_create_params.rbi +311 -0
  51. data/rbi/openai/models/admin/organization/workload_identity_provider_delete_params.rbi +57 -0
  52. data/rbi/openai/models/admin/organization/workload_identity_provider_deleted.rbi +64 -0
  53. data/rbi/openai/models/admin/organization/workload_identity_provider_list_params.rbi +111 -0
  54. data/rbi/openai/models/admin/organization/workload_identity_provider_retrieve_params.rbi +57 -0
  55. data/rbi/openai/models/admin/organization/workload_identity_provider_update_params.rbi +317 -0
  56. data/rbi/openai/models/admin/organization/workload_identity_providers/federation_rule.rbi +276 -0
  57. data/rbi/openai/models/admin/organization/workload_identity_providers/federation_rule_create_params.rbi +282 -0
  58. data/rbi/openai/models/admin/organization/workload_identity_providers/federation_rule_delete_params.rbi +72 -0
  59. data/rbi/openai/models/admin/organization/workload_identity_providers/federation_rule_deleted.rbi +68 -0
  60. data/rbi/openai/models/admin/organization/workload_identity_providers/federation_rule_list_params.rbi +153 -0
  61. data/rbi/openai/models/admin/organization/workload_identity_providers/federation_rule_retrieve_params.rbi +72 -0
  62. data/rbi/openai/models/admin/organization/workload_identity_providers/federation_rule_update_params.rbi +281 -0
  63. data/rbi/openai/models/beta/beta_response.rbi +1 -0
  64. data/rbi/openai/models/beta/beta_response_usage.rbi +66 -3
  65. data/rbi/openai/models/beta/beta_responses_client_event.rbi +13 -9
  66. data/rbi/openai/models/beta/chatkit/chat_session_workflow_param.rbi +1 -1
  67. data/rbi/openai/models/beta/chatkit_workflow.rbi +1 -1
  68. data/rbi/openai/models/beta/response_compact_params.rbi +3 -3
  69. data/rbi/openai/models/beta/response_create_params.rbi +10 -9
  70. data/rbi/openai/models/chat/completion_create_params.rbi +3 -3
  71. data/rbi/openai/models/responses/response.rbi +1 -0
  72. data/rbi/openai/models/responses/response_compact_params.rbi +3 -3
  73. data/rbi/openai/models/responses/response_create_params.rbi +10 -9
  74. data/rbi/openai/models/responses/response_usage.rbi +66 -3
  75. data/rbi/openai/models/responses/responses_client_event.rbi +13 -9
  76. data/rbi/openai/resources/admin/organization/projects/service_tier_settings.rbi +67 -0
  77. data/rbi/openai/resources/admin/organization/projects.rbi +3 -0
  78. data/rbi/openai/resources/admin/organization/workload_identity_providers/federation_rules.rbi +148 -0
  79. data/rbi/openai/resources/admin/organization/workload_identity_providers.rbi +123 -0
  80. data/rbi/openai/resources/admin/organization.rbi +3 -0
  81. data/rbi/openai/resources/beta/responses.rbi +6 -6
  82. data/rbi/openai/resources/chat/completions.rbi +2 -2
  83. data/rbi/openai/resources/responses.rbi +3 -3
  84. data/sig/openai/models/admin/organization/external_key_create_params.rbs +9 -9
  85. data/sig/openai/models/admin/organization/projects/project_optional_service_tier.rbs +23 -0
  86. data/sig/openai/models/admin/organization/projects/project_service_tier_settings.rbs +72 -0
  87. data/sig/openai/models/admin/organization/projects/service_tier_setting_retrieve_params.rbs +32 -0
  88. data/sig/openai/models/admin/organization/projects/service_tier_setting_update_params.rbs +91 -0
  89. data/sig/openai/models/admin/organization/workload_identity_provider.rbs +136 -0
  90. data/sig/openai/models/admin/organization/workload_identity_provider_create_params.rbs +140 -0
  91. data/sig/openai/models/admin/organization/workload_identity_provider_delete_params.rbs +30 -0
  92. data/sig/openai/models/admin/organization/workload_identity_provider_deleted.rbs +34 -0
  93. data/sig/openai/models/admin/organization/workload_identity_provider_list_params.rbs +59 -0
  94. data/sig/openai/models/admin/organization/workload_identity_provider_retrieve_params.rbs +30 -0
  95. data/sig/openai/models/admin/organization/workload_identity_provider_update_params.rbs +145 -0
  96. data/sig/openai/models/admin/organization/workload_identity_providers/federation_rule.rbs +124 -0
  97. data/sig/openai/models/admin/organization/workload_identity_providers/federation_rule_create_params.rbs +126 -0
  98. data/sig/openai/models/admin/organization/workload_identity_providers/federation_rule_delete_params.rbs +37 -0
  99. data/sig/openai/models/admin/organization/workload_identity_providers/federation_rule_deleted.rbs +36 -0
  100. data/sig/openai/models/admin/organization/workload_identity_providers/federation_rule_list_params.rbs +73 -0
  101. data/sig/openai/models/admin/organization/workload_identity_providers/federation_rule_retrieve_params.rbs +37 -0
  102. data/sig/openai/models/admin/organization/workload_identity_providers/federation_rule_update_params.rbs +123 -0
  103. data/sig/openai/models/audio/transcription_create_params.rbs +3 -3
  104. data/sig/openai/models/audio/voice_create_params.rbs +6 -6
  105. data/sig/openai/models/beta/assistant_create_params.rbs +14 -2
  106. data/sig/openai/models/beta/beta_response.rbs +2 -1
  107. data/sig/openai/models/beta/beta_response_usage.rbs +40 -3
  108. data/sig/openai/models/beta/beta_responses_client_event.rbs +11 -10
  109. data/sig/openai/models/beta/chatkit/chat_session_workflow_param.rbs +1 -1
  110. data/sig/openai/models/beta/chatkit_workflow.rbs +1 -1
  111. data/sig/openai/models/beta/response_compact_params.rbs +2 -2
  112. data/sig/openai/models/beta/response_create_params.rbs +11 -10
  113. data/sig/openai/models/beta/thread_create_and_run_params.rbs +14 -2
  114. data/sig/openai/models/beta/thread_create_params.rbs +14 -2
  115. data/sig/openai/models/chat/completion_create_params.rbs +3 -3
  116. data/sig/openai/models/decision_create_params.rbs +42 -0
  117. data/sig/openai/models/eval_create_params.rbs +29 -2
  118. data/sig/openai/models/evals/run_create_params.rbs +53 -2
  119. data/sig/openai/models/responses/response.rbs +2 -1
  120. data/sig/openai/models/responses/response_compact_params.rbs +2 -2
  121. data/sig/openai/models/responses/response_create_params.rbs +11 -10
  122. data/sig/openai/models/responses/response_usage.rbs +40 -3
  123. data/sig/openai/models/responses/responses_client_event.rbs +11 -10
  124. data/sig/openai/resources/admin/organization/external_keys.rbs +3 -3
  125. data/sig/openai/resources/admin/organization/projects/service_tier_settings.rbs +25 -0
  126. data/sig/openai/resources/admin/organization/projects.rbs +2 -0
  127. data/sig/openai/resources/admin/organization/workload_identity_providers/federation_rules.rbs +61 -0
  128. data/sig/openai/resources/admin/organization/workload_identity_providers.rbs +58 -0
  129. data/sig/openai/resources/admin/organization.rbs +2 -0
  130. data/sig/openai/resources/audio/transcriptions.rbs +2 -2
  131. data/sig/openai/resources/audio/voices.rbs +2 -2
  132. data/sig/openai/resources/decisions.rbs +14 -0
  133. data/sig/openai/resources/evals.rbs +8 -1
  134. metadata +64 -1
@@ -0,0 +1,153 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+
6
+ module Admin
7
+
8
+ module Organization
9
+
10
+ module WorkloadIdentityProviders
11
+
12
+ class FederationRuleListParams < OpenAI::Internal::Type::BaseModel
13
+
14
+ extend OpenAI::Internal::Type::RequestParameters::Converter
15
+ include OpenAI::Internal::Type::RequestParameters
16
+
17
+ OrHash = T.type_alias do
18
+ T.any(
19
+ OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRuleListParams,
20
+ OpenAI::Internal::AnyHash
21
+ )
22
+ end
23
+
24
+ sig { returns(String) }
25
+ attr_accessor :workload_identity_provider_id
26
+
27
+ sig { returns(T.nilable(String)) }
28
+ attr_reader :after
29
+
30
+ sig { params(after: String).void }
31
+ attr_writer :after
32
+
33
+ sig { returns(T.nilable(Integer)) }
34
+ attr_reader :limit
35
+
36
+ sig { params(limit: Integer).void }
37
+ attr_writer :limit
38
+
39
+ sig {
40
+ returns(
41
+ T.nilable(
42
+ OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRuleListParams::Order::OrSymbol
43
+ )
44
+ )
45
+ }
46
+ attr_reader :order
47
+
48
+ sig {
49
+ params(
50
+ order: OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRuleListParams::Order::OrSymbol
51
+ )
52
+ .void
53
+ }
54
+ attr_writer :order
55
+
56
+ sig { returns(T.nilable(String)) }
57
+ attr_reader :service_account_id
58
+
59
+ sig { params(service_account_id: String).void }
60
+ attr_writer :service_account_id
61
+
62
+ sig do
63
+ params(
64
+
65
+ workload_identity_provider_id: String,
66
+
67
+ after: String,
68
+
69
+ limit: Integer,
70
+
71
+ order: OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRuleListParams::Order::OrSymbol,
72
+
73
+ service_account_id: String,
74
+
75
+ request_options: OpenAI::RequestOptions::OrHash
76
+ )
77
+ .returns(T.attached_class)
78
+ end
79
+ def self.new(
80
+
81
+ workload_identity_provider_id:,
82
+
83
+ after: nil,
84
+
85
+ limit: nil,
86
+
87
+ order: nil,
88
+
89
+ service_account_id: nil,
90
+
91
+ request_options: {}
92
+ )
93
+ end
94
+
95
+ sig do
96
+ override.returns(
97
+ {
98
+ workload_identity_provider_id: String,
99
+ after: String,
100
+ limit: Integer,
101
+ order: OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRuleListParams::Order::OrSymbol,
102
+ service_account_id: String,
103
+ request_options: OpenAI::RequestOptions
104
+ }
105
+ )
106
+ end
107
+ def to_hash
108
+ end
109
+
110
+ module Order
111
+ extend OpenAI::Internal::Type::Union
112
+
113
+ Variants = T.type_alias {
114
+ OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRuleListParams::Order::TaggedSymbol
115
+ }
116
+
117
+ sig {
118
+ override.returns(
119
+ T::Array[
120
+ OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRuleListParams::Order::Variants
121
+ ]
122
+ )
123
+ }
124
+ def self.variants
125
+ end
126
+
127
+ TaggedSymbol = T.type_alias do
128
+ T.all(Symbol, OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRuleListParams::Order)
129
+ end
130
+
131
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
132
+
133
+ ASC = T.let(
134
+ :asc,
135
+ OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRuleListParams::Order::TaggedSymbol
136
+ )
137
+ DESC = T.let(
138
+ :desc,
139
+ OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRuleListParams::Order::TaggedSymbol
140
+ )
141
+
142
+ end
143
+
144
+ end
145
+
146
+ end
147
+
148
+ end
149
+
150
+ end
151
+
152
+ end
153
+ end
@@ -0,0 +1,72 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+
6
+ module Admin
7
+
8
+ module Organization
9
+
10
+ module WorkloadIdentityProviders
11
+
12
+ class FederationRuleRetrieveParams < OpenAI::Internal::Type::BaseModel
13
+
14
+ extend OpenAI::Internal::Type::RequestParameters::Converter
15
+ include OpenAI::Internal::Type::RequestParameters
16
+
17
+ OrHash = T.type_alias do
18
+ T.any(
19
+ OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRuleRetrieveParams,
20
+ OpenAI::Internal::AnyHash
21
+ )
22
+ end
23
+
24
+ sig { returns(String) }
25
+ attr_accessor :workload_identity_provider_id
26
+
27
+ sig { returns(String) }
28
+ attr_accessor :workload_identity_federation_rule_id
29
+
30
+ sig do
31
+ params(
32
+
33
+ workload_identity_provider_id: String,
34
+
35
+ workload_identity_federation_rule_id: String,
36
+
37
+ request_options: OpenAI::RequestOptions::OrHash
38
+ )
39
+ .returns(T.attached_class)
40
+ end
41
+ def self.new(
42
+
43
+ workload_identity_provider_id:,
44
+
45
+ workload_identity_federation_rule_id:,
46
+
47
+ request_options: {}
48
+ )
49
+ end
50
+
51
+ sig do
52
+ override.returns(
53
+ {
54
+ workload_identity_provider_id: String,
55
+ workload_identity_federation_rule_id: String,
56
+ request_options: OpenAI::RequestOptions
57
+ }
58
+ )
59
+ end
60
+ def to_hash
61
+ end
62
+
63
+ end
64
+
65
+ end
66
+
67
+ end
68
+
69
+ end
70
+
71
+ end
72
+ end
@@ -0,0 +1,281 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+
6
+ module Admin
7
+
8
+ module Organization
9
+
10
+ module WorkloadIdentityProviders
11
+
12
+ class FederationRuleUpdateParams < OpenAI::Internal::Type::BaseModel
13
+
14
+ extend OpenAI::Internal::Type::RequestParameters::Converter
15
+ include OpenAI::Internal::Type::RequestParameters
16
+
17
+ OrHash = T.type_alias do
18
+ T.any(
19
+ OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRuleUpdateParams,
20
+ OpenAI::Internal::AnyHash
21
+ )
22
+ end
23
+
24
+ sig { returns(String) }
25
+ attr_accessor :workload_identity_provider_id
26
+
27
+ sig { returns(String) }
28
+ attr_accessor :workload_identity_federation_rule_id
29
+
30
+ sig {
31
+ returns(
32
+ T.nilable(
33
+ T::Hash[
34
+ Symbol,
35
+ OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRuleUpdateParams::AttributeMatcher::Variants
36
+ ]
37
+ )
38
+ )
39
+ }
40
+ attr_reader :attribute_matchers
41
+
42
+ sig {
43
+ params(
44
+ attribute_matchers: T::Hash[
45
+ Symbol,
46
+ OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRuleUpdateParams::AttributeMatcher::Variants
47
+ ]
48
+ )
49
+ .void
50
+ }
51
+ attr_writer :attribute_matchers
52
+
53
+ sig { returns(T.nilable(String)) }
54
+ attr_accessor :description
55
+
56
+ sig { returns(T.nilable(T::Boolean)) }
57
+ attr_reader :enabled
58
+
59
+ sig { params(enabled: T::Boolean).void }
60
+ attr_writer :enabled
61
+
62
+ sig { returns(T.nilable(String)) }
63
+ attr_accessor :name
64
+
65
+ sig {
66
+ returns(
67
+ T.nilable(
68
+ T.any(
69
+ OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRuleUpdateParams::Permissions::DefaultPermissionsParam,
70
+ OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRuleUpdateParams::Permissions::RestrictedPermissionsParam
71
+ )
72
+ )
73
+ )
74
+ }
75
+ attr_reader :permissions
76
+
77
+ sig {
78
+ params(
79
+ permissions: T.any(
80
+ OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRuleUpdateParams::Permissions::DefaultPermissionsParam::OrHash,
81
+ OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRuleUpdateParams::Permissions::RestrictedPermissionsParam::OrHash
82
+ )
83
+ )
84
+ .void
85
+ }
86
+ attr_writer :permissions
87
+
88
+ sig do
89
+ params(
90
+
91
+ workload_identity_provider_id: String,
92
+
93
+ workload_identity_federation_rule_id: String,
94
+
95
+ attribute_matchers: T::Hash[
96
+ Symbol,
97
+ OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRuleUpdateParams::AttributeMatcher::Variants
98
+ ],
99
+
100
+ description: T.nilable(String),
101
+
102
+ enabled: T::Boolean,
103
+
104
+ name: T.nilable(String),
105
+
106
+ permissions: T.any(
107
+ OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRuleUpdateParams::Permissions::DefaultPermissionsParam::OrHash,
108
+ OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRuleUpdateParams::Permissions::RestrictedPermissionsParam::OrHash
109
+ ),
110
+
111
+ request_options: OpenAI::RequestOptions::OrHash
112
+ )
113
+ .returns(T.attached_class)
114
+ end
115
+ def self.new(
116
+
117
+ workload_identity_provider_id:,
118
+
119
+ workload_identity_federation_rule_id:,
120
+
121
+ attribute_matchers: nil,
122
+
123
+ description: nil,
124
+
125
+ enabled: nil,
126
+
127
+ name: nil,
128
+
129
+ permissions: nil,
130
+
131
+ request_options: {}
132
+ )
133
+ end
134
+
135
+ sig do
136
+ override.returns(
137
+ {
138
+ workload_identity_provider_id: String,
139
+ workload_identity_federation_rule_id: String,
140
+ attribute_matchers: T::Hash[
141
+ Symbol,
142
+ OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRuleUpdateParams::AttributeMatcher::Variants
143
+ ],
144
+ description: T.nilable(String),
145
+ enabled: T::Boolean,
146
+ name: T.nilable(String),
147
+ permissions: T.any(
148
+ OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRuleUpdateParams::Permissions::DefaultPermissionsParam,
149
+ OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRuleUpdateParams::Permissions::RestrictedPermissionsParam
150
+ ),
151
+ request_options: OpenAI::RequestOptions
152
+ }
153
+ )
154
+ end
155
+ def to_hash
156
+ end
157
+
158
+ module AttributeMatcher
159
+ extend OpenAI::Internal::Type::Union
160
+
161
+ Variants = T.type_alias { T.any(String, T::Boolean, Integer, Float) }
162
+
163
+ sig {
164
+ override.returns(
165
+ T::Array[
166
+ OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRuleUpdateParams::AttributeMatcher::Variants
167
+ ]
168
+ )
169
+ }
170
+ def self.variants
171
+ end
172
+
173
+ end
174
+
175
+ module Permissions
176
+ extend OpenAI::Internal::Type::Union
177
+
178
+ Variants = T.type_alias {
179
+ T.any(
180
+ OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRuleUpdateParams::Permissions::DefaultPermissionsParam,
181
+ OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRuleUpdateParams::Permissions::RestrictedPermissionsParam
182
+ )
183
+ }
184
+
185
+ class DefaultPermissionsParam < OpenAI::Internal::Type::BaseModel
186
+ OrHash = T.type_alias do
187
+ T.any(
188
+ OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRuleUpdateParams::Permissions::DefaultPermissionsParam,
189
+ OpenAI::Internal::AnyHash
190
+ )
191
+ end
192
+
193
+ sig { returns(Symbol) }
194
+ attr_accessor :type
195
+
196
+ sig do
197
+ params(
198
+
199
+ type: Symbol
200
+ )
201
+ .returns(T.attached_class)
202
+ end
203
+ def self.new(
204
+
205
+ type: :service_account_default
206
+ )
207
+ end
208
+
209
+ sig do
210
+ override.returns(
211
+ {type: Symbol}
212
+ )
213
+ end
214
+ def to_hash
215
+ end
216
+
217
+ end
218
+
219
+ class RestrictedPermissionsParam < OpenAI::Internal::Type::BaseModel
220
+ OrHash = T.type_alias do
221
+ T.any(
222
+ OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRuleUpdateParams::Permissions::RestrictedPermissionsParam,
223
+ OpenAI::Internal::AnyHash
224
+ )
225
+ end
226
+
227
+ sig { returns(T::Array[String]) }
228
+ attr_accessor :scopes
229
+
230
+ sig { returns(Symbol) }
231
+ attr_accessor :type
232
+
233
+ sig do
234
+ params(
235
+
236
+ scopes: T::Array[String],
237
+
238
+ type: Symbol
239
+ )
240
+ .returns(T.attached_class)
241
+ end
242
+ def self.new(
243
+
244
+ scopes:,
245
+
246
+ type: :restricted
247
+ )
248
+ end
249
+
250
+ sig do
251
+ override.returns(
252
+ {scopes: T::Array[String], type: Symbol}
253
+ )
254
+ end
255
+ def to_hash
256
+ end
257
+
258
+ end
259
+
260
+ sig {
261
+ override.returns(
262
+ T::Array[
263
+ OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRuleUpdateParams::Permissions::Variants
264
+ ]
265
+ )
266
+ }
267
+ def self.variants
268
+ end
269
+
270
+ end
271
+
272
+ end
273
+
274
+ end
275
+
276
+ end
277
+
278
+ end
279
+
280
+ end
281
+ end
@@ -2027,6 +2027,7 @@ module OpenAI
2027
2027
  OrSymbol = T.type_alias { T.any(Symbol, String) }
2028
2028
 
2029
2029
  TTL_30M = T.let(:"30m", OpenAI::Beta::BetaResponse::PromptCacheOptions::Ttl::TaggedSymbol)
2030
+ TTL_12H = T.let(:"12h", OpenAI::Beta::BetaResponse::PromptCacheOptions::Ttl::TaggedSymbol)
2030
2031
 
2031
2032
  sig { override.returns(T::Array[OpenAI::Beta::BetaResponse::PromptCacheOptions::Ttl::TaggedSymbol]) }
2032
2033
  def self.values
@@ -110,13 +110,26 @@ module OpenAI
110
110
  sig { returns(Integer) }
111
111
  attr_accessor :cached_tokens
112
112
 
113
+ sig { returns(T.nilable(OpenAI::Beta::BetaResponseUsage::InputTokensDetails::CacheWriteTokensDetails)) }
114
+ attr_reader :cache_write_tokens_details
115
+
116
+ sig {
117
+ params(
118
+ cache_write_tokens_details: OpenAI::Beta::BetaResponseUsage::InputTokensDetails::CacheWriteTokensDetails::OrHash
119
+ )
120
+ .void
121
+ }
122
+ attr_writer :cache_write_tokens_details
123
+
113
124
  # A detailed breakdown of the input tokens.
114
125
  sig do
115
126
  params(
116
127
 
117
128
  cache_write_tokens: Integer,
118
129
 
119
- cached_tokens: Integer
130
+ cached_tokens: Integer,
131
+
132
+ cache_write_tokens_details: OpenAI::Beta::BetaResponseUsage::InputTokensDetails::CacheWriteTokensDetails::OrHash
120
133
  )
121
134
  .returns(T.attached_class)
122
135
  end
@@ -127,19 +140,69 @@ module OpenAI
127
140
 
128
141
  # The number of tokens that were retrieved from the cache.
129
142
  # [More on prompt caching](https://developers.openai.com/api/docs/guides/prompt-caching).
143
+ cached_tokens:,
130
144
 
131
- cached_tokens:
145
+ cache_write_tokens_details: nil
132
146
  )
133
147
  end
134
148
 
135
149
  sig do
136
150
  override.returns(
137
- {cache_write_tokens: Integer, cached_tokens: Integer}
151
+ {
152
+ cache_write_tokens: Integer,
153
+ cached_tokens: Integer,
154
+ cache_write_tokens_details: OpenAI::Beta::BetaResponseUsage::InputTokensDetails::CacheWriteTokensDetails
155
+ }
138
156
  )
139
157
  end
140
158
  def to_hash
141
159
  end
142
160
 
161
+ class CacheWriteTokensDetails < OpenAI::Internal::Type::BaseModel
162
+ OrHash = T.type_alias do
163
+ T.any(
164
+ OpenAI::Beta::BetaResponseUsage::InputTokensDetails::CacheWriteTokensDetails,
165
+ OpenAI::Internal::AnyHash
166
+ )
167
+ end
168
+
169
+ # The number of input tokens written with 12-hour retention.
170
+ sig { returns(Integer) }
171
+ attr_accessor :ttl_12h_tokens
172
+
173
+ # The number of input tokens written with 30-minute retention.
174
+ sig { returns(Integer) }
175
+ attr_accessor :ttl_30m_tokens
176
+
177
+ sig do
178
+ params(
179
+
180
+ ttl_12h_tokens: Integer,
181
+
182
+ ttl_30m_tokens: Integer
183
+ )
184
+ .returns(T.attached_class)
185
+ end
186
+ def self.new(
187
+
188
+ # The number of input tokens written with 12-hour retention.
189
+ ttl_12h_tokens:,
190
+
191
+ # The number of input tokens written with 30-minute retention.
192
+
193
+ ttl_30m_tokens:
194
+ )
195
+ end
196
+
197
+ sig do
198
+ override.returns(
199
+ {ttl_12h_tokens: Integer, ttl_30m_tokens: Integer}
200
+ )
201
+ end
202
+ def to_hash
203
+ end
204
+
205
+ end
143
206
  end
144
207
 
145
208
  class OutputTokensDetails < OpenAI::Internal::Type::BaseModel
@@ -199,7 +199,7 @@ module OpenAI
199
199
  # request can write up to four breakpoints. For cache matching, OpenAI considers
200
200
  # up to the latest 80 breakpoints in the conversation, without a content-block
201
201
  # lookback limit. Set `mode` to `explicit` to disable the implicit breakpoint. The
202
- # `ttl` defaults to `30m`, which is currently the only supported value. See the
202
+ # `ttl` defaults to `30m`. Supported lifetimes depend on the API. See the
203
203
  # [prompt caching guide](https://developers.openai.com/api/docs/guides/prompt-caching)
204
204
  # for current details.
205
205
  sig { returns(T.nilable(OpenAI::Beta::BetaResponsesClientEvent::ResponseCreate::PromptCacheOptions)) }
@@ -726,7 +726,7 @@ module OpenAI
726
726
  # request can write up to four breakpoints. For cache matching, OpenAI considers
727
727
  # up to the latest 80 breakpoints in the conversation, without a content-block
728
728
  # lookback limit. Set `mode` to `explicit` to disable the implicit breakpoint. The
729
- # `ttl` defaults to `30m`, which is currently the only supported value. See the
729
+ # `ttl` defaults to `30m`. Supported lifetimes depend on the API. See the
730
730
  # [prompt caching guide](https://developers.openai.com/api/docs/guides/prompt-caching)
731
731
  # for current details.
732
732
  prompt_cache_options: nil,
@@ -1956,8 +1956,8 @@ module OpenAI
1956
1956
  attr_writer :prewarm
1957
1957
 
1958
1958
  # The minimum lifetime applied to every implicit and explicit cache breakpoint
1959
- # written by the request. Defaults to `30m`, which is currently the only supported
1960
- # value. The backend may retain cache entries for longer.
1959
+ # written by the request. Supported values are `30m` (the default) and `12h`. The
1960
+ # backend may retain cache entries for longer.
1961
1961
  sig {
1962
1962
  returns(
1963
1963
  T.nilable(OpenAI::Beta::BetaResponsesClientEvent::ResponseCreate::PromptCacheOptions::Ttl::OrSymbol)
@@ -1977,7 +1977,7 @@ module OpenAI
1977
1977
  # request can write up to four breakpoints. For cache matching, OpenAI considers
1978
1978
  # up to the latest 80 breakpoints in the conversation, without a content-block
1979
1979
  # lookback limit. Set `mode` to `explicit` to disable the implicit breakpoint. The
1980
- # `ttl` defaults to `30m`, which is currently the only supported value. See the
1980
+ # `ttl` defaults to `30m`. Supported lifetimes depend on the API. See the
1981
1981
  # [prompt caching guide](https://developers.openai.com/api/docs/guides/prompt-caching)
1982
1982
  # for current details.
1983
1983
  sig do
@@ -2012,8 +2012,8 @@ module OpenAI
2012
2012
  prewarm: nil,
2013
2013
 
2014
2014
  # The minimum lifetime applied to every implicit and explicit cache breakpoint
2015
- # written by the request. Defaults to `30m`, which is currently the only supported
2016
- # value. The backend may retain cache entries for longer.
2015
+ # written by the request. Supported values are `30m` (the default) and `12h`. The
2016
+ # backend may retain cache entries for longer.
2017
2017
 
2018
2018
  ttl: nil
2019
2019
  )
@@ -2071,8 +2071,8 @@ module OpenAI
2071
2071
  end
2072
2072
 
2073
2073
  # The minimum lifetime applied to every implicit and explicit cache breakpoint
2074
- # written by the request. Defaults to `30m`, which is currently the only supported
2075
- # value. The backend may retain cache entries for longer.
2074
+ # written by the request. Supported values are `30m` (the default) and `12h`. The
2075
+ # backend may retain cache entries for longer.
2076
2076
  module Ttl
2077
2077
  extend OpenAI::Internal::Type::Enum
2078
2078
 
@@ -2085,6 +2085,10 @@ module OpenAI
2085
2085
  :"30m",
2086
2086
  OpenAI::Beta::BetaResponsesClientEvent::ResponseCreate::PromptCacheOptions::Ttl::TaggedSymbol
2087
2087
  )
2088
+ TTL_12H = T.let(
2089
+ :"12h",
2090
+ OpenAI::Beta::BetaResponsesClientEvent::ResponseCreate::PromptCacheOptions::Ttl::TaggedSymbol
2091
+ )
2088
2092
 
2089
2093
  sig {
2090
2094
  override.returns(
@@ -104,7 +104,7 @@ module OpenAI
104
104
  module StateVariable
105
105
  extend OpenAI::Internal::Type::Union
106
106
 
107
- Variants = T.type_alias { T.any(String, T::Boolean, Float) }
107
+ Variants = T.type_alias { T.any(String, Integer, T::Boolean, Float) }
108
108
 
109
109
  sig {
110
110
  override.returns(T::Array[OpenAI::Beta::ChatKit::ChatSessionWorkflowParam::StateVariable::Variants])