brand.dev 0.25.0 → 0.26.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 +4 -4
- data/CHANGELOG.md +8 -0
- data/README.md +1 -1
- data/lib/brand_dev/models/brand_web_scrape_html_params.rb +22 -0
- data/lib/brand_dev/models/brand_web_scrape_html_response.rb +45 -0
- data/lib/brand_dev/models/brand_web_scrape_images_params.rb +22 -0
- data/lib/brand_dev/models/brand_web_scrape_images_response.rb +111 -0
- data/lib/brand_dev/models/brand_web_scrape_md_params.rb +42 -0
- data/lib/brand_dev/models/brand_web_scrape_md_response.rb +45 -0
- data/lib/brand_dev/models/brand_web_scrape_sitemap_params.rb +26 -0
- data/lib/brand_dev/models/brand_web_scrape_sitemap_response.rb +91 -0
- data/lib/brand_dev/models.rb +8 -0
- data/lib/brand_dev/resources/brand.rb +105 -0
- data/lib/brand_dev/version.rb +1 -1
- data/lib/brand_dev.rb +8 -0
- data/rbi/brand_dev/models/brand_web_scrape_html_params.rbi +40 -0
- data/rbi/brand_dev/models/brand_web_scrape_html_response.rbi +92 -0
- data/rbi/brand_dev/models/brand_web_scrape_images_params.rbi +43 -0
- data/rbi/brand_dev/models/brand_web_scrape_images_response.rbi +259 -0
- data/rbi/brand_dev/models/brand_web_scrape_md_params.rbi +67 -0
- data/rbi/brand_dev/models/brand_web_scrape_md_response.rbi +92 -0
- data/rbi/brand_dev/models/brand_web_scrape_sitemap_params.rbi +45 -0
- data/rbi/brand_dev/models/brand_web_scrape_sitemap_response.rbi +167 -0
- data/rbi/brand_dev/models.rbi +8 -0
- data/rbi/brand_dev/resources/brand.rbi +71 -0
- data/sig/brand_dev/models/brand_web_scrape_html_params.rbs +20 -0
- data/sig/brand_dev/models/brand_web_scrape_html_response.rbs +40 -0
- data/sig/brand_dev/models/brand_web_scrape_images_params.rbs +20 -0
- data/sig/brand_dev/models/brand_web_scrape_images_response.rbs +98 -0
- data/sig/brand_dev/models/brand_web_scrape_md_params.rbs +36 -0
- data/sig/brand_dev/models/brand_web_scrape_md_response.rbs +40 -0
- data/sig/brand_dev/models/brand_web_scrape_sitemap_params.rbs +23 -0
- data/sig/brand_dev/models/brand_web_scrape_sitemap_response.rbs +77 -0
- data/sig/brand_dev/models.rbs +8 -0
- data/sig/brand_dev/resources/brand.rbs +22 -0
- metadata +26 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: da2f382bfc60d07b03395142e31176eb88b2640e8a5eb2aa6f83156464d409ae
|
|
4
|
+
data.tar.gz: e8f182c0ae6057bce6ad230ccb2e36a6dfec2c1723e5135a2e5ada98841d7f28
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: d7d6d1ffebf9c3cf4e7c5e1a2ff28278fde05b607679987c0d91ca6d0809919bdae6deb4ff39abda7e4f87dfaec83505f6cd4948632fab18e45ee711a5946a1c
|
|
7
|
+
data.tar.gz: 958e744b9d622e3c0f36f4cac53681a8bb85f3a4090b2e827b9e15d9b53f71cca873b916fda66a9eb931bb9626ced4f9314be30740d087b0aa32040c359066ae
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.26.0 (2026-02-23)
|
|
4
|
+
|
|
5
|
+
Full Changelog: [v0.25.0...v0.26.0](https://github.com/brand-dot-dev/ruby-sdk/compare/v0.25.0...v0.26.0)
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
* **api:** manual updates ([bfe9b29](https://github.com/brand-dot-dev/ruby-sdk/commit/bfe9b298f2c51f4d2762da550344251c2b0b7256))
|
|
10
|
+
|
|
3
11
|
## 0.25.0 (2026-02-22)
|
|
4
12
|
|
|
5
13
|
Full Changelog: [v0.24.0...v0.25.0](https://github.com/brand-dot-dev/ruby-sdk/compare/v0.24.0...v0.25.0)
|
data/README.md
CHANGED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module BrandDev
|
|
4
|
+
module Models
|
|
5
|
+
# @see BrandDev::Resources::Brand#web_scrape_html
|
|
6
|
+
class BrandWebScrapeHTMLParams < BrandDev::Internal::Type::BaseModel
|
|
7
|
+
extend BrandDev::Internal::Type::RequestParameters::Converter
|
|
8
|
+
include BrandDev::Internal::Type::RequestParameters
|
|
9
|
+
|
|
10
|
+
# @!attribute url
|
|
11
|
+
# Full URL to scrape (must include http:// or https:// protocol)
|
|
12
|
+
#
|
|
13
|
+
# @return [String]
|
|
14
|
+
required :url, String
|
|
15
|
+
|
|
16
|
+
# @!method initialize(url:, request_options: {})
|
|
17
|
+
# @param url [String] Full URL to scrape (must include http:// or https:// protocol)
|
|
18
|
+
#
|
|
19
|
+
# @param request_options [BrandDev::RequestOptions, Hash{Symbol=>Object}]
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module BrandDev
|
|
4
|
+
module Models
|
|
5
|
+
# @see BrandDev::Resources::Brand#web_scrape_html
|
|
6
|
+
class BrandWebScrapeHTMLResponse < BrandDev::Internal::Type::BaseModel
|
|
7
|
+
# @!attribute html
|
|
8
|
+
# Raw HTML content of the page
|
|
9
|
+
#
|
|
10
|
+
# @return [String]
|
|
11
|
+
required :html, String
|
|
12
|
+
|
|
13
|
+
# @!attribute success
|
|
14
|
+
# Indicates success
|
|
15
|
+
#
|
|
16
|
+
# @return [Boolean, BrandDev::Models::BrandWebScrapeHTMLResponse::Success]
|
|
17
|
+
required :success, enum: -> { BrandDev::Models::BrandWebScrapeHTMLResponse::Success }
|
|
18
|
+
|
|
19
|
+
# @!attribute url
|
|
20
|
+
# The URL that was scraped
|
|
21
|
+
#
|
|
22
|
+
# @return [String]
|
|
23
|
+
required :url, String
|
|
24
|
+
|
|
25
|
+
# @!method initialize(html:, success:, url:)
|
|
26
|
+
# @param html [String] Raw HTML content of the page
|
|
27
|
+
#
|
|
28
|
+
# @param success [Boolean, BrandDev::Models::BrandWebScrapeHTMLResponse::Success] Indicates success
|
|
29
|
+
#
|
|
30
|
+
# @param url [String] The URL that was scraped
|
|
31
|
+
|
|
32
|
+
# Indicates success
|
|
33
|
+
#
|
|
34
|
+
# @see BrandDev::Models::BrandWebScrapeHTMLResponse#success
|
|
35
|
+
module Success
|
|
36
|
+
extend BrandDev::Internal::Type::Enum
|
|
37
|
+
|
|
38
|
+
TRUE = true
|
|
39
|
+
|
|
40
|
+
# @!method self.values
|
|
41
|
+
# @return [Array<Boolean>]
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module BrandDev
|
|
4
|
+
module Models
|
|
5
|
+
# @see BrandDev::Resources::Brand#web_scrape_images
|
|
6
|
+
class BrandWebScrapeImagesParams < BrandDev::Internal::Type::BaseModel
|
|
7
|
+
extend BrandDev::Internal::Type::RequestParameters::Converter
|
|
8
|
+
include BrandDev::Internal::Type::RequestParameters
|
|
9
|
+
|
|
10
|
+
# @!attribute url
|
|
11
|
+
# Full URL to scrape images from (must include http:// or https:// protocol)
|
|
12
|
+
#
|
|
13
|
+
# @return [String]
|
|
14
|
+
required :url, String
|
|
15
|
+
|
|
16
|
+
# @!method initialize(url:, request_options: {})
|
|
17
|
+
# @param url [String] Full URL to scrape images from (must include http:// or https:// protocol)
|
|
18
|
+
#
|
|
19
|
+
# @param request_options [BrandDev::RequestOptions, Hash{Symbol=>Object}]
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module BrandDev
|
|
4
|
+
module Models
|
|
5
|
+
# @see BrandDev::Resources::Brand#web_scrape_images
|
|
6
|
+
class BrandWebScrapeImagesResponse < BrandDev::Internal::Type::BaseModel
|
|
7
|
+
# @!attribute images
|
|
8
|
+
# Array of scraped images
|
|
9
|
+
#
|
|
10
|
+
# @return [Array<BrandDev::Models::BrandWebScrapeImagesResponse::Image>]
|
|
11
|
+
required :images,
|
|
12
|
+
-> { BrandDev::Internal::Type::ArrayOf[BrandDev::Models::BrandWebScrapeImagesResponse::Image] }
|
|
13
|
+
|
|
14
|
+
# @!attribute success
|
|
15
|
+
# Indicates success
|
|
16
|
+
#
|
|
17
|
+
# @return [Boolean, BrandDev::Models::BrandWebScrapeImagesResponse::Success]
|
|
18
|
+
required :success, enum: -> { BrandDev::Models::BrandWebScrapeImagesResponse::Success }
|
|
19
|
+
|
|
20
|
+
# @!attribute url
|
|
21
|
+
# The URL that was scraped
|
|
22
|
+
#
|
|
23
|
+
# @return [String]
|
|
24
|
+
required :url, String
|
|
25
|
+
|
|
26
|
+
# @!method initialize(images:, success:, url:)
|
|
27
|
+
# @param images [Array<BrandDev::Models::BrandWebScrapeImagesResponse::Image>] Array of scraped images
|
|
28
|
+
#
|
|
29
|
+
# @param success [Boolean, BrandDev::Models::BrandWebScrapeImagesResponse::Success] Indicates success
|
|
30
|
+
#
|
|
31
|
+
# @param url [String] The URL that was scraped
|
|
32
|
+
|
|
33
|
+
class Image < BrandDev::Internal::Type::BaseModel
|
|
34
|
+
# @!attribute alt
|
|
35
|
+
# Alt text of the image, or null if not present
|
|
36
|
+
#
|
|
37
|
+
# @return [String, nil]
|
|
38
|
+
required :alt, String, nil?: true
|
|
39
|
+
|
|
40
|
+
# @!attribute element
|
|
41
|
+
# The HTML element the image was found in
|
|
42
|
+
#
|
|
43
|
+
# @return [Symbol, BrandDev::Models::BrandWebScrapeImagesResponse::Image::Element]
|
|
44
|
+
required :element, enum: -> { BrandDev::Models::BrandWebScrapeImagesResponse::Image::Element }
|
|
45
|
+
|
|
46
|
+
# @!attribute src
|
|
47
|
+
# The image source - can be a URL, inline HTML (for SVGs), or a base64 data URI
|
|
48
|
+
#
|
|
49
|
+
# @return [String]
|
|
50
|
+
required :src, String
|
|
51
|
+
|
|
52
|
+
# @!attribute type
|
|
53
|
+
# The type/format of the src value
|
|
54
|
+
#
|
|
55
|
+
# @return [Symbol, BrandDev::Models::BrandWebScrapeImagesResponse::Image::Type]
|
|
56
|
+
required :type, enum: -> { BrandDev::Models::BrandWebScrapeImagesResponse::Image::Type }
|
|
57
|
+
|
|
58
|
+
# @!method initialize(alt:, element:, src:, type:)
|
|
59
|
+
# @param alt [String, nil] Alt text of the image, or null if not present
|
|
60
|
+
#
|
|
61
|
+
# @param element [Symbol, BrandDev::Models::BrandWebScrapeImagesResponse::Image::Element] The HTML element the image was found in
|
|
62
|
+
#
|
|
63
|
+
# @param src [String] The image source - can be a URL, inline HTML (for SVGs), or a base64 data URI
|
|
64
|
+
#
|
|
65
|
+
# @param type [Symbol, BrandDev::Models::BrandWebScrapeImagesResponse::Image::Type] The type/format of the src value
|
|
66
|
+
|
|
67
|
+
# The HTML element the image was found in
|
|
68
|
+
#
|
|
69
|
+
# @see BrandDev::Models::BrandWebScrapeImagesResponse::Image#element
|
|
70
|
+
module Element
|
|
71
|
+
extend BrandDev::Internal::Type::Enum
|
|
72
|
+
|
|
73
|
+
IMG = :img
|
|
74
|
+
SVG = :svg
|
|
75
|
+
LINK = :link
|
|
76
|
+
SOURCE = :source
|
|
77
|
+
VIDEO = :video
|
|
78
|
+
|
|
79
|
+
# @!method self.values
|
|
80
|
+
# @return [Array<Symbol>]
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
# The type/format of the src value
|
|
84
|
+
#
|
|
85
|
+
# @see BrandDev::Models::BrandWebScrapeImagesResponse::Image#type
|
|
86
|
+
module Type
|
|
87
|
+
extend BrandDev::Internal::Type::Enum
|
|
88
|
+
|
|
89
|
+
URL = :url
|
|
90
|
+
HTML = :html
|
|
91
|
+
BASE64 = :base64
|
|
92
|
+
|
|
93
|
+
# @!method self.values
|
|
94
|
+
# @return [Array<Symbol>]
|
|
95
|
+
end
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
# Indicates success
|
|
99
|
+
#
|
|
100
|
+
# @see BrandDev::Models::BrandWebScrapeImagesResponse#success
|
|
101
|
+
module Success
|
|
102
|
+
extend BrandDev::Internal::Type::Enum
|
|
103
|
+
|
|
104
|
+
TRUE = true
|
|
105
|
+
|
|
106
|
+
# @!method self.values
|
|
107
|
+
# @return [Array<Boolean>]
|
|
108
|
+
end
|
|
109
|
+
end
|
|
110
|
+
end
|
|
111
|
+
end
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module BrandDev
|
|
4
|
+
module Models
|
|
5
|
+
# @see BrandDev::Resources::Brand#web_scrape_md
|
|
6
|
+
class BrandWebScrapeMdParams < BrandDev::Internal::Type::BaseModel
|
|
7
|
+
extend BrandDev::Internal::Type::RequestParameters::Converter
|
|
8
|
+
include BrandDev::Internal::Type::RequestParameters
|
|
9
|
+
|
|
10
|
+
# @!attribute url
|
|
11
|
+
# Full URL to scrape and convert to markdown (must include http:// or https://
|
|
12
|
+
# protocol)
|
|
13
|
+
#
|
|
14
|
+
# @return [String]
|
|
15
|
+
required :url, String
|
|
16
|
+
|
|
17
|
+
# @!attribute include_images
|
|
18
|
+
# Include image references in Markdown output
|
|
19
|
+
#
|
|
20
|
+
# @return [Boolean, nil]
|
|
21
|
+
optional :include_images, BrandDev::Internal::Type::Boolean
|
|
22
|
+
|
|
23
|
+
# @!attribute include_links
|
|
24
|
+
# Preserve hyperlinks in Markdown output
|
|
25
|
+
#
|
|
26
|
+
# @return [Boolean, nil]
|
|
27
|
+
optional :include_links, BrandDev::Internal::Type::Boolean
|
|
28
|
+
|
|
29
|
+
# @!method initialize(url:, include_images: nil, include_links: nil, request_options: {})
|
|
30
|
+
# Some parameter documentations has been truncated, see
|
|
31
|
+
# {BrandDev::Models::BrandWebScrapeMdParams} for more details.
|
|
32
|
+
#
|
|
33
|
+
# @param url [String] Full URL to scrape and convert to markdown (must include http:// or https:// pro
|
|
34
|
+
#
|
|
35
|
+
# @param include_images [Boolean] Include image references in Markdown output
|
|
36
|
+
#
|
|
37
|
+
# @param include_links [Boolean] Preserve hyperlinks in Markdown output
|
|
38
|
+
#
|
|
39
|
+
# @param request_options [BrandDev::RequestOptions, Hash{Symbol=>Object}]
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module BrandDev
|
|
4
|
+
module Models
|
|
5
|
+
# @see BrandDev::Resources::Brand#web_scrape_md
|
|
6
|
+
class BrandWebScrapeMdResponse < BrandDev::Internal::Type::BaseModel
|
|
7
|
+
# @!attribute markdown
|
|
8
|
+
# Page content converted to GitHub Flavored Markdown
|
|
9
|
+
#
|
|
10
|
+
# @return [String]
|
|
11
|
+
required :markdown, String
|
|
12
|
+
|
|
13
|
+
# @!attribute success
|
|
14
|
+
# Indicates success
|
|
15
|
+
#
|
|
16
|
+
# @return [Boolean, BrandDev::Models::BrandWebScrapeMdResponse::Success]
|
|
17
|
+
required :success, enum: -> { BrandDev::Models::BrandWebScrapeMdResponse::Success }
|
|
18
|
+
|
|
19
|
+
# @!attribute url
|
|
20
|
+
# The URL that was scraped
|
|
21
|
+
#
|
|
22
|
+
# @return [String]
|
|
23
|
+
required :url, String
|
|
24
|
+
|
|
25
|
+
# @!method initialize(markdown:, success:, url:)
|
|
26
|
+
# @param markdown [String] Page content converted to GitHub Flavored Markdown
|
|
27
|
+
#
|
|
28
|
+
# @param success [Boolean, BrandDev::Models::BrandWebScrapeMdResponse::Success] Indicates success
|
|
29
|
+
#
|
|
30
|
+
# @param url [String] The URL that was scraped
|
|
31
|
+
|
|
32
|
+
# Indicates success
|
|
33
|
+
#
|
|
34
|
+
# @see BrandDev::Models::BrandWebScrapeMdResponse#success
|
|
35
|
+
module Success
|
|
36
|
+
extend BrandDev::Internal::Type::Enum
|
|
37
|
+
|
|
38
|
+
TRUE = true
|
|
39
|
+
|
|
40
|
+
# @!method self.values
|
|
41
|
+
# @return [Array<Boolean>]
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module BrandDev
|
|
4
|
+
module Models
|
|
5
|
+
# @see BrandDev::Resources::Brand#web_scrape_sitemap
|
|
6
|
+
class BrandWebScrapeSitemapParams < BrandDev::Internal::Type::BaseModel
|
|
7
|
+
extend BrandDev::Internal::Type::RequestParameters::Converter
|
|
8
|
+
include BrandDev::Internal::Type::RequestParameters
|
|
9
|
+
|
|
10
|
+
# @!attribute domain
|
|
11
|
+
# Domain name to crawl sitemaps for (e.g., 'example.com'). The domain will be
|
|
12
|
+
# automatically normalized and validated.
|
|
13
|
+
#
|
|
14
|
+
# @return [String]
|
|
15
|
+
required :domain, String
|
|
16
|
+
|
|
17
|
+
# @!method initialize(domain:, request_options: {})
|
|
18
|
+
# Some parameter documentations has been truncated, see
|
|
19
|
+
# {BrandDev::Models::BrandWebScrapeSitemapParams} for more details.
|
|
20
|
+
#
|
|
21
|
+
# @param domain [String] Domain name to crawl sitemaps for (e.g., 'example.com'). The domain will be auto
|
|
22
|
+
#
|
|
23
|
+
# @param request_options [BrandDev::RequestOptions, Hash{Symbol=>Object}]
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module BrandDev
|
|
4
|
+
module Models
|
|
5
|
+
# @see BrandDev::Resources::Brand#web_scrape_sitemap
|
|
6
|
+
class BrandWebScrapeSitemapResponse < BrandDev::Internal::Type::BaseModel
|
|
7
|
+
# @!attribute domain
|
|
8
|
+
# The normalized domain that was crawled
|
|
9
|
+
#
|
|
10
|
+
# @return [String]
|
|
11
|
+
required :domain, String
|
|
12
|
+
|
|
13
|
+
# @!attribute meta
|
|
14
|
+
# Metadata about the sitemap crawl operation
|
|
15
|
+
#
|
|
16
|
+
# @return [BrandDev::Models::BrandWebScrapeSitemapResponse::Meta]
|
|
17
|
+
required :meta, -> { BrandDev::Models::BrandWebScrapeSitemapResponse::Meta }
|
|
18
|
+
|
|
19
|
+
# @!attribute success
|
|
20
|
+
# Indicates success
|
|
21
|
+
#
|
|
22
|
+
# @return [Boolean, BrandDev::Models::BrandWebScrapeSitemapResponse::Success]
|
|
23
|
+
required :success, enum: -> { BrandDev::Models::BrandWebScrapeSitemapResponse::Success }
|
|
24
|
+
|
|
25
|
+
# @!attribute urls
|
|
26
|
+
# Array of discovered page URLs from the sitemap (max 500)
|
|
27
|
+
#
|
|
28
|
+
# @return [Array<String>]
|
|
29
|
+
required :urls, BrandDev::Internal::Type::ArrayOf[String]
|
|
30
|
+
|
|
31
|
+
# @!method initialize(domain:, meta:, success:, urls:)
|
|
32
|
+
# @param domain [String] The normalized domain that was crawled
|
|
33
|
+
#
|
|
34
|
+
# @param meta [BrandDev::Models::BrandWebScrapeSitemapResponse::Meta] Metadata about the sitemap crawl operation
|
|
35
|
+
#
|
|
36
|
+
# @param success [Boolean, BrandDev::Models::BrandWebScrapeSitemapResponse::Success] Indicates success
|
|
37
|
+
#
|
|
38
|
+
# @param urls [Array<String>] Array of discovered page URLs from the sitemap (max 500)
|
|
39
|
+
|
|
40
|
+
# @see BrandDev::Models::BrandWebScrapeSitemapResponse#meta
|
|
41
|
+
class Meta < BrandDev::Internal::Type::BaseModel
|
|
42
|
+
# @!attribute errors
|
|
43
|
+
# Number of errors encountered during crawling
|
|
44
|
+
#
|
|
45
|
+
# @return [Integer]
|
|
46
|
+
required :errors, Integer
|
|
47
|
+
|
|
48
|
+
# @!attribute sitemaps_discovered
|
|
49
|
+
# Total number of sitemap files discovered
|
|
50
|
+
#
|
|
51
|
+
# @return [Integer]
|
|
52
|
+
required :sitemaps_discovered, Integer, api_name: :sitemapsDiscovered
|
|
53
|
+
|
|
54
|
+
# @!attribute sitemaps_fetched
|
|
55
|
+
# Number of sitemap files successfully fetched and parsed
|
|
56
|
+
#
|
|
57
|
+
# @return [Integer]
|
|
58
|
+
required :sitemaps_fetched, Integer, api_name: :sitemapsFetched
|
|
59
|
+
|
|
60
|
+
# @!attribute sitemaps_skipped
|
|
61
|
+
# Number of sitemap files skipped (due to errors, timeouts, or limits)
|
|
62
|
+
#
|
|
63
|
+
# @return [Integer]
|
|
64
|
+
required :sitemaps_skipped, Integer, api_name: :sitemapsSkipped
|
|
65
|
+
|
|
66
|
+
# @!method initialize(errors:, sitemaps_discovered:, sitemaps_fetched:, sitemaps_skipped:)
|
|
67
|
+
# Metadata about the sitemap crawl operation
|
|
68
|
+
#
|
|
69
|
+
# @param errors [Integer] Number of errors encountered during crawling
|
|
70
|
+
#
|
|
71
|
+
# @param sitemaps_discovered [Integer] Total number of sitemap files discovered
|
|
72
|
+
#
|
|
73
|
+
# @param sitemaps_fetched [Integer] Number of sitemap files successfully fetched and parsed
|
|
74
|
+
#
|
|
75
|
+
# @param sitemaps_skipped [Integer] Number of sitemap files skipped (due to errors, timeouts, or limits)
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
# Indicates success
|
|
79
|
+
#
|
|
80
|
+
# @see BrandDev::Models::BrandWebScrapeSitemapResponse#success
|
|
81
|
+
module Success
|
|
82
|
+
extend BrandDev::Internal::Type::Enum
|
|
83
|
+
|
|
84
|
+
TRUE = true
|
|
85
|
+
|
|
86
|
+
# @!method self.values
|
|
87
|
+
# @return [Array<Boolean>]
|
|
88
|
+
end
|
|
89
|
+
end
|
|
90
|
+
end
|
|
91
|
+
end
|
data/lib/brand_dev/models.rb
CHANGED
|
@@ -70,4 +70,12 @@ module BrandDev
|
|
|
70
70
|
BrandScreenshotParams = BrandDev::Models::BrandScreenshotParams
|
|
71
71
|
|
|
72
72
|
BrandStyleguideParams = BrandDev::Models::BrandStyleguideParams
|
|
73
|
+
|
|
74
|
+
BrandWebScrapeHTMLParams = BrandDev::Models::BrandWebScrapeHTMLParams
|
|
75
|
+
|
|
76
|
+
BrandWebScrapeImagesParams = BrandDev::Models::BrandWebScrapeImagesParams
|
|
77
|
+
|
|
78
|
+
BrandWebScrapeMdParams = BrandDev::Models::BrandWebScrapeMdParams
|
|
79
|
+
|
|
80
|
+
BrandWebScrapeSitemapParams = BrandDev::Models::BrandWebScrapeSitemapParams
|
|
73
81
|
end
|
|
@@ -521,6 +521,111 @@ module BrandDev
|
|
|
521
521
|
)
|
|
522
522
|
end
|
|
523
523
|
|
|
524
|
+
# Scrapes the given URL and returns the raw HTML content of the page. Uses
|
|
525
|
+
# automatic proxy escalation to handle blocked sites.
|
|
526
|
+
#
|
|
527
|
+
# @overload web_scrape_html(url:, request_options: {})
|
|
528
|
+
#
|
|
529
|
+
# @param url [String] Full URL to scrape (must include http:// or https:// protocol)
|
|
530
|
+
#
|
|
531
|
+
# @param request_options [BrandDev::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
532
|
+
#
|
|
533
|
+
# @return [BrandDev::Models::BrandWebScrapeHTMLResponse]
|
|
534
|
+
#
|
|
535
|
+
# @see BrandDev::Models::BrandWebScrapeHTMLParams
|
|
536
|
+
def web_scrape_html(params)
|
|
537
|
+
parsed, options = BrandDev::BrandWebScrapeHTMLParams.dump_request(params)
|
|
538
|
+
@client.request(
|
|
539
|
+
method: :get,
|
|
540
|
+
path: "web/scrape/html",
|
|
541
|
+
query: parsed,
|
|
542
|
+
model: BrandDev::Models::BrandWebScrapeHTMLResponse,
|
|
543
|
+
options: options
|
|
544
|
+
)
|
|
545
|
+
end
|
|
546
|
+
|
|
547
|
+
# Scrapes all images from the given URL. Extracts images from img, svg,
|
|
548
|
+
# picture/source, link, and video elements including inline SVGs, base64 data
|
|
549
|
+
# URIs, and standard URLs.
|
|
550
|
+
#
|
|
551
|
+
# @overload web_scrape_images(url:, request_options: {})
|
|
552
|
+
#
|
|
553
|
+
# @param url [String] Full URL to scrape images from (must include http:// or https:// protocol)
|
|
554
|
+
#
|
|
555
|
+
# @param request_options [BrandDev::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
556
|
+
#
|
|
557
|
+
# @return [BrandDev::Models::BrandWebScrapeImagesResponse]
|
|
558
|
+
#
|
|
559
|
+
# @see BrandDev::Models::BrandWebScrapeImagesParams
|
|
560
|
+
def web_scrape_images(params)
|
|
561
|
+
parsed, options = BrandDev::BrandWebScrapeImagesParams.dump_request(params)
|
|
562
|
+
@client.request(
|
|
563
|
+
method: :get,
|
|
564
|
+
path: "web/scrape/images",
|
|
565
|
+
query: parsed,
|
|
566
|
+
model: BrandDev::Models::BrandWebScrapeImagesResponse,
|
|
567
|
+
options: options
|
|
568
|
+
)
|
|
569
|
+
end
|
|
570
|
+
|
|
571
|
+
# Some parameter documentations has been truncated, see
|
|
572
|
+
# {BrandDev::Models::BrandWebScrapeMdParams} for more details.
|
|
573
|
+
#
|
|
574
|
+
# Scrapes the given URL, converts the HTML content to GitHub Flavored Markdown
|
|
575
|
+
# (GFM), and returns the result. Uses automatic proxy escalation to handle blocked
|
|
576
|
+
# sites.
|
|
577
|
+
#
|
|
578
|
+
# @overload web_scrape_md(url:, include_images: nil, include_links: nil, request_options: {})
|
|
579
|
+
#
|
|
580
|
+
# @param url [String] Full URL to scrape and convert to markdown (must include http:// or https:// pro
|
|
581
|
+
#
|
|
582
|
+
# @param include_images [Boolean] Include image references in Markdown output
|
|
583
|
+
#
|
|
584
|
+
# @param include_links [Boolean] Preserve hyperlinks in Markdown output
|
|
585
|
+
#
|
|
586
|
+
# @param request_options [BrandDev::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
587
|
+
#
|
|
588
|
+
# @return [BrandDev::Models::BrandWebScrapeMdResponse]
|
|
589
|
+
#
|
|
590
|
+
# @see BrandDev::Models::BrandWebScrapeMdParams
|
|
591
|
+
def web_scrape_md(params)
|
|
592
|
+
parsed, options = BrandDev::BrandWebScrapeMdParams.dump_request(params)
|
|
593
|
+
@client.request(
|
|
594
|
+
method: :get,
|
|
595
|
+
path: "web/scrape/markdown",
|
|
596
|
+
query: parsed.transform_keys(include_images: "includeImages", include_links: "includeLinks"),
|
|
597
|
+
model: BrandDev::Models::BrandWebScrapeMdResponse,
|
|
598
|
+
options: options
|
|
599
|
+
)
|
|
600
|
+
end
|
|
601
|
+
|
|
602
|
+
# Some parameter documentations has been truncated, see
|
|
603
|
+
# {BrandDev::Models::BrandWebScrapeSitemapParams} for more details.
|
|
604
|
+
#
|
|
605
|
+
# Crawls the sitemap of the given domain and returns all discovered page URLs.
|
|
606
|
+
# Supports sitemap index files (recursive), parallel fetching with concurrency
|
|
607
|
+
# control, deduplication, and filters out non-page resources (images, PDFs, etc.).
|
|
608
|
+
#
|
|
609
|
+
# @overload web_scrape_sitemap(domain:, request_options: {})
|
|
610
|
+
#
|
|
611
|
+
# @param domain [String] Domain name to crawl sitemaps for (e.g., 'example.com'). The domain will be auto
|
|
612
|
+
#
|
|
613
|
+
# @param request_options [BrandDev::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
614
|
+
#
|
|
615
|
+
# @return [BrandDev::Models::BrandWebScrapeSitemapResponse]
|
|
616
|
+
#
|
|
617
|
+
# @see BrandDev::Models::BrandWebScrapeSitemapParams
|
|
618
|
+
def web_scrape_sitemap(params)
|
|
619
|
+
parsed, options = BrandDev::BrandWebScrapeSitemapParams.dump_request(params)
|
|
620
|
+
@client.request(
|
|
621
|
+
method: :get,
|
|
622
|
+
path: "web/scrape/sitemap",
|
|
623
|
+
query: parsed,
|
|
624
|
+
model: BrandDev::Models::BrandWebScrapeSitemapResponse,
|
|
625
|
+
options: options
|
|
626
|
+
)
|
|
627
|
+
end
|
|
628
|
+
|
|
524
629
|
# @api private
|
|
525
630
|
#
|
|
526
631
|
# @param client [BrandDev::Client]
|
data/lib/brand_dev/version.rb
CHANGED
data/lib/brand_dev.rb
CHANGED
|
@@ -84,5 +84,13 @@ require_relative "brand_dev/models/brand_screenshot_params"
|
|
|
84
84
|
require_relative "brand_dev/models/brand_screenshot_response"
|
|
85
85
|
require_relative "brand_dev/models/brand_styleguide_params"
|
|
86
86
|
require_relative "brand_dev/models/brand_styleguide_response"
|
|
87
|
+
require_relative "brand_dev/models/brand_web_scrape_html_params"
|
|
88
|
+
require_relative "brand_dev/models/brand_web_scrape_html_response"
|
|
89
|
+
require_relative "brand_dev/models/brand_web_scrape_images_params"
|
|
90
|
+
require_relative "brand_dev/models/brand_web_scrape_images_response"
|
|
91
|
+
require_relative "brand_dev/models/brand_web_scrape_md_params"
|
|
92
|
+
require_relative "brand_dev/models/brand_web_scrape_md_response"
|
|
93
|
+
require_relative "brand_dev/models/brand_web_scrape_sitemap_params"
|
|
94
|
+
require_relative "brand_dev/models/brand_web_scrape_sitemap_response"
|
|
87
95
|
require_relative "brand_dev/models"
|
|
88
96
|
require_relative "brand_dev/resources/brand"
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module BrandDev
|
|
4
|
+
module Models
|
|
5
|
+
class BrandWebScrapeHTMLParams < BrandDev::Internal::Type::BaseModel
|
|
6
|
+
extend BrandDev::Internal::Type::RequestParameters::Converter
|
|
7
|
+
include BrandDev::Internal::Type::RequestParameters
|
|
8
|
+
|
|
9
|
+
OrHash =
|
|
10
|
+
T.type_alias do
|
|
11
|
+
T.any(BrandDev::BrandWebScrapeHTMLParams, BrandDev::Internal::AnyHash)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
# Full URL to scrape (must include http:// or https:// protocol)
|
|
15
|
+
sig { returns(String) }
|
|
16
|
+
attr_accessor :url
|
|
17
|
+
|
|
18
|
+
sig do
|
|
19
|
+
params(
|
|
20
|
+
url: String,
|
|
21
|
+
request_options: BrandDev::RequestOptions::OrHash
|
|
22
|
+
).returns(T.attached_class)
|
|
23
|
+
end
|
|
24
|
+
def self.new(
|
|
25
|
+
# Full URL to scrape (must include http:// or https:// protocol)
|
|
26
|
+
url:,
|
|
27
|
+
request_options: {}
|
|
28
|
+
)
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
sig do
|
|
32
|
+
override.returns(
|
|
33
|
+
{ url: String, request_options: BrandDev::RequestOptions }
|
|
34
|
+
)
|
|
35
|
+
end
|
|
36
|
+
def to_hash
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|