Skip to content

Commit 2dea19a

Browse files
Merge pull request #141 from openai/release-please--branches--main--changes--next
release: 0.1.0-beta.2
2 parents 968db1d + e4df001 commit 2dea19a

File tree

996 files changed

+34747
-8760
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

996 files changed

+34747
-8760
lines changed

.release-please-manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{
2-
".": "0.1.0-beta.1"
2+
".": "0.1.0-beta.2"
33
}

.stats.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
configured_endpoints: 99
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/openai%2Fopenai-161ca7f1cfd7b33c1fc07d0ce25dfe4be5a7271c394f4cb526b7fb21b0729900.yml
3-
openapi_spec_hash: 602e14add4bee018c6774e320ce309b8
4-
config_hash: bdacc55eb995c15255ec82130eb8c3bb
1+
configured_endpoints: 109
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/openai%2Fopenai-fc64d7c2c8f51f750813375356c3f3fdfc7fc1b1b34f19c20a5410279d445d37.yml
3+
openapi_spec_hash: 618285fc70199ee32b9ebe4bf72f7e4c
4+
config_hash: c497f6b750cc89c0bf2eefc0bc839c70

CHANGELOG.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,41 @@
11
# Changelog
22

3+
## 0.1.0-beta.2 (2025-05-22)
4+
5+
Full Changelog: [v0.1.0-beta.1...v0.1.0-beta.2](https://github.com/openai/openai-ruby/compare/v0.1.0-beta.1...v0.1.0-beta.2)
6+
7+
### Features
8+
9+
* **api:** add container endpoint ([8be52a2](https://github.com/openai/openai-ruby/commit/8be52a2bd618da97c79cb35ada46717965664a08))
10+
* **api:** further updates for evals API ([ae7a8b8](https://github.com/openai/openai-ruby/commit/ae7a8b8fc1611aa6f645c75f865d9ae6906d9a20))
11+
* **api:** new API tools ([9105b8b](https://github.com/openai/openai-ruby/commit/9105b8b80d2d381ed58b2b92ecfe644e7596c9a3))
12+
* **api:** new streaming helpers for background responses ([91a278e](https://github.com/openai/openai-ruby/commit/91a278e6ac4db19c66a89d5f610c22ad3c82a1f7))
13+
* **api:** Updating Assistants and Evals API schemas ([690b6a7](https://github.com/openai/openai-ruby/commit/690b6a78de30845f974695d0cc36a59a04adf65b))
14+
* RBI type defs for structured output ([#684](https://github.com/openai/openai-ruby/issues/684)) ([00b25bd](https://github.com/openai/openai-ruby/commit/00b25bdb3aa8a2999114389d699cc3dc59c4089e))
15+
16+
17+
### Bug Fixes
18+
19+
* correctly instantiate sorbet type aliases for enums and unions ([15a2b2b](https://github.com/openai/openai-ruby/commit/15a2b2bab52948f9dac83560dea419006589bd81))
20+
* structured output union decorations ([05b69d1](https://github.com/openai/openai-ruby/commit/05b69d1be85f813e1bddf04e4042665383c1be04))
21+
22+
23+
### Chores
24+
25+
* disable sorbet typecheck for WIP sorbet annotations in examples ([#678](https://github.com/openai/openai-ruby/issues/678)) ([a340356](https://github.com/openai/openai-ruby/commit/a3403566253a74a9f1c69a874568000eca1da656))
26+
* **docs:** grammar improvements ([c4ef024](https://github.com/openai/openai-ruby/commit/c4ef024f3513e1d64e55960b45660e50d9bf9039))
27+
* force utf-8 locale via `RUBYOPT` when formatting ([746abf4](https://github.com/openai/openai-ruby/commit/746abf447c01290ad3061ef77c54d3b5d781a6b7))
28+
* **internal:** version bump ([b35ea63](https://github.com/openai/openai-ruby/commit/b35ea63d9758c4e96dd665013be2edb78ebaa8e6))
29+
* refine Yard and Sorbet types and ensure linting is turned on for examples ([a16dd00](https://github.com/openai/openai-ruby/commit/a16dd00f99176184da0710a0fbce652718a3d067))
30+
* use fully qualified names for yard annotations and rbs aliases ([26db76d](https://github.com/openai/openai-ruby/commit/26db76de24d82ebb593997fab8fd8df43c5f2372))
31+
* use sorbet union aliases where available ([600f499](https://github.com/openai/openai-ruby/commit/600f499dcf61b4d3c3a8cf092ff18cb712711dc0))
32+
33+
34+
### Documentation
35+
36+
* grammar improvements ([15511fc](https://github.com/openai/openai-ruby/commit/15511fc1e80f61abe64375b0a7eb22c5447d5288))
37+
* grammar improvements in README.md ([d43db56](https://github.com/openai/openai-ruby/commit/d43db56ba239f91c6fb1344156e88feaee802f0c))
38+
339
## 0.1.0-beta.1 (2025-05-16)
440

541
Full Changelog: [v0.1.0-alpha.5...v0.1.0-beta.1](https://github.com/openai/openai-ruby/compare/v0.1.0-alpha.5...v0.1.0-beta.1)

Gemfile.lock

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ GIT
1111
PATH
1212
remote: .
1313
specs:
14-
openai (0.1.0.pre.beta.1)
14+
openai (0.1.0.pre.beta.2)
1515
connection_pool
1616

1717
GEM

README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ puts(chat_completion)
4444

4545
We provide support for streaming responses using Server-Sent Events (SSE).
4646

47-
**coming soon:** `openai.chat.completions.stream` will soon come with Python SDK style higher level streaming responses support.
47+
**coming soon:** `openai.chat.completions.stream` will soon come with Python SDK-style higher-level streaming responses support.
4848

4949
```ruby
5050
stream = openai.chat.completions.stream_raw(
@@ -224,7 +224,7 @@ puts(chat_completion[:my_undocumented_property])
224224

225225
#### Undocumented request params
226226

227-
If you want to explicitly send an extra param, you can do so with the `extra_query`, `extra_body`, and `extra_headers` under the `request_options:` parameter when making a request as seen in examples above.
227+
If you want to explicitly send an extra param, you can do so with the `extra_query`, `extra_body`, and `extra_headers` under the `request_options:` parameter when making a request, as seen in the examples above.
228228

229229
#### Undocumented endpoints
230230

@@ -242,7 +242,7 @@ response = client.request(
242242

243243
### Concurrency & connection pooling
244244

245-
The `OpenAI::Client` instances are threadsafe, but only are fork-safe when there are no in-flight HTTP requests.
245+
The `OpenAI::Client` instances are threadsafe, but are only fork-safe when there are no in-flight HTTP requests.
246246

247247
Each instance of `OpenAI::Client` has its own HTTP connection pool with a default size of 99. As such, we recommend instantiating the client once per application in most settings.
248248

@@ -252,7 +252,7 @@ Unless otherwise specified, other classes in the SDK do not have locks protectin
252252

253253
## Sorbet
254254

255-
This library provides comprehensive [RBI](https://sorbet.org/docs/rbi) definitions, and has no dependency on sorbet-runtime.
255+
This library provides comprehensive [RBI](https://sorbet.org/docs/rbi) definitions and has no dependency on sorbet-runtime.
256256

257257
You can provide typesafe request parameters like so:
258258

@@ -301,7 +301,7 @@ openai.chat.completions.create(
301301
#
302302
)
303303

304-
# Literal values is also permissible:
304+
# Literal values are also permissible:
305305
openai.chat.completions.create(
306306
reasoning_effort: :low,
307307
#

Rakefile

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ require "rake/clean"
99
require "rubocop/rake_task"
1010

1111
tapioca = "sorbet/tapioca"
12+
examples = "examples"
1213
ignore_file = ".ignore"
1314

1415
CLEAN.push(*%w[.idea/ .ruby-lsp/ .yardoc/ doc/], *FileList["*.gem"], ignore_file)
@@ -35,11 +36,11 @@ multitask(:test) do
3536
end
3637

3738
xargs = %w[xargs --no-run-if-empty --null --max-procs=0 --max-args=300 --]
38-
locale = {"LC_ALL" => "C.UTF-8"}
39+
ruby_opt = {"RUBYOPT" => [ENV["RUBYOPT"], "--encoding=UTF-8"].compact.join(" ")}
3940

4041
desc("Lint `*.rb(i)`")
4142
multitask(:"lint:rubocop") do
42-
find = %w[find ./lib ./test ./rbi -type f -and ( -name *.rb -or -name *.rbi ) -print0]
43+
find = %w[find ./lib ./test ./rbi ./examples -type f -and ( -name *.rb -or -name *.rbi ) -print0]
4344

4445
rubocop = %w[rubocop]
4546
rubocop += %w[--format github] if ENV.key?("CI")
@@ -54,7 +55,7 @@ end
5455
desc("Format `*.rb`")
5556
multitask(:"format:rb") do
5657
# while `syntax_tree` is much faster than `rubocop`, `rubocop` is the only formatter with full syntax support
57-
find = %w[find ./lib ./test -type f -and -name *.rb -print0]
58+
find = %w[find ./lib ./test ./examples -type f -and -name *.rb -print0]
5859
fmt = xargs + %w[rubocop --fail-level F --autocorrect --format simple --]
5960
sh("#{find.shelljoin} | #{fmt.shelljoin}")
6061
end
@@ -63,7 +64,7 @@ desc("Format `*.rbi`")
6364
multitask(:"format:rbi") do
6465
find = %w[find ./rbi -type f -and -name *.rbi -print0]
6566
fmt = xargs + %w[stree write --]
66-
sh(locale, "#{find.shelljoin} | #{fmt.shelljoin}")
67+
sh(ruby_opt, "#{find.shelljoin} | #{fmt.shelljoin}")
6768
end
6869

6970
desc("Format `*.rbs`")
@@ -99,7 +100,7 @@ multitask(:"format:rbs") do
99100
# transform class aliases to type aliases, which syntax tree has no trouble with
100101
sh("#{find.shelljoin} | #{pre.shelljoin}")
101102
# run syntax tree to format `*.rbs` files
102-
sh(locale, "#{find.shelljoin} | #{fmt.shelljoin}") do
103+
sh(ruby_opt, "#{find.shelljoin} | #{fmt.shelljoin}") do
103104
success = _1
104105
end
105106
# transform type aliases back to class aliases
@@ -117,12 +118,14 @@ multitask(:"typecheck:steep") do
117118
sh(*%w[steep check])
118119
end
119120

121+
directory(examples)
122+
120123
desc("Typecheck `*.rbi`")
121-
multitask(:"typecheck:sorbet") do
122-
sh(*%w[srb typecheck])
124+
multitask("typecheck:sorbet": examples) do
125+
sh(*%w[srb typecheck --dir], examples)
123126
end
124127

125-
file(tapioca) do
128+
directory(tapioca) do
126129
sh(*%w[tapioca init])
127130
end
128131

SECURITY.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
## Reporting Security Issues
44

5-
This SDK is generated by [Stainless Software Inc](http://stainless.com). Stainless takes security seriously, and encourages you to report any security vulnerability promptly so that appropriate action can be taken.
5+
This SDK is generated by [Stainless Software Inc](http://stainless.com). Stainless takes security seriously and encourages you to report any security vulnerability promptly so that appropriate action can be taken.
66

77
To report a security issue, please contact the Stainless team at [email protected].
88

@@ -16,13 +16,13 @@ before making any information public.
1616
## Reporting Non-SDK Related Security Issues
1717

1818
If you encounter security issues that are not directly related to SDKs but pertain to the services
19-
or products provided by OpenAI please follow the respective company's security reporting guidelines.
19+
or products provided by OpenAI, please follow the respective company's security reporting guidelines.
2020

2121
### OpenAI Terms and Policies
2222

2323
Our Security Policy can be found at [Security Policy URL](https://openai.com/policies/coordinated-vulnerability-disclosure-policy).
2424

25-
Please contact [email protected] for any questions or concerns regarding security of our services.
25+
Please contact [email protected] for any questions or concerns regarding the security of our services.
2626

2727
---
2828

Steepfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ target(:lib) do
77

88
signature("sig")
99

10-
YAML.safe_load_file("./manifest.yaml", symbolize_names: true) => { dependencies: }
10+
YAML.safe_load_file("./manifest.yaml", symbolize_names: true) => {dependencies:}
1111
# currently these libraries lack the `*.rbs` annotations required by `steep`
1212
stdlibs = dependencies - %w[English etc net/http rbconfig set stringio]
1313

examples/structured_outputs_chat_completions.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ class CalendarEvent < OpenAI::BaseModel
2929
doc: "Event location"
3030
end
3131

32-
# # gets API Key from environment variable `OPENAI_API_KEY`
32+
# gets API Key from environment variable `OPENAI_API_KEY`
3333
client = OpenAI::Client.new
3434

3535
chat_completion = client.chat.completions.create(

lib/openai.rb

Lines changed: 37 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
# frozen_string_literal: true
22

33
# Standard libraries.
4-
# rubocop:disable Lint/RedundantRequireStatement
54
require "English"
65
require "cgi"
76
require "date"
@@ -15,8 +14,6 @@
1514
require "stringio"
1615
require "time"
1716
require "uri"
18-
# rubocop:enable Lint/RedundantRequireStatement
19-
2017
# We already ship the preferred sorbet manifests in the package itself.
2118
# `tapioca` currently does not offer us a way to opt out of unnecessary compilation.
2219
if Object.const_defined?(:Tapioca) && caller.chain([$PROGRAM_NAME]).chain(ARGV).grep(/tapioca/)
@@ -182,7 +179,6 @@
182179
require_relative "openai/models/beta/threads/text_delta_block"
183180
require_relative "openai/models/beta/thread_stream_event"
184181
require_relative "openai/models/beta/thread_update_params"
185-
require_relative "openai/models/beta/truncation_object"
186182
require_relative "openai/models/chat/chat_completion"
187183
require_relative "openai/models/chat/chat_completion_assistant_message_param"
188184
require_relative "openai/models/chat/chat_completion_audio"
@@ -225,6 +221,21 @@
225221
require_relative "openai/models/completion_create_params"
226222
require_relative "openai/models/completion_usage"
227223
require_relative "openai/models/compound_filter"
224+
require_relative "openai/models/container_create_params"
225+
require_relative "openai/models/container_create_response"
226+
require_relative "openai/models/container_delete_params"
227+
require_relative "openai/models/container_list_params"
228+
require_relative "openai/models/container_list_response"
229+
require_relative "openai/models/container_retrieve_params"
230+
require_relative "openai/models/container_retrieve_response"
231+
require_relative "openai/models/containers/file_create_params"
232+
require_relative "openai/models/containers/file_create_response"
233+
require_relative "openai/models/containers/file_delete_params"
234+
require_relative "openai/models/containers/file_list_params"
235+
require_relative "openai/models/containers/file_list_response"
236+
require_relative "openai/models/containers/file_retrieve_params"
237+
require_relative "openai/models/containers/file_retrieve_response"
238+
require_relative "openai/models/containers/files/content_retrieve_params"
228239
require_relative "openai/models/create_embedding_response"
229240
require_relative "openai/models/embedding"
230241
require_relative "openai/models/embedding_create_params"
@@ -235,18 +246,13 @@
235246
require_relative "openai/models/eval_custom_data_source_config"
236247
require_relative "openai/models/eval_delete_params"
237248
require_relative "openai/models/eval_delete_response"
238-
require_relative "openai/models/eval_item"
239249
require_relative "openai/models/eval_list_params"
240250
require_relative "openai/models/eval_list_response"
241-
require_relative "openai/models/eval_logs_data_source_config"
242251
require_relative "openai/models/eval_retrieve_params"
243252
require_relative "openai/models/eval_retrieve_response"
244253
require_relative "openai/models/evals/create_eval_completions_run_data_source"
245254
require_relative "openai/models/evals/create_eval_jsonl_run_data_source"
246-
require_relative "openai/models/evals/create_eval_responses_run_data_source"
247255
require_relative "openai/models/evals/eval_api_error"
248-
require_relative "openai/models/evals/eval_jsonl_file_content_source"
249-
require_relative "openai/models/evals/eval_jsonl_file_id_source"
250256
require_relative "openai/models/evals/run_cancel_params"
251257
require_relative "openai/models/evals/run_cancel_response"
252258
require_relative "openai/models/evals/run_create_params"
@@ -343,6 +349,7 @@
343349
require_relative "openai/models/responses/response_audio_done_event"
344350
require_relative "openai/models/responses/response_audio_transcript_delta_event"
345351
require_relative "openai/models/responses/response_audio_transcript_done_event"
352+
require_relative "openai/models/responses/response_cancel_params"
346353
require_relative "openai/models/responses/response_code_interpreter_call_code_delta_event"
347354
require_relative "openai/models/responses/response_code_interpreter_call_code_done_event"
348355
require_relative "openai/models/responses/response_code_interpreter_call_completed_event"
@@ -373,6 +380,10 @@
373380
require_relative "openai/models/responses/response_function_tool_call_item"
374381
require_relative "openai/models/responses/response_function_tool_call_output_item"
375382
require_relative "openai/models/responses/response_function_web_search"
383+
require_relative "openai/models/responses/response_image_gen_call_completed_event"
384+
require_relative "openai/models/responses/response_image_gen_call_generating_event"
385+
require_relative "openai/models/responses/response_image_gen_call_in_progress_event"
386+
require_relative "openai/models/responses/response_image_gen_call_partial_image_event"
376387
require_relative "openai/models/responses/response_includable"
377388
require_relative "openai/models/responses/response_incomplete_event"
378389
require_relative "openai/models/responses/response_in_progress_event"
@@ -387,14 +398,28 @@
387398
require_relative "openai/models/responses/response_input_text"
388399
require_relative "openai/models/responses/response_item"
389400
require_relative "openai/models/responses/response_item_list"
401+
require_relative "openai/models/responses/response_mcp_call_arguments_delta_event"
402+
require_relative "openai/models/responses/response_mcp_call_arguments_done_event"
403+
require_relative "openai/models/responses/response_mcp_call_completed_event"
404+
require_relative "openai/models/responses/response_mcp_call_failed_event"
405+
require_relative "openai/models/responses/response_mcp_call_in_progress_event"
406+
require_relative "openai/models/responses/response_mcp_list_tools_completed_event"
407+
require_relative "openai/models/responses/response_mcp_list_tools_failed_event"
408+
require_relative "openai/models/responses/response_mcp_list_tools_in_progress_event"
390409
require_relative "openai/models/responses/response_output_audio"
391410
require_relative "openai/models/responses/response_output_item"
392411
require_relative "openai/models/responses/response_output_item_added_event"
393412
require_relative "openai/models/responses/response_output_item_done_event"
394413
require_relative "openai/models/responses/response_output_message"
395414
require_relative "openai/models/responses/response_output_refusal"
396415
require_relative "openai/models/responses/response_output_text"
416+
require_relative "openai/models/responses/response_output_text_annotation_added_event"
417+
require_relative "openai/models/responses/response_queued_event"
418+
require_relative "openai/models/responses/response_reasoning_delta_event"
419+
require_relative "openai/models/responses/response_reasoning_done_event"
397420
require_relative "openai/models/responses/response_reasoning_item"
421+
require_relative "openai/models/responses/response_reasoning_summary_delta_event"
422+
require_relative "openai/models/responses/response_reasoning_summary_done_event"
398423
require_relative "openai/models/responses/response_reasoning_summary_part_added_event"
399424
require_relative "openai/models/responses/response_reasoning_summary_part_done_event"
400425
require_relative "openai/models/responses/response_reasoning_summary_text_delta_event"
@@ -404,7 +429,6 @@
404429
require_relative "openai/models/responses/response_retrieve_params"
405430
require_relative "openai/models/responses/response_status"
406431
require_relative "openai/models/responses/response_stream_event"
407-
require_relative "openai/models/responses/response_text_annotation_delta_event"
408432
require_relative "openai/models/responses/response_text_config"
409433
require_relative "openai/models/responses/response_text_delta_event"
410434
require_relative "openai/models/responses/response_text_done_event"
@@ -431,7 +455,6 @@
431455
require_relative "openai/models/vector_store_create_params"
432456
require_relative "openai/models/vector_store_deleted"
433457
require_relative "openai/models/vector_store_delete_params"
434-
require_relative "openai/models/vector_store_expiration_after"
435458
require_relative "openai/models/vector_store_list_params"
436459
require_relative "openai/models/vector_store_retrieve_params"
437460
require_relative "openai/models/vector_stores/file_batch_cancel_params"
@@ -467,6 +490,9 @@
467490
require_relative "openai/resources/chat/completions"
468491
require_relative "openai/resources/chat/completions/messages"
469492
require_relative "openai/resources/completions"
493+
require_relative "openai/resources/containers"
494+
require_relative "openai/resources/containers/files"
495+
require_relative "openai/resources/containers/files/content"
470496
require_relative "openai/resources/embeddings"
471497
require_relative "openai/resources/evals"
472498
require_relative "openai/resources/evals/runs"

0 commit comments

Comments
 (0)