openai 0.2.0 → 0.4.0.pre.beta.1

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 (1495) hide show
  1. checksums.yaml +4 -4
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +368 -0
  4. data/README.md +292 -28
  5. data/SECURITY.md +29 -0
  6. data/lib/openai/client.rb +136 -119
  7. data/lib/openai/errors.rb +228 -0
  8. data/lib/openai/file_part.rb +55 -0
  9. data/lib/openai/helpers/structured_output/array_of.rb +49 -0
  10. data/lib/openai/helpers/structured_output/base_model.rb +78 -0
  11. data/lib/openai/helpers/structured_output/boolean.rb +28 -0
  12. data/lib/openai/helpers/structured_output/enum_of.rb +63 -0
  13. data/lib/openai/helpers/structured_output/json_schema_converter.rb +163 -0
  14. data/lib/openai/helpers/structured_output/union_of.rb +64 -0
  15. data/lib/openai/helpers/structured_output.rb +16 -0
  16. data/lib/openai/internal/cursor_page.rb +86 -0
  17. data/lib/openai/internal/page.rb +80 -0
  18. data/lib/openai/internal/stream.rb +60 -0
  19. data/lib/openai/internal/transport/base_client.rb +558 -0
  20. data/lib/openai/internal/transport/pooled_net_requester.rb +209 -0
  21. data/lib/openai/internal/type/array_of.rb +162 -0
  22. data/lib/openai/internal/type/base_model.rb +477 -0
  23. data/lib/openai/internal/type/base_page.rb +55 -0
  24. data/lib/openai/internal/type/base_stream.rb +90 -0
  25. data/lib/openai/internal/type/boolean.rb +71 -0
  26. data/lib/openai/internal/type/converter.rb +292 -0
  27. data/lib/openai/internal/type/enum.rb +145 -0
  28. data/lib/openai/internal/type/file_input.rb +103 -0
  29. data/lib/openai/internal/type/hash_of.rb +182 -0
  30. data/lib/openai/internal/type/request_parameters.rb +42 -0
  31. data/lib/openai/internal/type/union.rb +252 -0
  32. data/lib/openai/internal/type/unknown.rb +75 -0
  33. data/lib/openai/internal/util.rb +907 -0
  34. data/lib/openai/internal.rb +20 -0
  35. data/lib/openai/models/all_models.rb +30 -0
  36. data/lib/openai/models/audio/speech_create_params.rb +159 -0
  37. data/lib/openai/models/audio/speech_model.rb +18 -0
  38. data/lib/openai/models/audio/transcription.rb +61 -0
  39. data/lib/openai/models/audio/transcription_create_params.rb +222 -0
  40. data/lib/openai/models/audio/transcription_create_response.rb +26 -0
  41. data/lib/openai/models/audio/transcription_include.rb +16 -0
  42. data/lib/openai/models/audio/transcription_segment.rb +96 -0
  43. data/lib/openai/models/audio/transcription_stream_event.rb +26 -0
  44. data/lib/openai/models/audio/transcription_text_delta_event.rb +75 -0
  45. data/lib/openai/models/audio/transcription_text_done_event.rb +76 -0
  46. data/lib/openai/models/audio/transcription_verbose.rb +53 -0
  47. data/lib/openai/models/audio/transcription_word.rb +34 -0
  48. data/lib/openai/models/audio/translation.rb +17 -0
  49. data/lib/openai/models/audio/translation_create_params.rb +98 -0
  50. data/lib/openai/models/audio/translation_create_response.rb +19 -0
  51. data/lib/openai/models/audio/translation_verbose.rb +42 -0
  52. data/lib/openai/models/audio_model.rb +16 -0
  53. data/lib/openai/models/audio_response_format.rb +21 -0
  54. data/lib/openai/models/auto_file_chunking_strategy_param.rb +19 -0
  55. data/lib/openai/models/batch.rb +213 -0
  56. data/lib/openai/models/batch_cancel_params.rb +14 -0
  57. data/lib/openai/models/batch_create_params.rb +93 -0
  58. data/lib/openai/models/batch_error.rb +40 -0
  59. data/lib/openai/models/batch_list_params.rb +37 -0
  60. data/lib/openai/models/batch_request_counts.rb +34 -0
  61. data/lib/openai/models/batch_retrieve_params.rb +14 -0
  62. data/lib/openai/models/beta/assistant.rb +218 -0
  63. data/lib/openai/models/beta/assistant_create_params.rb +372 -0
  64. data/lib/openai/models/beta/assistant_delete_params.rb +16 -0
  65. data/lib/openai/models/beta/assistant_deleted.rb +30 -0
  66. data/lib/openai/models/beta/assistant_list_params.rb +71 -0
  67. data/lib/openai/models/beta/assistant_response_format_option.rb +50 -0
  68. data/lib/openai/models/beta/assistant_retrieve_params.rb +16 -0
  69. data/lib/openai/models/beta/assistant_stream_event.rb +754 -0
  70. data/lib/openai/models/beta/assistant_tool.rb +22 -0
  71. data/lib/openai/models/beta/assistant_tool_choice.rb +42 -0
  72. data/lib/openai/models/beta/assistant_tool_choice_function.rb +18 -0
  73. data/lib/openai/models/beta/assistant_tool_choice_option.rb +42 -0
  74. data/lib/openai/models/beta/assistant_update_params.rb +345 -0
  75. data/lib/openai/models/beta/code_interpreter_tool.rb +18 -0
  76. data/lib/openai/models/beta/file_search_tool.rb +110 -0
  77. data/lib/openai/models/beta/function_tool.rb +25 -0
  78. data/lib/openai/models/beta/message_stream_event.rb +171 -0
  79. data/lib/openai/models/beta/run_step_stream_event.rb +225 -0
  80. data/lib/openai/models/beta/run_stream_event.rb +299 -0
  81. data/lib/openai/models/beta/thread.rb +122 -0
  82. data/lib/openai/models/beta/thread_create_and_run_params.rb +722 -0
  83. data/lib/openai/models/beta/thread_create_params.rb +391 -0
  84. data/lib/openai/models/beta/thread_delete_params.rb +16 -0
  85. data/lib/openai/models/beta/thread_deleted.rb +30 -0
  86. data/lib/openai/models/beta/thread_retrieve_params.rb +16 -0
  87. data/lib/openai/models/beta/thread_stream_event.rb +41 -0
  88. data/lib/openai/models/beta/thread_update_params.rb +101 -0
  89. data/lib/openai/models/beta/threads/annotation.rb +27 -0
  90. data/lib/openai/models/beta/threads/annotation_delta.rb +27 -0
  91. data/lib/openai/models/beta/threads/file_citation_annotation.rb +65 -0
  92. data/lib/openai/models/beta/threads/file_citation_delta_annotation.rb +81 -0
  93. data/lib/openai/models/beta/threads/file_path_annotation.rb +64 -0
  94. data/lib/openai/models/beta/threads/file_path_delta_annotation.rb +72 -0
  95. data/lib/openai/models/beta/threads/image_file.rb +49 -0
  96. data/lib/openai/models/beta/threads/image_file_content_block.rb +30 -0
  97. data/lib/openai/models/beta/threads/image_file_delta.rb +49 -0
  98. data/lib/openai/models/beta/threads/image_file_delta_block.rb +38 -0
  99. data/lib/openai/models/beta/threads/image_url.rb +48 -0
  100. data/lib/openai/models/beta/threads/image_url_content_block.rb +29 -0
  101. data/lib/openai/models/beta/threads/image_url_delta.rb +48 -0
  102. data/lib/openai/models/beta/threads/image_url_delta_block.rb +37 -0
  103. data/lib/openai/models/beta/threads/message.rb +251 -0
  104. data/lib/openai/models/beta/threads/message_content.rb +32 -0
  105. data/lib/openai/models/beta/threads/message_content_delta.rb +32 -0
  106. data/lib/openai/models/beta/threads/message_content_part_param.rb +29 -0
  107. data/lib/openai/models/beta/threads/message_create_params.rb +150 -0
  108. data/lib/openai/models/beta/threads/message_delete_params.rb +24 -0
  109. data/lib/openai/models/beta/threads/message_deleted.rb +32 -0
  110. data/lib/openai/models/beta/threads/message_delta.rb +44 -0
  111. data/lib/openai/models/beta/threads/message_delta_event.rb +39 -0
  112. data/lib/openai/models/beta/threads/message_list_params.rb +81 -0
  113. data/lib/openai/models/beta/threads/message_retrieve_params.rb +24 -0
  114. data/lib/openai/models/beta/threads/message_update_params.rb +41 -0
  115. data/lib/openai/models/beta/threads/refusal_content_block.rb +29 -0
  116. data/lib/openai/models/beta/threads/refusal_delta_block.rb +37 -0
  117. data/lib/openai/models/beta/threads/required_action_function_tool_call.rb +68 -0
  118. data/lib/openai/models/beta/threads/run.rb +475 -0
  119. data/lib/openai/models/beta/threads/run_cancel_params.rb +24 -0
  120. data/lib/openai/models/beta/threads/run_create_params.rb +443 -0
  121. data/lib/openai/models/beta/threads/run_list_params.rb +73 -0
  122. data/lib/openai/models/beta/threads/run_retrieve_params.rb +24 -0
  123. data/lib/openai/models/beta/threads/run_status.rb +29 -0
  124. data/lib/openai/models/beta/threads/run_submit_tool_outputs_params.rb +62 -0
  125. data/lib/openai/models/beta/threads/run_update_params.rb +41 -0
  126. data/lib/openai/models/beta/threads/runs/code_interpreter_logs.rb +40 -0
  127. data/lib/openai/models/beta/threads/runs/code_interpreter_output_image.rb +54 -0
  128. data/lib/openai/models/beta/threads/runs/code_interpreter_tool_call.rb +158 -0
  129. data/lib/openai/models/beta/threads/runs/code_interpreter_tool_call_delta.rb +100 -0
  130. data/lib/openai/models/beta/threads/runs/file_search_tool_call.rb +193 -0
  131. data/lib/openai/models/beta/threads/runs/file_search_tool_call_delta.rb +50 -0
  132. data/lib/openai/models/beta/threads/runs/function_tool_call.rb +78 -0
  133. data/lib/openai/models/beta/threads/runs/function_tool_call_delta.rb +86 -0
  134. data/lib/openai/models/beta/threads/runs/message_creation_step_details.rb +44 -0
  135. data/lib/openai/models/beta/threads/runs/run_step.rb +278 -0
  136. data/lib/openai/models/beta/threads/runs/run_step_delta.rb +44 -0
  137. data/lib/openai/models/beta/threads/runs/run_step_delta_event.rb +43 -0
  138. data/lib/openai/models/beta/threads/runs/run_step_delta_message_delta.rb +48 -0
  139. data/lib/openai/models/beta/threads/runs/run_step_include.rb +23 -0
  140. data/lib/openai/models/beta/threads/runs/step_list_params.rb +97 -0
  141. data/lib/openai/models/beta/threads/runs/step_retrieve_params.rb +52 -0
  142. data/lib/openai/models/beta/threads/runs/tool_call.rb +28 -0
  143. data/lib/openai/models/beta/threads/runs/tool_call_delta.rb +28 -0
  144. data/lib/openai/models/beta/threads/runs/tool_call_delta_object.rb +38 -0
  145. data/lib/openai/models/beta/threads/runs/tool_calls_step_details.rb +40 -0
  146. data/lib/openai/models/beta/threads/text.rb +30 -0
  147. data/lib/openai/models/beta/threads/text_content_block.rb +29 -0
  148. data/lib/openai/models/beta/threads/text_content_block_param.rb +30 -0
  149. data/lib/openai/models/beta/threads/text_delta.rb +28 -0
  150. data/lib/openai/models/beta/threads/text_delta_block.rb +37 -0
  151. data/lib/openai/models/chat/chat_completion.rb +225 -0
  152. data/lib/openai/models/chat/chat_completion_assistant_message_param.rb +178 -0
  153. data/lib/openai/models/chat/chat_completion_audio.rb +53 -0
  154. data/lib/openai/models/chat/chat_completion_audio_param.rb +110 -0
  155. data/lib/openai/models/chat/chat_completion_chunk.rb +408 -0
  156. data/lib/openai/models/chat/chat_completion_content_part.rb +85 -0
  157. data/lib/openai/models/chat/chat_completion_content_part_image.rb +69 -0
  158. data/lib/openai/models/chat/chat_completion_content_part_input_audio.rb +68 -0
  159. data/lib/openai/models/chat/chat_completion_content_part_refusal.rb +28 -0
  160. data/lib/openai/models/chat/chat_completion_content_part_text.rb +31 -0
  161. data/lib/openai/models/chat/chat_completion_deleted.rb +37 -0
  162. data/lib/openai/models/chat/chat_completion_developer_message_param.rb +64 -0
  163. data/lib/openai/models/chat/chat_completion_function_call_option.rb +23 -0
  164. data/lib/openai/models/chat/chat_completion_function_message_param.rb +37 -0
  165. data/lib/openai/models/chat/chat_completion_message.rb +179 -0
  166. data/lib/openai/models/chat/chat_completion_message_param.rb +42 -0
  167. data/lib/openai/models/chat/chat_completion_message_tool_call.rb +71 -0
  168. data/lib/openai/models/chat/chat_completion_modality.rb +19 -0
  169. data/lib/openai/models/chat/chat_completion_named_tool_choice.rb +42 -0
  170. data/lib/openai/models/chat/chat_completion_prediction_content.rb +60 -0
  171. data/lib/openai/models/chat/chat_completion_reasoning_effort.rb +11 -0
  172. data/lib/openai/models/chat/chat_completion_role.rb +24 -0
  173. data/lib/openai/models/chat/chat_completion_store_message.rb +22 -0
  174. data/lib/openai/models/chat/chat_completion_stream_options.rb +31 -0
  175. data/lib/openai/models/chat/chat_completion_system_message_param.rb +64 -0
  176. data/lib/openai/models/chat/chat_completion_token_logprob.rb +90 -0
  177. data/lib/openai/models/chat/chat_completion_tool.rb +27 -0
  178. data/lib/openai/models/chat/chat_completion_tool_choice_option.rb +45 -0
  179. data/lib/openai/models/chat/chat_completion_tool_message_param.rb +56 -0
  180. data/lib/openai/models/chat/chat_completion_user_message_param.rb +63 -0
  181. data/lib/openai/models/chat/completion_create_params.rb +714 -0
  182. data/lib/openai/models/chat/completion_delete_params.rb +16 -0
  183. data/lib/openai/models/chat/completion_list_params.rb +74 -0
  184. data/lib/openai/models/chat/completion_retrieve_params.rb +16 -0
  185. data/lib/openai/models/chat/completion_update_params.rb +32 -0
  186. data/lib/openai/models/chat/completions/message_list_params.rb +58 -0
  187. data/lib/openai/models/chat_model.rb +67 -0
  188. data/lib/openai/models/comparison_filter.rb +87 -0
  189. data/lib/openai/models/completion.rb +76 -0
  190. data/lib/openai/models/completion_choice.rb +89 -0
  191. data/lib/openai/models/completion_create_params.rb +306 -0
  192. data/lib/openai/models/completion_usage.rb +117 -0
  193. data/lib/openai/models/compound_filter.rb +57 -0
  194. data/lib/openai/models/container_create_params.rb +75 -0
  195. data/lib/openai/models/container_create_response.rb +98 -0
  196. data/lib/openai/models/container_delete_params.rb +14 -0
  197. data/lib/openai/models/container_list_params.rb +58 -0
  198. data/lib/openai/models/container_list_response.rb +98 -0
  199. data/lib/openai/models/container_retrieve_params.rb +14 -0
  200. data/lib/openai/models/container_retrieve_response.rb +98 -0
  201. data/lib/openai/models/containers/file_create_params.rb +35 -0
  202. data/lib/openai/models/containers/file_create_response.rb +67 -0
  203. data/lib/openai/models/containers/file_delete_params.rb +22 -0
  204. data/lib/openai/models/containers/file_list_params.rb +60 -0
  205. data/lib/openai/models/containers/file_list_response.rb +67 -0
  206. data/lib/openai/models/containers/file_retrieve_params.rb +22 -0
  207. data/lib/openai/models/containers/file_retrieve_response.rb +67 -0
  208. data/lib/openai/models/containers/files/content_retrieve_params.rb +24 -0
  209. data/lib/openai/models/create_embedding_response.rb +63 -0
  210. data/lib/openai/models/embedding.rb +39 -0
  211. data/lib/openai/models/embedding_create_params.rb +139 -0
  212. data/lib/openai/models/embedding_model.rb +16 -0
  213. data/lib/openai/models/error_object.rb +33 -0
  214. data/lib/openai/models/eval_create_params.rb +451 -0
  215. data/lib/openai/models/eval_create_response.rb +214 -0
  216. data/lib/openai/models/eval_custom_data_source_config.rb +35 -0
  217. data/lib/openai/models/eval_delete_params.rb +14 -0
  218. data/lib/openai/models/eval_delete_response.rb +28 -0
  219. data/lib/openai/models/eval_list_params.rb +75 -0
  220. data/lib/openai/models/eval_list_response.rb +214 -0
  221. data/lib/openai/models/eval_retrieve_params.rb +14 -0
  222. data/lib/openai/models/eval_retrieve_response.rb +214 -0
  223. data/lib/openai/models/eval_stored_completions_data_source_config.rb +44 -0
  224. data/lib/openai/models/eval_update_params.rb +38 -0
  225. data/lib/openai/models/eval_update_response.rb +214 -0
  226. data/lib/openai/models/evals/create_eval_completions_run_data_source.rb +465 -0
  227. data/lib/openai/models/evals/create_eval_jsonl_run_data_source.rb +102 -0
  228. data/lib/openai/models/evals/eval_api_error.rb +30 -0
  229. data/lib/openai/models/evals/run_cancel_params.rb +22 -0
  230. data/lib/openai/models/evals/run_cancel_response.rb +758 -0
  231. data/lib/openai/models/evals/run_create_params.rb +602 -0
  232. data/lib/openai/models/evals/run_create_response.rb +758 -0
  233. data/lib/openai/models/evals/run_delete_params.rb +22 -0
  234. data/lib/openai/models/evals/run_delete_response.rb +30 -0
  235. data/lib/openai/models/evals/run_list_params.rb +80 -0
  236. data/lib/openai/models/evals/run_list_response.rb +758 -0
  237. data/lib/openai/models/evals/run_retrieve_params.rb +22 -0
  238. data/lib/openai/models/evals/run_retrieve_response.rb +762 -0
  239. data/lib/openai/models/evals/runs/output_item_list_params.rb +86 -0
  240. data/lib/openai/models/evals/runs/output_item_list_response.rb +265 -0
  241. data/lib/openai/models/evals/runs/output_item_retrieve_params.rb +30 -0
  242. data/lib/openai/models/evals/runs/output_item_retrieve_response.rb +266 -0
  243. data/lib/openai/models/file_chunking_strategy.rb +20 -0
  244. data/lib/openai/models/file_chunking_strategy_param.rb +22 -0
  245. data/lib/openai/models/file_content.rb +7 -0
  246. data/lib/openai/models/file_content_params.rb +14 -0
  247. data/lib/openai/models/file_create_params.rb +36 -0
  248. data/lib/openai/models/file_delete_params.rb +14 -0
  249. data/lib/openai/models/file_deleted.rb +28 -0
  250. data/lib/openai/models/file_list_params.rb +66 -0
  251. data/lib/openai/models/file_object.rb +131 -0
  252. data/lib/openai/models/file_purpose.rb +23 -0
  253. data/lib/openai/models/file_retrieve_params.rb +14 -0
  254. data/lib/openai/models/fine_tuning/alpha/grader_run_params.rb +89 -0
  255. data/lib/openai/models/fine_tuning/alpha/grader_run_response.rb +175 -0
  256. data/lib/openai/models/fine_tuning/alpha/grader_validate_params.rb +49 -0
  257. data/lib/openai/models/fine_tuning/alpha/grader_validate_response.rb +46 -0
  258. data/lib/openai/models/fine_tuning/checkpoints/permission_create_params.rb +26 -0
  259. data/lib/openai/models/fine_tuning/checkpoints/permission_create_response.rb +48 -0
  260. data/lib/openai/models/fine_tuning/checkpoints/permission_delete_params.rb +24 -0
  261. data/lib/openai/models/fine_tuning/checkpoints/permission_delete_response.rb +37 -0
  262. data/lib/openai/models/fine_tuning/checkpoints/permission_retrieve_params.rb +61 -0
  263. data/lib/openai/models/fine_tuning/checkpoints/permission_retrieve_response.rb +83 -0
  264. data/lib/openai/models/fine_tuning/dpo_hyperparameters.rb +112 -0
  265. data/lib/openai/models/fine_tuning/dpo_method.rb +20 -0
  266. data/lib/openai/models/fine_tuning/fine_tuning_job.rb +384 -0
  267. data/lib/openai/models/fine_tuning/fine_tuning_job_event.rb +98 -0
  268. data/lib/openai/models/fine_tuning/fine_tuning_job_integration.rb +11 -0
  269. data/lib/openai/models/fine_tuning/fine_tuning_job_wandb_integration.rb +57 -0
  270. data/lib/openai/models/fine_tuning/fine_tuning_job_wandb_integration_object.rb +35 -0
  271. data/lib/openai/models/fine_tuning/job_cancel_params.rb +16 -0
  272. data/lib/openai/models/fine_tuning/job_create_params.rb +377 -0
  273. data/lib/openai/models/fine_tuning/job_list_events_params.rb +32 -0
  274. data/lib/openai/models/fine_tuning/job_list_params.rb +44 -0
  275. data/lib/openai/models/fine_tuning/job_pause_params.rb +16 -0
  276. data/lib/openai/models/fine_tuning/job_resume_params.rb +16 -0
  277. data/lib/openai/models/fine_tuning/job_retrieve_params.rb +16 -0
  278. data/lib/openai/models/fine_tuning/jobs/checkpoint_list_params.rb +34 -0
  279. data/lib/openai/models/fine_tuning/jobs/fine_tuning_job_checkpoint.rb +121 -0
  280. data/lib/openai/models/fine_tuning/reinforcement_hyperparameters.rb +181 -0
  281. data/lib/openai/models/fine_tuning/reinforcement_method.rb +53 -0
  282. data/lib/openai/models/fine_tuning/supervised_hyperparameters.rb +88 -0
  283. data/lib/openai/models/fine_tuning/supervised_method.rb +20 -0
  284. data/lib/openai/models/function_definition.rb +55 -0
  285. data/lib/openai/models/function_parameters.rb +8 -0
  286. data/lib/openai/models/graders/label_model_grader.rb +171 -0
  287. data/lib/openai/models/graders/multi_grader.rb +71 -0
  288. data/lib/openai/models/graders/python_grader.rb +46 -0
  289. data/lib/openai/models/graders/score_model_grader.rb +171 -0
  290. data/lib/openai/models/graders/string_check_grader.rb +70 -0
  291. data/lib/openai/models/graders/text_similarity_grader.rb +80 -0
  292. data/lib/openai/models/image.rb +41 -0
  293. data/lib/openai/models/image_create_variation_params.rb +112 -0
  294. data/lib/openai/models/image_edit_params.rb +225 -0
  295. data/lib/openai/models/image_generate_params.rb +272 -0
  296. data/lib/openai/models/image_model.rb +16 -0
  297. data/lib/openai/models/images_response.rb +98 -0
  298. data/lib/openai/models/metadata.rb +8 -0
  299. data/lib/openai/models/model.rb +43 -0
  300. data/lib/openai/models/model_delete_params.rb +14 -0
  301. data/lib/openai/models/model_deleted.rb +28 -0
  302. data/lib/openai/models/model_list_params.rb +14 -0
  303. data/lib/openai/models/model_retrieve_params.rb +14 -0
  304. data/lib/openai/models/moderation.rb +563 -0
  305. data/lib/openai/models/moderation_create_params.rb +80 -0
  306. data/lib/openai/models/moderation_create_response.rb +35 -0
  307. data/lib/openai/models/moderation_image_url_input.rb +40 -0
  308. data/lib/openai/models/moderation_model.rb +17 -0
  309. data/lib/openai/models/moderation_multi_modal_input.rb +21 -0
  310. data/lib/openai/models/moderation_text_input.rb +26 -0
  311. data/lib/openai/models/other_file_chunking_strategy_object.rb +20 -0
  312. data/lib/openai/models/reasoning.rb +89 -0
  313. data/lib/openai/models/reasoning_effort.rb +22 -0
  314. data/lib/openai/models/response_format_json_object.rb +20 -0
  315. data/lib/openai/models/response_format_json_schema.rb +85 -0
  316. data/lib/openai/models/response_format_text.rb +18 -0
  317. data/lib/openai/models/responses/computer_tool.rb +61 -0
  318. data/lib/openai/models/responses/easy_input_message.rb +91 -0
  319. data/lib/openai/models/responses/file_search_tool.rb +114 -0
  320. data/lib/openai/models/responses/function_tool.rb +63 -0
  321. data/lib/openai/models/responses/input_item_list_params.rb +78 -0
  322. data/lib/openai/models/responses/response.rb +393 -0
  323. data/lib/openai/models/responses/response_audio_delta_event.rb +39 -0
  324. data/lib/openai/models/responses/response_audio_done_event.rb +31 -0
  325. data/lib/openai/models/responses/response_audio_transcript_delta_event.rb +39 -0
  326. data/lib/openai/models/responses/response_audio_transcript_done_event.rb +31 -0
  327. data/lib/openai/models/responses/response_cancel_params.rb +16 -0
  328. data/lib/openai/models/responses/response_code_interpreter_call_code_delta_event.rb +48 -0
  329. data/lib/openai/models/responses/response_code_interpreter_call_code_done_event.rb +48 -0
  330. data/lib/openai/models/responses/response_code_interpreter_call_completed_event.rb +48 -0
  331. data/lib/openai/models/responses/response_code_interpreter_call_in_progress_event.rb +48 -0
  332. data/lib/openai/models/responses/response_code_interpreter_call_interpreting_event.rb +48 -0
  333. data/lib/openai/models/responses/response_code_interpreter_tool_call.rb +171 -0
  334. data/lib/openai/models/responses/response_completed_event.rb +39 -0
  335. data/lib/openai/models/responses/response_computer_tool_call.rb +493 -0
  336. data/lib/openai/models/responses/response_computer_tool_call_output_item.rb +111 -0
  337. data/lib/openai/models/responses/response_computer_tool_call_output_screenshot.rb +41 -0
  338. data/lib/openai/models/responses/response_content.rb +30 -0
  339. data/lib/openai/models/responses/response_content_part_added_event.rb +81 -0
  340. data/lib/openai/models/responses/response_content_part_done_event.rb +81 -0
  341. data/lib/openai/models/responses/response_create_params.rb +369 -0
  342. data/lib/openai/models/responses/response_created_event.rb +39 -0
  343. data/lib/openai/models/responses/response_delete_params.rb +16 -0
  344. data/lib/openai/models/responses/response_error.rb +60 -0
  345. data/lib/openai/models/responses/response_error_event.rb +55 -0
  346. data/lib/openai/models/responses/response_failed_event.rb +39 -0
  347. data/lib/openai/models/responses/response_file_search_call_completed_event.rb +48 -0
  348. data/lib/openai/models/responses/response_file_search_call_in_progress_event.rb +48 -0
  349. data/lib/openai/models/responses/response_file_search_call_searching_event.rb +48 -0
  350. data/lib/openai/models/responses/response_file_search_tool_call.rb +147 -0
  351. data/lib/openai/models/responses/response_format_text_config.rb +48 -0
  352. data/lib/openai/models/responses/response_format_text_json_schema_config.rb +70 -0
  353. data/lib/openai/models/responses/response_function_call_arguments_delta_event.rb +56 -0
  354. data/lib/openai/models/responses/response_function_call_arguments_done_event.rb +51 -0
  355. data/lib/openai/models/responses/response_function_tool_call.rb +87 -0
  356. data/lib/openai/models/responses/response_function_tool_call_item.rb +25 -0
  357. data/lib/openai/models/responses/response_function_tool_call_output_item.rb +70 -0
  358. data/lib/openai/models/responses/response_function_web_search.rb +56 -0
  359. data/lib/openai/models/responses/response_image_gen_call_completed_event.rb +45 -0
  360. data/lib/openai/models/responses/response_image_gen_call_generating_event.rb +45 -0
  361. data/lib/openai/models/responses/response_image_gen_call_in_progress_event.rb +44 -0
  362. data/lib/openai/models/responses/response_image_gen_call_partial_image_event.rb +65 -0
  363. data/lib/openai/models/responses/response_in_progress_event.rb +39 -0
  364. data/lib/openai/models/responses/response_includable.rb +32 -0
  365. data/lib/openai/models/responses/response_incomplete_event.rb +39 -0
  366. data/lib/openai/models/responses/response_input.rb +10 -0
  367. data/lib/openai/models/responses/response_input_audio.rb +52 -0
  368. data/lib/openai/models/responses/response_input_content.rb +26 -0
  369. data/lib/openai/models/responses/response_input_file.rb +47 -0
  370. data/lib/openai/models/responses/response_input_image.rb +65 -0
  371. data/lib/openai/models/responses/response_input_item.rb +876 -0
  372. data/lib/openai/models/responses/response_input_message_content_list.rb +11 -0
  373. data/lib/openai/models/responses/response_input_message_item.rb +99 -0
  374. data/lib/openai/models/responses/response_input_text.rb +28 -0
  375. data/lib/openai/models/responses/response_item.rb +549 -0
  376. data/lib/openai/models/responses/response_item_list.rb +54 -0
  377. data/lib/openai/models/responses/response_mcp_call_arguments_delta_event.rb +53 -0
  378. data/lib/openai/models/responses/response_mcp_call_arguments_done_event.rb +52 -0
  379. data/lib/openai/models/responses/response_mcp_call_completed_event.rb +28 -0
  380. data/lib/openai/models/responses/response_mcp_call_failed_event.rb +28 -0
  381. data/lib/openai/models/responses/response_mcp_call_in_progress_event.rb +44 -0
  382. data/lib/openai/models/responses/response_mcp_list_tools_completed_event.rb +28 -0
  383. data/lib/openai/models/responses/response_mcp_list_tools_failed_event.rb +28 -0
  384. data/lib/openai/models/responses/response_mcp_list_tools_in_progress_event.rb +29 -0
  385. data/lib/openai/models/responses/response_output_audio.rb +39 -0
  386. data/lib/openai/models/responses/response_output_item.rb +442 -0
  387. data/lib/openai/models/responses/response_output_item_added_event.rb +47 -0
  388. data/lib/openai/models/responses/response_output_item_done_event.rb +47 -0
  389. data/lib/openai/models/responses/response_output_message.rb +90 -0
  390. data/lib/openai/models/responses/response_output_refusal.rb +28 -0
  391. data/lib/openai/models/responses/response_output_text.rb +171 -0
  392. data/lib/openai/models/responses/response_output_text_annotation_added_event.rb +68 -0
  393. data/lib/openai/models/responses/response_queued_event.rb +36 -0
  394. data/lib/openai/models/responses/response_reasoning_delta_event.rb +60 -0
  395. data/lib/openai/models/responses/response_reasoning_done_event.rb +60 -0
  396. data/lib/openai/models/responses/response_reasoning_item.rb +98 -0
  397. data/lib/openai/models/responses/response_reasoning_summary_delta_event.rb +65 -0
  398. data/lib/openai/models/responses/response_reasoning_summary_done_event.rb +60 -0
  399. data/lib/openai/models/responses/response_reasoning_summary_part_added_event.rb +86 -0
  400. data/lib/openai/models/responses/response_reasoning_summary_part_done_event.rb +86 -0
  401. data/lib/openai/models/responses/response_reasoning_summary_text_delta_event.rb +64 -0
  402. data/lib/openai/models/responses/response_reasoning_summary_text_done_event.rb +64 -0
  403. data/lib/openai/models/responses/response_refusal_delta_event.rb +63 -0
  404. data/lib/openai/models/responses/response_refusal_done_event.rb +63 -0
  405. data/lib/openai/models/responses/response_retrieve_params.rb +28 -0
  406. data/lib/openai/models/responses/response_status.rb +23 -0
  407. data/lib/openai/models/responses/response_stream_event.rb +217 -0
  408. data/lib/openai/models/responses/response_text_config.rb +39 -0
  409. data/lib/openai/models/responses/response_text_delta_event.rb +63 -0
  410. data/lib/openai/models/responses/response_text_done_event.rb +63 -0
  411. data/lib/openai/models/responses/response_usage.rb +85 -0
  412. data/lib/openai/models/responses/response_web_search_call_completed_event.rb +48 -0
  413. data/lib/openai/models/responses/response_web_search_call_in_progress_event.rb +48 -0
  414. data/lib/openai/models/responses/response_web_search_call_searching_event.rb +48 -0
  415. data/lib/openai/models/responses/tool.rb +512 -0
  416. data/lib/openai/models/responses/tool_choice_function.rb +28 -0
  417. data/lib/openai/models/responses/tool_choice_options.rb +26 -0
  418. data/lib/openai/models/responses/tool_choice_types.rb +62 -0
  419. data/lib/openai/models/responses/web_search_tool.rb +123 -0
  420. data/lib/openai/models/responses_model.rb +30 -0
  421. data/lib/openai/models/static_file_chunking_strategy.rb +30 -0
  422. data/lib/openai/models/static_file_chunking_strategy_object.rb +23 -0
  423. data/lib/openai/models/static_file_chunking_strategy_object_param.rb +25 -0
  424. data/lib/openai/models/upload.rb +103 -0
  425. data/lib/openai/models/upload_cancel_params.rb +14 -0
  426. data/lib/openai/models/upload_complete_params.rb +34 -0
  427. data/lib/openai/models/upload_create_params.rb +55 -0
  428. data/lib/openai/models/uploads/part_create_params.rb +27 -0
  429. data/lib/openai/models/uploads/upload_part.rb +47 -0
  430. data/lib/openai/models/vector_store.rb +195 -0
  431. data/lib/openai/models/vector_store_create_params.rb +90 -0
  432. data/lib/openai/models/vector_store_delete_params.rb +14 -0
  433. data/lib/openai/models/vector_store_deleted.rb +28 -0
  434. data/lib/openai/models/vector_store_list_params.rb +69 -0
  435. data/lib/openai/models/vector_store_retrieve_params.rb +14 -0
  436. data/lib/openai/models/vector_store_search_params.rb +116 -0
  437. data/lib/openai/models/vector_store_search_response.rb +103 -0
  438. data/lib/openai/models/vector_store_update_params.rb +71 -0
  439. data/lib/openai/models/vector_stores/file_batch_cancel_params.rb +22 -0
  440. data/lib/openai/models/vector_stores/file_batch_create_params.rb +67 -0
  441. data/lib/openai/models/vector_stores/file_batch_list_files_params.rb +99 -0
  442. data/lib/openai/models/vector_stores/file_batch_retrieve_params.rb +22 -0
  443. data/lib/openai/models/vector_stores/file_content_params.rb +22 -0
  444. data/lib/openai/models/vector_stores/file_content_response.rb +27 -0
  445. data/lib/openai/models/vector_stores/file_create_params.rb +67 -0
  446. data/lib/openai/models/vector_stores/file_delete_params.rb +22 -0
  447. data/lib/openai/models/vector_stores/file_list_params.rb +92 -0
  448. data/lib/openai/models/vector_stores/file_retrieve_params.rb +22 -0
  449. data/lib/openai/models/vector_stores/file_update_params.rb +55 -0
  450. data/lib/openai/models/vector_stores/vector_store_file.rb +172 -0
  451. data/lib/openai/models/vector_stores/vector_store_file_batch.rb +130 -0
  452. data/lib/openai/models/vector_stores/vector_store_file_deleted.rb +32 -0
  453. data/lib/openai/models.rb +237 -0
  454. data/lib/openai/request_options.rb +77 -0
  455. data/lib/openai/resources/audio/speech.rb +52 -0
  456. data/lib/openai/resources/audio/transcriptions.rb +116 -0
  457. data/lib/openai/resources/audio/translations.rb +50 -0
  458. data/lib/openai/resources/audio.rb +26 -0
  459. data/lib/openai/resources/batches.rb +109 -0
  460. data/lib/openai/resources/beta/assistants.rb +180 -0
  461. data/lib/openai/resources/beta/threads/messages.rb +177 -0
  462. data/lib/openai/resources/beta/threads/runs/steps.rb +101 -0
  463. data/lib/openai/resources/beta/threads/runs.rb +374 -0
  464. data/lib/openai/resources/beta/threads.rb +248 -0
  465. data/lib/openai/resources/beta.rb +22 -0
  466. data/lib/openai/resources/chat/completions/messages.rb +51 -0
  467. data/lib/openai/resources/chat/completions.rb +412 -0
  468. data/lib/openai/resources/chat.rb +18 -0
  469. data/lib/openai/resources/completions.rb +143 -0
  470. data/lib/openai/resources/containers/files/content.rb +43 -0
  471. data/lib/openai/resources/containers/files.rb +135 -0
  472. data/lib/openai/resources/containers.rb +113 -0
  473. data/lib/openai/resources/embeddings.rb +47 -0
  474. data/lib/openai/resources/evals/runs/output_items.rb +91 -0
  475. data/lib/openai/resources/evals/runs.rb +168 -0
  476. data/lib/openai/resources/evals.rb +155 -0
  477. data/lib/openai/resources/files.rb +155 -0
  478. data/lib/openai/resources/fine_tuning/alpha/graders.rb +66 -0
  479. data/lib/openai/resources/fine_tuning/alpha.rb +20 -0
  480. data/lib/openai/resources/fine_tuning/checkpoints/permissions.rb +125 -0
  481. data/lib/openai/resources/fine_tuning/checkpoints.rb +20 -0
  482. data/lib/openai/resources/fine_tuning/jobs/checkpoints.rb +48 -0
  483. data/lib/openai/resources/fine_tuning/jobs.rb +221 -0
  484. data/lib/openai/resources/fine_tuning/methods.rb +16 -0
  485. data/lib/openai/resources/fine_tuning.rb +30 -0
  486. data/lib/openai/resources/graders/grader_models.rb +16 -0
  487. data/lib/openai/resources/graders.rb +18 -0
  488. data/lib/openai/resources/images.rb +143 -0
  489. data/lib/openai/resources/models.rb +76 -0
  490. data/lib/openai/resources/moderations.rb +42 -0
  491. data/lib/openai/resources/responses/input_items.rb +52 -0
  492. data/lib/openai/resources/responses.rb +323 -0
  493. data/lib/openai/resources/uploads/parts.rb +54 -0
  494. data/lib/openai/resources/uploads.rb +125 -0
  495. data/lib/openai/resources/vector_stores/file_batches.rb +144 -0
  496. data/lib/openai/resources/vector_stores/files.rb +203 -0
  497. data/lib/openai/resources/vector_stores.rb +195 -0
  498. data/lib/openai/structured_output.rb +10 -0
  499. data/lib/openai/version.rb +3 -1
  500. data/lib/openai.rb +520 -7
  501. data/manifest.yaml +15 -0
  502. data/rbi/openai/client.rbi +109 -0
  503. data/rbi/openai/errors.rbi +189 -0
  504. data/rbi/openai/file_part.rbi +37 -0
  505. data/rbi/openai/helpers/structured_output/array_of.rbi +16 -0
  506. data/rbi/openai/helpers/structured_output/base_model.rbi +22 -0
  507. data/rbi/openai/helpers/structured_output/boolean.rbi +11 -0
  508. data/rbi/openai/helpers/structured_output/enum_of.rbi +30 -0
  509. data/rbi/openai/helpers/structured_output/json_schema_converter.rbi +83 -0
  510. data/rbi/openai/helpers/structured_output/union_of.rbi +23 -0
  511. data/rbi/openai/helpers/structured_output.rbi +16 -0
  512. data/rbi/openai/internal/cursor_page.rbi +22 -0
  513. data/rbi/openai/internal/page.rbi +22 -0
  514. data/rbi/openai/internal/stream.rbi +18 -0
  515. data/rbi/openai/internal/transport/base_client.rbi +309 -0
  516. data/rbi/openai/internal/transport/pooled_net_requester.rbi +78 -0
  517. data/rbi/openai/internal/type/array_of.rbi +104 -0
  518. data/rbi/openai/internal/type/base_model.rbi +295 -0
  519. data/rbi/openai/internal/type/base_page.rbi +42 -0
  520. data/rbi/openai/internal/type/base_stream.rbi +68 -0
  521. data/rbi/openai/internal/type/boolean.rbi +56 -0
  522. data/rbi/openai/internal/type/converter.rbi +158 -0
  523. data/rbi/openai/internal/type/enum.rbi +82 -0
  524. data/rbi/openai/internal/type/file_input.rbi +59 -0
  525. data/rbi/openai/internal/type/hash_of.rbi +104 -0
  526. data/rbi/openai/internal/type/request_parameters.rbi +29 -0
  527. data/rbi/openai/internal/type/union.rbi +116 -0
  528. data/rbi/openai/internal/type/unknown.rbi +56 -0
  529. data/rbi/openai/internal/util.rbi +482 -0
  530. data/rbi/openai/internal.rbi +16 -0
  531. data/rbi/openai/models/all_models.rbi +56 -0
  532. data/rbi/openai/models/audio/speech_create_params.rbi +273 -0
  533. data/rbi/openai/models/audio/speech_model.rbi +26 -0
  534. data/rbi/openai/models/audio/transcription.rbi +118 -0
  535. data/rbi/openai/models/audio/transcription_create_params.rbi +424 -0
  536. data/rbi/openai/models/audio/transcription_create_response.rbi +31 -0
  537. data/rbi/openai/models/audio/transcription_include.rbi +26 -0
  538. data/rbi/openai/models/audio/transcription_segment.rbi +120 -0
  539. data/rbi/openai/models/audio/transcription_stream_event.rbi +31 -0
  540. data/rbi/openai/models/audio/transcription_text_delta_event.rbi +142 -0
  541. data/rbi/openai/models/audio/transcription_text_done_event.rbi +144 -0
  542. data/rbi/openai/models/audio/transcription_verbose.rbi +90 -0
  543. data/rbi/openai/models/audio/transcription_word.rbi +45 -0
  544. data/rbi/openai/models/audio/translation.rbi +25 -0
  545. data/rbi/openai/models/audio/translation_create_params.rbi +190 -0
  546. data/rbi/openai/models/audio/translation_create_response.rbi +24 -0
  547. data/rbi/openai/models/audio/translation_verbose.rbi +72 -0
  548. data/rbi/openai/models/audio_model.rbi +22 -0
  549. data/rbi/openai/models/audio_response_format.rbi +28 -0
  550. data/rbi/openai/models/auto_file_chunking_strategy_param.rbi +32 -0
  551. data/rbi/openai/models/batch.rbi +290 -0
  552. data/rbi/openai/models/batch_cancel_params.rbi +27 -0
  553. data/rbi/openai/models/batch_create_params.rbi +170 -0
  554. data/rbi/openai/models/batch_error.rbi +65 -0
  555. data/rbi/openai/models/batch_list_params.rbi +65 -0
  556. data/rbi/openai/models/batch_request_counts.rbi +48 -0
  557. data/rbi/openai/models/batch_retrieve_params.rbi +27 -0
  558. data/rbi/openai/models/beta/assistant.rbi +384 -0
  559. data/rbi/openai/models/beta/assistant_create_params.rbi +760 -0
  560. data/rbi/openai/models/beta/assistant_delete_params.rbi +32 -0
  561. data/rbi/openai/models/beta/assistant_deleted.rbi +37 -0
  562. data/rbi/openai/models/beta/assistant_list_params.rbi +126 -0
  563. data/rbi/openai/models/beta/assistant_response_format_option.rbi +49 -0
  564. data/rbi/openai/models/beta/assistant_retrieve_params.rbi +32 -0
  565. data/rbi/openai/models/beta/assistant_stream_event.rbi +1170 -0
  566. data/rbi/openai/models/beta/assistant_tool.rbi +26 -0
  567. data/rbi/openai/models/beta/assistant_tool_choice.rbi +89 -0
  568. data/rbi/openai/models/beta/assistant_tool_choice_function.rbi +32 -0
  569. data/rbi/openai/models/beta/assistant_tool_choice_option.rbi +74 -0
  570. data/rbi/openai/models/beta/assistant_update_params.rbi +682 -0
  571. data/rbi/openai/models/beta/code_interpreter_tool.rbi +29 -0
  572. data/rbi/openai/models/beta/file_search_tool.rbi +246 -0
  573. data/rbi/openai/models/beta/function_tool.rbi +45 -0
  574. data/rbi/openai/models/beta/message_stream_event.rbi +263 -0
  575. data/rbi/openai/models/beta/run_step_stream_event.rbi +362 -0
  576. data/rbi/openai/models/beta/run_stream_event.rbi +485 -0
  577. data/rbi/openai/models/beta/thread.rbi +233 -0
  578. data/rbi/openai/models/beta/thread_create_and_run_params.rbi +1535 -0
  579. data/rbi/openai/models/beta/thread_create_params.rbi +847 -0
  580. data/rbi/openai/models/beta/thread_delete_params.rbi +29 -0
  581. data/rbi/openai/models/beta/thread_deleted.rbi +37 -0
  582. data/rbi/openai/models/beta/thread_retrieve_params.rbi +29 -0
  583. data/rbi/openai/models/beta/thread_stream_event.rbi +60 -0
  584. data/rbi/openai/models/beta/thread_update_params.rbi +225 -0
  585. data/rbi/openai/models/beta/threads/annotation.rbi +32 -0
  586. data/rbi/openai/models/beta/threads/annotation_delta.rbi +32 -0
  587. data/rbi/openai/models/beta/threads/file_citation_annotation.rbi +110 -0
  588. data/rbi/openai/models/beta/threads/file_citation_delta_annotation.rbi +145 -0
  589. data/rbi/openai/models/beta/threads/file_path_annotation.rbi +106 -0
  590. data/rbi/openai/models/beta/threads/file_path_delta_annotation.rbi +133 -0
  591. data/rbi/openai/models/beta/threads/image_file.rbi +102 -0
  592. data/rbi/openai/models/beta/threads/image_file_content_block.rbi +54 -0
  593. data/rbi/openai/models/beta/threads/image_file_delta.rbi +113 -0
  594. data/rbi/openai/models/beta/threads/image_file_delta_block.rbi +67 -0
  595. data/rbi/openai/models/beta/threads/image_url.rbi +97 -0
  596. data/rbi/openai/models/beta/threads/image_url_content_block.rbi +53 -0
  597. data/rbi/openai/models/beta/threads/image_url_delta.rbi +111 -0
  598. data/rbi/openai/models/beta/threads/image_url_delta_block.rbi +64 -0
  599. data/rbi/openai/models/beta/threads/message.rbi +486 -0
  600. data/rbi/openai/models/beta/threads/message_content.rbi +33 -0
  601. data/rbi/openai/models/beta/threads/message_content_delta.rbi +33 -0
  602. data/rbi/openai/models/beta/threads/message_content_part_param.rbi +32 -0
  603. data/rbi/openai/models/beta/threads/message_create_params.rbi +318 -0
  604. data/rbi/openai/models/beta/threads/message_delete_params.rbi +42 -0
  605. data/rbi/openai/models/beta/threads/message_deleted.rbi +44 -0
  606. data/rbi/openai/models/beta/threads/message_delta.rbi +128 -0
  607. data/rbi/openai/models/beta/threads/message_delta_event.rbi +67 -0
  608. data/rbi/openai/models/beta/threads/message_list_params.rbi +157 -0
  609. data/rbi/openai/models/beta/threads/message_retrieve_params.rbi +42 -0
  610. data/rbi/openai/models/beta/threads/message_update_params.rbi +66 -0
  611. data/rbi/openai/models/beta/threads/refusal_content_block.rbi +41 -0
  612. data/rbi/openai/models/beta/threads/refusal_delta_block.rbi +54 -0
  613. data/rbi/openai/models/beta/threads/required_action_function_tool_call.rbi +117 -0
  614. data/rbi/openai/models/beta/threads/run.rbi +870 -0
  615. data/rbi/openai/models/beta/threads/run_cancel_params.rbi +42 -0
  616. data/rbi/openai/models/beta/threads/run_create_params.rbi +882 -0
  617. data/rbi/openai/models/beta/threads/run_list_params.rbi +143 -0
  618. data/rbi/openai/models/beta/threads/run_retrieve_params.rbi +42 -0
  619. data/rbi/openai/models/beta/threads/run_status.rbi +50 -0
  620. data/rbi/openai/models/beta/threads/run_submit_tool_outputs_params.rbi +111 -0
  621. data/rbi/openai/models/beta/threads/run_update_params.rbi +66 -0
  622. data/rbi/openai/models/beta/threads/runs/code_interpreter_logs.rbi +58 -0
  623. data/rbi/openai/models/beta/threads/runs/code_interpreter_output_image.rbi +106 -0
  624. data/rbi/openai/models/beta/threads/runs/code_interpreter_tool_call.rbi +281 -0
  625. data/rbi/openai/models/beta/threads/runs/code_interpreter_tool_call_delta.rbi +196 -0
  626. data/rbi/openai/models/beta/threads/runs/file_search_tool_call.rbi +432 -0
  627. data/rbi/openai/models/beta/threads/runs/file_search_tool_call_delta.rbi +75 -0
  628. data/rbi/openai/models/beta/threads/runs/function_tool_call.rbi +128 -0
  629. data/rbi/openai/models/beta/threads/runs/function_tool_call_delta.rbi +149 -0
  630. data/rbi/openai/models/beta/threads/runs/message_creation_step_details.rbi +92 -0
  631. data/rbi/openai/models/beta/threads/runs/run_step.rbi +485 -0
  632. data/rbi/openai/models/beta/threads/runs/run_step_delta.rbi +94 -0
  633. data/rbi/openai/models/beta/threads/runs/run_step_delta_event.rbi +73 -0
  634. data/rbi/openai/models/beta/threads/runs/run_step_delta_message_delta.rbi +99 -0
  635. data/rbi/openai/models/beta/threads/runs/run_step_include.rbi +39 -0
  636. data/rbi/openai/models/beta/threads/runs/step_list_params.rbi +203 -0
  637. data/rbi/openai/models/beta/threads/runs/step_retrieve_params.rbi +100 -0
  638. data/rbi/openai/models/beta/threads/runs/tool_call.rbi +33 -0
  639. data/rbi/openai/models/beta/threads/runs/tool_call_delta.rbi +33 -0
  640. data/rbi/openai/models/beta/threads/runs/tool_call_delta_object.rbi +89 -0
  641. data/rbi/openai/models/beta/threads/runs/tool_calls_step_details.rbi +69 -0
  642. data/rbi/openai/models/beta/threads/text.rbi +54 -0
  643. data/rbi/openai/models/beta/threads/text_content_block.rbi +51 -0
  644. data/rbi/openai/models/beta/threads/text_content_block_param.rbi +41 -0
  645. data/rbi/openai/models/beta/threads/text_delta.rbi +76 -0
  646. data/rbi/openai/models/beta/threads/text_delta_block.rbi +62 -0
  647. data/rbi/openai/models/chat/chat_completion.rbi +419 -0
  648. data/rbi/openai/models/chat/chat_completion_assistant_message_param.rbi +299 -0
  649. data/rbi/openai/models/chat/chat_completion_audio.rbi +72 -0
  650. data/rbi/openai/models/chat/chat_completion_audio_param.rbi +213 -0
  651. data/rbi/openai/models/chat/chat_completion_chunk.rbi +841 -0
  652. data/rbi/openai/models/chat/chat_completion_content_part.rbi +141 -0
  653. data/rbi/openai/models/chat/chat_completion_content_part_image.rbi +162 -0
  654. data/rbi/openai/models/chat/chat_completion_content_part_input_audio.rbi +148 -0
  655. data/rbi/openai/models/chat/chat_completion_content_part_refusal.rbi +40 -0
  656. data/rbi/openai/models/chat/chat_completion_content_part_text.rbi +42 -0
  657. data/rbi/openai/models/chat/chat_completion_deleted.rbi +52 -0
  658. data/rbi/openai/models/chat/chat_completion_developer_message_param.rbi +106 -0
  659. data/rbi/openai/models/chat/chat_completion_function_call_option.rbi +36 -0
  660. data/rbi/openai/models/chat/chat_completion_function_message_param.rbi +57 -0
  661. data/rbi/openai/models/chat/chat_completion_message.rbi +309 -0
  662. data/rbi/openai/models/chat/chat_completion_message_param.rbi +36 -0
  663. data/rbi/openai/models/chat/chat_completion_message_tool_call.rbi +113 -0
  664. data/rbi/openai/models/chat/chat_completion_modality.rbi +29 -0
  665. data/rbi/openai/models/chat/chat_completion_named_tool_choice.rbi +86 -0
  666. data/rbi/openai/models/chat/chat_completion_prediction_content.rbi +99 -0
  667. data/rbi/openai/models/chat/chat_completion_reasoning_effort.rbi +11 -0
  668. data/rbi/openai/models/chat/chat_completion_role.rbi +36 -0
  669. data/rbi/openai/models/chat/chat_completion_store_message.rbi +35 -0
  670. data/rbi/openai/models/chat/chat_completion_stream_options.rbi +50 -0
  671. data/rbi/openai/models/chat/chat_completion_system_message_param.rbi +105 -0
  672. data/rbi/openai/models/chat/chat_completion_token_logprob.rbi +151 -0
  673. data/rbi/openai/models/chat/chat_completion_tool.rbi +47 -0
  674. data/rbi/openai/models/chat/chat_completion_tool_choice_option.rbi +77 -0
  675. data/rbi/openai/models/chat/chat_completion_tool_message_param.rbi +97 -0
  676. data/rbi/openai/models/chat/chat_completion_user_message_param.rbi +104 -0
  677. data/rbi/openai/models/chat/completion_create_params.rbi +1351 -0
  678. data/rbi/openai/models/chat/completion_delete_params.rbi +32 -0
  679. data/rbi/openai/models/chat/completion_list_params.rbi +131 -0
  680. data/rbi/openai/models/chat/completion_retrieve_params.rbi +32 -0
  681. data/rbi/openai/models/chat/completion_update_params.rbi +58 -0
  682. data/rbi/openai/models/chat/completions/message_list_params.rbi +126 -0
  683. data/rbi/openai/models/chat_model.rbi +119 -0
  684. data/rbi/openai/models/comparison_filter.rbi +116 -0
  685. data/rbi/openai/models/completion.rbi +97 -0
  686. data/rbi/openai/models/completion_choice.rbi +158 -0
  687. data/rbi/openai/models/completion_create_params.rbi +445 -0
  688. data/rbi/openai/models/completion_usage.rbi +215 -0
  689. data/rbi/openai/models/compound_filter.rbi +81 -0
  690. data/rbi/openai/models/container_create_params.rbi +145 -0
  691. data/rbi/openai/models/container_create_response.rbi +192 -0
  692. data/rbi/openai/models/container_delete_params.rbi +27 -0
  693. data/rbi/openai/models/container_list_params.rbi +99 -0
  694. data/rbi/openai/models/container_list_response.rbi +190 -0
  695. data/rbi/openai/models/container_retrieve_params.rbi +27 -0
  696. data/rbi/openai/models/container_retrieve_response.rbi +193 -0
  697. data/rbi/openai/models/containers/file_create_params.rbi +62 -0
  698. data/rbi/openai/models/containers/file_create_response.rbi +90 -0
  699. data/rbi/openai/models/containers/file_delete_params.rbi +40 -0
  700. data/rbi/openai/models/containers/file_list_params.rbi +116 -0
  701. data/rbi/openai/models/containers/file_list_response.rbi +90 -0
  702. data/rbi/openai/models/containers/file_retrieve_params.rbi +40 -0
  703. data/rbi/openai/models/containers/file_retrieve_response.rbi +90 -0
  704. data/rbi/openai/models/containers/files/content_retrieve_params.rbi +42 -0
  705. data/rbi/openai/models/create_embedding_response.rbi +102 -0
  706. data/rbi/openai/models/embedding.rbi +52 -0
  707. data/rbi/openai/models/embedding_create_params.rbi +231 -0
  708. data/rbi/openai/models/embedding_model.rbi +23 -0
  709. data/rbi/openai/models/error_object.rbi +46 -0
  710. data/rbi/openai/models/eval_create_params.rbi +806 -0
  711. data/rbi/openai/models/eval_create_response.rbi +330 -0
  712. data/rbi/openai/models/eval_custom_data_source_config.rbi +47 -0
  713. data/rbi/openai/models/eval_delete_params.rbi +27 -0
  714. data/rbi/openai/models/eval_delete_response.rbi +37 -0
  715. data/rbi/openai/models/eval_list_params.rbi +127 -0
  716. data/rbi/openai/models/eval_list_response.rbi +328 -0
  717. data/rbi/openai/models/eval_retrieve_params.rbi +27 -0
  718. data/rbi/openai/models/eval_retrieve_response.rbi +332 -0
  719. data/rbi/openai/models/eval_stored_completions_data_source_config.rbi +69 -0
  720. data/rbi/openai/models/eval_update_params.rbi +64 -0
  721. data/rbi/openai/models/eval_update_response.rbi +330 -0
  722. data/rbi/openai/models/evals/create_eval_completions_run_data_source.rbi +874 -0
  723. data/rbi/openai/models/evals/create_eval_jsonl_run_data_source.rbi +215 -0
  724. data/rbi/openai/models/evals/eval_api_error.rbi +38 -0
  725. data/rbi/openai/models/evals/run_cancel_params.rbi +37 -0
  726. data/rbi/openai/models/evals/run_cancel_response.rbi +1296 -0
  727. data/rbi/openai/models/evals/run_create_params.rbi +1064 -0
  728. data/rbi/openai/models/evals/run_create_response.rbi +1296 -0
  729. data/rbi/openai/models/evals/run_delete_params.rbi +37 -0
  730. data/rbi/openai/models/evals/run_delete_response.rbi +51 -0
  731. data/rbi/openai/models/evals/run_list_params.rbi +149 -0
  732. data/rbi/openai/models/evals/run_list_response.rbi +1292 -0
  733. data/rbi/openai/models/evals/run_retrieve_params.rbi +37 -0
  734. data/rbi/openai/models/evals/run_retrieve_response.rbi +1298 -0
  735. data/rbi/openai/models/evals/runs/output_item_list_params.rbi +186 -0
  736. data/rbi/openai/models/evals/runs/output_item_list_response.rbi +411 -0
  737. data/rbi/openai/models/evals/runs/output_item_retrieve_params.rbi +50 -0
  738. data/rbi/openai/models/evals/runs/output_item_retrieve_response.rbi +413 -0
  739. data/rbi/openai/models/file_chunking_strategy.rbi +22 -0
  740. data/rbi/openai/models/file_chunking_strategy_param.rbi +25 -0
  741. data/rbi/openai/models/file_content.rbi +7 -0
  742. data/rbi/openai/models/file_content_params.rbi +27 -0
  743. data/rbi/openai/models/file_create_params.rbi +57 -0
  744. data/rbi/openai/models/file_delete_params.rbi +27 -0
  745. data/rbi/openai/models/file_deleted.rbi +33 -0
  746. data/rbi/openai/models/file_list_params.rbi +110 -0
  747. data/rbi/openai/models/file_object.rbi +164 -0
  748. data/rbi/openai/models/file_purpose.rbi +27 -0
  749. data/rbi/openai/models/file_retrieve_params.rbi +27 -0
  750. data/rbi/openai/models/fine_tuning/alpha/grader_run_params.rbi +150 -0
  751. data/rbi/openai/models/fine_tuning/alpha/grader_run_response.rbi +268 -0
  752. data/rbi/openai/models/fine_tuning/alpha/grader_validate_params.rbi +100 -0
  753. data/rbi/openai/models/fine_tuning/alpha/grader_validate_response.rbi +98 -0
  754. data/rbi/openai/models/fine_tuning/checkpoints/permission_create_params.rbi +50 -0
  755. data/rbi/openai/models/fine_tuning/checkpoints/permission_create_response.rbi +70 -0
  756. data/rbi/openai/models/fine_tuning/checkpoints/permission_delete_params.rbi +45 -0
  757. data/rbi/openai/models/fine_tuning/checkpoints/permission_delete_response.rbi +54 -0
  758. data/rbi/openai/models/fine_tuning/checkpoints/permission_retrieve_params.rbi +134 -0
  759. data/rbi/openai/models/fine_tuning/checkpoints/permission_retrieve_response.rbi +139 -0
  760. data/rbi/openai/models/fine_tuning/dpo_hyperparameters.rbi +157 -0
  761. data/rbi/openai/models/fine_tuning/dpo_method.rbi +45 -0
  762. data/rbi/openai/models/fine_tuning/fine_tuning_job.rbi +625 -0
  763. data/rbi/openai/models/fine_tuning/fine_tuning_job_event.rbi +181 -0
  764. data/rbi/openai/models/fine_tuning/fine_tuning_job_integration.rbi +12 -0
  765. data/rbi/openai/models/fine_tuning/fine_tuning_job_wandb_integration.rbi +85 -0
  766. data/rbi/openai/models/fine_tuning/fine_tuning_job_wandb_integration_object.rbi +66 -0
  767. data/rbi/openai/models/fine_tuning/job_cancel_params.rbi +32 -0
  768. data/rbi/openai/models/fine_tuning/job_create_params.rbi +665 -0
  769. data/rbi/openai/models/fine_tuning/job_list_events_params.rbi +62 -0
  770. data/rbi/openai/models/fine_tuning/job_list_params.rbi +69 -0
  771. data/rbi/openai/models/fine_tuning/job_pause_params.rbi +29 -0
  772. data/rbi/openai/models/fine_tuning/job_resume_params.rbi +32 -0
  773. data/rbi/openai/models/fine_tuning/job_retrieve_params.rbi +32 -0
  774. data/rbi/openai/models/fine_tuning/jobs/checkpoint_list_params.rbi +64 -0
  775. data/rbi/openai/models/fine_tuning/jobs/fine_tuning_job_checkpoint.rbi +197 -0
  776. data/rbi/openai/models/fine_tuning/reinforcement_hyperparameters.rbi +281 -0
  777. data/rbi/openai/models/fine_tuning/reinforcement_method.rbi +112 -0
  778. data/rbi/openai/models/fine_tuning/supervised_hyperparameters.rbi +128 -0
  779. data/rbi/openai/models/fine_tuning/supervised_method.rbi +52 -0
  780. data/rbi/openai/models/function_definition.rbi +91 -0
  781. data/rbi/openai/models/function_parameters.rbi +11 -0
  782. data/rbi/openai/models/graders/label_model_grader.rbi +300 -0
  783. data/rbi/openai/models/graders/multi_grader.rbi +123 -0
  784. data/rbi/openai/models/graders/python_grader.rbi +64 -0
  785. data/rbi/openai/models/graders/score_model_grader.rbi +307 -0
  786. data/rbi/openai/models/graders/string_check_grader.rbi +118 -0
  787. data/rbi/openai/models/graders/text_similarity_grader.rbi +161 -0
  788. data/rbi/openai/models/image.rbi +62 -0
  789. data/rbi/openai/models/image_create_variation_params.rbi +201 -0
  790. data/rbi/openai/models/image_edit_params.rbi +336 -0
  791. data/rbi/openai/models/image_generate_params.rbi +442 -0
  792. data/rbi/openai/models/image_model.rbi +20 -0
  793. data/rbi/openai/models/images_response.rbi +165 -0
  794. data/rbi/openai/models/metadata.rbi +11 -0
  795. data/rbi/openai/models/model.rbi +54 -0
  796. data/rbi/openai/models/model_delete_params.rbi +27 -0
  797. data/rbi/openai/models/model_deleted.rbi +33 -0
  798. data/rbi/openai/models/model_list_params.rbi +27 -0
  799. data/rbi/openai/models/model_retrieve_params.rbi +27 -0
  800. data/rbi/openai/models/moderation.rbi +1061 -0
  801. data/rbi/openai/models/moderation_create_params.rbi +122 -0
  802. data/rbi/openai/models/moderation_create_response.rbi +53 -0
  803. data/rbi/openai/models/moderation_image_url_input.rbi +76 -0
  804. data/rbi/openai/models/moderation_model.rbi +28 -0
  805. data/rbi/openai/models/moderation_multi_modal_input.rbi +21 -0
  806. data/rbi/openai/models/moderation_text_input.rbi +34 -0
  807. data/rbi/openai/models/other_file_chunking_strategy_object.rbi +33 -0
  808. data/rbi/openai/models/reasoning.rbi +127 -0
  809. data/rbi/openai/models/reasoning_effort.rbi +26 -0
  810. data/rbi/openai/models/response_format_json_object.rbi +30 -0
  811. data/rbi/openai/models/response_format_json_schema.rbi +150 -0
  812. data/rbi/openai/models/response_format_text.rbi +28 -0
  813. data/rbi/openai/models/responses/computer_tool.rbi +113 -0
  814. data/rbi/openai/models/responses/easy_input_message.rbi +164 -0
  815. data/rbi/openai/models/responses/file_search_tool.rbi +223 -0
  816. data/rbi/openai/models/responses/function_tool.rbi +76 -0
  817. data/rbi/openai/models/responses/input_item_list_params.rbi +157 -0
  818. data/rbi/openai/models/responses/response.rbi +664 -0
  819. data/rbi/openai/models/responses/response_audio_delta_event.rbi +53 -0
  820. data/rbi/openai/models/responses/response_audio_done_event.rbi +43 -0
  821. data/rbi/openai/models/responses/response_audio_transcript_delta_event.rbi +53 -0
  822. data/rbi/openai/models/responses/response_audio_transcript_done_event.rbi +43 -0
  823. data/rbi/openai/models/responses/response_cancel_params.rbi +32 -0
  824. data/rbi/openai/models/responses/response_code_interpreter_call_code_delta_event.rbi +67 -0
  825. data/rbi/openai/models/responses/response_code_interpreter_call_code_done_event.rbi +67 -0
  826. data/rbi/openai/models/responses/response_code_interpreter_call_completed_event.rbi +77 -0
  827. data/rbi/openai/models/responses/response_code_interpreter_call_in_progress_event.rbi +77 -0
  828. data/rbi/openai/models/responses/response_code_interpreter_call_interpreting_event.rbi +77 -0
  829. data/rbi/openai/models/responses/response_code_interpreter_tool_call.rbi +297 -0
  830. data/rbi/openai/models/responses/response_completed_event.rbi +62 -0
  831. data/rbi/openai/models/responses/response_computer_tool_call.rbi +795 -0
  832. data/rbi/openai/models/responses/response_computer_tool_call_output_item.rbi +223 -0
  833. data/rbi/openai/models/responses/response_computer_tool_call_output_screenshot.rbi +59 -0
  834. data/rbi/openai/models/responses/response_content.rbi +31 -0
  835. data/rbi/openai/models/responses/response_content_part_added_event.rbi +115 -0
  836. data/rbi/openai/models/responses/response_content_part_done_event.rbi +115 -0
  837. data/rbi/openai/models/responses/response_create_params.rbi +688 -0
  838. data/rbi/openai/models/responses/response_created_event.rbi +62 -0
  839. data/rbi/openai/models/responses/response_delete_params.rbi +32 -0
  840. data/rbi/openai/models/responses/response_error.rbi +158 -0
  841. data/rbi/openai/models/responses/response_error_event.rbi +75 -0
  842. data/rbi/openai/models/responses/response_failed_event.rbi +62 -0
  843. data/rbi/openai/models/responses/response_file_search_call_completed_event.rbi +67 -0
  844. data/rbi/openai/models/responses/response_file_search_call_in_progress_event.rbi +67 -0
  845. data/rbi/openai/models/responses/response_file_search_call_searching_event.rbi +67 -0
  846. data/rbi/openai/models/responses/response_file_search_tool_call.rbi +276 -0
  847. data/rbi/openai/models/responses/response_format_text_config.rbi +41 -0
  848. data/rbi/openai/models/responses/response_format_text_json_schema_config.rbi +94 -0
  849. data/rbi/openai/models/responses/response_function_call_arguments_delta_event.rbi +75 -0
  850. data/rbi/openai/models/responses/response_function_call_arguments_done_event.rbi +73 -0
  851. data/rbi/openai/models/responses/response_function_tool_call.rbi +148 -0
  852. data/rbi/openai/models/responses/response_function_tool_call_item.rbi +35 -0
  853. data/rbi/openai/models/responses/response_function_tool_call_output_item.rbi +133 -0
  854. data/rbi/openai/models/responses/response_function_web_search.rbi +112 -0
  855. data/rbi/openai/models/responses/response_image_gen_call_completed_event.rbi +68 -0
  856. data/rbi/openai/models/responses/response_image_gen_call_generating_event.rbi +68 -0
  857. data/rbi/openai/models/responses/response_image_gen_call_in_progress_event.rbi +67 -0
  858. data/rbi/openai/models/responses/response_image_gen_call_partial_image_event.rbi +85 -0
  859. data/rbi/openai/models/responses/response_in_progress_event.rbi +62 -0
  860. data/rbi/openai/models/responses/response_includable.rbi +57 -0
  861. data/rbi/openai/models/responses/response_incomplete_event.rbi +62 -0
  862. data/rbi/openai/models/responses/response_input.rbi +15 -0
  863. data/rbi/openai/models/responses/response_input_audio.rbi +91 -0
  864. data/rbi/openai/models/responses/response_input_content.rbi +29 -0
  865. data/rbi/openai/models/responses/response_input_file.rbi +73 -0
  866. data/rbi/openai/models/responses/response_input_image.rbi +110 -0
  867. data/rbi/openai/models/responses/response_input_item.rbi +1499 -0
  868. data/rbi/openai/models/responses/response_input_message_content_list.rbi +15 -0
  869. data/rbi/openai/models/responses/response_input_message_item.rbi +225 -0
  870. data/rbi/openai/models/responses/response_input_text.rbi +39 -0
  871. data/rbi/openai/models/responses/response_item.rbi +820 -0
  872. data/rbi/openai/models/responses/response_item_list.rbi +97 -0
  873. data/rbi/openai/models/responses/response_mcp_call_arguments_delta_event.rbi +76 -0
  874. data/rbi/openai/models/responses/response_mcp_call_arguments_done_event.rbi +75 -0
  875. data/rbi/openai/models/responses/response_mcp_call_completed_event.rbi +43 -0
  876. data/rbi/openai/models/responses/response_mcp_call_failed_event.rbi +43 -0
  877. data/rbi/openai/models/responses/response_mcp_call_in_progress_event.rbi +67 -0
  878. data/rbi/openai/models/responses/response_mcp_list_tools_completed_event.rbi +43 -0
  879. data/rbi/openai/models/responses/response_mcp_list_tools_failed_event.rbi +43 -0
  880. data/rbi/openai/models/responses/response_mcp_list_tools_in_progress_event.rbi +44 -0
  881. data/rbi/openai/models/responses/response_output_audio.rbi +51 -0
  882. data/rbi/openai/models/responses/response_output_item.rbi +645 -0
  883. data/rbi/openai/models/responses/response_output_item_added_event.rbi +81 -0
  884. data/rbi/openai/models/responses/response_output_item_done_event.rbi +81 -0
  885. data/rbi/openai/models/responses/response_output_message.rbi +162 -0
  886. data/rbi/openai/models/responses/response_output_refusal.rbi +39 -0
  887. data/rbi/openai/models/responses/response_output_text.rbi +271 -0
  888. data/rbi/openai/models/responses/response_output_text_annotation_added_event.rbi +91 -0
  889. data/rbi/openai/models/responses/response_queued_event.rbi +62 -0
  890. data/rbi/openai/models/responses/response_reasoning_delta_event.rbi +83 -0
  891. data/rbi/openai/models/responses/response_reasoning_done_event.rbi +83 -0
  892. data/rbi/openai/models/responses/response_reasoning_item.rbi +170 -0
  893. data/rbi/openai/models/responses/response_reasoning_summary_delta_event.rbi +85 -0
  894. data/rbi/openai/models/responses/response_reasoning_summary_done_event.rbi +83 -0
  895. data/rbi/openai/models/responses/response_reasoning_summary_part_added_event.rbi +129 -0
  896. data/rbi/openai/models/responses/response_reasoning_summary_part_done_event.rbi +129 -0
  897. data/rbi/openai/models/responses/response_reasoning_summary_text_delta_event.rbi +83 -0
  898. data/rbi/openai/models/responses/response_reasoning_summary_text_done_event.rbi +83 -0
  899. data/rbi/openai/models/responses/response_refusal_delta_event.rbi +83 -0
  900. data/rbi/openai/models/responses/response_refusal_done_event.rbi +83 -0
  901. data/rbi/openai/models/responses/response_retrieve_params.rbi +62 -0
  902. data/rbi/openai/models/responses/response_status.rbi +36 -0
  903. data/rbi/openai/models/responses/response_stream_event.rbi +79 -0
  904. data/rbi/openai/models/responses/response_text_config.rbi +103 -0
  905. data/rbi/openai/models/responses/response_text_delta_event.rbi +83 -0
  906. data/rbi/openai/models/responses/response_text_done_event.rbi +83 -0
  907. data/rbi/openai/models/responses/response_usage.rbi +147 -0
  908. data/rbi/openai/models/responses/response_web_search_call_completed_event.rbi +67 -0
  909. data/rbi/openai/models/responses/response_web_search_call_in_progress_event.rbi +67 -0
  910. data/rbi/openai/models/responses/response_web_search_call_searching_event.rbi +67 -0
  911. data/rbi/openai/models/responses/tool.rbi +1063 -0
  912. data/rbi/openai/models/responses/tool_choice_function.rbi +39 -0
  913. data/rbi/openai/models/responses/tool_choice_options.rbi +36 -0
  914. data/rbi/openai/models/responses/tool_choice_types.rbi +121 -0
  915. data/rbi/openai/models/responses/web_search_tool.rbi +231 -0
  916. data/rbi/openai/models/responses_model.rbi +61 -0
  917. data/rbi/openai/models/static_file_chunking_strategy.rbi +48 -0
  918. data/rbi/openai/models/static_file_chunking_strategy_object.rbi +46 -0
  919. data/rbi/openai/models/static_file_chunking_strategy_object_param.rbi +47 -0
  920. data/rbi/openai/models/upload.rbi +123 -0
  921. data/rbi/openai/models/upload_cancel_params.rbi +27 -0
  922. data/rbi/openai/models/upload_complete_params.rbi +56 -0
  923. data/rbi/openai/models/upload_create_params.rbi +79 -0
  924. data/rbi/openai/models/uploads/part_create_params.rbi +45 -0
  925. data/rbi/openai/models/uploads/upload_part.rbi +66 -0
  926. data/rbi/openai/models/vector_store.rbi +254 -0
  927. data/rbi/openai/models/vector_store_create_params.rbi +166 -0
  928. data/rbi/openai/models/vector_store_delete_params.rbi +27 -0
  929. data/rbi/openai/models/vector_store_deleted.rbi +35 -0
  930. data/rbi/openai/models/vector_store_list_params.rbi +116 -0
  931. data/rbi/openai/models/vector_store_retrieve_params.rbi +27 -0
  932. data/rbi/openai/models/vector_store_search_params.rbi +242 -0
  933. data/rbi/openai/models/vector_store_search_response.rbi +202 -0
  934. data/rbi/openai/models/vector_store_update_params.rbi +113 -0
  935. data/rbi/openai/models/vector_stores/file_batch_cancel_params.rbi +40 -0
  936. data/rbi/openai/models/vector_stores/file_batch_create_params.rbi +143 -0
  937. data/rbi/openai/models/vector_stores/file_batch_list_files_params.rbi +224 -0
  938. data/rbi/openai/models/vector_stores/file_batch_retrieve_params.rbi +40 -0
  939. data/rbi/openai/models/vector_stores/file_content_params.rbi +40 -0
  940. data/rbi/openai/models/vector_stores/file_content_response.rbi +44 -0
  941. data/rbi/openai/models/vector_stores/file_create_params.rbi +143 -0
  942. data/rbi/openai/models/vector_stores/file_delete_params.rbi +40 -0
  943. data/rbi/openai/models/vector_stores/file_list_params.rbi +202 -0
  944. data/rbi/openai/models/vector_stores/file_retrieve_params.rbi +40 -0
  945. data/rbi/openai/models/vector_stores/file_update_params.rbi +99 -0
  946. data/rbi/openai/models/vector_stores/vector_store_file.rbi +337 -0
  947. data/rbi/openai/models/vector_stores/vector_store_file_batch.rbi +219 -0
  948. data/rbi/openai/models/vector_stores/vector_store_file_deleted.rbi +42 -0
  949. data/rbi/openai/models.rbi +202 -0
  950. data/rbi/openai/request_options.rbi +55 -0
  951. data/rbi/openai/resources/audio/speech.rbi +52 -0
  952. data/rbi/openai/resources/audio/transcriptions.rbi +178 -0
  953. data/rbi/openai/resources/audio/translations.rbi +51 -0
  954. data/rbi/openai/resources/audio.rbi +21 -0
  955. data/rbi/openai/resources/batches.rbi +104 -0
  956. data/rbi/openai/resources/beta/assistants.rbi +294 -0
  957. data/rbi/openai/resources/beta/threads/messages.rbi +159 -0
  958. data/rbi/openai/resources/beta/threads/runs/steps.rbi +106 -0
  959. data/rbi/openai/resources/beta/threads/runs.rbi +546 -0
  960. data/rbi/openai/resources/beta/threads.rbi +415 -0
  961. data/rbi/openai/resources/beta.rbi +18 -0
  962. data/rbi/openai/resources/chat/completions/messages.rbi +46 -0
  963. data/rbi/openai/resources/chat/completions.rbi +682 -0
  964. data/rbi/openai/resources/chat.rbi +15 -0
  965. data/rbi/openai/resources/completions.rbi +292 -0
  966. data/rbi/openai/resources/containers/files/content.rbi +27 -0
  967. data/rbi/openai/resources/containers/files.rbi +92 -0
  968. data/rbi/openai/resources/containers.rbi +86 -0
  969. data/rbi/openai/resources/embeddings.rbi +55 -0
  970. data/rbi/openai/resources/evals/runs/output_items.rbi +73 -0
  971. data/rbi/openai/resources/evals/runs.rbi +133 -0
  972. data/rbi/openai/resources/evals.rbi +146 -0
  973. data/rbi/openai/resources/files.rbi +122 -0
  974. data/rbi/openai/resources/fine_tuning/alpha/graders.rbi +65 -0
  975. data/rbi/openai/resources/fine_tuning/alpha.rbi +17 -0
  976. data/rbi/openai/resources/fine_tuning/checkpoints/permissions.rbi +94 -0
  977. data/rbi/openai/resources/fine_tuning/checkpoints.rbi +17 -0
  978. data/rbi/openai/resources/fine_tuning/jobs/checkpoints.rbi +40 -0
  979. data/rbi/openai/resources/fine_tuning/jobs.rbi +214 -0
  980. data/rbi/openai/resources/fine_tuning/methods.rbi +14 -0
  981. data/rbi/openai/resources/fine_tuning.rbi +24 -0
  982. data/rbi/openai/resources/graders/grader_models.rbi +14 -0
  983. data/rbi/openai/resources/graders.rbi +15 -0
  984. data/rbi/openai/resources/images.rbi +205 -0
  985. data/rbi/openai/resources/models.rbi +52 -0
  986. data/rbi/openai/resources/moderations.rbi +34 -0
  987. data/rbi/openai/resources/responses/input_items.rbi +52 -0
  988. data/rbi/openai/resources/responses.rbi +485 -0
  989. data/rbi/openai/resources/uploads/parts.rbi +41 -0
  990. data/rbi/openai/resources/uploads.rbi +109 -0
  991. data/rbi/openai/resources/vector_stores/file_batches.rbi +134 -0
  992. data/rbi/openai/resources/vector_stores/files.rbi +183 -0
  993. data/rbi/openai/resources/vector_stores.rbi +182 -0
  994. data/rbi/openai/structured_output.rbi +10 -0
  995. data/rbi/openai/version.rbi +5 -0
  996. data/sig/openai/client.rbs +64 -0
  997. data/sig/openai/errors.rbs +107 -0
  998. data/sig/openai/file_part.rbs +21 -0
  999. data/sig/openai/internal/cursor_page.rbs +13 -0
  1000. data/sig/openai/internal/page.rbs +13 -0
  1001. data/sig/openai/internal/stream.rbs +9 -0
  1002. data/sig/openai/internal/transport/base_client.rbs +131 -0
  1003. data/sig/openai/internal/transport/pooled_net_requester.rbs +45 -0
  1004. data/sig/openai/internal/type/array_of.rbs +48 -0
  1005. data/sig/openai/internal/type/base_model.rbs +102 -0
  1006. data/sig/openai/internal/type/base_page.rbs +24 -0
  1007. data/sig/openai/internal/type/base_stream.rbs +33 -0
  1008. data/sig/openai/internal/type/boolean.rbs +26 -0
  1009. data/sig/openai/internal/type/converter.rbs +56 -0
  1010. data/sig/openai/internal/type/enum.rbs +32 -0
  1011. data/sig/openai/internal/type/file_input.rbs +25 -0
  1012. data/sig/openai/internal/type/hash_of.rbs +48 -0
  1013. data/sig/openai/internal/type/request_parameters.rbs +17 -0
  1014. data/sig/openai/internal/type/union.rbs +52 -0
  1015. data/sig/openai/internal/type/unknown.rbs +26 -0
  1016. data/sig/openai/internal/util.rbs +185 -0
  1017. data/sig/openai/internal.rbs +9 -0
  1018. data/sig/openai/models/all_models.rbs +31 -0
  1019. data/sig/openai/models/audio/speech_create_params.rbs +116 -0
  1020. data/sig/openai/models/audio/speech_model.rbs +17 -0
  1021. data/sig/openai/models/audio/transcription.rbs +59 -0
  1022. data/sig/openai/models/audio/transcription_create_params.rbs +163 -0
  1023. data/sig/openai/models/audio/transcription_create_response.rbs +14 -0
  1024. data/sig/openai/models/audio/transcription_include.rbs +15 -0
  1025. data/sig/openai/models/audio/transcription_segment.rbs +67 -0
  1026. data/sig/openai/models/audio/transcription_stream_event.rbs +15 -0
  1027. data/sig/openai/models/audio/transcription_text_delta_event.rbs +60 -0
  1028. data/sig/openai/models/audio/transcription_text_done_event.rbs +60 -0
  1029. data/sig/openai/models/audio/transcription_verbose.rbs +50 -0
  1030. data/sig/openai/models/audio/transcription_word.rbs +19 -0
  1031. data/sig/openai/models/audio/translation.rbs +15 -0
  1032. data/sig/openai/models/audio/translation_create_params.rbs +78 -0
  1033. data/sig/openai/models/audio/translation_create_response.rbs +14 -0
  1034. data/sig/openai/models/audio/translation_verbose.rbs +41 -0
  1035. data/sig/openai/models/audio_model.rbs +16 -0
  1036. data/sig/openai/models/audio_response_format.rbs +17 -0
  1037. data/sig/openai/models/auto_file_chunking_strategy_param.rbs +13 -0
  1038. data/sig/openai/models/batch.rbs +185 -0
  1039. data/sig/openai/models/batch_cancel_params.rbs +14 -0
  1040. data/sig/openai/models/batch_create_params.rbs +68 -0
  1041. data/sig/openai/models/batch_error.rbs +34 -0
  1042. data/sig/openai/models/batch_list_params.rbs +32 -0
  1043. data/sig/openai/models/batch_request_counts.rbs +22 -0
  1044. data/sig/openai/models/batch_retrieve_params.rbs +15 -0
  1045. data/sig/openai/models/beta/assistant.rbs +136 -0
  1046. data/sig/openai/models/beta/assistant_create_params.rbs +257 -0
  1047. data/sig/openai/models/beta/assistant_delete_params.rbs +17 -0
  1048. data/sig/openai/models/beta/assistant_deleted.rbs +28 -0
  1049. data/sig/openai/models/beta/assistant_list_params.rbs +64 -0
  1050. data/sig/openai/models/beta/assistant_response_format_option.rbs +17 -0
  1051. data/sig/openai/models/beta/assistant_retrieve_params.rbs +17 -0
  1052. data/sig/openai/models/beta/assistant_stream_event.rbs +535 -0
  1053. data/sig/openai/models/beta/assistant_tool.rbs +16 -0
  1054. data/sig/openai/models/beta/assistant_tool_choice.rbs +43 -0
  1055. data/sig/openai/models/beta/assistant_tool_choice_function.rbs +15 -0
  1056. data/sig/openai/models/beta/assistant_tool_choice_option.rbs +27 -0
  1057. data/sig/openai/models/beta/assistant_update_params.rbs +222 -0
  1058. data/sig/openai/models/beta/code_interpreter_tool.rbs +15 -0
  1059. data/sig/openai/models/beta/file_search_tool.rbs +96 -0
  1060. data/sig/openai/models/beta/function_tool.rbs +24 -0
  1061. data/sig/openai/models/beta/message_stream_event.rbs +128 -0
  1062. data/sig/openai/models/beta/run_step_stream_event.rbs +174 -0
  1063. data/sig/openai/models/beta/run_stream_event.rbs +216 -0
  1064. data/sig/openai/models/beta/thread.rbs +96 -0
  1065. data/sig/openai/models/beta/thread_create_and_run_params.rbs +500 -0
  1066. data/sig/openai/models/beta/thread_create_params.rbs +312 -0
  1067. data/sig/openai/models/beta/thread_delete_params.rbs +17 -0
  1068. data/sig/openai/models/beta/thread_deleted.rbs +24 -0
  1069. data/sig/openai/models/beta/thread_retrieve_params.rbs +17 -0
  1070. data/sig/openai/models/beta/thread_stream_event.rbs +30 -0
  1071. data/sig/openai/models/beta/thread_update_params.rbs +87 -0
  1072. data/sig/openai/models/beta/threads/annotation.rbs +17 -0
  1073. data/sig/openai/models/beta/threads/annotation_delta.rbs +17 -0
  1074. data/sig/openai/models/beta/threads/file_citation_annotation.rbs +54 -0
  1075. data/sig/openai/models/beta/threads/file_citation_delta_annotation.rbs +75 -0
  1076. data/sig/openai/models/beta/threads/file_path_annotation.rbs +54 -0
  1077. data/sig/openai/models/beta/threads/file_path_delta_annotation.rbs +71 -0
  1078. data/sig/openai/models/beta/threads/image_file.rbs +45 -0
  1079. data/sig/openai/models/beta/threads/image_file_content_block.rbs +26 -0
  1080. data/sig/openai/models/beta/threads/image_file_delta.rbs +47 -0
  1081. data/sig/openai/models/beta/threads/image_file_delta_block.rbs +38 -0
  1082. data/sig/openai/models/beta/threads/image_url.rbs +45 -0
  1083. data/sig/openai/models/beta/threads/image_url_content_block.rbs +26 -0
  1084. data/sig/openai/models/beta/threads/image_url_delta.rbs +47 -0
  1085. data/sig/openai/models/beta/threads/image_url_delta_block.rbs +38 -0
  1086. data/sig/openai/models/beta/threads/message.rbs +197 -0
  1087. data/sig/openai/models/beta/threads/message_content.rbs +19 -0
  1088. data/sig/openai/models/beta/threads/message_content_delta.rbs +19 -0
  1089. data/sig/openai/models/beta/threads/message_content_part_param.rbs +18 -0
  1090. data/sig/openai/models/beta/threads/message_create_params.rbs +116 -0
  1091. data/sig/openai/models/beta/threads/message_delete_params.rbs +27 -0
  1092. data/sig/openai/models/beta/threads/message_deleted.rbs +30 -0
  1093. data/sig/openai/models/beta/threads/message_delta.rbs +48 -0
  1094. data/sig/openai/models/beta/threads/message_delta_event.rbs +34 -0
  1095. data/sig/openai/models/beta/threads/message_list_params.rbs +73 -0
  1096. data/sig/openai/models/beta/threads/message_retrieve_params.rbs +27 -0
  1097. data/sig/openai/models/beta/threads/message_update_params.rbs +32 -0
  1098. data/sig/openai/models/beta/threads/refusal_content_block.rbs +19 -0
  1099. data/sig/openai/models/beta/threads/refusal_delta_block.rbs +28 -0
  1100. data/sig/openai/models/beta/threads/required_action_function_tool_call.rbs +46 -0
  1101. data/sig/openai/models/beta/threads/run.rbs +319 -0
  1102. data/sig/openai/models/beta/threads/run_cancel_params.rbs +27 -0
  1103. data/sig/openai/models/beta/threads/run_create_params.rbs +260 -0
  1104. data/sig/openai/models/beta/threads/run_list_params.rbs +66 -0
  1105. data/sig/openai/models/beta/threads/run_retrieve_params.rbs +27 -0
  1106. data/sig/openai/models/beta/threads/run_status.rbs +34 -0
  1107. data/sig/openai/models/beta/threads/run_submit_tool_outputs_params.rbs +51 -0
  1108. data/sig/openai/models/beta/threads/run_update_params.rbs +32 -0
  1109. data/sig/openai/models/beta/threads/runs/code_interpreter_logs.rbs +30 -0
  1110. data/sig/openai/models/beta/threads/runs/code_interpreter_output_image.rbs +52 -0
  1111. data/sig/openai/models/beta/threads/runs/code_interpreter_tool_call.rbs +112 -0
  1112. data/sig/openai/models/beta/threads/runs/code_interpreter_tool_call_delta.rbs +85 -0
  1113. data/sig/openai/models/beta/threads/runs/file_search_tool_call.rbs +173 -0
  1114. data/sig/openai/models/beta/threads/runs/file_search_tool_call_delta.rbs +38 -0
  1115. data/sig/openai/models/beta/threads/runs/function_tool_call.rbs +58 -0
  1116. data/sig/openai/models/beta/threads/runs/function_tool_call_delta.rbs +73 -0
  1117. data/sig/openai/models/beta/threads/runs/message_creation_step_details.rbs +41 -0
  1118. data/sig/openai/models/beta/threads/runs/run_step.rbs +199 -0
  1119. data/sig/openai/models/beta/threads/runs/run_step_delta.rbs +42 -0
  1120. data/sig/openai/models/beta/threads/runs/run_step_delta_event.rbs +38 -0
  1121. data/sig/openai/models/beta/threads/runs/run_step_delta_message_delta.rbs +49 -0
  1122. data/sig/openai/models/beta/threads/runs/run_step_include.rbs +22 -0
  1123. data/sig/openai/models/beta/threads/runs/step_list_params.rbs +82 -0
  1124. data/sig/openai/models/beta/threads/runs/step_retrieve_params.rbs +46 -0
  1125. data/sig/openai/models/beta/threads/runs/tool_call.rbs +20 -0
  1126. data/sig/openai/models/beta/threads/runs/tool_call_delta.rbs +20 -0
  1127. data/sig/openai/models/beta/threads/runs/tool_call_delta_object.rbs +35 -0
  1128. data/sig/openai/models/beta/threads/runs/tool_calls_step_details.rbs +31 -0
  1129. data/sig/openai/models/beta/threads/text.rbs +29 -0
  1130. data/sig/openai/models/beta/threads/text_content_block.rbs +23 -0
  1131. data/sig/openai/models/beta/threads/text_content_block_param.rbs +19 -0
  1132. data/sig/openai/models/beta/threads/text_delta.rbs +35 -0
  1133. data/sig/openai/models/beta/threads/text_delta_block.rbs +38 -0
  1134. data/sig/openai/models/chat/chat_completion.rbs +144 -0
  1135. data/sig/openai/models/chat/chat_completion_assistant_message_param.rbs +104 -0
  1136. data/sig/openai/models/chat/chat_completion_audio.rbs +34 -0
  1137. data/sig/openai/models/chat/chat_completion_audio_param.rbs +76 -0
  1138. data/sig/openai/models/chat/chat_completion_chunk.rbs +289 -0
  1139. data/sig/openai/models/chat/chat_completion_content_part.rbs +69 -0
  1140. data/sig/openai/models/chat/chat_completion_content_part_image.rbs +67 -0
  1141. data/sig/openai/models/chat/chat_completion_content_part_input_audio.rbs +62 -0
  1142. data/sig/openai/models/chat/chat_completion_content_part_refusal.rbs +20 -0
  1143. data/sig/openai/models/chat/chat_completion_content_part_text.rbs +19 -0
  1144. data/sig/openai/models/chat/chat_completion_deleted.rbs +30 -0
  1145. data/sig/openai/models/chat/chat_completion_developer_message_param.rbs +47 -0
  1146. data/sig/openai/models/chat/chat_completion_function_call_option.rbs +17 -0
  1147. data/sig/openai/models/chat/chat_completion_function_message_param.rbs +26 -0
  1148. data/sig/openai/models/chat/chat_completion_message.rbs +132 -0
  1149. data/sig/openai/models/chat/chat_completion_message_param.rbs +21 -0
  1150. data/sig/openai/models/chat/chat_completion_message_tool_call.rbs +46 -0
  1151. data/sig/openai/models/chat/chat_completion_modality.rbs +18 -0
  1152. data/sig/openai/models/chat/chat_completion_named_tool_choice.rbs +39 -0
  1153. data/sig/openai/models/chat/chat_completion_prediction_content.rbs +40 -0
  1154. data/sig/openai/models/chat/chat_completion_reasoning_effort.rbs +9 -0
  1155. data/sig/openai/models/chat/chat_completion_role.rbs +23 -0
  1156. data/sig/openai/models/chat/chat_completion_store_message.rbs +19 -0
  1157. data/sig/openai/models/chat/chat_completion_stream_options.rbs +19 -0
  1158. data/sig/openai/models/chat/chat_completion_system_message_param.rbs +47 -0
  1159. data/sig/openai/models/chat/chat_completion_token_logprob.rbs +62 -0
  1160. data/sig/openai/models/chat/chat_completion_tool.rbs +26 -0
  1161. data/sig/openai/models/chat/chat_completion_tool_choice_option.rbs +29 -0
  1162. data/sig/openai/models/chat/chat_completion_tool_message_param.rbs +45 -0
  1163. data/sig/openai/models/chat/chat_completion_user_message_param.rbs +47 -0
  1164. data/sig/openai/models/chat/completion_create_params.rbs +407 -0
  1165. data/sig/openai/models/chat/completion_delete_params.rbs +17 -0
  1166. data/sig/openai/models/chat/completion_list_params.rbs +69 -0
  1167. data/sig/openai/models/chat/completion_retrieve_params.rbs +17 -0
  1168. data/sig/openai/models/chat/completion_update_params.rbs +26 -0
  1169. data/sig/openai/models/chat/completions/message_list_params.rbs +59 -0
  1170. data/sig/openai/models/chat_model.rbs +120 -0
  1171. data/sig/openai/models/comparison_filter.rbs +53 -0
  1172. data/sig/openai/models/completion.rbs +54 -0
  1173. data/sig/openai/models/completion_choice.rbs +89 -0
  1174. data/sig/openai/models/completion_create_params.rbs +146 -0
  1175. data/sig/openai/models/completion_usage.rbs +108 -0
  1176. data/sig/openai/models/compound_filter.rbs +44 -0
  1177. data/sig/openai/models/container_create_params.rbs +74 -0
  1178. data/sig/openai/models/container_create_response.rbs +87 -0
  1179. data/sig/openai/models/container_delete_params.rbs +15 -0
  1180. data/sig/openai/models/container_list_params.rbs +55 -0
  1181. data/sig/openai/models/container_list_response.rbs +87 -0
  1182. data/sig/openai/models/container_retrieve_params.rbs +15 -0
  1183. data/sig/openai/models/container_retrieve_response.rbs +87 -0
  1184. data/sig/openai/models/containers/file_create_params.rbs +36 -0
  1185. data/sig/openai/models/containers/file_create_response.rbs +52 -0
  1186. data/sig/openai/models/containers/file_delete_params.rbs +25 -0
  1187. data/sig/openai/models/containers/file_list_params.rbs +57 -0
  1188. data/sig/openai/models/containers/file_list_response.rbs +52 -0
  1189. data/sig/openai/models/containers/file_retrieve_params.rbs +25 -0
  1190. data/sig/openai/models/containers/file_retrieve_response.rbs +52 -0
  1191. data/sig/openai/models/containers/files/content_retrieve_params.rbs +27 -0
  1192. data/sig/openai/models/create_embedding_response.rbs +47 -0
  1193. data/sig/openai/models/embedding.rbs +26 -0
  1194. data/sig/openai/models/embedding_create_params.rbs +88 -0
  1195. data/sig/openai/models/embedding_model.rbs +18 -0
  1196. data/sig/openai/models/error_object.rbs +30 -0
  1197. data/sig/openai/models/eval_create_params.rbs +308 -0
  1198. data/sig/openai/models/eval_create_response.rbs +137 -0
  1199. data/sig/openai/models/eval_custom_data_source_config.rbs +16 -0
  1200. data/sig/openai/models/eval_delete_params.rbs +14 -0
  1201. data/sig/openai/models/eval_delete_response.rbs +18 -0
  1202. data/sig/openai/models/eval_list_params.rbs +75 -0
  1203. data/sig/openai/models/eval_list_response.rbs +137 -0
  1204. data/sig/openai/models/eval_retrieve_params.rbs +15 -0
  1205. data/sig/openai/models/eval_retrieve_response.rbs +137 -0
  1206. data/sig/openai/models/eval_stored_completions_data_source_config.rbs +30 -0
  1207. data/sig/openai/models/eval_update_params.rbs +30 -0
  1208. data/sig/openai/models/eval_update_response.rbs +137 -0
  1209. data/sig/openai/models/evals/create_eval_completions_run_data_source.rbs +345 -0
  1210. data/sig/openai/models/evals/create_eval_jsonl_run_data_source.rbs +92 -0
  1211. data/sig/openai/models/evals/eval_api_error.rbs +19 -0
  1212. data/sig/openai/models/evals/run_cancel_params.rbs +25 -0
  1213. data/sig/openai/models/evals/run_cancel_response.rbs +563 -0
  1214. data/sig/openai/models/evals/run_create_params.rbs +434 -0
  1215. data/sig/openai/models/evals/run_create_response.rbs +563 -0
  1216. data/sig/openai/models/evals/run_delete_params.rbs +25 -0
  1217. data/sig/openai/models/evals/run_delete_response.rbs +30 -0
  1218. data/sig/openai/models/evals/run_list_params.rbs +80 -0
  1219. data/sig/openai/models/evals/run_list_response.rbs +563 -0
  1220. data/sig/openai/models/evals/run_retrieve_params.rbs +25 -0
  1221. data/sig/openai/models/evals/run_retrieve_response.rbs +563 -0
  1222. data/sig/openai/models/evals/runs/output_item_list_params.rbs +84 -0
  1223. data/sig/openai/models/evals/runs/output_item_list_response.rbs +191 -0
  1224. data/sig/openai/models/evals/runs/output_item_retrieve_params.rbs +32 -0
  1225. data/sig/openai/models/evals/runs/output_item_retrieve_response.rbs +191 -0
  1226. data/sig/openai/models/file_chunking_strategy.rbs +13 -0
  1227. data/sig/openai/models/file_chunking_strategy_param.rbs +13 -0
  1228. data/sig/openai/models/file_content.rbs +5 -0
  1229. data/sig/openai/models/file_content_params.rbs +14 -0
  1230. data/sig/openai/models/file_create_params.rbs +31 -0
  1231. data/sig/openai/models/file_delete_params.rbs +14 -0
  1232. data/sig/openai/models/file_deleted.rbs +17 -0
  1233. data/sig/openai/models/file_list_params.rbs +62 -0
  1234. data/sig/openai/models/file_object.rbs +99 -0
  1235. data/sig/openai/models/file_purpose.rbs +19 -0
  1236. data/sig/openai/models/file_retrieve_params.rbs +15 -0
  1237. data/sig/openai/models/fine_tuning/alpha/grader_run_params.rbs +63 -0
  1238. data/sig/openai/models/fine_tuning/alpha/grader_run_response.rbs +168 -0
  1239. data/sig/openai/models/fine_tuning/alpha/grader_validate_params.rbs +43 -0
  1240. data/sig/openai/models/fine_tuning/alpha/grader_validate_response.rbs +41 -0
  1241. data/sig/openai/models/fine_tuning/checkpoints/permission_create_params.rbs +28 -0
  1242. data/sig/openai/models/fine_tuning/checkpoints/permission_create_response.rbs +39 -0
  1243. data/sig/openai/models/fine_tuning/checkpoints/permission_delete_params.rbs +28 -0
  1244. data/sig/openai/models/fine_tuning/checkpoints/permission_delete_response.rbs +30 -0
  1245. data/sig/openai/models/fine_tuning/checkpoints/permission_retrieve_params.rbs +66 -0
  1246. data/sig/openai/models/fine_tuning/checkpoints/permission_retrieve_response.rbs +76 -0
  1247. data/sig/openai/models/fine_tuning/dpo_hyperparameters.rbs +85 -0
  1248. data/sig/openai/models/fine_tuning/dpo_method.rbs +24 -0
  1249. data/sig/openai/models/fine_tuning/fine_tuning_job.rbs +272 -0
  1250. data/sig/openai/models/fine_tuning/fine_tuning_job_event.rbs +83 -0
  1251. data/sig/openai/models/fine_tuning/fine_tuning_job_integration.rbs +9 -0
  1252. data/sig/openai/models/fine_tuning/fine_tuning_job_wandb_integration.rbs +41 -0
  1253. data/sig/openai/models/fine_tuning/fine_tuning_job_wandb_integration_object.rbs +29 -0
  1254. data/sig/openai/models/fine_tuning/job_cancel_params.rbs +16 -0
  1255. data/sig/openai/models/fine_tuning/job_create_params.rbs +269 -0
  1256. data/sig/openai/models/fine_tuning/job_list_events_params.rbs +34 -0
  1257. data/sig/openai/models/fine_tuning/job_list_params.rbs +38 -0
  1258. data/sig/openai/models/fine_tuning/job_pause_params.rbs +16 -0
  1259. data/sig/openai/models/fine_tuning/job_resume_params.rbs +16 -0
  1260. data/sig/openai/models/fine_tuning/job_retrieve_params.rbs +17 -0
  1261. data/sig/openai/models/fine_tuning/jobs/checkpoint_list_params.rbs +36 -0
  1262. data/sig/openai/models/fine_tuning/jobs/fine_tuning_job_checkpoint.rbs +115 -0
  1263. data/sig/openai/models/fine_tuning/reinforcement_hyperparameters.rbs +141 -0
  1264. data/sig/openai/models/fine_tuning/reinforcement_method.rbs +44 -0
  1265. data/sig/openai/models/fine_tuning/supervised_hyperparameters.rbs +68 -0
  1266. data/sig/openai/models/fine_tuning/supervised_method.rbs +24 -0
  1267. data/sig/openai/models/function_definition.rbs +41 -0
  1268. data/sig/openai/models/function_parameters.rbs +7 -0
  1269. data/sig/openai/models/graders/label_model_grader.rbs +126 -0
  1270. data/sig/openai/models/graders/multi_grader.rbs +52 -0
  1271. data/sig/openai/models/graders/python_grader.rbs +36 -0
  1272. data/sig/openai/models/graders/score_model_grader.rbs +130 -0
  1273. data/sig/openai/models/graders/string_check_grader.rbs +57 -0
  1274. data/sig/openai/models/graders/text_similarity_grader.rbs +73 -0
  1275. data/sig/openai/models/image.rbs +31 -0
  1276. data/sig/openai/models/image_create_variation_params.rbs +84 -0
  1277. data/sig/openai/models/image_edit_params.rbs +152 -0
  1278. data/sig/openai/models/image_generate_params.rbs +188 -0
  1279. data/sig/openai/models/image_model.rbs +15 -0
  1280. data/sig/openai/models/images_response.rbs +81 -0
  1281. data/sig/openai/models/metadata.rbs +7 -0
  1282. data/sig/openai/models/model.rbs +30 -0
  1283. data/sig/openai/models/model_delete_params.rbs +14 -0
  1284. data/sig/openai/models/model_deleted.rbs +17 -0
  1285. data/sig/openai/models/model_list_params.rbs +14 -0
  1286. data/sig/openai/models/model_retrieve_params.rbs +15 -0
  1287. data/sig/openai/models/moderation.rbs +402 -0
  1288. data/sig/openai/models/moderation_create_params.rbs +58 -0
  1289. data/sig/openai/models/moderation_create_response.rbs +26 -0
  1290. data/sig/openai/models/moderation_image_url_input.rbs +32 -0
  1291. data/sig/openai/models/moderation_model.rbs +20 -0
  1292. data/sig/openai/models/moderation_multi_modal_input.rbs +12 -0
  1293. data/sig/openai/models/moderation_text_input.rbs +15 -0
  1294. data/sig/openai/models/other_file_chunking_strategy_object.rbs +13 -0
  1295. data/sig/openai/models/reasoning.rbs +54 -0
  1296. data/sig/openai/models/reasoning_effort.rbs +15 -0
  1297. data/sig/openai/models/response_format_json_object.rbs +13 -0
  1298. data/sig/openai/models/response_format_json_schema.rbs +61 -0
  1299. data/sig/openai/models/response_format_text.rbs +13 -0
  1300. data/sig/openai/models/responses/computer_tool.rbs +51 -0
  1301. data/sig/openai/models/responses/easy_input_message.rbs +69 -0
  1302. data/sig/openai/models/responses/file_search_tool.rbs +95 -0
  1303. data/sig/openai/models/responses/function_tool.rbs +42 -0
  1304. data/sig/openai/models/responses/input_item_list_params.rbs +73 -0
  1305. data/sig/openai/models/responses/response.rbs +217 -0
  1306. data/sig/openai/models/responses/response_audio_delta_event.rbs +32 -0
  1307. data/sig/openai/models/responses/response_audio_done_event.rbs +24 -0
  1308. data/sig/openai/models/responses/response_audio_transcript_delta_event.rbs +32 -0
  1309. data/sig/openai/models/responses/response_audio_transcript_done_event.rbs +24 -0
  1310. data/sig/openai/models/responses/response_cancel_params.rbs +17 -0
  1311. data/sig/openai/models/responses/response_code_interpreter_call_code_delta_event.rbs +37 -0
  1312. data/sig/openai/models/responses/response_code_interpreter_call_code_done_event.rbs +37 -0
  1313. data/sig/openai/models/responses/response_code_interpreter_call_completed_event.rbs +37 -0
  1314. data/sig/openai/models/responses/response_code_interpreter_call_in_progress_event.rbs +37 -0
  1315. data/sig/openai/models/responses/response_code_interpreter_call_interpreting_event.rbs +37 -0
  1316. data/sig/openai/models/responses/response_code_interpreter_tool_call.rbs +117 -0
  1317. data/sig/openai/models/responses/response_completed_event.rbs +32 -0
  1318. data/sig/openai/models/responses/response_computer_tool_call.rbs +294 -0
  1319. data/sig/openai/models/responses/response_computer_tool_call_output_item.rbs +82 -0
  1320. data/sig/openai/models/responses/response_computer_tool_call_output_screenshot.rbs +32 -0
  1321. data/sig/openai/models/responses/response_content.rbs +18 -0
  1322. data/sig/openai/models/responses/response_content_part_added_event.rbs +57 -0
  1323. data/sig/openai/models/responses/response_content_part_done_event.rbs +57 -0
  1324. data/sig/openai/models/responses/response_create_params.rbs +174 -0
  1325. data/sig/openai/models/responses/response_created_event.rbs +32 -0
  1326. data/sig/openai/models/responses/response_delete_params.rbs +17 -0
  1327. data/sig/openai/models/responses/response_error.rbs +72 -0
  1328. data/sig/openai/models/responses/response_error_event.rbs +42 -0
  1329. data/sig/openai/models/responses/response_failed_event.rbs +32 -0
  1330. data/sig/openai/models/responses/response_file_search_call_completed_event.rbs +37 -0
  1331. data/sig/openai/models/responses/response_file_search_call_in_progress_event.rbs +37 -0
  1332. data/sig/openai/models/responses/response_file_search_call_searching_event.rbs +37 -0
  1333. data/sig/openai/models/responses/response_file_search_tool_call.rbs +110 -0
  1334. data/sig/openai/models/responses/response_format_text_config.rbs +16 -0
  1335. data/sig/openai/models/responses/response_format_text_json_schema_config.rbs +44 -0
  1336. data/sig/openai/models/responses/response_function_call_arguments_delta_event.rbs +42 -0
  1337. data/sig/openai/models/responses/response_function_call_arguments_done_event.rbs +42 -0
  1338. data/sig/openai/models/responses/response_function_tool_call.rbs +65 -0
  1339. data/sig/openai/models/responses/response_function_tool_call_item.rbs +17 -0
  1340. data/sig/openai/models/responses/response_function_tool_call_output_item.rbs +58 -0
  1341. data/sig/openai/models/responses/response_function_web_search.rbs +45 -0
  1342. data/sig/openai/models/responses/response_image_gen_call_completed_event.rbs +37 -0
  1343. data/sig/openai/models/responses/response_image_gen_call_generating_event.rbs +37 -0
  1344. data/sig/openai/models/responses/response_image_gen_call_in_progress_event.rbs +37 -0
  1345. data/sig/openai/models/responses/response_image_gen_call_partial_image_event.rbs +47 -0
  1346. data/sig/openai/models/responses/response_in_progress_event.rbs +32 -0
  1347. data/sig/openai/models/responses/response_includable.rbs +22 -0
  1348. data/sig/openai/models/responses/response_incomplete_event.rbs +32 -0
  1349. data/sig/openai/models/responses/response_input.rbs +10 -0
  1350. data/sig/openai/models/responses/response_input_audio.rbs +43 -0
  1351. data/sig/openai/models/responses/response_input_content.rbs +16 -0
  1352. data/sig/openai/models/responses/response_input_file.rbs +41 -0
  1353. data/sig/openai/models/responses/response_input_image.rbs +49 -0
  1354. data/sig/openai/models/responses/response_input_item.rbs +630 -0
  1355. data/sig/openai/models/responses/response_input_message_content_list.rbs +10 -0
  1356. data/sig/openai/models/responses/response_input_message_item.rbs +84 -0
  1357. data/sig/openai/models/responses/response_input_text.rbs +17 -0
  1358. data/sig/openai/models/responses/response_item.rbs +399 -0
  1359. data/sig/openai/models/responses/response_item_list.rbs +44 -0
  1360. data/sig/openai/models/responses/response_mcp_call_arguments_delta_event.rbs +42 -0
  1361. data/sig/openai/models/responses/response_mcp_call_arguments_done_event.rbs +42 -0
  1362. data/sig/openai/models/responses/response_mcp_call_completed_event.rbs +24 -0
  1363. data/sig/openai/models/responses/response_mcp_call_failed_event.rbs +24 -0
  1364. data/sig/openai/models/responses/response_mcp_call_in_progress_event.rbs +37 -0
  1365. data/sig/openai/models/responses/response_mcp_list_tools_completed_event.rbs +24 -0
  1366. data/sig/openai/models/responses/response_mcp_list_tools_failed_event.rbs +24 -0
  1367. data/sig/openai/models/responses/response_mcp_list_tools_in_progress_event.rbs +27 -0
  1368. data/sig/openai/models/responses/response_output_audio.rbs +28 -0
  1369. data/sig/openai/models/responses/response_output_item.rbs +314 -0
  1370. data/sig/openai/models/responses/response_output_item_added_event.rbs +37 -0
  1371. data/sig/openai/models/responses/response_output_item_done_event.rbs +37 -0
  1372. data/sig/openai/models/responses/response_output_message.rbs +64 -0
  1373. data/sig/openai/models/responses/response_output_refusal.rbs +17 -0
  1374. data/sig/openai/models/responses/response_output_text.rbs +125 -0
  1375. data/sig/openai/models/responses/response_output_text_annotation_added_event.rbs +52 -0
  1376. data/sig/openai/models/responses/response_queued_event.rbs +32 -0
  1377. data/sig/openai/models/responses/response_reasoning_delta_event.rbs +47 -0
  1378. data/sig/openai/models/responses/response_reasoning_done_event.rbs +47 -0
  1379. data/sig/openai/models/responses/response_reasoning_item.rbs +70 -0
  1380. data/sig/openai/models/responses/response_reasoning_summary_delta_event.rbs +47 -0
  1381. data/sig/openai/models/responses/response_reasoning_summary_done_event.rbs +47 -0
  1382. data/sig/openai/models/responses/response_reasoning_summary_part_added_event.rbs +59 -0
  1383. data/sig/openai/models/responses/response_reasoning_summary_part_done_event.rbs +59 -0
  1384. data/sig/openai/models/responses/response_reasoning_summary_text_delta_event.rbs +47 -0
  1385. data/sig/openai/models/responses/response_reasoning_summary_text_done_event.rbs +47 -0
  1386. data/sig/openai/models/responses/response_refusal_delta_event.rbs +47 -0
  1387. data/sig/openai/models/responses/response_refusal_done_event.rbs +47 -0
  1388. data/sig/openai/models/responses/response_retrieve_params.rbs +30 -0
  1389. data/sig/openai/models/responses/response_status.rbs +21 -0
  1390. data/sig/openai/models/responses/response_stream_event.rbs +66 -0
  1391. data/sig/openai/models/responses/response_text_config.rbs +24 -0
  1392. data/sig/openai/models/responses/response_text_delta_event.rbs +47 -0
  1393. data/sig/openai/models/responses/response_text_done_event.rbs +47 -0
  1394. data/sig/openai/models/responses/response_usage.rbs +62 -0
  1395. data/sig/openai/models/responses/response_web_search_call_completed_event.rbs +37 -0
  1396. data/sig/openai/models/responses/response_web_search_call_in_progress_event.rbs +37 -0
  1397. data/sig/openai/models/responses/response_web_search_call_searching_event.rbs +37 -0
  1398. data/sig/openai/models/responses/tool.rbs +400 -0
  1399. data/sig/openai/models/responses/tool_choice_function.rbs +17 -0
  1400. data/sig/openai/models/responses/tool_choice_options.rbs +17 -0
  1401. data/sig/openai/models/responses/tool_choice_types.rbs +43 -0
  1402. data/sig/openai/models/responses/web_search_tool.rbs +96 -0
  1403. data/sig/openai/models/responses_model.rbs +31 -0
  1404. data/sig/openai/models/static_file_chunking_strategy.rbs +22 -0
  1405. data/sig/openai/models/static_file_chunking_strategy_object.rbs +22 -0
  1406. data/sig/openai/models/static_file_chunking_strategy_object_param.rbs +22 -0
  1407. data/sig/openai/models/upload.rbs +73 -0
  1408. data/sig/openai/models/upload_cancel_params.rbs +15 -0
  1409. data/sig/openai/models/upload_complete_params.rbs +30 -0
  1410. data/sig/openai/models/upload_create_params.rbs +41 -0
  1411. data/sig/openai/models/uploads/part_create_params.rbs +26 -0
  1412. data/sig/openai/models/uploads/upload_part.rbs +39 -0
  1413. data/sig/openai/models/vector_store.rbs +135 -0
  1414. data/sig/openai/models/vector_store_create_params.rbs +70 -0
  1415. data/sig/openai/models/vector_store_delete_params.rbs +15 -0
  1416. data/sig/openai/models/vector_store_deleted.rbs +26 -0
  1417. data/sig/openai/models/vector_store_list_params.rbs +62 -0
  1418. data/sig/openai/models/vector_store_retrieve_params.rbs +15 -0
  1419. data/sig/openai/models/vector_store_search_params.rbs +115 -0
  1420. data/sig/openai/models/vector_store_search_response.rbs +80 -0
  1421. data/sig/openai/models/vector_store_update_params.rbs +48 -0
  1422. data/sig/openai/models/vector_stores/file_batch_cancel_params.rbs +25 -0
  1423. data/sig/openai/models/vector_stores/file_batch_create_params.rbs +50 -0
  1424. data/sig/openai/models/vector_stores/file_batch_list_files_params.rbs +91 -0
  1425. data/sig/openai/models/vector_stores/file_batch_retrieve_params.rbs +25 -0
  1426. data/sig/openai/models/vector_stores/file_content_params.rbs +25 -0
  1427. data/sig/openai/models/vector_stores/file_content_response.rbs +21 -0
  1428. data/sig/openai/models/vector_stores/file_create_params.rbs +50 -0
  1429. data/sig/openai/models/vector_stores/file_delete_params.rbs +25 -0
  1430. data/sig/openai/models/vector_stores/file_list_params.rbs +86 -0
  1431. data/sig/openai/models/vector_stores/file_retrieve_params.rbs +25 -0
  1432. data/sig/openai/models/vector_stores/file_update_params.rbs +41 -0
  1433. data/sig/openai/models/vector_stores/vector_store_file.rbs +123 -0
  1434. data/sig/openai/models/vector_stores/vector_store_file_batch.rbs +99 -0
  1435. data/sig/openai/models/vector_stores/vector_store_file_deleted.rbs +30 -0
  1436. data/sig/openai/models.rbs +195 -0
  1437. data/sig/openai/request_options.rbs +34 -0
  1438. data/sig/openai/resources/audio/speech.rbs +19 -0
  1439. data/sig/openai/resources/audio/transcriptions.rbs +35 -0
  1440. data/sig/openai/resources/audio/translations.rbs +18 -0
  1441. data/sig/openai/resources/audio.rbs +13 -0
  1442. data/sig/openai/resources/batches.rbs +31 -0
  1443. data/sig/openai/resources/beta/assistants.rbs +58 -0
  1444. data/sig/openai/resources/beta/threads/messages.rbs +49 -0
  1445. data/sig/openai/resources/beta/threads/runs/steps.rbs +32 -0
  1446. data/sig/openai/resources/beta/threads/runs.rbs +99 -0
  1447. data/sig/openai/resources/beta/threads.rbs +75 -0
  1448. data/sig/openai/resources/beta.rbs +11 -0
  1449. data/sig/openai/resources/chat/completions/messages.rbs +19 -0
  1450. data/sig/openai/resources/chat/completions.rbs +104 -0
  1451. data/sig/openai/resources/chat.rbs +9 -0
  1452. data/sig/openai/resources/completions.rbs +49 -0
  1453. data/sig/openai/resources/containers/files/content.rbs +17 -0
  1454. data/sig/openai/resources/containers/files.rbs +38 -0
  1455. data/sig/openai/resources/containers.rbs +33 -0
  1456. data/sig/openai/resources/embeddings.rbs +16 -0
  1457. data/sig/openai/resources/evals/runs/output_items.rbs +28 -0
  1458. data/sig/openai/resources/evals/runs.rbs +46 -0
  1459. data/sig/openai/resources/evals.rbs +42 -0
  1460. data/sig/openai/resources/files.rbs +36 -0
  1461. data/sig/openai/resources/fine_tuning/alpha/graders.rbs +23 -0
  1462. data/sig/openai/resources/fine_tuning/alpha.rbs +11 -0
  1463. data/sig/openai/resources/fine_tuning/checkpoints/permissions.rbs +32 -0
  1464. data/sig/openai/resources/fine_tuning/checkpoints.rbs +11 -0
  1465. data/sig/openai/resources/fine_tuning/jobs/checkpoints.rbs +18 -0
  1466. data/sig/openai/resources/fine_tuning/jobs.rbs +58 -0
  1467. data/sig/openai/resources/fine_tuning/methods.rbs +9 -0
  1468. data/sig/openai/resources/fine_tuning.rbs +15 -0
  1469. data/sig/openai/resources/graders/grader_models.rbs +9 -0
  1470. data/sig/openai/resources/graders.rbs +9 -0
  1471. data/sig/openai/resources/images.rbs +47 -0
  1472. data/sig/openai/resources/models.rbs +21 -0
  1473. data/sig/openai/resources/moderations.rbs +13 -0
  1474. data/sig/openai/resources/responses/input_items.rbs +19 -0
  1475. data/sig/openai/resources/responses.rbs +71 -0
  1476. data/sig/openai/resources/uploads/parts.rbs +15 -0
  1477. data/sig/openai/resources/uploads.rbs +29 -0
  1478. data/sig/openai/resources/vector_stores/file_batches.rbs +40 -0
  1479. data/sig/openai/resources/vector_stores/files.rbs +52 -0
  1480. data/sig/openai/resources/vector_stores.rbs +56 -0
  1481. data/sig/openai/version.rbs +3 -0
  1482. metadata +1498 -80
  1483. data/.gitignore +0 -9
  1484. data/.travis.yml +0 -6
  1485. data/Gemfile +0 -4
  1486. data/LICENSE.txt +0 -21
  1487. data/Rakefile +0 -6
  1488. data/bin/console +0 -14
  1489. data/bin/setup +0 -8
  1490. data/lib/openai/choice.rb +0 -3
  1491. data/lib/openai/completion.rb +0 -7
  1492. data/lib/openai/engine.rb +0 -3
  1493. data/lib/openai/logprobs.rb +0 -3
  1494. data/lib/openai/search_result.rb +0 -3
  1495. data/openai.gemspec +0 -32
@@ -0,0 +1,1535 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Beta
6
+ class ThreadCreateAndRunParams < 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::Beta::ThreadCreateAndRunParams,
14
+ OpenAI::Internal::AnyHash
15
+ )
16
+ end
17
+
18
+ # The ID of the
19
+ # [assistant](https://platform.openai.com/docs/api-reference/assistants) to use to
20
+ # execute this run.
21
+ sig { returns(String) }
22
+ attr_accessor :assistant_id
23
+
24
+ # Override the default system message of the assistant. This is useful for
25
+ # modifying the behavior on a per-run basis.
26
+ sig { returns(T.nilable(String)) }
27
+ attr_accessor :instructions
28
+
29
+ # The maximum number of completion tokens that may be used over the course of the
30
+ # run. The run will make a best effort to use only the number of completion tokens
31
+ # specified, across multiple turns of the run. If the run exceeds the number of
32
+ # completion tokens specified, the run will end with status `incomplete`. See
33
+ # `incomplete_details` for more info.
34
+ sig { returns(T.nilable(Integer)) }
35
+ attr_accessor :max_completion_tokens
36
+
37
+ # The maximum number of prompt tokens that may be used over the course of the run.
38
+ # The run will make a best effort to use only the number of prompt tokens
39
+ # specified, across multiple turns of the run. If the run exceeds the number of
40
+ # prompt tokens specified, the run will end with status `incomplete`. See
41
+ # `incomplete_details` for more info.
42
+ sig { returns(T.nilable(Integer)) }
43
+ attr_accessor :max_prompt_tokens
44
+
45
+ # Set of 16 key-value pairs that can be attached to an object. This can be useful
46
+ # for storing additional information about the object in a structured format, and
47
+ # querying for objects via API or the dashboard.
48
+ #
49
+ # Keys are strings with a maximum length of 64 characters. Values are strings with
50
+ # a maximum length of 512 characters.
51
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
52
+ attr_accessor :metadata
53
+
54
+ # The ID of the [Model](https://platform.openai.com/docs/api-reference/models) to
55
+ # be used to execute this run. If a value is provided here, it will override the
56
+ # model associated with the assistant. If not, the model associated with the
57
+ # assistant will be used.
58
+ sig { returns(T.nilable(T.any(String, OpenAI::ChatModel::OrSymbol))) }
59
+ attr_accessor :model
60
+
61
+ # Whether to enable
62
+ # [parallel function calling](https://platform.openai.com/docs/guides/function-calling#configuring-parallel-function-calling)
63
+ # during tool use.
64
+ sig { returns(T.nilable(T::Boolean)) }
65
+ attr_reader :parallel_tool_calls
66
+
67
+ sig { params(parallel_tool_calls: T::Boolean).void }
68
+ attr_writer :parallel_tool_calls
69
+
70
+ # Specifies the format that the model must output. Compatible with
71
+ # [GPT-4o](https://platform.openai.com/docs/models#gpt-4o),
72
+ # [GPT-4 Turbo](https://platform.openai.com/docs/models#gpt-4-turbo-and-gpt-4),
73
+ # and all GPT-3.5 Turbo models since `gpt-3.5-turbo-1106`.
74
+ #
75
+ # Setting to `{ "type": "json_schema", "json_schema": {...} }` enables Structured
76
+ # Outputs which ensures the model will match your supplied JSON schema. Learn more
77
+ # in the
78
+ # [Structured Outputs guide](https://platform.openai.com/docs/guides/structured-outputs).
79
+ #
80
+ # Setting to `{ "type": "json_object" }` enables JSON mode, which ensures the
81
+ # message the model generates is valid JSON.
82
+ #
83
+ # **Important:** when using JSON mode, you **must** also instruct the model to
84
+ # produce JSON yourself via a system or user message. Without this, the model may
85
+ # generate an unending stream of whitespace until the generation reaches the token
86
+ # limit, resulting in a long-running and seemingly "stuck" request. Also note that
87
+ # the message content may be partially cut off if `finish_reason="length"`, which
88
+ # indicates the generation exceeded `max_tokens` or the conversation exceeded the
89
+ # max context length.
90
+ sig do
91
+ returns(
92
+ T.nilable(
93
+ T.any(
94
+ Symbol,
95
+ OpenAI::ResponseFormatText,
96
+ OpenAI::ResponseFormatJSONObject,
97
+ OpenAI::ResponseFormatJSONSchema
98
+ )
99
+ )
100
+ )
101
+ end
102
+ attr_accessor :response_format
103
+
104
+ # What sampling temperature to use, between 0 and 2. Higher values like 0.8 will
105
+ # make the output more random, while lower values like 0.2 will make it more
106
+ # focused and deterministic.
107
+ sig { returns(T.nilable(Float)) }
108
+ attr_accessor :temperature
109
+
110
+ # Options to create a new thread. If no thread is provided when running a request,
111
+ # an empty thread will be created.
112
+ sig do
113
+ returns(T.nilable(OpenAI::Beta::ThreadCreateAndRunParams::Thread))
114
+ end
115
+ attr_reader :thread
116
+
117
+ sig do
118
+ params(
119
+ thread: OpenAI::Beta::ThreadCreateAndRunParams::Thread::OrHash
120
+ ).void
121
+ end
122
+ attr_writer :thread
123
+
124
+ # Controls which (if any) tool is called by the model. `none` means the model will
125
+ # not call any tools and instead generates a message. `auto` is the default value
126
+ # and means the model can pick between generating a message or calling one or more
127
+ # tools. `required` means the model must call one or more tools before responding
128
+ # to the user. Specifying a particular tool like `{"type": "file_search"}` or
129
+ # `{"type": "function", "function": {"name": "my_function"}}` forces the model to
130
+ # call that tool.
131
+ sig do
132
+ returns(
133
+ T.nilable(
134
+ T.any(
135
+ OpenAI::Beta::AssistantToolChoiceOption::Auto::OrSymbol,
136
+ OpenAI::Beta::AssistantToolChoice
137
+ )
138
+ )
139
+ )
140
+ end
141
+ attr_accessor :tool_choice
142
+
143
+ # A set of resources that are used by the assistant's tools. The resources are
144
+ # specific to the type of tool. For example, the `code_interpreter` tool requires
145
+ # a list of file IDs, while the `file_search` tool requires a list of vector store
146
+ # IDs.
147
+ sig do
148
+ returns(
149
+ T.nilable(OpenAI::Beta::ThreadCreateAndRunParams::ToolResources)
150
+ )
151
+ end
152
+ attr_reader :tool_resources
153
+
154
+ sig do
155
+ params(
156
+ tool_resources:
157
+ T.nilable(
158
+ OpenAI::Beta::ThreadCreateAndRunParams::ToolResources::OrHash
159
+ )
160
+ ).void
161
+ end
162
+ attr_writer :tool_resources
163
+
164
+ # Override the tools the assistant can use for this run. This is useful for
165
+ # modifying the behavior on a per-run basis.
166
+ sig do
167
+ returns(
168
+ T.nilable(
169
+ T::Array[
170
+ T.any(
171
+ OpenAI::Beta::CodeInterpreterTool,
172
+ OpenAI::Beta::FileSearchTool,
173
+ OpenAI::Beta::FunctionTool
174
+ )
175
+ ]
176
+ )
177
+ )
178
+ end
179
+ attr_accessor :tools
180
+
181
+ # An alternative to sampling with temperature, called nucleus sampling, where the
182
+ # model considers the results of the tokens with top_p probability mass. So 0.1
183
+ # means only the tokens comprising the top 10% probability mass are considered.
184
+ #
185
+ # We generally recommend altering this or temperature but not both.
186
+ sig { returns(T.nilable(Float)) }
187
+ attr_accessor :top_p
188
+
189
+ # Controls for how a thread will be truncated prior to the run. Use this to
190
+ # control the intial context window of the run.
191
+ sig do
192
+ returns(
193
+ T.nilable(
194
+ OpenAI::Beta::ThreadCreateAndRunParams::TruncationStrategy
195
+ )
196
+ )
197
+ end
198
+ attr_reader :truncation_strategy
199
+
200
+ sig do
201
+ params(
202
+ truncation_strategy:
203
+ T.nilable(
204
+ OpenAI::Beta::ThreadCreateAndRunParams::TruncationStrategy::OrHash
205
+ )
206
+ ).void
207
+ end
208
+ attr_writer :truncation_strategy
209
+
210
+ sig do
211
+ params(
212
+ assistant_id: String,
213
+ instructions: T.nilable(String),
214
+ max_completion_tokens: T.nilable(Integer),
215
+ max_prompt_tokens: T.nilable(Integer),
216
+ metadata: T.nilable(T::Hash[Symbol, String]),
217
+ model: T.nilable(T.any(String, OpenAI::ChatModel::OrSymbol)),
218
+ parallel_tool_calls: T::Boolean,
219
+ response_format:
220
+ T.nilable(
221
+ T.any(
222
+ Symbol,
223
+ OpenAI::ResponseFormatText::OrHash,
224
+ OpenAI::ResponseFormatJSONObject::OrHash,
225
+ OpenAI::ResponseFormatJSONSchema::OrHash
226
+ )
227
+ ),
228
+ temperature: T.nilable(Float),
229
+ thread: OpenAI::Beta::ThreadCreateAndRunParams::Thread::OrHash,
230
+ tool_choice:
231
+ T.nilable(
232
+ T.any(
233
+ OpenAI::Beta::AssistantToolChoiceOption::Auto::OrSymbol,
234
+ OpenAI::Beta::AssistantToolChoice::OrHash
235
+ )
236
+ ),
237
+ tool_resources:
238
+ T.nilable(
239
+ OpenAI::Beta::ThreadCreateAndRunParams::ToolResources::OrHash
240
+ ),
241
+ tools:
242
+ T.nilable(
243
+ T::Array[
244
+ T.any(
245
+ OpenAI::Beta::CodeInterpreterTool::OrHash,
246
+ OpenAI::Beta::FileSearchTool::OrHash,
247
+ OpenAI::Beta::FunctionTool::OrHash
248
+ )
249
+ ]
250
+ ),
251
+ top_p: T.nilable(Float),
252
+ truncation_strategy:
253
+ T.nilable(
254
+ OpenAI::Beta::ThreadCreateAndRunParams::TruncationStrategy::OrHash
255
+ ),
256
+ request_options: OpenAI::RequestOptions::OrHash
257
+ ).returns(T.attached_class)
258
+ end
259
+ def self.new(
260
+ # The ID of the
261
+ # [assistant](https://platform.openai.com/docs/api-reference/assistants) to use to
262
+ # execute this run.
263
+ assistant_id:,
264
+ # Override the default system message of the assistant. This is useful for
265
+ # modifying the behavior on a per-run basis.
266
+ instructions: nil,
267
+ # The maximum number of completion tokens that may be used over the course of the
268
+ # run. The run will make a best effort to use only the number of completion tokens
269
+ # specified, across multiple turns of the run. If the run exceeds the number of
270
+ # completion tokens specified, the run will end with status `incomplete`. See
271
+ # `incomplete_details` for more info.
272
+ max_completion_tokens: nil,
273
+ # The maximum number of prompt tokens that may be used over the course of the run.
274
+ # The run will make a best effort to use only the number of prompt tokens
275
+ # specified, across multiple turns of the run. If the run exceeds the number of
276
+ # prompt tokens specified, the run will end with status `incomplete`. See
277
+ # `incomplete_details` for more info.
278
+ max_prompt_tokens: nil,
279
+ # Set of 16 key-value pairs that can be attached to an object. This can be useful
280
+ # for storing additional information about the object in a structured format, and
281
+ # querying for objects via API or the dashboard.
282
+ #
283
+ # Keys are strings with a maximum length of 64 characters. Values are strings with
284
+ # a maximum length of 512 characters.
285
+ metadata: nil,
286
+ # The ID of the [Model](https://platform.openai.com/docs/api-reference/models) to
287
+ # be used to execute this run. If a value is provided here, it will override the
288
+ # model associated with the assistant. If not, the model associated with the
289
+ # assistant will be used.
290
+ model: nil,
291
+ # Whether to enable
292
+ # [parallel function calling](https://platform.openai.com/docs/guides/function-calling#configuring-parallel-function-calling)
293
+ # during tool use.
294
+ parallel_tool_calls: nil,
295
+ # Specifies the format that the model must output. Compatible with
296
+ # [GPT-4o](https://platform.openai.com/docs/models#gpt-4o),
297
+ # [GPT-4 Turbo](https://platform.openai.com/docs/models#gpt-4-turbo-and-gpt-4),
298
+ # and all GPT-3.5 Turbo models since `gpt-3.5-turbo-1106`.
299
+ #
300
+ # Setting to `{ "type": "json_schema", "json_schema": {...} }` enables Structured
301
+ # Outputs which ensures the model will match your supplied JSON schema. Learn more
302
+ # in the
303
+ # [Structured Outputs guide](https://platform.openai.com/docs/guides/structured-outputs).
304
+ #
305
+ # Setting to `{ "type": "json_object" }` enables JSON mode, which ensures the
306
+ # message the model generates is valid JSON.
307
+ #
308
+ # **Important:** when using JSON mode, you **must** also instruct the model to
309
+ # produce JSON yourself via a system or user message. Without this, the model may
310
+ # generate an unending stream of whitespace until the generation reaches the token
311
+ # limit, resulting in a long-running and seemingly "stuck" request. Also note that
312
+ # the message content may be partially cut off if `finish_reason="length"`, which
313
+ # indicates the generation exceeded `max_tokens` or the conversation exceeded the
314
+ # max context length.
315
+ response_format: nil,
316
+ # What sampling temperature to use, between 0 and 2. Higher values like 0.8 will
317
+ # make the output more random, while lower values like 0.2 will make it more
318
+ # focused and deterministic.
319
+ temperature: nil,
320
+ # Options to create a new thread. If no thread is provided when running a request,
321
+ # an empty thread will be created.
322
+ thread: nil,
323
+ # Controls which (if any) tool is called by the model. `none` means the model will
324
+ # not call any tools and instead generates a message. `auto` is the default value
325
+ # and means the model can pick between generating a message or calling one or more
326
+ # tools. `required` means the model must call one or more tools before responding
327
+ # to the user. Specifying a particular tool like `{"type": "file_search"}` or
328
+ # `{"type": "function", "function": {"name": "my_function"}}` forces the model to
329
+ # call that tool.
330
+ tool_choice: nil,
331
+ # A set of resources that are used by the assistant's tools. The resources are
332
+ # specific to the type of tool. For example, the `code_interpreter` tool requires
333
+ # a list of file IDs, while the `file_search` tool requires a list of vector store
334
+ # IDs.
335
+ tool_resources: nil,
336
+ # Override the tools the assistant can use for this run. This is useful for
337
+ # modifying the behavior on a per-run basis.
338
+ tools: nil,
339
+ # An alternative to sampling with temperature, called nucleus sampling, where the
340
+ # model considers the results of the tokens with top_p probability mass. So 0.1
341
+ # means only the tokens comprising the top 10% probability mass are considered.
342
+ #
343
+ # We generally recommend altering this or temperature but not both.
344
+ top_p: nil,
345
+ # Controls for how a thread will be truncated prior to the run. Use this to
346
+ # control the intial context window of the run.
347
+ truncation_strategy: nil,
348
+ request_options: {}
349
+ )
350
+ end
351
+
352
+ sig do
353
+ override.returns(
354
+ {
355
+ assistant_id: String,
356
+ instructions: T.nilable(String),
357
+ max_completion_tokens: T.nilable(Integer),
358
+ max_prompt_tokens: T.nilable(Integer),
359
+ metadata: T.nilable(T::Hash[Symbol, String]),
360
+ model: T.nilable(T.any(String, OpenAI::ChatModel::OrSymbol)),
361
+ parallel_tool_calls: T::Boolean,
362
+ response_format:
363
+ T.nilable(
364
+ T.any(
365
+ Symbol,
366
+ OpenAI::ResponseFormatText,
367
+ OpenAI::ResponseFormatJSONObject,
368
+ OpenAI::ResponseFormatJSONSchema
369
+ )
370
+ ),
371
+ temperature: T.nilable(Float),
372
+ thread: OpenAI::Beta::ThreadCreateAndRunParams::Thread,
373
+ tool_choice:
374
+ T.nilable(
375
+ T.any(
376
+ OpenAI::Beta::AssistantToolChoiceOption::Auto::OrSymbol,
377
+ OpenAI::Beta::AssistantToolChoice
378
+ )
379
+ ),
380
+ tool_resources:
381
+ T.nilable(
382
+ OpenAI::Beta::ThreadCreateAndRunParams::ToolResources
383
+ ),
384
+ tools:
385
+ T.nilable(
386
+ T::Array[
387
+ T.any(
388
+ OpenAI::Beta::CodeInterpreterTool,
389
+ OpenAI::Beta::FileSearchTool,
390
+ OpenAI::Beta::FunctionTool
391
+ )
392
+ ]
393
+ ),
394
+ top_p: T.nilable(Float),
395
+ truncation_strategy:
396
+ T.nilable(
397
+ OpenAI::Beta::ThreadCreateAndRunParams::TruncationStrategy
398
+ ),
399
+ request_options: OpenAI::RequestOptions
400
+ }
401
+ )
402
+ end
403
+ def to_hash
404
+ end
405
+
406
+ # The ID of the [Model](https://platform.openai.com/docs/api-reference/models) to
407
+ # be used to execute this run. If a value is provided here, it will override the
408
+ # model associated with the assistant. If not, the model associated with the
409
+ # assistant will be used.
410
+ module Model
411
+ extend OpenAI::Internal::Type::Union
412
+
413
+ Variants =
414
+ T.type_alias { T.any(String, OpenAI::ChatModel::TaggedSymbol) }
415
+
416
+ sig do
417
+ override.returns(
418
+ T::Array[OpenAI::Beta::ThreadCreateAndRunParams::Model::Variants]
419
+ )
420
+ end
421
+ def self.variants
422
+ end
423
+ end
424
+
425
+ class Thread < OpenAI::Internal::Type::BaseModel
426
+ OrHash =
427
+ T.type_alias do
428
+ T.any(
429
+ OpenAI::Beta::ThreadCreateAndRunParams::Thread,
430
+ OpenAI::Internal::AnyHash
431
+ )
432
+ end
433
+
434
+ # A list of [messages](https://platform.openai.com/docs/api-reference/messages) to
435
+ # start the thread with.
436
+ sig do
437
+ returns(
438
+ T.nilable(
439
+ T::Array[
440
+ OpenAI::Beta::ThreadCreateAndRunParams::Thread::Message
441
+ ]
442
+ )
443
+ )
444
+ end
445
+ attr_reader :messages
446
+
447
+ sig do
448
+ params(
449
+ messages:
450
+ T::Array[
451
+ OpenAI::Beta::ThreadCreateAndRunParams::Thread::Message::OrHash
452
+ ]
453
+ ).void
454
+ end
455
+ attr_writer :messages
456
+
457
+ # Set of 16 key-value pairs that can be attached to an object. This can be useful
458
+ # for storing additional information about the object in a structured format, and
459
+ # querying for objects via API or the dashboard.
460
+ #
461
+ # Keys are strings with a maximum length of 64 characters. Values are strings with
462
+ # a maximum length of 512 characters.
463
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
464
+ attr_accessor :metadata
465
+
466
+ # A set of resources that are made available to the assistant's tools in this
467
+ # thread. The resources are specific to the type of tool. For example, the
468
+ # `code_interpreter` tool requires a list of file IDs, while the `file_search`
469
+ # tool requires a list of vector store IDs.
470
+ sig do
471
+ returns(
472
+ T.nilable(
473
+ OpenAI::Beta::ThreadCreateAndRunParams::Thread::ToolResources
474
+ )
475
+ )
476
+ end
477
+ attr_reader :tool_resources
478
+
479
+ sig do
480
+ params(
481
+ tool_resources:
482
+ T.nilable(
483
+ OpenAI::Beta::ThreadCreateAndRunParams::Thread::ToolResources::OrHash
484
+ )
485
+ ).void
486
+ end
487
+ attr_writer :tool_resources
488
+
489
+ # Options to create a new thread. If no thread is provided when running a request,
490
+ # an empty thread will be created.
491
+ sig do
492
+ params(
493
+ messages:
494
+ T::Array[
495
+ OpenAI::Beta::ThreadCreateAndRunParams::Thread::Message::OrHash
496
+ ],
497
+ metadata: T.nilable(T::Hash[Symbol, String]),
498
+ tool_resources:
499
+ T.nilable(
500
+ OpenAI::Beta::ThreadCreateAndRunParams::Thread::ToolResources::OrHash
501
+ )
502
+ ).returns(T.attached_class)
503
+ end
504
+ def self.new(
505
+ # A list of [messages](https://platform.openai.com/docs/api-reference/messages) to
506
+ # start the thread with.
507
+ messages: nil,
508
+ # Set of 16 key-value pairs that can be attached to an object. This can be useful
509
+ # for storing additional information about the object in a structured format, and
510
+ # querying for objects via API or the dashboard.
511
+ #
512
+ # Keys are strings with a maximum length of 64 characters. Values are strings with
513
+ # a maximum length of 512 characters.
514
+ metadata: nil,
515
+ # A set of resources that are made available to the assistant's tools in this
516
+ # thread. The resources are specific to the type of tool. For example, the
517
+ # `code_interpreter` tool requires a list of file IDs, while the `file_search`
518
+ # tool requires a list of vector store IDs.
519
+ tool_resources: nil
520
+ )
521
+ end
522
+
523
+ sig do
524
+ override.returns(
525
+ {
526
+ messages:
527
+ T::Array[
528
+ OpenAI::Beta::ThreadCreateAndRunParams::Thread::Message
529
+ ],
530
+ metadata: T.nilable(T::Hash[Symbol, String]),
531
+ tool_resources:
532
+ T.nilable(
533
+ OpenAI::Beta::ThreadCreateAndRunParams::Thread::ToolResources
534
+ )
535
+ }
536
+ )
537
+ end
538
+ def to_hash
539
+ end
540
+
541
+ class Message < OpenAI::Internal::Type::BaseModel
542
+ OrHash =
543
+ T.type_alias do
544
+ T.any(
545
+ OpenAI::Beta::ThreadCreateAndRunParams::Thread::Message,
546
+ OpenAI::Internal::AnyHash
547
+ )
548
+ end
549
+
550
+ # The text contents of the message.
551
+ sig do
552
+ returns(
553
+ OpenAI::Beta::ThreadCreateAndRunParams::Thread::Message::Content::Variants
554
+ )
555
+ end
556
+ attr_accessor :content
557
+
558
+ # The role of the entity that is creating the message. Allowed values include:
559
+ #
560
+ # - `user`: Indicates the message is sent by an actual user and should be used in
561
+ # most cases to represent user-generated messages.
562
+ # - `assistant`: Indicates the message is generated by the assistant. Use this
563
+ # value to insert messages from the assistant into the conversation.
564
+ sig do
565
+ returns(
566
+ OpenAI::Beta::ThreadCreateAndRunParams::Thread::Message::Role::OrSymbol
567
+ )
568
+ end
569
+ attr_accessor :role
570
+
571
+ # A list of files attached to the message, and the tools they should be added to.
572
+ sig do
573
+ returns(
574
+ T.nilable(
575
+ T::Array[
576
+ OpenAI::Beta::ThreadCreateAndRunParams::Thread::Message::Attachment
577
+ ]
578
+ )
579
+ )
580
+ end
581
+ attr_accessor :attachments
582
+
583
+ # Set of 16 key-value pairs that can be attached to an object. This can be useful
584
+ # for storing additional information about the object in a structured format, and
585
+ # querying for objects via API or the dashboard.
586
+ #
587
+ # Keys are strings with a maximum length of 64 characters. Values are strings with
588
+ # a maximum length of 512 characters.
589
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
590
+ attr_accessor :metadata
591
+
592
+ sig do
593
+ params(
594
+ content:
595
+ OpenAI::Beta::ThreadCreateAndRunParams::Thread::Message::Content::Variants,
596
+ role:
597
+ OpenAI::Beta::ThreadCreateAndRunParams::Thread::Message::Role::OrSymbol,
598
+ attachments:
599
+ T.nilable(
600
+ T::Array[
601
+ OpenAI::Beta::ThreadCreateAndRunParams::Thread::Message::Attachment::OrHash
602
+ ]
603
+ ),
604
+ metadata: T.nilable(T::Hash[Symbol, String])
605
+ ).returns(T.attached_class)
606
+ end
607
+ def self.new(
608
+ # The text contents of the message.
609
+ content:,
610
+ # The role of the entity that is creating the message. Allowed values include:
611
+ #
612
+ # - `user`: Indicates the message is sent by an actual user and should be used in
613
+ # most cases to represent user-generated messages.
614
+ # - `assistant`: Indicates the message is generated by the assistant. Use this
615
+ # value to insert messages from the assistant into the conversation.
616
+ role:,
617
+ # A list of files attached to the message, and the tools they should be added to.
618
+ attachments: nil,
619
+ # Set of 16 key-value pairs that can be attached to an object. This can be useful
620
+ # for storing additional information about the object in a structured format, and
621
+ # querying for objects via API or the dashboard.
622
+ #
623
+ # Keys are strings with a maximum length of 64 characters. Values are strings with
624
+ # a maximum length of 512 characters.
625
+ metadata: nil
626
+ )
627
+ end
628
+
629
+ sig do
630
+ override.returns(
631
+ {
632
+ content:
633
+ OpenAI::Beta::ThreadCreateAndRunParams::Thread::Message::Content::Variants,
634
+ role:
635
+ OpenAI::Beta::ThreadCreateAndRunParams::Thread::Message::Role::OrSymbol,
636
+ attachments:
637
+ T.nilable(
638
+ T::Array[
639
+ OpenAI::Beta::ThreadCreateAndRunParams::Thread::Message::Attachment
640
+ ]
641
+ ),
642
+ metadata: T.nilable(T::Hash[Symbol, String])
643
+ }
644
+ )
645
+ end
646
+ def to_hash
647
+ end
648
+
649
+ # The text contents of the message.
650
+ module Content
651
+ extend OpenAI::Internal::Type::Union
652
+
653
+ Variants =
654
+ T.type_alias do
655
+ T.any(
656
+ String,
657
+ T::Array[
658
+ OpenAI::Beta::Threads::MessageContentPartParam::Variants
659
+ ]
660
+ )
661
+ end
662
+
663
+ sig do
664
+ override.returns(
665
+ T::Array[
666
+ OpenAI::Beta::ThreadCreateAndRunParams::Thread::Message::Content::Variants
667
+ ]
668
+ )
669
+ end
670
+ def self.variants
671
+ end
672
+
673
+ MessageContentPartParamArray =
674
+ T.let(
675
+ OpenAI::Internal::Type::ArrayOf[
676
+ union: OpenAI::Beta::Threads::MessageContentPartParam
677
+ ],
678
+ OpenAI::Internal::Type::Converter
679
+ )
680
+ end
681
+
682
+ # The role of the entity that is creating the message. Allowed values include:
683
+ #
684
+ # - `user`: Indicates the message is sent by an actual user and should be used in
685
+ # most cases to represent user-generated messages.
686
+ # - `assistant`: Indicates the message is generated by the assistant. Use this
687
+ # value to insert messages from the assistant into the conversation.
688
+ module Role
689
+ extend OpenAI::Internal::Type::Enum
690
+
691
+ TaggedSymbol =
692
+ T.type_alias do
693
+ T.all(
694
+ Symbol,
695
+ OpenAI::Beta::ThreadCreateAndRunParams::Thread::Message::Role
696
+ )
697
+ end
698
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
699
+
700
+ USER =
701
+ T.let(
702
+ :user,
703
+ OpenAI::Beta::ThreadCreateAndRunParams::Thread::Message::Role::TaggedSymbol
704
+ )
705
+ ASSISTANT =
706
+ T.let(
707
+ :assistant,
708
+ OpenAI::Beta::ThreadCreateAndRunParams::Thread::Message::Role::TaggedSymbol
709
+ )
710
+
711
+ sig do
712
+ override.returns(
713
+ T::Array[
714
+ OpenAI::Beta::ThreadCreateAndRunParams::Thread::Message::Role::TaggedSymbol
715
+ ]
716
+ )
717
+ end
718
+ def self.values
719
+ end
720
+ end
721
+
722
+ class Attachment < OpenAI::Internal::Type::BaseModel
723
+ OrHash =
724
+ T.type_alias do
725
+ T.any(
726
+ OpenAI::Beta::ThreadCreateAndRunParams::Thread::Message::Attachment,
727
+ OpenAI::Internal::AnyHash
728
+ )
729
+ end
730
+
731
+ # The ID of the file to attach to the message.
732
+ sig { returns(T.nilable(String)) }
733
+ attr_reader :file_id
734
+
735
+ sig { params(file_id: String).void }
736
+ attr_writer :file_id
737
+
738
+ # The tools to add this file to.
739
+ sig do
740
+ returns(
741
+ T.nilable(
742
+ T::Array[
743
+ T.any(
744
+ OpenAI::Beta::CodeInterpreterTool,
745
+ OpenAI::Beta::ThreadCreateAndRunParams::Thread::Message::Attachment::Tool::FileSearch
746
+ )
747
+ ]
748
+ )
749
+ )
750
+ end
751
+ attr_reader :tools
752
+
753
+ sig do
754
+ params(
755
+ tools:
756
+ T::Array[
757
+ T.any(
758
+ OpenAI::Beta::CodeInterpreterTool::OrHash,
759
+ OpenAI::Beta::ThreadCreateAndRunParams::Thread::Message::Attachment::Tool::FileSearch::OrHash
760
+ )
761
+ ]
762
+ ).void
763
+ end
764
+ attr_writer :tools
765
+
766
+ sig do
767
+ params(
768
+ file_id: String,
769
+ tools:
770
+ T::Array[
771
+ T.any(
772
+ OpenAI::Beta::CodeInterpreterTool::OrHash,
773
+ OpenAI::Beta::ThreadCreateAndRunParams::Thread::Message::Attachment::Tool::FileSearch::OrHash
774
+ )
775
+ ]
776
+ ).returns(T.attached_class)
777
+ end
778
+ def self.new(
779
+ # The ID of the file to attach to the message.
780
+ file_id: nil,
781
+ # The tools to add this file to.
782
+ tools: nil
783
+ )
784
+ end
785
+
786
+ sig do
787
+ override.returns(
788
+ {
789
+ file_id: String,
790
+ tools:
791
+ T::Array[
792
+ T.any(
793
+ OpenAI::Beta::CodeInterpreterTool,
794
+ OpenAI::Beta::ThreadCreateAndRunParams::Thread::Message::Attachment::Tool::FileSearch
795
+ )
796
+ ]
797
+ }
798
+ )
799
+ end
800
+ def to_hash
801
+ end
802
+
803
+ module Tool
804
+ extend OpenAI::Internal::Type::Union
805
+
806
+ Variants =
807
+ T.type_alias do
808
+ T.any(
809
+ OpenAI::Beta::CodeInterpreterTool,
810
+ OpenAI::Beta::ThreadCreateAndRunParams::Thread::Message::Attachment::Tool::FileSearch
811
+ )
812
+ end
813
+
814
+ class FileSearch < OpenAI::Internal::Type::BaseModel
815
+ OrHash =
816
+ T.type_alias do
817
+ T.any(
818
+ OpenAI::Beta::ThreadCreateAndRunParams::Thread::Message::Attachment::Tool::FileSearch,
819
+ OpenAI::Internal::AnyHash
820
+ )
821
+ end
822
+
823
+ # The type of tool being defined: `file_search`
824
+ sig { returns(Symbol) }
825
+ attr_accessor :type
826
+
827
+ sig { params(type: Symbol).returns(T.attached_class) }
828
+ def self.new(
829
+ # The type of tool being defined: `file_search`
830
+ type: :file_search
831
+ )
832
+ end
833
+
834
+ sig { override.returns({ type: Symbol }) }
835
+ def to_hash
836
+ end
837
+ end
838
+
839
+ sig do
840
+ override.returns(
841
+ T::Array[
842
+ OpenAI::Beta::ThreadCreateAndRunParams::Thread::Message::Attachment::Tool::Variants
843
+ ]
844
+ )
845
+ end
846
+ def self.variants
847
+ end
848
+ end
849
+ end
850
+ end
851
+
852
+ class ToolResources < OpenAI::Internal::Type::BaseModel
853
+ OrHash =
854
+ T.type_alias do
855
+ T.any(
856
+ OpenAI::Beta::ThreadCreateAndRunParams::Thread::ToolResources,
857
+ OpenAI::Internal::AnyHash
858
+ )
859
+ end
860
+
861
+ sig do
862
+ returns(
863
+ T.nilable(
864
+ OpenAI::Beta::ThreadCreateAndRunParams::Thread::ToolResources::CodeInterpreter
865
+ )
866
+ )
867
+ end
868
+ attr_reader :code_interpreter
869
+
870
+ sig do
871
+ params(
872
+ code_interpreter:
873
+ OpenAI::Beta::ThreadCreateAndRunParams::Thread::ToolResources::CodeInterpreter::OrHash
874
+ ).void
875
+ end
876
+ attr_writer :code_interpreter
877
+
878
+ sig do
879
+ returns(
880
+ T.nilable(
881
+ OpenAI::Beta::ThreadCreateAndRunParams::Thread::ToolResources::FileSearch
882
+ )
883
+ )
884
+ end
885
+ attr_reader :file_search
886
+
887
+ sig do
888
+ params(
889
+ file_search:
890
+ OpenAI::Beta::ThreadCreateAndRunParams::Thread::ToolResources::FileSearch::OrHash
891
+ ).void
892
+ end
893
+ attr_writer :file_search
894
+
895
+ # A set of resources that are made available to the assistant's tools in this
896
+ # thread. The resources are specific to the type of tool. For example, the
897
+ # `code_interpreter` tool requires a list of file IDs, while the `file_search`
898
+ # tool requires a list of vector store IDs.
899
+ sig do
900
+ params(
901
+ code_interpreter:
902
+ OpenAI::Beta::ThreadCreateAndRunParams::Thread::ToolResources::CodeInterpreter::OrHash,
903
+ file_search:
904
+ OpenAI::Beta::ThreadCreateAndRunParams::Thread::ToolResources::FileSearch::OrHash
905
+ ).returns(T.attached_class)
906
+ end
907
+ def self.new(code_interpreter: nil, file_search: nil)
908
+ end
909
+
910
+ sig do
911
+ override.returns(
912
+ {
913
+ code_interpreter:
914
+ OpenAI::Beta::ThreadCreateAndRunParams::Thread::ToolResources::CodeInterpreter,
915
+ file_search:
916
+ OpenAI::Beta::ThreadCreateAndRunParams::Thread::ToolResources::FileSearch
917
+ }
918
+ )
919
+ end
920
+ def to_hash
921
+ end
922
+
923
+ class CodeInterpreter < OpenAI::Internal::Type::BaseModel
924
+ OrHash =
925
+ T.type_alias do
926
+ T.any(
927
+ OpenAI::Beta::ThreadCreateAndRunParams::Thread::ToolResources::CodeInterpreter,
928
+ OpenAI::Internal::AnyHash
929
+ )
930
+ end
931
+
932
+ # A list of [file](https://platform.openai.com/docs/api-reference/files) IDs made
933
+ # available to the `code_interpreter` tool. There can be a maximum of 20 files
934
+ # associated with the tool.
935
+ sig { returns(T.nilable(T::Array[String])) }
936
+ attr_reader :file_ids
937
+
938
+ sig { params(file_ids: T::Array[String]).void }
939
+ attr_writer :file_ids
940
+
941
+ sig do
942
+ params(file_ids: T::Array[String]).returns(T.attached_class)
943
+ end
944
+ def self.new(
945
+ # A list of [file](https://platform.openai.com/docs/api-reference/files) IDs made
946
+ # available to the `code_interpreter` tool. There can be a maximum of 20 files
947
+ # associated with the tool.
948
+ file_ids: nil
949
+ )
950
+ end
951
+
952
+ sig { override.returns({ file_ids: T::Array[String] }) }
953
+ def to_hash
954
+ end
955
+ end
956
+
957
+ class FileSearch < OpenAI::Internal::Type::BaseModel
958
+ OrHash =
959
+ T.type_alias do
960
+ T.any(
961
+ OpenAI::Beta::ThreadCreateAndRunParams::Thread::ToolResources::FileSearch,
962
+ OpenAI::Internal::AnyHash
963
+ )
964
+ end
965
+
966
+ # The
967
+ # [vector store](https://platform.openai.com/docs/api-reference/vector-stores/object)
968
+ # attached to this thread. There can be a maximum of 1 vector store attached to
969
+ # the thread.
970
+ sig { returns(T.nilable(T::Array[String])) }
971
+ attr_reader :vector_store_ids
972
+
973
+ sig { params(vector_store_ids: T::Array[String]).void }
974
+ attr_writer :vector_store_ids
975
+
976
+ # A helper to create a
977
+ # [vector store](https://platform.openai.com/docs/api-reference/vector-stores/object)
978
+ # with file_ids and attach it to this thread. There can be a maximum of 1 vector
979
+ # store attached to the thread.
980
+ sig do
981
+ returns(
982
+ T.nilable(
983
+ T::Array[
984
+ OpenAI::Beta::ThreadCreateAndRunParams::Thread::ToolResources::FileSearch::VectorStore
985
+ ]
986
+ )
987
+ )
988
+ end
989
+ attr_reader :vector_stores
990
+
991
+ sig do
992
+ params(
993
+ vector_stores:
994
+ T::Array[
995
+ OpenAI::Beta::ThreadCreateAndRunParams::Thread::ToolResources::FileSearch::VectorStore::OrHash
996
+ ]
997
+ ).void
998
+ end
999
+ attr_writer :vector_stores
1000
+
1001
+ sig do
1002
+ params(
1003
+ vector_store_ids: T::Array[String],
1004
+ vector_stores:
1005
+ T::Array[
1006
+ OpenAI::Beta::ThreadCreateAndRunParams::Thread::ToolResources::FileSearch::VectorStore::OrHash
1007
+ ]
1008
+ ).returns(T.attached_class)
1009
+ end
1010
+ def self.new(
1011
+ # The
1012
+ # [vector store](https://platform.openai.com/docs/api-reference/vector-stores/object)
1013
+ # attached to this thread. There can be a maximum of 1 vector store attached to
1014
+ # the thread.
1015
+ vector_store_ids: nil,
1016
+ # A helper to create a
1017
+ # [vector store](https://platform.openai.com/docs/api-reference/vector-stores/object)
1018
+ # with file_ids and attach it to this thread. There can be a maximum of 1 vector
1019
+ # store attached to the thread.
1020
+ vector_stores: nil
1021
+ )
1022
+ end
1023
+
1024
+ sig do
1025
+ override.returns(
1026
+ {
1027
+ vector_store_ids: T::Array[String],
1028
+ vector_stores:
1029
+ T::Array[
1030
+ OpenAI::Beta::ThreadCreateAndRunParams::Thread::ToolResources::FileSearch::VectorStore
1031
+ ]
1032
+ }
1033
+ )
1034
+ end
1035
+ def to_hash
1036
+ end
1037
+
1038
+ class VectorStore < OpenAI::Internal::Type::BaseModel
1039
+ OrHash =
1040
+ T.type_alias do
1041
+ T.any(
1042
+ OpenAI::Beta::ThreadCreateAndRunParams::Thread::ToolResources::FileSearch::VectorStore,
1043
+ OpenAI::Internal::AnyHash
1044
+ )
1045
+ end
1046
+
1047
+ # The chunking strategy used to chunk the file(s). If not set, will use the `auto`
1048
+ # strategy.
1049
+ sig do
1050
+ returns(
1051
+ T.nilable(
1052
+ T.any(
1053
+ OpenAI::Beta::ThreadCreateAndRunParams::Thread::ToolResources::FileSearch::VectorStore::ChunkingStrategy::Auto,
1054
+ OpenAI::Beta::ThreadCreateAndRunParams::Thread::ToolResources::FileSearch::VectorStore::ChunkingStrategy::Static
1055
+ )
1056
+ )
1057
+ )
1058
+ end
1059
+ attr_reader :chunking_strategy
1060
+
1061
+ sig do
1062
+ params(
1063
+ chunking_strategy:
1064
+ T.any(
1065
+ OpenAI::Beta::ThreadCreateAndRunParams::Thread::ToolResources::FileSearch::VectorStore::ChunkingStrategy::Auto::OrHash,
1066
+ OpenAI::Beta::ThreadCreateAndRunParams::Thread::ToolResources::FileSearch::VectorStore::ChunkingStrategy::Static::OrHash
1067
+ )
1068
+ ).void
1069
+ end
1070
+ attr_writer :chunking_strategy
1071
+
1072
+ # A list of [file](https://platform.openai.com/docs/api-reference/files) IDs to
1073
+ # add to the vector store. There can be a maximum of 10000 files in a vector
1074
+ # store.
1075
+ sig { returns(T.nilable(T::Array[String])) }
1076
+ attr_reader :file_ids
1077
+
1078
+ sig { params(file_ids: T::Array[String]).void }
1079
+ attr_writer :file_ids
1080
+
1081
+ # Set of 16 key-value pairs that can be attached to an object. This can be useful
1082
+ # for storing additional information about the object in a structured format, and
1083
+ # querying for objects via API or the dashboard.
1084
+ #
1085
+ # Keys are strings with a maximum length of 64 characters. Values are strings with
1086
+ # a maximum length of 512 characters.
1087
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
1088
+ attr_accessor :metadata
1089
+
1090
+ sig do
1091
+ params(
1092
+ chunking_strategy:
1093
+ T.any(
1094
+ OpenAI::Beta::ThreadCreateAndRunParams::Thread::ToolResources::FileSearch::VectorStore::ChunkingStrategy::Auto::OrHash,
1095
+ OpenAI::Beta::ThreadCreateAndRunParams::Thread::ToolResources::FileSearch::VectorStore::ChunkingStrategy::Static::OrHash
1096
+ ),
1097
+ file_ids: T::Array[String],
1098
+ metadata: T.nilable(T::Hash[Symbol, String])
1099
+ ).returns(T.attached_class)
1100
+ end
1101
+ def self.new(
1102
+ # The chunking strategy used to chunk the file(s). If not set, will use the `auto`
1103
+ # strategy.
1104
+ chunking_strategy: nil,
1105
+ # A list of [file](https://platform.openai.com/docs/api-reference/files) IDs to
1106
+ # add to the vector store. There can be a maximum of 10000 files in a vector
1107
+ # store.
1108
+ file_ids: nil,
1109
+ # Set of 16 key-value pairs that can be attached to an object. This can be useful
1110
+ # for storing additional information about the object in a structured format, and
1111
+ # querying for objects via API or the dashboard.
1112
+ #
1113
+ # Keys are strings with a maximum length of 64 characters. Values are strings with
1114
+ # a maximum length of 512 characters.
1115
+ metadata: nil
1116
+ )
1117
+ end
1118
+
1119
+ sig do
1120
+ override.returns(
1121
+ {
1122
+ chunking_strategy:
1123
+ T.any(
1124
+ OpenAI::Beta::ThreadCreateAndRunParams::Thread::ToolResources::FileSearch::VectorStore::ChunkingStrategy::Auto,
1125
+ OpenAI::Beta::ThreadCreateAndRunParams::Thread::ToolResources::FileSearch::VectorStore::ChunkingStrategy::Static
1126
+ ),
1127
+ file_ids: T::Array[String],
1128
+ metadata: T.nilable(T::Hash[Symbol, String])
1129
+ }
1130
+ )
1131
+ end
1132
+ def to_hash
1133
+ end
1134
+
1135
+ # The chunking strategy used to chunk the file(s). If not set, will use the `auto`
1136
+ # strategy.
1137
+ module ChunkingStrategy
1138
+ extend OpenAI::Internal::Type::Union
1139
+
1140
+ Variants =
1141
+ T.type_alias do
1142
+ T.any(
1143
+ OpenAI::Beta::ThreadCreateAndRunParams::Thread::ToolResources::FileSearch::VectorStore::ChunkingStrategy::Auto,
1144
+ OpenAI::Beta::ThreadCreateAndRunParams::Thread::ToolResources::FileSearch::VectorStore::ChunkingStrategy::Static
1145
+ )
1146
+ end
1147
+
1148
+ class Auto < OpenAI::Internal::Type::BaseModel
1149
+ OrHash =
1150
+ T.type_alias do
1151
+ T.any(
1152
+ OpenAI::Beta::ThreadCreateAndRunParams::Thread::ToolResources::FileSearch::VectorStore::ChunkingStrategy::Auto,
1153
+ OpenAI::Internal::AnyHash
1154
+ )
1155
+ end
1156
+
1157
+ # Always `auto`.
1158
+ sig { returns(Symbol) }
1159
+ attr_accessor :type
1160
+
1161
+ # The default strategy. This strategy currently uses a `max_chunk_size_tokens` of
1162
+ # `800` and `chunk_overlap_tokens` of `400`.
1163
+ sig { params(type: Symbol).returns(T.attached_class) }
1164
+ def self.new(
1165
+ # Always `auto`.
1166
+ type: :auto
1167
+ )
1168
+ end
1169
+
1170
+ sig { override.returns({ type: Symbol }) }
1171
+ def to_hash
1172
+ end
1173
+ end
1174
+
1175
+ class Static < OpenAI::Internal::Type::BaseModel
1176
+ OrHash =
1177
+ T.type_alias do
1178
+ T.any(
1179
+ OpenAI::Beta::ThreadCreateAndRunParams::Thread::ToolResources::FileSearch::VectorStore::ChunkingStrategy::Static,
1180
+ OpenAI::Internal::AnyHash
1181
+ )
1182
+ end
1183
+
1184
+ sig do
1185
+ returns(
1186
+ OpenAI::Beta::ThreadCreateAndRunParams::Thread::ToolResources::FileSearch::VectorStore::ChunkingStrategy::Static::Static
1187
+ )
1188
+ end
1189
+ attr_reader :static
1190
+
1191
+ sig do
1192
+ params(
1193
+ static:
1194
+ OpenAI::Beta::ThreadCreateAndRunParams::Thread::ToolResources::FileSearch::VectorStore::ChunkingStrategy::Static::Static::OrHash
1195
+ ).void
1196
+ end
1197
+ attr_writer :static
1198
+
1199
+ # Always `static`.
1200
+ sig { returns(Symbol) }
1201
+ attr_accessor :type
1202
+
1203
+ sig do
1204
+ params(
1205
+ static:
1206
+ OpenAI::Beta::ThreadCreateAndRunParams::Thread::ToolResources::FileSearch::VectorStore::ChunkingStrategy::Static::Static::OrHash,
1207
+ type: Symbol
1208
+ ).returns(T.attached_class)
1209
+ end
1210
+ def self.new(
1211
+ static:,
1212
+ # Always `static`.
1213
+ type: :static
1214
+ )
1215
+ end
1216
+
1217
+ sig do
1218
+ override.returns(
1219
+ {
1220
+ static:
1221
+ OpenAI::Beta::ThreadCreateAndRunParams::Thread::ToolResources::FileSearch::VectorStore::ChunkingStrategy::Static::Static,
1222
+ type: Symbol
1223
+ }
1224
+ )
1225
+ end
1226
+ def to_hash
1227
+ end
1228
+
1229
+ class Static < OpenAI::Internal::Type::BaseModel
1230
+ OrHash =
1231
+ T.type_alias do
1232
+ T.any(
1233
+ OpenAI::Beta::ThreadCreateAndRunParams::Thread::ToolResources::FileSearch::VectorStore::ChunkingStrategy::Static::Static,
1234
+ OpenAI::Internal::AnyHash
1235
+ )
1236
+ end
1237
+
1238
+ # The number of tokens that overlap between chunks. The default value is `400`.
1239
+ #
1240
+ # Note that the overlap must not exceed half of `max_chunk_size_tokens`.
1241
+ sig { returns(Integer) }
1242
+ attr_accessor :chunk_overlap_tokens
1243
+
1244
+ # The maximum number of tokens in each chunk. The default value is `800`. The
1245
+ # minimum value is `100` and the maximum value is `4096`.
1246
+ sig { returns(Integer) }
1247
+ attr_accessor :max_chunk_size_tokens
1248
+
1249
+ sig do
1250
+ params(
1251
+ chunk_overlap_tokens: Integer,
1252
+ max_chunk_size_tokens: Integer
1253
+ ).returns(T.attached_class)
1254
+ end
1255
+ def self.new(
1256
+ # The number of tokens that overlap between chunks. The default value is `400`.
1257
+ #
1258
+ # Note that the overlap must not exceed half of `max_chunk_size_tokens`.
1259
+ chunk_overlap_tokens:,
1260
+ # The maximum number of tokens in each chunk. The default value is `800`. The
1261
+ # minimum value is `100` and the maximum value is `4096`.
1262
+ max_chunk_size_tokens:
1263
+ )
1264
+ end
1265
+
1266
+ sig do
1267
+ override.returns(
1268
+ {
1269
+ chunk_overlap_tokens: Integer,
1270
+ max_chunk_size_tokens: Integer
1271
+ }
1272
+ )
1273
+ end
1274
+ def to_hash
1275
+ end
1276
+ end
1277
+ end
1278
+
1279
+ sig do
1280
+ override.returns(
1281
+ T::Array[
1282
+ OpenAI::Beta::ThreadCreateAndRunParams::Thread::ToolResources::FileSearch::VectorStore::ChunkingStrategy::Variants
1283
+ ]
1284
+ )
1285
+ end
1286
+ def self.variants
1287
+ end
1288
+ end
1289
+ end
1290
+ end
1291
+ end
1292
+ end
1293
+
1294
+ class ToolResources < OpenAI::Internal::Type::BaseModel
1295
+ OrHash =
1296
+ T.type_alias do
1297
+ T.any(
1298
+ OpenAI::Beta::ThreadCreateAndRunParams::ToolResources,
1299
+ OpenAI::Internal::AnyHash
1300
+ )
1301
+ end
1302
+
1303
+ sig do
1304
+ returns(
1305
+ T.nilable(
1306
+ OpenAI::Beta::ThreadCreateAndRunParams::ToolResources::CodeInterpreter
1307
+ )
1308
+ )
1309
+ end
1310
+ attr_reader :code_interpreter
1311
+
1312
+ sig do
1313
+ params(
1314
+ code_interpreter:
1315
+ OpenAI::Beta::ThreadCreateAndRunParams::ToolResources::CodeInterpreter::OrHash
1316
+ ).void
1317
+ end
1318
+ attr_writer :code_interpreter
1319
+
1320
+ sig do
1321
+ returns(
1322
+ T.nilable(
1323
+ OpenAI::Beta::ThreadCreateAndRunParams::ToolResources::FileSearch
1324
+ )
1325
+ )
1326
+ end
1327
+ attr_reader :file_search
1328
+
1329
+ sig do
1330
+ params(
1331
+ file_search:
1332
+ OpenAI::Beta::ThreadCreateAndRunParams::ToolResources::FileSearch::OrHash
1333
+ ).void
1334
+ end
1335
+ attr_writer :file_search
1336
+
1337
+ # A set of resources that are used by the assistant's tools. The resources are
1338
+ # specific to the type of tool. For example, the `code_interpreter` tool requires
1339
+ # a list of file IDs, while the `file_search` tool requires a list of vector store
1340
+ # IDs.
1341
+ sig do
1342
+ params(
1343
+ code_interpreter:
1344
+ OpenAI::Beta::ThreadCreateAndRunParams::ToolResources::CodeInterpreter::OrHash,
1345
+ file_search:
1346
+ OpenAI::Beta::ThreadCreateAndRunParams::ToolResources::FileSearch::OrHash
1347
+ ).returns(T.attached_class)
1348
+ end
1349
+ def self.new(code_interpreter: nil, file_search: nil)
1350
+ end
1351
+
1352
+ sig do
1353
+ override.returns(
1354
+ {
1355
+ code_interpreter:
1356
+ OpenAI::Beta::ThreadCreateAndRunParams::ToolResources::CodeInterpreter,
1357
+ file_search:
1358
+ OpenAI::Beta::ThreadCreateAndRunParams::ToolResources::FileSearch
1359
+ }
1360
+ )
1361
+ end
1362
+ def to_hash
1363
+ end
1364
+
1365
+ class CodeInterpreter < OpenAI::Internal::Type::BaseModel
1366
+ OrHash =
1367
+ T.type_alias do
1368
+ T.any(
1369
+ OpenAI::Beta::ThreadCreateAndRunParams::ToolResources::CodeInterpreter,
1370
+ OpenAI::Internal::AnyHash
1371
+ )
1372
+ end
1373
+
1374
+ # A list of [file](https://platform.openai.com/docs/api-reference/files) IDs made
1375
+ # available to the `code_interpreter` tool. There can be a maximum of 20 files
1376
+ # associated with the tool.
1377
+ sig { returns(T.nilable(T::Array[String])) }
1378
+ attr_reader :file_ids
1379
+
1380
+ sig { params(file_ids: T::Array[String]).void }
1381
+ attr_writer :file_ids
1382
+
1383
+ sig { params(file_ids: T::Array[String]).returns(T.attached_class) }
1384
+ def self.new(
1385
+ # A list of [file](https://platform.openai.com/docs/api-reference/files) IDs made
1386
+ # available to the `code_interpreter` tool. There can be a maximum of 20 files
1387
+ # associated with the tool.
1388
+ file_ids: nil
1389
+ )
1390
+ end
1391
+
1392
+ sig { override.returns({ file_ids: T::Array[String] }) }
1393
+ def to_hash
1394
+ end
1395
+ end
1396
+
1397
+ class FileSearch < OpenAI::Internal::Type::BaseModel
1398
+ OrHash =
1399
+ T.type_alias do
1400
+ T.any(
1401
+ OpenAI::Beta::ThreadCreateAndRunParams::ToolResources::FileSearch,
1402
+ OpenAI::Internal::AnyHash
1403
+ )
1404
+ end
1405
+
1406
+ # The ID of the
1407
+ # [vector store](https://platform.openai.com/docs/api-reference/vector-stores/object)
1408
+ # attached to this assistant. There can be a maximum of 1 vector store attached to
1409
+ # the assistant.
1410
+ sig { returns(T.nilable(T::Array[String])) }
1411
+ attr_reader :vector_store_ids
1412
+
1413
+ sig { params(vector_store_ids: T::Array[String]).void }
1414
+ attr_writer :vector_store_ids
1415
+
1416
+ sig do
1417
+ params(vector_store_ids: T::Array[String]).returns(
1418
+ T.attached_class
1419
+ )
1420
+ end
1421
+ def self.new(
1422
+ # The ID of the
1423
+ # [vector store](https://platform.openai.com/docs/api-reference/vector-stores/object)
1424
+ # attached to this assistant. There can be a maximum of 1 vector store attached to
1425
+ # the assistant.
1426
+ vector_store_ids: nil
1427
+ )
1428
+ end
1429
+
1430
+ sig { override.returns({ vector_store_ids: T::Array[String] }) }
1431
+ def to_hash
1432
+ end
1433
+ end
1434
+ end
1435
+
1436
+ class TruncationStrategy < OpenAI::Internal::Type::BaseModel
1437
+ OrHash =
1438
+ T.type_alias do
1439
+ T.any(
1440
+ OpenAI::Beta::ThreadCreateAndRunParams::TruncationStrategy,
1441
+ OpenAI::Internal::AnyHash
1442
+ )
1443
+ end
1444
+
1445
+ # The truncation strategy to use for the thread. The default is `auto`. If set to
1446
+ # `last_messages`, the thread will be truncated to the n most recent messages in
1447
+ # the thread. When set to `auto`, messages in the middle of the thread will be
1448
+ # dropped to fit the context length of the model, `max_prompt_tokens`.
1449
+ sig do
1450
+ returns(
1451
+ OpenAI::Beta::ThreadCreateAndRunParams::TruncationStrategy::Type::OrSymbol
1452
+ )
1453
+ end
1454
+ attr_accessor :type
1455
+
1456
+ # The number of most recent messages from the thread when constructing the context
1457
+ # for the run.
1458
+ sig { returns(T.nilable(Integer)) }
1459
+ attr_accessor :last_messages
1460
+
1461
+ # Controls for how a thread will be truncated prior to the run. Use this to
1462
+ # control the intial context window of the run.
1463
+ sig do
1464
+ params(
1465
+ type:
1466
+ OpenAI::Beta::ThreadCreateAndRunParams::TruncationStrategy::Type::OrSymbol,
1467
+ last_messages: T.nilable(Integer)
1468
+ ).returns(T.attached_class)
1469
+ end
1470
+ def self.new(
1471
+ # The truncation strategy to use for the thread. The default is `auto`. If set to
1472
+ # `last_messages`, the thread will be truncated to the n most recent messages in
1473
+ # the thread. When set to `auto`, messages in the middle of the thread will be
1474
+ # dropped to fit the context length of the model, `max_prompt_tokens`.
1475
+ type:,
1476
+ # The number of most recent messages from the thread when constructing the context
1477
+ # for the run.
1478
+ last_messages: nil
1479
+ )
1480
+ end
1481
+
1482
+ sig do
1483
+ override.returns(
1484
+ {
1485
+ type:
1486
+ OpenAI::Beta::ThreadCreateAndRunParams::TruncationStrategy::Type::OrSymbol,
1487
+ last_messages: T.nilable(Integer)
1488
+ }
1489
+ )
1490
+ end
1491
+ def to_hash
1492
+ end
1493
+
1494
+ # The truncation strategy to use for the thread. The default is `auto`. If set to
1495
+ # `last_messages`, the thread will be truncated to the n most recent messages in
1496
+ # the thread. When set to `auto`, messages in the middle of the thread will be
1497
+ # dropped to fit the context length of the model, `max_prompt_tokens`.
1498
+ module Type
1499
+ extend OpenAI::Internal::Type::Enum
1500
+
1501
+ TaggedSymbol =
1502
+ T.type_alias do
1503
+ T.all(
1504
+ Symbol,
1505
+ OpenAI::Beta::ThreadCreateAndRunParams::TruncationStrategy::Type
1506
+ )
1507
+ end
1508
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1509
+
1510
+ AUTO =
1511
+ T.let(
1512
+ :auto,
1513
+ OpenAI::Beta::ThreadCreateAndRunParams::TruncationStrategy::Type::TaggedSymbol
1514
+ )
1515
+ LAST_MESSAGES =
1516
+ T.let(
1517
+ :last_messages,
1518
+ OpenAI::Beta::ThreadCreateAndRunParams::TruncationStrategy::Type::TaggedSymbol
1519
+ )
1520
+
1521
+ sig do
1522
+ override.returns(
1523
+ T::Array[
1524
+ OpenAI::Beta::ThreadCreateAndRunParams::TruncationStrategy::Type::TaggedSymbol
1525
+ ]
1526
+ )
1527
+ end
1528
+ def self.values
1529
+ end
1530
+ end
1531
+ end
1532
+ end
1533
+ end
1534
+ end
1535
+ end