openai 0.70.0 → 0.72.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 (172) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +20 -0
  3. data/README.md +51 -1
  4. data/lib/openai/client.rb +62 -8
  5. data/lib/openai/internal/provider.rb +31 -0
  6. data/lib/openai/internal/transport/base_client.rb +65 -21
  7. data/lib/openai/models/admin/organization/audit_log_list_params.rb +84 -0
  8. data/lib/openai/models/admin/organization/audit_log_list_response.rb +84 -0
  9. data/lib/openai/models/admin/organization/organization_spend_limit.rb +151 -0
  10. data/lib/openai/models/admin/organization/organization_spend_limit_deleted.rb +33 -0
  11. data/lib/openai/models/admin/organization/projects/project_service_account.rb +4 -3
  12. data/lib/openai/models/admin/organization/projects/project_spend_limit.rb +155 -0
  13. data/lib/openai/models/admin/organization/projects/project_spend_limit_deleted.rb +35 -0
  14. data/lib/openai/models/admin/organization/projects/service_account_create_params.rb +9 -1
  15. data/lib/openai/models/admin/organization/projects/service_account_create_response.rb +26 -6
  16. data/lib/openai/models/admin/organization/projects/service_accounts/api_key_create_params.rb +54 -0
  17. data/lib/openai/models/admin/organization/projects/service_accounts/api_key_create_response.rb +57 -0
  18. data/lib/openai/models/admin/organization/projects/spend_limit_delete_params.rb +26 -0
  19. data/lib/openai/models/admin/organization/projects/spend_limit_retrieve_params.rb +26 -0
  20. data/lib/openai/models/admin/organization/projects/spend_limit_update_params.rb +77 -0
  21. data/lib/openai/models/admin/organization/spend_limit_delete_params.rb +18 -0
  22. data/lib/openai/models/admin/organization/spend_limit_retrieve_params.rb +18 -0
  23. data/lib/openai/models/admin/organization/spend_limit_update_params.rb +67 -0
  24. data/lib/openai/models/admin/organization/usage_audio_speeches_response.rb +88 -13
  25. data/lib/openai/models/admin/organization/usage_audio_transcriptions_response.rb +88 -13
  26. data/lib/openai/models/admin/organization/usage_code_interpreter_sessions_response.rb +88 -13
  27. data/lib/openai/models/admin/organization/usage_completions_response.rb +88 -13
  28. data/lib/openai/models/admin/organization/usage_costs_response.rb +88 -13
  29. data/lib/openai/models/admin/organization/usage_embeddings_response.rb +88 -13
  30. data/lib/openai/models/admin/organization/usage_file_search_calls_response.rb +88 -13
  31. data/lib/openai/models/admin/organization/usage_images_response.rb +88 -13
  32. data/lib/openai/models/admin/organization/usage_moderations_response.rb +88 -13
  33. data/lib/openai/models/admin/organization/usage_vector_stores_response.rb +88 -13
  34. data/lib/openai/models/admin/organization/usage_web_search_calls_response.rb +88 -13
  35. data/lib/openai/models/beta/beta_response.rb +12 -6
  36. data/lib/openai/models/beta/beta_response_error.rb +1 -0
  37. data/lib/openai/models/beta/beta_response_input_item.rb +16 -32
  38. data/lib/openai/models/beta/beta_response_text_config.rb +4 -2
  39. data/lib/openai/models/beta/beta_responses_client_event.rb +12 -6
  40. data/lib/openai/models/beta/response_create_params.rb +12 -6
  41. data/lib/openai/models/beta/responses/input_token_count_params.rb +12 -4
  42. data/lib/openai/models/chat/completion_create_params.rb +8 -6
  43. data/lib/openai/models/reasoning.rb +8 -2
  44. data/lib/openai/models/responses/input_token_count_params.rb +4 -2
  45. data/lib/openai/models/responses/response.rb +4 -4
  46. data/lib/openai/models/responses/response_create_params.rb +4 -4
  47. data/lib/openai/models/responses/response_error.rb +1 -0
  48. data/lib/openai/models/responses/response_text_config.rb +4 -2
  49. data/lib/openai/models/responses/responses_client_event.rb +4 -4
  50. data/lib/openai/provider.rb +18 -0
  51. data/lib/openai/providers/bedrock.rb +489 -0
  52. data/lib/openai/resources/admin/organization/projects/service_accounts/api_keys.rb +60 -0
  53. data/lib/openai/resources/admin/organization/projects/service_accounts.rb +10 -3
  54. data/lib/openai/resources/admin/organization/projects/spend_limit.rb +95 -0
  55. data/lib/openai/resources/admin/organization/projects.rb +4 -0
  56. data/lib/openai/resources/admin/organization/spend_limit.rb +86 -0
  57. data/lib/openai/resources/admin/organization.rb +4 -0
  58. data/lib/openai/resources/beta/responses.rb +4 -4
  59. data/lib/openai/resources/chat/completions.rb +4 -4
  60. data/lib/openai/resources/responses.rb +4 -4
  61. data/lib/openai/version.rb +1 -1
  62. data/lib/openai.rb +18 -0
  63. data/rbi/openai/client.rbi +17 -0
  64. data/rbi/openai/internal/provider.rbi +51 -0
  65. data/rbi/openai/internal/transport/base_client.rbi +32 -0
  66. data/rbi/openai/models/admin/organization/audit_log_list_params.rbi +420 -0
  67. data/rbi/openai/models/admin/organization/audit_log_list_response.rbi +420 -0
  68. data/rbi/openai/models/admin/organization/organization_spend_limit.rbi +278 -0
  69. data/rbi/openai/models/admin/organization/organization_spend_limit_deleted.rbi +48 -0
  70. data/rbi/openai/models/admin/organization/projects/project_service_account.rbi +8 -3
  71. data/rbi/openai/models/admin/organization/projects/project_spend_limit.rbi +280 -0
  72. data/rbi/openai/models/admin/organization/projects/project_spend_limit_deleted.rbi +49 -0
  73. data/rbi/openai/models/admin/organization/projects/service_account_create_params.rbi +8 -0
  74. data/rbi/openai/models/admin/organization/projects/service_account_create_response.rbi +52 -8
  75. data/rbi/openai/models/admin/organization/projects/service_accounts/api_key_create_params.rbi +84 -0
  76. data/rbi/openai/models/admin/organization/projects/service_accounts/api_key_create_response.rbi +80 -0
  77. data/rbi/openai/models/admin/organization/projects/spend_limit_delete_params.rbi +44 -0
  78. data/rbi/openai/models/admin/organization/projects/spend_limit_retrieve_params.rbi +44 -0
  79. data/rbi/openai/models/admin/organization/projects/spend_limit_update_params.rbi +149 -0
  80. data/rbi/openai/models/admin/organization/spend_limit_delete_params.rbi +34 -0
  81. data/rbi/openai/models/admin/organization/spend_limit_retrieve_params.rbi +34 -0
  82. data/rbi/openai/models/admin/organization/spend_limit_update_params.rbi +141 -0
  83. data/rbi/openai/models/admin/organization/usage_audio_speeches_response.rbi +121 -16
  84. data/rbi/openai/models/admin/organization/usage_audio_transcriptions_response.rbi +121 -16
  85. data/rbi/openai/models/admin/organization/usage_code_interpreter_sessions_response.rbi +121 -16
  86. data/rbi/openai/models/admin/organization/usage_completions_response.rbi +121 -16
  87. data/rbi/openai/models/admin/organization/usage_costs_response.rbi +121 -16
  88. data/rbi/openai/models/admin/organization/usage_embeddings_response.rbi +121 -16
  89. data/rbi/openai/models/admin/organization/usage_file_search_calls_response.rbi +121 -16
  90. data/rbi/openai/models/admin/organization/usage_images_response.rbi +121 -16
  91. data/rbi/openai/models/admin/organization/usage_moderations_response.rbi +121 -16
  92. data/rbi/openai/models/admin/organization/usage_vector_stores_response.rbi +121 -16
  93. data/rbi/openai/models/admin/organization/usage_web_search_calls_response.rbi +121 -16
  94. data/rbi/openai/models/beta/beta_response.rbi +18 -15
  95. data/rbi/openai/models/beta/beta_response_error.rbi +5 -0
  96. data/rbi/openai/models/beta/beta_response_input_item.rbi +39 -46
  97. data/rbi/openai/models/beta/beta_response_text_config.rbi +6 -3
  98. data/rbi/openai/models/beta/beta_responses_client_event.rbi +18 -15
  99. data/rbi/openai/models/beta/response_create_params.rbi +18 -15
  100. data/rbi/openai/models/beta/responses/input_token_count_params.rbi +18 -6
  101. data/rbi/openai/models/chat/completion_create_params.rbi +12 -15
  102. data/rbi/openai/models/reasoning.rbi +12 -3
  103. data/rbi/openai/models/responses/input_token_count_params.rbi +6 -3
  104. data/rbi/openai/models/responses/response.rbi +6 -12
  105. data/rbi/openai/models/responses/response_create_params.rbi +6 -12
  106. data/rbi/openai/models/responses/response_error.rbi +5 -0
  107. data/rbi/openai/models/responses/response_text_config.rbi +6 -3
  108. data/rbi/openai/models/responses/responses_client_event.rbi +6 -12
  109. data/rbi/openai/provider.rbi +9 -0
  110. data/rbi/openai/providers.rbi +33 -0
  111. data/rbi/openai/resources/admin/organization/projects/service_accounts/api_keys.rbi +45 -0
  112. data/rbi/openai/resources/admin/organization/projects/service_accounts.rbi +12 -2
  113. data/rbi/openai/resources/admin/organization/projects/spend_limit.rbi +78 -0
  114. data/rbi/openai/resources/admin/organization/projects.rbi +7 -0
  115. data/rbi/openai/resources/admin/organization/spend_limit.rbi +57 -0
  116. data/rbi/openai/resources/admin/organization.rbi +3 -0
  117. data/rbi/openai/resources/beta/responses.rbi +4 -4
  118. data/rbi/openai/resources/chat/completions.rbi +8 -6
  119. data/rbi/openai/resources/responses.rbi +4 -4
  120. data/sig/openai/client.rbs +7 -0
  121. data/sig/openai/internal/provider.rbs +29 -0
  122. data/sig/openai/internal/transport/base_client.rbs +17 -1
  123. data/sig/openai/models/admin/organization/audit_log_list_params.rbs +168 -0
  124. data/sig/openai/models/admin/organization/audit_log_list_response.rbs +168 -0
  125. data/sig/openai/models/admin/organization/organization_spend_limit.rbs +94 -0
  126. data/sig/openai/models/admin/organization/organization_spend_limit_deleted.rbs +28 -0
  127. data/sig/openai/models/admin/organization/projects/project_service_account.rbs +2 -1
  128. data/sig/openai/models/admin/organization/projects/project_spend_limit.rbs +96 -0
  129. data/sig/openai/models/admin/organization/projects/project_spend_limit_deleted.rbs +30 -0
  130. data/sig/openai/models/admin/organization/projects/service_account_create_params.rbs +9 -1
  131. data/sig/openai/models/admin/organization/projects/service_account_create_response.rbs +16 -5
  132. data/sig/openai/models/admin/organization/projects/service_accounts/api_key_create_params.rbs +53 -0
  133. data/sig/openai/models/admin/organization/projects/service_accounts/api_key_create_response.rbs +48 -0
  134. data/sig/openai/models/admin/organization/projects/spend_limit_delete_params.rbs +29 -0
  135. data/sig/openai/models/admin/organization/projects/spend_limit_retrieve_params.rbs +29 -0
  136. data/sig/openai/models/admin/organization/projects/spend_limit_update_params.rbs +67 -0
  137. data/sig/openai/models/admin/organization/spend_limit_delete_params.rbs +19 -0
  138. data/sig/openai/models/admin/organization/spend_limit_retrieve_params.rbs +19 -0
  139. data/sig/openai/models/admin/organization/spend_limit_update_params.rbs +60 -0
  140. data/sig/openai/models/admin/organization/usage_audio_speeches_response.rbs +63 -0
  141. data/sig/openai/models/admin/organization/usage_audio_transcriptions_response.rbs +63 -0
  142. data/sig/openai/models/admin/organization/usage_code_interpreter_sessions_response.rbs +63 -0
  143. data/sig/openai/models/admin/organization/usage_completions_response.rbs +63 -0
  144. data/sig/openai/models/admin/organization/usage_costs_response.rbs +63 -0
  145. data/sig/openai/models/admin/organization/usage_embeddings_response.rbs +63 -0
  146. data/sig/openai/models/admin/organization/usage_file_search_calls_response.rbs +63 -0
  147. data/sig/openai/models/admin/organization/usage_images_response.rbs +63 -0
  148. data/sig/openai/models/admin/organization/usage_moderations_response.rbs +63 -0
  149. data/sig/openai/models/admin/organization/usage_vector_stores_response.rbs +63 -0
  150. data/sig/openai/models/admin/organization/usage_web_search_calls_response.rbs +63 -0
  151. data/sig/openai/models/beta/beta_response.rbs +8 -12
  152. data/sig/openai/models/beta/beta_response_error.rbs +2 -0
  153. data/sig/openai/models/beta/beta_response_input_item.rbs +18 -24
  154. data/sig/openai/models/beta/beta_responses_client_event.rbs +8 -12
  155. data/sig/openai/models/beta/response_create_params.rbs +8 -12
  156. data/sig/openai/models/chat/completion_create_params.rbs +8 -12
  157. data/sig/openai/models/responses/response.rbs +8 -12
  158. data/sig/openai/models/responses/response_create_params.rbs +8 -12
  159. data/sig/openai/models/responses/response_error.rbs +2 -0
  160. data/sig/openai/models/responses/responses_client_event.rbs +8 -12
  161. data/sig/openai/provider.rbs +5 -0
  162. data/sig/openai/providers.rbs +15 -0
  163. data/sig/openai/resources/admin/organization/projects/service_accounts/api_keys.rbs +23 -0
  164. data/sig/openai/resources/admin/organization/projects/service_accounts.rbs +3 -0
  165. data/sig/openai/resources/admin/organization/projects/spend_limit.rbs +31 -0
  166. data/sig/openai/resources/admin/organization/projects.rbs +2 -0
  167. data/sig/openai/resources/admin/organization/spend_limit.rbs +26 -0
  168. data/sig/openai/resources/admin/organization.rbs +2 -0
  169. data/sig/openai/resources/beta/responses.rbs +4 -4
  170. data/sig/openai/resources/chat/completions.rbs +4 -4
  171. data/sig/openai/resources/responses.rbs +4 -4
  172. metadata +56 -2
@@ -0,0 +1,96 @@
1
+ module OpenAI
2
+ module Models
3
+ module Admin
4
+ module Organization
5
+ class ProjectSpendLimit = Projects::ProjectSpendLimit
6
+
7
+ module Projects
8
+ type project_spend_limit =
9
+ {
10
+ currency: OpenAI::Models::Admin::Organization::Projects::ProjectSpendLimit::currency,
11
+ enforcement: OpenAI::Admin::Organization::Projects::ProjectSpendLimit::Enforcement,
12
+ interval: OpenAI::Models::Admin::Organization::Projects::ProjectSpendLimit::interval,
13
+ object: :"project.spend_limit",
14
+ threshold_amount: Integer
15
+ }
16
+
17
+ class ProjectSpendLimit < OpenAI::Internal::Type::BaseModel
18
+ attr_accessor currency: OpenAI::Models::Admin::Organization::Projects::ProjectSpendLimit::currency
19
+
20
+ attr_accessor enforcement: OpenAI::Admin::Organization::Projects::ProjectSpendLimit::Enforcement
21
+
22
+ attr_accessor interval: OpenAI::Models::Admin::Organization::Projects::ProjectSpendLimit::interval
23
+
24
+ attr_accessor object: :"project.spend_limit"
25
+
26
+ attr_accessor threshold_amount: Integer
27
+
28
+ def initialize: (
29
+ currency: OpenAI::Models::Admin::Organization::Projects::ProjectSpendLimit::currency,
30
+ enforcement: OpenAI::Admin::Organization::Projects::ProjectSpendLimit::Enforcement,
31
+ interval: OpenAI::Models::Admin::Organization::Projects::ProjectSpendLimit::interval,
32
+ threshold_amount: Integer,
33
+ ?object: :"project.spend_limit"
34
+ ) -> void
35
+
36
+ def to_hash: -> {
37
+ currency: OpenAI::Models::Admin::Organization::Projects::ProjectSpendLimit::currency,
38
+ enforcement: OpenAI::Admin::Organization::Projects::ProjectSpendLimit::Enforcement,
39
+ interval: OpenAI::Models::Admin::Organization::Projects::ProjectSpendLimit::interval,
40
+ object: :"project.spend_limit",
41
+ threshold_amount: Integer
42
+ }
43
+
44
+ type currency = String | :USD
45
+
46
+ module Currency
47
+ extend OpenAI::Internal::Type::Union
48
+
49
+ def self?.variants: -> ::Array[OpenAI::Models::Admin::Organization::Projects::ProjectSpendLimit::currency]
50
+
51
+ USD: :USD
52
+ end
53
+
54
+ type enforcement =
55
+ {
56
+ status: OpenAI::Models::Admin::Organization::Projects::ProjectSpendLimit::Enforcement::status
57
+ }
58
+
59
+ class Enforcement < OpenAI::Internal::Type::BaseModel
60
+ attr_accessor status: OpenAI::Models::Admin::Organization::Projects::ProjectSpendLimit::Enforcement::status
61
+
62
+ def initialize: (
63
+ status: OpenAI::Models::Admin::Organization::Projects::ProjectSpendLimit::Enforcement::status
64
+ ) -> void
65
+
66
+ def to_hash: -> {
67
+ status: OpenAI::Models::Admin::Organization::Projects::ProjectSpendLimit::Enforcement::status
68
+ }
69
+
70
+ type status = String | :inactive | :enforcing
71
+
72
+ module Status
73
+ extend OpenAI::Internal::Type::Union
74
+
75
+ def self?.variants: -> ::Array[OpenAI::Models::Admin::Organization::Projects::ProjectSpendLimit::Enforcement::status]
76
+
77
+ INACTIVE: :inactive
78
+ ENFORCING: :enforcing
79
+ end
80
+ end
81
+
82
+ type interval = String | :month
83
+
84
+ module Interval
85
+ extend OpenAI::Internal::Type::Union
86
+
87
+ def self?.variants: -> ::Array[OpenAI::Models::Admin::Organization::Projects::ProjectSpendLimit::interval]
88
+
89
+ MONTH: :month
90
+ end
91
+ end
92
+ end
93
+ end
94
+ end
95
+ end
96
+ end
@@ -0,0 +1,30 @@
1
+ module OpenAI
2
+ module Models
3
+ module Admin
4
+ module Organization
5
+ class ProjectSpendLimitDeleted = Projects::ProjectSpendLimitDeleted
6
+
7
+ module Projects
8
+ type project_spend_limit_deleted =
9
+ { deleted: bool, object: :"project.spend_limit.deleted" }
10
+
11
+ class ProjectSpendLimitDeleted < OpenAI::Internal::Type::BaseModel
12
+ attr_accessor deleted: bool
13
+
14
+ attr_accessor object: :"project.spend_limit.deleted"
15
+
16
+ def initialize: (
17
+ deleted: bool,
18
+ ?object: :"project.spend_limit.deleted"
19
+ ) -> void
20
+
21
+ def to_hash: -> {
22
+ deleted: bool,
23
+ object: :"project.spend_limit.deleted"
24
+ }
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -4,7 +4,11 @@ module OpenAI
4
4
  module Organization
5
5
  module Projects
6
6
  type service_account_create_params =
7
- { project_id: String, name: String }
7
+ {
8
+ project_id: String,
9
+ name: String,
10
+ create_service_account_only: bool?
11
+ }
8
12
  & OpenAI::Internal::Type::request_parameters
9
13
 
10
14
  class ServiceAccountCreateParams < OpenAI::Internal::Type::BaseModel
@@ -15,15 +19,19 @@ module OpenAI
15
19
 
16
20
  attr_accessor name: String
17
21
 
22
+ attr_accessor create_service_account_only: bool?
23
+
18
24
  def initialize: (
19
25
  project_id: String,
20
26
  name: String,
27
+ ?create_service_account_only: bool?,
21
28
  ?request_options: OpenAI::request_opts
22
29
  ) -> void
23
30
 
24
31
  def to_hash: -> {
25
32
  project_id: String,
26
33
  name: String,
34
+ create_service_account_only: bool?,
27
35
  request_options: OpenAI::RequestOptions
28
36
  }
29
37
  end
@@ -10,7 +10,7 @@ module OpenAI
10
10
  created_at: Integer,
11
11
  name: String,
12
12
  object: :"organization.project.service_account",
13
- role: :member
13
+ role: OpenAI::Models::Admin::Organization::Projects::ServiceAccountCreateResponse::role
14
14
  }
15
15
 
16
16
  class ServiceAccountCreateResponse < OpenAI::Internal::Type::BaseModel
@@ -24,15 +24,15 @@ module OpenAI
24
24
 
25
25
  attr_accessor object: :"organization.project.service_account"
26
26
 
27
- attr_accessor role: :member
27
+ attr_accessor role: OpenAI::Models::Admin::Organization::Projects::ServiceAccountCreateResponse::role
28
28
 
29
29
  def initialize: (
30
30
  id: String,
31
31
  api_key: OpenAI::Models::Admin::Organization::Projects::ServiceAccountCreateResponse::APIKey?,
32
32
  created_at: Integer,
33
33
  name: String,
34
- ?object: :"organization.project.service_account",
35
- ?role: :member
34
+ role: OpenAI::Models::Admin::Organization::Projects::ServiceAccountCreateResponse::role,
35
+ ?object: :"organization.project.service_account"
36
36
  ) -> void
37
37
 
38
38
  def to_hash: -> {
@@ -41,7 +41,7 @@ module OpenAI
41
41
  created_at: Integer,
42
42
  name: String,
43
43
  object: :"organization.project.service_account",
44
- role: :member
44
+ role: OpenAI::Models::Admin::Organization::Projects::ServiceAccountCreateResponse::role
45
45
  }
46
46
 
47
47
  type api_key =
@@ -80,6 +80,17 @@ module OpenAI
80
80
  value: String
81
81
  }
82
82
  end
83
+
84
+ type role = :member | :none
85
+
86
+ module Role
87
+ extend OpenAI::Internal::Type::Enum
88
+
89
+ MEMBER: :member
90
+ NONE: :none
91
+
92
+ def self?.values: -> ::Array[OpenAI::Models::Admin::Organization::Projects::ServiceAccountCreateResponse::role]
93
+ end
83
94
  end
84
95
  end
85
96
  end
@@ -0,0 +1,53 @@
1
+ module OpenAI
2
+ module Models
3
+ module Admin
4
+ module Organization
5
+ module Projects
6
+ module ServiceAccounts
7
+ type api_key_create_params =
8
+ {
9
+ project_id: String,
10
+ service_account_id: String,
11
+ name: String,
12
+ scopes: ::Array[String]
13
+ }
14
+ & OpenAI::Internal::Type::request_parameters
15
+
16
+ class APIKeyCreateParams < OpenAI::Internal::Type::BaseModel
17
+ extend OpenAI::Internal::Type::RequestParameters::Converter
18
+ include OpenAI::Internal::Type::RequestParameters
19
+
20
+ attr_accessor project_id: String
21
+
22
+ attr_accessor service_account_id: String
23
+
24
+ attr_reader name: String?
25
+
26
+ def name=: (String) -> String
27
+
28
+ attr_reader scopes: ::Array[String]?
29
+
30
+ def scopes=: (::Array[String]) -> ::Array[String]
31
+
32
+ def initialize: (
33
+ project_id: String,
34
+ service_account_id: String,
35
+ ?name: String,
36
+ ?scopes: ::Array[String],
37
+ ?request_options: OpenAI::request_opts
38
+ ) -> void
39
+
40
+ def to_hash: -> {
41
+ project_id: String,
42
+ service_account_id: String,
43
+ name: String,
44
+ scopes: ::Array[String],
45
+ request_options: OpenAI::RequestOptions
46
+ }
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,48 @@
1
+ module OpenAI
2
+ module Models
3
+ module Admin
4
+ module Organization
5
+ module Projects
6
+ module ServiceAccounts
7
+ type api_key_create_response =
8
+ {
9
+ id: String,
10
+ created_at: Integer,
11
+ name: String,
12
+ object: :"organization.project.service_account.api_key",
13
+ value: String
14
+ }
15
+
16
+ class APIKeyCreateResponse < OpenAI::Internal::Type::BaseModel
17
+ attr_accessor id: String
18
+
19
+ attr_accessor created_at: Integer
20
+
21
+ attr_accessor name: String
22
+
23
+ attr_accessor object: :"organization.project.service_account.api_key"
24
+
25
+ attr_accessor value: String
26
+
27
+ def initialize: (
28
+ id: String,
29
+ created_at: Integer,
30
+ name: String,
31
+ value: String,
32
+ ?object: :"organization.project.service_account.api_key"
33
+ ) -> void
34
+
35
+ def to_hash: -> {
36
+ id: String,
37
+ created_at: Integer,
38
+ name: String,
39
+ object: :"organization.project.service_account.api_key",
40
+ value: String
41
+ }
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,29 @@
1
+ module OpenAI
2
+ module Models
3
+ module Admin
4
+ module Organization
5
+ module Projects
6
+ type spend_limit_delete_params =
7
+ { project_id: String } & OpenAI::Internal::Type::request_parameters
8
+
9
+ class SpendLimitDeleteParams < OpenAI::Internal::Type::BaseModel
10
+ extend OpenAI::Internal::Type::RequestParameters::Converter
11
+ include OpenAI::Internal::Type::RequestParameters
12
+
13
+ attr_accessor project_id: String
14
+
15
+ def initialize: (
16
+ project_id: String,
17
+ ?request_options: OpenAI::request_opts
18
+ ) -> void
19
+
20
+ def to_hash: -> {
21
+ project_id: String,
22
+ request_options: OpenAI::RequestOptions
23
+ }
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,29 @@
1
+ module OpenAI
2
+ module Models
3
+ module Admin
4
+ module Organization
5
+ module Projects
6
+ type spend_limit_retrieve_params =
7
+ { project_id: String } & OpenAI::Internal::Type::request_parameters
8
+
9
+ class SpendLimitRetrieveParams < OpenAI::Internal::Type::BaseModel
10
+ extend OpenAI::Internal::Type::RequestParameters::Converter
11
+ include OpenAI::Internal::Type::RequestParameters
12
+
13
+ attr_accessor project_id: String
14
+
15
+ def initialize: (
16
+ project_id: String,
17
+ ?request_options: OpenAI::request_opts
18
+ ) -> void
19
+
20
+ def to_hash: -> {
21
+ project_id: String,
22
+ request_options: OpenAI::RequestOptions
23
+ }
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,67 @@
1
+ module OpenAI
2
+ module Models
3
+ module Admin
4
+ module Organization
5
+ module Projects
6
+ type spend_limit_update_params =
7
+ {
8
+ project_id: String,
9
+ currency: OpenAI::Models::Admin::Organization::Projects::SpendLimitUpdateParams::currency,
10
+ interval: OpenAI::Models::Admin::Organization::Projects::SpendLimitUpdateParams::interval,
11
+ threshold_amount: Integer
12
+ }
13
+ & OpenAI::Internal::Type::request_parameters
14
+
15
+ class SpendLimitUpdateParams < OpenAI::Internal::Type::BaseModel
16
+ extend OpenAI::Internal::Type::RequestParameters::Converter
17
+ include OpenAI::Internal::Type::RequestParameters
18
+
19
+ attr_accessor project_id: String
20
+
21
+ attr_accessor currency: OpenAI::Models::Admin::Organization::Projects::SpendLimitUpdateParams::currency
22
+
23
+ attr_accessor interval: OpenAI::Models::Admin::Organization::Projects::SpendLimitUpdateParams::interval
24
+
25
+ attr_accessor threshold_amount: Integer
26
+
27
+ def initialize: (
28
+ project_id: String,
29
+ currency: OpenAI::Models::Admin::Organization::Projects::SpendLimitUpdateParams::currency,
30
+ interval: OpenAI::Models::Admin::Organization::Projects::SpendLimitUpdateParams::interval,
31
+ threshold_amount: Integer,
32
+ ?request_options: OpenAI::request_opts
33
+ ) -> void
34
+
35
+ def to_hash: -> {
36
+ project_id: String,
37
+ currency: OpenAI::Models::Admin::Organization::Projects::SpendLimitUpdateParams::currency,
38
+ interval: OpenAI::Models::Admin::Organization::Projects::SpendLimitUpdateParams::interval,
39
+ threshold_amount: Integer,
40
+ request_options: OpenAI::RequestOptions
41
+ }
42
+
43
+ type currency = :USD
44
+
45
+ module Currency
46
+ extend OpenAI::Internal::Type::Enum
47
+
48
+ USD: :USD
49
+
50
+ def self?.values: -> ::Array[OpenAI::Models::Admin::Organization::Projects::SpendLimitUpdateParams::currency]
51
+ end
52
+
53
+ type interval = :month
54
+
55
+ module Interval
56
+ extend OpenAI::Internal::Type::Enum
57
+
58
+ MONTH: :month
59
+
60
+ def self?.values: -> ::Array[OpenAI::Models::Admin::Organization::Projects::SpendLimitUpdateParams::interval]
61
+ end
62
+ end
63
+ end
64
+ end
65
+ end
66
+ end
67
+ end
@@ -0,0 +1,19 @@
1
+ module OpenAI
2
+ module Models
3
+ module Admin
4
+ module Organization
5
+ type spend_limit_delete_params =
6
+ { } & OpenAI::Internal::Type::request_parameters
7
+
8
+ class SpendLimitDeleteParams < OpenAI::Internal::Type::BaseModel
9
+ extend OpenAI::Internal::Type::RequestParameters::Converter
10
+ include OpenAI::Internal::Type::RequestParameters
11
+
12
+ def initialize: (?request_options: OpenAI::request_opts) -> void
13
+
14
+ def to_hash: -> { request_options: OpenAI::RequestOptions }
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,19 @@
1
+ module OpenAI
2
+ module Models
3
+ module Admin
4
+ module Organization
5
+ type spend_limit_retrieve_params =
6
+ { } & OpenAI::Internal::Type::request_parameters
7
+
8
+ class SpendLimitRetrieveParams < OpenAI::Internal::Type::BaseModel
9
+ extend OpenAI::Internal::Type::RequestParameters::Converter
10
+ include OpenAI::Internal::Type::RequestParameters
11
+
12
+ def initialize: (?request_options: OpenAI::request_opts) -> void
13
+
14
+ def to_hash: -> { request_options: OpenAI::RequestOptions }
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,60 @@
1
+ module OpenAI
2
+ module Models
3
+ module Admin
4
+ module Organization
5
+ type spend_limit_update_params =
6
+ {
7
+ currency: OpenAI::Models::Admin::Organization::SpendLimitUpdateParams::currency,
8
+ interval: OpenAI::Models::Admin::Organization::SpendLimitUpdateParams::interval,
9
+ threshold_amount: Integer
10
+ }
11
+ & OpenAI::Internal::Type::request_parameters
12
+
13
+ class SpendLimitUpdateParams < OpenAI::Internal::Type::BaseModel
14
+ extend OpenAI::Internal::Type::RequestParameters::Converter
15
+ include OpenAI::Internal::Type::RequestParameters
16
+
17
+ attr_accessor currency: OpenAI::Models::Admin::Organization::SpendLimitUpdateParams::currency
18
+
19
+ attr_accessor interval: OpenAI::Models::Admin::Organization::SpendLimitUpdateParams::interval
20
+
21
+ attr_accessor threshold_amount: Integer
22
+
23
+ def initialize: (
24
+ currency: OpenAI::Models::Admin::Organization::SpendLimitUpdateParams::currency,
25
+ interval: OpenAI::Models::Admin::Organization::SpendLimitUpdateParams::interval,
26
+ threshold_amount: Integer,
27
+ ?request_options: OpenAI::request_opts
28
+ ) -> void
29
+
30
+ def to_hash: -> {
31
+ currency: OpenAI::Models::Admin::Organization::SpendLimitUpdateParams::currency,
32
+ interval: OpenAI::Models::Admin::Organization::SpendLimitUpdateParams::interval,
33
+ threshold_amount: Integer,
34
+ request_options: OpenAI::RequestOptions
35
+ }
36
+
37
+ type currency = :USD
38
+
39
+ module Currency
40
+ extend OpenAI::Internal::Type::Enum
41
+
42
+ USD: :USD
43
+
44
+ def self?.values: -> ::Array[OpenAI::Models::Admin::Organization::SpendLimitUpdateParams::currency]
45
+ end
46
+
47
+ type interval = :month
48
+
49
+ module Interval
50
+ extend OpenAI::Internal::Type::Enum
51
+
52
+ MONTH: :month
53
+
54
+ def self?.values: -> ::Array[OpenAI::Models::Admin::Organization::SpendLimitUpdateParams::interval]
55
+ end
56
+ end
57
+ end
58
+ end
59
+ end
60
+ end
@@ -89,9 +89,18 @@ module OpenAI
89
89
  api_key_id: String?,
90
90
  batch: bool?,
91
91
  input_audio_tokens: Integer,
92
+ input_cache_write_tokens: Integer,
93
+ input_cached_audio_tokens: Integer,
94
+ input_cached_image_tokens: Integer,
95
+ input_cached_text_tokens: Integer,
92
96
  input_cached_tokens: Integer,
97
+ input_image_tokens: Integer,
98
+ input_text_tokens: Integer,
99
+ input_uncached_tokens: Integer,
93
100
  model: String?,
94
101
  output_audio_tokens: Integer,
102
+ output_image_tokens: Integer,
103
+ output_text_tokens: Integer,
95
104
  project_id: String?,
96
105
  service_tier: String?,
97
106
  user_id: String?
@@ -114,16 +123,52 @@ module OpenAI
114
123
 
115
124
  def input_audio_tokens=: (Integer) -> Integer
116
125
 
126
+ attr_reader input_cache_write_tokens: Integer?
127
+
128
+ def input_cache_write_tokens=: (Integer) -> Integer
129
+
130
+ attr_reader input_cached_audio_tokens: Integer?
131
+
132
+ def input_cached_audio_tokens=: (Integer) -> Integer
133
+
134
+ attr_reader input_cached_image_tokens: Integer?
135
+
136
+ def input_cached_image_tokens=: (Integer) -> Integer
137
+
138
+ attr_reader input_cached_text_tokens: Integer?
139
+
140
+ def input_cached_text_tokens=: (Integer) -> Integer
141
+
117
142
  attr_reader input_cached_tokens: Integer?
118
143
 
119
144
  def input_cached_tokens=: (Integer) -> Integer
120
145
 
146
+ attr_reader input_image_tokens: Integer?
147
+
148
+ def input_image_tokens=: (Integer) -> Integer
149
+
150
+ attr_reader input_text_tokens: Integer?
151
+
152
+ def input_text_tokens=: (Integer) -> Integer
153
+
154
+ attr_reader input_uncached_tokens: Integer?
155
+
156
+ def input_uncached_tokens=: (Integer) -> Integer
157
+
121
158
  attr_accessor model: String?
122
159
 
123
160
  attr_reader output_audio_tokens: Integer?
124
161
 
125
162
  def output_audio_tokens=: (Integer) -> Integer
126
163
 
164
+ attr_reader output_image_tokens: Integer?
165
+
166
+ def output_image_tokens=: (Integer) -> Integer
167
+
168
+ attr_reader output_text_tokens: Integer?
169
+
170
+ def output_text_tokens=: (Integer) -> Integer
171
+
127
172
  attr_accessor project_id: String?
128
173
 
129
174
  attr_accessor service_tier: String?
@@ -137,9 +182,18 @@ module OpenAI
137
182
  ?api_key_id: String?,
138
183
  ?batch: bool?,
139
184
  ?input_audio_tokens: Integer,
185
+ ?input_cache_write_tokens: Integer,
186
+ ?input_cached_audio_tokens: Integer,
187
+ ?input_cached_image_tokens: Integer,
188
+ ?input_cached_text_tokens: Integer,
140
189
  ?input_cached_tokens: Integer,
190
+ ?input_image_tokens: Integer,
191
+ ?input_text_tokens: Integer,
192
+ ?input_uncached_tokens: Integer,
141
193
  ?model: String?,
142
194
  ?output_audio_tokens: Integer,
195
+ ?output_image_tokens: Integer,
196
+ ?output_text_tokens: Integer,
143
197
  ?project_id: String?,
144
198
  ?service_tier: String?,
145
199
  ?user_id: String?,
@@ -154,9 +208,18 @@ module OpenAI
154
208
  api_key_id: String?,
155
209
  batch: bool?,
156
210
  input_audio_tokens: Integer,
211
+ input_cache_write_tokens: Integer,
212
+ input_cached_audio_tokens: Integer,
213
+ input_cached_image_tokens: Integer,
214
+ input_cached_text_tokens: Integer,
157
215
  input_cached_tokens: Integer,
216
+ input_image_tokens: Integer,
217
+ input_text_tokens: Integer,
218
+ input_uncached_tokens: Integer,
158
219
  model: String?,
159
220
  output_audio_tokens: Integer,
221
+ output_image_tokens: Integer,
222
+ output_text_tokens: Integer,
160
223
  project_id: String?,
161
224
  service_tier: String?,
162
225
  user_id: String?