brand.dev 0.0.1.pre.alpha.0 → 0.0.2

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.
Files changed (89) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +188 -0
  3. data/README.md +7 -3
  4. data/lib/brand_dev/errors.rb +22 -0
  5. data/lib/brand_dev/internal/transport/base_client.rb +10 -2
  6. data/lib/brand_dev/internal/type/array_of.rb +6 -1
  7. data/lib/brand_dev/internal/type/base_model.rb +77 -25
  8. data/lib/brand_dev/internal/type/boolean.rb +7 -1
  9. data/lib/brand_dev/internal/type/converter.rb +42 -34
  10. data/lib/brand_dev/internal/type/enum.rb +16 -5
  11. data/lib/brand_dev/internal/type/file_input.rb +6 -1
  12. data/lib/brand_dev/internal/type/hash_of.rb +6 -1
  13. data/lib/brand_dev/internal/type/union.rb +17 -9
  14. data/lib/brand_dev/internal/type/unknown.rb +7 -1
  15. data/lib/brand_dev/internal/util.rb +8 -9
  16. data/lib/brand_dev/models/brand_ai_query_params.rb +173 -0
  17. data/lib/brand_dev/models/brand_ai_query_response.rb +80 -0
  18. data/lib/brand_dev/models/brand_identify_from_transaction_params.rb +14 -1
  19. data/lib/brand_dev/models/brand_identify_from_transaction_response.rb +1 -29
  20. data/lib/brand_dev/models/brand_prefetch_params.rb +35 -0
  21. data/lib/brand_dev/models/brand_prefetch_response.rb +33 -0
  22. data/lib/brand_dev/models/brand_retrieve_by_ticker_params.rb +14 -1
  23. data/lib/brand_dev/models/brand_retrieve_by_ticker_response.rb +1 -29
  24. data/lib/brand_dev/models/brand_retrieve_naics_params.rb +11 -1
  25. data/lib/brand_dev/models/brand_retrieve_params.rb +24 -1
  26. data/lib/brand_dev/models/brand_retrieve_response.rb +1 -29
  27. data/lib/brand_dev/models/brand_retrieve_simplified_params.rb +35 -0
  28. data/lib/brand_dev/models/brand_retrieve_simplified_response.rb +280 -0
  29. data/lib/brand_dev/models/brand_screenshot_params.rb +49 -0
  30. data/lib/brand_dev/models/brand_screenshot_response.rb +64 -0
  31. data/lib/brand_dev/models/brand_styleguide_params.rb +36 -0
  32. data/lib/brand_dev/models/brand_styleguide_response.rb +769 -0
  33. data/lib/brand_dev/models.rb +13 -5
  34. data/lib/brand_dev/resources/brand.rb +165 -18
  35. data/lib/brand_dev/version.rb +1 -1
  36. data/lib/brand_dev.rb +10 -2
  37. data/rbi/brand_dev/errors.rbi +16 -0
  38. data/rbi/brand_dev/internal/type/boolean.rbi +2 -0
  39. data/rbi/brand_dev/internal/type/converter.rbi +15 -15
  40. data/rbi/brand_dev/internal/type/union.rbi +5 -0
  41. data/rbi/brand_dev/internal/type/unknown.rbi +2 -0
  42. data/rbi/brand_dev/internal/util.rbi +2 -0
  43. data/rbi/brand_dev/models/brand_ai_query_params.rbi +319 -0
  44. data/rbi/brand_dev/models/brand_ai_query_response.rbi +182 -0
  45. data/rbi/brand_dev/models/brand_identify_from_transaction_params.rbi +15 -0
  46. data/rbi/brand_dev/models/brand_identify_from_transaction_response.rbi +0 -69
  47. data/rbi/brand_dev/models/brand_prefetch_params.rbi +58 -0
  48. data/rbi/brand_dev/models/brand_prefetch_response.rbi +57 -0
  49. data/rbi/brand_dev/models/brand_retrieve_by_ticker_params.rbi +19 -1
  50. data/rbi/brand_dev/models/brand_retrieve_by_ticker_response.rbi +0 -69
  51. data/rbi/brand_dev/models/brand_retrieve_naics_params.rbi +19 -1
  52. data/rbi/brand_dev/models/brand_retrieve_params.rbi +30 -0
  53. data/rbi/brand_dev/models/brand_retrieve_response.rbi +0 -65
  54. data/rbi/brand_dev/models/brand_retrieve_simplified_params.rbi +61 -0
  55. data/rbi/brand_dev/models/brand_retrieve_simplified_response.rbi +667 -0
  56. data/rbi/brand_dev/models/brand_screenshot_params.rbi +105 -0
  57. data/rbi/brand_dev/models/brand_screenshot_response.rbi +135 -0
  58. data/rbi/brand_dev/models/brand_styleguide_params.rbi +60 -0
  59. data/rbi/brand_dev/models/brand_styleguide_response.rbi +1648 -0
  60. data/rbi/brand_dev/models.rbi +10 -1
  61. data/rbi/brand_dev/resources/brand.rbi +133 -6
  62. data/sig/brand_dev/errors.rbs +9 -0
  63. data/sig/brand_dev/internal/type/converter.rbs +7 -1
  64. data/sig/brand_dev/models/brand_ai_query_params.rbs +162 -0
  65. data/sig/brand_dev/models/brand_ai_query_response.rbs +79 -0
  66. data/sig/brand_dev/models/brand_identify_from_transaction_params.rbs +7 -1
  67. data/sig/brand_dev/models/brand_identify_from_transaction_response.rbs +0 -25
  68. data/sig/brand_dev/models/brand_prefetch_params.rbs +30 -0
  69. data/sig/brand_dev/models/brand_prefetch_response.rbs +28 -0
  70. data/sig/brand_dev/models/brand_retrieve_by_ticker_params.rbs +8 -1
  71. data/sig/brand_dev/models/brand_retrieve_by_ticker_response.rbs +0 -25
  72. data/sig/brand_dev/models/brand_retrieve_naics_params.rbs +8 -1
  73. data/sig/brand_dev/models/brand_retrieve_params.rbs +15 -1
  74. data/sig/brand_dev/models/brand_retrieve_response.rbs +0 -25
  75. data/sig/brand_dev/models/brand_retrieve_simplified_params.rbs +30 -0
  76. data/sig/brand_dev/models/brand_retrieve_simplified_response.rbs +292 -0
  77. data/sig/brand_dev/models/brand_screenshot_params.rbs +46 -0
  78. data/sig/brand_dev/models/brand_screenshot_response.rbs +63 -0
  79. data/sig/brand_dev/models/brand_styleguide_params.rbs +30 -0
  80. data/sig/brand_dev/models/brand_styleguide_response.rbs +925 -0
  81. data/sig/brand_dev/models.rbs +9 -1
  82. data/sig/brand_dev/resources/brand.rbs +35 -3
  83. metadata +46 -22
  84. data/lib/brand_dev/models/brand_search_params.rb +0 -22
  85. data/lib/brand_dev/models/brand_search_response.rb +0 -35
  86. data/rbi/brand_dev/models/brand_search_params.rbi +0 -40
  87. data/rbi/brand_dev/models/brand_search_response.rbi +0 -63
  88. data/sig/brand_dev/models/brand_search_params.rbs +0 -23
  89. data/sig/brand_dev/models/brand_search_response.rbs +0 -29
@@ -0,0 +1,57 @@
1
+ # typed: strong
2
+
3
+ module BrandDev
4
+ module Models
5
+ class BrandPrefetchResponse < BrandDev::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ BrandDev::Models::BrandPrefetchResponse,
10
+ BrandDev::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # The domain that was queued for prefetching
15
+ sig { returns(T.nilable(String)) }
16
+ attr_reader :domain
17
+
18
+ sig { params(domain: String).void }
19
+ attr_writer :domain
20
+
21
+ # Success message
22
+ sig { returns(T.nilable(String)) }
23
+ attr_reader :message
24
+
25
+ sig { params(message: String).void }
26
+ attr_writer :message
27
+
28
+ # Status of the response, e.g., 'ok'
29
+ sig { returns(T.nilable(String)) }
30
+ attr_reader :status
31
+
32
+ sig { params(status: String).void }
33
+ attr_writer :status
34
+
35
+ sig do
36
+ params(domain: String, message: String, status: String).returns(
37
+ T.attached_class
38
+ )
39
+ end
40
+ def self.new(
41
+ # The domain that was queued for prefetching
42
+ domain: nil,
43
+ # Success message
44
+ message: nil,
45
+ # Status of the response, e.g., 'ok'
46
+ status: nil
47
+ )
48
+ end
49
+
50
+ sig do
51
+ override.returns({ domain: String, message: String, status: String })
52
+ end
53
+ def to_hash
54
+ end
55
+ end
56
+ end
57
+ end
@@ -18,22 +18,40 @@ module BrandDev
18
18
  sig { returns(String) }
19
19
  attr_accessor :ticker
20
20
 
21
+ # Optional timeout in milliseconds for the request. If the request takes longer
22
+ # than this value, it will be aborted with a 408 status code. Maximum allowed
23
+ # value is 300000ms (5 minutes).
24
+ sig { returns(T.nilable(Integer)) }
25
+ attr_reader :timeout_ms
26
+
27
+ sig { params(timeout_ms: Integer).void }
28
+ attr_writer :timeout_ms
29
+
21
30
  sig do
22
31
  params(
23
32
  ticker: String,
33
+ timeout_ms: Integer,
24
34
  request_options: BrandDev::RequestOptions::OrHash
25
35
  ).returns(T.attached_class)
26
36
  end
27
37
  def self.new(
28
38
  # Stock ticker symbol to retrieve brand data for (e.g. AAPL, TSLA, etc.)
29
39
  ticker:,
40
+ # Optional timeout in milliseconds for the request. If the request takes longer
41
+ # than this value, it will be aborted with a 408 status code. Maximum allowed
42
+ # value is 300000ms (5 minutes).
43
+ timeout_ms: nil,
30
44
  request_options: {}
31
45
  )
32
46
  end
33
47
 
34
48
  sig do
35
49
  override.returns(
36
- { ticker: String, request_options: BrandDev::RequestOptions }
50
+ {
51
+ ticker: String,
52
+ timeout_ms: Integer,
53
+ request_options: BrandDev::RequestOptions
54
+ }
37
55
  )
38
56
  end
39
57
  def to_hash
@@ -154,28 +154,6 @@ module BrandDev
154
154
  sig { params(domain: String).void }
155
155
  attr_writer :domain
156
156
 
157
- # An array of fonts used by the brand's website
158
- sig do
159
- returns(
160
- T.nilable(
161
- T::Array[
162
- BrandDev::Models::BrandRetrieveByTickerResponse::Brand::Font
163
- ]
164
- )
165
- )
166
- end
167
- attr_reader :fonts
168
-
169
- sig do
170
- params(
171
- fonts:
172
- T::Array[
173
- BrandDev::Models::BrandRetrieveByTickerResponse::Brand::Font::OrHash
174
- ]
175
- ).void
176
- end
177
- attr_writer :fonts
178
-
179
157
  # An array of logos associated with the brand
180
158
  sig do
181
159
  returns(
@@ -268,10 +246,6 @@ module BrandDev
268
246
  ],
269
247
  description: String,
270
248
  domain: String,
271
- fonts:
272
- T::Array[
273
- BrandDev::Models::BrandRetrieveByTickerResponse::Brand::Font::OrHash
274
- ],
275
249
  logos:
276
250
  T::Array[
277
251
  BrandDev::Models::BrandRetrieveByTickerResponse::Brand::Logo::OrHash
@@ -297,8 +271,6 @@ module BrandDev
297
271
  description: nil,
298
272
  # The domain name of the brand
299
273
  domain: nil,
300
- # An array of fonts used by the brand's website
301
- fonts: nil,
302
274
  # An array of logos associated with the brand
303
275
  logos: nil,
304
276
  # The brand's slogan
@@ -328,10 +300,6 @@ module BrandDev
328
300
  ],
329
301
  description: String,
330
302
  domain: String,
331
- fonts:
332
- T::Array[
333
- BrandDev::Models::BrandRetrieveByTickerResponse::Brand::Font
334
- ],
335
303
  logos:
336
304
  T::Array[
337
305
  BrandDev::Models::BrandRetrieveByTickerResponse::Brand::Logo
@@ -663,43 +631,6 @@ module BrandDev
663
631
  end
664
632
  end
665
633
 
666
- class Font < BrandDev::Internal::Type::BaseModel
667
- OrHash =
668
- T.type_alias do
669
- T.any(
670
- BrandDev::Models::BrandRetrieveByTickerResponse::Brand::Font,
671
- BrandDev::Internal::AnyHash
672
- )
673
- end
674
-
675
- # Name of the font
676
- sig { returns(T.nilable(String)) }
677
- attr_reader :name
678
-
679
- sig { params(name: String).void }
680
- attr_writer :name
681
-
682
- # Usage of the font, e.g., 'title', 'body', 'button'
683
- sig { returns(T.nilable(String)) }
684
- attr_reader :usage
685
-
686
- sig { params(usage: String).void }
687
- attr_writer :usage
688
-
689
- sig { params(name: String, usage: String).returns(T.attached_class) }
690
- def self.new(
691
- # Name of the font
692
- name: nil,
693
- # Usage of the font, e.g., 'title', 'body', 'button'
694
- usage: nil
695
- )
696
- end
697
-
698
- sig { override.returns({ name: String, usage: String }) }
699
- def to_hash
700
- end
701
- end
702
-
703
634
  class Logo < BrandDev::Internal::Type::BaseModel
704
635
  OrHash =
705
636
  T.type_alias do
@@ -17,9 +17,19 @@ module BrandDev
17
17
  sig { returns(String) }
18
18
  attr_accessor :input
19
19
 
20
+ # Optional timeout in milliseconds for the request. If the request takes longer
21
+ # than this value, it will be aborted with a 408 status code. Maximum allowed
22
+ # value is 300000ms (5 minutes).
23
+ sig { returns(T.nilable(Integer)) }
24
+ attr_reader :timeout_ms
25
+
26
+ sig { params(timeout_ms: Integer).void }
27
+ attr_writer :timeout_ms
28
+
20
29
  sig do
21
30
  params(
22
31
  input: String,
32
+ timeout_ms: Integer,
23
33
  request_options: BrandDev::RequestOptions::OrHash
24
34
  ).returns(T.attached_class)
25
35
  end
@@ -28,13 +38,21 @@ module BrandDev
28
38
  # in `input`, it will be used for classification, otherwise, we will search for
29
39
  # the brand using the provided title.
30
40
  input:,
41
+ # Optional timeout in milliseconds for the request. If the request takes longer
42
+ # than this value, it will be aborted with a 408 status code. Maximum allowed
43
+ # value is 300000ms (5 minutes).
44
+ timeout_ms: nil,
31
45
  request_options: {}
32
46
  )
33
47
  end
34
48
 
35
49
  sig do
36
50
  override.returns(
37
- { input: String, request_options: BrandDev::RequestOptions }
51
+ {
52
+ input: String,
53
+ timeout_ms: Integer,
54
+ request_options: BrandDev::RequestOptions
55
+ }
38
56
  )
39
57
  end
40
58
  def to_hash
@@ -30,11 +30,31 @@ module BrandDev
30
30
  end
31
31
  attr_writer :force_language
32
32
 
33
+ # Optional parameter to optimize the API call for maximum speed. When set to true,
34
+ # the API will skip time-consuming operations for faster response at the cost of
35
+ # less comprehensive data.
36
+ sig { returns(T.nilable(T::Boolean)) }
37
+ attr_reader :max_speed
38
+
39
+ sig { params(max_speed: T::Boolean).void }
40
+ attr_writer :max_speed
41
+
42
+ # Optional timeout in milliseconds for the request. If the request takes longer
43
+ # than this value, it will be aborted with a 408 status code. Maximum allowed
44
+ # value is 300000ms (5 minutes).
45
+ sig { returns(T.nilable(Integer)) }
46
+ attr_reader :timeout_ms
47
+
48
+ sig { params(timeout_ms: Integer).void }
49
+ attr_writer :timeout_ms
50
+
33
51
  sig do
34
52
  params(
35
53
  domain: String,
36
54
  force_language:
37
55
  BrandDev::BrandRetrieveParams::ForceLanguage::OrSymbol,
56
+ max_speed: T::Boolean,
57
+ timeout_ms: Integer,
38
58
  request_options: BrandDev::RequestOptions::OrHash
39
59
  ).returns(T.attached_class)
40
60
  end
@@ -43,6 +63,14 @@ module BrandDev
43
63
  domain:,
44
64
  # Optional parameter to force the language of the retrieved brand data
45
65
  force_language: nil,
66
+ # Optional parameter to optimize the API call for maximum speed. When set to true,
67
+ # the API will skip time-consuming operations for faster response at the cost of
68
+ # less comprehensive data.
69
+ max_speed: nil,
70
+ # Optional timeout in milliseconds for the request. If the request takes longer
71
+ # than this value, it will be aborted with a 408 status code. Maximum allowed
72
+ # value is 300000ms (5 minutes).
73
+ timeout_ms: nil,
46
74
  request_options: {}
47
75
  )
48
76
  end
@@ -53,6 +81,8 @@ module BrandDev
53
81
  domain: String,
54
82
  force_language:
55
83
  BrandDev::BrandRetrieveParams::ForceLanguage::OrSymbol,
84
+ max_speed: T::Boolean,
85
+ timeout_ms: Integer,
56
86
  request_options: BrandDev::RequestOptions
57
87
  }
58
88
  )
@@ -144,26 +144,6 @@ module BrandDev
144
144
  sig { params(domain: String).void }
145
145
  attr_writer :domain
146
146
 
147
- # An array of fonts used by the brand's website
148
- sig do
149
- returns(
150
- T.nilable(
151
- T::Array[BrandDev::Models::BrandRetrieveResponse::Brand::Font]
152
- )
153
- )
154
- end
155
- attr_reader :fonts
156
-
157
- sig do
158
- params(
159
- fonts:
160
- T::Array[
161
- BrandDev::Models::BrandRetrieveResponse::Brand::Font::OrHash
162
- ]
163
- ).void
164
- end
165
- attr_writer :fonts
166
-
167
147
  # An array of logos associated with the brand
168
148
  sig do
169
149
  returns(
@@ -249,10 +229,6 @@ module BrandDev
249
229
  ],
250
230
  description: String,
251
231
  domain: String,
252
- fonts:
253
- T::Array[
254
- BrandDev::Models::BrandRetrieveResponse::Brand::Font::OrHash
255
- ],
256
232
  logos:
257
233
  T::Array[
258
234
  BrandDev::Models::BrandRetrieveResponse::Brand::Logo::OrHash
@@ -278,8 +254,6 @@ module BrandDev
278
254
  description: nil,
279
255
  # The domain name of the brand
280
256
  domain: nil,
281
- # An array of fonts used by the brand's website
282
- fonts: nil,
283
257
  # An array of logos associated with the brand
284
258
  logos: nil,
285
259
  # The brand's slogan
@@ -306,8 +280,6 @@ module BrandDev
306
280
  T::Array[BrandDev::Models::BrandRetrieveResponse::Brand::Color],
307
281
  description: String,
308
282
  domain: String,
309
- fonts:
310
- T::Array[BrandDev::Models::BrandRetrieveResponse::Brand::Font],
311
283
  logos:
312
284
  T::Array[BrandDev::Models::BrandRetrieveResponse::Brand::Logo],
313
285
  slogan: String,
@@ -636,43 +608,6 @@ module BrandDev
636
608
  end
637
609
  end
638
610
 
639
- class Font < BrandDev::Internal::Type::BaseModel
640
- OrHash =
641
- T.type_alias do
642
- T.any(
643
- BrandDev::Models::BrandRetrieveResponse::Brand::Font,
644
- BrandDev::Internal::AnyHash
645
- )
646
- end
647
-
648
- # Name of the font
649
- sig { returns(T.nilable(String)) }
650
- attr_reader :name
651
-
652
- sig { params(name: String).void }
653
- attr_writer :name
654
-
655
- # Usage of the font, e.g., 'title', 'body', 'button'
656
- sig { returns(T.nilable(String)) }
657
- attr_reader :usage
658
-
659
- sig { params(usage: String).void }
660
- attr_writer :usage
661
-
662
- sig { params(name: String, usage: String).returns(T.attached_class) }
663
- def self.new(
664
- # Name of the font
665
- name: nil,
666
- # Usage of the font, e.g., 'title', 'body', 'button'
667
- usage: nil
668
- )
669
- end
670
-
671
- sig { override.returns({ name: String, usage: String }) }
672
- def to_hash
673
- end
674
- end
675
-
676
611
  class Logo < BrandDev::Internal::Type::BaseModel
677
612
  OrHash =
678
613
  T.type_alias do
@@ -0,0 +1,61 @@
1
+ # typed: strong
2
+
3
+ module BrandDev
4
+ module Models
5
+ class BrandRetrieveSimplifiedParams < 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(
12
+ BrandDev::BrandRetrieveSimplifiedParams,
13
+ BrandDev::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ # Domain name to retrieve simplified brand data for
18
+ sig { returns(String) }
19
+ attr_accessor :domain
20
+
21
+ # Optional timeout in milliseconds for the request. If the request takes longer
22
+ # than this value, it will be aborted with a 408 status code. Maximum allowed
23
+ # value is 300000ms (5 minutes).
24
+ sig { returns(T.nilable(Integer)) }
25
+ attr_reader :timeout_ms
26
+
27
+ sig { params(timeout_ms: Integer).void }
28
+ attr_writer :timeout_ms
29
+
30
+ sig do
31
+ params(
32
+ domain: String,
33
+ timeout_ms: Integer,
34
+ request_options: BrandDev::RequestOptions::OrHash
35
+ ).returns(T.attached_class)
36
+ end
37
+ def self.new(
38
+ # Domain name to retrieve simplified brand data for
39
+ domain:,
40
+ # Optional timeout in milliseconds for the request. If the request takes longer
41
+ # than this value, it will be aborted with a 408 status code. Maximum allowed
42
+ # value is 300000ms (5 minutes).
43
+ timeout_ms: nil,
44
+ request_options: {}
45
+ )
46
+ end
47
+
48
+ sig do
49
+ override.returns(
50
+ {
51
+ domain: String,
52
+ timeout_ms: Integer,
53
+ request_options: BrandDev::RequestOptions
54
+ }
55
+ )
56
+ end
57
+ def to_hash
58
+ end
59
+ end
60
+ end
61
+ end