openai 0.81.0 → 0.83.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.
Files changed (68) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +31 -0
  3. data/README.md +53 -1
  4. data/lib/openai/helpers/realtime/client_extension.rb +107 -0
  5. data/lib/openai/helpers/sorbet.rb +324 -0
  6. data/lib/openai/helpers/streaming/response_event_decoder.rb +44 -0
  7. data/lib/openai/helpers/streaming/response_stream.rb +10 -3
  8. data/lib/openai/helpers/streaming/unknown_stream_event.rb +51 -0
  9. data/lib/openai/http_client.rb +40 -1
  10. data/lib/openai/internal/logging.rb +7 -1
  11. data/lib/openai/internal/stream.rb +4 -1
  12. data/lib/openai/internal/transport/base_client.rb +35 -4
  13. data/lib/openai/internal/util.rb +6 -2
  14. data/lib/openai/models/admin/organization/audit_log_list_params.rb +2 -0
  15. data/lib/openai/models/admin/organization/audit_log_list_response.rb +2 -0
  16. data/lib/openai/models/beta/beta_response_function_tool_call_output_item.rb +9 -9
  17. data/lib/openai/models/beta/beta_response_input_item.rb +9 -9
  18. data/lib/openai/models/beta/beta_response_usage.rb +12 -1
  19. data/lib/openai/models/completion_usage.rb +12 -1
  20. data/lib/openai/models/responses/response_function_tool_call_output_item.rb +9 -9
  21. data/lib/openai/models/responses/response_input_item.rb +9 -9
  22. data/lib/openai/models/responses/response_usage.rb +12 -1
  23. data/lib/openai/request_options.rb +8 -0
  24. data/lib/openai/resources/beta/responses.rb +2 -2
  25. data/lib/openai/resources/responses.rb +3 -3
  26. data/lib/openai/version.rb +1 -1
  27. data/rbi/openai/helpers/sorbet.rbi +55 -0
  28. data/rbi/openai/helpers/streaming/response_event_decoder.rbi +28 -0
  29. data/rbi/openai/helpers/streaming/response_stream.rbi +5 -0
  30. data/rbi/openai/helpers/streaming/unknown_stream_event.rbi +29 -0
  31. data/rbi/openai/http_client.rbi +25 -2
  32. data/rbi/openai/internal/logging.rbi +12 -2
  33. data/rbi/openai/internal/transport/base_client.rbi +12 -2
  34. data/rbi/openai/internal/util.rbi +3 -2
  35. data/rbi/openai/models/admin/organization/audit_log_list_params.rbi +8 -0
  36. data/rbi/openai/models/admin/organization/audit_log_list_response.rbi +8 -0
  37. data/rbi/openai/models/beta/beta_response_function_tool_call_output_item.rbi +13 -10
  38. data/rbi/openai/models/beta/beta_response_input_item.rbi +10 -10
  39. data/rbi/openai/models/beta/beta_response_usage.rbi +13 -3
  40. data/rbi/openai/models/completion_usage.rbi +10 -0
  41. data/rbi/openai/models/responses/response_function_tool_call_output_item.rbi +13 -10
  42. data/rbi/openai/models/responses/response_input_item.rbi +10 -10
  43. data/rbi/openai/models/responses/response_usage.rbi +13 -3
  44. data/rbi/openai/request_options.rbi +4 -0
  45. data/rbi/openai/resources/beta/responses.rbi +10 -2
  46. data/rbi/openai/resources/responses.rbi +2 -2
  47. data/rbi/openai/streaming.rbi +1 -0
  48. data/sig/openai/helpers/sorbet.rbs +54 -0
  49. data/sig/openai/helpers/streaming/response_event_decoder.rbs +16 -0
  50. data/sig/openai/helpers/streaming/unknown_stream_event.rbs +15 -0
  51. data/sig/openai/http_client.rbs +14 -1
  52. data/sig/openai/internal/logging.rbs +6 -1
  53. data/sig/openai/internal/transport/base_client.rbs +7 -1
  54. data/sig/openai/internal/util.rbs +3 -1
  55. data/sig/openai/models/admin/organization/audit_log_list_params.rbs +4 -0
  56. data/sig/openai/models/admin/organization/audit_log_list_response.rbs +4 -0
  57. data/sig/openai/models/beta/beta_response_function_tool_call_output_item.rbs +7 -5
  58. data/sig/openai/models/beta/beta_response_input_item.rbs +5 -5
  59. data/sig/openai/models/beta/beta_response_usage.rbs +8 -3
  60. data/sig/openai/models/completion_usage.rbs +5 -0
  61. data/sig/openai/models/responses/response_function_tool_call_output_item.rbs +7 -5
  62. data/sig/openai/models/responses/response_input_item.rbs +5 -5
  63. data/sig/openai/models/responses/response_usage.rbs +8 -3
  64. data/sig/openai/request_options.rbs +4 -1
  65. data/sig/openai/resources/beta/responses.rbs +4 -2
  66. data/sig/openai/resources/responses.rbs +6 -3
  67. data/sig/openai/streaming.rbs +5 -0
  68. metadata +11 -1
@@ -7,7 +7,8 @@ module OpenAI
7
7
  input_tokens_details: OpenAI::Responses::ResponseUsage::InputTokensDetails,
8
8
  output_tokens: Integer,
9
9
  output_tokens_details: OpenAI::Responses::ResponseUsage::OutputTokensDetails,
10
- total_tokens: Integer
10
+ total_tokens: Integer,
11
+ compute_units: Integer?
11
12
  }
12
13
 
13
14
  class ResponseUsage < OpenAI::Internal::Type::BaseModel
@@ -21,12 +22,15 @@ module OpenAI
21
22
 
22
23
  attr_accessor total_tokens: Integer
23
24
 
25
+ attr_accessor compute_units: Integer?
26
+
24
27
  def initialize: (
25
28
  input_tokens: Integer,
26
29
  input_tokens_details: OpenAI::Responses::ResponseUsage::InputTokensDetails,
27
30
  output_tokens: Integer,
28
31
  output_tokens_details: OpenAI::Responses::ResponseUsage::OutputTokensDetails,
29
- total_tokens: Integer
32
+ total_tokens: Integer,
33
+ ?compute_units: Integer?
30
34
  ) -> void
31
35
 
32
36
  def to_hash: -> {
@@ -34,7 +38,8 @@ module OpenAI
34
38
  input_tokens_details: OpenAI::Responses::ResponseUsage::InputTokensDetails,
35
39
  output_tokens: Integer,
36
40
  output_tokens_details: OpenAI::Responses::ResponseUsage::OutputTokensDetails,
37
- total_tokens: Integer
41
+ total_tokens: Integer,
42
+ compute_units: Integer?
38
43
  }
39
44
 
40
45
  type input_tokens_details =
@@ -9,7 +9,8 @@ module OpenAI
9
9
  extra_headers: ::Hash[String, String?]?,
10
10
  extra_body: top?,
11
11
  max_retries: Integer?,
12
- timeout: Float?
12
+ timeout: Float?,
13
+ include_raw_body: bool?
13
14
  }
14
15
 
15
16
  class RequestOptions < OpenAI::Internal::Type::BaseModel
@@ -27,6 +28,8 @@ module OpenAI
27
28
 
28
29
  attr_accessor timeout: Float?
29
30
 
31
+ attr_accessor include_raw_body: bool?
32
+
30
33
  def initialize: (
31
34
  ?OpenAI::request_options | ::Hash[Symbol, top] values
32
35
  ) -> void
@@ -76,7 +76,8 @@ module OpenAI
76
76
  ?user: String,
77
77
  ?betas: ::Array[OpenAI::Models::Beta::ResponseCreateParams::beta],
78
78
  ?request_options: OpenAI::request_opts
79
- ) -> OpenAI::Internal::Stream[OpenAI::Models::Beta::beta_response_stream_event]
79
+ ) -> OpenAI::Internal::Stream[(OpenAI::Models::Beta::beta_response_stream_event
80
+ | OpenAI::Streaming::UnknownStreamEvent)]
80
81
 
81
82
  def retrieve: (
82
83
  String response_id,
@@ -94,7 +95,8 @@ module OpenAI
94
95
  ?starting_after: Integer,
95
96
  ?betas: ::Array[OpenAI::Models::Beta::ResponseRetrieveParams::beta],
96
97
  ?request_options: OpenAI::request_opts
97
- ) -> OpenAI::Internal::Stream[OpenAI::Models::Beta::beta_response_stream_event]
98
+ ) -> OpenAI::Internal::Stream[(OpenAI::Models::Beta::beta_response_stream_event
99
+ | OpenAI::Streaming::UnknownStreamEvent)]
98
100
 
99
101
  def delete: (
100
102
  String response_id,
@@ -71,7 +71,8 @@ module OpenAI
71
71
  ?truncation: OpenAI::Models::Responses::ResponseCreateParams::truncation?,
72
72
  ?user: String,
73
73
  ?request_options: OpenAI::request_opts
74
- ) -> OpenAI::Internal::Stream[OpenAI::Models::Responses::response_stream_event]
74
+ ) -> OpenAI::Internal::Stream[(OpenAI::Models::Responses::response_stream_event
75
+ | OpenAI::Streaming::UnknownStreamEvent)]
75
76
 
76
77
  def stream: (
77
78
  ?background: bool?,
@@ -99,7 +100,8 @@ module OpenAI
99
100
  ?truncation: OpenAI::Models::Responses::ResponseCreateParams::truncation?,
100
101
  ?user: String,
101
102
  ?request_options: OpenAI::request_opts
102
- ) -> OpenAI::Internal::Stream[OpenAI::Models::Responses::response_stream_event]
103
+ ) -> OpenAI::Internal::Stream[(OpenAI::Models::Responses::response_stream_event
104
+ | OpenAI::Streaming::UnknownStreamEvent)]
103
105
 
104
106
  def retrieve: (
105
107
  String response_id,
@@ -115,7 +117,8 @@ module OpenAI
115
117
  ?include_obfuscation: bool,
116
118
  ?starting_after: Integer,
117
119
  ?request_options: OpenAI::request_opts
118
- ) -> OpenAI::Internal::Stream[OpenAI::Models::Responses::response_stream_event]
120
+ ) -> OpenAI::Internal::Stream[(OpenAI::Models::Responses::response_stream_event
121
+ | OpenAI::Streaming::UnknownStreamEvent)]
119
122
 
120
123
  def delete: (
121
124
  String response_id,
@@ -0,0 +1,5 @@
1
+ module OpenAI
2
+ module Streaming
3
+ class UnknownStreamEvent = Helpers::Streaming::UnknownStreamEvent
4
+ end
5
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: openai
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.81.0
4
+ version: 0.83.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - OpenAI
@@ -93,11 +93,14 @@ files:
93
93
  - lib/openai/helpers/realtime/transports/async_websocket.rb
94
94
  - lib/openai/helpers/realtime/unknown_server_event.rb
95
95
  - lib/openai/helpers/resource_polling.rb
96
+ - lib/openai/helpers/sorbet.rb
96
97
  - lib/openai/helpers/streaming/chat_completion_stream.rb
97
98
  - lib/openai/helpers/streaming/chat_events.rb
98
99
  - lib/openai/helpers/streaming/exceptions.rb
100
+ - lib/openai/helpers/streaming/response_event_decoder.rb
99
101
  - lib/openai/helpers/streaming/response_events.rb
100
102
  - lib/openai/helpers/streaming/response_stream.rb
103
+ - lib/openai/helpers/streaming/unknown_stream_event.rb
101
104
  - lib/openai/helpers/structured_output.rb
102
105
  - lib/openai/helpers/structured_output/array_of.rb
103
106
  - lib/openai/helpers/structured_output/base_model.rb
@@ -1357,8 +1360,11 @@ files:
1357
1360
  - rbi/openai/helpers/realtime/transports/async_websocket.rbi
1358
1361
  - rbi/openai/helpers/realtime/unknown_server_event.rbi
1359
1362
  - rbi/openai/helpers/resource_polling.rbi
1363
+ - rbi/openai/helpers/sorbet.rbi
1360
1364
  - rbi/openai/helpers/streaming/events.rbi
1365
+ - rbi/openai/helpers/streaming/response_event_decoder.rbi
1361
1366
  - rbi/openai/helpers/streaming/response_stream.rbi
1367
+ - rbi/openai/helpers/streaming/unknown_stream_event.rbi
1362
1368
  - rbi/openai/helpers/structured_output.rbi
1363
1369
  - rbi/openai/helpers/structured_output/array_of.rbi
1364
1370
  - rbi/openai/helpers/structured_output/base_model.rbi
@@ -2615,6 +2621,9 @@ files:
2615
2621
  - sig/openai/helpers/realtime/transports/async_websocket.rbs
2616
2622
  - sig/openai/helpers/realtime/unknown_server_event.rbs
2617
2623
  - sig/openai/helpers/resource_polling.rbs
2624
+ - sig/openai/helpers/sorbet.rbs
2625
+ - sig/openai/helpers/streaming/response_event_decoder.rbs
2626
+ - sig/openai/helpers/streaming/unknown_stream_event.rbs
2618
2627
  - sig/openai/helpers/structured_output/chat_completion_parser.rbs
2619
2628
  - sig/openai/helpers/structured_output/response_parser.rbs
2620
2629
  - sig/openai/http_client.rbs
@@ -3843,6 +3852,7 @@ files:
3843
3852
  - sig/openai/resources/vector_stores/files.rbs
3844
3853
  - sig/openai/resources/videos.rbs
3845
3854
  - sig/openai/resources/webhooks.rbs
3855
+ - sig/openai/streaming.rbs
3846
3856
  - sig/openai/version.rbs
3847
3857
  homepage: https://gemdocs.org/gems/openai
3848
3858
  licenses: