openai 0.8.0 → 0.10.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 (92) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +41 -0
  3. data/README.md +115 -4
  4. data/lib/openai/errors.rb +22 -0
  5. data/lib/openai/internal/type/array_of.rb +6 -1
  6. data/lib/openai/internal/type/base_model.rb +76 -24
  7. data/lib/openai/internal/type/boolean.rb +7 -1
  8. data/lib/openai/internal/type/converter.rb +42 -34
  9. data/lib/openai/internal/type/enum.rb +10 -2
  10. data/lib/openai/internal/type/file_input.rb +6 -1
  11. data/lib/openai/internal/type/hash_of.rb +6 -1
  12. data/lib/openai/internal/type/union.rb +12 -7
  13. data/lib/openai/internal/type/unknown.rb +7 -1
  14. data/lib/openai/models/audio/speech_create_params.rb +23 -2
  15. data/lib/openai/models/audio/transcription.rb +118 -1
  16. data/lib/openai/models/audio/transcription_text_done_event.rb +80 -1
  17. data/lib/openai/models/audio/transcription_verbose.rb +31 -1
  18. data/lib/openai/models/chat/chat_completion.rb +1 -0
  19. data/lib/openai/models/chat/chat_completion_chunk.rb +1 -0
  20. data/lib/openai/models/chat/completion_create_params.rb +1 -0
  21. data/lib/openai/models/fine_tuning/job_create_params.rb +4 -2
  22. data/lib/openai/models/image_edit_params.rb +35 -1
  23. data/lib/openai/models/responses/response.rb +41 -6
  24. data/lib/openai/models/responses/response_code_interpreter_call_code_delta_event.rb +17 -8
  25. data/lib/openai/models/responses/response_code_interpreter_call_code_done_event.rb +14 -10
  26. data/lib/openai/models/responses/response_code_interpreter_call_completed_event.rb +11 -10
  27. data/lib/openai/models/responses/response_code_interpreter_call_in_progress_event.rb +11 -10
  28. data/lib/openai/models/responses/response_code_interpreter_call_interpreting_event.rb +11 -10
  29. data/lib/openai/models/responses/response_code_interpreter_tool_call.rb +49 -78
  30. data/lib/openai/models/responses/response_create_params.rb +41 -32
  31. data/lib/openai/models/responses/response_output_text.rb +18 -2
  32. data/lib/openai/models/responses/response_prompt.rb +63 -0
  33. data/lib/openai/models/responses/response_stream_event.rb +2 -2
  34. data/lib/openai/resources/audio/speech.rb +3 -1
  35. data/lib/openai/resources/chat/completions.rb +8 -0
  36. data/lib/openai/resources/fine_tuning/jobs.rb +2 -2
  37. data/lib/openai/resources/images.rb +5 -1
  38. data/lib/openai/resources/responses.rb +18 -14
  39. data/lib/openai/version.rb +1 -1
  40. data/lib/openai.rb +1 -0
  41. data/rbi/openai/errors.rbi +16 -0
  42. data/rbi/openai/internal/type/boolean.rbi +2 -0
  43. data/rbi/openai/internal/type/converter.rbi +15 -15
  44. data/rbi/openai/internal/type/union.rbi +5 -0
  45. data/rbi/openai/internal/type/unknown.rbi +2 -0
  46. data/rbi/openai/models/audio/speech_create_params.rbi +59 -2
  47. data/rbi/openai/models/audio/transcription.rbi +213 -3
  48. data/rbi/openai/models/audio/transcription_text_done_event.rbi +146 -1
  49. data/rbi/openai/models/audio/transcription_verbose.rbi +47 -0
  50. data/rbi/openai/models/chat/chat_completion.rbi +5 -0
  51. data/rbi/openai/models/chat/chat_completion_chunk.rbi +5 -0
  52. data/rbi/openai/models/chat/completion_create_params.rbi +5 -0
  53. data/rbi/openai/models/fine_tuning/job_create_params.rbi +8 -4
  54. data/rbi/openai/models/image_edit_params.rbi +51 -0
  55. data/rbi/openai/models/responses/response.rbi +66 -7
  56. data/rbi/openai/models/responses/response_code_interpreter_call_code_delta_event.rbi +17 -7
  57. data/rbi/openai/models/responses/response_code_interpreter_call_code_done_event.rbi +13 -5
  58. data/rbi/openai/models/responses/response_code_interpreter_call_completed_event.rbi +13 -21
  59. data/rbi/openai/models/responses/response_code_interpreter_call_in_progress_event.rbi +13 -21
  60. data/rbi/openai/models/responses/response_code_interpreter_call_interpreting_event.rbi +13 -21
  61. data/rbi/openai/models/responses/response_code_interpreter_tool_call.rbi +83 -125
  62. data/rbi/openai/models/responses/response_create_params.rbi +107 -64
  63. data/rbi/openai/models/responses/response_output_text.rbi +26 -4
  64. data/rbi/openai/models/responses/response_prompt.rbi +120 -0
  65. data/rbi/openai/resources/audio/speech.rbi +6 -1
  66. data/rbi/openai/resources/fine_tuning/jobs.rbi +6 -4
  67. data/rbi/openai/resources/images.rbi +11 -0
  68. data/rbi/openai/resources/responses.rbi +56 -50
  69. data/sig/openai/errors.rbs +9 -0
  70. data/sig/openai/internal/type/converter.rbs +7 -1
  71. data/sig/openai/models/audio/speech_create_params.rbs +21 -1
  72. data/sig/openai/models/audio/transcription.rbs +95 -3
  73. data/sig/openai/models/audio/transcription_text_done_event.rbs +72 -2
  74. data/sig/openai/models/audio/transcription_verbose.rbs +21 -0
  75. data/sig/openai/models/chat/chat_completion.rbs +2 -1
  76. data/sig/openai/models/chat/chat_completion_chunk.rbs +2 -1
  77. data/sig/openai/models/chat/completion_create_params.rbs +2 -1
  78. data/sig/openai/models/image_edit_params.rbs +22 -0
  79. data/sig/openai/models/responses/response.rbs +22 -5
  80. data/sig/openai/models/responses/response_code_interpreter_call_code_delta_event.rbs +5 -0
  81. data/sig/openai/models/responses/response_code_interpreter_call_code_done_event.rbs +5 -0
  82. data/sig/openai/models/responses/response_code_interpreter_call_completed_event.rbs +4 -4
  83. data/sig/openai/models/responses/response_code_interpreter_call_in_progress_event.rbs +4 -4
  84. data/sig/openai/models/responses/response_code_interpreter_call_interpreting_event.rbs +4 -4
  85. data/sig/openai/models/responses/response_code_interpreter_tool_call.rbs +31 -52
  86. data/sig/openai/models/responses/response_create_params.rbs +25 -11
  87. data/sig/openai/models/responses/response_output_text.rbs +15 -1
  88. data/sig/openai/models/responses/response_prompt.rbs +44 -0
  89. data/sig/openai/resources/audio/speech.rbs +1 -0
  90. data/sig/openai/resources/images.rbs +2 -0
  91. data/sig/openai/resources/responses.rbs +6 -4
  92. metadata +5 -2
@@ -3,15 +3,16 @@ module OpenAI
3
3
  module Responses
4
4
  type response_create_params =
5
5
  {
6
- input: OpenAI::Models::Responses::ResponseCreateParams::input,
7
- model: OpenAI::Models::responses_model,
8
6
  background: bool?,
9
7
  include: ::Array[OpenAI::Models::Responses::response_includable]?,
8
+ input: OpenAI::Models::Responses::ResponseCreateParams::input,
10
9
  instructions: String?,
11
10
  max_output_tokens: Integer?,
12
11
  metadata: OpenAI::Models::metadata?,
12
+ model: OpenAI::Models::responses_model,
13
13
  parallel_tool_calls: bool?,
14
14
  previous_response_id: String?,
15
+ prompt: OpenAI::Responses::ResponsePrompt?,
15
16
  reasoning: OpenAI::Reasoning?,
16
17
  service_tier: OpenAI::Models::Responses::ResponseCreateParams::service_tier?,
17
18
  store: bool?,
@@ -29,24 +30,34 @@ module OpenAI
29
30
  extend OpenAI::Internal::Type::RequestParameters::Converter
30
31
  include OpenAI::Internal::Type::RequestParameters
31
32
 
32
- attr_accessor input: OpenAI::Models::Responses::ResponseCreateParams::input
33
-
34
- attr_accessor model: OpenAI::Models::responses_model
35
-
36
33
  attr_accessor background: bool?
37
34
 
38
35
  attr_accessor include: ::Array[OpenAI::Models::Responses::response_includable]?
39
36
 
37
+ attr_reader input: OpenAI::Models::Responses::ResponseCreateParams::input?
38
+
39
+ def input=: (
40
+ OpenAI::Models::Responses::ResponseCreateParams::input
41
+ ) -> OpenAI::Models::Responses::ResponseCreateParams::input
42
+
40
43
  attr_accessor instructions: String?
41
44
 
42
45
  attr_accessor max_output_tokens: Integer?
43
46
 
44
47
  attr_accessor metadata: OpenAI::Models::metadata?
45
48
 
49
+ attr_reader model: OpenAI::Models::responses_model?
50
+
51
+ def model=: (
52
+ OpenAI::Models::responses_model
53
+ ) -> OpenAI::Models::responses_model
54
+
46
55
  attr_accessor parallel_tool_calls: bool?
47
56
 
48
57
  attr_accessor previous_response_id: String?
49
58
 
59
+ attr_accessor prompt: OpenAI::Responses::ResponsePrompt?
60
+
50
61
  attr_accessor reasoning: OpenAI::Reasoning?
51
62
 
52
63
  attr_accessor service_tier: OpenAI::Models::Responses::ResponseCreateParams::service_tier?
@@ -82,15 +93,16 @@ module OpenAI
82
93
  def user=: (String) -> String
83
94
 
84
95
  def initialize: (
85
- input: OpenAI::Models::Responses::ResponseCreateParams::input,
86
- model: OpenAI::Models::responses_model,
87
96
  ?background: bool?,
88
97
  ?include: ::Array[OpenAI::Models::Responses::response_includable]?,
98
+ ?input: OpenAI::Models::Responses::ResponseCreateParams::input,
89
99
  ?instructions: String?,
90
100
  ?max_output_tokens: Integer?,
91
101
  ?metadata: OpenAI::Models::metadata?,
102
+ ?model: OpenAI::Models::responses_model,
92
103
  ?parallel_tool_calls: bool?,
93
104
  ?previous_response_id: String?,
105
+ ?prompt: OpenAI::Responses::ResponsePrompt?,
94
106
  ?reasoning: OpenAI::Reasoning?,
95
107
  ?service_tier: OpenAI::Models::Responses::ResponseCreateParams::service_tier?,
96
108
  ?store: bool?,
@@ -105,15 +117,16 @@ module OpenAI
105
117
  ) -> void
106
118
 
107
119
  def to_hash: -> {
108
- input: OpenAI::Models::Responses::ResponseCreateParams::input,
109
- model: OpenAI::Models::responses_model,
110
120
  background: bool?,
111
121
  include: ::Array[OpenAI::Models::Responses::response_includable]?,
122
+ input: OpenAI::Models::Responses::ResponseCreateParams::input,
112
123
  instructions: String?,
113
124
  max_output_tokens: Integer?,
114
125
  metadata: OpenAI::Models::metadata?,
126
+ model: OpenAI::Models::responses_model,
115
127
  parallel_tool_calls: bool?,
116
128
  previous_response_id: String?,
129
+ prompt: OpenAI::Responses::ResponsePrompt?,
117
130
  reasoning: OpenAI::Reasoning?,
118
131
  service_tier: OpenAI::Models::Responses::ResponseCreateParams::service_tier?,
119
132
  store: bool?,
@@ -135,7 +148,7 @@ module OpenAI
135
148
  def self?.variants: -> ::Array[OpenAI::Models::Responses::ResponseCreateParams::input]
136
149
  end
137
150
 
138
- type service_tier = :auto | :default | :flex
151
+ type service_tier = :auto | :default | :flex | :scale
139
152
 
140
153
  module ServiceTier
141
154
  extend OpenAI::Internal::Type::Enum
@@ -143,6 +156,7 @@ module OpenAI
143
156
  AUTO: :auto
144
157
  DEFAULT: :default
145
158
  FLEX: :flex
159
+ SCALE: :scale
146
160
 
147
161
  def self?.values: -> ::Array[OpenAI::Models::Responses::ResponseCreateParams::service_tier]
148
162
  end
@@ -46,23 +46,32 @@ module OpenAI
46
46
  extend OpenAI::Internal::Type::Union
47
47
 
48
48
  type file_citation =
49
- { file_id: String, index: Integer, type: :file_citation }
49
+ {
50
+ file_id: String,
51
+ filename: String,
52
+ index: Integer,
53
+ type: :file_citation
54
+ }
50
55
 
51
56
  class FileCitation < OpenAI::Internal::Type::BaseModel
52
57
  attr_accessor file_id: String
53
58
 
59
+ attr_accessor filename: String
60
+
54
61
  attr_accessor index: Integer
55
62
 
56
63
  attr_accessor type: :file_citation
57
64
 
58
65
  def initialize: (
59
66
  file_id: String,
67
+ filename: String,
60
68
  index: Integer,
61
69
  ?type: :file_citation
62
70
  ) -> void
63
71
 
64
72
  def to_hash: -> {
65
73
  file_id: String,
74
+ filename: String,
66
75
  index: Integer,
67
76
  type: :file_citation
68
77
  }
@@ -110,6 +119,7 @@ module OpenAI
110
119
  container_id: String,
111
120
  end_index: Integer,
112
121
  file_id: String,
122
+ filename: String,
113
123
  start_index: Integer,
114
124
  type: :container_file_citation
115
125
  }
@@ -121,6 +131,8 @@ module OpenAI
121
131
 
122
132
  attr_accessor file_id: String
123
133
 
134
+ attr_accessor filename: String
135
+
124
136
  attr_accessor start_index: Integer
125
137
 
126
138
  attr_accessor type: :container_file_citation
@@ -129,6 +141,7 @@ module OpenAI
129
141
  container_id: String,
130
142
  end_index: Integer,
131
143
  file_id: String,
144
+ filename: String,
132
145
  start_index: Integer,
133
146
  ?type: :container_file_citation
134
147
  ) -> void
@@ -137,6 +150,7 @@ module OpenAI
137
150
  container_id: String,
138
151
  end_index: Integer,
139
152
  file_id: String,
153
+ filename: String,
140
154
  start_index: Integer,
141
155
  type: :container_file_citation
142
156
  }
@@ -0,0 +1,44 @@
1
+ module OpenAI
2
+ module Models
3
+ module Responses
4
+ type response_prompt =
5
+ {
6
+ id: String,
7
+ variables: ::Hash[Symbol, OpenAI::Models::Responses::ResponsePrompt::variable]?,
8
+ version: String?
9
+ }
10
+
11
+ class ResponsePrompt < OpenAI::Internal::Type::BaseModel
12
+ attr_accessor id: String
13
+
14
+ attr_accessor variables: ::Hash[Symbol, OpenAI::Models::Responses::ResponsePrompt::variable]?
15
+
16
+ attr_accessor version: String?
17
+
18
+ def initialize: (
19
+ id: String,
20
+ ?variables: ::Hash[Symbol, OpenAI::Models::Responses::ResponsePrompt::variable]?,
21
+ ?version: String?
22
+ ) -> void
23
+
24
+ def to_hash: -> {
25
+ id: String,
26
+ variables: ::Hash[Symbol, OpenAI::Models::Responses::ResponsePrompt::variable]?,
27
+ version: String?
28
+ }
29
+
30
+ type variable =
31
+ String
32
+ | OpenAI::Responses::ResponseInputText
33
+ | OpenAI::Responses::ResponseInputImage
34
+ | OpenAI::Responses::ResponseInputFile
35
+
36
+ module Variable
37
+ extend OpenAI::Internal::Type::Union
38
+
39
+ def self?.variants: -> ::Array[OpenAI::Models::Responses::ResponsePrompt::variable]
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
@@ -9,6 +9,7 @@ module OpenAI
9
9
  ?instructions: String,
10
10
  ?response_format: OpenAI::Models::Audio::SpeechCreateParams::response_format,
11
11
  ?speed: Float,
12
+ ?stream_format: OpenAI::Models::Audio::SpeechCreateParams::stream_format,
12
13
  ?request_options: OpenAI::request_opts
13
14
  ) -> StringIO
14
15
 
@@ -18,6 +18,8 @@ module OpenAI
18
18
  ?mask: OpenAI::Internal::file_input,
19
19
  ?model: OpenAI::Models::ImageEditParams::model?,
20
20
  ?n: Integer?,
21
+ ?output_compression: Integer?,
22
+ ?output_format: OpenAI::Models::ImageEditParams::output_format?,
21
23
  ?quality: OpenAI::Models::ImageEditParams::quality?,
22
24
  ?response_format: OpenAI::Models::ImageEditParams::response_format?,
23
25
  ?size: OpenAI::Models::ImageEditParams::size?,
@@ -4,15 +4,16 @@ module OpenAI
4
4
  attr_reader input_items: OpenAI::Resources::Responses::InputItems
5
5
 
6
6
  def create: (
7
- input: OpenAI::Models::Responses::ResponseCreateParams::input,
8
- model: OpenAI::Models::responses_model,
9
7
  ?background: bool?,
10
8
  ?include: ::Array[OpenAI::Models::Responses::response_includable]?,
9
+ ?input: OpenAI::Models::Responses::ResponseCreateParams::input,
11
10
  ?instructions: String?,
12
11
  ?max_output_tokens: Integer?,
13
12
  ?metadata: OpenAI::Models::metadata?,
13
+ ?model: OpenAI::Models::responses_model,
14
14
  ?parallel_tool_calls: bool?,
15
15
  ?previous_response_id: String?,
16
+ ?prompt: OpenAI::Responses::ResponsePrompt?,
16
17
  ?reasoning: OpenAI::Reasoning?,
17
18
  ?service_tier: OpenAI::Models::Responses::ResponseCreateParams::service_tier?,
18
19
  ?store: bool?,
@@ -27,15 +28,16 @@ module OpenAI
27
28
  ) -> OpenAI::Responses::Response
28
29
 
29
30
  def stream_raw: (
30
- input: OpenAI::Models::Responses::ResponseCreateParams::input,
31
- model: OpenAI::Models::responses_model,
32
31
  ?background: bool?,
33
32
  ?include: ::Array[OpenAI::Models::Responses::response_includable]?,
33
+ ?input: OpenAI::Models::Responses::ResponseCreateParams::input,
34
34
  ?instructions: String?,
35
35
  ?max_output_tokens: Integer?,
36
36
  ?metadata: OpenAI::Models::metadata?,
37
+ ?model: OpenAI::Models::responses_model,
37
38
  ?parallel_tool_calls: bool?,
38
39
  ?previous_response_id: String?,
40
+ ?prompt: OpenAI::Responses::ResponsePrompt?,
39
41
  ?reasoning: OpenAI::Reasoning?,
40
42
  ?service_tier: OpenAI::Models::Responses::ResponseCreateParams::service_tier?,
41
43
  ?store: bool?,
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.8.0
4
+ version: 0.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - OpenAI
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-06-10 00:00:00.000000000 Z
11
+ date: 2025-06-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: connection_pool
@@ -424,6 +424,7 @@ files:
424
424
  - lib/openai/models/responses/response_output_refusal.rb
425
425
  - lib/openai/models/responses/response_output_text.rb
426
426
  - lib/openai/models/responses/response_output_text_annotation_added_event.rb
427
+ - lib/openai/models/responses/response_prompt.rb
427
428
  - lib/openai/models/responses/response_queued_event.rb
428
429
  - lib/openai/models/responses/response_reasoning_delta_event.rb
429
430
  - lib/openai/models/responses/response_reasoning_done_event.rb
@@ -919,6 +920,7 @@ files:
919
920
  - rbi/openai/models/responses/response_output_refusal.rbi
920
921
  - rbi/openai/models/responses/response_output_text.rbi
921
922
  - rbi/openai/models/responses/response_output_text_annotation_added_event.rbi
923
+ - rbi/openai/models/responses/response_prompt.rbi
922
924
  - rbi/openai/models/responses/response_queued_event.rbi
923
925
  - rbi/openai/models/responses/response_reasoning_delta_event.rbi
924
926
  - rbi/openai/models/responses/response_reasoning_done_event.rbi
@@ -1406,6 +1408,7 @@ files:
1406
1408
  - sig/openai/models/responses/response_output_refusal.rbs
1407
1409
  - sig/openai/models/responses/response_output_text.rbs
1408
1410
  - sig/openai/models/responses/response_output_text_annotation_added_event.rbs
1411
+ - sig/openai/models/responses/response_prompt.rbs
1409
1412
  - sig/openai/models/responses/response_queued_event.rbs
1410
1413
  - sig/openai/models/responses/response_reasoning_delta_event.rbs
1411
1414
  - sig/openai/models/responses/response_reasoning_done_event.rbs