context.dev 1.27.0 → 1.28.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8f2f6c8c373d61ab07f5969d5f7f9bb52539093279b41b09a5e7bbefc6d4bd9e
4
- data.tar.gz: d4afbf2bb5144a50a0b9930321c3ab8b3d193fd1a01da993ae2285a226a32597
3
+ metadata.gz: d3053b0240426586c72a3ff1876ef8965d555cc938b5cf82bc69dc8d728b3c13
4
+ data.tar.gz: 3cbe46d917bc4abca8abe5f1af719b66de6eb2c78b912f5846ed769412975579
5
5
  SHA512:
6
- metadata.gz: 6e38d8989d26cecb219a1dcbb39d29c4f7bc92d9dda81de355959267ceeaa1c1587ea778163a1ce5267afcff70d36ac666b6b442226ba359ca0c82465b8bb05a
7
- data.tar.gz: b9a94c13fc5cc8bf84c84bfbd46277e519d878bfc74f6d82f4e941bf01adf4bb9b9197f2eb32f06d722624a410ee703b351beb7f1d0ff51f7228f7addd5ea75d
6
+ metadata.gz: 36f207582130d9e38c3704b516f4927062f00f3b5b5f60cfbcf6a171f5081afed1c0c540810611a000d6a869bf9127a97b50d5a69c723da8aa18d2ae1ebda5b1
7
+ data.tar.gz: 1a27a3872ba648463b321aee475780bf0c42142a33ae6d39453364727ec290645be4e53750afb9db0d3fe3b2a15b722338a1494d3a2271c483eea43d460fd70f
data/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.28.0 (2026-06-06)
4
+
5
+ Full Changelog: [v1.27.0...v1.28.0](https://github.com/context-dot-dev/context-ruby-sdk/compare/v1.27.0...v1.28.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** api update ([22eb08f](https://github.com/context-dot-dev/context-ruby-sdk/commit/22eb08f65d1001052f1bd247a4d60e2680bb33ea))
10
+
3
11
  ## 1.27.0 (2026-06-01)
4
12
 
5
13
  Full Changelog: [v1.26.0...v1.27.0](https://github.com/context-dot-dev/context-ruby-sdk/compare/v1.26.0...v1.27.0)
data/README.md CHANGED
@@ -26,7 +26,7 @@ To use this gem, install via Bundler by adding the following to your application
26
26
  <!-- x-release-please-start-version -->
27
27
 
28
28
  ```ruby
29
- gem "context.dev", "~> 1.27.0"
29
+ gem "context.dev", "~> 1.28.0"
30
30
  ```
31
31
 
32
32
  <!-- x-release-please-end -->
@@ -13,6 +13,14 @@ module ContextDev
13
13
  # @return [String]
14
14
  required :url, String
15
15
 
16
+ # @!attribute headers
17
+ # Optional outbound HTTP headers forwarded only to the target URL, sent as
18
+ # deep-object query params such as headers[X-Custom]=value. When provided, caching
19
+ # is bypassed: the result is neither read from nor written to cache.
20
+ #
21
+ # @return [Hash{Symbol=>String}, nil]
22
+ optional :headers, ContextDev::Internal::Type::HashOf[String]
23
+
16
24
  # @!attribute include_frames
17
25
  # When true, iframes are rendered inline into the returned HTML.
18
26
  #
@@ -49,12 +57,14 @@ module ContextDev
49
57
  # @return [Integer, nil]
50
58
  optional :wait_for_ms, Integer
51
59
 
52
- # @!method initialize(url:, include_frames: nil, max_age_ms: nil, pdf: nil, timeout_ms: nil, wait_for_ms: nil, request_options: {})
60
+ # @!method initialize(url:, headers: nil, include_frames: nil, max_age_ms: nil, pdf: nil, timeout_ms: nil, wait_for_ms: nil, request_options: {})
53
61
  # Some parameter documentations has been truncated, see
54
62
  # {ContextDev::Models::WebWebScrapeHTMLParams} for more details.
55
63
  #
56
64
  # @param url [String] Full URL to scrape (must include http:// or https:// protocol)
57
65
  #
66
+ # @param headers [Hash{Symbol=>String}] Optional outbound HTTP headers forwarded only to the target URL, sent as deep-ob
67
+ #
58
68
  # @param include_frames [Boolean] When true, iframes are rendered inline into the returned HTML.
59
69
  #
60
70
  # @param max_age_ms [Integer] Return a cached result if a prior scrape for the same parameters exists and is y
@@ -20,6 +20,14 @@ module ContextDev
20
20
  # @return [ContextDev::Models::WebWebScrapeImagesParams::Enrichment, nil]
21
21
  optional :enrichment, -> { ContextDev::WebWebScrapeImagesParams::Enrichment }
22
22
 
23
+ # @!attribute headers
24
+ # Optional outbound HTTP headers forwarded only to the target URL, sent as
25
+ # deep-object query params such as headers[X-Custom]=value. When provided, caching
26
+ # is bypassed: the result is neither read from nor written to cache.
27
+ #
28
+ # @return [Hash{Symbol=>String}, nil]
29
+ optional :headers, ContextDev::Internal::Type::HashOf[String]
30
+
23
31
  # @!attribute max_age_ms
24
32
  # Reuse a cached result this many milliseconds old or newer. Default: 86400000 (1
25
33
  # day). Set to 0 to bypass cache. Maximum: 2592000000 (30 days).
@@ -42,7 +50,7 @@ module ContextDev
42
50
  # @return [Integer, nil]
43
51
  optional :wait_for_ms, Integer
44
52
 
45
- # @!method initialize(url:, enrichment: nil, max_age_ms: nil, timeout_ms: nil, wait_for_ms: nil, request_options: {})
53
+ # @!method initialize(url:, enrichment: nil, headers: nil, max_age_ms: nil, timeout_ms: nil, wait_for_ms: nil, request_options: {})
46
54
  # Some parameter documentations has been truncated, see
47
55
  # {ContextDev::Models::WebWebScrapeImagesParams} for more details.
48
56
  #
@@ -50,6 +58,8 @@ module ContextDev
50
58
  #
51
59
  # @param enrichment [ContextDev::Models::WebWebScrapeImagesParams::Enrichment] Optional per-image processing, sent as deep-object query params such as enrichme
52
60
  #
61
+ # @param headers [Hash{Symbol=>String}] Optional outbound HTTP headers forwarded only to the target URL, sent as deep-ob
62
+ #
53
63
  # @param max_age_ms [Integer] Reuse a cached result this many milliseconds old or newer. Default: 86400000 (1
54
64
  #
55
65
  # @param timeout_ms [Integer] Optional timeout in milliseconds for the request. If the request takes longer th
@@ -14,6 +14,14 @@ module ContextDev
14
14
  # @return [String]
15
15
  required :url, String
16
16
 
17
+ # @!attribute headers
18
+ # Optional outbound HTTP headers forwarded only to the target URL, sent as
19
+ # deep-object query params such as headers[X-Custom]=value. When provided, caching
20
+ # is bypassed: the result is neither read from nor written to cache.
21
+ #
22
+ # @return [Hash{Symbol=>String}, nil]
23
+ optional :headers, ContextDev::Internal::Type::HashOf[String]
24
+
17
25
  # @!attribute include_frames
18
26
  # When true, the contents of iframes are rendered to Markdown.
19
27
  #
@@ -75,12 +83,14 @@ module ContextDev
75
83
  # @return [Integer, nil]
76
84
  optional :wait_for_ms, Integer
77
85
 
78
- # @!method initialize(url:, include_frames: nil, include_images: nil, include_links: nil, max_age_ms: nil, pdf: nil, shorten_base64_images: nil, timeout_ms: nil, use_main_content_only: nil, wait_for_ms: nil, request_options: {})
86
+ # @!method initialize(url:, headers: nil, include_frames: nil, include_images: nil, include_links: nil, max_age_ms: nil, pdf: nil, shorten_base64_images: nil, timeout_ms: nil, use_main_content_only: nil, wait_for_ms: nil, request_options: {})
79
87
  # Some parameter documentations has been truncated, see
80
88
  # {ContextDev::Models::WebWebScrapeMdParams} for more details.
81
89
  #
82
90
  # @param url [String] Full URL to scrape into LLM usable Markdown (must include http:// or https:// pr
83
91
  #
92
+ # @param headers [Hash{Symbol=>String}] Optional outbound HTTP headers forwarded only to the target URL, sent as deep-ob
93
+ #
84
94
  # @param include_frames [Boolean] When true, the contents of iframes are rendered to Markdown.
85
95
  #
86
96
  # @param include_images [Boolean] Include image references in Markdown output
@@ -13,6 +13,14 @@ module ContextDev
13
13
  # @return [String]
14
14
  required :domain, String
15
15
 
16
+ # @!attribute headers
17
+ # Optional outbound HTTP headers forwarded only to the target URL, sent as
18
+ # deep-object query params such as headers[X-Custom]=value. When provided, caching
19
+ # is bypassed: the result is neither read from nor written to cache.
20
+ #
21
+ # @return [Hash{Symbol=>String}, nil]
22
+ optional :headers, ContextDev::Internal::Type::HashOf[String]
23
+
16
24
  # @!attribute max_links
17
25
  # Maximum number of links to return from the sitemap crawl. Defaults to 10,000.
18
26
  # Minimum is 1, maximum is 100,000.
@@ -35,12 +43,14 @@ module ContextDev
35
43
  # @return [String, nil]
36
44
  optional :url_regex, String
37
45
 
38
- # @!method initialize(domain:, max_links: nil, timeout_ms: nil, url_regex: nil, request_options: {})
46
+ # @!method initialize(domain:, headers: nil, max_links: nil, timeout_ms: nil, url_regex: nil, request_options: {})
39
47
  # Some parameter documentations has been truncated, see
40
48
  # {ContextDev::Models::WebWebScrapeSitemapParams} for more details.
41
49
  #
42
50
  # @param domain [String] Domain to build a sitemap for
43
51
  #
52
+ # @param headers [Hash{Symbol=>String}] Optional outbound HTTP headers forwarded only to the target URL, sent as deep-ob
53
+ #
44
54
  # @param max_links [Integer] Maximum number of links to return from the sitemap crawl. Defaults to 10,000. Mi
45
55
  #
46
56
  # @param timeout_ms [Integer] Optional timeout in milliseconds for the request. If the request takes longer th
@@ -299,10 +299,12 @@ module ContextDev
299
299
  #
300
300
  # Scrapes the given URL and returns the raw HTML content of the page.
301
301
  #
302
- # @overload web_scrape_html(url:, include_frames: nil, max_age_ms: nil, pdf: nil, timeout_ms: nil, wait_for_ms: nil, request_options: {})
302
+ # @overload web_scrape_html(url:, headers: nil, include_frames: nil, max_age_ms: nil, pdf: nil, timeout_ms: nil, wait_for_ms: nil, request_options: {})
303
303
  #
304
304
  # @param url [String] Full URL to scrape (must include http:// or https:// protocol)
305
305
  #
306
+ # @param headers [Hash{Symbol=>String}] Optional outbound HTTP headers forwarded only to the target URL, sent as deep-ob
307
+ #
306
308
  # @param include_frames [Boolean] When true, iframes are rendered inline into the returned HTML.
307
309
  #
308
310
  # @param max_age_ms [Integer] Return a cached result if a prior scrape for the same parameters exists and is y
@@ -343,12 +345,14 @@ module ContextDev
343
345
  # embeds. The base request costs 1 credit. When enrichment is enabled, the entire
344
346
  # call costs 5 credits.
345
347
  #
346
- # @overload web_scrape_images(url:, enrichment: nil, max_age_ms: nil, timeout_ms: nil, wait_for_ms: nil, request_options: {})
348
+ # @overload web_scrape_images(url:, enrichment: nil, headers: nil, max_age_ms: nil, timeout_ms: nil, wait_for_ms: nil, request_options: {})
347
349
  #
348
350
  # @param url [String] Page URL to inspect. Must include http:// or https://.
349
351
  #
350
352
  # @param enrichment [ContextDev::Models::WebWebScrapeImagesParams::Enrichment] Optional per-image processing, sent as deep-object query params such as enrichme
351
353
  #
354
+ # @param headers [Hash{Symbol=>String}] Optional outbound HTTP headers forwarded only to the target URL, sent as deep-ob
355
+ #
352
356
  # @param max_age_ms [Integer] Reuse a cached result this many milliseconds old or newer. Default: 86400000 (1
353
357
  #
354
358
  # @param timeout_ms [Integer] Optional timeout in milliseconds for the request. If the request takes longer th
@@ -381,10 +385,12 @@ module ContextDev
381
385
  #
382
386
  # Scrapes the given URL into LLM usable Markdown.
383
387
  #
384
- # @overload web_scrape_md(url:, include_frames: nil, include_images: nil, include_links: nil, max_age_ms: nil, pdf: nil, shorten_base64_images: nil, timeout_ms: nil, use_main_content_only: nil, wait_for_ms: nil, request_options: {})
388
+ # @overload web_scrape_md(url:, headers: nil, include_frames: nil, include_images: nil, include_links: nil, max_age_ms: nil, pdf: nil, shorten_base64_images: nil, timeout_ms: nil, use_main_content_only: nil, wait_for_ms: nil, request_options: {})
385
389
  #
386
390
  # @param url [String] Full URL to scrape into LLM usable Markdown (must include http:// or https:// pr
387
391
  #
392
+ # @param headers [Hash{Symbol=>String}] Optional outbound HTTP headers forwarded only to the target URL, sent as deep-ob
393
+ #
388
394
  # @param include_frames [Boolean] When true, the contents of iframes are rendered to Markdown.
389
395
  #
390
396
  # @param include_images [Boolean] Include image references in Markdown output
@@ -434,10 +440,12 @@ module ContextDev
434
440
  #
435
441
  # Crawl an entire website's sitemap and return all discovered page URLs.
436
442
  #
437
- # @overload web_scrape_sitemap(domain:, max_links: nil, timeout_ms: nil, url_regex: nil, request_options: {})
443
+ # @overload web_scrape_sitemap(domain:, headers: nil, max_links: nil, timeout_ms: nil, url_regex: nil, request_options: {})
438
444
  #
439
445
  # @param domain [String] Domain to build a sitemap for
440
446
  #
447
+ # @param headers [Hash{Symbol=>String}] Optional outbound HTTP headers forwarded only to the target URL, sent as deep-ob
448
+ #
441
449
  # @param max_links [Integer] Maximum number of links to return from the sitemap crawl. Defaults to 10,000. Mi
442
450
  #
443
451
  # @param timeout_ms [Integer] Optional timeout in milliseconds for the request. If the request takes longer th
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ContextDev
4
- VERSION = "1.27.0"
4
+ VERSION = "1.28.0"
5
5
  end
@@ -18,6 +18,15 @@ module ContextDev
18
18
  sig { returns(String) }
19
19
  attr_accessor :url
20
20
 
21
+ # Optional outbound HTTP headers forwarded only to the target URL, sent as
22
+ # deep-object query params such as headers[X-Custom]=value. When provided, caching
23
+ # is bypassed: the result is neither read from nor written to cache.
24
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
25
+ attr_reader :headers
26
+
27
+ sig { params(headers: T::Hash[Symbol, String]).void }
28
+ attr_writer :headers
29
+
21
30
  # When true, iframes are rendered inline into the returned HTML.
22
31
  sig { returns(T.nilable(T::Boolean)) }
23
32
  attr_reader :include_frames
@@ -62,6 +71,7 @@ module ContextDev
62
71
  sig do
63
72
  params(
64
73
  url: String,
74
+ headers: T::Hash[Symbol, String],
65
75
  include_frames: T::Boolean,
66
76
  max_age_ms: Integer,
67
77
  pdf: ContextDev::WebWebScrapeHTMLParams::Pdf::OrHash,
@@ -73,6 +83,10 @@ module ContextDev
73
83
  def self.new(
74
84
  # Full URL to scrape (must include http:// or https:// protocol)
75
85
  url:,
86
+ # Optional outbound HTTP headers forwarded only to the target URL, sent as
87
+ # deep-object query params such as headers[X-Custom]=value. When provided, caching
88
+ # is bypassed: the result is neither read from nor written to cache.
89
+ headers: nil,
76
90
  # When true, iframes are rendered inline into the returned HTML.
77
91
  include_frames: nil,
78
92
  # Return a cached result if a prior scrape for the same parameters exists and is
@@ -97,6 +111,7 @@ module ContextDev
97
111
  override.returns(
98
112
  {
99
113
  url: String,
114
+ headers: T::Hash[Symbol, String],
100
115
  include_frames: T::Boolean,
101
116
  max_age_ms: Integer,
102
117
  pdf: ContextDev::WebWebScrapeHTMLParams::Pdf,
@@ -32,6 +32,15 @@ module ContextDev
32
32
  end
33
33
  attr_writer :enrichment
34
34
 
35
+ # Optional outbound HTTP headers forwarded only to the target URL, sent as
36
+ # deep-object query params such as headers[X-Custom]=value. When provided, caching
37
+ # is bypassed: the result is neither read from nor written to cache.
38
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
39
+ attr_reader :headers
40
+
41
+ sig { params(headers: T::Hash[Symbol, String]).void }
42
+ attr_writer :headers
43
+
35
44
  # Reuse a cached result this many milliseconds old or newer. Default: 86400000 (1
36
45
  # day). Set to 0 to bypass cache. Maximum: 2592000000 (30 days).
37
46
  sig { returns(T.nilable(Integer)) }
@@ -61,6 +70,7 @@ module ContextDev
61
70
  params(
62
71
  url: String,
63
72
  enrichment: ContextDev::WebWebScrapeImagesParams::Enrichment::OrHash,
73
+ headers: T::Hash[Symbol, String],
64
74
  max_age_ms: Integer,
65
75
  timeout_ms: Integer,
66
76
  wait_for_ms: Integer,
@@ -73,6 +83,10 @@ module ContextDev
73
83
  # Optional per-image processing, sent as deep-object query params such as
74
84
  # enrichment[resolution]=true.
75
85
  enrichment: nil,
86
+ # Optional outbound HTTP headers forwarded only to the target URL, sent as
87
+ # deep-object query params such as headers[X-Custom]=value. When provided, caching
88
+ # is bypassed: the result is neither read from nor written to cache.
89
+ headers: nil,
76
90
  # Reuse a cached result this many milliseconds old or newer. Default: 86400000 (1
77
91
  # day). Set to 0 to bypass cache. Maximum: 2592000000 (30 days).
78
92
  max_age_ms: nil,
@@ -92,6 +106,7 @@ module ContextDev
92
106
  {
93
107
  url: String,
94
108
  enrichment: ContextDev::WebWebScrapeImagesParams::Enrichment,
109
+ headers: T::Hash[Symbol, String],
95
110
  max_age_ms: Integer,
96
111
  timeout_ms: Integer,
97
112
  wait_for_ms: Integer,
@@ -16,6 +16,15 @@ module ContextDev
16
16
  sig { returns(String) }
17
17
  attr_accessor :url
18
18
 
19
+ # Optional outbound HTTP headers forwarded only to the target URL, sent as
20
+ # deep-object query params such as headers[X-Custom]=value. When provided, caching
21
+ # is bypassed: the result is neither read from nor written to cache.
22
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
23
+ attr_reader :headers
24
+
25
+ sig { params(headers: T::Hash[Symbol, String]).void }
26
+ attr_writer :headers
27
+
19
28
  # When true, the contents of iframes are rendered to Markdown.
20
29
  sig { returns(T.nilable(T::Boolean)) }
21
30
  attr_reader :include_frames
@@ -89,6 +98,7 @@ module ContextDev
89
98
  sig do
90
99
  params(
91
100
  url: String,
101
+ headers: T::Hash[Symbol, String],
92
102
  include_frames: T::Boolean,
93
103
  include_images: T::Boolean,
94
104
  include_links: T::Boolean,
@@ -105,6 +115,10 @@ module ContextDev
105
115
  # Full URL to scrape into LLM usable Markdown (must include http:// or https://
106
116
  # protocol)
107
117
  url:,
118
+ # Optional outbound HTTP headers forwarded only to the target URL, sent as
119
+ # deep-object query params such as headers[X-Custom]=value. When provided, caching
120
+ # is bypassed: the result is neither read from nor written to cache.
121
+ headers: nil,
108
122
  # When true, the contents of iframes are rendered to Markdown.
109
123
  include_frames: nil,
110
124
  # Include image references in Markdown output
@@ -138,6 +152,7 @@ module ContextDev
138
152
  override.returns(
139
153
  {
140
154
  url: String,
155
+ headers: T::Hash[Symbol, String],
141
156
  include_frames: T::Boolean,
142
157
  include_images: T::Boolean,
143
158
  include_links: T::Boolean,
@@ -18,6 +18,15 @@ module ContextDev
18
18
  sig { returns(String) }
19
19
  attr_accessor :domain
20
20
 
21
+ # Optional outbound HTTP headers forwarded only to the target URL, sent as
22
+ # deep-object query params such as headers[X-Custom]=value. When provided, caching
23
+ # is bypassed: the result is neither read from nor written to cache.
24
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
25
+ attr_reader :headers
26
+
27
+ sig { params(headers: T::Hash[Symbol, String]).void }
28
+ attr_writer :headers
29
+
21
30
  # Maximum number of links to return from the sitemap crawl. Defaults to 10,000.
22
31
  # Minimum is 1, maximum is 100,000.
23
32
  sig { returns(T.nilable(Integer)) }
@@ -46,6 +55,7 @@ module ContextDev
46
55
  sig do
47
56
  params(
48
57
  domain: String,
58
+ headers: T::Hash[Symbol, String],
49
59
  max_links: Integer,
50
60
  timeout_ms: Integer,
51
61
  url_regex: String,
@@ -55,6 +65,10 @@ module ContextDev
55
65
  def self.new(
56
66
  # Domain to build a sitemap for
57
67
  domain:,
68
+ # Optional outbound HTTP headers forwarded only to the target URL, sent as
69
+ # deep-object query params such as headers[X-Custom]=value. When provided, caching
70
+ # is bypassed: the result is neither read from nor written to cache.
71
+ headers: nil,
58
72
  # Maximum number of links to return from the sitemap crawl. Defaults to 10,000.
59
73
  # Minimum is 1, maximum is 100,000.
60
74
  max_links: nil,
@@ -73,6 +87,7 @@ module ContextDev
73
87
  override.returns(
74
88
  {
75
89
  domain: String,
90
+ headers: T::Hash[Symbol, String],
76
91
  max_links: Integer,
77
92
  timeout_ms: Integer,
78
93
  url_regex: String,
@@ -320,6 +320,7 @@ module ContextDev
320
320
  sig do
321
321
  params(
322
322
  url: String,
323
+ headers: T::Hash[Symbol, String],
323
324
  include_frames: T::Boolean,
324
325
  max_age_ms: Integer,
325
326
  pdf: ContextDev::WebWebScrapeHTMLParams::Pdf::OrHash,
@@ -331,6 +332,10 @@ module ContextDev
331
332
  def web_scrape_html(
332
333
  # Full URL to scrape (must include http:// or https:// protocol)
333
334
  url:,
335
+ # Optional outbound HTTP headers forwarded only to the target URL, sent as
336
+ # deep-object query params such as headers[X-Custom]=value. When provided, caching
337
+ # is bypassed: the result is neither read from nor written to cache.
338
+ headers: nil,
334
339
  # When true, iframes are rendered inline into the returned HTML.
335
340
  include_frames: nil,
336
341
  # Return a cached result if a prior scrape for the same parameters exists and is
@@ -359,6 +364,7 @@ module ContextDev
359
364
  params(
360
365
  url: String,
361
366
  enrichment: ContextDev::WebWebScrapeImagesParams::Enrichment::OrHash,
367
+ headers: T::Hash[Symbol, String],
362
368
  max_age_ms: Integer,
363
369
  timeout_ms: Integer,
364
370
  wait_for_ms: Integer,
@@ -371,6 +377,10 @@ module ContextDev
371
377
  # Optional per-image processing, sent as deep-object query params such as
372
378
  # enrichment[resolution]=true.
373
379
  enrichment: nil,
380
+ # Optional outbound HTTP headers forwarded only to the target URL, sent as
381
+ # deep-object query params such as headers[X-Custom]=value. When provided, caching
382
+ # is bypassed: the result is neither read from nor written to cache.
383
+ headers: nil,
374
384
  # Reuse a cached result this many milliseconds old or newer. Default: 86400000 (1
375
385
  # day). Set to 0 to bypass cache. Maximum: 2592000000 (30 days).
376
386
  max_age_ms: nil,
@@ -389,6 +399,7 @@ module ContextDev
389
399
  sig do
390
400
  params(
391
401
  url: String,
402
+ headers: T::Hash[Symbol, String],
392
403
  include_frames: T::Boolean,
393
404
  include_images: T::Boolean,
394
405
  include_links: T::Boolean,
@@ -405,6 +416,10 @@ module ContextDev
405
416
  # Full URL to scrape into LLM usable Markdown (must include http:// or https://
406
417
  # protocol)
407
418
  url:,
419
+ # Optional outbound HTTP headers forwarded only to the target URL, sent as
420
+ # deep-object query params such as headers[X-Custom]=value. When provided, caching
421
+ # is bypassed: the result is neither read from nor written to cache.
422
+ headers: nil,
408
423
  # When true, the contents of iframes are rendered to Markdown.
409
424
  include_frames: nil,
410
425
  # Include image references in Markdown output
@@ -438,6 +453,7 @@ module ContextDev
438
453
  sig do
439
454
  params(
440
455
  domain: String,
456
+ headers: T::Hash[Symbol, String],
441
457
  max_links: Integer,
442
458
  timeout_ms: Integer,
443
459
  url_regex: String,
@@ -447,6 +463,10 @@ module ContextDev
447
463
  def web_scrape_sitemap(
448
464
  # Domain to build a sitemap for
449
465
  domain:,
466
+ # Optional outbound HTTP headers forwarded only to the target URL, sent as
467
+ # deep-object query params such as headers[X-Custom]=value. When provided, caching
468
+ # is bypassed: the result is neither read from nor written to cache.
469
+ headers: nil,
450
470
  # Maximum number of links to return from the sitemap crawl. Defaults to 10,000.
451
471
  # Minimum is 1, maximum is 100,000.
452
472
  max_links: nil,
@@ -3,6 +3,7 @@ module ContextDev
3
3
  type web_web_scrape_html_params =
4
4
  {
5
5
  url: String,
6
+ headers: ::Hash[Symbol, String],
6
7
  include_frames: bool,
7
8
  max_age_ms: Integer,
8
9
  pdf: ContextDev::WebWebScrapeHTMLParams::Pdf,
@@ -17,6 +18,10 @@ module ContextDev
17
18
 
18
19
  attr_accessor url: String
19
20
 
21
+ attr_reader headers: ::Hash[Symbol, String]?
22
+
23
+ def headers=: (::Hash[Symbol, String]) -> ::Hash[Symbol, String]
24
+
20
25
  attr_reader include_frames: bool?
21
26
 
22
27
  def include_frames=: (bool) -> bool
@@ -41,6 +46,7 @@ module ContextDev
41
46
 
42
47
  def initialize: (
43
48
  url: String,
49
+ ?headers: ::Hash[Symbol, String],
44
50
  ?include_frames: bool,
45
51
  ?max_age_ms: Integer,
46
52
  ?pdf: ContextDev::WebWebScrapeHTMLParams::Pdf,
@@ -51,6 +57,7 @@ module ContextDev
51
57
 
52
58
  def to_hash: -> {
53
59
  url: String,
60
+ headers: ::Hash[Symbol, String],
54
61
  include_frames: bool,
55
62
  max_age_ms: Integer,
56
63
  pdf: ContextDev::WebWebScrapeHTMLParams::Pdf,
@@ -4,6 +4,7 @@ module ContextDev
4
4
  {
5
5
  url: String,
6
6
  enrichment: ContextDev::WebWebScrapeImagesParams::Enrichment,
7
+ headers: ::Hash[Symbol, String],
7
8
  max_age_ms: Integer,
8
9
  timeout_ms: Integer,
9
10
  wait_for_ms: Integer
@@ -22,6 +23,10 @@ module ContextDev
22
23
  ContextDev::WebWebScrapeImagesParams::Enrichment
23
24
  ) -> ContextDev::WebWebScrapeImagesParams::Enrichment
24
25
 
26
+ attr_reader headers: ::Hash[Symbol, String]?
27
+
28
+ def headers=: (::Hash[Symbol, String]) -> ::Hash[Symbol, String]
29
+
25
30
  attr_reader max_age_ms: Integer?
26
31
 
27
32
  def max_age_ms=: (Integer) -> Integer
@@ -37,6 +42,7 @@ module ContextDev
37
42
  def initialize: (
38
43
  url: String,
39
44
  ?enrichment: ContextDev::WebWebScrapeImagesParams::Enrichment,
45
+ ?headers: ::Hash[Symbol, String],
40
46
  ?max_age_ms: Integer,
41
47
  ?timeout_ms: Integer,
42
48
  ?wait_for_ms: Integer,
@@ -46,6 +52,7 @@ module ContextDev
46
52
  def to_hash: -> {
47
53
  url: String,
48
54
  enrichment: ContextDev::WebWebScrapeImagesParams::Enrichment,
55
+ headers: ::Hash[Symbol, String],
49
56
  max_age_ms: Integer,
50
57
  timeout_ms: Integer,
51
58
  wait_for_ms: Integer,
@@ -3,6 +3,7 @@ module ContextDev
3
3
  type web_web_scrape_md_params =
4
4
  {
5
5
  url: String,
6
+ headers: ::Hash[Symbol, String],
6
7
  include_frames: bool,
7
8
  include_images: bool,
8
9
  include_links: bool,
@@ -21,6 +22,10 @@ module ContextDev
21
22
 
22
23
  attr_accessor url: String
23
24
 
25
+ attr_reader headers: ::Hash[Symbol, String]?
26
+
27
+ def headers=: (::Hash[Symbol, String]) -> ::Hash[Symbol, String]
28
+
24
29
  attr_reader include_frames: bool?
25
30
 
26
31
  def include_frames=: (bool) -> bool
@@ -61,6 +66,7 @@ module ContextDev
61
66
 
62
67
  def initialize: (
63
68
  url: String,
69
+ ?headers: ::Hash[Symbol, String],
64
70
  ?include_frames: bool,
65
71
  ?include_images: bool,
66
72
  ?include_links: bool,
@@ -75,6 +81,7 @@ module ContextDev
75
81
 
76
82
  def to_hash: -> {
77
83
  url: String,
84
+ headers: ::Hash[Symbol, String],
78
85
  include_frames: bool,
79
86
  include_images: bool,
80
87
  include_links: bool,
@@ -3,6 +3,7 @@ module ContextDev
3
3
  type web_web_scrape_sitemap_params =
4
4
  {
5
5
  domain: String,
6
+ headers: ::Hash[Symbol, String],
6
7
  max_links: Integer,
7
8
  timeout_ms: Integer,
8
9
  url_regex: String
@@ -15,6 +16,10 @@ module ContextDev
15
16
 
16
17
  attr_accessor domain: String
17
18
 
19
+ attr_reader headers: ::Hash[Symbol, String]?
20
+
21
+ def headers=: (::Hash[Symbol, String]) -> ::Hash[Symbol, String]
22
+
18
23
  attr_reader max_links: Integer?
19
24
 
20
25
  def max_links=: (Integer) -> Integer
@@ -29,6 +34,7 @@ module ContextDev
29
34
 
30
35
  def initialize: (
31
36
  domain: String,
37
+ ?headers: ::Hash[Symbol, String],
32
38
  ?max_links: Integer,
33
39
  ?timeout_ms: Integer,
34
40
  ?url_regex: String,
@@ -37,6 +43,7 @@ module ContextDev
37
43
 
38
44
  def to_hash: -> {
39
45
  domain: String,
46
+ headers: ::Hash[Symbol, String],
40
47
  max_links: Integer,
41
48
  timeout_ms: Integer,
42
49
  url_regex: String,
@@ -84,6 +84,7 @@ module ContextDev
84
84
 
85
85
  def web_scrape_html: (
86
86
  url: String,
87
+ ?headers: ::Hash[Symbol, String],
87
88
  ?include_frames: bool,
88
89
  ?max_age_ms: Integer,
89
90
  ?pdf: ContextDev::WebWebScrapeHTMLParams::Pdf,
@@ -95,6 +96,7 @@ module ContextDev
95
96
  def web_scrape_images: (
96
97
  url: String,
97
98
  ?enrichment: ContextDev::WebWebScrapeImagesParams::Enrichment,
99
+ ?headers: ::Hash[Symbol, String],
98
100
  ?max_age_ms: Integer,
99
101
  ?timeout_ms: Integer,
100
102
  ?wait_for_ms: Integer,
@@ -103,6 +105,7 @@ module ContextDev
103
105
 
104
106
  def web_scrape_md: (
105
107
  url: String,
108
+ ?headers: ::Hash[Symbol, String],
106
109
  ?include_frames: bool,
107
110
  ?include_images: bool,
108
111
  ?include_links: bool,
@@ -117,6 +120,7 @@ module ContextDev
117
120
 
118
121
  def web_scrape_sitemap: (
119
122
  domain: String,
123
+ ?headers: ::Hash[Symbol, String],
120
124
  ?max_links: Integer,
121
125
  ?timeout_ms: Integer,
122
126
  ?url_regex: String,
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: context.dev
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.27.0
4
+ version: 1.28.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Context Dev
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-06-01 00:00:00.000000000 Z
11
+ date: 2026-06-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cgi