context.dev 2.8.0 → 2.9.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.
Files changed (76) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +15 -0
  3. data/README.md +1 -1
  4. data/lib/context_dev/client.rb +5 -0
  5. data/lib/context_dev/models/batch_delete_params.rb +22 -0
  6. data/lib/context_dev/models/batch_delete_response.rb +60 -0
  7. data/lib/context_dev/models/batch_get_results_response.rb +13 -1
  8. data/lib/context_dev/models/batch_list_response.rb +13 -4
  9. data/lib/context_dev/models/batch_retrieve_response.rb +13 -4
  10. data/lib/context_dev/models/batch_submit_params.rb +2352 -26
  11. data/lib/context_dev/models/batch_submit_response.rb +125 -531
  12. data/lib/context_dev/models/brand_retrieve_response.rb +50 -1
  13. data/lib/context_dev/models/brand_search_response.rb +3 -2
  14. data/lib/context_dev/models/crawl_controls.rb +21 -15
  15. data/lib/context_dev/models/parse_handle_params.rb +11 -9
  16. data/lib/context_dev/models/person_enrich_params.rb +176 -0
  17. data/lib/context_dev/models/person_enrich_response.rb +581 -0
  18. data/lib/context_dev/models/web_search_response.rb +1 -0
  19. data/lib/context_dev/models/web_web_crawl_md_params.rb +5 -4
  20. data/lib/context_dev/models/web_web_scrape_html_params.rb +11 -9
  21. data/lib/context_dev/models/web_web_scrape_md_params.rb +11 -9
  22. data/lib/context_dev/models/web_web_scrape_sitemap_params.rb +11 -1
  23. data/lib/context_dev/models/web_web_scrape_sitemap_response.rb +3 -2
  24. data/lib/context_dev/models.rb +4 -0
  25. data/lib/context_dev/resources/batch.rb +33 -7
  26. data/lib/context_dev/resources/brand.rb +2 -1
  27. data/lib/context_dev/resources/parse.rb +1 -1
  28. data/lib/context_dev/resources/people.rb +56 -0
  29. data/lib/context_dev/resources/web.rb +21 -2
  30. data/lib/context_dev/version.rb +1 -1
  31. data/lib/context_dev.rb +5 -0
  32. data/rbi/context_dev/client.rbi +4 -0
  33. data/rbi/context_dev/models/batch_delete_params.rbi +40 -0
  34. data/rbi/context_dev/models/batch_delete_response.rbi +116 -0
  35. data/rbi/context_dev/models/batch_get_results_response.rbi +14 -1
  36. data/rbi/context_dev/models/batch_list_response.rbi +24 -8
  37. data/rbi/context_dev/models/batch_retrieve_response.rbi +24 -8
  38. data/rbi/context_dev/models/batch_submit_params.rbi +6955 -44
  39. data/rbi/context_dev/models/batch_submit_response.rbi +184 -1151
  40. data/rbi/context_dev/models/brand_retrieve_response.rbi +152 -0
  41. data/rbi/context_dev/models/brand_search_response.rbi +4 -2
  42. data/rbi/context_dev/models/crawl_controls.rbi +22 -28
  43. data/rbi/context_dev/models/parse_handle_params.rbi +15 -12
  44. data/rbi/context_dev/models/person_enrich_params.rbi +332 -0
  45. data/rbi/context_dev/models/person_enrich_response.rbi +1208 -0
  46. data/rbi/context_dev/models/web_search_response.rbi +5 -0
  47. data/rbi/context_dev/models/web_web_crawl_md_params.rbi +8 -6
  48. data/rbi/context_dev/models/web_web_scrape_html_params.rbi +15 -12
  49. data/rbi/context_dev/models/web_web_scrape_md_params.rbi +15 -12
  50. data/rbi/context_dev/models/web_web_scrape_sitemap_params.rbi +15 -0
  51. data/rbi/context_dev/models/web_web_scrape_sitemap_response.rbi +4 -2
  52. data/rbi/context_dev/models.rbi +4 -0
  53. data/rbi/context_dev/resources/batch.rbi +32 -10
  54. data/rbi/context_dev/resources/brand.rbi +2 -1
  55. data/rbi/context_dev/resources/parse.rbi +5 -5
  56. data/rbi/context_dev/resources/people.rbi +47 -0
  57. data/rbi/context_dev/resources/web.rbi +23 -1
  58. data/sig/context_dev/client.rbs +2 -0
  59. data/sig/context_dev/models/batch_delete_params.rbs +23 -0
  60. data/sig/context_dev/models/batch_delete_response.rbs +57 -0
  61. data/sig/context_dev/models/batch_get_results_response.rbs +9 -2
  62. data/sig/context_dev/models/batch_list_response.rbs +16 -2
  63. data/sig/context_dev/models/batch_retrieve_response.rbs +16 -2
  64. data/sig/context_dev/models/batch_submit_params.rbs +2756 -15
  65. data/sig/context_dev/models/batch_submit_response.rbs +78 -466
  66. data/sig/context_dev/models/brand_retrieve_response.rbs +62 -0
  67. data/sig/context_dev/models/crawl_controls.rbs +16 -16
  68. data/sig/context_dev/models/person_enrich_params.rbs +199 -0
  69. data/sig/context_dev/models/person_enrich_response.rbs +607 -0
  70. data/sig/context_dev/models/web_search_response.rbs +2 -0
  71. data/sig/context_dev/models/web_web_scrape_sitemap_params.rbs +7 -0
  72. data/sig/context_dev/models.rbs +4 -0
  73. data/sig/context_dev/resources/batch.rbs +8 -2
  74. data/sig/context_dev/resources/people.rbs +19 -0
  75. data/sig/context_dev/resources/web.rbs +1 -0
  76. metadata +17 -2
@@ -81,6 +81,12 @@ module ContextDev
81
81
  # @return [String, nil]
82
82
  optional :email, String
83
83
 
84
+ # @!attribute employees
85
+ # Employee headcount information for the brand (will be null if unknown)
86
+ #
87
+ # @return [ContextDev::Models::BrandRetrieveResponse::Brand::Employees, nil]
88
+ optional :employees, -> { ContextDev::Models::BrandRetrieveResponse::Brand::Employees }
89
+
84
90
  # @!attribute industries
85
91
  # Industry classification information for the brand
86
92
  #
@@ -146,7 +152,7 @@ module ContextDev
146
152
  # @return [String, nil]
147
153
  optional :title, String
148
154
 
149
- # @!method initialize(address: nil, backdrops: nil, colors: nil, description: nil, domain: nil, email: nil, industries: nil, is_nsfw: nil, links: nil, logos: nil, phone: nil, primary_language: nil, slogan: nil, socials: nil, stock: nil, title: nil)
155
+ # @!method initialize(address: nil, backdrops: nil, colors: nil, description: nil, domain: nil, email: nil, employees: nil, industries: nil, is_nsfw: nil, links: nil, logos: nil, phone: nil, primary_language: nil, slogan: nil, socials: nil, stock: nil, title: nil)
150
156
  # Some parameter documentations has been truncated, see
151
157
  # {ContextDev::Models::BrandRetrieveResponse::Brand} for more details.
152
158
  #
@@ -164,6 +170,8 @@ module ContextDev
164
170
  #
165
171
  # @param email [String] Company email address
166
172
  #
173
+ # @param employees [ContextDev::Models::BrandRetrieveResponse::Brand::Employees] Employee headcount information for the brand (will be null if unknown)
174
+ #
167
175
  # @param industries [ContextDev::Models::BrandRetrieveResponse::Brand::Industries] Industry classification information for the brand
168
176
  #
169
177
  # @param is_nsfw [Boolean] Indicates whether the brand content is not safe for work (NSFW)
@@ -342,6 +350,47 @@ module ContextDev
342
350
  # @param name [String] Name of the color
343
351
  end
344
352
 
353
+ # @see ContextDev::Models::BrandRetrieveResponse::Brand#employees
354
+ class Employees < ContextDev::Internal::Type::BaseModel
355
+ # @!attribute exact
356
+ # Exact employee count when a precise headcount is known
357
+ #
358
+ # @return [Integer, nil]
359
+ optional :exact, Integer
360
+
361
+ # @!attribute range
362
+ # Employee count range for the brand (e.g. '11 to 50')
363
+ #
364
+ # @return [Symbol, ContextDev::Models::BrandRetrieveResponse::Brand::Employees::Range, nil]
365
+ optional :range, enum: -> { ContextDev::Models::BrandRetrieveResponse::Brand::Employees::Range }
366
+
367
+ # @!method initialize(exact: nil, range: nil)
368
+ # Employee headcount information for the brand (will be null if unknown)
369
+ #
370
+ # @param exact [Integer] Exact employee count when a precise headcount is known
371
+ #
372
+ # @param range [Symbol, ContextDev::Models::BrandRetrieveResponse::Brand::Employees::Range] Employee count range for the brand (e.g. '11 to 50')
373
+
374
+ # Employee count range for the brand (e.g. '11 to 50')
375
+ #
376
+ # @see ContextDev::Models::BrandRetrieveResponse::Brand::Employees#range
377
+ module Range
378
+ extend ContextDev::Internal::Type::Enum
379
+
380
+ RANGE_1_TO_10 = :"1 to 10"
381
+ RANGE_11_TO_50 = :"11 to 50"
382
+ RANGE_51_TO_200 = :"51 to 200"
383
+ RANGE_201_TO_500 = :"201 to 500"
384
+ RANGE_501_TO_1000 = :"501 to 1000"
385
+ RANGE_1001_TO_5000 = :"1001 to 5000"
386
+ RANGE_5001_TO_10000 = :"5001 to 10000"
387
+ RANGE_10001 = :"10001+"
388
+
389
+ # @!method self.values
390
+ # @return [Array<Symbol>]
391
+ end
392
+ end
393
+
345
394
  # @see ContextDev::Models::BrandRetrieveResponse::Brand#industries
346
395
  class Industries < ContextDev::Internal::Type::BaseModel
347
396
  # @!attribute eic
@@ -5,7 +5,8 @@ module ContextDev
5
5
  # @see ContextDev::Resources::Brand#search
6
6
  class BrandSearchResponse < ContextDev::Internal::Type::BaseModel
7
7
  # @!attribute results
8
- # Up to 10 matching brands, most popular first. Empty when nothing matches.
8
+ # Up to 10 matching brands, name matches first, then domain matches, most popular
9
+ # first within each group. Empty when nothing matches.
9
10
  #
10
11
  # @return [Array<ContextDev::Models::BrandSearchResponse::Result>]
11
12
  required :results,
@@ -22,7 +23,7 @@ module ContextDev
22
23
  # Some parameter documentations has been truncated, see
23
24
  # {ContextDev::Models::BrandSearchResponse} for more details.
24
25
  #
25
- # @param results [Array<ContextDev::Models::BrandSearchResponse::Result>] Up to 10 matching brands, most popular first. Empty when nothing matches.
26
+ # @param results [Array<ContextDev::Models::BrandSearchResponse::Result>] Up to 10 matching brands, name matches first, then domain matches, most popular
26
27
  #
27
28
  # @param key_metadata [ContextDev::Models::BrandSearchResponse::KeyMetadata] Metadata about the API key used for the request. Included in every response when
28
29
 
@@ -26,7 +26,7 @@ module ContextDev
26
26
  # @!attribute source
27
27
  # Where the crawl started.
28
28
  #
29
- # @return [ContextDev::Models::CrawlControls::Source::UnionMember0, ContextDev::Models::CrawlControls::Source::UnionMember1]
29
+ # @return [ContextDev::Models::CrawlControls::Source::StartURL, ContextDev::Models::CrawlControls::Source::Sitemap]
30
30
  required :source, union: -> { ContextDev::CrawlControls::Source }
31
31
 
32
32
  # @!attribute url_pattern
@@ -48,7 +48,7 @@ module ContextDev
48
48
  #
49
49
  # @param max_pages [Integer] The `maxUrls` submitted with the crawl. A sitemap crawl scrapes only the URLs it
50
50
  #
51
- # @param source [ContextDev::Models::CrawlControls::Source::UnionMember0, ContextDev::Models::CrawlControls::Source::UnionMember1] Where the crawl started.
51
+ # @param source [ContextDev::Models::CrawlControls::Source::StartURL, ContextDev::Models::CrawlControls::Source::Sitemap] Where the crawl started.
52
52
  #
53
53
  # @param url_pattern [String, nil] RE2 pattern URLs had to match to be crawled. Null when the crawl set none.
54
54
 
@@ -58,15 +58,17 @@ module ContextDev
58
58
  module Source
59
59
  extend ContextDev::Internal::Type::Union
60
60
 
61
- variant -> { ContextDev::CrawlControls::Source::UnionMember0 }
61
+ # The crawl discovered pages by following links from one URL.
62
+ variant -> { ContextDev::CrawlControls::Source::StartURL }
62
63
 
63
- variant -> { ContextDev::CrawlControls::Source::UnionMember1 }
64
+ # The crawl scraped the pages listed in the domain's sitemap.
65
+ variant -> { ContextDev::CrawlControls::Source::Sitemap }
64
66
 
65
- class UnionMember0 < ContextDev::Internal::Type::BaseModel
67
+ class StartURL < ContextDev::Internal::Type::BaseModel
66
68
  # @!attribute type
67
69
  #
68
- # @return [Symbol, ContextDev::Models::CrawlControls::Source::UnionMember0::Type]
69
- required :type, enum: -> { ContextDev::CrawlControls::Source::UnionMember0::Type }
70
+ # @return [Symbol, ContextDev::Models::CrawlControls::Source::StartURL::Type]
71
+ required :type, enum: -> { ContextDev::CrawlControls::Source::StartURL::Type }
70
72
 
71
73
  # @!attribute url
72
74
  # Page the crawl started from.
@@ -75,11 +77,13 @@ module ContextDev
75
77
  required :url, String
76
78
 
77
79
  # @!method initialize(type:, url:)
78
- # @param type [Symbol, ContextDev::Models::CrawlControls::Source::UnionMember0::Type]
80
+ # The crawl discovered pages by following links from one URL.
81
+ #
82
+ # @param type [Symbol, ContextDev::Models::CrawlControls::Source::StartURL::Type]
79
83
  #
80
84
  # @param url [String] Page the crawl started from.
81
85
 
82
- # @see ContextDev::Models::CrawlControls::Source::UnionMember0#type
86
+ # @see ContextDev::Models::CrawlControls::Source::StartURL#type
83
87
  module Type
84
88
  extend ContextDev::Internal::Type::Enum
85
89
 
@@ -90,7 +94,7 @@ module ContextDev
90
94
  end
91
95
  end
92
96
 
93
- class UnionMember1 < ContextDev::Internal::Type::BaseModel
97
+ class Sitemap < ContextDev::Internal::Type::BaseModel
94
98
  # @!attribute domain
95
99
  # Domain whose sitemap supplied the pages.
96
100
  #
@@ -99,15 +103,17 @@ module ContextDev
99
103
 
100
104
  # @!attribute type
101
105
  #
102
- # @return [Symbol, ContextDev::Models::CrawlControls::Source::UnionMember1::Type]
103
- required :type, enum: -> { ContextDev::CrawlControls::Source::UnionMember1::Type }
106
+ # @return [Symbol, ContextDev::Models::CrawlControls::Source::Sitemap::Type]
107
+ required :type, enum: -> { ContextDev::CrawlControls::Source::Sitemap::Type }
104
108
 
105
109
  # @!method initialize(domain:, type:)
110
+ # The crawl scraped the pages listed in the domain's sitemap.
111
+ #
106
112
  # @param domain [String] Domain whose sitemap supplied the pages.
107
113
  #
108
- # @param type [Symbol, ContextDev::Models::CrawlControls::Source::UnionMember1::Type]
114
+ # @param type [Symbol, ContextDev::Models::CrawlControls::Source::Sitemap::Type]
109
115
 
110
- # @see ContextDev::Models::CrawlControls::Source::UnionMember1#type
116
+ # @see ContextDev::Models::CrawlControls::Source::Sitemap#type
111
117
  module Type
112
118
  extend ContextDev::Internal::Type::Enum
113
119
 
@@ -119,7 +125,7 @@ module ContextDev
119
125
  end
120
126
 
121
127
  # @!method self.variants
122
- # @return [Array(ContextDev::Models::CrawlControls::Source::UnionMember0, ContextDev::Models::CrawlControls::Source::UnionMember1)]
128
+ # @return [Array(ContextDev::Models::CrawlControls::Source::StartURL, ContextDev::Models::CrawlControls::Source::Sitemap)]
123
129
  end
124
130
  end
125
131
  end
@@ -38,10 +38,11 @@ module ContextDev
38
38
  optional :include_links, union: -> { ContextDev::ParseHandleParams::IncludeLinks }
39
39
 
40
40
  # @!attribute ocr
41
- # When true for PDF inputs, detect and OCR images embedded in the selected pages,
42
- # inserting recognized text at each image's position in page reading order while
43
- # preserving the PDF text layer. pdf.start/pdf.end limit the inclusive page range.
44
- # When false, all OCR is disabled, including the automatic scanned-PDF fallback.
41
+ # When true for PDF inputs, OCR the selected pages that have no usable text layer
42
+ # (scans), replacing each recovered page's text with the OCR result while pages
43
+ # with a real text layer keep it. pdf.start/pdf.end limit the inclusive page
44
+ # range. Billed at 1 credit per page OCR actually recovered, on top of the base
45
+ # request cost. When false, no OCR runs.
45
46
  #
46
47
  # @return [Boolean, Symbol, ContextDev::Models::ParseHandleParams::Ocr, nil]
47
48
  optional :ocr, union: -> { ContextDev::ParseHandleParams::Ocr }
@@ -95,7 +96,7 @@ module ContextDev
95
96
  #
96
97
  # @param include_links [Boolean, Symbol, ContextDev::Models::ParseHandleParams::IncludeLinks] Preserve hyperlinks in Markdown output
97
98
  #
98
- # @param ocr [Boolean, Symbol, ContextDev::Models::ParseHandleParams::Ocr] When true for PDF inputs, detect and OCR images embedded in the selected pages,
99
+ # @param ocr [Boolean, Symbol, ContextDev::Models::ParseHandleParams::Ocr] When true for PDF inputs, OCR the selected pages that have no usable text layer
99
100
  #
100
101
  # @param pdf [ContextDev::Models::ParseHandleParams::Pdf] PDF page-range options as a JSON object, e.g. {"start": 2, "end": 5}.
101
102
  #
@@ -239,10 +240,11 @@ module ContextDev
239
240
  # @!endgroup
240
241
  end
241
242
 
242
- # When true for PDF inputs, detect and OCR images embedded in the selected pages,
243
- # inserting recognized text at each image's position in page reading order while
244
- # preserving the PDF text layer. pdf.start/pdf.end limit the inclusive page range.
245
- # When false, all OCR is disabled, including the automatic scanned-PDF fallback.
243
+ # When true for PDF inputs, OCR the selected pages that have no usable text layer
244
+ # (scans), replacing each recovered page's text with the OCR result while pages
245
+ # with a real text layer keep it. pdf.start/pdf.end limit the inclusive page
246
+ # range. Billed at 1 credit per page OCR actually recovered, on top of the base
247
+ # request cost. When false, no OCR runs.
246
248
  module Ocr
247
249
  extend ContextDev::Internal::Type::Union
248
250
 
@@ -0,0 +1,176 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ContextDev
4
+ module Models
5
+ # @see ContextDev::Resources::People#enrich
6
+ class PersonEnrichParams < ContextDev::Internal::Type::BaseModel
7
+ extend ContextDev::Internal::Type::RequestParameters::Converter
8
+ include ContextDev::Internal::Type::RequestParameters
9
+
10
+ # @!attribute company
11
+ #
12
+ # @return [ContextDev::Models::PersonEnrichParams::Company, nil]
13
+ optional :company, -> { ContextDev::PersonEnrichParams::Company }
14
+
15
+ # @!attribute education
16
+ #
17
+ # @return [Array<ContextDev::Models::PersonEnrichParams::Education>, nil]
18
+ optional :education, -> { ContextDev::Internal::Type::ArrayOf[ContextDev::PersonEnrichParams::Education] }
19
+
20
+ # @!attribute email
21
+ #
22
+ # @return [String, nil]
23
+ optional :email, String
24
+
25
+ # @!attribute location
26
+ #
27
+ # @return [ContextDev::Models::PersonEnrichParams::Location, nil]
28
+ optional :location, -> { ContextDev::PersonEnrichParams::Location }
29
+
30
+ # @!attribute name
31
+ #
32
+ # @return [ContextDev::Models::PersonEnrichParams::Name, nil]
33
+ optional :name, -> { ContextDev::PersonEnrichParams::Name }
34
+
35
+ # @!attribute social_urls
36
+ #
37
+ # @return [Array<String>, nil]
38
+ optional :social_urls, ContextDev::Internal::Type::ArrayOf[String]
39
+
40
+ # @!attribute tags
41
+ # Optional tags for tracking usage. Up to 20 tags, each 1 to 50 characters.
42
+ #
43
+ # @return [Array<String>, nil]
44
+ optional :tags, ContextDev::Internal::Type::ArrayOf[String]
45
+
46
+ # @!attribute timeout_ms
47
+ # Optional timeout in milliseconds for the request. If the request takes longer
48
+ # than this value, it will be aborted with a 408 status code. Maximum allowed
49
+ # value is 300000ms (5 minutes).
50
+ #
51
+ # @return [Integer, nil]
52
+ optional :timeout_ms, Integer, api_name: :timeoutMS
53
+
54
+ # @!method initialize(company: nil, education: nil, email: nil, location: nil, name: nil, social_urls: nil, tags: nil, timeout_ms: nil, request_options: {})
55
+ # Some parameter documentations has been truncated, see
56
+ # {ContextDev::Models::PersonEnrichParams} for more details.
57
+ #
58
+ # @param company [ContextDev::Models::PersonEnrichParams::Company]
59
+ #
60
+ # @param education [Array<ContextDev::Models::PersonEnrichParams::Education>]
61
+ #
62
+ # @param email [String]
63
+ #
64
+ # @param location [ContextDev::Models::PersonEnrichParams::Location]
65
+ #
66
+ # @param name [ContextDev::Models::PersonEnrichParams::Name]
67
+ #
68
+ # @param social_urls [Array<String>]
69
+ #
70
+ # @param tags [Array<String>] Optional tags for tracking usage. Up to 20 tags, each 1 to 50 characters.
71
+ #
72
+ # @param timeout_ms [Integer] Optional timeout in milliseconds for the request. If the request takes longer th
73
+ #
74
+ # @param request_options [ContextDev::RequestOptions, Hash{Symbol=>Object}]
75
+
76
+ class Company < ContextDev::Internal::Type::BaseModel
77
+ # @!attribute domain
78
+ #
79
+ # @return [String, nil]
80
+ optional :domain, String
81
+
82
+ # @!attribute name
83
+ #
84
+ # @return [String, nil]
85
+ optional :name, String
86
+
87
+ # @!method initialize(domain: nil, name: nil)
88
+ # @param domain [String]
89
+ # @param name [String]
90
+ end
91
+
92
+ class Education < ContextDev::Internal::Type::BaseModel
93
+ # @!attribute degree
94
+ #
95
+ # @return [String, nil]
96
+ optional :degree, String
97
+
98
+ # @!attribute field_of_study
99
+ #
100
+ # @return [String, nil]
101
+ optional :field_of_study, String
102
+
103
+ # @!attribute graduation_year
104
+ #
105
+ # @return [Integer, nil]
106
+ optional :graduation_year, Integer
107
+
108
+ # @!attribute institution
109
+ #
110
+ # @return [ContextDev::Models::PersonEnrichParams::Education::Institution, nil]
111
+ optional :institution, -> { ContextDev::PersonEnrichParams::Education::Institution }
112
+
113
+ # @!method initialize(degree: nil, field_of_study: nil, graduation_year: nil, institution: nil)
114
+ # @param degree [String]
115
+ # @param field_of_study [String]
116
+ # @param graduation_year [Integer]
117
+ # @param institution [ContextDev::Models::PersonEnrichParams::Education::Institution]
118
+
119
+ # @see ContextDev::Models::PersonEnrichParams::Education#institution
120
+ class Institution < ContextDev::Internal::Type::BaseModel
121
+ # @!attribute domain
122
+ #
123
+ # @return [String, nil]
124
+ optional :domain, String
125
+
126
+ # @!attribute name
127
+ #
128
+ # @return [String, nil]
129
+ optional :name, String
130
+
131
+ # @!method initialize(domain: nil, name: nil)
132
+ # @param domain [String]
133
+ # @param name [String]
134
+ end
135
+ end
136
+
137
+ class Location < ContextDev::Internal::Type::BaseModel
138
+ # @!attribute city
139
+ #
140
+ # @return [String, nil]
141
+ optional :city, String
142
+
143
+ # @!attribute country
144
+ #
145
+ # @return [String, nil]
146
+ optional :country, String
147
+
148
+ # @!attribute region
149
+ #
150
+ # @return [String, nil]
151
+ optional :region, String
152
+
153
+ # @!method initialize(city: nil, country: nil, region: nil)
154
+ # @param city [String]
155
+ # @param country [String]
156
+ # @param region [String]
157
+ end
158
+
159
+ class Name < ContextDev::Internal::Type::BaseModel
160
+ # @!attribute first
161
+ #
162
+ # @return [String, nil]
163
+ optional :first, String
164
+
165
+ # @!attribute last
166
+ #
167
+ # @return [String, nil]
168
+ optional :last, String
169
+
170
+ # @!method initialize(first: nil, last: nil)
171
+ # @param first [String]
172
+ # @param last [String]
173
+ end
174
+ end
175
+ end
176
+ end