context.dev 2.18.0 → 2.20.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 (116) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +220 -0
  3. data/README.md +1 -1
  4. data/lib/context_dev/client.rb +0 -4
  5. data/lib/context_dev/models/monitor_retrieve_run_params.rb +26 -0
  6. data/lib/context_dev/models/monitor_retrieve_run_response.rb +232 -0
  7. data/lib/context_dev/models/monitor_rotate_webhook_secret_params.rb +20 -0
  8. data/lib/context_dev/models/monitor_rotate_webhook_secret_response.rb +765 -0
  9. data/lib/context_dev/models/{web_web_scrape_sitemap_params.rb → web_map_urls_params.rb} +14 -14
  10. data/lib/context_dev/models/web_map_urls_response.rb +123 -0
  11. data/lib/context_dev/models/web_scrape_params.rb +1035 -0
  12. data/lib/context_dev/models/web_scrape_response.rb +974 -0
  13. data/lib/context_dev/models/web_screenshot_params.rb +15 -1
  14. data/lib/context_dev/models/web_screenshot_response.rb +3 -3
  15. data/lib/context_dev/models.rb +8 -22
  16. data/lib/context_dev/resources/brand.rb +0 -36
  17. data/lib/context_dev/resources/monitors.rb +47 -0
  18. data/lib/context_dev/resources/web.rb +118 -486
  19. data/lib/context_dev/version.rb +1 -1
  20. data/lib/context_dev.rb +8 -23
  21. data/rbi/context_dev/client.rbi +0 -3
  22. data/rbi/context_dev/models/monitor_retrieve_run_params.rbi +46 -0
  23. data/rbi/context_dev/models/monitor_retrieve_run_response.rbi +452 -0
  24. data/rbi/context_dev/models/monitor_rotate_webhook_secret_params.rbi +38 -0
  25. data/rbi/context_dev/models/monitor_rotate_webhook_secret_response.rbi +1367 -0
  26. data/rbi/context_dev/models/{web_web_scrape_sitemap_params.rbi → web_map_urls_params.rbi} +23 -45
  27. data/rbi/context_dev/models/web_map_urls_response.rbi +226 -0
  28. data/rbi/context_dev/models/web_scrape_params.rbi +2221 -0
  29. data/rbi/context_dev/models/web_scrape_response.rbi +1874 -0
  30. data/rbi/context_dev/models/web_screenshot_params.rbi +23 -0
  31. data/rbi/context_dev/models/web_screenshot_response.rbi +4 -4
  32. data/rbi/context_dev/models.rbi +9 -24
  33. data/rbi/context_dev/resources/brand.rbi +0 -35
  34. data/rbi/context_dev/resources/monitors.rbi +24 -0
  35. data/rbi/context_dev/resources/web.rbi +152 -654
  36. data/sig/context_dev/client.rbs +0 -2
  37. data/sig/context_dev/models/monitor_retrieve_run_params.rbs +28 -0
  38. data/sig/context_dev/models/monitor_retrieve_run_response.rbs +182 -0
  39. data/sig/context_dev/models/monitor_rotate_webhook_secret_params.rbs +23 -0
  40. data/sig/context_dev/models/monitor_rotate_webhook_secret_response.rbs +545 -0
  41. data/sig/context_dev/models/{web_web_scrape_sitemap_params.rbs → web_map_urls_params.rbs} +22 -22
  42. data/sig/context_dev/models/web_map_urls_response.rbs +125 -0
  43. data/sig/context_dev/models/web_scrape_params.rbs +925 -0
  44. data/sig/context_dev/models/web_scrape_response.rbs +782 -0
  45. data/sig/context_dev/models/web_screenshot_params.rbs +7 -0
  46. data/sig/context_dev/models.rbs +8 -22
  47. data/sig/context_dev/resources/brand.rbs +0 -9
  48. data/sig/context_dev/resources/monitors.rbs +11 -0
  49. data/sig/context_dev/resources/web.rbs +33 -128
  50. metadata +26 -71
  51. data/lib/context_dev/models/ai_extract_product_params.rb +0 -125
  52. data/lib/context_dev/models/ai_extract_product_response.rb +0 -402
  53. data/lib/context_dev/models/ai_extract_products_params.rb +0 -233
  54. data/lib/context_dev/models/ai_extract_products_response.rb +0 -370
  55. data/lib/context_dev/models/brand_retrieve_simplified_params.rb +0 -120
  56. data/lib/context_dev/models/brand_retrieve_simplified_response.rb +0 -441
  57. data/lib/context_dev/models/web_extract_fonts_params.rb +0 -114
  58. data/lib/context_dev/models/web_extract_fonts_response.rb +0 -291
  59. data/lib/context_dev/models/web_extract_params.rb +0 -419
  60. data/lib/context_dev/models/web_extract_response.rb +0 -287
  61. data/lib/context_dev/models/web_web_scrape_bytes_params.rb +0 -346
  62. data/lib/context_dev/models/web_web_scrape_bytes_response.rb +0 -135
  63. data/lib/context_dev/models/web_web_scrape_html_params.rb +0 -812
  64. data/lib/context_dev/models/web_web_scrape_html_response.rb +0 -628
  65. data/lib/context_dev/models/web_web_scrape_images_params.rb +0 -373
  66. data/lib/context_dev/models/web_web_scrape_images_response.rb +0 -409
  67. data/lib/context_dev/models/web_web_scrape_md_params.rb +0 -670
  68. data/lib/context_dev/models/web_web_scrape_md_response.rb +0 -567
  69. data/lib/context_dev/models/web_web_scrape_screenshot_params.rb +0 -471
  70. data/lib/context_dev/models/web_web_scrape_screenshot_response.rb +0 -169
  71. data/lib/context_dev/models/web_web_scrape_sitemap_response.rb +0 -144
  72. data/lib/context_dev/resources/ai.rb +0 -71
  73. data/rbi/context_dev/models/ai_extract_product_params.rbi +0 -253
  74. data/rbi/context_dev/models/ai_extract_product_response.rbi +0 -791
  75. data/rbi/context_dev/models/ai_extract_products_params.rbi +0 -490
  76. data/rbi/context_dev/models/ai_extract_products_response.rbi +0 -718
  77. data/rbi/context_dev/models/brand_retrieve_simplified_params.rbi +0 -256
  78. data/rbi/context_dev/models/brand_retrieve_simplified_response.rbi +0 -1040
  79. data/rbi/context_dev/models/web_extract_fonts_params.rbi +0 -223
  80. data/rbi/context_dev/models/web_extract_fonts_response.rbi +0 -563
  81. data/rbi/context_dev/models/web_extract_params.rbi +0 -781
  82. data/rbi/context_dev/models/web_extract_response.rbi +0 -512
  83. data/rbi/context_dev/models/web_web_scrape_bytes_params.rbi +0 -702
  84. data/rbi/context_dev/models/web_web_scrape_bytes_response.rbi +0 -238
  85. data/rbi/context_dev/models/web_web_scrape_html_params.rbi +0 -1690
  86. data/rbi/context_dev/models/web_web_scrape_html_response.rbi +0 -1287
  87. data/rbi/context_dev/models/web_web_scrape_images_params.rbi +0 -728
  88. data/rbi/context_dev/models/web_web_scrape_images_response.rbi +0 -910
  89. data/rbi/context_dev/models/web_web_scrape_md_params.rbi +0 -1052
  90. data/rbi/context_dev/models/web_web_scrape_md_response.rbi +0 -1088
  91. data/rbi/context_dev/models/web_web_scrape_screenshot_params.rbi +0 -1580
  92. data/rbi/context_dev/models/web_web_scrape_screenshot_response.rbi +0 -332
  93. data/rbi/context_dev/models/web_web_scrape_sitemap_response.rbi +0 -258
  94. data/rbi/context_dev/resources/ai.rbi +0 -63
  95. data/sig/context_dev/models/ai_extract_product_params.rbs +0 -106
  96. data/sig/context_dev/models/ai_extract_product_response.rbs +0 -314
  97. data/sig/context_dev/models/ai_extract_products_params.rbs +0 -202
  98. data/sig/context_dev/models/ai_extract_products_response.rbs +0 -293
  99. data/sig/context_dev/models/brand_retrieve_simplified_params.rbs +0 -104
  100. data/sig/context_dev/models/brand_retrieve_simplified_response.rbs +0 -413
  101. data/sig/context_dev/models/web_extract_fonts_params.rbs +0 -93
  102. data/sig/context_dev/models/web_extract_fonts_response.rbs +0 -230
  103. data/sig/context_dev/models/web_extract_params.rbs +0 -324
  104. data/sig/context_dev/models/web_extract_response.rbs +0 -239
  105. data/sig/context_dev/models/web_web_scrape_bytes_params.rbs +0 -531
  106. data/sig/context_dev/models/web_web_scrape_bytes_response.rbs +0 -108
  107. data/sig/context_dev/models/web_web_scrape_html_params.rbs +0 -878
  108. data/sig/context_dev/models/web_web_scrape_html_response.rbs +0 -525
  109. data/sig/context_dev/models/web_web_scrape_images_params.rbs +0 -281
  110. data/sig/context_dev/models/web_web_scrape_images_response.rbs +0 -371
  111. data/sig/context_dev/models/web_web_scrape_md_params.rbs +0 -758
  112. data/sig/context_dev/models/web_web_scrape_md_response.rbs +0 -465
  113. data/sig/context_dev/models/web_web_scrape_screenshot_params.rbs +0 -619
  114. data/sig/context_dev/models/web_web_scrape_screenshot_response.rbs +0 -127
  115. data/sig/context_dev/models/web_web_scrape_sitemap_response.rbs +0 -117
  116. data/sig/context_dev/resources/ai.rbs +0 -21
@@ -1,144 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module ContextDev
4
- module Models
5
- # @see ContextDev::Resources::Web#web_scrape_sitemap
6
- class WebWebScrapeSitemapResponse < ContextDev::Internal::Type::BaseModel
7
- # @!attribute domain
8
- # The normalized domain that was crawled
9
- #
10
- # @return [String]
11
- required :domain, String
12
-
13
- # @!attribute meta
14
- # Metadata about the sitemap crawl operation
15
- #
16
- # @return [ContextDev::Models::WebWebScrapeSitemapResponse::Meta]
17
- required :meta, -> { ContextDev::Models::WebWebScrapeSitemapResponse::Meta }
18
-
19
- # @!attribute request_id
20
- # Unique id of this API call, also sent in the X-Request-Id response header. Quote
21
- # it when contacting support about a failed request.
22
- #
23
- # @return [String]
24
- required :request_id, String
25
-
26
- # @!attribute success
27
- # Indicates success
28
- #
29
- # @return [Boolean, ContextDev::Models::WebWebScrapeSitemapResponse::Success]
30
- required :success, enum: -> { ContextDev::Models::WebWebScrapeSitemapResponse::Success }
31
-
32
- # @!attribute urls
33
- # Discovered page URLs from the sitemap, up to `maxLinks`. When `search` is set
34
- # these are only the matching pages, most relevant first.
35
- #
36
- # @return [Array<String>]
37
- required :urls, ContextDev::Internal::Type::ArrayOf[String]
38
-
39
- # @!attribute key_metadata
40
- # Credit usage, included whenever a valid API key is provided.
41
- #
42
- # @return [ContextDev::Models::WebWebScrapeSitemapResponse::KeyMetadata, nil]
43
- optional :key_metadata, -> { ContextDev::Models::WebWebScrapeSitemapResponse::KeyMetadata }
44
-
45
- # @!attribute partial
46
- # True when timeoutOpts.behavior=return-partial returned the usable results
47
- # collected before the deadline. Partial collections are not cached as complete
48
- # results.
49
- #
50
- # @return [Boolean, nil]
51
- optional :partial, ContextDev::Internal::Type::Boolean
52
-
53
- # @!method initialize(domain:, meta:, request_id:, success:, urls:, key_metadata: nil, partial: nil)
54
- # Some parameter documentations has been truncated, see
55
- # {ContextDev::Models::WebWebScrapeSitemapResponse} for more details.
56
- #
57
- # @param domain [String] The normalized domain that was crawled
58
- #
59
- # @param meta [ContextDev::Models::WebWebScrapeSitemapResponse::Meta] Metadata about the sitemap crawl operation
60
- #
61
- # @param request_id [String] Unique id of this API call, also sent in the X-Request-Id response header. Quote
62
- #
63
- # @param success [Boolean, ContextDev::Models::WebWebScrapeSitemapResponse::Success] Indicates success
64
- #
65
- # @param urls [Array<String>] Discovered page URLs from the sitemap, up to `maxLinks`. When `search` is set th
66
- #
67
- # @param key_metadata [ContextDev::Models::WebWebScrapeSitemapResponse::KeyMetadata] Credit usage, included whenever a valid API key is provided.
68
- #
69
- # @param partial [Boolean] True when timeoutOpts.behavior=return-partial returned the usable results collec
70
-
71
- # @see ContextDev::Models::WebWebScrapeSitemapResponse#meta
72
- class Meta < ContextDev::Internal::Type::BaseModel
73
- # @!attribute errors
74
- # Number of errors encountered during crawling
75
- #
76
- # @return [Integer]
77
- required :errors, Integer
78
-
79
- # @!attribute sitemaps_discovered
80
- # Total number of sitemap files discovered
81
- #
82
- # @return [Integer]
83
- required :sitemaps_discovered, Integer, api_name: :sitemapsDiscovered
84
-
85
- # @!attribute sitemaps_fetched
86
- # Number of sitemap files successfully fetched and parsed
87
- #
88
- # @return [Integer]
89
- required :sitemaps_fetched, Integer, api_name: :sitemapsFetched
90
-
91
- # @!attribute sitemaps_skipped
92
- # Number of sitemap files skipped (due to errors, timeouts, or limits)
93
- #
94
- # @return [Integer]
95
- required :sitemaps_skipped, Integer, api_name: :sitemapsSkipped
96
-
97
- # @!method initialize(errors:, sitemaps_discovered:, sitemaps_fetched:, sitemaps_skipped:)
98
- # Metadata about the sitemap crawl operation
99
- #
100
- # @param errors [Integer] Number of errors encountered during crawling
101
- #
102
- # @param sitemaps_discovered [Integer] Total number of sitemap files discovered
103
- #
104
- # @param sitemaps_fetched [Integer] Number of sitemap files successfully fetched and parsed
105
- #
106
- # @param sitemaps_skipped [Integer] Number of sitemap files skipped (due to errors, timeouts, or limits)
107
- end
108
-
109
- # Indicates success
110
- #
111
- # @see ContextDev::Models::WebWebScrapeSitemapResponse#success
112
- module Success
113
- extend ContextDev::Internal::Type::Enum
114
-
115
- TRUE = true
116
-
117
- # @!method self.values
118
- # @return [Array<Boolean>]
119
- end
120
-
121
- # @see ContextDev::Models::WebWebScrapeSitemapResponse#key_metadata
122
- class KeyMetadata < ContextDev::Internal::Type::BaseModel
123
- # @!attribute credits_consumed
124
- # Credits used by this request.
125
- #
126
- # @return [Integer]
127
- required :credits_consumed, Integer
128
-
129
- # @!attribute credits_remaining
130
- # Credits remaining for your organization.
131
- #
132
- # @return [Integer]
133
- required :credits_remaining, Integer
134
-
135
- # @!method initialize(credits_consumed:, credits_remaining:)
136
- # Credit usage, included whenever a valid API key is provided.
137
- #
138
- # @param credits_consumed [Integer] Credits used by this request.
139
- #
140
- # @param credits_remaining [Integer] Credits remaining for your organization.
141
- end
142
- end
143
- end
144
- end
@@ -1,71 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module ContextDev
4
- module Resources
5
- class AI
6
- # Some parameter documentations has been truncated, see
7
- # {ContextDev::Models::AIExtractProductParams} for more details.
8
- #
9
- # Given a single URL, determines if it is a product page and extracts the product
10
- # information.
11
- #
12
- # @overload extract_product(url:, max_age_ms: nil, tags: nil, timeout_opts: nil, zdr: nil, request_options: {})
13
- #
14
- # @param url [String] The product page URL to extract product data from.
15
- #
16
- # @param max_age_ms [Integer] Return a cached result if a prior scrape for the same parameters exists and is y
17
- #
18
- # @param tags [Array<String>] Optional tags for tracking usage. Up to 20 tags, each 1 to 50 characters.
19
- #
20
- # @param timeout_opts [ContextDev::Models::AIExtractProductParams::TimeoutOpts] Optional request deadline and behavior on timeout. For GET requests, use timeout
21
- #
22
- # @param zdr [Symbol, ContextDev::Models::AIExtractProductParams::Zdr] Set to enabled to bypass shared caches and omit request and response content fro
23
- #
24
- # @param request_options [ContextDev::RequestOptions, Hash{Symbol=>Object}, nil]
25
- #
26
- # @return [ContextDev::Models::AIExtractProductResponse]
27
- #
28
- # @see ContextDev::Models::AIExtractProductParams
29
- def extract_product(params)
30
- parsed, options = ContextDev::AIExtractProductParams.dump_request(params)
31
- @client.request(
32
- method: :post,
33
- path: "brand/ai/product",
34
- body: parsed,
35
- model: ContextDev::Models::AIExtractProductResponse,
36
- options: options
37
- )
38
- end
39
-
40
- # Extract product information from a brand's website. We will analyze the website
41
- # and return a list of products with details such as name, description, image,
42
- # pricing, features, and more.
43
- #
44
- # @overload extract_products(body:, request_options: {})
45
- #
46
- # @param body [ContextDev::Models::AIExtractProductsParams::Body::ByDomain, ContextDev::Models::AIExtractProductsParams::Body::ByDirectURL]
47
- # @param request_options [ContextDev::RequestOptions, Hash{Symbol=>Object}, nil]
48
- #
49
- # @return [ContextDev::Models::AIExtractProductsResponse]
50
- #
51
- # @see ContextDev::Models::AIExtractProductsParams
52
- def extract_products(params)
53
- parsed, options = ContextDev::AIExtractProductsParams.dump_request(params)
54
- @client.request(
55
- method: :post,
56
- path: "brand/ai/products",
57
- body: parsed[:body],
58
- model: ContextDev::Models::AIExtractProductsResponse,
59
- options: options
60
- )
61
- end
62
-
63
- # @api private
64
- #
65
- # @param client [ContextDev::Client]
66
- def initialize(client:)
67
- @client = client
68
- end
69
- end
70
- end
71
- end
@@ -1,253 +0,0 @@
1
- # typed: strong
2
-
3
- module ContextDev
4
- module Models
5
- class AIExtractProductParams < ContextDev::Internal::Type::BaseModel
6
- extend ContextDev::Internal::Type::RequestParameters::Converter
7
- include ContextDev::Internal::Type::RequestParameters
8
-
9
- OrHash =
10
- T.type_alias do
11
- T.any(
12
- ContextDev::AIExtractProductParams,
13
- ContextDev::Internal::AnyHash
14
- )
15
- end
16
-
17
- # The product page URL to extract product data from.
18
- sig { returns(String) }
19
- attr_accessor :url
20
-
21
- # Return a cached result if a prior scrape for the same parameters exists and is
22
- # younger than this many milliseconds. Defaults to 7 days (604800000 ms) when
23
- # omitted. Max is 30 days (2592000000 ms). Set to 0 to always scrape fresh.
24
- sig { returns(T.nilable(Integer)) }
25
- attr_reader :max_age_ms
26
-
27
- sig { params(max_age_ms: Integer).void }
28
- attr_writer :max_age_ms
29
-
30
- # Optional tags for tracking usage. Up to 20 tags, each 1 to 50 characters.
31
- sig { returns(T.nilable(T::Array[String])) }
32
- attr_reader :tags
33
-
34
- sig { params(tags: T::Array[String]).void }
35
- attr_writer :tags
36
-
37
- # Optional request deadline and behavior on timeout. For GET requests, use
38
- # timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
39
- # timeoutOpts object.
40
- sig do
41
- returns(T.nilable(ContextDev::AIExtractProductParams::TimeoutOpts))
42
- end
43
- attr_reader :timeout_opts
44
-
45
- sig do
46
- params(
47
- timeout_opts: ContextDev::AIExtractProductParams::TimeoutOpts::OrHash
48
- ).void
49
- end
50
- attr_writer :timeout_opts
51
-
52
- # Set to enabled to bypass shared caches and omit request and response content
53
- # from retained usage logs. Asset uploads are skipped, so hosted image URLs are
54
- # omitted. Requires zero data retention to be enabled for your organization
55
- # (contact support@context.dev), otherwise the request fails with ZDR_NOT_ENABLED.
56
- # Successful ZDR responses include X-Context-ZDR: true.
57
- sig do
58
- returns(T.nilable(ContextDev::AIExtractProductParams::Zdr::OrSymbol))
59
- end
60
- attr_reader :zdr
61
-
62
- sig do
63
- params(zdr: ContextDev::AIExtractProductParams::Zdr::OrSymbol).void
64
- end
65
- attr_writer :zdr
66
-
67
- sig do
68
- params(
69
- url: String,
70
- max_age_ms: Integer,
71
- tags: T::Array[String],
72
- timeout_opts: ContextDev::AIExtractProductParams::TimeoutOpts::OrHash,
73
- zdr: ContextDev::AIExtractProductParams::Zdr::OrSymbol,
74
- request_options: ContextDev::RequestOptions::OrHash
75
- ).returns(T.attached_class)
76
- end
77
- def self.new(
78
- # The product page URL to extract product data from.
79
- url:,
80
- # Return a cached result if a prior scrape for the same parameters exists and is
81
- # younger than this many milliseconds. Defaults to 7 days (604800000 ms) when
82
- # omitted. Max is 30 days (2592000000 ms). Set to 0 to always scrape fresh.
83
- max_age_ms: nil,
84
- # Optional tags for tracking usage. Up to 20 tags, each 1 to 50 characters.
85
- tags: nil,
86
- # Optional request deadline and behavior on timeout. For GET requests, use
87
- # timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
88
- # timeoutOpts object.
89
- timeout_opts: nil,
90
- # Set to enabled to bypass shared caches and omit request and response content
91
- # from retained usage logs. Asset uploads are skipped, so hosted image URLs are
92
- # omitted. Requires zero data retention to be enabled for your organization
93
- # (contact support@context.dev), otherwise the request fails with ZDR_NOT_ENABLED.
94
- # Successful ZDR responses include X-Context-ZDR: true.
95
- zdr: nil,
96
- request_options: {}
97
- )
98
- end
99
-
100
- sig do
101
- override.returns(
102
- {
103
- url: String,
104
- max_age_ms: Integer,
105
- tags: T::Array[String],
106
- timeout_opts: ContextDev::AIExtractProductParams::TimeoutOpts,
107
- zdr: ContextDev::AIExtractProductParams::Zdr::OrSymbol,
108
- request_options: ContextDev::RequestOptions
109
- }
110
- )
111
- end
112
- def to_hash
113
- end
114
-
115
- class TimeoutOpts < ContextDev::Internal::Type::BaseModel
116
- OrHash =
117
- T.type_alias do
118
- T.any(
119
- ContextDev::AIExtractProductParams::TimeoutOpts,
120
- ContextDev::Internal::AnyHash
121
- )
122
- end
123
-
124
- # Request deadline in milliseconds. Maximum: 300000 (5 minutes).
125
- sig { returns(Integer) }
126
- attr_accessor :milliseconds
127
-
128
- # What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
129
- # credits. "return-partial" returns usable results collected so far; if none are
130
- # available, the request still fails without charging credits. Partial results are
131
- # not cached as complete results.
132
- sig do
133
- returns(
134
- T.nilable(
135
- ContextDev::AIExtractProductParams::TimeoutOpts::Behavior::OrSymbol
136
- )
137
- )
138
- end
139
- attr_reader :behavior
140
-
141
- sig do
142
- params(
143
- behavior:
144
- ContextDev::AIExtractProductParams::TimeoutOpts::Behavior::OrSymbol
145
- ).void
146
- end
147
- attr_writer :behavior
148
-
149
- # Optional request deadline and behavior on timeout. For GET requests, use
150
- # timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
151
- # timeoutOpts object.
152
- sig do
153
- params(
154
- milliseconds: Integer,
155
- behavior:
156
- ContextDev::AIExtractProductParams::TimeoutOpts::Behavior::OrSymbol
157
- ).returns(T.attached_class)
158
- end
159
- def self.new(
160
- # Request deadline in milliseconds. Maximum: 300000 (5 minutes).
161
- milliseconds:,
162
- # What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
163
- # credits. "return-partial" returns usable results collected so far; if none are
164
- # available, the request still fails without charging credits. Partial results are
165
- # not cached as complete results.
166
- behavior: nil
167
- )
168
- end
169
-
170
- sig do
171
- override.returns(
172
- {
173
- milliseconds: Integer,
174
- behavior:
175
- ContextDev::AIExtractProductParams::TimeoutOpts::Behavior::OrSymbol
176
- }
177
- )
178
- end
179
- def to_hash
180
- end
181
-
182
- # What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
183
- # credits. "return-partial" returns usable results collected so far; if none are
184
- # available, the request still fails without charging credits. Partial results are
185
- # not cached as complete results.
186
- module Behavior
187
- extend ContextDev::Internal::Type::Enum
188
-
189
- TaggedSymbol =
190
- T.type_alias do
191
- T.all(
192
- Symbol,
193
- ContextDev::AIExtractProductParams::TimeoutOpts::Behavior
194
- )
195
- end
196
- OrSymbol = T.type_alias { T.any(Symbol, String) }
197
-
198
- FAIL =
199
- T.let(
200
- :fail,
201
- ContextDev::AIExtractProductParams::TimeoutOpts::Behavior::TaggedSymbol
202
- )
203
- RETURN_PARTIAL =
204
- T.let(
205
- :"return-partial",
206
- ContextDev::AIExtractProductParams::TimeoutOpts::Behavior::TaggedSymbol
207
- )
208
-
209
- sig do
210
- override.returns(
211
- T::Array[
212
- ContextDev::AIExtractProductParams::TimeoutOpts::Behavior::TaggedSymbol
213
- ]
214
- )
215
- end
216
- def self.values
217
- end
218
- end
219
- end
220
-
221
- # Set to enabled to bypass shared caches and omit request and response content
222
- # from retained usage logs. Asset uploads are skipped, so hosted image URLs are
223
- # omitted. Requires zero data retention to be enabled for your organization
224
- # (contact support@context.dev), otherwise the request fails with ZDR_NOT_ENABLED.
225
- # Successful ZDR responses include X-Context-ZDR: true.
226
- module Zdr
227
- extend ContextDev::Internal::Type::Enum
228
-
229
- TaggedSymbol =
230
- T.type_alias do
231
- T.all(Symbol, ContextDev::AIExtractProductParams::Zdr)
232
- end
233
- OrSymbol = T.type_alias { T.any(Symbol, String) }
234
-
235
- ENABLED =
236
- T.let(:enabled, ContextDev::AIExtractProductParams::Zdr::TaggedSymbol)
237
- DISABLED =
238
- T.let(
239
- :disabled,
240
- ContextDev::AIExtractProductParams::Zdr::TaggedSymbol
241
- )
242
-
243
- sig do
244
- override.returns(
245
- T::Array[ContextDev::AIExtractProductParams::Zdr::TaggedSymbol]
246
- )
247
- end
248
- def self.values
249
- end
250
- end
251
- end
252
- end
253
- end