context.dev 2.17.1 → 2.19.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 (139) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +33 -0
  3. data/README.md +1 -1
  4. data/lib/context_dev/client.rb +0 -4
  5. data/lib/context_dev/models/industry_retrieve_naics_params.rb +28 -1
  6. data/lib/context_dev/models/industry_retrieve_sic_params.rb +28 -1
  7. data/lib/context_dev/models/monitor_retrieve_run_params.rb +26 -0
  8. data/lib/context_dev/models/monitor_retrieve_run_response.rb +232 -0
  9. data/lib/context_dev/models/monitor_rotate_webhook_secret_params.rb +20 -0
  10. data/lib/context_dev/models/monitor_rotate_webhook_secret_response.rb +765 -0
  11. data/lib/context_dev/models/parse_handle_params.rb +8 -6
  12. data/lib/context_dev/models/person_enrich_params.rb +28 -1
  13. data/lib/context_dev/models/web_answers_params.rb +28 -1
  14. data/lib/context_dev/models/web_extract_competitors_params.rb +28 -1
  15. data/lib/context_dev/models/web_extract_styleguide_params.rb +30 -3
  16. data/lib/context_dev/models/{web_web_scrape_sitemap_params.rb → web_map_urls_params.rb} +22 -20
  17. data/lib/context_dev/models/web_map_urls_response.rb +123 -0
  18. data/lib/context_dev/models/web_scrape_params.rb +906 -0
  19. data/lib/context_dev/models/web_scrape_response.rb +659 -0
  20. data/lib/context_dev/models/web_screenshot_params.rb +25 -9
  21. data/lib/context_dev/models/web_screenshot_response.rb +3 -3
  22. data/lib/context_dev/models/web_search_params.rb +30 -3
  23. data/lib/context_dev/models.rb +8 -20
  24. data/lib/context_dev/resources/brand.rb +0 -36
  25. data/lib/context_dev/resources/industry.rb +6 -2
  26. data/lib/context_dev/resources/monitors.rb +47 -0
  27. data/lib/context_dev/resources/people.rb +3 -1
  28. data/lib/context_dev/resources/web.rb +116 -413
  29. data/lib/context_dev/version.rb +1 -1
  30. data/lib/context_dev.rb +8 -21
  31. data/rbi/context_dev/client.rbi +0 -3
  32. data/rbi/context_dev/models/industry_retrieve_naics_params.rbi +59 -0
  33. data/rbi/context_dev/models/industry_retrieve_sic_params.rbi +57 -0
  34. data/rbi/context_dev/models/monitor_retrieve_run_params.rbi +46 -0
  35. data/rbi/context_dev/models/monitor_retrieve_run_response.rbi +452 -0
  36. data/rbi/context_dev/models/monitor_rotate_webhook_secret_params.rbi +38 -0
  37. data/rbi/context_dev/models/monitor_rotate_webhook_secret_response.rbi +1367 -0
  38. data/rbi/context_dev/models/parse_handle_params.rbi +12 -9
  39. data/rbi/context_dev/models/person_enrich_params.rbi +45 -0
  40. data/rbi/context_dev/models/web_answers_params.rbi +45 -0
  41. data/rbi/context_dev/models/web_extract_competitors_params.rbi +59 -0
  42. data/rbi/context_dev/models/web_extract_styleguide_params.rbi +62 -3
  43. data/rbi/context_dev/models/{web_web_scrape_sitemap_params.rbi → web_map_urls_params.rbi} +35 -54
  44. data/rbi/context_dev/models/web_map_urls_response.rbi +226 -0
  45. data/rbi/context_dev/models/web_scrape_params.rbi +2000 -0
  46. data/rbi/context_dev/models/{web_web_scrape_html_response.rbi → web_scrape_response.rbi} +550 -418
  47. data/rbi/context_dev/models/web_screenshot_params.rbi +38 -12
  48. data/rbi/context_dev/models/web_screenshot_response.rbi +4 -4
  49. data/rbi/context_dev/models/web_search_params.rbi +48 -3
  50. data/rbi/context_dev/models.rbi +9 -21
  51. data/rbi/context_dev/resources/brand.rbi +0 -35
  52. data/rbi/context_dev/resources/industry.rbi +14 -0
  53. data/rbi/context_dev/resources/monitors.rbi +24 -0
  54. data/rbi/context_dev/resources/parse.rbi +4 -4
  55. data/rbi/context_dev/resources/people.rbi +7 -0
  56. data/rbi/context_dev/resources/web.rbi +166 -533
  57. data/sig/context_dev/client.rbs +0 -2
  58. data/sig/context_dev/models/industry_retrieve_naics_params.rbs +21 -1
  59. data/sig/context_dev/models/industry_retrieve_sic_params.rbs +21 -1
  60. data/sig/context_dev/models/monitor_retrieve_run_params.rbs +28 -0
  61. data/sig/context_dev/models/monitor_retrieve_run_response.rbs +182 -0
  62. data/sig/context_dev/models/monitor_rotate_webhook_secret_params.rbs +23 -0
  63. data/sig/context_dev/models/monitor_rotate_webhook_secret_response.rbs +545 -0
  64. data/sig/context_dev/models/person_enrich_params.rbs +21 -1
  65. data/sig/context_dev/models/web_answers_params.rbs +21 -1
  66. data/sig/context_dev/models/web_extract_competitors_params.rbs +21 -1
  67. data/sig/context_dev/models/web_extract_styleguide_params.rbs +21 -1
  68. data/sig/context_dev/models/{web_web_scrape_sitemap_params.rbs → web_map_urls_params.rbs} +22 -22
  69. data/sig/context_dev/models/web_map_urls_response.rbs +125 -0
  70. data/sig/context_dev/models/web_scrape_params.rbs +834 -0
  71. data/sig/context_dev/models/web_scrape_response.rbs +552 -0
  72. data/sig/context_dev/models/web_screenshot_params.rbs +7 -0
  73. data/sig/context_dev/models/web_search_params.rbs +21 -1
  74. data/sig/context_dev/models.rbs +8 -20
  75. data/sig/context_dev/resources/brand.rbs +0 -9
  76. data/sig/context_dev/resources/industry.rbs +2 -0
  77. data/sig/context_dev/resources/monitors.rbs +11 -0
  78. data/sig/context_dev/resources/people.rbs +1 -0
  79. data/sig/context_dev/resources/web.rbs +34 -108
  80. metadata +26 -65
  81. data/lib/context_dev/models/ai_extract_product_params.rb +0 -98
  82. data/lib/context_dev/models/ai_extract_product_response.rb +0 -352
  83. data/lib/context_dev/models/ai_extract_products_params.rb +0 -233
  84. data/lib/context_dev/models/ai_extract_products_response.rb +0 -320
  85. data/lib/context_dev/models/brand_retrieve_simplified_params.rb +0 -120
  86. data/lib/context_dev/models/brand_retrieve_simplified_response.rb +0 -441
  87. data/lib/context_dev/models/web_extract_fonts_params.rb +0 -114
  88. data/lib/context_dev/models/web_extract_fonts_response.rb +0 -291
  89. data/lib/context_dev/models/web_extract_params.rb +0 -392
  90. data/lib/context_dev/models/web_extract_response.rb +0 -287
  91. data/lib/context_dev/models/web_web_scrape_bytes_params.rb +0 -344
  92. data/lib/context_dev/models/web_web_scrape_bytes_response.rb +0 -135
  93. data/lib/context_dev/models/web_web_scrape_html_params.rb +0 -633
  94. data/lib/context_dev/models/web_web_scrape_html_response.rb +0 -588
  95. data/lib/context_dev/models/web_web_scrape_images_params.rb +0 -346
  96. data/lib/context_dev/models/web_web_scrape_images_response.rb +0 -409
  97. data/lib/context_dev/models/web_web_scrape_md_params.rb +0 -668
  98. data/lib/context_dev/models/web_web_scrape_md_response.rb +0 -567
  99. data/lib/context_dev/models/web_web_scrape_sitemap_response.rb +0 -144
  100. data/lib/context_dev/resources/ai.rb +0 -69
  101. data/rbi/context_dev/models/ai_extract_product_params.rbi +0 -199
  102. data/rbi/context_dev/models/ai_extract_product_response.rbi +0 -696
  103. data/rbi/context_dev/models/ai_extract_products_params.rbi +0 -490
  104. data/rbi/context_dev/models/ai_extract_products_response.rbi +0 -623
  105. data/rbi/context_dev/models/brand_retrieve_simplified_params.rbi +0 -256
  106. data/rbi/context_dev/models/brand_retrieve_simplified_response.rbi +0 -1040
  107. data/rbi/context_dev/models/web_extract_fonts_params.rbi +0 -223
  108. data/rbi/context_dev/models/web_extract_fonts_response.rbi +0 -563
  109. data/rbi/context_dev/models/web_extract_params.rbi +0 -736
  110. data/rbi/context_dev/models/web_extract_response.rbi +0 -512
  111. data/rbi/context_dev/models/web_web_scrape_bytes_params.rbi +0 -699
  112. data/rbi/context_dev/models/web_web_scrape_bytes_response.rbi +0 -238
  113. data/rbi/context_dev/models/web_web_scrape_html_params.rbi +0 -1217
  114. data/rbi/context_dev/models/web_web_scrape_images_params.rbi +0 -671
  115. data/rbi/context_dev/models/web_web_scrape_images_response.rbi +0 -910
  116. data/rbi/context_dev/models/web_web_scrape_md_params.rbi +0 -1049
  117. data/rbi/context_dev/models/web_web_scrape_md_response.rbi +0 -1088
  118. data/rbi/context_dev/models/web_web_scrape_sitemap_response.rbi +0 -258
  119. data/rbi/context_dev/resources/ai.rbi +0 -56
  120. data/sig/context_dev/models/ai_extract_product_params.rbs +0 -86
  121. data/sig/context_dev/models/ai_extract_product_response.rbs +0 -273
  122. data/sig/context_dev/models/ai_extract_products_params.rbs +0 -202
  123. data/sig/context_dev/models/ai_extract_products_response.rbs +0 -252
  124. data/sig/context_dev/models/brand_retrieve_simplified_params.rbs +0 -104
  125. data/sig/context_dev/models/brand_retrieve_simplified_response.rbs +0 -413
  126. data/sig/context_dev/models/web_extract_fonts_params.rbs +0 -93
  127. data/sig/context_dev/models/web_extract_fonts_response.rbs +0 -230
  128. data/sig/context_dev/models/web_extract_params.rbs +0 -304
  129. data/sig/context_dev/models/web_extract_response.rbs +0 -239
  130. data/sig/context_dev/models/web_web_scrape_bytes_params.rbs +0 -531
  131. data/sig/context_dev/models/web_web_scrape_bytes_response.rbs +0 -108
  132. data/sig/context_dev/models/web_web_scrape_html_params.rbs +0 -730
  133. data/sig/context_dev/models/web_web_scrape_html_response.rbs +0 -495
  134. data/sig/context_dev/models/web_web_scrape_images_params.rbs +0 -261
  135. data/sig/context_dev/models/web_web_scrape_images_response.rbs +0 -371
  136. data/sig/context_dev/models/web_web_scrape_md_params.rbs +0 -758
  137. data/sig/context_dev/models/web_web_scrape_md_response.rbs +0 -465
  138. data/sig/context_dev/models/web_web_scrape_sitemap_response.rbs +0 -117
  139. data/sig/context_dev/resources/ai.rbs +0 -20
@@ -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,69 +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, 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 request_options [ContextDev::RequestOptions, Hash{Symbol=>Object}, nil]
23
- #
24
- # @return [ContextDev::Models::AIExtractProductResponse]
25
- #
26
- # @see ContextDev::Models::AIExtractProductParams
27
- def extract_product(params)
28
- parsed, options = ContextDev::AIExtractProductParams.dump_request(params)
29
- @client.request(
30
- method: :post,
31
- path: "brand/ai/product",
32
- body: parsed,
33
- model: ContextDev::Models::AIExtractProductResponse,
34
- options: options
35
- )
36
- end
37
-
38
- # Extract product information from a brand's website. We will analyze the website
39
- # and return a list of products with details such as name, description, image,
40
- # pricing, features, and more.
41
- #
42
- # @overload extract_products(body:, request_options: {})
43
- #
44
- # @param body [ContextDev::Models::AIExtractProductsParams::Body::ByDomain, ContextDev::Models::AIExtractProductsParams::Body::ByDirectURL]
45
- # @param request_options [ContextDev::RequestOptions, Hash{Symbol=>Object}, nil]
46
- #
47
- # @return [ContextDev::Models::AIExtractProductsResponse]
48
- #
49
- # @see ContextDev::Models::AIExtractProductsParams
50
- def extract_products(params)
51
- parsed, options = ContextDev::AIExtractProductsParams.dump_request(params)
52
- @client.request(
53
- method: :post,
54
- path: "brand/ai/products",
55
- body: parsed[:body],
56
- model: ContextDev::Models::AIExtractProductsResponse,
57
- options: options
58
- )
59
- end
60
-
61
- # @api private
62
- #
63
- # @param client [ContextDev::Client]
64
- def initialize(client:)
65
- @client = client
66
- end
67
- end
68
- end
69
- end
@@ -1,199 +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
- sig do
53
- params(
54
- url: String,
55
- max_age_ms: Integer,
56
- tags: T::Array[String],
57
- timeout_opts: ContextDev::AIExtractProductParams::TimeoutOpts::OrHash,
58
- request_options: ContextDev::RequestOptions::OrHash
59
- ).returns(T.attached_class)
60
- end
61
- def self.new(
62
- # The product page URL to extract product data from.
63
- url:,
64
- # Return a cached result if a prior scrape for the same parameters exists and is
65
- # younger than this many milliseconds. Defaults to 7 days (604800000 ms) when
66
- # omitted. Max is 30 days (2592000000 ms). Set to 0 to always scrape fresh.
67
- max_age_ms: nil,
68
- # Optional tags for tracking usage. Up to 20 tags, each 1 to 50 characters.
69
- tags: nil,
70
- # Optional request deadline and behavior on timeout. For GET requests, use
71
- # timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
72
- # timeoutOpts object.
73
- timeout_opts: nil,
74
- request_options: {}
75
- )
76
- end
77
-
78
- sig do
79
- override.returns(
80
- {
81
- url: String,
82
- max_age_ms: Integer,
83
- tags: T::Array[String],
84
- timeout_opts: ContextDev::AIExtractProductParams::TimeoutOpts,
85
- request_options: ContextDev::RequestOptions
86
- }
87
- )
88
- end
89
- def to_hash
90
- end
91
-
92
- class TimeoutOpts < ContextDev::Internal::Type::BaseModel
93
- OrHash =
94
- T.type_alias do
95
- T.any(
96
- ContextDev::AIExtractProductParams::TimeoutOpts,
97
- ContextDev::Internal::AnyHash
98
- )
99
- end
100
-
101
- # Request deadline in milliseconds. Maximum: 300000 (5 minutes).
102
- sig { returns(Integer) }
103
- attr_accessor :milliseconds
104
-
105
- # What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
106
- # credits. "return-partial" returns usable results collected so far; if none are
107
- # available, the request still fails without charging credits. Partial results are
108
- # not cached as complete results.
109
- sig do
110
- returns(
111
- T.nilable(
112
- ContextDev::AIExtractProductParams::TimeoutOpts::Behavior::OrSymbol
113
- )
114
- )
115
- end
116
- attr_reader :behavior
117
-
118
- sig do
119
- params(
120
- behavior:
121
- ContextDev::AIExtractProductParams::TimeoutOpts::Behavior::OrSymbol
122
- ).void
123
- end
124
- attr_writer :behavior
125
-
126
- # Optional request deadline and behavior on timeout. For GET requests, use
127
- # timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
128
- # timeoutOpts object.
129
- sig do
130
- params(
131
- milliseconds: Integer,
132
- behavior:
133
- ContextDev::AIExtractProductParams::TimeoutOpts::Behavior::OrSymbol
134
- ).returns(T.attached_class)
135
- end
136
- def self.new(
137
- # Request deadline in milliseconds. Maximum: 300000 (5 minutes).
138
- milliseconds:,
139
- # What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
140
- # credits. "return-partial" returns usable results collected so far; if none are
141
- # available, the request still fails without charging credits. Partial results are
142
- # not cached as complete results.
143
- behavior: nil
144
- )
145
- end
146
-
147
- sig do
148
- override.returns(
149
- {
150
- milliseconds: Integer,
151
- behavior:
152
- ContextDev::AIExtractProductParams::TimeoutOpts::Behavior::OrSymbol
153
- }
154
- )
155
- end
156
- def to_hash
157
- end
158
-
159
- # What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
160
- # credits. "return-partial" returns usable results collected so far; if none are
161
- # available, the request still fails without charging credits. Partial results are
162
- # not cached as complete results.
163
- module Behavior
164
- extend ContextDev::Internal::Type::Enum
165
-
166
- TaggedSymbol =
167
- T.type_alias do
168
- T.all(
169
- Symbol,
170
- ContextDev::AIExtractProductParams::TimeoutOpts::Behavior
171
- )
172
- end
173
- OrSymbol = T.type_alias { T.any(Symbol, String) }
174
-
175
- FAIL =
176
- T.let(
177
- :fail,
178
- ContextDev::AIExtractProductParams::TimeoutOpts::Behavior::TaggedSymbol
179
- )
180
- RETURN_PARTIAL =
181
- T.let(
182
- :"return-partial",
183
- ContextDev::AIExtractProductParams::TimeoutOpts::Behavior::TaggedSymbol
184
- )
185
-
186
- sig do
187
- override.returns(
188
- T::Array[
189
- ContextDev::AIExtractProductParams::TimeoutOpts::Behavior::TaggedSymbol
190
- ]
191
- )
192
- end
193
- def self.values
194
- end
195
- end
196
- end
197
- end
198
- end
199
- end