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.
Files changed (169) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +20 -0
  3. data/README.md +1 -1
  4. data/lib/openai/client.rb +4 -0
  5. data/lib/openai/helpers/structured_output/boolean.rb +1 -0
  6. data/lib/openai/internal/conversation_cursor_page.rb +92 -0
  7. data/lib/openai/internal/transport/base_client.rb +1 -4
  8. data/lib/openai/internal/transport/pooled_net_requester.rb +1 -9
  9. data/lib/openai/internal/util.rb +1 -1
  10. data/lib/openai/models/audio/transcription.rb +1 -4
  11. data/lib/openai/models/audio/transcription_create_params.rb +2 -7
  12. data/lib/openai/models/audio/transcription_text_done_event.rb +1 -4
  13. data/lib/openai/models/beta/assistant_create_params.rb +6 -19
  14. data/lib/openai/models/beta/assistant_stream_event.rb +6 -24
  15. data/lib/openai/models/beta/assistant_update_params.rb +1 -4
  16. data/lib/openai/models/beta/message_stream_event.rb +1 -4
  17. data/lib/openai/models/beta/run_step_stream_event.rb +1 -4
  18. data/lib/openai/models/beta/thread_create_and_run_params.rb +10 -32
  19. data/lib/openai/models/beta/thread_create_params.rb +7 -22
  20. data/lib/openai/models/beta/threads/message.rb +3 -10
  21. data/lib/openai/models/beta/threads/message_create_params.rb +2 -7
  22. data/lib/openai/models/beta/threads/run.rb +2 -7
  23. data/lib/openai/models/beta/threads/run_create_params.rb +3 -10
  24. data/lib/openai/models/beta/threads/run_submit_tool_outputs_params.rb +1 -3
  25. data/lib/openai/models/beta/threads/runs/code_interpreter_tool_call.rb +5 -17
  26. data/lib/openai/models/beta/threads/runs/code_interpreter_tool_call_delta.rb +1 -3
  27. data/lib/openai/models/beta/threads/runs/file_search_tool_call.rb +4 -12
  28. data/lib/openai/models/beta/threads/runs/run_step_delta_message_delta.rb +1 -4
  29. data/lib/openai/models/beta/threads/runs/tool_calls_step_details.rb +1 -4
  30. data/lib/openai/models/beta/threads/text.rb +1 -4
  31. data/lib/openai/models/chat/chat_completion_chunk.rb +1 -3
  32. data/lib/openai/models/chat/chat_completion_custom_tool.rb +2 -7
  33. data/lib/openai/models/conversations/computer_screenshot_content.rb +38 -0
  34. data/lib/openai/models/conversations/container_file_citation_body.rb +58 -0
  35. data/lib/openai/models/conversations/conversation.rb +51 -0
  36. data/lib/openai/models/conversations/conversation_create_params.rb +39 -0
  37. data/lib/openai/models/conversations/conversation_delete_params.rb +16 -0
  38. data/lib/openai/models/conversations/conversation_deleted.rb +29 -0
  39. data/lib/openai/models/conversations/conversation_deleted_resource.rb +30 -0
  40. data/lib/openai/models/conversations/conversation_item.rb +568 -0
  41. data/lib/openai/models/conversations/conversation_item_list.rb +55 -0
  42. data/lib/openai/models/conversations/conversation_retrieve_params.rb +16 -0
  43. data/lib/openai/models/conversations/conversation_update_params.rb +31 -0
  44. data/lib/openai/models/conversations/file_citation_body.rb +42 -0
  45. data/lib/openai/models/conversations/input_file_content.rb +42 -0
  46. data/lib/openai/models/conversations/input_image_content.rb +62 -0
  47. data/lib/openai/models/conversations/input_text_content.rb +26 -0
  48. data/lib/openai/models/conversations/item_create_params.rb +37 -0
  49. data/lib/openai/models/conversations/item_delete_params.rb +22 -0
  50. data/lib/openai/models/conversations/item_list_params.rb +84 -0
  51. data/lib/openai/models/conversations/item_retrieve_params.rb +36 -0
  52. data/lib/openai/models/conversations/lob_prob.rb +35 -0
  53. data/lib/openai/models/conversations/message.rb +115 -0
  54. data/lib/openai/models/conversations/output_text_content.rb +57 -0
  55. data/lib/openai/models/conversations/refusal_content.rb +26 -0
  56. data/lib/openai/models/conversations/summary_text_content.rb +23 -0
  57. data/lib/openai/models/conversations/text_content.rb +23 -0
  58. data/lib/openai/models/conversations/top_log_prob.rb +29 -0
  59. data/lib/openai/models/conversations/url_citation_body.rb +50 -0
  60. data/lib/openai/models/eval_create_params.rb +6 -20
  61. data/lib/openai/models/evals/create_eval_completions_run_data_source.rb +29 -53
  62. data/lib/openai/models/evals/create_eval_jsonl_run_data_source.rb +1 -3
  63. data/lib/openai/models/evals/run_create_params.rb +18 -54
  64. data/lib/openai/models/fine_tuning/reinforcement_hyperparameters.rb +1 -4
  65. data/lib/openai/models/moderation.rb +5 -15
  66. data/lib/openai/models/responses/input_item_list_params.rb +1 -9
  67. data/lib/openai/models/responses/response.rb +26 -1
  68. data/lib/openai/models/responses/response_computer_tool_call.rb +2 -6
  69. data/lib/openai/models/responses/response_computer_tool_call_output_item.rb +1 -3
  70. data/lib/openai/models/responses/response_conversation_param.rb +20 -0
  71. data/lib/openai/models/responses/response_create_params.rb +34 -1
  72. data/lib/openai/models/responses/response_input_item.rb +2 -7
  73. data/lib/openai/models/responses/response_input_message_item.rb +1 -4
  74. data/lib/openai/models/responses/response_output_item.rb +1 -3
  75. data/lib/openai/models/responses/response_output_message.rb +1 -3
  76. data/lib/openai/models/responses/response_output_text.rb +3 -10
  77. data/lib/openai/models/responses/response_stream_event.rb +4 -16
  78. data/lib/openai/models/responses/response_text_delta_event.rb +1 -3
  79. data/lib/openai/models/responses/response_text_done_event.rb +1 -3
  80. data/lib/openai/models/responses/tool.rb +145 -34
  81. data/lib/openai/models.rb +2 -0
  82. data/lib/openai/resources/conversations/items.rb +141 -0
  83. data/lib/openai/resources/conversations.rb +112 -0
  84. data/lib/openai/resources/responses/input_items.rb +1 -3
  85. data/lib/openai/resources/responses.rb +6 -2
  86. data/lib/openai/version.rb +1 -1
  87. data/lib/openai.rb +31 -0
  88. data/rbi/openai/client.rbi +3 -0
  89. data/rbi/openai/errors.rbi +5 -5
  90. data/rbi/openai/internal/conversation_cursor_page.rbi +25 -0
  91. data/rbi/openai/models/conversations/computer_screenshot_content.rbi +60 -0
  92. data/rbi/openai/models/conversations/container_file_citation_body.rbi +82 -0
  93. data/rbi/openai/models/conversations/conversation.rbi +76 -0
  94. data/rbi/openai/models/conversations/conversation_create_params.rbi +144 -0
  95. data/rbi/openai/models/conversations/conversation_delete_params.rbi +32 -0
  96. data/rbi/openai/models/conversations/conversation_deleted.rbi +40 -0
  97. data/rbi/openai/models/conversations/conversation_deleted_resource.rbi +40 -0
  98. data/rbi/openai/models/conversations/conversation_item.rbi +835 -0
  99. data/rbi/openai/models/conversations/conversation_item_list.rbi +101 -0
  100. data/rbi/openai/models/conversations/conversation_retrieve_params.rbi +32 -0
  101. data/rbi/openai/models/conversations/conversation_update_params.rbi +56 -0
  102. data/rbi/openai/models/conversations/file_citation_body.rbi +61 -0
  103. data/rbi/openai/models/conversations/input_file_content.rbi +72 -0
  104. data/rbi/openai/models/conversations/input_image_content.rbi +113 -0
  105. data/rbi/openai/models/conversations/input_text_content.rbi +38 -0
  106. data/rbi/openai/models/conversations/item_create_params.rbi +150 -0
  107. data/rbi/openai/models/conversations/item_delete_params.rbi +40 -0
  108. data/rbi/openai/models/conversations/item_list_params.rbi +174 -0
  109. data/rbi/openai/models/conversations/item_retrieve_params.rbi +70 -0
  110. data/rbi/openai/models/conversations/lob_prob.rbi +50 -0
  111. data/rbi/openai/models/conversations/message.rbi +196 -0
  112. data/rbi/openai/models/conversations/output_text_content.rbi +110 -0
  113. data/rbi/openai/models/conversations/refusal_content.rbi +38 -0
  114. data/rbi/openai/models/conversations/summary_text_content.rbi +31 -0
  115. data/rbi/openai/models/conversations/text_content.rbi +28 -0
  116. data/rbi/openai/models/conversations/top_log_prob.rbi +41 -0
  117. data/rbi/openai/models/conversations/url_citation_body.rbi +74 -0
  118. data/rbi/openai/models/evals/create_eval_completions_run_data_source.rbi +33 -33
  119. data/rbi/openai/models/responses/input_item_list_params.rbi +0 -11
  120. data/rbi/openai/models/responses/response.rbi +49 -0
  121. data/rbi/openai/models/responses/response_conversation_param.rbi +33 -0
  122. data/rbi/openai/models/responses/response_create_params.rbi +54 -0
  123. data/rbi/openai/models/responses/tool.rbi +243 -31
  124. data/rbi/openai/models.rbi +2 -0
  125. data/rbi/openai/resources/conversations/items.rbi +152 -0
  126. data/rbi/openai/resources/conversations.rbi +110 -0
  127. data/rbi/openai/resources/responses/input_items.rbi +0 -3
  128. data/rbi/openai/resources/responses.rbi +26 -0
  129. data/sig/openai/client.rbs +2 -0
  130. data/sig/openai/internal/conversation_cursor_page.rbs +15 -0
  131. data/sig/openai/models/conversations/computer_screenshot_content.rbs +28 -0
  132. data/sig/openai/models/conversations/container_file_citation_body.rbs +47 -0
  133. data/sig/openai/models/conversations/conversation.rbs +37 -0
  134. data/sig/openai/models/conversations/conversation_create_params.rbs +33 -0
  135. data/sig/openai/models/conversations/conversation_delete_params.rbs +17 -0
  136. data/sig/openai/models/conversations/conversation_deleted.rbs +28 -0
  137. data/sig/openai/models/conversations/conversation_deleted_resource.rbs +28 -0
  138. data/sig/openai/models/conversations/conversation_item.rbs +403 -0
  139. data/sig/openai/models/conversations/conversation_item_list.rbs +44 -0
  140. data/sig/openai/models/conversations/conversation_retrieve_params.rbs +17 -0
  141. data/sig/openai/models/conversations/conversation_update_params.rbs +26 -0
  142. data/sig/openai/models/conversations/file_citation_body.rbs +37 -0
  143. data/sig/openai/models/conversations/input_file_content.rbs +41 -0
  144. data/sig/openai/models/conversations/input_image_content.rbs +49 -0
  145. data/sig/openai/models/conversations/input_text_content.rbs +17 -0
  146. data/sig/openai/models/conversations/item_create_params.rbs +37 -0
  147. data/sig/openai/models/conversations/item_delete_params.rbs +25 -0
  148. data/sig/openai/models/conversations/item_list_params.rbs +66 -0
  149. data/sig/openai/models/conversations/item_retrieve_params.rbs +37 -0
  150. data/sig/openai/models/conversations/lob_prob.rbs +37 -0
  151. data/sig/openai/models/conversations/message.rbs +95 -0
  152. data/sig/openai/models/conversations/output_text_content.rbs +52 -0
  153. data/sig/openai/models/conversations/refusal_content.rbs +17 -0
  154. data/sig/openai/models/conversations/summary_text_content.rbs +17 -0
  155. data/sig/openai/models/conversations/text_content.rbs +17 -0
  156. data/sig/openai/models/conversations/top_log_prob.rbs +28 -0
  157. data/sig/openai/models/conversations/url_citation_body.rbs +42 -0
  158. data/sig/openai/models/evals/create_eval_completions_run_data_source.rbs +22 -22
  159. data/sig/openai/models/responses/input_item_list_params.rbs +0 -7
  160. data/sig/openai/models/responses/response.rbs +15 -0
  161. data/sig/openai/models/responses/response_conversation_param.rbs +15 -0
  162. data/sig/openai/models/responses/response_create_params.rbs +14 -0
  163. data/sig/openai/models/responses/tool.rbs +83 -18
  164. data/sig/openai/models.rbs +2 -0
  165. data/sig/openai/resources/conversations/items.rbs +38 -0
  166. data/sig/openai/resources/conversations.rbs +31 -0
  167. data/sig/openai/resources/responses/input_items.rbs +0 -1
  168. data/sig/openai/resources/responses.rbs +2 -0
  169. metadata +95 -2
@@ -107,9 +107,7 @@ module OpenAI
107
107
  #
108
108
  # @return [Array<OpenAI::Models::Beta::CodeInterpreterTool, OpenAI::Models::Beta::Threads::MessageCreateParams::Attachment::Tool::FileSearch>, nil]
109
109
  optional :tools,
110
- -> {
111
- OpenAI::Internal::Type::ArrayOf[union: OpenAI::Beta::Threads::MessageCreateParams::Attachment::Tool]
112
- }
110
+ -> { OpenAI::Internal::Type::ArrayOf[union: OpenAI::Beta::Threads::MessageCreateParams::Attachment::Tool] }
113
111
 
114
112
  # @!method initialize(file_id: nil, tools: nil)
115
113
  # @param file_id [String] The ID of the file to attach to the message.
@@ -123,10 +121,7 @@ module OpenAI
123
121
 
124
122
  variant :code_interpreter, -> { OpenAI::Beta::CodeInterpreterTool }
125
123
 
126
- variant :file_search,
127
- -> {
128
- OpenAI::Beta::Threads::MessageCreateParams::Attachment::Tool::FileSearch
129
- }
124
+ variant :file_search, -> { OpenAI::Beta::Threads::MessageCreateParams::Attachment::Tool::FileSearch }
130
125
 
131
126
  class FileSearch < OpenAI::Internal::Type::BaseModel
132
127
  # @!attribute type
@@ -355,10 +355,7 @@ module OpenAI
355
355
  # Details on the tool outputs needed for this run to continue.
356
356
  #
357
357
  # @return [OpenAI::Models::Beta::Threads::Run::RequiredAction::SubmitToolOutputs]
358
- required :submit_tool_outputs,
359
- -> {
360
- OpenAI::Beta::Threads::Run::RequiredAction::SubmitToolOutputs
361
- }
358
+ required :submit_tool_outputs, -> { OpenAI::Beta::Threads::Run::RequiredAction::SubmitToolOutputs }
362
359
 
363
360
  # @!attribute type
364
361
  # For now, this is always `submit_tool_outputs`.
@@ -381,9 +378,7 @@ module OpenAI
381
378
  #
382
379
  # @return [Array<OpenAI::Models::Beta::Threads::RequiredActionFunctionToolCall>]
383
380
  required :tool_calls,
384
- -> {
385
- OpenAI::Internal::Type::ArrayOf[OpenAI::Beta::Threads::RequiredActionFunctionToolCall]
386
- }
381
+ -> { OpenAI::Internal::Type::ArrayOf[OpenAI::Beta::Threads::RequiredActionFunctionToolCall] }
387
382
 
388
383
  # @!method initialize(tool_calls:)
389
384
  # Details on the tool outputs needed for this run to continue.
@@ -236,10 +236,7 @@ module OpenAI
236
236
  # The text contents of the message.
237
237
  #
238
238
  # @return [String, Array<OpenAI::Models::Beta::Threads::ImageFileContentBlock, OpenAI::Models::Beta::Threads::ImageURLContentBlock, OpenAI::Models::Beta::Threads::TextContentBlockParam>]
239
- required :content,
240
- union: -> {
241
- OpenAI::Beta::Threads::RunCreateParams::AdditionalMessage::Content
242
- }
239
+ required :content, union: -> { OpenAI::Beta::Threads::RunCreateParams::AdditionalMessage::Content }
243
240
 
244
241
  # @!attribute role
245
242
  # The role of the entity that is creating the message. Allowed values include:
@@ -336,9 +333,7 @@ module OpenAI
336
333
  #
337
334
  # @return [Array<OpenAI::Models::Beta::CodeInterpreterTool, OpenAI::Models::Beta::Threads::RunCreateParams::AdditionalMessage::Attachment::Tool::FileSearch>, nil]
338
335
  optional :tools,
339
- -> {
340
- OpenAI::Internal::Type::ArrayOf[union: OpenAI::Beta::Threads::RunCreateParams::AdditionalMessage::Attachment::Tool]
341
- }
336
+ -> { OpenAI::Internal::Type::ArrayOf[union: OpenAI::Beta::Threads::RunCreateParams::AdditionalMessage::Attachment::Tool] }
342
337
 
343
338
  # @!method initialize(file_id: nil, tools: nil)
344
339
  # @param file_id [String] The ID of the file to attach to the message.
@@ -353,9 +348,7 @@ module OpenAI
353
348
  variant :code_interpreter, -> { OpenAI::Beta::CodeInterpreterTool }
354
349
 
355
350
  variant :file_search,
356
- -> {
357
- OpenAI::Beta::Threads::RunCreateParams::AdditionalMessage::Attachment::Tool::FileSearch
358
- }
351
+ -> { OpenAI::Beta::Threads::RunCreateParams::AdditionalMessage::Attachment::Tool::FileSearch }
359
352
 
360
353
  class FileSearch < OpenAI::Internal::Type::BaseModel
361
354
  # @!attribute type
@@ -21,9 +21,7 @@ module OpenAI
21
21
  #
22
22
  # @return [Array<OpenAI::Models::Beta::Threads::RunSubmitToolOutputsParams::ToolOutput>]
23
23
  required :tool_outputs,
24
- -> {
25
- OpenAI::Internal::Type::ArrayOf[OpenAI::Beta::Threads::RunSubmitToolOutputsParams::ToolOutput]
26
- }
24
+ -> { OpenAI::Internal::Type::ArrayOf[OpenAI::Beta::Threads::RunSubmitToolOutputsParams::ToolOutput] }
27
25
 
28
26
  # @!method initialize(thread_id:, tool_outputs:, request_options: {})
29
27
  # @param thread_id [String]
@@ -16,10 +16,7 @@ module OpenAI
16
16
  # The Code Interpreter tool call definition.
17
17
  #
18
18
  # @return [OpenAI::Models::Beta::Threads::Runs::CodeInterpreterToolCall::CodeInterpreter]
19
- required :code_interpreter,
20
- -> {
21
- OpenAI::Beta::Threads::Runs::CodeInterpreterToolCall::CodeInterpreter
22
- }
19
+ required :code_interpreter, -> { OpenAI::Beta::Threads::Runs::CodeInterpreterToolCall::CodeInterpreter }
23
20
 
24
21
  # @!attribute type
25
22
  # The type of tool call. This is always going to be `code_interpreter` for this
@@ -55,9 +52,7 @@ module OpenAI
55
52
  #
56
53
  # @return [Array<OpenAI::Models::Beta::Threads::Runs::CodeInterpreterToolCall::CodeInterpreter::Output::Logs, OpenAI::Models::Beta::Threads::Runs::CodeInterpreterToolCall::CodeInterpreter::Output::Image>]
57
54
  required :outputs,
58
- -> {
59
- OpenAI::Internal::Type::ArrayOf[union: OpenAI::Beta::Threads::Runs::CodeInterpreterToolCall::CodeInterpreter::Output]
60
- }
55
+ -> { OpenAI::Internal::Type::ArrayOf[union: OpenAI::Beta::Threads::Runs::CodeInterpreterToolCall::CodeInterpreter::Output] }
61
56
 
62
57
  # @!method initialize(input:, outputs:)
63
58
  # Some parameter documentations has been truncated, see
@@ -77,15 +72,10 @@ module OpenAI
77
72
  discriminator :type
78
73
 
79
74
  # Text output from the Code Interpreter tool call as part of a run step.
80
- variant :logs,
81
- -> {
82
- OpenAI::Beta::Threads::Runs::CodeInterpreterToolCall::CodeInterpreter::Output::Logs
83
- }
75
+ variant :logs, -> { OpenAI::Beta::Threads::Runs::CodeInterpreterToolCall::CodeInterpreter::Output::Logs }
84
76
 
85
77
  variant :image,
86
- -> {
87
- OpenAI::Beta::Threads::Runs::CodeInterpreterToolCall::CodeInterpreter::Output::Image
88
- }
78
+ -> { OpenAI::Beta::Threads::Runs::CodeInterpreterToolCall::CodeInterpreter::Output::Image }
89
79
 
90
80
  class Logs < OpenAI::Internal::Type::BaseModel
91
81
  # @!attribute logs
@@ -113,9 +103,7 @@ module OpenAI
113
103
  #
114
104
  # @return [OpenAI::Models::Beta::Threads::Runs::CodeInterpreterToolCall::CodeInterpreter::Output::Image::Image]
115
105
  required :image,
116
- -> {
117
- OpenAI::Beta::Threads::Runs::CodeInterpreterToolCall::CodeInterpreter::Output::Image::Image
118
- }
106
+ -> { OpenAI::Beta::Threads::Runs::CodeInterpreterToolCall::CodeInterpreter::Output::Image::Image }
119
107
 
120
108
  # @!attribute type
121
109
  # Always `image`.
@@ -62,9 +62,7 @@ module OpenAI
62
62
  #
63
63
  # @return [Array<OpenAI::Models::Beta::Threads::Runs::CodeInterpreterLogs, OpenAI::Models::Beta::Threads::Runs::CodeInterpreterOutputImage>, nil]
64
64
  optional :outputs,
65
- -> {
66
- OpenAI::Internal::Type::ArrayOf[union: OpenAI::Beta::Threads::Runs::CodeInterpreterToolCallDelta::CodeInterpreter::Output]
67
- }
65
+ -> { OpenAI::Internal::Type::ArrayOf[union: OpenAI::Beta::Threads::Runs::CodeInterpreterToolCallDelta::CodeInterpreter::Output] }
68
66
 
69
67
  # @!method initialize(input: nil, outputs: nil)
70
68
  # Some parameter documentations has been truncated, see
@@ -49,9 +49,7 @@ module OpenAI
49
49
  #
50
50
  # @return [Array<OpenAI::Models::Beta::Threads::Runs::FileSearchToolCall::FileSearch::Result>, nil]
51
51
  optional :results,
52
- -> {
53
- OpenAI::Internal::Type::ArrayOf[OpenAI::Beta::Threads::Runs::FileSearchToolCall::FileSearch::Result]
54
- }
52
+ -> { OpenAI::Internal::Type::ArrayOf[OpenAI::Beta::Threads::Runs::FileSearchToolCall::FileSearch::Result] }
55
53
 
56
54
  # @!method initialize(ranking_options: nil, results: nil)
57
55
  # For now, this is always going to be an empty object.
@@ -68,9 +66,7 @@ module OpenAI
68
66
  #
69
67
  # @return [Symbol, OpenAI::Models::Beta::Threads::Runs::FileSearchToolCall::FileSearch::RankingOptions::Ranker]
70
68
  required :ranker,
71
- enum: -> {
72
- OpenAI::Beta::Threads::Runs::FileSearchToolCall::FileSearch::RankingOptions::Ranker
73
- }
69
+ enum: -> { OpenAI::Beta::Threads::Runs::FileSearchToolCall::FileSearch::RankingOptions::Ranker }
74
70
 
75
71
  # @!attribute score_threshold
76
72
  # The score threshold for the file search. All values must be a floating point
@@ -131,9 +127,7 @@ module OpenAI
131
127
  #
132
128
  # @return [Array<OpenAI::Models::Beta::Threads::Runs::FileSearchToolCall::FileSearch::Result::Content>, nil]
133
129
  optional :content,
134
- -> {
135
- OpenAI::Internal::Type::ArrayOf[OpenAI::Beta::Threads::Runs::FileSearchToolCall::FileSearch::Result::Content]
136
- }
130
+ -> { OpenAI::Internal::Type::ArrayOf[OpenAI::Beta::Threads::Runs::FileSearchToolCall::FileSearch::Result::Content] }
137
131
 
138
132
  # @!method initialize(file_id:, file_name:, score:, content: nil)
139
133
  # Some parameter documentations has been truncated, see
@@ -162,9 +156,7 @@ module OpenAI
162
156
  #
163
157
  # @return [Symbol, OpenAI::Models::Beta::Threads::Runs::FileSearchToolCall::FileSearch::Result::Content::Type, nil]
164
158
  optional :type,
165
- enum: -> {
166
- OpenAI::Beta::Threads::Runs::FileSearchToolCall::FileSearch::Result::Content::Type
167
- }
159
+ enum: -> { OpenAI::Beta::Threads::Runs::FileSearchToolCall::FileSearch::Result::Content::Type }
168
160
 
169
161
  # @!method initialize(text: nil, type: nil)
170
162
  # @param text [String] The text content of the file.
@@ -15,10 +15,7 @@ module OpenAI
15
15
  # @!attribute message_creation
16
16
  #
17
17
  # @return [OpenAI::Models::Beta::Threads::Runs::RunStepDeltaMessageDelta::MessageCreation, nil]
18
- optional :message_creation,
19
- -> {
20
- OpenAI::Beta::Threads::Runs::RunStepDeltaMessageDelta::MessageCreation
21
- }
18
+ optional :message_creation, -> { OpenAI::Beta::Threads::Runs::RunStepDeltaMessageDelta::MessageCreation }
22
19
 
23
20
  # @!method initialize(message_creation: nil, type: :message_creation)
24
21
  # Details of the message creation by the run step.
@@ -12,10 +12,7 @@ module OpenAI
12
12
  # `function`.
13
13
  #
14
14
  # @return [Array<OpenAI::Models::Beta::Threads::Runs::CodeInterpreterToolCall, OpenAI::Models::Beta::Threads::Runs::FileSearchToolCall, OpenAI::Models::Beta::Threads::Runs::FunctionToolCall>]
15
- required :tool_calls,
16
- -> {
17
- OpenAI::Internal::Type::ArrayOf[union: OpenAI::Beta::Threads::Runs::ToolCall]
18
- }
15
+ required :tool_calls, -> { OpenAI::Internal::Type::ArrayOf[union: OpenAI::Beta::Threads::Runs::ToolCall] }
19
16
 
20
17
  # @!attribute type
21
18
  # Always `tool_calls`.
@@ -8,10 +8,7 @@ module OpenAI
8
8
  # @!attribute annotations
9
9
  #
10
10
  # @return [Array<OpenAI::Models::Beta::Threads::FileCitationAnnotation, OpenAI::Models::Beta::Threads::FilePathAnnotation>]
11
- required :annotations,
12
- -> {
13
- OpenAI::Internal::Type::ArrayOf[union: OpenAI::Beta::Threads::Annotation]
14
- }
11
+ required :annotations, -> { OpenAI::Internal::Type::ArrayOf[union: OpenAI::Beta::Threads::Annotation] }
15
12
 
16
13
  # @!attribute value
17
14
  # The data that makes up the text.
@@ -183,9 +183,7 @@ module OpenAI
183
183
  #
184
184
  # @return [Array<OpenAI::Models::Chat::ChatCompletionChunk::Choice::Delta::ToolCall>, nil]
185
185
  optional :tool_calls,
186
- -> {
187
- OpenAI::Internal::Type::ArrayOf[OpenAI::Chat::ChatCompletionChunk::Choice::Delta::ToolCall]
188
- }
186
+ -> { OpenAI::Internal::Type::ArrayOf[OpenAI::Chat::ChatCompletionChunk::Choice::Delta::ToolCall] }
189
187
 
190
188
  # @!method initialize(content: nil, function_call: nil, refusal: nil, role: nil, tool_calls: nil)
191
189
  # Some parameter documentations has been truncated, see
@@ -94,10 +94,7 @@ module OpenAI
94
94
  # Your chosen grammar.
95
95
  #
96
96
  # @return [OpenAI::Models::Chat::ChatCompletionCustomTool::Custom::Format::Grammar::Grammar]
97
- required :grammar,
98
- -> {
99
- OpenAI::Chat::ChatCompletionCustomTool::Custom::Format::Grammar::Grammar
100
- }
97
+ required :grammar, -> { OpenAI::Chat::ChatCompletionCustomTool::Custom::Format::Grammar::Grammar }
101
98
 
102
99
  # @!attribute type
103
100
  # Grammar format. Always `grammar`.
@@ -125,9 +122,7 @@ module OpenAI
125
122
  #
126
123
  # @return [Symbol, OpenAI::Models::Chat::ChatCompletionCustomTool::Custom::Format::Grammar::Grammar::Syntax]
127
124
  required :syntax,
128
- enum: -> {
129
- OpenAI::Chat::ChatCompletionCustomTool::Custom::Format::Grammar::Grammar::Syntax
130
- }
125
+ enum: -> { OpenAI::Chat::ChatCompletionCustomTool::Custom::Format::Grammar::Grammar::Syntax }
131
126
 
132
127
  # @!method initialize(definition:, syntax:)
133
128
  # Your chosen grammar.
@@ -0,0 +1,38 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Conversations
6
+ class ComputerScreenshotContent < OpenAI::Internal::Type::BaseModel
7
+ # @!attribute file_id
8
+ # The identifier of an uploaded file that contains the screenshot.
9
+ #
10
+ # @return [String, nil]
11
+ required :file_id, String, nil?: true
12
+
13
+ # @!attribute image_url
14
+ # The URL of the screenshot image.
15
+ #
16
+ # @return [String, nil]
17
+ required :image_url, String, nil?: true
18
+
19
+ # @!attribute type
20
+ # Specifies the event type. For a computer screenshot, this property is always set
21
+ # to `computer_screenshot`.
22
+ #
23
+ # @return [Symbol, :computer_screenshot]
24
+ required :type, const: :computer_screenshot
25
+
26
+ # @!method initialize(file_id:, image_url:, type: :computer_screenshot)
27
+ # Some parameter documentations has been truncated, see
28
+ # {OpenAI::Models::Conversations::ComputerScreenshotContent} for more details.
29
+ #
30
+ # @param file_id [String, nil] The identifier of an uploaded file that contains the screenshot.
31
+ #
32
+ # @param image_url [String, nil] The URL of the screenshot image.
33
+ #
34
+ # @param type [Symbol, :computer_screenshot] Specifies the event type. For a computer screenshot, this property is always set
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,58 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Conversations
6
+ class ContainerFileCitationBody < OpenAI::Internal::Type::BaseModel
7
+ # @!attribute container_id
8
+ # The ID of the container file.
9
+ #
10
+ # @return [String]
11
+ required :container_id, String
12
+
13
+ # @!attribute end_index
14
+ # The index of the last character of the container file citation in the message.
15
+ #
16
+ # @return [Integer]
17
+ required :end_index, Integer
18
+
19
+ # @!attribute file_id
20
+ # The ID of the file.
21
+ #
22
+ # @return [String]
23
+ required :file_id, String
24
+
25
+ # @!attribute filename
26
+ # The filename of the container file cited.
27
+ #
28
+ # @return [String]
29
+ required :filename, String
30
+
31
+ # @!attribute start_index
32
+ # The index of the first character of the container file citation in the message.
33
+ #
34
+ # @return [Integer]
35
+ required :start_index, Integer
36
+
37
+ # @!attribute type
38
+ # The type of the container file citation. Always `container_file_citation`.
39
+ #
40
+ # @return [Symbol, :container_file_citation]
41
+ required :type, const: :container_file_citation
42
+
43
+ # @!method initialize(container_id:, end_index:, file_id:, filename:, start_index:, type: :container_file_citation)
44
+ # @param container_id [String] The ID of the container file.
45
+ #
46
+ # @param end_index [Integer] The index of the last character of the container file citation in the message.
47
+ #
48
+ # @param file_id [String] The ID of the file.
49
+ #
50
+ # @param filename [String] The filename of the container file cited.
51
+ #
52
+ # @param start_index [Integer] The index of the first character of the container file citation in the message.
53
+ #
54
+ # @param type [Symbol, :container_file_citation] The type of the container file citation. Always `container_file_citation`.
55
+ end
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,51 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Conversations
6
+ # @see OpenAI::Resources::Conversations#create
7
+ class Conversation < OpenAI::Internal::Type::BaseModel
8
+ # @!attribute id
9
+ # The unique ID of the conversation.
10
+ #
11
+ # @return [String]
12
+ required :id, String
13
+
14
+ # @!attribute created_at
15
+ # The time at which the conversation was created, measured in seconds since the
16
+ # Unix epoch.
17
+ #
18
+ # @return [Integer]
19
+ required :created_at, Integer
20
+
21
+ # @!attribute metadata
22
+ # Set of 16 key-value pairs that can be attached to an object. This can be useful
23
+ # for storing additional information about the object in a structured format, and
24
+ # querying for objects via API or the dashboard. Keys are strings with a maximum
25
+ # length of 64 characters. Values are strings with a maximum length of 512
26
+ # characters.
27
+ #
28
+ # @return [Object]
29
+ required :metadata, OpenAI::Internal::Type::Unknown
30
+
31
+ # @!attribute object
32
+ # The object type, which is always `conversation`.
33
+ #
34
+ # @return [Symbol, :conversation]
35
+ required :object, const: :conversation
36
+
37
+ # @!method initialize(id:, created_at:, metadata:, object: :conversation)
38
+ # Some parameter documentations has been truncated, see
39
+ # {OpenAI::Models::Conversations::Conversation} for more details.
40
+ #
41
+ # @param id [String] The unique ID of the conversation.
42
+ #
43
+ # @param created_at [Integer] The time at which the conversation was created, measured in seconds since the Un
44
+ #
45
+ # @param metadata [Object] Set of 16 key-value pairs that can be attached to an object. This can be
46
+ #
47
+ # @param object [Symbol, :conversation] The object type, which is always `conversation`.
48
+ end
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,39 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Conversations
6
+ # @see OpenAI::Resources::Conversations#create
7
+ class ConversationCreateParams < OpenAI::Internal::Type::BaseModel
8
+ extend OpenAI::Internal::Type::RequestParameters::Converter
9
+ include OpenAI::Internal::Type::RequestParameters
10
+
11
+ # @!attribute items
12
+ # Initial items to include in the conversation context. You may add up to 20 items
13
+ # at a time.
14
+ #
15
+ # @return [Array<OpenAI::Models::Responses::EasyInputMessage, OpenAI::Models::Responses::ResponseInputItem::Message, OpenAI::Models::Responses::ResponseOutputMessage, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseInputItem::ComputerCallOutput, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Responses::ResponseFunctionToolCall, OpenAI::Models::Responses::ResponseInputItem::FunctionCallOutput, OpenAI::Models::Responses::ResponseReasoningItem, OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Responses::ResponseInputItem::LocalShellCall, OpenAI::Models::Responses::ResponseInputItem::LocalShellCallOutput, OpenAI::Models::Responses::ResponseInputItem::McpListTools, OpenAI::Models::Responses::ResponseInputItem::McpApprovalRequest, OpenAI::Models::Responses::ResponseInputItem::McpApprovalResponse, OpenAI::Models::Responses::ResponseInputItem::McpCall, OpenAI::Models::Responses::ResponseCustomToolCallOutput, OpenAI::Models::Responses::ResponseCustomToolCall, OpenAI::Models::Responses::ResponseInputItem::ItemReference>, nil]
16
+ optional :items,
17
+ -> { OpenAI::Internal::Type::ArrayOf[union: OpenAI::Responses::ResponseInputItem] },
18
+ nil?: true
19
+
20
+ # @!attribute metadata
21
+ # Set of 16 key-value pairs that can be attached to an object. Useful for storing
22
+ # additional information about the object in a structured format.
23
+ #
24
+ # @return [Hash{Symbol=>String}, nil]
25
+ optional :metadata, OpenAI::Internal::Type::HashOf[String], nil?: true
26
+
27
+ # @!method initialize(items: nil, metadata: nil, request_options: {})
28
+ # Some parameter documentations has been truncated, see
29
+ # {OpenAI::Models::Conversations::ConversationCreateParams} for more details.
30
+ #
31
+ # @param items [Array<OpenAI::Models::Responses::EasyInputMessage, OpenAI::Models::Responses::ResponseInputItem::Message, OpenAI::Models::Responses::ResponseOutputMessage, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseInputItem::ComputerCallOutput, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Responses::ResponseFunctionToolCall, OpenAI::Models::Responses::ResponseInputItem::FunctionCallOutput, OpenAI::Models::Responses::ResponseReasoningItem, OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Responses::ResponseInputItem::LocalShellCall, OpenAI::Models::Responses::ResponseInputItem::LocalShellCallOutput, OpenAI::Models::Responses::ResponseInputItem::McpListTools, OpenAI::Models::Responses::ResponseInputItem::McpApprovalRequest, OpenAI::Models::Responses::ResponseInputItem::McpApprovalResponse, OpenAI::Models::Responses::ResponseInputItem::McpCall, OpenAI::Models::Responses::ResponseCustomToolCallOutput, OpenAI::Models::Responses::ResponseCustomToolCall, OpenAI::Models::Responses::ResponseInputItem::ItemReference>, nil] Initial items to include in the conversation context.
32
+ #
33
+ # @param metadata [Hash{Symbol=>String}, nil] Set of 16 key-value pairs that can be attached to an object. Useful for
34
+ #
35
+ # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}]
36
+ end
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Conversations
6
+ # @see OpenAI::Resources::Conversations#delete
7
+ class ConversationDeleteParams < OpenAI::Internal::Type::BaseModel
8
+ extend OpenAI::Internal::Type::RequestParameters::Converter
9
+ include OpenAI::Internal::Type::RequestParameters
10
+
11
+ # @!method initialize(request_options: {})
12
+ # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}]
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Conversations
6
+ class ConversationDeleted < OpenAI::Internal::Type::BaseModel
7
+ # @!attribute id
8
+ #
9
+ # @return [String]
10
+ required :id, String
11
+
12
+ # @!attribute deleted
13
+ #
14
+ # @return [Boolean]
15
+ required :deleted, OpenAI::Internal::Type::Boolean
16
+
17
+ # @!attribute object
18
+ #
19
+ # @return [Symbol, :"conversation.deleted"]
20
+ required :object, const: :"conversation.deleted"
21
+
22
+ # @!method initialize(id:, deleted:, object: :"conversation.deleted")
23
+ # @param id [String]
24
+ # @param deleted [Boolean]
25
+ # @param object [Symbol, :"conversation.deleted"]
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Conversations
6
+ # @see OpenAI::Resources::Conversations#delete
7
+ class ConversationDeletedResource < OpenAI::Internal::Type::BaseModel
8
+ # @!attribute id
9
+ #
10
+ # @return [String]
11
+ required :id, String
12
+
13
+ # @!attribute deleted
14
+ #
15
+ # @return [Boolean]
16
+ required :deleted, OpenAI::Internal::Type::Boolean
17
+
18
+ # @!attribute object
19
+ #
20
+ # @return [Symbol, :"conversation.deleted"]
21
+ required :object, const: :"conversation.deleted"
22
+
23
+ # @!method initialize(id:, deleted:, object: :"conversation.deleted")
24
+ # @param id [String]
25
+ # @param deleted [Boolean]
26
+ # @param object [Symbol, :"conversation.deleted"]
27
+ end
28
+ end
29
+ end
30
+ end