openai 0.63.0 → 0.65.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 (305) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +28 -0
  3. data/README.md +1 -1
  4. data/lib/openai/internal/transport/base_client.rb +2 -0
  5. data/lib/openai/models/admin/organization/audit_log_list_params.rb +6 -0
  6. data/lib/openai/models/admin/organization/audit_log_list_response.rb +231 -1
  7. data/lib/openai/models/admin/organization/data_retention_retrieve_params.rb +18 -0
  8. data/lib/openai/models/admin/organization/data_retention_update_params.rb +40 -0
  9. data/lib/openai/models/admin/organization/group.rb +16 -3
  10. data/lib/openai/models/admin/organization/group_retrieve_params.rb +24 -0
  11. data/lib/openai/models/admin/organization/groups/role_list_response.rb +27 -1
  12. data/lib/openai/models/admin/organization/groups/role_retrieve_params.rb +32 -0
  13. data/lib/openai/models/admin/organization/groups/role_retrieve_response.rb +134 -0
  14. data/lib/openai/models/admin/organization/groups/user_retrieve_params.rb +32 -0
  15. data/lib/openai/models/admin/organization/groups/user_retrieve_response.rb +79 -0
  16. data/lib/openai/models/admin/organization/invite_create_params.rb +2 -1
  17. data/lib/openai/models/admin/organization/organization_data_retention.rb +48 -0
  18. data/lib/openai/models/admin/organization/organization_spend_alert.rb +120 -0
  19. data/lib/openai/models/admin/organization/organization_spend_alert_deleted.rb +41 -0
  20. data/lib/openai/models/admin/organization/projects/data_retention_retrieve_params.rb +26 -0
  21. data/lib/openai/models/admin/organization/projects/data_retention_update_params.rb +51 -0
  22. data/lib/openai/models/admin/organization/projects/group_retrieve_params.rb +53 -0
  23. data/lib/openai/models/admin/organization/projects/groups/role_list_response.rb +27 -1
  24. data/lib/openai/models/admin/organization/projects/groups/role_retrieve_params.rb +40 -0
  25. data/lib/openai/models/admin/organization/projects/groups/role_retrieve_response.rb +136 -0
  26. data/lib/openai/models/admin/organization/projects/hosted_tool_permission_retrieve_params.rb +26 -0
  27. data/lib/openai/models/admin/organization/projects/hosted_tool_permission_update_params.rb +150 -0
  28. data/lib/openai/models/admin/organization/projects/model_permission_delete_params.rb +26 -0
  29. data/lib/openai/models/admin/organization/projects/model_permission_retrieve_params.rb +26 -0
  30. data/lib/openai/models/admin/organization/projects/model_permission_update_params.rb +54 -0
  31. data/lib/openai/models/admin/organization/projects/project_data_retention.rb +52 -0
  32. data/lib/openai/models/admin/organization/projects/project_group.rb +16 -3
  33. data/lib/openai/models/admin/organization/projects/project_hosted_tool_permissions.rb +133 -0
  34. data/lib/openai/models/admin/organization/projects/project_model_permissions.rb +56 -0
  35. data/lib/openai/models/admin/organization/projects/project_model_permissions_deleted.rb +35 -0
  36. data/lib/openai/models/admin/organization/projects/project_spend_alert.rb +122 -0
  37. data/lib/openai/models/admin/organization/projects/project_spend_alert_deleted.rb +43 -0
  38. data/lib/openai/models/admin/organization/projects/role_retrieve_params.rb +32 -0
  39. data/lib/openai/models/admin/organization/projects/service_account_update_params.rb +61 -0
  40. data/lib/openai/models/admin/organization/projects/spend_alert_create_params.rb +109 -0
  41. data/lib/openai/models/admin/organization/projects/spend_alert_delete_params.rb +32 -0
  42. data/lib/openai/models/admin/organization/projects/spend_alert_list_params.rb +76 -0
  43. data/lib/openai/models/admin/organization/projects/spend_alert_update_params.rb +116 -0
  44. data/lib/openai/models/admin/organization/projects/users/role_list_response.rb +27 -1
  45. data/lib/openai/models/admin/organization/projects/users/role_retrieve_params.rb +40 -0
  46. data/lib/openai/models/admin/organization/projects/users/role_retrieve_response.rb +136 -0
  47. data/lib/openai/models/admin/organization/role_retrieve_params.rb +24 -0
  48. data/lib/openai/models/admin/organization/spend_alert_create_params.rb +100 -0
  49. data/lib/openai/models/admin/organization/spend_alert_delete_params.rb +24 -0
  50. data/lib/openai/models/admin/organization/spend_alert_list_params.rb +66 -0
  51. data/lib/openai/models/admin/organization/spend_alert_update_params.rb +107 -0
  52. data/lib/openai/models/admin/organization/usage_audio_speeches_response.rb +148 -3
  53. data/lib/openai/models/admin/organization/usage_audio_transcriptions_response.rb +148 -3
  54. data/lib/openai/models/admin/organization/usage_code_interpreter_sessions_response.rb +148 -3
  55. data/lib/openai/models/admin/organization/usage_completions_response.rb +148 -3
  56. data/lib/openai/models/admin/organization/usage_costs_response.rb +148 -3
  57. data/lib/openai/models/admin/organization/usage_embeddings_response.rb +148 -3
  58. data/lib/openai/models/admin/organization/usage_file_search_calls_params.rb +136 -0
  59. data/lib/openai/models/admin/organization/usage_file_search_calls_response.rb +889 -0
  60. data/lib/openai/models/admin/organization/usage_images_response.rb +148 -3
  61. data/lib/openai/models/admin/organization/usage_moderations_response.rb +148 -3
  62. data/lib/openai/models/admin/organization/usage_vector_stores_response.rb +148 -3
  63. data/lib/openai/models/admin/organization/usage_web_search_calls_params.rb +157 -0
  64. data/lib/openai/models/admin/organization/usage_web_search_calls_response.rb +889 -0
  65. data/lib/openai/models/admin/organization/users/role_list_response.rb +27 -1
  66. data/lib/openai/models/admin/organization/users/role_retrieve_params.rb +32 -0
  67. data/lib/openai/models/admin/organization/users/role_retrieve_response.rb +134 -0
  68. data/lib/openai/models/chat/completion_create_params.rb +16 -0
  69. data/lib/openai/models/conversations/conversation_create_params.rb +2 -2
  70. data/lib/openai/models/conversations/conversation_item.rb +57 -1
  71. data/lib/openai/models/conversations/conversation_item_list.rb +2 -2
  72. data/lib/openai/models/conversations/item_create_params.rb +2 -2
  73. data/lib/openai/models/responses/compacted_response.rb +2 -2
  74. data/lib/openai/models/responses/input_token_count_params.rb +41 -4
  75. data/lib/openai/models/responses/response.rb +21 -5
  76. data/lib/openai/models/responses/response_compact_params.rb +3 -3
  77. data/lib/openai/models/responses/response_create_params.rb +19 -3
  78. data/lib/openai/models/responses/response_function_web_search.rb +11 -9
  79. data/lib/openai/models/responses/response_input_item.rb +54 -1
  80. data/lib/openai/models/responses/response_item.rb +57 -1
  81. data/lib/openai/models/responses/response_item_list.rb +2 -2
  82. data/lib/openai/models/responses/response_output_item.rb +57 -1
  83. data/lib/openai/models/responses/response_output_item_added_event.rb +2 -2
  84. data/lib/openai/models/responses/response_output_item_done_event.rb +2 -2
  85. data/lib/openai/models/responses/responses_client_event.rb +19 -3
  86. data/lib/openai/resources/admin/organization/data_retention.rb +60 -0
  87. data/lib/openai/resources/admin/organization/groups/roles.rb +28 -0
  88. data/lib/openai/resources/admin/organization/groups/users.rb +28 -0
  89. data/lib/openai/resources/admin/organization/groups.rb +21 -0
  90. data/lib/openai/resources/admin/organization/projects/data_retention.rb +66 -0
  91. data/lib/openai/resources/admin/organization/projects/groups/roles.rb +34 -0
  92. data/lib/openai/resources/admin/organization/projects/groups.rb +32 -0
  93. data/lib/openai/resources/admin/organization/projects/hosted_tool_permissions.rb +75 -0
  94. data/lib/openai/resources/admin/organization/projects/model_permissions.rb +89 -0
  95. data/lib/openai/resources/admin/organization/projects/roles.rb +28 -0
  96. data/lib/openai/resources/admin/organization/projects/service_accounts.rb +33 -0
  97. data/lib/openai/resources/admin/organization/projects/spend_alerts.rb +153 -0
  98. data/lib/openai/resources/admin/organization/projects/users/roles.rb +34 -0
  99. data/lib/openai/resources/admin/organization/projects.rb +18 -0
  100. data/lib/openai/resources/admin/organization/roles.rb +21 -0
  101. data/lib/openai/resources/admin/organization/spend_alerts.rb +133 -0
  102. data/lib/openai/resources/admin/organization/usage.rb +94 -0
  103. data/lib/openai/resources/admin/organization/users/roles.rb +28 -0
  104. data/lib/openai/resources/admin/organization.rb +8 -0
  105. data/lib/openai/resources/conversations/items.rb +3 -3
  106. data/lib/openai/resources/conversations.rb +1 -1
  107. data/lib/openai/resources/responses/input_items.rb +1 -1
  108. data/lib/openai/resources/responses/input_tokens.rb +4 -2
  109. data/lib/openai/resources/responses.rb +3 -3
  110. data/lib/openai/version.rb +1 -1
  111. data/lib/openai.rb +51 -0
  112. data/rbi/openai/models/admin/organization/audit_log_list_params.rbi +30 -0
  113. data/rbi/openai/models/admin/organization/audit_log_list_response.rbi +489 -3
  114. data/rbi/openai/models/admin/organization/data_retention_retrieve_params.rbi +34 -0
  115. data/rbi/openai/models/admin/organization/data_retention_update_params.rbi +101 -0
  116. data/rbi/openai/models/admin/organization/group.rbi +39 -3
  117. data/rbi/openai/models/admin/organization/group_retrieve_params.rbi +42 -0
  118. data/rbi/openai/models/admin/organization/groups/role_list_response.rbi +58 -0
  119. data/rbi/openai/models/admin/organization/groups/role_retrieve_params.rbi +52 -0
  120. data/rbi/openai/models/admin/organization/groups/role_retrieve_response.rbi +186 -0
  121. data/rbi/openai/models/admin/organization/groups/user_retrieve_params.rbi +52 -0
  122. data/rbi/openai/models/admin/organization/groups/user_retrieve_response.rbi +128 -0
  123. data/rbi/openai/models/admin/organization/invite_create_params.rbi +4 -2
  124. data/rbi/openai/models/admin/organization/organization_data_retention.rbi +106 -0
  125. data/rbi/openai/models/admin/organization/organization_spend_alert.rbi +225 -0
  126. data/rbi/openai/models/admin/organization/organization_spend_alert_deleted.rbi +58 -0
  127. data/rbi/openai/models/admin/organization/projects/data_retention_retrieve_params.rbi +44 -0
  128. data/rbi/openai/models/admin/organization/projects/data_retention_update_params.rbi +119 -0
  129. data/rbi/openai/models/admin/organization/projects/group_retrieve_params.rbi +115 -0
  130. data/rbi/openai/models/admin/organization/projects/groups/role_list_response.rbi +58 -0
  131. data/rbi/openai/models/admin/organization/projects/groups/role_retrieve_params.rbi +64 -0
  132. data/rbi/openai/models/admin/organization/projects/groups/role_retrieve_response.rbi +188 -0
  133. data/rbi/openai/models/admin/organization/projects/hosted_tool_permission_retrieve_params.rbi +44 -0
  134. data/rbi/openai/models/admin/organization/projects/hosted_tool_permission_update_params.rbi +330 -0
  135. data/rbi/openai/models/admin/organization/projects/model_permission_delete_params.rbi +44 -0
  136. data/rbi/openai/models/admin/organization/projects/model_permission_retrieve_params.rbi +44 -0
  137. data/rbi/openai/models/admin/organization/projects/model_permission_update_params.rbi +107 -0
  138. data/rbi/openai/models/admin/organization/projects/project_data_retention.rbi +118 -0
  139. data/rbi/openai/models/admin/organization/projects/project_group.rbi +44 -3
  140. data/rbi/openai/models/admin/organization/projects/project_hosted_tool_permissions.rbi +281 -0
  141. data/rbi/openai/models/admin/organization/projects/project_model_permissions.rbi +106 -0
  142. data/rbi/openai/models/admin/organization/projects/project_model_permissions_deleted.rbi +50 -0
  143. data/rbi/openai/models/admin/organization/projects/project_spend_alert.rbi +227 -0
  144. data/rbi/openai/models/admin/organization/projects/project_spend_alert_deleted.rbi +59 -0
  145. data/rbi/openai/models/admin/organization/projects/role_retrieve_params.rbi +52 -0
  146. data/rbi/openai/models/admin/organization/projects/service_account_update_params.rbi +126 -0
  147. data/rbi/openai/models/admin/organization/projects/spend_alert_create_params.rbi +220 -0
  148. data/rbi/openai/models/admin/organization/projects/spend_alert_delete_params.rbi +52 -0
  149. data/rbi/openai/models/admin/organization/projects/spend_alert_list_params.rbi +146 -0
  150. data/rbi/openai/models/admin/organization/projects/spend_alert_update_params.rbi +226 -0
  151. data/rbi/openai/models/admin/organization/projects/users/role_list_response.rbi +58 -0
  152. data/rbi/openai/models/admin/organization/projects/users/role_retrieve_params.rbi +59 -0
  153. data/rbi/openai/models/admin/organization/projects/users/role_retrieve_response.rbi +188 -0
  154. data/rbi/openai/models/admin/organization/role_retrieve_params.rbi +42 -0
  155. data/rbi/openai/models/admin/organization/spend_alert_create_params.rbi +212 -0
  156. data/rbi/openai/models/admin/organization/spend_alert_delete_params.rbi +42 -0
  157. data/rbi/openai/models/admin/organization/spend_alert_list_params.rbi +138 -0
  158. data/rbi/openai/models/admin/organization/spend_alert_update_params.rbi +218 -0
  159. data/rbi/openai/models/admin/organization/usage_audio_speeches_response.rbi +186 -0
  160. data/rbi/openai/models/admin/organization/usage_audio_transcriptions_response.rbi +186 -0
  161. data/rbi/openai/models/admin/organization/usage_code_interpreter_sessions_response.rbi +186 -0
  162. data/rbi/openai/models/admin/organization/usage_completions_response.rbi +186 -0
  163. data/rbi/openai/models/admin/organization/usage_costs_response.rbi +186 -0
  164. data/rbi/openai/models/admin/organization/usage_embeddings_response.rbi +186 -0
  165. data/rbi/openai/models/admin/organization/usage_file_search_calls_params.rbi +284 -0
  166. data/rbi/openai/models/admin/organization/usage_file_search_calls_response.rbi +1225 -0
  167. data/rbi/openai/models/admin/organization/usage_images_response.rbi +186 -0
  168. data/rbi/openai/models/admin/organization/usage_moderations_response.rbi +186 -0
  169. data/rbi/openai/models/admin/organization/usage_vector_stores_response.rbi +186 -0
  170. data/rbi/openai/models/admin/organization/usage_web_search_calls_params.rbi +360 -0
  171. data/rbi/openai/models/admin/organization/usage_web_search_calls_response.rbi +1225 -0
  172. data/rbi/openai/models/admin/organization/users/role_list_response.rbi +58 -0
  173. data/rbi/openai/models/admin/organization/users/role_retrieve_params.rbi +52 -0
  174. data/rbi/openai/models/admin/organization/users/role_retrieve_response.rbi +186 -0
  175. data/rbi/openai/models/chat/completion_create_params.rbi +24 -0
  176. data/rbi/openai/models/conversations/conversation_create_params.rbi +6 -0
  177. data/rbi/openai/models/conversations/conversation_item.rbi +150 -0
  178. data/rbi/openai/models/conversations/conversation_item_list.rbi +1 -0
  179. data/rbi/openai/models/conversations/item_create_params.rbi +6 -0
  180. data/rbi/openai/models/responses/compacted_response.rbi +1 -0
  181. data/rbi/openai/models/responses/input_token_count_params.rbi +85 -0
  182. data/rbi/openai/models/responses/response.rbi +25 -0
  183. data/rbi/openai/models/responses/response_create_params.rbi +24 -0
  184. data/rbi/openai/models/responses/response_function_web_search.rbi +11 -8
  185. data/rbi/openai/models/responses/response_input_item.rbi +147 -0
  186. data/rbi/openai/models/responses/response_item.rbi +150 -0
  187. data/rbi/openai/models/responses/response_item_list.rbi +1 -0
  188. data/rbi/openai/models/responses/response_output_item.rbi +150 -0
  189. data/rbi/openai/models/responses/response_output_item_added_event.rbi +1 -0
  190. data/rbi/openai/models/responses/response_output_item_done_event.rbi +1 -0
  191. data/rbi/openai/models/responses/responses_client_event.rbi +24 -0
  192. data/rbi/openai/resources/admin/organization/data_retention.rbi +40 -0
  193. data/rbi/openai/resources/admin/organization/groups/roles.rbi +19 -0
  194. data/rbi/openai/resources/admin/organization/groups/users.rbi +19 -0
  195. data/rbi/openai/resources/admin/organization/groups.rbi +14 -0
  196. data/rbi/openai/resources/admin/organization/invites.rbi +2 -1
  197. data/rbi/openai/resources/admin/organization/projects/data_retention.rbi +54 -0
  198. data/rbi/openai/resources/admin/organization/projects/groups/roles.rbi +22 -0
  199. data/rbi/openai/resources/admin/organization/projects/groups.rbi +21 -0
  200. data/rbi/openai/resources/admin/organization/projects/hosted_tool_permissions.rbi +80 -0
  201. data/rbi/openai/resources/admin/organization/projects/model_permissions.rbi +73 -0
  202. data/rbi/openai/resources/admin/organization/projects/roles.rbi +17 -0
  203. data/rbi/openai/resources/admin/organization/projects/service_accounts.rbi +26 -0
  204. data/rbi/openai/resources/admin/organization/projects/spend_alerts.rbi +135 -0
  205. data/rbi/openai/resources/admin/organization/projects/users/roles.rbi +22 -0
  206. data/rbi/openai/resources/admin/organization/projects.rbi +28 -0
  207. data/rbi/openai/resources/admin/organization/roles.rbi +14 -0
  208. data/rbi/openai/resources/admin/organization/spend_alerts.rbi +117 -0
  209. data/rbi/openai/resources/admin/organization/usage.rbi +116 -0
  210. data/rbi/openai/resources/admin/organization/users/roles.rbi +19 -0
  211. data/rbi/openai/resources/admin/organization.rbi +6 -0
  212. data/rbi/openai/resources/chat/completions.rbi +16 -0
  213. data/rbi/openai/resources/conversations/items.rbi +2 -0
  214. data/rbi/openai/resources/conversations.rbi +2 -0
  215. data/rbi/openai/resources/responses/input_tokens.rbi +9 -0
  216. data/rbi/openai/resources/responses.rbi +16 -0
  217. data/sig/openai/models/admin/organization/audit_log_list_params.rbs +12 -0
  218. data/sig/openai/models/admin/organization/audit_log_list_response.rbs +216 -3
  219. data/sig/openai/models/admin/organization/data_retention_retrieve_params.rbs +19 -0
  220. data/sig/openai/models/admin/organization/data_retention_update_params.rbs +47 -0
  221. data/sig/openai/models/admin/organization/group.rbs +15 -4
  222. data/sig/openai/models/admin/organization/group_retrieve_params.rbs +27 -0
  223. data/sig/openai/models/admin/organization/groups/role_list_response.rbs +21 -0
  224. data/sig/openai/models/admin/organization/groups/role_retrieve_params.rbs +34 -0
  225. data/sig/openai/models/admin/organization/groups/role_retrieve_response.rbs +97 -0
  226. data/sig/openai/models/admin/organization/groups/user_retrieve_params.rbs +34 -0
  227. data/sig/openai/models/admin/organization/groups/user_retrieve_response.rbs +62 -0
  228. data/sig/openai/models/admin/organization/organization_data_retention.rbs +48 -0
  229. data/sig/openai/models/admin/organization/organization_spend_alert.rbs +98 -0
  230. data/sig/openai/models/admin/organization/organization_spend_alert_deleted.rbs +36 -0
  231. data/sig/openai/models/admin/organization/projects/data_retention_retrieve_params.rbs +29 -0
  232. data/sig/openai/models/admin/organization/projects/data_retention_update_params.rbs +58 -0
  233. data/sig/openai/models/admin/organization/projects/group_retrieve_params.rbs +57 -0
  234. data/sig/openai/models/admin/organization/projects/groups/role_list_response.rbs +21 -0
  235. data/sig/openai/models/admin/organization/projects/groups/role_retrieve_params.rbs +40 -0
  236. data/sig/openai/models/admin/organization/projects/groups/role_retrieve_response.rbs +99 -0
  237. data/sig/openai/models/admin/organization/projects/hosted_tool_permission_retrieve_params.rbs +29 -0
  238. data/sig/openai/models/admin/organization/projects/hosted_tool_permission_update_params.rbs +107 -0
  239. data/sig/openai/models/admin/organization/projects/model_permission_delete_params.rbs +29 -0
  240. data/sig/openai/models/admin/organization/projects/model_permission_retrieve_params.rbs +29 -0
  241. data/sig/openai/models/admin/organization/projects/model_permission_update_params.rbs +53 -0
  242. data/sig/openai/models/admin/organization/projects/project_data_retention.rbs +54 -0
  243. data/sig/openai/models/admin/organization/projects/project_group.rbs +15 -4
  244. data/sig/openai/models/admin/organization/projects/project_hosted_tool_permissions.rbs +98 -0
  245. data/sig/openai/models/admin/organization/projects/project_model_permissions.rbs +49 -0
  246. data/sig/openai/models/admin/organization/projects/project_model_permissions_deleted.rbs +30 -0
  247. data/sig/openai/models/admin/organization/projects/project_spend_alert.rbs +100 -0
  248. data/sig/openai/models/admin/organization/projects/project_spend_alert_deleted.rbs +38 -0
  249. data/sig/openai/models/admin/organization/projects/role_retrieve_params.rbs +34 -0
  250. data/sig/openai/models/admin/organization/projects/service_account_update_params.rbs +64 -0
  251. data/sig/openai/models/admin/organization/projects/spend_alert_create_params.rbs +99 -0
  252. data/sig/openai/models/admin/organization/projects/spend_alert_delete_params.rbs +34 -0
  253. data/sig/openai/models/admin/organization/projects/spend_alert_list_params.rbs +73 -0
  254. data/sig/openai/models/admin/organization/projects/spend_alert_update_params.rbs +104 -0
  255. data/sig/openai/models/admin/organization/projects/users/role_list_response.rbs +21 -0
  256. data/sig/openai/models/admin/organization/projects/users/role_retrieve_params.rbs +40 -0
  257. data/sig/openai/models/admin/organization/projects/users/role_retrieve_response.rbs +99 -0
  258. data/sig/openai/models/admin/organization/role_retrieve_params.rbs +27 -0
  259. data/sig/openai/models/admin/organization/spend_alert_create_params.rbs +92 -0
  260. data/sig/openai/models/admin/organization/spend_alert_delete_params.rbs +27 -0
  261. data/sig/openai/models/admin/organization/spend_alert_list_params.rbs +66 -0
  262. data/sig/openai/models/admin/organization/spend_alert_update_params.rbs +97 -0
  263. data/sig/openai/models/admin/organization/usage_audio_speeches_response.rbs +96 -0
  264. data/sig/openai/models/admin/organization/usage_audio_transcriptions_response.rbs +96 -0
  265. data/sig/openai/models/admin/organization/usage_code_interpreter_sessions_response.rbs +96 -0
  266. data/sig/openai/models/admin/organization/usage_completions_response.rbs +96 -0
  267. data/sig/openai/models/admin/organization/usage_costs_response.rbs +96 -0
  268. data/sig/openai/models/admin/organization/usage_embeddings_response.rbs +96 -0
  269. data/sig/openai/models/admin/organization/usage_file_search_calls_params.rbs +123 -0
  270. data/sig/openai/models/admin/organization/usage_file_search_calls_response.rbs +628 -0
  271. data/sig/openai/models/admin/organization/usage_images_response.rbs +96 -0
  272. data/sig/openai/models/admin/organization/usage_moderations_response.rbs +96 -0
  273. data/sig/openai/models/admin/organization/usage_vector_stores_response.rbs +96 -0
  274. data/sig/openai/models/admin/organization/usage_web_search_calls_params.rbs +145 -0
  275. data/sig/openai/models/admin/organization/usage_web_search_calls_response.rbs +628 -0
  276. data/sig/openai/models/admin/organization/users/role_list_response.rbs +21 -0
  277. data/sig/openai/models/admin/organization/users/role_retrieve_params.rbs +34 -0
  278. data/sig/openai/models/admin/organization/users/role_retrieve_response.rbs +97 -0
  279. data/sig/openai/models/conversations/conversation_item.rbs +58 -0
  280. data/sig/openai/models/responses/input_token_count_params.rbs +20 -0
  281. data/sig/openai/models/responses/response_function_web_search.rbs +7 -5
  282. data/sig/openai/models/responses/response_input_item.rbs +44 -0
  283. data/sig/openai/models/responses/response_item.rbs +58 -0
  284. data/sig/openai/models/responses/response_output_item.rbs +58 -0
  285. data/sig/openai/resources/admin/organization/data_retention.rbs +20 -0
  286. data/sig/openai/resources/admin/organization/groups/roles.rbs +6 -0
  287. data/sig/openai/resources/admin/organization/groups/users.rbs +6 -0
  288. data/sig/openai/resources/admin/organization/groups.rbs +5 -0
  289. data/sig/openai/resources/admin/organization/projects/data_retention.rbs +24 -0
  290. data/sig/openai/resources/admin/organization/projects/groups/roles.rbs +7 -0
  291. data/sig/openai/resources/admin/organization/projects/groups.rbs +7 -0
  292. data/sig/openai/resources/admin/organization/projects/hosted_tool_permissions.rbs +28 -0
  293. data/sig/openai/resources/admin/organization/projects/model_permissions.rbs +30 -0
  294. data/sig/openai/resources/admin/organization/projects/roles.rbs +6 -0
  295. data/sig/openai/resources/admin/organization/projects/service_accounts.rbs +8 -0
  296. data/sig/openai/resources/admin/organization/projects/spend_alerts.rbs +47 -0
  297. data/sig/openai/resources/admin/organization/projects/users/roles.rbs +7 -0
  298. data/sig/openai/resources/admin/organization/projects.rbs +8 -0
  299. data/sig/openai/resources/admin/organization/roles.rbs +5 -0
  300. data/sig/openai/resources/admin/organization/spend_alerts.rbs +41 -0
  301. data/sig/openai/resources/admin/organization/usage.rbs +29 -0
  302. data/sig/openai/resources/admin/organization/users/roles.rbs +6 -0
  303. data/sig/openai/resources/admin/organization.rbs +4 -0
  304. data/sig/openai/resources/responses/input_tokens.rbs +1 -0
  305. metadata +155 -2
@@ -0,0 +1,218 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Admin
6
+ module Organization
7
+ class SpendAlertUpdateParams < OpenAI::Internal::Type::BaseModel
8
+ extend OpenAI::Internal::Type::RequestParameters::Converter
9
+ include OpenAI::Internal::Type::RequestParameters
10
+
11
+ OrHash =
12
+ T.type_alias do
13
+ T.any(
14
+ OpenAI::Admin::Organization::SpendAlertUpdateParams,
15
+ OpenAI::Internal::AnyHash
16
+ )
17
+ end
18
+
19
+ sig { returns(String) }
20
+ attr_accessor :alert_id
21
+
22
+ # The currency for the threshold amount.
23
+ sig do
24
+ returns(
25
+ OpenAI::Admin::Organization::SpendAlertUpdateParams::Currency::OrSymbol
26
+ )
27
+ end
28
+ attr_accessor :currency
29
+
30
+ # The time interval for evaluating spend against the threshold.
31
+ sig do
32
+ returns(
33
+ OpenAI::Admin::Organization::SpendAlertUpdateParams::Interval::OrSymbol
34
+ )
35
+ end
36
+ attr_accessor :interval
37
+
38
+ # Email notification settings for a spend alert.
39
+ sig do
40
+ returns(
41
+ OpenAI::Admin::Organization::SpendAlertUpdateParams::NotificationChannel
42
+ )
43
+ end
44
+ attr_reader :notification_channel
45
+
46
+ sig do
47
+ params(
48
+ notification_channel:
49
+ OpenAI::Admin::Organization::SpendAlertUpdateParams::NotificationChannel::OrHash
50
+ ).void
51
+ end
52
+ attr_writer :notification_channel
53
+
54
+ # The alert threshold amount, in cents.
55
+ sig { returns(Integer) }
56
+ attr_accessor :threshold_amount
57
+
58
+ sig do
59
+ params(
60
+ alert_id: String,
61
+ currency:
62
+ OpenAI::Admin::Organization::SpendAlertUpdateParams::Currency::OrSymbol,
63
+ interval:
64
+ OpenAI::Admin::Organization::SpendAlertUpdateParams::Interval::OrSymbol,
65
+ notification_channel:
66
+ OpenAI::Admin::Organization::SpendAlertUpdateParams::NotificationChannel::OrHash,
67
+ threshold_amount: Integer,
68
+ request_options: OpenAI::RequestOptions::OrHash
69
+ ).returns(T.attached_class)
70
+ end
71
+ def self.new(
72
+ alert_id:,
73
+ # The currency for the threshold amount.
74
+ currency:,
75
+ # The time interval for evaluating spend against the threshold.
76
+ interval:,
77
+ # Email notification settings for a spend alert.
78
+ notification_channel:,
79
+ # The alert threshold amount, in cents.
80
+ threshold_amount:,
81
+ request_options: {}
82
+ )
83
+ end
84
+
85
+ sig do
86
+ override.returns(
87
+ {
88
+ alert_id: String,
89
+ currency:
90
+ OpenAI::Admin::Organization::SpendAlertUpdateParams::Currency::OrSymbol,
91
+ interval:
92
+ OpenAI::Admin::Organization::SpendAlertUpdateParams::Interval::OrSymbol,
93
+ notification_channel:
94
+ OpenAI::Admin::Organization::SpendAlertUpdateParams::NotificationChannel,
95
+ threshold_amount: Integer,
96
+ request_options: OpenAI::RequestOptions
97
+ }
98
+ )
99
+ end
100
+ def to_hash
101
+ end
102
+
103
+ # The currency for the threshold amount.
104
+ module Currency
105
+ extend OpenAI::Internal::Type::Enum
106
+
107
+ TaggedSymbol =
108
+ T.type_alias do
109
+ T.all(
110
+ Symbol,
111
+ OpenAI::Admin::Organization::SpendAlertUpdateParams::Currency
112
+ )
113
+ end
114
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
115
+
116
+ USD =
117
+ T.let(
118
+ :USD,
119
+ OpenAI::Admin::Organization::SpendAlertUpdateParams::Currency::TaggedSymbol
120
+ )
121
+
122
+ sig do
123
+ override.returns(
124
+ T::Array[
125
+ OpenAI::Admin::Organization::SpendAlertUpdateParams::Currency::TaggedSymbol
126
+ ]
127
+ )
128
+ end
129
+ def self.values
130
+ end
131
+ end
132
+
133
+ # The time interval for evaluating spend against the threshold.
134
+ module Interval
135
+ extend OpenAI::Internal::Type::Enum
136
+
137
+ TaggedSymbol =
138
+ T.type_alias do
139
+ T.all(
140
+ Symbol,
141
+ OpenAI::Admin::Organization::SpendAlertUpdateParams::Interval
142
+ )
143
+ end
144
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
145
+
146
+ MONTH =
147
+ T.let(
148
+ :month,
149
+ OpenAI::Admin::Organization::SpendAlertUpdateParams::Interval::TaggedSymbol
150
+ )
151
+
152
+ sig do
153
+ override.returns(
154
+ T::Array[
155
+ OpenAI::Admin::Organization::SpendAlertUpdateParams::Interval::TaggedSymbol
156
+ ]
157
+ )
158
+ end
159
+ def self.values
160
+ end
161
+ end
162
+
163
+ class NotificationChannel < OpenAI::Internal::Type::BaseModel
164
+ OrHash =
165
+ T.type_alias do
166
+ T.any(
167
+ OpenAI::Admin::Organization::SpendAlertUpdateParams::NotificationChannel,
168
+ OpenAI::Internal::AnyHash
169
+ )
170
+ end
171
+
172
+ # Email addresses that receive the spend alert notification.
173
+ sig { returns(T::Array[String]) }
174
+ attr_accessor :recipients
175
+
176
+ # The notification channel type. Currently only `email` is supported.
177
+ sig { returns(Symbol) }
178
+ attr_accessor :type
179
+
180
+ # Optional subject prefix for alert emails.
181
+ sig { returns(T.nilable(String)) }
182
+ attr_accessor :subject_prefix
183
+
184
+ # Email notification settings for a spend alert.
185
+ sig do
186
+ params(
187
+ recipients: T::Array[String],
188
+ subject_prefix: T.nilable(String),
189
+ type: Symbol
190
+ ).returns(T.attached_class)
191
+ end
192
+ def self.new(
193
+ # Email addresses that receive the spend alert notification.
194
+ recipients:,
195
+ # Optional subject prefix for alert emails.
196
+ subject_prefix: nil,
197
+ # The notification channel type. Currently only `email` is supported.
198
+ type: :email
199
+ )
200
+ end
201
+
202
+ sig do
203
+ override.returns(
204
+ {
205
+ recipients: T::Array[String],
206
+ type: Symbol,
207
+ subject_prefix: T.nilable(String)
208
+ }
209
+ )
210
+ end
211
+ def to_hash
212
+ end
213
+ end
214
+ end
215
+ end
216
+ end
217
+ end
218
+ end
@@ -102,6 +102,8 @@ module OpenAI
102
102
  OpenAI::Models::Admin::Organization::UsageAudioSpeechesResponse::Data::Result::OrganizationUsageAudioTranscriptionsResult::OrHash,
103
103
  OpenAI::Models::Admin::Organization::UsageAudioSpeechesResponse::Data::Result::OrganizationUsageVectorStoresResult::OrHash,
104
104
  OpenAI::Models::Admin::Organization::UsageAudioSpeechesResponse::Data::Result::OrganizationUsageCodeInterpreterSessionsResult::OrHash,
105
+ OpenAI::Models::Admin::Organization::UsageAudioSpeechesResponse::Data::Result::OrganizationUsageFileSearchesResult::OrHash,
106
+ OpenAI::Models::Admin::Organization::UsageAudioSpeechesResponse::Data::Result::OrganizationUsageWebSearchesResult::OrHash,
105
107
  OpenAI::Models::Admin::Organization::UsageAudioSpeechesResponse::Data::Result::OrganizationCostsResult::OrHash
106
108
  )
107
109
  ],
@@ -143,6 +145,8 @@ module OpenAI
143
145
  OpenAI::Models::Admin::Organization::UsageAudioSpeechesResponse::Data::Result::OrganizationUsageAudioTranscriptionsResult,
144
146
  OpenAI::Models::Admin::Organization::UsageAudioSpeechesResponse::Data::Result::OrganizationUsageVectorStoresResult,
145
147
  OpenAI::Models::Admin::Organization::UsageAudioSpeechesResponse::Data::Result::OrganizationUsageCodeInterpreterSessionsResult,
148
+ OpenAI::Models::Admin::Organization::UsageAudioSpeechesResponse::Data::Result::OrganizationUsageFileSearchesResult,
149
+ OpenAI::Models::Admin::Organization::UsageAudioSpeechesResponse::Data::Result::OrganizationUsageWebSearchesResult,
146
150
  OpenAI::Models::Admin::Organization::UsageAudioSpeechesResponse::Data::Result::OrganizationCostsResult
147
151
  )
148
152
  end
@@ -881,6 +885,188 @@ module OpenAI
881
885
  end
882
886
  end
883
887
 
888
+ class OrganizationUsageFileSearchesResult < OpenAI::Internal::Type::BaseModel
889
+ OrHash =
890
+ T.type_alias do
891
+ T.any(
892
+ OpenAI::Models::Admin::Organization::UsageAudioSpeechesResponse::Data::Result::OrganizationUsageFileSearchesResult,
893
+ OpenAI::Internal::AnyHash
894
+ )
895
+ end
896
+
897
+ # The count of file search calls.
898
+ sig { returns(Integer) }
899
+ attr_accessor :num_requests
900
+
901
+ sig { returns(Symbol) }
902
+ attr_accessor :object
903
+
904
+ # When `group_by=api_key_id`, this field provides the API key ID of the grouped
905
+ # usage result.
906
+ sig { returns(T.nilable(String)) }
907
+ attr_accessor :api_key_id
908
+
909
+ # When `group_by=project_id`, this field provides the project ID of the grouped
910
+ # usage result.
911
+ sig { returns(T.nilable(String)) }
912
+ attr_accessor :project_id
913
+
914
+ # When `group_by=user_id`, this field provides the user ID of the grouped usage
915
+ # result.
916
+ sig { returns(T.nilable(String)) }
917
+ attr_accessor :user_id
918
+
919
+ # When `group_by=vector_store_id`, this field provides the vector store ID of the
920
+ # grouped usage result.
921
+ sig { returns(T.nilable(String)) }
922
+ attr_accessor :vector_store_id
923
+
924
+ # The aggregated file search calls usage details of the specific time bucket.
925
+ sig do
926
+ params(
927
+ num_requests: Integer,
928
+ api_key_id: T.nilable(String),
929
+ project_id: T.nilable(String),
930
+ user_id: T.nilable(String),
931
+ vector_store_id: T.nilable(String),
932
+ object: Symbol
933
+ ).returns(T.attached_class)
934
+ end
935
+ def self.new(
936
+ # The count of file search calls.
937
+ num_requests:,
938
+ # When `group_by=api_key_id`, this field provides the API key ID of the grouped
939
+ # usage result.
940
+ api_key_id: nil,
941
+ # When `group_by=project_id`, this field provides the project ID of the grouped
942
+ # usage result.
943
+ project_id: nil,
944
+ # When `group_by=user_id`, this field provides the user ID of the grouped usage
945
+ # result.
946
+ user_id: nil,
947
+ # When `group_by=vector_store_id`, this field provides the vector store ID of the
948
+ # grouped usage result.
949
+ vector_store_id: nil,
950
+ object: :"organization.usage.file_searches.result"
951
+ )
952
+ end
953
+
954
+ sig do
955
+ override.returns(
956
+ {
957
+ num_requests: Integer,
958
+ object: Symbol,
959
+ api_key_id: T.nilable(String),
960
+ project_id: T.nilable(String),
961
+ user_id: T.nilable(String),
962
+ vector_store_id: T.nilable(String)
963
+ }
964
+ )
965
+ end
966
+ def to_hash
967
+ end
968
+ end
969
+
970
+ class OrganizationUsageWebSearchesResult < OpenAI::Internal::Type::BaseModel
971
+ OrHash =
972
+ T.type_alias do
973
+ T.any(
974
+ OpenAI::Models::Admin::Organization::UsageAudioSpeechesResponse::Data::Result::OrganizationUsageWebSearchesResult,
975
+ OpenAI::Internal::AnyHash
976
+ )
977
+ end
978
+
979
+ # The count of model requests.
980
+ sig { returns(Integer) }
981
+ attr_accessor :num_model_requests
982
+
983
+ # The count of web search calls.
984
+ sig { returns(Integer) }
985
+ attr_accessor :num_requests
986
+
987
+ sig { returns(Symbol) }
988
+ attr_accessor :object
989
+
990
+ # When `group_by=api_key_id`, this field provides the API key ID of the grouped
991
+ # usage result.
992
+ sig { returns(T.nilable(String)) }
993
+ attr_accessor :api_key_id
994
+
995
+ # When `group_by=context_level`, this field provides the search context size of
996
+ # the grouped usage result.
997
+ sig { returns(T.nilable(String)) }
998
+ attr_accessor :context_level
999
+
1000
+ # When `group_by=model`, this field provides the model name of the grouped usage
1001
+ # result.
1002
+ sig { returns(T.nilable(String)) }
1003
+ attr_accessor :model
1004
+
1005
+ # When `group_by=project_id`, this field provides the project ID of the grouped
1006
+ # usage result.
1007
+ sig { returns(T.nilable(String)) }
1008
+ attr_accessor :project_id
1009
+
1010
+ # When `group_by=user_id`, this field provides the user ID of the grouped usage
1011
+ # result.
1012
+ sig { returns(T.nilable(String)) }
1013
+ attr_accessor :user_id
1014
+
1015
+ # The aggregated web search calls usage details of the specific time bucket.
1016
+ sig do
1017
+ params(
1018
+ num_model_requests: Integer,
1019
+ num_requests: Integer,
1020
+ api_key_id: T.nilable(String),
1021
+ context_level: T.nilable(String),
1022
+ model: T.nilable(String),
1023
+ project_id: T.nilable(String),
1024
+ user_id: T.nilable(String),
1025
+ object: Symbol
1026
+ ).returns(T.attached_class)
1027
+ end
1028
+ def self.new(
1029
+ # The count of model requests.
1030
+ num_model_requests:,
1031
+ # The count of web search calls.
1032
+ num_requests:,
1033
+ # When `group_by=api_key_id`, this field provides the API key ID of the grouped
1034
+ # usage result.
1035
+ api_key_id: nil,
1036
+ # When `group_by=context_level`, this field provides the search context size of
1037
+ # the grouped usage result.
1038
+ context_level: nil,
1039
+ # When `group_by=model`, this field provides the model name of the grouped usage
1040
+ # result.
1041
+ model: nil,
1042
+ # When `group_by=project_id`, this field provides the project ID of the grouped
1043
+ # usage result.
1044
+ project_id: nil,
1045
+ # When `group_by=user_id`, this field provides the user ID of the grouped usage
1046
+ # result.
1047
+ user_id: nil,
1048
+ object: :"organization.usage.web_searches.result"
1049
+ )
1050
+ end
1051
+
1052
+ sig do
1053
+ override.returns(
1054
+ {
1055
+ num_model_requests: Integer,
1056
+ num_requests: Integer,
1057
+ object: Symbol,
1058
+ api_key_id: T.nilable(String),
1059
+ context_level: T.nilable(String),
1060
+ model: T.nilable(String),
1061
+ project_id: T.nilable(String),
1062
+ user_id: T.nilable(String)
1063
+ }
1064
+ )
1065
+ end
1066
+ def to_hash
1067
+ end
1068
+ end
1069
+
884
1070
  class OrganizationCostsResult < OpenAI::Internal::Type::BaseModel
885
1071
  OrHash =
886
1072
  T.type_alias do
@@ -102,6 +102,8 @@ module OpenAI
102
102
  OpenAI::Models::Admin::Organization::UsageAudioTranscriptionsResponse::Data::Result::OrganizationUsageAudioTranscriptionsResult::OrHash,
103
103
  OpenAI::Models::Admin::Organization::UsageAudioTranscriptionsResponse::Data::Result::OrganizationUsageVectorStoresResult::OrHash,
104
104
  OpenAI::Models::Admin::Organization::UsageAudioTranscriptionsResponse::Data::Result::OrganizationUsageCodeInterpreterSessionsResult::OrHash,
105
+ OpenAI::Models::Admin::Organization::UsageAudioTranscriptionsResponse::Data::Result::OrganizationUsageFileSearchesResult::OrHash,
106
+ OpenAI::Models::Admin::Organization::UsageAudioTranscriptionsResponse::Data::Result::OrganizationUsageWebSearchesResult::OrHash,
105
107
  OpenAI::Models::Admin::Organization::UsageAudioTranscriptionsResponse::Data::Result::OrganizationCostsResult::OrHash
106
108
  )
107
109
  ],
@@ -143,6 +145,8 @@ module OpenAI
143
145
  OpenAI::Models::Admin::Organization::UsageAudioTranscriptionsResponse::Data::Result::OrganizationUsageAudioTranscriptionsResult,
144
146
  OpenAI::Models::Admin::Organization::UsageAudioTranscriptionsResponse::Data::Result::OrganizationUsageVectorStoresResult,
145
147
  OpenAI::Models::Admin::Organization::UsageAudioTranscriptionsResponse::Data::Result::OrganizationUsageCodeInterpreterSessionsResult,
148
+ OpenAI::Models::Admin::Organization::UsageAudioTranscriptionsResponse::Data::Result::OrganizationUsageFileSearchesResult,
149
+ OpenAI::Models::Admin::Organization::UsageAudioTranscriptionsResponse::Data::Result::OrganizationUsageWebSearchesResult,
146
150
  OpenAI::Models::Admin::Organization::UsageAudioTranscriptionsResponse::Data::Result::OrganizationCostsResult
147
151
  )
148
152
  end
@@ -881,6 +885,188 @@ module OpenAI
881
885
  end
882
886
  end
883
887
 
888
+ class OrganizationUsageFileSearchesResult < OpenAI::Internal::Type::BaseModel
889
+ OrHash =
890
+ T.type_alias do
891
+ T.any(
892
+ OpenAI::Models::Admin::Organization::UsageAudioTranscriptionsResponse::Data::Result::OrganizationUsageFileSearchesResult,
893
+ OpenAI::Internal::AnyHash
894
+ )
895
+ end
896
+
897
+ # The count of file search calls.
898
+ sig { returns(Integer) }
899
+ attr_accessor :num_requests
900
+
901
+ sig { returns(Symbol) }
902
+ attr_accessor :object
903
+
904
+ # When `group_by=api_key_id`, this field provides the API key ID of the grouped
905
+ # usage result.
906
+ sig { returns(T.nilable(String)) }
907
+ attr_accessor :api_key_id
908
+
909
+ # When `group_by=project_id`, this field provides the project ID of the grouped
910
+ # usage result.
911
+ sig { returns(T.nilable(String)) }
912
+ attr_accessor :project_id
913
+
914
+ # When `group_by=user_id`, this field provides the user ID of the grouped usage
915
+ # result.
916
+ sig { returns(T.nilable(String)) }
917
+ attr_accessor :user_id
918
+
919
+ # When `group_by=vector_store_id`, this field provides the vector store ID of the
920
+ # grouped usage result.
921
+ sig { returns(T.nilable(String)) }
922
+ attr_accessor :vector_store_id
923
+
924
+ # The aggregated file search calls usage details of the specific time bucket.
925
+ sig do
926
+ params(
927
+ num_requests: Integer,
928
+ api_key_id: T.nilable(String),
929
+ project_id: T.nilable(String),
930
+ user_id: T.nilable(String),
931
+ vector_store_id: T.nilable(String),
932
+ object: Symbol
933
+ ).returns(T.attached_class)
934
+ end
935
+ def self.new(
936
+ # The count of file search calls.
937
+ num_requests:,
938
+ # When `group_by=api_key_id`, this field provides the API key ID of the grouped
939
+ # usage result.
940
+ api_key_id: nil,
941
+ # When `group_by=project_id`, this field provides the project ID of the grouped
942
+ # usage result.
943
+ project_id: nil,
944
+ # When `group_by=user_id`, this field provides the user ID of the grouped usage
945
+ # result.
946
+ user_id: nil,
947
+ # When `group_by=vector_store_id`, this field provides the vector store ID of the
948
+ # grouped usage result.
949
+ vector_store_id: nil,
950
+ object: :"organization.usage.file_searches.result"
951
+ )
952
+ end
953
+
954
+ sig do
955
+ override.returns(
956
+ {
957
+ num_requests: Integer,
958
+ object: Symbol,
959
+ api_key_id: T.nilable(String),
960
+ project_id: T.nilable(String),
961
+ user_id: T.nilable(String),
962
+ vector_store_id: T.nilable(String)
963
+ }
964
+ )
965
+ end
966
+ def to_hash
967
+ end
968
+ end
969
+
970
+ class OrganizationUsageWebSearchesResult < OpenAI::Internal::Type::BaseModel
971
+ OrHash =
972
+ T.type_alias do
973
+ T.any(
974
+ OpenAI::Models::Admin::Organization::UsageAudioTranscriptionsResponse::Data::Result::OrganizationUsageWebSearchesResult,
975
+ OpenAI::Internal::AnyHash
976
+ )
977
+ end
978
+
979
+ # The count of model requests.
980
+ sig { returns(Integer) }
981
+ attr_accessor :num_model_requests
982
+
983
+ # The count of web search calls.
984
+ sig { returns(Integer) }
985
+ attr_accessor :num_requests
986
+
987
+ sig { returns(Symbol) }
988
+ attr_accessor :object
989
+
990
+ # When `group_by=api_key_id`, this field provides the API key ID of the grouped
991
+ # usage result.
992
+ sig { returns(T.nilable(String)) }
993
+ attr_accessor :api_key_id
994
+
995
+ # When `group_by=context_level`, this field provides the search context size of
996
+ # the grouped usage result.
997
+ sig { returns(T.nilable(String)) }
998
+ attr_accessor :context_level
999
+
1000
+ # When `group_by=model`, this field provides the model name of the grouped usage
1001
+ # result.
1002
+ sig { returns(T.nilable(String)) }
1003
+ attr_accessor :model
1004
+
1005
+ # When `group_by=project_id`, this field provides the project ID of the grouped
1006
+ # usage result.
1007
+ sig { returns(T.nilable(String)) }
1008
+ attr_accessor :project_id
1009
+
1010
+ # When `group_by=user_id`, this field provides the user ID of the grouped usage
1011
+ # result.
1012
+ sig { returns(T.nilable(String)) }
1013
+ attr_accessor :user_id
1014
+
1015
+ # The aggregated web search calls usage details of the specific time bucket.
1016
+ sig do
1017
+ params(
1018
+ num_model_requests: Integer,
1019
+ num_requests: Integer,
1020
+ api_key_id: T.nilable(String),
1021
+ context_level: T.nilable(String),
1022
+ model: T.nilable(String),
1023
+ project_id: T.nilable(String),
1024
+ user_id: T.nilable(String),
1025
+ object: Symbol
1026
+ ).returns(T.attached_class)
1027
+ end
1028
+ def self.new(
1029
+ # The count of model requests.
1030
+ num_model_requests:,
1031
+ # The count of web search calls.
1032
+ num_requests:,
1033
+ # When `group_by=api_key_id`, this field provides the API key ID of the grouped
1034
+ # usage result.
1035
+ api_key_id: nil,
1036
+ # When `group_by=context_level`, this field provides the search context size of
1037
+ # the grouped usage result.
1038
+ context_level: nil,
1039
+ # When `group_by=model`, this field provides the model name of the grouped usage
1040
+ # result.
1041
+ model: nil,
1042
+ # When `group_by=project_id`, this field provides the project ID of the grouped
1043
+ # usage result.
1044
+ project_id: nil,
1045
+ # When `group_by=user_id`, this field provides the user ID of the grouped usage
1046
+ # result.
1047
+ user_id: nil,
1048
+ object: :"organization.usage.web_searches.result"
1049
+ )
1050
+ end
1051
+
1052
+ sig do
1053
+ override.returns(
1054
+ {
1055
+ num_model_requests: Integer,
1056
+ num_requests: Integer,
1057
+ object: Symbol,
1058
+ api_key_id: T.nilable(String),
1059
+ context_level: T.nilable(String),
1060
+ model: T.nilable(String),
1061
+ project_id: T.nilable(String),
1062
+ user_id: T.nilable(String)
1063
+ }
1064
+ )
1065
+ end
1066
+ def to_hash
1067
+ end
1068
+ end
1069
+
884
1070
  class OrganizationCostsResult < OpenAI::Internal::Type::BaseModel
885
1071
  OrHash =
886
1072
  T.type_alias do