Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 2dea19a

Browse filesBrowse 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
Copy full SHA for 2dea19a

File tree

Expand file treeCollapse file tree

996 files changed

+34747
-8760
lines changed
Filter options

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Dismiss banner
Expand file treeCollapse file tree

996 files changed

+34747
-8760
lines changed

‎.release-please-manifest.json

Copy file name to clipboard
+1-1Lines 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

Copy file name to clipboard
+4-4Lines 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

Copy file name to clipboardExpand all lines: CHANGELOG.md
+36Lines 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

Copy file name to clipboardExpand all lines: Gemfile.lock
+1-1Lines 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

Copy file name to clipboardExpand all lines: README.md
+5-5Lines 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

Copy file name to clipboardExpand all lines: Rakefile
+11-8Lines 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

Copy file name to clipboardExpand all lines: SECURITY.md
+3-3Lines 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 security@stainless.com.
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 disclosure@openai.com for any questions or concerns regarding security of our services.
25+
Please contact disclosure@openai.com for any questions or concerns regarding the security of our services.
2626

2727
---
2828

‎Steepfile

Copy file name to clipboardExpand all lines: Steepfile
+1-1Lines 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

Copy file name to clipboardExpand all lines: examples/structured_outputs_chat_completions.rb
+1-1Lines 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

Copy file name to clipboardExpand all lines: lib/openai.rb
+37-11Lines 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"

‎lib/openai/client.rb

Copy file name to clipboardExpand all lines: lib/openai/client.rb
+4Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,9 @@ class Client < OpenAI::Internal::Transport::BaseClient
7272
# @return [OpenAI::Resources::Evals]
7373
attr_reader :evals
7474

75+
# @return [OpenAI::Resources::Containers]
76+
attr_reader :containers
77+
7578
# @api private
7679
#
7780
# @return [Hash{String=>String}]
@@ -147,6 +150,7 @@ def initialize(
147150
@uploads = OpenAI::Resources::Uploads.new(client: self)
148151
@responses = OpenAI::Resources::Responses.new(client: self)
149152
@evals = OpenAI::Resources::Evals.new(client: self)
153+
@containers = OpenAI::Resources::Containers.new(client: self)
150154
end
151155
end
152156
end

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.