openai 0.87.0 → 0.89.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1418) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +19 -0
  3. data/README.md +1 -1
  4. data/lib/openai/client.rb +4 -0
  5. data/lib/openai/models/admin/organization/admin_api_key.rb +26 -13
  6. data/lib/openai/models/admin/organization/admin_api_key_create_params.rb +3 -4
  7. data/lib/openai/models/admin/organization/admin_api_key_create_response.rb +16 -8
  8. data/lib/openai/models/admin/organization/admin_api_key_delete_params.rb +2 -1
  9. data/lib/openai/models/admin/organization/admin_api_key_list_params.rb +6 -3
  10. data/lib/openai/models/admin/organization/admin_api_key_retrieve_params.rb +2 -1
  11. data/lib/openai/models/admin/organization/audit_log_list_params.rb +47 -22
  12. data/lib/openai/models/admin/organization/audit_log_list_response.rb +486 -254
  13. data/lib/openai/models/admin/organization/certificate.rb +24 -11
  14. data/lib/openai/models/admin/organization/certificate_activate_response.rb +14 -7
  15. data/lib/openai/models/admin/organization/certificate_create_params.rb +4 -2
  16. data/lib/openai/models/admin/organization/certificate_deactivate_response.rb +14 -7
  17. data/lib/openai/models/admin/organization/certificate_delete_response.rb +4 -2
  18. data/lib/openai/models/admin/organization/certificate_list_params.rb +11 -6
  19. data/lib/openai/models/admin/organization/certificate_list_response.rb +14 -7
  20. data/lib/openai/models/admin/organization/certificate_retrieve_params.rb +3 -5
  21. data/lib/openai/models/admin/organization/certificate_update_params.rb +2 -1
  22. data/lib/openai/models/admin/organization/data_retention_update_params.rb +2 -1
  23. data/lib/openai/models/admin/organization/group.rb +11 -8
  24. data/lib/openai/models/admin/organization/group_create_params.rb +2 -1
  25. data/lib/openai/models/admin/organization/group_delete_response.rb +6 -3
  26. data/lib/openai/models/admin/organization/group_list_params.rb +10 -6
  27. data/lib/openai/models/admin/organization/group_update_params.rb +2 -1
  28. data/lib/openai/models/admin/organization/group_update_response.rb +9 -7
  29. data/lib/openai/models/admin/organization/groups/organization_group_user.rb +6 -3
  30. data/lib/openai/models/admin/organization/groups/role_create_params.rb +2 -1
  31. data/lib/openai/models/admin/organization/groups/role_create_response.rb +16 -8
  32. data/lib/openai/models/admin/organization/groups/role_delete_response.rb +5 -6
  33. data/lib/openai/models/admin/organization/groups/role_list_params.rb +7 -6
  34. data/lib/openai/models/admin/organization/groups/role_list_response.rb +24 -13
  35. data/lib/openai/models/admin/organization/groups/role_retrieve_response.rb +24 -13
  36. data/lib/openai/models/admin/organization/groups/user_create_params.rb +2 -1
  37. data/lib/openai/models/admin/organization/groups/user_create_response.rb +6 -3
  38. data/lib/openai/models/admin/organization/groups/user_delete_response.rb +4 -2
  39. data/lib/openai/models/admin/organization/groups/user_list_params.rb +8 -6
  40. data/lib/openai/models/admin/organization/groups/user_retrieve_response.rb +12 -6
  41. data/lib/openai/models/admin/organization/invite.rb +22 -12
  42. data/lib/openai/models/admin/organization/invite_create_params.rb +13 -8
  43. data/lib/openai/models/admin/organization/invite_delete_response.rb +2 -1
  44. data/lib/openai/models/admin/organization/invite_list_params.rb +8 -5
  45. data/lib/openai/models/admin/organization/organization_data_retention.rb +4 -2
  46. data/lib/openai/models/admin/organization/organization_spend_alert.rb +18 -9
  47. data/lib/openai/models/admin/organization/organization_spend_alert_deleted.rb +6 -3
  48. data/lib/openai/models/admin/organization/organization_spend_limit.rb +13 -9
  49. data/lib/openai/models/admin/organization/organization_spend_limit_deleted.rb +4 -2
  50. data/lib/openai/models/admin/organization/organization_user.rb +32 -16
  51. data/lib/openai/models/admin/organization/project.rb +16 -8
  52. data/lib/openai/models/admin/organization/project_create_params.rb +18 -9
  53. data/lib/openai/models/admin/organization/project_list_params.rb +11 -6
  54. data/lib/openai/models/admin/organization/project_update_params.rb +7 -6
  55. data/lib/openai/models/admin/organization/projects/api_key_list_params.rb +14 -7
  56. data/lib/openai/models/admin/organization/projects/certificate_activate_response.rb +14 -7
  57. data/lib/openai/models/admin/organization/projects/certificate_deactivate_response.rb +14 -7
  58. data/lib/openai/models/admin/organization/projects/certificate_list_params.rb +11 -7
  59. data/lib/openai/models/admin/organization/projects/certificate_list_response.rb +14 -7
  60. data/lib/openai/models/admin/organization/projects/data_retention_update_params.rb +2 -1
  61. data/lib/openai/models/admin/organization/projects/group_create_params.rb +4 -2
  62. data/lib/openai/models/admin/organization/projects/group_delete_response.rb +4 -2
  63. data/lib/openai/models/admin/organization/projects/group_list_params.rb +7 -7
  64. data/lib/openai/models/admin/organization/projects/group_retrieve_params.rb +2 -1
  65. data/lib/openai/models/admin/organization/projects/groups/role_create_params.rb +2 -1
  66. data/lib/openai/models/admin/organization/projects/groups/role_create_response.rb +16 -8
  67. data/lib/openai/models/admin/organization/projects/groups/role_delete_response.rb +5 -6
  68. data/lib/openai/models/admin/organization/projects/groups/role_list_params.rb +7 -7
  69. data/lib/openai/models/admin/organization/projects/groups/role_list_response.rb +24 -13
  70. data/lib/openai/models/admin/organization/projects/groups/role_retrieve_response.rb +24 -13
  71. data/lib/openai/models/admin/organization/projects/hosted_tool_permission_update_params.rb +20 -10
  72. data/lib/openai/models/admin/organization/projects/model_permission_update_params.rb +4 -2
  73. data/lib/openai/models/admin/organization/projects/project_api_key.rb +50 -20
  74. data/lib/openai/models/admin/organization/projects/project_data_retention.rb +4 -2
  75. data/lib/openai/models/admin/organization/projects/project_group.rb +12 -6
  76. data/lib/openai/models/admin/organization/projects/project_hosted_tool_permissions.rb +20 -10
  77. data/lib/openai/models/admin/organization/projects/project_model_permissions.rb +6 -3
  78. data/lib/openai/models/admin/organization/projects/project_model_permissions_deleted.rb +4 -2
  79. data/lib/openai/models/admin/organization/projects/project_rate_limit.rb +18 -9
  80. data/lib/openai/models/admin/organization/projects/project_service_account.rb +10 -5
  81. data/lib/openai/models/admin/organization/projects/project_spend_alert.rb +18 -9
  82. data/lib/openai/models/admin/organization/projects/project_spend_alert_deleted.rb +6 -3
  83. data/lib/openai/models/admin/organization/projects/project_spend_limit.rb +13 -10
  84. data/lib/openai/models/admin/organization/projects/project_spend_limit_deleted.rb +4 -2
  85. data/lib/openai/models/admin/organization/projects/project_user.rb +12 -6
  86. data/lib/openai/models/admin/organization/projects/rate_limit_list_rate_limits_params.rb +12 -7
  87. data/lib/openai/models/admin/organization/projects/rate_limit_update_rate_limit_params.rb +12 -6
  88. data/lib/openai/models/admin/organization/projects/role_create_params.rb +6 -3
  89. data/lib/openai/models/admin/organization/projects/role_delete_response.rb +6 -3
  90. data/lib/openai/models/admin/organization/projects/role_list_params.rb +7 -7
  91. data/lib/openai/models/admin/organization/projects/role_update_params.rb +6 -3
  92. data/lib/openai/models/admin/organization/projects/service_account_create_params.rb +22 -3
  93. data/lib/openai/models/admin/organization/projects/service_account_create_response.rb +17 -7
  94. data/lib/openai/models/admin/organization/projects/service_account_list_params.rb +8 -6
  95. data/lib/openai/models/admin/organization/projects/service_account_update_params.rb +4 -2
  96. data/lib/openai/models/admin/organization/projects/service_accounts/api_key_create_params.rb +10 -5
  97. data/lib/openai/models/admin/organization/projects/service_accounts/api_key_create_response.rb +13 -10
  98. data/lib/openai/models/admin/organization/projects/spend_alert_create_params.rb +14 -7
  99. data/lib/openai/models/admin/organization/projects/spend_alert_list_params.rb +10 -8
  100. data/lib/openai/models/admin/organization/projects/spend_alert_update_params.rb +14 -7
  101. data/lib/openai/models/admin/organization/projects/spend_limit_update_params.rb +7 -7
  102. data/lib/openai/models/admin/organization/projects/user_create_params.rb +6 -3
  103. data/lib/openai/models/admin/organization/projects/user_list_params.rb +8 -6
  104. data/lib/openai/models/admin/organization/projects/user_update_params.rb +2 -1
  105. data/lib/openai/models/admin/organization/projects/users/role_create_params.rb +2 -1
  106. data/lib/openai/models/admin/organization/projects/users/role_create_response.rb +6 -3
  107. data/lib/openai/models/admin/organization/projects/users/role_delete_response.rb +5 -6
  108. data/lib/openai/models/admin/organization/projects/users/role_list_params.rb +7 -7
  109. data/lib/openai/models/admin/organization/projects/users/role_list_response.rb +24 -13
  110. data/lib/openai/models/admin/organization/projects/users/role_retrieve_response.rb +24 -13
  111. data/lib/openai/models/admin/organization/role.rb +15 -10
  112. data/lib/openai/models/admin/organization/role_create_params.rb +6 -3
  113. data/lib/openai/models/admin/organization/role_delete_response.rb +6 -3
  114. data/lib/openai/models/admin/organization/role_list_params.rb +7 -6
  115. data/lib/openai/models/admin/organization/role_update_params.rb +6 -3
  116. data/lib/openai/models/admin/organization/spend_alert_create_params.rb +14 -7
  117. data/lib/openai/models/admin/organization/spend_alert_list_params.rb +10 -7
  118. data/lib/openai/models/admin/organization/spend_alert_update_params.rb +14 -7
  119. data/lib/openai/models/admin/organization/spend_limit_update_params.rb +7 -6
  120. data/lib/openai/models/admin/organization/usage_audio_speeches_params.rb +26 -13
  121. data/lib/openai/models/admin/organization/usage_audio_speeches_response.rb +205 -121
  122. data/lib/openai/models/admin/organization/usage_audio_transcriptions_params.rb +26 -13
  123. data/lib/openai/models/admin/organization/usage_audio_transcriptions_response.rb +205 -121
  124. data/lib/openai/models/admin/organization/usage_code_interpreter_sessions_params.rb +20 -10
  125. data/lib/openai/models/admin/organization/usage_code_interpreter_sessions_response.rb +205 -121
  126. data/lib/openai/models/admin/organization/usage_completions_params.rb +30 -13
  127. data/lib/openai/models/admin/organization/usage_completions_response.rb +205 -121
  128. data/lib/openai/models/admin/organization/usage_costs_params.rb +23 -12
  129. data/lib/openai/models/admin/organization/usage_costs_response.rb +205 -121
  130. data/lib/openai/models/admin/organization/usage_embeddings_params.rb +26 -12
  131. data/lib/openai/models/admin/organization/usage_embeddings_response.rb +205 -121
  132. data/lib/openai/models/admin/organization/usage_file_search_calls_params.rb +27 -13
  133. data/lib/openai/models/admin/organization/usage_file_search_calls_response.rb +205 -121
  134. data/lib/openai/models/admin/organization/usage_images_params.rb +33 -14
  135. data/lib/openai/models/admin/organization/usage_images_response.rb +205 -121
  136. data/lib/openai/models/admin/organization/usage_moderations_params.rb +26 -12
  137. data/lib/openai/models/admin/organization/usage_moderations_response.rb +205 -121
  138. data/lib/openai/models/admin/organization/usage_vector_stores_params.rb +20 -9
  139. data/lib/openai/models/admin/organization/usage_vector_stores_response.rb +205 -121
  140. data/lib/openai/models/admin/organization/usage_web_search_calls_params.rb +29 -14
  141. data/lib/openai/models/admin/organization/usage_web_search_calls_response.rb +205 -121
  142. data/lib/openai/models/admin/organization/user_list_params.rb +10 -6
  143. data/lib/openai/models/admin/organization/user_update_params.rb +8 -4
  144. data/lib/openai/models/admin/organization/users/role_create_params.rb +2 -1
  145. data/lib/openai/models/admin/organization/users/role_create_response.rb +6 -3
  146. data/lib/openai/models/admin/organization/users/role_delete_response.rb +5 -6
  147. data/lib/openai/models/admin/organization/users/role_list_params.rb +7 -6
  148. data/lib/openai/models/admin/organization/users/role_list_response.rb +24 -13
  149. data/lib/openai/models/admin/organization/users/role_retrieve_response.rb +24 -13
  150. data/lib/openai/models/audio/speech_create_params.rb +34 -16
  151. data/lib/openai/models/audio/transcription.rb +35 -20
  152. data/lib/openai/models/audio/transcription_create_params.rb +86 -24
  153. data/lib/openai/models/audio/transcription_diarized.rb +28 -14
  154. data/lib/openai/models/audio/transcription_diarized_segment.rb +14 -9
  155. data/lib/openai/models/audio/transcription_language.rb +2 -1
  156. data/lib/openai/models/audio/transcription_segment.rb +23 -13
  157. data/lib/openai/models/audio/transcription_stream_event.rb +4 -4
  158. data/lib/openai/models/audio/transcription_text_delta_event.rb +19 -16
  159. data/lib/openai/models/audio/transcription_text_done_event.rb +36 -24
  160. data/lib/openai/models/audio/transcription_text_segment_event.rb +13 -7
  161. data/lib/openai/models/audio/transcription_verbose.rb +16 -8
  162. data/lib/openai/models/audio/transcription_word.rb +6 -3
  163. data/lib/openai/models/audio/translation_create_params.rb +26 -8
  164. data/lib/openai/models/audio/translation_verbose.rb +8 -4
  165. data/lib/openai/models/auto_file_chunking_strategy_param.rb +2 -1
  166. data/lib/openai/models/batch.rb +55 -26
  167. data/lib/openai/models/batch_create_params.rb +40 -14
  168. data/lib/openai/models/batch_error.rb +8 -4
  169. data/lib/openai/models/batch_list_params.rb +8 -5
  170. data/lib/openai/models/batch_request_counts.rb +6 -3
  171. data/lib/openai/models/batch_usage.rb +16 -11
  172. data/lib/openai/models/beta/assistant.rb +99 -49
  173. data/lib/openai/models/beta/assistant_create_params.rb +127 -61
  174. data/lib/openai/models/beta/assistant_list_params.rb +16 -7
  175. data/lib/openai/models/beta/assistant_response_format_option.rb +5 -5
  176. data/lib/openai/models/beta/assistant_stream_event.rb +137 -185
  177. data/lib/openai/models/beta/assistant_tool_choice.rb +2 -1
  178. data/lib/openai/models/beta/assistant_tool_choice_function.rb +2 -1
  179. data/lib/openai/models/beta/assistant_update_params.rb +94 -41
  180. data/lib/openai/models/beta/beta_apply_patch_tool.rb +4 -3
  181. data/lib/openai/models/beta/beta_compacted_response.rb +12 -8
  182. data/lib/openai/models/beta/beta_computer_action.rb +78 -58
  183. data/lib/openai/models/beta/beta_computer_tool.rb +3 -2
  184. data/lib/openai/models/beta/beta_computer_use_preview_tool.rb +9 -5
  185. data/lib/openai/models/beta/beta_container_auto.rb +10 -5
  186. data/lib/openai/models/beta/beta_container_network_policy_allowlist.rb +6 -3
  187. data/lib/openai/models/beta/beta_container_network_policy_disabled.rb +2 -1
  188. data/lib/openai/models/beta/beta_container_network_policy_domain_secret.rb +6 -3
  189. data/lib/openai/models/beta/beta_container_reference.rb +4 -2
  190. data/lib/openai/models/beta/beta_custom_tool.rb +24 -16
  191. data/lib/openai/models/beta/beta_easy_input_message.rb +13 -7
  192. data/lib/openai/models/beta/beta_file_search_tool.rb +64 -37
  193. data/lib/openai/models/beta/beta_function_shell_tool.rb +4 -3
  194. data/lib/openai/models/beta/beta_function_tool.rb +19 -13
  195. data/lib/openai/models/beta/beta_inline_skill.rb +8 -4
  196. data/lib/openai/models/beta/beta_inline_skill_source.rb +6 -3
  197. data/lib/openai/models/beta/beta_local_environment.rb +4 -2
  198. data/lib/openai/models/beta/beta_local_skill.rb +6 -3
  199. data/lib/openai/models/beta/beta_namespace_tool.rb +23 -13
  200. data/lib/openai/models/beta/beta_response.rb +372 -165
  201. data/lib/openai/models/beta/beta_response_apply_patch_tool_call.rb +38 -21
  202. data/lib/openai/models/beta/beta_response_apply_patch_tool_call_output.rb +21 -13
  203. data/lib/openai/models/beta/beta_response_audio_delta_event.rb +10 -8
  204. data/lib/openai/models/beta/beta_response_audio_done_event.rb +8 -7
  205. data/lib/openai/models/beta/beta_response_audio_transcript_delta_event.rb +10 -8
  206. data/lib/openai/models/beta/beta_response_audio_transcript_done_event.rb +8 -7
  207. data/lib/openai/models/beta/beta_response_code_interpreter_call_code_delta_event.rb +15 -11
  208. data/lib/openai/models/beta/beta_response_code_interpreter_call_code_done_event.rb +14 -7
  209. data/lib/openai/models/beta/beta_response_code_interpreter_call_completed_event.rb +13 -10
  210. data/lib/openai/models/beta/beta_response_code_interpreter_call_in_progress_event.rb +13 -10
  211. data/lib/openai/models/beta/beta_response_code_interpreter_call_interpreting_event.rb +13 -10
  212. data/lib/openai/models/beta/beta_response_code_interpreter_tool_call.rb +26 -15
  213. data/lib/openai/models/beta/beta_response_compaction_item.rb +13 -7
  214. data/lib/openai/models/beta/beta_response_compaction_item_param.rb +11 -6
  215. data/lib/openai/models/beta/beta_response_completed_event.rb +10 -8
  216. data/lib/openai/models/beta/beta_response_computer_tool_call.rb +27 -17
  217. data/lib/openai/models/beta/beta_response_computer_tool_call_output_item.rb +26 -15
  218. data/lib/openai/models/beta/beta_response_computer_tool_call_output_screenshot.rb +7 -7
  219. data/lib/openai/models/beta/beta_response_configuration_update_item.rb +13 -10
  220. data/lib/openai/models/beta/beta_response_configuration_update_item_param.rb +13 -10
  221. data/lib/openai/models/beta/beta_response_container_reference.rb +2 -1
  222. data/lib/openai/models/beta/beta_response_content.rb +5 -3
  223. data/lib/openai/models/beta/beta_response_content_part_added_event.rb +20 -13
  224. data/lib/openai/models/beta/beta_response_content_part_done_event.rb +20 -13
  225. data/lib/openai/models/beta/beta_response_conversation_param.rb +2 -1
  226. data/lib/openai/models/beta/beta_response_created_event.rb +10 -8
  227. data/lib/openai/models/beta/beta_response_custom_tool_call.rb +22 -14
  228. data/lib/openai/models/beta/beta_response_custom_tool_call_input_delta_event.rb +14 -7
  229. data/lib/openai/models/beta/beta_response_custom_tool_call_input_done_event.rb +14 -7
  230. data/lib/openai/models/beta/beta_response_custom_tool_call_item.rb +23 -14
  231. data/lib/openai/models/beta/beta_response_custom_tool_call_output.rb +22 -14
  232. data/lib/openai/models/beta/beta_response_custom_tool_call_output_item.rb +18 -11
  233. data/lib/openai/models/beta/beta_response_error.rb +12 -9
  234. data/lib/openai/models/beta/beta_response_error_event.rb +14 -10
  235. data/lib/openai/models/beta/beta_response_failed_event.rb +10 -8
  236. data/lib/openai/models/beta/beta_response_file_search_call_completed_event.rb +12 -10
  237. data/lib/openai/models/beta/beta_response_file_search_call_in_progress_event.rb +12 -10
  238. data/lib/openai/models/beta/beta_response_file_search_call_searching_event.rb +12 -10
  239. data/lib/openai/models/beta/beta_response_file_search_tool_call.rb +30 -20
  240. data/lib/openai/models/beta/beta_response_format_text_config.rb +6 -4
  241. data/lib/openai/models/beta/beta_response_format_text_json_schema_config.rb +19 -10
  242. data/lib/openai/models/beta/beta_response_function_call_arguments_delta_event.rb +14 -11
  243. data/lib/openai/models/beta/beta_response_function_call_arguments_done_event.rb +12 -6
  244. data/lib/openai/models/beta/beta_response_function_call_output_item.rb +1 -1
  245. data/lib/openai/models/beta/beta_response_function_shell_call_output_content.rb +12 -6
  246. data/lib/openai/models/beta/beta_response_function_shell_tool_call.rb +28 -16
  247. data/lib/openai/models/beta/beta_response_function_shell_tool_call_output.rb +40 -27
  248. data/lib/openai/models/beta/beta_response_function_tool_call.rb +26 -16
  249. data/lib/openai/models/beta/beta_response_function_tool_call_item.rb +24 -15
  250. data/lib/openai/models/beta/beta_response_function_tool_call_output_item.rb +31 -18
  251. data/lib/openai/models/beta/beta_response_function_web_search.rb +37 -39
  252. data/lib/openai/models/beta/beta_response_image_gen_call_completed_event.rb +12 -6
  253. data/lib/openai/models/beta/beta_response_image_gen_call_generating_event.rb +12 -6
  254. data/lib/openai/models/beta/beta_response_image_gen_call_in_progress_event.rb +12 -6
  255. data/lib/openai/models/beta/beta_response_image_gen_call_partial_image_event.rb +25 -16
  256. data/lib/openai/models/beta/beta_response_in_progress_event.rb +10 -8
  257. data/lib/openai/models/beta/beta_response_incomplete_event.rb +10 -8
  258. data/lib/openai/models/beta/beta_response_inject_created_event.rb +9 -7
  259. data/lib/openai/models/beta/beta_response_inject_event.rb +6 -3
  260. data/lib/openai/models/beta/beta_response_inject_failed_event.rb +17 -11
  261. data/lib/openai/models/beta/beta_response_input_audio.rb +6 -9
  262. data/lib/openai/models/beta/beta_response_input_content.rb +1 -1
  263. data/lib/openai/models/beta/beta_response_input_file.rb +22 -11
  264. data/lib/openai/models/beta/beta_response_input_file_content.rb +22 -11
  265. data/lib/openai/models/beta/beta_response_input_image.rb +17 -10
  266. data/lib/openai/models/beta/beta_response_input_image_content.rb +17 -10
  267. data/lib/openai/models/beta/beta_response_input_item.rb +570 -294
  268. data/lib/openai/models/beta/beta_response_input_message_item.rb +16 -10
  269. data/lib/openai/models/beta/beta_response_input_text.rb +10 -7
  270. data/lib/openai/models/beta/beta_response_input_text_content.rb +10 -7
  271. data/lib/openai/models/beta/beta_response_item.rb +340 -153
  272. data/lib/openai/models/beta/beta_response_local_environment.rb +2 -1
  273. data/lib/openai/models/beta/beta_response_mcp_call_arguments_delta_event.rb +15 -10
  274. data/lib/openai/models/beta/beta_response_mcp_call_arguments_done_event.rb +14 -10
  275. data/lib/openai/models/beta/beta_response_mcp_call_completed_event.rb +12 -6
  276. data/lib/openai/models/beta/beta_response_mcp_call_failed_event.rb +12 -6
  277. data/lib/openai/models/beta/beta_response_mcp_call_in_progress_event.rb +12 -6
  278. data/lib/openai/models/beta/beta_response_mcp_list_tools_completed_event.rb +12 -6
  279. data/lib/openai/models/beta/beta_response_mcp_list_tools_failed_event.rb +12 -6
  280. data/lib/openai/models/beta/beta_response_mcp_list_tools_in_progress_event.rb +12 -6
  281. data/lib/openai/models/beta/beta_response_output_audio.rb +6 -6
  282. data/lib/openai/models/beta/beta_response_output_item.rb +338 -158
  283. data/lib/openai/models/beta/beta_response_output_item_added_event.rb +15 -9
  284. data/lib/openai/models/beta/beta_response_output_item_done_event.rb +12 -9
  285. data/lib/openai/models/beta/beta_response_output_message.rb +20 -11
  286. data/lib/openai/models/beta/beta_response_output_refusal.rb +4 -2
  287. data/lib/openai/models/beta/beta_response_output_text.rb +42 -25
  288. data/lib/openai/models/beta/beta_response_output_text_annotation_added_event.rb +54 -31
  289. data/lib/openai/models/beta/beta_response_prompt.rb +10 -8
  290. data/lib/openai/models/beta/beta_response_queued_event.rb +10 -5
  291. data/lib/openai/models/beta/beta_response_reasoning_item.rb +33 -17
  292. data/lib/openai/models/beta/beta_response_reasoning_summary_part_added_event.rb +20 -14
  293. data/lib/openai/models/beta/beta_response_reasoning_summary_part_done_event.rb +23 -15
  294. data/lib/openai/models/beta/beta_response_reasoning_summary_text_delta_event.rb +16 -12
  295. data/lib/openai/models/beta/beta_response_reasoning_summary_text_done_event.rb +16 -12
  296. data/lib/openai/models/beta/beta_response_reasoning_text_delta_event.rb +16 -11
  297. data/lib/openai/models/beta/beta_response_reasoning_text_done_event.rb +16 -11
  298. data/lib/openai/models/beta/beta_response_refusal_delta_event.rb +16 -11
  299. data/lib/openai/models/beta/beta_response_refusal_done_event.rb +16 -11
  300. data/lib/openai/models/beta/beta_response_shell_call_command_added_event.rb +14 -7
  301. data/lib/openai/models/beta/beta_response_shell_call_command_delta_event.rb +16 -8
  302. data/lib/openai/models/beta/beta_response_shell_call_command_done_event.rb +14 -7
  303. data/lib/openai/models/beta/beta_response_shell_call_output_content_delta_event.rb +20 -10
  304. data/lib/openai/models/beta/beta_response_shell_call_output_content_done_event.rb +31 -20
  305. data/lib/openai/models/beta/beta_response_steer_accepted_event.rb +13 -9
  306. data/lib/openai/models/beta/beta_response_steer_event.rb +14 -6
  307. data/lib/openai/models/beta/beta_response_steer_failed_event.rb +45 -22
  308. data/lib/openai/models/beta/beta_response_steer_input.rb +42 -24
  309. data/lib/openai/models/beta/beta_response_steer_input_content.rb +1 -1
  310. data/lib/openai/models/beta/beta_response_steer_pending_event.rb +24 -11
  311. data/lib/openai/models/beta/beta_response_text_config.rb +22 -8
  312. data/lib/openai/models/beta/beta_response_text_delta_event.rb +28 -22
  313. data/lib/openai/models/beta/beta_response_text_done_event.rb +28 -22
  314. data/lib/openai/models/beta/beta_response_tool_search_call.rb +18 -9
  315. data/lib/openai/models/beta/beta_response_tool_search_output_item.rb +18 -9
  316. data/lib/openai/models/beta/beta_response_tool_search_output_item_param.rb +16 -8
  317. data/lib/openai/models/beta/beta_response_usage.rb +18 -12
  318. data/lib/openai/models/beta/beta_response_web_search_call_completed_event.rb +12 -10
  319. data/lib/openai/models/beta/beta_response_web_search_call_in_progress_event.rb +12 -10
  320. data/lib/openai/models/beta/beta_response_web_search_call_searching_event.rb +12 -10
  321. data/lib/openai/models/beta/beta_responses_client_event.rb +399 -163
  322. data/lib/openai/models/beta/beta_responses_server_event.rb +862 -629
  323. data/lib/openai/models/beta/beta_skill_reference.rb +6 -3
  324. data/lib/openai/models/beta/beta_tool.rb +170 -95
  325. data/lib/openai/models/beta/beta_tool_choice_allowed.rb +21 -6
  326. data/lib/openai/models/beta/beta_tool_choice_apply_patch.rb +2 -1
  327. data/lib/openai/models/beta/beta_tool_choice_custom.rb +4 -2
  328. data/lib/openai/models/beta/beta_tool_choice_function.rb +4 -2
  329. data/lib/openai/models/beta/beta_tool_choice_mcp.rb +6 -6
  330. data/lib/openai/models/beta/beta_tool_choice_shell.rb +2 -1
  331. data/lib/openai/models/beta/beta_tool_choice_types.rb +16 -7
  332. data/lib/openai/models/beta/beta_tool_search_tool.rb +8 -4
  333. data/lib/openai/models/beta/beta_web_search_preview_tool.rb +21 -15
  334. data/lib/openai/models/beta/beta_web_search_tool.rb +31 -21
  335. data/lib/openai/models/beta/chatkit/chat_session.rb +20 -10
  336. data/lib/openai/models/beta/chatkit/chat_session_automatic_thread_titling.rb +2 -1
  337. data/lib/openai/models/beta/chatkit/chat_session_chatkit_configuration.rb +6 -3
  338. data/lib/openai/models/beta/chatkit/chat_session_chatkit_configuration_param.rb +23 -21
  339. data/lib/openai/models/beta/chatkit/chat_session_expires_after_param.rb +4 -2
  340. data/lib/openai/models/beta/chatkit/chat_session_file_upload.rb +6 -3
  341. data/lib/openai/models/beta/chatkit/chat_session_history.rb +5 -5
  342. data/lib/openai/models/beta/chatkit/chat_session_rate_limits.rb +2 -1
  343. data/lib/openai/models/beta/chatkit/chat_session_rate_limits_param.rb +2 -1
  344. data/lib/openai/models/beta/chatkit/chat_session_workflow_param.rb +12 -9
  345. data/lib/openai/models/beta/chatkit/chatkit_attachment.rb +10 -5
  346. data/lib/openai/models/beta/chatkit/chatkit_response_output_text.rb +22 -11
  347. data/lib/openai/models/beta/chatkit/chatkit_thread.rb +23 -14
  348. data/lib/openai/models/beta/chatkit/chatkit_thread_assistant_message_item.rb +12 -6
  349. data/lib/openai/models/beta/chatkit/chatkit_thread_item_list.rb +65 -41
  350. data/lib/openai/models/beta/chatkit/chatkit_thread_user_message_item.rb +29 -18
  351. data/lib/openai/models/beta/chatkit/chatkit_widget_item.rb +12 -6
  352. data/lib/openai/models/beta/chatkit/session_create_params.rb +12 -8
  353. data/lib/openai/models/beta/chatkit/thread_delete_response.rb +6 -3
  354. data/lib/openai/models/beta/chatkit/thread_list_items_params.rb +10 -7
  355. data/lib/openai/models/beta/chatkit/thread_list_params.rb +13 -8
  356. data/lib/openai/models/beta/chatkit_workflow.rb +12 -9
  357. data/lib/openai/models/beta/code_interpreter_tool.rb +2 -1
  358. data/lib/openai/models/beta/file_search_tool.rb +29 -16
  359. data/lib/openai/models/beta/function_tool.rb +2 -1
  360. data/lib/openai/models/beta/message_stream_event.rb +32 -41
  361. data/lib/openai/models/beta/response_compact_params.rb +89 -46
  362. data/lib/openai/models/beta/response_create_params.rb +380 -150
  363. data/lib/openai/models/beta/response_retrieve_params.rb +12 -6
  364. data/lib/openai/models/beta/responses/beta_response_item_list.rb +10 -5
  365. data/lib/openai/models/beta/responses/input_item_list_params.rb +13 -7
  366. data/lib/openai/models/beta/responses/input_token_count_params.rb +113 -42
  367. data/lib/openai/models/beta/run_step_stream_event.rb +36 -57
  368. data/lib/openai/models/beta/run_stream_event.rb +61 -72
  369. data/lib/openai/models/beta/thread.rb +32 -21
  370. data/lib/openai/models/beta/thread_create_and_run_params.rb +232 -123
  371. data/lib/openai/models/beta/thread_create_params.rb +89 -52
  372. data/lib/openai/models/beta/thread_stream_event.rb +7 -7
  373. data/lib/openai/models/beta/thread_update_params.rb +25 -19
  374. data/lib/openai/models/beta/threads/file_citation_annotation.rb +6 -3
  375. data/lib/openai/models/beta/threads/file_citation_delta_annotation.rb +10 -5
  376. data/lib/openai/models/beta/threads/file_path_annotation.rb +6 -3
  377. data/lib/openai/models/beta/threads/file_path_delta_annotation.rb +8 -4
  378. data/lib/openai/models/beta/threads/image_file.rb +10 -8
  379. data/lib/openai/models/beta/threads/image_file_content_block.rb +5 -3
  380. data/lib/openai/models/beta/threads/image_file_delta.rb +10 -8
  381. data/lib/openai/models/beta/threads/image_file_delta_block.rb +7 -4
  382. data/lib/openai/models/beta/threads/image_url.rb +6 -5
  383. data/lib/openai/models/beta/threads/image_url_content_block.rb +2 -1
  384. data/lib/openai/models/beta/threads/image_url_delta.rb +6 -5
  385. data/lib/openai/models/beta/threads/image_url_delta_block.rb +4 -2
  386. data/lib/openai/models/beta/threads/message.rb +52 -28
  387. data/lib/openai/models/beta/threads/message_content.rb +4 -3
  388. data/lib/openai/models/beta/threads/message_content_delta.rb +4 -3
  389. data/lib/openai/models/beta/threads/message_content_part_param.rb +4 -3
  390. data/lib/openai/models/beta/threads/message_create_params.rb +25 -12
  391. data/lib/openai/models/beta/threads/message_delta.rb +4 -2
  392. data/lib/openai/models/beta/threads/message_delta_event.rb +6 -3
  393. data/lib/openai/models/beta/threads/message_list_params.rb +18 -8
  394. data/lib/openai/models/beta/threads/message_update_params.rb +7 -4
  395. data/lib/openai/models/beta/threads/refusal_content_block.rb +2 -1
  396. data/lib/openai/models/beta/threads/refusal_delta_block.rb +4 -2
  397. data/lib/openai/models/beta/threads/required_action_function_tool_call.rb +15 -10
  398. data/lib/openai/models/beta/threads/run.rb +174 -89
  399. data/lib/openai/models/beta/threads/run_create_params.rb +173 -74
  400. data/lib/openai/models/beta/threads/run_list_params.rb +16 -7
  401. data/lib/openai/models/beta/threads/run_submit_tool_outputs_params.rb +7 -7
  402. data/lib/openai/models/beta/threads/run_update_params.rb +7 -4
  403. data/lib/openai/models/beta/threads/runs/code_interpreter_logs.rb +6 -3
  404. data/lib/openai/models/beta/threads/runs/code_interpreter_output_image.rb +9 -9
  405. data/lib/openai/models/beta/threads/runs/code_interpreter_tool_call.rb +24 -22
  406. data/lib/openai/models/beta/threads/runs/code_interpreter_tool_call_delta.rb +15 -14
  407. data/lib/openai/models/beta/threads/runs/file_search_tool_call.rb +31 -25
  408. data/lib/openai/models/beta/threads/runs/file_search_tool_call_delta.rb +9 -7
  409. data/lib/openai/models/beta/threads/runs/function_tool_call.rb +15 -15
  410. data/lib/openai/models/beta/threads/runs/function_tool_call_delta.rb +17 -16
  411. data/lib/openai/models/beta/threads/runs/message_creation_step_details.rb +4 -2
  412. data/lib/openai/models/beta/threads/runs/run_step.rb +62 -29
  413. data/lib/openai/models/beta/threads/runs/run_step_delta.rb +2 -1
  414. data/lib/openai/models/beta/threads/runs/run_step_delta_event.rb +6 -3
  415. data/lib/openai/models/beta/threads/runs/run_step_delta_message_delta.rb +4 -2
  416. data/lib/openai/models/beta/threads/runs/step_list_params.rb +29 -13
  417. data/lib/openai/models/beta/threads/runs/step_retrieve_params.rb +9 -5
  418. data/lib/openai/models/beta/threads/runs/tool_call_delta_object.rb +6 -5
  419. data/lib/openai/models/beta/threads/runs/tool_calls_step_details.rb +6 -5
  420. data/lib/openai/models/beta/threads/text.rb +2 -1
  421. data/lib/openai/models/beta/threads/text_content_block.rb +2 -1
  422. data/lib/openai/models/beta/threads/text_content_block_param.rb +4 -2
  423. data/lib/openai/models/beta/threads/text_delta.rb +2 -1
  424. data/lib/openai/models/beta/threads/text_delta_block.rb +4 -2
  425. data/lib/openai/models/chat/chat_completion.rb +143 -75
  426. data/lib/openai/models/chat/chat_completion_allowed_tool_choice.rb +4 -5
  427. data/lib/openai/models/chat/chat_completion_allowed_tools.rb +18 -5
  428. data/lib/openai/models/chat/chat_completion_assistant_message_param.rb +31 -26
  429. data/lib/openai/models/chat/chat_completion_audio.rb +11 -8
  430. data/lib/openai/models/chat/chat_completion_audio_param.rb +11 -7
  431. data/lib/openai/models/chat/chat_completion_chunk.rb +174 -97
  432. data/lib/openai/models/chat/chat_completion_content_part.rb +22 -20
  433. data/lib/openai/models/chat/chat_completion_content_part_image.rb +17 -15
  434. data/lib/openai/models/chat/chat_completion_content_part_input_audio.rb +13 -13
  435. data/lib/openai/models/chat/chat_completion_content_part_refusal.rb +4 -2
  436. data/lib/openai/models/chat/chat_completion_content_part_text.rb +11 -9
  437. data/lib/openai/models/chat/chat_completion_custom_tool.rb +20 -16
  438. data/lib/openai/models/chat/chat_completion_deleted.rb +6 -3
  439. data/lib/openai/models/chat/chat_completion_developer_message_param.rb +7 -6
  440. data/lib/openai/models/chat/chat_completion_function_call_option.rb +2 -1
  441. data/lib/openai/models/chat/chat_completion_function_message_param.rb +6 -3
  442. data/lib/openai/models/chat/chat_completion_function_tool.rb +2 -1
  443. data/lib/openai/models/chat/chat_completion_message.rb +39 -24
  444. data/lib/openai/models/chat/chat_completion_message_custom_tool_call.rb +10 -5
  445. data/lib/openai/models/chat/chat_completion_message_function_tool_call.rb +13 -9
  446. data/lib/openai/models/chat/chat_completion_named_tool_choice.rb +4 -2
  447. data/lib/openai/models/chat/chat_completion_named_tool_choice_custom.rb +4 -2
  448. data/lib/openai/models/chat/chat_completion_prediction_content.rb +8 -6
  449. data/lib/openai/models/chat/chat_completion_store_message.rb +26 -16
  450. data/lib/openai/models/chat/chat_completion_stream_options.rb +15 -5
  451. data/lib/openai/models/chat/chat_completion_system_message_param.rb +7 -6
  452. data/lib/openai/models/chat/chat_completion_token_logprob.rb +25 -14
  453. data/lib/openai/models/chat/chat_completion_tool_message_param.rb +6 -3
  454. data/lib/openai/models/chat/chat_completion_user_message_param.rb +8 -7
  455. data/lib/openai/models/chat/completion_create_params.rb +388 -161
  456. data/lib/openai/models/chat/completion_list_params.rb +12 -7
  457. data/lib/openai/models/chat/completion_update_params.rb +7 -4
  458. data/lib/openai/models/chat/completions/message_list_params.rb +7 -6
  459. data/lib/openai/models/comparison_filter.rb +17 -6
  460. data/lib/openai/models/completion.rb +17 -10
  461. data/lib/openai/models/completion_choice.rb +5 -4
  462. data/lib/openai/models/completion_create_params.rb +124 -37
  463. data/lib/openai/models/completion_usage.rb +34 -18
  464. data/lib/openai/models/compound_filter.rb +5 -5
  465. data/lib/openai/models/container_create_params.rb +15 -10
  466. data/lib/openai/models/container_create_response.rb +28 -16
  467. data/lib/openai/models/container_list_params.rb +13 -7
  468. data/lib/openai/models/container_list_response.rb +28 -16
  469. data/lib/openai/models/container_retrieve_response.rb +28 -16
  470. data/lib/openai/models/containers/file_create_params.rb +8 -5
  471. data/lib/openai/models/containers/file_create_response.rb +14 -7
  472. data/lib/openai/models/containers/file_list_params.rb +11 -6
  473. data/lib/openai/models/containers/file_list_response.rb +14 -7
  474. data/lib/openai/models/containers/file_retrieve_response.rb +14 -7
  475. data/lib/openai/models/content_provenance_check.rb +44 -25
  476. data/lib/openai/models/content_provenance_check_create_params.rb +6 -1
  477. data/lib/openai/models/conversations/computer_screenshot_content.rb +16 -9
  478. data/lib/openai/models/conversations/conversation.rb +16 -10
  479. data/lib/openai/models/conversations/conversation_create_params.rb +9 -4
  480. data/lib/openai/models/conversations/conversation_item.rb +228 -103
  481. data/lib/openai/models/conversations/conversation_item_list.rb +10 -5
  482. data/lib/openai/models/conversations/conversation_update_params.rb +7 -4
  483. data/lib/openai/models/conversations/item_create_params.rb +7 -6
  484. data/lib/openai/models/conversations/item_list_params.rb +29 -7
  485. data/lib/openai/models/conversations/item_retrieve_params.rb +5 -5
  486. data/lib/openai/models/conversations/message.rb +22 -12
  487. data/lib/openai/models/conversations/summary_text_content.rb +4 -2
  488. data/lib/openai/models/create_embedding_response.rb +12 -6
  489. data/lib/openai/models/custom_tool_input_format.rb +8 -4
  490. data/lib/openai/models/embedding.rb +9 -7
  491. data/lib/openai/models/embedding_create_params.rb +36 -18
  492. data/lib/openai/models/error_object.rb +8 -4
  493. data/lib/openai/models/eval_create_params.rb +105 -74
  494. data/lib/openai/models/eval_create_response.rb +69 -42
  495. data/lib/openai/models/eval_custom_data_source_config.rb +5 -5
  496. data/lib/openai/models/eval_list_params.rb +10 -7
  497. data/lib/openai/models/eval_list_response.rb +69 -42
  498. data/lib/openai/models/eval_retrieve_response.rb +69 -42
  499. data/lib/openai/models/eval_stored_completions_data_source_config.rb +12 -6
  500. data/lib/openai/models/eval_update_params.rb +9 -5
  501. data/lib/openai/models/eval_update_response.rb +69 -42
  502. data/lib/openai/models/evals/create_eval_completions_run_data_source.rb +97 -64
  503. data/lib/openai/models/evals/create_eval_jsonl_run_data_source.rb +12 -7
  504. data/lib/openai/models/evals/eval_api_error.rb +4 -2
  505. data/lib/openai/models/evals/run_cancel_response.rb +204 -114
  506. data/lib/openai/models/evals/run_create_params.rb +156 -90
  507. data/lib/openai/models/evals/run_create_response.rb +204 -114
  508. data/lib/openai/models/evals/run_list_params.rb +10 -7
  509. data/lib/openai/models/evals/run_list_response.rb +204 -114
  510. data/lib/openai/models/evals/run_retrieve_response.rb +204 -114
  511. data/lib/openai/models/evals/runs/output_item_list_params.rb +10 -7
  512. data/lib/openai/models/evals/runs/output_item_list_response.rb +66 -38
  513. data/lib/openai/models/evals/runs/output_item_retrieve_response.rb +66 -39
  514. data/lib/openai/models/file_create_params.rb +23 -10
  515. data/lib/openai/models/file_list_params.rb +13 -7
  516. data/lib/openai/models/file_object.rb +22 -12
  517. data/lib/openai/models/fine_tuning/alpha/grader_run_params.rb +18 -10
  518. data/lib/openai/models/fine_tuning/alpha/grader_validate_params.rb +2 -1
  519. data/lib/openai/models/fine_tuning/alpha/grader_validate_response.rb +2 -1
  520. data/lib/openai/models/fine_tuning/checkpoints/permission_create_params.rb +2 -1
  521. data/lib/openai/models/fine_tuning/checkpoints/permission_create_response.rb +8 -4
  522. data/lib/openai/models/fine_tuning/checkpoints/permission_delete_response.rb +6 -3
  523. data/lib/openai/models/fine_tuning/checkpoints/permission_list_params.rb +8 -4
  524. data/lib/openai/models/fine_tuning/checkpoints/permission_list_response.rb +8 -4
  525. data/lib/openai/models/fine_tuning/checkpoints/permission_retrieve_params.rb +8 -4
  526. data/lib/openai/models/fine_tuning/checkpoints/permission_retrieve_response.rb +8 -4
  527. data/lib/openai/models/fine_tuning/dpo_hyperparameters.rb +12 -7
  528. data/lib/openai/models/fine_tuning/dpo_method.rb +2 -1
  529. data/lib/openai/models/fine_tuning/fine_tuning_job.rb +82 -41
  530. data/lib/openai/models/fine_tuning/fine_tuning_job_event.rb +14 -7
  531. data/lib/openai/models/fine_tuning/fine_tuning_job_wandb_integration.rb +13 -7
  532. data/lib/openai/models/fine_tuning/fine_tuning_job_wandb_integration_object.rb +7 -6
  533. data/lib/openai/models/fine_tuning/job_create_params.rb +107 -42
  534. data/lib/openai/models/fine_tuning/job_list_events_params.rb +4 -2
  535. data/lib/openai/models/fine_tuning/job_list_params.rb +7 -6
  536. data/lib/openai/models/fine_tuning/jobs/checkpoint_list_params.rb +4 -2
  537. data/lib/openai/models/fine_tuning/jobs/fine_tuning_job_checkpoint.rb +14 -7
  538. data/lib/openai/models/fine_tuning/reinforcement_hyperparameters.rb +17 -10
  539. data/lib/openai/models/fine_tuning/reinforcement_method.rb +4 -2
  540. data/lib/openai/models/fine_tuning/supervised_hyperparameters.rb +9 -6
  541. data/lib/openai/models/fine_tuning/supervised_method.rb +2 -1
  542. data/lib/openai/models/function_definition.rb +22 -9
  543. data/lib/openai/models/graders/grader_input_item.rb +11 -11
  544. data/lib/openai/models/graders/label_model_grader.rb +29 -25
  545. data/lib/openai/models/graders/multi_grader.rb +9 -7
  546. data/lib/openai/models/graders/python_grader.rb +8 -4
  547. data/lib/openai/models/graders/score_model_grader.rb +48 -38
  548. data/lib/openai/models/graders/string_check_grader.rb +10 -5
  549. data/lib/openai/models/graders/text_similarity_grader.rb +11 -8
  550. data/lib/openai/models/image.rb +10 -6
  551. data/lib/openai/models/image_create_variation_params.rb +23 -9
  552. data/lib/openai/models/image_edit_completed_event.rb +29 -20
  553. data/lib/openai/models/image_edit_params.rb +108 -31
  554. data/lib/openai/models/image_edit_partial_image_event.rb +16 -11
  555. data/lib/openai/models/image_gen_completed_event.rb +29 -20
  556. data/lib/openai/models/image_gen_partial_image_event.rb +16 -11
  557. data/lib/openai/models/image_generate_params.rb +92 -29
  558. data/lib/openai/models/image_input_reference_param.rb +2 -1
  559. data/lib/openai/models/images_response.rb +34 -19
  560. data/lib/openai/models/live/audio_format.rb +109 -0
  561. data/lib/openai/models/live/built_in_voice.rb +38 -0
  562. data/lib/openai/models/live/client_config.rb +22 -0
  563. data/lib/openai/models/live/client_delegation.rb +22 -0
  564. data/lib/openai/models/live/client_event.rb +54 -0
  565. data/lib/openai/models/live/commentary_append_event.rb +59 -0
  566. data/lib/openai/models/live/commentary_appended_event.rb +65 -0
  567. data/lib/openai/models/live/custom_voice.rb +17 -0
  568. data/lib/openai/models/live/data_channel_config.rb +81 -0
  569. data/lib/openai/models/live/delegation_created_event.rb +140 -0
  570. data/lib/openai/models/live/error.rb +60 -0
  571. data/lib/openai/models/live/error_event.rb +52 -0
  572. data/lib/openai/models/live/fork_client_event.rb +53 -0
  573. data/lib/openai/models/live/fork_server_event.rb +295 -0
  574. data/lib/openai/models/live/fork_session_config.rb +107 -0
  575. data/lib/openai/models/live/fork_session_start_event.rb +48 -0
  576. data/lib/openai/models/live/function_tool.rb +60 -0
  577. data/lib/openai/models/live/info_event.rb +60 -0
  578. data/lib/openai/models/live/initial_item.rb +419 -0
  579. data/lib/openai/models/live/input_audio_append_event.rb +50 -0
  580. data/lib/openai/models/live/input_audio_mute_event.rb +33 -0
  581. data/lib/openai/models/live/input_audio_muted_event.rb +42 -0
  582. data/lib/openai/models/live/input_audio_unmute_event.rb +33 -0
  583. data/lib/openai/models/live/input_audio_unmuted_event.rb +42 -0
  584. data/lib/openai/models/live/input_transcript_delta_event.rb +76 -0
  585. data/lib/openai/models/live/instructions_append_event.rb +57 -0
  586. data/lib/openai/models/live/instructions_appended_event.rb +65 -0
  587. data/lib/openai/models/live/live_create_params.rb +57 -0
  588. data/lib/openai/models/live/live_create_response.rb +77 -0
  589. data/lib/openai/models/live/media_session_config.rb +227 -0
  590. data/lib/openai/models/live/media_session_fork_config.rb +75 -0
  591. data/lib/openai/models/live/output_audio_delta_event.rb +58 -0
  592. data/lib/openai/models/live/output_transcript_delta_event.rb +76 -0
  593. data/lib/openai/models/live/response_create_event.rb +33 -0
  594. data/lib/openai/models/live/response_event.rb +67 -0
  595. data/lib/openai/models/live/response_item_create_event.rb +44 -0
  596. data/lib/openai/models/live/responses_delegation_config.rb +332 -0
  597. data/lib/openai/models/live/responses_delegation_update_config.rb +332 -0
  598. data/lib/openai/models/live/server_event.rb +295 -0
  599. data/lib/openai/models/live/server_event_selector.rb +32 -0
  600. data/lib/openai/models/live/session_accept_params.rb +257 -0
  601. data/lib/openai/models/live/session_close_event.rb +33 -0
  602. data/lib/openai/models/live/session_closed_event.rb +113 -0
  603. data/lib/openai/models/live/session_config.rb +236 -0
  604. data/lib/openai/models/live/session_download_recording_params.rb +27 -0
  605. data/lib/openai/models/live/session_fork_params.rb +66 -0
  606. data/lib/openai/models/live/session_fork_response.rb +77 -0
  607. data/lib/openai/models/live/session_hangup_params.rb +22 -0
  608. data/lib/openai/models/live/session_refer_params.rb +34 -0
  609. data/lib/openai/models/live/session_reject_params.rb +32 -0
  610. data/lib/openai/models/live/session_resource.rb +268 -0
  611. data/lib/openai/models/live/session_start_event.rb +46 -0
  612. data/lib/openai/models/live/session_started_event.rb +51 -0
  613. data/lib/openai/models/live/session_update_config.rb +69 -0
  614. data/lib/openai/models/live/session_update_event.rb +46 -0
  615. data/lib/openai/models/live/session_updated_event.rb +51 -0
  616. data/lib/openai/models/live/session_usage.rb +24 -0
  617. data/lib/openai/models/live/session_usage_updated_event.rb +81 -0
  618. data/lib/openai/models/live/thinking_append_event.rb +59 -0
  619. data/lib/openai/models/live/thinking_appended_event.rb +65 -0
  620. data/lib/openai/models/model.rb +10 -5
  621. data/lib/openai/models/moderation.rb +115 -62
  622. data/lib/openai/models/moderation_create_params.rb +16 -13
  623. data/lib/openai/models/moderation_create_response.rb +6 -3
  624. data/lib/openai/models/moderation_image_url_input.rb +6 -3
  625. data/lib/openai/models/moderation_text_input.rb +4 -2
  626. data/lib/openai/models/other_file_chunking_strategy_object.rb +2 -1
  627. data/lib/openai/models/realtime/audio_transcription.rb +29 -10
  628. data/lib/openai/models/realtime/call_accept_params.rb +85 -30
  629. data/lib/openai/models/realtime/call_create_params.rb +4 -2
  630. data/lib/openai/models/realtime/call_refer_params.rb +3 -4
  631. data/lib/openai/models/realtime/call_reject_params.rb +3 -4
  632. data/lib/openai/models/realtime/client_secret_create_params.rb +16 -11
  633. data/lib/openai/models/realtime/client_secret_create_response.rb +6 -6
  634. data/lib/openai/models/realtime/conversation_created_event.rb +10 -5
  635. data/lib/openai/models/realtime/conversation_item_added.rb +9 -7
  636. data/lib/openai/models/realtime/conversation_item_create_event.rb +16 -7
  637. data/lib/openai/models/realtime/conversation_item_created_event.rb +10 -7
  638. data/lib/openai/models/realtime/conversation_item_delete_event.rb +6 -3
  639. data/lib/openai/models/realtime/conversation_item_deleted_event.rb +6 -3
  640. data/lib/openai/models/realtime/conversation_item_done.rb +9 -7
  641. data/lib/openai/models/realtime/conversation_item_input_audio_transcription_completed_event.rb +36 -21
  642. data/lib/openai/models/realtime/conversation_item_input_audio_transcription_delta_event.rb +17 -10
  643. data/lib/openai/models/realtime/conversation_item_input_audio_transcription_failed_event.rb +18 -13
  644. data/lib/openai/models/realtime/conversation_item_input_audio_transcription_segment.rb +18 -9
  645. data/lib/openai/models/realtime/conversation_item_retrieve_event.rb +6 -3
  646. data/lib/openai/models/realtime/conversation_item_truncate_event.rb +13 -8
  647. data/lib/openai/models/realtime/conversation_item_truncated_event.rb +10 -8
  648. data/lib/openai/models/realtime/conversation_item_with_reference.rb +47 -24
  649. data/lib/openai/models/realtime/input_audio_buffer_append_event.rb +7 -6
  650. data/lib/openai/models/realtime/input_audio_buffer_clear_event.rb +4 -2
  651. data/lib/openai/models/realtime/input_audio_buffer_cleared_event.rb +4 -2
  652. data/lib/openai/models/realtime/input_audio_buffer_commit_event.rb +4 -2
  653. data/lib/openai/models/realtime/input_audio_buffer_committed_event.rb +9 -7
  654. data/lib/openai/models/realtime/input_audio_buffer_dtmf_event_received_event.rb +6 -7
  655. data/lib/openai/models/realtime/input_audio_buffer_speech_started_event.rb +11 -7
  656. data/lib/openai/models/realtime/input_audio_buffer_speech_stopped_event.rb +10 -7
  657. data/lib/openai/models/realtime/input_audio_buffer_timeout_triggered.rb +12 -8
  658. data/lib/openai/models/realtime/log_prob_properties.rb +6 -6
  659. data/lib/openai/models/realtime/mcp_list_tools_completed.rb +6 -3
  660. data/lib/openai/models/realtime/mcp_list_tools_failed.rb +6 -3
  661. data/lib/openai/models/realtime/mcp_list_tools_in_progress.rb +6 -3
  662. data/lib/openai/models/realtime/output_audio_buffer_clear_event.rb +5 -3
  663. data/lib/openai/models/realtime/rate_limits_updated_event.rb +14 -11
  664. data/lib/openai/models/realtime/realtime_audio_config_input.rb +38 -12
  665. data/lib/openai/models/realtime/realtime_audio_config_output.rb +18 -6
  666. data/lib/openai/models/realtime/realtime_audio_formats.rb +8 -4
  667. data/lib/openai/models/realtime/realtime_audio_input_turn_detection.rb +61 -25
  668. data/lib/openai/models/realtime/realtime_client_event.rb +1 -1
  669. data/lib/openai/models/realtime/realtime_conversation_item_assistant_message.rb +26 -19
  670. data/lib/openai/models/realtime/realtime_conversation_item_function_call.rb +18 -11
  671. data/lib/openai/models/realtime/realtime_conversation_item_function_call_output.rb +15 -10
  672. data/lib/openai/models/realtime/realtime_conversation_item_system_message.rb +18 -13
  673. data/lib/openai/models/realtime/realtime_conversation_item_user_message.rb +32 -21
  674. data/lib/openai/models/realtime/realtime_error.rb +10 -8
  675. data/lib/openai/models/realtime/realtime_error_event.rb +6 -3
  676. data/lib/openai/models/realtime/realtime_function_tool.rb +9 -7
  677. data/lib/openai/models/realtime/realtime_mcp_approval_request.rb +10 -5
  678. data/lib/openai/models/realtime/realtime_mcp_approval_response.rb +10 -5
  679. data/lib/openai/models/realtime/realtime_mcp_list_tools.rb +16 -12
  680. data/lib/openai/models/realtime/realtime_mcp_tool_call.rb +16 -8
  681. data/lib/openai/models/realtime/realtime_reasoning.rb +3 -4
  682. data/lib/openai/models/realtime/realtime_response.rb +47 -19
  683. data/lib/openai/models/realtime/realtime_response_create_audio_output.rb +11 -7
  684. data/lib/openai/models/realtime/realtime_response_create_mcp_tool.rb +71 -43
  685. data/lib/openai/models/realtime/realtime_response_create_params.rb +56 -18
  686. data/lib/openai/models/realtime/realtime_response_status.rb +16 -8
  687. data/lib/openai/models/realtime/realtime_response_usage.rb +16 -8
  688. data/lib/openai/models/realtime/realtime_response_usage_input_token_details.rb +16 -8
  689. data/lib/openai/models/realtime/realtime_response_usage_output_token_details.rb +4 -2
  690. data/lib/openai/models/realtime/realtime_server_event.rb +30 -18
  691. data/lib/openai/models/realtime/realtime_session.rb +191 -82
  692. data/lib/openai/models/realtime/realtime_session_create_request.rb +86 -32
  693. data/lib/openai/models/realtime/realtime_session_create_response.rb +256 -110
  694. data/lib/openai/models/realtime/realtime_tools_config_union.rb +73 -45
  695. data/lib/openai/models/realtime/realtime_tracing_config.rb +9 -7
  696. data/lib/openai/models/realtime/realtime_transcription_session_audio_input.rb +38 -13
  697. data/lib/openai/models/realtime/realtime_transcription_session_audio_input_turn_detection.rb +61 -25
  698. data/lib/openai/models/realtime/realtime_transcription_session_create_request.rb +10 -8
  699. data/lib/openai/models/realtime/realtime_transcription_session_create_response.rb +28 -22
  700. data/lib/openai/models/realtime/realtime_transcription_session_turn_detection.rb +13 -8
  701. data/lib/openai/models/realtime/realtime_translation_client_secret_create_request.rb +16 -12
  702. data/lib/openai/models/realtime/realtime_translation_client_secret_create_response.rb +7 -7
  703. data/lib/openai/models/realtime/realtime_translation_input_audio_buffer_append_event.rb +6 -3
  704. data/lib/openai/models/realtime/realtime_translation_input_transcript_delta_event.rb +11 -8
  705. data/lib/openai/models/realtime/realtime_translation_output_audio_delta_event.rb +16 -11
  706. data/lib/openai/models/realtime/realtime_translation_output_transcript_delta_event.rb +11 -8
  707. data/lib/openai/models/realtime/realtime_translation_session.rb +25 -25
  708. data/lib/openai/models/realtime/realtime_translation_session_close_event.rb +4 -2
  709. data/lib/openai/models/realtime/realtime_translation_session_closed_event.rb +4 -2
  710. data/lib/openai/models/realtime/realtime_translation_session_create_request.rb +18 -23
  711. data/lib/openai/models/realtime/realtime_translation_session_created_event.rb +6 -3
  712. data/lib/openai/models/realtime/realtime_translation_session_update_event.rb +7 -7
  713. data/lib/openai/models/realtime/realtime_translation_session_update_request.rb +16 -22
  714. data/lib/openai/models/realtime/realtime_translation_session_updated_event.rb +6 -3
  715. data/lib/openai/models/realtime/realtime_truncation_retention_ratio.rb +16 -11
  716. data/lib/openai/models/realtime/response_audio_delta_event.rb +14 -7
  717. data/lib/openai/models/realtime/response_audio_done_event.rb +12 -6
  718. data/lib/openai/models/realtime/response_audio_transcript_delta_event.rb +14 -7
  719. data/lib/openai/models/realtime/response_audio_transcript_done_event.rb +14 -7
  720. data/lib/openai/models/realtime/response_cancel_event.rb +7 -6
  721. data/lib/openai/models/realtime/response_content_part_added_event.rb +22 -11
  722. data/lib/openai/models/realtime/response_content_part_done_event.rb +22 -11
  723. data/lib/openai/models/realtime/response_create_event.rb +6 -3
  724. data/lib/openai/models/realtime/response_created_event.rb +6 -3
  725. data/lib/openai/models/realtime/response_done_event.rb +6 -3
  726. data/lib/openai/models/realtime/response_function_call_arguments_delta_event.rb +14 -11
  727. data/lib/openai/models/realtime/response_function_call_arguments_done_event.rb +16 -12
  728. data/lib/openai/models/realtime/response_mcp_call_arguments_delta.rb +14 -7
  729. data/lib/openai/models/realtime/response_mcp_call_arguments_done.rb +12 -6
  730. data/lib/openai/models/realtime/response_mcp_call_completed.rb +8 -4
  731. data/lib/openai/models/realtime/response_mcp_call_failed.rb +8 -4
  732. data/lib/openai/models/realtime/response_mcp_call_in_progress.rb +8 -4
  733. data/lib/openai/models/realtime/response_output_item_added_event.rb +10 -5
  734. data/lib/openai/models/realtime/response_output_item_done_event.rb +10 -5
  735. data/lib/openai/models/realtime/response_text_delta_event.rb +14 -7
  736. data/lib/openai/models/realtime/response_text_done_event.rb +14 -7
  737. data/lib/openai/models/realtime/session_created_event.rb +6 -3
  738. data/lib/openai/models/realtime/session_update_event.rb +10 -6
  739. data/lib/openai/models/realtime/session_updated_event.rb +6 -3
  740. data/lib/openai/models/realtime/transcription_session_update.rb +45 -26
  741. data/lib/openai/models/realtime/transcription_session_updated_event.rb +42 -28
  742. data/lib/openai/models/reasoning.rb +33 -10
  743. data/lib/openai/models/reasoning_effort.rb +1 -1
  744. data/lib/openai/models/response_format_json_object.rb +2 -1
  745. data/lib/openai/models/response_format_json_schema.rb +21 -14
  746. data/lib/openai/models/response_format_text.rb +2 -1
  747. data/lib/openai/models/response_format_text_grammar.rb +5 -3
  748. data/lib/openai/models/response_format_text_python.rb +3 -2
  749. data/lib/openai/models/responses/apply_patch_tool.rb +4 -3
  750. data/lib/openai/models/responses/compacted_response.rb +12 -8
  751. data/lib/openai/models/responses/computer_action.rb +78 -58
  752. data/lib/openai/models/responses/computer_tool.rb +3 -2
  753. data/lib/openai/models/responses/computer_use_preview_tool.rb +9 -5
  754. data/lib/openai/models/responses/container_auto.rb +10 -5
  755. data/lib/openai/models/responses/container_network_policy_allowlist.rb +6 -3
  756. data/lib/openai/models/responses/container_network_policy_disabled.rb +2 -1
  757. data/lib/openai/models/responses/container_network_policy_domain_secret.rb +6 -3
  758. data/lib/openai/models/responses/container_reference.rb +4 -2
  759. data/lib/openai/models/responses/custom_tool.rb +16 -12
  760. data/lib/openai/models/responses/easy_input_message.rb +13 -7
  761. data/lib/openai/models/responses/file_search_tool.rb +25 -17
  762. data/lib/openai/models/responses/function_shell_tool.rb +4 -3
  763. data/lib/openai/models/responses/function_tool.rb +19 -13
  764. data/lib/openai/models/responses/inline_skill.rb +8 -4
  765. data/lib/openai/models/responses/inline_skill_source.rb +6 -3
  766. data/lib/openai/models/responses/input_item_list_params.rb +13 -7
  767. data/lib/openai/models/responses/input_token_count_params.rb +79 -30
  768. data/lib/openai/models/responses/local_environment.rb +4 -2
  769. data/lib/openai/models/responses/local_skill.rb +6 -3
  770. data/lib/openai/models/responses/namespace_tool.rb +23 -13
  771. data/lib/openai/models/responses/response.rb +336 -152
  772. data/lib/openai/models/responses/response_apply_patch_tool_call.rb +34 -19
  773. data/lib/openai/models/responses/response_apply_patch_tool_call_output.rb +17 -11
  774. data/lib/openai/models/responses/response_audio_delta_event.rb +6 -6
  775. data/lib/openai/models/responses/response_audio_done_event.rb +4 -5
  776. data/lib/openai/models/responses/response_audio_transcript_delta_event.rb +6 -6
  777. data/lib/openai/models/responses/response_audio_transcript_done_event.rb +4 -5
  778. data/lib/openai/models/responses/response_code_interpreter_call_code_delta_event.rb +11 -9
  779. data/lib/openai/models/responses/response_code_interpreter_call_code_done_event.rb +10 -5
  780. data/lib/openai/models/responses/response_code_interpreter_call_completed_event.rb +9 -8
  781. data/lib/openai/models/responses/response_code_interpreter_call_in_progress_event.rb +9 -8
  782. data/lib/openai/models/responses/response_code_interpreter_call_interpreting_event.rb +9 -8
  783. data/lib/openai/models/responses/response_code_interpreter_tool_call.rb +22 -13
  784. data/lib/openai/models/responses/response_compact_params.rb +89 -46
  785. data/lib/openai/models/responses/response_compaction_item.rb +9 -5
  786. data/lib/openai/models/responses/response_compaction_item_param.rb +7 -4
  787. data/lib/openai/models/responses/response_completed_event.rb +6 -6
  788. data/lib/openai/models/responses/response_computer_tool_call.rb +101 -82
  789. data/lib/openai/models/responses/response_computer_tool_call_output_item.rb +22 -14
  790. data/lib/openai/models/responses/response_computer_tool_call_output_screenshot.rb +7 -7
  791. data/lib/openai/models/responses/response_configuration_update_item.rb +9 -8
  792. data/lib/openai/models/responses/response_configuration_update_item_param.rb +9 -8
  793. data/lib/openai/models/responses/response_container_reference.rb +2 -1
  794. data/lib/openai/models/responses/response_content.rb +5 -3
  795. data/lib/openai/models/responses/response_content_part_added_event.rb +16 -11
  796. data/lib/openai/models/responses/response_content_part_done_event.rb +16 -11
  797. data/lib/openai/models/responses/response_conversation_param.rb +2 -1
  798. data/lib/openai/models/responses/response_create_params.rb +332 -131
  799. data/lib/openai/models/responses/response_created_event.rb +6 -6
  800. data/lib/openai/models/responses/response_custom_tool_call.rb +18 -12
  801. data/lib/openai/models/responses/response_custom_tool_call_input_delta_event.rb +10 -5
  802. data/lib/openai/models/responses/response_custom_tool_call_input_done_event.rb +10 -5
  803. data/lib/openai/models/responses/response_custom_tool_call_item.rb +21 -13
  804. data/lib/openai/models/responses/response_custom_tool_call_output.rb +18 -12
  805. data/lib/openai/models/responses/response_custom_tool_call_output_item.rb +16 -10
  806. data/lib/openai/models/responses/response_error.rb +12 -9
  807. data/lib/openai/models/responses/response_error_event.rb +10 -8
  808. data/lib/openai/models/responses/response_failed_event.rb +6 -6
  809. data/lib/openai/models/responses/response_file_search_call_completed_event.rb +8 -8
  810. data/lib/openai/models/responses/response_file_search_call_in_progress_event.rb +8 -8
  811. data/lib/openai/models/responses/response_file_search_call_searching_event.rb +8 -8
  812. data/lib/openai/models/responses/response_file_search_tool_call.rb +26 -19
  813. data/lib/openai/models/responses/response_format_text_config.rb +2 -2
  814. data/lib/openai/models/responses/response_format_text_json_schema_config.rb +19 -11
  815. data/lib/openai/models/responses/response_function_call_arguments_delta_event.rb +10 -9
  816. data/lib/openai/models/responses/response_function_call_arguments_done_event.rb +8 -4
  817. data/lib/openai/models/responses/response_function_call_output_item.rb +1 -1
  818. data/lib/openai/models/responses/response_function_shell_call_output_content.rb +12 -6
  819. data/lib/openai/models/responses/response_function_shell_tool_call.rb +24 -14
  820. data/lib/openai/models/responses/response_function_shell_tool_call_output.rb +36 -25
  821. data/lib/openai/models/responses/response_function_tool_call.rb +22 -14
  822. data/lib/openai/models/responses/response_function_tool_call_item.rb +22 -14
  823. data/lib/openai/models/responses/response_function_tool_call_output_item.rb +27 -17
  824. data/lib/openai/models/responses/response_function_web_search.rb +33 -37
  825. data/lib/openai/models/responses/response_image_gen_call_completed_event.rb +8 -4
  826. data/lib/openai/models/responses/response_image_gen_call_generating_event.rb +8 -4
  827. data/lib/openai/models/responses/response_image_gen_call_in_progress_event.rb +8 -4
  828. data/lib/openai/models/responses/response_image_gen_call_partial_image_event.rb +21 -14
  829. data/lib/openai/models/responses/response_in_progress_event.rb +6 -6
  830. data/lib/openai/models/responses/response_incomplete_event.rb +6 -6
  831. data/lib/openai/models/responses/response_input_audio.rb +6 -9
  832. data/lib/openai/models/responses/response_input_content.rb +1 -1
  833. data/lib/openai/models/responses/response_input_file.rb +22 -11
  834. data/lib/openai/models/responses/response_input_file_content.rb +22 -11
  835. data/lib/openai/models/responses/response_input_image.rb +17 -10
  836. data/lib/openai/models/responses/response_input_image_content.rb +17 -10
  837. data/lib/openai/models/responses/response_input_item.rb +407 -212
  838. data/lib/openai/models/responses/response_input_message_item.rb +12 -8
  839. data/lib/openai/models/responses/response_input_text.rb +10 -7
  840. data/lib/openai/models/responses/response_input_text_content.rb +10 -7
  841. data/lib/openai/models/responses/response_item.rb +229 -96
  842. data/lib/openai/models/responses/response_item_list.rb +10 -5
  843. data/lib/openai/models/responses/response_local_environment.rb +2 -1
  844. data/lib/openai/models/responses/response_mcp_call_arguments_delta_event.rb +11 -9
  845. data/lib/openai/models/responses/response_mcp_call_arguments_done_event.rb +10 -8
  846. data/lib/openai/models/responses/response_mcp_call_completed_event.rb +8 -4
  847. data/lib/openai/models/responses/response_mcp_call_failed_event.rb +8 -4
  848. data/lib/openai/models/responses/response_mcp_call_in_progress_event.rb +8 -4
  849. data/lib/openai/models/responses/response_mcp_list_tools_completed_event.rb +8 -4
  850. data/lib/openai/models/responses/response_mcp_list_tools_failed_event.rb +8 -4
  851. data/lib/openai/models/responses/response_mcp_list_tools_in_progress_event.rb +8 -4
  852. data/lib/openai/models/responses/response_output_audio.rb +6 -6
  853. data/lib/openai/models/responses/response_output_item.rb +227 -101
  854. data/lib/openai/models/responses/response_output_item_added_event.rb +11 -7
  855. data/lib/openai/models/responses/response_output_item_done_event.rb +8 -7
  856. data/lib/openai/models/responses/response_output_message.rb +16 -9
  857. data/lib/openai/models/responses/response_output_refusal.rb +4 -2
  858. data/lib/openai/models/responses/response_output_text.rb +42 -25
  859. data/lib/openai/models/responses/response_output_text_annotation_added_event.rb +50 -29
  860. data/lib/openai/models/responses/response_prompt.rb +10 -8
  861. data/lib/openai/models/responses/response_queued_event.rb +6 -3
  862. data/lib/openai/models/responses/response_reasoning_item.rb +29 -15
  863. data/lib/openai/models/responses/response_reasoning_summary_part_added_event.rb +16 -12
  864. data/lib/openai/models/responses/response_reasoning_summary_part_done_event.rb +19 -13
  865. data/lib/openai/models/responses/response_reasoning_summary_text_delta_event.rb +12 -10
  866. data/lib/openai/models/responses/response_reasoning_summary_text_done_event.rb +12 -10
  867. data/lib/openai/models/responses/response_reasoning_text_delta_event.rb +12 -9
  868. data/lib/openai/models/responses/response_reasoning_text_done_event.rb +12 -9
  869. data/lib/openai/models/responses/response_refusal_delta_event.rb +12 -9
  870. data/lib/openai/models/responses/response_refusal_done_event.rb +12 -9
  871. data/lib/openai/models/responses/response_retrieve_params.rb +12 -6
  872. data/lib/openai/models/responses/response_shell_call_command_added_event.rb +10 -5
  873. data/lib/openai/models/responses/response_shell_call_command_delta_event.rb +12 -6
  874. data/lib/openai/models/responses/response_shell_call_command_done_event.rb +10 -5
  875. data/lib/openai/models/responses/response_shell_call_output_content_delta_event.rb +16 -8
  876. data/lib/openai/models/responses/response_shell_call_output_content_done_event.rb +27 -18
  877. data/lib/openai/models/responses/response_steer_accepted_event.rb +13 -9
  878. data/lib/openai/models/responses/response_steer_event.rb +14 -6
  879. data/lib/openai/models/responses/response_steer_failed_event.rb +45 -22
  880. data/lib/openai/models/responses/response_steer_input.rb +34 -20
  881. data/lib/openai/models/responses/response_steer_input_content.rb +1 -1
  882. data/lib/openai/models/responses/response_steer_pending_event.rb +24 -11
  883. data/lib/openai/models/responses/response_text_config.rb +22 -8
  884. data/lib/openai/models/responses/response_text_delta_event.rb +24 -20
  885. data/lib/openai/models/responses/response_text_done_event.rb +24 -20
  886. data/lib/openai/models/responses/response_tool_search_call.rb +14 -7
  887. data/lib/openai/models/responses/response_tool_search_output_item.rb +14 -7
  888. data/lib/openai/models/responses/response_tool_search_output_item_param.rb +12 -6
  889. data/lib/openai/models/responses/response_usage.rb +18 -12
  890. data/lib/openai/models/responses/response_web_search_call_completed_event.rb +8 -8
  891. data/lib/openai/models/responses/response_web_search_call_in_progress_event.rb +8 -8
  892. data/lib/openai/models/responses/response_web_search_call_searching_event.rb +8 -8
  893. data/lib/openai/models/responses/responses_client_event.rb +351 -141
  894. data/lib/openai/models/responses/responses_server_event.rb +744 -570
  895. data/lib/openai/models/responses/skill_reference.rb +6 -3
  896. data/lib/openai/models/responses/tool.rb +170 -95
  897. data/lib/openai/models/responses/tool_choice_allowed.rb +21 -6
  898. data/lib/openai/models/responses/tool_choice_apply_patch.rb +2 -1
  899. data/lib/openai/models/responses/tool_choice_custom.rb +4 -2
  900. data/lib/openai/models/responses/tool_choice_function.rb +4 -2
  901. data/lib/openai/models/responses/tool_choice_mcp.rb +6 -6
  902. data/lib/openai/models/responses/tool_choice_shell.rb +2 -1
  903. data/lib/openai/models/responses/tool_choice_types.rb +16 -7
  904. data/lib/openai/models/responses/tool_search_tool.rb +8 -4
  905. data/lib/openai/models/responses/web_search_preview_tool.rb +21 -16
  906. data/lib/openai/models/responses/web_search_tool.rb +31 -21
  907. data/lib/openai/models/safety/alert_retrieve_params.rb +2 -1
  908. data/lib/openai/models/safety/safety_alert.rb +6 -5
  909. data/lib/openai/models/skill.rb +14 -7
  910. data/lib/openai/models/skill_create_params.rb +6 -1
  911. data/lib/openai/models/skill_list.rb +10 -5
  912. data/lib/openai/models/skill_list_params.rb +7 -6
  913. data/lib/openai/models/skill_update_params.rb +2 -1
  914. data/lib/openai/models/skills/deleted_skill_version.rb +2 -1
  915. data/lib/openai/models/skills/skill_version.rb +14 -7
  916. data/lib/openai/models/skills/skill_version_list.rb +10 -5
  917. data/lib/openai/models/skills/version_create_params.rb +8 -2
  918. data/lib/openai/models/skills/version_delete_params.rb +2 -1
  919. data/lib/openai/models/skills/version_list_params.rb +6 -3
  920. data/lib/openai/models/skills/version_retrieve_params.rb +2 -1
  921. data/lib/openai/models/skills/versions/content_retrieve_params.rb +2 -1
  922. data/lib/openai/models/static_file_chunking_strategy.rb +6 -4
  923. data/lib/openai/models/static_file_chunking_strategy_object.rb +2 -1
  924. data/lib/openai/models/static_file_chunking_strategy_object_param.rb +2 -1
  925. data/lib/openai/models/upload.rb +21 -13
  926. data/lib/openai/models/upload_complete_params.rb +5 -5
  927. data/lib/openai/models/upload_create_params.rb +23 -13
  928. data/lib/openai/models/uploads/part_create_params.rb +6 -4
  929. data/lib/openai/models/uploads/upload_part.rb +8 -4
  930. data/lib/openai/models/vector_store.rb +42 -23
  931. data/lib/openai/models/vector_store_create_params.rb +28 -16
  932. data/lib/openai/models/vector_store_list_params.rb +16 -7
  933. data/lib/openai/models/vector_store_search_params.rb +13 -9
  934. data/lib/openai/models/vector_store_search_response.rb +18 -11
  935. data/lib/openai/models/vector_store_update_params.rb +16 -11
  936. data/lib/openai/models/vector_stores/file_batch_create_params.rb +47 -23
  937. data/lib/openai/models/vector_stores/file_batch_list_files_params.rb +18 -8
  938. data/lib/openai/models/vector_stores/file_content_response.rb +4 -2
  939. data/lib/openai/models/vector_stores/file_create_params.rb +18 -9
  940. data/lib/openai/models/vector_stores/file_list_params.rb +18 -8
  941. data/lib/openai/models/vector_stores/file_update_params.rb +6 -4
  942. data/lib/openai/models/vector_stores/vector_store_file.rb +35 -16
  943. data/lib/openai/models/vector_stores/vector_store_file_batch.rb +27 -15
  944. data/lib/openai/models/video.rb +27 -16
  945. data/lib/openai/models/video_create_character_params.rb +8 -2
  946. data/lib/openai/models/video_create_character_response.rb +6 -3
  947. data/lib/openai/models/video_create_error.rb +12 -6
  948. data/lib/openai/models/video_create_params.rb +15 -7
  949. data/lib/openai/models/video_delete_response.rb +6 -3
  950. data/lib/openai/models/video_download_content_params.rb +2 -1
  951. data/lib/openai/models/video_edit_params.rb +10 -3
  952. data/lib/openai/models/video_extend_params.rb +12 -6
  953. data/lib/openai/models/video_get_character_response.rb +6 -3
  954. data/lib/openai/models/video_list_params.rb +7 -6
  955. data/lib/openai/models/video_remix_params.rb +2 -1
  956. data/lib/openai/models/webhooks/batch_cancelled_webhook_event.rb +12 -12
  957. data/lib/openai/models/webhooks/batch_completed_webhook_event.rb +12 -12
  958. data/lib/openai/models/webhooks/batch_expired_webhook_event.rb +12 -12
  959. data/lib/openai/models/webhooks/batch_failed_webhook_event.rb +12 -12
  960. data/lib/openai/models/webhooks/eval_run_canceled_webhook_event.rb +12 -12
  961. data/lib/openai/models/webhooks/eval_run_failed_webhook_event.rb +12 -12
  962. data/lib/openai/models/webhooks/eval_run_succeeded_webhook_event.rb +12 -12
  963. data/lib/openai/models/webhooks/fine_tuning_job_cancelled_webhook_event.rb +12 -13
  964. data/lib/openai/models/webhooks/fine_tuning_job_failed_webhook_event.rb +12 -13
  965. data/lib/openai/models/webhooks/fine_tuning_job_succeeded_webhook_event.rb +12 -13
  966. data/lib/openai/models/webhooks/live_call_incoming_webhook_event.rb +34 -26
  967. data/lib/openai/models/webhooks/live_transport_incoming_webhook_event.rb +137 -0
  968. data/lib/openai/models/webhooks/realtime_call_incoming_webhook_event.rb +29 -25
  969. data/lib/openai/models/webhooks/response_cancelled_webhook_event.rb +12 -13
  970. data/lib/openai/models/webhooks/response_completed_webhook_event.rb +12 -13
  971. data/lib/openai/models/webhooks/response_failed_webhook_event.rb +12 -12
  972. data/lib/openai/models/webhooks/response_incomplete_webhook_event.rb +12 -13
  973. data/lib/openai/models/webhooks/safety_alert_created_webhook_event.rb +10 -5
  974. data/lib/openai/models/webhooks/safety_org_alert_created_webhook_event.rb +10 -5
  975. data/lib/openai/models/webhooks/unwrap_webhook_event.rb +9 -2
  976. data/lib/openai/models.rb +2 -0
  977. data/lib/openai/resources/admin/organization/admin_api_keys.rb +13 -9
  978. data/lib/openai/resources/admin/organization/audit_logs.rb +44 -22
  979. data/lib/openai/resources/admin/organization/certificates.rb +26 -17
  980. data/lib/openai/resources/admin/organization/data_retention.rb +2 -1
  981. data/lib/openai/resources/admin/organization/groups/roles.rb +21 -13
  982. data/lib/openai/resources/admin/organization/groups/users.rb +22 -13
  983. data/lib/openai/resources/admin/organization/groups.rb +20 -11
  984. data/lib/openai/resources/admin/organization/invites.rb +21 -13
  985. data/lib/openai/resources/admin/organization/projects/api_keys.rb +24 -12
  986. data/lib/openai/resources/admin/organization/projects/certificates.rb +17 -10
  987. data/lib/openai/resources/admin/organization/projects/data_retention.rb +6 -3
  988. data/lib/openai/resources/admin/organization/projects/groups/roles.rb +29 -18
  989. data/lib/openai/resources/admin/organization/projects/groups.rb +25 -16
  990. data/lib/openai/resources/admin/organization/projects/hosted_tool_permissions.rb +14 -7
  991. data/lib/openai/resources/admin/organization/projects/model_permissions.rb +10 -5
  992. data/lib/openai/resources/admin/organization/projects/rate_limits.rb +32 -20
  993. data/lib/openai/resources/admin/organization/projects/roles.rb +35 -21
  994. data/lib/openai/resources/admin/organization/projects/service_accounts/api_keys.rb +10 -5
  995. data/lib/openai/resources/admin/organization/projects/service_accounts.rb +40 -19
  996. data/lib/openai/resources/admin/organization/projects/spend_alerts.rb +42 -24
  997. data/lib/openai/resources/admin/organization/projects/spend_limit.rb +13 -10
  998. data/lib/openai/resources/admin/organization/projects/users/roles.rb +29 -18
  999. data/lib/openai/resources/admin/organization/projects/users.rb +32 -18
  1000. data/lib/openai/resources/admin/organization/projects.rb +40 -22
  1001. data/lib/openai/resources/admin/organization/roles.rb +25 -15
  1002. data/lib/openai/resources/admin/organization/spend_alerts.rb +32 -18
  1003. data/lib/openai/resources/admin/organization/spend_limit.rb +7 -6
  1004. data/lib/openai/resources/admin/organization/usage.rb +296 -145
  1005. data/lib/openai/resources/admin/organization/users/roles.rb +21 -13
  1006. data/lib/openai/resources/admin/organization/users.rb +24 -13
  1007. data/lib/openai/resources/audio/speech.rb +25 -10
  1008. data/lib/openai/resources/audio/transcriptions.rb +172 -56
  1009. data/lib/openai/resources/audio/translations.rb +26 -8
  1010. data/lib/openai/resources/batches.rb +43 -15
  1011. data/lib/openai/resources/beta/assistants.rb +177 -59
  1012. data/lib/openai/resources/beta/chatkit/sessions.rb +14 -9
  1013. data/lib/openai/resources/beta/chatkit/threads.rb +29 -18
  1014. data/lib/openai/resources/beta/responses/input_items.rb +17 -9
  1015. data/lib/openai/resources/beta/responses/input_tokens.rb +65 -28
  1016. data/lib/openai/resources/beta/responses.rb +640 -195
  1017. data/lib/openai/resources/beta/threads/messages.rb +65 -30
  1018. data/lib/openai/resources/beta/threads/runs/steps.rb +50 -23
  1019. data/lib/openai/resources/beta/threads/runs.rb +309 -109
  1020. data/lib/openai/resources/beta/threads.rb +240 -78
  1021. data/lib/openai/resources/chat/completions/messages.rb +9 -7
  1022. data/lib/openai/resources/chat/completions.rb +594 -169
  1023. data/lib/openai/resources/completions.rb +212 -40
  1024. data/lib/openai/resources/containers/files.rb +19 -11
  1025. data/lib/openai/resources/containers.rb +27 -14
  1026. data/lib/openai/resources/content_provenance_checks.rb +7 -2
  1027. data/lib/openai/resources/conversations/items.rb +58 -26
  1028. data/lib/openai/resources/conversations.rb +23 -12
  1029. data/lib/openai/resources/embeddings.rb +26 -8
  1030. data/lib/openai/resources/evals/runs/output_items.rb +21 -12
  1031. data/lib/openai/resources/evals/runs.rb +37 -21
  1032. data/lib/openai/resources/evals.rb +43 -23
  1033. data/lib/openai/resources/files.rb +42 -21
  1034. data/lib/openai/resources/fine_tuning/alpha/graders.rb +15 -7
  1035. data/lib/openai/resources/fine_tuning/checkpoints/permissions.rb +36 -34
  1036. data/lib/openai/resources/fine_tuning/jobs/checkpoints.rb +6 -6
  1037. data/lib/openai/resources/fine_tuning/jobs.rb +84 -42
  1038. data/lib/openai/resources/images.rb +421 -127
  1039. data/lib/openai/resources/live/forks.rb +16 -0
  1040. data/lib/openai/resources/live/sessions.rb +180 -0
  1041. data/lib/openai/resources/live/sideband.rb +16 -0
  1042. data/lib/openai/resources/live.rb +54 -0
  1043. data/lib/openai/resources/models.rb +4 -2
  1044. data/lib/openai/resources/moderations.rb +10 -6
  1045. data/lib/openai/resources/realtime/calls.rb +114 -48
  1046. data/lib/openai/resources/realtime/client_secrets.rb +9 -6
  1047. data/lib/openai/resources/responses/input_items.rb +15 -8
  1048. data/lib/openai/resources/responses/input_tokens.rb +60 -26
  1049. data/lib/openai/resources/responses.rb +601 -262
  1050. data/lib/openai/resources/safety/alerts.rb +2 -1
  1051. data/lib/openai/resources/skills/content.rb +2 -1
  1052. data/lib/openai/resources/skills/versions/content.rb +4 -2
  1053. data/lib/openai/resources/skills/versions.rb +26 -11
  1054. data/lib/openai/resources/skills.rb +21 -11
  1055. data/lib/openai/resources/uploads/parts.rb +13 -9
  1056. data/lib/openai/resources/uploads.rb +35 -27
  1057. data/lib/openai/resources/vector_stores/file_batches.rb +60 -26
  1058. data/lib/openai/resources/vector_stores/files.rb +62 -31
  1059. data/lib/openai/resources/vector_stores.rb +67 -34
  1060. data/lib/openai/resources/videos.rb +64 -31
  1061. data/lib/openai/resources/webhooks.rb +1 -1
  1062. data/lib/openai/version.rb +1 -1
  1063. data/lib/openai.rb +65 -0
  1064. data/rbi/openai/client.rbi +3 -0
  1065. data/rbi/openai/models/admin/organization/audit_log_list_params.rbi +2 -2
  1066. data/rbi/openai/models/admin/organization/project_create_params.rbi +4 -4
  1067. data/rbi/openai/models/admin/organization/projects/project_api_key.rbi +13 -1
  1068. data/rbi/openai/models/admin/organization/projects/service_account_create_params.rbi +18 -0
  1069. data/rbi/openai/models/admin/organization/projects/service_account_create_response.rbi +19 -1
  1070. data/rbi/openai/models/audio/speech_create_params.rbi +9 -6
  1071. data/rbi/openai/models/audio/transcription_create_params.rbi +2 -2
  1072. data/rbi/openai/models/audio/transcription_stream_event.rbi +1 -1
  1073. data/rbi/openai/models/audio/transcription_text_delta_event.rbi +3 -3
  1074. data/rbi/openai/models/audio/transcription_text_done_event.rbi +3 -3
  1075. data/rbi/openai/models/audio/transcription_text_segment_event.rbi +1 -1
  1076. data/rbi/openai/models/audio/translation_create_params.rbi +2 -2
  1077. data/rbi/openai/models/batch.rbi +4 -4
  1078. data/rbi/openai/models/batch_create_params.rbi +6 -4
  1079. data/rbi/openai/models/batch_usage.rbi +2 -2
  1080. data/rbi/openai/models/beta/assistant.rbi +24 -24
  1081. data/rbi/openai/models/beta/assistant_create_params.rbi +40 -40
  1082. data/rbi/openai/models/beta/assistant_response_format_option.rbi +4 -4
  1083. data/rbi/openai/models/beta/assistant_stream_event.rbi +63 -65
  1084. data/rbi/openai/models/beta/assistant_update_params.rbi +30 -30
  1085. data/rbi/openai/models/beta/beta_computer_tool.rbi +1 -1
  1086. data/rbi/openai/models/beta/beta_computer_use_preview_tool.rbi +1 -1
  1087. data/rbi/openai/models/beta/beta_custom_tool.rbi +1 -1
  1088. data/rbi/openai/models/beta/beta_file_search_tool.rbi +1 -1
  1089. data/rbi/openai/models/beta/beta_function_tool.rbi +1 -1
  1090. data/rbi/openai/models/beta/beta_response.rbi +72 -64
  1091. data/rbi/openai/models/beta/beta_response_compaction_item.rbi +1 -1
  1092. data/rbi/openai/models/beta/beta_response_compaction_item_param.rbi +1 -1
  1093. data/rbi/openai/models/beta/beta_response_computer_tool_call.rbi +1 -1
  1094. data/rbi/openai/models/beta/beta_response_file_search_tool_call.rbi +1 -1
  1095. data/rbi/openai/models/beta/beta_response_format_text_config.rbi +1 -1
  1096. data/rbi/openai/models/beta/beta_response_format_text_json_schema_config.rbi +3 -3
  1097. data/rbi/openai/models/beta/beta_response_function_tool_call.rbi +1 -1
  1098. data/rbi/openai/models/beta/beta_response_function_tool_call_item.rbi +1 -1
  1099. data/rbi/openai/models/beta/beta_response_function_web_search.rbi +2 -2
  1100. data/rbi/openai/models/beta/beta_response_input_image.rbi +1 -1
  1101. data/rbi/openai/models/beta/beta_response_input_image_content.rbi +1 -1
  1102. data/rbi/openai/models/beta/beta_response_input_item.rbi +109 -0
  1103. data/rbi/openai/models/beta/beta_response_item.rbi +105 -0
  1104. data/rbi/openai/models/beta/beta_response_output_item.rbi +119 -0
  1105. data/rbi/openai/models/beta/beta_response_prompt.rbi +1 -1
  1106. data/rbi/openai/models/beta/beta_response_reasoning_item.rbi +1 -1
  1107. data/rbi/openai/models/beta/beta_response_text_config.rbi +4 -4
  1108. data/rbi/openai/models/beta/beta_response_usage.rbi +2 -2
  1109. data/rbi/openai/models/beta/beta_responses_client_event.rbi +94 -86
  1110. data/rbi/openai/models/beta/beta_tool.rbi +4 -4
  1111. data/rbi/openai/models/beta/beta_tool_choice_types.rbi +4 -4
  1112. data/rbi/openai/models/beta/beta_web_search_preview_tool.rbi +1 -1
  1113. data/rbi/openai/models/beta/beta_web_search_tool.rbi +1 -1
  1114. data/rbi/openai/models/beta/file_search_tool.rbi +5 -5
  1115. data/rbi/openai/models/beta/message_stream_event.rbi +16 -16
  1116. data/rbi/openai/models/beta/response_compact_params.rbi +44 -44
  1117. data/rbi/openai/models/beta/response_create_params.rbi +92 -84
  1118. data/rbi/openai/models/beta/responses/input_token_count_params.rbi +20 -20
  1119. data/rbi/openai/models/beta/run_step_stream_event.rbi +14 -16
  1120. data/rbi/openai/models/beta/run_stream_event.rbi +31 -31
  1121. data/rbi/openai/models/beta/thread.rbi +9 -9
  1122. data/rbi/openai/models/beta/thread_create_and_run_params.rbi +61 -56
  1123. data/rbi/openai/models/beta/thread_create_params.rbi +24 -22
  1124. data/rbi/openai/models/beta/thread_stream_event.rbi +3 -3
  1125. data/rbi/openai/models/beta/thread_update_params.rbi +8 -8
  1126. data/rbi/openai/models/beta/threads/image_file.rbi +6 -6
  1127. data/rbi/openai/models/beta/threads/image_file_content_block.rbi +3 -2
  1128. data/rbi/openai/models/beta/threads/image_file_delta.rbi +6 -6
  1129. data/rbi/openai/models/beta/threads/image_file_delta_block.rbi +3 -2
  1130. data/rbi/openai/models/beta/threads/message.rbi +9 -9
  1131. data/rbi/openai/models/beta/threads/message_content.rbi +3 -2
  1132. data/rbi/openai/models/beta/threads/message_content_delta.rbi +3 -2
  1133. data/rbi/openai/models/beta/threads/message_content_part_param.rbi +3 -2
  1134. data/rbi/openai/models/beta/threads/required_action_function_tool_call.rbi +2 -2
  1135. data/rbi/openai/models/beta/threads/run.rbi +33 -31
  1136. data/rbi/openai/models/beta/threads/run_create_params.rbi +37 -34
  1137. data/rbi/openai/models/beta/threads/runs/code_interpreter_output_image.rbi +4 -4
  1138. data/rbi/openai/models/beta/threads/runs/code_interpreter_tool_call.rbi +4 -4
  1139. data/rbi/openai/models/beta/threads/runs/function_tool_call.rbi +2 -4
  1140. data/rbi/openai/models/beta/threads/runs/function_tool_call_delta.rbi +2 -4
  1141. data/rbi/openai/models/beta/threads/runs/run_step.rbi +12 -10
  1142. data/rbi/openai/models/beta/threads/runs/step_list_params.rbi +2 -2
  1143. data/rbi/openai/models/beta/threads/runs/step_retrieve_params.rbi +2 -2
  1144. data/rbi/openai/models/chat/chat_completion.rbi +27 -21
  1145. data/rbi/openai/models/chat/chat_completion_assistant_message_param.rbi +4 -5
  1146. data/rbi/openai/models/chat/chat_completion_audio.rbi +1 -1
  1147. data/rbi/openai/models/chat/chat_completion_audio_param.rbi +1 -1
  1148. data/rbi/openai/models/chat/chat_completion_chunk.rbi +28 -22
  1149. data/rbi/openai/models/chat/chat_completion_content_part.rbi +3 -4
  1150. data/rbi/openai/models/chat/chat_completion_content_part_image.rbi +5 -4
  1151. data/rbi/openai/models/chat/chat_completion_content_part_input_audio.rbi +1 -1
  1152. data/rbi/openai/models/chat/chat_completion_content_part_text.rbi +1 -2
  1153. data/rbi/openai/models/chat/chat_completion_message.rbi +4 -4
  1154. data/rbi/openai/models/chat/chat_completion_store_message.rbi +3 -4
  1155. data/rbi/openai/models/chat/completion_create_params.rbi +95 -85
  1156. data/rbi/openai/models/completion_create_params.rbi +34 -32
  1157. data/rbi/openai/models/conversations/conversation_item.rbi +134 -1
  1158. data/rbi/openai/models/conversations/item_create_params.rbi +2 -2
  1159. data/rbi/openai/models/conversations/item_retrieve_params.rbi +2 -2
  1160. data/rbi/openai/models/embedding.rbi +2 -2
  1161. data/rbi/openai/models/embedding_create_params.rbi +14 -14
  1162. data/rbi/openai/models/evals/create_eval_completions_run_data_source.rbi +5 -5
  1163. data/rbi/openai/models/evals/run_cancel_response.rbi +22 -20
  1164. data/rbi/openai/models/evals/run_create_params.rbi +22 -20
  1165. data/rbi/openai/models/evals/run_create_response.rbi +22 -20
  1166. data/rbi/openai/models/evals/run_list_response.rbi +22 -20
  1167. data/rbi/openai/models/evals/run_retrieve_response.rbi +22 -20
  1168. data/rbi/openai/models/fine_tuning/alpha/grader_run_params.rbi +10 -8
  1169. data/rbi/openai/models/fine_tuning/fine_tuning_job.rbi +6 -6
  1170. data/rbi/openai/models/fine_tuning/job_create_params.rbi +17 -15
  1171. data/rbi/openai/models/function_definition.rbi +6 -6
  1172. data/rbi/openai/models/graders/score_model_grader.rbi +2 -2
  1173. data/rbi/openai/models/image_create_variation_params.rbi +2 -2
  1174. data/rbi/openai/models/image_edit_params.rbi +2 -2
  1175. data/rbi/openai/models/image_generate_params.rbi +2 -2
  1176. data/rbi/openai/models/live/audio_format.rbi +185 -0
  1177. data/rbi/openai/models/live/built_in_voice.rbi +46 -0
  1178. data/rbi/openai/models/live/client_config.rbi +54 -0
  1179. data/rbi/openai/models/live/client_delegation.rbi +51 -0
  1180. data/rbi/openai/models/live/client_event.rbi +41 -0
  1181. data/rbi/openai/models/live/commentary_append_event.rbi +88 -0
  1182. data/rbi/openai/models/live/commentary_appended_event.rbi +97 -0
  1183. data/rbi/openai/models/live/custom_voice.rbi +46 -0
  1184. data/rbi/openai/models/live/data_channel_config.rbi +119 -0
  1185. data/rbi/openai/models/live/delegation_created_event.rbi +207 -0
  1186. data/rbi/openai/models/live/error.rbi +95 -0
  1187. data/rbi/openai/models/live/error_event.rbi +87 -0
  1188. data/rbi/openai/models/live/fork_client_event.rbi +40 -0
  1189. data/rbi/openai/models/live/fork_server_event.rbi +436 -0
  1190. data/rbi/openai/models/live/fork_session_config.rbi +234 -0
  1191. data/rbi/openai/models/live/fork_session_start_event.rbi +80 -0
  1192. data/rbi/openai/models/live/function_tool.rbi +95 -0
  1193. data/rbi/openai/models/live/info_event.rbi +92 -0
  1194. data/rbi/openai/models/live/initial_item.rbi +661 -0
  1195. data/rbi/openai/models/live/input_audio_append_event.rbi +79 -0
  1196. data/rbi/openai/models/live/input_audio_mute_event.rbi +62 -0
  1197. data/rbi/openai/models/live/input_audio_muted_event.rbi +74 -0
  1198. data/rbi/openai/models/live/input_audio_unmute_event.rbi +62 -0
  1199. data/rbi/openai/models/live/input_audio_unmuted_event.rbi +74 -0
  1200. data/rbi/openai/models/live/input_transcript_delta_event.rbi +115 -0
  1201. data/rbi/openai/models/live/instructions_append_event.rbi +86 -0
  1202. data/rbi/openai/models/live/instructions_appended_event.rbi +97 -0
  1203. data/rbi/openai/models/live/live_create_params.rbi +121 -0
  1204. data/rbi/openai/models/live/live_create_response.rbi +160 -0
  1205. data/rbi/openai/models/live/media_session_config.rbi +390 -0
  1206. data/rbi/openai/models/live/media_session_fork_config.rbi +143 -0
  1207. data/rbi/openai/models/live/output_audio_delta_event.rbi +93 -0
  1208. data/rbi/openai/models/live/output_transcript_delta_event.rbi +115 -0
  1209. data/rbi/openai/models/live/response_create_event.rbi +62 -0
  1210. data/rbi/openai/models/live/response_event.rbi +105 -0
  1211. data/rbi/openai/models/live/response_item_create_event.rbi +183 -0
  1212. data/rbi/openai/models/live/responses_delegation_config.rbi +562 -0
  1213. data/rbi/openai/models/live/responses_delegation_update_config.rbi +585 -0
  1214. data/rbi/openai/models/live/server_event.rbi +436 -0
  1215. data/rbi/openai/models/live/server_event_selector.rbi +64 -0
  1216. data/rbi/openai/models/live/session_accept_params.rbi +451 -0
  1217. data/rbi/openai/models/live/session_close_event.rbi +62 -0
  1218. data/rbi/openai/models/live/session_closed_event.rbi +148 -0
  1219. data/rbi/openai/models/live/session_config.rbi +427 -0
  1220. data/rbi/openai/models/live/session_download_recording_params.rbi +57 -0
  1221. data/rbi/openai/models/live/session_fork_params.rbi +131 -0
  1222. data/rbi/openai/models/live/session_fork_response.rbi +160 -0
  1223. data/rbi/openai/models/live/session_hangup_params.rbi +53 -0
  1224. data/rbi/openai/models/live/session_refer_params.rbi +64 -0
  1225. data/rbi/openai/models/live/session_reject_params.rbi +62 -0
  1226. data/rbi/openai/models/live/session_resource.rbi +461 -0
  1227. data/rbi/openai/models/live/session_start_event.rbi +78 -0
  1228. data/rbi/openai/models/live/session_started_event.rbi +86 -0
  1229. data/rbi/openai/models/live/session_update_config.rbi +134 -0
  1230. data/rbi/openai/models/live/session_update_event.rbi +78 -0
  1231. data/rbi/openai/models/live/session_updated_event.rbi +86 -0
  1232. data/rbi/openai/models/live/session_usage.rbi +53 -0
  1233. data/rbi/openai/models/live/session_usage_updated_event.rbi +148 -0
  1234. data/rbi/openai/models/live/thinking_append_event.rbi +88 -0
  1235. data/rbi/openai/models/live/thinking_appended_event.rbi +97 -0
  1236. data/rbi/openai/models/moderation_create_params.rbi +9 -9
  1237. data/rbi/openai/models/realtime/audio_transcription.rbi +2 -2
  1238. data/rbi/openai/models/realtime/call_accept_params.rbi +1 -1
  1239. data/rbi/openai/models/realtime/output_audio_buffer_clear_event.rbi +1 -1
  1240. data/rbi/openai/models/realtime/realtime_audio_config_input.rbi +2 -2
  1241. data/rbi/openai/models/realtime/realtime_response_create_mcp_tool.rbi +4 -4
  1242. data/rbi/openai/models/realtime/realtime_response_create_params.rbi +3 -3
  1243. data/rbi/openai/models/realtime/realtime_server_event.rbi +3 -3
  1244. data/rbi/openai/models/realtime/realtime_session.rbi +4 -4
  1245. data/rbi/openai/models/realtime/realtime_session_create_request.rbi +2 -2
  1246. data/rbi/openai/models/realtime/realtime_session_create_response.rbi +7 -7
  1247. data/rbi/openai/models/realtime/realtime_tools_config_union.rbi +5 -5
  1248. data/rbi/openai/models/realtime/realtime_transcription_session_audio_input.rbi +2 -2
  1249. data/rbi/openai/models/reasoning.rbi +3 -3
  1250. data/rbi/openai/models/reasoning_effort.rbi +1 -1
  1251. data/rbi/openai/models/response_format_json_schema.rbi +3 -3
  1252. data/rbi/openai/models/response_format_text_grammar.rbi +1 -1
  1253. data/rbi/openai/models/response_format_text_python.rbi +1 -1
  1254. data/rbi/openai/models/responses/computer_tool.rbi +1 -1
  1255. data/rbi/openai/models/responses/computer_use_preview_tool.rbi +1 -1
  1256. data/rbi/openai/models/responses/custom_tool.rbi +1 -1
  1257. data/rbi/openai/models/responses/file_search_tool.rbi +1 -1
  1258. data/rbi/openai/models/responses/function_tool.rbi +1 -1
  1259. data/rbi/openai/models/responses/input_token_count_params.rbi +16 -16
  1260. data/rbi/openai/models/responses/response.rbi +66 -58
  1261. data/rbi/openai/models/responses/response_compact_params.rbi +44 -44
  1262. data/rbi/openai/models/responses/response_compaction_item.rbi +1 -1
  1263. data/rbi/openai/models/responses/response_compaction_item_param.rbi +1 -1
  1264. data/rbi/openai/models/responses/response_computer_tool_call.rbi +1 -1
  1265. data/rbi/openai/models/responses/response_create_params.rbi +86 -78
  1266. data/rbi/openai/models/responses/response_file_search_tool_call.rbi +1 -1
  1267. data/rbi/openai/models/responses/response_format_text_config.rbi +1 -1
  1268. data/rbi/openai/models/responses/response_format_text_json_schema_config.rbi +3 -3
  1269. data/rbi/openai/models/responses/response_function_tool_call.rbi +1 -1
  1270. data/rbi/openai/models/responses/response_function_tool_call_item.rbi +1 -1
  1271. data/rbi/openai/models/responses/response_function_web_search.rbi +2 -2
  1272. data/rbi/openai/models/responses/response_input_image.rbi +1 -1
  1273. data/rbi/openai/models/responses/response_input_image_content.rbi +1 -1
  1274. data/rbi/openai/models/responses/response_input_item.rbi +113 -0
  1275. data/rbi/openai/models/responses/response_item.rbi +105 -0
  1276. data/rbi/openai/models/responses/response_output_item.rbi +125 -0
  1277. data/rbi/openai/models/responses/response_prompt.rbi +1 -1
  1278. data/rbi/openai/models/responses/response_reasoning_item.rbi +1 -1
  1279. data/rbi/openai/models/responses/response_text_config.rbi +4 -4
  1280. data/rbi/openai/models/responses/response_usage.rbi +2 -2
  1281. data/rbi/openai/models/responses/responses_client_event.rbi +88 -80
  1282. data/rbi/openai/models/responses/tool.rbi +4 -4
  1283. data/rbi/openai/models/responses/tool_choice_types.rbi +4 -4
  1284. data/rbi/openai/models/responses/web_search_preview_tool.rbi +1 -1
  1285. data/rbi/openai/models/responses/web_search_tool.rbi +1 -1
  1286. data/rbi/openai/models/upload.rbi +2 -2
  1287. data/rbi/openai/models/upload_create_params.rbi +2 -2
  1288. data/rbi/openai/models/vector_store_create_params.rbi +6 -6
  1289. data/rbi/openai/models/vector_stores/file_batch_create_params.rbi +18 -18
  1290. data/rbi/openai/models/vector_stores/file_create_params.rbi +6 -6
  1291. data/rbi/openai/models/vector_stores/vector_store_file.rbi +4 -4
  1292. data/rbi/openai/models/vector_stores/vector_store_file_batch.rbi +4 -4
  1293. data/rbi/openai/models/webhooks/live_call_incoming_webhook_event.rbi +17 -9
  1294. data/rbi/openai/models/webhooks/live_transport_incoming_webhook_event.rbi +226 -0
  1295. data/rbi/openai/models/webhooks/realtime_call_incoming_webhook_event.rbi +10 -6
  1296. data/rbi/openai/models/webhooks/unwrap_webhook_event.rbi +1 -0
  1297. data/rbi/openai/models.rbi +2 -0
  1298. data/rbi/openai/resources/admin/organization/audit_logs.rbi +1 -1
  1299. data/rbi/openai/resources/admin/organization/projects/service_accounts.rbi +7 -0
  1300. data/rbi/openai/resources/admin/organization/projects.rbi +2 -2
  1301. data/rbi/openai/resources/audio/speech.rbi +3 -2
  1302. data/rbi/openai/resources/audio/transcriptions.rbi +2 -2
  1303. data/rbi/openai/resources/audio/translations.rbi +1 -1
  1304. data/rbi/openai/resources/batches.rbi +3 -2
  1305. data/rbi/openai/resources/beta/assistants.rbi +18 -18
  1306. data/rbi/openai/resources/beta/responses/input_tokens.rbi +6 -6
  1307. data/rbi/openai/resources/beta/responses.rbi +108 -102
  1308. data/rbi/openai/resources/beta/threads/messages.rbi +9 -6
  1309. data/rbi/openai/resources/beta/threads/runs/steps.rbi +2 -2
  1310. data/rbi/openai/resources/beta/threads/runs.rbi +37 -33
  1311. data/rbi/openai/resources/beta/threads.rbi +27 -24
  1312. data/rbi/openai/resources/chat/completions.rbi +90 -82
  1313. data/rbi/openai/resources/completions.rbi +30 -28
  1314. data/rbi/openai/resources/content_provenance_checks.rbi +1 -1
  1315. data/rbi/openai/resources/conversations/items.rbi +2 -2
  1316. data/rbi/openai/resources/embeddings.rbi +5 -5
  1317. data/rbi/openai/resources/evals.rbi +1 -1
  1318. data/rbi/openai/resources/files.rbi +5 -5
  1319. data/rbi/openai/resources/fine_tuning/alpha/graders.rbi +5 -4
  1320. data/rbi/openai/resources/fine_tuning/checkpoints/permissions.rbi +8 -4
  1321. data/rbi/openai/resources/fine_tuning/jobs.rbi +10 -9
  1322. data/rbi/openai/resources/images.rbi +7 -7
  1323. data/rbi/openai/resources/live/forks.rbi +19 -0
  1324. data/rbi/openai/resources/live/sessions.rbi +110 -0
  1325. data/rbi/openai/resources/live/sideband.rbi +19 -0
  1326. data/rbi/openai/resources/live.rbi +43 -0
  1327. data/rbi/openai/resources/moderations.rbi +5 -4
  1328. data/rbi/openai/resources/realtime/calls.rbi +6 -6
  1329. data/rbi/openai/resources/realtime/client_secrets.rbi +1 -1
  1330. data/rbi/openai/resources/responses/input_tokens.rbi +6 -6
  1331. data/rbi/openai/resources/responses.rbi +183 -140
  1332. data/rbi/openai/resources/uploads/parts.rbi +5 -4
  1333. data/rbi/openai/resources/uploads.rbi +10 -10
  1334. data/rbi/openai/resources/vector_stores/file_batches.rbi +6 -6
  1335. data/rbi/openai/resources/vector_stores/files.rbi +6 -6
  1336. data/rbi/openai/resources/vector_stores.rbi +3 -3
  1337. data/rbi/openai/resources/webhooks.rbi +1 -0
  1338. data/sig/openai/client.rbs +2 -0
  1339. data/sig/openai/models/admin/organization/projects/project_api_key.rbs +7 -2
  1340. data/sig/openai/models/admin/organization/projects/service_account_create_params.rbs +5 -0
  1341. data/sig/openai/models/admin/organization/projects/service_account_create_response.rbs +7 -2
  1342. data/sig/openai/models/beta/beta_response_input_item.rbs +56 -0
  1343. data/sig/openai/models/beta/beta_response_item.rbs +56 -0
  1344. data/sig/openai/models/beta/beta_response_output_item.rbs +56 -0
  1345. data/sig/openai/models/conversations/conversation_item.rbs +56 -0
  1346. data/sig/openai/models/live/audio_format.rbs +73 -0
  1347. data/sig/openai/models/live/built_in_voice.rbs +58 -0
  1348. data/sig/openai/models/live/client_config.rbs +15 -0
  1349. data/sig/openai/models/live/client_delegation.rbs +15 -0
  1350. data/sig/openai/models/live/client_event.rbs +24 -0
  1351. data/sig/openai/models/live/commentary_append_event.rbs +37 -0
  1352. data/sig/openai/models/live/commentary_appended_event.rbs +44 -0
  1353. data/sig/openai/models/live/custom_voice.rbs +15 -0
  1354. data/sig/openai/models/live/data_channel_config.rbs +56 -0
  1355. data/sig/openai/models/live/delegation_created_event.rbs +89 -0
  1356. data/sig/openai/models/live/error.rbs +46 -0
  1357. data/sig/openai/models/live/error_event.rbs +39 -0
  1358. data/sig/openai/models/live/fork_client_event.rbs +24 -0
  1359. data/sig/openai/models/live/fork_server_event.rbs +212 -0
  1360. data/sig/openai/models/live/fork_session_config.rbs +89 -0
  1361. data/sig/openai/models/live/fork_session_start_event.rbs +32 -0
  1362. data/sig/openai/models/live/function_tool.rbs +42 -0
  1363. data/sig/openai/models/live/info_event.rbs +44 -0
  1364. data/sig/openai/models/live/initial_item.rbs +332 -0
  1365. data/sig/openai/models/live/input_audio_append_event.rbs +32 -0
  1366. data/sig/openai/models/live/input_audio_mute_event.rbs +24 -0
  1367. data/sig/openai/models/live/input_audio_muted_event.rbs +34 -0
  1368. data/sig/openai/models/live/input_audio_unmute_event.rbs +24 -0
  1369. data/sig/openai/models/live/input_audio_unmuted_event.rbs +34 -0
  1370. data/sig/openai/models/live/input_transcript_delta_event.rbs +49 -0
  1371. data/sig/openai/models/live/instructions_append_event.rbs +37 -0
  1372. data/sig/openai/models/live/instructions_appended_event.rbs +44 -0
  1373. data/sig/openai/models/live/live_create_params.rbs +45 -0
  1374. data/sig/openai/models/live/live_create_response.rbs +49 -0
  1375. data/sig/openai/models/live/media_session_config.rbs +157 -0
  1376. data/sig/openai/models/live/media_session_fork_config.rbs +66 -0
  1377. data/sig/openai/models/live/output_audio_delta_event.rbs +41 -0
  1378. data/sig/openai/models/live/output_transcript_delta_event.rbs +49 -0
  1379. data/sig/openai/models/live/response_create_event.rbs +18 -0
  1380. data/sig/openai/models/live/response_event.rbs +44 -0
  1381. data/sig/openai/models/live/response_item_create_event.rbs +32 -0
  1382. data/sig/openai/models/live/responses_delegation_config.rbs +244 -0
  1383. data/sig/openai/models/live/responses_delegation_update_config.rbs +246 -0
  1384. data/sig/openai/models/live/server_event.rbs +212 -0
  1385. data/sig/openai/models/live/server_event_selector.rbs +19 -0
  1386. data/sig/openai/models/live/session_accept_params.rbs +185 -0
  1387. data/sig/openai/models/live/session_close_event.rbs +17 -0
  1388. data/sig/openai/models/live/session_closed_event.rbs +68 -0
  1389. data/sig/openai/models/live/session_config.rbs +168 -0
  1390. data/sig/openai/models/live/session_download_recording_params.rbs +25 -0
  1391. data/sig/openai/models/live/session_fork_params.rbs +54 -0
  1392. data/sig/openai/models/live/session_fork_response.rbs +49 -0
  1393. data/sig/openai/models/live/session_hangup_params.rbs +25 -0
  1394. data/sig/openai/models/live/session_refer_params.rbs +33 -0
  1395. data/sig/openai/models/live/session_reject_params.rbs +33 -0
  1396. data/sig/openai/models/live/session_resource.rbs +183 -0
  1397. data/sig/openai/models/live/session_start_event.rbs +32 -0
  1398. data/sig/openai/models/live/session_started_event.rbs +39 -0
  1399. data/sig/openai/models/live/session_update_config.rbs +56 -0
  1400. data/sig/openai/models/live/session_update_event.rbs +32 -0
  1401. data/sig/openai/models/live/session_updated_event.rbs +39 -0
  1402. data/sig/openai/models/live/session_usage.rbs +15 -0
  1403. data/sig/openai/models/live/session_usage_updated_event.rbs +58 -0
  1404. data/sig/openai/models/live/thinking_append_event.rbs +37 -0
  1405. data/sig/openai/models/live/thinking_appended_event.rbs +44 -0
  1406. data/sig/openai/models/responses/response_input_item.rbs +56 -0
  1407. data/sig/openai/models/responses/response_item.rbs +56 -0
  1408. data/sig/openai/models/responses/response_output_item.rbs +56 -0
  1409. data/sig/openai/models/webhooks/live_transport_incoming_webhook_event.rbs +95 -0
  1410. data/sig/openai/models/webhooks/unwrap_webhook_event.rbs +1 -0
  1411. data/sig/openai/models.rbs +2 -0
  1412. data/sig/openai/resources/admin/organization/projects/service_accounts.rbs +1 -0
  1413. data/sig/openai/resources/live/forks.rbs +9 -0
  1414. data/sig/openai/resources/live/sessions.rbs +44 -0
  1415. data/sig/openai/resources/live/sideband.rbs +9 -0
  1416. data/sig/openai/resources/live.rbs +19 -0
  1417. data/sig/openai/resources/webhooks.rbs +1 -0
  1418. metadata +196 -1
@@ -0,0 +1,58 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Live
6
+ class OutputAudioDeltaEvent < OpenAI::Internal::Type::BaseModel
7
+ # @!attribute delta
8
+ # Base64-encoded raw audio. Primary WebSocket events use the session's configured
9
+ # format; reflected sideband events use mono PCM16LE at 24 kHz.
10
+ #
11
+ # @return [String]
12
+ required :delta, String
13
+
14
+ # @!attribute type
15
+ # The event type, always `session.output_audio.delta`.
16
+ #
17
+ # @return [Symbol, :"session.output_audio.delta"]
18
+ required :type, const: :"session.output_audio.delta"
19
+
20
+ # @!attribute end_ms
21
+ # Exclusive session-relative end in milliseconds. Required on reflected sideband
22
+ # events; omitted on the primary WebSocket. Dropped output frames leave gaps
23
+ # between reflected ranges.
24
+ #
25
+ # @return [Integer, nil]
26
+ optional :end_ms, Integer
27
+
28
+ # @!attribute start_ms
29
+ # Inclusive session-relative start in milliseconds. Required on reflected sideband
30
+ # events; omitted on the primary WebSocket.
31
+ #
32
+ # @return [Integer, nil]
33
+ optional :start_ms, Integer
34
+
35
+ # @!method initialize(delta:, end_ms: nil, start_ms: nil, type: :"session.output_audio.delta")
36
+ # An audio chunk generated by the Live model. Decode and play primary WebSocket
37
+ # chunks in delivery order using the configured session audio format. Sideband
38
+ # connections receive reflected output audio with timestamps.
39
+ #
40
+ # @param delta [String]
41
+ # Base64-encoded raw audio. Primary WebSocket events use the session's configured
42
+ # format; reflected sideband events use mono PCM16LE at 24 kHz.
43
+ #
44
+ # @param end_ms [Integer]
45
+ # Exclusive session-relative end in milliseconds. Required on reflected sideband
46
+ # events; omitted on the primary WebSocket. Dropped output frames leave gaps
47
+ # between reflected ranges.
48
+ #
49
+ # @param start_ms [Integer]
50
+ # Inclusive session-relative start in milliseconds. Required on reflected sideband
51
+ # events; omitted on the primary WebSocket.
52
+ #
53
+ # @param type [Symbol, :"session.output_audio.delta"]
54
+ # The event type, always `session.output_audio.delta`.
55
+ end
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,76 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Live
6
+ class OutputTranscriptDeltaEvent < OpenAI::Internal::Type::BaseModel
7
+ # @!attribute delta
8
+ # The transcript text fragment for the audio in this time range. Append fragments
9
+ # in delivery order to build the transcript.
10
+ #
11
+ # @return [String]
12
+ required :delta, String
13
+
14
+ # @!attribute end_ms
15
+ # The end of this event on the Live session timeline, in milliseconds from the
16
+ # beginning of the session. For appended context, this can equal start_ms.
17
+ #
18
+ # @return [Integer]
19
+ required :end_ms, Integer
20
+
21
+ # @!attribute event_id
22
+ # The unique ID of the Live server event.
23
+ #
24
+ # @return [String]
25
+ required :event_id, String
26
+
27
+ # @!attribute start_ms
28
+ # The start of this event on the Live session timeline, in milliseconds from the
29
+ # beginning of the session.
30
+ #
31
+ # @return [Integer]
32
+ required :start_ms, Integer
33
+
34
+ # @!attribute type
35
+ # The event type, always `session.output_transcript.delta`.
36
+ #
37
+ # @return [Symbol, :"session.output_transcript.delta"]
38
+ required :type, const: :"session.output_transcript.delta"
39
+
40
+ # @!attribute client_event_id
41
+ # The event_id of the client command associated with this server event, when
42
+ # supplied.
43
+ #
44
+ # @return [String, nil]
45
+ optional :client_event_id, String
46
+
47
+ # @!method initialize(delta:, end_ms:, event_id:, start_ms:, client_event_id: nil, type: :"session.output_transcript.delta")
48
+ # A transcript fragment for assistant output audio in the Live session. Accumulate
49
+ # fragments in delivery order; these events do not define complete turns or
50
+ # include a transcript-done event.
51
+ #
52
+ # @param delta [String]
53
+ # The transcript text fragment for the audio in this time range. Append fragments
54
+ # in delivery order to build the transcript.
55
+ #
56
+ # @param end_ms [Integer]
57
+ # The end of this event on the Live session timeline, in milliseconds from the
58
+ # beginning of the session. For appended context, this can equal start_ms.
59
+ #
60
+ # @param event_id [String]
61
+ # The unique ID of the Live server event.
62
+ #
63
+ # @param start_ms [Integer]
64
+ # The start of this event on the Live session timeline, in milliseconds from the
65
+ # beginning of the session.
66
+ #
67
+ # @param client_event_id [String]
68
+ # The event_id of the client command associated with this server event, when
69
+ # supplied.
70
+ #
71
+ # @param type [Symbol, :"session.output_transcript.delta"]
72
+ # The event type, always `session.output_transcript.delta`.
73
+ end
74
+ end
75
+ end
76
+ end
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Live
6
+ class ResponseCreateEvent < OpenAI::Internal::Type::BaseModel
7
+ # @!attribute type
8
+ # The Live client event type. Always `response.create`.
9
+ #
10
+ # @return [Symbol, :"response.create"]
11
+ required :type, const: :"response.create"
12
+
13
+ # @!attribute event_id
14
+ # Optional client identifier for correlating this command with a server event's
15
+ # client_event_id or error.client_event_id.
16
+ #
17
+ # @return [String, nil]
18
+ optional :event_id, String, nil?: true
19
+
20
+ # @!method initialize(event_id: nil, type: :"response.create")
21
+ # Request a response from the Live session’s Responses backend, or continue a
22
+ # delegated response waiting for tool results. Requires Responses delegation.
23
+ #
24
+ # @param event_id [String, nil]
25
+ # Optional client identifier for correlating this command with a server event's
26
+ # client_event_id or error.client_event_id.
27
+ #
28
+ # @param type [Symbol, :"response.create"]
29
+ # The Live client event type. Always `response.create`.
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,67 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Live
6
+ class ResponseEvent < OpenAI::Internal::Type::BaseModel
7
+ # @!attribute event
8
+ # The nested Responses streaming event. Dispatch on its type field. Response
9
+ # lifecycle snapshots omit input and clear instructions, tools, and output to keep
10
+ # messages small; consume granular output events for the generated content.
11
+ #
12
+ # @return [Hash{Symbol=>Object}]
13
+ required :event, OpenAI::Internal::Type::HashOf[OpenAI::Internal::Type::Unknown]
14
+
15
+ # @!attribute event_id
16
+ # The unique ID of the Live server event.
17
+ #
18
+ # @return [String]
19
+ required :event_id, String
20
+
21
+ # @!attribute type
22
+ # The event type, always `response.event`.
23
+ #
24
+ # @return [Symbol, :"response.event"]
25
+ required :type, const: :"response.event"
26
+
27
+ # @!attribute client_event_id
28
+ # The event_id of the client command associated with this server event, when
29
+ # supplied.
30
+ #
31
+ # @return [String, nil]
32
+ optional :client_event_id, String
33
+
34
+ # @!attribute delegation_id
35
+ # The Live delegation associated with the nested Responses event. May be null or
36
+ # omitted when the event cannot be correlated with a delegation.
37
+ #
38
+ # @return [String, nil]
39
+ optional :delegation_id, String, nil?: true
40
+
41
+ # @!method initialize(event:, event_id:, client_event_id: nil, delegation_id: nil, type: :"response.event")
42
+ # A streaming Responses API event from a backend delegated to by the Live session.
43
+ # Use the outer delegation_id to associate the nested stream with its Live
44
+ # delegation.
45
+ #
46
+ # @param event [Hash{Symbol=>Object}]
47
+ # The nested Responses streaming event. Dispatch on its type field. Response
48
+ # lifecycle snapshots omit input and clear instructions, tools, and output to keep
49
+ # messages small; consume granular output events for the generated content.
50
+ #
51
+ # @param event_id [String]
52
+ # The unique ID of the Live server event.
53
+ #
54
+ # @param client_event_id [String]
55
+ # The event_id of the client command associated with this server event, when
56
+ # supplied.
57
+ #
58
+ # @param delegation_id [String, nil]
59
+ # The Live delegation associated with the nested Responses event. May be null or
60
+ # omitted when the event cannot be correlated with a delegation.
61
+ #
62
+ # @param type [Symbol, :"response.event"]
63
+ # The event type, always `response.event`.
64
+ end
65
+ end
66
+ end
67
+ end
@@ -0,0 +1,44 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Live
6
+ class ResponseItemCreateEvent < OpenAI::Internal::Type::BaseModel
7
+ # @!attribute item
8
+ # An input item to append to the Responses backend conversation, such as a user
9
+ # message or a function tool result.
10
+ #
11
+ # @return [OpenAI::Models::Responses::EasyInputMessage, OpenAI::Models::Responses::ResponseInputItem::Message, OpenAI::Models::Responses::ResponseOutputMessage, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseInputItem::ComputerCallOutput, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Responses::ResponseFunctionToolCall, OpenAI::Models::Responses::ResponseInputItem::FunctionCallOutput, OpenAI::Models::Responses::ResponseInputItem::ToolSearchCall, OpenAI::Models::Responses::ResponseToolSearchOutputItemParam, OpenAI::Models::Responses::ResponseInputItem::AdditionalTools, OpenAI::Models::Responses::ResponseConfigurationUpdateItemParam, OpenAI::Models::Responses::ResponseReasoningItem, OpenAI::Models::Responses::ResponseCompactionItemParam, OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Responses::ResponseInputItem::LocalShellCall, OpenAI::Models::Responses::ResponseInputItem::LocalShellCallOutput, OpenAI::Models::Responses::ResponseInputItem::ShellCall, OpenAI::Models::Responses::ResponseInputItem::ShellCallOutput, OpenAI::Models::Responses::ResponseInputItem::ApplyPatchCall, OpenAI::Models::Responses::ResponseInputItem::ApplyPatchCallOutput, OpenAI::Models::Responses::ResponseInputItem::McpListTools, OpenAI::Models::Responses::ResponseInputItem::McpApprovalRequest, OpenAI::Models::Responses::ResponseInputItem::McpApprovalResponse, OpenAI::Models::Responses::ResponseInputItem::McpCall, OpenAI::Models::Responses::ResponseCustomToolCallOutput, OpenAI::Models::Responses::ResponseCustomToolCall, OpenAI::Models::Responses::ResponseInputItem::CompactionTrigger, OpenAI::Models::Responses::ResponseInputItem::ItemReference, OpenAI::Models::Responses::ResponseInputItem::Program, OpenAI::Models::Responses::ResponseInputItem::ProgramOutput]
12
+ required :item, union: -> { OpenAI::Responses::ResponseInputItem }
13
+
14
+ # @!attribute type
15
+ # The Live client event type. Always `response.item.create`.
16
+ #
17
+ # @return [Symbol, :"response.item.create"]
18
+ required :type, const: :"response.item.create"
19
+
20
+ # @!attribute event_id
21
+ # Optional client identifier for correlating this command with a server event's
22
+ # client_event_id or error.client_event_id.
23
+ #
24
+ # @return [String, nil]
25
+ optional :event_id, String, nil?: true
26
+
27
+ # @!method initialize(item:, event_id: nil, type: :"response.item.create")
28
+ # Add an input item to the Live session’s Responses backend. Requires Responses
29
+ # delegation; use `response.create` to request a response.
30
+ #
31
+ # @param item [OpenAI::Models::Responses::EasyInputMessage, OpenAI::Models::Responses::ResponseInputItem::Message, OpenAI::Models::Responses::ResponseOutputMessage, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseInputItem::ComputerCallOutput, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Responses::ResponseFunctionToolCall, OpenAI::Models::Responses::ResponseInputItem::FunctionCallOutput, OpenAI::Models::Responses::ResponseInputItem::ToolSearchCall, OpenAI::Models::Responses::ResponseToolSearchOutputItemParam, OpenAI::Models::Responses::ResponseInputItem::AdditionalTools, OpenAI::Models::Responses::ResponseConfigurationUpdateItemParam, OpenAI::Models::Responses::ResponseReasoningItem, OpenAI::Models::Responses::ResponseCompactionItemParam, OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Responses::ResponseInputItem::LocalShellCall, OpenAI::Models::Responses::ResponseInputItem::LocalShellCallOutput, OpenAI::Models::Responses::ResponseInputItem::ShellCall, OpenAI::Models::Responses::ResponseInputItem::ShellCallOutput, OpenAI::Models::Responses::ResponseInputItem::ApplyPatchCall, OpenAI::Models::Responses::ResponseInputItem::ApplyPatchCallOutput, OpenAI::Models::Responses::ResponseInputItem::McpListTools, OpenAI::Models::Responses::ResponseInputItem::McpApprovalRequest, OpenAI::Models::Responses::ResponseInputItem::McpApprovalResponse, OpenAI::Models::Responses::ResponseInputItem::McpCall, OpenAI::Models::Responses::ResponseCustomToolCallOutput, OpenAI::Models::Responses::ResponseCustomToolCall, OpenAI::Models::Responses::ResponseInputItem::CompactionTrigger, OpenAI::Models::Responses::ResponseInputItem::ItemReference, OpenAI::Models::Responses::ResponseInputItem::Program, OpenAI::Models::Responses::ResponseInputItem::ProgramOutput]
32
+ # An input item to append to the Responses backend conversation, such as a user
33
+ # message or a function tool result.
34
+ #
35
+ # @param event_id [String, nil]
36
+ # Optional client identifier for correlating this command with a server event's
37
+ # client_event_id or error.client_event_id.
38
+ #
39
+ # @param type [Symbol, :"response.item.create"]
40
+ # The Live client event type. Always `response.item.create`.
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,332 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Live
6
+ class ResponsesDelegationConfig < OpenAI::Internal::Type::BaseModel
7
+ # @!attribute model
8
+ # The model used for server-owned Responses delegations.
9
+ #
10
+ # @return [String]
11
+ required :model, String
12
+
13
+ # @!attribute instructions
14
+ # Instructions for the delegated Responses model, separate from Live instructions.
15
+ # See
16
+ # [backend prompting](https://developers.openai.com/api/docs/guides/live-delegation#start-with-your-existing-backend-prompt).
17
+ #
18
+ # @return [String, nil]
19
+ optional :instructions, String, nil?: true
20
+
21
+ # @!attribute max_output_tokens
22
+ # Maximum number of output tokens for each delegated response.
23
+ #
24
+ # @return [Integer, nil]
25
+ optional :max_output_tokens, Integer, nil?: true
26
+
27
+ # @!attribute parallel_tool_calls
28
+ # Whether the delegated Responses model may request multiple tool calls in a
29
+ # single response.
30
+ #
31
+ # @return [Boolean, nil]
32
+ optional :parallel_tool_calls, OpenAI::Internal::Type::Boolean, nil?: true
33
+
34
+ # @!attribute reasoning
35
+ # Reasoning settings passed to each delegated Responses request.
36
+ #
37
+ # @return [OpenAI::Models::Live::ResponsesDelegationConfig::Reasoning, nil]
38
+ optional :reasoning, -> { OpenAI::Live::ResponsesDelegationConfig::Reasoning }, nil?: true
39
+
40
+ # @!attribute service_tier
41
+ # Service tier for delegated Responses requests.
42
+ #
43
+ # @return [Symbol, OpenAI::Models::Live::ResponsesDelegationConfig::ServiceTier, nil]
44
+ optional :service_tier, enum: -> { OpenAI::Live::ResponsesDelegationConfig::ServiceTier }, nil?: true
45
+
46
+ # @!attribute text
47
+ # Text generation settings passed to each delegated Responses request.
48
+ #
49
+ # @return [OpenAI::Models::Live::ResponsesDelegationConfig::Text, nil]
50
+ optional :text, -> { OpenAI::Live::ResponsesDelegationConfig::Text }, nil?: true
51
+
52
+ # @!attribute tool_choice
53
+ # Controls which tool the Responses backend uses when handling a task delegated by
54
+ # the Live model.
55
+ #
56
+ # @return [Symbol, OpenAI::Models::Live::ResponsesDelegationConfig::ToolChoice::LiveToolChoiceEnum, OpenAI::Models::Live::ResponsesDelegationConfig::ToolChoice::LiveFunctionToolChoiceParam, OpenAI::Models::Live::ResponsesDelegationConfig::ToolChoice::LiveMCPToolChoiceParam, nil]
57
+ optional :tool_choice, union: -> { OpenAI::Live::ResponsesDelegationConfig::ToolChoice }
58
+
59
+ # @!attribute tools
60
+ # Tools available to the Responses backend while it handles tasks delegated by the
61
+ # Live model.
62
+ #
63
+ # @return [Array<OpenAI::Models::Live::FunctionTool, OpenAI::Models::Live::ResponsesDelegationConfig::Tool::WebSearch>, nil]
64
+ optional(
65
+ :tools,
66
+ -> { OpenAI::Internal::Type::ArrayOf[union: OpenAI::Live::ResponsesDelegationConfig::Tool] }
67
+ )
68
+
69
+ # @!method initialize(model:, instructions: nil, max_output_tokens: nil, parallel_tool_calls: nil, reasoning: nil, service_tier: nil, text: nil, tool_choice: nil, tools: nil)
70
+ # Model, prompt, and tool settings for tasks delegated by the Live session to a
71
+ # Responses backend.
72
+ #
73
+ # @param model [String]
74
+ # The model used for server-owned Responses delegations.
75
+ #
76
+ # @param instructions [String, nil]
77
+ # Instructions for the delegated Responses model, separate from Live instructions.
78
+ # See
79
+ # [backend prompting](https://developers.openai.com/api/docs/guides/live-delegation#start-with-your-existing-backend-prompt).
80
+ #
81
+ # @param max_output_tokens [Integer, nil]
82
+ # Maximum number of output tokens for each delegated response.
83
+ #
84
+ # @param parallel_tool_calls [Boolean, nil]
85
+ # Whether the delegated Responses model may request multiple tool calls in a
86
+ # single response.
87
+ #
88
+ # @param reasoning [OpenAI::Models::Live::ResponsesDelegationConfig::Reasoning, nil]
89
+ # Reasoning settings passed to each delegated Responses request.
90
+ #
91
+ # @param service_tier [Symbol, OpenAI::Models::Live::ResponsesDelegationConfig::ServiceTier, nil]
92
+ # Service tier for delegated Responses requests.
93
+ #
94
+ # @param text [OpenAI::Models::Live::ResponsesDelegationConfig::Text, nil]
95
+ # Text generation settings passed to each delegated Responses request.
96
+ #
97
+ # @param tool_choice [Symbol, OpenAI::Models::Live::ResponsesDelegationConfig::ToolChoice::LiveToolChoiceEnum, OpenAI::Models::Live::ResponsesDelegationConfig::ToolChoice::LiveFunctionToolChoiceParam, OpenAI::Models::Live::ResponsesDelegationConfig::ToolChoice::LiveMCPToolChoiceParam]
98
+ # Controls which tool the Responses backend uses when handling a task delegated by
99
+ # the Live model.
100
+ #
101
+ # @param tools [Array<OpenAI::Models::Live::FunctionTool, OpenAI::Models::Live::ResponsesDelegationConfig::Tool::WebSearch>]
102
+ # Tools available to the Responses backend while it handles tasks delegated by the
103
+ # Live model.
104
+
105
+ # @see OpenAI::Models::Live::ResponsesDelegationConfig#reasoning
106
+ class Reasoning < OpenAI::Internal::Type::BaseModel
107
+ # @!attribute effort
108
+ # How much reasoning effort the delegated Responses model should use. Supported
109
+ # values depend on the backend model.
110
+ #
111
+ # @return [Symbol, OpenAI::Models::Live::ResponsesDelegationConfig::Reasoning::Effort, nil]
112
+ optional(
113
+ :effort,
114
+ enum: -> {
115
+ OpenAI::Live::ResponsesDelegationConfig::Reasoning::Effort
116
+ },
117
+ nil?: true
118
+ )
119
+
120
+ # @!attribute summary
121
+ # The reasoning summary to request from the delegated Responses model, when
122
+ # supported.
123
+ #
124
+ # @return [Symbol, OpenAI::Models::Live::ResponsesDelegationConfig::Reasoning::Summary, nil]
125
+ optional(
126
+ :summary,
127
+ enum: -> {
128
+ OpenAI::Live::ResponsesDelegationConfig::Reasoning::Summary
129
+ },
130
+ nil?: true
131
+ )
132
+
133
+ # @!method initialize(effort: nil, summary: nil)
134
+ # Reasoning settings passed to each delegated Responses request.
135
+ #
136
+ # @param effort [Symbol, OpenAI::Models::Live::ResponsesDelegationConfig::Reasoning::Effort, nil]
137
+ # How much reasoning effort the delegated Responses model should use. Supported
138
+ # values depend on the backend model.
139
+ #
140
+ # @param summary [Symbol, OpenAI::Models::Live::ResponsesDelegationConfig::Reasoning::Summary, nil]
141
+ # The reasoning summary to request from the delegated Responses model, when
142
+ # supported.
143
+
144
+ # How much reasoning effort the delegated Responses model should use. Supported
145
+ # values depend on the backend model.
146
+ #
147
+ # @see OpenAI::Models::Live::ResponsesDelegationConfig::Reasoning#effort
148
+ module Effort
149
+ extend OpenAI::Internal::Type::Enum
150
+
151
+ NONE = :none
152
+ MINIMAL = :minimal
153
+ LOW = :low
154
+ MEDIUM = :medium
155
+ HIGH = :high
156
+ XHIGH = :xhigh
157
+
158
+ # @!method self.values
159
+ # @return [Array<Symbol>]
160
+ end
161
+
162
+ # The reasoning summary to request from the delegated Responses model, when
163
+ # supported.
164
+ #
165
+ # @see OpenAI::Models::Live::ResponsesDelegationConfig::Reasoning#summary
166
+ module Summary
167
+ extend OpenAI::Internal::Type::Enum
168
+
169
+ CONCISE = :concise
170
+ DETAILED = :detailed
171
+ AUTO = :auto
172
+
173
+ # @!method self.values
174
+ # @return [Array<Symbol>]
175
+ end
176
+ end
177
+
178
+ # Service tier for delegated Responses requests.
179
+ #
180
+ # @see OpenAI::Models::Live::ResponsesDelegationConfig#service_tier
181
+ module ServiceTier
182
+ extend OpenAI::Internal::Type::Enum
183
+
184
+ AUTO = :auto
185
+ DEFAULT = :default
186
+ FAST_TIER_TEMP_PILOT = :fast_tier_temp_pilot
187
+ FLEX = :flex
188
+ PRIORITY = :priority
189
+ ULTRAFAST = :ultrafast
190
+
191
+ # @!method self.values
192
+ # @return [Array<Symbol>]
193
+ end
194
+
195
+ # @see OpenAI::Models::Live::ResponsesDelegationConfig#text
196
+ class Text < OpenAI::Internal::Type::BaseModel
197
+ # @!attribute verbosity
198
+ # The amount of detail in text generated by the Responses backend. This does not
199
+ # configure the Live model’s spoken delivery.
200
+ #
201
+ # @return [Symbol, OpenAI::Models::Live::ResponsesDelegationConfig::Text::Verbosity, nil]
202
+ optional(
203
+ :verbosity,
204
+ enum: -> {
205
+ OpenAI::Live::ResponsesDelegationConfig::Text::Verbosity
206
+ },
207
+ nil?: true
208
+ )
209
+
210
+ # @!method initialize(verbosity: nil)
211
+ # Text generation settings passed to each delegated Responses request.
212
+ #
213
+ # @param verbosity [Symbol, OpenAI::Models::Live::ResponsesDelegationConfig::Text::Verbosity, nil]
214
+ # The amount of detail in text generated by the Responses backend. This does not
215
+ # configure the Live model’s spoken delivery.
216
+
217
+ # The amount of detail in text generated by the Responses backend. This does not
218
+ # configure the Live model’s spoken delivery.
219
+ #
220
+ # @see OpenAI::Models::Live::ResponsesDelegationConfig::Text#verbosity
221
+ module Verbosity
222
+ extend OpenAI::Internal::Type::Enum
223
+
224
+ LOW = :low
225
+ MEDIUM = :medium
226
+ HIGH = :high
227
+
228
+ # @!method self.values
229
+ # @return [Array<Symbol>]
230
+ end
231
+ end
232
+
233
+ # Controls which tool the Responses backend uses when handling a task delegated by
234
+ # the Live model.
235
+ #
236
+ # @see OpenAI::Models::Live::ResponsesDelegationConfig#tool_choice
237
+ module ToolChoice
238
+ extend OpenAI::Internal::Type::Union
239
+
240
+ variant enum: -> { OpenAI::Live::ResponsesDelegationConfig::ToolChoice::LiveToolChoiceEnum }
241
+
242
+ variant -> { OpenAI::Live::ResponsesDelegationConfig::ToolChoice::LiveFunctionToolChoiceParam }
243
+
244
+ variant -> { OpenAI::Live::ResponsesDelegationConfig::ToolChoice::LiveMCPToolChoiceParam }
245
+
246
+ module LiveToolChoiceEnum
247
+ extend OpenAI::Internal::Type::Enum
248
+
249
+ AUTO = :auto
250
+ NONE = :none
251
+ REQUIRED = :required
252
+
253
+ # @!method self.values
254
+ # @return [Array<Symbol>]
255
+ end
256
+
257
+ class LiveFunctionToolChoiceParam < OpenAI::Internal::Type::BaseModel
258
+ # @!attribute name
259
+ #
260
+ # @return [String]
261
+ required :name, String
262
+
263
+ # @!attribute type
264
+ #
265
+ # @return [Symbol, :function]
266
+ required :type, const: :function
267
+
268
+ # @!method initialize(name:, type: :function)
269
+ # @param name [String]
270
+ # @param type [Symbol, :function]
271
+ end
272
+
273
+ class LiveMCPToolChoiceParam < OpenAI::Internal::Type::BaseModel
274
+ # @!attribute name
275
+ #
276
+ # @return [String]
277
+ required :name, String
278
+
279
+ # @!attribute server_label
280
+ #
281
+ # @return [String]
282
+ required :server_label, String
283
+
284
+ # @!attribute type
285
+ #
286
+ # @return [Symbol, :mcp]
287
+ required :type, const: :mcp
288
+
289
+ # @!method initialize(name:, server_label:, type: :mcp)
290
+ # @param name [String]
291
+ # @param server_label [String]
292
+ # @param type [Symbol, :mcp]
293
+ end
294
+
295
+ # @!method self.variants
296
+ # @return [Array(Symbol, OpenAI::Models::Live::ResponsesDelegationConfig::ToolChoice::LiveToolChoiceEnum, OpenAI::Models::Live::ResponsesDelegationConfig::ToolChoice::LiveFunctionToolChoiceParam, OpenAI::Models::Live::ResponsesDelegationConfig::ToolChoice::LiveMCPToolChoiceParam)]
297
+ end
298
+
299
+ # A function tool available to the Responses backend when the Live model delegates
300
+ # a task.
301
+ module Tool
302
+ extend OpenAI::Internal::Type::Union
303
+
304
+ discriminator :type
305
+
306
+ # A function tool available to the Responses backend when the Live model delegates a task.
307
+ variant :function, -> { OpenAI::Live::FunctionTool }
308
+
309
+ # A web search tool available to the Live session’s Responses backend.
310
+ variant :web_search, -> { OpenAI::Live::ResponsesDelegationConfig::Tool::WebSearch }
311
+
312
+ class WebSearch < OpenAI::Internal::Type::BaseModel
313
+ # @!attribute type
314
+ # The tool type. Always `web_search`.
315
+ #
316
+ # @return [Symbol, :web_search]
317
+ required :type, const: :web_search
318
+
319
+ # @!method initialize(type: :web_search)
320
+ # A web search tool available to the Live session’s Responses backend.
321
+ #
322
+ # @param type [Symbol, :web_search]
323
+ # The tool type. Always `web_search`.
324
+ end
325
+
326
+ # @!method self.variants
327
+ # @return [Array(OpenAI::Models::Live::FunctionTool, OpenAI::Models::Live::ResponsesDelegationConfig::Tool::WebSearch)]
328
+ end
329
+ end
330
+ end
331
+ end
332
+ end