openai 0.63.0 → 0.64.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 (265) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +20 -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/data_retention_retrieve_params.rb +18 -0
  6. data/lib/openai/models/admin/organization/data_retention_update_params.rb +40 -0
  7. data/lib/openai/models/admin/organization/group.rb +16 -3
  8. data/lib/openai/models/admin/organization/group_retrieve_params.rb +24 -0
  9. data/lib/openai/models/admin/organization/groups/role_list_response.rb +27 -1
  10. data/lib/openai/models/admin/organization/groups/role_retrieve_params.rb +32 -0
  11. data/lib/openai/models/admin/organization/groups/role_retrieve_response.rb +134 -0
  12. data/lib/openai/models/admin/organization/groups/user_retrieve_params.rb +32 -0
  13. data/lib/openai/models/admin/organization/groups/user_retrieve_response.rb +79 -0
  14. data/lib/openai/models/admin/organization/invite_create_params.rb +2 -1
  15. data/lib/openai/models/admin/organization/organization_data_retention.rb +48 -0
  16. data/lib/openai/models/admin/organization/organization_spend_alert.rb +120 -0
  17. data/lib/openai/models/admin/organization/organization_spend_alert_deleted.rb +41 -0
  18. data/lib/openai/models/admin/organization/projects/data_retention_retrieve_params.rb +26 -0
  19. data/lib/openai/models/admin/organization/projects/data_retention_update_params.rb +51 -0
  20. data/lib/openai/models/admin/organization/projects/group_retrieve_params.rb +53 -0
  21. data/lib/openai/models/admin/organization/projects/groups/role_list_response.rb +27 -1
  22. data/lib/openai/models/admin/organization/projects/groups/role_retrieve_params.rb +40 -0
  23. data/lib/openai/models/admin/organization/projects/groups/role_retrieve_response.rb +136 -0
  24. data/lib/openai/models/admin/organization/projects/hosted_tool_permission_retrieve_params.rb +26 -0
  25. data/lib/openai/models/admin/organization/projects/hosted_tool_permission_update_params.rb +150 -0
  26. data/lib/openai/models/admin/organization/projects/model_permission_delete_params.rb +26 -0
  27. data/lib/openai/models/admin/organization/projects/model_permission_retrieve_params.rb +26 -0
  28. data/lib/openai/models/admin/organization/projects/model_permission_update_params.rb +54 -0
  29. data/lib/openai/models/admin/organization/projects/project_data_retention.rb +52 -0
  30. data/lib/openai/models/admin/organization/projects/project_group.rb +16 -3
  31. data/lib/openai/models/admin/organization/projects/project_hosted_tool_permissions.rb +133 -0
  32. data/lib/openai/models/admin/organization/projects/project_model_permissions.rb +56 -0
  33. data/lib/openai/models/admin/organization/projects/project_model_permissions_deleted.rb +35 -0
  34. data/lib/openai/models/admin/organization/projects/project_spend_alert.rb +122 -0
  35. data/lib/openai/models/admin/organization/projects/project_spend_alert_deleted.rb +43 -0
  36. data/lib/openai/models/admin/organization/projects/role_retrieve_params.rb +32 -0
  37. data/lib/openai/models/admin/organization/projects/service_account_update_params.rb +61 -0
  38. data/lib/openai/models/admin/organization/projects/spend_alert_create_params.rb +109 -0
  39. data/lib/openai/models/admin/organization/projects/spend_alert_delete_params.rb +32 -0
  40. data/lib/openai/models/admin/organization/projects/spend_alert_list_params.rb +76 -0
  41. data/lib/openai/models/admin/organization/projects/spend_alert_update_params.rb +116 -0
  42. data/lib/openai/models/admin/organization/projects/users/role_list_response.rb +27 -1
  43. data/lib/openai/models/admin/organization/projects/users/role_retrieve_params.rb +40 -0
  44. data/lib/openai/models/admin/organization/projects/users/role_retrieve_response.rb +136 -0
  45. data/lib/openai/models/admin/organization/role_retrieve_params.rb +24 -0
  46. data/lib/openai/models/admin/organization/spend_alert_create_params.rb +100 -0
  47. data/lib/openai/models/admin/organization/spend_alert_delete_params.rb +24 -0
  48. data/lib/openai/models/admin/organization/spend_alert_list_params.rb +66 -0
  49. data/lib/openai/models/admin/organization/spend_alert_update_params.rb +107 -0
  50. data/lib/openai/models/admin/organization/usage_audio_speeches_response.rb +148 -3
  51. data/lib/openai/models/admin/organization/usage_audio_transcriptions_response.rb +148 -3
  52. data/lib/openai/models/admin/organization/usage_code_interpreter_sessions_response.rb +148 -3
  53. data/lib/openai/models/admin/organization/usage_completions_response.rb +148 -3
  54. data/lib/openai/models/admin/organization/usage_costs_response.rb +148 -3
  55. data/lib/openai/models/admin/organization/usage_embeddings_response.rb +148 -3
  56. data/lib/openai/models/admin/organization/usage_file_search_calls_params.rb +136 -0
  57. data/lib/openai/models/admin/organization/usage_file_search_calls_response.rb +889 -0
  58. data/lib/openai/models/admin/organization/usage_images_response.rb +148 -3
  59. data/lib/openai/models/admin/organization/usage_moderations_response.rb +148 -3
  60. data/lib/openai/models/admin/organization/usage_vector_stores_response.rb +148 -3
  61. data/lib/openai/models/admin/organization/usage_web_search_calls_params.rb +157 -0
  62. data/lib/openai/models/admin/organization/usage_web_search_calls_response.rb +889 -0
  63. data/lib/openai/models/admin/organization/users/role_list_response.rb +27 -1
  64. data/lib/openai/models/admin/organization/users/role_retrieve_params.rb +32 -0
  65. data/lib/openai/models/admin/organization/users/role_retrieve_response.rb +134 -0
  66. data/lib/openai/models/conversations/conversation_create_params.rb +2 -2
  67. data/lib/openai/models/conversations/item_create_params.rb +2 -2
  68. data/lib/openai/models/responses/input_token_count_params.rb +3 -3
  69. data/lib/openai/models/responses/response.rb +3 -3
  70. data/lib/openai/models/responses/response_compact_params.rb +3 -3
  71. data/lib/openai/models/responses/response_create_params.rb +3 -3
  72. data/lib/openai/models/responses/response_input_item.rb +17 -1
  73. data/lib/openai/models/responses/responses_client_event.rb +3 -3
  74. data/lib/openai/resources/admin/organization/data_retention.rb +60 -0
  75. data/lib/openai/resources/admin/organization/groups/roles.rb +28 -0
  76. data/lib/openai/resources/admin/organization/groups/users.rb +28 -0
  77. data/lib/openai/resources/admin/organization/groups.rb +21 -0
  78. data/lib/openai/resources/admin/organization/projects/data_retention.rb +66 -0
  79. data/lib/openai/resources/admin/organization/projects/groups/roles.rb +34 -0
  80. data/lib/openai/resources/admin/organization/projects/groups.rb +32 -0
  81. data/lib/openai/resources/admin/organization/projects/hosted_tool_permissions.rb +75 -0
  82. data/lib/openai/resources/admin/organization/projects/model_permissions.rb +89 -0
  83. data/lib/openai/resources/admin/organization/projects/roles.rb +28 -0
  84. data/lib/openai/resources/admin/organization/projects/service_accounts.rb +33 -0
  85. data/lib/openai/resources/admin/organization/projects/spend_alerts.rb +153 -0
  86. data/lib/openai/resources/admin/organization/projects/users/roles.rb +34 -0
  87. data/lib/openai/resources/admin/organization/projects.rb +18 -0
  88. data/lib/openai/resources/admin/organization/roles.rb +21 -0
  89. data/lib/openai/resources/admin/organization/spend_alerts.rb +133 -0
  90. data/lib/openai/resources/admin/organization/usage.rb +94 -0
  91. data/lib/openai/resources/admin/organization/users/roles.rb +28 -0
  92. data/lib/openai/resources/admin/organization.rb +8 -0
  93. data/lib/openai/resources/conversations/items.rb +1 -1
  94. data/lib/openai/resources/conversations.rb +1 -1
  95. data/lib/openai/resources/responses/input_tokens.rb +1 -1
  96. data/lib/openai/resources/responses.rb +3 -3
  97. data/lib/openai/version.rb +1 -1
  98. data/lib/openai.rb +51 -0
  99. data/rbi/openai/models/admin/organization/data_retention_retrieve_params.rbi +34 -0
  100. data/rbi/openai/models/admin/organization/data_retention_update_params.rbi +101 -0
  101. data/rbi/openai/models/admin/organization/group.rbi +39 -3
  102. data/rbi/openai/models/admin/organization/group_retrieve_params.rbi +42 -0
  103. data/rbi/openai/models/admin/organization/groups/role_list_response.rbi +58 -0
  104. data/rbi/openai/models/admin/organization/groups/role_retrieve_params.rbi +52 -0
  105. data/rbi/openai/models/admin/organization/groups/role_retrieve_response.rbi +186 -0
  106. data/rbi/openai/models/admin/organization/groups/user_retrieve_params.rbi +52 -0
  107. data/rbi/openai/models/admin/organization/groups/user_retrieve_response.rbi +128 -0
  108. data/rbi/openai/models/admin/organization/invite_create_params.rbi +4 -2
  109. data/rbi/openai/models/admin/organization/organization_data_retention.rbi +106 -0
  110. data/rbi/openai/models/admin/organization/organization_spend_alert.rbi +225 -0
  111. data/rbi/openai/models/admin/organization/organization_spend_alert_deleted.rbi +58 -0
  112. data/rbi/openai/models/admin/organization/projects/data_retention_retrieve_params.rbi +44 -0
  113. data/rbi/openai/models/admin/organization/projects/data_retention_update_params.rbi +119 -0
  114. data/rbi/openai/models/admin/organization/projects/group_retrieve_params.rbi +115 -0
  115. data/rbi/openai/models/admin/organization/projects/groups/role_list_response.rbi +58 -0
  116. data/rbi/openai/models/admin/organization/projects/groups/role_retrieve_params.rbi +64 -0
  117. data/rbi/openai/models/admin/organization/projects/groups/role_retrieve_response.rbi +188 -0
  118. data/rbi/openai/models/admin/organization/projects/hosted_tool_permission_retrieve_params.rbi +44 -0
  119. data/rbi/openai/models/admin/organization/projects/hosted_tool_permission_update_params.rbi +330 -0
  120. data/rbi/openai/models/admin/organization/projects/model_permission_delete_params.rbi +44 -0
  121. data/rbi/openai/models/admin/organization/projects/model_permission_retrieve_params.rbi +44 -0
  122. data/rbi/openai/models/admin/organization/projects/model_permission_update_params.rbi +107 -0
  123. data/rbi/openai/models/admin/organization/projects/project_data_retention.rbi +118 -0
  124. data/rbi/openai/models/admin/organization/projects/project_group.rbi +44 -3
  125. data/rbi/openai/models/admin/organization/projects/project_hosted_tool_permissions.rbi +281 -0
  126. data/rbi/openai/models/admin/organization/projects/project_model_permissions.rbi +106 -0
  127. data/rbi/openai/models/admin/organization/projects/project_model_permissions_deleted.rbi +50 -0
  128. data/rbi/openai/models/admin/organization/projects/project_spend_alert.rbi +227 -0
  129. data/rbi/openai/models/admin/organization/projects/project_spend_alert_deleted.rbi +59 -0
  130. data/rbi/openai/models/admin/organization/projects/role_retrieve_params.rbi +52 -0
  131. data/rbi/openai/models/admin/organization/projects/service_account_update_params.rbi +126 -0
  132. data/rbi/openai/models/admin/organization/projects/spend_alert_create_params.rbi +220 -0
  133. data/rbi/openai/models/admin/organization/projects/spend_alert_delete_params.rbi +52 -0
  134. data/rbi/openai/models/admin/organization/projects/spend_alert_list_params.rbi +146 -0
  135. data/rbi/openai/models/admin/organization/projects/spend_alert_update_params.rbi +226 -0
  136. data/rbi/openai/models/admin/organization/projects/users/role_list_response.rbi +58 -0
  137. data/rbi/openai/models/admin/organization/projects/users/role_retrieve_params.rbi +59 -0
  138. data/rbi/openai/models/admin/organization/projects/users/role_retrieve_response.rbi +188 -0
  139. data/rbi/openai/models/admin/organization/role_retrieve_params.rbi +42 -0
  140. data/rbi/openai/models/admin/organization/spend_alert_create_params.rbi +212 -0
  141. data/rbi/openai/models/admin/organization/spend_alert_delete_params.rbi +42 -0
  142. data/rbi/openai/models/admin/organization/spend_alert_list_params.rbi +138 -0
  143. data/rbi/openai/models/admin/organization/spend_alert_update_params.rbi +218 -0
  144. data/rbi/openai/models/admin/organization/usage_audio_speeches_response.rbi +186 -0
  145. data/rbi/openai/models/admin/organization/usage_audio_transcriptions_response.rbi +186 -0
  146. data/rbi/openai/models/admin/organization/usage_code_interpreter_sessions_response.rbi +186 -0
  147. data/rbi/openai/models/admin/organization/usage_completions_response.rbi +186 -0
  148. data/rbi/openai/models/admin/organization/usage_costs_response.rbi +186 -0
  149. data/rbi/openai/models/admin/organization/usage_embeddings_response.rbi +186 -0
  150. data/rbi/openai/models/admin/organization/usage_file_search_calls_params.rbi +284 -0
  151. data/rbi/openai/models/admin/organization/usage_file_search_calls_response.rbi +1225 -0
  152. data/rbi/openai/models/admin/organization/usage_images_response.rbi +186 -0
  153. data/rbi/openai/models/admin/organization/usage_moderations_response.rbi +186 -0
  154. data/rbi/openai/models/admin/organization/usage_vector_stores_response.rbi +186 -0
  155. data/rbi/openai/models/admin/organization/usage_web_search_calls_params.rbi +360 -0
  156. data/rbi/openai/models/admin/organization/usage_web_search_calls_response.rbi +1225 -0
  157. data/rbi/openai/models/admin/organization/users/role_list_response.rbi +58 -0
  158. data/rbi/openai/models/admin/organization/users/role_retrieve_params.rbi +52 -0
  159. data/rbi/openai/models/admin/organization/users/role_retrieve_response.rbi +186 -0
  160. data/rbi/openai/models/conversations/conversation_create_params.rbi +3 -0
  161. data/rbi/openai/models/conversations/item_create_params.rbi +3 -0
  162. data/rbi/openai/models/responses/response_input_item.rbi +27 -0
  163. data/rbi/openai/resources/admin/organization/data_retention.rbi +40 -0
  164. data/rbi/openai/resources/admin/organization/groups/roles.rbi +19 -0
  165. data/rbi/openai/resources/admin/organization/groups/users.rbi +19 -0
  166. data/rbi/openai/resources/admin/organization/groups.rbi +14 -0
  167. data/rbi/openai/resources/admin/organization/invites.rbi +2 -1
  168. data/rbi/openai/resources/admin/organization/projects/data_retention.rbi +54 -0
  169. data/rbi/openai/resources/admin/organization/projects/groups/roles.rbi +22 -0
  170. data/rbi/openai/resources/admin/organization/projects/groups.rbi +21 -0
  171. data/rbi/openai/resources/admin/organization/projects/hosted_tool_permissions.rbi +80 -0
  172. data/rbi/openai/resources/admin/organization/projects/model_permissions.rbi +73 -0
  173. data/rbi/openai/resources/admin/organization/projects/roles.rbi +17 -0
  174. data/rbi/openai/resources/admin/organization/projects/service_accounts.rbi +26 -0
  175. data/rbi/openai/resources/admin/organization/projects/spend_alerts.rbi +135 -0
  176. data/rbi/openai/resources/admin/organization/projects/users/roles.rbi +22 -0
  177. data/rbi/openai/resources/admin/organization/projects.rbi +28 -0
  178. data/rbi/openai/resources/admin/organization/roles.rbi +14 -0
  179. data/rbi/openai/resources/admin/organization/spend_alerts.rbi +117 -0
  180. data/rbi/openai/resources/admin/organization/usage.rbi +116 -0
  181. data/rbi/openai/resources/admin/organization/users/roles.rbi +19 -0
  182. data/rbi/openai/resources/admin/organization.rbi +6 -0
  183. data/rbi/openai/resources/conversations/items.rbi +1 -0
  184. data/rbi/openai/resources/conversations.rbi +1 -0
  185. data/sig/openai/models/admin/organization/data_retention_retrieve_params.rbs +19 -0
  186. data/sig/openai/models/admin/organization/data_retention_update_params.rbs +47 -0
  187. data/sig/openai/models/admin/organization/group.rbs +15 -4
  188. data/sig/openai/models/admin/organization/group_retrieve_params.rbs +27 -0
  189. data/sig/openai/models/admin/organization/groups/role_list_response.rbs +21 -0
  190. data/sig/openai/models/admin/organization/groups/role_retrieve_params.rbs +34 -0
  191. data/sig/openai/models/admin/organization/groups/role_retrieve_response.rbs +97 -0
  192. data/sig/openai/models/admin/organization/groups/user_retrieve_params.rbs +34 -0
  193. data/sig/openai/models/admin/organization/groups/user_retrieve_response.rbs +62 -0
  194. data/sig/openai/models/admin/organization/organization_data_retention.rbs +48 -0
  195. data/sig/openai/models/admin/organization/organization_spend_alert.rbs +98 -0
  196. data/sig/openai/models/admin/organization/organization_spend_alert_deleted.rbs +36 -0
  197. data/sig/openai/models/admin/organization/projects/data_retention_retrieve_params.rbs +29 -0
  198. data/sig/openai/models/admin/organization/projects/data_retention_update_params.rbs +58 -0
  199. data/sig/openai/models/admin/organization/projects/group_retrieve_params.rbs +57 -0
  200. data/sig/openai/models/admin/organization/projects/groups/role_list_response.rbs +21 -0
  201. data/sig/openai/models/admin/organization/projects/groups/role_retrieve_params.rbs +40 -0
  202. data/sig/openai/models/admin/organization/projects/groups/role_retrieve_response.rbs +99 -0
  203. data/sig/openai/models/admin/organization/projects/hosted_tool_permission_retrieve_params.rbs +29 -0
  204. data/sig/openai/models/admin/organization/projects/hosted_tool_permission_update_params.rbs +107 -0
  205. data/sig/openai/models/admin/organization/projects/model_permission_delete_params.rbs +29 -0
  206. data/sig/openai/models/admin/organization/projects/model_permission_retrieve_params.rbs +29 -0
  207. data/sig/openai/models/admin/organization/projects/model_permission_update_params.rbs +53 -0
  208. data/sig/openai/models/admin/organization/projects/project_data_retention.rbs +54 -0
  209. data/sig/openai/models/admin/organization/projects/project_group.rbs +15 -4
  210. data/sig/openai/models/admin/organization/projects/project_hosted_tool_permissions.rbs +98 -0
  211. data/sig/openai/models/admin/organization/projects/project_model_permissions.rbs +49 -0
  212. data/sig/openai/models/admin/organization/projects/project_model_permissions_deleted.rbs +30 -0
  213. data/sig/openai/models/admin/organization/projects/project_spend_alert.rbs +100 -0
  214. data/sig/openai/models/admin/organization/projects/project_spend_alert_deleted.rbs +38 -0
  215. data/sig/openai/models/admin/organization/projects/role_retrieve_params.rbs +34 -0
  216. data/sig/openai/models/admin/organization/projects/service_account_update_params.rbs +64 -0
  217. data/sig/openai/models/admin/organization/projects/spend_alert_create_params.rbs +99 -0
  218. data/sig/openai/models/admin/organization/projects/spend_alert_delete_params.rbs +34 -0
  219. data/sig/openai/models/admin/organization/projects/spend_alert_list_params.rbs +73 -0
  220. data/sig/openai/models/admin/organization/projects/spend_alert_update_params.rbs +104 -0
  221. data/sig/openai/models/admin/organization/projects/users/role_list_response.rbs +21 -0
  222. data/sig/openai/models/admin/organization/projects/users/role_retrieve_params.rbs +40 -0
  223. data/sig/openai/models/admin/organization/projects/users/role_retrieve_response.rbs +99 -0
  224. data/sig/openai/models/admin/organization/role_retrieve_params.rbs +27 -0
  225. data/sig/openai/models/admin/organization/spend_alert_create_params.rbs +92 -0
  226. data/sig/openai/models/admin/organization/spend_alert_delete_params.rbs +27 -0
  227. data/sig/openai/models/admin/organization/spend_alert_list_params.rbs +66 -0
  228. data/sig/openai/models/admin/organization/spend_alert_update_params.rbs +97 -0
  229. data/sig/openai/models/admin/organization/usage_audio_speeches_response.rbs +96 -0
  230. data/sig/openai/models/admin/organization/usage_audio_transcriptions_response.rbs +96 -0
  231. data/sig/openai/models/admin/organization/usage_code_interpreter_sessions_response.rbs +96 -0
  232. data/sig/openai/models/admin/organization/usage_completions_response.rbs +96 -0
  233. data/sig/openai/models/admin/organization/usage_costs_response.rbs +96 -0
  234. data/sig/openai/models/admin/organization/usage_embeddings_response.rbs +96 -0
  235. data/sig/openai/models/admin/organization/usage_file_search_calls_params.rbs +123 -0
  236. data/sig/openai/models/admin/organization/usage_file_search_calls_response.rbs +628 -0
  237. data/sig/openai/models/admin/organization/usage_images_response.rbs +96 -0
  238. data/sig/openai/models/admin/organization/usage_moderations_response.rbs +96 -0
  239. data/sig/openai/models/admin/organization/usage_vector_stores_response.rbs +96 -0
  240. data/sig/openai/models/admin/organization/usage_web_search_calls_params.rbs +145 -0
  241. data/sig/openai/models/admin/organization/usage_web_search_calls_response.rbs +628 -0
  242. data/sig/openai/models/admin/organization/users/role_list_response.rbs +21 -0
  243. data/sig/openai/models/admin/organization/users/role_retrieve_params.rbs +34 -0
  244. data/sig/openai/models/admin/organization/users/role_retrieve_response.rbs +97 -0
  245. data/sig/openai/models/responses/response_input_item.rbs +11 -0
  246. data/sig/openai/resources/admin/organization/data_retention.rbs +20 -0
  247. data/sig/openai/resources/admin/organization/groups/roles.rbs +6 -0
  248. data/sig/openai/resources/admin/organization/groups/users.rbs +6 -0
  249. data/sig/openai/resources/admin/organization/groups.rbs +5 -0
  250. data/sig/openai/resources/admin/organization/projects/data_retention.rbs +24 -0
  251. data/sig/openai/resources/admin/organization/projects/groups/roles.rbs +7 -0
  252. data/sig/openai/resources/admin/organization/projects/groups.rbs +7 -0
  253. data/sig/openai/resources/admin/organization/projects/hosted_tool_permissions.rbs +28 -0
  254. data/sig/openai/resources/admin/organization/projects/model_permissions.rbs +30 -0
  255. data/sig/openai/resources/admin/organization/projects/roles.rbs +6 -0
  256. data/sig/openai/resources/admin/organization/projects/service_accounts.rbs +8 -0
  257. data/sig/openai/resources/admin/organization/projects/spend_alerts.rbs +47 -0
  258. data/sig/openai/resources/admin/organization/projects/users/roles.rbs +7 -0
  259. data/sig/openai/resources/admin/organization/projects.rbs +8 -0
  260. data/sig/openai/resources/admin/organization/roles.rbs +5 -0
  261. data/sig/openai/resources/admin/organization/spend_alerts.rbs +41 -0
  262. data/sig/openai/resources/admin/organization/usage.rbs +29 -0
  263. data/sig/openai/resources/admin/organization/users/roles.rbs +6 -0
  264. data/sig/openai/resources/admin/organization.rbs +4 -0
  265. metadata +155 -2
@@ -0,0 +1,106 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Admin
6
+ module Organization
7
+ ProjectModelPermissions = Projects::ProjectModelPermissions
8
+
9
+ module Projects
10
+ class ProjectModelPermissions < OpenAI::Internal::Type::BaseModel
11
+ OrHash =
12
+ T.type_alias do
13
+ T.any(
14
+ OpenAI::Admin::Organization::Projects::ProjectModelPermissions,
15
+ OpenAI::Internal::AnyHash
16
+ )
17
+ end
18
+
19
+ # Whether the project uses an allowlist or a denylist.
20
+ sig do
21
+ returns(
22
+ OpenAI::Admin::Organization::Projects::ProjectModelPermissions::Mode::TaggedSymbol
23
+ )
24
+ end
25
+ attr_accessor :mode
26
+
27
+ # The model IDs included in the model permissions policy.
28
+ sig { returns(T::Array[String]) }
29
+ attr_accessor :model_ids
30
+
31
+ # The object type, which is always `project.model_permissions`.
32
+ sig { returns(Symbol) }
33
+ attr_accessor :object
34
+
35
+ # Represents the model allowlist or denylist policy for a project.
36
+ sig do
37
+ params(
38
+ mode:
39
+ OpenAI::Admin::Organization::Projects::ProjectModelPermissions::Mode::OrSymbol,
40
+ model_ids: T::Array[String],
41
+ object: Symbol
42
+ ).returns(T.attached_class)
43
+ end
44
+ def self.new(
45
+ # Whether the project uses an allowlist or a denylist.
46
+ mode:,
47
+ # The model IDs included in the model permissions policy.
48
+ model_ids:,
49
+ # The object type, which is always `project.model_permissions`.
50
+ object: :"project.model_permissions"
51
+ )
52
+ end
53
+
54
+ sig do
55
+ override.returns(
56
+ {
57
+ mode:
58
+ OpenAI::Admin::Organization::Projects::ProjectModelPermissions::Mode::TaggedSymbol,
59
+ model_ids: T::Array[String],
60
+ object: Symbol
61
+ }
62
+ )
63
+ end
64
+ def to_hash
65
+ end
66
+
67
+ # Whether the project uses an allowlist or a denylist.
68
+ module Mode
69
+ extend OpenAI::Internal::Type::Enum
70
+
71
+ TaggedSymbol =
72
+ T.type_alias do
73
+ T.all(
74
+ Symbol,
75
+ OpenAI::Admin::Organization::Projects::ProjectModelPermissions::Mode
76
+ )
77
+ end
78
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
79
+
80
+ ALLOW_LIST =
81
+ T.let(
82
+ :allow_list,
83
+ OpenAI::Admin::Organization::Projects::ProjectModelPermissions::Mode::TaggedSymbol
84
+ )
85
+ DENY_LIST =
86
+ T.let(
87
+ :deny_list,
88
+ OpenAI::Admin::Organization::Projects::ProjectModelPermissions::Mode::TaggedSymbol
89
+ )
90
+
91
+ sig do
92
+ override.returns(
93
+ T::Array[
94
+ OpenAI::Admin::Organization::Projects::ProjectModelPermissions::Mode::TaggedSymbol
95
+ ]
96
+ )
97
+ end
98
+ def self.values
99
+ end
100
+ end
101
+ end
102
+ end
103
+ end
104
+ end
105
+ end
106
+ end
@@ -0,0 +1,50 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Admin
6
+ module Organization
7
+ ProjectModelPermissionsDeleted =
8
+ Projects::ProjectModelPermissionsDeleted
9
+
10
+ module Projects
11
+ class ProjectModelPermissionsDeleted < OpenAI::Internal::Type::BaseModel
12
+ OrHash =
13
+ T.type_alias do
14
+ T.any(
15
+ OpenAI::Admin::Organization::Projects::ProjectModelPermissionsDeleted,
16
+ OpenAI::Internal::AnyHash
17
+ )
18
+ end
19
+
20
+ # Whether the project model permissions were deleted.
21
+ sig { returns(T::Boolean) }
22
+ attr_accessor :deleted
23
+
24
+ # The object type, which is always `project.model_permissions.deleted`.
25
+ sig { returns(Symbol) }
26
+ attr_accessor :object
27
+
28
+ # Confirmation payload returned after deleting project model permissions.
29
+ sig do
30
+ params(deleted: T::Boolean, object: Symbol).returns(
31
+ T.attached_class
32
+ )
33
+ end
34
+ def self.new(
35
+ # Whether the project model permissions were deleted.
36
+ deleted:,
37
+ # The object type, which is always `project.model_permissions.deleted`.
38
+ object: :"project.model_permissions.deleted"
39
+ )
40
+ end
41
+
42
+ sig { override.returns({ deleted: T::Boolean, object: Symbol }) }
43
+ def to_hash
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,227 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Admin
6
+ module Organization
7
+ ProjectSpendAlert = Projects::ProjectSpendAlert
8
+
9
+ module Projects
10
+ class ProjectSpendAlert < OpenAI::Internal::Type::BaseModel
11
+ OrHash =
12
+ T.type_alias do
13
+ T.any(
14
+ OpenAI::Admin::Organization::Projects::ProjectSpendAlert,
15
+ OpenAI::Internal::AnyHash
16
+ )
17
+ end
18
+
19
+ # The identifier, which can be referenced in API endpoints.
20
+ sig { returns(String) }
21
+ attr_accessor :id
22
+
23
+ # The currency for the threshold amount.
24
+ sig do
25
+ returns(
26
+ OpenAI::Admin::Organization::Projects::ProjectSpendAlert::Currency::TaggedSymbol
27
+ )
28
+ end
29
+ attr_accessor :currency
30
+
31
+ # The time interval for evaluating spend against the threshold.
32
+ sig do
33
+ returns(
34
+ OpenAI::Admin::Organization::Projects::ProjectSpendAlert::Interval::TaggedSymbol
35
+ )
36
+ end
37
+ attr_accessor :interval
38
+
39
+ # Email notification settings for a spend alert.
40
+ sig do
41
+ returns(
42
+ OpenAI::Admin::Organization::Projects::ProjectSpendAlert::NotificationChannel
43
+ )
44
+ end
45
+ attr_reader :notification_channel
46
+
47
+ sig do
48
+ params(
49
+ notification_channel:
50
+ OpenAI::Admin::Organization::Projects::ProjectSpendAlert::NotificationChannel::OrHash
51
+ ).void
52
+ end
53
+ attr_writer :notification_channel
54
+
55
+ # The object type, which is always `project.spend_alert`.
56
+ sig { returns(Symbol) }
57
+ attr_accessor :object
58
+
59
+ # The alert threshold amount, in cents.
60
+ sig { returns(Integer) }
61
+ attr_accessor :threshold_amount
62
+
63
+ # Represents a spend alert configured at the project level.
64
+ sig do
65
+ params(
66
+ id: String,
67
+ currency:
68
+ OpenAI::Admin::Organization::Projects::ProjectSpendAlert::Currency::OrSymbol,
69
+ interval:
70
+ OpenAI::Admin::Organization::Projects::ProjectSpendAlert::Interval::OrSymbol,
71
+ notification_channel:
72
+ OpenAI::Admin::Organization::Projects::ProjectSpendAlert::NotificationChannel::OrHash,
73
+ threshold_amount: Integer,
74
+ object: Symbol
75
+ ).returns(T.attached_class)
76
+ end
77
+ def self.new(
78
+ # The identifier, which can be referenced in API endpoints.
79
+ id:,
80
+ # The currency for the threshold amount.
81
+ currency:,
82
+ # The time interval for evaluating spend against the threshold.
83
+ interval:,
84
+ # Email notification settings for a spend alert.
85
+ notification_channel:,
86
+ # The alert threshold amount, in cents.
87
+ threshold_amount:,
88
+ # The object type, which is always `project.spend_alert`.
89
+ object: :"project.spend_alert"
90
+ )
91
+ end
92
+
93
+ sig do
94
+ override.returns(
95
+ {
96
+ id: String,
97
+ currency:
98
+ OpenAI::Admin::Organization::Projects::ProjectSpendAlert::Currency::TaggedSymbol,
99
+ interval:
100
+ OpenAI::Admin::Organization::Projects::ProjectSpendAlert::Interval::TaggedSymbol,
101
+ notification_channel:
102
+ OpenAI::Admin::Organization::Projects::ProjectSpendAlert::NotificationChannel,
103
+ object: Symbol,
104
+ threshold_amount: Integer
105
+ }
106
+ )
107
+ end
108
+ def to_hash
109
+ end
110
+
111
+ # The currency for the threshold amount.
112
+ module Currency
113
+ extend OpenAI::Internal::Type::Enum
114
+
115
+ TaggedSymbol =
116
+ T.type_alias do
117
+ T.all(
118
+ Symbol,
119
+ OpenAI::Admin::Organization::Projects::ProjectSpendAlert::Currency
120
+ )
121
+ end
122
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
123
+
124
+ USD =
125
+ T.let(
126
+ :USD,
127
+ OpenAI::Admin::Organization::Projects::ProjectSpendAlert::Currency::TaggedSymbol
128
+ )
129
+
130
+ sig do
131
+ override.returns(
132
+ T::Array[
133
+ OpenAI::Admin::Organization::Projects::ProjectSpendAlert::Currency::TaggedSymbol
134
+ ]
135
+ )
136
+ end
137
+ def self.values
138
+ end
139
+ end
140
+
141
+ # The time interval for evaluating spend against the threshold.
142
+ module Interval
143
+ extend OpenAI::Internal::Type::Enum
144
+
145
+ TaggedSymbol =
146
+ T.type_alias do
147
+ T.all(
148
+ Symbol,
149
+ OpenAI::Admin::Organization::Projects::ProjectSpendAlert::Interval
150
+ )
151
+ end
152
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
153
+
154
+ MONTH =
155
+ T.let(
156
+ :month,
157
+ OpenAI::Admin::Organization::Projects::ProjectSpendAlert::Interval::TaggedSymbol
158
+ )
159
+
160
+ sig do
161
+ override.returns(
162
+ T::Array[
163
+ OpenAI::Admin::Organization::Projects::ProjectSpendAlert::Interval::TaggedSymbol
164
+ ]
165
+ )
166
+ end
167
+ def self.values
168
+ end
169
+ end
170
+
171
+ class NotificationChannel < OpenAI::Internal::Type::BaseModel
172
+ OrHash =
173
+ T.type_alias do
174
+ T.any(
175
+ OpenAI::Admin::Organization::Projects::ProjectSpendAlert::NotificationChannel,
176
+ OpenAI::Internal::AnyHash
177
+ )
178
+ end
179
+
180
+ # Email addresses that receive the spend alert notification.
181
+ sig { returns(T::Array[String]) }
182
+ attr_accessor :recipients
183
+
184
+ # The notification channel type. Currently only `email` is supported.
185
+ sig { returns(Symbol) }
186
+ attr_accessor :type
187
+
188
+ # Optional subject prefix for alert emails.
189
+ sig { returns(T.nilable(String)) }
190
+ attr_accessor :subject_prefix
191
+
192
+ # Email notification settings for a spend alert.
193
+ sig do
194
+ params(
195
+ recipients: T::Array[String],
196
+ subject_prefix: T.nilable(String),
197
+ type: Symbol
198
+ ).returns(T.attached_class)
199
+ end
200
+ def self.new(
201
+ # Email addresses that receive the spend alert notification.
202
+ recipients:,
203
+ # Optional subject prefix for alert emails.
204
+ subject_prefix: nil,
205
+ # The notification channel type. Currently only `email` is supported.
206
+ type: :email
207
+ )
208
+ end
209
+
210
+ sig do
211
+ override.returns(
212
+ {
213
+ recipients: T::Array[String],
214
+ type: Symbol,
215
+ subject_prefix: T.nilable(String)
216
+ }
217
+ )
218
+ end
219
+ def to_hash
220
+ end
221
+ end
222
+ end
223
+ end
224
+ end
225
+ end
226
+ end
227
+ end
@@ -0,0 +1,59 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Admin
6
+ module Organization
7
+ ProjectSpendAlertDeleted = Projects::ProjectSpendAlertDeleted
8
+
9
+ module Projects
10
+ class ProjectSpendAlertDeleted < OpenAI::Internal::Type::BaseModel
11
+ OrHash =
12
+ T.type_alias do
13
+ T.any(
14
+ OpenAI::Admin::Organization::Projects::ProjectSpendAlertDeleted,
15
+ OpenAI::Internal::AnyHash
16
+ )
17
+ end
18
+
19
+ # The deleted spend alert ID.
20
+ sig { returns(String) }
21
+ attr_accessor :id
22
+
23
+ # Whether the spend alert was deleted.
24
+ sig { returns(T::Boolean) }
25
+ attr_accessor :deleted
26
+
27
+ # Always `project.spend_alert.deleted`.
28
+ sig { returns(Symbol) }
29
+ attr_accessor :object
30
+
31
+ # Confirmation payload returned after deleting a project spend alert.
32
+ sig do
33
+ params(id: String, deleted: T::Boolean, object: Symbol).returns(
34
+ T.attached_class
35
+ )
36
+ end
37
+ def self.new(
38
+ # The deleted spend alert ID.
39
+ id:,
40
+ # Whether the spend alert was deleted.
41
+ deleted:,
42
+ # Always `project.spend_alert.deleted`.
43
+ object: :"project.spend_alert.deleted"
44
+ )
45
+ end
46
+
47
+ sig do
48
+ override.returns(
49
+ { id: String, deleted: T::Boolean, object: Symbol }
50
+ )
51
+ end
52
+ def to_hash
53
+ end
54
+ end
55
+ end
56
+ end
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,52 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Admin
6
+ module Organization
7
+ module Projects
8
+ class RoleRetrieveParams < OpenAI::Internal::Type::BaseModel
9
+ extend OpenAI::Internal::Type::RequestParameters::Converter
10
+ include OpenAI::Internal::Type::RequestParameters
11
+
12
+ OrHash =
13
+ T.type_alias do
14
+ T.any(
15
+ OpenAI::Admin::Organization::Projects::RoleRetrieveParams,
16
+ OpenAI::Internal::AnyHash
17
+ )
18
+ end
19
+
20
+ sig { returns(String) }
21
+ attr_accessor :project_id
22
+
23
+ sig { returns(String) }
24
+ attr_accessor :role_id
25
+
26
+ sig do
27
+ params(
28
+ project_id: String,
29
+ role_id: String,
30
+ request_options: OpenAI::RequestOptions::OrHash
31
+ ).returns(T.attached_class)
32
+ end
33
+ def self.new(project_id:, role_id:, request_options: {})
34
+ end
35
+
36
+ sig do
37
+ override.returns(
38
+ {
39
+ project_id: String,
40
+ role_id: String,
41
+ request_options: OpenAI::RequestOptions
42
+ }
43
+ )
44
+ end
45
+ def to_hash
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,126 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Admin
6
+ module Organization
7
+ module Projects
8
+ class ServiceAccountUpdateParams < OpenAI::Internal::Type::BaseModel
9
+ extend OpenAI::Internal::Type::RequestParameters::Converter
10
+ include OpenAI::Internal::Type::RequestParameters
11
+
12
+ OrHash =
13
+ T.type_alias do
14
+ T.any(
15
+ OpenAI::Admin::Organization::Projects::ServiceAccountUpdateParams,
16
+ OpenAI::Internal::AnyHash
17
+ )
18
+ end
19
+
20
+ sig { returns(String) }
21
+ attr_accessor :project_id
22
+
23
+ sig { returns(String) }
24
+ attr_accessor :service_account_id
25
+
26
+ # The updated service account name.
27
+ sig { returns(T.nilable(String)) }
28
+ attr_reader :name
29
+
30
+ sig { params(name: String).void }
31
+ attr_writer :name
32
+
33
+ # The updated service account role.
34
+ sig do
35
+ returns(
36
+ T.nilable(
37
+ OpenAI::Admin::Organization::Projects::ServiceAccountUpdateParams::Role::OrSymbol
38
+ )
39
+ )
40
+ end
41
+ attr_reader :role
42
+
43
+ sig do
44
+ params(
45
+ role:
46
+ OpenAI::Admin::Organization::Projects::ServiceAccountUpdateParams::Role::OrSymbol
47
+ ).void
48
+ end
49
+ attr_writer :role
50
+
51
+ sig do
52
+ params(
53
+ project_id: String,
54
+ service_account_id: String,
55
+ name: String,
56
+ role:
57
+ OpenAI::Admin::Organization::Projects::ServiceAccountUpdateParams::Role::OrSymbol,
58
+ request_options: OpenAI::RequestOptions::OrHash
59
+ ).returns(T.attached_class)
60
+ end
61
+ def self.new(
62
+ project_id:,
63
+ service_account_id:,
64
+ # The updated service account name.
65
+ name: nil,
66
+ # The updated service account role.
67
+ role: nil,
68
+ request_options: {}
69
+ )
70
+ end
71
+
72
+ sig do
73
+ override.returns(
74
+ {
75
+ project_id: String,
76
+ service_account_id: String,
77
+ name: String,
78
+ role:
79
+ OpenAI::Admin::Organization::Projects::ServiceAccountUpdateParams::Role::OrSymbol,
80
+ request_options: OpenAI::RequestOptions
81
+ }
82
+ )
83
+ end
84
+ def to_hash
85
+ end
86
+
87
+ # The updated service account role.
88
+ module Role
89
+ extend OpenAI::Internal::Type::Enum
90
+
91
+ TaggedSymbol =
92
+ T.type_alias do
93
+ T.all(
94
+ Symbol,
95
+ OpenAI::Admin::Organization::Projects::ServiceAccountUpdateParams::Role
96
+ )
97
+ end
98
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
99
+
100
+ MEMBER =
101
+ T.let(
102
+ :member,
103
+ OpenAI::Admin::Organization::Projects::ServiceAccountUpdateParams::Role::TaggedSymbol
104
+ )
105
+ OWNER =
106
+ T.let(
107
+ :owner,
108
+ OpenAI::Admin::Organization::Projects::ServiceAccountUpdateParams::Role::TaggedSymbol
109
+ )
110
+
111
+ sig do
112
+ override.returns(
113
+ T::Array[
114
+ OpenAI::Admin::Organization::Projects::ServiceAccountUpdateParams::Role::TaggedSymbol
115
+ ]
116
+ )
117
+ end
118
+ def self.values
119
+ end
120
+ end
121
+ end
122
+ end
123
+ end
124
+ end
125
+ end
126
+ end