openai 0.62.0 → 0.63.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +8 -0
- data/README.md +2 -5
- data/lib/openai/auth/workload_identity.rb +2 -2
- data/lib/openai/auth/workload_identity_auth.rb +4 -3
- data/lib/openai/models/responses/response_compact_params.rb +22 -1
- data/lib/openai/resources/responses.rb +3 -1
- data/lib/openai/version.rb +1 -1
- data/rbi/openai/auth.rbi +3 -3
- data/rbi/openai/models/responses/response_compact_params.rbi +65 -0
- data/rbi/openai/resources/responses.rbi +6 -0
- data/sig/openai/models/responses/response_compact_params.rbs +19 -1
- data/sig/openai/resources/responses.rbs +1 -0
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 203d9e376cc905b1f7e8ab54ea027ef0fa34f8805af1f5f5b3fd059ca2fd14ce
|
|
4
|
+
data.tar.gz: d8e36ae499dafbd17b0dedbfa936d56477d9fe1321f9f7be250131fb32a11166
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 99c9d82e00bd89dab3cad83c519d4d297ca7beff234305489701ae7a0378f2aa3c2966d8cb4badba04bc24ef64006816f472f837a5f2ddaacd5d397b17852013
|
|
7
|
+
data.tar.gz: 9b4f401e37a6fe5dd082226782cbef164b0fffae137f98f5c789157bcda5e78d8d82dcc1639ea495d3ce2225eb2251d44bb19a4b6a6aa2e3030175bcc8c373bb
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.63.0 (2026-05-13)
|
|
4
|
+
|
|
5
|
+
Full Changelog: [v0.62.0...v0.63.0](https://github.com/openai/openai-ruby/compare/v0.62.0...v0.63.0)
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
* **api:** add service_tier parameter to responses compact method ([b0ed0cb](https://github.com/openai/openai-ruby/commit/b0ed0cbce8afbf6a2d099dbfed4c4d734ac10d0d))
|
|
10
|
+
|
|
3
11
|
## 0.62.0 (2026-05-07)
|
|
4
12
|
|
|
5
13
|
Full Changelog: [v0.61.0...v0.62.0](https://github.com/openai/openai-ruby/compare/v0.61.0...v0.62.0)
|
data/README.md
CHANGED
|
@@ -15,7 +15,7 @@ To use this gem, install via Bundler by adding the following to your application
|
|
|
15
15
|
<!-- x-release-please-start-version -->
|
|
16
16
|
|
|
17
17
|
```ruby
|
|
18
|
-
gem "openai", "~> 0.
|
|
18
|
+
gem "openai", "~> 0.63.0"
|
|
19
19
|
```
|
|
20
20
|
|
|
21
21
|
<!-- x-release-please-end -->
|
|
@@ -111,6 +111,7 @@ Note that you can also pass a raw `IO` descriptor, but this disables retries, as
|
|
|
111
111
|
|
|
112
112
|
For secure, automated environments like cloud-managed Kubernetes, Azure, and GCP, you can use workload identity authentication with short-lived tokens from cloud identity providers instead of long-lived API keys.
|
|
113
113
|
|
|
114
|
+
`client_id` remains available as an optional parameter for token exchange setups that require an explicit OAuth client ID.
|
|
114
115
|
|
|
115
116
|
### Kubernetes Service Account
|
|
116
117
|
|
|
@@ -121,7 +122,6 @@ require "openai"
|
|
|
121
122
|
provider = OpenAI::Auth::SubjectTokenProviders::K8sServiceAccountTokenProvider.new
|
|
122
123
|
|
|
123
124
|
workload_identity = OpenAI::Auth::WorkloadIdentity.new(
|
|
124
|
-
client_id: ENV["OAUTH_CLIENT_ID"], # This is the default and can be omitted
|
|
125
125
|
identity_provider_id: ENV["IDENTITY_PROVIDER_ID"], # This is the default and can be omitted
|
|
126
126
|
service_account_id: ENV["SERVICE_ACCOUNT_ID"], # This is the default and can be omitted
|
|
127
127
|
provider: provider
|
|
@@ -143,7 +143,6 @@ response = client.chat.completions.create(
|
|
|
143
143
|
provider = OpenAI::Auth::SubjectTokenProviders::AzureManagedIdentityTokenProvider.new
|
|
144
144
|
|
|
145
145
|
workload_identity = OpenAI::Auth::WorkloadIdentity.new(
|
|
146
|
-
client_id: ENV["OAUTH_CLIENT_ID"], # This is the default and can be omitted
|
|
147
146
|
identity_provider_id: ENV["IDENTITY_PROVIDER_ID"], # This is the default and can be omitted
|
|
148
147
|
service_account_id: ENV["SERVICE_ACCOUNT_ID"], # This is the default and can be omitted
|
|
149
148
|
provider: provider
|
|
@@ -160,7 +159,6 @@ client = OpenAI::Client.new(
|
|
|
160
159
|
provider = OpenAI::Auth::SubjectTokenProviders::GCPIDTokenProvider.new
|
|
161
160
|
|
|
162
161
|
workload_identity = OpenAI::Auth::WorkloadIdentity.new(
|
|
163
|
-
client_id: ENV["OAUTH_CLIENT_ID"], # This is the default and can be omitted
|
|
164
162
|
identity_provider_id: ENV["IDENTITY_PROVIDER_ID"], # This is the default and can be omitted
|
|
165
163
|
service_account_id: ENV["SERVICE_ACCOUNT_ID"], # This is the default and can be omitted
|
|
166
164
|
provider: provider
|
|
@@ -191,7 +189,6 @@ end
|
|
|
191
189
|
provider = CustomProvider.new
|
|
192
190
|
|
|
193
191
|
workload_identity = OpenAI::Auth::WorkloadIdentity.new(
|
|
194
|
-
client_id: ENV["OAUTH_CLIENT_ID"], # This is the default and can be omitted
|
|
195
192
|
identity_provider_id: ENV["IDENTITY_PROVIDER_ID"], # This is the default and can be omitted
|
|
196
193
|
service_account_id: ENV["SERVICE_ACCOUNT_ID"], # This is the default and can be omitted
|
|
197
194
|
provider: provider
|
|
@@ -6,13 +6,13 @@ module OpenAI
|
|
|
6
6
|
attr_reader :client_id, :identity_provider_id, :service_account_id, :provider, :refresh_buffer_seconds
|
|
7
7
|
|
|
8
8
|
def initialize(
|
|
9
|
-
client_id:,
|
|
10
9
|
identity_provider_id:,
|
|
11
10
|
service_account_id:,
|
|
12
11
|
provider:,
|
|
12
|
+
client_id: nil,
|
|
13
13
|
refresh_buffer_seconds: 1200
|
|
14
14
|
)
|
|
15
|
-
@client_id = client_id
|
|
15
|
+
@client_id = client_id&.to_s
|
|
16
16
|
@identity_provider_id = identity_provider_id.to_s
|
|
17
17
|
@service_account_id = service_account_id.to_s
|
|
18
18
|
@provider = provider
|
|
@@ -92,14 +92,15 @@ module OpenAI
|
|
|
92
92
|
|
|
93
93
|
request = Net::HTTP::Post.new(@token_exchange_url)
|
|
94
94
|
request["Content-Type"] = "application/json"
|
|
95
|
-
|
|
95
|
+
body = {
|
|
96
96
|
grant_type: TOKEN_EXCHANGE_GRANT_TYPE,
|
|
97
|
-
client_id: @config.client_id,
|
|
98
97
|
subject_token: subject_token,
|
|
99
98
|
subject_token_type: subject_token_type,
|
|
100
99
|
identity_provider_id: @config.identity_provider_id,
|
|
101
100
|
service_account_id: @config.service_account_id
|
|
102
|
-
|
|
101
|
+
}
|
|
102
|
+
body[:client_id] = @config.client_id unless @config.client_id.nil?
|
|
103
|
+
request.body = JSON.generate(body)
|
|
103
104
|
|
|
104
105
|
response = Net::HTTP.start(
|
|
105
106
|
@token_exchange_url.hostname,
|
|
@@ -56,7 +56,13 @@ module OpenAI
|
|
|
56
56
|
enum: -> { OpenAI::Responses::ResponseCompactParams::PromptCacheRetention },
|
|
57
57
|
nil?: true
|
|
58
58
|
|
|
59
|
-
# @!
|
|
59
|
+
# @!attribute service_tier
|
|
60
|
+
# The service tier to use for this request.
|
|
61
|
+
#
|
|
62
|
+
# @return [Symbol, OpenAI::Models::Responses::ResponseCompactParams::ServiceTier, nil]
|
|
63
|
+
optional :service_tier, enum: -> { OpenAI::Responses::ResponseCompactParams::ServiceTier }, nil?: true
|
|
64
|
+
|
|
65
|
+
# @!method initialize(model:, input: nil, instructions: nil, previous_response_id: nil, prompt_cache_key: nil, prompt_cache_retention: nil, service_tier: nil, request_options: {})
|
|
60
66
|
# Some parameter documentations has been truncated, see
|
|
61
67
|
# {OpenAI::Models::Responses::ResponseCompactParams} for more details.
|
|
62
68
|
#
|
|
@@ -72,6 +78,8 @@ module OpenAI
|
|
|
72
78
|
#
|
|
73
79
|
# @param prompt_cache_retention [Symbol, OpenAI::Models::Responses::ResponseCompactParams::PromptCacheRetention, nil] How long to retain a prompt cache entry created by this request.
|
|
74
80
|
#
|
|
81
|
+
# @param service_tier [Symbol, OpenAI::Models::Responses::ResponseCompactParams::ServiceTier, nil] The service tier to use for this request.
|
|
82
|
+
#
|
|
75
83
|
# @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}]
|
|
76
84
|
|
|
77
85
|
# Model ID used to generate the response, like `gpt-5` or `o3`. OpenAI offers a
|
|
@@ -401,6 +409,19 @@ module OpenAI
|
|
|
401
409
|
# @!method self.values
|
|
402
410
|
# @return [Array<Symbol>]
|
|
403
411
|
end
|
|
412
|
+
|
|
413
|
+
# The service tier to use for this request.
|
|
414
|
+
module ServiceTier
|
|
415
|
+
extend OpenAI::Internal::Type::Enum
|
|
416
|
+
|
|
417
|
+
AUTO = :auto
|
|
418
|
+
DEFAULT = :default
|
|
419
|
+
FLEX = :flex
|
|
420
|
+
PRIORITY = :priority
|
|
421
|
+
|
|
422
|
+
# @!method self.values
|
|
423
|
+
# @return [Array<Symbol>]
|
|
424
|
+
end
|
|
404
425
|
end
|
|
405
426
|
end
|
|
406
427
|
end
|
|
@@ -483,7 +483,7 @@ module OpenAI
|
|
|
483
483
|
# For ZDR-compatible compaction details, see
|
|
484
484
|
# [Compaction (advanced)](https://platform.openai.com/docs/guides/conversation-state#compaction-advanced).
|
|
485
485
|
#
|
|
486
|
-
# @overload compact(model:, input: nil, instructions: nil, previous_response_id: nil, prompt_cache_key: nil, prompt_cache_retention: nil, request_options: {})
|
|
486
|
+
# @overload compact(model:, input: nil, instructions: nil, previous_response_id: nil, prompt_cache_key: nil, prompt_cache_retention: nil, service_tier: nil, request_options: {})
|
|
487
487
|
#
|
|
488
488
|
# @param model [Symbol, String, OpenAI::Models::Responses::ResponseCompactParams::Model, nil] Model ID used to generate the response, like `gpt-5` or `o3`. OpenAI offers a wi
|
|
489
489
|
#
|
|
@@ -497,6 +497,8 @@ module OpenAI
|
|
|
497
497
|
#
|
|
498
498
|
# @param prompt_cache_retention [Symbol, OpenAI::Models::Responses::ResponseCompactParams::PromptCacheRetention, nil] How long to retain a prompt cache entry created by this request.
|
|
499
499
|
#
|
|
500
|
+
# @param service_tier [Symbol, OpenAI::Models::Responses::ResponseCompactParams::ServiceTier, nil] The service tier to use for this request.
|
|
501
|
+
#
|
|
500
502
|
# @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
501
503
|
#
|
|
502
504
|
# @return [OpenAI::Models::Responses::CompactedResponse]
|
data/lib/openai/version.rb
CHANGED
data/rbi/openai/auth.rbi
CHANGED
|
@@ -18,7 +18,7 @@ module OpenAI
|
|
|
18
18
|
end
|
|
19
19
|
|
|
20
20
|
class WorkloadIdentity
|
|
21
|
-
sig { returns(String) }
|
|
21
|
+
sig { returns(T.nilable(String)) }
|
|
22
22
|
attr_reader :client_id
|
|
23
23
|
|
|
24
24
|
sig { returns(String) }
|
|
@@ -35,18 +35,18 @@ module OpenAI
|
|
|
35
35
|
|
|
36
36
|
sig do
|
|
37
37
|
params(
|
|
38
|
-
client_id: T.any(String, Symbol),
|
|
39
38
|
identity_provider_id: T.any(String, Symbol),
|
|
40
39
|
service_account_id: T.any(String, Symbol),
|
|
41
40
|
provider: SubjectTokenProvider,
|
|
41
|
+
client_id: T.nilable(T.any(String, Symbol)),
|
|
42
42
|
refresh_buffer_seconds: Integer
|
|
43
43
|
).void
|
|
44
44
|
end
|
|
45
45
|
def initialize(
|
|
46
|
-
client_id:,
|
|
47
46
|
identity_provider_id:,
|
|
48
47
|
service_account_id:,
|
|
49
48
|
provider:,
|
|
49
|
+
client_id: nil,
|
|
50
50
|
refresh_buffer_seconds: 1200
|
|
51
51
|
)
|
|
52
52
|
end
|
|
@@ -68,6 +68,16 @@ module OpenAI
|
|
|
68
68
|
end
|
|
69
69
|
attr_accessor :prompt_cache_retention
|
|
70
70
|
|
|
71
|
+
# The service tier to use for this request.
|
|
72
|
+
sig do
|
|
73
|
+
returns(
|
|
74
|
+
T.nilable(
|
|
75
|
+
OpenAI::Responses::ResponseCompactParams::ServiceTier::OrSymbol
|
|
76
|
+
)
|
|
77
|
+
)
|
|
78
|
+
end
|
|
79
|
+
attr_accessor :service_tier
|
|
80
|
+
|
|
71
81
|
sig do
|
|
72
82
|
params(
|
|
73
83
|
model:
|
|
@@ -88,6 +98,10 @@ module OpenAI
|
|
|
88
98
|
T.nilable(
|
|
89
99
|
OpenAI::Responses::ResponseCompactParams::PromptCacheRetention::OrSymbol
|
|
90
100
|
),
|
|
101
|
+
service_tier:
|
|
102
|
+
T.nilable(
|
|
103
|
+
OpenAI::Responses::ResponseCompactParams::ServiceTier::OrSymbol
|
|
104
|
+
),
|
|
91
105
|
request_options: OpenAI::RequestOptions::OrHash
|
|
92
106
|
).returns(T.attached_class)
|
|
93
107
|
end
|
|
@@ -114,6 +128,8 @@ module OpenAI
|
|
|
114
128
|
prompt_cache_key: nil,
|
|
115
129
|
# How long to retain a prompt cache entry created by this request.
|
|
116
130
|
prompt_cache_retention: nil,
|
|
131
|
+
# The service tier to use for this request.
|
|
132
|
+
service_tier: nil,
|
|
117
133
|
request_options: {}
|
|
118
134
|
)
|
|
119
135
|
end
|
|
@@ -139,6 +155,10 @@ module OpenAI
|
|
|
139
155
|
T.nilable(
|
|
140
156
|
OpenAI::Responses::ResponseCompactParams::PromptCacheRetention::OrSymbol
|
|
141
157
|
),
|
|
158
|
+
service_tier:
|
|
159
|
+
T.nilable(
|
|
160
|
+
OpenAI::Responses::ResponseCompactParams::ServiceTier::OrSymbol
|
|
161
|
+
),
|
|
142
162
|
request_options: OpenAI::RequestOptions
|
|
143
163
|
}
|
|
144
164
|
)
|
|
@@ -705,6 +725,51 @@ module OpenAI
|
|
|
705
725
|
def self.values
|
|
706
726
|
end
|
|
707
727
|
end
|
|
728
|
+
|
|
729
|
+
# The service tier to use for this request.
|
|
730
|
+
module ServiceTier
|
|
731
|
+
extend OpenAI::Internal::Type::Enum
|
|
732
|
+
|
|
733
|
+
TaggedSymbol =
|
|
734
|
+
T.type_alias do
|
|
735
|
+
T.all(
|
|
736
|
+
Symbol,
|
|
737
|
+
OpenAI::Responses::ResponseCompactParams::ServiceTier
|
|
738
|
+
)
|
|
739
|
+
end
|
|
740
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
741
|
+
|
|
742
|
+
AUTO =
|
|
743
|
+
T.let(
|
|
744
|
+
:auto,
|
|
745
|
+
OpenAI::Responses::ResponseCompactParams::ServiceTier::TaggedSymbol
|
|
746
|
+
)
|
|
747
|
+
DEFAULT =
|
|
748
|
+
T.let(
|
|
749
|
+
:default,
|
|
750
|
+
OpenAI::Responses::ResponseCompactParams::ServiceTier::TaggedSymbol
|
|
751
|
+
)
|
|
752
|
+
FLEX =
|
|
753
|
+
T.let(
|
|
754
|
+
:flex,
|
|
755
|
+
OpenAI::Responses::ResponseCompactParams::ServiceTier::TaggedSymbol
|
|
756
|
+
)
|
|
757
|
+
PRIORITY =
|
|
758
|
+
T.let(
|
|
759
|
+
:priority,
|
|
760
|
+
OpenAI::Responses::ResponseCompactParams::ServiceTier::TaggedSymbol
|
|
761
|
+
)
|
|
762
|
+
|
|
763
|
+
sig do
|
|
764
|
+
override.returns(
|
|
765
|
+
T::Array[
|
|
766
|
+
OpenAI::Responses::ResponseCompactParams::ServiceTier::TaggedSymbol
|
|
767
|
+
]
|
|
768
|
+
)
|
|
769
|
+
end
|
|
770
|
+
def self.values
|
|
771
|
+
end
|
|
772
|
+
end
|
|
708
773
|
end
|
|
709
774
|
end
|
|
710
775
|
end
|
|
@@ -994,6 +994,10 @@ module OpenAI
|
|
|
994
994
|
T.nilable(
|
|
995
995
|
OpenAI::Responses::ResponseCompactParams::PromptCacheRetention::OrSymbol
|
|
996
996
|
),
|
|
997
|
+
service_tier:
|
|
998
|
+
T.nilable(
|
|
999
|
+
OpenAI::Responses::ResponseCompactParams::ServiceTier::OrSymbol
|
|
1000
|
+
),
|
|
997
1001
|
request_options: OpenAI::RequestOptions::OrHash
|
|
998
1002
|
).returns(OpenAI::Responses::CompactedResponse)
|
|
999
1003
|
end
|
|
@@ -1020,6 +1024,8 @@ module OpenAI
|
|
|
1020
1024
|
prompt_cache_key: nil,
|
|
1021
1025
|
# How long to retain a prompt cache entry created by this request.
|
|
1022
1026
|
prompt_cache_retention: nil,
|
|
1027
|
+
# The service tier to use for this request.
|
|
1028
|
+
service_tier: nil,
|
|
1023
1029
|
request_options: {}
|
|
1024
1030
|
)
|
|
1025
1031
|
end
|
|
@@ -8,7 +8,8 @@ module OpenAI
|
|
|
8
8
|
instructions: String?,
|
|
9
9
|
previous_response_id: String?,
|
|
10
10
|
prompt_cache_key: String?,
|
|
11
|
-
prompt_cache_retention: OpenAI::Models::Responses::ResponseCompactParams::prompt_cache_retention
|
|
11
|
+
prompt_cache_retention: OpenAI::Models::Responses::ResponseCompactParams::prompt_cache_retention?,
|
|
12
|
+
service_tier: OpenAI::Models::Responses::ResponseCompactParams::service_tier?
|
|
12
13
|
}
|
|
13
14
|
& OpenAI::Internal::Type::request_parameters
|
|
14
15
|
|
|
@@ -28,6 +29,8 @@ module OpenAI
|
|
|
28
29
|
|
|
29
30
|
attr_accessor prompt_cache_retention: OpenAI::Models::Responses::ResponseCompactParams::prompt_cache_retention?
|
|
30
31
|
|
|
32
|
+
attr_accessor service_tier: OpenAI::Models::Responses::ResponseCompactParams::service_tier?
|
|
33
|
+
|
|
31
34
|
def initialize: (
|
|
32
35
|
model: OpenAI::Models::Responses::ResponseCompactParams::model?,
|
|
33
36
|
?input: OpenAI::Models::Responses::ResponseCompactParams::input?,
|
|
@@ -35,6 +38,7 @@ module OpenAI
|
|
|
35
38
|
?previous_response_id: String?,
|
|
36
39
|
?prompt_cache_key: String?,
|
|
37
40
|
?prompt_cache_retention: OpenAI::Models::Responses::ResponseCompactParams::prompt_cache_retention?,
|
|
41
|
+
?service_tier: OpenAI::Models::Responses::ResponseCompactParams::service_tier?,
|
|
38
42
|
?request_options: OpenAI::request_opts
|
|
39
43
|
) -> void
|
|
40
44
|
|
|
@@ -45,6 +49,7 @@ module OpenAI
|
|
|
45
49
|
previous_response_id: String?,
|
|
46
50
|
prompt_cache_key: String?,
|
|
47
51
|
prompt_cache_retention: OpenAI::Models::Responses::ResponseCompactParams::prompt_cache_retention?,
|
|
52
|
+
service_tier: OpenAI::Models::Responses::ResponseCompactParams::service_tier?,
|
|
48
53
|
request_options: OpenAI::RequestOptions
|
|
49
54
|
}
|
|
50
55
|
|
|
@@ -263,6 +268,19 @@ module OpenAI
|
|
|
263
268
|
|
|
264
269
|
def self?.values: -> ::Array[OpenAI::Models::Responses::ResponseCompactParams::prompt_cache_retention]
|
|
265
270
|
end
|
|
271
|
+
|
|
272
|
+
type service_tier = :auto | :default | :flex | :priority
|
|
273
|
+
|
|
274
|
+
module ServiceTier
|
|
275
|
+
extend OpenAI::Internal::Type::Enum
|
|
276
|
+
|
|
277
|
+
AUTO: :auto
|
|
278
|
+
DEFAULT: :default
|
|
279
|
+
FLEX: :flex
|
|
280
|
+
PRIORITY: :priority
|
|
281
|
+
|
|
282
|
+
def self?.values: -> ::Array[OpenAI::Models::Responses::ResponseCompactParams::service_tier]
|
|
283
|
+
end
|
|
266
284
|
end
|
|
267
285
|
end
|
|
268
286
|
end
|
|
@@ -130,6 +130,7 @@ module OpenAI
|
|
|
130
130
|
?previous_response_id: String?,
|
|
131
131
|
?prompt_cache_key: String?,
|
|
132
132
|
?prompt_cache_retention: OpenAI::Models::Responses::ResponseCompactParams::prompt_cache_retention?,
|
|
133
|
+
?service_tier: OpenAI::Models::Responses::ResponseCompactParams::service_tier?,
|
|
133
134
|
?request_options: OpenAI::request_opts
|
|
134
135
|
) -> OpenAI::Responses::CompactedResponse
|
|
135
136
|
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: openai
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.63.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- OpenAI
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-05-
|
|
11
|
+
date: 2026-05-15 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: base64
|