diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 65f558e..656a2ef 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "2.0.0" + ".": "2.1.0" } \ No newline at end of file diff --git a/.stats.yml b/.stats.yml index f52f430..6b4e1c4 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 29 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/context-dev/context.dev-7dbd739a81e6aaf7fc7ef1858606e7d572d309af55082a66431d9292e655e66f.yml -openapi_spec_hash: a6374d5d718a7bd9d3d54fb657e2bd9d +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/context-dev/context.dev-51ebe668b198157ccb18984017dd2fe35f7675220e8b933b03325b3c459ef2a6.yml +openapi_spec_hash: b3ed94bd6b59d4e32fc2c5aa8187d6b2 config_hash: ff35e224e809656528c44163aa41bebd diff --git a/CHANGELOG.md b/CHANGELOG.md index 5bbd0e4..5e38771 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,16 @@ # Changelog +## 2.1.0 (2026-07-08) + +Full Changelog: [v2.0.0...v2.1.0](https://github.com/context-dot-dev/context-python-sdk/compare/v2.0.0...v2.1.0) + +### Features + +* **api:** api update ([a72ac3e](https://github.com/context-dot-dev/context-python-sdk/commit/a72ac3e859ada135b723a985fd9e79696a5389de)) +* **api:** api update ([b34463f](https://github.com/context-dot-dev/context-python-sdk/commit/b34463f5a6d2d48511bb83b07517843643eb6994)) +* **api:** api update ([964c4b0](https://github.com/context-dot-dev/context-python-sdk/commit/964c4b09c0b9a2fc91e970e2a9c3e89c26f135c6)) +* **api:** api update ([fa060eb](https://github.com/context-dot-dev/context-python-sdk/commit/fa060eb4af5f793ea68661e8e8ec759e77cf4729)) + ## 2.0.0 (2026-07-06) Full Changelog: [v1.3.0...v2.0.0](https://github.com/context-dot-dev/context-python-sdk/compare/v1.3.0...v2.0.0) diff --git a/pyproject.toml b/pyproject.toml index 3566c2c..09e139a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "context.dev" -version = "2.0.0" +version = "2.1.0" description = "The official Python library for the context.dev API" dynamic = ["readme"] license = "Apache-2.0" diff --git a/src/context/dev/_version.py b/src/context/dev/_version.py index 92dbce7..a6ed8e3 100644 --- a/src/context/dev/_version.py +++ b/src/context/dev/_version.py @@ -1,4 +1,4 @@ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. __title__ = "context.dev" -__version__ = "2.0.0" # x-release-please-version +__version__ = "2.1.0" # x-release-please-version diff --git a/src/context/dev/resources/brand.py b/src/context/dev/resources/brand.py index 01fd7d5..d8236f1 100644 --- a/src/context/dev/resources/brand.py +++ b/src/context/dev/resources/brand.py @@ -187,7 +187,9 @@ def retrieve( Provide exactly one lookup identifier in the request body: a domain, company name, email - address, stock ticker, or transaction descriptor. + address, stock ticker, transaction descriptor, or direct URL. Note: + `by_direct_url` fetches brand data only from the provided URL — not from the + entire internet. Args: domain: Domain name to retrieve brand data for (e.g., 'stripe.com'). @@ -361,7 +363,9 @@ def retrieve( Provide exactly one lookup identifier in the request body: a domain, company name, email - address, stock ticker, or transaction descriptor. + address, stock ticker, transaction descriptor, or direct URL. Note: + `by_direct_url` fetches brand data only from the provided URL — not from the + entire internet. Args: name: Company name to retrieve brand data for (e.g., 'Apple Inc'). @@ -537,7 +541,9 @@ def retrieve( Provide exactly one lookup identifier in the request body: a domain, company name, email - address, stock ticker, or transaction descriptor. + address, stock ticker, transaction descriptor, or direct URL. Note: + `by_direct_url` fetches brand data only from the provided URL — not from the + entire internet. Args: email: Email address to retrieve brand data for (e.g., 'jane@stripe.com'). @@ -711,7 +717,9 @@ def retrieve( Provide exactly one lookup identifier in the request body: a domain, company name, email - address, stock ticker, or transaction descriptor. + address, stock ticker, transaction descriptor, or direct URL. Note: + `by_direct_url` fetches brand data only from the provided URL — not from the + entire internet. Args: ticker: Stock ticker symbol to retrieve brand data for (e.g., 'AAPL'). @@ -743,6 +751,49 @@ def retrieve( """ ... + @overload + def retrieve( + self, + *, + direct_url: str, + type: Literal["by_direct_url"], + timeout_ms: int | Omit = omit, + # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. + # The extra values given here take precedence over values defined on the client or passed to this method. + extra_headers: Headers | None = None, + extra_query: Query | None = None, + extra_body: Body | None = None, + timeout: float | httpx.Timeout | None | NotGiven = not_given, + ) -> BrandRetrieveResponse: + """Retrieve logos, backdrops, colors, industry, description, and more. + + Provide + exactly one lookup identifier in the request body: a domain, company name, email + address, stock ticker, transaction descriptor, or direct URL. Note: + `by_direct_url` fetches brand data only from the provided URL — not from the + entire internet. + + Args: + direct_url: Full http(s) URL to fetch brand data from (e.g., + 'https://stripe.com/enterprise'). Only this URL is fetched — not the entire + internet. + + type: Discriminator for direct-URL-based brand retrieval. + + 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 + value is 300000ms (5 minutes). + + extra_headers: Send extra headers + + extra_query: Add additional query parameters to the request + + extra_body: Add additional JSON properties to the request + + timeout: Override the client-level default timeout for this request, in seconds + """ + ... + @overload def retrieve( self, @@ -890,7 +941,9 @@ def retrieve( Provide exactly one lookup identifier in the request body: a domain, company name, email - address, stock ticker, or transaction descriptor. + address, stock ticker, transaction descriptor, or direct URL. Note: + `by_direct_url` fetches brand data only from the provided URL — not from the + entire internet. Args: transaction_info: Transaction information to identify the brand. @@ -929,7 +982,12 @@ def retrieve( ... @required_args( - ["domain", "type"], ["name", "type"], ["email", "type"], ["ticker", "type"], ["transaction_info", "type"] + ["domain", "type"], + ["name", "type"], + ["email", "type"], + ["ticker", "type"], + ["direct_url", "type"], + ["transaction_info", "type"], ) def retrieve( self, @@ -939,6 +997,7 @@ def retrieve( | Literal["by_name"] | Literal["by_email"] | Literal["by_ticker"] + | Literal["by_direct_url"] | Literal["by_transaction"], force_language: Literal[ "afrikaans", @@ -1071,6 +1130,7 @@ def retrieve( email: str | Omit = omit, ticker: str | Omit = omit, ticker_exchange: str | Omit = omit, + direct_url: str | Omit = omit, transaction_info: str | Omit = omit, city: str | Omit = omit, high_confidence_only: bool | Omit = omit, @@ -1098,6 +1158,7 @@ def retrieve( "email": email, "ticker": ticker, "ticker_exchange": ticker_exchange, + "direct_url": direct_url, "transaction_info": transaction_info, "city": city, "high_confidence_only": high_confidence_only, @@ -1333,7 +1394,9 @@ async def retrieve( Provide exactly one lookup identifier in the request body: a domain, company name, email - address, stock ticker, or transaction descriptor. + address, stock ticker, transaction descriptor, or direct URL. Note: + `by_direct_url` fetches brand data only from the provided URL — not from the + entire internet. Args: domain: Domain name to retrieve brand data for (e.g., 'stripe.com'). @@ -1507,7 +1570,9 @@ async def retrieve( Provide exactly one lookup identifier in the request body: a domain, company name, email - address, stock ticker, or transaction descriptor. + address, stock ticker, transaction descriptor, or direct URL. Note: + `by_direct_url` fetches brand data only from the provided URL — not from the + entire internet. Args: name: Company name to retrieve brand data for (e.g., 'Apple Inc'). @@ -1683,7 +1748,9 @@ async def retrieve( Provide exactly one lookup identifier in the request body: a domain, company name, email - address, stock ticker, or transaction descriptor. + address, stock ticker, transaction descriptor, or direct URL. Note: + `by_direct_url` fetches brand data only from the provided URL — not from the + entire internet. Args: email: Email address to retrieve brand data for (e.g., 'jane@stripe.com'). @@ -1857,7 +1924,9 @@ async def retrieve( Provide exactly one lookup identifier in the request body: a domain, company name, email - address, stock ticker, or transaction descriptor. + address, stock ticker, transaction descriptor, or direct URL. Note: + `by_direct_url` fetches brand data only from the provided URL — not from the + entire internet. Args: ticker: Stock ticker symbol to retrieve brand data for (e.g., 'AAPL'). @@ -1889,6 +1958,49 @@ async def retrieve( """ ... + @overload + async def retrieve( + self, + *, + direct_url: str, + type: Literal["by_direct_url"], + timeout_ms: int | Omit = omit, + # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. + # The extra values given here take precedence over values defined on the client or passed to this method. + extra_headers: Headers | None = None, + extra_query: Query | None = None, + extra_body: Body | None = None, + timeout: float | httpx.Timeout | None | NotGiven = not_given, + ) -> BrandRetrieveResponse: + """Retrieve logos, backdrops, colors, industry, description, and more. + + Provide + exactly one lookup identifier in the request body: a domain, company name, email + address, stock ticker, transaction descriptor, or direct URL. Note: + `by_direct_url` fetches brand data only from the provided URL — not from the + entire internet. + + Args: + direct_url: Full http(s) URL to fetch brand data from (e.g., + 'https://stripe.com/enterprise'). Only this URL is fetched — not the entire + internet. + + type: Discriminator for direct-URL-based brand retrieval. + + 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 + value is 300000ms (5 minutes). + + extra_headers: Send extra headers + + extra_query: Add additional query parameters to the request + + extra_body: Add additional JSON properties to the request + + timeout: Override the client-level default timeout for this request, in seconds + """ + ... + @overload async def retrieve( self, @@ -2036,7 +2148,9 @@ async def retrieve( Provide exactly one lookup identifier in the request body: a domain, company name, email - address, stock ticker, or transaction descriptor. + address, stock ticker, transaction descriptor, or direct URL. Note: + `by_direct_url` fetches brand data only from the provided URL — not from the + entire internet. Args: transaction_info: Transaction information to identify the brand. @@ -2075,7 +2189,12 @@ async def retrieve( ... @required_args( - ["domain", "type"], ["name", "type"], ["email", "type"], ["ticker", "type"], ["transaction_info", "type"] + ["domain", "type"], + ["name", "type"], + ["email", "type"], + ["ticker", "type"], + ["direct_url", "type"], + ["transaction_info", "type"], ) async def retrieve( self, @@ -2085,6 +2204,7 @@ async def retrieve( | Literal["by_name"] | Literal["by_email"] | Literal["by_ticker"] + | Literal["by_direct_url"] | Literal["by_transaction"], force_language: Literal[ "afrikaans", @@ -2217,6 +2337,7 @@ async def retrieve( email: str | Omit = omit, ticker: str | Omit = omit, ticker_exchange: str | Omit = omit, + direct_url: str | Omit = omit, transaction_info: str | Omit = omit, city: str | Omit = omit, high_confidence_only: bool | Omit = omit, @@ -2244,6 +2365,7 @@ async def retrieve( "email": email, "ticker": ticker, "ticker_exchange": ticker_exchange, + "direct_url": direct_url, "transaction_info": transaction_info, "city": city, "high_confidence_only": high_confidence_only, diff --git a/src/context/dev/resources/monitors.py b/src/context/dev/resources/monitors.py index c5d4768..64ec92a 100644 --- a/src/context/dev/resources/monitors.py +++ b/src/context/dev/resources/monitors.py @@ -239,7 +239,7 @@ def list( cursor: str | Omit = omit, limit: int | Omit = omit, q: str | Omit = omit, - search_by: List[Literal["name", "url", "query", "tags"]] | Omit = omit, + search_by: List[Literal["name", "url", "instructions", "tags"]] | Omit = omit, search_type: Literal["exact", "prefix"] | Omit = omit, status: Literal["active", "paused", "failed"] | Omit = omit, tag: str | Omit = omit, @@ -261,8 +261,8 @@ def list( Args: q: Free-text search term, matched against the fields named in `search_by`. - search_by: Comma-separated fields to search with `q`. Defaults to all of them. Note `query` - only exists on semantic monitors. + search_by: Comma-separated fields to search with `q`. Defaults to all of them. Note + `instructions` only exists on extract monitors. search_type: `prefix` for as-you-type prefix matching (default), `exact` for full-token matching. @@ -816,7 +816,7 @@ async def list( cursor: str | Omit = omit, limit: int | Omit = omit, q: str | Omit = omit, - search_by: List[Literal["name", "url", "query", "tags"]] | Omit = omit, + search_by: List[Literal["name", "url", "instructions", "tags"]] | Omit = omit, search_type: Literal["exact", "prefix"] | Omit = omit, status: Literal["active", "paused", "failed"] | Omit = omit, tag: str | Omit = omit, @@ -838,8 +838,8 @@ async def list( Args: q: Free-text search term, matched against the fields named in `search_by`. - search_by: Comma-separated fields to search with `q`. Defaults to all of them. Note `query` - only exists on semantic monitors. + search_by: Comma-separated fields to search with `q`. Defaults to all of them. Note + `instructions` only exists on extract monitors. search_type: `prefix` for as-you-type prefix matching (default), `exact` for full-token matching. diff --git a/src/context/dev/types/brand_retrieve_params.py b/src/context/dev/types/brand_retrieve_params.py index dedeeb1..b3b894f 100644 --- a/src/context/dev/types/brand_retrieve_params.py +++ b/src/context/dev/types/brand_retrieve_params.py @@ -13,6 +13,7 @@ "BrandRetrieveByNameRequest", "BrandRetrieveByEmailRequest", "BrandRetrieveByTickerRequest", + "BrandRetrieveByDirectURLRequest", "BrandRetrieveFromTransactionRequest", ] @@ -638,6 +639,25 @@ class BrandRetrieveByTickerRequest(TypedDict, total=False): """ +class BrandRetrieveByDirectURLRequest(TypedDict, total=False): + direct_url: Required[str] + """ + Full http(s) URL to fetch brand data from (e.g., + 'https://stripe.com/enterprise'). Only this URL is fetched — not the entire + internet. + """ + + type: Required[Literal["by_direct_url"]] + """Discriminator for direct-URL-based brand retrieval.""" + + timeout_ms: Annotated[int, PropertyInfo(alias="timeoutMS")] + """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 value is 300000ms (5 minutes). + """ + + class BrandRetrieveFromTransactionRequest(TypedDict, total=False): transaction_info: Required[str] """Transaction information to identify the brand.""" @@ -812,5 +832,6 @@ class BrandRetrieveFromTransactionRequest(TypedDict, total=False): BrandRetrieveByNameRequest, BrandRetrieveByEmailRequest, BrandRetrieveByTickerRequest, + BrandRetrieveByDirectURLRequest, BrandRetrieveFromTransactionRequest, ] diff --git a/src/context/dev/types/monitor_create_params.py b/src/context/dev/types/monitor_create_params.py index 44efe4c..231330e 100644 --- a/src/context/dev/types/monitor_create_params.py +++ b/src/context/dev/types/monitor_create_params.py @@ -60,9 +60,9 @@ class ChangeDetectionMonitorsExactChangeDetection(TypedDict, total=False): class ChangeDetectionMonitorsSemanticChangeDetection(TypedDict, total=False): - """Detect meaning-level changes that match a natural language query.""" - - query: Required[str] + """ + Detect meaning-level changes to the extracted data, ignoring cosmetic or paraphrase-only differences. What is watched is determined by the extract target's `schema` and `instructions`. + """ type: Required[Literal["semantic"]] @@ -107,7 +107,7 @@ class TargetMonitorsPageTarget(TypedDict, total=False): class TargetMonitorsSitemapTarget(TypedDict, total=False): """Watch a sitemap for URL additions and removals. - Crawled URLs are normalized (lowercased host, no trailing slash/fragment) and scoped to the monitored site and its subdomains before comparison. A new URL set must be observed on two consecutive runs before a change is reported, suppressing one-run crawl flaps. + Crawled URLs are normalized (lowercased host, no trailing slash/fragment) and scoped to the monitored site and its subdomains before comparison. On a detected difference the sitemap is re-fetched within the same run and only URLs both observations agree on are reported, suppressing transient crawl flaps. """ type: Required[Literal["sitemap"]] @@ -126,7 +126,16 @@ class TargetMonitorsSitemapTarget(TypedDict, total=False): class TargetMonitorsExtractTarget(TypedDict, total=False): - """Watch a site's extracted structured data.""" + """Watch the monitor-relevant pages of a site for meaningful changes. + + A crawl guided by `schema`/`instructions` selects up to `max_pages` relevant pages to track; each run re-checks exactly those pages, and confirmed content changes are judged against the monitor's instructions. The tracked page set is refreshed by a periodic re-discovery crawl. + """ + + instructions: Required[str] + """ + Natural-language instructions guiding which pages and facts to track and which + changes to report. + """ type: Required[Literal["extract"]] @@ -135,19 +144,18 @@ class TargetMonitorsExtractTarget(TypedDict, total=False): follow_subdomains: bool - instructions: str - """Optional natural-language instructions guiding what to extract.""" - max_depth: int """Optional maximum link depth from the starting URL (0 = only the starting page).""" max_pages: int - """Maximum number of pages to analyze during extraction.""" + """Maximum number of pages to track.""" schema: Dict[str, object] - """JSON Schema describing the structured data to extract and watch for changes. + """JSON Schema describing the data you care about. - If omitted, a default summary + key-points schema is used. + It guides which pages are selected for tracking and gives the change judge + context on what matters. If omitted, a default summary + key-points schema is + used. """ diff --git a/src/context/dev/types/monitor_create_response.py b/src/context/dev/types/monitor_create_response.py index eeff843..961e3bb 100644 --- a/src/context/dev/types/monitor_create_response.py +++ b/src/context/dev/types/monitor_create_response.py @@ -19,6 +19,10 @@ "TargetMonitorsPageTarget", "TargetMonitorsSitemapTarget", "TargetMonitorsExtractTarget", + "Baseline", + "BaselineMonitorsPageBaseline", + "BaselineMonitorsSitemapBaseline", + "BaselineMonitorsExtractBaseline", "LastError", "Webhook", ] @@ -34,9 +38,9 @@ class ChangeDetectionMonitorsExactChangeDetection(BaseModel): class ChangeDetectionMonitorsSemanticChangeDetection(BaseModel): - """Detect meaning-level changes that match a natural language query.""" - - query: str + """ + Detect meaning-level changes to the extracted data, ignoring cosmetic or paraphrase-only differences. What is watched is determined by the extract target's `schema` and `instructions`. + """ type: Literal["semantic"] @@ -82,7 +86,7 @@ class TargetMonitorsPageTarget(BaseModel): class TargetMonitorsSitemapTarget(BaseModel): """Watch a sitemap for URL additions and removals. - Crawled URLs are normalized (lowercased host, no trailing slash/fragment) and scoped to the monitored site and its subdomains before comparison. A new URL set must be observed on two consecutive runs before a change is reported, suppressing one-run crawl flaps. + Crawled URLs are normalized (lowercased host, no trailing slash/fragment) and scoped to the monitored site and its subdomains before comparison. On a detected difference the sitemap is re-fetched within the same run and only URLs both observations agree on are reported, suppressing transient crawl flaps. """ type: Literal["sitemap"] @@ -101,7 +105,16 @@ class TargetMonitorsSitemapTarget(BaseModel): class TargetMonitorsExtractTarget(BaseModel): - """Watch a site's extracted structured data.""" + """Watch the monitor-relevant pages of a site for meaningful changes. + + A crawl guided by `schema`/`instructions` selects up to `max_pages` relevant pages to track; each run re-checks exactly those pages, and confirmed content changes are judged against the monitor's instructions. The tracked page set is refreshed by a periodic re-discovery crawl. + """ + + instructions: str + """ + Natural-language instructions guiding which pages and facts to track and which + changes to report. + """ type: Literal["extract"] @@ -110,19 +123,18 @@ class TargetMonitorsExtractTarget(BaseModel): follow_subdomains: Optional[bool] = None - instructions: Optional[str] = None - """Optional natural-language instructions guiding what to extract.""" - max_depth: Optional[int] = None """Optional maximum link depth from the starting URL (0 = only the starting page).""" max_pages: Optional[int] = None - """Maximum number of pages to analyze during extraction.""" + """Maximum number of pages to track.""" schema_: Optional[Dict[str, object]] = FieldInfo(alias="schema", default=None) - """JSON Schema describing the structured data to extract and watch for changes. + """JSON Schema describing the data you care about. - If omitted, a default summary + key-points schema is used. + It guides which pages are selected for tracking and gives the change judge + context on what matters. If omitted, a default summary + key-points schema is + used. """ @@ -132,6 +144,56 @@ class TargetMonitorsExtractTarget(BaseModel): ] +class BaselineMonitorsPageBaseline(BaseModel): + """Current baseline of a `page` monitor: the visible page text as last observed.""" + + captured_at: datetime + """When this baseline was last captured or replaced.""" + + text: str + """The page's visible text as last observed.""" + + +class BaselineMonitorsSitemapBaseline(BaseModel): + """ + Current baseline of a `sitemap` monitor: the normalized URL set as last observed. + """ + + captured_at: datetime + """When this baseline was last captured or replaced.""" + + url_count: int + """Number of URLs in the baseline.""" + + urls: List[str] + """The sitemap URLs as last observed (sorted, normalized).""" + + +class BaselineMonitorsExtractBaseline(BaseModel): + """ + Current baseline of an `extract` monitor: the pages it tracks and the structured data as last extracted. + """ + + captured_at: datetime + """When this baseline was last captured or replaced.""" + + data: object + """ + The extracted structured data, matching the monitor's extraction schema (same + shape as the /web/extract endpoint's `data`). Refreshed when the monitor + re-discovers its page set (at most about once a day); `null` when no extraction + has been captured yet. + """ + + urls_analyzed: List[str] + """The page URLs the monitor tracks and analyzes for changes.""" + + +Baseline: TypeAlias = Union[ + BaselineMonitorsPageBaseline, BaselineMonitorsSitemapBaseline, BaselineMonitorsExtractBaseline, None +] + + class LastError(BaseModel): """Error from the most recent failed run; null when the last run succeeded.""" @@ -197,6 +259,14 @@ class MonitorCreateResponse(BaseModel): updated_at: datetime + baseline: Optional[Baseline] = None + """ + Current baseline: the last observed value the monitor compares new snapshots + against. Its shape follows `target.type` (page/sitemap/extract). Only populated + on GET /monitors/{monitor_id}; null until the first baseline run completes (and + after a target or change_detection update, which resets the baseline). + """ + last_change_at: Optional[datetime] = None last_error: Optional[LastError] = None diff --git a/src/context/dev/types/monitor_list_params.py b/src/context/dev/types/monitor_list_params.py index e13f900..6750db5 100644 --- a/src/context/dev/types/monitor_list_params.py +++ b/src/context/dev/types/monitor_list_params.py @@ -20,10 +20,10 @@ class MonitorListParams(TypedDict, total=False): q: str """Free-text search term, matched against the fields named in `search_by`.""" - search_by: List[Literal["name", "url", "query", "tags"]] + search_by: List[Literal["name", "url", "instructions", "tags"]] """Comma-separated fields to search with `q`. - Defaults to all of them. Note `query` only exists on semantic monitors. + Defaults to all of them. Note `instructions` only exists on extract monitors. """ search_type: Literal["exact", "prefix"] diff --git a/src/context/dev/types/monitor_list_response.py b/src/context/dev/types/monitor_list_response.py index 40277aa..a862041 100644 --- a/src/context/dev/types/monitor_list_response.py +++ b/src/context/dev/types/monitor_list_response.py @@ -20,6 +20,10 @@ "DataTargetMonitorsPageTarget", "DataTargetMonitorsSitemapTarget", "DataTargetMonitorsExtractTarget", + "DataBaseline", + "DataBaselineMonitorsPageBaseline", + "DataBaselineMonitorsSitemapBaseline", + "DataBaselineMonitorsExtractBaseline", "DataLastError", "DataWebhook", ] @@ -35,9 +39,9 @@ class DataChangeDetectionMonitorsExactChangeDetection(BaseModel): class DataChangeDetectionMonitorsSemanticChangeDetection(BaseModel): - """Detect meaning-level changes that match a natural language query.""" - - query: str + """ + Detect meaning-level changes to the extracted data, ignoring cosmetic or paraphrase-only differences. What is watched is determined by the extract target's `schema` and `instructions`. + """ type: Literal["semantic"] @@ -83,7 +87,7 @@ class DataTargetMonitorsPageTarget(BaseModel): class DataTargetMonitorsSitemapTarget(BaseModel): """Watch a sitemap for URL additions and removals. - Crawled URLs are normalized (lowercased host, no trailing slash/fragment) and scoped to the monitored site and its subdomains before comparison. A new URL set must be observed on two consecutive runs before a change is reported, suppressing one-run crawl flaps. + Crawled URLs are normalized (lowercased host, no trailing slash/fragment) and scoped to the monitored site and its subdomains before comparison. On a detected difference the sitemap is re-fetched within the same run and only URLs both observations agree on are reported, suppressing transient crawl flaps. """ type: Literal["sitemap"] @@ -102,7 +106,16 @@ class DataTargetMonitorsSitemapTarget(BaseModel): class DataTargetMonitorsExtractTarget(BaseModel): - """Watch a site's extracted structured data.""" + """Watch the monitor-relevant pages of a site for meaningful changes. + + A crawl guided by `schema`/`instructions` selects up to `max_pages` relevant pages to track; each run re-checks exactly those pages, and confirmed content changes are judged against the monitor's instructions. The tracked page set is refreshed by a periodic re-discovery crawl. + """ + + instructions: str + """ + Natural-language instructions guiding which pages and facts to track and which + changes to report. + """ type: Literal["extract"] @@ -111,19 +124,18 @@ class DataTargetMonitorsExtractTarget(BaseModel): follow_subdomains: Optional[bool] = None - instructions: Optional[str] = None - """Optional natural-language instructions guiding what to extract.""" - max_depth: Optional[int] = None """Optional maximum link depth from the starting URL (0 = only the starting page).""" max_pages: Optional[int] = None - """Maximum number of pages to analyze during extraction.""" + """Maximum number of pages to track.""" schema_: Optional[Dict[str, object]] = FieldInfo(alias="schema", default=None) - """JSON Schema describing the structured data to extract and watch for changes. + """JSON Schema describing the data you care about. - If omitted, a default summary + key-points schema is used. + It guides which pages are selected for tracking and gives the change judge + context on what matters. If omitted, a default summary + key-points schema is + used. """ @@ -133,6 +145,56 @@ class DataTargetMonitorsExtractTarget(BaseModel): ] +class DataBaselineMonitorsPageBaseline(BaseModel): + """Current baseline of a `page` monitor: the visible page text as last observed.""" + + captured_at: datetime + """When this baseline was last captured or replaced.""" + + text: str + """The page's visible text as last observed.""" + + +class DataBaselineMonitorsSitemapBaseline(BaseModel): + """ + Current baseline of a `sitemap` monitor: the normalized URL set as last observed. + """ + + captured_at: datetime + """When this baseline was last captured or replaced.""" + + url_count: int + """Number of URLs in the baseline.""" + + urls: List[str] + """The sitemap URLs as last observed (sorted, normalized).""" + + +class DataBaselineMonitorsExtractBaseline(BaseModel): + """ + Current baseline of an `extract` monitor: the pages it tracks and the structured data as last extracted. + """ + + captured_at: datetime + """When this baseline was last captured or replaced.""" + + data: object + """ + The extracted structured data, matching the monitor's extraction schema (same + shape as the /web/extract endpoint's `data`). Refreshed when the monitor + re-discovers its page set (at most about once a day); `null` when no extraction + has been captured yet. + """ + + urls_analyzed: List[str] + """The page URLs the monitor tracks and analyzes for changes.""" + + +DataBaseline: TypeAlias = Union[ + DataBaselineMonitorsPageBaseline, DataBaselineMonitorsSitemapBaseline, DataBaselineMonitorsExtractBaseline, None +] + + class DataLastError(BaseModel): """Error from the most recent failed run; null when the last run succeeded.""" @@ -198,6 +260,14 @@ class Data(BaseModel): updated_at: datetime + baseline: Optional[DataBaseline] = None + """ + Current baseline: the last observed value the monitor compares new snapshots + against. Its shape follows `target.type` (page/sitemap/extract). Only populated + on GET /monitors/{monitor_id}; null until the first baseline run completes (and + after a target or change_detection update, which resets the baseline). + """ + last_change_at: Optional[datetime] = None last_error: Optional[DataLastError] = None diff --git a/src/context/dev/types/monitor_retrieve_change_response.py b/src/context/dev/types/monitor_retrieve_change_response.py index dade21a..115fa37 100644 --- a/src/context/dev/types/monitor_retrieve_change_response.py +++ b/src/context/dev/types/monitor_retrieve_change_response.py @@ -75,8 +75,6 @@ class MonitorRetrieveChangeResponse(BaseModel): matched_urls: Optional[List[str]] = None """At most 500 URLs are included; the corresponding count field is always exact.""" - query: Optional[str] = None - removed_url_count: Optional[int] = None removed_urls: Optional[List[str]] = None diff --git a/src/context/dev/types/monitor_retrieve_response.py b/src/context/dev/types/monitor_retrieve_response.py index 8032a1e..57bb13b 100644 --- a/src/context/dev/types/monitor_retrieve_response.py +++ b/src/context/dev/types/monitor_retrieve_response.py @@ -19,6 +19,10 @@ "TargetMonitorsPageTarget", "TargetMonitorsSitemapTarget", "TargetMonitorsExtractTarget", + "Baseline", + "BaselineMonitorsPageBaseline", + "BaselineMonitorsSitemapBaseline", + "BaselineMonitorsExtractBaseline", "LastError", "Webhook", ] @@ -34,9 +38,9 @@ class ChangeDetectionMonitorsExactChangeDetection(BaseModel): class ChangeDetectionMonitorsSemanticChangeDetection(BaseModel): - """Detect meaning-level changes that match a natural language query.""" - - query: str + """ + Detect meaning-level changes to the extracted data, ignoring cosmetic or paraphrase-only differences. What is watched is determined by the extract target's `schema` and `instructions`. + """ type: Literal["semantic"] @@ -82,7 +86,7 @@ class TargetMonitorsPageTarget(BaseModel): class TargetMonitorsSitemapTarget(BaseModel): """Watch a sitemap for URL additions and removals. - Crawled URLs are normalized (lowercased host, no trailing slash/fragment) and scoped to the monitored site and its subdomains before comparison. A new URL set must be observed on two consecutive runs before a change is reported, suppressing one-run crawl flaps. + Crawled URLs are normalized (lowercased host, no trailing slash/fragment) and scoped to the monitored site and its subdomains before comparison. On a detected difference the sitemap is re-fetched within the same run and only URLs both observations agree on are reported, suppressing transient crawl flaps. """ type: Literal["sitemap"] @@ -101,7 +105,16 @@ class TargetMonitorsSitemapTarget(BaseModel): class TargetMonitorsExtractTarget(BaseModel): - """Watch a site's extracted structured data.""" + """Watch the monitor-relevant pages of a site for meaningful changes. + + A crawl guided by `schema`/`instructions` selects up to `max_pages` relevant pages to track; each run re-checks exactly those pages, and confirmed content changes are judged against the monitor's instructions. The tracked page set is refreshed by a periodic re-discovery crawl. + """ + + instructions: str + """ + Natural-language instructions guiding which pages and facts to track and which + changes to report. + """ type: Literal["extract"] @@ -110,19 +123,18 @@ class TargetMonitorsExtractTarget(BaseModel): follow_subdomains: Optional[bool] = None - instructions: Optional[str] = None - """Optional natural-language instructions guiding what to extract.""" - max_depth: Optional[int] = None """Optional maximum link depth from the starting URL (0 = only the starting page).""" max_pages: Optional[int] = None - """Maximum number of pages to analyze during extraction.""" + """Maximum number of pages to track.""" schema_: Optional[Dict[str, object]] = FieldInfo(alias="schema", default=None) - """JSON Schema describing the structured data to extract and watch for changes. + """JSON Schema describing the data you care about. - If omitted, a default summary + key-points schema is used. + It guides which pages are selected for tracking and gives the change judge + context on what matters. If omitted, a default summary + key-points schema is + used. """ @@ -132,6 +144,56 @@ class TargetMonitorsExtractTarget(BaseModel): ] +class BaselineMonitorsPageBaseline(BaseModel): + """Current baseline of a `page` monitor: the visible page text as last observed.""" + + captured_at: datetime + """When this baseline was last captured or replaced.""" + + text: str + """The page's visible text as last observed.""" + + +class BaselineMonitorsSitemapBaseline(BaseModel): + """ + Current baseline of a `sitemap` monitor: the normalized URL set as last observed. + """ + + captured_at: datetime + """When this baseline was last captured or replaced.""" + + url_count: int + """Number of URLs in the baseline.""" + + urls: List[str] + """The sitemap URLs as last observed (sorted, normalized).""" + + +class BaselineMonitorsExtractBaseline(BaseModel): + """ + Current baseline of an `extract` monitor: the pages it tracks and the structured data as last extracted. + """ + + captured_at: datetime + """When this baseline was last captured or replaced.""" + + data: object + """ + The extracted structured data, matching the monitor's extraction schema (same + shape as the /web/extract endpoint's `data`). Refreshed when the monitor + re-discovers its page set (at most about once a day); `null` when no extraction + has been captured yet. + """ + + urls_analyzed: List[str] + """The page URLs the monitor tracks and analyzes for changes.""" + + +Baseline: TypeAlias = Union[ + BaselineMonitorsPageBaseline, BaselineMonitorsSitemapBaseline, BaselineMonitorsExtractBaseline, None +] + + class LastError(BaseModel): """Error from the most recent failed run; null when the last run succeeded.""" @@ -197,6 +259,14 @@ class MonitorRetrieveResponse(BaseModel): updated_at: datetime + baseline: Optional[Baseline] = None + """ + Current baseline: the last observed value the monitor compares new snapshots + against. Its shape follows `target.type` (page/sitemap/extract). Only populated + on GET /monitors/{monitor_id}; null until the first baseline run completes (and + after a target or change_detection update, which resets the baseline). + """ + last_change_at: Optional[datetime] = None last_error: Optional[LastError] = None diff --git a/src/context/dev/types/monitor_update_params.py b/src/context/dev/types/monitor_update_params.py index 7220002..ec98f08 100644 --- a/src/context/dev/types/monitor_update_params.py +++ b/src/context/dev/types/monitor_update_params.py @@ -56,9 +56,9 @@ class ChangeDetectionMonitorsExactChangeDetection(TypedDict, total=False): class ChangeDetectionMonitorsSemanticChangeDetection(TypedDict, total=False): - """Detect meaning-level changes that match a natural language query.""" - - query: Required[str] + """ + Detect meaning-level changes to the extracted data, ignoring cosmetic or paraphrase-only differences. What is watched is determined by the extract target's `schema` and `instructions`. + """ type: Required[Literal["semantic"]] @@ -103,7 +103,7 @@ class TargetMonitorsPageTarget(TypedDict, total=False): class TargetMonitorsSitemapTarget(TypedDict, total=False): """Watch a sitemap for URL additions and removals. - Crawled URLs are normalized (lowercased host, no trailing slash/fragment) and scoped to the monitored site and its subdomains before comparison. A new URL set must be observed on two consecutive runs before a change is reported, suppressing one-run crawl flaps. + Crawled URLs are normalized (lowercased host, no trailing slash/fragment) and scoped to the monitored site and its subdomains before comparison. On a detected difference the sitemap is re-fetched within the same run and only URLs both observations agree on are reported, suppressing transient crawl flaps. """ type: Required[Literal["sitemap"]] @@ -122,7 +122,16 @@ class TargetMonitorsSitemapTarget(TypedDict, total=False): class TargetMonitorsExtractTarget(TypedDict, total=False): - """Watch a site's extracted structured data.""" + """Watch the monitor-relevant pages of a site for meaningful changes. + + A crawl guided by `schema`/`instructions` selects up to `max_pages` relevant pages to track; each run re-checks exactly those pages, and confirmed content changes are judged against the monitor's instructions. The tracked page set is refreshed by a periodic re-discovery crawl. + """ + + instructions: Required[str] + """ + Natural-language instructions guiding which pages and facts to track and which + changes to report. + """ type: Required[Literal["extract"]] @@ -131,19 +140,18 @@ class TargetMonitorsExtractTarget(TypedDict, total=False): follow_subdomains: bool - instructions: str - """Optional natural-language instructions guiding what to extract.""" - max_depth: int """Optional maximum link depth from the starting URL (0 = only the starting page).""" max_pages: int - """Maximum number of pages to analyze during extraction.""" + """Maximum number of pages to track.""" schema: Dict[str, object] - """JSON Schema describing the structured data to extract and watch for changes. + """JSON Schema describing the data you care about. - If omitted, a default summary + key-points schema is used. + It guides which pages are selected for tracking and gives the change judge + context on what matters. If omitted, a default summary + key-points schema is + used. """ diff --git a/src/context/dev/types/monitor_update_response.py b/src/context/dev/types/monitor_update_response.py index a459787..3661ca0 100644 --- a/src/context/dev/types/monitor_update_response.py +++ b/src/context/dev/types/monitor_update_response.py @@ -19,6 +19,10 @@ "TargetMonitorsPageTarget", "TargetMonitorsSitemapTarget", "TargetMonitorsExtractTarget", + "Baseline", + "BaselineMonitorsPageBaseline", + "BaselineMonitorsSitemapBaseline", + "BaselineMonitorsExtractBaseline", "LastError", "Webhook", ] @@ -34,9 +38,9 @@ class ChangeDetectionMonitorsExactChangeDetection(BaseModel): class ChangeDetectionMonitorsSemanticChangeDetection(BaseModel): - """Detect meaning-level changes that match a natural language query.""" - - query: str + """ + Detect meaning-level changes to the extracted data, ignoring cosmetic or paraphrase-only differences. What is watched is determined by the extract target's `schema` and `instructions`. + """ type: Literal["semantic"] @@ -82,7 +86,7 @@ class TargetMonitorsPageTarget(BaseModel): class TargetMonitorsSitemapTarget(BaseModel): """Watch a sitemap for URL additions and removals. - Crawled URLs are normalized (lowercased host, no trailing slash/fragment) and scoped to the monitored site and its subdomains before comparison. A new URL set must be observed on two consecutive runs before a change is reported, suppressing one-run crawl flaps. + Crawled URLs are normalized (lowercased host, no trailing slash/fragment) and scoped to the monitored site and its subdomains before comparison. On a detected difference the sitemap is re-fetched within the same run and only URLs both observations agree on are reported, suppressing transient crawl flaps. """ type: Literal["sitemap"] @@ -101,7 +105,16 @@ class TargetMonitorsSitemapTarget(BaseModel): class TargetMonitorsExtractTarget(BaseModel): - """Watch a site's extracted structured data.""" + """Watch the monitor-relevant pages of a site for meaningful changes. + + A crawl guided by `schema`/`instructions` selects up to `max_pages` relevant pages to track; each run re-checks exactly those pages, and confirmed content changes are judged against the monitor's instructions. The tracked page set is refreshed by a periodic re-discovery crawl. + """ + + instructions: str + """ + Natural-language instructions guiding which pages and facts to track and which + changes to report. + """ type: Literal["extract"] @@ -110,19 +123,18 @@ class TargetMonitorsExtractTarget(BaseModel): follow_subdomains: Optional[bool] = None - instructions: Optional[str] = None - """Optional natural-language instructions guiding what to extract.""" - max_depth: Optional[int] = None """Optional maximum link depth from the starting URL (0 = only the starting page).""" max_pages: Optional[int] = None - """Maximum number of pages to analyze during extraction.""" + """Maximum number of pages to track.""" schema_: Optional[Dict[str, object]] = FieldInfo(alias="schema", default=None) - """JSON Schema describing the structured data to extract and watch for changes. + """JSON Schema describing the data you care about. - If omitted, a default summary + key-points schema is used. + It guides which pages are selected for tracking and gives the change judge + context on what matters. If omitted, a default summary + key-points schema is + used. """ @@ -132,6 +144,56 @@ class TargetMonitorsExtractTarget(BaseModel): ] +class BaselineMonitorsPageBaseline(BaseModel): + """Current baseline of a `page` monitor: the visible page text as last observed.""" + + captured_at: datetime + """When this baseline was last captured or replaced.""" + + text: str + """The page's visible text as last observed.""" + + +class BaselineMonitorsSitemapBaseline(BaseModel): + """ + Current baseline of a `sitemap` monitor: the normalized URL set as last observed. + """ + + captured_at: datetime + """When this baseline was last captured or replaced.""" + + url_count: int + """Number of URLs in the baseline.""" + + urls: List[str] + """The sitemap URLs as last observed (sorted, normalized).""" + + +class BaselineMonitorsExtractBaseline(BaseModel): + """ + Current baseline of an `extract` monitor: the pages it tracks and the structured data as last extracted. + """ + + captured_at: datetime + """When this baseline was last captured or replaced.""" + + data: object + """ + The extracted structured data, matching the monitor's extraction schema (same + shape as the /web/extract endpoint's `data`). Refreshed when the monitor + re-discovers its page set (at most about once a day); `null` when no extraction + has been captured yet. + """ + + urls_analyzed: List[str] + """The page URLs the monitor tracks and analyzes for changes.""" + + +Baseline: TypeAlias = Union[ + BaselineMonitorsPageBaseline, BaselineMonitorsSitemapBaseline, BaselineMonitorsExtractBaseline, None +] + + class LastError(BaseModel): """Error from the most recent failed run; null when the last run succeeded.""" @@ -197,6 +259,14 @@ class MonitorUpdateResponse(BaseModel): updated_at: datetime + baseline: Optional[Baseline] = None + """ + Current baseline: the last observed value the monitor compares new snapshots + against. Its shape follows `target.type` (page/sitemap/extract). Only populated + on GET /monitors/{monitor_id}; null until the first baseline run completes (and + after a target or change_detection update, which resets the baseline). + """ + last_change_at: Optional[datetime] = None last_error: Optional[LastError] = None diff --git a/tests/api_resources/test_brand.py b/tests/api_resources/test_brand.py index 67f64eb..7125a15 100644 --- a/tests/api_resources/test_brand.py +++ b/tests/api_resources/test_brand.py @@ -225,6 +225,53 @@ def test_streaming_response_retrieve_overload_4(self, client: ContextDev) -> Non @pytest.mark.skip(reason="Mock server tests are disabled") @parametrize def test_method_retrieve_overload_5(self, client: ContextDev) -> None: + brand = client.brand.retrieve( + direct_url="https://example.com", + type="by_direct_url", + ) + assert_matches_type(BrandRetrieveResponse, brand, path=["response"]) + + @pytest.mark.skip(reason="Mock server tests are disabled") + @parametrize + def test_method_retrieve_with_all_params_overload_5(self, client: ContextDev) -> None: + brand = client.brand.retrieve( + direct_url="https://example.com", + type="by_direct_url", + timeout_ms=1000, + ) + assert_matches_type(BrandRetrieveResponse, brand, path=["response"]) + + @pytest.mark.skip(reason="Mock server tests are disabled") + @parametrize + def test_raw_response_retrieve_overload_5(self, client: ContextDev) -> None: + response = client.brand.with_raw_response.retrieve( + direct_url="https://example.com", + type="by_direct_url", + ) + + assert response.is_closed is True + assert response.http_request.headers.get("X-Stainless-Lang") == "python" + brand = response.parse() + assert_matches_type(BrandRetrieveResponse, brand, path=["response"]) + + @pytest.mark.skip(reason="Mock server tests are disabled") + @parametrize + def test_streaming_response_retrieve_overload_5(self, client: ContextDev) -> None: + with client.brand.with_streaming_response.retrieve( + direct_url="https://example.com", + type="by_direct_url", + ) as response: + assert not response.is_closed + assert response.http_request.headers.get("X-Stainless-Lang") == "python" + + brand = response.parse() + assert_matches_type(BrandRetrieveResponse, brand, path=["response"]) + + assert cast(Any, response.is_closed) is True + + @pytest.mark.skip(reason="Mock server tests are disabled") + @parametrize + def test_method_retrieve_overload_6(self, client: ContextDev) -> None: brand = client.brand.retrieve( transaction_info="xxx", type="by_transaction", @@ -233,7 +280,7 @@ def test_method_retrieve_overload_5(self, client: ContextDev) -> None: @pytest.mark.skip(reason="Mock server tests are disabled") @parametrize - def test_method_retrieve_with_all_params_overload_5(self, client: ContextDev) -> None: + def test_method_retrieve_with_all_params_overload_6(self, client: ContextDev) -> None: brand = client.brand.retrieve( transaction_info="xxx", type="by_transaction", @@ -250,7 +297,7 @@ def test_method_retrieve_with_all_params_overload_5(self, client: ContextDev) -> @pytest.mark.skip(reason="Mock server tests are disabled") @parametrize - def test_raw_response_retrieve_overload_5(self, client: ContextDev) -> None: + def test_raw_response_retrieve_overload_6(self, client: ContextDev) -> None: response = client.brand.with_raw_response.retrieve( transaction_info="xxx", type="by_transaction", @@ -263,7 +310,7 @@ def test_raw_response_retrieve_overload_5(self, client: ContextDev) -> None: @pytest.mark.skip(reason="Mock server tests are disabled") @parametrize - def test_streaming_response_retrieve_overload_5(self, client: ContextDev) -> None: + def test_streaming_response_retrieve_overload_6(self, client: ContextDev) -> None: with client.brand.with_streaming_response.retrieve( transaction_info="xxx", type="by_transaction", @@ -531,6 +578,53 @@ async def test_streaming_response_retrieve_overload_4(self, async_client: AsyncC @pytest.mark.skip(reason="Mock server tests are disabled") @parametrize async def test_method_retrieve_overload_5(self, async_client: AsyncContextDev) -> None: + brand = await async_client.brand.retrieve( + direct_url="https://example.com", + type="by_direct_url", + ) + assert_matches_type(BrandRetrieveResponse, brand, path=["response"]) + + @pytest.mark.skip(reason="Mock server tests are disabled") + @parametrize + async def test_method_retrieve_with_all_params_overload_5(self, async_client: AsyncContextDev) -> None: + brand = await async_client.brand.retrieve( + direct_url="https://example.com", + type="by_direct_url", + timeout_ms=1000, + ) + assert_matches_type(BrandRetrieveResponse, brand, path=["response"]) + + @pytest.mark.skip(reason="Mock server tests are disabled") + @parametrize + async def test_raw_response_retrieve_overload_5(self, async_client: AsyncContextDev) -> None: + response = await async_client.brand.with_raw_response.retrieve( + direct_url="https://example.com", + type="by_direct_url", + ) + + assert response.is_closed is True + assert response.http_request.headers.get("X-Stainless-Lang") == "python" + brand = await response.parse() + assert_matches_type(BrandRetrieveResponse, brand, path=["response"]) + + @pytest.mark.skip(reason="Mock server tests are disabled") + @parametrize + async def test_streaming_response_retrieve_overload_5(self, async_client: AsyncContextDev) -> None: + async with async_client.brand.with_streaming_response.retrieve( + direct_url="https://example.com", + type="by_direct_url", + ) as response: + assert not response.is_closed + assert response.http_request.headers.get("X-Stainless-Lang") == "python" + + brand = await response.parse() + assert_matches_type(BrandRetrieveResponse, brand, path=["response"]) + + assert cast(Any, response.is_closed) is True + + @pytest.mark.skip(reason="Mock server tests are disabled") + @parametrize + async def test_method_retrieve_overload_6(self, async_client: AsyncContextDev) -> None: brand = await async_client.brand.retrieve( transaction_info="xxx", type="by_transaction", @@ -539,7 +633,7 @@ async def test_method_retrieve_overload_5(self, async_client: AsyncContextDev) - @pytest.mark.skip(reason="Mock server tests are disabled") @parametrize - async def test_method_retrieve_with_all_params_overload_5(self, async_client: AsyncContextDev) -> None: + async def test_method_retrieve_with_all_params_overload_6(self, async_client: AsyncContextDev) -> None: brand = await async_client.brand.retrieve( transaction_info="xxx", type="by_transaction", @@ -556,7 +650,7 @@ async def test_method_retrieve_with_all_params_overload_5(self, async_client: As @pytest.mark.skip(reason="Mock server tests are disabled") @parametrize - async def test_raw_response_retrieve_overload_5(self, async_client: AsyncContextDev) -> None: + async def test_raw_response_retrieve_overload_6(self, async_client: AsyncContextDev) -> None: response = await async_client.brand.with_raw_response.retrieve( transaction_info="xxx", type="by_transaction", @@ -569,7 +663,7 @@ async def test_raw_response_retrieve_overload_5(self, async_client: AsyncContext @pytest.mark.skip(reason="Mock server tests are disabled") @parametrize - async def test_streaming_response_retrieve_overload_5(self, async_client: AsyncContextDev) -> None: + async def test_streaming_response_retrieve_overload_6(self, async_client: AsyncContextDev) -> None: async with async_client.brand.with_streaming_response.retrieve( transaction_info="xxx", type="by_transaction",