Skip to content

Commit 63603b3

Browse files
fix(types): improve responses type names (#34)
1 parent 668d77a commit 63603b3

30 files changed

+1202
-1149
lines changed

.stats.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
configured_endpoints: 80
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/openai%2Fopenai-f763c1a35c8b9b02f1e31b9b2e09e21f98bfe8413e5079c86cbb07da2dd7779b.yml
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/openai%2Fopenai-f3bce04386c4fcfd5037e0477fbaa39010003fd1558eb5185fe4a71dd6a05fdd.yml

lib/openai.rb

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
require_relative "openai/models/reasoning_effort"
3737
require_relative "openai/models/chat/chat_completion_message"
3838
require_relative "openai/models/fine_tuning/fine_tuning_job_wandb_integration_object"
39+
require_relative "openai/models/responses/response_function_tool_call"
3940
require_relative "openai/models/audio/speech_create_params"
4041
require_relative "openai/models/audio/speech_model"
4142
require_relative "openai/models/audio/transcription"
@@ -259,6 +260,8 @@
259260
require_relative "openai/models/responses/response_code_interpreter_tool_call"
260261
require_relative "openai/models/responses/response_completed_event"
261262
require_relative "openai/models/responses/response_computer_tool_call"
263+
require_relative "openai/models/responses/response_computer_tool_call_output_item"
264+
require_relative "openai/models/responses/response_computer_tool_call_output_screenshot"
262265
require_relative "openai/models/responses/response_content"
263266
require_relative "openai/models/responses/response_content_part_added_event"
264267
require_relative "openai/models/responses/response_content_part_done_event"
@@ -276,7 +279,8 @@
276279
require_relative "openai/models/responses/response_format_text_json_schema_config"
277280
require_relative "openai/models/responses/response_function_call_arguments_delta_event"
278281
require_relative "openai/models/responses/response_function_call_arguments_done_event"
279-
require_relative "openai/models/responses/response_function_tool_call"
282+
require_relative "openai/models/responses/response_function_tool_call_item"
283+
require_relative "openai/models/responses/response_function_tool_call_output_item"
280284
require_relative "openai/models/responses/response_function_web_search"
281285
require_relative "openai/models/responses/response_includable"
282286
require_relative "openai/models/responses/response_incomplete_event"
@@ -288,7 +292,9 @@
288292
require_relative "openai/models/responses/response_input_image"
289293
require_relative "openai/models/responses/response_input_item"
290294
require_relative "openai/models/responses/response_input_message_content_list"
295+
require_relative "openai/models/responses/response_input_message_item"
291296
require_relative "openai/models/responses/response_input_text"
297+
require_relative "openai/models/responses/response_item"
292298
require_relative "openai/models/responses/response_item_list"
293299
require_relative "openai/models/responses/response_output_audio"
294300
require_relative "openai/models/responses/response_output_item"
Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
# frozen_string_literal: true
2+
3+
module OpenAI
4+
module Models
5+
module Responses
6+
class ResponseComputerToolCallOutputItem < OpenAI::BaseModel
7+
# @!attribute id
8+
# The unique ID of the computer call tool output.
9+
#
10+
# @return [String]
11+
required :id, String
12+
13+
# @!attribute call_id
14+
# The ID of the computer tool call that produced the output.
15+
#
16+
# @return [String]
17+
required :call_id, String
18+
19+
# @!attribute output
20+
# A computer screenshot image used with the computer use tool.
21+
#
22+
# @return [OpenAI::Models::Responses::ResponseComputerToolCallOutputScreenshot]
23+
required :output, -> { OpenAI::Models::Responses::ResponseComputerToolCallOutputScreenshot }
24+
25+
# @!attribute type
26+
# The type of the computer tool call output. Always `computer_call_output`.
27+
#
28+
# @return [Symbol, :computer_call_output]
29+
required :type, const: :computer_call_output
30+
31+
# @!attribute [r] acknowledged_safety_checks
32+
# The safety checks reported by the API that have been acknowledged by the
33+
# developer.
34+
#
35+
# @return [Array<OpenAI::Models::Responses::ResponseComputerToolCallOutputItem::AcknowledgedSafetyCheck>, nil]
36+
optional :acknowledged_safety_checks,
37+
-> { OpenAI::ArrayOf[OpenAI::Models::Responses::ResponseComputerToolCallOutputItem::AcknowledgedSafetyCheck] }
38+
39+
# @!parse
40+
# # @return [Array<OpenAI::Models::Responses::ResponseComputerToolCallOutputItem::AcknowledgedSafetyCheck>]
41+
# attr_writer :acknowledged_safety_checks
42+
43+
# @!attribute [r] status
44+
# The status of the message input. One of `in_progress`, `completed`, or
45+
# `incomplete`. Populated when input items are returned via API.
46+
#
47+
# @return [Symbol, OpenAI::Models::Responses::ResponseComputerToolCallOutputItem::Status, nil]
48+
optional :status, enum: -> { OpenAI::Models::Responses::ResponseComputerToolCallOutputItem::Status }
49+
50+
# @!parse
51+
# # @return [Symbol, OpenAI::Models::Responses::ResponseComputerToolCallOutputItem::Status]
52+
# attr_writer :status
53+
54+
# @!parse
55+
# # @param id [String]
56+
# # @param call_id [String]
57+
# # @param output [OpenAI::Models::Responses::ResponseComputerToolCallOutputScreenshot]
58+
# # @param acknowledged_safety_checks [Array<OpenAI::Models::Responses::ResponseComputerToolCallOutputItem::AcknowledgedSafetyCheck>]
59+
# # @param status [Symbol, OpenAI::Models::Responses::ResponseComputerToolCallOutputItem::Status]
60+
# # @param type [Symbol, :computer_call_output]
61+
# #
62+
# def initialize(id:, call_id:, output:, acknowledged_safety_checks: nil, status: nil, type: :computer_call_output, **) = super
63+
64+
# def initialize: (Hash | OpenAI::BaseModel) -> void
65+
66+
class AcknowledgedSafetyCheck < OpenAI::BaseModel
67+
# @!attribute id
68+
# The ID of the pending safety check.
69+
#
70+
# @return [String]
71+
required :id, String
72+
73+
# @!attribute code
74+
# The type of the pending safety check.
75+
#
76+
# @return [String]
77+
required :code, String
78+
79+
# @!attribute message
80+
# Details about the pending safety check.
81+
#
82+
# @return [String]
83+
required :message, String
84+
85+
# @!parse
86+
# # A pending safety check for the computer call.
87+
# #
88+
# # @param id [String]
89+
# # @param code [String]
90+
# # @param message [String]
91+
# #
92+
# def initialize(id:, code:, message:, **) = super
93+
94+
# def initialize: (Hash | OpenAI::BaseModel) -> void
95+
end
96+
97+
# @abstract
98+
#
99+
# The status of the message input. One of `in_progress`, `completed`, or
100+
# `incomplete`. Populated when input items are returned via API.
101+
class Status < OpenAI::Enum
102+
IN_PROGRESS = :in_progress
103+
COMPLETED = :completed
104+
INCOMPLETE = :incomplete
105+
106+
finalize!
107+
end
108+
end
109+
end
110+
end
111+
end
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# frozen_string_literal: true
2+
3+
module OpenAI
4+
module Models
5+
module Responses
6+
class ResponseComputerToolCallOutputScreenshot < OpenAI::BaseModel
7+
# @!attribute type
8+
# Specifies the event type. For a computer screenshot, this property is always set
9+
# to `computer_screenshot`.
10+
#
11+
# @return [Symbol, :computer_screenshot]
12+
required :type, const: :computer_screenshot
13+
14+
# @!attribute [r] file_id
15+
# The identifier of an uploaded file that contains the screenshot.
16+
#
17+
# @return [String, nil]
18+
optional :file_id, String
19+
20+
# @!parse
21+
# # @return [String]
22+
# attr_writer :file_id
23+
24+
# @!attribute [r] image_url
25+
# The URL of the screenshot image.
26+
#
27+
# @return [String, nil]
28+
optional :image_url, String
29+
30+
# @!parse
31+
# # @return [String]
32+
# attr_writer :image_url
33+
34+
# @!parse
35+
# # A computer screenshot image used with the computer use tool.
36+
# #
37+
# # @param file_id [String]
38+
# # @param image_url [String]
39+
# # @param type [Symbol, :computer_screenshot]
40+
# #
41+
# def initialize(file_id: nil, image_url: nil, type: :computer_screenshot, **) = super
42+
43+
# def initialize: (Hash | OpenAI::BaseModel) -> void
44+
end
45+
end
46+
end
47+
end
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# frozen_string_literal: true
2+
3+
module OpenAI
4+
module Models
5+
module Responses
6+
class ResponseFunctionToolCallItem < OpenAI::Models::Responses::ResponseFunctionToolCall
7+
# @!attribute id
8+
# The unique ID of the function call tool output.
9+
#
10+
# @return [String]
11+
required :id, String
12+
13+
# @!parse
14+
# # A tool call to run a function. See the
15+
# # [function calling guide](https://platform.openai.com/docs/guides/function-calling)
16+
# # for more information.
17+
# #
18+
# # @param id [String]
19+
# #
20+
# def initialize(id:, **) = super
21+
22+
# def initialize: (Hash | OpenAI::BaseModel) -> void
23+
end
24+
end
25+
end
26+
end
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
# frozen_string_literal: true
2+
3+
module OpenAI
4+
module Models
5+
module Responses
6+
class ResponseFunctionToolCallOutputItem < OpenAI::BaseModel
7+
# @!attribute id
8+
# The unique ID of the function call tool output.
9+
#
10+
# @return [String]
11+
required :id, String
12+
13+
# @!attribute call_id
14+
# The unique ID of the function tool call generated by the model.
15+
#
16+
# @return [String]
17+
required :call_id, String
18+
19+
# @!attribute output
20+
# A JSON string of the output of the function tool call.
21+
#
22+
# @return [String]
23+
required :output, String
24+
25+
# @!attribute type
26+
# The type of the function tool call output. Always `function_call_output`.
27+
#
28+
# @return [Symbol, :function_call_output]
29+
required :type, const: :function_call_output
30+
31+
# @!attribute [r] status
32+
# The status of the item. One of `in_progress`, `completed`, or `incomplete`.
33+
# Populated when items are returned via API.
34+
#
35+
# @return [Symbol, OpenAI::Models::Responses::ResponseFunctionToolCallOutputItem::Status, nil]
36+
optional :status, enum: -> { OpenAI::Models::Responses::ResponseFunctionToolCallOutputItem::Status }
37+
38+
# @!parse
39+
# # @return [Symbol, OpenAI::Models::Responses::ResponseFunctionToolCallOutputItem::Status]
40+
# attr_writer :status
41+
42+
# @!parse
43+
# # @param id [String]
44+
# # @param call_id [String]
45+
# # @param output [String]
46+
# # @param status [Symbol, OpenAI::Models::Responses::ResponseFunctionToolCallOutputItem::Status]
47+
# # @param type [Symbol, :function_call_output]
48+
# #
49+
# def initialize(id:, call_id:, output:, status: nil, type: :function_call_output, **) = super
50+
51+
# def initialize: (Hash | OpenAI::BaseModel) -> void
52+
53+
# @abstract
54+
#
55+
# The status of the item. One of `in_progress`, `completed`, or `incomplete`.
56+
# Populated when items are returned via API.
57+
class Status < OpenAI::Enum
58+
IN_PROGRESS = :in_progress
59+
COMPLETED = :completed
60+
INCOMPLETE = :incomplete
61+
62+
finalize!
63+
end
64+
end
65+
end
66+
end
67+
end

lib/openai/models/responses/response_input_item.rb

Lines changed: 3 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -149,8 +149,8 @@ class ComputerCallOutput < OpenAI::BaseModel
149149
# @!attribute output
150150
# A computer screenshot image used with the computer use tool.
151151
#
152-
# @return [OpenAI::Models::Responses::ResponseInputItem::ComputerCallOutput::Output]
153-
required :output, -> { OpenAI::Models::Responses::ResponseInputItem::ComputerCallOutput::Output }
152+
# @return [OpenAI::Models::Responses::ResponseComputerToolCallOutputScreenshot]
153+
required :output, -> { OpenAI::Models::Responses::ResponseComputerToolCallOutputScreenshot }
154154

155155
# @!attribute type
156156
# The type of the computer tool call output. Always `computer_call_output`.
@@ -195,7 +195,7 @@ class ComputerCallOutput < OpenAI::BaseModel
195195
# # The output of a computer tool call.
196196
# #
197197
# # @param call_id [String]
198-
# # @param output [OpenAI::Models::Responses::ResponseInputItem::ComputerCallOutput::Output]
198+
# # @param output [OpenAI::Models::Responses::ResponseComputerToolCallOutputScreenshot]
199199
# # @param id [String]
200200
# # @param acknowledged_safety_checks [Array<OpenAI::Models::Responses::ResponseInputItem::ComputerCallOutput::AcknowledgedSafetyCheck>]
201201
# # @param status [Symbol, OpenAI::Models::Responses::ResponseInputItem::ComputerCallOutput::Status]
@@ -205,46 +205,6 @@ class ComputerCallOutput < OpenAI::BaseModel
205205

206206
# def initialize: (Hash | OpenAI::BaseModel) -> void
207207

208-
class Output < OpenAI::BaseModel
209-
# @!attribute type
210-
# Specifies the event type. For a computer screenshot, this property is always set
211-
# to `computer_screenshot`.
212-
#
213-
# @return [Symbol, :computer_screenshot]
214-
required :type, const: :computer_screenshot
215-
216-
# @!attribute [r] file_id
217-
# The identifier of an uploaded file that contains the screenshot.
218-
#
219-
# @return [String, nil]
220-
optional :file_id, String
221-
222-
# @!parse
223-
# # @return [String]
224-
# attr_writer :file_id
225-
226-
# @!attribute [r] image_url
227-
# The URL of the screenshot image.
228-
#
229-
# @return [String, nil]
230-
optional :image_url, String
231-
232-
# @!parse
233-
# # @return [String]
234-
# attr_writer :image_url
235-
236-
# @!parse
237-
# # A computer screenshot image used with the computer use tool.
238-
# #
239-
# # @param file_id [String]
240-
# # @param image_url [String]
241-
# # @param type [Symbol, :computer_screenshot]
242-
# #
243-
# def initialize(file_id: nil, image_url: nil, type: :computer_screenshot, **) = super
244-
245-
# def initialize: (Hash | OpenAI::BaseModel) -> void
246-
end
247-
248208
class AcknowledgedSafetyCheck < OpenAI::BaseModel
249209
# @!attribute id
250210
# The ID of the pending safety check.

0 commit comments

Comments
 (0)