openai 0.17.0 → 0.17.1
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 +9 -0
- data/README.md +1 -1
- data/lib/openai/internal/type/array_of.rb +1 -0
- data/lib/openai/internal/type/base_model.rb +3 -1
- data/lib/openai/internal/type/converter.rb +27 -0
- data/lib/openai/internal/type/hash_of.rb +1 -0
- data/lib/openai/internal/type/union.rb +9 -7
- data/lib/openai/version.rb +1 -1
- data/rbi/openai/internal/type/converter.rbi +46 -0
- data/rbi/openai/internal/type/union.rbi +7 -2
- data/sig/openai/internal/type/converter.rbs +17 -0
- data/sig/openai/internal/type/union.rbs +2 -2
- 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: f9090d21fb7dcdd5e12c607bbe02aa7c1e7336e02148fec0465b21cc43bb9d45
|
4
|
+
data.tar.gz: 61662c62cde77fefb5bec16ce51127efd60b4f71542d2bcf2c48f0225ecb29f9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: '08c00969160cc09128778848c99704501b192ca61ed7a845f5d9ead7a59eedd7762b5c0e3e941b4b016b2baa935200d59e8d480a55b82dbd5ebeeb58d94660a4'
|
7
|
+
data.tar.gz: 3386e4858cfe7ce20c46b10ac51f2cfa403f963bf0ef33e1eedb70f8eeb14076f539729700f442f65b6535bea30b8a9638e8c43bc79e6a7af56a8efaaf26f907
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,14 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## 0.17.1 (2025-08-09)
|
4
|
+
|
5
|
+
Full Changelog: [v0.17.0...v0.17.1](https://github.com/openai/openai-ruby/compare/v0.17.0...v0.17.1)
|
6
|
+
|
7
|
+
### Chores
|
8
|
+
|
9
|
+
* collect metadata from type DSL ([d63cb9e](https://github.com/openai/openai-ruby/commit/d63cb9eb8efc60d43bd17c96bb6dc1e3b4254b26))
|
10
|
+
* **internal:** update comment in script ([a08be47](https://github.com/openai/openai-ruby/commit/a08be4787dfc910a7c9cc06bc72f9c40b40250a4))
|
11
|
+
|
3
12
|
## 0.17.0 (2025-08-08)
|
4
13
|
|
5
14
|
Full Changelog: [v0.16.0...v0.17.0](https://github.com/openai/openai-ruby/compare/v0.16.0...v0.17.0)
|
data/README.md
CHANGED
@@ -148,6 +148,7 @@ module OpenAI
|
|
148
148
|
# @option spec [Boolean] :"nil?"
|
149
149
|
def initialize(type_info, spec = {})
|
150
150
|
@item_type_fn = OpenAI::Internal::Type::Converter.type_info(type_info || spec)
|
151
|
+
@meta = OpenAI::Internal::Type::Converter.meta_info(type_info, spec)
|
151
152
|
@nilable = spec.fetch(:nil?, false)
|
152
153
|
end
|
153
154
|
|
@@ -52,6 +52,7 @@ module OpenAI
|
|
52
52
|
#
|
53
53
|
# @option spec [Boolean] :"nil?"
|
54
54
|
private def add_field(name_sym, required:, type_info:, spec:)
|
55
|
+
meta = OpenAI::Internal::Type::Converter.meta_info(type_info, spec)
|
55
56
|
type_fn, info =
|
56
57
|
case type_info
|
57
58
|
in Proc | OpenAI::Internal::Type::Converter | Class
|
@@ -74,7 +75,8 @@ module OpenAI
|
|
74
75
|
required: required,
|
75
76
|
nilable: nilable,
|
76
77
|
const: const,
|
77
|
-
type_fn: type_fn
|
78
|
+
type_fn: type_fn,
|
79
|
+
meta: meta
|
78
80
|
}
|
79
81
|
|
80
82
|
define_method(setter) do |value|
|
@@ -98,6 +98,33 @@ module OpenAI
|
|
98
98
|
end
|
99
99
|
end
|
100
100
|
|
101
|
+
# @api private
|
102
|
+
#
|
103
|
+
# @param type_info [Hash{Symbol=>Object}, Proc, OpenAI::Internal::Type::Converter, Class] .
|
104
|
+
#
|
105
|
+
# @option type_info [NilClass, TrueClass, FalseClass, Integer, Float, Symbol] :const
|
106
|
+
#
|
107
|
+
# @option type_info [Proc] :enum
|
108
|
+
#
|
109
|
+
# @option type_info [Proc] :union
|
110
|
+
#
|
111
|
+
# @option type_info [Boolean] :"nil?"
|
112
|
+
#
|
113
|
+
# @param spec [Hash{Symbol=>Object}, Proc, OpenAI::Internal::Type::Converter, Class] .
|
114
|
+
#
|
115
|
+
# @option spec [NilClass, TrueClass, FalseClass, Integer, Float, Symbol] :const
|
116
|
+
#
|
117
|
+
# @option spec [Proc] :enum
|
118
|
+
#
|
119
|
+
# @option spec [Proc] :union
|
120
|
+
#
|
121
|
+
# @option spec [Boolean] :"nil?"
|
122
|
+
#
|
123
|
+
# @return [Hash{Symbol=>Object}]
|
124
|
+
def meta_info(type_info, spec)
|
125
|
+
[spec, type_info].grep(Hash).first.to_h.except(:const, :enum, :union, :nil?)
|
126
|
+
end
|
127
|
+
|
101
128
|
# @api private
|
102
129
|
#
|
103
130
|
# @param translate_names [Boolean]
|
@@ -168,6 +168,7 @@ module OpenAI
|
|
168
168
|
# @option spec [Boolean] :"nil?"
|
169
169
|
def initialize(type_info, spec = {})
|
170
170
|
@item_type_fn = OpenAI::Internal::Type::Converter.type_info(type_info || spec)
|
171
|
+
@meta = OpenAI::Internal::Type::Converter.meta_info(type_info, spec)
|
171
172
|
@nilable = spec.fetch(:nil?, false)
|
172
173
|
end
|
173
174
|
|
@@ -33,20 +33,20 @@ module OpenAI
|
|
33
33
|
#
|
34
34
|
# All of the specified variant info for this union.
|
35
35
|
#
|
36
|
-
# @return [Array<Array(Symbol, Proc)>]
|
36
|
+
# @return [Array<Array(Symbol, Proc, Hash{Symbol=>Object})>]
|
37
37
|
private def known_variants = (@known_variants ||= [])
|
38
38
|
|
39
39
|
# @api private
|
40
40
|
#
|
41
|
-
# @return [Array<Array(Symbol, Object)>]
|
41
|
+
# @return [Array<Array(Symbol, Object, Hash{Symbol=>Object})>]
|
42
42
|
protected def derefed_variants
|
43
|
-
known_variants.map { |key, variant_fn| [key, variant_fn.call] }
|
43
|
+
known_variants.map { |key, variant_fn, meta| [key, variant_fn.call, meta] }
|
44
44
|
end
|
45
45
|
|
46
46
|
# All of the specified variants for this union.
|
47
47
|
#
|
48
48
|
# @return [Array<Object>]
|
49
|
-
def variants = derefed_variants.map
|
49
|
+
def variants = derefed_variants.map { _2 }
|
50
50
|
|
51
51
|
# @api private
|
52
52
|
#
|
@@ -72,12 +72,13 @@ module OpenAI
|
|
72
72
|
#
|
73
73
|
# @option spec [Boolean] :"nil?"
|
74
74
|
private def variant(key, spec = nil)
|
75
|
+
meta = OpenAI::Internal::Type::Converter.meta_info(nil, spec)
|
75
76
|
variant_info =
|
76
77
|
case key
|
77
78
|
in Symbol
|
78
|
-
[key, OpenAI::Internal::Type::Converter.type_info(spec)]
|
79
|
+
[key, OpenAI::Internal::Type::Converter.type_info(spec), meta]
|
79
80
|
in Proc | OpenAI::Internal::Type::Converter | Class | Hash
|
80
|
-
[nil, OpenAI::Internal::Type::Converter.type_info(key)]
|
81
|
+
[nil, OpenAI::Internal::Type::Converter.type_info(key), meta]
|
81
82
|
end
|
82
83
|
|
83
84
|
known_variants << variant_info
|
@@ -100,7 +101,8 @@ module OpenAI
|
|
100
101
|
return nil if key == OpenAI::Internal::OMIT
|
101
102
|
|
102
103
|
key = key.to_sym if key.is_a?(String)
|
103
|
-
known_variants.find { |k,| k == key }
|
104
|
+
_, found = known_variants.find { |k,| k == key }
|
105
|
+
found&.call
|
104
106
|
else
|
105
107
|
nil
|
106
108
|
end
|
data/lib/openai/version.rb
CHANGED
@@ -86,6 +86,52 @@ module OpenAI
|
|
86
86
|
def self.type_info(spec)
|
87
87
|
end
|
88
88
|
|
89
|
+
# @api private
|
90
|
+
sig do
|
91
|
+
params(
|
92
|
+
type_info:
|
93
|
+
T.any(
|
94
|
+
{
|
95
|
+
const:
|
96
|
+
T.nilable(
|
97
|
+
T.any(NilClass, T::Boolean, Integer, Float, Symbol)
|
98
|
+
),
|
99
|
+
enum:
|
100
|
+
T.nilable(
|
101
|
+
T.proc.returns(OpenAI::Internal::Type::Converter::Input)
|
102
|
+
),
|
103
|
+
union:
|
104
|
+
T.nilable(
|
105
|
+
T.proc.returns(OpenAI::Internal::Type::Converter::Input)
|
106
|
+
)
|
107
|
+
},
|
108
|
+
T.proc.returns(OpenAI::Internal::Type::Converter::Input),
|
109
|
+
OpenAI::Internal::Type::Converter::Input
|
110
|
+
),
|
111
|
+
spec:
|
112
|
+
T.any(
|
113
|
+
{
|
114
|
+
const:
|
115
|
+
T.nilable(
|
116
|
+
T.any(NilClass, T::Boolean, Integer, Float, Symbol)
|
117
|
+
),
|
118
|
+
enum:
|
119
|
+
T.nilable(
|
120
|
+
T.proc.returns(OpenAI::Internal::Type::Converter::Input)
|
121
|
+
),
|
122
|
+
union:
|
123
|
+
T.nilable(
|
124
|
+
T.proc.returns(OpenAI::Internal::Type::Converter::Input)
|
125
|
+
)
|
126
|
+
},
|
127
|
+
T.proc.returns(OpenAI::Internal::Type::Converter::Input),
|
128
|
+
OpenAI::Internal::Type::Converter::Input
|
129
|
+
)
|
130
|
+
).returns(OpenAI::Internal::AnyHash)
|
131
|
+
end
|
132
|
+
def self.meta_info(type_info, spec)
|
133
|
+
end
|
134
|
+
|
89
135
|
# @api private
|
90
136
|
sig do
|
91
137
|
params(translate_names: T::Boolean).returns(
|
@@ -16,7 +16,8 @@ module OpenAI
|
|
16
16
|
T::Array[
|
17
17
|
[
|
18
18
|
T.nilable(Symbol),
|
19
|
-
T.proc.returns(OpenAI::Internal::Type::Converter::Input)
|
19
|
+
T.proc.returns(OpenAI::Internal::Type::Converter::Input),
|
20
|
+
OpenAI::Internal::AnyHash
|
20
21
|
]
|
21
22
|
]
|
22
23
|
)
|
@@ -25,7 +26,11 @@ module OpenAI
|
|
25
26
|
end
|
26
27
|
|
27
28
|
# @api private
|
28
|
-
sig
|
29
|
+
sig do
|
30
|
+
returns(
|
31
|
+
T::Array[[T.nilable(Symbol), T.anything, OpenAI::Internal::AnyHash]]
|
32
|
+
)
|
33
|
+
end
|
29
34
|
protected def derefed_variants
|
30
35
|
end
|
31
36
|
|
@@ -39,6 +39,23 @@ module OpenAI
|
|
39
39
|
| OpenAI::Internal::Type::Converter::input spec
|
40
40
|
) -> (^-> top)
|
41
41
|
|
42
|
+
def self.meta_info: (
|
43
|
+
{
|
44
|
+
const: (nil | bool | Integer | Float | Symbol)?,
|
45
|
+
enum: ^-> OpenAI::Internal::Type::Converter::input?,
|
46
|
+
union: ^-> OpenAI::Internal::Type::Converter::input?
|
47
|
+
}
|
48
|
+
| ^-> OpenAI::Internal::Type::Converter::input
|
49
|
+
| OpenAI::Internal::Type::Converter::input type_info,
|
50
|
+
{
|
51
|
+
const: (nil | bool | Integer | Float | Symbol)?,
|
52
|
+
enum: ^-> OpenAI::Internal::Type::Converter::input?,
|
53
|
+
union: ^-> OpenAI::Internal::Type::Converter::input?
|
54
|
+
}
|
55
|
+
| ^-> OpenAI::Internal::Type::Converter::input
|
56
|
+
| OpenAI::Internal::Type::Converter::input spec
|
57
|
+
) -> ::Hash[Symbol, top]
|
58
|
+
|
42
59
|
def self.new_coerce_state: (
|
43
60
|
?translate_names: bool
|
44
61
|
) -> OpenAI::Internal::Type::Converter::coerce_state
|
@@ -5,9 +5,9 @@ module OpenAI
|
|
5
5
|
include OpenAI::Internal::Type::Converter
|
6
6
|
include OpenAI::Internal::Util::SorbetRuntimeSupport
|
7
7
|
|
8
|
-
private def self.known_variants: -> ::Array[[Symbol?, (^-> OpenAI::Internal::Type::Converter::input)]]
|
8
|
+
private def self.known_variants: -> ::Array[[Symbol?, (^-> OpenAI::Internal::Type::Converter::input), ::Hash[Symbol, top]]]
|
9
9
|
|
10
|
-
def self.derefed_variants: -> ::Array[[Symbol?, top]]
|
10
|
+
def self.derefed_variants: -> ::Array[[Symbol?, top, ::Hash[Symbol, top]]]
|
11
11
|
|
12
12
|
def self.variants: -> ::Array[top]
|
13
13
|
|
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.17.
|
4
|
+
version: 0.17.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- OpenAI
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2025-08-
|
11
|
+
date: 2025-08-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: connection_pool
|