context.dev 1.30.0 → 1.32.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 (91) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +18 -0
  3. data/README.md +1 -1
  4. data/lib/context_dev/models/ai_ai_query_response.rb +36 -1
  5. data/lib/context_dev/models/ai_extract_product_response.rb +36 -1
  6. data/lib/context_dev/models/ai_extract_products_response.rb +36 -1
  7. data/lib/context_dev/models/brand_identify_from_transaction_response.rb +36 -1
  8. data/lib/context_dev/models/brand_retrieve_by_email_response.rb +36 -1
  9. data/lib/context_dev/models/brand_retrieve_by_isin_response.rb +36 -1
  10. data/lib/context_dev/models/brand_retrieve_by_name_response.rb +36 -1
  11. data/lib/context_dev/models/brand_retrieve_by_ticker_response.rb +36 -1
  12. data/lib/context_dev/models/brand_retrieve_response.rb +36 -1
  13. data/lib/context_dev/models/brand_retrieve_simplified_response.rb +36 -1
  14. data/lib/context_dev/models/industry_retrieve_naics_response.rb +36 -1
  15. data/lib/context_dev/models/industry_retrieve_sic_response.rb +33 -1
  16. data/lib/context_dev/models/utility_prefetch_by_email_response.rb +36 -1
  17. data/lib/context_dev/models/utility_prefetch_response.rb +36 -1
  18. data/lib/context_dev/models/web_extract_competitors_response.rb +36 -1
  19. data/lib/context_dev/models/web_extract_fonts_response.rb +33 -1
  20. data/lib/context_dev/models/web_extract_params.rb +21 -3
  21. data/lib/context_dev/models/web_extract_response.rb +36 -1
  22. data/lib/context_dev/models/web_extract_styleguide_response.rb +36 -1
  23. data/lib/context_dev/models/web_screenshot_response.rb +36 -1
  24. data/lib/context_dev/models/web_search_response.rb +36 -1
  25. data/lib/context_dev/models/web_web_crawl_md_params.rb +2 -2
  26. data/lib/context_dev/models/web_web_crawl_md_response.rb +37 -1
  27. data/lib/context_dev/models/web_web_scrape_html_params.rb +10 -1
  28. data/lib/context_dev/models/web_web_scrape_html_response.rb +33 -1
  29. data/lib/context_dev/models/web_web_scrape_images_response.rb +36 -1
  30. data/lib/context_dev/models/web_web_scrape_md_response.rb +36 -1
  31. data/lib/context_dev/models/web_web_scrape_sitemap_response.rb +36 -1
  32. data/lib/context_dev/resources/web.rb +10 -3
  33. data/lib/context_dev/version.rb +1 -1
  34. data/rbi/context_dev/models/ai_ai_query_response.rbi +62 -0
  35. data/rbi/context_dev/models/ai_extract_product_response.rbi +65 -0
  36. data/rbi/context_dev/models/ai_extract_products_response.rbi +65 -0
  37. data/rbi/context_dev/models/brand_identify_from_transaction_response.rbi +67 -0
  38. data/rbi/context_dev/models/brand_retrieve_by_email_response.rbi +67 -0
  39. data/rbi/context_dev/models/brand_retrieve_by_isin_response.rbi +67 -0
  40. data/rbi/context_dev/models/brand_retrieve_by_name_response.rbi +67 -0
  41. data/rbi/context_dev/models/brand_retrieve_by_ticker_response.rbi +67 -0
  42. data/rbi/context_dev/models/brand_retrieve_response.rbi +65 -0
  43. data/rbi/context_dev/models/brand_retrieve_simplified_response.rbi +67 -0
  44. data/rbi/context_dev/models/industry_retrieve_naics_response.rbi +67 -0
  45. data/rbi/context_dev/models/industry_retrieve_sic_response.rbi +67 -0
  46. data/rbi/context_dev/models/utility_prefetch_by_email_response.rbi +79 -4
  47. data/rbi/context_dev/models/utility_prefetch_response.rbi +77 -4
  48. data/rbi/context_dev/models/web_extract_competitors_response.rbi +70 -3
  49. data/rbi/context_dev/models/web_extract_fonts_response.rbi +68 -3
  50. data/rbi/context_dev/models/web_extract_params.rbi +28 -2
  51. data/rbi/context_dev/models/web_extract_response.rbi +65 -3
  52. data/rbi/context_dev/models/web_extract_styleguide_response.rbi +67 -0
  53. data/rbi/context_dev/models/web_screenshot_response.rbi +65 -0
  54. data/rbi/context_dev/models/web_search_response.rbi +65 -3
  55. data/rbi/context_dev/models/web_web_crawl_md_params.rbi +4 -4
  56. data/rbi/context_dev/models/web_web_crawl_md_response.rbi +71 -3
  57. data/rbi/context_dev/models/web_web_scrape_html_params.rbi +13 -0
  58. data/rbi/context_dev/models/web_web_scrape_html_response.rbi +68 -3
  59. data/rbi/context_dev/models/web_web_scrape_images_response.rbi +68 -3
  60. data/rbi/context_dev/models/web_web_scrape_md_response.rbi +68 -3
  61. data/rbi/context_dev/models/web_web_scrape_sitemap_response.rbi +70 -3
  62. data/rbi/context_dev/resources/web.rbi +15 -3
  63. data/sig/context_dev/models/ai_ai_query_response.rbs +28 -0
  64. data/sig/context_dev/models/ai_extract_product_response.rbs +28 -0
  65. data/sig/context_dev/models/ai_extract_products_response.rbs +28 -0
  66. data/sig/context_dev/models/brand_identify_from_transaction_response.rbs +28 -0
  67. data/sig/context_dev/models/brand_retrieve_by_email_response.rbs +28 -0
  68. data/sig/context_dev/models/brand_retrieve_by_isin_response.rbs +28 -0
  69. data/sig/context_dev/models/brand_retrieve_by_name_response.rbs +28 -0
  70. data/sig/context_dev/models/brand_retrieve_by_ticker_response.rbs +28 -0
  71. data/sig/context_dev/models/brand_retrieve_response.rbs +28 -0
  72. data/sig/context_dev/models/brand_retrieve_simplified_response.rbs +28 -0
  73. data/sig/context_dev/models/industry_retrieve_naics_response.rbs +28 -0
  74. data/sig/context_dev/models/industry_retrieve_sic_response.rbs +28 -0
  75. data/sig/context_dev/models/utility_prefetch_by_email_response.rbs +38 -2
  76. data/sig/context_dev/models/utility_prefetch_response.rbs +38 -2
  77. data/sig/context_dev/models/web_extract_competitors_response.rbs +31 -3
  78. data/sig/context_dev/models/web_extract_fonts_response.rbs +31 -3
  79. data/sig/context_dev/models/web_extract_params.rbs +14 -0
  80. data/sig/context_dev/models/web_extract_response.rbs +31 -3
  81. data/sig/context_dev/models/web_extract_styleguide_response.rbs +28 -0
  82. data/sig/context_dev/models/web_screenshot_response.rbs +28 -0
  83. data/sig/context_dev/models/web_search_response.rbs +31 -3
  84. data/sig/context_dev/models/web_web_crawl_md_response.rbs +31 -3
  85. data/sig/context_dev/models/web_web_scrape_html_params.rbs +7 -0
  86. data/sig/context_dev/models/web_web_scrape_html_response.rbs +31 -3
  87. data/sig/context_dev/models/web_web_scrape_images_response.rbs +31 -3
  88. data/sig/context_dev/models/web_web_scrape_md_response.rbs +31 -3
  89. data/sig/context_dev/models/web_web_scrape_sitemap_response.rbs +31 -3
  90. data/sig/context_dev/resources/web.rbs +3 -0
  91. metadata +2 -2
@@ -29,6 +29,23 @@ module ContextDev
29
29
  sig { returns(String) }
30
30
  attr_accessor :url
31
31
 
32
+ # Metadata about the API key used for the request. Included in every response
33
+ # whenever a valid API key is provided, even when the response status is not 200.
34
+ sig do
35
+ returns(
36
+ T.nilable(ContextDev::Models::WebWebScrapeImagesResponse::KeyMetadata)
37
+ )
38
+ end
39
+ attr_reader :key_metadata
40
+
41
+ sig do
42
+ params(
43
+ key_metadata:
44
+ ContextDev::Models::WebWebScrapeImagesResponse::KeyMetadata::OrHash
45
+ ).void
46
+ end
47
+ attr_writer :key_metadata
48
+
32
49
  sig do
33
50
  params(
34
51
  images:
@@ -37,7 +54,9 @@ module ContextDev
37
54
  ],
38
55
  success:
39
56
  ContextDev::Models::WebWebScrapeImagesResponse::Success::OrBoolean,
40
- url: String
57
+ url: String,
58
+ key_metadata:
59
+ ContextDev::Models::WebWebScrapeImagesResponse::KeyMetadata::OrHash
41
60
  ).returns(T.attached_class)
42
61
  end
43
62
  def self.new(
@@ -46,7 +65,10 @@ module ContextDev
46
65
  # Always true on success.
47
66
  success:,
48
67
  # Page URL that was scraped.
49
- url:
68
+ url:,
69
+ # Metadata about the API key used for the request. Included in every response
70
+ # whenever a valid API key is provided, even when the response status is not 200.
71
+ key_metadata: nil
50
72
  )
51
73
  end
52
74
 
@@ -57,7 +79,9 @@ module ContextDev
57
79
  T::Array[ContextDev::Models::WebWebScrapeImagesResponse::Image],
58
80
  success:
59
81
  ContextDev::Models::WebWebScrapeImagesResponse::Success::TaggedBoolean,
60
- url: String
82
+ url: String,
83
+ key_metadata:
84
+ ContextDev::Models::WebWebScrapeImagesResponse::KeyMetadata
61
85
  }
62
86
  )
63
87
  end
@@ -459,6 +483,47 @@ module ContextDev
459
483
  def self.values
460
484
  end
461
485
  end
486
+
487
+ class KeyMetadata < ContextDev::Internal::Type::BaseModel
488
+ OrHash =
489
+ T.type_alias do
490
+ T.any(
491
+ ContextDev::Models::WebWebScrapeImagesResponse::KeyMetadata,
492
+ ContextDev::Internal::AnyHash
493
+ )
494
+ end
495
+
496
+ # The number of credits consumed by this request.
497
+ sig { returns(Integer) }
498
+ attr_accessor :credits_consumed
499
+
500
+ # The number of credits remaining for your organization after this request.
501
+ sig { returns(Integer) }
502
+ attr_accessor :credits_remaining
503
+
504
+ # Metadata about the API key used for the request. Included in every response
505
+ # whenever a valid API key is provided, even when the response status is not 200.
506
+ sig do
507
+ params(credits_consumed: Integer, credits_remaining: Integer).returns(
508
+ T.attached_class
509
+ )
510
+ end
511
+ def self.new(
512
+ # The number of credits consumed by this request.
513
+ credits_consumed:,
514
+ # The number of credits remaining for your organization after this request.
515
+ credits_remaining:
516
+ )
517
+ end
518
+
519
+ sig do
520
+ override.returns(
521
+ { credits_consumed: Integer, credits_remaining: Integer }
522
+ )
523
+ end
524
+ def to_hash
525
+ end
526
+ end
462
527
  end
463
528
  end
464
529
  end
@@ -27,12 +27,31 @@ module ContextDev
27
27
  sig { returns(String) }
28
28
  attr_accessor :url
29
29
 
30
+ # Metadata about the API key used for the request. Included in every response
31
+ # whenever a valid API key is provided, even when the response status is not 200.
32
+ sig do
33
+ returns(
34
+ T.nilable(ContextDev::Models::WebWebScrapeMdResponse::KeyMetadata)
35
+ )
36
+ end
37
+ attr_reader :key_metadata
38
+
39
+ sig do
40
+ params(
41
+ key_metadata:
42
+ ContextDev::Models::WebWebScrapeMdResponse::KeyMetadata::OrHash
43
+ ).void
44
+ end
45
+ attr_writer :key_metadata
46
+
30
47
  sig do
31
48
  params(
32
49
  markdown: String,
33
50
  success:
34
51
  ContextDev::Models::WebWebScrapeMdResponse::Success::OrBoolean,
35
- url: String
52
+ url: String,
53
+ key_metadata:
54
+ ContextDev::Models::WebWebScrapeMdResponse::KeyMetadata::OrHash
36
55
  ).returns(T.attached_class)
37
56
  end
38
57
  def self.new(
@@ -41,7 +60,10 @@ module ContextDev
41
60
  # Indicates success
42
61
  success:,
43
62
  # The URL that was scraped
44
- url:
63
+ url:,
64
+ # Metadata about the API key used for the request. Included in every response
65
+ # whenever a valid API key is provided, even when the response status is not 200.
66
+ key_metadata: nil
45
67
  )
46
68
  end
47
69
 
@@ -51,7 +73,9 @@ module ContextDev
51
73
  markdown: String,
52
74
  success:
53
75
  ContextDev::Models::WebWebScrapeMdResponse::Success::TaggedBoolean,
54
- url: String
76
+ url: String,
77
+ key_metadata:
78
+ ContextDev::Models::WebWebScrapeMdResponse::KeyMetadata
55
79
  }
56
80
  )
57
81
  end
@@ -87,6 +111,47 @@ module ContextDev
87
111
  def self.values
88
112
  end
89
113
  end
114
+
115
+ class KeyMetadata < ContextDev::Internal::Type::BaseModel
116
+ OrHash =
117
+ T.type_alias do
118
+ T.any(
119
+ ContextDev::Models::WebWebScrapeMdResponse::KeyMetadata,
120
+ ContextDev::Internal::AnyHash
121
+ )
122
+ end
123
+
124
+ # The number of credits consumed by this request.
125
+ sig { returns(Integer) }
126
+ attr_accessor :credits_consumed
127
+
128
+ # The number of credits remaining for your organization after this request.
129
+ sig { returns(Integer) }
130
+ attr_accessor :credits_remaining
131
+
132
+ # Metadata about the API key used for the request. Included in every response
133
+ # whenever a valid API key is provided, even when the response status is not 200.
134
+ sig do
135
+ params(credits_consumed: Integer, credits_remaining: Integer).returns(
136
+ T.attached_class
137
+ )
138
+ end
139
+ def self.new(
140
+ # The number of credits consumed by this request.
141
+ credits_consumed:,
142
+ # The number of credits remaining for your organization after this request.
143
+ credits_remaining:
144
+ )
145
+ end
146
+
147
+ sig do
148
+ override.returns(
149
+ { credits_consumed: Integer, credits_remaining: Integer }
150
+ )
151
+ end
152
+ def to_hash
153
+ end
154
+ end
90
155
  end
91
156
  end
92
157
  end
@@ -38,13 +38,34 @@ module ContextDev
38
38
  sig { returns(T::Array[String]) }
39
39
  attr_accessor :urls
40
40
 
41
+ # Metadata about the API key used for the request. Included in every response
42
+ # whenever a valid API key is provided, even when the response status is not 200.
43
+ sig do
44
+ returns(
45
+ T.nilable(
46
+ ContextDev::Models::WebWebScrapeSitemapResponse::KeyMetadata
47
+ )
48
+ )
49
+ end
50
+ attr_reader :key_metadata
51
+
52
+ sig do
53
+ params(
54
+ key_metadata:
55
+ ContextDev::Models::WebWebScrapeSitemapResponse::KeyMetadata::OrHash
56
+ ).void
57
+ end
58
+ attr_writer :key_metadata
59
+
41
60
  sig do
42
61
  params(
43
62
  domain: String,
44
63
  meta: ContextDev::Models::WebWebScrapeSitemapResponse::Meta::OrHash,
45
64
  success:
46
65
  ContextDev::Models::WebWebScrapeSitemapResponse::Success::OrBoolean,
47
- urls: T::Array[String]
66
+ urls: T::Array[String],
67
+ key_metadata:
68
+ ContextDev::Models::WebWebScrapeSitemapResponse::KeyMetadata::OrHash
48
69
  ).returns(T.attached_class)
49
70
  end
50
71
  def self.new(
@@ -55,7 +76,10 @@ module ContextDev
55
76
  # Indicates success
56
77
  success:,
57
78
  # Array of discovered page URLs from the sitemap (max 500)
58
- urls:
79
+ urls:,
80
+ # Metadata about the API key used for the request. Included in every response
81
+ # whenever a valid API key is provided, even when the response status is not 200.
82
+ key_metadata: nil
59
83
  )
60
84
  end
61
85
 
@@ -66,7 +90,9 @@ module ContextDev
66
90
  meta: ContextDev::Models::WebWebScrapeSitemapResponse::Meta,
67
91
  success:
68
92
  ContextDev::Models::WebWebScrapeSitemapResponse::Success::TaggedBoolean,
69
- urls: T::Array[String]
93
+ urls: T::Array[String],
94
+ key_metadata:
95
+ ContextDev::Models::WebWebScrapeSitemapResponse::KeyMetadata
70
96
  }
71
97
  )
72
98
  end
@@ -162,6 +188,47 @@ module ContextDev
162
188
  def self.values
163
189
  end
164
190
  end
191
+
192
+ class KeyMetadata < ContextDev::Internal::Type::BaseModel
193
+ OrHash =
194
+ T.type_alias do
195
+ T.any(
196
+ ContextDev::Models::WebWebScrapeSitemapResponse::KeyMetadata,
197
+ ContextDev::Internal::AnyHash
198
+ )
199
+ end
200
+
201
+ # The number of credits consumed by this request.
202
+ sig { returns(Integer) }
203
+ attr_accessor :credits_consumed
204
+
205
+ # The number of credits remaining for your organization after this request.
206
+ sig { returns(Integer) }
207
+ attr_accessor :credits_remaining
208
+
209
+ # Metadata about the API key used for the request. Included in every response
210
+ # whenever a valid API key is provided, even when the response status is not 200.
211
+ sig do
212
+ params(credits_consumed: Integer, credits_remaining: Integer).returns(
213
+ T.attached_class
214
+ )
215
+ end
216
+ def self.new(
217
+ # The number of credits consumed by this request.
218
+ credits_consumed:,
219
+ # The number of credits remaining for your organization after this request.
220
+ credits_remaining:
221
+ )
222
+ end
223
+
224
+ sig do
225
+ override.returns(
226
+ { credits_consumed: Integer, credits_remaining: Integer }
227
+ )
228
+ end
229
+ def to_hash
230
+ end
231
+ end
165
232
  end
166
233
  end
167
234
  end
@@ -14,6 +14,8 @@ module ContextDev
14
14
  include_frames: T::Boolean,
15
15
  instructions: String,
16
16
  max_age_ms: Integer,
17
+ max_depth: Integer,
18
+ max_pages: Integer,
17
19
  pdf: ContextDev::WebExtractParams::Pdf::OrHash,
18
20
  stop_after_ms: Integer,
19
21
  timeout_ms: Integer,
@@ -46,8 +48,14 @@ module ContextDev
46
48
  # Return cached scrape results if a prior scrape for the same parameters is
47
49
  # younger than this many milliseconds. Defaults to 7 days (604800000 ms).
48
50
  max_age_ms: nil,
51
+ # Optional maximum link depth from the starting URL (0 = only the starting page).
52
+ # If omitted, there is no crawl depth limit.
53
+ max_depth: nil,
54
+ # Maximum number of pages to analyze for extraction. Hard cap: 50. Defaults to 5.
55
+ max_pages: nil,
49
56
  pdf: nil,
50
- # Soft time budget for the crawl in milliseconds.
57
+ # Soft time budget for the crawl in milliseconds. Min: 10000 (10s). Max: 110000
58
+ # (110s). Default: 80000 (80s).
51
59
  stop_after_ms: nil,
52
60
  # Optional timeout in milliseconds for the request. If the request takes longer
53
61
  # than this value, it will be aborted with a 408 status code. Maximum allowed
@@ -308,8 +316,8 @@ module ContextDev
308
316
  shorten_base64_images: nil,
309
317
  # Soft time budget for the crawl in milliseconds. After each scrape, the crawler
310
318
  # checks the elapsed time and, if exceeded, returns the pages collected so far
311
- # instead of continuing. Min: 10000 (10s). Max: 240000 (4 min). Default: 120000 (2
312
- # min).
319
+ # instead of continuing. Min: 10000 (10s). Max: 110000 (110s). Default: 80000
320
+ # (80s).
313
321
  stop_after_ms: nil,
314
322
  # Optional timeout in milliseconds for the request. If the request takes longer
315
323
  # than this value, it will be aborted with a 408 status code. Maximum allowed
@@ -338,6 +346,7 @@ module ContextDev
338
346
  max_age_ms: Integer,
339
347
  pdf: ContextDev::WebWebScrapeHTMLParams::Pdf::OrHash,
340
348
  timeout_ms: Integer,
349
+ use_main_content_only: T::Boolean,
341
350
  wait_for_ms: Integer,
342
351
  request_options: ContextDev::RequestOptions::OrHash
343
352
  ).returns(ContextDev::Models::WebWebScrapeHTMLResponse)
@@ -370,6 +379,9 @@ module ContextDev
370
379
  # than this value, it will be aborted with a 408 status code. Maximum allowed
371
380
  # value is 300000ms (5 minutes).
372
381
  timeout_ms: nil,
382
+ # When true, return only the page's main content in the HTML response, excluding
383
+ # headers, footers, sidebars, and navigation when detectable.
384
+ use_main_content_only: nil,
373
385
  # Optional browser wait time in milliseconds after initial page load. Min: 0. Max:
374
386
  # 30000 (30 seconds).
375
387
  wait_for_ms: nil,
@@ -4,6 +4,7 @@ module ContextDev
4
4
  {
5
5
  data_extracted: ::Array[ContextDev::Models::AIAIQueryResponse::DataExtracted],
6
6
  domain: String,
7
+ key_metadata: ContextDev::Models::AIAIQueryResponse::KeyMetadata,
7
8
  status: String,
8
9
  urls_analyzed: ::Array[String]
9
10
  }
@@ -19,6 +20,12 @@ module ContextDev
19
20
 
20
21
  def domain=: (String) -> String
21
22
 
23
+ attr_reader key_metadata: ContextDev::Models::AIAIQueryResponse::KeyMetadata?
24
+
25
+ def key_metadata=: (
26
+ ContextDev::Models::AIAIQueryResponse::KeyMetadata
27
+ ) -> ContextDev::Models::AIAIQueryResponse::KeyMetadata
28
+
22
29
  attr_reader status: String?
23
30
 
24
31
  def status=: (String) -> String
@@ -30,6 +37,7 @@ module ContextDev
30
37
  def initialize: (
31
38
  ?data_extracted: ::Array[ContextDev::Models::AIAIQueryResponse::DataExtracted],
32
39
  ?domain: String,
40
+ ?key_metadata: ContextDev::Models::AIAIQueryResponse::KeyMetadata,
33
41
  ?status: String,
34
42
  ?urls_analyzed: ::Array[String]
35
43
  ) -> void
@@ -37,6 +45,7 @@ module ContextDev
37
45
  def to_hash: -> {
38
46
  data_extracted: ::Array[ContextDev::Models::AIAIQueryResponse::DataExtracted],
39
47
  domain: String,
48
+ key_metadata: ContextDev::Models::AIAIQueryResponse::KeyMetadata,
40
49
  status: String,
41
50
  urls_analyzed: ::Array[String]
42
51
  }
@@ -88,6 +97,25 @@ module ContextDev
88
97
  UnionMember5Array: ContextDev::Internal::Type::Converter
89
98
  end
90
99
  end
100
+
101
+ type key_metadata =
102
+ { credits_consumed: Integer, credits_remaining: Integer }
103
+
104
+ class KeyMetadata < ContextDev::Internal::Type::BaseModel
105
+ attr_accessor credits_consumed: Integer
106
+
107
+ attr_accessor credits_remaining: Integer
108
+
109
+ def initialize: (
110
+ credits_consumed: Integer,
111
+ credits_remaining: Integer
112
+ ) -> void
113
+
114
+ def to_hash: -> {
115
+ credits_consumed: Integer,
116
+ credits_remaining: Integer
117
+ }
118
+ end
91
119
  end
92
120
  end
93
121
  end
@@ -3,6 +3,7 @@ module ContextDev
3
3
  type ai_extract_product_response =
4
4
  {
5
5
  is_product_page: bool,
6
+ key_metadata: ContextDev::Models::AIExtractProductResponse::KeyMetadata,
6
7
  platform: ContextDev::Models::AIExtractProductResponse::platform?,
7
8
  product: ContextDev::Models::AIExtractProductResponse::Product?
8
9
  }
@@ -12,22 +13,49 @@ module ContextDev
12
13
 
13
14
  def is_product_page=: (bool) -> bool
14
15
 
16
+ attr_reader key_metadata: ContextDev::Models::AIExtractProductResponse::KeyMetadata?
17
+
18
+ def key_metadata=: (
19
+ ContextDev::Models::AIExtractProductResponse::KeyMetadata
20
+ ) -> ContextDev::Models::AIExtractProductResponse::KeyMetadata
21
+
15
22
  attr_accessor platform: ContextDev::Models::AIExtractProductResponse::platform?
16
23
 
17
24
  attr_accessor product: ContextDev::Models::AIExtractProductResponse::Product?
18
25
 
19
26
  def initialize: (
20
27
  ?is_product_page: bool,
28
+ ?key_metadata: ContextDev::Models::AIExtractProductResponse::KeyMetadata,
21
29
  ?platform: ContextDev::Models::AIExtractProductResponse::platform?,
22
30
  ?product: ContextDev::Models::AIExtractProductResponse::Product?
23
31
  ) -> void
24
32
 
25
33
  def to_hash: -> {
26
34
  is_product_page: bool,
35
+ key_metadata: ContextDev::Models::AIExtractProductResponse::KeyMetadata,
27
36
  platform: ContextDev::Models::AIExtractProductResponse::platform?,
28
37
  product: ContextDev::Models::AIExtractProductResponse::Product?
29
38
  }
30
39
 
40
+ type key_metadata =
41
+ { credits_consumed: Integer, credits_remaining: Integer }
42
+
43
+ class KeyMetadata < ContextDev::Internal::Type::BaseModel
44
+ attr_accessor credits_consumed: Integer
45
+
46
+ attr_accessor credits_remaining: Integer
47
+
48
+ def initialize: (
49
+ credits_consumed: Integer,
50
+ credits_remaining: Integer
51
+ ) -> void
52
+
53
+ def to_hash: -> {
54
+ credits_consumed: Integer,
55
+ credits_remaining: Integer
56
+ }
57
+ end
58
+
31
59
  type platform = :amazon | :tiktok_shop | :etsy | :generic
32
60
 
33
61
  module Platform
@@ -2,10 +2,17 @@ module ContextDev
2
2
  module Models
3
3
  type ai_extract_products_response =
4
4
  {
5
+ key_metadata: ContextDev::Models::AIExtractProductsResponse::KeyMetadata,
5
6
  products: ::Array[ContextDev::Models::AIExtractProductsResponse::Product]
6
7
  }
7
8
 
8
9
  class AIExtractProductsResponse < ContextDev::Internal::Type::BaseModel
10
+ attr_reader key_metadata: ContextDev::Models::AIExtractProductsResponse::KeyMetadata?
11
+
12
+ def key_metadata=: (
13
+ ContextDev::Models::AIExtractProductsResponse::KeyMetadata
14
+ ) -> ContextDev::Models::AIExtractProductsResponse::KeyMetadata
15
+
9
16
  attr_reader products: ::Array[ContextDev::Models::AIExtractProductsResponse::Product]?
10
17
 
11
18
  def products=: (
@@ -13,13 +20,34 @@ module ContextDev
13
20
  ) -> ::Array[ContextDev::Models::AIExtractProductsResponse::Product]
14
21
 
15
22
  def initialize: (
23
+ ?key_metadata: ContextDev::Models::AIExtractProductsResponse::KeyMetadata,
16
24
  ?products: ::Array[ContextDev::Models::AIExtractProductsResponse::Product]
17
25
  ) -> void
18
26
 
19
27
  def to_hash: -> {
28
+ key_metadata: ContextDev::Models::AIExtractProductsResponse::KeyMetadata,
20
29
  products: ::Array[ContextDev::Models::AIExtractProductsResponse::Product]
21
30
  }
22
31
 
32
+ type key_metadata =
33
+ { credits_consumed: Integer, credits_remaining: Integer }
34
+
35
+ class KeyMetadata < ContextDev::Internal::Type::BaseModel
36
+ attr_accessor credits_consumed: Integer
37
+
38
+ attr_accessor credits_remaining: Integer
39
+
40
+ def initialize: (
41
+ credits_consumed: Integer,
42
+ credits_remaining: Integer
43
+ ) -> void
44
+
45
+ def to_hash: -> {
46
+ credits_consumed: Integer,
47
+ credits_remaining: Integer
48
+ }
49
+ end
50
+
23
51
  type product =
24
52
  {
25
53
  description: String,
@@ -4,6 +4,7 @@ module ContextDev
4
4
  {
5
5
  brand: ContextDev::Models::BrandIdentifyFromTransactionResponse::Brand,
6
6
  code: Integer,
7
+ key_metadata: ContextDev::Models::BrandIdentifyFromTransactionResponse::KeyMetadata,
7
8
  status: String
8
9
  }
9
10
 
@@ -18,6 +19,12 @@ module ContextDev
18
19
 
19
20
  def code=: (Integer) -> Integer
20
21
 
22
+ attr_reader key_metadata: ContextDev::Models::BrandIdentifyFromTransactionResponse::KeyMetadata?
23
+
24
+ def key_metadata=: (
25
+ ContextDev::Models::BrandIdentifyFromTransactionResponse::KeyMetadata
26
+ ) -> ContextDev::Models::BrandIdentifyFromTransactionResponse::KeyMetadata
27
+
21
28
  attr_reader status: String?
22
29
 
23
30
  def status=: (String) -> String
@@ -25,12 +32,14 @@ module ContextDev
25
32
  def initialize: (
26
33
  ?brand: ContextDev::Models::BrandIdentifyFromTransactionResponse::Brand,
27
34
  ?code: Integer,
35
+ ?key_metadata: ContextDev::Models::BrandIdentifyFromTransactionResponse::KeyMetadata,
28
36
  ?status: String
29
37
  ) -> void
30
38
 
31
39
  def to_hash: -> {
32
40
  brand: ContextDev::Models::BrandIdentifyFromTransactionResponse::Brand,
33
41
  code: Integer,
42
+ key_metadata: ContextDev::Models::BrandIdentifyFromTransactionResponse::KeyMetadata,
34
43
  status: String
35
44
  }
36
45
 
@@ -1408,6 +1417,25 @@ module ContextDev
1408
1417
  def to_hash: -> { exchange: String, ticker: String }
1409
1418
  end
1410
1419
  end
1420
+
1421
+ type key_metadata =
1422
+ { credits_consumed: Integer, credits_remaining: Integer }
1423
+
1424
+ class KeyMetadata < ContextDev::Internal::Type::BaseModel
1425
+ attr_accessor credits_consumed: Integer
1426
+
1427
+ attr_accessor credits_remaining: Integer
1428
+
1429
+ def initialize: (
1430
+ credits_consumed: Integer,
1431
+ credits_remaining: Integer
1432
+ ) -> void
1433
+
1434
+ def to_hash: -> {
1435
+ credits_consumed: Integer,
1436
+ credits_remaining: Integer
1437
+ }
1438
+ end
1411
1439
  end
1412
1440
  end
1413
1441
  end
@@ -4,6 +4,7 @@ module ContextDev
4
4
  {
5
5
  brand: ContextDev::Models::BrandRetrieveByEmailResponse::Brand,
6
6
  code: Integer,
7
+ key_metadata: ContextDev::Models::BrandRetrieveByEmailResponse::KeyMetadata,
7
8
  status: String
8
9
  }
9
10
 
@@ -18,6 +19,12 @@ module ContextDev
18
19
 
19
20
  def code=: (Integer) -> Integer
20
21
 
22
+ attr_reader key_metadata: ContextDev::Models::BrandRetrieveByEmailResponse::KeyMetadata?
23
+
24
+ def key_metadata=: (
25
+ ContextDev::Models::BrandRetrieveByEmailResponse::KeyMetadata
26
+ ) -> ContextDev::Models::BrandRetrieveByEmailResponse::KeyMetadata
27
+
21
28
  attr_reader status: String?
22
29
 
23
30
  def status=: (String) -> String
@@ -25,12 +32,14 @@ module ContextDev
25
32
  def initialize: (
26
33
  ?brand: ContextDev::Models::BrandRetrieveByEmailResponse::Brand,
27
34
  ?code: Integer,
35
+ ?key_metadata: ContextDev::Models::BrandRetrieveByEmailResponse::KeyMetadata,
28
36
  ?status: String
29
37
  ) -> void
30
38
 
31
39
  def to_hash: -> {
32
40
  brand: ContextDev::Models::BrandRetrieveByEmailResponse::Brand,
33
41
  code: Integer,
42
+ key_metadata: ContextDev::Models::BrandRetrieveByEmailResponse::KeyMetadata,
34
43
  status: String
35
44
  }
36
45
 
@@ -1408,6 +1417,25 @@ module ContextDev
1408
1417
  def to_hash: -> { exchange: String, ticker: String }
1409
1418
  end
1410
1419
  end
1420
+
1421
+ type key_metadata =
1422
+ { credits_consumed: Integer, credits_remaining: Integer }
1423
+
1424
+ class KeyMetadata < ContextDev::Internal::Type::BaseModel
1425
+ attr_accessor credits_consumed: Integer
1426
+
1427
+ attr_accessor credits_remaining: Integer
1428
+
1429
+ def initialize: (
1430
+ credits_consumed: Integer,
1431
+ credits_remaining: Integer
1432
+ ) -> void
1433
+
1434
+ def to_hash: -> {
1435
+ credits_consumed: Integer,
1436
+ credits_remaining: Integer
1437
+ }
1438
+ end
1411
1439
  end
1412
1440
  end
1413
1441
  end