openai 0.18.1 → 0.19.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +20 -0
- data/README.md +1 -1
- data/lib/openai/client.rb +4 -0
- data/lib/openai/helpers/structured_output/boolean.rb +1 -0
- data/lib/openai/internal/conversation_cursor_page.rb +92 -0
- data/lib/openai/internal/transport/base_client.rb +1 -4
- data/lib/openai/internal/transport/pooled_net_requester.rb +1 -9
- data/lib/openai/internal/util.rb +1 -1
- data/lib/openai/models/audio/transcription.rb +1 -4
- data/lib/openai/models/audio/transcription_create_params.rb +2 -7
- data/lib/openai/models/audio/transcription_text_done_event.rb +1 -4
- data/lib/openai/models/beta/assistant_create_params.rb +6 -19
- data/lib/openai/models/beta/assistant_stream_event.rb +6 -24
- data/lib/openai/models/beta/assistant_update_params.rb +1 -4
- data/lib/openai/models/beta/message_stream_event.rb +1 -4
- data/lib/openai/models/beta/run_step_stream_event.rb +1 -4
- data/lib/openai/models/beta/thread_create_and_run_params.rb +10 -32
- data/lib/openai/models/beta/thread_create_params.rb +7 -22
- data/lib/openai/models/beta/threads/message.rb +3 -10
- data/lib/openai/models/beta/threads/message_create_params.rb +2 -7
- data/lib/openai/models/beta/threads/run.rb +2 -7
- data/lib/openai/models/beta/threads/run_create_params.rb +3 -10
- data/lib/openai/models/beta/threads/run_submit_tool_outputs_params.rb +1 -3
- data/lib/openai/models/beta/threads/runs/code_interpreter_tool_call.rb +5 -17
- data/lib/openai/models/beta/threads/runs/code_interpreter_tool_call_delta.rb +1 -3
- data/lib/openai/models/beta/threads/runs/file_search_tool_call.rb +4 -12
- data/lib/openai/models/beta/threads/runs/run_step_delta_message_delta.rb +1 -4
- data/lib/openai/models/beta/threads/runs/tool_calls_step_details.rb +1 -4
- data/lib/openai/models/beta/threads/text.rb +1 -4
- data/lib/openai/models/chat/chat_completion_chunk.rb +1 -3
- data/lib/openai/models/chat/chat_completion_custom_tool.rb +2 -7
- data/lib/openai/models/conversations/computer_screenshot_content.rb +38 -0
- data/lib/openai/models/conversations/container_file_citation_body.rb +58 -0
- data/lib/openai/models/conversations/conversation.rb +51 -0
- data/lib/openai/models/conversations/conversation_create_params.rb +39 -0
- data/lib/openai/models/conversations/conversation_delete_params.rb +16 -0
- data/lib/openai/models/conversations/conversation_deleted.rb +29 -0
- data/lib/openai/models/conversations/conversation_deleted_resource.rb +30 -0
- data/lib/openai/models/conversations/conversation_item.rb +568 -0
- data/lib/openai/models/conversations/conversation_item_list.rb +55 -0
- data/lib/openai/models/conversations/conversation_retrieve_params.rb +16 -0
- data/lib/openai/models/conversations/conversation_update_params.rb +31 -0
- data/lib/openai/models/conversations/file_citation_body.rb +42 -0
- data/lib/openai/models/conversations/input_file_content.rb +42 -0
- data/lib/openai/models/conversations/input_image_content.rb +62 -0
- data/lib/openai/models/conversations/input_text_content.rb +26 -0
- data/lib/openai/models/conversations/item_create_params.rb +37 -0
- data/lib/openai/models/conversations/item_delete_params.rb +22 -0
- data/lib/openai/models/conversations/item_list_params.rb +84 -0
- data/lib/openai/models/conversations/item_retrieve_params.rb +36 -0
- data/lib/openai/models/conversations/lob_prob.rb +35 -0
- data/lib/openai/models/conversations/message.rb +115 -0
- data/lib/openai/models/conversations/output_text_content.rb +57 -0
- data/lib/openai/models/conversations/refusal_content.rb +26 -0
- data/lib/openai/models/conversations/summary_text_content.rb +23 -0
- data/lib/openai/models/conversations/text_content.rb +23 -0
- data/lib/openai/models/conversations/top_log_prob.rb +29 -0
- data/lib/openai/models/conversations/url_citation_body.rb +50 -0
- data/lib/openai/models/eval_create_params.rb +6 -20
- data/lib/openai/models/evals/create_eval_completions_run_data_source.rb +29 -53
- data/lib/openai/models/evals/create_eval_jsonl_run_data_source.rb +1 -3
- data/lib/openai/models/evals/run_create_params.rb +18 -54
- data/lib/openai/models/fine_tuning/reinforcement_hyperparameters.rb +1 -4
- data/lib/openai/models/moderation.rb +5 -15
- data/lib/openai/models/responses/input_item_list_params.rb +1 -9
- data/lib/openai/models/responses/response.rb +26 -1
- data/lib/openai/models/responses/response_computer_tool_call.rb +2 -6
- data/lib/openai/models/responses/response_computer_tool_call_output_item.rb +1 -3
- data/lib/openai/models/responses/response_conversation_param.rb +20 -0
- data/lib/openai/models/responses/response_create_params.rb +34 -1
- data/lib/openai/models/responses/response_input_item.rb +2 -7
- data/lib/openai/models/responses/response_input_message_item.rb +1 -4
- data/lib/openai/models/responses/response_output_item.rb +1 -3
- data/lib/openai/models/responses/response_output_message.rb +1 -3
- data/lib/openai/models/responses/response_output_text.rb +3 -10
- data/lib/openai/models/responses/response_stream_event.rb +4 -16
- data/lib/openai/models/responses/response_text_delta_event.rb +1 -3
- data/lib/openai/models/responses/response_text_done_event.rb +1 -3
- data/lib/openai/models/responses/tool.rb +145 -34
- data/lib/openai/models.rb +2 -0
- data/lib/openai/resources/conversations/items.rb +141 -0
- data/lib/openai/resources/conversations.rb +112 -0
- data/lib/openai/resources/responses/input_items.rb +1 -3
- data/lib/openai/resources/responses.rb +6 -2
- data/lib/openai/version.rb +1 -1
- data/lib/openai.rb +31 -0
- data/rbi/openai/client.rbi +3 -0
- data/rbi/openai/errors.rbi +5 -5
- data/rbi/openai/internal/conversation_cursor_page.rbi +25 -0
- data/rbi/openai/models/conversations/computer_screenshot_content.rbi +60 -0
- data/rbi/openai/models/conversations/container_file_citation_body.rbi +82 -0
- data/rbi/openai/models/conversations/conversation.rbi +76 -0
- data/rbi/openai/models/conversations/conversation_create_params.rbi +144 -0
- data/rbi/openai/models/conversations/conversation_delete_params.rbi +32 -0
- data/rbi/openai/models/conversations/conversation_deleted.rbi +40 -0
- data/rbi/openai/models/conversations/conversation_deleted_resource.rbi +40 -0
- data/rbi/openai/models/conversations/conversation_item.rbi +835 -0
- data/rbi/openai/models/conversations/conversation_item_list.rbi +101 -0
- data/rbi/openai/models/conversations/conversation_retrieve_params.rbi +32 -0
- data/rbi/openai/models/conversations/conversation_update_params.rbi +56 -0
- data/rbi/openai/models/conversations/file_citation_body.rbi +61 -0
- data/rbi/openai/models/conversations/input_file_content.rbi +72 -0
- data/rbi/openai/models/conversations/input_image_content.rbi +113 -0
- data/rbi/openai/models/conversations/input_text_content.rbi +38 -0
- data/rbi/openai/models/conversations/item_create_params.rbi +150 -0
- data/rbi/openai/models/conversations/item_delete_params.rbi +40 -0
- data/rbi/openai/models/conversations/item_list_params.rbi +174 -0
- data/rbi/openai/models/conversations/item_retrieve_params.rbi +70 -0
- data/rbi/openai/models/conversations/lob_prob.rbi +50 -0
- data/rbi/openai/models/conversations/message.rbi +196 -0
- data/rbi/openai/models/conversations/output_text_content.rbi +110 -0
- data/rbi/openai/models/conversations/refusal_content.rbi +38 -0
- data/rbi/openai/models/conversations/summary_text_content.rbi +31 -0
- data/rbi/openai/models/conversations/text_content.rbi +28 -0
- data/rbi/openai/models/conversations/top_log_prob.rbi +41 -0
- data/rbi/openai/models/conversations/url_citation_body.rbi +74 -0
- data/rbi/openai/models/evals/create_eval_completions_run_data_source.rbi +33 -33
- data/rbi/openai/models/responses/input_item_list_params.rbi +0 -11
- data/rbi/openai/models/responses/response.rbi +49 -0
- data/rbi/openai/models/responses/response_conversation_param.rbi +33 -0
- data/rbi/openai/models/responses/response_create_params.rbi +54 -0
- data/rbi/openai/models/responses/tool.rbi +243 -31
- data/rbi/openai/models.rbi +2 -0
- data/rbi/openai/resources/conversations/items.rbi +152 -0
- data/rbi/openai/resources/conversations.rbi +110 -0
- data/rbi/openai/resources/responses/input_items.rbi +0 -3
- data/rbi/openai/resources/responses.rbi +26 -0
- data/sig/openai/client.rbs +2 -0
- data/sig/openai/internal/conversation_cursor_page.rbs +15 -0
- data/sig/openai/models/conversations/computer_screenshot_content.rbs +28 -0
- data/sig/openai/models/conversations/container_file_citation_body.rbs +47 -0
- data/sig/openai/models/conversations/conversation.rbs +37 -0
- data/sig/openai/models/conversations/conversation_create_params.rbs +33 -0
- data/sig/openai/models/conversations/conversation_delete_params.rbs +17 -0
- data/sig/openai/models/conversations/conversation_deleted.rbs +28 -0
- data/sig/openai/models/conversations/conversation_deleted_resource.rbs +28 -0
- data/sig/openai/models/conversations/conversation_item.rbs +403 -0
- data/sig/openai/models/conversations/conversation_item_list.rbs +44 -0
- data/sig/openai/models/conversations/conversation_retrieve_params.rbs +17 -0
- data/sig/openai/models/conversations/conversation_update_params.rbs +26 -0
- data/sig/openai/models/conversations/file_citation_body.rbs +37 -0
- data/sig/openai/models/conversations/input_file_content.rbs +41 -0
- data/sig/openai/models/conversations/input_image_content.rbs +49 -0
- data/sig/openai/models/conversations/input_text_content.rbs +17 -0
- data/sig/openai/models/conversations/item_create_params.rbs +37 -0
- data/sig/openai/models/conversations/item_delete_params.rbs +25 -0
- data/sig/openai/models/conversations/item_list_params.rbs +66 -0
- data/sig/openai/models/conversations/item_retrieve_params.rbs +37 -0
- data/sig/openai/models/conversations/lob_prob.rbs +37 -0
- data/sig/openai/models/conversations/message.rbs +95 -0
- data/sig/openai/models/conversations/output_text_content.rbs +52 -0
- data/sig/openai/models/conversations/refusal_content.rbs +17 -0
- data/sig/openai/models/conversations/summary_text_content.rbs +17 -0
- data/sig/openai/models/conversations/text_content.rbs +17 -0
- data/sig/openai/models/conversations/top_log_prob.rbs +28 -0
- data/sig/openai/models/conversations/url_citation_body.rbs +42 -0
- data/sig/openai/models/evals/create_eval_completions_run_data_source.rbs +22 -22
- data/sig/openai/models/responses/input_item_list_params.rbs +0 -7
- data/sig/openai/models/responses/response.rbs +15 -0
- data/sig/openai/models/responses/response_conversation_param.rbs +15 -0
- data/sig/openai/models/responses/response_create_params.rbs +14 -0
- data/sig/openai/models/responses/tool.rbs +83 -18
- data/sig/openai/models.rbs +2 -0
- data/sig/openai/resources/conversations/items.rbs +38 -0
- data/sig/openai/resources/conversations.rbs +31 -0
- data/sig/openai/resources/responses/input_items.rbs +0 -1
- data/sig/openai/resources/responses.rbs +2 -0
- metadata +95 -2
@@ -0,0 +1,101 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module OpenAI
|
4
|
+
module Models
|
5
|
+
ConversationItemList = Conversations::ConversationItemList
|
6
|
+
|
7
|
+
module Conversations
|
8
|
+
class ConversationItemList < OpenAI::Internal::Type::BaseModel
|
9
|
+
OrHash =
|
10
|
+
T.type_alias do
|
11
|
+
T.any(
|
12
|
+
OpenAI::Conversations::ConversationItemList,
|
13
|
+
OpenAI::Internal::AnyHash
|
14
|
+
)
|
15
|
+
end
|
16
|
+
|
17
|
+
# A list of conversation items.
|
18
|
+
sig do
|
19
|
+
returns(T::Array[OpenAI::Conversations::ConversationItem::Variants])
|
20
|
+
end
|
21
|
+
attr_accessor :data
|
22
|
+
|
23
|
+
# The ID of the first item in the list.
|
24
|
+
sig { returns(String) }
|
25
|
+
attr_accessor :first_id
|
26
|
+
|
27
|
+
# Whether there are more items available.
|
28
|
+
sig { returns(T::Boolean) }
|
29
|
+
attr_accessor :has_more
|
30
|
+
|
31
|
+
# The ID of the last item in the list.
|
32
|
+
sig { returns(String) }
|
33
|
+
attr_accessor :last_id
|
34
|
+
|
35
|
+
# The type of object returned, must be `list`.
|
36
|
+
sig { returns(Symbol) }
|
37
|
+
attr_accessor :object
|
38
|
+
|
39
|
+
# A list of Conversation items.
|
40
|
+
sig do
|
41
|
+
params(
|
42
|
+
data:
|
43
|
+
T::Array[
|
44
|
+
T.any(
|
45
|
+
OpenAI::Conversations::Message::OrHash,
|
46
|
+
OpenAI::Responses::ResponseFunctionToolCallItem::OrHash,
|
47
|
+
OpenAI::Responses::ResponseFunctionToolCallOutputItem::OrHash,
|
48
|
+
OpenAI::Responses::ResponseFileSearchToolCall::OrHash,
|
49
|
+
OpenAI::Responses::ResponseFunctionWebSearch::OrHash,
|
50
|
+
OpenAI::Conversations::ConversationItem::ImageGenerationCall::OrHash,
|
51
|
+
OpenAI::Responses::ResponseComputerToolCall::OrHash,
|
52
|
+
OpenAI::Responses::ResponseComputerToolCallOutputItem::OrHash,
|
53
|
+
OpenAI::Responses::ResponseReasoningItem::OrHash,
|
54
|
+
OpenAI::Responses::ResponseCodeInterpreterToolCall::OrHash,
|
55
|
+
OpenAI::Conversations::ConversationItem::LocalShellCall::OrHash,
|
56
|
+
OpenAI::Conversations::ConversationItem::LocalShellCallOutput::OrHash,
|
57
|
+
OpenAI::Conversations::ConversationItem::McpListTools::OrHash,
|
58
|
+
OpenAI::Conversations::ConversationItem::McpApprovalRequest::OrHash,
|
59
|
+
OpenAI::Conversations::ConversationItem::McpApprovalResponse::OrHash,
|
60
|
+
OpenAI::Conversations::ConversationItem::McpCall::OrHash,
|
61
|
+
OpenAI::Responses::ResponseCustomToolCall::OrHash,
|
62
|
+
OpenAI::Responses::ResponseCustomToolCallOutput::OrHash
|
63
|
+
)
|
64
|
+
],
|
65
|
+
first_id: String,
|
66
|
+
has_more: T::Boolean,
|
67
|
+
last_id: String,
|
68
|
+
object: Symbol
|
69
|
+
).returns(T.attached_class)
|
70
|
+
end
|
71
|
+
def self.new(
|
72
|
+
# A list of conversation items.
|
73
|
+
data:,
|
74
|
+
# The ID of the first item in the list.
|
75
|
+
first_id:,
|
76
|
+
# Whether there are more items available.
|
77
|
+
has_more:,
|
78
|
+
# The ID of the last item in the list.
|
79
|
+
last_id:,
|
80
|
+
# The type of object returned, must be `list`.
|
81
|
+
object: :list
|
82
|
+
)
|
83
|
+
end
|
84
|
+
|
85
|
+
sig do
|
86
|
+
override.returns(
|
87
|
+
{
|
88
|
+
data: T::Array[OpenAI::Conversations::ConversationItem::Variants],
|
89
|
+
first_id: String,
|
90
|
+
has_more: T::Boolean,
|
91
|
+
last_id: String,
|
92
|
+
object: Symbol
|
93
|
+
}
|
94
|
+
)
|
95
|
+
end
|
96
|
+
def to_hash
|
97
|
+
end
|
98
|
+
end
|
99
|
+
end
|
100
|
+
end
|
101
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module OpenAI
|
4
|
+
module Models
|
5
|
+
module Conversations
|
6
|
+
class ConversationRetrieveParams < OpenAI::Internal::Type::BaseModel
|
7
|
+
extend OpenAI::Internal::Type::RequestParameters::Converter
|
8
|
+
include OpenAI::Internal::Type::RequestParameters
|
9
|
+
|
10
|
+
OrHash =
|
11
|
+
T.type_alias do
|
12
|
+
T.any(
|
13
|
+
OpenAI::Conversations::ConversationRetrieveParams,
|
14
|
+
OpenAI::Internal::AnyHash
|
15
|
+
)
|
16
|
+
end
|
17
|
+
|
18
|
+
sig do
|
19
|
+
params(request_options: OpenAI::RequestOptions::OrHash).returns(
|
20
|
+
T.attached_class
|
21
|
+
)
|
22
|
+
end
|
23
|
+
def self.new(request_options: {})
|
24
|
+
end
|
25
|
+
|
26
|
+
sig { override.returns({ request_options: OpenAI::RequestOptions }) }
|
27
|
+
def to_hash
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,56 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module OpenAI
|
4
|
+
module Models
|
5
|
+
module Conversations
|
6
|
+
class ConversationUpdateParams < OpenAI::Internal::Type::BaseModel
|
7
|
+
extend OpenAI::Internal::Type::RequestParameters::Converter
|
8
|
+
include OpenAI::Internal::Type::RequestParameters
|
9
|
+
|
10
|
+
OrHash =
|
11
|
+
T.type_alias do
|
12
|
+
T.any(
|
13
|
+
OpenAI::Conversations::ConversationUpdateParams,
|
14
|
+
OpenAI::Internal::AnyHash
|
15
|
+
)
|
16
|
+
end
|
17
|
+
|
18
|
+
# Set of 16 key-value pairs that can be attached to an object. This can be useful
|
19
|
+
# for storing additional information about the object in a structured format, and
|
20
|
+
# querying for objects via API or the dashboard. Keys are strings with a maximum
|
21
|
+
# length of 64 characters. Values are strings with a maximum length of 512
|
22
|
+
# characters.
|
23
|
+
sig { returns(T::Hash[Symbol, String]) }
|
24
|
+
attr_accessor :metadata
|
25
|
+
|
26
|
+
sig do
|
27
|
+
params(
|
28
|
+
metadata: T::Hash[Symbol, String],
|
29
|
+
request_options: OpenAI::RequestOptions::OrHash
|
30
|
+
).returns(T.attached_class)
|
31
|
+
end
|
32
|
+
def self.new(
|
33
|
+
# Set of 16 key-value pairs that can be attached to an object. This can be useful
|
34
|
+
# for storing additional information about the object in a structured format, and
|
35
|
+
# querying for objects via API or the dashboard. Keys are strings with a maximum
|
36
|
+
# length of 64 characters. Values are strings with a maximum length of 512
|
37
|
+
# characters.
|
38
|
+
metadata:,
|
39
|
+
request_options: {}
|
40
|
+
)
|
41
|
+
end
|
42
|
+
|
43
|
+
sig do
|
44
|
+
override.returns(
|
45
|
+
{
|
46
|
+
metadata: T::Hash[Symbol, String],
|
47
|
+
request_options: OpenAI::RequestOptions
|
48
|
+
}
|
49
|
+
)
|
50
|
+
end
|
51
|
+
def to_hash
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
@@ -0,0 +1,61 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module OpenAI
|
4
|
+
module Models
|
5
|
+
module Conversations
|
6
|
+
class FileCitationBody < OpenAI::Internal::Type::BaseModel
|
7
|
+
OrHash =
|
8
|
+
T.type_alias do
|
9
|
+
T.any(
|
10
|
+
OpenAI::Conversations::FileCitationBody,
|
11
|
+
OpenAI::Internal::AnyHash
|
12
|
+
)
|
13
|
+
end
|
14
|
+
|
15
|
+
# The ID of the file.
|
16
|
+
sig { returns(String) }
|
17
|
+
attr_accessor :file_id
|
18
|
+
|
19
|
+
# The filename of the file cited.
|
20
|
+
sig { returns(String) }
|
21
|
+
attr_accessor :filename
|
22
|
+
|
23
|
+
# The index of the file in the list of files.
|
24
|
+
sig { returns(Integer) }
|
25
|
+
attr_accessor :index
|
26
|
+
|
27
|
+
# The type of the file citation. Always `file_citation`.
|
28
|
+
sig { returns(Symbol) }
|
29
|
+
attr_accessor :type
|
30
|
+
|
31
|
+
sig do
|
32
|
+
params(
|
33
|
+
file_id: String,
|
34
|
+
filename: String,
|
35
|
+
index: Integer,
|
36
|
+
type: Symbol
|
37
|
+
).returns(T.attached_class)
|
38
|
+
end
|
39
|
+
def self.new(
|
40
|
+
# The ID of the file.
|
41
|
+
file_id:,
|
42
|
+
# The filename of the file cited.
|
43
|
+
filename:,
|
44
|
+
# The index of the file in the list of files.
|
45
|
+
index:,
|
46
|
+
# The type of the file citation. Always `file_citation`.
|
47
|
+
type: :file_citation
|
48
|
+
)
|
49
|
+
end
|
50
|
+
|
51
|
+
sig do
|
52
|
+
override.returns(
|
53
|
+
{ file_id: String, filename: String, index: Integer, type: Symbol }
|
54
|
+
)
|
55
|
+
end
|
56
|
+
def to_hash
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
@@ -0,0 +1,72 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module OpenAI
|
4
|
+
module Models
|
5
|
+
module Conversations
|
6
|
+
class InputFileContent < OpenAI::Internal::Type::BaseModel
|
7
|
+
OrHash =
|
8
|
+
T.type_alias do
|
9
|
+
T.any(
|
10
|
+
OpenAI::Conversations::InputFileContent,
|
11
|
+
OpenAI::Internal::AnyHash
|
12
|
+
)
|
13
|
+
end
|
14
|
+
|
15
|
+
# The ID of the file to be sent to the model.
|
16
|
+
sig { returns(T.nilable(String)) }
|
17
|
+
attr_accessor :file_id
|
18
|
+
|
19
|
+
# The type of the input item. Always `input_file`.
|
20
|
+
sig { returns(Symbol) }
|
21
|
+
attr_accessor :type
|
22
|
+
|
23
|
+
# The URL of the file to be sent to the model.
|
24
|
+
sig { returns(T.nilable(String)) }
|
25
|
+
attr_reader :file_url
|
26
|
+
|
27
|
+
sig { params(file_url: String).void }
|
28
|
+
attr_writer :file_url
|
29
|
+
|
30
|
+
# The name of the file to be sent to the model.
|
31
|
+
sig { returns(T.nilable(String)) }
|
32
|
+
attr_reader :filename
|
33
|
+
|
34
|
+
sig { params(filename: String).void }
|
35
|
+
attr_writer :filename
|
36
|
+
|
37
|
+
sig do
|
38
|
+
params(
|
39
|
+
file_id: T.nilable(String),
|
40
|
+
file_url: String,
|
41
|
+
filename: String,
|
42
|
+
type: Symbol
|
43
|
+
).returns(T.attached_class)
|
44
|
+
end
|
45
|
+
def self.new(
|
46
|
+
# The ID of the file to be sent to the model.
|
47
|
+
file_id:,
|
48
|
+
# The URL of the file to be sent to the model.
|
49
|
+
file_url: nil,
|
50
|
+
# The name of the file to be sent to the model.
|
51
|
+
filename: nil,
|
52
|
+
# The type of the input item. Always `input_file`.
|
53
|
+
type: :input_file
|
54
|
+
)
|
55
|
+
end
|
56
|
+
|
57
|
+
sig do
|
58
|
+
override.returns(
|
59
|
+
{
|
60
|
+
file_id: T.nilable(String),
|
61
|
+
type: Symbol,
|
62
|
+
file_url: String,
|
63
|
+
filename: String
|
64
|
+
}
|
65
|
+
)
|
66
|
+
end
|
67
|
+
def to_hash
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
@@ -0,0 +1,113 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module OpenAI
|
4
|
+
module Models
|
5
|
+
module Conversations
|
6
|
+
class InputImageContent < OpenAI::Internal::Type::BaseModel
|
7
|
+
OrHash =
|
8
|
+
T.type_alias do
|
9
|
+
T.any(
|
10
|
+
OpenAI::Conversations::InputImageContent,
|
11
|
+
OpenAI::Internal::AnyHash
|
12
|
+
)
|
13
|
+
end
|
14
|
+
|
15
|
+
# The detail level of the image to be sent to the model. One of `high`, `low`, or
|
16
|
+
# `auto`. Defaults to `auto`.
|
17
|
+
sig do
|
18
|
+
returns(
|
19
|
+
OpenAI::Conversations::InputImageContent::Detail::TaggedSymbol
|
20
|
+
)
|
21
|
+
end
|
22
|
+
attr_accessor :detail
|
23
|
+
|
24
|
+
# The ID of the file to be sent to the model.
|
25
|
+
sig { returns(T.nilable(String)) }
|
26
|
+
attr_accessor :file_id
|
27
|
+
|
28
|
+
# The URL of the image to be sent to the model. A fully qualified URL or base64
|
29
|
+
# encoded image in a data URL.
|
30
|
+
sig { returns(T.nilable(String)) }
|
31
|
+
attr_accessor :image_url
|
32
|
+
|
33
|
+
# The type of the input item. Always `input_image`.
|
34
|
+
sig { returns(Symbol) }
|
35
|
+
attr_accessor :type
|
36
|
+
|
37
|
+
sig do
|
38
|
+
params(
|
39
|
+
detail: OpenAI::Conversations::InputImageContent::Detail::OrSymbol,
|
40
|
+
file_id: T.nilable(String),
|
41
|
+
image_url: T.nilable(String),
|
42
|
+
type: Symbol
|
43
|
+
).returns(T.attached_class)
|
44
|
+
end
|
45
|
+
def self.new(
|
46
|
+
# The detail level of the image to be sent to the model. One of `high`, `low`, or
|
47
|
+
# `auto`. Defaults to `auto`.
|
48
|
+
detail:,
|
49
|
+
# The ID of the file to be sent to the model.
|
50
|
+
file_id:,
|
51
|
+
# The URL of the image to be sent to the model. A fully qualified URL or base64
|
52
|
+
# encoded image in a data URL.
|
53
|
+
image_url:,
|
54
|
+
# The type of the input item. Always `input_image`.
|
55
|
+
type: :input_image
|
56
|
+
)
|
57
|
+
end
|
58
|
+
|
59
|
+
sig do
|
60
|
+
override.returns(
|
61
|
+
{
|
62
|
+
detail:
|
63
|
+
OpenAI::Conversations::InputImageContent::Detail::TaggedSymbol,
|
64
|
+
file_id: T.nilable(String),
|
65
|
+
image_url: T.nilable(String),
|
66
|
+
type: Symbol
|
67
|
+
}
|
68
|
+
)
|
69
|
+
end
|
70
|
+
def to_hash
|
71
|
+
end
|
72
|
+
|
73
|
+
# The detail level of the image to be sent to the model. One of `high`, `low`, or
|
74
|
+
# `auto`. Defaults to `auto`.
|
75
|
+
module Detail
|
76
|
+
extend OpenAI::Internal::Type::Enum
|
77
|
+
|
78
|
+
TaggedSymbol =
|
79
|
+
T.type_alias do
|
80
|
+
T.all(Symbol, OpenAI::Conversations::InputImageContent::Detail)
|
81
|
+
end
|
82
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
83
|
+
|
84
|
+
LOW =
|
85
|
+
T.let(
|
86
|
+
:low,
|
87
|
+
OpenAI::Conversations::InputImageContent::Detail::TaggedSymbol
|
88
|
+
)
|
89
|
+
HIGH =
|
90
|
+
T.let(
|
91
|
+
:high,
|
92
|
+
OpenAI::Conversations::InputImageContent::Detail::TaggedSymbol
|
93
|
+
)
|
94
|
+
AUTO =
|
95
|
+
T.let(
|
96
|
+
:auto,
|
97
|
+
OpenAI::Conversations::InputImageContent::Detail::TaggedSymbol
|
98
|
+
)
|
99
|
+
|
100
|
+
sig do
|
101
|
+
override.returns(
|
102
|
+
T::Array[
|
103
|
+
OpenAI::Conversations::InputImageContent::Detail::TaggedSymbol
|
104
|
+
]
|
105
|
+
)
|
106
|
+
end
|
107
|
+
def self.values
|
108
|
+
end
|
109
|
+
end
|
110
|
+
end
|
111
|
+
end
|
112
|
+
end
|
113
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module OpenAI
|
4
|
+
module Models
|
5
|
+
module Conversations
|
6
|
+
class InputTextContent < OpenAI::Internal::Type::BaseModel
|
7
|
+
OrHash =
|
8
|
+
T.type_alias do
|
9
|
+
T.any(
|
10
|
+
OpenAI::Conversations::InputTextContent,
|
11
|
+
OpenAI::Internal::AnyHash
|
12
|
+
)
|
13
|
+
end
|
14
|
+
|
15
|
+
# The text input to the model.
|
16
|
+
sig { returns(String) }
|
17
|
+
attr_accessor :text
|
18
|
+
|
19
|
+
# The type of the input item. Always `input_text`.
|
20
|
+
sig { returns(Symbol) }
|
21
|
+
attr_accessor :type
|
22
|
+
|
23
|
+
sig { params(text: String, type: Symbol).returns(T.attached_class) }
|
24
|
+
def self.new(
|
25
|
+
# The text input to the model.
|
26
|
+
text:,
|
27
|
+
# The type of the input item. Always `input_text`.
|
28
|
+
type: :input_text
|
29
|
+
)
|
30
|
+
end
|
31
|
+
|
32
|
+
sig { override.returns({ text: String, type: Symbol }) }
|
33
|
+
def to_hash
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,150 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module OpenAI
|
4
|
+
module Models
|
5
|
+
module Conversations
|
6
|
+
class ItemCreateParams < OpenAI::Internal::Type::BaseModel
|
7
|
+
extend OpenAI::Internal::Type::RequestParameters::Converter
|
8
|
+
include OpenAI::Internal::Type::RequestParameters
|
9
|
+
|
10
|
+
OrHash =
|
11
|
+
T.type_alias do
|
12
|
+
T.any(
|
13
|
+
OpenAI::Conversations::ItemCreateParams,
|
14
|
+
OpenAI::Internal::AnyHash
|
15
|
+
)
|
16
|
+
end
|
17
|
+
|
18
|
+
# The items to add to the conversation. You may add up to 20 items at a time.
|
19
|
+
sig do
|
20
|
+
returns(
|
21
|
+
T::Array[
|
22
|
+
T.any(
|
23
|
+
OpenAI::Responses::EasyInputMessage,
|
24
|
+
OpenAI::Responses::ResponseInputItem::Message,
|
25
|
+
OpenAI::Responses::ResponseOutputMessage,
|
26
|
+
OpenAI::Responses::ResponseFileSearchToolCall,
|
27
|
+
OpenAI::Responses::ResponseComputerToolCall,
|
28
|
+
OpenAI::Responses::ResponseInputItem::ComputerCallOutput,
|
29
|
+
OpenAI::Responses::ResponseFunctionWebSearch,
|
30
|
+
OpenAI::Responses::ResponseFunctionToolCall,
|
31
|
+
OpenAI::Responses::ResponseInputItem::FunctionCallOutput,
|
32
|
+
OpenAI::Responses::ResponseReasoningItem,
|
33
|
+
OpenAI::Responses::ResponseInputItem::ImageGenerationCall,
|
34
|
+
OpenAI::Responses::ResponseCodeInterpreterToolCall,
|
35
|
+
OpenAI::Responses::ResponseInputItem::LocalShellCall,
|
36
|
+
OpenAI::Responses::ResponseInputItem::LocalShellCallOutput,
|
37
|
+
OpenAI::Responses::ResponseInputItem::McpListTools,
|
38
|
+
OpenAI::Responses::ResponseInputItem::McpApprovalRequest,
|
39
|
+
OpenAI::Responses::ResponseInputItem::McpApprovalResponse,
|
40
|
+
OpenAI::Responses::ResponseInputItem::McpCall,
|
41
|
+
OpenAI::Responses::ResponseCustomToolCallOutput,
|
42
|
+
OpenAI::Responses::ResponseCustomToolCall,
|
43
|
+
OpenAI::Responses::ResponseInputItem::ItemReference
|
44
|
+
)
|
45
|
+
]
|
46
|
+
)
|
47
|
+
end
|
48
|
+
attr_accessor :items
|
49
|
+
|
50
|
+
# Additional fields to include in the response. See the `include` parameter for
|
51
|
+
# [listing Conversation items above](https://platform.openai.com/docs/api-reference/conversations/list-items#conversations_list_items-include)
|
52
|
+
# for more information.
|
53
|
+
sig do
|
54
|
+
returns(
|
55
|
+
T.nilable(T::Array[OpenAI::Responses::ResponseIncludable::OrSymbol])
|
56
|
+
)
|
57
|
+
end
|
58
|
+
attr_reader :include
|
59
|
+
|
60
|
+
sig do
|
61
|
+
params(
|
62
|
+
include: T::Array[OpenAI::Responses::ResponseIncludable::OrSymbol]
|
63
|
+
).void
|
64
|
+
end
|
65
|
+
attr_writer :include
|
66
|
+
|
67
|
+
sig do
|
68
|
+
params(
|
69
|
+
items:
|
70
|
+
T::Array[
|
71
|
+
T.any(
|
72
|
+
OpenAI::Responses::EasyInputMessage::OrHash,
|
73
|
+
OpenAI::Responses::ResponseInputItem::Message::OrHash,
|
74
|
+
OpenAI::Responses::ResponseOutputMessage::OrHash,
|
75
|
+
OpenAI::Responses::ResponseFileSearchToolCall::OrHash,
|
76
|
+
OpenAI::Responses::ResponseComputerToolCall::OrHash,
|
77
|
+
OpenAI::Responses::ResponseInputItem::ComputerCallOutput::OrHash,
|
78
|
+
OpenAI::Responses::ResponseFunctionWebSearch::OrHash,
|
79
|
+
OpenAI::Responses::ResponseFunctionToolCall::OrHash,
|
80
|
+
OpenAI::Responses::ResponseInputItem::FunctionCallOutput::OrHash,
|
81
|
+
OpenAI::Responses::ResponseReasoningItem::OrHash,
|
82
|
+
OpenAI::Responses::ResponseInputItem::ImageGenerationCall::OrHash,
|
83
|
+
OpenAI::Responses::ResponseCodeInterpreterToolCall::OrHash,
|
84
|
+
OpenAI::Responses::ResponseInputItem::LocalShellCall::OrHash,
|
85
|
+
OpenAI::Responses::ResponseInputItem::LocalShellCallOutput::OrHash,
|
86
|
+
OpenAI::Responses::ResponseInputItem::McpListTools::OrHash,
|
87
|
+
OpenAI::Responses::ResponseInputItem::McpApprovalRequest::OrHash,
|
88
|
+
OpenAI::Responses::ResponseInputItem::McpApprovalResponse::OrHash,
|
89
|
+
OpenAI::Responses::ResponseInputItem::McpCall::OrHash,
|
90
|
+
OpenAI::Responses::ResponseCustomToolCallOutput::OrHash,
|
91
|
+
OpenAI::Responses::ResponseCustomToolCall::OrHash,
|
92
|
+
OpenAI::Responses::ResponseInputItem::ItemReference::OrHash
|
93
|
+
)
|
94
|
+
],
|
95
|
+
include: T::Array[OpenAI::Responses::ResponseIncludable::OrSymbol],
|
96
|
+
request_options: OpenAI::RequestOptions::OrHash
|
97
|
+
).returns(T.attached_class)
|
98
|
+
end
|
99
|
+
def self.new(
|
100
|
+
# The items to add to the conversation. You may add up to 20 items at a time.
|
101
|
+
items:,
|
102
|
+
# Additional fields to include in the response. See the `include` parameter for
|
103
|
+
# [listing Conversation items above](https://platform.openai.com/docs/api-reference/conversations/list-items#conversations_list_items-include)
|
104
|
+
# for more information.
|
105
|
+
include: nil,
|
106
|
+
request_options: {}
|
107
|
+
)
|
108
|
+
end
|
109
|
+
|
110
|
+
sig do
|
111
|
+
override.returns(
|
112
|
+
{
|
113
|
+
items:
|
114
|
+
T::Array[
|
115
|
+
T.any(
|
116
|
+
OpenAI::Responses::EasyInputMessage,
|
117
|
+
OpenAI::Responses::ResponseInputItem::Message,
|
118
|
+
OpenAI::Responses::ResponseOutputMessage,
|
119
|
+
OpenAI::Responses::ResponseFileSearchToolCall,
|
120
|
+
OpenAI::Responses::ResponseComputerToolCall,
|
121
|
+
OpenAI::Responses::ResponseInputItem::ComputerCallOutput,
|
122
|
+
OpenAI::Responses::ResponseFunctionWebSearch,
|
123
|
+
OpenAI::Responses::ResponseFunctionToolCall,
|
124
|
+
OpenAI::Responses::ResponseInputItem::FunctionCallOutput,
|
125
|
+
OpenAI::Responses::ResponseReasoningItem,
|
126
|
+
OpenAI::Responses::ResponseInputItem::ImageGenerationCall,
|
127
|
+
OpenAI::Responses::ResponseCodeInterpreterToolCall,
|
128
|
+
OpenAI::Responses::ResponseInputItem::LocalShellCall,
|
129
|
+
OpenAI::Responses::ResponseInputItem::LocalShellCallOutput,
|
130
|
+
OpenAI::Responses::ResponseInputItem::McpListTools,
|
131
|
+
OpenAI::Responses::ResponseInputItem::McpApprovalRequest,
|
132
|
+
OpenAI::Responses::ResponseInputItem::McpApprovalResponse,
|
133
|
+
OpenAI::Responses::ResponseInputItem::McpCall,
|
134
|
+
OpenAI::Responses::ResponseCustomToolCallOutput,
|
135
|
+
OpenAI::Responses::ResponseCustomToolCall,
|
136
|
+
OpenAI::Responses::ResponseInputItem::ItemReference
|
137
|
+
)
|
138
|
+
],
|
139
|
+
include:
|
140
|
+
T::Array[OpenAI::Responses::ResponseIncludable::OrSymbol],
|
141
|
+
request_options: OpenAI::RequestOptions
|
142
|
+
}
|
143
|
+
)
|
144
|
+
end
|
145
|
+
def to_hash
|
146
|
+
end
|
147
|
+
end
|
148
|
+
end
|
149
|
+
end
|
150
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module OpenAI
|
4
|
+
module Models
|
5
|
+
module Conversations
|
6
|
+
class ItemDeleteParams < OpenAI::Internal::Type::BaseModel
|
7
|
+
extend OpenAI::Internal::Type::RequestParameters::Converter
|
8
|
+
include OpenAI::Internal::Type::RequestParameters
|
9
|
+
|
10
|
+
OrHash =
|
11
|
+
T.type_alias do
|
12
|
+
T.any(
|
13
|
+
OpenAI::Conversations::ItemDeleteParams,
|
14
|
+
OpenAI::Internal::AnyHash
|
15
|
+
)
|
16
|
+
end
|
17
|
+
|
18
|
+
sig { returns(String) }
|
19
|
+
attr_accessor :conversation_id
|
20
|
+
|
21
|
+
sig do
|
22
|
+
params(
|
23
|
+
conversation_id: String,
|
24
|
+
request_options: OpenAI::RequestOptions::OrHash
|
25
|
+
).returns(T.attached_class)
|
26
|
+
end
|
27
|
+
def self.new(conversation_id:, request_options: {})
|
28
|
+
end
|
29
|
+
|
30
|
+
sig do
|
31
|
+
override.returns(
|
32
|
+
{ conversation_id: String, request_options: OpenAI::RequestOptions }
|
33
|
+
)
|
34
|
+
end
|
35
|
+
def to_hash
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|