context.dev 2.12.0 → 2.13.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 (50) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +7 -0
  3. data/README.md +4 -4
  4. data/lib/context_dev/models/ai_extract_product_response.rb +54 -1
  5. data/lib/context_dev/models/ai_extract_products_response.rb +54 -1
  6. data/lib/context_dev/models/batch_get_results_response.rb +56 -1
  7. data/lib/context_dev/models/batch_submit_response.rb +54 -1
  8. data/lib/context_dev/models/brand_retrieve_response.rb +58 -3
  9. data/lib/context_dev/models/brand_retrieve_simplified_response.rb +55 -1
  10. data/lib/context_dev/models/web_extract_fonts_response.rb +54 -1
  11. data/lib/context_dev/models/web_extract_response.rb +54 -1
  12. data/lib/context_dev/models/web_extract_styleguide_response.rb +55 -1
  13. data/lib/context_dev/models/web_screenshot_response.rb +54 -1
  14. data/lib/context_dev/models/web_search_response.rb +54 -1
  15. data/lib/context_dev/models/web_web_crawl_md_response.rb +54 -1
  16. data/lib/context_dev/models/web_web_scrape_html_response.rb +54 -1
  17. data/lib/context_dev/models/web_web_scrape_images_response.rb +55 -1
  18. data/lib/context_dev/models/web_web_scrape_md_response.rb +54 -1
  19. data/lib/context_dev/version.rb +1 -1
  20. data/rbi/context_dev/models/ai_extract_product_response.rbi +119 -0
  21. data/rbi/context_dev/models/ai_extract_products_response.rbi +119 -0
  22. data/rbi/context_dev/models/batch_get_results_response.rbi +121 -0
  23. data/rbi/context_dev/models/batch_submit_response.rbi +117 -0
  24. data/rbi/context_dev/models/brand_retrieve_response.rbi +123 -2
  25. data/rbi/context_dev/models/brand_retrieve_simplified_response.rbi +121 -0
  26. data/rbi/context_dev/models/web_extract_fonts_response.rbi +119 -0
  27. data/rbi/context_dev/models/web_extract_response.rbi +117 -0
  28. data/rbi/context_dev/models/web_extract_styleguide_response.rbi +119 -0
  29. data/rbi/context_dev/models/web_screenshot_response.rbi +117 -0
  30. data/rbi/context_dev/models/web_search_response.rbi +117 -0
  31. data/rbi/context_dev/models/web_web_crawl_md_response.rbi +117 -0
  32. data/rbi/context_dev/models/web_web_scrape_html_response.rbi +119 -0
  33. data/rbi/context_dev/models/web_web_scrape_images_response.rbi +119 -0
  34. data/rbi/context_dev/models/web_web_scrape_md_response.rbi +117 -0
  35. data/sig/context_dev/models/ai_extract_product_response.rbs +39 -0
  36. data/sig/context_dev/models/ai_extract_products_response.rbs +39 -0
  37. data/sig/context_dev/models/batch_get_results_response.rbs +39 -0
  38. data/sig/context_dev/models/batch_submit_response.rbs +39 -0
  39. data/sig/context_dev/models/brand_retrieve_response.rbs +39 -0
  40. data/sig/context_dev/models/brand_retrieve_simplified_response.rbs +39 -0
  41. data/sig/context_dev/models/web_extract_fonts_response.rbs +39 -0
  42. data/sig/context_dev/models/web_extract_response.rbs +39 -0
  43. data/sig/context_dev/models/web_extract_styleguide_response.rbs +39 -0
  44. data/sig/context_dev/models/web_screenshot_response.rbs +39 -0
  45. data/sig/context_dev/models/web_search_response.rbs +39 -0
  46. data/sig/context_dev/models/web_web_crawl_md_response.rbs +39 -0
  47. data/sig/context_dev/models/web_web_scrape_html_response.rbs +39 -0
  48. data/sig/context_dev/models/web_web_scrape_images_response.rbs +39 -0
  49. data/sig/context_dev/models/web_web_scrape_md_response.rbs +39 -0
  50. metadata +2 -2
@@ -11,6 +11,20 @@ module ContextDev
11
11
  )
12
12
  end
13
13
 
14
+ # Cache outcome for this response. Composite responses are hits only when every
15
+ # cache-controlled fetch contributing to the output was a hit; age_ms is the
16
+ # oldest contributing hit.
17
+ sig { returns(ContextDev::Models::BrandRetrieveResponse::CacheMetadata) }
18
+ attr_reader :cache_metadata
19
+
20
+ sig do
21
+ params(
22
+ cache_metadata:
23
+ ContextDev::Models::BrandRetrieveResponse::CacheMetadata::OrHash
24
+ ).void
25
+ end
26
+ attr_writer :cache_metadata
27
+
14
28
  # Detailed brand information
15
29
  sig do
16
30
  returns(T.nilable(ContextDev::Models::BrandRetrieveResponse::Brand))
@@ -57,6 +71,8 @@ module ContextDev
57
71
 
58
72
  sig do
59
73
  params(
74
+ cache_metadata:
75
+ ContextDev::Models::BrandRetrieveResponse::CacheMetadata::OrHash,
60
76
  brand: ContextDev::Models::BrandRetrieveResponse::Brand::OrHash,
61
77
  code: Integer,
62
78
  key_metadata:
@@ -65,6 +81,10 @@ module ContextDev
65
81
  ).returns(T.attached_class)
66
82
  end
67
83
  def self.new(
84
+ # Cache outcome for this response. Composite responses are hits only when every
85
+ # cache-controlled fetch contributing to the output was a hit; age_ms is the
86
+ # oldest contributing hit.
87
+ cache_metadata:,
68
88
  # Detailed brand information
69
89
  brand: nil,
70
90
  # HTTP status code
@@ -80,6 +100,8 @@ module ContextDev
80
100
  sig do
81
101
  override.returns(
82
102
  {
103
+ cache_metadata:
104
+ ContextDev::Models::BrandRetrieveResponse::CacheMetadata,
83
105
  brand: ContextDev::Models::BrandRetrieveResponse::Brand,
84
106
  code: Integer,
85
107
  key_metadata:
@@ -91,6 +113,101 @@ module ContextDev
91
113
  def to_hash
92
114
  end
93
115
 
116
+ class CacheMetadata < ContextDev::Internal::Type::BaseModel
117
+ OrHash =
118
+ T.type_alias do
119
+ T.any(
120
+ ContextDev::Models::BrandRetrieveResponse::CacheMetadata,
121
+ ContextDev::Internal::AnyHash
122
+ )
123
+ end
124
+
125
+ # Age of the cached data in milliseconds. Zero for miss and zdr responses.
126
+ sig { returns(Integer) }
127
+ attr_accessor :age_ms
128
+
129
+ # Whether the response was served from cache, required fresh work, or honored
130
+ # zero-data-retention cache bypass.
131
+ sig do
132
+ returns(
133
+ ContextDev::Models::BrandRetrieveResponse::CacheMetadata::Status::TaggedSymbol
134
+ )
135
+ end
136
+ attr_accessor :status
137
+
138
+ # Cache outcome for this response. Composite responses are hits only when every
139
+ # cache-controlled fetch contributing to the output was a hit; age_ms is the
140
+ # oldest contributing hit.
141
+ sig do
142
+ params(
143
+ age_ms: Integer,
144
+ status:
145
+ ContextDev::Models::BrandRetrieveResponse::CacheMetadata::Status::OrSymbol
146
+ ).returns(T.attached_class)
147
+ end
148
+ def self.new(
149
+ # Age of the cached data in milliseconds. Zero for miss and zdr responses.
150
+ age_ms:,
151
+ # Whether the response was served from cache, required fresh work, or honored
152
+ # zero-data-retention cache bypass.
153
+ status:
154
+ )
155
+ end
156
+
157
+ sig do
158
+ override.returns(
159
+ {
160
+ age_ms: Integer,
161
+ status:
162
+ ContextDev::Models::BrandRetrieveResponse::CacheMetadata::Status::TaggedSymbol
163
+ }
164
+ )
165
+ end
166
+ def to_hash
167
+ end
168
+
169
+ # Whether the response was served from cache, required fresh work, or honored
170
+ # zero-data-retention cache bypass.
171
+ module Status
172
+ extend ContextDev::Internal::Type::Enum
173
+
174
+ TaggedSymbol =
175
+ T.type_alias do
176
+ T.all(
177
+ Symbol,
178
+ ContextDev::Models::BrandRetrieveResponse::CacheMetadata::Status
179
+ )
180
+ end
181
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
182
+
183
+ HIT =
184
+ T.let(
185
+ :hit,
186
+ ContextDev::Models::BrandRetrieveResponse::CacheMetadata::Status::TaggedSymbol
187
+ )
188
+ MISS =
189
+ T.let(
190
+ :miss,
191
+ ContextDev::Models::BrandRetrieveResponse::CacheMetadata::Status::TaggedSymbol
192
+ )
193
+ ZDR =
194
+ T.let(
195
+ :zdr,
196
+ ContextDev::Models::BrandRetrieveResponse::CacheMetadata::Status::TaggedSymbol
197
+ )
198
+
199
+ sig do
200
+ override.returns(
201
+ T::Array[
202
+ ContextDev::Models::BrandRetrieveResponse::CacheMetadata::Status::TaggedSymbol
203
+ ]
204
+ )
205
+ end
206
+ def self.values
207
+ end
208
+ end
209
+ end
210
+
94
211
  class Brand < ContextDev::Internal::Type::BaseModel
95
212
  OrHash =
96
213
  T.type_alias do
@@ -238,7 +355,9 @@ module ContextDev
238
355
  end
239
356
  attr_writer :links
240
357
 
241
- # An array of logos associated with the brand
358
+ # An array of logos associated with the brand. When a similarly shaped SVG variant
359
+ # exists, it is returned ahead of its raster equivalent; otherwise relevance order
360
+ # is preserved
242
361
  sig do
243
362
  returns(
244
363
  T.nilable(
@@ -389,7 +508,9 @@ module ContextDev
389
508
  is_nsfw: nil,
390
509
  # Important website links for the brand
391
510
  links: nil,
392
- # An array of logos associated with the brand
511
+ # An array of logos associated with the brand. When a similarly shaped SVG variant
512
+ # exists, it is returned ahead of its raster equivalent; otherwise relevance order
513
+ # is preserved
393
514
  logos: nil,
394
515
  # Company phone number
395
516
  phone: nil,
@@ -11,6 +11,24 @@ module ContextDev
11
11
  )
12
12
  end
13
13
 
14
+ # Cache outcome for this response. Composite responses are hits only when every
15
+ # cache-controlled fetch contributing to the output was a hit; age_ms is the
16
+ # oldest contributing hit.
17
+ sig do
18
+ returns(
19
+ ContextDev::Models::BrandRetrieveSimplifiedResponse::CacheMetadata
20
+ )
21
+ end
22
+ attr_reader :cache_metadata
23
+
24
+ sig do
25
+ params(
26
+ cache_metadata:
27
+ ContextDev::Models::BrandRetrieveSimplifiedResponse::CacheMetadata::OrHash
28
+ ).void
29
+ end
30
+ attr_writer :cache_metadata
31
+
14
32
  # Simplified brand information
15
33
  sig do
16
34
  returns(
@@ -62,6 +80,8 @@ module ContextDev
62
80
 
63
81
  sig do
64
82
  params(
83
+ cache_metadata:
84
+ ContextDev::Models::BrandRetrieveSimplifiedResponse::CacheMetadata::OrHash,
65
85
  brand:
66
86
  ContextDev::Models::BrandRetrieveSimplifiedResponse::Brand::OrHash,
67
87
  code: Integer,
@@ -71,6 +91,10 @@ module ContextDev
71
91
  ).returns(T.attached_class)
72
92
  end
73
93
  def self.new(
94
+ # Cache outcome for this response. Composite responses are hits only when every
95
+ # cache-controlled fetch contributing to the output was a hit; age_ms is the
96
+ # oldest contributing hit.
97
+ cache_metadata:,
74
98
  # Simplified brand information
75
99
  brand: nil,
76
100
  # HTTP status code of the response
@@ -86,6 +110,8 @@ module ContextDev
86
110
  sig do
87
111
  override.returns(
88
112
  {
113
+ cache_metadata:
114
+ ContextDev::Models::BrandRetrieveSimplifiedResponse::CacheMetadata,
89
115
  brand: ContextDev::Models::BrandRetrieveSimplifiedResponse::Brand,
90
116
  code: Integer,
91
117
  key_metadata:
@@ -97,6 +123,101 @@ module ContextDev
97
123
  def to_hash
98
124
  end
99
125
 
126
+ class CacheMetadata < ContextDev::Internal::Type::BaseModel
127
+ OrHash =
128
+ T.type_alias do
129
+ T.any(
130
+ ContextDev::Models::BrandRetrieveSimplifiedResponse::CacheMetadata,
131
+ ContextDev::Internal::AnyHash
132
+ )
133
+ end
134
+
135
+ # Age of the cached data in milliseconds. Zero for miss and zdr responses.
136
+ sig { returns(Integer) }
137
+ attr_accessor :age_ms
138
+
139
+ # Whether the response was served from cache, required fresh work, or honored
140
+ # zero-data-retention cache bypass.
141
+ sig do
142
+ returns(
143
+ ContextDev::Models::BrandRetrieveSimplifiedResponse::CacheMetadata::Status::TaggedSymbol
144
+ )
145
+ end
146
+ attr_accessor :status
147
+
148
+ # Cache outcome for this response. Composite responses are hits only when every
149
+ # cache-controlled fetch contributing to the output was a hit; age_ms is the
150
+ # oldest contributing hit.
151
+ sig do
152
+ params(
153
+ age_ms: Integer,
154
+ status:
155
+ ContextDev::Models::BrandRetrieveSimplifiedResponse::CacheMetadata::Status::OrSymbol
156
+ ).returns(T.attached_class)
157
+ end
158
+ def self.new(
159
+ # Age of the cached data in milliseconds. Zero for miss and zdr responses.
160
+ age_ms:,
161
+ # Whether the response was served from cache, required fresh work, or honored
162
+ # zero-data-retention cache bypass.
163
+ status:
164
+ )
165
+ end
166
+
167
+ sig do
168
+ override.returns(
169
+ {
170
+ age_ms: Integer,
171
+ status:
172
+ ContextDev::Models::BrandRetrieveSimplifiedResponse::CacheMetadata::Status::TaggedSymbol
173
+ }
174
+ )
175
+ end
176
+ def to_hash
177
+ end
178
+
179
+ # Whether the response was served from cache, required fresh work, or honored
180
+ # zero-data-retention cache bypass.
181
+ module Status
182
+ extend ContextDev::Internal::Type::Enum
183
+
184
+ TaggedSymbol =
185
+ T.type_alias do
186
+ T.all(
187
+ Symbol,
188
+ ContextDev::Models::BrandRetrieveSimplifiedResponse::CacheMetadata::Status
189
+ )
190
+ end
191
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
192
+
193
+ HIT =
194
+ T.let(
195
+ :hit,
196
+ ContextDev::Models::BrandRetrieveSimplifiedResponse::CacheMetadata::Status::TaggedSymbol
197
+ )
198
+ MISS =
199
+ T.let(
200
+ :miss,
201
+ ContextDev::Models::BrandRetrieveSimplifiedResponse::CacheMetadata::Status::TaggedSymbol
202
+ )
203
+ ZDR =
204
+ T.let(
205
+ :zdr,
206
+ ContextDev::Models::BrandRetrieveSimplifiedResponse::CacheMetadata::Status::TaggedSymbol
207
+ )
208
+
209
+ sig do
210
+ override.returns(
211
+ T::Array[
212
+ ContextDev::Models::BrandRetrieveSimplifiedResponse::CacheMetadata::Status::TaggedSymbol
213
+ ]
214
+ )
215
+ end
216
+ def self.values
217
+ end
218
+ end
219
+ end
220
+
100
221
  class Brand < ContextDev::Internal::Type::BaseModel
101
222
  OrHash =
102
223
  T.type_alias do
@@ -11,6 +11,22 @@ module ContextDev
11
11
  )
12
12
  end
13
13
 
14
+ # Cache outcome for this response. Composite responses are hits only when every
15
+ # cache-controlled fetch contributing to the output was a hit; age_ms is the
16
+ # oldest contributing hit.
17
+ sig do
18
+ returns(ContextDev::Models::WebExtractFontsResponse::CacheMetadata)
19
+ end
20
+ attr_reader :cache_metadata
21
+
22
+ sig do
23
+ params(
24
+ cache_metadata:
25
+ ContextDev::Models::WebExtractFontsResponse::CacheMetadata::OrHash
26
+ ).void
27
+ end
28
+ attr_writer :cache_metadata
29
+
14
30
  # HTTP status code, e.g., 200
15
31
  sig { returns(Integer) }
16
32
  attr_accessor :code
@@ -74,6 +90,8 @@ module ContextDev
74
90
 
75
91
  sig do
76
92
  params(
93
+ cache_metadata:
94
+ ContextDev::Models::WebExtractFontsResponse::CacheMetadata::OrHash,
77
95
  code: Integer,
78
96
  domain: String,
79
97
  fonts:
@@ -89,6 +107,10 @@ module ContextDev
89
107
  ).returns(T.attached_class)
90
108
  end
91
109
  def self.new(
110
+ # Cache outcome for this response. Composite responses are hits only when every
111
+ # cache-controlled fetch contributing to the output was a hit; age_ms is the
112
+ # oldest contributing hit.
113
+ cache_metadata:,
92
114
  # HTTP status code, e.g., 200
93
115
  code:,
94
116
  # The normalized domain that was processed
@@ -110,6 +132,8 @@ module ContextDev
110
132
  sig do
111
133
  override.returns(
112
134
  {
135
+ cache_metadata:
136
+ ContextDev::Models::WebExtractFontsResponse::CacheMetadata,
113
137
  code: Integer,
114
138
  domain: String,
115
139
  fonts: T::Array[ContextDev::Models::WebExtractFontsResponse::Font],
@@ -127,6 +151,101 @@ module ContextDev
127
151
  def to_hash
128
152
  end
129
153
 
154
+ class CacheMetadata < ContextDev::Internal::Type::BaseModel
155
+ OrHash =
156
+ T.type_alias do
157
+ T.any(
158
+ ContextDev::Models::WebExtractFontsResponse::CacheMetadata,
159
+ ContextDev::Internal::AnyHash
160
+ )
161
+ end
162
+
163
+ # Age of the cached data in milliseconds. Zero for miss and zdr responses.
164
+ sig { returns(Integer) }
165
+ attr_accessor :age_ms
166
+
167
+ # Whether the response was served from cache, required fresh work, or honored
168
+ # zero-data-retention cache bypass.
169
+ sig do
170
+ returns(
171
+ ContextDev::Models::WebExtractFontsResponse::CacheMetadata::Status::TaggedSymbol
172
+ )
173
+ end
174
+ attr_accessor :status
175
+
176
+ # Cache outcome for this response. Composite responses are hits only when every
177
+ # cache-controlled fetch contributing to the output was a hit; age_ms is the
178
+ # oldest contributing hit.
179
+ sig do
180
+ params(
181
+ age_ms: Integer,
182
+ status:
183
+ ContextDev::Models::WebExtractFontsResponse::CacheMetadata::Status::OrSymbol
184
+ ).returns(T.attached_class)
185
+ end
186
+ def self.new(
187
+ # Age of the cached data in milliseconds. Zero for miss and zdr responses.
188
+ age_ms:,
189
+ # Whether the response was served from cache, required fresh work, or honored
190
+ # zero-data-retention cache bypass.
191
+ status:
192
+ )
193
+ end
194
+
195
+ sig do
196
+ override.returns(
197
+ {
198
+ age_ms: Integer,
199
+ status:
200
+ ContextDev::Models::WebExtractFontsResponse::CacheMetadata::Status::TaggedSymbol
201
+ }
202
+ )
203
+ end
204
+ def to_hash
205
+ end
206
+
207
+ # Whether the response was served from cache, required fresh work, or honored
208
+ # zero-data-retention cache bypass.
209
+ module Status
210
+ extend ContextDev::Internal::Type::Enum
211
+
212
+ TaggedSymbol =
213
+ T.type_alias do
214
+ T.all(
215
+ Symbol,
216
+ ContextDev::Models::WebExtractFontsResponse::CacheMetadata::Status
217
+ )
218
+ end
219
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
220
+
221
+ HIT =
222
+ T.let(
223
+ :hit,
224
+ ContextDev::Models::WebExtractFontsResponse::CacheMetadata::Status::TaggedSymbol
225
+ )
226
+ MISS =
227
+ T.let(
228
+ :miss,
229
+ ContextDev::Models::WebExtractFontsResponse::CacheMetadata::Status::TaggedSymbol
230
+ )
231
+ ZDR =
232
+ T.let(
233
+ :zdr,
234
+ ContextDev::Models::WebExtractFontsResponse::CacheMetadata::Status::TaggedSymbol
235
+ )
236
+
237
+ sig do
238
+ override.returns(
239
+ T::Array[
240
+ ContextDev::Models::WebExtractFontsResponse::CacheMetadata::Status::TaggedSymbol
241
+ ]
242
+ )
243
+ end
244
+ def self.values
245
+ end
246
+ end
247
+ end
248
+
130
249
  class Font < ContextDev::Internal::Type::BaseModel
131
250
  OrHash =
132
251
  T.type_alias do
@@ -11,6 +11,20 @@ module ContextDev
11
11
  )
12
12
  end
13
13
 
14
+ # Cache outcome for this response. Composite responses are hits only when every
15
+ # cache-controlled fetch contributing to the output was a hit; age_ms is the
16
+ # oldest contributing hit.
17
+ sig { returns(ContextDev::Models::WebExtractResponse::CacheMetadata) }
18
+ attr_reader :cache_metadata
19
+
20
+ sig do
21
+ params(
22
+ cache_metadata:
23
+ ContextDev::Models::WebExtractResponse::CacheMetadata::OrHash
24
+ ).void
25
+ end
26
+ attr_writer :cache_metadata
27
+
14
28
  # Extracted data matching the request schema
15
29
  sig { returns(T::Hash[Symbol, T.anything]) }
16
30
  attr_accessor :data
@@ -54,6 +68,8 @@ module ContextDev
54
68
 
55
69
  sig do
56
70
  params(
71
+ cache_metadata:
72
+ ContextDev::Models::WebExtractResponse::CacheMetadata::OrHash,
57
73
  data: T::Hash[Symbol, T.anything],
58
74
  metadata: ContextDev::Models::WebExtractResponse::Metadata::OrHash,
59
75
  status: String,
@@ -64,6 +80,10 @@ module ContextDev
64
80
  ).returns(T.attached_class)
65
81
  end
66
82
  def self.new(
83
+ # Cache outcome for this response. Composite responses are hits only when every
84
+ # cache-controlled fetch contributing to the output was a hit; age_ms is the
85
+ # oldest contributing hit.
86
+ cache_metadata:,
67
87
  # Extracted data matching the request schema
68
88
  data:,
69
89
  metadata:,
@@ -82,6 +102,8 @@ module ContextDev
82
102
  sig do
83
103
  override.returns(
84
104
  {
105
+ cache_metadata:
106
+ ContextDev::Models::WebExtractResponse::CacheMetadata,
85
107
  data: T::Hash[Symbol, T.anything],
86
108
  metadata: ContextDev::Models::WebExtractResponse::Metadata,
87
109
  status: String,
@@ -94,6 +116,101 @@ module ContextDev
94
116
  def to_hash
95
117
  end
96
118
 
119
+ class CacheMetadata < ContextDev::Internal::Type::BaseModel
120
+ OrHash =
121
+ T.type_alias do
122
+ T.any(
123
+ ContextDev::Models::WebExtractResponse::CacheMetadata,
124
+ ContextDev::Internal::AnyHash
125
+ )
126
+ end
127
+
128
+ # Age of the cached data in milliseconds. Zero for miss and zdr responses.
129
+ sig { returns(Integer) }
130
+ attr_accessor :age_ms
131
+
132
+ # Whether the response was served from cache, required fresh work, or honored
133
+ # zero-data-retention cache bypass.
134
+ sig do
135
+ returns(
136
+ ContextDev::Models::WebExtractResponse::CacheMetadata::Status::TaggedSymbol
137
+ )
138
+ end
139
+ attr_accessor :status
140
+
141
+ # Cache outcome for this response. Composite responses are hits only when every
142
+ # cache-controlled fetch contributing to the output was a hit; age_ms is the
143
+ # oldest contributing hit.
144
+ sig do
145
+ params(
146
+ age_ms: Integer,
147
+ status:
148
+ ContextDev::Models::WebExtractResponse::CacheMetadata::Status::OrSymbol
149
+ ).returns(T.attached_class)
150
+ end
151
+ def self.new(
152
+ # Age of the cached data in milliseconds. Zero for miss and zdr responses.
153
+ age_ms:,
154
+ # Whether the response was served from cache, required fresh work, or honored
155
+ # zero-data-retention cache bypass.
156
+ status:
157
+ )
158
+ end
159
+
160
+ sig do
161
+ override.returns(
162
+ {
163
+ age_ms: Integer,
164
+ status:
165
+ ContextDev::Models::WebExtractResponse::CacheMetadata::Status::TaggedSymbol
166
+ }
167
+ )
168
+ end
169
+ def to_hash
170
+ end
171
+
172
+ # Whether the response was served from cache, required fresh work, or honored
173
+ # zero-data-retention cache bypass.
174
+ module Status
175
+ extend ContextDev::Internal::Type::Enum
176
+
177
+ TaggedSymbol =
178
+ T.type_alias do
179
+ T.all(
180
+ Symbol,
181
+ ContextDev::Models::WebExtractResponse::CacheMetadata::Status
182
+ )
183
+ end
184
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
185
+
186
+ HIT =
187
+ T.let(
188
+ :hit,
189
+ ContextDev::Models::WebExtractResponse::CacheMetadata::Status::TaggedSymbol
190
+ )
191
+ MISS =
192
+ T.let(
193
+ :miss,
194
+ ContextDev::Models::WebExtractResponse::CacheMetadata::Status::TaggedSymbol
195
+ )
196
+ ZDR =
197
+ T.let(
198
+ :zdr,
199
+ ContextDev::Models::WebExtractResponse::CacheMetadata::Status::TaggedSymbol
200
+ )
201
+
202
+ sig do
203
+ override.returns(
204
+ T::Array[
205
+ ContextDev::Models::WebExtractResponse::CacheMetadata::Status::TaggedSymbol
206
+ ]
207
+ )
208
+ end
209
+ def self.values
210
+ end
211
+ end
212
+ end
213
+
97
214
  class Metadata < ContextDev::Internal::Type::BaseModel
98
215
  OrHash =
99
216
  T.type_alias do