Skip to content

Commit 30684f8

Browse files
chore: sdk internal updates (#9)
1 parent 2a170e6 commit 30684f8

File tree

9 files changed

+11
-67
lines changed

9 files changed

+11
-67
lines changed

lib/openai/util.rb

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -557,7 +557,7 @@ class << self
557557
def encode_content(headers, body)
558558
content_type = headers["content-type"]
559559
case [content_type, body]
560-
in ["application/json", Hash | Array]
560+
in [%r{^application/(?:vnd\.api\+)?json}, Hash | Array]
561561
[headers, JSON.fast_generate(body)]
562562
in [%r{^multipart/form-data}, Hash | IO | StringIO]
563563
boundary, strio = encode_multipart_streaming(body)
@@ -593,7 +593,10 @@ def decode_content(headers, stream:, suppress_error: false)
593593
lines = decode_lines(stream)
594594
decode_sse(lines)
595595
in %r{^application/(?:x-)?jsonl}
596-
decode_lines(stream)
596+
lines = decode_lines(stream)
597+
chain_fused(lines) do |y|
598+
lines.each { y << JSON.parse(_1, symbolize_names: true) }
599+
end
597600
in %r{^text/}
598601
stream.to_a.join
599602
else

rbi/lib/openai/cursor_page.rbi

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -21,17 +21,5 @@ module OpenAI
2121
sig { params(_: T::Boolean).returns(T::Boolean) }
2222
def has_more=(_)
2323
end
24-
25-
sig do
26-
params(
27-
client: OpenAI::BaseClient,
28-
req: OpenAI::BaseClient::RequestComponentsShape,
29-
headers: T.any(T::Hash[String, String], Net::HTTPHeader),
30-
page_data: T::Hash[Symbol, T.anything]
31-
)
32-
.returns(T.attached_class)
33-
end
34-
def self.new(client:, req:, headers:, page_data:)
35-
end
3624
end
3725
end

rbi/lib/openai/page.rbi

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -21,17 +21,5 @@ module OpenAI
2121
sig { params(_: String).returns(String) }
2222
def object=(_)
2323
end
24-
25-
sig do
26-
params(
27-
client: OpenAI::BaseClient,
28-
req: OpenAI::BaseClient::RequestComponentsShape,
29-
headers: T.any(T::Hash[String, String], Net::HTTPHeader),
30-
page_data: T::Array[T.anything]
31-
)
32-
.returns(T.attached_class)
33-
end
34-
def self.new(client:, req:, headers:, page_data:)
35-
end
3624
end
3725
end

rbi/lib/openai/stream.rbi

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,24 +4,11 @@ module OpenAI
44
class Stream
55
include OpenAI::BaseStream
66

7-
Message = type_member(:in) { {fixed: OpenAI::Util::SSEMessage} }
7+
Message = type_member(:in) { {fixed: OpenAI::Util::ServerSentEvent} }
88
Elem = type_member(:out)
99

1010
sig { override.returns(T::Enumerable[Elem]) }
1111
private def iterator
1212
end
13-
14-
sig do
15-
params(
16-
model: T.any(T::Class[T.anything], OpenAI::Converter),
17-
url: URI::Generic,
18-
status: Integer,
19-
response: Net::HTTPResponse,
20-
messages: T::Enumerable[OpenAI::Util::SSEMessage]
21-
)
22-
.returns(T.attached_class)
23-
end
24-
def self.new(model:, url:, status:, response:, messages:)
25-
end
2613
end
2714
end

rbi/lib/openai/util.rbi

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@ module OpenAI
205205
end
206206
end
207207

208-
SSEMessage = T.type_alias do
208+
ServerSentEvent = T.type_alias do
209209
{event: T.nilable(String), data: T.nilable(String), id: T.nilable(String), retry: T.nilable(Integer)}
210210
end
211211

@@ -214,7 +214,7 @@ module OpenAI
214214
def decode_lines(enum)
215215
end
216216

217-
sig { params(lines: T::Enumerable[String]).returns(OpenAI::Util::SSEMessage) }
217+
sig { params(lines: T::Enumerable[String]).returns(OpenAI::Util::ServerSentEvent) }
218218
def decode_sse(lines)
219219
end
220220
end

sig/openai/cursor_page.rbs

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,5 @@ module OpenAI
55
attr_accessor data: ::Array[Elem]
66

77
attr_accessor has_more: bool
8-
9-
def initialize: (
10-
client: OpenAI::BaseClient,
11-
req: OpenAI::BaseClient::request_components,
12-
headers: ::Hash[String, String],
13-
page_data: ::Hash[Symbol, top]
14-
) -> void
158
end
169
end

sig/openai/page.rbs

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,5 @@ module OpenAI
55
attr_accessor data: ::Array[Elem]
66

77
attr_accessor object: String
8-
9-
def initialize: (
10-
client: OpenAI::BaseClient,
11-
req: OpenAI::BaseClient::request_components,
12-
headers: ::Hash[String, String],
13-
page_data: ::Array[top]
14-
) -> void
158
end
169
end

sig/openai/stream.rbs

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,7 @@
11
module OpenAI
22
class Stream[Elem]
3-
include OpenAI::BaseStream[OpenAI::Util::sse_message, Elem]
3+
include OpenAI::BaseStream[OpenAI::Util::server_sent_event, Elem]
44

55
private def iterator: -> Enumerable[Elem]
6-
7-
def initialize: (
8-
model: Class | OpenAI::Converter,
9-
url: URI::Generic,
10-
status: Integer,
11-
response: top,
12-
messages: Enumerable[OpenAI::Util::sse_message]
13-
) -> void
146
end
157
end

sig/openai/util.rbs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -120,13 +120,13 @@ module OpenAI
120120
(Enumerator::Yielder arg0) -> void
121121
} -> void
122122

123-
type sse_message =
123+
type server_sent_event =
124124
{ event: String?, data: String?, id: String?, retry: Integer? }
125125

126126
def self?.decode_lines: (Enumerable[String] enum) -> Enumerable[String]
127127

128128
def self?.decode_sse: (
129129
Enumerable[String] lines
130-
) -> OpenAI::Util::sse_message
130+
) -> OpenAI::Util::server_sent_event
131131
end
132132
end

0 commit comments

Comments
 (0)