openai 0.116.0 → 0.118.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 (134) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +20 -0
  3. data/README.md +1 -1
  4. data/lib/openai/models/admin/organization/projects/project_optional_service_tier.rb +24 -0
  5. data/lib/openai/models/admin/organization/projects/project_service_tier_settings.rb +88 -0
  6. data/lib/openai/models/admin/organization/projects/service_tier_setting_retrieve_params.rb +29 -0
  7. data/lib/openai/models/admin/organization/projects/service_tier_setting_update_params.rb +92 -0
  8. data/lib/openai/models/admin/organization/workload_identity_provider.rb +158 -0
  9. data/lib/openai/models/admin/organization/workload_identity_provider_create_params.rb +143 -0
  10. data/lib/openai/models/admin/organization/workload_identity_provider_delete_params.rb +24 -0
  11. data/lib/openai/models/admin/organization/workload_identity_provider_deleted.rb +32 -0
  12. data/lib/openai/models/admin/organization/workload_identity_provider_list_params.rb +58 -0
  13. data/lib/openai/models/admin/organization/workload_identity_provider_retrieve_params.rb +24 -0
  14. data/lib/openai/models/admin/organization/workload_identity_provider_update_params.rb +143 -0
  15. data/lib/openai/models/admin/organization/workload_identity_providers/federation_rule.rb +161 -0
  16. data/lib/openai/models/admin/organization/workload_identity_providers/federation_rule_create_params.rb +144 -0
  17. data/lib/openai/models/admin/organization/workload_identity_providers/federation_rule_delete_params.rb +32 -0
  18. data/lib/openai/models/admin/organization/workload_identity_providers/federation_rule_deleted.rb +34 -0
  19. data/lib/openai/models/admin/organization/workload_identity_providers/federation_rule_list_params.rb +85 -0
  20. data/lib/openai/models/admin/organization/workload_identity_providers/federation_rule_retrieve_params.rb +32 -0
  21. data/lib/openai/models/admin/organization/workload_identity_providers/federation_rule_update_params.rb +134 -0
  22. data/lib/openai/models/beta/beta_response.rb +1 -0
  23. data/lib/openai/models/beta/beta_response_usage.rb +33 -1
  24. data/lib/openai/models/beta/beta_responses_client_event.rb +10 -9
  25. data/lib/openai/models/beta/chatkit/chat_session_workflow_param.rb +5 -3
  26. data/lib/openai/models/beta/chatkit_workflow.rb +5 -3
  27. data/lib/openai/models/beta/response_compact_params.rb +3 -3
  28. data/lib/openai/models/beta/response_create_params.rb +10 -9
  29. data/lib/openai/models/chat/completion_create_params.rb +3 -3
  30. data/lib/openai/models/responses/response.rb +1 -0
  31. data/lib/openai/models/responses/response_compact_params.rb +3 -3
  32. data/lib/openai/models/responses/response_create_params.rb +10 -9
  33. data/lib/openai/models/responses/response_usage.rb +33 -1
  34. data/lib/openai/models/responses/responses_client_event.rb +10 -9
  35. data/lib/openai/resources/admin/organization/projects/service_tier_settings.rb +77 -0
  36. data/lib/openai/resources/admin/organization/projects.rb +6 -0
  37. data/lib/openai/resources/admin/organization/workload_identity_providers/federation_rules.rb +198 -0
  38. data/lib/openai/resources/admin/organization/workload_identity_providers.rb +148 -0
  39. data/lib/openai/resources/admin/organization.rb +6 -0
  40. data/lib/openai/resources/beta/responses.rb +6 -6
  41. data/lib/openai/resources/chat/completions.rb +2 -2
  42. data/lib/openai/resources/responses.rb +3 -3
  43. data/lib/openai/version.rb +1 -1
  44. data/lib/openai.rb +21 -0
  45. data/rbi/openai/models/admin/organization/projects/project_optional_service_tier.rbi +45 -0
  46. data/rbi/openai/models/admin/organization/projects/project_service_tier_settings.rbi +143 -0
  47. data/rbi/openai/models/admin/organization/projects/service_tier_setting_retrieve_params.rbi +63 -0
  48. data/rbi/openai/models/admin/organization/projects/service_tier_setting_update_params.rbi +183 -0
  49. data/rbi/openai/models/admin/organization/workload_identity_provider.rbi +288 -0
  50. data/rbi/openai/models/admin/organization/workload_identity_provider_create_params.rbi +311 -0
  51. data/rbi/openai/models/admin/organization/workload_identity_provider_delete_params.rbi +57 -0
  52. data/rbi/openai/models/admin/organization/workload_identity_provider_deleted.rbi +64 -0
  53. data/rbi/openai/models/admin/organization/workload_identity_provider_list_params.rbi +111 -0
  54. data/rbi/openai/models/admin/organization/workload_identity_provider_retrieve_params.rbi +57 -0
  55. data/rbi/openai/models/admin/organization/workload_identity_provider_update_params.rbi +317 -0
  56. data/rbi/openai/models/admin/organization/workload_identity_providers/federation_rule.rbi +276 -0
  57. data/rbi/openai/models/admin/organization/workload_identity_providers/federation_rule_create_params.rbi +282 -0
  58. data/rbi/openai/models/admin/organization/workload_identity_providers/federation_rule_delete_params.rbi +72 -0
  59. data/rbi/openai/models/admin/organization/workload_identity_providers/federation_rule_deleted.rbi +68 -0
  60. data/rbi/openai/models/admin/organization/workload_identity_providers/federation_rule_list_params.rbi +153 -0
  61. data/rbi/openai/models/admin/organization/workload_identity_providers/federation_rule_retrieve_params.rbi +72 -0
  62. data/rbi/openai/models/admin/organization/workload_identity_providers/federation_rule_update_params.rbi +281 -0
  63. data/rbi/openai/models/beta/beta_response.rbi +1 -0
  64. data/rbi/openai/models/beta/beta_response_usage.rbi +66 -3
  65. data/rbi/openai/models/beta/beta_responses_client_event.rbi +13 -9
  66. data/rbi/openai/models/beta/chatkit/chat_session_workflow_param.rbi +1 -1
  67. data/rbi/openai/models/beta/chatkit_workflow.rbi +1 -1
  68. data/rbi/openai/models/beta/response_compact_params.rbi +3 -3
  69. data/rbi/openai/models/beta/response_create_params.rbi +10 -9
  70. data/rbi/openai/models/chat/completion_create_params.rbi +3 -3
  71. data/rbi/openai/models/responses/response.rbi +1 -0
  72. data/rbi/openai/models/responses/response_compact_params.rbi +3 -3
  73. data/rbi/openai/models/responses/response_create_params.rbi +10 -9
  74. data/rbi/openai/models/responses/response_usage.rbi +66 -3
  75. data/rbi/openai/models/responses/responses_client_event.rbi +13 -9
  76. data/rbi/openai/resources/admin/organization/projects/service_tier_settings.rbi +67 -0
  77. data/rbi/openai/resources/admin/organization/projects.rbi +3 -0
  78. data/rbi/openai/resources/admin/organization/workload_identity_providers/federation_rules.rbi +148 -0
  79. data/rbi/openai/resources/admin/organization/workload_identity_providers.rbi +123 -0
  80. data/rbi/openai/resources/admin/organization.rbi +3 -0
  81. data/rbi/openai/resources/beta/responses.rbi +6 -6
  82. data/rbi/openai/resources/chat/completions.rbi +2 -2
  83. data/rbi/openai/resources/responses.rbi +3 -3
  84. data/sig/openai/models/admin/organization/external_key_create_params.rbs +9 -9
  85. data/sig/openai/models/admin/organization/projects/project_optional_service_tier.rbs +23 -0
  86. data/sig/openai/models/admin/organization/projects/project_service_tier_settings.rbs +72 -0
  87. data/sig/openai/models/admin/organization/projects/service_tier_setting_retrieve_params.rbs +32 -0
  88. data/sig/openai/models/admin/organization/projects/service_tier_setting_update_params.rbs +91 -0
  89. data/sig/openai/models/admin/organization/workload_identity_provider.rbs +136 -0
  90. data/sig/openai/models/admin/organization/workload_identity_provider_create_params.rbs +140 -0
  91. data/sig/openai/models/admin/organization/workload_identity_provider_delete_params.rbs +30 -0
  92. data/sig/openai/models/admin/organization/workload_identity_provider_deleted.rbs +34 -0
  93. data/sig/openai/models/admin/organization/workload_identity_provider_list_params.rbs +59 -0
  94. data/sig/openai/models/admin/organization/workload_identity_provider_retrieve_params.rbs +30 -0
  95. data/sig/openai/models/admin/organization/workload_identity_provider_update_params.rbs +145 -0
  96. data/sig/openai/models/admin/organization/workload_identity_providers/federation_rule.rbs +124 -0
  97. data/sig/openai/models/admin/organization/workload_identity_providers/federation_rule_create_params.rbs +126 -0
  98. data/sig/openai/models/admin/organization/workload_identity_providers/federation_rule_delete_params.rbs +37 -0
  99. data/sig/openai/models/admin/organization/workload_identity_providers/federation_rule_deleted.rbs +36 -0
  100. data/sig/openai/models/admin/organization/workload_identity_providers/federation_rule_list_params.rbs +73 -0
  101. data/sig/openai/models/admin/organization/workload_identity_providers/federation_rule_retrieve_params.rbs +37 -0
  102. data/sig/openai/models/admin/organization/workload_identity_providers/federation_rule_update_params.rbs +123 -0
  103. data/sig/openai/models/audio/transcription_create_params.rbs +3 -3
  104. data/sig/openai/models/audio/voice_create_params.rbs +6 -6
  105. data/sig/openai/models/beta/assistant_create_params.rbs +14 -2
  106. data/sig/openai/models/beta/beta_response.rbs +2 -1
  107. data/sig/openai/models/beta/beta_response_usage.rbs +40 -3
  108. data/sig/openai/models/beta/beta_responses_client_event.rbs +11 -10
  109. data/sig/openai/models/beta/chatkit/chat_session_workflow_param.rbs +1 -1
  110. data/sig/openai/models/beta/chatkit_workflow.rbs +1 -1
  111. data/sig/openai/models/beta/response_compact_params.rbs +2 -2
  112. data/sig/openai/models/beta/response_create_params.rbs +11 -10
  113. data/sig/openai/models/beta/thread_create_and_run_params.rbs +14 -2
  114. data/sig/openai/models/beta/thread_create_params.rbs +14 -2
  115. data/sig/openai/models/chat/completion_create_params.rbs +3 -3
  116. data/sig/openai/models/decision_create_params.rbs +42 -0
  117. data/sig/openai/models/eval_create_params.rbs +29 -2
  118. data/sig/openai/models/evals/run_create_params.rbs +53 -2
  119. data/sig/openai/models/responses/response.rbs +2 -1
  120. data/sig/openai/models/responses/response_compact_params.rbs +2 -2
  121. data/sig/openai/models/responses/response_create_params.rbs +11 -10
  122. data/sig/openai/models/responses/response_usage.rbs +40 -3
  123. data/sig/openai/models/responses/responses_client_event.rbs +11 -10
  124. data/sig/openai/resources/admin/organization/external_keys.rbs +3 -3
  125. data/sig/openai/resources/admin/organization/projects/service_tier_settings.rbs +25 -0
  126. data/sig/openai/resources/admin/organization/projects.rbs +2 -0
  127. data/sig/openai/resources/admin/organization/workload_identity_providers/federation_rules.rbs +61 -0
  128. data/sig/openai/resources/admin/organization/workload_identity_providers.rbs +58 -0
  129. data/sig/openai/resources/admin/organization.rbs +2 -0
  130. data/sig/openai/resources/audio/transcriptions.rbs +2 -2
  131. data/sig/openai/resources/audio/voices.rbs +2 -2
  132. data/sig/openai/resources/decisions.rbs +14 -0
  133. data/sig/openai/resources/evals.rbs +8 -1
  134. metadata +64 -1
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Admin
6
+ module Organization
7
+ module WorkloadIdentityProviders
8
+ # @see OpenAI::Resources::Admin::Organization::WorkloadIdentityProviders::FederationRules#retrieve
9
+ class FederationRuleRetrieveParams < OpenAI::Internal::Type::BaseModel
10
+ extend OpenAI::Internal::Type::RequestParameters::Converter
11
+ include OpenAI::Internal::Type::RequestParameters
12
+
13
+ # @!attribute workload_identity_provider_id
14
+ #
15
+ # @return [String]
16
+ required :workload_identity_provider_id, String
17
+
18
+ # @!attribute workload_identity_federation_rule_id
19
+ #
20
+ # @return [String]
21
+ required :workload_identity_federation_rule_id, String
22
+
23
+ # @!method initialize(workload_identity_provider_id:, workload_identity_federation_rule_id:, request_options: {})
24
+ # @param workload_identity_provider_id [String]
25
+ # @param workload_identity_federation_rule_id [String]
26
+ # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}]
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,134 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Admin
6
+ module Organization
7
+ module WorkloadIdentityProviders
8
+ # @see OpenAI::Resources::Admin::Organization::WorkloadIdentityProviders::FederationRules#update
9
+ class FederationRuleUpdateParams < OpenAI::Internal::Type::BaseModel
10
+ extend OpenAI::Internal::Type::RequestParameters::Converter
11
+ include OpenAI::Internal::Type::RequestParameters
12
+
13
+ # @!attribute workload_identity_provider_id
14
+ #
15
+ # @return [String]
16
+ required :workload_identity_provider_id, String
17
+
18
+ # @!attribute workload_identity_federation_rule_id
19
+ #
20
+ # @return [String]
21
+ required :workload_identity_federation_rule_id, String
22
+
23
+ # @!attribute attribute_matchers
24
+ #
25
+ # @return [Hash{Symbol=>String, Boolean, Integer, Float}, nil]
26
+ optional(
27
+ :attribute_matchers,
28
+ -> {
29
+ OpenAI::Internal::Type::HashOf[
30
+ union: OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRuleUpdateParams::AttributeMatcher
31
+ ]
32
+ }
33
+ )
34
+
35
+ # @!attribute description
36
+ #
37
+ # @return [String, nil]
38
+ optional :description, String, nil?: true
39
+
40
+ # @!attribute enabled
41
+ #
42
+ # @return [Boolean, nil]
43
+ optional :enabled, OpenAI::Internal::Type::Boolean
44
+
45
+ # @!attribute name
46
+ #
47
+ # @return [String, nil]
48
+ optional :name, String, nil?: true
49
+
50
+ # @!attribute permissions
51
+ #
52
+ # @return [OpenAI::Models::Admin::Organization::WorkloadIdentityProviders::FederationRuleUpdateParams::Permissions::DefaultPermissionsParam, OpenAI::Models::Admin::Organization::WorkloadIdentityProviders::FederationRuleUpdateParams::Permissions::RestrictedPermissionsParam, nil]
53
+ optional(
54
+ :permissions,
55
+ union: -> {
56
+ OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRuleUpdateParams::Permissions
57
+ }
58
+ )
59
+
60
+ # @!method initialize(workload_identity_provider_id:, workload_identity_federation_rule_id:, attribute_matchers: nil, description: nil, enabled: nil, name: nil, permissions: nil, request_options: {})
61
+ # @param workload_identity_provider_id [String]
62
+ # @param workload_identity_federation_rule_id [String]
63
+ # @param attribute_matchers [Hash{Symbol=>String, Boolean, Integer, Float}]
64
+ # @param description [String, nil]
65
+ # @param enabled [Boolean]
66
+ # @param name [String, nil]
67
+ # @param permissions [OpenAI::Models::Admin::Organization::WorkloadIdentityProviders::FederationRuleUpdateParams::Permissions::DefaultPermissionsParam, OpenAI::Models::Admin::Organization::WorkloadIdentityProviders::FederationRuleUpdateParams::Permissions::RestrictedPermissionsParam]
68
+ # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}]
69
+
70
+ module AttributeMatcher
71
+ extend OpenAI::Internal::Type::Union
72
+
73
+ variant String
74
+
75
+ variant OpenAI::Internal::Type::Boolean
76
+
77
+ variant Integer
78
+
79
+ variant Float
80
+
81
+ # @!method self.variants
82
+ # @return [Array(String, Boolean, Integer, Float)]
83
+ end
84
+
85
+ module Permissions
86
+ extend OpenAI::Internal::Type::Union
87
+
88
+ variant(
89
+ -> {
90
+ OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRuleUpdateParams::Permissions::DefaultPermissionsParam
91
+ }
92
+ )
93
+
94
+ variant(
95
+ -> {
96
+ OpenAI::Admin::Organization::WorkloadIdentityProviders::FederationRuleUpdateParams::Permissions::RestrictedPermissionsParam
97
+ }
98
+ )
99
+
100
+ class DefaultPermissionsParam < OpenAI::Internal::Type::BaseModel
101
+ # @!attribute type
102
+ #
103
+ # @return [Symbol, :service_account_default]
104
+ required :type, const: :service_account_default
105
+
106
+ # @!method initialize(type: :service_account_default)
107
+ # @param type [Symbol, :service_account_default]
108
+ end
109
+
110
+ class RestrictedPermissionsParam < OpenAI::Internal::Type::BaseModel
111
+ # @!attribute scopes
112
+ #
113
+ # @return [Array<String>]
114
+ required :scopes, OpenAI::Internal::Type::ArrayOf[String]
115
+
116
+ # @!attribute type
117
+ #
118
+ # @return [Symbol, :restricted]
119
+ required :type, const: :restricted
120
+
121
+ # @!method initialize(scopes:, type: :restricted)
122
+ # @param scopes [Array<String>]
123
+ # @param type [Symbol, :restricted]
124
+ end
125
+
126
+ # @!method self.variants
127
+ # @return [Array(OpenAI::Models::Admin::Organization::WorkloadIdentityProviders::FederationRuleUpdateParams::Permissions::DefaultPermissionsParam, OpenAI::Models::Admin::Organization::WorkloadIdentityProviders::FederationRuleUpdateParams::Permissions::RestrictedPermissionsParam)]
128
+ end
129
+ end
130
+ end
131
+ end
132
+ end
133
+ end
134
+ end
@@ -1855,6 +1855,7 @@ module OpenAI
1855
1855
  extend OpenAI::Internal::Type::Enum
1856
1856
 
1857
1857
  TTL_30M = :"30m"
1858
+ TTL_12H = :"12h"
1858
1859
 
1859
1860
  # @!method self.values
1860
1861
  # @return [Array<Symbol>]
@@ -68,7 +68,15 @@ module OpenAI
68
68
  # @return [Integer]
69
69
  required :cached_tokens, Integer
70
70
 
71
- # @!method initialize(cache_write_tokens:, cached_tokens:)
71
+ # @!attribute cache_write_tokens_details
72
+ #
73
+ # @return [OpenAI::Models::Beta::BetaResponseUsage::InputTokensDetails::CacheWriteTokensDetails, nil]
74
+ optional(
75
+ :cache_write_tokens_details,
76
+ -> { OpenAI::Beta::BetaResponseUsage::InputTokensDetails::CacheWriteTokensDetails }
77
+ )
78
+
79
+ # @!method initialize(cache_write_tokens:, cached_tokens:, cache_write_tokens_details: nil)
72
80
  # A detailed breakdown of the input tokens.
73
81
  #
74
82
  # @param cache_write_tokens [Integer]
@@ -77,6 +85,30 @@ module OpenAI
77
85
  # @param cached_tokens [Integer]
78
86
  # The number of tokens that were retrieved from the cache.
79
87
  # [More on prompt caching](https://developers.openai.com/api/docs/guides/prompt-caching).
88
+ #
89
+ # @param cache_write_tokens_details [OpenAI::Models::Beta::BetaResponseUsage::InputTokensDetails::CacheWriteTokensDetails]
90
+
91
+ # @see OpenAI::Models::Beta::BetaResponseUsage::InputTokensDetails#cache_write_tokens_details
92
+ class CacheWriteTokensDetails < OpenAI::Internal::Type::BaseModel
93
+ # @!attribute ttl_12h_tokens
94
+ # The number of input tokens written with 12-hour retention.
95
+ #
96
+ # @return [Integer]
97
+ required :ttl_12h_tokens, Integer
98
+
99
+ # @!attribute ttl_30m_tokens
100
+ # The number of input tokens written with 30-minute retention.
101
+ #
102
+ # @return [Integer]
103
+ required :ttl_30m_tokens, Integer
104
+
105
+ # @!method initialize(ttl_12h_tokens:, ttl_30m_tokens:)
106
+ # @param ttl_12h_tokens [Integer]
107
+ # The number of input tokens written with 12-hour retention.
108
+ #
109
+ # @param ttl_30m_tokens [Integer]
110
+ # The number of input tokens written with 30-minute retention.
111
+ end
80
112
  end
81
113
 
82
114
  # @see OpenAI::Models::Beta::BetaResponseUsage#output_tokens_details
@@ -253,7 +253,7 @@ module OpenAI
253
253
  # request can write up to four breakpoints. For cache matching, OpenAI considers
254
254
  # up to the latest 80 breakpoints in the conversation, without a content-block
255
255
  # lookback limit. Set `mode` to `explicit` to disable the implicit breakpoint. The
256
- # `ttl` defaults to `30m`, which is currently the only supported value. See the
256
+ # `ttl` defaults to `30m`. Supported lifetimes depend on the API. See the
257
257
  # [prompt caching guide](https://developers.openai.com/api/docs/guides/prompt-caching)
258
258
  # for current details.
259
259
  #
@@ -617,7 +617,7 @@ module OpenAI
617
617
  # request can write up to four breakpoints. For cache matching, OpenAI considers
618
618
  # up to the latest 80 breakpoints in the conversation, without a content-block
619
619
  # lookback limit. Set `mode` to `explicit` to disable the implicit breakpoint. The
620
- # `ttl` defaults to `30m`, which is currently the only supported value. See the
620
+ # `ttl` defaults to `30m`. Supported lifetimes depend on the API. See the
621
621
  # [prompt caching guide](https://developers.openai.com/api/docs/guides/prompt-caching)
622
622
  # for current details.
623
623
  #
@@ -1884,8 +1884,8 @@ module OpenAI
1884
1884
 
1885
1885
  # @!attribute ttl
1886
1886
  # The minimum lifetime applied to every implicit and explicit cache breakpoint
1887
- # written by the request. Defaults to `30m`, which is currently the only supported
1888
- # value. The backend may retain cache entries for longer.
1887
+ # written by the request. Supported values are `30m` (the default) and `12h`. The
1888
+ # backend may retain cache entries for longer.
1889
1889
  #
1890
1890
  # @return [Symbol, OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::PromptCacheOptions::Ttl, nil]
1891
1891
  optional(
@@ -1900,7 +1900,7 @@ module OpenAI
1900
1900
  # request can write up to four breakpoints. For cache matching, OpenAI considers
1901
1901
  # up to the latest 80 breakpoints in the conversation, without a content-block
1902
1902
  # lookback limit. Set `mode` to `explicit` to disable the implicit breakpoint. The
1903
- # `ttl` defaults to `30m`, which is currently the only supported value. See the
1903
+ # `ttl` defaults to `30m`. Supported lifetimes depend on the API. See the
1904
1904
  # [prompt caching guide](https://developers.openai.com/api/docs/guides/prompt-caching)
1905
1905
  # for current details.
1906
1906
  #
@@ -1922,8 +1922,8 @@ module OpenAI
1922
1922
  #
1923
1923
  # @param ttl [Symbol, OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::PromptCacheOptions::Ttl]
1924
1924
  # The minimum lifetime applied to every implicit and explicit cache breakpoint
1925
- # written by the request. Defaults to `30m`, which is currently the only supported
1926
- # value. The backend may retain cache entries for longer.
1925
+ # written by the request. Supported values are `30m` (the default) and `12h`. The
1926
+ # backend may retain cache entries for longer.
1927
1927
 
1928
1928
  # Controls whether OpenAI automatically creates an implicit cache breakpoint.
1929
1929
  # Defaults to `implicit`. With `implicit`, OpenAI creates one implicit breakpoint
@@ -1944,14 +1944,15 @@ module OpenAI
1944
1944
  end
1945
1945
 
1946
1946
  # The minimum lifetime applied to every implicit and explicit cache breakpoint
1947
- # written by the request. Defaults to `30m`, which is currently the only supported
1948
- # value. The backend may retain cache entries for longer.
1947
+ # written by the request. Supported values are `30m` (the default) and `12h`. The
1948
+ # backend may retain cache entries for longer.
1949
1949
  #
1950
1950
  # @see OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::PromptCacheOptions#ttl
1951
1951
  module Ttl
1952
1952
  extend OpenAI::Internal::Type::Enum
1953
1953
 
1954
1954
  TTL_30M = :"30m"
1955
+ TTL_12H = :"12h"
1955
1956
 
1956
1957
  # @!method self.values
1957
1958
  # @return [Array<Symbol>]
@@ -15,7 +15,7 @@ module OpenAI
15
15
  # State variables forwarded to the workflow. Keys may be up to 64 characters,
16
16
  # values must be primitive types, and the map defaults to an empty object.
17
17
  #
18
- # @return [Hash{Symbol=>String, Boolean, Float}, nil]
18
+ # @return [Hash{Symbol=>String, Integer, Boolean, Float}, nil]
19
19
  optional(
20
20
  :state_variables,
21
21
  -> {
@@ -42,7 +42,7 @@ module OpenAI
42
42
  # @param id [String]
43
43
  # Identifier for the workflow invoked by the session.
44
44
  #
45
- # @param state_variables [Hash{Symbol=>String, Boolean, Float}]
45
+ # @param state_variables [Hash{Symbol=>String, Integer, Boolean, Float}]
46
46
  # State variables forwarded to the workflow. Keys may be up to 64 characters,
47
47
  # values must be primitive types, and the map defaults to an empty object.
48
48
  #
@@ -57,12 +57,14 @@ module OpenAI
57
57
 
58
58
  variant String
59
59
 
60
+ variant Integer
61
+
60
62
  variant OpenAI::Internal::Type::Boolean
61
63
 
62
64
  variant Float
63
65
 
64
66
  # @!method self.variants
65
- # @return [Array(String, Boolean, Float)]
67
+ # @return [Array(String, Integer, Boolean, Float)]
66
68
  end
67
69
 
68
70
  # @see OpenAI::Models::Beta::ChatKit::ChatSessionWorkflowParam#tracing
@@ -14,7 +14,7 @@ module OpenAI
14
14
  # State variable key-value pairs applied when invoking the workflow. Defaults to
15
15
  # null when no overrides were provided.
16
16
  #
17
- # @return [Hash{Symbol=>String, Boolean, Float}, nil]
17
+ # @return [Hash{Symbol=>String, Integer, Boolean, Float}, nil]
18
18
  required(
19
19
  :state_variables,
20
20
  -> { OpenAI::Internal::Type::HashOf[union: OpenAI::Beta::ChatKitWorkflow::StateVariable] },
@@ -40,7 +40,7 @@ module OpenAI
40
40
  # @param id [String]
41
41
  # Identifier of the workflow backing the session.
42
42
  #
43
- # @param state_variables [Hash{Symbol=>String, Boolean, Float}, nil]
43
+ # @param state_variables [Hash{Symbol=>String, Integer, Boolean, Float}, nil]
44
44
  # State variable key-value pairs applied when invoking the workflow. Defaults to
45
45
  # null when no overrides were provided.
46
46
  #
@@ -55,12 +55,14 @@ module OpenAI
55
55
 
56
56
  variant String
57
57
 
58
+ variant Integer
59
+
58
60
  variant OpenAI::Internal::Type::Boolean
59
61
 
60
62
  variant Float
61
63
 
62
64
  # @!method self.variants
63
- # @return [Array(String, Boolean, Float)]
65
+ # @return [Array(String, Integer, Boolean, Float)]
64
66
  end
65
67
 
66
68
  # @see OpenAI::Models::Beta::ChatKitWorkflow#tracing
@@ -55,7 +55,7 @@ module OpenAI
55
55
  # request can write up to four breakpoints. For cache matching, OpenAI considers
56
56
  # up to the latest 80 breakpoints in the conversation, without a content-block
57
57
  # lookback limit. Set `mode` to `explicit` to disable the implicit breakpoint. The
58
- # `ttl` defaults to `30m`, which is currently the only supported value. See the
58
+ # `ttl` defaults to `30m`. Supported lifetimes depend on the API. See the
59
59
  # [prompt caching guide](https://developers.openai.com/api/docs/guides/prompt-caching)
60
60
  # for current details.
61
61
  #
@@ -139,7 +139,7 @@ module OpenAI
139
139
  # request can write up to four breakpoints. For cache matching, OpenAI considers
140
140
  # up to the latest 80 breakpoints in the conversation, without a content-block
141
141
  # lookback limit. Set `mode` to `explicit` to disable the implicit breakpoint. The
142
- # `ttl` defaults to `30m`, which is currently the only supported value. See the
142
+ # `ttl` defaults to `30m`. Supported lifetimes depend on the API. See the
143
143
  # [prompt caching guide](https://developers.openai.com/api/docs/guides/prompt-caching)
144
144
  # for current details.
145
145
  #
@@ -830,7 +830,7 @@ module OpenAI
830
830
  # request can write up to four breakpoints. For cache matching, OpenAI considers
831
831
  # up to the latest 80 breakpoints in the conversation, without a content-block
832
832
  # lookback limit. Set `mode` to `explicit` to disable the implicit breakpoint. The
833
- # `ttl` defaults to `30m`, which is currently the only supported value. See the
833
+ # `ttl` defaults to `30m`. Supported lifetimes depend on the API. See the
834
834
  # [prompt caching guide](https://developers.openai.com/api/docs/guides/prompt-caching)
835
835
  # for current details.
836
836
  #
@@ -182,7 +182,7 @@ module OpenAI
182
182
  # request can write up to four breakpoints. For cache matching, OpenAI considers
183
183
  # up to the latest 80 breakpoints in the conversation, without a content-block
184
184
  # lookback limit. Set `mode` to `explicit` to disable the implicit breakpoint. The
185
- # `ttl` defaults to `30m`, which is currently the only supported value. See the
185
+ # `ttl` defaults to `30m`. Supported lifetimes depend on the API. See the
186
186
  # [prompt caching guide](https://developers.openai.com/api/docs/guides/prompt-caching)
187
187
  # for current details.
188
188
  #
@@ -494,7 +494,7 @@ module OpenAI
494
494
  # request can write up to four breakpoints. For cache matching, OpenAI considers
495
495
  # up to the latest 80 breakpoints in the conversation, without a content-block
496
496
  # lookback limit. Set `mode` to `explicit` to disable the implicit breakpoint. The
497
- # `ttl` defaults to `30m`, which is currently the only supported value. See the
497
+ # `ttl` defaults to `30m`. Supported lifetimes depend on the API. See the
498
498
  # [prompt caching guide](https://developers.openai.com/api/docs/guides/prompt-caching)
499
499
  # for current details.
500
500
  #
@@ -1533,8 +1533,8 @@ module OpenAI
1533
1533
 
1534
1534
  # @!attribute ttl
1535
1535
  # The minimum lifetime applied to every implicit and explicit cache breakpoint
1536
- # written by the request. Defaults to `30m`, which is currently the only supported
1537
- # value. The backend may retain cache entries for longer.
1536
+ # written by the request. Supported values are `30m` (the default) and `12h`. The
1537
+ # backend may retain cache entries for longer.
1538
1538
  #
1539
1539
  # @return [Symbol, OpenAI::Models::Beta::ResponseCreateParams::PromptCacheOptions::Ttl, nil]
1540
1540
  optional :ttl, enum: -> { OpenAI::Beta::ResponseCreateParams::PromptCacheOptions::Ttl }
@@ -1546,7 +1546,7 @@ module OpenAI
1546
1546
  # request can write up to four breakpoints. For cache matching, OpenAI considers
1547
1547
  # up to the latest 80 breakpoints in the conversation, without a content-block
1548
1548
  # lookback limit. Set `mode` to `explicit` to disable the implicit breakpoint. The
1549
- # `ttl` defaults to `30m`, which is currently the only supported value. See the
1549
+ # `ttl` defaults to `30m`. Supported lifetimes depend on the API. See the
1550
1550
  # [prompt caching guide](https://developers.openai.com/api/docs/guides/prompt-caching)
1551
1551
  # for current details.
1552
1552
  #
@@ -1568,8 +1568,8 @@ module OpenAI
1568
1568
  #
1569
1569
  # @param ttl [Symbol, OpenAI::Models::Beta::ResponseCreateParams::PromptCacheOptions::Ttl]
1570
1570
  # The minimum lifetime applied to every implicit and explicit cache breakpoint
1571
- # written by the request. Defaults to `30m`, which is currently the only supported
1572
- # value. The backend may retain cache entries for longer.
1571
+ # written by the request. Supported values are `30m` (the default) and `12h`. The
1572
+ # backend may retain cache entries for longer.
1573
1573
 
1574
1574
  # Controls whether OpenAI automatically creates an implicit cache breakpoint.
1575
1575
  # Defaults to `implicit`. With `implicit`, OpenAI creates one implicit breakpoint
@@ -1590,14 +1590,15 @@ module OpenAI
1590
1590
  end
1591
1591
 
1592
1592
  # The minimum lifetime applied to every implicit and explicit cache breakpoint
1593
- # written by the request. Defaults to `30m`, which is currently the only supported
1594
- # value. The backend may retain cache entries for longer.
1593
+ # written by the request. Supported values are `30m` (the default) and `12h`. The
1594
+ # backend may retain cache entries for longer.
1595
1595
  #
1596
1596
  # @see OpenAI::Models::Beta::ResponseCreateParams::PromptCacheOptions#ttl
1597
1597
  module Ttl
1598
1598
  extend OpenAI::Internal::Type::Enum
1599
1599
 
1600
1600
  TTL_30M = :"30m"
1601
+ TTL_12H = :"12h"
1601
1602
 
1602
1603
  # @!method self.values
1603
1604
  # @return [Array<Symbol>]
@@ -212,7 +212,7 @@ module OpenAI
212
212
  # request can write up to four breakpoints. For cache matching, OpenAI considers
213
213
  # up to the latest 80 breakpoints in the conversation, without a content-block
214
214
  # lookback limit. Set `mode` to `explicit` to disable the implicit breakpoint. The
215
- # `ttl` defaults to `30m`, which is currently the only supported value. See the
215
+ # `ttl` defaults to `30m`. Supported lifetimes depend on the API. See the
216
216
  # [prompt caching guide](https://developers.openai.com/api/docs/guides/prompt-caching)
217
217
  # for current details.
218
218
  #
@@ -569,7 +569,7 @@ module OpenAI
569
569
  # request can write up to four breakpoints. For cache matching, OpenAI considers
570
570
  # up to the latest 80 breakpoints in the conversation, without a content-block
571
571
  # lookback limit. Set `mode` to `explicit` to disable the implicit breakpoint. The
572
- # `ttl` defaults to `30m`, which is currently the only supported value. See the
572
+ # `ttl` defaults to `30m`. Supported lifetimes depend on the API. See the
573
573
  # [prompt caching guide](https://developers.openai.com/api/docs/guides/prompt-caching)
574
574
  # for current details.
575
575
  #
@@ -979,7 +979,7 @@ module OpenAI
979
979
  # request can write up to four breakpoints. For cache matching, OpenAI considers
980
980
  # up to the latest 80 breakpoints in the conversation, without a content-block
981
981
  # lookback limit. Set `mode` to `explicit` to disable the implicit breakpoint. The
982
- # `ttl` defaults to `30m`, which is currently the only supported value. See the
982
+ # `ttl` defaults to `30m`. Supported lifetimes depend on the API. See the
983
983
  # [prompt caching guide](https://developers.openai.com/api/docs/guides/prompt-caching)
984
984
  # for current details.
985
985
  #
@@ -1239,6 +1239,7 @@ module OpenAI
1239
1239
  extend OpenAI::Internal::Type::Enum
1240
1240
 
1241
1241
  TTL_30M = :"30m"
1242
+ TTL_12H = :"12h"
1242
1243
 
1243
1244
  # @!method self.values
1244
1245
  # @return [Array<Symbol>]
@@ -55,7 +55,7 @@ module OpenAI
55
55
  # request can write up to four breakpoints. For cache matching, OpenAI considers
56
56
  # up to the latest 80 breakpoints in the conversation, without a content-block
57
57
  # lookback limit. Set `mode` to `explicit` to disable the implicit breakpoint. The
58
- # `ttl` defaults to `30m`, which is currently the only supported value. See the
58
+ # `ttl` defaults to `30m`. Supported lifetimes depend on the API. See the
59
59
  # [prompt caching guide](https://developers.openai.com/api/docs/guides/prompt-caching)
60
60
  # for current details.
61
61
  #
@@ -132,7 +132,7 @@ module OpenAI
132
132
  # request can write up to four breakpoints. For cache matching, OpenAI considers
133
133
  # up to the latest 80 breakpoints in the conversation, without a content-block
134
134
  # lookback limit. Set `mode` to `explicit` to disable the implicit breakpoint. The
135
- # `ttl` defaults to `30m`, which is currently the only supported value. See the
135
+ # `ttl` defaults to `30m`. Supported lifetimes depend on the API. See the
136
136
  # [prompt caching guide](https://developers.openai.com/api/docs/guides/prompt-caching)
137
137
  # for current details.
138
138
  #
@@ -833,7 +833,7 @@ module OpenAI
833
833
  # request can write up to four breakpoints. For cache matching, OpenAI considers
834
834
  # up to the latest 80 breakpoints in the conversation, without a content-block
835
835
  # lookback limit. Set `mode` to `explicit` to disable the implicit breakpoint. The
836
- # `ttl` defaults to `30m`, which is currently the only supported value. See the
836
+ # `ttl` defaults to `30m`. Supported lifetimes depend on the API. See the
837
837
  # [prompt caching guide](https://developers.openai.com/api/docs/guides/prompt-caching)
838
838
  # for current details.
839
839
  #
@@ -182,7 +182,7 @@ module OpenAI
182
182
  # request can write up to four breakpoints. For cache matching, OpenAI considers
183
183
  # up to the latest 80 breakpoints in the conversation, without a content-block
184
184
  # lookback limit. Set `mode` to `explicit` to disable the implicit breakpoint. The
185
- # `ttl` defaults to `30m`, which is currently the only supported value. See the
185
+ # `ttl` defaults to `30m`. Supported lifetimes depend on the API. See the
186
186
  # [prompt caching guide](https://developers.openai.com/api/docs/guides/prompt-caching)
187
187
  # for current details.
188
188
  #
@@ -491,7 +491,7 @@ module OpenAI
491
491
  # request can write up to four breakpoints. For cache matching, OpenAI considers
492
492
  # up to the latest 80 breakpoints in the conversation, without a content-block
493
493
  # lookback limit. Set `mode` to `explicit` to disable the implicit breakpoint. The
494
- # `ttl` defaults to `30m`, which is currently the only supported value. See the
494
+ # `ttl` defaults to `30m`. Supported lifetimes depend on the API. See the
495
495
  # [prompt caching guide](https://developers.openai.com/api/docs/guides/prompt-caching)
496
496
  # for current details.
497
497
  #
@@ -887,8 +887,8 @@ module OpenAI
887
887
 
888
888
  # @!attribute ttl
889
889
  # The minimum lifetime applied to every implicit and explicit cache breakpoint
890
- # written by the request. Defaults to `30m`, which is currently the only supported
891
- # value. The backend may retain cache entries for longer.
890
+ # written by the request. Supported values are `30m` (the default) and `12h`. The
891
+ # backend may retain cache entries for longer.
892
892
  #
893
893
  # @return [Symbol, OpenAI::Models::Responses::ResponseCreateParams::PromptCacheOptions::Ttl, nil]
894
894
  optional :ttl, enum: -> { OpenAI::Responses::ResponseCreateParams::PromptCacheOptions::Ttl }
@@ -900,7 +900,7 @@ module OpenAI
900
900
  # request can write up to four breakpoints. For cache matching, OpenAI considers
901
901
  # up to the latest 80 breakpoints in the conversation, without a content-block
902
902
  # lookback limit. Set `mode` to `explicit` to disable the implicit breakpoint. The
903
- # `ttl` defaults to `30m`, which is currently the only supported value. See the
903
+ # `ttl` defaults to `30m`. Supported lifetimes depend on the API. See the
904
904
  # [prompt caching guide](https://developers.openai.com/api/docs/guides/prompt-caching)
905
905
  # for current details.
906
906
  #
@@ -922,8 +922,8 @@ module OpenAI
922
922
  #
923
923
  # @param ttl [Symbol, OpenAI::Models::Responses::ResponseCreateParams::PromptCacheOptions::Ttl]
924
924
  # The minimum lifetime applied to every implicit and explicit cache breakpoint
925
- # written by the request. Defaults to `30m`, which is currently the only supported
926
- # value. The backend may retain cache entries for longer.
925
+ # written by the request. Supported values are `30m` (the default) and `12h`. The
926
+ # backend may retain cache entries for longer.
927
927
 
928
928
  # Controls whether OpenAI automatically creates an implicit cache breakpoint.
929
929
  # Defaults to `implicit`. With `implicit`, OpenAI creates one implicit breakpoint
@@ -944,14 +944,15 @@ module OpenAI
944
944
  end
945
945
 
946
946
  # The minimum lifetime applied to every implicit and explicit cache breakpoint
947
- # written by the request. Defaults to `30m`, which is currently the only supported
948
- # value. The backend may retain cache entries for longer.
947
+ # written by the request. Supported values are `30m` (the default) and `12h`. The
948
+ # backend may retain cache entries for longer.
949
949
  #
950
950
  # @see OpenAI::Models::Responses::ResponseCreateParams::PromptCacheOptions#ttl
951
951
  module Ttl
952
952
  extend OpenAI::Internal::Type::Enum
953
953
 
954
954
  TTL_30M = :"30m"
955
+ TTL_12H = :"12h"
955
956
 
956
957
  # @!method self.values
957
958
  # @return [Array<Symbol>]
@@ -68,7 +68,15 @@ module OpenAI
68
68
  # @return [Integer]
69
69
  required :cached_tokens, Integer
70
70
 
71
- # @!method initialize(cache_write_tokens:, cached_tokens:)
71
+ # @!attribute cache_write_tokens_details
72
+ #
73
+ # @return [OpenAI::Models::Responses::ResponseUsage::InputTokensDetails::CacheWriteTokensDetails, nil]
74
+ optional(
75
+ :cache_write_tokens_details,
76
+ -> { OpenAI::Responses::ResponseUsage::InputTokensDetails::CacheWriteTokensDetails }
77
+ )
78
+
79
+ # @!method initialize(cache_write_tokens:, cached_tokens:, cache_write_tokens_details: nil)
72
80
  # A detailed breakdown of the input tokens.
73
81
  #
74
82
  # @param cache_write_tokens [Integer]
@@ -77,6 +85,30 @@ module OpenAI
77
85
  # @param cached_tokens [Integer]
78
86
  # The number of tokens that were retrieved from the cache.
79
87
  # [More on prompt caching](https://developers.openai.com/api/docs/guides/prompt-caching).
88
+ #
89
+ # @param cache_write_tokens_details [OpenAI::Models::Responses::ResponseUsage::InputTokensDetails::CacheWriteTokensDetails]
90
+
91
+ # @see OpenAI::Models::Responses::ResponseUsage::InputTokensDetails#cache_write_tokens_details
92
+ class CacheWriteTokensDetails < OpenAI::Internal::Type::BaseModel
93
+ # @!attribute ttl_12h_tokens
94
+ # The number of input tokens written with 12-hour retention.
95
+ #
96
+ # @return [Integer]
97
+ required :ttl_12h_tokens, Integer
98
+
99
+ # @!attribute ttl_30m_tokens
100
+ # The number of input tokens written with 30-minute retention.
101
+ #
102
+ # @return [Integer]
103
+ required :ttl_30m_tokens, Integer
104
+
105
+ # @!method initialize(ttl_12h_tokens:, ttl_30m_tokens:)
106
+ # @param ttl_12h_tokens [Integer]
107
+ # The number of input tokens written with 12-hour retention.
108
+ #
109
+ # @param ttl_30m_tokens [Integer]
110
+ # The number of input tokens written with 30-minute retention.
111
+ end
80
112
  end
81
113
 
82
114
  # @see OpenAI::Models::Responses::ResponseUsage#output_tokens_details