context.dev 2.16.0 → 2.17.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 (168) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +17 -0
  3. data/README.md +1 -1
  4. data/lib/context_dev/models/ai_extract_product_params.rb +53 -8
  5. data/lib/context_dev/models/ai_extract_product_response.rb +10 -1
  6. data/lib/context_dev/models/ai_extract_products_params.rb +116 -16
  7. data/lib/context_dev/models/ai_extract_products_response.rb +11 -1
  8. data/lib/context_dev/models/brand_retrieve_params.rb +355 -60
  9. data/lib/context_dev/models/brand_retrieve_response.rb +10 -1
  10. data/lib/context_dev/models/brand_retrieve_simplified_params.rb +57 -11
  11. data/lib/context_dev/models/brand_retrieve_simplified_response.rb +10 -1
  12. data/lib/context_dev/models/industry_retrieve_naics_params.rb +53 -8
  13. data/lib/context_dev/models/industry_retrieve_naics_response.rb +10 -1
  14. data/lib/context_dev/models/industry_retrieve_sic_params.rb +53 -8
  15. data/lib/context_dev/models/industry_retrieve_sic_response.rb +10 -1
  16. data/lib/context_dev/models/monitor_create_params.rb +27 -3
  17. data/lib/context_dev/models/monitor_create_response.rb +30 -5
  18. data/lib/context_dev/models/monitor_list_response.rb +30 -5
  19. data/lib/context_dev/models/monitor_retrieve_response.rb +30 -5
  20. data/lib/context_dev/models/monitor_update_params.rb +27 -3
  21. data/lib/context_dev/models/monitor_update_response.rb +30 -5
  22. data/lib/context_dev/models/person_enrich_params.rb +53 -8
  23. data/lib/context_dev/models/person_enrich_response.rb +10 -1
  24. data/lib/context_dev/models/utility_prefetch_params.rb +48 -8
  25. data/lib/context_dev/models/web_answers_params.rb +124 -0
  26. data/lib/context_dev/models/web_answers_response.rb +68 -0
  27. data/lib/context_dev/models/web_extract_competitors_params.rb +53 -8
  28. data/lib/context_dev/models/web_extract_competitors_response.rb +10 -1
  29. data/lib/context_dev/models/web_extract_fonts_params.rb +58 -11
  30. data/lib/context_dev/models/web_extract_fonts_response.rb +32 -1
  31. data/lib/context_dev/models/web_extract_params.rb +53 -8
  32. data/lib/context_dev/models/web_extract_response.rb +10 -1
  33. data/lib/context_dev/models/web_extract_styleguide_params.rb +58 -11
  34. data/lib/context_dev/models/web_extract_styleguide_response.rb +32 -1
  35. data/lib/context_dev/models/web_screenshot_params.rb +58 -10
  36. data/lib/context_dev/models/web_screenshot_response.rb +32 -1
  37. data/lib/context_dev/models/web_search_params.rb +112 -16
  38. data/lib/context_dev/models/web_search_response.rb +43 -2
  39. data/lib/context_dev/models/web_web_crawl_md_params.rb +53 -8
  40. data/lib/context_dev/models/web_web_crawl_md_response.rb +11 -1
  41. data/lib/context_dev/models/web_web_scrape_bytes_params.rb +344 -0
  42. data/lib/context_dev/models/web_web_scrape_bytes_response.rb +135 -0
  43. data/lib/context_dev/models/web_web_scrape_html_params.rb +57 -10
  44. data/lib/context_dev/models/web_web_scrape_html_response.rb +32 -1
  45. data/lib/context_dev/models/web_web_scrape_images_params.rb +57 -10
  46. data/lib/context_dev/models/web_web_scrape_images_response.rb +42 -1
  47. data/lib/context_dev/models/web_web_scrape_md_params.rb +57 -10
  48. data/lib/context_dev/models/web_web_scrape_md_response.rb +32 -1
  49. data/lib/context_dev/models/web_web_scrape_sitemap_params.rb +53 -8
  50. data/lib/context_dev/models/web_web_scrape_sitemap_response.rb +11 -1
  51. data/lib/context_dev/models.rb +4 -0
  52. data/lib/context_dev/resources/ai.rb +2 -2
  53. data/lib/context_dev/resources/brand.rb +3 -3
  54. data/lib/context_dev/resources/industry.rb +6 -6
  55. data/lib/context_dev/resources/people.rb +2 -2
  56. data/lib/context_dev/resources/utility.rb +2 -2
  57. data/lib/context_dev/resources/web.rb +119 -33
  58. data/lib/context_dev/version.rb +1 -1
  59. data/lib/context_dev.rb +4 -0
  60. data/rbi/context_dev/models/ai_extract_product_params.rbi +125 -13
  61. data/rbi/context_dev/models/ai_extract_product_response.rbi +13 -0
  62. data/rbi/context_dev/models/ai_extract_products_params.rbi +264 -26
  63. data/rbi/context_dev/models/ai_extract_products_response.rbi +15 -0
  64. data/rbi/context_dev/models/brand_retrieve_params.rbi +816 -102
  65. data/rbi/context_dev/models/brand_retrieve_response.rbi +13 -0
  66. data/rbi/context_dev/models/brand_retrieve_simplified_params.rbi +136 -19
  67. data/rbi/context_dev/models/brand_retrieve_simplified_response.rbi +13 -0
  68. data/rbi/context_dev/models/industry_retrieve_naics_params.rbi +127 -13
  69. data/rbi/context_dev/models/industry_retrieve_naics_response.rbi +13 -0
  70. data/rbi/context_dev/models/industry_retrieve_sic_params.rbi +127 -13
  71. data/rbi/context_dev/models/industry_retrieve_sic_response.rbi +13 -0
  72. data/rbi/context_dev/models/monitor_create_params.rbi +40 -2
  73. data/rbi/context_dev/models/monitor_create_response.rbi +44 -4
  74. data/rbi/context_dev/models/monitor_list_response.rbi +44 -4
  75. data/rbi/context_dev/models/monitor_retrieve_response.rbi +44 -4
  76. data/rbi/context_dev/models/monitor_update_params.rbi +40 -2
  77. data/rbi/context_dev/models/monitor_update_response.rbi +44 -4
  78. data/rbi/context_dev/models/person_enrich_params.rbi +123 -13
  79. data/rbi/context_dev/models/person_enrich_response.rbi +16 -3
  80. data/rbi/context_dev/models/utility_prefetch_params.rbi +112 -13
  81. data/rbi/context_dev/models/web_answers_params.rbi +234 -0
  82. data/rbi/context_dev/models/web_answers_response.rbi +122 -0
  83. data/rbi/context_dev/models/web_extract_competitors_params.rbi +127 -13
  84. data/rbi/context_dev/models/web_extract_competitors_response.rbi +16 -3
  85. data/rbi/context_dev/models/web_extract_fonts_params.rbi +132 -19
  86. data/rbi/context_dev/models/web_extract_fonts_response.rbi +71 -0
  87. data/rbi/context_dev/models/web_extract_params.rbi +120 -13
  88. data/rbi/context_dev/models/web_extract_response.rbi +16 -3
  89. data/rbi/context_dev/models/web_extract_styleguide_params.rbi +136 -19
  90. data/rbi/context_dev/models/web_extract_styleguide_response.rbi +71 -0
  91. data/rbi/context_dev/models/web_screenshot_params.rbi +132 -17
  92. data/rbi/context_dev/models/web_screenshot_response.rbi +71 -0
  93. data/rbi/context_dev/models/web_search_params.rbi +253 -26
  94. data/rbi/context_dev/models/web_search_response.rbi +92 -6
  95. data/rbi/context_dev/models/web_web_crawl_md_params.rbi +123 -13
  96. data/rbi/context_dev/models/web_web_crawl_md_response.rbi +19 -3
  97. data/rbi/context_dev/models/web_web_scrape_bytes_params.rbi +699 -0
  98. data/rbi/context_dev/models/web_web_scrape_bytes_response.rbi +238 -0
  99. data/rbi/context_dev/models/web_web_scrape_html_params.rbi +132 -17
  100. data/rbi/context_dev/models/web_web_scrape_html_response.rbi +61 -0
  101. data/rbi/context_dev/models/web_web_scrape_images_params.rbi +134 -17
  102. data/rbi/context_dev/models/web_web_scrape_images_response.rbi +89 -3
  103. data/rbi/context_dev/models/web_web_scrape_md_params.rbi +130 -17
  104. data/rbi/context_dev/models/web_web_scrape_md_response.rbi +61 -0
  105. data/rbi/context_dev/models/web_web_scrape_sitemap_params.rbi +127 -13
  106. data/rbi/context_dev/models/web_web_scrape_sitemap_response.rbi +18 -3
  107. data/rbi/context_dev/models.rbi +4 -0
  108. data/rbi/context_dev/resources/ai.rbi +5 -5
  109. data/rbi/context_dev/resources/brand.rbi +9 -8
  110. data/rbi/context_dev/resources/industry.rbi +12 -10
  111. data/rbi/context_dev/resources/people.rbi +5 -5
  112. data/rbi/context_dev/resources/utility.rbi +5 -5
  113. data/rbi/context_dev/resources/web.rbi +170 -72
  114. data/sig/context_dev/models/ai_extract_product_params.rbs +44 -5
  115. data/sig/context_dev/models/ai_extract_product_response.rbs +7 -0
  116. data/sig/context_dev/models/ai_extract_products_params.rbs +88 -10
  117. data/sig/context_dev/models/ai_extract_products_response.rbs +7 -0
  118. data/sig/context_dev/models/brand_retrieve_params.rbs +264 -30
  119. data/sig/context_dev/models/brand_retrieve_response.rbs +7 -0
  120. data/sig/context_dev/models/brand_retrieve_simplified_params.rbs +44 -5
  121. data/sig/context_dev/models/brand_retrieve_simplified_response.rbs +7 -0
  122. data/sig/context_dev/models/industry_retrieve_naics_params.rbs +44 -5
  123. data/sig/context_dev/models/industry_retrieve_naics_response.rbs +7 -0
  124. data/sig/context_dev/models/industry_retrieve_sic_params.rbs +44 -5
  125. data/sig/context_dev/models/industry_retrieve_sic_response.rbs +7 -0
  126. data/sig/context_dev/models/monitor_create_params.rbs +14 -0
  127. data/sig/context_dev/models/monitor_create_response.rbs +14 -0
  128. data/sig/context_dev/models/monitor_list_response.rbs +14 -0
  129. data/sig/context_dev/models/monitor_retrieve_response.rbs +14 -0
  130. data/sig/context_dev/models/monitor_update_params.rbs +14 -0
  131. data/sig/context_dev/models/monitor_update_response.rbs +14 -0
  132. data/sig/context_dev/models/person_enrich_params.rbs +44 -5
  133. data/sig/context_dev/models/person_enrich_response.rbs +10 -3
  134. data/sig/context_dev/models/utility_prefetch_params.rbs +43 -5
  135. data/sig/context_dev/models/web_answers_params.rbs +106 -0
  136. data/sig/context_dev/models/web_answers_response.rbs +60 -0
  137. data/sig/context_dev/models/web_extract_competitors_params.rbs +44 -5
  138. data/sig/context_dev/models/web_extract_competitors_response.rbs +10 -3
  139. data/sig/context_dev/models/web_extract_fonts_params.rbs +44 -5
  140. data/sig/context_dev/models/web_extract_fonts_response.rbs +20 -0
  141. data/sig/context_dev/models/web_extract_params.rbs +44 -5
  142. data/sig/context_dev/models/web_extract_response.rbs +10 -3
  143. data/sig/context_dev/models/web_extract_styleguide_params.rbs +44 -5
  144. data/sig/context_dev/models/web_extract_styleguide_response.rbs +20 -0
  145. data/sig/context_dev/models/web_screenshot_params.rbs +44 -5
  146. data/sig/context_dev/models/web_screenshot_response.rbs +20 -0
  147. data/sig/context_dev/models/web_search_params.rbs +88 -10
  148. data/sig/context_dev/models/web_search_response.rbs +33 -6
  149. data/sig/context_dev/models/web_web_crawl_md_params.rbs +44 -5
  150. data/sig/context_dev/models/web_web_crawl_md_response.rbs +10 -3
  151. data/sig/context_dev/models/web_web_scrape_bytes_params.rbs +531 -0
  152. data/sig/context_dev/models/web_web_scrape_bytes_response.rbs +108 -0
  153. data/sig/context_dev/models/web_web_scrape_html_params.rbs +44 -5
  154. data/sig/context_dev/models/web_web_scrape_html_response.rbs +16 -0
  155. data/sig/context_dev/models/web_web_scrape_images_params.rbs +44 -5
  156. data/sig/context_dev/models/web_web_scrape_images_response.rbs +30 -3
  157. data/sig/context_dev/models/web_web_scrape_md_params.rbs +44 -5
  158. data/sig/context_dev/models/web_web_scrape_md_response.rbs +16 -0
  159. data/sig/context_dev/models/web_web_scrape_sitemap_params.rbs +44 -5
  160. data/sig/context_dev/models/web_web_scrape_sitemap_response.rbs +10 -3
  161. data/sig/context_dev/models.rbs +4 -0
  162. data/sig/context_dev/resources/ai.rbs +1 -1
  163. data/sig/context_dev/resources/brand.rbs +1 -1
  164. data/sig/context_dev/resources/industry.rbs +2 -2
  165. data/sig/context_dev/resources/people.rbs +1 -1
  166. data/sig/context_dev/resources/utility.rbs +1 -1
  167. data/sig/context_dev/resources/web.rbs +30 -11
  168. metadata +14 -2
@@ -64,14 +64,18 @@ module ContextDev
64
64
  sig { params(tags: T::Array[String]).void }
65
65
  attr_writer :tags
66
66
 
67
- # Optional timeout in milliseconds for the request. If the request takes longer
68
- # than this value, it will be aborted with a 408 status code. Maximum allowed
69
- # value is 300000ms (5 minutes).
70
- sig { returns(T.nilable(Integer)) }
71
- attr_reader :timeout_ms
67
+ # Optional request deadline and behavior on timeout. For GET requests, use
68
+ # timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
69
+ # timeoutOpts object.
70
+ sig { returns(T.nilable(ContextDev::PersonEnrichParams::TimeoutOpts)) }
71
+ attr_reader :timeout_opts
72
72
 
73
- sig { params(timeout_ms: Integer).void }
74
- attr_writer :timeout_ms
73
+ sig do
74
+ params(
75
+ timeout_opts: ContextDev::PersonEnrichParams::TimeoutOpts::OrHash
76
+ ).void
77
+ end
78
+ attr_writer :timeout_opts
75
79
 
76
80
  sig do
77
81
  params(
@@ -83,7 +87,7 @@ module ContextDev
83
87
  name: ContextDev::PersonEnrichParams::Name::OrHash,
84
88
  social_urls: T::Array[String],
85
89
  tags: T::Array[String],
86
- timeout_ms: Integer,
90
+ timeout_opts: ContextDev::PersonEnrichParams::TimeoutOpts::OrHash,
87
91
  request_options: ContextDev::RequestOptions::OrHash
88
92
  ).returns(T.attached_class)
89
93
  end
@@ -96,10 +100,10 @@ module ContextDev
96
100
  social_urls: nil,
97
101
  # Optional tags for tracking usage. Up to 20 tags, each 1 to 50 characters.
98
102
  tags: nil,
99
- # Optional timeout in milliseconds for the request. If the request takes longer
100
- # than this value, it will be aborted with a 408 status code. Maximum allowed
101
- # value is 300000ms (5 minutes).
102
- timeout_ms: nil,
103
+ # Optional request deadline and behavior on timeout. For GET requests, use
104
+ # timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
105
+ # timeoutOpts object.
106
+ timeout_opts: nil,
103
107
  request_options: {}
104
108
  )
105
109
  end
@@ -114,7 +118,7 @@ module ContextDev
114
118
  name: ContextDev::PersonEnrichParams::Name,
115
119
  social_urls: T::Array[String],
116
120
  tags: T::Array[String],
117
- timeout_ms: Integer,
121
+ timeout_opts: ContextDev::PersonEnrichParams::TimeoutOpts,
118
122
  request_options: ContextDev::RequestOptions
119
123
  }
120
124
  )
@@ -327,6 +331,112 @@ module ContextDev
327
331
  def to_hash
328
332
  end
329
333
  end
334
+
335
+ class TimeoutOpts < ContextDev::Internal::Type::BaseModel
336
+ OrHash =
337
+ T.type_alias do
338
+ T.any(
339
+ ContextDev::PersonEnrichParams::TimeoutOpts,
340
+ ContextDev::Internal::AnyHash
341
+ )
342
+ end
343
+
344
+ # Request deadline in milliseconds. Maximum: 300000 (5 minutes).
345
+ sig { returns(Integer) }
346
+ attr_accessor :milliseconds
347
+
348
+ # What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
349
+ # credits. "return-partial" returns usable results collected so far; if none are
350
+ # available, the request still fails without charging credits. Partial results are
351
+ # not cached as complete results.
352
+ sig do
353
+ returns(
354
+ T.nilable(
355
+ ContextDev::PersonEnrichParams::TimeoutOpts::Behavior::OrSymbol
356
+ )
357
+ )
358
+ end
359
+ attr_reader :behavior
360
+
361
+ sig do
362
+ params(
363
+ behavior:
364
+ ContextDev::PersonEnrichParams::TimeoutOpts::Behavior::OrSymbol
365
+ ).void
366
+ end
367
+ attr_writer :behavior
368
+
369
+ # Optional request deadline and behavior on timeout. For GET requests, use
370
+ # timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
371
+ # timeoutOpts object.
372
+ sig do
373
+ params(
374
+ milliseconds: Integer,
375
+ behavior:
376
+ ContextDev::PersonEnrichParams::TimeoutOpts::Behavior::OrSymbol
377
+ ).returns(T.attached_class)
378
+ end
379
+ def self.new(
380
+ # Request deadline in milliseconds. Maximum: 300000 (5 minutes).
381
+ milliseconds:,
382
+ # What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
383
+ # credits. "return-partial" returns usable results collected so far; if none are
384
+ # available, the request still fails without charging credits. Partial results are
385
+ # not cached as complete results.
386
+ behavior: nil
387
+ )
388
+ end
389
+
390
+ sig do
391
+ override.returns(
392
+ {
393
+ milliseconds: Integer,
394
+ behavior:
395
+ ContextDev::PersonEnrichParams::TimeoutOpts::Behavior::OrSymbol
396
+ }
397
+ )
398
+ end
399
+ def to_hash
400
+ end
401
+
402
+ # What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
403
+ # credits. "return-partial" returns usable results collected so far; if none are
404
+ # available, the request still fails without charging credits. Partial results are
405
+ # not cached as complete results.
406
+ module Behavior
407
+ extend ContextDev::Internal::Type::Enum
408
+
409
+ TaggedSymbol =
410
+ T.type_alias do
411
+ T.all(
412
+ Symbol,
413
+ ContextDev::PersonEnrichParams::TimeoutOpts::Behavior
414
+ )
415
+ end
416
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
417
+
418
+ FAIL =
419
+ T.let(
420
+ :fail,
421
+ ContextDev::PersonEnrichParams::TimeoutOpts::Behavior::TaggedSymbol
422
+ )
423
+ RETURN_PARTIAL =
424
+ T.let(
425
+ :"return-partial",
426
+ ContextDev::PersonEnrichParams::TimeoutOpts::Behavior::TaggedSymbol
427
+ )
428
+
429
+ sig do
430
+ override.returns(
431
+ T::Array[
432
+ ContextDev::PersonEnrichParams::TimeoutOpts::Behavior::TaggedSymbol
433
+ ]
434
+ )
435
+ end
436
+ def self.values
437
+ end
438
+ end
439
+ end
330
440
  end
331
441
  end
332
442
  end
@@ -36,6 +36,14 @@ module ContextDev
36
36
  end
37
37
  attr_writer :key_metadata
38
38
 
39
+ # True when the timeout ended processing and this response contains the usable
40
+ # data completed so far. Unfinished fields are omitted.
41
+ sig { returns(T.nilable(T::Boolean)) }
42
+ attr_reader :partial
43
+
44
+ sig { params(partial: T::Boolean).void }
45
+ attr_writer :partial
46
+
39
47
  sig do
40
48
  params(
41
49
  match:
@@ -45,7 +53,8 @@ module ContextDev
45
53
  ),
46
54
  request_id: String,
47
55
  key_metadata:
48
- ContextDev::Models::PersonEnrichResponse::KeyMetadata::OrHash
56
+ ContextDev::Models::PersonEnrichResponse::KeyMetadata::OrHash,
57
+ partial: T::Boolean
49
58
  ).returns(T.attached_class)
50
59
  end
51
60
  def self.new(
@@ -55,7 +64,10 @@ module ContextDev
55
64
  # it when contacting support about a failed request.
56
65
  request_id:,
57
66
  # Credit usage, included whenever a valid API key is provided.
58
- key_metadata: nil
67
+ key_metadata: nil,
68
+ # True when the timeout ended processing and this response contains the usable
69
+ # data completed so far. Unfinished fields are omitted.
70
+ partial: nil
59
71
  )
60
72
  end
61
73
 
@@ -64,7 +76,8 @@ module ContextDev
64
76
  {
65
77
  match: ContextDev::Models::PersonEnrichResponse::Match::Variants,
66
78
  request_id: String,
67
- key_metadata: ContextDev::Models::PersonEnrichResponse::KeyMetadata
79
+ key_metadata: ContextDev::Models::PersonEnrichResponse::KeyMetadata,
80
+ partial: T::Boolean
68
81
  }
69
82
  )
70
83
  end
@@ -37,14 +37,18 @@ module ContextDev
37
37
  sig { params(tags: T::Array[String]).void }
38
38
  attr_writer :tags
39
39
 
40
- # Optional timeout in milliseconds for the request. If the request takes longer
41
- # than this value, it will be aborted with a 408 status code. Maximum allowed
42
- # value is 300000ms (5 minutes).
43
- sig { returns(T.nilable(Integer)) }
44
- attr_reader :timeout_ms
40
+ # Optional request deadline and behavior on timeout. For GET requests, use
41
+ # timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
42
+ # timeoutOpts object.
43
+ sig { returns(T.nilable(ContextDev::UtilityPrefetchParams::TimeoutOpts)) }
44
+ attr_reader :timeout_opts
45
45
 
46
- sig { params(timeout_ms: Integer).void }
47
- attr_writer :timeout_ms
46
+ sig do
47
+ params(
48
+ timeout_opts: ContextDev::UtilityPrefetchParams::TimeoutOpts::OrHash
49
+ ).void
50
+ end
51
+ attr_writer :timeout_opts
48
52
 
49
53
  sig do
50
54
  params(
@@ -55,7 +59,7 @@ module ContextDev
55
59
  ),
56
60
  type: ContextDev::UtilityPrefetchParams::Type::OrSymbol,
57
61
  tags: T::Array[String],
58
- timeout_ms: Integer,
62
+ timeout_opts: ContextDev::UtilityPrefetchParams::TimeoutOpts::OrHash,
59
63
  request_options: ContextDev::RequestOptions::OrHash
60
64
  ).returns(T.attached_class)
61
65
  end
@@ -67,10 +71,10 @@ module ContextDev
67
71
  type:,
68
72
  # Optional tags for tracking usage. Up to 20 tags, each 1 to 50 characters.
69
73
  tags: nil,
70
- # Optional timeout in milliseconds for the request. If the request takes longer
71
- # than this value, it will be aborted with a 408 status code. Maximum allowed
72
- # value is 300000ms (5 minutes).
73
- timeout_ms: nil,
74
+ # Optional request deadline and behavior on timeout. For GET requests, use
75
+ # timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
76
+ # timeoutOpts object.
77
+ timeout_opts: nil,
74
78
  request_options: {}
75
79
  )
76
80
  end
@@ -85,7 +89,7 @@ module ContextDev
85
89
  ),
86
90
  type: ContextDev::UtilityPrefetchParams::Type::OrSymbol,
87
91
  tags: T::Array[String],
88
- timeout_ms: Integer,
92
+ timeout_opts: ContextDev::UtilityPrefetchParams::TimeoutOpts,
89
93
  request_options: ContextDev::RequestOptions
90
94
  }
91
95
  )
@@ -197,6 +201,101 @@ module ContextDev
197
201
  def self.values
198
202
  end
199
203
  end
204
+
205
+ class TimeoutOpts < ContextDev::Internal::Type::BaseModel
206
+ OrHash =
207
+ T.type_alias do
208
+ T.any(
209
+ ContextDev::UtilityPrefetchParams::TimeoutOpts,
210
+ ContextDev::Internal::AnyHash
211
+ )
212
+ end
213
+
214
+ # Request deadline in milliseconds. Maximum: 300000 (5 minutes).
215
+ sig { returns(Integer) }
216
+ attr_accessor :milliseconds
217
+
218
+ # What to do at the deadline. This endpoint supports "fail": return 408
219
+ # REQUEST_TIMEOUT without charging credits.
220
+ sig do
221
+ returns(
222
+ T.nilable(
223
+ ContextDev::UtilityPrefetchParams::TimeoutOpts::Behavior::OrSymbol
224
+ )
225
+ )
226
+ end
227
+ attr_reader :behavior
228
+
229
+ sig do
230
+ params(
231
+ behavior:
232
+ ContextDev::UtilityPrefetchParams::TimeoutOpts::Behavior::OrSymbol
233
+ ).void
234
+ end
235
+ attr_writer :behavior
236
+
237
+ # Optional request deadline and behavior on timeout. For GET requests, use
238
+ # timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
239
+ # timeoutOpts object.
240
+ sig do
241
+ params(
242
+ milliseconds: Integer,
243
+ behavior:
244
+ ContextDev::UtilityPrefetchParams::TimeoutOpts::Behavior::OrSymbol
245
+ ).returns(T.attached_class)
246
+ end
247
+ def self.new(
248
+ # Request deadline in milliseconds. Maximum: 300000 (5 minutes).
249
+ milliseconds:,
250
+ # What to do at the deadline. This endpoint supports "fail": return 408
251
+ # REQUEST_TIMEOUT without charging credits.
252
+ behavior: nil
253
+ )
254
+ end
255
+
256
+ sig do
257
+ override.returns(
258
+ {
259
+ milliseconds: Integer,
260
+ behavior:
261
+ ContextDev::UtilityPrefetchParams::TimeoutOpts::Behavior::OrSymbol
262
+ }
263
+ )
264
+ end
265
+ def to_hash
266
+ end
267
+
268
+ # What to do at the deadline. This endpoint supports "fail": return 408
269
+ # REQUEST_TIMEOUT without charging credits.
270
+ module Behavior
271
+ extend ContextDev::Internal::Type::Enum
272
+
273
+ TaggedSymbol =
274
+ T.type_alias do
275
+ T.all(
276
+ Symbol,
277
+ ContextDev::UtilityPrefetchParams::TimeoutOpts::Behavior
278
+ )
279
+ end
280
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
281
+
282
+ FAIL =
283
+ T.let(
284
+ :fail,
285
+ ContextDev::UtilityPrefetchParams::TimeoutOpts::Behavior::TaggedSymbol
286
+ )
287
+
288
+ sig do
289
+ override.returns(
290
+ T::Array[
291
+ ContextDev::UtilityPrefetchParams::TimeoutOpts::Behavior::TaggedSymbol
292
+ ]
293
+ )
294
+ end
295
+ def self.values
296
+ end
297
+ end
298
+ end
200
299
  end
201
300
  end
202
301
  end
@@ -0,0 +1,234 @@
1
+ # typed: strong
2
+
3
+ module ContextDev
4
+ module Models
5
+ class WebAnswersParams < 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(ContextDev::WebAnswersParams, ContextDev::Internal::AnyHash)
12
+ end
13
+
14
+ # What to research and answer, in plain language. Naming a domain in the task (for
15
+ # example "pricing on context.dev") makes the agent read that site before it
16
+ # searches.
17
+ sig { returns(String) }
18
+ attr_accessor :task
19
+
20
+ # An example object with placeholder values (for example {"pricing_page_url": "",
21
+ # "plans": [{"name": "", "price": 0}]}). Object keys and value types are
22
+ # preserved; unknown values may be null. Empty arrays accept any JSON items.
23
+ # Defaults to {"result": ""}. Maximum 8 levels, 500 values, and 16000 characters.
24
+ sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
25
+ attr_reader :json_format
26
+
27
+ sig { params(json_format: T::Hash[Symbol, T.anything]).void }
28
+ attr_writer :json_format
29
+
30
+ # Research level: fast uses a smaller model and research budget for 10 credits;
31
+ # ultra uses deeper reasoning and research for 100 credits. Defaults to ultra.
32
+ # Only successful requests consume credits.
33
+ sig { returns(T.nilable(ContextDev::WebAnswersParams::Mode::OrSymbol)) }
34
+ attr_reader :mode
35
+
36
+ sig { params(mode: ContextDev::WebAnswersParams::Mode::OrSymbol).void }
37
+ attr_writer :mode
38
+
39
+ # Optional tags for tracking usage. Up to 20 tags, each 1 to 50 characters.
40
+ sig { returns(T.nilable(T::Array[String])) }
41
+ attr_reader :tags
42
+
43
+ sig { params(tags: T::Array[String]).void }
44
+ attr_writer :tags
45
+
46
+ # Optional request deadline and behavior on timeout. For GET requests, use
47
+ # timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
48
+ # timeoutOpts object.
49
+ sig { returns(T.nilable(ContextDev::WebAnswersParams::TimeoutOpts)) }
50
+ attr_reader :timeout_opts
51
+
52
+ sig do
53
+ params(
54
+ timeout_opts: ContextDev::WebAnswersParams::TimeoutOpts::OrHash
55
+ ).void
56
+ end
57
+ attr_writer :timeout_opts
58
+
59
+ sig do
60
+ params(
61
+ task: String,
62
+ json_format: T::Hash[Symbol, T.anything],
63
+ mode: ContextDev::WebAnswersParams::Mode::OrSymbol,
64
+ tags: T::Array[String],
65
+ timeout_opts: ContextDev::WebAnswersParams::TimeoutOpts::OrHash,
66
+ request_options: ContextDev::RequestOptions::OrHash
67
+ ).returns(T.attached_class)
68
+ end
69
+ def self.new(
70
+ # What to research and answer, in plain language. Naming a domain in the task (for
71
+ # example "pricing on context.dev") makes the agent read that site before it
72
+ # searches.
73
+ task:,
74
+ # An example object with placeholder values (for example {"pricing_page_url": "",
75
+ # "plans": [{"name": "", "price": 0}]}). Object keys and value types are
76
+ # preserved; unknown values may be null. Empty arrays accept any JSON items.
77
+ # Defaults to {"result": ""}. Maximum 8 levels, 500 values, and 16000 characters.
78
+ json_format: nil,
79
+ # Research level: fast uses a smaller model and research budget for 10 credits;
80
+ # ultra uses deeper reasoning and research for 100 credits. Defaults to ultra.
81
+ # Only successful requests consume credits.
82
+ mode: nil,
83
+ # Optional tags for tracking usage. Up to 20 tags, each 1 to 50 characters.
84
+ tags: nil,
85
+ # Optional request deadline and behavior on timeout. For GET requests, use
86
+ # timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
87
+ # timeoutOpts object.
88
+ timeout_opts: nil,
89
+ request_options: {}
90
+ )
91
+ end
92
+
93
+ sig do
94
+ override.returns(
95
+ {
96
+ task: String,
97
+ json_format: T::Hash[Symbol, T.anything],
98
+ mode: ContextDev::WebAnswersParams::Mode::OrSymbol,
99
+ tags: T::Array[String],
100
+ timeout_opts: ContextDev::WebAnswersParams::TimeoutOpts,
101
+ request_options: ContextDev::RequestOptions
102
+ }
103
+ )
104
+ end
105
+ def to_hash
106
+ end
107
+
108
+ # Research level: fast uses a smaller model and research budget for 10 credits;
109
+ # ultra uses deeper reasoning and research for 100 credits. Defaults to ultra.
110
+ # Only successful requests consume credits.
111
+ module Mode
112
+ extend ContextDev::Internal::Type::Enum
113
+
114
+ TaggedSymbol =
115
+ T.type_alias { T.all(Symbol, ContextDev::WebAnswersParams::Mode) }
116
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
117
+
118
+ FAST = T.let(:fast, ContextDev::WebAnswersParams::Mode::TaggedSymbol)
119
+ ULTRA = T.let(:ultra, ContextDev::WebAnswersParams::Mode::TaggedSymbol)
120
+
121
+ sig do
122
+ override.returns(
123
+ T::Array[ContextDev::WebAnswersParams::Mode::TaggedSymbol]
124
+ )
125
+ end
126
+ def self.values
127
+ end
128
+ end
129
+
130
+ class TimeoutOpts < ContextDev::Internal::Type::BaseModel
131
+ OrHash =
132
+ T.type_alias do
133
+ T.any(
134
+ ContextDev::WebAnswersParams::TimeoutOpts,
135
+ ContextDev::Internal::AnyHash
136
+ )
137
+ end
138
+
139
+ # Request deadline in milliseconds. Maximum: 300000 (5 minutes).
140
+ sig { returns(Integer) }
141
+ attr_accessor :milliseconds
142
+
143
+ # What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
144
+ # credits. "return-partial" returns usable results collected so far; if none are
145
+ # available, the request still fails without charging credits. Partial results are
146
+ # not cached as complete results.
147
+ sig do
148
+ returns(
149
+ T.nilable(
150
+ ContextDev::WebAnswersParams::TimeoutOpts::Behavior::OrSymbol
151
+ )
152
+ )
153
+ end
154
+ attr_reader :behavior
155
+
156
+ sig do
157
+ params(
158
+ behavior:
159
+ ContextDev::WebAnswersParams::TimeoutOpts::Behavior::OrSymbol
160
+ ).void
161
+ end
162
+ attr_writer :behavior
163
+
164
+ # Optional request deadline and behavior on timeout. For GET requests, use
165
+ # timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
166
+ # timeoutOpts object.
167
+ sig do
168
+ params(
169
+ milliseconds: Integer,
170
+ behavior:
171
+ ContextDev::WebAnswersParams::TimeoutOpts::Behavior::OrSymbol
172
+ ).returns(T.attached_class)
173
+ end
174
+ def self.new(
175
+ # Request deadline in milliseconds. Maximum: 300000 (5 minutes).
176
+ milliseconds:,
177
+ # What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
178
+ # credits. "return-partial" returns usable results collected so far; if none are
179
+ # available, the request still fails without charging credits. Partial results are
180
+ # not cached as complete results.
181
+ behavior: nil
182
+ )
183
+ end
184
+
185
+ sig do
186
+ override.returns(
187
+ {
188
+ milliseconds: Integer,
189
+ behavior:
190
+ ContextDev::WebAnswersParams::TimeoutOpts::Behavior::OrSymbol
191
+ }
192
+ )
193
+ end
194
+ def to_hash
195
+ end
196
+
197
+ # What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
198
+ # credits. "return-partial" returns usable results collected so far; if none are
199
+ # available, the request still fails without charging credits. Partial results are
200
+ # not cached as complete results.
201
+ module Behavior
202
+ extend ContextDev::Internal::Type::Enum
203
+
204
+ TaggedSymbol =
205
+ T.type_alias do
206
+ T.all(Symbol, ContextDev::WebAnswersParams::TimeoutOpts::Behavior)
207
+ end
208
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
209
+
210
+ FAIL =
211
+ T.let(
212
+ :fail,
213
+ ContextDev::WebAnswersParams::TimeoutOpts::Behavior::TaggedSymbol
214
+ )
215
+ RETURN_PARTIAL =
216
+ T.let(
217
+ :"return-partial",
218
+ ContextDev::WebAnswersParams::TimeoutOpts::Behavior::TaggedSymbol
219
+ )
220
+
221
+ sig do
222
+ override.returns(
223
+ T::Array[
224
+ ContextDev::WebAnswersParams::TimeoutOpts::Behavior::TaggedSymbol
225
+ ]
226
+ )
227
+ end
228
+ def self.values
229
+ end
230
+ end
231
+ end
232
+ end
233
+ end
234
+ end