Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "1.17.0"
".": "1.18.0"
}
6 changes: 3 additions & 3 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 22
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/context-dev/context.dev-18e7692e180f911962f33787228afa2cf31f6c05ab23c6afb1ca4f82b108fba5.yml
openapi_spec_hash: 865bd1e346267d1e33f8ca63963c6aa3
config_hash: 70354330f92ce169beabc98696ebb9a3
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/context-dev/context.dev-f27c9584f74632a8c9603fce7190e3f63275a4ec4030da2a9475efb619618b3f.yml
openapi_spec_hash: 224cb935536a4d999d9683f8c03ea32f
config_hash: ff13935d1231ad44cd3822ffe39904b4
10 changes: 10 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,15 @@
# Changelog

## 1.18.0 (2026-05-10)

Full Changelog: [v1.17.0...v1.18.0](https://github.com/context-dot-dev/context-ruby-sdk/compare/v1.17.0...v1.18.0)

### Features

* **api:** api update ([b582c05](https://github.com/context-dot-dev/context-ruby-sdk/commit/b582c05376102bb0cb6f8d4d8c9a2cefdef8c1ec))
* **api:** api update ([4a4e4bb](https://github.com/context-dot-dev/context-ruby-sdk/commit/4a4e4bbc547662de263a307b213dd7eecd03a61d))
* **api:** manual updates ([ec963bb](https://github.com/context-dot-dev/context-ruby-sdk/commit/ec963bb99ac36d162552c76fb067e87144f21089))

## 1.17.0 (2026-05-09)

Full Changelog: [v1.16.0...v1.17.0](https://github.com/context-dot-dev/context-ruby-sdk/compare/v1.16.0...v1.17.0)
Expand Down
2 changes: 1 addition & 1 deletion Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ GIT
PATH
remote: .
specs:
context.dev (1.17.0)
context.dev (1.18.0)
cgi
connection_pool

Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ It is generated with [Stainless](https://www.stainless.com/).

Use the Context Dev MCP Server to enable AI assistants to interact with this API, allowing them to explore endpoints, make test requests, and use documentation to help integrate this SDK into your application.

[![Add to Cursor](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/en-US/install-mcp?name=context.dev-mcp&config=eyJuYW1lIjoiY29udGV4dC5kZXYtbWNwIiwidHJhbnNwb3J0IjoiaHR0cCIsInVybCI6Imh0dHBzOi8vY29udGV4dC1kZXYuc3RsbWNwLmNvbSIsImhlYWRlcnMiOnsieC1jb250ZXh0LWRldi1hcGkta2V5IjoiTXkgQVBJIEtleSJ9fQ)
[![Install in VS Code](https://img.shields.io/badge/_-Add_to_VS_Code-blue?style=for-the-badge&logo=data:image/svg%2bxml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCA0MCA0MCI+PHBhdGggZmlsbD0iI0VFRSIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMzAuMjM1IDM5Ljg4NGEyLjQ5MSAyLjQ5MSAwIDAgMS0xLjc4MS0uNzNMMTIuNyAyNC43OGwtMy40NiAyLjYyNC0zLjQwNiAyLjU4MmExLjY2NSAxLjY2NSAwIDAgMS0xLjA4Mi4zMzggMS42NjQgMS42NjQgMCAwIDEtMS4wNDYtLjQzMWwtMi4yLTJhMS42NjYgMS42NjYgMCAwIDEgMC0yLjQ2M0w3LjQ1OCAyMCA0LjY3IDE3LjQ1MyAxLjUwNyAxNC41N2ExLjY2NSAxLjY2NSAwIDAgMSAwLTIuNDYzbDIuMi0yYTEuNjY1IDEuNjY1IDAgMCAxIDIuMTMtLjA5N2w2Ljg2MyA1LjIwOUwyOC40NTIuODQ0YTIuNDg4IDIuNDg4IDAgMCAxIDEuODQxLS43MjljLjM1MS4wMDkuNjk5LjA5MSAxLjAxOS4yNDVsOC4yMzYgMy45NjFhMi41IDIuNSAwIDAgMSAxLjQxNSAyLjI1M3YuMDk5LS4wNDVWMzMuMzd2LS4wNDUuMDk1YTIuNTAxIDIuNTAxIDAgMCAxLTEuNDE2IDIuMjU3bC04LjIzNSAzLjk2MWEyLjQ5MiAyLjQ5MiAwIDAgMS0xLjA3Ny4yNDZabS43MTYtMjguOTQ3LTExLjk0OCA5LjA2MiAxMS45NTIgOS4wNjUtLjAwNC0xOC4xMjdaIi8+PC9zdmc+)](https://vscode.stainless.com/mcp/%7B%22name%22%3A%22context.dev-mcp%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fcontext-dev.stlmcp.com%22%2C%22headers%22%3A%7B%22x-context-dev-api-key%22%3A%22My%20API%20Key%22%7D%7D)
[![Add to Cursor](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/en-US/install-mcp?name=context-dev-mcp&config=eyJuYW1lIjoiY29udGV4dC1kZXYtbWNwIiwidHJhbnNwb3J0IjoiaHR0cCIsInVybCI6Imh0dHBzOi8vY29udGV4dC1kZXYuc3RsbWNwLmNvbSIsImhlYWRlcnMiOnsieC1jb250ZXh0LWRldi1hcGkta2V5IjoiTXkgQVBJIEtleSJ9fQ)
[![Install in VS Code](https://img.shields.io/badge/_-Add_to_VS_Code-blue?style=for-the-badge&logo=data:image/svg%2bxml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCA0MCA0MCI+PHBhdGggZmlsbD0iI0VFRSIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMzAuMjM1IDM5Ljg4NGEyLjQ5MSAyLjQ5MSAwIDAgMS0xLjc4MS0uNzNMMTIuNyAyNC43OGwtMy40NiAyLjYyNC0zLjQwNiAyLjU4MmExLjY2NSAxLjY2NSAwIDAgMS0xLjA4Mi4zMzggMS42NjQgMS42NjQgMCAwIDEtMS4wNDYtLjQzMWwtMi4yLTJhMS42NjYgMS42NjYgMCAwIDEgMC0yLjQ2M0w3LjQ1OCAyMCA0LjY3IDE3LjQ1MyAxLjUwNyAxNC41N2ExLjY2NSAxLjY2NSAwIDAgMSAwLTIuNDYzbDIuMi0yYTEuNjY1IDEuNjY1IDAgMCAxIDIuMTMtLjA5N2w2Ljg2MyA1LjIwOUwyOC40NTIuODQ0YTIuNDg4IDIuNDg4IDAgMCAxIDEuODQxLS43MjljLjM1MS4wMDkuNjk5LjA5MSAxLjAxOS4yNDVsOC4yMzYgMy45NjFhMi41IDIuNSAwIDAgMSAxLjQxNSAyLjI1M3YuMDk5LS4wNDVWMzMuMzd2LS4wNDUuMDk1YTIuNTAxIDIuNTAxIDAgMCAxLTEuNDE2IDIuMjU3bC04LjIzNSAzLjk2MWEyLjQ5MiAyLjQ5MiAwIDAgMS0xLjA3Ny4yNDZabS43MTYtMjguOTQ3LTExLjk0OCA5LjA2MiAxMS45NTIgOS4wNjUtLjAwNC0xOC4xMjdaIi8+PC9zdmc+)](https://vscode.stainless.com/mcp/%7B%22name%22%3A%22context-dev-mcp%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fcontext-dev.stlmcp.com%22%2C%22headers%22%3A%7B%22x-context-dev-api-key%22%3A%22My%20API%20Key%22%7D%7D)

> Note: You may need to set environment variables in your MCP client.

Expand All @@ -26,7 +26,7 @@ To use this gem, install via Bundler by adding the following to your application
<!-- x-release-please-start-version -->

```ruby
gem "context.dev", "~> 1.17.0"
gem "context.dev", "~> 1.18.0"
```

<!-- x-release-please-end -->
Expand Down
61 changes: 53 additions & 8 deletions lib/context_dev/models/web_web_crawl_md_params.rb
Original file line number Diff line number Diff line change
Expand Up @@ -60,20 +60,28 @@ class WebWebCrawlMdParams < ContextDev::Internal::Type::BaseModel
# @return [Integer, nil]
optional :max_pages, Integer, api_name: :maxPages

# @!attribute parse_pdf
# When true (default), PDF pages are fetched and their text layer is extracted and
# converted to Markdown alongside HTML pages. When false, PDF pages are skipped
# entirely (not included in results and not counted as failures).
# @!attribute pdf
# PDF parsing controls. Use start/end to limit text extraction and OCR to an
# inclusive 1-based page range.
#
# @return [Boolean, nil]
optional :parse_pdf, ContextDev::Internal::Type::Boolean, api_name: :parsePDF
# @return [ContextDev::Models::WebWebCrawlMdParams::Pdf, nil]
optional :pdf, -> { ContextDev::WebWebCrawlMdParams::Pdf }

# @!attribute shorten_base64_images
# Truncate base64-encoded image data in the Markdown output
#
# @return [Boolean, nil]
optional :shorten_base64_images, ContextDev::Internal::Type::Boolean, api_name: :shortenBase64Images

# @!attribute stop_after_ms
# Soft time budget for the crawl in milliseconds. After each scrape, the crawler
# checks the elapsed time and, if exceeded, returns the pages collected so far
# instead of continuing. Min: 10000 (10s). Max: 240000 (4 min). Default: 120000 (2
# min).
#
# @return [Integer, nil]
optional :stop_after_ms, Integer, api_name: :stopAfterMs

# @!attribute timeout_ms
# Optional timeout in milliseconds for the request. If the request takes longer
# than this value, it will be aborted with a 408 status code. Maximum allowed
Expand Down Expand Up @@ -102,7 +110,7 @@ class WebWebCrawlMdParams < ContextDev::Internal::Type::BaseModel
# @return [Integer, nil]
optional :wait_for_ms, Integer, api_name: :waitForMs

# @!method initialize(url:, follow_subdomains: nil, include_frames: nil, include_images: nil, include_links: nil, max_age_ms: nil, max_depth: nil, max_pages: nil, parse_pdf: nil, shorten_base64_images: nil, timeout_ms: nil, url_regex: nil, use_main_content_only: nil, wait_for_ms: nil, request_options: {})
# @!method initialize(url:, follow_subdomains: nil, include_frames: nil, include_images: nil, include_links: nil, max_age_ms: nil, max_depth: nil, max_pages: nil, pdf: nil, shorten_base64_images: nil, stop_after_ms: nil, timeout_ms: nil, url_regex: nil, use_main_content_only: nil, wait_for_ms: nil, request_options: {})
# Some parameter documentations has been truncated, see
# {ContextDev::Models::WebWebCrawlMdParams} for more details.
#
Expand All @@ -122,10 +130,12 @@ class WebWebCrawlMdParams < ContextDev::Internal::Type::BaseModel
#
# @param max_pages [Integer] Maximum number of pages to crawl. Hard cap: 500.
#
# @param parse_pdf [Boolean] When true (default), PDF pages are fetched and their text layer is extracted and
# @param pdf [ContextDev::Models::WebWebCrawlMdParams::Pdf] PDF parsing controls. Use start/end to limit text extraction and OCR to an inclu
#
# @param shorten_base64_images [Boolean] Truncate base64-encoded image data in the Markdown output
#
# @param stop_after_ms [Integer] Soft time budget for the crawl in milliseconds. After each scrape, the crawler c
#
# @param timeout_ms [Integer] Optional timeout in milliseconds for the request. If the request takes longer th
#
# @param url_regex [String] Regex pattern. Only URLs matching this pattern will be followed and scraped.
Expand All @@ -135,6 +145,41 @@ class WebWebCrawlMdParams < ContextDev::Internal::Type::BaseModel
# @param wait_for_ms [Integer] Optional browser wait time in milliseconds after initial page load for each craw
#
# @param request_options [ContextDev::RequestOptions, Hash{Symbol=>Object}]

class Pdf < ContextDev::Internal::Type::BaseModel
# @!attribute end_
# Last 1-based PDF page to parse. When omitted, parsing ends at the last page.
# Must be greater than or equal to start when both are provided.
#
# @return [Integer, nil]
optional :end_, Integer, api_name: :end

# @!attribute should_parse
# When true, PDF pages are fetched and parsed. When false, PDF pages are skipped
# entirely (not included in results and not counted as failures).
#
# @return [Boolean, nil]
optional :should_parse, ContextDev::Internal::Type::Boolean, api_name: :shouldParse

# @!attribute start
# First 1-based PDF page to parse. When omitted, parsing starts at the first page.
#
# @return [Integer, nil]
optional :start, Integer

# @!method initialize(end_: nil, should_parse: nil, start: nil)
# Some parameter documentations has been truncated, see
# {ContextDev::Models::WebWebCrawlMdParams::Pdf} for more details.
#
# PDF parsing controls. Use start/end to limit text extraction and OCR to an
# inclusive 1-based page range.
#
# @param end_ [Integer] Last 1-based PDF page to parse. When omitted, parsing ends at the last page. Mus
#
# @param should_parse [Boolean] When true, PDF pages are fetched and parsed. When false, PDF pages are skipped e
#
# @param start [Integer] First 1-based PDF page to parse. When omitted, parsing starts at the first page.
end
end
end
end
5 changes: 3 additions & 2 deletions lib/context_dev/models/web_web_crawl_md_response.rb
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,8 @@ class Metadata < ContextDev::Internal::Type::BaseModel
required :num_failed, Integer, api_name: :numFailed

# @!attribute num_skipped
# Number of URLs skipped (PDFs when parsePDF=false, or URLs not matching urlRegex)
# Number of URLs skipped (PDFs when pdf.shouldParse=false, or URLs not matching
# urlRegex)
#
# @return [Integer]
required :num_skipped, Integer, api_name: :numSkipped
Expand All @@ -59,7 +60,7 @@ class Metadata < ContextDev::Internal::Type::BaseModel
#
# @param num_failed [Integer] Number of pages that failed to crawl
#
# @param num_skipped [Integer] Number of URLs skipped (PDFs when parsePDF=false, or URLs not matching urlRegex)
# @param num_skipped [Integer] Number of URLs skipped (PDFs when pdf.shouldParse=false, or URLs not matching ur
#
# @param num_succeeded [Integer] Number of pages successfully crawled
#
Expand Down
50 changes: 42 additions & 8 deletions lib/context_dev/models/web_web_scrape_html_params.rb
Original file line number Diff line number Diff line change
Expand Up @@ -27,13 +27,12 @@ class WebWebScrapeHTMLParams < ContextDev::Internal::Type::BaseModel
# @return [Integer, nil]
optional :max_age_ms, Integer

# @!attribute parse_pdf
# When true (default), PDF URLs are fetched and their text layer is extracted and
# returned wrapped in <html><pdf>…</pdf></html>. When false, PDF URLs are skipped
# and a 400 WEBSITE_ACCESS_ERROR is returned.
# @!attribute pdf
# PDF parsing controls. Use start/end to limit text extraction and OCR to an
# inclusive 1-based page range.
#
# @return [Boolean, nil]
optional :parse_pdf, ContextDev::Internal::Type::Boolean
# @return [ContextDev::Models::WebWebScrapeHTMLParams::Pdf, nil]
optional :pdf, -> { ContextDev::WebWebScrapeHTMLParams::Pdf }

# @!attribute timeout_ms
# Optional timeout in milliseconds for the request. If the request takes longer
Expand All @@ -50,7 +49,7 @@ class WebWebScrapeHTMLParams < ContextDev::Internal::Type::BaseModel
# @return [Integer, nil]
optional :wait_for_ms, Integer

# @!method initialize(url:, include_frames: nil, max_age_ms: nil, parse_pdf: nil, timeout_ms: nil, wait_for_ms: nil, request_options: {})
# @!method initialize(url:, include_frames: nil, max_age_ms: nil, pdf: nil, timeout_ms: nil, wait_for_ms: nil, request_options: {})
# Some parameter documentations has been truncated, see
# {ContextDev::Models::WebWebScrapeHTMLParams} for more details.
#
Expand All @@ -60,13 +59,48 @@ class WebWebScrapeHTMLParams < ContextDev::Internal::Type::BaseModel
#
# @param max_age_ms [Integer] Return a cached result if a prior scrape for the same parameters exists and is y
#
# @param parse_pdf [Boolean] When true (default), PDF URLs are fetched and their text layer is extracted and
# @param pdf [ContextDev::Models::WebWebScrapeHTMLParams::Pdf] PDF parsing controls. Use start/end to limit text extraction and OCR to an inclu
#
# @param timeout_ms [Integer] Optional timeout in milliseconds for the request. If the request takes longer th
#
# @param wait_for_ms [Integer] Optional browser wait time in milliseconds after initial page load. Min: 0. Max:
#
# @param request_options [ContextDev::RequestOptions, Hash{Symbol=>Object}]

class Pdf < ContextDev::Internal::Type::BaseModel
# @!attribute end_
# Last 1-based PDF page to parse. When omitted, parsing ends at the last page.
# Must be greater than or equal to start when both are provided.
#
# @return [Integer, nil]
optional :end_, Integer, api_name: :end

# @!attribute should_parse
# When true, PDF URLs are fetched and parsed. When false, PDF URLs are skipped and
# a 400 WEBSITE_ACCESS_ERROR is returned.
#
# @return [Boolean, nil]
optional :should_parse, ContextDev::Internal::Type::Boolean, api_name: :shouldParse

# @!attribute start
# First 1-based PDF page to parse. When omitted, parsing starts at the first page.
#
# @return [Integer, nil]
optional :start, Integer

# @!method initialize(end_: nil, should_parse: nil, start: nil)
# Some parameter documentations has been truncated, see
# {ContextDev::Models::WebWebScrapeHTMLParams::Pdf} for more details.
#
# PDF parsing controls. Use start/end to limit text extraction and OCR to an
# inclusive 1-based page range.
#
# @param end_ [Integer] Last 1-based PDF page to parse. When omitted, parsing ends at the last page. Mus
#
# @param should_parse [Boolean] When true, PDF URLs are fetched and parsed. When false, PDF URLs are skipped and
#
# @param start [Integer] First 1-based PDF page to parse. When omitted, parsing starts at the first page.
end
end
end
end
50 changes: 42 additions & 8 deletions lib/context_dev/models/web_web_scrape_md_params.rb
Original file line number Diff line number Diff line change
Expand Up @@ -40,13 +40,12 @@ class WebWebScrapeMdParams < ContextDev::Internal::Type::BaseModel
# @return [Integer, nil]
optional :max_age_ms, Integer

# @!attribute parse_pdf
# When true (default), PDF URLs are fetched and their text layer is extracted and
# converted to Markdown. When false, PDF URLs are skipped and a 400
# WEBSITE_ACCESS_ERROR is returned.
# @!attribute pdf
# PDF parsing controls. Use start/end to limit text extraction and OCR to an
# inclusive 1-based page range.
#
# @return [Boolean, nil]
optional :parse_pdf, ContextDev::Internal::Type::Boolean
# @return [ContextDev::Models::WebWebScrapeMdParams::Pdf, nil]
optional :pdf, -> { ContextDev::WebWebScrapeMdParams::Pdf }

# @!attribute shorten_base64_images
# Shorten base64-encoded image data in the Markdown output
Expand Down Expand Up @@ -76,7 +75,7 @@ class WebWebScrapeMdParams < ContextDev::Internal::Type::BaseModel
# @return [Integer, nil]
optional :wait_for_ms, Integer

# @!method initialize(url:, include_frames: nil, include_images: nil, include_links: nil, max_age_ms: nil, parse_pdf: nil, shorten_base64_images: nil, timeout_ms: nil, use_main_content_only: nil, wait_for_ms: nil, request_options: {})
# @!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: {})
# Some parameter documentations has been truncated, see
# {ContextDev::Models::WebWebScrapeMdParams} for more details.
#
Expand All @@ -90,7 +89,7 @@ class WebWebScrapeMdParams < ContextDev::Internal::Type::BaseModel
#
# @param max_age_ms [Integer] Return a cached result if a prior scrape for the same parameters exists and is y
#
# @param parse_pdf [Boolean] When true (default), PDF URLs are fetched and their text layer is extracted and
# @param pdf [ContextDev::Models::WebWebScrapeMdParams::Pdf] PDF parsing controls. Use start/end to limit text extraction and OCR to an inclu
#
# @param shorten_base64_images [Boolean] Shorten base64-encoded image data in the Markdown output
#
Expand All @@ -101,6 +100,41 @@ class WebWebScrapeMdParams < ContextDev::Internal::Type::BaseModel
# @param wait_for_ms [Integer] Optional browser wait time in milliseconds after initial page load before conver
#
# @param request_options [ContextDev::RequestOptions, Hash{Symbol=>Object}]

class Pdf < ContextDev::Internal::Type::BaseModel
# @!attribute end_
# Last 1-based PDF page to parse. When omitted, parsing ends at the last page.
# Must be greater than or equal to start when both are provided.
#
# @return [Integer, nil]
optional :end_, Integer, api_name: :end

# @!attribute should_parse
# When true, PDF URLs are fetched and parsed. When false, PDF URLs are skipped and
# a 400 WEBSITE_ACCESS_ERROR is returned.
#
# @return [Boolean, nil]
optional :should_parse, ContextDev::Internal::Type::Boolean, api_name: :shouldParse

# @!attribute start
# First 1-based PDF page to parse. When omitted, parsing starts at the first page.
#
# @return [Integer, nil]
optional :start, Integer

# @!method initialize(end_: nil, should_parse: nil, start: nil)
# Some parameter documentations has been truncated, see
# {ContextDev::Models::WebWebScrapeMdParams::Pdf} for more details.
#
# PDF parsing controls. Use start/end to limit text extraction and OCR to an
# inclusive 1-based page range.
#
# @param end_ [Integer] Last 1-based PDF page to parse. When omitted, parsing ends at the last page. Mus
#
# @param should_parse [Boolean] When true, PDF URLs are fetched and parsed. When false, PDF URLs are skipped and
#
# @param start [Integer] First 1-based PDF page to parse. When omitted, parsing starts at the first page.
end
end
end
end
Loading
Loading