Skip to content

Commit cbe6c73

Browse files
feat(api): api update
1 parent cf2d32a commit cbe6c73

File tree

8 files changed

+62
-17
lines changed

8 files changed

+62
-17
lines changed

.stats.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
configured_endpoints: 20
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/brand-dev%2Fbrand.dev-2cdd67823c6ac9d1ab68032a695c31a098ad285ffb0c073b9dfc00afe5de9b88.yml
3-
openapi_spec_hash: ac8a965beb9b667b6204a5c573507219
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/brand-dev%2Fbrand.dev-3614380ba4315687bbaf6561e9872fd72dd876f9230ce690c35d7efc1250e808.yml
3+
openapi_spec_hash: f1aa17e08d0379766a61de68714c7c21
44
config_hash: 4cd3173ea1cce7183640aae49cfbb374

lib/brand_dev/models/brand_styleguide_params.rb

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,19 @@ class BrandStyleguideParams < BrandDev::Internal::Type::BaseModel
77
extend BrandDev::Internal::Type::RequestParameters::Converter
88
include BrandDev::Internal::Type::RequestParameters
99

10+
# @!attribute direct_url
11+
# A specific URL to fetch the styleguide from directly, bypassing domain
12+
# resolution (e.g., 'https://example.com/design-system').
13+
#
14+
# @return [String, nil]
15+
optional :direct_url, String
16+
1017
# @!attribute domain
1118
# Domain name to extract styleguide from (e.g., 'example.com', 'google.com'). The
1219
# domain will be automatically normalized and validated.
1320
#
14-
# @return [String]
15-
required :domain, String
21+
# @return [String, nil]
22+
optional :domain, String
1623

1724
# @!attribute prioritize
1825
# Optional parameter to prioritize screenshot capture for styleguide extraction.
@@ -31,10 +38,12 @@ class BrandStyleguideParams < BrandDev::Internal::Type::BaseModel
3138
# @return [Integer, nil]
3239
optional :timeout_ms, Integer
3340

34-
# @!method initialize(domain:, prioritize: nil, timeout_ms: nil, request_options: {})
41+
# @!method initialize(direct_url: nil, domain: nil, prioritize: nil, timeout_ms: nil, request_options: {})
3542
# Some parameter documentations has been truncated, see
3643
# {BrandDev::Models::BrandStyleguideParams} for more details.
3744
#
45+
# @param direct_url [String] A specific URL to fetch the styleguide from directly, bypassing domain resolutio
46+
#
3847
# @param domain [String] Domain name to extract styleguide from (e.g., 'example.com', 'google.com'). The
3948
#
4049
# @param prioritize [Symbol, BrandDev::Models::BrandStyleguideParams::Prioritize] Optional parameter to prioritize screenshot capture for styleguide extraction. I

lib/brand_dev/resources/brand.rb

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -496,8 +496,12 @@ def screenshot(params)
496496
#
497497
# Automatically extract comprehensive design system information from a brand's
498498
# website including colors, typography, spacing, shadows, and UI components.
499+
# Either 'domain' or 'directUrl' must be provided as a query parameter, but not
500+
# both.
499501
#
500-
# @overload styleguide(domain:, prioritize: nil, timeout_ms: nil, request_options: {})
502+
# @overload styleguide(direct_url: nil, domain: nil, prioritize: nil, timeout_ms: nil, request_options: {})
503+
#
504+
# @param direct_url [String] A specific URL to fetch the styleguide from directly, bypassing domain resolutio
501505
#
502506
# @param domain [String] Domain name to extract styleguide from (e.g., 'example.com', 'google.com'). The
503507
#
@@ -510,12 +514,12 @@ def screenshot(params)
510514
# @return [BrandDev::Models::BrandStyleguideResponse]
511515
#
512516
# @see BrandDev::Models::BrandStyleguideParams
513-
def styleguide(params)
517+
def styleguide(params = {})
514518
parsed, options = BrandDev::BrandStyleguideParams.dump_request(params)
515519
@client.request(
516520
method: :get,
517521
path: "brand/styleguide",
518-
query: parsed.transform_keys(timeout_ms: "timeoutMS"),
522+
query: parsed.transform_keys(direct_url: "directUrl", timeout_ms: "timeoutMS"),
519523
model: BrandDev::Models::BrandStyleguideResponse,
520524
options: options
521525
)

rbi/brand_dev/models/brand_styleguide_params.rbi

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,21 @@ module BrandDev
1111
T.any(BrandDev::BrandStyleguideParams, BrandDev::Internal::AnyHash)
1212
end
1313

14+
# A specific URL to fetch the styleguide from directly, bypassing domain
15+
# resolution (e.g., 'https://example.com/design-system').
16+
sig { returns(T.nilable(String)) }
17+
attr_reader :direct_url
18+
19+
sig { params(direct_url: String).void }
20+
attr_writer :direct_url
21+
1422
# Domain name to extract styleguide from (e.g., 'example.com', 'google.com'). The
1523
# domain will be automatically normalized and validated.
16-
sig { returns(String) }
17-
attr_accessor :domain
24+
sig { returns(T.nilable(String)) }
25+
attr_reader :domain
26+
27+
sig { params(domain: String).void }
28+
attr_writer :domain
1829

1930
# Optional parameter to prioritize screenshot capture for styleguide extraction.
2031
# If 'speed', optimizes for faster capture with basic quality. If 'quality',
@@ -45,16 +56,20 @@ module BrandDev
4556

4657
sig do
4758
params(
59+
direct_url: String,
4860
domain: String,
4961
prioritize: BrandDev::BrandStyleguideParams::Prioritize::OrSymbol,
5062
timeout_ms: Integer,
5163
request_options: BrandDev::RequestOptions::OrHash
5264
).returns(T.attached_class)
5365
end
5466
def self.new(
67+
# A specific URL to fetch the styleguide from directly, bypassing domain
68+
# resolution (e.g., 'https://example.com/design-system').
69+
direct_url: nil,
5570
# Domain name to extract styleguide from (e.g., 'example.com', 'google.com'). The
5671
# domain will be automatically normalized and validated.
57-
domain:,
72+
domain: nil,
5873
# Optional parameter to prioritize screenshot capture for styleguide extraction.
5974
# If 'speed', optimizes for faster capture with basic quality. If 'quality',
6075
# optimizes for higher quality with longer wait times. Defaults to 'quality' if
@@ -71,6 +86,7 @@ module BrandDev
7186
sig do
7287
override.returns(
7388
{
89+
direct_url: String,
7490
domain: String,
7591
prioritize: BrandDev::BrandStyleguideParams::Prioritize::OrSymbol,
7692
timeout_ms: Integer,

rbi/brand_dev/resources/brand.rbi

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -437,18 +437,24 @@ module BrandDev
437437

438438
# Automatically extract comprehensive design system information from a brand's
439439
# website including colors, typography, spacing, shadows, and UI components.
440+
# Either 'domain' or 'directUrl' must be provided as a query parameter, but not
441+
# both.
440442
sig do
441443
params(
444+
direct_url: String,
442445
domain: String,
443446
prioritize: BrandDev::BrandStyleguideParams::Prioritize::OrSymbol,
444447
timeout_ms: Integer,
445448
request_options: BrandDev::RequestOptions::OrHash
446449
).returns(BrandDev::Models::BrandStyleguideResponse)
447450
end
448451
def styleguide(
452+
# A specific URL to fetch the styleguide from directly, bypassing domain
453+
# resolution (e.g., 'https://example.com/design-system').
454+
direct_url: nil,
449455
# Domain name to extract styleguide from (e.g., 'example.com', 'google.com'). The
450456
# domain will be automatically normalized and validated.
451-
domain:,
457+
domain: nil,
452458
# Optional parameter to prioritize screenshot capture for styleguide extraction.
453459
# If 'speed', optimizes for faster capture with basic quality. If 'quality',
454460
# optimizes for higher quality with longer wait times. Defaults to 'quality' if

sig/brand_dev/models/brand_styleguide_params.rbs

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ module BrandDev
22
module Models
33
type brand_styleguide_params =
44
{
5+
direct_url: String,
56
domain: String,
67
prioritize: BrandDev::Models::BrandStyleguideParams::prioritize,
78
timeout_ms: Integer
@@ -12,7 +13,13 @@ module BrandDev
1213
extend BrandDev::Internal::Type::RequestParameters::Converter
1314
include BrandDev::Internal::Type::RequestParameters
1415

15-
attr_accessor domain: String
16+
attr_reader direct_url: String?
17+
18+
def direct_url=: (String) -> String
19+
20+
attr_reader domain: String?
21+
22+
def domain=: (String) -> String
1623

1724
attr_reader prioritize: BrandDev::Models::BrandStyleguideParams::prioritize?
1825

@@ -25,13 +32,15 @@ module BrandDev
2532
def timeout_ms=: (Integer) -> Integer
2633

2734
def initialize: (
28-
domain: String,
35+
?direct_url: String,
36+
?domain: String,
2937
?prioritize: BrandDev::Models::BrandStyleguideParams::prioritize,
3038
?timeout_ms: Integer,
3139
?request_options: BrandDev::request_opts
3240
) -> void
3341

3442
def to_hash: -> {
43+
direct_url: String,
3544
domain: String,
3645
prioritize: BrandDev::Models::BrandStyleguideParams::prioritize,
3746
timeout_ms: Integer,

sig/brand_dev/resources/brand.rbs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,8 @@ module BrandDev
117117
) -> BrandDev::Models::BrandScreenshotResponse
118118

119119
def styleguide: (
120-
domain: String,
120+
?direct_url: String,
121+
?domain: String,
121122
?prioritize: BrandDev::Models::BrandStyleguideParams::prioritize,
122123
?timeout_ms: Integer,
123124
?request_options: BrandDev::request_opts

test/brand_dev/resources/brand_test.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -287,10 +287,10 @@ def test_screenshot_required_params
287287
end
288288
end
289289

290-
def test_styleguide_required_params
290+
def test_styleguide
291291
skip("Mock server tests are disabled")
292292

293-
response = @brand_dev.brand.styleguide(domain: "domain")
293+
response = @brand_dev.brand.styleguide
294294

295295
assert_pattern do
296296
response => BrandDev::Models::BrandStyleguideResponse

0 commit comments

Comments
 (0)