Skip to content

Commit fc0ae29

Browse files
feat(api): api update
1 parent e33005e commit fc0ae29

4 files changed

Lines changed: 247 additions & 10 deletions

File tree

‎.stats.yml‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
configured_endpoints: 25
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/context-dev/context.dev-2a217dd4edf98594fcf6d1e70d84c7305eec80cea96318dfe08a743cbd2468a5.yml
3-
openapi_spec_hash: 1f32b54c3c7623d246c5c90e4300e068
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/context-dev/context.dev-aea83574a2e2963acf3791ff66f3b2d552e8b07ff00e2705ccd9a96cb3756a6e.yml
3+
openapi_spec_hash: 3a11cd57f8e308484a461522a7f634ee
44
config_hash: eebf67a9c2ccfe2641980c154d7a698e

‎src/context/dev/types/web_web_crawl_md_response.py‎

Lines changed: 75 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
22

3-
from typing import List, Optional
3+
from typing import Dict, List, Union, Optional
44

55
from pydantic import Field as FieldInfo
66

77
from .._models import BaseModel
88

9-
__all__ = ["WebWebCrawlMdResponse", "Metadata", "Result", "ResultMetadata", "KeyMetadata"]
9+
__all__ = ["WebWebCrawlMdResponse", "Metadata", "Result", "ResultMetadata", "ResultMetadataAlternate", "KeyMetadata"]
1010

1111

1212
class Metadata(BaseModel):
@@ -29,21 +29,92 @@ class Metadata(BaseModel):
2929
"""Total number of URLs crawled"""
3030

3131

32+
class ResultMetadataAlternate(BaseModel):
33+
href: str
34+
"""Resolved alternate URL."""
35+
36+
hreflang: Optional[str] = None
37+
"""Language or locale for the alternate URL, when present."""
38+
39+
title: Optional[str] = None
40+
"""Alternate resource title, when present."""
41+
42+
type: Optional[str] = None
43+
"""Alternate resource MIME type, when present."""
44+
45+
3246
class ResultMetadata(BaseModel):
3347
crawl_depth: int = FieldInfo(alias="crawlDepth")
3448
"""Depth relative to the start URL. 0 = start URL, 1 = one link away."""
3549

50+
final_url: str = FieldInfo(alias="finalUrl")
51+
"""Final URL scraped after redirects or scraper fallback, when known.
52+
53+
Falls back to sourceUrl when unavailable.
54+
"""
55+
56+
source_url: str = FieldInfo(alias="sourceUrl")
57+
"""Original URL requested by the caller."""
58+
3659
status_code: int = FieldInfo(alias="statusCode")
3760
"""HTTP status code of the response"""
3861

3962
success: bool
4063
"""true if the page was fetched and parsed successfully"""
4164

4265
title: str
43-
"""The page's <title> content (empty string if unavailable)"""
66+
"""Best page title extracted from the page (empty string if unavailable)."""
4467

4568
url: str
46-
"""The URL that was fetched"""
69+
"""The crawl URL fetched for this page."""
70+
71+
additional_meta: Optional[Dict[str, Union[str, List[str]]]] = FieldInfo(alias="additionalMeta", default=None)
72+
"""Additional non-social meta tags not promoted to top-level metadata fields."""
73+
74+
alternates: Optional[List[ResultMetadataAlternate]] = None
75+
"""Resolved alternate links from link rel=alternate tags."""
76+
77+
author: Optional[str] = None
78+
"""Author metadata, when present."""
79+
80+
canonical_url: Optional[str] = FieldInfo(alias="canonicalUrl", default=None)
81+
"""Resolved canonical URL, when present."""
82+
83+
description: Optional[str] = None
84+
"""Best description extracted from standard, Open Graph, or Twitter metadata."""
85+
86+
favicon: Optional[str] = None
87+
"""Resolved favicon URL, when present."""
88+
89+
image: Optional[str] = None
90+
"""Primary resolved preview image from Open Graph, Twitter, or image metadata."""
91+
92+
json_ld: Optional[List[Dict[str, object]]] = FieldInfo(alias="jsonLd", default=None)
93+
"""JSON-LD structured data blocks parsed from the page."""
94+
95+
keywords: Optional[List[str]] = None
96+
"""Keywords extracted from the page's keywords meta tag."""
97+
98+
language: Optional[str] = None
99+
"""Language extracted from html lang or language meta tags."""
100+
101+
modified_time: Optional[str] = FieldInfo(alias="modifiedTime", default=None)
102+
"""Modified timestamp/date from page metadata, when present."""
103+
104+
open_graph: Optional[Dict[str, Union[str, List[str]]]] = FieldInfo(alias="openGraph", default=None)
105+
"""Open Graph metadata with the og: prefix removed and keys camel-cased."""
106+
107+
published_time: Optional[str] = FieldInfo(alias="publishedTime", default=None)
108+
"""Published timestamp/date from page metadata, when present."""
109+
110+
robots: Optional[str] = None
111+
"""Robots meta directive, when present."""
112+
113+
site_name: Optional[str] = FieldInfo(alias="siteName", default=None)
114+
"""Site or application name from page metadata."""
115+
116+
twitter: Optional[Dict[str, Union[str, List[str]]]] = None
117+
"""Twitter card metadata with the twitter: prefix removed and keys camel-cased."""
47118

48119

49120
class Result(BaseModel):

‎src/context/dev/types/web_web_scrape_html_response.py‎

Lines changed: 85 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,91 @@
11
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
22

3-
from typing import Optional
3+
from typing import Dict, List, Union, Optional
44
from typing_extensions import Literal
55

6+
from pydantic import Field as FieldInfo
7+
68
from .._models import BaseModel
79

8-
__all__ = ["WebWebScrapeHTMLResponse", "KeyMetadata"]
10+
__all__ = ["WebWebScrapeHTMLResponse", "Metadata", "MetadataAlternate", "KeyMetadata"]
11+
12+
13+
class MetadataAlternate(BaseModel):
14+
href: str
15+
"""Resolved alternate URL."""
16+
17+
hreflang: Optional[str] = None
18+
"""Language or locale for the alternate URL, when present."""
19+
20+
title: Optional[str] = None
21+
"""Alternate resource title, when present."""
22+
23+
type: Optional[str] = None
24+
"""Alternate resource MIME type, when present."""
25+
26+
27+
class Metadata(BaseModel):
28+
"""Metadata extracted from the scraped page HTML."""
29+
30+
final_url: str = FieldInfo(alias="finalUrl")
31+
"""Final URL scraped after redirects or scraper fallback, when known.
32+
33+
Falls back to sourceUrl when unavailable.
34+
"""
35+
36+
source_url: str = FieldInfo(alias="sourceUrl")
37+
"""Original URL requested by the caller."""
38+
39+
additional_meta: Optional[Dict[str, Union[str, List[str]]]] = FieldInfo(alias="additionalMeta", default=None)
40+
"""Additional non-social meta tags not promoted to top-level metadata fields."""
41+
42+
alternates: Optional[List[MetadataAlternate]] = None
43+
"""Resolved alternate links from link rel=alternate tags."""
44+
45+
author: Optional[str] = None
46+
"""Author metadata, when present."""
47+
48+
canonical_url: Optional[str] = FieldInfo(alias="canonicalUrl", default=None)
49+
"""Resolved canonical URL, when present."""
50+
51+
description: Optional[str] = None
52+
"""Best description extracted from standard, Open Graph, or Twitter metadata."""
53+
54+
favicon: Optional[str] = None
55+
"""Resolved favicon URL, when present."""
56+
57+
image: Optional[str] = None
58+
"""Primary resolved preview image from Open Graph, Twitter, or image metadata."""
59+
60+
json_ld: Optional[List[Dict[str, object]]] = FieldInfo(alias="jsonLd", default=None)
61+
"""JSON-LD structured data blocks parsed from the page."""
62+
63+
keywords: Optional[List[str]] = None
64+
"""Keywords extracted from the page's keywords meta tag."""
65+
66+
language: Optional[str] = None
67+
"""Language extracted from html lang or language meta tags."""
68+
69+
modified_time: Optional[str] = FieldInfo(alias="modifiedTime", default=None)
70+
"""Modified timestamp/date from page metadata, when present."""
71+
72+
open_graph: Optional[Dict[str, Union[str, List[str]]]] = FieldInfo(alias="openGraph", default=None)
73+
"""Open Graph metadata with the og: prefix removed and keys camel-cased."""
74+
75+
published_time: Optional[str] = FieldInfo(alias="publishedTime", default=None)
76+
"""Published timestamp/date from page metadata, when present."""
77+
78+
robots: Optional[str] = None
79+
"""Robots meta directive, when present."""
80+
81+
site_name: Optional[str] = FieldInfo(alias="siteName", default=None)
82+
"""Site or application name from page metadata."""
83+
84+
title: Optional[str] = None
85+
"""Best title extracted from the page."""
86+
87+
twitter: Optional[Dict[str, Union[str, List[str]]]] = None
88+
"""Twitter card metadata with the twitter: prefix removed and keys camel-cased."""
989

1090

1191
class KeyMetadata(BaseModel):
@@ -30,6 +110,9 @@ class WebWebScrapeHTMLResponse(BaseModel):
30110
underlying XML instead — see the `type` field.
31111
"""
32112

113+
metadata: Metadata
114+
"""Metadata extracted from the scraped page HTML."""
115+
33116
success: Literal[True]
34117
"""Indicates success"""
35118

‎src/context/dev/types/web_web_scrape_md_response.py‎

Lines changed: 85 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,91 @@
11
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
22

3-
from typing import Optional
3+
from typing import Dict, List, Union, Optional
44
from typing_extensions import Literal
55

6+
from pydantic import Field as FieldInfo
7+
68
from .._models import BaseModel
79

8-
__all__ = ["WebWebScrapeMdResponse", "KeyMetadata"]
10+
__all__ = ["WebWebScrapeMdResponse", "Metadata", "MetadataAlternate", "KeyMetadata"]
11+
12+
13+
class MetadataAlternate(BaseModel):
14+
href: str
15+
"""Resolved alternate URL."""
16+
17+
hreflang: Optional[str] = None
18+
"""Language or locale for the alternate URL, when present."""
19+
20+
title: Optional[str] = None
21+
"""Alternate resource title, when present."""
22+
23+
type: Optional[str] = None
24+
"""Alternate resource MIME type, when present."""
25+
26+
27+
class Metadata(BaseModel):
28+
"""Metadata extracted from the scraped page HTML."""
29+
30+
final_url: str = FieldInfo(alias="finalUrl")
31+
"""Final URL scraped after redirects or scraper fallback, when known.
32+
33+
Falls back to sourceUrl when unavailable.
34+
"""
35+
36+
source_url: str = FieldInfo(alias="sourceUrl")
37+
"""Original URL requested by the caller."""
38+
39+
additional_meta: Optional[Dict[str, Union[str, List[str]]]] = FieldInfo(alias="additionalMeta", default=None)
40+
"""Additional non-social meta tags not promoted to top-level metadata fields."""
41+
42+
alternates: Optional[List[MetadataAlternate]] = None
43+
"""Resolved alternate links from link rel=alternate tags."""
44+
45+
author: Optional[str] = None
46+
"""Author metadata, when present."""
47+
48+
canonical_url: Optional[str] = FieldInfo(alias="canonicalUrl", default=None)
49+
"""Resolved canonical URL, when present."""
50+
51+
description: Optional[str] = None
52+
"""Best description extracted from standard, Open Graph, or Twitter metadata."""
53+
54+
favicon: Optional[str] = None
55+
"""Resolved favicon URL, when present."""
56+
57+
image: Optional[str] = None
58+
"""Primary resolved preview image from Open Graph, Twitter, or image metadata."""
59+
60+
json_ld: Optional[List[Dict[str, object]]] = FieldInfo(alias="jsonLd", default=None)
61+
"""JSON-LD structured data blocks parsed from the page."""
62+
63+
keywords: Optional[List[str]] = None
64+
"""Keywords extracted from the page's keywords meta tag."""
65+
66+
language: Optional[str] = None
67+
"""Language extracted from html lang or language meta tags."""
68+
69+
modified_time: Optional[str] = FieldInfo(alias="modifiedTime", default=None)
70+
"""Modified timestamp/date from page metadata, when present."""
71+
72+
open_graph: Optional[Dict[str, Union[str, List[str]]]] = FieldInfo(alias="openGraph", default=None)
73+
"""Open Graph metadata with the og: prefix removed and keys camel-cased."""
74+
75+
published_time: Optional[str] = FieldInfo(alias="publishedTime", default=None)
76+
"""Published timestamp/date from page metadata, when present."""
77+
78+
robots: Optional[str] = None
79+
"""Robots meta directive, when present."""
80+
81+
site_name: Optional[str] = FieldInfo(alias="siteName", default=None)
82+
"""Site or application name from page metadata."""
83+
84+
title: Optional[str] = None
85+
"""Best title extracted from the page."""
86+
87+
twitter: Optional[Dict[str, Union[str, List[str]]]] = None
88+
"""Twitter card metadata with the twitter: prefix removed and keys camel-cased."""
989

1090

1191
class KeyMetadata(BaseModel):
@@ -25,6 +105,9 @@ class WebWebScrapeMdResponse(BaseModel):
25105
markdown: str
26106
"""Page content converted to GitHub Flavored Markdown"""
27107

108+
metadata: Metadata
109+
"""Metadata extracted from the scraped page HTML."""
110+
28111
success: Literal[True]
29112
"""Indicates success"""
30113

0 commit comments

Comments
 (0)